簡単な二足歩行ロボットNX09でモーション作成その②
- 2017/09/07
- 00:14
簡単な二足歩行ロボットNX09の紹介。
Simple biped robot NX09
ロボットの説明はこちら
こんにちはRoboTakaoです。ようこそ「極力ローコスト ロボット製作 ブログ」にお越しくださいました。
Hello everyone! I'm Robo Takao. Welcome to "low cost robot building blog"
今回は私の作った簡単な二足歩行ロボットの超簡単なモーションを説明します。
Let me introduce to you the motion of my simple biped robot.
前回まででホームポジションを決めました。
The home position was decided on previously.
ホームポジションについて
今回は歩行のモーションを作成します。
0.3秒ごとに各サーボに角度を与えて、パラパラマンガのように動かします。
In this time, I make walking motion like animation.
ステップ Step
1 右足を上げる。(10°傾ける) Right leg Up
2 右足を前に出す。(−10°回転させる)Right leg FWD
3 反対側に体を傾けて、左足を上げる(−10°傾ける)
Tilting body to opposite side and left leg UP
4 左足を前に出す。(10°回転させる)Left leg FWD
5 さらに左足を前に出す。(10°回転させる)Left leg FWD
6 右足を上げる。(10°傾ける)Right leg Up






スケッチはこんな感じです。
ホームポジションをang0で設定して、angの角度分だけ足してサーボの位置を決めます。
角度は実際には少し調整して10°を12°に変えているところがあります。
Sketch is here. Home position is “ang0”. And motion data are “ang”.
I adjusted some angles as 12deg.
スケッチ sketch

#include
Servo myservo2;
Servo myservo3;
Servo myservo4;
Servo myservo5;
// LU,LB,RU,RB
int ang0[4]={92,89,87,87};
int ang[6][4]={
{10,0,10,0},
{10,-12,10,-12},
{-12,-12,-12,-12},
{-12,0,-12,0},
{-12,12,-12,12},
{10,12,10,12}};
void setup()
{
myservo2.attach(2);
myservo3.attach(3);
myservo4.attach(4);
myservo5.attach(5);
}
void loop()
{
for (int i=0; i <=5
; i++){
myservo2.write(ang0[0]+ang[i][0]);
myservo3.write(ang0[1]+ang[i][1]);
myservo4.write(ang0[2]+ang[i][2]);
myservo5.write(ang0[3]+ang[i][3]);
delay(300);
}
}
それでは今回はこの辺で失礼します!ありがとうございました。
Thank you for your visiting!
Simple biped robot NX09
ロボットの説明はこちら
こんにちはRoboTakaoです。ようこそ「極力ローコスト ロボット製作 ブログ」にお越しくださいました。
Hello everyone! I'm Robo Takao. Welcome to "low cost robot building blog"
今回は私の作った簡単な二足歩行ロボットの超簡単なモーションを説明します。
Let me introduce to you the motion of my simple biped robot.
前回まででホームポジションを決めました。
The home position was decided on previously.
ホームポジションについて
今回は歩行のモーションを作成します。
0.3秒ごとに各サーボに角度を与えて、パラパラマンガのように動かします。
In this time, I make walking motion like animation.
ステップ Step
1 右足を上げる。(10°傾ける) Right leg Up
2 右足を前に出す。(−10°回転させる)Right leg FWD
3 反対側に体を傾けて、左足を上げる(−10°傾ける)
Tilting body to opposite side and left leg UP
4 左足を前に出す。(10°回転させる)Left leg FWD
5 さらに左足を前に出す。(10°回転させる)Left leg FWD
6 右足を上げる。(10°傾ける)Right leg Up






スケッチはこんな感じです。
ホームポジションをang0で設定して、angの角度分だけ足してサーボの位置を決めます。
角度は実際には少し調整して10°を12°に変えているところがあります。
Sketch is here. Home position is “ang0”. And motion data are “ang”.
I adjusted some angles as 12deg.
スケッチ sketch

#include
Servo myservo2;
Servo myservo3;
Servo myservo4;
Servo myservo5;
// LU,LB,RU,RB
int ang0[4]={92,89,87,87};
int ang[6][4]={
{10,0,10,0},
{10,-12,10,-12},
{-12,-12,-12,-12},
{-12,0,-12,0},
{-12,12,-12,12},
{10,12,10,12}};
void setup()
{
myservo2.attach(2);
myservo3.attach(3);
myservo4.attach(4);
myservo5.attach(5);
}
void loop()
{
for (int i=0; i <=5
; i++){
myservo2.write(ang0[0]+ang[i][0]);
myservo3.write(ang0[1]+ang[i][1]);
myservo4.write(ang0[2]+ang[i][2]);
myservo5.write(ang0[3]+ang[i][3]);
delay(300);
}
}
それでは今回はこの辺で失礼します!ありがとうございました。
Thank you for your visiting!
スポンサードリンク