Initiation à la robotique Définition du problème
On cherche à trouver le modèle direct ie l'expression de ( x , y , z ) (x,y,z) ( x , y , z ) en fonction
de ( θ 0 , θ 1 , θ 2 ) (\theta_0, \theta_1, \theta_2) ( θ 0 , θ 1 , θ 2 ) (modèle direct) puis l'expression de ( θ 0 , θ 1 , θ 2 ) (\theta_0, \theta_1,
\theta_2) ( θ 0 , θ 1 , θ 2 ) en fonction de ( x , y , z ) (x,y,z) ( x , y , z ) (modèle inverse). Nous définissons le repère
R \mathcal{R} R centré sur la première articulation de la patte (repère 0).
Rappel sur la matrice de rotation
En 2D autour de 0 : r o t ( 0 , θ ) = ( cos θ − sin θ sin θ cos θ ) rot_{(0,\theta)} = \begin{pmatrix} \cos{\theta} & - \sin{\theta} \\\\
\sin{\theta} & \cos{\theta} \end{pmatrix} ro t ( 0 , θ ) = cos θ sin θ − sin θ cos θ
En 3D autour de 0 : r o t ( 0 , ( O , z ) , θ ) = ( cos ( θ ) − sin ( θ ) 0 sin ( θ ) cos ( θ ) 0 0 0 1 ) rot_{(0, (O,z), \theta)} =
\begin{pmatrix}
\cos(\theta) & -\sin(\theta) & 0 \\\\
\sin(\theta) & \cos(\theta) & 0 \\\\
0 & 0 & 1 \\\\
\end{pmatrix} ro t ( 0 , ( O , z ) , θ ) = cos ( θ ) sin ( θ ) 0 − sin ( θ ) cos ( θ ) 0 0 0 1
Modèle Direct
Soit la matrice A A A correspondant à l'origine du repère 1, A = ( l 0 × cos θ 0 l 0 × sin θ 0 0 ) R A = \begin{pmatrix}
l_0 \times \cos{\theta_0} \\\\ l_0 \times \sin{\theta_0} \\\\ 0 & \end{pmatrix}_\mathcal{R} A = l 0 × cos θ 0 l 0 × sin θ 0 0 R
Soit la matrice B B B correspondant à l'origine du repère 2, B = ( l 1 cos ( π − θ 1 ) 0 l 1 sin ( π − θ 1 ) ) R 1 B = \begin{pmatrix}
l_1 \cos{(\pi - \theta_1 )} \\\\ 0 \\\\ l_1 \sin{(\pi - \theta_1)}\end{pmatrix}_{\mathcal{R}_1} B = l 1 cos ( π − θ 1 ) 0 l 1 sin ( π − θ 1 ) R 1 on a donc
r o t θ 0 , O z ⋅ B R 1 + A 2 ( cos θ − sin θ 0 sin θ cos θ 0 0 1 ) ⋅ ( l 1 cos ( π − θ 1 ) 0 l 1 sin ( π − θ 1 ) ) + ( l 0 cos θ 0 l 0 sin θ 0 0 ) \begin{align*}
rot_{\theta_0, \mathcal{O}_z} &\cdot B_{\mathcal{R}_1} + A_2 \\\\
\begin{pmatrix} \cos{\theta} & -\sin{\theta} & 0 \\\\
\sin{\theta} & \cos{\theta} \\\\
0 & 0 & 1 \end{pmatrix} &\cdot \begin{pmatrix}
l_1 \cos{(\pi - \theta_1)} \\\\
0 \\\\
l_1 \sin{(\pi - \theta_1)}
\end{pmatrix} + \begin{pmatrix} l_0 \cos{\theta_0} \\\\ l_0 \sin{\theta_0} \\\\
0 \end{pmatrix}
\end{align*} ro t θ 0 , O z cos θ sin θ 0 − sin θ cos θ 0 0 1 ⋅ B R 1 + A 2 ⋅ l 1 cos ( π − θ 1 ) 0 l 1 sin ( π − θ 1 ) + l 0 cos θ 0 l 0 sin θ 0 0
Soit M M M le point au bout de la patte, nous pouvons donc caractériser B M ⃗ = ( l 2 cos ( π − θ 2 ) 0 l 2 sin ( π − θ 2 ) ) R 2 \vec{BM}
= \begin{pmatrix} l_2 \cos{(\pi - \theta_2)} \\\\ 0 \\\\ l_2 \sin{(\pi -
\theta_2)} \end{pmatrix}_{\mathcal{R}_2} BM = l 2 cos ( π − θ 2 ) 0 l 2 sin ( π − θ 2 ) R 2
Au final on a ( x , y , z ) = r O z , θ 0 ⋅ r ( 0 , y ) , π − θ 1 ⋅ B M ⃗ R 2 + B R 0 (x,y,z) = r_{\mathcal{O}_z, \theta_0} \cdot r_{(0,y),
\pi-\theta_1} \cdot \vec{BM}_{\mathcal{R}_2} + B_{\mathcal{R}_0} ( x , y , z ) = r O z , θ 0 ⋅ r ( 0 , y ) , π − θ 1 ⋅ BM R 2 + B R 0
Modèle Inverse
θ 0 = tan − 1 ( y x ) \theta_0 = \tan^{-1}{(\dfrac{y}{x})} θ 0