ghost rider ddl

Transcription

ghost rider ddl
Actionneurs
Locomotion à roue
Philippe Giguère
Actionneurs
2
Actionneurs
• Actionneurs :
– vient fournir force au robot
– action/déplacement
– « sortie » vers le monde (capteurs: « entrée »)
• Technologie :
– Électrique
– Pneumatique
– Hydraulique
– Autres…
GLO-4001/7021 Introduction à la robotique mobile
4
2 catégories actionneurs
• Prismatiques
– force linéaire  changement longueur
– piston + cylindre
• Rotoïde (rotation)
– couple  changement angle
– moteur électrique
GLO-4001/7021 Introduction à la robotique mobile
5
Actionneurs hydrauliques
• Fluide incompressible (huile)
• Pompe externe (fournis la puissance)
• Avantages :
– Très puissant
– rapide
– dur (stiff)
• Inconvénients :
– pompe externe
– maintenance
– sale (souvent des fuites)
GLO-4001/7021 Introduction à la robotique mobile
8
AlphaDog
• À la conférence IROS de septembre 2011
AlphaDog de Boston Dynamics
GLO-4001/7021 Introduction à la robotique mobile
9
Actionneurs pneumatiques
• Fluide compressible (air)
• Pompe externe (fournis la puissance)
• Avantages :
– fort
– rapide
– propre (industrie alimentaire)
• Inconvénients :
– pompe externe
– mou
GLO-4001/7021 Introduction à la robotique mobile
10
Actionneur pneumatique : applications
• 3D Biped (‘89-’95)
du MIT Leg Lab
GLO-4001/7021 Introduction à la robotique mobile
11
Muscles à air
• Imite les muscles
• Ne peut produire des
forces qu’en tension
• Besoin de
configurations
antagonistes
GLO-4001/7021 Introduction à la robotique mobile
12
Actionneurs électriques : types
• Moteurs pas-à-pas (stepper motor)
• Moteurs DC (courant continu)
• Autres (hors sujet)
– moteurs linéaires
– moteur AC (courant alternatif)
GLO-4001/7021 Introduction à la robotique mobile
17
Moteur DC : pas-à-pas
stator
N
aimant
permanent
N
S
S
S
N
S
rotor
N
Stator: fixe, fait de bobines
Électro-aimants
Rotor: aimant, tournant sur axe
Tourne l’angle de l’axe du moteur en changeant
quelles paires d’électro-aimants sont activées
GLO-4001/7021 Introduction à la robotique mobile
18
Moteur DC : pas-à-pas
stator
N
aimant
permanent
N
S
S
N
S
S
rotor
S
N
N
S
N
Stator: fixe, fait de bobines
Électro-aimants
Rotor: aimant, tournant sur axe
imprimantes
vieux lecteurs
de disquettes
• Commande directe de la position (pas besoin capteur,
boucle ouverte)
• Résolution fine possible avec multi-pôles
GLO-4001/7021 Introduction à la robotique mobile
19
Application des moteurs pas-à-pas
• Orienter une caméra : pan-and-tilt unit
– PTU-D46 de Direct Perception
(peut parfois se dé-calibrer, car
commandes sont relatives)
GLO-4001/7021 Introduction à la robotique mobile
20
Moteur DC aimants permanents
• Back-EMF : force contre-électromotrice générée
par le moteur qui tourne : effet dynamo
couple sur un levier
I
Back-EMF
M
moteur idéal
résistance bobine
• Couple d’un moteur (Nm) :
GLO-4001/7021 Introduction à la robotique mobile
  K I
22
Engrenages
• Va faire :
– réduction de la vitesse de rotation
(augmenter le couple) ou
– augmenter la vitesse de rotation
(réduire le couple)
• En général, pour augmenter le
couple
– variété de ratio (4:1 à 6200:1)
GLO-4001/7021 Introduction à la robotique mobile
24
Moteur DC : tout intégré
• Engrenages + moteur + capteur
• Site web du fabriquant Maxon
Capteur: encodeur
optique incrémental
GLO-4001/7021 Introduction à la robotique mobile
25
Actionneurs électriques
• Avantages :
– technologie bien maîtrisée
– pas de source de puissance externe (pas de pompes)
– entretien minimal
• Inconvénients :
– poids relativement élevé (cuivre, aimants, etc…)
– faible couple ou lent, selon les engrenages
– refroidissement des bobines est difficile
GLO-4001/7021 Introduction à la robotique mobile
26
Cinématique directe
27
Définition
• Vous avez la géométrie (d1, q1, d2) d’un membre du
robot :
actionneur
base
rotoïde
actionneur
prismatique
bout
• Trouver la position du bout/référentiel (effecteur)
par rapport à la base : CINÉMATIQUE DIRECTE
28
Actionneurs
• Prismatiques
– changement longueur
Translation T
• Rotoïdes
– changement angle
GLO-4001/7021 Introduction à la robotique mobile
Rotation R
29
Rappel : transf. homogène 2 D
Triangle2
Triangle
1 0 T 
x

T  0 1 T 
y

0 0 1 


 cos q

R   sin q
 0

Triangle3
 sin q
cos q
0
0

0
1 
Triangle = [1 3 2; ...
coordonnées
0 0 3; ...
homogènes
1 1 1];
a = 0.3;
R = [cos(a) -sin(a) 0; sin(a) cos(a) 0; 0 0 1];
T = [1 0 -0.5; 0 1 0.3; 0 0 1];
Triangle2 = R*Triangle;
GLO-4001/7021 Introduction à la robotique mobile
30
Rappel : transf. homogène 2 D
Triangle2
Triangle
1 0 T 
x

T  0 1 T 
y

0 0 1 


 cos q

R   sin q
 0

Triangle3
 sin q
cos q
0
0

0
1 
Triangle = [1 3 2; ...
coordonnées
0 0 3; ...
homogènes
1 1 1];
a = 0.3;
R = [cos(a) -sin(a) 0; sin(a) cos(a) 0; 0 0 1];
T = [1 0 -0.5; 0 1 0.3; 0 0 1];
Triangle2 = R*Triangle;
Triangle3 = T*Triangle;
GLO-4001/7021 Introduction à la robotique mobile
31
Concept : Cinématique directe
• Liens parfaitement rigides
• Ne tient pas compte des forces (pas dynamique)
• À partir des variables du système (angles qi,
distances di)
– calcul de positions des
membrures
– transfert d’un référentiel à
l’autre
GLO-4001/7021 Introduction à la robotique mobile
32
Exemple de transformation coordonnées
• Patte d’un robot :
– 1 actionneur prismatique longueur variable d1
– 1 actionneur rotoïde d’angle q1 à une distance fixe d2
• Coordonnées robot :
– centre masse = origine
• Coordonnées pied :
– par rapport au bout du membre
GLO-4001/7021 Introduction à la robotique mobile
33
Exemple de transformation coordonnées
R
GLO-4001/7021 Introduction à la robotique mobile
P  P
P
34
Exemple de transformation coordonnées
• Translation T1…
GLO-4001/7021 Introduction à la robotique mobile
R
P  T1 P
P
35
Exemple de transformation coordonnées
• … suivie rotation R1…
GLO-4001/7021 Introduction à la robotique mobile
R
P  R1T1 P
P
36
Exemple de transformation coordonnées
• … suivie translation T2…
GLO-4001/7021 Introduction à la robotique mobile
R
P  T2 R1T1 P
P
37
Exemple de transformation coordonnées
• Pour passer du référentiel pied au référentiel robot
(en coordonnées homogènes)
R
P  T2 R1T1 P
P
Position du pied :
0 
R
P  T2 R1T1 0 
1 
origine du référentiel xp yp
GLO-4001/7021 Introduction à la robotique mobile
38
Transformation inverse?
• Pour passer du référentiel robot au référentiel pied?
R
P  T2 R1T1 P
P
T21 R P  T21T2 R1T1 P P  IR1T1 P P  R1T1 P P
1 1 R
1
2
R T
P  T1 P
1 1 1 R
1
1
2
T R T
P
P  P  (T2 R1 T1 )
GLO-4001/7021 Introduction à la robotique mobile
P
1 R
P
39
Inverse de la matrice T
matlab
T =
1.0000
0
0
0
1.0000
0
-0.5000
0.3000
1.0000
0
1.0000
0
0.5000
-0.3000
1.0000
1 0 T 
x

T  0 1 T 
y

0 0 1 


>> inv(T)
ans =
1.0000
0
0
GLO-4001/7021 Introduction à la robotique mobile
C’est simplement
l’opposé des
translations Tx et Ty
40
Inverse de la matrice R
angle de q =0.3 rad
R =
0.9553
0.2955
0
-0.2955
0.9553
0
0
0
1.0000
 sin q
cos q
0
1
0

0
1 
R R
>> inv(R)
ans =
0.9553
-0.2955
0
 cos q

R   sin q
 0

0.2955
0.9553
0
0
0
1.0000
GLO-4001/7021 Introduction à la robotique mobile
T
(car R est matrice
orthogonale)
C’est simplement
tourner dans la
direction opposée q
41
Reprenons l’exemple à l’envers
• Pour passer du référentiel robot au référentiel pied?
P
GLO-4001/7021 Introduction à la robotique mobile
P  P
R
42
Reprenons l’exemple à l’envers
• Pour passer du référentiel robot au référentiel pied?
P
GLO-4001/7021 Introduction à la robotique mobile
1 R
2
P T
P
43
Reprenons l’exemple à l’envers
• Pour passer du référentiel robot au référentiel pied?
P
GLO-4001/7021 Introduction à la robotique mobile
1 1 R
1
2
P R T
P
44
Reprenons l’exemple à l’envers
• Pour passer du référentiel robot au référentiel pied?
P
GLO-4001/7021 Introduction à la robotique mobile
1 1 1 R
1
1
2
P T R T
P
45
Comparaison
J’ai un point dans le référentiel du
robot, je cherche sa coordonnées
par rapport au pied
P
1 1 1 R
1
1
2
P T R T
P
(cas où vous avez détecté un obstacle
avec laser/caméra sur le robot)
J’ai un point dans le référentiel du
pied, je cherche sa coordonnées
par rapport au robot
R
P  T2 R1T1 P P
(cas où vous avez un capteur tactile sur
le pied, et vous voulez référencer les
46
mesures vers le robot)
Locomotion
48
Catégories robots (locomotion)
• Terrestres (3 degrés de liberté)
• Aquatique (6 d.d.l)
• Aérien (6 d.d.l)
GLO-4001/7021 Introduction à la robotique mobile
49
Différents types de conduite à roue
• Nous allons voir
– conduite différentielle
– conduite synchrone
– tricycle
– épure de Jeantaud
GLO-4001/7021 Introduction à la robotique mobile
51
Configurations roues conduite différentielle
• (rien à voir avec différentiel de
voiture)
• 2 roues motorisées
indépendamment
• 2 degrés de libertés
• 1 roue libre pour support (castor)
• C’est la configuration de vos robots
Create
GLO-4001/7021 Introduction à la robotique mobile
CoroBot de CoroWare
52
Conduite différentielle (differential drive)
•
•
•
•
•
Deux roues parfaitement circulaires
Infiniment minces
devant
Même rayon
Coaxiales
Adhérence parfaite
rg
rd
axe
rd
rg
vue côté
GLO-4001/7021 Introduction à la robotique mobile
axe
vue de haut
53
Trajectoire pour véhicule
• Décomposée en :
– ligne droite
R
– courbe
0 R
– rotation sur place R  0
Instantaneous Center of Curvature : ICC
GLO-4001/7021 Introduction à la robotique mobile
Rayon de courbure R
Propriété de l’ICC : situé
sur le prolongement de
l’axe des roues
54
Comme si fixé sur table tournante…
GLO-4001/7021 Introduction à la robotique mobile
55
Déplacement conduite différentielle
• Deux roues séparées par l
• Point M situé entre les deux roues
• Vitesses des roues-moteurs Vg et Vd
constantes (sur intervalle de temps) connues
• Point M va se déplacer sur une courbe
de rayon R, centrée à ICC (qui est sur la ligne
des axes des roues)
d
w q
dt
vue de haut
vitesse de
rotation
angulaire
Vd
Vg
• V=rw (en rad/s)
• Quelles sont les valeurs de R et w?
Centre instantané
de rotation (ICC)
Important : toutes
les pièces du robot se
déplacent sur des
arcs de cercle
M
w
56
Déplacement conduite différentielle
Pour Vg et Vd constants (choisi par l’utilisateur), on cherche R :
Relations entre
les vitesses
linéaires et la
vitesse
angulaire :
V=rw
important!
l
Vd
Vd  ( R  )w isole w
w
l
2
(R  )
2
l
Vg  ( R  )w
2
Vd
l
l
l
Vg  ( R  )
 Vg ( R  )  ( R  )Vd
l
2 (R  )
2
2
2
Important : toutes
les pièces du robot se
déplacent sur des
arcs de cercle
Aussi :
w
Vd  Vg
V
l
Centre instantané
de rotation (ICC)
Vd  Vg
2
Vg
vue de haut
l
l
l
l Vd  Vg
R(Vg  Vd )  Vg  Vd =   (Vg  Vd )  R 
2
2
2
2 Vd  Vg
Vd
V
M
w
q
R
57
Sanity check
• Si Vg=Vd, je vais en ligne droite
l Vd  Vg
R
2 Vd  Vg
l Vg  Vd
R
  Cercle rayon infini == droite
2 0
• Si Vg=-Vd, je tourne sur place
l 0
R
0
2 2Vd
GLO-4001/7021 Introduction à la robotique mobile
58
Mesures avec gyroscope à taux
Vitesse angulaire réelle :w 
Centre instantané
de rotation (ICC)
Vd
Vg
Vd  Vg
V
l
w
q
R
• Si je place un gyroscope sur le robot, quel sera la
vitesse angulaire mesurée wg?
wg  w  bruit
• La mesure wg du gyro ne dépendra pas :
– du rayon de courbure R
– de la position du gyroscope sur le robot (gyro à plat, bien
entendu)
59
Mesure wg
(rad/s)
Exemple des signaux du gyroscope
0
Temps
R
60
Mesure wg
(rad/s)
Temps
0
=
0
Temps
R
Mesure wg
(rad/s)
Exemple des signaux du gyroscope
Gyroscope mesure la
même chose
61
Contraintes non-holonomes
• On ne peut pas changer la pose p du robot de façon
arbitraire (pas trajectoire arbitraire)
p1=(x1,y1,q1)  p2=(x2, y2, q2) n’est pas toujours possible
p1
p2
y
p2
p1
y
x
x
dp/dx doit être 0
quand q = 90o
quand le nombre de degré de liberté commandé est
moins que le nombre de degré de liberté du système.
(ici, 2 moteurs mais 3 d.d.l)
62
Contraintes non-holonomes
• Contraintes souvent exprimées par des dérivées
sur la pose du robot
• Pour conduite différentielle :
– robot ne peut pas se déplacer de côté
– « stationnement parallèle »
GLO-4001/7021 Introduction à la robotique mobile
63
Autres configurations de roues
Conduite bicyclette : trouver R et ICC
ICC situé à
l’intersection des
lignes passant par les
axes des roues
f
ghostrider, UC Berkeley
triangle
rectangle
ICC
a
?
R
65
Conduite bicyclette : trouver R et ICC
ICC situé à
l’intersection des
lignes passant par les
axes des roues
a  f  90o  180o
ghostrider, UC Berkeley
Nécessairement q
a
f
sanity check
f=0 ligne droite
R
a
a
 
tan(0) 0
f=90o pivote sur r. arr.
a
a
R

0
o
tan(90 ) 
f
ICC
q
triangle
rectangle
a  q  90o  180o
a
somme des angles dans un triangle
R
a
tan f 
R
a
R
tan f
66
Conduite tricycle
f
la tortue de Grey Walter
f
GLO-4001/7021 Introduction à la robotique mobile
roues sont
indépendantes
67
Épure de Jeantaud (Ackerman)
• Voitures standards
angles différents
smartTer, ETH Zurich
GLO-4001/7021 Introduction à la robotique mobile
image: wikipedia
68
Conduite Synchrone
• Rotation des roues synchronisée par chaîne ou
courroie
• 1 moteur pour v(t)
• 1 moteur pour wS(t)
• Liens mécaniques
réduisent les erreurs
wS(t)
GLO-4001/7021 Introduction à la robotique mobile
69
Conduite Synchrone
• Exemple rotation wS(t)
wS(t)
GLO-4001/7021 Introduction à la robotique mobile
70
Véhicules à roues : sources d’erreur
• Usure du pneu : (on commande vitesse rotation
wmoteur du moteur de la roue, Vr=rayonroue*wmoteur )
• Précision du moteur : (wmoteur est incorrect)
• Terrain inégal : « bruit mécanique »
• Friction pneu/terrain
• Friction de la roue de support (castor)
Approche probabiliste!
71
Résumé véhicule à roues
• Trajectoires composées d’une suite de courbes
• Défini par longueur d’arc et centre de rotation
instantané (ICC)
• L’ICC se trouve à l’intersection des droites
prolongeant les axes de rotation des roues
GLO-4001/7021 Introduction à la robotique mobile
72
Roues Mecanum/Swedish
GLO-4001/7021 Introduction à la robotique mobile
73
Examen
Examen
• N’oubliez pas compas + règle
• Problème localisation, pour trouver centre du
cercle r  d
2sin a
p1
p2
GLO-4001/7021 Introduction à la robotique mobile
76
Examen
• N’oubliez pas compas + règle
• Problème localisation, pour trouver centre du
cercle r  d
2sin a
p1
p2
GLO-4001/7021 Introduction à la robotique mobile
77
Examen
• N’oubliez pas compas + règle
• Problème localisation, pour trouver centre du
cercle r  d
2sin a
centre du cercle
GLO-4001/7021 Introduction à la robotique mobile
p1
p2
78
Examen
• N’oubliez pas compas + règle
• Problème localisation, pour trouver centre du
cercle r  d
2sin a
centre du cercle
GLO-4001/7021 Introduction à la robotique mobile
p1
p2
79