This PR improves the abstraction of dynamics (task #19 (closed)). The main contribution is that the dynamics systems as the form of:
d/dt[q; v] = [v; a(q,v,u)].
and, as a consequence, its linearise model is:
[dv; da] = [0, I; fx, fv]*[dx; dv] + [0; fu]*du
where dx is the linearised configuration point. Note that the linearised point belongs to the tangential space.
These tasks can be listed as:
- Updated the state and control in the DDP backward calculations, not in the dynamic one.
- Removed some inefficiencies in the floating-base dynamics
- Included operators in the discretizer class (there aren't used yet)
- Created a data class for the discretizer.
- Added aq, av, au and discretizer data in the base class for dynamic data.
- Used the dynamic model for the data creation, not the ddp model.
- Added some documentation to state clear our definition of dynamic model.
- fx, fu and dt in the base class for the discretization data.