Introduction à la Robotique
Transcription
Introduction à la Robotique
Plan Introduction à la Robotique Bernard BAYLE Ecole Nationale Supérieure de Physique de Strasbourg IUP TASV, 2004–2005 Bernard BAYLE Introduction à la Robotique Plan Plan Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Plan Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Points Notations R = (O, x, y, z) repère orthonormé direct cartésien, selon la convention de Gibbs. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Points Notations R = (O, x, y, z) repère orthonormé direct cartésien, selon la convention de Gibbs. Position d’un point M : vecteur m de coordonnées ∈ R3 : mx m = my mz Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Points Notations R = (O, x, y, z) repère orthonormé direct cartésien, selon la convention de Gibbs. Position d’un point M : vecteur m de coordonnées ∈ R3 : mx m = my mz Mouvement d’un point : courbe paramétrée m(t) de R3 Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Points Notations R = (O, x, y, z) repère orthonormé direct cartésien, selon la convention de Gibbs. Position d’un point M : vecteur m de coordonnées ∈ R3 : mx m = my mz Mouvement d’un point : courbe paramétrée m(t) de R3 Trajectoire d’un point : support du mouvement Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Solides Solide indéformable : pour toute paire de points de ce solide de coordonnées m et n : ||m(t) − n(t)|| = ||m(0) − n(0)|| = constante Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Solides Solide indéformable : pour toute paire de points de ce solide de coordonnées m et n : ||m(t) − n(t)|| = ||m(0) − n(0)|| = constante Hypothèse Les solides considérés seront tous indéformables. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Solides Solide indéformable : pour toute paire de points de ce solide de coordonnées m et n : ||m(t) − n(t)|| = ||m(0) − n(0)|| = constante Hypothèse Les solides considérés seront tous indéformables. Mouvement rigide d’un solide : mouvement de chacun de ses points Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Solides Solide indéformable : pour toute paire de points de ce solide de coordonnées m et n : ||m(t) − n(t)|| = ||m(0) − n(0)|| = constante Hypothèse Les solides considérés seront tous indéformables. Mouvement rigide d’un solide : mouvement de chacun de ses points Situation d’un solide : position et orientation dans R d’un repère lié à ce solide Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Transformations rigides Transformation rigide : résultat d’un mouvement rigide amenant un solide d’une situation initiale à une situation finale. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Transformations rigides Transformation rigide : résultat d’un mouvement rigide amenant un solide d’une situation initiale à une situation finale. Application qui transforme les coordonnées des points du solide de leur position initiale vers leur position finale. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Transformations rigides Transformation rigide : résultat d’un mouvement rigide amenant un solide d’une situation initiale à une situation finale. Application qui transforme les coordonnées des points du solide de leur position initiale vers leur position finale. Application = transformation rigide ? Ssi elle conserve à la fois les distances et l’orientation. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Transformations rigides Transformation rigide : résultat d’un mouvement rigide amenant un solide d’une situation initiale à une situation finale. Application qui transforme les coordonnées des points du solide de leur position initiale vers leur position finale. Application = transformation rigide ? Ssi elle conserve à la fois les distances et l’orientation. Conséquence Un repère orthonormé direct reste orthonormé direct par application d’une transformation rigide. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Matrices de rotation Notations R0 = (O, x 0 , y 0 , z 0 ) orthonormé direct x 0 , y 0 , z 0 : coordonnées de x 0 , y 0 et z 0 dans R : 1 0 0 1 0 0 1 y .x z .x x 0 .x 0 0 0 0 x = @x .y A , y = @y .y A et z = @z 0 .y A . x 0 .z y 0 .z z 0 .z 0 0 Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Matrices de rotation Notations R0 = (O, x 0 , y 0 , z 0 ) orthonormé direct x 0 , y 0 , z 0 : coordonnées de x 0 , y 0 et z 0 dans R : 1 0 0 1 0 0 1 y .x z .x x 0 .x 0 0 0 0 x = @x .y A , y = @y .y A et z = @z 0 .y A . x 0 .z y 0 .z z 0 .z 0 0 Définition R = (x 0 y 0 z 0 ) de dimension 3 × 3 est appelée matrice de rotation du repère R vers le repère R0 . . . . ou encore matrice de passage ou matrice de changement de base. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Matrices de rotation Intérêts : Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Matrices de rotation Intérêts : rend compte du changement de base des coordonnées d’un point z0 z y0 O x Bernard BAYLE y M x0 Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Matrices de rotation Intérêts : rend compte du changement de base des coordonnées d’un point rend compte de la rotation d’un repère lié à un solide de R en R0 z z0 y0 O x Bernard BAYLE y x0 M Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Rotation d’un point appartenant à un solide Notations m = (mx my mz )T et m0 = (mx0 my0 mz0 )T : coordonnées de M respectivement dans R et R0 . Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Rotation d’un point appartenant à un solide Notations m = (mx my mz )T et m0 = (mx0 my0 mz0 )T : coordonnées de M respectivement dans R et R0 . Alors : m = mx0 x 0 + my0 y 0 + mz0 z 0 Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Rotation d’un point appartenant à un solide Notations m = (mx my mz )T et m0 = (mx0 my0 mz0 )T : coordonnées de M respectivement dans R et R0 . Alors : m = mx0 x 0 + my0 y 0 + mz0 z 0 0 mx = x 0 y 0 z 0 my0 mz0 Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Rotation d’un point appartenant à un solide Notations m = (mx my mz )T et m0 = (mx0 my0 mz0 )T : coordonnées de M respectivement dans R et R0 . Alors : m = mx0 x 0 + my0 y 0 + mz0 z 0 0 mx = x 0 y 0 z 0 my0 mz0 Conséquence Formule de changement de base (rotation) : m = Rm0 Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Rotation d’un point appartenant à un solide z0 z Première analyse y0 O y x z0 Changement de repère des coordonnées du point x0 M z Seconde analyse y0 O x y x0 M Rotation d’un solide S autour de O, de matrice R . . . alors m0 = coordonnées initiales de M dans R et m =coordonnées finales dans R. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Rotation d’un point appartenant à un solide Exemple M y x0 y0 θ O z = z0 x √ M de coordonnées initiales ( 3 0 1)T . Coordonnées du point transformé par une rotation R(z, θ) ? Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Rotation d’un point appartenant à un solide Solution √ √ cos θ − sin θ 0 3 cos θ 3 √ m = sin θ cos θ 0 0 = 3 sin θ . 0 0 1 1 1 Application numérique : à titre d’exemple, pour θ = π3 , on trouve √ m=( 3 3 2 2 1)T . Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Rotation d’un vecteur Remarque Coordonnées d’un vecteur = différence des coordonnées de deux points de R3 . On peut appliquer la rotation à un vecteur de coordonnées v = m − n dans R : m − n = Rm0 − Rn0 = R(m0 − n0 ), soit, en posant v 0 = m0 − n0 : v = Rv 0 . Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Propriétés des rotations Notation Les matrices identités, quel que soit leur ordre sont notées I. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Propriétés des rotations Notation Les matrices identités, quel que soit leur ordre sont notées I. Orthogonalité : R T R = I et det R = 1. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Propriétés des rotations Notation Les matrices identités, quel que soit leur ordre sont notées I. Orthogonalité : R T R = I et det R = 1. Elément neutre : matrice identité d’ordre 3. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Propriétés des rotations Notation Les matrices identités, quel que soit leur ordre sont notées I. Orthogonalité : R T R = I et det R = 1. Elément neutre : matrice identité d’ordre 3. Inverse unique : R −1 = R T . Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Propriétés des rotations Notation Les matrices identités, quel que soit leur ordre sont notées I. Orthogonalité : R T R = I et det R = 1. Elément neutre : matrice identité d’ordre 3. Inverse unique : R −1 = R T . Combinaison de deux rotations successives R1 et R2 : rotation R1 R2 . Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Combinaison de rotations Notations Soient R0 et R00 les repères résultant des deux rotations successives R1 et R2 du repère fixe R. Non-commutativité de la rotation R1 R2 6= R2 R1 . Deux cas se présentent pour combiner deux rotations : Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Combinaison de rotations Notations Soient R0 et R00 les repères résultant des deux rotations successives R1 et R2 du repère fixe R. Non-commutativité de la rotation R1 R2 6= R2 R1 . Deux cas se présentent pour combiner deux rotations : seconde rotation par rapport au repère résultant de la première rotation : (R00 résulte de la rotation de R0 autour d’un axe lié à R0 ) Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Combinaison de rotations Notations Soient R0 et R00 les repères résultant des deux rotations successives R1 et R2 du repère fixe R. Non-commutativité de la rotation R1 R2 6= R2 R1 . Deux cas se présentent pour combiner deux rotations : seconde rotation par rapport au repère résultant de la première rotation : (R00 résulte de la rotation de R0 autour d’un axe lié à R0 ) seconde par rapport au même repère, fixe (R00 résulte de la rotation de R0 autour d’un axe lié à R) Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Premier cas (1) Problème de changement de base Seconde rotation par rapport au repère résultant de la première rotation : problème de changement de base. Notations M de coordonnées respectives m, m0 , m00 dans R, R0 et R00 Combinaison : premier cas Comme m = R1 m0 et m0 = R2 m00 , alors : m = R1 R2 m00 . Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Premier cas (1) Problème de changement de base Seconde rotation par rapport au repère résultant de la première rotation : problème de changement de base. Notations M de coordonnées respectives m, m0 , m00 dans R, R0 et R00 Combinaison : premier cas Coordonnées m de M dans R = coordonnées d’un point de coordonnées m00 dans R, auquel on aurait appliqué les deux rotations successives. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Premier cas (2) Exemple z0 z π M y0 x 00 O x0 x π 4 z 00 √ m00 = ( 2 0 0)T dans R00 : coordonnées de M dans R ? Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Premier cas (3) Solution √ m= 2 √22 2 0 √ −√ 22 2 2 0 √ −1 0 0 −1 0 2 0 1 0 −1 . = 0 0 0 0 −1 0 0 1 Soit la combinaison des deux rotations suivantes : une première rotation d’un angle π 4 autour de z une seconde rotation d’un angle π autour de l’axe y 0 Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Second cas (1) Rotations successives Problème de rotations successives d’un point : la transformation d’un point de coordonnées initiales m00 dans R donne un point intermédiaire, qui, transformé par la seconde rotation donne un point de coordonnées m dans R par R2 . Notations M de coordonnées respectives m, m0 , m00 dans R, R0 et R00 Combinaison : second cas Conséquence : m = R2 (R1 m00 ) Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Second cas (2) Exemple z0 z π M x 00 O x0 y x π 4 z 00 √ m00 = ( 2 0 0)T dans R00 : coordonnées de M dans R ? Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Second cas (3) Solution √2 −1 0 0 √2 m = 0 1 0 2 2 0 0 −1 0 √ −√ 22 2 2 0 √ −1 0 2 1 . = 0 0 0 0 1 Soit la combinaison des deux rotations suivantes : une première rotation d’un angle π 4 autour de z une seconde rotation d’un angle π autour de l’axe y Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Orientation d’un solide dans l’espace Matrice de rotation et cosinus directeurs Notation Rotation d’un repère R vers un repère R0 de matrice de rotation R, de dimension 3 × 3, à valeurs dans R. xx R = xy xz yx yy yz zx zy zz Définition Eléments de R=cosinus directeurs . . . ils représentent les coordonnées des trois vecteurs de la base R0 exprimés dans R. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Orientation d’un solide dans l’espace Cosinus directeurs incomplets Remarque (1) Les colonnes de R sont orthogonales entre elles et par conséquent la connaissance de deux colonnes suffit : xx ∗ zx R = xy ∗ zy . xz ∗ zz Définition Six paramètres restants = cosinus directeurs incomplets. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Orientation d’un solide dans l’espace Repérage minimal Remarque (2) Six paramètres liés entre eux par trois relations : xx zx + xy zy + xz zz xx2 zx2 + xy2 + zy2 + xz2 + zz2 = 0 = 1 = 1 Conclusion Jeu de trois paramètres : angles d’Euler, angles de roulis, tangage, lacet, etc. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Orientation d’un solide dans l’espace Angles d’Euler classiques Définition Angles d’Euler classiques = trois rotations successives : R(z, ψ), R(x ψ , θ) puis R(z θ , ϕ) avec ψ, θ et ϕ : précession, nutation et rotation propre. z zψ ψ yψ y zϕ zθ ϕ yθ yϕ θ x xψ Bernard BAYLE xθ Introduction à la Robotique xϕ Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Orientation d’un solide dans l’espace Angles d’Euler classiques Chaque nouvelle rotation effectuée par rapport à un repère ayant tourné : R = R(z, ψ) R(x ψ , θ) R(z θ , ϕ) soit : R = = 0 10 10 1 cos ψ − sin ψ 0 1 0 0 cos ϕ − sin ϕ 0 @ sin ψ cos ψ 0A @0 cos θ − sin θA @ sin ϕ cos ϕ 0A 0 0 1 0 sin θ cos θ 0 0 1 0 1 cos ψ cos ϕ − sin ψ cos θ sin ϕ − cos ψ sin ϕ − sin ψ cos θ cos ϕ sin ψ sin θ @sin ψ cos ϕ + cos ψ cos θ sin ϕ − sin ψ sin ϕ + cos ψ cos θ cos ϕ − cos ψ sin θA sin θ sin ϕ sin θ cos ϕ cos θ Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Orientation d’un solide dans l’espace Angles d’Euler classiques Transformation inverse = angles d’Euler à partir des cosinus directeurs : si zz 6= ±1 : ψ = atan2(zx , −zy ) θ = acos zz ϕ = atan2(xz , yz ) si zz = ±1 : θ = π(1 − zz )/2 ψ + zz ϕ = atan2(yx , xx ) et donc ψ et ϕ sont indéterminés. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Orientation d’un solide dans l’espace Angles de roulis, tangage et lacet Définition Angles de roulis, tangage et lacet : trois rotations successives : R(x, γ), R(y, β) puis R(z, α) avec γ, β, et α angles de roulis, tangage et lacet. z γ α y β x Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Orientation d’un solide dans l’espace Angles de roulis, tangage et lacet Chaque nouvelle rotation étant effectuée par rapport à un axe du repère fixe R : R = R(z, α) R(y, β) R(x, γ) soit : R = = 0 10 10 1 cos α − sin α 0 cos β 0 sin β 1 0 0 @ sin α cos α 0A @ 0 1 0 A @0 cos γ − sin γ A 0 0 1 − sin β 0 cos β 0 sin γ cos γ 0 1 cos α cos β − sin α cos γ + cos α sin β sin γ sin α sin γ + cos α sin β cos γ @ sin α cos β cos α cos γ + sin α sin β sin γ − cos α sin γ + sin α sin β cos γ A − sin β cos β sin γ cos β cos γ Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Orientation d’un solide dans l’espace Angles roulis, tangage et lacet Transformation inverse = angles de roulis, tangage et lacet à partir des cosinus directeurs : si β 6= ± π2 : α = atan2(xy , xxq ) β = atan2(−xz , xx2 + xy2 ) γ = atan2(yz , zz ) si β = ± π2 : α − signe(β) γ = atan2(zy , zx ) (ou α − signe(β) γ = −atan2(yx , yy ) et donc α et γ sont indéterminés. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Matrices de passage homogènes Définition Transformation rigide : combinaison d’une paire (p, R) avec p la translation de l’origine du repère lié au solide S en mouvement et R la rotation d’un repère lié à ce solide. z0 z y0 O0 p O x0 y M x Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Matrices de passage homogènes Notations Soient m = (mx my mz )T et m0 = (mx0 my0 mz0 )T les coordonnées d’un point M respectivement dans R et R0 . Expression de la transformation Transformation rigide : translation p du repère R, puis rotation R du repère obtenu vers R0 : m = p + Rm0 Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Matrices de passage homogènes Définition Pour représenter la transformation rigide sous forme linéaire, on introduit les coordonnées homogènes du point M : m̄ = (mx my mz 1)T = (m 1)T . 0 m R p m = 1 1 0 1 Conséquence 0 m̄ = T m̄ avec T = R p 0 1 La matrice T est dite matrice de passage homogène. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Propriétés des transformations rigides Notations Soient T , T1 et T2 représentant les transformations rigides (p, R) (p1 , R1 ) et (p2 , R2 ). Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Propriétés des transformations rigides Notations Soient T , T1 et T2 représentant les transformations rigides (p, R) (p1 , R1 ) et (p2 , R2 ). R1 R2 R1 p2 + p1 Combinaison : T1 T2 = . 0 1 Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Propriétés des transformations rigides Notations Soient T , T1 et T2 représentant les transformations rigides (p, R) (p1 , R1 ) et (p2 , R2 ). R1 R2 R1 p2 + p1 Combinaison : T1 T2 = . 0 1 Elément neutre : matrice identité d’ordre 4. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Notations et définitions Rotations Transformations rigides Propriétés des transformations rigides Notations Soient T , T1 et T2 représentant les transformations rigides (p, R) (p1 , R1 ) et (p2 , R2 ). R1 R2 R1 p2 + p1 Combinaison : T1 T2 = . 0 1 Elément neutre :matrice identit é d’ordre 4. T T R −R p Inverse : T −1 = . 0 1 Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Chaı̂ne cinématique d’un bras manipulateur Paramètres de Denavit-Hartenberg modifiés Relations géométriques Plan Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Chaı̂ne cinématique d’un bras manipulateur Paramètres de Denavit-Hartenberg modifiés Relations géométriques Types de bras manipulateurs considérés Hypothèse On ne considère ici que les systèmes mécaniques composés de chaı̂nes cinématiques polyarticulées ouvertes, appelés bras manipulateurs série. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Chaı̂ne cinématique d’un bras manipulateur Paramètres de Denavit-Hartenberg modifiés Relations géométriques Description des chaı̂nes cinématiques ouvertes Définition Bras manipulateur : n corps mobiles rigides reliés par n liaisons rotoı̈des et prismatiques corps C1 bâti (corps C0 ) liaison L1 corps C2 liaison L2 Bernard BAYLE corps Cn−1 liaison L3 liaison Ln−1 corps Cn liaison Ln Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Chaı̂ne cinématique d’un bras manipulateur Paramètres de Denavit-Hartenberg modifiés Relations géométriques Paramètres de Denavit-Hartenberg modifiés Notations i-ème corps : repère Ri = (Oi , x i , y i , z i ), avec i = 0, 1, . . . , n. zi αi−1 xi Oi z i−1 zi ri Oi−1 x i−1 zi ai−1 xi Ωi−1 x i−1 axe liaison Li−1 Bernard BAYLE θi axe liaison Li Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Chaı̂ne cinématique d’un bras manipulateur Paramètres de Denavit-Hartenberg modifiés Relations géométriques Placement des repères R1 à Rn−1 zi αi−1 xi Oi z i−1 zi ri Oi−1 x i−1 zi ai−1 xi Ωi−1 x i−1 axe liaison Li−1 θi axe liaison Li Oi−1 est le pied de la perpendiculaire commune à Li−1 et Li sur Li−1 (axes parallèles, choix arbitraire de la perpendiculaire commune). Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Chaı̂ne cinématique d’un bras manipulateur Paramètres de Denavit-Hartenberg modifiés Relations géométriques Placement des repères R1 à Rn−1 zi αi−1 xi Oi z i−1 zi ri Oi−1 x i−1 zi ai−1 xi Ωi−1 x i−1 axe liaison Li−1 θi axe liaison Li x i−1 : vecteur unitaire de la perpendiculaire commune, orienté de Li−1 vers Li (axes concourants ou confondus : orientation arbitraire). Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Chaı̂ne cinématique d’un bras manipulateur Paramètres de Denavit-Hartenberg modifiés Relations géométriques Placement des repères R1 à Rn−1 zi αi−1 xi Oi z i−1 zi ri Oi−1 x i−1 zi ai−1 xi Ωi−1 x i−1 axe liaison Li−1 θi axe liaison Li z i−1 : vecteur unitaire de Li−1 , librement orienté (débattements positifs et symétriques). Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Chaı̂ne cinématique d’un bras manipulateur Paramètres de Denavit-Hartenberg modifiés Relations géométriques Placement des repères R1 à Rn−1 zi αi−1 xi Oi z i−1 zi ri Oi−1 x i−1 zi ai−1 xi Ωi−1 x i−1 axe liaison Li−1 θi axe liaison Li y i−1 : tel que le repère Ri−1 soit orthonormé direct. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Chaı̂ne cinématique d’un bras manipulateur Paramètres de Denavit-Hartenberg modifiés Relations géométriques Placement des repères R0 et Rn Convention Repère R0 : libre, en suivant des considérations de simplicité. rn+1 zn On+1 z On O y xn an x Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Chaı̂ne cinématique d’un bras manipulateur Paramètres de Denavit-Hartenberg modifiés Relations géométriques Placement des repères R0 et Rn Convention Repère R0 : libre, en suivant des considérations de simplicité. Point On+1 : associé à l’organe terminal (OT). rn+1 zn On+1 z On O y xn an x Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Chaı̂ne cinématique d’un bras manipulateur Paramètres de Denavit-Hartenberg modifiés Relations géométriques Placement des repères R0 et Rn Convention Repère R0 : libre, en suivant des considérations de simplicité. Point On+1 : associé à l’organe terminal (OT). Repère Rn : tel que On+1 ∈ (On , x n , z n ). rn+1 zn On+1 z On O y xn an x Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Chaı̂ne cinématique d’un bras manipulateur Paramètres de Denavit-Hartenberg modifiés Relations géométriques Paramètres de Denavit-Hartenberg modifiés αi−1 : angle algébrique entre z i−1 et z i , mesuré autour de x i−1 . zi αi−1 xi Oi z i−1 zi ri Oi−1 x i−1 zi ai−1 xi Ωi−1 x i−1 axe liaison Li−1 θi axe liaison Li Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Chaı̂ne cinématique d’un bras manipulateur Paramètres de Denavit-Hartenberg modifiés Relations géométriques Paramètres de Denavit-Hartenberg modifiés αi−1 : angle algébrique entre z i−1 et z i , mesuré autour de x i−1 . zi αi−1 ai−1 : distance arithmétique de la perpendiculaire commune aux axes des liaisons Li−1 et Li mesurée le long de x i−1 . xi Oi z i−1 zi ri Oi−1 x i−1 zi ai−1 xi Ωi−1 x i−1 axe liaison Li−1 θi axe liaison Li Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Chaı̂ne cinématique d’un bras manipulateur Paramètres de Denavit-Hartenberg modifiés Relations géométriques Paramètres de Denavit-Hartenberg modifiés αi−1 : angle algébrique entre z i−1 et z i , mesuré autour de x i−1 . zi αi−1 ai−1 : distance arithmétique de la perpendiculaire commune aux axes des liaisons Li−1 et Li mesurée le long de x i−1 . xi Oi z i−1 zi ri Oi−1 x i−1 zi ai−1 xi Ωi−1 x i−1 axe liaison Li−1 θi θi : angle algébrique entre x i−1 et x i , mesuré autour de z i . axe liaison Li Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Chaı̂ne cinématique d’un bras manipulateur Paramètres de Denavit-Hartenberg modifiés Relations géométriques Paramètres de Denavit-Hartenberg modifiés αi−1 : angle algébrique entre z i−1 et z i , mesuré autour de x i−1 . zi αi−1 ai−1 : distance arithmétique de la perpendiculaire commune aux axes des liaisons Li−1 et Li mesurée le long de x i−1 . xi Oi z i−1 zi ri Oi−1 x i−1 zi ai−1 xi Ωi−1 x i−1 axe liaison Li−1 θi θi : angle algébrique entre x i−1 et x i , mesuré autour de z i . ri : distance algébrique du point Oi à la perpendiculaire, mesuré le long de z i . axe liaison Li Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Chaı̂ne cinématique d’un bras manipulateur Paramètres de Denavit-Hartenberg modifiés Relations géométriques Exemple Ici commencent les travaux dirigés. . . Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Chaı̂ne cinématique d’un bras manipulateur Paramètres de Denavit-Hartenberg modifiés Relations géométriques Tansformation rigide Transformation rigide paramétrée : 0 1 B0 Ti−1, i = B @0 0 | 0 cos αi−1 sin αi−1 0 0 − sin αi−1 cos αi−1 0 {z 10 0 1 B 0C C B0 0A @0 0 1 }| 0 1 0 0 0 0 1 0 {z 10 ai−1 cos θi B 0 C C B sin θi 0 A@ 0 0 1 }| translation de ai−1 x i−1 R(x i−1 , αi−1 ) − sin θi cos θi 0 0 {z R(z i , θi ) 0 0 1 0 10 0 1 B 0C C B0 0A @ 0 1 0 }| 0 1 0 0 0 0 1 0 {z 1 0 0C C ri A 1 } translation de ri z i soit : Ti−1, i cos θi cos αi−1 sin θi = sin αi−1 sin θi 0 − sin θi cos αi−1 cos θi sin αi−1 cos θi 0 Bernard BAYLE 0 ai−1 − sin αi−1 −ri sin αi−1 cos αi−1 ri cos αi−1 0 1 Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Chaı̂ne cinématique d’un bras manipulateur Paramètres de Denavit-Hartenberg modifiés Relations géométriques Tansformation rigide Transformation rigide paramétrée : 0 1 B0 Ti−1, i = B @0 0 | 0 cos αi−1 sin αi−1 0 0 − sin αi−1 cos αi−1 0 {z 10 0 1 B 0C C B0 0A @0 0 1 }| 0 1 0 0 0 0 1 0 {z 10 ai−1 cos θi B 0 C C B sin θi 0 A@ 0 0 1 }| − sin θi cos θi 0 0 {z translation de ai−1 x i−1 R(x i−1 , αi−1 ) R(z i , θi ) 0 0 1 0 10 0 1 B 0C C B0 0A @ 0 1 0 }| 0 1 0 0 0 0 1 0 {z translation de ri z i qui prend la forme : Ti−1, i = Ri−1, i 0 pi−1, i 1 où Ri−1, i représente la rotation entre les repères Ri−1 et Ri et pi−1, i la translation entre ces mêmes repères. Bernard BAYLE Introduction à la Robotique 1 0 0C C ri A 1 } Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Configuration et situation d’un bras manipulateur Modèle géométrique direct Modèle géométrique inverse Modèle cinématique direct Plan Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Configuration et situation d’un bras manipulateur Modèle géométrique direct Modèle géométrique inverse Modèle cinématique direct Configuration Définition Configuration d’un système mécanique : repère la position de tous ses points dans un repère donné. Cas d’un bras manipulateur Configuration d’un bras manipulateur : vecteur q de n coordonnées indépendantes appelées coordonnées généralisées, appartenant à l’espace des configurations N . Coordonnées généralisées : angles de rotation pour les liaisons rotoı̈des, valeurs des translations pour les liaisons prismatiques. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Configuration et situation d’un bras manipulateur Modèle géométrique direct Modèle géométrique inverse Modèle cinématique direct Situation Définition Situation d’un solide : position et orientation de ce solide dans un repère donné. Cas d’un bras manipulateur Situation de l’OT du bras manipulateur : vecteur x de m coordonnées opérationnelles indépendantes appartenant à l’espace opérationnel M, de dimension m 6 6. Définition de la situation selon le problème (plan, positionnement seul . . .) et le paramétrage choisi (orientation notamment). Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Configuration et situation d’un bras manipulateur Modèle géométrique direct Modèle géométrique inverse Modèle cinématique direct Modèle géométrique direct Définition Modèle géométrique direct (MGD) d’un bras manipulateur : situation de son OT en fonction de sa configuration : f : N −→ M q 7−→ x = f (q). Cas général On exprime x = (x1 x2 x3 x4 x5 x6 )T , avec (x1 x2 x3 )T coordonnées de position dans R0 et (x4 x5 x6 )T coordonnées d’orientation, en fonction de q = (q1 q2 . . . qn )T . . . . souvent on s’arrête aux cosinus directeurs incomplets Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Configuration et situation d’un bras manipulateur Modèle géométrique direct Modèle géométrique inverse Modèle cinématique direct Calcul du MGD Orientation extraite de la matrice de rotation entre les repères bâti et OT. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Configuration et situation d’un bras manipulateur Modèle géométrique direct Modèle géométrique inverse Modèle cinématique direct Calcul du MGD Orientation extraite de la matrice de rotation entre les repères bâti et OT. Position (x1 x2 x3 )T du point On+1 déduite de la position (px py pz )T du point On dans R0 , compte tenu des coordonnées (an 0 rn+1 )T de On+1 dans Rn : x1 = px + an xx + rn+1 zx x2 = py + an xy + rn+1 zy x3 = pz + an xz + rn+1 zz Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Configuration et situation d’un bras manipulateur Modèle géométrique direct Modèle géométrique inverse Modèle cinématique direct Règles pratiques Calcul de la position de On et des cosinus directeurs incomplets : T0,n (q) = T0,1 (q1 ) T1,2 (q2 ) . . . Tn−1,n (qn ). Règles On note, pour i, j, . . . compris entre 1 et n : Si = sin qi Ci = cos qi Si+j = sin (qi + qj ) Ci+j = cos (qi + qj ) Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Configuration et situation d’un bras manipulateur Modèle géométrique direct Modèle géométrique inverse Modèle cinématique direct Règles pratiques Calcul de la position de On et des cosinus directeurs incomplets : T0,n (q) = T0,1 (q1 ) T1,2 (q2 ) . . . Tn−1,n (qn ). Règles Chaque nouvelle opération : une variable intermédiaire. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Configuration et situation d’un bras manipulateur Modèle géométrique direct Modèle géométrique inverse Modèle cinématique direct Règles pratiques Calcul de la position de On et des cosinus directeurs incomplets : T0,n (q) = T0,1 (q1 ) T1,2 (q2 ) . . . Tn−1,n (qn ). Règles Calcul du produit à rebours : pas de calcul de la seconde colonne des différentes matrices. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Configuration et situation d’un bras manipulateur Modèle géométrique direct Modèle géométrique inverse Modèle cinématique direct Règles pratiques Calcul de la position de On et des cosinus directeurs incomplets : T0,n (q) = T0,1 (q1 ) T1,2 (q2 ) . . . Tn−1,n (qn ). Règles Deux transformations se composent aisément : on effectue tout d’abord leur produit (exemple : deux rotations successives d’axes parallèles). Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Configuration et situation d’un bras manipulateur Modèle géométrique direct Modèle géométrique inverse Modèle cinématique direct Exemple Suite des travaux dirigés. . . Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Configuration et situation d’un bras manipulateur Modèle géométrique direct Modèle géométrique inverse Modèle cinématique direct Modèle géométrique inverse Définition Modèle géométrique inverse (MGI) : la ou les configurations correspondant à une situation de l’OT donnée : f −1 : M −→ N x 7−→ q = f −1 (x). Résolubilité Existence d’un nombre fini de solutions : Si n < m : pas de solution. Si n = m : nombre fini de solutions (en général). Si n > m : infinité de solutions. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Configuration et situation d’un bras manipulateur Modèle géométrique direct Modèle géométrique inverse Modèle cinématique direct Calcul Résolution du MGI Pas de méthode analytique systématique pour calculer le MGI . Le mieux est de reprendre les équations du MGD et de mener le calcul à l’envers. Dans le cas où n = 6, l’existence d’un poignet sphérique permet de débuter la résolution par : px = x1 − an xx − rn+1 zx , py = x2 − an xy − rn+1 zy , pz = x3 − an xz − rn+1 zz . Ensuite résolution au cas par cas pour exprimer les qi , pour i = 1, 2, . . . , n en fonction de px , py , pz et des cosinus directeurs. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Configuration et situation d’un bras manipulateur Modèle géométrique direct Modèle géométrique inverse Modèle cinématique direct Exemple Suite des travaux dirigés. . . Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Configuration et situation d’un bras manipulateur Modèle géométrique direct Modèle géométrique inverse Modèle cinématique direct Modèle cinématique direct Définition Modèle cinématique direct (MCD) : relation entre les vitesses opérationnelles ẋ et les vitesses généralisées q̇ : ẋ = J q̇, où J est matrice jacobienne de la fonction f , de dimension m × n. Calcul Calcul générique du MCD hors programme. . . Pour des structures simples, le MCD peut être obtenu par simple dérivation du MGD. Bernard BAYLE Introduction à la Robotique Représentation des transformations rigides Description des bras manipulateurs Modélisation des bras manipulateurs Configuration et situation d’un bras manipulateur Modèle géométrique direct Modèle géométrique inverse Modèle cinématique direct Exemple Fin des travaux dirigés ? Bernard BAYLE Introduction à la Robotique