従来より、被加工物を切削加工して、当該被加工物を所定の形状に成形する三次元加工装置が知られている。
こうした三次元加工装置において被加工物に対して切削加工を行うには、切削加工後の被加工物の形状を示す三次元形状データが必要となる。
この三次元形状データについては、例えば、加工したい形状と同様の形状の模型を用い、三次元形状測定装置により当該模型の三次元形状を測定して、必要な三次元形状データを作成するようにしていた。
ここで、こうした三次元形状測定装置において模型の三次元形状を測定する技術として、光を用いて測定対象物の三次元形状を非接触で測定する技術が知られている。
一般に、光を用いて測定対象物の三次元形状を非接触で測定する技術としては、受動的測定法と能動的測定法とがある。
受動的測定法とは、ステレオ法に代表されるように、測定機器側は投光手段を持たずに、環境光を利用して測定するという手法である。
一方、能動的測定法とは、測定機器側の投光手段から測定対象物に向けて光を照射して、その反射光を測定するという手法である。
そして、こうした能動的測定法のなかで、三角測量の原理を用いるものとしては、光切断法や空間コード化法、位相シフト法などが知られている。
具体的には、例えば、光切断法においては、測定対象物に対してスリット状の光を投光して、当該測定対象物の三次元形状を測定するものである。
ここで、光切断法を用いた三次元形状測定装置は、コンピューターによりその全体の動作を制御するように構成されており、測定対象物を撮影するカメラと、このカメラと異なる方向から測定対象物に対してスリット状の光(以下、「スリット光」と称する。)を照射するプロジェクタとを備え、このプロジェクタからスリット光が投光された測定対象物をカメラで撮影する。
このとき、測定対象物表面に投光したスリット光の形状は、スリット光が投光された測定対象物の断面の輪郭の形状と考えることができる。
このため、この光切断法では、測定対象物の三次元形状を測定する際には、測定対象物あるいはカメラおよびプロジェクタのいずれか一方を所定の間隔で移動し、測定対象物表面をスリット光が走査するようにする。このとき、当該所定の間隔毎に、スリット光が照射された測定対象物を撮影し、撮影した映像に基づいて測定対象物の全体の三次元形状を計測するものである。
ここで、スリット光の測定対象物上の一点を考えると、幾何学的な考察が容易なピンホールモデルでは、その点とカメラの光学中心とを結ぶ直線は、カメラの結像面の一点を通る。つまり、画像中のある一点は、カメラから測定対象物へ延びる直線、換言すると、視線の方程式を決定する。
また、一本のスリット光は、プロジェクタから測定対象物へ延びる一枚の平面の方程式を決定する。
スリット光が投光されている測定対象物上の一点は、この直線(視線)および平面のいずれの上にも存在することから、それらの方程式より直線と平面との交点を算出すれば測定対象物上の一点の三次元位置を算出することができるようになる。
そして、光切断法を用いた三次元形状測定装置においては、スリット光を投光する位置を移動して、こうした処理(つまり、スリット光上の各点の三次元位置の算出である。)を繰り返すことにより、三次元形状を測定するものである。
ところで、上記したような光切断法を用いた三次元形状測定装置においては、カメラが撮像した測定対象物の画像におけるスリット光の位置と、その位置に対応する実空間における位置との整合を図るためにキャリブレーションを行う必要がある。
即ち、上記した光切断法を用いた三次元形状測定装置においては、実際に測定対象物の三次元形状を測定する前に、カメラに対するキャリブレーション(以下、「カメラキャリブレーション」と称する。)を行いカメラの外部パラメータおよび内部パラメータを算出するとともに、プロジェクタに対するキャリブレーション(以下、「プロジェクタキャリブレーション」と称する。)を行いプロジェクタの外部パラメータを算出する。
例えば、カメラキャリブレーションにおいては、Zhangの手法を用いることができ、チェッカーシート(図1を参照する。)を利用して、当該チェッカーシートを動かして、それぞれ異なる少なくとも6つの方向(平行移動および同一回転を含まない)からの映像を取得する。
このときの一枚目の映像におけるチェッカーシートの左上の交点をワールド座標系の原点とするとともに、短辺をY軸、長編をX軸、X軸からY軸への外積の方向ベクトルをZ軸とする。
そして、撮影した映像をもとに、正方形の一辺の長さおよび交点の数を特定することで、一枚目の映像に対して、ワールド座標原点と座標軸を設定し、それに対して、カメラ中心がどこにあって、カメラがどの方向に向いているのかを算出するようにしている。
ここで、正方形の一辺の長さとは、チェッカーシートの模様を表す白および黒の正方形の一辺の長さであり、交点の数とは、こうした白と黒との交点の数である。
なお、上記したZhangの手法については、公知の技術のため、その詳細な説明は省略する。
また、プロジェクタの位置については、カメラキャリブレーションされたカメラで撮影した映像から特定することができる。
例えば、カメラキャリブレーションした後に、単に被写体を載置するテーブルに対してスリット光を投光した際の映像と、当該テーブル上に載置した高さが既知の物体に対して投光したときの映像と、当該物体の高さとから、平面(プロジェクタから被写体にスリット光を投光する際に作成される一枚の平面のことである。)の方程式をワールド座標で表現することができる。
上記したキャリブレーションの具体的な方法については、各種の公知の技術を用いることができるので、その詳細な説明は省略することとする。
ここで、三次元形状を測定する際には、上記したように、キャリブレーションを行うことにより、任意の場所を原点とした座標系(ワールド座標系)に対して、カメラはどの位置にどの向きで存在しているか(カメラ座標系)、そして、そのカメラの内部で撮像素子はどの方向に向いているか(画像座標系)などを求める。
そして、上記したようなカメラキャリブレーションにより、任意の原点とはどこか、カメラはどの位置にどの方向に向いて存在しているのか(外部パラメータ)、撮像素子はどの方向に向いているのか(内部パラメータ)を求めるものである。
なお、上記した光切断法を用いた三次元形状測定装置においては、「測定対象物」あるいは「カメラおよびプロジェクタ」のいずれか一方を所定の間隔で移動するようにしているため、ワールド座標系、カメラ座標系および画像座標系の3座標系の他に、移動のための機械座標系を考慮する必要がある。なお、こうした機械座標系は、ワールド座標系に対して独立して存在するものである。
従来の技術においては、こうした機械座標系を考慮する場合には、例えば、非特許文献1に開示されたオプティカルフローによる移動ベクトルを推定する処理を行っていた。
即ち、測定対象物が所定の間隔で移動する場合には、測定対象物の移動をオプティカルフローにより認識することとなる。
具体的には、移動前後の画像から対応点を求め、その対応点の時間的、空間的な変化から、移動方向や移動速度などをベクトルとして解析するものである。
そして、取得したオプティカルフローを用いて測定対象物の移動を運動パラメータとして扱い、機械座標系をワールド座標系のなかに取り込んでワールド座標系の動的変化として三次元形状の測定に用いる。
しかしながら、機械座標系を考慮したカメラキャリブレーションおよびプロジェクタキャリブレーションにおいて、上記したようなオプティカルフローを用いる場合には、移動前の画像と移動後の画像とから対応点を検出するアルゴリズムが非常に複雑となっている。
これにより、機械座標系を考慮したキャリブレーション方法は、対応点を検出するためのアルゴリズムの作成が非常に難しくなるとともに、計算量が多くなってしまうことが問題点として指揮されていた。
このため、三次元形状を測定する装置においてオプティカルフローを使用することなしに、キャリブレーションすることが可能なキャリブレーション方法の提案が強く望まれていた。
また、三次元加工装置においては、例えば、加工対象となる被加工物を所望の形状に加工する際に、当該所望の形状の模型をスキャンするなどして三次元形状データを作成することができるようになれば、三次元加工装置としてより広い用途に使用することができるようになる。
こうした場合には、三次元加工装置において、三次元形状データを作成する前に、上記したようなキャリブレーションを行う必要がある。
しかしながら、オプティカルフローを使用する場合には、上記した問題点があった。
このため、オプティカルフローを使用することなしにキャリブレーションすることが可能であり、模型をスキャンして三次元形状データを作成することが可能な三次元加工装置の提案が強く望まれていた。
本発明は、従来の技術の有する上記したような要望に鑑みてなされたものであり、その目的とするところは、オプティカルフローを使用することなくキャリブレーションすることが可能なキャリブレーション方法を提案しようとするものである。
また、本発明の目的とするところは、オプティカルフローを使用することなくキャリブレーションを行うことができ、かつ、模型をスキャンして三次元形状データを作成することが可能な三次元加工装置を提供しようとするものである。
上記の目的を達成するために、本発明によるキャリブレーション方法は、カメラおよびプロジェクタを固定し、測定対象物を移動して(または、カメラおよびプロジェクタを移動し、測定対象物を固定して)光切断法により三次元形状を測定する際に、測定対象物が移動可能な直線上の少なくとも2点において、カメラキャリブレーションを行って、測定対象物の移動量に応じたカメラおよびプロジェクタの外部パラメータを算出するようにしたものである。
なお、カメラの内部パラメータについては、事前に取得するようにしてもよいし、上記した2点のうちのどちらか1点において取得するようにしてもよい。
また、測定対象物は、テーブルなどの移動手段上に載置され、当該移動手段の移動により移動することとなるため、「測定対象物が移動可能な直線上の少なくとも2点」とは、換言すると、「移動手段が移動可能な直線上の少なくとも2点」となる。同様に、「測定対象物の移動量に応じたカメラおよびプロジェクタの外部パラメータ」とは、換言すると、「移動手段の移動量に応じたカメラおよびプロジェクタの外部パラメータ」となる。
ここで、実際には移動手段が直線上を移動する構成となっているが、移動手段上の所定の点から見るとカメラが移動していると考えることができる(図3(a)(b)を参照する。なお、図3(a)(b)においては、所定の点としてワールド座標原点を示している。)。
このため、本発明においては、実際にはカメラ(プロジェクタ)が固定されて移動手段が移動しているのだが、移動手段が固定されてカメラ(プロジェクタ)が移動するものと考えるようにしたものである。
即ち、移動手段の移動量を相対的なカメラ(プロジェクタ)の移動量とみなすようにしたものである。
そして、移動手段の移動量に応じたカメラの外部パラメータを算出する場合には、移動手段が移動可能な直線上の少なくとも2点におけるカメラの外部パラメータ(回転行列および並進ベクトルである。)を算出し、算出した少なくとも2点における外部パラメータに基づいて、移動手段の移動ピッチ単位で按分比例し、移動手段の移動ピッチ毎のカメラの外部パラメータを取得するようにしたものである。
具体的には、移動手段の移動量に応じたカメラの外部パラメータ(以下、「カメラの動的な外部パラメータ」と適宜に称することとする。)を算出する計算式を作成し、作成した計算式からカメラの動的な外部パラメータ(カメラの位置を示す並進ベクトルおよびカメラの向きを示す回転行列)を算出するようにしたものである。
さらに、算出したカメラの動的な外部パラメータから、移動手段の移動量に応じたプロジェクタの外部パラメータ(以下、「プロジェクタの動的な外部パラメータ」と適宜に称することとする。)を算出するようにしたものである。
以下、カメラの動的な外部パラメータおよびプロジェクタの動的な外部パラメータの算出方法について説明する。
ここで、以下の説明においては、移動手段が前後方向に移動するものとし、「チェッカーシート(後述する。)がカメラに撮影可能な最も前方側の移動手段の位置」を「前端」と称するとともに、「チェッカーシート(図示せず。)がカメラに撮影可能な最も後方側の移動手段の位置」を「後端」と称する。
そして、移動手段は前後方向に所定のピッチ幅単位で移動するものとし、移動手段が前端に位置するときのカメラの外部パラメータを並進ベクトル「Tf」、回転行列「Rf」とし、移動手段が後端にあるときのカメラの外部パラメータを並進ベクトル「Tb」、回転行列「Rb」とする。
また、移動手段の前端から後端までの総移動量を「S」、移動手段が移動する最小単位たる所定のピッチ幅を「P」とし、移動手段の前端からの移動カウント数を「C」とする。なお、移動手段が移動する際には、移動手段の移動量を前端を基点として所定のピッチ幅単位でカウントするようにしており、移動手段の前端からの移動カウント数とはこのカウント数である。
まず、カメラの動的な外部パラメータの算出方法について説明する。つまり、移動手段の移動量に応じた並進ベクトルおよび回転行列の算出方法について説明する。
移動手段が前端から後端に移動するときの移動手段の移動量に応じた並進ベクトル「T」は、下記の(1)式により表される。
T=Tf+(Tb−Tf)/S×P×C・・・(1)
また、移動手段が直線的にのみ移動しているとすれば、理想的には回転行列を考慮する必要はないが、現実的には回転行列の変化を検討する必要がある。
ここで、並進ベクトルと同様に、移動手段が前端から後端に移動すると、回転行列は、
Rf→Rb
に変化する。この変化は、回転行列の回転である。
回転行列を回転させる行列を「n」とすると、
Rf×n=Rb
となる。
従って、
n=Rf−1×Rb
となる。なお、Rf−1はRfの逆行列である。Rf自体が回転行列であり、正規直交行列なので逆行列は存在する。
次に、並進ベクトルと同様に、移動手段の移動量に応じた「n」の変化を考える。
「n」は回転行列であるため、移動手段の移動量に応じた(移動手段の前端からの移動カウント数に応じた)回転量(角度)を直接取得することはできない。
そこで、「n」を回転軸と回転量(角度)とに分解する必要があり、ロドリゲスの回転公式を使用する。なお、ロドリゲスの回転公式、回転軸および回転量への変換については、公知の技術であるため、その詳細な説明は省略する。
即ち、「n」はロドリゲスの回転公式により、
n=θj
となる。なお、「θ」は回転量、「j」は回転軸(単位方向ベクトル)とする。
この結果、移動手段の移動量に応じた回転量を「θ’」とすると、
θ’=θ/S×P×C
となる。
従って、ロドリゲスの回転公式で表現された移動手段の移動量に応じた回転ベクトルは、「θ’j」となる。
この「θ’j」をロドリゲスの逆変換を行って回転行列に戻すことで、移動手段の移動量に応じた回転行列「n’」を取得することができる。
これにより、移動手段の移動量に応じた回転行列「Rb’」は、下記の(2)式により表される。
Rb’=Rf×n’・・・(2)
このようにして、移動カウント数に応じて上記した(1)式および(2)式からカメラの動的な外部パラメータ(移動手段の移動量に応じた並進ベクトル「T」および回転行列「Rb’」)を求めることができるようになる。
次に、プロジェクタの動的な外部パラメータの算出方法について説明する。
まず、移動手段が前端に位置するときのプロジェクタから出ている光平面を示す平面の方程式「ax+by+cz+d=0」の係数a、b、c、d(つまり、プロジェクタの外部パラメータである。)を算出する。
なお、プロジェクタの外部パラメータの算出方法については、公知の技術を用いているため、その詳細な説明は省略することとする。
また、算出した平面の方程式により表される光平面は、移動手段が移動してもカメラとの相対的な位置関係は変化しない。つまり、ワールド座標系で当該平面の方程式を表現すると、移動手段の移動により変化するものであるが、カメラ座標系で当該平面の方程式を表現すると、移動手段が移動しても変化することはない。
即ち、プロジェクタの動的な外部パラメータを求めるには、まず、光平面を示す平面の方程式をワールド座標系で表現する。つまり、ax+by+cz+d=0と表す。
次に、「ax+by+cz+d=0」上の任意の3点P0W、P1W、P2W(この任意の3点P0W、P1W、P2Wは勿論、ワールド座標である。)を、
P0W(X0W、Y0W、Z0W)
P1W(X1W、Y1W、Z1W)
P2W(X2W、Y2W、Z2W)
とする。
そして、点P0W、P1W、P2Wをそれぞれ、移動手段が前端に位置するときのカメラの外部パラメータ(回転行列:Rf、並進ベクトル:Tf)を使用して、カメラ座標系で表す。
即ち、カメラ座標系において点P0Wに対応する点を点P0Cとすると、
P0C=Rf×P0W+Tf
により算出し、P0C(X0C、Y0C、Z0C)を取得する。
また、カメラ座標系において点P1Wに対応する点を点P1Cとすると、
P1C=Rf×P1W+Tf
により算出し、P1C(X1C、Y1C、Z1C)を取得する。
さらに、カメラ座標系において点P2Wに対応する点を点P2Cとすると、
P2C=Rf×P2W+Tf
により算出し、P2C(X2C、Y2C、Z2C)を取得する。
その後、点P0C、P1C、P2Cをカメラの動的な外部パラメータを使用して、動的なワールド座標系で表現する。
即ち、点P0Cを動的なワールド座標系で表現した点を点P’0Wとすると、
P’0W=inv(Rb’)×P0C−inv(Rb’)×T
により算出し、P’0W(X’0W、Y’0W、Z’0W)を取得する。
また、点P1Cを動的なワールド座標系で表現した点を点P’1Wとすると、
P’1W=inv(Rb’)×P1C−inv(Rb’)×T
により算出し、P’1W(X’1W、Y’1W、Z’1W)を取得する。
さらに、点P2Cを動的なワールド座標系で表現した点を点P’2Wとすると、
P’2W=inv(Rb’)×P2C−inv(Rb’)×T
により算出し、P’2W(X’2W、Y’2W、Z’2W)を取得する。
なお、inv(Rb’)は、Rb’の逆行列である。
こうして算出した3点P’0W、P’1W、P’2Wから新たに光平面を示す平面の方程式「a’x+b’y+c’z+d’=0」を求める。
こうして求められた係数「a’、b’、c’、d’」がプロジェクタの動的な外部パラメータとなる。
従って、プロジェクタの動的な外部パラメータは、移動カウント数に応じて変化するカメラの動的な外部パラメータに応じて変化することとなる。
なお、幾何学的には、「ax+by+cz+d=0」(ワールド座標系表現)を直接カメラの動的な外部パラメータ「T」、「Rb’」により「a’x+b’y+c’z+d’=0」変換することもできる。
ここで、上記においては、測定対象物が移動可能な直線上の2点(前端および後端)においてカメラキャリブレーションを行う場合について説明したが、測定対象物が移動可能な直線上の3点以上の点においてキャリブレーションを行う場合には、隣り合う2点間において、上記した測定対象物が移動可能な直線上の2点(前端および後端)においてキャリブレーションを行う場合と同様の処理を行って、カメラおよびプロジェクタの動的な外部パラメータを算出するようにすればよい。
上記にようにしてカメラの内部パラメータおよび動的な外部パラメータとプロジェクタの動的な外部パラメータとを算出した後、算出したカメラの内部パラメータおよび動的な外部パラメータとプロジェクタの動的な外部パラメータとを利用して三次元形状の測定を行う。
即ち、カメラにより撮影された映像の移動量(つまり、移動カウント数)に応じたカメラの動的な外部パラメータおよびプロジェクタの動的な外部パラメータに基づいて、当該映像におけるスリット光により形成された測定対象物の三次元形状を測定し、こうした処理を繰り返すことにより、測定対象物の全体の三次元形状を測定する。
このように、本発明によるキャリブレーション方法においては、複雑なアルゴリズムを使用することなく、容易に、測定対象物(テーブル上に載置された測定対象物である。)の移動量に応じたカメラおよびプロジェクタの外部パラメータを取得することができるようになり、簡単にキャリブレーションすることができるようになる。
また、本発明による三次元加工装置は、上記したキャリブレーション方法を利用して、キャリブレーションを行い、その後、所望の形状の模型をスキャンして当該模型の三次元形状の測定を行って、この測定結果から専用のソフトなどを利用して所望の形状の三次元形状データを作成するようにしたものである。
これにより、本発明による三次元加工装置においては、容易に三次元形状データを作成することができるようになり、被加工物を所望の形状に加工することが可能となる。
即ち、本発明によるキャリブレーション方法は、光切断法により測定対象物の三次元形状の測定を行うとともに、スリット光を投光するプロジェクタと、上記プロジェクタより投光されたスリット光を撮影するカメラとが固定的に配設され、移動手段により上記測定対象物を移動するようにした三次元形状測定装置におけるキャリブレーション方法において、カメラによる撮影が可能であり、かつ、移動手段の移動可能な少なくとも2箇所において上記カメラの外部パラメータを算出し、算出した上記カメラの外部パラメータから上記移動手段の最小移動単位で按分比例して、上記移動手段の移動量に基づく上記カメラの外部パラメータを取得し、取得した移動量に基づく上記カメラの外部パラメータからプロジェクタの外部パラメータを取得するようにしたものである。
また、本発明によるキャリブレーション方法は、上記した発明において、上記移動手段の移動可能な少なくとも2箇所は、上記カメラにより上記移動手段に載置されたチェッカーシートを撮影可能な最も前方側たる前端部と、上記カメラにより上記移動手段に載置された上記チェッカーシートを撮影可能な最も後方側たる後端部とであり、上記カメラを上記前端部に位置させて上記チェッカーシートを撮影し、上記カメラを上記後端部に位置させて上記チェッカーシートをそれぞれ異なる少なくとも6つの方向から撮影し、上記カメラを再度上記前端部に位置させて上記チェッカーシートを、未だ撮影していない方向であり、かつ、それぞれ異なる少なくとも5つの方向から撮影することによって、上記前端部において少なくとも6つのそれぞれ異なる方向から撮影したチェッカーシートの映像を取得するとともに、上記後端部において少なくとも6つのそれぞれ異なる方向から撮影したチェッカーシートの映像を取得し、上記前端部において少なくとも6つのそれぞれ異なる方向から撮影したチェッカーシートの映像に基づいて、上記前端部におけるカメラの外部パラメータを求めるとともに、上記後端部において少なくとも6つのそれぞれ異なる方向から撮影したチェッカーシートの映像に基づいて、上記後端部におけるカメラの外部パラメータを求めるようにしたものである。
また、本発明による三次元加工装置は、三次元形状データに基づいて、被加工物に対して三次元加工を行う三次元加工装置において、上記被加工物や所望の形状に形成された測定対象物を載置するとともに、傾斜角度をそれぞれ異なる少なくとも6つの方向に変更することが可能な移動手段と、上記移動手段上にスリット光を投光するプロジェクタと、上記プロジェクタより投光されたスリット光を撮影するカメラと、上記移動手段の移動および傾斜角度を制御するとともに、上記プロジェクタのスリット光の投光のタイミングおよび上記カメラの撮影のタイミングを制御する制御手段と、上記した本発明によるキャリブレーション方法によりキャリブレーションを行うとともに、光切断法により上記測定対象物の三次元形状を測定して、上記測定対象物の三次元形状データを作成する三次元形状測定手段とを有するようにしたものである。
また、本発明による三次元加工装置は、上記した発明において、上記カメラおよび上記プロジェクタは、キャリブレーションおよび上記測定対象物の三次元形状データを作成する際に取り付けられ、上記被加工物に対して三次元加工を行う際には取り外されるようにしたものである。
本発明は、以上説明したように構成されているので、オプティカルフローを使用することなしにキャリブレーションすることができるという優れた効果を奏するものである。
また、本発明は、以上説明したように構成されているので、簡単なキャリブレーションを行うことができ、かつ、模型をスキャンして三次元形状データを作成することができるという優れた効果を奏するものである。
以下、添付の図面を参照しながら、本発明によるキャリブレーション方法および三次元加工装置の実施の形態の一例を詳細に説明するものとする。
ここで、図2には、本発明による三次元加工装置の要部を示す概略構成説明が示されている。
図2に示す三次元加工装置10は、三次元形状の測定を行って三次元形状データを作成することが可能な三次元加工装置であって、図2においてはその要部のみが示され、図2において示された要部を囲うように筐体などの構成が設けられる。
また、三次元加工装置10は、三次元形状データを作成する際には、後述するテーブル14上に模型を載置し、このテーブル14を移動する、つまり、測定対象物たる模型を移動することにより測定対象物の三次元形状を取得するものである。
この三次元加工装置10は、加工の対象となる被加工物100や三次元形状データを作成する際の模型となる測定対象物200が載置されるとともに、XYZ直交座標系におけるX軸方向に移動するテーブル14が基台部材12の上面12aに配設されている。
また、基台部材12においては、その上面12aの左方側端部において、立設部材16が立設されており、上面12aの右方側端部において、立設部材16と対向するようにして立設部材18が立設されている。
この立設部材16、18においては、立設部材16、18を連結するようにY軸方向にガイドレール20が延設されており、ガイドレール20には、被加工物100を加工するための加工工具22を支持するヘッド部24が摺動自在に配設されている。
さらに、立設部材16、18においては、立設部材16の上端部16aと立設部材18の上端部18aとを連結するように板状部材26が設けられている。
そして、この板状部材26の上面26aには、テーブル14に載置された測定対象物200に対してスリット光を投光するプロジェクタ28が配設されるとともに、テーブル14に載置された測定対象物200を撮影するカメラ30が配設される。このとき、カメラ30は、測定対象物200を撮影する角度が、プロジェクタ28が測定対象物200に対してスリット光を投光する際の角度と異なるように配設される。
なお、三次元加工装置10は、全体の動作をマイクロコンピューター(図示せず。)により制御されている。
より詳細には、基台部材12の上面12aには、X軸方向にガイド溝32a、32bが延設されていて、テーブル14は、このガイド溝32a、32bに沿って図示しない移動機構によってX軸方向に移動するものである。
また、テーブル14は、図示しない移動機構によって、例えば、それぞれ異なる6方向に傾斜するものである。なお、それぞれ異なる6方向は、被加工物100を載置して加工する際の水平状態を含み、平行移動および同一回転を含まないものとする。
さらに、この移動機構は、所定のピッチ幅で移動するものであり、テーブル14が移動する際に、テーブル14の前端部(後述する。)を基点として、何回所定のピッチ幅で移動したのかをカウントしているものであり、カウントした値は、マイクロコンピューター(図示せず。)に出力され、記憶される。
なお、こうしたテーブル14における移動機構(図示せず。)については、従来より公知の技術を使用するため、その詳細な説明は省略することとする。
立設部材16には、図示しないマイクロコンピューターの制御に基づいて駆動する駆動部材34が設けられており、この駆動部材34の駆動によりヘッド部24がガイドレール20に沿ってY軸方向に移動する。
ヘッド部24は、ガイドレール20に摺動自在に配設された移動部材24aと、移動部材24aの前面に設けられるとともにZ軸方向に移動可能な移動部材24bと、移動部材24bに配設されるとともに加工工具22を支持する主軸ユニット24cとにより構成されている。
これにより、移動部材24aは、立設部材16に設けられた駆動部材34の駆動によってY軸方向に移動することが可能である。
また、移動部材24bは、移動部材24bの前方側において、Z軸方向に延設された一対のガイドレール24baに摺動自在に配設されており、駆動手段(図示せず。)によりZ軸方向に移動することが可能である。
さらに、主軸ユニット24cは、加工工具22が支持されており、駆動手段(図示せず。)により加工工具22を回転することが可能である。
また、プロジェクタ28は、発光ダイオード(図示せず。)と、所定のサイズのスリットが形成されたフィルター(図示せず。)とを備えている。
そして、プロジェクタ28は、発光ダイオード(図示せず。)からの光をフィルター(図示せず。)を介することによりスリット光とし、このスリット光をテーブル14上に載置される測定対象物200に投光するようになされている。
なお、このプロジェクタ28は、マイクロコンピューター(図示せず。)により投光のタイミングなどのすべての動作の制御がなされるものである。
カメラ30は、プロジェクタ28の投光方向とは異なる方向から、テーブル14上に載置された測定対象物200の表面を撮影することができるように配置されている。
そして、カメラ30で撮影された映像は、デジタル化されてマイクロコンピューター(図示せず。)に取り込まれるようになされている。
以上の構成において、三次元加工装置10において、被加工物100を所望の三次元形状に加工する場合には、被加工物100を加工する際に必要な三次元形状データを作成し、作成した三次元形状データを利用して被加工物100を加工するようにする。
まず、被加工物100を加工する際に必要となる三次元形状データの作成について説明する。
こうした三次元形状データを作成するために、カメラ30とプロジェクタ28とのキャリブレーションを行う。
カメラ30およびプロジェクタ28のキャリブレーションを行うには、まず、テーブル14上に市松模様が描画されたチェッカーシート110(図3を参照する。)を固定する。なお、チェッカーシート110は、例えば、テープなどによりテーブル14上に着脱可能な構成となっており、テーブル14上に載置された際には、テーブル14上で容易に移動することがないようになされている。
その後、チェッカーシート110が載置されたテーブル14を移動して、チェッカーシート110がカメラ30で撮影可能な範囲における少なくとも2箇所においてカメラキャリブレーションを行う。
以下、図4を参照しながら、カメラキャリブレーション処理について説明することとする。図4には、カメラキャリブレーション処理の処理手順を示すフローチャートが示されている。
まず、チェッカーシート110をカメラ30により撮影可能な最も前方側にテーブル14を移動する(ステップS402)。このとき、テーブル14は水平状態である。
即ち、ステップS402の処理では、作業者が図示しない操作子を操作することにより、マイクロコンピューター(図示せず。)を介してテーブル14を移動して、チェッカーシート110をカメラ30により撮影可能な最も前方側に位置させるようにする。
このとき、マイクロコンピューター(図示せず。)においては、このチェッカーシート110をカメラ30により撮影可能な最も前方側の位置を記憶する。
なお、以下の説明において、「チェッカーシート110がカメラ30により撮影可能な最も前方側に位置する際のテーブル14の位置」を「前端部」と称することとする。
また、以下の説明において、チェッカーシート110がカメラ30に撮影可能であるとは、チェッカーシート110の全体がすべてカメラ30により撮影できる状態のことを示す。なお、こうしたカメラ30によりチェッカーシート110の全体がすべて撮影できる状態であるか否かの判断は、例えば、カメラ30で撮影された映像をマイクロコンピューター(図示せず。)を介して、外部の表示装置などに表示し、それを作業者が目視により判断する。
そして、テーブル14が前端部に位置する状態で、カメラ30によりチェッカーシート110の撮影を行う(ステップS404)。なお、こうして撮影された映像は、マイクロコンピューター(図示せず。)に記憶される。
次に、チェッカーシート110をカメラ30により撮影可能な最も後方側にテーブル14を移動する(ステップS406)。このとき、テーブル14は水平状態である。
なお、以下の説明において、「チェッカーシート110がカメラ30により撮影可能な最も後方側に位置する際のテーブル14の位置」を「後端部」と称することとする。
即ち、ステップS406の処理では、作業者が図示しない操作子を操作することにより、マイクロコンピューター(図示せず。)を介してテーブル14を後端部に移動する。
そして、テーブル14が後端部に位置する状態で、カメラ30によりチェッカーシート110の撮影を行う(ステップS408)。なお、こうして撮影された映像は、マイクロコンピューター(図示せず。)に記憶される。
即ち、ステップS408の処理では、水平状態のチェッカーシートの撮影を行うものである。
その後、テーブル14が後端部に位置した状態で、テーブル14をそれぞれ傾斜角度が異なる5つの状態とし、当該5つの状態においてそれぞれチェッカーシート110の撮影を行う(ステップS410)。なお、こうして撮影された映像は、ステップS408の処理において撮影された映像と関連づけてマイクロコンピューター(図示せず。)に記憶される。
即ち、このステップS410の処理では、テーブル14が後端部に位置した状態で、平行移動や同一回転した状態とならないように、テーブル14をそれぞれ傾斜角度が異なる5つの状態とし、各状態において、それぞれチェッカーシート110の撮影を行うものである。
具体的には、ステップS410の処理では、テーブル14を水平状態から傾斜させて第1の状態とし、第1の状態でチェッカーシート110の撮影を行う。また、テーブル14を第1の状態から傾斜させて第2の状態とし、第2の状態でチェッカーシート110の撮影を行う。また、テーブル14を第2の状態から傾斜させて第3の状態とし、第3の状態でチェッカーシート110の撮影を行う。また、テーブル14を第3の状態から傾斜させて第4の状態とし、第4の状態でチェッカーシート110の撮影を行う。また、テーブル14を第4の状態から傾斜させて第5の状態とし、第5の状態でチェッカーシート110の撮影を行う。
なお、このとき、テーブル14は後端部に位置した状態であり、第1〜5の状態は、いずれも水平状態でなく、かつ、互いに同じ方向への傾斜角度にない状態である。また、こうした第1〜5の状態とするためのテーブル14の傾斜角度は、作業者が任意に決定するようにしてもよいし、予めマイクロコンピューター(図示せず。)に記憶しておくようにしてもよい。
このステップS410の処理およびステップS408の処理により、テーブル14が後端部に位置するときの、それぞれ撮影方向の異なる6つのチェッカーシート110の映像を取得することとなる。
次に、テーブル14をステップS402で移動した前端部に移動する(ステップS412)。
即ち、ステップS412の処理では、マイクロコンピューター(図示せず。)の制御により、当該マイクロコンピューターに記憶された前端部にテーブル14を移動する。
そして、テーブル14が前端部に位置した状態で、テーブル14をそれぞれ傾斜角度が異なる5つの状態とし、当該5つの状態においてそれぞれチェッカーシート110の撮影を行う(ステップS414)。なお、こうして撮影された映像は、ステップS404の処理において撮影された映像と関連づけてマイクロコンピューター(図示せず。)に記憶される。
即ち、このステップS414の処理では、テーブル14が前端部に位置した状態で、平行移動や同一回転した状態とならないように、テーブル14をそれぞれ傾斜角度が異なる5つの状態とし、各状態において、それぞれチェッカーシート110の撮影を行うものである。
具体的には、ステップS414の処理では、テーブル14を水平状態から傾斜させて第6の状態とし、第6の状態でチェッカーシート110の撮影を行う。また、テーブル14を第6の状態から傾斜させて第7の状態とし、第7の状態でチェッカーシート110の撮影を行う。また、テーブル14を第7の状態から傾斜させて第8の状態とし、第8の状態でチェッカーシート110の撮影を行う。また、テーブル14を第8の状態から傾斜させて第9の状態とし、第9の状態でチェッカーシート110の撮影を行う。また、テーブル14を第9の状態から傾斜させて第10の状態とし、第10の状態でチェッカーシート110の撮影を行う。
なお、このとき、テーブル14は前端部に位置した状態であり、第6〜10の状態は、いずれも水平状態ではなく、かつ、互いに同じ方向への傾斜角度にない状態である。また、こうした第6〜10の状態は、作業者が任意に決定するようにしてもよいし、予めマイクロコンピューター(図示せず。)に記憶しておくようにしてもよい。作業者が任意に決定する場合には、ステップS410の処理において第1〜5の状態をマイクロコンピューター(図示せず。)に記憶するようにして、第1〜5の状態と第6〜10の状態とをそれぞれ同様の傾斜とするようにしてもよい。
このステップS414の処理およびステップS404の処理により、テーブル14が前端部に位置するときの、それぞれ撮影方向が異なる6つのチェッカーシート110の映像を取得することとなる。
その後、マイクロコンピューター(図示せず。)において、ステップS404の処理で撮影された映像およびステップS414の処理で撮影された映像から、テーブル14が前端部に位置するときのカメラキャリブレーションを行う(ステップS416)。
即ち、マイクロコンピューター(図示せず。)に記憶された6つの映像を利用して、テーブル14が前端部に位置するときのカメラの外部パラメータと内部パラメータとを取得する。
なお、カメラの外部パラメータおよび内部パラメータを取得する方法については、公知の技術のため、その詳細な説明は省略する。
テーブル14が前端部に位置するときのカメラキャリブレーションが終了すると、次に、マイクロコンピューター(図示せず。)において、ステップS408の処理で撮影された映像およびステップS410の処理で撮影された映像から、テーブル14が後端部に位置するときのカメラキャリブレーションを行う(ステップS418)。
即ち、マイクロコンピューター(図示せず。)に記憶された6つの映像を利用して、テーブル14が前端部に位置するときのカメラの外部パラメータを取得する。
次に、ステップS416で取得したカメラの外部パラメータおよびステップS418で取得したカメラの外部パラメータを利用して、カメラの動的な外部パラメータを算出する計算式を取得し(ステップS420)、移動カウント数毎にカメラの動的な外部パラメータを取得する(ステップS422)。
即ち、ステップS420の処理においては、上記したようにして(1)式および(2)式を取得する。
このステップS422の処理が終了すると、カメラキャリブレーション処理を終了する。
カメラキャリブレーション処理が終了すると、取得したカメラの動的な外部パラメータに基づいて、プロジェクタの動的な外部パラメータを取得する。
なお、プロジェクタの動的な外部パラメータを取得する手法については、上記において既に説明しているため、その詳細は省略する。
カメラ30とプロジェクタ28とのキャリブレーションが終了すると、次に、三次元形状データの作成を行う。
この三次元形状データの作成では、まず、作成したい三次元形状の模型たる測定対象物200を用意し、この測定対象物200を、チェッカーシート110を取り外したテーブル14上に載置する。
そして、テーブル14を所定の位置に移動し、テーブル14を当該所定の位置から所定のピッチ幅で後端部まで移動する。このとき、テーブル14が所定のピッチ幅で動く毎に、測定対象物200が載置され、プロジェクタ28によりスリット光が投光されたテーブル14をカメラ30により撮影する。
こうして、テーブル14を移動しながら所定のピッチ幅毎に撮影した映像から測定対象物200の三次元形状の一次データを取得する。
取得した三次元形状の一次データは、例えば、マイクロコンピューター(図示せず。)に接続されたパーソナルコンピューター(図示せず。)に出力され、当該パーソナルコンピューターにおいて、三次元形状の二次データを作成するための専用のソフトなどを利用して、当該一次データから三次元形状の二次データを作成する。
そして、パーソナルコンピューター(図示せず。)で作成された二次データは、マイクロコンピューター(図示せず。)に出力され、当該マイクロコンピューターにおいて三次元形状データとして保存されることとなる。
そして、パーソナルコンピューター(図示せず。)で作成された三次元形状データの二次データは切削データに変換される。その後、この切削データは、マイクロコンピューター(図示せず。)に出力され、当該マイクロコンピューターにおいて切削データとして保存されることとなる。
なお、三次元形状データから切削データに変換する処理については、各種の公知の技術を使用するため、その詳細な説明は省略する。
三次元データから切削データを作成すると、作業者は、テーブル14上に被加工物100を載置するとともに、ヘッド部24の主軸24cに加工工具22を支持させる。
その後、作業者により図示しない操作子などを介して加工開始の指示がなされると、マイクロコンピューター(図示せず。)の制御により、作成した切削データに基づいて、テーブル14をX軸方向に移動させ、ヘッド部24をY軸方向に移動させ、さらに、移動部材24bをZ軸方向に移動させて、被加工物100に対して加工工具22によって三次元加工が施される。
以上において説明したように、本発明によるキャリブレーション方法においては、三次元加工装置10において、実際にはカメラ30およびプロジェクタ28が固定され測定対象物200が移動するものを、測定対象物200が固定されカメラ30およびプロジェクタ28が移動ものと考え、測定対象物200が載置される移動手段たるテーブル14が移動可能な少なくとも2箇所においてカメラキャリブレーションを行うようにした。
このとき、カメラキャリブレーションを行う箇所は、カメラ30によりチェッカーシート110が撮影可能な箇所である。
そして、カメラキャリブレーションを行うテーブル14の前端部および後端部では、まず前端部においてチェッカーシート110が水平状態のときの撮影を行い、次に、後端部においてチェッカーシートが水平状態のときを含む6つの状態(それぞれ傾斜角度が異なる状態である。)の撮影を行い、その後、前端部においてチェッカーシート110の5つの状態(それぞれ傾斜角度が異なる状態である。)の撮影を行うようにした。
こうして算出したカメラの外部パラメータから、テーブル14の最小移動単位である所定のピッチ毎に按分比例し、カメラの動的な外部パラメータを算出するようにしたものである。
これにより本発明によるキャリブレーション方法においては、簡単にキャリブレーションを行うことができるようになる。
また、本発明による三次元加工装置10においては、簡単に三次元形状データを作成することができるようになり、様々な形状の三次元加工を行うことができるようになる。
なお、上記した実施の形態は、以下の(1)乃至(8)に示すように変形するようにしてもよい。
(1)上記した実施の形態においては、プロジェクタ28を、発光ダイオードとスリットが形成されたフィルターとを有して構成されるようにしたが、これに限られるものではないことは勿論であり、例えば、ラインレーザーを用いるようにしてもよく、プロジェクタ28としては、スリット光を投光できる各種公知の技術を用いるようにしてもよい。
(2)上記した実施の形態においては、ヘッド部24の上方側にカメラ30およびプロジェクタ28を設けるようにしたが、例えば、ヘッド部24とカメラ30およびプロジェクタ28とを別体とするようにしてもよい。
具体的には、カメラ30およびプロジェクタ28が設けられた板状部材26を取り外し可能な構成とし、三次元形状データを作成する際のみ、立設部材16、18の上端部16a、18aに配設されるような構成としてもよい。
あるいは、ヘッド部材24が配設された立設部材16、18を後方側に傾倒することが可能な構成とし、三次元形状データを作成する際には、立設部材16、18を傾倒して後方側に倒し、テーブル14の上方側にスペースを作成する。その後、基台部材12の固定可能な脚部を備えるとともに、カメラ30およびプロジェクタ28が設けられた固定部材を基台部材12上に固定し、固定部材に設けられたカメラ30およびプロジェクタ28により、キャリブレーションおよび三次元形状データの作成を行うようにしてもよい。
(3)上記した実施の形態においては、カメラキャリブレーションを行う箇所として、移動手段が移動可能な直線上の少なくとも2点をテーブル14の前端部および後端部としたが、これに限られるものではないことは勿論であり、カメラキャリブレーションを行う箇所としては、カメラ30による撮影が可能であって、テーブル14が移動可能な直線上であれば、任意の2点以上を選択すればよい。
(4)上記した実施の形態においては、ステップS416の処理においてカメラの内部パラメータを取得するようにしたが、カメラの内部パラメータは、ステップS418の処理において取得するようにしてもよい。
(5)上記した実施の形態においては、チェッカーシート110をそれぞれ異なる6つの方向から撮影するようにしたが、これに限られるものではないことは勿論であり、7つ以上のそれぞれ異なる方向からチェッカーシート110を撮影するようにしてもよい。
(6)上記した実施の形態においては、カメラキャリブレーション処理において、撮影された映像データなどをマイクロコンピューター(図示せず。)に記憶し、当該マイクロコンピューターにおいてカメラの外部パラメータ、内部パラメータ、動的な外部パラメータおよびプロジェクタの外部パラメータ、動的な外部パラメータなどを取得するようにしたが、これに限られるものではないことは勿論である。
即ち、三次元加工装置10にパーソナルコンピューターを接続し、撮影された映像データなどを当該パーソナルコンピューターに記憶するとともに、当該パーソナルコンピューターにおいてカメラの外部パラメータ、内部パラメータ、動的な外部パラメータおよびプロジェクタの外部パラメータ、動的な外部パラメータなどを取得するようにしてもよい。
(7)上記した実施の形態においては、ステップS402の処理およびステップS406の処理においてテーブル14を水平状態としたが、これに限られるものではないことは勿論であり、テーブル14は水平状態でなく、任意の方向に傾斜した傾斜状態としてもよい。
この場合、ステップS410の処理において、第1〜5の状態は、いずれもステップS402における傾斜状態ではなく、かつ、互いに同じ方向への傾斜角度にない状態となる。
また、ステップS414の処理において、第6〜10の状態は、いずれもステップS406の処理における傾斜状態ではなく、かつ、互いに同じ方向への傾斜角度にない状態となる。
(8)上記した実施の形態ならびに上記した(1)乃至(7)に示す変形例は、適宜に組み合わせるようにしてもよい。