Aller au contenu principal

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) en fonction de (θ0,θ1,θ2)(\theta_0, \theta_1, \theta_2) (modèle direct) puis l'expression de (θ0,θ1,θ2)(\theta_0, \theta_1, \theta_2) en fonction de (x,y,z)(x,y,z) (modèle inverse). Nous définissons le repère R\mathcal{R} centré sur la première articulation de la patte (repère 0).

Rappel sur la matrice de rotation​

En 2D autour de 0 : rot(0,θ)=(cos⁡θ−sin⁡θsin⁡θcos⁡θ)rot_{(0,\theta)} = \begin{pmatrix} \cos{\theta} & - \sin{\theta} \\\\ \sin{\theta} & \cos{\theta} \end{pmatrix}

En 3D autour de 0 : rot(0,(O,z),θ)=(cos⁡(θ)−sin⁡(θ)0sin⁡(θ)cos⁡(θ)0001)rot_{(0, (O,z), \theta)} = \begin{pmatrix} \cos(\theta) & -\sin(\theta) & 0 \\\\ \sin(\theta) & \cos(\theta) & 0 \\\\ 0 & 0 & 1 \\\\ \end{pmatrix}

Modèle Direct​

Soit la matrice AA correspondant à l'origine du repère 1, A=(l0×cos⁡θ0l0×sin⁡θ00)RA = \begin{pmatrix} l_0 \times \cos{\theta_0} \\\\ l_0 \times \sin{\theta_0} \\\\ 0 & \end{pmatrix}_\mathcal{R}

Soit la matrice BB correspondant à l'origine du repère 2, B=(l1cos⁡(π−θ1)0l1sin⁡(π−θ1))R1B = \begin{pmatrix} l_1 \cos{(\pi - \theta_1 )} \\\\ 0 \\\\ l_1 \sin{(\pi - \theta_1)}\end{pmatrix}_{\mathcal{R}_1} on a donc

rotθ0,Oz⋅BR1+A2(cos⁡θ−sin⁡θ0sin⁡θcos⁡θ001)⋅(l1cos⁡(π−θ1)0l1sin⁡(π−θ1))+(l0cos⁡θ0l0sin⁡θ00)\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*}

Soit MM le point au bout de la patte, nous pouvons donc caractériser BM⃗=(l2cos⁡(π−θ2)0l2sin⁡(π−θ2))R2\vec{BM} = \begin{pmatrix} l_2 \cos{(\pi - \theta_2)} \\\\ 0 \\\\ l_2 \sin{(\pi - \theta_2)} \end{pmatrix}_{\mathcal{R}_2}

Au final on a (x,y,z)=rOz,θ0⋅r(0,y),π−θ1⋅BM⃗R2+BR0(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}

Modèle Inverse​

θ0=tan⁡−1(yx)\theta_0 = \tan^{-1}{(\dfrac{y}{x})} θ1=tan⁡−1(−zx2+y2−l12)−cos⁡−1(l12−l22−(z2+(x2+y2−l02)2)2l1z2+(x2+y2−l0)2)+π\begin{align} \theta_1 &= \tan^{-1}(\dfrac{-z}{\sqrt{x^2+y^2}-l_1^2})\\\\ &- \cos^{-1}(\dfrac{l_1^2 - l_2^2 - (z^2 + (\sqrt{x^2+y^2} - l_0^2)^2)}{2 l_1 \sqrt{z^2 + (\sqrt{x^2+y^2}-l_0)^2}})\\\\ &+\pi \end{align} θ2=2π−cos⁡−1(−AM2+BM2+AB22×BM×AB)θ2=2π−cos⁡−1(−z2−(x2+y2−l0)2+l22+l122l1l2)\begin{align*} \theta_2 &= 2 \pi - \cos^{-1}{(\dfrac{-AM^2+BM^2+AB^2}{2 \times BM \times AB})} \\\\ \theta_2 &= 2 \pi - \cos^{-1}{(\dfrac{-z^2-(\sqrt{x^2+y^2} -l_0)^2+l_2^2+l_1^2}{2 l_1 l_2})} \end{align*}

Quelques exemples​

  1. Projet