• Aucun résultat trouvé

Les trajectoires multidimensionnelles en temps minimal

Dans cette section, nous pr´esentons la planification en temps minimal pour les trajectoires multidi-mensionnelles.

FIGURE3.20 – Mouvement en temps impos´e de dur´eeTimp=4.5s

3.5.1 Cas du mouvement point `a point

Dans un espace de dimensionn, le mouvement est obtenu par la combinaison lin´eaire du mouve-ment desnaxes. Soit la direction de d´eplacement d´efinie par le vecteurv=∑ni=1αivi o`u ni=1αi2=1. Les vecteursvi sont lesnvecteurs directeurs unitaires de l’espace consid´er´e. La synchronisation desn

mouvements point `a point mono-dimensionnels permet d’obtenir une ligne droite entre le point initial et le point final si les instants de commutations entre les segments sont identiques pour tous les axes. Les diff´erents jerks de chaque axe sont reli´es lin´eairement par JiM=αiJmax. Jmaxcorrespond au jerk maximum sur la droite.

Le mouvement en temps minimal est alors directement obtenu par :

Jmax = min 16i6n 1 αi JiM (3.30) Amax = min 16i6n 1 αi AiM (3.31) Vmax = min 16i6n 1 αi ViM (3.32)

Pour chaque segment, l’une des fonctions vitesse, acc´el´eration ou jerk de l’un des axes est satur´ee. Les autres se trouvent `a l’int´erieur de leur domaine de validit´e.

Une autre m´ethode pour calculer un mouvement point `a point multidimensionnel en temps minimal consiste `a calculer, dans un premier temps, les mouvements optimaux pour chaque dimension avec les contraintes cin´ematiques correspondantes. Les dur´ees des segments du mouvement de chaque dimension sont ensuite ajust´ees au mouvement qui a la plus grande dur´ee par la deuxi`eme m´ethode d´ecrite au paragraphe3.4.1.

3.5.2 Cas du mouvement de type V

Contrairement au mouvement point `a point, dans le cas du mouvement de type V, les segments des

nmouvements en temps minimal ne sont pas forc´ement synchronis´es. La solution que nous avons choisi se d´ecompose en trois ´etapes. La premi`ere ´etape consiste `a calculer le mouvement en temps minimal

pour lesndimensions `a partir de l’algorithme pr´esent´e dans la section pr´ec´edente3.3.4. Lesntemps des mouvements sont stock´es dans un vecteur de dimensionnque nous notonsTopt. On a donc pour l’axe j:

Topt[j] =

7

i=1

jTi (3.33)

La deuxi`eme ´etape consiste `a calculer pour chaque axe, le mouvement qui passe par l’´etat `a l’arrˆet (pointAdu plan acc´el´eration-vitesse). Ce mouvement sera constitu´e de 11 segments au plus (3 segments pour rejoindre le point d’arrˆet, le segment `a l’arrˆet et les 7 segments pour effectuer le d´eplacement restant). De mˆeme que pour les mouvements optimaux, les dur´ees de ces mouvements sont stock´ees dans un vecteurTstop

Tstop[j] =

11

i=1

jTi (3.34)

La troisi`eme ´etape consiste `a d´eterminer la dur´ee de synchronisationTimp. Notons que cette dur´ee est diff´erente de celle introduite dans la section pr´ec´edente (Section 3.4). Cette dur´ee n’est pas forc´ement ´egale `a la plus grande des dur´ees des mouvements des axes. En effet, comme nous l’avons vu dans la section sur la planification en temps impos´e3.4.2, il existe des intervalles de temps o`u il n’y a pas de solution de planification en temps impos´e dans la famille de solutions que nous avons choisi.

Ainsi, pour d´eterminer la dur´eeTimp, nous d´eterminons pour chaque axe jles intervalles solutions de la planification en temps impos´e pour l’intervalle de temps[Topt[j],Tstop[j]](figure3.21). La dur´eeTimp

sera ´egale `a la dur´ee minimale valide pour l’ensemble des axes.

0 1 0 1 0 1

FIGURE3.21 – D´etermination du temps de synchronisation pour un mouvement multidimensionnel

3.6 Conclusion

Dans ce chapitre, nous avons d´etaill´e notre contribution concernant la planification de trajectoires sous contraintes cin´ematiques. Nous avons d´evelopp´e un planificateur de trajectoire permettant de g´en´erer des trajectoires avec le jerk, l’acc´el´eration et la vitesse born´es. Ce g´en´erateur permet de calculer des mou-vements multidimensionnels avec des conditions initiales et finales cin´ematiques non nulles. Pour cela,

nous avons utilis´e un mod`ele de trajectoire compos´e de suites de segments de courbes polynomiales cubiques. Dans le chapitre suivant, nous utilisons ce mod`ele pour approximer des trajectoires.

4

Approximation de trajectoire

D

ans le chapitre pr´ec´edent, nous avons pr´esent´e une approche originale pour la g´en´eration detrajectoire sous contraintes cin´ematiques par interpolation entre deux ´etats (position, vitesse et acc´el´eration). La trajectoire ainsi g´en´er´ee est compos´ee de suites de segments de courbes po-lynomiales cubiques. Dans ce chapitre, nous allons ´etudier l’approximation de trajectoire par ce mˆeme type de trajectoire. Le but de cette approximation est d’obtenir une repr´esentation unique pour l’en-semble des trajectoires que le contrˆoleur du robot devra ex´ecuter. Une partie des r´esultats pr´esent´es ci-apr`es a ´et´e pr´esent´e `a la conf´erence ICRA (IEEE International Conference on Robotics and Automation)

[Broqu`ere 10].

4.1 D´efinition du probl`eme

Consid´erons une trajectoire quelconque TRin d´efinie par un chemin P=P(u) et par une loi de mouvement u=u(t). Cette trajectoire peut ˆetre d´efinie par une grande vari´et´e de courbes (Beziers, NURBS, sinuso¨ıdes ...). Dans le domaine industriel, ces courbes sont g´en´eralement repr´esent´ees par des compos´ees de primitives telles que les cercles et les droites. L’inconv´enient de la repr´esentation par des cercles et des droites provient des discontinuit´es dans le profil d’acc´el´eration. En effet, lors du passage d’une droite `a un cercle, ou inversement, une discontinuit´e en acc´el´eration apparait `a cause de l’acc´el´eration centrip`ete introduite par le cercle. Cette discontinuit´e peut ˆetre ´evit´ee en imposant des vi-tesses nulles aux points liant les diff´erentes primitives. Cependant, cette solution n’est g´en´eralement pas retenue car elle augmente les temps de parcours.

Outre le fait d’obtenir une repr´esentation uniforme des trajectoires pouvant ˆetre ex´ecut´ees par un unique contrˆoleur, l’approximation de trajectoire permet de lisser ces discontinuit´es.

Nous proposons une m´ethode g´en´erale d’approximation pour les trajectoires d´efinies par un chemin 63

(a) Trajectoire initialeT Rinet approxim´eeT R (b) Profil du jerk de l’axejde la trajectoireT R

FIGURE4.1 – Approximation en temps impos´e de trajectoire par trois segments de courbes cubiques

Pet une loi de mouvementu(t). L’approximation est effectu´ee `a partir d’un ensemble d’instants impos´es ou calcul´es de la trajectoire initialeT Rin. Entre deux instants cons´ecutifs, un mouvement en temps impos´e est calcul´e pour approximer la trajectoire. La section suivante pr´esente la m´ethode propos´ee pour calculer ce mouvement en temps impos´e.