編集中
近年ロボット技術が発展しており、様々なロボットの開発が行われている。お掃除ロボットや愛玩用ロボットなどが顕著な例である。
その中の1つに自律走行ロボットが挙げられる。
自律走行ロボットは、人の手に依らず、自ら考え自律的に走行するロボットのことである。
自律走行ロボットが走行する上で、走行経路の障害物の検出・回避を行わなければいけないという問題がある。
障害物を検出する手法として、
レーザーレンジファインダー
超音波センサ
ステレオカメラ
を用いた手法が挙げられるが、画像処理を用いた物体認識やナビゲーションを行うため、ステレオカメラを用いて障害物を検出する必要がある。
しかしながら、画像処理を用いた障害物検出手法は処理速度が遅く、パワーのないPCにおいては安定的に障害物回避が行えないことが危惧される。
従って、パワーのないPCにおいてもリアルタイムでの処理が可能な障害物検出手法が必要である。
従来手法による障害物検出は次のようなステップで行なっている。
1.特徴点抽出
2.ステレオマッチング
3.三次元復元
障害物回避において、物体の外周までの距離を求めることで障害物の回避が可能となる。
従来手法では、ある程度の高さを持つ同一の障害物に対し複数特徴点を抽出しているため、同一の障害物外周上までの距離を複数回求めていることとなる。
同一の障害物に対し上端と下端のみ特徴点の抽出を行うことでこれを防ぎ、ステレオマッチングの処理時間を削減する。
具体的な手法を以下に示す。処理のステップとしては以下である。
1. 特徴点下方1pixel 幅数pixel の範囲のエッジを探索
2. 1 で探索した1 数pixel 内に特徴点として抽出する閾値(α) 以上のエッジがあれば最初に発見したエッジ位置のみを保持
3. 閾値(α) 以上のエッジを削除。閾値(β) 以上のエッジが1pixel 以上存在すれば更に1pixel 下を探索。存在しなければ探索を終了
4. 探索を終了した際、最後に2 で保存していた閾値(α) 以上のエッジ位置の値を閾値(α) 以上に変更
以上の処理を用いて、同一の障害物に対し上端下端の特徴点のみを抽出することが可能である。以上の処理を用いて特徴点の抽出を行った画像を以下に示す。
以上より、パワーのないPCにおいてもリアルタイムでの処理速度が得られた。
同一の対象物に対し上端と下端の特徴点を抽出している。しかし、下端の特徴点は障害物であるのに関わらず路面に近い点を抽出するため、路面として判定してしまうことが多い。
そのため、下端の障害物判定は上端の判定に依存するようにすることが好ましい。