(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-29
(45)【発行日】2023-10-10
(54)【発明の名称】データ処理装置、移動体装置、データ処理方法、及びデータ処理プログラム
(51)【国際特許分類】
G05D 1/02 20200101AFI20231002BHJP
【FI】
G05D1/02 J
(21)【出願番号】P 2019168956
(22)【出願日】2019-09-18
【審査請求日】2021-09-01
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】伊藤 悠介
(72)【発明者】
【氏名】下山 賢一
【審査官】影山 直洋
(56)【参考文献】
【文献】特開2017-102700(JP,A)
【文献】特開2003-028959(JP,A)
【文献】特開2019-096099(JP,A)
【文献】特開2015-121408(JP,A)
【文献】特開2019-003513(JP,A)
【文献】特開2011-186584(JP,A)
【文献】特開2011-170486(JP,A)
【文献】特開2018-179599(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/02
(57)【特許請求の範囲】
【請求項1】
レーザ反射光を用いた距離算出の精度が一定でない、移動体
のセンサにより、
立体的なスリットによって形成されるパターンを備えたマーカ
に対して、複数のレーザ光を照射し、前記マーカより反射された前記レーザ光を前記センサにて観測
して得られる複数の距離データ
から、前記マーカ
までの距離を夫々算出し、複数の前記距離に基づく基準距離に対し所定の範囲内に含まれるか否かに
応じて前記複数の距離データを符号化する
ことで、前記
立体的なスリットにより形成されたパターンに
係るパターンデータを得るデータ処理部と、
前記パターンデータに基づいて、前記移動体の運行情報を取得する取得部と、
を備えるデータ処理装置。
【請求項2】
前記運行情報は、前記移動体の進入が禁止されるエリアを特定する情報を備える、請求項1に記載のデータ処理装置。
【請求項3】
前記符号化は多値化である、請求項1に記載のデータ処理装置。
【請求項4】
前記多値化は二値化である、請求項3に記載のデータ処理装置。
【請求項5】
前記複数の距離データを符号化することは、
複数の前記距離に基づく前記基準距離に応じて前記複数の距離データに対して正規化を行い、
複数の前記距離に基づく前記基準距離
に対し前記所定の範囲内に含まれるか否かにより前記正規化により得られる前記複数の距離データを符号化することを備える、請求項1乃至4のいずれか1項に記載のデータ処理装置。
【請求項6】
前記正規化は少なくともデータ補間又はデータ間引きの一方を含む、請求項5に記載のデータ処理装置。
【請求項7】
前記
データ処理部は
、複数の
前記距離に基づいて
前記移動体と前記マーカ
との間の距離を
前記基準距離として算出
し、前記基準距離に対し前記所定の範囲内に含まれるか否かに
応じて前記複数の距離データを符号化す
る、
請求項1乃至4のいずれか1項に記載のデータ処理装置。
【請求項8】
前記取得部は
、前記パターンデータで前記移動体の運行情報のセットを格納するマーカデータベースを参照することにより、前記パターンに対応する前記移動体の運行情報を取得する、請求項1乃至7のいずれか1項に記載のデータ処理装置。
【請求項9】
前記マーカは前記マーカであることを示す識別子を前記パターンに備える、請求項1乃至8のいずれか1項に記載のデータ処理装置。
【請求項10】
取得された前記移動体の運行情報に基づいて、前記移動体を制御する移動体制御部をさらに備える請求項1乃至9のいずれか1項に記載のデータ処理装置。
【請求項11】
取得された前記移動体の運行情報を他の移動体又は上位システムに通信する通信部をさらに備える請求項1乃至10のいずれか1項に記載のデータ処理装置。
【請求項12】
取得された前記移動体の運行情報を提示する提示部をさらに備える請求項1乃至11のいずれか1項に記載のデータ処理装置。
【請求項13】
請求項1乃至
12のいずれか1項に記載のデータ処理装置と、
前記移動体と、
前
記センサと、
を備える移動体装置。
【請求項14】
コンピュータが実行するデータ処理方法であって、
レーザ反射光を用いた距離算出の精度が一定でない、移動体
のセンサにより、
立体的なスリットによって形成されるパターンを備えたマーカ
に対して、複数のレーザ光を照射し、前記マーカより反射された前記レーザ光を前記センサにて観測
して得られる複数の距離データ
から、前記マーカ
までの距離を夫々算出し、複数の前記距離に基づく基準距離に対し所定の範囲内に含まれるか否かに
応じて前記複数の距離データを符号化する
ことで、前記
立体的なスリットにより形成されたパターンに
係るパターンデータを得ることと、
前記パターンデータに基づいて、前記移動体の運行情報を取得することと、
を備えるデータ処理方法。
【請求項15】
レーザ反射光を用いた距離算出の精度が一定でない、移動体
のセンサにより、
立体的なスリットによって形成されるパターンを備えたマーカ
に対して、複数のレーザ光を照射し、前記マーカより反射された前記レーザ光を前記センサにて観測
して得られる複数の距離データ
から、前記マーカ
までの距離を夫々算出し、複数の前記距離に基づく基準距離に対し所定の範囲内に含まれるか否かに
応じて前記複数の距離データを符号化する
ことで、前記
立体的なスリットにより形成されたパターンに
係るパターンデータを得る手段、及び
前記パターンデータに基づいて、前記移動体の運行情報を取得する手段
としてコンピュータを機能させるためのデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、データ処理装置、移動体装置、データ処理方法、及びデータ処理プログラムに関する。
【背景技術】
【0002】
レーザレンジファインダ(Laser Range Finder;LRF)を備えた移動体装置は、その周囲環境を計測することができる。LRFは、検出波を走査しながら出射するとともに該検出波の反射波を検出することにより環境を計測する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
LRFのノイズ又は距離精度の影響によりLRFで細かな形状変化を捉えることは困難である。
【0005】
本発明が解決しようとする課題は、LRFのノイズ又は距離精度に影響されることなく、LRFで得られた観測データから環境に設けられたパターンを検出できるデータ処理装置、方法、及びプログラム、並びに、前記データ処理装置を備えた移動体装置を提供することである。
【課題を解決するための手段】
【0006】
一実施形態に係るデータ処理装置はデータ処理部及び取得部を備える。データ処理部は、レーザ反射光を用いた距離算出の精度が一定でない、移動体のセンサにより、立体的なスリットによって形成されるパターンを備えたマーカに対して、複数のレーザ光を照射し、前記マーカより反射された前記レーザ光を前記センサにて観測して得られる複数の距離データから、前記マーカまでの距離を夫々算出し、複数の前記距離に基づく基準距離に対し所定の範囲内に含まれるか否かに応じて前記複数の距離データを符号化することで、前記立体的なスリットにより形成されたパターンに係るパターンデータを得る。取得部は、前記パターンデータに基づいて、前記移動体の運行情報を取得する。
【図面の簡単な説明】
【0007】
【
図1】第1の実施形態に係る移動体システムを示すブロック図。
【
図2B】
図2Aに示したマーカのマーカ面が1つの平面で構成される例を示す上面図。
【
図2C】
図2Aに示したマーカのマーカ面が複数の平面で構成される例を示す上面図。
【
図3A】
図1に示したマーカの他の例を示す上面図。
【
図3B】
図1に示したマーカのさらなる例を示す上面図。
【
図4】
図1に示したマーカのさらに他の例を示す正面図。
【
図5A】
図1に示した観測データ処理部が行う観測データの正規化を説明する図。
【
図5B】
図1に示した観測データ処理部が行う観測データの正規化を説明する図。
【
図5C】
図1に示した観測データ処理部が行う観測データの正規化を説明する図。
【
図6A】
図1に示した観測データ処理部が行う観測データの符号化を説明する図。
【
図6B】
図1に示した観測データ処理部が行う観測データの符号化を説明する図。
【
図6C】
図1に示した観測データ処理部が行う観測データの符号化を説明する図。
【
図7】
図1に示したデータ処理装置により実行されるデータ処理方法を示すフローチャート。
【
図8】第2の実施形態に係る移動体システムを示すブロック図。
【
図10】
図8に示したマーカの他の例を示す正面図。
【
図11】
図8に示したデータ処理装置により実行されるデータ処理方法を示すフローチャート。
【
図12】第3の実施形態に係る移動体システムを示すブロック図。
【
図13】一実施形態に係るコンピュータのハードウェア構成例を示すブロック図。
【発明を実施するための形態】
【0008】
以下、図面を参照しながら実施形態を説明する。
【0009】
(第1の実施形態)
図1は、第1の実施形態に係る移動体システム100の構成例を概略的に示している。
図1に示すように、移動体システム100は、移動体装置110、データ処理装置120、及びマーカデータベース(DB)130を備える。以下では、移動体装置を単に移動体と称する。
【0010】
移動体110は、例えば移動ロボットなどの移動能力のある装置である。移動体110は、移動機構を含む本体と、移動体110を制御する移動体制御部と、本体に取り付けられた距離センサとしてのレーザレンジファインダ(LRF)111と、LRF111を制御するLRF制御部112と、を備える。移動機構はいかなる種類のものであってもよい。移動体110は、車輪で移動する装輪型移動体、キャタピラで移動する装軌型移動体、又は2以上の足で歩行する歩行型移動体であってよい。また、移動体110は飛行体装置であってもよい。
【0011】
移動体制御部は、データ処理装置120により取得された移動体110の運行情報に基づいて、移動体110を制御する。運行情報は移動体の運行に関わる情報を指す。例えば、移動体制御部は、データ処理装置120により取得された移動体110の運行情報に従って移動機構を制御する。
【0012】
LRF111は、レーザビームを使用して移動体110の周囲環境を観測して、観測データを生成する。環境にはマーカ150が配置される。マーカ150は、面上で反射特性の異なるパターンである反射特性パターン151を備える。マーカ150は反射特性パターン151に移動体110の運行情報を保持する。
【0013】
本実施形態では、LRF111として一次元走査LRFを使用する。一例として、LRF111は、光源、ミラー、及び光検出器を備える。光源は一定の時間間隔でレーザパルスを発生させ、レーザパルスはミラーで反射されてLRF111から出る。LRF111は、単一の回転軸周りにミラーを回転させることでレーザパルスを扇状に照射する。光検出器は環境中の目標物により反射されたレーザパルスを検出する。LRF111は、例えばToF(Time of Flight)法に基づいて、目標物までの距離を決定する。観測データは、例えば、回転角(レーザパルスの出射方向を表す)と距離とのセットを複数含む。
【0014】
LRF111は本体の前方部分に配置される。なお、LRF111の配置は本体の前方部分に限らない。LRF111は本体の後方部分又は側方部分に配置されてもよい。LRF111はマーカ150の反射特性パターン151を検出できる高さに配置される。LRF111が水平面内にレーザ光を走査するように配置される場合、LRF111はマーカ150と同じ高さに配置される。ただし、LRF111の高さ位置がマーカ150の高さ位置と一致する必要はない。例えば、LRF111は水平面に対して傾けて配置されてよい。
【0015】
また、LRF111は観測できる距離の範囲(最小及び最大)がハードウェアごとに決まっている。LRF111は観測できる距離の範囲内に目標物があった場合、目標物までの距離を取得することができる。一方で、観測できる最小の距離より近傍に目標物があるもしくは最大の距離までに目標物が無い場合、LRF111はハードウェアごとに固有の値を取得する。固有の値は、例えば、LRF111が取得できない距離であり得る。例えば、最大距離が20[m]の場合、固有の値は21[m]であってよい。
【0016】
LRF111が一次元の水平走査のLRFである例について説明するが、本実施形態はこれに限定するものではなく、二次元走査のLRFを使用してもよい。また、二次元走査のLRFの代わりに複数台の一次元走査のLRFを使用してもよい。
【0017】
LRF制御部112はLRF111による観測の開始及び終了を制御する。さらに、LRF制御部112はLRF111により生成された観測データをデータ処理装置120へ出力する。具体的には、LRF制御部112は、図示しない通信インタフェースを通じてデータ処理装置120に観測データを送信する。移動体110とデータ処理装置120との間の通信は一般に知られた通信方法により実施されてよい。例えば、移動体110とデータ処理装置120との間の通信は無線通信と有線通信のいずれであってもよい。LRF制御部112は移動体制御部の一部であってよい。
【0018】
データ処理装置120は、LRF制御部112から観測データを取得し、取得した観測データに基づいてマーカデータベース130から移動体110の運行情報を取得する。データ処理装置120は、取得した運行情報を移動体制御部へ出力する。
【0019】
データ処理装置120は、観測データ処理部121及びデコード部(取得部ともいう)122を備える。LRF制御部112からの観測データは観測データ処理部121に入力される。観測データ処理部121は、マーカ150までの距離に応じて、観測データに対してデータ処理を行う。マーカ150までの距離はLRF111又は移動体110とマーカ150との間の距離を指す。データ処理の内容については後述する。
【0020】
デコード部122は、観測データに対するデータ処理により得られたデータを観測データ処理部121から受け取る。デコード部122は、受け取ったデータに基づいて、移動体110の運行情報を取得する。例えば、デコード部122は、受け取ったデータでマーカデータベース130を参照することにより、移動体110の運行情報を取得する。
【0021】
マーカデータベース130は移動体110の運行情報のセットを格納する。運行情報としては、進入禁止エリア情報、速度制限エリア情報、一方通行エリア情報、片側通行エリア情報、人間作業有無情報、移動体有無情報、絶対位置情報などがある。進入禁止エリア情報は進入禁止エリアを特定する情報を含む。速度制限エリア情報は、速度制限が課されるエリアを特定する情報と、上限速度を示す情報と、を含む。一方通行エリア情報は、一方通行エリアを特定する情報と、通行可能な方向を示す情報と、を含む。片側通行エリア情報は片側通行エリアを特定する情報を含む。人間作業有無情報は人間が周辺で作業を行っているか否かを示す情報を含む。移動体有無情報は他の移動体が周辺に存在するか否かを示す情報を含む。絶対位置情報はマーカ150の設置場所の絶対位置を示す情報を含む。
【0022】
本実施形態では、マーカデータベース130は、数値に関連付けて運行情報を格納する。例えば、進入禁止エリア情報が1~20に関連付けられ、速度制限エリア情報が21~40に関連付けられ、一方通行エリア情報が41~60に関連付けられ、片側通行エリア情報が61~80に関連付けられ、人間作業有無情報が81~100に関連付けられ、移動体有無情報が101~120に関連付けられ、絶対位置情報が121~140に関連付けられる。例えば、デコード部122は、観測データ処理部121から受け取ったデータをデコードし、デコード結果である数値に関連付けられた運行情報をマーカデータベース130から取得する。
【0023】
図1に示す例では、データ処理装置120は移動体110から分離している。しかしながら、データ処理装置120は移動体110に設けられていてもよい。例えば、データ処理装置120は移動体制御部に含まれてよい。マーカデータベース130もまた移動体110に設けられていてもよい。
【0024】
次に、マーカ150について説明する。
【0025】
上述したように、マーカ150は反射特性パターン151を有する。反射特性パターン151はマーカ150の面(以下では、マーカ面と称する)上での反射特性の違いによって形成される。具体的には、マーカ150は、LRF111からのレーザ光がマーカ面の第1領域で反射したものがLRF111で検出されるが、LRF111からのレーザ光がマーカ面の第2領域で反射したものがLRF111で検出されないように、異なる反射特性を有する第1領域及び第2領域をマーカ面に含む。一例では、反射特性パターン151は、LRF111のレーザ光を反射する材料(例えばアルミニウム)でスリットを有する形状にマーカ150を作製することにより実現される。他の例では、反射特性パターン151は、LRF111のレーザ光を反射する材料でマーカ150を作製して液晶又はレーザ吸収材をマーカ面に設けることにより実現される。
【0026】
図2Aは、一実施形態に係るマーカ200を概略的に示す正面図である。
図2Aに示すマーカ200は
図1に示したマーカ150の一例である。マーカ200は、LRF111からのレーザ光を反射する材料で作製され、複数のスリット202を有する。
図2Aにおいて、破線はレーザ光の走査経路を表す。
【0027】
マーカが
図2Bに示すように平面の形状で構成される例について説明しているが、マーカは
図2Cに示すように複数の平面で構成されていてもよい。また、マーカの形状は
図2Aに示すようなマーカ面が平面である形状に限らない。
図3A及び
図3Bは、実施形態に係るマーカ300、310を概略的に示す上面図である。
図3A及び
図3Bに示すマーカ300、310は
図1に示したマーカ150の例である。
図3Aに示すマーカ300では、マーカ面は曲面であり、反射特性パターンがスリット302によって形成される。
図3Bに示すマーカ310では、マーカ面は直交する2つの平面を組み合わせたものであり、反射特性パターンがスリット312によって形成される。
【0028】
図4は、一実施形態に係るマーカ400を概略的に示す正面図である。
図4に示すマーカ400は
図1に示したマーカ150の一例である。
図4に示すように、マーカ400は、スリット402によって形成される二次元の反射特性パターンを有する。二次元の反射特性パターンは、二次元走査LRF又は複数台の一次元走査LRFを用いて検出することが可能である。二次元の反射特性パターンを使用することで、より多くの情報を反射特性パターンに含めることが可能になる。
【0029】
図5Aから
図6Cを参照して、データ処理装置120について説明する。
【0030】
観測データ処理部121は、LRF111で得られた観測データに対してマーカ150までの距離に応じてデータ処理を行う。データ処理は、観測データのノイズ除去、マーカ150である可能性のある面(以下、マーカ面候補と称する)の検出、観測データの正規化、及び観測データの二値化(符号化)などを含む。
【0031】
観測データ処理部121は、例えば観測データにメディアンフィルタを適用することにより、観測データのノイズを除去する。ノイズ除去は他の手法で実行されてもよい。
【0032】
観測データ処理部121は、ノイズ除去を施した観測データに対して、ハフ変換を使用して直線検出を行い、マーカ面候補を検出する。これにより、
図2Aに示すような直線形状のマーカ面を検出することができる。直線検出は他の手法で実行されてもよい。
図3A又は
図3Bに示すような二次元的なマーカ面を検出する場合には、ハフ変換又は他の適した検出アルゴリズムで検出を行う。
【0033】
複数のマーカ面候補が検出された場合には、観測データ処理部121は、それぞれのマーカ面候補に関して、マーカである可能性の高さを算出して、処理を行う優先順位を決めてもよい。マーカである可能性の高さは、例えば、マーカの長さなどのマーカの形状情報とマーカ面候補の形状とに基づいて算出することができる。マーカである可能性の高さは他の手法で算出されてもよい。
【0034】
観測データ処理部121は、ノイズ除去を施した観測データからマーカ面候補に対応する観測データを抽出し、抽出した観測データを正規化する。
【0035】
一例では、観測データ処理部121は、まず、抽出した観測データにより示される距離の少なくとも1つに基づいて、マーカ150までの距離を算出する。例えば、観測データ処理部121は、マーカ面候補の中心に最も近いデータ点により示される距離をマーカ150までの距離とする。また、観測データ処理部121は、抽出した観測データにより示される距離の平均値をマーカ150までの距離として算出してもよい。続いて、観測データ処理部121は、算出したマーカ150までの距離に応じて、抽出した観測データに対してデータ補間又はデータ間引きを行う。レーザパルスを扇状に照射する場合、マーカがLRF111から遠くにあるほど、観測データから抽出されるマーカ面候補に対応するデータ点は少なくなる。観測データ処理部121は、算出したマーカ150までの距離が大きいときにデータ補間を行い、算出したマーカ150までの距離が小さいときにデータ間引きを行う。これにより、マーカ面候補に対応する観測データは、マーカ150がLRF111から基準距離離れたときに得られるものと同等のデータに変換される。
【0036】
図5Aは、LRF111で
図2Aに示したマーカ200を観測することにより得られる観測データを概略的に示している。
図5Aにおいて、横軸は回転角を示し、縦軸は距離を示す。黒丸はマーカ面に対応する観測データを表す。マーカ200のスリット202に対応する観測データはより大きい距離を示すため、マーカ200のスリット202に対応する観測データは
図5Aには示されていない。白丸はデータ補間により追加された仮想のデータ点を表す。
図5B及び
図5Cは、観測データを基準距離から観測したデータに正規化する例を示している。
図5Bでは、LRF111から0.5[m]の距離から観測したデータを基準距離から観測したデータに正規化する例を示しており、観測したデータを間引きすることで基準距離1[m]から観測したデータに正規化する。
図5Cでは、LRF111から0.75[m]の距離から観測したデータを基準距離1[m]から観測したデータに正規化する例を示しており、観測したデータを間引き及び補間することで基準距離1[m]から観測したデータに正規化する。
【0037】
他の例では、観測データ処理部121は、観測データから検出されたマーカ面候補のLRF111に対しての姿勢を算出し、算出した姿勢に基づいて、マーカ面候補に対応する観測データを、LRF111が正面でマーカ150を観測したときに得られるものと同等のデータに変換する。
【0038】
本実施形態では、観測データ処理部121は、上述したマーカ150までの距離を用いた正規化と姿勢を用いた正規化との両方を行う。LRF111が移動体110に対して傾けて配置される場合は、観測データ処理部121は、傾き角に応じてマーカ面候補に対応する観測データの距離データを補正してよい。
【0039】
観測データ処理部121は、正規化を施した観測データを二値化または多値化を行い、観測データを符号化する。例えば、観測データ処理部121は、正規化を施した観測データにより示される各距離が所定範囲内に含まれるか否かに基づいて、正規化を施した観測データを符号化する。
図6Aは、マーカを一つの平面で構成した場合の符号化を示す。この場合、観測データの距離の値が基準距離から閾値内である場合と無い場合で観測データを二値化する。また、
図6Bは、マーカを2つの平面で構成した場合の符号化を示す。この場合、観測データの距離の値が基準距離1から閾値内にある場合、基準距離2から閾値内にある場合、どちらの閾値内にも観測データが無い場合で観測データを多値化(三値化)する。多値化の方法としては、他にも、1つの基準位置に対して複数の閾値を設定し、どの閾値内に観測データがあるかで多値化を行う方法や、観測データの距離の値が基準距離から閾値内である場合、範囲外だが有限の距離の値である場合、LRF111のハードウェアごとの固有の値である場合で観測データを多値化する方法などがある。しかし、多値化の方法はこれらに限定されるものではない。
【0040】
以下では、観測データを基準距離から閾値内である場合と無い場合で二値化する方法を想定して述べていくが、実施形態はこれに限定するものではない。観測データの距離の値で二値化する際、スリットなどで反射が得られなかったときに取得されるLRF111のハードウェアごとの固有の値は、基準距離から閾値内に観測データが無いとして二値化を行う。多値化する際も、同様にそれぞれの閾値内に観測データが無いとして多値化を行う。しかし、符号化の実施形態はこれに限定するものではない。
【0041】
図6Cに示すように、観測データ処理部121は、距離が所定範囲内に含まれる場合にその距離を1に変換し、距離が所定範囲内に含まれない場合にその距離を0に変換する。所定範囲は、算出したマーカ150までの距離から閾値を引いた値から算出したマーカ150までの距離に閾値を加えた値までであり得る。
【0042】
このようにして、観測データ処理部121は、観測データを二値データに変換し、二値データをデコード部122へ出力する。
【0043】
デコード部122は、観測データ処理部121から二値データを受け取り、受け取った二値データを、マーカデータベース130を参照するための形(本実施形態では数値)に変換する。デコード部122は、変換により得られた数値でマーカデータベース130を参照することにより、移動体110の運行情報を取得する。一例では、デコード部122は、二値データを10進数に変換する。例えば、デコード部122は、データ“10110001”を変換して“71”を得る。他の例では、デコード部122は、二値データの“1”の数を求める。例えば、デコード部122は、データ“10110001”から“4”を得る。デコード部122は、得られた数値をキーとして使用し、マーカデータベース130から移動体110の運行情報をハッシュ値として得る。
【0044】
デコード部122が観測データ処理部121から出力された二値データに基づいて移動体110の運行情報を取得する方法は上述した例に限定されない。
【0045】
図7は、データ処理装置120により実行されるデータ処理の手順例を概略的に示している。
図7に示すように、観測データ処理部121は、移動体110に設けられたLRF111でマーカ150を観測することにより得られた観測データを取得する(ステップS701)。
【0046】
続いて、観測データ処理部121は、観測データに対して、マーカ150までの距離に応じてデータ処理を行う。例えば、観測データ処理部121は、まず、観測データのノイズを除去する(ステップS702)。続いて、観測データ処理部121は、ノイズ除去を施した観測データからマーカ面候補を検出する(ステップS703)。観測データ処理部121は、ノイズ除去を施した観測データからマーカ面候補に対応する観測データを抽出し、抽出した観測データに基づいて、マーカ150までの距離とLRF111に対するマーカ面候補の姿勢とを算出する(ステップS704)。観測データ処理部121は、算出した距離及び姿勢に応じて、抽出した観測データを正規化する(ステップS705)。例えば、観測データ処理部121は、算出した姿勢に応じて、抽出した観測データを修正し、算出した距離に応じて、修正した観測データに対してデータ補間又はデータ間引きを行う。さらに、観測データ処理部121は、正規化を施した抽出した観測データにより示される各距離が所定範囲内に含まれるか否かに基づいて、正規化を施した抽出した観測データを二値化する(ステップS706)。所定範囲は、算出したマーカ150までの距離に基づいて決定される。
【0047】
デコード部122は、観測データ処理部121から出力されたデータでマーカデータベース130を参照することにより、移動体110の運行情報を取得する(ステップS707)。
【0048】
このようにして、データ処理装置120は、マーカ150の反射特性パターン151に対応する移動体110の運行情報を取得する。
【0049】
以上のように、移動体システム100は、反射特性パターン151を有するマーカ150をLRF111で観測し、複数点までの距離を含む観測データを得る。データ処理装置120は、観測データに含まれる距離に基づいて反射特性パターン151を検出し、その検出結果に基づいて移動体110の運行情報を取得する。例えば、反射特性パターン151はマーカ150に設けられたスリットにより形成される。この場合、観測データに含まれる距離はマーカ本体とスリットとで大きく異なる。このため、LRF111のノイズ又は距離精度に影響されることなく、反射特性パターン151を検出することが可能となる。このように距離データに基づいてパターン検出を行うことにより、反射特性パターン151を正確に検出することができる。この結果、反射特性パターン151に対応する運行情報を正確に取得することができるようになる。また、反射特性パターン151を細かな形状にすることができるため、様々な運行情報を取得することが可能になる。
【0050】
(第2の実施形態)
図8は、第2の実施形態に係る移動体システム800を概略的に示している。
図8において、
図1に示した部分と同じ部分に同じ符号を付して、それらについての説明を省略する。
図8に示すように、移動体システム800は、移動体110、データ処理装置820、及びマーカデータベース130を備える。データ処理装置820は、観測データ処理部821及びデコード部122を備える。
【0051】
移動体110が移動する環境には、反射特性パターン851を有するマーカ850が配置される。マーカ850は、移動体110の運行情報と、マーカであることを示すマーカ識別子と、を反射特性パターン851に有する。言い換えると、反射特性パターン851は、移動体110の運行情報に対応する部分(運行情報パターン)と、マーカ識別子に対応する部分(識別子パターン)と、有する。
【0052】
図9は、第2の実施形態に係るマーカ900を概略的に示す正面図である。
図9に示すマーカ900は、
図8に示したマーカ850の一例である。マーカ900は、LRF111からのレーザ光を反射する材料で作製され、スリット902-1~902-7によって形成される反射特性パターンを有する。反射特性パターンは、識別子パターン912、913と、識別子パターン912、913間の運行情報パターン911と、を含む。運行情報パターン911はスリット902-3、902-4、902-5によって形成され、識別子パターン912はスリット902-1、902-2によって形成され、識別子パターン913はスリット902-6、902-7によって形成される。
【0053】
図10は、第2の実施形態に係るマーカ1000を概略的に示す正面図である。
図10に示すマーカ1000は、
図8に示したマーカ850の一例である。マーカ1000は、スリット1002-1~1002-8によって形成される二次元の反射特性パターンを有する。反射特性パターンは、識別子パターン1012、1013と、識別子パターン1012、1013間の運行情報パターン1011と、を含む。運行情報パターン1011はスリット1002-3~1002-6によって形成され、識別子パターン1012はスリット1002-1、1002-2によって形成され、識別子パターン1013はスリット1002-7、1002-8によって形成される。
【0054】
上述した例では、識別子パターンが反射特性パターンの両端に位置するが、識別子パターンの配置はこれに限定されない。識別子パターンは反射特性パターン内のいずれの場所に設けられてもよい。識別子パターンは1つであってもよい。
【0055】
観測データ処理部821が第1の実施形態に係る観測データ処理部121と異なる点はマーカ面候補の検出にある。観測データ処理部821は、ノイズ除去を施した観測データに対して、ハフ変換を使用して直線検出を行い、マーカ面候補を検出する。観測データ処理部821は、検出されたマーカ面候補に対応する観測データに対して識別子検出を行う。識別子検出は、例えば、マーカ面候補の両端に所定のパターンに対応するデータがあるか否かにより行う。これにより、マーカ面を正しく検出できたか否かを判定することが可能となる。例えば、壁などの構造物を誤検出した場合に、壁などの構造物に対応するマーカ面候補を除去することが可能となる。複数のマーカ面候補が検出された場合には、観測データ処理部821は、それぞれのマーカ面候補に対して識別子検出を行う。これにより、誤検出なく、マーカ面を正しく検出することができる。
【0056】
図11は、データ処理装置820により実行されるデータ処理の手順例を概略的に示している。
図11において、
図7に示した処理と同じ処理に同じ符号を付して、それらについての説明を省略する。
【0057】
図11に示すデータ処理手順は、
図7に示したデータ処理手順に識別子検出を追加したものである。識別子検出は、マーカ面候補の検出(ステップS703)とセンサまでの距離及びマーカ面の姿勢の算出(ステップS704)との間に追加される。観測データ処理部821はマーカ面候補の検出を行う(ステップS703)。次に、観測データ処理部821は、マーカ面候補に対応する観測データに対して識別子検出を行う(ステップS1101)。観測データ処理部821は、識別子が検出されたマーカ面候補に対応する観測データに対して、ステップS704~S707の処理を行う。
【0058】
以上のように、第2の実施形態では、マーカ850が反射特性パターン851にマーカ識別子852を含み、データ処理装置820は、検出したマーカ面候補に対して識別子検出を行う。これにより、マーカ面候補がマーカ850に対応するものか否かを判別することが可能となり、マーカ面を正しく検出することができるようになる。
【0059】
(第3の実施形態)
図12は、第3の実施形態に係る移動体システム1200を概略的に示している。
図12において、
図1及び
図3に示した部分と同じ部分に同じ符号を付して、それらについての説明を省略する。
【0060】
図12に示すように、移動体システム1200は、移動体1210、データ処理装置820、マーカデータベース130、移動体1270、及び上位システム1280を備える。移動体1210は、LRF111、LRF制御部112、移動体制御部1213、通信部1214、及び情報提示部1215を備える。
【0061】
移動体制御部1213は、移動体1210を制御する。移動体制御部1213は、データ処理装置820から運行情報を取得し、取得した運行情報に基づいて移動体110を制御する。制御は、移動経路の変更、移動速度の変更、移動の停止、通信部1214を通じた移動体1270への通信、通信部1214を通じた上位システム1280への通信、情報提示部1215を通じた情報の提示、移動体1270が保持する周囲環境情報の更新、移動体1270が保持する現在の自己位置の更新などを含む。移動体制御部1213はこれら以外の制御を行ってもよい。
【0062】
情報提示部1215は、移動体制御部1213から受け取った情報を提示する。情報提示部1215は、データ処理装置820から取得された運行情報を提示してよい。情報提示部1215は、データ処理装置820での運行情報の取得が成功したか否かを示す情報を提示してよい。情報提示部1215は、ディスプレイ装置又はスピーカを含むが、これらに限定されない。情報提示方法は、画像、映像、音、音声などを含むが、これらに限定されない。情報提示部1215を配置する位置としては、LRF111の周囲環境の計測を遮らない位置であれば、移動体本体の前方部分、後方部分、側方部分などのいずれであってもよい。
【0063】
通信部1214は、移動体1270及び上位システム1280などの外部装置と通信する。通信部1214は、データ処理装置820から取得した運行情報を移動体1270及び上位システム1280に通信する。移動体1210と移動体1270又は上位システム1280との間の通信の方法は一般に知られている方法であってよい。
【0064】
移動体1270は、移動機構を含む本体、移動体制御部、及び通信部を備える。移動機構はいかなる種類のものであってもよい。移動体1270は、車輪で移動する装輪型移動体、キャタピラで移動する装軌型移動体、又は2以上の足で歩行する歩行型移動体であってよい。また、移動体1270は飛行体であってもよい。
【0065】
通信部は、移動体1210及び上位システム1280などの外部装置と通信する。通信部は、移動体1210から運行情報を受信する。移動体制御部は、移動体1210から受信された運行情報に基づいて移動体1270を制御する。制御は、移動経路の変更、移動速度の変更、移動の停止、移動体1270が保持する周囲環境情報の更新などを含む。
【0066】
上位システム1280は、移動体1210などの移動体及び環境内に存在する他の装置を管理する。上位システム1280は、例えば、移動体が移動する環境に関する情報、移動体の運行状況に関する情報、環境内に存在する他の装置の稼働状況に関する情報を保持する。上位システム1280は、移動体1210などの移動体から、運行情報及び観測データなどの情報を受信し、受信した情報で自身が保持している情報を更新する。
【0067】
上位システム1280は、移動体から取得した情報に基づいて移動体を制御してよい。例えば、上位システム1280は、移動体が保持する環境情報の更新、移動体の停止、移動体の移動経路の変更などの制御を行う。上位システム1280は、必要に応じて移動体を制御する。例えば、上位システム1280は、移動体の運行状況及び/又は他の装置の稼働状況に基づいて制御の要否を判断する。例えば、上位システム1280は、ある移動体を停止させるべきと判断した場合には、移動を停止するようにその移動体に指示する。
【0068】
以上のように、移動体1210は、データ処理装置820により取得された運行情報を移動体1270及び上位システム1280に送信する。これにより、システム内の移動体を統括的に制御することが可能となる。
【0069】
各実施形態に関して上述した処理は、コンピュータに搭載された汎用ハードウェアなどの処理回路(processing circuitry)により実現され得る。
【0070】
図13は、一実施形態に係るコンピュータ1300のハードウェア構成の一例を例示する。
図13に示すように、コンピュータ1300は、ハードウェアとして、CPU(Central Processing Unit)1301、RAM(Random Access Memory)1302、プログラムメモリ1303、補助記憶装置1304、通信インタフェース1305、入出力インタフェース1306、及びバス1307を備える。CPU1301は、バス1307を介して、RAM1302、プログラムメモリ1303、補助記憶装置1304、通信インタフェース1305、及び入出力インタフェース1306と通信する。
【0071】
CPU1301は、汎用ハードウェアプロセッサの一例である。RAM1302は、ワーキングメモリとしてCPU1301に使用される。RAM1302は、SDRAM(Synchronous Dynamic Random Access Memory)などの揮発性メモリを含む。プログラムメモリ1303は、データ処理プログラムを含む種々のプログラムを記憶する。プログラムメモリ1303として、例えば、ROM(Read-Only Memory)、補助記憶装置1304の一部、又はその組み合わせが使用される。補助記憶装置1304は、データを非一時的に記憶する。補助記憶装置1304は、ハードディスクドライブ(HDD)又はソリッドステートドライブ(SSD)などの不揮発性メモリを含む。補助記憶装置1304は、各種データを非一時的に記憶する。補助記憶装置1304はマーカデータベース130を備えてよい。
【0072】
通信インタフェース1305は、外部の通信装置(例えば移動体110)と通信するためのインタフェースである。通信インタフェース1305は、例えば、無線LAN(Local Area Network)モジュールなどの無線モジュールを備える。入出力インタフェース1306は、入力装置及び出力装置を接続するための複数の端子を備える。入力装置の例は、キーボード、マウス、マイクロフォンなどを含む。出力装置の例は、表示装置、スピーカなどを含む。
【0073】
プログラムメモリ1303に記憶されている各プログラムはコンピュータ実行可能命令を含む。プログラム(コンピュータ実行可能命令)は、CPU1301により実行されると、CPU1301に所定の処理を実行させる。例えば、データ処理プログラムは、CPU1301により実行されると、CPU1301に観測データ処理部及びデコード部に関して説明された一連の処理を実行させる。
【0074】
プログラムは、コンピュータで読み取り可能な記憶媒体に記憶された状態でデータ処理装置120に提供されてよい。この場合、例えば、データ処理装置120は、記憶媒体からデータを読み出すドライブ(図示せず)をさらに備え、記憶媒体からプログラムを取得する。記憶媒体の例は、磁気ディスク、光ディスク(CD-ROM、CD-R、DVD-ROM、DVD-Rなど)、光磁気ディスク(MOなど)、半導体メモリを含む。また、プログラムを通信ネットワーク上のサーバに格納し、データ処理装置120が通信インタフェース1305を使用してサーバからプログラムをダウンロードするようにしてもよい。
【0075】
実施形態において説明される処理は、CPU1301などの汎用プロセッサがプログラムを実行することにより行われることに限らず、ASIC(Application Specific Integrated Circuit)などの専用プロセッサにより行われてもよい。ここで使用する処理回路(processing circuitry)という語は、少なくとも1つの汎用ハードウェアプロセッサ、少なくとも1つの専用ハードウェアプロセッサ、又は少なくとも1つの汎用ハードウェアプロセッサと少なくとも1つの専用ハードウェアプロセッサとの組み合わせを含む。
図13に示す例では、CPU1301、RAM1302、及びプログラムメモリ1303が処理回路に相当する。
【0076】
なお、データ処理装置(例えばデータ処理装置120)は1つのコンピュータ(情報処理装置)により実施されることに限定されない。データ処理装置は複数のコンピュータにより実施されてもよい。例えば、データ処理装置は、観測データ処理部(例えば観測データ処理部121)として機能するコンピュータと、デコード部122として機能するコンピュータと、で構成されてよい。
【0077】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0078】
100…移動体システム、110…移動体装置、111…レーザレンジファインダ(LRF)、112…LRF制御部、120…データ処理装置、121…観測データ処理部、122…デコード部、130…マーカデータベース、150…マーカ、151…反射特性パターン、200、300、310、400…マーカ、202、302、312、402…スリット、800…移動体システム、820…データ処理装置、821…観測データ処理部、850…マーカ、851…反射特性パターン、852…マーカ識別子、900、1000…マーカ、902、1002…スリット、911、1011…運行情報パターン、912、913、1012、1013…識別子パターン、1200…移動体システム、1210…移動体、1213…移動体制御部、1214…通信部、1215…情報提示部、1270…移動体、1280…上位システム、1300…コンピュータ、1301…CPU、1302…RAM、1303…プログラムメモリ、1304…補助記憶装置、1305…通信インタフェース、1306…入出力インタフェース、1307…バス。