Arduino二足歩行ロボットの歩行モーション
- 2017/09/29
- 21:48
Arduino二足歩行ロボットの歩行モーション
こんにちはRoboTakaoです。ようこそ「極力ローコスト ロボット製作 ブログ」にお越しくださいました。
Arduinoで作った簡単二足歩行ロボットのモーションですが、今までは前進だけだったので、
新たに右回転、左回転、後進を追加しました。
回転のモーションの概要
ハの字に足を進めれば回転していきます。

前進のモーションのスケッチ

#include
Servo myservo2;
Servo myservo3;
Servo myservo4;
Servo myservo5;
// LU,LB,RU,RB
int ang0[4]={92,89,87,87};
int ang[6][4]={
{18,0,18,0},
{18,-13,18,-13},
{-15,-13,-15,-13},
{-15,0,-15,0},
{-15,16,-15,13},
{18,16,18,13}};
int ts=300;
int td=10;
int a[4],b[4];
int n;
void setup()
{
myservo2.attach(2);
myservo3.attach(3);
myservo4.attach(4);
myservo5.attach(5);
}
void loop()
{
for (int i=0; i <=5; i++){
for (int j=0; j <=3 ; j++){
if (i == 5) n = 0;
else n = i+1;
a[j] = ang[n][j] - ang[i][j];
b[j] = ang[i][j];
}
for (int k=0; k <=td-1 ; k++){
myservo2.write(ang0[0]+a[0]*k/td+b[0]);
myservo3.write(ang0[1]+a[1]*k/td+b[1]);
myservo4.write(ang0[2]+a[2]*k/td+b[2]);
myservo5.write(ang0[3]+a[3]*k/td+b[3]);
delay(ts/td);
}
}
}
右回転モーション

int ang[6][4]={
{18,0,8,0},
{18,-13,8,-13},
{-15,-13,-5,-13},
{-15,0,-5,0},
{-15,16,-5,13},
{18,16,8,13}};
左回転モーション

int ang[6][4]={
{8,0,18,0},
{8,-13,18,-13},
{-5,-13,-15,-13},
{-5,0,-15,0},
{-5,16,-15,13},
{8,16,18,13}};
後進のモーション

int ang[6][4]={
{-10,0,-10,0},
{-10,-13,-10,-13},
{10,-13,10,-13},
{10,0,10,0},
{10,20,10,13},
{-10,20,-10,13}};
それでは今回はこの辺で失礼します!ありがとうございました。
スポンサードリンク