(57)【要約】【課題】キャリブレーションの繰り返しによる制御システムの稼働率の低下を抑制する。【解決手段】補正部は、位置決め処理を開始するときに視覚センサによって計測され、座標変換部により座標変換された第１位置の座標と、位置決め処理を開始してから完了するまでの移動機構の移動量を、位置決め処理を完了するときに視覚センサによって計測され、座標変換部により座標変換された第２位置から差し引くことにより得られる第３位置の座標とを示すデータセットに基づいて、キャリブレーションパラメータを補正する。【選択図】図２
2019191003.tif 000002
【特許請求の範囲】
【請求項１】
対象物の位置決め処理を行なう制御システムであって、
前記対象物を撮像して、前記対象物の位置を計測するための視覚センサと、
前記対象物を移動させるための移動機構と、
前記視覚センサの第１座標系を前記移動機構の第２座標系に変換するためのキャリブレーションパラメータを用いて、前記視覚センサによって計測された位置の座標変換を行なう座標変換部と、
前記座標変換部によって座標変換された位置が目標位置に近づくように前記移動機構に対するフィードバック制御を行なうためのフィードバック制御部と、
前記位置決め処理を開始するときに前記視覚センサによって計測され、前記座標変換部により座標変換された第１位置の座標と、前記位置決め処理を開始してから完了するまでの前記移動機構の移動量を、前記位置決め処理を完了するときに前記視覚センサによって計測され、前記座標変換部により座標変換された第２位置から差し引くことにより得られる第３位置の座標とを示すデータセットに基づいて、前記キャリブレーションパラメータを補正するための補正部とを備える、制御システム。
【請求項２】
前記補正部は、前記第１位置を前記第３位置に変換するための変換パラメータを前記キャリブレーションパラメータに乗ずることにより、前記キャリブレーションパラメータを補正する、請求項１に記載の制御システム。
【請求項３】
前記補正部は、前記第１位置を前記第１位置と前記第３位置とを結ぶ線分上の第４位置に変換するための変換パラメータを前記キャリブレーションパラメータに乗ずることにより、前記キャリブレーションパラメータを補正する、請求項１に記載の制御システム。
【請求項４】
前記キャリブレーションパラメータは、前記第１座標系と前記第２座標系との間の回転および倍率の変換量を規定する第１〜第４パラメータを含み、
前記補正部は、少なくとも４回の前記位置決め処理からそれぞれ得られる少なくとも４つのデータセットを用いて、前記第１〜第４パラメータを補正する、請求項１から３のいずれか１項に記載の制御システム。
【請求項５】
前記少なくとも４つのデータセットは、第１〜第４データセットを含み、
前記第１データセットに対応する前記第１位置から前記第３位置への第１ベクトルと、前記第２データセットに対応する前記第１位置から前記第３位置への第２ベクトルと、前記第３データセットに対応する前記第１位置から前記第３位置への第３ベクトルと、前記第４データセットに対応する前記第１位置から前記第３位置への第４ベクトルとから選択される２つのベクトルは一次独立である、請求項４に記載の制御システム。
【請求項６】
前記補正部は、前記第１〜第４データセットをこの順に取得する取得処理を実行し、前記第１データセットを取得してから前記第４データセットを取得するまでの時間が規定時間内である場合に、当該第１〜第４データセットに基づいて前記キャリブレーションパラメータを補正し、前記第１データセットを取得してから前記第４データセットを取得するまでの時間が前記規定時間を超える場合に、当該第１〜第４データセットを破棄して、再度前記取得処理を行なう、請求項５に記載の制御システム。
【請求項７】
前記第１〜第４ベクトルは、第１条件および第２条件を満たし、
前記第１条件は、前記第１〜第４ベクトルの長さが規定長さ以上であるという条件であり、
前記第２条件は、前記第２ベクトルと前記第１ベクトルとのなす角度が第１規定角度範囲内であり、前記第３ベクトルと前記第１ベクトルまたは前記第２ベクトルとのなす角度が第２規定角度範囲内であり、前記第４ベクトルと前記第１〜第３ベクトルのいずれか１つとのなす角度とが第３規定角度範囲内であるという条件である、請求項６に記載の制御システム。
【請求項８】
前記キャリブレーションパラメータは、前記第１座標系から前記第２座標系への並進、回転および拡大縮小の変換量を規定し、
前記補正部は、補正前の前記キャリブレーションパラメータを用いたときの前記変換量と補正後の前記キャリブレーションパラメータを用いたときの前記変換量との偏差が規定値を超える場合、前記キャリブレーションパラメータを補正しない、請求項１に記載の制御システム。
【請求項９】
前記補正部は、補正後の前記キャリブレーションパラメータを用いた前記フィードバック制御により前記位置決め処理を完了するのに要する時間が補正前の前記キャリブレーションパラメータを用いた前記フィードバック制御により前記位置決め処理を完了するのに要する時間よりも長い場合、前記キャリブレーションパラメータを補正前の状態に戻す、請求項１に記載の制御システム。
【請求項１０】
前記補正部は、前記移動機構からの位置関連情報に基づいて前記移動機構の異常の有無を判定し、前記移動機構に異常が無いと判定した場合に、前記キャリブレーションパラメータを補正し、前記移動機構に異常が有ると判定した場合に、前記キャリブレーションパラメータを補正しない、請求項１に記載の制御システム。
【請求項１１】
対象物の位置決め処理を行なう制御システムの制御方法であって、
前記制御システムは、
前記対象物を撮像して、前記対象物の位置を計測するための視覚センサと、
前記対象物を移動させるための移動機構とを備え、
前記制御方法は、
前記視覚センサの第１座標系を前記移動機構の第２座標系に変換するためのキャリブレーションパラメータを用いて、前記視覚センサによって計測された位置の座標変換を行なうステップと、
前記座標変換された位置が目標位置に近づくように前記移動機構に対するフィードバック制御を行なうステップと、
前記位置決め処理を開始するときに前記視覚センサによって計測され、前記座標変換が行なわれた第１位置の座標と、前記位置決め処理を開始してから完了するまでの前記移動機構の移動量を、前記位置決め処理を完了するときに前記視覚センサによって計測され、前記座標変換が行なわれた第２位置から差し引くことにより得られる第３位置の座標とを示すデータセットに基づいて、前記キャリブレーションパラメータを補正するステップとを備える、制御方法。
【請求項１２】
対象物の位置決め処理を行なう制御システムにおける制御方法をコンピュータに実行させるためのプログラムであって、
前記制御システムは、
前記対象物を撮像して、前記対象物の位置を計測するための視覚センサと、
前記対象物を移動させるための移動機構とを備え、
前記制御方法は、
前記視覚センサの第１座標系を前記移動機構の第２座標系に変換するためのキャリブレーションパラメータを用いて、前記視覚センサによって計測された位置の座標変換を行なうステップと、
前記座標変換された位置が目標位置に近づくように前記移動機構に対するフィードバック制御を行なうステップと、
前記位置決め処理を開始するときに前記視覚センサによって計測され、前記座標変換が行なわれた第１位置の座標と、前記位置決め処理を開始してから完了するまでの前記移動機構の移動量を、前記位置決め処理を完了するときに前記視覚センサによって計測され、前記座標変換が行なわれた第２位置から差し引くことにより得られる第３位置の座標とを示すデータセットに基づいて、前記キャリブレーションパラメータを補正するステップとを備える、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、視覚センサを用いた制御システム、制御方法およびプログラムに関する。
【背景技術】
【０００２】
ＦＡ（ファクトリー  オートメーション）において、対象物の位置を目標位置に合わせる技術（位置決め技術）が各種実用化されている。この際、対象物の位置と目標位置との偏差（距離）を計測する方法として、視覚センサによって撮像された画像を用いる方法がある。当該方法では、視覚センサの座標系と対象物を移動させる移動機構の座標系とを対応付ける処理であるキャリブレーションが行なわれる。
【０００３】
特開２００３−５０１０６号公報（特許文献１）には、以下のステップ（ａ）〜（ｅ）を行なうことによりキャリブレーションパラメータを決定する技術が開示されている。ステップ（ａ）は、テーブル又は撮像部を移動させ、テーブルと撮像部との位置関係を算出する。ステップ（ｂ）は、テーブル又は撮像部を移動させ、テーブルとテーブルの所定部分との位置関係を算出する。ステップ（ｃ）は、テーブル又は撮像部を移動させ、補正量を求めてテーブルとテーブルの所定部分との位置関係を補正する。ステップ（ｄ）は、テーブル又は撮像部を移動させ、テーブルと撮像部との位置関係を再算出する。ステップ（ｅ）は、ステップ（ｃ）において求められた補正量が所定の値以下となるまで、ステップ（ｃ）及びステップ（ｄ）を繰り返す。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−５０１０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
キャリブレーションは、装置の立ち上げ段階に行なわれる。しかしながら、機械の経年変化に伴って、視覚センサの座標系を移動機構の座標系に精度良く変換することができなくなる。このような場合、再度キャリブレーションを行なう必要がある。特定のキャリブレーション動作によって行なわれる従来のキャリブレーション方法を用いて再度キャリブレーションを行なう場合、対象物の位置決め処理を一旦停止する必要がある。そのため、位置決め処理を行なうシステムの稼働率が低下する。
【０００６】
本発明は、上記の問題を鑑みてなされたものであり、その目的は、キャリブレーションの繰り返しによる稼働率の低下が抑制可能な制御システム、制御方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００７】
本開示の一例によれば、対象物の位置決め処理を行なう制御システムは、対象物を撮像して、対象物の位置を計測するための視覚センサと、対象物を移動させるための移動機構と、座標変換部と、フィードバック制御部と、補正部とを備える。座標変換部は、視覚センサの第１座標系を移動機構の第２座標系に変換するためのキャリブレーションパラメータを用いて、視覚センサによって計測された位置の座標変換を行なう。フィードバック制御部は、座標変換部によって座標変換された位置が目標位置に近づくように移動機構に対するフィードバック制御を行なう。補正部は、位置決め処理を開始するときに視覚センサによって計測され、座標変換部により座標変換された第１位置の座標と、位置決め処理を開始してから完了するまでの移動機構の移動量を、位置決め処理を完了するときに視覚センサによって計測され、座標変換部により座標変換された第２位置から差し引くことにより得られる第３位置の座標とを示すデータセットに基づいて、キャリブレーションパラメータを補正する。
【０００８】
この開示によれば、補正部によって補正されたキャリブレーションパラメータを用いることにより、第１座標系から第２座標系に精度良く座標変換することができ、位置決めの精度を高めることができる。さらに、第１位置の座標，第２位置の座標、および、位置決め処理を開始してから完了するまでの移動機構の移動量は、通常の対象物の位置決め処理から得られる。そのため、キャリブレーションパラメータの補正のために、対象部の位置決め処理を停止する必要がない。その結果、キャリブレーションによる稼働率の低下を抑制できる。
【０００９】
上記の開示において、補正部は、第１位置を第３位置に変換するための変換パラメータをキャリブレーションパラメータに乗ずることにより、キャリブレーションパラメータを補正する。
【００１０】
この開示によれば、第１位置と第３位置との偏差を補償するためのキャリブレーションパラメータの補正を容易に実行できる。
【００１１】
上記の開示において、補正部は、第１位置を第１位置と第３位置とを結ぶ線分上の第４位置に変換するための変換パラメータをキャリブレーションパラメータに乗ずることにより、キャリブレーションパラメータを補正する。キャリブレーションパラメータが大きく変化するとは、制御システムに悪影響を及ぼす可能性がある。しかしながら、この開示によれば、キャリブレーションパラメータは、一回で大きく変化しない。その結果、制御システムに悪影響を抑制できる。
【００１２】
上記の開示において、キャリブレーションパラメータは、第１座標系と第２座標系との間の回転および倍率の変換量を規定する第１〜第４パラメータを含む。補正部は、少なくとも４回の位置決め処理からそれぞれ得られる少なくとも４つのデータセットを用いて、第１〜第４パラメータを補正する。この開示によれば、回転および倍率の変換量を規定する第１〜第４パラメータを容易に補正することができる。
【００１３】
上記の開示において、少なくとも４つのデータセットは、第１〜第４データセットを含む。第１データセットに対応する第１位置から第３位置への第１ベクトルと、第２データセットに対応する第１位置から第３位置への第２ベクトルと、第３データセットに対応する第１位置から第３位置への第３ベクトルと、第４データセットに対応する第１位置から第３位置への第４ベクトルとから選択される２つのベクトルは一次独立である。
【００１４】
この開示によれば、補正部は、第１〜第４データセットを用いることにより、第１〜第４パラメータの補正量を容易に算出することができる。
【００１５】
上記の開示において、補正部は、第１〜第４データセットをこの順に取得する取得処理を実行し、第１データセットを取得してから第４データセットを取得するまでの時間が規定時間内である場合に、当該第１〜第４データセットに基づいてキャリブレーションパラメータを補正し、第１データセットを取得してから第４データセットを取得するまでの時間が規定時間を超える場合に、当該第１〜第４データセットを破棄して、再度取得処理を行なう。
【００１６】
この開示によれば、規定時間内に計測された第１〜第４データセットを取得できる。その結果、第１〜第４データセットが取得されたときの移動機構の状態は、略同一である。これにより、補正部は、現状の移動機構の状態に応じた、キャリブレーションパラメータの補正を行なうことができる。
【００１７】
上記の開示において、第１〜第４ベクトルは、第１条件および第２条件を満たす。第１条件は、第１〜第４ベクトルの長さが規定長さ以上であるという条件である。第２条件は、第２ベクトルと第１ベクトルとのなす角度が第１規定角度範囲内であり、第３ベクトルと第１ベクトルまたは第２ベクトルとのなす角度が第２規定角度範囲内であり、第４ベクトルと第１〜第３ベクトルのいずれか１つとのなす角度とが第３規定角度範囲内であるという条件である。この開示によれば、第１〜第４パラメータの補正量の演算誤差を抑制できる。
【００１８】
上記の開示において、キャリブレーションパラメータは、第１座標系から第２座標系への並進、回転および拡大縮小の変換量を規定する。補正部は、補正前のキャリブレーションパラメータを用いたときの変換量と補正後のキャリブレーションパラメータを用いたときの変換量との偏差が規定値を超える場合、キャリブレーションパラメータを補正しない。この開示によれば、キャリブレーションパラメータによる変換量を大きく変更することに伴う、移動機構への悪影響を抑制できる。
【００１９】
上記の開示において、補正部は、補正後のキャリブレーションパラメータを用いたフィードバック制御により位置決め処理を完了するのに要する時間が補正前のキャリブレーションパラメータを用いたフィードバック制御により位置決め処理を完了するのに要する時間よりも長い場合、キャリブレーションパラメータを補正前の状態に戻す。この開示によれば、キャリブレーションパラメータの補正が不適切であった場合、キャリブレーションパラメータを補正前の状態に戻すことができる。
【００２０】
上記の開示において、補正部は、移動機構からの位置関連情報に基づいて移動機構の異常の有無を判定し、移動機構に異常が無いと判定した場合に、キャリブレーションパラメータを補正し、移動機構に異常が有ると判定した場合に、キャリブレーションパラメータを補正しない。
【００２１】
移動機構に異常が生じている状態においてキャリブレーションパラメータが補正されると、移動機構にストレスが加わり、移動機構が故障する可能性がある。しかしながら、この開示によれば、移動機構に異常が生じている状態においてキャリブレーションパラメータが補正されない。そのため、移動機構の故障の発生を抑制できる。
【００２２】
本開示の一例によれば、対象物の位置決め処理を行なう制御システムは、対象物を撮像して、対象物の位置を計測するための視覚センサと、対象物を移動させるための移動機構とを備える。制御システムの制御方法は、第１〜第３ステップとを備える。第１ステップは、視覚センサの第１座標系を移動機構の第２座標系に変換するためのキャリブレーションパラメータを用いて、視覚センサによって計測された位置の座標変換を行なうステップである。第２ステップは、座標変換された視覚センサによって計測された位置が目標位置に近づくように移動機構に対するフィードバック制御を行なう。第３ステップは、位置決め処理を開始するときに視覚センサによって計測され、前記座標変換が行なわれた第１位置の座標と、位置決め処理を開始してから完了するまでの移動機構の移動量を、位置決め処理を完了するときに視覚センサによって計測され、前記座標変換が行なわれた第２位置から差し引くことにより得られる第３位置の座標とを示すデータセットに基づいて、キャリブレーションパラメータを補正する。この開示によっても、キャリブレーションの繰り返しによる稼働率の低下を抑制できる。
【００２３】
本開示の一例によれば、対象物の制御システムにおける制御方法をコンピュータに実行させるためのプログラムは、上記の第１〜第３のステップをコンピュータに実行させる。この開示によっても、キャリブレーションの繰り返しによる稼働率の低下を抑制できる。
【発明の効果】
【００２４】
本発明によれば、キャリブレーションの繰り返しによる稼働率の低下を抑制できる。
【図面の簡単な説明】
【００２５】
【図１】本実施の形態に係る制御システムの概要を示す模式図である。
【図２】位置決め処理を開始するときの計測位置Ｐｍ１，位置決め処理を完了するときの計測位置Ｐｍ２、および、位置決め処理を開始してから完了するまでのステージ装置の移動量の関係を示す図である。
【図３】本実施の形態に係る制御システムを構成するステージ装置の一例を示す斜視図である。
【図４】本実施の形態に係る制御システムを構成する画像処理部３２のハードウェア構成を示す模式図である。
【図５】本実施の形態に係る制御システムを構成するコントローラのハードウェア構成を示す模式図である。
【図６】カメラ座標系から機械座標系への並進変換および拡大縮小変換を示す図である。
【図７】カメラ座標系から機械座標系への回転変換を示す図である。
【図８】キャリブレーションパラメータの補正の概要を示す図である。
【図９】ステージ装置の移動に伴う計測位置Ｐｍ１の移動を示す図である。
【図１０】位置決め処理を開始してから完了するまでのステージ装置の移動量を示す図である。
【図１１】第１〜第４ベクトルの一例を示す図である。
【図１２】計測位置Ｐｍ１，Ｐｎ１，Ｐｍ２，Ｐｎ２と、位置Ｐｍ３，Ｐｎ３と、重心位置Ｐｇ１，Ｐｇ３との一例を示す図である。
【図１３】重心位置Ｐｇ１に対する計測位置Ｐｍ１の相対位置と、重心位置Ｐｇ３に対する位置Ｐｍ３の相対位置との関係を示す図である。
【図１４】コントローラの位置決め処理の流れの一例を示すフローチャートである。
【図１５】図１４に示す推定位置決定処理のサブルーチンの処理内容を示すフローチャートである。
【図１６】図１５に示す撮像時エンコーダ値の推定処理のサブルーチンの処理内容を示すフローチャートである。
【図１７】キャリブレーションパラメータの補正処理の流れの一例を示すフローチャートである。
【図１８】図１７に示す４つのデータセットの取得処理のサブルーチンの処理内容を示すフローチャートである。
【図１９】計測位置Ｐｍ１，Ｐｍ２と位置Ｐｍ３，Ｐｍ７との関係を示す図である。
【図２０】変形例１に係る補正部の処理の全体の流れを示すフローチャートである。
【発明を実施するための形態】
【００２６】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２７】
§１  適用例
図１を参照して、本発明が適用される場面の一例について説明する。図１は、本実施の形態に係る制御システムの概要を示す模式図である。図１に示す制御システム１は、画像処理を用いて対象物（以下、「対象ワークＷ」という）の位置決めを行う。位置決めは、典型的には、工業製品の製造過程などにおいて、対象ワークＷを生産ラインの本来の位置に配置する処理などを意味する。たとえば、制御システム１は、液晶パネルの生産ラインにおいて、ガラス基板に回路パターンの焼付処理（露光処理）前に、露光マスクに対するガラス基板の位置決めを行なう。
【００２８】
図１に示すように、制御システム１は、ステージ装置１０と、サーボドライバ２０と、視覚センサ３０と、コントローラ４０とを備える。
【００２９】
ステージ装置１０は、載置される対象ワークＷを移動する。ステージ装置１０は、サーボドライバ２０からの動作制御を受けて動作する。
【００３０】
サーボドライバ２０は、制御周期Ｔｃごとに受ける移動指令ＭＶに従って、ステージ装置１０の動作制御を行う。サーボドライバ２０は、ステージ装置１０に含まれるサーボモータのエンコーダ値ＥＮを取得して、コントローラ４０に出力する。この際、サーボドライバ２０は、制御周期Ｔｃと同じ周期で、エンコーダ値ＥＮをコントローラ４０に出力する。
【００３１】
ステージ装置１０およびサーボドライバ２０は、対象ワークＷを移動させるための移動機構を構成する。
【００３２】
視覚センサ３０は、ステージ装置１０上に載置された対象ワークＷと目標点とを含む領域を撮像する。視覚センサ３０は、撮像により得られた画像に対する処理を行なうことにより、対象ワークＷ上の特定点の位置（以下、「計測位置ＰＶｖ」という）と目標点の位置（以下、「目標位置ＳＰ」という）とを計測する。特定点は、たとえば対象ワークＷに印されたマーク、対象ワークＷのコーナーなどである。目標点は、たとえば、固定された基準ワークＷ０に印されたマークまたはコーナーの位置である。目標点と視覚センサ３０との相対位置は一定である。そのため、ステージ装置１０が対象ワークＷを移動させたとしても、視覚センサ３０が撮像した画像において、目標位置ＳＰは一定である。
【００３３】
視覚センサ３０は、撮像部３１と画像処理部３２とを含む。撮像部３１は、撮像視野に存在する被写体を撮像して画像データを生成する撮像処理を行なうものであり、対象ワークＷを撮像する。撮像部３１は、たとえばカメラである。撮像部３１は、撮像周期Ｔｐごとに撮像を行なう。撮像周期Ｔｐは制御周期Ｔｃよりも長い。画像処理部３２は、撮像部３１により生成された画像データに対して画像解析を行ない、計測位置ＰＶｖおよび目標位置ＳＰを計測する。
【００３４】
コントローラ４０は、たとえばＰＬＣ（プログラマブル  ロジック  コントローラ）であり、各種のＦＡ制御を行なう。コントローラ４０は、座標変換部４１と、フィードバック制御部４２と、補正部４６とを備える。
【００３５】
視覚センサ３０から出力される計測位置ＰＶｖは、視覚センサ３０の座標系（以下、「カメラ座標系」という）で示される。サーボドライバ２０は、ステージ装置１０の座標系（以下、「機械座標系」という）で示される移動指令ＭＶに従って、ステージ装置１０の動作制御を行なう。そのため、座標変換部４１は、カメラ座標系を機械座標系に変換するためのキャリブレーションパラメータを用いて、視覚センサ３０によって計測された計測位置ＰＶｖおよび目標位置ＳＰの座標変換を行なう。
【００３６】
フィードバック制御部４２は、座標変換された計測位置ＰＶｖが目標位置ＳＰに近づくようにサーボドライバ２０に対してフィードバック制御を行なう。具体的には、フィードバック制御部４２は、制御周期Ｔｃごとに、計測位置ＰＶｖを目標位置ＳＰに近づけるための移動指令ＭＶを更新してサーボドライバ２０に出力する。
【００３７】
補正部４６は、キャリブレーションパラメータの値を補正する。補正部４６は、予め定められたタイミングあるいは指定されたタイミングで、キャリブレーションパラメータの値を補正する。たとえば、補正部４６は、定期的にキャリブレーションパラメータの値を補正してもよいし、位置決め処理の時間が規定時間を超える場合にキャリブレーションパラメータの値を補正してもよい。
【００３８】
補正部４６は、ある対象ワークＷの位置決め処理を開始するときの計測位置Ｐｍ１と、当該位置決め処理を完了するときの計測位置Ｐｍ２と、当該位置決め処理を開始してから完了するまでのステージ装置１０の移動量とを用いて、キャリブレーションパラメータの値を補正する。計測位置Ｐｍ１は、当該位置決め処理を開始するときに視覚センサ３０によって計測された対象ワークＷ上の特定点の計測位置ＰＶｖである。計測位置Ｐｍ２は、当該位置決め処理を完了するときに視覚センサ３０によって計測された対象ワークＷ上の特定点の計測位置ＰＶｖである。
【００３９】
図２は、位置決め処理を開始するときの計測位置Ｐｍ１，位置決め処理を完了するときの計測位置Ｐｍ２、および、位置決め処理を開始してから完了するまでのステージ装置１０の移動量の関係を示す図である。図２には、ステージ装置１０が対象ワークＷをＸＹ平面に沿って移動する場合の、計測位置Ｐｍ１，Ｐｍ２およびステージ装置１０の移動量の例が示される。図２には、機械座標系における計測位置Ｐｍ１，Ｐｍ２および移動量が示される。
【００４０】
計測位置Ｐｍ１の機械座標は（Ｘｍ＿ａ，Ｙｍ＿ａ）であり、計測位置Ｐｍ２の機械座標は（Ｘｍ＿ｂ，Ｙｍ＿ｂ）である。上述したように、視覚センサ３０から出力される計測位置ＰＶｖはカメラ座標系で示される。そのため、計測位置Ｐｍ１のカメラ座標をキャリブレーションパラメータを用いて変換することにより、計測位置Ｐｍ１の機械座標を得ることができる。同様に、計測位置Ｐｍ２のカメラ座標をキャリブレーションパラメータを用いて変換することにより、計測位置Ｐｍ２の機械座標を得ることができる。
【００４１】
Ｘｍ＿ｃは、位置決め処理を開始してから完了するまでのステージ装置１０のＸ軸方向の移動量を示す。Ｙｍ＿ｃは、位置決め処理を開始してから完了するまでのステージ装置１０のＹ軸方向の移動量を示す。
【００４２】
視覚センサ３０によって撮像された画像から計測された計測位置ＰＶｖと目標位置ＳＰとが一致するように、ステージ装置１０がフィードバック制御されるため、位置決め処理が完了するときには、計測位置ＰＶｖ（つまり、計測位置Ｐｍ２）と目標位置ＳＰとが略一致している。
【００４３】
キャリブレーションパラメータが正確である場合、位置決め処理を開始してから完了するまでのステージ装置１０の移動量は、位置決め処理を開始するときの計測位置Ｐｍ１から位置決め処理を完了するときの計測位置Ｐｍ２までの偏差と一致する。しかしながら、ステージ装置１０の経年変化によりキャリブレーションパラメータが正確ではない場合、位置決め処理を開始してから完了するまでのステージ装置１０の移動量は、計測位置Ｐｍ１から計測位置Ｐｍ２までの偏差と一致しない。すなわち、図２に示されるように、計測位置Ｐｍ２からステージ装置１０の移動量を差し引いた位置Ｐｍ３は、計測位置Ｐｍ１からずれる。
【００４４】
補正部４６は、計測位置Ｐｍ１と位置Ｐｍ３との偏差を補償するために、計測位置Ｐｍ１の座標と位置Ｐｍ３の座標とを含むデータセットを取得し、当該データセットに基づいてキャリブレーションパラメータを補正する。
【００４５】
本実施の形態によれば、補正部４６によって補正されたキャリブレーションパラメータを用いることにより、カメラ座標系から機械座標系に精度良く座標変換することができ、位置決めの精度を高めることができる。さらに、位置決め処理を開始するときの計測位置Ｐｍ１，位置決め処理を完了するときの計測位置Ｐｍ２、および、位置決め処理を開始してから完了するまでのステージ装置１０の移動量は、通常の対象ワークＷの位置決め処理から得られる。そのため、キャリブレーションパラメータの補正のために、対象ワークＷの位置決め処理を停止する必要がない。その結果、キャリブレーションの繰り返しによる稼働率の低下を抑制できる。
【００４６】
§２  具体例
次に、本実施の形態に係る制御システムの一例について説明する。
【００４７】
＜２−１．ステージおよびモータ＞
図３は、本実施の形態に係る制御システムを構成するステージ装置の一例を示す斜視図である。図３に示す例では、ステージ装置１０は、Ｘステージ１１と、Ｙステージ１３と、θステージ１５と、サーボモータ１２，１４，１６とを含む。Ｘステージ１１は、サーボモータ１２の駆動によりＸ方向に沿って移動する。Ｙステージ１３は、サーボモータ１４の駆動によりＹ方向に沿って移動する。θステージ１５は、サーボモータ１６の駆動によりθ方向に回転する。
【００４８】
サーボモータ１２，１４，１６の各々にはエンコーダが設けられる。エンコーダは、対応するモータの回転位置を検出し、検出結果であるエンコーダ値ＥＮを出力する。
【００４９】
θステージ１５の上に対象ワークＷが載置される。撮像部３１は、対象ワークＷと、定位置に固定された基準ワークＷ０とを撮像する。基準ワークＷ０は、透光性を有する素材で構成される。そのため、視覚センサ３０は、対象ワークＷの特定点であるマーク５０ｍ，５０ｎと、基準ワークＷ０の特定点であるマーク６０ｍ、６０ｎとを同時に撮像できる。画像処理部３２は、マーク５０ｍの計測位置ＰＶｖ（以下、「計測位置Ｐｍ」という）と、マーク５０ｎの計測位置ＰＶｖ（以下、「計測位置Ｐｎ」という）を出力する。さらに、画像処理部３２は、マーク６０ｍの位置（以下、「目標位置ＳＰｍ」という）、マーク６０ｎの位置（以下、「目標位置ＳＰｎ」という）を出力する。
【００５０】
＜２−２．画像処理部のハードウェア構成＞
図４は、本実施の形態に係る制御システム１を構成する画像処理部３２のハードウェア構成を示す模式図である。画像処理部３２は、典型的には、汎用的なコンピュータアーキテクチャに従う構造を有しており、予めインストールされたプログラムをプロセッサが実行することで、後述するような各種の画像処理を実現する。
【００５１】
より具体的には、画像処理部３２は、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro-Processing Unit）などのプロセッサ３１０と、ＲＡＭ（Random Access Memory）３１２と、表示コントローラ３１４と、システムコントローラ３１６と、Ｉ／Ｏ（Input Output）コントローラ３１８と、ハードディスク３２０と、カメラインターフェイス３２２と、入力インターフェイス３２４と、コントローラインターフェイス３２６と、通信インターフェイス３２８と、メモリカードインターフェイス３３０とを含む。これらの各部は、システムコントローラ３１６を中心として、互いにデータ通信可能に接続される。
【００５２】
プロセッサ３１０は、システムコントローラ３１６との間でプログラム（コード）などを交換して、これらを所定順序で実行することで、目的の演算処理を実現する。
【００５３】
システムコントローラ３１６は、プロセッサ３１０、ＲＡＭ３１２、表示コントローラ３１４、およびＩ／Ｏコントローラ３１８とそれぞれバスを介して接続されており、各部との間でデータ交換などを行うとともに、画像処理部３２全体の処理を司る。
【００５４】
ＲＡＭ３１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）などの揮発性の記憶装置であり、ハードディスク３２０から読み出されたプログラムや、撮像部３１によって撮像された画像（画像データ）、画像に対する処理結果、およびワークデータなどを保持する。画像に対する処理結果には、当該画像を撮像する際の露光開始時刻および露光終了時刻と、計測位置ＰＶｖとが含まれる。
【００５５】
表示コントローラ３１４は、表示部７０と接続されており、システムコントローラ３１６からの内部コマンドに従って、各種の情報を表示するための信号を表示部７０へ出力する。
【００５６】
Ｉ／Ｏコントローラ３１８は、画像処理部３２に接続される記録媒体や外部機器との間のデータ交換を制御する。より具体的には、Ｉ／Ｏコントローラ３１８は、ハードディスク３２０と、カメラインターフェイス３２２と、入力インターフェイス３２４と、コントローラインターフェイス３２６と、通信インターフェイス３２８と、メモリカードインターフェイス３３０と接続される。
【００５７】
ハードディスク３２０は、典型的には、不揮発性の磁気記憶装置であり、プロセッサ３１０で実行されるプログラムに加えて、各種設定値などが格納される。
【００５８】
カメラインターフェイス３２２は、対象ワークＷを撮影することで生成された画像データを受付ける入力部に相当し、プロセッサ３１０と撮像部３１との間のデータ伝送を仲介する。カメラインターフェイス３２２は、撮像部３１からの画像データをそれぞれ一時的に蓄積するための画像バッファを含む。
【００５９】
入力インターフェイス３２４は、プロセッサ３１０とキーボード３３４、マウス、タッチパネル、専用コンソールなどの入力装置との間のデータ伝送を仲介する。
【００６０】
コントローラインターフェイス３２６は、プロセッサ３１０とコントローラ４０との間のデータ伝送を仲介する。
【００６１】
通信インターフェイス３２８は、プロセッサ３１０と図示しない他のパーソナルコンピュータやサーバ装置などとの間のデータ伝送を仲介する。通信インターフェイス３２８は、典型的には、イーサネット（登録商標）やＵＳＢ（Universal Serial Bus）などからなる。
【００６２】
メモリカードインターフェイス３３０は、プロセッサ３１０と記録媒体５０との間のデータ伝送を仲介する。
【００６３】
＜２−３．コントローラのハードウェア構成＞
図５は、本実施の形態に係る制御システムを構成するコントローラのハードウェア構成を示す模式図である。図５に示されるように、コントローラ４０は、主制御ユニット４１０と、複数のサーボユニット４２２，４２４，４２６とを含む。本実施の形態に係るコントローラ４０は、ステージ装置１０に含まれるサーボモータ１２，１４，１６と同数のサーボユニット４２２，４２４，４２６を含む。
【００６４】
主制御ユニット４１０は、コントローラ４０の全体制御を司る。主制御ユニット４１０は、内部バス４１９を介して、サーボユニット４２２，４２４，４２６と接続されており、互いにデータを遣り取りする。サーボユニット４２２，４２４，４２６は、主制御ユニット４１０からの内部指令などに従って、サーボドライバ２２，２４，２６に対して制御コマンド（典型的には、駆動パルスなど）をそれぞれ出力する。サーボドライバ２２，２４，２６は、接続されているサーボモータ１２，１４，１６をそれぞれ駆動するドライバである。
【００６５】
主制御ユニット４１０は、チップセット４１１と、プロセッサ４１２と、不揮発性メモリ４１３と、主メモリ４１４と、システムクロック４１５と、メモリカードインターフェイス４１６と、通信インターフェイス４１７と、内部バスコントローラ４１８とを含む。チップセット４１１と他のコンポーネントとの間は、各種のバスを介してそれぞれ結合されている。
【００６６】
プロセッサ４１２およびチップセット４１１は、典型的には、汎用的なコンピュータアーキテクチャに従う構成を有している。すなわち、プロセッサ４１２は、チップセット４１１から内部クロックに従って順次供給される命令コードを解釈して実行する。チップセット４１１は、接続されている各種コンポーネントとの間で内部的なデータを遣り取りするとともに、プロセッサ４１２に必要な命令コードを生成する。システムクロック４１５は、予め定められた周期のシステムクロックを発生してプロセッサ４１２に提供する。チップセット４１１は、プロセッサ４１２での演算処理の実行の結果得られたデータなどをキャッシュする。
【００６７】
主制御ユニット４１０は、記憶手段として、不揮発性メモリ４１３および主メモリ４１４を有する。不揮発性メモリ４１３は、ＯＳ、プロセッサ４１２で実行される制御プログラム４３０に加えて、データ定義情報、ログ情報などを不揮発的に保持する。制御プログラム４３０は、記録媒体５１などに格納された状態で流通する。主メモリ４１４は、揮発性の記憶領域であり、プロセッサ４１２で実行されるべき各種プログラムを保持するとともに、各種プログラムの実行時の作業用メモリとしても使用される。
【００６８】
主制御ユニット４１０は、通信手段として、通信インターフェイス４１７および内部バスコントローラ４１８を有する。これらの通信回路は、データの送信および受信を行う。通信インターフェイス４１７は、視覚センサ３０との間でデータを遣り取りする。通信インターフェイス４１７は、視覚センサ３０から、画像を撮像する際の露光開始時刻および露光終了時刻と、計測位置ＰＶｖとを受信する。内部バスコントローラ４１８は、内部バス４１９を介したデータの遣り取りを制御する。内部バスコントローラ４１８は、サーボドライバ２２，２４，２６からエンコーダ値ＥＮを受信する。内部バスコントローラ４１８は、バッファメモリ４８１と、ＤＭＡ（Dynamic Memory Access）制御回路４８２と、内部バス制御回路４８３とを含む。
【００６９】
メモリカードインターフェイス４１６は、主制御ユニット４１０に対して着脱可能な記録媒体５１とプロセッサ４１２とを接続する。記録媒体５１は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的または化学的作用によって蓄積する媒体である。記録媒体５１には、コントローラ４０で実行される制御プログラム４３０などが格納された状態で流通し、メモリカードインターフェイス４１６は、記録媒体５１から制御プログラムを読み出す。記録媒体５１は、ＳＤ（Secure Digital）などの汎用的な半導体記憶デバイスや、フレキシブルディスク（Flexible Disk）などの磁気記録媒体や、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記録媒体等からなる。あるいは、通信インターフェイス４１７を介して、配信サーバなどからダウンロードしたプログラムをコントローラ４０にインストールしてもよい。
【００７０】
＜２−４．座標変換部＞
座標変換部４１は、視覚センサ３０から出力される計測位置ＰＶｖ（Ｐｍ，Ｐｎ）の座標をカメラ座標系から機械座標系に変換する。座標変換部４１は、たとえばアフィン変換を用いて座標変換を行なう。
【００７１】
図６は、カメラ座標系から機械座標系への並進変換および拡大縮小変換を示す図である。図７は、カメラ座標系から機械座標系への回転変換を示す図である。図６および図７に示されるように、座標変換部４１は、カメラ座標系を並進、回転および拡大縮小することにより、カメラ座標系を機械座標系に変換する。
【００７２】
カメラ座標系の座標をｑ＝ｔ［ｘ，ｙ］、機械座標系の座標をＱ＝ｔ［Ｘ，Ｙ］とする。ｔは転置行列を示す。このとき、アフィン変換Ｆａは、以下の式（１）で示される。
【００７３】
【数１】
2019191003.tif 000003
【００７４】
式（１）において、パラメータＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆは、カメラ座標系を機械座標系に変換するためのキャリブレーションパラメータである。パラメータＡ，Ｂ，Ｄ，Ｅは、カメラ座標系から機械座標系への回転および拡大縮小の変換量を規定する。パラメータＣ，Ｆは、カメラ座標系から機械座標系への並進の変換量を規定する。
【００７５】
＜２−５．フィードバック制御部＞
フィードバック制御部４２は、計測位置ＰＶｖが目標位置ＳＰに近づくようにサーボドライバ２０に対してフィードバック制御を行なう。具体的には、フィードバック制御部４２は、マーク５０ｍ（図３参照）の計測位置Ｐｍが目標位置ＳＰｍ（マーク６０ｍの位置）に近づくとともに、マーク５０ｎ（図３参照）の計測位置Ｐｎが目標位置ＳＰｎ（マーク６０ｎの位置）に近づくようにサーボドライバ２０に対してフィードバック制御を行なう。ただし、計測位置ＰＶｖ（Ｐｍ，Ｐｎ）は、制御周期Ｔｃよりも長い撮像周期Ｔｐごとに視覚センサ３０から出力される。さらに、視覚センサ３０の応答は、一般に遅い。そのため、視覚センサ３０から得られた計測位置ＰＶｖ（Ｐｍ，Ｐｎ）のみを用いてフィードバック制御が行なわれると、オーバシュートや振動が生じやすくなるため、フィードバック制御のゲインをあまり強くできない。そのため、フィードバック制御部４２は、計測位置ＰＶｖとステージ装置１０からのエンコーダ値ＥＮとを用いて、対象ワークＷの推定位置ＰＶを決定する。具体的には、フィードバック制御部４２は、計測位置Ｐｍとエンコーダ値ＥＮとを用いて、対象ワークＷのマーク５０ｍの推定位置ＰＶｍを決定する。同様に、フィードバック制御部４２は、計測位置Ｐｎとエンコーダ値ＥＮとを用いて、対象ワークＷのマーク５０ｎの推定位置ＰＶｎを決定する。
【００７６】
図１に示されるように、フィードバック制御部４２は、たとえば、位置決定部４３と、減算部４４と、ＰＩＤ演算部４５とを含む。
【００７７】
位置決定部４３は、視覚センサ３０によって撮像周期Ｔｐごとに計測された計測位置ＰＶｖ（Ｐｍ，Ｐｎ）と制御周期Ｔｃと同じ周期ごとに出力されるエンコーダ値ＥＮとに基づいて、制御周期Ｔｃごとに対象ワークＷの推定位置ＰＶ（ＰＶｍ，ＰＶｎ）を決定する。推定位置ＰＶ（ＰＶｍ，ＰＶｎ）は、機械座標系で示される。推定位置ＰＶ（ＰＶｍ，ＰＶｎ）の決定方法の詳細については、後述する動作例において説明する。
【００７８】
減算部４４は、推定位置ＰＶｍと目標位置ＳＰｍとの偏差と、推定位置ＰＶｎと目標位置ＳＰｎとの偏差とを出力する。目標位置ＳＰｍ，ＳＰｎの機械座標は、視覚センサ３０によって計測された目標位置ＳＰｍ，ＳＰｎのカメラ座標をキャリブレーションパラメータによって座標変換することによりそれぞれ得られる。
【００７９】
ＰＩＤ演算部４５は、推定位置ＰＶｍと目標位置ＳＰｍとの偏差と、推定位置ＰＶｎと目標位置ＳＰｎとの偏差とが０に収束するようにＰＩＤ演算を行ない、制御周期Ｔｃごとに移動指令ＭＶを算出する。移動指令ＭＶは、サーボドライバ２２，２４，２６ごとに算出される。ＰＩＤ演算部４５は、算出した移動指令ＭＶを対応するサーボドライバに出力する。移動指令ＭＶは、たとえば位置指令または速度指令である。
【００８０】
フィードバック制御部４２は、上位装置から位置決め処理の開始指示を受けると、フィードバック制御を開始する。フィードバック制御部４２は、推定位置ＰＶｍと目標位置ＳＰｍとの偏差および推定位置ＰＶｎと目標位置ＳＰｎとの偏差が閾値Ｔｈ１未満になると、フィードバック制御を終了する。これにより、位置決め処理が完了する。
【００８１】
＜２−６．補正部＞
＜２−６−１．補正の概要＞
図８は、キャリブレーションパラメータの補正の概要を示す図である。図８（ａ）にはカメラ座標系が示される。図８（ｂ）には、図８（ａ）に示すカメラ座標を、不正確なアフィン変換Ｆａを用いて座標変換することにより得られる機械座標を示す。図８（ｃ）には、図８（ｂ）の実線の座標を補正用のアフィン変換Ｆａ’を用いて座標変換することにより得られる正常な機械座標が示される。なお、図８（ｂ）の点線は、正常な機械座標を示す。図８（ｃ）の点線は、図８（ｂ）の実線と同じ座標を示す。
【００８２】
不正確なアフィン変換Ｆａを用いてカメラ座標ｑ＝ｔ［ｘ，ｙ］を座標変換することにより得られる機械座標をＱ＝ｔ［Ｘ，Ｙ］とする。さらに、カメラ座標ｑ＝ｔ［ｘ，ｙ］に対応する正常な機械座標をＱ’＝ｔ［Ｘ’，Ｙ’］とする。Ｑ’は、Ｑに対して以下の式（２）で示されるアフィン変換Ｆａ’を用いて並進、回転および拡大縮小を行なうことにより得られる。
【００８３】
【数２】
2019191003.tif 000004
【００８４】
アフィン変換Ｆａ’を特定することができれば、以下の式（３）で示されるように、カメラ座標ｑ＝ｔ［ｘ，ｙ］を正常な機械座標Ｑ’＝ｔ［Ｘ’，Ｙ’］に変換するためのアフィン変換Ｆａ”が得られる。
【００８５】
【数３】
2019191003.tif 000005
【００８６】
そのため、補正部４６は、アフィン変換Ｆａ’を特定し、不正確なアフィン変換ＦａのパラメータＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆの値を補正する。具体的には、補正部４６は、不正確なアフィン変換Ｆａを用いて変換された機械座標Ｑ＝ｔ［Ｘ，Ｙ］を正常な機械座標Ｑ’＝ｔ［Ｘ’，Ｙ’］に変換するためのアフィン変換Ｆａ’のパラメータＡ’，Ｂ’，Ｃ’，Ｄ’，Ｅ’，Ｆ’の値を特定する。補正部４６は、アフィン変換ＦａのパラメータＡの値をＡ’Ａ＋Ｂ’Ｄの値に補正する。補正部４６は、アフィン変換ＦａのパラメータＢの値をＡ’Ｂ＋Ｂ’Ｅの値に補正する。補正部４６は、アフィン変換ＦａのパラメータＣの値をＡ’Ｃ＋Ｂ’Ｆ＋Ｃ’の値に補正する。補正部４６は、アフィン変換ＦａのパラメータＤの値をＤ’Ａ＋Ｅ’Ｄの値に補正する。補正部４６は、アフィン変換ＦａのパラメータＥの値をＤ’Ｂ＋Ｅ’Ｅの値に補正する。補正部４６は、アフィン変換ＦａのパラメータＦの値をＤ’Ｃ＋Ｅ’Ｆ＋Ｆ’の値に補正する。これにより、補正後のアフィン変換Ｆａを用いて変換された機械座標と正常な機械座標との誤差を小さくすることができる。
【００８７】
＜２−６−２．変換量のずれの定量化＞
補正部４６は、視覚センサ３０による計測位置Ｐｍ１，Ｐｍ２と、ステージ装置１０の実際の移動量とに基づいて、並進の変換量、回転の変換量および拡大縮小の変換量（倍率）のずれを定量化する。
【００８８】
上述したように、視覚センサ３０の計測位置ＰＶｖ（Ｐｍ，Ｐｎ）が目標位置ＳＰ（ＳＰｍ，ＳＰｎ）に近づくようにフィードバック制御が行なわれる。そのため、位置決め処理の完了時には、キャリブレーションパラメータの厳密さによらず、計測位置ＰＶｖ（Ｐｍ，Ｐｎ）と目標位置ＳＰ（ＳＰｍ，ＳＰｎ）との距離が最小化される。したがって、補正部４６は、位置決め処理を完了するときの計測位置Ｐｍ２を基準とし、計測位置Ｐｍ２からステージ装置１０の移動量を差し引いた位置Ｐｍ３を特定する。補正部４６は、特定した位置Ｐｍ３と、位置決め処理を開始するときに視覚センサ３０によって計測された計測位置Ｐｍ１との偏差を、カメラ座標系から機械座標系への座標変換における変換量のずれ量として決定する。
【００８９】
図９は、ステージ装置の移動に伴う計測位置Ｐｍ１の移動を示す図である。図９において、位置決め処理を開始してから完了するまでのＸステージ移動量，Ｙステージ移動量およびθステージ移動量をそれぞれｄＸｒ，ｄＹｒおよびｄθｒとしている。さらに、点ＰＲａは、位置決め処理を開始するときのθステージ１５の回転中心を示す。点ＰＲｂは、点ＰＲａをＸ軸方向にｄＸｒ、Ｙ軸方向にｄＹｒだけ並進させた点である。計測位置Ｐｍ１の機械座標（Ｘｍ＿ａ，Ｙｍ＿ａ）は、計測位置Ｐｍ１のカメラ座標を現状のキャリブレーションパラメータを用いて座標変換することにより得られる。
【００９０】
計測位置Ｐｍ１（Ｘｍ＿ａ，Ｙｍ＿ａ）は、θステージ１５（図３参照）の移動により点Ｐｍ５に移動する。点Ｐｍ５の座標（Ｘｍ＿ｄ，Ｙｍ＿ｄ）は、以下の式（４）で示される。
【００９１】
【数４】
2019191003.tif 000006
【００９２】
点Ｐｍ５は、Ｘステージ１１およびＹステージ１３（図３参照）の移動により点Ｐｍ６に移動する。点Ｐｍ５から点Ｐｍ６への移動量は、点ＰＲａから点ＰＲｂへの移動量と同一である。そのため、点Ｐｍ６の座標（Ｘｍ＿ｅ，Ｙｍ＿ｅ）は、以下の式（５）で示される。
【００９３】
【数５】
2019191003.tif 000007
【００９４】
図１０は、位置決め処理を開始してから完了するまでのステージ装置１０の移動量を示す図である。図１０には、計測位置Ｐｍ１（Ｘｍ＿ａ，Ｙｍ＿ａ）から点Ｐｍ６までのＸ軸方向の移動量Ｘｍ＿ｃおよびＹ軸方向の移動量Ｙｍ＿ｃが示される。移動量（Ｘｍ＿ｃ，Ｙｍ＿ｃ）は、以下の式（６）で示される。
【００９５】
【数６】
2019191003.tif 000008
【００９６】
補正部４６は、位置決め処理を開始するときに視覚センサ３０が計測した計測位置Ｐｍ１の座標（Ｘｍ＿ａ，Ｙｍ＿ａ）と、位置決め処理を開始してから完了するまでのＸステージ移動量ｄＸｒ，Ｙステージ移動量ｄＹｒおよびθステージ移動量ｄθｒとを式（６）に代入する。座標（Ｘｍ＿ａ，Ｙｍ＿ａ）は、計測位置Ｐｍ１のカメラ座標をキャリブレーションパラメータを用いて座標変換することにより得られる機械座標である。これにより、補正部４６は、マーク５０ｍ（図３参照）に対応する位置における、位置決め処理を開始してから完了するまでのステージ装置１０の移動量（Ｘｍ＿ｃ，Ｙｍ＿ｃ）を算出する。同様にして、補正部４６は、マーク５０ｎに対応する位置における、位置決め処理を開始してから完了するまでのステージ装置１０の移動量（Ｘｎ＿ｃ，Ｙｎ＿ｃ）も算出する。
【００９７】
図２に示されるように、補正部４６は、計測位置Ｐｍ２の機械座標（Ｘｍ＿ｂ，Ｙｍ＿ｂ）から移動量（Ｘｍ＿ｃ，Ｙｍ＿ｃ）を差し引くことにより、位置Ｐｍ３の機械座標（Ｘｍ＿ｂ−Ｘｍ＿ｃ，Ｙｍ＿ｂ−Ｙｍ＿ｃ）を算出する。上述したように、計測位置Ｐｍ１と位置Ｐｍ３との偏差は、不正確なキャリブレーションパラメータを用いた座標変換における変換量のずれに起因している。そのため、補正部４６は、計測位置Ｐｍ１を位置Ｐｍ３に変換するためのアフィン変換Ｆａ’を求めることにより、パラメータＡ’，Ｂ’，Ｃ’，Ｄ’，Ｅ’，Ｆ’を特定できる。
【００９８】
＜２−６−３．補正方法＞
パラメータＡ’，Ｂ’，Ｄ’，Ｅ’は、回転の変換量および拡大縮小の変換量（倍率）のずれを補正するためのパラメータである。パラメータＣ’，Ｆ’は、並進の変換量のずれを補正するためのパラメータである。回転の中心位置がずれた場合、並進、回転および拡大縮小の変換量の補正精度が大きく変わる。そのため、補正部４６は、回転および拡大縮小の変換量のずれを補正するためのパラメータＡ’，Ｂ’，Ｄ’，Ｅ’を先に特定し、その後に並進の変換量のずれを補正するためのパラメータＣ’，Ｆ’を特定する。
【００９９】
先に４つのパラメータＡ’，Ｂ’，Ｄ’，Ｅ’を特定するために、並進の変換量のずれを補正するためのパラメータＣ’，Ｆ’の影響を除外する必要がある。そのため、補正部４６は、マーク５０ｍとマーク５０ｎとの重心位置に対する計測位置Ｐｍ１および位置Ｐｍ３の相対位置の座標を用いて、パラメータＡ’，Ｂ’，Ｄ’，Ｅ’を特定する。これにより、パラメータＣ’，Ｆ’の項を無視できる。
【０１００】
４つのパラメータＡ’，Ｂ’，Ｄ’，Ｅ’を特定するために、補正部４６は、計測位置Ｐｍ１と位置Ｐｍ３との座標を示す、少なくとも４つのデータセットを取得する。上述したように、パラメータＣ’，Ｆ’の影響を除外するために、マーク５０ｍとマーク５０ｎとの重心位置の座標も必要である。そのため、データセットには、位置決め処理を完了するときのマーク５０ｍ（図３参照）の計測位置Ｐｍ２、位置決め処理を開始するときのマーク５０ｎの計測位置Ｐｎ１、および位置決め処理を完了するときのマーク５０ｎの計測位置Ｐｎ２が含まれる。さらに、データセットには、マーク５０ｎに対応する位置における、位置決め処理を開始してから完了するまでのステージ装置１０の移動量（Ｘｎ＿ｃ，Ｙｎ＿ｃ）も含まれる。
【０１０１】
＜２−６−４．４つのデータセットの取得方法＞
補正部４６は、少なくとも４回の位置決め処理から少なくとも４つのデータセットをそれぞれ取得する。４つのパラメータＡ’，Ｂ’，Ｄ’，Ｅ’を求めるためには、少なくとも４つのデータセットは互いに異なる値を示す必要がある。具体的には、補正部４６は、以下の条件（１）および（２）を満たす第１〜第４データセットを含む少なくとも４つのデータセットを取得する。なお、第１データセットの計測位置Ｐｍ１から位置Ｐｍ３へのベクトルを第１ベクトルＭ０とする。第２データセットの計測位置Ｐｍ１から位置Ｐｍ３へのベクトルを第２ベクトルＭ１とする。第３データセットの計測位置Ｐｍ１から位置Ｐｍ３へのベクトルを第３ベクトルＭ２とする。第４データセットの計測位置Ｐｍ１から位置Ｐｍ３へのベクトルを第４ベクトルＭ３とする。
条件（１）：第１ベクトルＭ０、第２ベクトルＭ１、第３ベクトルＭ２および第４ベクトルＭ３の長さは、規定値以上である。
条件（２）：第１ベクトルＭ０、第２ベクトルＭ１、第３ベクトルＭ２および第４ベクトルＭ３から選択される任意の２つのベクトルは、互いに一次独立である。
【０１０２】
図１１は、第１〜第４ベクトルの一例を示す図である。図１１に示す例では、第２ベクトルＭ１と第１ベクトルＭ０とのなす角度が４５°であり、第３ベクトルＭ２と第１ベクトルＭ０とのなす角度が９０°であり、第４ベクトルＭ３と第１ベクトルＭ０とのなす角度が１３５°である。
【０１０３】
補正部４６は、キャリブレーションパラメータの補正の指示を受けると、フィードバック制御部４２によるフィードバック制御によって位置決め処理が行なわれるたびに、当該位置決め処理に対応するデータセットを生成する。補正部４６は、以下の式（７）を満たす最初のデータセットを、第１ベクトルＭ０に対応する第１データセットとして取得する。その後、補正部は、以下の式（７）および式（８）を満たす第２ベクトルＭ１に対応する第２データセット、以下の式（７）および式（９）を満たす第３ベクトルＭ２に対応する第３データセット、以下の式（７）および式（１０）を満たす第４ベクトルＭ３に対応する第４データセットを取得する。αは、０＜α＜１を満たす定数であり、２つのベクトルのなす角度の許容範囲を示す。α≪１のとき、許容範囲が小さい。
【０１０４】
【数７】
2019191003.tif 000009
【０１０５】
補正部４６は、上記式（７）〜（１０）を満たす第１〜第４データセットを取得する。これにより、第２ベクトルＭ１と第１ベクトルＭ０とのなす角度は、約４５°となる。第３ベクトルＭ２と第１ベクトルＭ０とのなす角度は、約９０°となる。第４ベクトルＭ３と第２ベクトルＭ１とのなす角度は、約９０°となる。
【０１０６】
＜２−６−５．パラメータＡ’，Ｂ’，Ｄ’，Ｅ’の特定＞
補正部４６は、マーク５０ｍとマーク５０ｎとの重心位置に対する計測位置Ｐｍ１と位置Ｐｍ３との相対位置の変化に基づいて、回転の変換量および拡大縮小の変換量（倍率）のずれを補正するためのパラメータＡ’，Ｂ’，Ｄ’，Ｅ’を特定する。
【０１０７】
補正部４６は、各データセットに含まれる計測位置Ｐｍ１と計測位置Ｐｎ１との中心位置の座標を、位置決め処理を開始するときのマーク５０ｍとマーク５０ｎとの重心位置Ｐｇ１の座標として算出する。
【０１０８】
補正部４６は、計測位置Ｐｎ２から、位置決め処理を開始してから完了するまでのステージ装置１０の移動量（Ｘｎ＿ｃ，Ｙｎ＿ｃ）を差し引いた位置Ｐｎ３の座標を算出する。補正部４６は、位置Ｐｍ３と位置Ｐｎ３との中心位置の座標を重心位置Ｐｇ３の座標として算出する。
【０１０９】
図１２は、計測位置Ｐｍ１，Ｐｎ１，Ｐｍ２，Ｐｎ２と、位置Ｐｍ３，Ｐｎ３と、重心位置Ｐｇ１，Ｐｇ３との一例を示す図である。図１２において、枠Ｗ１は、位置決め処理を開始するときに視覚センサ３０によって撮像された対象ワークＷの輪郭の位置を示している。枠Ｗ２は、位置決め処理を完了するときに視覚センサ３０によって撮像された対象ワークＷの輪郭の位置を示している。枠Ｗ３は、枠Ｗ２で示される対象ワークＷを、位置決め処理を開始してから完了するまでのステージ装置１０の移動量だけ戻した状態の対象ワークＷの輪郭の位置を示している。キャリブレーションパラメータが不正確である場合、枠Ｗ１と枠Ｗ３とにずれが生じる。
【０１１０】
回転の変換量および拡大縮小の変換量（倍率）のずれを補正するためのパラメータＡ’，Ｂ’，Ｄ’，Ｅ’を特定するために、補正部４６は、重心位置Ｐｇ１に対する計測位置Ｐｍ１の相対位置と、重心位置Ｐｇ３に対する位置Ｐｍ３の相対位置との座標を求める。
【０１１１】
図１３は、重心位置Ｐｇ１に対する計測位置Ｐｍ１の相対位置と、重心位置Ｐｇ３に対する位置Ｐｍ３の相対位置との関係を示す図である。図１３に示されるように、重心位置Ｐｇ１と重心位置Ｐｇ３とを合わせることにより、並進の変換量のずれが除去される。
【０１１２】
補正部４６は、計測位置Ｐｍ１の機械座標（Ｘｍ＿ａ，Ｙｍ＿ａ）と、重心位置Ｐｇ１の機械座標（Ｘｍ＿ｇ１，Ｙｍ＿ｇ１）とを用いて、重心位置Ｐｇ１に対する計測位置Ｐｍ１の相対座標（Ｘｍ＿ａ−Ｘｍ＿ｇ１，Ｙｍ＿ａ−Ｙｍ＿ｇ１）を算出する。補正部４６は、位置Ｐｍ３の機械座標（Ｘｍ＿ｂ−Ｘｍ＿ｃ，Ｙｍ＿ｂ−Ｙｍ＿ｃ）と、重心位置Ｐｇ３の機械座標（Ｘｍ＿ｇ３，Ｙｍ＿ｇ３）とを用いて、重心位置Ｐｇ３に対する位置Ｐｍ３の相対座標（Ｘｍ＿ｂ−Ｘｍ＿ｃ−Ｘｍ＿ｇ３，Ｙｍ＿ｂ−Ｙｍ＿ｃ−Ｙｍ＿ｇ３）を算出する。
【０１１３】
補正部４６は、４つのデータセットの各々から得られる、重心位置Ｐｇ１に対する計測位置Ｐｍ１の相対座標および重心位置Ｐｇ３に対する位置Ｐｍ３の相対座標を、以下の式（１１）のｔ［Ｘ，Ｙ］およびｔ［Ｘ’，Ｙ’］にそれぞれ代入する。これにより、補正部４６は、パラメータＡ’，Ｂ’，Ｄ’，Ｅ’を算出できる。
【０１１４】
【数８】
2019191003.tif 000010
【０１１５】
補正後のキャリブレーションパラメータの値を用いたときの回転および拡大縮小の変換量と、補正前のキャリブレーションパラメータの値を用いたときの回転および拡大縮小の変換量との偏差が過大である場合、ステージ装置１０の動作が急激に変化し、ステージ装置１０が故障する可能性がある。そのため、補正部４６は、当該偏差と閾値とを比較し、算出したパラメータＡ’，Ｂ’，Ｄ’，Ｅ’の適否を判定してもよい。
【０１１６】
カメラ座標系から機械座標系への並進の変換量を（ｄＸ，ｄＹ）とし、回転の変換量のｄθとし、Ｘ軸方向の拡大縮小の変換量（倍率）をａ、Ｙ軸方向の拡大縮小の変換量（倍率）をｂとするとき、式（１）で示されるパラメータＡ〜Ｆは以下のように示される。
Ａ＝ａ・ｃｏｓ（ｄθ）
Ｂ＝−ａ・ｓｉｎ（ｄθ）
Ｃ＝ｄＸ
Ｄ＝ｂ・ｓｉｎ（ｄθ）
Ｅ＝ｂ・ｃｏｓ（ｄθ）
Ｆ＝ｄＹ
ここで、回転および拡大縮小の変換量を規定するパラメータＡ，Ｂ，Ｄ，Ｅの行列式は、以下の式（１２）で示される。カメラ座標系から機械座標系へのＸ軸方向およびＹ軸方向の拡大縮小の変換量（倍率）は、視覚センサ３０の視野サイズと撮像部３１の撮像素子の画素数とで決定される。積ａｂは、視野サイズの面積倍率を示す。
【０１１７】
【数９】
2019191003.tif 000011
【０１１８】
一方、パラメータＡ’，Ｂ’，Ｄ’，Ｅ’を用いて補正されたキャリブレーションパラメータを用いたときの面積倍率は、上記の式（３）を参照して、以下の式（１３）で示される。
【０１１９】
【数１０】
2019191003.tif 000012
【０１２０】
式（１０）および式（１３）から、｜Ａ’Ｅ’−Ｂ’Ｄ’｜は、補正前の面積倍率に対する補正後の面積倍率の比率を示す。そのため、補正部４６は、｜Ａ’Ｅ’−Ｂ’Ｄ’｜を確認することにより、補正前の拡大縮小の変換量（倍率）から補正後の拡大縮小の変換量（倍率）が大きく乖離しているか否かを判定できる。
【０１２１】
補正前の回転の変換量と補正後の回転の変換量との偏差Δθは、以下の式（１４）によって示される。
【０１２２】
【数１１】
2019191003.tif 000013
【０１２３】
補正部４６は、パラメータＡ’，Ｂ’，Ｄ’，Ｅ’の値が以下の式（１５）を満たすとともに、式（１４）によって示されるΔθが以下の式（１６）を満たす場合に、パラメータＡ’，Ｂ’，Ｄ’，Ｅ’の値が適正であると判定する。
１−β≦｜Ａ’Ｅ’−Ｂ’Ｄ’｜≦１＋β  ・・・式（１５）
Δθ≦γ  ・・・式（１６）
βは、倍率の補正比率の上下限を規定するための閾値であり、０＜β＜１を満たす定数である。γは、補正前後の回転の変換量の偏差Δθの上限値を規定する閾値である。
【０１２４】
補正部４６は、算出したパラメータＡ’，Ｂ’，Ｄ’，Ｅ’の値が適正ではない場合、当該値のパラメータＡ’，Ｂ’，Ｄ’，Ｅ’を用いてキャリブレーションパラメータの補正を行なわない。補正部４６は、当該パラメータＡ’，Ｂ’，Ｄ’，Ｅ’の値を破棄し、再度データセットを取得して、新たなパラメータＡ’，Ｂ’，Ｄ’，Ｅ’の値を算出する。
【０１２５】
（２−６−６．パラメータＣ’，Ｆ’の特定）
上記のようにしてパラメータＡ’，Ｂ’，Ｄ’，Ｅ’が特定された後、補正部４６は、並進の変換量のずれを補正するためのパラメータＣ’，Ｆ’を特定する。補正部４６は、取得したデータセットで示される計測位置Ｐｍ１の座標および位置Ｐｍ３の座標を上記の式（２）のｔ［Ｘ，Ｙ］およびｔ［Ｘ’，Ｙ’］にそれぞれ代入することにより、パラメータＣ’，Ｆ’を算出する。４つのデータセットのうち任意に選択した２つのデータセットを用いることにより、パラメータＣ’，Ｆ’を算出できる。４つのデータセットから２つのデータセットの組を選択する方法は６通りである。そのため、補正部４６は、６つの組を用いて得られるパラメータＣ’の平均値を、補正に用いるパラメータＣ’の値として決定する。同様に、補正部４６は、６つの組を用いて得られるパラメータＦ’の平均値を、補正に用いるパラメータＦ’の値として決定する。
【０１２６】
補正後のキャリブレーションパラメータの値を用いたときの並進の変換量と、補正前のキャリブレーションパラメータの値を用いたときの並進の変換量との偏差が過大である場合、ステージ装置１０の挙動が急激に変化し、ステージ装置１０が故障する可能性がある。そのため、補正部４６は、当該偏差と閾値とを比較し、算出したパラメータＣ’，Ｆ’の適否を判定してもよい。
【０１２７】
たとえば、補正部４６は、算出したパラメータＣ’の値が以下の式（１７）を満たし、かつ、算出したパラメータＦ’の値が以下の式（１８）を満たす場合に、パラメータＣ’，Ｆ’の値が適正であると判定する。
−δｘ≦Ｃ’≦δｘ  ・・・式（１７）
−δｙ≦Ｆ’≦δｙ  ・・・式（１８）
δｘ，δｙは、それぞれＸ軸方向およびＹ軸方向の並進の変換量の補正の上下限を規定するための閾値である。
【０１２８】
補正部４６は、算出したパラメータＣ’，Ｆ’の値が適正ではない場合、当該値のパラメータＣ’，Ｆ’を用いてキャリブレーションパラメータの補正を行なわない。補正部４６は、当該パラメータＡ’〜Ｆ’の値を破棄し、再度データセットを取得して、パラメータＡ’〜Ｆ’の新たな値を算出する。
【０１２９】
§３  動作例
＜３−１．コントローラの位置決め処理の流れ＞
図１４を参照して、コントローラ４０の位置決め処理の流れの一例について説明する。図１４は、コントローラ４０の位置決め処理の流れの一例を示すフローチャートである。
【０１３０】
まず、コントローラ４０は、推定位置ＰＶおよびエンコーダ値ＥＮを初期化する（ステップＳ１）。次に、視覚センサ３０は、撮像周期Ｔｐごとの計測位置ＰＶｖの計測処理を開始する（ステップＳ２）。視覚センサ３０からの計測位置ＰＶｖおよびサーボドライバ２２，２４，２６の各々からのエンコーダ値ＥＮの出力が開始されると、位置決定部４３は、推定位置ＰＶ（ＰＶｍ、ＰＶｎ）を決定する（ステップＳ３）。推定位置ＰＶ（ＰＶｍ、ＰＶｎ）の決定処理の詳細については後述する。
【０１３１】
次に、ＰＩＤ演算部４５は、推定位置ＰＶ（ＰＶｍ、ＰＶｎ）と目標位置ＳＰ（ＳＰｍ、ＳＰｎ）とに基づいて移動指令ＭＶを生成する（ステップＳ４）。具体的には、ＰＩＤ演算部４５は、推定位置ＰＶｍを目標位置ＳＰｍに近づけ、かつ、推定位置ＰＶｎを目標位置ＳＰｎに近づけるための移動指令ＭＶを算出し、サーボドライバ２２，２４，２６に出力する。
【０１３２】
フィードバック制御部４２は、推定位置ＰＶｍと目標位置ＳＰｍとの偏差および推定位置ＰＶｎと目標位置ＳＰｎとの偏差と閾値Ｔｈ１とを比較し、両方の偏差が閾値Ｔｈ１未満であるか否かを判定する（ステップＳ５）。両方の偏差が閾値Ｔｈ１未満ではない場合（ステップＳ５でＮＯ）、処理はステップＳ３に戻される。これにより、ステップＳ３およびステップＳ４が繰り返し実行される。その結果、フィードバック制御により移動指令ＭＶが更新され、推定位置ＰＶｍを目標位置ＳＰｍに近づけ、かつ、推定位置ＰＶｎを目標位置ＳＰｎに近づけるためのステージ装置１０の動作が継続される。ステップＳ３およびステップＳ４は、制御周期Ｔｃごとに実行される。
【０１３３】
両方の偏差が閾値Ｔｈ１未満である場合（ステップＳ５でＹＥＳ）、フィードバック制御部４２は、フィードバック制御を停止する。これにより、位置決め処理が完了する（ステップＳ６）。
【０１３４】
位置決め処理が完了すると、位置決めされた対象ワークＷに対して所定の処理が実行される。たとえば、ガラス基板である対象ワークＷに回路パターンの焼付処理（露光処理）前に、露光マスクに対する対象ワークＷの位置決めを行なう場合、コントローラ４０は、焼付処理を行なう装置を駆動制御する。
【０１３５】
位置決め処理を開始するときに視覚センサ３０から出力された計測位置ＰＶｖ（計測位置Ｐｍ１，Ｐｎ１）と、位置決め処理を完了するときに視覚センサ３０から出力された計測位置ＰＶｖ（計測位置Ｐｍ２，Ｐｎ２）とは、コントローラ４０の主メモリ４１４等に記憶される。計測位置Ｐｍ１，Ｐｎ１は、位置決め処理の開始直後に視覚センサ３０から出力される計測位置ＰＶｖである。計測位置Ｐｍ２，Ｐｎ２は、ステップＳ５でＹＥＳと判定された直前に視覚センサ３０から出力された計測位置ＰＶｖであってもよいし、ステップＳ５でＹＥＳと判定された直前に視覚センサ３０から出力された計測位置ＰＶｖであってもよい。
【０１３６】
さらに、位置決め処理を開始してから完了するまでにステージ装置１０のサーボモータ１２，１４，１６に設置されたエンコーダから出力されるエンコーダ値ＥＮもコントローラ４０の主メモリ４１４等に記憶される。当該エンコーダ値ＥＮを解析することにより、位置決め処理を開始してから完了するまでの間のＸステージ１１の移動量、Ｙステージ１３の移動量およびθステージ１５の移動量が算出される。
【０１３７】
＜３−２．推定位置の決定処理＞
位置決定部４３は、たとえば図１５のフローチャートに示すような処理を行うことで、推定位置ＰＶ（ＰＶｍ，ＰＶｎ）を算出する。図１５は、図１４に示す推定位置決定処理のサブルーチンの処理内容を示すフローチャートである。なお、推定位置ＰＶｍの決定方法は推定位置ＰＶｎの決定方法と同一である。そのため、以下では、推定位置ＰＶｍと推定位置ＰＶｎとを区別せず、推定位置ＰＶｍと推定位置ＰＶｎとの両者を推定位置Ｐｖとして説明する。
【０１３８】
座標変換部４１は、視覚センサ３０からの計測位置ＰＶｖが得られているか否かを検出する（ステップＳ１１）。座標変換部４１は、計測位置ＰＶｖが得られている時刻であれば（ステップＳ１１でＹＥＳ）、計測位置ＰＶｖが正常値か否かを検出する（ステップＳ１２）。たとえば、座標変換部４１は、計測位置ＰＶｖが所定範囲内の値であれば正常値であると判定する。座標変換部４１は、計測位置ＰＶｖが正常値であれば（ステップＳ１２でＹＥＳ）、計測位置ＰＶｖの入力を受け付ける（ステップＳ１３）。座標変換部４１は、視覚センサ３０から受け付けた計測位置ＰＶｖのカメラ座標をキャリブレーションパラメータを用いて機械座標に変換する（ステップＳ１４）。
【０１３９】
次に、位置決定部４３は、計測位置ＰＶｖの算出の元となる撮像時刻のエンコーダ値ＥＮｓの推定を行う（ステップＳ１５）。この推定の具体的な方法は後述する。なお、撮像部３１の露光時間が長い場合、撮像時刻は、例えば、露光開始時刻（撮像部３１のシャッターが開となる時刻）と露光終了時刻（撮像部３１のシャッターが閉となる時刻）との中間の時刻によって設定される。
【０１４０】
位置決定部４３は、同時刻の計測位置ＰＶｖおよびエンコーダ値ＥＮと、当該計測位置ＰＶｖの算出元となる撮像時刻のエンコーダ値ＥＮｓとを用いて、推定位置ＰＶを算出する（ステップＳ１６）。具体的には、ステップＳ１６では、位置決定部４３は、次の（式１９）を用いて、推定位置ＰＶを算出する。
【０１４１】
ＰＶ＝ＰＶｖ＋（ＥＮ−ＥＮｓ）  ・・・（式１９）。
位置決定部４３は、算出した推定位置ＰＶを減算部４４に出力する（Ｓ１７）。また、位置決定部４３は、この推定位置ＰＶを参照推定位置ＰＶｐとし、この時刻のエンコーダ値ＥＮを参照エンコーダ値ＥＮｐとして、更新記憶する。
【０１４２】
位置決定部４３は、視覚センサ３０からの計測位置ＰＶｖが得られていない時刻であれば（ステップＳ１１でＮＯ）、計測位置ＰＶｖの出力が１回以上であるか否かを検出する（ステップＳ１８）。また、位置決定部４３は、計測位置ＰＶｖが正常値でなければ（ステップＳ１２でＮＯ）、同様に、計測位置ＰＶｖの出力が１回以上であるか否かを検出する（ステップＳ１８）。
【０１４３】
位置決定部４３は、計測位置ＰＶｖの出力が１回以上であれば（ステップＳ１８でＹＥＳ）、エンコーダ値ＥＮ、参照推定位置ＰＶｐ、および、参照エンコーダ値ＥＮｐを用いて、推定位置ＰＶを算出する（Ｓ１９）。具体的には、ステップＳ１９では、位置決定部４３は、次の（式２０）を用いて、推定位置ＰＶを算出する。
【０１４４】
ＰＶ＝ＰＶｐ＋ＥＮ―ＥＮｐ  ・・・（式２０）。
位置決定部４３は、計測位置ＰＶｖの出力が１回もなければ（ステップＳ１８でＮＯ）、推定位置ＰＶを初期値のまま維持する。ステップＳ１９の後およびステップＳ１８でＮＯの場合、処理はステップＳ１７に移る。ステップＳ１７の後、処理は図１２に示すステップＳ４に戻る。
【０１４５】
このような処理を実行することによって、コントローラ４０は、画像処理による高精度な計測位置ＰＶｖが入力される時刻には、この高精度な計測位置ＰＶｖを用いて推定位置ＰＶを算出し、高精度な位置決め制御を実現できる。ここで、計測位置ＰＶｖが入力される時間間隔は、撮像周期Ｔｐであり、エンコーダ値ＥＮが入力される制御周期Ｔｃに比べて長い。しかしながら、時間軸上で隣り合う計測位置ＰＶｖの入力時刻間において、位置決定部４３は、入力周期が短いエンコーダ値ＥＮの入力時刻毎に、推定位置ＰＶを算出して、位置制御を行う。これにより、高精度且つ短周期の位置決め制御が可能になる。さらに、位置決定部４３は、上述の簡単な四則演算を用いる処理を行なう。そのため、簡素な構成および処理による高速且つ高精度な位置決めを実現できる。
【０１４６】
計測位置ＰＶｖの算出は、視覚センサ３０による撮像と画像処理の時間を必要とする。そのため、撮像周期Ｔｐは長い。推定位置ＰＶの算出時刻ｔｎに、計測位置ＰＶｖが得られたとしても、当該計測位置ＰＶｖは、算出時刻ｔｎよりも過去の撮像時刻ｔｖ１に撮像した画像によるものであり、撮像時刻ｔｖ１における対象ワークＷの位置を高精度に算出したものである。
【０１４７】
撮像時刻ｔｖ１から算出時刻ｔｎまで時間（ｔｎ−ｔｖ１）が経過しており、対象ワークＷは移動している。したがって、この対象ワークＷの移動分は、補正しなければならない。
【０１４８】
ここで、エンコーダ値ＥＮは、撮像周期Ｔｐよりも短い制御周期Ｔｃで更新されていく。これを利用し、位置決定部４３は、上記の式１８に示す演算を行う。具体的に、位置決定部４３は、撮像時刻ｔｖ１のエンコーダ値ＥＮｓと算出時刻ｔｎのエンコーダ値ＥＮを取得する。位置決定部４３は、時間（ｔｎ−ｔｖ１）分のエンコーダ値ＥＮの変化分ΔＥＮ（ＥＮ−ＥＮｓ）を、計測位置ＰＶｖに対して加算することによって、算出時刻ｔｎの推定位置ＰＶを算出する。この際、算出時刻ｔｎでは、推定位置ＰＶが不連続になるが、この場合、推定位置ＰＶに対するスムージング処理（例えば、移動平均化処理）等を用いることで、推定位置ＰＶの時間変化を滑らかにでき、より好ましい。
【０１４９】
この処理を用いることによって、推定位置ＰＶは、算出時刻ｔｎでの対象ワークＷの位置を高精度に反映するものとなる。したがって、高精度な位置決め制御が可能となる。
【０１５０】
図１６は、図１５に示す撮像時エンコーダ値の推定処理のサブルーチンの処理内容を示すフローチャートである。
【０１５１】
図１６に示すように、位置決定部４３は、撮像時刻を取得する（Ｓ２１）。位置決定部４３は、撮像時刻に近い複数の時刻のエンコーダ値ＥＮを取得する（Ｓ２２）。位置決定部４３は、複数の時刻のエンコーダ値ＥＮの内挿補間値を算出し、撮像時刻のエンコーダ値ＥＮｓとする（Ｓ２３）。なお、撮像時刻がエンコーダ値の算出時刻と一致する場合には、このエンコーダ値をそのまま用いればよい。
【０１５２】
具体的には、位置決定部４３は、推定位置ＰＶを算出する算出時刻ｔｎにおけるエンコーダ値ＥＮ（ｎ）を取得する。位置決定部４３は、算出時刻ｔｎよりも過去の撮像時刻ｔｖｉを取得する。位置決定部４３は、撮像時刻ｔｖｉに近接する２つの時刻、例えば、時間軸上で、撮像時刻ｔｖｉを挟む過去の算出時刻ｔ（ｎ−ｋ）と過去の算出時刻ｔ（ｎ−ｋ＋１）とを検出する。
【０１５３】
位置決定部４３は、算出時刻ｔ（ｎ−ｋ）のエンコーダ値ＥＮ（ｎ−ｋ）と、算出時刻ｔ（ｎ−ｋ＋１）のエンコーダ値ＥＮ（ｎ−ｋ＋１）とを取得する。過去のエンコーダ値は、コントローラ４０の記憶部（たとえば不揮発性メモリ４１３または主メモリ４１４（図４参照））に記憶される。
【０１５４】
位置決定部４３は、エンコーダ値ＥＮ（ｎ−ｋ）とエンコーダ値ＥＮ（ｎ−ｋ＋１）との内挿補間値を用いて、撮像時刻ｔｖｉのエンコーダ値ＥＮｓ（ｎｉ）を算出する。具体的には、位置決定部４３は、次の（式２１）を用いて、撮像時刻ｔｖｉのエンコーダ値ＥＮｓ（ｎｉ）を算出する。
【０１５５】
ＥＮｓ（ｎｉ）＝ＥＮ（ｎ−ｋ）＋Ｋｋ＊（ＥＮ（ｎ−ｋ＋２）−ＥＮ（ｎ−ｋ＋１））  ・・・（式２１）。
【０１５６】
ここで、Ｋｋは、内挿補間係数である。制御周期をＴｃとし、エンコーダ値ＥＮの伝送遅延時間をＴｅｄとし、撮像トリガの伝送遅延時間をＴｓｄとして、Ｔｃ−Ｔｅｄ≦Ｔｓｄ＜２Ｔｃ−Ｔｅｄの場合、内挿補間係数Ｋｋは、次の（式２２）を用いて算出される。
【０１５７】
Ｋｋ＝｛Ｔｓｄ−（Ｔｃ−Ｔｅｄ）｝／Ｔｃ  ・・・（式２２）。
このような内挿補間値の算出方法を用いることによって、撮像時刻ｔｖｉのエンコーダ値ＥＮｓ（ｎｉ）を高精度に算出できる。これにより、さらに高精度な推定位置ＰＶが算出でき、さらに高精度な位置決め制御が可能になる。
【０１５８】
＜３−３．キャリブレーションパラメータの補正処理＞
補正部４６は、たとえば図１７のフローチャートに示すような処理を行うことで、キャリブレーションパラメータを補正する。図１７は、キャリブレーションパラメータの補正処理の流れの一例を示すフローチャートである。
【０１５９】
キャリブレーションパラメータの補正指示を受けると、補正部４６は、４回の位置決め処理にそれぞれ対応する４つのデータセットを取得する（ステップＳ３１）。データセットは、位置決め処理を開始するときに視覚センサ３０によって計測された計測位置Ｐｍ１，Ｐｎ１の座標を含む。さらに、データセットは、位置決め処理を完了するときに視覚センサ３０によって計測された計測位置Ｐｍ２，Ｐｎ２の座標を含む。さらに、データセットは、位置決め処理を完了するときに視覚センサ３０によって計測された計測位置Ｐｍ２から、位置決め処理を開始してから完了するまでのステージ装置１０の移動量を差し引いた位置Ｐｍ３の座標を含む。さらに、データセットは、マーク５０ｎに対応する位置における、位置決め処理を開始してから完了するまでのステージ装置１０の移動量を含む。
【０１６０】
補正部４６は、ステップＳ３１で取得した４つのデータセットを用いて、カメラ座標系から機械座標系への回転の変換量および拡大縮小の変換量（倍率）を補正するためのパラメータＡ’，Ｂ’，Ｄ’，Ｅ’のそれぞれの値を算出する（ステップＳ３２）。
【０１６１】
次に、補正部４６は、算出した値が適正か否かを判定する（ステップＳ３３）。具体的には、補正部４６は、算出したパラメータＡ’，Ｂ’，Ｄ’，Ｅ’の値が上記の式（１５）を満たすとともに、式（１４）で示されるΔθが式（１６）を満たす場合に、算出した値が適正であると判定する。
【０１６２】
算出した値が適正でない場合（ステップＳ３３でＮＯ）、当該値が破棄され、処理はステップＳ３１に戻る。
【０１６３】
算出した値が適正である場合（ステップＳ３３でＹＥＳ）、補正部４６は、ステップＳ３１で取得した４つのデータセットを用いて、カメラ座標系から機械座標系への並進の変換量を補正するためのパラメータＣ’，Ｆ’のそれぞれの値を算出する（ステップＳ３４）。
【０１６４】
次に、補正部４６は、算出した値が適正か否かを判定する（ステップＳ３５）。具体的には、補正部４６は、算出したパラメータＣ’，Ｆ’値が上記の式（１７）および式（１８）を満たす場合に、算出した値が適正であると判定する。
【０１６５】
算出した値が適正でない場合（ステップＳ３５でＮＯ）、当該値が破棄され、処理はステップＳ３１に戻る。
【０１６６】
算出した値が適正である場合（ステップＳ３５でＹＥＳ）、補正部４６は、ステップＳ３２で算出したパラメータＡ’，Ｂ’，Ｄ’，Ｅ’の値と、ステップＳ３４で算出したパラメータＣ’，Ｆ’の値とを用いて、キャリブレーションパラメータ（校正パラメータ）を補正する（ステップＳ３６）。なお、補正部４６がパラメータＡ’，Ｂ’，Ｃ’，Ｄ’，Ｅ’，Ｆ’の値を座標変換部４１に出力し、座標変換部４１がキャリブレーションパラメータの補正を行なってもよい。
【０１６７】
図１８は、図１７に示す４つのデータセットの取得処理のサブルーチンの処理内容を示すフローチャートである。
【０１６８】
補正部４６は、位置決め処理が完了したか否かを判定する（ステップＳ４１）。具体的には、補正部４６は、フィードバック制御部４２がフィードバック制御を停止したことを受けて、位置決め処理が完了したと判定する。位置決め処理が完了していない場合（ステップＳ４１でＮＯ）、処理はステップＳ４１に戻る。
【０１６９】
位置決め処理が完了した場合（ステップＳ４１でＹＥＳ）、補正部４６は、当該位置決め処理に対応する対象データセットを生成する（ステップＳ４２）。
【０１７０】
補正部４６は、生成した対象データセットによって示される計測位置Ｐｍ１から位置Ｐｍ３への対象ベクトルの長さＬが規定値Ｔｈ２以上であるか否かを判定する（ステップＳ４３）。対象ベクトルの長さＬが規定値Ｔｈ２以上ではない場合（ステップＳ４３でＮＯ）、処理はステップＳ４１に戻る。
【０１７１】
対象ベクトルの長さＬが規定値Ｔｈ２以上である場合（ステップＳ４３でＹＥＳ）、補正部４６は、第１データセットＤＳ０を取得済みか否かを判定する（ステップＳ４４）。第１データセットＤＳ０をまだ取得していない場合（ステップＳ４４でＮＯ）、補正部４６は、直近のステップＳ４２で生成した対象データセットを第１データセットＤＳ０として取得する（ステップＳ４５）。第１データセットＤＳ０によって示される計測位置Ｐｍ１から位置Ｐｍ３へのベクトルは、第１ベクトルＭ０である。ステップＳ４５の後、処理はステップＳ４６に移る。第１データセットＤＳ０を取得済である場合も（ステップＳ４４でＹＥＳ）、処理はステップＳ４６に移る。
【０１７２】
ステップＳ４６において、補正部４６は、第２データセットＤＳ１を取得済みか否かを判定する。第２データセットＤＳ１が未取得である場合（ステップＳ４６でＮＯ）、補正部４６は、ステップＳ４２で生成した対象データセットに対応する対象ベクトルと、第１ベクトルＭ０とのなす角度が４５°±α１の範囲内であるか否かを判定する（ステップＳ４７）。対象ベクトルは、対象データセットによって示される計測位置Ｐｍ１から位置Ｐｍ３へのベクトルである。α１は予め定められる角度である。対象ベクトルと第１ベクトルＭ０とのなす角度が４５°±α１の範囲内である場合（ステップＳ４７でＹＥＳ）、補正部４６は、対象データセットを第２データセットＤＳ１として取得する（ステップＳ４８）。ステップＳ４８の後、処理はステップＳ４９に移る。第２データセットＤＳ１を取得済である場合（ステップＳ４６でＹＥＳ）および対象ベクトルと第１ベクトルＭ０とのなす角度が４５°±α１の範囲外である場合（ステップＳ４７でＮＯ）も、処理はステップＳ４９に移る。
【０１７３】
ステップＳ４９において、補正部４６は、第３データセットＤＳ２を取得済みか否かを判定する。第３データセットＤＳ２が未取得である場合（ステップＳ４９でＮＯ）、補正部４６は、ステップＳ４２で生成した対象データセットに対応する対象ベクトルと、第１ベクトルＭ０とのなす角度が９０°±α２の範囲内であるか否かを判定する（ステップＳ５０）。α２は予め定められる角度である。対象ベクトルと第１ベクトルＭ０とのなす角度が９０°±α２の範囲内である場合（ステップＳ５０でＹＥＳ）、補正部４６は、対象データセットを第３データセットＤＳ２として取得する（ステップＳ５１）。ステップＳ５１の後、処理はステップＳ５２に移る。第３データセットＤＳ２を取得済である場合（ステップＳ４９でＹＥＳ）および対象ベクトルと第１ベクトルＭ０とのなす角度が９０°±α２の範囲外である場合（ステップＳ５０でＮＯ）も、処理はステップＳ５２に移る。
【０１７４】
ステップＳ５２において、補正部４６は、第４データセットＤＳ３を取得済みか否かを判定する。第４データセットＤＳ３が未取得である場合（ステップＳ５２でＮＯ）、補正部４６は、第２データセットＤＳ１を取得済みか否かを判定する（ステップＳ５３）。第２データセットＤＳ１が取得済である場合（ステップＳ５３でＹＥＳ）、補正部４６は、ステップＳ４２で生成した対象データセットに対応する対象ベクトルと、第２ベクトルＭ１とのなす角度が９０°±α３の範囲内であるか否かを判定する（ステップＳ５４）。α３は予め定められる角度である。対象ベクトルと第２ベクトルＭ１とのなす角度が９０°±α３の範囲内である場合（ステップＳ５４でＹＥＳ）、補正部４６は、対象データセットを第４データセットＤＳ３として取得する（ステップＳ５５）。ステップＳ５５の後、処理はステップＳ５５に移る。第４データセットＤＳ３を取得済である場合（ステップＳ５２でＹＥＳ）、第２データセットＤＳ１が未取得である場合（ステップＳ５３でＮＯ）および対象ベクトルと第２ベクトルＭ１とのなす角度が９０°±α３の範囲外である場合（ステップＳ５４でＮＯ）も、処理はステップＳ５６に移る。
【０１７５】
ステップＳ５６において、補正部４６は、第１データセットＤＳ０〜第４データセットＤＳ３の全てが取得済みか否かを判定する。第１データセットＤＳ０〜第４データセットＤＳ３の全てをまだ取得していない場合（ステップＳ５６でＮＯ）、処理はステップＳ４１に戻る。第１データセットＤＳ０〜第４データセットＤＳ３の全てが取得済である場合（ステップＳ５６でＹＥＳ）、４つのデータセットの取得処理は終了する。なお、補正部４６は、第１データセットＤＳ０を取得してから残りの第２データセットＤＳ１〜第４データセットＤＳ３を取得するまでの時間が規定時間内である場合に、当該第１〜第４データセットに基づいてキャリブレーションパラメータを補正する。補正部４６は、第１データセットＤＳ０を取得してから残りの第２データセットＤＳ１〜第４データセットＤＳ３を取得するまでの時間が規定時間を超える場合に、当該第１〜第４データセットを破棄して、再度第１データセットＤＳ０〜第４データセットＤＳ３の取得処理を行なう。
【０１７６】
＜３−４．作用・効果＞
上記のように、本実施の形態によれば、補正部４６は、位置決め処理を開始するときの計測位置Ｐｍ１の座標と、位置決め処理を開始してから完了するまでのステージ装置１０の移動量を、位置決め処理を完了するときの計測位置Ｐｍ２から差し引くことにより得られる位置Ｐｍ３の座標とを示すデータセットに基づいて、キャリブレーションパラメータを補正する。
【０１７７】
これにより、補正部４６によって補正されたキャリブレーションパラメータを用いることにより、カメラ座標系から機械座標系に精度良く座標変換することができ、位置決めの精度を高めることができる。さらに、計測位置Ｐｍ１，Ｐｍ２、および、位置決め処理を開始してから完了するまでのステージ装置１０の移動量は、通常の対象ワークＷの位置決め処理から得られる。そのため、キャリブレーションパラメータの補正のために、対象ワークＷの位置決め処理を停止する必要がない。その結果、キャリブレーションの繰り返しによる稼働率の低下を抑制できる。
【０１７８】
§４  変形例
＜４−１．変形例１＞
上記の説明では、補正部４６は、計測位置Ｐｍ１を位置Ｐｍ３に変換するためのアフィン変換Ｆａ’を求めることにより、パラメータＡ’，Ｂ’，Ｃ’，Ｄ’，Ｅ’，Ｆ’を特定する。しかしながら、計測位置Ｐｍ１と位置Ｐｍ３とのずれの全てを１回で補正すると、視覚センサ３０における計測誤差や演算誤差によって、キャリブレーションパラメータに悪影響を及ぼす可能性がある。
【０１７９】
そのため、補正部４６は、計測位置Ｐｍ１と位置Ｐｍ３との線分上の位置Ｐｍ７を補正目標の位置として特定してもよい。補正部４６は、計測位置Ｐｍ１と位置Ｐｍ７との長さＬ２と、計測位置Ｐｍ１と位置Ｐｍ３との長さＬ１との比率（Ｌ２／Ｌ１）が予め定められた値βとなるように、位置Ｐｍ７を特定する。
【０１８０】
図１９は、計測位置Ｐｍ１，Ｐｍ２と位置Ｐｍ３，Ｐｍ７との関係を示す図である。位置Ｐｍ７の座標（Ｘｍ＿ｆ，Ｙｍ＿ｆ）は、計測位置Ｐｍ１の座標（Ｘｍ＿ａ，Ｙｍ＿ａ）と、位置Ｐｍ３の座標（Ｘｍ−ｂ−Ｘｍ＿ｃ，Ｙｍ＿ｂ−Ｙｍ＿ｃ）とβとを用いて、以下のように表される。
Ｘｍ＿ｆ＝Ｘｍ＿ａ＋β（Ｘｍ−ｂ−Ｘｍ＿ｃ−Ｘｍ＿ａ）
Ｙｍ＿ｆ＝Ｙｍ＿ａ＋β（Ｙｍ−ｂ−Ｙｍ＿ｃ−Ｙｍ＿ａ）
補正部４６は、計測位置Ｐｍ１を位置Ｐｍ７に変換するためのアフィン変換Ｆａ’を求めることにより、パラメータＡ’，Ｂ’，Ｃ’，Ｄ’，Ｅ’，Ｆ’を特定する。これにより、複数回の補正を繰り返しながら、漸近的にキャリブレーションパラメータを調整できる。
【０１８１】
図２０は、変形例１に係る補正部の処理の全体の流れを示すフローチャートである。補正部４６は、キャリブレーションパラメータの補正指示を受けると、４回の位置決め処理にそれぞれ対応する４つのデータセットを取得する（ステップＳ６１）。ステップＳ６１は、上記のステップＳ３１と同じである。
【０１８２】
補正部４６は、ステップＳ３１で取得した４つのデータセットを用いて、計測位置Ｐｍ１を位置Ｐｍ７に変換するためのパラメータＡ’，Ｂ’，Ｄ’，Ｅ’のそれぞれの値を算出する（ステップＳ６２）。ステップＳ６２は、目標とする位置が位置Ｐｍ３ではなく位置Ｐｍ７である点を除いて、上記のステップＳ３２と同じである。補正部４６は、算出した値が適正か否かを判定する（ステップＳ６３）。ステップＳ６３は、上記のステップＳ３３と同じである。
【０１８３】
算出した値が適正でない場合（ステップＳ６３でＮＯ）、当該値が破棄され、処理はステップＳ６１に戻る。算出した値が適正である場合（ステップＳ６３でＹＥＳ）、補正部４６は、ステップＳ６２で算出したパラメータＡ’，Ｂ’，Ｄ’，Ｅ’の値を用いて、回転および拡大縮小に関するパラメータＡ，Ｂ，Ｄ，Ｅを補正する（ステップＳ６４）。
【０１８４】
次に、補正部４６は、拡大縮小の変換量（倍率）の補正量｜（｜Ａ’Ｅ’−Ｂ’Ｄ’｜−１）｜および回転の変換量の補正量｜Δθ｜（上記の式（１４）参照）がそれぞれ規定値β’および規定値γ’以下であるか否かを判定する（ステップＳ６５）。具体的には、補正部４６は、以下の式（２３）、（２４）を満たすか否かを判定する。
｜（｜Ａ’Ｅ’−Ｂ’Ｄ’｜−１｜≦β’  ・・・式（２３）
Δθ≦γ’  ・・・式（２４）
β’およびγ’は、上記のβおよびγよりもそれぞれ小さい値に予め設定さる。式（２３）および式（２４）を満たす場合には、補正量が十分に小さくなり、回転および拡大縮小に関するパラメータの補正量が収束している。
【０１８５】
式（２３）、（２４）を満たさない場合（ステップＳ６５でＮＯ）、処理はステップＳ６１に戻る。これにより、再度ステップＳ６１〜Ｓ６４が繰り返される。その結果、回転および拡大縮小に関するパラメータの補正量が徐々に収束する。
【０１８６】
式（２３）、（２４）を満たす場合（ステップＳ６５でＹＥＳ）、補正部４６は、ステップＳ６１で取得した４つのデータセットを用いて、カメラ座標系から機械座標系への並進の変換量を補正するためのパラメータＣ’，Ｆ’の値を算出する（ステップＳ６６）。ステップＳ６６は、上記のステップＳ３４と同じである。補正部４６は、算出した値が適正か否かを判定する（ステップＳ６７）。ステップＳ６７は、上記のステップＳ６７と同じである。算出した値が適正でない場合（ステップＳ６７でＮＯ）、当該値が破棄され、処理はステップＳ６１に戻る。算出した値が適正である場合（ステップＳ６７でＹＥＳ）、補正部４６は、ステップＳ６６で算出したパラメータＣ’，Ｆ’の値を用いて、並進に関するパラメータＣ，Ｆの値を補正する（ステップＳ６８）。
【０１８７】
＜４−２．変形例２＞
上記の説明では、第２ベクトルＭ１と第１ベクトルＭ０とのなす角度が４５°であり、第３ベクトルＭ２と第１ベクトルＭ０とのなす角度が９０°であり、第４ベクトルＭ３と第１ベクトルＭ０とのなす角度が１３５°であるとした。しかしながら、角度はこれらに限定されない。たとえば、第２ベクトルＭ１と第１ベクトルＭ０とのなす角度が３０°であり、第３ベクトルＭ２と第１ベクトルＭ０とのなす角度が６０°であり、第４ベクトルＭ３と第１ベクトルＭ０とのなす角度が９０°であってもよい。
【０１８８】
さらに、補正部４６は、第３ベクトルＭ２に対応する第３データセットを取得した後、第３ベクトルＭ２とのなす角度が４５°となる第４ベクトルＭ３に対応する第４データセットを取得してもよい。
【０１８９】
＜４−３．変形例３＞
ステージ装置１０は、サーボモータとカップリングを介して連結されるボールねじを含んでもよい。ボールねじおよびカップリングのいずれかの異常により、ステージ装置１０の位置偏差、速度、トルクに異常な変動が生じることが知られている。たとえば、ボールねじの潤滑不良による摩擦の増加に伴い、断続的な引っかかりが発生し、速度異常が生じる。ボールねじの曲げまたは歪みの発生に伴い、トルク異常が生じる。カップリングのすべりの発生に伴い、位置偏差の異常が生じる。
【０１９０】
このようなステージ装置１０の機械的な異常が発生している状況において、キャリブレーションパラメータを補正すると、ステージ装置１０に対して多大なストレスを与える可能性がある。そこで、補正部４６は、ステージ装置１０からの位置関連情報であるエンコーダ値ＥＮに基づいて、位置偏差、速度およびトルクを監視し、ステージ装置１０の異常の有無を判定してもよい。補正部４６は、ステージ装置１０に異常が無いと判定した場合に、キャリブレーションパラメータの補正を行ない、ステージ装置１０に異常が有ると判定した場合に、キャリブレーションパラメータの補正を行なわない。このとき、補正部４６は、ステージ装置１０に異常がある旨を通知してもよい。
【０１９１】
＜４−４．変形例４＞
補正部４６によるキャリブレーションパラメータの補正処理には、計測誤差および演算誤差の影響がある。そのため、補正後のキャリブレーションパラメータを用いることにより、位置決め処理に要する時間が長くなる可能性がある。そこで、補正部４６は、補正後のキャリブレーションパラメータを用いたフィードバック制御により位置決め処理を完了するのに要する時間と、補正前のキャリブレーションパラメータを用いたフィードバック制御により位置決め処理を完了するのに要する時間とを比較する。補正部４６は、補正後の時間が補正前の時間よりも長い場合、キャリブレーションパラメータを補正前の値に戻す。この場合、補正部４６は、キャリブレーションパラメータの補正履歴を記憶しておき、補正履歴に基づいて、キャリブレーションパラメータを補正前の値に戻せばよい。
【０１９２】
＜４−５．変形例５＞
図１７に示すフローにおいて、ステップＳ３３またはステップＳ３６でＮＯとなる状態が継続的に発生する場合、ステージ装置１０に何等かの異常が生じている可能性が高い。そこで、ステップＳ３３またはステップＳ３６でＮＯとなる状態が連続して所定回数生じた場合、補正部４６は、ステージ装置１０に異常が発生したものと判定し、その旨を通知してもよい。もしくは、単位時間当たりのステップＳ３３またはステップＳ３６でＮＯとなる回数が所定頻度以上である場合に、補正部４６は、ステージ装置１０に異常が発生したものと判定し、その旨を通知してもよい。
【０１９３】
＜４−６．変形例６＞
上記の説明では、計測位置Ｐｍ１および位置Ｐｍ３を用いて、キャリブレーションパラメータが補正される。しかしながら、計測位置Ｐｎ１および位置Ｐｎ３を用いて、キャリブレーションパラメータが補正されてもよい。もしくは、計測位置Ｐｎ１および位置Ｐｎ３、ならびに計測位置Ｐｎ１および位置Ｐｎ３を用いて、キャリブレーションパラメータが補正されてもよい。
【０１９４】
＜４−７．変形例７＞
座標変換部４１は、コントローラ４０ではなく、視覚センサ３０に備えられていてもよい。
【０１９５】
§５  付記
以上のように、本実施の形態および変形例は以下のような開示を含む。
【０１９６】
（構成１）
対象物（Ｗ）の位置決め処理を行なう制御システム（１）であって、
前記対象物（Ｗ）を撮像し、前記対象物（Ｗ）の位置を計測するための視覚センサ（３０）と、
前記対象物（Ｗ）を移動させるための移動機構（１０，２０）と、
前記視覚センサ（３０）の第１座標系を前記移動機構の第２座標系に変換するためのキャリブレーションパラメータを用いて、前記視覚センサ（３０）によって計測された位置の座標変換を行なう座標変換部（４１）と、
前記座標変換部（４１）によって座標変換された位置が目標位置に近づくように前記移動機構（１０，２０）に対するフィードバック制御を行なうためのフィードバック制御部（４２）と、
前記位置決め処理を開始するときに前記視覚センサ（３０）によって計測され、前記座標変換部（４１）により座標変換された第１位置の座標と、前記位置決め処理を開始してから完了するまでの前記移動機構（１０，２０）の移動量を、前記位置決め処理を完了するときに前記視覚センサ（３０）によって計測され、前記座標変換部（４１）により座標変換された第２位置から差し引くことにより得られる第３位置の座標とを示すデータセットに基づいて、前記キャリブレーションパラメータを補正するための補正部（４６）とを備える、制御システム（１）。
【０１９７】
（構成２）
前記補正部（４６）は、前記第１位置を前記第３位置に変換するための変換パラメータを前記キャリブレーションパラメータに乗ずることにより、前記キャリブレーションパラメータを補正する、構成１に記載の制御システム（１）。
【０１９８】
（構成３）
前記補正部（４６）は、前記第１位置を前記第１位置と前記第３位置とを結ぶ線分上の第４位置に変換するための変換パラメータを前記キャリブレーションパラメータに乗ずることにより、前記キャリブレーションパラメータを補正する、構成１に記載の制御システム（１）。
【０１９９】
（構成４）
前記キャリブレーションパラメータは、前記第１座標系と前記第２座標系との間の回転および倍率の変換量を規定する第１〜第４パラメータを含み、
前記補正部（４６）は、少なくとも４回の前記位置決め処理からそれぞれ得られる少なくとも４つのデータセットを用いて、前記第１〜第４パラメータを補正する、構成１から３のいずれかに記載の制御システム（１）。
【０２００】
（構成５）
前記少なくとも４つのデータセットは、第１〜第４データセットを含み、
前記第１データセットに対応する前記第１位置から前記第３位置への第１ベクトルと、前記第２データセットに対応する前記第１位置から前記第３位置への第２ベクトルと、前記第３データセットに対応する前記第１位置から前記第３位置への第３ベクトルと、前記第４データセットに対応する前記第１位置から前記第３位置への第４ベクトルとから選択される２つのベクトルは一次独立である、構成４に記載の制御システム（１）。
【０２０１】
（構成６）
前記補正部（４６）は、前記第１〜第４データセットをこの順に取得する取得処理を実行し、前記第１データセットを取得してから前記第４データセットを取得するまでの時間が規定時間内である場合に、当該第１〜第４データセットに基づいて前記キャリブレーションパラメータを補正し、前記第１データセットを取得してから前記第４データセットを取得するまでの時間が前記規定時間を超える場合に、当該第１〜第４データセットを破棄して、再度前記取得処理を行なう、構成５に記載の制御システム（１）。
【０２０２】
（構成７）
前記第１〜第４ベクトルは、第１条件および第２条件を満たし、
前記第１条件は、前記第１〜第４ベクトルの長さが規定長さ以上であるという条件であり、
前記第２条件は、前記第２ベクトルと前記第１ベクトルとのなす角度が第１規定角度範囲内であり、前記第３ベクトルと前記第１ベクトルまたは前記第２ベクトルとのなす角度が第２規定角度範囲内であり、前記第４ベクトルと前記第１〜第３ベクトルのいずれか１つとのなす角度とが第３規定角度範囲内であるという条件である、構成６に記載の制御システム（１）。
【０２０３】
（構成８）
前記キャリブレーションパラメータは、前記第１座標系から前記第２座標系への並進、回転および拡大縮小の変換量を規定し、
前記補正部（４６）は、補正前の前記キャリブレーションパラメータを用いたときの前記変換量と補正後の前記キャリブレーションパラメータを用いたときの前記変換量との偏差が規定値を超える場合、前記キャリブレーションパラメータを補正しない、構成１に記載の制御システム（１）。
【０２０４】
（構成９）
前記補正部（４６）は、補正後の前記キャリブレーションパラメータを用いた前記フィードバック制御により前記位置決め処理を完了するのに要する時間が補正前の前記キャリブレーションパラメータを用いた前記フィードバック制御により前記位置決め処理を完了するのに要する時間よりも長い場合、前記キャリブレーションパラメータを補正前の状態に戻す、構成１に記載の制御システム（１）。
【０２０５】
（構成１０）
前記補正部（４６）は、前記移動機構（１０，２０）からの位置関連情報に基づいて前記移動機構（１０，２０）の異常の有無を判定し、前記移動機構（１０，２０）に異常が無いと判定した場合に、前記キャリブレーションパラメータを補正し、前記移動機構（１０，２０）に異常が有ると判定した場合に、前記キャリブレーションパラメータを補正しない、構成１に記載の制御システム（１）。
【０２０６】
（構成１１）
対象物（Ｗ）の位置決め処理を行なう制御システム（１）の制御方法であって、
前記制御システム（１）は、
前記対象物（Ｗ）を撮像し、前記対象物（Ｗ）の位置を計測するための視覚センサ（３０）と、
前記対象物（Ｗ）を移動させるための移動機構（１０，２０）とを備え、
前記制御方法は、
前記視覚センサ（３０）の第１座標系を前記移動機構（１０，２０）の第２座標系に変換するためのキャリブレーションパラメータを用いて、前記視覚センサ（３０）によって計測された位置の座標変換を行なうステップと、
前記座標変換された位置が目標位置に近づくように前記移動機構（１０，２０）に対するフィードバック制御を行なうステップと、
前記位置決め処理を開始するときに前記視覚センサ（３０）によって計測され、前記座標変換が行なわれた第１位置の座標と、前記位置決め処理を開始してから完了するまでの前記移動機構（１０，２０）の移動量を、前記位置決め処理を完了するときに前記視覚センサ（３０）によって計測され、前記座標変換が行なわれた第２位置から差し引くことにより得られる第３位置の座標とを示すデータセットに基づいて、前記キャリブレーションパラメータを補正するステップとを備える、制御方法。
【０２０７】
（構成１２）
対象物（Ｗ）の位置決め処理を行なう制御システム（１）における制御方法をコンピュータに実行させるためのプログラムであって、
前記制御システム（１）は、
前記対象物（Ｗ）を撮像し、前記対象物（Ｗ）の位置を計測するための視覚センサ（３０）と、
前記対象物（Ｗ）を移動させるための移動機構（１０，２０）とを備え、
前記制御方法は、
前記視覚センサ（３０）の第１座標系を前記移動機構（１０，２０）の第２座標系に変換するためのキャリブレーションパラメータを用いて、前記視覚センサ（３０）によって計測された位置の座標変換を行なうステップと、
前記座標変換された位置が目標位置に近づくように前記移動機構（１０，２０）に対するフィードバック制御を行なうステップと、
前記位置決め処理を開始するときに前記視覚センサ（３０）によって計測され、前記座標変換が行なわれた第１位置の座標と、前記位置決め処理を開始してから完了するまでの前記移動機構（１０，２０）の移動量を、前記位置決め処理を完了するときに前記視覚センサ（３０）によって計測され、前記座標変換が行なわれた第２位置から差し引くことにより得られる第３位置の座標とを示すデータセットに基づいて、前記キャリブレーションパラメータを補正するステップとを備える、プログラム。
【０２０８】
今回開示された各実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組合せても、実施することが意図される。
【符号の説明】
【０２０９】
１  制御システム、１０  ステージ装置、１１  Ｘステージ、１２，１４，１６  サーボモータ、１３  Ｙステージ、１５  θステージ、２０，２２，２４，２６  サーボドライバ、３０  視覚センサ、３１  撮像部、３２  画像処理部、４０  コントローラ、４１  座標変換部、４２  フィードバック制御部、４３  位置決定部、４４  減算部、４５  ＰＩＤ演算部、４６  補正部、５０，５１  記録媒体、５０ｍ，５０ｎ，６０ｍ，６０ｎ  マーク、７０  表示部、３１０，４１２  プロセッサ、３１２  ＲＡＭ、３１４  表示コントローラ、３１６  システムコントローラ、３１８  Ｉ／Ｏコントローラ、３２０  ハードディスク、３２２  カメラインターフェイス、３２４  入力インターフェイス、３２６  コントローラインターフェイス、３２８，４１７  通信インターフェイス、３３０，４１６  メモリカードインターフェイス、３３４  キーボード、４１０  主制御ユニット、４１１  チップセット、４１３  不揮発性メモリ、４１４  主メモリ、４１５  システムクロック、４１８  内部バスコントローラ、４１９  内部バス、４２２，４２４，４２６  サーボユニット、４３０  制御プログラム、４８１  バッファメモリ、４８２  制御回路、４８３  内部バス制御回路、Ｗ  対象ワーク、Ｗ０  基準ワーク。
【図１】
2019191003.tif 000014
【図２】
2019191003.tif 000015
【図３】
2019191003.tif 000016
【図４】
2019191003.tif 000017
【図５】
2019191003.tif 000018
【図６】
2019191003.tif 000019
【図７】
2019191003.tif 000020
【図８】
2019191003.tif 000021
【図９】
2019191003.tif 000022
【図１０】
2019191003.tif 000023
【図１１】
2019191003.tif 000024
【図１２】
2019191003.tif 000025
【図１３】
2019191003.tif 000026
【図１４】
2019191003.tif 000027
【図１５】
2019191003.tif 000028
【図１６】
2019191003.tif 000029
【図１７】
2019191003.tif 000030
【図１８】
2019191003.tif 000031
【図１９】
2019191003.tif 000032
【図２０】
2019191003.tif 000033