Génération de trajectoires pour la locomotion artificielle et ...

146
ACADÉMIE DE MONTPELLIER UNIVERSITÉ MONTPELLIER II - SCIENCES ET TECHNIQUES DU LANGUEDOC - THÈSE pour obtenir le grade de DOCTEUR DE L’UNIVERSITÉ MONTPELLIER II Discipline : Génie Informatique, Automatique et Traitement du Signal Formation Doctorale : Systèmes Automatiques et Microélectroniques École Doctorale : Information, Structures et Systèmes présentée et soutenue publiquement par Fabien LYDOIRE le 13 décembre 2004 Titre : Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique d’intervalles JURY M. Bernard ESPIAU Directeur de Recherche, INRIA Rhône-Alpes, Grenoble Rapporteur M. Luc JAULIN Professeur à l’ENSIETA, Brest Rapporteur M. Étienne DOMBRE Directeur de recherche CNRS, LIRMM, Montpellier Directeur de Thèse M. Philippe POIGNET Maître de Conférence à l’Université Montpellier II Co-directeur de Thèse M. André CROSNIER Professeur à l’Université Montpellier II Président du jury

Transcript of Génération de trajectoires pour la locomotion artificielle et ...

Page 1: Génération de trajectoires pour la locomotion artificielle et ...

ACADÉMIE DE MONTPELLIER

UNIVERSITÉ MONTPELLIER II- SCIENCES ET TECHNIQUES DU LANGUEDOC -

THÈSE

pour obtenir le grade de

DOCTEUR DE L’UNIVERSITÉ MONTPELLIER II

Discipline : Génie Informatique, Automatique et Traitement du Signal

Formation Doctorale : Systèmes Automatiques et Microélectroniques

École Doctorale : Information, Structures et Systèmes

présentée et soutenue publiquement

par

Fabien LYDOIRE

le 13 décembre 2004

Titre :

Génération de trajectoires pour la locomotionartificielle et commande à horizon fuyant avec

l’arithmétique d’intervalles

JURY

M. Bernard ESPIAU Directeur de Recherche, INRIA Rhône-Alpes, Grenoble RapporteurM. Luc JAULIN Professeur à l’ENSIETA, Brest RapporteurM. Étienne DOMBRE Directeur de recherche CNRS, LIRMM, Montpellier Directeur de ThèseM. Philippe POIGNET Maître de Conférence à l’Université Montpellier II Co-directeur de ThèseM. André CROSNIER Professeur à l’Université Montpellier II Président du jury

Page 2: Génération de trajectoires pour la locomotion artificielle et ...

2 Fabien Lydoire

Page 3: Génération de trajectoires pour la locomotion artificielle et ...

Table des matières

Table des matières

1 Introduction générale 111.1 La locomotion bipède . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.2 Robots bipèdes et commande . . . . . . . . . . . . . . . . . . . . . . 151.3 Plates-formes robotiques bipèdes considérées . . . . . . . . . . . . . . 18

1.3.1 Le robot Rabbit . . . . . . . . . . . . . . . . . . . . . . . . . 181.3.2 Le robot Bip . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

1.4 Objectifs de la thèse et organisation du mémoire . . . . . . . . . . . . 20

2 Identification de paramètres dynamiques 232.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.1.1 Modélisation dynamique . . . . . . . . . . . . . . . . . . . . . 242.2 Méthodes d’identification . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.2.1 Identification non linéaire . . . . . . . . . . . . . . . . . . . . 262.2.2 Identification par modèle inverse . . . . . . . . . . . . . . . . 27

2.3 Identification des paramètres dynamiques du robot Rabbit . . . . . 332.3.1 Tibia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.3.2 Tibia et cuisse . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.3.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3 Génération de démarches 3D 393.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.1.1 Générer des trajectoires . . . . . . . . . . . . . . . . . . . . . 403.1.2 Espace de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.2 Génération de démarches 3D paramétrées . . . . . . . . . . . . . . . . 423.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.2.2 Optimisation sous contraintes . . . . . . . . . . . . . . . . . . 433.2.3 Posture initiale . . . . . . . . . . . . . . . . . . . . . . . . . . 443.2.4 Génération de mouvement . . . . . . . . . . . . . . . . . . . . 453.2.5 Résultats de simulation . . . . . . . . . . . . . . . . . . . . . . 48

3.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4 Commande prédictive et arithmétique d’intervalles 534.1 La commande prédictive non linéraire référencée modèle . . . . . . . 54

4.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.1.2 La commande prédictive . . . . . . . . . . . . . . . . . . . . . 554.1.3 Le problème NMPC . . . . . . . . . . . . . . . . . . . . . . . 57

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

3

Page 4: Génération de trajectoires pour la locomotion artificielle et ...

Table des matières

4.1.4 Adaptation à la locomotion bipède . . . . . . . . . . . . . . . 644.1.5 Commande prédictive et intervalles . . . . . . . . . . . . . . . 674.1.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.2 L’arithmétique d’intervalles . . . . . . . . . . . . . . . . . . . . . . . 684.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.2.2 Notions élémentaires . . . . . . . . . . . . . . . . . . . . . . . 694.2.3 Fonction d’inclusion . . . . . . . . . . . . . . . . . . . . . . . 734.2.4 L’inversion d’ensemble . . . . . . . . . . . . . . . . . . . . . . 744.2.5 La propagation de contraintes . . . . . . . . . . . . . . . . . . 764.2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

4.3 Conjuguer l’arithmétique d’intervalles et la commande de robot . . . 794.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794.3.2 Approximations extérieures et conséquences sur la commande 814.3.3 Estimation d’état et arithmétique d’intervalles . . . . . . . . . 874.3.4 Adaptation des outils de l’arithmétique d’intervalles à la com-

mande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884.3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

5 Application à la commande d’un pendule sous actionné 995.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005.2 Modèle de pendule . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005.3 Commande NMPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

5.3.1 Le critère . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1015.3.2 Les contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . 1015.3.3 Simulations du NMPC sans trajectoire de référence . . . . . . 101

5.4 Commande via l’arithmétique d’intervalles . . . . . . . . . . . . . . . 1055.4.1 Bissection et optimisation . . . . . . . . . . . . . . . . . . . . 1075.4.2 Pondérer la notion de point fixe . . . . . . . . . . . . . . . . . 1105.4.3 Combiner l’estimation d’état et la propagation . . . . . . . . . 1115.4.4 Boucle de rétropropagation . . . . . . . . . . . . . . . . . . . 111

5.5 Commande via l’arithmétique d’intervalles et discrétisation spatiale . 1125.5.1 Guider le choix de la commande . . . . . . . . . . . . . . . . . 117

5.6 Récapitulatif des simulations . . . . . . . . . . . . . . . . . . . . . . . 1175.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

6 Conclusion générale 123

Publications de l’auteur 127

Bibliographie 129

A Calcul de P 139

B Estimation d’état basée sur les séries de Taylor intervalles 141

4 Fabien Lydoire

Page 5: Génération de trajectoires pour la locomotion artificielle et ...

Table des figures

Table des figures

1.1 Robot à roues et robot bipède face à un trou dans le sol . . . . . . . . 121.2 Le robot HRP-1 de l’AIST aux commandes d’une machine de chantier 121.3 Les robots bipèdes des sociétés Honda (Asimo à gauche) et Sony (Qrio

à droite) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.4 Le polygone de sustentation en simple et double support . . . . . . . 141.5 Marche en compas, (Vaughan et al., 1992) . . . . . . . . . . . . . . 141.6 Phases d’un cycle de marche, (Vaughan et al., 1992) . . . . . . . . . 151.7 Les plans du corps humain . . . . . . . . . . . . . . . . . . . . . . . . 161.8 Le robot Wabian de l’université de Waseda . . . . . . . . . . . . . . . 171.9 Le robot HRP-2 de l’AIST . . . . . . . . . . . . . . . . . . . . . . . . 171.10 Le robot humanoïde de l’Université de Karlsruhe . . . . . . . . . . . 181.11 Le robot Johnnie de l’université de Munich . . . . . . . . . . . . . . . 181.12 Le robot Rabbit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.13 Le robot bipède Bip . . . . . . . . . . . . . . . . . . . . . . . . . . . 221.14 De gauche à droite : mouvements dans le plan sagittal, mouvements

dans le plan frontal, mouvements dans le plan horizontal. . . . . . . . 22

2.1 Méthode du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.2 Méthode d’identification par modèle inverse et moindres carrés d’er-

reur d’entrée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.3 Le robot rabbit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.4 Exemples de positions et vitesses articulaires appliquées pour l’iden-

tification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.5 Modèle de tibia du robot Rabbit . . . . . . . . . . . . . . . . . . . . 342.6 Modèle de jambe du robot Rabbit . . . . . . . . . . . . . . . . . . . 352.7 Estimation et couples réels pour le tibia (droite) et la cuisse (gauche)

issus de l’excitation de la jambe gauche . . . . . . . . . . . . . . . . . 362.8 Estimation et couples réels pour le tibia (droite) et la cuisse (gauche)

issus de l’excitation de la jambe droite . . . . . . . . . . . . . . . . . 37

3.1 Espace des configurations (gauche) et espace de sortie (droite) . . . . 433.2 Posture initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.3 Au démarrage du pas, la projection du CdM se trouve sur la semelle

du pied de support, sur la ligne de symétrie du pied . . . . . . . . . 453.4 En fin de simple support, la projection du CdM se trouve sur la semelle

du pied de support, proche des orteils et sur la ligne de symétrie dupied. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

5

Page 6: Génération de trajectoires pour la locomotion artificielle et ...

Table des figures

3.5 En double support, la projection du CdM se déplace selon une trajec-toire polynomiale des orteils du pied d’appui jusqu’au talon du piedlibre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.6 Pas de transition entre deux marches . . . . . . . . . . . . . . . . . . 483.7 Postures durant le pas de transition . . . . . . . . . . . . . . . . . . . 493.8 Trajectoire de la cheville de vol dans le plan sagittal (gauche) et tra-

jectoire de la projection du centre de masse (droite) pendant la phasede simple support pied droit d’un pas de 15 cm de long et 5 cm dehaut. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.9 Trajectoire de la projection dans le plan (x,z) du centre de massedurant un déplacement 3D dans un environnement encombré . . . . . 51

3.10 Postures dans un environnement structuré . . . . . . . . . . . . . . . 52

4.1 Horizons de commande et de prédiction . . . . . . . . . . . . . . . . . 564.2 Principe de la commande prédictive . . . . . . . . . . . . . . . . . . . 574.3 Principe de la commande prédictive : poursuite de trajectoire de ré-

férence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.4 Utilité de l’horizon de prédiction dans le cadre de la locomotion . . . 654.5 Modèles de robots bipèdes sur lesquels ont été validé le NMPC . . . . 664.6 Intervalles et bornes : exemple d’une boîte dans R2 . . . . . . . . . . 704.7 Illustration de la fonction d’inclusion dans R2 (Jaulin et al., 2001) . 734.8 Étapes de l’algorithme d’inversion d’ensemble . . . . . . . . . . . . . 754.9 Contraction : suppression de valeurs inconsistantes . . . . . . . . . . 764.10 Principe de la commande prédictive basée sur la satisfaction de contraintes 804.11 Calculs garantis par les méthodes ensemblistes . . . . . . . . . . . . . 814.12 Faisabilité d’une commande avec les calculs ponctuels . . . . . . . . . 854.13 Faisabilité d’une commande avec l’arithmétique d’intervalles . . . . . 864.14 Discrétisation spatiale . . . . . . . . . . . . . . . . . . . . . . . . . . 874.15 Non respect des domaines dû à l’approximation intérieure de l’état . . 89

5.1 Le pendule inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005.2 Simulation avec la commande NMPC sans trajectoire de référence -

position initiale proche de la verticale vers le haut . . . . . . . . . . . 1025.3 Simulation avec la commande NMPC sans trajectoire de référence -

position initiale verticale vers le bas . . . . . . . . . . . . . . . . . . . 1035.4 Simulation avec la commande NMPC sans trajectoire de référence/commande

constante le long de l’horizon - position initiale proche de la verticalevers le haut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

5.5 Simulation avec la commande NMPC sans trajectoire de référence/commandeconstante le long de l’horizon - position initiale verticale vers le bas . 105

5.6 Simulation avec la contraction classique - position initiale proche dela verticale vers le haut- εbissection = 0, 01 (rad.s−1) . . . . . . . . . . . 108

5.7 Simulation avec la contraction classique - position initiale proche dela verticale vers le haut- εbissection = 0, 1 (rad.s−1) . . . . . . . . . . . . 109

5.8 Simulation avec la contraction classique - arrêt première solution trou-vée position initiale proche de la verticale vers le haut . . . . . . . . . 109

6 Fabien Lydoire

Page 7: Génération de trajectoires pour la locomotion artificielle et ...

Liste des Algorithmes

5.9 Simulation avec ordonnancement des boîtes - critère commande denorme minimale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

5.10 Simulation avec ordonnancement des boîtes - critère sur boîte terminale1115.11 Simulation avec ordonnancement des boîtes - εcontraction = 0, 1 (rad.s−2)1125.12 Simulation avec intersection séparée . . . . . . . . . . . . . . . . . . . 1135.13 Simulation avec intersection séparée et boucle de rétropropagation . . 1145.14 Simulation avec discrétisation spatiale en 10 éléments - position ini-

tiale proche de la verticale vers le haut- εbissection = 0, 1 (rad.s−1) . . . 1155.15 Simulation avec discrétisation spatiale en 10 éléments - position ini-

tiale verticale vers le bas - εbissection = 0, 01 (rad.s−1) . . . . . . . . . . 1165.16 Simulation avec discrétisation spatiale en 10 éléments - limitation du

choix de la commande . . . . . . . . . . . . . . . . . . . . . . . . . . 1185.17 Simulation avec discrétisation spatiale en 10 éléments - limitation du

choix de la commande - commande précédente . . . . . . . . . . . . . 119

Liste des Algorithmes

1 Contracteur propagation-rétropropagation . . . . . . . . . . . . . . . . 782 Contraction classique pour la commande prédictive . . . . . . . . . . . 913 Commande récursive basée sur la contraction . . . . . . . . . . . . . . 924 Commande avec ordonnancement des boîtes . . . . . . . . . . . . . . . 945 Propagation-rétropropagation pour la commande du pendule avec test

de faisabilité de la commande . . . . . . . . . . . . . . . . . . . . . . . 966 Propagation-rétropropagation pour la commande du pendule avec test

de faisabilité de la commande et boucle de rétropropagation . . . . . . 977 Contraction classique pour la commande du pendule . . . . . . . . . . 106

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

7

Page 8: Génération de trajectoires pour la locomotion artificielle et ...

Liste des Algorithmes

8 Fabien Lydoire

Page 9: Génération de trajectoires pour la locomotion artificielle et ...

Remerciements

Remerciements

Les travaux présentés dans ce mémoire ont été réalisés au sein du départementrobotique du Laboratoire d’Informatique de Robotique et de Microélectronique deMontpellier (LIRMM). Je remercie donc en premier lieu M. Michel Habib, directeurdu LIRMM, pour m’avoir accueilli au sein du laboratoire durant ma thèse.

Je remercie également les membres du jury qui ont accepté d’évaluer mon tra-vail, et particulièrement mes rapporteurs M. Bernard Espiau et M. Luc Jaulin. Jeremercie également M. André Crosnier d’avoir accepter de présider ce jury.

Je remercie Étienne Dombre, mon directeur de thèse ainsi que Philippe Poignetmon co-directeur pour leur encadrement durant ces trois années qui n’ont pas étéde tout repos.

Je remercie également les membres permanents du laboratoire, chercheurs et nonchercheurs, qui m’ont permis de passer ces 3 années de thèse dans de bonnes condi-tions de travail et de bonne humeur.

Je tiens à remercier également les personnes qui m’ont encouragé ou donné enviede faire de la recherche : Thierry Viéville de l’INRIA Sophia-Antipolis, les anciensmoyens robotiques de l’INRIA Rhône-Alpes (Soso, Gérard, Pascal, Roger, Hervé).Je remercie également Véro pour ses encouragements au cours de ces quelques mois àGrenoble, ainsi que les membres d’ATHYS. Je remercie tout particulièrement Chris-tine Azevedo : j’ai eu la chance qu’elle m’encadre en DEA et me donne tout un tasde conseils que je n’ai pas forcément suivis.

Une thèse, c’est un moment de vie particulier, que l’on ne comprend pas tout àfait si l’on n’est pas dedans. Je dis donc merci à tous mes collègues encore thésardsou ex-thésards. Aux premiers je souhaite bon courage pour arriver au bout. Lesseconds, je les rejoins. Je dresse une suite de petites phrases, ils se reconnaîtront :«le vrai beurre est salé !», «t’as tout compris p’tit bonhomme», «attention jeunepadawan», «ya du vent, j’me casse», «bijour tout le monde» (à 15h, les yeux explo-sés),«celui qui a inventé le cassoulet, il devrait avoir le prix nobel», «ça marche pas»(cette phrase fonctionne pour tous les thésards), «j’en peux plus de ce téléphone».Pour ceux que je n’arrive pas à stigmatiser par quelques petits mots, je citerai legentil breton poilu, le gentil marseillais silencieux, les gentils libanais, les gentilscopains. Au début on trouve les boxes bruyants, mais c’est quand même bien d’êtretous ensemble.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

9

Page 10: Génération de trajectoires pour la locomotion artificielle et ...

Remerciements

Enfin, je termine ces remerciements par quelques mots plus personnels. Mercià vous Papa, Maman. Merci pour votre soutien, vos encouragements. Et oui, vousn’aviez pas deviné que je serai encore étudiant à 27 ans ! Grâce à vous je me suisépanoui, je me suis bien amusé et je vais sûrement trouver un métier qui me plait.Merci aussi à ma sœur Sandrine pour ses encouragements de tous les jours.

Enfin je remercie Christiane qui a croisé mon chemin la dernière année, pour lemeilleur. . .

10 Fabien Lydoire

Page 11: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 1. Introduction générale

Chapitre 1

Introduction générale

Les robots, systèmes mécaniques munis de capteurs et d’actionneurs, ont toutd’abord été conçus dans le but d’assister l’homme dans son travail pour l’exécutionde tâches pénibles et répétitives. Les avancées de la technologie ont amélioré la pré-cision dans le geste, la vitesse de fonctionnement ainsi que la puissance mécanique,leur permettant ainsi d’effectuer des tâches impossibles à accomplir pour un êtrehumain (manipulation d’objets lourds, usinage rapide, etc. . . ).

L’utilisation de robots dont la base est fixe se révèle appropriée dans le cadred’une usine où les robots sont placés le long d’une chaîne de montage. Cependant, lescapacités des robots ne se limitent pas à réaliser des opérations sur des objets placésdans leur espace de travail et il existe de nombreuses applications qui nécessitent quele robot soit capable de se déplacer. On peut citer par exemple les robots d’explo-ration conçus pour accéder à des endroits inaccessibles ou dangereux pour l’homme(canalisations souterraines, centrales nucléaires, fonds marins, espace, nano robotspour l’intervention dans le corps humain), ou dans un aspect plus quotidien des ro-bots de nettoyage autonomes (robot aspirateur, robot nettoyeur de surfaces vitrées).

En robotique mobile terrestre, les résultats les plus aboutis concernent les robotsmunis de roues ou de plusieurs pattes : leurs multiples points d’appui permettentd’assurer la stabilité et ainsi de concentrer les efforts de recherche sur les probléma-tiques liées à la mobilité (recherche d’un meilleur chemin, repérage dans l’environ-nement). Cependant, en matière de qualité de déplacement, les robots à roues sontdésavantagés par rapport aux robots à pattes. Tant qu’ils sont placés sur une routeou dans un environnement raisonnablement accidenté, les véhicules à roues sont lesplus performants ; mais dès qu’il s’agit de surmonter des obstacles (un trou ou unobstacle en relief par exemple), un robot à pattes est mieux adapté (figure 1.1).

Un véhicule disposant de plusieurs roues ou de chenilles pourrait franchir ce typed’obstacles mais, se pose alors le problème des obstacles en relief. Un robot à pattespeut exploiter le temps de vol de ses pattes pour franchir un tel obstacle, sans mêmele toucher. Cependant, le nombre de pattes reste prépondérant. Un robot multi-pattes, de type insecte, conserve les propriétés de stabilité fournies par ses multiplespoints d’appui, mais perd une part de sa capacité de déplacement du fait de la mul-titude de ses points d’appui.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

11

Page 12: Génération de trajectoires pour la locomotion artificielle et ...

Fig. 1.1 – Robot à roues et robot bipède face à un trou dans le sol

Améliorer, pour un robot, les capacités de surveillance, maintenance, secours enmilieu hostile et/ou accidenté, c’est accroître sa capacité de déplacement dans unenvironnement structuré, le plus souvent pour l’homme. S’impose alors le concept derobot bipède (Chevallereau et Sardain, 2000; Gienger et al., 2001; Guihardet Gorce, 2001; Yamaguchi et al., 1999).

L’homme modèle son environnent à sa convenance, c’est-à-dire pour un bipèdehumain. Les difficultés à se déplacer en chaise roulante au sein des infrastructuresurbaines pour une personne handicapée en sont hélas une parfaite illustration. L’ac-cès aux bâtiments en chaise roulante nécessite de nombreux aménagements.

Un robot bipède se déplacera donc sans modification particulière des infrastruc-tures. Il pourra se mouvoir aussi bien dans un appartement que dans une usine. Unrobot humanoïde (bipède muni de bras) pourra servir d’assistant à domicile ou d’ou-vrier capable d’utiliser les divers appareils initialement conçus pour les êtres humains(figure 1.2). L’intérêt industriel pour les robots bipèdes est également renforcé parleur impact psychologique et par conséquent par les retombées en termes d’imagepour une sociéte capable de les concevoir (robots des sociétés Honda ou Sony parexemple, figure 1.3).

Fig. 1.2 – Le robot HRP-1 de l’AIST aux commandes d’une machine de chantier

La synthèse de la marche bipède sur un système robotisé répond également auxbesoins de la biomécanique. Elle permet d’établir ou de valider des hypothèses issuesde l’étude de la marche humaine ou animale (Hugel et al., 2003) afin de détecter etsoigner différentes pathologies ou de mieux comprendre certains phénomènes biolo-

12 Fabien Lydoire

Page 13: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 1. Introduction générale

Fig. 1.3 – Les robots bipèdes des sociétés Honda (Asimo à gauche) et Sony (Qrio àdroite)

giques. Une autre application concerne la reproduction de la marche sur des patientsparaplégiques par stimulation électrique fonctionnelle (Yamaguchi et Zajac, 1990;Guiraud et al., 2003), le système mécanique devant permettre de valider la straté-gie de commande avant de l’appliquer effectivement sur l’être humain.

Avant de présenter les plates-formes robotiques considérées dans ce manuscrit(§ 1.3), nous présentons quelques robots bipèdes (§ 1.2), puis les principes de lalocomotion bipède (§ 1.1). Enfin, le § 1.4 introduit le plan suivi dans ce mémoire.

1.1 La locomotion bipède

Avant présenter quelques aspects fondamentaux de la locomotion bipède, nousintroduisons quelques définitions :

– le centre de masse (CdM) ou centre de gravité est le barycentre des élémentsde volume pondérés par leur masse volumique,

– le centre de pression (CdP) est le point où s’applique la résultante des forcesde réaction au sol,

– le « Zero Moment Point » (ZMP) est le point où le moment dynamique desforces normales d’appui est nul.

– le polygone de sustentation est l’enveloppe convexe des points d’appui au sol(figure 1.4).

Allure et équilibre

Lorsque les jambes sont réduites à deux axes reliés en leur sommet (compas,figure 1.5), le mouvement du CdM est ample et comprend des changements brusquesde direction. Ce type de marche représente la marche la plus simple en termes dedegrés de liberté. L’ajout de degrés de liberté (articulations des genoux, chevilles,hanches) permet de réduire la brutalité des impacts avec le sol et la variation de laposition du CdM. Celle-ci traduit l’aspect fluide de la démarche (El Ali, 1999).

La position du CdM joue aussi un rôle essentiel dans la description de l’équilibre :celui-ci est réalisé lorsque la projection du CdM est située à l’intérieur du polygone

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

13

Page 14: Génération de trajectoires pour la locomotion artificielle et ...

1.1. La locomotion bipède

Simple support Double support

Polygones de sustentation

Fig. 1.4 – Le polygone de sustentation en simple et double support

Fig. 1.5 – Marche en compas, (Vaughan et al., 1992)

de sustentation.

Les phases de la marche

La marche bipède en régime stationnaire est un phénomène cyclique où les piedsjouent un rôle symétrique. Un cycle complet de marche (figure 1.6) est composé dedeux phases :

1. une phase de simple support avec seulement un pied en contact avec le solpendant que le second se balance de l’arrière vers l’avant,

2. une phase de double support avec les deux pieds en contact avec le sol.

Types de marche

On distingue deux types de marche : la marche statiquement stable et la marchedynamiquement stable.

La marche statiquement stable ou marche statique peut se représenter commeune marche lente et mal assurée. L’homme marche statiquement en situation diffi-cile (montée d’escaliers, terrain instable . . . ). Plus formellement, on parle de marche

14 Fabien Lydoire

Page 15: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 1. Introduction générale

Simple supportPremier double support

P HASES

% du cycle

Sous-PhasesBalancement initial Balancement finalSecond double support

85%

H A S E D E B A L A N C E M E N T

50% 100%0% 12% 25% 62%

H A S E D ’ A P P U I

Evénements

P P

Contact du talon Mi-appui Décollage du talon Décollage des orteils Accélération Contact du talonPlante plate Décélération

Fig. 1.6 – Phases d’un cycle de marche, (Vaughan et al., 1992)

statiquement stable lorsque la projection du CdM sur le sol est située, à chaque ins-tant, dans le polygone de sustentation. Cette condition assure l’équilibre à chaqueinstant. Ainsi, interrompre le mouvement, à n’importe quel instant, ne cause pas dechute.

La marche dynamiquement stable ou marche dynamique est la marche adoptéeen situation normale. C’est une succession de déséquilibres en avant (la projectiondu CdM sort du polygone de sustentation) rattrapés par la pose de la jambe de volen avant (interrompre la trajectoire de la jambe de vol cause la chute).

Plans de projection

On distingue différents plans de projection dans l’étude de la marche (figure1.7) : frontal, sagittal et horizontal. Le plan sagittal est le plan dans lequel se faitla progression de la marche normale. Le plan frontal correspond aux déplacementsde côté. L’étude et la génération de la marche peuvent être simplifiées en se plaçantuniquement dans l’un de ces plans.

1.2 Robots bipèdes et commande

Ces dernières années, le nombre de prototypes de robots bipèdes s’est multiplié.Le problème de la marche est le plus souvent résolu par une génération de trajec-toires de marche hors ligne en fonction du temps et l’implantation en temps réelsur le robot d’un régulateur autour de cette trajectoire. Cette approche donne desrésultats satisfaisants permettant la locomotion bipède de robots complexes, mais

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

15

Page 16: Génération de trajectoires pour la locomotion artificielle et ...

1.2. Robots bipèdes et commande

Pla

n s

agit

tal

Plan horizontal

Pla

n f

ron

tal

Fig. 1.7 – Les plans du corps humain

limite les possibilités d’adaptation de tels robots.

Dans (Chevallereau et al., 2003, 2004) la commande est basée sur des trajec-toires dépendant de l’état du robot et non plus du temps, permettant l’implantationen temps réel d’un contrôleur de marche. L’objectif est d’obtenir des mouvementspériodiques et stables. La locomotion est assurée par la définition de contraintes qui,si elles sont respectées, imposent une dynamique identiquement nulle (dynamiquede zéro). Les performances de cette commande ont été illustrées par la commandela course du robot Rabbit présenté dans le paragraphe suivant.

Au Japon, le problème de la locomotion bipède est abordé à travers des plates-formes humanoïdes permettant également de traiter d’autres problématiques commela préhension, la reconnaissance de l’environnement, la communication entre leshommes et les robots. L’université de Waseda travaille ainsi depuis les années 70sur les robots humanoïdes (figure 1.8). En 2000, elle crée le Humanoid RoboticsInstitute afin de travailler sur tous les aspects de la communication homme/robot,notamment à travers l’élaboration d’une tête humanoïde permettant une communi-cation enrichie avec l’être humain.

La recherche au Japon est également soutenue par le ministère de l’industrie.L’AIST possède un département humanoïde (Humanoid Robotics Group) dont ladernière plate-forme expérimentale est le robot HRP-2 (figure 1.9) muni de 30 de-grés de liberté et pesant 60 kg pour 1m60. 2003 voit la création d’un laboratoirefranco-japonais (CNRS/AIST) sur le thème de la robotique autonome et spécifique-ment sur la communication homme/robot, la commande, les modes de locomotionet la compréhension de l’environnement.

16 Fabien Lydoire

Page 17: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 1. Introduction générale

Fig. 1.8 – Le robot Wabian de l’université de Waseda

Fig. 1.9 – Le robot HRP-2 de l’AIST

En Europe, la recherche est également active et l’on peut citer par exemple lestravaux à l’Université de Karlsruhe sur un robot humanoïde (figure 1.10), se dépla-çant sur des roues (Site internet Humanoid Robot Project, Karlsruhe University),ou concernant les robots bipèdes le robot robot Johnnie (figure 1.11) de l’Universitéde Munich (TUM). Ce robot est muni de 17 articulations actives et pèse 40 kg pour1m80. Sa commande est constituée d’une génération de trajectoires hors ligne puisd’une correction de la position du haut du corps basée sur un modèle réduit du robotpour une implantation temps réel du contrôleur (Lohmeier et al., 2004).

En France, les travaux sont principalement orientés autour des capacités demarche et de course. Nous présentons 2 prototypes dans le paragraphe suivant.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

17

Page 18: Génération de trajectoires pour la locomotion artificielle et ...

1.3. Plates-formes robotiques bipèdes considérées

Fig. 1.10 – Le robot humanoïde de l’Université de Karlsruhe

Fig. 1.11 – Le robot Johnnie de l’université de Munich

1.3 Plates-formes robotiques bipèdes considérées

Nous considérons dans ce manuscrit deux plates-formes bipèdes robotisées, lesrobots Rabbit et Bip que nous présentons ici.

1.3.1 Le robot Rabbit

Le prototype Rabbit (Site internet Projet robot Rabbit) a été conçu et réalisépar un groupe de recherche composé de huit laboratoires français1 dans le cadre dedeux projets CNRS successifs :

1IRCCyN, LAG, LGIPM, LIRMM, LMS, LRP, LVR, INRIA

18 Fabien Lydoire

Page 19: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 1. Introduction générale

– Programme de Recherches Coordonnées/Groupe De Recherche (PRC/GdR)«Commande de robot à pattes» de 1997 à 2001,

– Programme interdisciplinaire de recherche Robotique et Entités Artificielles(ROBEA) «Commande pour la marche et la course d’un robot bipède» de2001 à 2004.

Le robot (figure 1.12(b)) a été conçu de façon à pouvoir marcher et courir. Lesystème est composé de deux parties : le robot proprement dit et un système deguidage en rotation (figure 1.12(a)). Le système comporte 5 segments (tronc, cuisses,tibias) et 4 actionneurs (hanches et genoux) : la particularité de ce robot est d’êtresous-actionné en phase de simple appui (absence de pieds et mouvements du tronc)(figure 1.12(c)). La hauteur totale du robot est de 1,425 m pour 40 kg. Le systèmede guidage est constitué d’une colonne centrale et d’une barre radiale. Le tronc durobot peut pivoter librement autour de l’axe de la barre. Ainsi, la barre maintient latangence entre le plan sagittal du robot, et une sphère dont le rayon vaut la longueurde la barre de maintien. Chaque tibia est muni d’une roulette dont l’axe est dans leplan sagittal. Le contact pied/sol est supposé ponctuel.

(a) (b)

y

q42

q41

q31

q32

x

+q1

(c)

Fig. 1.12 – Le robot Rabbit

1.3.2 Le robot Bip

Le robot bipède Bip (figure 1.13) a été conçu conjointement par l’Institut Natio-nal de Recherche en Informatique et en Automatique (INRIA) et le Laboratoire deMécanique des Solides (LMS) de l’Université de Poitiers (Espiau et the BIP team,1997; Azevedo et al., 2002a).

Ce robot comprend 15 articulations actives et peut se déplacer librement dansl’espace. Par conséquent, aux 15 degrés de liberté (ddl) correspondant à la configu-ration du robot (qi, i = 1 . . . 15), il faut ajouter 6 degrés de liberté correspondant àla position (3 ddl) et à l’orientation (3 ddl) du robot dans l’espace. Bip a été conçuet dimensionné pour la marche dynamique en 3 dimensions et pour la montée et la

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

19

Page 20: Génération de trajectoires pour la locomotion artificielle et ...

1.4. Objectifs de la thèse et organisation du mémoire

descente d’escaliers. Il peut se déplacer dans le plan sagittal grâce à la rotation de seschevilles, genoux et hanches qui permettent la flexion/extension. Les changementsde direction sont possibles par la rotation interne/externe du tronc, du bassin et deshanches. La rotation des chevilles, des hanches et de la vertèbre lombaire permettentl’abduction/adduction dans le plan frontal et ainsi le maintien de l’équilibre laté-ral. Trois degrés de liberté supplémentaires entre le tronc et le bassin (q13, q14, q15)rendent les systèmes de déplacement et d’équilibre indépendants (figure 1.14).

Bip mesure 180 cm pour 105 kg. Les longueurs, masses, positions des centresde masse et moments d’inertie des segments sont proches de ceux de l’être humain(robot anthropomorphe).

À titre de comparaison, la locomotion humaine met en jeu 29 degrés de libertéet 48 muscles par jambe.

1.4 Objectifs de la thèse et organisation du mé-moire

Le premier objectif est l’application des méthodes classiques d’identification demoindres carrés à erreur d’entrée dans le contexte particulier de la robotique bipèdeafin de déterminer les paramètres du modèle dynamique du robot Rabbit. En effet,dans le cadre de la commande d’un robot bipède, la connaissance du modèle dyna-mique est primordiale. Ce modèle permet de prédire le comportement du robot enfonction des lois de la physique et des consignes envoyées aux actionneurs. Ainsi,le modèle est utilisé pour la synthèse de commande mais également pour la simula-tion afin de valider les différentes stratégies avant de les appliquer sur le système réel.

L’étape d’identification permet de déterminer l’ensemble des paramètres néces-saires à la construction d’un modèle (dimensions pour le modèle cinématique, masses,inerties et frottements pour le modèle dynamique). Les paramètres du modèle ciné-matique changent généralement peu, de l’étape de conception à l’étape de réalisation.Par contre, les paramètres du modèle dynamique ne peuvent pas être facilement ob-tenus à partir des plans de conception. En effet, l’estimation précise des paramètresd’inertie et de frottement ne peut être obtenue qu’à partir du système réel. Cecipermet de prendre en compte les câblages et les courroies de transmission dans lecas de Rabbit ainsi que les diverses modifications apportées au cours du montage.De plus, les mesures précises sur les pièces mécaniques avant assemblage ne sontsouvent pas réalisées, et il n’est pas envisageable de démonter le systême pour iden-tifier les pièces individuellement. Nous traiterons ainsi d’une première approche pourl’identification des paramètres dynamiques d’un robot bipède dans le chapitre 2. Cestravaux d’identification ont été réalisés sur la plate-forme Rabbit dans le cadre d’unprojet du Programme Interdisciplinaire de Recherche CNRS ROBEA.

Comme nous l’avons dit au § 1.2, une grande partie des commandes de marchesont basées sur des trajectoires de référence. Dans le cas de la commande optimale

20 Fabien Lydoire

Page 21: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 1. Introduction générale

ou de la commande prédictive, elles sont issues d’une optimisation, visant à minimi-ser la consommation d’énergie par exemple. Ces calculs ne peuvent être menés entemps réel et par conséquent, le contrôle temps-réel du robot consiste à réguler laposition du robot autour d’une trajectoire de référence pré-calculée en utilisant lemodèle du robot. Le second objectif de la thèse, présenté dans le chapitre 3 portesur la génération de trajectoires 3D et a été validée en simulation sur le modèle 3Ddu robot Bip. La méthode proposée est flexible et permet ainsi la génération detrajectoires variées, correspondant à différents types de démarches. Ces trajectoirespourront ensuite être utilisées dans le cadre d’une commande basée sur le suivi detrajectoires multiples suivant les conditions rencontrées par le système.

Calculer un ensemble de trajectoires, prévoyant une grande variété de situationspermet d’améliorer l’adaptabilité du robot (Wieber, 2000). Cependant, une com-mande calculée en temps réel, sans trajectoire de référence, fournit une adaptabilitémaximale (Chevallereau et al., 2004). À la connaissance de la situation courantepour calculer la commande, nous pouvons ajouter des capacités d’anticipation et deprédiction afin d’améliorer cette adaptabilité. La prédiction de la situation future etl’anticipation, à l’instar de l’être humain, semble adaptée à la commande d’un sys-tème marcheur robotisé. Ainsi, la stratégie de la commande prédictive non linéaireréférencée modèle (NMPC) sans trajectoire de référence, a été appliquée à la com-mande d’un robot bipède (Azevedo, 2002) et a permis de dégager un ensemble decontraintes assurant la marche d’un système robotisé avec une commande prédictivesans trajectoire de référence. Cependant, les problèmes liés à la stabilité de la loi decommande, qui peut s’exprimer comme la faisabilité d’un problème d’optimisation,ainsi que l’inefficacité algorithmique de cette approche, ont motivé des travaux com-plémentaires. Le troisième et principal objectif de ces travaux de thèse porte doncsur l’étude et l’approfondissement de la commande prédictive pour la locomotionartificielle. Nous proposons de privilégier la faisabilité du problème par rapport aucaractère optimal de la solution. Ainsi, le problème peut se formuler comme un pro-blème de satisfaction de contraintes (CSP). Les domaines des variables intervenantdans les contraintes correspondent à des plages de variations admissibles au coursde la marche pour les paramètres clés de la démarche (positions des pieds, vitessede déplacement, position du CdM). La satisfaction des contraintes peut alors êtregarantie par l’utilisation des outils de l’arithmétique d’intervalles. Le chapitre 4 pré-sente une nouvelle méthode pour le calcul de cette commande prédictive basée sur lesoutils de l’arithmétique d’intervalles. Cette approche est ensuite validée (chapitre 5)sur la commande d’un pendule sous actionné.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

21

Page 22: Génération de trajectoires pour la locomotion artificielle et ...

1.4. Objectifs de la thèse et organisation du mémoire

Fig. 1.13 – Le robot bipède Bip

q3

q4

q2

q8

q7

q15

q6

q1

q14

q9 q11

q5

q13

q12

q10

Fig. 1.14 – De gauche à droite : mouvements dans le plan sagittal, mouvementsdans le plan frontal, mouvements dans le plan horizontal.

22 Fabien Lydoire

Page 23: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 2. Identification de paramètres dynamiques

Chapitre 2

Identification de paramètresdynamiques

Dans ce deuxième chapitre, nous traitons de l’identificationdes paramètres dynamiques d’un système robotique com-

posé de corps rigides. La connaissance précise du modèle dyna-mique d’un robot est primordiale pour les bonnes performancesd’un simulateur chargé de valider les différentes stratégies decommande ou encore dans le cadre de commandes référencéesmodèles. Après avoir introduit les paramètres dynamiques àidentifier nous présentons la méthode d’identification par mini-misation aux moindres carrés de l’erreur d’entrée basée sur lemodèle inverse linéaire selon le vecteur des paramètres dyna-miques. Cette méthode est ensuite appliquée pour l’identifica-tion des paramètres dynamiques des jambes du robot Rabbit.

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.2 Méthodes d’identification . . . . . . . . . . . . . . . . . . . 26

2.3 Identification des paramètres dynamiques du robot Rab-bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

23

Page 24: Génération de trajectoires pour la locomotion artificielle et ...

2.1. Introduction

2.1 Introduction

Comme nous l’avons vu dans l’introduction, l’identification des paramètres dyna-miques est importante dans le cadre de la commande d’un système aussi complexequ’un robot marcheur. Ce chapitre traite donc de l’identification des paramètresdynamiques d’un système mécanique à corps rigides. Nous appliquerons ensuite laméthode d’identification sur le robot marcheur Rabbit.

L’identification est réalisée en plusieurs étapes (Ljung, 1999) :

1. Le choix du modèle à identifier. Dans bon nombre d’applications, un modèle«boîte noire» est suffisant. Cependant, en robotique, le modèle du robot s’ex-prime directement sous la forme du modèle dynamique. Pour l’utilisation dece modèle, il est nécessaire d’identifier des paramètres dynamiques liés à laphysique du robot.

2. L’application sur le système à identifier de commandes excitant les paramètresdynamiques.

3. L’estimation des paramètres du modèle par la minimisation de l’écart entre lemodèle et le système au sens d’un critère à définir.

4. La validation du modèle par comparaison avec les valeurs issues de la concep-tion du système mais également par comparaison du comportement préditet du comportement réel lors d’excitations non utilisées pour l’identification(validation croisée).

Nous présentons dans les paragraphes suivants l’identification non linéaire, puisl’identification par modèle inverse, enfin les résultats d’identification sur le robotbipède Rabbit. Cependant, avant de traiter des méthodes d’identification, le pa-ragraphe suivant présente la modélisation utilisée et introduit les paramètres dumodèle dynamique que nous cherchons à identifier.

2.1.1 Modélisation dynamique

Modèle inverse

Le modèle dynamique inverse d’un système à corps rigides composé de n articula-tions permet de calculer le vecteur de couples actionneurs Γ comme une fonction descoordonnées généralisées. Il peut être calculé à partir de la formulation Lagrangienneou de Newton-Euler (Khalil et Dombre, 1999) :

Γ = M(q)q + N(q, q) (2.1)

où :– q, q, q sont les (n× 1) vecteurs des positions, vitesses et accélérations généra-

lisées,– N(q, q) est le vecteur (n × 1) traduisant l’effet des accélérations de Coriolis,

centrifuges et des forces de gravité,– M(q) est la matrice d’inertie (n× n) du système,– Γ est le vecteur (n× 1) des efforts moteurs (couple pour les liaisons rotoïdes,

forces pour les liaisons prismatiques).

24 Fabien Lydoire

Page 25: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 2. Identification de paramètres dynamiques

Dans le cas de présence d’efforts extérieurs comme les contacts avec le sol dansle cas d’un robot marcheur, la dynamique s’écrit

Γ + Γext = M(q)q + N(q, q) (2.2)

où les couples extérieurs s’expriment sous la forme

Γext = C(q)T λ(q, q) (2.3)

où C(q) est la matrice Jacobienne des positions des points sur lesquels s’appliquentles forces extérieures et λ correspond aux amplitudes de ces forces (Wieber, 2000;Azevedo, 2002).

Cependant, nous présentons ici des résultats d’identification réalisés en espacelibre, sans efforts extérieurs.

Paramètres dynamiques standard

Le modèle dynamique inverse (2.1) peut se réécrire sous la forme d’une équationlinéaire vis-à-vis d’un jeu de paramètres χs appelés paramètres dynamiques standard.

us =

(Γ0

)= Ds(q, q, q) χs (2.4)

us =

u1

s...

uns

= Ds χs =

D1

s...

Dns

χ1

s...

χns

(2.5)

où– χs est le vecteur (13 n× 1) des paramètres dynamiques standard :

χs =[(χ1

s)T . . . (χn

s )T]T

χjs = [XXj XY j XZj Y Y j Y Zj ZZj MX j MY j MZj Mj Iaj Fvj Fsj]

T

Pour chaque corps j, on compte 11 paramètres inertiels standard et 2 para-mètres de frottement :– XXj, XY j , XZj , Y Y j, Y Zj , ZZj sont les 6 composantes du tenseur d’iner-

tie,– MX j, MY j , MZj sont les composantes du premier moment d’inertie– Mj est la masse du corps,– Iaj est l’inertie de l’actionneur,– Fvi est le coefficient de frottements visqueux,– Fsj est le coefficient de frottements de Coulomb,

– Ds est une matrice (n× 13n) appelée régresseur du modèle,– n est le nombre de degrés de liberté du système.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

25

Page 26: Génération de trajectoires pour la locomotion artificielle et ...

2.2. Méthodes d’identification

Paramètres dynamiques de base

Les paramètres inertiels standard sont en général surabondants dans le modèle.Dans l’écriture du modèle dynamique inverse sous forme linéaire vis à vis de χ (2.4),la matrice Ds n’est pas de rang plein. Certaines colonnes sont des combinaisons li-néaires d’autres colonnes. On doit donc déterminer un jeu de paramètres identifiablesappelés paramètres de base ou paramètres minimaux (Khalil et Dombre, 1999).La simplification de l’expression du modèle dynamique peut se faire en éliminant lesparamètres inertiels qui n’interviennent pas dans le calcul du modèle dynamique dusystème et en regroupant d’autres paramètres par des relations linéaires.

Une méthode symbolique et des méthodes numériques ont été développées pourcalculer les paramètres minimaux. Historiquement, la recherche des paramètres mi-nimaux ou de base pour les robots a débuté avec l’examen de l’expression symboliquedu modèle dynamique (Atkenson et al., 1986; Khalil et Gautier, 1986; Khosla,1986). L’analyse dans le cas des structures mécaniques complexes étant difficile, desrègles d’élimination et de regroupement systématiques pour les paramètres inertielsstandard du modèle énergétique du robot ont été proposées dans (Gautier, 1990).Le jeux de paramètres obtenu est quasi minimal. En effet, certains regroupementsparticuliers doivent être traités séparément. Ces regroupements ont été recensés etsystématisés par (Belkoura, 1993) pour les robots à chaîne ouvertes simples etpar (Khalil et Bennis, 1994) pour les chaînes complexes.

Des méthodes numériques permettent de calculer les paramètres minimaux sansconsidération particulière sur la nature des paramètres dynamiques composant levecteur χs. Dans (Gautier et Khalil, 1990; Gautier, 1991) une approche baséesur la décomposition QR ou la factorisation SVD de la matrice d’observation Ws

permet de calculer les paramètres minimaux quelle que soit la complexité du systèmemécanique considéré. Soit χ le vecteur (nb×1) des paramètres de base obtenu à partirdu vecteur χs des paramètres standard. Le modèle dynamique inverse se simplifieet s’écrit sous la forme réduite minimale suivante :

u =

(Γ0

)= D χ avec D =

D1...

Dn

(2.6)

où :– χ est le vecteur (nb × 1) des paramètres inertiels de base,– D est le régresseur (n× nb) du modèle dynamique minimal.

2.2 Méthodes d’identification

2.2.1 Identification non linéaire

Classiquement, on utilise pour l’identification le modèle direct sous forme d’équa-tion d’état ou de fonction de transfert, continues ou discrètes. Le modèle dynamique

26 Fabien Lydoire

Page 27: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 2. Identification de paramètres dynamiques

direct est l’équation d’état composée d’un système d’équations d’évolution tradui-sant les dynamiques du système et d’une équation d’observation.

x = fD(x, u)y = gD(x, u)

(2.7)

Lorsque le modèle d’état est multivariable, non linéaire par rapport à l’état x, àl’entrée u et au vecteur de paramètres à identifier, ces méthodes habituelles d’identi-fication linéaire ne sont pas adaptées (Gautier et Poignet, 2001). Nous présentonsdans ce qui suit une méthode d’indentification de systèmes non linéaires.

Erreur de sortie ou méthode du modèle

Cette méthode peut s’appliquer à un modèle linéaire ou non linéaire. Elle consisteà minimiser la norme de l’écart entre la sortie temporelle (Richalet, 1991) oufréquentielle (Sidman et al., 1991) du modèle et celle du système.

PNL J(ε(χs))

Système

x = fD(x, u, χs)

Modèle direct

u y

ym

χs

ε

erreur de sortie

Fig. 2.1 – Méthode du modèle

L’estimation χs du vecteur des paramètres inconnus χs est obtenue par minimi-sation d’un critère J(ε(χs)) qui dans le cas d’un critère quadratique s’écrit :

J(ε(χs)) = εT ε

avec ε =(

ε1 . . . εm

)Tl’échantillonnage de ε tel que εk = ε(tk), k =

1, · · · , m, et m le nombre d’échantillons. Notons, qu’il peut être judicieux d’adjoindredes informations a priori au critère au moyen d’une pondération bien choisie pourobtenir une estimation réaliste des paramètres (Moreau, 1999).

Généralement, il s’agit de résoudre un problème de moindres carrés non linéairepar des méthodes de programmation non linéaire (PNL) avec les difficultés liées àces techniques :

– initialisation des paramètres à estimer,– convergence locale/globale,– temps de calcul pour les problèmes de grandes dimensions. Le calcul du critère

nécessite la simulation complète des équations différentielles du système.

2.2.2 Identification par modèle inverse

Introduction

Dans le domaine de la robotique, plusieurs méthodes d’estimation des paramètresdynamiques ont été proposées. Ainsi, (Armstrong et al., 1986) proposent la mise

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

27

Page 28: Génération de trajectoires pour la locomotion artificielle et ...

2.2. Méthodes d’identification

en œuvre d’essais expérimentaux spécifiques sur chaque corps du robot pris isolémentafin d’identifier les paramètres dynamiques. Cependant, cette méthode n’est envi-sageable que dans l’étape d’avant–projet précédant le montage du robot. A partirde considérations géométriques sur les différents corps, (An et al., 1985) suggèrentune utilisation de la CAO pour calculer les paramètres inertiels des robots. Cetteméthode n’offre guère de précision sur l’estimation des paramètres recherchés. Lesdeux méthodes précédentes conduisent à des résultats généralement sans estimationde la précision obtenue et sont souvent difficiles à mettre en œuvre.

Des méthodes d’identification dynamique pour robots manipulateurs, plus géné-rales et plus souples à mettre en œuvre, ont fait l’objet de nombreuses recherches(Atkenson et al., 1986), (Canudas de Wit et Aubin, 1990), (Gautier, 1990,1992; Gautier et al., 1995; Gautier, 1997), (Pressé, 1994), (Kozlowski, 1998).Les méthodes proposées présentent de nombreux points communs :

– utilisation d’un modèle de connaissance (dynamique, énergétique ou de puis-sance) linéaire vis-à-vis des paramètres inconnus,

– calcul des équations algébriques par des logiciels de calcul formel spécialisés(Khalil et Creusot, 1997),

– construction d’un système linéaire surdéterminé par échantillonnage du modèleau cours du temps le long d’un mouvement du robot,

– estimation des paramètres par des techniques de régression linéaire classiques(moindres carrés ou autres variantes),

– la connaissance ou l’estimation des conditions initiales n’est pas nécessaire,– utilisation des outils numériques performants de l’algèbre linéaire (formes fac-

torisées QR, SVD, conditionnement,. . . ),– facilité de l’étude de l’identifiabilité structurelle,– possibilité de calculer par optimisation des mouvements excitants (Pressé et

Gautier, 1993),– possibilité de prendre en compte les connaissances a priori.

La démarche généralement adoptée consiste à utiliser le modèle dynamique inversedu robot qui s’exprime sous une forme linéaire par rapport aux paramètres dy-namiques à estimer (Gautier, 1990), (Khalil et Dombre, 1999), (Gautier etPoignet, 2001) (§ 2.1.1).

L’estimation χs du vecteur des paramètres inconnus χs est obtenue par minimi-sation d’un critère J(ρ) tel que :

χs = Arg minχs

(J(ρ))

Dans le cas des moindres carrés ordinaires J(ρ) est défini par :

J(ρ) = ‖ρ‖2 = ρT ρ

où ρ =(

ρ1 . . . ρNe

)Test l’échantillonnage de ρ(t) tel que ρk = ρ(tk) et Ne est

le nombre d’échantillons.

D’un point de vue pratique, ces méthodes d’identification passent par les étapesdéjà évoquées :

28 Fabien Lydoire

Page 29: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 2. Identification de paramètres dynamiques

ρ erreur d’entrée

Système

Filtragepasse bande

CarrésMoindres

Linéaires

u

u = Ds(x, ˆx)χs

Modèle inverseu

χs

q

x =[qT , q

T, q

T ]T

Fig. 2.2 – Méthode d’identification par modèle inverse et moindres carrés d’erreurd’entrée

– l’élaboration d’un modèle de connaissance qui possède la propriété d’être li-néaire par rapport aux paramètres inconnus,

– la construction d’un système surdéterminé par échantillonnage du modèle àdifférents instants le long d’un mouvement donné,

– l’estimation des paramètres au sens des moindres carrés.

Identification par moindres carrés

Le principe de l’identification d’un système à n degrés de liberté consiste à échan-tillonner le modèle dynamique inverse (2.4, § 2.1.1) le long de mouvements excitants,à différents instants ti (i = 1, . . . , nech), de façon à obtenir un système linéaire surdé-terminé de (nech.n) équations à ns inconnues (ns paramètres dynamiques standardà identifier).

uech =

u1

1...

unech

1

...

u1

n...

unech

n

= Dech χs =

D1(1)

...D1(nech)

...

Dn(1)

...Dn(nech)

χ1

s...

χns

(2.8)

Après échantillonnage, la concaténation des différentes mesures conduit à l’équa-tion :

Ys = Ws(q, q, q)χs + ρs (2.9)

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

29

Page 30: Génération de trajectoires pour la locomotion artificielle et ...

2.2. Méthodes d’identification

Avec :

Ys =

Y 1

s...

Y ns

(Vecteur de mesures) (2.10)

Ws =

W 1

s...

W ns

(Matrice d’observation) (2.11)

Où :– Y j

s est le vecteur de dimension (nech× 1) correspondant à l’échantillonnage del’effort moteur Γj du modèle (2.8),

Y js =

uj

s(1)...

ujs(nech)

(2.12)

– W js est la matrice de dimension (nech × ns) correspondant à l’échantillonnage

de la matrice Djs du modèle (2.8),

Wsj =

Dj

s(1)...

Djs(nech)

(2.13)

– ρs est le vecteur des résidus dus aux bruits de mesures et aux erreurs de modèle.

À partir de l’équation (2.9), il est possible d’obtenir une estimation au sens desmoindres carrés, notée χs, du vecteur inconnu χs :

χs = Arg minχs

‖ρs‖2 = W +s Ys (2.14)

où W +s est la matrice pseudo-inverse de Ws :

W +s = (W T

s Ws)−1

W Ts (2.15)

Identifiabilité structurelle

L’unicité de la solution (2.14) dépend du rang de la matrice d’observation. Uneperte de rang structurelle de Ws peut apparaître lorsque le modèle d’identificationa été paramétré de façon surabondante. Ce problème d’identifiabilité est résolu enutilisant les paramètres de base (§ 2.1.1) qui fournissent une représentation minimaledu modèle (Gautier et Khalil, 1990), (Gautier, 1991).

u =

u1...

un

= Dχ =

D1...

Dn

χ (2.16)

30 Fabien Lydoire

Page 31: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 2. Identification de paramètres dynamiques

L’échantillonnage du modèle minimal (2.16) permet d’obtenir un système linéairesurdéterminé de plein rang structurel :

Ym = Wm(q, q, q)χ + ρm (2.17)

où Wm est la matrice (nech.n×nb) d’observation, de plein rang structurel. On estimeles paramètres comme la solution des moindres carrés ordinaires de (2.17) :

χ = Arg minχ

‖ρm‖2 = W +mYm (2.18)

Estimer l’erreur d’identification

Dans les paragraphes précédents, nous avons introduit un vecteur ρ de résidusdus aux bruits de mesures et aux erreurs de modèle. Nous considérons que ρ est unbruit additif indépendant à moyenne nulle, de matrice de variance-covariance :

Cρρ = E(ρρT

)= σ2

ρIr (2.19)

où Ir est la matrice identité (r × r) et E désigne l’espérance mathématique.

La matrice de variance-covariance de l’erreur d’estimation est donnée par :

Cχχ = E[(χ− χ) (χ− χ)T

]= σ2

ρ

(W T W

)−1(2.20)

En utilisant la factorisation SVD de W :

Cχχ = σ2ρV Σ−2WV T (2.21)

où σ2χi

= Cχiiest le iieme coefficient de la diagonale de Cχχ.

L’écart-type relatif %σχiest défini par la relation :

%σχi= 100

σχi

χi

(2.22)

Identification par moindres carrés pondérés

Le système obtenu après filtrage des données acquises le long de mouvementsexcitants s’écrit :

Y = Wχ + ρ (2.23)

La matrice d’observation W et le vecteur de mesure Y sont obtenus par concaté-nation de sous-systèmes provenant de l’échantillonnage des n équations différentiellesde (2.8) :

Y =

Y1...

Yn

= Wχ + ρ =

W1...

Wn

χ +

ρ1...

ρn

(2.24)

Chaque sous-système linéaire j possède des écarts types σρjqui peuvent être

estimés en calculant la norme 2 de l’erreur de chacun d’entre eux :

σρj=‖Yj−W jχj‖√

nech−nbj

avec j = 1, . . . n (2.25)

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

31

Page 32: Génération de trajectoires pour la locomotion artificielle et ...

2.2. Méthodes d’identification

– χj est le (nbj × 1) vecteur des paramètres minimaux de chaque équation j,– nech est le nombre d’équations de chaque sous-système j,– nbj est le nombre de paramètres minimaux de chaque équation j.

Cependant, l’hypothèse que ρ est un bruit additif indépendant à moyenne nulle dematrice de variance-covariance donnée par (2.19), suppose que l’on accorde la mêmeconfiance à chaque ligne du régresseur D. Cette considération n’est pas judicieusedans la pratique, d’où l’introduction d’une résolution par moindres carrés pondérés.Cette méthode consiste à calculer un nouveau système global en attribuant à chaqueéquation j de (2.23) un facteur de confiance inversement proportionnel à la normemoyenne minimale de l’erreur calculée pour chaque sous-système σρj

(Gautier,1997; Lawson et Hanson, 1974). On définit pour cela la transformation linéaire :

S =

S1 0 · · · 0

0. . . . . .

......

. . . . . . 00 · · · 0 SNe

avec

Sj = 1

σρjInech

σρj =‖Yj−Wjχj‖√

nech−nbj

(2.26)

La nouvelle formulation de (2.23) débouche sur l’écriture du modèle équivalent(2.24) :

Yp = Wpχ + ρp avec

Yp = SY

Wp = SW

ρp = Sρ

(2.27)

La solution au sens des moindres carrés pondérés χ minimise la norme 2 duvecteur des erreurs ρp pondérées :

χ= Arg minχ

[ρT ST Sρ] (2.28)

On peut montrer que d’un point de vue statistique, l’estimateur des moindrescarrés pondérés (2.28) constitue un estimateur efficace (sans biais et à variance mi-nimale) lorsque le vecteur ρ est gaussien (Ljung, 1999).

De plus, la pondération permet de normaliser les équations des différents soussystèmes et ainsi de résoudre un système global sans dimension résultant de la conca-ténation de sous systèmes hétérogènes d’origines physiques différentes (équationsélectriques, hydrauliques, . . . ) ou mal équilibré en ordre de grandeur (les amplitudesdes variables élastiques sont plus petites que celles des variables rigides). (Gautier,1997) montre que la procédure d’identification par la méthode des moindres carréspondérés améliore l’estimation des paramètres et des écarts-types d’un robot mani-pulateur. Les travaux de (Guillo et al., 1997) sur l’identification dynamique d’unechaîne d’actionnement hydraulique confortent ces résultats.

Le paragraphe suivant illustre l’utilisation de la méthode des moindres carréspondérés pour l’identification du robot marcheur Rabbit. Pour plus d’informationssur la mise en œuvre de l’identification, on pourra consulter (Pham, 2002).

32 Fabien Lydoire

Page 33: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 2. Identification de paramètres dynamiques

2.3 Identification des paramètres dynamiques durobot Rabbit

Considérons le robot marcheur Rabbit (figure 2.3, § 1.3.1) à 7 degrés de liberté.Il est constitué de 5 segments (2 tibias, 2 cuisses, 1 tronc) et 4 actionneurs localiséssur les genoux et les hanches.

Fig. 2.3 – Le robot rabbit

Dans ce paragraphe, nous identifions les paramètres dynamiques des jambesdu robot (Lydoire et Poignet, 2003a). L’identification est réalisée suivant deuxétapes, augmentant successivement le nombre de segments à identifier. Pour chaquemodèle considéré, le modèle dynamique avec les paramètres inertiels de base ainsique la matrice d’observation ont été calculés automatiquement avec le logiciel SY-MORO (Khalil et Creusot, 1997).

Les paramètres dynamiques du tibia sont identifiés en premier, en actionnantchaque tibia seul et séparément. Le modèle utilisé ne comprend qu’un seul degré deliberté localisé sur le genoux du robot (articulation rotoïde, figure 2.5).

Ensuite, les paramètres dynamiques d’une jambe complète sont identifiés sansutiliser les connaissances acquises précédemment concernant le tibia. Les jambessont identifiées séparément suivant le modèle présenté figure 2.6, en actionnant si-multanément la cuisse et le tibia.

Les trajectoires excitantes utilisées pour solliciter les paramètres dynamiquessont des paliers de vitesses générés aléatoirement (figure 2.4) ou des sinus wobulésde façon à optimiser le conditionnement du régresseur.

Au cours de l’identification1, le robot est entièrement suspendu par la barreradiale et donc sans contacts avec le sol. La méthode utilisée est l’identification parminimisation aux moindres carrés pondérés d’erreur d’entrée avec modèle inverse(§ 2.2.2).

1Les expérimentations ont été réalisées au Laboratoire d’Automatique de Grenoble (LAG) encollaboration avec G. Buche, ingénieur au LAG.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

33

Page 34: Génération de trajectoires pour la locomotion artificielle et ...

2.3. Identification des paramètres dynamiques du robot Rabbit

temps (s)

pos

itio

nq

(rad

)

0 1 2 3 4 5 6 7-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

temps (s)

vite

sse

q(r

ad)

0 1 2 3 4 5 6 7-5

-4

-3

-2

-1

0

1

2

3

4

5

Fig. 2.4 – Exemples de positions et vitesses articulaires appliquées pour l’identifi-cation

2.3.1 Tibia

Les premiers résultats expérimentaux concernent l’estimation du corps associantle tibia et les actionneurs localisés sur le genou (figure 2.5). Son modèle dynamiquedépend de quatre paramètres dynamiques de base (§ 2.1.1) :

χ = [ZZR1 MX1 Fv1 Fs1] (2.29)

où le paramètre ZZR1 provient du regroupement du moment d’inertie ZZ1 et del’inertie de l’actionneur Ia1 dans la relation linéaire :

ZZR1 = ZZ1 + Ia1 (2.30)

Fig. 2.5 – Modèle de tibia du robot Rabbit

L’estimation des paramètres ainsi que l’estimation de leur erreur (§ 2.2.2) sontregroupés dans le tableau 2.1. Les paramètres χ, χ et %σχ sont respectivement lesvaleurs théoriques, les valeurs estimées et l’écart type relatif.

2.3.2 Tibia et cuisse

Le modèle dynamique d’une jambe (figure 2.6) dépend de huit paramètres dy-namiques de base, parmi lesquels quatre pour les frottements :

χ = [ZZR1 MXR1 Fv1 Fs1 ZZ2 MX2 Ia2 Fv2 Fs2] (2.31)

34 Fabien Lydoire

Page 35: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 2. Identification de paramètres dynamiques

tibia gauche tibia droitχ χ %σχ χ %σχ

ZZR1 (kg.m2) 0.93 1.05 0.52 1.06 0.54MX1 (kg.m) 0.41 0.42 7.70 0.38 9.09Fv1 (N.m.s) 7.34 1.11 6.69 1.16Fs1 (N.m) 11.40 1.02 10.92 1.39

Tab. 2.1 – Estimation des paramètres du tibia

où les paramètres ZZR1 et MXR1 sont issus des regroupements suivants :

ZZR1 = Ia1 + D22 ×M2 + ZZ1 (2.32)

MXR1 = D2 ×M2 + MX1 (2.33)

Les indices 1 et 2 désignent respectivement les paramètres de la cuisse et dutibia.

Fig. 2.6 – Modèle de jambe du robot Rabbit

L’estimation est réalisée avec des trajectoires excitant simultanément le tibia etla cuisse des deux jambes, le tronc étant laissé libre. L’estimation des paramètresainsi que l’estimation d’erreur sont regroupés dans le tableau 2.2.

2.3.3 Discussion

Si l’on considère les paramètres identifiés des tibias, la comparaison entre lesvaleurs théoriques et les valeurs estimées ainsi que l’écart type relatif faible montrela qualité des résultats d’identification.

Au regard des écarts types relatifs %σχ, l’identification simultanée des tibias etdes cuisses donne des résultats avec une incertitude très élevé pour les paramètresZZ2 et MX2. Malgré cette incertitude élevée, la reconstruction des couples réelsappliqué lors d’une validation croisée sur une trajectoire non utilisée pour la procé-dure d’identification est satisfaisante (figures 2.7 et 2.8).

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

35

Page 36: Génération de trajectoires pour la locomotion artificielle et ...

2.4. Conclusion

jambe gauche jambe droiteχ χ %σχ χ %σχ

ZZR1 (kg.m2) 1.592 2.06 0.81 1.97 0.78MXR1 (kg.m) 2.39 2.67 1.84 2.48 1.44Fv1 (N.m.s) 12.44 0.58 10.55 0.64Fs1 (N.m) 10.78 0.74 8.81 0.77

ZZ2 (kg.m2) 0.1 0.005 202.72 0.06 13.50MX2 (kg.m) 0.41 0.083 21.52 0.009 150.98Ia2 (kg.m2) 0.83 0.73 2.47 0.65 2.51Fv2 (N.m.s) 11.40 0.69 11.16 0.65Fs2 (N.m) 9.42 0.86 9.12 0.74

Tab. 2.2 – Estimation des paramètres pour le tibia et la cuisse

temps (s)

coup

les

(N.m

)

couples estiméscouples réels

0 0.5 1 1.5 2 2.5 3-150

-100

-50

0

50

100

150

temps (s)

coup

les

(N.m

)

couples estiméscouples réels

0 0.5 1 1.5 2 2.5 3-80

-60

-40

-20

0

20

40

60

Fig. 2.7 – Estimation et couples réels pour le tibia (droite) et la cuisse (gauche)issus de l’excitation de la jambe gauche

Concernant l’identification des paramètres du tronc, les trajectoires appliquéessur le robot ont conduit pour l’instant à une stabilisation du tronc, ne permettantpas d’obtenir des mouvements suffisamment excitants pour identifier ses paramètresdynamiques.

2.4 Conclusion

Ce chapitre a présenté une méthode d’identification des paramètres dynamiquesd’un système rigide par moindres carrées d’erreur d’entrée avec modèle inverse.

Cette méthode a été appliquée dans le cadre particulier de la robotique bipède, eta permis l’identification des paramètres dynamiques d’un robot marcheur à 7 degrésde liberté.

Les résultats expérimentaux montrent les possibilités de la méthode d’identifi-

36 Fabien Lydoire

Page 37: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 2. Identification de paramètres dynamiques

temps (s)

coup

les

(N.m

)

couples estiméscouples réels

0 0.5 1 1.5 2 2.5 3-150

-100

-50

0

50

100

150

temps (s)

coup

les

(N.m

)

couples estiméscouples réels

0 0.5 1 1.5 2 2.5 3-80

-60

-40

-20

0

20

40

60

Fig. 2.8 – Estimation et couples réels pour le tibia (droite) et la cuisse (gauche)issus de l’excitation de la jambe droite

cation. Le modèle physique des jambes du robot a été identifié et validé par unevalidation croisée. Certains paramètres dynamiques des jambes n’ont pu être identi-fiés individuellement. Cependant, leur influence étant mineure dans les mouvementsproposés, leur valeur approximative n’influence que peu la modélisation dynamique.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

37

Page 38: Génération de trajectoires pour la locomotion artificielle et ...

2.4. Conclusion

38 Fabien Lydoire

Page 39: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 3. Génération de démarches 3D

Chapitre 3

Génération de démarches 3D

Ce chapitre présente une nouvelle approche pour la généra-tion de démarches statiques pour les robots bipèdes. Les

démarches, construites dans un espace à trois dimensions (3D),sont paramétrées par les éléments caractéristiques de la marche.Le problème est posé comme la minimisation des entrées desactionneurs soumises à un ensemble de contraintes physiques.Ces contraintes sont liées aux paramètres de marche telles quela longueur du pas, la hauteur du pas ou la progression enavant. Nous présentons tout d’abord le robot Bip ainsi que samodélisation 3D. Ensuite, afin d’illustrer l’efficacité de notreméthode, nous présentons des simulations de marche statiquedans différentes situations (pas de transition, évitement d’obs-tacle, escaliers).

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.2 Génération de démarches 3D paramétrées . . . . . . . . 42

3.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

39

Page 40: Génération de trajectoires pour la locomotion artificielle et ...

3.1. Introduction

3.1 Introduction

Comme nous l’avons vu dans le § 1.1, la locomotion bipède s’avère être adaptéeaux déplacements dans un environnement encombré d’obstacles. L’utilisation depattes permet de changer de configuration pour passer au-dessus des obstacles, cequi n’est pas possible avec d’autres véhicules, à roues par exemple. Les robots bipèdessont donc particulièrement adaptés aux environnements structurés pour des humainscomme les couloirs étroits ou les escaliers. Cependant, l’évolution du robot nécessitela définition de trajectoires à suivre pour se déplacer d’un point à un autre.

3.1.1 Générer des trajectoires

S’inspirer du vivant

La marche humaine constitue une source d’inspiration importante pour la gé-nération de la marche bipède robotisée. Les trajectoires peuvent, par exemple, êtreobtenues à partir des relevés biomécaniques et être adaptés sur le robot par un en-semble de transformations (rotations, translations, homothéties) (Bruneau et al.,1998). Cependant, même si l’on peut penser que l’application sur un robot de trajec-toires mesurées sur l’être humain conduit à une démarche élégante, cette stratégiene permet en aucun cas de garantir l’efficacité de la démarche en terme énergétiquedu fait des différences entre les muscles et les actionneurs du robot.

Remarque 3.1.1. Les trajectoires issues de la biomécanique peuvent cependant êtreutilisées sur une structure mécanique dans le cadre de la validation de théories bio-mécaniques ou encore pour la validation de stratégies de commande de muscles dansle cadre de la réhabilitation électrique fonctionnelle (FES). Les actionneurs pour-raient alors être modélisés de façon à simuler l’action des muscles (El Makssoudet al., 2004).

De la marche passive à la marche active

Des études motivées par le fait qu’une grande part du mouvement de balancierde la jambe dans la locomotion humaine est passive, se sont intéressées à la marchepassive sur le modèle du compas (McGeer, 1990). Dans la marche passive, le sys-tème n’est pas actionné et les oscillations de son mécanisme sous la seule action dela gravité et de conditions initiales particulières permettent de reproduire la marchesur un plan incliné. Cette marche est périodique, stable et minimale en consomma-tion énergétique (pas d’actionnement). Ainsi est venue l’idée de reproduire la marchepassive avec des robots actionnés en conservant les propriétés de périodicité et destabilité mais en permettant la locomotion sur un sol non incliné (Thuilot et al.,1998).

Minimiser un critère énergétique

Partant du constat que la marche naturelle est issue de la minimisation de l’éner-gie consommée lors du déplacement (Nubar et Contini, 1961; Donelan et al.,

40 Fabien Lydoire

Page 41: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 3. Génération de démarches 3D

2001), et afin d’assurer la plus grande autonomie possible pour les systèmes bipèdesrobotisés, l’inspiration du vivant doit se placer au niveau de la consommation éner-gétique. La génération de trajectoires passe donc par une phase d’optimisation.

Les méthodes d’optimisation indirecte, issues de la théorie de la commande opti-male, fournissent des trajectoires optimales par la résolution de conditions d’optima-lité. Cette technique est utilisée dans (Rostami et Bessonet, 1998) pour générerdes trajectoires minimisant l’énergie dépensée grâce au principe du minimum dePontriaguine. On peut noter cependant que la mise en œuvre numérique de cetteméthode reste délicate dès lors que la connaissance a priori de la solution du pro-blème n’est pas bonne.

Les méthodes d’optimisation directe permettent d’obtenir les trajectoires et lacommande en boucle ouverte directement par la minimisation d’un critère lié à laconsommation d’énergie. Dans (Cabodevilla et al., 1995) les auteurs proposentd’utiliser un algorithme génétique. Cependant cette approche ne permet pas de ga-rantir l’optimalité. Une démarche classique pour la génération de trajectoire est degénérer des polynômes d’interpolation, fonction du temps, entre des configurationsdéfinies (postures clés de la marche : posture initiale, milieu du pas, fin du pas)(Azevedo, 2002; Channon et al., 1992). Les coefficients du polynôme sont alorsdéfinis de façon à assurer des continuités de vitesse et d’accélération entre les pas, etassurer des contacts avec le sol à vitesse nulle. Dans (Roussel et al., 1998), l’auteurpropose une paramétrisation temporelle ou fréquencielle de la marche afin d’obtenirdes trajectoires optimales. Dans (Chevallereau et al., 1997), les démarches pé-riodiques sont générées en considérant que les couples ne sont activés qu’autour desimpacts dans le but de garantir la stabilité et la périodicité, le reste du mouvementétant balistique. Ce type de stratégie est difficile à appliquer sur un robot tel queBip du fait des forts rapports de réduction des actionneurs et par conséquent del’impossibilité de tout mouvement articulaire balistique.

Multiplier les trajectoires

Afin de fournir une grande adaptabilité dans la locomotion, il est en général né-cessaire de stocker un grand nombre de trajectoires qui prennent en compte toutes lessituations et évènements possibles que le système peut rencontrer. Par conséquent, ilfaut être capable de générer un grand nombre de trajectoires diverses correspondantaux différents comportements du robot lors de ses déplacements dans un environne-ment structuré.

Dans (Wieber, 2002), l’auteur propose de définir un ensemble de viabilité. Cetensemble contient les trajectoires stables. À partir de cet ensemble, l’auteur est ca-pable de spécifier un critère de marge de stabilité pour des démarches statiques etdynamiques.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

41

Page 42: Génération de trajectoires pour la locomotion artificielle et ...

3.2. Génération de démarches 3D paramétrées

Méthode proposée

Nous présentons ici une nouvelle approche pour la génération de démarches.Cette méthode :

– s’inspire du vivant en se basant sur la minimisation d’un critère lié à la consom-mation énergétique du robot,

– permet de générer relativement facilement des trajectoires variées du fait dela définition intuitive de la démarche à travers des contraintes regroupant lescaractéristiques de la démarche (longueur, largeur, hauteur ou vitesse du pas),

La méthode de génération de trajectoire proposée est validée sur le modèle 3Dcomplet du robot Bip muni de 15 actionneurs (§ 1.3.2) auxquels sont ajoutés laposition et l’orientation du robot dans un repère de base pour obtenir 21 degrés delibertés. Avant d’exposer la méthode de génération de trajectoires, nous présentonsun espace de sortie dans lequel les degrés de liberté du robot Bip sont représentésde façon plus aisée que dans l’espace des configurations.

3.1.2 Espace de sortie

Considérant un robot marcheur muni de nombreux degrés de liberté, la définitiond’une posture dans l’espace des configurations (qi) est difficile pour un être humain.Un espace de sortie est défini (Azevedo, 2002) afin de décrire les mouvements durobot de façon plus aisée que dans l’espace des configurations (figure 3.1). Dans cetespace, les degrés de liberté (ddl) du robot (Ci) ont été choisis selon les positions(dans un repère de base fixe) et orientations clés dans la marche bipède (centre demasse, chevilles, tronc) :

– position du centre de masse : 3 ddl (C1, C2, C3),– position des chevilles droites et gauches : 6 ddl (C4, C5, C6) et (C7, C8, C9),– mouvements lombaires abduction/adduction et rotation du tronc représentés

par des distances selon les axes du repère de base entre les coins du tronc(figure 3.1, le tronc est représenté par une boîte) : 3 ddl (C10, C11, C12),

– orientation des pieds représentées par des distances selon les axes du repère debase entre les extrémités des pieds : 6 ddl (C13, C14, C15) et (C16, C17, C18),

– orientation du tronc par rapport au système de locomotion : 3 ddl (C19, C20,C21).

3.2 Génération de démarches 3D paramétrées

3.2.1 Introduction

La définition de marches dans l’espace 3D pose de nombreux problèmes liés enparticulier à la complexité du modèle cinématique. Nous proposons dans ce para-graphe une méthode pour la génération d’allures paramétrées de manière intuitiveet simple à partir de l’optimisation sous contraintes d’une fonction quadratique descouples. Les contraintes intervenant dans l’optimisation représentent les mouvementsimposés par la locomotion.

42 Fabien Lydoire

Page 43: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 3. Génération de démarches 3D

Position dans l’espaceq16 = x0q17 = y0

q18 = z0

q19 = θx0

q20 = θy0

q21 = θz0

Orientation dans l’espace

(C4, C5, C6)

(C1, C2, C3)

(C7, C8, C9)

inclinaison du tronc/système locomotion (q13, q14, q15)(C19, C20, C21)

C11

y

C10

z

C15

x

cheville droite (x,y,z)

cheville gauche (x,y,z)

C16

C17

C18

C13

centre de masse (x,y,z)

C12

C14

Fig. 3.1 – Espace des configurations (gauche) et espace de sortie (droite)

Deux conditions doivent être remplies afin d’assurer la locomotion (Azevedoet al., 2002b) :

1. maintenir l’équilibre du robot,

2. avancer sans chute.

Dans notre étude, nous nous plaçons dans le cas de la marche statique. L’équilibreest donc garanti en conservant la projection du centre de masse dans le polygone desustentation.

La progression vers l’avant est réalisée par le mouvement vers l’avant du centrede masse. Nous considérons par conséquent que ces deux conditions définissent unpremier ensemble de contraintes garantissant le bon déroulement de la locomotion.

Un second ensemble de contraintes donne la possibilité de gérer différentes dé-marches comme l’évitement d’obstacles en modifiant par exemple la longueur ou lahauteur du pas.

3.2.2 Optimisation sous contraintes

L’algorithme proposé pour la génération de démarches consiste en la minimisa-tion d’un critère quadratique des entrées soumis à des contraintes garantissant à lafois l’équilibre et la progression vers l’avant du robot. Une démarche est définie parune succession de postures qk où chaque posture est issue du problème d’optimisa-tion :

minqk

J(qk) =1

2U(qk)T U(qk) (3.1)

soumis à :

qimin≤ qk

i ≤ qimax1 ≤ i ≤ 21 (3.2)

gj(Cki ) ≤ 0 j = 1..ng, 1 ≤ i ≤ 21 (3.3)

hj(Cki ) = 0 j = 1..nh, 1 ≤ i ≤ 21 (3.4)

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

43

Page 44: Génération de trajectoires pour la locomotion artificielle et ...

3.2. Génération de démarches 3D paramétrées

– le critère J est une fonction quadratique des tensions appliquées aux moteurspour maintenir la posture, c’est-à-dire, pour compenser la gravité,

– U(qk) est le vecteur de dimension 15 des tensions nécessaires aux moteurs pourconserver la posture qk,

– qiminet qimax

sont les 21 composantes des vecteurs des butées mécaniques desarticulations.

La posture elle-même est donc définie à travers les contraintes inégalité gj etégalité hj (conservation des pieds au sol, trajectoire du CdM, paramètres du pas).Les trajectoires sont ensuite vérifiées afin de garantir la possibilité du mouvementen termes de saturations des actionneurs (Umin ≤ U ≤ Umax).

Exemple 3.2.1 (contraintes définissant une posture). Les contraintes égalitéhi peuvent définir la position et l’orientation des deux pieds au sol :

h1 = C4 − xdroit (3.5)

h2 = C5 − ydroit (3.6)

h3 = C6 − zdroit (3.7)

h4 = C7 − xgauche (3.8)

h5 = C8 − ygauche (3.9)

h6 = C9 − zgauche (3.10)

hk = Cp , k = 7 . . . 12 , p = 13 . . . 18 (3.11)

ainsi que la position du centre de masse afin d’assurer l’équilibre :

h14 = C1 − xG (3.12)

h15 = C2 − yG (3.13)

h16 = C3 − zG (3.14)

Les contraintes inégalités gi peuvent imposer des domaines pour l’orientation dutronc par rapport au reste du corps :

g1 = C19 − δxtronc (3.15)

g2 = C20 − δytronc (3.16)

g3 = C21 − δztronc (3.17)

Dans les paragraphes suivants, nous introduisons les contraintes requises afin degarantir la progression vers l’avant ainsi que l’équilibre à la fois durant les phases desimple et double support. Après avoir défini les contraintes, les postures optimalessont alors obtenues en résolvant le problème d’optimisation.

3.2.3 Posture initiale

La première étape de la conception d’une marche consiste à définir la posturede démarrage du pas. La marche étant symétrique, les configurations en début eten fin de pas sont symétriques. La posture initiale définit donc la longueur du pas(figure 3.2).

44 Fabien Lydoire

Page 45: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 3. Génération de démarches 3D

Cette posture est générée en fixant des degrés de liberté dans l’espace de sortie C,c’est-à-dire en définissant des contraintes égalités h pour le problème d’optimisation :

hj = Cj − Cdj j ∈ [1; 21] (3.18)

où : Cdj sont les valeurs désirées et Cj les valeurs effectives.

Les valeurs Cdj traduisent les contraintes suivantes :

– les deux pieds sont posés à plat sur le sol,– le pied libre est placé à une distance qui correspond à la demi-longueur de pas

souhaitée en arrière du pied de support,– la projection du CdM se trouve sur la semelle du pied de support, proche du

talon et sur la ligne de symétrie du pied (figure 3.3).

Les degrés de liberté restant peuvent être librement définis pour satisfaire à descritères esthétiques, par exemple.

l2

z

y

x

Fig. 3.2 – Posture initiale

xPied de vol

centre de masse

Pied de supportl2z

Fig. 3.3 – Au démarrage du pas, laprojection du CdM se trouve sur la se-melle du pied de support, sur la lignede symétrie du pied

3.2.4 Génération de mouvement

Phase de simple support

La phase de simple support est paramétrée par la longueur l et la hauteur h dupas, la progression vers l’avant du pied libre, la progression vers l’avant du CdM avecune attention particulière pour la projection du CdM qui doit rester dans le poly-gone de sustentation afin de garantir la stabilité statique, le nombre n de posturesintermédiaires durant la phase totale de simple support. Puisque les couples requispour maintenir la posture sont minimisés, commencer avec une posture en doublesupport et spécifier seulement le mouvement vers l’avant du pied de vol conduità une posture en double support sans décollage du pied (pas de frottement). Parconséquent, la trajectoire du pied de vol doit être contrainte afin de garantir uneprogression selon l’axe z. Nous choisissons de contraindre son déplacement dans leplan sagittal.

Les contraintes afin d’obtenir une phase de simple support sont résumées comme :

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

45

Page 46: Génération de trajectoires pour la locomotion artificielle et ...

3.2. Génération de démarches 3D paramétrées

– position de la cheville de support et orientation du pied de support afin d’éviterla translation et la rotation du pied (6 contraintes),

– orientation du pied de vol afin d’éviter la rotation du pied (3 contraintes),– trajectoire du pied de vol :

– position de la cheville de vol (cv) pour conserver les mouvements dans leplan sagittal (1 contrainte) :

∀k, cvzk = 0 (3.19)

– position de cv dans le plan sagittal pour obtenir un mouvement en avantselon les axes x et y (2 contraintes) :

cvxk = cvx

k−1 +l

n(3.20)

∀k, cvyk = f

(cvx

k

)(3.21)

où la fonction f est un polynôme de degré 4 (figure 3.8) fonction de lalongueur l et la hauteur h du pas.

– position de la projection du CdM pour obtenir un mouvement vers l’avantselon une ligne droite (2 contraintes) :

CdMxk = CdMx

k−1 +∆CdM

n(3.22)

CdMzk = CdMz

k−1 (3.23)

où ∆CdM représente la progression globale du CdM selon l’axe x durant toutela phase de simple support. ∆CdM doit être défini de façon à garantir que laprojection du CdM ne sort pas du polygone de sustentation et par conséquentque la stabilité statique est assurée (figure 3.4),

– enfin, afin d’empêcher des mouvements amples entre deux postures consécu-tives, nous ajoutons une contrainte sur le mouvement du tronc :

(Tk − Tk−1)T (Tk − Tk−1) ≤ δlibre (3.24)

où δlibre est le seuil à ajuster.

Pied de support

l2

Pied de vol

centre de masse

x

z

Fig. 3.4 – En fin de simple support, la projection du CdM se trouve sur la semelledu pied de support, proche des orteils et sur la ligne de symétrie du pied.

46 Fabien Lydoire

Page 47: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 3. Génération de démarches 3D

Phase de double support

Durant cette phase, la projection du CdM de déplace d’un pied à l’autre. Enconsidérant un schéma symétrique pour les pas, cela impose que la posture finale decette phase soit la symétrique de la posture initiale en simple support. Cette posturesymétrique est pratique mais non nécessaire. Afin de converger vers cette posture,nous définissons une trajectoire douce pour la projection du centre de masse quidoit être transférée sur le prochain pied de support. Le mouvement du CdM estalors défini comme une progression linéaire le long d’une trajectoire douce entreune posture initiale et une posture finale. Cette progression est échantillonnée en npostures intermédiaires. La phase de double support est par conséquent paramétréepar la trajectoire du centre de masse, le nombre d’échantillons et la posture finale.Elle est réalisée en définissant l’ensemble de contraintes égalités suivant :

– positions et orientations des pieds afin d’empêcher leurs translations et rota-tions (12 contraintes)

– position de la projection du CdM afin d’obtenir un transfert doux d’un pied àl’autre (2 équations) :

CdMxk = CdMx

k−1 +∆CdM

n(3.25)

où ∆CdM est la progression du CdM selon l’axe x entre la posture initiale et laposture finale de la phase de double support

CdMzk = f ′

(CdMx

k

)(3.26)

où f ′ est un polynôme de degré 3 permettant d’assurer une arrivée et undépart de la projection du centre de masse tangent à la direction de marche(figures 3.5 et 3.8).

– Comme durant la phase de simple support, nous introduisons une contraintesur la rotation du tronc afin d’empêcher les mouvements amples des degrés deliberté non contraints :

αtronck = αtronc

k−1 +∆αtronc

n(3.27)

où ∆αtronc représente la différence entre l’orientation dans la posture initiale etl’orientation dans la posture finale.

x

l2

Pied de vol

centre de masse

Pied de support

z

Fig. 3.5 – En double support, la projection du CdM se déplace selon une trajectoirepolynomiale des orteils du pied d’appui jusqu’au talon du pied libre.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

47

Page 48: Génération de trajectoires pour la locomotion artificielle et ...

3.2. Génération de démarches 3D paramétrées

Pas de transition

Il ne serait guère intéressant de disposer de différentes allures de marche sans pou-voir passer de l’une à l’autre. En effet, lorsque le robot se déplace et qu’il rencontreun obstacle, il doit être capable d’enchaîner la marche en cours avec une marchequi lui permettra, par exemple, de passer par dessus l’obstacle. Pour ce faire, nousavons prévu des pas de transition entre chacune de nos démarches.

Ce pas est généré sur le même principe qu’un pas «normal», à la différence qu’iln’est pas symétrique (figure 3.6). La posture initiale correspond à un simple supportde la marche précédente et la posture finale à atteindre correspond au simple supportdu pied opposé de la marche suivante.

Pied de support

Pied de vol Pied de vol

z 12 pas démarche 2

x

12 pas démarche 1

Fig. 3.6 – Pas de transition entre deux marches

3.2.5 Résultats de simulation

Le modèle du robot Bip incluant la gravité et les forces de réaction du sol est uti-lisé pour les simulations. Les paramètres détaillés ainsi que la modélisation peuventêtre trouvés dans (Espiau et Sardain, 2000).

Le problème d’optimisation est résolu avec les routines CFSQP (Site internetFSQP) développées à l’université du Maryland. Ces routines utilisent un algorithmed’optimisation basé sur les méthodes «Sequential Quadratic Programming» (SQP)avec un test de faisabilité. SQP est une technique itérative dans laquelle le critèreest remplacé par une approximation quadratique et les contraintes par des approxi-mations linéaires.

Pas de transition

La figure 3.7 montre les résultats de simulation pour un mouvement de marcheen avant dans le plan sagittal avec des pas de transition de différentes longueurset hauteurs. Les paramètres de la démarche, qui ont été choisi arbitrairement, sontregroupés dans le tableau 3.1. La figure 3.8 illustre les trajectoires de la cheville devol ainsi que la trajectoire du centre de masse.

Environnement encombré

La seconde simulation (figure 3.10) est un mouvement de marche dans un en-vironnement encombré qui illustre l’efficacité de notre méthode proposée ici. Deux

48 Fabien Lydoire

Page 49: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 3. Génération de démarches 3D

premier pas pas de transition pas finallongueur du pas l (m) 0.15 0.325 0.50hauteur du pas h (m) 0.05 0.06 0.10

nombre d’échantillons n 75 80 250∆CdM (m) 0.065 0.1 0.05

δlibre 1e− 5 1e− 5 1e− 5

Tab. 3.1 – Marche vers l’avant avec des pas de transition

Fig. 3.7 – Postures durant le pas de transition

situations sont considérées :

1. dans la première, le robot doit faire des pas de coté afin d’éviter une collision,

2. dans la seconde, le robot doit monter sur des marches d’escalier.

Les pas de coté sont générés en contraignant la trajectoire du pied de vol dans le planfrontal. Les pas sur les escaliers sont considérés comme des pas en avant avec uneattention spéciale concernant la trajectoire du pied de vol afin d’éviter les collisionsavec les obstacles (marches d’escalier). Les paramètres de chaque démarche sontregroupés dans les tableaux 3.2 et 3.3. La trajectoire de la projection du centre demasse est présentées figure 3.9.

premier pas en avant pas de côté second pas en avantlongueur du pas l (m) 0.07 0.15 0.20hauteur du pas h (m) 0.02 0.02 0.06

nombre d’échantillons n 35 30 50∆CdM (m) 0.025 0.06 0.05

δlibre 1e− 5 1e− 5 1e− 5

Tab. 3.2 – Pas de côté

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

49

Page 50: Génération de trajectoires pour la locomotion artificielle et ...

3.3. Conclusion

0.00 0.02 0.04 0.06 0.08 0.10 0.12 0.14 0.16

0.08

0.09

0.10

0.11

0.12

0.13

0.14

x (m)

y (m)

0.066 0.068 0.070 0.072 0.074 0.076 0.078

−0.20

−0.18

−0.16

−0.14

−0.12

−0.10

−0.08

−0.06

−0.04

−0.02

0.00

x (m)

z (m)

Fig. 3.8 – Trajectoire de la cheville de vol dans le plan sagittal (gauche) et trajectoirede la projection du centre de masse (droite) pendant la phase de simple support pieddroit d’un pas de 15 cm de long et 5 cm de haut.

3.3 Conclusion

Dans ce chapitre, nous avons présenté une méthode de génération de démarches3D paramétrées pour les robots bipèdes. Ces démarches sont définies par une en-semble de postures discrètes optimales statiquement stables. Les postures stablessont calculées comme la solution optimale d’un problème de minimisation sous unensemble de contraintes physiques. Cet ensemble définissant la longueur du pas oula hauteur du pas et la progression vers l’avant du centre de masse, paramétrise,d’une façon intuitive, la démarche dans l’espace de sortie, permettant ainsi la géné-ration rapide de types de trajectoires différents. Ces trajectoires pourront alors êtreutilisées dans le cadre d’une loi de commande basée sur un ensemble de trajectoiresdéfinissant les différentes conditions que le système peut rencontrer.

Les limitations de la méthode proposée portent sur le test a posteriori de lafaisabilité du mouvement par rapport aux couples admissibles. Une possibilité d’ex-tension de la méthode serait de minimiser les couples ne correspondant pas à chaqueposture prise individuellement mais à l’enchaînement des postures en prenant encompte le modèle dynamique inverse uk = g(qk, qk, qk).

min uk (3.28)

soumis aux contraintes définissant la posture. La suite des uk définit alors la com-mande. Pour se replacer dans le cadre de la génération de trajectoire, il faut extrairede cette minimisation la suite de postures qk issues de l’application de la suite descommandes uk sur le modèle dynamique direct du robot qi+1 = f(qi, ui).

L’efficacité de cette stratégie a été démontrée sur le modèle du robot Bip à 21degrés de liberté. Les travaux futurs concerneront l’extension de la stratégie à lagénération de démarches 3D dynamiques.

50 Fabien Lydoire

Page 51: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 3. Génération de démarches 3D

montée d’escalier / simple support droitélévation avance descente

longueur du pas l (m) 0 0.35 0hauteur du pas h (m) 0.11 0 −0.01

nombre d’échantillons n 50 50 2∆CdM (m) −0.05 0.15 0

δlibre 1e− 5 1e− 5 1e− 5

montée d’escalier / simple support gaucheélévation avance élévation avance descente

longueur du pas l (m) 0 0.35 0 0.30 0hauteur du pas h (m) 0.11 0 0.10 0 −0.01

nombre d’échantillons n 55 35 25 30 5∆CdM (m) −0.05 0.10 −0.05 0.08 0

δlibre 1e− 5 1e− 5 1e− 5 1e− 5 1e− 5

Tab. 3.3 – Montée d’escaliers

pas vers

de 7 cm

l’avant

pas de

côté

2 pas vers l’avant de 20 cm

montée d’escalier

−0.1 0.1 0.3 0.5 0.7 0.9 1.1 1.3

−0.6

−0.5

−0.4

−0.3

−0.2

−0.1

0

x (m)

z (m)

Fig. 3.9 – Trajectoire de la projection dans le plan (x,z) du centre de masse durantun déplacement 3D dans un environnement encombré

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

51

Page 52: Génération de trajectoires pour la locomotion artificielle et ...

3.3. Conclusion

Fig. 3.10 – Postures dans un environnement structuré

52 Fabien Lydoire

Page 53: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

Chapitre 4

Commande prédictive etarithmétique d’intervalles

Ce chapitre expose l’utilisation des techniques de l’arithmé-tique d’intervalle dans le cadre de la synthèse d’une loi de

commande prédictive référencée modèle et à horizon fuyant.Nous présentons tout d’abord les principes fondamentaux de lacommande prédictive non linéaire référencée modèle (NMPC)ainsi que l’adaptation de cette approche pour le contrôle dela locomotion d’un système marcheur bipède. Nous extrayonsensuite du problème d’optimisation NMPC un problème de sa-tisfaction de contraintes mettant en jeu des intervalles. Des ou-tils de l’arithmétique d’intervalles sont alors présentés, adaptéspuis utilisés pour la synthèse de la loi de commande.

4.1 La commande prédictive non linéraire référencée modèle 54

4.2 L’arithmétique d’intervalles . . . . . . . . . . . . . . . . . 68

4.3 Conjuguer l’arithmétique d’intervalles et la commande

de robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

53

Page 54: Génération de trajectoires pour la locomotion artificielle et ...

4.1. La commande prédictive non linéraire référencée modèle

4.1 La commande prédictive non linéraire réfé-rencée modèle

4.1.1 Introduction

La commande prédictive est une commande optimale référencée modèle (en an-glais Model Predictive Control ou MPC). Dans ce type de commande, il s’agit decalculer une séquence temporelle de variables de commande en résolvant un problèmed’optimisation qui répond à plusieurs objectifs :

– minimisation d’un critère,– respect de contraintes sur les variables de commande,– respect de contraintes sur les états futurs du système si la séquence de com-

mande est appliquée.

La commande prédictive a comme atout majeur, sa capacité à prendre en comptenaturellement les contraintes (contraintes fonctionnelles, contraintes d’exploitation)du système considéré. L’aspect prédictif permet d’évaluer par la connaissance d’unmodèle interne le comportement dynamique du système, d’anticiper ses réactionsfutures et donc de calculer une commande plus performante et plus robuste qu’enl’absence de prédiction.

La prédiction de l’état du système est réalisée sur un intervalle de temps fini :l’horizon de prédiction. Au cours de la commande du système, la longueur de l’ho-rizon de prédiction reste constant. Cet horizon est décalé en avant dans le temps ;par conséquent, on parle aussi de commande à horizon glissant ou receeding horizonen anglais.

La commande prédictive est généralement une commande coûteuse en tempsde calcul, d’autant plus que l’horizon de prédiction est grand et le modèle considérécomplexe. C’est pourquoi ce type de commande a été jusqu’à présent essentiellementutilisé dans l’industrie du génie des procédés, où la vitesse d’évolution des systèmesconsidérés est suffisamment lente pour permettre à un ordinateur de calculer laséquence de commande le long de l’horizon de prédiction pendant des intervallesd’échantillonnage suffisamment longs.

Les origines de la commande prédictive remontent aux années 1960 avec (Propoi,1963; Lee et Markus, 1967). Elle suscite un réel intérêt industriel depuis la fin desannées 70 (Richalet et al., 1978; Cutler et Ramaker, 1979).

Dans le cas linéaire, des expressions analytiques de la commande peuvent êtreétablies, ce qui évite de faire l’optimisation en ligne. On peut citer par exemplela commande prédictive généralisée (GPC) (Clarke et al., 1987) et la commandeprédictive fonctionnelle (PFC) (Richalet, 1993). Les résultats de stabilité et lesétudes de robustesse sont par ailleurs bien avancés (Garcia et al., 1989; Rawlingset Muske, 1993; Boucher et Dumur, 1996).

54 Fabien Lydoire

Page 55: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

Dans le cas des systèmes non linéaires (Nonlinear Model Predictive Controlou NMPC), les premiers résultats n’ont été publiés que dans la fin des années1980 (Keerthi et Gilbert, 1988). L’augmentation de la puissance de calcul etla possibilité de prendre en compte directement les contraintes dans la commandeont motivé le développement des commandes prédictives pour des systèmes décritspar des modèles non linéaires.

Dans le contexte de la locomotion, les capacités de la commande NMPC à trai-ter les contraintes (butées, contacts,. . . ), à anticiper et prédire le comportementdynamique en font donc une excellente candidate pour contrôler les mouvements demarche.

Dans les paragraphes suivants nous présentons les principes de la commandeprédictive puis détaillons les aspects théoriques de la commande prédictive non li-néaire. Nous illustrons ensuite son utilisation dans le cadre de la locomotion bipèdequi conduit à une formulation du NMPC faisant apparaître un problème de résolu-tion de contraintes sur des intervalles. Enfin, nous présentons naturellement le lienentre NMPC et arithmétique d’intervalles.

4.1.2 La commande prédictive

Le calcul d’une commande prédictive consiste à optimiser (minimiser en général)une fonctionnelle J appelée critère de performance ou fonction de coût. Ce critèredépend des variables de commande manipulables u, des grandeurs du système (vec-teurs d’état x et de sortie y) et du comportement désiré c. Ces grandeurs dépendentdu temps τ .

minu,x∈K

J(x, u) =

τ

F (u(τ), y(τ), x(τ), c(τ))dτ (4.1)

Pour un système continu, τ est un intervalle [t, t + Tp] de longueur Tp corres-pondant au temps de prédiction. L’ensemble K définit les contraintes sur l’état etla commande imposées le long de l’horizon. L’ensemble K regroupe généralementles contraintes correspondant au modèle dynamique x = f(x, u) et également lescontraintes fonctionnelles comme les butées mécaniques et les limites sur la com-mande.

L’objectif est de résoudre ce problème continu d’optimisation à l’aide d’un or-dinateur qui est une machine discrète. Par conséquent, la résolution numérique duproblème d’optimisation nécessite une discrétisation.

Le problème d’optimisation est ainsi ramené à un problème d’optimisation clas-sique en dimension finie : ∫

τ

(.)dτ →∑

τi

(.)∆τ (4.2)

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

55

Page 56: Génération de trajectoires pour la locomotion artificielle et ...

4.1. La commande prédictive non linéraire référencée modèle

où :– u(τ) est échantillonnée par une suite d’arguments (tk) pris à des instants tk

connus : k = 1, 2, ... <∞,– l’intervalle τ est ramené à une succession d’éléments τi.

La discrétisation précédente conduit à distinguer deux types d’horizon (figure 4.1) :– l’horizon de commande Nc qui correspond à la longueur de la séquence de

commande,– l’horizon de prédiction Np qui correspond à la longueur sur laquelle le critère

de performance est évalué.

Le problème de la commande revient à déterminer la séquence temporelle desNc commandes permettant de minimiser le critère de performance choisi tout enassurant la satisfaction des contraintes (l’ensemble K dans (4.1)).

k + Nc − 1

horizon de prédiction

temps

présent futurpassé

commande

k k + Np

horizon de commande

Fig. 4.1 – Horizons de commande et de prédiction

De la séquence de variables de commande calculées le long de l’horizon, seule lapremière sera effectivement appliquée. En effet, l’application de la commande mènele système dans un état qui peut être différent de l’état prédit précédemment du faitdes approximations dans la modélisation ou d’éventuelles perturbations agissant surlui. La prise en compte de cette mise à jour de l’état est réalisée en calculant chaquenouvelle séquence de commande basée sur l’état corrigé (l’état courant) du système(figure 4.2). Le calcul de la commande optimale nécessite donc, à chaque périoded’échantillonnage et le long de l’horizon de prédiction :

– l’estimation de l’état du système suite à l’application d’une séquence de com-mande, par une résolution (intégration) du modèle du système,

– l’optimisation du critère de performance.

Dans le cadre standard de la commande prédictive, le critère se présente géné-ralement sous la forme d’une mesure quadratique d’erreur entre sortie de référence

56 Fabien Lydoire

Page 57: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

xk

système

sous contraintesoptimisation

état initial àl’instant k + 1

état initial àl’instant k

capteursxk+1

mise à jour de l’état

uNp

k =

u0|k

u1|k...

uNp−1|k

solution à l’instant k

xk ← xk+1

Fig. 4.2 – Principe de la commande prédictive

yr et sortie du système y avec un terme limitant la variation de la commande afind’assurer une continuité dans la commande (Courtial, 1996) :

J =

Np−1∑

i=0

(yri − yi)

2 + β(ui − ui−1)2 (4.3)

Cette formulation correspond à la poursuite d’une trajectoire de référence (fi-gure 4.3). Le critère permet ainsi d’apprécier la qualité de la poursuite.

y

k k + Np

t

u

yr

u

kt

yr

y

k + 1 k + Np + 1

Fig. 4.3 – Principe de la commande prédictive : poursuite de trajectoire de référence

4.1.3 Le problème NMPC

Rappels préliminaires sur les systèmes non linéaires

Considérons la classe des systèmes non linéaires discrets, invariants par rapportau temps, décrits par l’ensemble d’équations de récurrence :

xk+1 = f (xk, uk) (4.4)

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

57

Page 58: Génération de trajectoires pour la locomotion artificielle et ...

4.1. La commande prédictive non linéraire référencée modèle

où xk ∈ Rn est l’état, uk ∈ Rm est l’entrée (commande), avec les deux hypo-thèses :

(H1) l’origine de f est un point d’équilibre → f (0, 0) = 0,

(H2) à chaque instant k, l’état xk est connu.

Contraintes Le système (4.4) est soumis à des contraintes sur l’état et sur lacommande :

xk ∈ X, uk ∈ U (4.5)

où X et U sont des ensembles de Rn et Rm respectivement, contenant chacun l’ori-gine :

X = (x1, . . . , xn) ∈ Rn|x1min ≤ x1 ≤ x1

max, . . . , xnmin ≤ xn ≤ xn

maxU = (u1, . . . , um) ∈ Rn|u1

min ≤ u1 ≤ u1max, . . . , u

mmin ≤ um ≤ um

max(4.6)

Hypothèses :

(H3) f : Rn ×Rm → Rm est deux fois différentiable dans X× U,

(H4) le système ne subit aucune perturbation,

(H5) le modèle utilisé représente parfaitement le système.

Stabilité Soit la loi de commande u = K(x) avec K(0) = 0. Le système en bouclefermée associé s’écrit :

xk+1 = F (xk) avec F (x) = f (x,K(x)) (4.7)

K(.) est dite stabilisante si l’origine de (4.7) est un point d’équilibre asymptotique-ment stable.

L’origine de (4.7) est un point d’équilibre asymptotiquement stable si pour toutε > 0 il existe δε > 0 tel que si ||xt|| < δε alors limk→∞ ||xk|| = 0, ∀k ≥ t avec xk

solution de (4.7).

L’ensemble des points à partir desquels la convergence est satisfaite est appelérégion d’attraction (ou domaine d’attraction ou bassin d’attraction). Ceci permetde caractériser la distance maximale du point d’équilibre à laquelle peut se trouverla trajectoire, tout en conservant la convergence vers l’origine lorsque t tend versl’infini.

Commande quadratique linéaire (linear quadratic ou LQ) Une façon clas-sique de stabiliser (4.4) est d’utiliser une commande linéaire quadratique (qui dansson concept se rapproche d’une commande prédictive) basée sur la linéarisation de(4.4) autour du point d’équilibre.

58 Fabien Lydoire

Page 59: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

Hypothèses :

(H6) la fonction de coût F est une fonction quadratique en x et u :F (x, u) = xT Qx + uTRu où Q, R sont des matrices définies positives

(H7) le modèle linéarisé de (4.4) autour du point d’équilibre (x = 0, u = 0) :xk+1 = Axk + Buk est stabilisable (avec A = ∂f

∂x|x=0,u=0 et B = ∂f

∂u|x=0,u=0)

Le but est de déterminer K tel que A + BK soit asymptotiquement stable etd’appliquer alors la loi de commande u = Kx au système non linéaire (4.4). K peutêtre déterminé en résolvant le problème de minimisation sur un horizon infini :

minu(.)

∞∑

k=t

xTk Qxk + uT

k Ruk (4.8)

soumis à la contrainte issue de la dynamique linéarisée.

La solution du problème LQ précédent est donnée par le retour d’état linéaire :

uk = KLQxk (4.9)

KLQ = −(R + BT P∞B)−1BT P∞A (4.10)

où P∞ est la solution définie non négative de l’équation de Riccati algébrique :

P = AT PA + Q−ATPB(R + BT PB)−1BT PA (4.11)

Lorsque (4.9) est appliquée à (4.4) on obtient le système en boucle fermée :

x(k + 1) = f (xk, KLQxk) (4.12)

La stabilité asymptotique de l’origine est démontrée à partir de la fonction deLyapunov V (x) = xTP∞x (Vidyasagar, 1993).

Cette stratégie de commande optimise la performance uniquement lorsque l’onse trouve proche du point d’équilibre. Ainsi, sa validité dépend de la manière dontle système peut être approximé par sa linéarisation sur la région considérée. Ce-pendant, sa mise en œuvre est aisée, car les calculs sont effectués hors ligne. Leslimitations liées à l’approximation linéaire ont conduit à proposer des stratégies detype commande prédictive non linéaire (NMPC).

Formulation du problème NMPC

Nous nous plaçons dans le cadre de la commande prédictive non linéaire (NMPC)telle qu’elle est présentée dans (Allgöwer et al., 1999).

Le problème du NMPC se pose sous la forme d’un problème d’optimisation souscontraintes :

Résoudre :minu

Np

k

J(xk, uNp

k ) (4.13)

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

59

Page 60: Génération de trajectoires pour la locomotion artificielle et ...

4.1. La commande prédictive non linéraire référencée modèle

soumis à :

xl+1|k = f (xl|k, ul|k) x0|k = xk (4.14)

ul|k ∈ U, l ∈ [0, Np − 1] (4.15)

xl|k ∈ X, l ∈ [0, Np] (4.16)

où :U := uk ∈ Rm|umin ≤ uk ≤ umaxX := xk ∈ Rn|xmin ≤ xk ≤ xmax (4.17)

et :

J(xk, uNp

k ) =

Np−1∑

i=0

F (xi|k, ui|k) (4.18)

Les variables internes du contrôleur prédites à partir de l’instant k sont repré-sentées avec un double indice séparé par une ligne verticale où le second argumentreprésente l’instant à partir duquel la prédiction est calculée. xk = x0|k est l’étatinitial du système à contrôler à partir de l’instant k et u

Np

k = [u0|k, u1|k, . . . , uNp−1|k]le vecteur des entrées futures.

La commande prédictive consiste à calculer le vecteur uNp

k des entrées consé-cutives sur l’horizon de prédiction Np et à appliquer uniquement l’entrée u0|k. Cecalcul est effectué à nouveau à l’instant suivant k + 1.

Le calcul de la solution uNp

k est soumis à la contrainte égalité représentant l’équa-tion de la dynamique du système (4.14) ainsi qu’à des inégalités portant sur les va-riables d’entrée ui|k et les variables d’état xi|k (4.17).

Remarque 4.1.1. si les longueurs des horizons de prédiction Np et de commandeNc sont distincts, on a : u

Np

k = u0|k, u1|k, ..., uNc−1|k, uNc−1|k, ...uNc−1|k

Rappelons les hypothèses auxquelles nous ferons référence par la suite.

(H1) l’origine de f est un point d’équilibre → f (0, 0) = 0,

(H2) à chaque instant k l’état xk est connu,

(H3) f : Rn ×Rm → Rm est deux fois différentiable dans X× U,

(H4) le système ne subit aucune perturbation,

(H5) le modèle utilisé représente parfaitement le système,

(H6) le coût F est une fonction quadratique en x et u : F (x, u) = xT Qx+uT Ru

avec Q, R définies positives,

(H7) (A, B) est stabilisable (avec A = ∂f

∂x|x=0,u=0 et B = ∂f

∂u|x=0,u=0).

Horizon infini La technique du NMPC à horizon infini consiste à prendre unevaleur de Np = ∞. Si les hypothèses (H1) à (H5) sont vérifiées et si le problèmed’optimisation en boucle ouverte est faisable à k = 0 i.e. s’il existe une solution res-pectant les contraintes à k = 0, alors l’origine du système en boucle fermée sous la

60 Fabien Lydoire

Page 61: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

commande NMPC est asymptotiquement stable (Allgöwer et al., 1999; Mayneet Michalska, 1990; Meadows et Rawlings, 1993). La solution d’un tel pro-blème avec Np =∞ est extrêmement difficile, voire impossible à obtenir en pratique(contrairement au cas des systèmes linéaires), d’où la nécessité de développer destechniques basées sur des horizons finis.

Différentes approches NMPC à horizon fini

Le problème standard de commande prédictive non linéaire avec un horizon finiarbitraire et une fonction de coût également arbitraire ne conduit en général pas àun système asymptotiquement stable en boucle fermée (Bitmead et al., 1990). Ilexiste alors différentes approches garantissant la stabilité sous certaines conditions.

Contrainte égalité terminale Une première formulation du problème de com-mande prédictive à horizon fini consiste à introduire dans le problème une contrainted’état terminale (commandabilité en Np itérations) :

xNp|k = 0 (4.19)

La contrainte égalité force l’état à se trouver sur le point d’équilibre à la fin del’horizon fini Np. Si les hypothèses (H1) à (H5) sont vérifiées et si le problème d’opti-misation en boucle ouverte est faisable à k = 0, alors l’origine du système en bouclefermée sous la commande NMPC est asymptotiquement stable (Allgöwer et al.,1999). Cette stratégie existe en version temps continu (Chen et Shaw, 1982; Mayneet Michalska, 1990) et en version temps discret (Alamir et Bornard, 1994). Ce-pendant, d’un point de vue numérique la satisfaction exacte d’une contrainte égali-taire terminale est impossible à mettre en œuvre (Keerthi et Gilbert, 1988). D’oùl’idée de converger non plus vers un point d’équilibre mais vers une région centréeautour de ce point d’équilibre.

Mode dual Une façon de contourner le problème de la contrainte terminale estd’utiliser une stratégie de mode dual qui propose d’utiliser deux modes de commandeappliqués dans différentes régions de l’espace d’état en fonction de la position del’état par rapport à une région terminale pré-définie Ωf qui contient l’origine. Endehors de Ωf , la stratégie de commande prédictive est utilisée. À l’intérieur de Ωf ,un retour d’état linéaire pré-défini est appliqué :

uk =

u∗

0|k si xk /∈ Ωf

Kxk si xk ∈ Ωf

(4.20)

K est défini de manière à garantir que Ωf soit une région d’attraction positiveinvariante du système linéaire contrôlé par le retour d’état et que les contraintes surl’état et la commande demeurent satisfaites par le contrôleur linéaire dans Ωf . Ilexiste des procédures de calcul de K et Ωf sous l’hypothèse que (H7) soit vérifiée(Findeisen et Allgöwer, 2000). Dans le problème dual NMPC, lorsque l’état esten dehors de Ωf , Np est pris comme variable de minimisation du critère :

minu

Nkk

,Nk

J(xk, uNk

k , Nk) (4.21)

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

61

Page 62: Génération de trajectoires pour la locomotion artificielle et ...

4.1. La commande prédictive non linéraire référencée modèle

ΩB désigne la frontière de la région Ωf . La contrainte terminale inégalité suivanteest également ajoutée :

xNp|k ∈ ΩB (4.22)

Sous les hypothèses (H1) à (H7) et si le problème en boucle ouverte est faisableà k = 0, alors l’origine du système en boucle fermée est asymptotiquement stable.

L’intérêt de cette méthode est de remplacer la contrainte égalité à la fin del’horizon par une région. La stabilité dépend essentiellement de la faisabilité de lasolution du problème d’optimisation sous contraintes alors que l’optimalité globale decette solution n’est pas strictement nécessaire (Scokaert et al., 1999). Le mode dualexiste en version temps continu (Michalska et Mayne, 1993) et en version tempsdiscret (Chisci et al., 1996). Les inconvénients de cette solution sont la nécessitéde commuter d’une commande à l’autre et la taille de la région à atteindre qui peutêtre petite, donc nécessiter un temps de calcul long pour être atteinte.

Horizon quasi-infini La stratégie horizon quasi-infini est basée sur la même idéeque celle du mode dual selon laquelle l’état doit se trouver au bout d’un temps fini,dans un domaine Ωf . Cependant, au lieu de commuter sur une commande linéaire,une contrainte de pénalité de type inégalité portant sur l’état et représentant uneborne supérieure pour le coût à horizon infini, est posée :

xNp|k ∈ Ωf (4.23)

Un terme de pénalité quadratique, défini par la matrice P , portant sur la normefuture de l’état, est ajouté dans le critère pour la troncature de ce dernier :

Φ(xNp|k) = xTNp|kPxNp|k (4.24)

On a donc :

J(u∞k , xk) =

∞∑

i=0

F (xi|k, ui|k) =

Np−1∑

i=0

F (xi|k, ui|k) +∞∑

i=Np

F (xi|k, ui|k) (4.25)

L’objectif est d’approximer le second terme par le terme de pénalité Φ. Cela estpossible si l’on s’assure que les trajectoires du système en boucle fermée demeurentdans un voisinage de l’origine (région terminale) sur l’intervalle de temps [k+N,∞[.

La région Ωf est construite telle qu’un retour d’état : ui|k = Kxi|k stabiliseraitasymptotiquement le système dans Ωf (avec Ωf invariant positif pour la boucle fer-mée). Cependant, dans le cas de l’horizon quasi-infini, cette commande linéaire n’estjamais appliquée.

On a :

minu∞

k

J(u∞k , xk) ≤ min

uNp

k

Np−1∑

i=0

F (xi|k, ui|k) +

∞∑

i=Np

F (xi|k, Kxi|k) (4.26)

62 Fabien Lydoire

Page 63: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

Ainsi, une construction judicieuse de P et Ωf permet de majorer le coût lorsquel’on se trouve dans Ωf (Allgöwer et al., 1999) :

∞∑

i=Np

F (xi|k, Kxi|k) ≤ xTNp|kPxNp|k (4.27)

D’où :minu∞

k

J(u∞k , xk) ≤ min

uNp

k

J(uNp

k , xk) (4.28)

Cette dernière équation permet de démontrer la stabilité asymptotique du sys-tème en boucle fermée sous les hypothèses (H1) à (H7). Cette stratégie existe enversion temps continu (Garcia et al., 1989) et discret (DeNicolao et al., 1997).

Mise en œuvre de la commande prédictive

Faisabilité Lors de la mise en œuvre de la commande prédictive se posent lesproblèmes structurels liés à ce que l’on a défini auparavant comme la faisabilité(Scokaert et al., 1999; Kouvaritakis et al., 2000). La faisabilité a priori concernel’existence ou non de solutions respectant les contraintes associées au problème d’op-timisation traduisant le problème de commande. La stabilité correspond quant àelle à la faisabilité a posteriori ; elle dépend des comportements futurs du système,c’est-à-dire du critère de performance et des contraintes. Il s’agit de vérifier quela commande, solution de l’algorithme, permet d’assurer la stabilité du procédé enboucle fermée (Dufour, 2000).

Cette notion de faisabilité se révèle fondamentale dans le cadre d’une utilisa-tion en temps réel, dans la mesure où il est possible de se contenter d’une solutionsous-optimale, à partir du moment où la solution obtenue en arrêtant le processusd’optimisation avant convergence est garantie faisable.

Choix des horizons Dans le cas des systèmes linéaires, il existe des méthodespour fixer les horizons de prédiction et de commande (par rapport au temps de ré-ponse désiré en boucle fermée).

Dans le cas général, le problème reste ouvert puisque l’optimalité d’un horizonest fortement liée à la complexité du problème. Le choix de l’horizon de prédictioninflue sur la quantité d’information fournie à l’algorithme et sur l’existence de so-lutions numériques au problème d’optimisation. Sa détermination doit prendre enconsidération les caractéristiques physiques du comportement du modèle en boucleouverte, l’objectif à atteindre et les contraintes. Un compromis est à trouver entreune grande fenêtre de prédiction assurant la maîtrise sur un temps plus long et unhorizon court garantissant des temps de calcul plus réalistes en vue d’une applica-tion temps réel. Augmenter la valeur de l’horizon et par conséquent augmenter lenombre de degrés de liberté, doit permettre a priori de résoudre des problèmes plusdifficiles. Cependant, la puissance de calcul disponible est un facteur extrêmementlimitant car l’ensemble des calculs du NMPC doit pouvoir être mené pendant unepériode d’échantillonnage (Dufour, 2000).

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

63

Page 64: Génération de trajectoires pour la locomotion artificielle et ...

4.1. La commande prédictive non linéraire référencée modèle

Temps réel L’aspect le plus restrictif pour l’application de la commande prédic-tive est le temps de calcul. En effet, la commande prédictive impose que le calculd’une solution admissible au problème d’optimisation sous contraintes soit réalisédurant une période d’échantillonnage. D’un point de vue formel, il faut noter quele temps de convergence est non borné, c’est-à-dire non connu a priori en pratique.Ceci est incompatible avec les contraintes temps réel et un échantillonnage régulier.

Par ailleurs, il est également nécessaire de résoudre et intégrer le modèle le longde l’horizon de prédiction plusieurs fois en une seule période d’échantillonnage. Eneffet, les sorties futures du procédé doivent être évaluées sur l’horizon de prédiction.Le choix de l’algorithme est donc crucial. On peut exclure a priori les algorithmesde recherche d’optimum global au profit de la recherche d’un optimum local (maisfaisable). Le temps de recherche d’une solution fait partie des contraintes de miseen œuvre de l’algorithme.

4.1.4 Adaptation à la locomotion bipède

Comme nous l’avons évoqué jusqu’à présent, un principe commun aux approchesde commande prédictive est la définition d’une trajectoire de référence a priori etle choix d’un critère afin de suivre au mieux cette trajectoire. Cependant, cette ap-proche peut s’avérer très limitative dans le contexte du contrôle de la marche d’unsystème bipède. En effet, considérant la multitude d’allures de marche possibles, ilsemble difficile de pré-calculer une trajectoire pour chacune d’elle. De plus, il estimpossible de prévoir la configuration des multiples environnements qu’un systèmemobile peut rencontrer dans un environnement structuré pour l’être humain. Onpeut également remarquer que lors de la marche, la précision de tous les mouve-ments n’est pas absolument nécessaire.

Cependant, la prise en compte de l’état futur du système pour prédire ou anti-ciper son comportement, ainsi que le respect de contraintes le long d’un horizon deprédiction, est un concept approprié dans la synthèse de commande d’un systèmemarcheur (figure 4.4).

Ainsi dans (Azevedo, 2002), l’auteur a proposé une adaptation des techniquesde commande prédictive pour le contrôle de la locomotion bipède. L’originalité dela démarche proposée est que la synthèse de la commande ne repose pas sur laconnaissance d’une trajectoire de référence mais sur la définition de contraintes phy-siquement cohérentes pour assurer le mouvement.

Le problème du NMPC (§ 4.1.3) adapté à la locomotion artificielle est alors poséde la façon suivante :

– Le critère est lié à la dépense énergétique du robot. En effet, l’évolution afaçonné la démarche humaine de façon à ce qu’elle soit optimale en énergie(Nubar et Contini, 1961; Donelan et al., 2001). Ainsi, le critère J opti-misé est une fonction quadratique des couples des actionneurs nécessaires sur

64 Fabien Lydoire

Page 65: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

évolution prévue

couples optimauxprédits

PrésentPassé

pour la cheville

temps

Futur

Obstacle

ycheville (m)

U∗ (Nm)

k k + 1 k + 2 k + Np

U (Nm)y (m)

Fig. 4.4 – Utilité de l’horizon de prédiction dans le cadre de la locomotion

l’horizon Hp = [k + 1, ..., k + Np] :

J(U(k)) =1

2

k+Np∑

j=k+1

Γ(j)TΓ(j) (4.29)

– Le mouvement désiré est défini par l’expression des contraintes du NMPC.

En se basant sur les éléments essentiels à la locomotion (Hurmuzlu et al., 2001;Patla, 1991) :

– la production d’un rythme de locomotion de base,– le maintien de l’équilibre,– l’adaptation des mouvements à l’environnement,

nous pouvons exprimer un ensemble de contraintes minimales capables d’assurer lalocomotion :

– Maintien de la posture érigée : le robot doit conserver la position debout,– Équilibre : le système doit constamment maintenir sa stabilité statique ou

dynamique,– Rythme de progression : la locomotion correspond à un déplacement vers

l’avant,– Adaptation à l’environnement : le robot doit s’adapter au sol, aux obs-

tacles et autres escaliers. Cela est essentiellement lié à la trajectoire de la jambelibre.

À ces contraintes fonctionnelles assurant un rythme de marche, il faut ajouterdes contraintes liées aux possibilités de la plate-forme robotique :

– Dynamique du robot : l’équation de la dynamique constitue la premièrecontrainte à satisfaire. Les équations associées dépendent du modèle utilisé.

– Contraintes fonctionnelles du robot : les couples optimaux doivent corres-pondre aux capacités des actionneurs et les mouvements engendrés demeurer

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

65

Page 66: Génération de trajectoires pour la locomotion artificielle et ...

4.1. La commande prédictive non linéraire référencée modèle

à l’intérieur des limites autorisées.

Si le critère se définit de façon naturelle en fonction des couples actionneurs, lechoix des contraintes qui permettent d’assurer une locomotion stable n’est pas immé-diat. Toute la difficulté est de déterminer le jeu d’inégalités traduisant les contraintesde base qui va garantir la stabilité du robot tout en lui permettant de se déplaceret en assurant un maximum de réactivité aux changements d’environnement ou auxapparitions de perturbations.

Ce type de commande NMPC adaptée pour la locomotion artificielle a été validéen simulation sur différents modèles de robots bipèdes (figures 4.5) et pour des dé-marches statiques et dynamiques (Azevedo et al., 2002b,c; Azevedo et Poignet,2002). Dans chacun des cas, un jeu de contraintes spécifiques adapté au modèle durobot et au type de démarche désirée a été défini.

q7

(x,y)

+

q5

q4q2

q1

q3

q6

(a) Bip 2D

(x32,y32)

q1

u1

q41

q32

u2

u4

q31u3

q42

(x,y)

(x1,y1)

(x31,y31)

(x41,y41)

(x42,y42)

(b) Rabbit

Fig. 4.5 – Modèles de robots bipèdes sur lesquels ont été validé le NMPC

Lors de la mise en œuvre du NMPC, se pose le problème du choix d’un algorithmed’optimisation sous contraintes. En effet, la stabilité du système ne peut être assuréepar les méthode classiques, celles-ci se basant sur des commandes avec trajectoiresde référence et posant des hypothèses difficilement réalisables ou irréalistes dansnotre contexte (contraintes terminales égalité, horizon quasi-infini ou «suffisamentlong», etc. . . ). L’approche de la stabilité par la faisabilité doit donc être préféréedans le contexte de la locomotion bipède. Ceci nous pousse alors vers l’utilisationd’algorithmes d’optimisation qui permettent de garantir à tout instant une solutionsatisfaisant les contraintes tel que l’algorithme FSQP (Feasible Sequential QuadraticProgramming).

De plus, dans le cadre de la commande de la marche, le respect des contraintesest impératif. En effet, ne pas respecter une contrainte sur la position de la jambede vol au cours d’un pas peut mener à un impact avec un obstacle et par conséquentdéséquilibrer l’ensemble du système.

66 Fabien Lydoire

Page 67: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

Ainsi la plupart des contraintes intervenant dans le NMPC se posent sous laforme de domaines admissibles (positions admissibles pour éviter les obstacles et ga-rantir la stabilité, vitesse admissible pour assurer le déplacement) qui peuvent êtreinterprétés comme des intervalles.

La définition de contraintes sous la forme d’intervalles permet alors d’utiliser desoutils ensemblistes pour résoudre le problème de la commande NMPC.

L’un des objectifs des travaux de cette thèse est ainsi de proposer une solutionalternative à la résolution du problème d’optimisation utilisé pour synthétiser unelocomotion bipède artificielle, dans la continuité des travaux réalisés par (Azevedo,2002), en utilisant plus particulièrement les outils de l’arithmétique d’intervalles.

4.1.5 Commande prédictive et intervalles

Les travaux sur l’utilisation du NMPC adapté à la locomotion artificielle (§ 4.1.4)ont mis en avant la difficulté de résoudre le problème du NMPC sur un système com-plexe tel qu’un robot marcheur.

Tout d’abord, par le choix de l’algorithme d’optimisation : dans les travaux pré-cédents, l’accent a été mis sur la méthode générale d’utilisation du NMPC et nonsur l’utilisation fine d’un algorithme d’optimisation assurant la faisabilité de la solu-tion. De plus, ces algorithmes ne garantissent le respect des contraintes qu’avec unecertaine tolérance, et non pas absolument.

Ensuite, les temps de calcul lors de l’utilisation de ces algorithmes avec un sys-tème aussi complexe qu’un système marcheur sont prohibitifs. Nous pouvons alorsnous poser la question de la priorité de l’optimisation. En effet, dans la pratique,on se restreindra à un nombre limité d’itérations de l’algorithme d’optimisation. Iln’est donc pas garanti que la solution sera optimale au sens du critère. Cependant,le point important dans le calcul de la solution n’est pas tant sa qualité d’optimalité,mais la garantie du respect des contraintes sur les variables d’état et de commande.

Nous proposons donc une nouvelle approche pour la résolution du problèmed’optimisation, basée sur l’arithmétique d’intervalles (Lydoire et Poignet, 2004,2003b). En effet, nous pouvons remarquer que les contraintes intervenant dans leNMPC, qui sont en majorité des contraintes d’inégalités, font intervenir des inter-valles essentiellement pour définir les domaines admissibles pour les positions et lesvitesses. De plus, l’aspect garanti des calculs ensemblistes doit permettre d’assu-rer la faisabilité. Par conséquent, l’utilisation de l’arithmétique d’intervalles sembleappropriée.

Mais dans quelle mesure peut on combiner arithmétique d’intervalle et commandeprédictive ? Surtout, quelle est la combinaison pertinente en termes de stabilité etrobustesse de la loi de commande ? Ces questions font l’objet du paragraphe 4.3.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

67

Page 68: Génération de trajectoires pour la locomotion artificielle et ...

4.2. L’arithmétique d’intervalles

La formulation du problème du NMPC permet de calculer un vecteur de com-mande qui est en même temps optimal au sens du critère et qui respecte les contrain-tes. Cependant, il est possible de calculer la solution u

Np

k au problème du NMPC endeux phases distinctes : tout d’abord le calcul d’un ensemble de solutions satisfaisantles contraintes du NMPC, puis l’optimisation (qui peut être locale).

Dans notre cas précis, on souhaite choisir le vecteur de commande de normeminimale. Si la phase de calcul de solution respectant les contraintes détermine undomaine admissible pour la commande, choisir un vecteur minimal peut être fait aposteriori. La phase d’optimisation au sens classique peut donc être supprimée etpar conséquent, notre approche traite principalement du calcul d’une solution satis-faisant les contraintes, c’est-à-dire faisable.

4.1.6 Conclusion

Dans ce paragraphe, nous avons présenté les principes de la commande prédictive,et le cadre de la commande prédictive non linéaire. Les travaux dans (Azevedo,2002) sur l’adaptation du NMPC au problème de la locomotion bipède ont mis enavant la difficulté de choisir l’ensemble d’inégalités définissant les contraintes duNMPC. En effet, ces contraintes doivent assurer le mouvement et permettre uneréaction du système à une modification de l’environnement la plus large possible.

Le choix de l’algorithme d’optimisation et des contraintes doit également per-mettre la stabilité du système par la faisabilité. Or, les outils ensemblistes permettentdes calculs garantis, dans le sens où l’ensemble des solutions à un problème résoluavec les méthodes ensemblistes appartient, de façon garantie, à l’intervalle solution.

De plus, les contraintes du NMPC se présentent essentiellement sous la formed’inégalités qui s’écrivent directement comme des équations sur des intervalles. Parconséquent, l’arithmétique d’intervalle semble adaptée à la résolution de ce type deproblème.

Nous présentons donc dans les paragraphes suivants quelques outils de l’arith-métique d’intervalles (§ 4.2) puis leur adaptation nécessaire pour l’utilisation dansla synthèse de la commande de robots (§ 4.3).

4.2 L’arithmétique d’intervalles

4.2.1 Introduction

D’abord dédiée à l’étude de l’arithmétique à précision finie pour les ordinateurs(Moore, 1979) et utilisée ensuite dans le contexte de l’optimisation globale garan-tie (Hansen, 1992), l’arithmétique d’intervalles est basée sur l’idée d’encapsuler lesnombres réels dans des intervalles et les vecteurs de réels dans des boîtes. Le calculpar intervalles qui est un cas particulier de la théorie des ensembles, est maintenant

68 Fabien Lydoire

Page 69: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

utilisé dans le cadre de l’estimation d’état ou de la commande robuste (Jaulin et al.,2002; Malan et al., 1997). Dans (Jaulin et al., 2001), les auteurs présentent en dé-tail les bases de l’arithmétique d’intervalles, que nous reprenons dans ce paragraphe,ainsi que des exemples d’applications.

Dans ce chapitre, nous présentons les notions élémentaires intervenant dans l’uti-lisation de l’arithmétique d’intervalles. Nous abordons ensuite les deux notions im-portantes que nous avons utilisées pour la synthèse d’une loi de commande : lapropagation de contraintes et l’inversion d’ensemble.

4.2.2 Notions élémentaires

Opérateurs ensemblistes

Soit deux ensembles X et Y. Leur intersection est définie par :

X ∩ Y , x | x ∈ X et x ∈ Y (4.30)

leur union est :X ∪ Y , x | x ∈ X ou x ∈ Y (4.31)

X privé de Y est défini par :

X \ Y , x | x ∈ X et x 6∈ Y (4.32)

Le produit cartésien de X et Y est défini par :

X× Y , (x, y) | x ∈ X et y ∈ Y (4.33)

L’inclusion de X dans Y est définie par :

X ⊂ Y⇔ ∀x ∈ X, x ∈ Y (4.34)

et l’égalité de X et Y :X = Y⇔ X ⊂ Y et Y ⊂ X (4.35)

Soit deux ensembles X et Y et une fonction f : X → Y. Si X1 ⊂ X, l’imagedirecte de X1 par f est :

f(X1) , f(x) | x ∈ X1 (4.36)

Si Y1 ⊂ Y, l’image réciproque de Y1 par f est :

f−1(Y1) , x ∈ X | f(x) ∈ Y1 (4.37)

Il est possible d’étendre les opérations sur les nombres (ou les vecteurs) auxopérations sur les ensembles. Notons P(X) l’ensemble de tous les sous-ensembles deX. Soit un opérateur binaire de X × Y dans Z. Cet opérateur peut être étendu àun opérateur sur les ensembles :

X1 Y1 , x1 y1 | x1 ∈ X1, y1 ∈ Y1 (4.38)

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

69

Page 70: Génération de trajectoires pour la locomotion artificielle et ...

4.2. L’arithmétique d’intervalles

où est maintenant un opérateur de P(X× Y) dans P(Z).Par exemple, si X1 et Y1 sont deux sous-ensembles de Rn, alors :

X1 + Y1 = x + y | x ∈ X1, y ∈ Y1 (4.39)

X1 − Y1 = x− y | x ∈ X1, y ∈ Y1 (4.40)

Remarque 4.2.1. L’opérateur de soustraction doit être utilisé avec la plus grandeattention. Par exemple, il est important de noter que l’ensemble :

X1 −X1 = x− y | x ∈ X1, y ∈ X1 (4.41)

est différent de l’ensemble :

x− x | x ∈ X1 = 0 (4.42)

Dans le cas où l’opérateur s’applique sur un élément x1 de X1 et un sous-ensemble Y1 de Y, x1 est réduit au singleton x1 et par conséquent :

x1 Y1 , x1 Y1 = x1 y1 | y1 ∈ Y1 (4.43)

Dans le cas où Y1 est aussi un singleton y1, alors :

x1 y1 , x1 y1 = x1 y1 (4.44)

Analyse par intervalles

L’analyse par intervalles est un cas particulier du calcul ensembliste. On ne consi-dère plus des ensembles quelconques (§ 4.2.2) mais des intervalles si l’on se placedans R et des boîtes dont les côtés sont parallèles aux axes si l’on se place dans Rn.

On notera [x] les intervalles, [x] les vecteurs d’intervalles ou boîtes, x la borneinférieure de [x], x la borne supérieure de [x] (figure 4.6) :

x , supa ∈ R ∪ −∞, +∞ | ∀x ∈ [x], a ≤ x (4.45)

x , infb ∈ R ∪ −∞, +∞ | ∀x ∈ [x], x ≤ b (4.46)

x2

x1

[x]

x2

x1 x1

x2

Fig. 4.6 – Intervalles et bornes : exemple d’une boîte dans R2

70 Fabien Lydoire

Page 71: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

Exemple 4.2.1 (Bornes inférieures et supérieures). Si x =]−3, 7] alors x = −3et x = 7. Si x =]−∞, +∞] alors x = −∞ et x = +∞.

La largeur d’un intervalle [x] non vide est :

w([x]) , x− x (4.47)

Le centre d’un intervalle borné non vide est :

mid([x]) ,x + x

2(4.48)

Les opérateurs ensemblistes s’appliquent également aux intervalles. Ainsi, l’inter-section de deux intervalles s’écrit :

[x] ∩ [y] , z ∈ R | z ∈ [x] et z ∈ [y] (4.49)

et est un intervalle. Cependant, l’union de deux intervalles n’est pas, dans le casgénéral, un intervalle :

[x] ∪ [y] , z ∈ R | z ∈ [x] ou z ∈ [y] (4.50)

Les quatre opérateurs classiques de l’arithmétique sur les réels – l’addition (+), lasoustraction (−), la multiplication (∗) et la division (/) – s’étendent aux intervallessuivant la définition :

[x] [y] = [x y ∈ R | x ∈ [x], y ∈ [y]] (4.51)

où est l’un des quatre opérateurs binaires.

Dans la suite, on considérera uniquement des intervalles fermés. On note IR l’en-semble de tous les intervalles fermés. Chaque élément [x] de IR peut se définir defaçon unique par sa borne inférieure x et sa borne supérieure x. Ainsi, on écrira[x] = [x, x] même si les bornes ne sont pas finies (on pourra écrire [0,∞], cependantcet intervalle devra être interprété comme [0,∞[).

Lorsque les bornes x et x sont égales, l’intervalle x est dit ponctuel. Tout nombreréel peut donc se représenter sous la forme d’un intervalle ponctuel et vice versa.

Les opérations usuelles (+,−, ∗, /) sur les intervalles se déduisent de (4.51) commesuit :

[x] + [y] = [x + y, x + y] (4.52)

[x]− [y] = [x− y, x− y] (4.53)

[x] ∗ [y] = [minxy, xy, xy, xy, maxxy, xy, xy, xy] (4.54)

La division est définie par :

1/[y] = ∅ si [y] = [0, 0]= [1/y, 1/y] si 0 6∈ [y]= [1/y,∞[ si y = 0 et y > 0= [−∞, 1/y] si y < 0 et y = 0= [−∞,∞] si y < 0 et y > 0

(4.55)

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

71

Page 72: Génération de trajectoires pour la locomotion artificielle et ...

4.2. L’arithmétique d’intervalles

et :[x]/[y] = [x] ∗ (1/[y]) (4.56)

Exemple 4.2.2 (opérations usuelles et intervalles).

[−2, 5] + [−8, 12] = [−10, 17] (4.57)

[−10, 17]− [−8, 12] = [−10, 17] + [−12, 8] = [−22, 25] (4.58)

[−10, 17]− [−2, 5] = [−15, 19] (4.59)

[−2, 5]/[−8, 12] = [−∞,∞] (4.60)

Note : le résultat de l’opération de l’équation 4.60 donne [−∞,∞] puisque 0 estinclus dans l’intervalle au dénominateur [−8, 12].

[3, 5]/[8, 12] =

[3

12,5

8

](4.61)

[3

12,5

8

]∗ [8, 12] =

[2,

15

2

](4.62)

Les exemples numériques précédents illustrent l’effet de pessimisme dans les cal-culs par intervalles. En effet, si [a] + [b] = [c], alors généralement [a] 6= [c] − [b].Cependant, [a] ⊆ [c] − [b]. Il est important de différencier les variables (notéessans crochets) et les domaines associés à ces variables. Illustrons cette subtilité avecl’exemple suivant.

Exemple 4.2.3. Soit 3 variables a, b et c et les domaines de définitions D(a) =[−2, 5] et D(c) = [−10, 17]. Les 3 variables sont liées par la contrainte a + b = c. Leproblème est de déterminer le domaine de b défini comme suit

B = b ∈ R | ∃c ∈ D(c) et ∀a ∈ D(a), a + b = c (4.63)

c’est-à-dire déterminer le domaine de b tel que pour toutes valeurs choisies dans lesdomaines de a et de b, leur somme a + b appartient au domaine de c.

À partir de la contrainte initiale, on déduit une nouvelle contrainte : b = c− a.Le calcul avec l’arithmétique d’intervalles (4.59) donne [b] = [−15, 19], or B =[−8, 12](4.57). Cela vient du fait que l’arithmétique d’intervalles détermine le do-maine

B′ = b′ ∈ R | ∃a ∈ D(a) et ∃c ∈ D(c), c− a = b′ = [−15, 19] (4.64)

Ainsi, si l’on considère la valeur −15 (∈ B′) pour la variable b, il existe une va-leur dans D(a) (ici 5) telle que a+b est inclus dans D(c). Cependant, il n’existe pasd’autre valeur que 5 dans D(a) qui assure le respect de la contrainte si b = −15.

Le calcul avec l’arithmétique d’intervalles a permis un calcul garanti de l’ensemblesolution recherché (B ⊆ B′).

72 Fabien Lydoire

Page 73: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

L’exemple précédent illustre le pessimisme dans l’évaluation des domaines lorsquel’on utilise les calculs ensemblistes. Ainsi, en partant de domaines initiaux pour unensemble de variables et en considérant des contraintes qui lient ces variables, il estdifficile de déterminer les domaines des variables qui respectent les contraintes pourtoutes valeurs dans les domaines. C’est tout l’objet de la propagation de contraintes(§ 4.2.5) : réduire les domaines des variables en éliminant les valeurs inconsistantes(qui ne permettent pas le respect des contraintes).

Cependant, le calcul par intervalles permet de déterminer une estimation garantiedu domaine recherché qui constitue une approximation extérieure du domaine.

4.2.3 Fonction d’inclusion

Soit une fonction f de Rn dans Rm. La fonction intervalle [f ] de IRn dans IRm

est une fonction d’inclusion pour f si :

∀[x] ∈ IRn, f ([x]) ⊂ [f ]([x]) (4.65)

La fonction d’inclusion [f ] est dite minimale si pour tout [x],[f ]([x]) est la pluspetite boîte contenant f ([x]). La fonction d’inclusion minimale pour f est uniqueet sera notée [f ]∗ (figure 4.7).

y1x1

[f ]∗([x])[x]

f ([x])

[f ]([x])

x2 y2

Fig. 4.7 – Illustration de la fonction d’inclusion dans R2 (Jaulin et al., 2001)

La fonction d’inclusion naturelle de f est obtenue en remplaçant chaque variableréelle xi par un intervalle [xi] et chaque opérateur ou fonction par son équivalentintervalle.

Théorème 4.2.1. Soit la fonction :

f : Rn → R(x1, . . . , xn) 7→ f(x1, . . . , xn)

(4.66)

dont la forme est une combinaison finie des opérateurs binaires et de fonctions élé-mentaires (sin, cos, exp, sqr,...). La fonction d’inclusion naturelle de f est minimalesi les opérateurs et les fonctions intervenant dans l’expression de f sont continuset si chaque variable (x1, . . . , xn) apparaît au plus une fois dans l’expression de f

(Moore, 1979).

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

73

Page 74: Génération de trajectoires pour la locomotion artificielle et ...

4.2. L’arithmétique d’intervalles

Notons que les fonctions d’inclusions naturelles des fonctions continues élémen-taires sont minimales (exemple suivant).

Exemple 4.2.4 (fonctions d’inclusion naturelles de fonctions continues élé-mentaires).

[arctan]([0,∞]) =[0,

π

2

](4.67)

[sqr]([−1, 3]) = [0, 9] (4.68)

[exp]([0, 1]) = [exp(0), exp(1)] = [1, e] (4.69)

Exemple 4.2.5 (fonction d’inclusion non minimale sans occurrence mul-tiple). Soit la fonction continue f(x) = (sign(x))2 où sign(x) est égale à 1 si x ≥ 0et −1 sinon. La fonction d’inclusion naturelle de f est [f ]([−1, 1]) = [−1, 1]2 =[−1, 1]. Cependant, du fait de la discontinuité de sign(x), [f ] n’est pas minimale(f([−1, 1]) = 1).

Les fonctions d’inclusion naturelles ne sont pas minimales en général. La précisionde l’intervalle dépend fortement de l’expression de f .

Exemple 4.2.6 (expressions et fonction d’inclusion). Soit 4 expressions for-melles de la même fonction f(x) :

f1(x) = x (x + 1) (4.70)

f2(x) = x ∗ x + x (4.71)

f3(x) = x2 + x (4.72)

f4(x) =

(x +

1

2

)2

− 1

4(4.73)

leur fonction d’inclusion naturelle pour [x] = [−1, 1] est :

[f1]([x]) = [x] ([x] + 1) = [−2, 2] (4.74)

[f2]([x]) = [x] ∗ [x] + [x] = [−2, 1] (4.75)

[f3]([x]) = [x]2 + [x] = [−1, 2] (4.76)

[f4]([x]) =

([x] +

1

2

)2

− 1

4=

[−1

4, 2

](4.77)

4.2.4 L’inversion d’ensemble

Soit f une fonction de Rn dans Rm et Y un sous-ensemble de Rm. L’inversiond’ensemble est la caractérisation de :

X = x ∈ Rn | f (x) ∈ Y = f−1(Y) (4.78)

Les algorithmes d’inversion d’ensemble sont basés sur les bissections successivesde la boîte initiale de recherche [x] pour l’ensemble X. Ils permettent de calculer desapproximations intérieures (X) et extérieures (X) de X (X ⊂ X ⊂ X).

L’image f ([x]) de [x] est calculée et comparée à Y (figure 4.8(a)). Quatre caspeuvent être rencontrés

74 Fabien Lydoire

Page 75: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

1. f ([x]) ∩Y = ∅, alors [x] est rejeté comme sous-ensemble de X (figure 4.8(b)).

2. f ([x]) ⊂ Y, alors [x] est un sous-ensemble de X et donc [x] est ajouté à X etX (figure 4.8(c)).

3. f ([x]) 6⊂ Y et f([x])∩Y 6= ∅, alors [x] peut contenir des solutions. Si sa largeurest plus grande que le seuil de précision ε, alors [x] est bissecté et le test estappliqué récursivement (figure 4.8(d)).

4. Si le test donne les mêmes résultats que dans le cas 3, et si la largeur de [x]est inférieure à ε, alors [x] est ajouté à X.

La figure 4.8(e) illustre l’approximation intérieure finalement calculée par l’algo-rithme d’inversion d’ensemble.

Yf ([x])

[x]

f−1(Y)

(a)

[x2]f−1(Y)

Y

f ([x1])[x1]

(b)

f ([.])

f−1(Y)

Y

(c)

f−1(Y)

Y

f ([.])

(d)

approximation intérieure de f−1(Y)

f ([.])

Yf−1(Y)

(e)

Fig. 4.8 – Étapes de l’algorithme d’inversion d’ensemble

Si l’on considère la boîte de recherche initiale [x], l’algorithme encadre l’ensemblesolution X′ = [xmin, xmax] ∩ f−1(Y) par deux sous pavés (ensemble d’intervalles quine se superposent pas) X et X :

X′ = x ∈ [xmin, xmax]| f (x) ∈ Y ⊆ f−1(Y) (4.79)

Remarque 4.2.2. L’algorithme d’inversion d’ensemble est basé sur la bissection.Par conséquent, le nombre d’éléments à traiter explose dès lors que l’on se place dans

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

75

Page 76: Génération de trajectoires pour la locomotion artificielle et ...

4.2. L’arithmétique d’intervalles

un espace de grande dimension (≥ 4 par exemple). De plus, l’efficacité algorithmiquede l’inversion d’ensemble est faible, ce qui se traduit par un temps de calcul élevé.

On prendra donc soin d’éviter d’utiliser la bissection le plus possible et on luipréférera la propagation de contraintes (§ 4.2.5). Ajoutons que le caractère minimal,c’est-à-dire le pessimisme de la fonction d’inclusion est également prépondérant pourl’efficacité de l’algorithme d’inversion d’ensemble. Ces problèmes seront abordés dansle § 4.3.

4.2.5 La propagation de contraintes

Considérons un problème de satisfaction de contraintes H (Constraints Satisfac-tion Problem ou CSP) écrit sous forme vectorielle f (x) = 0 :

H : (f (x) = 0, x ∈ [x]) (4.80)

L’ensemble solution de H est défini par :

S = x ∈ [x] | f (x) = 0 (4.81)

Contracter H consiste à remplacer le domaine [x] par un domaine plus petit [x′]tel que l’ensemble solution S reste inchangé.

L’objectif lors de la contraction est donc de réduire le domaine [x] sans modifierS. Pour cela, il faut éliminer les valeurs de [x] telles que f (x) 6= 0. Ces valeurs sontappelées valeurs inconsistantes : elles ne permettent pas le respect des contraintes.À l’opposé, on parlera de valeurs consistantes pour les valeurs qui permettent derespecter des contraintes.

Sur la figure 4.9, le domaine [x2] n’est constitué que de valeurs inconsistantes(car f ([x2]) ne contient pas 0). Le domaine [x] peut donc être contracté en privant[x] de [x2] : [x] \ [x2] = [x1]. Le domaine [x] a été contracté en [x1]. Cependant,[x1] n’est pas constitué uniquement de valeurs consistantes.

0

[x1]

[x]

f ([x])

f ([x2])

[x2]

f ([x1])

Fig. 4.9 – Contraction : suppression de valeurs inconsistantes

Il existe différentes méthodes pour contracter un CSP (Jaulin et al., 2001).Nous présentons une méthode particulière appelée la propagation-rétropropagationde contraintes (Benhamou et al., 1999; Jaulin, 2000).

76 Fabien Lydoire

Page 77: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

La propagation-rétropropagation de contraintes est basée sur l’écriture d’unemême contrainte sous les différentes formes qui permettent d’isoler successivement lesvariables intervenant dans ces contraintes et ainsi de réduire les domaines admissibles(i.e. correspondant à des valeurs consistantes) des variables considérées.

Exemple 4.2.7 (propagation-rétropropagation de contraintes). Soit lacontrainte x3 = x1 x2 et la boîte [x] = [1, 4]× [1, 4]× [8, 40]. L’objectif est de réduireles domaines considérés en éliminant les solutions inconsistantes.

La contrainte peut s’écrire de 3 façons différentes, en isolant chacune des 3 va-riables :

x1 = x3/x2 (4.82)

x2 = x3/x1 (4.83)

x3 = x1 x2 (4.84)

Ces 3 équations permettent d’écrire 3 fonctions :

φ1 : x2, x3 7→ x3/x2 si x2 6= 0, R sinon (4.85)

φ2 : x1, x3 7→ x3/x1 si x1 6= 0, R sinon (4.86)

φ3 : x1, x2 7→ x1 x2 (4.87)

Ces 3 fonctions sont ensuite transformés en équations intervalles et fournissentainsi les contractions suivantes :

([x3]/[x2]) ∩ [x1] = [8, 40]/[1, 4] ∩ [1, 4] = [2, 4] (4.88)

([x3]/[x1]) ∩ [x2] = [8, 40]/[1, 4] ∩ [1, 4] = [2, 4] (4.89)

([x1] ∗ [x2]) ∩ [x3] = [2, 4] ∗ [2, 4] ∩ [8, 40] = [8, 16] (4.90)

Le domaine a été contracté en [x] = [2, 4] × [2, 4] × [8, 16]. En effet les valeurs[16, 40] pour x3 sont inconsistantes avec les valeurs de [x1] et [x2] : @ x3 ∈ [16, 40]tel que x3 = x1 x2 et x1 ∈ [1, 4] et x2 ∈ [1, 4].

Ainsi, en considérant les différentes expressions d’une même contrainte, et encalculant l’intersection de la nouvelle valeur déterminée pour un intervalle avec lavaleur connue précédemment, on élimine des valeurs inconsistantes des domaines desvariables considérées.

Le contracteur, c’est-à-dire l’ensemble des opérations utilisées dans la phase decontraction est construit comme suit.

D’abord, chaque contrainte du CSP est transformée en un ensemble d’équationsobtenues en isolant chaque variable de la contrainte. Ensuite, ces équations sontétendues aux intervalles. L’écriture du contracteur est séparée en deux parties :une phase de propagation dans laquelle on exprime les contraintes à travers desopérations élémentaires pour arriver in fine à exprimer l’ensemble des contraintes,et une phase de rétropropagation dans laquelle on isolera les variables de chacune

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

77

Page 78: Génération de trajectoires pour la locomotion artificielle et ...

4.2. L’arithmétique d’intervalles

des contraintes considérées. La phase de rétropropagation peut s’interpréter commesuit : « L’expression des contraintes pendant la phase de propagation a réduit ledomaine de y = f(x). Il faut donc rétropropager la nouvelle valeur du domaine dey sur les domaines de toutes les variables qui ont servi à calculer la valeur de y.»

Exemple 4.2.8 (Contracteur de propagation-rétropropagation). Considé-rons la contrainte f (x) = 0 avec f (x) = x1 exp(x2) + sin(x3). Cette contrainte sedécompose en opérations élémentaires

a1 := exp(x2) (4.91)

a2 := x1 a1 (4.92)

a3 := sin(x3) (4.93)

y := a2 + a3 (4.94)

pour aboutir à y = f (x). Ces opérations sont ensuite étendues aux intervalles, cequi dans cet exemple se fait avec les fonctions d’inclusion naturelles. Enfin, chacunedes opérations élémentaires est réécrite en isolant chacune des variables.

Algorithme 1 : Contracteur propagation-rétropropagation[a1] := exp([x2]);1

[a2] := [x1] ∗ [a1];2

[a3] := sin([x3]);3

[y] := [a2] + [a3];4

[y] := [y] ∩ 0;5

[a2] := ([y]− [a3]) ∩ [a2];6

[a3] := ([y]− [a2]) ∩ [a3];7

[x3] := sin−1([a3]) ∩ [x3];8

[a1] := ([a2]/[x1]) ∩ [a1];9

[x1] := ([a2]/[a1]) ∩ [x1];10

[x2] := log([a1]) ∩ [x2];11

Il faut remarquer que l’opération à l’étape 8 écrite symboliquement sin−1([a3]) ∩[x3] renvoie en fait le plus petit intervalle qui contient l’ensemble

x3 ∈ [x3]|∃a3 ∈ [a3], sin(x3) = a3 (4.95)

Bien entendu, si l’opération à l’étape 5 donne l’ensemble vide, la contraction estinterrompue. En effet, l’apparition de l’ensemble vide à cette étape de l’algorithmesignifie que 0 6∈ [y]. Or y = f (x) et la contrainte s’exprime sous la forme f (x) = 0.Par conséquent, si la valeur 0 n’est pas incluse dans le domaine de y, les domainesconsidérés ne respectent pas la contrainte, c’est-à-dire qu’il n’existe aucune valeurponctuelle dans les domaines qui permette le respect des contraintes.

Dans le cas général, répéter l’opération de propagation-rétropropagation permetde réduire à nouveau les domaines considérés. Ainsi, on arrive à la définition sui-vante : Contracter un CSP consiste à réduire les domaines des variables du CSP enprenant en compte une à une les équations isolant les variables, puis en itérant laprocédure tant que la contraction (i.e. la réduction des domaines) est significative.

78 Fabien Lydoire

Page 79: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

Si les opérations de contraction ne modifient plus aucun domaine intervenant dansle CSP ou si les modifications ne sont pas significatives au sens d’un seuil sur leslargeurs des domaines, alors un point fixe est atteint dans l’espace des variables duCSP, et la contraction est interrompue.

À la fin de la phase de contraction, on obtient des domaines desquels ont étésupprimés des éléments non consistants. Cependant, il n’est pas garanti quetous les éléments inconsistants ont été éliminés. Si l’on souhaite itérer lesopérations de contraction pour éliminer de nouveaux éléments inconsistants, il fautcasser le point fixe, ce qui est réalisé classiquement en bissectant les domaines duCSP.

Remarque 4.2.3 (Efficacité de la contraction). En pratique, la contraction per-met de réduire efficacement des domaines choisis de façon non raisonnable. Dansle cas où les domaines sont choisis raisonnablement, la contraction, du fait du pes-simisme des fonctions d’inclusion, ne permet pas d’éliminer un grand nombre devaleurs inconsistantes.

4.2.6 Conclusion

Ce paragraphe a introduit les notions de l’arithmétique d’intervalle que nous uti-liserons pas la suite. Nous utiliserons ces opérateurs de l’arithmétique d’intervallessur un problème complexe : celui de la commande de robot.

L’arithmétique d’intervalles s’avère efficace sur des problèmes simples ou adap-tés naturellement à une formulation sous la forme de calculs ensemblistes. Dans leparagraphe précédent, nous avons extrait un problème de satisfaction de contraintes(CSP) de la formulation du NMPC. Résoudre ce CSP avec les outils de l’arithmétiqued’intervalles semble raisonnable. Le paragraphe suivant introduit les adaptations né-cessaires à l’utilisation de l’arithmétique d’intervalles pour la commande de robotdécrite dans le paragraphe précédent.

4.3 Conjuguer l’arithmétique d’intervalles et lacommande de robot

4.3.1 Introduction

Le paragraphe précédent a introduit des outils de l’arithmétique d’intervalles etnous présentons dans celui-ci l’utilisation de ces outils pour la synthèse d’une loide commande prédictive non linéaire (§ 4.1.5). Le problème de la commande pré-dictive non linéaire se formule classiquement comme un problème d’optimisationsoumis à des contraintes sur l’état et la commande. Ces contraintes peuvent s’ex-primer sous la forme d’appartenance à des domaines que nous appellerons domainesadmissibles. De plus, nous avons vu que pour assurer une marche stable, la prio-rité devait être donnée au respect des contraintes (§ 4.1.4). Nous nous intéressonsdonc à la faisabilité de la commande, c’est-à-dire déterminer une commande qui

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

79

Page 80: Génération de trajectoires pour la locomotion artificielle et ...

4.3. Conjuguer l’arithmétique d’intervalles et la commande de robot

assure que le système restera dans les domaines admissibles. Par conséquent, nousavons proposé de résoudre le problème de faisabilité du NMPC par la résolutiond’un problème de satisfaction de contraintes (Constraints Satisfaction Problem ouCSP, figure 4.10) (Lydoire et Poignet, 2004, 2005). Dans (Bravo et al., 2000)les auteurs appliquent les outils de l’arithmétique d’intervalles sur un processus chi-mique, sans précautions particulières. Par conséquent, les temps de calcul pour lacommande s’avèrent extrêmement élevés mais sans conséquence dans le contexte dela commande d’un système à dynamique lente. Dans le cadre de la commande d’unsystème mécanique, les outils de l’arithmétique d’intervalles ne peuvent être utilisésdirectement mais doivent être adaptés.

système

état initial àl’instant k + 1

capteursxk+1

mise à jour de l’étatxk ← xk+1

[xi|k] ⊆ X[ui|k] ⊆ U

domaines admissibles

dynamique du robot[xi+1|k] = [f ]([xi|k], [ui|k])

Satisfaction de contraintesNp instances de i

Contraintes

xk u0|k[u

Np

k ] =

[u0|k][u1|k]

...[uNp−1|k]

état initial à

Commande prédictive via l’arithmétique d’intervalles

l’instant k

Fig. 4.10 – Principe de la commande prédictive basée sur la satisfaction decontraintes

Les outils de l’arithmétique d’intervalles comme les fonctions d’inclusion et lesopérations de contraction, permettent de calculer des résultats garantis, c’est-à-direque les domaines résultat de ces calculs sont des approximations extérieures desdomaines solutions du problème de la commande. Par conséquent, on ne peut paschoisir n’importe quelle solution dans le domaine de la commande calculé par lesméthodes classiques de l’arithmétique d’intervalles puisque toutes les valeurs dans ledomaine ne sont pas solutions du problème. Les approximations extérieures ont aussides conséquences sur la validation des domaines solution et également sur l’estima-tion d’état avec les techniques ensemblistes. Il est nécessaire d’avoir une approxima-tion intérieure de l’état et par conséquent, nous proposons une méthode qui permettecette approximation intérieure en utilisant une discrétisation spatiale de l’état. En-fin, les outils classiques de l’arithmétique d’intervalles doivent être améliorés afind’être utilisés pour la commande. Dans les paragraphes suivants, nous présentons

80 Fabien Lydoire

Page 81: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

les causes et conséquences des approximations extérieures (§ 4.3.2), notre solutionpour pallier les problèmes induits par les approximations extérieures (§ 4.3.3), puisles modifications nécessaires à la mise en œuvre d’une commande basée sur les outilsde l’arithmétique d’intervalles (§ 4.3.4).

4.3.2 Approximations extérieures et conséquences sur la com-mande

Calculs par intervalles : approximations extérieures

Les méthodes ensemblistes permettent de donner des résultats garantis, c’est-à-dire que les calculs sur les domaines fournissent des domaines résultats dans lesquelssont contenus, de façon garantie, le résultat de ces mêmes calculs s’ils avaient étéréalisés avec toutes les valeurs ponctuelles du domaine de départ. La figure 4.11 pré-sente l’exemple de calcul de la commande à partir des domaines du vecteur d’état[x] et de sa dérivée [x].

de la commande

calcul ensembliste

de la commande

domaine résultat

valeurs résultat

domaines initiaux

valeurs initialescalcul ponctuel

[x], [x]

∀x ∈ [x], ∀x ∈ [x]

[u]

U

U ⊆ [u]

Fig. 4.11 – Calculs garantis par les méthodes ensemblistes

Les domaines issus des calculs ensemblistes ne sont donc pas constitués uni-quement de solutions au problème posé sous forme d’intervalles. Les causes de cesapproximations extérieures sont multiples (fonction d’inclusion de la dynamique,intégration du modèle dynamique, contraction) et les conséquences importantes (in-efficacité algorithmique, perte de solutions).

Approximation extérieure liée à la fonction d’inclusion de la dynamiqueLe choix d’utiliser une commande référencée modèle avec horizon impose d’estimerl’état du système xk+1 consécutivement à l’application de la commande sur ce sys-tème.

xk+1 = f (xk, uk) (4.96)

Le calcul du nouvel état xk+1 est basé sur le modèle dynamique ainsi que sur laconnaissance de l’état courant xk et de la commande uk appliquée sur le système àpartir de cet état.

Si l’on utilise les méthodes ensemblistes, il faut calculer le domaine du nouvelétat [xk+1] à partir du domaine de l’état courant [xk] et du domaine de la com-mande [uk]. Cette estimation d’état est réalisée à l’aide de la fonction d’inclusion

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

81

Page 82: Génération de trajectoires pour la locomotion artificielle et ...

4.3. Conjuguer l’arithmétique d’intervalles et la commande de robot

[f ]([xk], [uk]) et permet d’obtenir un domaine pour le nouvel état [xk+1].

Le domaine [xk+1] est calculé à l’aide d’une fonction d’inclusion (§ 4.2.3) et parconséquent il est différent de l’ensemble Xk+1 (4.97) des valeurs ponctuelles de xk+1

obtenues à partir de l’ensemble des valeurs ponctuelles du domaine [xk] et l’ensembledes valeurs ponctuelles du domaine [uk].

Xk+1 = f (xk, uk), xk ∈ [xk] et uk ∈ [uk] (4.97)

Dans le cas du robot, la fonction f : (xk, uk) 7→ xk+1, considérant le vecteurd’état xk = [qk, qk]

T , comprend le modèle dynamique sous la forme lagrangienne

xk+1 = g(xk, xk) =

[qk = M−1(qk, qk)(Γk −N(qk, qk))

qk

](4.98)

ainsi qu’une intégration

xk+1 =

∫xk+1dt (4.99)

Cet ensemble d’équations qui représente la dynamique du système fait apparaîtreplusieurs fois les mêmes occurrences des mêmes variables ce qui introduit un grandpessimisme dans l’estimation de Xk+1.

L’utilisation directe de la fonction d’inclusion [f ] ou l’utilisation des techniquesclassiques d’estimation d’état en présence d’intervalles (Raïssi et al., 2002) fournitdonc une estimation garantie mais inexacte du domaine Xk+1 :

– garantie dans le sens où tous les états atteignables partant d’un état dans ledomaine [xk] et en appliquant une commande dans le domaine [uk] (l’ensembleXk+1) sont inclus dans le domaine [xk+1],

– inexacte dans le sens où il existe dans le domaine calculé [xk+1] des valeursponctuelles qui sont inconsistantes avec les domaines des variables xk et uk.

[xk+1] est alors une approximation extérieure de Xk+1.

La recherche des domaines les plus petits dans le cadre des équations différ en-tielles constitue d’ailleurs une classe de problèmes à part entière dans le domaine desmathématiques (Nedialkov, 1999) et aussi spécifiquement pour l’estimation d’état(Raïssi et al., 2002) (annexe B).

Approximation extérieure liée à la contraction La contraction permet deréduire les domaines des variables d’un système d’équations ou de contraintes. Lesopérations de contraction sont répétées tant que les domaines de variables peuventêtre réduits en éliminant des valeurs inconsistantes. La contraction s’arrête lorsqueles calculs ont mené à un point fixe (les domaines sont invariants aux opérations decontraction).

Ce point fixe ne correspond pas forcément strictement à des domaines entière-ment consistants, c’est-à-dire que la contraction ne permet pas d’éliminer toutes les

82 Fabien Lydoire

Page 83: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

solutions inconsistantes.

Pour le calcul de la commande, les domaines intervenant dans les contraintessont l’état du système [xk] et la commande [uk]. La non consistance des domainesà l’issue de l’étape de contraction signifie qu’il existe dans les domaines des états[xk] des valeurs qui ne correspondent à aucune commande des domaines [uk]. Lesdomaines obtenus par contraction sont donc des approximations extérieures desdomaines solution de la dynamique.

Lors de la contraction, l’approximation extérieure des domaines [xk] se propageaux autres domaines [uk+1] et [xk+1]. On obtient alors des approximations exté-rieures pour tous les domaines du CSP.

Conséquences des approximations extérieures

Bissection : inefficacité algorithmique Comme nous l’avons dit précédemment(§ 4.3.2), la contraction ne permet que d’obtenir des approximations extérieures. Sil’on veut aller plus loin dans la contraction, il faut casser le point fixe. Ceci est réa-lisé classiquement en bissectant l’un des domaines dans sa dimension la plus grande.Cependant, cette bissection s’avère inefficace en complexité et il est donc souhaitabled’y recourir le moins souvent possible.

Une approximation extérieure pessimiste des états [xk] conduit à la bissection descommandes [uk]. En effet, le domaine de l’état n’est estimé qu’à travers les calculsensemblistes. Ces calculs représentent le seul moyen de connaître le domaine de l’étatet ainsi de déterminer si la commande mène à un état admissible. Par conséquent,même si la commande est faisable, si l’estimation d’état est mauvaise (au sens d’unpessimisme important), le domaine de la commande ne sera pas considéré commefaisable et sera bissecté.

Exemple 4.3.1 (explosion combinatoire des domaines considérés). Plaçonsnous dans un espace mono-dimensionnel. La réduction par bissection du domaine[−5; 9] pour obtenir uniquement des domaines 4 fois moins larges est réalisée par3 opérations de bissection : d’abord la bissection de l’intervalle [−5; 9] en [−5;−2]et [−2; 9] puis la bissection de chacun de ces intervalles pour obtenir [−5;−1.5],[−1, 5; 2],[2; 5, 5],[5, 5; 9].

Dans le cas général, dans un espace de dimension n, pour obtenir uniquement desboîtes 2m fois moins larges dans toutes les dimensions de l’espace, il faut 2n×m − 1bissections qui donnent 2n×m boîtes.Dans un espace à 4 dimensions (n = 4) pour obtenir des boîtes 4 fois plus petitesque la boîte d’origine (m = 2) on obtient 64 boîtes en 63 bissections.Dans un espace à 15 dimensions (n = 15) pour obtenir des boîtes 4 fois plus petitesque la boîte d’origine (m = 2), on obtient plus de 1.109 boîtes.

En résumé, si l’estimation d’état est pessimiste, la contraction s’avère inefficaceet le domaine de la commande ne peut être réduit que par bissection. Afin d’obtenirune réduction du domaine de la commande significative, il faut donc multiplier les

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

83

Page 84: Génération de trajectoires pour la locomotion artificielle et ...

4.3. Conjuguer l’arithmétique d’intervalles et la commande de robot

opérations de bissection ce qui a pour conséquence l’explosion combinatoire desdomaines à explorer lors de la recherche de solution et, par conséquent, une grandeinefficacité algorithmique dans le calcul de la commande.

Cependant, l’inefficacité algorithmique n’est pas la seule conséquence des ap-proximations extérieures. Elles ont aussi pour conséquence une inefficacité dansl’évaluation du domaine de la commande.

Perte de solutions faisables Le domaine résultat de la commande est fortementinfluencé par les approximations extérieures. En effet, la commande est calculée dela façon suivante :

– connaissant les domaines pour l’état et la commande, on calcule le domainedu nouvel état,

– si le nouvel état est inclus dans les domaines représentant les états admissibles,le domaine de la commande est validé,

– sinon, le domaine de la commande n’est pas validé et il doit par conséquentêtre modifié.

Ainsi, les domaines candidats pour une commande admissible doivent être bis-sectés du fait du pessimisme dans l’estimation d’état. En plus d’entraîner une in-efficacité algorithmique dans la recherche de solution (paragraphe précédent), cecientraîne une perte de solution.

En effet, les domaines de commande candidats ne peuvent être bissectés à l’infini.Il est donc nécessaire de fixer un seuil en dessous duquel la bissection n’est pluspermise. Si le pessimisme ne permet pas de valider un domaine de commande alorsque celui-ci :

– ne contient que des valeurs admissibles,– est de dimension ne permettant plus sa bissection,

alors, ces valeurs admissibles de commande seront perdues.

Le pessimisme accentue donc la perte de solution liée à l’impossibilité de bissec-ter infiniment les domaines. Plus le pessimisme est grand, plus les domaines garantiscomme admissibles sont petits et nécessitent pour être déterminés un seuil de bis-section faible.

La figure 4.12 montre la validation d’un domaine pour la commande uk en déter-minant l’admissibilité de l’état xk+1 par des calculs ponctuels. La figure 4.13 illustreque ce même domaine pour la commande uk n’est pas déterminé comme faisableavec les calculs par intervalles et doit par conséquent être bissecté, bien que menantà un domaine admissible. Le pessimisme n’a pas permis de garantir l’admissibilité del’état [xk+1]. Une estimation moins pessimisme aurait permis de valider le premierdomaine considéré et par conséquent :

– de réduire le nombre d’opérations,– de fixer un seuil de bissection plus grand,

afin de déterminer une commande admissible.

84 Fabien Lydoire

Page 85: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

ensemble desétats ponctuels xk+1

[uk]

domaine admissible

f (xk, uk)

pour l’état xk+1, calculé à partir des valeursponctuelles de l’état xk

ensemble des

domaine de uk menant à un domaine admissible

états ponctuels xk

Fig. 4.12 – Faisabilité d’une commande avec les calculs ponctuels

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

85

Page 86: Génération de trajectoires pour la locomotion artificielle et ...

4.3. Conjuguer l’arithmétique d’intervalles et la commande de robot

pour l’état [xk+1], calculé à partir du domaine [xk]domaine de uk menant à un domaine non admissible

[uk]

domaine admissible

[f ]([xk], [uk])

[xk]

ensemble des

[xk+1]

états ponctuels xk

ensemble desétats ponctuels xk+1

(a)

pour l’état [xk+1], calculé à partirdu domaine [xk]

domaine de uk menant à un domaine admissible

[uk]

domaine admissible

[f ]([xk], [uk])

[xk]

ensemble des

[xk+1]

états ponctuels xk

ensemble desétats ponctuels xk+1

(b)

Fig. 4.13 – Faisabilité d’une commande avec l’arithmétique d’intervalles86 Fabien Lydoire

Page 87: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

Pour ces différentes raisons, l’approximation extérieure du domaine de l’état n’estpas satisfaisante et nous avons donc proposé une nouvelle approche de l’estimationd’état.

4.3.3 Estimation d’état et arithmétique d’intervalles

Le calcul exact du domaine de l’état xk+1 à partir des domaines de l’état xk etde la commande uk en utilisant les opérateurs de l’arithmétique d’intervalles n’estpas possible. Comme nous l’avons mentionné au § 4.3.2, les techniques habituelles,basées sur les séries de Taylor avec intervalles, fournissent une approximation exté-rieure qui n’est pas satisfaisante dans le cadre de la synthèse d’une loi de commande.

L’estimation exacte du domaine de l’état étant impossible, il faut donc se satis-faire d’une approximation intérieure du domaine, seule solution acceptable de par laformulation du problème. Nous avons donc proposé le calcul de cette approximationintérieure par l’utilisation de valeurs ponctuelles distribuées dans les domaines desentrées et de l’état.

À chaque itération, l’ensemble des entrées u1k, . . . , u

nk qui définit une distribution

spatiale du domaine initial pour l’entrée [uk, uk], est appliqué à chaque valeur ponc-tuelle de l’état x1

k, x2k, . . . , x

mk qui définit une discrétisation spatiale de [xk] où m est

le nombre de valeurs ponctuelles de l’état dépendant du pas de discrétisation choisi.Ces calculs définissent un nouvel ensemble de valeurs ponctuelles qui représententune discrétisation spatiale de [xk+1] (fig. 4.14).

espace de l’état xk

x1k

x2k

x3k

u1k

u5k

u3k

u4k

u2k

f (xpk, u

lk)

[uimin, uimax

]

espace de l’état xk+1

Fig. 4.14 – Discrétisation spatiale

Si f est une fonction continue, la discrétisation spatiale de xk+1 calculée àpartir de la discrétisation spatiale de [xk] fournit une approximation intérieure de

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

87

Page 88: Génération de trajectoires pour la locomotion artificielle et ...

4.3. Conjuguer l’arithmétique d’intervalles et la commande de robot

f ([xk], [uk, uk]). En effet, quelle que soit la valeur ponctuelle xpk dans [xk], p ∈ [1, m],

et quelles que soient les entrées ulk et ul+1

k , l ∈ [1, n− 1], la continuité de f assureque

[min(f (xpk, u

lk), f (xp

k, ul+1k )), max(f (xp

k, ulk), f (xp

k, ul+1k ))] ⊆ f (xp

k, [ulk, u

l+1k ])(4.100)

Par conséquent, l’ensemble des valeurs d’entrée S′ en considérant l’approximationintérieure de l’état, p ∈ [1, m]

S′ =ui ∈ [ulk, u

l+1k ] |

[min(f (xpk, u

lk), f (xp

k, ul+1k )), max(f (xp

k, ulk), f (xp

k, ul+1k ))] ⊆ [xk+1min

, xk+1max]

(4.101)

est une approximation intérieure de l’ensemble des variables d’entrée S dans le casd’un estimateur parfait sur les intervalles

S = [ulk, u

l+1k ] | f (xp

k, [ulk, u

l+1k ]) ⊆ [xk+1min

, xk+1max] (4.102)

soitS′ ⊆ S (4.103)

En général, les méthodes d’estimation garantie calculent des approximations ex-térieures qui combinées à la répétition de l’estimation au cours de la prédictionaboutissent à une estimation d’état très pessimiste. Par conséquent, la rétropropa-gation du domaine de l’état n’est pas efficace dans le sens où ce domaine ne permetpas la réduction significative des autres domaines du CSP. Ainsi, l’approximationintérieure permet de rétropropager des domaines réduits et donc de permettre unecontraction efficace. Cependant, il faut garder en mémoire que ces domaines sontdes approximations intérieures et donc qu’il y a perte de solutions.

L’efficacité de la solution dépend des valeurs uli choisies pour l’échantillonnage

du domaine initial pour l’entrée [ukmin, ukmax

], et du seuil de précision εbissection dé-finissant la taille minimale au dessous de laquelle on ne bissecte pas un intervalle.

Une limitation de cette approche d’approximation intérieure de l’état est queles valeurs non incluses dans l’approximation intérieure ne sont pas considéréeset peuvent par conséquent ne pas respecter les domaines admissibles pour les va-riables (fig. 4.15). Cela mène à la validation d’une entrée non valide au sens du CSP.Cependant, l’algorithme garantit que les valeurs ponctuelles, qui définissent la dis-crétisation spatiale de l’état, appartiennent au domaine admissible. Ces valeurs ontété calculées à partir de valeurs ponctuelles qui définissent la discrétisation spatialede l’entrée. Ainsi, ces valeurs ponctuelles garantissent le respect des domaines. Parcontre, choisir une valeur ponctuelle quelconque dans le domaine calculé pour lavariable d’entrée peut conduire au non respect du domaine admissible.

4.3.4 Adaptation des outils de l’arithmétique d’intervalles àla commande

Le contracteur Le CSP issu du problème initial du NMPC est résolu en utili-sant un algorithme de contraction : la propagation-rétropropagation de contraintes

88 Fabien Lydoire

Page 89: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

domaine admissible

violation dudomaine

approximation intérieurede l’état

espace d’état

Fig. 4.15 – Non respect des domaines dû à l’approximation intérieure de l’état

(§ 4.2.5).

La contrainte intervenant dans le contracteur est le modèle dynamique (fonction[f ]) qui comme nous l’avons vu précédemment se décompose en une équation repré-sentant la dynamique sous la forme lagrangienne (fonction [g], (4.98)) ainsi qu’uneintégration. Nous avons choisi d’intégrer en utilisant un développement en série deTaylor d’ordre 1.

Dans la propagation-rétropropagation, les contraintes doivent être exprimées plu-sieurs fois en isolant chacune des variables intervenant dans ces contraintes. Ainsinous introduisons les fonctions [g(2)] et [g(3)] permettant d’isoler l’état et la com-mande, de l’équation lagrangienne de la dynamique décrite par la fonction [g]. Ainsi,la fonction g permet d’isoler la variable xk+1, la fonction g(2) isole la variable xk etla fonction g(3) isole la variable uk.

Remarque 4.3.1. Lors de la mise en œuvre de la propagation-rétropropagation sepose la question de la décomposition des contraintes ainsi que la construction desfonctions d’inclusion intervenant dans le contracteur. Cependant, quel que soit lechoix dans la construction du contracteur (décomposition plus ou moins précise),celui-ci ne permet que de calculer une approximation extérieure de l’ensemble solu-tion du problème de satisfaction de contraintes et par conséquent les problèmes liésà l’approximation extérieure apparaissent.

Le contracteur comprend une étape de propagation sur tout l’horizon, puis uneétape de rétropropagation sur tout l’horizon également. Ces étapes sont détailléesdans l’algorithme 2, lignes 2 à 10.

Les domaines de l’état du système (positions, vitesses) [xk] sont initialisés auxdomaines admissibles : [xadmissible] le long de l’horizon et [xNp

] pour le domaineterminal à la fin de l’horizon. Les domaines [u

Np

k ] de la commande sont initialisésau domaine admissible de la commande [uadmissible]. Les variables correspondant àl’accélération du système ne sont pas contraintes ; leur valeur ne dépend que de la

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

89

Page 90: Génération de trajectoires pour la locomotion artificielle et ...

4.3. Conjuguer l’arithmétique d’intervalles et la commande de robot

dynamique du système et des variables d’état et de commande. Par conséquent ledomaine de ces variables est initialisé à [−∞; +∞] et sera réduit au cours de lacontraction.

Valider la faisabilité de la commande À la fin de l’étape de contraction, enconséquence des intersections avec les ensembles admissibles pour les variables d’état(positions, vitesses) et la commande, les domaines de ces variables ne peuvent qu’êtreréduits. Ainsi, il est possible d’aboutir à l’ensemble vide pour le domaine d’une desvariables du CSP ; ce qui signifie, de façon garantie, qu’il n’existe pas de solutionau problème posé de satisfaction de contraintes.

Dans le cas contraire, c’est-à-dire si l’ensemble vide n’apparaît pas lors des opé-rations de contraction, alors il n’est pas possible de statuer sur la faisabilité dela commande. En effet, la contraction ne permet pas d’affirmer que la commandeissue de la contraction est faisable i.e. mène le système de l’état courant k à l’étatk + Np, ces états ainsi que les états intermédiaires respectant tous les contraintesd’admissibilité. Les domaines des variables d’état sont intersectés avec les domainesadmissibles lors de la contraction et par conséquent les domaines des variables d’étatne peuvent être plus grands que les domaines admissibles. Par conséquent, il n’estpas possible de statuer sur l’admissibilité des variables d’état en se basant unique-ment sur les domaines dans la contraction.

En résumé, si l’ensemble vide apparaît lors de la contraction, alors le CSP n’apas de solution. Dans le cas contraire, on ne peut rien dire sur le domaine de lacommande.

Il est donc nécessaire d’introduire des tests supplémentaires pour déterminer lafaisabilité de la commande. C’est ce qui est fait aux lignes 11 à 19 de l’algorithme 2en estimant l’état du système le long de l’horizon et en le comparant avec les étatsadmissibles. Cette estimation d’état fait intervenir de nouvelles variables [χk], [χk]qui n’interviennent que lors de la validation de la commande. En effet, les variables[xk], [xk] représentent l’état contraint par les domaines admissibles. Les nouvellesvariables permettent l’estimation d’état sans contraintes le long de l’horizon unique-ment à partir des conditions initiales et des domaines de commande [uk].

Si l’un des états [χk], [χk] suite à l’application de la commande n’est pas ad-missible, alors la commande n’est pas faisable et si un point fixe n’est pas atteint,l’opération de contraction est réitérée. Sinon, la commande est garantie être faisableet nous avons donc déterminé une solution au problème de faisabilité issu du NMPC.Appliquer n’importe quelle valeur ponctuelle dans le domaine de la commande ga-ranti le respect des contraintes.

La commande basée sur la contraction La contraction seule n’est pas suf-fisante pour déterminer une commande faisable. En effet, à la fin de l’étape decontraction,

– soit la commande est faisable,

90 Fabien Lydoire

Page 91: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

Algorithme 2 : Contraction classique pour la commande prédictive

[uNp

k ] := contraction_classique([uNp

k ])état_admissible ← faux1

tant que pas de point fixe et non état_admissible faire2

//Propagation le long de l’horizonpour k = 0 . . . (Np − 1) faire3

[xk+1]← ([g]([xk], [uk])) ∩ [xk+1]4

[xk+1]← ([xk] + δt [xk+1]) ∩ [xk+1]5

//Rétropropagation le long de l’horizonpour k = (Np − 1) . . . 1 faire6

[xk]← ([xk+1]− δt [xk+1]) ∩ [xk]7

[xk+1]←(

[xk+1]− [xk]

δt

)∩ [xk+1]

8

[xk]← ([g(2)]([xk+1], [uk])) ∩ [xk]9

[uk]← ([g(3)]([xk], [xk+1])) ∩ [uk]10

//Vérification de la faisabilité de la commandeétat_admissible ← vrai11

k ← 112

[χ0]← [x0]13

tant que k < Np et état_admissible faire14

[χk+1]← ([f ]([χk], [uk]))15

[χk+1]← [χk] + δt [χk+1]16

si [χk+1] * [xadmissible] alors17

état_admissible ← faux18

k ← k + 119

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

91

Page 92: Génération de trajectoires pour la locomotion artificielle et ...

4.3. Conjuguer l’arithmétique d’intervalles et la commande de robot

– soit l’algorithme a atteint un point fixe.

Dans ce dernier cas, il faut poursuivre la contraction pour trouver une solutionfaisable. Nous présentons donc une structure de contrôle qui encapsule la contrac-tion afin de calculer une commande faisable dans le cas où un point fixe est atteint(algorithme 3).

Ainsi, si un point fixe est atteint, il est cassé en bissectant le domaine [u] de lacommande. Cependant, en pratique, pour ne pas bissecter à l’infini, il est nécessairede fixer un seuil εbissection sur le diamètre de l’intervalle de commande en-dessousduquel l’algorithme n’effectue plus de bissection (algorithme 3, lignes 6 à 12).

Les nouveaux domaines issus de la bissection sont traités par appel récursif.Ainsi, chaque nouveau domaine sera contracté par l’algorithme de contraction et :

– validé si la commande est admissible,– bissecté si la commande correspond à un point fixe.

Algorithme 3 : Commande récursive basée sur la contraction[usolution] := commande_contraction_récursive([uà contracter])

[ucontracté], commande_faisable ← contraction_classique([uà contracter])1

si [ucontracté] 6= ∅ alors2

si commande_faisable alors3

[usolution]← [ucontracté]4

sinon5

//[ucontracté] est un point fixesi diam([u])> εbissection alors6

bissection de [ucontracté] en [u1] et [u2]7

[usolution1] ← commande_contraction_récursive([u1])8

[usolution2] ← commande_contraction_récursive([u2])9

[usolution]← [usolution1], [usolution2]10

sinon11

//domaine trop petit pour être bissecté et commande non faisable[usolution]← ∅12

sinon13

[usolution]← ∅14

Bissection et optimisation

La bissection fait apparaître de nouvelles boîtes candidates pour la commandedont l’ordre de traitement des candidats est un paramètre primordial si l’on veutdéterminer une commande admissible en un nombre d’opérations minimal.

L’objectif, rappelons-le, est de déterminer un domaine faisable, c’est-à-dire per-mettant de respecter les contraintes issues de la formulation NMPC. Ainsi, à la fin

92 Fabien Lydoire

Page 93: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

de l’étape de contraction si l’on a déterminé un domaine faisable, deux alternativesse présentent :

Solution 1 arrêter la recherche de solution puisque l’on a déterminé un domainefaisable,

Solution 2 continuer la recherche de solutions faisables afin de déterminer un do-maine faisable plus grand, ceci dans le but d’offrir plus de liberté dans le choixd’une solution ponctuelle dans le domaine solution. Cela permet le choix d’unesolution de norme minimale (en minimisant l’énergie par exemple).

Si l’on choisit d’arrêter la recherche de solution dès l’obtention d’un domaine fai-sable (solution 1), alors l’ordre de traitement des domaines devient primordial. Eneffet, les bissections consécutives font apparaître de nombreux domaines candidatsde commande à contracter. On peut alors ordonner les domaines à traiter selon uncritère. Il n’est donc plus nécessaire de construire le plus grand domaine faisable(solution 2), puisque le premier domaine faisable trouvé correspond au domaine op-timal, au sens du critère d’ordonnancement choisi des domaines candidats.

Exemple 4.3.2 (Recherche de solution dans un arbre ou avec une liste or-donnée). Supposons que l’on souhaite appliquer la commande admissible de normeminimale. Si l’on utilise l’algorithme sans ordonnancement des domaines candidats,et si l’on interrompt la recherche récursive de solution dès que l’on a déterminé undomaine admissible, alors le choix de la commande admissible à appliquer sur lesystème est soumis au hasard du parcours de l’arbre des domaines candidats.

En utilisant l’algorithme avec ordonnancement des domaines candidats selon laplus petite norme, l’application d’une solution de norme minimale est garantie parle critère d’ordonnancement.

Soit un domaine initial [−5; 5] et supposons que les domaines [−5;−2, 5] et [0; 5]sont admissibles.

recherche dans un arbre Dans le cas de recherche dans un arbre, même en trai-tant en premier la branche contenant la valeur de norme minimale, le domaine[−5;−2, 5] est trouvé en premier et donc considéré comme solution. Par consé-quent, la valeur −2,5 sera appliquée au système.Note : lors du choix à partir du nœud [−5; 5], les branches vers [−5; 0] ou[0; 5] peuvent être choisies indifféremment puisque leur norme minimale estidentique (égale à 0).

[−2, 5; 0]

1

2

34

[−5; 5]

[−5; 0] [0; 5]

[−5;−2, 5]

liste ordonnée Dans le cas d’une liste L ordonnée selon la plus petite norme, lesvaleurs successives de la liste sont :

1. L := [−5; 5]

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

93

Page 94: Génération de trajectoires pour la locomotion artificielle et ...

4.3. Conjuguer l’arithmétique d’intervalles et la commande de robot

2. L := [−5; 0], [0, 5]

3. L := [−2, 5; 0], [0, 5], [−5;−2, 5]

Note : à l’étape 2, les domaines [−5; 0] et [0; 5] peuvent être classés dans unordre où l’autre puisque ils ont la même norme minimale.À l’étape 3, le domaine [−5;−2, 5] est inséré à la fin de la liste puisque || −2, 5|| > ||0||. Le domaine [−2, 5; 0] est rejeté car non admissible. Le domaine[0, 5] est validé. Par conséquent la valeur 0 (contrairement à la valeur −2,5obtenue avec la méthode précédente) sera appliquée.

Utiliser la bissection nécessite le traitement ordonné des domaines candidats, cequi se ramène à la recherche d’une solution optimale. Cette nouvelle loi de com-mande, toujours basée sur la contraction, est détaillée dans l’algorithme 4.

Dans cet algorithme, L représente la liste ordonnée des domaines candidats. Elleest initialisée avec un seul élément qui est le domaine admissible pour la commande.Cette liste est ensuite complétée par les différents domaines issus de la bissection.

Algorithme 4 : Commande avec ordonnancement des boîtes[usolution] := commande_contraction_liste(L)

[usolution]← ∅1

tant que L 6= ∅ et [usolution] = ∅ faire2

extraire le premier élément de L dans [u]3

[ucontracté],commande_faisable ← contraction_classique([u])4

si [ucontracté 6= ∅] alors5

si commande_faisable alors6

[usolution]← [ucontracté]7

sinon8

si diam([ucontracté])> εbissection alors9

bissection de [ucontracté] en [u1] et [u2]10

ajouter [u1] et [u2] à leur place dans L11

sinon12

//domaine trop petit pour être bissecté et commande nonfaisable

//on ne fait rien

sinon13

//pas de solution//on ne fait rien

L’algorithme 4 est donc un algorithme d’optimisation similaire à ceux présentésdans (Jaulin et al., 2001; Leclerc, 1992).

Remarque 4.3.2. Les algorithmes d’optimisation sont habituellement basés surla stratégie branch (bissection récursive des variables) and bound (estimation desbornes du critère). Ces algorithmes diffèrent dans la façon dont la liste des boîtescandidates est ordonnée ainsi que l’utilisation de calculs complémentaires tels que lacontraction ou des tests qui déterminent si un domaine candidat peut contenir une

94 Fabien Lydoire

Page 95: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

solution optimale.

Un test efficace qui permet d’éliminer des domaines candidats dans le cadre del’optimisation est le midpoint rejection test. Il consiste à éliminer les domainescandidats dont la borne inférieure du critère est supérieure à la borne supérieuredu domaine candidat le plus prometteur. Ce type de test diminue sensiblement lenombre d’opérations nécessaires pour déterminer le plus grand domaine optimal.

Cependant, ce type de test n’est pas appliqué dans notre cas. En effet, pour sebaser sur les bornes d’un domaine afin d’éliminer des domaines candidats qui nepeuvent contenir de minimum, il faut la garantie que ce premier domaine est faisable.Or si on a déterminé un domaine faisable, la recherche de solution est interrompuepuisque nous ne cherchons pas le plus grand domaine mais seulement 1 domaineadmissible.

Pondérer la notion de point fixe

Par définition, le point fixe est atteint lorsqu’aucun domaine du CSP n’est plusmodifié par la contraction. En pratique, les variations numériques des domaines aucours de la contraction peuvent être extrêmement faibles, mais non nuls. Dans cecas, l’algorithme classique peut itérer l’opération de contraction même en présencede modifications non significatives des domaines lors de la rétropropagation. Parconséquent, nous introduisons une variable de seuil εcontraction représentant la va-riation des bornes du domaine de la commande. Si les bornes de la commande nevarient pas plus de εcontraction, alors nous considérons être sur un point fixe.

Cependant, sans considérer les problèmes numériques liés à l’implantation duprogramme dans un ordinateur, il peut être intéressant de définir un seuil εcontraction

de façon à favoriser la bissection sur la contraction. La définition de ce seuil doitpermettre d’établir un juste équilibre entre les opérations de contraction et de bis-section ; multiplier les opérations de contraction sans modification majeure des do-maines est inefficace et multiplier le nombre de domaines candidats issus de la bis-section introduit une explosion combinatoire des domaines à considérer.

Déterminer l’admissiblité de la commande

Pour déterminer si le domaine de la commande est faisable, il existe plusieurssolutions. La première est d’estimer les états le long de l’horizon, puis de les com-parer avec les domaines admissibles. Cette opération doit être réalisée à la fin de lacontraction. Cette solution est proposée dans l’algorithme 2 des lignes 11 à 19.

Cependant, les calculs de vérification sont similaires à ceux effectués lors dela propagation excepté pour les intersections avec les valeurs précédentes des do-maines. Nous avons donc proposé une modification de l’algorithme de contractionafin de combiner la contraction et l’estimation d’état (algorithme 5). Il s’agit depropager sans faire d’intersection (lignes 2 à 5). L’étape d’intersection (lignes 6 à9) n’est réalisée qu’après la propagation. Ainsi, une modification d’un domaine lors

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

95

Page 96: Génération de trajectoires pour la locomotion artificielle et ...

4.3. Conjuguer l’arithmétique d’intervalles et la commande de robot

de l’intersection avec les domaines admissibles signifie que ce domaine n’était pasadmissible. Au contraire, si l’intersection n’a pas d’effet sur les domaines, alors lesdomaines étaient admissibles et donc le domaine de la commande utilisé dans lapropagation est faisable. L’algorithme permet ainsi de déterminer une commandefaisable donc on interrompt la recherche de solution (ligne 17).

Algorithme 5 : Propagation-rétropropagation pour la commande du penduleavec test de faisabilité de la commande[u] := contraction_classique_intersection([u])

état_admissible ← faux;1

tant que pas de point fixe et non état_admissible faire2

//Propagation le long de l’horizonpour k = 0 . . . (Np − 1) faire3

[xk+1]← ([f ]([xk], [uk])) ∩ [xk+1];4

[xk+1]← ([xk] + δt [xk+1]) ∩ [xk+1];5

//Intersection le long de l’horizonk ← 1;6

tant que k < Np et pas d’ensemble vide faire7

[xk+1]← [xk+1] ∩ [xadmissible];8

k ← k + 19

si l’intersection a modifié l’un des [qk] ou l’un des [qk] alors10

//les états ne sont pas admissibles donc la commande n’est pas faisable//Rétropropagationpour k = (Np − 1) . . . 1 faire11

[xk]← ([xk+1]− δt [xk+1]) ∩ [xk];12

[xk+1]←(

[xk+1]− [xk]

δt

)∩ [xk+1];

13

[xk]← ([g(2)]([xk+1], [uk])) ∩ [xk];14

[uk]← ([g(3)]([xk], [xk+1])) ∩ [uk];15

sinon16

//l’intersection n’a pas eu d’effet, la commande est faisableétat_admissible← vrai17

Boucle de rétropropagation

La modification, dans le paragraphe précédent de l’algorithme de contractionpose la question de la pertinence de la phase de propagation.

En effet, avec le nouvel algorithme (5), les phases de propagation et intersectionsont séparées. Par conséquent, seules les valeurs des domaines [uk] et des domainesadmissibles interviennent dans le calcul des domaines [xk], [xk]. Ainsi, une nouvellephase de propagation+intersection ne modifiera les valeurs des domaines décrivantl’état du système seulement si le domaine [uk] est réduit (puisque les contraintes nechangent pas d’une itération de la contraction à une autre).

96 Fabien Lydoire

Page 97: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 4. Commande prédictive et arithmétique d’intervalles

Considérant cette remarque, il est inutile d’effectuer les calculs de propagation sile domaine de la commande [uk] n’a pas changé durant la phase de rétropropagation.Comme précédemment, la modification du domaine [uk] est appréciée par rapportau seuil εcontraction. Le nouvel algorithme est présenté dans l’algorithme 6.

Algorithme 6 : Propagation-rétropropagation pour la commande du penduleavec test de faisabilité de la commande et boucle de rétropropagation[u] := contraction_classique_intersection([u])

état_admissible ← faux;1

tant que pas de point fixe et non état_admissible faire2

//Propagation le long de l’horizonpour k = 0 . . . (Np − 1) faire3

[xk+1]← ([f ]([xk], [uk])) ∩ [xk+1];4

[xk+1]← ([xk] + δt [xk+1]) ∩ [xk+1];5

//Intersection le long de l’horizonk ← 1;6

tant que k < Np et pas d’ensemble vide faire7

[xk+1]← [xk+1] ∩ [xadmissible];8

k ← k + 19

si l’intersection a modifié l’un des [xk] ou l’un des [xk] alors10

//les états ne sont pas admissibles donc la commande n’est pas faisabletant que [u] n’est pas modifié de plus de εcontraction et que pas de11

point fixe faire//Rétropropagationpour k = (Np − 1) . . . 1 faire12

[xk]← ([xk+1]− δt [xk+1]) ∩ [xk];13

[xk+1]←(

[xk+1]− [xk]

δt

)∩ [xk+1];

14

[xk]← ([g(2)]([xk+1], [uk])) ∩ [xk];15

[uk]← ([g(3)]([xk], [xk+1])) ∩ [uk];16

sinon17

//l’intersection n’a pas eu d’effet, la commande est faisableétat_admissible← vrai18

Regardons de plus près les modifications apportées dans cet algorithme et plusparticulièrement la notion de point fixe. Dans l’algorithme 5, nous considérions êtresur un point fixe si la commande ne variait pas de plus de εcontraction.

Dans le nouvel algorithme, la notion de point fixe a changé. L’idée est d’itérerla rétropropagation tant que la commande ne change pas et tant que les domaines[xk], [xk] changent. Ainsi, même si le domaine de la commande n’est pas modifié, onne sortira de la boucle de rétropropagation que si les domaines décrivant l’état dusystème ne varient plus. La notion de point fixe est plus stricte que dans le cas précé-dent puisqu’elle est basée sur les variations des domaines [xk], [xk] sans aucun seuil.Ainsi des variations même minimes des domaines [xk], [xk] sans rétropropagationsignificative sur le domaine [uk] (supérieure à εcontraction) piégeraient l’algorithme

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

97

Page 98: Génération de trajectoires pour la locomotion artificielle et ...

4.3. Conjuguer l’arithmétique d’intervalles et la commande de robot

dans une boucle de rétropropagation et ne permettrait donc pas la terminaison del’algorithme. L’algorithme 6 ne présente donc pas d’amélioration par rapport à l’al-gorithme 5.

4.3.5 Conclusion

Nous avons présenté l’utilisation des outils de l’arithmétique d’intervalles pour lasynthèse d’une commande prédictive. Partant de la formulation du problème NMPCsans trajectoire de référence, nous avons reformulé le problème de la commande sousla forme d’un problème de satisfaction de contraintes (CSP) que nous résolvons avecla méthode de propagation-rétropropagation de contraintes.

Diverses améliorations de l’algorithme classique de propagation-rétropropagationont été proposées afin d’adapter cette méthode au contexte de recherche de com-mande. Nous avons donc introduit :

– un seuil εbissection limitant le nombre de bissections,– un seuil εcontraction permettant de contrôler la précision du point fixe lors de la

contraction,– un critère d’ordonnancement des domaines de commande candidats,– une modification de l’algorithme de contraction permettant de combiner la

contraction et l’estimation d’état.

Malgré les adaptations des outils de l’arithmétique d’intervalles pour la com-mande prédictive, l’efficacité des opérations de contraction est pénalisée par le pes-simisme qui apparaît lors de l’estimation d’état.

Nous proposons donc de pallier le pessimisme par une discrétisation spatiale desdomaines comme présentée au § 4.3.3. Cette discrétisation améliore sensiblementles performances de l’algorithme de commande en termes de nombre d’opérations,comme le montrent les différents exemples de l’application de la commande parintervalles sur un pendule sous actionné présentée dans le paragraphe suivant.

98 Fabien Lydoire

Page 99: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 5. Application à la commande d’un pendule sous actionné

Chapitre 5

Application à la commande d’unpendule sous actionné

Ce chapitre présente l’application de la stratégie de com-mande présentée dans le chapitre précédent sur un système

non linéaire sous actionné à deux degrés de liberté : le penduleinversé. Différentes simulations illustrent, de façon comparativeet incrémentale, nos contributions à l’adaptation de la com-mande prédictive avec les outils de l’arithmétique d’intervalles.

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 100

5.2 Modèle de pendule . . . . . . . . . . . . . . . . . . . . . . 100

5.3 Commande NMPC . . . . . . . . . . . . . . . . . . . . . . 101

5.4 Commande via l’arithmétique d’intervalles . . . . . . . . 105

5.5 Commande via l’arithmétique d’intervalles et discréti-

sation spatiale . . . . . . . . . . . . . . . . . . . . . . . . . 112

5.6 Récapitulatif des simulations . . . . . . . . . . . . . . . . 117

5.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

99

Page 100: Génération de trajectoires pour la locomotion artificielle et ...

5.1. Introduction

5.1 Introduction

Dans ce chapitre nous illustrons les outils de l’arithmétique d’intervalles (§ 4.2)pour la synthèse de la commande proposée au § 4.3 d’un système à 2 degrés de liber-tés (ddl) sous actionné : le pendule. Ce système ne comporte qu’une seule variablede commande pour 2 ddl et permet sur un exemple simple de mettre en évidence lesdifficultés liées à l’utilisation des méthodes ensemblistes et d’illustrer l’efficacité desréponses que nous avons proposées.

5.2 Modèle de pendule

Considérons le pendule inverse qui est un modèle de validation classique dans lesétudes sur la stabilisation non linéaire (Åström et Furuta, 2000; Magni et al.,2002). L’équation de sa dynamique sous forme Lagrangienne s’écrit :

m l x cos(q) + (J + m l2) q −m g l sin(q) = 0 (5.1)

où m est la masse du pendule, l la distance du centre de masse au pivot, g l’accé-lération de la pesanteur et x l’accélération linéaire du chariot sur lequel est fixé lependule par une liaison pivot passive et J le moment d’inertie par rapport au pivot(figure 5.1). Dans cette modélisation, les frottements ont été négligés et le penduleest considéré comme un corps rigide.

charriot

la pesanteur gq

pendule

u : accélération x

accélération de

Fig. 5.1 – Le pendule inverse

Afin de simplifier les notations, nous introduisons dans l’écriture de l’équation 5.1les deux constantes Ksin et Kcos :

q −Ksin sin(q) + Kcos xk cos(q) = 0 (5.2)

où Ksin =m l g

J + m l2et Kcos =

m l

J + m l2.

L’état du pendule [qk+1, qk+1]T à l’instant k + 1, connaissant l’état du pendule à

l’instant k et la commande uk (l’accélération du chariot xk) appliquée au système, estestimé par l’équation de la dynamique (5.2). Cette équation permet de déterminer

100 Fabien Lydoire

Page 101: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 5. Application à la commande d’un pendule sous actionné

l’accélération du pendule qk+1 qui doit ensuite être intégrée deux fois afin d’obtenirsuccessivement qk+1 et qk+1.

Dans les simulations présentées par la suite, l’intégration sera calculée de deuxfaçons différentes :

– un développement de Taylor au premier ordre dans la partie contrôleur

qk+1 = qk + δt qk+1 (5.3)

qk+1 = qk + δt qk+1 (5.4)

où δt est la période d’échantillonnage temporel– la méthode d’intégration de Runge-Kutta dans la partie simulation.

5.3 Commande NMPC

Afin de comparer l’approche proposée utilisant les outils intervalles et une ap-proche standard, nous présentons tout d’abord quatre simulations obtenues avec unNMPC classique (§ 4.1.3) mais sans trajectoire de référence.

5.3.1 Le critère

Le critère utilisé ici correspond à la minimisation quadratique de la commande àlaquelle on ajoute une contrainte de stabilité sous la forme d’un terme quadratiquedépendant de l’état terminal XT

NpP XNp

où XNp= [qNp

, qNp]T . Ce terme quadratique

permet de forcer le système à atteindre un voisinage de l’état terminal en un tempsfini. Il s’agit donc de minimiser

minu

Npk

1

2(u

Np

k )T uNp

k + XTNp

P XNp(5.5)

Un retour d’état linéaire équivalent est considéré pour déterminer la matrice depénalité P (Chen et Allgöwer, 1998; Scokaert et al., 1999). Le calcul de lamatrice P est détaillé en annexe A.

5.3.2 Les contraintes

Les contraintes portent sur l’état du système le long de l’horizon c’est-à-direla position qk et la vitesse qk du pendule. Ces contraintes correspondent à descontraintes de fonctionnement. Par conséquent, elles sont définies par des bornesinférieures et supérieures qmin, qmax, qmin, qmax et définissent des domaines admissibles[qadmissible], [qadmissible]. Elles sont constantes sur l’horizon. Nous définissons de plusune contrainte pour la position à la fin de l’horizon avec une zone terminale incluseentre qNpmin

, qNpmax.

5.3.3 Simulations du NMPC sans trajectoire de référence

Dans les simulations suivantes, nous utiliserons les valeurs de paramètres indi-quées dans le tableau ci-après, représentatives d’un banc expérimental disponible aulaboratoire :

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

101

Page 102: Génération de trajectoires pour la locomotion artificielle et ...

5.3. Commande NMPC

Ksin Kcos qini (rad.s−1) δt (s)109 11,11 0 0,010

Les simulations sont réalisées avec le logiciel Matlab sur un ordinateur Pen-tium IV 2 Ghz. Dans les deux simulations suivantes, l’horizon de commande estégal à l’horizon de prédiction.

• La figure 5.2 illustre les résultats obtenus avec une position initiale proche dela verticale vers le haut. Les paramètres de cette simulation sont regroupés dans lestableaux suivants :

qini (rad) Np

−0,1 (rad) 6

Les contraintes sont :

[qadmissible] (rad) [qadmissible] (rad.s−1) [uadmissible] (m.s−2) qNp(rad)

[−π − 3π2

;−π + 3π2

] [-50 ;50] [-5 ;5] [-0,005 ;0,005]

temps de simulation (s)

q(r

ad)

temps de simulation (s)

q(r

ad.s−

1)

temps de simulation (s)

u(m

.s−

2)

temps de simulation (s)

tem

psde

calc

ul(s

)

0 5 10 15 200 5 10 15 20

0 5 10 15 200 5 10 15 20

0.24

0.26

0.28

0.3

0.32

0.34

0.36

-1.4

-1.2

-1

-0.8

-0.6

-0.4

-0.2

0

0

0.005

0.01

0.015

0.02

0.025

0.03

-0.1

-0.095

-0.09

-0.085

-0.08

-0.075

-0.07

Fig. 5.2 – Simulation avec la commande NMPC sans trajectoire de référence -position initiale proche de la verticale vers le haut

• Une deuxième simulation (figure 5.3) est présentée avec le pendule initialementpositionné verticalement vers le bas. Les paramètres utilisés pour cette nouvellevaleur initiale sont :

102 Fabien Lydoire

Page 103: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 5. Application à la commande d’un pendule sous actionné

qini (rad) Np

−π (rad) 10

Les contraintes sont :

[qadmissible] (rad) [qadmissible] (rad.s−1) [uadmissible] (m.s−2) qNp(rad)

[−π − 3π2

;−π + 3π2

] [-50 ;50] [-100 ;100] [-0,2 ;0,2]

La contrainte sur la position finale est relâchée par rapport à la simulation précé-dente, la commande admissible est plus grande et l’horizon de prédiction est allongéde façon à permettre d’atteindre l’état terminal dans un délai plus grand et ainsi depermettre de déterminer une commande admissible inférieure en norme à 100 m.s−2.

temps de simulation (s)

q(r

ad)

temps de simulation (s)

q(r

ad.s−

1)

temps de simulation (s)

u(m

.s−

2)

temps de simulation (s)

tem

psde

calc

ul(s

)

0 0.5 1 1.5 20 0.5 1 1.5 2

0 0.5 1 1.5 20 0.5 1 1.5 2

0

2

4

6

8

10

12

-20

0

20

40

60

80

100

-5

0

5

10

15

20

25

30

-4

-3

-2

-1

0

1

Fig. 5.3 – Simulation avec la commande NMPC sans trajectoire de référence -position initiale verticale vers le bas

Dans les deux cas, le pendule rejoint la zone terminale pour la position et eststabilisé vers l’équilibre q = 0 (rad), q = 0 (rad.s−1). Dans la première simulation,l’angle du pendule est stabilisé vers −0, 072 rad et non pas 0 rad. Cette position nonnulle correspond à un état à partir duquel la contrainte terminale à la fin de l’hori-zon est atteignable. Dans la seconde simulation on observe le même phénomène surla stabilisation de l’angle du pendule. Cependant, du fait des accélérations impor-tantes, le point d’équilibre est dépassé avant d’observer une stabilisation. Les temps

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

103

Page 104: Génération de trajectoires pour la locomotion artificielle et ...

5.3. Commande NMPC

de calculs épars au début de la simulation sont dûs à la valeur initiale dans l’algo-rithme d’optimisation qui est initialisée à la valeur précédente de la commande : lescommandes sont dispersées et donc l’algorithme d’optimisation met plus de tempsà déterminer la commande optimale.

Remarque 5.3.1. Dans la suite du document, on ne considèrera qu’une commandeconstante le long de l’horizon de prédiction. Afin de fournir un élément de compa-raison avec le NMPC sans trajectoire de référence, 2 nouvelles simulations, avec lesmêmes paramètres mais une seule variable de commande (u0|k sur tout l’horizon),sont réalisées. Elles sont présentées figures 5.4 et 5.5. Dans les deux cas, les tempsde calculs sont réduits puisque l’optimisation porte sur une valeur scalaire et nonplus un vecteur. La commande étant moins précise, il est difficile d’arriver de fa-çon tangente sur la position d’équilibre et celle-ci est dépassée avant d’observer unestabilisation. On peut observer également que l’évolution de la commande est plusdouce que dans le cas du NMPC avec Np variables de commande

temps de simulation (s)

q(r

ad)

temps de simulation (s)

q(r

ad.s−

1)

temps de simulation (s)

u(m

.s−

2)

temps de simulation (s)

tem

psde

calc

ul(s

)

0 0.2 0.4 0.6 0.8 10 0.5 1 1.5

0 0.5 1 1.50 0.5 1 1.5

0.02

0.04

0.06

0.08

0.1

0.12

0.14

-5

-4

-3

-2

-1

0

1

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

-0.1

-0.08

-0.06

-0.04

-0.02

0

Fig. 5.4 – Simulation avec la commande NMPC sans trajectoire de réfé-rence/commande constante le long de l’horizon - position initiale proche de la ver-ticale vers le haut

104 Fabien Lydoire

Page 105: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 5. Application à la commande d’un pendule sous actionné

temps de simulation (s)

q(r

ad)

temps de simulation (s)

q(r

ad.s−

1)

temps de simulation (s)

u(m

.s−

2)

temps de simulation (s)

tem

psde

calc

ul(s

)

0 0.2 0.4 0.6 0.8 10 0.5 1 1.5

0 0.5 1 1.50 0.5 1 1.5

0.06

0.08

0.1

0.12

0.14

0.16

0.18

0.2

-20

0

20

40

60

80

100

-10

0

10

20

30

40

-4

-3

-2

-1

0

1

Fig. 5.5 – Simulation avec la commande NMPC sans trajectoire de réfé-rence/commande constante le long de l’horizon - position initiale verticale vers lebas

5.4 Commande via l’arithmétique d’intervalles

Nous présentons dans ce paragraphe le premier résultat d’une commande pré-dictive avec des intervalles. L’algorithme 7 instancie l’algorithme de propagation-retropropagation de contraintes pour le modèle de pendule considéré ici.

Les domaines [qk] et [qk] sont initialisés aux domaines admissibles : [qadmissible],[qadmissible] le long de l’horizon et [qNp

] pour le domaine terminal à la fin de l’horizon.Le domaine [u] de la commande est initialisé au domaine admissible de la commande[uadmissible]. Les variables qk ne sont pas contraintes ; leur valeur ne dépend que dela dynamique du système et des variables qk et u. Par conséquent, le domaine desqk est initialisé à [−∞; +∞]. Cet algorithme de contraction est encapsulé dans unalgorithme de contrôle (algorithme 3, § 4.3.4) chargé de bissecter si nécessaire ledomaine de la commande.

Remarque 5.4.1. Dans l’algorithme 7, la rétropropagation sur qk n’est réalisée qu’àpartir des contraintes décrivant l’intégration. Le choix a été fait de ne pas rétropro-pager en inversant les sinus et cosinus puisque ces opérations s’avèrent inefficaces

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

105

Page 106: Génération de trajectoires pour la locomotion artificielle et ...

5.4. Commande via l’arithmétique d’intervalles

Algorithme 7 : Contraction classique pour la commande du pendule[u] := contraction_classique([u])

état_admissible ← faux1

tant que pas de point fixe et non état_admissible faire2

//Propagation le long de l’horizonpour k = 0 . . . (Np − 1) faire3

[qk+1] = (−Kcos [u] cos([qk]) + Ksin sin([qk])) ∩ [qk+1]4

[qk+1] = ([qk] + δt [qk+1]) ∩ [qk+1]5

[qk+1] = ([qk] + δt [qk+1]) ∩ [qk+1]6

//Rétropropagation le long de l’horizonpour k = (Np − 1) . . . 1 faire7

[qk] = ([qk+1]− δt [qk+1]) ∩ [qk]8

[qk+1] =

([qk+1]− [qk]

δt

)∩ [qk+1]

9

[qk] = ([qk+1]− δt [qk+1]) ∩ [qk]10

[qk+1] =

([qk+1]− [qk]

δt

)∩ [qk+1]

11

si 0 6∈ cos([qk]) alors [u] =

([qk+1]−Ksin sin([qk])

−Kcos cos([qk])

)∩ [u]

12

//Vérification de la faisabilité de la commandeétat_admissible ← vrai13

k ← 114

tant que k < Np et état_admissible faire15

[θk+1] = −Kcos [u] cos([θk]) + Ksin sin([θk])16

[θk+1] = [θk] + δt [θk+1]17

si [θk+1] * [qadmissible] alors18

état_admissible ← faux19

[θk+1] = [θk] + δt [θk+1]20

si [θk+1] * [qadmissible] alors21

état_admissible ← faux22

k ← k + 123

106 Fabien Lydoire

Page 107: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 5. Application à la commande d’un pendule sous actionné

dans le cas d’un domaine pour qk grand (supérieur à π), ce qui est le cas en présenced’un domaine de commande uk grand.

Remarque 5.4.2. Dans le souci de ne pas surcharger ce paragraphe, les simulationsintermédiaires présentées dans la suite sont réalisées uniquement avec la positioninitiale du pendule proche de la verticale vers le haut. Une simulation du penduleinitialement en position verticale vers le bas sera présentée à la fin de ce paragraphe,illustrant la méthode de contraction la plus efficace.

Les simulations présentées figures 5.6 et 5.7 montrent le comportement de cettenouvelle approche et illustrent l’influence du seuil de bissection εbissection dans lecalcul du domaine admissible. Sur ces figures ainsi que sur les suivantes, les barresverticales dans le graphique de la commande représentent les domaines admissiblescalculés par l’algorithme.

Diminuer le seuil de bissection augmente le nombre d’opérations effectuées lorsdu calcul d’une commande admissible. Les deux simulations sont effectuées avec lemême jeu de paramètres que précédemment ; seul le paramètre εbissection change de0,01 à 0,1 (rad.s−1). Une valeur de 0,2 (rad.s−1) ne permet plus de déterminer decommande faisable à l’aide de l’algorithme basé sur la contraction.

Par comparaison avec les résultats obtenus avec la commande NMPC sans tra-jectoire de référence, le comportement dynamique est le même mais le temps decalcul est fortement supérieur.

Cependant, comme nous l’avons montré au § 4.3.4, la bissection nécessite d’or-donnancer les domaines candidats. La section suivante illustre l’influence de cetordonnancement.

5.4.1 Bissection et optimisation

Les simulations présentées figures 5.8, 5.9 et 5.10 montrent les résultats obtenusaprès modification de l’ordre du traitement des boîtes suivant l’algorithme 4 (§ 4.3.4).Ces simulations sont effectuées avec le pendule en position initiale proche de laverticale vers le haut avec les paramètres habituels et εbissection = 0, 1 (rad.s−1).

Remarque 5.4.3. Dans ce paragraphe, l’effort est porté sur la réduction du nombred’opérations de contraction et de bissection. Par conséquent, nous présentons cesopérations et non plus le temps de calcul, qui peut être perturbé par de multiplesfacteurs sur une machine de bureau (anti-virus, accès réseau, arrivée de mails).Cependant, le temps de calcul est linéaire en le nombre d’opérations.

La première simulation (figure 5.8) est réalisée avec le même algorithme que celuiutilisé dans les simulations précédentes, à ceci près que la recherche récursive desolution est interrompue dès que l’on a trouvé un domaine solution. Cette rechercheest réalisée en parcourant l’arbre des solutions construit au cours de la bissectiondes domaines : on traitera en premier le nouveau domaine qui contient la commandedont la norme est minimale.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

107

Page 108: Génération de trajectoires pour la locomotion artificielle et ...

5.4. Commande via l’arithmétique d’intervalles

temps de simulation (s)

q(r

ad)

temps de simulation (s)

q(r

ad.s−

1)

temps de simulation (s)

u(m

.s−

2)

temps de simulation (s)

tem

psde

calc

ul(s

)

temps de simulation (s)

nom

bre

d’op

érat

ions

contractionsbissections

0 0.2 0.4 0.6 0.8 1

0 0.2 0.4 0.6 0.8 10 0.5 1 1.5

0 0.5 1 1.50 0.5 1 1.5

0

50

100

150

5

10

15

20

25

-6

-4

-2

0

2

-0.5

0

0.5

1

1.5

-0.1

-0.05

0

0.05

0.1

Fig. 5.6 – Simulation avec la contraction classique - position initiale proche de laverticale vers le haut- εbissection = 0, 01 (rad.s−1)

108 Fabien Lydoire

Page 109: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 5. Application à la commande d’un pendule sous actionné

.tex

temps de simulation (s)

q(r

ad)

temps de simulation (s)

q(r

ad.s−

1)

temps de simulation (s)

u(m

.s−

2)

temps de simulation (s)

tem

psde

calc

ul(s

)

temps de simulation (s)

nom

bre

d’op

érat

ions

contractionsbissections

0 0.2 0.4 0.6 0.8 1

0 0.2 0.4 0.6 0.8 10 0.5 1 1.5

0 0.5 1 1.50 0.5 1 1.5

0

50

100

0

5

10

15

20

-6

-4

-2

0

2

-0.5

0

0.5

1

1.5

-0.1

-0.05

0

0.05

0.1

.tex

Fig. 5.7 – Simulation avec la contraction classique - position initiale proche de laverticale vers le haut- εbissection = 0, 1 (rad.s−1)

temps de simulation (s)

q(r

ad)

temps de simulation (s)

q(r

ad.s−

1)

temps de simulation (s)

u(m

.s−

2)

temps de simulation (s)

nom

bre

d’op

érat

ions

contractionsbissections

0 0.2 0.4 0.6 0.8 10 0.5 1 1.5

0 0.5 1 1.50 0.5 1 1.5

0

20

40

60

-6

-4

-2

0

2

-0.5

0

0.5

1

1.5

-0.1

-0.05

0

0.05

0.1

Fig. 5.8 – Simulation avec la contraction classique - arrêt première solution trouvéeposition initiale proche de la verticale vers le haut

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

109

Page 110: Génération de trajectoires pour la locomotion artificielle et ...

5.4. Commande via l’arithmétique d’intervalles

La seconde simulation (figure 5.9) est réalisée avec l’algorithme d’ordonnance-ment des boîtes candidates. Le critère d’ordonnancement choisi est la valeur de laplus petite norme du domaine. Le comportement dynamique est similaire à celuide la simulation précédente. Cependant, dans le cas précédent, l’application d’unecommande admissible de norme minimale était soumise au hasard du parcours del’arbre des domaines candidats, alors que dans le cas de l’ordonnancement des boîtes,l’application d’une solution de norme minimale est garantie par le critère d’ordon-nancement. Le critère d’ordonnancement a permis de garantir l’application d’unecommande de norme minimale tout en conservant le nombre de calculs au mêmeniveau que l’algorithme le plus simple.

temps de simulation (s)

q(r

ad)

temps de simulation (s)

q(r

ad.s−

1)

temps de simulation (s)

u(m

.s−

2)

temps de simulation (s)

nom

bre

d’op

érat

ions

contractionsbissections

0 0.2 0.4 0.6 0.8 10 0.5 1 1.5

0 0.5 1 1.50 0.5 1 1.5

0

20

40

60

-6

-4

-2

0

2

-0.5

0

0.5

1

1.5

-0.1

-0.05

0

0.05

0.1

Fig. 5.9 – Simulation avec ordonnancement des boîtes - critère commande de normeminimale

La troisième simulation (figure 5.10) est réalisée avec les mêmes paramètres quela simulation précédente mais en changeant le critère d’ordonnancement des boîtes.Le nouveau critère J porte sur la position terminale :

J(u) = Diam([qNp]) + Sup([qNp

]2) (5.6)

Ce critère revient à choisir la commande permettant d’obtenir la boîte terminale laplus petite et la plus proche de 0 pour l’état terminal qNp

. Il permet de déterminer unecommande admissible avec moins d’opérations et par conséquent plus rapidement.

5.4.2 Pondérer la notion de point fixe

La simulation suivante (figure 5.11) est toujours réalisée avec les mêmes pa-ramètres et une position initiale proche de la verticale vers la haut mais avec unepondération de la notion de point fixe avec l’introduction du seuil εcontraction (§ 4.3.4).On peut observer que l’ajout de ce seuil permet de réduire le nombre d’opérationsnécessaires au calcul d’une solution admissible, tout en conservant un bon compor-tement de la commande.

110 Fabien Lydoire

Page 111: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 5. Application à la commande d’un pendule sous actionné

temps de simulation (s)

q(r

ad)

temps de simulation (s)

q(r

ad.s−

1)

temps de simulation (s)

u(m

.s−

2)

temps de simulation (s)

nom

bre

d’op

érat

ions

contractionsbissections

0 0.2 0.4 0.6 0.8 10 0.5 1 1.5

0 0.5 1 1.50 0.5 1 1.5

0

10

20

30

40

-6

-4

-2

0

2

-0.5

0

0.5

1

1.5

-0.1

-0.05

0

0.05

0.1

Fig. 5.10 – Simulation avec ordonnancement des boîtes - critère sur boîte terminale

5.4.3 Combiner l’estimation d’état et la propagation

La simulation suivante (figure 5.12) montre l’apport de la modification de l’algo-rithme de contraction pour l’estimation d’état (algorithme 5, § 4.3.4). Les courbessont identiques à celles de la simulation précédente excepté pour le temps de calcul.En effet, la modification de l’algorithme permet de réduire le nombre d’opérationsintervenant dans la contraction. Cependant, les courbes de simulations ne font appa-raître que le nombre d’opérations de contraction et non pas le nombre d’opérationsà l’intérieur de cette contraction. Ainsi, l’apport du nouvel algorithme en termesd’efficacité ne se mesure qu’à travers le temps de calcul qui est réduit par rapport àla simulation précédente.

5.4.4 Boucle de rétropropagation

Les simulations réalisées (figure 5.13) montrent que l’introduction de la bouclede rétropropagation (algorithme 6, § 4.3.4) n’améliore pas le calcul de la commande.Comme dans le paragraphe précédent, la modification de l’algorithme touche auopérations dans la contraction et les effets ne sont donc visibles qu’à travers letemps de calcul. Nous pouvons observer que le nombre d’opérations est constant etle temps de calcul supérieur à celui de la simulation précédente. Cela signifie que laboucle sur la rétropropagation n’a pas modifié de façon suffisamment significative ledomaine de la commande pour améliorer la contraction et par conséquent réduire lenombre de bissections. Nous pouvons en déduire qu’itérer la rétropropagation tantque les domaines [qk], [qk], [qk] sont modifiés n’est pas efficace et que si ces domainesne modifient pas le domaine [u] par rétropropagation à la première itération, cedomaine ne sera alors plus modifié de façon significative. Dès lors, la boucle derétropropagation est inutile.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

111

Page 112: Génération de trajectoires pour la locomotion artificielle et ...

5.5. Commande via l’arithmétique d’intervalles et discrétisation spatiale

temps de simulation (s)

q(r

ad)

temps de simulation (s)

q(r

ad.s−

1)

temps de simulation (s)

u(m

.s−

2)

temps de simulation (s)te

mps

deca

lcul

(s)

temps de simulation (s)

nom

bre

d’op

érat

ions

contractionsbissections

0 0.2 0.4 0.6 0.8 1

0 0.2 0.4 0.6 0.8 10 0.5 1 1.5

0 0.5 1 1.50 0.5 1 1.5

5

10

15

20

25

30

1.5

2

2.5

3

-6

-4

-2

0

2

-0.5

0

0.5

1

1.5

-0.1

-0.05

0

0.05

0.1

Fig. 5.11 – Simulation avec ordonnancement des boîtes - εcontraction = 0, 1 (rad.s−2)

5.5 Commande via l’arithmétique d’intervalles etdiscrétisation spatiale

Afin de réduire le pessimisme de l’estimation d’état et ainsi rendre les opérationsde contraction plus efficaces, nous avons proposé une discrétisation spatiale du do-maine de la commande [u]. Les simulations suivantes (figures 5.14 et 5.15) présententles résultats de simulation.

Dans les deux cas, la commande est calculée suivant l’algorithme de contraction5, c’est-à-dire sans boucle de rétropropagation. Les opérations ne sont plus effectuéessur des valeurs intervalles mais sur des valeurs ponctuelles discrétisant les domaines.

L’estimation d’état étant moins pessimiste, la validation d’une commande admis-sible nécessite moins d’opérations et la commande est donc plus efficace en tempsde calcul.

112 Fabien Lydoire

Page 113: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 5. Application à la commande d’un pendule sous actionné

temps de simulation (s)

q(r

ad)

temps de simulation (s)q

(rad

.s−

1)

temps de simulation (s)

u(m

.s−

2)

temps de simulation (s)

tem

psde

calc

ul(s

)

temps de simulation (s)

nom

bre

d’op

érat

ions

contractionsbissections

0 0.2 0.4 0.6 0.8 1

0 0.2 0.4 0.6 0.8 10 0.5 1 1.5

0 0.5 1 1.50 0.5 1 1.5

5

10

15

20

25

30

1

1.5

2

2.5

-6

-4

-2

0

2

-0.5

0

0.5

1

1.5

-0.1

-0.05

0

0.05

0.1

Fig. 5.12 – Simulation avec intersection séparée

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

113

Page 114: Génération de trajectoires pour la locomotion artificielle et ...

5.5. Commande via l’arithmétique d’intervalles et discrétisation spatiale

temps de simulation (s)

q(r

ad)

temps de simulation (s)

q(r

ad.s−

1)

temps de simulation (s)

u(m

.s−

2)

temps de simulation (s)

tem

psde

calc

ul(s

)

temps de simulation (s)

nom

bre

d’op

érat

ions

contractionsbissections

0 0.2 0.4 0.6 0.8 1

0 0.2 0.4 0.6 0.8 10 0.5 1 1.5

0 0.5 1 1.50 0.5 1 1.5

5

10

15

20

25

30

1.5

2

2.5

3

-6

-4

-2

0

2

-0.5

0

0.5

1

1.5

-0.1

-0.05

0

0.05

0.1

Fig. 5.13 – Simulation avec intersection séparée et boucle de rétropropagation

114 Fabien Lydoire

Page 115: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 5. Application à la commande d’un pendule sous actionné

temps de simulation (s)

q(r

ad)

temps de simulation (s)q

(rad

.s−

1)

temps de simulation (s)

u(m

.s−

2)

temps de simulation (s)

tem

psde

calc

ul(s

)

temps de simulation (s)

nom

bre

d’op

érat

ions

contractionsbissections

0 0.2 0.4 0.6 0.8 1

0 0.2 0.4 0.6 0.8 10 0.5 1 1.5

0 0.5 1 1.50 0.5 1 1.5

0

10

20

30

40

0.1

0.2

0.3

0.4

0.5

-6

-4

-2

0

2

-0.5

0

0.5

1

1.5

-0.1

-0.05

0

0.05

0.1

Fig. 5.14 – Simulation avec discrétisation spatiale en 10 éléments - position initialeproche de la verticale vers le haut- εbissection = 0, 1 (rad.s−1)

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

115

Page 116: Génération de trajectoires pour la locomotion artificielle et ...

5.5. Commande via l’arithmétique d’intervalles et discrétisation spatiale

temps de simulation (s)

q(r

ad)

temps de simulation (s)

q(r

ad.s−

1)

temps de simulation (s)

u(m

.s−

2)

temps de simulation (s)

tem

psde

calc

ul(s

)

temps de simulation (s)

nom

bre

d’op

érat

ions

contractionsbissections

0 0.2 0.4 0.6 0.8 1

0 0.2 0.4 0.6 0.8 10 0.5 1 1.5

0 0.5 1 1.50 0.5 1 1.5

0

20

40

60

80

0

0.5

1

1.5

-50

0

50

100

-10

0

10

20

30

-4

-3

-2

-1

0

1

Fig. 5.15 – Simulation avec discrétisation spatiale en 10 éléments - position initialeverticale vers le bas - εbissection = 0, 01 (rad.s−1)

116 Fabien Lydoire

Page 117: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 5. Application à la commande d’un pendule sous actionné

5.5.1 Guider le choix de la commande

Les dernières simulations présentées montrent une amélioration très sensible dela vitesse de calcul de la commande par rapport aux méthodes intervalles classiques.Cependant, elle ne rivalisent pas encore avec la méthode NMPC. Afin d’accélérer lecalcul de la commande par une méthode intervalle, nous pouvons guider le choix dela commande et non plus commencer les opérations de contraction avec toujours lemême domaine admissible initial.

Tout d’abord, nous pouvons limiter le choix de la commande à un domaine autourde la solution précédente. Le domaine admissible initial étant réduit, la recherched’une solution admissible dans ce domaine est accélérée.

Ensuite nous pouvons ajuster les seuils de façon à accélérer le traitement.

Enfin, nous pouvons choisir d’appliquer la commande précédente si celle-ci estadmissible. Dans ce cas, la rétropropagation n’existe pas mais seulement une valida-tion (propagation+intersection) de la valeur ponctuelle de la commande précédente.

La figure 5.16 présente les résultats de simulation avec une commande initialede 100 m.s−2 puis une commande admissible de largeur 40 m.s−2 centrée autourde la commande précédente. Les valeurs des seuils sont εbissection = 3 (m.s−2) etεcontraction = 0, 5 (m.s−2). Le comportement du pendule est le même que celui ob-servé précédemment et le temps de calcul est compétitif avec celui observé avec lacommande NMPC.

La figure 5.17 présente les résultats d’une autre simulation réalisée avec les mêmesparamètres mais en considérant en premier comme commande candidate la com-mande ponctuelle précédente. Le nombre d’opérations et par conséquent le tempsde calcul présente des pics lorsque la commande précédente n’est pas admissible etque l’on recherche alors une solution. Le comportement du pendule présente desdisparités marquées avec les simulations précédentes.

5.6 Récapitulatif des simulations

Les simulations présentées dans ce paragraphe ont permis de mettre en évidenceles améliorations apportées aux méthodes classiques de l’arithmétique d’intervalles.

D’abord, la méthode classique de propagation-rétropropagation a été complétéeafin de valider la faisabilité de la commande à la fin de chaque itération. En effet,l’objectif est de déterminer une commande admissible et non pas de déterminer avecexactitude les domaines futurs des états du système. Ainsi, garantir que les étatsfuturs restent dans les domaines admissibles suffit pour garantir l’admissibilité de lacommande et par conséquent, il est inutile d’itérer la propagation-rétropropagationdans le cas où les états sont admissibles.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

117

Page 118: Génération de trajectoires pour la locomotion artificielle et ...

5.6. Récapitulatif des simulations

temps de simulation (s)

q(r

ad)

temps de simulation (s)

q(r

ad.s−

1)

temps de simulation (s)

u(m

.s−

2)

temps de simulation (s)

tem

psde

calc

ul(s

)

temps de simulation (s)

nom

bre

d’op

érat

ions

contractionsbissections

0 0.2 0.4 0.6 0.8 1

0 0.2 0.4 0.6 0.8 10 0.5 1 1.5

0 0.5 1 1.50 0.5 1 1.5

0

5

10

15

20

0

0.1

0.2

0.3

0.4

0

20

40

60

80

100

-10

0

10

20

30

-4

-3

-2

-1

0

1

Fig. 5.16 – Simulation avec discrétisation spatiale en 10 éléments - limitation duchoix de la commande

118 Fabien Lydoire

Page 119: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 5. Application à la commande d’un pendule sous actionné

temps de simulation (s)

q(r

ad)

temps de simulation (s)q

(rad

.s−

1)

temps de simulation (s)

u(m

.s−

2)

temps de simulation (s)

tem

psde

calc

ul(s

)

temps de simulation (s)

nom

bre

d’op

érat

ions

contractionsbissections

0 0.2 0.4 0.6 0.8 1

0 0.2 0.4 0.6 0.8 10 0.5 1 1.5

0 0.5 1 1.50 0.5 1 1.5

0

5

10

15

0.05

0.1

0.15

0.2

0.25

-50

0

50

100

-20

0

20

40

60

-4

-3

-2

-1

0

1

Fig. 5.17 – Simulation avec discrétisation spatiale en 10 éléments - limitation duchoix de la commande - commande précédente

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

119

Page 120: Génération de trajectoires pour la locomotion artificielle et ...

5.7. Conclusion

Ensuite, la recherche de solution entraînant des bissections lorsque la contractionmène à un point fixe, nous avons introduit une relation d’ordre dans le traitementdes domaines candidats issus de la bissection. Le traitement des domaines à l’aided’une liste ordonnée permet de garantir l’application d’une commande minimisantle critère d’ordonnancement. Les simulations ont montré que l’utilisation d’une listeordonnée ne pénalisait pas le calcul d’une commande admissible en termes de nombred’opérations nécessaires. Deux critères ont été proposés :

1. la minimisation de la norme de la commande,

2. la minimisation du diamètre et de la position de la boîte terminale.

Ce second critère, guidant la recherche de solution faisable, permet de déterminerune solution de façon plus rapide que dans le cas du critère de minimisation de lanorme.

La notion de point fixe a été pondérée en introduisant un seuil εcontraction sur lamodification du domaine de la commande. Lors de la contraction si le domaine dela commande n’est pas modifié de plus de εcontraction, alors nous considérons être surun point fixe. Ce seuil permet donc de réduire le nombre de boucles de propagation-rétropropagation ne modifiant pas de façon significative le domaine de la commandeet accélérant par conséquent le calcul d’une commande admissible.

La validation de la commande, qui consiste à estimer l’état du système le long del’horizon, regroupe les mêmes opérations que celles intervenant lors de la propaga-tion. Nous avons donc combiné la propagation et l’estimation d’état, ce qui a permisde réduire le nombre d’opérations dans la contraction. Cette amélioration n’apparaîtpas dans le nombre d’opérations mais dans la réduction du temps de calcul.

L’introduction d’une boucle de rétropropagation lorsque le domaine de la com-mande n’est pas modifié s’avère être inefficace. En effet, les simulations illustrentqu’itérer la rétropropagation tant que les domaines des états varient ne réduit pasle nombre d’opérations nécessaires au calcul d’une commande admissible. Nous endéduisons que lorsque la rétropropagation ne réduit pas le domaine de la commandelors de la première itération, itérer à nouveau la rétropropagation est inutile.

Finalement, l’application de la contraction associée à la discrétisation spatialedes états et de la commande a permis d’améliorer fortement les performances de lacommande.

5.7 Conclusion

Ce paragraphe a présenté l’application d’une commande basée sur les outils del’arithmétique d’intervalles sur un pendule sous actionné. Le problème NMPC aété reformulé sous la forme d’un problème de satisfaction de contraintes résolu parla méthode de propagation-retropropagation de contraintes. Les modifications desalgorithmes classiques (§ 4.3) permettent une diminution du nombre d’opérations

120 Fabien Lydoire

Page 121: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 5. Application à la commande d’un pendule sous actionné

nécessaires afin de déterminer une commande admissible.

Cependant, malgré les améliorations apportées, l’inconvénient majeur s’avèreêtre le pessimisme lié à l’estimation d’état avec les méthodes intervalles. Nous avonsdonc proposé de pallier cet inconvénient par une discrétisation spatiale des domainesde la commande et de l’état. Cette discrétisation se propage sur les autres domainesau cours des opérations de contraction. Les résultats de simulation montrent uneamélioration très nette des performances en termes de nombre d’opérations néces-saires pour calculer la commande rivalisant avec les performances de la commandeNMPC dans le cas du pendule.

Les temps de calculs sont encore supérieurs à la période d’échantillonnage. Ce-pendant, ces simulations ont été réalisées avec Matlab et la gain de performancesen temps de calcul si l’on écrit la commande en langage C devraient permettred’obtenir des temps de calculs compatibles avec la période d’échantillonnage.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

121

Page 122: Génération de trajectoires pour la locomotion artificielle et ...

5.7. Conclusion

122 Fabien Lydoire

Page 123: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 6. Conclusion générale

Chapitre 6

Conclusion générale

Les travaux de cette thèse ont porté sur différents aspects de l’automatique pourla commande d’un robot bipède. Trois contributions peuvent être mises en avant.

La première concerne l’identification des paramètres dynamiques. Nous avonssouligné dans l’introduction générale l’importance de l’estimation précise des para-mètres du modèle dynamique dans le cadre de la commande. Cette identification estprimordiale

– pour la simulation dans l’objectif de la validation des stratégies de commande,– pour une commande référencée modèle.

Les résultats expérimentaux ont permis d’identifier de façon satisfaisante les pa-ramètres dynamiques des jambes du robot bipède Rabbit. Cependant les travauxse sont arrêtés à une estimation alors que le robot est suspendu. Une perspectiveintéressante sera de poursuivre ces travaux par l’estimation pendant des phases demarche en gérant les phases de double appuis et les impacts.

La deuxième contribution porte sur la génération de trajectoires pour un systèmemarcheur. Un grand nombre de stratégies de commandes pour les robots bipèdessont basées sur la régulation autour de trajectoires de référence. Nous avons doncproposé une méthode de génération de démarches dans l’espace à trois dimensionspour un robot marcheur. Cette méthode permet une génération intuitive de trajec-toires en se basant sur les paramètres décrivant naturellement la marche comme laprogression du centre de masse ou la trajectoire de la cheville de vol. Ces trajec-toires doivent être validées prochainement sur le robot Bip de l’INRIA Rhône-Alpes.

Enfin, la dernière contribution concerne la commande prédictive pour la locomo-tion artificielle en utilisant les techniques de l’arithmétique d’intervalles. Les travauxantérieurs (Azevedo, 2002) ont mené à la formulation de la stratégie de commandeprédictive sans trajectoires de références pour la locomotion artificielle, le mouve-ment étant assuré par un ensemble minimal de contraintes. Les approches classiquesgarantissant la stabilité de la commande prédictive introduisent des hypothèses surles trajectoires de référence. En l’absence de ces trajectoires, la stabilité du systèmebouclé est assurée par la faisabilité, c’est-à-dire la garantie d’existence d’une com-mande respectant l’ensemble des contraintes sur l’état et la commande. De plus, laformulation de la commande prédictive fait apparaître des contraintes de bornes, qui

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

123

Page 124: Génération de trajectoires pour la locomotion artificielle et ...

s’expriment directement sous la forme d’intervalles. Ceci a motivé la formulation duproblème de la commande prédictive sous la forme d’un problème de satisfactionde contraintes que nous avons choisi de résoudre avec des outils de l’arithmétiqued’intervalles et plus particulièrement la propagation de contraintes. Afin d’améliorerl’efficacité de la propagation de contraintes pour le calcul de la commande prédic-tive, nous avons tout d’abord proposé des modifications de l’algorithme classique depropagation de contraintes permettant :

– d’assurer le respect des contraintes à l’issue de la contraction,– d’accélérer le calcul par :

– l’adaptation du seuil de bissection des domaines et l’introduction d’un seuilsur la contraction,

– le choix d’un critère d’ordonnancement des domaines candidats.

Après ces améliorations sur l’algorithme de propagation de contraintes, nous noussommes intéressés à l’estimation d’état intervenant dans le problème de satisfactionde contraintes. Dans le cadre de l’arithmétique d’intervalles, il s’agit de déterminerune fonction d’inclusion la moins pessimiste possible pour cette estimation. Or, cettefonction est composée d’une équation représentant le modèle dynamique du systèmesuivi d’une intégration. Le modèle dynamique comprend des occurrences multiplesdes mêmes variables ainsi que des fonctions trigonométriques, ce qui introduit dupessimisme dans l’estimation du domaine de l’état. L’intégration ajoute égalementdu pessimisme dans cette estimation d’état. Les approches existantes s’attachent àl’estimation garantie de l’état. Dans notre cas, ces approches s’avèrent inefficaces dufait de l’horizon de prédiction : le pessimisme sur l’estimation du domaine de l’étataugmentera d’autant plus que l’horizon est grand. Nous avons donc proposé uneapproche basée sur une discrétisation spatiale permettant de calculer une approxi-mation intérieure de l’état. La réduction du pessimisme en utilisant cette approchepermet une amélioration conséquente de la propagation de contraintes. Notre ap-proche de commande prédictive par l’arithmétique d’intervalles a été validée sur unmodèle non linéaire sous actionné à deux degrés de liberté.

D’un point de vue technique, les perspectives à ces travaux portent sur l’amé-lioration de la propagation de contraintes en utilisant par exemple des algorithmesde décomposition automatique de contraintes. Ceci devrait permettre de mettre enœuvre une propagation de contraintes portant sur des contraintes plus complexes.De plus, l’arithmétique d’intervalles s’avère efficace pour éliminer rapidement des so-lutions inconsistantes et une approche hybride consisterait à utiliser l’arithmétiqued’intervalles, pour réduire les domaines de recherche, suivi d’une recherche locale desolution.

D’un point de vue théorique, il s’agit d’améliorer l’estimation d’état avec l’arith-métique d’intervalles. En effet la solution que nous avons proposée n’est envisageableque dans un espace de faible de dimension. Les travaux présentés ici mettent en évi-dence les efforts à porter sur les techniques de propagation de contraintes afin delimiter les bissections et par conséquent pouvoir traiter des problèmes de grandedimension.

124 Fabien Lydoire

Page 125: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 6. Conclusion générale

Les outils ainsi que la technologie actuels ne permettent pas une implantationtemps réel de cette approche pour la commande d’un système de grande dimen-sion. Ce n’est que suite à l’amélioration de ces outils que nous pourrons envisager lacommande prédictive pour la locomotion artificielle avec l’arithmétique d’intervalles.

L’ensemble de ce travail à fait l’objet de plusieurs publications regroupées page 127.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

125

Page 126: Génération de trajectoires pour la locomotion artificielle et ...

126 Fabien Lydoire

Page 127: Génération de trajectoires pour la locomotion artificielle et ...

Chapitre 6. Conclusion générale

Publications de l’auteur

Fabien Lydoire and Philippe Poignet. Nonlinear Model Predictive Controlvia Interval Analysis. 44th IEEE Conference on Decision and Control and Euro-pean Control Conference (ECC-CDC), 2005 (soumis).

Fabien Lydoire et Philippe Poignet. Commande non linéaire à horizonfuyant via l’arithmétique d’intervalles. Dans Conférence Internationale Fran-cophone d’Automatique (CIFA), numéro 66, 2004.

Fabien Lydoire and Philippe Poignet. Nonlinear predictive control usingconstraint satisfaction. In Proceedings of the 2nd International Workshop onGlobal Constrained Optimization and Constraint Satisfaction (COCOS 2003), Lec-ture Notes in Computer Science (LNCS), (3478) :142–153, 2005.

Fabien Lydoire and Philippe Poignet. Experimental dynamic parametersidentification of a 7 dof walking robot. In Proceedings of the 6th InternationalConference on Climbing and Walking Robots (CLAWAR), pages 477-484, Catania,2003.

Fabien Lydoire, Christine Azevedo, Bernard Espiau and Philippe Poignet. Three-dimensional paramaterized gaits for biped walking. In Proceedings of the 5thInternational Conference on Climbing and Walking Robots (CLAWAR), pages 749-757, Paris, 2002.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

127

Page 128: Génération de trajectoires pour la locomotion artificielle et ...

128 Fabien Lydoire

Page 129: Génération de trajectoires pour la locomotion artificielle et ...

Bibliographie

Bibliographie

M. Alamir et G. Bornard. On the Stability of Receding Horizon Control ofNonlinear Discrete-Time Systems, volume 23. Syst. Control Letter, 1994.

F. Allgöwer, T. A. Badgwell, S. J. Qin, J. B. Rawlings, et S. J. Wright.Nonlinear predictive control and moving horizon estimation - an introductoryoverview. Dans P. Frank, éditeur, Advances in Control : Highlights of ECC ’99,Chapitre 12, pages 391–449. Springer-Verlag, 1999.

C. H. An, C. G. Atkenson, et J. M. Hollerbach. Estimation of inertial parame-ters of rigid body links of manipulators. Dans Proceedings of the 24th Conferenceon Decision and Control, pages 990–995, 1985.

B. Armstrong, O. Khatib, et J. Burdick. The explicit dynamic model andinertial parameters of the puma 560 arm. Dans Proceedings of IEEE Conferenceon Robotics and Automation, pages 510–517, 1986.

K. J. Åström et K. Furuta. Swinging up a pendulum by energy control. Auto-matica, 36 :287–295, 2000.

C. G. Atkenson, C. H. An, et J. M. Hollerbach. Estimation of inertial parame-ters of manipulator loads and links. International Journal Of Robotics Research,5(3) :101–119, 1986.

C. Azevedo, N. Andreff, S. Arias, et B. Espiau. Experimental bipedal wal-king. Dans Proceedings of the International Symposium on Experimental Robotics(ISER), 2002a.

C. Azevedo et P. Poignet. Commande prédictive pour la marche d’un robotbipède sous actionné. Dans Conférence Internationale Francophone d’Automatique(CIFA), 2002.

Ch. Azevedo. Contrôle de la locomotion artificielle : de l’homme aux robots. Thèsede Doctorat, INPG, 2002.

Ch. Azevedo, Ph. Poignet, et B. Espiau. Moving horizon control for bipedrobots without reference trajectory. Dans Proceedings of the IEEE InternationalConference on Robotics and Automation (ICRA), pages 2762–2767, 2002b.

Ch. Azevedo, Ph. Poignet, et B. Espiau. On line optimal control for bipedrobots. Dans Proceedings of the 15th IFAC World Congress, Barcelona, 2002c.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

129

Page 130: Génération de trajectoires pour la locomotion artificielle et ...

Bibliographie

L. Belkoura. Modèle dynamique de robots et méthodes d’identification des para-mètres inertiels. Thèse de doctorat, Université des Sciences et Technologies deLille, 1993.

F. Benhamou, F. Goualard, L. Granvilliers, et J.-F. Puget. Re-vising hull and box consistency. Dans Proceedings of the InternationalConference on Logic Programming, pages 230–244, Las Cruces, 1999. URLciteseer.nj.nec.com/benhamou99revising.html.

R. Bitmead, M. Gevers, I. Ptersen, et R. Kaye. Adaptative Optimal Control :The thinking man’s GPC. Prentice Hall, 1990.

P. Boucher et D. Dumur. La Commande Prédictive. Éd. Technip., 1996.

J. Bravo, C. Varet, et E. Camacho. Interval model predictive control. DansIFAC Algorithm and Architectures for Real-Time Control, 2000.

O. Bruneau, F. Ben Ouezdou, et P.-B. Wieber. Dynamic transition simulationof a walking anthropomorphic robot. Dans Proceedings of the IEEE InternationalConference on Robotics and Automation (ICRA), 1998.

C. Cabodevilla, N. Chaillet, et G. Abba. Near optimal gait for a biped robot.Dans Proceedings of the AMS’95, 1995.

C. Canudas de Wit et A. Aubin. Parameters identification of robots manipula-tors via sequential hybrid estimation algorithms. Dans Preprints IFAC Congress,volume 9, pages 178–183, 1990.

C. Channon, S. Hopkins, et D. Pham. Derivation of optimal walking motions fora bipedal walking robot. Robotica, 10 :165–172, 1992.

C. Chen et L. Shaw. On Receding Horizon Feedback Control, volume 18(3). Auto-matica, 1982.

H. Chen et F. Allgöwer. A quasi-infinite horizon nonlinear model predictivecontrol scheme with guaranteed stability. Automatica, 34(10) :1205–1217, 1998.

C. Chevallereau, G. Abba, Y. Aoustin, F. Plestan, E. Westervelt, C. C.de Wit, et J. Grizzle. Rabbit : A testbed for advanced control theory. IEEEControl Systems Magazine, 23(5) :57–79, October 2003.

C. Chevallereau, A. Formal’sky, et B. Perrin. Control of a walking robotwith feet following a reference trajectory derived from ballistic motion. DansProceedings of the IEEE Conference on Robotics and Automation (ICRA), pages1094–1099, Albuquerque, New Mexico, 1997.

C. Chevallereau, E. Westervelt, et J. Grizzle. Asymptotic stabilization ofa five-link, four-actuator, planar bipedal runner. Dans Proceedings of the IEEEConference on Decision and Control (CDC), 2004.

130 Fabien Lydoire

Page 131: Génération de trajectoires pour la locomotion artificielle et ...

Bibliographie

Ch. Chevallereau et P. Sardain. Design and actuation optimization of 4 axesbiped robot for walking and running. Dans Proceedings of the 2000 IEEE Inter-national Conference on Robotics and Automation (ICRA), April 2000.

L. Chisci, A. Lombardi, et E. Mosca. Dual-receding Horizon Control of Constrai-ned Discrete Time Systems, volume 2. European Journal of Control, 1996.

D. Clarke, C. Mohtadi, et P. Tuffs. Generalized Predictive Control, volume23(2). Automatica, 1987.

E. Courtial. Commande prédictive et estimation d’état des systèmes non linéaires.PhD Thesis, Université Claude Bernard Lyon 1, France, 1996.

C. Cutler et B. Ramaker. Dynamic matrix control–a computer algorithm. DansAIChE National Meeting, 1979.

G. DeNicolao, L. Magni, et R. Scattolini. Stabilizing receding-horizon controlof nonlinear time-varying systems. European Control Conference ECC, 1997.

J. Donelan, R. Kram, et A. Kuo. Mechanical and metabolic determinants of thepreffered step width in human walking, volume 268. Proc. Royal Society Lond.,May 2001.

P. Dufour. Contribution à la commande prédictive des systèmes à paramètresrépartis non linéaires. Thèse de Doctorat, Université Claude Bernard Lyon 1,2000.

B. El Ali. Contribution à la Commande du Centre de Masse d’un Robot Bipède.Thèse de Doctorat, INPG, 1999.

H. El Makssoud, D. Guiraud, et Philippe Poignet. Mathematical muscle modelfor functional electrical stimulation control strategies. Dans Proceedings of theIEEE International Conference on Robotics and Automation (ICRA), pages 1282–1287, 2004.

B. Espiau et P. Sardain. The anthropomorphic biped robot bip2000. Dans Procee-dings of the IEEE International Conference on Robotics and Automation, pages3996–4001, San Francisco, USA, 2000.

B. Espiau et the BIP team. BIP : A joint project for the development of ananthropomorphic biped robot. International Conference on Advanced Robotics,ICAR’97, 1997.

R. Findeisen et F. Allgöwer. Nonlinear Model Predictive Control for Index-oneDAE Systems, volume 26. Nonlinear Model Predictive Control, F.Allgöwer, A.Zheng - Progress in Systems and Control Theory, 2000.

C. Garcia, D. Prett, et M. Morari. Model Predictive Control : theory andpractice - a survey, volume 25. Automatica, 1989.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

131

Page 132: Génération de trajectoires pour la locomotion artificielle et ...

Bibliographie

M. Gautier. Contribution à la modélisation et à l’identification des robots. Thèse dedoctorat d’état, Université de Nantes, École Nationale Supérieure de la Mécanique,1990.

M. Gautier. Numerical calculation of the base inertial parameters. Journal ofRobotic Systems, 8(4) :485–506, 1991.

M. Gautier. Optimal motion planning for robot’s inertial parameters identification.Dans Proceedings of the 31st IEEE Conference on Decision and Control, pages 70–73, 1992.

M. Gautier. Dynamic identification of robots with power model. Dans Proceedingsof IEEE International Conference on Robotics and Automation, pages 1922–1927,Albuquerque, USA, 1997.

M. Gautier et W. Khalil. Direct calculation of the base inertial parameters.IEEE Transactions on Robotics and Automation, 6(3) :368–373, 1990.

M. Gautier, W. Khalil, et P. P. Restrepo. Identification of the dynamic para-meters of a closed loop robot. Dans Proceedings of IEEE International Conferenceon Robotics and Automation, pages 3045–3050, Nagoya, Japan, 1995.

M. Gautier et Ph. Poignet. Identification non linéaire continue en boucle fer-mée des paramètres physiques de systèmes mécatroniques par modèle inverse etmoindres carrés d’erreur d’entrée. Dans Journées Identification et ModélisationExpérimentale (JIME), 2001.

M. Gienger, K. Loeffler, et F. Pfeiffer. Towards the design of a biped joggingrobot. Dans Proceedings of the IEEE International Conference on Robotics andAutomation (ICRA), 2001.

M. Guihard et P. Gorce. Dynamic control of a biomechanical inspired robot : Bip-man. Dans Proceedings of the International Conference on Climbing and WalkingRobots (CLAWAR), 2001.

E. Guillo, M. Gautier, F. Louveau, et C. Bidard. Dynamic modelling andidentification of a hydraulic servoactuator. Dans Proceedings of the 5th SYm-posium on RObot COntrol, volume 1, pages 125–130, Nantes, France, septembre1997.

D. Guiraud, H. E. Makssoud, P. Poignet, P. Fraisse, et E. Dombre. Automa-tic control theory applied to the restoration of the movement of paralysed limbs.Dans IARP’03 : International Advanced Robotics Programme, pages 99–103, 2003.

E. R. Hansen. Global Optimization Using Interval Analysis. Marcel Dekker, NewYork, NY, 1992.

V. Hugel, A. Abourachid, H. Gioanni, M. Maurice, O. Stasse, P. Bonnin,et P. Blazevic. The robocoq project : Modelling and design of a bird-like ro-bot equipped with stabilized vision. Dans Proceedings of the 2nd InternationalSymposium on Adaptive Motion of Animals and Machines (AMAM), 2003.

132 Fabien Lydoire

Page 133: Génération de trajectoires pour la locomotion artificielle et ...

Bibliographie

Y. Hurmuzlu, F. Génot, et B. Brogliato. Modeling, Stability and Control ofBiped Robots - A General Framework, volume 4290. Rapport de Recherche INRIA,October 2001.

L. Jaulin. Le calcul ensembliste par analyse par intervalles et ses applications.Habilitation à diriger des recherches, Université Paris-Sud, Orsay, France, 2000.Available at : http ://www.istia.univ-angers.fr/∼jaulin/hdrjaulin.zip.

L. Jaulin, I. Braems, M. Kieffer, et E. Walter. Interval methods for nonlinearidentification and robust control. Dans Proceedings of the IEEE Conference onDecision and Control (CDC), Las Vegas, Nevada, 2002.

L. Jaulin, M. Kieffer, O. Didrit, et E. Walter. Applied Interval Analysis.Springer, 2001.

S. Keerthi et E. Gilbert. Optimal infinite-horizon feedback laws for a generalclass of constrained discrete-time systems : stability and moving horizon approxi-mations, volume 57(2). Journal Opt. Theory and Applications, 1988.

W. Khalil et F. Bennis. Comments on direct calculation of minimum inertialparameters of serial robots. IEEE Transactions on Robotics and Automation, 10(1) :78–79, 1994.

W. Khalil et M. Gautier. Reducing the computational burden of the dynamicmodels of tree structure robots. IEEE Journal of Robotics and Automation, 3(6) :525–533, 1986.

W. Khalil et D. Creusot. Symoro+ : A system for the symbolic modelling ofrobots. Robotica, 15 :153–161, 1997.

W. Khalil et E. Dombre. Modélisation identification et commande des robots.Hermès, Paris, deuxième édition, 1999.

P. Khosla. Real-time control and identification of direct drive manipulators.Ph. D. Thesis, Carnegie Mellon University, 1986.

B. Kouvaritakis, M. Cannon, et R. J.A.. Stability, feasibility, optimality andthe degrees of freedom in constrained predictive control, volume 26. NonlinearModel Predictive Control, F.Allgöwer, A. Zheng - Progress in Systems and ControlTheory, 2000.

K. Kozlowski. Modelling and Identification in Robotics. Springer-Verlag, 1998.

C. Lawson et R. Hanson. Solving least squares problems. Englewood Cliffs, Lon-don, prentice-hall series in automatic computation édition, 1974.

A. P. Leclerc. Efficient and reliable global optimization. Thèse de Doctorat, TheOhio State University, 1992.

E. Lee et L. Markus. Fondations of Optimal Control Theory. John Wiley & Sons,1967.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

133

Page 134: Génération de trajectoires pour la locomotion artificielle et ...

Bibliographie

L. Ljung. System Identification : Theory for the user. Information and systemsciences series. Prentice Hall, 1999.

S. Lohmeier, K. Löffler, M. Gienger, et H. Ulbrich. Computer system andcontrol of biped "johnnie". Dans Proceedings of the IEEE International Conferenceon Robotics and Automation (ICRA), pages 4222–4227, New Orleans, USA, 2004.

F. Lydoire et Ph. Poignet. Experimental dynamic parameters identification ofa 7 dof walking robot. Dans Proceedings of the 6th International Conference onClimbing and Walking Robots (CLAWAR), pages 477–484, Catania, 2003a.

F. Lydoire et Ph. Poignet. Nonlinear predictive control using constraint satisfac-tion. Dans 2nd International Workshop on Global Constrained Optimization andConstraint Satisfaction (COCOS), pages 179–188, 2003b.

F. Lydoire et Ph. Poignet. Commande non linéaire à horizon fuyant via l’arithmé-tique d’intervalles. Dans Conférence Internationale Francophone d’Automatique(CIFA), numéro 66, 2004.

F. Lydoire et Ph. Poignet. Nonlinear predictive control using constraint sa-tisfaction. Lecture Notes in Computer Science (LNCS), Proceedings of the 2ndInternational Workshop on Global Constrained Optimization and Constraint Sa-tisfaction (COCOS 2003)(3478) :142–153, 2005.

L. Magni, R. Scattolini, et K. J. Åström. Global stabilization of the invertedpendulum using model predictive control. Dans Proceedings of the 15th IFACWorld Congress, Barcelona, 2002.

S. Malan, M. Milanese, et M. Taragna. Robust analysis and design of controlsystems using interval arithmetic. Automatica, 33(7) :1363–1372, 1997.

D. Mayne et H. Michalska. Receding Horizon Control of Nonlinear Systems,volume 35. IEEE Trans. Automat. Contr., 1990.

T. McGeer. Passive dynamic walking. International Journal of Robotics Research(IJRR), 1990.

E. Meadows et J. Rawlings. Receding Horizon Control with an Infinite Horizon.Proc. Amer. Contr. Conf., 1993.

H. Michalska et D. Mayne. Robust Receding Horizon Control of ConstrainedNonlinear Systems, volume 38(11). IEEE Trans. Automat. Contr., 1993.

R. E. Moore. Methods and applications of interval analysis. Philadelphia, SIAM,1979.

S. Moreau. Contribution à la modélisation et à l’estimation paramétrique desmachines électriques à courant alternatif : Applicaion au diagnostic. Thèse dedoctorat, Université de Poitiers, 1999.

134 Fabien Lydoire

Page 135: Génération de trajectoires pour la locomotion artificielle et ...

Bibliographie

N. S. Nedialkov. Computing Rigorous Bounds on the Solution of an Initial ValueProblem for an Ordinary Differential Equation. Thèse de Doctorat, ComputerScience Dept., Univ. of Toronto, 1999.

Y. Nubar et R. Contini. A minimal principle in biomechanics. Dans Bulletin ofMathematical Biophysics, 1961.

A. Patla. Understanding the Control of Human Locomotion : A Prologue. ElsevierScience Publishers, 1991.

M. T. Pham. Contribution à la modélisation, l’identification et la commande desystèmes mécaniques à flexibilités localisées. Application à des axes de machines-outils rapides. Thèse de Doctorat, École Centrale de Nantes, 2002.

C. Pressé. Identification des paramètres dynamiques des robots. Thèse de doctorat,Université de Nantes/École Centrale de Nantes, 1994.

C. Pressé et M. Gautier. New criteria of exciting trajectories for robot iden-tification. Dans Proceedings of IEEE International Conference on Robotics andAutomation, pages 907–912, 1993.

A. Propoi. Use of linear programming methods for synthesizing sampled-dataautomatic systems. Automn. Remote Control, 24(7) :837–844, 1963.

J. Rawlings et K. Muske. The stability of constrained receding horizon control,volume 38. IEEE Trans. Automat. Contr., 1993.

T. Raïssi, N. Ramdani, et Y. Candau. Guaranteed stated estimation for nonlinearcontinuous systems with Taylor models. Dans Proceedings of the IFAC Symposiumon System Identification (SYSID), 2002.

J. Richalet. Pratique de l’identification. Traité des Nouvelles Technologies. Her-mès, Paris, 1991.

J. Richalet. Pratique de la commande prédictive. Hermès science publications,1993.

J. Richalet, A. Rault, J. Testud, et J. Papon. Model predictive heuristiccontrol : applications to industrial processes. Automatica, 14(2) :413–428, 1978.

M. Rostami et G. Bessonet. Impactless sagittal gait of a biped robot during thesingle support phase. Dans Proceedings of the IEEE International Conference onRobotics and Automation (ICRA), volume 2, pages 1385–1391, 1998.

L. Roussel, C. C. de Wit, et A. Goswami. Generation of energy-optimal completegait cycles for biped robots. Dans Proceedings of the IEEE International Confe-rence on Robotics and Automation (ICRA), pages 2036–2041, Leuven, Belgium,May 1998.

P. Scokaert, D. Mayne, et J. Rawlings. Suboptimal Model Predictive Control(Feasibility Implies Stability), volume 44(3). IEEE Trans. Automat. Contr., 1999.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

135

Page 136: Génération de trajectoires pour la locomotion artificielle et ...

Bibliographie

M. D. Sidman, F. E. DeAngelis, et G. C. Verghese. Parametric system identifi-cation on logarithmic frequency-response data. IEEE Transactions on AutomaticControl, 36(9) :1065–1070, 1991.

Site internet FSQP. http ://www.isr.umd.edu/labs/cacse/fsqp/fsqp.html, 2002.

Site internet Humanoid Robot Project, Karlsruhe University.http ://www.sfb588.uni-karlsruhe.de/textdateien/english.html, 2004.

Site internet Projet robot Rabbit. http ://robot-rabbit.lag.ensieg.inpg.fr/, 2004.URL http://robot-rabbit.lag.ensieg.inpg.fr/.

B. Thuilot, A. Goswami, et B. Espiau. A study of the passive gait of a compass-like biped robot : Symmetry and chaos. International Journal of Robotics Re-search, 17(12), 1998.

C. Vaughan, B.Davis, et J. O’Connor. Dynamics of Human Gait. HumanKinetics, 1992.

M. Vidyasagar. Nonlinear System Theory. Englewood Cliffs, NJ, Prentice Hall,1993.

P.-B. Wieber. Modélisation et commande d’un robot marcheur anthropomorphe.Thèse de Doctorat, Ecole des mines de Paris, 2000.

P.-B. Wieber. On the stability of walking systems. Dans Proceedings of the Inter-national Workshop on Humanoid and Human Friendly Robotics, Japan, 2002.

G. Yamaguchi et F. Zajac. Restoring unassisted natural gait to paraplegics viafunctional neuromuscular stimulation : A computer simulation study. IEEE Tran-saction On Biomedical Engineering, 1990.

J. Yamaguchi, E. Soga, S. Inoue, et A. Takanishi. Development of a bipedalhumanoid robot - control method of whole body cooperative dynamic biped wal-king. Dans Proceedings of the IEEE International Conference on Robotics andAutomation (ICRA), pages 368–374, 1999.

136 Fabien Lydoire

Page 137: Génération de trajectoires pour la locomotion artificielle et ...

Annexes

Annexes

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

137

Page 138: Génération de trajectoires pour la locomotion artificielle et ...

Annexes

138 Fabien Lydoire

Page 139: Génération de trajectoires pour la locomotion artificielle et ...

Annexe A. Calcul de P

Annexe A

Calcul de P

Dans le cadre de la commande prédictive, on peut adjoindre une contrainte d’étatterminal égalitaire dans le critère pour forcer le système à atteindre cet état en untemps fini. Le critère s’écrit alors :

J =1

2uT

k+1 uk+1 + XTNp

P XNp(A.1)

Un retour d’état linéaire est utilisé pour déterminer la matrice de pénalité terminaleP (Chen et Allgöwer, 1998).

L’équation de la dynamique pour le pendule (section 5.2) s’écrit

q −Ksin sin(q) + Kcos u cos(q) = 0 (A.2)

en posant x = [q q]T = [x1 x2]T ,

x = f(x, u) (A.3)

x1 = x2

x2 = Ksin sin(x1)−Kcos u cos(x1)(A.4)

Linéarisation du système autour de l’origine :

x = A x + B u (A.5)

A =∂f

∂x(x, u)

∣∣∣∣x=0,u=0

=

[0 1

Ksin 0

](A.6)

B =∂f

∂u(x, u)

∣∣∣∣x=0,u=0

=

[0

−Kcos

](A.7)

Dans la suite, on utilise les valeurs numériques suivantes : Kcos = 11, 11 etKsin = 109.

Le système est contrôlable puisque

rg([B AB]) = 2 (A.8)

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

139

Page 140: Génération de trajectoires pour la locomotion artificielle et ...

Retour d’état linéaire u = Kx minimisant J =∫

xT Q x + uT R udt avec Q = 0 etR = Id.

K = [ −19, 6200 −1, 8793 ] (A.9)

AK = A + BK =

[0 1,0000

−109 −20,8806

](A.10)

λmax(AK) = −10, 44 (A.11)

en choisissant k = 0.5 et en résolvant l’équation de Lyapunov

(AK + k Id) P + P (AK + k Id)T = −KT K (A.12)

on trouve

P = 103

[0,0508 −0,2179−0,2179 1,165252

](A.13)

140 Fabien Lydoire

Page 141: Génération de trajectoires pour la locomotion artificielle et ...

Annexe B. Estimation d’état basée sur les séries de Taylor intervalles

Annexe B

Estimation d’état basée sur lesséries de Taylor intervalles

L’objectif est de résoudre un système du type

[x] = f([x(t)], [Γ]) (B.1)

avec f(x(0)) = [x0] un intervalle et [Γ] également un intervalle. Les techniques clas-siques de résolution d’équations différentielles en ponctuels ne sont pas adaptées auxintervalles. Cependant, ce thème constitue un domaine de recherche actif.

Séries de Taylor intervalles

Considérons le problème définit en ponctuel par :

x = f(x(t)) (B.2)

Le développement de Taylor de B.2 est :

xj+1 = xj +

k−1∑

i=1

hif [i](xj) + hkf [k](x(tξ)) (B.3)

avec x(tξ) solution de (B.2) à t ∈ [tj , tj+1] et les coefficients de Taylor :

f [0](x) = x (B.4)

f [i](x) =1

i

(∂f [i−1]

∂xf

)(x) i ≥ 1 (B.5)

Le développement de Taylor sous la forme d’intervalles s’exprime alors :

[xj+1] = [xj ] +k−1∑

i=1

hif [i]([xj ]) + hkf [k]([ξ]) (B.6)

où x(tξ) ∈ [ξ] ∀tξ ∈ [tj , tj+1].Le domaine [ξ] contient donc l’ensemble des solutions de (B.2) défini avec des inter-valles.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

141

Page 142: Génération de trajectoires pour la locomotion artificielle et ...

Calculer [ξ]

Considérons l’opérateur de Picard-Lindelhöf φ. En ponctuel, la solution de (B.2)est le point fixe de φ (φ(u) = u). Il faut donc déterminer le point fixe de φ dans lecas des intervalles.

[ξ] est une approximation extérieure (AE) de toutes les solutions de (B.2) pourt ∈ [tj, tj+1] donc

φ([ξ]) ⊆ [ξ] (B.7)

Pour un état précédent ponctuel xj et un état [xj ] tel que

xj + [0, h] f([xj]) ⊆ [xj ] (B.8)

on peut écrire le point fixe de φ

φ([xj ]) = xj +

∫f([x])dτ (B.9)

⊆ xj + [0, h] f([xj ]) (B.10)

⊆ [xj ] (B.11)

[xj ] est donc une AE de (B.2) quand xj est ponctuel.Quand xj est un intervalle [xj ], il faut déterminer [xj ] tel que

[xj ] + [0, h] f([xj ]) ⊆ [xj ] (B.12)

La forme centrée

La forme centréefm([a]) = f(b) + f ′([a])([a]− b) (B.13)

où f ′ est une fonction d’inclusion du jacobien de f et b ∈ [a] donne souvent uneapproximation plus petite que f étendue directement aux intervalles.

Ainsi, les coefficients de Taylor (B.5) sous forme centrée s’écrivent

f [i]m ([xj ]) = f [i](xj) + f [i]′([xj ])([xj ]− xj) (B.14)

= f [i](xj) + J(f [i], [xj ])([xj ]− xj) (B.15)

où xj est un point de [xj ].Le développement de Taylor par intervalles (B.6) s’écrit donc sous forme centrée :

[xj+1] = xj +k−1∑

i=1

hi(f [i](xj) + J(f [i], [xj ])([xj ]− xj)

)+ hkf [k]([xj ]) (B.16)

= xj +

k−1∑

i=1

hif [i](xj) + hkf [k]([xj ])

︸ ︷︷ ︸[vj+1]

+ (B.17)

(

I +

k−1∑

i=1

J(f [i], [xj ])hi

)

([xj ]− xj)

︸ ︷︷ ︸[Sj]([xj ]− xj)

(B.18)

142 Fabien Lydoire

Page 143: Génération de trajectoires pour la locomotion artificielle et ...

Annexe B. Estimation d’état basée sur les séries de Taylor intervalles

Mise en œuvre

La difficulté de la mise en œuvre repose sur l’estimation du domaine le plus petitpossible [xj ] ainsi que sur l’évaluation la moins pessimiste de l’expression (B.18).Malgré les amméliorations apportées (Raïssi et al., 2002), l’estimation d’état parintervalles reste une approximation extérieure des états ponctuels d’autant plus im-portante dans le cadre de la commande prédictive.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique

d’intervalles

143

Page 144: Génération de trajectoires pour la locomotion artificielle et ...

144 Fabien Lydoire

Page 145: Génération de trajectoires pour la locomotion artificielle et ...
Page 146: Génération de trajectoires pour la locomotion artificielle et ...

TITREGénération de trajectoires pour la locomotion artificielle et commande à horizonfuyant avec l’arithmétique d’intervalles

RÉSUMÉCe mémoire présente deux contributions essentielles dans le domaine de la synthèsede commande pour la locomotion bipède. La première concerne la génération dedémarches 3D en spécifiant le problème sous la forme d’une optimisation contraintedans un espace de sortie ad hoc paramétrant le mouvement. La deuxième contribu-tion traite de la synthèse d’une stratégie de commande prédictive posée comme unproblème de satisfaction de contraintes et résolu par l’utilisation d’algorithmes decontraction de l’arithmétique d’intervalles. Une solution au problème de l’estimationd’état avec l’arithmétique d’intervalles est également proposée.

MOTS-CLÉSCommande prédictive non linéaire, arithmétique d’intervalles, satisfaction de con-traintes, contraction, estimation d’état, locomotion bipède, génération de trajec-toires.

TITLEGaits generation for artificial locomotion and model predictive control using intervalanalysis

ABSTRACTThis manuscript proposes two essential contributions in the field of control synthesisfor biped locomotion. The first contribution deals with 3D gaits generation speci-fying the problem as a optimisation one submitted to constraints defined in a adhoc output space and describing the motion. The second contribution deals withthe synthesis of a control strategy defined as a constraints satisfaction problem andsolved using contraction algorithms taken from interval analysis. A solution to thestate estimation problem with interval analysis is also proposed.

KEYWORDSNonlinear predictive control, interval analysis, constraints satisfaction problem, stateestimation, biped locomotion, gait generation.

DISCIPLINEGénie Informatique, Automatique et Traitement du Signal

Laboratoire d’Informatique, de Robotique et de Microélectronique de MontpellierUMR 5506 CNRS/Université Montpellier 2161 Rue Ada – 34 392 Montpellier Cedex 5 – France