c est mieux , je te laisse gérer la suite de la prog. moi je suis sur un RPI2 et en python du coup j ai pas trop développe le C
par contre (sauf erreur de ma part) "COAX","FEMUR","TIBIA" devrais etre des constante.
Maintenant niveau IK la je peux t'aider, dans tes déclaration il va te manquer la hauteur du corps de ton robot pour définir la position la plus basse a laquelle ton robot peu marcher et les distance entre les axe servo avant => arrière et droite => gauche pour définir les offset
après tu dois me dire quel sont les mouvement que tu veux pouvoir faire
exemple offset pour IK simple (hauteur , latéral , longitudinal )
Offset Y = longueur corps / 2 + le déplacement du centre sur Y
Offset X = largeur corps / 2 + le déplacement du centre sur X
Offset Z = hauteur - (hauteur corps / 2) + déplacement du centre sur Z
exemple offset pour IK complet (hauteur , latéral , longitudinal , lacet , roulis , tangage)
Offset Y=longueur corps / 2 x sin(Lacet) x cos(tangage) + la valeur déplacement du centre sur Y
Offset X=largeur corps / 2 x cos(lacet) x cos(roulis) + la valeur déplacement du centre sur X
Offset Z=(hauteur - (hauteur corp / 2)) x sin(roulis) x sin(tangage) + la valeur déplacement du centre sur Z
Maintenant l intérêt de l'IK? Ne contrôler que le centre de ton robot sans te préoccuper d ou se trouve le début de tes pattes .Le calcule des angles de servo commence à l endroit des Offset. Une fois programmé tu n auras plus à définir chaque servo et l IK va gérer les angles servo mais aussi leur vitesse (plus de patte qui glisse au sol COOL) , tu pourras alors créer des fonctions de cycle de marche en définissant ,l ordre de marche, l amplitude des pas et sur la fonction de commandes ça vitesse de déplacement GÉNÉRAL (donc sont centre )