4.4 G´en´eration de trajectoire par m´ethode variationnelle
4.5.2 D´etermination des param`etres initiaux de la trajectoire 102
u
∗(et la trajectoire d’´etat ˜s
∗associ´ee) garantissant que toutes les
con-traintes consid´er´ees soient respect´ees. Le processus de saturation est
d´ecrit en Section 4.5.3.
– Etape 2 : Mise `a jours des param`etres pet t
fafin de converger
vers l’´etat but
Une fois qu’une trajectoire faisable ˜u
∗est obtenue, il est possible de
v´erifier si son ´etat finals
f(d´efini au tempst
f) correspond `a l’´etat but
s
g. La fonction de coˆutJd´efinie lors du probl`eme d’optimisation (4.15)
est con¸cue pour ˆetre minimale lorsque cette condition est satisfaite. Si
l’´etat but n’a pas encore ´et´e atteint, les variations de J par rapport
aux param`etres (p, t
f) sont ´etudi´ees afin de la faire d´ecroˆıtre. Une
cor-rection cor
(p,tf)est alors calcul´ee et appliqu´ee sur ces param`etres (cf.
Section 4.5.4).
La convergence vers le but est atteinte lorsque la valeur de la fonction
de coˆut J est suffisamment faible. Si ce crit`ere n’est pas assur´e apr`es
un nombre fix´e d’it´erations de l’algorithme (dans le cas o`u la m´ethode
serait tomb´ee dans un minimum local), le processus d’optimisation est
stopp´e.
4.5.2 D´etermination des param`etres initiaux de la
tra-jectoire
Au cours de la premi`ere ´etape de l’algorithme 5, un ensemble de
param`etres permettant de calculer la trajectoire initiale doit ˆetre fourni. Le
succ`es de la m´ethode d’optimisation (dˆu aux minima locaux) et le nombre
d’´etapes requis pour converger vers le but d´ependent fortement du choix de
ces param`etres initiaux, il ne doit donc pas ˆetre n´eglig´e.
Une solution simple consiste `a d´eterminer ces param`etres analytiquement
`a partir d’une intuition sur le contrˆole `a appliquer : Par exemple, en calculant
la distance approximative `a parcourir par le robot entre les ´etats initiaux et
finaux, il est possible d’´evaluer la vitesse et le temps requis pour rejoindre
l’´etat but et d’en d´eduire le contrˆole `a appliquer. Cette m´ethode a
l’avan-tage d’ˆetre rapide `a calculer et de n´ecessiter peu de m´emoire, n´eanmoins il
peut en r`egle g´en´erale s’av´erer tr`es difficile de trouver une bonne heuristique
permettant de d´eterminer ces param`etres.
CHAPITRE 4. G ´EN ´ERATION DE TRAJECTOIRES AVEC
CONTRAINTE SUR LE TEMPS FINAL 103
initiaux contenant un ´echantillonnage de l’espace d’´etats-temps ainsi que
les param`etres requis pour atteindre chaque ´etat-temps de cette base. On
d´etermine alors les ´etats-temps de cette base (et les param`etres associ´es)
correspondant au mieux aux ´etats-temps initial et final entre lesquels une
trajectoire est g´en´er´ee. Une telle m´ethode permet en g´en´eral de r´eduire
consid´erablement le nombre d’´etapes de convergence n´ecessaires, n´eanmoins
sa taille en m´emoire peut ˆetre consid´erable si la dimension de l’espace d’´etat
du syst`eme est importante.
Cette seconde solution a ´et´e utilis´ee. La Fig. 4.8 illustre la m´ethode de
construction d’une base de param`etres initiaux pour notre g´en´erateur de
tra-jectoires Tiji : Soit l’´etat-temps initial (s
0, t
0) = {s
01, . . . , s
0n, t
0} et
l’´etat-temps final (s
g, t
g) = {s
g1, . . . , s
gn, t
g}. Nous ´echantillonnons alors chaque
caract´eristiques
i, i∈[1;n] de ces deux ´etats afin d’obtenir un ´echantillonage
r´egulier de l’espace des param`etres d’entr´ee de l’algorithme de g´en´eration de
trajectoire 5. Afin d’essayer de d´eterminer une trajectoire (et les param`etres
permettant de la g´en´erer) pour chacune de ces valeurs d’entr´ees, nous
util-isons un premier ensemble de trajectoire dont nous connaissons d´ej`a les
param`etres associ´es. Celles-ci peuvent par exemple ˆetre calcul´ees `a partir
d’un ´echantillonnage sur l’espace de contrˆole. Les noeuds (´etats-temps) de la
base les plus proches des ´etats terminaux des trajectoires d´ej`a calcul´ees sont
d´etermin´es (Fig. 4.8(a)). Tiji est alors utilis´e pour calculer les param`etres
requis pour atteindre ces noeuds en partant des param`etres des trajectoires
les plus proches (Fig. 4.8(b)). Nous essayons alors d’atteindre de proche
en proche les noeuds de l’´echantillonnage sur l’espace d’´etat-temps de cette
mani`ere (Fig. 4.8(c)). Le processus s’arrˆete lorsqueTijine trouve plus aucun
noeud atteignable sur l’´echantillonnage de l’espace d’´etats-temps.
4.5.3 Calcul d’une param´etrisation admissible de la
trajectoire
A partir des param`etres d’entr´ee (p, t
f) les diff´erents profils de la
trajec-toire de contrˆole ˜u peuvent ˆetre calcul´es (cf. (4.12)). Etant donn´e un
´etat-temps initials
0et l’expression analytique de ˜u ainsi obtenue, chaque ´etats(t)
de la trajectoire d’´etatss suivie par le syst`eme robotique est alors d´etermin´e
par l’int´egration de la dynamique du syst`eme :
s(t) = ˜s(p, t) =s
0+
Z
tf(p, t)dt,∀t ∈[0;t
f] (4.16)
Mˆeme si l’ensemble de param`etres initiaux fournit une trajectoire initiale
faisable, les corrections cons´ecutives appliqu´ees sur ces param`etres peuvent
104
4.5. TIJI : G ´EN ´ERATEUR DE TRAJECTOIRE AVEC CONTRAINTE
SUR LE TEMPS FINAL
(a) Initialisation (vuex×y) (b) Premi`ere it´eration (vuex×y)
(c) Seconde it´eration (vuex×y)
Figure 4.8 – Premi`eres ´etapes de la construction d’une base de param`etres
permettant de d´eterminer les param`etres initiaux `a fournir en entr´ee deTiji
afin de g´en´erer une trajectoire entre deux ´etats-temps : Lors de
l’initiali-sation, un ensemble de trajectoires initiales (bas´e sur un ´echantillonage du
contrˆole d’entr´ee) est fourni. On essaie alors d’atteindre l’ensemble des noeuds
de l’´echantillonnage sur l’espace d’´etats-temps proches des ´etats-temps
ter-minaux des trajectoires pr´ec´edemment calcul´ees. La base de param`etres est
alors construite de proche en proche au cours des it´erations suivantes `a partir
des noeuds de l’´echantillonnage sur l’espace d’´etats-temps d´ej`a atteints.
CHAPITRE 4. G ´EN ´ERATION DE TRAJECTOIRES AVEC
CONTRAINTE SUR LE TEMPS FINAL 105
la rendre infaisable (les contraintes sur le mouvement ou sur le temps final
peuvent ˆetre viol´ees). Afin d’´eviter ce probl`eme, nous proposons une
solu-tion permettant d’obtenir une trajectoire faisable quelque soit l’ensemble
de param`etres d’entr´ee : Pour ce faire, nous proc´edons `a la saturation des
diff´erents profils de contrˆole et d’´etat ne satisfaisant pas les contraintes du
syst`eme. Les diff´erentes ´etapes de ce processus de saturation sont d´ecrites
ci-dessous.
Application de la contrainte sur le temps final
La contrainte sur le temps final est consid´er´ee en premier lieu. Elle est
tr`es simplement prise en compte en empˆechant le param`etre d’entr´eet
fcor-respondant `a la dur´ee de la trajectoire de prendre une valeur en dehors de
l’intervalle de temps [t
min;t
max]. Un temps final appropri´e est donc obtenu
comme suit :
t
∗ f=
t
minsih
−t(t
f) = −t
f+t
min>0
t
maxsih
+t(t
f) = t
f−t
max>0
t
fsinon
(4.17)
Cette nouvelle valeur du temps final t
∗f
devient alors, durant la suite de
cette ´etape d’optimisation, le temps auquel sera ´evalu´e l’´etat final s
fde la
trajectoire d’´etats. Il reste donc `a prendre en compte les contraintes sur
le mouvement du syst`eme robotique. La section suivante d´ecrit alors leur
int´egration.
Saturation des profils de contrˆole et d’´etat non admissibles
Etant donn´e les param`etres d’entr´ee (p, t
∗f
) les profils des trajectoires de
contrˆoles et d’´etats peuvent ˆetre calcul´es `a partir des Eqs. (4.12) et (4.13).
Ces fonctions peuvent cependant d´epasser les contraintes sur le mouvement
i.e.lesbornes sur le contrˆole h
uet les bornes sur l’´etat du syst`emeh
ssur un
ou plusieurs intervalles de temps. Nous notons alors I
U(resp. I
S) l’ensemble
des intervalles des temps sur lesquels les bornes sur le contrˆole (resp. bornes
sur l’´etat) n’ont pas ´et´e respect´ees. A partir de la formalisation des bornes
sur le contrˆole et sur l’´etat donn´ees en Section 4.3.1, nous pouvons exprimer
ces intervalles comme suit :
n
I
U=nI
U 1, . . . ,I
U ko
|∀t∈I
U i, i∈[1;k],
∃u
j(t), j ∈[1;m], u
j(t)< u
jminor u
j(t)> u
jmax(4.18)
n
I
S=nI
S 1, . . . ,I
S lo
|∀t ∈I
S i, i∈[1;l],
∃s
j(t), j ∈[1;n], s
j(t)< s
jminor s
j(t)> s
jmax(4.19)
106
4.5. TIJI : G ´EN ´ERATEUR DE TRAJECTOIRE AVEC CONTRAINTE
SUR LE TEMPS FINAL
L’id´ee g´en´erale du processus de saturation consiste alors `a d´eterminer ces
intervalles ainsi que les nouveaux profils de contrˆole ou d’´etat devant y ˆetre
d´efinis. Les bornes sur le contrˆole et sur l’´etat sont appliqu´ees successivement,
n´eanmoins les trajectoires de contrˆoles et d’´etats ´etant li´ees, un processus de
saturation en quatre ´etapes a ´et´e ´etabli :
– Etape 1 : Application des bornes du contrˆole sur la trajectoire de
contrˆoles
A partir de la repr´esentation param´etrique du contrˆole donn´ee par
l’Eq. (4.12), une simple ´etude des variations de ces fonctions suffit `a
d´eterminer l’ensemble des intervalles I
Usur lesquels les bornes sur le
contrˆole sont d´epass´ees.
Cet ensemble d’intervalles repr´esente simplement les intervalles de
temps au cours desquels un ou plusieurs contrˆoles d’entr´ee ont exc´ed´e
leurs bornes minimales ou maximales. Une trajectoire de contrˆole ˜u
{u}respectant ces limites est donn´ee par :
˜
u
{u}(p, t) =
u
extl(t) si t ∈I
U˜
u(p, t) sinon (4.20)
o`u u
extl(t) repr´esente le contrˆole extrˆeme (minimal ou maximal)
appli-cable au temps t respectant les bornes sur le contrˆole. Des fonctions
param´etriques par morceaux sont donc n´ecessaires pour repr´esenter ce
nouveau profil du contrˆole ainsi que ceux des fonctions d’´etats propos´ees
ci-dessous.
– Etape 2 : Calcul de la trajectoire d’´etats `a partir de la trajectoire de
contrˆoles born´ee
Une trajectoire d’´etats ˜s
{u}prenant en compte lesbornes sur le contrˆole
peut ˆetre d´eduite en int´egrant ˜u
{u}`a partir de l’´etat initial s
0du
syst`eme :
˜
s
{u}(p, t) = s
0+
Z
tf(s
0,u˜
{u}(p, t), t)dt (4.21)
– Etape 3 : Application des bornes de l’´etat sur la trajectoire d’´etats
A partir de cet instant, les seules contraintes n’ayant pas ´et´e prises en
compte sont lesbornes sur l’´etat du syst`eme. Comme pour les bornes sur
le contrˆole, l’ensemble des intervallesI
Sd´epassant les bornes sur l’´etat
est d´etermin´e en ´etudiant les variations de l’Eq. (4.13). La trajectoire
d’´etat ˜s
{u}doit alors ˆetre satur´ee sur ces intervalles afin de prendre en
compte l’ensemble des contraintes souhait´ees. La trajectoire d’´etats ˜s
∗r´esultante est donc exprim´ee par :
˜
s
∗(p, t) =
s
extl(t) si t ∈I
S˜
s
{u}(p, t) sinon (4.22)
CHAPITRE 4. G ´EN ´ERATION DE TRAJECTOIRES AVEC
CONTRAINTE SUR LE TEMPS FINAL 107
o`u s
extl(t) est la valeur extrˆeme (minimale ou maximale) de l’´etat au
temps t respectant les bornes d’´etat. La trajectoire d’´etats ˜s
∗garantie
donc de respecter l’ensemble des toutes les contraintes sur le
mouve-ment du syst`emeA et par cons´equence d’ˆetre faisable.
– Etape 4 : D´erivation d’une trajectoire de contrˆoles faisable
Enfin, une trajectoire de contrˆoles faisable ˜u
∗est d´eriv´ee de la
trajec-toire d’´etats ˜s
∗:
˜
u
∗(p, t) =
u
extl(t) sit ∈I
U−I
S0 sit ∈I
S˜
u(p, t) sinon
(4.23)
De la mˆeme mani`ere que pour ˜s
∗, le mouvement d´ecrit par la trajectoire
de contrˆole ˜u
∗appliqu´ee `a partir de l’´etat initials
0, a la garantie d’ˆetre
faisable pour le syst`eme A.
Exemple
La Fig. 4.9 illustre le processus de saturation des trajectoires d’´etats et
de contrˆoles pr´esent´e au cours de la section pr´ec´edente. Supposez un syst`eme
1D de type double int´egrateur disposant de bornes sur sa vitesse et son
acc´el´eration. Soit le profil param´etrique initial de l’acc´el´eration du syst`eme
donn´e en Fig. 4.9(a). Les bornes d’acc´el´eration ´etant d´epass´ees sur les
inter-vallesI
A1
et I
A2
, nous saturons l’acc´el´eration sur ces intervalles afin d’obtenir
un nouveau profil respectant ces contraintes (Fig. 4.9(c)). En int´egrant ce
dernier `a partir de l’´etat initial s
0du syst`eme, nous obtenons alors un
pro-fil de vitesse du syst`eme satisfaisant les bornes sur l’acc´el´eration, mais pas
celles sur la vitesse (Fig. 4.9(d)). Nous saturons alors celle-ci sur
l’inter-valle I
V1
o`u les bornes de vitesse sont d´epass´ees. Le nouveau profil obtenu
(Fig. 4.9(f)) satisfait donc l’ensemble des contraintes sur le mouvement. Afin
d’obtenir le contrˆole d’entr´ee admissible correspondant `a ce profil de vitesse,
nous red´erivons celui-ci. La Fig. 4.9(e) pr´esente alors le profil d’acc´el´eration
admissible pouvant ˆetre pass´e en entr´ee du syst`eme robotique.
4.5.4 Mise `a jour de la param´etrisation de la
trajec-toire
Une fois qu’une trajectoire faisable a ´et´e d´etermin´ee, son ´etat finals
fest
facilement obtenu comme suit :
108
4.5. TIJI : G ´EN ´ERATEUR DE TRAJECTOIRE AVEC CONTRAINTE
SUR LE TEMPS FINAL
(a) Etape 1 : Profil d’acc´el´eration
lin´eairea(t) avant saturation.
(b) Etape 1 : Profil de vitesse lin´eaire
v(t) avant saturation.
(c) Etape 2 : Profil d’acc´el´eration
lin´eaire a(t) apr`es saturation des
intervalles sur lesquelles les bornes
d’acc´el´eration minimales et maximales
sont d´epass´ees.
(d) Etape 2 : Profil de vitesse lin´eaire
v(t) prenant en compte les bornes
d’acc´el´eration. Il est obtenu par
int´egration du profil d’acc´el´eration
donn´e en Fig. 4.9(c).
(e) Etape 3 : Profil d’acc´el´eration
lin´eairea(t) prenant en compte toutes les
contraintes sur le mouvement. Obtenu
par int´egration du profil de vitesse donn´e
en Fig. 4.9(f).
(f) Etape 3 : Profil de vitesse lin´eaire
v(t) apr`es saturation des intervalles
sur lesquels les bornes de vitesse sont
d´epass´ees.
Figure4.9 – Diff´erentes ´etapes de calcul des profils de vitesse et acc´el´eration
lin´eaire. Les croix repr´esentent les bornes minimales et maximales sur ces
diff´erents profils.
CHAPITRE 4. G ´EN ´ERATION DE TRAJECTOIRES AVEC
CONTRAINTE SUR LE TEMPS FINAL 109
Si s
fest suffisamment proche de l’´etat but s
g, i.e. si J(s
0, p, t
f, s
g) ≤ ε,
o`uε est un seuil fix´e, alors l’approche variationnelle a converg´e comme nous
le souhaitions et une solution a ´et´e trouv´ee. Dans le cas contraire, il est
n´ecessaire d’appliquer une correction sur les param`etres d’entr´ee (p, t
f∗) afin
d’y parvenir.
Afin de proc´eder au calcul d’une correction sur ces param`etres
permet-tant de minimiser la fonction de coˆutJ(s
0, p, t
f, s
g), de nombreuses m´ethodes
d’optimisation existent (voir [NW99, Ber96] pour un r´esum´e de ces
ap-proches). N´eanmoins, elle peuvent g´en´eralement ˆetre classifi´ees en quatre
cat´egories : les m´ethodes de relaxation (optimisation s´equentielle de chaque
param`etre), les m´ethodes de descente de gradient (recherche d’une direction
descendante donn´ee par le gradient de la fonction de coˆut), les m´ethodes
de Newton ou assimil´ees (approximation locale au second ordre de la
fonc-tion de coˆut) et enfin la m´ethode stochastique de recuit simul´e (en anglais :
simulated annealing [KGV83, GKR94]). Les principales diff´erences entre ces
diff´erentes m´ethodes tiennent au choix de la direction et du pas de descente,
et par cons´equence, `a leur coˆut de calcul. Une m´ethode de Newton standard
a ´et´e utilis´ee dans notre cas.
Un minimum local de la fonction de coˆut est trouv´e lorsque ses d´eriv´ees
partiellesh
∂J
∂(
p
,t
f)i
par rapport aux param`etres (p, t
f) sont ´egales `a z´ero. Une
racine de h
∂J
∂(
p
,t
f)i
peut alors ˆetre d´etermin´ee en lin´earisant son expression
comme suit :
∂J
∂(p, t
f)
≃
∂
2J
∂(p, t
f)
2∆(p, t
f) (4.25)
o`u ∆(p, t
f) est l’erreur suppos´ee commise sur les param`etres , et o`uh
∂2J
∂(
p
,t
f)2i
sont les d´eriv´ees partielles de second ordre de la fonction de coˆut par rapport
`a ces param`etres (matrice de dimensions (dim P+ 1)×(dimP+ 1)). Afin de
minimiser la fonction de coˆutJ, une correction `a appliquer sur les param`etres
(p, t
f) est alors calcul´ee comme suit :
cor
(p,tf)=−τ
∂
2J
∂(p, t
f)
2 −1∂J
∂(p, t
f)
(4.26)
o`u τ ∈ [0; 1] est le gain de la correction. La matrice inverse des d´eriv´ees
partielles de second ordre repr´esente alors la direction de la correction, et
τh
∂J
∂(
p
,t
f)i
le pas de descente.
La Fig. 4.10 illustre la convergence de la m´ethode apr`es application de
plusieurs corrections sur l’ensemble des param`etres d´efinissant le contrˆole
d’un v´ehicule.
Dans le document
Navigation autonome en environnement dynamique : une approche par déformation de trajectoire
(Page 103-111)