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 T21 R P T21T2 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