• Aucun résultat trouvé

DESCRIPTION DU PROBL ` EME 45 De plus, les obstacles pr´esents dans l’environnement et suppos´es stationnaires apportent le volet

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 Li1(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