Tourne tourne ! Voici le premier mouvement composé effectué sans gros accoups.


Cercle en translation

Pour le test, le cercle est composé de 36 sections rectilignes, et la carte qui calcul les mouvements s'assure que la transition entre chaque section soit suffisamment douce.

Pour arriver à ce résultat, l'idée est de s'assurer de la continuité de la vitesse de changement de chacun des paramètres utilisés pour calculer les positions des pattes et des roues. Cela est possible grâce à un filtre qui à tout moment limite les dérivées temporelles premières et secondes des variables. Le filtre utilisé est une quadramp dans le jargon utilisé par Aversive (bibliothèque dont je me suis inspiré). Les paramètres qu'il faut rendre continus ici sont la moyenne, la fréquence et l'amplitude des sinusoïdes générées pour faire bouger les pattes, et cela assure directement que les roues se comporteront bien :)

Pour ceux que ça peut intéresser, ma version un peu simplifiée de la quadramp mise sous forme de lib arduino peut être trouvée sur mon SVN avec tout le reste du code du robot, plus précisément ici. Un petit programme de test rudimentaire en C# est aussi disponible.

(et pour ceux auxquels le titre ne dit rien : http://www.youtube.com/watch?v=9YLQvKX_W6I )