Optimal Control

To generate explosive and energy-efficient motions of robots, we implemented a Differential Dynamic Programming(DDP) routine.
DDP works in a model-based paradigm and computes local optimal policy composed a feedback and a feedforward term.
Thus, it is able to exploit the elasitity of the robot's body while ensuring high performances.

We build up from the Crocoddyl library with the following contributions:

  • Integration of the Soft Dynamics modeling Serial Elastic and Variable Stiffness Actuators (SEA and VSA).
  • Use of Analitical Derivatives.
  • Validation on floating-based and fixed-based robots.

We publish the following paper Optimal Control for Soft Articualted Robot (IEEE T-RO). This work focuces on foxed-based robots.

In the following, we report videos of ANYmal B (12 DoFs) jumping via DDP. These examples highlight the importance of the stiffness.

ANYmal B DDP Jumping with \(k_{ii} = 5\) Nm

ANYmal B DDP Jumping with \(k_{ii} = 100\) Nm

Finally, we report videos of Softleg (3 DoFs) and Otto (8 DoFs) robot controller via DDP framework.

Goatfoot DDP Jump \( \approx 40\)cm

Softleg DDP Jump 🏆🎉 \( 95\)cm

Softleg RL Jump \( \approx 70\)cm

GIF 2

Otto Jumping

GIF 3

Otto Walking

PyTorch NVIDIA Docker ROS2