Header logo is

Quadratic programming for inverse dynamics with optimal distribution of contact forces


Conference Paper



In this contribution we propose an inverse dynamics controller for a humanoid robot that exploits torque redundancy to minimize any combination of linear and quadratic costs in the contact forces and the commands. In addition the controller satisfies linear equality and inequality constraints in the contact forces and the commands such as torque limits, unilateral contacts or friction cones limits. The originality of our approach resides in the formulation of the problem as a quadratic program where we only need to solve for the control commands and where the contact forces are optimized implicitly. Furthermore, we do not need a structured representation of the dynamics of the robot (i.e. an explicit computation of the inertia matrix). It is in contrast with existing methods based on quadratic programs. The controller is then robust to uncertainty in the estimation of the dynamics model and the optimization is fast enough to be implemented in high bandwidth torque control loops that are increasingly available on humanoid platforms. We demonstrate properties of our controller with simulations of a human size humanoid robot.

Author(s): Righetti, L. and Schaal, S.
Book Title: 2012 12th IEEE-RAS International Conference on Humanoid Robots (Humanoids 2012)
Pages: 538--543
Year: 2012
Month: November
Publisher: IEEE

Department(s): Autonomous Motion, Movement Generation and Control
Bibtex Type: Conference Paper (inproceedings)

DOI: 10.1109/HUMANOIDS.2012.6651572

Address: Osaka, Japan
URL: https://ieeexplore.ieee.org/abstract/document/6651572/


  title = {Quadratic programming for inverse dynamics with optimal distribution of contact forces},
  author = {Righetti, L. and Schaal, S.},
  booktitle = {2012 12th {IEEE}-{RAS} {International} {Conference} on {Humanoid} {Robots} ({Humanoids} 2012)},
  pages = {538--543},
  publisher = {IEEE},
  address = {Osaka, Japan},
  month = nov,
  year = {2012},
  url = {https://ieeexplore.ieee.org/abstract/document/6651572/},
  month_numeric = {11}