Robot holonome - lois de commande

4 septembre 2022

Nous avons vu dans les articles précédents (partie 1 et partie 2) comment déterminer le mouvement d’un robot holonome à partir de la rotation de ses moteurs.

Pour rappel, notre robot ressemble à ceci avec les roues à équidistance du centre du robot, chacune à 120° l’une de l’autre :


Nommage des vitesses

Maintenant que nous avons déterminé la vitesse du robot (en x, y) et sa rotation (en z), nous souhaitons faire l’inverse : obtenir la commande des moteurs en fonction des mouvements désirés du robot.

Les équations que nous avions obtenues étaient les suivantes :

$$\left\{\begin{array}{l} V_{Ox} = \frac13\times V_{AF} + \frac13\times V_{BF} - \frac23\times V_{CF}\\ V_{Oy} = -\frac{\sqrt{3}}{3}\times V_{AF} +\frac{\sqrt{3}}{3}\times V_{AB} \\ \omega_z = -\frac{1}{3\times d} V_{AF} -\frac{1}{3\times d} V_{BF} -\frac{1}{3\times d} V_{CF} \end{array} \right. $$

Contrairement au système d’équations de l’article précédent, où seule deux des inconnues nous intéressaient, ici nous souhaitons déterminer toutes les inconnues. Donc point de grosse réflexion, nous appliquons la règle de Cramer, oui, encore une fois... Voici nos matrices :

$$AX=\Lambda$$


Avec :

$$ A= \left[ \begin{array}{ccc} \frac13 & \frac13 & -\frac23 \\ -\frac{\sqrt{3}}{3} & \frac{\sqrt{3}}{3} & 0\\ -\frac{1}{3d} & -\frac{1}{3d} &-\frac{1}{3d} \end{array} \right]$$

$$ X= \left[ \begin{array}{c} V_{AF} \\ V_{BF} \\ V_{CF} \end{array} \right]$$

$$ \Lambda= \left[ \begin{array}{c} V_{Ox} \\ V_{Oy} \\ \omega_z \end{array} \right]$$

Le calcul du déterminant de A donne :

$$ \det(A) = \frac{-2}{3}\frac{\sqrt{3}}{9 d} -\frac{2}{3}\frac{\sqrt{3}}{9 d} -\frac{1}{3d}\frac{\sqrt{3}}{9} -\frac{1}{3d}\frac{\sqrt{3}}{9} $$

$$ \det(A) = - \frac{2\sqrt{3}}{9d} $$


Le déterminant est non nul, le système admet une solution.

Contrairement aux équations des articles précédents, où seule la rotation et la vitesse en A nous intéressaient, ici nous souhaitons déterminer les trois inconnues. C’est parti pour construire A1 en remplaçant la première colonne de A par le vecteur Λ :

$$ A_1= \left[ \begin{array}{ccc} V_{Ox} & \frac13 & -\frac23 \\ V_{Oy} & \frac{\sqrt{3}}{3} & 0\\ \omega_z & -\frac{1}{3d} &-\frac{1}{3d} \end{array} \right]$$

Détermination du déterminant de A1 :

$$ \det(A_1) = \frac{2}{9 d} V_{Oy} +\frac{2 \sqrt{3}}{9} \omega_z -\frac{\sqrt{3}}{9 d} V_{Ox} +\frac{1}{9d}V_{Oy} $$


$$ \det(A_1) = -\frac{\sqrt{3}}{9 d} V_{Ox} +\frac{3}{9 d} V_{Oy} +\frac{2 \sqrt{3}}{9} \omega_z $$

$$ x_1 = \frac{\det(A_1)}{\det(A)} = \frac{1}{2}V_{Ox} - \frac{\sqrt3}{2}V_{Oy}- d \times \omega_z $$

D’où la solution :

$$ V_{AF} = \frac{1}{2}V_{Ox} - \frac{\sqrt{3}}{2}V_{Oy} - d \times \omega_z $$

En appliquant la même méthode, nous déterminons VBF et VCF :

$$ V_{BF} = \frac{1}{2}V_{Ox} + \frac{\sqrt{3}}{2}V_{Oy} - d \times \omega_z $$


$$ V_{CF} = - V_{Ox} - d \times \omega_z $$

Conclusion

Ces équations vont permettre d’asservir le robot sur une trajectoire.

Commentaires

Il n'y a pas de commentaires

Ajouter un commentaire

Pseudo :
Mail :

Texte :

Copyright "POIVRON" 2011-2023, tous droits réservés
Administration du site