2輪倒立振子ロボット2号機作成の準備。
今度はモーターシールドを使ってシンプルにできないかを試す。
使用したのは、
・Arduino Duemilanove (使っているシールドがUNO R3対応でないため。I2Cを使わないならUNOでもOKのはず。)
・タミヤ ユニバーサルプレート
・タミヤ ダブルギヤボックス
写真ではツインモーターギヤーボックスだが、ダブルギヤボックスに替えた。
ツインモーターギヤーボックスはガタが大きいのでこういう用途には向かないかも...
組み立て完了。モーターシールドを使ったので配線がすっきりした。
うまく立つかな〜
ゲインを調整して一応立つようにはなった。ソフトは1号機と同じ。
モーターシールドの特性のせいなのか、左右に同じ値を出力しているのに旋回してしまう。
左右でモーター出力を調整する必要あり。
ジャイロをアナログ出力からI2C接続のMPU-6050に替えてみる。
シールドにしたので交換は簡単。
MPU-6050についてはここを参考にさせていただく。
・Self balancing robot Robotics - Electronics - Physical Computing
MPU-6050版、ここのソースを少し修正したらあっさり動いた。
ただし立つところまでは行っていない。ゲインを調整しないと...
やたら動きがカクカクするなと思って調べたら、出力が飽和して単なる正転/逆転の2値制御と同じになっていたことが判明。orz
まぁ2値制御でもそこそこ立つところまで持っていける事がわかったのは収穫。
MPU-6050版もやっと立つようになってきた。
MPU-6050のDMPを使うと自分でジャイロの補正処理を書かなくて済むので楽ちん。
モーターシールドを使ったので配線がすっきりした。
2輪倒立振子ロボットを作ってみた。(4)
タイヤをスリムタイヤからナロータイヤに替えてみた。
見た目がちょっとアンバランスなので...
ゲインを調整してだいぶ安定してきたが、チョットつつくと倒れてしまう。
これは今後の課題。
2輪倒立振子ロボットを作ってみた。(5)
つづく...
関連する記事
・LEGO Mindstorms EV3でGyro Boyを動かしてみた。(その1)
・LEGO Mindstorms EV3でGyro Boyを動かしてみた。(その2)
・Arduino + Processingで 「MPU-6050 3軸ジャイロ3軸加速度センサー モジュール」を使ってみた。
参考リンク