Hierarchical quadratic programming: Fast online humanoid-robot motion generation - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Journal Articles The International Journal of Robotics Research Year : 2014

Hierarchical quadratic programming: Fast online humanoid-robot motion generation

Abstract

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. In the first part, we establish the mathematical bases underlying the hierarchical problem and propose a dedicated solver. When only equalities are involved, the solver amounts to the classical solution used to handle redundancy in inverse kinematics in a far more efficient way. It is able to handle inequalities at any priority levels into a single resolution scheme, which avoids the high number of iterations encountered with cascades of solvers. A simple example is given to illustrate the interest of our approach. In the second part, we detail the implementation of the solver and its application to inverse kinematics. In particular, we explicit the solver complexity and prove the continuity and the stability of the resulting control laws. Finally, we experimentally demonstrate its efficiency in the context of generating robot motions.
Fichier principal
Vignette du fichier
m.pdf (8.95 Mo) Télécharger le fichier
escande_hqp_ijrr12.avi (21.8 Mo) Télécharger le fichier
hqp/LICENSE.txt (1.61 Ko) Télécharger le fichier
hqp/README.md (2.01 Ko) Télécharger le fichier
hqp/active_search.m (3.6 Ko) Télécharger le fichier
hqp/active_search_verbose.m (4.25 Ko) Télécharger le fichier
hqp/check_mult.m (3.29 Ko) Télécharger le fichier
hqp/down.m (4.62 Ko) Télécharger le fichier
hqp/ehqp_dual.m (2.89 Ko) Télécharger le fichier
hqp/ehqp_primal.m (1.36 Ko) Télécharger le fichier
hqp/freeze.m (1.45 Ko) Télécharger le fichier
hqp/hcod.m (5.34 Ko) Télécharger le fichier
hqp/step_length.m (3.86 Ko) Télécharger le fichier
hqp/unittests/example_fig2.m (3.93 Ko) Télécharger le fichier
hqp/unittests/hqp_print.m (1.37 Ko) Télécharger le fichier
hqp/unittests/test_down.m (3.03 Ko) Télécharger le fichier
hqp/unittests/test_hcod.m (665 B) Télécharger le fichier
hqp/unittests/test_search.m (497 B) Télécharger le fichier
hqp/unittests/test_solve.m (4.3 Ko) Télécharger le fichier
hqp/unittests/test_up.m (4.16 Ko) Télécharger le fichier
hqp/unittests/test_updown.m (1.7 Ko) Télécharger le fichier
hqp/unittests/utils/act_A.m (358 B) Télécharger le fichier
hqp/unittests/utils/act_H.m (406 B) Télécharger le fichier
hqp/unittests/utils/act_L.m (387 B) Télécharger le fichier
hqp/unittests/utils/act_b.m (334 B) Télécharger le fichier
hqp/unittests/utils/active_rows.m (1.08 Ko) Télécharger le fichier
hqp/unittests/utils/blabla.m (176 B) Télécharger le fichier
hqp/unittests/utils/cut_Au.m (202 B) Télécharger le fichier
hqp/unittests/utils/dispaset.m (380 B) Télécharger le fichier
hqp/unittests/utils/dummybound.m (404 B) Télécharger le fichier
hqp/unittests/utils/gen.m (2.62 Ko) Télécharger le fichier
hqp/unittests/utils/hdist.m (1.77 Ko) Télécharger le fichier
hqp/unittests/utils/pm.m (626 B) Télécharger le fichier
hqp/unittests/utils/rand_init.m (185 B) Télécharger le fichier
hqp/unittests/utils/randaset.m (581 B) Télécharger le fichier
hqp/unittests/utils/randstack.m (3.31 Ko) Télécharger le fichier
hqp/unittests/utils/randstackref.m (1.25 Ko) Télécharger le fichier
hqp/unittests/utils/stacked_cell.m (158 B) Télécharger le fichier
hqp/unittests/utils/why_recompose.m (720 B) Télécharger le fichier
hqp/up.m (4.53 Ko) Télécharger le fichier
hqp/utils/cod.m (1.7 Ko) Télécharger le fichier
hqp/utils/constants.m (289 B) Télécharger le fichier
hqp/utils/dispcst.m (373 B) Télécharger le fichier
hqp/utils/givens.m (726 B) Télécharger le fichier
hqp/utils/initset.m (1.38 Ko) Télécharger le fichier
hqp/utils/massert.m (111 B) Télécharger le fichier
Origin : Files produced by the author(s)
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Format : Other
Loading...

Dates and versions

hal-00751924 , version 1 (11-12-2012)

Identifiers

Cite

Adrien Escande, Nicolas Mansard, Pierre-Brice Wieber. Hierarchical quadratic programming: Fast online humanoid-robot motion generation. The International Journal of Robotics Research, 2014, 33 (7), pp.1006-1028. ⟨10.1177/0278364914521306⟩. ⟨hal-00751924⟩
1948 View
3416 Download

Altmetric

Share

Gmail Facebook X LinkedIn More