Planification de trajectoire : cadre mono-robot
2.2. DESCRIPTION DU PROBL ` EME 45 De plus, les obstacles pr´esents dans l’environnement et suppos´es stationnaires apportent le volet
g´eom´etrique du probl`eme. Ainsi, l’espace des configurationsQi est divis´e en deux :
– l’espace occup´eQi,occupe caract´erisant les r´egions o`u un risque de collision existe,
– l’espace libre Qi,libre caract´erisant les r´egions dans lesquelles le robot peut se d´eplacer en toute s´ecurit´e.
N´eanmoins, il convient de noter que lorsque l’environnement est explor´e en ligne, seule une zone autour du robot, correspondant `a ses possibilit´es de d´etection et de localisation des obstacles avec pr´ecision, est prise en compte lors de la g´en´eration de trajectoire.
D´efinition 2.2 ∀ tk ∈ [tinitial, tf inal], on d´efinit la zone de d´etection Di(tk) ⊂ Qi comme l’espace autour du robot d’indice i dans lequel l’environnement est parfaitement connu `a l’instant tk.
D´efinition 2.3 ∀ tk∈ [tinitial, tf inal], on d´efinit la zone obstacle Oi(tk) par : Oi(tk) =Di(tk)\
Qi,occupe
Notons que l’espace Oi(tk) d´epend du temps et ´evolue lorsque le robot se d´eplace et d´ecouvre de nouveaux obstacles. Les ´el´ements de l’environnement non d´etect´es ne sont pas pris en compte `a l’instant tk (voir figure 2.2-2.3).
yi(0) xi(0) −→i − →j O zone obstacleOi(0)
zone de d´etection du robot
Fig. 2.2 – Zone obstacle `a l’instant tk = 0s.
yi(1s) xi(1s) −→i − →j O zone obstacleOi(1s)
zone de d´etection du robot
Fig. 2.3 – Zone obstacle `a l’instant tk= 1s.
Remarque 2.3 Comme il est fait couramment en pratique, les obstacles sont augment´es par les di-mensions du robot de mani`ere `a ce que le v´ehicule puisse ˆetre consid´er´e comme un point dans l’espace des configurations [Latombe, 1991].
Afin de mod´eliser simplement l’ensembleOi(tk) et de simplifier l’expression des contraintes d’´evite-ment d’obstacles, on utilise un recouvred’´evite-ment de Mi disques1. Par cons´equent, l’ensemble Oi(tk) se 1Notons ´egalement que ce recouvrement de disques permet de mod´eliser les obstacles de forme quelconque ainsi que les zones inconnues (faces cach´ees, . . . ) assimil´ees `a des r´egions de l’environnement o`u un risque de collision existe.
d´ecompose de la fa¸con suivante :
Mi [ mi=1
Omi ≈ Oi(tk) (2.2.7)
Chaque disque Omi est d´efini par les coordonn´ees de son centre (Xmi, Ymi) et son rayon rmi (1≤ mi ≤ Mi).
Pour ´eviter les collisions, la distance entre le robot et les obstacles d´etect´es Omi `a l’instant t, i.e. di,Omi(t) =q
(xi(t)− Xmi)2+ (yi(t)− Ymi)2 doit satisfaire :
di,Omi(t)≥ ρi+ rmi, ∀ t ∈ [tk, tk+ Tp] , ∀ Omi ∈ Oi(tk) (2.2.8) o`u Tp∈ R+ est l’horizon de planification.
2.3 Algorithme hors ligne de g´en´eration de trajectoire
2.3.1 Mise sous forme d’un probl`eme de commande optimale
Dans le cadre d’une planification hors ligne, la carte de l’environnement est enti`erement connue. L’horizon de planification Tp∈ R+, qui correspond `a la longueur de l’intervalle de temps sur lequel la fonction crit`ere est ´evalu´ee, est :
Tp = tf inal− tinitial (2.3.1)
Le probl`eme de planification de trajectoire peut ˆetre mis sous la forme du probl`eme de commande optimale suivant : d´eterminer la trajectoire optimale qi,ref(t) et la commande associ´ee ui,ref(t) dans l’intervalle de temps [tinitial, tf inal] qui minimise la fonction crit`ere :
J =
Z tf inal
tinitial
Li(qi, ui, t)dt (2.3.2)
sous les contraintes : ∀ t ∈ [tinitial, tf inal] :
˙qi(t) = fi(qi(t), ui(t)) (2.3.3)
qi(tinitial) = qi,initial (2.3.4)
qi(tf inal) = qi,f inal (2.3.5)
ui(tinitial) = ui,initial (2.3.6)
ui(tf inal) = ui,f inal (2.3.7)
ui(t) ∈ Ui (2.3.8)
di,Omi(t) ≥ ρi+ rmi, ∀ Omi ∈ Qi,occupe (2.3.9)
2.3. ALGORITHME HORS LIGNE DE G ´EN ´ERATION DE TRAJECTOIRE 47 Dans la litt´erature, des conditions n´ecessaires d’optimalit´e ont ´et´e introduites pour le probl`eme d’optimisation sous contraintes (voir les ouvrages [Pontryagin et al., 1962, Bryson et Ho, 1975]). Ce-pendant, les solutions analytiques du probl`eme g´en´eral d’optimisation sont difficiles `a d´eterminer (voire impossibles). Dans ce m´emoire, on utilisera une alternative qui consiste `a utiliser des m´ethodes num´eriques directes afin de r´esoudre le probl`eme.
2.3.2 Platitude et planification de trajectoire
Nous allons voir que dans le cas des syst`emes plats, le probl`eme de commande optimale peut ˆetre r´esolu tr`es simplement sans avoir `a int´egrer les ´equations du syst`eme.
Les conditions de platitude reviennent `a dire qu’il existe une sortie plate zi telle que toutes les variables du syst`eme puissent s’exprimer en fonction de la sortie plate et d’un nombre fini de ses d´eriv´ees et que les ´equations diff´erentielles du syst`eme sont identiquement v´erifi´ees. Il en r´esulte que si l’on veut construire des trajectoires dont les conditions initiales et finales sont sp´ecifi´ees, il suffit de calculer la trajectoire de la sortie plate correspondante. Ceci ´evite d’int´egrer les ´equations diff´erentielles du syst`eme (voir figure 2.4). Plus pr´ecis´ement, supposons que
(
qi = ϕ1(zi, ˙zi, . . . , z(li−1)
i )
ui = ϕ2(zi, ˙zi, . . . , z(li)
i ) (2.3.10)
Puisque les valeurs initiales et finales de qi et ui sont donn´ees, la surjectivit´e de ϕ1 et ϕ2 permet de d´eterminer des valeurs initiales et finales de zi, ˙zi, . . . , z(li)
i . Il suffit ensuite de trouver une trajectoire zi(t) au moins lifois d´erivable qui satisfait ces conditions initiales et finales puisque qiet uise d´eduisent de zi et de ses d´eriv´ees jusqu’`a l’ordre li en utilisant (2.3.10).
Une fois que les contraintes ainsi que la fonctionnelle `a minimiser sont ´ecrites en fonction de la sortie plate et de ses d´eriv´ees jusqu’`a l’ordre li, la probl`eme de commande optimale se r´eduit `a trouver la trajectoire optimale des sorties plates minimisant :
J = Z tf inal tinitial Li(ϕ1(zi, ˙zi, . . . , z(li−1) i ), ϕ2(zi, ˙zi, . . . , z(li) i ), t)dt (2.3.11)
sous les contraintes :∀ t ∈ [tinitial, tf inal] : ϕ1(zi(tinitial), . . . , z(li−1) i (tinitial)) = qi,initial ϕ1(zi(tf inal), . . . , z(li−1)
i (tf inal)) = qi,f inal ϕ2(zi(tinitial), . . . , z(li)
i (tinitial)) = ui,initial ϕ2(zi(tf inal), . . . , z(li)
i (tf inal)) = ui,f inal ϕ2(zi(t), . . . , z(li)
i (t)) ∈ Ui
di,Omi(t) ≥ ρi+ rmi, ∀ Omi ∈ Qi,occupe
(2.3.12)
Par construction, les trajectoires qi(t) et ui(t) obtenues en rempla¸cant zi et ses d´eriv´ees par leur valeur en fonction du temps dans (2.3.10) satisfont identiquement, par d´efinition des syst`emes plats,
Espace d’´etat et commande Espace plat zi(tinitial), . . . , z(li) i (tinitial) zi(tf inal), . . . , z(li) i (tf inal) qi(tinitial), ui(tinitial) qi(tf inal), ui(tf inal)
Fig. 2.4 – Platitude et planification de trajectoire.
les ´equations diff´erentielles du syst`eme. En cons´equence, le nombre de variables dans le probl`eme de commande optimale est r´eduit. Ceci permet de diminuer le temps de calcul.
2.3.3 Sp´ecification de la sortie plate par une fonction spline
Afin de transformer le probl`eme de commande optimale en un probl`eme de programmation non lin´eaire, il est n´ecessaire de param´etriser la sortie plate.
Choix des fonctions B-splines
De nombreuses courbes peuvent ˆetre utilis´ees pour sp´ecifier la sortie plate (s´erie de Fourier, po-lynˆomes, . . . ). En plus de repr´esenter pr´ecis´ement une base de la solution du probl`eme de g´en´eration de trajectoire avec un nombre raisonnable de param`etres, il est n´ecessaire de pouvoir facilement choisir le degr´e de continuit´e de la courbe (classe Cli), sans ajouter de nouvelles contraintes, puisque qi et ui se d´eduisent de zi et de ses d´eriv´ees jusqu’`a l’ordre li.
Les polynˆomes peuvent r´esoudre en partie ces probl`emes puisqu’ils sont facilement ´evaluables et diff´erentiables. Cependant, se pose le probl`eme de l’utilisation d’un nombre ´elev´e de param`etres si l’horizon de planification est grand. Un autre probl`eme vient de la d´ependance globale des param`etres. C’est–`a–dire que si un ajustement est mauvais localement alors il sera mauvais pour l’ensemble de la courbe [Boor, 1978]. Ces difficult´es entraˆınent un temps de calcul tr`es important pour d´eterminer le
2.3. ALGORITHME HORS LIGNE DE G ´EN ´ERATION DE TRAJECTOIRE 49