Vandrande tvåbent (4 servon per ben) (3 / 3 steg)
Steg 3: gå!
Frontal plane
För att uppnå en korrekt promenader, först fokusera på det främre planet.
Det kan vara mycket enkel,
T är en variabel tid mellan varje slinga,
KML är amplituden av fotled rulle mouvement (mellan 5 och 15 °), det beror på platsen för din robot och fötter med masscentrum.
FD och FG är noll position fot rulle.
t = t + 1.
om (t > 100) {t = 0;}
myservo7.write(FG-KML*sin(2*3.14*t/100)); vänster fot
myservo8.write(fd+KML*sin(2*3.14*t/100)); höger fot
fördröjning (T);
Ja är det bara en sinus.
Justera T och KML för att tillåta roboten att lyfta fötterna på marken.
Om KML är att låg det inte blir möjligt, om det är för hög, kommer han att falla.
Pilformigt plan
På bilden, kan du se positionen för lederna enligt gångcykeln.
Den grundläggande idén är att lagra lederna position i tabeller.
två parametrar används för att definiera amplituden av rörelsen.
KST används för höften
och KSW för knät under swing.
Rörelse av det gemensamma är skrivna helt enkelt med linjär funktion enligt % av gångcykeln.
void setkin (int FHD [], int FKD [], int FHG [], int FKG [], int KST, int KSW)
{
för (int jag = 0; jag < = 5; i ++) {
FHD [i] =-KST; Höftböjning rätt
FKD [i] = 0; Knä flexion just}
för (int jag = 6; jag < = 45; i ++) {
FHD[i]=kst*i/20.0-5*kst/4.0;
FKD [i] = 0; } //
för (int jag = 46; jag < = 55; i ++) {
FHD [i] = KST;
FKD [i] = 0; } //
för (int jag = 56; jag < = 80; i ++) {
FHD[i]=-kst*i/10.0+65*kst/10.0;
FKD[i]=KSW*sin((i-55)/40.0*3.14); } //
för (int jag = 81; jag < = 95; i ++) {
FHD [i] =-3 * KST/2.0;
FKD[i]=KSW*sin((i-55)/40.0*3.14); } // //
för (int jag = 95; jag < = 100; i ++) {
FHD [i] = KST * i/10,0-11 * KST;
FKD [i] = 0; } //
Den andra delen erhålls med en tid simetry
för (int jag = 0; jag < = 49; i ++) {
FHG [i] = FHD [50 + jag]; Vänstra höftböjning
FKG [i] = FKD [50 + jag]; Vänster knä flexion}
för (int jag = 50; jag < = 100; i ++) {
FHG [i] = FHD [i-50];
FKG [i] = FKD [i-50]; } }
Vrister:
Om du bara läsa bild, FOTLED =-höft-knä
detta att hålla foten parallell med marken i sagital planet.