Navigationサブシステム仕様

Navigationサブシステム仕様
SystemControl
getNextCommand( commnadQueue )
Pilot
update( responseQueue )
Navigator
updateWall( x, y, pattern)
Cart
Map
method
potential method
left hand method
getNextCommand
現在位置から目的地点(ゴール地点、スタート地点)に
たどり着くためのコマンド列を取得する。
ポテンシャル法
最短ルートを
生成する
ルートをコマンド列
に変換する
コマンド列を
圧縮する
ルートをコマンド列に変換する
ルート情報
(0, 0)
(0, 1)
(0, 2)
(0, 3)
(1, 3)
(2, 3)
(2, 4)
現在位置
コマンド変換(一次)
コマンド変換(二次)
前進1
前進1
前進3
前進1
右90
前進1
前進1
左90
右90
前進2
前進1
終了
現在位置と姿勢、次の区画番号から
コマンドを決める。
左90
前進1
終了
連続するコマンドを結合する。
姿勢を変える必要があるか?
ある -> スピンコマンド
ない -> 前進コマンド
コマンド変換開始
注目位置=現在位置
注目位置での姿勢=現在姿勢
注目位置がルートの最後
に達したか?
はい
コマンド変換終了
いいえ
次の位置は、注目位置で
の姿勢の方向にあるか?
ない
次の位置に向かうためのスピン方
向と角度を求める。
ある
スピンコマンドを生成する
注目位置での姿勢を更新する
前進コマンドを生成する
注目位置を更新する