Hierarchical quadratic programming: Fast online humanoid-robot motion generation - BIPOP Accéder directement au contenu
Article Dans Une Revue The International Journal of Robotics Research Année : 2014

Hierarchical quadratic programming: Fast online humanoid-robot motion generation

Résumé

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
Origine : Fichiers produits par l'(les) auteur(s)
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Format : Autre
Loading...

Dates et versions

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

Identifiants

Citer

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⟩
1959 Consultations
3439 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More