JP6950631B2 - 位置決めシステム、制御方法およびプログラム - Google Patents

位置決めシステム、制御方法およびプログラム Download PDF

Info

Publication number
JP6950631B2
JP6950631B2 JP2018121003A JP2018121003A JP6950631B2 JP 6950631 B2 JP6950631 B2 JP 6950631B2 JP 2018121003 A JP2018121003 A JP 2018121003A JP 2018121003 A JP2018121003 A JP 2018121003A JP 6950631 B2 JP6950631 B2 JP 6950631B2
Authority
JP
Japan
Prior art keywords
coordinate system
conversion magnification
conversion
unit
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018121003A
Other languages
English (en)
Other versions
JP2020003560A (ja
Inventor
功征 川又
功征 川又
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2018121003A priority Critical patent/JP6950631B2/ja
Priority to PCT/JP2019/022375 priority patent/WO2020003945A1/ja
Publication of JP2020003560A publication Critical patent/JP2020003560A/ja
Application granted granted Critical
Publication of JP6950631B2 publication Critical patent/JP6950631B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03FPHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
    • G03F9/00Registration or positioning of originals, masks, frames, photographic sheets or textured or patterned surfaces, e.g. automatically
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D3/00Control of position or direction
    • G05D3/12Control of position or direction using feedback

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Numerical Control (AREA)
  • Control Of Position Or Direction (AREA)
  • Exposure And Positioning Against Photoresist Photosensitive Materials (AREA)

Description

本技術は、位置決めシステム、制御方法およびプログラムに関する。
FA(ファクトリーオートメーション)において、対象物の位置を目標位置に合わせる位置決めシステムが各種実用化されている。対象物の位置と目標位置との距離を計測する方法として、視覚センサによって撮像された画像を用いる方法がある。
特許第5893695号公報(特許文献1)には、被搬送物と目標物との両方を含む画像を取得する撮像装置と、撮像装置が取得した画像を解析して被搬送物および目標物のそれぞれの位置を検出する視覚検出装置とを備える物品搬送システムが開示されている。当該物品搬送システムでは、視覚検出装置によって検出された前記被搬送物の位置が、目標物の位置に対して設定された許可領域内に在るかどうかが判定される。搬送装置は、被搬送物の位置が許可領域内に無い場合に、被搬送物を目標位置に向かって移送する。被搬送物の位置が許可領域内に入った時点で、被搬送物の位置決め工程が終了する。
特許第5893695号公報
特許文献1に記載の技術では、画像に基づいて、被搬送物が許可領域内にあるかどうかが判定される。許可領域は、被搬送物と目標物との相対位置を決定するために、搬送装置の座標系で設定される。そのため、画像の座標系を搬送装置の座標系に変換するためのキャリブレーションパラメータを用いて、画像の座標系における被搬送物の位置の座標変換を行なうことにより、搬送装置の座標系における被搬送物の位置が特定される。ここで、キャリブレーションパラメータで示される、画像の座標系から搬送装置の座標系への変換倍率に誤差が含まれる場合、実際には被搬送物が許可領域内に存在しないにもかかわらず、被搬送物の位置決め工程が終了される可能性がある。その結果、位置決め精度が低下する。
本発明は、上記の問題を鑑みてなされたものであり、その目的は、位置決め精度の低下を抑制する位置決めシステム、制御方法およびプログラムを提供することである。
本開示の一例によれば、対象物の位置決めを行なう位置決めシステムは、移動機構と、撮像部と、画像処理装置と、座標変換部と、移動制御部と、指示部と、設定部とを備える。移動機構は、対象物を移動させる。撮像部は、撮像周期ごとに、対象物と目標物との両方を含む画像を取得する。画像処理装置は、画像の第1座標系における対象物の第1位置と、第1座標系における目標物の第2位置とを特定する。座標変換部は、第1座標系を移動機構の第2座標系に変換するためのキャリブレーションパラメータを用いて、第1位置と第2位置との座標変換を行なうことにより、第2座標系における対象物の第3位置と第2座標系における目標物の第4位置とを特定する。移動制御部は、第3位置が第4位置が近づくように移動機構を制御する。指示部は、第3位置と第4位置との距離が閾値未満である場合に、移動機構の移動を終了するように移動制御部に指示する。設定部は、キャリブレーションパラメータから算出される、第1座標系から第2座標系への第1変換倍率が、撮像部の設計情報から算出される、第1座標系から第2座標系への第2変換倍率より大きい場合よりも、第1変換倍率が第2変換倍率より小さい場合の方が閾値が小さくなるように、閾値を設定する。
第1変換倍率は、キャリブレーションパラメータを用いて座標変換したときの変換倍率を示している。第2変換倍率は、設計上の変換倍率を示している。第3位置および第4位置は、キャリブレーションパラメータを用いて、第1位置および第2位置を座標変換することによりそれぞれ特定される。そのため、第1変換倍率が第2変換倍率よりも小さい場合、対象物と目標物との実距離よりも第3位置と第4位置との距離を小さく見積もっている可能性がある。
しかしながら、上記の開示によれば、第1変換倍率が第2変換倍率より大きい場合よりも第1変換倍率が第2変換倍率より小さい場合の方が閾値が小さくなる。これにより、対象物と目標物との実距離よりも第3位置と第4位置との距離を小さく見積もっていたとしても、位置決め精度が不十分な状態で、位置決め処理が終了してしまうことを抑制できる。その結果、位置決め精度の低下を抑制できる。
上記の開示において、撮像部は、撮像素子と、対象物と目標物とからの光を撮像素子に導くレンズとを含む。設計情報は、撮像素子の寸法と、撮像素子の解像度と、レンズの画角と、レンズの焦点距離と、撮像素子と対象物との距離とを示す情報を含む。この開示によれば、設計上の変換倍率を第2変換倍率として算出できる。
上記の開示において、キャリブレーションパラメータは、アフィン変換係数である。第1変換倍率は、アフィン変換係数を用いて算出される。この開示によれば、アフィン変換係数を用いることにより、キャリブレーションパラメータを用いて座標変換したときの変換倍率を第1変換倍率として算出できる。
上記の開示において、設定部は、第1変換倍率が第2変換倍率よりも大きい場合、予め定められた値を閾値として設定し、第2変換倍率が第1変換倍率よりも大きい場合、予め定められた値と第1変換倍率を第2変換倍率で割った商との積を閾値として設定する。
この開示によれば、撮像部の現状に応じた真の変換倍率が第2変換倍率に近い場合であっても、位置決め精度が不十分な状態で、位置決め処理が終了してしまうことを抑制できる。
本開示の一例によれば、対象物の位置決めを行なう位置決めシステムの制御方法は、第1〜第4ステップを備える。位置決めシステムは、対象物を移動させるための移動機構と、撮像周期ごとに、対象物と目標物との両方を含む画像を取得するための撮像部と、画像の第1座標系における対象物の第1位置と、第1座標系における目標物の第2位置とを特定するための画像処理装置とを備える。第1ステップは、第1座標系を移動機構の第2座標系に変換するためのキャリブレーションパラメータを用いて、第1位置と第2位置との座標変換を行なうことにより、第2座標系における対象物の第3位置と第2座標系における目標物の第4位置とを特定するステップである。第2ステップは、第3位置が第4位置が近づくように移動機構を制御するステップである。第3ステップは、第3位置と第4位置との距離が閾値未満である場合に、移動機構の移動を終了させるステップである。第4ステップは、キャリブレーションパラメータから算出される、第1座標系から第2座標系への第1変換倍率が、撮像部の設計情報から算出される、第1座標系から第2座標系への第2変換倍率より大きい場合よりも、第1変換倍率が第2変換倍率より小さい場合の方が閾値が小さくなるように、閾値を設定するステップである。
この開示によっても、対象物と目標物との実距離よりも第3位置と第4位置との距離を小さく見積もっていたとしても、位置決め精度が不十分な状態で、位置決め処理が終了してしまうことを抑制できる。その結果、位置決め精度の低下を抑制できる。
本開示の一例によれば、上記の制御方法をコンピュータに実行させるためのプログラムは、上記の第1および第2のステップをコンピュータに実行させる。この開示によっても、位置決め精度の低下を抑制できる。
本発明によれば、位置決め精度の低下を抑制できる。
本実施の形態に係る位置決めシステムの概要を示す模式図である。 図1に示す画像処理装置のハードウェア構成を示す模式図である。 図1に示すコントローラのハードウェア構成を示す模式図である。 図1に示す位置決めシステムの機能構成の一例を示すブロック図である。 図4に示す終了判定部の内部構成の一例を示す図である。 撮像部の構成を示す図である。 終了判定閾値の設定処理の流れの一例を示すフローチャートである。 位置決め処理の流れの一例を示すフローチャートである。 移動制御の処理の流れの一例を示すフローチャートである。 撮像時刻のエンコーダ値EnsXの算出方法を説明する図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
§1 適用例
図1を参照して、本発明が適用される場面の一例について説明する。図1は、本実施の形態に係る位置決めシステムの概要を示す模式図である。図1に示す位置決めシステム1は、画像処理を用いて対象物(以下、「対象ワークW」という)の位置決めを行う。位置決めは、典型的には、工業製品の製造過程などにおいて、対象ワークWを生産ラインの本来の位置に配置する処理などを意味する。たとえば、位置決めシステム1は、液晶パネルの生産ラインにおいて、ガラス基板に回路パターンの焼付処理(露光処理)前に、露光マスクに対するガラス基板の位置決めを行なう。
図1に示すように、位置決めシステム1は、移動機構10と、ドライバユニット20と、視覚センサ30と、コントローラ40とを備える。
移動機構10は、載置される対象ワークWを移動する。移動機構10は、対象ワークWを目標位置に配置できる機構であればどのような自由度のものであってもよい。移動機構10は、たとえば、水平方向の並進移動と回転移動とを対象ワークWに与えることができるXYθステージである。
図1に示す例の移動機構10は、Xステージ11と、Yステージ13と、θステージ15と、サーボモータ12,14,16とを含む。Xステージ11は、サーボモータ12の駆動によりX方向に沿って並進移動する。Yステージ13は、サーボモータ14の駆動によりY方向に沿って並進移動する。θステージ15は、サーボモータ16の駆動によりθ方向に回転移動する。θステージ15の上に対象ワークWが載置される。
サーボモータ12,14,16にはエンコーダ12E,14E,16Eがそれぞれ設けられる。エンコーダ12E,14E,16Eの各々は、対応するサーボモータの駆動量(回転量)に応じたパルス信号をそれぞれ発生する。エンコーダ12Eは、パルス信号に含まれるパルス数をカウントすることにより、初期位置からのXステージ11のX方向の並進移動量をエンコーダ値EnXとして計測する。パルス数のカウント値と移動量とは、所定の係数によって関係付けられる。そのため、エンコーダ12Eは、パルス数のカウント値に当該係数を乗ずることにより、移動量を計測できる。同様に、エンコーダ14Eは、初期位置からのYステージ13のY方向の並進移動量をエンコーダ値EnYとして計測する。エンコーダ16Eは、初期位置からのθステージ15の回転移動量をエンコーダ値Enθとして計測する。
ドライバユニット20は、制御周期Tsごとにコントローラ40から受ける移動指令に従って、移動機構10の動作制御を行う。図1に示されるように、ドライバユニット20は、サーボドライバ22,24,26を含む。サーボドライバ22,24,26は、サーボモータ12,14,16からエンコーダ値EnX,EnY,Enθを制御周期Tsごとにそれぞれ取得する。制御周期Tsは、固定であり、たとえば1msである。
サーボドライバ22は、Xステージ11の移動量が移動指令に近付くように、サーボモータ12に対してフィードバック制御を行なう。サーボドライバ24は、Yステージ13の移動量が移動指令に近付くように、サーボモータ14に対してフィードバック制御を行なう。サーボドライバ26は、θステージ15の移動量が移動指令に近付くように、サーボモータ16に対してフィードバック制御を行なう。
ドライバユニット20は、移動機構10から取得したエンコーダ値EnX,EnY,Enθをコントローラ40に出力する。
視覚センサ30は、定位置に固定された撮像部31と、撮像部31によって撮像された画像に対して画像処理を行なう画像処理装置32とを含む。
撮像部31は、移動機構10に載置された対象ワークWと、定位置に固定された基準ワークW0との両方を含む画像を撮像周期Tbごとに取得(撮像)する。撮像周期Tbは、撮像状況などに応じて変動し、たとえば約60msである。対象ワークWには、特徴部分であるマーク5a,5bが設けられている。基準ワークW0には、特徴部分であるマーク6a,6bが設けられている。撮像部31は、たとえばカメラである。
画像処理装置32は、撮像部31により取得された画像に対して画像解析を行ない、当該画像の座標系(以下、「カメラ座標系」という)における、対象ワークWの位置と基準ワークW0の位置とを特定する。カメラ座標系は、画像における画素位置で示される。画像処理装置32は、カメラ座標系における、対象ワークWに設けられたマーク5a,5bの位置と、基準ワークW0に設けられたマーク6a,6bの位置とを特定する。
コントローラ40は、たとえばPLC(プログラマブルロジックコントローラ)であり、各種のFA制御を行なう。
コントローラ40は、カメラ座標系を移動機構10の座標系(以下、「機械座標系」という)に変換するためのキャリブレーションパラメータを用いて、画像処理装置32によって特定されたマーク5a,5b,6a,6bの位置を座標変換する。これにより、コントローラ40は、機械座標系における、対象ワークWのマーク5a,5bの位置と、基準ワークW0のマーク6a,6bの位置とを特定する。
コントローラ40は、機械座標系において、マーク5a,5bの位置がマーク6a,6bの位置にそれぞれ近づくように、移動機構10を制御する。
コントローラ40は、機械座標系におけるマーク5aの位置とマーク6aの位置との距離(以下、「第1距離D1」という)と、機械座標系におけるマーク5bの位置とマーク6bの位置との距離(以下、「第2距離D2」という)とを算出する。コントローラ40は、算出した第1距離D1および第2距離D2の両方が終了判定閾値Th未満である場合に、移動機構10の制御を終了する。終了判定閾値Thは、要求される位置決め精度に応じて定められる。これにより、対象ワークWの位置決めが終了する。
ところで、移動機構10の経年劣化、外部要因などによって、キャリブレーションパラメータに誤差が生じ得る。「キャリブレーションパラメータの誤差」とは、現在設定されているキャリブレーションパラメータと、移動機構10の現在の状態に対応する理想的なキャリブレーションパラメータとの偏差を意味する。
キャリブレーションパラメータは、カメラ座標系から機械座標系への並進移動量、回転移動量、拡大縮小の変換量(変換倍率)を規定する。キャリブレーションパラメータで示される、カメラ座標系から機械座標系への変換倍率に誤差が含まれる場合、コントローラ40によって算出される第1距離D1および第2距離D2にも誤差が含まれる。そのため、マーク5aとマーク6aとの実距離およびマーク5bとマーク6bとの実距離が終了判定閾値Thを超えていたとしても、第1距離D1および第2距離D2が終了判定閾値Thよりも小さくなり、対象ワークWの位置決めが終了する場合があり得る。その結果、位置決め精度が低下する。
本実施の形態では、位置決め精度の低下を抑制するように、終了判定閾値Thが調整される。具体的には、コントローラ40は、キャリブレーションパラメーラから、カメラ座標系から機械座標系への第1変換倍率を算出するとともに、撮像部31の設計情報から算出される、カメラ座標系から機械座標系への第2変換倍率を算出する。そして、コントローラ40は、第1変換倍率と第2変換倍率とを比較し、比較結果に応じて終了判定閾値Thを設定する。
第1変換倍率が第2変換倍率よりも小さい場合、コントローラ40は、マーク5aとマーク6aとの実距離よりも第1距離D1を小さく見積もっている可能性がある。同様に、コントローラ40は、マーク5bとマーク6bとの実距離よりも第2距離D2を小さく見積もっている可能性がある。そのため、コントローラ40は、第1変換倍率が第2変換倍率より大きい場合よりも第1変換倍率が第2変換倍率より小さい場合の方が終了判定閾値Thが小さくなるように、終了判定閾値Thを設定する。これにより、第1距離D1および第2距離D2を対応する実距離よりも小さく見積もっていたとしても、終了判定閾値Thが小さくなるように調整されるため、位置決め精度が不十分な状態で、位置決め処理が終了することを抑制できる。その結果、位置決め精度の低下を抑制できる。
§2 具体例
次に、本実施の形態に係る位置決めシステムの一例について説明する。
<2−1.画像処理装置のハードウェア構成>
図2は、図1に示す画像処理装置のハードウェア構成を示す模式図である。画像処理装置32は、典型的には、汎用的なコンピュータアーキテクチャに従う構造を有しており、予めインストールされたプログラムをプロセッサが実行することで、後述するような各種の画像処理を実現する。
より具体的には、画像処理装置32は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ310と、RAM(Random Access Memory)312と、表示コントローラ314と、システムコントローラ316と、I/O(Input Output)コントローラ318と、ハードディスク320と、カメラインターフェイス322と、入力インターフェイス324と、コントローラインターフェイス326と、通信インターフェイス328と、メモリカードインターフェイス330とを含む。これらの各部は、システムコントローラ316を中心として、互いにデータ通信可能に接続される。
プロセッサ310は、システムコントローラ316との間でプログラム(コード)などを交換して、これらを所定順序で実行することで、目的の演算処理を実現する。
システムコントローラ316は、プロセッサ310、RAM312、表示コントローラ314、およびI/Oコントローラ318とそれぞれバスを介して接続されており、各部との間でデータ交換などを行うとともに、画像処理装置32全体の処理を司る。
RAM312は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク320から読み出されたプログラムや、撮像部31によって撮像された画像(画像データ)、画像に対する処理結果、およびワークデータなどを保持する。画像に対する処理結果には、当該画像に含まれるマーク5a,5bの位置座標が含まれる。
表示コントローラ314は、表示部60と接続されており、システムコントローラ316からの内部コマンドに従って、各種の情報を表示するための信号を表示部60へ出力する。
I/Oコントローラ318は、画像処理装置32に接続される記録媒体や外部機器との間のデータ交換を制御する。より具体的には、I/Oコントローラ318は、ハードディスク320と、カメラインターフェイス322と、入力インターフェイス324と、コントローラインターフェイス326と、通信インターフェイス328と、メモリカードインターフェイス330と接続される。
ハードディスク320は、典型的には、不揮発性の磁気記憶装置であり、プロセッサ310で実行されるプログラムに加えて、各種設定値などが格納される。
カメラインターフェイス322は、対象ワークWを撮影することで生成された画像データを受付ける入力部に相当し、プロセッサ310と撮像部31との間のデータ伝送を仲介する。カメラインターフェイス322は、撮像部31からの画像データをそれぞれ一時的に蓄積するための画像バッファを含む。
入力インターフェイス324は、プロセッサ310とキーボード334、マウス、タッチパネル、専用コンソールなどの入力装置との間のデータ伝送を仲介する。
コントローラインターフェイス326は、プロセッサ310とコントローラ40との間のデータ伝送を仲介する。
通信インターフェイス328は、プロセッサ310と図示しない他のパーソナルコンピュータやサーバ装置などとの間のデータ伝送を仲介する。通信インターフェイス328は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。
メモリカードインターフェイス330は、プロセッサ310と記録媒体61との間のデータ伝送を仲介する。
<2−2.コントローラのハードウェア構成>
図3は、図1に示すコントローラのハードウェア構成を示す模式図である。コントローラ40は、チップセット412と、プロセッサ414と、不揮発性メモリ416と、主メモリ418と、システムクロック420と、メモリカードインターフェイス422と、通信インターフェイス428と、内部バスコントローラ430と、フィールドバスコントローラ438とを含む。チップセット412と他のコンポーネントとの間は、各種のバスを介してそれぞれ結合されている。
プロセッサ414およびチップセット412は、典型的には、汎用的なコンピュータアーキテクチャに従う構成を有している。すなわち、プロセッサ414は、チップセット412から内部クロックに従って順次供給される命令コードを解釈して実行する。チップセット412は、接続されている各種コンポーネントとの間で内部的なデータを遣り取りするとともに、プロセッサ414に必要な命令コードを生成する。システムクロック420は、予め定められた周期のシステムクロックを発生してプロセッサ414に提供する。チップセット412は、プロセッサ414での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。
コントローラ40は、記憶手段として、不揮発性メモリ416および主メモリ418を有する。不揮発性メモリ416は、プロセッサ414で実行される制御プログラム440に加えて、撮像部31の設計情報426、データ定義情報、ログ情報などを不揮発的に保持する。制御プログラム440は、記録媒体424などに格納された状態で流通する。主メモリ418は、揮発性の記憶領域であり、プロセッサ414で実行されるべき各種プログラムを保持するとともに、各種プログラムの実行時の作業用メモリとしても使用される。
コントローラ40は、通信手段として、通信インターフェイス428および内部バスコントローラ430を有する。これらの通信回路は、データの送信および受信を行う。
通信インターフェイス428は、視覚センサ30との間でデータを遣り取りする。内部バスコントローラ430は、データの遣り取りを制御する。より具体的には、内部バスコントローラ430は、バッファメモリ436と、DMA(Dynamic Memory Access)制御回路432と、内部バス制御回路434とを含む。
メモリカードインターフェイス422は、コントローラ40に対して着脱可能な記録媒体424とプロセッサ414とを接続する。記録媒体424は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的または化学的作用によって蓄積する媒体である。記録媒体424には、コントローラ40で実行される制御プログラム440などが格納された状態で流通し、メモリカードインターフェイス422は、記録媒体424から制御プログラムを読み出す。記録媒体424は、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記録媒体や、CD−ROM(Compact Disk Read Only Memory)などの光学記録媒体等からなる。あるいは、通信インターフェイス417を介して、配信サーバなどからダウンロードしたプログラムをコントローラ40にインストールしてもよい。
フィールドバスコントローラ438は、フィールドネットワークに接続するための通信インターフェイスである当該フィールドネットワークには、たとえば、EtherCAT(登録商標)、EtherNet/IP(登録商標)、CompoNet(登録商標)などが採用される。コントローラ40は、フィールドバスコントローラ438を介してサーボドライバ22,24,26と接続される。
<2−3.画像処理装置の処理例>
図4は、図1に示す位置決めシステムの機能構成の一例を示すブロック図である。画像処理装置32は、撮像部31によって撮像された画像の中からマーク5a,5b(図1参照)を探索し、マーク5aの位置(以下、「計測位置PMa」という)とマーク5bの位置(以下、「計測位置PMb」という)とを特定する。さらに、画像処理装置32は、同じ画像の中からマーク6a,6b(図1参照)を探索し、マーク6aの位置(以下、「目標位置SPa」という)とマーク6bの位置(以下、「目標位置SPb」という)とを特定する。
画像処理装置32は、公知のパターン認識技術を用いて、画像の中からマーク5a,5b,6a,6bを認識すればよい。画像処理装置32は、計測位置PMa,PMbと目標位置SPa,SPbとのXY座標を計測する。当該XY座標は、カメラ座標系で示される。
<2−4.コントローラの機能構成>
図4に示されるように、コントローラ40は、キャリブレーション実行部41と、座標変換部42と、移動制御部43と、終了判定部47とを備える。キャリブレーション実行部41と、座標変換部42と、移動制御部43と、終了判定部47とは、図4に示すプロセッサ414が制御プログラム440を実行することにより実現される。
<2−4−1.キャリブレーション実行部>
キャリブレーション実行部41は、カメラ座標系と機械座標系との整合をとる処理であるキャリブレーションを実行し、カメラ座標系を機械座標系に変換するためのキャリブレーションパラメータを生成する。キャリブレーション実行部41は、位置決めシステム1の立ち上げ段階において、キャリブレーションを実行する。さらに、キャリブレーション実行部41は、上位の制御装置からのキャリブレーションの実行指示に応じて、キャリブレーションを実行する。たとえば、作業者は、キャリブレーションパラメータのずれが大きくなってきたと判断したタイミングで、上位の制御装置を操作して、キャリブレーションを実行させる。
キャリブレーションパラメータは、典型的には、以下の式(1)におけるアフィン変換係数A〜F(以下、「キャリブレーションパラメータA〜F」という)である。式(1)において、(x、y)は、カメラ座標系のXY座標を示し、(x’,y’)は、機械座標系のXY座標を示す。
Figure 0006950631
キャリブレーション実行部41は、カメラ座標系における複数の点のXY座標と、機械座標系における当該複数の点のXY座標との対応関係に基づいて、公知の手法に従ってキャリブレーションパラメータA〜Fを算出すればよい。
<2−4−2.座標変換部>
上述したように、画像処理装置32から出力される計測位置PMa、PMbおよび目標位置SPa,SPbは、カメラ座標系で示される。一方、移動制御部43の制御対象である移動機構10の移動量は、機械座標系で示される。そのため、座標変換部42は、画像処理装置32から出力された、計測位置PMa,PMbおよび目標位置SPa,SPbの座標変換を行ない、機械座標系における、計測位置PMa’,PMb’および目標位置SPa’,Spb’のXY座標を出力する。
座標変換部42は、キャリブレーション実行部41によって算出された最新のキャリブレーションパラメータA〜Fと上記の式(1)とを用いて、カメラ座標系から機械座標系への座標変換を行なう。
<2−4−3.移動制御部>
移動制御部43は、マーク5aの計測位置PMa’がマーク6aの位置(目標位置SPa’)に近づくとともに、マーク5bの計測位置PMb’がマーク6bの位置(目標位置SPb’)に近づくように、移動指令を生成する。図4に示されるように、移動制御部43は、位置決定部44と、減算部45と、演算部46とを備える。
計測位置PMa’,PMb’は、撮像周期Tbごとに特定される。一方、移動指令は、制御周期Tsごとに生成される。撮像周期Tbは、制御周期Tsよりも長い。そのため、計測位置PMa’,PMb’のみを用いて移動機構10が制御されると、オーバシュートおよび振動が生じやすくなる。このようなオーバシュートおよび振動を避けるため、位置決定部44は、撮像周期Tbごとに特定された計測位置PMa’,PMb’と制御周期Tsごとに出力されるエンコーダ値EnX,EnY,Enθとに基づいて、制御周期Tsごとにマーク5a,5bの推定位置PVa’,PVb’をそれぞれ決定する。推定位置PVa’,PVb’のXY座標は、機械座標系で示される。推定位置PVa’,PVb’の決定方法については後述する。
減算部45は、推定位置PVa’と目標位置SPa’との距離と、推定位置PVb’と目標位置SPb’との距離とを出力する。
演算部46は、推定位置PVa’と目標位置SPa’との距離および推定位置PVb’と目標位置SPb’との距離が0に収束するように演算(P演算またはPID演算)を行ない、制御周期Tsごとに移動指令MVX,MVY,MVθを算出する。移動指令MVXは、Xステージ11(図1参照)に対する移動指令である。移動指令MVYは、Yステージ13(図1参照)に対する移動指令である。移動指令MVθは、θステージ15(図1参照)に対する移動指令である。演算部46は、算出した移動指令MVX、MVY,MVθをドライバユニット20に出力する。移動指令MVX、MVY,MVθは、たとえば位置指令、速度指令またはトルク指令である。
<2−4−4.終了判定部>
終了判定部47は、位置決めを終了するか否かを判定し、位置決めを終了すると判定した場合に移動制御部43による制御を終了させる。
図5は、図4に示す終了判定部の内部構成の一例を示す図である。図5に示されるように、終了判定部47は、距離算出部471と、第1変換倍率算出部472と、第2変換倍率算出部473と、係数決定部474と、設定部475と、指示部476とを含む。
<2−4−5.距離算出部>
距離算出部471は、機械座標系における、計測位置PMa’,PMb’と目標位置SPa’,SPb’とを座標変換部42(図4参照)から取得する。距離算出部471は、マーク5aの計測位置PMa’と目標位置SPa’との第1距離D1を算出するとともに、マーク5bの計測位置PMb’と目標位置SPb’との第2距離D2を算出する。
<2−4−6.第1変換倍率算出部>
第1変換倍率算出部472は、キャリブレーションパラメータA〜Fで示される、カメラ座標系から機械座標系への変換倍率(以下、「第1変換倍率」という)を算出する。「変換倍率」とは、カメラ座標系から機械座標系への拡大縮小の変換量を示す。「変換倍率」は、画像の1画素に相当する視野の絶対長を示す画素分解能といえる。
カメラ座標系から機械座標系への、X方向の並進変換量を“dx”、Y方向の並進変換量を“dy”、回転変換量を“dθ”、X方向の変換倍率を“a”、Y方向の変換倍率を“b”とすると、カメラ座標系から機械座標系への理想的な変換式は、以下の式(2)で示される。
Figure 0006950631
上記の式(1)と式(2)とを対比すると、キャリブレーション実行部41によって算出されたキャリブレーションパラメータA〜Fは、以下のように示される。
A=a・cos(dθ)
B=−a・sin(dθ)
C=dx
D=b・sin(dθ)
E=b・cos(dθ)
F=dy
以下の式(3),(4)から、(A+B1/2は、X方向の変換倍率を示し、(D+E1/2は、Y方向の変換倍率を示す。
Figure 0006950631
そこで、第1変換倍率算出部472は、キャリブレーション実行部41によって算出されたキャリブレーションパラメータA,B,D,Eを用いて、(A+B1/2および(D+E1/2のいずれか小さい方を第1変換倍率として算出する。
<2−4−7.第2変換倍率算出部>
第2変換倍率算出部473は、撮像部31の設計情報に基づいて、カメラ座標系から機械座標系への変換倍率(以下、「第2変換倍率」という)を算出する。撮像部31の設計情報は、コントローラ40の不揮発性メモリ416(図3参照)に予め格納されている。第2変換倍率算出部473は、不揮発性メモリ416から設計情報を読み出し、読み出した設計情報に基づいて、第2変換倍率を算出する。
図6は、撮像部の構成を示す図である。図6に示されるように、撮像部31は、撮像素子301と、対象ワークWおよび基準ワークW0からの光を撮像素子301に導くレンズ302とを含む。撮像素子301は、たとえばCCD(Charge-Coupled Device)イメージセンサであり、格子状に配列された複数の受光素子を有し、各受光素子の受光量に応じた電荷を出力する。レンズ302は、撮像素子301との距離が焦点距離と一致するように、撮像素子301と対象ワークWとの間に配置される。
上述したように、変換倍率は、画像の1画素に相当する視野の絶対長を示す画素分解能といえる。すなわち、画素分解能は、視野の水平長さを画素数で割った値である。撮像素子301の寸法(水平方向の長さ)をd1、撮像素子301の解像度(受光素子の密度)をR、レンズの焦点距離をd2、レンズの画角をΘ、撮像素子301と対象ワークWとの距離をd3とすると、画素分解能は、以下の式(5)で示される。
画素分解能=2×(d3−d2)×tan(Θ/2)/(d1×R) ・・・(5)。
第2変換倍率算出部473は、不揮発性メモリ416(図3参照)が記憶する設計情報426に含まれる、撮像素子301の寸法および解像度と、レンズ302の焦点距離および画角と、撮像素子301と対象ワークWとの距離とを示す情報を用いて、上記の式(5)に従って、第2変換倍率を算出する。
<2−4−8.係数決定部、設定部および指示部>
係数決定部474は、第1変換倍率と第2変換倍率との値に応じて、終了判定閾値Thを設定するための調整係数αを決定する。
具体的には、係数決定部474は、第1変換倍率が第2変換倍率以上である場合、調整係数αを1に設定する。係数決定部474は、第1変換倍率が第2変換倍率よりも小さい場合、調整係数αを(第1変換倍率/第2変換倍率)に設定する。
設定部475は、終了判定閾値Thを設定する。設定部475は、要求される位置決め精度に応じて予め定められる値(以下、「デフォルト閾値Th0」という)を取得する。デフォルト閾値Th0は、マーク5aとマーク6bとの距離およびマーク5bとマーク6bとの距離の許容範囲の上限値、または、当該上限値よりも小さい値である。
設定部475は、デフォルト閾値Th0と調整係数αとの積(Th0×α)を終了判定閾値Thとして設定する。
指示部476は、第1距離D1および第2距離D2と終了判定閾値Thとを比較する。指示部476は、第1距離D1および第2距離D2の両方が終了判定閾値Th未満である場合に、移動機構10の移動を終了するように移動制御部43に指示する。
§3 動作例
<3−1.終了判定閾値の設定処理の流れ>
図7を参照して、コントローラ40の終了判定閾値の設定処理の流れについて説明する。図7は、コントローラ40の終了判定閾値の設定処理の流れの一例を示すフローチャートである。図7に示す終了判定閾値の設定処理は、キャリブレーション実行部41がキャリブレーションを実行するたびに行なわれる。
キャリブレーション実行部41がキャリブレーションを実行すると、まずステップS1において、第1変換倍率算出部472は、最新のキャリブレーションパラメータを取得する。ステップS2において、第1変換倍率算出部472は、最新のキャリブレーションパラメータを用いて、第1変換倍率を算出する。
次にステップS3において、第2変換倍率算出部473は、不揮発性メモリ416に格納された撮像部31の設計情報に基づいて、第2変換倍率を算出する。
次にステップS4において、係数決定部474は、第1変換倍率が第2変換倍率以上であるか否かを判定する。ステップS4でYESの場合、係数決定部474は、ステップS5において、調整係数αを1に決定する。ステップS4でNOの場合、つまり、第1変換倍率が第2変換倍率よりも小さい場合、係数決定部474は、ステップS6において、調整係数αを(第1変換倍率/第2変換倍率)に決定する。
ステップS5またはステップS6の後、設定部475は、ステップS7において、デフォルト閾値Th0と調整係数αとの積(Th0×α)を終了判定閾値Thとして設定する。これにより、終了判定閾値の設定処理が終了する。
<3−2.コントローラの位置決め処理の流れ>
図8を参照して、コントローラ40の位置決め処理の流れの一例について説明する。図8は、コントローラにおける位置決め処理の流れの一例を示すフローチャートである。図8に示す位置決め処理は、図7に示す終了判定閾値の設定処理が完了した後に行なわれる。
まずステップS11において、コントローラ40は、推定位置PVa’,PVb’およびエンコーダ値EnX,EnY,Ebθを初期化する。
次に、対象ワークWが移動機構10上に載置されると、コントローラ40は、上位の制御装置からの指示に従って、視覚センサ30に対して撮像トリガを出力する。そして、ステップS12において、撮像部31は、停止中の移動機構10上の対象ワークWと、定位置に固定された基準ワークW0との両方を含む画像を取得する。ステップS13において、画像処理装置32は、撮像された画像に含まれる、マーク5aの位置(計測位置PMa)およびマーク6aの位置(目標位置SPa)と、マーク5bの位置(計測位置PMb)およびマーク6bの位置(目標位置SPb)とを特定する。
次にステップS14において、座標変換部42は、キャリブレーション実行部41によって算出された最新のキャリブレーションパラメータA〜Fを用いて、計測位置PMa,PMbおよび目標位置SPa,SPbの座標変換を行なう。座標変換部42は、座標変換により得られた、機械座標系における計測位置PMa’,PMb’および目標位置SPa’,SPb’のXY座標を出力する。
次にステップS15において、距離算出部471は、計測位置PMa’と目標位置SPa’との第1距離D1と、計測位置PMb’と目標位置SPb’との第2距離D2とを算出する。
次にステップS16において、指示部476は、第1距離D1および第2距離D2が終了判定閾値Th未満であるか否かを判定する。ステップS16でYESの場合、指示部476は、移動機構10の移動を終了するように移動制御部43に指示する。これにより、移動機構10が停止し、位置決め処理が終了する。
ステップS16でNOの場合、コントローラ40は、ステップS17において、移動制御部43により移動機構10の移動制御が開始済みであるか否かを判定する。ステップS17でNOの場合、移動制御部43は、ステップS18において、移動機構10に対する移動制御を開始する。移動制御部43による移動制御の詳細については後述する。
ステップS18の後、または、ステップS17でYESの場合、ステップS19,S20の処理が撮像周期Tbごとに繰り返される。なお、ステップS19,S20の間にも、移動制御部43による移動制御が並行して実行される。
ステップS19において、コントローラ40は、現時刻が撮像トリガ出力時刻であるか否かを判定する。撮像トリガ出力時刻は、撮像周期Tbに従って、予め定められる。すなわち、前回の撮像トリガ出力時刻から撮像周期Tbだけ経過した時刻が新たな撮像トリガ出力時刻として定められる。現時刻が撮像トリガ出力時刻でない場合(ステップS19でNO)、位置決め処理はステップS19に戻る。
現時刻が撮像トリガ出力時刻である場合(ステップS19でYES)、コントローラ40は、撮像トリガを視覚センサ30に出力する。これにより、ステップS20において、撮像トリガを受けた撮像部31は、移動中の移動機構10上の対象ワークWを撮像する。ステップS20の後、位置決め処理はステップS13に戻る。
<3−3.移動制御部の処理>
図9は、移動制御部による移動制御の処理の流れの一例を示すフローチャートである。まずステップS21において、移動制御部43は、座標変換部42から出力された最新の計測位置PMa’,PMb’の座標(機械座標系)を取得する。
次にステップS22において、位置決定部44は、撮像時刻tiを取得する。位置決定部44は、撮像トリガが出力された時刻から一定の伝送遅延時間Tsdだけ経過した時刻を撮像時刻tiとして取得する。伝送遅延時間Tsdは、撮像部31が撮像トリガを受けてから撮像開始するまでの遅延時間である。
次にステップS23において、位置決定部44は、撮像時刻tiに近い複数の時刻(以下、「出力時刻」という)にエンコーダ12E,14E,16E(図1参照)から出力されたエンコーダ値EnX,EnY,Enθを取得する。過去に検出されたエンコーダ値は、コントローラ40の記憶部(たとえば不揮発性メモリ416または主メモリ418(図4参照))に記憶される。
次にステップS24において、位置決定部44は、複数の出力時刻のエンコーダ値EnXの内挿補間値を算出し、当該内挿補間値を撮像時刻tiのエンコーダ値EnsXとする。同様に、位置決定部44は、複数の時刻のエンコーダ値EnYの内挿補間値を算出し、当該内挿補間値を撮像時刻のエンコーダ値EnsYとする。位置決定部44は、複数の時刻のエンコーダ値Enθの内挿補間値を算出し、当該内挿補間値を撮像時刻のエンコーダ値Ensθとする。
図10は、撮像時刻のエンコーダ値EnsXの算出方法を説明する図である。図10を参照して、位置決定部44は、以下のようにして内挿補間値を算出する。出力時刻t(j)に出力されたエンコーダ値EnXをエンコーダ値EnX(j)とする。なお、エンコーダ12Eがパルス信号を検出してからエンコーダ値EnXが出力するまで一定の伝送遅延時間Tedだけ遅延する。そのため、出力時刻t(j)に出力されたエンコーダ値EnX(j)は、出力時刻t(j)から伝送遅延時間Tedだけ前の時刻における、初期位置からのサーボモータ12の駆動量を示している。
位置決定部44は、撮像時刻tiに近接する2つの出力時刻を特定する。たとえば、制御周期Tsと、エンコーダ値の伝送遅延時間Tedと、撮像トリガの伝送遅延時間TsdとがTs−Ted≦Tsd<2Ts−Tedを満たす場合、位置決定部44は、撮像時刻tiの直後の出力時刻t(n)と出力時刻t(n+1)とを特定する。
位置決定部44は、出力時刻t(n)に出力されたエンコーダ値EnX(n)と、出力時刻t(n+1)に出力されたエンコーダ値EnX(n+1)とを取得する。
位置決定部44は、エンコーダ値EnX(n)とエンコーダ値EnX(n+1)との内挿補間値を用いて、撮像時刻tiのエンコーダ値EnsX(i)を算出する。具体的には、位置決定部44は、次の式(6)を用いて、撮像時刻tiのエンコーダ値EnsX(i)を算出する。
EnsX(i)=EnX(n)+Kk*(EnX(n+1)−EnX(n)) ・・・(6)
ここで、Kkは、内挿補間係数である。Ts−Ted≦Tsd<2Ts−Tedの場合、内挿補間係数Kkは、次の式(7)を用いて算出される。
Kk={Tsd−(Ts−Ted)}/Ts ・・・(7)
このような内挿補間値の算出方法を用いることによって、撮像時刻tiのエンコーダ値EnsX(i)を高精度に算出できる。同様にして、撮像時刻tiのエンコーダ値EnsY(i),Ensθ(i)が算出される。なお、撮像時刻tiがエンコーダ値の出力時刻から伝送遅延時間Tedだけ前の時刻と一致する場合には、このエンコーダ値をそのまま用いればよい。
次にステップS25において、位置決定部44は、計測位置PMa’,PMb’と、撮像時刻以後のエンコーダ値EnX,EnY,Enθと、撮像時刻のエンコーダ値EnsX,EnsY,Ensθとを用いて、推定位置PVa’,PVb’を算出する。
位置決定部44は、X方向に(EnX−EnsX)だけ並進移動し、Y方向に(EnY−EnsY)だけ並進移動し、θステージ15の回転軸を中心に(Enθ−Ensθ)だけ回転移動するときのアフィン変換式に計測位置PMa’のXY座標を入力する。これにより、位置決定部44は、マーク5aの推定位置PVa’のXY座標を算出する。同様に、位置決定部44は、当該アフィン変換式に計測位置PMb’のXY座標を入力することにより、マーク5bの推定位置PVb’のXY座標を算出する。
次にステップS26において、演算部46は、目標位置SPa’,SPb’に対する推定位置PVa’,PVb’のそれぞれの偏差に基づいて、たとえばP演算により、移動指令MVX,MVY,MVθを生成する。そして、演算部46は、ドライバユニット20に移動指令MVX,MVY,MVθを出力する。
このような処理を実行することによって、コントローラ40は、画像処理装置32から高精度な計測位置PMa,PMbが入力される時刻には、当該計測位置PMa,PMbを用いて推定位置PVa’.PVb’を算出し、高精度な位置決め制御を実現できる。ここで、計測位置PMa,PMbが入力される時間間隔は、撮像周期Tbであり、エンコーダ値EnX,EnY,Enθが入力される制御周期Tsに比べて長い。しかしながら、時間軸上で隣り合う計測位置PMa,PMbの入力時刻間において、位置決定部44は、入力周期が短いエンコーダ値EnX,EnY,Enθの入力時刻毎に、推定位置PVa’,PVb’を決定して、移動機構10の移動制御を行う。これにより、高精度且つ短周期の位置決め制御が可能になる。さらに、位置決定部44は、上述の簡単な四則演算を用いる処理を行なう。そのため、簡素な構成および処理による高速且つ高精度な位置決めを実現できる。
<3−4.作用・効果>
以上のように、対象ワークWの位置決めを行なう位置決めシステム1は、対象ワークWを移動させるための移動機構10と、撮像部31と、画像処理装置32と、座標変換部42と、移動制御部43と、指示部476と、設定部475とを備える。
撮像部31は、撮像周期Tbごとに、対象ワークWと目標物である基準ワークW0との両方を含む画像を取得する。画像処理装置32は、画像のカメラ座標系における対象ワークWの位置(計測位置PMa,PMb)と、カメラ座標系における基準ワークW0の位置(目標位置SPa,SPb)とを特定する。
座標変換部42は、カメラ座標系を移動機構10の機械座標系に変換するためのキャリブレーションパラメータを用いて、計測位置PMa,PMbと目標位置SPa,SPbとの座標変換を行なう。これにより、機械座標系における計測位置PMa’,PMb’と機械座標系における目標位置SPa’,SPb’とが特定される。
移動制御部43は、計測位置PMa’が目標位置SPa’に近づき、かつ、計測位置PMb’が目標位置SPb’に近づくように、移動機構10を制御する。指示部476は、計測位置PMa’と目標位置SPa’との第1距離D1と、計測位置PMb’と目標位置SPb’との第2距離D2とが終了判定閾値Th未満である場合に、移動機構10の移動を終了するように移動制御部43に指示する。
キャリブレーションパラメータから算出される、カメラ座標系から機械座標系への第1変換倍率と、撮像部31の設計情報から算出される、カメラ座標系から機械座標系への第2変換倍率とが比較される。そして、設定部475は、第1変換倍率が第2変換倍率より大きい場合よりも、第1変換倍率が第2変換倍率より小さい場合の方が終了判定閾値Thが小さくなるように、終了判定閾値Thを設定する。
第1変換倍率は、キャリブレーションパラメータを用いて座標変換したときの変換倍率を示している。第2変換倍率は、設計上の変換倍率を示している。第1変換倍率および第2変換倍率のうちどちらが真の変換倍率に近いかは、現状の撮像部31の状態に依存し、不明である。
第1距離D1および第2距離D2は、キャリブレーションパラメータを用いて計測位置PMa,PMbと目標位置SPa,SPbとを座標変換することにより算出される。そのため、第1変換倍率が第2変換倍率よりも小さい場合、コントローラ40は、マーク5aとマーク6aとの実距離よりも第1距離D1を小さく見積もっている可能性がある。同様に、コントローラ40は、マーク5bとマーク6bとの実距離よりも第2距離D2を小さく見積もっている可能性がある。
上記の構成によれば、第1変換倍率が第2変換倍率よりも小さい場合、調整係数α(=第1変換倍率/第2変換倍率)とデフォルト閾値Th0との積が終了判定閾値Thとして設定される。そのため、第1変換倍率が第2変換倍率よりも大きい場合よりも第1変換倍率が第2変換倍率よりも小さい場合の方が終了判定閾値Thが小さくなる。これにより、第1距離D1および第2距離D2を実距離よりも小さく見積もっていたとしても、位置決め精度が不十分な状態で、位置決め処理が終了してしまうことを抑制できる。その結果、位置決め精度の低下を抑制できる。
撮像部31は、撮像素子301と、対象ワークWと基準ワークW0とからの光を撮像素子301に導くレンズ302とを含む。設計情報は、撮像素子301の寸法と、撮像素子301の解像度と、レンズ302の画角と、レンズ302の焦点距離と、撮像素子301と対象ワークWとの距離とを示す情報を含む。これにより、設計上の変換倍率を第2変換倍率として算出できる。
キャリブレーションパラメータは、アフィン変換係数である。第1変換倍率は、アフィン変換係数を用いて算出される。アフィン変換係数は、カメラ座標系から機械座標系への並進移動量、回転移動量および拡大縮小の変換量(変換倍率)を規定する。そのため、アフィン変換係数を用いることにより、キャリブレーションパラメータを用いて座標変換したときの変換倍率を第1変換倍率として算出できる。
設定部475は、第1変換倍率が第2変換倍率よりも大きい場合、デフォルト閾値Th0を終了判定閾値Thとして設定する。設定部475は、第2変換倍率が第1変換倍率よりも大きい場合、デフォルト閾値Th0と第1変換倍率を第2変換倍率で割った商との積を終了判定閾値Thとして設定する。これにより、撮像部31の現状に応じた真の変換倍率が第2変換倍率に近い場合であっても、位置決め精度が不十分な状態で、位置決め処理が終了してしまうことを抑制できる。
§4 変形例
上記の説明では、第1変換倍率算出部472は、(A+B1/2および(D+E1/2のいずれか小さい方を第1変換倍率として算出する。しかしながら、第1変換倍率算出部472は、(A+B1/2および(D+E1/2の平均値を第1変換倍率として算出してもよい。
もしくは、第1変換倍率算出部472は、(A+B1/2および(D+E1/2をX方向およびY方向の第1変換倍率としてそれぞれ算出してもよい。第1距離D1は、計測位置PMa’と目標位置SPa’とのX座標の差をΔX1、計測位置PMa’と目標位置SPa’とのY座標の差をΔY1とするとき、(ΔX1+ΔY11/2で示される。そのため、ΔX1>ΔY1であるとき、X方向の第1変換倍率と第2変換倍率との比に応じて、第1距離D1用の終了判定閾値Thが設定されてもよい。ΔX1<ΔY1であるとき、Y方向の第1変換倍率と第2変換倍率との比に応じて、第1距離D1用の終了判定閾値Thが設定されてもよい。同様に、第2距離D2は、計測位置PMb’と目標位置SPb’とのX座標の差をΔX2、計測位置PMb’と目標位置SPb’とのY座標の差をΔY2とするとき、(ΔX2+ΔY21/2で示される。そのため、ΔX2>ΔY2であるとき、X方向の第1変換倍率と第2変換倍率との比に応じて、第2距離D2用の終了判定閾値Thが設定されてもよい。ΔX2<ΔY2であるとき、Y方向の第1変換倍率と第2変換倍率との比に応じて、第2距離D2用の終了判定閾値Thが設定されてもよい。
上記の説明では、対象ワークWに設けられた2個のマーク5a,5bを対象ワークWの特徴部分として用いて、対象ワークWが位置決めされる。しかしながら、対象ワークWに設けられるマークの個数は2個に限定されず、1個または3個以上であってもよい。
また、対象ワークWの他の部分を特徴部分として用いて対象ワークWが位置決めされてもよい。たとえば、対象ワークWに設けられたネジまたはネジ穴を特徴部分として用いてもよい。もしくは、対象ワークWの角部を特徴部分として用いてもよい。
上記の説明では、コントローラ40は、キャリブレーション実行部41と、座標変換部42と、移動制御部43と、終了判定部47とを備える。しかしながら、終了判定部47は、コントローラ40とは別の情報処理装置に備えられていてもよい。
§5 付記
以上のように、本実施の形態および変形例は以下のような開示を含む。
(構成1)
対象物(W)の位置決めを行なう位置決めシステムであって、
前記対象物(W)を移動させるための移動機構(10)と、
撮像周期ごとに、前記対象物(W)と目標物(W0)との両方を含む画像を取得するための撮像部(31)と、
前記画像の第1座標系における前記対象物(W)の第1位置と、前記第1座標系における前記目標物(W0)の第2位置とを特定するための画像処理装置(32)と、
前記第1座標系を前記移動機構(10)の第2座標系に変換するためのキャリブレーションパラメータを用いて、前記第1位置と前記第2位置との座標変換を行なうことにより、前記第2座標系における前記対象物(W)の第3位置と前記第2座標系における前記目標物の第4位置とを特定するための座標変換部(42)と、
前記第3位置が前記第4位置が近づくように前記移動機構(10)を制御するための移動制御部(43)と、
前記第3位置と前記第4位置との距離が閾値未満である場合に、前記移動機構(10)の移動を終了するように前記移動制御部(43)に指示するための指示部(476)と、
前記キャリブレーションパラメータから算出される、前記第1座標系から前記第2座標系への第1変換倍率が、前記撮像部(31)の設計情報から算出される、前記第1座標系から前記第2座標系への第2変換倍率より大きい場合よりも、前記第1変換倍率が前記第2変換倍率より小さい場合の方が前記閾値が小さくなるように、前記閾値を設定するための設定部(475)とを備える、位置決めシステム(1)。
(構成2)
前記撮像部(31)は、撮像素子(301)と、前記対象物(W)と前記目標物とからの光を前記撮像素子(301)に導くレンズ(302)とを含み、
前記設計情報は、前記撮像素子(301)の寸法と、前記撮像素子(301)の解像度と、前記レンズ(302)の画角と、前記レンズ(302)の焦点距離と、前記撮像素子(301)と前記対象物(W)との距離とを示す情報を含む、構成1に記載の位置決めシステム(1)。
(構成3)
前記キャリブレーションパラメータは、アフィン変換係数であり、
前記第1変換倍率は、前記アフィン変換係数を用いて算出される、構成1に記載の位置決めシステム(1)。
(構成4)
前記設定部(475)は、前記第1変換倍率が前記第2変換倍率よりも大きい場合、予め定められた値を前記閾値として設定し、前記第2変換倍率が前記第1変換倍率よりも大きい場合、前記予め定められた値と前記第1変換倍率を前記第2変換倍率で割った商との積を前記閾値として設定する、構成1から3のいずれかに記載の位置決めシステム(1)。
(構成5)
対象物(W)の位置決めを行なう位置決めシステム(1)の制御方法であって、
前記位置決めシステム(1)は、
前記対象物(W)を移動させるための移動機構(10)と、
撮像周期ごとに、前記対象物(W)と目標物との両方を含む画像を取得するための撮像部(31)と、
前記画像の第1座標系における前記対象物(W)の第1位置と、前記第1座標系における前記目標物の第2位置とを特定するための画像処理装置(32)とを備え、
前記第1座標系を前記移動機構(10)の第2座標系に変換するためのキャリブレーションパラメータを用いて、前記第1位置と前記第2位置との座標変換を行なうことにより、前記第2座標系における前記対象物(W)の第3位置と前記第2座標系における前記目標物の第4位置とを特定するステップと、
前記第3位置が前記第4位置が近づくように前記移動機構(10)を制御するステップと、
前記第3位置と前記第4位置との距離が閾値未満である場合に、前記移動機構(10)の移動を終了させるステップと、
前記キャリブレーションパラメータから算出される、前記第1座標系から前記第2座標系への第1変換倍率が、前記撮像部(31)の設計情報から算出される、前記第1座標系から前記第2座標系への第2変換倍率より大きい場合よりも、前記第1変換倍率が前記第2変換倍率より小さい場合の方が前記閾値が小さくなるように、前記閾値を設定するステップとを備える、制御方法。
(構成6)
対象物(W)の位置決めを行なう位置決めシステム(1)の制御方法をコンピュータに実行させるためのプログラムであって、
前記位置決めシステム(1)は、
前記対象物(W)を移動させるための移動機構(10)と、
撮像周期ごとに、前記対象物(W)と目標物との両方を含む画像を取得するための撮像部(31)と、
前記画像の第1座標系における前記対象物(W)の第1位置と、前記第1座標系における前記目標物の第2位置とを特定するための画像処理装置(32)とを備え、
前記制御方法は、
前記第1座標系を前記移動機構(10)の第2座標系に変換するためのキャリブレーションパラメータを用いて、前記第1位置と前記第2位置との座標変換を行なうことにより、前記第2座標系における前記対象物(W)の第3位置と前記第2座標系における前記目標物の第4位置とを特定するステップと、
前記第3位置が前記第4位置が近づくように前記移動機構(10)を制御するステップと、
前記第3位置と前記第4位置との距離が閾値未満である場合に、前記移動機構(10)の移動を終了させるステップと、
前記キャリブレーションパラメータから算出される、前記第1座標系から前記第2座標系への第1変換倍率が、前記撮像部(31)の設計情報から算出される、前記第1座標系から前記第2座標系への第2変換倍率より大きい場合よりも、前記第1変換倍率が前記第2変換倍率より小さい場合の方が前記閾値が小さくなるように、前記閾値を設定するステップとを備える、プログラム。
今回開示された各実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組合せても、実施することが意図される。
1 位置決めシステム、5a,5b,6a,6b,7 マーク、10 移動機構、11 Xステージ、12,14,16 サーボモータ、12E,14E,16E エンコーダ、13 Yステージ、15 θステージ、20 ドライバユニット、22,24,26 サーボドライバ、30 視覚センサ、31 撮像部、32 画像処理装置、40 コントローラ、41 キャリブレーション実行部、42 座標変換部、43 移動制御部、44 位置決定部、45 減算部、46 演算部、47 終了判定部、61,424 記録媒体、60 表示部、301 撮像素子、302 レンズ、310,414 プロセッサ、312 RAM、314 表示コントローラ、316 システムコントローラ、318 I/Oコントローラ、320 ハードディスク、322 カメラインターフェイス、324 入力インターフェイス、326 コントローラインターフェイス、328,417,428 通信インターフェイス、330,422 メモリカードインターフェイス、334 キーボード、412 チップセット、416 不揮発性メモリ、418 主メモリ、420 システムクロック、426 設計情報、430 内部バスコントローラ、432 DMA制御回路、434 内部バス制御回路、436 バッファメモリ、438 フィールドバスコントローラ、440 制御プログラム、471 距離算出部、472 第1変換倍率算出部、473 第2変換倍率算出部、474 係数決定部、475 設定部、476 指示部、W 対象ワーク、W0 基準ワーク。

Claims (6)

  1. 対象物の位置決めを行なう位置決めシステムであって、
    前記対象物を移動させるための移動機構と、
    撮像周期ごとに、前記対象物と目標物との両方を含む画像を取得するための撮像部と、
    前記画像の第1座標系における前記対象物の第1位置と、前記第1座標系における前記目標物の第2位置とを特定するための画像処理装置と、
    前記第1座標系を前記移動機構の第2座標系に変換するためのキャリブレーションパラメータを用いて、前記第1位置と前記第2位置との座標変換を行なうことにより、前記第2座標系における前記対象物の第3位置と前記第2座標系における前記目標物の第4位置とを特定するための座標変換部と、
    前記第3位置が前記第4位置が近づくように前記移動機構を制御するための移動制御部と、
    前記第3位置と前記第4位置との距離が閾値未満である場合に、前記移動機構の移動を終了するように前記移動制御部に指示するための指示部と、
    前記キャリブレーションパラメータから算出される、前記第1座標系から前記第2座標系への第1変換倍率が、前記撮像部の設計情報から算出される、前記第1座標系から前記第2座標系への第2変換倍率より大きい場合よりも、前記第1変換倍率が前記第2変換倍率より小さい場合の方が前記閾値が小さくなるように、前記閾値を設定するための設定部とを備える、位置決めシステム。
  2. 前記撮像部は、撮像素子と、前記対象物と前記目標物とからの光を前記撮像素子に導くレンズとを含み、
    前記設計情報は、前記撮像素子の寸法と、前記撮像素子の解像度と、前記レンズの画角と、前記レンズの焦点距離と、前記撮像素子と前記対象物との距離とを示す情報を含む、請求項1に記載の位置決めシステム。
  3. 前記キャリブレーションパラメータは、アフィン変換係数であり、
    前記第1変換倍率は、前記アフィン変換係数を用いて算出される、請求項1に記載の位置決めシステム。
  4. 前記設定部は、前記第1変換倍率が前記第2変換倍率よりも大きい場合、予め定められた値を前記閾値として設定し、前記第2変換倍率が前記第1変換倍率よりも大きい場合、前記予め定められた値と前記第1変換倍率を前記第2変換倍率で割った商との積を前記閾値として設定する、請求項1から3のいずれか1項に記載の位置決めシステム。
  5. 対象物の位置決めを行なう位置決めシステムの制御方法であって、
    前記位置決めシステムは、
    前記対象物を移動させるための移動機構と、
    撮像周期ごとに、前記対象物と目標物との両方を含む画像を取得するための撮像部と、
    前記画像の第1座標系における前記対象物の第1位置と、前記第1座標系における前記目標物の第2位置とを特定するための画像処理装置とを備え、
    前記第1座標系を前記移動機構の第2座標系に変換するためのキャリブレーションパラメータを用いて、前記第1位置と前記第2位置との座標変換を行なうことにより、前記第2座標系における前記対象物の第3位置と前記第2座標系における前記目標物の第4位置とを特定するステップと、
    前記第3位置が前記第4位置が近づくように前記移動機構を制御するステップと、
    前記第3位置と前記第4位置との距離が閾値未満である場合に、前記移動機構の移動を終了させるステップと、
    前記キャリブレーションパラメータから算出される、前記第1座標系から前記第2座標系への第1変換倍率が、前記撮像部の設計情報から算出される、前記第1座標系から前記第2座標系への第2変換倍率より大きい場合よりも、前記第1変換倍率が前記第2変換倍率より小さい場合の方が前記閾値が小さくなるように、前記閾値を設定するステップとを備える、制御方法。
  6. 対象物の位置決めを行なう位置決めシステムの制御方法をコンピュータに実行させるためのプログラムであって、
    前記位置決めシステムは、
    前記対象物を移動させるための移動機構と、
    撮像周期ごとに、前記対象物と目標物との両方を含む画像を取得するための撮像部と、
    前記画像の第1座標系における前記対象物の第1位置と、前記第1座標系における前記目標物の第2位置とを特定するための画像処理装置とを備え、
    前記制御方法は、
    前記第1座標系を前記移動機構の第2座標系に変換するためのキャリブレーションパラメータを用いて、前記第1位置と前記第2位置との座標変換を行なうことにより、前記第2座標系における前記対象物の第3位置と前記第2座標系における前記目標物の第4位置とを特定するステップと、
    前記第3位置が前記第4位置が近づくように前記移動機構を制御するステップと、
    前記第3位置と前記第4位置との距離が閾値未満である場合に、前記移動機構の移動を終了させるステップと、
    前記キャリブレーションパラメータから算出される、前記第1座標系から前記第2座標系への第1変換倍率が、前記撮像部の設計情報から算出される、前記第1座標系から前記第2座標系への第2変換倍率より大きい場合よりも、前記第1変換倍率が前記第2変換倍率より小さい場合の方が前記閾値が小さくなるように、前記閾値を設定するステップとを備える、プログラム。
JP2018121003A 2018-06-26 2018-06-26 位置決めシステム、制御方法およびプログラム Active JP6950631B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018121003A JP6950631B2 (ja) 2018-06-26 2018-06-26 位置決めシステム、制御方法およびプログラム
PCT/JP2019/022375 WO2020003945A1 (ja) 2018-06-26 2019-06-05 位置決めシステム、制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018121003A JP6950631B2 (ja) 2018-06-26 2018-06-26 位置決めシステム、制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2020003560A JP2020003560A (ja) 2020-01-09
JP6950631B2 true JP6950631B2 (ja) 2021-10-13

Family

ID=68984812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018121003A Active JP6950631B2 (ja) 2018-06-26 2018-06-26 位置決めシステム、制御方法およびプログラム

Country Status (2)

Country Link
JP (1) JP6950631B2 (ja)
WO (1) WO2020003945A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113704533B (zh) * 2021-01-25 2024-08-16 浙江大华技术股份有限公司 对象关系的确定方法及装置、存储介质、电子装置
JP2022155141A (ja) * 2021-03-30 2022-10-13 キヤノン株式会社 制御装置、システム、基板処理装置、物品の製造方法、制御方法及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6167622B2 (ja) * 2013-04-08 2017-07-26 オムロン株式会社 制御システムおよび制御方法
JP5893695B1 (ja) * 2014-09-10 2016-03-23 ファナック株式会社 物品搬送システム
JP6421722B2 (ja) * 2015-08-07 2018-11-14 オムロン株式会社 画像処理装置、校正方法および校正プログラム

Also Published As

Publication number Publication date
WO2020003945A1 (ja) 2020-01-02
JP2020003560A (ja) 2020-01-09

Similar Documents

Publication Publication Date Title
JP7078894B2 (ja) 制御システム、制御装置、画像処理装置およびプログラム
CN110581945B (zh) 控制系统、控制装置、图像处理装置以及存储介质
JP7143643B2 (ja) 位置決めシステム、監視装置、監視方法およびプログラム
JP6950631B2 (ja) 位置決めシステム、制御方法およびプログラム
JP6813000B2 (ja) 制御システム、制御方法およびプログラム
CN111886556B (zh) 控制系统、控制方法以及计算机可读存储介质
JP7172151B2 (ja) 制御システム、制御装置およびプログラム
JP7020262B2 (ja) 制御システム、制御方法およびプログラム
CN111902785B (zh) 控制系统、控制方法以及计算机可读存储介质
JP7059968B2 (ja) 制御装置および位置合わせ装置
JP7374354B1 (ja) アライメントシステム、アライメント方法及びプログラム
CN111868658B (zh) 控制系统、控制方法以及计算机可读存储介质
JP7374353B1 (ja) アライメントシステム、アライメント方法及びプログラム
JP7258259B1 (ja) アライメントシステム、アライメント方法及びプログラム
KR20220022441A (ko) 위치 특정 장치, 위치 특정 장치의 제어 방법, 정보 처리 프로그램, 및 기록 매체

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201211

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210824

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210906

R150 Certificate of patent or registration of utility model

Ref document number: 6950631

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150