Voici le type de mouvement que je fais.
Il s'agit d'un rectangle de 160mm de long. Pour plus de clarté, ici, il est symétrique par rapport à l'axe Y de la patte, mais habituellement, je fais un décalage de 20mm vers l'arrière du robot.
Le pas est de 10mm.
int FRx[]= { 80, 70, 60, 50, 40, 30, 20, 10, 0,-10,-20,-30,-40,-50,-60,-70, -80,-70,-60,-50,-40,-30,-20,-10, 0, 10, 20, 30, 40, 50, 60, 70};
int FLx[]= { 80, 70, 60, 50, 40, 30, 20, 10, 0,-10,-20,-30,-40,-50,-60,-70, -80,-70,-60,-50,-40,-30,-20,-10, 0, 10, 20, 30, 40, 50, 60, 70};
int BRx[]= {-80,-70,-60,-50,-40,-30,-20,-10, 0, 10, 20, 30, 40, 50, 60, 70, 80, 70, 60, 50, 40, 30, 20, 10, 0,-10,-20,-30,-40,-50,-60,-70};
int BLx[]= {-80,-70,-60,-50,-40,-30,-20,-10, 0, 10, 20, 30, 40, 50, 60, 70, 80, 70, 60, 50, 40, 30, 20, 10, 0,-10,-20,-30,-40,-50,-60,-70};
int FRy[]= { 0,-10,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-10, 0, 10, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 10};
int FLy[]= { 0, 10, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 10, 0,-10,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-10};
int BRy[]= { 0, 10, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 10, 0,-10,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-10};
int BLy[]= { 0,-10,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-10, 0, 10, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 10};
Avec une moulinette, je lis chaque position pour chaque patte en X et Y, je calcule les angles et j'envoie les ordres à tous les servos.
J'ai également une autre version qui donne les paramètres du rectangle, le pas et la translation à une moulinette, donc pas de tableau.
C'est moins rudimentaire. C'est un choix.
etc.