Visual Navigation of AMSL Racing

Knowing movement with eyes

Why do we use visual odometry?

 自律移動ロボットが自己位置を知るために,ホイールオドメトリや,GPS,ソナー,レーザスキャナやビジョンセンサなど様々なセンサを用いる方法がありますが,どれも一長一短があります.Team AMSL Racingでも様々な方法で,より正確な自己位置推定を行うことを目指していますが,ここでは,レーザセンサのような他のセンサに比べて,比較的安価で,汎用性があり,色情報も取得する事ができるなど,多くのメリットがある,ビジョンセンサを用いた方法について解説します.

ビジョンセンサから得た画像列から移動量を計算する手法はビジュアルオドメトリ(VO)と呼ばれています.我々の目標は,屋外のあらゆる環境で,フル3次元(6自由度=x, y, z, roll, pitch, yaw)の高精度なVOを実現する事です.

Optical Flow.bmp

Fig.1 特徴点のトラッキング結果の例.白い円は特徴点を示し、白い直線は過去数フレームに渡る特徴点の軌跡を示しています.これらの特徴点の三次元座標(これらの三次元情報はステレオ三角測量によって得ることができる)によって,ロボットは自分の移動量を知ることができます.

VOは,画像列を解析する事でビジョンセンサの(ひいてはロボット自体の)移動量と姿勢を推定するプロセスです.Team AMSLで行っている手法は,画像から特徴点とよばれる画像上でユニークな点を抽出し,それを追跡する事で位置と姿勢を推定します.(Fig.1)

Problems of VO

しかし,屋外環境でVOを行うにはいくつかの問題があります.一つは環境に依存する問題です.たとえば,舗装された道路や砂地など,のっぺりしていて,どこをとっても同じように見える環境では特徴点を抽出する事が非常に難しいので.結果としてVOで自己位置を推定できなくなってしまうという点です.もう一つはVO自身の問題で,観測される特徴点にはミスマッチングやミストラッキングなどによる誤った計測点(アウトライア)が含まれることによって発生します.これらのアウトライアもまた,VOの精度に致命的な問題をもたらします.さらに他の問題として,蓄積誤差の問題があります.VOは逐次的に移動量を計算しているため,ロボットの走行距離が長くなればなるほど,誤差が蓄積してしまうことです.

6DOF VO in Untextured Outdoor Environment

これらの問題を解消するために,Team AMSL Racingでは次に述べる三つの手法を導入したVOを構築しています.一つは,屋外屋内問わず,どのような(低特徴な)環境でもVOの精度を維持しやすく,効率的な特徴点抽出を可能とするために,領域分割を用いた特徴点抽出法を導入したこと.二つ目は,ロバストな自己位置推定を可能とするために,Three Points AlgorithmとRANSAC の枠組みを用いていること.最後に,蓄積誤差を軽減するために,キーフレーム調整を行っていることです.これらの技術を導入したVOによって,実際に屋外環境で自己位置推定を行った結果をアニメーション1に示します.

Animation 1 赤い線はGround Truth,青い線は我々の提案するビジュアルオドメトリ,緑色の線はホイールオドメトリの結果を示している.さらに,グレーの点群は走行可能領域を示し,オレンジ色の点群は障害物を示している.右下の画像は特徴点の追跡結果を示し,左下の文字列は,ビジュアルオドメトリによって推定された位置座標の結果を示している.

Results of VO in the Field

赤い線はGround Truth,青い線はTeam AMSL Racingの提案するVO,緑色の線はホイールオドメトリの結果を示しています.さらに,グレーの点群は走行可能領域を示し,オレンジ色の点群は障害物を示しています.この結果は,平面移動を行ったとき,6自由度で計算しているVOの結果を,XY平面での3自由度分でのみ計算しているホイールオドメトリと比較するという,VOにとっては非常に不利な条件での比較をしています.それにも関わらず,VOの結果がホイールオドメトリに比べて圧倒的に高精度であることがわかります.

AMSLWEB_VO.bmp

Fig.2 AMSL Racingが提案するVOの結果.特徴の少ない屋外環境であるにもかかわらず,ホイールオドメトリとくらべてもかなり良い結果が得られている.