(58)【調査した分野】(Int.Cl.,DB名)
前記校正に使用する特徴を含むパターンが形成する平面と、機械座標系の平面とが平行である場合、1方向の前記駆動機構の動作により前記撮像手段の前記外部パラメータを算出する請求項1から請求項3のいずれか1項に記載のカメラ校正装置。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態について説明する。
[第1の実施形態]
第1の実施形態について説明する。第1の実施形態を説明する前に、カメラ座標系Σcと、画像座標系Σiと、チェッカーボード座標系Σbと、機械座標系Σmについて
図1A、
図1B及び
図1Cを参照して説明する。
図1Aは、カメラ座標系Σcと画像座標系Σiの関係を示す図である。
図1Bは、チェッカーボード座標系Σbの一例を示す図である。
図1Cは、機械座標系Σmの一例を示す図である。
【0017】
図1Aに示すように、カメラ座標系Σcは、デジタルカメラの光学中心Ocを原点とし、原点Ocから右方向をXc軸、下方向をYc軸、光軸方向をZc軸とする3次元座標系である。また、画像座標系Σiは、カメラ座標系Σcに平行で、原点Ocから焦点距離f離れた画像平面の左上を原点とし、Xc軸及びYc軸にそれぞれ平行な方向に、x軸及びy軸を有する2次元直交座標系である。
図1Bに示すように、チェッカーボード座標系Σbは、例えばチェッカーボードの模様の左下を原点Obとし、原点Obからチェッカーボード面に垂直な方向をZb軸、原点Obからチェッカーボード面上の右方向をXb軸、原点Obからチェッカーボード面上の上方向をYb軸とする3次元座標系である。
【0018】
図1Cに示すように、機械座標系Σmは機械原点Omを中心とする座標系であり、原点OmからXm軸、Ym軸、Zm軸を有する3次元座標系である。
歪曲収差のない理想的なレンズの場合、工作機械の機械座標系Σmの座標(Xm,Ym,Zm)で表される空間上の点は、式(1)のように線形変換で画像座標系Σiの(x,y)に投影されることが知られている。
【数1】
ここで、sは、画素のせん断係数を示し、(c
x,c
y)は、画像の中心座標を示す。右辺の1つ目の3×3の行列は、内部パラメータKであり、カメラ座標系Σcと画像座標系Σiとの関係を示す。右辺の2つ目の3×4の行列は、外部パラメータであり、機械座標系Σmに対するカメラ座標系Σcの姿勢R及び位置関係tを有する。
なお、実際のレンズには径方向と接線方向の歪曲収差がある。例えば、レンズの径方向の歪曲収差(radial distortion)を考慮する場合、画像座標(x、y)は式(2)のような非線形変換により歪められる。
【数2】
κ
1、κ
2は、歪曲収差係数を示す。また、r=((x−c
x)
2+(y−c
y)
2)
1/2である。カメラキャリブレーションでは、当業者に公知の方法で、カメラの内部パラメータKに加えて歪曲収差係数κ
1、κ
2を予め求めることができる。なお、以下の説明では、カメラ校正装置100は、予め算出された歪曲収差係数κ
1、κ
2を用いて、カメラ230により撮像された画像の歪みが補正された画像に基づいて校正処理を実行するものとする。
【0019】
第1の実施形態では、カメラ校正装置100は、第1段階として、当業者にとって公知の方法(例えば、Tsaiの方法(Tsai, Roger Y. (1987) “A Versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision Metrology Using Off-the-Shelf TV Cameras and Lenses,’’ IEEE Journal of Robotics and Automation, Vol. RA-3, No. 4, pp. 323-344, August 1987))により、テーブル220の任意の位置に設置したチェッカーボード上の1点を機械座標系Σmの機械座標の既知の1点として得た時にカメラにより撮像された画像から、カメラの内部パラメータ及びチェッカーボード座標系Σbに対するカメラ座標系Σcの姿勢R
c及び位置関係t
cを求める。
そうすることで、チェッカーボード座標系Σbとカメラ座標系Σcとの関係を得ることができる。具体的には、チェッカーボード座標系Σbの座標(X
b,Y
b,Z
b)で表される空間上の点は、式(3)により線形変換することで、カメラ座標系Σcの座標(X
c,Y
c,Z
c)で表すことができる。
【数3】
【0020】
次に、カメラ校正装置100は、第2段階として、後述するように、機械座標が既知の1点とその点を撮像して得た画像、及び工作機械の2方向の直線軸移動とその際に撮像して得た画像とを用いて、機械座標系Σmに対するカメラ座標系Σcの姿勢Rを求める。
さらに、カメラ校正装置100は、第3段階として機械座標が既知の1点を撮像して得た画像から、カメラの内部パラメータ及び式(3)に基づいて、機械座標が既知の1点のチェッカーボード座標系Σbの座標(X
tb,Y
tb,Z
tb)を算出する。他方、この点の機械座標が既知であることからこの点の機械座標系Σmの座標(X
tm,Y
tm,Z
tm)とすると、機械座標系Σmに対するカメラ座標系Σcの位置関係tを求める。
以上により、工作機械上に設定された機械座標系Σmと、工作機械に設置されたカメラのカメラ座標系Σcとの関係をキャリブレーションすることができる。
このように、第1の実施形態では、機械座標系Σmに対するカメラ座標系Σcの姿勢及び位置関係は、チェッカーボードに設定されたチェッカーボード座標系Σbを介して算出される。
以下に、第1実施形態について詳細に説明する。
【0021】
図2は、本発明の第1の実施形態に係るカメラ校正装置100の一例を示す図である。
第1の実施形態に係るカメラ校正装置100は、プロセッサ等の制御部10と、ハードディスク装置等の記憶部20とを有するコンピュータである。また、カメラ校正装置100は、入出力デバイス及び通信インタフェース等の外部装置とのインタフェース機能を有する。これにより、カメラ校正装置100は、有線又は無線を介して、外部の数値制御装置150に接続される。なお、カメラ校正装置100は、ネットワークを介して、数値制御装置150に接続されても良い。
【0022】
数値制御装置150は、当業者にとって公知の制御装置であり、工作機械200の動作を制御する。
工作機械200は、例えば、テーブル可動型3軸機であり、加工機(工具主軸装置)210と、テーブル220と、カメラ230とを有する。工作機械200は、数値制御装置150に接続される。
【0023】
加工機210は、例えば、主軸ユニットであり、数値制御装置150の指令に基づいて、機械座標系ΣmのZm軸方向に移動する。
【0024】
また、加工機210には、カメラ校正処理の際に任意の位置の機械座標を計測するタッチプローブ240が、加工機210の先端に配置される。タッチプローブ240は、プローブ先端のスタイラス球がタッチした点の機械座標を取得する。なお、これに限定されず、加工機210の先端には、レーザ光源等が配置されても良い。
【0025】
テーブル220は、例えば、数値制御装置150の指令に基づいて移動機構が動作することで、機械座標系ΣmのXm軸及びYm軸方向にそれぞれ移動することができる。
【0026】
また、テーブル220の上面には、カメラ校正処理の際に、校正器具としてのチェッカーボード250が、カメラ230から見える任意の位置に任意の姿勢で配置される。なお、これに限定されず、テーブル220には、ドットパターン等の複数の特徴点を有した校正器具が配置されても良い。また、カメラ校正処理の際に、加工機210の先端に配置されたタッチプローブ240がチェッカーボード250上の任意の位置をタッチできるように、チェッカーボード250がテーブル220に配置されることが好ましい。
【0027】
また、
図2では、チェッカーボード250に設定されるチェッカーボード座標系Σbを示し、チェッカーボード250の左下をチェッカーボード座標系Σbの原点に設定される。そして、チェッカーボード250における市松模様の複数の交点(特徴点)が、チェッカーボード座標系Σbにおける位置として、予め記憶部20に記憶される。
【0028】
カメラ230は、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等のイメージセンサを有する単眼のデジタルカメラである。カメラ230は、加工機210の加工動作に干渉しない位置で、かつテーブル220及び加工機210により加工されているワークの状態を監視できる工作機械200内の位置に配置される。なお、
図2では、カメラ230に設定されるカメラ座標系Σcを示す。
【0029】
カメラ校正装置100は、工作機械上に設定された機械座標系Σmと、工作機械に設置されたカメラのカメラ座標系Σcとの関係をキャリブレーションするため、制御部10が記憶部20に記憶されたカメラ校正処理のプログラムを実行することにより、機械座標計測部11、画像取得部12及び校正部13として機能する。
制御部10は、例えば、プロセッサ等であり、カメラ校正装置100の各部の動作を制御する。また、制御部10は、カメラ校正処理に基づいて、工作機械200の動作も制御する。
機械座標計測部11は、加工機210に配置されたタッチプローブ240がタッチしたタッチ点の機械座標を含む信号を数値制御装置150を介して受信し、タッチしたタッチ点の機械座標を取得する。機械座標計測部11は、タッチ点の機械座標を、記憶部20の計測値データ22の格納領域に記憶する。
画像取得部12は、カメラ230が撮像した画像を取得する。画像取得部12は、取得した画像を、記憶部20の画像データ21の格納領域に記憶する。
校正部13は、取得したタッチ点の機械座標及び画像を用いて、工作機械200上に設定された機械座標系Σmと、工作機械に設置されたカメラ230のカメラ座標系Σcとの間の姿勢R及び位置関係tを算出する。
記憶部20は、ハードディスク装置やメモリ等であり、カメラ校正処理のプログラムを記憶するとともに、カメラ230により撮像された画像を記憶する画像データ21の格納領域、タッチ点の機械座標を記憶する計測値データ22の格納領域、及び姿勢R及び位置関係t等の校正データを記憶する校正データ23の格納領域を有する。
なお、制御部10、機械座標計測部11、画像取得部12及び校正部13の動作の詳細な説明については後述する。
【0030】
<第1段階>
例えば、機械座標計測部11は、キーボード等の入力装置を介して入力された、オペレータ等の指示によりカメラ校正処理が実行された場合、
図3に示すように、数値制御装置150を介して加工機210を機械座標系ΣmのZm軸の負の方向(すなわち、テーブル220の方向)に移動させ、チェッカーボード250上の任意の位置にタッチプローブ240をタッチさせる。機械座標計測部11は、タッチプローブ240がタッチしたタッチ点TPの機械座標を含む信号をタッチプローブ240から受信し、タッチ点TPの機械座標を取得する。機械座標計測部11は、タッチ点TPの機械座標系Σmの機械座標(X
tm,Y
tm,Z
tm)をチェッカーボード250上の機械座標の既知の1点として、記憶部20の計測値データ22の格納領域に記憶する。
【0031】
図3は、タッチプローブ240がチェッカーボード250をタッチした時のテーブル220及びチェッカーボード250の状態の一例を示す図である。
そして、画像取得部12は、タッチプローブ240がテーブル220をタッチした時のチェッカーボード250を撮像させる撮像指示をカメラ230に出力する。画像取得部12は、タッチプローブ240がチェッカーボード250をタッチした時に、カメラ230により撮像されたタッチプローブ240及びチェッカーボード250の画像300−1をカメラ230から取得し、記憶部20の画像データ21の格納領域に記憶する。その後、機械座標計測部11は、加工機210をZm軸の正の方向(すなわち、テーブル220から離れる方向)に移動させ、元の位置に復帰させる。
【0032】
図4は、タッチプローブ240がチェッカーボード250をタッチした時のチェッカーボード250の画像300−1の一例を示す図である。
図4に示すように、画像300−1には、チェッカーボード250とともに、タッチプローブ240の先端も撮像される。
前述したように、校正部13は、当業者にとって公知の方法(例えば、Tsaiの方法)により、画像300−1から、カメラの内部パラメータK及びチェッカーボード座標系Σbとカメラ座標系Σcとの間の姿勢R
c及び位置関係t
cを求める。
これにより、式(3)で示したように、チェッカーボード座標系Σbの座標(X
b,Y
b,Z
b)で表される空間上の点は、式(3)により線形変換することで、カメラ座標系Σcの座標(X
c,Y
c,Z
c)で表すことができる。
また、カメラの内部パラメータKを用いることで、チェッカーボード座標系Σbの座標(X
b,Y
b,Z
b)で表される空間上の点は、線形変換で画像座標系Σiの(x,y)に投影することができる。
【0033】
なお、チェッカーボード座標系Σbとカメラ座標系Σcとの間の姿勢R
c及び位置関係t
cの算出方法はTsaiの方法に限られない。
校正部13は、チェッカーボード座標系Σbとカメラ座標系Σcとの間の姿勢R
c及び位置関係t
cを算出するために、画像300−1から、例えば、当業者にとって公知のPnP問題に対するMoreno-Noguer et al., "Accurate Non-Iterative O(n) Solution to the PnP Problem", Proceedings of the IEEE International Conference on Computer Vision (ICCV), Oct. 2007)の方法(以下、「Moreno−Noguerの方法」とも称される)を用いて、チェッカーボード座標系Σbとカメラ座標系Σcとの間の姿勢R
c及び位置関係t
cを算出しても良い。
【0034】
<第2段階>
制御部10は、カメラ校正処理において、
図5に示すように、数値制御装置150を介して機械座標系ΣmのXm軸及びYm軸の各方向にテーブル220を移動量dの距離移動させ、画像取得部12は、各方向に移動したチェッカーボード250の状態を撮像させる撮像指示を、カメラ230に出力する。
【0035】
図5は、Xm軸及びYm軸の各方向に移動したテーブル220及びチェッカーボード250の状態の一例を示す図である。
図5では、基準となる元の位置にあるテーブル220を破線で示し、Xm軸又はYm軸の各方向に移動量dの距離移動したテーブル220を、テーブル220a、220bで示す。また、
図5では、Xm軸及びYm軸の各方向に移動したチェッカーボード250を、チェッカーボード250a、250bで示す。また、タッチプローブ240がチェッカーボード250をタッチしたタッチ点TPが、網掛けで示した領域で示される。
【0036】
より具体的には、制御部10は、例えば、破線で示した元の位置(以下、「基準位置」とも称される)にあるテーブル220を、Xm軸方向に移動量dの距離移動させる。画像取得部12は、移動したチェッカーボード250aを撮像させる撮像指示を、カメラ230に出力する。画像取得部12は、カメラ230により撮像されたチェッカーボード250aの画像300−2をカメラ230から取得し、記憶部20の画像データ21の格納領域に記憶する。その後、制御部10は、テーブル220をXm軸方向に移動量−dの距離移動させ、基準位置に復帰させる。
【0037】
次に制御部10は、基準位置にあるテーブル220を、Ym軸方向に移動量dの距離移動させる。画像取得部12は、移動したチェッカーボード250bを撮像させる撮像指示を、カメラ230に出力する。画像取得部12は、カメラ230により撮像されたチェッカーボード250bの画像300−3をカメラ230から取得し、記憶部20の画像データ21の格納領域に記憶する。その後、カメラ校正装置100は、テーブル220をYm軸方向に移動量−dの距離だけ移動させ、基準に復帰させる。
なお、Xm軸方向に移動したチェッカーボード250aの画像300−2、及びYm軸方向に移動したチェッカーボード250bの画像300−3には、タッチプローブ240の先端が撮像されていなくても良い。
【0038】
次に校正部13は、機械座標系Σmに対するカメラ座標系Σcの姿勢Rを算出するために、画像300−1とともに、Xm軸方向に移動したチェッカーボード250aの画像300−2と、Ym軸方向に移動したチェッカーボード250bの画像300−3とを、記憶部20の画像データ21の格納領域から読み込む。
図6は、3つの画像300−1、300−2、及び300−3におけるチェッカーボード250、250a、250bの位置関係の一例を示す図である。なお、
図6では、チェッカーボード250の特徴点A、Bに対応するチェッカーボード250aの特徴点をA1、B1で示し、チェッカーボード250bの特徴点をA2、B2で示す。
【0039】
図6に示すように、チェッカーボード250aは、チェッカーボード250がXm軸方向に移動したものであるから、矢印で示した特徴点Aと特徴点A1との直線は、機械座標系ΣmのXm軸方向を示す。同様に、特徴点Bと特徴点B1との直線も、機械座標系ΣmのXm軸方向を示す。そうすると、特徴点A、A1、B、B1の4点は、2次元の画像座標系Σi上の画素であることから、特徴点Aと特徴点A1との直線と特徴点Bと特徴点B1との直線とは、ある一点、すなわち消失点V
xで交わる。そこで、校正部13は、画像座標系Σiにおける特徴点A、A1、B、B1の座標から、機械座標系ΣmのXm軸方向の消失点V
xを算出することができる。
【0040】
また、チェッカーボード250bは、チェッカーボード250がYm軸方向に移動したものであるから、矢印で示した特徴点Aと特徴点A2との直線は、機械座標系ΣmのYm軸方向を示す。同様に、特徴点Bと特徴点B2との直線も、機械座標系ΣmのYm軸方向を示す。そうすると、特徴点A、A2、B、B2の4点は、2次元の画像座標系Σi上の画素であることから、特徴点Aと特徴点A2との直線と特徴点Bと特徴点B2との直線とは、ある一点、すなわち消失点V
yで交わる。そこで、校正部13は、画像座標系Σiにおける特徴点A、A2、B、B2の座標から、機械座標系ΣmのYm軸方向の消失点V
yを算出することができる。
【0041】
そうすることで、校正部13は、当業者に公知の消失点を用いる方法により、算出した消失点V
x、V
yと、内部パラメータKとから式(4)を用いて、機械座標系Σmに対するカメラ座標系Σcの姿勢Rを構成する行ベクトルr
x、r
y、r
zを算出することができる。
【数4】
以上により、第2段階として、画像300−1、及び工作機械の2方向の直線軸移動とその際に撮像して得た画像300−2、及び画像300−3とを用いて、機械座標系Σmに対するカメラ座標系Σcの姿勢Rを求めることができる。
なお、機械座標系Σmに対するチェッカーボード座標系Σbの姿勢R
bは、R=R
c・R
bという関係から算出することができる。
【0042】
<第3段階>
次に、校正部13は、機械座標系Σmとカメラ座標系Σcとの間の位置関係tを算出するために、記憶部20の計測値データ22の格納領域から、機械座標系Σmのタッチ点TPの機械座標を読み込み、読み込んだタッチ点TPの機械座標と、内部パラメータK、姿勢R
c、位置関係t
c及び姿勢Rとを用いて、機械座標系Σmに対するカメラ座標系Σcの位置関係tを算出する。
【0043】
より具体的には、校正部13は、R=R
c・R
bの関係に基づいて、機械座標系Σmに対するチェッカーボード座標系Σbの姿勢R
bを最初に算出する。
また、校正部13は、
図4に示した画像300を用いて、タッチプローブ240の先端円の中心を通り、画像300−1から算出したタッチプローブ240の軸方向の破線で示した直線と、タッチプローブ240の先端の円周との交点を、画像座標系Σiにおけるタッチ点TPの座標(x
t,y
t)として取得する。そして、校正部13は、式(5)を用いて、画像座標系Σiにおけるタッチ点TPの座標(x
t,y
t)を、チェッカーボード座標系Σbにおけるタッチ点TPの座標(X
tb,Y
tb,Z
tb)に変換する。
【数5】
なお、スケールαは、Z
tb=0により算出される。
【0044】
校正部13は、変換したチェッカーボード座標系Σbにおけるタッチ点TPの座標(X
tb,Y
tb,Z
tb)と、記憶部20の計測値データ22の格納領域に記憶されたタッチ点TPの機械座標系Σmの機械座標(X
tm,Y
tm,Z
tm)とから、式(6)を用いて、機械座標系Σmに対するチェッカーボード座標系Σbの位置関係t
bを算出する。
【数6】
そして、校正部13は、式(7)を用いて、機械座標系Σmに対するカメラ座標系Σcの位置関係tを算出する。
t=R
c・t
b+t
c (7)
校正部13は、算出した位置関係tを、記憶部20の校正データ23の格納領域に記憶する。
以上により、第3段階として、機械座標系Σmとカメラ座標系Σcとの間の位置関係tを求めることができる。
以上、第1の実施形態に係るカメラ校正装置100の構成について説明した。
【0045】
次に、
図7に示すフローチャートを参照してカメラ校正装置100の動作について説明する
図7は、第1の実施形態に係るカメラ校正装置100におけるカメラ校正処理の一例を示す図である。
図7に示した処理は、例えば、オペレータ等によるカメラ校正装置100の入力装置の操作により実行される。なお、
図7に示した処理を実行するにあたり、オペレータ等は、
図2に示すように、テーブル220にチェッカーボード250を任意の位置に任意の姿勢で配置する。
【0046】
ステップS1において、機械座標計測部11は、
図3に示すように、加工機210を機械座標系ΣmのZm軸の負の方向(すなわち、テーブル220の方向)に移動させ、タッチプローブ240にチェッカーボード250をタッチさせる。機械座標計測部11は、タッチプローブ240がタッチしたタッチ点TPの機械座標を取得する。
【0047】
ステップS2において、画像取得部12は、カメラ230により撮像されたタッチプローブ240及びチェッカーボード250の画像300−1をカメラ230から取得する。
【0048】
ステップS3において、校正部13は、例えば、Tsaiの方法により、ステップS2で取得した画像300−1から、内部パラメータK及びチェッカーボード座標系Σbに対するカメラ座標系Σcの姿勢R
c及び位置関係t
cを算出する。
【0049】
ステップS4において、制御部10は、
図5に示すように、基準位置にあるテーブル220を機械座標系ΣmのXm軸及びYm軸の各方向に移動量dの距離移動させ、画像取得部12は、Xm軸方向に移動したチェッカーボード250aの画像300−2、及びYm軸方向にチェッカーボード250bの画像300−3を取得する。
【0050】
ステップS5において、校正部13は、画像300−2及び画像300−3を用いて、機械座標系ΣmのXm軸及びYm軸方向の消失点V
x、V
yを算出し、算出した消失点V
x、V
yから式(4)を用いて、機械座標系Σmに対するカメラ座標系Σcの姿勢Rを算出する。
【0051】
ステップS6において、校正部13は、タッチ点TPの機械座標系Σmの機械座標(X
tm,Y
tm,Z
tm)と、画像300−1におけるタッチ点TPの画像座標系Σiの座標(x
t,y
t)とから、式(5)から式(7)を用いて、機械座標系Σmに対するカメラ座標系Σcの位置関係tを算出する。
【0052】
以上説明したように、第1の実施形態では、カメラ校正装置100は、テーブル220に任意の位置に任意の姿勢で配置されたチェッカーボード250を、加工機210に配置されたタッチプローブ240でタッチしてタッチ点TPの機械座標、及びタッチプローブ240がタッチした時のタッチプローブ240及びチェッカーボード250の画像300−1を取得する。また、カメラ校正装置100は、テーブル220を機械座標系ΣmのXm軸及びYm軸の各方向に移動させ、各方向に移動した時のチェッカーボード250の画像300−2及び画像300−3を取得する。カメラ校正装置100は、取得した3つの画像300−1、画像300−2、及び画像300−3におけるチェッカーボード250の複数の特徴点の位置関係に基づいて、チェッカーボード座標系Σbを介して、機械座標系Σmに対するカメラ座標系Σcの姿勢R及び位置関係tを算出する。
【0053】
これにより、カメラ校正装置100は、チェッカーボード250を任意の位置に任意の姿勢でテーブル220に配置することで、自由度が少ない工作機械においても容易に工作機械上に設定された機械座標系Σmと、工作機械に設置されたカメラのカメラ座標系Σcとの関係をキャリブレーションできる。そして、カメラ校正装置100は、専用の校正器具を規定位置に設置する作業、及び校正器具を設置する冶具が不要となるため、カメラ校正にかかる作業負担や設備負担を軽減できる。
以上、第1の実施形態について説明した。
【0054】
[第1の実施形態の変形例1]
第1の実施形態に係るカメラ校正装置100は、基準位置にあるチェッカーボード250の画像300−1と、Xm軸方向に移動させたチェッカーボード250aの画像300−2と、Ym軸方向に移動させたチェッカーボード250bの画像300−3との3つの画像を用いて、特徴点A、B等の複数の特徴点の位置の変化から機械座標系Σmに対するカメラ座標系Σcの姿勢Rを算出したが、これに限定されない。例えば、第1の実施形態の変形例1として、カメラ校正装置100は、1つの特徴点の位置の変化から姿勢Rを算出しても良い。
【0055】
この場合、カメラ校正装置100は、画像300−1、画像300−2及び画像300−3とともに、テーブル220をXm軸方向に移動量dの距離移動させて、Ym軸方向に移動量dの距離移動させた画像300−4も取得する必要がある。すなわち、カメラ校正装置100は、4つの画像を用いることで、解が不定となることなく、1つの特徴点の位置の変化から姿勢Rを算出できる。
【0056】
[第1の実施形態の変形例2]
第1の実施形態に係るカメラ校正装置100は、機械座標系ΣmのXmYm平面とチェッカーボード座標系ΣbのXbYb平面とが必ずしも平行とは限らないことから、Xm軸及びYm軸の各方向にテーブル220を移動させたが、これに限定されない。例えば、第1の実施形態の変形例2として、カメラ校正装置100は、機械座標系ΣmのXmYm平面とチェッカーボード座標系ΣbのXbYb平面とが互いに平行な場合、Xm軸又はYm軸のいずれか1方向にテーブル220を移動させるだけでも良い。
【0057】
この場合、カメラ校正装置100は、画像平面に対して内部パラメータK、姿勢R
cの逆変換を行なった平面上における、特徴点Aと特徴点A1との直線とチェッカーボード座標系ΣbのXb軸との回転移動として姿勢R
bを直接求めることができる。この場合の姿勢Rは、R=R
b・R
cにより算出される。
【0058】
[第2の実施形態]
次に第2の実施形態について説明する。第2の実施形態では、カメラ校正装置は、チェッカーボードに替えて、テーブル上の溝やキズ、模様又はコーナー点等を校正に使用する複数の特徴点を含むパターンとして用いる点が、第1の実施形態と異なる。
これにより、第2の実施形態の第1段階では、カメラ校正装置100Aは、機械座標の既知の1点と複数の特徴点を撮像して得た画像を取得する。
そして、カメラ校正装置100Aは、第2段階として、後述するように、機械座標が既知の1点と複数の特徴点を撮像して得た画像と、工作機械の2方向の直線軸移動とその際に撮像して得た画像との各画像における複数の特徴点の画像座標系Σiの座標を用いて、第1の実施形態と同様に、消失点を用いる方法により機械座標系Σmに対するカメラ座標系Σcの姿勢Rを求める。
【0059】
さらに、カメラ校正装置100Aは、第3段階として、後述するように、機械座標が既知の1点とその点を撮像して得た画像、及び工作機械の2方向の直線軸移動とその際に撮像して得た画像と、機械座標系Σmに対するカメラ座標系Σcの姿勢Rとを用いて、機械座標系Σmに対するテーブル座標系Σtの姿勢R
t及び位置関係t
tを算出することで、機械座標系Σmに対するカメラ座標系Σcの位置関係tを求めることができる。
【0060】
なお、第2の実施形態では、カメラ校正装置100Aは、カメラ校正処理前に、公知の手法により、予め内部パラメータK及び歪曲収差係数κ
1、κ
2を算出し、算出した内部パラメータK及び歪曲収差係数κ
1、κ
2を記憶部20に記憶する。
以上により、工作機械上に設定された機械座標系Σmと、工作機械に設置されたカメラのカメラ座標系Σcとの関係をキャリブレーションすることができる。
以下に、第2実施形態について説明する。
【0061】
図8は、本発明の第2の実施形態に係るカメラ校正装置の一例を示す図である。なお、
図8では、第1の実施形態に係るカメラ校正装置100の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
第2の実施形態に係るカメラ校正装置100Aは、第1の実施形態に係るカメラ校正装置100と同様の構成を備える。
なお、
図8に示すように、テーブル220には、テーブル座標系Σtが設定される。
【0062】
カメラ校正装置100Aは、工作機械上に設定された機械座標系Σmと、工作機械に設置されたカメラのカメラ座標系Σcとの関係をキャリブレーションするため、制御部10が記憶部20に記憶されたカメラ校正処理のプログラムを実行することにより、機械座標計測部11、画像取得部12及び校正部13aとして機能する。
機械座標計測部11及び画像取得部12は、第1の実施形態における機械座標計測部11及び画像取得部12と同等の機能を有する。
【0063】
校正部13aは、取得したタッチ点TPの機械座標及び画像を用いて、工作機械200上に設定された機械座標系Σmと、工作機械に設置されたカメラ230のカメラ座標系Σcとの間の姿勢R及び位置関係tを算出する。
【0064】
<第1段階>
例えば、機械座標計測部11は、テーブル220上の任意の位置にタッチプローブ240をタッチさせ、タッチプローブ240がタッチしたタッチ点TPの機械座標を取得する。また、画像取得部12は、タッチプローブ240がテーブル220をタッチした時のテーブル220の画像300a−1を取得する。
【0065】
<第2段階>
制御部10は、カメラ校正処理において、
図9に示すように、機械座標系ΣmのXm軸及びYm軸の各方向にテーブル220を移動量dの距離移動させ、画像取得部12は、Xm軸方向に移動したテーブル220aの画像300a−2と、Ym軸方向に移動したテーブル220bの画像300a−3を取得する。
図9は、Xm軸及びYm軸の各方向に移動したテーブル220の一例を示す図である。
図9では、
図5と同様に、基準位置にあるテーブル220を破線で示し、Xm軸及びYm軸の各方向に移動量dの距離移動したテーブル220を、テーブル220a、220bで示す。また、
図9では、Xm軸及びYm軸の各方向に移動した特徴点D、F、Eを、特徴点D1、E1、F1及び特徴点D2、E2、F2で示す。
【0066】
そして、校正部13aは、画像300a−1と、画像300a−2と、画像300a−3とに対して当業者にとって公知のエッジ検出処理等の画像処理により、カメラ230から見えるキズ、模様又はコーナー点等の複数の特徴点を検出し、検出した複数の特徴点の画像座標系Σiの座標を取得する。例えば、校正部13aは、画像300a−1から特徴点D、E、Fの画像座標系Σiの座標を取得し、画像300a−2から特徴点D1、E1、F1の画像座標系Σiの座標を取得し、画像300a−2から特徴点D2、E2、F2の画像座標系Σiの座標を取得する。
【0067】
図9に示すように、テーブル220aは、テーブル220がXm軸方向に移動したものであるから、特徴点Dと特徴点D1との直線は、機械座標系ΣmのXm軸方向を示す。同様に、特徴点Eと特徴点E1との直線及び特徴点Fと特徴点F1との直線も、機械座標系ΣmのXm軸方向を示す。そうすると、特徴点D、E、Fと、特徴点D1、E1、F1の6点は、2次元の画像座標系Σi上の画素であることから、特徴点Dと特徴点D1との直線と、特徴点Eと特徴点E1との直線と、特徴点Fと特徴点F1との直線とは、ある一点、すなわち消失点V
xで交わる。そこで、校正部13aは、画像座標系Σiにおける特徴点D、E、Fと特徴点D1、E1、F1との座標から、機械座標系ΣmのXm軸方向の消失点V
xを算出することができる。
【0068】
また、テーブル220bは、テーブル220がYm軸方向に移動したものであるから、特徴点Dと特徴点D2との直線は、機械座標系ΣmのYm軸方向を示す。同様に、特徴点Eと特徴点E2との直線及び特徴点Fと特徴点F2との直線も、機械座標系ΣmのYm軸方向を示す。そうすると、特徴点D、E、Fと、特徴点D2、E2、F2の6点は、2次元の画像座標系Σi上の画素であることから、特徴点Dと特徴点D2との直線と、特徴点Eと特徴点E2との直線と、特徴点Fと特徴点F2との直線とは、ある一点、すなわち消失点V
yで交わる。そこで、校正部13aは、画像座標系Σiにおける特徴点D、E、Fと特徴点D2、E2、F2との座標から、機械座標系ΣmのYm軸方向の消失点V
yを算出することができる。
校正部13aは、算出した消失点V
x、V
yと、内部パラメータKとから、式(4)を用いて、機械座標系Σmに対するカメラ座標系Σcの姿勢Rを構成する行ベクトルr
x、r
y、r
zを算出することができる。
【0069】
<第3段階>
校正部13aは、
図9に示した特徴点D、D1、D2の平面と、特徴点E、E1、E2の平面と、特徴点F、F1、F2の平面との3つの平面の座標系と、カメラ座標系Σcとの間の位置関係t
D、t
E、t
Fを算出する。なお、位置関係t
Dを算出する場合について説明するが、位置関係t
E、t
Fについても同様に算出される。
ここで、特徴点D1、E1、F1は、特徴点D、E、FがXm軸方向に移動したものであり、特徴点D2、E2、F2は、特徴点D、E、FがYm軸方向に移動したものであるとから、特徴点D、D1、D2の平面と、特徴点E、E1、E2の平面と、特徴点F、F1、F2の平面は、機械座標系ΣmのXmYm平面に平行な平面である。ただし、テーブル220上の平面と機械座標系ΣmのXmYm平面と平行でない限り、特徴点D、D1、D2の平面と、特徴点E、E1、E2の平面と、特徴点F、F1、F2の平面は、Zm軸方向の位置が互いに異なる。
【0070】
そこで、校正部13aは、特徴点Dを機械座標系Σmの仮原点(0,0,0)とする場合、特徴点D1の機械座標は(d,0,0)、及び特徴点D2の機械座標は(0,d,0)となる。この場合、特徴点D、D1、D2の機械座標(0,0,0)、(d,0,0)、(0,d,0)と、画像座標系Σiにおける特徴点D、D1、D2の座標(x
D,y
D)、(x
D1,y
D1)、(x
D2,y
D2)とは、式(8)のように関係付けられる。なお、スケールα、β、γと、位置関係t
Dとは未知数である。また、式(8)の左辺は、特徴点D、D1、D2の画像座標系Σiにおける座標をカメラ座標系Σcにおける座標に変換したものである。
【数7】
【0071】
校正部13aは、式(8)から特徴点D、D1、D2の平面に対するカメラ座標系Σcの位置関係t
Dを算出する。校正部13aは、同様に、特徴点E、E1、E2の平面に対するカメラ座標系Σcの位置関係t
E、及び特徴点F、F1、F2の平面に対するカメラ座標系Σcの位置関係t
Fを算出する。そして、校正部13aは、テーブル220に設定されたテーブル座標系Σtの座標原点を特徴点Dの位置とし、Xt軸の方向をt
X=t
D−t
Eと定義する場合、Zt軸の方向はt
Z=(t
D−t
E)×(t
D−t
F)となり、Yt軸の方向はt
Y=t
Z×t
Xとなることから、機械座標系Σmに対するテーブル座標系Σtの姿勢R
tを算出することができる。そして、校正部13aは、R=R
c・R
tという関係から、テーブル座標系Σtに対するカメラ座標系Σcの間の姿勢R
cを算出することができる。
【0072】
また、校正部13aは、タッチプローブ240がテーブル220をタッチしている時に撮像された画像330a−1を用いて、
図4の場合と同様に、画像座標系Σiにおけるタッチ点TPの座標(x
t,y
t)として取得する。校正部13aは、式(9)を用いて、画像座標系Σiにおけるタッチ点TPの座標(x
t,y
t)を、テーブル座標系Σtにおけるタッチ点TPの座標(X
tb,Y
tb,Z
tb)に変換する。
【数8】
なお、スケールαは、Z
tb=0により算出される。
【0073】
校正部13aは、変換したテーブル座標系Σtにおけるタッチ点TPの座標(X
tb,Y
tb,Z
tb)と、記憶部20の計測値データ22の格納領域に記憶されたタッチ点TPの機械座標系Σmの機械座標(X
tm,Y
tm,Z
tm)とから、式(10)を用いて、機械座標系Σmに対するテーブル座標系Σtの位置関係t
tを算出する。
【数9】
そして、校正部13aは、式(11)を用いて、機械座標系Σmに対するカメラ座標系Σcの位置関係tを算出する。
t=R
c・t
t+t
D (11)
校正部13aは、算出した位置関係tを、記憶部20の校正データ23の格納領域に記憶する。
以上により、第3段階として、機械座標系Σmに対するカメラ座標系Σcの位置関係tを求めることができる。
以上、第2の実施形態に係るカメラ校正装置100Aの構成について説明した。
【0074】
次に、
図10に示すフローチャートを参照してカメラ校正装置100Aの動作について説明する。
図10は、第2の実施形態に係るカメラ校正装置100Aにおけるカメラ校正処理の一例を示す図である。
図10に示した処理は、複数の特徴点D、E、Fをチェッカーボードとして用いる点が、
図7に示した第1の実施形態の処理と異なる。
図10に示した処理は、例えば、オペレータ等によるカメラ校正装置100Aの入力装置の操作により実行される。
【0075】
ステップS11において、機械座標計測部11は、加工機210を機械座標系ΣmのZ軸の負の方向(すなわち、テーブル220の方向)に移動させ、タッチプローブ240にテーブル220をタッチさせる。機械座標計測部11は、タッチプローブ240がタッチしたタッチ点TPの機械座標を取得する。
【0076】
ステップS12において、画像取得部12は、カメラ230により撮像されたタッチプローブ240及びテーブル220の画像300a−1をカメラ230から取得する。
【0077】
ステップS13において、制御部10は、
図9に示すように、基準位置にあるテーブル220を、機械座標系ΣmのXm軸及びYm軸の各方向に移動量dの距離移動させ、画像取得部12は、Xm軸方向に移動したテーブル220aの画像300a−2、及びYm軸方向に移動したテーブル220bの画像300a−3を取得する。
【0078】
ステップS14において、校正部13aは、画像300a−1の特徴点D、E、F、画像300a−2の特徴点D1、E1、F1及び画像300a−3の特徴点D2、E2、F2を用いて、機械座標系ΣmのXm軸及びYm軸方向の消失点V
x、V
yを算出し、算出した消失点V
x、V
yから式(4)を用いて、機械座標系Σmに対するカメラ座標系Σcの姿勢Rを算出する。
【0079】
ステップS15において、校正部13aは、タッチ点TPの機械座標系Σmの機械座標(X
tm,Y
tm,Z
tm)と、画像300a−1におけるタッチ点TPの画像座標系Σiの座標(x
t,y
t)とから、式(8)から式(11)を用いて、機械座標系Σmに対するカメラ座標系Σcの位置関係tを算出し、算出した位置関係tを記憶部20の校正データ23の格納領域に記憶する。
【0080】
以上説明したように、第2の実施形態では、カメラ校正装置100Aは、加工機210に配置されたタッチプローブ240がテーブル220をタッチしたタッチ点TPの機械座標、及びタッチプローブ240がタッチした時のテーブル220の画像300a−1を取得する。また、カメラ校正装置100Aは、テーブル220を機械座標系ΣmのXm軸及びYm軸の各方向に移動させ、各方向に移動した時のテーブル220の画像300a−2及び画像300a−3を取得する。カメラ校正装置100Aは、取得した3つの画像300a−1、画像300a−2及び画像300a−3におけるテーブル220上の複数の特徴点の位置関係に基づいて、テーブル座標系Σtを介して、機械座標系Σmに対するカメラ座標系Σcの姿勢R及び位置関係tを算出する。
【0081】
これにより、カメラ校正装置100Aは、テーブル220上の複数の特徴点を校正器具として用いることで、自由度が少ない工作機械においても容易に工作機械上に設定された機械座標系Σmと、工作機械に設置されたカメラのカメラ座標系Σcとの関係をキャリブレーションできる。そして、カメラ校正装置100Aは、専用の校正器具を規定位置に設置する作業、及び校正器具を設置する冶具が不要となるため、カメラ校正にかかる作業負担や設備負担を軽減できる。
以上、第2の実施形態について説明した。
【0082】
[第2の実施形態の変形例1]
第2の実施形態に係るカメラ校正装置100Aは、公知の手法により、予め内部パラメータK及び歪曲収差係数κ
1、κ
2を算出し、記憶部20に記憶したが、これに限定されない。例えば、第2の実施形態の変形例1として、カメラ校正装置100Aは、テーブル220上のキズ等の複数の特徴点をチェッカーボードと見立て、公知の手法により内部パラメータK及び歪曲収差係数κ
1、κ
2を算出しても良い。
この場合、カメラ校正装置100Aは、テーブル220を機械座標系ΣmのXmYm平面上の様々な位置に移動させた3以上の複数の画像を取得することが好ましい。
【0083】
[第2の実施形態の変形例2]
第2の実施形態に係るカメラ校正装置100Aは、テーブル220上の複数の特徴点D、E、Fを検出したが、これに限定されない。例えば、第2の実施形態の変形例2として、カメラ校正装置100Aは、機械座標系ΣmのXmYm平面とテーブル座標系ΣtのXtYt平面とが互いに平行な場合、1つの特徴点を用いるだけで良い。
【0084】
[第3の実施形態]
次に第3の実施形態について説明する。第3の実施形態では、カメラ校正装置は、工作機械に含まれるカメラとして3Dカメラを用いる点が、第1の実施形態と異なる。これにより、第3の実施形態では、カメラ校正装置は、カメラ座標系Σcから見たタッチプローブ240の先端の位置を直接取得できるため、タッチプローブ240の先端の機械座標が既知の場合、チェッカーボード250へのタッチ動作が不要となる。このため、以下では、タッチ点の代わりに、タッチプローブ240の先端の位置は、「先端位置」ともいう。
したがって、第3の実施形態の第3段階では、カメラ校正装置100Bは、先端位置の機械座標系Σmの機械座標(X
tm,Y
tm,Z
tm)と、カメラ座標系Σcの座標(X
tc,Y
tc,Z
tc)とは、式(12)のように関係付けられるため、チェッカーボード座標系Σbを経由せず、機械座標系Σmに対するカメラ座標系Σcの位置関係tを求めることができる。
【数10】
【0085】
なお、カメラ校正装置100Bは、第1段階として、タッチプローブ240を含むテーブル220上の任意の位置に設置したチェッカーボード250の画像300b−1を取得し、公知の手法により、取得した画像からカメラの内部パラメータ及びチェッカーボード座標系Σbに対するカメラ座標系Σcの姿勢R
c及び位置関係t
cを求める。
また、カメラ校正装置100Bは、第1の実施形態と同様に、第2段階として、機械座標系ΣmのXm軸方向に移動したチェッカーボード250aの画像300b−2と、Ym軸方向に移動したチェッカーボード250bの画像300b−3とを用いて、機械座標系Σmに対するカメラ座標系Σcの姿勢Rを求める。
以上により、工作機械上に設定された機械座標系Σmと、工作機械に設置されたカメラのカメラ座標系Σcとの関係をキャリブレーションすることができる。
以下に、第3実施形態について説明する。
【0086】
図11は、本発明の第3の実施形態に係るカメラ校正装置の一例を示す図である。なお、
図11では、第1の実施形態に係るカメラ校正装置100の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
【0087】
第3の実施形態に係るカメラ校正装置100Bは、第1の実施形態に係るカメラ校正装置100と同様の構成を備える。
工作機械200は、加工機210と、テーブル220と、カメラ230aとを有する。
【0088】
カメラ230aは、CCDやCMOS等のイメージセンサを2つ有する3Dカメラ(例えば、ステレオカメラ又は深度カメラ等)である。カメラ230aは、加工機210の加工動作に干渉しない位置で、かつテーブル220及び加工機210により加工されているワークの状態が観察できる工作機械200内の位置に配置される。なお、カメラ230aにおける基線長等については、予め校正され、基線長等の校正データは記憶部20の校正データ23の格納領域に記憶される。
【0089】
カメラ校正装置100Bは、工作機械上に設定された機械座標系Σmと、工作機械に設置されたカメラのカメラ座標系Σcとの関係をキャリブレーションするため、制御部10が記憶部20に記憶されたカメラ校正処理のプログラムを実行することにより、機械座標計測部11、画像取得部12及び校正部13bとして機能する。
機械座標計測部11及び画像取得部12は、第1の実施形態における機械座標計測部11及び画像取得部12と同等の機能を有する。
【0090】
校正部13bは、第1の実施形態における校正部13と同等の機能を有する。ただし、校正部13bは、カメラ230aが3Dカメラであるため、カメラ230aにより撮像された画像からタッチプローブ240の先端位置SPのカメラ座標系Σcにおける座標を直接取得できる点が、第1の実施形態に係る校正部13と異なる。
より具体的には、上述したように、校正部13bは、第3段階において、先端位置SPの機械座標系Σmの機械座標(X
tm,Y
tm,Z
tm)と、カメラ230aにより撮像された画像から取得した先端位置SPのカメラ座標系Σcの座標(X
tc,Y
tc,Z
tc)とから、式(12)を用いて、機械座標系Σmに対するカメラ座標系Σcの位置関係tを算出する。
以上、第3の実施形態に係るカメラ校正装置100Bの構成について説明した。
【0091】
次に、
図12に示すフローチャートを参照してカメラ校正装置100Bの動作について説明する
図12は、第3の実施形態に係るカメラ校正装置100Bにおけるカメラ校正処理の一例を示す図である。
図12に示した処理のうち、
図7に示したステップと同様の処理については、同じステップ番号を付し、詳細な説明は省略する。
図12に示した処理は、例えば、オペレータ等によるカメラ校正装置100Bの入力装置の操作により実行される。なお、
図12に示した処理を実行するにあたり、オペレータ等は、
図11に示すように、テーブル220にチェッカーボード250を任意の位置に任意の姿勢で配置する。
【0092】
ステップS1aにおいて、機械座標計測部11は、基準位置にある加工機210に配置されたタッチプローブ240が検出した先端位置SPの機械座標を取得する。
【0093】
ステップS2aにおいて、画像取得部12は、基準位置にある加工機210のタッチプローブ240及びチェッカーボード250の画像300b−1を取得する。
ステップS3において、校正部13bは、第1の実施形態におけるステップ3に記載した処理において、ステップS2をステップS2aに読み替え、画像300−1を画像300b−1に読み替えた動作と同様の処理を行い、内部パラメータK及びチェッカーボード座標系Σbに対するカメラ座標系Σcの姿勢R
c及び位置関係t
cを算出する。
【0094】
ステップS4において、カメラ校正装置100Bは、第1の実施形態におけるステップS4に記載した処理において、画像300−2を画像300b−2と読み替え、画像300−3を画像300b−3と読み替えた動作と同様の処理を行い、画像300b−2及び画像300b−3を取得する。
ステップS5において、校正部13bは、第1の実施形態におけるステップS4に記載した処理において、画像300−1を画像300b−1に、画像300−2を画像300b−2に、画像300−3を画像300b−3にそれぞれ読み替えた動作と同様の処理を行い、機械座標系Σmに対するカメラ座標系Σcの姿勢Rを算出し、算出した姿勢Rを記憶部20の校正データ23の格納領域に記憶する。
【0095】
ステップS6aにおいて、校正部13bは、先端位置SPの機械座標系Σmの機械座標(X
tm,Y
tm,Z
tm)と、画像300a−1から取得される先端位置SPのカメラ座標系Σcにおける座標(X
tc,Y
tc,Z
tc)と、姿勢Rとから式(12)を用いて、機械座標系Σmに対するカメラ座標系Σcの位置関係tを算出する。
【0096】
以上説明したように、第3の実施形態では、カメラ校正装置100Bは、加工機210に配置されたタッチプローブ240の先端位置SPの機械座標、及びテーブル220に任意の位置に任意の姿勢で配置されたチェッカーボード250とタッチプローブ240の画像300b−1を取得する。また、カメラ校正装置100Bは、テーブル220を機械座標系ΣmのXm軸及びYm軸の各方向に移動させ、各方向に移動した時のチェッカーボード250の画像300b−2及び画像300b−3を取得する。カメラ校正装置100Bは、取得した3つの画像300b−1、画像300b−2、及び画像300b−3におけるチェッカーボード250の複数の特徴点の位置関係に基づいて、機械座標系Σmに対するカメラ座標系Σcの姿勢Rを算出する。また、カメラ校正装置100Bは、取得した先端位置SPの機械座標系Σmの機械座標(X
tm,Y
tm,Z
tm)と、画像300b−1から取得した先端位置SPのカメラ座標系Σcの座標(X
tc,Y
tc,Z
tc)とから、機械座標系Σmに対するカメラ座標系Σcの位置関係tを算出する。
【0097】
これにより、カメラ校正装置100Bは、チェッカーボード250を任意の位置に任意の姿勢でテーブル220に配置することで、自由度が少ない工作機械においても容易に工作機械上に設定された機械座標系Σmと、工作機械に設置されたカメラのカメラ座標系Σcとの関係をキャリブレーションできる。そして、カメラ校正装置100Bは、専用の校正器具を規定位置に設置する作業、及び校正器具を設置する冶具が不要となるため、カメラ校正にかかる作業負担や設備負担を軽減できる。
以上、第3の実施形態について説明した。
【0098】
[第4の実施形態]
次に第4の実施形態について説明する。第4の実施形態では、工作機械は、テーブルが固定して配置され、工具主軸のみ可動する可動型3軸機(主軸が機械座標系ΣmのXmYmZm方向に移動可能)であるという点が、第1の実施形態と異なる。また、第4の実施形態では、加工機に配置されたタッチプローブの先端を特徴点とするため、機械座標系Σmとカメラ座標系Σcとの姿勢R及び位置関係tを求めるために、4つの画像が必要となる点が、第1の実施形態と異なる。
これにより、カメラ校正装置100Cは、第2段階として、後述するように、工作機械の2方向の直線軸移動により撮像して得た4つ画像を用いて、機械座標系Σmに対するカメラ座標系Σcの姿勢Rを求める。
なお、第4の実施形態における第1段階及び第3段階は、第1の実施形態と同様であり詳細な説明は省略する。
以上により、工作機械上に設定された機械座標系Σmと、工作機械に設置されたカメラのカメラ座標系Σcとの関係をキャリブレーションすることができる。
以下に、第4実施形態について説明する。
【0099】
図13は、本発明の第4の実施形態に係るカメラ校正装置の一例を示す図である。なお、
図13では、第1の実施形態に係るカメラ校正装置100の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
【0100】
第4の実施形態に係るカメラ校正装置100Cは、第1の実施形態に係るカメラ校正装置100と同様の構成を備える。
一方、工作機械200は、例えば、工具主軸のみ可動する可動型3軸機であり、加工機210a(工具主軸装置)と、テーブル220cと、カメラ230とを有する。
【0101】
加工機210aは、例えば、主軸ユニットであり、数値制御装置150の指令に基づいて、機械座標系ΣmのXm軸、Ym軸及びZm軸の各方向に移動する。
【0102】
また、加工機210aには、カメラ校正処理の際に任意の位置の機械座標を計測するタッチプローブ240が、加工機210aの先端に配置される。なお、これに限定されず、加工機210aの先端には、レーザ光源等が配置されても良い。
テーブル220cは、例えば、工作機械200に固定して配置され、上面に加工対象のワークが配置される。
【0103】
また、テーブル220cの上面には、カメラ校正処理の際に、チェッカーボード250が校正器具として任意の位置に任意の姿勢で配置される。なお、これに限定されず、テーブル220cには、ドットパターン等を有した校正器具が配置されても良い。また、カメラ校正処理の際に、加工機210aの先端に配置されたタッチプローブ240がチェッカーボード250上の任意の位置をタッチできるように、チェッカーボード250がテーブル220cに配置されることが好ましい。
【0104】
カメラ校正装置100Cは、工作機械上に設定された機械座標系Σmと、工作機械に設置されたカメラのカメラ座標系Σcとの関係をキャリブレーションするため、制御部10が記憶部20に記憶されたカメラ校正処理のプログラムを実行することにより、機械座標計測部11、画像取得部12及び校正部13cとして機能する。
機械座標計測部11及び画像取得部12は、第1の実施形態における機械座標計測部11及び画像取得部12と同等の機能を有する。
校正部13cは、第1の実施形態における校正部13と同等の機能を有する。ただし、校正部13cは、上述したように、加工機210aに配置されたタッチプローブ240の先端位置SPを1つの特徴点をとするため、第2段階において、4つの異なる位置で撮像された4つの画像を用いて機械座標系Σmに対するカメラ座標系Σcの姿勢Rを算出する点が、第1の実施形態における校正部13と異なる。
【0105】
<第2段階>
画像取得部12は、
図14に示すように、破線で示した加工機210aの基準位置と、加工機210aが機械座標系ΣmのZm軸方向の高さを一定にしてXmYm平面上を移動した3つの位置とのそれぞれで、撮像された加工機210aのタッチプローブ240を含む4つ画像を、カメラ230から取得する。
図14は、カメラ校正処理における加工機210aの動作の一例を示す図である。
図14では、基準位置にある加工機210aを破線で示す。画像取得部12は、カメラ230により撮像された基準位置にあるタッチプローブ240の画像300c−2を取得する。そして、
図14に示すように、制御部10は、基準位置にある加工機210aを、テーブル220cに対して機械座標系ΣmのXm軸方向に移動量dの距離移動させ、画像取得部12は、カメラ230により撮像されたタッチプローブ240の画像300c−3を取得する。
次に、制御部10は、加工機210aを、現在の位置からYm軸方向に移動量dの距離移動させ、画像取得部12は、カメラ230により撮像されたタッチプローブ240の画像300c−4を取得する。そして、制御部10は、加工機210aを、現在の位置からXm軸方向に移動量−dの距離を移動させ、画像取得部12は、カメラ230により撮像されたタッチプローブ240の画像300c−5を取得する。
【0106】
校正部13cは、
図14に示すように、4つの位置で撮像された画像300c−2、画像300c−3、画像300c−4及び画像300c−5から、
図4の場合と同様に、タッチプローブ240の先端位置SPの画像座標系Σiにおける座標を取得する。
【0107】
図15は、4つの画像300c−2、画像300c−3、画像300c−4及び画像300c−5から取得された画像座標系Σiにおける先端位置SP1−SP4の位置関係の一例を示す図である。先端位置SP1は、画像300c−2における画素位置を示し、先端位置SP2は、画像300c−3における画素位置を示す。また、先端位置SP3は、画像300c−4における画素位置を示し、先端位置SP4は、画像300c−5における画素位置を示す。
【0108】
先端位置SP1と先端位置SP2との直線は、
図6の場合と同様に、機械座標系ΣmのXm軸方向を示す。同様に、先端位置SP3と先端位置SP4との直線も、機械座標系ΣmのXm軸方向を示す。そうすると、先端位置SP1−SP4の4点は、2次元の画像座標系Σi上の画素であることから、先端位置SP1と先端位置SP2との直線と先端位置SP3と先端位置SP4との直線とは、ある一点、すなわち消失点V
xで交わる。そこで、校正部13cは、画像座標系Σiにおける先端位置SP1−SP4の座標から、機械座標系ΣmのXm軸方向の消失点V
xを算出することができる。
【0109】
また、先端位置SP1と先端位置SP4との直線は、
図6の場合と同様に、機械座標系ΣmのYm軸方向を示す。同様に、先端位置SP2と先端位置SP3との直線も、機械座標系ΣmのYm軸方向を示す。そうすると、先端位置SP1−SP4の4点は、2次元の画像座標系Σi上の画素であることから、先端位置SP1と先端位置SP4との直線と先端位置SP2と先端位置SP3との直線とは、ある一点、すなわち消失点V
yで交わる。そこで、校正部13cは、画像座標系Σiにおける先端位置SP1−SP4の座標から、機械座標系ΣmのYm軸方向の消失点V
yを算出することができる。
【0110】
そうすることで、校正部13cは、算出した消失点V
x、V
yと、内部パラメータKとから式(4)を用いて、機械座標系Σmに対するカメラ座標系Σcの姿勢Rを構成する行ベクトルr
x、r
y、r
zを算出することができる。
以上、第4の実施形態に係るカメラ校正装置100Cの構成について説明した。
【0111】
次に、
図16に示すフローチャートを参照してカメラ校正装置100Cの動作について説明する
図16は、第4の実施形態に係るカメラ校正装置100Cにおけるカメラ校正処理の一例を示す図である。
図16に示した処理のうち、
図7に示したステップと同様の処理については、同じステップ番号を付し、詳細な説明は省略する。
【0112】
図16に示した処理は、例えば、オペレータ等によるカメラ校正装置100Cの入力装置の操作により実行される。なお、
図16に示した処理を実行するにあたり、オペレータ等は、
図13に示すように、テーブル220cにチェッカーボード250を任意の位置に任意の姿勢で配置する。
【0113】
ステップS1において、機械座標計測部11は、第1の実施形態におけるステップ1と同様の処理を行い、タッチ点TPの機械座標系Σmの機械座標を取得する。
【0114】
ステップS2において、画像取得部12は、第1の実施形態におけるステップ2と同様の処理を行い、カメラ230により撮像されたタッチプローブ240及びチェッカーボード250の画像300−1をカメラ230から取得する。
【0115】
ステップS3において、校正部13cは、第1の実施形態におけるステップ3と同様の処理を行い、公知の手法により、画像300−1から、内部パラメータK及びチェッカーボード座標系Σbに対するカメラ座標系Σcの姿勢R
c及び位置関係t
cを算出する。
【0116】
ステップS4bにおいて、制御部10は、
図14に示すように、基準位置にある加工機210aを機械座標系ΣmのXm軸及びYm軸の各方向に移動量dの距離移動させ、画像取得部12は、画像300c−2、画像300c−3、画像300c−4及び画像300c−5を取得する。
【0117】
ステップS5bにおいて、校正部13cは、取得した4つの画像300c−2、画像300c−3、画像300c−4及び画像300c−5における先端位置SP1−SP4の画像座標系Σiにおける座標を用いて、機械座標系ΣmのXm軸及びYm軸方向の消失点V
x、V
yを算出し、算出した消失点V
x、V
yと、内部パラメータKとから式(4)を用いて、機械座標系Σmに対するカメラ座標系Σcの姿勢Rを算出する。
【0118】
ステップS6では、校正部13cは、第1の実施形態におけるステップS6と同様の処理を行い、機械座標系Σmに対するカメラ座標系Σcの位置関係tを算出し、算出した位置関係tを、記憶部20の校正データ23の格納領域に記憶する。
【0119】
以上説明したように、第4の実施形態では、カメラ校正装置100Cは、テーブル220cに任意の位置に任意の姿勢で配置されたチェッカーボード250を、加工機210aに配置されたタッチプローブ240でタッチしてタッチ点TPの機械座標、及びタッチプローブ240がタッチした時のタッチプローブ240及びチェッカーボード250の画像300−1を取得する。また、カメラ校正装置100Cは、加工機210aを機械座標系ΣmのXm軸及びYm軸の各方向に移動させ、各方向に移動した時のタッチプローブ240の4つの画像300c−2、画像300c−3、画像300c−4及び画像300c−5を取得する。カメラ校正装置100Cは、取得した画像300−1におけるタッチ点TPの画像座標系Σiの座標と、取得した4つの画像300c−2、画像300c−3、画像300c−4及び画像300c−5における先端位置SPの画像座標系Σiの座標と、タッチ点TPの機械座標系Σmの機械座標とを用いて、チェッカーボード座標系Σbを介して、機械座標系Σmに対するカメラ座標系Σcの姿勢R及び位置関係tを算出する。
【0120】
これにより、カメラ校正装置100Cは、チェッカーボード250を任意の位置に任意の姿勢でテーブル220cに配置することで、自由度が少ない工作機械においても容易に工作機械上に設定された機械座標系Σmと、工作機械に設置されたカメラのカメラ座標系Σcとの関係をキャリブレーションできる。そして、カメラ校正装置100Cは、専用の校正器具を規定位置に設置する作業、及び校正器具を設置する冶具が不要となるため、カメラ校正にかかる作業負担や設備負担を軽減できる。
以上、第4の実施形態について説明した。
[第5の実施形態]
【0121】
次に第5の実施形態について説明する。第5の実施形態では、工作機械は、テーブルが固定して配置され、工具主軸のみ可動する可動型3軸機であり、テーブルに替わり、カメラから見える加工機の側面に任意の位置に任意の姿勢でチェッカーボードが配置される点が、第1の実施形態と異なる。
これにより、第5の実施形態の第1段階では、カメラ校正装置100Dは、タッチプローブ240の先端位置である機械座標の既知の1点と、先端位置とチェッカーボード250の画像を取得する点が、第1の実施形態と異なる。
【0122】
また、第5の実施形態の第2段階では、工作機械の2方向は、機械座標系ΣmのYm軸とZm軸との方向である点が、第1の実施形態と異なる。しかしながら、第1の実施形態における機械座標系ΣmのXm軸及びYm軸を、Ym軸及びZm軸と読み替えることで、カメラ校正装置100Dは、後述するように、第1の実施形態と同様に、機械座標が既知の1点とその点を撮像して得た画像、及び工作機械の2方向の直線軸移動とその際に撮像して得た画像とを用いて、機械座標系Σmに対するカメラ座標系Σcの姿勢Rを求める。
さらに、カメラ校正装置100Dは、第3段階として、後述するように、機械座標が既知の1点とその点を撮像して得た画像、及び工作機械の2方向の直線軸移動とその際に撮像して得た画像と、機械座標系Σmに対するカメラ座標系Σcの姿勢Rとを用いて、機械座標系Σmに対するカメラ座標系Σcの位置関係tを求めることができる。
【0123】
以上により、工作機械上に設定された機械座標系Σmと、工作機械に設置されたカメラのカメラ座標系Σcとの関係をキャリブレーションすることができる。
このように、第5の実施形態では、機械座標系Σmに対するカメラ座標系Σcの姿勢及び位置は、テーブルに設定されたテーブル座標系Σtを介して算出される。
以下に、第5実施形態について説明する。
【0124】
図17は、本発明の第5の実施形態に係るカメラ校正装置の一例を示す図である。なお、
図17では、第1の実施形態に係るカメラ校正装置100の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
第5の実施形態に係るカメラ校正装置100Dは、第1の実施形態に係るカメラ校正装置100と同様の構成を備える。
【0125】
一方、工作機械200は、第4の実施形態に係る工作機械200と同様の構成を備える。そして、加工機210aは、例えば、カメラ230から見える側面に、チェッカーボード250が任意の位置に任意の姿勢で配置される。これにより、加工機210aの側面にチェッカーボード座標系Σbが設定される。なお、これに限定されず、加工機210aには、ドットパターン等を有した校正器具が配置されても良い。
【0126】
カメラ校正装置100Dは、工作機械上に設定された機械座標系Σmと、工作機械に設置されたカメラのカメラ座標系Σcとの関係をキャリブレーションするため、制御部10が記憶部20に記憶されたカメラ校正処理のプログラムを実行することにより、機械座標計測部11、画像取得部12及び校正部13dとして機能する。
機械座標計測部11及び画像取得部12は、第1の実施形態における機械座標計測部11及び画像取得部12と同等の機能を有する。
【0127】
<第1段階>
例えば、機械座標計測部11は、基準位置にある加工機210aのタッチプローブ240が検出した先端位置SPの機械座標の機械座標を取得する。また、画像取得部12は、先端位置SPの機械座標を検出した時のタッチプローブ240及びチェッカーボード250の画像300d−1を取得する。
【0128】
<第2段階>
制御部10は、カメラ校正処理において、
図18に示すように、基準位置にある加工機210aを、機械座標系ΣmのYm軸及びZm軸の各方向に移動量dの距離移動させ、画像取得部12は、各方向に移動した加工機210aのチェッカーボード250の画像300d−2及び画像300d−3を取得する。
図18は、カメラ校正処理における加工機210aの動作の一例を示す図である。
図18では、基準位置に位置する加工機210aを破線で示す。
なお、Ym軸方向に移動したチェッカーボード250の画像300d−2、及びZm軸方向に移動したチェッカーボード250の画像300d−3には、タッチプローブ240の先端が撮像されていなくても良い。
【0129】
校正部13dは、第1の実施形態と同様に、画像300d−1、画像300d−2及び画像300d−3のチェッカーボード250の特徴点に基づいて、機械座標系ΣmのXm軸及びYm軸の各方向の消失点V
x、V
yを算出し、算出した消失点V
x、V
yと、内部パラメータKとから、式(4)を用いて、機械座標系Σmに対するカメラ座標系Σcの姿勢Rを構成する行ベクトルr
x、r
y、r
zを算出することができる。
【0130】
<第3段階>
次に、校正部13dは、第1段階で検出された先端位置SPの機械座標系Σmの機械座標(X
tm,Y
tm,Z
tm)に基づいて、画像300d−2及び画像300d−3が撮像された時の先端位置SPの機械座標(X
tm,Y
tm+d,Z
tm)、(X
tm,Y
tm,Z
tm+d)を取得する。また、校正部13dは、取得した3つ画像300d−1、画像300d−2及び300d−3から、
図4の場合と同様に、先端位置SPの画像座標系Σiの座標(x
t0,y
t0)、(x
t1,y
t1)、(x
t2,y
t2)を取得する。なお、(x
t0,y
t0)は、画像300d−1における先端位置SPの座標を示し、(x
t1,y
t1)は、画像300d−2における先端位置SPの座標を示し、(x
t2,y
t2)は、画像300d−3における先端位置SPの座標を示す。
【0131】
そうすることで、校正部13dは、各位置の先端位置SPの機械座標系Σmの機械座標(X
tm,Y
tm,Z
tm)、(X
tm,Y
tm+d,Z
tm)、(X
tm,Y
tm,Z
tm+d)と、先端位置SPの画像座標系Σiの座標(x
t0,y
t0)、(x
t1,y
t1)、(x
t2,y
t2)とは、式(13)のように関係付けられる。校正部13dは、式(13)を解くことにより、機械座標系Σmに対するカメラ座標系Σcの位置関係tを算出することができる。
【数11】
以上により、第3段階として、機械座標系Σmに対するカメラ座標系Σcの位置関係tを求めることができる。
以上、第5の実施形態に係るカメラ校正装置100Dの構成について説明した。
【0132】
次に、
図19に示すフローチャートを参照してカメラ校正装置100Dの動作について説明する。
図19は、第5の実施形態に係るカメラ校正装置100Dにおけるカメラ校正処理の一例を示す図である。
図19示した処理のうち、
図7に示したステップと同様の処理については、同じステップ番号を付し、詳細な説明は省略する。
【0133】
図19に示した処理は、例えば、オペレータ等によるカメラ校正装置100Dの入力装置の操作により実行される。なお、
図19に示した処理を実行するにあたり、オペレータ等は、
図17に示すように、加工機210aの側面にチェッカーボード250を任意の位置に任意の姿勢で配置する。
【0134】
ステップS1cにおいて、機械座標計測部11は、基準位置にある加工機210aのタッチプローブ240が検出した先端位置SPの機械座標を取得する。
【0135】
ステップS2cにおいて、画像取得部12は、先端位置SPの機械座標を検出した時に撮像されたタッチプローブ240及びチェッカーボード250の画像300d−1を取得する。
【0136】
ステップS3において、校正部13dは、第1の実施形態におけるステップ3と同様の処理を行い、例えば、Tsaiの方法により、ステップS2で取得した画像300d−1から、内部パラメータK及びチェッカーボード座標系Σbに対するカメラ座標系Σcの姿勢R
c及び位置関係t
cを算出する。
【0137】
ステップS4cにおいて、制御部10は、
図18に示すように、基準位置にある加工機210aを、Ym軸方向に移動量dの距離移動させ、画像取得部12は、移動したチェッカーボード250の画像300d−2を取得する。次に、制御部10は、基準位置にある加工機210aを、Zm軸方向に移動量dの距離移動させ、画像取得部12は、移動したチェッカーボード250の画像300d−3を取得する。
【0138】
ステップS5において、校正部13dは、第1の実施形態におけるステップS5に記載した処理において、Xm軸をYm軸に、Ym軸をZm軸にそれぞれ読み替えた同様の処理を行い、機械座標系Σmに対するカメラ座標系Σcの姿勢Rを算出する。
【0139】
ステップS6cにおいて、校正部13dは、先端位置SPの機械座標系Σmの機械座標(X
tm,Y
tm,Z
tm)、(X
tm,Y
tm+d,Z
tm)、(X
tm,Y
tm,Z
tm+d)と、先端位置SPの画像座標系Σiの座標(x
t0,y
t0)、(x
t1,y
t1)、(x
t2,y
t2)とから、式(13)を用いて、機械座標系Σmに対するカメラ座標系Σcの位置関係tを算出する。
【0140】
以上説明したように、第5の実施形態では、カメラ校正装置100Dは、基準位置にある加工機210aのタッチプローブ240が検出した先端位置SPの機械座標、タッチプローブ240及びチェッカーボード250の画像300d−1を取得する。また、カメラ校正装置100Dは、Ym軸及びZm軸の各方向に移動した加工機210aのタッチプローブ240及びチェッカーボード250の画像300d−2及び画像300d−3とを取得する。カメラ校正装置100Dは、取得した3つの画像300d−1、300d−2、300d−3と、先端位置SPの機械座標系Σmの機械座標とを用いて、機械座標系Σmに対するカメラ座標系Σcの姿勢R及び位置関係tを算出する。
【0141】
これにより、カメラ校正装置100Dは、チェッカーボード250を任意の位置に任意の姿勢で加工機210aの側面に配置することで、自由度が少ない工作機械においても容易に工作機械上に設定された機械座標系Σmと、工作機械に設置されたカメラのカメラ座標系Σcとの関係をキャリブレーションできる。そして、カメラ校正装置100Dは、専用の校正器具を規定位置に設置する作業、及び校正器具を設置する冶具が不要となるため、カメラ校正にかかる作業負担や設備負担を軽減できる。
以上、第5の実施形態について説明した。
【0142】
[第5の実施形態の変形例]
第5の実施形態に係るカメラ校正装置100Dは、加工機210aの側面にチェッカーボード250を配置したが、これに限定されない。例えば、第5の実施形態の変形例として、チェッカーボード250は、加工機210aの工具取り付け位置に配置されても良い。
この場合、カメラ校正装置100Dは、チェッカーボード250上の1点(工具主軸線とチェッカーボード座標系ΣbのXbYb平面との交点)の機械座標が既知であるとして、チェッカーボード250のXbYb平面の姿勢を算出する。
【0143】
本発明の第1の実施形態から第5の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
<システム構成の自由度>
上述した実施形態では、カメラ校正装置100が数値制御装置150と独立して配置されるケースを例示して説明したが、これに限られない。カメラ校正装置100は、カメラ校正装置100の機能を適宜複数のサーバに分散する、分散処理システムとしても良い。また、クラウド上で仮想サーバ機能等を利用して、カメラ校正装置100の各機能を実現しても良い。また、カメラ校正装置100の一部の機能を数値制御装置150が備えるようにしても良い。
【0144】
[実施形態の変形例1]
第1の実施形態及び第4の実施形態では、カメラ230は、加工機210(210a)とは異なる工作機械200内の固定位置に配置されたが、これに限定されない。例えば、カメラ230は、加工機210(210a)に配置されても良い。この場合、カメラ230は、テーブル220及びチェッカーボード250とともにタッチプローブ240の先端を撮像できる加工機210(210a)の位置に配置されることが好ましい。
これにより、カメラ230は、チェッカーボード250をZm軸方向から撮像することから、カメラ校正装置100(100C)は、チェッカーボード250における複数の特徴点を精度良く算出できる。
【0145】
[実施形態の変形例2]
第1の実施形態、第3の実施形態から第5の実施形態では、カメラ校正装置100(100B、100C、100D)は、内部パラメータ及びチェッカーボード座標系Σbに対するカメラ座標系Σcの姿勢R
c及び位置関係t
cを算出したが、これに限定されない。カメラ校正装置100(100B、100C、100D)は、カメラ校正処理前に、公知の手法により、テーブル220又は加工機210aに配置されたチェッカーボード等の画像から、予め内部パラメータK及びチェッカーボード座標系Σbに対するカメラ座標系Σcの姿勢R
c及び位置関係t
cを算出しても良い。
これにより、カメラ校正装置100(100B、100C、100D)は、カメラ校正処理の処理時間を短縮することができる。