かみやんの技術者ブログ

主にプログラムの話です

グローバルビューとローカルビュー

いままで、ログの再生で北を上とした地図表示で、ロボットはその推定された自己姿勢の方向を向いていた(グローバルビュー)が、今日は、ローカルビュー機能を追加した。

上図、今回追加したローカルビュー

自律移動のアルゴリズムを考えたり、検証するのにグローバルビューは不向きだからだ。
まだ、ログ再生モードでしかローカルビューが動いていないが、走行モードもローカルビューに対応させたい。

話は変わって、ナビゲーションについて考える。
大域移動経路は、自分は大域経路エディタで入力、そのウェイポイントを通過する方法。現在の実装(というか去年のまま)では、パス(ウェイポイントとウェイポイントをつなぐ線分)の上を走る制御はなく、推定自己姿勢と次のウェイポイントから方向を制御するのみになっている。まぁ、これは線分制御は不要だと思うので後回し。
障害物回避は、

  1. ステートレス制御(現在のLRFの結果からアクセル・ブレーキ・ハンドルを制御)
  2. 狭域移動経路作成(特定の条件が発生したら狭域移動経路を作成して、各制御周期ではその経路に追従する制御をおこなう)

が一般的かと思う。現在の実装(というか去年のまま)は、ステートレスで、つくばチャレンジ2007の大島式のように矩形を回転させて間に進むことができるか判別している(左手の壁に沿うように走る実装はしていない)。現在の実装では凹の壁等で、はまって脱出できないことが分かっている。狭域移動経路作成にした方がよいか迷っているが、狭域移動経路で行くなら多少なりともシミュレータを作成して試験しないといけない気がする。そしてその時間がなさそう。
あと、ポテンシャル場を使っている人もいるけれども、あれもシミュレータ等でよく試験をしないとハマると思うし、パラメータの調整が直観的じゃないきがするので、ポテンシャル場は不採用。
さてどうしようかな。

つくばチャレンジ2009まで、あと23日!時間がない!