-
Notifications
You must be signed in to change notification settings - Fork 186
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
Comments
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+} |
In GitLab by @cmastalli on Nov 15, 2018, 10:48 changed the description |
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. |
In GitLab by @cmastalli on Nov 15, 2018, 17:36 This task requires to solve first the issue #27 |
In GitLab by @cmastalli on Nov 15, 2018, 17:46 mentioned in merge request !14 |
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. |
In GitLab by @cmastalli on Nov 16, 2018, 12:37 closed |
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
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.
The text was updated successfully, but these errors were encountered: