Académique Documents
Professionnel Documents
Culture Documents
x
y
De
Marche avant
Marche arrire
08l00l8 00 lf8(00l0lf08 0000M0l8ll0
f0088 l f000ll0 $lfll 5
On remarque que = 2.. Lorientation finale du robot est le double de lorientation du
vecteur de consigne.
On remarque galement que De, la valeur du ventre entre la corde et larc de cercle, est
dautant plus lev que lest.
On en dduit que pour comprit entre 0et 22,5, la dviation du robot reste acceptable (0
45) et De faible. Cela impose que dx dy . 41 , 2 .
A titre indicatif, on peut estimer lcart relatif :
v
De
. 2 =
) (
4
1
. 2
dy dx
dy dx R R
+
+
=
Cette valeur est lexpression de lerreur maximale lors du dplacement. La valeur max est
obtenue pour dy=0,
2
dx
De= et = 1
08l00l8 00 lf8(00l0lf08 0000M0l8ll0
f0088 l f000ll0 $lfll 6
Modification dorientation :
Plutt que de faire une trajectoire la con, il est plus fut de mettre le robot dans une
orientation favorable. Pour cela, on effectue une rotation sur place, dx=dy=0. Ensuite, on
prendra le chemin le plus court pour se placer en [dx,dy]
On prendra logiquement pour , langle du vecteur de consigne : ) tan(
dy
dx
Arc =
2
. 1
d
M =
2
. 2
d
M =
Bien entendus, dans ce cas, il est impratif de recalculer lorientation du robot aprs
excution de la commande de rotation, pour prendre en compte lerreur dans la commande
de dplacement. On obtient un logigrame de ce genre :
Dbut
dx dy . 41 , 2 ?
Rorientation
Calcul position et
orientation relle
Calcul [dx,dy]
dans la nouvelle
base
Calcul de M1 et
M2 dplacement
Calcul de M1 et
M2 rorientation
Excution
dplacement
fin
08l00l8 00 lf8(00l0lf08 0000M0l8ll0
f0088 l f000ll0 $lfll 7
Calcul du vecteur de consigne dans une nouvelle base de mme
origine :
En modifiant lorientation lorigine du robot, on modifie galement les coordonnes du
vecteur. Cest mme le but dune rorientation.
) sin( . ) cos( . ' dy dx dx =
) sin( . ) cos( . ' dx dy dy + =
Calcul du vecteur de consigne dans une base colinaire :
On ne pourra viter un lger dplacement pendant une rorientation. De plus, cette fonction
sera utilis par les gnrations avances de trajectoires.
dx
dy
dx
dy
Un brave franais du nom de
Michel Chasles en a dj parl,
mais on sen lasse pas :
x V dx dx = '
y V dy dy = '
V
08l00l8 00 lf8(00l0lf08 0000M0l8ll0
f0088 l f000ll0 $lfll 8
Gnralisation pour un dplacement quelconque :
Simple, on tient compte des deux phnomnes :
) sin( ). ( ) cos( ). ( ' y x V dy V dx dx =
) sin( ). ( ) cos( ). ( ' x y V dx V dy dy + =
Optimisation de trajectoire, prise en compte dune consigne
dangle :
Il peut tre intressant darriver au point dsign avec un angle prcis. Pour cela, on
peut calculer un point de retrait. Bien entendu, il est des orientations particulires pour
lesquelles cette fonctionnalit nest pas judicieuse. On peut alors dfinir des conditions
particulires dutilisation.
Restrictions :
Le vecteur de dplacement doit tre suffisamment important pour que la modification
de trajectoire ne soit pas trop sensible.
Si langle final est gal loppos de langle du vecteur de dplacement, une
variation prs. Cela revient rouler sur lobjectif avant de se placer. Cest souvent
inutile de prendre des prcautions.
Ces restrictions, sous forme mathmatique sexpriment par :
dx+dy > Vmin. Vmin reprsente le module minimum du vecteur de dplacement
au carr.
[+ ; ++ ]. reprsente louverture dangle viter.
Une consigne complte ne se
contente pas dun dplacement. On
doit galement prendre en compte
langle souhait larrive.
Ici, en rouge, le vecteur de
consigne de dplacement. En vert,
la consigne dorientation finale.
08l00l8 00 lf8(00l0lf08 0000M0l8ll0
f0088 l f000ll0 $lfll 9
Calcul du point de retrait C:
Le vecteur de retrait est calcul sur une base de longueur fixe Vret, et une orientation gale
lorientation finale souhaite.
Vret
x
= Vret.sin()
Vret
y
= Vret.cos()
Cx = dx - Vret.sin()
Cy = dy - Vret.cos()
La longueur Vret est dterminer, bien entendus, toujours dans le systme dunit du robot.
Pour effectuer cette trajectoire, on ralisera les lments suivant :
1. Calcul du point C.
2. Si ncessaire modification dorientation vers le point C.
3. Si ncessaire, re-calcul des points C et objectif final (point et angle) une fois
modification dorientation effectue.
4. Dplacement vers le point C.
5. Calcul du nouvel angle et du nouvelles coordonnes du point final dans la base du
robot en C.
6. r-Orientation dans langle .
7. Calcul des coordonnes du point final.
8. Dplacement vers le point final.
2
C