Commande robuste de robots mobiles par mode glissant, vers un ménage à plusieurs?



Documents pareils
Algorithmes pour la planification de mouvements en robotique non-holonome

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

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

Fonctions de plusieurs variables

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

3 Approximation de solutions d équations

Programmation linéaire

Chapitre 0 Introduction à la cinématique

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer


Cours d Analyse. Fonctions de plusieurs variables

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

Continuité et dérivabilité d une fonction

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Résolution d équations non linéaires

Rupture et plasticité

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

F411 - Courbes Paramétrées, Polaires

Optimisation des fonctions de plusieurs variables

I. Polynômes de Tchebychev

aux différences est appelé équation aux différences d ordre n en forme normale.

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

Intégrales doubles et triples - M

Dérivées d ordres supérieurs. Application à l étude d extrema.

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Théorème du point fixe - Théorème de l inversion locale

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Modélisation et Simulation

Correction du Baccalauréat S Amérique du Nord mai 2007

FIMA, 7 juillet 2005

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

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

Fonctions de plusieurs variables

Limites finies en un point

Chapitre 2 Le problème de l unicité des solutions

TESTS PORTMANTEAU D ADÉQUATION DE MODÈLES ARMA FAIBLES : UNE APPROCHE BASÉE SUR L AUTO-NORMALISATION

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

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

Rappels sur les suites - Algorithme

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Probabilités III Introduction à l évaluation d options

8.1 Généralités sur les fonctions de plusieurs variables réelles. f : R 2 R (x, y) 1 x 2 y 2

Fonctions de deux variables. Mai 2011

Développements limités, équivalents et calculs de limites

MATHS FINANCIERES. Projet OMEGA

Développements limités. Notion de développement limité

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

Cours de Mécanique du point matériel

Analyse en Composantes Principales

Circuits RL et RC. Chapitre Inductance

Polynômes à plusieurs variables. Résultant

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

CAPTEURS - CHAINES DE MESURES

Calcul intégral élémentaire en plusieurs variables

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans

Texte Agrégation limitée par diffusion interne

Chapitre 1 Cinématique du point matériel

Techniques de Lyapunov en contrôle quantique pour le couplage dipolaire et polarisabilité

Les travaux doivent être remis sous forme papier.

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

Cours 02 : Problème général de la programmation linéaire

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Université Paris-Dauphine DUMI2E 1ère année, Applications

Chafa Azzedine - Faculté de Physique U.S.T.H.B 1

Programmation linéaire

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

CCP PSI Mathématiques 1 : un corrigé

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

Calcul différentiel. Chapitre Différentiabilité

Capes Première épreuve

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

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Résolution de systèmes linéaires par des méthodes directes

Chapitre VI Fonctions de plusieurs variables

Différentiabilité ; Fonctions de plusieurs variables réelles

Chp. 4. Minimisation d une fonction d une variable

Direction des Études et Synthèses Économiques Département des Comptes Nationaux Division des Comptes Trimestriels

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

CABLECAM de HYMATOM. Figure 1 : Schéma du système câblecam et détail du moufle vu de dessus.

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

La fonction exponentielle

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

OPTIMISATION À UNE VARIABLE

Chapitre 5 : Flot maximal dans un graphe

Programmation Linéaire - Cours 1

SCIENCES INDUSTRIELLES POUR L INGÉNIEUR. Partie I - Analyse système

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

Introduction au maillage pour le calcul scientifique

L apprentissage automatique

LA METHODE DU COUT CIBLE (TARGET COSTING)

Manipulateurs Pleinement Parallèles

INTRODUCTION. A- Modélisation et paramétrage : CHAPITRE I : MODÉLISATION. I. Paramétrage de la position d un solide : (S1) O O1 X

MESURE ET PRECISION. Il est clair que si le voltmètre mesure bien la tension U aux bornes de R, l ampèremètre, lui, mesure. R mes. mes. .

Chapitre 6. Fonction réelle d une variable réelle

Cours de mathématiques

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Transcription:

Commande robuste de robots mobiles par mode glissant, vers un ménage à plusieurs? M. Defoort, T. Floquet et W. Perruquetti LAGIS UMR CNRS 8146, Ecole Centrale de Lille, 59650 Villeneuve d Ascq. michael.defoort@ec-lille.fr 10 Novembre 2006

PLAN Introduction 1 Introduction 2 3 4 5

Projet Robocoop : http ://syner.ec-lille.fr/robocoop Objectif Déploiement de flottilles d agents autonomes ou semi-autonomes

Challenges Informations/décisions locales Communications limitées, Opération à grande échelle, Environnement dynamique incertain et parfois hostile,... Recherche pluridisciplinaire : Modélisation, planification et commande (contraintes, modèle non linéaires, retards, hiérarchisation, aspects hybrides... ) théorie des graphes, protocole de communication, logique et décision,...

Challenges Informations/décisions locales Communications limitées, Opération à grande échelle, Environnement dynamique incertain et parfois hostile,... Recherche pluridisciplinaire : Modélisation, planification et commande (contraintes, modèle non linéaires, retards, hiérarchisation, aspects hybrides... ) théorie des graphes, protocole de communication, logique et décision,...

Objectifs généraux du projet

Domaines d application Santé (chirurgie télé-opérée,... ) Transport (autoroute automobile, drone, satellites,... )

Leader(s)? Graphe Modèles Leader ou pas? Certains véhicules jouent parfois un rôle particulier : les leaders. Distinction entre 2 types d architecture : 1 avec leader : le leader dirige tout ou partie de la flottille. 2 sans leader : besoin d une coordination locale/globale : des règles de décision doivent utiliser des informations locales (informations échangées avec les véhicules voisins) ou des informations globales

Leader(s)? Graphe Modèles Leader ou pas? Certains véhicules jouent parfois un rôle particulier : les leaders. Distinction entre 2 types d architecture : 1 avec leader : le leader dirige tout ou partie de la flottille. 2 sans leader : besoin d une coordination locale/globale : des règles de décision doivent utiliser des informations locales (informations échangées avec les véhicules voisins) ou des informations globales

Leader(s)? Graphe Modèles Graphes Deux graphes sont nécessaires pour définir un groupe de N robots : 1 le graphe des communications entre robots : G c, 2 le graphe de formation (caractérise la géométrie de la formation) : G f. Definition Le graphe de communication G c = (R, A) (respectivement graphe de formation G f = (R, A, W )) est un graphe orienté (respectivement un graphe pondéré) où R = {R 1,..., R N } représente une liste de noeuds et A une liste d arcs orientés (respectivement d arcs pondérés de poids associés à W ).

Leader(s)? Graphe Modèles Graphes Deux graphes sont nécessaires pour définir un groupe de N robots : 1 le graphe des communications entre robots : G c, 2 le graphe de formation (caractérise la géométrie de la formation) : G f. Definition Le graphe de communication G c = (R, A) (respectivement graphe de formation G f = (R, A, W )) est un graphe orienté (respectivement un graphe pondéré) où R = {R 1,..., R N } représente une liste de noeuds et A une liste d arcs orientés (respectivement d arcs pondérés de poids associés à W ).

Leader(s)? Graphe Modèles Graphes Deux graphes sont nécessaires pour définir un groupe de N robots : 1 le graphe des communications entre robots : G c, 2 le graphe de formation (caractérise la géométrie de la formation) : G f. Definition Le graphe de communication G c = (R, A) (respectivement graphe de formation G f = (R, A, W )) est un graphe orienté (respectivement un graphe pondéré) où R = {R 1,..., R N } représente une liste de noeuds et A une liste d arcs orientés (respectivement d arcs pondérés de poids associés à W ).

Leader(s)? Graphe Modèles Exemple de graphe de communication G c R 0 = L R 2 R 1 R 3 R 7 R 5 R 4 R 6

d 25 d 15 Introduction Leader(s)? Graphe Modèles Exemple de graphe de formation G f d 02 R 0 = L R 2 d 01 d 23 d 12 R 1 d(r 0, R7) = d 07 > 0 d 17 R 3 R 7 d 35 R 5 d 57 d 34 d 45 d 56 d 67 R 4 R 6

Leader(s)? Graphe Modèles Remarque G c : un arc unidirectionnel (resp. bi-directionnel) reliant deux noeuds signifie qu il existe une liaison de communication unidirectionnelle (resp. bi-directionnelle) entre les deux robots G f : un arc reliant deux noeuds signifie qu il existe une contrainte géométrique (reliée à d ij = q i q j ) dont le poids associé, p ij est 1 une constante si la contrainte est rigide, 2 un intervalle si la contrainte est flexible. G f et G c sont fortement corrélés : par exemple si la communication est wifi alors la qualité de la communication est une fonction de la distance entre l émetteur et le récepteur. Le maintien de G f est nécessaire pour assurer une communication de qualité entre les robots

Leader(s)? Graphe Modèles Remarque G c : un arc unidirectionnel (resp. bi-directionnel) reliant deux noeuds signifie qu il existe une liaison de communication unidirectionnelle (resp. bi-directionnelle) entre les deux robots G f : un arc reliant deux noeuds signifie qu il existe une contrainte géométrique (reliée à d ij = q i q j ) dont le poids associé, p ij est 1 une constante si la contrainte est rigide, 2 un intervalle si la contrainte est flexible. G f et G c sont fortement corrélés : par exemple si la communication est wifi alors la qualité de la communication est une fonction de la distance entre l émetteur et le récepteur. Le maintien de G f est nécessaire pour assurer une communication de qualité entre les robots

Leader(s)? Graphe Modèles Remarque G c : un arc unidirectionnel (resp. bi-directionnel) reliant deux noeuds signifie qu il existe une liaison de communication unidirectionnelle (resp. bi-directionnelle) entre les deux robots G f : un arc reliant deux noeuds signifie qu il existe une contrainte géométrique (reliée à d ij = q i q j ) dont le poids associé, p ij est 1 une constante si la contrainte est rigide, 2 un intervalle si la contrainte est flexible. G f et G c sont fortement corrélés : par exemple si la communication est wifi alors la qualité de la communication est une fonction de la distance entre l émetteur et le récepteur. Le maintien de G f est nécessaire pour assurer une communication de qualité entre les robots

Leader(s)? Graphe Modèles Remarque G c : un arc unidirectionnel (resp. bi-directionnel) reliant deux noeuds signifie qu il existe une liaison de communication unidirectionnelle (resp. bi-directionnelle) entre les deux robots G f : un arc reliant deux noeuds signifie qu il existe une contrainte géométrique (reliée à d ij = q i q j ) dont le poids associé, p ij est 1 une constante si la contrainte est rigide, 2 un intervalle si la contrainte est flexible. G f et G c sont fortement corrélés : par exemple si la communication est wifi alors la qualité de la communication est une fonction de la distance entre l émetteur et le récepteur. Le maintien de G f est nécessaire pour assurer une communication de qualité entre les robots

Leader(s)? Graphe Modèles Definition La matrice de communication associée au graphe de communications est une matrice carré M c = (m c ij ) N N définie par : { m c 1 si l arc Ri R ij = j A. 0 sinon De la même manière la matrice de formation associée au graphe de formation est une matrice carré M f = (m f ij ) N N avec { m f ij = pij si l arc R i R j A 0 sinon. Pour une contrainte rigide, p ij est une constante alors que pour une contrainte flexible c est un intervalle : généralement M f est une matrice intervalle.

Leader(s)? Graphe Modèles Definition La matrice de communication associée au graphe de communications est une matrice carré M c = (m c ij ) N N définie par : { m c 1 si l arc Ri R ij = j A. 0 sinon De la même manière la matrice de formation associée au graphe de formation est une matrice carré M f = (m f ij ) N N avec { m f ij = pij si l arc R i R j A 0 sinon. Pour une contrainte rigide, p ij est une constante alors que pour une contrainte flexible c est un intervalle : généralement M f est une matrice intervalle.

Leader(s)? Graphe Modèles Cas particulier : architecture de type leader-suiveur Architecture de type leader-suiveur Pour le graphe orienté G c, le père d un noeud est son leader. La racine R 1 est le leader de la formation. Il dirige l ensemble de la flottille. La matrice M c est définie telle que m c ij = 1 lorsque R j suit R i (le robot R j suit la trajectoire déterminée par R i ). La formation de N robots est caractérisée par un leader R 1 et une cascade de N 1 paires de leader-suiveurs (R i -R j ).

Leader(s)? Graphe Modèles Modèles 1 Modèle cinématique (contraintes de non holonomie) Posture Kinematic Model (PKM) : modèle simplifié qui donne une description globale du robot (généralement utilisé pour la commande). Position =(x, y, θ) dans la plupart des cas. Configuration Kinematic Model (CKM) : toutes les variables de configuration (position + position angulaire des roues,... ). 2 Modèle dynamique (idem + dynamique des actionneurs (moteurs électriques)) Configuration Dynamic Model (CDM) : inclue les dynamiques des robots mobiles (force et couple générés par les actionneurs) Posture Dynamic Model (PDM) : idem pour CKM.

Leader(s)? Graphe Modèles Modèles 1 Modèle cinématique (contraintes de non holonomie) Posture Kinematic Model (PKM) : modèle simplifié qui donne une description globale du robot (généralement utilisé pour la commande). Position =(x, y, θ) dans la plupart des cas. Configuration Kinematic Model (CKM) : toutes les variables de configuration (position + position angulaire des roues,... ). 2 Modèle dynamique (idem + dynamique des actionneurs (moteurs électriques)) Configuration Dynamic Model (CDM) : inclue les dynamiques des robots mobiles (force et couple générés par les actionneurs) Posture Dynamic Model (PDM) : idem pour CKM.

Leader(s)? Graphe Modèles La platitude : une notion clé (M. Fliess, J. Lévine, Ph. Martin, et P. Rouchon) Pour les systèmes linéaire ẋ = Ax + Bu les notions suivantes sont équivalentes : 1 Commandabilité, 2 Forme normale de Brunovsky, 3 La paramétrisation des variables d état et des entrées par m sorties (sorties de Brunovsky ou sorties plates).

Leader(s)? Graphe Modèles La platitude : une notion clé Le système ẋ = f(x, u), x R n, u R m, est plat s il existe m sorties dépendant de l état, des entrées et d un certain nombre de leur dérivées jusqu à l ordre r n (sorties plates) de telle sorte que les variables d état et les sorties peuvent être exprimées en fonction des sorties plates. Il existe trois fonctions telle que y = h(x, u, u, ü,..., u (r) ), x = χ(y, ẏ,..., y (r 1) ), u = ϑ(y, ẏ,..., y (r) ).

Leader(s)? Graphe Modèles Théorème Tout systèmes non linéaires de la forme ẋ = B(x)u avec m entrées et au plus m + 2 états est plat. Conclusion Les modèles PKM et PDM sont plats. Ils sont commandables. Cependant, d après le théorème de Brockett, ils ne sont pas stabilisables par retour d état continu et stationnaire.

Leader(s)? Graphe Modèles Modèle cinématique 1 Modèle de type unicycle ẋ = v cos θ Y-AXIS w v n n (x n,y n ) ẏ = v sin θ θ = w 2 Modèle de type voiture ẋ = v cos θ θ n X - AXIS ẏ = v sin θ θ = v tan(φ) l φ = w

Leader(s)? Graphe Modèles Modèle cinématique : plat Sorties plates : (x, y). ( ) 1 pour l unicycle : θ = arctan ẏ ( 2 pour la voiture : θ = arctan ẏ ẋ ( ẋÿ ẏẍ arctan l, w = φ. (ẋ 2 +ẏ 2 ) 3/2 ) ẋ, v = ± ẋ 2 + ẏ 2,w = ẋÿ ẏẍ ẋ 2 +ẏ 2 ), v = ± ẋ 2 + ẏ 2, φ =

Objectifs Problème de commande optimale Transformation en problème de programmation non linéaire Algorithme décentralisé de planification Dans les cas avec ou sans leaders, la planification de trajectoire pour un robot de la flottille ne dépend que des informations locales échangées avec les robots voisins. Afin d obtenir une trajectoire faisable pour le ième robot (connaissant sa configuration et les informations locales des voisins) : on utilise la ième ligne de G c ou G f. Exemple 2 R2 2 R3 R4 1 3 R1 R5 4 R6 1 R0 2 R7 3

Objectifs Problème de commande optimale Transformation en problème de programmation non linéaire Objectif Générer une trajectoire (sous)-optimale satisfaisant les contraintes : physiques (vitesse et accélération maximales des robots) sur la géométrie de la formation, évitement d obstacles, évitement de collisions entre robots, les conditions aux bords, sur les distances entre robots induites par les limites de communication autres : contraintes sur le temps (missions de sauvetage), sur la consommation d énergie (limites induites par les batteries,... )

Objectifs Problème de commande optimale Transformation en problème de programmation non linéaire Objectif Générer une trajectoire (sous)-optimale satisfaisant les contraintes : physiques (vitesse et accélération maximales des robots) sur la géométrie de la formation, évitement d obstacles, évitement de collisions entre robots, les conditions aux bords, sur les distances entre robots induites par les limites de communication autres : contraintes sur le temps (missions de sauvetage), sur la consommation d énergie (limites induites par les batteries,... )

Objectifs Problème de commande optimale Transformation en problème de programmation non linéaire Objectif Générer une trajectoire (sous)-optimale satisfaisant les contraintes : physiques (vitesse et accélération maximales des robots) sur la géométrie de la formation, évitement d obstacles, évitement de collisions entre robots, les conditions aux bords, sur les distances entre robots induites par les limites de communication autres : contraintes sur le temps (missions de sauvetage), sur la consommation d énergie (limites induites par les batteries,... )

Objectifs Problème de commande optimale Transformation en problème de programmation non linéaire Objectif Générer une trajectoire (sous)-optimale satisfaisant les contraintes : physiques (vitesse et accélération maximales des robots) sur la géométrie de la formation, évitement d obstacles, évitement de collisions entre robots, les conditions aux bords, sur les distances entre robots induites par les limites de communication autres : contraintes sur le temps (missions de sauvetage), sur la consommation d énergie (limites induites par les batteries,... )

Objectifs Problème de commande optimale Transformation en problème de programmation non linéaire Objectif Générer une trajectoire (sous)-optimale satisfaisant les contraintes : physiques (vitesse et accélération maximales des robots) sur la géométrie de la formation, évitement d obstacles, évitement de collisions entre robots, les conditions aux bords, sur les distances entre robots induites par les limites de communication autres : contraintes sur le temps (missions de sauvetage), sur la consommation d énergie (limites induites par les batteries,... )

Objectifs Problème de commande optimale Transformation en problème de programmation non linéaire Objectif Générer une trajectoire (sous)-optimale satisfaisant les contraintes : physiques (vitesse et accélération maximales des robots) sur la géométrie de la formation, évitement d obstacles, évitement de collisions entre robots, les conditions aux bords, sur les distances entre robots induites par les limites de communication autres : contraintes sur le temps (missions de sauvetage), sur la consommation d énergie (limites induites par les batteries,... )

Objectifs Problème de commande optimale Transformation en problème de programmation non linéaire Objectif Générer une trajectoire (sous)-optimale satisfaisant les contraintes : physiques (vitesse et accélération maximales des robots) sur la géométrie de la formation, évitement d obstacles, évitement de collisions entre robots, les conditions aux bords, sur les distances entre robots induites par les limites de communication autres : contraintes sur le temps (missions de sauvetage), sur la consommation d énergie (limites induites par les batteries,... )

Objectifs Problème de commande optimale Transformation en problème de programmation non linéaire Objectif Générer une trajectoire (sous)-optimale satisfaisant les contraintes : physiques (vitesse et accélération maximales des robots) sur la géométrie de la formation, évitement d obstacles, évitement de collisions entre robots, les conditions aux bords, sur les distances entre robots induites par les limites de communication autres : contraintes sur le temps (missions de sauvetage), sur la consommation d énergie (limites induites par les batteries,... )

Objectifs Problème de commande optimale Transformation en problème de programmation non linéaire Planification de trajectoire BUT : Pour chaque robot, déterminer la trajectoire et la commande qui minimisent la fonctionnelle J = tf t 0 C(X 1,..., X v, U 1,..., U v )dt, t 0 est l instant initial (supposé nul), t f est le temps final fixé ou inconnu a et C est la fonction coût. Les trajectoires doivent joindre les conditions terminales (initiales et finales) a planification en temps optimal

Objectifs Problème de commande optimale Transformation en problème de programmation non linéaire Planification de trajectoire En satisfaisant les contraintes : 1 bornes sur les vitesses : S 1 n = U max n U n 0 2 évitement de collision avec les obstacles (union de domaines circulaires de centre (x o m, y o m) et de rayon r o m) : S 2 nm = d(a n, O m ) 2 (r n + r o m) 2 0 3 évitement de collision entre les robots : S 3 nn = d(a n, A n ) 2 (r n + r n ) 2 0 4 distances maximales entre les robots qui communiquent : S 4 nn = d2 max d(a n, A n ) 2 0.

Objectifs Problème de commande optimale Transformation en problème de programmation non linéaire Planification de trajectoire En satisfaisant les contraintes : 1 bornes sur les vitesses : S 1 n = U max n U n 0 2 évitement de collision avec les obstacles (union de domaines circulaires de centre (x o m, y o m) et de rayon r o m) : S 2 nm = d(a n, O m ) 2 (r n + r o m) 2 0 3 évitement de collision entre les robots : S 3 nn = d(a n, A n ) 2 (r n + r n ) 2 0 4 distances maximales entre les robots qui communiquent : S 4 nn = d2 max d(a n, A n ) 2 0.

Objectifs Problème de commande optimale Transformation en problème de programmation non linéaire Planification de trajectoire En satisfaisant les contraintes : 1 bornes sur les vitesses : S 1 n = U max n U n 0 2 évitement de collision avec les obstacles (union de domaines circulaires de centre (x o m, y o m) et de rayon r o m) : S 2 nm = d(a n, O m ) 2 (r n + r o m) 2 0 3 évitement de collision entre les robots : S 3 nn = d(a n, A n ) 2 (r n + r n ) 2 0 4 distances maximales entre les robots qui communiquent : S 4 nn = d2 max d(a n, A n ) 2 0.

Objectifs Problème de commande optimale Transformation en problème de programmation non linéaire Planification de trajectoire En satisfaisant les contraintes : 1 bornes sur les vitesses : S 1 n = U max n U n 0 2 évitement de collision avec les obstacles (union de domaines circulaires de centre (x o m, y o m) et de rayon r o m) : S 2 nm = d(a n, O m ) 2 (r n + r o m) 2 0 3 évitement de collision entre les robots : S 3 nn = d(a n, A n ) 2 (r n + r n ) 2 0 4 distances maximales entre les robots qui communiquent : S 4 nn = d2 max d(a n, A n ) 2 0.

Objectifs Problème de commande optimale Transformation en problème de programmation non linéaire Planification de trajectoire En satisfaisant les contraintes : 1 bornes sur les vitesses : S 1 n = U max n U n 0 2 évitement de collision avec les obstacles (union de domaines circulaires de centre (x o m, y o m) et de rayon r o m) : S 2 nm = d(a n, O m ) 2 (r n + r o m) 2 0 3 évitement de collision entre les robots : S 3 nn = d(a n, A n ) 2 (r n + r n ) 2 0 4 distances maximales entre les robots qui communiquent : S 4 nn = d2 max d(a n, A n ) 2 0.

Objectifs Problème de commande optimale Transformation en problème de programmation non linéaire Pénalité Transformation du problème d optimisation sous contraintes par : J p = tf tf + 0 tf + 0 t 0 C(X 1,..., X N, U 1,..., U N )dt + N N o n=1 m=1 N n=1 n =1 n n { µ 2 nm Ω(S 2 nm) } dt + tf N { µ 4 nn Ω(Snn 4 )} dt. 0 tf t 0 N N n=1 n=1 n =1 n n { µ 1 n Ω ( Sn 1 )} dt N { µ 3 nn Ω ( Snn 3 )} dt La fonction pénalité Ω pénalise la fonction coût lorsque la contrainte est violée

Objectifs Problème de commande optimale Transformation en problème de programmation non linéaire La platitude est de retour Transformation du coût et des contraintes en utilisation les sorties plates et un nombre fini de leur dérivées J p = tf 0 L(Z(t), Ż(t),..., Z(r) (t))dt. Elimination des contraintes dynamiques

Objectifs Problème de commande optimale Transformation en problème de programmation non linéaire Sur le chemin de la programmation non linéaire Paramétrisation des sorties plates x n (t k ) = x n,initial (t k ) + y n (t k ) = y n,initial (t k ) + Le problème devient : P a 1n,j N j,2 (t k ) j=1 P a 2n,j N j,2 (t k ) j=1 tf min L(Z(t), Ż(t),..., a Z(r) (t))dt. in,j 0

Objectifs Problème de commande optimale Transformation en problème de programmation non linéaire Sur le chemin de la programmation non linéaire Choix des fonctions de base : les B splines Première utilisation dans Milam et al. 2001 y f (t) = T N i,2 (t)a i i=1 Q = {q 1 =... = q k = t 0 q k+1 = t 1 q k+p =... = q T = t P = t f.} σ = {t 0 t 1...... t P 1... t P = t f}

Objectifs Problème de commande optimale Transformation en problème de programmation non linéaire Propriétés des B splines 1 Support compact. Les fonctions N i,d sont nulles en dehors des intervalles [q i, q i+d+1 ] impact uniquement autour du point considéré : intérêt pour l implémentation numérique car la méthode de descente de gradient est simplifiée par la matrice hessienne quasiment creuse, i.e la plupart des entrées sont nulles. 2 N i,d (t) fonction polynomiale par rapport à la variable t d ordre d. 3 N i,d (t) 0, d, i, t. 4 Facilement différentiable (degré de continuité des B splines peut facilement être choisi).

Objectifs Problème de commande optimale Transformation en problème de programmation non linéaire Résolution On subdivise le temps en intervalles Problème de programmation non linéaire min a in,j N sample k=1 σ k L(Z(t k ), Ż(t k),..., Z (r) (t k )) où les poids σ k et les instants t k sont choisis par différentes méthodes (trapézoidale, rectangle, Gauss-Legendre,... ). Optimisation directe des coefficients par descente de gradient A l aide des propriétés de platitude, on déduit les commandes en boucle ouverte du système.

Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Motivation : Tout va bien?? Plus ou moins... Résultats expérimentaux sur le système en boucle ouverte

Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Motivation : Tout va bien?? Plus ou moins... Le modèle unicycle est perturbé... avec des π Mais que se passe t il lors de la présence de bruits de mesure ou de glissement?? (qui peuvent apparaître lorsque le contact entre la roue et la route n est pas maintenu... ) ẋ i = v i cos θ i + π 1,i ẏ i = v i sin θ i + π 2,i θ i = w i + π 3,i π 1,i, π 2,i, π 3,i sont des perturbations additives inconnues. Question Help! Comment faire face à ces perturbations?

Solution 1 : Suivi individuel Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Suivi individuel de la trajectoire planifiée pour chaque robot R i, i = 1,..., N. Trajectoire de référence planifiée ẋ i = v i cos θ i ẏ i = v i sin θ i θ i = w i

Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Erreurs de suivi : x i = x i x i ŷ i = y i y i θ i = θ i θ i Objectifs de la commande Determiner la commande u i = [v i, w i ] T telle que les erreurs de suivi x i, ŷ i et θ i soient globalement asymptotiquement stables malgré les erreurs initiales et les perturbations.

Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Difficultés pour commander un robot de type unicycle Provient de la contrainte de non holonomie imposée par les roues : Condition nécessaire de Brockett pour la stabilisation = PKM and PDM ne peuvent pas être stabilisés asymptotiquement par un retour d état continu et stationnaire (qui ne dépend pas du temps). Solution { v = v(x, y, θ, t) Retour d état qui dépend du temps : w = w(x, y, θ, t) { v = vdisc (x, y, θ) Commande discontinue : w = w disc (x, y, θ)

Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Difficultés pour commander un robot de type unicycle Provient de la contrainte de non holonomie imposée par les roues : Condition nécessaire de Brockett pour la stabilisation = PKM and PDM ne peuvent pas être stabilisés asymptotiquement par un retour d état continu et stationnaire (qui ne dépend pas du temps). Solution { v = v(x, y, θ, t) Retour d état qui dépend du temps : w = w(x, y, θ, t) { v = vdisc (x, y, θ) Commande discontinue : w = w disc (x, y, θ)

Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Dynamique de l erreur de suivi dans le référentiel robot : x e cos θ sin θ 0 x y e = sin θ cos θ 0 ŷ θ e 0 0 1 θ ẋ e ẏ e θ e = v cos θ e v sin θ e w 1 y e + 0 x e 0 1 [ v w ].

Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Retour d état dépendant du temps borné Prend en compte les limitations des actionneurs : [ ] v(t) = v cos θ e + a 3 tanh x e a w(t) w + 1 vy e sin θ e (1 + x 2 e + ye) 2 + a θ 2 tanh θ e e a i sont des constantes positives choisies de manière à respecter les limitations des actionneurs : v v + a 3 w w + a 1 2 v + a 2

Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Preuve Démonstration à partir de la fonction de Lyapunov candidate suivante V = a 1 2 ln(1 + x2 e + y 2 e) + 1 2 θ2 e V 0 Lemme de Barbalat Stabilisation asymptotique des erreurs de suivi

Résultats Introduction Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Résultats (Commandes bornées mais en réel peu robuste aux perturbations!!!)

Solution 1 Introduction Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Idée Extension des résultats précédents pour augmenter la qualité du suivi en présence de perturbations (bruits de mesure, variations de paramètres) Utilisation de la commande par mode glissant intégral.

Solution 1 Mode glissant : principe Introduction Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Position du problème Considérons un système non linéaire où x R n et u R n : ẋ = f(x) + g(x)u + h(t, x) la perturbation vérifie la condition matching : h(t, x) spang(x) la perturbation est bornée par une fonction scalaire connue : h(t, x) Π(t, x)

Solution 1 Mode glissant : principe Introduction Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Synthèse Une surface s = s(x, t) = 0 est déterminée en fonction des objectifs de commande Une loi de commande discontinue est synthétisée de manière à contraindre les trajectoires du système à atteindre et, ensuite, à rester sur cette surface.

Solution 1 Mode glissant : avantage et inconvénients Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Avantages Insensibilité aux perturbations (matching perturbations) Diminution de l ordre Le choix de la surface s(x, t) = 0 permet de fixer a priori la dynamique du système bouclé Inconvénients Phénomène de chattering Les trajectoires solutions ne sont pas robustes vis à vis des incertitudes pendant la phase précédent le glissement (phase d accrochage)

Solution 1 Mode glissant : avantage et inconvénients Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Avantages Insensibilité aux perturbations (matching perturbations) Diminution de l ordre Le choix de la surface s(x, t) = 0 permet de fixer a priori la dynamique du système bouclé Inconvénients Phénomène de chattering Les trajectoires solutions ne sont pas robustes vis à vis des incertitudes pendant la phase précédent le glissement (phase d accrochage)

Solution 1 Mode glissant intégral : principe Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Philosophie du mode glissant intégral Eliminer la phase d accrochage en forçant le régime glissant durant toute la réponse du système. La commande équivalente de u 1 (notée u 1eq ), caractérisant la dynamique du système en mode glissant, doit satisfaire la condition suivante : g(x)u 1eq = h.

Solution 1 Mode glissant intégral : principe Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Philosophie du mode glissant intégral Eliminer la phase d accrochage en forçant le régime glissant durant toute la réponse du système. La commande équivalente de u 1 (notée u 1eq ), caractérisant la dynamique du système en mode glissant, doit satisfaire la condition suivante : g(x)u 1eq = h.

Solution 1 Mode glissant intégral : principe Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Principe La loi de commande se décompose en 2 parties : u = u 0 + u 1 u 0 la commande nominale u 1 la commande discontinue permettant de rejeter les perturbations h(t, x)

Solution 1 Mode glissant intégral : principe Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Principe La loi de commande se décompose en 2 parties : u = u 0 + u 1 u 0 la commande nominale u 1 la commande discontinue permettant de rejeter les perturbations h(t, x)

Solution 1 Mode glissant intégral : principe Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Principe La loi de commande se décompose en 2 parties : u = u 0 + u 1 u 0 la commande nominale u 1 la commande discontinue permettant de rejeter les perturbations h(t, x)

Solution 1 Mode glissant intégral : principe Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Commande nominale La commande nominale u 0 (x) est construite de manière à ce que le système non perturbé soit globalement asymptotiquement stable. Le système bouclé nominal s écrit : ẋ 0 = f(x 0 ) + g(x 0 )u 0 x 0 est la trajectoire du système sous la commande u 0

Solution 1 Mode glissant intégral : principe Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Construction de la variable glissante s = s 0 + z s 0 : est une combinaison linéaire de l état z : induit l appellation intégrale et fournit un degré de liberté supplémentaire dans la construction de la surface de glissement.

Solution 1 Mode glissant intégral : principe Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Construction de la variable glissante s = s 0 + z s 0 : est une combinaison linéaire de l état z : induit l appellation intégrale et fournit un degré de liberté supplémentaire dans la construction de la surface de glissement.

Solution 1 Mode glissant intégral : principe Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Construction de la variable glissante s = s 0 + z s 0 : est une combinaison linéaire de l état z : induit l appellation intégrale et fournit un degré de liberté supplémentaire dans la construction de la surface de glissement.

Solution 1 Mode glissant intégral : principe Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Idée Calculer z de telle sorte que u 1 rejette la perturbation h dès l instant initial. ṡ = ṡ 0 + ż = s 0 x (f(x) + g(x)u 0(x) + g(x)u 1 + h(t, x)) + ż = 0 Pour être sur la surface glissante s = 0 (t 0), on doit satisfaire : ż = s 0 x (f(x) + g(x)u 0(x)) z(0) = s 0 (x(0))

Solution 1 Mode glissant intégral : principe Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Idée Calculer z de telle sorte que u 1 rejette la perturbation h dès l instant initial. ṡ = ṡ 0 + ż = s 0 x (f(x) + g(x)u 0(x) + g(x)u 1 + h(t, x)) + ż = 0 Pour être sur la surface glissante s = 0 (t 0), on doit satisfaire : ż = s 0 x (f(x) + g(x)u 0(x)) z(0) = s 0 (x(0))

Solution 1 Mode glissant intégral : principe Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Mode glissant intégral La commande discontinue u 1 est définie pour assurer le mode glissant le long de la surface glissante via la fonction discontinue suivante : u 1 = M(x)sign(s) Ainsi, la dynamique du système en mode glissant est ẋ = f(x) + g(x)u 0 (x) qui est exactement la même que pour le système nominal.

Solution 1 Mode glissant intégral : principe Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Mode glissant intégral La commande discontinue u 1 est définie pour assurer le mode glissant le long de la surface glissante via la fonction discontinue suivante : u 1 = M(x)sign(s) Ainsi, la dynamique du système en mode glissant est ẋ = f(x) + g(x)u 0 (x) qui est exactement la même que pour le système nominal.

Solution 1 Mode glissant intégral : principe Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Preuve Fonction candidate Dérivée : V = s T s V ɛ V Temps fini Avantages Elimination de la phase d accrochage Les propriétés de robustesse sont garanties dès l instant initial

Résultats Integral sliding mode control Introduction Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe y (dm) 15 10 5 0 5 10 15 20 10 x (dm) 0 10 20 Performance avec la commande idéale (dashed : reference, solid : actual model)

Résultats Introduction Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Suivi de trajectoire avec la commande par mode glissant intégral. y (dm) 20 15 10 5 0 5 10 15 (a) 20 10 x (dm) 0 10 20 (a) x-y plot (dashed : reference, solid : actual model)

Résultats Introduction Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Evolution des erreurs de suivi 6 (b) 8 (c) 4 6 2 4 e x e y 0 2 2 0 4 0 5 10 15 20 25 30 t 2 0 5 10 15 20 25 30 t (b) Erreur e x (dm). (c) Erreur e y (dm). 60 50 40 30 (d) e θ 20 10 0 10 0 5 10 15 20 25 30 t (d) Erreur e θ (degree).

Résultats Introduction Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Evolution des commandes. 6 (e) 5 4 u 3 2 1 v 0.5 (f) 0.45 0.4 0.35 0.3 0.25 0.2 0 0 5 10 15 20 25 30 t (e) Vitesse linéaire u(dm/s). 0.15 0 5 10 15 20 25 30 t (f) Vitesse angulaire w(rad/s)

Solution 2 : Suivi coopératif Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Motivations Réduction de la tâche de planification pour la flottille. Assurer la coordination des robots par l utilisation d une loi de commande appropriée Maintenir la forme géométrique de la flottille durant la manoeuvre (cas d une formation géométrique fixe) Garantir la non collision entre les robots malgré les incertitudes Décentraliser l information

Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Modélisation de l architecture de type meneur-suiveur Expression de l état du robot suiveur R j en fonction de ses coordonnées relatives par rapport à R i (coordonnées polaires realtives) : distance de séparation l ij = (x i x j d cos θ j ) 2 + (y i y j d sin θ j ) 2 angle relatif ( ) yi + y j + d sin θ j ψ ij = π θ i arctan x i x j d cos θ j

Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe

Dynamique du suiveur Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe { ḣij = G ij (h ij, θ j )u j + F ij (h ij )u i + P ij (h ij, θ j ) avec θ j = w j h ij = [l ij, ψ ij ] T, γ ij = ψ ij + θ i θ j G ij = cos γ ij d sin γ ij sin γ ij d cos γ ij, F ij = cos(ψ ij) 0 sin ψ ij 1 l ij l ij l ij P ij perturbations inconnues : u i commande du robot leader R i

Commande des robots suiveurs Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Objectif Trouver une loi de commande garantissant le suivi robuste de la configuration constante désirée l ij, ψ ij. Stabiliser les erreurs de suivi : (l ij l ij, ψ ij ψ ij ) malgré les perturbations. Pré feedback u j = G 1 ij (ũ ideal,j + ũ disc,j )

Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Solution basée sur la commande par mode glissant intégral Terme continu ũ ideal,j = [ ] µj (l ij l ij ) ν j (ψ ij ψ ij ) Terme discontinu ũ disc,j = b j Sign(s j ) Surface de glissement s j = e ij (t) t 0 ũ ideal,j (s)ds e ij (0)

Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Solution basée sur la commande par mode glissant intégral Théorème Le contrôleur ũ j = ũ ideal,j + ũ disc,j. assure que les erreurs de suivi sont globalement asymptotiquement stables et assure l évitement de collision durant la phase de transition puisque la phase d accrochage est éliminée.

Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Simulation pour deux robots mobiles R 1 doit suivre une trajectoire circulaire malgré les erreurs de localisation et les perturbations. R 2 doit suivre R 1 en maintenant la formation. Forme géométrique désirée : l 12 = 6m ψ 12 = π 4.

Résultats pour 2 robots Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe erreur 2.5 2 1.5 1 0.5 0 0.5 e x,1 e y,1 e θ,1 erreur sur la formation 1 0.5 0 0.5 d l l12 12 d ψ ψ12 12 1 0 2 4 6 8 10 t (s) 0 2 4 6 8 10 t(s) Erreur de suivi pour le robot leader et erreur sur le maintien de la formation

Application à une flottille de 4 robots Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe

Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe Application à une flottille de 4 robots Erreur initiale sur la localisation des robots. Forme désirée de la formation : Forme géométrique désirée de la flottille V avec un alignement des robots R 1, R 3 et R 4 : l 12 = 6m ψ 12 = π 4 l 13 = 4m ψ 13 = π 2 l 34 = 4m ψ 34 = π 2.

Résultats pour 4 robots Motivations Solution 1 : Suivi individuel Solution 2 : Suivi coopératif Simulation pour une flottille complexe 5 y(m) 0 R 2 5 R 1 R 3 15 20 R 4 25 30 x(m)

En cours Construction de loi de commande par mode glissant intégral d ordre 2 afin de limiter le phénomène de chattering et de prendre en compte le modèle dynamique. Généralisation du principe à tous les ordres. Application à une flottille de robots réels (pekee puis miabots) Idée de base Contraindre les trajectoires d état à glisser sur l ensemble S r = {x s = ṡ =... = s (r 1) = 0} S r : ensemble de glissement d ordre r.