(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-01
(45)【発行日】2024-07-09
(54)【発明の名称】システム
(51)【国際特許分類】
G01B 11/00 20060101AFI20240702BHJP
【FI】
G01B11/00 H
(21)【出願番号】P 2020113692
(22)【出願日】2020-07-01
【審査請求日】2023-05-17
(73)【特許権者】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】武智 太郎
【審査官】仲野 一秀
(56)【参考文献】
【文献】国際公開第2017/159382(WO,A1)
【文献】特表2008-537190(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00-11/30
G06T 7/00-7/90
G01C 3/00-3/32
G01C 1/00-1/14
5/00-15/14
G01S 7/48-7/51
17/00-17/95
(57)【特許請求の範囲】
【請求項1】
空間の平面の少なくとも3つの点に配置され、当該各点からの光の発信により、測定対象としての仮想的な平面を形成する複数の光の発信器と、
互いに異なる第1、第2のポジションから
前記測定対象の3次元座標を測定可能なセンサー
と、
前記センサーにより測定された測定データを処理するデータ処理装置
と、を備え、
前記データ処理装置は、
前記測定対象の互いに法線ベクトルが異なる3つ以上の平面の測定データを前記センサーから取得し、取得した測定データから、前記第2のポジションのセンサーの座標系を前記第1のポジションのセンサーの座標系に統合する変換式を算出する制御部を備える
システム。
【請求項2】
前記第1のポジションのセンサーと、前記第2のポジションのセンサーとは、異なるセンサーである請求項1に記載の
システム。
【請求項3】
前記第1のポジションのセンサーと、前記第2のポジションのセンサーとは、同一のセンサーである請求項1に記載の
システム。
【請求項4】
前記第1のポジションのセンサーの視野と、前記第2のポジションのセンサーの視野とは、被っていない請求項1から3のいずれか一項に記載の
システム。
【請求項5】
前記センサーは、互いに異なる3以上のポジションから測定対象の3次元座標を測定可能なセンサーである請求項1から4のいずれか一項に記載の
システム。
【請求項6】
前記制御部は、前記取得した測定データから、前記第2のポジションのセンサーの3次元の各軸を前記第2のポジションのセンサーの各軸に合わせるために回転する回転パラメーターと、前記第2のポジションのセンサーの3次元の座標系の原点を前記第1のポジションのセンサーの3次元の座標系の原点に平行移動するための平行移動パラメーターと、を算出し、算出した回転パラメーター及び平行移動パラメーターから前記変換式を算出する請求項1から
5のいずれか一項に記載の
システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、システムに関する。
【背景技術】
【0002】
測定対象物をセンサーで測定することにより、測定対象物の位置を測定する技術が知られている。例えば、被測定物(測定対象物)を複数の異なる方向から撮影し、複数の画像データのテクスチャ同士の幾何学的位置関係を求めることによって、被測定物の形状データの位置決めを行う3次元データ処理装置が知られている(特許文献1参照)。
【0003】
また、被写体(測定対象物)に関連付けられた複数のマーカーを用いて当該被写体を撮影し、予め設定された被写体及び複数のマーカーの3次元座標と、撮影画像の複数のマーカーの2次元座標とから、被写体の2次元座標を算出する撮影対象物標識システムが知られている(特許文献2参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2015-97688号公報
【文献】特開2007-164383号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
複数の(3次元)センサーを用いて測定対象物を測定する場合に、当該複数のセンサーの座標系を統合する要請がある。また、特許文献1の3次元データ処理装置では、撮影位置が所定範囲以上重複(視野が被っている)必要があり、広範囲測定可能な系への適用が困難であった。また、特許文献2の撮影対象物標識システムでは、複数のマーカーの3次元座標を事前に精度よく測定しておく必要があるため、広範囲測定可能な系への適用が困難であった。
【0006】
本発明の課題は、広範囲測定可能な系においても、複数の異なるポジションでの測定の座標系を容易に統合することである。
【課題を解決するための手段】
【0007】
上記課題を解決するため、請求項1に記載の発明のシステムは、
空間の平面の少なくとも3つの点に配置され、当該各点からの光の発信により、測定対象としての仮想的な平面を形成する複数の光の発信器と、
互いに異なる第1、第2のポジションから前記測定対象の3次元座標を測定可能なセンサーと、
前記センサーにより測定された測定データを処理するデータ処理装置と、を備え、
前記データ処理装置は、
前記測定対象の互いに法線ベクトルが異なる3つ以上の平面の測定データを前記センサーから取得し、取得した測定データから、前記第2のポジションのセンサーの座標系を前記第1のポジションのセンサーの座標系に統合する変換式を算出する制御部を備える。
【0008】
請求項2に記載の発明は、請求項1に記載のシステムにおいて、
前記第1のポジションのセンサーと、前記第2のポジションのセンサーとは、異なるセンサーである。
【0009】
請求項3に記載の発明は、請求項1に記載のシステムにおいて、
前記第1のポジションのセンサーと、前記第2のポジションのセンサーとは、同一のセンサーである。
【0010】
請求項4に記載の発明は、請求項1から3のいずれか一項に記載のシステムにおいて、
前記第1のポジションのセンサーの視野と、前記第2のポジションのセンサーの視野とは、被っていない。
【0011】
請求項5に記載の発明は、請求項1から4のいずれか一項に記載のシステムにおいて、
前記センサーは、互いに異なる3以上のポジションから測定対象の3次元座標を測定可能なセンサーである。
【0016】
請求項6に記載の発明は、請求項1から5のいずれか一項に記載のシステムにおいて、
前記制御部は、前記取得した測定データから、前記第2のポジションのセンサーの3次元の各軸を前記第2のポジションのセンサーの各軸に合わせるために回転する回転パラメーターと、前記第2のポジションのセンサーの3次元の座標系の原点を前記第1のポジションのセンサーの3次元の座標系の原点に平行移動するための平行移動パラメーターと、を算出し、算出した回転パラメーター及び平行移動パラメーターから前記変換式を算出する。
【発明の効果】
【0019】
本発明によれば、広範囲測定可能な系においても、複数の異なるポジションでの測定の座標系を容易に統合できる。
【図面の簡単な説明】
【0020】
【
図1】本発明の実施の形態のデータ処理装置の機能構成を示すブロック図である。
【
図2】実施の形態のセンサーと測定対象物との配置例を示す図である。
【
図3】変換式算出処理を示すフローチャートである。
【
図4】(a)は、実施の形態の視野が被った状態のセンサーと、姿勢が変化された測定対象物と、を示す図である。(b)は、実施の形態の視野が被っていない状態のセンサーと、姿勢が変化された測定対象物と、を示す図である。
【
図5】第1の変形例のセンサーと、姿勢が変化された測定対象物と、を示す図である。
【
図6】第2の変形例のセンサーと、固定された測定対象物と、を示す図である。
【
図7】第3の変形例のセンサーと、姿勢が変化された測定対象物と、を示す図である。
【
図8】第4の変形例のセンサーと、固定された測定対象物と、を示す図である。
【発明を実施するための形態】
【0021】
添付図面を参照して本発明に係る実施の形態、第1~第4の変形例を順に詳細に説明する。なお、本発明は、図示例に限定されるものではない。
【0022】
(実施の形態)
図1~
図4を参照して、本発明に係る実施の形態を説明する。まず、
図1、
図2を参照して、本実施の形態の装置構成を説明する。
図1は、本実施の形態のデータ処理装置10の機能構成を示すブロック図である。
図2は、本実施の形態のセンサー20A,20Bと測定対象物M1との配置例を示す図である。
【0023】
本実施の形態のデータ処理装置10は、センサー群20のセンサーから取得した測定データを用いて、2つのセンサーの測定データの座標を統合するデータ処理を行う情報処理装置である。
【0024】
図1に示すように、データ処理装置10は、制御部としてのCPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、測定データI/F(InterFace)部14と、記憶部15と、操作部16と、表示部17と、通信部18と、を備える。センサー群20は、センサー20A,20Bを有する。
【0025】
CPU11は、データ処理装置10の各部の処理動作を統括的に制御する。具体的には、CPU11は、ROM12に記憶されている各種処理プログラムを読み出してRAM13に展開し、展開したプログラムとの協働により各種処理を行う。
【0026】
ROM12は、各種データの読み出しが可能な記憶部であり、各種処理プログラムや、当該プログラムの実行に必要なパラメーターやファイルなどのデータを記憶している。ROM12は、後述する変換式算出処理を実行するための変換式算出プログラムが記憶されている。
【0027】
RAM13は、CPU11により実行制御される各種処理において、ROM12から読み出された各種プログラムや、入力データ、出力データ、パラメーターなどのデータを一時的に記憶するワークエリアを形成する。
【0028】
測定データI/F部14は、ケーブルを介して接続されたセンサー20A,20Bとの間でデータ通信を行うインターフェースであり、センサー20A,20Bから測定データを取得する。
【0029】
記憶部15は、HDD(Hard Disk Drive)、SSD(Solid State Drive)や不揮発性の半導体メモリーなどにより構成され、各種データを読み出し及び書き込み可能に記憶する。
【0030】
操作部16は、カーソルキー、文字入力キー及び各種機能キーなどを有するキーボードと、マウスなどのポインティングデバイスを備え、キーボードに対するキー操作やマウスなどへの位置操作により入力された操作情報をCPU11に出力する。また、操作部16は、表示部17の表示画面に積層されたタッチパネルを含み、操作者の指などによるタッチ操作の位置に応じた操作情報をCPU11に出力する構成としてもよい。
【0031】
表示部17は、LCD(Liquid Crystal Display)、EL(ElectroLuminescence)ディスプレイなどのモニターを備え、CPU11から入力される表示情報の指示に従って、各種画面をモニターに表示する。
【0032】
通信部18は、ネットワークインターフェースなどにより構成され、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどの通信ネットワークを介して接続された外部機器との間でデータの送受信を行う。
【0033】
センサー20A,20Bは、それぞれ、3次元センサーであり、測定対象物までの距離を測定し、測定対象物の表面平面を示す3次元座標の測定データを出力する。この3次元センサーは、例えば、ステレオカメラ法のセンサーや、LIDAR(Light Detection and Ranging)、ミリ波レーダーなどの飛行時間法(TOF:Time of Flight Method)のセンサー、アクティブステレオ法のセンサーなどで構成される。
【0034】
ステレオカメラのセンサーは、互いに位置が異なる2つのカメラ部を有し、各カメラ部で撮影された画像データを比較することにより、測定対象物である被写体までの距離、位置を測定する。LIDARの測距センサーは、パルス状に発光するレーザーを照射するレーザー照射部と、レーザー照射に対する散乱光を測定する受光部とを有し、レーザーの照射から散乱光受信までの時間に対応する測定対象物までの距離、位置を測定する。ミリ波レーダーの測距センサーは、ミリ波の信号を生成するシンセサイザー、ミリ波の信号に応じた電波を送信するTX(Transmitter)アンテナ、この電波が測定対象物により反射され戻ってきた電波を受信するRX(Receiver)アンテナを有し、電波の送信から受信までの時間に対応する測定対象物までの距離、位置を測定する。アクティブステレオ法の測距センサーは、ステレオカメラの1つのカメラ部をスポット光、スリット光、マルチパターン光などの光の投影部に置き換えたものであり、対象に投影された光を1つのカメラ部で撮像して検出し、光が投影された箇所までの距離、位置を測定する。なお、上記各種センサーの測定データ生成の情報処理の少なくとも一部をCPU11が行う構成としてもよい。
【0035】
図2に示すように、センサー20A,20Bを用いて測定対象物M1の位置を測定する場合を説明する。測定対象物M1は、平板状の基準平面板とする。
【0036】
センサー20A,20Bは、互いに異なるポジション(位置、姿勢)に配置され、それぞれ独自の(独立した)3次元の座標系を有する。センサー20Aの座標系において、原点O、x軸、y軸、z軸を、原点O
a、x
a軸、y
a軸、z
a軸とする。センサー20Bの座標系において、原点O、x軸、y軸、z軸を、原点O
b、x
b軸、y
b軸、z
b軸とする。
図2上では、センサー20A,20Bのy
a軸と、y
b軸とが平行の場合を図示しているが、これに限定されるものではない。また、センサー20A,20Bは、センサー20Aの光軸(z
a軸)の延長上の測定対象物M1の表面の法線ベクトルと、センサー20Bの光軸(z
b軸)の延長上の測定対象物M1の表面の法線ベクトルとが、異なるように配置されている。
【0037】
センサー20Aの測定データは、センサー20Aの座標系における測定対象物M1の表面の点の座標データ(xa,ya,za)となる。センサー20Bの測定データは、センサー20Bの座標系における測定対象物M1の表面の点の座標データ(xb,yb,zb)となる。
【0038】
ここで、センサー20Bの座標系は、xb軸まわりに回転角θx、yb軸まわりに回転角θy、zb軸まわりに回転角θz回転させ、xa軸方向にpx、y軸方向にpy、z軸方向にpz(ベクトルp=(px,py,pz))平行移動させることで、センサー20Aの座標系と同一の座標系に変換することができる。ここで、回転角θxは、xb軸を中心としてyb軸をzb軸に向ける方向を正とする。回転角θyは、yb軸を中心としてzb軸をxb軸に向ける方向を正とする。回転角θzは、xb軸をyb軸に向ける方向を正とする。本実施の形態では、この6つのパラメーター(回転パラメーターθx,θy,θz、平行移動パラメーターpx,py,pzとする)を簡単に求めるための手法を提案する。
【0039】
つぎに、
図3、
図4を参照して、データ処理装置10の動作を説明する。
図3は、変換式算出処理を示すフローチャートである。
図4(a)は、本実施の形態の視野が被った状態のセンサー20A,20Bと、姿勢が変化された測定対象物M1と、を示す図である。
図4(b)は、本実施の形態の視野が被っていない状態のセンサー20A,20Bと、姿勢が変化された測定対象物M1と、を示す図である。
【0040】
図3を参照して、データ処理装置10で実行される変換式算出処理を説明する。変換式算出処理は、センサー20A,20Bにより測定対象物を測定して、回転パラメーターθ
x,θ
y,θ
z及び平行移動パラメーターp
x,p
y,p
zを算出し、回転パラメーターθ
x,θ
y,θ
z及び平行移動パラメーターp
x,p
y,p
zにより、センサー20Bの座標系をセンサー20Aの座標系に変換するための変換式を算出する処理である。
【0041】
ここでは、
図4(a)に示すように、例えば、センサー20Aの視野FAと、センサー20Bの視野FBとが領域AR1で被るように、センサー20A,20Bが配置されているものとする。また、少なくとも、視野FA,FB(領域AR1)内に測定対象物M1の同一の平面表面が含まれるように配置された測定対象物M1の姿勢が姿勢PO1,PO2,PO3に変化され、それぞれの姿勢で、測定データが測定されるものとする。このように、回転パラメーターθ
x,θ
y,θ
z及び平行移動パラメーターp
x,p
y,p
zを求めるために、センサー20A,20Bのポジションを固定して、3つ以上の姿勢での測定対象物M1の測定が必要になる。
【0042】
なお、
図4(b)に示すように、センサー20Aの視野FAと、センサー20Bの視野FBとが被らないように、センサー20A,20Bが配置されているものとしてもよい。
【0043】
データ処理装置10において、例えば、操作部16を介して操作者から変換式算出処理の実行指示が入力されたことをトリガーとして、CPU11は、ROM12に記憶された変換式算出プログラムに従い、変換式算出処理を実行する。
【0044】
図3に示すように、まず、CPU11は、センサー20A,20Bに対して初期化を行う(ステップS11)。そして、CPU11は、センサー20A,20Bの初期化が終了したか否かを判断する(ステップS12)。初期化が終了していない場合(ステップS12;NO)、ステップS11に移行される。
【0045】
初期化が終了した場合(ステップS12;YES)、CPU11は、測定データI/F部14を介して、センサー20Aからある姿勢の測定対象物M1の平面表面の測定データ(xai,yai,zai)(変数i=1,2,…)を取得し、センサー20Bから同じ姿勢の測定対象物M1の平面表面の測定データ(xbi,ybi,zbi)を取得する(ステップS13)。初めてステップS13を通る場合は、i=1となる。また、測定データ(xai,yai,zai)は、測定対象物M1の平面表面のza軸上の交点(0,0,zai)を含む当該平面表面の複数の点の3次元座標データとする。測定データ(xbi,ybi,zbi)は、測定対象物M1の平面表面上の複数の点の3次元座標データとする。
【0046】
そして、CPU11は、ステップS13で取得された測定データ(x
ai,y
ai,z
ai)から最小二乗法により平面P
aiを算出し、同じく取得された測定データ(x
bi,y
bi,z
bi)から最小二乗法により平面P
biを算出する(ステップS14)。ステップS14において、測定データ(x
ai,y
ai,z
ai)に対応する平面P
aiと、測定データ(x
bi,y
bi,z
bi)に対応する平面P
biとは、次式(1)、(2)により表される(ただし、ここではiを省略している)。
【数1】
ただし、t:式(1)の平面上のx
a軸方向の任意のx座標、s:式(1)の平面上のy
a軸方向の任意のy座標、dz
ax:x
a軸方向の1増加に対するz
a増加量(z
aのx
a軸方向の偏微分)、dz
ay:y
a軸方向の1増加に対するz
a増加量(z
aのy
a軸方向の偏微分)、t’:式(2)の平面上のx
b軸方向の任意のx座標、s’:式(2)の平面上のy
b軸方向の任意のy座標、dz
bxi:x
b軸方向の1増加に対するz
b増加量(z
bのx
b軸方向の偏微分)、dz
byi:y
b軸方向の1増加に対するz
b増加量(z
bのy
b軸方向の偏微分)である。
【0047】
そして、CPU11は、ステップS14で算出された平面Paiの法線ベクトルvaiと、平面Pbiの法線ベクトルvbiと、を算出し、互いに相違な法線ベクトルvai,vbiの平面表面が所定数(予め設定された3以上の値)あるか否かを判別する(ステップS15)。
【0048】
互いに相違な法線ベクトルvai,vbiの平面表面が所定数ない場合(ステップS15;NO)、CPU11は、測定対象物M1の姿勢を変更指示するメッセージを表示部17に表示し、変数iを1インクリメントし(ステップS16)、ステップS13に移行する。ステップS16に対応して、操作者は、測定対象物M1の姿勢を変更する。
【0049】
互いに相違な法線ベクトルvai,vbiの平面表面が所定数ある場合(ステップS15;YES)、CPU11は、互いに相違な3つ以上の法線ベクトルvai,vbiを用いて、回転パラメーターθx,θy,θz及び平行移動パラメーターpx,py,pzを算出する(ステップS17)。
【0050】
ステップS17における回転パラメーターθ
x,θ
y,θ
zの算出方法を説明する。まず、回転行列R
x:x
b軸周りの回転(回転角θ
x)、回転行列R
y:y
b軸周りの回転(回転角θ
y)、回転行列R
z:z
b軸周りの回転(回転角θ
z)とし、数式を見やすくするためθ
x=θ、θ
y=φ、θ
z=ψとする。R
x,R
y,R
zによる回転は、次式(3)を用いて、次式(4)で表される。
【数2】
【0051】
全ての法線ベクトルvai,vbiのうち、互いに相違な法線ベクトルvai,vbiを、それぞれ、法線ベクトルva1,va2,…,van(nは任意の自然数)、法線ベクトルvb1,vb2,…,vbn、とすると、次式(5)の関係となる。
(va1va2…van)=RxRyRz(vb1vb2…vbn) …(5)
【0052】
式(5)において、A=RxRyRzB,R=RxRyRzとすると、n=3のときは、B=R-1Aを用いて、次式(6)により、θ,φ,ψ=回転パラメーターθx,θy,θzが算出される。
R=AB-1 …(6)
例えば、測定対象物M1の姿勢PO1,PO2,PO3に対応する3組の法線ベクトルに対応する変数i(n=3)に対応する式(6)から、回転パラメーターθx,θy,θzが算出される。
【0053】
n>3のときは、式(5)において、一般化逆行列(RTR)-1RT(ただし、RTはRの転置行列)を用いて、次式(7)により、最小二乗法でRxRyRzの誤差を小さくして、θ,φ,ψ=回転パラメーターθx,θy,θzが算出される。
B=(RTR)-1RTA …(7)
【0054】
また、ステップS17における平行移動パラメーターp
x,p
y,p
zの算出方法を説明する。まず、センサー20Aの原点O
aからセンサー20Bの原点O
bまでの位置ベクトルp=(p
x,p
y,p
z)とする。すると、次式(8)が成り立つ。
【数3】
【0055】
式(8)で、t=-px-rxb,s=-py-rybとすれば、次式(9)となる。
-dzax(px+rxb)-dzay(py+ryb)+rzb+pz=za …(9)
ここで、-dzax,rxb,dzay,ryb,rzb,zaは、既知の値である。このため、測定対象物M1の3つ以上の姿勢に対する変数iに対応する3つの式(9)を解くことにより、平行移動パラメーターpx,py,pzが算出される。
【0056】
そして、CPU11は、ステップS17で算出された回転パラメーターθ
x,θ
y,θ
z及び平行移動パラメーターp
x,p
y,p
zを用いて、センサー20Bの座標系をセンサー20Aの座標系に統合(変換)するための変換式を算出して記憶部15に記憶し(ステップS18)、変換式算出処理を終了する。ステップS18の変換式は、変換前のセンサー20Bの座標系の3次元座標位置(x
B,y
B,z
B)、変換後のセンサー20Aの座標系の3次元座標位置(x
A,y
A,z
A)を用いて、次式(10)で表される。
【数4】
【0057】
以上、本実施の形態によれば、データ処理装置10は、互いに異なるポジションから測定対象物M1の3次元座標を測定可能なセンサー20A,20Bにより測定された測定データを処理する。データ処理装置10は、測定対象物M1の互いに法線ベクトルが異なる3つ以上の平面の測定データをセンサー20A,20Bから取得し、取得した測定データから、センサー20Bの座標系をセンサー20Aの座標系に統合する変換式を算出するCPU11を備える。このため、センサー20Bの座標系をセンサー20Aの座標系に統合することにより、広範囲測定可能な系においても、複数の異なるポジションでの測定の座標系を容易に統合できる。
【0058】
また、互いに異なるポジションのセンサー20Aとセンサー20Bとは、異なるセンサーである。このため、センサー20A,20Bのポジションを固定して測定対象物M1の表面平面を容易に測定できる。
【0059】
また、センサー20Aの視野FAと、センサー20Bの視野FBとは、被っている。なお、センサー20Aの視野FAと、センサー20Bの視野FBとは、被っていない構成としてもよい。この被っていない構成では、広範囲測定可能な系においても、複数の異なるポジションでの測定の座標系を容易に統合できる。
【0060】
また、測定対象は、物理的な表面平面を有する測定対象物M1である。このため、測定対象物M1を容易に測定できる。
【0061】
また、測定対象物M1は、姿勢の変化が可能である。センサー20A,20Bは、測定対象物M1の姿勢が変化(姿勢PO1,PO2,PO3)された状態の複数の平面を測定する。このため、測定対象物M1の姿勢の変化をすることにより、測定対象物M1の複数の平面を容易に測定できる。
【0062】
また、CPU11は、取得した測定データから、センサー20Bの3次元の各軸をセンサー20Aの各軸に合わせるために回転する回転パラメーターθx,θy,θzと、センサー20Bの3次元の座標系の原点をセンサー20Aの3次元の座標系の原点に平行移動するための平行移動パラメーターpx,py,pzと、を算出し、算出した回転パラメーターθx,θy,θz及び平行移動パラメーターpx,py,pzから変換式を算出する。このため、センサー20Bの座標系をセンサー20Aの座標系に統合する変換式を容易かつ正確に算出できる。
【0063】
(第1の変形例)
図5を参照して、上記実施の形態の第1の変形例を説明する。
図5は、本変形例のセンサー20A,20B,20Cと、姿勢が変化された測定対象物M1と、を示す図である。
【0064】
上記実施の形態では、データ処理装置10において、センサー群20が2つのセンサー20A,20Bを有する構成としたが、本変形例では、データ処理装置10のセンサー群20が3つのセンサー20A,20B,20Cを有する構成とする。なお、センサー群20が4つ以上のセンサーを有する構成としてもよい。本変形例のデータ処理装置10において、上記実施の形態のデータ処理装置10と同じ部分に同じ符号を付して、その説明を省略する。
【0065】
センサー20Cは、センサー20A,20Bと同様の3次元測定センサーとし、センサー20A,20Bと互いに異なるポジションに配置されているものとする。
【0066】
つぎに、データ処理装置10の動作を説明する。
図5に示すように、例えば、センサー20Aの視野FAと、センサー20Bの視野FBと、センサー20Cの視野FCとが被らないように、センサー20A,20B,20Cが配置されているものとする。また、少なくとも、視野FA,FB,FC内に測定対象物M1の同一の平面表面が含まれるように、測定対象物M1の姿勢が姿勢PO1,PO2,PO3に変化され、それぞれの姿勢の平面表面が測定されるものとする。このように、回転パラメーターθ
x,θ
y,θ
z及び平行移動パラメーターp
x,p
y,p
zを求めるために、センサー20A,20B,20Cの位置を固定して、測定対象物M1の3つ以上の姿勢の平面表面の測定がなされる。なお、センサー20Aの視野FAと、センサー20Bの視野FBと、センサー20Cの視野FCとが、同一の領域で被る構成としてもよい。
【0067】
本変形例においても、データ処理装置10において、変換式算出処理と同様の処理が実行される。本変形例では、例えば、ある1つのセンサーの座標系を他の1つのセンサーの座標系に統合する変換式(ここでは、例えば、センサー20Bの座標系をセンサー20Aの座標系に統合する変換式、センサー20Cの座標系をセンサー20Aの座標系に統合する変換式)を算出する。
【0068】
ステップS11では、CPU11は、センサー20A,20B,20Cを初期化する。ステップS12では、CPU11は、センサー20A,20B,20Cの初期化が終了したか否かを判別する。ステップS13では、CPU11は、センサー20A,20B,20Cにより、ある姿勢の測定対象物M1の平面表面の測定データを取得する。ステップS14では、CPU11は、センサー20A,20B,20Cの測定データから平面の法線ベクトルを算出する。ステップS15では、CPU11は、センサー20A,20Bの測定データに対応する法線ベクトルを算出し、算出した法線ベクトルが相違する平面表面が所定数あり、かつ、センサー20A,20Cの測定データに対応する法線ベクトルを算出し、算出した法線ベクトルが相違する平面表面が所定数あるか否かを判別する。
【0069】
ステップS17では、CPU11は、センサー20Bの座標系をセンサー20Aの座標系に統合するための回転パラメーター及び平行移動パラメーターと、センサー20Cの座標系をセンサー20Aの座標系に統合するための回転パラメーター及び平行移動パラメーターと、を算出する。ステップS18では、CPU11は、ステップS17で算出された回転パラメーター及び平行移動パラメーターを用いて、センサー20Bの座標系をセンサー20Aの座標系に統合する変換式と、センサー20Cの座標系をセンサー20Aの座標系に統合する変換式と、を算出し記憶部15に記憶する。
【0070】
以上、本変形例によれば、センサー群20は、互いに異なる3以上のポジションから測定対象の3次元座標を測定可能なセンサー20A,20B,20Cを有する。このため、第2のポジションのセンサーの座標系を第1のポジションのセンサーの座標系に統合する変換式を複数組(ここでは2組)算出できる。
【0071】
(第2の変形例)
図6を参照して、上記実施の形態の第2の変形例を説明する。
図6は、本変形例のセンサー20A,20Bと、固定された測定対象物と、を示す図である。
【0072】
上記実施の形態では、データ処理装置10において、測定対象物M1の姿勢を3つ以上変化させて測定する構成としたが、本変形例では、データ処理装置10を用いて、測定対象物M2の姿勢を固定して測定する構成とする。本変形例のデータ処理装置10において、上記実施の形態のデータ処理装置10と同じ部分に同じ符号を付して、その説明を省略する。
【0073】
つぎに、データ処理装置10の動作を説明する。
図6に示すように、例えば、センサー20Aの視野FAと、センサー20Bの視野FBとが領域AR1で被るように、センサー20A,20Bが配置されているものとする。また、測定対象物M2は、領域AR1内に配置された状態で、センサー20A,20Bから同時に測定が可能な3つ以上の平面表面を有する構成とする。測定対象物M2の3つ以上の平面表面は、それぞれ、互いに識別可能であり、例えば、各平面表面の識別情報として、平面表面の色、平面の周囲の形状が異なっているものとする。また、センサー20A,20Bは、測定対象物M2の各平面表面の識別情報を取得可能であるものとする。
【0074】
このように、回転パラメーターθx,θy,θz及び平行移動パラメーターpx,py,pzを求めるために、センサー20A,20Bのポジションを固定して、同じく姿勢が固定された測定対象物M2の3つ以上の平面表面の測定がなされる。
【0075】
本変形例においても、データ処理装置10において、変換式算出処理と同様の処理が実行される。本変形例でも、例えば、センサー20Bの座標系をセンサー20Aの座標系に変換する変換式を算出するものとする。
【0076】
ステップS11,S12は、上記実施の形態と同様である。ステップS13では、CPU11は、センサー20A,20Bにより、測定対象物M2のある平面表面の測定データを取得する。ステップS15では、CPU11は、センサー20A,20Bの測定データに対応する法線ベクトルが相違な測定対象物M2の平面表面が所定数あるか否かを判別する。ステップS16では、CPU11は、測定対象物M2の未測定の平面表面を選択し、ステップS13で当該選択された平面表面の測定データが取得される。ステップS17,S18は、上記実施の形態と同様である。
【0077】
以上、本変形例によれば、測定対象物M2は、1つの姿勢で測定可能な3つ以上の平面表面を有する。センサー20Aと、センサー20Bとは、測定対象物M2の1つの姿勢の3つ以上の平面を測定する。このため、測定対象物M2の姿勢を変化する構成が不要となり、測定対象物M2の3つ以上の平面表面を容易に測定できる。
【0078】
(第3の変形例)
図7を参照して、上記実施の形態の第3の変形例を説明する。
図7は、本変形例のセンサー20Aと、姿勢が変化された測定対象物M1と、を示す図である。
【0079】
上記実施の形態では、データ処理装置10において、センサー群20が2つのセンサー20A,20Bを有する構成としたが、本変形例では、データ処理装置10のセンサー群20が1つのセンサー20Aを有する構成とする。本変形例のデータ処理装置10において、上記実施の形態のデータ処理装置10と同じ部分に同じ符号を付して、その説明を省略する。
【0080】
また、センサー20Aは、ポジション(位置及び姿勢)が変更可能である。データ処理装置10は、CPU11の制御に従って、センサー20Aのポジションを変更するポジション変更部(図示略)を備える。
【0081】
つぎに、データ処理装置10の動作を説明する。
図7に示すように、例えば、センサー20AのポジションPO4での視野FA4と、センサー20AのポジションPO5での視野FA5と、が被らないように、センサー20Aが配置され、ポジションが変更されるものとする。なお、センサー20AのポジションPO4での視野FA4と、センサー20AのポジションPO5での視野FA5とが、所定の領域で被るように、センサー20Aが配置され、ポジション変更される構成としてもよい。
【0082】
このように、回転パラメーターθx,θy,θz及び平行移動パラメーターpx,py,pzを求めるために、センサー20Aのポジションを変更して、姿勢が変化される測定対象物M1の3つ以上の平面表面の測定がなされる。
【0083】
本変形例においても、データ処理装置10において、変換式算出処理と同様の処理が実行される。本変形例では、例えば、センサー20AのポジションPO5の座標系をセンサー20AのポジションPO4の座標系に変換する変換式を算出するものとする。
【0084】
ステップS11では、CPU11は、センサー20Aを初期化する。ステップS12では、CPU11は、センサー20Aの初期化が終了したか否かを判別する。ステップS13では、CPU11は、ポジション変更部によりセンサー20Aをあるポジション(例えば、ポジションPO4)に変更し、センサー20Aにより、ある姿勢の測定対象物M1の平面表面の測定データを取得し、ポジション変更部によりセンサー20Aを異なるポジション(例えば、ポジションPO5)に変更し、センサー20Aにより、当該姿勢の測定対象物M1の平面表面の測定データを取得する。ステップS13では、CPU11は、ステップS13で取得されたセンサー20AのポジションPO4の測定データから平面表面の法線ベクトルを算出し、同じくセンサー20AのポジションPO5の測定データから平面表面の法線ベクトルを算出する。
【0085】
ステップS15では、CPU11は、センサー20AのポジションPO4,PO5の測定データに対応する法線ベクトルが相違な平面表面が所定数あるか否かを判別する。ステップS16は、上記実施の形態のステップS16と同様である。ステップS17では、CPU11は、センサー20AのポジションPO5の座標系をセンサー20AのポジションPO4の座標系に変換するための回転パラメーター及び平行移動パラメーターを算出する。ステップS18では、CPU11は、ステップS17で算出された回転パラメーター及び平行移動パラメーターを用いて、センサー20AのポジションPO5の座標系をセンサー20AのポジションPO4の座標系に変換する変換式を算出し記憶部15に記憶する。
【0086】
以上、本変形例によれば、2つの互いに異なるポジションのセンサーは、同一のセンサー20Aである。このため、データ処理装置10のセンサー群20の構成を簡単にすることができる。
【0087】
(第4の変形例)
図8を参照して、上記実施の形態の第4の変形例を説明する。
図8は、本変形例のセンサー20Aと、固定された測定対象物M2と、を示す図である。
【0088】
上記実施の形態では、データ処理装置10において、センサー群20が2つのセンサー20A,20Bを有し、測定対象物M1の姿勢を3つ以上変化させて測定する構成としたが、本変形例では、センサー群20が1つのセンサー20Aを有し、測定対象物M2の姿勢を固定して測定する構成とする。本変形例のデータ処理装置10において、上記実施の形態のデータ処理装置10と同じ部分に同じ符号を付して、その説明を省略する。
【0089】
また、センサー20Aは、ポジション(位置及び姿勢)が変更可能である。データ処理装置10は、CPU11の制御に従って、センサー20Aのポジションを変更するポジション変更部(図示略)を備える。
【0090】
つぎに、データ処理装置10の動作を説明する。
図8に示すように、例えば、センサー20AのポジションPO6での視野FA6と、センサー20AのポジションPO7での視野FA7と、が領域AR1で被るように、センサー20Aが配置され、ポジションが変更されるものとする。
【0091】
このように、回転パラメーターθx,θy,θz及び平行移動パラメーターpx,py,pzを求めるために、センサー20Aのポジションを変更して、固定される測定対象物M2の3つ以上の平面表面の測定がなされる。
【0092】
本変形例においても、データ処理装置10において、変換式算出処理と同様の処理が実行される。本変形例では、例えば、センサー20AのポジションPO7の座標系をセンサー20AのポジションPO6の座標系に変換する変換式を算出するものとする。
【0093】
ステップS11では、CPU11は、センサー20Aを初期化する。ステップS12では、CPU11は、センサー20Aの初期化が終了したか否かを判別する。ステップS13では、CPU11は、ポジション変更部によりセンサー20Aをあるポジション(例えば、ポジションPO6)に移動し、センサー20Aにより、測定対象物M2のある平面表面の測定データを取得し、ポジション変更部によりセンサー20Aを異なるポジション(例えば、ポジションPO7)に変更し、センサー20Aにより、測定対象物M2の当該平面表面の測定データを取得する。ステップS13では、CPU11は、ステップS13で取得されたセンサー20AのポジションPO6の測定データから平面表面の法線ベクトルを算出し、同じくセンサー20AのポジションPO7の測定データから平面表面の法線ベクトルを算出する。
【0094】
ステップS15では、CPU11は、センサー20AのポジションPO6,PO7の測定データに対応する法線ベクトルが相違な平面表面が、所定数あるか否かを判別する。ステップS16では、CPU11は、測定対象物M2の未測定の平面表面を選択し、ステップS13で当該選択された平面表面の測定データが取得される。ステップS17では、CPU11は、センサー20AのポジションPO7の座標系をセンサー20AのポジションPO6の座標系に変換するための回転パラメーター及び平行移動パラメーターを算出する。ステップS18では、CPU11は、ステップS17で算出された回転パラメーター及び平行移動パラメーターを用いて、センサー20AのポジションPO7の座標系をセンサー20AのポジションPO6の座標系に変換する変換式を算出し記憶部15に記憶する。
【0095】
以上、本変形例によれば、第3の変形例と同様に、データ処理装置10のセンサー群20の構成を簡単にすることができ、かつ第2の変形例と同様に、測定対象物M2の姿勢を変化する構成が不要となり、測定対象物M2の3つ以上の平面表面を容易に測定できる。
【0096】
なお、上記実施の形態及び各変形例における記述は、本発明に係る好適なデータ処理装置、データ処理方法及びプログラムの一例であり、これに限定されるものではない。例えば、上記実施の形態及び各変形例の少なくとも2つを適宜組み合わせる構成としてもよい。
【0097】
また、上記実施の形態及び各変形例では、測定対象として、物理的な平面を有する測定対象物M1,M2を測定する構成としたが、これに限定されるものではない。例えば、測定対象として、仮想的な平面を有する測定対象物や、仮想的な平面を構成する装置としてもよい。仮想的な平面としては、例えば、空間の平面の少なくとも3つの点に光の発信器を配置した測定対象物や、複数の光の発信器を制御して平面を形成可能な装置であり、それらの点を含む平面をセンサーで測定する構成である。
【0098】
また、以上の実施の形態におけるデータ処理装置10を構成する各部の細部構成及び細部動作に関して本発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【符号の説明】
【0099】
10 データ処理装置
11 CPU
12 ROM
13 RAM
14 測定データI/F部
15 記憶部
16 操作部
17 表示部
18 通信部
20 センサー群
20A,20B,20C センサー
M1,M2 測定対象物