WO2019208074A1 - 制御システム、制御方法およびプログラム - Google Patents
制御システム、制御方法およびプログラム Download PDFInfo
- Publication number
- WO2019208074A1 WO2019208074A1 PCT/JP2019/013198 JP2019013198W WO2019208074A1 WO 2019208074 A1 WO2019208074 A1 WO 2019208074A1 JP 2019013198 W JP2019013198 W JP 2019013198W WO 2019208074 A1 WO2019208074 A1 WO 2019208074A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- calibration parameter
- visual sensor
- vector
- coordinate
- positioning process
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Manipulator (AREA)
- Image Analysis (AREA)
Abstract
補正部は、位置決め処理を開始するときに視覚センサによって計測され、座標変換部により座標変換された第1位置の座標と、位置決め処理を開始してから完了するまでの移動機構の移動量を、位置決め処理を完了するときに視覚センサによって計測され、座標変換部により座標変換された第2位置から差し引くことにより得られる第3位置の座標とを示すデータセットに基づいて、キャリブレーションパラメータを補正する。これにより、キャリブレーションの繰り返しによる制御システムの稼働率の低下を抑制できる。
Description
本技術は、視覚センサを用いた制御システム、制御方法およびプログラムに関する。
FA(ファクトリーオートメーション)において、対象物の位置を目標位置に合わせる技術(位置決め技術)が各種実用化されている。この際、対象物の位置と目標位置との偏差(距離)を計測する方法として、視覚センサによって撮像された画像を用いる方法がある。当該方法では、視覚センサの座標系と対象物を移動させる移動機構の座標系とを対応付ける処理であるキャリブレーションが行なわれる。
特開2003-50106号公報(特許文献1)には、以下のステップ(a)~(e)を行なうことによりキャリブレーションパラメータを決定する技術が開示されている。ステップ(a)は、テーブル又は撮像部を移動させ、テーブルと撮像部との位置関係を算出する。ステップ(b)は、テーブル又は撮像部を移動させ、テーブルとテーブルの所定部分との位置関係を算出する。ステップ(c)は、テーブル又は撮像部を移動させ、補正量を求めてテーブルとテーブルの所定部分との位置関係を補正する。ステップ(d)は、テーブル又は撮像部を移動させ、テーブルと撮像部との位置関係を再算出する。ステップ(e)は、ステップ(c)において求められた補正量が所定の値以下となるまで、ステップ(c)及びステップ(d)を繰り返す。
キャリブレーションは、装置の立ち上げ段階に行なわれる。しかしながら、機械の経年変化に伴って、視覚センサの座標系を移動機構の座標系に精度良く変換することができなくなる。このような場合、再度キャリブレーションを行なう必要がある。特定のキャリブレーション動作によって行なわれる従来のキャリブレーション方法を用いて再度キャリブレーションを行なう場合、対象物の位置決め処理を一旦停止する必要がある。そのため、位置決め処理を行なうシステムの稼働率が低下する。
本発明は、上記の問題を鑑みてなされたものであり、その目的は、キャリブレーションの繰り返しによる稼働率の低下が抑制可能な制御システム、制御方法およびプログラムを提供することである。
本開示の一例によれば、対象物の位置決め処理を行なう制御システムは、対象物を撮像して、対象物の位置を計測するための視覚センサと、対象物を移動させるための移動機構と、座標変換部と、フィードバック制御部と、補正部とを備える。座標変換部は、視覚センサの第1座標系を移動機構の第2座標系に変換するためのキャリブレーションパラメータを用いて、視覚センサによって計測された位置の座標変換を行なう。フィードバック制御部は、座標変換部によって座標変換された位置が目標位置に近づくように移動機構に対するフィードバック制御を行なう。補正部は、位置決め処理を開始するときに視覚センサによって計測され、座標変換部により座標変換された第1位置の座標と、位置決め処理を開始してから完了するまでの移動機構の移動量を、位置決め処理を完了するときに視覚センサによって計測され、座標変換部により座標変換された第2位置から差し引くことにより得られる第3位置の座標とを示すデータセットに基づいて、キャリブレーションパラメータを補正する。
この開示によれば、補正部によって補正されたキャリブレーションパラメータを用いることにより、第1座標系から第2座標系に精度良く座標変換することができ、位置決めの精度を高めることができる。さらに、第1位置の座標,第2位置の座標、および、位置決め処理を開始してから完了するまでの移動機構の移動量は、通常の対象物の位置決め処理から得られる。そのため、キャリブレーションパラメータの補正のために、対象部の位置決め処理を停止する必要がない。その結果、キャリブレーションによる稼働率の低下を抑制できる。
上記の開示において、補正部は、第1位置を第3位置に変換するための変換パラメータをキャリブレーションパラメータに乗ずることにより、キャリブレーションパラメータを補正する。
この開示によれば、第1位置と第3位置との偏差を補償するためのキャリブレーションパラメータの補正を容易に実行できる。
上記の開示において、補正部は、第1位置を第1位置と第3位置とを結ぶ線分上の第4位置に変換するための変換パラメータをキャリブレーションパラメータに乗ずることにより、キャリブレーションパラメータを補正する。キャリブレーションパラメータが大きく変化するとは、制御システムに悪影響を及ぼす可能性がある。しかしながら、この開示によれば、キャリブレーションパラメータは、一回で大きく変化しない。その結果、制御システムに悪影響を抑制できる。
上記の開示において、キャリブレーションパラメータは、第1座標系と第2座標系との間の回転および倍率の変換量を規定する第1~第4パラメータを含む。補正部は、少なくとも4回の位置決め処理からそれぞれ得られる少なくとも4つのデータセットを用いて、第1~第4パラメータを補正する。この開示によれば、回転および倍率の変換量を規定する第1~第4パラメータを容易に補正することができる。
上記の開示において、少なくとも4つのデータセットは、第1~第4データセットを含む。第1データセットに対応する第1位置から第3位置への第1ベクトルと、第2データセットに対応する第1位置から第3位置への第2ベクトルと、第3データセットに対応する第1位置から第3位置への第3ベクトルと、第4データセットに対応する第1位置から第3位置への第4ベクトルとから選択される2つのベクトルは一次独立である。
この開示によれば、補正部は、第1~第4データセットを用いることにより、第1~第4パラメータの補正量を容易に算出することができる。
上記の開示において、補正部は、第1~第4データセットをこの順に取得する取得処理を実行し、第1データセットを取得してから第4データセットを取得するまでの時間が規定時間内である場合に、当該第1~第4データセットに基づいてキャリブレーションパラメータを補正し、第1データセットを取得してから第4データセットを取得するまでの時間が規定時間を超える場合に、当該第1~第4データセットを破棄して、再度取得処理を行なう。
この開示によれば、規定時間内に計測された第1~第4データセットを取得できる。その結果、第1~第4データセットが取得されたときの移動機構の状態は、略同一である。これにより、補正部は、現状の移動機構の状態に応じた、キャリブレーションパラメータの補正を行なうことができる。
上記の開示において、第1~第4ベクトルは、第1条件および第2条件を満たす。第1条件は、第1~第4ベクトルの長さが規定長さ以上であるという条件である。第2条件は、第2ベクトルと第1ベクトルとのなす角度が第1規定角度範囲内であり、第3ベクトルと第1ベクトルまたは第2ベクトルとのなす角度が第2規定角度範囲内であり、第4ベクトルと第1~第3ベクトルのいずれか1つとのなす角度とが第3規定角度範囲内であるという条件である。この開示によれば、第1~第4パラメータの補正量の演算誤差を抑制できる。
上記の開示において、キャリブレーションパラメータは、第1座標系から第2座標系への並進、回転および拡大縮小の変換量を規定する。補正部は、補正前のキャリブレーションパラメータを用いたときの変換量と補正後のキャリブレーションパラメータを用いたときの変換量との偏差が規定値を超える場合、キャリブレーションパラメータを補正しない。この開示によれば、キャリブレーションパラメータによる変換量を大きく変更することに伴う、移動機構への悪影響を抑制できる。
上記の開示において、補正部は、補正後のキャリブレーションパラメータを用いたフィードバック制御により位置決め処理を完了するのに要する時間が補正前のキャリブレーションパラメータを用いたフィードバック制御により位置決め処理を完了するのに要する時間よりも長い場合、キャリブレーションパラメータを補正前の状態に戻す。この開示によれば、キャリブレーションパラメータの補正が不適切であった場合、キャリブレーションパラメータを補正前の状態に戻すことができる。
上記の開示において、補正部は、移動機構からの位置関連情報に基づいて移動機構の異常の有無を判定し、移動機構に異常が無いと判定した場合に、キャリブレーションパラメータを補正し、移動機構に異常が有ると判定した場合に、キャリブレーションパラメータを補正しない。
移動機構に異常が生じている状態においてキャリブレーションパラメータが補正されると、移動機構にストレスが加わり、移動機構が故障する可能性がある。しかしながら、この開示によれば、移動機構に異常が生じている状態においてキャリブレーションパラメータが補正されない。そのため、移動機構の故障の発生を抑制できる。
本開示の一例によれば、対象物の位置決め処理を行なう制御システムは、対象物を撮像して、対象物の位置を計測するための視覚センサと、対象物を移動させるための移動機構とを備える。制御システムの制御方法は、第1~第3ステップとを備える。第1ステップは、視覚センサの第1座標系を移動機構の第2座標系に変換するためのキャリブレーションパラメータを用いて、視覚センサによって計測された位置の座標変換を行なうステップである。第2ステップは、座標変換された視覚センサによって計測された位置が目標位置に近づくように移動機構に対するフィードバック制御を行なう。第3ステップは、位置決め処理を開始するときに視覚センサによって計測され、前記座標変換が行なわれた第1位置の座標と、位置決め処理を開始してから完了するまでの移動機構の移動量を、位置決め処理を完了するときに視覚センサによって計測され、前記座標変換が行なわれた第2位置から差し引くことにより得られる第3位置の座標とを示すデータセットに基づいて、キャリブレーションパラメータを補正する。この開示によっても、キャリブレーションの繰り返しによる稼働率の低下を抑制できる。
本開示の一例によれば、対象物の制御システムにおける制御方法をコンピュータに実行させるためのプログラムは、上記の第1~第3のステップをコンピュータに実行させる。この開示によっても、キャリブレーションの繰り返しによる稼働率の低下を抑制できる。
本発明によれば、キャリブレーションの繰り返しによる稼働率の低下を抑制できる。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
§1 適用例
図1を参照して、本発明が適用される場面の一例について説明する。図1は、本実施の形態に係る制御システムの概要を示す模式図である。図1に示す制御システム1は、画像処理を用いて対象物(以下、「対象ワークW」という)の位置決めを行なう。位置決めは、典型的には、工業製品の製造過程などにおいて、対象ワークWを生産ラインの本来の位置に配置する処理などを意味する。たとえば、制御システム1は、液晶パネルの生産ラインにおいて、ガラス基板に回路パターンの焼付処理(露光処理)前に、露光マスクに対するガラス基板の位置決めを行なう。
図1を参照して、本発明が適用される場面の一例について説明する。図1は、本実施の形態に係る制御システムの概要を示す模式図である。図1に示す制御システム1は、画像処理を用いて対象物(以下、「対象ワークW」という)の位置決めを行なう。位置決めは、典型的には、工業製品の製造過程などにおいて、対象ワークWを生産ラインの本来の位置に配置する処理などを意味する。たとえば、制御システム1は、液晶パネルの生産ラインにおいて、ガラス基板に回路パターンの焼付処理(露光処理)前に、露光マスクに対するガラス基板の位置決めを行なう。
図1に示すように、制御システム1は、ステージ装置10と、サーボドライバ20と、視覚センサ30と、コントローラ40とを備える。
ステージ装置10は、載置される対象ワークWを移動する。ステージ装置10は、サーボドライバ20からの動作制御を受けて動作する。
サーボドライバ20は、制御周期Tcごとに受ける移動指令MVに従って、ステージ装置10の動作制御を行なう。サーボドライバ20は、ステージ装置10に含まれるサーボモータのエンコーダ値ENを取得して、コントローラ40に出力する。この際、サーボドライバ20は、制御周期Tcと同じ周期で、エンコーダ値ENをコントローラ40に出力する。
ステージ装置10およびサーボドライバ20は、対象ワークWを移動させるための移動機構を構成する。
視覚センサ30は、ステージ装置10上に載置された対象ワークWと目標点とを含む領域を撮像する。視覚センサ30は、撮像により得られた画像に対する処理を行なうことにより、対象ワークW上の特定点の位置(以下、「計測位置PVv」という)と目標点の位置(以下、「目標位置SP」という)とを計測する。特定点は、たとえば対象ワークWに印されたマーク、対象ワークWのコーナーなどである。目標点は、たとえば、固定された基準ワークW0に印されたマークまたはコーナーの位置である。目標点と視覚センサ30との相対位置は一定である。そのため、ステージ装置10が対象ワークWを移動させたとしても、視覚センサ30が撮像した画像において、目標位置SPは一定である。
視覚センサ30は、撮像部31と画像処理部32とを含む。撮像部31は、撮像視野に存在する被写体を撮像して画像データを生成する撮像処理を行なうものであり、対象ワークWを撮像する。撮像部31は、たとえばカメラである。撮像部31は、撮像周期Tpごとに撮像を行なう。撮像周期Tpは制御周期Tcよりも長い。画像処理部32は、撮像部31により生成された画像データに対して画像解析を行ない、計測位置PVvおよび目標位置SPを計測する。
コントローラ40は、たとえばPLC(プログラマブルロジックコントローラ)であり、各種のFA制御を行なう。コントローラ40は、座標変換部41と、フィードバック制御部42と、補正部46とを備える。
視覚センサ30から出力される計測位置PVvは、視覚センサ30の座標系(以下、「カメラ座標系」という)で示される。サーボドライバ20は、ステージ装置10の座標系(以下、「機械座標系」という)で示される移動指令MVに従って、ステージ装置10の動作制御を行なう。そのため、座標変換部41は、カメラ座標系を機械座標系に変換するためのキャリブレーションパラメータを用いて、視覚センサ30によって計測された計測位置PVvおよび目標位置SPの座標変換を行なう。
フィードバック制御部42は、座標変換された計測位置PVvが目標位置SPに近づくようにサーボドライバ20に対してフィードバック制御を行なう。具体的には、フィードバック制御部42は、制御周期Tcごとに、計測位置PVvを目標位置SPに近づけるための移動指令MVを更新してサーボドライバ20に出力する。
補正部46は、キャリブレーションパラメータの値を補正する。補正部46は、予め定められたタイミングあるいは指定されたタイミングで、キャリブレーションパラメータの値を補正する。たとえば、補正部46は、定期的にキャリブレーションパラメータの値を補正してもよいし、位置決め処理の時間が規定時間を超える場合にキャリブレーションパラメータの値を補正してもよい。
補正部46は、ある対象ワークWの位置決め処理を開始するときの計測位置Pm1と、当該位置決め処理を完了するときの計測位置Pm2と、当該位置決め処理を開始してから完了するまでのステージ装置10の移動量とを用いて、キャリブレーションパラメータの値を補正する。計測位置Pm1は、当該位置決め処理を開始するときに視覚センサ30によって計測された対象ワークW上の特定点の計測位置PVvである。計測位置Pm2は、当該位置決め処理を完了するときに視覚センサ30によって計測された対象ワークW上の特定点の計測位置PVvである。
図2は、位置決め処理を開始するときの計測位置Pm1,位置決め処理を完了するときの計測位置Pm2、および、位置決め処理を開始してから完了するまでのステージ装置10の移動量の関係を示す図である。図2には、ステージ装置10が対象ワークWをXY平面に沿って移動する場合の、計測位置Pm1,Pm2およびステージ装置10の移動量の例が示される。図2には、機械座標系における計測位置Pm1,Pm2および移動量が示される。
計測位置Pm1の機械座標は(Xm_a,Ym_a)であり、計測位置Pm2の機械座標は(Xm_b,Ym_b)である。上述したように、視覚センサ30から出力される計測位置PVvはカメラ座標系で示される。そのため、計測位置Pm1のカメラ座標をキャリブレーションパラメータを用いて変換することにより、計測位置Pm1の機械座標を得ることができる。同様に、計測位置Pm2のカメラ座標をキャリブレーションパラメータを用いて変換することにより、計測位置Pm2の機械座標を得ることができる。
Xm_cは、位置決め処理を開始してから完了するまでのステージ装置10のX軸方向の移動量を示す。Ym_cは、位置決め処理を開始してから完了するまでのステージ装置10のY軸方向の移動量を示す。
視覚センサ30によって撮像された画像から計測された計測位置PVvと目標位置SPとが一致するように、ステージ装置10がフィードバック制御されるため、位置決め処理が完了するときには、計測位置PVv(つまり、計測位置Pm2)と目標位置SPとが略一致している。
キャリブレーションパラメータが正確である場合、位置決め処理を開始してから完了するまでのステージ装置10の移動量は、位置決め処理を開始するときの計測位置Pm1から位置決め処理を完了するときの計測位置Pm2までの偏差と一致する。しかしながら、ステージ装置10の経年変化によりキャリブレーションパラメータが正確ではない場合、位置決め処理を開始してから完了するまでのステージ装置10の移動量は、計測位置Pm1から計測位置Pm2までの偏差と一致しない。すなわち、図2に示されるように、計測位置Pm2からステージ装置10の移動量を差し引いた位置Pm3は、計測位置Pm1からずれる。
補正部46は、計測位置Pm1と位置Pm3との偏差を補償するために、計測位置Pm1の座標と位置Pm3の座標とを含むデータセットを取得し、当該データセットに基づいてキャリブレーションパラメータを補正する。
本実施の形態によれば、補正部46によって補正されたキャリブレーションパラメータを用いることにより、カメラ座標系から機械座標系に精度良く座標変換することができ、位置決めの精度を高めることができる。さらに、位置決め処理を開始するときの計測位置Pm1,位置決め処理を完了するときの計測位置Pm2、および、位置決め処理を開始してから完了するまでのステージ装置10の移動量は、通常の対象ワークWの位置決め処理から得られる。そのため、キャリブレーションパラメータの補正のために、対象ワークWの位置決め処理を停止する必要がない。その結果、キャリブレーションの繰り返しによる稼働率の低下を抑制できる。
§2 具体例
次に、本実施の形態に係る制御システムの一例について説明する。
次に、本実施の形態に係る制御システムの一例について説明する。
<2-1.ステージおよびモータ>
図3は、本実施の形態に係る制御システムを構成するステージ装置の一例を示す斜視図である。図3に示す例では、ステージ装置10は、Xステージ11と、Yステージ13と、θステージ15と、サーボモータ12,14,16とを含む。Xステージ11は、サーボモータ12の駆動によりX方向に沿って移動する。Yステージ13は、サーボモータ14の駆動によりY方向に沿って移動する。θステージ15は、サーボモータ16の駆動によりθ方向に回転する。
図3は、本実施の形態に係る制御システムを構成するステージ装置の一例を示す斜視図である。図3に示す例では、ステージ装置10は、Xステージ11と、Yステージ13と、θステージ15と、サーボモータ12,14,16とを含む。Xステージ11は、サーボモータ12の駆動によりX方向に沿って移動する。Yステージ13は、サーボモータ14の駆動によりY方向に沿って移動する。θステージ15は、サーボモータ16の駆動によりθ方向に回転する。
サーボモータ12,14,16の各々にはエンコーダが設けられる。エンコーダは、対応するモータの回転位置を検出し、検出結果であるエンコーダ値ENを出力する。
θステージ15の上に対象ワークWが載置される。撮像部31は、対象ワークWと、定位置に固定された基準ワークW0とを撮像する。基準ワークW0は、透光性を有する素材で構成される。そのため、視覚センサ30は、対象ワークWの特定点であるマーク50m,50nと、基準ワークW0の特定点であるマーク60m、60nとを同時に撮像できる。画像処理部32は、マーク50mの計測位置PVv(以下、「計測位置Pm」という)と、マーク50nの計測位置PVv(以下、「計測位置Pn」という)を出力する。さらに、画像処理部32は、マーク60mの位置(以下、「目標位置SPm」という)、マーク60nの位置(以下、「目標位置SPn」という)を出力する。
<2-2.画像処理部のハードウェア構成>
図4は、本実施の形態に係る制御システム1を構成する画像処理部32のハードウェア構成を示す模式図である。画像処理部32は、典型的には、汎用的なコンピュータアーキテクチャに従う構造を有しており、予めインストールされたプログラムをプロセッサが実行することで、後述するような各種の画像処理を実現する。
図4は、本実施の形態に係る制御システム1を構成する画像処理部32のハードウェア構成を示す模式図である。画像処理部32は、典型的には、汎用的なコンピュータアーキテクチャに従う構造を有しており、予めインストールされたプログラムをプロセッサが実行することで、後述するような各種の画像処理を実現する。
より具体的には、画像処理部32は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ310と、RAM(Random Access Memory)312と、表示コントローラ314と、システムコントローラ316と、I/O(Input Output)コントローラ318と、ハードディスク320と、カメラインターフェイス322と、入力インターフェイス324と、コントローラインターフェイス326と、通信インターフェイス328と、メモリカードインターフェイス330とを含む。これらの各部は、システムコントローラ316を中心として、互いにデータ通信可能に接続される。
プロセッサ310は、システムコントローラ316との間でプログラム(コード)などを交換して、これらを所定順序で実行することで、目的の演算処理を実現する。
システムコントローラ316は、プロセッサ310、RAM312、表示コントローラ314、およびI/Oコントローラ318とそれぞれバスを介して接続されており、各部との間でデータ交換などを行なうとともに、画像処理部32全体の処理を司る。
RAM312は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク320から読み出されたプログラムや、撮像部31によって撮像された画像(画像データ)、画像に対する処理結果、およびワークデータなどを保持する。画像に対する処理結果には、当該画像を撮像する際の露光開始時刻および露光終了時刻と、計測位置PVvとが含まれる。
表示コントローラ314は、表示部70と接続されており、システムコントローラ316からの内部コマンドに従って、各種の情報を表示するための信号を表示部70へ出力する。
I/Oコントローラ318は、画像処理部32に接続される記録媒体や外部機器との間のデータ交換を制御する。より具体的には、I/Oコントローラ318は、ハードディスク320と、カメラインターフェイス322と、入力インターフェイス324と、コントローラインターフェイス326と、通信インターフェイス328と、メモリカードインターフェイス330と接続される。
ハードディスク320は、典型的には、不揮発性の磁気記憶装置であり、プロセッサ310で実行されるプログラムに加えて、各種設定値などが格納される。
カメラインターフェイス322は、対象ワークWを撮影することで生成された画像データを受付ける入力部に相当し、プロセッサ310と撮像部31との間のデータ伝送を仲介する。カメラインターフェイス322は、撮像部31からの画像データをそれぞれ一時的に蓄積するための画像バッファを含む。
入力インターフェイス324は、プロセッサ310とキーボード334、マウス、タッチパネル、専用コンソールなどの入力装置との間のデータ伝送を仲介する。
コントローラインターフェイス326は、プロセッサ310とコントローラ40との間のデータ伝送を仲介する。
通信インターフェイス328は、プロセッサ310と図示しない他のパーソナルコンピュータやサーバ装置などとの間のデータ伝送を仲介する。通信インターフェイス328は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。
メモリカードインターフェイス330は、プロセッサ310と記録媒体50との間のデータ伝送を仲介する。
<2-3.コントローラのハードウェア構成>
図5は、本実施の形態に係る制御システムを構成するコントローラのハードウェア構成を示す模式図である。図5に示されるように、コントローラ40は、主制御ユニット410と、複数のサーボユニット422,424,426とを含む。本実施の形態に係るコントローラ40は、ステージ装置10に含まれるサーボモータ12,14,16と同数のサーボユニット422,424,426を含む。
図5は、本実施の形態に係る制御システムを構成するコントローラのハードウェア構成を示す模式図である。図5に示されるように、コントローラ40は、主制御ユニット410と、複数のサーボユニット422,424,426とを含む。本実施の形態に係るコントローラ40は、ステージ装置10に含まれるサーボモータ12,14,16と同数のサーボユニット422,424,426を含む。
主制御ユニット410は、コントローラ40の全体制御を司る。主制御ユニット410は、内部バス419を介して、サーボユニット422,424,426と接続されており、互いにデータを遣り取りする。サーボユニット422,424,426は、主制御ユニット410からの内部指令などに従って、サーボドライバ22,24,26に対して制御コマンド(典型的には、駆動パルスなど)をそれぞれ出力する。サーボドライバ22,24,26は、接続されているサーボモータ12,14,16をそれぞれ駆動するドライバである。
主制御ユニット410は、チップセット411と、プロセッサ412と、不揮発性メモリ413と、主メモリ414と、システムクロック415と、メモリカードインターフェイス416と、通信インターフェイス417と、内部バスコントローラ418とを含む。チップセット411と他のコンポーネントとの間は、各種のバスを介してそれぞれ結合されている。
プロセッサ412およびチップセット411は、典型的には、汎用的なコンピュータアーキテクチャに従う構成を有している。すなわち、プロセッサ412は、チップセット411から内部クロックに従って順次供給される命令コードを解釈して実行する。チップセット411は、接続されている各種コンポーネントとの間で内部的なデータを遣り取りするとともに、プロセッサ412に必要な命令コードを生成する。システムクロック415は、予め定められた周期のシステムクロックを発生してプロセッサ412に提供する。チップセット411は、プロセッサ412での演算処理の実行の結果得られたデータなどをキャッシュする。
主制御ユニット410は、記憶手段として、不揮発性メモリ413および主メモリ414を有する。不揮発性メモリ413は、OS、プロセッサ412で実行される制御プログラム430に加えて、データ定義情報、ログ情報などを不揮発的に保持する。制御プログラム430は、記録媒体51などに格納された状態で流通する。主メモリ414は、揮発性の記憶領域であり、プロセッサ412で実行されるべき各種プログラムを保持するとともに、各種プログラムの実行時の作業用メモリとしても使用される。
主制御ユニット410は、通信手段として、通信インターフェイス417および内部バスコントローラ418を有する。これらの通信回路は、データの送信および受信を行なう。通信インターフェイス417は、視覚センサ30との間でデータを遣り取りする。通信インターフェイス417は、視覚センサ30から、画像を撮像する際の露光開始時刻および露光終了時刻と、計測位置PVvとを受信する。内部バスコントローラ418は、内部バス419を介したデータの遣り取りを制御する。内部バスコントローラ418は、サーボドライバ22,24,26からエンコーダ値ENを受信する。内部バスコントローラ418は、バッファメモリ481と、DMA(Dynamic Memory Access)制御回路482と、内部バス制御回路483とを含む。
メモリカードインターフェイス416は、主制御ユニット410に対して着脱可能な記録媒体51とプロセッサ412とを接続する。記録媒体51は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的または化学的作用によって蓄積する媒体である。記録媒体51には、コントローラ40で実行される制御プログラム430などが格納された状態で流通し、メモリカードインターフェイス416は、記録媒体51から制御プログラムを読み出す。記録媒体51は、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記録媒体や、CD-ROM(Compact Disk Read Only Memory)などの光学記録媒体等からなる。あるいは、通信インターフェイス417を介して、配信サーバなどからダウンロードしたプログラムをコントローラ40にインストールしてもよい。
<2-4.座標変換部>
座標変換部41は、視覚センサ30から出力される計測位置PVv(Pm,Pn)の座標をカメラ座標系から機械座標系に変換する。座標変換部41は、たとえばアフィン変換を用いて座標変換を行なう。
座標変換部41は、視覚センサ30から出力される計測位置PVv(Pm,Pn)の座標をカメラ座標系から機械座標系に変換する。座標変換部41は、たとえばアフィン変換を用いて座標変換を行なう。
図6は、カメラ座標系から機械座標系への並進変換および拡大縮小変換を示す図である。図7は、カメラ座標系から機械座標系への回転変換を示す図である。図6および図7に示されるように、座標変換部41は、カメラ座標系を並進、回転および拡大縮小することにより、カメラ座標系を機械座標系に変換する。
カメラ座標系の座標をq=t[x,y]、機械座標系の座標をQ=t[X,Y]とする。tは転置行列を示す。このとき、アフィン変換Faは、以下の式(1)で示される。
式(1)において、パラメータA,B,C,D,E,Fは、カメラ座標系を機械座標系に変換するためのキャリブレーションパラメータである。パラメータA,B,D,Eは、カメラ座標系から機械座標系への回転および拡大縮小の変換量を規定する。パラメータC,Fは、カメラ座標系から機械座標系への並進の変換量を規定する。
<2-5.フィードバック制御部>
フィードバック制御部42は、計測位置PVvが目標位置SPに近づくようにサーボドライバ20に対してフィードバック制御を行なう。具体的には、フィードバック制御部42は、マーク50m(図3参照)の計測位置Pmが目標位置SPm(マーク60mの位置)に近づくとともに、マーク50n(図3参照)の計測位置Pnが目標位置SPn(マーク60nの位置)に近づくようにサーボドライバ20に対してフィードバック制御を行なう。ただし、計測位置PVv(Pm,Pn)は、制御周期Tcよりも長い撮像周期Tpごとに視覚センサ30から出力される。さらに、視覚センサ30の応答は、一般に遅い。そのため、視覚センサ30から得られた計測位置PVv(Pm,Pn)のみを用いてフィードバック制御が行なわれると、オーバシュートや振動が生じやすくなるため、フィードバック制御のゲインをあまり強くできない。そのため、フィードバック制御部42は、計測位置PVvとステージ装置10からのエンコーダ値ENとを用いて、対象ワークWの推定位置PVを決定する。具体的には、フィードバック制御部42は、計測位置Pmとエンコーダ値ENとを用いて、対象ワークWのマーク50mの推定位置PVmを決定する。同様に、フィードバック制御部42は、計測位置Pnとエンコーダ値ENとを用いて、対象ワークWのマーク50nの推定位置PVnを決定する。
フィードバック制御部42は、計測位置PVvが目標位置SPに近づくようにサーボドライバ20に対してフィードバック制御を行なう。具体的には、フィードバック制御部42は、マーク50m(図3参照)の計測位置Pmが目標位置SPm(マーク60mの位置)に近づくとともに、マーク50n(図3参照)の計測位置Pnが目標位置SPn(マーク60nの位置)に近づくようにサーボドライバ20に対してフィードバック制御を行なう。ただし、計測位置PVv(Pm,Pn)は、制御周期Tcよりも長い撮像周期Tpごとに視覚センサ30から出力される。さらに、視覚センサ30の応答は、一般に遅い。そのため、視覚センサ30から得られた計測位置PVv(Pm,Pn)のみを用いてフィードバック制御が行なわれると、オーバシュートや振動が生じやすくなるため、フィードバック制御のゲインをあまり強くできない。そのため、フィードバック制御部42は、計測位置PVvとステージ装置10からのエンコーダ値ENとを用いて、対象ワークWの推定位置PVを決定する。具体的には、フィードバック制御部42は、計測位置Pmとエンコーダ値ENとを用いて、対象ワークWのマーク50mの推定位置PVmを決定する。同様に、フィードバック制御部42は、計測位置Pnとエンコーダ値ENとを用いて、対象ワークWのマーク50nの推定位置PVnを決定する。
図1に示されるように、フィードバック制御部42は、たとえば、位置決定部43と、減算部44と、PID演算部45とを含む。
位置決定部43は、視覚センサ30によって撮像周期Tpごとに計測された計測位置PVv(Pm,Pn)と制御周期Tcと同じ周期ごとに出力されるエンコーダ値ENとに基づいて、制御周期Tcごとに対象ワークWの推定位置PV(PVm,PVn)を決定する。推定位置PV(PVm,PVn)は、機械座標系で示される。推定位置PV(PVm,PVn)の決定方法の詳細については、後述する動作例において説明する。
減算部44は、推定位置PVmと目標位置SPmとの偏差と、推定位置PVnと目標位置SPnとの偏差とを出力する。目標位置SPm,SPnの機械座標は、視覚センサ30によって計測された目標位置SPm,SPnのカメラ座標をキャリブレーションパラメータによって座標変換することによりそれぞれ得られる。
PID演算部45は、推定位置PVmと目標位置SPmとの偏差と、推定位置PVnと目標位置SPnとの偏差とが0に収束するようにPID演算を行ない、制御周期Tcごとに移動指令MVを算出する。移動指令MVは、サーボドライバ22,24,26ごとに算出される。PID演算部45は、算出した移動指令MVを対応するサーボドライバに出力する。移動指令MVは、たとえば位置指令または速度指令である。
フィードバック制御部42は、上位装置から位置決め処理の開始指示を受けると、フィードバック制御を開始する。フィードバック制御部42は、推定位置PVmと目標位置SPmとの偏差および推定位置PVnと目標位置SPnとの偏差が閾値Th1未満になると、フィードバック制御を終了する。これにより、位置決め処理が完了する。
<2-6.補正部>
<2-6-1.補正の概要>
図8は、キャリブレーションパラメータの補正の概要を示す図である。図8(a)にはカメラ座標系が示される。図8(b)には、図8(a)に示すカメラ座標を、不正確なアフィン変換Faを用いて座標変換することにより得られる機械座標を示す。図8(c)には、図8(b)の実線の座標を補正用のアフィン変換Fa’を用いて座標変換することにより得られる正常な機械座標が示される。なお、図8(b)の点線は、正常な機械座標を示す。図8(c)の点線は、図8(b)の実線と同じ座標を示す。
<2-6-1.補正の概要>
図8は、キャリブレーションパラメータの補正の概要を示す図である。図8(a)にはカメラ座標系が示される。図8(b)には、図8(a)に示すカメラ座標を、不正確なアフィン変換Faを用いて座標変換することにより得られる機械座標を示す。図8(c)には、図8(b)の実線の座標を補正用のアフィン変換Fa’を用いて座標変換することにより得られる正常な機械座標が示される。なお、図8(b)の点線は、正常な機械座標を示す。図8(c)の点線は、図8(b)の実線と同じ座標を示す。
不正確なアフィン変換Faを用いてカメラ座標q=t[x,y]を座標変換することにより得られる機械座標をQ=t[X,Y]とする。さらに、カメラ座標q=t[x,y]に対応する正常な機械座標をQ’=t[X’,Y’]とする。Q’は、Qに対して以下の式(2)で示されるアフィン変換Fa’を用いて並進、回転および拡大縮小を行なうことにより得られる。
アフィン変換Fa’を特定することができれば、以下の式(3)で示されるように、カメラ座標q=t[x,y]を正常な機械座標Q’=t[X’,Y’]に変換するためのアフィン変換Fa”が得られる。
そのため、補正部46は、アフィン変換Fa’を特定し、不正確なアフィン変換FaのパラメータA,B,C,D,E,Fの値を補正する。具体的には、補正部46は、不正確なアフィン変換Faを用いて変換された機械座標Q=t[X,Y]を正常な機械座標Q’=t[X’,Y’]に変換するためのアフィン変換Fa’のパラメータA’,B’,C’,D’,E’,F’の値を特定する。補正部46は、アフィン変換FaのパラメータAの値をA’A+B’Dの値に補正する。補正部46は、アフィン変換FaのパラメータBの値をA’B+B’Eの値に補正する。補正部46は、アフィン変換FaのパラメータCの値をA’C+B’F+C’の値に補正する。補正部46は、アフィン変換FaのパラメータDの値をD’A+E’Dの値に補正する。補正部46は、アフィン変換FaのパラメータEの値をD’B+E’Eの値に補正する。補正部46は、アフィン変換FaのパラメータFの値をD’C+E’F+F’の値に補正する。これにより、補正後のアフィン変換Faを用いて変換された機械座標と正常な機械座標との誤差を小さくすることができる。
<2-6-2.変換量のずれの定量化>
補正部46は、視覚センサ30による計測位置Pm1,Pm2と、ステージ装置10の実際の移動量とに基づいて、並進の変換量、回転の変換量および拡大縮小の変換量(倍率)のずれを定量化する。
補正部46は、視覚センサ30による計測位置Pm1,Pm2と、ステージ装置10の実際の移動量とに基づいて、並進の変換量、回転の変換量および拡大縮小の変換量(倍率)のずれを定量化する。
上述したように、視覚センサ30の計測位置PVv(Pm,Pn)が目標位置SP(SPm,SPn)に近づくようにフィードバック制御が行なわれる。そのため、位置決め処理の完了時には、キャリブレーションパラメータの厳密さによらず、計測位置PVv(Pm,Pn)と目標位置SP(SPm,SPn)との距離が最小化される。したがって、補正部46は、位置決め処理を完了するときの計測位置Pm2を基準とし、計測位置Pm2からステージ装置10の移動量を差し引いた位置Pm3を特定する。補正部46は、特定した位置Pm3と、位置決め処理を開始するときに視覚センサ30によって計測された計測位置Pm1との偏差を、カメラ座標系から機械座標系への座標変換における変換量のずれ量として決定する。
図9は、ステージ装置の移動に伴う計測位置Pm1の移動を示す図である。図9において、位置決め処理を開始してから完了するまでのXステージ移動量,Yステージ移動量およびθステージ移動量をそれぞれdXr,dYrおよびdθrとしている。さらに、点PRaは、位置決め処理を開始するときのθステージ15の回転中心を示す。点PRbは、点PRaをX軸方向にdXr、Y軸方向にdYrだけ並進させた点である。計測位置Pm1の機械座標(Xm_a,Ym_a)は、計測位置Pm1のカメラ座標を現状のキャリブレーションパラメータを用いて座標変換することにより得られる。
計測位置Pm1(Xm_a,Ym_a)は、θステージ15(図3参照)の移動により点Pm5に移動する。点Pm5の座標(Xm_d,Ym_d)は、以下の式(4)で示される。
点Pm5は、Xステージ11およびYステージ13(図3参照)の移動により点Pm6に移動する。点Pm5から点Pm6への移動量は、点PRaから点PRbへの移動量と同一である。そのため、点Pm6の座標(Xm_e,Ym_e)は、以下の式(5)で示される。
図10は、位置決め処理を開始してから完了するまでのステージ装置10の移動量を示す図である。図10には、計測位置Pm1(Xm_a,Ym_a)から点Pm6までのX軸方向の移動量Xm_cおよびY軸方向の移動量Ym_cが示される。移動量(Xm_c,Ym_c)は、以下の式(6)で示される。
補正部46は、位置決め処理を開始するときに視覚センサ30が計測した計測位置Pm1の座標(Xm_a,Ym_a)と、位置決め処理を開始してから完了するまでのXステージ移動量dXr,Yステージ移動量dYrおよびθステージ移動量dθrとを式(6)に代入する。座標(Xm_a,Ym_a)は、計測位置Pm1のカメラ座標をキャリブレーションパラメータを用いて座標変換することにより得られる機械座標である。これにより、補正部46は、マーク50m(図3参照)に対応する位置における、位置決め処理を開始してから完了するまでのステージ装置10の移動量(Xm_c,Ym_c)を算出する。同様にして、補正部46は、マーク50nに対応する位置における、位置決め処理を開始してから完了するまでのステージ装置10の移動量(Xn_c,Yn_c)も算出する。
図2に示されるように、補正部46は、計測位置Pm2の機械座標(Xm_b,Ym_b)から移動量(Xm_c,Ym_c)を差し引くことにより、位置Pm3の機械座標(Xm_b-Xm_c,Ym_b-Ym_c)を算出する。上述したように、計測位置Pm1と位置Pm3との偏差は、不正確なキャリブレーションパラメータを用いた座標変換における変換量のずれに起因している。そのため、補正部46は、計測位置Pm1を位置Pm3に変換するためのアフィン変換Fa’を求めることにより、パラメータA’,B’,C’,D’,E’,F’を特定できる。
<2-6-3.補正方法>
パラメータA’,B’,D’,E’は、回転の変換量および拡大縮小の変換量(倍率)のずれを補正するためのパラメータである。パラメータC’,F’は、並進の変換量のずれを補正するためのパラメータである。回転の中心位置がずれた場合、並進、回転および拡大縮小の変換量の補正精度が大きく変わる。そのため、補正部46は、回転および拡大縮小の変換量のずれを補正するためのパラメータA’,B’,D’,E’を先に特定し、その後に並進の変換量のずれを補正するためのパラメータC’,F’を特定する。
パラメータA’,B’,D’,E’は、回転の変換量および拡大縮小の変換量(倍率)のずれを補正するためのパラメータである。パラメータC’,F’は、並進の変換量のずれを補正するためのパラメータである。回転の中心位置がずれた場合、並進、回転および拡大縮小の変換量の補正精度が大きく変わる。そのため、補正部46は、回転および拡大縮小の変換量のずれを補正するためのパラメータA’,B’,D’,E’を先に特定し、その後に並進の変換量のずれを補正するためのパラメータC’,F’を特定する。
先に4つのパラメータA’,B’,D’,E’を特定するために、並進の変換量のずれを補正するためのパラメータC’,F’の影響を除外する必要がある。そのため、補正部46は、マーク50mとマーク50nとの重心位置に対する計測位置Pm1および位置Pm3の相対位置の座標を用いて、パラメータA’,B’,D’,E’を特定する。これにより、パラメータC’,F’の項を無視できる。
4つのパラメータA’,B’,D’,E’を特定するために、補正部46は、計測位置Pm1と位置Pm3との座標を示す、少なくとも4つのデータセットを取得する。上述したように、パラメータC’,F’の影響を除外するために、マーク50mとマーク50nとの重心位置の座標も必要である。そのため、データセットには、位置決め処理を完了するときのマーク50m(図3参照)の計測位置Pm2、位置決め処理を開始するときのマーク50nの計測位置Pn1、および位置決め処理を完了するときのマーク50nの計測位置Pn2が含まれる。さらに、データセットには、マーク50nに対応する位置における、位置決め処理を開始してから完了するまでのステージ装置10の移動量(Xn_c,Yn_c)も含まれる。
<2-6-4.4つのデータセットの取得方法>
補正部46は、少なくとも4回の位置決め処理から少なくとも4つのデータセットをそれぞれ取得する。4つのパラメータA’,B’,D’,E’を求めるためには、少なくとも4つのデータセットは互いに異なる値を示す必要がある。具体的には、補正部46は、以下の条件(1)および(2)を満たす第1~第4データセットを含む少なくとも4つのデータセットを取得する。なお、第1データセットの計測位置Pm1から位置Pm3へのベクトルを第1ベクトルM0とする。第2データセットの計測位置Pm1から位置Pm3へのベクトルを第2ベクトルM1とする。第3データセットの計測位置Pm1から位置Pm3へのベクトルを第3ベクトルM2とする。第4データセットの計測位置Pm1から位置Pm3へのベクトルを第4ベクトルM3とする。
条件(1):第1ベクトルM0、第2ベクトルM1、第3ベクトルM2および第4ベクトルM3の長さは、規定値以上である。
条件(2):第1ベクトルM0、第2ベクトルM1、第3ベクトルM2および第4ベクトルM3から選択される任意の2つのベクトルは、互いに一次独立である。
補正部46は、少なくとも4回の位置決め処理から少なくとも4つのデータセットをそれぞれ取得する。4つのパラメータA’,B’,D’,E’を求めるためには、少なくとも4つのデータセットは互いに異なる値を示す必要がある。具体的には、補正部46は、以下の条件(1)および(2)を満たす第1~第4データセットを含む少なくとも4つのデータセットを取得する。なお、第1データセットの計測位置Pm1から位置Pm3へのベクトルを第1ベクトルM0とする。第2データセットの計測位置Pm1から位置Pm3へのベクトルを第2ベクトルM1とする。第3データセットの計測位置Pm1から位置Pm3へのベクトルを第3ベクトルM2とする。第4データセットの計測位置Pm1から位置Pm3へのベクトルを第4ベクトルM3とする。
条件(1):第1ベクトルM0、第2ベクトルM1、第3ベクトルM2および第4ベクトルM3の長さは、規定値以上である。
条件(2):第1ベクトルM0、第2ベクトルM1、第3ベクトルM2および第4ベクトルM3から選択される任意の2つのベクトルは、互いに一次独立である。
図11は、第1~第4ベクトルの一例を示す図である。図11に示す例では、第2ベクトルM1と第1ベクトルM0とのなす角度が45°であり、第3ベクトルM2と第1ベクトルM0とのなす角度が90°であり、第4ベクトルM3と第1ベクトルM0とのなす角度が135°である。
補正部46は、キャリブレーションパラメータの補正の指示を受けると、フィードバック制御部42によるフィードバック制御によって位置決め処理が行なわれるたびに、当該位置決め処理に対応するデータセットを生成する。補正部46は、以下の式(7)を満たす最初のデータセットを、第1ベクトルM0に対応する第1データセットとして取得する。その後、補正部は、以下の式(7)および式(8)を満たす第2ベクトルM1に対応する第2データセット、以下の式(7)および式(9)を満たす第3ベクトルM2に対応する第3データセット、以下の式(7)および式(10)を満たす第4ベクトルM3に対応する第4データセットを取得する。αは、0<α<1を満たす定数であり、2つのベクトルのなす角度の許容範囲を示す。α≪1のとき、許容範囲が小さい。
補正部46は、上記式(7)~(10)を満たす第1~第4データセットを取得する。これにより、第2ベクトルM1と第1ベクトルM0とのなす角度は、約45°となる。第3ベクトルM2と第1ベクトルM0とのなす角度は、約90°となる。第4ベクトルM3と第2ベクトルM1とのなす角度は、約90°となる。
<2-6-5.パラメータA’,B’,D’,E’の特定>
補正部46は、マーク50mとマーク50nとの重心位置に対する計測位置Pm1と位置Pm3との相対位置の変化に基づいて、回転の変換量および拡大縮小の変換量(倍率)のずれを補正するためのパラメータA’,B’,D’,E’を特定する。
補正部46は、マーク50mとマーク50nとの重心位置に対する計測位置Pm1と位置Pm3との相対位置の変化に基づいて、回転の変換量および拡大縮小の変換量(倍率)のずれを補正するためのパラメータA’,B’,D’,E’を特定する。
補正部46は、各データセットに含まれる計測位置Pm1と計測位置Pn1との中心位置の座標を、位置決め処理を開始するときのマーク50mとマーク50nとの重心位置Pg1の座標として算出する。
補正部46は、計測位置Pn2から、位置決め処理を開始してから完了するまでのステージ装置10の移動量(Xn_c,Yn_c)を差し引いた位置Pn3の座標を算出する。補正部46は、位置Pm3と位置Pn3との中心位置の座標を重心位置Pg3の座標として算出する。
図12は、計測位置Pm1,Pn1,Pm2,Pn2と、位置Pm3,Pn3と、重心位置Pg1,Pg3との一例を示す図である。図12において、枠W1は、位置決め処理を開始するときに視覚センサ30によって撮像された対象ワークWの輪郭の位置を示している。枠W2は、位置決め処理を完了するときに視覚センサ30によって撮像された対象ワークWの輪郭の位置を示している。枠W3は、枠W2で示される対象ワークWを、位置決め処理を開始してから完了するまでのステージ装置10の移動量だけ戻した状態の対象ワークWの輪郭の位置を示している。キャリブレーションパラメータが不正確である場合、枠W1と枠W3とにずれが生じる。
回転の変換量および拡大縮小の変換量(倍率)のずれを補正するためのパラメータA’,B’,D’,E’を特定するために、補正部46は、重心位置Pg1に対する計測位置Pm1の相対位置と、重心位置Pg3に対する位置Pm3の相対位置との座標を求める。
図13は、重心位置Pg1に対する計測位置Pm1の相対位置と、重心位置Pg3に対する位置Pm3の相対位置との関係を示す図である。図13に示されるように、重心位置Pg1と重心位置Pg3とを合わせることにより、並進の変換量のずれが除去される。
補正部46は、計測位置Pm1の機械座標(Xm_a,Ym_a)と、重心位置Pg1の機械座標(Xm_g1,Ym_g1)とを用いて、重心位置Pg1に対する計測位置Pm1の相対座標(Xm_a-Xm_g1,Ym_a-Ym_g1)を算出する。補正部46は、位置Pm3の機械座標(Xm_b-Xm_c,Ym_b-Ym_c)と、重心位置Pg3の機械座標(Xm_g3,Ym_g3)とを用いて、重心位置Pg3に対する位置Pm3の相対座標(Xm_b-Xm_c-Xm_g3,Ym_b-Ym_c-Ym_g3)を算出する。
補正部46は、4つのデータセットの各々から得られる、重心位置Pg1に対する計測位置Pm1の相対座標および重心位置Pg3に対する位置Pm3の相対座標を、以下の式(11)のt[X,Y]およびt[X’,Y’]にそれぞれ代入する。これにより、補正部46は、パラメータA’,B’,D’,E’を算出できる。
補正後のキャリブレーションパラメータの値を用いたときの回転および拡大縮小の変換量と、補正前のキャリブレーションパラメータの値を用いたときの回転および拡大縮小の変換量との偏差が過大である場合、ステージ装置10の動作が急激に変化し、ステージ装置10が故障する可能性がある。そのため、補正部46は、当該偏差と閾値とを比較し、算出したパラメータA’,B’,D’,E’の適否を判定してもよい。
カメラ座標系から機械座標系への並進の変換量を(dX,dY)とし、回転の変換量のdθとし、X軸方向の拡大縮小の変換量(倍率)をa、Y軸方向の拡大縮小の変換量(倍率)をbとするとき、式(1)で示されるパラメータA~Fは以下のように示される。
A=a・cos(dθ)
B=-a・sin(dθ)
C=dX
D=b・sin(dθ)
E=b・cos(dθ)
F=dY
ここで、回転および拡大縮小の変換量を規定するパラメータA,B,D,Eの行列式は、以下の式(12)で示される。カメラ座標系から機械座標系へのX軸方向およびY軸方向の拡大縮小の変換量(倍率)は、視覚センサ30の視野サイズと撮像部31の撮像素子の画素数とで決定される。積abは、視野サイズの面積倍率を示す。
A=a・cos(dθ)
B=-a・sin(dθ)
C=dX
D=b・sin(dθ)
E=b・cos(dθ)
F=dY
ここで、回転および拡大縮小の変換量を規定するパラメータA,B,D,Eの行列式は、以下の式(12)で示される。カメラ座標系から機械座標系へのX軸方向およびY軸方向の拡大縮小の変換量(倍率)は、視覚センサ30の視野サイズと撮像部31の撮像素子の画素数とで決定される。積abは、視野サイズの面積倍率を示す。
一方、パラメータA’,B’,D’,E’を用いて補正されたキャリブレーションパラメータを用いたときの面積倍率は、上記の式(3)を参照して、以下の式(13)で示される。
式(10)および式(13)から、|A’E’-B’D’|は、補正前の面積倍率に対する補正後の面積倍率の比率を示す。そのため、補正部46は、|A’E’-B’D’|を確認することにより、補正前の拡大縮小の変換量(倍率)から補正後の拡大縮小の変換量(倍率)が大きく乖離しているか否かを判定できる。
補正前の回転の変換量と補正後の回転の変換量との偏差Δθは、以下の式(14)によって示される。
補正部46は、パラメータA’,B’,D’,E’の値が以下の式(15)を満たすとともに、式(14)によって示されるΔθが以下の式(16)を満たす場合に、パラメータA’,B’,D’,E’の値が適正であると判定する。
1-β≦|A’E’-B’D’|≦1+β ・・・式(15)
Δθ≦γ ・・・式(16)
βは、倍率の補正比率の上下限を規定するための閾値であり、0<β<1を満たす定数である。γは、補正前後の回転の変換量の偏差Δθの上限値を規定する閾値である。
1-β≦|A’E’-B’D’|≦1+β ・・・式(15)
Δθ≦γ ・・・式(16)
βは、倍率の補正比率の上下限を規定するための閾値であり、0<β<1を満たす定数である。γは、補正前後の回転の変換量の偏差Δθの上限値を規定する閾値である。
補正部46は、算出したパラメータA’,B’,D’,E’の値が適正ではない場合、当該値のパラメータA’,B’,D’,E’を用いてキャリブレーションパラメータの補正を行なわない。補正部46は、当該パラメータA’,B’,D’,E’の値を破棄し、再度データセットを取得して、新たなパラメータA’,B’,D’,E’の値を算出する。
(2-6-6.パラメータC’,F’の特定)
上記のようにしてパラメータA’,B’,D’,E’が特定された後、補正部46は、並進の変換量のずれを補正するためのパラメータC’,F’を特定する。補正部46は、取得したデータセットで示される計測位置Pm1の座標および位置Pm3の座標を上記の式(2)のt[X,Y]およびt[X’,Y’]にそれぞれ代入することにより、パラメータC’,F’を算出する。4つのデータセットのうち任意に選択した2つのデータセットを用いることにより、パラメータC’,F’を算出できる。4つのデータセットから2つのデータセットの組を選択する方法は6通りである。そのため、補正部46は、6つの組を用いて得られるパラメータC’の平均値を、補正に用いるパラメータC’の値として決定する。同様に、補正部46は、6つの組を用いて得られるパラメータF’の平均値を、補正に用いるパラメータF’の値として決定する。
上記のようにしてパラメータA’,B’,D’,E’が特定された後、補正部46は、並進の変換量のずれを補正するためのパラメータC’,F’を特定する。補正部46は、取得したデータセットで示される計測位置Pm1の座標および位置Pm3の座標を上記の式(2)のt[X,Y]およびt[X’,Y’]にそれぞれ代入することにより、パラメータC’,F’を算出する。4つのデータセットのうち任意に選択した2つのデータセットを用いることにより、パラメータC’,F’を算出できる。4つのデータセットから2つのデータセットの組を選択する方法は6通りである。そのため、補正部46は、6つの組を用いて得られるパラメータC’の平均値を、補正に用いるパラメータC’の値として決定する。同様に、補正部46は、6つの組を用いて得られるパラメータF’の平均値を、補正に用いるパラメータF’の値として決定する。
補正後のキャリブレーションパラメータの値を用いたときの並進の変換量と、補正前のキャリブレーションパラメータの値を用いたときの並進の変換量との偏差が過大である場合、ステージ装置10の挙動が急激に変化し、ステージ装置10が故障する可能性がある。そのため、補正部46は、当該偏差と閾値とを比較し、算出したパラメータC’,F’の適否を判定してもよい。
たとえば、補正部46は、算出したパラメータC’の値が以下の式(17)を満たし、かつ、算出したパラメータF’の値が以下の式(18)を満たす場合に、パラメータC’,F’の値が適正であると判定する。
-δx≦C’≦δx ・・・式(17)
-δy≦F’≦δy ・・・式(18)
δx,δyは、それぞれX軸方向およびY軸方向の並進の変換量の補正の上下限を規定するための閾値である。
-δx≦C’≦δx ・・・式(17)
-δy≦F’≦δy ・・・式(18)
δx,δyは、それぞれX軸方向およびY軸方向の並進の変換量の補正の上下限を規定するための閾値である。
補正部46は、算出したパラメータC’,F’の値が適正ではない場合、当該値のパラメータC’,F’を用いてキャリブレーションパラメータの補正を行なわない。補正部46は、当該パラメータA’~F’の値を破棄し、再度データセットを取得して、パラメータA’~F’の新たな値を算出する。
§3 動作例
<3-1.コントローラの位置決め処理の流れ>
図14を参照して、コントローラ40の位置決め処理の流れの一例について説明する。図14は、コントローラ40の位置決め処理の流れの一例を示すフローチャートである。
<3-1.コントローラの位置決め処理の流れ>
図14を参照して、コントローラ40の位置決め処理の流れの一例について説明する。図14は、コントローラ40の位置決め処理の流れの一例を示すフローチャートである。
まず、コントローラ40は、推定位置PVおよびエンコーダ値ENを初期化する(ステップS1)。次に、視覚センサ30は、撮像周期Tpごとの計測位置PVvの計測処理を開始する(ステップS2)。視覚センサ30からの計測位置PVvおよびサーボドライバ22,24,26の各々からのエンコーダ値ENの出力が開始されると、位置決定部43は、推定位置PV(PVm、PVn)を決定する(ステップS3)。推定位置PV(PVm、PVn)の決定処理の詳細については後述する。
次に、PID演算部45は、推定位置PV(PVm、PVn)と目標位置SP(SPm、SPn)とに基づいて移動指令MVを生成する(ステップS4)。具体的には、PID演算部45は、推定位置PVmを目標位置SPmに近づけ、かつ、推定位置PVnを目標位置SPnに近づけるための移動指令MVを算出し、サーボドライバ22,24,26に出力する。
フィードバック制御部42は、推定位置PVmと目標位置SPmとの偏差および推定位置PVnと目標位置SPnとの偏差と閾値Th1とを比較し、両方の偏差が閾値Th1未満であるか否かを判定する(ステップS5)。両方の偏差が閾値Th1未満ではない場合(ステップS5でNO)、処理はステップS3に戻される。これにより、ステップS3およびステップS4が繰り返し実行される。その結果、フィードバック制御により移動指令MVが更新され、推定位置PVmを目標位置SPmに近づけ、かつ、推定位置PVnを目標位置SPnに近づけるためのステージ装置10の動作が継続される。ステップS3およびステップS4は、制御周期Tcごとに実行される。
両方の偏差が閾値Th1未満である場合(ステップS5でYES)、フィードバック制御部42は、フィードバック制御を停止する。これにより、位置決め処理が完了する(ステップS6)。
位置決め処理が完了すると、位置決めされた対象ワークWに対して所定の処理が実行される。たとえば、ガラス基板である対象ワークWに回路パターンの焼付処理(露光処理)前に、露光マスクに対する対象ワークWの位置決めを行なう場合、コントローラ40は、焼付処理を行なう装置を駆動制御する。
位置決め処理を開始するときに視覚センサ30から出力された計測位置PVv(計測位置Pm1,Pn1)と、位置決め処理を完了するときに視覚センサ30から出力された計測位置PVv(計測位置Pm2,Pn2)とは、コントローラ40の主メモリ414等に記憶される。計測位置Pm1,Pn1は、位置決め処理の開始直後に視覚センサ30から出力される計測位置PVvである。計測位置Pm2,Pn2は、ステップS5でYESと判定された直前に視覚センサ30から出力された計測位置PVvであってもよいし、ステップS5でYESと判定された直前に視覚センサ30から出力された計測位置PVvであってもよい。
さらに、位置決め処理を開始してから完了するまでにステージ装置10のサーボモータ12,14,16に設置されたエンコーダから出力されるエンコーダ値ENもコントローラ40の主メモリ414等に記憶される。当該エンコーダ値ENを解析することにより、位置決め処理を開始してから完了するまでの間のXステージ11の移動量、Yステージ13の移動量およびθステージ15の移動量が算出される。
<3-2.推定位置の決定処理>
位置決定部43は、たとえば図15のフローチャートに示すような処理を行なうことで、推定位置PV(PVm,PVn)を算出する。図15は、図14に示す推定位置決定処理のサブルーチンの処理内容を示すフローチャートである。なお、推定位置PVmの決定方法は推定位置PVnの決定方法と同一である。そのため、以下では、推定位置PVmと推定位置PVnとを区別せず、推定位置PVmと推定位置PVnとの両者を推定位置Pvとして説明する。
位置決定部43は、たとえば図15のフローチャートに示すような処理を行なうことで、推定位置PV(PVm,PVn)を算出する。図15は、図14に示す推定位置決定処理のサブルーチンの処理内容を示すフローチャートである。なお、推定位置PVmの決定方法は推定位置PVnの決定方法と同一である。そのため、以下では、推定位置PVmと推定位置PVnとを区別せず、推定位置PVmと推定位置PVnとの両者を推定位置Pvとして説明する。
座標変換部41は、視覚センサ30からの計測位置PVvが得られているか否かを検出する(ステップS11)。座標変換部41は、計測位置PVvが得られている時刻であれば(ステップS11でYES)、計測位置PVvが正常値か否かを検出する(ステップS12)。たとえば、座標変換部41は、計測位置PVvが所定範囲内の値であれば正常値であると判定する。座標変換部41は、計測位置PVvが正常値であれば(ステップS12でYES)、計測位置PVvの入力を受け付ける(ステップS13)。座標変換部41は、視覚センサ30から受け付けた計測位置PVvのカメラ座標をキャリブレーションパラメータを用いて機械座標に変換する(ステップS14)。
次に、位置決定部43は、計測位置PVvの算出の元となる撮像時刻のエンコーダ値ENsの推定を行なう(ステップS15)。この推定の具体的な方法は後述する。なお、撮像部31の露光時間が長い場合、撮像時刻は、例えば、露光開始時刻(撮像部31のシャッターが開となる時刻)と露光終了時刻(撮像部31のシャッターが閉となる時刻)との中間の時刻によって設定される。
位置決定部43は、同時刻の計測位置PVvおよびエンコーダ値ENと、当該計測位置PVvの算出元となる撮像時刻のエンコーダ値ENsとを用いて、推定位置PVを算出する(ステップS16)。具体的には、ステップS16では、位置決定部43は、次の(式19)を用いて、推定位置PVを算出する。
PV=PVv+(EN-ENs) ・・・(式19)。
PV=PVv+(EN-ENs) ・・・(式19)。
位置決定部43は、算出した推定位置PVを減算部44に出力する(S17)。また、位置決定部43は、この推定位置PVを参照推定位置PVpとし、この時刻のエンコーダ値ENを参照エンコーダ値ENpとして、更新記憶する。
位置決定部43は、視覚センサ30からの計測位置PVvが得られていない時刻であれば(ステップS11でNO)、計測位置PVvの出力が1回以上であるか否かを検出する(ステップS18)。また、位置決定部43は、計測位置PVvが正常値でなければ(ステップS12でNO)、同様に、計測位置PVvの出力が1回以上であるか否かを検出する(ステップS18)。
位置決定部43は、計測位置PVvの出力が1回以上であれば(ステップS18でYES)、エンコーダ値EN、参照推定位置PVp、および、参照エンコーダ値ENpを用いて、推定位置PVを算出する(S19)。具体的には、ステップS19では、位置決定部43は、次の(式20)を用いて、推定位置PVを算出する。
PV=PVp+EN―ENp ・・・(式20)。
PV=PVp+EN―ENp ・・・(式20)。
位置決定部43は、計測位置PVvの出力が1回もなければ(ステップS18でNO)、推定位置PVを初期値のまま維持する。ステップS19の後およびステップS18でNOの場合、処理はステップS17に移る。ステップS17の後、処理は図12に示すステップS4に戻る。
このような処理を実行することによって、コントローラ40は、画像処理による高精度な計測位置PVvが入力される時刻には、この高精度な計測位置PVvを用いて推定位置PVを算出し、高精度な位置決め制御を実現できる。ここで、計測位置PVvが入力される時間間隔は、撮像周期Tpであり、エンコーダ値ENが入力される制御周期Tcに比べて長い。しかしながら、時間軸上で隣り合う計測位置PVvの入力時刻間において、位置決定部43は、入力周期が短いエンコーダ値ENの入力時刻毎に、推定位置PVを算出して、位置制御を行なう。これにより、高精度且つ短周期の位置決め制御が可能になる。さらに、位置決定部43は、上述の簡単な四則演算を用いる処理を行なう。そのため、簡素な構成および処理による高速且つ高精度な位置決めを実現できる。
計測位置PVvの算出は、視覚センサ30による撮像と画像処理の時間を必要とする。そのため、撮像周期Tpは長い。推定位置PVの算出時刻tnに、計測位置PVvが得られたとしても、当該計測位置PVvは、算出時刻tnよりも過去の撮像時刻tv1に撮像した画像によるものであり、撮像時刻tv1における対象ワークWの位置を高精度に算出したものである。
撮像時刻tv1から算出時刻tnまで時間(tn-tv1)が経過しており、対象ワークWは移動している。したがって、この対象ワークWの移動分は、補正しなければならない。
ここで、エンコーダ値ENは、撮像周期Tpよりも短い制御周期Tcで更新されていく。これを利用し、位置決定部43は、上記の式18に示す演算を行なう。具体的に、位置決定部43は、撮像時刻tv1のエンコーダ値ENsと算出時刻tnのエンコーダ値ENを取得する。位置決定部43は、時間(tn-tv1)分のエンコーダ値ENの変化分ΔEN(EN-ENs)を、計測位置PVvに対して加算することによって、算出時刻tnの推定位置PVを算出する。この際、算出時刻tnでは、推定位置PVが不連続になるが、この場合、推定位置PVに対するスムージング処理(例えば、移動平均化処理)等を用いることで、推定位置PVの時間変化を滑らかにでき、より好ましい。
この処理を用いることによって、推定位置PVは、算出時刻tnでの対象ワークWの位置を高精度に反映するものとなる。したがって、高精度な位置決め制御が可能となる。
図16は、図15に示す撮像時エンコーダ値の推定処理のサブルーチンの処理内容を示すフローチャートである。
図16に示すように、位置決定部43は、撮像時刻を取得する(S21)。位置決定部43は、撮像時刻に近い複数の時刻のエンコーダ値ENを取得する(S22)。位置決定部43は、複数の時刻のエンコーダ値ENの内挿補間値を算出し、撮像時刻のエンコーダ値ENsとする(S23)。なお、撮像時刻がエンコーダ値の算出時刻と一致する場合には、このエンコーダ値をそのまま用いればよい。
具体的には、位置決定部43は、推定位置PVを算出する算出時刻tnにおけるエンコーダ値EN(n)を取得する。位置決定部43は、算出時刻tnよりも過去の撮像時刻tviを取得する。位置決定部43は、撮像時刻tviに近接する2つの時刻、例えば、時間軸上で、撮像時刻tviを挟む過去の算出時刻t(n-k)と過去の算出時刻t(n-k+1)とを検出する。
位置決定部43は、算出時刻t(n-k)のエンコーダ値EN(n-k)と、算出時刻t(n-k+1)のエンコーダ値EN(n-k+1)とを取得する。過去のエンコーダ値は、コントローラ40の記憶部(たとえば不揮発性メモリ413または主メモリ414(図4参照))に記憶される。
位置決定部43は、エンコーダ値EN(n-k)とエンコーダ値EN(n-k+1)との内挿補間値を用いて、撮像時刻tviのエンコーダ値ENs(ni)を算出する。具体的には、位置決定部43は、次の(式21)を用いて、撮像時刻tviのエンコーダ値ENs(ni)を算出する。
ENs(ni)=EN(n-k)+Kk*(EN(n-k+2)-EN(n-k+1)) ・・・(式21)。
ENs(ni)=EN(n-k)+Kk*(EN(n-k+2)-EN(n-k+1)) ・・・(式21)。
ここで、Kkは、内挿補間係数である。制御周期をTcとし、エンコーダ値ENの伝送遅延時間をTedとし、撮像トリガの伝送遅延時間をTsdとして、Tc-Ted≦Tsd<2Tc-Tedの場合、内挿補間係数Kkは、次の(式22)を用いて算出される。
Kk={Tsd-(Tc-Ted)}/Tc ・・・(式22)。
Kk={Tsd-(Tc-Ted)}/Tc ・・・(式22)。
このような内挿補間値の算出方法を用いることによって、撮像時刻tviのエンコーダ値ENs(ni)を高精度に算出できる。これにより、さらに高精度な推定位置PVが算出でき、さらに高精度な位置決め制御が可能になる。
<3-3.キャリブレーションパラメータの補正処理>
補正部46は、たとえば図17のフローチャートに示すような処理を行なうことで、キャリブレーションパラメータを補正する。図17は、キャリブレーションパラメータの補正処理の流れの一例を示すフローチャートである。
補正部46は、たとえば図17のフローチャートに示すような処理を行なうことで、キャリブレーションパラメータを補正する。図17は、キャリブレーションパラメータの補正処理の流れの一例を示すフローチャートである。
キャリブレーションパラメータの補正指示を受けると、補正部46は、4回の位置決め処理にそれぞれ対応する4つのデータセットを取得する(ステップS31)。データセットは、位置決め処理を開始するときに視覚センサ30によって計測された計測位置Pm1,Pn1の座標を含む。さらに、データセットは、位置決め処理を完了するときに視覚センサ30によって計測された計測位置Pm2,Pn2の座標を含む。さらに、データセットは、位置決め処理を完了するときに視覚センサ30によって計測された計測位置Pm2から、位置決め処理を開始してから完了するまでのステージ装置10の移動量を差し引いた位置Pm3の座標を含む。さらに、データセットは、マーク50nに対応する位置における、位置決め処理を開始してから完了するまでのステージ装置10の移動量を含む。
補正部46は、ステップS31で取得した4つのデータセットを用いて、カメラ座標系から機械座標系への回転の変換量および拡大縮小の変換量(倍率)を補正するためのパラメータA’,B’,D’,E’のそれぞれの値を算出する(ステップS32)。
次に、補正部46は、算出した値が適正か否かを判定する(ステップS33)。具体的には、補正部46は、算出したパラメータA’,B’,D’,E’の値が上記の式(15)を満たすとともに、式(14)で示されるΔθが式(16)を満たす場合に、算出した値が適正であると判定する。
算出した値が適正でない場合(ステップS33でNO)、当該値が破棄され、処理はステップS31に戻る。
算出した値が適正である場合(ステップS33でYES)、補正部46は、ステップS31で取得した4つのデータセットを用いて、カメラ座標系から機械座標系への並進の変換量を補正するためのパラメータC’,F’のそれぞれの値を算出する(ステップS34)。
次に、補正部46は、算出した値が適正か否かを判定する(ステップS35)。具体的には、補正部46は、算出したパラメータC’,F’値が上記の式(17)および式(18)を満たす場合に、算出した値が適正であると判定する。
算出した値が適正でない場合(ステップS35でNO)、当該値が破棄され、処理はステップS31に戻る。
算出した値が適正である場合(ステップS35でYES)、補正部46は、ステップS32で算出したパラメータA’,B’,D’,E’の値と、ステップS34で算出したパラメータC’,F’の値とを用いて、キャリブレーションパラメータ(校正パラメータ)を補正する(ステップS36)。なお、補正部46がパラメータA’,B’,C’,D’,E’,F’の値を座標変換部41に出力し、座標変換部41がキャリブレーションパラメータの補正を行なってもよい。
図18は、図17に示す4つのデータセットの取得処理のサブルーチンの処理内容を示すフローチャートである。
補正部46は、位置決め処理が完了したか否かを判定する(ステップS41)。具体的には、補正部46は、フィードバック制御部42がフィードバック制御を停止したことを受けて、位置決め処理が完了したと判定する。位置決め処理が完了していない場合(ステップS41でNO)、処理はステップS41に戻る。
位置決め処理が完了した場合(ステップS41でYES)、補正部46は、当該位置決め処理に対応する対象データセットを生成する(ステップS42)。
補正部46は、生成した対象データセットによって示される計測位置Pm1から位置Pm3への対象ベクトルの長さLが規定値Th2以上であるか否かを判定する(ステップS43)。対象ベクトルの長さLが規定値Th2以上ではない場合(ステップS43でNO)、処理はステップS41に戻る。
対象ベクトルの長さLが規定値Th2以上である場合(ステップS43でYES)、補正部46は、第1データセットDS0を取得済みか否かを判定する(ステップS44)。第1データセットDS0をまだ取得していない場合(ステップS44でNO)、補正部46は、直近のステップS42で生成した対象データセットを第1データセットDS0として取得する(ステップS45)。第1データセットDS0によって示される計測位置Pm1から位置Pm3へのベクトルは、第1ベクトルM0である。ステップS45の後、処理はステップS46に移る。第1データセットDS0を取得済である場合も(ステップS44でYES)、処理はステップS46に移る。
ステップS46において、補正部46は、第2データセットDS1を取得済みか否かを判定する。第2データセットDS1が未取得である場合(ステップS46でNO)、補正部46は、ステップS42で生成した対象データセットに対応する対象ベクトルと、第1ベクトルM0とのなす角度が45°±α1の範囲内であるか否かを判定する(ステップS47)。対象ベクトルは、対象データセットによって示される計測位置Pm1から位置Pm3へのベクトルである。α1は予め定められる角度である。対象ベクトルと第1ベクトルM0とのなす角度が45°±α1の範囲内である場合(ステップS47でYES)、補正部46は、対象データセットを第2データセットDS1として取得する(ステップS48)。ステップS48の後、処理はステップS49に移る。第2データセットDS1を取得済である場合(ステップS46でYES)および対象ベクトルと第1ベクトルM0とのなす角度が45°±α1の範囲外である場合(ステップS47でNO)も、処理はステップS49に移る。
ステップS49において、補正部46は、第3データセットDS2を取得済みか否かを判定する。第3データセットDS2が未取得である場合(ステップS49でNO)、補正部46は、ステップS42で生成した対象データセットに対応する対象ベクトルと、第1ベクトルM0とのなす角度が90°±α2の範囲内であるか否かを判定する(ステップS50)。α2は予め定められる角度である。対象ベクトルと第1ベクトルM0とのなす角度が90°±α2の範囲内である場合(ステップS50でYES)、補正部46は、対象データセットを第3データセットDS2として取得する(ステップS51)。ステップS51の後、処理はステップS52に移る。第3データセットDS2を取得済である場合(ステップS49でYES)および対象ベクトルと第1ベクトルM0とのなす角度が90°±α2の範囲外である場合(ステップS50でNO)も、処理はステップS52に移る。
ステップS52において、補正部46は、第4データセットDS3を取得済みか否かを判定する。第4データセットDS3が未取得である場合(ステップS52でNO)、補正部46は、第2データセットDS1を取得済みか否かを判定する(ステップS53)。第2データセットDS1が取得済である場合(ステップS53でYES)、補正部46は、ステップS42で生成した対象データセットに対応する対象ベクトルと、第2ベクトルM1とのなす角度が90°±α3の範囲内であるか否かを判定する(ステップS54)。α3は予め定められる角度である。対象ベクトルと第2ベクトルM1とのなす角度が90°±α3の範囲内である場合(ステップS54でYES)、補正部46は、対象データセットを第4データセットDS3として取得する(ステップS55)。ステップS55の後、処理はステップS55に移る。第4データセットDS3を取得済である場合(ステップS52でYES)、第2データセットDS1が未取得である場合(ステップS53でNO)および対象ベクトルと第2ベクトルM1とのなす角度が90°±α3の範囲外である場合(ステップS54でNO)も、処理はステップS56に移る。
ステップS56において、補正部46は、第1データセットDS0~第4データセットDS3の全てが取得済みか否かを判定する。第1データセットDS0~第4データセットDS3の全てをまだ取得していない場合(ステップS56でNO)、処理はステップS41に戻る。第1データセットDS0~第4データセットDS3の全てが取得済である場合(ステップS56でYES)、4つのデータセットの取得処理は終了する。なお、補正部46は、第1データセットDS0を取得してから残りの第2データセットDS1~第4データセットDS3を取得するまでの時間が規定時間内である場合に、当該第1~第4データセットに基づいてキャリブレーションパラメータを補正する。補正部46は、第1データセットDS0を取得してから残りの第2データセットDS1~第4データセットDS3を取得するまでの時間が規定時間を超える場合に、当該第1~第4データセットを破棄して、再度第1データセットDS0~第4データセットDS3の取得処理を行なう。
<3-4.作用・効果>
上記のように、本実施の形態によれば、補正部46は、位置決め処理を開始するときの計測位置Pm1の座標と、位置決め処理を開始してから完了するまでのステージ装置10の移動量を、位置決め処理を完了するときの計測位置Pm2から差し引くことにより得られる位置Pm3の座標とを示すデータセットに基づいて、キャリブレーションパラメータを補正する。
上記のように、本実施の形態によれば、補正部46は、位置決め処理を開始するときの計測位置Pm1の座標と、位置決め処理を開始してから完了するまでのステージ装置10の移動量を、位置決め処理を完了するときの計測位置Pm2から差し引くことにより得られる位置Pm3の座標とを示すデータセットに基づいて、キャリブレーションパラメータを補正する。
これにより、補正部46によって補正されたキャリブレーションパラメータを用いることにより、カメラ座標系から機械座標系に精度良く座標変換することができ、位置決めの精度を高めることができる。さらに、計測位置Pm1,Pm2、および、位置決め処理を開始してから完了するまでのステージ装置10の移動量は、通常の対象ワークWの位置決め処理から得られる。そのため、キャリブレーションパラメータの補正のために、対象ワークWの位置決め処理を停止する必要がない。その結果、キャリブレーションの繰り返しによる稼働率の低下を抑制できる。
§4 変形例
<4-1.変形例1>
上記の説明では、補正部46は、計測位置Pm1を位置Pm3に変換するためのアフィン変換Fa’を求めることにより、パラメータA’,B’,C’,D’,E’,F’を特定する。しかしながら、計測位置Pm1と位置Pm3とのずれの全てを1回で補正すると、視覚センサ30における計測誤差や演算誤差によって、キャリブレーションパラメータに悪影響を及ぼす可能性がある。
<4-1.変形例1>
上記の説明では、補正部46は、計測位置Pm1を位置Pm3に変換するためのアフィン変換Fa’を求めることにより、パラメータA’,B’,C’,D’,E’,F’を特定する。しかしながら、計測位置Pm1と位置Pm3とのずれの全てを1回で補正すると、視覚センサ30における計測誤差や演算誤差によって、キャリブレーションパラメータに悪影響を及ぼす可能性がある。
そのため、補正部46は、計測位置Pm1と位置Pm3との線分上の位置Pm7を補正目標の位置として特定してもよい。補正部46は、計測位置Pm1と位置Pm7との長さL2と、計測位置Pm1と位置Pm3との長さL1との比率(L2/L1)が予め定められた値βとなるように、位置Pm7を特定する。
図19は、計測位置Pm1,Pm2と位置Pm3,Pm7との関係を示す図である。位置Pm7の座標(Xm_f,Ym_f)は、計測位置Pm1の座標(Xm_a,Ym_a)と、位置Pm3の座標(Xm-b-Xm_c,Ym_b-Ym_c)とβとを用いて、以下のように表される。
Xm_f=Xm_a+β(Xm-b-Xm_c-Xm_a)
Ym_f=Ym_a+β(Ym-b-Ym_c-Ym_a)
補正部46は、計測位置Pm1を位置Pm7に変換するためのアフィン変換Fa’を求めることにより、パラメータA’,B’,C’,D’,E’,F’を特定する。これにより、複数回の補正を繰り返しながら、漸近的にキャリブレーションパラメータを調整できる。
Xm_f=Xm_a+β(Xm-b-Xm_c-Xm_a)
Ym_f=Ym_a+β(Ym-b-Ym_c-Ym_a)
補正部46は、計測位置Pm1を位置Pm7に変換するためのアフィン変換Fa’を求めることにより、パラメータA’,B’,C’,D’,E’,F’を特定する。これにより、複数回の補正を繰り返しながら、漸近的にキャリブレーションパラメータを調整できる。
図20は、変形例1に係る補正部の処理の全体の流れを示すフローチャートである。補正部46は、キャリブレーションパラメータの補正指示を受けると、4回の位置決め処理にそれぞれ対応する4つのデータセットを取得する(ステップS61)。ステップS61は、上記のステップS31と同じである。
補正部46は、ステップS31で取得した4つのデータセットを用いて、計測位置Pm1を位置Pm7に変換するためのパラメータA’,B’,D’,E’のそれぞれの値を算出する(ステップS62)。ステップS62は、目標とする位置が位置Pm3ではなく位置Pm7である点を除いて、上記のステップS32と同じである。補正部46は、算出した値が適正か否かを判定する(ステップS63)。ステップS63は、上記のステップS33と同じである。
算出した値が適正でない場合(ステップS63でNO)、当該値が破棄され、処理はステップS61に戻る。算出した値が適正である場合(ステップS63でYES)、補正部46は、ステップS62で算出したパラメータA’,B’,D’,E’の値を用いて、回転および拡大縮小に関するパラメータA,B,D,Eを補正する(ステップS64)。
次に、補正部46は、拡大縮小の変換量(倍率)の補正量|(|A’E’-B’D’|-1)|および回転の変換量の補正量|Δθ|(上記の式(14)参照)がそれぞれ規定値β’および規定値γ’以下であるか否かを判定する(ステップS65)。具体的には、補正部46は、以下の式(23)、(24)を満たすか否かを判定する。
|(|A’E’-B’D’|-1)|≦β’ ・・・式(23)
Δθ≦γ’ ・・・式(24)
β’およびγ’は、上記のβおよびγよりもそれぞれ小さい値に予め設定さる。式(23)および式(24)を満たす場合には、補正量が十分に小さくなり、回転および拡大縮小に関するパラメータの補正量が収束している。
|(|A’E’-B’D’|-1)|≦β’ ・・・式(23)
Δθ≦γ’ ・・・式(24)
β’およびγ’は、上記のβおよびγよりもそれぞれ小さい値に予め設定さる。式(23)および式(24)を満たす場合には、補正量が十分に小さくなり、回転および拡大縮小に関するパラメータの補正量が収束している。
式(23)、(24)を満たさない場合(ステップS65でNO)、処理はステップS61に戻る。これにより、再度ステップS61~S64が繰り返される。その結果、回転および拡大縮小に関するパラメータの補正量が徐々に収束する。
式(23)、(24)を満たす場合(ステップS65でYES)、補正部46は、ステップS61で取得した4つのデータセットを用いて、カメラ座標系から機械座標系への並進の変換量を補正するためのパラメータC’,F’の値を算出する(ステップS66)。ステップS66は、上記のステップS34と同じである。補正部46は、算出した値が適正か否かを判定する(ステップS67)。ステップS67は、上記のステップS67と同じである。算出した値が適正でない場合(ステップS67でNO)、当該値が破棄され、処理はステップS61に戻る。算出した値が適正である場合(ステップS67でYES)、補正部46は、ステップS66で算出したパラメータC’,F’の値を用いて、並進に関するパラメータC,Fの値を補正する(ステップS68)。
<4-2.変形例2>
上記の説明では、第2ベクトルM1と第1ベクトルM0とのなす角度が45°であり、第3ベクトルM2と第1ベクトルM0とのなす角度が90°であり、第4ベクトルM3と第1ベクトルM0とのなす角度が135°であるとした。しかしながら、角度はこれらに限定されない。たとえば、第2ベクトルM1と第1ベクトルM0とのなす角度が30°であり、第3ベクトルM2と第1ベクトルM0とのなす角度が60°であり、第4ベクトルM3と第1ベクトルM0とのなす角度が90°であってもよい。
上記の説明では、第2ベクトルM1と第1ベクトルM0とのなす角度が45°であり、第3ベクトルM2と第1ベクトルM0とのなす角度が90°であり、第4ベクトルM3と第1ベクトルM0とのなす角度が135°であるとした。しかしながら、角度はこれらに限定されない。たとえば、第2ベクトルM1と第1ベクトルM0とのなす角度が30°であり、第3ベクトルM2と第1ベクトルM0とのなす角度が60°であり、第4ベクトルM3と第1ベクトルM0とのなす角度が90°であってもよい。
さらに、補正部46は、第3ベクトルM2に対応する第3データセットを取得した後、第3ベクトルM2とのなす角度が45°となる第4ベクトルM3に対応する第4データセットを取得してもよい。
<4-3.変形例3>
ステージ装置10は、サーボモータとカップリングを介して連結されるボールねじを含んでもよい。ボールねじおよびカップリングのいずれかの異常により、ステージ装置10の位置偏差、速度、トルクに異常な変動が生じることが知られている。たとえば、ボールねじの潤滑不良による摩擦の増加に伴い、断続的な引っかかりが発生し、速度異常が生じる。ボールねじの曲げまたは歪みの発生に伴い、トルク異常が生じる。カップリングのすべりの発生に伴い、位置偏差の異常が生じる。
ステージ装置10は、サーボモータとカップリングを介して連結されるボールねじを含んでもよい。ボールねじおよびカップリングのいずれかの異常により、ステージ装置10の位置偏差、速度、トルクに異常な変動が生じることが知られている。たとえば、ボールねじの潤滑不良による摩擦の増加に伴い、断続的な引っかかりが発生し、速度異常が生じる。ボールねじの曲げまたは歪みの発生に伴い、トルク異常が生じる。カップリングのすべりの発生に伴い、位置偏差の異常が生じる。
このようなステージ装置10の機械的な異常が発生している状況において、キャリブレーションパラメータを補正すると、ステージ装置10に対して多大なストレスを与える可能性がある。そこで、補正部46は、ステージ装置10からの位置関連情報であるエンコーダ値ENに基づいて、位置偏差、速度およびトルクを監視し、ステージ装置10の異常の有無を判定してもよい。補正部46は、ステージ装置10に異常が無いと判定した場合に、キャリブレーションパラメータの補正を行ない、ステージ装置10に異常が有ると判定した場合に、キャリブレーションパラメータの補正を行なわない。このとき、補正部46は、ステージ装置10に異常がある旨を通知してもよい。
<4-4.変形例4>
補正部46によるキャリブレーションパラメータの補正処理には、計測誤差および演算誤差の影響がある。そのため、補正後のキャリブレーションパラメータを用いることにより、位置決め処理に要する時間が長くなる可能性がある。そこで、補正部46は、補正後のキャリブレーションパラメータを用いたフィードバック制御により位置決め処理を完了するのに要する時間と、補正前のキャリブレーションパラメータを用いたフィードバック制御により位置決め処理を完了するのに要する時間とを比較する。補正部46は、補正後の時間が補正前の時間よりも長い場合、キャリブレーションパラメータを補正前の値に戻す。この場合、補正部46は、キャリブレーションパラメータの補正履歴を記憶しておき、補正履歴に基づいて、キャリブレーションパラメータを補正前の値に戻せばよい。
補正部46によるキャリブレーションパラメータの補正処理には、計測誤差および演算誤差の影響がある。そのため、補正後のキャリブレーションパラメータを用いることにより、位置決め処理に要する時間が長くなる可能性がある。そこで、補正部46は、補正後のキャリブレーションパラメータを用いたフィードバック制御により位置決め処理を完了するのに要する時間と、補正前のキャリブレーションパラメータを用いたフィードバック制御により位置決め処理を完了するのに要する時間とを比較する。補正部46は、補正後の時間が補正前の時間よりも長い場合、キャリブレーションパラメータを補正前の値に戻す。この場合、補正部46は、キャリブレーションパラメータの補正履歴を記憶しておき、補正履歴に基づいて、キャリブレーションパラメータを補正前の値に戻せばよい。
<4-5.変形例5>
図17に示すフローにおいて、ステップS33またはステップS36でNOとなる状態が継続的に発生する場合、ステージ装置10に何等かの異常が生じている可能性が高い。そこで、ステップS33またはステップS36でNOとなる状態が連続して所定回数生じた場合、補正部46は、ステージ装置10に異常が発生したものと判定し、その旨を通知してもよい。もしくは、単位時間当たりのステップS33またはステップS36でNOとなる回数が所定頻度以上である場合に、補正部46は、ステージ装置10に異常が発生したものと判定し、その旨を通知してもよい。
図17に示すフローにおいて、ステップS33またはステップS36でNOとなる状態が継続的に発生する場合、ステージ装置10に何等かの異常が生じている可能性が高い。そこで、ステップS33またはステップS36でNOとなる状態が連続して所定回数生じた場合、補正部46は、ステージ装置10に異常が発生したものと判定し、その旨を通知してもよい。もしくは、単位時間当たりのステップS33またはステップS36でNOとなる回数が所定頻度以上である場合に、補正部46は、ステージ装置10に異常が発生したものと判定し、その旨を通知してもよい。
<4-6.変形例6>
上記の説明では、計測位置Pm1および位置Pm3を用いて、キャリブレーションパラメータが補正される。しかしながら、計測位置Pn1および位置Pn3を用いて、キャリブレーションパラメータが補正されてもよい。もしくは、計測位置Pn1および位置Pn3、ならびに計測位置Pn1および位置Pn3を用いて、キャリブレーションパラメータが補正されてもよい。
上記の説明では、計測位置Pm1および位置Pm3を用いて、キャリブレーションパラメータが補正される。しかしながら、計測位置Pn1および位置Pn3を用いて、キャリブレーションパラメータが補正されてもよい。もしくは、計測位置Pn1および位置Pn3、ならびに計測位置Pn1および位置Pn3を用いて、キャリブレーションパラメータが補正されてもよい。
<4-7.変形例7>
座標変換部41は、コントローラ40ではなく、視覚センサ30に備えられていてもよい。
座標変換部41は、コントローラ40ではなく、視覚センサ30に備えられていてもよい。
§5 付記
以上のように、本実施の形態および変形例は以下のような開示を含む。
以上のように、本実施の形態および変形例は以下のような開示を含む。
(構成1)
対象物(W)の位置決め処理を行なう制御システム(1)であって、
前記対象物(W)を撮像し、前記対象物(W)の位置を計測するための視覚センサ(30)と、
前記対象物(W)を移動させるための移動機構(10,20)と、
前記視覚センサ(30)の第1座標系を前記移動機構の第2座標系に変換するためのキャリブレーションパラメータを用いて、前記視覚センサ(30)によって計測された位置の座標変換を行なう座標変換部(41)と、
前記座標変換部(41)によって座標変換された位置が目標位置に近づくように前記移動機構(10,20)に対するフィードバック制御を行なうためのフィードバック制御部(42)と、
前記位置決め処理を開始するときに前記視覚センサ(30)によって計測され、前記座標変換部(41)により座標変換された第1位置の座標と、前記位置決め処理を開始してから完了するまでの前記移動機構(10,20)の移動量を、前記位置決め処理を完了するときに前記視覚センサ(30)によって計測され、前記座標変換部(41)により座標変換された第2位置から差し引くことにより得られる第3位置の座標とを示すデータセットに基づいて、前記キャリブレーションパラメータを補正するための補正部(46)とを備える、制御システム(1)。
対象物(W)の位置決め処理を行なう制御システム(1)であって、
前記対象物(W)を撮像し、前記対象物(W)の位置を計測するための視覚センサ(30)と、
前記対象物(W)を移動させるための移動機構(10,20)と、
前記視覚センサ(30)の第1座標系を前記移動機構の第2座標系に変換するためのキャリブレーションパラメータを用いて、前記視覚センサ(30)によって計測された位置の座標変換を行なう座標変換部(41)と、
前記座標変換部(41)によって座標変換された位置が目標位置に近づくように前記移動機構(10,20)に対するフィードバック制御を行なうためのフィードバック制御部(42)と、
前記位置決め処理を開始するときに前記視覚センサ(30)によって計測され、前記座標変換部(41)により座標変換された第1位置の座標と、前記位置決め処理を開始してから完了するまでの前記移動機構(10,20)の移動量を、前記位置決め処理を完了するときに前記視覚センサ(30)によって計測され、前記座標変換部(41)により座標変換された第2位置から差し引くことにより得られる第3位置の座標とを示すデータセットに基づいて、前記キャリブレーションパラメータを補正するための補正部(46)とを備える、制御システム(1)。
(構成2)
前記補正部(46)は、前記第1位置を前記第3位置に変換するための変換パラメータを前記キャリブレーションパラメータに乗ずることにより、前記キャリブレーションパラメータを補正する、構成1に記載の制御システム(1)。
前記補正部(46)は、前記第1位置を前記第3位置に変換するための変換パラメータを前記キャリブレーションパラメータに乗ずることにより、前記キャリブレーションパラメータを補正する、構成1に記載の制御システム(1)。
(構成3)
前記補正部(46)は、前記第1位置を前記第1位置と前記第3位置とを結ぶ線分上の第4位置に変換するための変換パラメータを前記キャリブレーションパラメータに乗ずることにより、前記キャリブレーションパラメータを補正する、構成1に記載の制御システム(1)。
前記補正部(46)は、前記第1位置を前記第1位置と前記第3位置とを結ぶ線分上の第4位置に変換するための変換パラメータを前記キャリブレーションパラメータに乗ずることにより、前記キャリブレーションパラメータを補正する、構成1に記載の制御システム(1)。
(構成4)
前記キャリブレーションパラメータは、前記第1座標系と前記第2座標系との間の回転および倍率の変換量を規定する第1~第4パラメータを含み、
前記補正部(46)は、少なくとも4回の前記位置決め処理からそれぞれ得られる少なくとも4つのデータセットを用いて、前記第1~第4パラメータを補正する、構成1から3のいずれかに記載の制御システム(1)。
前記キャリブレーションパラメータは、前記第1座標系と前記第2座標系との間の回転および倍率の変換量を規定する第1~第4パラメータを含み、
前記補正部(46)は、少なくとも4回の前記位置決め処理からそれぞれ得られる少なくとも4つのデータセットを用いて、前記第1~第4パラメータを補正する、構成1から3のいずれかに記載の制御システム(1)。
(構成5)
前記少なくとも4つのデータセットは、第1~第4データセットを含み、
前記第1データセットに対応する前記第1位置から前記第3位置への第1ベクトルと、前記第2データセットに対応する前記第1位置から前記第3位置への第2ベクトルと、前記第3データセットに対応する前記第1位置から前記第3位置への第3ベクトルと、前記第4データセットに対応する前記第1位置から前記第3位置への第4ベクトルとから選択される2つのベクトルは一次独立である、構成4に記載の制御システム(1)。
前記少なくとも4つのデータセットは、第1~第4データセットを含み、
前記第1データセットに対応する前記第1位置から前記第3位置への第1ベクトルと、前記第2データセットに対応する前記第1位置から前記第3位置への第2ベクトルと、前記第3データセットに対応する前記第1位置から前記第3位置への第3ベクトルと、前記第4データセットに対応する前記第1位置から前記第3位置への第4ベクトルとから選択される2つのベクトルは一次独立である、構成4に記載の制御システム(1)。
(構成6)
前記補正部(46)は、前記第1~第4データセットをこの順に取得する取得処理を実行し、前記第1データセットを取得してから前記第4データセットを取得するまでの時間が規定時間内である場合に、当該第1~第4データセットに基づいて前記キャリブレーションパラメータを補正し、前記第1データセットを取得してから前記第4データセットを取得するまでの時間が前記規定時間を超える場合に、当該第1~第4データセットを破棄して、再度前記取得処理を行なう、構成5に記載の制御システム(1)。
前記補正部(46)は、前記第1~第4データセットをこの順に取得する取得処理を実行し、前記第1データセットを取得してから前記第4データセットを取得するまでの時間が規定時間内である場合に、当該第1~第4データセットに基づいて前記キャリブレーションパラメータを補正し、前記第1データセットを取得してから前記第4データセットを取得するまでの時間が前記規定時間を超える場合に、当該第1~第4データセットを破棄して、再度前記取得処理を行なう、構成5に記載の制御システム(1)。
(構成7)
前記第1~第4ベクトルは、第1条件および第2条件を満たし、
前記第1条件は、前記第1~第4ベクトルの長さが規定長さ以上であるという条件であり、
前記第2条件は、前記第2ベクトルと前記第1ベクトルとのなす角度が第1規定角度範囲内であり、前記第3ベクトルと前記第1ベクトルまたは前記第2ベクトルとのなす角度が第2規定角度範囲内であり、前記第4ベクトルと前記第1~第3ベクトルのいずれか1つとのなす角度とが第3規定角度範囲内であるという条件である、構成6に記載の制御システム(1)。
前記第1~第4ベクトルは、第1条件および第2条件を満たし、
前記第1条件は、前記第1~第4ベクトルの長さが規定長さ以上であるという条件であり、
前記第2条件は、前記第2ベクトルと前記第1ベクトルとのなす角度が第1規定角度範囲内であり、前記第3ベクトルと前記第1ベクトルまたは前記第2ベクトルとのなす角度が第2規定角度範囲内であり、前記第4ベクトルと前記第1~第3ベクトルのいずれか1つとのなす角度とが第3規定角度範囲内であるという条件である、構成6に記載の制御システム(1)。
(構成8)
前記キャリブレーションパラメータは、前記第1座標系から前記第2座標系への並進、回転および拡大縮小の変換量を規定し、
前記補正部(46)は、補正前の前記キャリブレーションパラメータを用いたときの前記変換量と補正後の前記キャリブレーションパラメータを用いたときの前記変換量との偏差が規定値を超える場合、前記キャリブレーションパラメータを補正しない、構成1に記載の制御システム(1)。
前記キャリブレーションパラメータは、前記第1座標系から前記第2座標系への並進、回転および拡大縮小の変換量を規定し、
前記補正部(46)は、補正前の前記キャリブレーションパラメータを用いたときの前記変換量と補正後の前記キャリブレーションパラメータを用いたときの前記変換量との偏差が規定値を超える場合、前記キャリブレーションパラメータを補正しない、構成1に記載の制御システム(1)。
(構成9)
前記補正部(46)は、補正後の前記キャリブレーションパラメータを用いた前記フィードバック制御により前記位置決め処理を完了するのに要する時間が補正前の前記キャリブレーションパラメータを用いた前記フィードバック制御により前記位置決め処理を完了するのに要する時間よりも長い場合、前記キャリブレーションパラメータを補正前の状態に戻す、構成1に記載の制御システム(1)。
前記補正部(46)は、補正後の前記キャリブレーションパラメータを用いた前記フィードバック制御により前記位置決め処理を完了するのに要する時間が補正前の前記キャリブレーションパラメータを用いた前記フィードバック制御により前記位置決め処理を完了するのに要する時間よりも長い場合、前記キャリブレーションパラメータを補正前の状態に戻す、構成1に記載の制御システム(1)。
(構成10)
前記補正部(46)は、前記移動機構(10,20)からの位置関連情報に基づいて前記移動機構(10,20)の異常の有無を判定し、前記移動機構(10,20)に異常が無いと判定した場合に、前記キャリブレーションパラメータを補正し、前記移動機構(10,20)に異常が有ると判定した場合に、前記キャリブレーションパラメータを補正しない、構成1に記載の制御システム(1)。
前記補正部(46)は、前記移動機構(10,20)からの位置関連情報に基づいて前記移動機構(10,20)の異常の有無を判定し、前記移動機構(10,20)に異常が無いと判定した場合に、前記キャリブレーションパラメータを補正し、前記移動機構(10,20)に異常が有ると判定した場合に、前記キャリブレーションパラメータを補正しない、構成1に記載の制御システム(1)。
(構成11)
対象物(W)の位置決め処理を行なう制御システム(1)の制御方法であって、
前記制御システム(1)は、
前記対象物(W)を撮像し、前記対象物(W)の位置を計測するための視覚センサ(30)と、
前記対象物(W)を移動させるための移動機構(10,20)とを備え、
前記制御方法は、
前記視覚センサ(30)の第1座標系を前記移動機構(10,20)の第2座標系に変換するためのキャリブレーションパラメータを用いて、前記視覚センサ(30)によって計測された位置の座標変換を行なうステップと、
前記座標変換された位置が目標位置に近づくように前記移動機構(10,20)に対するフィードバック制御を行なうステップと、
前記位置決め処理を開始するときに前記視覚センサ(30)によって計測され、前記座標変換が行なわれた第1位置の座標と、前記位置決め処理を開始してから完了するまでの前記移動機構(10,20)の移動量を、前記位置決め処理を完了するときに前記視覚センサ(30)によって計測され、前記座標変換が行なわれた第2位置から差し引くことにより得られる第3位置の座標とを示すデータセットに基づいて、前記キャリブレーションパラメータを補正するステップとを備える、制御方法。
対象物(W)の位置決め処理を行なう制御システム(1)の制御方法であって、
前記制御システム(1)は、
前記対象物(W)を撮像し、前記対象物(W)の位置を計測するための視覚センサ(30)と、
前記対象物(W)を移動させるための移動機構(10,20)とを備え、
前記制御方法は、
前記視覚センサ(30)の第1座標系を前記移動機構(10,20)の第2座標系に変換するためのキャリブレーションパラメータを用いて、前記視覚センサ(30)によって計測された位置の座標変換を行なうステップと、
前記座標変換された位置が目標位置に近づくように前記移動機構(10,20)に対するフィードバック制御を行なうステップと、
前記位置決め処理を開始するときに前記視覚センサ(30)によって計測され、前記座標変換が行なわれた第1位置の座標と、前記位置決め処理を開始してから完了するまでの前記移動機構(10,20)の移動量を、前記位置決め処理を完了するときに前記視覚センサ(30)によって計測され、前記座標変換が行なわれた第2位置から差し引くことにより得られる第3位置の座標とを示すデータセットに基づいて、前記キャリブレーションパラメータを補正するステップとを備える、制御方法。
(構成12)
対象物(W)の位置決め処理を行なう制御システム(1)における制御方法をコンピュータに実行させるためのプログラムであって、
前記制御システム(1)は、
前記対象物(W)を撮像し、前記対象物(W)の位置を計測するための視覚センサ(30)と、
前記対象物(W)を移動させるための移動機構(10,20)とを備え、
前記制御方法は、
前記視覚センサ(30)の第1座標系を前記移動機構(10,20)の第2座標系に変換するためのキャリブレーションパラメータを用いて、前記視覚センサ(30)によって計測された位置の座標変換を行なうステップと、
前記座標変換された位置が目標位置に近づくように前記移動機構(10,20)に対するフィードバック制御を行なうステップと、
前記位置決め処理を開始するときに前記視覚センサ(30)によって計測され、前記座標変換が行なわれた第1位置の座標と、前記位置決め処理を開始してから完了するまでの前記移動機構(10,20)の移動量を、前記位置決め処理を完了するときに前記視覚センサ(30)によって計測され、前記座標変換が行なわれた第2位置から差し引くことにより得られる第3位置の座標とを示すデータセットに基づいて、前記キャリブレーションパラメータを補正するステップとを備える、プログラム。
対象物(W)の位置決め処理を行なう制御システム(1)における制御方法をコンピュータに実行させるためのプログラムであって、
前記制御システム(1)は、
前記対象物(W)を撮像し、前記対象物(W)の位置を計測するための視覚センサ(30)と、
前記対象物(W)を移動させるための移動機構(10,20)とを備え、
前記制御方法は、
前記視覚センサ(30)の第1座標系を前記移動機構(10,20)の第2座標系に変換するためのキャリブレーションパラメータを用いて、前記視覚センサ(30)によって計測された位置の座標変換を行なうステップと、
前記座標変換された位置が目標位置に近づくように前記移動機構(10,20)に対するフィードバック制御を行なうステップと、
前記位置決め処理を開始するときに前記視覚センサ(30)によって計測され、前記座標変換が行なわれた第1位置の座標と、前記位置決め処理を開始してから完了するまでの前記移動機構(10,20)の移動量を、前記位置決め処理を完了するときに前記視覚センサ(30)によって計測され、前記座標変換が行なわれた第2位置から差し引くことにより得られる第3位置の座標とを示すデータセットに基づいて、前記キャリブレーションパラメータを補正するステップとを備える、プログラム。
今回開示された各実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組合せても、実施することが意図される。
1 制御システム、10 ステージ装置、11 Xステージ、12,14,16 サーボモータ、13 Yステージ、15 θステージ、20,22,24,26 サーボドライバ、30 視覚センサ、31 撮像部、32 画像処理部、40 コントローラ、41 座標変換部、42 フィードバック制御部、43 位置決定部、44 減算部、45 PID演算部、46 補正部、50,51 記録媒体、50m,50n,60m,60n マーク、70 表示部、310,412 プロセッサ、312 RAM、314 表示コントローラ、316 システムコントローラ、318 I/Oコントローラ、320 ハードディスク、322 カメラインターフェイス、324 入力インターフェイス、326 コントローラインターフェイス、328,417 通信インターフェイス、330,416 メモリカードインターフェイス、334 キーボード、410 主制御ユニット、411 チップセット、413 不揮発性メモリ、414 主メモリ、415 システムクロック、418 内部バスコントローラ、419 内部バス、422,424,426 サーボユニット、430 制御プログラム、481 バッファメモリ、482 制御回路、483 内部バス制御回路、W 対象ワーク、W0 基準ワーク。
Claims (12)
- 対象物の位置決め処理を行なう制御システムであって、
前記対象物を撮像して、前記対象物の位置を計測するための視覚センサと、
前記対象物を移動させるための移動機構と、
前記視覚センサの第1座標系を前記移動機構の第2座標系に変換するためのキャリブレーションパラメータを用いて、前記視覚センサによって計測された位置の座標変換を行なう座標変換部と、
前記座標変換部によって座標変換された位置が目標位置に近づくように前記移動機構に対するフィードバック制御を行なうためのフィードバック制御部と、
前記位置決め処理を開始するときに前記視覚センサによって計測され、前記座標変換部により座標変換された第1位置の座標と、前記位置決め処理を開始してから完了するまでの前記移動機構の移動量を、前記位置決め処理を完了するときに前記視覚センサによって計測され、前記座標変換部により座標変換された第2位置から差し引くことにより得られる第3位置の座標とを示すデータセットに基づいて、前記キャリブレーションパラメータを補正するための補正部とを備える、制御システム。 - 前記補正部は、前記第1位置を前記第3位置に変換するための変換パラメータを前記キャリブレーションパラメータに乗ずることにより、前記キャリブレーションパラメータを補正する、請求項1に記載の制御システム。
- 前記補正部は、前記第1位置を前記第1位置と前記第3位置とを結ぶ線分上の第4位置に変換するための変換パラメータを前記キャリブレーションパラメータに乗ずることにより、前記キャリブレーションパラメータを補正する、請求項1に記載の制御システム。
- 前記キャリブレーションパラメータは、前記第1座標系と前記第2座標系との間の回転および倍率の変換量を規定する第1~第4パラメータを含み、
前記補正部は、少なくとも4回の前記位置決め処理からそれぞれ得られる少なくとも4つのデータセットを用いて、前記第1~第4パラメータを補正する、請求項1から3のいずれか1項に記載の制御システム。 - 前記少なくとも4つのデータセットは、第1~第4データセットを含み、
前記第1データセットに対応する前記第1位置から前記第3位置への第1ベクトルと、前記第2データセットに対応する前記第1位置から前記第3位置への第2ベクトルと、前記第3データセットに対応する前記第1位置から前記第3位置への第3ベクトルと、前記第4データセットに対応する前記第1位置から前記第3位置への第4ベクトルとから選択される2つのベクトルは一次独立である、請求項4に記載の制御システム。 - 前記補正部は、前記第1~第4データセットをこの順に取得する取得処理を実行し、前記第1データセットを取得してから前記第4データセットを取得するまでの時間が規定時間内である場合に、当該第1~第4データセットに基づいて前記キャリブレーションパラメータを補正し、前記第1データセットを取得してから前記第4データセットを取得するまでの時間が前記規定時間を超える場合に、当該第1~第4データセットを破棄して、再度前記取得処理を行なう、請求項5に記載の制御システム。
- 前記第1~第4ベクトルは、第1条件および第2条件を満たし、
前記第1条件は、前記第1~第4ベクトルの長さが規定長さ以上であるという条件であり、
前記第2条件は、前記第2ベクトルと前記第1ベクトルとのなす角度が第1規定角度範囲内であり、前記第3ベクトルと前記第1ベクトルまたは前記第2ベクトルとのなす角度が第2規定角度範囲内であり、前記第4ベクトルと前記第1~第3ベクトルのいずれか1つとのなす角度とが第3規定角度範囲内であるという条件である、請求項6に記載の制御システム。 - 前記キャリブレーションパラメータは、前記第1座標系から前記第2座標系への並進、回転および拡大縮小の変換量を規定し、
前記補正部は、補正前の前記キャリブレーションパラメータを用いたときの前記変換量と補正後の前記キャリブレーションパラメータを用いたときの前記変換量との偏差が規定値を超える場合、前記キャリブレーションパラメータを補正しない、請求項1に記載の制御システム。 - 前記補正部は、補正後の前記キャリブレーションパラメータを用いた前記フィードバック制御により前記位置決め処理を完了するのに要する時間が補正前の前記キャリブレーションパラメータを用いた前記フィードバック制御により前記位置決め処理を完了するのに要する時間よりも長い場合、前記キャリブレーションパラメータを補正前の状態に戻す、請求項1に記載の制御システム。
- 前記補正部は、前記移動機構からの位置関連情報に基づいて前記移動機構の異常の有無を判定し、前記移動機構に異常が無いと判定した場合に、前記キャリブレーションパラメータを補正し、前記移動機構に異常が有ると判定した場合に、前記キャリブレーションパラメータを補正しない、請求項1に記載の制御システム。
- 対象物の位置決め処理を行なう制御システムの制御方法であって、
前記制御システムは、
前記対象物を撮像して、前記対象物の位置を計測するための視覚センサと、
前記対象物を移動させるための移動機構とを備え、
前記制御方法は、
前記視覚センサの第1座標系を前記移動機構の第2座標系に変換するためのキャリブレーションパラメータを用いて、前記視覚センサによって計測された位置の座標変換を行なうステップと、
前記座標変換された位置が目標位置に近づくように前記移動機構に対するフィードバック制御を行なうステップと、
前記位置決め処理を開始するときに前記視覚センサによって計測され、前記座標変換が行なわれた第1位置の座標と、前記位置決め処理を開始してから完了するまでの前記移動機構の移動量を、前記位置決め処理を完了するときに前記視覚センサによって計測され、前記座標変換が行なわれた第2位置から差し引くことにより得られる第3位置の座標とを示すデータセットに基づいて、前記キャリブレーションパラメータを補正するステップとを備える、制御方法。 - 対象物の位置決め処理を行なう制御システムにおける制御方法をコンピュータに実行させるためのプログラムであって、
前記制御システムは、
前記対象物を撮像して、前記対象物の位置を計測するための視覚センサと、
前記対象物を移動させるための移動機構とを備え、
前記制御方法は、
前記視覚センサの第1座標系を前記移動機構の第2座標系に変換するためのキャリブレーションパラメータを用いて、前記視覚センサによって計測された位置の座標変換を行なうステップと、
前記座標変換された位置が目標位置に近づくように前記移動機構に対するフィードバック制御を行なうステップと、
前記位置決め処理を開始するときに前記視覚センサによって計測され、前記座標変換が行なわれた第1位置の座標と、前記位置決め処理を開始してから完了するまでの前記移動機構の移動量を、前記位置決め処理を完了するときに前記視覚センサによって計測され、前記座標変換が行なわれた第2位置から差し引くことにより得られる第3位置の座標とを示すデータセットに基づいて、前記キャリブレーションパラメータを補正するステップとを備える、プログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018084394A JP6813000B2 (ja) | 2018-04-25 | 2018-04-25 | 制御システム、制御方法およびプログラム |
JP2018-084394 | 2018-04-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019208074A1 true WO2019208074A1 (ja) | 2019-10-31 |
Family
ID=68295176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/013198 WO2019208074A1 (ja) | 2018-04-25 | 2019-03-27 | 制御システム、制御方法およびプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6813000B2 (ja) |
WO (1) | WO2019208074A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7470521B2 (ja) | 2020-02-17 | 2024-04-18 | 株式会社Ihiエアロスペース | パラメータ取得装置とパラメータ取得方法 |
CN111768441A (zh) * | 2020-06-29 | 2020-10-13 | 广东省航空航天装备技术研究所 | 监测柱状物体行进过程的方法、系统及计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010239408A (ja) * | 2009-03-31 | 2010-10-21 | Aisin Seiki Co Ltd | 車載カメラの校正装置 |
JP2011238097A (ja) * | 2010-05-12 | 2011-11-24 | I-Deal Co Ltd | 位置決め装置のキャリブレーション方法、位置決め装置、およびこれらのためのコンピュータプログラム |
JP2015174171A (ja) * | 2014-03-14 | 2015-10-05 | オムロン株式会社 | ロボット制御装置 |
-
2018
- 2018-04-25 JP JP2018084394A patent/JP6813000B2/ja active Active
-
2019
- 2019-03-27 WO PCT/JP2019/013198 patent/WO2019208074A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010239408A (ja) * | 2009-03-31 | 2010-10-21 | Aisin Seiki Co Ltd | 車載カメラの校正装置 |
JP2011238097A (ja) * | 2010-05-12 | 2011-11-24 | I-Deal Co Ltd | 位置決め装置のキャリブレーション方法、位置決め装置、およびこれらのためのコンピュータプログラム |
JP2015174171A (ja) * | 2014-03-14 | 2015-10-05 | オムロン株式会社 | ロボット制御装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2019191003A (ja) | 2019-10-31 |
JP6813000B2 (ja) | 2021-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6167622B2 (ja) | 制御システムおよび制御方法 | |
JP7326911B2 (ja) | 制御システムおよび制御方法 | |
JP6298026B2 (ja) | 多関節ロボットのたわみを計測するたわみ計測システム | |
JP6331517B2 (ja) | 画像処理装置、システム、画像処理方法、および画像処理プログラム | |
JP2020078859A (ja) | ロボット装置 | |
JP7078894B2 (ja) | 制御システム、制御装置、画像処理装置およびプログラム | |
WO2019208074A1 (ja) | 制御システム、制御方法およびプログラム | |
JP7143643B2 (ja) | 位置決めシステム、監視装置、監視方法およびプログラム | |
CN109531604B (zh) | 进行校准的机器人控制装置、测量系统以及校准方法 | |
JP7078895B2 (ja) | 制御システム、制御装置、画像処理装置およびプログラム | |
TWI772731B (zh) | 控制裝置及控制方法 | |
JP6410411B2 (ja) | パターンマッチング装置及びパターンマッチング方法 | |
JP6950631B2 (ja) | 位置決めシステム、制御方法およびプログラム | |
JP2020134242A (ja) | 計測方法、計測装置、およびプログラム | |
JP7003454B2 (ja) | 制御装置、位置制御システム、位置制御方法、および、位置制御プログラム | |
JP7059968B2 (ja) | 制御装置および位置合わせ装置 | |
JP7172151B2 (ja) | 制御システム、制御装置およびプログラム | |
WO2019202944A1 (ja) | 制御システム、制御方法およびプログラム | |
JPH0882505A (ja) | カメラパラメーターのキャリブレーション方法および物体の位置計測方法 | |
JP7215308B2 (ja) | 材料試験機、及び材料試験機の制御方法 | |
JP7450195B2 (ja) | 位置分析装置及び方法、並びにカメラシステム | |
JP3028789B2 (ja) | 認識分解能計測方法、およびボンディング装置 | |
CN115496813A (zh) | 相机动态标定方法、装置、计算设备及存储介质 | |
JPH08237541A (ja) | カメラぶれ補正機能付き画像処理装置 | |
CN115265598A (zh) | 用于标定惯性测量单元的方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19792703 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19792703 Country of ref document: EP Kind code of ref document: A1 |