Robots
Robots
Robots
1.1 Introduction
Commençons par observer le robot tri-dimensionnel de la Figure 1.1 : de
combien de nombres avons-nous besoin pour décrire sa position ? Pour un tra-
vailleur qui veut utiliser le robot pour saisir un objet ce qui est important pour
lui est :
2 4 6
1
P
5
1
2 CHAPITRE 1. LES MOUVEMENTS D’UN ROBOT
T H ÉOR ÈME 1 Les mouvements d’un solide dans le plan sont les compositions de
translations et de rotations. Ce sont des mouvements qui préservent les longueurs et
les angles.
linéaires dont la matrice est orthogonale. Pour cela nous faisons quelques rap-
pels sur les transformations linéaires. Nous allons donner les définitions pour
les transformations linéaires dans Rn mais nous serons en pratique intéressés
aux cas n = 2 ou n = 3.
Soit
x1
X = ...
xn
la matrice verticale formée des coordonnées de v. On note X = [v].
1. Il existe une unique matrice A, n × n, telle que la matrice verticale [T (v)] des
coordonnées de T (v) est donnée par AX :
e1 = (1, 0, . . . , 0)
e2 = (0, 1, 0, . . . , 0)
..
.
en = (0, . . . , 0, 1).
AAt = At A = I,
T H ÉOR ÈME 3 1. Une matrice est orthogonale si et seulement si ses colonnes forment
une base orthonormale de Rn .
2. Une transformation linéaire préserve les distances et les angles si et seulement si
sa matrice est orthogonale.
P REUVE :
1. Étant donné deux vecteurs v = (x1 , . . . , xn ) et w = (y1 , . . . , yn ) le produit
scalaire de v et w est :
hv, wi = x1 y1 + . . . xn yn .
Si
x1 y1
X = ... , Y = ...
xn yn
alors on peut remarquer que v = Xt et w = Y t . Remarquons alors que le
produit scalaire de v et w peut s’écrire comme le produit matriciel
hv, wi = Xt Y = Y t X.
T H ÉOR ÈME 4 Les mouvements qui préservent les distances et les angles dans le plan
et dans l’espace sont les compositions de translations et de transformations orthogo-
nales.
1.4. PROPRIÉTÉS DES MATRICES ORTHOGONALES 7
Toutes les solutions sont donc des multiples du vecteur propre v1 = (2, 1, 1).
Vecteurs propres de −1 : Ce sont les solutions du système homogène (A+I)X =
0. Pour trouver les solutions on échelonne la matrice
4/3 2/3 2/3 1 1/2 1/2
A + I = 2/3 1/3 1/3 ∼ 0 0 0 .
2/3 1/3 1/3 0 0 0
Ici l’ensemble des solutions est un plan. Il est engendré par les deux vecteurs
v2 = (1, −2, 0) et v3 = (1, 0, −2).
On veut travailler avec des bases orthonormales. On préfère donc rempla-
cer v3 par un vecteur v30 = (x, y, z) qui soit perpendiculaire à v2 . Il doit donc
satisfaire 2x + y + z = 0, soit être un vecteur propre de −1, et x − 2y = 0, soit
être perpendiculaire à v2 . On peut prendre v30 = (−2, −1, 5) qui est solution du
système
2x + y + z = 0
x − 2y = 0.
Pour passer à une base orthonormale on divise chacun des vecteurs par sa
longueur. On obtient la base orthonormale
2 1 1 1 2 2 1 5
B = w1 = √ , √ , √ , w2 = √ , − √ , 0 , w3 = − √ , − √ , √ .
6 6 6 5 5 30 30 30
Dans cette base la matrice de la transformation est donnée par :
1 0 0
[T ]B = 0 −1 0 .
0 0 −1
v = v2 − iv3 , v = v2 + iv3 .
Donc
1 1
v2 = (v + v), v3 = (v − v).
2 2i
Comme
T (v) = λv = (a + ib)(v2 − iv3 )
et
T (v) = T (v2 ) − iT (v3 ),
en égalant partie réelle et partie imaginaire, on a
C’est la matrice d’une rotation d’angle θ autour de l’axe porté par le vec-
teur w1 .
Le cas (3) est devenu un cas particulier du cas (4) : c’est le cas où b = sin θ =
0. C’est donc soit l’identité si θ = 0, soit la rotation d’angle π. On a montré que
Calcul pratique des valeurs propres : ce calcul devient vite fastidieux pour une
matrice orthogonale. En effet, comme les colonnes d’une matrice orthogonale
forment une base orthonormale de l’espace, ce sont souvent des matrices dont
les coefficients sont compliqués. On peut être astucieux pour se simplifier les
calculs.
– On commence par calculer det A. Si det A = 1 on est sûrs que 1 est une
des valeurs propres. Si det A = −1 on est sûrs que −1 est une valeur
propre.
– Il reste à trouver les deux autres valeurs propres. Elles sont nécessairement
de la forme λ = a + ib et λ = a − ib avec a2 + b2 = 1. Le cas b = 0 cor-
respond au cas de 3 valeurs propres réelles. Pour trouver a et b on utilise
que la trace de la matrice est égale à la somme des 3 valeurs propres.
Rappelons que la trace d’une matrice A = (aij ) est égale à la somme des
éléments sur sa diagonale
trA = a11 + a22 + a33 .
De plus la trace est invariante si on change de base : trA = tr(P−1 AP).
On peut supposer que P−1 AP est la matrice diagonale associée à A. Ses
entrées sur la diagonale sont les valeurs propres. Prenons le cas det A = 1.
Alors
trA = 1 + (a + ib) + (a − ib) = 1 + 2a.
trA−1
Donc l’angle de rotation θ a la propriété que cos θ = a = 2 . Remar-
quons qu’on a deux solutions pour b :
p
b = ± 1 − a2 ,
qui viennent du fait que cos θ = cos(−θ). A ce stade on ne peut lever
l’ambiguité sans faire une vérification ad hoc. En effet, étant donné une
droite, on peut lui donner deux orientations. La rotation d’angle θ au-
tour de l’axe s’effectue géométriquement avec la règle de la main droite :
lorsque le pouce droit est pointé dans la direction de la droite on tourne
les doigts de la main droite d’un angle θ. Si on change l’orientation de
la droite la même transformation géométrique correspond à une rotation
d’angle −θ. On doit donc faire des essais √ avec par exemple le vecteur
w2 pour vérifier si 2
√ T (w 2 ) = aw 2 + √1 − a w3 , auquel cas on prend
b = √1 − a ou bien T (w2 ) = aw2 − 1 − a2 w3 , auquel cas on prend
2
b = − 1 − a2 .
T (v) = Av
Comme dans le cas de la base standard on a que les colonnes de A sont données
par les coordonnées dans la base B des images par T des vecteurs de B.
[v]B2 = P[v]B1
D’autre part
[T (v)]B2 = P[T (v)]B1
= P([T ]B1 [v]B1 )
= P[T ]B1 (P−1 [v]B2 )
= (P[T ]B1 P−1 )[v]B2 ,
d’où le résultat.
Jouer avec plusieurs bases permet de résoudre des problèmes difficiles. Nous
avons vu comment la diagonalisation nous permettait de comprendre la struc-
ture d’une transformation linéaire. Nous pouvons aussi résoudre le problème
inverse et reconstruire la matrice d’une transformation dont on connaı̂t les pro-
priétés. Illustrons-le sur un exemple :
(-1,-1,1) (-1,1,1)
(1,-1,1) (1,1,1)
(-1,1,-1)
(-1,-1,-1)
x
(1,-1,-1) (1,1,-1)
Exemple : On se donne le cube dont les 8 sommets sont situés aux points
(±1, ±1, ±1) (Figure 1.2). On cherche les matrices des deux rotations d’angle
± 2π
3 dont l’axe est la droite joignant les sommets (−1, −1, −1) et (1, 1, 1) : re-
marquons que ces deux rotations envoient le cube sur le cube.
14 CHAPITRE 1. LES MOUVEMENTS D’UN ROBOT
Pour cela on commence par choisir une base B bien adaptée au problème.
La direction du premier vecteur sera donnée par la direction de la droite, soit la
direction du vecteur w1 = (2, 2, 2). Pour les deux autres vecteurs de la base w2
et w3 nous prendrons deux vecteurs orthogonaux à w1 . Leurs coordonnées
(x, y, z) satisferont donc x + y + z = 0. Un premier vecteur est donné par
exemple par w2 = (−1, 0, 1). On voudrait bien que le troisième vecteur w3
soit aussi perpendiculaire à w2 . Ses coordonnées doivent satisfaire
x+y+z=0
x − z = 0,
et une solution est donc donnée par w3 = (1, −2, 1). Maintenant on travaille
avec des bases orthonormales. Donc on divise chacun des vecteurs par sa lon-
wi
gueur : vi = ||w i ||
. La base cherchée est :
1 1 1 1 1 1 2 1
B = {v1 , v2 , v2 } = √ ,√ ,√ , − √ , 0, √ , √ , −√ , √ .
3 3 3 2 2 6 6 6
Dans cette base les deux transformations sont des rotations d’axe de rotation
donné par le premier vecteur de la base et d’angle ± 2π3 . Remarquons que
√
cos(− 2π 2π 1 2π 2π 3
3 ) = cos 3 = − 2 et sin(− 3 ) = − sin 3 = − 2 . Les deux rotations
qui sont des transformations linéaires T± ont donc comme matrice
1 0 0√
1 0 0
[T± ]B = 0 cos 2π ∓ sin 2π = 0 −√12 ∓ 23 .
3 3
0 ± sin 2π
3 cos 2π
3 0 ± 23 − 12
D’où
0 0 1 0 1 0
[T+ ]C = 1 0 0 , [T− ]C = 0 0 1 .
0 1 0 1 0 0
On voit bien que la première transformation est la rotation d’angle 2π3 autour
de l’axe de vecteur directeur v1 (Figure 1.2). Elle fait la permutation des trois
1.7. LES DIFFÉRENTS REPÈRES ASSOCIÉS À UN ROBOT 15
sommets du cube (1, 1, −1) 7→ (−1, 1, 1) 7→ (1, −1, 1). De même on a aussi la
permutation des trois autres sommets (−1, −1, 1) 7→ (1, −1, −1) 7→ (−1, 1, −1),
alors que les deux sommets (1, 1, 1) et (−1, −1, −1) restent fixes dans la rota-
tion.
−1
Remarque : [T+ ]C est orthogonale et T− = T+ . Donc [T− ]C = [T− ]C = [T+ ]tC .
Z ,Z Z z3, z4 z5 z6
0 1 2
y3, y4 y5 y6
y0, y1 y2
P0=P1 P2 P3=P4 P5 P6
x0, x1 x2 x5 x6
x3, x4
iii) Le troisième mouvement est, par exemple, une rotation T3 d’angle θ3 au-
tour de l’axe z3 de matrice
cos θ3 − sin θ3 0
A3 = sin θ3 cos θ3 0 .
0 0 1
En fait il est difficile de trancher simplement au vu de la Figure 1.1 s’il
s’agit d’une rotation autour de l’axe x3 ou autour de l’axe z3 . Ce qui
à l’œil peut paraı̂tre comme une rotation autour de l’axe x3 ou plutôt
comme une rotation autour de l’axe z3 dépend de la rotation T1 que l’on
a effectuée.
iv) Le quatrième mouvement est une rotation T4 d’angle θ4 autour de l’axe y4
de matrice
cos θ4 0 − sin θ4
A4 = 0 1 0 .
sin θ4 0 cos θ4
v) Le cinquième mouvement est une rotation T5 d’angle θ5 autour de l’axe x5
de matrice
1 0 0
A5 = 0 cos θ5 − sin θ5 .
0 sin θ5 cos θ5
vi) Le sixième mouvement est une rotation T6 d’angle θ6 autour de l’axe y6
de matrice
cos θ6 0 − sin θ6
A6 = 0 1 0 .
sin θ6 0 cos θ6
On veut calculer la position d’un point du robot par rapport aux différents
repères. Pour cela on commence dans un premier temps par calculer comment
sont modifiées les directions quand on passe d’un repère à un autre. Ceci per-
met de trouver l’“orientation” de la base Bi+k dans la base Bi . Les colonnes
de la matrice Ai donnent les coordonnées des vecteurs de la base Bi+1 dans
la base Bi . C’est donc la matrice de passage de la base Bi+1 à la base Bi . Pour
cette raison on la notera Mii+1 .
Applications :
1. Le bras canadien pour la station spatiale internationale. Au départ il était
fixé sur la station. On est maintenant en train d’ajouter des rails pour qu’il
puisse se promener le long de la station. Ceci facilite le travail des astro-
nautes lors de l’assemblage de nouveaux modules ou lors de réparations.
2. Les robots utilisés en chirurgie. Ils permettent des chirugies non inva-
sives car on peut les insérer par une fente minuscule et les manipuler de
l’extérieur du corps. Ils ont beaucoup de très petits bras près de l’extrémité
du robot pour permettre beaucoup de petits mouvements dans une région
très petite.
1.8 Exercices
θ2
θ1
(b) On suppose maintenant que le robot est monté sur un rail vertical (Figure
1.5). Calculer la position de Q si on a translaté le robot d’une hauteur h, si le
premier bras a effectué une rotation d’angle θ1 et le deuxième bras une rotation
d’angle θ2 .
θ2
θ1
F IG . 1.5 – Le robot de l’exercice 7 ii) bougeant le long du mur sur un rail vertical.
11. Lorsqu’ils veulent faire des observations les astronomes doivent orienter
leur télescope. La base du télescope est fixe.
(a) Montrer que deux rotations indépendantes sont suffisantes pour pointer le
télescope dans n’importe quelle direction.
(b) Les astronomes ont une autre contrainte quand ils veulent observer des ob-
jets célestes très éloignés et peu lumineux : ils doivent pouvoir faire une obser-
vation prolongée ou encore prendre une photo étalée sur plusieurs heures. Or
la Terre tourne pendant ce temps. Donc le télescope doit pouvoir bouger pen-
dant ce temps pour rester aligné avec l’objet céleste. Voici comment le système
fonctionne : on installe un axe parfaitement aligné dans l’axe de la Terre autour
duquel on a un premier mouvement de rotation : on appelle cet axe le pre-
mier axe (Figure 1.6). Le télescope lui même est aligné sur un axe transverse au
premier : à l’aide d’une deuxième rotation on peut changer l’angle entre l’axe
du télescope et le premier axe. On peut ainsi à l’aide des deux mouvements
de rotation aligner le télescope sur l’objet désiré. Montrer qu’on peut garder le
télescope aligné sur l’objet céleste en utilisant une rotation uniforme autour du
premier axe seulement.
axe de la
Terre
23