倒立振子ロボット 玉乗りロボット について | |
Arduino,ジャイロセンサを使ってPID制御で倒立振子にトライ、その時の記憶と記録。 まずは 動画1→ 2輪ロボット 動画2→ 4輪玉乗りロボット (youtubeにリンク) |
|
![]() |
2輪ロボット CPUはArduino、角度センサはMPU6050 3軸加速度、ジャイロセンサ ステッピングモータードライバ2軸ぶん、35mm角ステッピングモータと電池 これらで2軸の倒れないようにPID制御をするわけだが、技術的にはすでに 完成されており、ソースコードも世間に溢れている。 ポイントは角度を得るためには加速度とジャイロの2つのデータから演算する 必要がある。相補フィルタ、カルマンフィルタがキーワード。 Githubあたりも参考に。 あとはモーター、タイヤ、トルクなどに合わせてPIDのパラメータをチューニング。 |
![]() |
手配線で1台作ったあと思うところあり基板化してみた。 Arduino MPU6050 モータードライバ 2台 I2Cレベル変換 など 電源はニッケル水素を8本 |
![]() |
2輪を作って思ったのだが、 2輪を2台90度ずらして取り付ければ玉乗りができるのでは?と 普通玉乗りロボットを作るときは3軸3タイヤとし、XY2方向の傾斜を3軸に割り振る 制御をするようだが、とりあえずやってみた。 4軸の弱点は4タイヤに均等にボールを当てるのが難しいわけだが、ボールは やわらかいし何とかなるだろうというわけ。 結果は2軸のPIDパラメータをちょっと修正するだけでボールに乗ってくれた。 全体の重量に対しモーターが小さくトルク不足で制御できなくなる問題はあるが 意外と簡単に動いた。 |