Simulation 2D de la Marche


Objectifs : Visualiser la cinématique de marche du robot via une modélisation 2D simplifiée en Python pour tester les stratégies de marche et mieux appréhender les concepts liés à la locomotion robotique humanoïde.

Basé sur la biomécanique humaine

Le robot est conçu pour reproduire la dynamique de la marche humaine à travers une simplification du système locomoteur. Les segments (cuisse, tibia, pied) sont modélisés par des traits articulés, et le mouvement suit un cycle périodique.

• Cycle de Marche

Phases et sous-phases du cycle de marche selon Perry et al. (1992)

Figure : Définition des phases et sous-phases du cycle de marche selon Perry et al. (1992).

Les rôles des articulations du genou et de la cheville sont indiqués pour chaque phase.

• Descriptif détaillé de chaque pas

  • Contact Initial (Initial Contact): Instant où le pied entre en contact avec le sol.
  • Réponse au Chargement (Loading Response): Transfert du poids sur la jambe d'appui.
  • Appui Medio-Plantaire (Mid Stance): Le corps progresse au-dessus du pied d'appui.
  • Appui Propulsif (Terminal Stance): Poussée vers l'avant initiée par la cheville.
  • Pré-Oscillation (Pre-Swing): Préparation au soulèvement du pied.
  • Oscillation Initiale (Initial Swing): Le pied quitte le sol et commence à avancer.
  • Oscillation Medio-Pied (Mid Swing): La jambe avance sous le corps.
  • Oscillation Terminale (Terminal Swing): Préparation à la prise de contact du pied.
  • Préparation au Contact (Swing Preparation): Phase de décélération de la jambe oscillante.
  • Placement du Pied (Foot Placement): Le pied se positionne pour le prochain contact.

La progression à travers ces phases est déterminée par le temps et la fréquence des pas.

• Paramètres du corps humain (Référence pour la simulation)

Les dimensions physiques du robot dans cette simulation sont basées sur les mesures d'un étudiant spécifique. Ces valeurs ont été utilisées comme référence pour définir les longueurs des segments (cuisse, tibia, pied) et la hauteur de la hanche du modèle virtuel, influençant directement la cinématique de la marche simulée. Il est important de noter que ces mesures sont spécifiques à cet individu et peuvent varier considérablement pour d'autres personnes.

  • Longueur de la cuisse: 0.47 mètre (distance entre la hanche et le genou)
  • Longueur du tibia: 0.45 mètre (distance entre le genou et la cheville)
  • Longueur du pied: 0.25 mètre (distance de la cheville à l'extrémité du pied)
  • Hauteur de la hanche: 0.92 mètre (hauteur verticale du centre de la hanche par rapport au sol en position debout)

Ces paramètres servent de base pour les longueurs des segments définies dans la section "Contraintes Physiques".

• Contraintes Physiques

Contrainte Description Valeur (unité)
Longueur des Segments Les longueurs de la cuisse, du tibia et du pied sont fixes. Cuisse: 0.47 m, Tibia: 0.45 m, Pied: 0.25 m
Niveau du Sol Le contact avec le sol se produit à une hauteur verticale de 0 m. 0 m
Dégagement du Pied Le pied oscillant doit atteindre un dégagement vertical pour éviter de heurter le sol. 0.12 m (amplitude maximale)
Fréquence des Pas Le rythme de la marche est maintenu à une fréquence constante. 1.1 Hz
Longueur des Pas La distance parcourue à chaque pas est relativement constante. 0.65 m
Mouvement du Bassin Le mouvement du bassin (tangage, roulis, déplacement horizontal) suit des oscillations sinusoïdales avec des amplitudes définies. Tangage: 0.06 rad, Roulis: 0.03 rad, Déplacement horizontal: Amplitude spécifiée dans le code
Contact au Sol Pendant les phases d'appui, le pied est contraint de rester au niveau du sol. La position horizontale du point de contact est mise à jour à chaque nouveau contact initial. Position horizontale variable, hauteur = 0 m
Angles Articulaires Les angles des articulations de la hanche, du genou et de la cheville sont interpolés de manière lissée entre des valeurs prédéfinies pour chaque phase du cycle de marche. Variables en fonction de la phase

• Interpolation des Angles Articulaires

Pour générer un mouvement de marche fluide et coordonné, les angles des différentes articulations du robot (hanche, genou, cheville) évoluent continuellement au cours du cycle de marche. L'interpolation est une technique mathématique utilisée pour estimer des valeurs entre des points de données connus.

Méthode : Nous utilisons une interpolation cubique lissée qui permet :

  • Des transitions douces en position, vitesse et accélération
  • Une représentation mathématique par polynômes de degré trois
  • Un ajustement précis via les conditions aux limites
  • Continuité du mouvement: Évite les changements brusques de posture irréalistes
  • Facilité de contrôle:Trajectoires lisses pour les actionneurs du robot
  • Flexibilité d'ajustement: Modification facile des angles clés pour différentes démarches

• Modélisation du Mouvement du Bassin

Le mouvement du bassin joue un rôle clé dans la marche humaine, contribuant à l'équilibre et à la fluidité du mouvement. Notre modélisation 2D intègre :

  • Tangage (Pelvic Tilt): Inclinaison avant/arrière autour d'un axe transversal
  • Déplacement Vertical (Pelvic Height):Variation de hauteur pendant le cycle de marche (influence sur la hauteur des hanches)
  • Roulis (Pelvic Rotation):Rotation verticale favorisant l'avancée de la hanche
  • Déplacement Horizontal (Pelvic Sway): Mouvement latéral du bassin

Note technique : Ces mouvements sont modélisés par des fonctions sinusoïdales paramétrables (amplitude, fréquence, phase) permettant de simuler différentes caractéristiques de marche. Les amplitudes pour le tangage, le roulis et le déplacement horizontal sont définies dans le code.

• Gestion du Contact au Sol et de l'Oscillation

Contact au Sol

  • Pied maintenu à z = 0 (niveau du sol)
  • Position horizontale évolutive avec la progression
  • Détection précise des transitions entre phases
  • Prévention de la pénétration dans le sol

Phase d'Oscillation

  • Décalage vertical du pied basé sur une fonction parabolique pour le dégagement
  • Hauteur de dégagement maximale de 0.12 m
  • La trajectoire vise à assurer un dégagement suffisant pour éviter les collisions
  • Le placement précis du pied pour le prochain contact est géré

Transition : Le passage entre phases est déterminé par la progression dans le cycle (pourcentage) ou par des critères spécifiques (temps écoulé).

Si vous voulez accéder directement au code :