2019年8月26日月曜日

四脚歩行ロボットを作る その6 バンビ1号大地に立つ・・・のか?

1.立ちません

結論から言います。
立ちません。
歩きません。

前回までに制作した骨格部分の上に、電池(単四eneloop×4本)と制御用のArduino(互換機)を搭載したところ、剛性不足と加工精度不足のため、歩くことはもちろん自力で立つこともできませんでした。

2.歩様のテスト

立ちませんし歩けませんが、めげずに歩様のテストを行います。
こちらをご覧ください。


適当なモノマネ動作ですが、歩いている雰囲気は出せたのではないでしょうか。
スケッチは以下の変数に応じて歩様を変更できるようにしてみました。
  • 歩速
  • 歩幅
  • 接地率(1サイクルの中で足が接地している割合)
  • 体高(接地面から肩までの高さ)
  • 足上げ高さ
  • 右前足に対する位相差
体高だけ下げるとこんな感じに。


体高を下げすぎて、肘部分のサーボがボデーに干渉してしまってます。

体高はもとに戻して、歩幅と歩速を小さくするとトボトボ歩きになります。なんとなくもの悲しい雰囲気がでてませんか?


3.制御と電源

今回、制御にはArduino MEGA 2560の互換件、小型化ボードのMega2560PRO miniなるボードを使っています。ピン数は減らさずにボード面積を大幅に小さくしています。無理やり小さくしているのでGPIOが2列配置になっているのが少々使いにくいのですが、全部使うことなど無いのでそれほど問題にはなりません。
価格はAliexpressで送料込653円でした。
Mega2560 PRO mini

PINOUT図


Pro MicroやPro mini、Nano系列では、PWM出力が不足する為、I2C接続で利用するPWMモータードライバ等を追加する必要がありますが、このボードであればボードサイズ(重量)増加は最低限に抑えつつ、ワンボードで制御できるため採用しました。価格だけであれば、Pro MicroとPCA9685を組み合わせた方が半額ぐらいで出来てしまいますが。

電源は、単四eneloop×4本(約4.8V)とし、サーボとMega2560PROの5Vアウトプットへ直結してます。サーボはともかくボードのアウトプット直結は保護回路もなく事故の元ですので自己責任で。。。

今回の反省は、何も考えずにボードにピンヘッダを立てたことでしょうか。上向きにピンヘッダ立てた方がテストには便利だった気がします。
あと、サーボごとに出力をまとめた基板を自作したので、結局サーボドライバと同じくらいの大きさの基盤が追加されました。I2C接続とかは考えなくて済んだけど。。。

4.まとめ

バンビ1号は歩けませんでしたが、四足歩行について自分なりの考察が進んだ気がします。歩くことの難しさも実感とされてきました。
重心の遷移が継続的に発生し、外力の影響も受けているにもかからず、歩行状態を破綻させないというのはとても高度な制御が必要なのでしょう。それを意識できずにやっている生物の能力の高さを痛感します。
ロボットへの考察を深めるほど、生物への興味が湧いてくるのが興味深い今日この頃です。

0 件のコメント:

コメントを投稿

ESP32でスマホとシリアル通信 その2 BluetoothでLチカ

1.BluetoothでLチカ制御 前回、Bluetoothでの双方向通信に成功しましたので、ついでに少しスケッチを修正してスマホからESP32のLチカを制御した様子が以下の動画です。 撮影が悪くて画面が良く見えませんが、"1"を送信...