ArduinoとDCモーターを使用した倒立振子を作成しました。
センサーはジャイロセンサーとロータリーエンコーダの2つです。
ロータリーエンコーダの円盤部分はプラ板で自作してみました。解像度が低いですが、なんとか使えるレベルになりました。フォトインタラプタには秋月で売っていたGP1A53HRJ00Fを使用しました。


調整を重ねた結果、ふらふらしながらもなんとか立つことができるようになりました。

【使用パーツ】
マイコン:Arduino
ジャイロセンサー:AE-GYRO-SMD
ロータリーエンコーダ:プラバンで自作+フォトインタラプタGP1A53HRJ00F
モータードライバ:DAISEN 6CHモーターコントローラー
DCモーター:DAISEN ロボサイトモーター ギヤ比30:1
【改善のポイント】
①パスコンでモーターからのノイズの影響を抑えることで、ジャイロの精度が上がりました。
②ジャイロの値やロータリーエンコーダの値は移動平均を取り、平滑化しました。また、ジャイロのキャリブレーションの値も動作中に移動平均を取り、ドリフトの影響を抑えます。
【今後の課題】
モーターをDCモーターからステッピングモーターに変更することで、動作を安定させられるのではないかと思います。
動作の様子
うちのKHR-2HVには、秋月の2軸ジャイロセンサーモジュール(AE-GYRO-SMD)をのっけてます。
純正品のKRG-4は2つで¥10,500しますが、AE-GYRO-SMDなら¥800(2010/09/25現在)です。
(なんかこのブログでは値段のことばっかり書いているような…(笑))
純正品(KRG-4)を試したことがないので、純正品に比べて性能がどうなのかはわかりませんが、一応、AE-GYRO-SMDでも倒れにくくはなっているようです。
AE-GYRO-SMDにはオペアンプがついていますが、オペアンプを通すと反応が良すぎて使えなかったので、C6, C7のキャパシタを外して、センサー側に直接信号線をはんだ付けしました。
AE-GYRO-SMDは股につけています。
うまく取り付ければ問題ないのかもしれませんが、片方の軸が反対向きになってしまったので、マニュアルに書かれている設定とは符号をマイナスにしています。

本日はROBOSQUAREで開催されたYOKAロボまつり16バトル大会に親子で参加しました。
運営の皆様、参加者の皆様、お疲れ様でした。
結果は2戦して2敗でした。
というかそもそもロボットのレベルが違いすぎました。
こちらはなんとか倒れずに歩けるかなというレベルでしたが、他の皆さんは非常に安定した素早い動き+操縦も高度でした。
今回は9/4の記事で書いたXBeeでの無線化で臨みました。
送信側はノートPCに接続したJOYSTICKで行い、ブレッドボード上のXBeeから送信します。
操作はJOYSTICKでできるものの、ノートPCをフィールドに持っていくのが大変だったので、何か考える必要がありそうです。
今回、初めてバトル大会に参加しましたが、とても楽しく過ごせました。
また参加したいです。
#はじめて、当日にブログを書いたかも。

2年ほど前に購入した、KHR-2HV。
組み立てただけで放置状態でした。組み立てたのも子供なので、ほとんど何もさわっていません。
その間、後継機(KHR-3HV)が発売されショックを受けつつ、カメラを積んで自律動作させたいなどと思いながらも時は流れ。。。
久しぶりに引っ張り出して来ました。
胸のカウル(?)を無くしてしまったようで、子供に電池ガードをつけてもらいました。(ちょっとカワイくなりました。)
とりあえず、XBeeで無線化してみるつもりです。
(純正の無線化セットは結構なお値段ですので。。。)
なお、写真に写っている木製ハンガーは自作です。ロボカップジュニア サッカーコートの余りの木材で作りました(笑)。電源が入っていないと自立できないですし、下手に動かすとすぐに倒れてしまうので、ハンガーは必須ですね。