Hierarchical Quadratic Programming

Adrien Escande, Nicolas Mansard, Pierre-Brice Wieber

Paper submitted to IJRR, jul 2013


Hierarchical least-square optimization is often used in robotics to inverse a direct function when multiple incompatible objectives are involved. Typical examples are inverse kinematics or dynamics. The objectives can be given as equalities to be satisfied (e.g. point-to-point task) or as areas of satisfaction (e.g. the joint range). This two-part paper proposes a complete solution to resolve multiple least-square quadratic problems of both equality and inequality constraints ordered into a strict hierarchy. Our method is able to solve a hierarchy of only equalities ten time faster than the classical method and can consider inequalities at any level while running at the typical control frequency on whole-body size problems. This generic solver is used to resolve the redundancy of humanoid robots while generating complex movements in constrained environment.



Paper (pdf, 7Mo)
Video (avi mp4, 22Mo)
MATLAB demonstration solver (zip, 150Ko, BSD license)