説明

3次元環境復元装置、3次元環境復元方法、及びロボット

【課題】動的な環境下においても、効率的にマップ更新処理を可能とする。
【解決手段】3次元環境復元装置10は、環境を3次元で計測する環境認識センサ5と、計測された計測データから、観測物体の3次元形状を表す3次元点群を生成する3次元点群生成処理部11と、3次元環境を表現するデータ構造であって、当該3次元環境が格子領域に区切られて観測物体が存在する格子領域に直方体が配置された3次元環境マップを多段マップとして、生成された3次元点群データを用いて多段マップを時分割で生成し、当該生成した多段マップを記憶手段に規定時間分蓄積する時分割多段マップ生成/蓄積処理部12と、蓄積された規定時間分の多段マップと、新たに生成された多段マップと、を合成することで、新たな環境情報を反映させた全体多段マップを生成する全体多段マップ生成処理部13と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は3次元環境復元技術に関し、動的環境下でのマップ更新処理を効率的に実現可能な3次元環境復元装置、3次元環境復元方法、及びロボットに関する。
【背景技術】
【0002】
3次元環境マップの表現形式として、例えば、非特許文献1又は2に開示される技術が知られている。非特許文献1に開示される3次元ボクセル形式では、3次元空間を等間隔の格子(グリッド)で分割し、各グリッドが持つ属性によってその近傍の空間の状態を表している。
【0003】
非特許文献2に開示されるMulti Level Surface Map(以下、MLSMと略称する場合がある。)では、物体の最上部の表面をSurface pathとして保持すると共に、縦方向に複数の格子が並びこれらが同一物体に属する範囲であると考えられる場合には、これら複数の格子をまとめて一つの直方体構造により置き換えて表している。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】金広文男:"ヒューマノイドロボットの環境モデルと歩行計画3Dグリッドマップの利用",日本ロボット学会誌,Vol.26,No.4,pp.326-329,(2008).
【非特許文献2】R. Triebel, P. Pfaff, and W. Burgard "Multi-Level Surface Maps for Outdoor Terrain Mapping and Loop Closing" In Proc. of the International Conference on Intelligent Robots and Systems (IROS), 2006.
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1に開示された3次元ボクセル形式では、対象とする環境(空間)の全てのグリッドについて物体の存在の有無を示す情報を持たせた上で、各グリッド単位のボクセルの集合により物体を表現するものであるため、メモリ消費量が膨大となる。
【0006】
非特許文献2に開示されたMLSMによれば、3次元ボクセル形式と比較してメモリ消費量を少なくすることができる。しかしながら、非特許文献2に開示されたMLSMは、自己位置推定に用いる固定環境下での地図作成を目的とするものであり、また、障害物回避について何ら示唆及び記載されていないことからも、物体の位置や姿勢が動的に変化するような動的な環境下での地図更新については何ら考慮がされていないものである。このため、非特許文献2に開示されたMLSMを、動的な環境に対してそのまま適用した場合には、環境マップを更新する際には全マップ情報を一から更新する必要があり、リアルタイムでの処理が困難となることが予想される。従って、効率的にマップの更新をすることができないという問題がある。
【0007】
従って本発明は、上述した課題を解決して、動的な環境下においても、効率的にマップ更新処理が可能な3次元環境復元装置、3次元環境復元方法、及びロボットを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の第1の態様にかかる3次元環境復元装置は、環境を3次元で計測する環境認識センサと、前記環境認識センサで計測された計測データから、観測物体の3次元形状を表す3次元点群を生成する3次元点群生成処理部と、3次元環境を表現するデータ構造であって、当該3次元環境が格子領域に区切られて前記観測物体が存在する格子領域に直方体が配置された3次元環境マップを多段マップとして、前記3次元点群生成処理部で生成された3次元点群データを用いて前記多段マップを時分割で生成し、当該生成した多段マップを記憶手段に規定時間分蓄積する時分割多段マップ生成/蓄積処理部と、前記記憶手段に蓄積された前記規定時間分の前記多段マップと、前記時分割多段マップ生成/蓄積処理部で新たに生成された多段マップと、を合成することで、新たな環境情報を反映させた全体多段マップを生成する全体多段マップ生成処理部と、を備えるものである。
【0009】
これにより、このように、時分割で生成した多段マップを規定時間分蓄積し、蓄積した多段マップと新たに生成された多段マップを用いて全体多段マップを更新していくことで、動的な環境下においても、効率的にマップ更新処理を実現することができる。
【0010】
また、前記全体多段マップ生成処理部は、前記時分割多段マップ生成/蓄積処理部で新たに生成された多段マップに含まれる直方体を、前回生成した前記全体多段マップに追加して今回の全体多段マップを生成し、当該生成した全体多段マップから、前記記憶手段に蓄積された前記規定時間分の前記多段マップのうちで最も古い前記多段マップに含まれる直方体を削除するようにしてもよい。これにより、より効率的にマップ更新処理を実現することができる。
【0011】
さらにまた、前記全体多段マップ生成処理部は、前記記憶手段に蓄積された前記規定時間分の前記多段マップに含まれる直方体と、前記時分割多段マップ生成/蓄積処理部で新たに生成された多段マップに含まれる直方体との重なりを判定し、重なっていると判定した場合には、前記規定時間分の前記多段マップに含まれる直方体の高さを修正するようにしてもよい。
【0012】
また、前記全体多段マップ生成処理部は、前記全体多段マップを生成する際に、
最新の前記多段マップが追加されると共に、過去の前記多段マップのうちで最古の前記多段マップを削除するようにしてもよい。
【0013】
さらにまた、前記環境認識センサは、観測物体までの距離データを取得するレーザレンジファインダであってもよい。
【0014】
本発明の第2の態様にかかる3次元環境復元方法は、3次元環境を表現するデータ構造であって、当該3次元環境が格子領域に区切られて前記観測物体が存在する格子領域に直方体が配置された3次元環境マップを多段マップとして、当該多段マップを生成及び蓄積する3次元環境復元方法であって、環境が3次元で計測された計測データを取得する環境認識ステップと、前記計測データから、観測物体の3次元形状を表す3次元点群を生成する3次元点群生成ステップと、前記3次元点群データを用いて前記多段マップを時分割で生成する時分割多段マップ生成ステップと、前記多段マップを記憶手段に規定時間分蓄積する時分割多段マップ蓄積ステップと、前記記憶手段に蓄積された前記規定時間分の前記多段マップと、新たに生成された多段マップと、を合成することで、新たな環境情報を反映させた全体多段マップを生成する全体多段マップ生成ステップと、を有するものである。
【0015】
これにより、このように、時分割で生成した多段マップを規定時間分蓄積し、蓄積した多段マップと新たに生成された多段マップを用いて全体多段マップを更新していくことで、動的な環境下においても、効率的にマップ更新処理を実現することができる。
【0016】
本発明の第3の態様にかかるロボットは、環境を3次元で計測する環境認識センサを備え、当該環境認識センサで計測された計測データに基づいて生成する3次元環境地図を用いて動作を行うロボットであって、前記環境認識センサで計測された計測データから、観測物体の3次元形状を表す3次元点群を生成する3次元点群生成処理部と、3次元環境を表現するデータ構造であって、当該3次元環境が格子領域に区切られて前記観測物体が存在する格子領域に直方体が配置された3次元環境マップを多段マップとして、前記3次元点群生成処理部で生成された3次元点群データを用いて前記多段マップを時分割で生成し、当該生成した多段マップを記憶手段に規定時間分蓄積する時分割多段マップ生成/蓄積処理部と、前記記憶手段に蓄積された前記規定時間分の前記多段マップと、前記時分割多段マップ生成/蓄積処理部で新たに生成された多段マップと、を合成することで、新たな環境情報を反映させた全体多段マップを生成する全体多段マップ生成処理部と、を備えるものである。
【0017】
これにより、このように、時分割で生成した多段マップを規定時間分蓄積し、蓄積した多段マップと新たに生成された多段マップを用いて全体多段マップを更新していくことで、動的な環境下においても、効率的にマップ更新処理を実現することができる。
【0018】
また、前記時分割多段マップ生成/蓄積処理部は、前記3次元点群生成処理部で生成された3次元点群データを用いて第1の格子サイズの前記多段マップを時分割で生成し、当該生成した第1の格子サイズの多段マップを記憶手段に規定時間分蓄積し、前記3次元点群生成処理部で生成された3次元点群データを用いて前記第1の格子サイズよりも大きな第2の格子サイズの前記多段マップを時分割で生成し、当該生成した第2の格子サイズの多段マップを前記記憶手段に規定時間分蓄積し、前記全体多段マップ生成処理部は、前記記憶手段に蓄積された前記規定時間分の前記第1の格子サイズの前記多段マップと、前記時分割多段マップ生成/蓄積処理部で新たに生成された記第1の格子サイズの多段マップと、を合成することで、新たな環境情報を反映させた前記第1の格子サイズの全体多段マップ生成し、前記記憶手段に蓄積された前記規定時間分の前記第2の格子サイズの前記多段マップと、前記時分割多段マップ生成/蓄積処理部で新たに生成された前記第2の格子サイズの多段マップと、を合成することで、新たな環境情報を反映させた前記第2の格子サイズの全体多段マップ生成し、前記ロボットは、前記第1の格子サイズの全体多段マップ及び前記第2の格子サイズの全体多段マップを用途に応じて使い分けるようにしてもよい。
【発明の効果】
【0019】
本発明によれば、動的な環境下においても、効率的にマップ更新処理が可能な3次元環境復元装置、3次元環境復元方法、及びロボットを提供することができる。
【図面の簡単な説明】
【0020】
【図1】実施の形態1にかかるロボットの概略構成図である。
【図2】実施の形態1にかかる多段マップである。
【図3】実施の形態1にかかる3次元環境復元装置の構成図である。
【図4】実施の形態1にかかる環境計測の様子を説明するための図である。
【図5】実施の形態1にかかる3次元点群及び時分割多段マップの図である。
【図6】実施の形態1にかかる3次元点群及び時分割多段マップの図である。
【図7】実施の形態1にかかる全体多段マップの図である。
【図8】実施の形態1にかかる時分割多段マップの生成/蓄積処理のフローチャートである。
【図9】実施の形態1にかかる全体多段マップの生成処理のフローチャートである。
【図10】実施の形態1にかかる全体多段マップの生成処理の様子を説明するための図である。
【図11】実施の形態1にかかる全体多段マップの生成処理の様子を説明するための図である。
【図12】実施の形態1にかかる全体多段マップの生成処理の様子を説明するための図である。
【図13】実施の形態1にかかる全体多段マップの生成処理の様子を説明するための図である。
【図14】実施の形態1にかかる全体多段マップの生成処理の様子を説明するための図である。
【図15】実施の形態2にかかる全体多段マップの図である。
【発明を実施するための形態】
【0021】
実施の形態1.
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本実施の形態にかかるロボットの概略構成図である。
ロボット1は、胴体2と、首関節3を介して胴体2に連結された頭部4と、右アーム6と、左アーム7と、を備えている。さらに、ロボット1の頭部4には、環境認識センサとしてのレーザレンジファインダ5が備えられている。
【0022】
レーザレンジファインダ5は、図に示すように、前方方向に向けてレーザを放射し、当該レーザを左右方向へと走査することで、観測物体までの距離データを取得する。そして、回転軸C1を中心として首関節3が回転することで、観測物体(例えばテーブル8)を含む前方の環境を走査することができる。
【0023】
レーザレンジファインダ5が走査して得た計測データは、後述する3次元環境復元装置(不図示)へと転送される。3次元環境復元装置は、計測データに基づいて3次元環境を多段マップとして復元する。ロボット1は、復元された多段マップを利用して、環境と接触せずにアームを動作させる、ロボット1自身を移動させる等の制御を行う。
【0024】
図2は、本実施の形態にかかる多段マップを例示する概念図である。
多段マップは、3次元環境を表現するデータ構造であり、メモリ消費量が少ないという利点を有している。本実施の形態では、3次元環境の表現形式として、Multi Level Surface Mapを簡素化した多段マップを用いている。
【0025】
図2に示すように、多段マップでは、環境の基準平面20を格子状に区切り、物体が存在する領域に対して直方体が割り当てられる。図では、直方体上面のz方向位置をTopとし、直方体の高さをDepthとして示している。直方体の上面の位置を示す値及び高さを示す値は、任意の実数値を取ることができ、各直方体は、上面の位置Top及び高さDepthのデータを保持している。また、多段マップでは、環境内に複数の物体が存在する場合には、その配置状況に応じて高さ方向(z方向)に複数の直方体を設定することができる。例えば図に示すように、直方体21と直方体22とを多段に設定することができる。
【0026】
なお、非特許文献2に開示されたMLSMでは、物体の上面に対してその高さの平均値及び分散値を設定することができるが、本実施の形態では、これら値を設定せずに、より簡素化した多段マップを利用している。非特許文献2に開示されたMLSMでは自己位置推定を目的とするものであるため、高さの分散値を算出してこれを保持しておくことが非常に重要となる。本実施の形態では、高さの分散値の算出及び保持については省略することで、動的な環境下においてより効率的なマップ更新を可能としているが、これに限定されず、高さの分散値についても算出及び保持するようにしてもよい。
【0027】
図3は、本実施の形態1にかかる3次元環境復元装置の構成図である。
3次元環境復元装置10は、3次元点群生成処理部11と、時分割多段マップ生成/蓄積処理部12と、全体多段マップ生成処理部13と、を備えている。3次元環境復元装置10は、レーザレンジファインダ5から入力される計測データを記憶/処理することで、環境マップを生成する。生成された環境マップは、動的環境下での、ロボット1の障害物回避処理や、移動経路計画処理等に利用することができる。
【0028】
3次元点群生成処理部11は、レーザレンジファインダ5による計測データから、3次元点群データを生成する。ここで、3次元点群とは、x、y、z方向の値を持つ3次元点の集合であり、観測物体の3次元形状を表している。レーザレンジファインダ5により計測された観測物体までの距離データから、各3次元点群のx、y、z値が算出される。
【0029】
時分割多段マップ生成/蓄積処理部12は、生成された3次元点群データを用いて、部分的な多段マップを生成する。本実施の形態では、レーザレンジファインダ5により環境が計測されるごとに生成する部分的な多段マップであって、時分割で生成する多段マップを、時分割多段マップと称する。時分割多段マップ生成/蓄積処理部12は、新たに生成した時分割多段マップをメモリ等の記憶手段(不図示)に記憶する。
【0030】
また、時分割多段マップ生成/蓄積処理部12は、複数の時分割多段マップを記憶手段に蓄積する。本実施の形態では、過去の時分割多段マップを規定の時間分保持したものを、時分割多段マップ群と称する。また、このような保持された過去の時分割多段マップ群に対して、最新の時分割多段マップが追加される。
【0031】
全体多段マップ生成処理部13は、過去の時分割多段マップ群及び最新の時分割多段マップを合成することで、新たな環境情報を反映させた多段マップを生成する。最新の時分割多段マップが合成された多段マップを、全体多段マップと称する。
【0032】
より具体的には、全体多段マップ生成処理部13は、初回処理時には、過去の時分割多段マップ群を全て加算することで、全体多段マップを生成する。全体多段マップ生成処理部13は、初回処理に続く以降の処理では、前回処理で生成した全体多段マップに最新の時分割多段マップを加算すると共に、当該全体多段マップから最も過去の時分割多段マップを減算する。本実施の形態では、時分割多段マップの追加及び削除はFIFO(First In First Out)方式により行い、最新の時分割多段マップが追加されると共に、過去の時分割多段マップ群から最古の時分割多段マップが削除される。
【0033】
なお、3次元環境復元装置10は、例えば、演算処理等を行うCPU(Central Processing Unit)、CPUによって実行される演算プログラム等が記憶されたROM(Read Only Memory)、処理データ等を一時的に記憶するRAM(Random Access Memory)等からなるマイクロコンピュータを中心にして、ハードウェア構成されている。
【0034】
次に、図4乃至7を参照して、3次元環境復元装置10による多段マップの更新処理の概要について説明する。
まず、図4を参照して、レーザレンジファインダ5による環境計測の様子を説明する。同図に示すように、ロボット1の頭部4に設けられたレーザレンジファインダ5がチルト揺動されることで、テーブル8及びテーブル8上の物体9がスキャンされる。図に示す例では、テーブル8の手前方向から奥手方向へと向けてスキャンが行われ、1回目のスキャンをスキャン31、これに続く2回目のスキャンをスキャン32とする。
【0035】
図5は、3次元点群及び時分割多段マップを例示する概念図である。スキャン31(1回目のスキャン)による計測データに基づいて生成された3次元点群データの概念図を、図5(a)に示している。そして、同図(a)の3次元点群データに基づいて生成された時分割多段マップ41の概念図を、図5(b)に示している。
【0036】
図6は、3次元点群及び時分割多段マップを例示する概念図である。スキャン32(2回目のスキャン)による計測データに基づいて生成された3次元点群データの概念図を、図6(a)に示している。そして、同図(a)の3次元点群データに基づいて生成された時分割多段マップ42の概念図を、図6(b)に示している。
【0037】
図7は、時分割多段マップ群から生成された全体多段マップを例示する概念図である。図5(b)及び図6(b)に示した時分割多段マップ41及び42に基づいて生成された全体多段マップ43を、図7に示している。
【0038】
なお、非特許文献2に開示されたMLSMでは、1回のチルト揺動により前方領域全てにわたるスキャンからの3次元点群データを取得し、これら取得した1回のチルト揺動分の3次元データ群を用いて、一度にMLSMを生成するものであると考えられる。これに対して本実施の形態では、1スキャンごとに1つの時分割多段マップを生成及び蓄積し、時分割多段マップを規定時間分蓄積させた後に、これらを合成して全体多段マップを生成する点で相違する。また、本実施の形態では、時分割多段マップを生成した時点で既に直方体構造により物体が表現されており、縦方向に直方体が重なっている場合にはこれを加算することで、時分割多段マップの合成を行うものである。
【0039】
次に、図8乃至14を参照して、3次元環境復元装置10による多段マップの更新処理の詳細について説明する。
【0040】
まず、図8を参照して、3次元環境復元装置10による時分割多段マップの生成/蓄積処理について説明する。
【0041】
S101において、環境マップ(全体多段マップ)を生成する領域が設定される。環境マップの生成領域は、レーザレンジファインダ5による環境計測が可能な範囲内で設定することができるが、例えば、ロボット1のアームの到達範囲などを設定して環境マップを生成するようにしてもよい。また、領域の設定は、ユーザにより、或いは3次元環境復元装置10が自動的に設定することができる。
【0042】
S102において、3次元点群生成処理部11で生成された3次元点群が、時分割多段マップ生成/蓄積処理部12に入力される。ここで、入力される3次元点群は、1回のスキャンに含まれる計測データのみから生成されている。なお、入力される3次元点群は、基準平面座標系に変換されている。基準平面座標系とは、基準平面が設定される基準座標系であり、基準座標系は任意の箇所に対して定めることができる。例えば、図4に示すようにテーブル8を含む環境を上から見下ろして走査する状況では、ロボット1の重心位置に基準座標系を定めるとよい。
【0043】
S103において、時分割多段マップ生成/蓄積処理部12は、入力された3次元点群の各3次元点についてのループ処理を開始する。このため、各3次元点について、以下のS104及びS105の処理が行われる。
【0044】
S104において、時分割多段マップ生成/蓄積処理部12は、3次元点のx、y座標値から、当該3次元点が基準平面上のどの格子領域に含まれるかを特定する。
【0045】
S105において、時分割多段マップ生成/蓄積処理部12は、3次元点のz座標値における水平面を上面とする直方体を生成する。すなわち、Topを3次元点のz座標値とし、高さをDepthとする直方体を生成する。なお、時分割多段マップ生成処理において直方体を生成する際には、予め定めた所定値をDepthとする。ここでは、例えば、3次元点のz座標値における水平面を上面とする立方体を生成する。また、同一の格子領域内に同一のz座標値を持つ複数の3次元点が存在した場合には、1つの直方体を代表して生成すればよい。
【0046】
S106において、時分割多段マップ生成/蓄積処理部12は、S103〜S105までの処理によって新たに生成された直方体の集合(直方体群)を、現在の時間における時分割多段マップとして記憶手段に保持する。
【0047】
次に、図9乃至14を参照して、3次元環境復元装置10による全体多段マップの生成処理について説明する。
図9は、全体多段マップの生成処理のフローチャートである。
【0048】
S201において、時分割多段マップ生成/蓄積処理部12で生成された時分割多段マップが、記憶手段に入力される。図10(a)に示す例では、前々回生成された時分割多段マップと、前回生成された時分割多段マップと、が既に入力されており、今回生成された時分割多段マップが新たに入力されるようすを示している。図10(a)に示す例では、前々回生成された時分割多段マップに含まれる直方体part[t−2]と、前回生成された時分割多段マップに含まれる直方体part[t−1]と、に対して、今回生成された時分割多段マップに含まれる直方体part[t]が新たに追加されるようすを示している。図10(b)は、前回の全体多段マップ生成処理により生成された全体多段マップall[t−1]を示している。
【0049】
なお、本実施の形態では、前回生成した全体多段マップに加えて、過去の時分割多段マップに含まれる直方体についても併せて記憶手段に保持しておく。これにより、今回の全体多段マップを更新するに際して、今回新たに追加する直方体を過去のどの直方体に対して修正、加算、削除すればよいのかを特定することができる。このため、全体多段マップ生成処理部13は、前回の全体多段マップ生成処理の結果と前回の時分割多段マップを保持しており、図10に示す例では、直方体part[t−1]と、直方体part[t−2]と、直方体all[t−1]と、を保持している。
【0050】
S202において、全体多段マップ生成処理部13は、予め定めた規定時間分の時分割多段マップが記憶手段に蓄積されているか否かを判定し、蓄積されていない場合にはS201へと戻り、蓄積されている場合にはS203へと進む。
【0051】
S203において、全体多段マップ生成処理部13は、最新の時分割多段マップを用いて、過去の時分割多段マップを変形する。より具体的には、全体多段マップ生成処理部13は、過去の時分割多段マップに含まれる直方体と、最新の時分割多段マップに含まれる直方体との重なりを判定し、重なっていると判定した場合には、過去の時分割多段マップに含まれる直方体の高さを修正する。図11(a)に示す例では、前回の直方体part[t−1]に対して、追加した今回の直方体part[t]が重なっているため、同図(b)に示すように、前回の直方体part[t−1]の高さを修正する。
【0052】
S204において、全体多段マップ生成処理部13は、最新の時分割多段マップを、全体多段マップに加算する。より具体的には、全体多段マップ生成処理部13は、最新の時分割多段マップに含まれる直方体を、前回の全体多段マップ生成処理により生成された全体多段マップに追加する。図12に示す例では、同図(a)に示す今回の直方体part[t]を、同図(b)に示すように、前回の全体多段マップall[t−1]に追加し、追加した全体多段マップを今回の全体多段マップall[t]とする。
【0053】
S205において、全体多段マップ生成処理部13は、最も古い時分割多段マップを、全体多段マップから減算する。より具体的には、全体多段マップ生成処理部13は、最も古い時分割多段マップに含まれる直方体を、今回の全体多段マップから削除する。なお、最古の直方体は全体多段マップから削除されると共に、最古の直方体そのものも記憶手段から削除される。図13に示す例では、同図(a)に示す最古の直方体part[t−2]を、同図(b)に示すように、今回の全体多段マップall[t]から削除する。
【0054】
なお、最古の時分割マップを減算することで、結果として、全体多段マップが分割されることもある。例えば、図14に示すように、同図(a)に示す最古の直方体part[t−2]を削除した結果、同図(b)に示すように、前回の直方体part[t−1]と、今回の直方体part[t]とが分離することもある。
【0055】
S206において、全体多段マップ生成処理部13は、S203〜S205までの処理によって完成した今回の全体多段マップを出力する。このように、本実施の形態では、新たな時分割多段マップが入力される都度、それまでに保持していた全ての時分割多段マップを用いて新たな全体多段マップを作り直すのではなく、最新の時分割多段マップと最古の時分割多段マップとの入れ替えによって、全体多段マップを更新していく。このようなFIFO構造によって、マップ更新処理の高速化を実現することができる。
【0056】
また、全体多段マップ生成処理部13は、規定時間分の時分割多段マップと、全体多段マップの両方を記憶手段に保持しているが、例えばアームの軌道計画を行う場合には、時分割多段マップ群ではなく今回生成した全体多段マップを用いることで、より効率的に動的な環境下での軌道計画が可能となる。これは、図13に示した例示したように、時分割多段マップ群に含まれる全ての直方体を利用するよりも、全体多段マップに含まれる複数の直方体をまとめた後の直方体を利用したほうが、計算対象となる直方体のデータ量を削減することができ、より効率的に軌道計画が可能となるためである。
【0057】
以上説明したように、本実施の形態によれば、それぞれの時点で生成した時分割多段マップを規定時間分蓄積し、時分割多段マップ群を用いて全体多段マップを更新していくことで、動的な環境下においても、効率的にマップ更新処理が可能となる。
また、メモリ消費量の少ない3次元環境マップを生成することができるため、限られた計算機資源を有効活用することができる。
さらに、メモリ消費量の少ない、つまり、データ量の少ない3次元環境マップが生成されるため、本マップを用いてアームの軌道計画や移動経路計画する際には、計算時間を短く抑えることができる。
【0058】
実施の形態2.
次に、本発明の実施の形態2について説明する。
上述の実施の形態においては、1つの全体多段マップを生成するものであったが、本実施の形態においては、複数の全体多段マップを同時に生成するものである(ここでは2つの全体多段マップを例示する)。なお、図1に示したロボット1の概略構成や、図2に示した3次元環境復元装置10の構成及び処理については上述した実施の形態1と同一であるためその詳細な説明を省略し、以下では、実施の形態1と異なる点を中心に説明する。
【0059】
3次元環境復元装置10により生成される3次元環境マップ(全体多段マップ)は、低容量のデータ構造である。このため、格子サイズの異なる複数の3次元環境マップを同時に生成及び保持することができ、これら複数のマップをそれぞれ用途に応じて生成及び保持することで、アームの軌道計画やロボット1の移動経路計画に利用することが可能となる。
【0060】
本実施の形態にかかる3次元環境復元装置10は、各3次元点群から第1の格子サイズの時分割多段マップを生成してこれらを蓄積し、蓄積された時分割多段マップ群を用いて第1の全体多段マップを生成する。同時に、第1の全体多段マップの生成に用いたものと同じ各3次元点群から、第1の格子サイズよりも大きな第2の格子サイズの時分割多段マップを生成してこれらを蓄積し、蓄積された時分割多段マップ群を用いて第2の全体多段マップを生成する。
【0061】
例えば、図15(a)に示すような格子サイズのより大きな全体多段マップを、自律移動の際の平面検出に用いるため生成し、同図(b)に示すような格子サイズのより小さな全体多段マップを、物体把持のために物体形状の把握に用いるために生成することができる。図15(a)に示すような格子サイズのより大きな全体多段マップを用いて平面検出を行うことで、3次元点群に抜けがある場合においても、同一の格子領域内に含まれる他の同一の高さの3次元点によって平面が特定されやすくなり、平面検出をより精度良く行うことができる。また、図15(b)に示すような格子サイズのより小さな全体多段マップを用いることで、把持対象となる物体の形状をより正確に把握することができる。
【0062】
また、例えば、ロボット1に扉の開閉動作を実行させる場合には、ロボット1は現在位置から扉付近に近づくように移動すると共に、アームを延ばしながらハンド等によって扉の取っ手を把持することが求められる。このため、移動経路計画用のより大きな格子サイズの全体多段マップと、アームの軌道計画用のより詳細な全体多段マップとの両方を同時に生成及び保持することで、より効率的に動作を実行させることが可能となる。
【0063】
その他の実施の形態.
本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
例えば、上述の実施の形態では、2本のアームを備えたロボット1の上体部を例示したが、ロボット1は、車輪や脚などの移動手段を備えていても良い。また、ロボット1に限定されず、車などの移動体に本発明を適用するものとしてもよい。
【0064】
また、例えば、上述の実施の形態では、環境認識センサとしてレーザレンジファインダを用いた場合を例に説明したが本発明はこれに限定されず、環境認識センサは、環境を3次元で計測可能な公知の手段を採用することができ、例えばカメラ等を用いて3次元点群を生成するためのデータを取得するものとしてもよい。
【0065】
また、例えば、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、にコンピュータプログラムを実行させることにより実現することも可能である。
【符号の説明】
【0066】
1 ロボット、
2 胴体、
3 首関節、
4 頭部、
5 レーザレンジファインダ、
6 右アーム、
7 左アーム、
8 テーブル、
9 物体、
10 3次元環境復元装置、
11 3次元点群生成処理部、
12 時分割多段マップ生成/蓄積処理部、
13 全体多段マップ生成処理部、
20 基準平面、
21、 22 直方体、
41、42 時分割多段マップ、
43 全体多段マップ、

【特許請求の範囲】
【請求項1】
環境を3次元で計測する環境認識センサと、
前記環境認識センサで計測された計測データから、観測物体の3次元形状を表す3次元点群を生成する3次元点群生成処理部と、
3次元環境を表現するデータ構造であって、当該3次元環境が格子領域に区切られて前記観測物体が存在する格子領域に直方体が配置された3次元環境マップを多段マップとして、前記3次元点群生成処理部で生成された3次元点群データを用いて前記多段マップを時分割で生成し、当該生成した多段マップを記憶手段に規定時間分蓄積する時分割多段マップ生成/蓄積処理部と、
前記記憶手段に蓄積された前記規定時間分の前記多段マップと、前記時分割多段マップ生成/蓄積処理部で新たに生成された多段マップと、を合成することで、新たな環境情報を反映させた全体多段マップを生成する全体多段マップ生成処理部と、
を備える3次元環境復元装置。
【請求項2】
前記全体多段マップ生成処理部は、
前記時分割多段マップ生成/蓄積処理部で新たに生成された多段マップに含まれる直方体を、前回生成した前記全体多段マップに追加して今回の全体多段マップを生成し、
当該生成した全体多段マップから、前記記憶手段に蓄積された前記規定時間分の前記多段マップのうちで最も古い前記多段マップに含まれる直方体を削除する
ことを特徴とする請求項1に記載の3次元環境復元装置。
【請求項3】
前記全体多段マップ生成処理部は、
前記記憶手段に蓄積された前記規定時間分の前記多段マップに含まれる直方体と、前記時分割多段マップ生成/蓄積処理部で新たに生成された多段マップに含まれる直方体との重なりを判定し、重なっていると判定した場合には、前記規定時間分の前記多段マップに含まれる直方体の高さを修正する
ことを特徴とする請求項2に記載の3次元環境復元装置。
【請求項4】
前記全体多段マップ生成処理部は、
前記全体多段マップを生成する際に、
最新の前記多段マップが追加されると共に、過去の前記多段マップのうちで最古の前記多段マップを削除する
ことを特徴とする請求項1乃至3いずれか1項に記載の3次元環境復元装置。
【請求項5】
前記環境認識センサは、
観測物体までの距離データを取得するレーザレンジファインダである
ことを特徴とする請求項1乃至4いずれか1項に記載の3次元環境復元装置。
【請求項6】
3次元環境を表現するデータ構造であって、当該3次元環境が格子領域に区切られて前記観測物体が存在する格子領域に直方体が配置された3次元環境マップを多段マップとして、当該多段マップを生成及び蓄積する3次元環境復元方法であって、
環境が3次元で計測された計測データを取得する環境認識ステップと、
前記計測データから、観測物体の3次元形状を表す3次元点群を生成する3次元点群生成ステップと、
前記3次元点群データを用いて前記多段マップを時分割で生成する時分割多段マップ生成ステップと、
前記多段マップを記憶手段に規定時間分蓄積する時分割多段マップ蓄積ステップと、
前記記憶手段に蓄積された前記規定時間分の前記多段マップと、新たに生成された多段マップと、を合成することで、新たな環境情報を反映させた全体多段マップを生成する全体多段マップ生成ステップと、
を有する3次元環境復元方法。
【請求項7】
環境を3次元で計測する環境認識センサを備え、当該環境認識センサで計測された計測データに基づいて生成する3次元環境地図を用いて動作を行うロボットであって、
前記環境認識センサで計測された計測データから、観測物体の3次元形状を表す3次元点群を生成する3次元点群生成処理部と、
3次元環境を表現するデータ構造であって、当該3次元環境が格子領域に区切られて前記観測物体が存在する格子領域に直方体が配置された3次元環境マップを多段マップとして、前記3次元点群生成処理部で生成された3次元点群データを用いて前記多段マップを時分割で生成し、当該生成した多段マップを記憶手段に規定時間分蓄積する時分割多段マップ生成/蓄積処理部と、
前記記憶手段に蓄積された前記規定時間分の前記多段マップと、前記時分割多段マップ生成/蓄積処理部で新たに生成された多段マップと、を合成することで、新たな環境情報を反映させた全体多段マップを生成する全体多段マップ生成処理部と、
を備えるロボット。
【請求項8】
前記時分割多段マップ生成/蓄積処理部は、
前記3次元点群生成処理部で生成された3次元点群データを用いて第1の格子サイズの前記多段マップを時分割で生成し、当該生成した第1の格子サイズの多段マップを記憶手段に規定時間分蓄積し、
前記3次元点群生成処理部で生成された3次元点群データを用いて前記第1の格子サイズよりも大きな第2の格子サイズの前記多段マップを時分割で生成し、当該生成した第2の格子サイズの多段マップを前記記憶手段に規定時間分蓄積し、
前記全体多段マップ生成処理部は、
前記記憶手段に蓄積された前記規定時間分の前記第1の格子サイズの前記多段マップと、前記時分割多段マップ生成/蓄積処理部で新たに生成された記第1の格子サイズの多段マップと、を合成することで、新たな環境情報を反映させた前記第1の格子サイズの全体多段マップ生成し、
前記記憶手段に蓄積された前記規定時間分の前記第2の格子サイズの前記多段マップと、前記時分割多段マップ生成/蓄積処理部で新たに生成された前記第2の格子サイズの多段マップと、を合成することで、新たな環境情報を反映させた前記第2の格子サイズの全体多段マップ生成し、
前記ロボットは、前記第1の格子サイズの全体多段マップ及び前記第2の格子サイズの全体多段マップを用途に応じて使い分ける
ことを特徴とする請求項7記載のロボット。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2012−103144(P2012−103144A)
【公開日】平成24年5月31日(2012.5.31)
【国際特許分類】
【出願番号】特願2010−252487(P2010−252487)
【出願日】平成22年11月11日(2010.11.11)
【出願人】(504137912)国立大学法人 東京大学 (1,942)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】