Étape 3: marche!!!
Plan frontal
Pour atteindre une marche correcte, tout d’abord l’accent sur le plan frontal.
Ça pourrait être très simple,
T est un variable temps entre chaque boucle,
KML est l’amplitude de mouvement du rouleau de cheville (entre 5 et 15 °), cela dépend de l’emplacement du centre de masse de votre robot et les pieds avec.
FD et FG sont la position zéro de la course à pied.
t = t + 1 ;
Si (t > 100) {t = 0;}
myservo7.Write(FG-KML*Sin(2*3.14*t/100)) ; pied gauche
myservo8.Write(FD+KML*Sin(2*3.14*t/100)) ; pied droit
retard (T) ;
Oui, c’est juste un sinus.
Régler T et KML pour permettre au robot pour soulever les pieds du sol.
Si KML est à faible qu’il ne sera pas possible, si elle est à vif, il tombera.
Plan sagittal
Sur la photo, vous pouvez voir la position des articulations selon le cycle de marche.
L’idée de base consiste à stocker la position des articulations dans les tableaux.
deux paramètres sont utilisés pour définir l’amplitude du mouvement.
KST est utilisé pour la hanche
et KSW pour le genou pendant le swing.
Le mouvement de la commune sont écrit tout simplement à l’aide de la fonction linéaire selon le % du cycle de marche.
void setkin (int FHD [], int FKD [], int FHG [], int FKG [], int KST, int KSW)
{
pour (int i = 0; i < = 5; i ++) {}
KST-FHD [i] = ; Flexion hanche droite
FKD [i] = 0 ; Flexion du genou droit}
pour (int i = 6; i < = 45; i ++) {}
FHD[i]=KST*i/20.0-5*KST/4.0 ;
FKD [i] = 0 ; } //
pour (int i = 46; i < = 55; i ++) {}
FHD [i] = KST ;
FKD [i] = 0 ; } //
pour (int i = 56; i < = 80; i ++) {}
FHD[i]=-KST*i/10.0+65*KST/10.0 ;
FKD[i]=KSW*Sin((i-55)/40.0*3.14) ; } //
pour (int i = 81; i < = 95; i ++) {}
FHD [i] =-3 * KST/2.0 ;
FKD[i]=KSW*Sin((i-55)/40.0*3.14) ; } // //
pour (int i = 95; i < = 100; i ++) {}
FHD [i] = KST * i/10.0-11 * KST ;
FKD [i] = 0 ; } //
La seconde branche est obtenue avec un temps simetry
pour (int i = 0; i < = 49; i ++) {}
FHG [i] = FHD [50 + i] ; Flexion hanche gauche
FKG [i] = FKD [50 + i] ; Flexion du genou gauche}
pour (int i = 50; i < = 100; i ++) {}
FHG [i] = FHD [i-50] ;
FKG [i] = FKD [i-50] ; } }
Chevilles :
Si vous venez de lire l’image, de la cheville =-hanche-genou
Cela permet de garder le pied parallèle au sol dans le plan sagittale.