Robots

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 24

Chapitre 1

Les mouvements d’un robot


Christiane Rousseau

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

F IG . 1.1 – Exemple d’un robot 3-dimensionnel avec 6 degrés de liberté

– la position de P : elle est définie par les 3 coordonnées (x, y, z) de P dans


l’espace.
– la direction de l’axe de la pince : on peut se donner une direction en se
donnant un vecteur : a priori on semble avoir besoin de 3 nombres. Ce-
pendant il existe une infinité de vecteurs qui spécifient une même direc-
tion, à savoir tous les multiples d’un même vecteur. Une manière plus
économique de se donner une direction est d’imaginer une sphère de
rayon 1 centrée à l’origine et de se donner un point Q de la sphère : la
direction est alors donnée par le vecteur joignant l’origine à Q : on re-
marque qu’on a une bijection entre les points de la sphère et les direc-

1
2 CHAPITRE 1. LES MOUVEMENTS D’UN ROBOT

tions. Pour se donner une direction il suffit donc de préciser un point de


la sphère. Ceci se fait de manière économique en utilisant les coordonnées
sphériques : les points de la sphère de rayon 1 sont les points :

(x, y, z) = (cos θ cos φ, sin θ cos φ, sin φ),

avec θ ∈ [0, 2π) et φ ∈ [− π2 , π2 ]. Donc les deux nombres θ et φ suffisent


pour décrire la position de l’axe de la pince.
– La pince peut pivoter autour de son axe par un mouvement de rotation
lequel est uniquement déterminé par l’angle de rotation.
– Au total on a eu besoin de six nombres pour spécifier la position de la
pince du robot pour le travailleur.
– Dans notre exemple on réalise ces six nombres qui correspondent à six
mouvements indépendants par les six rotations dessinées sur la figure :
les mouvements 1, 2, et 3 amènent P à sa position, les mouvements 4 et 5
placent l’axe de la pince dans la bonne direction ; le mouvement 6 amène
la pince à sa position finale via une rotation autour de son axe. Ces six
mouvements correspondent aux “six degrés de liberté du robot”.

Réflexion sur le nombre de degrés de liberté :


– La construction du robot n’est pas unique mais 6 degrés de liberté (donc
au moins 6 mouvements indépendants) sont nécessaires pour atteindre
tout point d’une région donnée avec la pince bien orientée. Donc 6 degrés
de liberté sont nécessaires pour les manettes qui permettent de manier le
robot.
– Vous pourriez essayer d’ajouter des bras supplémentaires au robot et
l’installer sur un rail mobile. Vous augmenteriez peut-être la taille de la
région atteignable mais vous n’augmenteriez pas le nombre de positions
finales de la pince. Par contre votre robot pourrait avoir d’autres avan-
tages dont nous discuterons plus loin.
– Par contre construisez un robot qui n’a que 5 degrés de liberté. Quelle que
soit la manière dont vous choisissez 5 mouvements indépendants décrits
chacun par un seul nombre il y aura des positions de la pince qui seront
interdites. En fait seul un petit ensemble de positions seront permises
contre une majorité de positions défendues.
– Essayez d’imaginer des modèles de robot qui ne bougeraient que dans
un plan. Combien de degrés de liberté sont nécessaires pour un robot ne
se mouvant que dans un plan ? (La réponse dépend du problème, c’est-à-
dire de l’ensemble des positions que doit pouvoir prendre la pince pour
accomplir le travail.)
– Essayez d’imaginer d’autres modèles de robots avec 6 degrés de liberté.

Les mathématiques sous-jacentes : Lorsqu’on s’intéresse à décrire les mouve-


ments du robot on va devoir se pencher sur les mouvements d’un solide dans
l’espace. En effet chaque mouvement du robot sera une translation ou une ro-
tation autour d’un axe. Les rotations seront centrées en différents points.
1.2. LES MOUVEMENTS D’UN SOLIDE DANS LE PLAN 3

– On commencera par décrire chaque rotation comme une transformation


linéaire dans un système de coordonnées dont l’axe de rotation est un des
axes de coordonnées.
– On étudiera ensuite les changements d’un système de coordonnées à un
autre par une translation suivie d’une rotation. Si on connaı̂t les coor-
données d’un point Q donné dans un système de coordonnées cela per-
mettra de calculer ses coordonnées dans un nouveau système de coor-
données.
– Pour notre exemple de la Figure 1.1 on apprendra à calculer la position
d’un point Q dans le système de coordonnées original après qu’on ait
appliqué des rotations Ri (θi ) d’angles θi , i ∈ {1, 2, 3, 4, 5, 6}, avec les six
mouvements décrits.

1.2 Les mouvements d’un solide dans le plan


Découpons une forme en carton, par exemple un triangle sans aucune symé-
trie. Le carton est indéformable et la forme doit rester constamment sur le plan.
Nous voulons décrire toutes les positions que peut prendre le triangle. Pour
cela nous choisissons un des sommets du triangle, soit A (mais ce pourrait être
n’importe quel autre point du triangle).
– Nous devons commencer par spécifier la position de A. Ceci se fait à
l’aide des deux coordonnées (a1 , a2 ) de A.
– Nous devons ensuite préciser la position du triangle par rapport à son
point A. Si A est fixé, les seuls mouvements que peut faire le triangle sont
des rotations autour de A. Si B est un deuxième sommet la position du
−→
triangle est alors déterminée par l’angle que fait le vecteur AB avec une
direction fixe.
Nous avons donc besoin de 3 nombres pour déterminer uniquement la position
d’un solide dans le plan.

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.

1.3 Mouvements qui préservent les distances


et les angles dans le plan ou dans l’espace
Nous allons commencer par considérer les transformations linéaires qui
préservent les distances et les angles : ce sont précisément les transformations
4 CHAPITRE 1. LES MOUVEMENTS D’UN ROBOT

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.

T H ÉOR ÈME 2 Soit T : Rn → Rn une transformation linéaire, i.e. une transformation


qui a les propriétés suivantes :

T (v + w) = T (v) + T (w), ∀v, w ∈ Rn


(1.1)
T (αv) = αT (v), ∀v ∈ Rn , ∀α ∈ R.

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 :

[T (v)] = A[v] = AX. (1.2)

2. La matrice A de la transformation linéaire est construite ainsi : les colonnes de


A sont les images des vecteurs de la base standard de Rn :

e1 = (1, 0, . . . , 0)
e2 = (0, 1, 0, . . . , 0)
..
.
en = (0, . . . , 0, 1).

P REUVE : On commencera par prouver la deuxième partie. Calculons [T (e1 )] :


 
a11 . . . a1n 1  a11 
 a21 . . . a2n   0   a21 
   
[T (e1 )] =  .
  . =
..   ..   .. .
..
  
 .. . . 

an1 . . . αnn 0 an1

et de même pour les autres vecteurs de la base standard.


Pour la première partie, la matrice A cherchée est la matrice dont les co-
lonnes sont les coordonnées des vecteurs T (ei ) dans la base standard. Elle a
bien la propriété (1.2) 

D ÉFINITION 1 1. Soit A = (aij ) une matrice n × n. La matrice transposée de A


est la matrice At = (bij ) où
bij = aji .
1.3. MOUVEMENTS QUI PRÉSERVENT DISTANCES ET ANGLES 5

2. Une matrice est orthogonale si

AAt = At A = I,

où I est la matrice identité n × n.


3. Une transformation linéaire est orthogonale si sa matrice dans la base standard
est une matrice orthogonale.

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.

Appelons X1 , . . ., Xn les vecteurs (verticaux) formés des colonnes de A.


On écrira 
A = X1 X2 . . . Xn .
Alors les transposés Xt1 , . . .Xtn sont des vecteurs lignes. On peut représenter
la matrice At par ses lignes : c’est la matrice
 t
X1
t  .. 
A = . 
Xtn

Calculons le produit matriciel At A en utilisant cette forme :


 t
X1 X1 Xt1 X2 . . . Xt1 Xn

 Xt2 X1 Xt2 X2 . . . Xt2 Xn 
t
A A= . ..  .
 
.. ..
 .. . . . 
t t t
Xn X1 Xn X2 . . . Xn Xn
6 CHAPITRE 1. LES MOUVEMENTS D’UN ROBOT

Alors la matrice A est orthogonale si et seulement si ce produit est égal


a la matrice identité. Dire que les entrées sur la diagonale sont égales à
1 revient à dire que le produit scalaire de chaque colonne Xi de A avec
elle-même est égal à 1. Ce produit scalaire est égal au carré de la longueur
du vecteur Xi . Donc chaque vecteur Xi est de longueur 1. Les entrées de
At A qui ne sont pas sur la diagonale doivent être nulles : ceci signifie
que le produit scalaire du vecteur Xi avec le vecteur Xj , j 6= i doit être
nul. Donc les vecteurs X1 , . . . , Xn sont orthogonaux et de longueur 1 : ils
forment une base orthonormale de Rn .
2. Commençons par la réciproque à savoir que si T est une transformation
linéaire dont la matrice A est orthogonale, alors T préserve les distances
et les angles. D’après la première partie les images des vecteurs de la
base canonique forment une base orthonormale. Leurs images par T sont
les vecteurs colonnes de A. Donc leur longueur est préservée et leurs
angles respectifs sont préservés. On peut se convaincre aisément qu’une
transformation linéaire préserve les distances et les angles si et seulement
si elle préserve le produit scalaire. Soit v et w tels que X = [v] et Y = [w].
Voyons que leur produit scalaire est préservé si A est orthogonale :

hT (v), T (w)i = (AX)t (AY)


= (Xt At )(AY)
= Xt (At A)Y
= Xt IY
= Xt Y
= hv, wi.

Pour la partie directe, si T préserve les distances et les angles, T préserve


le produit scalaire. Alors soit v et w quelconques et X = [v] et Y = [w].

hT (v), T (w)i = (AX)t (AY) = (Xt At )(AY) = Xt (At A)Y = hv, wi = Xt Y.

Supposons que At A = (bij ). Prenons v = ei et w = ej . Alors

(Xt (At A))Y = (bi1 . . . bin )Y = bij .

D’autre part Xt Y = δij où



1 si i = j
δij =
0 si i 6= j

Donc ∀i, j, bij = δij , ce qui revient à At A = I, i.e. A est orthogonale. 

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

P REUVE : Considérons un mouvement F du plan ou de l’espace qui préserve


−−→
les distances et les angles. Considérons F(0) = Q. Soit v0 = OQ et prenons
la translation T (v) = v − v0 . Alors T (Q) = 0. Donc T ◦ F(0) = 0. Soit G =
T ◦ F. C’est une transformation qui préserve les distances et les angles et qui a
un point fixe à l’origine. Nous admettrons qu’elle est linéaire. Par le théorème
précédent c’est une transformation linéaire orthogonale. Donc F = T −1 ◦ G.
Comme T −1 est encore une translation on a bien écrit F comme composition
d’une transformation linéaire orthogonale avec une translation. 

1.4 Propriétés des matrices orthogonales


Nous nous donnons une transformation linéaire orthogonale T (X) = AX.
Prenons par exemple :
 
1/3 2/3 2/3
A = 2/3 −2/3 1/3  .
2/3 1/3 −2/3
Cette matrice est compliquée. Nous savons seulement qu’elle est orthogonale,
donc que la transformation linéaire T préserve les distances et les angles. Com-
ment peut-on comprendre la géométrie de T ? L’outil très puissant qui nous
permet de comprendre la géométrie de T est la diagonalisation. En pratique
quand on diagonalise une matrice on change de système d’axes de coordonnées.
On se place dans un système d’axes de coordonnées dans lequel la matrice est
simple, c’est-à dire dans lequel on comprend la structure de la transformation
linéaire.

Étude détaillée de l’exemple précédent : Pour diagonaliser la matrice on doit


commencer par calculer les valeurs propres. Les valeurs propres sont les ra-
cines du polynôme caractéristique
P(λ) = |λI − A| = det(λI − A).
Dans notre cas
λ − 1/3 −2/3 −2/3
|λI − A| = −2/3 λ + 2/3 −1/3 = λ3 + λ2 − λ − 1 = (λ + 1)2 (λ − 1).
−2/3 −1/3 λ + 2/3
La matrice a donc les deux valeurs propres 1 et −1. Calculons leurs vecteurs
propres. Un vecteur propre X d’une valeur propre λ satisfait : AX = λX. Donc
AX − λX = (A − λI)X = 0. Le vecteur X est donc solution du système linéaire
homogène de matrice A − λI.
Vecteurs propres de +1 : Pour trouver les solutions on échelonne la matrice
   
−2/3 2/3 2/3 1 0 −2
A − I =  2/3 −5/3 1/3  ∼ 0 1 −1 .
2/3 1/3 −5/3 0 0 0
8 CHAPITRE 1. LES MOUVEMENTS D’UN ROBOT

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

Géométriquement on a T (w1 ) = w1 , T (w2 ) = −w2 et T (w3 ) = −w3 . On voit


que cette transformation est la symétrie par rapport à la droite de vecteur di-
recteur w1 : cette transformation peut aussi être vue comme la rotation d’angle
π autour de l’axe w1 . On voit donc comment la diagonalisation nous a permis
de “comprendre” la transformation.

Quelques caractéristiques de l’exemple précédent : Dans notre exemple nos


deux valeurs propres 1 et −1 avaient toutes deux valeur absolue égale à 1. Ce
n’est pas un hasard puisqu’une transformation orthogonale préserve les dis-
tances. On ne peut donc avoir T (v) = λv avec |λ| 6= 1. De plus tous les vec-
teurs propres de la valeur propre -1 étaient orthogonaux aux vecteurs propres
de la valeur propre 1. Ici non plus ce n’est pas un hasard. Nous allons donc
énoncer les propriétés particulières des transformations orthogonales en ce qui
concerne la diagonalisation.

T H ÉOR ÈME 5 Une matrice orthogonale a déterminant +1 ou −1.


1.4. PROPRIÉTÉS DES MATRICES ORTHOGONALES 9

P REUVE : On utilise la propriété que det AB = det A det B et que det At =


det A. Alors
det AAt = det A det At = (det A)2 .
D’autre part AAt = I, d’où det AAt = 1. Donc (det A)2 = 1, i.e. det A = ±1. 

On voit qu’on a deux cas pour une matrice orthogonale :


– det A = 1. Dans ce cas-ci la transformation orthogonale correspond au
mouvement d’un solide ayant un point fixe. Nous allons voir que les
seuls mouvements de ce type sont les rotations.
– det A = −1. Dans ce cas-ci la transformation “renverse l’orientation”.
Un tel exemple de transformation est la symétrie par rapport à un plan.
Prenez par exemple un objet dissymétrique et son image dans un mi-
roir : vous ne pourrez jamais transporter l’objet dans l’espace pour aller
le superposer à l’image initiale que vous avez observée. Les transforma-
tions orthogonales de déterminant −1 ne sont pas des mouvements du
solide. Par contre on peut montrer que toute transformation orthogonale
de déterminant −1 peut s’écrire comme composition d’une rotation et
d’une symétrie par rapport à un plan.

Les propriétés suivantes seront énoncées sans preuve :

Propriétés d’une matrice orthogonale A, 3 × 3, avec det A = 1.


1. Toutes les valeurs propres ont module√égal à 1. Rappel : le module d’un
nombre complexe λ = a + ib est |λ| = a2 + b2 .
2. La matrice A est toujours diagonalisable et admet une base orthonormale
de vecteurs propres. Mais si les valeurs propres sont complexes alors les
vecteurs propres correspondants sont aussi complexes.
3. Si on a 3 valeurs propres réelles, alors ces valeurs propres sont, soit 1, 1, 1,
auquel cas la matrice A est la matrice identité, soit 1, −1, −1. On vérifie fa-
cilement dans ce cas (identique à l’exemple traité ci-dessus) que la trans-
formation est une symétrie par rapport à la droite qui a la direction du
vecteur propre de +1. (On peut aussi visualiser la transformation comme
une rotation d’angle π autour de l’axe porté par cette droite.)
4. Le polynôme caractéristique, det(λI − A), est de degré 3. Il admet donc
toujours au moins une racine réelle λ1 et on sait que λ1 = ±1. S’il admet
exactement une racine réelle, alors cette racine doit être égale à 1. En effet
les deux autres racines complexes doivent être deux nombres complexes
conjugués : λ = a + ib et λ = a − ib. Alors λλ = a2 + b2 > 0. Comme
det A = 1 et que le déterminant de A est égal au produit des valeurs
propres det A = λ1 λλ = λ1 (a2 +b2 ) = 1. On en déduit λ1 = 1 et a2 +b2 =
1. On peut alors poser

a = cos θ
b = sin θ
10 CHAPITRE 1. LES MOUVEMENTS D’UN ROBOT

pour θ ∈ [0, 2π). Soit v un vecteur propre (complexe) de λ. Alors v, le vec-


teur conjugué de v est un vecteur propre complexe de λ. On va remplacer
les deux vecteurs complexes v et v par deux vecteurs réels v2 et v3 qui en-
gendrent le même sous-espace de C3 . Posons v2 = Re(v) le vecteur dont
les composantes sont les parties réelles des composantes de v. De même
on pose v3 = −Im(v) = Im(v) le vecteur dont les composantes sont les
parties imaginaires des composantes de v. On a

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

T (v2 ) = av2 + bv3 , T (v3 ) = −bv2 + av3 .

On reconnaı̂t ici une rotation d’angle θ dans le plan engendré par v2 et v3 .


Soit v1 un vecteur propre de la valeur propre 1. On affirme sans preuve
que v1 , v2 et v3 sont orthogonaux et que v2 et v3 sont de même longueur
(ceci venait du fait que v et v sont orthogonaux car vecteurs propres de
valeurs propres distinctes). On divise v1 , v2 et v3 par leur longueur pour
obtenir une base othonormale
v1 v2 v3
B = {w1 = , w2 = , w3 = }.
|v1 | |v2 | |v3 |

La matrice de T dans cette base est


 
1 0 0
[T ]B = 0 cos θ − sin θ .
0 sin θ cos θ

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

T H ÉOR ÈME 6 Une transformation orthogonale dont la matrice A a déterminant 1 est


la matrice d’une rotation dans l’espace dont l’axe de rotation est porté par un vecteur
propre de la valeur propre 1.
1.5. LES MOUVEMENTS D’UN SOLIDE DANS L’ESPACE 11

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 .

1.5 Les mouvements d’un solide dans l’espace


On a maintenant tous les éléments pour les décrire. Considérons un point
fixe P du solide. On peut considérer tout mouvement du solide comme la com-
position d’une translation amenant le point P à la position (x0 , y0 , z0 ) dans
l’espace avec un mouvement du solide dont P est un point fixe.
12 CHAPITRE 1. LES MOUVEMENTS D’UN ROBOT

Un tel mouvement doit conserver la forme du solide. Il doit donc préserver


les distances et les angles et également préserver l’orientation. C’est une trans-
formation linéaire de la forme :

T (v) = Av

où A est une matrice 3 × 3 orthogonale. La transformation préserve l’orienta-


tion, i.e. det A = 1.

1.6 Les changements de base


Rappel sur la matrice d’une transformation linéaire dans une base B. On
considère une transformation linéaire T : Rn → Rn . On ne s’intéressera qu’aux
cas n = 2 ou n = 3. Soit B une base de l’espace. On représente un vecteurv  à
x
l’aide de ses coordonnées dans la base B par une matrice colonne [v]B =
  y
x
si n = 2 et [v]B = y si n = 3. Limitons nous maintenant au cas n = 3. Si
z  
x
B = {v1 , v2 , v3 }, alors l’écriture [v]B = y signifie v = xv1 + yv2 + zv3 . Soit
z
A la matrice de la transformation T dans la base B. On écrira A = [T ]B . Les
coordonnées de T (v) dans la base B sont obtenues comme le produit matriciel

[T (v)]B = A[v]B = [T ]B [v]B .

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.

Rappel sur les changements de base et les matrices de changement de base.


1. Si on a deux bases B1 et B2 de l’espace alors

[v]B2 = P[v]B1

où P est la matrice de changement de base de B1 à B2 .


2. Les colonnes de la matrice P sont les coordonnées des vecteurs de B1
écrits dans la base B2 . Dans le cas particulier où les deux bases sont or-
thonormales (i.e. les vecteurs sont perpendiculaires et de longueur 1),
alors la matrice P est orthogonale.
3. Si Q est la matrice de changement de base de B2 à B1 , alors Q = P−1 . Les
colonnes de la matrice Q sont les coordonnées des vecteurs de B2 écrits
dans la base B1 . Dans le cas particulier où les deux bases sont orthonor-
males alors Q = Pt , donc les colonnes de Q sont les rangées de P.
1.6. LES CHANGEMENTS DE BASE 13

T H ÉOR ÈME 7 Soit T une transformation linéaire et soient B1 et B2 deux bases de


l’espace. Soit P la matrice de changement de base de B1 à B2 . Alors

[T ]B2 = P[T ]B1 P−1 .

P REUVE : Soit v un vecteur. Alors on a d’une part :

[T (v)]B2 = [T ]B2 [v]B2 .

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)

F IG . 1.2 – Le cube de l’exemple

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

Cherchons maintenant la matrice de T± dans la base canonique C. En appli-


quant le théorème précédent on voit que cette matrice doit être donnée par

[T± ]C = P−1 [T± ]B P,

où P est la matrice de passage de C à B. Alors P−1 est la matrice de passage de


B à C. Donc les colonnes de P−1 sont les vecteurs de B écrits dans la base C. Ce
sont précisément les vecteurs colonnes donnant les coordonnées de v1 , v2 , v3 .
Comme P−1 = Pt on a
 1
− √12 √1
 1
√1 √1
 
√ √
3 6 3 3 3
P−1 =  √13 0 − √26 
, P =  − √12 0 √1  .
 
2 
√1 √1 √1 √1 − √2 √1
3 2 6 6 6 6

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 .

1.7 Les différents repères associés à un robot


Regardons le robot de la Figure 1.1. On se donne 7 repères R0 , . . . , R6 . Pour
chaque repère on se donne les directions des axes xi , yi , zi , i = 0, . . . , 6, par des
bases B0 , . . . , B6 . Le repère B0 est le repère de base. Il est centré en P0 = (0, 0, 0).
Le repère Ri est centré en Pi (Figure 1.3).

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

F IG . 1.3 – Les différents repères du robot

Voici les mouvements du robot


i) Le premier mouvement est une rotation T1 d’angle θ1 autour de l’axe y0 .
Dans le repère B0 elle a donc pour matrice
 
cos θ1 0 − sin θ1
A1 =  0 1 0 .
sin θ1 0 cos θ1
Le deuxième repère est un repère mobile B1 , donné par l’image de B0 par
T1 .
ii) Le deuxième mouvement est une rotation T2 d’angle θ2 autour de l’axe x2 ,
de matrice  
1 0 0
A2 =  0 cos θ1 − sin θ2  .
0 sin θ2 cos θ2
16 CHAPITRE 1. LES MOUVEMENTS D’UN ROBOT

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 .

Matrice de changement de base de la base Bi+k à la base Bi . On en déduit


qu’elle est donnée par
Mii+k = Mi+1
i Mi+2 i+k
i+1 . . . Mi+k−1 .

Soit Q un point de l’espace. Préciser sa position dans le repère Ri c’est se


−−→ −−→
donner le vecteur Pi Q dans la base Bi , i.e [Pi Q]Bi . Alors sa position dans le
repère Ri−1 est donnée par
−−−−→ −−−−→ −−→
[Pi−1 Q]Bi−1 = [Pi−1 Pi ]Bi−1 + [Pi Q]Bi−1
−−−−→ −−→
= [Pi−1 Pi ]Bi−1 + Mii−1 [Pi Q]Bi .
1.7. LES DIFFÉRENTS REPÈRES ASSOCIÉS À UN ROBOT 17

On va utiliser ceci et écrire chacun des changements pour i = 1, . . . , 6. On


en déduira la position de l’extrémité du robot dans l’espace et son orientation
dans la base B0 sachant qu’on a effectué dans l’ordre 6 rotations d’angles res-
pectifs θ1 , . . . , θ6 . Supposons que l’on connaisse la position de Q dans le repère
−−→
R6 à savoir [P6 Q]B6 :
– Soit l4 la longueur de la pince. Alors
−−→ −−−→ −−→
[P5 Q]B5 = [ P5 P6 ]B5 + [P6 Q]B5
0
−−→
=  l4  + M65 [P6 Q]B6 .
0
– Soit l3 la longueur du 3e bras de robot. Alors
−−→ −−−→ −−→
[P4 Q]B4 = [ P4 P5 ]B4 + [P5 Q]
B 4  
0 0
−−→
=  l3  + M54  l4  + M65 [P6 Q]B6 
 0   0
0 0
−−→
=  l3  + M54  l4  + M64 [P6 Q]B6 .
0 0
– Dans le repère R3 : On a P3 = P4 . Donc.
    
0 0
−−→ −−→ −−→
[P3 Q]B3 = [P4 Q]B3 = M43  l3  + M54  l4  + M64 [P6 Q]B6 
  0  0
0 0
−−→
= M43  l3  + M53  l4  + M63 [P6 Q]B6 .
0 0
– Soit l2 la longueur du 2e bras de robot. Alors
−−→ −−−→ −−→
[P2 Q]B2 = [ P2 P3 ]B2 + [P3 Q]
B2   
0 0 0
−−→
=  l2  + M42  l3  + M52  l4  + M62 [P6 Q]B6 .
0 0 0
– Soit l1 la longueur du premier bras de robot. Alors
−−→ −−−→ −−→
[P1 Q]B1 = [ P1 P2 ]B1 + [P2 Q]
B1     
0 0 0 0
−−→
=  l1  + M21  l2  + M41  l3  + M51  l4  + M61 [P6 Q]B6 .
0 0 0 0
– Finalement dans le repère fixe sur le mur on a :
−−→ −−−→ −−→
[P0 Q]B0 = [P0 P 1 ]B0 +[P1 Q]B0     
0 0 0 0
−−→
= M10  l1  + M20  l2  + M40  l3  + M50  l4  + M60 [P6 Q]B6 .
0 0 0 0
18 CHAPITRE 1. LES MOUVEMENTS D’UN ROBOT

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

1. Calculer la matrice de la rotation d’angle θ dans le plan pour la base stan-


dard {e1 = (1, 0), e2 = (0, 1)} :
(a) utiliser que les colonnes de A sont les coordonnées des images des vecteurs
e1 et e2 ;
(b) Soit z = x + iy. Faire tourner le vecteur (x, y) d’un angle θ revient à faire
l’opération z 7→ eiθ z.

2. Si on compose deux transformations linéaires de matrices respectives A1 et


A2 alors la matrice de T1 ◦ T2 est A1 A2 . On travaille avec n = 2.
(a) Vérifier que la composition d’une rotation d’angle θ1 avec une rotation
d’angle θ2 est une rotation d’angle θ1 + θ2 .
(b) Vérifier que le déterminant de la matrice d’une rotation est égal à 1.
(c) Vérifier que la matrice inverse de la matrice A d’une rotation est la matrice
At où At est la matrice transposée de la matrice A (i.e. Atij = Aji ).

3. On donne les matrices orthogonales suivantes avec det A = 1 :


   
2/3 −1/3 −2/3 1/3 2/3 2/3
A = 2/3 2/3 1/3  B = −2/3 2/3 −1/3
1/3 −2/3 2/3 −2/3 −1/3 2/3

Pour chacune donner la direction de l’axe de rotation et calculer l’angle de


rotation (au signe près).

4. Montrer que le produit de deux matrices orthogonales A1 et A2 telle que


det A1 = det A2 = 1 est encore une matrice orthogonale telle que det A1 A2 =
1. En conclure que la composition de deux rotations dans l’espace est encore
une rotation dans l’espace (même si les deux axes de rotation ne sont pas les
mêmes !).
1.8. EXERCICES 19

5. On se donne une rotation d’angle +π/4 autour de l’axe v1 dans la base B =


{v1 , v2 , v3 } où v1 = (1/3, 2/3, 2/3), v2 = (2/3, −2/3, 1/3) et v3 = (2/3, 1/3, −2/3).
Donner la matrice de cette rotation dans la base standard.

6. Montrer que la composition de deux symétries par rapport à deux plans


passant par l’origine est une rotation autour d’un axe passant par l’origine.
Vérifier que cet axe est la droite d’intersection des deux plans.

7. On se donne le robot suivant (Figure 1.4) dans un plan vertical : au bout du


2e bras se trouve une pince perpendiculaire au plan de mouvement du robot et
actionnée par une 3e rotation (nous ignorerons cette 3e rotation). On suppose
que les deux bras de robot ont la même longueur l.
(a) Soit Q l’extrémité du 2e bras de robot. Calculer la position de Q 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.4 – Le robot de l’exercice 7 i).

(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 .

8. On se donne un robot dans un plan attaché à un point fixe et muni de deux


bras de longueur l1 et l2 . Le premier bras est attaché au point fixe et peut effec-
teur des rotations autour de ce point. Le deuxième bras est attaché à l’extrémité
du premier et peut pivoter autour du point d’attache. Déterminer l’ensemble
des positions atteignables par l’extrémité du deuxième bras de robot suivant
les valeurs de l1 et l2 .

9. On se donne un robot attaché à un mur et muni de deux bras de longueur l1


et l2 avec l2 < l1 . Le premier bras est attaché au mur par un joint universel et
les deux bras sont reliés entre eux par un joint universel. Déterminer l’ensemble
des positions atteignables par l’extrémité du deuxième bras de robot.
20 CHAPITRE 1. LES MOUVEMENTS D’UN ROBOT

θ2

θ1

F IG . 1.5 – Le robot de l’exercice 7 ii) bougeant le long du mur sur un rail vertical.

10. Essayer d’imaginer un système de manettes permettant de contrôler les 6


mouvements d’un robot.

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.

12. Imaginer des problèmes pour un ingénieur. Par exemple :


– Il existe plusieurs suites de mouvements qui amènent le robot à sa po-
sition finale. Laquelle est la meilleure ? Certains “petits” mouvements
conduisent à de “grands” déplacements de la pince, alors que d’autres
“grands” mouvements conduisent à de “petits” déplacements de la pince.
Ces derniers sont préférables lorsqu’on veut faire effectuer au robot du
travail de précision, ce qui est le cas par exemple pour un robot en chi-
rurgie.
– On peut ajouter des bras de robot supplémentaires et augmenter le nombre
de mouvements possibles pour permettre au robot de contourner des
1.8. EXERCICES 21

axe de la
Terre

F IG . 1.6 – Les deux rotations permettant d’aligner un télescope

obstacles. Quel est l’effet d’ajouter des morceaux et d’augmenter le nombre


de mouvements possibles ?
– Quel est l’effet de changer la longueur des différents bras ?
– Le problème inverse (difficile !) : étant donné la position finale de la pince
du robot, donner une suite de mouvements amenant la pince à cette posi-
tion. Pour répondre à la question on doit résoudre un système d’équations
non linéaires.
22 CHAPITRE 1. LES MOUVEMENTS D’UN ROBOT
Bibliographie

[1] P. Coiffet, Les robots, Tome 1, Modélisation et commande, Hermès Publishing,


1986.

23

Vous aimerez peut-être aussi