はじめに
今回は,Petoi Bittleのサンプルコードを使って,4足歩行ロボットの制御を行う.
本記事ではキャリブレーションを解説していく.
前回記事はこちら
キャリブレーション
まず,"OpenCat/WriteInstinct/OpenCat.h"の"#define NyBoard_V*_*"が,使用しているNyBoardのバージョンと一致しているか確認し,違うならばバージョンを合わせる.
次に,"OpenCat/WriteInstinct/WriteInstinct.ino"を書き込み,サーボやIMUのキャリブレーションを行う.この時,Petoi Bittleを水平な床においてキャリブレーションを行う.
この姿勢で置くと安定すると思います.
書き込みが終わったら,シリアルモニタを開いて3つの質問に対し,「Y」を送信します.
3つの質問は以下の通りです.筆者は最後の質問が表示されていないので,もしかすると何か見落としがあるのかもしれません.
- Reset all joint calibration? (Y/n)
- Do you need to update Instincts? (Y/n)
- Calibrate MPU? (Y/n)
微調整
次に,"OpenCat/OpenCat.ino"を書き込み,サーボの微調整を行う.
- シリアルモニタを開き,"c"と送信することでキャリブレーションモードに移行
- シリアルモニタで以下の形式でコマンドを送信し,サーボの微調整をする.
c[パーツ番号] [角度]
例: c8 0
Pettoi Bittleのサーボの対応は以下のとおりである.コツとして,角度は-9~9を指定すると公式では書かれている.
しかし必ずしもこの範囲を守る必要はない.実際筆者のPettoi Bittleの左前足がかなり上向きだったため,-9~9の範囲を超えて30を指定している.
目標の姿勢は以下のとおりである.サーボの微調整には付属のジョイントチューナを用いる.
起動
すべてのサーボの角度が正しく調整出来たら,お腹のバッテリーを起動する.
2秒間電源ボタンを押し続けると起動する.電源を切りたい場合にも2秒間電源ボタンを押し続ける.
その後,IRリモコンのキャリブレーションボタンを押し,目標の姿勢になっているかを確認する.
なお,バッテリーは2秒間押し続けることで起動する.バッテリーのライトの色で状態を把握することができる.
電源を消す際も2秒間押し続ける.
- 青:満充電
- 赤:充電が必要
IRリモコンのボタン分布を以下に示す.
日本語にするとこう
ふせ(CH-) | 前進(CH) | ジャイロON/OFF(CH+) |
左折(│◃◃) | 直立(▷▷│) | 右折 (▷││) |
サーボ停止(-) | 後退(+) | キャリブレーション(EQ) |
足踏み(0) | 這う(100+) | 歩く(200+) |
小走り(1) | 走る(2) | バウンド(3) |
あいさつ (4) | 腕立て(5) | おしっこ(6) |
ストレッチ (7) | お座り(8) | サーボの脱力(9) |
動作確認
IRリモコンの任意のボタンを押し,歩行ができるか確認する.ジャイロOFFにすることで,ゆっくりな動作の安定性が向上します.かわりに早い動作を行うときはジャイロONが推奨されています.
おわりに
サンプルを動かすだけでも,前進やおすわりなどが実現できていることが分かった.
しかし,右折や左折,ジャンプなどは歩くスピードや他センサを利用しないと安定しないとも感じている.
今後はラズパイなどとの連携を行い,センサを用いたフィードバック制御を行う.