週末に作ったプログラムのバグをとって,最短走行まで完成しました.
テスト用の小規模迷路で最短走行をさせるには,最短距離を求める関数run_saitan()内で,
ゴール地点のうちの一つの座標を小規模迷路に合わせて与えてやればよいです.
この場合,smap[3][2]=1; としてます.
(スタート地点を[0][0]とすると,ゴール地点はyに3つ,Xに2つ進んで[3][2])
最短走行の動画
(途中でお尻が接触して迷路がズレたので直してます.
DIP-SWで最短走行プログラムを呼び出して再スタート)
最短走行プログラムまで.
KNCT-HM1_0628.c
20年のブランク(というより20年前に一度作っただけ)を乗り越え,
ハーフサイズマウス製作から基本的なプログラム完成まで1ヶ月弱.
自分で言うのもなんですが,頑張りました.
マイクロマウスのルール変更でハーフサイズになっても,
ステップモータを使ってとりあえず走るだけのマウスを作るのならば
難易度が極端に上がるわけでもないのかな,というのがここまで作った感想です.
(基板おこさなくても,ユニバーサル基板で普通に半田付けしてできますし.)