loco-3d / crocoddyl

Crocoddyl is an optimal control library for robot control under contact sequence. Its solver is based on various efficient Differential Dynamic Programming (DDP)-like algorithms
BSD 3-Clause "New" or "Revised" License
830 stars 170 forks source link

Python integration of UAV & UAM - [merged] #588

Closed wxmerkt closed 4 years ago

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 25, 2019, 11:15

_Merges UAMdevel -> devel

Python code to use Crocoddyl with UAVs (unmanned aerial vehicles) and UAMs (unmanned aerial manipulators)

wxmerkt commented 4 years ago

In GitLab by @cmastalli on Oct 25, 2019, 12:04

@jmarti thanks for the great work.

The PR makes a lot of modifications. It's difficult for me to check everything and give you more precise feedback. I suggest to first do the modifications that I mentioned, and later split the PR in sub-PRs, e.g.

  1. Loader functions inside example-robot-data
  2. Only inverted pendulum related code
  3. Simplest UAM example with the code
  4. The rest of UAM examples

And again, remove every single modification in the legacy code. It's deprecated, and we'll remove it asap

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 27, 2019, 09:55

changed this line in version 2 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 27, 2019, 09:55

changed this line in version 2 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 27, 2019, 09:55

changed this line in version 2 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 27, 2019, 09:55

changed this line in version 2 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 27, 2019, 09:55

changed this line in version 2 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 27, 2019, 09:55

changed this line in version 2 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 27, 2019, 09:55

added 1 commit

Compare with previous version

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 27, 2019, 09:57

changed this line in version 3 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 27, 2019, 09:57

added 1 commit

Compare with previous version

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 27, 2019, 10:10

Does Pinocchio fill Minv with the computeAllTerms function?

If so, would it be better to use self.pinocchioData.Minv instead of np.linalg.inv(data.M)?

wxmerkt commented 4 years ago

In GitLab by @cmastalli on Oct 27, 2019, 11:01

The second argument is the nu. So you need to do:

crocoddyl.DifferentialActionModelAbstract.__init__(self, state, actuationModel.nu, costModel.nr)
wxmerkt commented 4 years ago

In GitLab by @cmastalli on Oct 27, 2019, 11:09

No, computeAllTerms doesn't compute Minv. For that you have to do:

pinocchio.cholesky.decompose(model, data)
Minv = pinocchio.cholesky.computeMinv(model, data) # retunrs data.Minv

after computing computeAllTerms


Yes, it is better; more efficient!. Pinocchio uses an efficient and tailored Cholesky decomposition for compute Minv. This is faster to compute that using a typical matrix inversion.

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 06:12

changed this line in version 4 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 06:12

changed this line in version 4 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 06:12

added 1 commit

Compare with previous version

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 06:31

changed this line in version 5 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 06:31

added 1 commit

Compare with previous version

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 06:49

changed this line in version 6 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 06:49

changed this line in version 6 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 06:49

changed this line in version 6 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 06:49

changed this line in version 6 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 06:49

added 1 commit

Compare with previous version

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 06:51

changed this line in version 7 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 06:51

added 1 commit

Compare with previous version

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 07:04

  1. I added different models.
    • Double pendulum: I have a simple one. Eventually (couple of weeks) I will have a more realistic one. However, it wasn't clear whether you want this model to be inside example-robot-data.
    • Quadcopter: I'm working with this one http://wiki.ros.org/hector_quadrotor_description
    • UAM: Not ready yet. We have to work on it

By now I'll work with these models locally until we(you) decide were to keep them :smiley:.

  1. The needed classes are already done. Need to be checked.

  2. I'll wait until the double pendulum is working.

  3. I'll wait until the double pendulum is working.

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 07:24

added 2 commits

Compare with previous version

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 08:35

changed this line in version 9 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 08:35

changed this line in version 9 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 08:35

changed this line in version 9 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 08:35

changed this line in version 9 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 08:35

changed this line in version 9 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 08:35

changed this line in version 9 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 08:35

changed this line in version 9 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 08:35

changed this line in version 9 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 08:35

changed this line in version 9 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 28, 2019, 08:35

added 1 commit

Compare with previous version

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 30, 2019, 06:44

I will remove these examples as they are deprecated.

I'm doing all the examples using notebooks.

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 30, 2019, 06:46

changed this line in version 10 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 30, 2019, 06:46

changed this line in version 10 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 30, 2019, 06:46

changed this line in version 10 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 30, 2019, 06:46

changed this line in version 10 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 30, 2019, 06:46

changed this line in version 10 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 30, 2019, 06:46

changed this line in version 10 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 30, 2019, 06:46

changed this line in version 10 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 30, 2019, 06:46

changed this line in version 10 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 30, 2019, 06:46

changed this line in version 10 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 30, 2019, 06:46

changed this line in version 10 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 30, 2019, 06:46

changed this line in version 10 of the diff

wxmerkt commented 4 years ago

In GitLab by @jmarti on Oct 30, 2019, 06:46

changed this line in version 10 of the diff