長時間立つようになった!!!

前回、ロボコン4号がヨチヨチながら何とか立ったと報告した。
長時間立つようになったので報告だ。
今回は姿勢制御のタイミングを割り込みで行うようにして、Bluetooth通信でPIDのパラメータを色々と変えて安定する値を割り出した。

立っているところの動画をyoutubeにアップロードしたので見てもらいたい。
You need to a flashplayer enabled browser to view this YouTube video

ご覧の通りゆったりぶらぶらしている。

まずは姿勢安定が最優先、ぶらぶらを抑えるモータ回転数の監視・フィードバック処理をしていないのが原因だ。
PID制御と言っても、DCモータの場合はモータに加える電圧をアナログ的に加減しているだけなので、回転数を把握していないのだ。

立ってわかったこと

立たないと観察できない。立って初めて気づくことがある。

筐体の前後が逆

MPU6050には方向があるのだが失念して制御部の設計をしたため前後逆になっていた。 😳

基板の前後方向

基板の前後方向

矢印の方向(MPU6050の印刷が読める方向)がオモテらしいのだ。逆の方向をオモテとしたため前後逆になってしまった。

つまり

ウラ側だったのがオモテ側

ウラ側だったのがオモテ側

オモテ側だと思ったものがウラ側

オモテ側だと思ったものがウラ側

なのだ。

MPU6050のドライバを書いた時には把握してはずだが、制御部の基板設計時には時間が経ってたのでものの見事に失念していた。

天然記念物のカブトガニなら足(基板)が見えている方がウラ側でカブトの方がオモテ側だから、これが正しい方向なのかもしれないが、いずれにしても前後が逆になっているのでソースの修正が必要になった。

ギア比38.2:1は正解のようだ

ギア比38.2:1でダブルギヤボックスを組み立てたのは正解だったようである。
このギア比ではちょっとしたモータ回転の変化でも姿勢が変わるほどピーキーなのだが、トルクが十分あるモータなら姿勢を保てる上にレスポンスもいいのだ。しかも低い回転数で姿勢を制御するので加える電圧も低くて良く電池も持ちが良くなるはずだ。いいことばかりなのだ。
と言っても、実際に立たないとダメだ。
テストの結果は合格である。

2つのモータ+ギヤボックスの性能差が表面化

左右どちらも同じ電圧を加えているのだが左右の車輪の動きに差が出てしまっている。直進させても円を描くのである。モータのキャリブレーションが必要なようだ。

電池の持ちが良いようだ

ステッピングモータは低速なほど電力を食うが、DCモータの場合は低速なほど電力は食わない。倒立振子ロボットのモータは停止状態か微動作している場面がほとんどだ。テストしてみたところ一時間たってもまだ電池はヘタってないようだったので、うまく制御すればビックリするほど電池はもつのではないかと思う。