Académique Documents
Professionnel Documents
Culture Documents
UNIVERSITÉ MONTPELLIER II
- SCIENCES ET TECHNIQUES DU LANGUEDOC -
THÈSE
pour obtenir le grade de
par
Fabien LYDOIRE
le 13 décembre 2004
Titre :
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
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
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
Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 3
d’intervalles
Table des matières
Bibliographie 129
A Calcul de P 139
4 Fabien Lydoire
Table des figures
Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 5
d’intervalles
Table des figures
6 Fabien Lydoire
Liste des Algorithmes
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 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
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).
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
Fig. 1.2 – Le robot HRP-1 de l’AIST aux commandes d’une machine de chantier
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.
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).
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
de sustentation.
Types de marche
On distingue deux types de marche : la marche statiquement stable et la marche
dynamiquement stable.
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
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
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.
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.
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
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.
16 Fabien Lydoire
Chapitre 1. Introduction générale
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).
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
18 Fabien Lydoire
Chapitre 1. Introduction générale
q1 +
q31
q32
q41
q42
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).
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
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
q10
q15 q14 q12
q4 q8 q9
q11
q7 q13
q3
q5
q6
q2
q1
22 Fabien Lydoire
Chapitre 2. Identification de paramètres dynamiques
Chapitre 2
Identification de paramètres
dynamiques
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.
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
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).
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
où
– χs est le vecteur (13 n × 1) des paramètres dynamiques standard :
T
χs = (χ1s )T . . . (χns )T
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
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.
où :
– χ est le vecteur (nb × 1) des paramètres inertiels de base,
– D est le régresseur (n × nb ) du modèle dynamique minimal.
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.
PNL J((χs ))
erreur de sortie
Modèle direct
ẋ = fD (x, u, χs ) ym
χs
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.
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
χ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
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 )
– ρ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 :
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
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
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).
32 Fabien Lydoire
Chapitre 2. Identification de paramètres dynamiques
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.
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)
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)
34 Fabien Lydoire
Chapitre 2. Identification de paramètres dynamiques
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
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
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.
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
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.
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.
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é.
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.
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
C11
(C7 , C8 , C9 )
cheville gauche (x,y,z)
z C14 x
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.
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)
h14 = C1 − xG (3.12)
h15 = C2 − yG (3.13)
h16 = C3 − zG (3.14)
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.
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 :
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
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
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
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 support
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
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.
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).
50 Fabien Lydoire
Chapitre 3. Génération de démarches 3D
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
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
52 Fabien Lydoire
Chapitre 4. Commande prédictive et arithmétique d’intervalles
Chapitre 4
Commande prédictive et
arithmétique d’intervalles
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
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).
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.
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 .
commande
k k + Nc − 1 k + Np temps
horizon de commande
horizon de prédiction
56 Fabien Lydoire
Chapitre 4. Commande prédictive et arithmétique d’intervalles
Np −1
X
J= (yir − yi)2 + β(ui − ui−1 )2 (4.3)
i=0
yr yr
y y
u
t t
k k + Np k k+1 k + Np + 1
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 :
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
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 :
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.
K(.) est dite stabilisante si l’origine de (4.7) est un point d’équilibre asymptotique-
ment stable.
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.
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 )
uk = K LQ xk (4.9)
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 à :
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
60 Fabien Lydoire
Chapitre 4. Commande prédictive et arithmétique d’intervalles
xNp |k = 0 (4.19)
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
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)
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
D’où :
N
min J (u∞ p
k , xk ) ≤ min J (uk , xk ) (4.28)
uk
∞ N
uk p
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
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.
64 Fabien Lydoire
Chapitre 4. Commande prédictive et arithmétique d’intervalles
y (m) U (Nm)
couples optimaux
prédits
U ∗ (Nm)
évolution prévue
pour la cheville
ycheville (m)
Obstacle
l’horizon Hp = [k + 1, ..., k + Np ] :
k+Np
1 X
J (U (k)) = Γ(j)T Γ(j) (4.29)
2 j=k+1
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
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
Fig. 4.5 – Modèles de robots bipèdes sur lesquels ont été validé le NMPC
66 Fabien Lydoire
Chapitre 4. Commande prédictive et arithmétique d’intervalles
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.
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.
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
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.
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).
68 Fabien Lydoire
Chapitre 4. Commande prédictive et arithmétique d’intervalles
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.
X ∩ Y , {x | x ∈ X et x ∈ Y} (4.30)
X \ Y , {x | x ∈ X et x 6∈ Y} (4.32)
X × Y , {(x, y) | x ∈ X et y ∈ Y} (4.33)
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 :
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
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)
{x − x | x ∈ X1 } = {0} (4.42)
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) :
x2
[x]
x2
x2
x1 x1 x1
70 Fabien Lydoire
Chapitre 4. Commande prédictive et arithmétique d’intervalles
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)
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.
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.
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.
72 Fabien Lydoire
Chapitre 4. Commande prédictive et arithmétique d’intervalles
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
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
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
[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 ([.])
(e)
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
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])
76 Fabien Lydoire
Chapitre 4. Commande prédictive et arithmétique d’intervalles
x1 = x3 /x2 (4.82)
x2 = x3 /x1 (4.83)
x3 = x1 x2 (4.84)
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)
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].
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
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.
78 Fabien Lydoire
Chapitre 4. Commande prédictive et arithmétique d’intervalles
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.
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.
80 Fabien Lydoire
Chapitre 4. Commande prédictive et arithmétique d’intervalles
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).
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
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 ].
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).
82 Fabien Lydoire
Chapitre 4. Commande prédictive et arithmétique d’intervalles
solutions inconsistantes.
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.
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
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.
84 Fabien Lydoire
Chapitre 4. Commande prédictive et arithmétique d’intervalles
domaine admissible
f (xk , uk )
ensemble des
états ponctuels xk+1
ensemble des
états ponctuels xk
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 admissible
[xk+1 ]
[f ]([xk ], [uk ])
[xk ]
ensemble des
états ponctuels xk+1
ensemble des
états ponctuels xk
(a)
domaine admissible
[xk+1 ]
[f ]([xk ], [uk ])
[xk ]
ensemble des
états ponctuels xk+1
ensemble des
états ponctuels xk
(b)
À 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
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
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
(§ 4.2.5).
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
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.
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.
90 Fabien Lydoire
Chapitre 4. Commande prédictive et arithmétique d’intervalles
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
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.
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.
92 Fabien Lydoire
Chapitre 4. Commande prédictive et arithmétique d’intervalles
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.
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
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.
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).
Boucle de rétropropagation
96 Fabien Lydoire
Chapitre 4. Commande prédictive et arithmétique d’intervalles
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
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.
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
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.
accélération de
la pesanteur g
q
u : accélération ẍ
charriot
pendule
Afin de simplifier les notations, nous introduisons dans l’écriture de l’équation 5.1
les deux constantes Ksin et Kcos :
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
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.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
Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 101
d’intervalles
5.3. Commande NMPC
• 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)
• 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 :
qini (rad) Np
−π (rad) 10
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)
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.
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)
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
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)
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.
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
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.
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.
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)
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
-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
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
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.
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
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
-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)
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.
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)
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)
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)
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)
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.
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)
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)
Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 119
d’intervalles
5.7. Conclusion
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
Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 121
d’intervalles
5.7. Conclusion
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.
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.
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.
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, 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
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
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.
Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 131
d’intervalles
Bibliographie
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.
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.
Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 135
d’intervalles
Bibliographie
P.-B. Wieber. On the stability of walking systems. Dans Proceedings of the Inter-
national Workshop on Humanoid and Human Friendly Robotics, Japan, 2002.
Annexes
Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l’arithmétique 137
d’intervalles
Annexes
Annexe A
Calcul de P
ẋ = f (x, u) (A.3)
ẋ1 = x2
(A.4)
ẋ2 = Ksin sin(x1 ) − Kcos u cos(x1 )
ẋ = 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.
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
on trouve
3 0,0508 −0,2179
P = 10 (A.13)
−0,2179 1,165252
Annexe B
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.
ẋ = f (x(t)) (B.2)
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 )
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