【実施例1】
【0013】
まず、実施例1に係る3次元形状計測装置の外観構成について
図1を用いて説明する。
図1は、実施例1に係る3次元形状計測装置の模式外観図である。
【0014】
なお、以下では、説明をわかりやすくする観点から、直交座標系であるXY座標系を計測対象物7の載置面上に設け、かかる載置面の鉛直下方向をZ軸とする。また、以下では、ステージ6上に載置された直方体を計測対象物7とし、かかる計測対象物7の3次元形状を3次元形状計測装置1によって鉛直上方向から計測する場合について説明する。
【0015】
図1に示すように、3次元形状計測装置1は、スリット状の光線(以下、「レーザスリット光」と記載する)を用いたスキャン動作によって物体の3次元形状の取得を行う計測装置である。まず、3次元形状計測装置1は、レーザ装置11から投光側ミラー部12へ向けてレーザスリット光を照射する。
【0016】
つづいて、3次元形状計測装置1は、投光側ミラー部12を回転させることでレーザスリット光をステージ6における照射位置を変更させながら照射する。ここでは、ステージ6におけるレーザスリット光の照射位置をX軸の負方向から正方向へ向けて移動させながら、ステージ6に対して斜め上方向からレーザスリット光を照射するものとする。
【0017】
また、3次元形状計測装置1は、ステージ6あるいは計測対象物7に対して照射されたレーザスリット光の反射光を受光側ミラー部14によってさらに反射させて撮像部16へ入射させる。そして、3次元形状計測装置1は、撮像部16によって撮像された画像を走査することによってかかる画像におけるレーザスリット光の位置を検出し、検出したレーザ位置を用いた三角測量によって計測対象物7の3次元形状を計測する。
【0018】
ここで、本実施例1に係る3次元形状計測装置1では、撮像部16が、計測対象領域(たとえば、ステージ6全面)の全域ではなく一部の領域のみを撮像することとしている。このため、本実施例1に係る3次元形状計測装置1は、撮像部が計測対象領域の全域を撮像する従来の3次元形状計測装置と比較して、画像の走査に要する時間を短縮することができる。すなわち、撮像部16によって撮像された画像からレーザスリット光の位置を検出する処理を短時間で行うことができるため、従来の3次元形状計測装置と比較して高速に3次元形状の計測を行うことが可能である。
【0019】
また、本実施例1に係る3次元形状計測装置1は、レーザスリット光の照射位置に応じて撮像領域の位置を変更することで、上記のように撮像領域を狭くした場合であっても、レーザスリット光のステージ6上からの反射光を適切に撮像することができる。以下では、本実施例1に係る3次元形状計測装置1の構成および動作について具体的に説明する。
【0020】
次に、本実施例1に係る3次元形状計測装置1の構成について
図2を用いて説明する。
図2は、本実施例1に係る3次元形状計測装置1の構成を示すブロック図である。なお、
図2では、3次元形状計測装置1の特徴を説明するために必要な構成要素のみを示しており、一般的な構成要素についての記載を省略している。
【0021】
図2に示すように、3次元形状計測装置1は、レーザ装置11と、投光側ミラー部12と、第1駆動部13と、受光側ミラー部14と、第2駆動部15と、撮像部16と、制御部17と、記憶部18とを備える。
【0022】
また、制御部17は、照射制御部17aと、撮像領域変更部17bと、画像情報取得部17cと、位置検出部17dと、形状計測部17eとを備える。また、記憶部18は、画像情報18aと、レーザ位置情報18bと、形状情報18cとを記憶する。
【0023】
レーザ装置11は、レーザスリット光を発生させる光線発生部であり、発生させたレーザスリット光を投光側ミラー部12へ向けて照射する。投光側ミラー部12は、レーザ装置11によって発生したレーザスリット光を反射してステージ6上へ入射させるミラー部である。
【0024】
第1駆動部13は、照射制御部17aからの指示に従って投光側ミラー部12を回転駆動させる駆動部である。かかる第1駆動部13は、たとえばモータ等により構成される。第1駆動部13が投光側ミラー部12を回転させることによって、レーザ装置11から照射されたレーザスリット光のステージ6上への照射位置は、X軸の負方向から正方向へ向かって移動する。
【0025】
なお、レーザ装置11、投光側ミラー部12および第1駆動部13は、レーザスリット光を計測対象物7に対する照射位置を変更させながら照射する照射部の一例である。
【0026】
受光側ミラー部14は、レーザスリット光のステージ6上からの反射光を反射させて撮像部16へ入射させるミラー部である。第2駆動部15は、撮像領域変更部17bからの指示に従って受光側ミラー部14を回転させる駆動部である。かかる第2駆動部15は、たとえばモータ等により構成される。第2駆動部15が受光側ミラー部14を回転させることによって、撮像部16の撮像領域の位置を変更させることができる。
【0027】
なお、本実施例1では、上記のように投光側ミラー部12および受光側ミラー部14を異なる駆動部を用いて回転させることとするが、投光側ミラー部12および受光側ミラー部14は、1つの駆動部を用いて連動駆動させてもよい。かかる点については、
図12を用いて後述する。
【0028】
撮像部16は、たとえば受光素子としてCMOS(Complementary Metal Oxide Semiconductor)センサを備えたカメラである。かかる撮像部16は、レーザスリット光のステージ6あるいは計測対象物7からの反射光を撮像する。
【0029】
また、撮像部16は、撮像した画像を画像情報取得部17cへ出力する。なお、撮像部16の受光素子は、CMOSセンサに限らず、CCD(Charge Coupled Device)センサ等の任意のイメージセンサを適用可能である。
【0030】
制御部17は、3次元形状計測装置1全体を制御する制御部であり、照射制御部17aと、撮像領域変更部17bと、画像情報取得部17cと、位置検出部17dと、形状計測部17eとを備える。
【0031】
照射制御部17aは、レーザ装置11に対してレーザスリット光の照射を指示する制御信号を出力するとともに、第1駆動部13に対して投光側ミラー部12の回転を指示する制御信号を出力する処理を行う処理部である。
【0032】
また、照射制御部17aは、投光側ミラー部12の回転角度を示す情報(以下、「角度情報」と記載する)を撮像領域変更部17bに対して出力する処理も併せて行う。
【0033】
撮像領域変更部17bは、ステージ6におけるレーザスリット光の照射位置に応じて撮像部16の撮像領域の位置を変更する処理部である。ここで、撮像領域変更部17bによる撮像領域変更処理について
図3を用いて説明する。
図3は、撮像領域変更処理の動作例を示す図である。
【0034】
撮像領域変更部17bは、照射制御部17aから受け取った角度情報を用い、受光側ミラー部14の角度が投光側ミラー部12の角度に対応する角度となるように第2駆動部15に対して指示する。
【0035】
具体的には、投光側ミラー部12の角度とステージ6におけるレーザスリット光の照射位置との関係は既知であり、投光側ミラー部12の角度と撮像部16の撮像領域との関係も既知である。このため、本実施例1に係る3次元形状計測装置1では、投光側ミラー部12の角度に応じて受光側ミラー部14の角度を変更することで、
図3に示すように、ステージ6におけるレーザスリット光の照射位置に追従するように撮像部16の撮像領域を移動させることができる。
【0036】
これにより、撮像部16がステージ6上の領域の一部を撮像する場合であっても、レーザスリット光のステージ6からの反射光を適切に撮像することができる。また、撮像部が計測対象領域の全域を撮像する従来の3次元形状計測装置と比較して、画像の走査に要する時間を短縮することができるため、3次元形状の計測処理の高速化を図ることができる。
【0037】
なお、本実施例1に係る撮像領域変更部17bは、位置検出部17dによって検出されたレーザ位置からレーザ位置の移動速度を求め、かかる移動速度に応じて受光側ミラー部14の駆動速度を調整する処理も行うが、かかる点については
図6−1〜
図6−3を用いて後述する。
【0038】
図2に戻り、制御部17についての説明を続ける。画像情報取得部17cは、撮像部16によって撮像された画像を撮像部16から順次取得し、画像情報18aとして記憶部18へ記憶させる処理部である。ここでは、画像情報取得部17cは、撮像部16の全ての受光素子に対応する情報を読み出して取得するものとする。
【0039】
位置検出部17dは、記憶部18に記憶された画像情報18aに基づき、撮像部16によって撮像された画像におけるレーザ位置を検出する処理部である。
【0040】
具体的には、位置検出部17dは、撮像部16によって撮像された画像を1ラインずつ走査する。そして、位置検出部17dは、走査した画素のうち輝度が所定の閾値を超えた画素の中で最も高い輝度を示す画素の位置をレーザ位置として検出する。なお、所定の閾値を超える輝度を示す画素が存在しない場合には、レーザ未検出となる。
【0041】
位置検出部17dは、全てのラインについて上記の検出処理を終えると、検出結果をレーザ位置情報18bとして記憶部18へ記憶させる。本実施例1に係る3次元形状計測装置1は、撮像部16の撮像領域が従来と比較して狭いため、位置検出部17dによるレーザ位置の検出処理を短時間で行うことができる。
【0042】
形状計測部17eは、記憶部18に記憶されたレーザ位置情報18bに基づき、三角測量の原理によって計測対象物7の3次元形状を計測する処理部である。また、形状計測部17eは、3次元形状の計測結果を形状情報18cとして記憶部18へ記憶させる処理も併せて行う。
【0043】
ここで、形状計測部17eによる3次元形状の計測方法について、
図4を用いて簡単に説明する。
図4は、3次元形状の計測方法を示す図である。
【0044】
図4に示すように、3次元形状計測装置1では、投光側ミラー部12におけるレーザスリット光の反射位置121、受光側ミラー部14におけるレーザスリット光の反射位置141および撮像部16におけるレーザスリット光の受光位置161が、ステージ6と平行な同一平面(以下、「基準面Z」と記載する)上に位置するように、投光側ミラー部12、受光側ミラー部14および撮像部16が配置される。
【0045】
ここで、投光側ミラー部12におけるレーザスリット光の反射位置121および受光側ミラー部14におけるレーザスリット光の反射位置141間の距離aは既知である。また、基準面Zからステージ6までの高さbも既知である。
【0046】
まず、形状計測部17eは、投光側ミラー部12の回転角度に基づいてレーザスリット光の計測対象物7に対する照射角度θ1を算出するとともに、受光側ミラー部14の回転角度およびレーザ位置情報18bに基づいてレーザスリット光の受光角度θ2を算出する。
【0047】
つづいて、形状計測部17eは、算出した照射角度θ1および受光角度θ2と、既知の値である距離aとを用いて三角測量の原理によって基準面Zから計測対象物7までの高さcを算出する。
【0048】
そして、形状計測部17eは、既知の値である高さbから算出した高さcを差し引くことによって計測対象物7の高さdを算出する。このようにして、計測対象物7の各部位について高さdをそれぞれ算出することによって、計測対象物7の3次元形状を取得する。
【0049】
図2に戻り、記憶部18について説明する。記憶部18は、不揮発性メモリやハードディスクドライブといった記憶デバイスで構成され、画像情報18a、レーザ位置情報18bおよび形状情報18c等を記憶する。
【0050】
画像情報18aは、撮像部16によって撮像された画像を示す情報であり、レーザ位置情報18bは、撮像部16によって撮像された各画像におけるレーザ位置を示す情報である。また、形状情報18cは、3次元形状計測装置1によって計測された計測対象物7の3次元形状を示す情報である。
【0051】
次に、3次元形状計測装置1の具体的動作について
図5を用いて説明する。
図5は、実施例1に係る3次元形状計測装置1が実行する処理の処理手順を示すフローチャートである。
【0052】
図5に示すように、3次元形状計測装置1では、照射制御部17aからの制御信号に従ってレーザスリット光の照射が開始されると(ステップS101)、画像情報取得部17cが、撮像部16によって撮像された画像の画像情報を取得する(ステップS102)。
【0053】
つづいて、3次元形状計測装置1では、位置検出部17dが、画像情報取得部17cによって取得された画像の画像情報に基づいてレーザ位置の検出処理を行い(ステップS103)、形状計測部17eが、レーザ位置の検出結果に基づいて3次元演算処理を行い(ステップS104)、演算結果を形状情報18cとして記憶部18へ格納する(ステップS105)。
【0054】
つづいて、3次元形状計測装置1では、投光側ミラー部12の角度が計測終了角度に達したか否かを判定する(ステップS106)。かかる処理において、投光側ミラー部12の角度が計測終了角度に達していない場合には(ステップS106,No)、照射制御部17aが、投光側ミラー部12を所定角度だけ回転させ(ステップS107)、撮像領域変更部17bが、投光側ミラー部12の角度に応じて受光側ミラー部14を所定角度だけ回転させる(ステップS108)。
【0055】
3次元形状計測装置1は、投光側ミラー部12の角度が計測終了角度に達するまで、ステップS102〜S108の処理を繰り返し、投光側ミラー部12の角度が計測終了角度に達したと判定すると(ステップS106,Yes)、処理を終了する。
【0056】
ところで、位置検出部17dによって検出されるレーザ位置は、レーザスリット光の照射位置に伴って移動する。このとき、レーザスリット光の照射位置の移動速度、すなわち、投光側ミラー部12の駆動速度が一定であっても、位置検出部17dによって検出されるレーザ位置の移動速度は、計測対象物7の形状によって一定とはならない場合がある。このため、レーザスリット光の照射位置に応じて受光側ミラー部14を駆動させたとしても、計測対象物7の形状によってはレーザスリット光の反射光を適切に撮像することができない可能性がある。
【0057】
そこで、撮像領域変更部17bは、位置検出部17dによって検出されたレーザ位置に基づいてレーザ位置の移動速度を求め、求めた移動速度に応じて受光側ミラー部14の駆動速度を調整することで、計測対象物7の形状によらずレーザスリット光の反射光を適切に撮像することとした。
【0058】
以下では、撮像領域変更部17bによって行われる受光側ミラー部14の駆動速度の調整処理(以下、「駆動速度調整処理」と記載する)について
図6−1〜
図6−3を用いて説明する。
図6−1〜
図6−3は、駆動速度調整処理の説明図である。
【0059】
なお、
図6−1には、天面がステージ6に対して平行な計測対象物7aを計測する場合の例を、
図6−2および
図6−3には、天面がステージ6に対して平行ではない計測対象物7b,7cを計測する場合の例を、それぞれ示している。また、投光側ミラー部12の駆動速度V0および撮像部16による画像の撮像間隔は、一定であるものとする。
【0060】
図6−1に示すように、計測対象物7aの天面がステージ6と平行である場合、かかる計測対象物7aの天面に照射されたレーザスリット光の反射光は、投光側ミラー部12の駆動速度V0とほぼ同じ速度で移動する。このため、撮像領域変更部17bは、投光側ミラー部12と同じ駆動速度V0で受光側ミラー部14を駆動させる。
【0061】
一方、
図6−2に示すように、計測対象物7bの天面がレーザスリット光の移動方向(X軸の正方向)へ向かって高くなるように傾斜しているとする。かかる場合、計測対象物7bの天面に照射されたレーザスリット光の反射光は、投光側ミラー部12の駆動速度V0よりも遅い速度で移動することとなる。
【0062】
このため、撮像領域変更部17bは、投光側ミラー部12の駆動速度V0よりも遅い駆動速度V1で受光側ミラー部14を駆動させる。
【0063】
また、
図6−3に示すように、計測対象物7cの天面がレーザスリット光の移動方向(X軸の正方向)へ向かって低くなるように傾斜しているとする。かかる場合、計測対象物7cの天面に照射されたレーザスリット光の反射光は、投光側ミラー部12の駆動速度V0よりも速い速度で移動することとなる。
【0064】
このため、撮像領域変更部17bは、投光側ミラー部12の駆動速度V0よりも速い駆動速度V2で受光側ミラー部14を駆動させる。
【0065】
レーザ位置の移動速度は、位置検出部17dによるレーザ位置の検出履歴に基づいて算出することができる。たとえば、撮像領域変更部17bは、前回撮像された画像から検出されたレーザ位置および前々回撮像された画像から検出されたレーザ位置に基づいて光線の位置の移動速度を算出する。
【0066】
すなわち、撮像部16による画像の撮像間隔は一定であり、既知である。このため、撮像領域変更部17bは、前回撮像された画像から検出されたレーザ位置および前々回撮像された画像から検出されたレーザ位置の移動距離を算出し、算出した移動距離を撮像部16による画像の撮像間隔で割ることによってレーザ位置の移動速度を算出する。前回撮像された画像および前々回撮像された画像を用いることで、レーザ位置の現在の移動速度に最も近い移動速度を得ることができる。
【0067】
なお、レーザ位置の移動速度は、必ずしも前回撮像された画像および前々回撮像された画像を用いて算出することを要しない。すなわち、撮像領域変更部17bは、前々回よりも以前に撮像された画像を用いてレーザ位置の移動速度を算出してもよい。
【0068】
このように、撮像領域変更部17bが、位置検出部17dによって検出されたレーザ位置の移動速度に応じて受光側ミラー部14の駆動速度を調整することとしたため、計測対象物の形状に依らず、レーザスリット光の計測対象物からの反射光を適切に撮像することができる。
【0069】
なお、レーザ位置の移動速度は、レーザスリット光の照射位置が計測対象領域の端へ向かうほど、言い換えれば、レーザスリット光の照射角度θ1(
図4参照)が小さくなるほど、速くなる傾向がある。かかる傾向は、特に、計測対象領域がX方向に長い場合に顕著となる。
【0070】
そこで、撮像領域変更部17bは、たとえば、レーザスリット光の照射角度θ1が小さくなるほど、受光側ミラー部14の駆動速度が速くなるように調整してもよい。これにより、レーザスリット光の照射位置に依らず、レーザスリット光の計測対象物からの反射光を適切に撮像することができる。
【0071】
上述してきたように、本実施例1では、照射部が、レーザスリット光を計測対象領域における照射位置を変更させながら照射し、撮像部が、レーザスリット光の反射光を撮像し、位置検出部が、撮像部によって撮像された画像を走査することによってレーザ位置を検出し、撮像領域変更部が、レーザスリット光の照射位置に応じて撮像部の撮像領域の位置を変更することとした。すなわち、計測対象領域に対して小さい撮像領域についてのみ位置検出処理を行えばよいため、位置検出処理に要する時間が短縮され3次元形状の計測処理を高速化することができる。
【0072】
また、本実施例1では、撮像領域の位置を変更することが可能であるため、撮像領域が固定された従来の3次元形状計測装置と比較してより広範囲な計測が可能となる。
【0073】
また、撮像領域が固定された従来の3次元形状計測装置では、撮像領域の制約上、計測対象物を特定の形状(たとえば、ピラミッド状)に計測可能な領域が制限されるが、本実施例1に係る3次元形状計測装置1では、撮像領域を変更可能であるため、計測対象物の積み方が限定されることがなく、より自由度の高い計測処理が可能となる。
【0074】
また、本実施例1に係る3次元形状計測装置1では、レーザ位置が、常に撮像領域のほぼ中央に位置することとなるため、レンズ歪みの影響を抑えることができ、計測精度を高めることができる。
【0075】
また、本実施例1に係る3次元形状計測装置1では、従来の3次元形状計測装置が備える撮像部よりも撮像領域が小さい撮像部を用いることができるため、撮像部のコストダウンを図ることもできる。
【実施例2】
【0076】
ところで、ステージ6からの反射光のレーザ位置と計測対象物からの反射光のレーザ位置との差(X軸方向の距離)は、計測対象物の高さが高くなるほど大きくなる。
【0077】
そこで、位置検出部17dによって検出されるレーザ位置に基づいて撮像部16の撮像領域の大きさを変更することとしてもよい。以下では、かかる場合の例について説明する。
【0078】
まず、実施例2に係る3次元形状計測装置の構成について
図7を用いて説明する。
図7は、実施例2に係る3次元形状計測装置の構成を示すブロック図である。なお、以下の説明では、既に説明した部分と同様の部分については、既に説明した部分と同一の符号を付し、重複する説明を省略する。
【0079】
図7に示すように、実施例2に係る3次元形状計測装置1aの制御部17は、撮像制御部17fをさらに備える。撮像制御部17fは、位置検出部17dによって検出されたレーザ位置に基づき、撮像部16の撮像領域の大きさを変更する処理部である。撮像制御部17fは、撮像部16が備える受光素子のうち受光を行わせる受光素子の数を制御することによって撮像領域の大きさを変更する。
【0080】
ここで、撮像制御部17fによる撮像制御処理の具体的な内容について
図8−1および
図8−2を用いて説明する。
図8−1および
図8−2は、撮像制御処理の説明図である。なお、
図8−1および
図8−2に示す符号Rは、計測対象領域をあらわす。
【0081】
たとえば、
図8−1に示すように、計測対象物7dが載置されたステージ6に対して、レーザスリット光がX軸の負方向から正方向に向かって照射されるとする。
【0082】
図8−1の上図に示すように、レーザスリット光が計測対象物7dに対して照射されていない場合、すなわち、レーザスリット光がステージ6のみに照射されている場合、位置検出部17dによって検出されるレーザ位置L1は、
図8−2の上図に示すように直線状となる。
【0083】
かかる場合、撮像制御部17fは、たとえば撮像領域S1のX軸方向における幅があらかじめ決められた所定の幅w1となるように、受光を行わせる受光素子の数を制御する。これにより、撮像部16は、次回の撮像時において、X軸方向における幅がw1の撮像領域を撮像する。
【0084】
一方、
図8−1の下図に示すように、計測対象物7dが載置された位置にレーザスリット光が到達すると、
図8−2の下図に示すように、ステージ6からの反射光のレーザ位置L2と計測対象物7dからの反射光のレーザ位置L3との間に差が生じる。すなわち、計測対象物7dが載置された場所では、計測対象物7dが載置されていない場所と比べて、検出されるレーザ位置のX軸方向の幅が大きくなる。
【0085】
そこで、撮像制御部17fは、撮像領域S2のX軸方向における幅がw1よりも大きいw2となるように、受光を行わせる受光素子の数を制御する。この結果、計測対象物7dが載置された場所での撮像部16の撮像領域S2は、計測対象物7dが載置されていない場所での撮像領域S1よりも大きくなる。このため、検出されるレーザ位置のX軸方向の幅が大きくなった場合であっても、レーザ位置を適切に検出することができる。
【0086】
また、逆に、計測対象物7dが載置されていない場所での撮像領域S1は、計測対象物7dが載置された場所での撮像部16の撮像領域S2よりも小さくなる。このため、余分な画像データ量を削減することができ、画像の取得やレーザ位置の検出に要する時間を短縮することができる。
【0087】
上述してきたように、実施例2では、撮像制御部が、位置検出部によって検出されたレーザ位置に基づき、撮像部の撮像領域の大きさを変更することとした。すなわち、レーザ位置のX軸方向における幅に応じて撮像領域のX軸方向の幅を増減させることとしたため、レーザ位置の検出漏れを防ぎつつ、3次元形状の計測処理をさらに高速化することができる。
【0088】
なお、撮像制御部17fは、たとえば、検出されたレーザ位置におけるX軸負方向側の端部からX軸負方向側へ所定距離だけ離れた位置を始点とし、検出されたレーザ位置におけるX軸正方向側の端部からX軸正方向側へ所定距離だけ離れた位置を終点とする幅を、撮像領域のX軸方向の幅として決定することができる。
【0089】
たとえば、
図8−2の下図に示す場合には、レーザ位置L3からX軸負方向側へ所定距離P1だけ離れた位置を始点とし、レーザ位置L2からX軸正方向側へ所定距離P2だけ離れた位置を終点とする幅W2を、撮像領域のX軸方向の幅として決定する。なお、X軸負方向側への所定距離P1およびX軸正方向側への所定距離P2は、同一の値であってもよいし異なる値であってもよい。
【0090】
また、撮像制御部17fは、レーザ位置に基づいて算出される計測対象物の高さ(たとえば、
図4に示す高さd)の値に応じて撮像領域の大きさを変更してもよい。すなわち、撮像制御部17fは、前回スキャンした形状情報からワークの高さを特定し、特定したワークの高さに応じて撮像領域の幅を決定することとしてもよい。
【実施例3】
【0091】
ところで、上述した実施例2では、位置検出部17dによって検出されたレーザ位置に基づいて撮像部16の撮像領域の大きさを変更することとしたが、位置検出部17dによって検出されたレーザ位置に基づいて撮像部16から読み出す画像の読出範囲を変更することとしてもよい。以下では、かかる場合の例について説明する。
【0092】
まず、実施例3に係る3次元形状計測装置の構成について
図9を用いて説明する。
図9は、実施例3に係る3次元形状計測装置の構成を示すブロック図である。なお、以下の説明では、既に説明した部分と同様の部分については、既に説明した部分と同一の符号を付し、重複する説明を省略する。
【0093】
図9に示すように、実施例3に係る3次元形状計測装置1bの制御部17は、読出範囲制御部17gをさらに備える。読出範囲制御部17gは、位置検出部17dによって検出されたレーザ位置に基づき、撮像部16から読み出す画像の読出範囲を変更する処理部である。読出範囲制御部17gは、撮像部16の各受光素子から入力される情報のうち、どの受光素子からの情報を読み出すかを画像情報取得部17cに対して指示することによって読出範囲の変更を行う。
【0094】
ここで、読出範囲制御部17gによる読出範囲制御処理の具体的な内容について
図10−1および
図10−2を用いて説明する。
図10−1および
図10−2は、読出範囲制御処理の説明図である。
【0095】
図10−1に示すように、実施例2と同様、計測対象物7eが載置されたステージ6に対して、レーザスリット光がX軸の負方向から正方向に向かって照射されたとする。上述した実施例2では、レーザ位置に基づいて撮像領域の大きさを変更することとしたが、実施例3では、撮像領域の大きさの変更は行わず(すなわち、撮像領域のX軸方向における幅W0は一定としつつ)、撮像部16からの読出範囲を変更する。
【0096】
具体的には、実施例2において既に説明したように、レーザスリット光がステージ6にのみ照射されている場合、位置検出部17dによって検出されるレーザ位置L4は、
図10−2の上図に示すように直線状となる。
【0097】
かかる場合、読出範囲制御部17gは、撮像領域S3のうちレーザ位置L4を含む所定幅s1の読出範囲T1から画像情報を読み出すように画像情報取得部17cに対して指示する。これにより、画像情報取得部17cは、撮像部16によって次の画像が撮像された場合に、撮像部16から入力される画像情報のうち読出範囲T1の画像情報のみを読み出して画像情報18aとして記憶部18へ記憶する。
【0098】
また、
図10−1の下図に示すように、計測対象物7eが載置された位置にレーザスリット光が到達すると、
図10−2の下図に示すように、ステージ6からの反射光のレーザ位置L5と計測対象物7eからの反射光のレーザ位置L6との間に差が生じる。
【0099】
かかる場合、読出範囲制御部17gは、撮像領域S4のうちレーザ位置L5およびL6を含む所定幅s2の読出範囲T2から画像情報を読み出すように画像情報取得部17cに対して指示する。
図10−2の下図に示すように、撮像領域S4から読み出す画像情報の幅s2は、撮像領域S3から読み出す画像情報の幅s1よりも大きい。すなわち、読出範囲T2は、読出範囲T1よりも大きい。これにより、画像情報取得部17cは、撮像部16によって次の画像が撮像された場合に、撮像部16から入力される画像情報のうち読出範囲T2の画像情報のみを読み出して画像情報18aとして記憶部18へ記憶する。
【0100】
このように、実施例3では、読出範囲制御部が、位置検出部によって検出されたレーザ位置に基づき、撮像部から読み出す画像の読出範囲を変更することとした。すなわち、レーザ位置のX軸方向における幅に応じて読出範囲のX軸方向の幅を増減させることとしたため、実施例2と同様に、レーザ位置の検出漏れを防ぎつつ、3次元形状の計測処理をさらに高速化することができる。
【0101】
なお、読出範囲制御部は、実施例2と同様に、検出されたレーザ位置におけるX軸負方向側の端部からX軸負方向側へ所定距離だけ離れた位置を始点とし、検出されたレーザ位置におけるX軸正方向側の端部からX軸正方向側へ所定距離だけ離れた位置を終点とする幅を、読出範囲のX軸方向の幅として決定することができる。
【実施例5】
【0108】
次に、3次元形状計測装置を適用したロボットシステムの実施例について
図12を用いて説明する。
図12は、ロボットシステムの構成を示す図である。なお、ここでは、実施例1に係る3次元形状計測装置1を適用したロボットシステムの例について説明するが、実施例2〜4に係る3次元形状計測装置1a〜1cについても同様に適用可能である。
【0109】
また、以下では、バラ積みされたワークの中からワークを1つずつ取り出す作業をロボットに対して行わせる場合の例について説明する。なお、
図12では、ワークの一例としてネジを図示しているが、ワークは、ネジ以外の任意の部材であってもよい。
【0110】
図12に示すように、ロボットシステム100は、3次元形状計測装置1と、ロボット制御装置2と、ロボット3とを含む。3次元形状計測装置1は、山積みされたワークの上方に設置され、ワークの3次元形状を計測する。
【0111】
ロボット制御装置2は、3次元形状計測装置1およびロボット3に接続され、3次元形状計測装置1からバラ積みされたワークに関する形状情報18cを取得する。また、ロボット制御装置2は、取得した形状情報18cに基づいて作業対象となるワークを判別し、判別したワークの取り出し作業をロボット3に対して指示する。
【0112】
ロボット3は、たとえば7軸の関節を備えたロボットアームの先端にワークを把持するロボットハンドを備える。かかるロボット3は、ロボット制御装置2から入力される作業対象のワークの位置および向きに基づいてロボットアームおよびロボットハンドを駆動してワークを把持し、取り出す。なお、ロボット3は、取り出したワークを所定の部材へ取り付ける作業等を引き続き行ってもよい。
【0113】
ロボットシステム100は、上記のように構成され、3次元形状計測装置1が、従来よりも狭い撮像部16の撮像領域をレーザスリット光の照射位置に追従するように移動させながら、位置検出部17dによって検出されたレーザ位置に基づいてワークの3次元形状を計測する。
【0114】
これにより、ロボットシステム100によれば、3次元形状計測装置1によってワークの形状計測が開始されてから、ロボット3によりワークを把持させるまでの処理時間を短縮することができ、作業効率を向上させることができる。
【0115】
なお、ロボットシステム100では、ロボット制御装置2から出力されるロボット3への作業指示を3次元形状計測装置1へも出力させ、かかる作業指示に基づいて撮像領域の大きさあるいは読出範囲の大きさを変更させてもよい。
【0116】
すなわち、ロボット3によって山積みのワークから特定のワークが取り出された場合、取り出されたワークの周辺のみ形状が変化し、それ以外の領域では形状に変化が生じない場合がある。
【0117】
そこで、3次元形状計測装置1は、ロボット制御装置2から出力されるロボット3への作業指示からロボット3によって取り出されるワークの周辺領域を特定し、特定した領域に応じて撮像領域の大きさあるいは読出範囲の大きさを変更する。たとえば、3次元形状計測装置1は、特定した領域と撮像領域あるいは読出範囲が一致するように撮像領域の大きさあるいは読出範囲の大きさを変更してもよい。これにより、3次元形状の計測処理をさらに高速化することができる。
【0118】
なお、実施例5では、3次元形状計測装置1とロボット3とを別体に設けることとしたが、3次元形状計測装置1は、ロボット3におけるロボットアームの先端部に一体に設けてもよい。
【0119】
かかる構成とする場合、ロボット制御装置2は、ロボット3がワークの取り付け作業を終了する毎に、ロボットアームを駆動して作業対象のワークの形状を計測可能な位置まで3次元形状計測装置1を移動させる。かかる構成により、ロボットシステム100の設置スペースを省スペース化することが可能となる。
【0120】
また、上述してきた各実施例では、投光側ミラー部12の角度、すなわち、照射角度を変更することによってレーザスリット光の計測対象領域における照射位置を変更することとしたが、照射角度を一定に保ったままレーザスリット光の計測対象領域における照射位置を変更することも可能である。
【0121】
たとえば、レーザ装置11をXY平面と平行に移動させながらレーザスリット光を計測対象領域へ照射させることによって、照射角度を変更せずに計測対象領域におけるレーザスリット光の照射位置を変更することができる。
【0122】
また、上述してきた各実施例では、受光側ミラー部14を回転駆動させることによって撮像部16の撮像領域の位置を変更する場合の例について説明したが、撮像部16自体を回転駆動させることによって撮像領域を変更することとしてもよい。かかる場合、受光側ミラー部14の設置位置に撮像部16を設け、第2駆動部15を用いて撮像部16を駆動させればよい。
【0123】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施の形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。