Antisèche
Vecteurs géométriques
- Un vecteur géométrique \(\overrightarrow{AB}\) représente le déplacement d’un point \(A\) au point \(B\).
- Ils peuvent s’additionner, avec la relation: \(\overrightarrow{AB} + \overrightarrow{BC} = \overrightarrow{AC}\).
- La longueur, ou norme se note \(\lVert \overrightarrow{AB} \rVert\).
- On peut multiplier par un scalaire un vecteur géométrique, par exemple \(\lambda \overrightarrow{AB}\), cela change la longueur mais pas la direction.
- En multipliant \(\overrightarrow{AB}\) par \(\frac{1}{\lVert \overrightarrow{AB} \rVert}\), on obtient un vecteur unitaire: c’est la normalisation.
Repères
- Un repère \(\{ a \} = (A, {\color{red}\overrightarrow{i}}, {\color{green}\overrightarrow{j}})\) est composé de:
- Un point d’origine \(A\),
- Une base de vecteurs \({\color{red}\overrightarrow{i}}\) et \({\color{green}\overrightarrow{j}}\) (et \({\color{blue}\overrightarrow{k}}\) en 3D).
- Un repère est orthonormé si:
- Les vecteurs de la base sont orthogonaux deux à deux,
- Les vecteurs de la base sont unitaires (de norme 1).
- Par convention graphique, les axes sont colorés en:
- rouge pour \(\color{red}\overrightarrow{i}\), l’axe \(x\)
- vert pour \(\color{green}\overrightarrow{j}\), l’axe \(y\)
- bleu pour \(\color{blue}\overrightarrow{k}\), l’axe \(z\) (en 3D)
Coordonnées
- Les coordonnées (cartésiennes) d’un point \(P\) dans un repère \(\{ a \}\) sont les nombres \((x, y)\) tels que \(\overrightarrow{AP} = x {\color{red}\overrightarrow{i}} + y {\color{green}\overrightarrow{j}}\)
- On note ces coordonnées \({}^a P = (x, y)\)
- Les coordonnées d’un vecteur \(\overrightarrow{u}\) sont \((x, y)\) si \(\overrightarrow{u} = x {\color{red}\overrightarrow{i}} + y {\color{green}\overrightarrow{j}}\)
- On note ces coordonnées \({}^a \overrightarrow{u}\)
- Ces coordonnées ne dépendent pas de l’origine du repère, mais uniquement de sa base.
- \({}^a P\) est équivalent à \({}^a \overrightarrow{AP}\)
- Les coordonnées d’une somme de vecteurs géométriques est la somme des coordonnées: \({}^a (\overrightarrow{u} + \overrightarrow{v}) = {}^a \overrightarrow{u} + {}^a \overrightarrow{v}\)
- Si \(A\) et \(B\) sont deux points dont on connaît les coordonnées \({}^w A\) et \({}^w B\) dans le repère \(\{ w \}\), alors \({}^w \overrightarrow{AB} = {}^w B - {}^w A\)
- Les coordonnées polaires de \(P\) sont le rayon \(r\) et l’angle \(\alpha\) tels que \(\overrightarrow{AP} = rot(r {\color{red}\overrightarrow{i}}, \alpha)\)
- Dans ce cas, \(\lVert \overrightarrow{AP} \rVert = r\)
- Conversion de polaire vers cartésien:
- \(x = r \cos(\alpha)\)
- \(y = r \sin(\alpha)\)
- Conversion de cartésien vers polaire:
- \(r = \sqrt{x^2 + y^2}\)
- \(\alpha = \arctan2(y, x)\)
- Une rotation d’un point de coordonnées \((x, y)\) d’un angle \(\theta\) autour de l’origine est donnée par:
- \(x' = x \cos(\theta) - y \sin(\theta)\)
- \(y' = x \sin(\theta) + y \cos(\theta)\)
Produit scalaire
- Le produit scalaire de \(\overrightarrow{u}\) et de \(\overrightarrow{v}\) est:
- \(\overrightarrow{u} \cdot \overrightarrow{v} = cos(\alpha) \times \lVert \overrightarrow{u} \rVert \times \lVert \overrightarrow{v} \rVert\)
- Dans un repère orthonormé, si \({}^a \overrightarrow{u} = (x_1, y_1)\) et \({}^a \overrightarrow{v} = (x_2, y_2)\), alors:
- \(\overrightarrow{u} \cdot \overrightarrow{v} = x_1 x_2 + y_1 y_2\)
- La norme d’un vecteur est \(\lVert \overrightarrow{u} \rVert = \sqrt{ \overrightarrow{u} \cdot \overrightarrow{u}}\)
- L’angle entre deux vecteurs \(\overrightarrow{u}\) et \(\overrightarrow{v}\) est donné par:
- \(\alpha = arccos(\frac{\overrightarrow{u} \cdot \overrightarrow{v}}{\lVert \overrightarrow{u} \rVert \lVert \overrightarrow{v} \rVert})\)
Changement de repère
- Si on connaît les coordonnées \({}^b P\) de \(P\) dans \(\{ b \}\), on peut les exprimer dans \(\{ a \}\) en utilisant:
- \({}^a P = {}^a B + {}^a R_b ({}^b P)\)
- L’opérateur \({}^a R_b\) correspond à un changement de base
- En 2D, il s’agit d’une rotation de \(\alpha\), l’angle direct entre \(\overrightarrow{i}\) et \(\overrightarrow{i'}\)
- On peut inverser la formule:
- \({}^b P = \underbrace{- {}^b R_a({}^a B)}_{(1)} + {}^b R_a ({}^a P)\)
- Le terme (1) correspond à \({}^b A\)
Algèbre matriciel
- Une matrice \({\color{red} m} \times {\color{blue} n}\) est un tableau de \(\color{red} m\) lignes et \(\color{blue} n\) colonnes.
- Un vecteur est une matrice de \(1\) colonne
- L’addition de 2 matrices se fait élément par élément
- La multiplication d’une matrice par un scalaire se fait élément par élément
\[ A_{{\color{red} 3} \times {\color{blue} 2}} = \begin{bmatrix} {\color{black} a_{11}} & {\color{gray} a_{12}} \\ {\color{black} a_{21}} & {\color{gray} a_{22}} \\ {\color{black} a_{31}} & {\color{gray} a_{32}} \\ \end{bmatrix} \]
\[ A^T_{{\color{blue} 2} \times {\color{red} 3}} = \begin{bmatrix} {\color{black} a_{11}} & {\color{black} a_{21}} & {\color{black} a_{31}} \\ {\color{gray} a_{12}} & {\color{gray} a_{22}} & {\color{gray} a_{32}} \end{bmatrix} \]
- La transposée de \(A\) est notée \(A^T\)
- Elle est obtenue en échangeant les lignes et les colonnes
- Si \(A\) est de taille \({\color{red} m} \times {\color{blue} n}\), alors \(A^T\) est de taille \({\color{blue} n} \times {\color{red} m}\)
- Pour multiplier la matrice \(A\) par la matrice \(B\), le nombre de colonnes de \(A\) doit être égal au nombre de lignes de \(B\).
- Si \(A\) est de taille \({\color{red} m} \times {\color{violet} n}\) et \(B\) est de taille \({\color{violet} n} \times {\color{blue} p}\), alors le produit \(AB\) est de taille \({\color{red} m} \times {\color{blue} p}\).
- Si \(M = AB\), alors \(m_{ij}\) est le produit scalaire de la \(i\)-ème ligne de \(A\) par la \(j\)-ème colonne de \(B\).
- Le produit scalaire du vecteur \(u\) avec \(v\) s’obtient en calculant \(u^T v\)
- Une matrice identité est une matrice carrée avec des \(1\) sur la diagonale et des \(0\) ailleurs. C’est l’élément neutre de la multiplication matricielle.
- L’inverse de \(A\) est noté \(A^{-1}\), est tel que \(A^{-1} A = I\)
- Le produit est associatif \(A(BC) = (AB)C\) et distributif \(A(B+C) = AB + AC\)
- Les termes changent de place par transposition et inversion: \((AB)^T = B^T A^T\) et \((AB)^{-1} = B^{-1} A^{-1}\)
- La matrice de rotation \({}^a R_b\) permet de changer un vecteur de la base \(\{ b \}\) vers la base \(\{ a \}\).
- En 2D, les matrices de rotations sotn de la forme \(R(\alpha) = \begin{bmatrix} cos(\alpha) & -sin(\alpha) \\ sin(\alpha) & cos(\alpha) \end{bmatrix}\)
- La transposée d’une matrice de rotation est son inverse: \(R(\alpha)^T = R(\alpha)^{-1}\)
- La \(k\)-ème colonne de \({}^a R_b\) sont les coordonnées du \(k\)-ème vecteur de la base \(\{ b \}\) exprimées dans la base \(\{ a \}\).
- Une matrice de transformation \({}^a T_b\) permet de changer un point de coordonnées \({}^b P\) du repère \(\{ b \}\) vers le repère \(\{ a \}\).
- Les vecteurs de coordonnées sont augmentés d’un \(1\) afin de pouvoir exprimer les translations
- En 2D, les matrices de transformation ont la forme: \[ {}^a T_b = \begin{bmatrix} cos(\alpha) & -sin(\alpha) & x_b \\ sin(\alpha) & cos(\alpha) & y_b \\ 0 & 0 & 1 \end{bmatrix} \]
- De manière plus générale, on peut la composer: \[ {}^a T_b = \begin{bmatrix} {\color{blue} {}^a R_b} & {\color{red}{}^a B} \\ 0 & 1 \end{bmatrix} \]
- L’inverse de \({}^a T_b\) est: \[ {}^a T_b^{-1} = {}^b T_a = \begin{bmatrix} {\color{blue} {}^a R_b^{\color{black} T}} & -{\color{blue} {}^a R_b^{\color{black} T}} {\color{red}{}^a B} \\ 0 & 1 \end{bmatrix} \]
- Dans la notation: \({}^a P = {}^a T_{\color{red} b} {}^{\color{red} b} P\), les \(\color{red} b\) “s’annulent”
- Il est possible de composer des transformations: \({}^a T_c = {}^a T_b {}^b T_c\)
Repères 3D
- Un repère 3D peut être direct ou indirect, on s’appuie pour cela sur la convention de la main droite
- Les sens de rotation conventionnels sont le sens trigonométrique autour des axes
- Ce sens est celui autour duquel la main s’enroule autour du pouce
- Une matrice de transformation homogène 3D est une matrice \(4 \times 4\): \[
{}^a T_b
=
\begin{bmatrix}
{\color{blue} {}^a R_b} & {\color{red}{}^a B} \\
0 & 1
\end{bmatrix}
\]
- \({\color{blue} {}^a R_b}\) est la matrice de rotation \(3 \times 3\)
- La \(k\)-ème colonne de \({\color{blue} {}^a R_b}\) sont les coordonnées du \(k\)-ème vecteur de la base de \(\{ b \}\) exprimées dans la base de \(\{ a \}\)
- \({\color{red}{}^a B}\) sont les coordonnées de l’origine du repère \(\{ b \}\) exprimées dans le repère \(\{ a \}\)
On peut définir les rotations autour des trois axes et la translation pure de la manière suivante:
\(R_x(\alpha) = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & \cos \alpha & -\sin \alpha & 0 \\ 0 & \sin \alpha & \cos \alpha & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}\) \(R_y(\alpha) = \begin{bmatrix} \cos \alpha & 0 & \sin \alpha & 0 \\ 0 & 1 & 0 & 0 \\ -\sin \alpha & 0 & \cos \alpha & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}\) \(R_z(\alpha) = \begin{bmatrix} \cos \alpha & -\sin \alpha & 0 & 0 \\ \sin \alpha & \cos \alpha & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}\) \(tr(x, y, z) = \begin{bmatrix} 1 & 0 & 0 & x \\ 0 & 1 & 0 & y \\ 0 & 0 & 1 & z \\ 0 & 0 & 0 & 1 \end{bmatrix}\)
Modèle de robot
- Un robot est composé de corps rigides (body ou link) connectées par des articulations (joint)
- L’ensemble des corps et des articulation constitue la chaîne cinématique du robot
- Si la chaîne cinématique ne contient pas de boucle, on parle de robot sériel
- Sinon, on parle de robot parallèle
- Le nombre minimum de valeurs permettant de décrire entièrement la configuration du robot est le nombre de degrés de libertés du robot
- Dans le cas d’un robot sériel le nombre d’articulation est le nombre de degrés de libertés
- La configuration des articulations (notée \(q\)) est l’espace articulaire du robot
- La position et l’orientation du ou des effecteurs (par exemple un effecteur) sont l’espace opérationnel, ou l’espace de tâche
- Le modèle géométrique direct est le calcul des coordonnées dans l’espace opérationnel à partir des coordonnées dans l’espace articulaire
- Le modèle géométrique inverse est le calcul des coordonnées dans l’espace articulaire à partir des coordonnées dans l’espace opérationnel
- Dans le cas d’un robot sériel, le modèle géométrique direct s’obtient à partir d’une suite de transformations rigides 3D
- Il n’y a pas de méthode analytique systématique pour obtenir le modèle géomérique inverse d’un robot quelconque, ou le modèle géométrique direct d’un robot parallèle