Multi-body Locomotion: Problem Structure and Efficient Resolution - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2019

Multi-body Locomotion: Problem Structure and Efficient Resolution

Locomotion à plusieurs corps : structure du problème et résolution efficace

Résumé

The locomotion problem in robotics is usually written as a large optimization problem. However, the full problem is marred by many undesirable properties, such as high dimensionality, non-linearity, non convex constraints etc., which make it difficult to find a direct solution. A common approach then is to simplify the numerical optimization by solving for reduced models instead (inverted pendulum, capture points, centroidal). While these reduced models are simpler to solve than the full problem, they lack generality, are suboptimal, and hence are difficult to trust. Nevertheless, a typical approach in robotics relies on a reduced template model optimization, followed by an instantaneous linearization (such as Inverse Kinematics/Inverse Dynamics) for the whole-body, with possible variations in both (Kajita et al., 2003; Herzog et al., 2016a). While some research has been conducted to solve the full problem in a brute-force way, and without utilizing the structure of the problem (Heess et al., 2017; Rajeswaran et al., 2017), it is not mature or applicable on robots. In this thesis, we explore an approach that tries to solve the general/holistic locomotion problem, while exploiting fully the problem structure to obtain an efficient and realistic solution. We aim to provide the guarantees offered to us by the brute-force approaches to the full problem, but with an efficient resolution provided by proper use of the problem structure. We support our proposition by dynamic proof-of-concept motions, and rely on three core contributions. The first contribution of this thesis is the introduction of a rigorous mathematical framework, based on the Alternating Direction Method of Multipliers, to enforce the consensus between the centroidal state dynamics at reduced and whole-body level. We propose an exact splitting of the whole-body optimal control problem between the centroidal dynamics (under-actuation) and the manipulator dynamics (full actuation), corresponding to a re-arrangement of the equations already stated in state-of-the-art. We describe with details how alternating descent is a good solution to implement an effective locomotion solver. Such a split between the whole-body and centroidal components of locomotion puts the onus of producing efficient angular momentum trajectories on the whole-body solver. The second contribution of this thesis is to introduce a local optimal control framework, based on popularly known method called Differential Dynamic Programming, which deals implicitly with the contact constraints of the locomotion problem. By defining the contact constraints inside the dynamics of the problem, we are able to exploit fully the sparsity resolution capability of DDP, and optimize the solution over a horizon. Our efforts with using DDP for contact-constrained whole-body optimization resulted in the piece of software called ``Crocoddyl''. It is a python-based solver for shooting problems, and under the aegis of this software we implement our contact-constrained locomotion problem, and the corresponding DDP resolution. We make a distinction between the structure of the optimization problem, and its resolution, and use efficient memory allocations in order to speed up problem resolution in python. Similar effort has been made to unit-test the software, and to use a clear API for problem description. One way of managing the constraints between the centroidal and whole-body solvers is to explicitly learn and pre-code the constraint when solving one problem. With simple kinematic values such as the ``Center of Mass of the system given a foot position'', such an information can be easily transferred to the centroidal solver by means of proxy constraints. The third contribution of this thesis is to the centroidal dynamics optimization problem. We learn the feasibility of the center of mass solution of the centroidal optimization, with respect to the whole-body kinematics, by means of an occupancy measure. Maximization of this occupancy measure ensures that the whole-body solver has a large solution space from which it can track the centroidal references.
En robotique, un problème de locomotion est généralement transcrit comme un grand problème d'optimisation. Cependant, le problème complet est caractérisé par de nombreuses propriétés indésirables, telles qu'une grande dimensionnalité, de la non-linéarité, des contraintes non convexes, etc., qui rendent difficile la recherche de solution par une méthode directe. Une approche courante consiste alors à simplifier l'optimisation numérique en résolvant plutôt des modèles réduits (pendule inversé, points de capture, centroïdale). Bien que ces modèles réduits soient plus simples à résoudre comparé au problème complet, ils manquent de généralité, sont sous-optimaux et sont donc peu fiables. Néanmoins, une approche typique en robotique repose sur un modèle réduit d'optimisation, suivie d'une linéarisation instantanée du corps-complet (comme l'Inverse Cinématique / l'Inverse Dynamique), avec de possibles variations dans les deux étapes (Kajita et al., 2003; Herzog et al., 2016a). Bien que certaines recherches aient été menées pour résoudre le problème complet en se basant sur la méthode brute-force, sans utiliser la structure du problème (Heess et al., 2017; Rajeswaran et al., 2017), ces méthodes ne sont pas matures ou applicables aux robots. Dans cette thèse, nous explorons une approche qui tente de résoudre le problème de locomotion général / holistique, tout en exploitant pleinement la structure du problème pour obtenir une solution efficace et réaliste. Nous visons à offrir les garanties que nous offrent les approches par brute-force du problème complet, avec une résolution efficace basé sur une utilisation appropriée de la structure du problème. Nous appuyons notre proposition par des preuves de concept de mouvements dynamiques et proposons trois contributions essentielles. La première contribution de cette thèse est l'introduction d'une formulation mathématique rigoureuse, basé sur la méthode de direction alternée des multiplicateurs, afin d'imposer un consensus entre la dynamique de l'état centroïdale au niveau réduit et au niveau du corps-complet. Nous proposons une division exacte du problème de contrôle optimal corps-complet entre la dynamique centroïdale (sous-actionnée) et la dynamique du manipulateur (actionnement complet), correspondant à un réarrangement des équations déjà énoncées dans l'état de l'art. Nous décrivons en détail comment la descente alternée est une solution appropriée pour l'implémentation d'un solveur de locomotion efficace. Une telle division de la locomotion entre les composants: "corps-complet et centroïdale" oblige le solveur corps-complet à produire des trajectoires de moment angulaire efficaces. La deuxième contribution de cette thèse est l'introduction d'un cadre de contrôle optimal local, basé sur une méthode connue sous le nom de Programmation Dynamique Différentielle (DDP), qui traite implicitement les contraintes de contact du problème de locomotion. En définissant les contraintes de contact à l'intérieur de la dynamique du problème, nous sommes en mesure d'exploiter pleinement la capacité de résolution clairsemée du DDP et d'optimiser la solution sur un horizon. Nos efforts afin d'utiliser le DDP pour l'optimisation corps-complet contraint par contact ont abouti à un logiciel nommé "Crocoddyl". C'est un solveur basé sur python pour des problèmes à tirs multiples, sous l'égide de ce logiciel, nous implémentons notre problème de locomotion contraint aux contacts, ainsi que la résolution DDP correspondante. Une distinction entre la structure du problème d'optimisation et sa résolution est faite, et des allocations de mémoire efficaces sont utilisés afin d'accélérer la résolution du problème en python. Des efforts similaires ont été faits pour les tests unitaires du logiciel, ainsi que l'utilisation d'une API claire pour la description du problème. Une façon de gérer les contraintes entre les solveurs "centroïdale et corps-complet" est d'apprendre explicitement et de pré-coder la contrainte lors de la résolution du problème. Avec des valeurs cinématiques simples telles que le "Centre de masse du système avec une position du pied", une telle information peut être facilement transférée au solveur centroïdale au moyen de contraintes proxy. La troisième contribution de cette thèse s'intègre dans la problématique d'optimisation de la dynamique centroïdale. Nous apprenons la faisabilité de la solution du centre de masse de l'optimisation centroïdale, par rapport à la cinématique du corps-complet, au moyen d'une mesure d'occupation. La maximisation de cette mesure d'occupation garantit que le solveur du corps-complet dispose d'un grand espace de solutions à partir duquel il peut suivre les références centroïdales.
Fichier principal
Vignette du fichier
BUDHIRAJA Rohan.pdf (51.09 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

tel-02880584 , version 1 (25-06-2020)
tel-02880584 , version 2 (16-07-2020)

Identifiants

  • HAL Id : tel-02880584 , version 1

Citer

Rohan Budhiraja. Multi-body Locomotion: Problem Structure and Efficient Resolution. Automatic. Institut national des sciences appliquées de Toulouse, 2019. English. ⟨NNT : ⟩. ⟨tel-02880584v1⟩
292 Consultations
208 Téléchargements

Partager

Gmail Facebook X LinkedIn More