Closed wxmerkt closed 4 years ago
After some fixes to make them comparable (FDDP didn't use the dt_
running cost scaling), I now get the following on Cart-Pole (example 7):
The flat line at the beginning are the infeasible iterations in FDDP. Not sure why there are so many in the cart-pole example.
This PR adapts and adds the Crocoddyl implementation of FDDP into Exotica.
The following differences have to be noted:
T
running models and a final model after. This leads to differences inT
lengths and on top of that an additional model. Care needs to be taken to adapt allT
and iterationsStateDelta
in Pinocchio works the other way around in the argument list.I did not yet add anIntegrate
as the Pinocchio integrate assumes unit time, while we usually usedt_
in the dynamics.This now works well - better on some dynamics systems than on others.
This version currently has numerical issues - particularly with the state feedback gain matrixK_
. It works better without in the forward-pass. This could be duea)t
/T
arguments being wrong in a place,b) the differences in the cost computation withStateDelta
(arguments are swapped) in theDynamicTimeIndexedShootingProblem
,c) the calculation of the defectsfs_
being wrongd) or something else.The convergence is also poor compared with VanillaDDP.