小型無人移動体を用いた3次元地図の自動生成に関する研究

PDF
尾崎 宏樹
名古屋大学 工学部 電気電子・情報工学科
Guest
名古屋大学 大学院情報科学研究科
長尾 確
名古屋大学 大学院情報科学研究科

1 はじめに

近年、計算機の小型化および高性能化によって、携帯端末でも3次元グラフィクスの表示ができるようになり、 ナビゲーションやエンターテイメント等の分野で3次元地図への期待が高まっている。しかしながら、3次元地図の作成・管理には 依然として非常に高いコストがかかる。そこで本研究では、自律走行可能な小型無人移動体を用いて、屋内における3次元地図を自動生成する仕組みを提案する。

2 小型無人移動体(SUV)

我々の研究室では、人間の生活する実世界と情報の世界をより密接に関係づけるため、自律走行可能な小型無人移動体(Small Unmanned Vehicle, 以下SUV)を開発している。SUVの外観は図 のようになっており、対向二輪型の移動機構をベースとして、レーザーレンジセンサーとRGB-Dセンサーを搭載している。SUVは一度ある環境内を走行すると、レーザーレンジセンサーを用いてSUVが環境を認識するために必要な環境地図(2次元のセンサー地図)を生成することができる。生成された環境地図を利用して、SUVは自己位置推定や障害物の認識を行うことができる。リアルタイムで自身の位置と向きを認識することができるため、設計した経路に沿った柔軟な自律走行が可能である。


          SUVの構成

図1: SUVの構成

SUVのもう一つのセンサーであるRGB-DセンサーはRGBカメラに加えて、センサーから物体までの距離が計測できる深度センサーを持ち、平面上の障害物までの距離が計測できるレーザーレンジセンサーと違い、物体の3次元スキャンを行うことができるセンサーである。本研究では、SUVが環境内を走行することでRGB-Dセンサーのデータを収集し、収集したデータから3次元地図の生成を行う。

3 3次元地図生成

SUVが収集したデータから3次元地図の生成を行う。ここでいうデータとはRGB-Dセンサーによって取得できるRGB画像とDepth(深度)画像およびSUVの姿勢(x,y,\theta) を指す。3次元地図の生成は大きく以下の3つの手順に分かれる。1. SUVの3次元的な姿勢を推定する。2. センサーデータ同士を重ね合わせ点群からなる3次元地図を生成する。3. 点群データのポリゴン化を行い3次元地図の構造を単純化する。それぞれの手順について詳しく説明する。

3.1 自己位置推定

環境地図からは2次元的な姿勢(位置と向き)しか取得することができないので、SUVの位置情報をセンサーデータを重ね合わせる際の初期値として利用するため、取得したセンサーデータから3次元的な姿勢を推定する。推定を行うのは3次元的な姿勢を決定するSUVのz座標および上下方向の傾きと進行方向に対しての回転角である。これらを求めるために、センサーデータから床の検出を行い、床が水平面と重なるような変換行列を求め、変換行列から各パラメータを計算することで姿勢の推定を行った。

3.2 センサーデータの重ね合わせ

センサー情報と移動体の位置情報を用いて地図生成を行うには、センサー情報と位置情報どちらも誤差を含む情報であるため、正しい位置と地図を同時に推定しなければならない。これはSimultaneous Localization and Mapping (SLAM)問題として知られる問題である。本研究ではSUVが事前に環境地図を作成していることを前提とし、環境地図と対応の取れた3次元地図を生成する。そのため、3次元形状モデルの重ね合わせを行うICPの一種であり、RGB-Dデータの重ね合わせを行う手法のRGBD-ICP を、環境地図とも重ね合わせが行えるように拡張し、環境地図と対応の取れた3次元地図の生成を行った。重ね合わせには画像特徴点の対応点、環境地図との対応点、点群の対応点を使用し、3種類の対応関係を同時に最適化を行うことでそれぞれと対応の取れた3次元地図の生成を行う。画像特徴点はSURFを用いて検出を行い、重ね合わせを行うデータは直前の数フレームのうち画像特徴点の対応点が最も多いデータを、対応点が検出されなかった場合は直前のデータを選択する。誤差量の計算にはpoint-to-planeを使用し、Gauss-Newton法の一種であるLevenberg-Marquardt法によって最適化を行う。生成した3次元地図を環境地図上にマッピングしたものを図 に示す。


            3次元地図と環境地図の対応付け

図2: 3次元地図と環境地図の対応付け

3.3 ポリゴン化

センサーデータの重ね合わせを行い生成した3次元地図は膨大な点の集合であり、そのままでは扱うのは困難である。そこで、点の集合である3次元地図から面を検出し、ポリゴン化することで3次元地図の構造を単純化する。3次元地図全体から直接的に面を抽出することは困難であるため、センサーデータから面の抽出を行い、同様に抽出した他の面と重ね合わせを行うことでポリゴン化した3次元地図を生成する。一致する面の検出にはそれぞれの面の法線の向きと、面の重心ともう一方の面の距離を用いて行う。ポリゴン化した3次元地図を図に示す。


            ポリゴン化した3次元地図

図3: ポリゴン化した3次元地図

4 データ収集経路の生成

人が手動でデータの収集を行うことはかなりの手間であり、データが十分に取れていないなどの人為的なミスが発生することが考えられる。そこで、SUVは指定した経路に沿って自律走行することが可能であることを利用して、3次元地図に必要なデータを収集する経路を生成し、自動的にデータの収集を行う。データの収集を行うため、生成する経路に従って環境内をくまなく探索できる必要がある。本研究では、基本的には壁から一定距離の位置を走行し、必要に応じて壁からの距離を調節したり壁から離れてデータを収集する経路を生成した。具体的には、環境地図上の走行する必要がある位置にノードを生成し、ノード同士を接続することでSUVが走行可能なグラフ構造の生成を行い、グラフ構造を利用して走行する経路を生成した。図に生成したグラフ構造とそれに基づく移動経路を示す。


              グラフ構造と生成した経路

図4: グラフ構造と生成した経路

5 まとめと今後の課題

本研究では、2次元の環境地図との対応が取れたポリゴン化された3次元地図の生成手法、および、3次元地図の生成に必要なデータを自動的に収集する仕組みを実現した。この仕組みによって生成される3次元地図は、環境地図と同じ座標系で生成されるため、位置情報と連動したナビゲーションなどへの応用が簡単に実現できる。今後の課題としては、生成した3次元地図の応用法についてさらに研究を進めること、また、3次元地図の更新の自動化、動的なデータ収集経路の生成など、より高度な3次元地図の生成に関する研究も今後の課題である。