こんにちは、shotaです。
社員研修として、弊社が販売するマイクロマウス[Pi:Co Classic3]を動かしています。
前回は4×4サイズの迷路でPi:Coを走らせました。
今回は、曲がり角をスムーズに進むスラローム走行に挑戦しました。
スラローム走行とは
スラローム走行は前進しながら角を曲がる走行です。
自動車や自転車で角を曲がる動作と同じです。
前回の動画では、曲がり角まで進む→停止する→その場で旋回する→前に進む、という動作をしていました。
これは超信地旋回やスピンターンと呼ばれています。
超信地旋回では一度その場で停止しなければならないため、角を曲がるのに時間がかかります。
マイクロマウス競技では迷路を早く走行することが求められます。
そのため、超信地旋回ではなくスラローム走行で角を曲がりたいです。
スラローム走行を実装する
スラローム走行をどのように実装すればよいか調査しました。
[マイクロマウス「Pi:Co Classic」に挑戦!No.76 スラローム実装…!?]
マイクロマウスでスラローム走行するためには、以下のポイントが重要であるとわかりました。
- 急に大きな角速度を与えると曲がれない
- 加速、一定速、減速区間を設ける
これをプログラムに変換するのですが、そのためにはさらに情報が必要です。
- どんな指令値をモータに与えれば角速度を表現できるのか
- どのくらいの角速度を与えれば曲がるのか
- 加速、一定速、減速区間はそれぞれ何秒必要なのか
1.どんな指令値をモータに与えれば角速度を表現できるのか
以下のページを参考にしました。
いろいろ書いてありますが、左右のモータに別々の速度指令値を与えれば、角速度を表現できる(曲がれる)ことが分かります。
※次回、計算して走行をシミュレーションしてみます。
2.どのくらいの角速度を与えれば曲がるのか
これは先ほどのページを参考にすれば、計算で求めることができます。
しかし、今回はテキトーに指令値を与えました。
理由は、「どんな指令値をいれたらPi:Coが暴走するのか」を把握するためです。
テキトーにいろいろな値を与えることで、曲がれたり、壁にぶつかったり、モータが脱調したりといろんな動きを見ることができました。
3.加速、一定速、減速区間はそれぞれ何秒必要なのか
これもテキトーに設定しました。
走行結果
スラローム走行を実装することで、超信地旋回よりも早く曲がることができました。
超信地旋回で走行
スラロームで走行
スラローム走行では曲がるときに速度が落ちているので、まだまだ改善できそうです。
次回やること
適切な指令値を計算で求め、表計算ソフトを使ってシミュレーションします!
シミュレーション通りにPi:Co が走るか見てみます!