Discussion:Hexapode

De Wiki LOGre
Aller à : navigation, rechercher

Proposition de gestion de la marche

Salut Frédéric !

Tu m'avais parlé jeudi soir d'un problème que tu avais pour faire marcher ton hexapode en lui faisant soulever une seule patte à la fois. Tu avais évoqué le fait que tous les six pas il revenait à la position neutre. J'ai un peu réfléchi depuis, et j'ai compris qu'il ne devait jamais, en marchant ainsi, avoir une position neutre.

Le plus naturel me semble que les six pattes aient toutes le même mouvement : avancer en l'air pendant un sixième de cycle, puis reculer au sol pendant cinq sixièmes de cycle. Seulement elles font ce mouvement en décalé, avec des déphasages de 1/6 de cycle.

Aussi, ça pose une petite difficulté pour démarrer à partir de la position neutre. En position neutre, toutes les pattes sont en phase, il faut donc des démarrages décalés pour créer les bon déphasages. J'ai essayé de travailler cette idée et je suis arrivé au graphe ci-dessous :

Hexapod edgar 1.png

Chaque courbe de couleur représente une patte : en l'air quand la courbe monte, au sol sinon. À l'arrêt, toutes les pattes sont au neutre (à zéro). Ensuite, le départ se passe comme ceci :

  1. Juste avant de démarrer, l'hexapode se prépare en avançant une première patte (en rouge), mais il l'avance de seulement 40% de sa course normale.
  2. Ensuite, la patte rouge étant immobile au sol, il avance la patte verte de 80% de sa course normale.
  3. Quand la patte verte est posée (à t = 0), il avance la patte bleue pour 100% de sa course, et simultanément il commence à avancer son corps en reculant toutes les pattes qui sont au sol. Cette patte bleue démarre directement dans son mouvement normal de marche, car elle est déjà dans sa bonne phase.
  4. Dès qu'elle croise sa bonne phase (à t = 5/36 cycles), la patte mauve décolle.
  5. Un peu plus tard (à t = 10/36) la patte cyan fait de même.
  6. Quand elle arrive en bout de courses (à t = 5/6 elle est à x = −1), la patte grise s'avance à son tour. Mais en réalité cette patte grise était déjà dans sa bonne phase dès son démarrage à t = 0.

En résumé, il y a deux pattes (la bleue et la grise) qui démarrent tout de suite dans leur bonne phase, deux autres (la rouge et la verte) qui doivent anticiper en s'avançant un peu avant le démarrage, et les deux dernières (mauve et cyan) qui démarrent provisoirement sur la phase de la grise, puis se recalent quand elles croisent leur propre phase.

Si tu retournes ce graphique de 180°, tu auras la recette pour revenir au neutre quand l'hexapode s'arrête.

Pour la phase de démarrage, une alternative moins efficace mais plus simple serait de prépositionner les pattes mauve et cyan en arrière, de même que tu prépositionnes les rouge et verte en avant. Comme ça tu pars avec toutes les pattes en position de marche, à leur position qui est celle du graphique à t = 1 cycle. Remarque qu'il y a aussi la bleue à soulever.

C'est plus simple car, dès le démarrage, tu as toutes les pattes dans leur bonne phase. C'est moins efficace car tu as quatre pattes à prépositionner au lieu de deux.

Edgar (discussion) 15 Mar 2015 à 11:07 (UTC)


Voici une proposition des 3 modes (tripod/ripple/wave), basée sur la proposition d'Edgar :

Tripod Ripple Wave

Frédéric (discussion) 16 mars 2015 à 10:17 (UTC)