UNIVERSITÉ MONTPELLIER II THÈSE



Documents pareils
Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Dimensionnement d une roue autonome pour une implantation sur un fauteuil roulant

Oscillations libres des systèmes à deux degrés de liberté

MOTO ELECTRIQUE. CPGE / Sciences Industrielles pour l Ingénieur TD06_08 Moto électrique DIAGRAMME DES INTER-ACTEURS UTILISATEUR ENVIRONNEMENT HUMAIN

Manutentions manuelles Statistique nationale / Ile de France 1992

PLAN RÉÉDUCATION POUR LES UTILISATEURS DE L'ARTICULATION. Contrôle de la phase pendulaire. Par Jos DECKERS

LES LOIS PHYSIQUES APPLIQUÉES AUX DEUX-ROUES : 1. LA FORCE DE GUIDAGE

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Voyez la réponse à cette question dans ce chapitre.

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot


I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

Programmation linéaire

DISQUE DUR. Figure 1 Disque dur ouvert

1 Définition. 2 Systèmes matériels et solides. 3 Les actions mécaniques. Le système matériel : Il peut être un ensemble.un sous-ensemble..

Précision d un résultat et calculs d incertitudes

Mises en relief. Information supplémentaire relative au sujet traité. Souligne un point important à ne pas négliger.

TP 7 : oscillateur de torsion

Développement de lois et de structures de réglages destinées à la téléopération avec retour d effort

Ceinture Home Dépôt. Orthèse lombaire et abdominale. Mother-to-be (Medicus)

Les correcteurs accorderont une importance particulière à la rigueur des raisonnements et aux représentations graphiques demandées.

Intérêt du découpage en sous-bandes pour l analyse spectrale

La fonction exponentielle

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

ÉTUDE DE L EFFICACITÉ DE GÉOGRILLES POUR PRÉVENIR L EFFONDREMENT LOCAL D UNE CHAUSSÉE

Relation entre deux variables : estimation de la corrélation linéaire

Modélisation et Simulation

MOTORISATION DIRECTDRIVE POUR NOS TELESCOPES. Par C.CAVADORE ALCOR-SYSTEM WETAL Nov

Rupture et plasticité

Programmation linéaire

NOTICE DOUBLE DIPLÔME

Concours EPITA 2009 Epreuve de Sciences Industrielles pour l ingénieur La suspension anti-plongée de la motocyclette BMW K1200S

Fonctions de plusieurs variables

Le ski à l'école. Réalisé par les CPC E.P.S. de Moselle. Février 2008

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Contrôle par commande prédictive d un procédé de cuisson sous infrarouge de peintures en poudre.

Évaluation de la régression bornée

Manipulateurs Pleinement Parallèles

en s entraînant avec le Stability Trainer Votre guide professionnel d entrainement journalier

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

Le modèle de Black et Scholes

TD 9 Problème à deux corps

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

DÉVERSEMENT ÉLASTIQUE D UNE POUTRE À SECTION BI-SYMÉTRIQUE SOUMISE À DES MOMENTS D EXTRÉMITÉ ET UNE CHARGE RÉPARTIE OU CONCENTRÉE

Algorithmes pour la planification de mouvements en robotique non-holonome

CAPTEURS - CHAINES DE MESURES

T.P. FLUENT. Cours Mécanique des Fluides. 24 février 2006 NAZIH MARZOUQY

Les algorithmes de base du graphisme

Figure 1 : représentation des différents écarts

Résolution d équations non linéaires

Étude du comportement mécanique des machines outils à structure parallèle en Usinage Grande Vitesse

10 leçon 2. Leçon n 2 : Contact entre deux solides. Frottement de glissement. Exemples. (PC ou 1 er CU)

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

Les indices à surplus constant

Programme «DoSanté Lycée» Présentation et évaluation

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

LA PUISSANCE DES MOTEURS. Avez-vous déjà feuilleté le catalogue d un grand constructeur automobile?

COMPETENCE DE NIVEAU N1

Mesure de la dépense énergétique

Erratum de MÉCANIQUE, 6ème édition. Introduction Page xxi (milieu de page) G = 6, m 3 kg 1 s 2

La classification automatique de données quantitatives

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

Document réalisé par :

Logiciel XLSTAT version rue Damrémont PARIS

Trépier avec règle, ressort à boudin, chronomètre, 5 masses de 50 g.

Généralités. Aperçu. Introduction. Précision. Instruction de montage. Lubrification. Conception. Produits. Guides à brides FNS. Guides standards GNS

Jean-Marc Schaffner Ateliers SCHAFFNER. Laure Delaporte ConstruirAcier. Jérémy Trouart Union des Métalliers

Problèmes sur le chapitre 5

Statistique Descriptive Élémentaire

Exemples de dynamique sur base modale

Gymnastique Rythmique HELP DESK

VOITURE A REACTION. Kart à réaction réalisé par un bricoleur «fou» (Bruce Simpson)

Chapitre 7. Statistique des échantillons gaussiens. 7.1 Projection de vecteurs gaussiens

Introduction à l approche bootstrap

Chapitre 0 : Généralités sur la robotique 1/125

Table des matières. I Mise à niveau 11. Préface

$SSOLFDWLRQGXNULJHDJHSRXUOD FDOLEUDWLRQPRWHXU

Extrait des Exploitations Pédagogiques

SCIENCES INDUSTRIELLES (S.I.)

Section «Maturité fédérale» EXAMENS D'ADMISSION Session de février 2014 RÉCAPITULATIFS DES MATIÈRES EXAMINÉES. Formation visée

Information destinée aux patients Votre rééducation après une opération du ligament croisé antérieur du genou

Chapitre 0 Introduction à la cinématique

Test : principe fondamental de la dynamique et aspect énergétique

AXES DE RECHERCHE - DOMAINE D'INTERET MAJEUR LOGICIELS ET SYSTEMES COMPLEXES

TABLE DES MATIÈRES. PRINCIPES D EXPÉRIMENTATION Planification des expériences et analyse de leurs résultats. Pierre Dagnelie

Chapitre 5. Le ressort. F ext. F ressort

André Crosnier LIRMM ERII4, Robotique industrielle 1

PROTEGER SON DOS ex. Cliniques St Luc

Commande Prédictive. J. P. Corriou. LSGC-ENSIC-CNRS, Nancy. corriou@ensic.inpl-nancy.fr

INF6304 Interfaces Intelligentes

données en connaissance et en actions?

BACCALAURÉAT GÉNÉRAL SÉRIE SCIENTIFIQUE

Les moments de force. Ci-contre, un schéma du submersible MIR où l on voit les bras articulés pour la récolte d échantillons [ 1 ]

Quantification Scalaire et Prédictive

Programmes des classes préparatoires aux Grandes Ecoles

Transcription:

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 d intervalles 3

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 commande............................... 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 erreur d entrée................................ 29 2.3 Le robot rabbit.............................. 33 2.4 Exemples de positions et vitesses articulaires appliquées pour l identification.................................. 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 d intervalles 5

Table des figures 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.................................... 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 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..................................... 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 R 2.......... 70 4.7 Illustration de la fonction d inclusion dans R 2 (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 trouvé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 initiale 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 initiale 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 d intervalles 7

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 travail, 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 conditions 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 Christine 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 explosé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 d intervalles 9

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 exploration 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 robots 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ématiques liées à la mobilité (recherche d un meilleur chemin, repérage dans l environnement). 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 multipattes, 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 multitude de ses points d appui. Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 11

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 accè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 infrastructures. 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 ouvrier 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 d intervalles 13

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 difficile (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 H A S E D E B A L A N C E M E N T 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 instant, 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 trajectoires 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 d intervalles 15

1.2. Robots bipèdes et commande Plan horizontal Plan frontal Plan sagittal 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 trajectoires 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 platesformes 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 communication 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 degré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écifiquement 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 d intervalles 17

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çais 1 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. q 1 + y q 31 q 32 q 42 q 41 x (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 National 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 configuration du robot (q i, 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 d intervalles 19

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 (q 13, q 14, q 15 ) 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 dynamique 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 simulation 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écessaires à 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 obtenus à 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 identifier 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 à minimiser 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 commande 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 systè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 commande 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 complé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 problè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 d intervalles 21

1.4. Objectifs de la thèse et organisation du mémoire Fig. 1.13 Le robot bipède Bip q 15 q 14 q 10 q 12 q 4 q 9 q 11 q 8 q 7 q 13 q 3 q 2 q 6 q 1 q 5 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 Dans ce deuxième chapitre, nous traitons de l identification des paramètres dynamiques d un système robotique composé de corps rigides. La connaissance précise du modèle dynamique 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 minimisation 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 dynamiques. Cette méthode est ensuite appliquée pour l identification 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 Rabbit................................ 33 2.4 Conclusion........................... 36 Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 23

2.1. Introduction 2.1 Introduction Comme nous l avons vu dans l introduction, l identification des paramètres dynamiques 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 exprime 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 conception 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 paragraphe 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 articulations 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éralisé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 où les couples extérieurs s expriment sous la forme Γ + Γ ext = M(q) q + N(q, q) (2.2) Γ 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. u s = u s = u 1 s. ( Γ 0 ) = D s (q, q, q) χ s (2.4) = D s χ s = D 1 s. χ 1 s. (2.5) u n s D n s χ n s où χ s est le vecteur (13 n 1) des paramètres dynamiques standard : χ s = [ (χ 1 s) T...(χ n s) T] T χ j s = [XX j XY j XZ j Y Y j Y Z j ZZ j MX j MY j MZ j M j Ia j Fv j Fs j ] T Pour chaque corps j, on compte 11 paramètres inertiels standard et 2 paramètres de frottement : XX j, XY j, XZ j, Y Y j, Y Z j, ZZ j sont les 6 composantes du tenseur d inertie, MX j, MY j, MZ j sont les composantes du premier moment d inertie M j est la masse du corps, Ia j est l inertie de l actionneur, Fv i est le coefficient de frottements visqueux, Fs j est le coefficient de frottements de Coulomb, D s est une matrice (n 13n) appelée régresseur du modèle, n est le nombre de degrés de liberté du système. Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 25

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 D s n est pas de rang plein. Certaines colonnes sont des combinaisons liné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 minimaux 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 W s permet de calculer les paramètres minimaux quelle que soit la complexité du système mécanique considéré. Soit χ le vecteur (n b 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 : ( ) Γ u = = D χ avec D = 0 où : χ est le vecteur (n b 1) des paramètres inertiels de base, D est le régresseur (n n b ) du modèle dynamique minimal. D 1. D n (2.6) 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 équation 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 traduisant les dynamiques du système et d une équation d observation. { ẋ = fd (x, u) (2.7) y = g D (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 identification 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 Système y Modèle direct ẋ = f D (x, u, χ s ) y m ɛ erreur de sortie PNL J(ɛ(χ s )) χ s Fig. 2.1 Méthode du modèle L estimation ˆχ s du vecteur des paramètres inconnus χ s est obtenue par minimisation d un critère J(ɛ(χ s )) qui dans le cas d un critère quadratique s écrit : J(ε(χ s )) = ε T ε avec ε = ( ε 1... ε m ) T l échantillonnage de ε tel que ε k = ε(t k ), 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 d intervalles 27

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 envisageable 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 puissance) 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 factorisé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 dynamiques à 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 minimisation 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(ρ) = ρ 2 = ρ T ρ où ρ = ( ) T ρ 1... ρ Ne est l échantillonnage de ρ(t) tel que ρk = ρ(t k ) et N e 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 û Modèle inverse û = D s (ˆx, ˆẋ)χ s Filtrage passe bande ˆx = [ q T, q T, q T ] T Moindres Carrés Linéaires χ s 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 liné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 à échantillonner le modèle dynamique inverse (2.4, 2.1.1) le long de mouvements excitants, à différents instants t i (i = 1,..., n ech ), de façon à obtenir un système linéaire surdéterminé de (n ech.n) équations à n s inconnues (n s paramètres dynamiques standard à identifier). u ech = u 1 1. u n ech 1. u 1 n. u n ech n = D ech χ s = D 1 (1). D 1 (n ech ). D n (1). D n (n ech ) χ 1 s. χ n s (2.8) Après échantillonnage, la concaténation des différentes mesures conduit à l équation : Y s = W s ( q, q, q)χ s + ρ s (2.9) Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 29

2.2. Méthodes d identification Avec : Y s = W s = Ys 1. Y n s W 1 s. (Vecteur de mesures) (2.10) (Matrice d observation) (2.11) W n s Où : Ys j est le vecteur de dimension (n ech 1) correspondant à l échantillonnage de l effort moteur Γ j du modèle (2.8), Y j s = u j s (1). (2.12) u j s(n ech ) Ws j est la matrice de dimension (n ech n s ) correspondant à l échantillonnage de la matrice Ds j du modèle (2.8), Ds j (1) W sj =. (2.13) Ds(n j ech ) ρ 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 : où W + s est la matrice pseudo-inverse de W s : ˆχ s = Arg min ρ s 2 = W s + Y s (2.14) χ s W + s = (W T s W s ) 1 W T s (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 W s 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). u = u 1. u n = Dχ = D 1. D n χ (2.16) 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 : Y m = W m ( q, q, q)χ + ρ m (2.17) où W m est la matrice (n ech.n n b ) d observation, de plein rang structurel. On estime les paramètres comme la solution des moindres carrés ordinaires de (2.17) : Estimer l erreur d identification ˆχ = Arg min ρ m 2 = W my + m (2.18) χ 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 ρi r (2.19) où I r est la matrice identité (r r) et E désigne l espérance mathématique. La matrice de variance-covariance de l erreur d estimation est donnée par : [ Cˆχˆχ = E (χ ˆχ) (χ ˆχ) T] ( = σρ 2 W T W ) 1 (2.20) En utilisant la factorisation SVD de W : Cˆχˆχ = σ 2 ρ V Σ 2 WV T (2.21) où σ 2ˆχ i = Cˆχii est le i ième coefficient de la diagonale de Cˆχˆχ. L écart-type relatif %σ χi est défini par la relation : Identification par moindres carrés pondérés %σˆχi = 100 σˆχ i ˆχ i (2.22) 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) : Y 1 Y =. Y n = Wχ + ρ = W 1. W n χ + ρ 1. ρ n (2.24) 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 : σˆ ρj = Y j W j ˆχ j avec j = 1,...n (2.25) nech n bj Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 31

2.2. Méthodes d identification ˆχ j est le (n bj 1) vecteur des paramètres minimaux de chaque équation j, n ech est le nombre d équations de chaque sous-système j, n bj 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 : S 1 0 0. 0...... S =....... 0 0 0 S Ne avec S j = 1 ˆσ ρj ˆσ ρj I nech = Y j W j ˆχ j nech n bj (2.26) La nouvelle formulation de (2.23) débouche sur l écriture du modèle équivalent (2.24) : Y p = SY Y p = W p χ + ρ p avec W p = SW (2.27) = Sρ La solution au sens des moindres carrés pondérés ˆχ minimise la norme 2 du vecteur des erreurs ρ p pondérées : ρ p ˆχ= 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 minimale) 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 concaté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 manipulateur. 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 simultané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 identification 1, 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 d intervalles 33

2.3. Identification des paramètres dynamiques du robot Rabbit position q (rad) 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6 0 1 2 3 4 5 temps (s) 6 7 vitesse q (rad) 5 4 3 2 1 0-1 -2-3 -4-5 0 1 2 3 4 5 6 7 temps (s) Fig. 2.4 Exemples de positions et vitesses articulaires appliquées pour l identification 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) : χ = [ZZR 1 MX 1 Fv 1 Fs 1 ] (2.29) où le paramètre ZZR 1 provient du regroupement du moment d inertie ZZ 1 et de l inertie de l actionneur Ia 1 dans la relation linéaire : ZZR 1 = ZZ 1 + Ia 1 (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 χ, χ 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 dynamiques de base, parmi lesquels quatre pour les frottements : χ = [ZZR 1 MXR 1 Fv 1 Fs 1 ZZ 2 MX 2 Ia 2 Fv 2 Fs 2 ] (2.31) 34 Fabien Lydoire

Chapitre 2. Identification de paramètres dynamiques tibia gauche tibia droit χ χ %σ χ χ %σ χ ZZR 1 (kg.m 2 ) 0.93 1.05 0.52 1.06 0.54 MX 1 (kg.m) 0.41 0.42 7.70 0.38 9.09 Fv 1 (N.m.s) 7.34 1.11 6.69 1.16 Fs 1 (N.m) 11.40 1.02 10.92 1.39 Tab. 2.1 Estimation des paramètres du tibia où les paramètres ZZR 1 et MXR 1 sont issus des regroupements suivants : ZZR 1 = Ia 1 + D 2 2 M 2 + ZZ1 (2.32) MXR 1 = D 2 M 2 + 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 d intervalles 35

2.4. Conclusion jambe gauche jambe droite χ χ %σ χ χ %σ χ ZZR 1 (kg.m 2 ) 1.592 2.06 0.81 1.97 0.78 MXR 1 (kg.m) 2.39 2.67 1.84 2.48 1.44 Fv 1 (N.m.s) 12.44 0.58 10.55 0.64 Fs 1 (N.m) 10.78 0.74 8.81 0.77 ZZ 2 (kg.m 2 ) 0.1 0.005 202.72 0.06 13.50 MX 2 (kg.m) 0.41 0.083 21.52 0.009 150.98 Ia 2 (kg.m 2 ) 0.83 0.73 2.47 0.65 2.51 Fv 2 (N.m.s) 11.40 0.69 11.16 0.65 Fs 2 (N.m) 9.42 0.86 9.12 0.74 Tab. 2.2 Estimation des paramètres pour le tibia et la cuisse 150 couples réels couples estimés 60 couples réels couples estimés 100 40 50 20 couples (N.m) 0 couples (N.m) 0-20 -50-40 -100-60 -150 0 0.5 1 1.5 2 2.5 3 temps (s) -80 0 0.5 1 1.5 2 2.5 3 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 couples réels couples estimés 60 couples réels couples estimés 100 40 50 20 couples (N.m) 0 couples (N.m) 0-20 -50-40 -100-60 -150 0 0.5 1 1.5 2 2.5 3 temps (s) -80 0 0.5 1 1.5 2 2.5 3 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 identifié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 d intervalles 37

2.4. Conclusion 38 Fabien Lydoire

Chapitre 3. Génération de démarches 3D Chapitre 3 Génération de démarches 3D Ce chapitre présente une nouvelle approche pour la génération 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 obstacle, escaliers). 3.1 Introduction.......................... 40 3.2 Génération de démarches 3D paramétrées........ 42 3.3 Conclusion........................... 50 Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 39

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 ensemble 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 trajectoires 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 biomé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 pourraient 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 systè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 consommation é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 énergie 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 énergé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 optimale, fournissent des trajectoires optimales par la résolution de conditions d optimalité. 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 problè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 garantir 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 environnement 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 capable 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 d intervalles 41

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 consommation é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 (q i ) 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 (C i ) 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 (C 1, C 2, C 3 ), position des chevilles droites et gauches : 6 ddl (C 4, C 5, C 6 ) et (C 7, C 8, C 9 ), 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 (C 10, C 11, C 12 ), 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 (C 13, C 14, C 15 ) et (C 16, C 17, C 18 ), orientation du tronc par rapport au système de locomotion : 3 ddl (C 19, C 20, C 21 ). 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 paragraphe 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 Position dans l espace q 16 = x 0 q 17 = y 0 q 18 = z 0 y C 12 (C 19, C 20, C 21) inclinaison du tronc/système locomotion (q 13, q 14, q 15) Orientation dans l espace q 19 = θx0 q 20 = θy0 (C 1, C 2, C 3) centre de masse (x,y,z) q 21 = θz0 C 10 C 11 (C 7, C 8, C 9) cheville gauche (x,y,z) (C 4, C 5, C 6) cheville droite (x,y,z) C 18 C 16 C 15 C 13 C 17 z C 14 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 minimisation 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 optimisation : soumis à : min q k J(q k ) = 1 2 U(qk ) T U(q k ) (3.1) q imin q k i q imax 1 i 21 (3.2) g j (C k i ) 0 j = 1..n g, 1 i 21 (3.3) h j (C k i ) = 0 j = 1..n h, 1 i 21 (3.4) Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 43

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, q imin et q imax 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é g j et égalité h j (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 (U min U U max ). Exemple 3.2.1 (contraintes définissant une posture). Les contraintes égalité h i peuvent définir la position et l orientation des deux pieds au sol : h 1 = C 4 x droit (3.5) h 2 = C 5 y droit (3.6) h 3 = C 6 z droit (3.7) h 4 = C 7 x gauche (3.8) h 5 = C 8 y gauche (3.9) h 6 = C 9 z gauche (3.10) h k = C p, k = 7...12, p = 13...18 (3.11) ainsi que la position du centre de masse afin d assurer l équilibre : h 14 = C 1 x G (3.12) h 15 = C 2 y G (3.13) h 16 = C 3 z G (3.14) Les contraintes inégalités g i peuvent imposer des domaines pour l orientation du tronc par rapport au reste du corps : g 1 = C 19 δx tronc (3.15) g 2 = C 20 δy tronc (3.16) g 3 = C 21 δz tronc (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 : h j = C j C d j j [1; 21] (3.18) où : C d j sont les valeurs désirées et C j les valeurs effectives. Les valeurs Cj d 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. y Pied de vol x centre de masse z l 2 Pied de support z l 2 Fig. 3.2 Posture initiale x Fig. 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 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 polygone 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 d intervalles 45

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, cv z k = 0 (3.19) position de cv dans le plan sagittal pour obtenir un mouvement en avant selon les axes x et y (2 contraintes) : cv x k = cvx k 1 + l n (3.20) k, cv y k = f( ) cv x k (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 x k = CdMx k 1 + CdM n (3.22) CdM z k = CdMz k 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écutives, nous ajoutons une contrainte sur le mouvement du tronc : où δ libre est le seuil à ajuster. (T k T k 1 ) T (T k T k 1 ) δ libre (3.24) Pied de vol x Pied de support centre de masse z l 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 rotations (12 contraintes) position de la projection du CdM afin d obtenir un transfert doux d un pied à l autre (2 équations) : CdM x k = CdM x k 1 + CdM n (3.25) 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 CdM z k = f ( ) CdM x k (3.26) où f 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 k = α tronc k 1 + α tronc n (3.27) 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 z l 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 d intervalles 47

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 pouvoir 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. x Pied de vol Pied de vol Pied de support z 1 pas démarche 1 1 2 pas démarche 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 utilisé 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 approximations 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 environnement 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 d intervalles 49

3.3. Conclusion y (m) z (m) 0.14 0.00 0.13 0.02 0.04 0.12 0.06 0.08 0.11 0.10 0.12 0.10 0.14 0.09 0.16 0.18 0.08 0.00 0.02 0.04 0.06 0.08 0.10 0.12 0.14 0.16 x (m) 0.20 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 ensemble 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 extension 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 u k = g(q k, q k, q k ). min u k (3.28) soumis aux contraintes définissant la posture. La suite des u k définit alors la commande. Pour se replacer dans le cadre de la génération de trajectoire, il faut extraire de cette minimisation la suite de postures q k issues de l application de la suite des commandes u k sur le modèle dynamique direct du robot q i+1 = f(q i, u i ). 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 0.1 0.2 pas de côté montée d escalier 0.3 pas vers 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 d intervalles 51

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 Ce chapitre expose l utilisation des techniques de l arithmétique d intervalle dans le cadre de la synthèse d une loi de commande prédictive référencée modèle et à horizon fuyant. Nous présentons tout d abord les principes fondamentaux de 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 satisfaction de contraintes mettant en jeu des intervalles. Des outils 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 d intervalles 53

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 anglais 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 commande 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 horizon 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 à traiter 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 liné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ésolution 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 (vecteurs d état x et de sortie y) et du comportement désiré c. Ces grandeurs dépendent du temps τ. 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 + T p ] de longueur T p correspondant 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 commande. L objectif est de résoudre ce problème continu d optimisation à l aide d un ordinateur 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 classique en dimension finie : (.)dτ (.) τ (4.2) τ i τ Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 55

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 (t k ) pris à des instants t k 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 N c qui correspond à la longueur de la séquence de commande, l horizon de prédiction N p 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 N c 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 + N c 1 k + N p 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 commande, 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 à l instant k x k optimisation sous contraintes solution à l instant k u 0 k u 1 k u Np k =. u Np 1 k x k x k+1 mise à jour de l état x k+1 capteurs 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) : J = (yi r y i ) 2 + β(u i u i 1 ) 2 (4.3) N p 1 i=0 Cette formulation correspond à la poursuite d une trajectoire de référence (figure 4.3). Le critère permet ainsi d apprécier la qualité de la poursuite. y r y r y u y u k k + N p t k t k + 1 k + N p + 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 : x k+1 = f(x k, u k ) (4.4) Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 57

4.1. La commande prédictive non linéraire référencée modèle où x k R n est l état, u k R m est l entrée (commande), avec les deux hypothèses : (H1) l origine de f est un point d équilibre f(0,0) = 0, (H2) à chaque instant k, l état x k est connu. Contraintes commande : Le système (4.4) est soumis à des contraintes sur l état et sur la x k X, u k U (4.5) où X et U sont des ensembles de R n et R m respectivement, contenant chacun l origine : X = {(x 1,...,x n ) R n x 1 min x1 x 1 max,..., xn min xn x n max } U = {(u 1,...,u m ) R n u 1 min u 1 u 1 max,..., u m min u m u m max} (4.6) Hypothèses : (H3) f : R n R m R m 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 : x k+1 = F (x k ) avec F (x) = f(x, K(x)) (4.7) K(.) est dite stabilisante si l origine de (4.7) est un point d équilibre asymptotiquement stable. L origine de (4.7) est un point d équilibre asymptotiquement stable si pour tout ɛ > 0 il existe δ ɛ > 0 tel que si x t < δ ɛ alors lim k x k = 0, k t avec x k 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 classique 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

Hypothèses : Chapitre 4. Commande prédictive et arithmétique d intervalles (H6) la fonction de coût F est une fonction quadratique en x et u : F (x, u) = x T Qx + u T 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) : x k+1 = Ax k + Bu k est stabilisable (avec A = f x x=0,u=0 et B = f u x=0,u=0) Le but est de déterminer K tel que A + BK soit asymptotiquement stable 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 : min u(.) x T k Qx k + u T k Ru k (4.8) 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 : u k = K LQ x k (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 = A T PA + Q A T PB(R + B T PB) 1 B T PA (4.11) Lorsque (4.9) est appliquée à (4.4) on obtient le système en boucle fermée : x(k + 1) = f(x k, K LQ x k ) (4.12) La stabilité asymptotique de l origine est démontrée à partir de la fonction de Lyapunov V (x) = x T 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. Cependant, 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 : min J(x k, u Np u Np k ) (4.13) k Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 59

4.1. La commande prédictive non linéraire référencée modèle soumis à : où : et : x l+1 k = f(x l k, u l k ) x 0 k = x k (4.14) u l k U, l [0, N p 1] (4.15) x l k X, l [0, N p ] (4.16) U := {u k R m u min u k u max } X := {x k R n x min x k x max } (4.17) Np 1 J(x k, u Np k ) = F (x i k, u i 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. x k = x 0 k est l état initial du système à contrôler à partir de l instant k et u Np k = [u 0 k, u 1 k,...,u Np 1 k] le vecteur des entrées futures. La commande prédictive consiste à calculer le vecteur u Np k des entrées consécutives sur l horizon de prédiction N p et à appliquer uniquement l entrée u 0 k. Ce calcul est effectué à nouveau à l instant suivant k + 1. Le calcul de la solution u Np k est soumis à la contrainte égalité représentant l équation de la dynamique du système (4.14) ainsi qu à des inégalités portant sur les variables d entrée u i k et les variables d état x i k (4.17). Remarque 4.1.1. si les longueurs des horizons de prédiction N p et de commande N c sont distincts, on a : u Np k = {u 0 k, u 1 k,..., u Nc 1 k, u Nc 1 k,...u Nc 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 x k est connu, (H3) f : R n R m R m 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) = x T Qx+u T 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 N p =. 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 respectant 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 problème avec N p = 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 commande prédictive à horizon fini consiste à introduire dans le problème une contrainte d état terminale (commandabilité en N p itérations) : x Np k = 0 (4.19) La contrainte égalité force l état à se trouver sur le point d équilibre à la fin de l horizon fini N p. Si les hypothèses (H1) à (H5) sont vérifiées et si le problème d optimisation 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). Cependant, d un point de vue numérique la satisfaction exacte d une contrainte égalitaire 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é : { u u k = 0 k si x k / Ω f (4.20) Kx k si x k Ω 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, N p est pris comme variable de minimisation du critère : min u N k k,n k J(x k, u N k k, N k) (4.21) Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 61

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 : x Np 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 : x Np 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 : On a donc : Φ(x Np k) = x T N p kpx Np k (4.24) J(u k, x k) = F (x i k, u i k ) = i=0 N p 1 i=0 F(x i k, u i k ) + i=n p F (x i k, u i k ) (4.25) 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 : u i k = Kx i k stabiliserait asymptotiquement le système dans Ω f (avec Ω f invariant positif pour la boucle fermée). Cependant, dans le cas de l horizon quasi-infini, cette commande linéaire n est jamais appliquée. On a : min u k N p 1 J(u k, x k ) min u Np k i=0 F (x i k, u i k ) + i=n p F (x i k, Kx i k ) (4.26) 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) : D où : i=n p F (x i k, Kx i k ) x T N p kpx Np k (4.27) min u k J(u k, x k ) min J(u Np u Np k, x k) (4.28) k Cette dernière équation permet de démontrer la stabilité asymptotique du systè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 optimisation 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 utilisation 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 solutions 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 application 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 d intervalles 63

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édictive 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 approche 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 mouvements n est pas absolument nécessaire. Cependant, la prise en compte de l état futur du système pour prédire ou anticiper 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 physiquement 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 optimisé 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 y cheville (m) Obstacle k k + 1 k + 2 k + N p temps Fig. 4.4 Utilité de l horizon de prédiction dans le cadre de la locomotion l horizon H p = [k + 1,..., k + N p ] : J(U(k)) = 1 2 k+n p j=k+1 Γ(j) T Γ(j) (4.29) Le mouvement désiré est défini par l expression des contraintes du NMPC. En se basant sur les éléments essentiels à la locomotion (Hurmuzlu et al., 2001; Patla, 1991) : la production d un rythme de locomotion de base, le maintien de l équilibre, l adaptation des mouvements à l environnement, nous pouvons exprimer un ensemble de contraintes minimales capables d assurer 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 obstacles 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 correspondre aux capacités des actionneurs et les mouvements engendrés demeurer Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 65

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) (x,y) u1 u2 (x31,y31) q3 q6 q5 q32 q31 (x32,y32) u3 q41 q2 q4 u4 (x41,y41) q1 (x42,y42) 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 garantir 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 complexe 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 solution. 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 systè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 intervalles essentiellement pour définir les domaines admissibles pour les positions et les vitesses. De plus, l aspect garanti des calculs ensemblistes doit permettre d assurer 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 d intervalles 67

4.2. L arithmétique d intervalles La formulation du problème du NMPC permet de calculer un vecteur de commande qui est en même temps optimal au sens du critère et qui respecte les contraintes. Cependant, il est possible de calculer la solution u Np k 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 satisfaisant 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 permettre 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 arithmé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 garantie (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 utilisation de l arithmétique d intervalles. Nous abordons ensuite les deux notions importantes 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 : leur union est : X privé de Y est défini par : Le produit cartésien de X et Y est défini par : L inclusion de X dans Y est définie par : et l égalité de X et Y : X Y {x x X et x Y} (4.30) X Y {x x X ou x Y} (4.31) X \ Y {x x X et x Y} (4.32) X Y {(x, y) x X et y Y} (4.33) X Y x X, x Y (4.34) X = Y X Y et Y X (4.35) Soit deux ensembles X et Y et une fonction f : X Y. Si X 1 X, l image directe de X 1 par f est : Si Y 1 Y, l image réciproque de Y 1 par f est : f(x 1 ) {f(x) x X 1 } (4.36) f 1 (Y 1 ) {x X f(x) Y 1 } (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 : X 1 Y 1 {x 1 y 1 x 1 X 1, y 1 Y 1 } (4.38) Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 69

4.2. L arithmétique d intervalles où est maintenant un opérateur de P(X Y) dans P(Z). Par exemple, si X 1 et Y 1 sont deux sous-ensembles de R n, alors : X 1 + Y 1 = {x + y x X 1, y Y 1 } (4.39) X 1 Y 1 = {x y x X 1, y Y 1 } (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 : est différent de l ensemble : X 1 X 1 = {x y x X 1, y X 1 } (4.41) {x x x X 1 } = {0} (4.42) Dans le cas où l opérateur s applique sur un élément x 1 de X 1 et un sousensemble Y 1 de Y, x 1 est réduit au singleton {x 1 } et par conséquent : x 1 Y 1 {x 1 } Y 1 = {x 1 y 1 y 1 Y 1 } (4.43) Dans le cas où Y 1 est aussi un singleton {y 1 }, alors : x 1 y 1 {x 1 } {y 1 } = {x 1 y 1 } (4.44) Analyse par intervalles L analyse par intervalles est un cas particulier du calcul ensembliste. On ne considè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 R n. 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) x 2 x 2 [x] x 2 x 1 x 1 x 1 Fig. 4.6 Intervalles et bornes : exemple d une boîte dans R 2 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 : mid([x]) x + x (4.48) 2 Les opérateurs ensemblistes s appliquent également aux intervalles. Ainsi, l intersection 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 ensemble 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 [y] = [1/y, [ si y = 0 et y > 0 = [, 1/y] si y < 0 et y = 0 = [, ] si y < 0 et y > 0 (4.55) Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 71

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]/[8, 12] = [ 3 12, 5 ] [8, 12] = 8 [ 3 12, 5 ] 8 [ 2, 15 ] 2 (4.61) (4.62) Les exemples numériques précédents illustrent l effet de pessimisme dans les calculs par intervalles. En effet, si [a] + [b] = [c], alors généralement [a] [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 domaine B = {b R a D(a) et c D(c), c a = b } = [ 15, 19] (4.64) Ainsi, si l on considère la valeur 15 ( B ) pour la variable b, il existe une valeur 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 B ). 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 R n dans R m. La fonction intervalle [f] de IR n dans IR m est une fonction d inclusion pour f si : [x] IR n, 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). x 2 y 2 [x] [f] ([x]) f([x]) [f]([x]) x 1 y 1 Fig. 4.7 Illustration de la fonction d inclusion dans R 2 (Jaulin et al., 2001) La fonction d inclusion naturelle de f est obtenue en remplaçant chaque variable réelle x i par un intervalle [x i ] et chaque opérateur ou fonction par son équivalent intervalle. Théorème 4.2.1. Soit la fonction : f : R n R (x 1,...,x n ) f(x 1,...,x n ) (4.66) dont la forme est une combinaison finie des opérateurs binaires et de fonctions élémentaires (sin, cos, exp, sqr,...). La fonction d inclusion naturelle de f est minimale si les opérateurs et les fonctions intervenant dans l expression de f sont continus et si chaque variable (x 1,..., x n ) apparaît au plus une fois dans l expression de f (Moore, 1979). Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 73

4.2. L arithmétique d intervalles Notons que les fonctions d inclusions naturelles des fonctions continues élémentaires sont minimales (exemple suivant). Exemple 4.2.4 (fonctions d inclusion naturelles de fonctions continues élémentaires). [ [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 multiple). 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 formelles de la même fonction f(x) : f 1 (x) = x (x + 1) (4.70) f 2 (x) = x x + x (4.71) f 3 (x) = x 2 + x (4.72) ( f 4 (x) = x + 1 ) 2 1 (4.73) 2 4 leur fonction d inclusion naturelle pour [x] = [ 1, 1] est : 4.2.4 L inversion d ensemble [f 1 ]([x]) = [x] ([x] + 1) = [ 2, 2] (4.74) [f 2 ]([x]) = [x] [x] + [x] = [ 2, 1] (4.75) [f 3 ]([x]) = [x] 2 + [x] = [ 1, 2] (4.76) ( [f 4 ]([x]) = [x] + 1 ) 2 1 [ 2 4 = 14 ], 2 (4.77) Soit f une fonction de R n dans R m et Y un sous-ensemble de R m. L inversion d ensemble est la caractérisation de : X = {x R n 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]) Y et f([x]) Y, 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 algorithme d inversion d ensemble. [x] f([x]) Y [x 1 ] f([x 1 ]) Y f 1 (Y) [x 2 ] f 1 (Y) (a) (b) f([.]) Y f([.]) Y f 1 (Y) f 1 (Y) (c) (d) f 1 (Y) f([.]) Y 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 X = [x min, x max ] f 1 (Y) par deux sous pavés (ensemble d intervalles qui ne se superposent pas) X et X : X = {x [x min, x max ] f(x) Y} f 1 (Y) (4.79) Remarque 4.2.2. L algorithme d inversion d ensemble est basé sur la bissection. Par conséquent, le nombre d éléments à traiter explose dès lors que l on se place dans Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 75

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 Satisfaction Problem ou CSP) écrit sous forme vectorielle f(x) = 0 : L ensemble solution de H est défini par : H : (f(x) = 0, x [x]) (4.80) S = {x [x] f(x) = 0} (4.81) Contracter H consiste à remplacer le domaine [x] par un domaine plus petit [x ] tel que l ensemble solution S reste inchangé. L objectif lors de la contraction est donc de réduire le domaine [x] sans modifier S. Pour cela, il faut éliminer les valeurs de [x] telles que f(x) 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 [x 2 ] n est constitué que de valeurs inconsistantes (car f([x 2 ]) ne contient pas 0). Le domaine [x] peut donc être contracté en privant [x] de [x 2 ] : [x] \ [x 2 ] = [x 1 ]. Le domaine [x] a été contracté en [x 1 ]. Cependant, [x 1 ] n est pas constitué uniquement de valeurs consistantes. [x] [x 1 ] f([x 1 ]) f([x]) 0 [x 2 ] f([x 2 ]) 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 x 3 = x 1 x 2 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 variables : Ces 3 équations permettent d écrire 3 fonctions : x 1 = x 3 /x 2 (4.82) x 2 = x 3 /x 1 (4.83) x 3 = x 1 x 2 (4.84) φ 1 : x 2, x 3 x 3 /x 2 si x 2 0, R sinon (4.85) φ 2 : x 1, x 3 x 3 /x 1 si x 1 0, R sinon (4.86) φ 3 : x 1, x 2 x 1 x 2 (4.87) Ces 3 fonctions sont ensuite transformés en équations intervalles et fournissent ainsi les contractions suivantes : ([x 3 ]/[x 2 ]) [x 1 ] = [8, 40]/[1, 4] [1, 4] = [2, 4] (4.88) ([x 3 ]/[x 1 ]) [x 2 ] = [8, 40]/[1, 4] [1, 4] = [2, 4] (4.89) ([x 1 ] [x 2 ]) [x 3 ] = [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 x 3 sont inconsistantes avec les valeurs de [x 1 ] et [x 2 ] : x 3 [16, 40] tel que x 3 = x 1 x 2 et x 1 [1, 4] et x 2 [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 d intervalles 77

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) = x 1 exp(x 2 ) + sin(x 3 ). Cette contrainte se décompose en opérations élémentaires a 1 := exp(x 2 ) (4.91) a 2 := x 1 a 1 (4.92) a 3 := sin(x 3 ) (4.93) y := a 2 + a 3 (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 [a 1 ] := exp([x 2 ]); 2 [a 2 ] := [x 1 ] [a 1 ]; 3 [a 3 ] := sin([x 3 ]); 4 [y] := [a 2 ] + [a 3 ]; 5 [y] := [y] {0}; 6 [a 2 ] := ([y] [a 3 ]) [a 2 ]; 7 [a 3 ] := ([y] [a 2 ]) [a 3 ]; 8 [x 3 ] := sin 1 ([a 3 ]) [x 3 ]; 9 [a 1 ] := ([a 2 ]/[x 1 ]) [a 1 ]; [x 1 ] := ([a 2 ]/[a 1 ]) [x 1 ]; [x 2 ] := log([a 1 ]) [x 2 ]; 10 11 Il faut remarquer que l opération à l étape 8 écrite symboliquement sin 1 ([a 3 ]) [x 3 ] renvoie en fait le plus petit intervalle qui contient l ensemble {x 3 [x 3 ] a 3 [a 3 ], sin(x 3 ) = a 3 } (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 [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 suivante : 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 permet 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 pessimisme 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 utiliserons 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 adapté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 exprimer sous la forme d appartenance à des domaines que nous appellerons domaines admissibles. De plus, nous avons vu que pour assurer une marche stable, la priorité 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 d intervalles 79

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 chimique, 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 état initial à l instant k x k Satisfaction de contraintes N p instances de i Contraintes dynamique du robot [x i+1 k ] = [f]([x i k ], [u i k ]) domaines admissibles [x i k ] X [u i k ] U [u Np k ] = [u 0 k ] [u 1 k ]. [u Np 1 k] u0 k x k x k+1 mise à jour de l état x k+1 capteurs 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 estimation d état avec les techniques ensemblistes. Il est nécessaire d avoir une approximation 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. Enfin, 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 commande 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 [x], [ẋ] valeurs initiales x [x], ẋ [ẋ] calcul ensembliste de la commande calcul ponctuel de la commande domaine résultat [u] valeurs résultat U U [u] Fig. 4.11 Calculs garantis par les méthodes ensemblistes Les domaines issus des calculs ensemblistes ne sont donc pas constitués uniquement 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 (inefficacité 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 x k+1 consécutivement à l application de la commande sur ce système. x k+1 = f(x k, u k ) (4.96) Le calcul du nouvel état x k+1 est basé sur le modèle dynamique ainsi que sur la connaissance de l état courant x k et de la commande u k 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 [x k+1 ] à partir du domaine de l état courant [x k ] et du domaine de la commande [u k ]. Cette estimation d état est réalisée à l aide de la fonction d inclusion Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 81

4.3. Conjuguer l arithmétique d intervalles et la commande de robot [f]([x k ], [u k ]) et permet d obtenir un domaine pour le nouvel état [x k+1 ]. Le domaine [x k+1 ] est calculé à l aide d une fonction d inclusion ( 4.2.3) et par conséquent il est différent de l ensemble X k+1 (4.97) des valeurs ponctuelles de x k+1 obtenues à partir de l ensemble des valeurs ponctuelles du domaine [x k ] et l ensemble des valeurs ponctuelles du domaine [u k ]. X k+1 = {f(x k, u k ), x k [x k ] et u k [u k ]} (4.97) Dans le cas du robot, la fonction f : (x k, u k ) x k+1, considérant le vecteur d état x k = [q k, q k ] T, comprend le modèle dynamique sous la forme lagrangienne [ ] qk = M ẋ k+1 = g(x k, x k ) = 1 (q k, q k )(Γ k N(q k, q k )) (4.98) q k ainsi qu une intégration x k+1 = ẋ k+1 dt (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 X k+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 X k+1 : garantie dans le sens où tous les états atteignables partant d un état dans le domaine [x k ] et en appliquant une commande dans le domaine [u k ] (l ensemble X k+1 ) sont inclus dans le domaine [x k+1 ], inexacte dans le sens où il existe dans le domaine calculé [x k+1 ] des valeurs ponctuelles qui sont inconsistantes avec les domaines des variables x k et u k. [x k+1 ] est alors une approximation extérieure de X k+1. La recherche des domaines les plus petits dans le cadre des équations différ entielles 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èrement consistants, c est-à-dire que la contraction ne permet pas d éliminer toutes les 82 Fabien Lydoire

solutions inconsistantes. Chapitre 4. Commande prédictive et arithmétique d intervalles Pour le calcul de la commande, les domaines intervenant dans les contraintes sont l état du système [x k ] et la commande [u k ]. La non consistance des domaines à l issue de l étape de contraction signifie qu il existe dans les domaines des états [x k ] des valeurs qui ne correspondent à aucune commande des domaines [u k ]. 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 [x k ] se propage aux autres domaines [u k+1 ] et [x k+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éalisé 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 [x k ] conduit à la bissection des commandes [u k ]. 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 2 m fois moins larges dans toutes les dimensions de l espace, il faut 2 n m 1 bissections qui donnent 2 n 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.10 9 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 d intervalles 83

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 approximations 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 bissectés du fait du pessimisme dans l estimation d état. En plus d entraîner une inefficacité 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 bissecter 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 bissection faible. La figure 4.12 montre la validation d un domaine pour la commande u k en déterminant l admissibilité de l état x k+1 par des calculs ponctuels. La figure 4.13 illustre que ce même domaine pour la commande u k 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 [x k+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 [u k ] domaine de u k menant à un domaine admissible pour l état x k+1, calculé à partir des valeurs ponctuelles de l état x k domaine admissible f(x k, u k ) ensemble des états ponctuels x k ensemble des états ponctuels x k+1 Fig. 4.12 Faisabilité d une commande avec les calculs ponctuels Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 85

4.3. Conjuguer l arithmétique d intervalles et la commande de robot [u k ] domaine de u k menant à un domaine non admissible pour l état [x k+1 ], calculé à partir du domaine [x k ] [x k+1 ] domaine admissible [x k ] [f]([x k ], [u k ]) ensemble des états ponctuels x k ensemble des états ponctuels x k+1 (a) [u k ] domaine de u k menant à un domaine admissible pour l état [x k+1 ], calculé à partir du domaine [x k ] [x k+1 ] domaine admissible [x k ] [f]([x k ], [u k ]) ensemble des états ponctuels x k ensemble des états ponctuels x k+1 (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 x k+1 à partir des domaines de l état x k et de la commande u k 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 satisfaire 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 u 1 k,...,un k qui définit une distribution spatiale du domaine initial pour l entrée [u k, u k ], est appliqué à chaque valeur ponctuelle de l état x 1 k, x2 k,...,xm k qui définit une discrétisation spatiale de [x k] 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 [x k+1 ] (fig. 4.14). u 1 k u 2 k u 3 k [u imin, u imax ] u 4 k u 5 k f(x p k, ul k ) x 3 k espace de l état x k+1 x 2 k x 1 k espace de l état x k Fig. 4.14 Discrétisation spatiale Si f est une fonction continue, la discrétisation spatiale de x k+1 calculée à partir de la discrétisation spatiale de [x k ] fournit une approximation intérieure de Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 87

4.3. Conjuguer l arithmétique d intervalles et la commande de robot f([x k ], [u k, u k ]). En effet, quelle que soit la valeur ponctuelle x p k dans [x k], p [1, m], et quelles que soient les entrées u l k et ul+1 k, l [1, n 1], la continuité de f assure que [min(f(x p k, ul k), f(x p k, ul+1 k )), max(f(x p k, ul k), f(x p k, ul+1 k ))] f(x p k, [ul k, u l+1 k ]) (4.100) Par conséquent, l ensemble des valeurs d entrée S en considérant l approximation intérieure de l état, p [1, m] S ={u i [u l k, u l+1 k ] [min(f(x p k, ul k ), f(xp k, ul+1 k )), max(f(x p k, ul k ), f(xp k, ul+1 k ))] [x k+1min, x k+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 soit S = {[u l k, ul+1 k ] f(x p k, [ul k, ul+1 k ]) [x k+1min, x k+1max ]} (4.102) S S (4.103) En général, les méthodes d estimation garantie calculent des approximations exté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étropropagation 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 u l i choisies pour l échantillonnage du domaine initial pour l entrée [u kmin, u kmax ], 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 variables (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 discré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 utilisant 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 approximation intérieure de l état domaine admissible 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 plusieurs 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 commande, 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 x k et la fonction g (3) isole la variable u k. 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 solution 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) [x k ] sont initialisés aux domaines admissibles : [x admissible ] le long de l horizon et [x Np ] pour le domaine terminal à la fin de l horizon. Les domaines [u Np k ] de la commande sont initialisés au domaine admissible de la commande [u admissible ]. Les variables correspondant à l accélération du système ne sont pas contraintes ; leur valeur ne dépend que de la Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 89

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 + N p, 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 uniquement 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 [x k ], [ 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 uniquement à partir des conditions initiales et des domaines de commande [u k ]. Si l un des états [χ k ], [ χ k ] suite à l application de la commande n est pas admissible, 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 garanti le respect des contraintes. La commande basée sur la contraction La contraction seule n est pas suffisante 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 ] := contraction_classique([unp k ]) état_admissible faux [u Np k 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 tant que pas de point fixe et non état_admissible faire //Propagation le long de l horizon pour k = 0...(N p 1) faire [ẋ k+1 ] ([g]([x k ], [u k ])) [ẋ k+1 ] [x k+1 ] ([x k ] + δ t [ẋ k+1 ]) [x k+1 ] //Rétropropagation le long de l horizon pour k = (N p 1)...1 faire [x k ] ([x ( k+1 ] δ t [ẋ k+1 ) ]) [x k ] [xk+1 ] [x k ] [ẋ k+1 ] [ẋ k+1 ] [x k ] ([g (2) ]([ẋ k+1 ], [u k ])) [x k ] [u k ] ([g (3) ]([x k ], [ẋ k+1 ])) [u k ] δ t //Vérification de la faisabilité de la commande état_admissible vrai k 1 [χ 0 ] [x 0 ] tant que k < N p et état_admissible faire [ χ k+1 ] ([f]([χ k ], [u k ])) [χ k+1 ] [χ k ] + δ t [ χ k+1 ] si [χ k+1 ] [x admissible ] alors état_admissible faux k k + 1 Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 91

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 contraction 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é} ] 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 [u 1 ] et [u 2 ] 8 [u {solution1 }] commande_contraction_récursive([u 1 ]) 9 [u {solution2 }] commande_contraction_récursive([u 2 ]) 10 [u {solution} ] [u {solution1 }], [u {solution2 }] 11 12 sinon //domaine trop petit pour être bissecté et commande non faisable [u {solution} ] 13 14 sinon [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 permettant 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 domaine 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 faisable (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 optimal, 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 ordonné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 traitant 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 d intervalles 93

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 commande, 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 et [u solution ] = faire 3 extraire le premier élément de L dans [u] 4 [u {contracté} ],commande_faisable contraction_classique([u]) 5 si [u {contracté} ] alors 6 si commande_faisable alors 7 [u solution ] [u {contracté} ] 8 sinon 9 si diam([u contracté ])> ɛ bissection alors 10 bissection de [u {contracté} ] en [u 1 ] et [u 2 ] 11 ajouter [u 1 ] et [u 2 ] à leur place dans L 12 13 sinon //domaine trop petit pour être bissecté et commande non faisable //on ne fait rien 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 variation 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 bissection ; multiplier les opérations de contraction sans modification majeure des domaines est inefficace et multiplier le nombre de domaines candidats issus de la bissection 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 comparer 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 domaines. 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 d intervalles 95

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...(N p 1) faire 4 [ẋ k+1 ] ([f]([x k ], [u k ])) [ẋ k+1 ]; 5 [x k+1 ] ([x k ] + δ t [ẋ k+1 ]) [x k+1 ]; 6 7 8 9 10 11 12 13 14 15 16 17 //Intersection le long de l horizon k 1; tant que k < N p et pas d ensemble vide faire [x k+1 ] [x k+1 ] [x admissible ]; k k + 1 si l intersection a modifié l un des [q k ] ou l un des [ q k ] alors //les états ne sont pas admissibles donc la commande n est pas faisable //Rétropropagation pour k = (N p 1)...1 faire [x k ] ([x ( k+1 ] δ t [ẋ k+1 ) ]) [x k ]; [xk+1 ] [x k ] [ẋ k+1 ] [ẋ k+1 ]; [x k ] ([g (2) ]([ẋ k+1 ], [u k ])) [x k ]; [u k ] ([g (3) ]([x k ], [ẋ k+1 ])) [ u k ]; δ t sinon //l intersection n a pas eu d effet, la commande est faisable é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 [u k ] et des domaines admissibles interviennent dans le calcul des domaines [x k ], [ẋ 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 [u k ] 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 [u k ] n a pas changé durant la phase de rétropropagation. Comme précédemment, la modification du domaine [u k ] 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...(N p 1) faire 4 [ẋ k+1 ] ([f]([x k ], [u k ])) [ẋ k+1 ]; 5 [x k+1 ] ([x k ] + δ t [ẋ k+1 ]) [x k+1 ]; 6 7 8 9 10 11 12 13 14 15 16 //Intersection le long de l horizon k 1; tant que k < N p et pas d ensemble vide faire [x k+1 ] [x k+1 ] [x admissible ]; k k + 1 si l intersection a modifié l un des [x k ] ou l un des [ẋ k ] alors //les états ne sont pas admissibles donc la commande n est pas faisable tant que [u] n est pas modifié de plus de ɛ contraction et que pas de point fixe faire //Rétropropagation pour k = (N p 1)...1 faire [x k ] ([x ( k+1 ] δ t [ẋ k+1 ) ]) [x k ]; [xk+1 ] [x k ] [ẋ k+1 ] [ẋ k+1 ]; [x k ] ([g (2) ]([ẋ k+1 ], [u k ])) [x k ]; [u k ] ([g (3) ]([x k ], [ẋ k+1 ])) [u k ]; δ t 17 18 sinon //l intersection n a pas eu d effet, la commande est faisable é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 [x k ], [ẋ 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 [x k ], [ẋ k ] sans aucun seuil. Ainsi des variations même minimes des domaines [x k ], [ẋ k ] sans rétropropagation significative sur le domaine [u k ] (supérieure à ɛ contraction ) piégeraient l algorithme Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 97

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 algorithme 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 commande. 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 commande prédictive, l efficacité des opérations de contraction est pénalisée par le pessimisme 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é Ce chapitre présente l application de la stratégie de commande 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 commande 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étisation spatiale......................... 112 5.6 Récapitulatif des simulations................ 117 5.7 Conclusion........................... 120 Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 99

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 liberté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 l 2 ) 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 K sin et K cos : où K sin = m l g J + m l 2 et K cos = q K sin sin(q) + K cos ẍ k cos(q) = 0 (5.2) m l J + m l 2. L état du pendule [q k+1, q k+1 ] T à l instant k + 1, connaissant l état du pendule à l instant k et la commande u k (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 q k+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) q k+1 = q k + δ 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 approche 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 X T N p P X Np où X Np = [q Np, 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 min u Np k 1 2 (unp k )T u Np k + XN T p P X Np (5.5) 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 q k 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 q min, q max, q min, q max et définissent des domaines admissibles [q admissible ], [ 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 q Npmin, q Npmax. 5.3.3 Simulations du NMPC sans trajectoire de référence Dans les simulations suivantes, nous utiliserons les valeurs de paramètres indiqué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 d intervalles 101

5.3. Commande NMPC K sin K cos 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 Pentium 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 : Les contraintes sont : q ini (rad) 0,1 (rad) 6 [q admissible ] (rad) [ q admissible ] (rad.s 1 ) [u admissible ] (m.s 2 ) q Np (rad) [ π 3π ; π + 3π ] 2 2 [-50 ;50] [-5 ;5] [-0,005 ;0,005] N p -0.07-0.075 0.03 0.025 q (rad) -0.08-0.085-0.09 q (rad.s 1 ) 0.02 0.015 0.01-0.095-0.1 0 5 10 15 20 temps de simulation (s) 0.005 0 0 5 10 15 20 temps de simulation (s) 0 0.36 u (m.s 2 ) -0.2-0.4-0.6-0.8-1 -1.2 temps de calcul (s) 0.34 0.32 0.3 0.28 0.26-1.4 0 5 10 15 20 temps de simulation (s) 0.24 0 5 10 15 20 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

Les contraintes sont : Chapitre 5. Application à la commande d un pendule sous actionné q ini (rad) N p π (rad) 10 [q admissible ] (rad) [ q admissible ] (rad.s 1 ) [u admissible ] (m.s 2 ) q Np (rad) [ π 3π ; π + 3π ] 2 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 q (rad) 0-1 -2-3 q (rad.s 1 ) 25 20 15 10 5 0-4 0 0.5 1 1.5 2 temps de simulation (s) -5 0 0.5 1 1.5 2 temps de simulation (s) 100 12 u (m.s 2 ) 80 60 40 20 0 temps de calcul (s) 10 8 6 4 2-20 0 0.5 1 1.5 2 temps de simulation (s) 0 0 0.5 1 1.5 2 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 horizon 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 importantes, le point d équilibre est dépassé avant d observer une stabilisation. Les temps Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 103

5.3. Commande NMPC de calculs épars au début de la simulation sont dûs à la valeur initiale dans l algorithme 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 comparaison avec le NMPC sans trajectoire de référence, 2 nouvelles simulations, avec les mêmes paramètres mais une seule variable de commande (u 0 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 N p variables de commande 1.2 q (rad) 0-0.02-0.04-0.06-0.08 q (rad.s 1 ) 1 0.8 0.6 0.4 0.2 0-0.1 0 0.5 1 1.5 temps de simulation (s) -0.2 0 0.5 1 1.5 temps de simulation (s) 1 0.14 u (m.s 2 ) 0-1 -2-3 -4 temps de calcul (s) 0.12 0.1 0.08 0.06 0.04-5 0 0.5 1 1.5 temps de simulation (s) 0.02 0 0.2 0.4 0.6 0.8 1 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 verticale vers le haut 104 Fabien Lydoire

Chapitre 5. Application à la commande d un pendule sous actionné 1 40 0 30 q (rad) -1-2 q (rad.s 1 ) 20 10-3 0-4 0 0.5 1 1.5 temps de simulation (s) -10 0 0.5 1 1.5 temps de simulation (s) 100 0.2 u (m.s 2 ) 80 60 40 20 0 temps de calcul (s) 0.18 0.16 0.14 0.12 0.1 0.08-20 0 0.5 1 1.5 temps de simulation (s) 0.06 0 0.2 0.4 0.6 0.8 1 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 propagationretropropagation de contraintes pour le modèle de pendule considéré ici. Les domaines [q k ] et [ q k ] sont initialisés aux domaines admissibles : [q admissible ], [ q admissible ] le long de l horizon et [q Np ] pour le domaine terminal à la fin de l horizon. Le domaine [u] de la commande est initialisé au domaine admissible de la commande [u admissible ]. Les variables q k ne sont pas contraintes ; leur valeur ne dépend que de la dynamique du système et des variables q k 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 q k n est réalisée qu à partir des contraintes décrivant l intégration. Le choix a été fait de ne pas rétropropager en inversant les sinus et cosinus puisque ces opérations s avèrent inefficaces Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 105

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...(N p 1) faire 4 [ q k+1 ] = ( K cos [u] cos([q k ]) + K sin sin([q k ])) [ q k+1 ] 5 [ q k+1 ] = ([ q k ] + δ t [ q k+1 ]) [ q k+1 ] 6 [q k+1 ] = ([q k ] + δ t [ q k+1 ]) [q k+1 ] 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 //Rétropropagation le long de l horizon pour k = (N p 1)...1 faire [q k ] = ([q ( k+1 ] δ t [ q k+1 ) ]) [q k ] [qk+1 ] [q k ] [ q k+1 ] = [ q k+1 ] δ t [ q k ] = ([ q ( k+1 ] δ t [ q k+1 ) ]) [ q k ] [ qk+1 ] [ q k ] [ q k+1 ] = [ q k+1 ] δ t ( ) [ qk+1 ] K sin sin([q k ]) si {0} cos([q k ]) alors [u] = [u] K cos cos([q k ]) //Vérification de la faisabilité de la commande état_admissible vrai k 1 tant que k < N p et état_admissible faire [ θ k+1 ] = K cos [u] cos([θ k ]) + K sin sin([θ k ]) [ θ k+1 ] = [ θ k ] + δ t [ θ k+1 ] si [ θ k+1 ] [ q admissible ] alors état_admissible faux [θ k+1 ] = [θ k ] + δ t [ θ k+1 ] si [θ k+1 ] [q admissible ] alors état_admissible faux k k + 1 106 Fabien Lydoire

Chapitre 5. Application à la commande d un pendule sous actionné dans le cas d un domaine pour q k grand (supérieur à π), ce qui est le cas en présence d un domaine de commande u k 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 trajectoire 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 ordonnancer 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 d intervalles 107

5.4. Commande via l arithmétique d intervalles 0.1 1.5 q (rad) 0.05 0-0.05 q (rad.s 1 ) 1 0.5 0 u (m.s 2 ) nombre d opérations -0.1 0 0.5 1 1.5 temps de simulation (s) 2 0-2 -4-6 0 0.5 1 1.5 temps de simulation (s) 150 bissections contractions 100 50 0 0 0.2 0.4 0.6 0.8 1 temps de simulation (s) temps de calcul (s) -0.5 0 0.5 1 1.5 25 temps de simulation (s) 20 15 10 5 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 q (rad) 0.05 0-0.05 q (rad.s 1 ) 1 0.5 0 u (m.s 2 ) nombre d opérations.tex -0.1 0 0.5 1 1.5 temps de simulation (s) 2 0-2 -4-6 0 0.5 1 1.5 temps de simulation (s) 100 bissections contractions 50 0 0 0.2 0.4 0.6 0.8 1 temps de simulation (s) temps de calcul (s) -0.5 0 0.5 1 1.5 20 temps de simulation (s) 15 10 5 0 0 0.2 0.4 0.6 0.8 1 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 q (rad) 0.05 0-0.05 q (rad.s 1 ) 1 0.5 0 u (m.s 2 ) -0.1 0 0.5 1 1.5 temps de simulation (s) 2 0-2 -4-6 0 0.5 1 1.5 temps de simulation (s) nombre d opérations -0.5 0 0.5 1 1.5 temps de simulation (s) 60 40 20 bissections contractions 0 0 0.2 0.4 0.6 0.8 1 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 d intervalles 109

5.4. Commande via l arithmétique d intervalles La seconde simulation (figure 5.9) est réalisée avec l algorithme d ordonnancement 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 ordonnancement. 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 q (rad) 0.05 0-0.05 q (rad.s 1 ) 1 0.5 0 u (m.s 2 ) -0.1 0 0.5 1 1.5 temps de simulation (s) 2 0-2 -4-6 0 0.5 1 1.5 temps de simulation (s) nombre d opérations -0.5 0 0.5 1 1.5 temps de simulation (s) 60 40 20 bissections contractions 0 0 0.2 0.4 0.6 0.8 1 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([q Np ]) + Sup([q Np ] 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 q Np. 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 paramè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 comportement de la commande. 110 Fabien Lydoire

Chapitre 5. Application à la commande d un pendule sous actionné 0.1 1.5 q (rad) 0.05 0-0.05 q (rad.s 1 ) 1 0.5 0 u (m.s 2 ) -0.1 0 0.5 1 1.5 temps de simulation (s) 2 0-2 -4-6 0 0.5 1 1.5 temps de simulation (s) nombre d opérations -0.5 0 0.5 1 1.5 temps de simulation (s) 40 30 20 10 bissections contractions 0 0 0.2 0.4 0.6 0.8 1 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 algorithme 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 apparaî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 [q k ], [ 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 d intervalles 111

5.5. Commande via l arithmétique d intervalles et discrétisation spatiale 0.1 1.5 q (rad) 0.05 0-0.05 q (rad.s 1 ) 1 0.5 0-0.1 0 0.5 1 1.5 temps de simulation (s) 2-0.5 0 0.5 1 1.5 temps de simulation (s) 3 u (m.s 2 ) nombre d opérations 0-2 -4-6 0 0.5 1 1.5 temps de simulation (s) 30 bissections 25 contractions 20 15 10 5 0 0.2 0.4 0.6 0.8 1 temps de simulation (s) temps de calcul (s) 2.5 2 1.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 domaine 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 admissible 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 q (rad) 0.05 0-0.05 q (rad.s 1 ) 1 0.5 0-0.1 0 0.5 1 1.5 temps de simulation (s) 2-0.5 0 0.5 1 1.5 temps de simulation (s) 2.5 u (m.s 2 ) nombre d opérations 0-2 -4-6 0 0.5 1 1.5 temps de simulation (s) 30 bissections 25 contractions 20 15 10 5 0 0.2 0.4 0.6 0.8 1 temps de simulation (s) temps de calcul (s) 2 1.5 1 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 d intervalles 113

5.5. Commande via l arithmétique d intervalles et discrétisation spatiale 0.1 1.5 q (rad) 0.05 0-0.05 q (rad.s 1 ) 1 0.5 0-0.1 0 0.5 1 1.5 temps de simulation (s) 2-0.5 0 0.5 1 1.5 temps de simulation (s) 3 u (m.s 2 ) nombre d opérations 0-2 -4-6 0 0.5 1 1.5 temps de simulation (s) 30 bissections 25 contractions 20 15 10 5 0 0.2 0.4 0.6 0.8 1 temps de simulation (s) temps de calcul (s) 2.5 2 1.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 q (rad) 0.05 0-0.05 q (rad.s 1 ) 1 0.5 0-0.1 0 0.5 1 1.5 temps de simulation (s) 2-0.5 0 0.5 1 1.5 temps de simulation (s) u (m.s 2 ) nombre d opérations 0-2 -4-6 0 0.5 1 1.5 temps de simulation (s) 40 bissections 30 contractions 20 10 0 0 0.2 0.4 0.6 0.8 1 temps de simulation (s) temps de calcul (s) 0.5 0.4 0.3 0.2 0.1 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 d intervalles 115

5.5. Commande via l arithmétique d intervalles et discrétisation spatiale 1 30 q (rad) 0-1 -2-3 q (rad.s 1 ) 20 10 0-4 0 0.5 1 1.5 temps de simulation (s) 100-10 0 0.5 1 1.5 temps de simulation (s) 1.5 u (m.s 2 ) nombre d opérations 50 0-50 0 0.5 1 1.5 temps de simulation (s) 80 bissections 60 contractions 40 20 0 0 0.2 0.4 0.6 0.8 1 temps de simulation (s) temps de calcul (s) 1 0.5 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 validation (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 observé 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 commande 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 d intervalles 117

5.6. Récapitulatif des simulations 1 30 q (rad) 0-1 -2-3 q (rad.s 1 ) 20 10 0-4 0 0.5 1 1.5 temps de simulation (s) 100-10 0 0.5 1 1.5 temps de simulation (s) 0.4 u (m.s 2 ) nombre d opérations 80 60 40 20 0 0 0.5 1 1.5 temps de simulation (s) 20 bissections 15 contractions 10 5 0 0 0.2 0.4 0.6 0.8 1 temps de simulation (s) temps de calcul (s) 0.3 0.2 0.1 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 q (rad) 0-1 -2-3 q (rad.s 1 ) 40 20 0-4 0 0.5 1 1.5 temps de simulation (s) 100-20 0 0.5 1 1.5 temps de simulation (s) u (m.s 2 ) nombre d opérations 50 0-50 0 0.5 1 1.5 temps de simulation (s) 15 bissections contractions 10 5 0 0 0.2 0.4 0.6 0.8 1 temps de simulation (s) temps de calcul (s) 0.25 0.2 0.15 0.1 0.05 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 d intervalles 119

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 propagationré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 propagation. 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 commande 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écessaires 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. Cependant, 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 d intervalles 121

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 paramè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 paramè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 trajectoires 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 trajectoires 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 locomotion 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 mouvement é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 commande 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 d intervalles 123

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édictive, 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 approximation 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 approche 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 solutions 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 arithmé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 évidence 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 dimension. 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 d intervalles 125

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 European 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 Francophone 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), Lecture 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. Threedimensional 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 d intervalles 127

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 parameters 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. Automatica, 36 :287 295, 2000. C. G. Atkenson, C. H. An, et J. M. Hollerbach. Estimation of inertial parameters 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 walking. 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 d intervalles 129

Bibliographie L. Belkoura. Modèle dynamique de robots et méthodes d identification des paramètres inertiels. Thèse de doctorat, Université des Sciences et Technologies de Lille, 1993. F. Benhamou, F. Goualard, L. Granvilliers, et J.-F. Puget. Revising 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 manipulators 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). Automatica, 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 International Conference on Robotics and Automation (ICRA), April 2000. L. Chisci, A. Lombardi, et E. Mosca. Dual-receding Horizon Control of Constrained 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 Proceedings 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 d intervalles 131

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 parameters 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 fermé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 : Bipman. 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 SYmposium on RObot COntrol, volume 1, pages 125 130, Nantes, France, septembre 1997. D. Guiraud, H. E. Makssoud, P. Poignet, P. Fraisse, et E. Dombre. Automatic 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 robot 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 approximations, 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, London, 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 d intervalles 133

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 satisfaction. 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 satisfaction. Lecture Notes in Computer Science (LNCS), Proceedings of the 2nd International Workshop on Global Constrained Optimization and Constraint Satisfaction (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 machinesoutils 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 identification. 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. Hermè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 Conference on Robotics and Automation (ICRA), pages 2036 2041, Leuven, Belgium, May 1998. P. Scokaert, D. Mayne, et J. Rawlings. Suboptimal Model Predictive Control (Feasibility Implies Stability), volume 44(3). IEEE Trans. Automat. Contr., 1999. Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 135

Bibliographie M. D. Sidman, F. E. DeAngelis, et G. C. Verghese. Parametric system identification 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 compasslike biped robot : Symmetry and chaos. International Journal of Robotics Research, 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 International 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 Transaction 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 walking. 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 d intervalles 137

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 : J = 1 2 ut k+1 u k+1 + X T N p P X Np (A.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 K sin sin(q) + K cos u cos(q) = 0 (A.2) en posant x = [q q] T = [x 1 x 2 ] T, ẋ = f(x, u) (A.3) { ẋ1 = x 2 ẋ 2 = K sin sin(x 1 ) K cos u cos(x 1 ) (A.4) Linéarisation du système autour de l origine : ẋ = A x + B u (A.5) A = f [ ] (x, u) 0 1 x = x=0,u=0 K sin 0 B = f [ ] (x, u) 0 u = x=0,u=0 K cos (A.6) (A.7) Dans la suite, on utilise les valeurs numériques suivantes : K cos = 11, 11 et K sin = 109. Le système est contrôlable puisque rg([b AB]) = 2 (A.8) Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 139

Retour d état linéaire u = Kx minimisant J = x T Q x + u T R udt avec Q = 0 et R = Id. K = [ 19, 6200 1, 8793 ] (A.9) [ A K = A + BK = 0 1,0000 109 20,8806 ] (A.10) λ max (A K ) = 10, 44 en choisissant k = 0.5 et en résolvant l équation de Lyapunov (A.11) (A K + k Id) P + P (A K + k Id) T = K T K (A.12) on trouve P = 10 3 [ 0,0508 0,2179 0,2179 1,165252 ] (A.13) 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)) = [x 0 ] un intervalle et [Γ] également un intervalle. Les techniques classiques 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 j+1 = x j + h i f [i] (x j ) + h k f [k] (x(t ξ )) i=1 (B.3) avec x(t ξ ) solution de (B.2) à t [t j, t j+1 ] et les coefficients de Taylor : f [0] (x) = x f [i] (x) = 1 i ( ) f [i 1] x f (x) i 1 (B.4) (B.5) Le développement de Taylor sous la forme d intervalles s exprime alors : k 1 [x j+1 ] = [x j ] + h i f [i] ([x j ]) + h k f [k] ([ξ]) i=1 (B.6) où x(t ξ ) [ξ] t ξ [t j, t j+1 ]. Le domaine [ξ] contient donc l ensemble des solutions de (B.2) défini avec des intervalles. Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 141

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 [t j, t j+1 ] donc φ([ξ]) [ξ] (B.7) Pour un état précédent ponctuel x j et un état [ x j ] tel que x j + [0, h] f([ x j ]) [ x j ] (B.8) on peut écrire le point fixe de φ φ([ x j ]) = x j + f([ x])dτ (B.9) x j + [0, h] f([ x j ]) (B.10) [ x j ] (B.11) [ x j ] est donc une AE de (B.2) quand x j est ponctuel. Quand x j est un intervalle [x j ], il faut déterminer [ x j ] tel que La forme centrée La forme centrée [x j ] + [0, h] f([ x j ]) [ x j ] (B.12) f m ([a]) = f(b) + f ([a])([a] b) (B.13) où f est une fonction d inclusion du jacobien de f et b [a] donne souvent une approximation plus petite que f étendue directement aux intervalles. Ainsi, les coefficients de Taylor (B.5) sous forme centrée s écrivent f [i] m ([x j ]) = f [i] (ˆx j ) + f [i] ([x j ])([x j ] ˆx j ) (B.14) = f [i] (ˆx j ) + J(f [i], [x j ])([x j ] ˆx j ) (B.15) où ˆx j est un point de [x j ]. Le développement de Taylor par intervalles (B.6) s écrit donc sous forme centrée : k 1 [x j+1 ] = ˆx j + h ( i f [i] (ˆx j ) + J(f [i], [x j ])([x j ] ˆx j ) ) + h k f [k] ([ x j ]) (B.16) i=1 k 1 = ˆx j + h i f [i] (ˆx j ) + h k f [k] ([ x j ]) + (B.17) i=1 } [ {{ } vj+1 ] ( ) k 1 I + J(f [i], [x j ])h i ([x j ] ˆx j ) i=1 } [ {{ } Sj ]([x j ] ˆx j ) (B.18) 142 Fabien Lydoire

Mise en œuvre Annexe B. Estimation d état basée sur les séries de Taylor intervalles 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 importante dans le cadre de la commande prédictive. Génération de trajectoires pour la locomotion artificielle et commande à horizon fuyant avec l arithmétique d intervalles 143

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 contribution 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 contraintes, contraction, estimation d état, locomotion bipède, génération de trajectoires. 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 specifying 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