ラボ
ラジコン用サーボを使った4足ロボット
サーボの駆動方法についてはこちらをごらんください → TiColla CDEでラジコン用サーボを動かす4本足の動物はどう歩く?
歩く馬の動きを分解した写真(コマ撮り)を元に、足の曲がるタイミングを研究してみます。下のアニメーションは8コマで一周しています。
足一本の動きはどうなっているでしょうか?膝は付け根が後ろから前に動く時は曲がっていて、前から後ろに動く時は伸びています(自分で歩きながら動きを考えてみてください)。一本一本の足の動きはどれも同じですが、
付け根と膝の曲がる方向やタイミングは違っています。この組み合わせのパターンのことを「歩様」といいます。

4足ロボットのデザイン
コネクター数やプログラムの速度などの制約から、全ての自由度を再現することはできません。そこで、最低限必要な付け根(足を前後させる)とひざ(足の長さを変える)で、計8自由度のモデルとします。

足を作る(ユニバーサルプレートとサーボホーンの加工)
カットしたユニバーサルプレートをサーボの出力軸の根元が取り付けられるように加工します。
サーボに付属のサーボホーンの穴を5mmピッチ/3mmφ穴に合うように加工します。




胴体、足の付け根を作る
胴体はユニバーサルプレート、足の付け根はL字プレートをカットして作ります。

変換ボード
コネクター変換用のヘッダーピンと電源ラインを1枚のボードで作成します。
電池ボックスとつなぐヘッダーピンに、各サーボの電源ピンとコントローラーボードへの電源ケーブルを並列接続します(電源に対してサーボとコントローラーボードを並列)。
[表]![]() |
[裏]![]() |
コントローラーボードのコネクターへの信号線接続用に1ピンケーブルを作成します。(グランドは電源ラインと共有しています)
変換用のピンは1ピン+3ピン=4ピンが、8組です。
※JRTのケーブルを使用する場合は信号以外の2本を切り、変換ピンもコネクターに合わせて工夫してください。
組み立て:胴体にコントローラーボードと電源を固定する
胴体のユニバーサルプレート、足の付け根のL字プレート、コントローラーボードは胴体上部、電池ボックスは胴体下部にスペーサで固定します。
多数のサーボを同時に使用するので、たくさんの電流が必要になります。コントローラーボードのコネクタからの電流では足りません。アルカリ電池4本でも6Vですが、すぐに4.8V以下になってしまうので、単四型ニッケル水素充電池5本で駆動するのが理想的です。

※コントローラボード用に006P電池などを使ってサーボ用電源と分離した方がノイズ、電圧低下の問題が回避できるのでよりよいでしょう。
その場合、コントローラーボードと変換ボードの接続は、信号とグランドの2線ケーブルにする必要があります。
組み立て:配線
コントローラーボードのコネクターとサーボの接続は図のようになっています。
プログラムの記号定数定義、コメントも参照してください。#define(マクロ)でサーボとチャンネルの関係を決めています。

コントローラーボード、電源、サーボを配線します。サーボホーンのネジはまだ固定しません。
※CN3、CN4をアナログセンサーで使用できるようにCN5とCN6を使用しています。ジャンパーの位置に注意してください。J1、J2、J3はA、J4はBです。

プログラム:8個のサーボを順番に動かして歩く
プログラムは、各コマのポーズを取り出して順番にアニメーションのようにつなげていきます。実験ではサーボ角度のパラメーター設定を簡単にするため、さらに4つのポーズに減らしてプログラムします。


ポーズを作るために関数「servo」を定義してmainの中にポーズを順番に記述します。
servoには9つの引数、サーボ8個の曲がり度合いとポーズの保持時間を指定します。
実験プログラムは、最初にすべてのサーボを15msecでニュートラル位置にして数秒待ち、その後5歩前進、この動作をループで繰り返します。
最初のニュートラル位置で一旦電源を切り、まっすぐに立った状態に組み立てます。おおまかなサーボ制御ですので、ぴったりまっすぐには固定できません。
少しずつ歩かせてみながらサーボホーンの取り付け位置を調整してネジで固定します。足の付け根のネジが抜き差ししづらい場合はL字プレートを外してから固定します。

ハードウェア設定(jpg)
4足ロボット歩行実験プログラム main.c(txt)
4足ロボット歩行実験プログラム ソース(zip)
4足ロボット歩行実験 動画 横から(AVI)
4足ロボット歩行実験 動画 上から(AVI)
※動かない場合
正しくコンパイル終了後にダウンロードしても動かない場合は、Stack-Location#2に設定して再度コンパイルしてみてください。
参考にした動物とロボットでは関節の比率が違い、動作も一部を取り出したものになっています。動物の動きはあくまで参考として、関節の曲がる角度もプログラムではデフォルメしています。
今回の実験は、重心を感知して制御しているわけではなく基本的には静歩行ですが、パラメーターを変えたり、各関節の比率、繋がり方など、いろいろな動物を比べてうまくロボットにいかしてみても面白いでしょう。
ロボットを様々な歩様で歩かせる事は重心のデータを使う動歩行でも難しい課題です。歩様は、馬だけでも速さによって変わりますし、動物によって様々です。身近な動物や、動物園に行った時など、じっくり観察してみてください。写真家のマイブリッジが撮影した分解写真なども参考になるでしょう。
2足歩行の実験
実験モデルは、付け根、膝、足首の曲げと傾きで片足4自由度、両足で8自由度です。
デザインは、4足よりもバランスが難しくなります。各関節、回転軸の位置関係や重心を低くする工夫、足裏の大きさなどが重要です。このモデルはまだ安定性が低く、よく転んでしまいます。また、さらに単純な組み立て方もできるでしょう。
市販のヒューマノイドロボットの体の各部分の比率も研究してみてください。人間とはかなり違っていることがわかります。
プログラムは4足用のパラメーター(各関節を曲げる順番)を書き換えているだけです。
ラジコン用サーボをベースにした市販のヒューマノイドロボットも基本的にこの方法で歩いています。
2足ロボット歩行実験 動画(AVI)







