(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-11
(45)【発行日】2024-03-19
(54)【発明の名称】測定装置、情報処理装置、位置合わせ方法、及びプログラム
(51)【国際特許分類】
G01S 17/89 20200101AFI20240312BHJP
G01B 11/00 20060101ALI20240312BHJP
G06T 7/30 20170101ALI20240312BHJP
【FI】
G01S17/89
G01B11/00 A
G06T7/30
(21)【出願番号】P 2022551071
(86)(22)【出願日】2020-09-28
(86)【国際出願番号】 JP2020036507
(87)【国際公開番号】W WO2022064665
(87)【国際公開日】2022-03-31
【審査請求日】2023-02-28
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100106909
【氏名又は名称】棚井 澄雄
(74)【代理人】
【識別番号】100134544
【氏名又は名称】森 隆一郎
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【氏名又は名称】伊藤 英輔
(72)【発明者】
【氏名】安倍 次朗
【審査官】東 治企
(56)【参考文献】
【文献】特開2011-099742(JP,A)
【文献】国際公開第2012/176249(WO,A1)
【文献】特開2016-045330(JP,A)
【文献】米国特許出願公開第2019/0188872(US,A1)
【文献】米国特許出願公開第2016/0187130(US,A1)
【文献】ARMESTO, Leopoldo et al.,"A Generalization of the Metric-Based Iterative Closest Point Technique for 3D Scan Matching",2010 IEEE International Conference on Robotics and Automation,2010年,pp.1367-1372,DOI: 10.1109/ROBOT.2010.5509371
(58)【調査した分野】(Int.Cl.,DB名)
G01S 7/48-7/51
G01S 17/00-17/95
G01C 3/00-3/32
G01B 11/00-11/30
G06T 1/00-1/60
G06T 7/00-7/90
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
第1の測定位置における第1の点群データ及び第2の測定位置における第2の点群データを取得する点群データ取得手段と、
位置合わせの回転軸を決定する回転軸決定手段と、
前記第1の点群データに含まれる点である第1点群データ点と、前記第2の点群データに含まれる点である第2点群データ点との対応付けを行い、前記第1点群データ点ごとに、前記回転軸に垂直な底面を持つ1つ以上の柱体の和集合
である許容領域
を、その第1点群データ点に対応付けられている第2点群データ点に応じて設定し、前記第1の点群データに含まれる各第1点群データ点が、その第1点群データ点について設定されている許容領域に含まれるかに基づいて値を出力する関数を用いた評価関数を決定する評価関数決定手段と、
前記回転軸決定手段が決定する前記回転軸、前記点群データ取得手段が取得する前記第1の点群データ、及び前記点群データ取得手段が取得する前記第2の点群データに基づいて、前記評価関数を最適化する位置合わせパラメータを算出する位置合わせ計算手段と、を備える測定装置。
【請求項2】
前記位置合わせ計算手段は、前記回転軸の軸方向への点群データ移動に関連する水平移動量と、前記回転軸に垂直な方向への点群データ移動に関連する直進移動量とを、異なる手段により算出する、
請求項1に記載の測定装置。
【請求項3】
複数の測定装置それぞれが取得する点群データを受信する通信手段と、
第1の測定装置から受信した第1の点群データ及び第2の測定装置から受信した第2の点群データを保持する点群データ保持手段と、
位置合わせの回転軸を決定する回転軸決定手段と、
前記第1の点群データに含まれる点である第1点群データ点と、前記第2の点群データに含まれる点である第2点群データ点との対応付けを行い、前記第1点群データ点ごとに、前記回転軸に垂直な底面を持つ1つ以上の柱体の和集合
である許容領域
を、その第1点群データ点に対応付けられている第2点群データ点に応じて設定し、前記第1の点群データに含まれる各第1点群データ点が、その第1点群データ点について設定されている許容領域に含まれるかに基づいて値を出力する関数を用いた評価関数を決定する評価関数決定手段と、
前記回転軸決定手段が決定する前記回転軸、前記点群データ保持手段が保持する前記第1の点群データ、及び前記点群データ保持手段が保持する前記第2の点群データに基づいて、前記評価関数を最適化する位置合わせパラメータを算出する位置合わせ計算手段と、を備える情報処理装置。
【請求項4】
第1の点群データと第2の点群データとの位置合わせの回転軸を決定し、
前記第1の点群データに含まれる点である第1点群データ点と、前記第2の点群データに含まれる点である第2点群データ点との対応付けを行い、
前記第1点群データ点ごとに、前記回転軸に垂直な底面を持つ1つ以上の柱体の和集合
である許容領域
を、その第1点群データ点に対応付けられている第2点群データ点に応じて設定し、
前記第1の点群データに含まれる各第1点群データ点が、その第1点群データ点について設定されている許容領域に含まれるかに基づいて値を出力する関数を用いた評価関数を決定し、
前記回転軸、前記第1の点群データ、及び前記第2の点群データに基づいて、前記評価関数を最適化する位置合わせパラメータを算出する位置合わせ計算を行う、
ことを含む位置合わせ方法。
【請求項5】
コンピュータに、
第1の点群データ及び第2の点群データを読み出し、
位置合わせの回転軸を決定し、
前記第1の点群データに含まれる点である第1点群データ点と、前記第2の点群データに含まれる点である第2点群データ点との対応付けを行い、
前記第1点群データ点ごとに、前記回転軸に垂直な底面を持つ1つ以上の柱体の和集合
である許容領域
を、その第1点群データ点に対応付けられている第2点群データ点に応じて設定し、
前記第1の点群データに含まれる各第1点群データ点が、その第1点群データ点について設定されている許容領域に含まれるかに基づいて値を出力する関数を用いた評価関数を決定し、
前記回転軸、前記第1の点群データ、及び前記第2の点群データに基づいて、前記評価関数を最適化する位置合わせパラメータを算出する位置合わせ計算を行う、
処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、測定装置、情報処理装置、位置合わせ方法、及びプログラムに関する。
【背景技術】
【0002】
三次元空間における複数の点群データの位置合わせを行うための技術が提案されている。
例えば、特許文献1記載の情報処理装置は、第1点群データから抽出される第1平面と、第2点群データから抽出される第2平面との高さを一致させるように、第2平面の高さを補正し、平面の高さを特定する。この情報処理装置は、第1点群データ、第2点群データそれぞれから抽出される複数の平面の組み合わせそれぞれについて、平面の高さを特定し、補正に用いるオフセット量を特定する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
複数の点群データの位置合わせを行う際、点群データの測定方法に応じて、測定装置の回転軸方向における点群間のデータの差異と、回転軸に垂直な方向における点群間のデータの差異とで偏りが生じる場合がある。例えば、回転軸方向の差異が数メートルであるのに対し、回転軸に垂直な方向の差異が数百メートルになるといったことが考えられる。
この偏りを利用して位置合わせを行うことで、位置合わせを効率的に行えることが期待される。
【0005】
本発明の目的の1つは、上述の課題を解決することのできる測定装置、情報処理装置、位置合わせ方法、及びプログラムを提供することである。
【課題を解決するための手段】
【0006】
本開示の第1の態様にかかる測定装置は、第1の測定位置における第1の点群データ及び第2の測定位置における第2の点群データを取得する点群データ取得手段と、位置合わせの回転軸を決定する回転軸決定手段と、前記第1の点群データに含まれる点である第1点群データ点と、前記第2の点群データに含まれる点である第2点群データ点との対応付けを行い、前記第1点群データ点ごとに、前記回転軸に垂直な底面を持つ1つ以上の柱体の和集合である許容領域を、その第1点群データ点に対応付けられている第2点群データ点に応じて設定し、前記第1の点群データに含まれる各第1点群データ点が、その第1点群データ点について設定されている許容領域に含まれるかに基づいて値を出力する関数を用いた評価関数を決定する評価関数決定手段と、前記回転軸決定手段が決定する前記回転軸、前記点群データ取得手段が取得する前記第1の点群データ、及び前記点群データ取得手段が取得する前記第2の点群データに基づいて、前記評価関数を最適化する位置合わせパラメータを算出する位置合わせ計算手段と、を備える。
【0007】
本開示の第2の態様にかかる情報処理装置は、複数の測定装置それぞれが取得する点群データを受信する通信手段と、第1の測定装置から受信した第1の点群データ及び第2の測定装置から受信した第2の点群データを保持する点群データ保持手段と、位置合わせの回転軸を決定する回転軸決定手段と、前記第1の点群データに含まれる点である第1点群データ点と、前記第2の点群データに含まれる点である第2点群データ点との対応付けを行い、前記第1点群データ点ごとに、前記回転軸に垂直な底面を持つ1つ以上の柱体の和集合である許容領域を、その第1点群データ点に対応付けられている第2点群データ点に応じて設定し、前記第1の点群データに含まれる各第1点群データ点が、その第1点群データ点について設定されている許容領域に含まれるかに基づいて値を出力する関数を用いた評価関数を決定する評価関数決定手段と、前記回転軸決定手段が決定する前記回転軸、前記点群データ保持手段が保持する前記第1の点群データ、及び前記点群データ保持手段が保持する前記第2の点群データに基づいて、前記評価関数を最適化する位置合わせパラメータを算出する位置合わせ計算手段と、を備える。
【0008】
本開示の第3の態様にかかる位置合わせ方法は、第1の点群データと第2の点群データとの位置合わせの回転軸を決定し、前記第1の点群データに含まれる点である第1点群データ点と、前記第2の点群データに含まれる点である第2点群データ点との対応付けを行い、前記第1点群データ点ごとに、前記回転軸に垂直な底面を持つ1つ以上の柱体の和集合である許容領域を、その第1点群データ点に対応付けられている第2点群データ点に応じて設定し、前記第1の点群データに含まれる各第1点群データ点が、その第1点群データ点について設定されている許容領域に含まれるかに基づいて値を出力する関数を用いた評価関数を決定し、前記回転軸、前記第1の点群データ、及び前記第2の点群データに基づいて、前記評価関数を最適化する位置合わせパラメータを算出する位置合わせ計算を行う、ことを含む。
【0009】
本開示の第4の態様にかかるプログラムは、コンピュータに、第1の点群データ及び第2の点群データを読み出し、位置合わせの回転軸を決定し、前記第1の点群データに含まれる点である第1点群データ点と、前記第2の点群データに含まれる点である第2点群データ点との対応付けを行い、前記第1点群データ点ごとに、前記回転軸に垂直な底面を持つ1つ以上の柱体の和集合である許容領域を、その第1点群データ点に対応付けられている第2点群データ点に応じて設定し、前記第1の点群データに含まれる各第1点群データ点が、その第1点群データ点について設定されている許容領域に含まれるかに基づいて値を出力する関数を用いた評価関数を決定し、前記回転軸、前記第1の点群データ、及び前記第2の点群データに基づいて、前記評価関数を最適化する位置合わせパラメータを算出する位置合わせ計算を行う、処理を実行させるためのプログラムである。
【発明の効果】
【0010】
本開示にかかる測定装置、情報処理装置、位置合わせ方法、及びプログラムによれば、複数の点群データの位置合わせを行う際、測定装置の回転軸方向における点群間のデータの差異と、回転軸に垂直な方向における点群間のデータの差異との偏りを利用して位置合わせを行うことができる。
【図面の簡単な説明】
【0011】
【
図1】第1実施形態にかかる測定装置の構成例を示す図である。
【
図2】第1実施形態にかかる許容領域の第1例を示す図である。
【
図3】第1実施形態にかかる許容領域の第2例を示す図である。
【
図4】第1実施形態にかかる位置合わせ計算部の構成例を示す図である。
【
図5】第1実施形態にかかる回転直進量算出部の構成例を示す図である。
【
図6】第1実施形態にかかる回転直進量可能領域算出部の動作を説明するための図である。
【
図7】第1実施形態にかかるパラメータ空間の例を示す図である。
【
図8】第1実施形態にかかるパラメータ算出部が、水平移動量の暫定解を更新する方法の例を説明するための図である。
【
図9】第1実施形態にかかる測定装置の処理の手順の例を示す図である。
【
図10】第2実施形態にかかる通信システムの構成例を示す図である。
【
図11】第3実施形態にかかる測定装置の構成例を示す図である。
【
図12】第4実施形態にかかる情報処理装置の構成例を示す図である。
【
図13】第5実施形態にかかる位置合わせ方法における処理の手順の例を示す図である。
【
図14】少なくとも1つの実施の形態にかかる測定装置及び情報処理装置の構成例を示すブロック図である。
【発明を実施するための形態】
【0012】
以下、本開示の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0013】
(第1実施形態)
図1は、第1実施形態にかかる測定装置の構成例を示す図である。
図1に示す測定装置10は、プロセッサがメモリに格納されたプログラムを実行することによって動作するコンピュータ装置であってもよい。
【0014】
図1に示す構成で、測定装置10は、点群データ取得部11、回転軸決定部12、評価関数決定部13、及び位置合わせ計算部14を備える。点群データ取得部11、回転軸決定部12、評価関数決定部13、及び位置合わせ計算部14は、プロセッサがメモリに格納されたプログラムを実行することによって処理が実行されるソフトウェアもしくはモジュールであってもよい。もしくは、点群データ取得部11、回転軸決定部12、評価関数決定部13、及び位置合わせ計算部14は、回路もしくはチップ等のハードウェアであってもよい。
【0015】
点群データ取得部11の機能及び動作を説明する。点群データ取得部11は、位置合わせによって結合する対象となる、点群データを取得する。点群データ取得部11は、点群データ取得手段の例に該当する。
点群データ取得部11は、位置合わせによって結合する対象となる、第1の測定位置における第1の点群データ及び第2の測定位置における第2の点群データを取得する。点群データは、実世界の三次元情報を表現するデータであり、複数の三次元点からなる集合である。三次元点は、三次元空間における座標データを保持するデータである。座標データは、三次元空間における位置を表すデータであればよく、特定のものに限定されない。三次元空間における座標データは、例えば、直交座標系で表現されていてもよく、極座標系で表現されていてもよい。
【0016】
三次元点は、三次元空間における座標データのほかに、付加情報を保持していてもよい。付加情報は、三次元点が表す実世界物体の特徴を記述する情報であればよく、特定のものに限定されない。付加情報は、例えば、色情報を含んでもよく、局所的な形状特徴を表す特徴量を含んでもよい。後述するように、付加情報は、評価関数決定部13が三次元点同士の対応付けを行う際に、実世界で同一の位置を表す三次元点同士を対応付けるために、評価関数決定部13によって参照されうる。
【0017】
点群データ取得部11が点群データを取得する方法は、座標上にプロット可能な点を取得できるものであればよく、特定のものに限定されない。
点群データ取得部11は、LiDAR(Light Detection and Ranging)を用いて、点群データを取得してもよい。LiDARでは、LiDAR装置が光を放射し、放射した光が物体に当たることによる反射光をLiDAR装置が受光する。LiDARでは、放射から受光までの時間及び光速に基づいて、LiDAR装置から物体までの距離を測定する。点群データ取得部11がLiDARによって点群データを取得する場合には、三次元点が保持する付加情報は、受光した反射光の特徴を表す情報を含んでもよい。付加情報は、例えば、受光した反射光の強さを表す反射輝度を含んでもよく、受光した反射光の位相情報を含んでもよい。
【0018】
もしくは、点群データ取得部11は、レーダを用いて、点群データを取得してもよい。または、点群データ取得部11は、物体の表面情報を表す表面データに基づいて、点群データを取得してもよい。表面データは、例えば、SfM(Structured from Motion)を用いて、視点の異なる複数の画像データから構築される三次元データでもよい。点群データ取得部11は、表面データが表す表面情報から複数の三次元点をサンプリングすることによって、点群データを取得してもよい。
このように、点群データ取得部11が点群データを取得する方法として、三次元空間における点の座標データを取得可能な、いろいろな方法を用いることができる。
【0019】
もしくは、点群データ取得部11は、他の測定装置において取得された点群データを、他の測定装置から無線通信回線もしくは有線通信回線を介して受信してもよい。無線通信は、例えば、LTE(Long Term Evolution、LTEは登録商標)、もしくは3GPP(3rd Generation Pertnership Project)において5Gと規定されている無線通信規格を用いた通信であってもよい。または、無線通信は、無線LAN(Local Area Network)であってもよく、赤外線通信、Bluetooth(登録商標)等の近距離無線通信であってもよい。有線通信回線は、光通信回線もしくはイーサネット(登録商標)を用いた通信であってもよい。
【0020】
点群データ取得部11は、点群データ取得時における測定装置の傾斜によって生じる、点群データの傾斜を、補正するための前処理手段を有する。前処理手段は、第1の点群データ及び第2の点群データを、回転軸を特定して位置合わせ可能な2つの点群データに変換できる手段であればよく、特定のものに限定されない。前処理手段は、取得する点群データの傾斜を揃える手段であってもよい。前処理手段は、例えば、点群データ取得部11は、傾斜計を有していてもよい。もしくは、点群データ取得部11の前処理手段は、取得した点群データに含まれる、地面を表す三次元点から、傾斜値を算出する手段であってもよい。この場合、前処理手段は、第1の測定位置における第1の傾斜値及び第2の測定位置における第2の傾斜値を取得してもよい。前処理手段は、第1の傾斜値と第2の傾斜値との差に基づいて、第1の点群データ及び第2の点群データに含まれる三次元点が属する三次元空間の座標系を補正できる。もしくは、前処理手段は、傾斜情報をユーザに出力する手段であってもよい。この場合、前処理手段は、第1の測定位置及び第2の測定位置において、ユーザが測定装置の傾斜を揃えるための補助をすることができる。傾斜情報をユーザに出力する手段は、例えば、水準器であってもよい。もしくは、前処理手段は、測定装置10の傾斜を一定に保つ手段であってもよい。
【0021】
以上説明したように、点群データ取得部11は、第1の測定位置における第1の点群データ及び第2の測定位置における第2の点群データを取得できる。さらに、点群データ取得部11は、前処理手段によって、点群データの傾斜を補正できる。したがって、点群データ取得部11は、回転軸を特定して位置合わせ可能な、2つの点群データを取得できる。
【0022】
次に、回転軸決定部12の機能及び動作を説明する。回転軸決定部12は、第1の点群データ及び第2の点群データが、その回転軸に基づく位置合わせによって結合できるような、回転軸を決定する。回転軸は、三次元空間上の直線である。
測定装置10が行う位置合わせでは、三次元空間における平行移動変換と、回転軸を軸とする回転変換との、2つの変換を、第1の点群データに対して適用する。
回転軸決定部12は、回転軸決定手段の例に該当する。
【0023】
ここでの位置合わせの回転軸は、例えば、鉛直方向の直線である。点群データ取得部11が有する前処理手段が、特定の座標軸方向を鉛直方向に一致させるような手段である場合、その特定の座標軸方向を回転軸の方向としてもよい。回転軸の位置は特定のものに限定されない。回転軸は、第1の点群データの原点を通る直線であってもよく、第1の点群データの重心を通る直線であってもよい。
以上説明したように、回転軸決定部12は、第1の点群データ及び第2の点群データを位置合わせによって結合するための、回転軸となる直線を決定できる。
【0024】
次に、評価関数決定部13の機能及び動作を説明する。評価関数決定部13は、回転軸、第1の点群データ、及び第2の点群データに基づいて、位置合わせパラメータの望ましさを測る評価関数を決定する。ここでの位置合わせパラメータは、位置合わせの平行移動変換及び回転変換を特定する情報である。位置合わせパラメータは、例えば、回転軸に沿った一次元の方向の平行移動を表す直進移動量、回転軸に垂直な二次元の方向の平行移動を表す水平移動量、及び回転変換の回転軸まわりの回転角を表す回転量の、組であってもよい。
評価関数決定部13は、評価関数決定手段の例に該当する。
【0025】
もしくは、位置合わせパラメータは、直進移動量、水平移動量、及び回転量、の組との相互変換が可能な量であればよく、特定のものに限定されない。位置合わせパラメータは、三次元の平行移動を表す平行移動量と、回転量との、組であってもよい。平行移動量は、直進移動量が表す回転軸に沿った移動と、水平移動量が表す回転軸に垂直な移動と、を合成した三次元の移動を表す量である。もしくは、位置合わせパラメータは、平行移動変換及び回転変換を特定する行列であってもよい。
【0026】
評価関数決定部13は、第1の点群データに含まれる三次元点と、第2の点群データに含まれる三次元点との、対応付けを行う。対応付けは、点群データ内の三次元点に番号を振って識別可能にする処理である。例えば、評価関数決定部13は、複数の添え字iについて、第1の点群データから三次元点を1つ選んで添え字iを振る。さらに、評価関数決定部13は、第2の点群データから三次元点を1つ選んで添え字iを振る。これによって、評価関数決定部13は、第1の点群データに含まれる三次元点と第2の点群データに含まれる三次元点とを対応付ける。
【0027】
第1の点群データから選択されたi番目の三次元点は、i番目の第1点群データ点と言い換えられてもよい。第2の点群データから選択されたi番目の三次元点は、i番目の第2点群データ点と言い換えられてもよい。評価関数決定部13は、対応付けにおいて、1つの三次元点に対して複数の番号を振ってもよい。すなわち、評価関数決定部13は、第1の点群データに含まれる三次元点のそれぞれを複数の添え字によって選択してもよく、第2の点群データに含まれる三次元点のそれぞれを複数の添え字によって選択してもよい。すなわち、異なる添え字i1及び添え字i2について、i1番目の第1点群データ点及びi2番目の第1点群データ点は同一の三次元点を選択したものであってもよい。
【0028】
同様に、異なる添え字i1及び添え字i2について、i1番目の第2点群データ点及びi2番目の第2点群データ点は同一の三次元点を選択したものであってもよい。第1の点群データ及び第2の点群データは、評価関数決定部13によって対応付けがされない三次元点を含んでもよい。すなわち、評価関数決定部13は、すべての三次元点に対して番号を振る必要はない。
【0029】
評価関数決定部13は、対応付けにおいて、位置合わせ後に距離が近くなると期待される2つの三次元点に、同じ番号を振る。評価関数決定部13は、三次元点の付加情報に基づいて、対応付けを行ってもよい。評価関数決定部13は、例えば、付加情報が所定の条件以上に似ているような、第1の点群データに含まれる三次元点と、第2の点群データに含まれる三次元点とに、同じ番号を振ることで、対応付けを行ってもよい。もしくは、評価関数決定部13は、三次元点の情報を参照せずに対応付けを行ってもよい。評価関数決定部13は、例えば、第1の点群データに含まれるすべての三次元点のそれぞれに対して、第2の点群データに含まれるすべての三次元点のそれぞれを対応付けてもよい。
【0030】
評価関数決定部13が決定する評価関数は、複数の添え字iについて、位置合わせパラメータが特定する位置合わせによって変換されたi番目の第1点群データ点が、i番目の許容領域に含まれるか、に基づいて値を出力する関数である。i番目の許容領域は、三次元の領域である。i番目の許容領域は、例えば、i番目の第2点群データ点に十分近い点からなる三次元点の集合が形成する領域であるとしてもよい。この場合には、評価関数決定部13が決定する評価関数は、位置合わせによって変換されたi番目の第1点群データ点が、i番目の第2点群データ点に十分近いか、に基づいて値を出力する関数であると言える。
ここでいう十分近いことは、距離が所定の閾値以下であることであってもよい。i番目の許容領域は、i番目の第2点群データ点からの距離が所定の閾値以下の領域の部分領域であってもよい。
【0031】
もしくは、i番目の許容領域は、i番目の第1点群データ点が位置合わせによって移動する先として望ましいと考えられるような領域であればよく、特定のものに限定されない。i番目の許容領域は、i番目の第2点群データ点と一定の最低距離を確保しながらi番目の第2点群データ点に十分近い点からなる三次元点の集合であるとしてもよい。この場合には、評価関数決定部13が決定する評価関数は、位置合わせによって変換されたi番目の第1点群データ点が、i番目の第2点群データ点と一定の最低距離を確保しながらi番目の第2点群データ点に十分近いか、に基づいて値を出力する関数であると言い表されてもよい。
【0032】
このようなi番目の許容領域は、例えば、i番目の第1点群データ点と、i番目の第2点群データ点とが、厚みのある平面物体の、異なる表面上を表している場合に、有効である。なぜならば、点群データの正しい結合後において、i番目の第1点群データ点と、i番目の第2点群データ点とは、平面物体の厚みの分だけ離れていることが期待されるためである。この場合には、一定の最低距離は、平面物体の厚みに基づいた定数としてもよい。
【0033】
i番目の許容領域は、区分的な柱体であるとする。区分的な柱体は、少なくとも1つの柱体の、和集合である。柱体は、回転軸に垂直な2つの合同な二次元図形を底面に持つ三次元図形であり、さらに、柱体の底面と柱体の側面は直交する。柱体は、特定のものに限定されない。柱体は、例えば、円柱、三角柱、もしくは四角柱、であってもよい。または、柱体は、異なる半径を持つ2つの同心円の差集合のように、穴の開いた図形を底面であってもよい。または、柱体は、共通部分を持たない2つの二次元図形の和集合のように、ひとつながりでない図形を底面としてもよい。
【0034】
図2は、i番目の許容領域の第1例を示す図である。
図2のL
iは、回転軸に平行な直線であり、i番目の第2点群データ点q
iを通る。集合S
iは、q
iを中心とし、L
iに直交する底面を持つ円柱を形成する。集合S
iの底面は回転軸に垂直であり、さらに、集合S
iの底面と側面は直交するため、集合S
iは柱体である。集合S
iがなす柱体は、1つの柱体の和集合であるから、区分的な柱体である。すなわち、集合S
iは、区分的な柱体であり、i番目の許容領域の例になりうる。
図2が示す許容領域の例は、i番目の第2点群データ点に十分近い点からなる三次元点の集合の例である。
集合S
iが示す許容領域を許容領域S
iとも称する。
【0035】
図3は、i番目の許容領域の第2例を説明する図である。
図3のL
iは、回転軸に平行な直線であり、i番目の第2点群データ点q
iを通る。集合S
i、1及び集合S
i、2は、いずれも柱体を形成する。集合S
i、1及び集合S
i、2の和集合は、2つの柱体の和集合であり区分的な柱体であるから、i番目の許容領域の例となりうる。
図3が示す許容領域の例は、i番目の第2点群データ点と一定の最低距離を確保しながらi番目の第2点群データ点に十分近い点からなる三次元点の集合の例である。
図3の例が示すように、i番目の許容領域は、ひとつながりの集合に限定されない。また、
図3の例が示すように、i番目の許容領域は、i番目の第2点群データ点を含まなくてもよい。
【0036】
i番目の許容領域は、i番目の距離関数に基づいて算出されてもよい。i番目の距離関数は、引数として2つの三次元点を受け取り、それら2つの三次元点の位置関係の望ましさの度合いを出力する関数であり、2つの三次元点の位置関係が望ましいほど、小さい値を出力する。
【0037】
式(1)は、i番目の距離関数に基づいてi番目の許容領域を算出する方法を説明するための数式である。
【0038】
【0039】
式(1)において、Diはi番目の距離関数である。qiはi番目の第2点群データ点である。r[i]は許容領域の大きさを特徴付ける実数である。式(1)において、Siは、i番目の距離関数Diによって計算される、i番目の第2点群データ点qiとの位置関係が、実数r[i]で指定される望ましさよりも望ましいような、三次元点xの集合である。式(1)の集合Siが区分的な柱体となるようなi番目の距離関数Diが与えられた場合には、式(1)の集合Siは、i番目の許容領域の例になりうる。
【0040】
式(1)に示された、i番目の距離関数に基づいて算出されるi番目の許容領域の大きさは、実数r[i]によって調節されうる。後述するように、パラメータ算出部142は、動作の途中において、複数の実数r[i]から得られる複数のi番目の許容領域を用いて、位置合わせパラメータを効率的に算出する。
【0041】
式(2)は、式(1)の集合Siが区分的な柱体となるようなi番目の距離関数の例に該当する。
【0042】
【0043】
式(2)の関数diは、回転軸がz軸である場合における、式(1)の集合Siが区分的な柱体となるようなi番目の距離関数Diの例である。式(2)のa及びbは、三次元点である。axはaのx座標を表し、ayはaのy座標を表し、azはaのz座標を表す。bxはbのx座標を表し、byはbのy座標を表し、bzはbのz座標を表す。すなわち、式(2)の関数diは、z軸方向におけるab間のユークリッド距離と、z軸に垂直な平面方向におけるab間のユークリッド距離との、最大値を算出する関数である。
【0044】
式(2)の関数diを式(1)のi番目の距離関数Diに代入して得られる集合Siは、z軸に垂直な底面を持つ円柱である。すなわち、回転軸がz軸である場合には、式(2)の関数diを式(1)のi番目の距離関数Diに代入して得られる集合Siは、i番目の許容領域の例になりうる。回転軸がz軸でない場合にも、関数diを参考に、式(1)の集合Siが区分的な柱体となるようなi番目の距離関数の例を示すことができる。この場合には、式(2)の関数diは、回転軸方向におけるab間のユークリッド距離と、回転軸に垂直な平面方向におけるab間のユークリッド距離との、最大値を算出する関数として書き表されてもよい。
評価関数決定部13が決定する評価関数の例を、式(3)を用いて説明する。
【0045】
【0046】
式(3)の関数Eは、評価関数の例である。uは水平移動量、vは直進移動量、θは回転量であり、与えられた位置合わせパラメータに基づいてそれぞれ算出される。式(3)において、piはi番目の第1点群データ点であり、Rθは三次元点を回転軸のまわりに回転量θで指定される角度分回転させる、回転変換もしくは回転行列である。tu、vは、水平移動量u及び直進移動量vから算出される平行移動量である。Siはi番目の許容領域である。
【0047】
関数fiは、許容領域Siに特徴付けられる関数であり、引数として三次元点を受け取り、与えられた三次元点が許容領域Siに含まれるかに応じて値を出力する関数である。関数fiは、引数に与えられた三次元点が、許容領域Siに含まれる場合に1を出力し、許容領域Siに含まれない場合に0を出力する。
【0048】
評価関数決定部13は、i番目の重みwiを決定する。i番目の重みwiは、評価関数Eにおける添え字iの重みを表す実数である。i番目の重みwiは、正の値、0、負の値の何れでもよい。式(3)の評価関数Eは、複数の添え字iについて、三次元点「Rθpi+tu、v」が許容領域Siに含まれているかを判定し、重みwiを考慮しながら判定結果を集計する、と言い表されてもよい。i番目の重みwiがすべての添え字iについて1である場合には、式(3)の評価関数Eは、三次元点「Rθpi+tu、v」が許容領域Siに含まれているような、添え字iの個数を数える、と言い表されてもよい。
【0049】
評価関数決定部13が決定する評価関数は、i番目の許容領域がi番目の距離関数によって算出される場合には、i番目の距離関数を直接用いて表現されうる。式(4)は、i番目の許容領域Siが式(1)を用いてi番目の距離関数Diによって算出される場合の、評価関数の例を説明する数式である。
【0050】
【0051】
式(4)に示す関数E1は、i番目の距離関数を直接用いて表現される評価関数の例である。式(4)における記号u、v、θ、Rθ、pi、tu、v、及びwiは、式(3)における同一の記号と同じ意味であるため、ここでは説明を省略する。qiは、i番目の第2点群データ点であり、Diは、i番目の距離関数である。
【0052】
関数Ir[i]は、引数として実数を受け取り、引数が実数r[i]よりも大きいかに応じて値を出力する関数である。関数Ir[i]は、引数がr[i]より大きい場合に0を出力し、引数がr[i]以下である場合に1を出力する。関数Ir[i]は、位置合わせ処理の途中で実数r[i]が変わる場合、その時点における実数r[i]の値によって、出力値が切り替わる境界が調整されうる。
【0053】
関数Ir[i]○Diは、関数Ir[i]とi番目の距離関数Diとの、合成関数である。関数Ir[i]○Diは、引数として2つの三次元点を受け取り、引数である2つの三次元点を距離関数Diに与えたときの出力値が、r[i]よりも大きい場合に0を出力し、r[i]以下である場合に1を出力する。
【0054】
式(4)のrは、複数の添え字iについてのr[i]の組であり、評価関数E1を特徴付けている。式(4)の評価関数E1は、複数の添え字iについて、三次元点「Rθpi+tu、v」及び三次元点qiをi番目の距離関数Diに与えたときの出力値がr[i]以下であるかを判定し、重みwiを考慮しながら判定結果を集計する、と言い表されてもよい。
【0055】
i番目の重みwiがすべての添え字iについて1である場合には、式(4)の評価関数E1は、三次元点「Rθpi+tu、v」及び三次元点qiをi番目の距離関数Diに与えたときの出力値がr[i]以下であるような、添え字iの個数を数える、と言い表されてもよい。
【0056】
式(3)及び式(4)の例に現れるi番目の重みwiは、添え字iが示す三次元点同士の対応付けの、位置合わせにおける重視度合いを表す実数であり、i番目の重みの決定方法は特定のものに限定されない。i番目の重みは、例えば、すべての添え字iについて1であるとしてもよい。この場合、すべての対応付けは同等の重視度合いで扱われる。もしくは、i番目の第1点群データ点とi番目の第2点群データ点の少なくとも一方の、三次元空間上の座標に基づいて算出されてもよい。
【0057】
i番目の重みは、例えば、第1の点群データの原点からi番目の第1点群データ点を見るときの仰角を表す第1仰角と、第2の点群データの原点からi番目の第2点群データ点を見るときの仰角を表す第2仰角とに基づいて、第1仰角の逆数と第2仰角の逆数の平均として、算出されてもよい。第1仰角及び第2仰角に基づいて算出されるi番目の重みは、とくに、点群データの原点が、点群データを取得したセンサーの位置を表しているような場合に、有効である。このような場合、第1仰角の逆数や第2仰角の逆数が大きいほど、i番目の第1点群データ点やi番目の第2点群データ点がセンサーの位置と似た高さにあることを表しており、i番目の第1点群データ点やi番目の第2点群データ点が点群データ取得時の目印となるような特徴的な物体を表している可能性が高い。
【0058】
i番目の重みは、例えば、i番目の第1点群データ点とi番目の第2点群データ点の少なくとも一方の、回転軸からの距離に基づいて算出されてもよい。
i番目の重みは、例えば、回転軸から第1の点群データに含まれる三次元点までの距離の中央値を表す距離中央値と、回転軸からi番目の第1点群データ点までの距離を表す第1距離とに基づいて、第1距離と距離中央値との差の逆数として算出されてもよい。このような場合、i番目の第1点群データ点が回転軸に近すぎるもしくは遠すぎるような添え字iの、位置合わせにおける重視度合いを低くすることができる。回転軸に近すぎる三次元点は位置合わせにおける回転軸周りの回転変換の影響が及びにくいため、i番目の第1点群データ点が回転軸に近すぎる添え字iに対してi番目の重みを小さくすることで、位置合わせにおいて、回転量の推定性能の向上が期待される。また、i番目の第1点群データ点が回転軸に遠すぎる添え字iに対してi番目の重みを小さくすることで、三次元点が集中する領域から離れすぎた外れ値のような点が位置合わせに与える悪影響を低減する効果が期待される。
【0059】
もしくは、i番目の重みは、i番目の第1点群データ点とi番目の第2点群データ点の少なくとも一方の、付加情報に基づいて算出されてもよい。i番目の重みは、例えば、i番目の第1点群データ点とi番目の第2点群データ点の、色情報の差に基づいて算出されてもよく、反射輝度の差に基づいて算出されてもよく、もしくは特徴量の差に基づいて算出されてもよい。
【0060】
式(3)及び式(4)に示した評価関数の例は、i番目の重みの算出方法によって、さまざまな評価関数の例を包含しうる。これまでの説明において、式(3)の関数fiや式(4)の関数Ir[i]の0でない出力値は1に限定されていたが、0でない出力値が、1以外の値をとりえてもよい。0でない出力値が1以外の値をとりうるような評価関数は、i番目の重みを関数fiや関数Ir[i]の0でない出力値によって定数倍することで、式(3)及び式(4)に示した評価関数と等価である。
【0061】
また、式(3)及び式(4)に示した評価関数は、i番目の重みを負の値にすることで、位置合わせによって変換されたi番目の第1点群データ点がi番目の許容領域に含まれることが望ましくないような変形例を説明しうる。すなわち、i番目の許容領域を評価関数に組み込むか、i番目の許容領域の補集合を評価関数に組み込むか、といった差異は、i番目の重みの、正負の違いによって表現されうる。
【0062】
以上説明したように、評価関数決定部13は、第1の点群データに含まれる三次元点と、第2の点群データに含まれる三次元点とを、添え字iによって対応付けることができる。さらに、評価関数決定部13は、i番目の第1点群データ点が位置合わせによって移動する先として望ましいと考えられるような、区分的な柱体として、i番目の許容領域を算出できる。さらに、評価関数決定部13は、i番目の重みを決定し、評価関数を決定することができる。したがって、評価関数決定部13は、i番目の第1点群データ点が位置合わせによってi番目の許容領域に含まれるか、に関する複数の添え字iについての判定結果を、i番目の重みを考慮しながら集計するような関数として、位置合わせパラメータの評価関数を決定することができる。
【0063】
次に、位置合わせ計算部14の機能及び動作について説明する。位置合わせ計算部14は、回転軸、第1の点群データ、及び第2の点群データに基づいて、評価関数を最適化する位置合わせパラメータを算出する。評価関数を最適化することは、評価関数の出力値をなるべく大きくすること、と言い換えられてもよい。もしくは、評価関数を最適化することは、評価関数の出力値を最大化すること、と言い換えられてもよい。
位置合わせ計算部14は、位置合わせ計算手段の例に該当する。
【0064】
図4は、位置合わせ計算部14の構成例を示す図である。
図4に示す構成で、位置合わせ計算部14は、回転直進量算出部141及びパラメータ算出部142を備える。回転直進量算出部141及びパラメータ算出部142は、プロセッサがメモリに格納されたプログラムを実行することによって処理が実行されるソフトウェアもしくはモジュールであってもよい。回転直進量算出部141及びパラメータ算出部142は、回路もしくはチップ等のハードウェアであってもよい。
【0065】
位置合わせ計算部14は、評価関数を最適化する位置合わせパラメータを、直進移動量及び回転量の組と、水平移動量と、に分けて算出する。位置合わせ計算部14は、パラメータ算出部142を用いて水平移動量を算出する。さらに、位置合わせ計算部14は、算出した水平移動量を回転直進量算出部141に渡して直進移動量及び回転量を算出する。さらに、位置合わせ計算部14は、算出した水平移動量、直進移動量及び回転量に基づいて、評価関数を最適化する位置合わせパラメータを算出する。
【0066】
回転直進量算出部141の機能及び動作について説明する。回転直進量算出部141は、水平移動量を受け取り、評価関数を最適化するような、直進移動量及び回転量を算出する。
図5は回転直進量算出部141の構成例を示す図である。
図5に示す構成で、回転直進量算出部141は、回転直進量可能領域算出部1411及び回転直進量可能領域集計部1412を備える。回転直進量可能領域算出部1411及び回転直進量可能領域集計部1412は、プロセッサがメモリに格納されたプログラムを実行することによって処理が実行されるソフトウェアもしくはモジュールであってもよい。回転直進量可能領域算出部1411及び回転直進量可能領域集計部1412は、回路もしくはチップ等のハードウェアであってもよい。
【0067】
回転直進量算出部141は、回転直進量可能領域算出部1411を用いて、複数の添え字iについて、i番目の第1点群データ点が位置合わせによってi番目の許容領域に含まれるような、直進移動量及び回転量の取りうる値の範囲を表すi番目の回転直進量可能領域を、算出する。さらに、回転直進量算出部141は、回転直進量可能領域集計部1412を用いて、i番目の回転直進量可能領域とi番目の重みに基づき、最適な直進移動量及び回転量を算出する。
【0068】
回転直進量可能領域算出部1411の機能及び動作について説明する。回転直進量可能領域算出部1411は、複数の添え字iについて、i番目の回転直進量可能領域を算出する。i番目の回転直進量可能領域は直進移動量及び回転量の組の集合が形成する領域である。回転直進量可能領域算出部1411は、i番目の回転直進量可能領域を、それに含まれる直進移動量及び回転量の組と、回転直進量算出部141に与えられた水平移動量と、を合わせて位置合わせを特定するときに、特定された位置合わせによってi番目の第1点群データ点を変換した先がi番目の許容領域に含まれるように、算出する。
【0069】
図6を用いて、回転直進量可能領域算出部1411の機能及び動作を説明する。
図6は、水平移動量uが与えられたときの、回転直進量可能領域算出部1411の動作を説明するための図である。
図6において、円柱で表現されたS
iは、i番目の許容領域である。直線「L+u」は、回転軸を水平移動量uに応じて平行移動させた、回転軸に平行な直線である。三次元点「p
i+t
u、v」は、直進移動量vに特徴づけられる三次元点であり、i番目の第1点群データ点p
iを、水平移動量u及び直進移動量vから算出される平行移動量t
u、vの分だけ、平行移動させた三次元点である。
【0070】
直線「L+u」を軸として三次元点「pi+tu、v」を通る円周は、回転量θをさまざま変化させるときの、三次元点「Rθpi+tu、v」が描く軌道である。Rθは、三次元点を回転軸のまわりに回転量θで指定される角度分回転させる、回転変換もしくは回転行列である。円周上の太線部分は、円周とi番目の許容領域Siとの共通部分である。すなわち、太線部分に対応する回転量θは、水平移動量u、直進移動量v、及び回転量θが特定する位置合わせによってi番目の第1点群データを変換したときに、変換後の点がi番目の許容領域Siに含まれるような、回転量θである。
【0071】
図6の平面H
vは、直進移動量vに特徴づけられる平面であり、円周を含む。ドット模様の円は、平面H
vによる、許容領域S
iの断面である。太線部分に対応する回転量θは、円周とドット模様の円との共通部分に基づいて、算出することができる。
【0072】
i番目の回転直進量可能領域は、
図6における太線部分が存在するような直進移動量vと、その直進移動量vに応じて定まる太線部分に対応する回転量θとの、すべての組である。i番目の回転直進量可能領域は、式(5)の集合M
iであると、言い換えられてもよい。
【0073】
【0074】
式(5)に現れる、Mi以外のすべての記号は、式(3)に現れる同一の記号と同じ意味であるため、ここでは説明を省略する。式(5)の集合Miは、三次元点「Rθpi+tu、v」が許容領域Siに含まれるような、直進移動量v及び回転量θのすべての組からなる集合を表す。
【0075】
回転直進量可能領域算出部1411は、i番目の許容領域が区分的な柱体であることを利用して、i番目の回転直進量可能領域を効率的に算出することができる。区分的な柱体を構成するそれぞれの柱体の、回転軸に垂直な平面による断面は、それぞれの柱体の底面と合同な二次元図形もしくは空集合である。さらに、区分的な柱体を構成するそれぞれの柱体の、回転軸に垂直な平面による空集合でない断面は、回転軸方向の平行移動のみが異なる合同な図形である。そのため、
図6に示す太線部分に対応する回転量θの空集合でない集合は、直進移動量vに関わらずすべて等しい。
【0076】
すなわち、区分的な柱体を構成するそれぞれの柱体について、
図6に示す太線部分が存在する直進移動量vの集合と、太線部分に対応する回転量θの集合との、直積集合をとることによって、i番目の回転直進量可能領域の、それぞれの柱体に関する集合が算出されうる。さらに、それぞれの柱体に関する集合の、区分的な柱体を構成するすべての柱体についての、和集合をとることによって、i番目の回転直進量可能領域は算出されうる。
【0077】
以上説明したように、回転直進量可能領域算出部1411は、複数の添え字iについて、i番目の許容領域が区分的な柱体であることを利用して、i番目の回転直進量可能領域を効率的に算出することができる。
【0078】
次に、回転直進量可能領域集計部1412の機能及び動作について説明する。回転直進量可能領域集計部1412は、複数のi番目の回転直進量可能領域に基づいて、評価関数を最適化するような直進移動量及び回転量を算出する。
図7を用いて、回転直進量可能領域集計部1412の機能及び動作を説明する。
【0079】
図7は、縦軸を直進移動量v、横軸を回転量θ、とするパラメータ空間の例を示す図である。
図7において、M
1は1番目の回転直進量可能領域を表し、M
2は2番目の回転直進量可能領域を表し、M
3は3番目の回転直進量可能領域を表す。少なくとも1つの添え字iに関するi番目の回転直進量可能領域がパラメータ空間上に表されればよく、パラメータ空間上に表すi番目の回転直進量可能領域の個数や、添え字iの選び方は、特定のものに限定されない。
【0080】
パラメータ空間上に表されるi番目の回転直進量可能領域の個数は3つに限定されず、すべてのi番目の回転直進量可能領域をパラメータ空間上に表してもよい。また、パラメータ空間上に表されるi番目の回転直進量可能領域の添え字iは、連番に限らず、ランダムもしくは規則的に選択されるとしてもよい。
【0081】
図7において、i番目の回転直進量可能領域は、直進移動量の集合と回転量の集合との直積集合の和集合であるから、パラメータ空間上に長方形の和集合として表される。回転直進量可能領域集計部1412は、パラメータ空間上に表された複数の長方形の分布に基づいて、直進移動量v及び回転量θを算出する。
【0082】
回転直進量可能領域集計部1412は、パラメータ空間上において重複度が高い点に基づいて直進移動量v及び回転量θを算出する。パラメータ空間上における点の重複度は、i番目の回転直進量可能領域がその点を含むようなすべての添え字iについて、式(3)または式(4)のi番目の重みwiを足し合わせた量である。
【0083】
式(3)及び式(4)で表される評価関数は、引数に与えられた直進移動量v及び回転量θのパラメータ空間上における重複度と、等しい値を出力する。すなわち、回転直進量可能領域集計部1412は、パラメータ空間上において重複度が高い点に基づいて直進移動量v及び回転量θを算出することによって、評価関数を最適化することができる。
【0084】
パラメータ空間上における点の重複度は、すべての添え字iについてi番目の重みが1に等しい場合、その点において長方形が重なる個数に等しい。回転直進量可能領域集計部1412は、例えば、
図7の網掛け部分に含まれるような、直進移動量v及び回転量θを算出してもよい。
図7の網掛け部分は、M
1、M
2、及びM
3が最も多く重なり合っている領域である。
【0085】
回転直進量可能領域集計部1412は、i番目の重みの選び方が特定のものに限定されていない場合であっても、重複度が最大になるようなパラメータ空間上の長方形領域を、例えば、平面走査法等の複数の長方形領域の最大重なり領域を算出する技術によって算出することができる。平面走査法は、二次元空間上に複数の重み付き長方形領域が分布するときの、重みの和が最大となるような領域を算出する技術である。
【0086】
ここで、長方形領域の全ての辺は、二次元空間の少なくとも一方の座標軸に平行であるとする。平面走査法は、まず、二次元空間上の1つの座標軸を選ぶ。以後の説明においては、二次元空間をXY空間、選ばれた座標軸をX軸、及び他方の座標軸をY軸と書き表す。平面走査法は、X軸に平行な水平線を、Y軸の最小値から、Y軸の最大値まで、動かしていくことによって、重みの和が最大となる領域を探索する。初期状態において、水平線上における重みの和は、0であるとして記録される。平面走査法は、水平線を動かす際、長方形領域のX軸に平行な少なくとも1つの辺と、水平線とが重なる度に、水平線上の走査を実施する。
【0087】
以後の説明においては、水平線上の走査を実施する際、長方形領域のX軸に平行なすべての辺のうち、水平線に重なっているものを、注目辺と書き表す。水平線上の走査は、X軸の最小値から、X軸の最大値まで、水平線を辿りながら、記録された水平線上の重みの和を更新する処理である。
【0088】
水平線上の走査では、注目辺が水平線に重なるすべてのX軸区間について、注目辺が長方形領域の下端である場合には、水平線上のX軸区間における重みの和の記録を、長方形領域の重みを加えることによって更新する。長方形領域の下端は、長方形領域のX軸に平行な2つの辺のうち、Y軸の値が小さい方である。
【0089】
一方、注目辺が長方形領域の上端である場合には、水平線上のX軸区間における重みの和の記録を、長方形領域の重みを差し引くことによって更新する。長方形領域の上端は、長方形領域のX軸に平行な2つの辺のうち、Y軸の値が大きい方である。
平面走査法では、水平線を動かしながら、重みの和の記録を更新することによって、重みの和が最大となるような領域を算出することができる。
【0090】
もしくは、回転直進量可能領域集計部1412は、評価関数の厳密な最大化を行う必要がない場合には、重複度がなるべく大きくなるようなパラメータ空間上の点を探索することによって、直進移動量v及び回転量θを算出してもよい。回転直進量可能領域集計部1412は、パラメータ空間上に解の候補となる複数の点をランダムもしくは規則的に生成し、生成した複数の点における重複度の分布に基づいて、直進移動量v及び回転量θを算出してもよい。
【0091】
回転直進量可能領域集計部1412は、例えば、パラメータ空間上に表された複数のi番目の回転直進量可能領域の頂点もしくは交点を生成し、重複度が最も大きい頂点もしくは交点に基づいて、直進移動量v及び回転量θを算出してもよい。もしくは、回転直進量可能領域集計部1412は、パラメータ空間を格子状に分割し、複数の格子から代表点を生成し、重複度が最も大きい代表点に基づいて、直進移動量v及び回転量θを算出してもよい。
【0092】
以上説明したように、回転直進量可能領域集計部1412は、複数のi番目の回転直進量可能領域に基づいて、重複度を最大化もしくはなるべく大きくするような、パラメータ空間上の点を算出することができる。
【0093】
以上説明したように、回転直進量算出部141は、回転直進量可能領域算出部1411を用いて、i番目の回転直進量可能領域を、効率的に算出できる。さらに、回転直進量算出部141は、回転直進量可能領域集計部1412を用いて、重複度を最大化もしくはなるべく大きくするような、パラメータ空間上の点を算出できる。パラメータ空間上における点の重複度は、その点が表す直進移動量及び回転量と、回転直進量算出部141が受け取る水平移動量とを、組み合わせて位置合わせパラメータを算出するときの、式(3)もしくは式(4)で表される評価関数の出力値に等しい。したがって、回転直進量算出部141は、水平移動量を受け取り、評価関数を最適化するような直進移動量及び回転量を算出できる。
【0094】
次に、パラメータ算出部142の機能及び動作について説明する。パラメータ算出部142は、回転直進量算出部141を用いて、評価関数を最適化するような水平移動量を算出する。
【0095】
パラメータ算出部142は、少なくとも1つの水平移動量について最適評価値を算出し、算出した少なくとも1つの最適評価値の分布に基づいて、評価関数を最適化する水平移動量を算出する。水平移動量の最適評価値は、その水平移動量を回転直進量算出部141に渡して直進移動量及び回転量を算出し、算出された直進移動量及び回転量と水平移動量とを合わせて位置合わせパラメータを算出し、算出した位置合わせパラメータを評価関数に与えるときの出力値として、算出される。パラメータ算出部142が算出する水平移動量は、少なくとも1つの水平移動量のうちで、最適評価値が最も大きいような、水平移動量であってもよい。
【0096】
パラメータ算出部142は、例えば、解の候補となる複数の水平移動量を生成し、生成したそれぞれの複数の水平移動量について最適評価値を算出し、生成した複数の最適評価値の分布に基づいて、評価関数を最適化する水平移動量を算出してもよい。パラメータ算出部142は、解の候補となる複数の水平移動量のうちで、最適評価値が最も大きくなるような、水平移動量を算出してもよい。パラメータ算出部142が解の候補となる複数の水平移動量を生成する方法は、特定のものに限定されない。解の候補となる複数の水平移動量は、ランダムもしくは規則的に生成されてもよい。解の候補となる複数の水平移動量は、水平移動量の探索空間を格子状に分割し、それぞれの格子から代表点を算出することによって、生成されてもよい。複数の水平移動量は、1つだけ生成されてもよい。
【0097】
もしくは、パラメータ算出部142は、水平移動量の暫定解を生成し、逐次的に水平移動量の暫定解を更新することによって、水平移動量を算出してもよい。
図8は、パラメータ算出部142が、水平移動量の暫定解を更新する方法の例を説明するための図である。パラメータ算出部142は、まず、水平移動量の暫定解の最適評価値を算出し、それを暫定的な最適評価値とする。
【0098】
図8において、パラメータ算出部142は、水平移動量の探索領域を4つの小領域U1、U2、U3、及びU4に分割する。分割方法は、水平移動量の探索領域を複数の小領域に分割するものであればよく、特定のものに限定されない。パラメータ算出部142は、小領域U1、U2、U3、及びU4のそれぞれについて小領域に含まれる水平移動量を1つ生成し、生成した水平移動量のそれぞれについて最適評価値を算出することにより、4つの最適評価値を算出する。
【0099】
パラメータ算出部142は、暫定的な最適評価値を、暫定的な最適評価値及び4つの最適評価値の最大値によって更新し、水平移動量の暫定解を、更新後の暫定的な最適評価値に対応する水平移動量によって、更新する。
次に、パラメータ算出部142は、任意の方法によって小領域を1つ選択し、選択した小領域をさらに小さな複数の小領域へと分割する。小領域を1つ選択することは、小領域選択と言い換えられてもよい。
【0100】
図8においては、パラメータ算出部142は、小領域U1を選択し、小領域U1を小領域U11、U12、U13、及びU14に分割する。パラメータ算出部142は、水平移動量の探索領域に対して行った方法と同様の方法を、選択した小領域U11に対して適用する。すなわち、パラメータ算出部142は、小領域U11、U12、U13、及びU14のそれぞれについて小領域に含まれる水平移動量を1つ生成し、生成した水平移動量のそれぞれについて最適評価値を算出することにより、4つの評価値を算出する。
【0101】
パラメータ算出部142は、暫定的な最適評価値を、暫定的な最適評価値及び4つの評価値の最大値によって更新し、水平移動量の暫定解を、更新後の暫定的な最適評価値に対応する水平移動量によって更新する。パラメータ算出部142は、小領域選択を行い、選択した小領域をさらに小さな複数の小領域へと分割する。小領域選択は、今までに算出された、まだ選択されていない小領域のなかから、1つを選択することであってもよい。すなわち、
図8において、パラメータ算出部142は、今までに算出された小領域のうち、既に選択したU1を除いた、U2、U3、U4、U11、U12、U13、及びU14のなかから、小領域を1つ選択してもよい。
【0102】
このように、パラメータ算出部142は、小領域への分割、それぞれの小領域における最適評価値の算出、暫定的な最適評価値及び水平移動量の暫定解の更新、ならびに小領域選択、からなる一連の方法を、一定の回数もしくは一定の基準が満たされるまで、繰り返し行うことによって、水平移動量の暫定解を逐次的に更新することができる。
【0103】
もしくは、パラメータ算出部142は、評価関数が式(4)の評価関数E1である場合には、分枝限定法を用いて、逐次的に水平移動量の暫定解を更新してもよい。分枝限定法は、評価関数の上界を用いて、最適解の候補を絞り込む、最適化技術である。パラメータ算出部142は、分枝限定を用いる場合、小領域選択において、小領域における評価関数E1の上界が大きいような小領域を選択することによって、水平移動量の最適解の候補を絞り込むことができる。なぜならば、このような場合、小領域選択は、小領域における評価関数の上界が、水平移動量の暫定解から算出される暫定的な最適評価値よりも小さいような小領域を、枝刈りするためである。言い換えると、小領域選択は、水平移動量の暫定解よりも最適な水平移動量を含む可能性がない小領域を、選択肢から除外する。
式(6)は、小領域における評価関数の上界を説明する数式である。
【0104】
【0105】
式(6)の関数Emaxは、引数を小領域Uとし、水平移動量が小領域Uに含まれるときの、式(4)に示す評価関数E1の上界Emax(U)を出力する。式(6)の上段「Emax(U)=maxv,θE1(uU,v,θ;r+δU)」は、関数Emaxの定義である。uUは、小領域Uに含まれる水平移動量であればよく、特定のものに限定されない。uUは例えば、小領域Uの重心でもよい。
【0106】
δUは、複数の添え字iについての実数δU[i]の、組である。δU[i]は、水平移動量uUからの、i番目の距離関数を用いて測られる距離がδU[i]以下であるような水平移動量の集合が、小領域Uを含むような、実数である。δU[i]は、例えば、i番目の距離関数が式(2)の関数diであるような場合には、小領域Uに含まれる水平移動量の中で水平移動量uUから最も離れている水平移動量と、水平移動量uUとのユークリッド距離である、としてもよい。このようなδU[i]は、水平移動量uUと、小領域Uの端との、距離の最大値として算出できる。式(6)のr+δUは、複数の添え字iについての実数r[i]と実数δU[i]の和、の組である。
【0107】
式(6)の上段によれば、Emax(U)は、式(4)においてはrと表記されていた部分をr+δUで置き換えて再定義される評価関数E1の出力値を最大にするような直進移動量v及び回転量θを算出することによって、算出される。すなわち、式(6)のEmaxは、回転直進量算出部141を用いて算出されうる。
【0108】
式(6)の下段「Emax(U)≧maxu∈Umaxv,θE1(u,v,θ;r)」は、Emax(U)が評価関数E1の上界であることを示す不等式である。式(6)の下段によれば、Emax(U)は、水平移動量が小領域Uに含まれるときの評価関数E1の出力値を、不等式によって上から評価する。すなわち、式(6)によれば、パラメータ算出部142は、小領域Uについて、水平移動量がUに含まれるときの評価関数E1の上界を、回転直進量算出部141を用いて、算出することができる。
【0109】
パラメータ算出部142は、分枝限定法を用いる場合、小領域選択において、選択対象であるそれぞれの小領域の上界を算出し、上界が最大であるような小領域を選択してもよい。また、パラメータ算出部142は、小領域選択で選択された小領域の上界と暫定的な最適評価値との差が小さいもしくは0であることを基準として、小領域への分割、それぞれの小領域における最適評価値の算出、暫定的な最適評価値及び水平移動量の暫定解の更新、ならびに小領域選択、からなる一連の方法の繰り返しを停止させてもよい。
【0110】
以上説明したように、パラメータ算出部142は、少なくとも1つの水平移動量について、回転直進量算出部141を用いて、最適評価値を算出し、算出した少なくとも1つの最適評価値の分布に基づいて、評価関数を最適化する水平移動量を算出することができる。
【0111】
以上説明したように、位置合わせ計算部14は、パラメータ算出部142を用いて、評価関数を最適化する水平移動量を算出することができる。さらに、位置合わせ計算部14は、算出した水平移動量について、回転直進量算出部141を用いて、評価関数を最適化する直進移動量及び回転量を算出することができる。したがって、位置合わせ計算部14は、算出した水平移動量と、直進移動量及び回転量と、から評価関数を最適化する位置合わせパラメータを算出することができる。
【0112】
以上説明したように、測定装置10は、点群データ取得部11を用いて、回転軸を特定して位置合わせ可能な2つの点群データを取得することができる。さらに、測定装置10は、回転軸決定部12を用いて、位置合わせの回転軸を決定することができる。さらに、測定装置10は、評価関数決定部13を用いて、位置合わせ結果の望ましさを測る評価関数を決定することができる。さらに、測定装置10は、位置合わせ計算部14を用いて、評価関数を最適化するような位置合わせパラメータを算出することができる。
【0113】
次に、
図9を用いて第1実施形態にかかる位置合わせ処理の流れについて説明する。
図9は、測定装置10の処理の手順の例を示す図である。
図9の処理で、点群データ取得部11は、第1の測定位置における第1の点群データを取得する(ステップS11)。次に、点群データ取得部11は、第2の測定位置における第2の点群データを取得する(ステップS12)。次に、回転軸決定部12は、位置合わせの回転軸を決定する(ステップS13)。次に、評価関数決定部13は、回転軸、第1の点群データ、及び第2の点群データに基づいて、区分的な柱体により規定される評価関数を決定する(ステップS14)。次に、位置合わせ計算部14は、回転軸、第1の点群データ、及び第2の点群データに基づいて、評価関数を最適化するような、位置合わせパラメータを算出する(ステップS15)。位置合わせ計算部14は、評価関数が区分的な柱体により規定されることを利用して、回転直進量算出部141を用いることによって、位置合わせパラメータを効率的に算出できる。
【0114】
図9において、ステップS12及びステップS13は、第1の点群データを利用しなくてもよい。この場合には、ステップS11は、ステップS12の後に実行されてもよく、ステップS13の後に実行されてもよい。また、ステップS13は、第2の点群データを利用しなくてもよい。この場合には、ステップS12は、ステップS13の後に実行されてもよい。ステップS13は、特定の座標軸を回転軸とすることによって、点群データを利用せずに回転軸を決定できる。
【0115】
以上説明したように、測定装置10は、取得した2つの点群データについて、位置合わせ結果の望ましさを最適化するような位置合わせパラメータを、効率的に算出することができる。とくに、測定装置10は、対応付けられた2つの点同士の距離が近くなるような、位置合わせパラメータを効率的に算出することができる。
【0116】
以上のように、点群データ取得部11は、第1の測定位置における第1の点群データ及び第2の測定位置における第2の点群データを取得する。回転軸決定部12は、位置合わせの回転軸を決定する。評価関数決定部13は、回転軸決定部12が決定する回転軸、点群データ取得部11が取得する第1の点群データ、及び点群データ取得部11が取得する第2の点群データに基づいて、位置合わせ結果の望ましさを表す評価関数として、1つ以上の柱体の和集合の領域を示す評価関数を決定する。位置合わせ計算部14は、回転軸決定部12が決定する回転軸、点群データ取得部11が取得する第1の点群データ、及び点群データ取得部11が取得する第2の点群データに基づいて、評価関数を最適化する位置合わせパラメータを算出する。
このように、評価関数決定部13が、位置合わせ結果の望ましさを表す評価関数として、1つ以上の柱体の和集合の領域を示す評価関数を決定することで、回転軸方向と、回転軸に垂直な方向とを区別して位置合わせ結果を評価することができる。測定装置10によれば、この点で、回転軸方向における点群間のデータの差異と、回転軸に垂直な方向における点群間のデータの差異との偏りを利用して位置合わせを行うことができる。これにより、測定装置10では、位置合わせのためのパラメータの個数が比較的少なくて済み、位置合わせを効率的に行えると期待される。
【0117】
また、位置合わせ計算部14は、回転軸の軸方向への点群データ移動に関連する水平移動量と、回転軸に垂直な方向への点群データ移動に関連する直進移動量とを、異なる手段により算出する。
測定装置10によれば、この点でも、回転軸方向における点群間のデータの差異と、回転軸に垂直な方向における点群間のデータの差異との偏りを利用して位置合わせを行うことができ、位置合わせを効率的に行えると期待される。
【0118】
(第2実施形態)
図10は、第2実施形態にかかる通信システムの構成例を示す図である。
図10に示す構成で、通信システム2は、情報処理装置20、測定装置31、及び測定装置32を備える。測定装置31と測定装置32とを総称して、測定装置30とも表記する。
図10には、通信システム2が備える測定装置30が2台である場合の例を示している。ただし、通信システム2が備える測定装置30は、3台以上であってもよい。もしくは、通信システム2が備える測定装置30は、1台であってもよい。
【0119】
情報処理装置20は、プロセッサがメモリに格納されたプログラムを実行することによって動作するコンピュータ装置であってもよい。情報処理装置20は、測定装置31、及び測定装置32と無線通信回線を介して通信を行ってもよく、有線通信回線を介して通信を行ってもよい。
【0120】
無線通信は、例えば、LTE(Long Term Evolution、LTEは登録商標)、もしくは3GPP(3rd Generation Pertnership Project)において5Gと規定されている無線通信規格を用いた通信であってもよい。または、無線通信は、無線LAN(Local Area Network)であってもよく、赤外線通信、Bluetooth(登録商標)等の近距離無線通信であってもよい。有線通信回線は、光通信回線もしくはイーサネット(登録商標)を用いた通信であってもよい。
【0121】
または、情報処理装置20は、測定装置31とのみ通信を行ってもよい。この場合には、測定装置31は、測定装置32と通信を行うことによってデータを収集し、収集したデータを情報処理装置20へ送信してもよい。もしくは、測定装置31は、複数のデータを取得し、取得した複数のデータを情報処理装置20へ送信してもよい。
【0122】
情報処理装置20は、通信を介して、測定装置が取得する複数の点群データを受信する。情報処理装置20は、点群データとともに、その点群データを取得した測定装置の装置情報を受信してもよい。装置情報は点群データを取得した測定装置の個体を特定する情報であればよく、特定のものに限定されない。装置情報は、例えば、製造番号であってもよく、IPアドレスであってもよく、もしくは、通信システム2があらかじめ測定装置に割り当てる番号であってもよい。後述するように、情報処理装置20が点群データとともに装置情報を受信する場合、情報処理装置20は、算出した位置合わせパラメータと、測定装置の個体とを対応付けることができる。
【0123】
情報処理装置20の構成例について説明する。
図10に示す構成で、情報処理装置20は、点群データ保持部21、回転軸決定部22、評価関数決定部23、位置合わせ計算部24、及び通信部25を備える。回転軸決定部22、評価関数決定部23、及び位置合わせ計算部24は、
図1の測定装置10における、回転軸決定部12、評価関数決定部13、及び位置合わせ計算部14に相当する。
【0124】
すなわち、情報処理装置20は、
図1においては測定装置において実行されていた、回転軸の決定、評価関数の決定、及び位置合わせパラメータの算出を、実行する。回転軸決定部22、評価関数決定部23、及び位置合わせ計算部24の機能及び動作は、回転軸決定部12、評価関数決定部13、及び位置合わせ計算部14の機能及び動作と同様であるため、ここでは詳細な説明を省略する。
【0125】
点群データ保持部21は、情報処理装置20が通信によって受信する、測定装置において取得された点群データを、保持する。点群データ保持部21は、少なくとも2つの点群データを保持する。点群データ保持部21は例えば、情報処理装置20に内蔵されるメモリであってもよく、情報処理装置20に取り付け可能なメモリであってもよい。
点群データ保持部21は、点群データ保持手段の例に該当する。
【0126】
情報処理装置20は、点群データ保持部21が保持する点群データから、第1の測定装置から受信した第1の点群データ及び第2の測定装置から受信した第2の点群データを選択する。測定装置31が第1の測定装置の例に該当し、測定装置32が第2の測定装置の例に該当してもよい。あるいは、測定装置32が第1の測定装置の例に該当し、測定装置31が第2の測定装置の例に該当してもよい。
【0127】
さらに、情報処理装置20は、選択した第1の点群データ及び第2の点群データについて、測定装置10と同様の方法によって、位置合わせパラメータを算出する。すなわち、情報処理装置20が行う処理は、選択した第1の点群データ及び第2の点群データについて、
図9のステップS13、S14、及びS15の処理に相当する、回転軸の決定、評価関数の決定、及び位置合わせパラメータの算出を実行することによって、位置合わせパラメータを算出する。
【0128】
情報処理装置20が点群データとともに装置情報を受信する場合、情報処理装置20は、算出した位置合わせパラメータと、測定装置の個体とを対応付けることができる。すなわち、情報処理装置20は、算出した位置合わせパラメータと、第1の測定装置及び第2の測定装置とを対応付けることができる。
【0129】
情報処理装置20は、算出した位置合わせパラメータを、通信によって、第1の測定装置及び第2の測定装置に送信してもよい。もしくは、情報処理装置20は、算出した位置合わせパラメータを、通信によって、すべての測定装置に送信してもよい。この場合、位置合わせパラメータを受信した測定装置は、位置合わせパラメータから算出される水平移動量、直進移動量、及び回転量から、自身の点群データ取得時の位置や向きを知ることができる。
【0130】
情報処理装置20は、算出した位置合わせパラメータに基づいて、第1の点群データを取得した第1の測定位置及び第2の点群データを取得した第2の測定位置を算出し、第1の測定位置及び第2の測定位置の情報を、通信によって、第1の測定装置及び第2の測定装置に送信してもよい。
【0131】
通信部25は、他の装置と通信を行う。特に、通信部25は、測定装置30と通信を行って、上述した各種データをやり取りする。例えば、通信部25は、複数の測定装置30それぞれが取得する点群データを受信する。通信部25は、通信手段の例に該当する。
【0132】
以上のように、通信部25は、複数の測定装置30それぞれが取得する点群データを受信する。点群データ保持部21は、第1の測定装置から受信した第1の点群データ及び第2の測定装置から受信した第2の点群データを保持する。回転軸決定部22は、位置合わせの回転軸を決定する。評価関数決定部23は、回転軸決定部22が決定する回転軸、点群データ保持部21が保持する第1の点群データ、及び点群データ保持部21が保持する第2の点群データに基づいて、位置合わせ結果の望ましさを表す評価関数として、1つ以上の柱体の和集合の領域を示す評価関数を決定する。位置合わせ計算部24は、回転軸決定部22が決定する回転軸、点群データ保持部21が保持する第1の点群データ、及び点群データ保持部21が保持する第2の点群データに基づいて、評価関数を最適化する位置合わせパラメータを算出する。
【0133】
このように、情報処理装置20が、測定装置30の代わりに、回転軸の決定、評価関数の決定、及び位置合わせパラメータの算出に関する処理を、実行することによって、測定装置30における処理負荷を低減することができる。測定装置30は、例えば、LiDAR装置等であり、一般的なサーバ装置等と比較して処理能力が低い場合が多い。そのため、測定装置30の処理負荷を低減させることによって、測定装置30に生じうる故障のリスクを低減させることができる。
【0134】
(第3実施形態)
図11は、第3実施形態にかかる測定装置の構成例を示す図である。
図11に示す構成で、測定装置610は、点群データ取得部611と、回転軸決定部612と、評価関数決定部613と、位置合わせ計算部614と、を備える。
【0135】
かかる構成で、点群データ取得部611は、第1の測定位置における第1の点群データ及び第2の測定位置における第2の点群データを取得する。回転軸決定部612は、位置合わせの回転軸を決定する。評価関数決定部613は、回転軸決定部612が決定する回転軸、点群データ取得部611が取得する第1の点群データ、及び点群データ取得部611が取得する第2の点群データに基づいて、位置合わせ結果の望ましさを表す評価関数として、1つ以上の柱体の和集合の領域を示す評価関数を決定する。位置合わせ計算部614は、回転軸決定部612が決定する回転軸、点群データ取得部611が取得する第1の点群データ、及び点群データ取得部611が取得する第2の点群データに基づいて、評価関数を最適化する位置合わせパラメータを算出する。
【0136】
点群データ取得部611は、点群データ取得手段の例に該当する。回転軸決定部612は、回転軸決定手段の例に該当する。評価関数決定部613は、評価関数決定手段の例に該当する。位置合わせ計算部614は、位置合わせ計算手段の例に該当する。
【0137】
このように、評価関数決定部613が、位置合わせ結果の望ましさを表す評価関数として、1つ以上の柱体の和集合の領域を示す評価関数を決定することで、回転軸方向と、回転軸に垂直な方向とを区別して位置合わせ結果を評価することができる。測定装置610によれば、この点で、回転軸方向における点群間のデータの差異と、回転軸に垂直な方向における点群間のデータの差異との偏りを利用して位置合わせを行うことができる。これにより、測定装置610では、位置合わせのためのパラメータの個数が比較的少なくて済み、位置合わせを効率的に行えると期待される。
【0138】
(第4実施形態)
図12は、第4実施形態にかかる情報処理装置の構成例を示す図である。
図12に示す構成で、情報処理装置620は、通信部621と、点群データ保持部622と、回転軸決定部623と、評価関数決定部624と、位置合わせ計算部625と、を備える。
【0139】
かかる構成で、通信部621は、複数の測定装置それぞれが取得する点群データを受信する。点群データ保持部622は、第1の測定装置から受信した第1の点群データ及び第2の測定装置から受信した第2の点群データを保持する。回転軸決定部623は、位置合わせの回転軸を決定する。評価関数決定部624は、回転軸決定部623が決定する回転軸、点群データ保持部622が保持する第1の点群データ、及び点群データ保持部622が保持する第2の点群データに基づいて、位置合わせ結果の望ましさを表す評価関数として、1つ以上の柱体の和集合の領域を示す評価関数を決定する。位置合わせ計算部625は、回転軸決定部22が決定する回転軸、点群データ保持手段が保持する第1の点群データ、及び点群データ保持部21が保持する第2の点群データに基づいて、評価関数を最適化する位置合わせパラメータを算出する。
【0140】
通信部621は、通信手段の例に該当する。点群データ保持部622は、点群データ保持手段の例に該当する。回転軸決定部623は、回転軸決定手段の例に該当する。評価関数決定部624は、評価関数決定の例に該当する。位置合わせ計算部625は、位置合わせ計算手段の例に該当する。
【0141】
このように、情報処理装置620が、測定装置の代わりに、回転軸の決定、評価関数の決定、及び位置合わせパラメータの算出に関する処理を、実行することによって、測定装置における処理負荷を低減することができる。測定装置は、例えば、LiDAR装置等であり、一般的なサーバ装置等と比較して処理能力が低い場合が多い。そのため、測定装置の処理負荷を低減させることによって、測定装置に生じうる故障のリスクを低減させることができる。
【0142】
(第5実施形態)
図13は、第5実施形態にかかる位置合わせ方法における処理の手順の例を示す図である。
図13に示す位置合わせ方法は、回転軸を決定すること(ステップS611)と、評価関数を決定すること(ステップS612)と、位置合わせ計算を行うこと(ステップS613)とを含む。
【0143】
回転軸を決定すること(ステップS611)では、第1の点群データと第2の点群データとの位置合わせの回転軸を決定する。評価関数を決定すること(ステップS612)では、回転軸、第1の点群データ、及び第2の点群データに基づいて、位置合わせ結果の望ましさを表す評価関数として、1つ以上の柱体の和集合の領域を示す評価関数を決定する。位置合わせ計算を行うこと(ステップS613)では、回転軸、第1の点群データ、及び第2の点群データに基づいて、評価関数を最適化する位置合わせパラメータを算出する。
【0144】
このように、位置合わせ結果の望ましさを表す評価関数として、1つ以上の柱体の和集合の領域を示す評価関数を決定することで、回転軸方向と、回転軸に垂直な方向とを区別して位置合わせ結果を評価することができる。
図13に示す位置合わせ方法によれば、この点で、回転軸方向における点群間のデータの差異と、回転軸に垂直な方向における点群間のデータの差異との偏りを利用して位置合わせを行うことができる。これにより、
図13に示す位置合わせ方法では、位置合わせのためのパラメータの個数が比較的少なくて済み、位置合わせを効率的に行えると期待される。
【0145】
図14は、測定装置10及び情報処理装置20(以下、測定装置10等とする)の構成例を示すブロック図である。
図14を参照すると、測定装置10等は、ネットワークインタフェース91、プロセッサ92、及びメモリ93を含む。
ネットワークインタフェース91は、ネットワークノード(例えば、eNB、MME、P-GW等)と通信するために使用される。ネットワークインタフェース91は、例えば、IEEE802.3 seriesに準拠したネットワークインタフェースカード(NIC)を含んでもよい。
【0146】
プロセッサ92は、メモリ93からソフトウェア(コンピュータプログラム)を読みだして実行することで、上述の実施形態においてフローチャートを用いて説明された測定装置10等の処理を行う。プロセッサ92は、例えば、マイクロプロセッサ、MPU、またはCPUであってもよい。プロセッサ92は、複数のプロセッサを含んでもよい。
【0147】
メモリ93は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ93は、プロセッサ92から離れて配置されたストレージを含んでもよい。この場合、プロセッサ92は、明示されていないI/Oインタフェースを介してメモリ93にアクセスしてもよい。
【0148】
図14の例では、メモリ93は、ソフトウェアモジュール群を格納するために使用される。プロセッサ92は、これらのソフトウェアモジュール群をメモリ93から読み出して実行することで、上述の実施形態において説明された測定装置10等の処理を行うことができる。
【0149】
図14を用いて説明したように、上述の実施形態における測定装置10等が有するプロセッサの各々は、図面を用いて説明されたアルゴリズムをコンピュータに行わせるための命令群を含む1または複数のプログラムを実行する。
【0150】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tragible storage medium)を含む。
【0151】
非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。
【0152】
なお、本開示は上記実施の形態に限られたものではなく趣旨を逸脱しない範囲で適宜変更することが可能である。
【産業上の利用可能性】
【0153】
本発明の実施形態は、測定装置、情報処理装置、位置合わせ方法、及びコンピュータ可読媒体に適用してもよい。
【符号の説明】
【0154】
2 通信システム
10、31、32、610 測定装置
11、611 点群データ取得部
12、22、612 回転軸決定部
13、23、613 評価関数決定部
14、24、614 位置合わせ計算部
141 回転直進量算出部
1411 回転直進量可能領域算出部
1412 回転直進量可能領域集計部
142 パラメータ算出部
20 情報処理装置
21 点群データ保持部
25 通信部