Algorithmes pour la planification de mouvements en robotique non-holonome



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.

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

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


Fonctions de plusieurs variables

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

I. Polynômes de Tchebychev

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

NOTATIONS PRÉLIMINAIRES

3 Approximation de solutions d équations

Limites finies en un point

Programmation linéaire

Chapitre 0 Introduction à la cinématique

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

Cours d Analyse. Fonctions de plusieurs variables

Rupture et plasticité

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

Résolution d équations non linéaires

Image d un intervalle par une fonction continue

Chapitre 11. Séries de Fourier. Nous supposons connues les formules donnant les coefficients de Fourier d une fonction 2 - périodique :

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

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

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

Chapitre 1 Régime transitoire dans les systèmes physiques

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.

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

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Cours d analyse numérique SMI-S4

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

Texte Agrégation limitée par diffusion interne

Cours IV Mise en orbite

Capes Première épreuve

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

Erreur statique. Chapitre Définition

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

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

Fonctions de deux variables. Mai 2011

Programmes des classes préparatoires aux Grandes Ecoles

Continuité d une fonction de plusieurs variables

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

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

Exercices Corrigés Premières notions sur les espaces vectoriels

Équations non linéaires

Les Conditions aux limites

Amphi 3: Espaces complets - Applications linéaires continues

Continuité et dérivabilité d une fonction

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

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

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

Correction de l examen de la première session


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

Michel Henry Nicolas Delorme

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

Suites numériques 3. 1 Convergence et limite d une suite

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

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

NOTICE DOUBLE DIPLÔME

OM 1 Outils mathématiques : fonction de plusieurs variables

Théorie et codage de l information

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

Les équations différentielles

La fonction exponentielle

Continuité en un point

Approximations variationelles des EDP Notes du Cours de M2

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

Calcul différentiel sur R n Première partie

Cours de Mécanique du point matériel

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

G.P. DNS02 Septembre Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3. Réfraction

Filtrage stochastique non linéaire par la théorie de représentation des martingales

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

Polynômes à plusieurs variables. Résultant

Chp. 4. Minimisation d une fonction d une variable

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

TD1 PROPAGATION DANS UN MILIEU PRESENTANT UN GRADIENT D'INDICE

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

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

EXERCICE 4 (7 points ) (Commun à tous les candidats)

Représentation géométrique d un nombre complexe

CHAPITRE IV Oscillations libres des systèmes à plusieurs degrés de liberté

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

Télécom Physique Strasbourg Université de Strasbourg. Robotique mobile. Bernard BAYLE

Table des matières. Introduction Générale 5

Manipulateurs Pleinement Parallèles

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

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

Problème 1 : applications du plan affine

Chapitre 1 Cinématique du point matériel

Programmation linéaire et Optimisation. Didier Smets

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Cours 7 : Utilisation de modules sous python

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.

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

Module d Electricité. 2 ème partie : Electrostatique. Fabrice Sincère (version 3.0.1)

Chapitre 5 : Flot maximal dans un graphe

Notion de fonction. Résolution graphique. Fonction affine.

Correction du baccalauréat S Liban juin 2007

Intégration et probabilités TD1 Espaces mesurés Corrigé

Transcription:

Algorithmes pour la planification de mouvements en robotique non-holonome Frédéric Jean Unité de Mathématiques Appliquées ENSTA Le 02 février 2006 Outline 1 2 3

Modélisation Géométrique d un Robot Robot = point dans E, espace des configurations En général, E = un ouvert d un R n ou une variété Exemple type La voiture simplifiée (ou unicycle) : (x, y, θ) E = R 2 S 1 ou R 3 Obstacles = ensemble fermé O E y θ espace de travail = E \ O x Modélisation du Mouvement Deux types de robots : holonome : pas de restriction sur le déplacement tout chemin dans E est un mouvement autorisé non-holonome : soumis à des contraintes cinématiques mouvements autorisés = chemins q(t) dans E t.q. q(t) V q(t) R n t Voiture = robot non-holonome Contrainte de roulement sans glissement : ẋ sin θ ẏ cos θ = 0 ẋ 0 cos θ = q = ẏ Vect 0, sin θ R3 θ 1 0

Exemples de Robots Non-Holonomes Contraintes de roulement sans glissement : robots mobiles à roues ; manipulation par des mains robotisées. Conservation du moment angulaire : robots manipulateurs flottant dans l espace ; satellites avec roues à inertie ; robots astronautes, plongeurs, sauteurs (phase de vol). Autres sources de contraintes non-holonomes : loi de Lorentz-Wong en électromagnétisme ; réduction par symétrie de cinématiques holonomes. Problème de la Planification des Mouvements Problème (PPM) Étant données deux configurations q 0 et q 1 E, trouver un chemin faisable q(t), t [0, T ], dans E t.q. q(0) = q 0 et q(t ) = q 1

Point de Vue de la Théorie du Contrôle En général, pour q fixé, V q = partie d un SEV, i.e. V q = { u 1 f 1 (q)+ +u m f m (q) : u U R m} (m < n) où f i : E R n R n est appelé un champ de vecteurs. q(t) est un chemin faisable il existe u : [0, T ] U q(t) = u 1 (t)f 1 ( q(t) ) + + um (t)f m ( q(t) ) t.q. Chemins faisables = trajectoires du système non-holonome q = u 1 f 1 (q) + + u m f m (q), où u = (u 1,..., u m ) U est le contrôle. Exemple de la Voiture Système de contrôle : q = u 1 f 1 (q) + u 2 f 2 (q) avec les champs de vecteurs 0 cos θ f 1 (q) = 0, f 2 (q) = sin θ 1 0 et le contrôle u = (u 1, u 2 ) : { u 1 = θ vitesse angulaire u 2 = ± ẋ 2 + ẏ 2 vitesse tangentielle u 1 u 2

Reformulation du PPM Problème de la Planification des Mouvements Étant données deux configurations q 0 et q 1 E, trouver une loi de contrôle u(t), t [0, T ], dans U t.q. la solution de { q(t) = u 1 (t)f 1 ( q(t) ) + + um (t)f m ( q(t) ) q(0) = q 0 vérifie q(t ) = q 1 (i.e. u( ) amène le système de q 0 à q 1 ). Classe des Contrôles En théorie, contrôle = fonction intégrable (L 1 ) En pratique, contrôle = fonction continue par morceaux Cas des extensions dynamiques : Très souvent, le contrôle physique est u, et non u. Exemple : contrôles réels de la voiture { u 1 = θ accélération angulaire (via le volant) u 2 accélération tangentielle (accélérateur/frein) Même formulation pour le PPM, mais u(t)= fonction dérivable et contrôle réel = u.

Décidabilité du PPM Dans toute la suite, robot = système non-holonome Problème de la commandabilité Étant données deux configurations q 0 et q 1 E, existe-t-il une loi de contrôle u( ) dans U amenant le système de q 0 à q 1? Si c est toujours le cas, le système est dit commandable. Crochets de Lie Exemple de la Voiture Contrainte : direction transverse interdite créneau possible = voiture = système commandable Explication Créneau = suivre f 2, puis f 1, puis f 2, puis f 1. Or : e tf 1 e tf 2 e tf 1 e tf 2 (q 0 ) = e t 2 [f 1,f 2 ] (q 0 ) + o(t 2 ), où [f 1, f 2 ](q) = Df 2 (q) f 1 (q) Df 1 (q) f 2 (q) crochet de Lie. Pour la voiture, [f 1, f 2 ] = sin θ cos θ = direction transverse 0

Algèbre de Lie Définition Lie(q) = l ensemble des combinaisons linéaires de f 1 (q),..., f m (q), tous les [f i, f j ](q), pour i, j {1,..., m}, tous les [[f i, f j ], f k ](q), pour i, j, k {1,..., m}, est appelé l algèbre de Lie du système. Remarque : Lie(q) est un sous-espace vectoriel de R n. Pour la voiture, Lie(q) = R 3. (Σ) q = u 1 f 1 (q) + + u m f m (q), q E, u U Théorème de Chow (1938) Supposons E R n ouvert, connexe et U R m contient Vois(0). Si dim Lie(q) = n q E le système (Σ) est commandable. Remarque : Dans ce cas, la commandabilité est vraie pour toutes les classes de contrôles denses dans L 1, par exemple C ou constants par morceaux.

Hypothèse Dans toute la suite, on supposera que la condition de Chow est satisfaite = Le PPM a toujours une solution. Remarque : Si la condition n est pas satisfaite, on peut généralement s y ramener en reparamétrant. Méthodes de Planification des Mouvements Quatre idées générales pour la planification : mimer les crochets de Lie (créneaux!) ; se ramener à un système connu ; utiliser une approximation du système ; déformer continûment une trajectoire. Méthodes existantes Nos axes de recherche

Méthodes Basées sur l Algèbre de Lie (Σ) q = u 1 f 1 (q) + + u m f m (q), q E Principe 1 Choisir des crochets de Lie g m+1,..., g n de f 1,..., f m t.q. Vect { } f 1,..., f m, g m+1,..., g n (q) = R n 2 Résoudre le PPM pour le système holonome q = v 1 f 1 (q) + + v m f m (q) + v m+1 g m+1 (q) + + v n g n (q). 3 Écrire v( ) en fonction du contrôle u( ) du système (Σ). Calcul de u(t) en Fonction de v(t) [Lafferriere/Sussmann, 1993] Pour q 1 suffisamment proche de q 0, on a : q 1 = e t 1f1 e t m f m e t m+1g m+1 e t n g n (q 0 ) v( ) Pour chaque g i, e sg i = j e αj i (s)f i j + o(s). Donc i,j e αj i (t i )f ij (q 0 ) = q 1 + o( t ) := q (1) u (1) ( ) En itérant à partir de q (1), on obtient une suite q (k), q (k) q 1 quand k.

Exemple de la Voiture Soient q 0 = 0 et q 1 = (x, y, θ) Choisissons g 3 = [f 1, f 2 ] : q 1 = e θf 1 e xf 2 e yg 3 (0) i.e. v(t) = (0, 0, y), puis (0, x, 0), puis (θ, 0, 0) Pour y 0, e y[f 1,f 2 ] = e yf 1 e yf 2 e yf 1 e yf 2 + o(y), q (1) = e θf 1 e xf 2 e yf 1 e yf 2 e yf 1 e yf 2 (0) = q 1 + o( q 1 ) u (1) (t) = (0, y), puis ( y, 0), puis... Calcul de u(t) en Fonction de v(t) Autre Solution [Sussmann/Liu, 1991] Utiliser des contrôles oscillants de fréquence et amplitude arbitrairement grands. Exemple de la voiture Prenons q 0 = 0 et q 1 = (0, y, 0) = e yg 3 (0), i.e. v(t) (0, 0, y). Appliquons u N (t) = N ( cos(nt), sin(nt) ). Quand N : q N (t) ( 1 cos(nt), t N 2, sin(nt) ) N q N (2) q 1.

Inconvénients Contrôles de très mauvaise qualité : soit grand nombre de manœuvres et non dérivables ; soit très oscillants. Convergence locale. Méthode itérative. Systèmes Équivalents Principe Transformer (Σ) en un système connu. Transformation par chgt de coordonnées et retour d état : z = φ(q), v = A(q)u un système équivalent à (Σ) (mêmes trajectoires) : ż = v 1 f1 (z) + + v m fm (z), où f = φ f transport de f par φ.

Classes de Systèmes Connus On sait résoudre le PPM pour : les systèmes linéaires : ẋ = Ax + Bu MAIS, si (Σ) non-holonome (m < n) et commandable, (Σ) n est jamais équivalent à un syst. linéaire ; les systèmes nilpotents ; les systèmes chaînés (systèmes nilpotents particuliers). Systèmes Nilpotents Définition (Σ) est nilpotent d ordre k si tous les crochets de Lie itérés des f 1,..., f m de longueur > k sont nuls. Intérêt : La formule du créneau est exacte : si g crochet de Lie, e tg = j e αj (t)f ij = la méthode de planification [LafSu93] est : directe (pas d itération), exacte et globale.

Systèmes Nilpotents (Suite) Le système est polynômial et de forme triangulaire : q i = m u j pol i (q 1,..., q i 1 ) j =1 intégrable avec des commandes polynômiales. Inconvénients majeurs : nilpotentisation = propriété non générique ; pas de critère général de nilpotentisation. [E. Cartan, Goursat] Nilpotentisation de la Voiture En appliquant la transformation z = φ(q), v = A(q)u : z 1 = x cos θ + y sin θ z 2 = θ z 3 = x sin θ y cos θ, { v1 = u 2 u 1 z 3 v 2 = u 1 le système s écrit ż 1 = v 1 ż 2 = v 2 ż 3 = v 2 z 1 f 1 (z) = 1 0 0, f2 (z) = 0 1 z 1 On a [ f 1, f 2 ] = (0, 0, 1) et tous les autres crochets sont nuls.

Systèmes Chaînés Définition [Murray/Sastry, 1991] (Σ) est un système chaîné s il s écrit (m = 2) : q 1 = u 1 q 2 = u 2 q 3 = u 1 q 2. q n = u 1 q n 1 Intérêt : facile à commander (nilpotent) ; il existe une CNS pour la mise sous forme chaînée ; systèmes linéarisables dynamiquement (systèmes plats). Algorithmes par Approximation [F. Jean, J-P. Laumond, G. Oriolo, M. Vendittelli, 2001-2006] Principe 1 Choisir un système : ( Σ) q = m u i fi (q), i=1 t.q. ( Σ) est une approximation de (Σ) en q 1, on a une solution du PPM pour ( Σ). 2 Choisir u( ) amenant ( Σ) de q 0 à q 1. 3 Appliquer u( ) à (Σ) à/p de q 0 q (1) := Approx(q 0, q 1 ). 4 Itérer le processus q (k+1) := Approx(q (k), q 1 ).

Convergence Que faut-il pour obtenir un algorithme convergent? Localement : la fonction Approx doit être contractante, i.e. pour chaque q 1, β(q 1 ) > 0 t.q. d(q (k), q 1 ) < β(q 1 ) = d(q (k+1), q 1 ) 1 2 d(q(k), q 1 ), pour une distance d à définir. Globalement : Approx uniformément contractante (β indépendant de q 1 ). Algorithme Global Algorithme de type régions de confiance : Étape k q (k) = point courant β k = rayon de confiance q (k+1) 1 calculer q (k) 1 ; 2 q (k+1) := Approx(q (k), q (k) 1 ) ; q (k) β k q 1 (k) q 1 3 if d(q (k+1), q (k) 1 ) < 1 2 d(q(k), q (k) 1 ) sous but but then β k+1 := β k else β k+1 := β k /2 algorithme convergent si Approx uniformément contractante.

La Fonction Approx Il reste à construire une fonction Approx unif t contractante. Rappel : définition de Approx(q 0, q 1 ) 1 Soit un système : ( Σ) q = m u i fi (q), i=1 t.q. ( Σ) est une approximation de (Σ) en q 1, on peut calculer u( ) amenant ( Σ) de q 0 à q 1. 2 Appliquer u( ) à (Σ) q (1) := Approx(q 0, q 1 ). 3 Approx unif t contractante si d(q 0, q 1 ) < β = d(q (1), q 1 ) 1 2 d(q 0, q 1 ). Approximation au 1er Ordre Linéarisé de (Σ) en q 1 : ẋ = m v i f i (q 1 ) non commandable (si m < n) On utilise une approximation non-holonome au 1er ordre [Agrachev, Hermes, Stefani, Bellaïche, Jean... 90 s] i=1 Pour la voiture, où f 1 = (0, 0, 1) et f 2 = (cos θ, sin θ, 0) : linéarisé en q = 0 : f 1 (0) = (0, 0, 1), f 2 (0) = (1, 0, 0) approx o NH en q = 0 : f1 = (0, 0, 1), f2 = (1, θ, 0)

Distance de Contrôle Distance de contrôle (ou distance sous-riemannienne) : d(q 0, q 1 ) = inf long(u) parmi les u : q 0 q 1, où long(u) = T 0 u 2 1 (t) + + u2 m(t)dt. Si ( Σ) approximation NH de (Σ) en q 1, d ( Approx(q 0, q 1 ), q 1 ) = O ( d(q0, q 1 ) 1+ε) (à condition que la commande u( ) pour ( Σ) ne soit pas trop grande). Cas Générique Théorème Pour un système (Σ) générique, il existe une approximation non-holonome ( Σ) telle que : ( Σ) a une expression algébrique en fonction de (Σ) ; [ facile à calculer] ( Σ) est un système nilpotent ; [ facile à commander] une fonction Approx basée sur ( Σ) est unif t contractante. [ l algorithme global converge]

Méthode de Continuation Principe 1 choisir un contrôle u 0 ( ) ; 2 appliquer u 0 ( ) à (Σ) à/p de q 0 q ; 3 choisir un chemin γ(s), s [0, 1], reliant q à q 1 ; 4 déformer u 0 ( ) en u s ( ), qui amène (Σ) de q 0 à γ(s) ; 5 u 1 ( ) = solution du PPM. Déformation Application point final en q 0 et T : End : u( ) q u (T ) où q u ( ) trajectoire de (Σ) associée à u( ) partant de q 0. u s ( ) défini par End(u s ) = γ(s) dend(u s ) dus ds = dγ ds (s). Si dend(u s ) surjective, un pseudo-inverse dend(u s ) # u s = solution de l équation différentielle : du s ds = dend(us ) # dγ ds (s) u s s=0 = u 0 s [0, 1]

Caractéristiques Intérêt Méthode exacte, sans itération Contrôles obtenus très réguliers Très bon comportement numérique Permet de prendre en compte des obstacles Inconvénient Pas au point!! Difficulté Déf : u est un contrôle singulier si dend(u) non surjective. L EDO donnant u s n est définie que sur les contrôles non singuliers phénomène d explosion près des contrôles singuliers : solution u s pas toujours définie en s = 1 Programme Caractériser les contrôles singuliers. Montrer que l EDO les évite (ou la modifier pour les éviter).

État de l Art Preuves de convergence et simulations Pour une classe de systèmes sans contrôles singuliers [Chitour/Sussmann, 1993-2006] Pour un cas particulier avec contrôles singuliers connus [Alouges/Chelouah/Chitour, 2003] Étude des contrôles singuliers Caractérisation des contrôles singuliers pour les systèmes génériques (au sens fort) [Chitour/Jean/Trélat, 2006] Et voilà...