Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixing the DDP behaviour, same as in the previous version #11

Closed
wxmerkt opened this issue Nov 18, 2019 · 7 comments
Closed

Fixing the DDP behaviour, same as in the previous version #11

wxmerkt opened this issue Nov 18, 2019 · 7 comments
Assignees

Comments

@wxmerkt
Copy link
Collaborator

wxmerkt commented Nov 18, 2019

In GitLab by @cmastalli on Nov 9, 2018, 14:06

We need to have the same behaviour for the HyQ and Talos arm problems. So first we need to work on issue #5.

@wxmerkt
Copy link
Collaborator Author

wxmerkt commented Nov 18, 2019

In GitLab by @cmastalli on Nov 15, 2018, 10:48

changed title from {-Debugging DDP solver behaviour for the new code structure-} to {+Fixing the DDP behaviour, same as in the previous version+}

@wxmerkt
Copy link
Collaborator Author

wxmerkt commented Nov 18, 2019

In GitLab by @cmastalli on Nov 15, 2018, 10:48

changed the description

@wxmerkt
Copy link
Collaborator Author

wxmerkt commented Nov 18, 2019

In GitLab by @cmastalli on Nov 15, 2018, 13:22

Currently the DDP solver has a reasonable behaviour. I believe that I can work on it without waiting for unit-test.

@wxmerkt
Copy link
Collaborator Author

wxmerkt commented Nov 18, 2019

In GitLab by @cmastalli on Nov 15, 2018, 17:36

This task requires to solve first the issue #27

@wxmerkt
Copy link
Collaborator Author

wxmerkt commented Nov 18, 2019

In GitLab by @cmastalli on Nov 15, 2018, 17:46

mentioned in merge request !14

@wxmerkt
Copy link
Collaborator Author

wxmerkt commented Nov 18, 2019

In GitLab by @cmastalli on Nov 16, 2018, 12:37

I found the slight differences between the first version and the under development.

First, there are a numerical difference when it's used fu through the inversion of the matrix. However, this difference doesn't affect the DDP behaviour. As a remark we need to have an abstraction for NumDiff (#21).

Another difference comes from different implementation of the SE3 cost. Indeed, the the computation of the derivatives residual is different (see https://gepgitlab.laas.fr/loco-3d/cddp/blob/devel/cddp/costs/multibody_dynamics/se3_cost.py#L45 and https://gepgitlab.laas.fr/loco-3d/cddp/blob/master/cddp/cost/lie_cost.py#L132). What it's fun is that both implementation are wrong, but they work when the rotation is I). Please note that I have create an issue to solve it #28).

So, for testing the DDP solver, I replicated the SE3 cost as described in the master branch ( https://gepgitlab.laas.fr/loco-3d/cddp/blob/master/cddp/cost/lie_cost.py#L132). The results was the same, i.e. same cost derivatives and gradient per each iteration. It's also apply the same line step, etc.

This results is very positive. Since we don't have the unit-test working, I suggest to check the gradient values per each iteration when you modify your code. If they're the same, so we can trust in our modifications.

@wxmerkt
Copy link
Collaborator Author

wxmerkt commented Nov 18, 2019

In GitLab by @cmastalli on Nov 16, 2018, 12:37

closed

@wxmerkt wxmerkt closed this as completed Nov 18, 2019
nim65s added a commit to nim65s/crocoddyl that referenced this issue Nov 26, 2019
They require non-existent piece of code:

 1/30 Test loco-3d#29: py-eg-talos_warm_start .................***Failed    0.24 sec
Traceback (most recent call last):
  File "/home/gsaurel/local/loco-3d/crocoddyl/examples/locomotion/talos_warm_start.py", line 7, in <module>
    from crocoddyl.locomotion import (ContactSequenceHumanoid, createMultiphaseShootingProblem,
  File "/home/gsaurel/local/loco-3d/crocoddyl/crocoddyl/locomotion/__init__.py", line 10, in <module>
    from crocoddyl.locomotion import CubicHermiteSpline
ImportError: cannot import name CubicHermiteSpline

11/30 Test loco-3d#11: py-locomotion ..........................***Failed    0.60 sec
Traceback (most recent call last):
  File "/home/gsaurel/local/loco-3d/crocoddyl/unittest/test_locomotion.py", line 3, in <module>
    from crocoddyl.locomotion import ContactSequenceHumanoid, createPhiFromContactSequence
  File "/home/gsaurel/local/loco-3d/crocoddyl/crocoddyl/locomotion/__init__.py", line 10, in <module>
    from crocoddyl.locomotion import CubicHermiteSpline
ImportError: cannot import name CubicHermiteSpline
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants