IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オムロン株式会社の特許一覧

特許7143643位置決めシステム、監視装置、監視方法およびプログラム
<>
  • 特許-位置決めシステム、監視装置、監視方法およびプログラム 図1
  • 特許-位置決めシステム、監視装置、監視方法およびプログラム 図2
  • 特許-位置決めシステム、監視装置、監視方法およびプログラム 図3
  • 特許-位置決めシステム、監視装置、監視方法およびプログラム 図4
  • 特許-位置決めシステム、監視装置、監視方法およびプログラム 図5
  • 特許-位置決めシステム、監視装置、監視方法およびプログラム 図6
  • 特許-位置決めシステム、監視装置、監視方法およびプログラム 図7
  • 特許-位置決めシステム、監視装置、監視方法およびプログラム 図8
  • 特許-位置決めシステム、監視装置、監視方法およびプログラム 図9
  • 特許-位置決めシステム、監視装置、監視方法およびプログラム 図10
  • 特許-位置決めシステム、監視装置、監視方法およびプログラム 図11
  • 特許-位置決めシステム、監視装置、監視方法およびプログラム 図12
  • 特許-位置決めシステム、監視装置、監視方法およびプログラム 図13
  • 特許-位置決めシステム、監視装置、監視方法およびプログラム 図14
  • 特許-位置決めシステム、監視装置、監視方法およびプログラム 図15
  • 特許-位置決めシステム、監視装置、監視方法およびプログラム 図16
  • 特許-位置決めシステム、監視装置、監視方法およびプログラム 図17
  • 特許-位置決めシステム、監視装置、監視方法およびプログラム 図18
  • 特許-位置決めシステム、監視装置、監視方法およびプログラム 図19
  • 特許-位置決めシステム、監視装置、監視方法およびプログラム 図20
  • 特許-位置決めシステム、監視装置、監視方法およびプログラム 図21
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-20
(45)【発行日】2022-09-29
(54)【発明の名称】位置決めシステム、監視装置、監視方法およびプログラム
(51)【国際特許分類】
   G05D 3/12 20060101AFI20220921BHJP
   G05B 19/18 20060101ALI20220921BHJP
   B23Q 17/24 20060101ALI20220921BHJP
   G03F 9/00 20060101ALI20220921BHJP
【FI】
G05D3/12 K
G05B19/18 X
B23Q17/24 C
G03F9/00 Z
【請求項の数】 14
(21)【出願番号】P 2018117879
(22)【出願日】2018-06-21
(65)【公開番号】P2019219998
(43)【公開日】2019-12-26
【審査請求日】2020-12-11
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】川又 功征
【審査官】稲垣 浩司
(56)【参考文献】
【文献】特開2003-50106(JP,A)
【文献】特開2002-66875(JP,A)
【文献】特開2002-287827(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 3/12
G05B 19/18
B23Q 17/24
G03F 9/00
(57)【特許請求の範囲】
【請求項1】
対象物の位置決め処理を行なう位置決めシステムであって、
前記対象物を移動させるための移動機構と、
前記対象物を撮像し、撮像画像に基づいて前記対象物の位置を特定する位置特定処理を撮像周期ごとに実行するための視覚センサと、
前記視覚センサによって特定された位置が目標位置に近づくように前記移動機構を制御するための移動制御部と、
初回の位置特定処理によって特定された前記対象物の位置から前記目標位置までの前記対象物の理想軌跡を決定するための軌跡決定部と、
前記初回の位置特定処理の後の位置特定処理によって特定された前記対象物の位置の実軌跡と前記理想軌跡との比較結果に基づいて、前記位置決めシステムの異常の有無を判定するための判定部とを備える、位置決めシステム。
【請求項2】
前記視覚センサは、前記対象物が停止中において前記初回の位置特定処理を実行し、前記対象物が移動中において前記後の位置特定処理を実行する、請求項1に記載の位置決めシステム。
【請求項3】
前記判定部は、前記実軌跡と前記理想軌跡との乖離度を示す特徴量が第1閾値を超える場合に、前記異常が発生していると判定し、警告を通知する、請求項1または2に記載の位置決めシステム。
【請求項4】
前記判定部は、前記特徴量が第2閾値を超える場合に、前記移動機構を停止させ、
前記第2閾値は前記第1閾値よりも大きい、請求項3に記載の位置決めシステム。
【請求項5】
前記特徴量は、前記後の位置特定処理によって特定された前記対象物の位置と前記理想軌跡との偏差である、請求項3または4に記載の位置決めシステム。
【請求項6】
前記実軌跡および前記理想軌跡は、前記移動制御部による前記移動機構の制御開始時点からの経過時間と、前記対象物の位置とを対応付けた情報により示され、
前記特徴量は、前記経過時間が同一である、前記実軌跡上の位置と前記理想軌跡上の位置との偏差の最大値または積分値である、請求項3または4に記載の位置決めシステム。
【請求項7】
前記軌跡決定部は、前記移動機構および前記移動制御部のシミュレーションモデルと、前記初回の位置特定処理によって特定された前記対象物の位置とを用いてシミュレーションを行なうことにより、前記理想軌跡を決定する、請求項1から6のいずれか1項に記載の位置決めシステム。
【請求項8】
前記軌跡決定部は、学習データを用いた機械学習によって、入力された前記対象物の位置に対応する、当該位置から前記目標位置までの前記対象物の軌跡を示す情報を出力するように構築された学習済みの学習器をさらに備え、
前記学習データは、前記位置決めシステムが正常であるときに実行された前記位置決め処理において前記視覚センサによって特定された前記対象物の位置を示すデータであり、
前記軌跡決定部は、前記初回の位置特定処理によって特定された前記対象物の位置を前記学習器に入力することにより、前記学習器から出力された前記情報で示される軌跡を前記理想軌跡として決定する、請求項1から6のいずれか1項に記載の位置決めシステム。
【請求項9】
前記判定部は、前記実軌跡と前記理想軌跡とを示す画面を表示装置に出力する、請求項1から8のいずれか1項に記載の位置決めシステム。
【請求項10】
前記実軌跡および前記理想軌跡は、前記移動制御部による前記移動機構の制御開始時点からの経過時間と、前記対象物の位置とを対応付けた情報により示され、
前記移動機構は、互いに異なる移動方向に並進移動する複数の並進機構を含み、
前記判定部は、前記経過時間が同一である、前記実軌跡上の位置と前記理想軌跡上の位置との偏差を、前記複数の並進機構の各々に対応する前記移動方向の成分に分解し、各成分の経時変化を示す画面を表示装置に出力する、請求項1または2に記載の位置決めシステム。
【請求項11】
前記判定部は、前記特徴量の推移を示す画面を表示装置に出力する、請求項3から6のいずれか1項に記載の位置決めシステム。
【請求項12】
請求項1から11のいずれか1項に記載の位置決めシステムに用いられる監視装置であって、
前記軌跡決定部と、
前記判定部とを備える、監視装置。
【請求項13】
対象物の位置決め処理を行なう位置決めシステムの監視方法であって、
前記位置決めシステムは、
前記対象物を移動させるための移動機構と、
前記対象物を撮像し、撮像画像に基づいて前記対象物の位置を特定する位置特定処理を撮像周期ごとに実行するための視覚センサと、
前記視覚センサによって特定された位置が目標位置に近づくように前記移動機構を制御するための移動制御部とを備え、
初回の位置特定処理によって特定された前記対象物の位置から前記目標位置までの前記対象物の理想軌跡を決定するステップと、
前記初回の位置特定処理の後の位置特定処理によって特定された前記対象物の位置の実軌跡と前記理想軌跡との比較結果に基づいて、前記位置決めシステムの異常の有無を判定するステップとを備える、監視方法。
【請求項14】
対象物の位置決め処理を行なう位置決めシステムの監視方法をコンピュータに実行させるためのプログラムであって、
前記位置決めシステムは、
前記対象物を移動させるための移動機構と、
前記対象物を撮像し、撮像画像に基づいて前記対象物の位置を特定する位置特定処理を撮像周期ごとに実行するための視覚センサと、
前記視覚センサによって特定された位置が目標位置に近づくように前記移動機構を制御するための移動制御部とを備え、
前記監視方法は、
初回の位置特定処理によって特定された前記対象物の位置から前記目標位置までの前記対象物の理想軌跡を決定するステップと、
前記初回の位置特定処理の後の位置特定処理によって特定された前記対象物の位置の実軌跡と前記理想軌跡との比較結果に基づいて、前記位置決めシステムの異常の有無を判定するステップとを備える、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、視覚センサを用いた位置決めシステム、監視装置、監視方法およびプログラムに関する。
【背景技術】
【0002】
FA(ファクトリーオートメーション)において、対象物の位置を目標位置に合わせる位置決めシステムが各種実用化されている。対象物の位置と目標位置との偏差(距離)を計測する方法として、視覚センサによって撮像された画像を用いる方法がある。当該方法では、視覚センサの座標系と対象物を移動させる移動機構の座標系とを対応付ける処理であるキャリブレーションが行なわれる。
【0003】
特開2003-50106号公報(特許文献1)には、以下のステップ(a)~(e)を行なうことによりキャリブレーションパラメータを決定する技術が開示されている。ステップ(a)は、テーブル又は撮像部を移動させ、テーブルと撮像部との位置関係を算出する。ステップ(b)は、テーブル又は撮像部を移動させ、テーブルとテーブルの所定部分との位置関係を算出する。ステップ(c)は、テーブル又は撮像部を移動させ、補正量を求めてテーブルとテーブルの所定部分との位置関係を補正する。ステップ(d)は、テーブル又は撮像部を移動させ、テーブルと撮像部との位置関係を再算出する。ステップ(e)は、ステップ(c)において求められた補正量が所定の値以下となるまで、ステップ(c)及びステップ(d)を繰り返す。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2003-50106号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
キャリブレーションは、装置の立ち上げ段階に行なわれる。しかしながら、移動機構を構成する機械の経年変化に伴って、視覚センサの座標系を移動機構の座標系に精度良く変換することができなくなる。このような場合、再キャリブレーション、部品の交換、機械の調整などのメンテナンスを行なう必要がある。従来、メンテナンスを行なう必要があるか否かは、作業者に依存した基準で判定されていた。すなわち、作業者は、製造物の不良率の増加量、生産タクトの増加量などの傾向から、メンテナンスの必要性を経験的に判定していた。そのため、位置決めシステムにおける異常が見逃される可能性があった。
【0006】
本発明は、上記の問題を鑑みてなされたものであり、その目的は、異常の有無を精度良く判定可能な位置決めシステム、当該位置決めシステムに用いられる監視装置、当該位置決めシステムの監視方法およびプログラムを提供することである。
【課題を解決するための手段】
【0007】
本開示の一例によれば、対象物の位置決め処理を行なう位置決めシステムは、移動機構と、視覚センサと、移動制御部と、軌跡決定部と、判定部とを備える。移動機構は、対象物を移動させる。視覚センサは、対象物を撮像し、撮像画像に基づいて対象物の位置を特定する位置特定処理を撮像周期ごとに実行する。移動制御部は、視覚センサによって特定された位置が目標位置に近づくように移動機構を制御する。軌跡決定部は、初回の位置特定処理によって特定された対象物の位置から目標位置までの対象物の理想軌跡を決定する。判定部は、初回の位置特定処理の後の位置特定処理によって特定された対象物の位置の実軌跡と理想軌跡との比較結果に基づいて、位置決めシステムの異常の有無を判定する。
【0008】
視覚センサの座標系と移動機構の機械座標系との対応関係を示すキャリブレーションパラメータのずれがある場合、実軌跡は理想軌跡から外れる。そのため、上記の開示によれば、判定部は、属人的判断に依存することなく、実軌跡と理想軌跡との比較結果に基づいて、キャリブレーションパラメータのずれの要因となる異常の有無を精度良く判定することができる。
【0009】
上記の開示において、視覚センサは、対象物が停止中において初回の位置特定処理を実行し、対象物が移動中において後の位置特定処理を実行する。この開示によれば、位置決め処理を高速化できる。
【0010】
上記の開示において、判定部は、実軌跡と理想軌跡との乖離度を示す特徴量が第1閾値を超える場合に、異常が発生していると判定し、警告を通知する。この開示によれば、作業者は、キャリブレーションパラメータのずれの要因を取り除くためのメンテナンスを適切なタイミングで行なうことができる。
【0011】
上記の開示において、判定部は、特徴量が第2閾値を超える場合に、移動機構を停止させる。第2閾値は第1閾値よりも大きい。
【0012】
特徴量が第1閾値よりも大きい第2閾値を超える場合、移動機構の引っ掛かりなどの突発的な異常が発生している可能性が高い。このような場合、移動機構を継続して駆動すると、移動機構の故障を引き起こす可能性がある。しかしながら、この開示によれば、特徴量が第2閾値を超える場合に、移動機構を停止させる。その結果、移動機構の故障を未然に回避できる。
【0013】
上記の開示において、特徴量は、上記の後の位置特定処理によって特定された対象物の位置と理想軌跡との偏差である。
【0014】
もしくは、実軌跡および理想軌跡は、移動制御部による移動機構の制御開始時点からの経過時間と、対象物の位置とを対応付けた情報により示される。特徴量は、経過時間が同一である、実軌跡上の位置と理想軌跡上の位置との偏差の最大値または積分値であってもよい。
【0015】
上記の開示において、軌跡決定部は、移動機構および移動制御部のシミュレーションモデルと、初回の位置特定処理によって特定された対象物の位置とを用いてシミュレーションを行なうことにより、理想軌跡を決定する。この開示によれば、シミュレーションモデルを用いることにより、精度良く理想軌跡を決定することができる。
【0016】
上記の開示において、軌跡決定部は、学習データを用いた機械学習によって、入力された対象物の位置に対応する、当該位置から目標位置までの対象物の軌跡を示す情報を出力するように構築された学習済みの学習器をさらに備える。学習データは、位置決めシステムが正常であるときに実行された位置決め処理において視覚センサによって特定された対象物の位置を示すデータである。軌跡決定部は、初回の位置特定処理によって特定された対象物の位置を学習器に入力することにより、学習器から出力された情報で示される軌跡を理想軌跡として決定する。この開示によれば、軌跡決定部は、実態に合った理想軌跡を決定することができる。
【0017】
上記の開示において、判定部は、実軌跡と理想軌跡とを示す画面を表示装置に出力する。この開示によれば、作業者は、当該画面を確認することにより、キャリブレーションパラメータのずれの程度を把握できる。
【0018】
上記の開示において、実軌跡および理想軌跡は、移動制御部による移動機構の制御開始時点からの経過時間と、対象物の位置とを対応付けた情報により示される。移動機構は、互いに異なる移動方向に並進移動する複数の並進機構を含む。判定部は、経過時間が同一である、実軌跡上の位置と理想軌跡上の位置との偏差を、複数の並進機構の各々に対応する移動方向の成分に分解し、各成分の経時変化を示す画面を表示装置に出力する。
【0019】
この開示によれば、作業者は、表示装置の画面を確認することにより、移動機構の異常箇所を推測することができる。
【0020】
上記の開示において、判定部は、特徴量の推移を示す画面を表示装置に出力する。この開示によれば、作業者は、移動機構の経年劣化などの状況を把握することができる。
【0021】
本開示の一例によれば、上記の位置決めシステムに用いられる監視装置は、上記の軌跡決定部と、上記の判定部とを備える。この開示によっても、判定部は、属人的判断に依存することなく、実軌跡と理想軌跡との比較結果に基づいて、キャリブレーションパラメータのずれの要因となる異常の有無を精度良く判定することができる。
【0022】
本開示の一例によれば、対象物の位置決め処理を行なう位置決めシステムの監視方法は、第1および第2のステップを備える。位置決めシステムは、対象物を移動させるための移動機構と、対象物を撮像し、撮像画像に基づいて対象物の位置を特定する位置特定処理を撮像周期ごとに実行するための視覚センサと、視覚センサによって特定された位置が目標位置に近づくように移動機構を制御するための移動制御部とを備える。第1のステップは、初回の位置特定処理によって特定された対象物の位置から目標位置までの対象物の理想軌跡を決定するステップである。第2のステップは、初回の位置特定処理の後の位置特定処理によって特定された対象物の位置の実軌跡と理想軌跡との比較結果に基づいて、位置決めシステムの異常の有無を判定するステップである。この開示によっても、キャリブレーションパラメータのずれの要因となる異常の有無を精度良く判定することができる。
【0023】
本開示の一例によれば、上記の監視方法をコンピュータに実行させるためのプログラムは、上記の第1および第2のステップをコンピュータに実行させる。この開示によっても、キャリブレーションパラメータのずれの要因となる異常の有無を精度良く判定することができる。
【発明の効果】
【0024】
本発明によれば、位置決めシステムの異常の有無を精度良く判定できる。
【図面の簡単な説明】
【0025】
図1】本実施の形態に係る位置決めシステムの概要を示す模式図である。
図2】理想軌跡と実軌跡との一例を示す図である。
図3】本実施の形態に係る位置決めシステム1を構成する画像処理装置のハードウェア構成を示す模式図である。
図4】実施の形態に係る位置決めシステムを構成するコントローラのハードウェア構成を示す模式図である。
図5図1に示される位置決めシステムの機能構成の一例を示すブロック図である。
図6】コントローラにおける位置決め処理の流れの一例を示すフローチャートである。
図7】移動制御部による移動制御の処理の流れの一例を示すフローチャートである。
図8】撮像時刻のエンコーダ値EnsXの算出方法を説明する図である。
図9】比較例の位置決め処理と、実施の形態に係る位置決め処理とにおける、マークの位置変化の一例を示す図である。
図10】比較例の位置決め処理と、実施の形態に係る位置決め処理とにおける、ステージ装置の移動速度の変化の一例を示す図である。
図11】コントローラにおける監視処理の流れの一例を示すフローチャートである。
図12図11に示す理想軌跡の決定処理(ステップS21)のサブルーチンの処理内容を示すフローチャートである。
図13図11に示す異常の有無の判定処理(ステップS22)のサブルーチンの処理内容を示すフローチャートである。
図14】変形例2に係る判定処理のサブルーチンの処理内容を示すフローチャートである。
図15】変形例3に係る監視処理の流れを示すフローチャートである。
図16図15に示す異常の有無および異常度の高低の判定処理(ステップS121)のサブルーチンの処理内容を示すフローチャートである。
図17】変形例5に係るコントローラの機能構成を示す図である。
図18】変形例6に係る位置決めシステムの構成を示す図である。
図19】理想軌跡および実軌跡を示す画面の一例である。
図20】実軌跡上の位置と理想軌跡上の位置との偏差のX方向およびY方向の各々の成分の経時変化を示す画面の一例を示す図である。
図21】理想軌跡と実軌跡との乖離度を示す特徴量(偏差の積分値)の時間変化を示す画面の一例を示す図である。
【発明を実施するための形態】
【0026】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0027】
§1 適用例
図1を参照して、本発明が適用される場面の一例について説明する。図1は、本実施の形態に係る位置決めシステムの概要を示す模式図である。図1に示す位置決めシステム1は、画像処理を用いて対象物(以下、「対象ワークW」という)の位置決めを行う。位置決めは、典型的には、工業製品の製造過程などにおいて、対象ワークWを生産ラインの本来の位置に配置する処理などを意味する。たとえば、位置決めシステム1は、液晶パネルの生産ラインにおいて、ガラス基板に回路パターンの焼付処理(露光処理)前に、露光マスクに対するガラス基板の位置決めを行なう。
【0028】
図1に示すように、位置決めシステム1は、移動機構10と、ドライバユニット20と、視覚センサ30と、コントローラ40と、表示装置50とを備える。
【0029】
移動機構10は、載置される対象ワークWを移動する。移動機構10は、対象ワークWを目標位置に配置できる機構であればどのような自由度のものであってもよい。移動機構10は、たとえば、水平方向の並進移動と回転移動とを対象ワークWに与えることができるXYθステージである。
【0030】
図1に示す例の移動機構10は、XYθステージであり、Xステージ11と、Yステージ13と、θステージ15と、サーボモータ12,14,16とを含む。Xステージ11は、サーボモータ12の駆動によりX方向に沿って並進移動する並進機構である。Yステージ13は、サーボモータ14の駆動によりY方向に沿って並進移動する並進機構である。θステージ15は、サーボモータ16の駆動によりθ方向に回転移動する回転機構である。θステージ15の上に対象ワークWが載置される。
【0031】
サーボモータ12,14,16にはエンコーダ12E,14E,16Eがそれぞれ設けられる。エンコーダ12E,14E,16Eの各々は、対応するサーボモータの駆動量(回転量)に応じたパルス信号をそれぞれ発生する。エンコーダ12Eは、パルス信号に含まれるパルス数をカウントすることにより、初期位置からのXステージ11の移動量をエンコーダ値EnXとして計測する。パルス数のカウント値と移動量とは、所定の係数によって関係付けられる。そのため、エンコーダ12Eは、パルス数のカウント値に当該係数を乗ずることにより、移動量を計測できる。同様に、エンコーダ14Eは、初期位置からのYステージ13のY方向の並進移動量をエンコーダ値EnYとして計測する。エンコーダ16Eは、初期位置からのθステージ15の回転移動量をエンコーダ値Enθとして計測する。
【0032】
ドライバユニット20は、制御周期Tsごとにコントローラ40から受ける移動指令に従って、移動機構10の動作制御を行う。図1に示されるように、ドライバユニット20は、サーボドライバ22,24,26を含む。サーボドライバ22,24,26は、サーボモータ12,14,16からエンコーダ値EnX,EnY,Enθを制御周期Tsごとにそれぞれ取得する。制御周期Tsは、固定であり、たとえば1msである。
【0033】
サーボドライバ22は、Xステージ11の移動量が移動指令に近付くように、サーボモータ12に対してフィードバック制御を行なう。サーボドライバ24は、Yステージ13の移動量が移動指令に近付くように、サーボモータ14に対してフィードバック制御を行なう。サーボドライバ26は、θステージ15の移動量が移動指令に近付くように、サーボモータ16に対してフィードバック制御を行なう。
【0034】
ドライバユニット20は、移動機構10から取得したエンコーダ値EnX,EnY,Enθをコントローラ40に出力する。
【0035】
視覚センサ30は、対象ワークWを撮像し、撮像した画像に基づいて対象ワークWの位置を特定する位置特定処理を撮像周期Tbごとに実行する。撮像周期Tbは、撮像状況などに応じて変動し、たとえば約60msである。図1に示す例では、視覚センサ30は、対象ワークWの位置として、対象ワークWに設けられた特徴部分であるマーク5a,5bの位置を特定する。
【0036】
視覚センサ30は、定位置に設置された撮像部31と、画像処理装置32とを含む。撮像部31は、撮像視野に存在する被写体を撮像して画像データを生成する撮像処理を行なうものであり、対象ワークWを撮像する。撮像部31は、たとえばカメラである。
【0037】
画像処理装置32は、撮像部31により生成された画像データに対して画像解析を行ない、マーク5a,5bの位置の座標を算出する。当該座標は、視覚センサ30に対応するローカル座標系(以下、「カメラ座標系」という)で示される。
【0038】
コントローラ40は、たとえばPLC(プログラマブルロジックコントローラ)であり、各種のFA制御を行なう。
【0039】
コントローラ40は、視覚センサ30によって特定された対象ワークWの位置に基づいて、対象ワークWの位置が目標位置に近づくように、制御周期Tsごとに移動指令を更新してドライバユニット20に出力する。図1に示す例では、コントローラ40は、視覚センサ30によって特定されたマーク5a,5bの各々の位置が対応する目標位置に近づくように、制御周期Tsごとに移動指令を更新してドライバユニット20に出力する。
【0040】
上述したように、視覚センサ30によって特定されるマーク5a,5bの位置の座標は、カメラ座標系で示される。一方、コントローラ40の制御対象である移動機構10の移動量は、移動機構10の座標系(以下、「機械座標系」という)で示される。そのため、コントローラ40は、カメラ座標系と機械座標系とを対応付けるキャリブレーションパラメータを用いて、マーク5a,5bの位置の座標をカメラ座標系から機械座標系に変換し、変換後の座標を用いて移動指令MVを生成する。
【0041】
さらに、コントローラ40は、キャリブレーションパラメータのずれの要因となる異常の有無を監視する。「キャリブレーションパラメータのずれ」とは、現在設定されているキャリブレーションパラメータと、移動機構10の現在の状態に対応する理想的なキャリブレーションパラメータとの偏差を意味する。キャリブレーションパラメータのずれの要因となる異常には、たとえば、移動機構10の経年劣化、外部要因などが含まれる。
【0042】
コントローラ40は、対象ワークWに対する視覚センサ30の初回の位置特定処理で特定された対象ワークWの位置(初期位置)から目標位置までの対象ワークWの画像上の理想軌跡を決定する。理想軌跡は、キャリブレーションパラメータのずれが0であると仮定したときの、対象ワークWの画像上の軌跡を示す。
【0043】
たとえば、コントローラ40は、視覚センサ30によって特定されたマーク5aの初期位置からマーク5aの目標位置までのマーク5aの画像上の理想軌跡を決定する。さらに、コントローラ40は、視覚センサ30によって特定されたマーク5bの初期位置からマーク5bの目標位置までのマーク5bの画像上の理想軌跡を決定する。
【0044】
コントローラ40は、2回目以降の位置特定処理によって特定された対象ワークWの位置の実軌跡と理想軌跡との比較結果に基づいて、キャリブレーションパラメータのずれの要因となる異常の有無を判定する。判定部49は、判定結果を表示装置50に出力する。
【0045】
上述したように、視覚センサ30によって撮像周期Tbごとに特定されるマーク5a,5bの位置が対応する目標位置にそれぞれ近づくように、コントローラ40は移動機構10を制御する。そのため、キャリブレーションパラメータのずれが生じていたとしても、対象ワークWのマーク5a,5bの各々は、最終的に対応する目標位置に到達する。ただし、キャリブレーションパラメータのずれが生じているため、実軌跡は理想軌跡から外れる。
【0046】
図2は、理想軌跡と実軌跡との一例を示す図である。図2には、マーク5a,5bのうちの一方である対象マークについての理想軌跡と実軌跡とが示される。なお、他方のマークについても同様である。
【0047】
図2において、位置P(0)は、初回の位置特定処理によって特定された画像上の対象マークの初期位置を示す。実線70は、位置P(0)から対象マークの目標位置SPまでの理想軌跡を示す。実線72aは、対象マークの実軌跡の一例を示す。実線72bは、対象マークの実軌跡の別の例を示す。
【0048】
コントローラ40は、たとえば、実線70で示される理想軌跡を含む許容領域71を設定する。許容領域71は、実験的または理論的に定められる。コントローラ40は、実軌跡が許容領域71内である場合、キャリブレーションパラメータのずれの要因となる異常が発生していないと判定する。図2に示す例では、実線72aで示される実軌跡に対して、コントローラ40は、キャリブレーションパラメータのずれの要因のなる異常が発生していないと判定する。
【0049】
一方、コントローラ40は、実軌跡が許容領域71から外れた場合、キャリブレーションパラメータのずれの要因となる異常が発生していると判定する。図2に示す例では、実線72bで示される実軌跡に対して、判定部49は、キャリブレーションパラメータのずれの要因となる異常が発生していると判定する。
【0050】
これにより、コントローラ40は、属人的判断に依存することなく、キャリブレーションパラメータのずれの要因となる異常の有無を精度良く判定することができる。
【0051】
§2 具体例
次に、本実施の形態に係る位置決めシステムの一例について説明する。
【0052】
<2-1.画像処理装置のハードウェア構成>
図3は、本実施の形態に係る位置決めシステム1を構成する画像処理装置32のハードウェア構成を示す模式図である。画像処理装置32は、典型的には、汎用的なコンピュータアーキテクチャに従う構造を有しており、予めインストールされたプログラムをプロセッサが実行することで、後述するような各種の画像処理を実現する。
【0053】
より具体的には、画像処理装置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を中心として、互いにデータ通信可能に接続される。
【0054】
プロセッサ310は、システムコントローラ316との間でプログラム(コード)などを交換して、これらを所定順序で実行することで、目的の演算処理を実現する。
【0055】
システムコントローラ316は、プロセッサ310、RAM312、表示コントローラ314、およびI/Oコントローラ318とそれぞれバスを介して接続されており、各部との間でデータ交換などを行うとともに、画像処理装置32全体の処理を司る。
【0056】
RAM312は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク320から読み出されたプログラムや、撮像部31によって撮像された画像(画像データ)、画像に対する処理結果、およびワークデータなどを保持する。画像に対する処理結果には、当該画像に含まれるマーク5a,5bの位置座標が含まれる。
【0057】
表示コントローラ314は、表示部60と接続されており、システムコントローラ316からの内部コマンドに従って、各種の情報を表示するための信号を表示部60へ出力する。
【0058】
I/Oコントローラ318は、画像処理装置32に接続される記録媒体や外部機器との間のデータ交換を制御する。より具体的には、I/Oコントローラ318は、ハードディスク320と、カメラインターフェイス322と、入力インターフェイス324と、コントローラインターフェイス326と、通信インターフェイス328と、メモリカードインターフェイス330と接続される。
【0059】
ハードディスク320は、典型的には、不揮発性の磁気記憶装置であり、プロセッサ310で実行されるプログラムに加えて、各種設定値などが格納される。
【0060】
カメラインターフェイス322は、対象ワークWを撮影することで生成された画像データを受付ける入力部に相当し、プロセッサ310と撮像部31との間のデータ伝送を仲介する。カメラインターフェイス322は、撮像部31からの画像データをそれぞれ一時的に蓄積するための画像バッファを含む。
【0061】
入力インターフェイス324は、プロセッサ310とキーボード334、マウス、タッチパネル、専用コンソールなどの入力装置との間のデータ伝送を仲介する。
【0062】
コントローラインターフェイス326は、プロセッサ310とコントローラ40との間のデータ伝送を仲介する。
【0063】
通信インターフェイス328は、プロセッサ310と図示しない他のパーソナルコンピュータやサーバ装置などとの間のデータ伝送を仲介する。通信インターフェイス328は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。
【0064】
メモリカードインターフェイス330は、プロセッサ310と記録媒体61との間のデータ伝送を仲介する。
【0065】
<2-2.コントローラのハードウェア構成>
図4は、実施の形態に係る位置決めシステムを構成するコントローラ40のハードウェア構成を示す模式図である。コントローラ40は、チップセット412と、プロセッサ414と、不揮発性メモリ416と、主メモリ418と、システムクロック420と、メモリカードインターフェイス422と、表示コントローラ426と、通信インターフェイス428と、内部バスコントローラ430と、フィールドバスコントローラ438とを含む。チップセット412と他のコンポーネントとの間は、各種のバスを介してそれぞれ結合されている。
【0066】
プロセッサ414およびチップセット412は、典型的には、汎用的なコンピュータアーキテクチャに従う構成を有している。すなわち、プロセッサ414は、チップセット412から内部クロックに従って順次供給される命令コードを解釈して実行する。チップセット412は、接続されている各種コンポーネントとの間で内部的なデータを遣り取りするとともに、プロセッサ414に必要な命令コードを生成する。システムクロック420は、予め定められた周期のシステムクロックを発生してプロセッサ414に提供する。チップセット412は、プロセッサ414での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。
【0067】
コントローラ40は、記憶手段として、不揮発性メモリ416および主メモリ418を有する。不揮発性メモリ416は、プロセッサ414で実行される制御プログラム440に加えて、データ定義情報、ログ情報などを不揮発的に保持する。制御プログラム440は、記録媒体424などに格納された状態で流通する。主メモリ418は、揮発性の記憶領域であり、プロセッサ414で実行されるべき各種プログラムを保持するとともに、各種プログラムの実行時の作業用メモリとしても使用される。
【0068】
コントローラ40は、通信手段として、通信インターフェイス428および内部バスコントローラ430を有する。これらの通信回路は、データの送信および受信を行う。
【0069】
通信インターフェイス428は、視覚センサ30との間でデータを遣り取りする。内部バスコントローラ430は、データの遣り取りを制御する。より具体的には、内部バスコントローラ430は、バッファメモリ436と、DMA(Dynamic Memory Access)制御回路432と、内部バス制御回路434とを含む。
【0070】
メモリカードインターフェイス422は、コントローラ40に対して着脱可能な記録媒体424とプロセッサ414とを接続する。記録媒体424は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的または化学的作用によって蓄積する媒体である。記録媒体424は、コントローラ40で実行される制御プログラム440などが格納された状態で流通し、メモリカードインターフェイス422は、記録媒体424から制御プログラムを読み出す。記録媒体424は、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記録媒体や、CD-ROM(Compact Disk Read Only Memory)などの光学記録媒体等からなる。あるいは、通信インターフェイス428を介して、配信サーバなどからダウンロードしたプログラムをコントローラ40にインストールしてもよい。
【0071】
フィールドバスコントローラ438は、フィールドネットワークに接続するための通信インターフェイスである当該フィールドネットワークには、たとえば、EtherCAT(登録商標)、EtherNet/IP(登録商標)、CompoNet(登録商標)などが採用される。コントローラ40は、フィールドバスコントローラ438を介してサーボドライバ22,24,26と接続される。
【0072】
表示コントローラ426は、表示装置50と接続されており、チップセット412からのコマンドに従って、各種の情報を表示するための信号を表示装置50へ出力する。
【0073】
<2-3.画像処理装置の処理例>
図5は、図1に示される位置決めシステムの機能構成の一例を示すブロック図である。画像処理装置32は、撮像部31によって撮像された画像の中からマーク5a,5b(図1参照)を探索し、マーク5aの位置(以下、「計測位置PMa」という)とマーク5bの位置(以下、「計測位置PMb」という)とを特定する。画像処理装置32は、公知のパターン認識技術を用いて、画像の中からマーク5a,5bを認識すればよい。画像処理装置32は、計測位置PMa,PMbの座標を計測する。当該座標は、カメラ座標系で示される。
【0074】
<2-4.コントローラの機能構成>
図5に示されるように、コントローラ40は、移動制御部41とモデル記憶部46と監視部47とを備える。移動制御部41および監視部47は、図4に示すプロセッサ414が制御プログラム440を実行することにより実現される。モデル記憶部46は、図4に示す不揮発性メモリ416および主メモリ418により実現される。
【0075】
<2-4-1.移動制御部>
移動制御部41は、マーク5aの計測位置PMaが目標位置SPaに近づくとともに、マーク5bの計測位置PMbが目標位置SPbに近づくように、移動指令を生成する。目標位置SPa,SPbは予め定められている。図5に示されるように、移動制御部41は、座標変換部42と、位置決定部43と、減算部44と、演算部45とを備える。
【0076】
上述したように、視覚センサ30から出力される計測位置PMa、PMbは、カメラ座標系で示される。一方、移動制御部41の制御対象である移動機構10の移動量は、機械座標系で示される。
【0077】
そのため、座標変換部42は、カメラ座標系を機械座標系に変換するためのキャリブレーションパラメータを用いて、視覚センサ30によって特定された計測位置PMa,PMbの座標変換を行ない、機械座標系における計測位置PMa,PMbの座標を算出する。座標変換部42は、たとえばアフィン変換を用いて座標変換を行なえばよい。座標変換部42は、機械座標系における計測位置PMa,PMbの座標を位置決定部43に出力する。
【0078】
計測位置PMa,PMbは、撮像周期Tbごとに特定される。一方、移動指令は、制御周期Tsごとに生成される。上述したように、撮像周期Tbは、制御周期Tsよりも長い。そのため、視覚センサ30によって特定された計測位置PMa,PMbのみを用いて移動機構10が制御されると、オーバシュートおよび振動が生じやすくなる。このようなオーバシュートおよび振動を避けるため、位置決定部43は、視覚センサ30によって撮像周期Tbごとに特定された計測位置PMa,PMbと制御周期Tsごとに出力されるエンコーダ値EnX,EnY,Enθとに基づいて、制御周期Tsごとに対象ワークWの2つのマーク5a,5bの推定位置PVa,PVbをそれぞれ決定する。推定位置PVa,PVbの決定方法については後述する。
【0079】
減算部44は、推定位置PVaと目標位置SPaとの偏差(距離)と、推定位置PVbと目標位置SPbとの偏差(距離)とを出力する。
【0080】
演算部45は、推定位置PVaと目標位置SPaとの偏差および推定位置PVbと目標位置SPbとの偏差が0に収束するように演算(P演算またはPID演算)を行ない、制御周期Tsごとに移動指令MVX,MVY,MVθを算出する。移動指令MVXは、Xステージ11(図1参照)に対する移動指令である。移動指令MVYは、Yステージ13(図1参照)に対する移動指令である。移動指令MVθは、θステージ15(図1参照)に対する移動指令である。演算部45は、算出した移動指令MVX、MVY,MVθをドライバユニット20に出力する。移動指令MVX、MVY,MVθは、たとえば位置指令または速度指令である。
【0081】
<2-4-2.モデル記憶部>
モデル記憶部46は、移動機構10、ドライバユニット20および移動制御部41を模擬したシミュレーションモデルを記憶する。シミュレーションモデルは、移動機構10の設計データ、移動制御部41の処理を規定するプログラムなどから構成される。
【0082】
<2-4-3.監視部>
監視部47は、カメラ座標系を機械座標系に変換するためのキャリブレーションパラメータのずれの要因となる異常の有無を監視する。図5に示されるように、監視部47は、軌跡決定部48と、判定部49とを備える。
【0083】
軌跡決定部48は、モデル記憶部46が記憶するシミュレーションモデルを用いてシミュレーションを行なうことにより、初回の位置特定処理で特定された対象ワークWの初期位置から目標位置までの対象ワークWの画像上の理想軌跡を決定する。
【0084】
具体的には、軌跡決定部48は、シミュレーションモデルを用いてシミュレーションを行なうことにより、視覚センサ30による初回の位置特定処理で特定されたマーク5aの計測位置PMaから目標位置SPaまでのマーク5aの画像上の理想軌跡を決定する。同様に、軌跡決定部48は、シミュレーションモデルを用いてシミュレーションを行なうことにより、視覚センサ30による初回の位置特定処理で特定されたマーク5bの計測位置PMbから目標位置SPbまでのマーク5bの画像上の理想軌跡を決定する。軌跡決定部48の具体的な処理方法については後述する。
【0085】
判定部49は、2回目以降の位置特定処理によって特定された対象ワークWの位置の実軌跡と理想軌跡との比較結果に基づいて、異常の有無を判定する。判定部49は、判定結果を表示装置50に出力する。
【0086】
判定部49は、軌跡決定部48によって決定されたマーク5aの理想軌跡と、2回目以降の位置特定処理によって特定されたマーク5aの計測位置PMaとの乖離度を評価する。同様に、判定部49は、軌跡決定部48によって決定されたマーク5bの理想軌跡と、2回目以降の位置特定処理によって特定されたマーク5bの計測位置PMbとの乖離度を評価する。判定部49は、評価結果に基づいて、異常の有無を判定する。判定部49の具体的な処理方法については後述する。
【0087】
§3 動作例
<3-1.コントローラの位置決め処理の流れ>
図6を参照して、コントローラ40の位置決め処理の流れの一例について説明する。図6は、コントローラにおける位置決め処理の流れの一例を示すフローチャートである。
【0088】
まずステップS1において、コントローラ40は、推定位置PVa,PVbおよびエンコーダ値EnX,EnY,Ebθを初期化する。
【0089】
次に、対象ワークWが移動機構10上に載置されると、コントローラ40は、上位の制御装置からの指示に従って、視覚センサ30に対して撮像トリガを出力する。そして、ステップS2において、視覚センサ30は、停止中の移動機構10上の対象ワークWを撮像する。ステップS3において、視覚センサ30は、撮像された画像に含まれるマーク5a,5bの計測位置PMa,PMbをそれぞれ特定する。ステップS2,S3は、視覚センサ30による初回の位置特定処理に対応する。
【0090】
次にステップS4において、移動制御部41は、移動機構10の移動制御を開始する。移動制御部41による移動制御の詳細については後述する。
【0091】
次にステップS5において、移動制御部41は、目標位置SPa,SPbに対する推定位置PVa,PVbのそれぞれの偏差が閾値Th0未満か否かを判定する。閾値Th0は、要求される位置決め精度に応じて予め定められる。目標位置SPa,SPbに対する推定位置PVa,PVbのそれぞれの偏差が閾値Th0未満である場合(ステップS5でYES)、移動制御部41は、移動機構10の移動制御を終了する。これにより、位置決め処理が終了する。
【0092】
目標位置SPa,SPbに対する推定位置PVa,PVbのそれぞれの偏差の少なくとも一方が閾値Th0未満でない場合(ステップS5でNO)、ステップS6~ステップS8の処理が撮像周期Tbごとに繰り返される。なお、ステップS6~S8の間にも、移動制御部41による移動制御が並行して実行される。
【0093】
ステップS6において、コントローラ40は、現時刻が撮像トリガ出力時刻であるか否かを判定する。撮像トリガ出力時刻は、撮像周期Tbに従って、予め定められる。すなわち、前回の撮像トリガ出力時刻から撮像周期Tbだけ経過した時刻が新たな撮像トリガ出力時刻として定められる。現時刻が撮像トリガ出力時刻でない場合(ステップS6でNO)、位置決め処理はステップS5に戻る。
【0094】
現時刻が撮像トリガ出力時刻である場合(ステップS6でYES)、コントローラ40は、撮像トリガを視覚センサ30に出力する。これにより、ステップS7において、撮像トリガを受けた視覚センサ30は、移動中の移動機構10上の対象ワークWを撮像する。ステップS8において、視覚センサ30は、撮像された画像に含まれるマーク5a,5bの計測位置PMa,PMbをそれぞれ特定する。ステップS7,S8は、初回の位置特定処理より後の位置特定処理(2回目以降の位置特定処理)に対応する。ステップS8の後、位置決め処理はステップS5に戻る。
【0095】
<3-2.移動制御部の処理>
図7は、移動制御部による移動制御の処理の流れの一例を示すフローチャートである。まずステップS11において、移動制御部41は、視覚センサ30によって特定された最新の計測位置PMa,PMbの座標(カメラ座標系)を取得する。次にステップS12において、座標変換部42は、計測位置PMa,PMbの座標を機械座標系に変換する。
【0096】
ステップS13において、位置決定部43は、撮像時刻tiを取得する。位置決定部43は、撮像トリガが出力された時刻から一定の伝送遅延時間Tsdだけ経過した時刻を撮像時刻tiとして取得する。伝送遅延時間Tsdは、視覚センサ30が撮像トリガを受けてから撮像開始するまでの遅延時間である。
【0097】
次にステップS14において、位置決定部43は、撮像時刻tiに近い複数の時刻(以下、「出力時刻」という)にエンコーダ12E,14E,16Eから出力されたエンコーダ値EnX,EnY,Enθを取得する。過去に検出されたエンコーダ値は、コントローラ40の記憶部(たとえば不揮発性メモリ416または主メモリ418(図4参照))に記憶される。
【0098】
次にステップS15において、位置決定部43は、複数の出力時刻のエンコーダ値EnXの内挿補間値を算出し、当該内挿補間値を撮像時刻tiのエンコーダ値EnsXとする。同様に、位置決定部43は、複数の時刻のエンコーダ値EnYの内挿補間値を算出し、当該内挿補間値を撮像時刻のエンコーダ値EnsYとする。位置決定部43は、複数の時刻のエンコーダ値Enθの内挿補間値を算出し、当該内挿補間値を撮像時刻のエンコーダ値Ensθとする。
【0099】
図8は、撮像時刻のエンコーダ値EnsXの算出方法を説明する図である。図8を参照して、位置決定部43は、以下のようにして内挿補間値を算出する。出力時刻t(j)に出力されたエンコーダ値EnXをエンコーダ値EnX(j)とする。なお、エンコーダ12Eがパルス信号を検出してからエンコーダ値EnXが出力するまで一定の伝送遅延時間Tedだけ遅延する。そのため、出力時刻t(j)に出力されたエンコーダ値EnX(j)は、出力時刻t(j)から伝送遅延時間Tedだけ前の時刻における、初期位置からのサーボモータ12の駆動量を示している。
【0100】
位置決定部43は、撮像時刻tiに近接する2つの出力時刻を特定する。たとえば、制御周期Tsと、エンコーダ値の伝送遅延時間Tedと、撮像トリガの伝送遅延時間TsdとがTs-Ted≦Tsd<2Ts-Tedを満たす場合、位置決定部43は、撮像時刻tiの直後の出力時刻t(n)と出力時刻t(n+1)とを特定する。
【0101】
位置決定部43は、出力時刻t(n)に出力されたエンコーダ値EnX(n)と、出力時刻t(n+1)に出力されたエンコーダ値EnX(n+1)とを取得する。
【0102】
位置決定部43は、エンコーダ値EnX(n)とエンコーダ値EnX(n+1)との内挿補間値を用いて、撮像時刻tiのエンコーダ値EnsX(i)を算出する。具体的には、位置決定部43は、次の式(1)を用いて、撮像時刻tiのエンコーダ値EnsX(i)を算出する。
【0103】
EnsX(i)=EnX(n)+Kk*(EnX(n+1)-EnX(n)) ・・・(1)
ここで、Kkは、内挿補間係数である。Ts-Ted≦Tsd<2Ts-Tedの場合、内挿補間係数Kkは、次の式(2)を用いて算出される。
【0104】
Kk={Tsd-(Ts-Ted)}/Ts ・・・(2)
このような内挿補間値の算出方法を用いることによって、撮像時刻tiのエンコーダ値EnsX(i)を高精度に算出できる。同様にして、撮像時刻tiのエンコーダ値EnsY(i),Ensθ(i)が算出される。なお、撮像時刻tiがエンコーダ値の出力時刻から伝送遅延時間Tedだけ前の時刻と一致する場合には、このエンコーダ値をそのまま用いればよい。
【0105】
次にステップS16(図7参照)において、位置決定部43は、計測位置PMa,PMbと、撮像時刻以後のエンコーダ値EnX,EnY,Enθと、撮像時刻のエンコーダ値EnsX,EnsY,Ensθとを用いて、推定位置PVa,PVbを算出する。
【0106】
具体的には、位置決定部43は、X方向に(EnX-EnsX)だけ並進移動し、Y方向に(EnY-EnsY)だけ並進移動し、(Enθ-Ensθ)だけ回転移動するときのアフィン変換式に計測位置PMaを入力する。これにより、位置決定部43は、マーク5aの推定位置PVaの座標を算出する。同様に、位置決定部43は、当該アフィン変換式に計測位置PMbを入力することにより、マーク5bの推定位置PVbの座標を算出する。
【0107】
次にステップS17において、演算部45は、目標位置SPa,SPbに対する推定位置PVa,PVbのそれぞれの偏差に基づいて、たとえばP演算により、移動指令MVX,MVY,MVθを生成する。そして、演算部45は、ドライバユニット20に移動指令MVX,MVY,MVθを出力する。
【0108】
このような処理を実行することによって、コントローラ40は、画像処理による高精度な計測位置PMa,PMbが入力される時刻には、この高精度な計測位置PMa,PMbを用いて推定位置PVa.PVbを算出し、高精度な位置決め制御を実現できる。ここで、計測位置PMa,PMbが入力される時間間隔は、撮像周期Tbであり、エンコーダ値EnX,EnY,Enθが入力される制御周期Tsに比べて長い。しかしながら、時間軸上で隣り合う計測位置PMa,PMbの入力時刻間において、位置決定部43は、入力周期が短いエンコーダ値EnX,EnY,Enθの入力時刻毎に、推定位置PVa,PVbを決定して、移動機構10の移動制御を行う。これにより、高精度且つ短周期の位置決め制御が可能になる。さらに、位置決定部43は、上述の簡単な四則演算を用いる処理を行なう。そのため、簡素な構成および処理による高速且つ高精度な位置決めを実現できる。
【0109】
<3-3.マークの位置変化>
図9は、比較例の位置決め処理と、実施の形態に係る位置決め処理とにおける、マークの位置変化の一例を示す図である。図10は、比較例の位置決め処理と、実施の形態に係る位置決め処理とにおける、ステージ装置の移動速度の変化の一例を示す図である。
【0110】
比較例の位置決め処理では、対象ワークWを撮像することにより得られた画像から移動機構10の必要移動量が決定され、決定された必要移動量だけ移動機構10を移動する単位処理が行なわれる。そして、単位処理による移動機構10の移動完了後に対象ワークWを撮像し、再度単位処理が繰り返される。このようにして単位処理を複数回繰り返すことにより、対象ワークWの位置が目標位置に位置決めされる。
【0111】
図9において、符号81,82,83,84は、1,2,3,4回目の単位処理における対象ワークW上の対象マーク(マーク5aまたはマーク5b)の画像上の軌跡をそれぞれ示す。図10において、符号91,92,93,94は、1,2,3,4回目の単位処理における移動機構10の移動速度の変化をそれぞれ示す。
【0112】
一方、図9において、符号80は、実施の形態に係る移動制御部41によって移動機構10が移動制御される場合の対象マークの画像上の軌跡を示す。図10において、符号90は、実施の形態に係る移動制御部41によって移動制御される移動機構10の移動速度の変化を示す。
【0113】
図9および図10に示されるように、比較例の位置決め処理では、移動機構10を停止させてから対象ワークWが撮像される。そのため、位置決め処理に要する時間が長い。これに対し、実施の形態に係る位置決めシステム1では、対象ワークWを移動しながら撮像し、撮像された画像に基づいて移動指令が生成される。そのため、位置決め処理に要する時間を短くすることができる。
【0114】
<3-4.監視処理>
図11を参照して、コントローラ40による位置決めシステム1の監視処理の流れの一例について説明する。図11は、コントローラにおける監視処理の流れの一例を示すフローチャートである。図11に示す監視処理は、対象ワークWの位置決め処理ごとに行なわれる。また、図11に示す監視処理は、図6に示す位置決め処理と並行して実行される。
【0115】
ステップS21において、軌跡決定部48は、視覚センサ30による初回の位置特定処理(図6のステップS2,S3)によって特定された計測位置PMa,PMbに基づいて、マーク5a,5bの画像上の理想軌跡をそれぞれ決定する。以下では、初回の位置特定処理によって特定された計測位置PMa,PMbをそれぞれ初期位置Pa(0),Pb(0)という。
【0116】
次にステップS22において、判定部49は、マーク5a,5bの各々について、2回目以降の位置特定処理によって特定された計測位置の実軌跡と、ステップS21で決定された理想軌跡とを比較する。そして、判定部49は、比較結果に基づいて、位置決めシステム1の異常の有無を判定する。
【0117】
判定結果が異常ありを示す場合(ステップS23でYES)、判定部49は、ステップS24において、キャリブレーションパラメータのずれの要因となる異常が発生している旨を示す警告を通知する。具体的には、判定部49は、警告画面を表示装置50に表示させる。ステップS24の後、処理はステップS25に移る。判定結果が異常ないを示す場合も(ステップS23でNO)、処理はステップS25に移る。
【0118】
ステップS25において、監視部47は、位置決め処理が終了したか否かを判定する。すなわち、監視部47は、図6に示すステップS5においてYESである場合、位置決め処理が終了したものと判定する。位置決め処理が終了していない場合(ステップS25でNO)、監視処理は、ステップS22に戻る。位置決め処理が終了している場合(ステップS25でYES)、監視処理は終了する。
【0119】
<3-5.理想軌跡の決定処理>
軌跡決定部48は、たとえば図12のフローチャートに示すような処理を行うことで、理想軌跡を決定する。図12は、図11に示す理想軌跡の決定処理(ステップS21)のサブルーチンの処理内容を示すフローチャートである。
【0120】
ステップS31において、軌跡決定部48は、移動制御部41による移動機構10の制御開始時点からの経過時間tを0にセットする。
【0121】
次にステップS32において、軌跡決定部48は、初回の位置特定処理によって特定された初期位置Pa(0),Pb(0)の座標(XY座標)を視覚センサ30から取得する。視覚センサ30から取得された初期位置Pa(0),Pb(0)の座標は、カメラ座標系で示される。さらに、軌跡決定部48は、コントローラ40の記憶部(たとえば不揮発性メモリ416または主メモリ418(図4参照))に、初期位置Pa(0),Pb(0)の座標(カメラ座標系)を保存する。
【0122】
ステップS33において、軌跡決定部48は、キャリブレーションパラメータを用いて、初期位置Pa(0),Pb(0)の座標をカメラ座標系から機械座標系に変換する。
【0123】
ステップS34において、軌跡決定部48は、モデル記憶部46が記憶するシミュレーションモデルと位置Pa(t),Pb(t)とを用いて、移動機構10の必要移動量を算出する。なお、ステップS33の直後のステップS34では、位置Pa(t),Pb(t)は、それぞれ初期位置Pa(0),Pb(0)である。
【0124】
軌跡決定部48は、位置Pa(t)と目標位置SPaとの偏差、および、位置Pb(t)と目標位置SPbとの偏差を、移動機構10の必要移動量として算出する。当該算出処理は、移動制御部41の減算部44の処理と同一の処理であり、機械座標系のXY座標を用いて行なわれる。
【0125】
次にステップS35において、軌跡決定部48は、必要移動量に応じた移動指令MVX,MVY,MVθを算出する。当該算出処理は、移動制御部41の演算部45の処理と同一の処理である。
【0126】
次にステップS36において、軌跡決定部48は、1制御周期Tsにおける、Xステージ11の並進移動量ΔX,Yステージ13の並進移動量ΔYおよびθステージ15の回転移動量Δθを算出する。軌跡決定部48は、ステップS35で算出した移動指令MVXに従ってXステージ11が理想的に移動したものと仮定して、並進移動量ΔXを算出する。同様に、軌跡決定部48は、ステップS35で算出した移動指令MVY,MVθに従ってYステージ13,θステージ15が理想的に移動したものと仮定して、並進移動量ΔY,回転移動量Δθをそれぞれ算出する。
【0127】
次にステップS37において、軌跡決定部48は、以下の式(3)に従って、1制御周期Ts後のマーク5aの位置Pa(t+Ts)の座標(機械座標系)を算出する。同様に、軌跡決定部48は、以下の式(3)に従って、1制御周期Ts後のマーク5bの位置Pb(t+Ts)の座標(機械座標系)を算出する。式(3)において、x,yは、位置Pa(t)または位置Pb(t)のXY座標(機械座標系)を示す。x’,y’は、位置Pa(t+Ts)または位置Pb(t+Ts)のXY座標(機械座標系)を示す。Xo,Yoは、θステージ15の回転中心のX座標,Y座標をそれぞれ示す。
【0128】
【数1】
【0129】
次にステップS38において、軌跡決定部48は、位置Pa(t+Ts),Pb(t+Ts)のXY座標(機械座標系)をカメラ座標系に座標変換する。そして、軌跡決定部48は、コントローラ40の記憶部に位置Pa(t+Ts),Pb(t+Ts)のXY座標(カメラ座標系)を保存する。
【0130】
次にステップS39において、軌跡決定部48は、位置Pa(t+Ts),Pb(t+Ts)が目標位置SPa,SPbにそれぞれ一致したか否かを判定する。具体的には、位置Pa(t+Ts),Pb(t+Ts)と目標位置SPa,SPbとのそれぞれの偏差がいずれも閾値Th0未満である場合に、軌跡決定部48は、位置Pa(t+Ts),Pb(t+Ts)が目標位置SPa,SPbにそれぞれ一致したと判定する。
【0131】
位置Pa(t+Ts)が目標位置SPaに一致していない、もしくは、位置Pb(t+Ts)が目標位置SPbに一致していない場合(ステップS39でNO)、軌跡決定処理はステップS40に移る。ステップS40において、軌跡決定部48は、移動機構10の移動制御の開始時点からの経過時間tを1制御周期Tsだけ加算した時間に再設定する。ステップS40の後、ステップS34~S39が繰り返される。
【0132】
位置Pa(t+Ts),Pb(t+Ts)が目標位置SPa,SPbにそれぞれ一致した場合(ステップS39でYES)、軌跡決定処理は終了する。
【0133】
コントローラ40の記憶部に保存された位置Pa(0),Pa(Ts),Pa(2Ts),・・・,Pa(nTs)の座標(カメラ座標系)は、移動制御部41による制御開始時点からの経過時間tと、マーク5aの画像上の理想位置とを対応付けた情報である。位置Pa(0),Pa(Ts),Pa(2Ts),・・・,Pa(nTs)の座標(カメラ座標系)は、マーク5aの画像上の理想軌跡を示す。同様に、コントローラ40の記憶部に保存された位置Pb(0),Pb(Ts),Pb(2Ts),・・・,Pb(nTs)の座標(カメラ座標系)は、移動制御部41による制御開始時点からの経過時間tと、マーク5bの画像上の理想位置とを対応付けた情報である。位置Pb(0),Pb(Ts),Pb(2Ts),・・・,Pb(nTs)の座標(カメラ座標系)は、マーク5bの画像上の理想軌跡を示す。
【0134】
<3-6.異常の有無の判定処理>
判定部49は、たとえば図13のフローチャートに示すような処理を行うことで、位置決めシステム1の異常の有無を判定する。図13は、図11に示す異常の有無の判定処理(ステップS22)のサブルーチンの処理内容を示すフローチャートである。
【0135】
ステップS41において、判定部49は、マーク5aの理想軌跡に基づいて、マーク5aが通過する画像上の第1許容領域を決定する。具体的には、判定部49は、位置Pa(0),Pa(Ts),Pa(2Ts),・・・,Pa(nTs)を順に繋いだ曲線(図2の実線70参照)との距離が閾値Th1以下である領域を第1許容領域(図2の許容領域71参照)として決定する。
【0136】
同様に、ステップS41において、判定部49は、マーク5bの理想軌跡に基づいて、マーク5bが通過する画像上の第2許容領域を決定する。具体的には、判定部49は、位置Pb(0),Pb(Ts),Pb(2Ts),・・・,Pb(nTs)を順に繋いだ曲線(図2の実線70参照)との偏差(距離)が閾値Th1以下である領域を第2許容領域(図2の許容領域71参照)として決定する。
【0137】
ステップS42において、判定部49は、視覚センサ30から最新の計測位置PMa,PMbの座標(カメラ座標系)を取得する。当該計測位置PMa,PMbの座標は、2回目以降の位置特定処理(図6のステップS7,S8)によって特定される。
【0138】
次にステップS43において、判定部49は、第1許容領域内に最新の計測位置PMaが位置し、かつ、第2許容領域内に最新の計測位置PMbが位置するか否かを判定する。最新の計測位置PMaが第1許容領域内に位置している場合、計測位置PMaとマーク5aの理想軌跡との偏差(距離)が閾値Th1以下であることを示している。計測位置PMaとマーク5aの理想軌跡との偏差(距離)は、実軌跡と理想軌跡との乖離度を示す特徴量の1つである。同様に、最新の計測位置PMbが第2許容領域内に位置している場合、計測位置PMbとマーク5bの理想軌跡との偏差(距離)が閾値Th1以下であることを示している。計測位置PMa,PMbとマーク5a,5bの理想軌跡との偏差(距離)は、実軌跡と理想軌跡との乖離度を示す特徴量である。
【0139】
ステップS43でNOの場合、判定部49は、ステップS44において、異常ありと判定する。一方、ステップS43でYESの場合、判定部49は、ステップS45において、異常なしと判定する。ステップS44またはステップS45の後、異常の有無の判定処理は終了する。
【0140】
なお、図13に示す異常の有無の判定処理は、位置決め処理が終了するまで繰り返し実行される。ステップS41は、毎回同じであるため、2回目以降の異常の有無の判定処理では省略される。
【0141】
<3-7.作用・効果>
以上のように、対象ワークWの位置決め処理を行なう位置決めシステム1は、移動機構10と、視覚センサ30と、移動制御部41と、軌跡決定部48と、判定部49とを備える。移動機構10は、対象ワークWを移動させる。視覚センサ30は、対象ワークWを撮像し、撮像画像に基づいて対象ワークWの位置(具体的には、マーク5a,5bの計測位置PMa,PMb)を特定する位置特定処理を撮像周期Tbごとに実行する。移動制御部41は、視覚センサ30によって特定された計測位置PMa,PMbが目標位置SPa,SPbにそれぞれ近づくように移動機構10を制御する。軌跡決定部48は、初回の位置特定処理によって特定されたマーク5aの初期位置Pa(0)から目標位置SPaまでのマーク5aの理想軌跡を決定する。さらに、軌跡決定部48は、初回の位置特定処理によって特定されたマーク5aの初期位置Pb(0)から目標位置SPbまでのマーク5bの理想軌跡を決定する。判定部49は、初回の位置特定処理の後の位置特定処理によって特定されたマーク5aの計測位置PMaの実軌跡とマーク5aの理想軌跡とを比較する。さらに、判定部49は、初回の位置特定処理の後の位置特定処理によって特定されたマーク5bの計測位置PMbの実軌跡とマーク5bの理想軌跡とを比較する。判定部49は、比較結果に基づいて、位置決めシステム1の異常の有無を判定する。
【0142】
視覚センサ30のカメラ座標系と移動機構10の機械座標系との対応関係を示すキャリブレーションパラメータのずれがない場合、マーク5a,5bの実軌跡と理想軌跡とは一致する。一方、キャリブレーションパラメータのずれがある場合、マーク5a,5bの実軌跡は、理想軌跡から外れる。そのため、判定部49は、属人的判断に依存することなく、マーク5a,5bの実軌跡と理想軌跡との比較結果に基づいて、キャリブレーションパラメータのずれの要因となる異常の有無を精度良く判定することができる。
【0143】
視覚センサ30は、対象ワークWが停止中において初回の位置特定処理を実行し、対象ワークWが移動中において2回目以降の位置特定処理を実行する。これにより、位置決め処理を高速化できる。
【0144】
判定部49は、実軌跡と理想軌跡との乖離度を示す特徴量(計測位置PMa,PMbとマーク5a,5bの理想軌跡との偏差(距離))が閾値Th1を超える場合に、異常が発生していると判定し、警告を通知する。これにより、作業者は、キャリブレーションパラメータのずれの要因を取り除くためのメンテナンスを適切なタイミングで行なうことができる。
【0145】
軌跡決定部48は、移動機構10および移動制御部41のシミュレーションモデルと、初回の位置特定処理によって特定された初期位置Pa(0),Pb(0)とを用いてシミュレーションを行なうことにより、マーク5a,5bの理想軌跡をそれぞれ決定する。シミュレーションモデルを用いることにより、精度良く理想軌跡を決定することができる。
【0146】
§4 変形例
<4-1.変形例1>
上記の説明では、判定部49は、視覚センサ30によって特定された最新の計測位置PMa,PMbが第1許容領域,第2許容領域内にそれぞれ位置するか否かに応じて、異常の有無を判定した。これに対し、判定部49は、位置決定部43から制御周期Tsごとに出力される推定位置PVa,PVbが第1許容領域,第2許容領域内にそれぞれ位置するか否かに応じて、異常の有無を判定してもよい。
【0147】
なお、推定位置PVa,PVbは、機械座標系で示される。そのため、判定部49は、推定位置PVa,PVbの座標(機械座標系)をカメラ座標系に変換した上で、推定位置PVa,PVbが第1許容領域,第2許容領域内にそれぞれ位置するか否かを判定すればよい。
【0148】
<4-2.変形例2>
判定部49は、図13に示す異常の有無の判定処理に代えて、図14に示す異常の有無の判定処理を実行してもよい。図14は、変形例2に係る判定処理のサブルーチンの処理内容を示すフローチャートである。変形例2においても、変形例1と同様に、推定位置PVa,PVbを用いて、異常の有無が判定される。
【0149】
まずステップS141において、判定部49は、推定位置PVa,PVbを位置決定部43から取得する。
【0150】
ステップS142において、判定部49は、推定位置PVa,PVbの座標(機械座標系)をカメラ座標系に変換する。
【0151】
ステップS143において、判定部49は、移動制御部41による制御開始時点から推定位置PVa,PVbが出力された時点までの経過時間tを特定する。推定位置PVa,PVbは、制御周期Tsごとに出力される。そのため、当該時間tは、制御開始時点から推定位置PVa,PVbが出力された回数kを制御周期Tsに乗じた時間kTsとなる。
【0152】
ステップS144において、判定部49は、図12に示す軌跡決定処理において記憶部に保存された情報の中から、理想軌跡上の位置Pa(kTs),Pb(kTs)の座標を読み出す。
【0153】
ステップS145において、判定部49は、推定位置PVa,PVbと、理想軌跡上の位置Pa(kTs),Pb(kTs)との偏差(距離)をそれぞれ算出する。推定位置PVa,PVbと、理想軌跡上の位置Pa(kTs),Pb(kTs)とのそれぞれの偏差は、実軌跡と理想軌跡との乖離度を示す特徴量の1つである。
【0154】
ステップS146において、判定部49は、偏差が閾値Th1以下であるか否かを判定する。
【0155】
ステップS146でNOの場合、判定部49は、ステップS147において、異常ありと判定する。一方、ステップS146でYESの場合、判定部49は、ステップS148において、異常なしと判定する。ステップS147またはステップS148の後、異常の有無の判定処理は終了する。
【0156】
変形例2によれば、移動制御部41の制御開始時点から経過時間tを考慮した、実軌跡と理想軌跡との乖離度に基づいて、異常の有無が判定される。
【0157】
<4-3.変形例3>
監視部47は、図11に示す監視処理に代えて、図15に示す監視処理を実行してもよい。図15は、変形例3に係る監視処理の流れを示すフローチャートである。変形例3に係る監視処理は、図11に示す監視処理と比較して、ステップS22の代わりにステップS121を実行し、かつ、ステップS24の後にステップS122,S123を実行する点で相違する。以下、ステップS121,S122,S123について説明する。
【0158】
ステップS121において、判定部49は、マーク5a,5bの各々について、実軌跡と理想軌跡との乖離度を示す特徴量を算出し、当該特徴量に基づいて、異常の有無および異常度の高低の判定を行なう。ステップS121の詳細については後述する。
【0159】
ステップS122において、ステップS121で判定された異常度の高低が確認される。異常度高である場合(ステップS122でYES)、判定部49は、ステップS123において、動作停止指示を移動制御部41に出力する。これにより、移動制御部41は、移動機構10の移動制御を停止する。
【0160】
一方、異常度低である場合(ステップS122でNO)、監視処理は、ステップS25に移る。
【0161】
図16は、図15に示す異常の有無および異常度の高低の判定処理(ステップS121)のサブルーチンの処理内容を示すフローチャートである。図16に示す異常の有無および異常度の高低の判定処理は、図14に示す異常の有無の判定処理と比較して、ステップS149~S151をさらに実行する点で相違する。以下、ステップS149~S151について説明する。
【0162】
ステップS147の後、判定部49は、ステップS149において、計測位置PMa,PMbと理想軌跡上の位置Pa(kTs),Pb(kTs)との偏差が閾値Th2以下であるか否かを判定する。閾値Th2は、閾値Th1よりも大きい。
【0163】
ステップS149でNOの場合、判定部49は、ステップS150において、異常度高と判定する。一方、ステップS149でYESの場合、判定部49は、ステップS151において、異常度低と判定する。ステップS150またはステップS151の後、異常の有無および異常度の高低の判定処理は終了する。
【0164】
<4-4.変形例4>
上記の説明では、監視処理は、位置決め処理と並行して実行される。しかしながら、監視処理は、位置決め処理が終了した後に実行されてもよい。位置決め処理が終了しているため、マーク5a,5bの各々について実軌跡が特定されている。マーク5a,5bの実軌跡は、位置決め処理中に位置決定部43から出力される推定位置PVa,PVbをそれぞれ順に繋ぐことにより特定される。もしくは、マーク5a,5bの実軌跡は、位置決め処理中に視覚センサ30から出力される計測位置PMa,PMbをそれぞれ順に繋ぐことにより特定されてもよい。
【0165】
判定部49は、マーク5a,5bの各々について、実軌跡と理想軌跡との乖離度を示す特徴量を算出し、算出した特徴量に基づいて、異常の有無および異常度の高低の判定を行なえばよい。特徴量としては、たとえば、実軌跡と理想軌跡とで囲まれる領域の面積(実軌跡と理想軌跡との偏差の積分値)を用いることができる。もしくは、特徴量として、移動制御部41による制御開始時点からの経過時間が同一である、実軌跡上の点と理想軌跡上の点との偏差(距離)の最大値を用いてもよい。
【0166】
<4-5.変形例5>
図17は、変形例5に係るコントローラの機能構成を示す図である。図17に示されるように、変形例5に係る位置決めシステム1Aは、図5に示す位置決めシステム1と比較して、コントローラ40の代わりにコントローラ40Aを備える点で相違する。コントローラ40Aは、図5に示すコントローラ40と比較して、監視部47の代わりに監視部47Aを備え、モデル記憶部46を備えない点で相違する。監視部47Aは、監視部47と比較して、軌跡決定部48の代わりに軌跡決定部48Aを備える点で相違する。
【0167】
軌跡決定部48Aは、初期位置の入力に応じて理想軌跡を示す関数を出力するための機械学習が行なわれた学習器148を有し、学習器148を用いて、マーク5a,5bの理想軌跡を決定する。
【0168】
学習器148は、位置決めシステムが正常であるときに実行された複数回の位置決め処理の各々において特定された複数の計測位置の座標を学習データとして用いて機械学習を行なうことにより構築される。位置決めシステムが正常であるときとは、たとえば、キャリブレーションパラメータのずれが小さい、位置決めシステムの立ち上げ時期である。
【0169】
具体的には、学習器148は、各位置決め処理における初回の位置特定処理で特定された計測位置PMaと、当該位置決め処理において撮像周期Tbごとに特定される複数の計測位置PMaを順に繋いだ軌跡を示す情報である関数Pa(t)との対応関係を学習する。関数Pa(t)は、移動制御部41による制御開始時点からの経過時間tと、制御開始時点から経過時間tだけ経過したときのマーク5aの画像上の位置の座標(カメラ座標系)とを対応付けた関数である。
【0170】
同様に、学習器148は、各位置決め処理における初回の位置特定処理で特定された計測位置PMbと、当該位置決め処理において撮像周期Tbごとに特定される複数の計測位置PMbを順に繋いだ軌跡を示す情報である関数Pb(t)との対応関係を学習する。関数Pb(t)は、移動制御部41による制御開始時点からの経過時間tと、制御開始時点から経過時間tだけ経過したときのマーク5bの画像上の位置のXY座標(カメラ座標系)とを対応付けた関数である。
【0171】
軌跡決定部48Aは、初期位置Pa(0)を学習器148に入力し、学習器148から出力される関数で示される軌跡を、マーク5aの画像上の理想軌跡として決定する。軌跡決定部48Aは、初期位置Pb(0)を学習器148に入力することにより、学習器148から出力された関数で示される軌跡を、マーク5bの画像上の理想軌跡として決定する。
【0172】
変形例5によれば、軌跡決定部48Aは、実態に合った理想軌跡を決定することができる。
【0173】
<4-6.変形例6>
図18は、変形例6に係る位置決めシステムの構成を示す図である。図18に示されるように、変形例6に係る位置決めシステムの視覚センサ30は、対象ワークWとともに、定位置に固定された基準ワークW0を撮像する。基準ワークW0は、透光性を有する素材で構成される。そのため、視覚センサ30は、対象ワークWの特徴部分であるマーク5a,5bと、基準ワークW0の特徴部分であるマーク6a、6bとを同時に撮像できる。
【0174】
視覚センサ30は、基準ワークW0のマーク6a,6bの位置も合わせて特定する。コントローラ40は、視覚センサ30によって特定されたマーク6aの位置を目標位置SPaとして設定し、視覚センサ30によって特定されたマーク6bの位置を目標位置SPbとして設定する。
【0175】
<4-7.変形例7>
判定部49は、位置決め処理ごとに、理想軌跡および実軌跡を示す画面を表示装置50に表示させてもよい。
【0176】
図19は、理想軌跡および実軌跡を示す画面の一例である。図19において、実線70は対象マーク(マーク5aまたはマーク5b)の理想軌跡を示し、実線72は対象マークの実軌跡を示す。作業者は、図19に示されるような画面を確認することにより、キャリブレーションパラメータのずれの程度を把握できる。
【0177】
さらに、判定部49は、移動制御部41による制御開始時点からの経過時間が同一である、実軌跡上の位置と理想軌跡上の位置との偏差をX方向およびY方向の成分に分解し、各成分の経時変化を示す画面を表示装置50に表示させてもよい。X方向は、Xステージ11の移動方向であり、Y方向はYステージ13の移動方向である。
【0178】
図20は、実軌跡上の位置と理想軌跡上の位置との偏差のX方向およびY方向の各々の成分の経時変化を示す画面の一例を示す図である。作業者は、図20のような画面を確認することにより、移動機構10の異常箇所を推測することができる。すなわち、理想軌跡と実軌跡とでY方向の偏差がX方向の偏差よりも大きい場合、作業者は、Yステージ13に異常が発生していると推測できる。その結果、メンテナンスに要する時間を短縮できる。
【0179】
さらに、判定部49は、位置決め処理ごとに算出される、理想軌跡と実軌跡との乖離度を示す特徴量の推移を示す画面を表示装置50に表示させてもよい。これにより、作業者は、移動機構10の経年劣化などの状況を把握することができる。
【0180】
判定部49は、たとえば理想軌跡と実軌跡とで囲まれる領域の面積(つまり、理想軌跡と実軌跡との偏差の積分値)(図19の斜線部の面積)を、理想軌跡と実軌跡との乖離度を示す特徴量として算出する。判定部49は、位置決め処理ごとに当該特徴量を算出し、特徴量の推移を示す画面を表示装置50に表示させる。
【0181】
図21は、理想軌跡と実軌跡との乖離度を示す特徴量(偏差の積分値)の時間変化を示す画面の一例を示す図である。図21に示されるように、理想軌跡と実軌跡との乖離度を示す特徴量は、移動機構10の経年劣化に伴い、徐々に大きくなる。図21に示す画面を確認することにより、作業者は、現時刻の特徴量の値と閾値Th1との差を把握することができる。その結果、作業者は、キャリブレーションなどのメンテナンスが必要とされる時期を予測できる。なお、図21に示す画面例は、特徴量の推移を示すグラフ画像を含む。しかしながら、判定部21は、特徴量の数値を時系列に並べた画面を表示装置50に表示させてもよい。
【0182】
<4-8.その他の変形例>
上記の説明では、軌跡決定部48,48Aは、マーク5a,5bの各々の理想軌跡を決定した。しかしながら、軌跡決定部48,48Aは、マーク5a,5bの中点の理想軌跡を決定してもよい。この場合、判定部49は、視覚センサ30によって特定された計測位置PMa,PMbの中点の実軌跡と理想軌跡との比較結果に基づいて、位置決めシステム1の異常の発生の有無を判定してもよい。
【0183】
上記の説明では、対象ワークWに設けられたマーク5a,5bを対象ワークWの特徴部分として用いて、対象ワークWが位置決めされる。しかしながら、対象ワークWの他の部分を特徴部分として用いて対象ワークWが位置決めされてもよい。たとえば、対象ワークWに設けられたネジまたはネジ穴を特徴部分として用いてもよい。もしくは、対象ワークWの角部を特徴部分として用いてもよい。
【0184】
上記の説明では、コントローラ40は、移動制御部41と監視部47とを備える。しかしながら、監視部47は、コントローラ40とは別の情報処理装置に備えられていてもよい。
【0185】
§5 付記
以上のように、本実施の形態および変形例は以下のような開示を含む。
【0186】
(構成1)
対象物(W)の位置決め処理を行なう位置決めシステム(1,1A)であって、
前記対象物(W)を移動させるための移動機構(10)と、
前記対象物(W)を撮像し、撮像画像に基づいて前記対象物(W)の位置を特定する位置特定処理を撮像周期ごとに実行するための視覚センサ(30)と、
前記視覚センサ(30)によって特定された位置が目標位置に近づくように前記移動機構(10)を制御するための移動制御部(41)と、
初回の位置特定処理によって特定された前記対象物(W)の位置から前記目標位置までの前記対象物(W)の理想軌跡を決定する軌跡決定部(48,48A)と、
前記初回の位置特定処理の後の位置特定処理によって特定された前記対象物(W)の位置の実軌跡と前記理想軌跡との比較結果に基づいて、前記位置決めシステム(1,1A)の異常の有無を判定する判定部(49)とを備える、位置決めシステム(1,1A)。
【0187】
(構成2)
前記視覚センサ(30)は、前記対象物(W)が停止中において前記初回の位置特定処理を実行し、前記対象物(W)が移動中において前記後の位置特定処理を実行する、構成1に記載の位置決めシステム(1,1A)。
【0188】
(構成3)
前記判定部(49)は、前記実軌跡と前記理想軌跡との乖離度を示す特徴量が第1閾値を超える場合に、前記異常が発生していると判定し、警告を通知する、構成1または2に記載の位置決めシステム(1,1A)。
【0189】
(構成4)
前記判定部(49)は、前記特徴量が第2閾値を超える場合に、前記移動機構(10)を停止させ、
前記第2閾値は前記第1閾値よりも大きい、構成3に記載の位置決めシステム(1,1A)。
【0190】
(構成5)
前記特徴量は、後の位置特定処理によって特定された前記対象物(W)の位置と前記理想軌跡との偏差である、構成3または4に記載の位置決めシステム(1,1A)。
【0191】
(構成6)
前記実軌跡および前記理想軌跡は、前記移動制御部(41)による前記移動機構(10)の制御開始時点からの経過時間と、前記対象物(W)の位置とを対応付けた情報により示され、
前記特徴量は、前記経過時間が同一である、前記実軌跡上の位置と前記理想軌跡上の位置との偏差の最大値または積分値である、構成3または4に記載の位置決めシステム(1,1A)。
【0192】
(構成7)
前記軌跡決定部(48)は、前記移動機構(10)および前記移動制御部(41)のシミュレーションモデルと、前記初回の位置特定処理によって特定された前記対象物(W)の位置とを用いてシミュレーションを行なうことにより、前記理想軌跡を決定する、構成1から6のいずれかに記載の位置決めシステム(1)。
【0193】
(構成8)
前記軌跡決定部(48A)は、学習データを用いた機械学習によって、入力された前記対象物(W)の位置に対応する、当該位置から前記目標位置までの前記対象物(W)の軌跡を示す情報を出力するように構築された学習済みの学習器(148)をさらに備え、
前記学習データは、前記位置決めシステムが正常であるときに実行された前記位置決め処理において前記視覚センサ(30)によって特定された前記対象物(W)の位置を示すデータであり、
前記軌跡決定部(48A)は、前記初回の位置特定処理によって特定された前記対象物(W)の位置を前記学習器(148)に入力することにより、前記学習器(148)から出力された前記情報で示される軌跡を前記理想軌跡として決定する、構成1から6のいずれかに記載の位置決めシステム(1A)。
【0194】
(構成9)
前記判定部(49)は、前記実軌跡と前記理想軌跡とを示す画面を表示装置(50)に出力する、構成1から8のいずれかに記載の位置決めシステム(1,1A)。
【0195】
(構成10)
前記実軌跡および前記理想軌跡は、前記移動制御部による前記移動機構の制御開始時点からの経過時間と、前記対象物の位置とを対応付けた情報により示され、
前記移動機構(10)は、互いに異なる移動方向に並進移動する複数の並進機構(11,13)を含み、
前記判定部(49)は、前記経過時間が同一である、前記実軌跡上の位置と前記理想軌跡上の位置との偏差を、前記複数の並進機構(11,13)の各々に対応する前記移動方向の成分に分解し、各成分の経時変化を示す画面を表示装置(50)に出力する、構成1または2に記載の位置決めシステム。
【0196】
(構成11)
前記判定部(49)は、前記特徴量の推移を示す画面を表示装置(50)に出力する、構成3から6のいずれかに記載の位置決めシステム(1,1A)。
【0197】
(構成12)
構成1から11のいずれかに記載の位置決めシステム(1,1A)に用いられる監視装置であって、
前記軌跡決定部と、
前記判定部(49)とを備える、監視装置(40,40A)。
【0198】
(構成13)
対象物(W)の位置決め処理を行なう位置決めシステム(1,1A)の監視方法であって、
前記位置決めシステム(1,1A)は、
前記対象物(W)を移動させるための移動機構(10)と、
前記対象物(W)を撮像し、撮像画像に基づいて前記対象物(W)の位置を特定する位置特定処理を撮像周期ごとに実行するための視覚センサ(30)と、
前記視覚センサ(30)によって特定された位置が目標位置に近づくように前記移動機構(10)を制御するための移動制御部(41)とを備え、
初回の位置特定処理によって特定された前記対象物(W)の位置から前記目標位置までの前記対象物(W)の理想軌跡を決定するステップと、
前記初回の位置特定処理の後の位置特定処理によって特定された前記対象物(W)の位置の実軌跡と前記理想軌跡との比較結果に基づいて、前記位置決めシステムの異常の有無を判定するステップとを備える、監視方法。
【0199】
(構成14)
対象物(W)の位置決め処理を行なう位置決めシステム(1,1A)の監視方法をコンピュータに実行させるためのプログラムであって、
前記位置決めシステム(1,1A)は、
前記対象物(W)を移動させるための移動機構(10)と、
前記対象物(W)を撮像し、撮像画像に基づいて前記対象物(W)の位置を特定する位置特定処理を撮像周期ごとに実行するための視覚センサ(30)と、
前記視覚センサ(30)によって特定された位置が目標位置に近づくように前記移動機構(10)を制御するための移動制御部(41)とを備え、
前記監視方法は、
初回の位置特定処理によって特定された前記対象物(W)の位置から前記目標位置までの前記対象物(W)の理想軌跡を決定するステップと、
前記初回の位置特定処理の後の位置特定処理によって特定された前記対象物(W)の位置の実軌跡と前記理想軌跡との比較結果に基づいて、前記位置決めシステム(1,1A)の異常の有無を判定するステップとを備える、プログラム。
【0200】
今回開示された各実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組合せても、実施することが意図される。
【符号の説明】
【0201】
1,1A 位置決めシステム、5a,5b,6a,6b マーク、10 移動機構、11 Xステージ、12,14,16 サーボモータ、12E,14E,16E エンコーダ、13 Yステージ、15 θステージ、20 ドライバユニット、22,24,26 サーボドライバ、30 視覚センサ、31 撮像部、32 画像処理装置、40,40A コントローラ、41 移動制御部、42 座標変換部、43 位置決定部、44 減算部、45 演算部、46 モデル記憶部、47,47A 監視部、48,48A 軌跡決定部、49 判定部、50 表示装置、61,424 記録媒体、60 表示部、71 許容領域、148 学習器、310,414 プロセッサ、312 RAM、314,426 表示コントローラ、316 システムコントローラ、318 I/Oコントローラ、320 ハードディスク、322 カメラインターフェイス、324 入力インターフェイス、326 コントローラインターフェイス、328,428 通信インターフェイス、330,422 メモリカードインターフェイス、334 キーボード、412 チップセット、416 不揮発性メモリ、418 主メモリ、420 システムクロック、430 内部バスコントローラ、432 DMA制御回路、434 内部バス制御回路、436 バッファメモリ、438 フィールドバスコントローラ、440 制御プログラム、W 対象ワーク、W0 基準ワーク。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21