こんにちは、しゅうです。
前回はPi:Co Classic 3が出場できるマイクロマウス大会についてお話しました。
のんびり迷路を解いていても問題ないですが、良いタイムを記録しようとなると超信地旋回では曲がり角が多いと時間が足りない場合があります。
そこで滑らかに旋回をしてくれるスラローム走行を用います。
超信地旋回とスラローム
「スラローム」と検索すると、二輪車で左右にウネウネしながら走行する様子が最初に出てきます。障害物を避けたりするためらしいです。マイクロマウスにおいてはどうでしょう?下の図の左側が超信地旋回、右側がスラローム走行時の様子を示します。
ここで、超信地旋回をするときは停止してから旋回をします。一方でスラロームを取り入れば停止せずスムーズに旋回を行えます。
まず超信地旋回を行うためには二つのモータをお互いに逆方向に回転させます。速度を下げずに旋回をしようとすると、速度100から速度-100 (逆回転) という風に急に速度変化を行うことになります。これだとモータに大きな負荷がかかってしまうので、速度0→100→0→-100→0というふうに速度が直線的に変化するように制御する必要があります。この様子を下の図で表しています、右旋回を行うときの右モータの速度の様子です。
次にスラローム走行では、モーターの速度を逆回転させる必要がありません。左右のモータの速度差を利用して旋回をさせます。したがって、速度0→100→40→100→0というような制御を行えば、旋回をすることが可能です。この様子を、上の図の時と同様に、右旋回を行う時の右モータの速度の様子を下の図で表します。
このようにして、行き止まりにたどり着いた時は停止して180度ターンを行いますが、それ以外でスラローム走行時は停止をする必要がありません。
ここで、このスラローム時の走行経路を細かく見ていきましょう。
スラロームの経路
スラロームの経路生成を行うためには、経路を5段階(実質3段階)に分解する必要があります。下の図に示すように直進区画(青)、加速区画(緑)、等角速度区画(黄)、減速区画(緑)、直進区画(青)、です。
青色の直進区画はオフセット区画とも呼ばれています。スリップしていたりスラロームを開始する位置がずれていたりするため、全ての曲がり角で正確に同じ距離を進むことは難しいです。それをこのオフセット区画で調整しています。
この後の緑色の角加減速度区画と黄色の等角速度区画の三つの区画で実際のスラローム走行を行います。今までの直線では加速度について考えていましたが、この区画では角速度や角加速度について考えます。次の図でその様子を示します。
まとめ
したがって、あとはプログラム上で左右のモータに角速度を考慮した速度指令を送れば良い、ということになります。ただしそれを算出するための情報がまだ揃っていません。
そこで次回は、このスラロームに必要な情報とシミュレーションを行なっていきます。