マイクロマウスは迷路を自律的に探索しスタートからゴールまでのタイムを競うロボットです。ロボットが自分自身で最短経路を発見するには迷路を探索します.そのうちの一つとして左手法という方法が使用されます。左手法は一番シンプルな探索方法であり,マウス班ではサンプルマウス製作後にプログラミングの練習で実際にコードの一部を書きます.
本記事はざっくりとした左手法の解説を行います.
[左手法とは ?]
左手法は進む方向を決定する際に、壁に沿って左手を這わせながら進む方法です。この方法を利用すると高確率でゴールまでたどり着けます.
実際に左手法で迷路を解いてみましょう!
少し簡単でしたか ?
その調子で次の迷路も解いてみましょう!!
....どうでしたか?
この迷路だと左手法だとスタートまで逆戻りしてしまいます.左手法はあくまでゴールにたどりつけるかもしれない方法です.2番目の迷路のようにスタートからゴールまで壁がつながっていない迷路ではゴールできません.
[左手法の弱点]
・広範囲を効率的には探索できない
ゴールまでの順路は一つではありません.よって制限時間内にに最短経路を解析するには広範囲を効率的に探索する必要があります.しかし左手法は特定の順路しかたどれず,最短経路を見つけることが難しいという弱点があります.
・解けない迷路がある
これは2番目の迷路の場合です.ゴールまでスタートから壁がつながっておらずマウスがずっと走り続けてしまいます.
左手法の問題点を解決するために「拡張左手法」あります.またほかの探査方法として「求心法」や「足立法」があります.
[プログラミングの難易度は?]
先述したようにマウス班では練習として左手法の一部を書きます.マウス班で行う1年生向けプログラミング講習や大学授業の知識があれば全然書けます.また先輩が優しく指導してくださるのでわからないところがあればバンバン質問できます.
\\過去のプログラミング講習記事//
いかがだったでしょうか.マイクロマウスが自律走行する機械であるためマウス班ではハードよりソフトウェアがメインになります.興味がある人はぜひほかの記事やtwitterで活動をのぞいてみてください!!
Comments