Correction du TD n°1 : Parmétrage - MGI, MGD d’un robot SCARA#
On étudie le robot Scara 4 axes, référencé « s600 » de marque Adept.

Fig. 28 Robot SCARA s600#
Paramétrage#
Question 1.1 : En se basant sur la documentation technique fournie en Annexes, proposer un schéma cinématique de ce robot.
Question 1.2 : Construire sur le schéma, la paramétrisation au sens de Denavit et Hartenberg modifée. Synthétiser les résultats dans le tableau associé.
Solution

Tableau de paramètres DHm pour le robot
\(d_i\) |
\(\alpha_i\) |
\(r_i\) |
\(\theta_i\) |
|
---|---|---|---|---|
\(\mathbf{T}_{01}\) |
0 |
0 |
0 |
\(\theta_1\) |
\(\mathbf{T}_{12}\) |
\(d_2\) |
0 |
0 |
\(\theta_2\) |
\(\mathbf{T}_{23}\) |
\(d_3\) |
0 |
\(r_3\, (+ r_{30})\) |
0 |
\(\mathbf{T}_{34}\) |
0 |
\(180^{\circ}\) |
0 |
\(\theta_4\) |
Les paramètres \(d_i\) et \(\alpha_i\) sont toujours constants.
Les paramètres \(r_i\) et \(\theta_i\) sont les variables articulaires et sont définies à une constante près.
Question 1.3 : Déterminer chaque matrice homogène de transformation \(\mathbf{T}_{ij}\) entre les différents corps.
Solution
Matrices homogènes élémentaires de transformations entre repères :
Pour \(\mathbf{T}_{34}\) : la matrice de rotation \(\mathbf{R}_{34}\) est composée de 2 rotations :
On trouve ainsi :
Question 1.4 : En déduire l’expression de la transformation globale permettant de passer d’un vecteur exprimé dans le référentiel associé à l’effecteur \(\mathcal{R}_{\text{eff.}}\), à son expression dans le référentiel associé à la base du robot \(\mathcal{R}_0\) :
Solution
Calcul de l’expression de \(\mathbf{T}_{04}\). \
On commence par calculer le produit \(\mathbf{T}_{23} \times \mathbf{T}_{34}\) car \(\mathbf{T}_{23}\) est seulement une matrice de translation.
\[\begin{split} \begin{equation*} \mathbf{T}_{24} = \begin{bmatrix} \text{C}\theta_4 & -\text{S}\theta_4 & 0 & d_3 \\ -\text{S}\theta_4 & -\text{C}\theta_4 & 0 & 0 \\ 0 & 0 & -1 & r_3 + cste \\ 0 & 0 & 0 & 1\\ \end{bmatrix} \end{equation*} \end{split}\]Calcul du produit \(\mathbf{T}_{12} \times \mathbf{T}_{24}\)
\[\begin{split} \begin{align*} \mathbf{T}_{14} &= \begin{bmatrix} \text{C}\theta_2 \text{C}\theta_4 + \text{S}\theta_2 \text{S}\theta_4 & - \text{C}\theta_2 \text{S}\theta_4 + \text{S}\theta_2 \text{C}\theta_4 & 0 & d_3 \text{C}\theta_2 + d_2\\ \text{S}\theta_2 \text{C}\theta_4 - \text{C}\theta_2 \text{S}\theta_4 & - \text{S}\theta_2 \text{S}\theta_4 - \text{C}\theta_2 \text{C}\theta_4 & 0 & d_3 \text{S}\theta_2 \\ 0 & 0 & -1 & r_3 + cste \\ 0 & 0 & 0 & 1\\ \end{bmatrix} \\ \\ &= \begin{bmatrix} \text{C}(\theta_2-\theta_4) & \text{S}(\theta_2-\theta_4) & 0 & d_3 \text{C}\theta_2 + d_2\\ \text{S}(\theta_2-\theta_4) & -\text{C}(\theta_2-\theta_4) & 0 & d_3 \text{S}\theta_2 \\ 0 & 0 & -1 & r_3 + cste \\ 0 & 0 & 0 & 1\\ \end{bmatrix} \end{align*} \end{split}\]Rappel trigonométrique $\( \begin{align*} \text{S}(a+b) &= \text{S}(a)\text{C}(b) +\text{C}(a)\text{S}(b) \\ \text{C}(a+b) &= \text{C}(a)\text{C}(b) -\text{S}(a)\text{S}(b) \end{align*} \)$
Calcul du produit \(\mathbf{T}_{01} \times \mathbf{T}_{14}\)
\[\begin{split} \begin{align*} \mathbf{T}_{04} &= \begin{bmatrix} \text{C}\theta_1 \text{C}(\theta_2-\theta_4) - \text{S}\theta_1 \text{S}(\theta_2-\theta_4) & \text{C}\theta_1 \text{S}(\theta_2-\theta_4) + \text{S}\theta_1 \text{C}(\theta_2-\theta_4) & 0 & \text{C}\theta_1 (d_3 \text{C}\theta_2 + d_2) - \text{S}\theta_1 (d_3 \text{S}\theta_2) \\ \text{S}\theta_1 \text{C}(\theta_2-\theta_4) - \text{C}\theta_1 \text{S}(\theta_2-\theta_4) & \text{S}\theta_1 \text{S}(\theta_2-\theta_4) - \text{C}\theta_1 \text{C}(\theta_2-\theta_4) & 0 & \text{S}\theta_1 (d_3 \text{C}\theta_2 + d_2) + \text{C}\theta_1 (d_3 \text{S}\theta_2) \\ 0 & 0 & -1 & r_3 + cste \\ 0 & 0 & 0 & 1\\ \end{bmatrix} \\ \\ &= \begin{bmatrix} \text{C}(\theta_1+\theta_2-\theta_4) & \text{S}(\theta_1+\theta_2-\theta_4) & 0 & d_3 \text{C}(\theta_1 + \theta_2) + d_2 \text{C}\theta_1 \\ \text{S}(\theta_1+\theta_2-\theta_4) & -\text{C}(\theta_1+\theta_2-\theta_4) & 0 & d_3 \text{S}(\theta_1 + \theta_2) + d_2 \text{S}\theta_1 \\ 0 & 0 & -1 & r_3 + cste \\ 0 & 0 & 0 & 1\\ \end{bmatrix} \end{align*} \end{split}\]
Question 1.5 : Retrouver par un raisonnement géométrique simple les équations définissant le vecteur translation entre le repère \(\mathcal{R}_0\) et le repère de l’effecteur \(\mathcal{R}_{\text{eff.}}\).
Solution
Pour retrouver les équations liées à la position de l’effecteur, il suffit de réaliser un schéma dans le plan.

Si on nomme \((x,y,z)\) le vecteur translation entre le repère \(\mathcal{R}_0\) et le repère de l’effecteur \(\mathcal{R}_{\text{eff}}\). On retrouve bien :
Modélisation Géométrique Directe et Inverse#
Question 2.1 : Proposer un paramétrage du repère effecteur \(\mathcal{R}_{\text{eff}}\) par rapport au repère de base \(\mathcal{R}_0\).
Solution

Pour le robot scara la position et l’orientation de l’organe terminal sont caractérisé par :
3 composantes pour la position : \(x\), \(y\), \(z\)
1 composante pour l’orientation dans le plan : \(\omega\)
Soit \(\mathbf{X} = (x, y, z, \omega)\) le vecteur contenant les paramètres de l’espace des tâches et \(\mathbf{q} = (\theta_1, \theta_2, r_3, \theta_4)\) le vecteur contenant les paramètres de l’espace articulaire.
Modèle géométrique directe :
Modèle géométrique inverse :
Question 2.2 : En étudiant successivement le problème en orientation puis en position, exprimer le MGD.
Solution
1 - MGD en orientation :

Orientation de \(\overrightarrow{z_4}\) opposé à \(\overrightarrow{z_0}\).\
\(\omega\) correspond à l’angle entre \((\overrightarrow{x_0}, \overrightarrow{x_4})\). On cherche donc a exprimer \(\overrightarrow{x_4}\) dans le repère \(\mathcal{R}_0\)
Par identification de l’expression de \(\overrightarrow{x_4}\) exprimé dans le repère \(\mathcal{R}_0\) on trouve :
2 - MGD en position :
On détermine les coordonnées de \(O_4\) dans le repère \(\mathcal{R}_0\)
On trouve ainsi le MGD :
Question 2.3 : A l’aide des formulations géométriques données en Annexe des « Notes de cours » , exprimer le MGI.
Solution
1 - Déterminer \(\theta_1\) et \(\theta_2\) en fonction de \(x\) et \(y\)
2 - Déterminer \(\theta_4\) permettant de réaliser \(\omega\) étant donnés \(\theta_1\) et \(\theta_2\) imposés
Le système d’équation suivant correspond à un système de type 8 (notes de cours) :
2 solutions (cf. démonstration en annexe) :
Ensuite, une fois \(\theta_1\) et \(\theta_2\) résolus, on peut déterminer \(\theta_4\).
La dernière relation est évidente :
On trouve ainsi le MGI :
Synthèse#
Question 3.1 : Analyser le modèle du robot implémenté dans l’application « RoboDK ».
Solution
RoboDK : Logiciel permettant de simuler pour différents robots, différentes trajectoires.
Ouvrir la librairie en ligne (icône avec la planète). De nombreux robot dont le robots à architecture Scara utilisé dans ce TP sont disponibles.
Ouvrir le robot Scara utilisé dans le TP. Par défaut, on a directement le repère de référence qui s’affiche et le repère de l’organe terminal. Correspondance des couleurs (X -> rouge, Y -> vert, Z -> bleu)
Double clic sur le robot pour faire apparaitre la fenêtre des propriétés.
Expliquer les différentes sous-parties disponibles.
Décoché tous les repères
Faire apparaitre le repère 1 et le repère 2, faire varier l’angle \(\theta_1\) et l’angle \(\theta_2\). Comme vu précédemment on peut placer les origines au même endroit : il n’y a qu’un paramètre \(d_1\) qui apparait.
Faire le lien avec la variation des paramètres que l’on a dans les différents repères : Attention les notations ne sont pas les mêmes
Montrer les autres configurations possibles : Attention il n’y a pas 4 configurations, mais seulement 2 : la variation de \(\theta_4\) n’est pas entre \(-360\deg\) et \(360\deg\) mais uniquement entre \(0\deg\) et \(360\deg\) (1 seul tour possible).
Montrer l’espace de travail complet que l’on peut obtenir.
Cliquer sur paramètres en haut à droite afin d’accéder au modèle géométrique du robot : Attention, les paramètres géométriques sont décrits au sens du modèle de Denavit Hartenberg (DH) et non au sens de Denavit Hartenberg modifié (DHm)
Annexes#

Fig. 29 Caractéristiques dimensionnelles#

Fig. 30 Surface balayée par l’effecteur#

Fig. 31 Extrait de documentation : cinématique#

Fig. 32 Extrait de documentation : spécifications#
Solution
Démonstration des solutions de l’équation de type 8 :
Le système a résoudre est le suivant :
par identification au cours on a \(\theta_1 = \theta_i\), \(\theta_2 = \theta_j\), \(d_2 = X\), \( d_3 = Y\), \(x = Z_1\) et \(y = Z_2\).
L’équation générique est donc :
Résolution pour trouver \(\theta_j\)
On élève au carré les deux équations et on additionne :
La partie avec une accolade correspond soit à \(\cos(\theta_j)\) soit à \(\cos(-\theta_j)\). On utilise la propriété du \(\text{C}^2(a) + \text{S}^2(a) = 1\) pour simplifier l’équation précédente. On trouve donc :
d’ou :
Résolution pour trouver \(\theta_i\)
Développement du \(\cos(a+b)\) et \(\sin(a+b)\)
On note \(B_1 = Y \text{S}\theta_j\) et \(B_2 = X+ Y \text{C} \theta_j\). On obtient le système suivant que l’on note \((S1)\)
On multiplie la première équation de \((S1)\) par \(B_2\) et la seconde par \(B_1\). On obtient :
\[\begin{split} \begin{equation*} \begin{cases} \text{C}\theta_i B_1 B_2 - \text{S}\theta_i B_2^2 = Z_1 B_2 \qquad (1)\\ \text{C}\theta_i B_1 B_2 + \text{S}\theta_i B_1^2 = Z_2 B_1 \qquad (2) \end{cases} \end{equation*} \end{split}\]En soustrayant l’équation \((1)\) à l’équation \((2)\) on obtient :
\[ \begin{equation*} \text{S}\theta_i (B_1^2 + B_2^2) = Z_2 B_1 - Z_1 B_2 \end{equation*} \]d’ou :
\[ \begin{equation*} \text{S}\theta_i = \dfrac{Z_2 B_1 - Z_1 B_2}{B_1^2 + B_2^2} \qquad \text{avec} \qquad B_1^2 + B_2^2 \ne 0 \end{equation*} \]On multiplie la première équation de \((S1)\) par \(B_1\) et la seconde par \(B_2\). On obtient :
\[\begin{split} \begin{equation*} \begin{cases} \text{C}\theta_i B_1^2 - \text{S}\theta_i B_2 B_1 = Z_1 B_1 \qquad (3)\\ \text{C}\theta_i B_2^2 + \text{S}\theta_i B_1 B_2 = Z_2 B_2 \qquad (4) \end{cases} \end{equation*} \end{split}\]En additionnant l’équation \((3)\) et \((4)\) on obtient :
\[ \begin{equation*} \text{C}\theta_i = \dfrac{Z_1 B_1 + Z_2 B_2}{B_1^2 + B_2^2} \qquad \text{avec} \qquad B_1^2 + B_2^2 \ne 0 \end{equation*} \]
Maintenant que l’on a connaisance de \(\cos(\theta_i)\) et \(\sin(\theta_i)\) on peu dire :