(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024085598
(43)【公開日】2024-06-27
(54)【発明の名称】位置検出方法およびプログラム
(51)【国際特許分類】
G01B 11/00 20060101AFI20240620BHJP
G06T 7/70 20170101ALI20240620BHJP
【FI】
G01B11/00 H
G06T7/70 A
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022200193
(22)【出願日】2022-12-15
(71)【出願人】
【識別番号】000207551
【氏名又は名称】株式会社SCREENホールディングス
(74)【代理人】
【識別番号】100110847
【弁理士】
【氏名又は名称】松阪 正弘
(74)【代理人】
【識別番号】100136526
【弁理士】
【氏名又は名称】田中 勉
(74)【代理人】
【識別番号】100136755
【弁理士】
【氏名又は名称】井田 正道
(72)【発明者】
【氏名】木村 知玄
【テーマコード(参考)】
2F065
5L096
【Fターム(参考)】
2F065AA04
2F065AA07
2F065BB15
2F065FF04
2F065PP25
2F065QQ17
2F065QQ31
2F065SS13
2F065UU05
5L096BA03
5L096CA04
5L096CA17
5L096DA02
5L096EA35
5L096FA02
5L096FA69
5L096GA59
5L096HA05
5L096HA08
5L096JA11
(57)【要約】
【課題】検出対象物の位置検出に係る処理量を低減する。
【解決手段】移動中の検出対象物50の位置を連続的に検出する位置検出方法は、検出対象物50の移動範囲を含む所定の撮像範囲を撮像して検査画像71を取得する工程と、検出対象物50の取得済みの複数の位置に基づいて検査画像71中における検出対象物50の現在位置を予測し、予測された現在位置を中心とする部分画像72を検査画像71から抽出する工程と、部分画像72において検出対象物50を検出して検出対象物50の位置を取得する工程と、を備える。これにより、検査画像71全体から検出対象物50を検出する場合に比べて、検出対象物50の位置検出に係る処理量を低減することができる。
【選択図】
図5
【特許請求の範囲】
【請求項1】
移動中の検出対象物の位置を連続的に検出する位置検出方法であって、
a)検出対象物の移動範囲を含む所定の撮像範囲を撮像して検査画像を取得する工程と、
b)前記検出対象物の取得済みの複数の位置に基づいて前記検査画像中における前記検出対象物の現在位置を予測し、予測された現在位置を中心とする部分画像を前記検査画像から抽出する工程と、
c)前記部分画像において前記検出対象物を検出して前記検出対象物の位置を取得する工程と、
を備えることを特徴とする位置検出方法。
【請求項2】
請求項1に記載の位置検出方法であって、
前記部分画像の大きさは、前記検出対象物の現在位置の予測におけるロバスト性に応じて決定されることを特徴とする位置検出方法。
【請求項3】
請求項2に記載の位置検出方法であって、
前記c)工程において前記部分画像から前記検出対象物を検出することができなかった場合、前記部分画像を前記ロバスト性に基づいて拡大した後に、前記c)工程を再度実施することを特徴とする位置検出方法。
【請求項4】
請求項1ないし3のいずれか1つに記載の位置検出方法であって、
前記b)工程における前記検出対象物の現在位置の予測は、前記検出対象物の取得済みの複数の位置に基づく多項式フィッティングにより行われることを特徴とする位置検出方法。
【請求項5】
請求項1ないし3のいずれか1つに記載の位置検出方法であって、
前記a)工程、前記b)工程および前記c)工程が繰り返し行われる際に、前記a)工程は一定の時間間隔にて行われることを特徴とする位置検出方法。
【請求項6】
移動中の検出対象物の位置を連続的に検出するプログラムであって、
コンピュータによって前記プログラムが実行されることにより、
a)検出対象物の移動範囲を含む所定の撮像範囲を撮像して検査画像を取得する工程と、
b)前記検出対象物の取得済みの複数の位置に基づいて前記検査画像中における前記検出対象物の現在位置を予測し、予測された現在位置を中心とする部分画像を前記検査画像から抽出する工程と、
c)前記部分画像において前記検出対象物を検出して前記検出対象物の位置を取得する工程と、
が実行されることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動中の検出対象物の位置を連続的に検出する技術に関する。
【背景技術】
【0002】
従来、産業用装置において、対象物が位置する領域を撮像して当該対象物の位置を検出し、当該位置に応じて処理(例えば、ワークやアームの移動、処理内容の変更等)を決定することが行われている。
【0003】
このような装置では、対象物が移動している場合、位置検出の速度が遅いと、検出された位置と実際の位置とが大きくずれて、処理が好適に実施されないおそれがある。例えば、移動中のワークの位置検出が遅れると、ワークが把持できなかったり、ワークへの光照射位置がずれる等の問題が生じる可能性がある。位置検出の速度と精度とはトレードオフの関係にあるため、検出精度を維持しつつ検出速度を向上させるためには、位置検出を行う範囲を小さくすることが必要となる。
【0004】
例えば、特許文献1では、ワークの状態をパターンマッチングにより検出する際に、まず、ワークの下方から光を照射して、ワーク上方のカメラにより透過照明画像が撮像される。続いて、透過照明画像からワークの位置が大まかに求められる。次に、ワークの上方から光を照射して上記カメラにより反射照明画像が撮像される。そして、透過照明画像から求められたワークの大まかな位置に基づいて、反射照明画像中においてパターンマッチングを行う対象範囲が限定される。その後、反射照明画像の当該対象範囲においてパターンマッチングが行われることにより、ワークの状態が検出される。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、特許文献1の装置では、ワークの透過照明画像を撮像する構成と、ワークの反射照明画像を撮像する構成との双方が必要になり、装置構造が複雑化する。また、透過照明画像の撮像に適さない対象物(例えば、下方に向かって液体を吐出しつつ移動するノズル等)のパターンマッチングを行う場合、特許文献1の装置を適用することは難しい。
【0007】
本発明は、上記課題に鑑みなされたものであり、検出対象物の位置検出に係る処理量を低減することを目的としている。
【課題を解決するための手段】
【0008】
本発明の態様1は、移動中の検出対象物の位置を連続的に検出する位置検出方法であって、a)検出対象物の移動範囲を含む所定の撮像範囲を撮像して検査画像を取得する工程と、b)前記検出対象物の取得済みの複数の位置に基づいて前記検査画像中における前記検出対象物の現在位置を予測し、予測された現在位置を中心とする部分画像を前記検査画像から抽出する工程と、c)前記部分画像において前記検出対象物を検出して前記検出対象物の位置を取得する工程と、を備える。
【0009】
本発明の態様2は、態様1の位置検出方法であって、前記部分画像の大きさは、前記検出対象物の現在位置の予測におけるロバスト性に応じて決定される。
【0010】
本発明の態様3は、態様2の位置検出方法であって、前記c)工程において前記部分画像から前記検出対象物を検出することができなかった場合、前記部分画像を前記ロバスト性に基づいて拡大した後に、前記c)工程を再度実施する。
【0011】
本発明の態様4は、態様1ないし3のいずれか1つの位置検出方法であって、前記b)工程における前記検出対象物の現在位置の予測は、前記検出対象物の取得済みの複数の位置に基づく多項式フィッティングにより行われる。
【0012】
本発明の態様5は、態様1ないし3のいずれか1つ(態様1ないし4のいずれか1つ、であってもよい。)の位置検出方法であって、前記a)工程、前記b)工程および前記c)工程が繰り返し行われる際に、前記a)工程は一定の時間間隔にて行われる。
【0013】
本発明の態様6は、移動中の検出対象物の位置を連続的に検出するプログラムであって、コンピュータによって前記プログラムが実行されることにより、a)検出対象物の移動範囲を含む所定の撮像範囲を撮像して検査画像を取得する工程と、b)前記検出対象物の取得済みの複数の位置に基づいて前記検査画像中における前記検出対象物の現在位置を予測し、予測された現在位置を中心とする部分画像を前記検査画像から抽出する工程と、c)前記部分画像において前記検出対象物を検出して前記検出対象物の位置を取得する工程と、が実行される。
【発明の効果】
【0014】
本発明では、検出対象物の位置検出に係る処理量を低減することができる。
【図面の簡単な説明】
【0015】
【
図4】検出対象物の位置検出の流れの一例を示す図である。
【
図6】検出対象物の位置検出の流れの一部を示す図である。
【
図7】検出対象物の位置検出の流れの一部を示す図である。
【発明を実施するための形態】
【0016】
図1は、本発明の一の実施の形態に係る位置検出方法が実施される基板処理装置1の構成を示す側面図である。基板処理装置1は、半導体基板9(以下、単に「基板9」という。)を1枚ずつ処理する枚葉式の装置である。基板処理装置1は、基板9に処理液を供給して液処理を行う。
図1では、基板処理装置1の構成の一部を断面にて示す。
【0017】
基板処理装置1は、基板保持部31と、基板回転機構33と、カップ部4と、処理液供給部5と、撮像部6と、制御部8と、チャンバ11と、を備える。基板保持部31、基板回転機構33、カップ部4、処理液供給部5および撮像部6等は、チャンバ11の内部空間に収容される。チャンバ11の天蓋部には、当該内部空間にガスを供給して下方に流れる気流(いわゆる、ダウンフロー)を形成する気流形成部12が設けられる。気流形成部12としては、例えば、FFU(ファン・フィルタ・ユニット)が利用される。制御部8は、チャンバ11の外部に配置され、基板保持部31、基板回転機構33、処理液供給部5および撮像部6等を制御する。
【0018】
基板保持部31および基板回転機構33はそれぞれ、基板9を保持して回転させるスピンチャックの一部である。基板保持部31は、水平状態の基板9を下側から保持する。基板保持部31は、例えば、基板9を機械的に支持するメカニカルチャックである。基板保持部31は、ベース部311と、複数のチャック312とを備える。ベース部311は、上下方向を向く中心軸J1を中心とする略円板状の部材である。基板9は、ベース部311の上方にベース部311から離間して配置される。
【0019】
複数のチャック312は、ベース部311の上面の外周部において、中心軸J1を中心とする周方向(以下、単に「周方向」とも呼ぶ。)に配置される。複数のチャック312は、例えば、周方向において略等角度間隔に配置される。基板保持部31では、複数のチャック312により、基板9の外縁部が保持される。なお、基板保持部31は、バキュームチャック等、他の構造を有するチャックであってもよい。
【0020】
基板回転機構33は、基板保持部31の下方に配置される。基板回転機構33は、中心軸J1を中心として基板9を基板保持部31と共に回転する。基板回転機構33は、シャフト331と、モータ332とを備える。シャフト331は、中心軸J1を中心とする略円柱状または略円筒状の部材である。シャフト331は、上下方向に延び、基板保持部31のベース部311の下面中央部に接続される。モータ332は、シャフト331を回転させる電動回転式モータである。なお、基板回転機構33は、他の構造を有するモータ(例えば、中空モータ等)であってもよい。
【0021】
処理液供給部5は、基板9に対して処理液を供給し、基板9に対する液処理を行う。処理液供給部5は、ノズル51と、アーム53と、ノズル移動機構54とを備える。ノズル51は、図示省略の配管等を介して基板処理装置1の外部に位置する処理液供給源に接続される。ノズル51は、基板9の上方から基板9の上側の主面(以下、「上面91」とも呼ぶ。)に向けて処理液を吐出する。当該処理液は、例えば、基板9のエッチング処理に利用されるエッチング液である。なお、ノズル51からは、エッチング液以外の薬液が吐出されてもよく、薬液以外の様々な種類の処理液(例えば、リンス液)が吐出されてもよい。また、処理液供給部5は、ノズル51に加えて、ノズル51から吐出される処理液とは異なる種類の処理液を基板9に吐出する他のノズルを備えていてもよい。
【0022】
アーム53は、略水平に延びる棒状の部材である。アーム53の一方の端部にはノズル51が取り付けられており、アーム53の他方の端部はノズル移動機構54に接続されている。ノズル51は、基板9の上方においてアーム53によって支持される。ノズル移動機構54は、上下方向に沿って延びる略円柱状または略円筒状のアーム支持部541と、上下方向に延びる回転軸を中心としてアーム支持部541を回転させる回転機構542を備える。アーム53の上記他方の端部は、ノズル移動機構54のアーム支持部541に接続される。回転機構542は、例えば、電動リニアモータ、エアシリンダ、または、ボールネジおよび電動回転式モータを備える。
【0023】
処理液供給部5では、アーム支持部541が回転機構542によって上記回転軸を中心とする周方向の一方側に所定の角度回転し、当該周方向の他方側に同じ角度回転する。そして、アーム支持部541の当該動作が繰り返されることにより、ノズル51が基板9の上方において所定の移動範囲内にて往復移動する。ノズル51は、例えば、所定の移動経路に沿って移動する。移動中のノズル51は、当該移動経路上に厳密に位置していてもよく、振動や組立誤差等により当該移動経路から少しずれた位置に位置していてもよい。すなわち、ノズル51は、当該移動経路に沿って移動するが、当該移動経路上に常に位置するとは限らない。また、ノズル51の移動速度は常に一定であってもよく、移動中に加速または減速されることにより移動速度が変更されてもよい。
【0024】
撮像部6は、基板9の上方においてノズル51よりも上側に配置され、下方にて移動するノズル51およびノズル51に付属する部品等を撮像する。ノズル51およびノズル51に付属する部品等は、後述する位置検出装置800によって、その位置が検出される対象物である。以下の説明では、ノズル51およびノズル51に付属する部品等をまとめて「検出対象物50」とも呼ぶ。撮像部6は、例えば、フレーム等を介してハウジング11等に固定されており、撮像部6による撮像範囲もハウジング11内の所定の位置に固定されている。当該撮像範囲は、検出対象物50の移動範囲を含んでいる。
【0025】
撮像部6は、例えば、検出対象物50に対して上方から光を照射する光源61と、検出対象物50からの反射光を受光して上記撮像範囲を撮像するカメラ62と、を備える。カメラ62は、例えば、CCD(Charge Coupled Devices)カメラ、または、CMOS(Complementary Metal Oxide Semiconductor)カメラである。なお、検出対象物50は、ノズル51単体であってもよく、ノズル51に付属する部品のみであってもよい。
【0026】
図2は、制御部8を実現するコンピュータ80の構成を示す図である。コンピュータ80は、プロセッサ81と、メモリ82と、入出力部83と、バス84とを備える通常のコンピュータである。バス84は、プロセッサ81、メモリ82および入出力部83を接続する信号回路である。メモリ82は、各種情報を記憶する。メモリ82は、例えば、記憶媒体95に予め記憶されているプログラム89を読み出して記憶する。記憶媒体95は、例えば、USBメモリやCD-ROMである。
【0027】
プロセッサ81は、メモリ82に記憶されるプログラム89等に従って、メモリ82等を利用しつつ様々な処理(例えば、数値計算)を実行する。入出力部83は、操作者からの入力を受け付けるキーボード85およびマウス86、プロセッサ81からの出力等を表示するディスプレイ87、並びに、プロセッサ81からの出力等を送信する送信部等を備える。なお、制御部8は、プログラマブルロジックコントローラ(PLC:Programmable Logic Controller)、または、回路基板等により実現されてもよい。制御部8は、コンピュータ、PLCおよび回路基板等のうち、任意の複数の構成により実現されてもよい。
【0028】
図3は、上述のコンピュータ80によってプログラム89が実行されることにより実現される制御部8の機能を示すブロック図である。制御部8は、基板処理装置1の各構成の様々な動作を制御する。
図3では、制御部8以外の構成も併せて示す。
【0029】
制御部8は、記憶部801と、撮像制御部802と、部分画像抽出部803と、位置検出部804と、処理制御部805とを備える。記憶部801は、主にメモリ82(
図2参照)により実現され、基板処理装置1に係る様々な情報を記憶する。撮像制御部802、部分画像抽出部803および位置検出部804は、主にプロセッサ81(
図2参照)により実現され、検出対象物50の位置検出に係る様々な演算等を行う。制御部8では、撮像制御部802、部分画像抽出部803および位置検出部804により、移動中の検出対象物50の位置を連続的に検出する位置検出装置800が構成される。なお、位置検出装置800には、記憶部801や撮像部6等の他の構成が含まれてもよい。処理制御部805は、主にプロセッサ81により実現され、基板9の処理に係る様々な演算等を行う。
【0030】
次に、位置検出装置800における検出対象物50の位置検出の流れについて、
図4等を参照しつつ説明する。
図1に示す基板処理装置1では、例えば、回転中の基板9の上方にて移動するノズル51から基板9に対して処理液を供給して液処理が行われている間、移動中の検出対象物50の位置検出が、比較的短い時間間隔にて複数回繰り返される。当該複数回の位置検出のうち、1回目から所定のm回目までの位置検出では、
図4中のステップS11~S13,S17~S19が行われ、(m+1)回目以降の位置検出では、
図4中のステップS11~S12,S14~S19が行われる。なお、mは2以上の整数であり、例えば5である。以下の説明では、mを「初期検出回数」とも呼ぶ。
【0031】
まず、1回目の位置検出では、撮像制御部802によって撮像部6が制御され、基板9の上方にて移動中の検出対象物50が撮像される。具体的には、撮像部6の光源61から下方の所定領域に光が照射され、カメラ62により、検出対象物50の移動範囲を含む所定の大きさの撮像範囲が撮像されて検査画像が取得される(ステップS11)。検査画像は、例えば略矩形の画像であり、検出対象物50の移動範囲の少なくとも一部を含む。なお、検査画像は、検出対象物50の移動範囲の全体を含んでいてもよい。ステップS11にて取得された検査画像は、撮像部6から
図3に示す記憶部801に送られ、記憶部801に格納される。
【0032】
続いて、ステップS11にて取得された検査画像を使用する位置検出が、位置検出開始時から何回目の位置検出であるか(すなわち、位置検出の繰り返し数)が位置検出装置800によって取得される。そして、位置検出の繰り返し数と、上述の初期検出回数mとが比較される(ステップS12)。位置検出の繰り返し数がm以下である場合はステップS13が行われ、位置検出の繰り返し数がmよりも大きい場合はステップS14が行われる。
【0033】
1回目の位置検出では、ステップS11にて取得された検査画像の全体が、
図3に示す位置検出部804によって位置検出の対象画像に設定され(ステップS13)、当該対象画像において検出対象物50の位置が検出される(ステップS17)。ステップS17では、例えば、パターンマッチングにより検出対象物50の位置が検出される。ステップS17におけるパターンマッチングは、公知の様々なパターンマッチング法(例えば、幾何学形状パターンマッチングや正規化相関サーチ等)により行われてよい。
【0034】
ステップS17にて取得された検出対象物50の位置は、位置検出部804から記憶部801へと送られ、「既検出位置」として記憶部801に格納される(ステップS18)。既検出位置は、例えば、平面視における検出対象物50の中心位置の座標である。当該座標は、例えば、検査画像中の所定の位置(例えば、左下の角)を原点とするX-Y座標系における座標である。また、ステップS17にて取得された検出対象物50の位置は、
図3に示す処理制御部805へと送られ、基板9に対する液処理に利用される。例えば、処理制御部805では、ノズル51を含む検出対象物50の位置に基づいて、基板回転機構33による基板9の回転速度が調節されたり、処理液供給部5のノズル51から吐出される処理液の流量が調節される。
【0035】
次に、検出対象物50の位置検出を継続するか終了するかが位置検出装置800によって確認される(ステップS19)。位置検出終了が指示されている場合、位置検出装置800による位置検出は終了する。一方、位置検出終了の指示が出されていない場合は、ステップS11に戻って次の位置検出が行われる。2回目からm回目までの位置検出では、1回目の位置検出と同様に、ステップS11~S13,S17~S19が行われる。
【0036】
1~m回目の位置検出では、例えば、撮像部6による検査画像の取得は一定の時間間隔にて行われる。当該時間間隔(以下、「サンプリング間隔」とも呼ぶ。)は、例えば、10ミリ秒~100ミリ秒である。(m+1)回目以降の位置検出においても同様に、撮像部6による検査画像の取得は一定のサンプリング間隔にて行われる。
【0037】
1~m回目の位置検出では、ステップS12において、例えば、記憶部801に既に記憶されている既検出位置の個数(すなわち、既に行われたステップS18の回数)に1を加えた数が、位置検出の繰り返し数として取得される。(m+1)回目以降の位置検出においても同様である。
【0038】
(m+1)回目の位置検出では、1~m回目の位置検出と同様に、検出対象物50の移動範囲を含む所定の大きさの撮像範囲が、撮像部6によって撮像されて、
図5に示す検査画像71が取得される(ステップS11)。検査画像71は、上述のように、検出対象物50の移動範囲の少なくとも一部を含み、当該移動範囲の全体を含んでいてもよい。ステップS11にて取得された検査画像71は、撮像部6から記憶部801に送られ、記憶部801に格納される。
【0039】
続いて、1~m回目の位置検出と同様に、位置検出装置800により位置検出の繰り返し数が取得される。そして、当該位置検出の繰り返し数(すなわち、m+1)は、初期検出回数mよりも大きいと判断される(ステップS12)。
【0040】
次に、部分画像抽出部803により、
図5に示す検査画像71において、二点鎖線にて示す部分画像72の範囲が設定され(ステップS14)、検査画像71から部分画像72が抽出(すなわち、クリッピング)される(ステップS15)。部分画像72は、検査画像71の一部であり、検査画像71よりも小さい。部分画像72は、例えば、X方向およびY方向共に検査画像71よりも小さい略矩形の画像である。なお、部分画像72は、X方向およびY方向のうち、少なくとも一方の方向において検査画像71よりも小さければよい。
【0041】
ステップS14では、まず、記憶部801に格納済みのm個の既検出位置(すなわち、1~m回目の位置検出の際に取得済みの検出対象物50の複数の位置)が、部分画像抽出部803により読み出される。
図5では、1~m回目の位置検出の際に取得された検出対象物50の中心位置をそれぞれ、符号G
1~G
mを付した細線の丸印にて示す。
【0042】
続いて、上記m個の既検出位置に基づいて、検査画像71中における検出対象物50の大まかな現在位置Gm+1が予測される。当該現在位置Gm+1は、例えば、検出対象物50の現在の中心位置の座標である。すなわち、部分画像抽出部803により、検出対象物50の最尤推定中心位置の座標が、上記m個の既検出位置に基づいて求められる。
【0043】
また、部分画像抽出部803により、上記m個の既検出位置に基づいて、抽出される予定の部分画像72の大きさが決定される。部分画像72の大きさは、例えば、検出対象物50の現在位置の予測におけるロバスト性に応じて決定される。具体的には、当該ロバスト性が高い場合、検出対象物50の実際の現在位置は、予測された現在位置Gm+1から外乱等により大きくずれる可能性が低いため、部分画像72は比較的小さくされる。一方、上記ロバスト性が低い場合、検出対象物50の実際の現在位置は、予測された現在位置Gm+1から外乱等により大きくずれる可能性が高いため、部分画像72は比較的大きくされる。これにより、部分画像72を過剰に大きくすることなく、検出対象物50が部分画像72中に含まれる確率を増大させることができる。そして、予測された検出対象物50の上記現在位置Gm+1を中心として、上述のように決定された大きさの部分画像72が、検査画像71上において設定される。
【0044】
部分画像72の中心(すなわち、予測された検出対象物50の中心位置)の座標をCとし、部分画像72のX方向およびY方向の大きさをLXおよびLYとすると、C、LXおよびLYはそれぞれ、以下の式1~式3に示す関数f、gXおよびgYにて表すことができる。
【0045】
C=f(r1,r2・・・rm) ・・・(式1)
LX=gX(r1,r2・・・rm)×α+W ・・・(式2)
LY=gY(r1,r2・・・rm)×β+H ・・・(式3)
上述のr1~rmはそれぞれ、記憶部801に格納された既検出位置(すなわち、取得済みの検出対象物50の中心位置を示す座標)を示す。既検出位置r1~rmの添字1~mは、当該既検出位置が取得された位置検出が、今回(すなわち、(m+1)回目)の位置検出よりも添字に等しい回数だけ前に行われた位置検出であることを示す。
【0046】
具体的には、r1は、今回((m+1)回目)の位置検出の1回前に行われた位置検出(すなわち、m回目の位置検出)の際にステップS17にて検出され、ステップS18にて記憶部801に格納された既検出位置である。また、r2は、今回((m+1)回目)の位置検出の2回前に行われた位置検出(すなわち、(m-1)回目の位置検出)の際にステップS17にて検出され、ステップS18にて記憶部801に格納された既検出位置である。r3以降についても同様であり、rmは、今回((m+1)回目)の位置検出のm回前に行われた位置検出(すなわち、1回目の位置検出)の際にステップS17にて検出され、ステップS18にて記憶部801に格納された既検出位置である。
【0047】
αおよびβは、検出対象物50の現在位置の予測におけるロバスト性(すなわち、検出対象物50の移動や撮像部6による撮像等、当該現在位置の予測に関連する動作の外乱に対する強靭性)に応じて設定されるパラメータであり、0よりも大きい。当該ロバスト性が高い場合、αおよびβは比較的小さく、部分画像72も比較的小さい。一方、当該ロバスト性が低い場合、αおよびβは比較的大きく、部分画像72も比較的大きい。αとβとは同じであってもよく、異なっていてもよい。Wは、検出対象物50のX方向における大きさ(すなわち、X方向の最大長)である。Hは、検出対象物50のY方向における大きさ(すなわち、Y方向の最大長)である。
【0048】
関数gXは、m個の既検出位置のX方向における標準偏差を求める関数である。関数gYは、m個の既検出位置のY方向における標準偏差を求める関数である。関数fは、上述のように、検出対象物50の最尤推定中心位置を求める関数である。関数f、gXおよびgYとしては、様々な公知の関数が利用可能である。例えば、関数fとして、多項式近似関数が用いられる。換言すれば、ステップS14における検出対象物50の現在位置の予測は、m個の既検出位置(すなわち、検出対象物50の取得済みのm個の位置)に基づく多項式フィッティングにより行われる。この場合、関数gXおよびgYはそれぞれ、当該多項式フィッティングにおけるX方向およびY方向のフィッティングパラメータの誤差範囲を求める関数である。
【0049】
また、関数fは、例えば、カルマンフィルタによる予測推定値を求める関数であってもよい。この場合、関数gXおよびgYはそれぞれ、予測誤差行列におけるX方向およびY方向に対応する成分を求める関数である。あるいは、関数fは、例えば、ガウス過程回帰による平均位置を求める関数であってもよい。この場合、関数gXおよびgYはそれぞれ、共分散行列におけるX方向およびY方向に対応する成分を求める関数である。
【0050】
ステップS14~S15において部分画像72が抽出されると、位置検出部804によって部分画像72が位置検出の対象画像に設定され(ステップS16)、当該対象画像において検出対象物50の位置が検出される(ステップS17)。上述のように、ステップS17では、例えば、パターンマッチングにより検出対象物50の位置が検出される。ステップS17におけるパターンマッチングは、公知の様々なパターンマッチング法(例えば、幾何学形状パターンマッチングや正規化相関サーチ等)により行われてよい。
【0051】
上述のように、ステップS17にて取得された検出対象物50の位置は、位置検出部804から記憶部801へと送られ、「既検出位置」として記憶部801に格納される(ステップS18)。また、ステップS17にて取得された検出対象物50の位置は、処理制御部805へと送られ、基板9に対する液処理に利用される。例えば、処理制御部805では、ノズル51を含む検出対象物50の位置に基づいて、基板回転機構33による基板9の回転速度が調節されたり、処理液供給部5のノズル51から吐出される処理液の流量が調節される。
【0052】
次に、検出対象物50の位置検出を継続するか終了するかが位置検出装置800によって確認される(ステップS19)。位置検出終了が指示されている場合、位置検出装置800による位置検出は終了する。一方、位置検出終了の指示が出されていない場合は、ステップS11に戻って次の位置検出が行われる。(m+2)回目以降の位置検出では、(m+1)回目の位置検出と同様に、ステップS11~S12,S14~S19が行われる。
【0053】
(m+2)回目の位置検出では、ステップS14において部分画像72の範囲が設定される際に、(m+2)回目よりも1回前~m回前の位置検出にて取得されたm個の既検出位置が使用される。換言すれば、(m+2)回目の位置検出では、2回目~(m+1)回目の位置検出にて取得されたm個の既検出位置に基づいて、部分画像72の範囲が設定され、1回目の位置検出にて取得された既検出位置は使用されない。したがって、位置検出装置800では、(m+1)回目の位置検出におけるステップS18にて新たな既検出位置(すなわち、(m+1)番目の既検出位置)が記憶部801に格納される際等に、1回目の位置検出にて取得された既検出位置が記憶部801から削除されてもよい。
【0054】
このように、(m+2)回目以降の位置検出では、当該位置検出の直近m回の位置検出にて取得されたm個の既検出位置に基づいて、部分画像72の範囲が設定され、当該直近m回の位置検出以前に取得された古い既検出位置は、部分画像72の設定に使用されない。このため、(m+1)回目以降の位置検出では、例えば、ステップS18にて新たな既検出位置が記憶部801に格納される際に、記憶部801に格納されているm個の既検出位置から最も古い1つの既検出位置が削除され、記憶部801内のm個の既検出位置が更新される。
【0055】
以上に説明したように、移動中の検出対象物50の位置を連続的に検出する位置検出方法は、検出対象物50の移動範囲を含む所定の撮像範囲を撮像して検査画像71を取得する工程(ステップS11)と、検出対象物50の取得済みの複数の位置(上記例では、m個の既検出位置)に基づいて検査画像71中における検出対象物50の現在位置を予測し、予測された現在位置を中心とする部分画像72を検査画像71から抽出する工程(ステップS14~S15)と、部分画像72において検出対象物50を検出して検出対象物50の位置を取得する工程(ステップS17)と、を備える。これにより、検査画像71全体から検出対象物50を検出する場合に比べて、検出対象物50の位置検出に係る処理量を低減することができる。その結果、上述のコンピュータ80に代えて、PLCや回路基板等の低スペックデバイスによって位置検出装置800を実現することも可能となり、基板処理装置1の低消費電力化や小型化も図ることができる。
【0056】
上述のように、部分画像72の大きさは、検出対象物50の現在位置の予測におけるロバスト性に応じて決定されることが好ましい。これにより、部分画像72が過剰に大きくなって位置検出に係る処理量が増大することを抑制しつつ、部分画像72中に検出対象物50が含まれる確率を増大させることができる。
【0057】
上述のように、ステップS14における検出対象物50の現在位置の予測は、検出対象物50の取得済みの複数の位置(上記例では、m個の既検出位置)に基づく多項式フィッティングにより行われることが好ましい。これにより、ステップS14における検出対象物50の現在位置の予測を容易かつ精度良く行うことができる。
【0058】
上述のように、ステップS11,S14~S15,S17が繰り返し行われる際に、ステップS11(すなわち、検査画像71の取得)は一定の時間間隔にて行われることが好ましい。これにより、ステップS14における検出対象物50の現在位置の予測を精度良く行うことができる。
【0059】
上述のように、プログラム89は、移動中の検出対象物50の位置を連続的に検出するプログラムである。コンピュータ80によってプログラム89が実行されることにより、検出対象物50の移動範囲を含む所定の撮像範囲を撮像して検査画像71を取得する工程(ステップS11)と、検出対象物50の取得済みの複数の位置(上記例では、m個の既検出位置)に基づいて検査画像71中における検出対象物50の現在位置を予測し、予測された現在位置を中心とする部分画像72を検査画像71から抽出する工程(ステップS14~S15)と、部分画像72において検出対象物50を検出して検出対象物50の位置を取得する工程(ステップS17)と、が実行される。これにより、上述のように、検査画像71全体から検出対象物50を検出する場合に比べて、検出対象物50の位置検出に係る処理量を低減することができる。
【0060】
位置検出装置800では、検出対象物50の位置検出の流れは
図4に示すものには限定されず、様々に変更されてよい。例えば、
図6に示すように、ステップS17において部分画像72から検出対象物50を検出することができなかった場合(ステップS171)、ステップS13に戻って検査画像71の全体が位置検出の対象画像に設定され(ステップS13)、当該対象画像において検出対象物50の位置が検出されてもよい(ステップS17)。これにより、検出対象物50の検出不可によるエラーを防止することができる。
【0061】
あるいは、
図7に示すように、ステップS17において部分画像72から検出対象物50を検出することができなかった場合(ステップS171)、部分画像72が拡大されてもよい(ステップS172)。部分画像72の拡大は、例えば、上述のロバスト性に基づいて行われる。例えば、上述の式2および式3に示す部分画像72のX方向の大きさL
X、および、Y方向の大きさL
Yが、所定の倍率にて拡大されてもよい。また、式2および式3において、ロバスト性に関するパラメータであるαおよびβが、所定の倍率にて大きくされてもよい。あるいは、部分画像72のX方向の大きさL
X、および、Y方向の大きさL
Yに、所定の長さがそれぞれ加算されてもよい。
【0062】
部分画像72の拡大が終了すると、ステップS15~S16と略同様に、検査画像71から拡大された部分画像72が抽出され(ステップS173)、当該部分画像72が位置検出の対象画像に設定される(ステップS174)。その後、ステップS17に戻って当該対象画像(すなわち、拡大された部分画像72)において検出対象物50の位置検出が行われ(ステップS17)、検出対象物50の位置が検出された場合(ステップS171)、上述のステップS18~S19が行われる。
【0063】
このように、位置検出装置800では、ステップS17において部分画像72から検出対象物50を検出することができなかった場合、部分画像72を上記ロバスト性に基づいて拡大した後に、ステップS17を再度実施することが好ましい。これにより、
図6に示す場合に比べて、位置検出の対象画像の拡大を抑制することができるため、検出対象物50の位置検出に係る処理量を低減することができる。
【0064】
なお、部分画像72の拡大後のステップS171において検出対象物50の位置が再び検出されなかった場合、部分画像72がさらに拡大された上で抽出され、位置検出の対象画像に設定されてもよい(ステップS172~S174)。位置検出装置800では、部分画像72から検出対象物50が検出されるまで、上述のステップS171~S174,S17が繰り返されてもよく、ステップS171~S174,S17が所定回数(例えば、1回または2回)だけ行われても部分画像72から検出対象物50が検出されない場合、ステップS13に戻って検査画像71の全体が位置検出の対象画像に設定され(ステップS13)、当該対象画像において検出対象物50の位置が検出されてもよい(ステップS17)。
【0065】
上述の位置検出方法およびプログラム89では、様々な変更が可能である。
【0066】
例えば、撮像部6により取得される検査画像71、および、検査画像71から抽出される部分画像72はそれぞれ、必ずしも略矩形の画像である必要はなく、様々な形状を有していてもよい。
【0067】
ステップS14における部分画像72の設定方法は、上述の式1~式3にて示す方法には限定されず、様々な方法が採用されてよい。例えば、部分画像72の大きさは、必ずしも上記ロバスト性に応じて決定される必要はなく、例えば、他の様々なパラメータに基づいて決定されてもよい。
【0068】
上述のサンプリング間隔は、必ずしも一定である必要はなく、検出対象物50の移動速度の変化等に応じて適宜変更されてよい。
【0069】
上述の例では、(m+1)回目以降の位置検出において、直近のm個の既検出位置(すなわち、当該位置検出の直近m回の位置検出にて取得されたm個の既検出位置)を利用して抽出した部分画像72から検出対象物50の位置を検出しているが、必ずしもこれには限定されない。例えば、mよりも2以上大きい整数をnとした場合、n回目以降の位置検出では、直近のm個の既検出位置を利用して抽出した部分画像72から検出対象物50の位置を検出し、n回目よりも前の位置検出では、検査画像71の全体から検出対象物50の位置を検出してもよい。
【0070】
検出対象物50は、必ずしもノズル51および/またはノズル51に付属する部品である必要はなく、基板処理装置1において移動する他の構成であってもよい。また、位置検出装置800は、基板処理装置1以外の様々な装置に設けられてもよく、この場合、検出対象物50も、当該様々な装置において移動する様々な構成であってよい。位置検出装置800は、上述の基板処理装置1や他の装置から独立して、移動中の検出対象物50の位置を連続的に検出する装置として利用されてもよい。
【0071】
位置検出装置800によって位置検出が行われる検出対象物50は、必ずしも、所定の移動経路に沿って移動する物体である必要はなく、所定の移動範囲内で連続的に移動する物体であればよい。検出対象物50の当該連続的な移動は、例えば、検出対象物50の振動やドリフト等であってもよい。振動する検出対象物50の位置検出が位置検出装置800によって行われる場合、上述のサンプリング間隔は、検出対象物50の振動周期の半分よりも短くされることが好ましい。
【0072】
上記実施の形態および各変形例における構成は、相互に矛盾しない限り適宜組み合わされてよい。
【符号の説明】
【0073】
50 検出対象物
71 検査画像
72 部分画像
80 コンピュータ
89 プログラム
S11~S19,S171~S174 ステップ