[0021] 本明細書に記載の実施形態は、ロボットの関節座標教示精度に関する。基板処理システムでは、ロボット(例えば、大気ロボット、ファクトリインターフェースロボット等)がファクトリインターフェース内に配置され、エンクロージャシステム(例えば、FOUP、サイドストレージポッド(SSP))、位置合わせデバイス、ロードロック、及び/又は同様のものといった基板処理システムの部分の間で内容物(例えば、基板、プロセスキットリング等)を移送する。ロボット(例えば、真空ロボット、移送チャンバロボット等)は、移送チャンバ内に配置され、処理チャンバ、ロードロック、ローカル中心測定(LCF)デバイス、及び/又は同様のもの等のような基板処理システムの部分間で内容物を搬送する。基板処理(例えば、電子デバイス製造)では、様々な特定の位置間の内容物の非常に精密で迅速な搬送を達成することが目標である。特に、ロボットのブレード又はエンドエフェクタは、ロボットが搬送する内容物及びロボットがサービス提供する基板処理システムの部分(例えば、処理チャンバ、ロードロック、FOUP等)に対して正確に配向される。いくつかの例では、不適切な配向は、不均一な処理をもたらし、基板ハンドオフの不整合の結果として基板の品質を低下させる。いくつかの例では、エラーを有するロボット、位置合わせデバイス、及び/又はLCFデバイスは、内容物、基板処理システムの部分、及び/又はそれら自体に損傷をもたらす。ロボットの中には、ロボットの関節座標教示中に導入された関節エラーの結果として、特定の配向問題を被るものがある。
[0022] マルチリンクロボットにおいて、関節エラーはロボット教示精度に大きく寄与する。例えば、関節運動学的エラー、関節ヒステリシス、及び関節バックラッシュは、それぞれ、マルチリンクロボットが経験する位置エラーに大きく寄与する、対応するタイプの関節エラーである。
[0023] 従来、ロボット、位置合わせデバイス、及び/又はLCFデバイスの位置の教示、較正、及び誤動作構成要素(例えば、判定エラー、速度低下が閾値速度を下回るなど)の診断は、手動プロセスである。手動プロセスのために、技術者は、基板処理システムを開き(その結果、基板処理システムのファクトリインターフェース及び/又は移送チャンバ内の密閉環境を大気に曝す)、ロボットアームを手動で取り扱い(ロボットアームに汚染物質を潜在的に導入する)、教示、較正、及び診断を手動で行う。開かれた後に、基板処理システムは、長い再認定プロセスを経て、その間、基板処理システムは、基板を処理するために使用されない。再認定プロセスは、ライン歩留まり(line yield)、スケジューリング、品質、ユーザ時間、使用エネルギーなどに影響を及ぼす。
[0024] 本明細書に開示されるデバイス、システム、及び方法は、ロボットの関節座標教示精度を向上させる。本明細書で開示される装置、システム、及び方法は、ロボットの教示(例えば、自動教示)中の関節エラーの影響を低減する。いくつかの実施形態では、処理デバイス(例えば、基板処理システムのコントローラ)は、基板処理システム内の固定位置に対して、ロボットを基板処理システム内に複数の姿勢で位置決めする。いくつかの実施形態では、固定位置は、エンクロージャシステム(例えば、FOUP、SSP)内、位置合わせデバイス上、LCFデバイス上、ロードロックなどに位置するピンである。いくつかの実施形態では、ロボットは、エンドエフェクタ、リスト部材、前腕部、上腕などの複数の構成要素を含む。
[0025] 処理デバイスは更に、異なる姿勢のロボットに対する固定位置を特定するセンサデータを生成する。いくつかの実施形態では、ロボットは、ロボットの1つの部分を分離し、ロボットのその部分のみを動かすことによって、異なる姿勢で位置決めされる。センサデータの第1の部分は、ロボットのリスト部材をロボットの第1の関節の周りで動かすだけで生成され、センサデータの第2の部分は、ロボットの前腕部をロボットの第2の関節の周りで動かすだけで生成される。
[0026] 処理ロジックは更に、センサデータに基づいて、基板処理システムの1つ又は複数の構成要素に対応する複数のエラー値を決定する。いくつかの例では、ロボットのリスト部材に対応するエラー値は、センサデータに基づいて決定される。いくつかの例では、位置合わせデバイスに対応するエラー値は、センサデータに基づいて決定される。
[0027] 処理デバイスは、更に、複数のエラー値に基づいて、基板処理システムの1つ又は複数の構成要素に関連する1つ又は複数の是正処置の実行をもたらす。いくつかの例では、リスト部材に関連するエラー値を決定することに応じて(例えば、リスト部材を第1の角度に回転させるように方向付けることは、実際に、リスト部材を第1の角度とは異なる第2の角度に回転させる)、処理デバイスは、そのエラー値を使用して、リスト部材を正しい角度に回転させる。いくつかの例では、経時的に増加するエラー値を決定すると、予防保守、1つ又は複数の構成要素の交換などが実行される。いくつかの例では、ロボットに対して第1の是正処置(例えば、較正、自動教示、診断など)が実行され、次に、ロボットを使用して、基板処理システムの異なる構成要素(例えば、位置合わせデバイス、LCFデバイスなど)に対して第2の是正処置が決定される。
[0028] いくつかの実施形態では、エラー値は、機械学習モデルをトレーニングすることによって決定される。履歴センサデータ(例えば、位置データ、画像等)及び履歴エラー値(例えば、第三者センサから、位置合わせデバイスから、LCFデバイスから等の平均)が受信され、機械学習モデルが、履歴センサデータを含むデータ入力及び履歴エラー値を含むターゲット出力でトレーニングされ、トレーニングされた機械学習モデルを生成する。センサデータは、トレーニングされた機械学習モデルへの入力として提供され、予測データを示す出力は、トレーニングされた機械学習モデルから得られ、エラー値は、予測データに基づいて決定される。
[0029] 本明細書に記載されるデバイス、システム、及び方法は、従来の解決策を上回る利点を有する。基板処理システムの構成要素に対するエラー値は、基板処理システムを開くことなく、かつ基板処理システムのその後の再認定プロセスを含まずに、決定される(例えば、密封環境を維持しながら動作の性能を可能にする)。密封された環境を維持することは、有害なガスが基板処理システムから出るのを防ぎ、汚染物質が基板処理システムに入るのを防ぎ、基板処理システムの対応する部分内に不活性環境及び/又は真空レベルを維持する。特定の構成要素のエラーは、(例えば、構成要素、ロボット、位置合わせデバイス、LCFデバイス、基板処理システムなどの)自動教示、較正、及び診断を改善するために決定される。これにより、ロボットは、内容物を除去し、内容物を特定の位置に配置するように制御できるようになり、位置合わせデバイス及びLCFデバイスが、内容物をより正確に位置合わせできるようになる。そうすることで、これは、処理内容のエラーを低減し、ロボット、エンクロージャシステム、及び/又は基板処理システムへの損傷を低減する。本明細書に記載される解決策は、従来の解決策よりも、ライン歩留まり、スケジューリング、品質、ユーザ時間、使用されるエネルギーなどに対する影響が少ない。
[0030] ロボットの関節座標教示精度を向上させるための装置、システム、及び方法は、例示を目的とし、限定するものではない。いくつかの実施形態では、本明細書に記載の解決策は、ロボットのブレードのウエハ中心に対するファイバビームオフセット、ロボットの各関節ごとのモータ又はギア伝達エラー、ロボットの楕円関節エラー、ロボットのリンクゼロ調整オフセットなどに関連する是正処置を実行するためなど、関節座標教示精度以外の是正処置を実行するために使用される。いくつかの実施形態では、本明細書に記載の解決策は、位置合わせデバイス、LCFデバイス、及び/又は同様のものなど、ロボット以外の構成要素のための是正処置を実行するために使用される。
[0031] 図1は、処理システム100(例えば、電子デバイス処理装置、基板処理システム)の上部概略図を示す。処理システム100は、処理システム100の異なる部分間で内容物(例えば、基板、プロセスキットリング、キャリア、検証ウエハ、構成要素等)を転送する。処理システム100は、(例えば、1つ又は複数の処理チャンバ104を介して)、基板105(例えば、300mm又は450mmのシリコン含有ウエハ、シリコンプレートなど)に1つ又は複数のプロセスを付与することによって、それらの基板105を処理するように適合される。プロセスは、脱気、洗浄、前洗浄、化学気相堆積(CVD)、物理的気相堆積(PVD)、原子層堆積などの堆積、コーティング、酸化、ニトロ化、エッチング、研磨、リソグラフィなどを含む。いくつかの実施態様において、処理システム100は、エッチングチャンバ、堆積チャンバ(原子層堆積、化学気相堆積、物理的気相堆積、又はこれらのプラズマ強化バージョンを含む)、アニールチャンバ、及び/又は同様のものを含む処理チャンバ104を含む。
[0032] 図示した処理システム100は、内部に形成された移送チャンバ102を含むメインフレームハウジング101を含む。移送チャンバ102は、例えば、蓋(例示の目的で除去されている)、底部、及び側壁によって形成され、いくつかの実施形態では真空に維持される。メインフレームハウジング101は、正方形、長方形、五角形、六角形、七角形、八角形(図示されたように)、又は他の幾何学的形状などの任意の適切な形状を含む。図示された実施形態では、マルチアームロボットなどのロボット106が、移送チャンバ102の内部に少なくとも部分的に受容される。ロボット106は、移送チャンバ102の周りに配置された様々なチャンバ(例えば、1つ又は複数の処理チャンバ104及び/又は1つ又は複数のロードロックチャンバ109)にサービス提供するために、内部で動作可能に適合される。本明細書で使用される「サービス提供する(Service)」は、ロボット106のエンドエフェクタ108を用いて、チャンバ(例えば、処理チャンバ104及び/又はロードロックチャンバ109)内に又はチャンバから、内容物(例えば、基板105、プロセスキットリングなど)を配置又は取り出すことを含む。図1に示される移送チャンバ102は、6つの処理チャンバ104及び2つのロードロックチャンバ109に接続される。しかし、他の実施形態では、他の数の処理チャンバ104及びロードロックチャンバ109が使用される。
[0033] ロボット106は、ロボット106のエンドエフェクタ108(「ブレード」と呼ばれることもある)に装着された基板105(「ウエハ」又は「半導体ウエハ」と呼ばれることもある)などの内容物を、1つ又は複数のスリットバルブアセンブリ107を通して目的地に又は目的地から拾い、置くように適合される。図1の図示された実施形態では、ロボット106は、様々な処理チャンバ104及び/又はロードロックチャンバ109の間で基板105を移送するのに十分な移動性を有する任意の適切な多腕ロボットである。
[0034] 図1の図示された実施形態では、ロボット106は、移送チャンバ102内に位置し収容されるように示されている。しかしながら、ロボット106の本実施形態は、本明細書に記載の他のロボットと同様に、例えば、基板キャリア114(例えば、エンクロージャシステム、FOUPなど)のロードポートとロードロックチャンバ109との間で、ロボットが内容物(例えば、基板105)を搬送する電子フロントエンドモジュール(EFEM)110(例えば、ファクトリインターフェース)のような、電子デバイス製造の他の領域で使用されると認識すべきである。本明細書に記載のロボット106は、他の輸送使用も可能である。
[0035] ロードロックチャンバ109は、EFEM 110のインターフェースチャンバ111とインターフェースで接続するように適合される。EFEM 110は、ロードポート112にドッキングされた前方開口型統一ポッド(FOUP)のような基板キャリア114から、内容物(例えば、基板105)を受け取る。ロボット118(ロード/アンロードロボット、ファクトリインターフェースロボット、大気ロボット、EFEMロボットなど)(点線で示す)は、基板キャリア114とロードロックチャンバ109との間で基板105を移送するために使用される。いくつかの実施形態では、ロボット118は、ロボット106と同一又は類似の構成要素(例えば、エンドエフェクタ108など)及び機能性を有する。スリットバルブアセンブリ107は、処理チャンバ104内への開口部の一部又はすべてに、加えて、ロードロックチャンバ109の開口部の一部又はすべてに設けられる。
[0036] ロボット118は、選択コンプライアンスアセンブリロボットアーム(SCARA)ロボットのようなロボットアームを含む。SCARAロボットの例は、2リンクSCARAロボット、3リンクSCARAロボット、4リンクSCARAロボットなどを含む。ロボット118は、ロボットアームの端部上にエンドエフェクタ108を含む。エンドエフェクタ108は、基板などの特定の物体を拾い上げて取り扱うように構成される。代替的に又は追加的には、エンドエフェクタ108は、較正基板及びプロセスキットリング(エッジリング)などの物体を取り扱うように構成される。また、エンドエフェクタ108は、固定位置に配置された物体(例えば、ピン、自動教示ピン、較正ピンなど)を走査するように構成される。ロボット118は、エンドエフェクタ108を異なる配向及び異なる位置に移動させるために移動されるように構成された1つ又は複数のリンク又は部材(例えば、リスト部材、上腕部材、前腕部部材など)を有する。
[0037] ロボット118は、基板キャリア114(例えば、カセット、FOUP)(又はロードポート)、ロードロック119A、119B、SSP、位置合わせデバイス及び/又は同様のもの等の間で物体を移送するように構成される。従来のシステムは、オペレータによる処理システム(例えば、EFEM)の開放(例えば、分解、シールの破壊、汚染等)に関連付けられて、エラー値を決定し、ロボット(例えば、ファクトリインターフェースロボット)に対する是正処置(例えば、ロボットの誤動作の教示、較正、及び/又は診断)を実行するが、処理システム100は、オペレータによる処理システム100の開放(例えば、分解、シールの破壊、汚染等)なしに、エラー値の決定及び是正処置(例えば、自動教示、較正、及び/又は診断)の実行を容易にするように構成される。したがって、実施形態では、基板キャリア114の内部空間及びEFEM110の内部空間を含む密閉環境は、エラー値を決定し、是正処置(例えば、自動教示、較正、及び/又は診断動作)を実行する間、維持される。
[0038] ロボット118には、実施形態において、ピン(例えば、自動教示エンクロージャシステムの自動教示ピン)のような物体を使用して、ロードポート、基板キャリア114、ロードロック119、SSP、位置合わせデバイス、LCFデバイス等に対して固定位置が教示される。1つの実施形態における固定位置は、特定のロードポートに配置された基板キャリア114(例えば、自動教示エンクロージャシステム)の中心位置に対応し、これは、実施形態では、特定のロードポートに配置された異なる基板キャリア114(例えば、基板のカセット)の中心位置にも対応する。あるいは、固定位置は、処理システム100内の他の固定位置(例えば、基板キャリア114、位置合わせデバイス、ロードロック119、LCFデバイスなどの前面又は背面)に対応する。ロボット118は、いくつかの実施形態において、物体(例えば、自動教示エンクロージャシステムの自動教示ピン及び/又は較正基板)を使用して較正される。ロボット118は、いくつかの実施形態において、物体(例えば、自動教示エンクロージャシステムの較正基板)を使用して診断される。
[0039] いくつかの実施形態では、ロボット106は、ロボット118と実質的に類似である。いくつかの実施形態では、ロボット106はSCARAロボットであるが、ロボット118よりもリンク及び/又は自由度が少ない。
[0040] 基板105などの内容物は、EFEM 110から移送チャンバ102内に受容され、また、EFEM 110の表面(例えば、後壁)に接続されたロードロックチャンバ109を通って、移送チャンバ102を出てEFEM 110に至る。ロードロックチャンバ109は、1つ又は複数のロードロック(例えば、ロードロック119A、119B)を含む。いくつかの実施形態では、ロードロックチャンバ109に含まれるロードロック119A、119Bは、例えば、単一ウエハロードロック(SWLL)チャンバ、マルチウエハチャンバ、又はこれらの組み合わせである。基板キャリア114の各々は、ロードポート上に位置する。いくつかの実施形態では、ロードポートは、EFEM 110に直接装着される(例えば、EFEM 110に対して封止される)。基板キャリア114(例えば、カセット、FOUP、プロセスキットエンクロージャシステム、自動教示エンクロージャシステム、エンクロージャシステムなど)は、ロードポートに取り外し可能に接続(例えば、ドッキング)するように構成される。いくつかの実施形態では、1つ又は複数の基板キャリア114が、ウエハ及び/又は他の基板を処理システム100に出し入れするためにロードポートに接続される。基板キャリア114の各々は、それぞれのロードポートに対してシールする。いくつかの実施形態では、第1の基板キャリア114は、(例えば、EFEM 110のロボット118を教示、較正、及び/又は診断するために)第1のロードポートにドッキングされる。このような1つ又は複数の動作が実行されると、次に、第1の基板キャリア114がロードポートからドッキング解除され、次に、第2の基板キャリア114(例えば、ウエハを含むFOUP)が同じロードポートにドッキングされる。いくつかの実施形態では、基板キャリア114は、自動教示動作、較正動作、又は診断動作のうちの1つ又は複数を実行するための自動教示エンクロージャシステムである。いくつかの実施形態では、基板キャリア114は、プロセスキットリングなどの内容物を処理システム100に出し入れするためのプロセスキットエンクロージャシステムである。
[0041] いくつかの実施形態では、ロードポートは、垂直開口部(又は実質的に垂直な開口部)を形成する前面インターフェースを含む。ロードポートは、加えて、基板キャリア114(例えば、カセット、エンクロージャシステム、自動教示エンクロージャシステム)を支持するための水平面を含む。各基板キャリア114(例えば、ウエハのFOUP、自動教示エンクロージャシステム、プロセスキットエンクロージャシステム)は、垂直開口部を形成する前面インターフェースを有する。基板キャリア114の前面インターフェースは、ロードポートの前面インターフェースと境界を接する(例えば、シールする)ようなサイズである(例えば、基板キャリア114の垂直開口部は、ロードポートの垂直開口部とほぼ同じサイズである)。基板キャリア114は、ロードポートの水平面上に配置され、基板キャリア114の垂直開口部は、ロードポートの垂直開口部と位置合わせされる。基板キャリア114の前面インターフェースは、ロードポートの前面インターフェースと相互接続する(例えば、クランプされる、固定される、シールされる)。基板キャリア114の底部プレート(例えば、ベースプレート)は、ロードポートの水平面と係合するフィーチャ(例えば、ロードポート運動学的ピンフィーチャと係合する凹部又はレセプタクルなどのロードフィーチャ、ピンクリアランス(pin clearance)のためのロードポートフィーチャ、及び/又はエンクロージャシステムドッキングトレイラッチクランピングフィーチャ)を有する。同じロードポートが、異なるタイプの基板キャリア114(例えば、自動教示エンクロージャシステム、プロセスキットエンクロージャシステム、ウエハを含むカセットなど)に使用される。
[0042] いくつかの実施形態では、基板キャリア114(例えば、自動教示エンクロージャシステム)は、自動教示動作を実行するための自動教示ピンを含む。いくつかの実施形態では、基板キャリア114は、較正動作又は診断動作のうちの1つ又は複数を実行するための較正基板(例えば、較正ピンを含む)を含む。したがって、いくつかの実施形態では、基板キャリア114は、自動教示ピンと較正基板との両方を含む。
[0043] いくつかの実施形態では、基板キャリア114、SSP、位置合わせデバイス、LCFデバイス、ロードロック119、及び/又はロードポートのうちの1つ又は複数は、処理システム100の1つ又は複数の構成要素のエラー値を決定するために使用される、対応する固定位置(例えば、ピン、円筒形ピン、台形ベースを有する円筒形ピンなど)を有する。
[0044] いくつかの実施形態では、基板キャリア114(例えば、プロセスキットエンクロージャシステム)は、1つ又は複数の内容物アイテム(例えば、プロセスキットリング、空のプロセスキットリングキャリア、プロセスキットリングキャリア上に配置されたプロセスキットリング、配置検証ウエハなどのうちの1つ又は複数)を含む。いくつかの例では、基板キャリア114は、EFEM 110に(例えば、ロードポートを介して)接続されて、使用済みプロセスキットリングの交換のためにプロセスキットリングキャリア上のプロセスキットリングを処理システム100に自動移送できるようにする。
[0045] いくつかの実施形態では、処理システム100は、EFEM 110をそれぞれのロードロック119(例えば、脱ガスチャンバ)に接続する第1の真空ポート(例えば、ロードロック119とEFEM 110との間のスリットバルブアセンブリ107)も含む。第2の真空ポート(例えば、ロードロック119と移送チャンバ102との間のスリットバルブアセンブリ107)は、それぞれのロードロック119(例えば、脱ガスチャンバ)に接続され、基板105及び内容物(例えば、プロセスキットリング)の移送チャンバ102への移送を容易にするために、ロードロック119と移送チャンバ102との間に配置される。いくつかの実施形態では、処理システム100は、1つ又は複数のロードロック119及び対応する数の真空ポート(例えば、スリットバルブアセンブリ107)を含み及び/又は使用する(例えば、処理システム100は、単一ロードロック119、単一の第1のスリットバルブアセンブリ107、及び単一の第2のスリットバルブアセンブリ107を含む)。移送チャンバ102は、その周囲に配置され、それに接続された処理チャンバ104(例えば、4つの処理チャンバ104、6つの処理チャンバ104など)を含む。処理チャンバ104は、スリットバルブ等のそれぞれのポート107を通して、移送チャンバ102に接続される。いくつかの実施形態では、EFEM 110は、より高い圧力(例えば、大気圧)にあり、移送チャンバ102は、より低い圧力(例えば、真空)にある。各ロードロック119(例えば、脱ガスチャンバ、圧力チャンバ)は、EFEM 110からロードロック119をシールするための第1のドア(例えば、第1のスリットバルブアセンブリ107)と、移送チャンバ102からロードロック119をシールするための第2のドア(例えば、第2のスリットバルブアセンブリ107)とを有する。内容物は、第1のドアが開いていて第2のドアが閉じている間に、EFEM 110からロードロック119に移送され、第1のドアが閉じ、ロードロック119内の圧力は、移送チャンバ102に一致するように低減され、第2のドアが開き、内容物がロードロック119から移送される。LCFデバイスは、(例えば、処理チャンバ104に入る前に、処理チャンバ104を出た後に)移送チャンバ102内の内容物を位置合わせするために使用される。
[0046] コントローラ109は、処理システム100の様々な態様を制御する。コントローラ109は、パーソナルコンピュータ、サーバコンピュータ、プラグラム可能な論理制御装置(PLC)、マイクロコントローラなどのコンピューティングデバイスであり、かつ/又はこれらを含む。コントローラ109は、いくつかの実施形態では、マイクロプロセッサ、中央処理デバイスなどの汎用処理デバイスである1つ又は複数の処理デバイスを含む。より詳細には、いくつかの実施形態では、処理デバイスは、複合命令セット演算(CISC)マイクロプロセッサ、縮小命令セット演算(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、又は他の命令セットを実装するプロセッサ、若しくは命令セットの組み合わせを実装するプロセッサである。いくつかの実施形態では、処理デバイスは、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサなどの1つ又は複数の専用処理デバイスである。いくつかの実施形態では、コントローラ109は、データ記憶デバイス(例えば、1つ又は複数のディスクドライブ及び/又はソリッドステートドライブ)、メインメモリ、スタティックメモリ、ネットワークインターフェース、及び/又は他の構成要素を含む。いくつかの実施形態では、コントローラ109は、本明細書に記載の方法又はプロセスのうちの任意の1つ又は複数を実行するための命令を実行する。命令は、(命令の実行中に)メインメモリ、スタティックメモリ、セカンダリストレージ、及び/又は処理デバイスのうちの1つ又は複数を含む、コンピュータ読み取り可能記憶媒体に記憶される。コントローラ109は、いくつかの実施形態において、ロボット118及びロボット106から信号を受信し、それらに制御を送信する。
[0047] 図1は、内容物(例えば、基板105、プロセスキットリングキャリアに接続されたプロセスキットリング)の処理チャンバ104内への移送を概略的に示す。本開示の1つの態様によれば、内容物は、EFEM 110内に位置するロボット118を介して、基板キャリア114から除去される。ロボット118は、第1のスリットバルブアセンブリ107の1つを通って、それぞれのロードロック119A、119Bに内容物を移送する。移送チャンバ102内に位置するロボット106は、第2のスリットバルブアセンブリ107を通って、ロードロック119A、119Bのうちの1つから内容物を除去する。ロボット106は、内容物を移送チャンバ102内に移動させ、そこで、その内容物は、それぞれのスリットバルブアセンブリ107を通って、処理チャンバ104に移送される。図1には明確にするために示されていないが、内容物の移送は、基板105の移送、プロセスキットリングキャリア上に配置されたプロセスキットリングの移送、空のプロセスキットリングキャリアの移送、配置検証ウエハの移送、ウエハ上の撮像デバイスの移送などの1つ又は複数が含まれる。
[0048] 図1は、内容物の移送の一例を示すが、他の例も考えられる。いくつかの例では、基板キャリア114は、(例えば、移送チャンバ102に装着されたロードポートを介して)移送チャンバ102に接続されることが企図される。移送チャンバ102から、内容物は、ロボット106によって処理チャンバ104にロードされる。加えて、いくつかの実施形態では、内容物はSSPにロードされる。いくつかの実施形態では、追加のSSPが、図示されたSSPの反対側でEFEM 110と通信するように位置決めされる。処理された内容物(例えば、使用されたプロセスキットリング)は、本明細書に記載される任意の方法とは逆に、処理システム100から除去される。複数の基板キャリア114又は基板キャリア114とSSPとの組み合わせを利用する場合、いくつかの実施形態では、1つのSSP又は基板キャリア114は、未処理の内容物(例えば、新しいプロセスキットリング)に使用される一方で、別のSSP又は基板キャリア114は、処理済み内容物(例えば、使用済みプロセスキットリング)を受け取るために使用される。基板キャリア114は、ロボットアームを介して内容物を移送する前に、ロボットアーム(例えば、ロボット118、ロボット106など)の自動教示動作、較正動作、又は診断動作のうちの1つ又は複数を実行するために使用される。自動教示、較正、又は診断動作のうちの1つ又は複数は、(例えば、第1の基板キャリア114がドッキングされたのと同じロードポートに第2の基板キャリア114をドッキングすると)ロボットアームが、特定の位置から物体を正しく除去し、物体を特定の位置に正しく配置できるようにする。
[0049] 処理システム100は、EFEM 110などのチャンバと、EFEM 110に隣接する隣接チャンバ(例えば、ロードポート、基板キャリア114、SSP、ロードロック119、及び/又は同じようなもの)とを含む。チャンバのうちの1つ又は複数がシールされる(例えば、チャンバの各々がシールされる)。隣接するチャンバは、EFEM 110にシールされる。いくつかの実施形態では、不活性ガス(例えば、窒素、アルゴン、ネオン、ヘリウム、クリプトン、又はキセノンのうちの1つ又は複数)が、チャンバのうちの1つ又は複数(例えば、EFEM 110及び/又は隣接するチャンバ)内に供給されて、1つ又は複数の不活性環境を提供する。いくつかの例では、EFEM 110は、ユーザがEFEM 110に入る必要がないように、EFEM 110内の不活性環境(例えば、不活性EFEMミニ環境)を維持する不活性EFEMである(例えば、処理システム100は、EFEM 110内で手動アクセスがないように構成される)。
[0050] いくつかの実施形態では、ガス流(例えば、不活性ガス、窒素)は、処理システム100の1つ又は複数のチャンバ(例えば、EFEM 110)内に供給される。いくつかの実施形態では、ガス流は、1つ又は複数のチャンバを通る漏れよりも大きく、1つ又は複数のチャンバ内の正圧を維持する。いくつかの実施形態では、EFEM 110内の不活性ガスは再循環される。いくつかの実施形態では、不活性ガスの一部は排気される。いくつかの実施形態では、EFEM 110内への非再循環ガスのガス流は、排気ガス流及びガス漏れよりも大きく、EFEM 110内の不活性ガスの正圧を維持する。いくつかの実施形態では、EFEM 110は、EFEM 110に出入りするガスの流れを提供するために、1つ又は複数のバルブ及び/又はポンプに接続される。処理デバイス(例えば、コントローラ109の)は、EFEM 110に出入りするガスの流れを制御する。いくつかの実施形態では、処理デバイスは、1つ又は複数のセンサ(例えば、酸素センサ、水分センサ、運動センサ、ドア作動センサ、温度センサ、圧力センサなど)からセンサデータを受信し、センサデータに基づいて、EFEM 110に流入及び/又はEFEM 110から流出する不活性ガスの流量を決定する。
[0051] 処理システム100内の1つ又は複数の物体(例えば、ピン)は、EFEM 110及び隣接するチャンバ内の密閉環境を開くことなく、エラー値を決定し、処理システム100の1つ又は複数の構成要素(例えば、ロボット、位置合わせデバイス、LCFデバイスなど)の是正処置(例えば、教示、較正、及び/又は診断)を実行できるようにする。基板キャリア114は、ロードポート上にドッキングされることに応じてロードポートをシールする。基板キャリア114は、EFEM 110内の不活性環境の妨害を最小限に抑えるために基板キャリア114を開く前に、基板キャリア114の内部をパージできるように、パージポートアクセスを提供する。
[0052] いくつかの実施形態では、各ロードポート及び/又は基板キャリア114は、固定位置に対応する対応ピン(例えば、FOUP固定具上の単一ピン走査のために構成される)を有する。いくつかの実施形態では、各SSPは、固定位置に対応する対応ピン(例えば、SSPピン上の単一ピン走査のために構成される)を有する。いくつかの実施形態では、位置合わせデバイス(例えば、EFEM 110内)は、固定位置に対応する対応ピン(例えば、位置合わせチャック上の単一ピン走査のために構成される)を有する。いくつかの実施形態では、各バッファチャンバは、固定位置に対応する対応するピン(例えば、バッファピン上の単一ピン走査のために構成される)を有する。いくつかの実施形態では、各ロードロック119は、固定位置に対応する対応するピン(例えば、すべてのロードロック119上のオフセットピン走査のために構成された)を有する。
[0053] 特定の実施形態による、ロボット210(例えば、図1のロボット106及び/又はロボット118)の上面図を示す図2Aを参照する。特定の実施形態による、ロボット210(例えば、図1のロボット106及び/又はロボット118)の断面側面図を示す図2Bも参照する。いくつかの実施形態では、ロボット210は、処理システム(例えば、図1の処理システム100、図1の移送チャンバ102、図1のEFEM 110など)の壁に取り付けられるように適合されたベース220を含む。いくつかの実施形態では、ロボット210は、図示された実施形態において、実質的に剛性の片持ちビームである上部腕222も含む。上腕222は、第1回転軸224の周囲を時計回り及び反時計回りの回転方向に回転するよう適合される。第1の回転軸224周囲での回転は、可変リラクタンス又は永久磁石電気モータなどの任意の適切なモータによって提供される。モータは、モータハウジング226に受容される。上腕222の回転は、コントローラ228(例えば、図1のコントローラ109)からモータへの適切なコマンドによって制御される。
[0054] 前腕部230は、第2の回転軸232で上腕222に接続される。第2回転軸232は、第1回転軸224から離間している。前腕部230は、第2の回転軸232の周りで上腕222に対してX-Y平面内で回転するように適合される。リスト部材236は、第3の回転軸238で前腕部230に接続される。リスト部材236は、第3の回転軸線238の周囲をX-Y平面内で回転するよう適合される。エンドエフェクタ108は、リスト部材236に接続され、基板105を運搬及び移送するよう適合される。
[0055] 図2Bは、特定の実施形態による、ロボット210の断面側面図を示す。ロボット210は、ロボット106のリンク又はアームの間に複数の関節(例えば、回転関節)を含む。関節は、アームが互いに対して回転できるようにする。関節内の遊びは、エンドエフェクタ108の実際の位置及びその上に位置する内容物(例えば、図1の基板105)を決定する際に不正確さをもたらす。
[0056] 図2A-Bに示されるロボット210は、3つの関節を含む。第1の関節240は、モータハウジング226と上腕222との間に位置する。第1の関節240は、上腕222が、第1の回転軸224の周りでモータハウジング226に対して回転できるようにする。第2の関節242は、上腕222と前腕部230との間に位置する。第2の関節242は、前腕部230が、第2の回転軸232の周りで上腕222に対して回転できるようにする。第3の関節244は、前腕部230とリスト部材236との間に位置する。第3の関節は、リスト部材236が、第3の回転軸238の周りで前腕部230に対して回転できるようにする。
[0057] いくつかの実施形態では、図2A-Bのロボット210は、基板処理システム内の固定位置に対して基板処理システム内の異なる姿勢で位置決めされる。異なる姿勢のロボットに対する固定位置を特定するセンサデータが生成される。センサデータに基づいて、基板処理システムの1つ又は複数の構成要素に対応するエラー値が決定され、そのエラー値に基づいて、1つ又は複数の構成要素に関連する1つ又は複数の是正処置の性能がもたらされる。いくつかの実施形態では、エラー値及び是正処置は、第1の関節240、第2の関節242、及び/又は第3の関節244のうちの1つ又は複数の周りの関節回転に対応する。いくつかの実施形態では、コントローラ228(例えば、図1のコントローラ109)は、(例えば、各構成要素の動きを分離することによって)各構成要素の各エラー値を別々に決定する。
[0058] 図3Aは、ロボット310のリスト部材236及びエンドエフェクタ108(例えば、図2A-Bのロボット210、図1のロボット106及び/又はロボット118など)の一実施形態の上面図である。エンドエフェクタ108及び/又はリスト部材236は、いくつかの実施形態では、光源352及び受光器354を含むビームセンサ350を含む。光伝送ファイバ356Aは、光源352に接続される。光伝送ファイバ356Aは、リスト部材236及びエンドエフェクタ108を通って経路決定され、エンドエフェクタ108の第1の端部358Aで終端する。受光ファイバ356Bは、受光器354に接続される。受光ファイバ356Bは、リスト部材236及びエンドエフェクタ108を通って経路決定され、エンドエフェクタ108の第2の端部358Bで終端する。エンドエフェクタ108の第1の端部358A及び第2の端部358Bは、基板105(図1を参照)、他の内容物、及び/又は物体(例えば、ピン)の周縁を検出することを含む、ある種の処理のためのレリーフ領域を形成する間隙360を横切って離間される。
[0059] 光伝送ファイバ356Aは、第1の端部358Aに近接する第1の光路開口部362Aで終端する。同様に、受光ファイバ356Bは、第2の端部358Bに近接する第2の光路開口部362Bで終端する。第1の光路開口部362A及び第2の光路開口部362Bは、互いに向き合い、基板105(図1を参照)、他の内容物、及び/又は物体(例えば、ピン)の有無を検出するための光伝送経路364(例えば、光線)を形成する。光伝送経路364は、第1の端部358Aと第2の端部358Bとの間(即ち、2つの点の間)を延び、これにより、間隙360内の物体の検出が可能になる。
[0060] ビームセンサ350は、更に、光伝送ファイバ356Aと受光ファイバ356Bとの間の光伝送の度合いを検出する光伝送/受光モジュール366を含む。光伝送/受光モジュール366は、基板105(図1)又は他の物体が光伝送経路364を遮るときに、第1の光路開口部362Aと第2の光路開口部362Bとの間に位置する基板105又は他の物体の周縁を感知する。光伝送/受光モジュール366によって生成された出力信号は、ロボット310を通過する導体(図示せず)を介して、コントローラ(例えば、図2A-Bのコントローラ228、図1のコントローラ109)に供給される。
[0061] ロボット310の動作中、コントローラ(例えば、図2A-Bのコントローラ228、図1のコントローラ109)は、エンドエフェクタ108を特定の位置に移動させる信号をロボット310に送信する。例えば、コントローラ228は、上腕222、前腕部230、及びリスト部材236を、処理システム(例えば、図1の処理チャンバ104、移送チャンバ102、又はEFEM 110)内の位置といった特定の位置に移動させる信号を生成する。コントローラは、ロボット310に対する固定位置に基づいて、エンドエフェクタ108を移動させる信号を生成する。例えば、ロボット310は、エラー値を決定し、是正処置(例えば、自動教示機能、較正機能、診断機能など)を実行するために使用され、ロボット310は、固定位置に対応するセンサデータ(例えば、座標データ点、画像など)を決定するために使用される。次いで、コントローラは、エンドエフェクタ108を固定位置に対して相対的な特定の位置に移動させるために、上腕222、前腕部230、及びリスト部材236を移動させる信号を生成する。
[0062] ロボット力学におけるいくつかのエラーは、エンドエフェクタ108の位置決めにエラーを生じさせる。いくつかの例では、関節240、242、244は、位置エラーに寄与するエラー又は遊びを有する。これらの位置エラーは、ロボット310によって実行される自動教示、較正、及び/又は診断の精度を低下させる。関節240、242、244におけるエラーは、関節運動学的エラー、関節ヒステリシス、及び関節バックラッシュを含む。関節運動学的エラーは、関節エラーと呼ばれることがあり、関節が指示されたときに回転しないことの結果である(例えば、異なる姿勢から同じ点を要求すると、運動学的エラーが示される)。例えば、関節は特定の角度まで回転するように指示されるが、関節は別の角度に回転する(例えば、軸(Ty)に対してプロットされた横(Tx)のプロットにわたる差は関節エラーである)。関節のバックラッシュは、関節が時計回り又は反時計回りに回転し、位置に繰り返し可能な差が生じた場合に発生する(例えば、前進ドライブと後退ドライブの差がバックラッシュである)。関節ヒステリシスは、関節の時計回りと反時計回りの回転で観察されるヒステリシスに関係する。伝動エラーは、公表されているものとは異なる(例えば、公表されている35:1の減速ではなく、35:1.0002の実際の減速)歯車及びプーリの減速(例えば、関節角度において)に関するものである。分析される他のエラー(例えば、リンク長エラー)は、コントローラによって記憶される上腕222、前腕部230、及びリスト部材236の実際の長さ対それらの長さ(例えば、360mmのストック長ではなく、360.13mmの長さまでの変動)を含む。セットゼロ(SetZero)オフセットエラーは、ゼロ番目の位置を設定するためにロボットをピン留めすることに関連し、いくつかの例では、機械的ゼロ番目の位置が最大0.1~0.2度外れる。
[0063] 異なるロボット姿勢を用いてエンドエフェクタ108を固定位置に繰り返し配向することにより、自動教示、較正、診断などの精度が向上する。いくつかの実施形態では、ロボット姿勢は、上腕222、前腕部230、及びリスト部材236の位置を指す。ロボット106は、固定位置のセンサデータ(例えば、異なる座標データ点、異なる画像等)を決定するために使用され、これらは、関節エラー及び他のエラーにより変化する。
[0064] 正確な運動学(例えば、決定されたエラー値による調整)は、より真っ直ぐなロボット経路、より良好なLCFデバイスの再現性、正確な自動教示動作、ロボットが測定を行うことを可能にする等の利点をもたらす。
[0065] 図3Bは、特定の実施形態による、ロボット310の上面図を示す。ロボット310は、ピンなどの物体を使用して、1つ又は複数のエラー値を決定する(例えば、自動教示動作、較正動作、又は診断動作のうちの1つ又は複数を実行する)ために使用されるように構成される。ロボット310は、エンドエフェクタ108と、リスト部材236と、光源352に接続された第1の光路開口部262A(例えば、ファイバ放射器)と、受光器454に接続された第2の光路開口部362B(例えば、ファイバ受信器)とを含む。光伝送経路364(例えば、光線、ビームトリガ経路)が、第1の光路開口部362Aと第2の光路開口部362Bとの間に配置される。
[0066] ロボット310は、実際のウエハ中心372に対応するロボットリスト中心370を有する。ロボット310の特性エラー374(例えば、ロボットアームエラー)は、中心線とエラー線との間の距離又は角度である。中心線は、ロボットリスト中心370と実際のウエハ中心372との間(例えば、ベクトルリストからウエハ中心まで)である。エラー線(例えば、ビームに対するベクトルリスト)は、光伝送経路374(例えば、ビームトリガ経路)に対して直角(例えば、90度の角度376で)である。いくつかの実施形態では、ロボット310は、較正動作を介して特性エラー374を決定する。
[0067] 図3Cは、特定の実施形態による、ロボット310及び位置合わせデバイス380の上面図を示す。いくつかの実施形態では、位置合わせデバイス380のエラー値が決定され(例えば、位置合わせデバイス380が較正され)、次いで、位置合わせデバイス380を使用して、ロボット310のエラー値が決定される(例えば、ロボット310が較正される)。いくつかの実施形態では、ロボット310のエラー値が決定され(例えば、ロボット310が較正され)、次いで、位置合わせデバイス380のエラー値が、位置合わせロボット310を使用して決定される(例えば、位置合わせデバイス380が較正される)。
[0068] いくつかの実施形態では、較正ウエハ384は、ノッチ及び/又はピンを有する。いくつかの実施形態では、位置合わせデバイス380は、ノッチを使用して較正ウエハ384を位置合わせし、ロボット310は、較正ウエハ384のピンの位置を検出する。
[0069] 位置合わせデバイス380又はロボット310のエラー値を決定する(例えば、較正する)ことに続き、較正ウエハ384(例えば、オフセットピン386を有するノッチ付きウエハ)を支持するロボット310は、位置合わせデバイス380まで移動され、ロボットX-Y中心388を位置合わせデバイス380に位置合わせする(例えば、位置合わせデバイス380の一部を走査することによって)。これは、ロボットX-Y中心を位置合わせデバイス真中心X-Yに整合させる(例えば、X-Y位置合わせデバイス380-ロボット310の整合)が、位置合わせデバイス380に対するロボット310の相対角度は不明である。ロボット310は、較正ウエハ384を位置合わせデバイス380上に置く。位置合わせデバイス380は、較正ウエハ384のノッチを使用して、(例えば、較正ウエハ384を回転させることによって)較正ウエハ384の位置(例えば、回転、ヨー)を決定する。位置合わせデバイス380は、較正ウエハ384を左右に回転させて、ロボット310上のマッピングファイバ(例えば、光伝送経路364、反復可能なトリガ線)をトリガし、中点角度基準を決定する。ロボット310のリストを左右に回転させて、ロボット310上のマッピングファイバをトリガし、ロボット310の中間点を決定する。いくつかの実施形態では、この手順は、複数のアクセス角度について繰り返される(例えば、反復間でX-Yを再び位置合わせする)。これは、指令位置対位置合わせデバイス測定位置のプロットを提供する。いくつかの実施形態では、データがフィッティングされ、線形勾配を見つけるために回帰が実行される。
[0070] 位置合わせデバイス380によって決定される中点基準(例えば、座標データ点)とロボット310によって決定される中点(例えば、座標データ点)との間の差は、相対差である(例えば、ブレードセットゼロ、ピンについての走査された中点間の差は、示された軸についてのゼロオフセットである)。位置合わせデバイス380のエラー値を先に決定する(例えば、較正する)ことに応じて、相対差は、ロボット310のエラー値である(例えば、ロボット310を較正するために使用される)。ロボット310のエラー値を先に決定する(例えば、較正する)ことに応じて、相対差は、位置合わせデバイス380のエラー値である(例えば、位置合わせデバイス380を較正するために使用される)。
[0071] 図3Cはロボット310及び位置合わせデバイス380を指すが、ロボット310及びLCFデバイス等の他の構成要素を使用することもできるだろう。
[0072] 特定の実施形態による、ピン468(例えば、固定位置)を検出するエンドエフェクタ108の上面図を示す図4を参照する。ピン468の既知の直径に基づいて、ピン468の中心470の位置が決定される。エンドエフェクタ108がピン468に近づくと、ピン468の周囲が光伝送経路364を破壊する。このとき、関節240、242、244の角度は、コントローラ228によって記録される。このプロセスは、破線のエンドエフェクタ108によって示されるように、異なるロボット姿勢を用いて複数回繰り返される。
[0073] いくつかの実施形態では、コントローラは、ピン468がエンドエフェクタ108の第1の端部358Aと第2の端部358Bとの間の中央に位置することをチェックする。いくつかの実施形態では、センタリングは、エンドエフェクタ108がピン468の接線に平行にわずかに移動する際に、単一の関節(例えば、分離した関節、第3の関節244)を介して、エンドエフェクタ108を前後に回転させることによって達成される。また、エンドエフェクタ108又は、ピン468から離れるように、またピン468に向かって移動する。ピン468までの最短の測定距離は、エンドエフェクタ108の第1の端部358Aと第2の端部358Bとの間の中間点を構成する。この位置はまた、第1の端部358Aと第2の端部358Bとの間の間隙360の中間点でもある。
[0074] 関節エラーを考慮するために関節エラーを測定するプロセスは、エンドエフェクタ108をピン468などの既知の及び/又は固定された位置に移動させることから始まる。次いで、エンドエフェクタ108は、ロボット106の異なる姿勢を使用して、いくつかの異なる点からピン468の位置を測定する。いくつかの実施形態では、ピン468上の同じ位置は、異なる姿勢を使用して測定される。
[0075] ここで、特定の実施形態による、ピン468を検出するいくつかの位置にビームセンサを備えたエンドエフェクタ108の平面図を示す、図5を更に参照する。いくつかの実施形態では、エンドエフェクタ108は、エンドエフェクタ108がピン468の周りをヨー方向574に移動する際に、ピン468の位置を測定するために使用される。
[0076] 理想的な条件下では、関節又は他のエラーが全くない状態で、ロボット106は、ロボット(例えば、図1のロボット106、図1のロボット118、図2のロボット210、図3のロボット310)の姿勢にかかわらず、ピン468の同じ中心位置470を測定しなければならない。
[0077] 図6を更に参照するが、図6は、特定の実施形態による、ロボット(例えば、図1のロボット106、図1のロボット118、図2のロボット210、図3のロボット310など)が固定位置(例えば、図4-5のピン468)を測定した場合の例示的な座標データ点を示すグラフである。図6において、ピン468の実際の位置は座標データ点(0.0,0.0)にある。図6に示すように、ロボットは、ピン468の実際の位置を位置決めすることはまれである。自動教示プロセスが、図6に示された測定値又は類似の測定値に依存する場合、ロボットは、エンドエフェクタ108を正確に位置決めすることはないだろう。
[0078] 自動教示、較正、診断などを改善するために、関節エラーを因数分解した。既知の基準(例えば、ピン468)の座標データ点は、処理デバイス、コントローラ、又は他のデバイスによって記録される。いくつかの実施形態では、較正ステップ(較正動作、セットゼロ調整)の間に取られた事前に較正されたデータから導出された値に基づいて、座標データ点に線形フィットが行われる。線形フィットの例を図6に線で示す。いくつかの実施形態では、測定値が中心470を示した平均、モード、及び標準偏差のうちの少なくとも1つが決定される。平均、モード、及び標準偏差のうちの少なくとも1つに基づく極値及び統計的外れ値を構成する座標は破棄される。統計的外れ値の例を図6に示す。次いで、残りの座標データ点は、破棄された外れ値なしに第2の線形フィットを適用することによって再平均化される。次いで、第2の線形フィットのデータを使用して、自動教示手順中に、より正確な位置決めを行う。いくつかの実施形態では、基板105は、エンドエフェクタ108上に配置され、上述のプロセスは、既知の及び/又は固定された位置の周りを移動する基板のエッジに基づいて実行される。
[0079] 図7は、特定の実施形態による、例示的なシステム700(例示的なシステムアーキテクチャ)を示すブロック図である。システム700は、クライアントデバイス720と、製造設備724(例えば、図1の処理システム100)と、センサ726と、計測機器728と、予測サーバ712と、データストア740とを含む。予測サーバ712は、予測システム710の一部である。予測システム710は、サーバマシン770及び780を更に含む。
[0080] センサ726は、製造設備724(例えば、移動ロボットに関連する)に関連するセンサデータ742(例えば、固定位置を特定する座標データ点、固定位置の画像など)を提供する。センサデータ742は、補正措置(例えば、較正、自動教示、診断など)を実行するためのエラー値を決定するために使用される。製造設備724は、レシピに従って製品を製造するために、又はある期間にわたってランを実行するために使用される。いくつかの実施形態では、センサデータ742は、製品の製造の前又は後に受信される。いくつかの実施形態では、センサデータ742の少なくとも一部は、異なるセンサ726からある期間にわたって(例えば、レシピ又はランの少なくとも一部に対応する)受信される。
[0081] センサ726は、製造設備724及び1つ又は複数の固定位置に対してセンサデータ742を提供する。いくつかの実施形態では、センサ726は、ロボットに対する固定位置を決定するために使用されるロボットの光源及び受光器を含む(例えば、ロボットのエンドエフェクタ内に)。いくつかの実施形態では、センサ726は、ロボットに対する固定位置を決定するように構成された撮像デバイスを含む。いくつかの例では、撮像デバイスは、ロボットに取り付けられる(例えば、リスト部材に取り付けられる)か、又はロボット上に配置される(例えば、撮像基板、ウエハ上の撮像デバイスなど)。相対的なセンサ726(The sensors 726 relative)。
[0082] いくつかの実施形態では、センサデータ742(例えば、履歴センサデータ746、現在のセンサデータ752など)は、処理される(例えば、クライアントデバイス720及び/又は予測サーバ712によって)。センサデータ742の処理は、外れ値を除去すること、センサデータ742をフィッティングすること、回帰を実行すること、線形勾配を見つけることなどのうちの1つ又は複数を含む。
[0083] エラー値760は、製造設備724の1つ又は複数の構成要素に関連するデータを含む。いくつかの例では、エラー値760は、関節の回転エラー、ロボットのリンクの長さエラー、及び/又は同様のものを含む。いくつかの実施形態では、エラー値760は、管理された機械学習のために使用される。
[0084] エラー値760は、製造設備の構成要素(例えば、同じタイプ、同じ部品番号)の変動の表示を含む。いくつかの実施形態では、構成要素の変動を決定することは、製品間の均一性のためのチャンバマッチングのために使用される。いくつかの例では、ロボットの関節の回転エラーは、内容物、ロボット、及び/又は処理システムに損傷を引き起こす内容物の誤配置を引き起こす。いくつかの例では、エラー値760は、製品間の変動に寄与する。エラー値760に基づいて是正処置を行うことにより、製品の品質が改善され、製造設備724への損傷が低減され、処理システムへの損傷が低減されるなどである。
[0085] いくつかの実施形態では、予測システム710は、管理された機械学習(例えば、管理されたデータセット、測定されたデータを含むエラー値760など)を使用して、予測データ768を生成する。いくつかの実施形態では、予測システム710は、半管理学習(例えば、半管理データセット、エラー値760は、予測パーセンテージであるなど)を使用して予測データ768を生成する。いくつかの実施形態では、予測システム710は、管理されない機械学習(例えば、管理されないデータセット、クラスタリング、エラー値760に基づくクラスタリングなど)を使用して予測データ768を生成する。
[0086] クライアントデバイス720、製造設備724、センサ726、計測機器728、予測サーバ712、データストア740、サーバマシン770、及びサーバマシン780は、予測データ768を生成し、是正処置を実行するために、ネットワーク730を介して互いに接続される。
[0087] いくつかの実施形態では、ネットワーク730は、クライアントデバイス720に予測サーバ712、データストア740、及び他の公的に利用可能なコンピューティングデバイスへのアクセスを提供する公衆ネットワークである。いくつかの実施形態では、ネットワーク730は、製造設備724、センサ726、計測機器728、データストア740、及び他の個人的に利用可能なコンピューティングデバイスへのアクセスをクライアントデバイス720に提供するプライベートネットワークである。ネットワーク730は、1つ又は複数のワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、有線ネットワーク(例えば、イーサネットネットワーク)、無線ネットワーク(例えば、802.11ネットワーク又はWi-Fiネットワーク)、セルラーネットワーク(例えば、ロングタームエボリューション(Long Term Evolution:LTE)ネットワーク)、ルータ、ハブ、スイッチ、サーバコンピュータ、クラウドコンピューティングネットワーク、及び/又はこれらの組み合わせを含む。
[0088] クライアントデバイス720は、パーソナルコンピュータ(PC)、ラップトップ、モバイルフォン、スマートフォン、タブレットコンピュータ、ネットブックコンピュータ、ネットワーク接続テレビ(「スマートTV」)、ネットワーク接続メディアプレーヤ(例えば、ブルーレイプレーヤ)、セットトップボックス、オーバーザトップ(OTT)ストリーミングデバイス、オペレータボックスなどのコンピューティングデバイスを含む。クライアントデバイス720は、是正処置構成要素722を含む。是正処置構成要素722は、製造設備724に関連する指標のユーザ入力を受信する(例えば、クライアントデバイス720を介して表示されるグラフィカルユーザインターフェース(GUI)を介して)。いくつかの実施形態では、是正処置構成要素722は、予測システム710に指標を送信し、予測システム710から出力(例えば、予測データ768)を受信し、出力に基づいて是正処置を決定し、その是正処置を実施させる。いくつかの実施形態では、是正処置構成要素722は、製造設備724に関連するセンサデータ742(例えば、現在のセンサデータ752)を(例えば、データストア740などから)取得し、製造設備724に関連するセンサデータ742(例えば、現在のセンサデータ752)を予測システム710に提供する。いくつかの実施形態では、是正処置構成要素722は、センサデータ742をデータストア740に格納し、予測サーバ712は、センサデータ742をデータストア740から取り出す。いくつかの実施形態では、予測サーバ712は、トレーニングされた機械学習モデル790の出力(例えば、予測データ768)をデータストア740に格納し、クライアントデバイス720は、データストア740から出力を取り出す。いくつかの実施形態では、是正処置構成要素722は、予測システム710から是正処置の指標を受信し、是正処置を実施させる。各クライアントデバイス720は、ユーザが、データ(例えば、製造設備724に関連した指標、製造設備724に関連した是正処置など)を生成、閲覧、又は編集の1つ又は複数を行うことができるようにするオペレーティングシステムを含む。
[0089] いくつかの実施形態では、履歴エラー値762は、履歴センサデータ744の少なくとも一部の中心値のうちの1つ又は複数、履歴センサデータ744の少なくとも一部の標準偏差の収束、LCFデバイスからのLCFセンサデータ、位置合わせセンサデバイスからの位置合わせセンサデータ、1つ又は複数の第三者センサからの第三者センサデータなどを含む。いくつかの実施形態では、予測データ768は、予測エラー値(例えば、予測回転エラー、予測長さエラーなど)に対応する。いくつかの実施形態では、予測データ768は、異常(例えば、異常構成要素、異常製造設備724など)の指標である。いくつかの実施形態では、予測データ768は、製造設備724の構成要素の寿命の終わりの指標である。
[0090] 計測を実行することは、使用される時間、使用される計測機器728、消費されるエネルギー、計測データを送信するために使用される帯域幅、計測データを処理するためのプロセッサオーバーヘッドなどに関して費用がかかる可能性がある。センサデータ742(例えば、座標データ点、画像、現在のセンサデータ752など)を入力し、予測データ768の出力を受信することによって、システム700は、現在のセンサデータ752のための現在のエラー値764を生成するために計測機器728を使用する費用のかかるプロセスを回避する技術的利点を有しうる。
[0091] 欠陥製品をもたらす製造プロセスを実行することは、時間、エネルギー、製品、構成要素、製造設備724、欠陥を特定し、欠陥製品を廃棄するコストなどに費用がかかる可能性がある。センサデータ742(例えば、座標データ点、画像、現在のセンサデータ752など)を入力し、予測データ768の出力を受信し、予測データ768に基づいて是正処置を実行することによって、システム700は、欠陥製品を製造し、特定し、廃棄するコストを回避するという技術的利点を有しうる。
[0092] 製造設備724の構成要素の故障をもたらす製造プロセスを実行することは、ダウンタイム、製品の損傷、設備の損傷、交換構成要素のエクスプレス注文(express ordering)などに費用がかかる可能性がある。センサデータ742(例えば、座標データ点、画像、現在のセンサデータ752など)を入力し、予測データ768の出力を受信し、予測データ768に基づいて是正処置(例えば、構成要素の交換、処理、洗浄などの予測動作メンテナンス)を実行することによって、システム700は、1つ又は複数の予測されない構成要素故障、予定外のダウンタイム、生産性損失、予測されない設備故障、製品スクラップなどのコストを回避するという技術的利点を有しうる。
[0093] 是正処置は、較正、自動教示、診断、計算プロセス制御(CPC)、統計プロセス制御(SPC)(例えば、制御中のプロセスを決定するための電子構成要素上のSPC、構成要素の有用な寿命を予測するためのSPC、3シグマのグラフと比較するためのSPCなど)、高度プロセス制御(APC)、モデルベースのプロセス制御、予防的動作保守、設計最適化、製造パラメータの更新、フィードバック制御、機械学習修正などのうちの1つ又は複数に関連付けられる。
[0094] いくつかの実施形態では、是正処置は、予測データ768が予測される異常(例えば、ロボットの方向付けられた位置とロボットの実際の位置との間の差)を示す場合に、警告(例えば、製造プロセスを停止するか、又は実行しないためのアラーム)を提供することを含む。いくつかの実施形態では、是正処置は、フィードバック制御を提供すること(例えば、予測された異常を示す予測データ768に応じて、ロボット、位置合わせデバイス、及び/又はLCFデバイスの位置を修正すること)を含む。いくつかの実施形態では、是正処置は、機械学習を提供すること(例えば、予測データ768に基づいて1つ又は複数の位置を修正すること)を含む。
[0095] 予測サーバ712、サーバマシン770、及びサーバマシン780は各々、ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、グラフィックス処理ユニット(GPU)、アクセラレータ特定用途向け集積回路(ASIC)(例えば、テンソル処理ユニット(TPU))などの1つ又は複数のコンピューティングデバイスを含む。
[0096] 予測サーバ712は、予測構成要素714を含む。いくつかの実施形態では、予測構成要素714は、現在のセンサデータ752を受信し(例えば、クライアントデバイス720から受信し、データストア740から取り出し)、現在のセンサデータ752に基づいて、製造設備724に関連する是正処置を実行するための出力(例えば、予測データ768)を生成する。いくつかの実施形態では、予測構成要素714は、1つ又は複数のトレーニングされた機械学習モデル790を使用して、現在のセンサデータ752に基づいて是正処置を実行するための出力を決定する。
[0097] いくつかの実施形態では、予測構成要素714は、現在のセンサデータ752を受け取り、トレーニングされた機械学習モデル790への入力として現在のセンサデータ752を提供し、トレーニングされた機械学習モデル790から予測データ768を示す出力を取得する。
[0098] トレーニングされた機械学習モデル790は、履歴センサデータ744及び履歴エラー値760を用いてトレーニングされる。
[0099] データストア740は、メモリ(例えば、ランダムアクセスメモリ)、ドライブ(例えば、ハードドライブ、フラッシュドライブ)、データベースシステム、又はデータを記憶できる別のタイプの構成要素又はデバイスである。データストア740は、複数のコンピューティングデバイス(例えば、複数のサーバコンピュータ)に及ぶ複数の記憶構成要素(例えば、複数のドライブ又は複数のデータベース)を含む。データストア740は、センサデータ742、エラー値760、及び予測データ768を記憶する。センサデータ742は、履歴センサデータ744及び現在のセンサデータ752を含む。エラー値760は、履歴エラー値762及び現在のエラー値764を含む。履歴センサデータ744及び履歴エラー値762は、履歴データ(例えば、機械学習モデル790をトレーニングするための少なくとも一部)である。現在のセンサデータ744は、予測データ768が生成される(例えば、是正処置を実行するために)現在のデータ(例えば、履歴データに続いて、トレーニングされた機械学習モデル790に入力される少なくとも一部)である。いくつかの実施形態では、現在のエラー値764はまた、(例えば、トレーニングされた機械学習モデルを再トレーニングするための)現在のデータである。
[00100] いくつかの実施形態では、予測システム710は、サーバマシン770及びサーバマシン780を更に含む。サーバマシン770は、機械学習モデル790をトレーニングし、検証し、及び/又は試験するためのデータセット(例えば、データ入力のセット及びターゲット出力のセット)を生成できるデータセットジェネレータ772を含む。データセットジェネレータ772のいくつかの動作は、図8及び図10Aに関して以下に詳細に説明される。いくつかの実施形態では、データセットジェネレータ772は、履歴データ(例えば、履歴センサデータ744、履歴エラー値762)を、トレーニングセット(例えば、履歴データの60パーセント)、検証セット(例えば、履歴データの20パーセント)、及び試験セット(例えば、履歴データの20パーセント)に分割する。いくつかの実施形態では、予測システム710は(例えば、予測構成要素714を介して)複数のセットの特徴を生成する。例えば、特徴の第1のセットは、データセット(例えば、トレーニングセット、検証セット、及び試験セット)の各々に対応するいくつかのタイプのセンサデータの第1のセット(例えば、センサの第1のセットから、センサの第1のセットからの値の第1の組み合わせ、センサの第1のセットからの値の第1のパターン)に対応し、特徴の第2のセットは、データセットの各々に対応するいくつかのタイプのセンサデータの第2のセット(例えば、センサの第1のセットとは異なるセンサの第2のセットから、第1の組み合わせとは異なる値の第2の組み合わせ、第1のパターンとは異なる第2のパターン)に対応する。
[00101] サーバマシン780は、トレーニングエンジン782、検証エンジン784、選択エンジン785、及び/又は試験エンジン786を含む。エンジン(例えば、トレーニングエンジン782、検証エンジン784、選択エンジン785、及び試験エンジン786)は、ハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコード、処理デバイスなど)、ソフトウェア(処理デバイス、汎用コンピュータシステム、又は専用マシン上で実行される命令など)、ファームウェア、マイクロコード、又はこれらの組合せを指す。トレーニングエンジン782は、データセットジェネレータ772からのトレーニングセットに関連する特徴の1つ又は複数のセットを使用して、機械学習モデル790をトレーニングできる。いくつかの実施形態では、トレーニングエンジン782は、複数のトレーニングされた機械学習モデル790を生成し、各トレーニングされた機械学習モデル790は、トレーニングセットの特徴(例えば、センサの別個のセットからのセンサデータ)の別個のセットに対応する。例えば、第1のトレーニングされた機械学習モデルは、すべての特徴(例えば、X1-X5)を使用してトレーニングされ、第2のトレーニングされた機械学習モデルは、特徴(例えば、X1、X2、X4)の第1のサブセットを使用してトレーニングされ、第3のトレーニングされた機械学習モデルは、特徴の第1のサブセットと部分的に重複する特徴(例えば、X1、X3、X4、及びX5)の第2のサブセットを使用してトレーニングされる。
[00102] 検証エンジン784は、データセットジェネレータ772からの検証セットの対応する特徴セットを使用して、トレーニングされた機械学習モデル790を検証可能である。例えば、トレーニングセットの特徴の第1のセットを使用してトレーニングされた第1のトレーニングされた機械学習モデル790は、検証セットの特徴の第1のセットを使用して検証される。検証エンジン784は、検証セットの特徴の対応するセットに基づいて、トレーニングされた機械学習モデル790の各々の精度を決定する。検証エンジン784は、閾値精度を満たさない精度を有するトレーニングされた機械学習モデル790を破棄する。いくつかの実施形態では、選択エンジン785は、閾値精度を満たす精度を有する1つ又は複数のトレーニングされた機械学習モデル790を選択可能である。いくつかの実施形態では、選択エンジン785は、トレーニングされた機械学習モデル790の最も高い精度を有するトレーニングされた機械学習モデル790を選択可能である。
[00103] 試験エンジン786は、データセットジェネレータ772からの試験セットの対応する特徴セットを使用して、トレーニングされた機械学習モデル790を試験可能である。例えば、トレーニングセットの特徴の第1のセットを使用してトレーニングされた第1のトレーニングされた機械学習モデル790は、試験セットの特徴の第1のセットを使用して試験される。試験エンジン786は、試験セットに基づいて、トレーニングされたすべての機械学習モデルの中で最も高い精度を有する、トレーニングされた機械学習モデル790を決定する。
[00104] 機械学習モデル790は、データ入力及び対応するターゲット出力(それぞれのトレーニング入力に対する正解)を含むトレーニングセットを使用してトレーニングエンジン782によって生成されるモデルアーチファクトを指す。データ入力をターゲット出力(正解)にマッピングするデータセット内のパターンを見つけることができ、機械学習モデル790には、これらのパターンをキャプチャするマッピングが提供される。機械学習モデル790は、サポートベクトルマシン(SVM)、動径基底関数(RBF)、クラスタリング、管理された機械学習、半管理された機械学習、管理されていない機械学習、k最近傍法アルゴリズム(k-NN)、線形回帰、ランダムフォレスト、ニューラルネットワーク(例えば、人工ニューラルネットワーク)などのうちの1つ又は複数を使用する。
[00105] 予測構成要素714は、現在のセンサデータ752をトレーニングされた機械学習モデル790に提供し、入力上でトレーニングされた機械学習モデル790を実行して、1つ又は複数の出力を取得する。予測構成要素714は、トレーニングされた機械学習モデル790の出力から予測データ768を決定(例えば、抽出)し、予測データ768が現在のセンサデータ752に関連付けられた製造設備724の現在のデータ(例えば、現在のエラー値764)に対応する信頼性のレベルを示す信頼性データを出力から決定(例えば、抽出)しうる。予測構成要素714又は是正処置構成要素722は、信頼性データを使用して、予測データ768に基づいて、製造設備724に関連する是正処置をもたらすかどうかを決定する。
[00106] 一例では、信頼性のレベルは、0と1との間の実数であり、0は、予測データ768が現在のセンサデータ752に関連する現在のエラー値764に対応する信頼性がないことを示し、1は、予測データ768が現在のセンサデータ752に関連する現在のエラー値764に対応する絶対信頼性を示す。いくつかの実施形態では、システム700は、現在のエラー値764を決定するために計測機器728を使用する代わりに、予測データ768を決定するために予測システム710を使用する。いくつかの実施形態では、閾値レベル未満の信頼レベルを示す信頼性データに応じて、システム700は、計測機器728に現在のエラー値764を生成させる。インスタンスの所定の数(例えば、インスタンスのパーセンテージ、インスタンスの頻度、インスタンスの総数など)に対する閾値レベルを下回る信頼性レベルを示す信頼性データに応じて、予測構成要素714は、トレーニングされた機械学習モデル790を再トレーニングさせる(例えば、現在のセンサデータ752及び現在のエラー値764などに基づいて)。
[00107] 限定ではなく、例示の目的で、本開示の態様は、予測データ768(例えば、現在のエラー値764)を決定するために、履歴データ(例えば、履歴センサデータ744、履歴エラー値762)を使用し、1つ又は複数のトレーニングされた機械学習モデル790に現在のデータ(例えば、現在のセンサデータ752)を入力する、1つ又は複数の機械学習モデル790のトレーニングを説明する。他の実施態様では、予測データ768を決定するために(例えば、トレーニングされた機械学習モデルを使用せずに)、ヒューリスティックモデル又はルールベースモデルが使用される。予測構成要素714は、履歴センサデータ744及び履歴エラー値762をモニタする。いくつかの実施形態では、図8のデータ入力810に関して説明される情報のいずれかが、ヒューリスティックモデル又はルールベースモデルにおいてモニタされるか、又は他の方法で使用される。
[00108] いくつかの実施形態では、クライアントデバイス720、予測サーバ712、サーバマシン770、及びサーバマシン780の機能は、より少ない数のマシンによって提供される。例えば、いくつかの実施形態では、サーバマシン770及び780は、単一のマシンに統合され、一方、いくつかの他の実施形態では、サーバマシン770、サーバマシン780、及び予測サーバ712は、単一のマシンに統合される。いくつかの実施形態では、クライアントデバイス720及び予測サーバ712は、単一のマシンに統合される。
[00109] 概して、クライアントデバイス720、予測サーバ712、サーバマシン770、及びサーバマシン780によって実行されるものとして1つの実施形態で説明されている機能はまた、適宜、他の実施形態における予測サーバ712上でも実行されうる。更に、特定の構成要素に帰属する機能は、一緒に動作する異なる構成要素又は複数の構成要素によって実行されうる。例えば、いくつか実施形態では、予測サーバ712は、予測データ768に基づいて、是正処置を決定する。別の例では、クライアントデバイス720は、トレーニングされた機械学習モデルからの出力に基づいて、予測データ768を決定する。
[00110] 加えて、特定の構成要素の機能は、一緒に動作する異なる構成要素又は複数の構成要素によって実行されうる。予測サーバ712、サーバマシン770、又はサーバマシン780のうちの1つ又は複数は、適切なアプリケーションプログラミングインターフェース(API)を通して、他のシステム又はデバイスに提供されるサービスとしてアクセスされる。
[00111] 実施形態において、「ユーザ」は、単一の個人として表される。しかしながら、本開示の他の実施形態は、複数のユーザ及び/又は自動化されたソースによって制御されるエンティティである「ユーザ」を包含する。例えば、管理者のグループとして認証連携された(federated)個々のユーザのセットは、「ユーザ」と見なされる。
[00112] 本開示の実施形態は、製造設備(例えば、半導体製造設備)において是正処置を実行するために予測データ768を生成することに関して説明されるが、実施形態は、概して、構成要素を特徴付け、モニタすることにも適用される。実施形態は、概して、異なるタイプのデータに基づいて特徴付け及びモニタすることに適用される。
[00113] 図8は、特定の実施形態による、機械学習モデル(例えば、図7のモデル790)のデータセットを作成するための例示的なデータセットジェネレータ872(例えば、図7のデータセットジェネレータ772)である。各データセットジェネレータ872は、図7のサーバマシン770の一部である。
[00114] データセットジェネレータ872は、履歴センサデータ844(例えば、図7の履歴センサデータ744)及び履歴エラー値862(例えば、図7の履歴エラー値762)を使用してデータセットを作成する。図8のシステム800は、データセットジェネレータ872、データ入力810、及びターゲット出力820を示す。
[00115] いくつかの実施形態では、データセットジェネレータ872は、1つ又は複数のデータ入力810(例えば、トレーニング入力、検証入力、試験入力)と、データ入力810に対応する1つ又は複数のターゲット出力820とを含むデータセット(例えば、トレーニングセット、検証セット、試験セット)を生成する。データセットはまた、データ入力810をターゲット出力820にマッピングするマッピングデータを含む。データ入力810はまた、「特徴」、「属性」、又は「情報」とも呼ばれる。いくつかの実施形態では、データセットジェネレータ872は、データセットをトレーニングエンジン782、検証エンジン784、又は試験エンジン786に提供し、データセットは、機械学習モデル790をトレーニング、検証、又は試験するために使用される。トレーニングセットを生成するいくつかの実施形態は、図10Aに関して更に説明される。
[00116] いくつかの実施形態では、データセットジェネレータ872は、データ入力810及びターゲット出力820を生成する。いくつかの実施形態では、データ入力810は、履歴センサデータ844の1つ又は複数のセットを含む。履歴センサデータ844の各インスタンスは、1つ又は複数のタイプのセンサからのセンサデータのうちの1つ又は複数、1つ又は複数のタイプのセンサからのセンサデータの組合せ、1つ又は複数のタイプのセンサからのセンサデータからのパターンなどを含む。
[00117] いくつかの実施形態において、データセットジェネレータ872は、第1の機械学習モデルをトレーニングし、検証し、又は試験するために履歴センサデータ844Aの第1セットに対応する第1のデータ入力を生成し、データセットジェネレータ872は、第2の機械学習モデルをトレーニングし、検証し、又は試験するために履歴センサデータ844Bの第2セットに対応する第2のデータ入力を生成する。
[00118] いくつかの実施形態では、データセットジェネレータ872は、データ入力810又はターゲット出力820のうちの1つ又は複数を(例えば、回帰問題のための分類アルゴリズムで使用するために)離散化する(例えば、セグメントなど)。データ入力810又はターゲット出力820の離散化(例えば、スライディングウインドウを介したセグメント化)は、変数の連続値を離散値に変換する。いくつかの実施形態では、データ入力810に対する離散値は、ターゲット出力820(例えば、離散エラー値862)を取得するための離散履歴センサデータ844を示す。
[00119] 機械学習モデルをトレーニング、検証、又は試験するためのデータ入力810及びターゲット出力820は、特定の施設(例えば、特定の半導体製造施設)に関する情報を含む。例えば、履歴センサデータ844は、同じ製造施設のためのものである。別の例では、履歴センサデータ844及び履歴エラー値862は、同じ製造施設のためのものである。
[00120] いくつかの実施形態では、機械学習モデルをトレーニングするために使用される情報は、特定の特性を有する製造施設の特定のタイプの製造設備724からのものであり、トレーニングされた機械学習モデルが、特定のグループの特性を共有する1つ又は複数の構成要素に関連する現在のセンサデータ(例えば、現在のセンサデータ752)の入力に基づいて、製造設備724の特定のグループの結果を決定できるようにする。いくつかの実施形態では、機械学習モデルをトレーニングするために使用される情報は、2つ以上の製造施設からの構成要素に関するものであり、トレーニングされた機械学習モデルが、1つの製造施設からの入力に基づいて構成要素に関する結果を決定できるようにする。
[00121] いくつかの実施形態では、データセットを生成し、データセットを使用して機械学習モデル790をトレーニングし、検証し、又は試験した後に、機械学習モデル790は更にトレーニングされ、検証され、又は試験される(例えば、図7の現在のエラー値764)か、又は調整される(例えば、ニューラルネットワークにおける接続重みなど、機械学習モデル790の入力データに関連する重みを調整する)。
[00122] 図9は、ある実施形態による、予測データ968(例えば、図7の予測データ768)を生成するためのシステム900を示すブロック図である。システム900は、予測データ968に基づいて製造設備724に関連する是正処置を決定するために使用される。
[00123] ブロック910において、システム900(例えば、図7の予測システム710)は、履歴データ(例えば、履歴センサデータ944、履歴エラー値962)のデータ分割を(例えば、図7のサーバマシン770のデータセットジェネレータ772を介して)実行して、トレーニングセット902、検証セット904、及び試験セット906を生成する。いくつかの例では、トレーニングセットは履歴データの60%であり、検証セットは履歴データの20%であり、試験セットは履歴データの20%である。システム900は、トレーニングセット、検証セット、及び試験セットのそれぞれについて複数の特徴セットを生成する。例えば、履歴データが、20のセンサ(例えば、図7のセンサ726)及び100の構成要素(例えば、それぞれが20のセンサからのセンサデータに対応する構成要素)から導出された特徴を含む場合、特徴の第1のセットは、センサ1-10であり、特徴の第2のセットは、センサ11-20であり、トレーニングセットは、構成要素1-60であり、検証セットは、構成要素61-80であり、試験セットは、構成要素81-100である。この例では、トレーニングセットの特徴の第1のセットは、構成要素1-60についてのセンサ1-10からのセンサデータであろう。
[00124] ブロック912において、システム900は、トレーニングセット902を使用して、モデルトレーニングを実行する(例えば、図7のトレーニングエンジン782を介して)。システム900は、トレーニングセット902の特徴の複数のセット(例えば、トレーニングセット902の特徴の第1のセット、トレーニングセット902の特徴の第2のセットなど)を使用して複数のモデルをトレーニングする。例えば、システム900は、機械学習モデルをトレーニングし、トレーニングセット内の特徴の第1のセット(例えば、構成要素1-60についてのセンサ1-10からのセンサデータ)を使用して第1のトレーニングされた機械学習モデルを生成し、トレーニングセット内の特徴の第2のセット(例えば、構成要素1-60についてのセンサ11-20からのセンサデータ)を使用して第2のトレーニングされた機械学習モデルを生成する。いくつかの実施形態では、第1のトレーニングされた機械学習モデルと第2のトレーニングされた機械学習モデルとを組み合わせて、第3のトレーニングされた機械学習モデル(例えば、それ自体で第1のトレーニングされた機械学習モデル又は第2のトレーニングされた機械学習モデルよりも良好な予測器である)を生成する。いくつかの実施形態では、モデルを比較する際に使用される特徴のセットは、重複する(例えば、特徴の第1のセットは、センサ1-15からのセンサデータであり、特徴の第2のセットは、センサ5-20である)。いくつかの実施形態では、特徴の様々な置換及びモデルの組み合わせを有するモデルを含む数百のモデルが生成される。
[00125] ブロック914において、システム900は、検証セット904を使用して(例えば、図7の検証エンジン784を介して)モデル検証を実行する。システム900は、検証セット904の対応する特徴のセットを使用して、トレーニングされたモデルのそれぞれを検証する。例えば、システム900は、検証セット内の特徴の第1のセット(例えば、構成要素61-80についてのセンサ1-10からのセンサデータ)を使用して、第1のトレーニングされた機械学習モデルを検証し、検証セット内の特徴の第2のセット(例えば、構成要素61-80についてのセンサ11-20からのセンサデータ)を使用して、第2のトレーニングされた機械学習モデルを検証する。いくつかの実施態様において、システム900は、ブロック912で生成された数百のモデル(例えば、特徴の様々な順列を有するモデル、モデルの組み合わせ等)を検証する。ブロック914において、システム900は、1つ又は複数のトレーニングされたモデルの各々の精度を(例えば、モデル検証を介して)決定し、トレーニングされたモデルのうちの1つ又は複数が閾値精度を満たす精度を有するかどうかを決定する。トレーニングされたモデルのいずれも閾値精度を満たす精度を有していないとの決定に応じて、フローはブロック912に戻り、システム900は、トレーニングセットの特徴の異なるセットを使用してモデルトレーニングを実行する。トレーニングされたモデルのうちの1つ又は複数が閾値精度を満たす精度を有しているとの決定に応じて、フローはブロック916へと続く。システム900は、(例えば、検証セットに基づいて)閾値精度未満の精度を有するトレーニングされた機械学習モデルを破棄する。
[00126] ブロック916において、システム900は、(例えば、図7の選択エンジン785を介して)モデル選択を行い、閾値精度を満たす1つ又は複数のトレーニングされたモデルのうちのいずれが最も高い精度を有しているかを決定する(例えば、ブロック914の検証に基づいて、選択されたモデル908)。閾値精度を満たすトレーニングされたモデルのうちの2つ以上が同じ精度を有するとの決定に応じて、フローは、ブロック912に戻り、ここで、システム900は、最高精度を有するトレーニングされたモデルを決定するために、特徴の更に洗練されたセットに対応する更に洗練されたトレーニングセットを使用して、モデルトレーニングを実行する。
[00127] ブロック918において、システム900は、選択されたモデル908を試験するために試験セット906を使用して、モデル試験を実行する(例えば、図7の試験エンジン786を介して)。システム900は、第1のトレーニングされた機械学習モデルが閾値精度を満たすことを特定(例えば、試験セット906の特徴の第1のセットに基づいて)するために、試験セット内の特徴の第1のセット(例えば、構成要素81-100についてのセンサ7-10からのセンサデータ)を使用して、第1のトレーニングされた機械学習モデルを試験する。閾値精度を満たさない選択されたモデル908の精度(例えば、選択されたモデル908は、トレーニングセット902及び/又は検証セット904に過度に適合し、試験セット906などの他のデータセットには適用できない)に応じて、フローは、ブロック912へと続き、システム900は、特徴の異なるセット(例えば、異なるセンサからのセンサデータ)に対応する異なるトレーニングセットを使用して、モデルトレーニング(例えば、再トレーニング)を実行する。選択されたモデル908が、試験セット906に基づく閾値精度を満たす精度を有するとの決定に応じて、フローはブロック920に続く。少なくともブロック912において、モデルは、予測を行うために履歴データ内のパターンを学習し、ブロック918において、システム900は、予測を試験するために残りのデータ(例えば、試験セット906)にモデルを適用する。
[00128] ブロック920において、システム900は、トレーニングされたモデル(例えば、選択されたモデル908)を使用して、現在のセンサデータ952(例えば、図7の現在のセンサデータ752)を受信し、トレーニングされたモデルの出力から、予測データ968(例えば、図7の予測データ768)を決定(例えば、抽出)して、製造設備724に関連する是正措置を実行する。いくつかの実施形態では、現在のセンサデータ952は、履歴センサデータ944内の同じ種類の特徴に対応する。いくつかの実施形態では、現在のセンサデータ952は、選択されたモデル908をトレーニングするために使用される履歴センサデータ944内の特徴のタイプのサブセットと同じタイプの特徴に対応する。
[00129] いくつかの実施形態では、現在のデータが受信される。現在のデータは、現在のエラー値964(例えば、図7の現在のエラー値764)を含む。現在のデータは、計測機器(例えば、図7の計測機器728)、LCFデバイス、位置合わせデバイス、第三者センサデータから、及び/又はユーザ入力を介して、受信される。モデル908は、現在のデータに基づいて再トレーニングされる。いくつかの実施形態では、新しいモデルは、現在のデータ及び現在のセンサデータ952に基づいてトレーニングされる。
[00130] いくつかの実施形態では、動作910-920のうちの1つ又は複数は、様々な順序で、及び/又は本明細書で提示及び説明されていない他の動作を用いて、行われる。いくつかの実施形態では、動作910-920のうちの1つ又は複数は実行されない。例えば、いくつかの実施形態では、ブロック910のデータ分割、ブロック914のモデル検証、ブロック916のモデル選択、又はブロック918のモデル試験のうちの1つ又は複数は、実行されない。
[00131] 図10A-Dは、特定の実施形態による、是正処置をもたらすためのエラー値の決定に関連する方法1000A-Dのフロー図である。方法1000A-Dは、ハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコード、処理デバイスなど)、ソフトウェア(処理デバイス、汎用コンピュータシステム、又は専用マシン上で実行される命令など)、ファームウェア、マイクロコード、又はこれらの組合せを含む処理ロジックによって実行される。いくつかの実施形態では、方法1000A-Dは、部分的に、予測システム710によって実行される。方法1000Aは、部分的に、予測システム710(例えば、図7のサーバマシン770及びデータセットジェネレータ772、図8のデータセットジェネレータ872)によって実行される。予測システム710は、本開示の実施形態に従って、方法1000Aを使用して、機械学習モデルをトレーニング、検証、又は試験することのうちの少なくとも1つに対するデータセットを生成する。方法1000Bは、予測サーバ712(例えば、予測構成要素714)によって実行される。方法1000C-Dは、サーバマシン780(例えば、トレーニングエンジン782など)によって実行される。いくつかの実施形態では、非一時的な記憶媒体は、(例えば、予測システム710、サーバマシン780、予測サーバ712などの)処理デバイスによって実行されると、処理デバイスに方法1000A-Dの1つ又は複数を実行させる命令を記憶する。
[00132] 説明を簡単にするために、方法1000A-Dは、一連の動作として示され、説明される。しかし、本開示による動作は、様々な順序で、及び/又は同時に、並びに本明細書で提示及び説明されない他の動作と共に行うことができる。更に、開示された主題に従って方法1000A-Dを実施するために、図示されたすべての動作が実行されるわけではない。更に、当業者は、方法1000A-Dが、代替的に、状態図又は事象を介して、相互に関連する一連の状態として表現されうることを理解し、認識するだろう。
[00133] 図10Aは、特定の実施形態による、予測データ(例えば、図7の予測データ768)を生成するための機械学習モデルのためのデータセットを生成する方法1000Aのフロー図である。
[00134] 図10Aを参照すると、いくつかの実施形態では、ブロック1001において、方法1000Aを実施する処理ロジックは、トレーニングセットTを空のセットに初期化する。
[00135] ブロック1002において、処理ロジックは、センサデータ(例えば、図7の履歴センサデータ744、図8の履歴センサデータ844、図9の履歴センサデータ944)を含む第1のデータ入力(例えば、第1のトレーニング入力、第1の検証入力)を生成する。いくつかの実施形態では、第1のデータ入力は、センサデータのタイプについての特徴の第1のセットを含み、第2のデータ入力は、センサデータのタイプについての特徴の第2のセットを含む(例えば、図8に関して説明されるように)。
[00136] ブロック1003において、処理ロジックは、データ入力のうちの1つ又は複数(例えば、第1のデータ入力)のための第1のターゲット出力を生成する。いくつかの実施形態では、第1のターゲット出力は、履歴エラー値762である。
[00137] ブロック1004において、処理ロジックは、オプションで、入出力マッピングを示すマッピングデータを生成する。入出力マッピング(又はマッピングデータ)は、データ入力(例えば、本明細書で説明されるデータ入力のうちの1つ又は複数)、データ入力のためのターゲット出力(例えば、ターゲット出力が履歴エラー値762を特定する場合)、及びデータ入力とターゲット出力との間の関連付けを指す。
[00138] ブロック1005で、処理ロジックは、ブロック1004で生成されたマッピングデータをデータセットTに追加する。
[00139] ブロック1006において、処理ロジックは、データセットTが、機械学習モデル790のトレーニング、検証、及び/又は試験のうちの少なくとも1つに十分であるかどうかに基づいて分岐する。もしそうであれば、実行はブロック1007に進み、そうでなければ、実行はブロック1002に戻る。いくつかの実施形態では、データセットTの十分性は、単にデータセット内の入出力マッピングの数に基づいて決定され、一方、いくつかの他の実施態様では、データセットTの十分性は、入出力マッピングの数に加えて、又はその代わりに、1つ又は複数の他の基準(例えば、データ例の多様性、精度などの尺度)に基づいて決定されることに留意されたい。
[00140] ブロック1007において、処理ロジックは、機械学習モデル790をトレーニングし、検証し、及び/又は試験するために、データセットTを(例えば、サーバマシン780に)提供する。いくつかの実施形態では、データセットTはトレーニングセットであり、トレーニングを実行するためにサーバマシン780のトレーニングエンジン782に提供される。いくつかの実施形態では、データセットTは検証セットであり、検証を実行するためにサーバマシン780の検証エンジン784に提供される。いくつかの実施形態では、データセットTは、試験セットであり、試験を実行するためにサーバマシン780の試験エンジン786に提供される。ニューラルネットワークの場合、例えば、所与の入出力マッピングの入力値(例えば、データ入力810に関連する数値)がニューラルネットワークに入力され、入出力マッピングの出力値(例えば、ターゲット出力820に関連する数値)がニューラルネットワークの出力ノードに格納される。次いで、ニューラルネットワーク内の接続重量は、学習アルゴリズム(例えば、逆方向伝播など)に従って調整され、この手順は、データセットT内の他の入出力マッピングについて繰り返される。ブロック1007の後に、機械学習モデル(例えば、機械学習モデル790)には、サーバマシン780のトレーニングエンジン782を使用してトレーニングされる、サーバマシン780の検証エンジン784を使用して検証される、又はサーバマシン780の試験エンジン786を使用して試験される、のうちの少なくとも1つが行われうる。トレーニングされた機械学習モデルは、(予測サーバ712の)予測構成要素714によって実施され、製造設備724に関連する是正処置を実行するための予測データ768を生成する。
[00141] 図10Bは、是正処置を実行するためにエラー値を決定する方法1000Bである。
[00142] 方法1000Bのブロック1010において、処理ロジックは、ロボットを固定位置に対していくつかの姿勢で位置決めする。いくつかの実施形態では、処理ロジックは、ロボットの1つ又は複数の部分の動きを分離すること(例えば、リスト部材で関節のみを動かすことなど)によって、ロボットを異なる姿勢で位置決めする。
[00143] いくつかの実施形態では、負荷ポートの選択のユーザ入力の受信に応じて、処理ロジックは、ロボットを基板キャリア(例えば、FOUP、自動教示エンクロージャシステム)内に伸長させ、処理ロジックは、ロボットに基板キャリア内のピンを走査させ、処理ロジックは、試験取得動作及び試験投入動作に、正しく教示されたステーション(例えば、姿勢、位置)を検証させる。
[00144] いくつかの実施形態では、SSPの選択のユーザ入力の受信に応じて、処理ロジックは、ロボットをSSP内に伸長させ、処理ロジックは、ロボットにSSP内のピン(例えば、永久ピン)を走査させ、処理ロジックが、試験取得動作及び試験投入動作に正しく教示されたステーション(例えば、姿勢、位置)を検証させる。
[00145] いくつかの実施形態では、ロードロックの選択のユーザ入力の受信に応じて、処理ロジックは、ロボットをロードロック本体の前の位置まで延ばし、処理ロジックは、ロボットにロードロック本体上の1つ又は複数の永久オフセットピンを走査させ、処理ロジックは、試験取得動作及び試験投入動作に、正しく教示されたステーション(例えば、姿勢、位置)を検証させる。
[00146] いくつかの実施形態では、処理ロジックは、ロボットにピンの円筒部分を走査させる。いくつかの実施形態では、処理ロジックは、以下を含む4つの位置を決定する。1)ピンから離れたところからピンの第1の周縁に進み、2)ピンの上からピンの第2の周縁から離れたところまで進み、3)ピンから離れたところからピンの第2の周縁まで進み、4)ピンの上からピンの第1の周縁から離れたところまで進む。
[00147] いくつかの実施形態では、処理ロジックは、ロボットに、ピンのベースを異なる角度から走査させる。いくつかの実施形態では、較正用に提供するために、ピンの少なくとも一部は、中央ピン(例えば、ピンの円筒状部分)を中心として歪み又は非対称を有する形状(例えば、台形)を有する。ピンの第1の部分(例えば、ピンの円筒部分)の対称性は、較正のために、ピンの第2の部分(例えば、ピンの台形部分)の非対称性と比較される。ロボットアームは、比較のために、ピンの第1の部分(例えば、円筒形)及び第2の部分(例えば、台形)を走査するために、z方向への移動(例えば、上又は下への移動)を実行する。ロボットアームは、比較のために、第1の角度から及び第2の角度から第2の部分(例えば、台形)を測定するために、単一の関節の周りで回転運動を実行する。移動を実行するロボットアームにより、ロボットが関節姿勢を完全に変更して別の物体を走査することなく、同じ近似領域に対する関節角度の比較をできるようにする。いくつかの実施形態では、角度検出のために、走査の角度による分離を増加又は減少させるだろう一組のオフセット特徴(例えば、台形部分の側面又は端面)が使用される。
[00148] いくつかの実施形態では、処理ロジックは、ロボットに較正基板に取り付けられたピンを走査させ、較正基板を第2の位置に運び、較正基板に取り付けられたピンを再び走査させる。
[00149] いくつかの実施形態では、処理ロジックは、ロボットに、位置合わせデバイス又はLCFデバイス上に較正ウエハ(例えば、ノッチ及びピンを有する)を配置させる。処理ロジックによって、位置合わせデバイス又はLCFデバイスは、ノッチを用いて較正ウエハを位置合わせし、次いで、処理ロジックによって、ロボットは、較正ウエハのピンを1つ又は複数の姿勢から走査する。
[00150] ブロック1012において、処理ロジックは、いくつかの姿勢のロボットに対する固定位置を特定するセンサデータを生成する。いくつかの実施形態では、センサデータは座標データ点を含む。いくつかの実施形態では、処理ロジックは、外れ値を除去すること、座標データ点をフィッティングすること、座標データ点に対して回帰を実行することなどのうちの1つ又は複数によって、座標データ点を処理する。
[00151] いくつかの実施形態では、センサデータは画像を含む。いくつかの実施形態では、処理ロジックは、画像内のエッジを特定すること、画像内のノイズをクリーンアップすること、画像内の1つ又は複数の物体を特定すること、1つ又は複数のフィルタを通して画像を実行すること、画像内の物体の示唆される位置(implied position)及び実際の位置を収束させることなどのうちの1つ又は複数によって、画像を処理する。
[00152] ブロック1014において、処理ロジックは、センサデータに基づいて、基板処理システムの構成要素に対応するエラー値を決定する。
[00153] いくつかの実施形態では、基板処理システムの1つ又は複数の構成要素を表す1つ又は複数の式が決定される。いくつかの例では、式は、ロボットのリンクの各リンク長及びロボットの関節の各関節エラーを表す。センサデータが式に入力され、エラー値を決定する。
[00154] いくつかの実施形態では、図10Bのブロック1014は、方法1000Cのブロック1020-1024のうちの1つ又は複数を含み、センサデータがトレーニングされた機械学習モデルに入力され、エラー値を決定する。
[00155] いくつかの実施形態では、エラー値は、ロボットのブレードのウエハ中心に対するファイバビームオフセット、ロボットの各関節当たりのモータ若しくはギア伝達エラー、ロボットの楕円関節エラー、ロボットのリンクゼロ調整オフセット、構成要素(例えば、ロボットの関節、位置合わせデバイス、LCFデバイス)の方向付けられた角度と実際の角度との差、構成要素(例えば、ロボットのリンクなど)の長さと実際の長さとの差、及び/又は同じようなものの1つ又は複数を含む。
[00156] ブロック1016において、処理ロジックは、エラー値に基づいて、構成要素に関連する是正処置の実行をもたらす。いくつかの実施形態では、矯正動作の実行は、エラー値に基づいて構成要素(例えば、ロボット、位置合わせデバイス、LCFデバイス)の移動をもたらすこと、ユーザに警告を与えること、製造設備の機能性を中断すること、製造パラメータを更新すること、製造機器の構成要素の交換を計画すること、エネルギー使用を低減するために1つ又は複数の構成要素を交換すること、予防保守をもたらすこと、構成要素の修正をもたらすこと(例えば、装着ねじの締め付け、ビンディングの交換など)などのうちの1つ又は複数を含む。
[00157] いくつかの実施形態では、是正処置の実行は、エラー値に基づいて自動教示動作を実行することを含む。教示とは、ロボットアームに、処理システム(例えば、基板キャリア、ロードロック、位置合わせデバイス、LCFデバイスなど)の位置(例えば、基準点)を教示することを指す。いくつかの例では、基準点は、エンクロージャシステムの中心である。
[00158] いくつかの実施形態では、是正処置の性能は、エラー値に基づいて較正動作を実行することを含む。較正とは、ロボットのエラーのような、処理システムの構成要素の移動におけるエラー(例えば、関節の運動学的エラー、関節のヒステリシス、関節の反発)を決定すること、及び決定されたエラーを補償するために構成要素の設定を調整することを指す。
[00159] いくつかの実施形態では、ロボットは、較正操作を実行するために較正基板を使用する。較正基板が、処理システム内に(例えば、基板キャリアの内部空間内の支持構造上に)配置される。較正基板は、実質的に水平であり、較正基板の上面に固定される較正ピンを含む。ロボットアームは、較正ピンを走査して、較正基板の(例えば、較正ピンの)第1の位置を決定し、較正基板を支持構造から除去し(例えば、較正基板を基板キャリアから除去し)、較正基板を支持構造上の第1の位置に配置するように方向付けられ、較正ピンを走査して較正基板の第2の位置を決定し、第1の位置と第2の位置との間の差に基づいて、エラー値(例えば、ロボットアームエラー)を決定する。
[00160] いくつかの実施形態では、ロボットは、較正動作を実行するために較正ウエハを使用する。較正ウエハは、実質的に水平であり、ノッチを(例えば、較正ウエハの側壁上に)含み、較正ウエハの上面に固定されるピンを含む。ロボットは、位置合わせデバイスを走査して、位置合わせデバイスの位置(例えば、X-Y位置)を決定し、位置合わせデバイス上に較正ウエハを配置する。位置合わせデバイスは、較正ウエハを回転させて、ロボット上のマッピングファイバをトリガして、第1の位置を決定する。次いで、ロボットは、(例えば、リスト関節角度のような関節角度を介して)回転し、ロボット上のマッピングファイバをトリガして、第2の位置を決定する。第1の位置及び第2の位置は、位置合わせデバイス及び/又はロボットのエラー値(例えば、ヨーエラー値)を決定するために比較される。
[00161] いくつかの実施形態では、是正処置の実行は、エラー値に基づいて診断動作を実行することを含む。いくつかの実施形態では、診断動作は、構成要素が誤動作しているかどうかを判定することを含む。いくつかの実施形態では、処理ロジックは、ドリフトの診断、1つ又は複数の構成要素の減衰、ベルトの緩み、潤滑又は摩耗しないためのプーリ精査(a pulley staring to not be lubed or wearing out)、軸受の摩耗、構成要素の交換を行うべきかどうか、構成要素の保守を行うべきかどうか、構成要素を更に調査するべきかどうか、及び/又は同様のことを決定するために、経時的なエラー値の変化を決定する。
[00162] いくつかの実施形態では、方法1000Bは、処理システムの異なる構成要素のエラー値及び是正処置を決定するために(例えば、エラー値及び是正処置を決定するために、関節などの構成要素を分離することによって)、繰り返される。いくつかの実施形態では、方法1000Bの1回の反復の後に是正処置を実行することに応じて、方法1000Bの第2の反復が実行され(例えば、ロボットの同じ又は異なる姿勢を使用して)、更なる是正処置が必要であるかを決定する。
[00163] 図10Cは、エラー値を決定し、是正処置を実行するためにトレーニングされた機械学習モデルを使用する方法1000Cである。
[00164] ブロック1020では、処理ロジックは、トレーニングされた機械学習モデルへの入力としてセンサデータを提供する。いくつかの実施形態では、センサデータは、処理システムの構成要素(例えば、ロボット、位置合わせデバイス、LCFデバイスなど)に関連付けられたセンサから受信される。いくつかの実施形態では、トレーニングされた機械学習モデルは、図10Dのブロック1040-1042の1つ又は複数の動作によってトレーニングされる。
[00165] ブロック1022において、処理ロジックは、トレーニングされた機械学習モデルから、予測データを示す出力を取得する。予測データは、製造設備の構成要素の移動における予測された異常、製造設備の構成要素における予測された異常、又は予測された構成要素故障などのうちの1つ又は複数を示す。予測データは、製造設備に異常を引き起こしている変動(例えば、製品間の均一性に関するチャンバマッチングから)を示す。例えば、製造設備の異常な特性(例えば、方向付けられた移動と実際の移動との間の差)は、是正処置が実行されることを示す。
[00166] ブロック1024において、処理ロジックは、予測データに基づいて、エラー値を決定する。いくつかの実施形態では、エラー値は、処理システムの構成要素の移動に使用されるオフセットを含む。
[00167] いくつかの実施形態では、エラー値に基づいて実行される予測データ及び/又は是正処置は、(例えば、組合せからの項目のうちの1つだけがそれ自体で異常を引き起こさない場合)異常を引き起こしている組合せ(例えば、構成要素の組合せ、製造パラメータの組合せ)を示している。
[00168] いくつかの実施形態では、現在のセンサデータに対応する現在のエラー値が受信される。トレーニングされた機械学習モデルは、現在のセンサデータと現在のエラー値に基づいて、再トレーニングされる(又は新しいモデルがトレーニングされる)。
[00169] 図10Dは、是正処置を実行するためにエラー値(例えば、図7のエラー値768)を決定するための機械学習モデル(例えば、図7のモデル790B)をトレーニングする方法1000Dである。
[00170] 図10Dを参照すると、ブロック1040において、処理ロジックは、製造設備の構成要素の移動に関連する履歴センサデータ及び履歴エラー値を受信する。いくつかの実施形態では、履歴トレースデータは、1つ又は複数の固定位置に対する構成要素に関連する座標データ点及び/又は画像を含む。いくつかの実施形態では、履歴エラー値は、方向付けられた移動が構成要素の実際の移動に等しくなるように使用されるオフセットを含む。
[00171] ブロック1042では、処理ロジックは、履歴センサデータを含むデータ入力と、履歴エラー値を含むターゲット出力とを用いて機械学習モデルをトレーニングし、トレーニングされた機械学習モデルを生成する。トレーニングされた機械学習モデルは、是正処置を実行するための予測データを示す出力を生成できる(例えば、図10Cのブロック1022-1024を参照)。いくつかの実施形態では、機械学習モデルは、エラー値(例えば、較正された構成要素)及び/又はエラー値を有する構成要素(例えば、較正されていない構成要素)のための履歴センサデータのセットを使用してトレーニングされる。
[00172] 図11は、特定の実施形態によるコンピュータシステム1100を示すブロック図である。いくつかの実施形態では、コンピュータシステム1100は、図1のコントローラ109、図2A-Bのコントローラ228、図7の予測サーバ712、図7のクライアントデバイス720、及び/又は同様のもののうちの1つ又は複数である。いくつかの実施形態では、コンピュータシステム1100は、図11に関連して説明した構成要素及び/又は機能のうちの1つ又は複数を含む。
[00173] いくつかの実施形態では、コンピュータシステム1100は、(例えば、ローカルエリアネットワーク(LAN)、イントラネット、エクストラネット、又はインターネットなどのネットワークを介して)他のコンピュータシステムに接続される。コンピュータシステム1100は、クライアント-サーバ環境におけるサーバ又はクライアントコンピュータの容量において、又はピアツーピア若しくは分散ネットワーク環境におけるピアコンピュータとして動作する。コンピュータシステム1100は、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、パーソナルデジタルアシスタント(PDA)、携帯電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチ又はブリッジ、又はそのデバイスによって実行される動作を指定する一連の命令(順次又は別用に)を実行しうる任意のデバイスによって提供される。更に、「コンピュータ」という用語は、本明細書で説明される方法のうちの任意の1つ又は複数を実行するために、命令のセット(又は複数のセット)を個別に又は共同で実行するコンピュータの任意の集合を含むものとする。
[00174] 更なる態様では、コンピュータシステム1100は、処理デバイス1102、揮発性メモリ1104(例えば、ランダムアクセスメモリ(RAM))、不揮発性メモリ1106(例えば、リードオンリーメモリ(ROM)又は電気的消去可能プログラマブルROM (EEPROM))、及びデータ記憶デバイス1116を含み、これらは、バス1108を介して互いに通信する。
[00175] 処理デバイス1102は、例えば、汎用プロセッサ(例えば、複合命令セット演算(CISC)マイクロプロセッサ、縮小命令セット演算(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、他のタイプの命令セットを実装するマイクロプロセッサ、又はいくつかのタイプの命令セットの組み合わせを実装するマイクロプロセッサ)、又は専用プロセッサ(例えば、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、又はネットワークプロセッサなど)といった、1つ又は複数のプロセッサによって提供される。
[00176] コンピュータシステム1100は、(例えば、ネットワーク1174に接続された)ネットワークインターフェースデバイス1122を更に含む。コンピュータシステム1100はまた、ビデオディスプレイユニット1110(例えば、LCD)、英数字入力デバイス1112(例えば、キーボード)、カーソル制御デバイス1114(例えば、マウス)、及び信号生成デバイス1120を含む。
[00177] いくつかの実施態様では、データ記憶デバイス1116は、図7の構成要素(例えば、是正処置構成要素722、予測構成要素714など)を符号化し本明細書に記載の方法を実装する命令を含めて、本明細書に記載の方法又は機能の任意の1つ又は複数を符号化する命令1126を記憶する、非一時的なコンピュータ可読記憶媒体1124を含む。
[00178] 命令1126はまた、コンピュータシステム1100による実行中に、揮発性メモリ1104内及び/又は処理デバイス1102内に完全に又は部分的に存在し、したがって、揮発性メモリ1104及び処理デバイス1102もまた、機械可読記憶媒体を構成する。
[00179] コンピュータ可読記憶媒体1124は、単一媒体として例示的な実施例に示されているが、「コンピュータ可読記憶媒体」という用語は、実行可能命令の1つ又は複数のセットを記憶する単一媒体又は複数の媒体(例えば、集中型又は分散型データベース、及び/又は関連するキャッシュ及びサーバ)を含むものとする。「コンピュータ可読記憶媒体」という用語はまた、コンピュータに本明細書に記載の方法のうちの任意の1つ又は複数を実行させるコンピュータによる実行のための命令セットを記憶又は符号化できる任意の有形媒体を含むものとする。「コンピュータ可読記憶媒体」という用語は、ソリッドステートメモリ、光学媒体、及び磁気媒体を含むが、これらに限定されない。
[00180] いくつかの実施形態では、本明細書に記載の方法、構成要素、及び特徴は、個別のハードウェア構成要素によって実装されるか、又はASICS、FPGA、DSP、又は類似のデバイスなどの他のハードウェア構成要素の機能性に統合される。更に、方法、構成要素、及び特徴は、ハードウェアデバイス内のファームウェアモジュール又は機能回路によって実装される。更に、方法、構成要素、及び特徴は、ハードウェアデバイスとコンピュータプログラム構成要素との任意の組み合わせで、又はコンピュータプログラムで実装される。
[00181] 特に明記しない限り、「位置決めする」、「生成する」、「決定する」、「引き起こす、もたらす」、「適用する」、「破棄する」、「提供する」、「取得する」、「受信する」、「トレーニングする」などの用語は、コンピュータシステムレジスタ及びメモリ内の物理(電子)量として表されるデータを、コンピュータシステムメモリ又はレジスタ内の物理量として同様に表される他のデータ、又は他のそのような情報記憶、送信、又は表示デバイスに操作及び変換する、コンピュータシステムによって実行又は実装される動作及びプロセスを指す。また、本明細書で使用される「第1の」、「第2の」、「第3の」、「第4の」などの用語は、異なる要素間での区別に対する符号を意味し、それらの数値的な記号表示による順序的な意味はない。
[00182] 本明細書に記載の例はまた、本明細書に記載の方法を実行するための装置に関する。いくつかの実施形態では、この装置は、本明細書に記載の方法を実行するために特別に構築されるか、又はコンピュータシステムに記憶されたコンピュータプログラムによって選択的にプログラムされた汎用コンピュータシステムを含む。このようなコンピュータプログラムは、コンピュータ可読有形記憶媒体に記憶される。
[00183] 本明細書に記載の方法及び例示的な例は、本質的に、任意の特定のコンピュータ又は他の装置に関連するものではない。様々な汎用システムが、本明細書に記載の教示に従って使用されるか、又は、本明細書に記載の方法、及び/又はそれらの個々の機能、ルーチン、サブルーチン、若しくは動作のそれぞれを実行するために、より特殊化された装置を構築することが便利であることが分かる。様々なこれらのシステムのための構造の例は、上記の説明に記載されている。
[00184] 上記の説明は、例示を意図するものであって、限定を意図するものではない。本開示は、特定の例示的な例及び実施態様を参照して説明されてきたが、本開示は、説明された例及び実施態様に限定されないことが認識されよう。本開示の範囲は、特許請求の範囲が権利を有する均等物の全範囲と共に、以下の特許請求の範囲を参照して決定されるべきである。
[00185] 本開示は、広範な有用性及び用途の影響を受けやすいことを容易に理解すべきである。本明細書に記載されたもの以外の本開示の多くの実施形態及び適応、並びに多くの変形例、修正例、及び均等な構成は、本開示の実体又は範囲から逸脱することなく、本開示及びその前述の説明から明らかであり、又はそれらによって合理的に示唆されるだろう。したがって、本開示は、特定の実施形態に関連して本明細書で詳細に説明されてきたが、本開示は、例示的なものにすぎず、本開示の例を提示し、完全かつ可能な開示を提供することのみを目的としてなされたものであると理解すべきである。本開示は、開示された特定の装置、アセンブリ、システム、及び/又は方法に限定されることは意図されておらず、反対に、本発明は、特許請求の範囲内にあるすべての修正例、均等物、及び代替例を包含することが意図されている。