(57)【要約】【課題】  ３次元地図を生成する。【解決手段】  ３次元地図生成システム１０は、ロボット１２および遠隔操作装置１４を含み、遠隔操作装置によってロボットを移動させながら、３次元レーザ距離系２８によって周囲をスキャンして、スキャンデータ（データセット）を取得する。複数のデータセットを用いて２次元グリッド地図を生成し（Ｓ１）、２次元グリッド地図を所定の３次元座標系に整合させ（Ｓ５）、データセット中のすべての点の３次元座標系での位置ずれを補正した上で、各点をボクセル形式の３次元地図にプロットする（Ｓ４１）ことによって、３次元地図が生成される。【選択図】  図１
2017198517.tif 000002
【特許請求の範囲】
【請求項１】
移動体、
前記移動体に搭載される全方位レーザ距離計、
前記全方位レーザ距離計によるスキャンで得られるデータセットに基づいて２次元グリッド地図を生成する２次元地図生成手段、
前記２次元グリッド地図を所定の３次元座標系に整合する整合手段、
前記データセットの各点を移動体の位置および方向に基づいて３次元座標系に変換する変換手段、
前記３次元座標系に変換された各点を時系列のデータセットに従ってマッチングするマッチング手段、および
マッチングした各点をボクセル地図に書き込んで３次元地図を生成する生成手段を備える、３次元地図生成システム。
【請求項２】
前記マッチング手段は、前記３次元座標系における平面内に含まれる特定の点のマッチングを行い、その結果に従って残りの点をマッチングする、請求項１記載の３次元地図生成システム。
【請求項３】
前記３次元地図のデータを蓄積する蓄積手段、および
前記蓄積手段によって蓄積している複数の３次元地図に基づいて合成３次元地図を生成する合成地図生成手段をさらに備える、請求項１または２記載の３次元地図生成システム。
【請求項４】
移動体および前記移動体に搭載される全方位レーザ距離計を備える３次元地図生成システムのコンピュータによって実行され、前記コンピュータを、
前記全方位レーザ距離計によるスキャンで得られるデータセットに基づいて２次元グリッド地図を生成する２次元地図生成手段、
前記２次元グリッド地図を所定の３次元座標系に整合する整合手段、
前記データセットの各点を移動体の位置および方向に基づいて３次元座標系に変換する変換手段、
前記３次元座標系に変換された各点を時系列のデータセットに従ってマッチングするマッチング手段、および
マッチングした各点をボクセル地図に書き込んで３次元地図を生成する生成手段
として機能させる、３次元地図生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、３次元地図生成システムに関し、特に、たとえば移動ロボットに搭載した３次元レーザ距離計で獲得した３次元スキャンデータを用いて３次元地図を生成する、３次元地図生成システムに関する。
【背景技術】
【０００２】
特許文献１には、レーザレンジファインダ（ＬＲＦ：Laser Range Finder）のようなレーザ距離計による距離データを、計測時の移動体の位置および向きを基準とする位置データに変換し、その位置データを所定のルールに従って複数のクラスタにクラスタリングし、条件を満たさないクラスタを消去することによって、不要な位置データを消去して、必要な位置データだけで地図を作成する方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４‐１７４２７５ [G09B 29/00  G06T 11/60 …]
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、３次元地図については考慮されていない。
【０００５】
それゆえに、この発明の主たる目的は、新規な、３次元地図生成システムを提供することである。
【０００６】
この発明の他の目的は、３次元地図を容易に生成できる、３次元地図生成システムを提供することである。
【課題を解決するための手段】
【０００７】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【０００８】
第１の発明は、移動体、移動体に搭載される全方位レーザ距離計、全方位レーザ距離計によるスキャンで得られるデータセットに基づいて２次元グリッド地図を生成する２次元地図生成手段、２次元グリッド地図を所定の３次元座標系に整合する整合手段、データセットの各点を移動体の位置および方向に基づいて３次元座標系に変換する変換手段、３次元座標系に変換された各点を時系列のデータセットに従ってマッチングするマッチング手段、およびマッチングした各点をボクセル地図に書き込んで３次元地図を生成する生成手段を備える、３次元地図生成システムである。
【０００９】
第１の発明では、３次元地図生成システム（１０：実施例において相当する部分を例示する参照符号。以下同様。）は、たとえば遠隔操作装置（１４）によって移動を制御される移動体（１２）を備え、その移動体にたとえば全方位レーザレンジファインダのような全方位レーザ距離計（２８）が搭載される。移動体が移動されるとき、全方位レーザ距離計によるスキャンが行われ、それによって得られるデータセットに基づいて、２次元地図生成手段（３０、Ｓ１）が２次元グリッド地図を生成する。整合手段（３０、Ｓ５）が、２次元グリッド地図を所定の３次元座標系に整合する。変換手段（３０、Ｓ２５）が、データセットの各点を移動体の位置および方向に基づいて３次元座標系に変換する。マッチング手段(３０、Ｓ２７‐Ｓ３９)が３次元座標系に変換された各点を時系列のデータセットに従ってマッチングする。それによって、各点（Ｐｊ）が３次元座標系の正しい位置に位置合わせされる。生成手段（３０、Ｓ４１）が、マッチングした各点をボクセル地図に書き込んで３次元地図を生成する。
【００１０】
第１の発明によれば、全方位レーザ距離計のスキャンデータから、容易に、３次元地図が生成できる。
【００１１】
第２の発明は、第１の発明に従属し、マッチング手段は、３次元座標系における平面内に含まれる特定の点のマッチングを行い、その結果に従って残りの点をマッチングする、３次元地図生成システムである。
【００１２】
第２の発明では、マッチング手段（Ｓ２７‐Ｓ３９）は、３次元座標系における平面内に含まれる特定の点（Ｐｌ，Ｐｋ）のマッチングを行い（Ｓ２７‐Ｓ３７）、その結果に従って残りの点をマッチングする（Ｓ３９）。
【００１３】
第２の発明によれば、まず特定の点だけを用いてマッチングを行うことによって、所要時間を短縮できるだけでなく、マッチングの精度が向上する。
【００１４】
第３の発明は、第１または第２の発明に従属し、３次元地図のデータを蓄積する蓄積手段、および蓄積手段によって蓄積している複数の３次元地図に基づいて合成３次元地図を生成する合成地図生成手段をさらに備える、３次元地図生成システムである。
【００１５】
第３の発明では、蓄積手段（７２）が、生成手段（Ｓ４１）が生成した３次元地図のデータを蓄積しておき、合成地図生成手段（３０、Ｓ１１、Ｓ１３、Ｓ５１‐Ｓ６１）は、典型的には時系列に従った順次の３次元地図に基づいて、合成３次元地図を生成する。
【００１６】
第３の発明によれば、合成３次元地図が生成できる。
【００１７】
第４の発明は、移動体および移動体に搭載される全方位レーザ距離計を備える３次元地図生成システムのコンピュータによって実行され、コンピュータを、全方位レーザ距離計によるスキャンで得られるデータセットに基づいて２次元グリッド地図を生成する２次元地図生成手段、２次元グリッド地図を所定の３次元座標系に整合する整合手段、
データセットの各点を移動体の位置および方向に基づいて３次元座標系に変換する変換手段、３次元座標系に変換された各点を時系列のデータセットに従ってマッチングするマッチング手段、およびマッチングした各点をボクセル地図に書き込んで３次元地図を生成する生成手段して機能させる、３次元地図生成プログラムである。
【００１８】
第４の発明によれば、第１の発明と同様の効果が期待できる。
【発明の効果】
【００１９】
この発明によれば、３次元レーザ距離計のスキャンデータ（データセット）を用いて３次元地図を容易に生成することができる。
【００２０】
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００２１】
【図１】図１はこの発明の一実施例である３次元地図生成システムを示すブロック図である。
【図２】図２は図１実施例の移動ロボットの電気的構成の一例を示すブロック図である。
【図３】図３は図１実施例の３次元地図生成システムを実験した場所の一例を示す図解図である。
【図４】図４は移動ロボットに搭載した全方位レーザ距離計の実際のスキャンデータの一例を示す図解図である。
【図５】図５は全方位レーザ距離計のスキャンデータに基づいて作成される２次元グリッド地図の一例を示す図解図である。
【図６】図６は３次元ボクセル地図の一例を示す図解図である。
【図７】図７は図１実施例における遠隔操作装置のメモリのメモリマップの一例を示す図解図である。
【図８】図８は３次元合成地図を作成する動作の一例を示すフロー人図である。
【図９】図９は図８実施例において３次元地図を生成する動作の一例を示すフロー図である。
【図１０】図１０は図８で生成した３次元地図によって３次元合成地図を更新する動作の一例を示すフロー図である。
【発明を実施するための形態】
【００２２】
図１を参照して、この実施例の３次元地図生成システム（以下、単に「地図生成システム」ということがある。）１０は、移動体としての移動ロボット（以下、単に「ロボット」ということがある。）１２およびそのロボット１２の移動を制御する遠隔制御装置１４を含む。ロボット１２と遠隔制御装置１４は、ネットワーク１６を介して、相互に通信できる。
【００２３】
ロボット１２は、図１に示すように本体２０を載せるベース１８を含み、このベース１８に、ロボット１２を移動するための車輪２２が設けられる。本体２０の上に支持部２４が設けられ、その支持部２４に、ＲＧＢカメラ２６が前方に向けて設けられるとともに、その支持部の上端に全方位レーザ距離計２８が設けられる。全方位レーザ距離計２８は、たとえば、水平を基準として上下４０°（＋３０°‐−１０°）の検知角度（垂直視野角）を有する３次元レーザ距離計である。この３次元全方位レーザ距離計（以下、単に「レーザ距離計」ということがある。）２８は、たとえば０．１秒に１回転して、およそ１００ｍまでの距離を計測する。実験では、レーザ距離計２８として、Ｖｅｌｏｄｉｎｅ社製のイメージングユニットＬｉＤＡＲ（ＨＤＬ‐３２ｅ）（商品名）を用いた。このようなロボット１２は、遠隔操作装置１４によって、その移動が制御される。
【００２４】
遠隔操作装置１４は、コンピュータ３０を含み、このコンピュータ３０に接続された操作卓３２に設けられる操作キーやジョイスティック（図示せず）をオペレータが操作することによって、その操作入力に応じて、コンピュータ３０がロボット１２の車輪２２すなわちロボット１２の移動を制御する。
【００２５】
コンピュータ３０にはメモリ３４が連結されるとともに、表示器３６が接続される。メモリ３４は、後述のように、地図生成のためのプログラムの他、上述のレーザ距離計２８が取得するスキャンデータ（データセット）を記憶するだけでなく、２次元地図データや３次元地図データさらには、合成地図データ等を記憶する。表示器３６は、ロボット１２の移動を安全に行うために、ロボット１２の移動状態やカメラ２６で撮影した画像を表示して、オペレータに見せる。
【００２６】
コンピュータ３０には、無線通信モジュール３８が付属され、コンピュータ３０はネットワーク１６を経由して、ロボット１２の無線通信モジュール４０（図２）を通して、コンピュータ４２と無線通信を行うことができる。
【００２７】
ロボット１２のコンピュータ４２には、バス４４を介して、メモリ４６が接続されるとともに、センサインタフェース４８およびモータドライバ５０が接続される。センサインタフェース４８には、前述のＲＧＢカメラ２６およびレーザ距離計２８が連結され、センサインタフェース４８は、カメラ２６からの画像データおよびレーザ距離計２８からのセンサデータを受け、コンピュータ４２の制御の下、無線通信モジュール４０、ネットワーク１６、無線通信モジュール３８を通して、コンピュータ３０（図１）に送る。
【００２８】
他方、遠隔操作装置１４からの操作データが、無線通信モジュール３８、ネットワーク１６、無線通信モジュール４０を通して、コンピュータ４２に送られ、コンピュータ４２からモータドライバ５０に与えられる。したがって、車輪モータ５２が駆動され、ロボット１２が遠隔操作によって移動される。
【００２９】
このような地図生成システム１０のロボット１２は、たとえば図３に示すような場所において移動されながら、レーザ距離計２８によってスキャンデータを取得する。図３に例示する場所は発明者等がこの地図生成システム１０の実験のために利用した商業施設の２階の一部である。実験では、ロボット１２は、１回の走行において、商業施設のこの場所を約２５分かけて約５３０ｍ移動し、およそ１億８２００万の点群の位置データ（データセット）を出力する。そして、１つの３次元地図を生成するために、同じ場所を、一例として７回走行させて、７回分のデータセットを取得した。
【００３０】
図４がレーザ距離計２８で取得した代表的な３次元スキャンデータ５４を示し、この図４の中の円弧状の線がレーザ距離計２８がスキャンしている様子を模式的に示す。図４に示すように、スキャンデータは、壁や床などのような静的オブジェクトだけでなく、人間のような動的オブジェクトからのデータを含む。他方、図４ではわからないが、実際のスキャンデータでは、高さ方向に色付けされていて、低い位置が赤色で、高い位置が青色でそれぞれ表現される。
【００３１】
このようなスキャンデータ５４は上述のように、遠隔操作装置１４のコンピュータ３０のメモリ３４に記憶される。そして、コンピュータ３０は、１走行で得られた１億８２００万の点群の位置データを示すデータセットを用いて、図５に示す２次元地図５６を作る。図５に示すように、この２次元地図５６は、たとえば１０ｃｍのグリッド地図である。この地図を作成する際、データセットに含まれる各点をその１０ｃｍグリッドに落とし込む（ダウンサンプリングする）。
【００３２】
図５の２次元グリッド地図５６において、灰色の部分はロボット１２のレーザ距離計２８がスキャンできなかった場所であり、白色部分がレーザ距離計２８でスキャンした場所である。
【００３３】
その後、３次元地図を生成する。この３次元地図は、図６に示すような、１０ｃｍのボクセル（voxel）で表わす地図である。このボクセル地図は、図５のような２次元グリッド地図を生成した後に、３次元座標系のロボット１２の正確な位置と向き（position, orientation）を利用して、図４に示すようなロボット１２の１走行毎の２次元グリッド地図に基づいて、生成される。詳しくしは後述するが、２次元地図のグリッドに対応する平面の高さ方向にもボクセルが配置され、その２次元地図のグリッドにオブジェクトが存在すると、対応のボクセルに「１」が書き込まれる。たとえばロボット１２の７走行の結果の７枚の２次元地図のすべてにおいて同じグリッドにあるオブジェクトは、３次元地図において、図６のように、その「１」が累積され、高さ情報を持つ３次元地図が生成される。
【００３４】
ここで、図１の遠隔操作装置１４のコンピュータ３０のメモリ３４は、たとえば図７に示すように、プログラム記憶領域６０およびデータ記憶領域６２を含む。
【００３５】
プログラム記憶領域６０には、ＯＳなどの必要なプログラムの他、ロボット１２の移動を制御するための移動制御プログラム６４および後に図８‐図１０を参照して詳細に説明する地図作成プログラム６６などが予め設定されている。
【００３６】
データ記憶領域６２は、レーザ距離計２８から得られるスキャンデータ５４（データセット）を一時的に記憶するための計測データバッファ６８、図５に示す２次元グリッド地図のデータを記憶する２次元地図データ記憶領域７０、図６に示すような３次元ボクセル地図５８のデータを記憶する３次元地図データ記憶領域７２、２以上の３次元地図を合成した合成地図のデータ記憶するための合成地図データ記憶領域７４等を含む。
【００３７】
図１に示す遠隔操作装置１４のコンピュータ３０は、移動制御プログラム６４に従って、オペレータが操作する操作卓３２からの操作データに基づいて、ロボット１２をたとえば図３で示すような場所を走行させる。そのロボット１２の１走行で得られたスキャンデータ（計測データのデータセット）が、メモリ３４の計測データバッファ６８に記憶される。
【００３８】
そして、地図作成プログラム６６（図７）によって規定されている、図８の最初のステップＳ１では、コンピュータ３０は、計測データバッファ６８に蓄積されている１走行分のスキャンデータ（データセット）に基づいて、図５に示すような２次元グリッド地図を生成する。その２次元地図のデータは、２次元地図データ領域７０（図７）に保存される。
【００３９】
続くステップＳ３でコンピュータ３０は、その２次元地図が最初のものかどうか判断する。“ＹＥＳ”なら、次のステップＳ５で、コンピュータ３０は、その最初の２次元地図上の位置および向きを、所定の３次元座標系に整合する。その後、またはステップＳ３で“ＮＯ”のとき、すなわち２次元地図が最初のものではないとき、ステップＳ７に進む。
【００４０】
ステップＳ７は、具体的には、図９のようなサブルーチンで構成される。
【００４１】
地図作成プログラム６６（図７）によって規定されている、図９の最初のステップＳ２１では、スキャン（走行）数を示す変数ｉをｉ＝０とする。したがって、ｉ番目のスキャン（走行）で計測したデータセットは、Ｓｉ（Ｓ０，Ｓ１，…Ｓｉ，…Ｓｎ）で表現される。続くステップＳ２３では、点位置を示す変数ｊをｊ＝０とする。したがって、ｉ番目のデータセットにおけるｊ番目の点が、ＳｉＰｊと表現される。つまり、Ｓｉ＝｛Ｐ１， Ｐ２， …Ｐｊ， …ＰＮ｝である。
【００４２】
ステップＳ２５では、コンピュータ３０は、ＲＰｉ（Ｓｉのときのロボット１２の２次元地図上の位置および向き）を用いて、点位置Ｐｊを、ステップＳ５で整合させた２次元地図上の３次元座標に変換する。
【００４３】
次のステップＳ２７で、コンピュータ３０は、その点Ｐｊの周囲の距離Ｒの範囲内のすべての点を使って、局所平面（local plan）を当てはめる。つまり、このステップＳ２７では、点Ｐｊを含む局所平面を推定する。
【００４４】
そして、ステップＳ２９では、コンピュータ３０は、平面度αを、α＝局所平面内の点の数÷距離Ｒ内の点の数として計算する。つまり、点Ｐｊの近傍の点のどの程度がステップＳ２７で推定した局所平面内にあるかを計算する。したがって、α＝１であれば、Ｐｊの周りの距離Ｒ内のすべての点が同じ局所平面にあることを意味する。つまり、αが「１」に近いほど平面に近いといえる。
【００４５】
このようにして計算した平面度αおよびその局所平面の法線（Normal）を使って、点Ｐｊを、Ｐｊ（ｘｊ，ｙｊ，ｚｊ，Ｎｊ，αｊ）と定義する。
【００４６】
ステップＳ３１では、コンピュータ３０は、データセットＳｉの中のすべての点についてステップＳ２５‐Ｓ２９の処理が終了したかどうか（ｊ＜ＮＰＳｉ）、判断する。“ＮＯ”ならステップＳ３３で点番号ｊをインクリメントして、ステップＳ２５に戻る。
【００４７】
このようにして、データセットＳｉのすべての点Ｐについて、３次元座標上での定義が終了したなら、ステップＳ３１で“ＹＥＳ”となり、コンピュータ３０は、次のステップＳ３５で、データセットの番号ｉが「０」かどうか、つまり、最初のデータセットについての上述の処理が終了したかどうか判断する。
【００４８】
ステップＳ３５で“ＮＯ”なら、次のステップＳ３７でコンピュータ３０は、今回のデータセットＳｉの中で前述の平面度αが閾値Ｔ（実施例では、一例として、０．９とした。）を超える点Ｐｌ（ピーエル）（｛Ｐｌ∈Ｓｉ／Ｐｌ.α＞Ｔ｝）と、前回のデータセットＳｉ−１の中で前述の平面度αが閾値Ｔを超える点Ｐｋ｛Ｐｋ∈Ｓｉ−１／Ｐｋ.α＞Ｔ｝）とのスキャンマッチングを実行する。なお、スキャンマッチングとは、ＩＣＰ（Interactive Closest Point）に類似した手法で、異なるデータセット（スキャン）の対応する点どうしのずれを検出することである。
【００４９】
このようにスキャンマッチングを行う際、ステップＳ２９で計算した平面度αが閾値Ｔたとえば０．９を超えた点ＰｌおよびＰｋだけを用いてスキャンマッチングを行うことによって、所要時間を短縮できるだけでなく、それぞれの点が平面上にあると推定されるので、マッチングの精度が向上する、という利点がある。
【００５０】
ステップＳ３７で実行したスキャンマッチングの結果を用いて、ステップＳ３９で、コンピュータ３０は、データセットＳｉのすべての点について、位置合わせ（ずれ補正）を行う。それによって、Ｓｉ＝｛Ｐ１， Ｐ２， …Ｐｊ， …ＰＮ｝のすべての点が、３次元座標系上で、正しい位置に配置される。
【００５１】
ステップＳ３９の後、またはステップＳ３５で“ＹＥＳ”のとき、ステップＳ４１に進む。このステップＳ４１では、コンピュータ３０は、データセットＳｉのすべての点を図６に示したようなボクセル形式の３次元地図に加入する。
【００５２】
このように、図８のステップＳ１でデータセットＳｉを用いて２次元グリッド地図（図５）を生成し、ステップＳ５でその２次元地図を所定の３次元座標系に整合（align）させ、データセットＳｉ中のすべての点の３次元座標系での位置ずれを補正した上で、各点をボクセル形式の３次元地図にプロットすることによって、３次元地図が生成される。
【００５３】
ただし、位置ずれを補正する際には、上述した理由で、データセットから抽出した特定の点でまず位置ずれを検出し、検出した位置ずれの情報（スキャンマッチングの結果）を用いて全部の点の位置ずれを補正する。
【００５４】
ステップＳ４１で３次元地図が生成されると、ステップＳ４３でコンピュータ３０は、スキャン番号すなわちデータセットの数ｉが全データセット数ＮＳに達していないか判断する。“ＹＥＳ”ならステップＳ４５で変数ｉをインクリメントした後に、ステップＳ２３に戻って上述の処理を繰り返し実行する。つまり、すべてのデータセット（前述した発明者等の実験では７セット）を使って１つの３次元地図を生成する。この３次元地図のデータは、図７の３次元地図データ記憶領域７２に記憶される。
【００５５】
このようにして、図８のステップＳ７で３次元地図を生成した後、続くステップＳ９で、コンピュータ３０は、ステップＳ７で作った３次元地図が最初のものかどうか判断する。“ＹＥＳ”であれば、ステップＳ１１で合成地図（Composite map）初期化する。ここで、合成地図とは、異なる時間に作成した３次元地図からの情報の組み合わせであり、複数の３次元地図の情報を結合または統合することによって生成される３次元地図を意味する。このステップＳ１１では、ステップＳ７で生成した３次元地図のデータを、図７に示す構成地図データ領域７４に複写する。ここで、元の３次元地図のデータは３次元地図データ領域７２に記憶されたままである。つまり、３次元地図データはそれが生成されると、３次元地図データ領域７２に順次蓄積される。合成地図は、このようにして蓄積された３次元地図を合成することによって生成する。
図１０は、図７の地図作成プログラム６６に含まれる、合成地図の更新方法を示すフロー図であり、簡単に言うとこの更新処理では、ｎ番目の３次元地図Ｍｎを直前の合成地図ＣＭｎ−１を結合して合成地図ＣＭｎを作ることである。ただし、直前の合成地図ＣＭｎ−１は、３次元地図Ｍ１，Ｍ２，…，Ｍｎ−１を合成した３次元ボクセル地図である。また、３次元地図ＭｎはＪｎのボクセルを含み、直前の合成地図ＣＭｎ−１は、Ｉｎ−１のボクセルを含む。
【００５６】
この図１０のステップＳ５１‐Ｓ５５において、コンピュータ３０はまず、合成地図ＣＭｎ（今回更新した結果得られる合成地図）のすべてのボクセルに、直前の合成地図ＣＭｎ−１の対応するすべてのボクセルを設定する。
【００５７】
そして、ステップＳ５７‐Ｓ６１において、今回の合成地図の各ボクセルに、今回の３次元地図Ｍｎの対応するボクセルを書き込む。つまり、今回の３次元地図の該当するボクセル（ｊ）が「１」である場合、対応する合成地図ＣＭｎのボクセル（ｊ）に「１」を加える（投票する）。ただし、今回の３次元地図の該当するボクセル（ｊ）が「０」である場合、対応する合成地図ＣＭｎのボクセル（ｊ）には投票しない。
【００５８】
このようにして、蓄積した複数の３次元地図のデータを合成して、合成３次元地図を生成することができる。
【００５９】
発明者等は、図３のような商業施設でロボット１２を巡回させて、毎日１回あるいは数回、３次元地図を生成して蓄積することを提案している。その意味で、図８のステップＳ１５は不要であるが、図８の処理を終了するために、ステップＳ１５で最後かどうか判断し、“ＮＯ”であればステップＳ１に戻り、“ＹＥＳ”データあれば合成地図作成動作を終了する。
【００６０】
上述の実施例では、順次生成される３次元地図のデータに従って合成地図を更新することによって、合成地図を生成した。しかしながら、蓄積手段として作用するたとえば３次元地図データ記憶領域７２に蓄積された複数の３次元地図の内の任意のものを用いて合成地図を生成することができる。任意の複数の３次元地図データを用いて合成地図を生成する手順は、図８‐図１０で説明した手順と同様で、たとえば時間的に最先の３次元地図をステップＳ１１で最初の合成地図として設定し、その後、各３次元地図に従ってステップＳ１３のように合成地図を更新すればよい。
【００６１】
たとえば３次元地図データ記憶領域７２に記憶する３次元地図データにタイムスタンプのようにメタデータを付加しておけば、ユーザはそれを見て、任意の３次元地図を選択することができる。そうすれば、毎日１回蓄積した複数の３次元地図を、単に時系列的に合成することによってだけでなく、たとえば特定の曜日ごとの合成地図を簡単に作成することができる。そして、そのような合成地図では、３次元地図の対応するボクセルからの投票（ヒット）数が多い物体（オブジェクト）は静止物体である可能性が高い。なぜなら、どの３次元地図でもそのボクセルに存在するものだから。逆に、３次元地図の対応するボクセルからの投票（ヒット）数が少ない物体（オブジェクト）は移動物体である可能性が高い。たとえば、特定の曜日、たとえば日曜日に通路で行われるワゴンセールのワゴンや、顧客誘因のための看板（サイネージ）などが典型的である。
【００６２】
なお、上で挙げた具体的な材料や寸法などの具体的数値はいずれも単なる一例であり、製品の仕様などの必要に応じて適宜変更可能である。
【符号の説明】
【００６３】
１０  …３次元地図生成システム
１２  …移動ロボット
１４  …遠隔操作装置
２８  …３次元レーザ距離計
３０  …コンピュータ
６６  …地図作成プログラム
【図１】
2017198517.tif 000003
【図２】
2017198517.tif 000004
【図３】
2017198517.tif 000005
【図４】
2017198517.tif 000006
【図５】
2017198517.tif 000007
【図６】
2017198517.tif 000008
【図７】
2017198517.tif 000009
【図８】
2017198517.tif 000010
【図９】
2017198517.tif 000011
【図１０】
2017198517.tif 000012