説明

地図生成装置及び地図生成システム及びコンピュータプログラム及び地図生成方法

【課題】周辺環境の幾何学形状を対応付けるのが困難な場合であっても、複数の幾何学形状を合成して、周辺環境の地図を生成する。
【解決手段】形状取得部115は、計測装置200が計測した計測結果に基づいて、移動前位置(第一の位置)及び移動後位置(第二の位置)における周辺環境の幾何学形状を取得する。移動量取得部132は、計測装置200が移動前位置から移動後位置へ移動した移動量を取得する。形状合成部143は、移動量取得部132が取得した移動量に基づいて、形状取得部115が取得した周辺環境の幾何学形状を重ね合わせて合成する。地図生成部151は、形状合成部143が合成した合成結果に基づいて、周辺環境の地図を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、周辺環境の幾何学形状を計測して、周辺環境の地図を生成する地図生成装置及び地図生成システムに関する。
【背景技術】
【0002】
レーザ光を用いて反射物までの距離を測定する装置(レーザ測距装置などと呼ばれる。)がある。また、レーザ測距装置のレーザ光を左右に振ることにより、様々な方向角にレーザ光を照射し、その方向角に存在する反射物までの距離を計測する装置(レーザスキャナなどと呼ばれる。)がある。レーザスキャナが計測した距離に基づいて、周辺環境の幾何学形状を取得することができる。
レーザスキャナの位置が固定されていると、その地点から見える範囲の幾何学形状しか取得できないので、レーザスキャナを移動させ、複数の地点で周辺環境の幾何学形状を取得し、取得した幾何学形状を繋ぎ合わせることにより、広範囲な環境地図を構築する。
【非特許文献1】平岡透、若松浩二、尾崎直人「屋内地図作成のための時系列レーザスキャナデータのロバストな重ね合わせ」、『写真測量とリモートセンシング』46巻2号、37〜41ページ、社団法人日本写真測量学会、2007年。
【発明の開示】
【発明が解決しようとする課題】
【0003】
複数の地点で取得した幾何学形状を繋ぎ合わせるにあたり、幾何学形状の位置合わせをする必要がある。例えば、複数の幾何学形状から同じ形状の部分を抽出し、抽出した部分が重なるように位置合わせをすることが考えられる。
しかし、例えば、長い廊下など、一つの地点で取得した幾何学形状が単純な直線である場合や、同じ間隔で柱が並んでいるなど、同じ形状の繰り返しがある場合、部分の形状を重ね合わせて位置合わせをするのは、困難な場合がある。
この発明は、例えば、上記のような課題を解決するためになされたものであり、部分の形状を重ね合わせて位置合わせをするのが困難な場合であっても、複数の幾何学形状を位置合わせして合成できるようにすることを目的とする。
【課題を解決するための手段】
【0004】
この発明にかかる地図生成装置は、
周辺環境の幾何学形状を計測する計測装置の計測結果に基づいて、上記周辺環境の地図を生成する地図生成装置において、
データを処理する処理装置と、形状取得部と、移動量取得部と、形状合成部と、地図生成部とを有し、
上記形状取得部は、上記処理装置を用いて、上記計測装置が計測した計測結果に基づいて、上記周辺環境の幾何学形状を取得し、上記計測装置が第一の位置で計測した計測結果に基づいて取得した幾何学形状を第一形状とし、上記計測装置が上記第一の位置と異なる第二の位置へ移動して計測した計測結果に基づいて取得した幾何学形状を第二形状とし、
上記移動量取得部は、上記処理装置を用いて、上記計測装置が上記第一の位置から上記第二の位置へ移動した移動量を取得し、
上記形状合成部は、上記処理装置を用いて、上記移動量取得部が取得した移動量に基づいて、上記形状取得部が取得した第一形状と第二形状とを重ね合わせて合成し、
上記地図生成部は、上記処理装置を用いて、上記形状合成部が合成した合成結果に基づいて、上記周辺環境の地図を生成することを特徴とする。
【発明の効果】
【0005】
この発明にかかる地図生成装置によれば、移動量取得部が取得した移動量に基づいて、形状取得部が取得した第一形状と第二形状とを、形状合成部が合成するので、形状取得部が取得した第一形状と第二形状とにおいて対応する点を見つけることが困難な場合であっても、第一形状と第二形状とを合成し、周辺環境の地図を生成することができる。
【発明を実施するための最良の形態】
【0006】
実施の形態1.
実施の形態1について、図1〜図9を用いて説明する。
【0007】
図1は、この実施の形態における地図生成システム800の外観の一例を示す図である。
なお、配線等の細部は、省略している。
【0008】
地図生成システム800は、自走式のロボットである。地図生成システム800は、周辺環境の幾何学形状を計測し、計測した計測結果に基づいて周辺環境の地図を生成する。ここで、周辺環境とは、例えば、屋外における地面、周辺の建物、ガードレールなどの構造物などや、屋内における壁、天井、机、パーティション、テーブルなどの家具や、床の上に置いている瓶や缶など、地図生成システム800の周辺に存在するあらゆる物をいい、周辺環境の地図とは、これら周辺環境の幾何学形状を、二次元あるいは三次元でモデル化したデータをいう。
なお、地図生成システム800は、自走式のロボットではなく、人間が手で押すなどして移動する構成であってもよい。
【0009】
地図生成システム800は、移動台上板951、移動台中板952、移動台下板953、四つの車輪954〜957、可動台961、球面状支持体962、凹状支持体963、棒状支持体964、スリット状支持体965、二つの可動柱966,967、二つの傾斜計968,969、回転台971、短距離レーザ測距装置981、ミラー982、長距離レーザ測距装置984、カメラ986、六つのステッピングモータ991〜996、計算機810を有する。
【0010】
ステッピングモータ991〜996は、計算機810が出力する制御信号を入力し、入力した制御信号により指定された角変位量だけ任意の方向に回転する。
【0011】
移動台上板951、移動台中板952、移動台下板953は、例えば、スペーサーなどにより互いに平行に固定されている。
車輪954は、移動台下板953上に固定されたステッピングモータ991に接続固定されていて、ステッピングモータ991の回転に伴って回転する。車輪955も同様に、移動台下板953上に固定されたステッピングモータ992に接続固定されていて、ステッピングモータ992の回転に伴って回転する。ステッピングモータ991とステッピングモータ992とが同じ量回転することにより、地図生成システム800は、真っ直ぐ前進あるいは後退し、ステッピングモータ991とステッピングモータ992とが異なる量回転することにより、地図生成システム800は、左または右に方向転換する。
車輪956及び車輪957は、向きが自由に変えられるよう移動台上板951に固定されていて、それぞれ自由に回転する。
【0012】
以下の説明において、車輪954及び車輪955が位置する側を「前」、車輪956及び車輪957が位置する側を「後」と呼ぶ。また、車輪954が位置する側を「右」、車輪955が位置する側を「左」と呼ぶ。
【0013】
可動台961は、前後方向(ピッチ方向)及び左右方向(ロー方向)の角度を所定範囲内の任意の角度に固定することができる台である。
球面状支持体962は、半球状であり、可動台961の下側に固定されている。凹状支持体963は、上端に球面状支持体962と係合する凹部があり、移動台上板951の上側に固定されている。球面状支持体962と凹状支持体963とが係合することにより、可動台961を支持するとともに、球面状支持体962と凹状支持体963とが摺動することにより、可動台961の角度が変わっても、可動台961を支持し続ける。
棒状支持体964は、円柱棒状であり、可動台961の前端中央から前方向に突出している。スリット状支持体965は、上下方向に長いスリットを有する。スリット状支持体965のスリットに棒状支持体964を差し込むことにより、可動台961の角度が変化したとき、棒状支持体964が左右方向に移動するのを規制するとともに、棒状支持体964が上下方向へは自由に移動できるよう保持する。また、棒状支持体964が円柱棒状なので、可動台961は、スリット状支持体965に規制されることなく、ロー方向へ自由に回転できる。
可動柱966は、棒状であり、移動台上板951及び移動台中板952にそれぞれ設けられた貫通穴を貫通している。可動柱966は、移動台中板952上に固定されたステッピングモータ993の回転により、上下方向へ移動する。可動柱967も同様に棒状であり、移動台上板951及び移動台中板952にそれぞれ設けられた貫通穴を貫通し、移動台中板952上に固定されたステッピングモータ994の回転に伴って上下方向へ移動する。可動柱966は、可動台961の右前方を支持し、可動柱967は、可動台961の左前方を支持している。可動柱966と可動柱967とが同じ量移動することにより、可動台961のピッチ方向の角度を変えることができる。また、可動柱966と可動柱967とが異なる量移動することにより、可動台961のロー方向の角度を変えることができる。
なお、この例における可動台961の構成は一例であり、可動台961の角度を変える構成は、他の構成であってもよい。例えば、可動台961は、自動精密ステージや電動雲台といわれる機器を用いて構成してもよい。
可動台961の角度を変えられる範囲は、採用する機構や部品の配置などによって異なるが、例えば、ピッチ方向で+31度〜−48度の範囲である。
【0014】
傾斜計968及び傾斜計969は、可動台961上に固定されている。傾斜計968は、可動台961の左右方向の傾斜角度を測定し、傾斜計969は、可動台961の前後方向の傾斜角度を測定する。傾斜計968及び傾斜計969は、測定した傾斜角度を表わす信号を出力する。傾斜計968及び傾斜計969が出力した信号は、計算機810が入力する。計算機810は、入力した信号に基づいて、可動台961の角度を調整するなどの制御をする。例えば、計算機810は、入力した信号が表わす傾斜角度が0になるよう、ステッピングモータ993及びステッピングモータ994を回転させて可動柱966及び可動柱967を上下方向に移動させ、可動台961を水平に保つよう制御する。
【0015】
回転台971は、可動台961の上に設置されていて、可動台961の上面に垂直な軸を中心に、所定範囲内の任意の角度に固定できる台である。回転台971は、可動台961に固定されたステッピングモータ995に接続されていて、ステッピングモータ995の回転に伴って回転する。
なお、この例における回転台971の構成は一例であり、回転台971の角度を変える構成は、他の構成であってもよい。また、可動台961と一体の機構により、三軸方向の角度を変えられる構成であってもよい。
回転台971の角度を変えられる範囲は、採用する機構や部品の配置などによって異なるが、例えば、±159度の範囲である。
【0016】
短距離レーザ測距装置981は、パルス状のレーザ光を照射し、照射したレーザ光が周辺環境に反射した反射光を受光して、レーザ光を照射してから受光するまでの時間を測定することにより、レーザ光を照射した方向に存在する対象物までの距離を測定する装置である。短距離レーザ測距装置981は、例えば、最大4メートルまでの距離を測定可能である。短距離レーザ測距装置981は、測定した距離を表わす信号を出力する。短距離レーザ測距装置981が出力した信号は、計算機810が入力する。短距離レーザ測距装置981は、回転台971に固定されている。
ミラー982は、回転台971の中心軸上に設置されていて、可動台961の上面に垂直な軸を中心に、所定範囲内の任意の角度に回転可能に固定されている。ミラー982は、回転台971上に固定されたステッピングモータ996に接続されていて、ステッピングモータ996の回転に伴って回転する。ミラー982は、短距離レーザ測距装置981がレーザ光を照射する方向に位置し、短距離レーザ測距装置981が照射したレーザ光を可動台961の上面に平行な任意の方向へ反射するとともに、反射したレーザ光がその方向に存在する対象物に反射して戻ってきた反射光を反射して、短距離レーザ測距装置981に戻す。
これにより、回転台971全体を回転させることなく、短距離レーザ測距装置981は、可動台961の上面に平行な任意の方向に存在する対象物までの距離を測定することができる。
なお、この例における短距離レーザ測距装置981及びミラー982が任意の方向に存在する対象物までの距離を測定する構成は一例であり、他の構成であってもよい。例えば、レーザスキャナを用いて構成してもよい。
短距離レーザ測距装置981が距離を測定できる方向の範囲は、採用する機構や部品の配置などによって異なるが、例えば、左右120度の範囲であり、分解能は0.36度〜1度である。
【0017】
長距離レーザ測距装置984は、短距離レーザ測距装置981と同様に、所定の方向に存在する対象物までの距離を測定する。長距離レーザ測距装置984は、短距離レーザ測距装置981よりも精度が低い代わりに、長距離を測定することができる。長距離レーザ測距装置984は、例えば、3ミリメートルの精度で、100メートルまでの距離を測定できる。長距離レーザ測距装置984は、測定した距離を表わす信号を出力する。長距離レーザ測距装置984が出力した信号は、計算機810が入力する。長距離レーザ測距装置984は、回転台971に固定されている。
長距離レーザ測距装置984には、ミラー982のような機構が附属していないので、長距離レーザ測距装置984は、可動台961の角度及び回転台971の向きによって定まる方向に存在する対象物までの距離を測定する。
【0018】
カメラ986は、回転台971に固定されていて、長距離レーザ測距装置984が距離を測定する方向を中心とする範囲を撮影する。カメラ986は、撮影した画像を表わす信号を出力する。カメラ986が出力した信号は、計算機810が入力する。
【0019】
計算機810は、移動台中板952に固定されていて、地図生成システム800の各部が出力した信号を入力し、地図生成システム800の各部を制御する。
なお、計算機810を、自走式のロボットである地図生成システム800に搭載するのではなく、自走式のロボットとは別の場所に設置し、自走式のロボットには通信装置を搭載して、自走式のロボットに搭載された通信装置が、地図生成システム800の各部が出力した信号を計算機810に対して送信し、計算機810が送信した制御信号を受信して、地図生成システム800の各部に伝達する構成としてもよい。
【0020】
図2は、この実施の形態における計算機810のハードウェア資源の一例を示す図である。
計算機810は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信装置915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。通信装置915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。また、通信装置915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
【0021】
通信装置915は、ファクシミリ機932、電話器931、LAN942等に接続されている。通信装置915は、LAN942に限らず、インターネット940、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。インターネット940或いはISDN等のWANに接続されている場合、ゲートウェイ941は不用となる。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
【0022】
上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0023】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【0024】
図3は、この実施の形態における計算機810の機能ブロックの構成の一例を示すブロック構成図である。
計算機810は、大きく分けて、地図生成装置100と計測装置200との二つのブロックに分かれる。
計測装置200は、地図生成システム800に搭載されたハードウェアを用いて、周辺環境の幾何学形状を計測する。
地図生成装置100は、計測装置200が計測した計測結果に基づいて、周辺環境の地図を生成する。
【0025】
計測装置200は、計測距離計測部211、計測距離通知部212、参照方向取得部221、参照距離計測部222、参照距離通知部223、参照方向移動部231を有する。
【0026】
計測距離計測部211は、短距離レーザ測距装置981を用いて、周辺環境の対象物までの距離を計測するブロックである。
計測距離計測部211は、CPU911を用いて、ステッピングモータ996に対する制御信号を生成して出力し、ステッピングモータ996を回転させることにより、ミラー982を所定の方向に向ける。
計測距離計測部211は、CPU911を用いて、短距離レーザ測距装置981に対する制御信号を生成して出力し、短距離レーザ測距装置981に距離の測定を開始させる。計測距離計測部211は、CPU911を用いて、短距離レーザ測距装置981が出力した信号を入力し、短距離レーザ測距装置981が測定した距離(以下「計測距離」と呼ぶ。)を取得する。計測距離計測部211は、CPU911を用いて、短距離レーザ測距装置981が計測距離を測定した方向(以下「計測方向」と呼ぶ。)と、短距離レーザ測距装置981が測定した計測距離とのペア(以下「計測距離データ」と呼ぶ。)を表わすデータを生成し、出力する。
計測距離計測部211は、CPU911を用いて、ステッピングモータ996に対する制御信号を生成して出力し、ステッピングモータ996を回転させることにより、ミラー982を向きを変える。計測距離計測部211は、その方向について、短距離レーザ測距装置981に距離を測定させ、計測距離データを生成し、出力する。
これを、測定可能な全方向について繰り返すことにより、計測距離計測部211は、計測距離データを複数生成し、出力する。
【0027】
計測距離通知部212は、CPU911を用いて、計測距離計測部211が計測した計測距離を、地図生成装置100に対して通知するブロックである。
計測距離通知部212は、CPU911を用いて、計測距離計測部211が出力した複数の計測距離データを入力する。計測距離通知部212は、CPU911を用いて、入力した複数の計測距離データを地図生成装置100に対して通知する。
【0028】
計測距離計測部211は、CPU911を用いて、地図生成装置100が通知した参照方向(長距離レーザ測距装置984が距離を測定すべき方向をいう。以下同じ。)を取得するブロックである。
参照方向取得部221は、CPU911を用いて、地図生成装置100が通知した参照方向データ(参照方向を表わすデータをいう。以下同じ。)を取得する。参照方向取得部221は、CPU911を用いて、取得した参照方向データを出力する。
【0029】
参照距離計測部222は、長距離レーザ測距装置984を用いて、参照方向に存在する対象物までの距離を計測するブロックである。
参照距離計測部222は、CPU911を用いて、参照方向取得部221が出力した参照方向データを入力する。参照距離計測部222は、CPU911を用いて、入力した参照方向データに基づいて、ステッピングモータ993〜995に対する制御信号を生成して出力し、ステッピングモータ993〜995を回転させて、可動台961の角度及び回転台971の向きを調整し、長距離レーザ測距装置984が距離を測定する方向を参照方向へ向ける。参照距離計測部222は、CPU911を用いて、長距離レーザ測距装置984に対する制御信号を生成して出力し、長距離レーザ測距装置984に距離の測定を開始させる。参照距離計測部222は、CPU911を用いて、長距離レーザ測距装置984が出力した信号を入力し、長距離レーザ測距装置984が測定した距離(以下「参照距離」と呼ぶ。)を取得する。参照距離計測部222は、CPU911を用いて、取得した参照距離を表わすデータ(以下「参照距離データ」と呼ぶ。)を生成し、出力する。
【0030】
なお、参照距離計測部222は、CPU911を用いて、参照方向に存在する対象物までの距離だけでなく、参照方向と垂直な方向に存在する対象物までの距離(以下「横方向参照距離」と呼ぶ。)を、長距離レーザ測距装置984に測定させる構成としてもよい。その場合、参照距離計測部222は、CPU911を用いて、長距離レーザ測距装置984が測定した横方向参照距離を取得し、取得した参照距離と横方向参照距離とを表わす参照距離データを生成し、出力する。
【0031】
参照距離通知部223は、CPU911を用いて、参照距離計測部222が計測した参照距離を、地図生成装置100に対して通知するブロックである。
参照距離通知部223は、CPU911を用いて、参照距離計測部222が出力した参照距離データを入力する。参照距離通知部223は、CPU911を用いて、入力した参照距離データを地図生成装置100に対して通知する。
【0032】
参照方向移動部231は、車輪954〜957を用いて、地図生成システム800を参照方向へ移動させるブロックである。
参照方向移動部231は、CPU911を用いて、参照方向取得部221が出力した参照方向データを入力する。参照方向移動部231は、CPU911を用いて、入力した参照方向データに基づいて、ステッピングモータ991,992に対する制御信号を生成して出力し、ステッピングモータ991,992を回転させて、車輪954,955を回転させ、地図生成システム800を参照方向へ所定の距離(以下「移動距離」と呼ぶ。)移動させる。
参照方向移動部231が地図生成システム800を移動させる移動距離は、移動後の位置で計測距離計測部211が再び計測距離を計測したとき、同じ対象物までの距離を重複して計測できる距離に設定する。短距離レーザ測距装置981が測定できる最大距離が4メートルの場合、例えば、その半分である2メートルを移動距離とする。
【0033】
なお、参照方向移動部231は、地図生成システム800を参照方向と逆の方向へ移動させる構成としてもよい。
【0034】
地図生成装置100が通知した参照方向を参照方向取得部221が取得すると、まず、参照距離計測部222が参照距離を計測する。次に、参照方向移動部231が、地図生成システム800を参照方向へ移動させる。その後、参照距離計測部222が、再び参照距離を計測する。このように、参照距離を二回計測することにより、地図生成システム800がどれだけ移動したかがわかる。以下、参照方向移動部231が地図生成システム800を移動させる前の位置を「移動前位置」、移動させた後の位置を「移動後位置」、参照距離計測部222が移動前位置で計測した参照距離を「移動前参照距離」、参照距離計測部222が移動後位置で計測した参照距離を「移動後参照距離」と呼ぶ。参照距離通知部223は、移動前参照距離を表わす参照距離データと、移動後参照距離を表わす参照距離データとを、地図生成装置100に対して通知する。
その後、計測装置200では、計測距離計測部211が再び、短距離レーザ測距装置981を用いて、周辺環境の対象物までの距離を計測し、計測距離通知部212が、計測距離計測部211が計測した計測距離を、地図生成装置100に対して通知する。
計測装置200は、以上の動作を繰り返す。
【0035】
地図生成装置100は、計測距離取得部111、連続判定部112、計測距離分類部113、部分図形検出部114、形状取得部115、壁面検出部121、参照方向通知部122、参照距離取得部131、移動量取得部132、特徴抽出部141、合成方式選択部142、形状合成部143、地図生成部151、地図出力部152を有する。
【0036】
計測距離取得部111は、CPU911を用いて、計測装置200が計測した計測距離を取得するブロックである。
計測距離取得部111は、CPU911を用いて、計測装置200が通知した複数の計測距離データを取得する。計測距離取得部111は、CPU911を用いて、取得した複数の計測距離データを出力する。
【0037】
連続判定部112は、CPU911を用いて、計測距離の連続性を判定するブロックである。
計測距離の連続性とは、計測距離データが表わす方向と計測距離とのペアによって極座標で表わされる点(以下「計測点」と呼ぶ。)、すなわち、周辺環境において、短距離レーザ測距装置981が照射したレーザ光を反射した対象物の表面上の点が、同じ対象物に属するか、異なる対象物に属するかということである。同じ対象物に属するなら、計測距離は連続しているが、異なる対象物に属するなら、計測距離は非連続になる。
連続判定部112は、CPU911を用いて、計測距離取得部111が出力した複数の計測距離データを入力する。連続判定部112は、CPU911を用いて、入力した複数の計測距離データに基づいて、隣接する計測距離が連続しているか否かを判定する。連続判定部112は、CPU911を用いて、判定した結果を表わすデータ(以下「連続判定データ」と呼ぶ。)を生成し、出力する。
【0038】
図4は、この実施の形態における地図生成システム800が計測する周辺環境850と、計測装置200が出力する計測距離データ310との関係の一例を示す図である。
周辺環境850は、例えば、壁などである。計測可能範囲860は、地図生成システム800が移動したり、可動台961の角度や回転台971の向きを変えたりせずに、ミラー982の動きだけで短距離レーザ測距装置981が距離を測定できる扇型の範囲である。
計測距離データ310は、計測方向を表わす方向データ311と計測距離を表わす距離データ312とのペアからなる。この例において、方向データ311は、左をマイナス、右をプラスとして、計測可能範囲860の中央方向からの角度で、計測方向を表わしている。
この例において、計測可能範囲860は、−60度〜+60度の範囲であり、計測装置200は、この範囲内を5度刻み(説明のため、実際よりも大きな刻み幅としている。)で、合計25個の計測距離を計測する。したがって、計測装置200は、25個の計測距離データ310を出力する。
【0039】
この例における計測距離データ310において、−5度〜+5度方向には、計測可能範囲860内にレーザ光を反射する対象物が存在しないため、距離データ312が「9999.9」になっている。これは、短距離レーザ測距装置981が測定できる最大距離よりも大きい数字であり、計測可能範囲860内にレーザ光を反射する対象物が存在しないことを表わす距離データ312の一例である。
このように、計測可能範囲860内にレーザ光を反射する対象物が存在しない方向がある場合、連続判定部112は、その方向より左側の計測距離と、その方向より右側の計測距離とが、連続していないと判定する。
【0040】
また、この例において、+40度方向の計測距離と、それに隣接する+45度方向の計測距離とを比較すると、それに近い方向の計測距離と比べて、急激に変化している。これは、+40度方向の計測距離が、手前にある対象物までの距離であるのに対し、+45度方向の計測距離が、その対象物よりも奥にある異なる対象物までの距離であることに起因している。
このように、隣接する二つの計測距離の差が大きい場合、連続判定部112は、その二つの計測距離が連続していないと判定し、隣接する二つの計測距離の差が小さい場合、連続判定部112は、その二つの計測距離が連続していると判定する。
連続判定部112が隣接する二つの計測距離の差が大きいか小さいかを判断する方式としては、例えば、二つの計測距離の差を所定の閾値を比較する方式がある。あるいは、二つの計測距離の比を所定の閾値と比較する方式を採用してもよい。また、連続判定部112は、隣接する三つの計測距離に基づいて、それぞれ隣接する二つの計測距離の差又は比を算出し、算出した二つの差又は比に基づいて、二つの差又は比の間の差又は比を算出し、所定の閾値と比較してもよい。
【0041】
図3に戻り、計算機810の機能ブロックの説明を続ける。
【0042】
計測距離分類部113は、CPU911を用いて、連続判定部112の判定結果に基づいて、計測点を分類するブロックである。
計測距離分類部113は、CPU911を用いて、連続判定部112が出力した連続判定データを入力する。計測距離分類部113は、CPU911を用いて、入力した連続判定データに基づいて、計測距離が連続する方向を一つのグループ(以下「計測点群」と呼ぶ。)とし、計測装置200が距離を計測した複数の方向を、一以上の計測点群に分類する。計測距離分類部113は、分類した結果を表わすデータ(以下「計測分類データ」と呼ぶ。)を生成し、出力する。
例えば、図4に示した例において、計測距離分類部113は、計測点を、点線で示した四つの計測点群870に分類する。
【0043】
部分図形検出部114は、CPU911を用いて、計測距離分類部113が分類した一以上の計測点群の各計測点群について、その計測点群に分類された計測点によって構成される幾何学図形(以下「部分図形」と呼ぶ。)を抽出するブロックである。
部分図形検出部114は、CPU911を用いて、計測距離取得部111が出力した計測距離データと、計測距離分類部113が出力した計測分類データとを入力する。部分図形検出部114は、CPU911を用いて、入力した計測分類データに基づいて、入力した計測距離データを計測点群ごとに分類し、分類したそれぞれの計測点群に属する計測距離データに基づいて、部分図形を抽出する。なお、部分図形検出部114は、一つの計測点群に属する計測距離データに基づいて、複数の部分図形を抽出する場合がある。部分図形検出部114は、CPU911を用いて、抽出した部分図形を表わすデータ(以下「部分図形データ」と呼ぶ。)を生成し、出力する。
部分図形検出部114が部分図形を抽出する方式には、例えば、ハフ(Hough)変換を用いる方式がある。
【0044】
ハフ変換を用いた部分図形抽出の原理について、簡単に説明する。
【0045】
直交二次元座標(x,y)で表わされる平面上の直線は、方程式:ρ=x・cosθ+y・sinθで表わされる。ここで、ρは、原点と直線Lとの距離であり、θは、原点から直線Lに降ろした垂線とx軸とがなす角度である。したがって、直交二次元座標(x,y)で表わされる平面上の直線は、2つの変数の順序対(θ,ρ)で表わすことができる。これは、直交二次元座標(x,y)で表わされる平面上の直線に、直交二次元座標(θ,ρ)で表わされる平面上の一点が対応することを意味する。
計測点P1の座標を(x1,y1)とすると、計測点P1を通る直線(θ,ρ)について、ρ=x1・cosθ+y1・sinθが成り立つ。θ及びρは未知数なので、この方程式を直交二次元座標(θ,ρ)で表わされる平面上にプロットすると、サイン曲線になる。この曲線は、計測点P1を通る直線全体に対応する。このように、直交二次元座標(x,y)で表わされる平面上の一点を通る直線全体を、直交二次元座標(θ,ρ)で表わされる平面上の曲線に対応づける変換を、ハフ変換という。なお、ハフ変換は、直交二次元座標(x,y)で表わされる平面上の一点を通る円全体を、直交三次元座標(θ,ρ,1/r)で表わされる空間上の曲面に対応づける変換に拡張するなど、直線以外の幾何学図形に適用することもできる。また、直交三次元座標(x,y,z)で表わされる空間上の一点を通る平面群を、直交三次元座標(θ,φ,ρ)で表わされる空間上の曲面に対応づける変換に拡張するなど、三次元空間に適用することもできる。
複数の計測点を通る幾何学図形は、それぞれの計測点をハフ変換した曲線(曲面)すべてが交わる点に対応する。
そこで、ハフ変換した曲線(曲面)の交点を求めることにより、複数の計測点を通る幾何学図形を抽出することができる。
【0046】
実際には、対象物の表面は数学的な幾何学図形と完全に一致するものではなく、計測距離には計測誤差があり、更に他の対象物などの雑音が存在するため、ハフ変換した曲線(曲面)すべてが一点で交わることはない。
そこで、多数決の原理に基づいて、ハフ変換した曲線(曲面)が、最も多く通る点を求めることにより、一番もっともらしい幾何学図形を抽出する。
このように、多数決の原理を導入することにより、ハフ変換を用いた図形抽出は、雑音に強いことが知られている。
【0047】
例えば、部分図形検出部114は、CPU911を用いて、分類した計測点群のなかから、計測点群を一つずつ順に選択する。部分図形検出部114は、ハフ変換後の平面(空間)を多数決投票用に複数の領域に分割し、分割した複数の領域それぞれに対する投票数を記憶するため、RAM914を用いて、分割した複数の領域それぞれに対応する複数の記憶領域を確保する。部分図形検出部114は、CPU911を用いて、確保した複数の記憶領域を初期化して、値「0」を記憶する。
部分図形検出部114は、CPU911を用いて、選択した計測点群に属する計測距離データのなかから、計測距離データを一つずつ順に選択し、選択した計測距離データが表わす計測点の座標をハフ変換した曲線の方程式を求める。部分図形検出部114は、CPU911を用いて、確保した複数の記憶領域のうち、ハフ変換した曲線が通る複数の点にそれぞれ対応する複数の記憶領域が記憶した値に「1」を加える。
部分図形検出部114は、CPU911を用いて、選択した計測点群に属するすべての計測距離データについて、以上の処理を繰り返す。選択した計測点群に属するすべての計測距離データについて処理が終了したのち、部分図形検出部114は、CPU911を用いて、確保した複数の記憶領域のうち、記憶した値が所定の値以上であって、かつ、記憶した値が大きい順に並べたとき上位から所定の順位内に入る記憶領域を抽出する。部分図形検出部114は、CPU911を用いて、ハフ変換後の平面(空間)を分割した複数の領域のうち、抽出した記憶領域に対応する領域を求め、その領域の中心点に対応する幾何学図形を抽出する。
部分図形検出部114は、CPU911を用いて、分類したすべての計測点群について、以上の処理を繰り返し、幾何学図形を抽出する。
【0048】
ハフ変換を用いた幾何学図形の抽出方式によれば、周辺環境の幾何学形状が、複数の幾何学図形が複合した複雑な形状であっても、原理上、複数の幾何学図形を抽出することが可能である。しかし、多数決の原理に基づいて幾何学図形を抽出するため、全体の計測点の数と比較して、ある幾何学図形を構成する計測点の数が少な過ぎると、雑音に紛れてしまって抽出できない場合がある。
この実施の形態における地図生成装置100は、計測点を複数の計測点群に分類して、分類した計測点群に属する計測点の数を少なくし、その計測点群によって構成される幾何学形状をなるべく単純化することにより、構成する計測点の数が比較的少ない幾何学図形であっても、抽出することができるという効果を奏する。
【0049】
また、周辺環境が直交する壁などにより構成される屋内などに限定される場合には、部分図形検出部114は、次のような抽出方式を用いて、幾何学図形を抽出する構成であってもよい。
まず、分類した計測点群のなかから、計測点群を一つずつ順に選択し、ハフ変換した平面(空間)を分割した領域に対応する記憶領域を確保し、選択した計測点群に属するすべての計測距離データについて、ハフ変換した曲線が通る複数の点にそれぞれ対応する記憶領域が記憶した値に「1」を加えるところまでは、上述した方式と同様である。
そして、部分図形検出部114は、CPU911を用いて、確保した複数の記憶領域のうち、記憶した値が最大である記憶領域を抽出する。次に、部分図形検出部114は、CPU911を用いて、ハフ変換後の平面を分割した領域のうち、抽出した記憶領域に対応する領域のθの値に対して、θの値がπ/2異なる領域の付近の領域に対応する記憶領域のなかから、記憶した値が極大である記憶領域を抽出する。これは、壁のレイアウトが直交しているという特徴に着目したものである。これにより、傾きの似通った直線の過検出を防止するとともに、最初に検出した直線と直交する直線を構成する計測点が少ない場合であっても、確実に検出することができる。
【0050】
なお、部分図形検出部114が幾何学図形を抽出する方式は、ハフ変換を用いた方式に限らず、他の方式であってもよい。その場合であっても、計測点を複数の計測点群に分類して、分類した計測点群に属する計測点の数を少なくし、その計測点群によって構成される幾何学形状をなるべく単純化することにより、構成する計測点の数が比較的少ない幾何学図形であっても、雑音に紛れることなく、抽出することができるという効果は、ハフ変換を用いた方式の場合と同様である。
【0051】
次に、部分図形検出部114は、CPU911を用いて、抽出した幾何学図形から、計測点によって構成される部分を切り出して、部分図形とする。例えば、抽出した幾何学図形が直線である場合、部分図形検出部114は、抽出した直線から、計測点によって構成される線分を切り出す。また、抽出した幾何学図形が円である場合、部分図形検出部114は、抽出した円から、計測点によって構成される円弧を切り出す。
【0052】
部分図形検出部114が抽出した幾何学図形から部分図形を切り出す方式としては、例えば、以下のような方式がある。
【0053】
部分図形検出部114が選択した計測点群について幾何学図形を抽出したのち、部分図形検出部114は、CPU911を用いて、選択した計測点群に属する計測点の各計測点について、抽出した幾何学図形との間の距離を算出する。部分図形検出部114は、CPU911を用いて、選択した計測点群に属する計測点のうちから、算出した距離が小さい計測点を抽出する。算出した距離が小さいか否かの判断基準は、例えば、算出した距離が所定の閾値より小さいか否かを判断基準としてもよいし、算出した距離全体の平均に対する比率が所定の閾値より小さいか否かを判断基準としてもよい。部分図形検出部114は、CPU911を用いて、抽出した計測点の各計測点について、計測点から幾何学図形に降ろした垂線の足を求める。部分図形検出部114は、CPU911を用いて、抽出した幾何学図形上で、求めた垂線の足が分布する範囲を切り出して、部分図形とする。
【0054】
また、部分図形検出部114が選択した一つの計測点群について複数の幾何学図形を抽出した場合、隣接する部分図形は、複数の幾何学図形の交点で接合していると考えられる。そこで、部分図形検出部114は、CPU911を用いて、抽出した複数の幾何学図形の各幾何学図形を、抽出した他の幾何学図形との交点で、複数の部分に分割する。部分図形検出部114は、CPU911を用いて、分割した複数の部分のうち、求めた垂線の足が分布する部分を、部分図形とする。
【0055】
なお、部分図形検出部114が抽出した幾何学図形から部分図形を切り出す方式は、他の方式でもよい。また、部分図形検出部114は、計測点によって構成される直線や円など範囲が限定されない幾何学図形を抽出してから、その後、線分や円弧など範囲が限定された部分図形を切り出すのではなく、計測点によって構成される線分や円弧など範囲の限定された幾何学図形を直接抽出する抽出方式を用いる構成としてもよい。
【0056】
形状取得部115は、CPU911を用いて、計測装置200が計測した計測結果に基づいて抽出された周辺環境の幾何学形状を取得するブロックである。
形状取得部115は、CPU911を用いて、部分図形検出部114が出力した部分図形データを入力する。形状取得部115は、CPU911を用いて、入力した部分図形データに基づいて、周辺環境の幾何学形状を算出する。形状取得部115は、CPU911を用いて、算出した幾何学形状を表わすデータ(以下「環境形状データ」と呼ぶ。)を生成し、出力する。
例えば、形状取得部115は、CPU911を用いて、入力した部分図形データが表わす部分図形に基づいて、矛盾する点があるか否かを判定し、矛盾する点がある場合には矛盾点が解消するよう部分図形を修正するなどしたのち、部分図形を結合して、周辺環境の幾何学形状とする。部分図形が矛盾する場合とは、例えば、手前の部分図形(対象物)の後に隠れて見えないはずの部分図形(対象物)が検出されている場合などである。
【0057】
壁面検出部121は、CPU911を用いて、形状取得部115が取得した周辺環境の幾何学形状に基づいて、周辺環境に存在する壁面を検出するブロックである。
壁面検出部121は、CPU911を用いて、形状取得部115が出力した環境形状データを入力する。壁面検出部121は、CPU911を用いて、入力した環境形状データが表わす周辺環境の幾何学形状のなかから、線分を一つ選択する。選択の基準は、例えば、基準点(すなわち、地図生成システム800が現在いる位置)からの距離に基づいて、最も近い線分を選択する構成としてもよいし、線分の長さに基づいて、最も長い線分を選択する構成としてもよい。あるいは、壁面検出部121は、基準点からの距離と、線分の長さとに基づいて、線分を選択する構成としてもよい。例えば、線分の長さが所定の閾値よりも長い線分のなかから、基準点からの距離が最も近い線分を選択する構成としてもよいし、基準点から距離と線分の長さとから所定の評価関数に基づいて評価値を算出し、算出した評価値が最も高い線分を選択する構成としてもよい。
周辺環境の幾何学形状に含まれる線分は、周辺環境に存在する壁面に対応するものと考えられる。基準点から最も近い線分を選択するということは、地図生成システム800に最も近い壁面を検出することを意味する。また、最も長い線分を選択するということは、最も大きい壁面を検出することを意味する。
壁面検出部121は、CPU911を用いて、選択した線分を表わすデータ(以下「壁面データ」と呼ぶ。)を出力する。
【0058】
参照方向通知部122は、CPU911を用いて、参照方向を計測装置200に対して通知するブロックである。参照方向通知部122は、CPU911を用いて、壁面検出部121が検出した壁面に基づいて、検出した壁面と略平行な方向を、参照方向とする。
参照方向通知部122は、CPU911を用いて、壁面検出部121が出力した壁面データを入力する。参照方向通知部122は、CPU911を用いて、入力した壁面データが表わす線分と平行な方向を算出する。参照方向通知部122は、CPU911を用いて、算出した方向を表わすデータを生成し、参照方向データとする。参照方向通知部122は、CPU911を用いて、生成した参照方向データを計測装置200に対して通知する。
【0059】
参照距離取得部131は、CPU911を用いて、計測装置200が計測した参照距離(移動前参照距離及び移動後参照距離)を取得するブロックである。
参照距離取得部131は、CPU911を用いて、計測装置200が通知した参照距離データを取得する。参照距離取得部131は、CPU911を用いて、取得した参照距離データを出力する。
参照距離取得部131は、移動前参照距離を表わす参照距離データと、移動後参照距離を表わす参照距離データとを取得し、出力する。
【0060】
移動量取得部132は、CPU911を用いて、地図生成システム800が移動した移動量を取得するブロックである。移動量取得部132は、CPU911を用いて、参照距離取得部131が取得した参照距離に基づいて、移動量を算出する。
移動量取得部132は、CPU911を用いて、参照距離取得部131が出力した二つの参照距離データを入力する。移動量取得部132は、CPU911を用いて、入力した二つの参照距離データが表わす移動前参照距離と移動後参照距離との差を算出する。移動量取得部132は、CPU911を用いて、算出した差を表わすデータ(以下「移動量データ」と呼ぶ。)を生成し、出力する。
【0061】
なお、計測装置200の参照距離計測部222が参照距離だけでなく横方向参照距離も計測する構成の場合、移動量取得部132は、CPU911を用いて、参照方向の移動量だけでなく、参照方向に垂直な方向の移動量(以下「横方向移動量」と呼ぶ。)を算出する構成としてもよい。その場合、移動量取得部132は、CPU911を用いて、入力した二つの参照距離データが表わす横方向参照距離の差を算出して横方向移動量とし、算出した参照方向の移動量と横方向移動量とを表わす移動量データを生成し、出力する。
【0062】
特徴抽出部141は、CPU911を用いて、形状取得部115が取得した周辺環境の幾何学形状から、幾何学形状の特徴を抽出するブロックである。
特徴抽出部141は、CPU911を用いて、形状取得部115が出力した環境形状データを入力する。特徴抽出部141は、CPU911を用いて、入力した環境形状データに基づいて、幾何学形状の特徴を抽出する。特徴抽出部141は、CPU911を用いて、抽出した特徴を表わすデータ(以下「特徴データ」と呼ぶ。)を生成し、出力する。
【0063】
図5は、この実施の形態における形状取得部115が取得した幾何学形状880と、その幾何学形状から特徴抽出部141が抽出する特徴との一例を示す図である。
【0064】
特徴抽出部141が抽出する幾何学形状の特徴とは、例えば、出っ張った角、凹んだ角など、幾何学形状の一部の形状であって、複数の幾何学形状を照合する際に手掛かりとなる部分のことである。例えば、特徴抽出部141は、直線区間(L)、空間区間(S)、閉端点(E)、開端点(U)、凸角点(AまたはB)、凹角点(CまたはD)などを、幾何学形状の特徴として抽出する。直線区間とは、幾何学形状のうち直線状の部分のことである。空間区間とは、その方向の幾何学形状が途切れている部分のことである。閉端点及び開端点とは、直線区間などがその点で途切れていて、他の直線区間などと繋がっていない点のことである。このうち、開端点は、直線区間がその先へ繋がっている可能性がある点であり、閉端点は、それ以外の点である。凸角点とは、2つの直線区間が凸形状で繋がっている点である。凹角点とは、2つの直線区間が凹形状で繋がっている点である。
【0065】
特徴抽出部141は、CPU911を用いて、例えば、抽出した特徴を表わす文字を並べた文字列データを生成して、特徴データ330とする。この例において、特徴抽出部141は、CPU911を用いて、抽出した特徴を表わす文字を、計測可能範囲860の左端である方向から、右端である方向へ向かう順に並べることにより、特徴データ330を生成する。
【0066】
図6は、この実施の形態における特徴抽出部141が抽出する特徴とその特徴を表わす文字との関係の一例を示す図である。
この例において、直線区間を「L」、空間区間を「S」、直線の端が角になっていない点を「E」、短距離レーザ測距装置981の計測可能距離や計測可能方向の限界といったその先がどのようになっているかわからない点を「U」として表現する。また、直線の端点については、向かって左端で奥へ折れ曲がっている点を「A」、向かって右端で奥へ折れ曲がっている点を「B」、向かって左端で手前に折れ曲がっている点を「C」、向かって右端で手前に折れ曲がっている点を「D」として表現する。また、区間と点とが複合した特徴として、右よりも左が手前にあるクランクを「G」、左より右が手前にあるクランクを「H」として表現する。
なお、特徴抽出部141は、両端が「A」乃至「E」のいずれかである「L」及び「S」について、その長さも特徴として抽出し、その長さを表わす文字列を、文字「L」の次に挿入するなどして、直線区間や空間区間の長さに関する情報を含む特徴データ330を生成する構成としてもよい。
【0067】
図3に戻り、計算機810の機能ブロックの説明を続ける。
【0068】
合成方式選択部142は、CPU911を用いて、特徴抽出部141が抽出した幾何学形状の特徴に基づいて、幾何学形状の合成方式を選択するブロックである。形状合成部143が幾何学形状を合成する合成方式には、大きく分けて特徴抽出部141が抽出した特徴に基づいて合成する方式と、移動量取得部132が取得した移動量に基づいて合成する方式とがある。
合成方式選択部142は、CPU911を用いて、特徴抽出部141が出力した特徴データ330を入力する。合成方式選択部142は、CPU911を用いて、入力した特徴データ330に基づいて、特徴抽出部141が抽出した特徴を手掛かりにして形状合成部143が幾何学形状を合成できるか否かを判定する。合成方式選択部142は、CPU911を用いて、判定した結果に基づいて、特徴抽出部141が抽出した特徴を手掛かりにして形状合成部143が幾何学形状を合成できると判定した場合、特徴に基づく合成方式を選択し、特徴抽出部141が抽出した特徴を手掛かりにして形状合成部143が幾何学形状を合成できないと判定した場合、移動量に基づく合成方式を選択する。合成方式選択部142は、CPU911を用いて、選択した合成方式を表わすデータ(以下「合成方式データ」と呼ぶ。)を生成し、出力する。
【0069】
形状合成部143は、CPU911を用いて、合成方式選択部142が選択した合成方式により、移動前位置で計測装置200が計測した計測結果に基づいて形状取得部115が取得した周辺環境の幾何学形状(以下「移動前取得形状」と呼ぶ。)と、移動後位置で計測装置200が計測した計測結果に基づいて形状取得部115が取得した周辺環境の幾何学形状(以下「移動後取得形状」と呼ぶ。)とを合成するブロックである。
【0070】
特徴に基づく合成方式とは、特徴抽出部141が移動前取得形状から抽出した特徴(以下「移動前抽出特徴」と呼ぶ。)と、特徴抽出部141が移動後取得形状から抽出した特徴(以下「移動後抽出特徴」と呼ぶ。)とを比較して、特徴が共通する部分(以下「特徴共通部分」と呼ぶ。)を抽出し、抽出した特徴共通部分が重なるように、移動前取得形状と移動後取得形状とを合成する合成方式である。
【0071】
形状合成部143は、CPU911を用いて、合成方式選択部142が出力した合成方式データを入力する。形状合成部143は、CPU911を用いて、入力した合成方式データに基づいて、合成方式選択部142が選択した合成方式を判定する。
【0072】
特徴に基づく合成方式を合成方式選択部142が選択したと判定した場合、形状合成部143は、CPU911を用いて、形状取得部115が出力した環境形状データ(移動前取得形状を表わす環境形状データ及び移動後取得形状を表わす環境形状データ)と、特徴抽出部141が出力した特徴データ(移動前抽出特徴を表わす特徴データ及び移動後抽出特徴を表わす特徴データ)とを入力する。
形状合成部143は、CPU911を用いて、入力した二つの特徴データに基づいて、特徴共通部分を抽出する。例えば、形状合成部143は、CPU911を用いて、二つの特徴データに共通する部分文字列を探し、探した部分文字列に対応する特徴を、特徴共通部分とする。
形状合成部143は、CPU911を用いて、抽出した特徴共通部分が重なるよう、入力した二つの環境形状データが表わす移動前取得形状と移動後取得形状とを合成する。例えば、形状合成部143は、CPU911を用いて、移動前取得形状と移動後取得形状とのうちいずれかを平行移動・回転移動して、抽出した特徴共通部分の座標がほぼ一致するよう変換し、移動前取得形状と移動後取得形状とを重ね合わせて合成する。形状合成部143は、CPU911を用いて、合成した幾何学形状を表わすデータ(以下「合成結果データ」と呼ぶ。)を出力する。
【0073】
図7は、この実施の形態における計測装置200が距離を計測した計測可能範囲860と、形状取得部115が取得した周辺環境の幾何学形状880と、特徴抽出部141が抽出した幾何学形状の特徴との一例を示す図である。
この例において、地図生成システム800は、図4に示した例と同じ環境内で、図4での計測位置から少し移動した位置に存在し、周辺環境の幾何学形状を計測している。特徴に基づく合成方式による具体例として、図4に示した地図生成システム800の位置を移動前位置、図7に示した地図生成システム800の位置を移動後位置として、形状合成部143がどのように移動前取得形状と移動後取得形状とを合成するかを説明する。
【0074】
図8は、この実施の形態における形状合成部143が移動前取得形状と移動後取得形状とを合成する様子を模式的に表わした図である。
この図において、左側の列には、移動前位置での計測結果に基づく周辺環境の幾何学形状880、特徴データ330及び特徴点890を示し、右側の列には、移動後位置での計測結果に基づく周辺環境の幾何学形状880、特徴データ330及び特徴点890を示している。ここで、特徴点890とは、形状合成部143が抽出した特徴共通部分のうち、種別が「点」であるものをいう。
【0075】
形状合成部143は、CPU911を用いて、移動前位置にかかる特徴データ330と、移動後位置にかかる特徴データ330とを比較して、一致する部分文字列を探す。部分文字列が一致するか否かの判断基準は、例えば、以下のとおりである。
【0076】
直線区間「L」と直線区間「L」とは、一致するものとして扱う。直線区間「L」の長さを表わす情報が両方の特徴データに含まれている場合、直線区間「L」の長さを比較して、両者の差が所定の閾値以下である場合のみ、両者が一致するものとして扱い、そうでない場合は、一致しないものとして扱う。
凸角点「A」「B」と凸角点「A」「B」及び閉端点「E」とは、一致するものとして扱う。同じ形状が、見る角度や位置によって、凸角点に見える場合と閉端点に見える場合とがあるからである。
凹角点「C」「D」と凹角点「C」「D」とは、一致するものとして扱う。
開端点「U」は、任意の部分文字列と一致するものとして扱う。見る角度や位置によって、見えていなかった部分が見えるようになる場合があり、その部分がどのような形状であるか予測できないからである。空間区間「S」も、開端点「U」と同様、任意の部分文字列と一致するものとして扱う。
【0077】
形状合成部143は、CPU911を用いて、例えば、上記のような判断基準に基づいて、二つの特徴データ330を比較して、一致する部分文字列を抽出する。
形状合成部143は、CPU911を用いて、抽出した部分文字列のなかから、位置を特定できる特徴点890を抽出する。なお、形状合成部143は、開端点「U」は抽出しない。開端点「U」は、たまたま見える範囲の端であるにすぎず、見る角度や位置によって、位置が変化するからである。
【0078】
形状合成部143は、CPU911を用いて、抽出した特徴点890に基づいて、移動後位置にかかる特徴点890を平行移動及び回転移動して、移動前位置にかかる特徴点890との間の距離が最小になる平行移動量及び回転角度を算出する。形状合成部143は、CPU911を用いて、例えば、最小二乗法などにより、平行移動量及び回転角度を算出する。
形状合成部143は、CPU911を用いて、算出した平行移動量及び回転角度に基づいて、移動後位置にかかる幾何学形状880を平行移動及び回転移動して、移動前位置にかかる幾何学形状880と位置を揃え、二つの幾何学形状880を合成する。
【0079】
なお、形状合成部143は、形状取得部115が取得した幾何学形状を合成するのではなく、計測距離取得部111が取得した距離データが表わす計測点を、算出した平行移動量及び回転角度に基づいて座標変換して合成する構成としてもよい。その場合、形状合成部143は、CPU911を用いて、座標変換した計測点を表わすデータを合成結果データとして出力する構成としてもよいし、連続判定部112〜形状取得部115と同様の処理により、座標変換して合成した計測点から幾何学形状を抽出し、抽出した幾何学形状を、合成結果データとして出力する構成としてもよい。
【0080】
次に、移動量に基づく合成方式について説明する。
移動量に基づく合成方式とは、移動量取得部132が取得した移動量に基づいて、移動前取得形状と移動後取得形状との間の対応関係を判定し、その判定結果に基づいて、移動前取得形状と移動後取得形状とを合成する合成方式である。
例えば、形状取得部115が取得した幾何学形状が、真っ直ぐな直線のみである場合や、同じ形状の繰り返しである場合、特徴に基づく合成方式では、正しく合成できない場合がある。そのような場合に、合成方式選択部142は、移動量に基づく合成方式を選択する。
【0081】
移動量に基づく合成方式を合成方式選択部142が選択したと判定した場合、形状合成部143は、CPU911を用いて、形状取得部115が出力した環境形状データ(移動前取得形状を表わす環境形状データ及び移動後取得形状を表わす環境形状データ)と、移動量取得部132が出力した移動量データとを入力する。
形状合成部143は、CPU911を用いて、入力した移動量データに基づいて、移動後位置にかかる幾何学形状の平行移動量及び回転角度を算出する。形状合成部143は、CPU911を用いて、算出した平行移動量及び回転角度に基づいて、入力した環境形状データが表わす移動後位置にかかる幾何学形状を平行移動及び回転移動する。形状合成部143は、CPU911を用いて、入力した環境形状データが表わす移動前位置にかかる幾何学形状と、平行移動及び回転移動した移動後位置にかかる幾何学形状とを合成する。
形状合成部143は、CPU911を用いて、合成した幾何学形状を表わす合成結果データを出力する。
【0082】
このように、特徴抽出部141が抽出した特徴に基づいて、特徴に基づく合成方式と、移動量に基づく合成方式とのうちから合成方式選択部142が合成方式を選択し、合成方式選択部142が選択した合成方式にしたがって形状合成部143が幾何学形状を合成するので、それぞれの合成方式の利点を生かした合成をすることができる。
特に、形状取得部115が取得した幾何学形状が複雑である場合など、対応する特徴点を発見することが容易な場合には、合成方式選択部142が、特徴に基づく合成方式を選択することにより、二つの幾何学形状を正確に合成することができる。
逆に、形状取得部115が取得した幾何学形状が単純である場合など、対応する特徴点を発見することが困難な場合には、合成方式選択部142が、移動量に基づく合成方式を選択することにより、対応する特徴点を見つけることなく、二つの幾何学形状を合成することができる。
【0083】
なお、特徴に基づく合成方式は、移動前位置と移動後位置との間の位置関係が不明であっても移動前取得形状と移動後取得形状とを合成できる。したがって、形状合成部143は、CPU911を用いて、他の地図生成装置100の形状取得部115が取得した幾何学形状を入力し、形状取得部115が取得した幾何学形状と、入力した幾何学形状とを合成する構成としてもよい。
【0084】
なお、上述した合成方式は一例であり、形状合成部143は、他の合成方式により、幾何学形状を合成してもよい。
【0085】
例えば、形状取得部115が取得した幾何学形状が、閉端点のない直線のみから構成されている場合、形状合成部143は、CPU911を用いて、形状取得部115が出力した二つの環境形状データに基づいて、移動前位置における幾何学形状を構成する直線と、移動後位置における幾何学形状を構成する直線とがなす角度を算出し、算出した角度を、移動後位置にかかる幾何学形状の回転角度とする。形状合成部143は、CPU911を用いて、移動量取得部132が出力した移動量データに基づいて、移動後位置にかかる幾何学形状の平行移動量を算出する。形状合成部143は、CPU911を用いて、算出した平行移動量及び回転角度に基づいて、移動後位置にかかる幾何学形状を平行移動及び回転移動する。形状合成部143は、CPU911を用いて、
移動前位置における幾何学形状を構成する直線と、平行移動及び回転移動した移動後位置における幾何学形状を構成する直線が一致したか否かを判定する。二つの直線が一致していない場合であっても、二つの直線は平行になっている。そこで、二つの直線が一致していないと判定した場合、形状合成部143は、CPU911を用いて、二つの直線の間の距離を算出する。形状合成部143は、CPU911を用いて、算出した距離に基づいて、平行移動及び回転移動した移動後位置における幾何学形状を更に平行移動して、二つの直線を一致させる。形状合成部143は、CPU911を用いて、移動前位置における幾何学形状と、直線を一致させた移動後位置における幾何学形状とを合成する。
【0086】
また、形状取得部115が取得した幾何学形状が、同じ形状の繰り返しから構成されている場合、形状合成部143は、CPU911を用いて、移動量取得部132が出力した移動量データに基づいて、移動後位置にかかる幾何学形状の平行移動量及び回転角度を算出する。形状合成部143は、CPU911を用いて、算出した平行移動量及び回転角度に基づいて、移動後位置における幾何学形状を平行移動及び回転移動する。形状合成部143は、CPU911を用いて、特徴抽出部141が出力した二つの特徴データ330に基づいて、一致する部分文字列を抽出する。幾何学形状が同じ形状の繰り返しなので、一致する部分文字列が複数存在し、どの特徴点がどの特徴点に対応するか判定できない場合がある。その場合、形状合成部143は、CPU911を用いて、移動前位置における幾何学形状と、平行移動及び回転移動した移動後位置における幾何学形状とに基づいて、対応する可能性のある特徴点の間の距離を算出し、算出した距離が最も近いものを、対応する特徴点と判定する。形状合成部143は、CPU911を用いて、移動後位置にかかる特徴点890を平行移動及び回転移動して、対応する特徴点の間の距離が最小になる平行移動量及び回転角度を算出する。形状合成部143は、CPU911を用いて、算出した平行移動量及び回転角度に基づいて、平行移動及び回転移動した移動後位置にかかる幾何学形状を更に平行移動及び回転移動する。形状合成部143は、CPU911を用いて、移動前位置にかかる幾何学形状と、更に平行移動及び回転移動した移動後位置にかかる幾何学形状とを合成する。
【0087】
なお、移動量取得部132が参照方向の移動量だけでなく横方向移動量を取得する構成の場合、形状合成部143は、CPU911を用いて、入力した移動量データに基づいて、参照方向の移動量と横方向移動量とを取得し、取得した参照方向の移動量と横方向移動量とに基づいて、移動後位置にかかる幾何学形状の平行移動量を算出してもよい。
【0088】
このように、特徴抽出部141が抽出した特徴に基づいて、特徴に基づく合成方式と移動量に基づく合成方式とを組み合わせた合成方式やその他の様々な合成方式のうちから合成方式選択部142が合成方式を選択し、合成方式選択部142が選択した合成方式にしたがって形状合成部143が幾何学形状を合成するので、それぞれの合成方式の利点を生かした合成をすることができる。
【0089】
図3に戻り、計算機810の機能ブロックの説明を続ける。
【0090】
地図生成部151は、CPU911を用いて、形状合成部143が合成した合成結果に基づいて、周辺環境の地図を生成するブロックである。
地図生成部151は、CPU911を用いて、形状合成部143が出力した合成結果データを入力する。地図生成部151は、CPU911を用いて、入力した合成結果データに基づいて、周辺環境全体の幾何学形状を取得し、取得した幾何学形状に基づいて、周辺環境の地図を生成する。地図生成部151は、CPU911を用いて、生成した地図を表わすデータ(以下「環境地図データ」と呼ぶ。)を生成し、出力する。
【0091】
地図出力部152は、CPU911を用いて、地図生成部151が生成した地図を出力するブロックである。
地図出力部152は、CPU911を用いて、地図生成部151が出力した環境地図データを入力する。地図出力部152は、例えば、LCDなどの表示装置901を用いて、入力した環境地図データが表わす地図を表示し、あるいは、通信装置915を用いて、入力した環境地図データを、他のコンピュータなどに対して送信するなどして、地図生成部151が生成した地図を出力する。
【0092】
次に、動作について説明する。
【0093】
図9は、この実施の形態における地図生成システム800が周辺環境の地図を生成する地図生成処理の流れの一例を示すフローチャート図である。
地図生成処理は、計測距離計測工程S611、移動前参照距離計測工程S612、参照方向移動工程S613、移動後参照距離計測工程S614、形状取得工程S621、特徴抽出工程S622、形状合成工程S623、壁面検出工程S624、移動量取得工程S625、地図生成工程S626を有する。
【0094】
計測装置200では、計測距離計測工程S611において、計測距離計測部211が、短距離レーザ測距装置981を用いて、計測距離を計測する。計測距離通知部212は、CPU911を用いて、計測距離計測部211が計測した計測距離を、計測距離取得部111に対して通知する。
【0095】
地図生成装置100では、形状取得工程S621において、計測距離取得部111が、CPU911を用いて、計測距離計測工程S611で計測距離通知部212が通知した計測距離を取得する。連続判定部112は、CPU911を用いて、計測距離取得部111が取得した計測距離に基づいて、計測点の連続性を判定する。計測距離分類部113は、CPU911を用いて、連続判定部112が判定した判定結果に基づいて、計測点を計測点群に分類する。部分図形検出部114は、CPU911を用いて、計測距離分類部113が分類した計測点群ごとに、部分図形を抽出する。形状取得部115は、CPU911を用いて、部分図形検出部114が抽出した部分図形に基づいて、周辺環境の幾何学形状を取得する。
【0096】
地図生成装置100では、特徴抽出工程S622において、特徴抽出部141が、CPU911を用いて、形状取得工程S621で形状取得部115が取得した幾何学形状に基づいて、幾何学形状の特徴を抽出する。
【0097】
その後、地図生成装置100は、CPU911を用いて、形状取得工程S621で形状取得部115が幾何学形状を取得したのが1回目であるか、2回目以降であるかを判定する。1回目である場合、合成すべき幾何学形状が存在しないので、地図生成装置100は、移動量取得工程S625へ進む。2回目以降である場合、今回取得した幾何学形状を前回取得した幾何学形状と合成できるので、地図生成装置100は、形状合成工程S623へ進む。
【0098】
形状合成工程S623において、合成方式選択部142は、CPU911を用いて、特徴抽出工程S622で特徴抽出部141が抽出した特徴に基づいて、合成方式を選択する。形状合成部143は、CPU911を用いて、合成方式選択部142が選択した合成方式に基づいて、形状取得工程S621で形状取得部115が前回取得した幾何学形状と今回取得した幾何学形状とを合成する。
【0099】
壁面検出工程S624において、壁面検出部121は、CPU911を用いて、形状取得工程S621で形状取得部115が取得した幾何学形状に基づいて、周辺環境に存在する壁面を検出する。参照方向通知部122は、CPU911を用いて、壁面検出部121が検出した壁面と平行な方向を参照方向として、参照方向取得部221に対して通知する。
【0100】
計測装置200では、移動前参照距離計測工程S612において、参照方向取得部221が、CPU911を用いて、壁面検出工程S624で参照方向通知部122が通知した参照方向を取得する。参照距離計測部222は、長距離レーザ測距装置984を用いて、参照方向取得部221が取得した参照方向に基づいて、参照距離を計測する。参照距離通知部223は、CPU911を用いて、参照距離計測部222が計測した参照距離を移動前参照距離として、参照距離取得部131に対して通知する。
【0101】
参照方向移動工程S613において、参照方向移動部231は、車輪954及び車輪955を用いて、移動前参照距離計測工程S612で参照方向取得部221が取得した参照方向へ向かって、地図生成システム800を移動させる。
【0102】
移動後参照距離計測工程S614において、参照距離計測部222は、CPU911を用いて、移動前参照距離計測工程S612で参照方向取得部221が取得した参照方向に基づいて、参照距離を計測する。参照距離通知部223は、CPU911を用いて、参照距離計測部222が計測した参照距離を移動後参照距離として、参照距離取得部131に対して通知する。
【0103】
その後、計測装置200は、計測距離計測工程S611に戻り、計測距離を計測する。
【0104】
地図生成装置100では、移動量取得工程S625において、参照距離取得部131が、CPU911を用いて、移動前参照距離計測工程S612で参照距離通知部223が通知した移動前参照距離と、移動後参照距離計測工程S614で参照距離通知部223が通知した移動後参照距離とを取得する。移動量取得部132は、CPU911を用いて、参照距離取得部131が取得した移動前参照距離と移動後参照距離とに基づいて、地図生成システム800の移動量を取得する。
【0105】
その後、地図生成装置100は、CPU911を用いて、計測が終了したか否かを判定する。計測が終了していない場合、地図生成装置100は、形状取得工程S621に戻り、次の幾何学形状を取得する。計測が終了した場合、地図生成装置100は、地図生成工程S626へ進む。
【0106】
地図生成工程S626において、地図生成部151は、CPU911を用いて、形状合成工程S623で形状合成部143が合成した幾何学形状に基づいて、周辺環境の地図を生成する。地図出力部152は、CPU911を用いて、地図生成部151が生成した地図を出力する。
【0107】
この実施の形態における地図生成装置100は、周辺環境の幾何学形状を計測する計測装置200の計測結果に基づいて、上記周辺環境の地図を生成する。
上記地図生成装置100は、データを処理する処理装置(CPU911)と、形状取得部115と、移動量取得部132と、形状合成部143と、地図生成部151とを有する。
上記形状取得部115は、上記処理装置(CPU911)を用いて、上記計測装置200が計測した計測結果に基づいて、上記周辺環境の幾何学形状を取得し、上記計測装置200が第一の位置(移動前位置)で計測した計測結果に基づいて取得した幾何学形状を第一形状(移動前取得形状)とし、上記計測装置200が上記第一の位置と異なる第二の位置(移動後位置)へ移動して計測した計測結果に基づいて取得した幾何学形状を第二形状(移動後取得形状)とする。
上記移動量取得部132は、上記処理装置(CPU911)を用いて、上記計測装置200が上記第一の位置から上記第二の位置へ移動した移動量を取得する。
上記形状合成部143は、上記処理装置(CPU911)を用いて、上記移動量取得部132が取得した移動量に基づいて、上記形状取得部115が取得した第一形状(移動前取得形状)と第二形状(移動後取得形状)とを重ね合わせて合成する。
上記地図生成部151は、上記処理装置(CPU911)を用いて、上記形状合成部143が合成した合成結果に基づいて、上記周辺環境の地図を生成する。
【0108】
この実施の形態における地図生成装置100によれば、移動量取得部132が取得した移動量に基づいて、形状取得部115が取得した第一形状と第二形状とを、形状合成部143が合成するので、形状取得部115が取得した第一形状と第二形状とにおいて対応する点を見つけることが困難な場合であっても、第一形状と第二形状とを合成し、周辺環境の地図を生成することができる。
【0109】
この実施の形態における地図生成装置100は、更に、壁面検出部121を有する。
上記壁面検出部121は、上記処理装置(CPU911)を用いて、上記形状取得部115が取得した第一形状(移動前取得形状)に基づいて、上記周辺環境に存在する壁面を検出する。
上記移動量取得部132は、上記処理装置(CPU911)を用いて、上記壁面検出部121が検出した壁面に基づいて、上記計測装置200が上記第一の位置(移動前位置)から上記第二の位置(移動後位置)へ移動した移動量のうち、上記壁面と略平行な方向の移動量を取得して、壁面平行移動量とする。
上記形状合成部143は、上記処理装置(CPU911)を用いて、上記移動量取得部132が取得した壁面平行移動量に基づいて、上記形状取得部115が取得した第一形状(移動前取得形状)と第二形状(移動後取得形状)とを重ね合わせて合成する。
【0110】
この実施の形態における地図生成装置100によれば、移動量取得部132が取得した壁面平行移動量に基づいて、形状取得部115が取得した第一形状と第二形状とを、形状合成部143が合成するので、長い廊下など壁面に特徴がなく真っ直ぐな場合や、等間隔に柱が並んでいて同じ形状の繰り返しである場合などであっても、第一形状と第二形状とを合成し、周辺環境の地図を生成することができる。
なお、計測装置200の移動量のうち、壁面に垂直な方向の移動量は、壁面からの距離が変わるので、第一形状と第二形状とを比較することにより求めることができる。形状合成部143は、壁面に平行な方向については、移動量取得部132が取得した壁面平行移動量に基づいて、第一形状と第二形状とを位置合わせし、壁面に垂直な方向については、第一形状と第二形状とを比較することにより位置合わせして、第一形状と第二形状とを合成する構成であってもよい。
【0111】
この実施の形態における地図生成装置100は、更に、参照方向通知部122と、参照距離取得部131とを有する。
上記参照方向通知部122は、上記処理装置(CPU911)を用いて、上記壁面検出部121が検出した壁面に基づいて、上記壁面と略平行な方向を、参照方向として上記計測装置200に対して通知する。
上記参照距離取得部131は、上記処理装置(CPU911)を用いて、上記参照方向通知部122が通知した参照方向に基づいて上記計測装置200が計測した上記参照方向に存在する対象までの距離(参照距離)を取得し、上記計測装置200が上記第一の位置(移動前位置)で計測した距離を第一参照距離(移動前参照距離)とし、上記計測装置が上記第二の位置で計測した距離を第二参照距離(移動後参照距離)とする。
上記移動量取得部132は、上記処理装置(CPU911)を用いて、上記参照距離取得部131が取得した第一参照距離(移動前参照距離)と第二参照距離(移動後参照距離)との差を算出して、上記壁面平行移動量とする。
【0112】
この実施の形態における地図生成装置100によれば、計測装置200が計測した移動前参照距離と移動後参照距離との差を、移動量取得部132が算出して、壁面平行移動量とするので、車輪954〜957の回転数などにより移動量を算出するよりも、高い精度で壁面平行移動量を算出することができる。
【0113】
この実施の形態における地図生成装置100は、更に、計測距離取得部111を有する。
上記計測距離取得部111は、上記処理装置(CPU911)を用いて、上記計測装置200が複数の計測方向の各計測方向について計測した上記計測方向に存在する対象までの距離を取得して、複数の計測距離とし、上記計測装置200が上記第一の位置(移動前位置)で計測した複数の計測距離を複数の第一計測距離とし、上記計測装置200が上記第二の位置(移動後位置)で計測した複数の計測距離を複数の第二計測距離とする。
上記形状取得部115は、上記処理装置(CPU911)を用いて、上記計測距離取得部111が取得した複数の計測距離に基づいて、上記周辺環境の幾何学形状を算出し、上記複数の第一計測距離に基づいて算出した幾何学形状を上記第一形状(移動前取得形状)とし、上記複数の第二計測距離に基づいて算出した幾何学形状を上記第二形状(移動後取得形状)とする。
【0114】
この実施の形態における地図生成装置100によれば、計測装置200が各計測方向について計測した計測距離に基づいて、形状取得部115が周辺環境の幾何学形状を算出するので、周辺環境の幾何学形状を正確に算出することができる。
【0115】
この実施の形態における地図生成装置100は、更に、計測距離分類部113と、部分図形検出部114とを有する。
上記計測距離分類部113は、上記処理装置(CPU911)を用いて、上記計測距離取得部111が取得した複数の計測距離に基づいて、上記複数の計測距離を一以上の計測点群に分類する。
上記部分図形検出部114は、上記処理装置(CPU911)を用いて、上記計測距離分類部113が分類した一以上の計測点群の各計測点群について、上記計測点群に分類された計測距離によって構成される幾何学図形を検出して、一以上の部分図形とする。
上記形状取得部115は、上記処理装置(CPU911)を用いて、上記部分図形検出部114が検出した一以上の部分図形に基づいて、上記周辺環境の幾何学形状を算出する。
【0116】
この実施の形態における地図生成装置100によれば、計測距離取得部111が取得した複数の計測距離を、計測距離分類部113が一以上の計測点群に分類し、分類された各計測点群について、部分図形検出部114が部分図形を検出し、検出した部分図形に基づいて形状取得部115が周辺環境の幾何学形状を算出するので、周辺環境の幾何学形状が複雑な場合であっても、周辺環境の幾何学形状を算出することができる。
【0117】
この実施の形態における地図生成装置100は、更に、連続判定部112を有する。
上記連続判定部112は、上記処理装置(CPU911)を用いて、上記複数の計測方向の各計測方向について、上記計測方向についての計測距離と、上記計測方向に隣接する計測方向についての計測距離とが連続しているか否かを判定する。
上記計測距離分類部113は、上記計測方向についての計測距離と上記計測方向に隣接する計測方向についての計測距離とが連続していると上記連続判定部112が判定した場合、上記処理装置(CPU911)を用いて、上記計測方向についての計測距離と、上記計測方向と隣接する計測方向についての計測距離とを同一の計測点群に分類し、上記計測方向についての計測距離と上記計測方向に隣接する計測方向についての計測距離とが連続していないと上記連続判定部が判定した場合、上記処理装置(CPU911)を用いて、上記計測方向についての計測距離と、上記計測方向に隣接する計測方向についての計測距離とを異なる計測点群に分類する。
【0118】
この実施の形態における地図生成装置100によれば、計測距離の連続性を連続判定部112が判定し、連続していると判定した計測距離を、計測距離分類部113が一つの計測点群に分類するので、周辺環境の幾何学形状を、単純な部分図形に分割して、部分図形検出部114が検出することができる。
【0119】
この実施の形態における地図生成装置100において、上記部分図形検出部114は、上記処理装置(CPU911)を用いて、ハフ変換により、上記計測点群に分類された計測距離によって構成される幾何学図形を検出する。
【0120】
この実施の形態における地図生成装置100によれば、部分図形検出部114がハフ変換を用いて幾何学図形を検出するので、雑音の影響を少なくすることができる。
【0121】
この実施の形態における地図生成装置100は、更に、特徴抽出部141を有する。
上記特徴抽出部141は、上記処理装置(CPU911)を用いて、上記形状取得部115が取得した幾何学形状に基づいて、上記幾何学形状の特徴を抽出し、上記第一形状(移動前取得形状)に基づいて抽出した特徴を第一特徴(移動前抽出特徴)とし、上記第二形状(移動後取得形状)に基づいて抽出した特徴を第二特徴(移動後抽出特徴)とする。
上記形状合成部143は、上記処理装置(CPU911)を用いて、上記特徴抽出部141が抽出した第一特徴(移動前抽出特徴)と第二特徴(移動後抽出特徴)とに基づいて、上記形状取得部115が取得した第一形状(移動前取得形状)と第二形状(移動後取得形状)とを重ね合わせて合成する。
【0122】
この実施の形態における地図生成装置100によれば、特徴抽出部141が抽出した第一特徴と第二特徴とに基づいて、形状合成部143が第一形状と第二形状とを合成するので、第一形状と第二形状とにおいて対応する点を見つけられる場合に、第一形状と第二形状とを正しく合成することができる。
【0123】
この実施の形態における地図生成装置100において、上記形状合成部143は、上記処理装置(CPU911)を用いて、上記特徴抽出部141が抽出した第一特徴(移動前抽出特徴)と第二特徴(移動後抽出特徴)との間に一致する部分(特徴共通部分)がある場合に、上記第一特徴と第二特徴とが一致する部分に対応する部分(特徴点)が重なるよう、上記第一形状(移動前取得形状)と第二形状(移動後取得形状)とを重ね合わせて合成する。
【0124】
この実施の形態における地図生成装置100によれば、特徴抽出部141が抽出した第一特徴と第二特徴との間に一致する部分がある場合に、形状合成部143が、その部分に対応する部分が重なるよう、第一形状と第二形状とを重ね合わせて合成するので、第一形状と第二形状とが対応する点を手掛かりにして、第一形状と第二形状とを合成することができる。
【0125】
この実施の形態における地図生成装置100は、更に、合成方式選択部142を有する。
上記合成方式選択部142は、上記処理装置(CPU911)を用いて、上記特徴抽出部141が抽出した第一特徴(移動前抽出特徴)と第二特徴(移動後抽出特徴)とに基づいて、上記移動量取得部132が取得した移動量に基づく合成方式と、上記特徴抽出部141が抽出した特徴に基づく合成方式ととのなかから合成方式を選択する。
上記形状合成部143は、上記処理装置(CPU911)を用いて、上記合成方式選択部142が選択した合成方式に基づいて、上記形状取得部115が取得した第一形状(移動前取得形状)と第二形状(移動後取得形状)とを重ね合わせて合成する。
【0126】
この実施の形態における地図生成装置100によれば、特徴抽出部141が抽出した第一特徴と第二特徴とに基づいて、合成方式選択部142が合成方式を選択し、合成方式選択部142が選択した合成方式に基づいて、形状合成部143が第一形状と第二形状とを合成するので、周辺環境の幾何学形状に合った適切な合成方式により、第一形状と第二形状とを合成することができる。
【0127】
この実施の形態における地図生成システム800は、周辺環境の幾何学形状を計測する計測装置200と、上記地図生成装置100とを有する。
【0128】
この実施の形態における地図生成システム800によれば、計測装置200が計測した計測結果に基づいて、地図生成装置100が周辺環境の地図を生成するので、第一形状と第二形状とにおいて対応する点を見つけることが困難な場合であっても、第一形状と第二形状とを合成し、周辺環境の地図を生成することができる。
【0129】
この実施の形態における地図生成システム800において、上記計測装置200は、参照方向取得部221と、参照距離計測部222と、参照距離通知部223とを有する。
上記参照方向取得部221は、上記地図生成装置100が通知した参照方向を取得する。
上記参照距離計測部222は、上記参照方向取得部221が取得した参照方向に基づいて、上記参照方向に存在する対象までの距離(参照距離)を計測する。
上記参照距離通知部223は、上記第一の位置(移動前位置)で上記参照距離計測部222が計測した距離を第一参照距離(移動前参照距離)として上記地図生成装置100に対して通知し、上記第二の位置(移動後位置)で上記参照距離計測部222が計測した距離を第二参照距離(移動後参照距離)として上記地図生成装置100に対して通知する。
【0130】
この実施の形態における地図生成システム800によれば、参照方向取得部221が取得した参照方向に基づいて、参照距離計測部222が第一の位置及び第二の位置で参照距離を計測し、参照距離計測部222が計測した参照距離を、参照距離通知部223が地図生成装置100に対して通知するので、地図生成装置100は、通知された参照距離に基づいて、計測装置200の移動量を取得することができる。
【0131】
この実施の形態における地図生成システム800において、上記計測装置200は、更に、参照方向移動部231を有する。
上記参照方向移動部231は、上記参照方向取得部221が取得した参照方向に基づいて、上記参照方向と同一または反対の方向へ上記計測装置200を移動する。
【0132】
この実施の形態における地図生成システム800によれば、参照方向移動部231が計測装置200を参照方向と同一または反対の方向へ移動するので、参照距離計測部222が計測する第一参照距離及び第二参照距離が参照方向に存在する対象物の同じ位置までの距離となり、これに基づいて、地図生成装置100が計測装置200の移動量を正しく算出することができる。
【0133】
この実施の形態における地図生成システム800において、上記計測装置200は、計測距離計測部211を有する。
上記計測距離計測部211は、複数の計測方向の各計測方向について、上記計測方向に存在する対象までの距離を計測して、複数の計測距離とする。
上記計測距離通知部212は、上記第一の位置(移動前位置)で上記計測距離計測部211が計測した複数の計測距離を複数の第一計測距離として上記地図生成装置100に対して通知し、上記第二の位置(移動後位置)で上記計測距離計測部211が計測した複数の計測距離を複数の第二計測距離として上記地図生成装置100に対して通知する。
【0134】
この実施の形態における地図生成システム800によれば、計測距離通知部212が各計測方向について計測した計測距離に基づいて、地図生成装置100が周辺環境の幾何学形状を算出するので、周辺環境の幾何学形状を正確に算出することができる。
【0135】
この実施の形態における地図生成装置100は、データを処理する処理装置(CPU911)を有するコンピュータ(計算機810)を上記地図生成装置100として機能させるコンピュータプログラムを、上記コンピュータ(計算機810)が実行することにより実現することができる。
【0136】
この実施の形態におけるコンピュータプログラムによれば、移動量取得部132が取得した移動量に基づいて、形状取得部115が取得した第一形状と第二形状とを、形状合成部143が合成するので、形状取得部115が取得した第一形状と第二形状とにおいて対応する点を見つけることが困難な場合であっても、第一形状と第二形状とを合成し、周辺環境の地図を生成する地図生成装置100を実現することができる。
【0137】
この実施の形態における地図生成方法は、周辺環境の幾何学形状を計測する計測装置200と、上記計測装置200の計測結果に基づいて上記周辺環境の地図を生成する地図生成装置100とを有する地図生成システム800が、上記周辺環境の地図を生成する地図生成方法であって、以下の工程を有する。
上記計測装置200が、第一の位置(移動前位置)で上記周辺環境の幾何学形状を計測する。
上記地図生成装置100が、上記計測装置200が上記第一の位置(移動前位置)で計測した計測結果に基づいて、上記周辺環境の幾何学形状を取得して、第一形状(移動前取得形状)とする。
上記計測装置200が、上記第一の位置(移動前位置)と異なる第二の位置(移動後位置)へ移動する。
上記地図生成装置100が、上記計測装置200が上記第一の位置(移動前位置)から上記第二の位置(移動後位置)へ移動した移動量を取得する。
上記計測装置200が、上記第二の位置(移動後位置)で上記周辺環境の幾何学形状を計測する。
上記地図生成装置100が、上記計測装置200が上記第二の位置(移動後位置)で計測した計測結果に基づいて、上記周辺環境の幾何学形状を取得して、第二形状(移動後取得形状)とする。
上記地図生成装置100が、取得した移動量に基づいて、取得した第一形状(移動前取得形状)と第二形状(移動後取得形状)とを重ね合わせて合成する。
上記地図生成装置100が、合成した合成結果に基づいて、上記周辺環境の地図を生成する。
【0138】
この実施の形態における地図生成方法によれば、地図生成装置100が取得した移動量に基づいて、地図生成装置100が取得した第一形状と第二形状とを、地図生成装置100が合成するので、地図生成装置100が取得した第一形状と第二形状とにおいて対応する点を見つけることが困難な場合であっても、第一形状と第二形状とを合成し、周辺環境の地図を生成することができる。
【0139】
実施の形態2.
実施の形態2について、図10〜図11を用いて説明する。
なお、実施の形態1で説明した地図生成システム800と共通する部分については、同一の符号を付し、ここでは説明を省略する。
【0140】
地図生成システム800の外観は、実施の形態1で説明したものとほぼ同様であるので、図1を用いて説明する。
【0141】
地図生成システム800(環境地図取得装置)は、移動台(移動台上板951、移動台中板952、移動台下板953)に搭載されている。
移動台には、前方の左右に二つの前方車輪954,955が取り付けられ、後方の中心に一つの後方車輪が取り付けられている。
二つの前方車輪954,955には、ステッピングモータ991,992が実装されていて、計算機810が出力する制御信号にしたがって指定の角変位量だけ任意方向に回転する。また、前方車輪954,955には、回転計(図示せず)が取り付けられており、その回転計により検知された回転角度を計算機810に送信する。
後方車輪は、左右に曲がることが可能な車輪である。
【0142】
可動台961及び回転台971は、例えば、自動精密ステージや、電動雲台といわれる機器を用いて構成されており、移動台の上面部に固定されている。可動台961は、移動台の上面部に対する上下方向(ピッチ方向)と、進行方向へ向かう軸を中心とする左右方向(ロー方向)に回転することができる。
すなわち、可動台961は、計算機810が出力する制御信号にしたがって上下向き方向(ピッチ方向)又は進行方向を軸とした左右回転方向(ロー方向)に回転する。また、計算機810が可動台961を任意のピッチ角及び回転角で傾けることができるようにするために、可動台961の中心には、ピッチ方向の角度と、ロー方向の水平からの角度を検知する傾斜計968,969が設置されており、その傾斜計968,969により検知された角度を計算機810に送信する。
回転台971は、計算機810が出力した制御信号にしたがって上下方向を軸とした左右回転方向(アジマス方向)に任意の変位角だけ回転する。これにより、アジマス方向もピッチ方向及びロー方向と同様に、計算機810の指示の下で、任意の変位角だけ回転させることができる。この場合、任意の変位角とは、正面角度からの変位角である。
一例として、可動台961及び回転台971は、アジマス方向に±159度、ピッチ方向に+31度−48度回転できる。
【0143】
レーザスキャナ(短距離レーザ測距装置981及びミラー982)は、可動台961及び回転台971の上面部に設置されており、可動台961及び回転台971のピッチ、ロー、アジマス回転に追従して向きを変える。
レーザスキャナは、レーザ光を照射する光源を中心にして、左右水平に回転することにより、レーザ光を走査角度範囲(レーザスキャナがレーザ光を向ける方向を変えられる面)で振り、レーザ光の反射光(物体に反射されたレーザ光)が戻ってくるまでの時間から反射物までの距離を測定するレーザ測距装置である。一例として、レーザスキャナは、例えば、進行方向左右120度の範囲を約0.36度または約1度の分解能で、壁やドアといった構造物までの距離をスキャンデータとして取得する。測定可能距離は、例えば4095ミリメートルである。
【0144】
長距離計測器(長距離レーザ測距装置984)は、可動台961及び回転台971の上面部に設置されており、可動台961及び回転台971のピッチ、ロー、アジマス回転に追従して向きをかえる。長距離計測器は、1点の方向に突き当たる物体までの距離を計測する。一例として、長距離計測器は100メートルの距離まで計測でき、精度は3ミリメートルである。
【0145】
カメラ986は、可動台961及び回転台971の上面部に設置されており、可動台961及び回転台971のピッチ、ロー、アジマス回転に追従して向きを変える。
【0146】
計算機810は、移動台の上面部に固定されており、前方車輪954,955及び後方車輪を制御して、移動台を前後左右や、向きの変更といった任意の位置、方向に動かす処理を実施するとともに、可動台961及び回転台971を任意のピッチ方向及びロー方向に動かす処理を実施する。
また、計算機810は、レーザスキャナにより測定された距離を示す距離データを収集し、その距離データから反射物の形状を特定する処理を実施する。
【0147】
図10は、この実施の形態における地図生成システム800(環境地図取得装置)の計算機810の詳細を示すブロック構成図である。
【0148】
参照データ収集部411は、レーザスキャナに測定処理を実施させる。参照データ記憶部412は、レーザスキャナが測定した測定結果である参照データを電子データとして蓄積する。
壁検出部413は、参照データから、周辺の壁の位置と壁の方向を検出して、方向変換部414へこれを電子データの形式で通知する。
方向変換部414は、可動台961及び回転台971を制御して、長距離計測器(長距離レーザ測距装置984)によるレーザ光の照射方向を壁と平行な方向へ変更する。同時に、回転量データ記憶部415は、可動台961のピッチ、ロール(アジマス)、ロー方向の回転角度を電子データとして記録する。
地図データ収集部421は、地図データを作成する元となる周辺の地図距離データをレーザスキャナを用いて取得する。地図距離データ記憶部422は、地図データ収集部421が取得した地図距離データを電子データとして記録する。
距離計測部431は、長距離の位置用距離データを長距離計測器(長距離レーザ測距装置984)を用いて取得する。位置用距離データ記憶部432は、距離計測部431が取得した位置用距離データを電子データとして記録する。
距離データ合成部451は、複数の地点で取得した地図距離データを合成して地図データを生成し、または地図データに追加する。地図データ記憶部452は、距離データ合成部451が生成・追加した地図データを記憶する。地図データ出力部453は、地図データ記憶部452が記憶した地図データを出力する。
移動部441は、例えば操作員の指示により、左右の駆動輪(車輪954,955)を別々に回転させることにより、前後方向または、左右旋回方向に地図生成システム800(環境地図取得装置)を移動させる。移動量データ記憶部442は、移動部441が地図生成システム800を移動させた移動量データを電子データとして記録する。
【0149】
次に、地図生成システム800(環境地図取得装置)の動作の概略について、説明する。
【0150】
操作員は、地図表示や、地図生成システム800(環境地図取得装置)に搭載したカメラ986の画像を確認しながら、地図生成システム800(環境地図取得装置)の移動操作を行って移動させる。1回の移動距離は、移動前後で取得した地図距離データに同一区間が重複して計測できる距離とし、例えば、レーザスキャナの到達距離の半分のであるおおよそ2メートルとする。
【0151】
移動後の停止した状態で、地図生成システム800(環境地図取得装置)は、参照データの取得、壁検出、可動台の向き変更、位置用距離データの計測、地図距離データの収集、距離データの合成による地図データの作成を自動で行うことにより、地図データの生成または、地図データの追加を行う。
【0152】
移動部441は、操作員の指示により、左右の駆動輪(車輪954,955)を指定速度で指定時間回転することにより移動する。左右の回転速度、回転方向を変えることにより旋回することができる。また、移動部441を自動化することにより、一定範囲の空間を操作員の操作がなくとも自動的に計測することができる。
【0153】
次に、各部の動作について、説明する。
【0154】
参照データ収集部411は、レーザスキャナに測定処理を実施させる。参照データ記憶部412は、測定結果である参照データを電子データとして蓄積する。
参照データ記憶部412は、参照データとして、角度1,距離1,角度2,距離2,・・・・,角度n,距離nの数値を記録する。角度の差は一定であり、使用する機器により異なるが、例えば1度に1データである。また、参照データ記憶部412は、レーザ測距離装置に設置した傾斜計の測定結果に基づいて、水平であれば、参照距離データをそのまま記録し、水平でなければ、水平面に参照距離データを射影した距離を記録する。
【0155】
壁検出部413は、参照データから、周辺の壁の位置と壁の方向を検出して、方向変換部414へこれを電子データの形式で通知する。
壁検出部413は、スキャンデータ(参照データ)から周辺の壁を検知するために、スキャンデータが直線状に並んでいる部分を抽出する。直線抽出には、例えば、ハフ検出を用いる。
例えば、壁検出部413は、スキャンデータに含まれる点群に対してハフ変換を行い、ハフ平面上で投票する。壁検出部413は、投票数が多い順に10点を選択し、ハフ逆変換により、スキャンデータの直線成分を求める。
【0156】
なお、未検出や過検出を防ぐため、壁検出部413は、次のようにして直線を検出してもよい。
未検出は、直線を構成する点の数が少ないと発生する。過検出は、壁の表面の細かな凹凸やレーザスキャナの測定誤差により、点群が厳密には直線に並ばずに蛇行しているので、投票するハフ平面上の点も分散することにより、複数の点への投票値がなされて発生する。
例えば、未検出をなくすため、開いたドアや曲がり角においてスキャンデータが途切れる特徴に着目し、壁検出部413は、スキャンデータを点同士の距離が一定距離以内の連結成分に分離する。これにより、個々の連結成分は、1方向の直線の壁か、直交する2つの曲がり角を含む。壁検出部413は、分離した個々の連結成分に対してハフ変換を実施する。これにより、投票数の少ない短い直線も検出できる。
また、過検出をなくすため、壁のレイアウトが直交している特徴に着目し、壁検出部413は、ハフ平面における投票数が最大の点(θ,ρ)をハフ逆変換した直線を抽出し、次に、この直線と直交する直線を抽出する。これにより、傾きの似通った直線の過検出を防止する。壁検出部413は、直交する直線として、Hough平面上の最大投票数になるθ値とπ/2差異のあるθ値において投票数が極大となる点(θ,ρ)を逆変換した直線を抽出する。
このように、壁検出部413は、連結成分に分割して直交する直線成分を抽出することにより、スキャンデータから全ての壁を直線成分として抽出できる。
【0157】
壁検出部413は、スキャンデータのうち、ロボット(地図生成システム800)に最も近い点から抽出した直線の傾きを、ロボットの姿勢が直近の壁となす水平面の角度(以下「姿勢角」と呼ぶ。)とする。壁検出部413は、この姿勢角の値と、参照データを取得したときの傾斜計968,969のピッチ、ロー角を方向変換部414へ渡す。
【0158】
方向変換部414は、参照データを取得したときの傾斜計968,969のピッチ、ロー角を打ち消して水平になるように可動台961を回転させる。方向変換部414は、次に、ロボットが至近の壁となす角度を打ち消す方向に回転台971にアジマス回転を加える。
【0159】
地図データ収集部421は、レーザスキャナに測定処理を実施させる。地図距離データ記憶部422は、測定結果である地図距離データを電子データとして蓄積する。地図距離データ記憶部422は、地図距離データとして、角度1,距離1,角度2,距離2,・・・・,角度n,距離nの数値を記録する。角度の差は一定であり、使用する機器により異なるが、例えば1度に1データである。
【0160】
距離計測部431は、位置用距離を計測する。位置用距離は、地図生成システム800(環境地図取得装置)の進行方向に突き当たる物体までの距離である。位置用距離データ記憶部432は、距離計測部431が計測した位置用距離を電子データとして記録する。
なお、距離計測部431は、位置用距離として、壁と略平行な距離だけでなく、壁までの距離を計測してもよい。その場合、地図生成システム800は、90度異なる方向を向いた二つの長距離計測器(長距離レーザ測距装置984)を有していてもよいし、回転台971を90度回転させることにより、1つの長距離計測器(長距離レーザ測距装置984)が、壁と略平行な距離と、壁までの距離とを計測してもよい。
【0161】
距離データ合成部451は、地図距離データを合成する。
図11は、この実施の形態における距離データ合成部451が地図距離データを合成する距離データ合成処理の流れの一例を示すフローチャート図である。
まず、特徴抽出工程S631において、距離データ合成部451は、地図距離データから、特徴を抽出する。特徴照合工程S632において、距離データ合成部451は、抽出した特徴を照合することにより、他の地図距離データと接続できるかどうかを判断する。照合に成功した場合、特徴合成工程S633へ進み、距離データ合成部451は、抽出した特徴を用いて地図距離データを合成する。特徴同士が照合できない場合、距離合成工程S634へ進み、距離データ合成部451は、位置用距離データを用いて地図距離データを合成する。
【0162】
特徴抽出工程S631の処理は、例えば、以下のように行う。
地図距離データ同士を照合できるようにするため、距離データ合成部451は、地図距離データから、柱、ドア、曲がり角を検出する。柱は一定区間の凸形状であり、ドアは凹形状である。ドアが開いている場合や曲がり角は空間になる。距離データ合成部451は、地図距離データから、壁検出手法と同じ手法により直線を抽出して、直線と地図距離データの点の距離から凹凸特徴を抽出する。
抽出直線上に設定した基準点からの距離を横軸にとり、測定点と抽出直線の距離を縦軸にとると、連続する点は蛇行しているので、隣接する点を用いて傾きを求めると、傾きの変動が大きく、正確な凹凸を求めることができない。そこで、距離データ合成部451は、連続する複数の点における差分Δx、Δhを用いて傾きを求める。距離データ合成部451は、傾きの大小により、点列が凹凸を表しているのか、蛇行しているのかを判断する。
【0163】
抽出した凹凸特徴の照合を容易にするため、距離データ合成部451は、特徴を文字記号に置き換えて文字列として表現する。例えば、距離データ合成部451は、直線区間をL、空間区間をS、直線の端が角になっていない点をE、レーザの到達距離限界や、スキャン範囲の最大値といったその先がどのようになっているかわからない点をUとして表現する。また、直線の端点については、向かって左端で奥へ折れ曲がっている点をA、向かって右端で奥へ折れ曲がっている点をB、向かって左端で手前に折れ曲がっている点をC、向かって右端で手前に折れ曲がっている点をDとする。また、右よりも左が手前にあるクランクをG、左よりも右が手前にあるクランクをHとする。地図距離データの直線成分の方向は直行する2方向で、かつ、逆方向を区別すると4方向である。距離データ合成部451は、各方向に対して、反時計まわりに特徴の記号を並べて文字列とする。
例えば、反時計まわりの右側を下から上へ向かう方向を0方向とし、反時計まわりに90度回転を2回施した上から下へ向かう方向を回転回数にあわせて2とし、距離データ合成部451は、回転回数と特徴文字から形状を表現する文字列を生成する。距離データ合成部451は、照合に必要な情報として、Lの長さと、Sの間隔も記録する。ただし、LやSがUに隣接している場合は、長さが定まらないので記録しない。
距離データ合成部451は、このようにして抽出した特徴の文字列に基づいて、特徴を照合する。
【0164】
特徴照合工程S632の処理は、例えば、以下のように行う。
距離データ合成部451は、長さの一致したLまたはSを起点として、左右の文字の照合を行う。ただし、凸形状の曲がり角を計測した地図距離データは、記号A、Bのように凸形状が示す場合と、記号Eのように見切れて端点となる場合があるので、記号A、Bは記号Eと対応付くとみなす。
【0165】
特徴合成工程S633の処理は、例えば、以下のように行う。
距離データ合成部451は、文字列の照合によって対応付いた記号の位置用距離データの差異が一定以下となる地図距離データを連結する。すなわち、距離データ合成部451は、測定点a、bとの相対位置(位置用距離データDaとDbの差異)から求めた特徴点Eの地点から、至近の壁に平行な方向にある壁までの距離Ea、Ebを、Da,DbとaとEaの相対距離、bとEbの相対距離から求め、これらの差異が一定以下であるか否かを判断する。一定以下である場合、距離データ合成部451は、2つの地図距離データは連結可能と判断する。距離データ合成部451は、対応付いた特徴記号と、至近の壁に平行な方向にある壁までの距離が重なるように一方の地図距離データを平行移動して地図距離データを結合して環境地図を構築する。対応する特徴点が一つの場合、距離データ合成部451は、単純に平行移動する移動量を求めて電子データとして出力する。距離データ合成部451は、移動量として、例えば、基準とする地図距離データを表示したときに、上側をY、右側をXとした距離をミリメートルで表現したX、Yの値とする。対応する特徴点が複数ある場合、距離データ合成部451は、平行移動量として、特徴点同士の距離の和が最小となる移動量を求める。距離データ合成部451がこれを求める方式は、例えば、K個の特徴点が対応ついた場合、それぞれの点同士の差異である移動量1、移動量2、・・・、移動量KのX、Yの範囲内でX、Yを変化させ、特徴点同士の距離の和が最小となる移動量を求める。
【0166】
距離合成工程S634の処理は、例えば、以下のように行う。
特徴の少ない空間においては、地図距離データが、直線Lや空間Sといった長さ属性をもつ特徴を含まない場合がある。この場合、距離データ合成部451は、位置用距離データの差異から判断して、重複する部分を含む地図距離データ同士が対応つくと判断する。距離データ合成部451は、進行方向の位置用距離データの差異および、進行方向と平行な壁との距離差異が無くなるように、一方の地図距離データを平行移動して地図距離データを結合する。このとき、距離データ合成部451は、特徴点同士が一定距離内にあれば、さらにこの局所座標が重なるように平行移動して結合する。
また、距離計測部431が壁と略平行な距離だけでなく、壁までの距離を計測する構成の場合、距離データ合成部451は、壁と略平行な距離だけでなく、壁までの距離も利用して、一方の地図距離データを平行移動する。
【0167】
地図データ記憶部452は、地図データを記憶する。
地図データ記憶部452が記憶する地図データの形式は、例えば、地図距離データn個を合成する場合、地図距離データ1、地図距離データ2、地図距離データ2を地図距離データ1と重ねる場合の地図距離データ2の移動量2、地図距離データ3、地図距離データ3を地図距離データ2と重ねる場合の地図距離データ2の移動量3、・・・、地図距離データn、地図距離データnを地図距離データn−1と重ねる場合の地図距離データ2の移動量nを記録したものである。
【0168】
地図データ出力部453は、地図データ記憶部452が記憶した地図データに基づいて地図を生成する。地図データ出力部453は、例えば、生成した地図と、カメラが取得した映像とをディスプレイに表示する。複数の地図距離データを合成している場合、地図データ出力部453は、複数の地図距離データを合成して地図を生成し、表示する。なお、表示するディスプレイは、例えば、地図生成システム800(環境地図取得装置)に搭載した計算機に接続したデジプレイである。あるいは、地図データ出力部453は、地図生成システム800(環境地図取得装置)に搭載した計算機810から、複数の地図距離データを合成した地図画像と、カメラで撮影した映像とを、無線LAN装置などの通信装置915を介して他の場所に設置した計算機へ伝送する構成としてもよい。これにより、必ずしも環境地図取得装置に搭載した計算機ではない場所に、周辺環境の地図を表示することができる。
【0169】
移動部441は、例えば、操作員が、地図生成システム800(環境地図取得装置)に搭載した計算機810からキーボード902を介した入力により、左右の駆動輪(車輪954,955)を別々に回転させることにより、前後方向または、左右旋回方向に地図生成システム800(環境地図取得装置)を移動させる。指示の例としては、例えば、毎秒1回転で左右5秒間といった指示や、右側の駆動輪が毎秒0.5回転、左側の駆動輪が毎秒1回転で同時に3秒間といった指示がある。
なお、別の場所に設置した計算機上で指示を入力し、無線LAN装置などの通信装置915を介して地図生成システム800(環境地図取得装置)に搭載した計算機810へ指示を伝送し、移動部441が、指示にしたがって地図生成システム800を移動させてもよい。
移動部441が地図生成システム800を1回移動させた後、カメラ986が撮影した画像を、再び、地図生成システム800(環境地図取得装置)に搭載した計算機810に接続したディスプレイに表示する。もちろん、カメラ986が撮影した画像を無線LAN装置などの通信装置915を介して他の場所に設置した計算機へ伝送して、表示してもよい。
操作員は、この表示内容をみて、再度操作入力を行って地図生成システム800(環境地図取得装置)を移動させるか、または参照データ収集部411からの一連の処理を実行するかを決定して、計算機810へ入力することにより、いずれかの処理を実行する。
また、移動部441は、自動化する構成としてもよい。例えば、移動部441は、最新の位置用距離データの値が一定以上(例えば100cm以上)である場合に、所定の距離だけ地図生成システム800を前進させる。さらに、進行方向が左右にずれないようにするため、移動部441は、アジマス方向の回転量データから地図生成システム800(環境地図取得装置)の正面の方向と、壁のずれを求め、壁と平行になる方向に向くように車輪を回転させる。
【0170】
以上説明した地図生成システム800(環境地図取得装置)は、
レーザ測距装置(短距離レーザ測距装置981)により測定された距離を示す参照データを収集する参照データ収集部411と、
参照データから、周辺の壁を検出する壁検出部413と、
可動台961及び回転台971を制御してレーザ測距装置(長距離レーザ測距装置984)によるレーザ光の照射方向を壁と平行な方向へ変更する方向変換部414と、
地図データを作成する元となる周辺の地図距離データ(計測距離)をレーザ測距装置(短距離レーザ測距装置981)を用いて取得する地図データ収集部421と、
自位置を推定するために長距離の位置用距離データ(参照距離)を取得する距離計測部431と、
装置全体が移動一定量移動して移動記録を残す移動部441と、
地図距離データ(計測距離)を合成して地図データを生成する距離データ合成部451と、
計測する場所を変える移動部441とを備える。
【0171】
これにより、地図生成システム800(環境地図取得装置)は、壁に凹凸特長の無い長い廊下などであっても、環境地図を構築することができる。例えば、計測した点群が一直線状に並んでいる場合や、同じ凹凸パターンが繰り返している場合であっても、直線状の並びに平行な方向の位置ずれを正確にあわせた対応付けをすることができる。したがって、壁の形状の特徴の有無によらず、正確に形状を計測することができる。
【0172】
以上説明した地図生成システム800(環境地図取得装置)によれば、参照データ収集部411が収集した参照用の距離データ(参照データ)から、壁検出部413が壁を検出し、方向変換部414が長距離計測器(長距離レーザ測距装置984)の向きを壁と平行にすることにより、至近の壁と平行な方向にある壁までの位置用距離データ(参照距離)を距離計測部431が計測し、これと同時に地図データ収集部421が地図距離データ(計測距離)を収集し、距離データ合成部451が地図距離データ(計測距離)から形状特徴を抽出して、形状特徴の位置あわせと位置用距離データ(参照距離)の距離を位置合わせすることにより、複数地点で取得した地図距離データを重ね合わせることにより大域地図を合成し、移動部441が、地図生成システム800を移動させることにより大域地図の範囲を広げることができるので、形状特徴だけではなく、長距離計測器(長距離レーザ測距装置984)を用いて取得した位置用距離データの距離を位置合わせに用いるので、形状に凹凸のない空間であっても、多地点で取得した地図用距離データを正確に合成できるという効果を奏する。
【0173】
なお、複数の地図生成システム800が協調して、1つの環境地図を生成する構成としてもよい。
例えば、1つの地図生成システム800(以下「合成担当システム」と呼ぶ。)が合成を担当し、他の地図生成システム800(以下「測定担当システム」と呼ぶ。)は、主に測定を担当する。
測定担当システムは、距離データ合成部451・地図データ記憶部452・地図データ出力部453に代えて、もしくは、これらに加えて、距離データ送信部を有する。距離データ送信部は、通信装置915を用いて、地図距離データ記憶部422が記憶した地図距離データを、合成担当システムに対して送信する。
合成担当システムは、更に、距離データ受信部を有する。距離データ受信部は、通信装置915を用いて、測定担当システムが送信した地図距離データを受信する。地図距離データ記憶部422は、地図データ収集部421が測定した地図距離データとともに、地図距離データ受信部が受信した地図距離データを記憶する。距離データ合成部451は、複数の地図生成システム800が取得した地図距離データを合成する。
距離データ合成部451は、特徴合成工程S633の処理により、複数の地図生成システム800が取得した地図距離データを合成する。特徴合成工程S633では、測定点間の位置関係を使わずに合成をすることができるので、複数の地図生成システム800の間の位置関係が不明な場合や大まかな位置関係しかわからない場合であっても、複数の地図生成システム800が取得した取得形状を合成することができる。
【0174】
実施の形態3.
実施の形態3について、図12を用いて説明する。
なお、実施の形態2で説明した地図生成システム800と共通する部分については、同一の符号を付し、説明を省略する。
【0175】
この実施の形態における地図生成システム800(環境地図取得装置)の外観は、実施の形態2で説明したものと同様である。
【0176】
図12は、この実施の形態における地図生成システム800(環境地図取得装置)の計算機810の詳細を示すブロック構成図である。
計算機810は、実施の形態2で説明したブロックに加えて、更に、分割判断部461、部分地図データ記憶部462、分割領域合成部463を有する。
分割判断部461は、地図データ収集部421が収集した地図距離データを、取得済みの地図距離データと合成する手法を選択する。
距離データ合成部451は、地図生成システム800(環境地図取得装置)の移動する向きに変化のない地図距離データを合成する。
部分地図データ記憶部462は、距離データ合成部451が合成して生成した地図データを部分地図データとして記憶する。
分割領域合成部463は、地図生成システム800(環境地図取得装置)の移動する向きに変化のある地図距離データを合成する。
地図データ記憶部452は、分割領域合成部463が合成して生成した地図データを記憶する。
【0177】
地図生成システム800は、環境全体を複数の仮想的な部分空間にわけて計測する。地図生成システム800は、各部分空間内において、周辺の壁と平行な方向のつきあたりにある壁までの距離を位置用距離データとして利用することにより、各部分空間内の地図データを構築する。そして、地図生成システム800は、複数の部分空間が重なった部分の地図データを合成することにより、広域の地図データを構築する。
【0178】
次に、地図生成システム800(環境地図取得装置)の動作の概略について、説明する。
【0179】
操作員は、地図表示や、地図生成システム800(環境地図取得装置)に搭載したカメラ986の画像を確認しながら、地図生成システム800(環境地図取得装置)の移動操作を行って移動させる。1回の移動距離は、移動前後で取得した地図距離データに同一区間が重複して計測できる距離とし、例えば、レーザスキャナの到達距離の半分のであるおおよそ2メートルとする。
【0180】
移動後の停止した状態で、地図生成システム800(環境地図取得装置)は、参照データの取得、壁検出、可動台の向き変更、位置用距離データの計測、地図距離データの収集、距離データの合成による地図データの作成を自動で行うことにより、地図データの生成または、地図データの追加を行う。
【0181】
移動部441は、操作員の指示により、左右の駆動輪(車輪954,955)を指定速度で指定時間回転することにより移動する。左右の回転速度、回転方向を変えることにより旋回することができる。移動部441は、移動経路として、通路などの分岐点で左または右へ向かう。また、移動部441を自動化することにより、一定範囲の空間を操作員の操作がなくとも自動的に計測することができる。
【0182】
次に、各部の動作について、説明する。
【0183】
分割判断部461は、同一の部分空間にいるか、異なる部分空間に入ったかを判断する。分割判断部461は、例えば、以下の基準に基づいて、判断をする。
分割判断部461は、時系列に位置用距離データの長さを比較する。分割判断部461は、最新に取得した位置用距離データの長さが、1回前の取得した位置用距離データの長さより長い場合は、異なる部分空間に入ったと判断する。
分割判断部461の判断基準は、異なる判断基準であってもよい。例えば、分割判断部461は、時系列に回転量データのアジマス角度を比較する。回転量データのアジマス角とは、壁と平行な方向を示す角度である。例えば、車両正面を0度として右向きが正、左向きが負とする。分割判断部461は、最新に取得した回転量データのアジマス角と、1回前に取得した回転量データのアジマス角の正負が異なり、かつ、一定以上の角度差がある場合は異なる部分空間へ入ったと判断する。
【0184】
異なる部分空間に入ったと分割判断部461が判断した場合、距離データ合成部451は、部分空間ごとに分けて地図距離データを合成する。部分地図データ記憶部462は、それまでに蓄積した部分地図データと別の部分空間であることから、別の電子データとして、部分地図データの蓄積を開始する。分割領域合成部463は、それまでに蓄積した地図データの最後の地図距離データと、最新の地図距離データを合成する。
【0185】
分割領域合成部463は、複数の部分空間の重複する位置で取得した地図距離データを照合することにより、異なる部分空間の環境地図を大域的に合成する。
分割領域合成部463は、例えば、ある部分空間において局所座標値が最小となるスキャンデータ(地図距離データ)と、別の部分空間において局所座標値が最大となる地図距離データとを照合する。
例えば、第一の部分空間において、地図生成システム800(環境地図取得装置)の進行方向と直交する方向の面から抽出した特徴と、第二の部分空間において、地図生成システム800(環境地図取得装置)の進行方向と平行な方向の面から抽出した特徴とが一致している場合、第一の部分空間の環境地図と、第二の部分空間の環境地図は、直交する方向で連結できる。
このように、分割領域合成部463は、照合により一致した特徴の方向に基づいて、各部分空間の環境地図を結合する方向を判断する。
また、部分空間同士の結合には、方向だけでなく、位置を合わせる必要がある。
分割領域合成部463は、第二の部分空間の一つの特徴点の座標が、第一の部分空間の対応付いた特徴点と一致する量の平行移動を、第二の部分空間の環境地図全体に施す。更に、分割領域合成部463は、位置を合わせた特徴点を中心として、対応付いた特徴記号文字列の方向の角度変位量を打ち消す角度の回転を、第二の部分空間の環境地図にかけることにより、部分空間にまたがる環境地図を結合する。
【0186】
以上説明した地図生成システム800(環境地図取得装置)は、参照データ収集部411が収集した参照用の距離データ(参照データ)から、壁検出部413が壁を検出し、方向変換部414が長距離計測器(長距離レーザ測距装置984)の向きを壁と平行にすることにより、至近の壁と平行な方向にある壁までの位置用距離データ(参照距離)を距離計測部431が計測し、これと同時に地図データ収集部421が地図距離データ(計測距離)を収集し、距離データ合成部451が地図距離データから形状特徴を抽出して、形状特徴の位置あわせと位置用距離データ(参照距離)の距離を位置合わせすることにより、複数地点で取得した地図距離データを重ね合わせることにより大域地図を合成し、分割判断部461が、異なる方向に地図生成システム800(環境地図取得装置)が進みだしたことを検知して、異なる部分空間の地図データの作成を開始し、分割領域合成部463が、異なる部分空間のデータの接合をし、移動部441が、地図生成システム800を移動させることにより大域地図の範囲を広げる。このように、形状特徴だけではなく、長距離計測器(長距離レーザ測距装置984)を用いて取得した位置用距離データの距離を位置合わせに用いるので、形状に凹凸のない空間でかつ、曲がり角を曲を含んでいてもあっても、多地点で取得した地図用距離データを、正確に合成できるという効果を奏する。
【0187】
実施の形態4.
実施の形態4について、図13を用いて説明する。
なお、実施の形態2で説明した地図生成システム800と共通する部分については、同一の符号を付し、説明を省略する。
【0188】
この実施の形態における地図生成システム800(環境地図取得装置)の外観は、実施の形態2で説明したものと同様である。
【0189】
図13は、この実施の形態における地図生成システム800(環境地図取得装置)の計算機810の詳細を示すブロック構成図である。
計算機810は、実施の形態2で説明したブロックに加えて、更に、ランドマーク抽出部471、ランドマークデータ記憶部472、ランドマーク追跡部473を有する。
なお、計算機810は、実施の形態3と同様、更に、分割判断部461、部分地図データ記憶部462、分割領域合成部463を有する構成であってもよい。
【0190】
ランドマーク抽出部471は、カメラ986が撮影した映像から、ランドマークを抽出する。ランドマークデータ記憶部472は、ランドマーク抽出部471が抽出したランドマークを記憶する。ランドマーク追跡部473は、ランドマークデータ記憶部472が記憶したランドマークから、基準となるランドマークを決め、このランドマークの方向に長距離計測器(長距離レーザ測距装置984)が向くように可動台961・回転台971を動作させる。
距離計測部431は、長距離計測器(長距離レーザ測距装置984)からランドマークまでを結んだ線を水平面に射影した距離に換算する。位置用距離データ記憶部432は、換算した距離を、位置用距離データとして蓄積するとともに、壁との角度を記録する。
【0191】
次に、各部の動作について、説明する。
【0192】
ランドマーク抽出部471は、カメラ映像からランドマークを抽出し、抽出したランドマークのピッチ、アジマス方向を得る。
例えば、ランドマークとして、特殊な色のマーカーを用いる場合、ランドマーク抽出部471は、カメラ画像に対して、特定の色を例えばCMY色空間の一定値範囲の色抽出を行い、抽出できた色の画素の中心をランドマーク点とする。
あるいは、ランドマークとして、並んで配置されている蛍光灯を対象とする場合、ランドマーク抽出部471は、白色で輝度が一定以上の画素をグループ化した後、一番遠い蛍光灯グループの画素中心をランドマーク点として選択する。このとき、遠近法に基づいて、ランドマーク抽出部471は、画像の中心より上で一番中心に近いグループが一番遠いと判断する。
次に、ランドマーク抽出部471は、カメラの視野角から、ランドマーク点の方向をカメラ中心からのアジマス方向およびピッチ方向の角度差として抽出する。このとき、ランドマーク抽出部471は、レンズの収差補正を行ってもよい。
【0193】
ランドマークデータ記憶部472は、ランドマーク抽出部471が抽出したランドマークのアジマス角およびピッチ角をランドマークデータとして記憶する。
【0194】
ランドマーク追跡部473は、ランドマークデータ記憶部472が記憶したランドマークデータから、追跡するランドマークを決定し、決定したランドマークのアジマス方向及びピッチ方向を、方向変換部414へ通知する。
【0195】
方向変換部414は、可動台961・回転台971へ指示を出すことにより、ピッチ角、アジマス角にあわせて可動台の方向を変える。
【0196】
次に、距離計測部431は、長距離計測器(長距離レーザ測距装置984)へ指示を出して、ランドマークまでの距離を求める。
位置用距離データ記憶部432は、記録として、計測した位置用距離を記録する。このとき、位置用距離データ記憶部432は、計測した位置用距離を水平面に射影した長さを位置距離データとして記録する。
【0197】
距離データ合成部451は、実施の形態2で説明したのと同様にして、特徴あるいは距離による位置合わせをして、地図距離データを合成する。なお、位置距離データを用いて位置あわせをする場合、位置用距離データ記憶部432が記憶した位置用距離データは、壁に垂直でないので、ランドマークデータ記憶部472が記憶したランドマークデータに基づいて、アジマス方向の角度だけ、位置用距離データの角度を傾けて位置あわせを行う。
【0198】
以上説明した地図生成システム800(環境地図取得装置)は、参照データ収集部411が収集した参照用の距離データ(参照データ)から、壁検出部413が壁を検出し、方向変換部414が長距離計測器(長距離レーザ測距装置984)の向きを壁と平行にすることにより、至近の壁と平行な向きで地図データ収集部421が地図距離データを収集し、ランドマーク追跡部473と距離計測部431とが、一定の目標物(ランドマーク)までの位置用距離データを計測し、距離データ合成部451が地図距離データから形状特徴を抽出して、形状特徴の位置あわせと位置用距離データ(参照距離)の距離を位置合わせすることにより、複数地点で取得した地図距離データを重ね合わせることにより大域地図を合成し、移動部441が、地図生成システム800を移動させることにより大域地図の範囲を広げることができるので、形状特徴だけではなく、長距離計測器(長距離レーザ測距装置984)を用いて取得した位置用距離データの距離を位置合わせに用いるので、形状に凹凸のない空間であっても、かつ、壁と平行な方向に乱雑に物が置いてあるような空間においても、多地点で取得した地図用距離データを正確に合成できるという効果を奏する。
【図面の簡単な説明】
【0199】
【図1】実施の形態1における地図生成システム800の外観の一例を示す図。
【図2】実施の形態1における計算機810のハードウェア資源の一例を示す図。
【図3】実施の形態1における計算機810の機能ブロックの構成の一例を示すブロック構成図。
【図4】実施の形態1における地図生成システム800が計測する周辺環境850と、計測装置200が出力する計測距離データ310との関係の一例を示す図。
【図5】実施の形態1における形状取得部115が取得した幾何学形状880と、その幾何学形状から特徴抽出部141が抽出する特徴との一例を示す図。
【図6】実施の形態1における特徴抽出部141が抽出する特徴とその特徴を表わす文字との関係の一例を示す図。
【図7】実施の形態1における計測装置200が距離を計測した計測可能範囲860と、形状取得部115が取得した周辺環境の幾何学形状880と、特徴抽出部141が抽出した幾何学形状の特徴との一例を示す図。
【図8】実施の形態1における形状合成部143が移動前取得形状と移動後取得形状とを合成する様子を模式的に表わした図。
【図9】実施の形態1における地図生成システム800が周辺環境の地図を生成する地図生成処理の流れの一例を示すフローチャート図。
【図10】実施の形態2における地図生成システム800(環境地図取得装置)の計算機810の詳細を示すブロック構成図。
【図11】実施の形態2における距離データ合成部451が地図距離データを合成する距離データ合成処理の流れの一例を示すフローチャート図。
【図12】実施の形態3における地図生成システム800(環境地図取得装置)の計算機810の詳細を示すブロック構成図。
【図13】実施の形態4における地図生成システム800(環境地図取得装置)の計算機810の詳細を示すブロック構成図。
【符号の説明】
【0200】
100 地図生成装置、111 計測距離取得部、112 連続判定部、113 計測距離分類部、114 部分図形検出部、115 形状取得部、121 壁面検出部、122 参照方向通知部、131 参照距離取得部、132 移動量取得部、141 特徴抽出部、142 合成方式選択部、143 形状合成部、151 地図生成部、152 地図出力部、200 計測装置、211 計測距離計測部、212 計測距離通知部、221 参照方向取得部、222 参照距離計測部、223 参照距離通知部、231 参照方向移動部、310 計測距離データ、311 方向データ、312 距離データ、330 特徴データ、411 参照データ収集部、412 参照データ記憶部、413 壁検出部、414 方向変換部、415 回転量データ記憶部、421 地図データ収集部、422 地図距離データ記憶部、431 距離計測部、432 位置用距離データ記憶部、441 移動部、442 移動量データ記憶部、451 距離データ合成部、452 地図データ記憶部、453 地図データ出力部、461 分割判断部、462 部分地図データ記憶部、463 分割領域合成部、471 ランドマーク抽出部、472 ランドマークデータ記憶部、473 ランドマーク追跡部、800 地図生成システム、810 計算機、850 周辺環境、860 計測可能範囲、870 計測点群、880 幾何学形状、890 特徴点、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信装置、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 電話器、932 ファクシミリ機、940 インターネット、941 ゲートウェイ、942 LAN、951 移動台上板、952 移動台中板、953 移動台下板、954〜957 車輪、961 可動台、962 球面状支持体、963 凹状支持体、964 棒状支持体、965 スリット状支持体、966,967 可動柱、968,969 傾斜計、971 回転台、981 短距離レーザ測距装置、982 ミラー、984 長距離レーザ測距装置、986 カメラ、991〜996 ステッピングモータ。

【特許請求の範囲】
【請求項1】
周辺環境の幾何学形状を計測する計測装置の計測結果に基づいて、上記周辺環境の地図を生成する地図生成装置において、
データを処理する処理装置と、形状取得部と、移動量取得部と、形状合成部と、地図生成部とを有し、
上記形状取得部は、上記処理装置を用いて、上記計測装置が計測した計測結果に基づいて、上記周辺環境の幾何学形状を取得し、上記計測装置が第一の位置で計測した計測結果に基づいて取得した幾何学形状を第一形状とし、上記計測装置が上記第一の位置と異なる第二の位置へ移動して計測した計測結果に基づいて取得した幾何学形状を第二形状とし、
上記移動量取得部は、上記処理装置を用いて、上記計測装置が上記第一の位置から上記第二の位置へ移動した移動量を取得し、
上記形状合成部は、上記処理装置を用いて、上記移動量取得部が取得した移動量に基づいて、上記形状取得部が取得した第一形状と第二形状とを重ね合わせて合成し、
上記地図生成部は、上記処理装置を用いて、上記形状合成部が合成した合成結果に基づいて、上記周辺環境の地図を生成することを特徴とする地図生成装置。
【請求項2】
上記地図生成装置は、更に、壁面検出部を有し、
上記壁面検出部は、上記処理装置を用いて、上記形状取得部が取得した第一形状に基づいて、上記周辺環境に存在する壁面を検出し、
上記移動量取得部は、上記処理装置を用いて、上記壁面検出部が検出した壁面に基づいて、上記計測装置が上記第一の位置から上記第二の位置へ移動した移動量のうち、上記壁面と略平行な方向の移動量を取得して、壁面平行移動量とし、
上記形状合成部は、上記処理装置を用いて、上記移動量取得部が取得した壁面平行移動量に基づいて、上記形状取得部が取得した第一形状と第二形状とを重ね合わせて合成することを特徴とする請求項1に記載の地図生成装置。
【請求項3】
上記地図生成装置は、更に、参照方向通知部と、参照距離取得部とを有し、
上記参照方向通知部は、上記処理装置を用いて、上記壁面検出部が検出した壁面に基づいて、上記壁面と略平行な方向を、参照方向として上記計測装置に対して通知し、
上記参照距離取得部は、上記処理装置を用いて、上記参照方向通知部が通知した参照方向に基づいて上記計測装置が計測した上記参照方向に存在する対象までの距離を取得し、上記計測装置が上記第一の位置で計測した距離を第一参照距離とし、上記計測装置が上記第二の位置で計測した距離を第二参照距離とし、
上記移動量取得部は、上記処理装置を用いて、上記参照距離取得部が取得した第一参照距離と第二参照距離との差を算出して、上記壁面平行移動量とすることを特徴とする請求項2に記載の地図生成装置。
【請求項4】
上記地図生成装置は、更に、計測距離取得部を有し、
上記計測距離取得部は、上記処理装置を用いて、上記計測装置が複数の計測方向の各計測方向について計測した上記計測方向に存在する対象までの距離を取得して、複数の計測距離とし、上記計測装置が上記第一の位置で計測した複数の計測距離を複数の第一計測距離とし、上記計測装置が上記第二の位置で計測した複数の計測距離を複数の第二計測距離とし、
上記形状取得部は、上記処理装置を用いて、上記計測距離取得部が取得した複数の計測距離に基づいて、上記周辺環境の幾何学形状を算出し、上記複数の第一計測距離に基づいて算出した幾何学形状を上記第一形状とし、上記複数の第二計測距離に基づいて算出した幾何学形状を上記第二形状とすることを特徴とする請求項1乃至請求項3のいずれかに記載の地図生成装置。
【請求項5】
上記地図生成装置は、更に、計測距離分類部と、部分図形検出部とを有し、
上記計測距離分類部は、上記処理装置を用いて、上記計測距離取得部が取得した複数の計測距離に基づいて、上記複数の計測距離を一以上の計測点群に分類し、
上記部分図形検出部は、上記処理装置を用いて、上記計測距離分類部が分類した一以上の計測点群の各計測点群について、上記計測点群に分類された計測距離によって構成される幾何学図形を検出して、一以上の部分図形とし、
上記形状取得部は、上記処理装置を用いて、上記部分図形検出部が検出した一以上の部分図形に基づいて、上記周辺環境の幾何学形状を算出することを特徴とする請求項4に記載の地図生成装置。
【請求項6】
上記地図生成装置は、更に、連続判定部を有し、
上記連続判定部は、上記処理装置を用いて、上記複数の計測方向の各計測方向について、上記計測方向についての計測距離と、上記計測方向に隣接する計測方向についての計測距離とが連続しているか否かを判定し、
上記計測距離分類部は、上記計測方向についての計測距離と上記計測方向に隣接する計測方向についての計測距離とが連続していると上記連続判定部が判定した場合、上記処理装置を用いて、上記計測方向についての計測距離と、上記計測方向と隣接する計測方向についての計測距離とを同一の計測点群に分類し、上記計測方向についての計測距離と上記計測方向に隣接する計測方向についての計測距離とが連続していないと上記連続判定部が判定した場合、上記処理装置を用いて、上記計測方向についての計測距離と、上記計測方向に隣接する計測方向についての計測距離とを異なる計測点群に分類することを特徴とする請求項5に記載の地図生成装置。
【請求項7】
上記部分図形検出部は、上記処理装置を用いて、ハフ変換により、上記計測点群に分類された計測距離によって構成される幾何学図形を検出することを特徴とする請求項5または請求項6に記載の地図生成装置。
【請求項8】
上記地図生成装置は、更に、特徴抽出部を有し、
上記特徴抽出部は、上記処理装置を用いて、上記形状取得部が取得した幾何学形状に基づいて、上記幾何学形状の特徴を抽出し、上記第一形状に基づいて抽出した特徴を第一特徴とし、上記第二形状に基づいて抽出した特徴を第二特徴とし、
上記形状合成部は、上記処理装置を用いて、上記特徴抽出部が抽出した第一特徴と第二特徴とに基づいて、上記形状取得部が取得した第一形状と第二形状とを重ね合わせて合成することを特徴とする請求項1乃至請求項7のいずれかに記載の地図生成装置。
【請求項9】
上記形状合成部は、上記処理装置を用いて、上記特徴抽出部が抽出した第一特徴と第二特徴との間に一致する部分がある場合に、上記第一特徴と第二特徴とが一致する部分に対応する部分が重なるよう、上記第一形状と第二形状とを重ね合わせて合成することを特徴とする請求項8に記載の地図生成装置。
【請求項10】
上記地図生成装置は、更に、合成方式選択部を有し、
上記合成方式選択部は、上記処理装置を用いて、上記特徴抽出部が抽出した第一特徴と第二特徴とに基づいて、上記移動量取得部が取得した移動量に基づく合成方式と、上記特徴抽出部が抽出した特徴に基づく合成方式ととのなかから合成方式を選択し、
上記形状合成部は、上記処理装置を用いて、上記合成方式選択部が選択した合成方式に基づいて、上記形状取得部が取得した第一形状と第二形状とを重ね合わせて合成することを特徴とする請求項8または請求項9に記載の地図生成装置。
【請求項11】
周辺環境の幾何学形状を計測する計測装置と、請求項1乃至請求項10のいずれかに記載の地図生成装置とを有することを特徴とする地図生成システム。
【請求項12】
上記計測装置は、参照方向取得部と、参照距離計測部と、参照距離通知部とを有し、
上記参照方向取得部は、上記地図生成装置が通知した参照方向を取得し、
上記参照距離計測部は、上記参照方向取得部が取得した参照方向に基づいて、上記参照方向に存在する対象までの距離を計測し、
上記参照距離通知部は、上記第一の位置で上記参照距離計測部が計測した距離を第一参照距離として上記地図生成装置に対して通知し、上記第二の位置で上記参照距離計測部が計測した距離を第二参照距離として上記地図生成装置に対して通知することを特徴とする請求項11に記載の地図生成システム。
【請求項13】
上記計測装置は、更に、参照方向移動部を有し、
上記参照方向移動部は、上記参照方向取得部が取得した参照方向に基づいて、上記参照方向と同一または反対の方向へ上記計測装置を移動することを特徴とする請求項12に記載の地図生成システム。
【請求項14】
上記計測装置は、計測距離計測部を有し、
上記計測距離計測部は、複数の計測方向の各計測方向について、上記計測方向に存在する対象までの距離を計測して、複数の計測距離とし、
上記計測距離通知部は、上記第一の位置で上記計測距離計測部が計測した複数の計測距離を複数の第一計測距離として上記地図生成装置に対して通知し、上記第二の位置で上記計測距離計測部が計測した複数の計測距離を複数の第二計測距離として上記地図生成装置に対して通知することを特徴とする請求項11乃至請求項13のいずれかに記載の地図生成システム。
【請求項15】
データを処理する処理装置を有するコンピュータが実行することにより、上記コンピュータが請求項1乃至請求項10のいずれかに記載の地図生成装置として機能することを特徴とするコンピュータプログラム。
【請求項16】
周辺環境の幾何学形状を計測する計測装置と、上記計測装置の計測結果に基づいて上記周辺環境の地図を生成する地図生成装置とを有する地図生成システムが、上記周辺環境の地図を生成する地図生成方法において、
上記計測装置が、第一の位置で上記周辺環境の幾何学形状を計測し、
上記地図生成装置が、上記計測装置が上記第一の位置で計測した計測結果に基づいて、上記周辺環境の幾何学形状を取得して、第一形状とし、
上記計測装置が、上記第一の位置と異なる第二の位置へ移動し、
上記地図生成装置が、上記計測装置が上記第一の位置から上記第二の位置へ移動した移動量を取得し、
上記計測装置が、上記第二の位置で上記周辺環境の幾何学形状を計測し、
上記地図生成装置が、上記計測装置が上記第二の位置で計測した計測結果に基づいて、上記周辺環境の幾何学形状を取得して、第二形状とし、
上記地図生成装置が、取得した移動量に基づいて、取得した第一形状と第二形状とを重ね合わせて合成し、
上記地図生成装置が、合成した合成結果に基づいて、上記周辺環境の地図を生成することを特徴とする地図生成方法。

【図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


【公開番号】特開2010−54315(P2010−54315A)
【公開日】平成22年3月11日(2010.3.11)
【国際特許分類】
【出願番号】特願2008−219000(P2008−219000)
【出願日】平成20年8月28日(2008.8.28)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】