(57)【要約】【課題】異常の有無を精度良く判定可能な位置決めシステムを提供する。【解決手段】位置決めシステムは、対象物を移動させる移動機構と、対象物の撮像画像に基づいて対象物の位置を特定する位置特定処理を撮像周期ごとに実行する視覚センサと、特定された位置が目標位置に近づくように移動機構を制御する移動制御部と、軌跡決定部と、判定部とを備える。軌跡決定部は、初回の位置特定処理によって特定された位置から目標位置までの対象物の理想軌跡を決定する。判定部は、初回の位置特定処理の後の位置特定処理によって特定された位置の実軌跡と理想軌跡との比較結果に基づいて、位置決めシステムの異常の有無を判定する。【選択図】図５
2019219998.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）などの光学記録媒体等からなる。あるいは、通信インターフェイス４１７を介して、配信サーバなどからダウンロードしたプログラムをコントローラ４０にインストールしてもよい。
【００７１】
フィールドバスコントローラ４３８は、フィールドネットワークに接続するための通信インターフェイスである当該フィールドネットワークには、たとえば、ＥｔｈｅｒＣＡＴ（登録商標）、ＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）、ＣｏｍｐｏＮｅｔ（登録商標）などが採用される。コントローラ４０は、フィールドバスコントローラ４３８を介してサーボドライバ２２，２４，２６と接続される。
【００７２】
表示コントローラ４２６は、表示装置５０と接続されており、チップセット４１２からのコマンドに従って、各種の情報を表示するための信号を表示装置５０へ出力する。
【００７３】
＜２−３．画像処理装置の処理例＞
図５は、図１に示される位置決めシステムの機能構成の一例を示すブロック図である。画像処理装置３２は、撮像部３１によって撮像された画像の中からマーク５ａ，５ｂ（図１参照）を探索し、マーク５ａの位置（以下、「計測位置ＰＭａ」という）とマーク５ｂの位置（以下、「計測位置ＰＭｂ」という）とを特定する。画像処理装置３２は、公知のパターン認識技術を用いて、画像の中からマーク５ａ，５ｂを認識すればよい。画像処理装置３２は、計測位置ＰＭａ，ＰＭｂの座標を計測する。当該座標は、カメラ座標系で示される。
【００７４】
＜２−４．コントローラの機能構成＞
図５に示されるように、コントローラ４０は、移動制御部４１とモデル記憶部４６と監視部４７とを備える。移動制御部４１および監視部４７は、図４に示すプロセッサ４１４が制御プログラム４４０を実行することにより実現される。モデル記憶部４６は、図４に示す不揮発性メモリ４１６および主メモリ４１８により実現される。
【００７５】
＜２−４−１．移動制御部＞
移動制御部４１は、マーク５ａの計測位置ＰＭａが目標位置ＳＰａに近づくとともに、マーク５ｂの計測位置ＰＭｂが目標位置ＳＰｂに近づくように、移動指令を生成する。目標位置ＳＰａ，ＳＰｂは予め定められている。図５に示されるように、移動制御部４１は、座標変換部４２と、位置決定部４３と、減算部４４と、演算部４５とを備える。
【００７６】
上述したように、視覚センサ３０から出力される計測位置ＰＭａ、ＰＭｂは、カメラ座標系で示される。一方、移動制御部４１の制御対象である移動機構１０の移動量は、機械座標系で示される。
【００７７】
そのため、座標変換部４２は、カメラ座標系を機械座標系に変換するためのキャリブレーションパラメータを用いて、視覚センサ３０によって特定された計測位置ＰＭａ，ＰＭｂの座標変換を行ない、機械座標系における計測位置ＰＭａ，ＰＭｂの座標を算出する。座標変換部４２は、たとえばアフィン変換を用いて座標変換を行なえばよい。座標変換部４２は、機械座標系における計測位置ＰＭａ，ＰＭｂの座標を位置決定部４３に出力する。
【００７８】
計測位置ＰＭａ，ＰＭｂは、撮像周期Ｔｂごとに特定される。一方、移動指令は、制御周期Ｔｓごとに生成される。上述したように、撮像周期Ｔｂは、制御周期Ｔｓよりも長い。そのため、視覚センサ３０によって特定された計測位置ＰＭａ，ＰＭｂのみを用いて移動機構１０が制御されると、オーバシュートおよび振動が生じやすくなる。このようなオーバシュートおよび振動を避けるため、位置決定部４３は、視覚センサ３０によって撮像周期Ｔｂごとに特定された計測位置ＰＭａ，ＰＭｂと制御周期Ｔｓごとに出力されるエンコーダ値ＥｎＸ，ＥｎＹ，Ｅｎθとに基づいて、制御周期Ｔｓごとに対象ワークＷの２つのマーク５ａ，５ｂの推定位置ＰＶａ，ＰＶｂをそれぞれ決定する。推定位置ＰＶａ，ＰＶｂの決定方法については後述する。
【００７９】
減算部４４は、推定位置ＰＶａと目標位置ＳＰａとの偏差（距離）と、推定位置ＰＶｂと目標位置ＳＰｂとの偏差（距離）とを出力する。
【００８０】
演算部４５は、推定位置ＰＶａと目標位置ＳＰａとの偏差および推定位置ＰＶｂと目標位置ＳＰｂとの偏差が０に収束するように演算（Ｐ演算またはＰＩＤ演算）を行ない、制御周期Ｔｓごとに移動指令ＭＶＸ，ＭＶＹ，ＭＶθを算出する。移動指令ＭＶＸは、Ｘステージ１１（図１参照）に対する移動指令である。移動指令ＭＶＹは、Ｙステージ１３（図１参照）に対する移動指令である。移動指令ＭＶθは、θステージ１５（図１参照）に対する移動指令である。演算部４５は、算出した移動指令ＭＶＸ、ＭＶＹ，ＭＶθをドライバユニット２０に出力する。移動指令ＭＶＸ、ＭＶＹ，ＭＶθは、たとえば位置指令または速度指令である。
【００８１】
＜２−４−２．モデル記憶部＞
モデル記憶部４６は、移動機構１０、ドライバユニット２０および移動制御部４１を模擬したシミュレーションモデルを記憶する。シミュレーションモデルは、移動機構１０の設計データ、移動制御部４１の処理を規定するプログラムなどから構成される。
【００８２】
＜２−４−３．監視部＞
監視部４７は、カメラ座標系を機械座標系に変換するためのキャリブレーションパラメータのずれの要因となる異常の有無を監視する。図５に示されるように、監視部４７は、軌跡決定部４８と、判定部４９とを備える。
【００８３】
軌跡決定部４８は、モデル記憶部４６が記憶するシミュレーションモデルを用いてシミュレーションを行なうことにより、初回の位置特定処理で特定された対象ワークＷの初期位置から目標位置までの対象ワークＷの画像上の理想軌跡を決定する。
【００８４】
具体的には、軌跡決定部４８は、シミュレーションモデルを用いてシミュレーションを行なうことにより、視覚センサ３０による初回の位置特定処理で特定されたマーク５ａの計測位置ＰＭａから目標位置ＳＰａまでのマーク５ａの画像上の理想軌跡を決定する。同様に、軌跡決定部４８は、シミュレーションモデルを用いてシミュレーションを行なうことにより、視覚センサ３０による初回の位置特定処理で特定されたマーク５ｂの計測位置ＰＭｂから目標位置ＳＰｂまでのマーク５ｂの画像上の理想軌跡を決定する。軌跡決定部４８の具体的な処理方法については後述する。
【００８５】
判定部４９は、２回目以降の位置特定処理によって特定された対象ワークＷの位置の実軌跡と理想軌跡との比較結果に基づいて、異常の有無を判定する。判定部４９は、判定結果を表示装置５０に出力する。
【００８６】
判定部４９は、軌跡決定部４８によって決定されたマーク５ａの理想軌跡と、２回目以降の位置特定処理によって特定されたマーク５ａの計測位置ＰＭａとの乖離度を評価する。同様に、判定部４９は、軌跡決定部４８によって決定されたマーク５ｂの理想軌跡と、２回目以降の位置特定処理によって特定されたマーク５ｂの計測位置ＰＭｂとの乖離度を評価する。判定部４９は、評価結果に基づいて、異常の有無を判定する。判定部４９の具体的な処理方法については後述する。
【００８７】
§３  動作例
＜３−１．コントローラの位置決め処理の流れ＞
図６を参照して、コントローラ４０の位置決め処理の流れの一例について説明する。図６は、コントローラにおける位置決め処理の流れの一例を示すフローチャートである。
【００８８】
まずステップＳ１において、コントローラ４０は、推定位置ＰＶａ，ＰＶｂおよびエンコーダ値ＥｎＸ，ＥｎＹ，Ｅｂθを初期化する。
【００８９】
次に、対象ワークＷが移動機構１０上に載置されると、コントローラ４０は、上位の制御装置からの指示に従って、視覚センサ３０に対して撮像トリガを出力する。そして、ステップＳ２において、視覚センサ３０は、停止中の移動機構１０上の対象ワークＷを撮像する。ステップＳ３において、視覚センサ３０は、撮像された画像に含まれるマーク５ａ，５ｂの計測位置ＰＭａ，ＰＭｂをそれぞれ特定する。ステップＳ２，Ｓ３は、視覚センサ３０による初回の位置特定処理に対応する。
【００９０】
次にステップＳ４において、移動制御部４１は、移動機構１０の移動制御を開始する。移動制御部４１による移動制御の詳細については後述する。
【００９１】
次にステップＳ５において、移動制御部４１は、目標位置ＳＰａ，ＳＰｂに対する推定位置ＰＶａ，ＰＶｂのそれぞれの偏差が閾値Ｔｈ０未満か否かを判定する。閾値Ｔｈ０は、要求される位置決め精度に応じて予め定められる。目標位置ＳＰａ，ＳＰｂに対する推定位置ＰＶａ，ＰＶｂのそれぞれの偏差が閾値Ｔｈ０未満である場合（ステップＳ５でＹＥＳ）、移動制御部４１は、移動機構１０の移動制御を終了する。これにより、位置決め処理が終了する。
【００９２】
目標位置ＳＰａ，ＳＰｂに対する推定位置ＰＶａ，ＰＶｂのそれぞれの偏差の少なくとも一方が閾値Ｔｈ０未満でない場合（ステップＳ５でＮＯ）、ステップＳ６〜ステップＳ８の処理が撮像周期Ｔｂごとに繰り返される。なお、ステップＳ６〜Ｓ８の間にも、移動制御部４１による移動制御が並行して実行される。
【００９３】
ステップＳ６において、コントローラ４０は、現時刻が撮像トリガ出力時刻であるか否かを判定する。撮像トリガ出力時刻は、撮像周期Ｔｂに従って、予め定められる。すなわち、前回の撮像トリガ出力時刻から撮像周期Ｔｂだけ経過した時刻が新たな撮像トリガ出力時刻として定められる。現時刻が撮像トリガ出力時刻でない場合（ステップＳ６でＮＯ）、位置決め処理はステップＳ５に戻る。
【００９４】
現時刻が撮像トリガ出力時刻である場合（ステップＳ６でＹＥＳ）、コントローラ４０は、撮像トリガを視覚センサ３０に出力する。これにより、ステップＳ７において、撮像トリガを受けた視覚センサ３０は、移動中の移動機構１０上の対象ワークＷを撮像する。ステップＳ８において、視覚センサ３０は、撮像された画像に含まれるマーク５ａ，５ｂの計測位置ＰＭａ，ＰＭｂをそれぞれ特定する。ステップＳ７，Ｓ８は、初回の位置特定処理より後の位置特定処理（２回目以降の位置特定処理）に対応する。ステップＳ８の後、位置決め処理はステップＳ５に戻る。
【００９５】
＜３−２．移動制御部の処理＞
図７は、移動制御部による移動制御の処理の流れの一例を示すフローチャートである。まずステップＳ１１において、移動制御部４１は、視覚センサ３０によって特定された最新の計測位置ＰＭａ，ＰＭｂの座標（カメラ座標系）を取得する。次にステップＳ１２において、座標変換部４２は、計測位置ＰＭａ，ＰＭｂの座標を機械座標系に変換する。
【００９６】
ステップＳ１３において、位置決定部４３は、撮像時刻ｔｉを取得する。位置決定部４３は、撮像トリガが出力された時刻から一定の伝送遅延時間Ｔｓｄだけ経過した時刻を撮像時刻ｔｉとして取得する。伝送遅延時間Ｔｓｄは、視覚センサ３０が撮像トリガを受けてから撮像開始するまでの遅延時間である。
【００９７】
次にステップＳ１４において、位置決定部４３は、撮像時刻ｔｉに近い複数の時刻（以下、「出力時刻」という）にエンコーダ１２Ｅ，１４Ｅ，１６Ｅから出力されたエンコーダ値ＥｎＸ，ＥｎＹ，Ｅｎθを取得する。過去に検出されたエンコーダ値は、コントローラ４０の記憶部（たとえば不揮発性メモリ４１６または主メモリ４１８（図４参照））に記憶される。
【００９８】
次にステップＳ１５において、位置決定部４３は、複数の出力時刻のエンコーダ値ＥｎＸの内挿補間値を算出し、当該内挿補間値を撮像時刻ｔｉのエンコーダ値ＥｎｓＸとする。同様に、位置決定部４３は、複数の時刻のエンコーダ値ＥｎＹの内挿補間値を算出し、当該内挿補間値を撮像時刻のエンコーダ値ＥｎｓＹとする。位置決定部４３は、複数の時刻のエンコーダ値Ｅｎθの内挿補間値を算出し、当該内挿補間値を撮像時刻のエンコーダ値Ｅｎｓθとする。
【００９９】
図８は、撮像時刻のエンコーダ値ＥｎｓＸの算出方法を説明する図である。図８を参照して、位置決定部４３は、以下のようにして内挿補間値を算出する。出力時刻ｔ（ｊ）に出力されたエンコーダ値ＥｎＸをエンコーダ値ＥｎＸ（ｊ）とする。なお、エンコーダ１２Ｅがパルス信号を検出してからエンコーダ値ＥｎＸが出力するまで一定の伝送遅延時間Ｔｅｄだけ遅延する。そのため、出力時刻ｔ（ｊ）に出力されたエンコーダ値ＥｎＸ（ｊ）は、出力時刻ｔ（ｊ）から伝送遅延時間Ｔｅｄだけ前の時刻における、初期位置からのサーボモータ１２の駆動量を示している。
【０１００】
位置決定部４３は、撮像時刻ｔｉに近接する２つの出力時刻を特定する。たとえば、制御周期Ｔｓと、エンコーダ値の伝送遅延時間Ｔｅｄと、撮像トリガの伝送遅延時間ＴｓｄとがＴｓ−Ｔｅｄ≦Ｔｓｄ＜２Ｔｓ−Ｔｅｄを満たす場合、位置決定部４３は、撮像時刻ｔｉの直後の出力時刻ｔ（ｎ）と出力時刻ｔ（ｎ＋１）とを特定する。
【０１０１】
位置決定部４３は、出力時刻ｔ（ｎ）に出力されたエンコーダ値ＥｎＸ（ｎ）と、出力時刻ｔ（ｎ＋１）に出力されたエンコーダ値ＥｎＸ（ｎ＋１）とを取得する。
【０１０２】
位置決定部４３は、エンコーダ値ＥｎＸ（ｎ）とエンコーダ値ＥｎＸ（ｎ＋１）との内挿補間値を用いて、撮像時刻ｔｉのエンコーダ値ＥｎｓＸ（ｉ）を算出する。具体的には、位置決定部４３は、次の式（１）を用いて、撮像時刻ｔｉのエンコーダ値ＥｎｓＸ（ｉ）を算出する。
【０１０３】
ＥｎｓＸ（ｉ）＝ＥｎＸ（ｎ）＋Ｋｋ＊（ＥｎＸ（ｎ＋１）−ＥｎＸ（ｎ））  ・・・（１）
ここで、Ｋｋは、内挿補間係数である。Ｔｓ−Ｔｅｄ≦Ｔｓｄ＜２Ｔｓ−Ｔｅｄの場合、内挿補間係数Ｋｋは、次の式（２）を用いて算出される。
【０１０４】
Ｋｋ＝｛Ｔｓｄ−（Ｔｓ−Ｔｅｄ）｝／Ｔｓ  ・・・（２）
このような内挿補間値の算出方法を用いることによって、撮像時刻ｔｉのエンコーダ値ＥｎｓＸ（ｉ）を高精度に算出できる。同様にして、撮像時刻ｔｉのエンコーダ値ＥｎｓＹ（ｉ），Ｅｎｓθ（ｉ）が算出される。なお、撮像時刻ｔｉがエンコーダ値の出力時刻から伝送遅延時間Ｔｅｄだけ前の時刻と一致する場合には、このエンコーダ値をそのまま用いればよい。
【０１０５】
次にステップＳ１６（図７参照）において、位置決定部４３は、計測位置ＰＭａ，ＰＭｂと、撮像時刻以後のエンコーダ値ＥｎＸ，ＥｎＹ，Ｅｎθと、撮像時刻のエンコーダ値ＥｎｓＸ，ＥｎｓＹ，Ｅｎｓθとを用いて、推定位置ＰＶａ，ＰＶｂを算出する。
【０１０６】
具体的には、位置決定部４３は、Ｘ方向に（ＥｎＸ−ＥｎｓＸ）だけ並進移動し、Ｙ方向に（ＥｎＹ−ＥｎｓＹ）だけ並進移動し、（Ｅｎθ−Ｅｎｓθ）だけ回転移動するときのアフィン変換式に計測位置ＰＭａを入力する。これにより、位置決定部４３は、マーク５ａの推定位置ＰＶａの座標を算出する。同様に、位置決定部４３は、当該アフィン変換式に計測位置ＰＭｂを入力することにより、マーク５ｂの推定位置ＰＶｂの座標を算出する。
【０１０７】
次にステップＳ１７において、演算部４５は、目標位置ＳＰａ，ＳＰｂに対する推定位置ＰＶａ，ＰＶｂのそれぞれの偏差に基づいて、たとえばＰ演算により、移動指令ＭＶＸ，ＭＶＹ，ＭＶθを生成する。そして、演算部４５は、ドライバユニット２０に移動指令ＭＶＸ，ＭＶＹ，ＭＶθを出力する。
【０１０８】
このような処理を実行することによって、コントローラ４０は、画像処理による高精度な計測位置ＰＭａ，ＰＭｂが入力される時刻には、この高精度な計測位置ＰＭａ，ＰＭｂを用いて推定位置ＰＶａ．ＰＶｂを算出し、高精度な位置決め制御を実現できる。ここで、計測位置ＰＭａ，ＰＭｂが入力される時間間隔は、撮像周期Ｔｂであり、エンコーダ値ＥｎＸ，ＥｎＹ，Ｅｎθが入力される制御周期Ｔｓに比べて長い。しかしながら、時間軸上で隣り合う計測位置ＰＭａ，ＰＭｂの入力時刻間において、位置決定部４３は、入力周期が短いエンコーダ値ＥｎＸ，ＥｎＹ，Ｅｎθの入力時刻毎に、推定位置ＰＶａ，ＰＶｂを決定して、移動機構１０の移動制御を行う。これにより、高精度且つ短周期の位置決め制御が可能になる。さらに、位置決定部４３は、上述の簡単な四則演算を用いる処理を行なう。そのため、簡素な構成および処理による高速且つ高精度な位置決めを実現できる。
【０１０９】
＜３−３．マークの位置変化＞
図９は、比較例の位置決め処理と、実施の形態に係る位置決め処理とにおける、マークの位置変化の一例を示す図である。図１０は、比較例の位置決め処理と、実施の形態に係る位置決め処理とにおける、ステージ装置の移動速度の変化の一例を示す図である。
【０１１０】
比較例の位置決め処理では、対象ワークＷを撮像することにより得られた画像から移動機構１０の必要移動量が決定され、決定された必要移動量だけ移動機構１０を移動する単位処理が行なわれる。そして、単位処理による移動機構１０の移動完了後に対象ワークＷを撮像し、再度単位処理が繰り返される。このようにして単位処理を複数回繰り返すことにより、対象ワークＷの位置が目標位置に位置決めされる。
【０１１１】
図９において、符号８１，８２，８３，８４は、１，２，３，４回目の単位処理における対象ワークＷ上の対象マーク（マーク５ａまたはマーク５ｂ）の画像上の軌跡をそれぞれ示す。図１０において、符号９１，９２，９３，９４は、１，２，３，４回目の単位処理における移動機構１０の移動速度の変化をそれぞれ示す。
【０１１２】
一方、図９において、符号８０は、実施の形態に係る移動制御部４１によって移動機構１０が移動制御される場合の対象マークの画像上の軌跡を示す。図１０において、符号９０は、実施の形態に係る移動制御部４１によって移動制御される移動機構１０の移動速度の変化を示す。
【０１１３】
図９および図１０に示されるように、比較例の位置決め処理では、移動機構１０を停止させてから対象ワークＷが撮像される。そのため、位置決め処理に要する時間が長い。これに対し、実施の形態に係る位置決めシステム１では、対象ワークＷを移動しながら撮像し、撮像された画像に基づいて移動指令が生成される。そのため、位置決め処理に要する時間を短くすることができる。
【０１１４】
＜３−４．監視処理＞
図１１を参照して、コントローラ４０による位置決めシステム１の監視処理の流れの一例について説明する。図１１は、コントローラにおける監視処理の流れの一例を示すフローチャートである。図１１に示す監視処理は、対象ワークＷの位置決め処理ごとに行なわれる。また、図１１に示す監視処理は、図６に示す位置決め処理と並行して実行される。
【０１１５】
ステップＳ２１において、軌跡決定部４８は、視覚センサ３０による初回の位置特定処理（図６のステップＳ２，Ｓ３）によって特定された計測位置ＰＭａ，ＰＭｂに基づいて、マーク５ａ，５ｂの画像上の理想軌跡をそれぞれ決定する。以下では、初回の位置特定処理によって特定された計測位置ＰＭａ，ＰＭｂをそれぞれ初期位置Ｐａ（０），Ｐｂ（０）という。
【０１１６】
次にステップＳ２２において、判定部４９は、マーク５ａ，５ｂの各々について、２回目以降の位置特定処理によって特定された計測位置の実軌跡と、ステップＳ２１で決定された理想軌跡とを比較する。そして、判定部４９は、比較結果に基づいて、位置決めシステム１の異常の有無を判定する。
【０１１７】
判定結果が異常ありを示す場合（ステップＳ２３でＹＥＳ）、判定部４９は、ステップＳ２４において、キャリブレーションパラメータのずれの要因となる異常が発生している旨を示す警告を通知する。具体的には、判定部４９は、警告画面を表示装置５０に表示させる。ステップＳ２４の後、処理はステップＳ２５に移る。判定結果が異常ないを示す場合も（ステップＳ２３でＮＯ）、処理はステップＳ２５に移る。
【０１１８】
ステップＳ２５において、監視部４７は、位置決め処理が終了したか否かを判定する。すなわち、監視部４７は、図６に示すステップＳ５においてＹＥＳである場合、位置決め処理が終了したものと判定する。位置決め処理が終了していない場合（ステップＳ２５でＮＯ）、監視処理は、ステップＳ２２に戻る。位置決め処理が終了している場合（ステップＳ２５でＹＥＳ）、監視処理は終了する。
【０１１９】
＜３−５．理想軌跡の決定処理＞
軌跡決定部４８は、たとえば図１２のフローチャートに示すような処理を行うことで、理想軌跡を決定する。図１２は、図１１に示す理想軌跡の決定処理（ステップＳ２１）のサブルーチンの処理内容を示すフローチャートである。
【０１２０】
ステップＳ３１において、軌跡決定部４８は、移動制御部４１による移動機構１０の制御開始時点からの経過時間ｔを０にセットする。
【０１２１】
次にステップＳ３２において、軌跡決定部４８は、初回の位置特定処理によって特定された初期位置Ｐａ（０），Ｐｂ（０）の座標（ＸＹ座標）を視覚センサ３０から取得する。視覚センサ３０から取得された初期位置Ｐａ（０），Ｐｂ（０）の座標は、カメラ座標系で示される。さらに、軌跡決定部４８は、コントローラ４０の記憶部（たとえば不揮発性メモリ４１６または主メモリ４１８（図４参照））に、初期位置Ｐａ（０），Ｐｂ（０）の座標（カメラ座標系）を保存する。
【０１２２】
ステップＳ３３において、軌跡決定部４８は、キャリブレーションパラメータを用いて、初期位置Ｐａ（０），Ｐｂ（０）の座標をカメラ座標系から機械座標系に変換する。
【０１２３】
ステップＳ３４において、軌跡決定部４８は、モデル記憶部４６が記憶するシミュレーションモデルと位置Ｐａ（ｔ），Ｐｂ（ｔ）とを用いて、移動機構１０の必要移動量を算出する。なお、ステップＳ３３の直後のステップＳ３４では、位置Ｐａ（ｔ），Ｐｂ（ｔ）は、それぞれ初期位置Ｐａ（０），Ｐｂ（０）である。
【０１２４】
軌跡決定部４８は、位置Ｐａ（ｔ）と目標位置ＳＰａとの偏差、および、位置Ｐｂ（ｔ）と目標位置ＳＰｂとの偏差を、移動機構１０の必要移動量として算出する。当該算出処理は、移動制御部４１の減算部４４の処理と同一の処理であり、機械座標系のＸＹ座標を用いて行なわれる。
【０１２５】
次にステップＳ３５において、軌跡決定部４８は、必要移動量に応じた移動指令ＭＶＸ，ＭＶＹ，ＭＶθを算出する。当該算出処理は、移動制御部４１の演算部４５の処理と同一の処理である。
【０１２６】
次にステップＳ３６において、軌跡決定部４８は、１制御周期Ｔｓにおける、Ｘステージ１１の並進移動量ΔＸ，Ｙステージ１３の並進移動量ΔＹおよびθステージ１５の回転移動量Δθを算出する。軌跡決定部４８は、ステップＳ３５で算出した移動指令ＭＶＸに従ってＸステージ１１が理想的に移動したものと仮定して、並進移動量ΔＸを算出する。同様に、軌跡決定部４８は、ステップＳ３５で算出した移動指令ＭＶＹ，ＭＶθに従ってＹステージ１３，θステージ１５が理想的に移動したものと仮定して、並進移動量ΔＹ，回転移動量Δθをそれぞれ算出する。
【０１２７】
次にステップＳ３７において、軌跡決定部４８は、以下の式（３）に従って、１制御周期Ｔｓ後のマーク５ａの位置Ｐａ（ｔ＋Ｔｓ）の座標（機械座標系）を算出する。同様に、軌跡決定部４８は、以下の式（３）に従って、１制御周期Ｔｓ後のマーク５ｂの位置Ｐｂ（ｔ＋Ｔｓ）の座標（機械座標系）を算出する。式（３）において、ｘ，ｙは、位置Ｐａ（ｔ）または位置Ｐｂ（ｔ）のＸＹ座標（機械座標系）を示す。ｘ’，ｙ’は、位置Ｐａ（ｔ＋Ｔｓ）または位置Ｐｂ（ｔ＋Ｔｓ）のＸＹ座標（機械座標系）を示す。Ｘｏ，Ｙｏは、θステージ１５の回転中心のＸ座標，Ｙ座標をそれぞれ示す。
【０１２８】
【数１】
2019219998.tif 000003
【０１２９】
次にステップＳ３８において、軌跡決定部４８は、位置Ｐａ（ｔ＋Ｔｓ），Ｐｂ（ｔ＋Ｔｓ）のＸＹ座標（機械座標系）をカメラ座標系に座標変換する。そして、軌跡決定部４８は、コントローラ４０の記憶部に位置Ｐａ（ｔ＋Ｔｓ），Ｐｂ（ｔ＋Ｔｓ）のＸＹ座標（カメラ座標系）を保存する。
【０１３０】
次にステップＳ３９において、軌跡決定部４８は、位置Ｐａ（ｔ＋Ｔｓ），Ｐｂ（ｔ＋Ｔｓ）が目標位置ＳＰａ，ＳＰｂにそれぞれ一致したか否かを判定する。具体的には、位置Ｐａ（ｔ＋Ｔｓ），Ｐｂ（ｔ＋Ｔｓ）と目標位置ＳＰａ，ＳＰｂとのそれぞれの偏差がいずれも閾値Ｔｈ０未満である場合に、軌跡決定部４８は、位置Ｐａ（ｔ＋Ｔｓ），Ｐｂ（ｔ＋Ｔｓ）が目標位置ＳＰａ，ＳＰｂにそれぞれ一致したと判定する。
【０１３１】
位置Ｐａ（ｔ＋Ｔｓ）が目標位置ＳＰａに一致していない、もしくは、位置Ｐｂ（ｔ＋Ｔｓ）が目標位置ＳＰｂに一致していない場合（ステップＳ３９でＮＯ）、軌跡決定処理はステップＳ４０に移る。ステップＳ４０において、軌跡決定部４８は、移動機構１０の移動制御の開始時点からの経過時間ｔを１制御周期Ｔｓだけ加算した時間に再設定する。ステップＳ４０の後、ステップＳ３４〜Ｓ３９が繰り返される。
【０１３２】
位置Ｐａ（ｔ＋Ｔｓ），Ｐｂ（ｔ＋Ｔｓ）が目標位置ＳＰａ，ＳＰｂにそれぞれ一致した場合（ステップＳ３９でＹＥＳ）、軌跡決定処理は終了する。
【０１３３】
コントローラ４０の記憶部に保存された位置Ｐａ（０），Ｐａ（Ｔｓ），Ｐａ（２Ｔｓ），・・・，Ｐａ（ｎＴｓ）の座標（カメラ座標系）は、移動制御部４１による制御開始時点からの経過時間ｔと、マーク５ａの画像上の理想位置とを対応付けた情報である。位置Ｐａ（０），Ｐａ（Ｔｓ），Ｐａ（２Ｔｓ），・・・，Ｐａ（ｎＴｓ）の座標（カメラ座標系）は、マーク５ａの画像上の理想軌跡を示す。同様に、コントローラ４０の記憶部に保存された位置Ｐｂ（０），Ｐｂ（Ｔｓ），Ｐｂ（２Ｔｓ），・・・，Ｐｂ（ｎＴｓ）の座標（カメラ座標系）は、移動制御部４１による制御開始時点からの経過時間ｔと、マーク５ｂの画像上の理想位置とを対応付けた情報である。位置Ｐｂ（０），Ｐｂ（Ｔｓ），Ｐｂ（２Ｔｓ），・・・，Ｐｂ（ｎＴｓ）の座標（カメラ座標系）は、マーク５ｂの画像上の理想軌跡を示す。
【０１３４】
＜３−６．異常の有無の判定処理＞
判定部４９は、たとえば図１３のフローチャートに示すような処理を行うことで、位置決めシステム１の異常の有無を判定する。図１３は、図１１に示す異常の有無の判定処理（ステップＳ２２）のサブルーチンの処理内容を示すフローチャートである。
【０１３５】
ステップＳ４１において、判定部４９は、マーク５ａの理想軌跡に基づいて、マーク５ａが通過する画像上の第１許容領域を決定する。具体的には、判定部４９は、位置Ｐａ（０），Ｐａ（Ｔｓ），Ｐａ（２Ｔｓ），・・・，Ｐａ（ｎＴｓ）を順に繋いだ曲線（図２の実線７０参照）との距離が閾値Ｔｈ１以下である領域を第１許容領域（図２の許容領域７１参照）として決定する。
【０１３６】
同様に、ステップＳ４１において、判定部４９は、マーク５ｂの理想軌跡に基づいて、マーク５ｂが通過する画像上の第２許容領域を決定する。具体的には、判定部４９は、位置Ｐｂ（０），Ｐｂ（Ｔｓ），Ｐｂ（２Ｔｓ），・・・，Ｐｂ（ｎＴｓ）を順に繋いだ曲線（図２の実線７０参照）との偏差（距離）が閾値Ｔｈ１以下である領域を第２許容領域（図２の許容領域７１参照）として決定する。
【０１３７】
ステップＳ４２において、判定部４９は、視覚センサ３０から最新の計測位置ＰＭａ，ＰＭｂの座標（カメラ座標系）を取得する。当該計測位置ＰＭａ，ＰＭｂの座標は、２回目以降の位置特定処理（図６のステップＳ７，Ｓ８）によって特定される。
【０１３８】
次にステップＳ４３において、判定部４９は、第１許容領域内に最新の計測位置ＰＭａが位置し、かつ、第２許容領域内に最新の計測位置ＰＭｂが位置するか否かを判定する。最新の計測位置ＰＭａが第１許容領域内に位置している場合、計測位置ＰＭａとマーク５ａの理想軌跡との偏差（距離）が閾値Ｔｈ１以下であることを示している。計測位置ＰＭａとマーク５ａの理想軌跡との偏差（距離）は、実軌跡と理想軌跡との乖離度を示す特徴量の１つである。同様に、最新の計測位置ＰＭｂが第２許容領域内に位置している場合、計測位置ＰＭｂとマーク５ｂの理想軌跡との偏差（距離）が閾値Ｔｈ１以下であることを示している。計測位置ＰＭａ，ＰＭｂとマーク５ａ，５ｂの理想軌跡との偏差（距離）は、実軌跡と理想軌跡との乖離度を示す特徴量である。
【０１３９】
ステップＳ４３でＮＯの場合、判定部４９は、ステップＳ４４において、異常ありと判定する。一方、ステップＳ４３でＹＥＳの場合、判定部４９は、ステップＳ４５において、異常なしと判定する。ステップＳ４４またはステップＳ４５の後、異常の有無の判定処理は終了する。
【０１４０】
なお、図１３に示す異常の有無の判定処理は、位置決め処理が終了するまで繰り返し実行される。ステップＳ４１は、毎回同じであるため、２回目以降の異常の有無の判定処理では省略される。
【０１４１】
＜３−７．作用・効果＞
以上のように、対象ワークＷの位置決め処理を行なう位置決めシステム１は、移動機構１０と、視覚センサ３０と、移動制御部４１と、軌跡決定部４８と、判定部４９とを備える。移動機構１０は、対象ワークＷを移動させる。視覚センサ３０は、対象ワークＷを撮像し、撮像画像に基づいて対象ワークＷの位置（具体的には、マーク５ａ，５ｂの計測位置ＰＭａ，ＰＭｂ）を特定する位置特定処理を撮像周期Ｔｂごとに実行する。移動制御部４１は、視覚センサ３０によって特定された計測位置ＰＭａ，ＰＭｂが目標位置ＳＰａ，ＳＰｂにそれぞれ近づくように移動機構１０を制御する。軌跡決定部４８は、初回の位置特定処理によって特定されたマーク５ａの初期位置Ｐａ（０）から目標位置ＳＰａまでのマーク５ａの理想軌跡を決定する。さらに、軌跡決定部４８は、初回の位置特定処理によって特定されたマーク５ａの初期位置Ｐｂ（０）から目標位置ＳＰｂまでのマーク５ｂの理想軌跡を決定する。判定部４９は、初回の位置特定処理の後の位置特定処理によって特定されたマーク５ａの計測位置ＰＭａの実軌跡とマーク５ａの理想軌跡とを比較する。さらに、判定部４９は、初回の位置特定処理の後の位置特定処理によって特定されたマーク５ｂの計測位置ＰＭｂの実軌跡とマーク５ｂの理想軌跡とを比較する。判定部４９は、比較結果に基づいて、位置決めシステム１の異常の有無を判定する。
【０１４２】
視覚センサ３０のカメラ座標系と移動機構１０の機械座標系との対応関係を示すキャリブレーションパラメータのずれがない場合、マーク５ａ，５ｂの実軌跡と理想軌跡とは一致する。一方、キャリブレーションパラメータのずれがある場合、マーク５ａ，５ｂの実軌跡は、理想軌跡から外れる。そのため、判定部４９は、属人的判断に依存することなく、マーク５ａ，５ｂの実軌跡と理想軌跡との比較結果に基づいて、キャリブレーションパラメータのずれの要因となる異常の有無を精度良く判定することができる。
【０１４３】
視覚センサ３０は、対象ワークＷが停止中において初回の位置特定処理を実行し、対象ワークＷが移動中において２回目以降の位置特定処理を実行する。これにより、位置決め処理を高速化できる。
【０１４４】
判定部４９は、実軌跡と理想軌跡との乖離度を示す特徴量（計測位置ＰＭａ，ＰＭｂとマーク５ａ，５ｂの理想軌跡との偏差（距離））が閾値Ｔｈ１を超える場合に、異常が発生していると判定し、警告を通知する。これにより、作業者は、キャリブレーションパラメータのずれの要因を取り除くためのメンテナンスを適切なタイミングで行なうことができる。
【０１４５】
軌跡決定部４８は、移動機構１０および移動制御部４１のシミュレーションモデルと、初回の位置特定処理によって特定された初期位置Ｐａ（０），Ｐｂ（０）とを用いてシミュレーションを行なうことにより、マーク５ａ，５ｂの理想軌跡をそれぞれ決定する。シミュレーションモデルを用いることにより、精度良く理想軌跡を決定することができる。
【０１４６】
§４  変形例
＜４−１．変形例１＞
上記の説明では、判定部４９は、視覚センサ３０によって特定された最新の計測位置ＰＭａ，ＰＭｂが第１許容領域，第２許容領域内にそれぞれ位置するか否かに応じて、異常の有無を判定した。これに対し、判定部４９は、位置決定部４３から制御周期Ｔｓごとに出力される推定位置ＰＶａ，ＰＶｂが第１許容領域，第２許容領域内にそれぞれ位置するか否かに応じて、異常の有無を判定してもよい。
【０１４７】
なお、推定位置ＰＶａ，ＰＶｂは、機械座標系で示される。そのため、判定部４９は、推定位置ＰＶａ，ＰＶｂの座標（機械座標系）をカメラ座標系に変換した上で、推定位置ＰＶａ，ＰＶｂが第１許容領域，第２許容領域内にそれぞれ位置するか否かを判定すればよい。
【０１４８】
＜４−２．変形例２＞
判定部４９は、図１３に示す異常の有無の判定処理に代えて、図１４に示す異常の有無の判定処理を実行してもよい。図１４は、変形例２に係る判定処理のサブルーチンの処理内容を示すフローチャートである。変形例２においても、変形例１と同様に、推定位置ＰＶａ，ＰＶｂを用いて、異常の有無が判定される。
【０１４９】
まずステップＳ１４１において、判定部４９は、推定位置ＰＶａ，ＰＶｂを位置決定部４３から取得する。
【０１５０】
ステップＳ１４２において、判定部４９は、推定位置ＰＶａ，ＰＶｂの座標（機械座標系）をカメラ座標系に変換する。
【０１５１】
ステップＳ１４３において、判定部４９は、移動制御部４１による制御開始時点から推定位置ＰＶａ，ＰＶｂが出力された時点までの経過時間ｔを特定する。推定位置ＰＶａ，ＰＶｂは、制御周期Ｔｓごとに出力される。そのため、当該時間ｔは、制御開始時点から推定位置ＰＶａ，ＰＶｂが出力された回数ｋを制御周期Ｔｓに乗じた時間ｋＴｓとなる。
【０１５２】
ステップＳ１４４において、判定部４９は、図１２に示す軌跡決定処理において記憶部に保存された情報の中から、理想軌跡上の位置Ｐａ（ｋＴｓ），Ｐｂ（ｋＴｓ）の座標を読み出す。
【０１５３】
ステップＳ１４５において、判定部４９は、推定位置ＰＶａ，ＰＶｂと、理想軌跡上の位置Ｐａ（ｋＴｓ），Ｐｂ（ｋＴｓ）との偏差（距離）をそれぞれ算出する。推定位置ＰＶａ，ＰＶｂと、理想軌跡上の位置Ｐａ（ｋＴｓ），Ｐｂ（ｋＴｓ）とのそれぞれの偏差は、実軌跡と理想軌跡との乖離度を示す特徴量の１つである。
【０１５４】
ステップＳ１４６において、判定部４９は、偏差が閾値Ｔｈ１以下であるか否かを判定する。
【０１５５】
ステップＳ１４６でＮＯの場合、判定部４９は、ステップＳ１４７において、異常ありと判定する。一方、ステップＳ１４６でＹＥＳの場合、判定部４９は、ステップＳ１４８において、異常なしと判定する。ステップＳ１４７またはステップＳ１４８の後、異常の有無の判定処理は終了する。
【０１５６】
変形例２によれば、移動制御部４１の制御開始時点から経過時間ｔを考慮した、実軌跡と理想軌跡との乖離度に基づいて、異常の有無が判定される。
【０１５７】
＜４−３．変形例３＞
監視部４７は、図１１に示す監視処理に代えて、図１５に示す監視処理を実行してもよい。図１５は、変形例３に係る監視処理の流れを示すフローチャートである。変形例３に係る監視処理は、図１１に示す監視処理と比較して、ステップＳ２２の代わりにステップＳ１２１を実行し、かつ、ステップＳ２４の後にステップＳ１２２，Ｓ１２３を実行する点で相違する。以下、ステップＳ１２１，Ｓ１２２，Ｓ１２３について説明する。
【０１５８】
ステップＳ１２１において、判定部４９は、マーク５ａ，５ｂの各々について、実軌跡と理想軌跡との乖離度を示す特徴量を算出し、当該特徴量に基づいて、異常の有無および異常度の高低の判定を行なう。ステップＳ１２１の詳細については後述する。
【０１５９】
ステップＳ１２２において、ステップＳ１２１で判定された異常度の高低が確認される。異常度高である場合（ステップＳ１２２でＹＥＳ）、判定部４９は、ステップＳ１２３において、動作停止指示を移動制御部４１に出力する。これにより、移動制御部４１は、移動機構１０の移動制御を停止する。
【０１６０】
一方、異常度低である場合（ステップＳ１２２でＮＯ）、監視処理は、ステップＳ２５に移る。
【０１６１】
図１６は、図１５に示す異常の有無および異常度の高低の判定処理（ステップＳ１２１）のサブルーチンの処理内容を示すフローチャートである。図１６に示す異常の有無および異常度の高低の判定処理は、図１４に示す異常の有無の判定処理と比較して、ステップＳ１４９〜Ｓ１５１をさらに実行する点で相違する。以下、ステップＳ１４９〜Ｓ１５１について説明する。
【０１６２】
ステップＳ１４７の後、判定部４９は、ステップＳ１４９において、計測位置ＰＭａ，ＰＭｂと理想軌跡上の位置Ｐａ（ｋＴｓ），Ｐｂ（ｋＴｓ）との偏差が閾値Ｔｈ２以下であるか否かを判定する。閾値Ｔｈ２は、閾値Ｔｈ１よりも大きい。
【０１６３】
ステップＳ１４９でＮＯの場合、判定部４９は、ステップＳ１５０において、異常度高と判定する。一方、ステップＳ１４９でＹＥＳの場合、判定部４９は、ステップＳ１５１において、異常度低と判定する。ステップＳ１５０またはステップＳ１５１の後、異常の有無および異常度の高低の判定処理は終了する。
【０１６４】
＜４−４．変形例４＞
上記の説明では、監視処理は、位置決め処理と並行して実行される。しかしながら、監視処理は、位置決め処理が終了した後に実行されてもよい。位置決め処理が終了しているため、マーク５ａ，５ｂの各々について実軌跡が特定されている。マーク５ａ，５ｂの実軌跡は、位置決め処理中に位置決定部４３から出力される推定位置ＰＶａ，ＰＶｂをそれぞれ順に繋ぐことにより特定される。もしくは、マーク５ａ，５ｂの実軌跡は、位置決め処理中に視覚センサ３０から出力される計測位置ＰＭａ，ＰＭｂをそれぞれ順に繋ぐことにより特定されてもよい。
【０１６５】
判定部４９は、マーク５ａ，５ｂの各々について、実軌跡と理想軌跡との乖離度を示す特徴量を算出し、算出した特徴量に基づいて、異常の有無および異常度の高低の判定を行なえばよい。特徴量としては、たとえば、実軌跡と理想軌跡とで囲まれる領域の面積（実軌跡と理想軌跡との偏差の積分値）を用いることができる。もしくは、特徴量として、移動制御部４１による制御開始時点からの経過時間が同一である、実軌跡上の点と理想軌跡上の点との偏差（距離）の最大値を用いてもよい。
【０１６６】
＜４−５．変形例５＞
図１７は、変形例５に係るコントローラの機能構成を示す図である。図１７に示されるように、変形例５に係る位置決めシステム１Ａは、図５に示す位置決めシステム１と比較して、コントローラ４０の代わりにコントローラ４０Ａを備える点で相違する。コントローラ４０Ａは、図５に示すコントローラ４０と比較して、監視部４７の代わりに監視部４７Ａを備え、モデル記憶部４６を備えない点で相違する。監視部４７Ａは、監視部４７と比較して、軌跡決定部４８の代わりに軌跡決定部４８Ａを備える点で相違する。
【０１６７】
軌跡決定部４８Ａは、初期位置の入力に応じて理想軌跡を示す関数を出力するための機械学習が行なわれた学習器１４８を有し、学習器１４８を用いて、マーク５ａ，５ｂの理想軌跡を決定する。
【０１６８】
学習器１４８は、位置決めシステムが正常であるときに実行された複数回の位置決め処理の各々において特定された複数の計測位置の座標を学習データとして用いて機械学習を行なうことにより構築される。位置決めシステムが正常であるときとは、たとえば、キャリブレーションパラメータのずれが小さい、位置決めシステムの立ち上げ時期である。
【０１６９】
具体的には、学習器１４８は、各位置決め処理における初回の位置特定処理で特定された計測位置ＰＭａと、当該位置決め処理において撮像周期Ｔｂごとに特定される複数の計測位置ＰＭａを順に繋いだ軌跡を示す情報である関数Ｐａ（ｔ）との対応関係を学習する。関数Ｐａ（ｔ）は、移動制御部４１による制御開始時点からの経過時間ｔと、制御開始時点から経過時間ｔだけ経過したときのマーク５ａの画像上の位置の座標（カメラ座標系）とを対応付けた関数である。
【０１７０】
同様に、学習器１４８は、各位置決め処理における初回の位置特定処理で特定された計測位置ＰＭｂと、当該位置決め処理において撮像周期Ｔｂごとに特定される複数の計測位置ＰＭｂを順に繋いだ軌跡を示す情報である関数Ｐｂ（ｔ）との対応関係を学習する。関数Ｐｂ（ｔ）は、移動制御部４１による制御開始時点からの経過時間ｔと、制御開始時点から経過時間ｔだけ経過したときのマーク５ｂの画像上の位置のＸＹ座標（カメラ座標系）とを対応付けた関数である。
【０１７１】
軌跡決定部４８Ａは、初期位置Ｐａ（０）を学習器１４８に入力し、学習器１４８から出力される関数で示される軌跡を、マーク５ａの画像上の理想軌跡として決定する。軌跡決定部４８Ａは、初期位置Ｐｂ（０）を学習器１４８に入力することにより、学習器１４８から出力された関数で示される軌跡を、マーク５ｂの画像上の理想軌跡として決定する。
【０１７２】
変形例５によれば、軌跡決定部４８Ａは、実態に合った理想軌跡を決定することができる。
【０１７３】
＜４−６．変形例６＞
図１８は、変形例６に係る位置決めシステムの構成を示す図である。図１８に示されるように、変形例６に係る位置決めシステムの視覚センサ３０は、対象ワークＷとともに、定位置に固定された基準ワークＷ０を撮像する。基準ワークＷ０は、透光性を有する素材で構成される。そのため、視覚センサ３０は、対象ワークＷの特徴部分であるマーク５ａ，５ｂと、基準ワークＷ０の特徴部分であるマーク６ａ、６ｂとを同時に撮像できる。
【０１７４】
視覚センサ３０は、基準ワークＷ０のマーク６ａ，６ｂの位置も合わせて特定する。コントローラ４０は、視覚センサ３０によって特定されたマーク６ａの位置を目標位置ＳＰａとして設定し、視覚センサ３０によって特定されたマーク６ｂの位置を目標位置ＳＰｂとして設定する。
【０１７５】
＜４−７．変形例７＞
判定部４９は、位置決め処理ごとに、理想軌跡および実軌跡を示す画面を表示装置５０に表示させてもよい。
【０１７６】
図１９は、理想軌跡および実軌跡を示す画面の一例である。図１９において、実線７０は対象マーク（マーク５ａまたはマーク５ｂ）の理想軌跡を示し、実線７２は対象マークの実軌跡を示す。作業者は、図１９に示されるような画面を確認することにより、キャリブレーションパラメータのずれの程度を把握できる。
【０１７７】
さらに、判定部４９は、移動制御部４１による制御開始時点からの経過時間が同一である、実軌跡上の位置と理想軌跡上の位置との偏差をＸ方向およびＹ方向の成分に分解し、各成分の経時変化を示す画面を表示装置５０に表示させてもよい。Ｘ方向は、Ｘステージ１１の移動方向であり、Ｙ方向はＹステージ１３の移動方向である。
【０１７８】
図２０は、実軌跡上の位置と理想軌跡上の位置との偏差のＸ方向およびＹ方向の各々の成分の経時変化を示す画面の一例を示す図である。作業者は、図２０のような画面を確認することにより、移動機構１０の異常箇所を推測することができる。すなわち、理想軌跡と実軌跡とでＹ方向の偏差がＸ方向の偏差よりも大きい場合、作業者は、Ｙステージ１３に異常が発生していると推測できる。その結果、メンテナンスに要する時間を短縮できる。
【０１７９】
さらに、判定部４９は、位置決め処理ごとに算出される、理想軌跡と実軌跡との乖離度を示す特徴量の推移を示す画面を表示装置５０に表示させてもよい。これにより、作業者は、移動機構１０の経年劣化などの状況を把握することができる。
【０１８０】
判定部４９は、たとえば理想軌跡と実軌跡とで囲まれる領域の面積（つまり、理想軌跡と実軌跡との偏差の積分値）（図１９の斜線部の面積）を、理想軌跡と実軌跡との乖離度を示す特徴量として算出する。判定部４９は、位置決め処理ごとに当該特徴量を算出し、特徴量の推移を示す画面を表示装置５０に表示させる。
【０１８１】
図２１は、理想軌跡と実軌跡との乖離度を示す特徴量（偏差の積分値）の時間変化を示す画面の一例を示す図である。図２１に示されるように、理想軌跡と実軌跡との乖離度を示す特徴量は、移動機構１０の経年劣化に伴い、徐々に大きくなる。図２１に示す画面を確認することにより、作業者は、現時刻の特徴量の値と閾値Ｔｈ１との差を把握することができる。その結果、作業者は、キャリブレーションなどのメンテナンスが必要とされる時期を予測できる。なお、図２１に示す画面例は、特徴量の推移を示すグラフ画像を含む。しかしながら、判定部２１は、特徴量の数値を時系列に並べた画面を表示装置５０に表示させてもよい。
【０１８２】
＜４−８．その他の変形例＞
上記の説明では、軌跡決定部４８，４８Ａは、マーク５ａ，５ｂの各々の理想軌跡を決定した。しかしながら、軌跡決定部４８，４８Ａは、マーク５ａ，５ｂの中点の理想軌跡を決定してもよい。この場合、判定部４９は、視覚センサ３０によって特定された計測位置ＰＭａ，ＰＭｂの中点の実軌跡と理想軌跡との比較結果に基づいて、位置決めシステム１の異常の発生の有無を判定してもよい。
【０１８３】
上記の説明では、対象ワークＷに設けられたマーク５ａ，５ｂを対象ワークＷの特徴部分として用いて、対象ワークＷが位置決めされる。しかしながら、対象ワークＷの他の部分を特徴部分として用いて対象ワークＷが位置決めされてもよい。たとえば、対象ワークＷに設けられたネジまたはネジ穴を特徴部分として用いてもよい。もしくは、対象ワークＷの角部を特徴部分として用いてもよい。
【０１８４】
上記の説明では、コントローラ４０は、移動制御部４１と監視部４７とを備える。しかしながら、監視部４７は、コントローラ４０とは別の情報処理装置に備えられていてもよい。
【０１８５】
§５  付記
以上のように、本実施の形態および変形例は以下のような開示を含む。
【０１８６】
（構成１）
対象物（Ｗ）の位置決め処理を行なう位置決めシステム（１，１Ａ）であって、
前記対象物（Ｗ）を移動させるための移動機構（１０）と、
前記対象物（Ｗ）を撮像し、撮像画像に基づいて前記対象物（Ｗ）の位置を特定する位置特定処理を撮像周期ごとに実行するための視覚センサ（３０）と、
前記視覚センサ（３０）によって特定された位置が目標位置に近づくように前記移動機構（１０）を制御するための移動制御部（４１）と、
初回の位置特定処理によって特定された前記対象物（Ｗ）の位置から前記目標位置までの前記対象物（Ｗ）の理想軌跡を決定する軌跡決定部（４８，４８Ａ）と、
前記初回の位置特定処理の後の位置特定処理によって特定された前記対象物（Ｗ）の位置の実軌跡と前記理想軌跡との比較結果に基づいて、前記位置決めシステム（１，１Ａ）の異常の有無を判定する判定部（４９）とを備える、位置決めシステム（１，１Ａ）。
【０１８７】
（構成２）
前記視覚センサ（３０）は、前記対象物（Ｗ）が停止中において前記初回の位置特定処理を実行し、前記対象物（Ｗ）が移動中において前記後の位置特定処理を実行する、構成１に記載の位置決めシステム（１，１Ａ）。
【０１８８】
（構成３）
前記判定部（４９）は、前記実軌跡と前記理想軌跡との乖離度を示す特徴量が第１閾値を超える場合に、前記異常が発生していると判定し、警告を通知する、構成１または２に記載の位置決めシステム（１，１Ａ）。
【０１８９】
（構成４）
前記判定部（４９）は、前記特徴量が第２閾値を超える場合に、前記移動機構（１０）を停止させ、
前記第２閾値は前記第１閾値よりも大きい、構成３に記載の位置決めシステム（１，１Ａ）。
【０１９０】
（構成５）
前記特徴量は、後の位置特定処理によって特定された前記対象物（Ｗ）の位置と前記理想軌跡との偏差である、構成３または４に記載の位置決めシステム（１，１Ａ）。
【０１９１】
（構成６）
前記実軌跡および前記理想軌跡は、前記移動制御部（４１）による前記移動機構（１０）の制御開始時点からの経過時間と、前記対象物（Ｗ）の位置とを対応付けた情報により示され、
前記特徴量は、前記経過時間が同一である、前記実軌跡上の位置と前記理想軌跡上の位置との偏差の最大値または積分値である、構成３または４に記載の位置決めシステム（１，１Ａ）。
【０１９２】
（構成７）
前記軌跡決定部（４８）は、前記移動機構（１０）および前記移動制御部（４１）のシミュレーションモデルと、前記初回の位置特定処理によって特定された前記対象物（Ｗ）の位置とを用いてシミュレーションを行なうことにより、前記理想軌跡を決定する、構成１から６のいずれかに記載の位置決めシステム（１）。
【０１９３】
（構成８）
前記軌跡決定部（４８Ａ）は、学習データを用いた機械学習によって、入力された前記対象物（Ｗ）の位置に対応する、当該位置から前記目標位置までの前記対象物（Ｗ）の軌跡を示す情報を出力するように構築された学習済みの学習器（１４８）をさらに備え、
前記学習データは、前記位置決めシステムが正常であるときに実行された前記位置決め処理において前記視覚センサ（３０）によって特定された前記対象物（Ｗ）の位置を示すデータであり、
前記軌跡決定部（４８Ａ）は、前記初回の位置特定処理によって特定された前記対象物（Ｗ）の位置を前記学習器（１４８）に入力することにより、前記学習器（１４８）から出力された前記情報で示される軌跡を前記理想軌跡として決定する、構成１から６のいずれかに記載の位置決めシステム（１Ａ）。
【０１９４】
（構成９）
前記判定部（４９）は、前記実軌跡と前記理想軌跡とを示す画面を表示装置（５０）に出力する、構成１から８のいずれかに記載の位置決めシステム（１，１Ａ）。
【０１９５】
（構成１０）
前記実軌跡および前記理想軌跡は、前記移動制御部による前記移動機構の制御開始時点からの経過時間と、前記対象物の位置とを対応付けた情報により示され、
前記移動機構（１０）は、互いに異なる移動方向に並進移動する複数の並進機構（１１，１３）を含み、
前記判定部（４９）は、前記経過時間が同一である、前記実軌跡上の位置と前記理想軌跡上の位置との偏差を、前記複数の並進機構（１１，１３）の各々に対応する前記移動方向の成分に分解し、各成分の経時変化を示す画面を表示装置（５０）に出力する、構成１または２に記載の位置決めシステム。
【０１９６】
（構成１１）
前記判定部（４９）は、前記特徴量の推移を示す画面を表示装置（５０）に出力する、構成３から６のいずれかに記載の位置決めシステム（１，１Ａ）。
【０１９７】
（構成１２）
構成１から１１のいずれかに記載の位置決めシステム（１，１Ａ）に用いられる監視装置であって、
前記軌跡決定部と、
前記判定部（４９）とを備える、監視装置（４０，４０Ａ）。
【０１９８】
（構成１３）
対象物（Ｗ）の位置決め処理を行なう位置決めシステム（１，１Ａ）の監視方法であって、
前記位置決めシステム（１，１Ａ）は、
前記対象物（Ｗ）を移動させるための移動機構（１０）と、
前記対象物（Ｗ）を撮像し、撮像画像に基づいて前記対象物（Ｗ）の位置を特定する位置特定処理を撮像周期ごとに実行するための視覚センサ（３０）と、
前記視覚センサ（３０）によって特定された位置が目標位置に近づくように前記移動機構（１０）を制御するための移動制御部（４１）とを備え、
初回の位置特定処理によって特定された前記対象物（Ｗ）の位置から前記目標位置までの前記対象物（Ｗ）の理想軌跡を決定するステップと、
前記初回の位置特定処理の後の位置特定処理によって特定された前記対象物（Ｗ）の位置の実軌跡と前記理想軌跡との比較結果に基づいて、前記位置決めシステムの異常の有無を判定するステップとを備える、監視方法。
【０１９９】
（構成１４）
対象物（Ｗ）の位置決め処理を行なう位置決めシステム（１，１Ａ）の監視方法をコンピュータに実行させるためのプログラムであって、
前記位置決めシステム（１，１Ａ）は、
前記対象物（Ｗ）を移動させるための移動機構（１０）と、
前記対象物（Ｗ）を撮像し、撮像画像に基づいて前記対象物（Ｗ）の位置を特定する位置特定処理を撮像周期ごとに実行するための視覚センサ（３０）と、
前記視覚センサ（３０）によって特定された位置が目標位置に近づくように前記移動機構（１０）を制御するための移動制御部（４１）とを備え、
前記監視方法は、
初回の位置特定処理によって特定された前記対象物（Ｗ）の位置から前記目標位置までの前記対象物（Ｗ）の理想軌跡を決定するステップと、
前記初回の位置特定処理の後の位置特定処理によって特定された前記対象物（Ｗ）の位置の実軌跡と前記理想軌跡との比較結果に基づいて、前記位置決めシステム（１，１Ａ）の異常の有無を判定するステップとを備える、プログラム。
【０２００】
今回開示された各実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組合せても、実施することが意図される。
【符号の説明】
【０２０１】
１，１Ａ  位置決めシステム、５ａ，５ｂ，６ａ，６ｂ  マーク、１０  移動機構、１１  Ｘステージ、１２，１４，１６  サーボモータ、１２Ｅ，１４Ｅ，１６Ｅ  エンコーダ、１３  Ｙステージ、１５  θステージ、２０  ドライバユニット、２２，２４，２６  サーボドライバ、３０  視覚センサ、３１  撮像部、３２  画像処理装置、４０，４０Ａ  コントローラ、４１  移動制御部、４２  座標変換部、４３  位置決定部、４４  減算部、４５  演算部、４６  モデル記憶部、４７，４７Ａ  監視部、４８，４８Ａ  軌跡決定部、４９  判定部、５０  表示装置、５１，６１，４２４  記録媒体、６０  表示部、７１  許容領域、１４８  学習器、３１０，４１４  プロセッサ、３１２  ＲＡＭ、３１４，４２６  表示コントローラ、３１６  システムコントローラ、３１８  Ｉ／Ｏコントローラ、３２０  ハードディスク、３２２  カメラインターフェイス、３２４  入力インターフェイス、３２６  コントローラインターフェイス、３２８，４１７，４２８  通信インターフェイス、３３０，４２２  メモリカードインターフェイス、３３４  キーボード、４１２  チップセット、４１６  不揮発性メモリ、４１８  主メモリ、４２０  システムクロック、４３０  内部バスコントローラ、４３２  ＤＭＡ制御回路、４３４  内部バス制御回路、４３６  バッファメモリ、４３８  フィールドバスコントローラ、４４０  制御プログラム、Ｗ  対象ワーク、Ｗ０  基準ワーク。
【図１】
2019219998.tif 000004
【図２】
2019219998.tif 000005
【図３】
2019219998.tif 000006
【図４】
2019219998.tif 000007
【図５】
2019219998.tif 000008
【図６】
2019219998.tif 000009
【図７】
2019219998.tif 000010
【図８】
2019219998.tif 000011
【図９】
2019219998.tif 000012
【図１０】
2019219998.tif 000013
【図１１】
2019219998.tif 000014
【図１２】
2019219998.tif 000015
【図１３】
2019219998.tif 000016
【図１４】
2019219998.tif 000017
【図１５】
2019219998.tif 000018
【図１６】
2019219998.tif 000019
【図１７】
2019219998.tif 000020
【図１８】
2019219998.tif 000021
【図１９】
2019219998.tif 000022
【図２０】
2019219998.tif 000023
【図２１】
2019219998.tif 000024