Vous êtes sur la page 1sur 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
2 Fabien Lydoire
Table des matières

Table des matières

1 Introduction générale 11
1.1 La locomotion bipède . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2 Robots bipèdes et commande . . . . . . . . . . . . . . . . . . . . . . 15
1.3 Plates-formes robotiques bipèdes considérées . . . . . . . . . . . . . . 18
1.3.1 Le robot Rabbit . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.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 23


2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.1 Modélisation dynamique . . . . . . . . . . . . . . . . . . . . . 24
2.2 Méthodes d’identification . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2.1 Identification non linéaire . . . . . . . . . . . . . . . . . . . . 26
2.2.2 Identification par modèle inverse . . . . . . . . . . . . . . . . 27
2.3 Identification des paramètres dynamiques du robot Rabbit . . . . . 33
2.3.1 Tibia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.2 Tibia et cuisse . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3 Génération de démarches 3D 39
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.1.1 Générer des trajectoires . . . . . . . . . . . . . . . . . . . . . 40
3.1.2 Espace de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2 Génération de démarches 3D paramétrées . . . . . . . . . . . . . . . . 42
3.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2.2 Optimisation sous contraintes . . . . . . . . . . . . . . . . . . 43
3.2.3 Posture initiale . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2.4 Génération de mouvement . . . . . . . . . . . . . . . . . . . . 45
3.2.5 Résultats de simulation . . . . . . . . . . . . . . . . . . . . . . 48
3.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4 Commande prédictive et arithmétique d’intervalles 53


4.1 La commande prédictive non linéraire référencée modèle . . . . . . . 54
4.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.1.2 La commande prédictive . . . . . . . . . . . . . . . . . . . . . 55
4.1.3 Le problème NMPC . . . . . . . . . . . . . . . . . . . . . . . 57

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 3
d’intervalles
Table des matières

4.1.4 Adaptation à la locomotion bipède . . . . . . . . . . . . . . . 64


4.1.5 Commande prédictive et intervalles . . . . . . . . . . . . . . . 67
4.1.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.2 L’arithmétique d’intervalles . . . . . . . . . . . . . . . . . . . . . . . 68
4.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.2.2 Notions élémentaires . . . . . . . . . . . . . . . . . . . . . . . 69
4.2.3 Fonction d’inclusion . . . . . . . . . . . . . . . . . . . . . . . 73
4.2.4 L’inversion d’ensemble . . . . . . . . . . . . . . . . . . . . . . 74
4.2.5 La propagation de contraintes . . . . . . . . . . . . . . . . . . 76
4.2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.3 Conjuguer l’arithmétique d’intervalles et la commande de robot . . . 79
4.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.3.2 Approximations extérieures et conséquences sur la commande 81
4.3.3 Estimation d’état et arithmétique d’intervalles . . . . . . . . . 87
4.3.4 Adaptation des outils de l’arithmétique d’intervalles à la com-
mande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

5 Application à la commande d’un pendule sous actionné 99


5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.2 Modèle de pendule . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.3 Commande NMPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.3.1 Le critère . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.3.2 Les contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.3.3 Simulations du NMPC sans trajectoire de référence . . . . . . 101
5.4 Commande via l’arithmétique d’intervalles . . . . . . . . . . . . . . . 105
5.4.1 Bissection et optimisation . . . . . . . . . . . . . . . . . . . . 107
5.4.2 Pondérer la notion de point fixe . . . . . . . . . . . . . . . . . 110
5.4.3 Combiner l’estimation d’état et la propagation . . . . . . . . . 111
5.4.4 Boucle de rétropropagation . . . . . . . . . . . . . . . . . . . 111
5.5 Commande via l’arithmétique d’intervalles et discrétisation spatiale . 112
5.5.1 Guider le choix de la commande . . . . . . . . . . . . . . . . . 117
5.6 Récapitulatif des simulations . . . . . . . . . . . . . . . . . . . . . . . 117
5.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
Table des figures

Table des figures

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


1.2 Le robot HRP-1 de l’AIST aux commandes d’une machine de chantier 12
1.3 Les robots bipèdes des sociétés Honda (Asimo à gauche) et Sony (Qrio
à droite) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4 Le polygone de sustentation en simple et double support . . . . . . . 14
1.5 Marche en compas, (Vaughan et al., 1992) . . . . . . . . . . . . . . 14
1.6 Phases d’un cycle de marche, (Vaughan et al., 1992) . . . . . . . . . 15
1.7 Les plans du corps humain . . . . . . . . . . . . . . . . . . . . . . . . 16
1.8 Le robot Wabian de l’université de Waseda . . . . . . . . . . . . . . . 17
1.9 Le robot HRP-2 de l’AIST . . . . . . . . . . . . . . . . . . . . . . . . 17
1.10 Le robot humanoïde de l’Université de Karlsruhe . . . . . . . . . . . 18
1.11 Le robot Johnnie de l’université de Munich . . . . . . . . . . . . . . . 18
1.12 Le robot Rabbit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.13 Le robot bipède Bip . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27


2.2 Méthode d’identification par modèle inverse et moindres carrés d’er-
reur d’entrée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3 Le robot rabbit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.4 Exemples de positions et vitesses articulaires appliquées pour l’iden-
tification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.5 Modèle de tibia du robot Rabbit . . . . . . . . . . . . . . . . . . . . 34
2.6 Modèle de jambe du robot Rabbit . . . . . . . . . . . . . . . . . . . 35
2.7 Estimation et couples réels pour le tibia (droite) et la cuisse (gauche)
issus de l’excitation de la jambe gauche . . . . . . . . . . . . . . . . . 36
2.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) . . . . 43


3.2 Posture initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.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 . . . . . . . . . 45
3.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 du
pied. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 5
d’intervalles
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 pied
libre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.6 Pas de transition entre deux marches . . . . . . . . . . . . . . . . . . 48
3.7 Postures durant le pas de transition . . . . . . . . . . . . . . . . . . . 49
3.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 phase
de simple support pied droit d’un pas de 15 cm de long et 5 cm de
haut. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.9 Trajectoire de la projection dans le plan (x,z) du centre de masse
durant 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 . . . . . . . . . . . . . . . . . 56


4.2 Principe de la commande prédictive . . . . . . . . . . . . . . . . . . . 57
4.3 Principe de la commande prédictive : poursuite de trajectoire de ré-
férence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.4 Utilité de l’horizon de prédiction dans le cadre de la locomotion . . . 65
4.5 Modèles de robots bipèdes sur lesquels ont été validé le NMPC . . . . 66
4.6 Intervalles et bornes : exemple d’une boîte dans R2 . . . . . . . . . . 70
4.7 Illustration de la fonction d’inclusion dans R2 (Jaulin et al., 2001) . 73
4.8 Étapes de l’algorithme d’inversion d’ensemble . . . . . . . . . . . . . 75
4.9 Contraction : suppression de valeurs inconsistantes . . . . . . . . . . 76
4.10 Principe de la commande prédictive basée sur la satisfaction de contraintes 80
4.11 Calculs garantis par les méthodes ensemblistes . . . . . . . . . . . . . 81
4.12 Faisabilité d’une commande avec les calculs ponctuels . . . . . . . . . 85
4.13 Faisabilité d’une commande avec l’arithmétique d’intervalles . . . . . 86
4.14 Discrétisation spatiale . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.15 Non respect des domaines dû à l’approximation intérieure de l’état . . 89

5.1 Le pendule inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100


5.2 Simulation avec la commande NMPC sans trajectoire de référence -
position initiale proche de la verticale vers le haut . . . . . . . . . . . 102
5.3 Simulation avec la commande NMPC sans trajectoire de référence -
position initiale verticale vers le bas . . . . . . . . . . . . . . . . . . . 103
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 verticale
vers le haut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.5 Simulation avec la commande NMPC sans trajectoire de référence/commande
constante le long de l’horizon - position initiale verticale vers le bas . 105
5.6 Simulation avec la contraction classique - position initiale proche de
la verticale vers le haut- bissection = 0, 01 (rad.s−1 ) . . . . . . . . . . . 108
5.7 Simulation avec la contraction classique - position initiale proche de
la 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
Liste des Algorithmes

5.9 Simulation avec ordonnancement des boîtes - critère commande de


norme minimale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.10 Simulation avec ordonnancement des boîtes - critère sur boîte terminale111
5.11 Simulation avec ordonnancement des boîtes - contraction = 0, 1 (rad.s−2 )112
5.12 Simulation avec intersection séparée . . . . . . . . . . . . . . . . . . . 113
5.13 Simulation avec intersection séparée et boucle de rétropropagation . . 114
5.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 ) . . . 115
5.15 Simulation avec discrétisation spatiale en 10 éléments - position ini-
tiale verticale vers le bas - bissection = 0, 01 (rad.s−1 ) . . . . . . . . . . 116
5.16 Simulation avec discrétisation spatiale en 10 éléments - limitation du
choix de la commande . . . . . . . . . . . . . . . . . . . . . . . . . . 118
5.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 . . . . . . . . . . . . . . . . 78
2 Contraction classique pour la commande prédictive . . . . . . . . . . . 91
3 Commande récursive basée sur la contraction . . . . . . . . . . . . . . 92
4 Commande avec ordonnancement des boîtes . . . . . . . . . . . . . . . 94
5 Propagation-rétropropagation pour la commande du pendule avec test
de faisabilité de la commande . . . . . . . . . . . . . . . . . . . . . . . 96
6 Propagation-rétropropagation pour la commande du pendule avec test
de faisabilité de la commande et boucle de rétropropagation . . . . . . 97
7 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 7
d’intervalles
Liste des Algorithmes

8 Fabien Lydoire
Remerciements

Remerciements

Les travaux présentés dans ce mémoire ont été réalisés au sein du département
robotique du Laboratoire d’Informatique de Robotique et de Microélectronique de
Montpellier (LIRMM). Je remercie donc en premier lieu M. Michel Habib, directeur
du 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. Je
remercie également M. André Crosnier d’avoir accepter de présider ce jury.

Je remercie Étienne Dombre, mon directeur de thèse ainsi que Philippe Poignet
mon 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 non


chercheurs, 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é envie
de faire de la recherche : Thierry Viéville de l’INRIA Sophia-Antipolis, les anciens
moyens 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 tas
de 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ésards
ou ex-thésards. Aux premiers je souhaite bon courage pour arriver au bout. Les
seconds, 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 jeune
padawan», «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 le
gentil breton poilu, le gentil marseillais silencieux, les gentils libanais, les gentils
copains. Au début on trouve les boxes bruyants, mais c’est quand même bien d’être
tous ensemble.

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

Enfin, je termine ces remerciements par quelques mots plus personnels. Merci
à vous Papa, Maman. Merci pour votre soutien, vos encouragements. Et oui, vous
n’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 le
meilleur. . .

10 Fabien Lydoire
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 tout


d’abord été conçus dans le but d’assister l’homme dans son travail pour l’exécution
de 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 être
humain (manipulation d’objets lourds, usinage rapide, etc. . . ).

L’utilisation de robots dont la base est fixe se révèle appropriée dans le cadre
d’une usine où les robots sont placés le long d’une chaîne de montage. Cependant, les
capacités des robots ne se limitent pas à réaliser des opérations sur des objets placés
dans leur espace de travail et il existe de nombreuses applications qui nécessitent que
le 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 robots
pour 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 robots
munis de roues ou de plusieurs pattes : leurs multiples points d’appui permettent
d’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 sont
désavantagés par rapport aux robots à pattes. Tant qu’ils sont placés sur une route
ou dans un environnement raisonnablement accidenté, les véhicules à roues sont les
plus performants ; mais dès qu’il s’agit de surmonter des obstacles (un trou ou un
obstacle 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 type


d’obstacles mais, se pose alors le problème des obstacles en relief. Un robot à pattes
peut exploiter le temps de vol de ses pattes pour franchir un tel obstacle, sans même
le 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 multiples
points 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 11
d’intervalles
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 en


milieu hostile et/ou accidenté, c’est accroître sa capacité de déplacement dans un
environnement structuré, le plus souvent pour l’homme. S’impose alors le concept de
robot bipède (Chevallereau et Sardain, 2000; Gienger et al., 2001; Guihard
et Gorce, 2001; Yamaguchi et al., 1999).

L’homme modèle son environnent à sa convenance, c’est-à-dire pour un bipède


humain. Les difficultés à se déplacer en chaise roulante au sein des infrastructures
urbaines 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. Un
robot 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é par
leur impact psychologique et par conséquent par les retombées en termes d’image
pour une sociéte capable de les concevoir (robots des sociétés Honda ou Sony par
exemple, 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 aux


besoins de la biomécanique. Elle permet d’établir ou de valider des hypothèses issues
de l’étude de la marche humaine ou animale (Hugel et al., 2003) afin de détecter et
soigner différentes pathologies ou de mieux comprendre certains phénomènes biolo-

12 Fabien Lydoire
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 patients
paraplé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 la
locomotion 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, nous
introduisons quelques définitions :
– le centre de masse (CdM) ou centre de gravité est le barycentre des éléments
de volume pondérés par leur masse volumique,
– le centre de pression (CdP) est le point où s’applique la résultante des forces
de réaction au sol,
– le « Zero Moment Point » (ZMP) est le point où le moment dynamique des
forces 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 brusques
de direction. Ce type de marche représente la marche la plus simple en termes de
degré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 la
position 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 13
d’intervalles
1.1. La locomotion bipède

Polygones de sustentation

Simple support Double support

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 pieds
jouent un rôle symétrique. Un cycle complet de marche (figure 1.6) est composé de
deux phases :
1. une phase de simple support avec seulement un pied en contact avec le sol
pendant 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 marche
dynamiquement stable.

La marche statiquement stable ou marche statique peut se représenter comme


une 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
Chapitre 1. Introduction générale

P HASES
P H A S E D ’ A P P U I P HASE DE BALANCEMENT

Sous-Phases
Premier double support Simple support Second double support Balancement initial Balancement final

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


% du cycle

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

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 à chaque
instant. Ainsi, interrompre le mouvement, à n’importe quel instant, ne cause pas de
chute.

La marche dynamiquement stable ou marche dynamique est la marche adoptée


en situation normale. C’est une succession de déséquilibres en avant (la projection
du CdM sort du polygone de sustentation) rattrapés par la pose de la jambe de vol
en 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 (figure
1.7) : frontal, sagittal et horizontal. Le plan sagittal est le plan dans lequel se fait
la progression de la marche normale. Le plan frontal correspond aux déplacements
de côté. L’étude et la génération de la marche peuvent être simplifiées en se plaçant
uniquement 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éel
sur le robot d’un régulateur autour de cette trajectoire. Cette approche donne des
ré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 15
d’intervalles
1.2. Robots bipèdes et commande

tal
orizon
Plan h

Plan sagittal
Plan frontal

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’implantation
en temps réel d’un contrôleur de marche. L’objectif est d’obtenir des mouvements
pé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 (dynamique
de zéro). Les performances de cette commande ont été illustrées par la commande
la 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 comme
la préhension, la reconnaissance de l’environnement, la communication entre les
hommes et les robots. L’université de Waseda travaille ainsi depuis les années 70
sur les robots humanoïdes (figure 1.8). En 2000, elle crée le Humanoid Robotics
Institute 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 la
derniè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 laboratoire
franco-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 locomotion
et la compréhension de l’environnement.

16 Fabien Lydoire
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 les
travaux à 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 pour
1m80. Sa commande est constituée d’une génération de trajectoires hors ligne puis
d’une correction de la position du haut du corps basée sur un modèle réduit du robot
pour une implantation temps réel du contrôleur (Lohmeier et al., 2004).

En France, les travaux sont principalement orientés autour des capacités de


marche 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 17
d’intervalles
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, les


robots 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 de
deux projets CNRS successifs :
1
IRCCyN, LAG, LGIPM, LIRMM, LMS, LRP, LVR, INRIA

18 Fabien Lydoire
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» de
2001 à 2004.

Le robot (figure 1.12(b)) a été conçu de façon à pouvoir marcher et courir. Le


système est composé de deux parties : le robot proprement dit et un système de
guidage 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’être
sous-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ème
de guidage est constitué d’une colonne centrale et d’une barre radiale. Le tronc du
robot peut pivoter librement autour de l’axe de la barre. Ainsi, la barre maintient la
tangence entre le plan sagittal du robot, et une sphère dont le rayon vaut la longueur
de la barre de maintien. Chaque tibia est muni d’une roulette dont l’axe est dans le
plan sagittal. Le contact pied/sol est supposé ponctuel.

q1 +

q31
q32
q41
q42

(a) (b) (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 de
Mé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 dans


l’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çu
et 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 19
d’intervalles
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 ses
chevilles, genoux et hanches qui permettent la flexion/extension. Les changements
de direction sont possibles par la rotation interne/externe du tronc, du bassin et des
hanches. La rotation des chevilles, des hanches et de la vertèbre lombaire permettent
l’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 centres
de 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 de
moindres carrés à erreur d’entrée dans le contexte particulier de la robotique bipède
afin 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 en
fonction 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ètres
d’inertie et de frottement ne peut être obtenue qu’à partir du système réel. Ceci
permet de prendre en compte les câblages et les courroies de transmission dans le
cas 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 sont
souvent 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 pour
l’identification des paramètres dynamiques d’un robot bipède dans le chapitre 2. Ces
travaux d’identification ont été réalisés sur la plate-forme Rabbit dans le cadre d’un
projet du Programme Interdisciplinaire de Recherche CNRS ROBEA.

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

20 Fabien Lydoire
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 en
temps réel et par conséquent, le contrôle temps-réel du robot consiste à réguler la
position du robot autour d’une trajectoire de référence pré-calculée en utilisant le
modèle du robot. Le second objectif de la thèse, présenté dans le chapitre 3 porte
sur la génération de trajectoires 3D et a été validée en simulation sur le modèle 3D
du robot Bip. La méthode proposée est flexible et permet ainsi la génération de
trajectoires variées, correspondant à différents types de démarches. Ces trajectoires
pourront ensuite être utilisées dans le cadre d’une commande basée sur le suivi de
trajectoires multiples suivant les conditions rencontrées par le système.

Calculer un ensemble de trajectoires, prévoyant une grande variété de situations


permet 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 courante
pour calculer la commande, nous pouvons ajouter des capacités d’anticipation et de
prédiction afin d’améliorer cette adaptabilité. La prédiction de la situation future et
l’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éaire
ré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 de
contraintes assurant la marche d’un système robotisé avec une commande prédictive
sans trajectoire de référence. Cependant, les problèmes liés à la stabilité de la loi de
commande, 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 donc
sur l’étude et l’approfondissement de la commande prédictive pour la locomotion
artificielle. Nous proposons de privilégier la faisabilité du problème par rapport au
caractè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 intervenant
dans les contraintes correspondent à des plages de variations admissibles au cours
de la marche pour les paramètres clés de la démarche (positions des pieds, vitesse
de déplacement, position du CdM). La satisfaction des contraintes peut alors être
garantie 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 les
outils 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 21
d’intervalles
1.4. Objectifs de la thèse et organisation du mémoire

Fig. 1.13 – Le robot bipède Bip

q10
q15 q14 q12
q4 q8 q9
q11
q7 q13
q3
q5
q6
q2
q1

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


dans le plan frontal, mouvements dans le plan horizontal.

22 Fabien Lydoire
Chapitre 2. Identification de paramètres dynamiques

Chapitre 2

Identification de paramètres
dynamiques

ans ce deuxième chapitre, nous traitons de l’identification


D des 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 performances
d’un simulateur chargé de valider les différentes stratégies de
commande ou encore dans le cadre de commandes référencées
modè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 le
modè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 23
d’intervalles
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 complexe
qu’un robot marcheur. Ce chapitre traite donc de l’identification des paramètres
dynamiques d’un système mécanique à corps rigides. Nous appliquerons ensuite la
mé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 de
ce modèle, il est nécessaire d’identifier des paramètres dynamiques liés à la
physique du robot.
2. L’application sur le système à identifier de commandes excitant les paramètres
dynamiques.
3. L’estimation des paramètres du modèle par la minimisation de l’écart entre le
modè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édit
et 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, puis
l’identification par modèle inverse, enfin les résultats d’identification sur le robot
bipè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 du
modè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 des
coordonnées généralisées. Il peut être calculé à partir de la formulation Lagrangienne
ou 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
Chapitre 2. Identification de paramètres dynamiques

Dans le cas de présence d’efforts extérieurs comme les contacts avec le sol dans
le 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’appliquent
les 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 espace


libre, sans efforts extérieurs.

Paramètres dynamiques standard

Le modèle dynamique inverse (2.1) peut se réécrire sous la forme d’une équation
linéaire vis-à-vis d’un jeu de paramètres χs appelés paramètres dynamiques standard.
 
Γ
us = = Ds (q, q̇, q̈) χs (2.4)
0
    
u1s Ds1 χ1s
us =  ...  = Ds χs =  ..   .. 
  
.  .  (2.5)
uns Dsn χns


– χs est le vecteur (13 n × 1) des paramètres dynamiques standard :
 T
χs = (χ1s )T . . . (χns )T

χjs = [XX j XY j XZ j Y Y j Y Z j ZZ j MX j MY j MZ j Mj Iaj F vj F sj ]T

Pour chaque corps j, on compte 11 paramètres inertiels standard et 2 para-


mètres de frottement :
– XX j , XY j , XZ j , Y Y j , Y Z j , ZZ j sont les 6 composantes du tenseur d’iner-
tie,
– MX j , MY j , MZ j sont les composantes du premier moment d’inertie
– Mj est la masse du corps,
– Iaj est l’inertie de l’actionneur,
– F v i est le coefficient de frottements visqueux,
– F sj 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 25
d’intervalles
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 identifiables
appelé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 les
paramètres inertiels qui n’interviennent pas dans le calcul du modèle dynamique du
systè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 pour
calculer 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 symbolique
du 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, des
règles d’élimination et de regroupement systématiques pour les paramètres inertiels
standard 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 regroupements
particuliers doivent être traités séparément. Ces regroupements ont été recensés et
systématisés par (Belkoura, 1993) pour les robots à chaîne ouvertes simples et
par (Khalil et Bennis, 1994) pour les chaînes complexes.

Des méthodes numériques permettent de calculer les paramètres minimaux sans


considération particulière sur la nature des paramètres dynamiques composant le
vecteur χs . Dans (Gautier et Khalil, 1990; Gautier, 1991) une approche basée
sur 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ème
mécanique considéré. Soit χ le vecteur (nb ×1) des paramètres de base obtenu à partir
du vecteur χs des paramètres standard. Le modèle dynamique inverse se simplifie
et s’écrit sous la forme réduite minimale suivante :
 
  D1
= D χ avec D =  ... 
Γ  
u= (2.6)
0
Dn

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
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.

ẋ = fD (x, u)
(2.7)
y = gD (x, u)
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ésentons
dans 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) ou
fréquentielle (Sidman et al., 1991) du modèle et celle du système.
u y
Système


PNL J((χs ))
erreur de sortie
Modèle direct
ẋ = fD (x, u, χs ) ym
χs

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 ε
T
avec ε = ε1 . . . εm l’échantillonnage de ε tel que εk = ε(tk ), k =
1, · · · , m, et m le nombre d’échantillons. Notons, qu’il peut être judicieux d’adjoindre
des informations a priori au critère au moyen d’une pondération bien choisie pour
obtenir 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éaire


par 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ètres
dynamiques 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 27
d’intervalles
2.2. Méthodes d’identification

en œuvre d’essais expérimentaux spécifiques sur chaque corps du robot pris isolément
afin 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 partir
de considérations géométriques sur les différents corps, (An et al., 1985) suggèrent
une utilisation de la CAO pour calculer les paramètres inertiels des robots. Cette
méthode n’offre guère de précision sur l’estimation des paramètres recherchés. Les
deux méthodes précédentes conduisent à des résultats généralement sans estimation
de 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èle
au 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 inverse
du robot qui s’exprime sous une forme linéaire par rapport aux paramètres dy-
namiques à estimer (Gautier, 1990), (Khalil et Dombre, 1999), (Gautier et
Poignet, 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(J(ρ))
χs

Dans le cas des moindres carrés ordinaires J(ρ) est défini par :
J(ρ) = kρk2 = ρT ρ
T
où ρ = ρ1 . . . ρNe est 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 étapes
déjà évoquées :

28 Fabien Lydoire
Chapitre 2. Identification de paramètres dynamiques

u Système q

ρ erreur d’entrée Filtrage


passe bande
 T T
ḃT , b̈
x̂ = qbT , q q
û Modèle inverse
ˆ s
û = Ds (x̂, ẋ)χ

χs
Moindres
Carrés
Linéaires

Fig. 2.2 – Méthode d’identification par modèle inverse et moindres carrés d’erreur
d’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).
       
u11 D1 (1)
  .     ..  
  ..     .  
 nech
   
 u   D 1 (n ech )
 χ1s
 1   

= ..   ..  ..  (2.8)
uech  = Dech χs = 
  .1   . . 

   
 u   D n (1)
 χns
 n   
  ..     ..  
  .     .  
nech
un Dn (nech )

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


tion :
Ys = Ws (q, ḃ q)χ
b q, b̈ s + ρs (2.9)

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 29
d’intervalles
2.2. Méthodes d’identification

Avec :  
Ys1
Ys =  ... 
 
(Vecteur de mesures) (2.10)
Ysn
 
Ws1
Ws =  ... 
 
(Matrice d’observation) (2.11)
Wsn
Où :
– Ysj est le vecteur de dimension (nech × 1) correspondant à l’échantillonnage de
l’effort moteur Γj du modèle (2.8),
 
ujs (1)
Ysj = 
 .. 
(2.12)
. 
ujs (nech )

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


de la matrice Dsj du modèle (2.8),
 
Dsj (1)
Wsj = 
 .. 
(2.13)
. 
j
Ds (nech )

– ρ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 des
moindres carrés, notée χ̂s , du vecteur inconnu χs :

χ̂s = Arg min kρs k2 = Ws+ Ys (2.14)


χs

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

Ws+ = (WsT Ws )−1 WsT (2.15)

Identifiabilité structurelle
L’unicité de la solution (2.14) dépend du rang de la matrice d’observation. Une
perte de rang structurelle de Ws peut apparaître lorsque le modèle d’identification
a été paramétré de façon surabondante. Ce problème d’identifiabilité est résolu en
utilisant les paramètres de base (§ 2.1.1) qui fournissent une représentation minimale
du modèle (Gautier et Khalil, 1990), (Gautier, 1991).
   
u1 D1
 ..   .. 
u =  .  = Dχ =  .  χ (2.16)
un Dn

30 Fabien Lydoire
Chapitre 2. Identification de paramètres dynamiques

L’échantillonnage du modèle minimal (2.16) permet d’obtenir un système linéaire


surdéterminé de plein rang structurel :
Ym = Wm (q, ḃ b̈
b q, q)χ + ρm (2.17)
où Wm est la matrice (nech .n×nb ) d’observation, de plein rang structurel. On estime
les paramètres comme la solution des moindres carrés ordinaires de (2.17) :
χ̂ = Arg min kρm k2 = Wm+ Ym (2.18)
χ

Estimer l’erreur d’identification


Dans les paragraphes précédents, nous avons introduit un vecteur ρ de résidus
dus aux bruits de mesures et aux erreurs de modèle. Nous considérons que ρ est un
bruit 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 :


h i −1
Cχ̂χ̂ = E (χ − χ̂) (χ − χ̂)T = σρ2 W T W (2.20)

En utilisant la factorisation SVD de W :


Cχ̂χ̂ = σρ2 V Σ−2 W V T (2.21)
où σχ̂2 i = Cχ̂ii est le iième coefficient de la diagonale de Cχ̂χ̂ .

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


σχ̂
%σχ̂i = 100 i (2.22)
χ̂i

Identification par moindres carrés pondérés


Le système obtenu après filtrage des données acquises le long de mouvements
excitants 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érentielles
de (2.8) :      
Y1 W1 ρ1
 ..   ..   .. 
Y =  .  = Wχ + ρ =  . χ +  .  (2.24)
Yn Wn ρn
Chaque sous-système linéaire j possède des écarts types σρj qui peuvent être
estimés en calculant la norme 2 de l’erreur de chacun d’entre eux :
kYj −W j χ̂j k
σˆρj = √ avec j = 1, . . . n (2.25)
nech −nbj

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 31
d’intervalles
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 de


matrice de variance-covariance donnée par (2.19), suppose que l’on accorde la même
confiance à chaque ligne du régresseur D. Cette considération n’est pas judicieuse
dans 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 norme
moyenne 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 :
 
S1 0 · · · 0 
 .. .. ..   Sj = 1
I
0 . . .  σ̂ρj nech
S=. . .  avec kYj −Wj χ̂j k (2.26)
.. . . . . 0  σ̂ρj = √
nech −nbj
0 · · · 0 S Ne

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


(2.24) : 
Yp = SY

Yp = Wp χ + ρp avec Wp = SW (2.27)


ρp = Sρ
La solution au sens des moindres carrés pondérés χ̂ minimise la norme 2 du
vecteur des erreurs ρp pondérées :

χ̂= Arg min[ρT S T Sρ] (2.28)


χ

On peut montrer que d’un point de vue statistique, l’estimateur des moindres
carré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 sous


systè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 amplitudes
des 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és
pondé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’une
chaîne d’actionnement hydraulique confortent ces résultats.

Le paragraphe suivant illustre l’utilisation de la méthode des moindres carrés


pondérés pour l’identification du robot marcheur Rabbit. Pour plus d’informations
sur la mise en œuvre de l’identification, on pourra consulter (Pham, 2002).

32 Fabien Lydoire
Chapitre 2. Identification de paramètres dynamiques

2.3 Identification des paramètres dynamiques du


robot 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és
sur les genoux et les hanches.

Fig. 2.3 – Le robot rabbit

Dans ce paragraphe, nous identifions les paramètres dynamiques des jambes


du robot (Lydoire et Poignet, 2003a). L’identification est réalisée suivant deux
étapes, augmentant successivement le nombre de segments à identifier. Pour chaque
modèle considéré, le modèle dynamique avec les paramètres inertiels de base ainsi
que 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 actionnant


chaque tibia seul et séparément. Le modèle utilisé ne comprend qu’un seul degré de
liberté 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 sans
utiliser les connaissances acquises précédemment concernant le tibia. Les jambes
sont 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 dynamiques


sont des paliers de vitesses générés aléatoirement (figure 2.4) ou des sinus wobulés
de façon à optimiser le conditionnement du régresseur.

Au cours de l’identification1 , le robot est entièrement suspendu par la barre


radiale et donc sans contacts avec le sol. La méthode utilisée est l’identification par
minimisation aux moindres carrés pondérés d’erreur d’entrée avec modèle inverse
(§ 2.2.2).
1
Les expérimentations ont été réalisées au Laboratoire d’Automatique de Grenoble (LAG) en
collaboration avec G. Buche, ingénieur au LAG.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 33
d’intervalles
2.3. Identification des paramètres dynamiques du robot Rabbit

0.8 5
4
0.6

position q (rad)
3
0.4 2

vitesse q̇ (rad)
1
0.2
0
0 -1
-0.2 -2
-3
-0.4 -4
-0.6 -5
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
temps (s) temps (s)

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 associant
le tibia et les actionneurs localisés sur le genou (figure 2.5). Son modèle dynamique
dépend de quatre paramètres dynamiques de base (§ 2.1.1) :
χ = [ZZR1 MX 1 F v1 F s1 ] (2.29)
où le paramètre ZZR1 provient du regroupement du moment d’inertie ZZ 1 et de
l’inertie de l’actionneur Ia1 dans la relation linéaire :
ZZR1 = ZZ 1 + 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) sont
regroupés dans le tableau 2.1. Les paramètres χ̄, χ b et %σχ̄ sont respectivement les
valeurs 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 F v1 F s1 ZZ 2 MX 2 Ia2 F v2 F s2 ] (2.31)

34 Fabien Lydoire
Chapitre 2. Identification de paramètres dynamiques

tibia gauche tibia droit


χ̄ χb %σχ̄ χb %σχ̄
ZZR1 (kg.m2 ) 0.93 1.05 0.52 1.06 0.54
MX 1 (kg.m) 0.41 0.42 7.70 0.38 9.09
F v1 (N.m.s) 7.34 1.11 6.69 1.16
F s1 (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 + D2 2 × M2 + ZZ1 (2.32)


MXR1 = D2 × M2 + MX 1 (2.33)

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


tibia.

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

L’estimation est réalisée avec des trajectoires excitant simultanément le tibia et


la cuisse des deux jambes, le tronc étant laissé libre. L’estimation des paramètres
ainsi 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 les
valeurs théoriques et les valeurs estimées ainsi que l’écart type relatif faible montre
la qualité des résultats d’identification.

Au regard des écarts types relatifs %σχ̄ , l’identification simultanée des tibias et
des cuisses donne des résultats avec une incertitude très élevé pour les paramètres
ZZ 2 et MX 2 . Malgré cette incertitude élevée, la reconstruction des couples réels
appliqué 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 35
d’intervalles
2.4. Conclusion

jambe gauche jambe droite


χ̄ χb %σχ̄ χb %σχ̄
ZZR1 (kg.m2 ) 1.592 2.06 0.81 1.97 0.78
MXR1 (kg.m) 2.39 2.67 1.84 2.48 1.44
F v 1 (N.m.s) 12.44 0.58 10.55 0.64
F s1 (N.m) 10.78 0.74 8.81 0.77
ZZ 2 (kg.m2 ) 0.1 0.005 202.72 0.06 13.50
MX 2 (kg.m) 0.41 0.083 21.52 0.009 150.98
Ia2 (kg.m2 ) 0.83 0.73 2.47 0.65 2.51
F v 2 (N.m.s) 11.40 0.69 11.16 0.65
F s2 (N.m) 9.42 0.86 9.12 0.74

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


150 60
couples réels couples réels
couples estimés couples estimés

40
100

20
50
couples (N.m)
couples (N.m)

-20

-50
-40

-100
-60

-150 -80
0 0.5 1 1.5 2 2.5 3 0 0.5 1 1.5 2 2.5 3
temps (s) temps (s)

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ées


sur le robot ont conduit pour l’instant à une stabilisation du tronc, ne permettant
pas d’obtenir des mouvements suffisamment excitants pour identifier ses paramètres
dynamiques.

2.4 Conclusion
Ce chapitre a présenté une méthode d’identification des paramètres dynamiques
d’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, et


a permis l’identification des paramètres dynamiques d’un robot marcheur à 7 degrés
de liberté.

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

36 Fabien Lydoire
Chapitre 2. Identification de paramètres dynamiques

150 60
couples réels couples réels
couples estimés couples estimés

40
100

20
50
couples (N.m)

couples (N.m)
0

-20

-50
-40

-100
-60

-150 -80
0 0.5 1 1.5 2 2.5 3 0 0.5 1 1.5 2 2.5 3
temps (s) temps (s)

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 une
validation croisée. Certains paramètres dynamiques des jambes n’ont pu être identi-
fiés individuellement. Cependant, leur influence étant mineure dans les mouvements
proposé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 37
d’intervalles
2.4. Conclusion

38 Fabien Lydoire
Chapitre 3. Génération de démarches 3D

Chapitre 3

Génération de démarches 3D

e chapitre présente une nouvelle approche pour la généra-


C 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 des
actionneurs soumises à un ensemble de contraintes physiques.
Ces contraintes sont liées aux paramètres de marche telles que
la longueur du pas, la hauteur du pas ou la progression en
avant. Nous présentons tout d’abord le robot Bip ainsi que sa
modélisation 3D. Ensuite, afin d’illustrer l’efficacité de notre
méthode, nous présentons des simulations de marche statique
dans 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 39
d’intervalles
3.1. Introduction

3.1 Introduction
Comme nous l’avons vu dans le § 1.1, la locomotion bipède s’avère être adaptée
aux déplacements dans un environnement encombré d’obstacles. L’utilisation de
pattes permet de changer de configuration pour passer au-dessus des obstacles, ce
qui n’est pas possible avec d’autres véhicules, à roues par exemple. Les robots bipèdes
sont donc particulièrement adaptés aux environnements structurés pour des humains
comme les couloirs étroits ou les escaliers. Cependant, l’évolution du robot nécessite
la 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, être
obtenues à 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égie
ne permet en aucun cas de garantir l’efficacité de la démarche en terme énergétique
du 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 être


utilisé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 dans
le 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 Makssoud
et al., 2004).

De la marche passive à la marche active


Des études motivées par le fait qu’une grande part du mouvement de balancier
de la jambe dans la locomotion humaine est passive, se sont intéressées à la marche
passive 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 de
la gravité et de conditions initiales particulières permettent de reproduire la marche
sur 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 marche
passive avec des robots actionnés en conservant les propriétés de périodicité et de
stabilité 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
Chapitre 3. Génération de démarches 3D

2001), et afin d’assurer la plus grande autonomie possible pour les systèmes bipèdes
robotisé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érer
des trajectoires minimisant l’énergie dépensée grâce au principe du minimum de
Pontriaguine. On peut noter cependant que la mise en œuvre numérique de cette
mé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 la


commande en boucle ouverte directement par la minimisation d’un critère lié à la
consommation d’énergie. Dans (Cabodevilla et al., 1995) les auteurs proposent
d’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 de
générer des polynômes d’interpolation, fonction du temps, entre des configurations
dé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 alors
définis de façon à assurer des continuités de vitesse et d’accélération entre les pas, et
assurer des contacts avec le sol à vitesse nulle. Dans (Roussel et al., 1998), l’auteur
propose une paramétrisation temporelle ou fréquencielle de la marche afin d’obtenir
des 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 des
impacts 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 que
Bip du fait des forts rapports de réduction des actionneurs et par conséquent de
l’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 les
situations et évènements possibles que le système peut rencontrer. Par conséquent, il
faut être capable de générer un grand nombre de trajectoires diverses correspondant
aux 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é. Cet


ensemble 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 et
dynamiques.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 41
d’intervalles
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 de
la définition intuitive de la démarche à travers des contraintes regroupant les
caracté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 3D
complet du robot Bip muni de 15 actionneurs (§ 1.3.2) auxquels sont ajoutés la
position et l’orientation du robot dans un repère de base pour obtenir 21 degrés de
libertés. Avant d’exposer la méthode de génération de trajectoires, nous présentons
un espace de sortie dans lequel les degrés de liberté du robot Bip sont représentés
de 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éfinition
d’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 du
robot de façon plus aisée que dans l’espace des configurations (figure 3.1). Dans cet
espace, 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 de
masse, 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 de
base 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 en
particulier à 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 intuitive
et simple à partir de l’optimisation sous contraintes d’une fonction quadratique des
couples. Les contraintes intervenant dans l’optimisation représentent les mouvements
imposés par la locomotion.

42 Fabien Lydoire
Chapitre 3. Génération de démarches 3D
C12
Position dans l’espace
q16 = x0 (C19 , C20 , C21)
q17 = y0 y inclinaison du tronc/système locomotion (q13 , q14 , q15)
q18 = z0

Orientation dans l’espace


q19 = θx0 (C1 , C2 , C3 )
q20 = θy0 centre de masse (x,y,z)
q21 = θz0
C10

C11
(C7 , C8 , C9 )
cheville gauche (x,y,z)

(C4 , C5 , C6 ) C18 C16


cheville droite (x,y,z)

C15 C13 C17

z C14 x

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

Deux conditions doivent être remplies afin d’assurer la locomotion (Azevedo


et 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’équilibre
est donc garanti en conservant la projection du centre de masse dans le polygone de
sustentation.

La progression vers l’avant est réalisée par le mouvement vers l’avant du centre
de masse. Nous considérons par conséquent que ces deux conditions définissent un
premier 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 la
hauteur 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 à la
fois l’équilibre et la progression vers l’avant du robot. Une démarche est définie par
une succession de postures q k où chaque posture est issue du problème d’optimisa-
tion :
1
min J(q k ) = U(q k )T U(q k ) (3.1)
qk 2
soumis à :

qimin ≤ qik ≤ qimax 1 ≤ i ≤ 21 (3.2)


gj (Cik ) ≤ 0 j = 1..ng , 1 ≤ i ≤ 21 (3.3)
hj (Cik ) = 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 43
d’intervalles
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 moteurs
pour maintenir la posture, c’est-à-dire, pour compenser la gravité,
– U(q k ) est le vecteur de dimension 15 des tensions nécessaires aux moteurs pour
conserver la posture q k ,
– qimin et qimax sont les 21 composantes des vecteurs des butées mécaniques des
articulations.
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 mouvement
en 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 du


tronc 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 de
garantir la progression vers l’avant ainsi que l’équilibre à la fois durant les phases de
simple et double support. Après avoir défini les contraintes, les postures optimales
sont 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 posture
de démarrage du pas. La marche étant symétrique, les configurations en début et
en fin de pas sont symétriques. La posture initiale définit donc la longueur du pas
(figure 3.2).

44 Fabien Lydoire
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 − Cjd j ∈ [1; 21] (3.18)


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

Les valeurs Cjd 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 à des
critères esthétiques, par exemple.

x
y Pied de vol

centre de masse

Pied de support
l
z 2

z
x Fig. 3.3 – Au démarrage du pas, la
l
2
projection du CdM se trouve sur la se-
melle du pied de support, sur la ligne
Fig. 3.2 – Posture initiale de 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 du
pas, la progression vers l’avant du pied libre, la progression vers l’avant du CdM avec
une 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 postures
intermédiaires durant la phase totale de simple support. Puisque les couples requis
pour maintenir la posture sont minimisés, commencer avec une posture en double
support 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). Par
conséquent, la trajectoire du pied de vol doit être contrainte afin de garantir une
progression selon l’axe z. Nous choisissons de contraindre son déplacement dans le
plan 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 45
d’intervalles
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’éviter


la 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 le
plan sagittal (1 contrainte) :

∀k, cvzk = 0 (3.19)

– position de cv dans le plan sagittal pour obtenir un mouvement en avant


selon les axes x et y (2 contraintes) :
l
cvxk = cvxk−1 + (3.20)
n

∀k, cvyk = f cvxk (3.21)
où la fonction f est un polynôme de degré 4 (figure 3.8) fonction de la
longueur l et la hauteur h du pas.
– position de la projection du CdM pour obtenir un mouvement vers l’avant
selon une ligne droite (2 contraintes) :
∆CdM
CdMxk = CdMxk−1 + (3.22)
n

CdMzk = CdMzk−1 (3.23)


où ∆CdM représente la progression globale du CdM selon l’axe x durant toute
la phase de simple support. ∆CdM doit être défini de façon à garantir que la
projection du CdM ne sort pas du polygone de sustentation et par conséquent
que 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 vol x

Pied de support

centre de masse

l
z 2

Fig. 3.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 du pied.

46 Fabien Lydoire
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. En
considérant un schéma symétrique pour les pas, cela impose que la posture finale de
cette phase soit la symétrique de la posture initiale en simple support. Cette posture
symé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 qui
doit être transférée sur le prochain pied de support. Le mouvement du CdM est
alors défini comme une progression linéaire le long d’une trajectoire douce entre
une posture initiale et une posture finale. Cette progression est échantillonnée en n
postures intermédiaires. La phase de double support est par conséquent paramétrée
par 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) :
∆CdM
CdMxk = CdMxk−1 + (3.25)
n
où ∆CdM est la progression du CdM selon l’axe x entre la posture initiale et la
posture finale de la phase de double support

CdMzk = f 0 CdMxk (3.26)

où f 0 est un polynôme de degré 3 permettant d’assurer une arrivée et un


dé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 contrainte
sur la rotation du tronc afin d’empêcher les mouvements amples des degrés de
liberté non contraints :
∆αtronc
αktronc = αk−1
tronc
+ (3.27)
n
où ∆αtronc représente la différence entre l’orientation dans la posture initiale et
l’orientation dans la posture finale.

Pied de vol x

Pied de support

centre de masse

l
z 2

Fig. 3.5 – En double support, la projection du CdM se déplace selon une trajectoire
polynomiale 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 47
d’intervalles
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 rencontre
un obstacle, il doit être capable d’enchaîner la marche en cours avec une marche
qui lui permettra, par exemple, de passer par dessus l’obstacle. Pour ce faire, nous
avons 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’il
n’est pas symétrique (figure 3.6). La posture initiale correspond à un simple support
de la marche précédente et la posture finale à atteindre correspond au simple support
du pied opposé de la marche suivante.

Pied de vol Pied de vol

Pied de support

z 1 pas démarche 1 1 pas démarche 2


2 2

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 internet
FSQP) développées à l’université du Maryland. Ces routines utilisent un algorithme
d’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ère
est 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 marche
en avant dans le plan sagittal avec des pas de transition de différentes longueurs
et hauteurs. Les paramètres de la démarche, qui ont été choisi arbitrairement, sont
regroupés dans le tableau 3.1. La figure 3.8 illustre les trajectoires de la cheville de
vol 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
Chapitre 3. Génération de démarches 3D

premier pas pas de transition pas final


longueur du pas l (m) 0.15 0.325 0.50
hauteur 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 plan
frontal. Les pas sur les escaliers sont considérés comme des pas en avant avec une
attention spéciale concernant la trajectoire du pied de vol afin d’éviter les collisions
avec les obstacles (marches d’escalier). Les paramètres de chaque démarche sont
regroupés dans les tableaux 3.2 et 3.3. La trajectoire de la projection du centre de
masse est présentées figure 3.9.

premier pas en avant pas de côté second pas en avant


longueur du pas l (m) 0.07 0.15 0.20
hauteur 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 49
d’intervalles
3.3. Conclusion
y (m) z (m)

0.14
0.00

−0.02
0.13
−0.04

0.12 −0.06

−0.08

0.11
−0.10

−0.12
0.10
−0.14

−0.16
0.09

−0.18

0.08 −0.20
0.00 0.02 0.04 0.06 0.08 0.10 0.12 0.14 0.16 x (m) 0.066 0.068 0.070 0.072 0.074 0.076 0.078 x (m)

Fig. 3.8 – Trajectoire de la cheville de vol dans le plan sagittal (gauche) et trajectoire
de la projection du centre de masse (droite) pendant la phase de simple support pied
droit 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émarches
3D 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 stables
sont calculées comme la solution optimale d’un problème de minimisation sous un
ensemble de contraintes physiques. Cet ensemble définissant la longueur du pas ou
la 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 être
utilisées dans le cadre d’une loi de commande basée sur un ensemble de trajectoires
dé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 la


faisabilité du mouvement par rapport aux couples admissibles. Une possibilité d’ex-
tension de la méthode serait de minimiser les couples ne correspondant pas à chaque
posture prise individuellement mais à l’enchaînement des postures en prenant en
compte le modèle dynamique inverse uk = g(qk , q˙k , q¨k ).

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 extraire
de cette minimisation la suite de postures qk issues de l’application de la suite des
commandes 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 à 21


degrés de liberté. Les travaux futurs concerneront l’extension de la stratégie à la
génération de démarches 3D dynamiques.

50 Fabien Lydoire
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 0
hauteur 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 0
hauteur 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

z (m)

−0.1

pas de
côté
−0.2 montée d’escalier

pas vers
−0.3
l’avant
de 7 cm

−0.4

−0.5

2 pas vers l’avant de 20 cm


−0.6
−0.1 0.1 0.3 0.5 0.7 0.9 1.1 1.3 x (m)

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

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 51
d’intervalles
3.3. Conclusion

Fig. 3.10 – Postures dans un environnement structuré

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

Chapitre 4

Commande prédictive et
arithmétique d’intervalles

e chapitre expose l’utilisation des techniques de l’arithmé-


C 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 la
commande prédictive non linéaire référencée modèle (NMPC)
ainsi que l’adaptation de cette approche pour le contrôle de
la locomotion d’un système marcheur bipède. Nous extrayons
ensuite 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és
puis 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 53
d’intervalles
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 de
calculer une séquence temporelle de variables de commande en résolvant un problème
d’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 compte


naturellement les contraintes (contraintes fonctionnelles, contraintes d’exploitation)
du système considéré. L’aspect prédictif permet d’évaluer par la connaissance d’un
modèle interne le comportement dynamique du système, d’anticiper ses réactions
futures et donc de calculer une commande plus performante et plus robuste qu’en
l’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 horizon
en anglais.

La commande prédictive est généralement une commande coûteuse en temps


de 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 essentiellement
utilisé dans l’industrie du génie des procédés, où la vitesse d’évolution des systèmes
considérés est suffisamment lente pour permettre à un ordinateur de calculer la
séquence de commande le long de l’horizon de prédiction pendant des intervalles
d’é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 des
anné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 exemple
la commande prédictive généralisée (GPC) (Clarke et al., 1987) et la commande
pré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; Rawlings
et Muske, 1993; Boucher et Dumur, 1996).

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

Dans le cas des systèmes non linéaires (Nonlinear Model Predictive Control
ou NMPC), les premiers résultats n’ont été publiés que dans la fin des années
1980 (Keerthi et Gilbert, 1988). L’augmentation de la puissance de calcul et
la possibilité de prendre en compte directement les contraintes dans la commande
ont motivé le développement des commandes prédictives pour des systèmes décrits
par 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 comportement
dynamique en font donc une excellente candidate pour contrôler les mouvements de
marche.

Dans les paragraphes suivants nous présentons les principes de la commande


pré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ède
qui 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 lien
entre 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ère
dé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épendent
du temps τ .
Z
min {J(x, u) = F (u(τ ), y(τ ), x(τ ), c(τ ))dτ } (4.1)
u,x∈K τ

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 et
la commande imposées le long de l’horizon. L’ensemble K regroupe généralement
les contraintes correspondant au modèle dynamique ẋ = f (x, u) et également les
contraintes 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 du
problè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 :
Z X
(.)dτ → (.)∆τ (4.2)
τ τi

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 55
d’intervalles
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 des


Nc commandes permettant de minimiser le critère de performance choisi tout en
assurant la satisfaction des contraintes (l’ensemble K dans (4.1)).

commande

passé présent futur

k k + Nc − 1 k + Np temps

horizon de commande

horizon de prédiction

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 la


première sera effectivement appliquée. En effet, l’application de la commande mène
le système dans un état qui peut être différent de l’état prédit précédemment du fait
des approximations dans la modélisation ou d’éventuelles perturbations agissant sur
lui. La prise en compte de cette mise à jour de l’état est réalisée en calculant chaque
nouvelle 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ériode
d’é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
Chapitre 4. Commande prédictive et arithmétique d’intervalles

état initial à solution à l’instant k


 
l’instant k u0|k
xk optimisation N
 u1|k



sous contraintes uk p =  .. 
 . 
uNp −1|k

mise à jour de l’état capteurs


xk ← xk+1 xk+1 système
état initial à
l’instant k + 1

Fig. 4.2 – Principe de la commande prédictive

y r et sortie du système y avec un terme limitant la variation de la commande afin


d’assurer une continuité dans la commande (Courtial, 1996) :

Np −1
X
J= (yir − yi)2 + β(ui − ui−1 )2 (4.3)
i=0

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.

yr yr

y y
u

t t
k k + Np k 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 rapport
au 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 57
d’intervalles
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 la
commande :
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 ≤ x1max , . . . , xnmin ≤ xn ≤ xnmax }


(4.6)
U = {(u1 , . . . , um) ∈ Rn |u1min ≤ u1 ≤ u1max , . . . , um m m
min ≤ u ≤ umax }

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 boucle


fermé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 permet
de caractériser la distance maximale du point d’équilibre à laquelle peut se trouver
la trajectoire, tout en conservant la convergence vers l’origine lorsque t tend vers
l’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 dans
son 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
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 + uT Ru 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 = ∂u
∂f
|x=0,u=0 )

Le but est de déterminer K tel que A + BK soit asymptotiquement stable et


d’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 :

X
min xTk Qxk + uTk Ruk (4.8)
u(.)
k=t

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 = K LQ xk (4.9)

K LQ = −(R + B T P∞ B)−1 B T P∞ A (4.10)


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

P = AT P A + Q − AT P B(R + B T P B)−1 B T P A (4.11)

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

x(k + 1) = f (xk , K LQ xk ) (4.12)

La stabilité asymptotique de l’origine est démontrée à partir de la fonction de


Lyapunov V (x) = xT P∞ x (Vidyasagar, 1993).
Cette stratégie de commande optimise la performance uniquement lorsque l’on
se trouve proche du point d’équilibre. Ainsi, sa validité dépend de la manière dont
le 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. Les
limitations liées à l’approximation linéaire ont conduit à proposer des stratégies de
type 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 sous


contraintes :

Résoudre :
N
min J(xk , uk p ) (4.13)
N
uk p

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 59
d’intervalles
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 ≤ umax }
(4.17)
X := {xk ∈ Rn |xmin ≤ xk ≤ xmax }
et :
Np −1
N
X
J (xk , uk p ) = F (xi|k , ui|k ) (4.18)
i=0

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 argument
représente l’instant à partir duquel la prédiction est calculée. xk = x0|k est l’état
N
initial du système à contrôler à partir de l’instant k et uk p = [u0|k , u1|k , . . . , uNp −1|k ]
le vecteur des entrées futures.
N
La commande prédictive consiste à calculer le vecteur uk p des entrées consé-
cutives sur l’horizon de prédiction Np et à appliquer uniquement l’entrée u0|k . Ce
calcul est effectué à nouveau à l’instant suivant k + 1.
N
Le calcul de la solution uk p 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 commande


N
Nc sont distincts, on a : uk p = {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 une


valeur de Np = ∞. Si les hypothèses (H1) à (H5) sont vérifiées et si le problème
d’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
Chapitre 4. Commande prédictive et arithmétique d’intervalles

commande NMPC est asymptotiquement stable (Allgöwer et al., 1999; Mayne


et 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 des
techniques 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 fini
arbitraire 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). Il
existe 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 contrainte
d’é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 de


l’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 boucle
fermé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; Mayne
et 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ée
autour de ce point d’équilibre.

Mode dual Une façon de contourner le problème de la contrainte terminale est


d’utiliser une stratégie de mode dual qui propose d’utiliser deux modes de commande
appliqués dans différentes régions de l’espace d’état en fonction de la position de
l’état par rapport à une région terminale pré-définie Ωf qui contient l’origine. En
dehors 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é :
 ∗
u0|k si xk ∈ / Ωf
uk = (4.20)
Kxk si xk ∈ Ωf
K est défini de manière à garantir que Ωf soit une région d’attraction positive
invariante du système linéaire contrôlé par le retour d’état et que les contraintes sur
l’état et la commande demeurent satisfaites par le contrôleur linéaire dans Ωf . Il
existe 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 est
en dehors de Ωf , Np est pris comme variable de minimisation du critère :

min J (xk , uN
k , Nk )
k
(4.21)
N
uk k ,Nk

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 61
d’intervalles
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é suivante


est é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 de


l’horizon par une région. La stabilité dépend essentiellement de la faisabilité de la
solution du problème d’optimisation sous contraintes alors que l’optimalité globale de
cette solution n’est pas strictement nécessaire (Scokaert et al., 1999). Le mode dual
existe en version temps continu (Michalska et Mayne, 1993) et en version temps
discret (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ée
que 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 une
borne 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 norme


future de l’état, est ajouté dans le critère pour la troncature de ce dernier :

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

On a donc :
∞ Np −1 ∞
X X X
J (u∞
k , xk ) = F (xi|k , ui|k ) = F (xi|k , ui|k ) + F (xi|k , ui|k ) (4.25)
i=0 i=0 i=Np

L’objectif est d’approximer le second terme par le terme de pénalité Φ. Cela est
possible si l’on s’assure que les trajectoires du système en boucle fermée demeurent
dans 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 stabiliserait
asymptotiquement 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’est
jamais appliquée.

On a :
Np −1 ∞
X X
min J (u∞
k , xk ) ≤ min F (xi|k , ui|k ) + F (xi|k , Kxi|k ) (4.26)
u∞
k
N
uk p i=0 i=Np

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

Ainsi, une construction judicieuse de P et Ωf permet de majorer le coût lorsque


l’on se trouve dans Ωf (Allgöwer et al., 1999) :

X
F (xi|k , Kxi|k ) ≤ xTNp |k P xNp |k (4.27)
i=Np

D’où :
N
min J (u∞ p
k , xk ) ≤ min J (uk , xk ) (4.28)
uk
∞ N
uk p

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 en
version 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 les
problè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 concerne
l’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 que
la commande, solution de l’algorithme, permet d’assurer la stabilité du procédé en
boucle 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 solution
sous-optimale, à partir du moment où la solution obtenue en arrêtant le processus
d’optimisation avant convergence est garantie faisable.

Choix des horizons Dans le cas des systèmes linéaires, il existe des méthodes
pour 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 horizon
est fortement liée à la complexité du problème. Le choix de l’horizon de prédiction
influe 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 en
considération les caractéristiques physiques du comportement du modèle en boucle
ouverte, l’objectif à atteindre et les contraintes. Un compromis est à trouver entre
une grande fenêtre de prédiction assurant la maîtrise sur un temps plus long et un
horizon 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 le
nombre de degrés de liberté, doit permettre a priori de résoudre des problèmes plus
difficiles. Cependant, la puissance de calcul disponible est un facteur extrêmement
limitant car l’ensemble des calculs du NMPC doit pouvoir être mené pendant une
période d’échantillonnage (Dufour, 2000).

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 63
d’intervalles
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 calcul
d’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 que
le 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 long


de l’horizon de prédiction plusieurs fois en une seule période d’échantillonnage. En
effet, 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 algorithmes
de recherche d’optimum global au profit de la recherche d’un optimum local (mais
faisable). Le temps de recherche d’une solution fait partie des contraintes de mise
en œuvre de l’algorithme.

4.1.4 Adaptation à la locomotion bipède


Comme nous l’avons évoqué jusqu’à présent, un principe commun aux approches
de commande prédictive est la définition d’une trajectoire de référence a priori et
le 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’un
système bipède. En effet, considérant la multitude d’allures de marche possibles, il
semble difficile de pré-calculer une trajectoire pour chacune d’elle. De plus, il est
impossible de prévoir la configuration des multiples environnements qu’un système
mobile peut rencontrer dans un environnement structuré pour l’être humain. On
peut é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 de
prédiction, est un concept approprié dans la synthèse de commande d’un système
marcheur (figure 4.4).

Ainsi dans (Azevedo, 2002), l’auteur a proposé une adaptation des techniques
de commande prédictive pour le contrôle de la locomotion bipède. L’originalité de
la démarche proposée est que la synthèse de la commande ne repose pas sur la
connaissance 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 a
faç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
Chapitre 4. Commande prédictive et arithmétique d’intervalles

y (m) U (Nm)

Passé Présent Futur

couples optimaux
prédits
U ∗ (Nm)

évolution prévue
pour la cheville
ycheville (m)

Obstacle

k k+1 k+2 k + Np temps

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

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

k+Np
1 X
J (U (k)) = Γ(j)T Γ(j) (4.29)
2 j=k+1

– 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 la
locomotion :
– 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 jambe
libre.

À ces contraintes fonctionnelles assurant un rythme de marche, il faut ajouter


des contraintes liées aux possibilités de la plate-forme robotique :
– Dynamique du robot : l’équation de la dynamique constitue la première
contrainte à 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 65
d’intervalles
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, le


choix 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 contraintes
de base qui va garantir la stabilité du robot tout en lui permettant de se déplacer
et en assurant un maximum de réactivité aux changements d’environnement ou aux
apparitions 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 du
robot et au type de démarche désirée a été défini.

q7
q1
+

(x1,y1)

(x,y) u1
(x,y)

u2 (x31,y31)
q6
q31
u3
q3 q5 q32
(x32,y32)
q41

u4 (x41,y41)
q2 q4

(x42,y42)
q1
q42

(a) Bip 2D (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 algorithme


d’optimisation sous contraintes. En effet, la stabilité du système ne peut être assurée
par les méthode classiques, celles-ci se basant sur des commandes avec trajectoires
de référence et posant des hypothèses difficilement réalisables ou irréalistes dans
notre contexte (contraintes terminales égalité, horizon quasi-infini ou «suffisament
long», etc. . . ). L’approche de la stabilité par la faisabilité doit donc être préférée
dans le contexte de la locomotion bipède. Ceci nous pousse alors vers l’utilisation
d’algorithmes d’optimisation qui permettent de garantir à tout instant une solution
satisfaisant les contraintes tel que l’algorithme FSQP (Feasible Sequential Quadratic
Programming).

De plus, dans le cadre de la commande de la marche, le respect des contraintes


est impératif. En effet, ne pas respecter une contrainte sur la position de la jambe
de vol au cours d’un pas peut mener à un impact avec un obstacle et par conséquent
déséquilibrer l’ensemble du système.

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

Ainsi la plupart des contraintes intervenant dans le NMPC se posent sous la


forme de domaines admissibles (positions admissibles pour éviter les obstacles et ga-
rantir la stabilité, vitesse admissible pour assurer le déplacement) qui peuvent être
interprétés comme des intervalles.

La définition de contraintes sous la forme d’intervalles permet alors d’utiliser des


outils 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 solution
alternative à la résolution du problème d’optimisation utilisé pour synthétiser une
locomotion 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 non
sur 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 une
certaine 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 alors
nous 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. Il
n’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ème


d’optimisation, basée sur l’arithmétique d’intervalles (Lydoire et Poignet, 2004,
2003b). En effet, nous pouvons remarquer que les contraintes intervenant dans le
NMPC, 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 les
vitesses. 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 semble
appropriée.
Mais dans quelle mesure peut on combiner arithmétique d’intervalle et commande
prédictive ? Surtout, quelle est la combinaison pertinente en termes de stabilité et
robustesse 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 67
d’intervalles
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-
N
tes. Cependant, il est possible de calculer la solution uk p au problème du NMPC en
deux phases distinctes : tout d’abord le calcul d’un ensemble de solutions satisfaisant
les contraintes du NMPC, puis l’optimisation (qui peut être locale).

Dans notre cas précis, on souhaite choisir le vecteur de commande de norme


minimale. Si la phase de calcul de solution respectant les contraintes détermine un
domaine admissible pour la commande, choisir un vecteur minimal peut être fait a
posteriori. La phase d’optimisation au sens classique peut donc être supprimée et
par 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 en
avant la difficulté de choisir l’ensemble d’inégalités définissant les contraintes du
NMPC. En effet, ces contraintes doivent assurer le mouvement et permettre une
ré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 permettent
des calculs garantis, dans le sens où l’ensemble des solutions à un problème résolu
avec les méthodes ensemblistes appartient, de façon garantie, à l’intervalle solution.

De plus, les contraintes du NMPC se présentent essentiellement sous la forme


d’inégalités qui s’écrivent directement comme des équations sur des intervalles. Par
conséquent, l’arithmétique d’intervalle semble adaptée à la résolution de ce type de
problè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 dans
la 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 les
nombres réels dans des intervalles et les vecteurs de réels dans des boîtes. Le calcul
par intervalles qui est un cas particulier de la théorie des ensembles, est maintenant

68 Fabien Lydoire
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 : la
propagation 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’image
directe 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) aux
opérations sur les ensembles. Notons P(X) l’ensemble de tous les sous-ensembles de
X. 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 69
d’intervalles
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 grande
attention. 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 place
dans 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 borne
inférieure de [x], x la borne supérieure de [x] (figure 4.6) :

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


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

x2

[x]
x2

x2

x1 x1 x1

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

70 Fabien Lydoire
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 = −3


et 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 :
x+x
mid([x]) , (4.48)
2
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 cas
gé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 (+), la
soustraction (−), la multiplication (∗) et la division (/) – s’étendent aux intervalles
suivant 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 de
faç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, ∞], cependant
cet intervalle devra être interprété comme [0, ∞[).

Lorsque les bornes x et x sont égales, l’intervalle x est dit ponctuel. Tout nombre
ré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) comme
suit :
[x] + [y] = [x + y, x + y] (4.52)
[x] − [y] = [x − y, x − y] (4.53)
[x] ∗ [y] = [min{xy, xy, xy, xy}, max{xy, 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 (4.55)
= [−∞, 1/y] si y < 0 et y = 0
= [−∞, ∞] si y < 0 et y > 0

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 71
d’intervalles
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 est


inclus dans l’intervalle au dénominateur [−8, 12].
 
3 5
[3, 5]/[8, 12] = , (4.61)
12 8
   
3 5 15
, ∗ [8, 12] = 2, (4.62)
12 8 2

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ées
sans crochets) et les domaines associés à ces variables. Illustrons cette subtilité avec
l’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. Le
problè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 les
domaines 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

B0 = {b0 ∈ R | ∃a ∈ D(a) et ∃c ∈ D(c), c − a = b0 } = [−15, 19] (4.64)

Ainsi, si l’on considère la valeur −15 (∈ B0 ) 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 pas
d’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’ensemble


solution recherché (B ⊆ B0 ).

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

L’exemple précédent illustre le pessimisme dans l’évaluation des domaines lorsque


l’on utilise les calculs ensemblistes. Ainsi, en partant de domaines initiaux pour un
ensemble de variables et en considérant des contraintes qui lient ces variables, il est
difficile de déterminer les domaines des variables qui respectent les contraintes pour
toutes 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 garantie


du 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 plus
petite boîte contenant f ([x]). La fonction d’inclusion minimale pour f est unique
et sera notée [f ]∗ (figure 4.7).

x2 y2

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

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

x1 y1

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 variable


réelle xi par un intervalle [xi ] et chaque opérateur ou fonction par son équivalent
intervalle.

Théorème 4.2.1. Soit la fonction :

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

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 minimale
si les opérateurs et les fonctions intervenant dans l’expression de f sont continus
et 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 73
d’intervalles
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).
h πi
[arctan]([0, ∞]) = 0, (4.67)
2
[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 ≥ 0
et −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écision
de 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)
 2
1 1
f4 (x) = x+ − (4.73)
2 4
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)
 2  
1 1 1
[f4 ]([x]) = [x] + − = − ,2 (4.77)
2 4 4

4.2.4 L’inversion d’ensemble


Soit f une fonction de Rn dans Rm et Y un sous-ensemble de Rm . L’inversion
d’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 successives
de la boîte initiale de recherche [x] pour l’ensemble X. Ils permettent de calculer des
approximations 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 cas
peuvent être rencontrés

74 Fabien Lydoire
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 et
X (figure 4.8(c)).
3. f ([x]) 6⊂ Y et f ([x])∩Y 6= ∅, alors [x] peut contenir des solutions. Si sa largeur
est plus grande que le seuil de précision , alors [x] est bissecté et le test est
appliqué 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.

[x]
[x1] f ([x1])
f ([x])
Y Y

f −1(Y) f −1(Y)
[x2]

(a) (b)

f ([.]) f ([.])
Y Y

f −1(Y) f −1(Y)

(c) (d)

Y
f −1(Y)
f ([.])

approximation intérieure de f −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’ensemble


solution X0 = [xmin , xmax] ∩ f −1 (Y) par deux sous pavés (ensemble d’intervalles qui
ne se superposent pas) X et X :

X0 = {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 75
d’intervalles
4.2. L’arithmétique d’intervalles

un espace de grande dimension (≥ 4 par exemple). De plus, l’efficacité algorithmique


de 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 lui
pré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 pour
l’efficacité de l’algorithme d’inversion d’ensemble. Ces problèmes seront abordés dans
le § 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 [x0 ]
tel que l’ensemble solution S reste inchangé.

L’objectif lors de la contraction est donc de réduire le domaine [x] sans modifier
S. Pour cela, il faut éliminer les valeurs de [x] telles que f (x) 6= 0. Ces valeurs sont
appelées valeurs inconsistantes : elles ne permettent pas le respect des contraintes.
À l’opposé, on parlera de valeurs consistantes pour les valeurs qui permettent de
respecter 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.

f ([x1])
[x]
[x1 ]
f ([x])
0

[x2 ]
f ([x2])

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étropropagation
de contraintes (Benhamou et al., 1999; Jaulin, 2000).

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

La propagation-rétropropagation de contraintes est basée sur l’écriture d’une


même contrainte sous les différentes formes qui permettent d’isoler successivement les
variables 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 la


contrainte x3 = x1 x2 et la boîte [x] = [1, 4] × [1, 4] × [8, 40]. L’objectif est de réduire
les 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 :

7 x3 /x2 si x2 =
φ1 : x2 , x3 → 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 fournissent


ainsi 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 en


calculant l’intersection de la nouvelle valeur déterminée pour un intervalle avec la
valeur connue précédemment, on élimine des valeurs inconsistantes des domaines des
variables considérées.

Le contracteur, c’est-à-dire l’ensemble des opérations utilisées dans la phase de


contraction est construit comme suit.

D’abord, chaque contrainte du CSP est transformée en un ensemble d’équations


obtenues 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 des
opé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 77
d’intervalles
4.2. L’arithmétique d’intervalles

des contraintes considérées. La phase de rétropropagation peut s’interpréter comme


suit : « L’expression des contraintes pendant la phase de propagation a réduit le
domaine de y = f (x). Il faut donc rétropropager la nouvelle valeur du domaine de
y 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 se
dé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, ce
qui dans cet exemple se fait avec les fonctions d’inclusion naturelles. Enfin, chacune
des opérations élémentaires est réécrite en isolant chacune des variables.

Algorithme 1 : Contracteur propagation-rétropropagation


1 [a1 ] := exp([x2 ]);
2 [a2 ] := [x1 ] ∗ [a1 ];
3 [a3 ] := sin([x3 ]);
4 [y] := [a2 ] + [a3 ];
5 [y] := [y] ∩ {0};
6 [a2 ] := ([y] − [a3 ]) ∩ [a2 ];
7 [a3 ] := ([y] − [a2 ]) ∩ [a3 ];
−1
8 [x3 ] := sin ([a3 ]) ∩ [x3 ];
9 [a1 ] := ([a2 ]/[x1 ]) ∩ [a1 ];
10 [x1 ] := ([a2 ]/[a1 ]) ∩ [x1 ];
11 [x2 ] := log([a1 ]) ∩ [x2 ];

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 est


interrompue. En effet, l’apparition de l’ensemble vide à cette étape de l’algorithme
signifie 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 domaines
considérés ne respectent pas la contrainte, c’est-à-dire qu’il n’existe aucune valeur
ponctuelle 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 permet
de 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 en
prenant en compte une à une les équations isolant les variables, puis en itérant la
procédure tant que la contraction (i.e. la réduction des domaines) est significative.

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

Si les opérations de contraction ne modifient plus aucun domaine intervenant dans


le CSP ou si les modifications ne sont pas significatives au sens d’un seuil sur les
largeurs des domaines, alors un point fixe est atteint dans l’espace des variables du
CSP, 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 que
tous les éléments inconsistants ont été éliminés. Si l’on souhaite itérer les
opérations de contraction pour éliminer de nouveaux éléments inconsistants, il faut
casser le point fixe, ce qui est réalisé classiquement en bissectant les domaines du
CSP.

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. Dans
le 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 de
valeurs 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’intervalles
sur 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 le
paragraphe 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étique
d’intervalles semble raisonnable. Le paragraphe suivant introduit les adaptations né-
cessaires à l’utilisation de l’arithmétique d’intervalles pour la commande de robot
décrite dans le paragraphe précédent.

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


commande de robot
4.3.1 Introduction
Le paragraphe précédent a introduit des outils de l’arithmétique d’intervalles et
nous présentons dans celui-ci l’utilisation de ces outils pour la synthèse d’une loi
de 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’optimisation
soumis à des contraintes sur l’état et la commande. Ces contraintes peuvent s’ex-
primer sous la forme d’appartenance à des domaines que nous appellerons domaines
admissibles. 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éressons
donc à 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 79
d’intervalles
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, nous
avons proposé de résoudre le problème de faisabilité du NMPC par la résolution
d’un problème de satisfaction de contraintes (Constraints Satisfaction Problem ou
CSP, 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 la
commande s’avèrent extrêmement élevés mais sans conséquence dans le contexte de
la commande d’un système à dynamique lente. Dans le cadre de la commande d’un
système mécanique, les outils de l’arithmétique d’intervalles ne peuvent être utilisés
directement mais doivent être adaptés.

Commande prédictive via l’arithmétique d’intervalles


Satisfaction de contraintes
Np instances de i
état initial à  
l’instant k Contraintes [u0|k ]
 [u1|k ] 
xk dynamique du robot N 
[uk p ] = 

..  u0|k
[xi+1|k ] = [f ]([xi|k ], [ui|k ])  . 
[uNp −1|k ]
domaines admissibles
[xi|k ] ⊆ X
[ui|k ] ⊆ U

mise à jour de l’état capteurs


xk ← xk+1 xk+1 système
état initial à
l’instant k + 1

Fig. 4.10 – Principe de la commande prédictive basée sur la satisfaction de


contraintes

Les outils de l’arithmétique d’intervalles comme les fonctions d’inclusion et les


opérations de contraction, permettent de calculer des résultats garantis, c’est-à-dire
que les domaines résultat de ces calculs sont des approximations extérieures des
domaines solutions du problème de la commande. Par conséquent, on ne peut pas
choisir n’importe quelle solution dans le domaine de la commande calculé par les
méthodes classiques de l’arithmétique d’intervalles puisque toutes les valeurs dans le
domaine ne sont pas solutions du problème. Les approximations extérieures ont aussi
des 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 permette
cette 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 afin
d’être utilisés pour la commande. Dans les paragraphes suivants, nous présentons

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

les causes et conséquences des approximations extérieures (§ 4.3.2), notre solution


pour pallier les problèmes induits par les approximations extérieures (§ 4.3.3), puis
les modifications nécessaires à la mise en œuvre d’une commande basée sur les outils
de 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 lesquels
sont 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 [ẋ].

domaines initiaux domaine résultat


calcul ensembliste
[x], [ẋ] de la commande [u]
U ⊆ [u]
valeurs initiales valeurs résultat
calcul ponctuel
∀x ∈ [x], ∀ẋ ∈ [ẋ] de la commande 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 ces
approximations 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 dynamique


Le choix d’utiliser une commande référencée modèle avec horizon impose d’estimer
l’é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 la
connaissance 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 81
d’intervalles
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 par
consé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’ensemble
des 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 vecteur


d’état xk = [qk , q˙k ]T , comprend le modèle dynamique sous la forme lagrangienne
 
q¨k = M −1 (qk , q˙k )(Γk − N(qk , q˙k ))
ẋk+1 = g(xk , x˙k ) = (4.98)
q˙k

ainsi qu’une intégration Z


xk+1 = ẋk+1dt (4.99)

Cet ensemble d’équations qui représente la dynamique du système fait apparaître


plusieurs fois les mêmes occurrences des mêmes variables ce qui introduit un grand
pessimisme dans l’estimation de Xk+1.

L’utilisation directe de la fonction d’inclusion [f ] ou l’utilisation des techniques


classiques d’estimation d’état en présence d’intervalles (Raïssi et al., 2002) fournit
donc une estimation garantie mais inexacte du domaine Xk+1 :
– garantie dans le sens où tous les états atteignables partant d’un état dans le
domaine [xk ] et en appliquant une commande dans le domaine [uk ] (l’ensemble
Xk+1 ) sont inclus dans le domaine [xk+1 ],
– inexacte dans le sens où il existe dans le domaine calculé [xk+1] des valeurs
ponctuelles 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 des
mathé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 de


réduire les domaines des variables d’un système d’équations ou de contraintes. Les
opé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 lorsque
les calculs ont mené à un point fixe (les domaines sont invariants aux opérations de
contraction).

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
Chapitre 4. Commande prédictive et arithmétique d’intervalles

solutions inconsistantes.

Pour le calcul de la commande, les domaines intervenant dans les contraintes


sont 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 ]. Les
domaines obtenus par contraction sont donc des approximations extérieures des
domaines solution de la dynamique.
Lors de la contraction, l’approximation extérieure des domaines [xk ] se propage
aux 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. Si
l’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 souhaitable
d’y recourir le moins souvent possible.

Une approximation extérieure pessimiste des états [xk ] conduit à la bissection des
commandes [uk ]. En effet, le domaine de l’état n’est estimé qu’à travers les calculs
ensemblistes. Ces calculs représentent le seul moyen de connaître le domaine de l’état
et 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’un
pessimisme important), le domaine de la commande ne sera pas considéré comme
faisable et sera bissecté.
Exemple 4.3.1 (explosion combinatoire des domaines considérés). Plaçons
nous 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 par
3 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 des
boîtes 2m fois moins larges dans toutes les dimensions de l’espace, il faut 2n×m − 1
bissections qui donnent 2n×m boîtes.
Dans un espace à 4 dimensions (n = 4) pour obtenir des boîtes 4 fois plus petites
que 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 petites
que 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 inefficace


et le domaine de la commande ne peut être réduit que par bissection. Afin d’obtenir
une 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 83
d’intervalles
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 des


domaines à explorer lors de la recherche de solution et, par conséquent, une grande
inefficacité 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é dans
l’évaluation du domaine de la commande.

Perte de solutions faisables Le domaine résultat de la commande est fortement


influencé par les approximations extérieures. En effet, la commande est calculée de
la façon suivante :
– connaissant les domaines pour l’état et la commande, on calcule le domaine
du 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), ceci
entraî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 plus
permise. Si le pessimisme ne permet pas de valider un domaine de commande alors
que 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 garantis
comme 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 illustre
que ce même domaine pour la commande uk n’est pas déterminé comme faisable
avec 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é de
l’état [xk+1 ]. Une estimation moins pessimisme aurait permis de valider le premier
domaine 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
Chapitre 4. Commande prédictive et arithmétique d’intervalles

domaine de uk menant à un domaine admissible


[uk ] pour l’état xk+1, calculé à partir des valeurs
ponctuelles de l’état xk

domaine admissible

f (xk , uk )

ensemble des
états ponctuels xk+1
ensemble des
é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 85
d’intervalles
4.3. Conjuguer l’arithmétique d’intervalles et la commande de robot

domaine de uk menant à un domaine non admissible


[uk ] pour l’état [xk+1], calculé à partir du domaine [xk ]

domaine admissible
[xk+1 ]

[f ]([xk ], [uk ])
[xk ]

ensemble des
états ponctuels xk+1
ensemble des
états ponctuels xk

(a)

domaine de uk menant à un domaine admissible


[uk ] pour l’état [xk+1], calculé à partir
du domaine [xk ]

domaine admissible
[xk+1 ]

[f ]([xk ], [uk ])
[xk ]

ensemble des
états ponctuels xk+1
ensemble des
états ponctuels xk

(b)

Fig. 4.13 – Faisabilité d’une commande avec l’arithmétique d’intervalles


86 Fabien Lydoire
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’est


pas satisfaisante et nous avons donc proposé une nouvelle approche de l’estimation
d’é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 et
de la commande uk en utilisant les opérateurs de l’arithmétique d’intervalles n’est
pas 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 la
formulation du problème. Nous avons donc proposé le calcul de cette approximation
intérieure par l’utilisation de valeurs ponctuelles distribuées dans les domaines des
entrées et de l’état.

À chaque itération, l’ensemble des entrées u1k , . . . , unk qui définit une distribution
spatiale du domaine initial pour l’entrée [uk , uk ], est appliqué à chaque valeur ponc-
tuelle de l’état x1k , x2k , . . . , xm
k 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ésentent
une discrétisation spatiale de [xk+1] (fig. 4.14).

u1k u2k

u3k
[uimin , uimax ]

u4k u5k
f (xpk , ulk )

x3k
espace de l’état xk+1

x2k

x1k
espace de l’état xk

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 87
d’intervalles
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 assure
que
[min(f (xpk , ulk ), f (xpk , ul+1 p l p l+1 p l l+1
k )), max(f (xk , uk ), f (xk , uk ))] ⊆ f (xk , [uk , uk ])
(4.100)
Par conséquent, l’ensemble des valeurs d’entrée S en considérant l’approximation
0

intérieure de l’état, p ∈ [1, m]


S0 ={ui ∈ [ulk , ul+1
k ] |
[min(f (xpk , ulk ), f (xpk , ul+1 p l p l+1
k )), max(f (xk , uk ), f (xk , uk ))] ⊆ [xk+1min , xk+1max ]}
(4.101)
est une approximation intérieure de l’ensemble des variables d’entrée S dans le cas
d’un estimateur parfait sur les intervalles
p
S = {[ulk , ul+1 l l+1
k ] | f (xk , [uk , uk ]) ⊆ [xk+1min , xk+1max ]} (4.102)
soit
S0 ⊆ 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édiction
aboutissent à 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 permet
pas la réduction significative des autres domaines du CSP. Ainsi, l’approximation
intérieure permet de rétropropager des domaines réduits et donc de permettre une
contraction efficace. Cependant, il faut garder en mémoire que ces domaines sont
des 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 que


les valeurs non incluses dans l’approximation intérieure ne sont pas considérées
et 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 spatiale
de l’entrée. Ainsi, ces valeurs ponctuelles garantissent le respect des domaines. Par
contre, choisir une valeur ponctuelle quelconque dans le domaine calculé pour la
variable 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
Chapitre 4. Commande prédictive et arithmétique d’intervalles

violation du
domaine

domaine admissible
approximation intérieure
de 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’une
intégration. Nous avons choisi d’intégrer en utilisant un développement en série de
Taylor 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. Ainsi
nous 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 ẋk+1, la fonction g (2) isole la variable xk et
la fonction g (3) isole la variable uk .

Remarque 4.3.1. Lors de la mise en œuvre de la propagation-rétropropagation se


pose la question de la décomposition des contraintes ainsi que la construction des
fonctions d’inclusion intervenant dans le contracteur. Cependant, quel que soit le
choix 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ées
dans l’algorithme 2, lignes 2 à 10.

Les domaines de l’état du système (positions, vitesses) [xk ] sont initialisés aux
domaines admissibles : [xadmissible] le long de l’horizon et [xNp ] pour le domaine
N
terminal à la fin de l’horizon. Les domaines [uk p ] de la commande sont initialisés
au 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 89
d’intervalles
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 le


domaine de ces variables est initialisé à [−∞; +∞] et sera réduit au cours de la
contraction.

Valider la faisabilité de la commande À la fin de l’étape de contraction, en


consé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’être
réduits. Ainsi, il est possible d’aboutir à l’ensemble vide pour le domaine d’une des
variables du CSP ; ce qui signifie, de façon garantie, qu’il n’existe pas de solution
au 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é de
la commande. En effet, la contraction ne permet pas d’affirmer que la commande
issue de la contraction est faisable i.e. mène le système de l’état courant k à l’état
k + Np , ces états ainsi que les états intermédiaires respectant tous les contraintes
d’admissibilité. Les domaines des variables d’état sont intersectés avec les domaines
admissibles lors de la contraction et par conséquent les domaines des variables d’état
ne peuvent être plus grands que les domaines admissibles. Par conséquent, il n’est
pas 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’a


pas de solution. Dans le cas contraire, on ne peut rien dire sur le domaine de la
commande.

Il est donc nécessaire d’introduire des tests supplémentaires pour déterminer la


faisabilité de la commande. C’est ce qui est fait aux lignes 11 à 19 de l’algorithme 2
en estimant l’état du système le long de l’horizon et en le comparant avec les états
admissibles. 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 ], [x˙k ] représentent l’état contraint par les domaines admissibles. Les nouvelles
variables 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 faisable
et 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 de
contraction,
– soit la commande est faisable,

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

Algorithme 2 : Contraction classique pour la commande prédictive


N N
[uk p ] := contraction_classique([uk p ])
1 état_admissible ← faux
2 tant que pas de point fixe et non état_admissible faire
//Propagation le long de l’horizon
3 pour k = 0 . . . (Np − 1) faire
4 [ẋk+1 ] ← ([g]([xk ], [uk ])) ∩ [ẋk+1]
5 [xk+1 ] ← ([xk ] + δt [ẋk+1 ]) ∩ [xk+1 ]
//Rétropropagation le long de l’horizon
6 pour k = (Np − 1) . . . 1 faire
7 [xk ] ← ([xk+1] − δt [ẋk+1 ]) ∩ [xk ]
[xk+1 ] − [xk ]
[ẋk+1 ] ← ∩ [ẋk+1 ]
8 δt
9 [xk ] ← ([g (2) ]([ẋk+1 ], [uk ])) ∩ [xk ]
10 [uk ] ← ([g (3) ]([xk ], [ẋk+1])) ∩ [uk ]
//Vérification de la faisabilité de la commande
11 état_admissible ← vrai
12 k←1
13 [χ0 ] ← [x0 ]
14 tant que k < Np et état_admissible faire
15 [χ̇k+1 ] ← ([f ]([χk ], [uk ]))
16 [χk+1 ] ← [χk ] + δt [χ̇k+1]
17 si [χk+1 ] * [xadmissible] alors
18 état_admissible ← faux
19 k ←k+1

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 91
d’intervalles
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 solution
faisable. 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 la
commande. Cependant, en pratique, pour ne pas bissecter à l’infini, il est nécessaire
de fixer un seuil bissection sur le diamètre de l’intervalle de commande en-dessous
duquel 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


[u{solution} ] := commande_contraction_récursive([u{à contracter} ])
1 [u{contracté} ], commande_faisable ← contraction_classique([u{à contracter} ])
2 si [u{contracté} ] 6= ∅ alors
3 si commande_faisable alors
4 [u{solution} ] ← [u{contracté} ]
5 sinon
//[u{contracté} ] est un point fixe
6 si diam([u])> bissection alors
7 bissection de [u{contracté} ] en [u1 ] et [u2 ]
8 [u{solution1 } ] ← commande_contraction_récursive([u1 ])
9 [u{solution2 } ] ← commande_contraction_récursive([u2 ])
10 [u{solution} ] ← [u{solution1 } ], [u{solution2 } ]
11 sinon
//domaine trop petit pour être bissecté et commande non faisable
12 [u{solution} ] ← ∅
13 sinon
14 [u{solution} ] ← ∅

Bissection et optimisation
La bissection fait apparaître de nouvelles boîtes candidates pour la commande
dont l’ordre de traitement des candidats est un paramètre primordial si l’on veut
dé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
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 alternatives


se présentent :
Solution 1 arrêter la recherche de solution puisque l’on a déterminé un domaine
faisable,
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 choix
d’une solution ponctuelle dans le domaine solution. Cela permet le choix d’une
solution 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. En
effet, les bissections consécutives font apparaître de nombreux domaines candidats
de commande à contracter. On peut alors ordonner les domaines à traiter selon un
critè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 norme
minimale. 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é un
domaine admissible, alors le choix de la commande admissible à appliquer sur le
système est soumis au hasard du parcours de l’arbre des domaines candidats.

En utilisant l’algorithme avec ordonnancement des domaines candidats selon la


plus petite norme, l’application d’une solution de norme minimale est garantie par
le 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 est
identique (égale à 0).
1 [−5; 5]
2 [−5; 0] [0; 5]
4 [−5; −2, 5] [−2, 5; 0] 3

liste ordonnée Dans le cas d’une liste L ordonnée selon la plus petite norme, les
valeurs 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 93
d’intervalles
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 un
ordre 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,5
obtenue avec la méthode précédente) sera appliquée.

Utiliser la bissection nécessite le traitement ordonné des domaines candidats, ce


qui 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. Elle
est 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


[u{solution} ] := commande_contraction_liste(L)
1 [u{solution} ] ← ∅
2 tant que L = 6 ∅ et [usolution ] = ∅ faire
3 extraire le premier élément de L dans [u]
4 [u{contracté} ],commande_faisable ← contraction_classique([u])
5 si [u{contracté} 6= ∅] alors
6 si commande_faisable alors
7 [usolution ] ← [u{contracté} ]
8 sinon
9 si diam([ucontracté ])> bissection alors
10 bissection de [u{contracté} ] en [u1 ] et [u2 ]
11 ajouter [u1 ] et [u2 ] à leur place dans L
12 sinon
//domaine trop petit pour être bissecté et commande non
faisable
//on ne fait rien
13 sinon
//pas de solution
//on ne fait rien

L’algorithme 4 est donc un algorithme d’optimisation similaire à ceux présentés


dans (Jaulin et al., 2001; Leclerc, 1992).

Remarque 4.3.2. Les algorithmes d’optimisation sont habituellement basés sur


la stratégie branch (bissection récursive des variables) and bound (estimation des
bornes du critère). Ces algorithmes diffèrent dans la façon dont la liste des boîtes
candidates est ordonnée ainsi que l’utilisation de calculs complémentaires tels que la
contraction ou des tests qui déterminent si un domaine candidat peut contenir une

94 Fabien Lydoire
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 de
l’optimisation est le midpoint rejection test. Il consiste à éliminer les domaines
candidats dont la borne inférieure du critère est supérieure à la borne supérieure
du domaine candidat le plus prometteur. Ce type de test diminue sensiblement le
nombre 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 se
baser sur les bornes d’un domaine afin d’éliminer des domaines candidats qui ne
peuvent 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 interrompue
puisque nous ne cherchons pas le plus grand domaine mais seulement 1 domaine
admissible.

Pondérer la notion de point fixe


Par définition, le point fixe est atteint lorsqu’aucun domaine du CSP n’est plus
modifié par la contraction. En pratique, les variations numériques des domaines au
cours de la contraction peuvent être extrêmement faibles, mais non nuls. Dans ce
cas, l’algorithme classique peut itérer l’opération de contraction même en présence
de modifications non significatives des domaines lors de la rétropropagation. Par
consé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 ne
varient 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 du


programme 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 doit
permettre 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 plusieurs
solutions. 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 la
contraction. 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 de


la propagation excepté pour les intersections avec les valeurs précédentes des do-
maines. Nous avons donc proposé une modification de l’algorithme de contraction
afin de combiner la contraction et l’estimation d’état (algorithme 5). Il s’agit de
propager 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 95
d’intervalles
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 pas
admissible. Au contraire, si l’intersection n’a pas d’effet sur les domaines, alors les
domaines étaient admissibles et donc le domaine de la commande utilisé dans la
propagation est faisable. L’algorithme permet ainsi de déterminer une commande
faisable donc on interrompt la recherche de solution (ligne 17).

Algorithme 5 : Propagation-rétropropagation pour la commande du pendule


avec test de faisabilité de la commande
[u] := contraction_classique_intersection([u])
1 état_admissible ← faux;
2 tant que pas de point fixe et non état_admissible faire
//Propagation le long de l’horizon
3 pour k = 0 . . . (Np − 1) faire
4 [ẋk+1 ] ← ([f ]([xk ], [uk ])) ∩ [ẋk+1 ];
5 [xk+1 ] ← ([xk ] + δt [ẋk+1]) ∩ [xk+1 ];
//Intersection le long de l’horizon
6 k ← 1;
7 tant que k < Np et pas d’ensemble vide faire
8 [xk+1 ] ← [xk+1] ∩ [xadmissible];
9 k ←k+1
10 si l’intersection a modifié l’un des [qk ] ou l’un des [q̇k ] alors
//les états ne sont pas admissibles donc la commande n’est pas faisable
//Rétropropagation
11 pour k = (Np − 1) . . . 1 faire
12 [xk ] ← ([xk+1 ] − δt [ẋk+1 ]) ∩ [xk ];
[xk+1] − [xk ]
[ẋk+1] ← ∩ [ẋk+1];
13 δt
14 [xk ] ← ([g (2) ]([ẋk+1], [uk ])) ∩ [xk ];
15 [uk ] ← ([g (3) ]([xk ], [ẋk+1 ])) ∩ [u̇k ];
16 sinon
//l’intersection n’a pas eu d’effet, la commande est faisable
17 état_admissible← vrai

Boucle de rétropropagation

La modification, dans le paragraphe précédent de l’algorithme de contraction


pose la question de la pertinence de la phase de propagation.
En effet, avec le nouvel algorithme (5), les phases de propagation et intersection
sont séparées. Par conséquent, seules les valeurs des domaines [uk ] et des domaines
admissibles interviennent dans le calcul des domaines [xk ], [ẋk ]. Ainsi, une nouvelle
phase de propagation+intersection ne modifiera les valeurs des domaines décrivant
l’état du système seulement si le domaine [uk ] est réduit (puisque les contraintes ne
changent pas d’une itération de la contraction à une autre).

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

Considérant cette remarque, il est inutile d’effectuer les calculs de propagation si


le 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 rapport
au seuil contraction . Le nouvel algorithme est présenté dans l’algorithme 6.

Algorithme 6 : Propagation-rétropropagation pour la commande du pendule


avec test de faisabilité de la commande et boucle de rétropropagation
[u] := contraction_classique_intersection([u])
1 état_admissible ← faux;
2 tant que pas de point fixe et non état_admissible faire
//Propagation le long de l’horizon
3 pour k = 0 . . . (Np − 1) faire
4 [ẋk+1 ] ← ([f ]([xk ], [uk ])) ∩ [ẋk+1 ];
5 [xk+1 ] ← ([xk ] + δt [ẋk+1 ]) ∩ [xk+1 ];
//Intersection le long de l’horizon
6 k ← 1;
7 tant que k < Np et pas d’ensemble vide faire
8 [xk+1 ] ← [xk+1 ] ∩ [xadmissible ];
9 k ←k+1
10 si l’intersection a modifié l’un des [xk ] ou l’un des [ẋk ] alors
//les états ne sont pas admissibles donc la commande n’est pas faisable
11 tant que [u] n’est pas modifié de plus de contraction et que pas de
point fixe faire
//Rétropropagation
12 pour k = (Np − 1) . . . 1 faire
13 [xk ] ← ([xk+1 ] − δt [ẋk+1 ]) ∩ [xk ];
[xk+1] − [xk ]
[ẋk+1] ← ∩ [ẋk+1 ];
14 δt
15 [xk ] ← ([g (2) ]([ẋk+1 ], [uk ])) ∩ [xk ];
16 [uk ] ← ([g (3) ]([xk ], [ẋk+1])) ∩ [uk ];
17 sinon
//l’intersection n’a pas eu d’effet, la commande est faisable
18 état_admissible← vrai

Regardons de plus près les modifications apportées dans cet algorithme et plus
particulièrement la notion de point fixe. Dans l’algorithme 5, nous considérions être
sur 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érer
la rétropropagation tant que la commande ne change pas et tant que les domaines
[xk ], [ẋk ] changent. Ainsi, même si le domaine de la commande n’est pas modifié, on
ne sortira de la boucle de rétropropagation que si les domaines décrivant l’état du
systè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 ], [ẋk ] sans aucun seuil.
Ainsi des variations même minimes des domaines [xk ], [ẋk ] sans rétropropagation
significative 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 97
d’intervalles
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 de


l’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 la
synthèse d’une commande prédictive. Partant de la formulation du problème NMPC
sans trajectoire de référence, nous avons reformulé le problème de la commande sous
la forme d’un problème de satisfaction de contraintes (CSP) que nous résolvons avec
la méthode de propagation-rétropropagation de contraintes.

Diverses améliorations de l’algorithme classique de propagation-rétropropagation


ont é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 des
domaines comme présentée au § 4.3.3. Cette discrétisation améliore sensiblement
les 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 par
intervalles sur un pendule sous actionné présentée dans le paragraphe suivant.

98 Fabien Lydoire
Chapitre 5. Application à la commande d’un pendule sous actionné

Chapitre 5

Application à la commande d’un


pendule sous actionné

e chapitre présente l’application de la stratégie de com-


C 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 pendule
inversé. Différentes simulations illustrent, de façon comparative
et 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 99
d’intervalles
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 variable
de commande pour 2 ddl et permet sur un exemple simple de mettre en évidence les
difficultés liées à l’utilisation des méthodes ensemblistes et d’illustrer l’efficacité des
ré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 ẍ 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 ẍ l’accélération linéaire du chariot sur lequel est fixé le
pendule 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 pendule
est considéré comme un corps rigide.

accélération de
la pesanteur g
q
u : accélération ẍ

charriot

pendule

Fig. 5.1 – Le pendule inverse

Afin de simplifier les notations, nous introduisons dans l’écriture de l’équation 5.1
les deux constantes Ksin et Kcos :

q̈ − Ksin sin(q) + Kcos ẍk cos(q) = 0 (5.2)

mlg ml
où Ksin = 2
et Kcos = .
J + ml J + m l2
L’état du pendule [qk+1 , q̇k+1 ]T à l’instant k + 1, connaissant l’état du pendule à
l’instant k et la commande uk (l’accélération du chariot ẍk ) appliquée au système, est
estimé par l’équation de la dynamique (5.2). Cette équation permet de déterminer

100 Fabien Lydoire


Chapitre 5. Application à la commande d’un pendule sous actionné

l’accélération du pendule q̈k+1 qui doit ensuite être intégrée deux fois afin d’obtenir
successivement q̇k+1 et qk+1 .
Dans les simulations présentées par la suite, l’intégration sera calculée de deux
façons différentes :
– un développement de Taylor au premier ordre dans la partie contrôleur
q̇k+1 = q̇k + δt q̈k+1 (5.3)
qk+1 = qk + δt q̇k+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 un
NMPC 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 quadratique
dépendant de l’état terminal XNT p P XNp où XNp = [qNp , q̇Np ]T . Ce terme quadratique
permet de forcer le système à atteindre un voisinage de l’état terminal en un temps
fini. Il s’agit donc de minimiser
1 Np T Np
min (uk ) uk + XNT p P XNp (5.5)
N
uk p 2

Un retour d’état linéaire équivalent est considéré pour déterminer la matrice de


pénalité P (Chen et Allgöwer, 1998; Scokaert et al., 1999). Le calcul de la
matrice 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-à-dire
la position qk et la vitesse q̇k du pendule. Ces contraintes correspondent à des
contraintes de fonctionnement. Par conséquent, elles sont définies par des bornes
inférieures et supérieures qmin , qmax , q̇min, q̇max et définissent des domaines admissibles
[qadmissible ], [q̇admissible]. Elles sont constantes sur l’horizon. Nous définissons de plus
une contrainte pour la position à la fin de l’horizon avec une zone terminale incluse
entre qNp min , qNp max .

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 au
laboratoire :

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 101
d’intervalles
5.3. Commande NMPC

Ksin Kcos q̇ini (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 de
la verticale vers le haut. Les paramètres de cette simulation sont regroupés dans les
tableaux suivants :
qini (rad) Np
−0,1 (rad) 6
Les contraintes sont :
[qadmissible ] (rad) [q̇admissible ] (rad.s−1 ) [uadmissible] (m.s−2 ) qNp (rad)
[−π − 3π 2
;−π + 3π 2
] [-50 ;50] [-5 ;5] [-0,005 ;0,005]

-0.07 0.03

-0.075 0.025

-0.08 0.02
q̇ (rad.s−1 )
q (rad)

-0.085 0.015

-0.09 0.01

-0.095 0.005

-0.1 0
0 5 10 15 20 0 5 10 15 20
temps de simulation (s) temps de simulation (s)

0 0.36
-0.2 0.34
temps de calcul (s)

-0.4
0.32
u (m.s−2 )

-0.6
0.3
-0.8
0.28
-1
-1.2 0.26

-1.4 0.24
0 5 10 15 20 0 5 10 15 20
temps de simulation (s) temps de simulation (s)

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 initialement
positionné verticalement vers le bas. Les paramètres utilisés pour cette nouvelle
valeur initiale sont :

102 Fabien Lydoire


Chapitre 5. Application à la commande d’un pendule sous actionné

qini (rad) Np
−π (rad) 10

Les contraintes sont :

[qadmissible ] (rad) [q̇admissible ] (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 de
permettre de déterminer une commande admissible inférieure en norme à 100 m.s−2 .

1 30
25
0
20
-1 q̇ (rad.s−1 )
q (rad)

15

-2 10
5
-3
0
-4 -5
0 0.5 1 1.5 2 0 0.5 1 1.5 2
temps de simulation (s) temps de simulation (s)

100 12

80 10
temps de calcul (s)

60 8
u (m.s−2 )

40 6

20 4

0 2

-20 0
0 0.5 1 1.5 2 0 0.5 1 1.5 2
temps de simulation (s) temps de simulation (s)

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 est
stabilisé 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 non
nulle 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 sur
la 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 103
d’intervalles
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 : les
commandes 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 commande


constante 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 les
mê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 temps
de calculs sont réduits puisque l’optimisation porte sur une valeur scalaire et non
plus 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 une
stabilisation. On peut observer également que l’évolution de la commande est plus
douce que dans le cas du NMPC avec Np variables de commande

1.2

0 1
0.8
-0.02
q̇ (rad.s−1 )
q (rad)

0.6
-0.04
0.4
-0.06
0.2
-0.08 0
-0.1 -0.2
0 0.5 1 1.5 0 0.5 1 1.5
temps de simulation (s) temps de simulation (s)

1 0.14

0 0.12
temps de calcul (s)

-1 0.1
u (m.s−2 )

-2 0.08

-3 0.06

-4 0.04

-5 0.02
0 0.5 1 1.5 0 0.2 0.4 0.6 0.8 1
temps de simulation (s) temps de simulation (s)

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


Chapitre 5. Application à la commande d’un pendule sous actionné

1 40

0 30

q̇ (rad.s−1 )
-1 20
q (rad)

-2 10

-3 0

-4 -10
0 0.5 1 1.5 0 0.5 1 1.5
temps de simulation (s) temps de simulation (s)

100 0.2

80 0.18

temps de calcul (s)


0.16
60
u (m.s−2 )

0.14
40
0.12
20
0.1
0 0.08
-20 0.06
0 0.5 1 1.5 0 0.2 0.4 0.6 0.8 1
temps de simulation (s) temps de simulation (s)

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 le
bas

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 [q̇k ] sont initialisés aux domaines admissibles : [qadmissible ],
[q̇admissible ] 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 q̈k ne sont pas contraintes ; leur valeur ne dépend que de
la dynamique du système et des variables qk et u. Par conséquent, le domaine des
q̈k est initialisé à [−∞; +∞]. Cet algorithme de contraction est encapsulé dans un
algorithme de contrôle (algorithme 3, § 4.3.4) chargé de bissecter si nécessaire le
domaine 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 105
d’intervalles
5.4. Commande via l’arithmétique d’intervalles

Algorithme 7 : Contraction classique pour la commande du pendule


[u] := contraction_classique([u])
1 état_admissible ← faux
2 tant que pas de point fixe et non état_admissible faire
//Propagation le long de l’horizon
3 pour k = 0 . . . (Np − 1) faire
4 [q̈k+1 ] = (−Kcos [u] cos([qk ]) + Ksin sin([qk ])) ∩ [q̈k+1 ]
5 [q̇k+1 ] = ([q̇k ] + δt [q̈k+1 ]) ∩ [q̇k+1 ]
6 [qk+1 ] = ([qk ] + δt [q̇k+1 ]) ∩ [qk+1 ]
//Rétropropagation le long de l’horizon
7 pour k = (Np − 1) . . . 1 faire
8 [qk ] = ([q k+1 ] − δt [q̇k+1 ]) ∩ [qk ]
[qk+1 ] − [qk ]
[q̇k+1 ] = ∩ [q̇k+1 ]
9 δt
10 k+1 ] − δt [q̈k+1
[q̇k ] = ([q̇ ]) ∩ [q̇k ]
[q̇k+1 ] − [q̇k ]
[q̈k+1 ] = ∩ [q̈k+1 ]
11 δt  
[q̈k+1 ] − Ksin sin([qk ])
si {0} 6∈ cos([qk ]) alors [u] = ∩ [u]
12 −Kcos cos([qk ])
//Vérification de la faisabilité de la commande
13 état_admissible ← vrai
14 k←1
15 tant que k < Np et état_admissible faire
16 [θ̈k+1 ] = −Kcos [u] cos([θk ]) + Ksin sin([θk ])
17 [θ̇k+1 ] = [θ̇k ] + δt [θ̈k+1 ]
18 si [θ̇k+1 ] * [q̇admissible ] alors
19 état_admissible ← faux
20 [θk+1 ] = [θk ] + δt [θ̇k+1 ]
21 si [θk+1 ] * [qadmissible ] alors
22 état_admissible ← faux
23 k ←k+1

106 Fabien Lydoire


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ésence
d’un domaine de commande uk grand.

Remarque 5.4.2. Dans le souci de ne pas surcharger ce paragraphe, les simulations


intermédiaires présentées dans la suite sont réalisées uniquement avec la position
initiale du pendule proche de la verticale vers le haut. Une simulation du pendule
initialement 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 cette


nouvelle approche et illustrent l’influence du seuil de bissection bissection dans le
calcul du domaine admissible. Sur ces figures ainsi que sur les suivantes, les barres
verticales dans le graphique de la commande représentent les domaines admissibles
calculés par l’algorithme.

Diminuer le seuil de bissection augmente le nombre d’opérations effectuées lors


du calcul d’une commande admissible. Les deux simulations sont effectuées avec le
même jeu de paramètres que précédemment ; seul le paramètre bissection change de
0,01 à 0,1 (rad.s−1 ). Une valeur de 0,2 (rad.s−1 ) ne permet plus de déterminer de
commande 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 de
calcul 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 cet
ordonnancement.

5.4.1 Bissection et optimisation


Les simulations présentées figures 5.8, 5.9 et 5.10 montrent les résultats obtenus
aprè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 la
verticale 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 nombre
d’opérations de contraction et de bissection. Par conséquent, nous présentons ces
opérations et non plus le temps de calcul, qui peut être perturbé par de multiples
facteurs 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 celui
utilisé dans les simulations précédentes, à ceci près que la recherche récursive de
solution est interrompue dès que l’on a trouvé un domaine solution. Cette recherche
est réalisée en parcourant l’arbre des solutions construit au cours de la bissection
des domaines : on traitera en premier le nouveau domaine qui contient la commande
dont la norme est minimale.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 107
d’intervalles
5.4. Commande via l’arithmétique d’intervalles

0.1 1.5
0.05 1

q̇ (rad.s−1 )
q (rad)

0 0.5
-0.05 0
-0.1 -0.5
0 0.5 1 1.5 0 0.5 1 1.5
temps de simulation (s) temps de simulation (s)
2 25
temps de calcul (s)

0 20
u (m.s−2 )

-2 15

-4 10
-6 5
0 0.5 1 1.5 0 0.2 0.4 0.6 0.8 1
temps de simulation (s) temps de simulation (s)
150
nombre d’opérations

bissections
contractions
100

50

0
0 0.2 0.4 0.6 0.8 1
temps de simulation (s)

Fig. 5.6 – Simulation avec la contraction classique - position initiale proche de la


verticale vers le haut- bissection = 0, 01 (rad.s−1 )

108 Fabien Lydoire


Chapitre 5. Application à la commande d’un pendule sous actionné

0.1 1.5
0.05 1

q̇ (rad.s−1 )
q (rad)
0 0.5
-0.05 0
-0.1 -0.5
0 0.5 1 1.5 0 0.5 1 1.5
temps de simulation (s) temps de simulation (s)
2 20

temps de calcul (s)


0 15
u (m.s−2 )

-2 10
-4 5
-6 0
0 0.5 1 1.5 0 0.2 0.4 0.6 0.8 1
temps de simulation (s) temps de simulation (s)
100
nombre d’opérations

bissections
contractions
50

0
0 0.2 0.4 0.6 0.8 1
.tex temps de simulation (s) .tex

Fig. 5.7 – Simulation avec la contraction classique - position initiale proche de la


verticale vers le haut- bissection = 0, 1 (rad.s−1 )

0.1 1.5

0.05 1
q̇ (rad.s−1 )
q (rad)

0 0.5

-0.05 0

-0.1 -0.5
0 0.5 1 1.5 0 0.5 1 1.5
temps de simulation (s) temps de simulation (s)
2 60
nombre d’opérations

bissections
0 contractions
40
u (m.s−2 )

-2
20
-4

-6 0
0 0.5 1 1.5 0 0.2 0.4 0.6 0.8 1
temps de simulation (s) temps de simulation (s)

Fig. 5.8 – Simulation avec la contraction classique - arrêt première solution trouvée
position 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 109
d’intervalles
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 la
plus petite norme du domaine. Le comportement dynamique est similaire à celui
de la simulation précédente. Cependant, dans le cas précédent, l’application d’une
commande admissible de norme minimale était soumise au hasard du parcours de
l’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’une
commande de norme minimale tout en conservant le nombre de calculs au même
niveau que l’algorithme le plus simple.
0.1 1.5

0.05 1

q̇ (rad.s−1 )
q (rad)

0 0.5

-0.05 0

-0.1 -0.5
0 0.5 1 1.5 0 0.5 1 1.5
temps de simulation (s) temps de simulation (s)
2 60
nombre d’opérations

bissections
0 contractions
40
u (m.s−2 )

-2
20
-4

-6 0
0 0.5 1 1.5 0 0.2 0.4 0.6 0.8 1
temps de simulation (s) temps de simulation (s)

Fig. 5.9 – Simulation avec ordonnancement des boîtes - critère commande de norme
minimale
La troisième simulation (figure 5.10) est réalisée avec les mêmes paramètres que
la 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 la
plus petite et la plus proche de 0 pour l’état terminal qNp . Il permet de déterminer une
commande 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 une
pondé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érations
nécessaires au calcul d’une solution admissible, tout en conservant un bon compor-
tement de la commande.

110 Fabien Lydoire


Chapitre 5. Application à la commande d’un pendule sous actionné

0.1 1.5

0.05 1

q̇ (rad.s−1 )
q (rad)

0 0.5

-0.05 0

-0.1 -0.5
0 0.5 1 1.5 0 0.5 1 1.5
temps de simulation (s) temps de simulation (s)
2 40

nombre d’opérations
bissections
0 30 contractions
u (m.s−2 )

-2 20

-4 10

-6 0
0 0.5 1 1.5 0 0.2 0.4 0.6 0.8 1
temps de simulation (s) temps de simulation (s)

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 courbes
sont 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érations
intervenant 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 termes
d’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 boucle
de 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 au
opérations dans la contraction et les effets ne sont donc visibles qu’à travers le
temps de calcul. Nous pouvons observer que le nombre d’opérations est constant et
le temps de calcul supérieur à celui de la simulation précédente. Cela signifie que la
boucle sur la rétropropagation n’a pas modifié de façon suffisamment significative le
domaine de la commande pour améliorer la contraction et par conséquent réduire le
nombre de bissections. Nous pouvons en déduire qu’itérer la rétropropagation tant
que les domaines [qk ], [q̇k ], [q̈k ] sont modifiés n’est pas efficace et que si ces domaines
ne modifient pas le domaine [u] par rétropropagation à la première itération, ce
domaine ne sera alors plus modifié de façon significative. Dès lors, la boucle de
rétropropagation est inutile.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 111
d’intervalles
5.5. Commande via l’arithmétique d’intervalles et discrétisation spatiale

0.1 1.5

0.05 1

q̇ (rad.s−1 )
q (rad)

0 0.5

-0.05 0

-0.1 -0.5
0 0.5 1 1.5 0 0.5 1 1.5
temps de simulation (s) temps de simulation (s)
2 3

temps de calcul (s)


0
2.5
u (m.s−2 )

-2
2
-4

-6 1.5
0 0.5 1 1.5 0 0.2 0.4 0.6 0.8 1
temps de simulation (s) temps de simulation (s)
30
nombre d’opérations

bissections
25 contractions
20
15
10
5
0 0.2 0.4 0.6 0.8 1
temps de simulation (s)

Fig. 5.11 – Simulation avec ordonnancement des boîtes - contraction = 0, 1 (rad.s−2 )

5.5 Commande via l’arithmétique d’intervalles et


discrétisation spatiale

Afin de réduire le pessimisme de l’estimation d’état et ainsi rendre les opérations


de 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ésentent
les résultats de simulation.

Dans les deux cas, la commande est calculée suivant l’algorithme de contraction
5, c’est-à-dire sans boucle de rétropropagation. Les opérations ne sont plus effectuées
sur 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 temps
de calcul.

112 Fabien Lydoire


Chapitre 5. Application à la commande d’un pendule sous actionné

0.1 1.5

0.05 1

q̇ (rad.s−1 )
q (rad)

0 0.5

-0.05 0

-0.1 -0.5
0 0.5 1 1.5 0 0.5 1 1.5
temps de simulation (s) temps de simulation (s)
2 2.5
temps de calcul (s)

0
2
u (m.s−2 )

-2
1.5
-4

-6 1
0 0.5 1 1.5 0 0.2 0.4 0.6 0.8 1
temps de simulation (s) temps de simulation (s)
30
nombre d’opérations

bissections
25 contractions
20
15
10
5
0 0.2 0.4 0.6 0.8 1
temps de simulation (s)

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 113
d’intervalles
5.5. Commande via l’arithmétique d’intervalles et discrétisation spatiale

0.1 1.5

0.05 1

q̇ (rad.s−1 )
q (rad)

0 0.5

-0.05 0

-0.1 -0.5
0 0.5 1 1.5 0 0.5 1 1.5
temps de simulation (s) temps de simulation (s)
2 3
temps de calcul (s)

0
2.5
u (m.s−2 )

-2
2
-4

-6 1.5
0 0.5 1 1.5 0 0.2 0.4 0.6 0.8 1
temps de simulation (s) temps de simulation (s)
30
nombre d’opérations

bissections
25 contractions
20
15
10
5
0 0.2 0.4 0.6 0.8 1
temps de simulation (s)

Fig. 5.13 – Simulation avec intersection séparée et boucle de rétropropagation

114 Fabien Lydoire


Chapitre 5. Application à la commande d’un pendule sous actionné

0.1 1.5

0.05 1

q̇ (rad.s−1 )
q (rad)

0 0.5

-0.05 0

-0.1 -0.5
0 0.5 1 1.5 0 0.5 1 1.5
temps de simulation (s) temps de simulation (s)
2
temps de calcul (s)

0 0.5
u (m.s−2 )

0.4
-2
0.3
-4 0.2
-6 0.1
0 0.5 1 1.5 0 0.2 0.4 0.6 0.8 1
temps de simulation (s) temps de simulation (s)
40
nombre d’opérations

bissections
30 contractions

20

10

0
0 0.2 0.4 0.6 0.8 1
temps de simulation (s)

Fig. 5.14 – Simulation avec discrétisation spatiale en 10 éléments - position initiale


proche 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 115
d’intervalles
5.5. Commande via l’arithmétique d’intervalles et discrétisation spatiale

1 30
0 20

q̇ (rad.s−1 )
-1
q (rad)

10
-2
-3 0

-4 -10
0 0.5 1 1.5 0 0.5 1 1.5
temps de simulation (s) temps de simulation (s)
100 1.5
temps de calcul (s)

50 1
u (m.s−2 )

0 0.5

-50 0
0 0.5 1 1.5 0 0.2 0.4 0.6 0.8 1
temps de simulation (s) temps de simulation (s)
80
nombre d’opérations

bissections
60 contractions

40

20

0
0 0.2 0.4 0.6 0.8 1
temps de simulation (s)

Fig. 5.15 – Simulation avec discrétisation spatiale en 10 éléments - position initiale


verticale vers le bas - bissection = 0, 01 (rad.s−1 )

116 Fabien Lydoire


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 de
la 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 le
calcul de la commande par une méthode intervalle, nous pouvons guider le choix de
la commande et non plus commencer les opérations de contraction avec toujours le
même domaine admissible initial.

Tout d’abord, nous pouvons limiter le choix de la commande à un domaine autour


de la solution précédente. Le domaine admissible initial étant réduit, la recherche
d’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 est


admissible. 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 initiale
de 100 m.s−2 puis une commande admissible de largeur 40 m.s−2 centrée autour
de 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 la
commande NMPC.

La figure 5.17 présente les résultats d’une autre simulation réalisée avec les mêmes
paramè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 temps
de calcul présente des pics lorsque la commande précédente n’est pas admissible et
que l’on recherche alors une solution. Le comportement du pendule présente des
disparité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 évidence
les 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ée


afin 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 avec
exactitude les domaines futurs des états du système. Ainsi, garantir que les états
futurs restent dans les domaines admissibles suffit pour garantir l’admissibilité de la
commande et par conséquent, il est inutile d’itérer la propagation-rétropropagation
dans le cas où les états sont admissibles.

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 117
d’intervalles
5.6. Récapitulatif des simulations

1 30
0 20

q̇ (rad.s−1 )
q (rad)

-1
10
-2
-3 0

-4 -10
0 0.5 1 1.5 0 0.5 1 1.5
temps de simulation (s) temps de simulation (s)
100 0.4
temps de calcul (s)

80 0.3
u (m.s−2 )

60
0.2
40
20 0.1

0 0
0 0.5 1 1.5 0 0.2 0.4 0.6 0.8 1
temps de simulation (s) temps de simulation (s)
20
nombre d’opérations

bissections
15 contractions

10

0
0 0.2 0.4 0.6 0.8 1
temps de simulation (s)

Fig. 5.16 – Simulation avec discrétisation spatiale en 10 éléments - limitation du


choix de la commande

118 Fabien Lydoire


Chapitre 5. Application à la commande d’un pendule sous actionné

1 60
0 40

q̇ (rad.s−1 )
-1
q (rad)

20
-2
-3 0

-4 -20
0 0.5 1 1.5 0 0.5 1 1.5
temps de simulation (s) temps de simulation (s)
100
temps de calcul (s)

0.25
50
u (m.s−2 )

0.2
0.15
0
0.1
-50 0.05
0 0.5 1 1.5 0 0.2 0.4 0.6 0.8 1
temps de simulation (s) temps de simulation (s)
15
nombre d’opérations

bissections
contractions
10

0
0 0.2 0.4 0.6 0.8 1
temps de simulation (s)

Fig. 5.17 – Simulation avec discrétisation spatiale en 10 éléments - limitation du


choix de la commande - commande précédente

Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 119
d’intervalles
5.7. Conclusion

Ensuite, la recherche de solution entraînant des bissections lorsque la contraction


mène à un point fixe, nous avons introduit une relation d’ordre dans le traitement
des domaines candidats issus de la bissection. Le traitement des domaines à l’aide
d’une liste ordonnée permet de garantir l’application d’une commande minimisant
le critère d’ordonnancement. Les simulations ont montré que l’utilisation d’une liste
ordonnée ne pénalisait pas le calcul d’une commande admissible en termes de nombre
d’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éterminer


une solution de façon plus rapide que dans le cas du critère de minimisation de la
norme.

La notion de point fixe a été pondérée en introduisant un seuil contraction sur la


modification du domaine de la commande. Lors de la contraction si le domaine de
la commande n’est pas modifié de plus de contraction , alors nous considérons être sur
un 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 commande
et 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 de


l’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 permis
de réduire le nombre d’opérations dans la contraction. Cette amélioration n’apparaît
pas 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 illustrent
qu’itérer la rétropropagation tant que les domaines des états varient ne réduit pas
le nombre d’opérations nécessaires au calcul d’une commande admissible. Nous en
déduisons que lorsque la rétropropagation ne réduit pas le domaine de la commande
lors 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 spatiale


des états et de la commande a permis d’améliorer fortement les performances de la
commande.

5.7 Conclusion
Ce paragraphe a présenté l’application d’une commande basée sur les outils de
l’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 par
la méthode de propagation-retropropagation de contraintes. Les modifications des
algorithmes classiques (§ 4.3) permettent une diminution du nombre d’opérations

120 Fabien Lydoire


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 avons
donc proposé de pallier cet inconvénient par une discrétisation spatiale des domaines
de la commande et de l’état. Cette discrétisation se propage sur les autres domaines
au cours des opérations de contraction. Les résultats de simulation montrent une
amé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 commande
NMPC 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 performances
en temps de calcul si l’on écrit la commande en langage C devraient permettre
d’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 121
d’intervalles
5.7. Conclusion

122 Fabien Lydoire


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 pour
la commande d’un robot bipède. Trois contributions peuvent être mises en avant.

La première concerne l’identification des paramètres dynamiques. Nous avons


souligné 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 est
primordiale
– 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 travaux
se sont arrêtés à une estimation alors que le robot est suspendu. Une perspective
intéressante sera de poursuivre ces travaux par l’estimation pendant des phases de
marche 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ème


marcheur. Un grand nombre de stratégies de commandes pour les robots bipèdes
sont basées sur la régulation autour de trajectoires de référence. Nous avons donc
proposé une méthode de génération de démarches dans l’espace à trois dimensions
pour 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 la
progression 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 travaux
antérieurs (Azevedo, 2002) ont mené à la formulation de la stratégie de commande
prédictive sans trajectoires de références pour la locomotion artificielle, le mouve-
ment étant assuré par un ensemble minimal de contraintes. Les approches classiques
garantissant la stabilité de la commande prédictive introduisent des hypothèses sur
les trajectoires de référence. En l’absence de ces trajectoires, la stabilité du système
bouclé 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, la
formulation 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 123
d’intervalles
s’expriment directement sous la forme d’intervalles. Ceci a motivé la formulation du
problème de la commande prédictive sous la forme d’un problème de satisfaction
de contraintes que nous avons choisi de résoudre avec des outils de l’arithmétique
d’intervalles et plus particulièrement la propagation de contraintes. Afin d’améliorer
l’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 de
propagation 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 seuil
sur 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 nous
sommes intéressés à l’estimation d’état intervenant dans le problème de satisfaction
de contraintes. Dans le cadre de l’arithmétique d’intervalles, il s’agit de déterminer
une fonction d’inclusion la moins pessimiste possible pour cette estimation. Or, cette
fonction est composée d’une équation représentant le modèle dynamique du système
suivi d’une intégration. Le modèle dynamique comprend des occurrences multiples
des mêmes variables ainsi que des fonctions trigonométriques, ce qui introduit du
pessimisme dans l’estimation du domaine de l’état. L’intégration ajoute également
du 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 du
fait de l’horizon de prédiction : le pessimisme sur l’estimation du domaine de l’état
augmentera d’autant plus que l’horizon est grand. Nous avons donc proposé une
approche 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 approche
permet 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 un
modè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 algorithmes
de 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étique
d’intervalles, pour réduire les domaines de recherche, suivi d’une recherche locale de
solution.

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 envisageable
que 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 de
limiter les bissections et par conséquent pouvoir traiter des problèmes de grande
dimension.

124 Fabien Lydoire


Chapitre 6. Conclusion générale

Les outils ainsi que la technologie actuels ne permettent pas une implantation
temps 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 la
commande 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 125
d’intervalles
126 Fabien Lydoire
Chapitre 6. Conclusion générale

Publications de l’auteur

Fabien Lydoire and Philippe Poignet. Nonlinear Model Predictive Control


via 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 à horizon


fuyant 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 using


constraint satisfaction. In Proceedings of the 2nd International Workshop on
Global 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 parameters


identification of a 7 dof walking robot. In Proceedings of the 6th International
Conference 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 5th
International 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 127
d’intervalles
128 Fabien Lydoire
Bibliographie

Bibliographie

M. Alamir et G. Bornard. On the Stability of Receding Horizon Control of


Nonlinear 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 introductory
overview. 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 Conference
on Decision and Control, pages 990–995, 1985.

B. Armstrong, O. Khatib, et J. Burdick. The explicit dynamic model and


inertial parameters of the puma 560 arm. Dans Proceedings of IEEE Conference
on 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 robot


bipè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èse


de Doctorat, INPG, 2002.

Ch. Azevedo, Ph. Poignet, et B. Espiau. Moving horizon control for biped
robots without reference trajectory. Dans Proceedings of the IEEE International
Conference on Robotics and Automation (ICRA), pages 2762–2767, 2002b.

Ch. Azevedo, Ph. Poignet, et B. Espiau. On line optimal control for biped
robots. 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 129
d’intervalles
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 de
Lille, 1993.

F. Benhamou, F. Goualard, L. Granvilliers, et J.-F. Puget. Re-


vising hull and box consistency. Dans Proceedings of the International
Conference on Logic Programming, pages 230–244, Las Cruces, 1999. URL
citeseer.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. Dans


IFAC Algorithm and Architectures for Real-Time Control, 2000.

O. Bruneau, F. Ben Ouezdou, et P.-B. Wieber. Dynamic transition simulation


of a walking anthropomorphic robot. Dans Proceedings of the IEEE International
Conference 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 for


a 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 predictive


control 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. IEEE
Control Systems Magazine, 23(5) :57–79, October 2003.

C. Chevallereau, A. Formal’sky, et B. Perrin. Control of a walking robot


with feet following a reference trajectory derived from ballistic motion. Dans
Proceedings of the IEEE Conference on Robotics and Automation (ICRA), pages
1094–1099, Albuquerque, New Mexico, 1997.

C. Chevallereau, E. Westervelt, et J. Grizzle. Asymptotic stabilization of


a five-link, four-actuator, planar bipedal runner. Dans Proceedings of the IEEE
Conference on Decision and Control (CDC), 2004.

130 Fabien Lydoire


Bibliographie

Ch. Chevallereau et P. Sardain. Design and actuation optimization of 4 axes


biped 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, volume


23(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. Dans


AIChE National Meeting, 1979.

G. DeNicolao, L. Magni, et R. Scattolini. Stabilizing receding-horizon control


of nonlinear time-varying systems. European Control Conference ECC, 1997.

J. Donelan, R. Kram, et A. Kuo. Mechanical and metabolic determinants of the


preffered step width in human walking, volume 268. Proc. Royal Society Lond.,
May 2001.

P. Dufour. Contribution à la commande prédictive des systèmes à paramètres


ré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 model


for functional electrical stimulation control strategies. Dans Proceedings of the
IEEE 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, pages
3996–4001, San Francisco, USA, 2000.

B. Espiau et the BIP team. BIP : A joint project for the development of an
anthropomorphic biped robot. International Conference on Advanced Robotics,
ICAR’97, 1997.

R. Findeisen et F. Allgöwer. Nonlinear Model Predictive Control for Index-one


DAE 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 and


practice - a survey, volume 25. Automatica, 1989.

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

M. Gautier. Contribution à la modélisation et à l’identification des robots. Thèse de


doctorat d’état, Université de Nantes, École Nationale Supérieure de la Mécanique,
1990.

M. Gautier. Numerical calculation of the base inertial parameters. Journal of


Robotic 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 Proceedings


of 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 Conference
on 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 et
moindres carrés d’erreur d’entrée. Dans Journées Identification et Modélisation
Expérimentale (JIME), 2001.

M. Gienger, K. Loeffler, et F. Pfeiffer. Towards the design of a biped jogging


robot. Dans Proceedings of the IEEE International Conference on Robotics and
Automation (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 Walking
Robots (CLAWAR), 2001.

E. Guillo, M. Gautier, F. Louveau, et C. Bidard. Dynamic modelling and


identification of a hydraulic servoactuator. Dans Proceedings of the 5th SYm-
posium on RObot COntrol, volume 1, pages 125–130, Nantes, France, septembre
1997.

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, New


York, 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 International
Symposium on Adaptive Motion of Animals and Machines (AMAM), 2003.

132 Fabien Lydoire


Bibliographie

Y. Hurmuzlu, F. Génot, et B. Brogliato. Modeling, Stability and Control of


Biped 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 nonlinear


identification and robust control. Dans Proceedings of the IEEE Conference on
Decision 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 general


class 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 inertial


parameters 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 dynamic


models 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 of


robots. 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 and


the degrees of freedom in constrained predictive control, volume 26. Nonlinear
Model Predictive Control, F.Allgöwer, A. Zheng - Progress in Systems and Control
Theory, 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, The


Ohio 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 133
d’intervalles
Bibliographie

L. Ljung. System Identification : Theory for the user. Information and system
sciences series. Prentice Hall, 1999.

S. Lohmeier, K. Löffler, M. Gienger, et H. Ulbrich. Computer system and


control of biped "johnnie". Dans Proceedings of the IEEE International Conference
on Robotics and Automation (ICRA), pages 4222–4227, New Orleans, USA, 2004.

F. Lydoire et Ph. Poignet. Experimental dynamic parameters identification of


a 7 dof walking robot. Dans Proceedings of the 6th International Conference on
Climbing 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 and
Constraint 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 2nd
International 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 inverted


pendulum using model predictive control. Dans Proceedings of the 15th IFAC
World Congress, Barcelona, 2002.

S. Malan, M. Milanese, et M. Taragna. Robust analysis and design of control


systems 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 Constrained


Nonlinear 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 des


machines électriques à courant alternatif : Applicaion au diagnostic. Thèse de
doctorat, Université de Poitiers, 1999.

134 Fabien Lydoire


Bibliographie

N. S. Nedialkov. Computing Rigorous Bounds on the Solution of an Initial Value


Problem for an Ordinary Differential Equation. Thèse de Doctorat, Computer
Science Dept., Univ. of Toronto, 1999.

Y. Nubar et R. Contini. A minimal principle in biomechanics. Dans Bulletin of


Mathematical Biophysics, 1961.

A. Patla. Understanding the Control of Human Locomotion : A Prologue. Elsevier


Science Publishers, 1991.

M. T. Pham. Contribution à la modélisation, l’identification et la commande de


systè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 and
Automation, pages 907–912, 1993.

A. Propoi. Use of linear programming methods for synthesizing sampled-data


automatic 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 nonlinear


continuous systems with Taylor models. Dans Proceedings of the IFAC Symposium
on 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 heuristic


control : applications to industrial processes. Automatica, 14(2) :413–428, 1978.

M. Rostami et G. Bessonet. Impactless sagittal gait of a biped robot during the


single support phase. Dans Proceedings of the IEEE International Conference on
Robotics and Automation (ICRA), volume 2, pages 1385–1391, 1998.

L. Roussel, C. C. de Wit, et A. Goswami. Generation of energy-optimal complete


gait 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 135
d’intervalles
Bibliographie

M. D. Sidman, F. E. DeAngelis, et G. C. Verghese. Parametric system identifi-


cation on logarithmic frequency-response data. IEEE Transactions on Automatic
Control, 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. Human


Kinetics, 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 via


functional 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 bipedal


humanoid robot - control method of whole body cooperative dynamic biped wal-
king. Dans Proceedings of the IEEE International Conference on Robotics and
Automation (ICRA), pages 368–374, 1999.

136 Fabien Lydoire


Annexes

Annexes

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

138 Fabien Lydoire


Annexe A. Calcul de P

Annexe A

Calcul de P

Dans le cadre de la commande prédictive, on peut adjoindre une contrainte d’état


terminal égalitaire dans le critère pour forcer le système à atteindre cet état en un
temps fini. Le critère s’écrit alors :
1 T
J= u uk+1 + XNT p P XNp (A.1)
2 k+1
Un retour d’état linéaire est utilisé pour déterminer la matrice de pénalité terminale
P (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 ,

ẋ = f (x, u) (A.3)


ẋ1 = x2
(A.4)
ẋ2 = Ksin sin(x1 ) − Kcos u cos(x1 )

Linéarisation du système autour de l’origine :

ẋ = A x + B u (A.5)

 
∂f 0 1
A=
(x, u) = (A.6)
∂x x=0,u=0
Ksin 0
 
∂f 0
B= (x, u) = (A.7)
∂u x=0,u=0
−Kcos
Dans la suite, on utilise les valeurs numériques suivantes : Kcos = 11, 11 et
Ksin = 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 139
d’intervalles
R
Retour d’état linéaire u = Kx minimisant J = xT Q x + uT R udt avec Q = 0 et
R = Id.
K = [ −19, 6200 −1, 8793 ] (A.9)
 
0 1,0000
AK = A + BK = (A.10)
−109 −20,8806

λ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 = −K T K (A.12)

on trouve  
3 0,0508 −0,2179
P = 10 (A.13)
−0,2179 1,165252

140 Fabien Lydoire


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

Annexe B

Estimation d’état basée sur les


séries de Taylor intervalles

L’objectif est de résoudre un système du type

[ẋ] = 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 aux
intervalles. 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 :

ẋ = f (x(t)) (B.2)

Le développement de Taylor de B.2 est :


k−1
X
xj+1 = xj + hi f [i] (xj ) + hk f [k] (x(tξ )) (B.3)
i=1

avec x(tξ ) solution de (B.2) à t ∈ [tj , tj+1] et les coefficients de Taylor :

f [0] (x) = x (B.4)


 
[i] 1 ∂f [i−1]
f (x) = f (x) i ≥ 1 (B.5)
i ∂x
Le développement de Taylor sous la forme d’intervalles s’exprime alors :
k−1
X
[xj+1 ] = [xj ] + hi f [i] ([xj ]) + hk f [k] ([ξ]) (B.6)
i=1

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 141
d’intervalles
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 le
cas des intervalles.
[ξ] est une approximation extérieure (AE) de toutes les solutions de (B.2) pour
t ∈ [tj , tj+1 ] donc
φ([ξ]) ⊆ [ξ] (B.7)
Pour un état précédent ponctuel xj et un état [x̃j ] tel que
xj + [0, h] f ([x̃j ]) ⊆ [x̃j ] (B.8)
on peut écrire le point fixe de φ
Z
φ([x̃j ]) = xj + f ([x̃])dτ (B.9)
⊆ xj + [0, h] f ([x̃j ]) (B.10)
⊆ [x̃j ] (B.11)
[x̃j ] est donc une AE de (B.2) quand xj est ponctuel.
Quand xj est un intervalle [xj ], il faut déterminer [x̃j ] tel que
[xj ] + [0, h] f ([x̃j ]) ⊆ [x̃j ] (B.12)

La forme centrée
La forme centrée
fm ([a]) = f (b) + f 0 ([a])([a] − b) (B.13)
où f 0 est une fonction d’inclusion du jacobien de f et b ∈ [a] donne souvent une
approximation plus petite que f étendue directement aux intervalles.
Ainsi, les coefficients de Taylor (B.5) sous forme centrée s’écrivent
[i] 0
fm ([xj ]) = f [i] (x̂j ) + f [i] ([xj ])([xj ] − x̂j ) (B.14)
= f [i] (x̂j ) + J(f [i] , [xj ])([xj ] − x̂j ) (B.15)
où x̂j est un point de [xj ].
Le développement de Taylor par intervalles (B.6) s’écrit donc sous forme centrée :
k−1
X 
[xj+1 ] = x̂j + hi f [i] (x̂j ) + J(f [i] , [xj ])([xj ] − x̂j ) + hk f [k] ([x̃j ]) (B.16)
i=1
k−1
X
= x̂j + hi f [i] (x̂j ) + hk f [k] ([x̃j ]) + (B.17)
i=1
|  {z }
vj+1 ]
k−1
!
X
I+ J(f [i] , [xj ])hi ([xj ] − x̂j ) (B.18)
i=1
|  {z }
Sj ]([xj ] − x̂j )

142 Fabien Lydoire


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 petit
possible [x̃j ] 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 par
intervalles 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 143
d’intervalles
144 Fabien Lydoire
TITRE
Génération de trajectoires pour la locomotion artificielle et commande à horizon
fuyant avec l’arithmétique d’intervalles

RÉSUMÉ
Ce mémoire présente deux contributions essentielles dans le domaine de la synthèse
de commande pour la locomotion bipède. La première concerne la génération de
démarches 3D en spécifiant le problème sous la forme d’une optimisation contrainte
dans 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 un
problème de satisfaction de contraintes et résolu par l’utilisation d’algorithmes de
contraction de l’arithmétique d’intervalles. Une solution au problème de l’estimation
d’état avec l’arithmétique d’intervalles est également proposée.

MOTS-CLÉS
Commande 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.

TITLE
Gaits generation for artificial locomotion and model predictive control using interval
analysis

ABSTRACT
This manuscript proposes two essential contributions in the field of control synthesis
for biped locomotion. The first contribution deals with 3D gaits generation speci-
fying the problem as a optimisation one submitted to constraints defined in a ad
hoc output space and describing the motion. The second contribution deals with
the synthesis of a control strategy defined as a constraints satisfaction problem and
solved using contraction algorithms taken from interval analysis. A solution to the
state estimation problem with interval analysis is also proposed.

KEYWORDS
Nonlinear predictive control, interval analysis, constraints satisfaction problem, state
estimation, biped locomotion, gait generation.

DISCIPLINE
Génie Informatique, Automatique et Traitement du Signal

Laboratoire d’Informatique, de Robotique et de Microélectronique de Montpellier


UMR 5506 CNRS/Université Montpellier 2
161 Rue Ada – 34 392 Montpellier Cedex 5 – France

Vous aimerez peut-être aussi