こんにちは。koraです。
前回はモーター制御を実装して、軌道に追従できるところまでやりました。今回は実際に迷路を探索させてみます。
軌道生成
探索中は、1区画ごとに「直進」あるいは「90度スラローム」の軌道を生成して迷路内を走ります。複数区間をまたがるような複雑な軌道を作ることも考えられますが、今回は確実に完走することを目指してこの2つだけに限定しました。
ちなみに「直進」の場合は角速度ゼロで直進方向のみ台形加速、「90度スラローム」の場合は一定速度で角速度のみ台形加速にします。
迷路探索
探索アルゴリズムは足立法を実装しました。ソースコードはHM-StarterKitのサンプルプログラムを参考にしています。
これで1区画ごとに、
- 壁を認識
- マップを更新
- 次の軌道を決定
- 軌道に追従
- (以下ループ)
という順でプログラムが実行されるようになります。
テスト
軌道追従のパラメータとモータ制御のパラメータを調整して、実際に迷路を探索させてみた動画です。
4×4の小さな迷路ではありますが、ゴールして戻ってくるまで動いてくれています。
本番の大会に向けて、もっと速度と安定性を上げていきたいと思います。