理解を容易にするために、可能な場合は、図に共通する同一の要素を示すために同一の参照番号が使用されている。一実施形態で開示される要素は、特定の記述なしに他の実施形態で有益に利用され得ることが企図される。
製造プロセスは複雑な場合があり、最終構成要素が製造されるまで、様々なプロセスステーション(または「ステーション」)によって処理される原材料が含まれ得る。いくつかの実施形態では、各プロセスステーションは、処理のための入力を受け取り、追加の処理のために後続の(下流)プロセスステーションに渡され得る中間出力を出力し得る。いくつかの実施形態では、最終プロセスステーションは、処理のための入力を受け取り、最終構成要素、またはより一般的には最終出力を出力することができる。
いくつかの実施形態では、各ステーションは、一連のプロセス工程を実行することができる1つまたは複数のツール/機器を含むことができる。例示的なプロセスステーションには、コンベヤベルト、射出成形プレス、切断機、ダイスタンピング機械、押出機、コンピュータ数値制御(CNC)ミル、グラインダ、組立ステーション、3次元プリンタ、品質管理ステーション、検証ステーションなどが含まれ得るが、これらに限定されない。
いくつかの実施形態では、各プロセスステーションの動作は、1つまたは複数のプロセスコントローラによって管理され得る。いくつかの実施形態では、各プロセスステーションは、プロセスステーションの動作を制御するようにプログラムされ得る1つまたは複数のプロセスコントローラを含み得る。いくつかの実施形態では、オペレータまたは制御アルゴリズムは、各制御値について、所望の値または値の範囲を表すことができるステーションコントローラ設定値をステーションコントローラに提供することができる。いくつかの実施形態では、製造プロセスにおけるフィードバックまたはフィードフォワードに使用される値は、制御値と呼ばれることがある。例示的な制御値には、速度、温度、圧力、真空、回転、電流、電圧、電力、粘度、ステーションで使用される材料/資源、スループット率、停止時間、有害ガスなどが含まれ得るが、これらに限定されない。
本明細書で提供される1つまたは複数の技術は、画像および/またはビデオデータを使用して構成要素の最終品質基準を予測または予想することができるシステムを提供することによって、従来のプロセスを改善する。いくつかの実施形態では、システムは、製造システムの各処理ノードまたはステーションのツーリングのビデオおよび/または画像データを捕捉または記録するように構成された監視システムを含み得る。プロセス工程中のツーリングの配置に基づいて、本システムは、構成要素の最終品質基準を予測または予想するように構成することができる。予測された最終品質基準が許容値の範囲外にある場合、本システムは、処理中のエラーを修正しようとして、更新された処理命令を生成し、現在の処理ノードkもしくはステーションkの少なくとも1つに、または処理ノード(k+1)および/もしくはステーション(k+1)に提供することができるため、所望の最終品質基準が達成され得る。
いくつかの実施形態では、システムは、製造システムの各処理ノードまたはステーションで構成要素のビデオおよび/または画像データを捕捉または記録するように構成された監視システムを含み得る。処理ノードの端にある構成要素に関する視覚情報に基づいて、本システムは、構成要素の最終品質基準を予測または予想するように構成され得る。予測された最終品質基準が許容値の範囲外にある場合、本システムは、処理中のエラーを修正しようとして、更新された処理命令を生成し、処理ノードkもしくはステーションkの少なくとも1つに、または処理ノード(k+1)および/もしくはステーション(k+1)に提供することができるため、所望の最終品質基準が達成され得る。
このようにして、本システムは、実際に構成要素をテストする必要なしに、製造プロセスの任意の段階で、構成要素の最終品質基準を予測または予想することができる。このようなシステムは、破壊的なテストが必要な最終品質基準、または処理が完了するまで最終品質基準を評価できない場合に特に役立つ。
図1は、例示的な実施形態による、製造環境100を示すブロック図である。製造環境100は、製造システム102、監視プラットフォーム104、および制御モジュール106を含み得る。製造システム102は、多工程製造システムを広く表すことができる。いくつかの実施形態では、製造システム102は、組立ラインシステムを表すことができ、各処理ステーションは、人間の労働者を表すことができる。いくつかの実施形態では、製造システム102は、積層造形で使用するための製造システム(例えば、3D印刷システム)を表すことができる。いくつかの実施形態では、製造システム102は、減算加工(subtractive manufacturing)(例えば、CNC機械加工)で使用するための製造システムを表すことができる。いくつかの実施形態では、製造システム102は、積層造形と減算加工の組み合わせで使用するための製造システムを表すことができる。より一般的には、いくつかの実施形態では、製造システム102は、一般的な製造プロセスで使用するための製造システムを表すことができる。
製造システム102は、1つまたは複数のステーション1081~108n(一般に、「ステーション108」)を含み得る。各ステーション108は、多工程製造プロセスにおける工程および/またはステーションを表すことができる。例えば、各ステーション108は、3D印刷プロセスにおける層堆積動作を表すことができる(例えば、ステーション1081は、層1に対応し得、ステーション1082は、層2に対応し得る、等々)。別の例では、各ステーション108は、特定の処理ステーションに対応することができる。別の例では、各ステーション108は、組立ライン製造プロセスにおいて特定のタスクを実行する特定の人間のオペレータに対応することができる。
各ステーション108は、プロセスコントローラ114および制御論理116を含み得る。各プロセスコントローラ1141~114nは、各それぞれのステーション108の動作を制御するようにプログラムされ得る。いくつかの実施形態では、制御モジュール106は、各制御値について、所望の値または値の範囲を表すことができるステーションコントローラ設定値を各プロセスコントローラ114に提供することができる。制御論理116は、ステーションの108のプロセス工程に関連する属性/パラメータを指すことができる。動作中、各ステーション108の制御論理116は、最終品質基準の現在の軌道に応じて、制御モジュール106によって製造プロセス全体を通して動的に更新され得る。
監視プラットフォーム104は、製造システム102の各ステーション108を監視するように構成され得る。いくつかの実施形態では、監視プラットフォーム104は、製造システム102の構成要素であり得る。例えば、監視プラットフォーム104は、3D印刷システムの構成要素であり得る。いくつかの実施形態では、監視プラットフォーム104は、製造システム102から独立していてもよい。例えば、監視プラットフォーム104は、既存の製造システム102に組み込むことができる。いくつかの実施形態では、監視プラットフォーム104は、多工程プロセスの各段階で構成要素またはツーリング(例えば、労働者またはプロセスツール)の画像を捕捉するように構成された画像化デバイスを表すことができる。例えば、監視プラットフォーム104は、各ステーション108での構成要素の画像および/または各ステーション108で構成要素を展開している構成要素の画像(例えば、ツーリング、人間など)を捕捉するように構成され得る。一般に、監視プラットフォーム104は、構成要素(例えば、画像、電圧読み取り、速度読み取りなど)および/またはツール(例えば、手の位置、ツーリング位置など)の生成に関連する情報を捕捉し、その情報を入力として、評価のために制御モジュール106に提供するように構成され得る。
制御モジュール106は、1つまたは複数の通信チャネルを介して製造システム102および監視プラットフォーム104と通信することができる。いくつかの実施形態では、1つまたは複数の通信チャネルは、セルラーネットワークまたはWi-Fiネットワークなどのインターネットを介した個々の接続を表すことができる。いくつかの実施形態では、1つまたは複数の通信チャネルは、無線周波数識別(RFID)、近距離無線通信(NFC)、ブルートゥース(商標)、低エネルギーブルートゥース(商標)(BLE)、Wi-Fi(商標)、ZigBee(商標)、後方散乱通信(ABC)プロトコル、USB、WAN、またはLANなどの直接接続を使用して端末、サービス、およびモバイルデバイスを接続することができる。
制御モジュール106は、製造システム102の各プロセスコントローラを制御するように構成され得る。例えば、監視プラットフォーム104によって捕捉された情報に基づいて、制御モジュール106は、特定のステーション108に関連するプロセス制御を調整するように構成され得る。いくつかの実施形態では、制御モジュール106は、算定される最終品質基準に基づいて特定のステーション108のプロセス制御を調整するように構成され得る。
図2は、例示的な実施形態による、制御モジュール106を示すブロック図である。制御モジュール106は、ツーリングモジュール202および構成要素モジュール204を含み得る。
ツーリングモジュール202は、監視プラットフォーム104によって得られた画像データに基づいて、製造の所与の段階での標本の最終品質基準を算定するように構成され得る。動作中、制御モジュール106は、監視プラットフォーム104からの入力を受け取ることができる。いくつかの実施形態では、そのような入力は、多工程製造プロセスの所与の工程でサブプロセスを実行するツーリングの画像またはビデオの形をとることができる。例えば、画像またはビデオデータは、多工程製造プロセスの特定のサブプロセスを実行している間の人間の手の画像またはビデオデータを含み得る。別の例では、画像またはビデオデータは、多層製造プロセスの特定の層の堆積を実行する3次元プリンタの画像またはビデオデータを含み得る。入力に基づいて、制御モジュール106は、構成要素の最終品質基準を予測することができる。構成要素の算定される最終品質基準に応じて、制御モジュール106は、所望のまたは閾値の最終品質基準に到達するために、後続の製造工程で取るべき1つまたは複数のアクションを決定することができる。例えば、算定される最終品質基準が許容値の範囲外にある場合、制御モジュール106は、製造プロセスを修正するために1つまたは複数のアクションを実行することができる。いくつかの実施形態では、制御モジュール106は、現在のステーション108(k)または後続のステーション108(k+1)の少なくとも1つのステーションのステーションコントローラとインターフェースして、それぞれの制御および/またはステーションパラメータを調整することができる。いくつかの実施形態では、制御モジュール106は、生産ラインの各処理ステーション(k+1)で実行される更新された命令を人間の製造業者に提供することができる。これらの調整は、最終品質基準が許容可能な品質基準の範囲内になり得るように、製造プロセスの修正に役立ち得る。
構成要素モジュール204は、監視プラットフォーム104によって取得された画像データに基づいて、製造の所与の段階での標本の最終品質基準を算定するように構成され得る。いくつかの実施形態では、構成要素モジュール204は、監視プラットフォーム104からの入力を受け取ることができる。いくつかの実施形態では、そのような入力は、多工程製造プロセスの所与の工程での構成要素の画像またはビデオの形をとることができる。いくつかの実施形態では、構成要素モジュール204は、ツーリングモジュール202から、多工程製造プロセスの所与の工程で推定された構成要素データを受け取ることができる。例えば、ツーリングモジュール202は、ツーリング画像またはビデオデータに基づいて、多工程製造プロセスの所与の工程で構成要素に関する情報を推測し、その推測された情報を入力として構成要素モジュール204に提供することができる。入力に基づいて、構成要素モジュール204は、構成要素の最終品質基準を算定することができる。構成要素の算定される最終品質基準に応じて、構成要素モジュール204は、所望のまたは閾値の最終品質基準に到達するために、後続の製造工程で取るべき1つまたは複数のアクションを決定することができる。例えば、算定される最終品質基準が許容値の範囲外にある場合、構成要素モジュール204は、製造プロセスを修正するための1つまたは複数のアクションを識別し得る。いくつかの実施形態では、制御モジュール106は、現在のステーション108kまたは後続のステーション108(k+1)の少なくとも1つのステーションのステーションコントローラとインターフェースして、それぞれの制御および/またはステーションパラメータを調整することができる。いくつかの実施形態では、制御モジュール106は、生産ラインの現在の処理ステーションkまたは他の処理ステーション(k+1)の少なくとも1つで実行される更新された命令を人間の製造業者に提供することができる。これらの調整は、最終品質基準が許容可能な品質基準の範囲内になり得るように、製造プロセスの修正に役立ち得る。
ツーリングモジュール202および構成要素モジュール204のそれぞれは、1つまたは複数のソフトウェアモジュールを含み得る。1つまたは複数のソフトウェアモジュールは、1つまたは複数のアルゴリズム工程を実装する一連の機械命令(例えば、プログラムコード)を表す、媒体(例えば、制御モジュール106に関連するコンピューティングシステムのメモリ)に記憶されたコードまたは命令のコレクションであり得る。そのような機械命令は、プロセッサが命令を実装するために解釈する実際のコンピュータコードであり得るか、あるいは、実際のコンピュータコードを取得するために解釈される命令のより高いレベルのコーディングであり得る。1つまたは複数のソフトウェアモジュールはまた、1つまたは複数のハードウェア構成要素を含み得る。例示的なアルゴリズムの1つまたは複数の態様は、命令の結果としてではなく、ハードウェア構成要素(例えば、回路)自体によって実行され得る。さらに、いくつかの実施形態では、ツーリングモジュール202および構成要素モジュール204のそれぞれは、構成要素間で1つまたは複数の信号を送信するように構成され得る。そのような実施形態では、そのような信号は、コンピューティングデバイスによって実行される機械命令に限定されない場合がある。
いくつかの実施形態では、ツーリングモジュール202および構成要素モジュール204は、1つまたは複数のローカルネットワークを介して通信することができる。ネットワークは、セルラーネットワークやWi-Fiネットワークなど、インターネットを介した個別の接続を含め、任意の適切なタイプにすることができる。いくつかの実施形態では、ネットワークは、無線周波数識別(RFID)、近距離無線通信(NFC)、ブルートゥース(商標)、低エネルギーブルートゥース(商標)(BLE)、Wi-Fi(商標)、ZigBee(商標)、後方散乱通信(ABC)プロトコル、USB、WAN、またはLANなどの直接接続を使用して端末、サービス、およびモバイルデバイスを接続することができる。送信される情報は個人情報または機密情報である可能性があるため、セキュリティ上の懸念から、これらのタイプの接続の1つまたは複数を暗号化またはその他の方法で保護する必要がある。しかしながら、いくつかの実施形態では、送信される情報は個人的ではない可能性があり、したがって、ネットワーク接続は、セキュリティよりも利便性のために選択され得る。
ツーリングモジュール202は、取得システム206、抽出モジュール208、および予測モジュール210を含み得る。一般に、製造システム102などのマルチノードまたはマルチステーションアセンブリ環境は、大まかに
として表すことができ、ここで、
は、すべてのiノードで構成要素の状態を表すことができ、ここで
は、すべてのiノードでツーリングによって構成要素に対して実行されるアクションのそのセットを表し得る。標準または正規の品質測定値V
cが与えられると、ツーリングモジュール202は、推定品質基準、
を使用してアセンブリプロセスのエラーを最適化するように構成できるため、
はV
cの閾値距離内になり得る。いくつかの実施形態では、ツーリングモジュール202は、状態、
を推定することができ、これは、Nノードおよび、アクション、
のすべてにおける構成要素の状態の数値表現であり得、これは、各ノードの命令または制御値を表し得る。
取得システム206は、各ノードNでのアセンブリプロセスの画像データを受け取るように構成され得る。いくつかの実施形態では、取得システム206は、監視プラットフォーム104のアセンブリプロセスの画像データを受け取ることができる。いくつかの実施形態では、各ノードNについて、取得システム206は、V個の画像を受信することができ、ここで、Vは、各ノードでのアセンブリ手順を記録することができる監視プラットフォーム104のカメラの数を表すことができる。したがって、V個の画像の各画像は、処理中に構成要素の異なる視点を捕捉することができる。画像データの受信に続いて、取得システム206は、フレームの画像のサブセットを抽出するように構成され得る。例えば、取得システム206は、受信された画像データからL個の画像を抽出するように構成され得る。抽出された画像は、ランドマークフレームと呼ばれることがある。ランドマークフレームは、高運動である画像フレームである可能性がある。抽出された画像には、構成要素の特定のランドマーク
を含む画像またはフレームが含まれ得、ここで、
であり、構成要素の製造プロセス全体を表し得る。
特定のオペレータの最小運動(例えば、「ランドマーク」)フレームと最大運動(例えば、「高運動」)フレームの両方に、多数のオペレータにまたがる堅牢な方法で指と手の腕のデータと飛行性能データを相関させようとしている分類器に役立つ情報が含まれ得る。いくつかの実施形態では、オプティカルフローアルゴリズムを使用して、任意の所与のフレーム内の運動量を測定することができる。取得システム206は、最も多くの運動を含むフレームを選択することができる。
抽出モジュール208は、L個の画像からキーポイントを抽出するように構成され得る。例えば、抽出モジュール208は、ランドマークI
iごとに、K個のキーポイント、すなわち、(x,y)対を抽出するように構成され得る。言い換えれば、抽出モジュール208は、所与の入力、
に対してK個のキーポイントを出力するように構成され得、ここで、l∈[0,L-1]である。出力として、抽出モジュール208は、単一のベクトル
を生成することができる。このベクトルには、
で表すことができるK個の(x,y)対のランドマーク表現を含めることができ、ここでi∈[0,L-1]である。
いくつかの実施形態では、
を生成するために、抽出モジュール208は、2つの別個のアルゴリズムを実装することができる。(1)境界ボックス推定、(2)キーポイント検出。
境界ボックス推定に関しては、
が与えられると、各ランドマークフレームは、各ツーリング構成要素のマスク画像を生成するために閾値画像セグメンテーションで処理され得る。例えば、ツーリングが人間である実施形態では、抽出モジュール208は、ユーザの手のそれぞれについてマスク画像を生成することができる。いくつかの実施形態では、抽出モジュール208は、ブロブ検出を実装して、ツーリングの構成要素を見つけることができる。例として人間を使用すると、抽出モジュール208は、画像が常にユーザの左手と右手の両方を含むと想定することができる。フレームが両手を含むことができない場合、抽出モジュール208は、任意の定数値cで値を割り当てることができる。
キーポイント検出に関して、抽出モジュール208は、推定された境界ボックスに基づいて、ツーリングのキーポイントを識別し得る。例えば、与えられた入力で、抽出モジュール208は、その信頼値
と共に、K個の点、
を推定することができる。いくつかの実施形態では、抽出モジュール208は、フレーム上に見える点だけでなく、1つまたは複数の関節、視点、オブジェクト、またはツールの相互作用のためにフレームから閉塞される可能性がある点も推定することができる。追跡されたキーポイントを使用して品質測定を予測することが目的である可能性があるため、推定されていない閉塞点は、アセンブリプロセスを表す一意で重要な機能である可能性がある。したがって、閉塞閾値t
oは、ランドマークフレームのランダムに選択された小さなサブセット内の閉塞点のc
i値の観察から導出できる。t
oを使用して、抽出モジュール208は、c
o<t
oである推定をフィルタリングすることができる。それらのフィルタリングされた点について、抽出モジュール208は、それらに任意の定数値cを割り当てることができる。フレーム上のツーリングまたはキーポイントの可視性に関係なく、抽出モジュール208の出力は、各構成要素のL×K(x,y)対を含み得る。
言い換えれば、抽出モジュール208は、閉塞された構成要素にデフォルトの基礎信頼レベルを割り当てるように構成され得、したがって、これらのキーポイントを推定して、観察されたトライアルツーリング構成要素の位置と正規のツーリング構成要素の位置との間の不一致を測定するためのキーポイントのフルセットを利用できるようにする。いくつかの実施形態では、ツーリングモジュール202は、所与の時点(例えば、ステーションi)での構成要素の状態についての推論を引き出し、次に、測定された不一致を修正するために取るべき、推奨される正規から変更された後続のアクションを出力することができる。
予測モジュール210は、最終品質基準、
を予測するように構成され得る。例えば、予測モジュール210は、最終品質基準、
を予測するように構成され得、
、L個の時点、
のツーリング追跡情報が与えられ、
は、各処理ステーション108から収集することができる。いくつかの実施形態では、予測モジュール210は、最終品質基準を出力するために、長短期メモリ(LSTM)モデルを実装することができる。LSTMモデルは、予測モジュール210が、従来の回帰ニューラルネットワークで一般的である勾配消失問題を克服することを可能にし得る。勾配消失問題は、勾配の大きさが後の層に対して小さいときに、モデルがニューラルネットワークの初期重みを関連付けることができない場合である。LSTMモデルはこの問題を排除する。
いくつかの実施形態では、ツーリングモジュール202は分類モジュール215をさらに含み得る。分類モジュール215は、予測された最終品質基準、
に基づいて標本を1つまたは複数のクラスに分類するように構成され得る。例えば、動作中、分類モジュール215は、標本の正規のまたは所望の最終品質基準V
cを受け取ることができる。分類モジュール215は、予測された最終品質基準V
cを正規のまたは所望の最終品質基準V
cと比較して、デルタΔ
Vを生成するように構成され得る。Δ
Vの値に応じて、分類モジュール215は、標本を1つまたは複数のクラスに分類することができる。例えば、分類モジュール215は、標本を、4つのクラス:不可(fail)(クラス1)、可(fair)(クラス2)、優(excellent)(クラス3)およびオーバークオリファイ(クラス4)のうちの1つに分類することができると仮定する。分類モジュール215は、関連するクラス定義に基づいて標本を分類することができる。例えば、関連する定義は、
であり得る。
当業者なら分かるとおり、関連する定義は、オペレータまたはクライアントの好みに基づいて変化し得る。
いくつかの実施形態では、制御モジュール106は、構成要素に割り当てられた分類を使用して、最終品質基準が許容可能であるかどうかを決定することができる。例えば、オペレータまたはクライアントは、クラス1に分類された構成要素は許容可能でなく、クラス2~4のいずれかに分類された構成要素は許容可能であると指定することができる。別の例では、オペレータまたはクライアントは、クラス1またはクラス2に分類された構成要素は許容可能でなく、クラス3またはクラス4に分類された構成要素は許容可能であると指定することができる。
図3は、例示的な実施形態による、LSTMモデルの例示的なアーキテクチャを示すブロック図である。示されるように、LSTMモデル300は、3つの層3021~3023(一般に層302)を含み得る。示されるように、各層302は、1つまたは複数のセル304を含み得る。いくつかの実施形態では、各セル304の入力は、piであり得、ここで、i∈[0,L-1]である。LSTMの各セルは、次のように定義できる。
eq.1:fi=σ(Wf×[hi-1,pi]+bf)
eq.2:I_i=σ(W_I×[h_(i-1),p_i]+b_I)
eq.3:c=fi×ct-1+Ii×tanh(Wc×[hi-1,pi]+bc)
eq.4:oi=σ(Wo×[hi-1,pi]+bo)
eq.5:hi=oi×tanhci
ここで、式1は、前のセルからの情報を保持するかどうかを決定する。式(2)は、更新する値を決定する。式(3)はセルを更新する。式(4)は、出力する部分を決定する。式(5)は、LSTMモデル300が出力するようにプログラムされたもののみを出力するように、出力部分をフィルタリングすることができる。
いくつかの実施形態では、LSTMモデル300は、30の隠れたサイズを有する3つの層302を含み得る。いくつかの実施形態では、LSTMモデル300は、シーケンス対1のLSTMモデルであり得る。トレーニングの場合、L1、平均絶対エラー(MAE)、損失関数:
は、Adamオプティマイザーを使用して最小化できる。いくつかの実施形態では、目標は、エラーの方向に関係なく、エラーの大きさを最小化または低減することである可能性があるため、MAEを使用することができる。
図2に戻ると、予測モジュール210は、正規の命令セット、
および複数の構成要素Mを使用してトレーニングされ得る。例えば、M個のデータの10ノードビデオを使用して、予測モジュール210の入力は、最初に、取得システム206および抽出モジュール208を介して前処理されることによって構造化され得る。いくつかの実施形態では、トレーニングに関与する各構成要素は、それらの組成物(例えば、形状)をチェックする検証アルゴリズムを介して検証され得る。いくつかの実施形態では、検証アルゴリズムは、組成物を正規の組成物と比較することによって、各ノードの終わりにある組成物の類似性指数を計算することができる。結果として、トレーニングの構成要素は、正規の組成物とほぼ同じである。
いくつかの実施形態では、出力のために、対応する物理構成要素を制御された環境でテストして、それらの品質基準を測定することができる。対応する出力データと共に準備された入力データを使用して、予測モジュール210は、例えば、Mの一部がトレーニングデータであり、Mの別の部分が検証データであるようにトレーニングされ得る。トレーニングされると、予測モジュール210は、ツーリングの画像データに基づいて、所与の処理工程での構成要素の品質測定を予測することができる可能性がある。
ここで、構成要素モジュール204を参照すると、構成要素モジュール204は、確率的勾配降下(SGD)モジュール212、ゲート付き回帰ユニット(GRU)モデル214、およびシミュレーションモジュール216を含み得る。この説明では、構成要素の部分的な構成を
として定義できる。ここで、工程kは製造プロセスに不可逆的エラーをもたらし、工程k+1,...,Nはまだ定義されていない。構成要素モジュール204は、残りのアクション[{r
k+i,t
k+i},...,{r
N,t
N}]の最適な修正シーケンスを識別するように構成され得る。rおよびtは、製造システム102の現在の処理ステーションまたは後続の各処理ステーション(k+1~N)の少なくとも1つにおいて、構成要素に対して実行されるべき特定の動作に対応し得る。より一般的には、任意の構成要素
は、製造システムの各処理ステーション1...Nで実行されるすべての動作のシーケンスとして定義できる。数学的には、
。各製造工程i=1,...,10で、仮想表現システムは、ユークリッド空間の構成要素(例えば、
)を、接続された表面のセットと、各表面の外側の輪郭に沿って均一に分散された接続された点のセットとして表すことができる。いくつかの実施形態では、これらの表現を生成する仮想表現関数は、それぞれ、
および
と呼ばれ得る。いくつかの実施形態では、構成要素モジュール204は、特定の正規の構成要素
に向けて
を修正するように構成され得る。
シミュレーションモジュール216は、所与の構成要素
の表面モデルをシミュレートまたは生成するように構成され得る。例えば、シミュレーションモジュール216は、ツーリングモジュール202からツーリング情報を受け取ることができる。ツーリングモジュール202によって生成されたキーポイントに基づいて、シミュレーションモジュール216は、特定のプロセス工程iでの構成要素
の状態を表す表面モデルを生成するように構成され得る。いくつかの実施形態では、表面モデルは、
として表すことができる。いくつかの実施形態では、シミュレーションモジュール216は、構成要素
の品質基準を生成または推定するようにさらに構成され得る。表面モデルから、シミュレーションモジュール216は、構成要素
の特定の座標を表す点モデル、
を生成するように構成され得る。例えば、表面モデル
から、シミュレーションモジュール216は、
の各表面の境界輪郭の周りに等間隔に配置された多数の点を配置することによって、点モデル、
を作成することができる。いくつかの実施形態では
を使用して、アーチファクト
の性能をシミュレートすることができる。
SGDモジュール212は、シミュレーションモジュール216から点モデル
を受け取ることができる。SGDモジュール212は、工程iでの点モデル
を、正規の構成要素、
の正規の点モデル
と比較することによって、不可逆的エラーkが発生したかどうかを決定することができる。不可逆的エラーは、工程kでの正規の構成要素からの測定可能なほど有意な構造偏差であると定義できる。SGDモジュール212は、ハウスドルフ距離を取ることによって不可逆的エラーを検出するように構成され得る。例えば、SGDモジュール212は、それぞれのユークリッド点セットに基づいて、現在の構成要素
の処理工程を正規の構成要素
に一致させることができる。数学的には、SGDモジュール212は、i∈i=1,...,Nの
と
の間のハウスドルフ距離を計算するように構成できる。例えば、
ここで、d(x,y)はxとyの間のユークリッド距離であり、無向ハウスドルフ距離は次のようになり得る。
H(X,Y)=max{h(X,Y),h(Y,X)
現在の構成要素
と正規の構成要素
の間のハウスドルフ距離が閾値許容範囲を超えると、不可逆的エラーが発生する可能性がある。例えば、SGDモジュール212は、以下の場合に工程kでエラーが発生したと決定することができる。
ここで、τ
Hは適切に定義された許容閾値である。
エラーがあると仮定すると、SGDモジュール212は、更新されたアクション[{r
k+1,t
k+1},...,{r
N,t
N}]のセット、不可逆的エラーkのエラーの点までの所与のアクションのセットを構築するように構成されてもよい。いくつかの実施形態では、この更新されたアクションのセットは、x
tailと呼ばれることがある。エラー工程kの前にあり、エラー工程kを含む一連の工程またはアクションは、x
headと呼ばれる場合がある。一緒に、x
tailとx
headは構成要素
を定義し得る。x
headに基づいて、SGDモジュール212は確率的勾配降下法を使用してx
tailを解くことができる。
GRUモデル214は、
に基づいて、構成要素
の最終品質基準を予測するように構成できる。ここで、
はベクトル連結演算子を表し得る。GRUモデル214によって生成された最終品質基準を正規の最終品質基準と比較して、x
tailが適切かどうかを決定できる。例えば、x
tailとx
headの組み合わせが、許容値の範囲外の最終品質基準を生成すると仮定すると、GRUモデル214は、SGDモジュール212に、さらなる評価のために更新されたアクションの更新されたシーケンスを生成するように指示できる。
図5は、例示的な実施形態による、GRUモデル214のアーキテクチャを示すブロック図である。示されるように、GRUモデル214は、N GRUセル502
1~502
N(一般に、GRUセル502)を含み得、各GRUセル502は、それぞれの処理ステーション108に対応する。各GRUセル502は、(r
i,t
i)入力対および所定のサイズの非表示状態出力
を含み得る。一緒に、これらの入力対(r
i,t
i)は、特定の構成要素
を定義できる。いくつかの実施形態では、各GRUセル502は、以下によって定義され得る。
ここで、
は時間tでの非表示状態、
は時間tでの入力、
、
、および
はそれぞれ時間tでのリセット、更新、新しいゲートを表すことができる。
GRUモデル214は、それに対応する重みを生成するようにトレーニングできる。例えば、GRUモデル214は、特定のサブ問題を解決する方向にGRUモデル214にバイアスをかけるように繰り返しトレーニングすることができる。いくつかの実施形態では、第1の反復中に、GRUモデル214は、各予測に対応する対応する予測品質基準と共に工程k+1,...,Nで所与の構成要素
を完了するために、複数(例えば、数百から数千)の最良の予測(工程kで起こり得るエラーごとに1つ)を生成し得る。
いくつかの実施形態では、予測された完成のすべてが仮想表現システムでレンダリングされ、それらの段階的なハウスドルフ距離が計算され、それらのレンダリングされた表面がシミュレートされて、生成された予測と正規との間の距離測度が得られる。いくつかの実施形態では、正規の品質基準測定値と予測された品質基準測定値との間の損失値が計算され、GRUモデル214にフィードバックされ得、その重みは、逆伝播によって調整され得、第2の反復を生成し得る。このプロセスは、所望のエラー閾値が得られるまで続く場合がある。
いくつかの実施形態では、GRUモデル214は、準備されたデータセットまたは合成データセットでトレーニングすることができる。例えば、シミュレータモジュール216または別のシミュレーションシステム(例えばCADモデル)を使用して、GRUモデル214をトレーニングするためのトレーニングセットを生成することができる。例えば、シミュレーションシステムは、例えば、すべてのパラメータ値の許容される完全な範囲をカバーし得る、アクションの偏りのないランダム化された多くの試行を表すために、準備された構成要素のセット(例えば100,000個の準備された構成要素)を生成し得る。いくつかの実施形態では、準備された構成要素のセットは、偏りのないランダム化された試行に加えて、アクションの偏ったランダム化された試行も含み得る。このセットは、P(U(0,1),100000)と呼ばれることがある。各
は、一様分布U(0,1)からサンプリングすることによってその定義パラメータ値を取得することができる。
いくつかの実施形態では、例えば、構成要素を処理して正規の構成要素
を複製する多くの試行を表すために、50,000個の準備された構成要素のセットを生成することができる。これは、セット
と呼ばれることがある。各
は、統計学的サンプリングプロセスによってその定義パラメータ値を取得することができる。いくつかの実施形態では、i番目のアクションは、正規に定義された対応する折り畳みに中心的に向かうことがあり、適切にパラメータ化されたガウス分布に従って変化し得る。準備された構成要素データセットは、
として定義できる。
図4は、例示的な実施形態による、ツーリングモジュール202のためのフィードバックセグメント400の全体的なプロセスフローを視覚的に示すブロック図である。
示されるように、フィードバックセグメント400は、第1の部分402、第2の部分404、および第3の部分406を含み得る。第1の部分402の間、ツーリングモジュール202は、取得システム206によって少なくとも部分的に実行されるような取得プロセスを実行することができる。
示されるように、ブロック408で、製造システム102は、構成要素を処理するための処理命令を受け取ることができる。いくつかの実施形態では、製造システム102は、ステーション108ごとに処理命令を受け取ることができる。例えば、製造システム102の各ステーション108は、独立した処理命令を受け取ることができる。いくつかの実施形態では、処理命令は、製造のためのステーション108の属性(例えば、温度、圧力など)を定義する制御値を含み得る。いくつかの実施形態では、処理命令は、製造プロセスの処理ノードで特定の処理工程を実行する方法を人間のオペレータに視覚的に示すビデオまたは画像を含み得る。
ブロック410において、取得システム206は、監視プラットフォーム104から画像データを受け取ることができる。いくつかの実施形態では、各ノードNについて、取得システム206は、V個の画像を受信することができ、ここで、Vは、各ノードでのアセンブリ手順を記録することができる監視プラットフォーム104のカメラの数を表すことができる。画像データの受信に続いて、ブロック412で、取得システム206は、フレームの画像のサブセットを抽出するように構成され得る。例えば、取得システム206は、受信された画像データからL個の画像を抽出するように構成され得る。抽出された画像は、ランドマークフレームと呼ばれることがある。抽出された画像には、特定のランドマークを含むそれらの画像またはフレームが含まれ得、構成要素の製造プロセス全体を表し得る。
第2の部分404は、抽出モジュール208によって実行される動作に対応し得る。示されるように、抽出モジュール208は、取得システム206から少なくとも抽出された画像を受信することができる。抽出モジュール208は、L個の画像からキーポイントを抽出するように構成され得る。例えば、抽出モジュール208は、ランドラークIiごとに、K個のキーポイント、すなわち、(x,y)対を抽出するように構成され得る。
ブロック414で、抽出モジュール208は、境界ボックス推定を実行することができる。例えば、
が与えられた場合、各ランドマークフレームは、閾値画像セグメンテーションで処理され、各ツーリング構成要素のマスク画像が生成され得る。例えば、示されるように、ツーリングが人間である実施形態では、抽出モジュール208は、ユーザの手のそれぞれについてマスク画像を生成することができる。
ブロック416で、抽出モジュール208は、境界ボックス推定を前提として、キーポイント検出を実行することができる。例えば、与えられた入力で、抽出モジュール208は、その信頼値
と共に、K個の点、
を推定することができる。いくつかの実施形態では、抽出モジュール208は、フレーム上に見える点だけでなく、1つまたは複数の関節、視点、オブジェクト、またはツールの相互作用のためにフレームから閉塞される可能性がある点も推定することができる。
第3の部分406は、予測モジュール210によって実行される動作に対応することができる。示されるように、ブロック418で、予測モジュール210は、抽出モジュール208からキーポイント情報を受信することができ、最終品質基準、
を予測するように構成することができる。いくつかの実施形態では、予測モジュール210は、最終品質基準を出力するために、長短期メモリ(LSTM)モデルを実装することができる。
図6Aは、例示的な実施形態による、多工程製造プロセスを修正する方法600を示す流れ図である。方法600は、工程602で開始することができる。
工程602で、命令セットが製造システム102に提供され得る。命令セットは、製造システム102によって実行される製造プロセスのための命令のセットを表すことができる。いくつかの実施形態では、命令セットは、各ステーション108に提供され得る。例えば、各それぞれのステーション108に提供される各正規の命令セットは、特定の製造工程のための処理パラメータを定義することができる。別の例では、各正規の命令セットは、特定の処理ノードまたはステーション108で人間のアクターによって実行される個別の工程のビデオであり得る。
工程604で、制御モジュール106は、監視プラットフォーム104からツーリング(例えば、ステーション108)の画像データを受け取ることができる。例えば、取得システム206は、それぞれの処理ノードでのアセンブリプロセスの画像データを受け取ることができる。いくつかの実施形態では、取得システム206は、V個の画像を受信することができ、ここで、Vは、特定の処理ステーション108でのアセンブリ手順を記録することができる監視プラットフォーム104のカメラの数を表すことができる。したがって、V個の画像の各画像は、処理中にツーリングの異なる視点を捕捉することができる。
工程606で、制御モジュール106は、取得された画像データから画像のサブセットを抽出することができる。例えば、画像データの受信に続いて、取得システム206は、フレームの画像のサブセットを抽出するように構成され得る。例えば、取得システム206は、受信された画像データからL個の画像、すなわちランドマークフレームを抽出するように構成され得る。抽出された画像は、ランドマークフレームと呼ばれることがある。ランドマークフレームは、高運動のそれらの画像フレームであり得る。抽出された画像には、構成要素の特定のランドマーク、
を含む画像またはフレームが含まれ得、ここで、
であり、構成要素の製造プロセス全体を表すことができる。
工程608で、制御モジュール106は、ランドマークフレームからツーリングの1つまたは複数のキーポイントを抽出することができる。例えば、抽出モジュール208は、L個の画像からキーポイントを抽出することができる。抽出モジュール208は、所与の入力、
に対してK個のキーポイントを識別または抽出することができ、ここで、l∈[0,L-1]である。出力として、抽出モジュール208は、単一のベクトル
を生成することができる。このベクトルには、
で表すことができるK個の(x,y)対のランドマーク表現を含めることができ、ここで、i∈[0,L-1]である。
工程610で、制御モジュール106は、少なくとも識別されたキーポイントに基づいて、構成要素の最終品質基準を予測することができる。いくつかの実施形態では、予測モジュール210は、最終品質基準を出力するために、長短期メモリ(LSTM)モデルを実装することができる。
工程612で、制御モジュール106は、最終品質基準を所望の品質測定基準と比較することができる。工程612で、制御モジュール106が、最終品質基準が所望の品質基準の閾値許容範囲であると決定した場合、製造プロセスは、元の命令セットに従って、次の処理ステーションまたはノードに進むことができる(例えば、工程616)。しかしながら、工程612で、制御モジュール106が、最終品質基準が所望の品質基準の閾値許容範囲内にないと決定した場合、工程614で、制御モジュール106は、処理ステーションkまたは1つもしくは複数の処理ステーションk+1の少なくとも1つのステーションの処理パラメータを調整することができ、ここで、kは、現在の処理ステーションを表すことができ、k+1は、現在の処理ステーションの下流の他の処理ステーションを表すことができる。いくつかの実施形態では、制御モジュール106は、現在のステーション108(k)および/または後続のステーション108(k+1)のステーションコントローラとインターフェースして、それぞれの制御および/またはステーションパラメータを調整することができる。いくつかの実施形態では、制御モジュール106は、生産ラインの処理ステーションkまたは1つもしくは複数の処理ステーション(k+1)の少なくとも1つで実行される更新された命令を人間の製造業者に提供することができる。これらの調整は、最終品質基準が許容可能な品質基準の範囲内になり得るように、製造プロセスの修正に役立ち得る。
図6Bは、例示的な実施形態による、多工程製造プロセスを修正する方法650を示す流れ図である。方法650は、工程652で開始することができる。
工程652で、命令セットが製造システム102に提供され得る。命令セットは、製造システム102によって実行される製造プロセスのための命令のセットを表すことができる。いくつかの実施形態では、命令セットは、各ステーション108に提供され得る。例えば、各それぞれのステーション108に提供される各正規の命令セットは、特定の製造工程のための処理パラメータを定義することができる。別の例では、各正規の命令セットは、特定の処理ノードまたはステーション108で人間のアクターによって実行される個別の工程のビデオであり得る。
工程654で、制御モジュール106は、監視プラットフォーム104からツーリング(例えば、ステーション108)の画像データを受け取ることができる。例えば、取得システム206は、それぞれの処理ノードでのアセンブリプロセスの画像データを受け取ることができる。いくつかの実施形態では、取得システム206は、V個の画像を受信することができ、ここで、Vは、特定の処理ステーション108でのアセンブリ手順を記録することができる監視プラットフォーム104のカメラの数を表すことができる。したがって、V個の画像の各画像は、処理中にツーリングの異なる視点を捕捉することができる。
工程656で、制御モジュール106は、取得された画像データから画像のサブセットを抽出することができる。例えば、画像データの受信に続いて、取得システム206は、フレームの画像のサブセットを抽出するように構成され得る。例えば、取得システム206は、受信された画像データからL個の画像、すなわちランドマークフレームを抽出するように構成され得る。抽出された画像は、ランドマークフレームと呼ばれることがある。ランドマークフレームは、高運動のそれらの画像フレームであり得、製造プロセスの進行を明確に捕捉する最も有意味の特徴を含み得る。抽出された画像には、構成要素の特定のランドマーク、
を含む画像またはフレームが含まれ得、ここで、
であり、構成要素の製造プロセス全体を表すことができる。
工程658で、制御モジュール106は、ランドマークフレームからツーリングの1つまたは複数のキーポイントを抽出することができる。例えば、抽出モジュール208は、L個の画像からキーポイントを抽出することができる。抽出モジュール208は、所与の入力、
に対してK個のキーポイントを識別または抽出することができ、ここで、l∈[0,L-1]である。出力として、抽出モジュール208は、単一のベクトル
を生成することができる。このベクトルには、
で表すことができるK個の(x,y)対のランドマーク表現を含めることができ、ここで、i∈[0,L-1]である。
工程660で、制御モジュール106は、少なくとも識別されたキーポイントに基づいて、構成要素の最終品質基準を予測することができる。いくつかの実施形態では、予測モジュール210は、最終品質基準の推定値を出力するために、長短期メモリ(LSTM)モデルを実装することができる。
工程662で、制御モジュール106は、最終品質基準に基づいて構成要素を分類することができる。例えば、分類モジュール215は、予測された最終品質基準、
に基づいて構成要素を1つまたは複数のクラスに分類することができる。構成要素を分類するために、ツーリングモジュール202は、構成要素の正規のまたは所望の最終品質基準V
cを受け取ることができる。ツーリングモジュール202は、予測された最終品質基準V
cを正規のまたは所望の最終品質基準V
cと比較して、デルタΔ
Vを生成するように構成され得る。Δ
Vの値に応じて、分類モジュール215は、構成要素を1つまたは複数のクラスに分類することができる。
いくつかの実施形態では、方法650は、動作664~668をさらに含み得る。
工程614で、制御モジュール106は、構成要素に割り当てられたクラスが許容可能なクラスであるかどうかを決定することができる。工程614で、制御モジュール106が、構成要素が許容可能なクラスに割り当てられたと決定した場合、製造プロセスは、元の命令セットに従って、次の処理ステーションまたはノードに進むことができる(例えば、工程616)。しかしながら、工程614で、制御モジュール106が、構成要素が許容できないクラスに割り当てられたと決定した場合、工程618で、制御モジュール106は、処理ステーションkまたは1つもしくは複数の処理ステーション(k+1)の少なくとも1つのステーションの処理パラメータを調整することができる。いくつかの実施形態では、制御モジュール106は、現在のステーション108または後続のステーション108の少なくとも1つのステーションのステーションコントローラとインターフェースして、それらのそれぞれの制御および/またはステーションパラメータを調整することができる。いくつかの実施形態では、制御モジュール106は、生産ラインの処理ステーションkまたは1つもしくは複数の処理ステーション(k+1)の少なくとも1つで実行される更新された命令を人間の製造業者に提供することができる。これらの調整は、最終品質基準が許容可能な品質基準の範囲内になり得るように、製造プロセスの修正に役立ち得る。
図7は、例示的な実施形態による、多工程製造プロセスを修正する方法700を示す流れ図である。方法700は、工程702から開始することができる。
工程702で、命令セットが製造システム102に提供され得る。命令セットは、製造システム102によって実行される製造プロセスのための命令のセットを表すことができる。いくつかの実施形態では、命令セットは、各ステーション108に提供され得る。例えば、各それぞれのステーション108に提供される各正規の命令セットは、特定の製造工程のための処理パラメータを定義することができる。別の例では、各正規の命令セットは、特定の処理ノードまたはステーション108で人間のアクターによって実行される個別の工程のビデオであり得る。
工程704において、制御モジュール106は、それぞれの処理ノードにおける構成要素に対応する情報を識別し得る。いくつかの実施形態では、シミュレーションモジュール216は、ツーリングモジュール202からツーリング情報を受け取ることができる。ツーリングモジュール202によって生成されたキーポイントに基づいて、シミュレーションモジュール216は、特定のプロセス工程iでの構成要素
の状態を表す表面モデルを生成するように構成され得る。いくつかの実施形態では、表面モデルは、
として表すことができる。いくつかの実施形態では、シミュレーションモジュール216は、構成要素
の品質基準を生成または推定するようにさらに構成され得る。表面モデルから、シミュレーションモジュール216は、構成要素
の特定の座標を表す点モデル、
生成するように構成され得る。
工程706において、制御モジュール106は、不可逆的エラーが発生したかどうかを決定することができる。例えば、SGDモジュール212は、シミュレーションモジュール216から点モデル、
を受け取ることができる。SGDモジュール212は、工程iでの点モデル
を、正規の構成要素、
の正規の点モデル、
と比較することによって、不可逆的エラーkが発生したかどうかを決定することができる。SGDモジュール212は、点モデルと対応する正規の点モデルとの間のハウスドルフ距離を取ることによって不可逆的エラーを検出するように構成され得る。それぞれの処理ステーションまたはノードで、現在の構成要素
と正規の構成要素
の間のハウスドルフ距離が閾値許容範囲を超えると、不可逆的エラーが存在する可能性がある。
工程706で、制御モジュール106が不可逆的エラーが発生していないと決定した場合、製造プロセスは、元の命令セットに従って、次の処理ステーションまたはノードに進むことができる(工程705)。しかし、工程706で、制御モジュール106が不可逆的エラーが発生したと決定した場合、方法700は工程708に進む。
工程708で、制御モジュール106は、不可逆的エラーを修正するための更新されたアクションのセットを生成することができる。SGDモジュール212は、更新されたアクション[{r
k+1,t
k+1},...,{r
N、t
N}]のセット、不可逆的エラーkのエラーの点までの所与のアクションのセットを構築することができる。いくつかの実施形態では、この更新されたアクションのセットは、x
tailと呼ばれることがある。エラー工程kの前にあり、エラー工程kを含む一連の工程またはアクションは、x
headと呼ばれる場合がある。一緒に、x
tailとx
headは構成要素
を定義し得る。x
headに基づいて、SGDモジュール212は確率的勾配降下法を使用してx
tailを解くことができる。エラー工程kの前にあり、エラー工程kを含む一連の工程またはアクションは、x
headと呼ばれる場合がある。一緒に、x
tailとx
headは構成要素
を定義し得る。x
headに基づいて、SGDモジュール212は確率的勾配降下法を使用してx
tailを解くことができる。
工程710で、制御モジュール106は、SGDモジュール212によって生成されたアクションのセットに基づいて、構成要素の予測された最終品質基準を生成することができる。例えば、GRUモデル214は、
に基づいて構成要素
の最終品質基準を予測するように構成できる。ここで、
はベクトル連結演算子を表すことができる。
工程712で、制御モジュール106は、予測された最終品質基準が正規の最終品質基準の閾値許容範囲内にあるかどうかを決定することができる。例えば、GRUモデル214によって生成された最終品質基準を正規の最終品質基準と比較して、xtailが適切かどうかを決定できる。工程712で、制御モジュール106が、予測された品質基準が閾値許容範囲内にあると決定した場合、工程714で、制御モジュール106は、処理ステーションkまたは1つもしくは複数の処理ステーション(k+1)の少なくとも1つのステーションの処理パラメータを調整することができる。いくつかの実施形態では、制御モジュール106は、ステーション108(k)または後続のステーション108(k+1)のステーションコントローラとインターフェースして、それらのそれぞれの制御および/またはステーションパラメータを調整することができる。いくつかの実施形態では、制御モジュール106は、生産ラインの処理ステーションkまたは1つもしくは複数の処理ステーション(k+1)の少なくとも1つで実行される更新された命令を人間の製造業者に提供することができる。これらの調整は、最終品質基準が許容可能な品質基準の範囲内になり得るように、製造プロセスの修正に役立ち得る。
しかしながら、工程712で、制御モジュール106が、予測された品質基準が閾値許容範囲内にないと決定した場合、GRUモデル214は、SGDモジュール212に新しいxtailを生成するように促すことができる。例えば、方法700は、SGDモジュール212の工程708に戻って、更新されたアクションの新しいセットを構築することができる。
図8Aは、例示的な実施形態による、システムバスコンピューティングシステムアーキテクチャ800を示している。システム800の1つまたは複数の構成要素は、バス805を使用して互いに電気的に通信していてもよい。システム800は、プロセッサ(例えば、1つまたは複数のCPU、GPUまたは他の種類のプロセッサ)810およびシステムバス805を含み得、これは、読み取り専用メモリ(ROM)820およびランダムアクセスメモリ(RAM)825などのシステムメモリ815を含む様々なシステム構成要素をプロセッサ810に結合する。システム800は、プロセッサ810に直接接続されているか、近接しているか、またはプロセッサ810の一部として統合されている高速メモリのキャッシュを含むことができる。システム800は、プロセッサ810による迅速なアクセスのために、メモリ815および/またはストレージデバイス830からキャッシュ812にデータをコピーすることができる。このようにして、キャッシュ812は、データを待機している間のプロセッサ810の遅延を回避する性能向上を提供し得る。これらおよび他のモジュールは、プロセッサ810を制御するか、または制御して様々なアクションを実行するように構成することができる。他のシステムメモリ815も同様に使用可能であり得る。メモリ815は、異なる性能特性を有する複数の異なるタイプのメモリを含み得る。プロセッサ810は、単一のプロセッサまたは複数のプロセッサを表すことができる。プロセッサ810は、プロセッサ810およびソフトウェア命令が実際のプロセッサ設計に組み込まれている専用プロセッサを制御するように構成された、ストレージデバイス830に記憶されたサービス1 832、サービス2 834、およびサービス3 836などの汎用プロセッサあるいはハードウェアモジュールまたはソフトウェアモジュールのうちの1つまたは複数を含むことができる。プロセッサ810は、本質的に、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュなどを含む、完全に自己完結型のコンピューティングシステムであり得る。マルチコアプロセッサは、対称または非対称の場合がある。
コンピューティングデバイス800とのユーザ相互作用を可能にするため、入力デバイス845は、音声用のマイクロフォン、ジェスチャまたはグラフィック入力用のタッチセンシティブスクリーン、キーボード、マウス、モーション入力、音声など、任意の数の入力メカニズムであり得る。出力デバイス835はまた、当業者に知られているいくつかの出力機構のうちの1つまたは複数であり得る。場合によっては、マルチモーダルシステムは、ユーザがコンピューティングデバイス800と通信するために複数のタイプの入力を提供することを可能にすることができる。通信インターフェース840は、一般に、ユーザ入力およびシステム出力を運営および管理することができる。特定のハードウェア構成での動作に制限はない。したがって、ここでの基本機能は、開発時に改善されたハードウェアまたはファームウェア構成に簡単に置き換えることができる。
ストレージデバイス830は、不揮発性メモリであり得るし、磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ(RAM)825、読み取り専用メモリ(ROM)820、およびそれらのハイブリッドなど、コンピュータによってアクセス可能なデータを記憶することができるハードディスクまたは他のタイプのコンピュータ可読媒体であり得る。
ストレージデバイス830は、プロセッサ810を制御するためのサービス832、834、および836を含むことができる。他のハードウェアまたはソフトウェアモジュールが企図されている。ストレージデバイス830は、システムバス805に接続することができる。一態様では、特定の機能を実行するハードウェアモジュールは、機能を実行するために必要なハードウェア構成要素(プロセッサ810、バス805、ディスプレイ835など)に関連してコンピュータ可読媒体に記憶されたソフトウェア構成要素を含むことができる。
図8Bは、例示的な実施形態による、チップセットアーキテクチャを有するコンピュータシステム850を示している。コンピュータシステム850は、開示された技術を実装するために使用することができるコンピュータハードウェア、ソフトウェア、およびファームウェアの一例であり得る。システム850は、識別された計算を実行するように構成されたソフトウェア、ファームウェア、およびハードウェアを実行することができる任意の数の物理的および/または論理的に異なるリソースを表す1つまたは複数のプロセッサ855を含むことができる。1つまたは複数のプロセッサ855は、1つまたは複数のプロセッサ855への入力および1つまたは複数のプロセッサ855からの出力を制御することができるチップセット860と通信することができる。この例では、チップセット860は、ディスプレイなどの出力865に情報を出力し、例えば、磁気媒体およびソリッドステート媒体を含むことができるストレージデバイス870に情報を読み書きすることができる。チップセット860は、RAM875との間でデータの読み取りと書き込みを行うこともできる。チップセット860とインターフェースするために、様々なユーザインターフェース構成要素885とインターフェースするためのブリッジ880を提供することができる。そのようなユーザインターフェース構成要素885は、キーボード、マイクロフォン、タッチ検出および処理回路、マウスなどのポインティングデバイスなどを含むことができる。一般に、システム850への入力は、機械生成および/または人間生成の様々なソースのいずれかから来ることができる。
チップセット860はまた、異なる物理的インターフェースを有することができる1つまたは複数の通信インターフェース890とインターフェースすることができる。このような通信インターフェースには、有線および無線のローカルエリアネットワーク、ブロードバンド無線ネットワーク、およびパーソナルエリアネットワークのインターフェースを含めることができる。本明細書に開示されるGUIを生成、表示、および使用するための方法のいくつかのアプリケーションは、物理的インターフェースを介して順序付けられたデータセットを受信することを含み、あるいはストレージ870または875に記憶されたデータを分析する1つまたは複数のプロセッサ855によって機械自体によって生成され得る。さらに、機械は、ユーザインターフェース構成要素885を介してユーザから入力を受け取り、1つまたは複数のプロセッサ855を使用してこれらの入力を解釈することによってブラウジング機能などの適切な機能を実行することができる。
例示的なシステム800および850は、複数のプロセッサ810を有するか、またはより大きな処理能力を提供するために一緒にネットワーク化されたコンピューティングデバイスのグループまたはクラスタの一部であり得ることが理解され得る。
前述の内容は本明細書に記載の実施形態を対象としているが、他のさらなる実施形態は、その基本的な範囲から逸脱することなく考案することができる。例えば、本開示の態様は、ハードウェアまたはソフトウェア、あるいはハードウェアとソフトウェアの組み合わせで実装され得る。本明細書で説明される一実施形態は、コンピュータシステムで使用するためのプログラム製品として実装され得る。プログラム製品のプログラムは、実施形態の機能(本明細書に記載の方法を含む)を定義し、様々なコンピュータ可読記憶媒体に含めることができる。例示的なコンピュータ可読記憶媒体には、以下が含まれるが、これらに限定されない。(i)情報が永続的に記憶される書き込み不可能な記憶媒体(例えば、CD-ROMドライブ、フラッシュメモリ、ROMチップ、または任意のタイプのソリッドステート不揮発性メモリによって読み取り可能なCD-ROMディスクなど、コンピュータ内の読み取り専用メモリ(ROM)デバイス)、(ii)変更可能な情報が記憶される書き込み可能な記憶媒体(例えば、ディスケットドライブまたはハードディスクドライブ内のフロッピーディスク、あるいは任意のタイプのソリッドステートランダムアクセスメモリ)。そのようなコンピュータ可読記憶媒体は、開示された実施形態の機能を指示するコンピュータ可読命令を運ぶ場合、本開示の実施形態である。
前述の実施例は例示的なものであり、限定するものではないことが当業者に理解されよう。明細書を読み、図面の研究をすると、それらに対するすべての順列、拡張、同等物、および改善が当業者に明らかであり、本開示の真の趣旨および範囲に含まれることが意図されている。したがって、以下の添付の特許請求の範囲には、これらの教示の真の趣旨と範囲に含まれるすべてのそのような修正、順列、および同等物が含まれることが意図されている。
理解を容易にするために、可能な場合は、図に共通する同一の要素を示すために同一の参照番号が使用されている。一実施形態で開示される要素は、特定の記述なしに他の実施形態で有益に利用され得ることが企図される。
製造プロセスは複雑な場合があり、最終構成要素が製造されるまで、様々なプロセスステーション(または「ステーション」)によって処理される原材料が含まれ得る。いくつかの実施形態では、各プロセスステーションは、処理のための入力を受け取り、追加の処理のために後続の(下流)プロセスステーションに渡され得る中間出力を出力し得る。いくつかの実施形態では、最終プロセスステーションは、処理のための入力を受け取り、最終構成要素、またはより一般的には最終出力を出力することができる。
いくつかの実施形態では、各ステーションは、一連のプロセス工程を実行することができる1つまたは複数のツール/機器を含むことができる。例示的なプロセスステーションには、コンベヤベルト、射出成形プレス、切断機、ダイスタンピング機械、押出機、コンピュータ数値制御(CNC)ミル、グラインダ、組立ステーション、3次元プリンタ、品質管理ステーション、検証ステーションなどが含まれ得るが、これらに限定されない。
いくつかの実施形態では、各プロセスステーションの動作は、1つまたは複数のプロセスコントローラによって管理され得る。いくつかの実施形態では、各プロセスステーションは、プロセスステーションの動作を制御するようにプログラムされ得る1つまたは複数のプロセスコントローラを含み得る。いくつかの実施形態では、オペレータまたは制御アルゴリズムは、各制御値について、所望の値または値の範囲を表すことができるステーションコントローラ設定値をステーションコントローラに提供することができる。いくつかの実施形態では、製造プロセスにおけるフィードバックまたはフィードフォワードに使用される値は、制御値と呼ばれることがある。例示的な制御値には、速度、温度、圧力、真空、回転、電流、電圧、電力、粘度、ステーションで使用される材料/資源、スループット率、停止時間、有害ガスなどが含まれ得るが、これらに限定されない。
本明細書で提供される1つまたは複数の技術は、画像および/またはビデオデータを使用して構成要素の最終品質基準を予測または予想することができるシステムを提供することによって、従来のプロセスを改善する。いくつかの実施形態では、システムは、製造システムの各処理ノードまたはステーションのツーリングのビデオおよび/または画像データを捕捉または記録するように構成された監視システムを含み得る。プロセス工程中のツーリングの配置に基づいて、本システムは、構成要素の最終品質基準を予測または予想するように構成することができる。予測された最終品質基準が許容値の範囲外にある場合、本システムは、処理中のエラーを修正しようとして、更新された処理命令を生成し、現在の処理ノードkもしくはステーションkの少なくとも1つに、または処理ノード(k+1)および/もしくはステーション(k+1)に提供することができるため、所望の最終品質基準が達成され得る。
いくつかの実施形態では、システムは、製造システムの各処理ノードまたはステーションで構成要素のビデオおよび/または画像データを捕捉または記録するように構成された監視システムを含み得る。処理ノードの端にある構成要素に関する視覚情報に基づいて、本システムは、構成要素の最終品質基準を予測または予想するように構成され得る。予測された最終品質基準が許容値の範囲外にある場合、本システムは、処理中のエラーを修正しようとして、更新された処理命令を生成し、処理ノードkもしくはステーションkの少なくとも1つに、または処理ノード(k+1)および/もしくはステーション(k+1)に提供することができるため、所望の最終品質基準が達成され得る。
このようにして、本システムは、実際に構成要素をテストする必要なしに、製造プロセスの任意の段階で、構成要素の最終品質基準を予測または予想することができる。このようなシステムは、破壊的なテストが必要な最終品質基準、または処理が完了するまで最終品質基準を評価できない場合に特に役立つ。
図1は、例示的な実施形態による、製造環境100を示すブロック図である。製造環境100は、製造システム102、監視プラットフォーム104、および制御モジュール106を含み得る。製造システム102は、多工程製造システムを広く表すことができる。いくつかの実施形態では、製造システム102は、組立ラインシステムを表すことができ、各処理ステーションは、人間の労働者を表すことができる。いくつかの実施形態では、製造システム102は、積層造形で使用するための製造システム(例えば、3D印刷システム)を表すことができる。いくつかの実施形態では、製造システム102は、減算加工(subtractive manufacturing)(例えば、CNC機械加工)で使用するための製造システムを表すことができる。いくつかの実施形態では、製造システム102は、積層造形と減算加工の組み合わせで使用するための製造システムを表すことができる。より一般的には、いくつかの実施形態では、製造システム102は、一般的な製造プロセスで使用するための製造システムを表すことができる。
製造システム102は、1つまたは複数のステーション1081~108n(一般に、「ステーション108」)を含み得る。各ステーション108は、多工程製造プロセスにおける工程および/またはステーションを表すことができる。例えば、各ステーション108は、3D印刷プロセスにおける層堆積動作を表すことができる(例えば、ステーション1081は、層1に対応し得、ステーション1082は、層2に対応し得る、等々)。別の例では、各ステーション108は、特定の処理ステーションに対応することができる。別の例では、各ステーション108は、組立ライン製造プロセスにおいて特定のタスクを実行する特定の人間のオペレータに対応することができる。
各ステーション108は、プロセスコントローラ114および制御論理116を含み得る。各プロセスコントローラ1141~114nは、各それぞれのステーション108の動作を制御するようにプログラムされ得る。いくつかの実施形態では、制御モジュール106は、各制御値について、所望の値または値の範囲を表すことができるステーションコントローラ設定値を各プロセスコントローラ114に提供することができる。制御論理116は、ステーションの108のプロセス工程に関連する属性/パラメータを指すことができる。動作中、各ステーション108の制御論理116は、最終品質基準の現在の軌道に応じて、制御モジュール106によって製造プロセス全体を通して動的に更新され得る。
監視プラットフォーム104は、製造システム102の各ステーション108を監視するように構成され得る。いくつかの実施形態では、監視プラットフォーム104は、製造システム102の構成要素であり得る。例えば、監視プラットフォーム104は、3D印刷システムの構成要素であり得る。いくつかの実施形態では、監視プラットフォーム104は、製造システム102から独立していてもよい。例えば、監視プラットフォーム104は、既存の製造システム102に組み込むことができる。いくつかの実施形態では、監視プラットフォーム104は、多工程プロセスの各段階で構成要素またはツーリング(例えば、労働者またはプロセスツール)の画像を捕捉するように構成された画像化デバイスを表すことができる。例えば、監視プラットフォーム104は、各ステーション108での構成要素の画像および/または各ステーション108で構成要素を展開している構成要素の画像(例えば、ツーリング、人間など)を捕捉するように構成され得る。一般に、監視プラットフォーム104は、構成要素(例えば、画像、電圧読み取り、速度読み取りなど)および/またはツール(例えば、手の位置、ツーリング位置など)の生成に関連する情報を捕捉し、その情報を入力として、評価のために制御モジュール106に提供するように構成され得る。
制御モジュール106は、1つまたは複数の通信チャネルを介して製造システム102および監視プラットフォーム104と通信することができる。いくつかの実施形態では、1つまたは複数の通信チャネルは、セルラーネットワークまたはWi-Fiネットワークなどのインターネットを介した個々の接続を表すことができる。いくつかの実施形態では、1つまたは複数の通信チャネルは、無線周波数識別(RFID)、近距離無線通信(NFC)、ブルートゥース(商標)、低エネルギーブルートゥース(商標)(BLE)、Wi-Fi(商標)、ZigBee(商標)、後方散乱通信(ABC)プロトコル、USB、WAN、またはLANなどの直接接続を使用して端末、サービス、およびモバイルデバイスを接続することができる。
制御モジュール106は、製造システム102の各プロセスコントローラを制御するように構成され得る。例えば、監視プラットフォーム104によって捕捉された情報に基づいて、制御モジュール106は、特定のステーション108に関連するプロセス制御を調整するように構成され得る。いくつかの実施形態では、制御モジュール106は、算定される最終品質基準に基づいて特定のステーション108のプロセス制御を調整するように構成され得る。
図2は、例示的な実施形態による、制御モジュール106を示すブロック図である。制御モジュール106は、ツーリングモジュール202および構成要素モジュール204を含み得る。
ツーリングモジュール202は、監視プラットフォーム104によって得られた画像データに基づいて、製造の所与の段階での標本の最終品質基準を算定するように構成され得る。動作中、制御モジュール106は、監視プラットフォーム104からの入力を受け取ることができる。いくつかの実施形態では、そのような入力は、多工程製造プロセスの所与の工程でサブプロセスを実行するツーリングの画像またはビデオの形をとることができる。例えば、画像またはビデオデータは、多工程製造プロセスの特定のサブプロセスを実行している間の人間の手の画像またはビデオデータを含み得る。別の例では、画像またはビデオデータは、多層製造プロセスの特定の層の堆積を実行する3次元プリンタの画像またはビデオデータを含み得る。入力に基づいて、制御モジュール106は、構成要素の最終品質基準を予測することができる。構成要素の算定される最終品質基準に応じて、制御モジュール106は、所望のまたは閾値の最終品質基準に到達するために、後続の製造工程で取るべき1つまたは複数のアクションを決定することができる。例えば、算定される最終品質基準が許容値の範囲外にある場合、制御モジュール106は、製造プロセスを修正するために1つまたは複数のアクションを実行することができる。いくつかの実施形態では、制御モジュール106は、現在のステーション108(k)または後続のステーション108(k+1)の少なくとも1つのステーションのステーションコントローラとインターフェースして、それぞれの制御および/またはステーションパラメータを調整することができる。いくつかの実施形態では、制御モジュール106は、生産ラインの各処理ステーション(k+1)で実行される更新された命令を人間の製造業者に提供することができる。これらの調整は、最終品質基準が許容可能な品質基準の範囲内になり得るように、製造プロセスの修正に役立ち得る。
構成要素モジュール204は、監視プラットフォーム104によって取得された画像データに基づいて、製造の所与の段階での標本の最終品質基準を算定するように構成され得る。いくつかの実施形態では、構成要素モジュール204は、監視プラットフォーム104からの入力を受け取ることができる。いくつかの実施形態では、そのような入力は、多工程製造プロセスの所与の工程での構成要素の画像またはビデオの形をとることができる。いくつかの実施形態では、構成要素モジュール204は、ツーリングモジュール202から、多工程製造プロセスの所与の工程で推定された構成要素データを受け取ることができる。例えば、ツーリングモジュール202は、ツーリング画像またはビデオデータに基づいて、多工程製造プロセスの所与の工程で構成要素に関する情報を推測し、その推測された情報を入力として構成要素モジュール204に提供することができる。入力に基づいて、構成要素モジュール204は、構成要素の最終品質基準を算定することができる。構成要素の算定される最終品質基準に応じて、構成要素モジュール204は、所望のまたは閾値の最終品質基準に到達するために、後続の製造工程で取るべき1つまたは複数のアクションを決定することができる。例えば、算定される最終品質基準が許容値の範囲外にある場合、構成要素モジュール204は、製造プロセスを修正するための1つまたは複数のアクションを識別し得る。いくつかの実施形態では、制御モジュール106は、現在のステーション108kまたは後続のステーション108(k+1)の少なくとも1つのステーションのステーションコントローラとインターフェースして、それぞれの制御および/またはステーションパラメータを調整することができる。いくつかの実施形態では、制御モジュール106は、生産ラインの現在の処理ステーションkまたは他の処理ステーション(k+1)の少なくとも1つで実行される更新された命令を人間の製造業者に提供することができる。これらの調整は、最終品質基準が許容可能な品質基準の範囲内になり得るように、製造プロセスの修正に役立ち得る。
ツーリングモジュール202および構成要素モジュール204のそれぞれは、1つまたは複数のソフトウェアモジュールを含み得る。1つまたは複数のソフトウェアモジュールは、1つまたは複数のアルゴリズム工程を実装する一連の機械命令(例えば、プログラムコード)を表す、媒体(例えば、制御モジュール106に関連するコンピューティングシステムのメモリ)に記憶されたコードまたは命令のコレクションであり得る。そのような機械命令は、プロセッサが命令を実装するために解釈する実際のコンピュータコードであり得るか、あるいは、実際のコンピュータコードを取得するために解釈される命令のより高いレベルのコーディングであり得る。1つまたは複数のソフトウェアモジュールはまた、1つまたは複数のハードウェア構成要素を含み得る。例示的なアルゴリズムの1つまたは複数の態様は、命令の結果としてではなく、ハードウェア構成要素(例えば、回路)自体によって実行され得る。さらに、いくつかの実施形態では、ツーリングモジュール202および構成要素モジュール204のそれぞれは、構成要素間で1つまたは複数の信号を送信するように構成され得る。そのような実施形態では、そのような信号は、コンピューティングデバイスによって実行される機械命令に限定されない場合がある。
いくつかの実施形態では、ツーリングモジュール202および構成要素モジュール204は、1つまたは複数のローカルネットワークを介して通信することができる。ネットワークは、セルラーネットワークやWi-Fiネットワークなど、インターネットを介した個別の接続を含め、任意の適切なタイプにすることができる。いくつかの実施形態では、ネットワークは、無線周波数識別(RFID)、近距離無線通信(NFC)、ブルートゥース(商標)、低エネルギーブルートゥース(商標)(BLE)、Wi-Fi(商標)、ZigBee(商標)、後方散乱通信(ABC)プロトコル、USB、WAN、またはLANなどの直接接続を使用して端末、サービス、およびモバイルデバイスを接続することができる。送信される情報は個人情報または機密情報である可能性があるため、セキュリティ上の懸念から、これらのタイプの接続の1つまたは複数を暗号化またはその他の方法で保護する必要がある。しかしながら、いくつかの実施形態では、送信される情報は個人的ではない可能性があり、したがって、ネットワーク接続は、セキュリティよりも利便性のために選択され得る。
ツーリングモジュール202は、取得システム206、抽出モジュール208、および予測モジュール210を含み得る。一般に、製造システム102などのマルチノードまたはマルチステーションアセンブリ環境は、大まかに
として表すことができ、ここで、
は、すべてのiノードで構成要素の状態を表すことができ、ここで
は、すべてのiノードでツーリングによって構成要素に対して実行されるアクションのそのセットを表し得る。標準または正規の品質測定値V
cが与えられると、ツーリングモジュール202は、推定品質基準、
を使用してアセンブリプロセスのエラーを最適化するように構成できるため、
はV
cの閾値距離内になり得る。いくつかの実施形態では、ツーリングモジュール202は、状態、
を推定することができ、これは、Nノードおよび、アクション、
のすべてにおける構成要素の状態の数値表現であり得、これは、各ノードの命令または制御値を表し得る。
取得システム206は、各ノードNでのアセンブリプロセスの画像データを受け取るように構成され得る。いくつかの実施形態では、取得システム206は、監視プラットフォーム104のアセンブリプロセスの画像データを受け取ることができる。いくつかの実施形態では、各ノードNについて、取得システム206は、V個の画像を受信することができ、ここで、Vは、各ノードでのアセンブリ手順を記録することができる監視プラットフォーム104のカメラの数を表すことができる。したがって、V個の画像の各画像は、処理中に構成要素の異なる視点を捕捉することができる。画像データの受信に続いて、取得システム206は、フレームの画像のサブセットを抽出するように構成され得る。例えば、取得システム206は、受信された画像データからL個の画像を抽出するように構成され得る。抽出された画像は、ランドマークフレームと呼ばれることがある。ランドマークフレームは、高運動である画像フレームである可能性がある。抽出された画像には、構成要素の特定のランドマーク
を含む画像またはフレームが含まれ得、ここで、
であり、構成要素の製造プロセス全体を表し得る。
特定のオペレータの最小運動(例えば、「ランドマーク」)フレームと最大運動(例えば、「高運動」)フレームの両方に、多数のオペレータにまたがる堅牢な方法で指と手の腕のデータと飛行性能データを相関させようとしている分類器に役立つ情報が含まれ得る。いくつかの実施形態では、オプティカルフローアルゴリズムを使用して、任意の所与のフレーム内の運動量を測定することができる。取得システム206は、最も多くの運動を含むフレームを選択することができる。
抽出モジュール208は、L個の画像からキーポイントを抽出するように構成され得る。例えば、抽出モジュール208は、ランドマークI
iごとに、K個のキーポイント、すなわち、(x,y)対を抽出するように構成され得る。言い換えれば、抽出モジュール208は、所与の入力、
に対してK個のキーポイントを出力するように構成され得、ここで、l∈[0,L-1]である。出力として、抽出モジュール208は、単一のベクトル
を生成することができる。このベクトルには、
で表すことができるK個の(x,y)対のランドマーク表現を含めることができ、ここでi∈[0,L-1]である。
いくつかの実施形態では、
を生成するために、抽出モジュール208は、2つの別個のアルゴリズムを実装することができる。(1)境界ボックス推定、(2)キーポイント検出。
境界ボックス推定に関しては、
が与えられると、各ランドマークフレームは、各ツーリング構成要素のマスク画像を生成するために閾値画像セグメンテーションで処理され得る。例えば、ツーリングが人間である実施形態では、抽出モジュール208は、ユーザの手のそれぞれについてマスク画像を生成することができる。いくつかの実施形態では、抽出モジュール208は、ブロブ検出を実装して、ツーリングの構成要素を見つけることができる。例として人間を使用すると、抽出モジュール208は、画像が常にユーザの左手と右手の両方を含むと想定することができる。フレームが両手を含むことができない場合、抽出モジュール208は、任意の定数値cで値を割り当てることができる。
キーポイント検出に関して、抽出モジュール208は、推定された境界ボックスに基づいて、ツーリングのキーポイントを識別し得る。例えば、与えられた入力で、抽出モジュール208は、その信頼値
と共に、K個の点、
を推定することができる。いくつかの実施形態では、抽出モジュール208は、フレーム上に見える点だけでなく、1つまたは複数の関節、視点、オブジェクト、またはツールの相互作用のためにフレームから閉塞される可能性がある点も推定することができる。追跡されたキーポイントを使用して品質測定を予測することが目的である可能性があるため、推定されていない閉塞点は、アセンブリプロセスを表す一意で重要な機能である可能性がある。したがって、閉塞閾値t
oは、ランドマークフレームのランダムに選択された小さなサブセット内の閉塞点のc
i値の観察から導出できる。t
oを使用して、抽出モジュール208は、c
o<t
oである推定をフィルタリングすることができる。それらのフィルタリングされた点について、抽出モジュール208は、それらに任意の定数値cを割り当てることができる。フレーム上のツーリングまたはキーポイントの可視性に関係なく、抽出モジュール208の出力は、各構成要素のL×K(x,y)対を含み得る。
言い換えれば、抽出モジュール208は、閉塞された構成要素にデフォルトの基礎信頼レベルを割り当てるように構成され得、したがって、これらのキーポイントを推定して、観察されたトライアルツーリング構成要素の位置と正規のツーリング構成要素の位置との間の不一致を測定するためのキーポイントのフルセットを利用できるようにする。いくつかの実施形態では、ツーリングモジュール202は、所与の時点(例えば、ステーションi)での構成要素の状態についての推論を引き出し、次に、測定された不一致を修正するために取るべき、推奨される正規から変更された後続のアクションを出力することができる。
予測モジュール210は、最終品質基準、
を予測するように構成され得る。例えば、予測モジュール210は、最終品質基準、
を予測するように構成され得、
、L個の時点、
のツーリング追跡情報が与えられ、
は、各処理ステーション108から収集することができる。いくつかの実施形態では、予測モジュール210は、最終品質基準を出力するために、長短期メモリ(LSTM)モデルを実装することができる。LSTMモデルは、予測モジュール210が、従来の回帰ニューラルネットワークで一般的である勾配消失問題を克服することを可能にし得る。勾配消失問題は、勾配の大きさが後の層に対して小さいときに、モデルがニューラルネットワークの初期重みを関連付けることができない場合である。LSTMモデルはこの問題を排除する。
いくつかの実施形態では、ツーリングモジュール202は分類モジュール215をさらに含み得る。分類モジュール215は、予測された最終品質基準、
に基づいて標本を1つまたは複数のクラスに分類するように構成され得る。例えば、動作中、分類モジュール215は、標本の正規のまたは所望の最終品質基準V
cを受け取ることができる。分類モジュール215は、予測された最終品質基準
を正規のまたは所望の最終品質基準V
cと比較して、デルタΔ
Vを生成するように構成され得る。Δ
Vの値に応じて、分類モジュール215は、標本を1つまたは複数のクラスに分類することができる。例えば、分類モジュール215は、標本を、4つのクラス:不可(fail)(クラス1)、可(fair)(クラス2)、優(excellent)(クラス3)およびオーバークオリファイ(クラス4)のうちの1つに分類することができると仮定する。分類モジュール215は、関連するクラス定義に基づいて標本を分類することができる。例えば、関連する定義は、
であり得る。
当業者なら分かるとおり、関連する定義は、オペレータまたはクライアントの好みに基づいて変化し得る。
いくつかの実施形態では、制御モジュール106は、構成要素に割り当てられた分類を使用して、最終品質基準が許容可能であるかどうかを決定することができる。例えば、オペレータまたはクライアントは、クラス1に分類された構成要素は許容可能でなく、クラス2~4のいずれかに分類された構成要素は許容可能であると指定することができる。別の例では、オペレータまたはクライアントは、クラス1またはクラス2に分類された構成要素は許容可能でなく、クラス3またはクラス4に分類された構成要素は許容可能であると指定することができる。
図3は、例示的な実施形態による、LSTMモデルの例示的なアーキテクチャを示すブロック図である。示されるように、LSTMモデル300は、3つの層3021~3023(一般に層302)を含み得る。示されるように、各層302は、1つまたは複数のセル304を含み得る。いくつかの実施形態では、各セル304の入力は、piであり得、ここで、i∈[0,L-1]である。LSTMの各セルは、次のように定義できる。
eq.1:fi=σ(Wf×[hi-1,pi]+bf)
eq.2:I_i=σ(W_I×[h_(i-1),p_i]+b_I)
eq.3:c=fi×ct-1+Ii×tanh(Wc×[hi-1,pi]+bc)
eq.4:oi=σ(Wo×[hi-1,pi]+bo)
eq.5:hi=oi×tanhci
ここで、式1は、前のセルからの情報を保持するかどうかを決定する。式(2)は、更新する値を決定する。式(3)はセルを更新する。式(4)は、出力する部分を決定する。式(5)は、LSTMモデル300が出力するようにプログラムされたもののみを出力するように、出力部分をフィルタリングすることができる。
いくつかの実施形態では、LSTMモデル300は、30の隠れたサイズを有する3つの層302を含み得る。いくつかの実施形態では、LSTMモデル300は、シーケンス対1のLSTMモデルであり得る。トレーニングの場合、L1、平均絶対エラー(MAE)、損失関数:
は、Adamオプティマイザーを使用して最小化できる。いくつかの実施形態では、目標は、エラーの方向に関係なく、エラーの大きさを最小化または低減することである可能性があるため、MAEを使用することができる。
図2に戻ると、予測モジュール210は、正規の命令セット、
および複数の構成要素Mを使用してトレーニングされ得る。例えば、M個のデータの10ノードビデオを使用して、予測モジュール210の入力は、最初に、取得システム206および抽出モジュール208を介して前処理されることによって構造化され得る。いくつかの実施形態では、トレーニングに関与する各構成要素は、それらの組成物(例えば、形状)をチェックする検証アルゴリズムを介して検証され得る。いくつかの実施形態では、検証アルゴリズムは、組成物を正規の組成物と比較することによって、各ノードの終わりにある組成物の類似性指数を計算することができる。結果として、トレーニングの構成要素は、正規の組成物とほぼ同じである。
いくつかの実施形態では、出力のために、対応する物理構成要素を制御された環境でテストして、それらの品質基準を測定することができる。対応する出力データと共に準備された入力データを使用して、予測モジュール210は、例えば、Mの一部がトレーニングデータであり、Mの別の部分が検証データであるようにトレーニングされ得る。トレーニングされると、予測モジュール210は、ツーリングの画像データに基づいて、所与の処理工程での構成要素の品質測定を予測することができる可能性がある。
ここで、構成要素モジュール204を参照すると、構成要素モジュール204は、確率的勾配降下(SGD)モジュール212、ゲート付き回帰ユニット(GRU)モデル214、およびシミュレーションモジュール216を含み得る。この説明では、構成要素の部分的な構成を
として定義できる。ここで、工程kは製造プロセスに不可逆的エラーをもたらし、工程k+1,...,Nはまだ定義されていない。構成要素モジュール204は、残りのアクション[{r
k+i,t
k+i},...,{r
N,t
N}]の最適な修正シーケンスを識別するように構成され得る。rおよびtは、製造システム102の現在の処理ステーションまたは後続の各処理ステーション(k+1~N)の少なくとも1つにおいて、構成要素に対して実行されるべき特定の動作に対応し得る。より一般的には、任意の構成要素
は、製造システムの各処理ステーション1...Nで実行されるすべての動作のシーケンスとして定義できる。数学的には、
。各製造工程i=1,...,10で、仮想表現システムは、ユークリッド空間の構成要素(例えば、
)を、接続された表面のセットと、各表面の外側の輪郭に沿って均一に分散された接続された点のセットとして表すことができる。いくつかの実施形態では、これらの表現を生成する仮想表現関数は、それぞれ、
および
と呼ばれ得る。いくつかの実施形態では、構成要素モジュール204は、特定の正規の構成要素
に向けて
を修正するように構成され得る。
シミュレーションモジュール216は、所与の構成要素
の表面モデルをシミュレートまたは生成するように構成され得る。例えば、シミュレーションモジュール216は、ツーリングモジュール202からツーリング情報を受け取ることができる。ツーリングモジュール202によって生成されたキーポイントに基づいて、シミュレーションモジュール216は、特定のプロセス工程iでの構成要素
の状態を表す表面モデルを生成するように構成され得る。いくつかの実施形態では、表面モデルは、
として表すことができる。いくつかの実施形態では、シミュレーションモジュール216は、構成要素
の品質基準を生成または推定するようにさらに構成され得る。表面モデルから、シミュレーションモジュール216は、構成要素
の特定の座標を表す点モデル、
を生成するように構成され得る。例えば、表面モデル
から、シミュレーションモジュール216は、
の各表面の境界輪郭の周りに等間隔に配置された多数の点を配置することによって、点モデル、
を作成することができる。いくつかの実施形態では
を使用して、アーチファクト
の性能をシミュレートすることができる。
SGDモジュール212は、シミュレーションモジュール216から点モデル
を受け取ることができる。SGDモジュール212は、工程iでの点モデル
を、正規の構成要素、
の正規の点モデル
と比較することによって、不可逆的エラーkが発生したかどうかを決定することができる。不可逆的エラーは、工程kでの正規の構成要素からの測定可能なほど有意な構造偏差であると定義できる。SGDモジュール212は、ハウスドルフ距離を取ることによって不可逆的エラーを検出するように構成され得る。例えば、SGDモジュール212は、それぞれのユークリッド点セットに基づいて、現在の構成要素
の処理工程を正規の構成要素
に一致させることができる。数学的には、SGDモジュール212は、i∈i=1,...,Nの
と
の間のハウスドルフ距離を計算するように構成できる。例えば、
ここで、d(x,y)はxとyの間のユークリッド距離であり、無向ハウスドルフ距離は次のようになり得る。
H(X,Y)=max{h(X,Y),h(Y,X)
現在の構成要素
と正規の構成要素
の間のハウスドルフ距離が閾値許容範囲を超えると、不可逆的エラーが発生する可能性がある。例えば、SGDモジュール212は、以下の場合に工程kでエラーが発生したと決定することができる。
ここで、τ
Hは適切に定義された許容閾値である。
エラーがあると仮定すると、SGDモジュール212は、更新されたアクション[{r
k+1,t
k+1},...,{r
N,t
N}]のセット、不可逆的エラーkのエラーの点までの所与のアクションのセットを構築するように構成されてもよい。いくつかの実施形態では、この更新されたアクションのセットは、x
tailと呼ばれることがある。エラー工程kの前にあり、エラー工程kを含む一連の工程またはアクションは、x
headと呼ばれる場合がある。一緒に、x
tailとx
headは構成要素
を定義し得る。x
headに基づいて、SGDモジュール212は確率的勾配降下法を使用してx
tailを解くことができる。
GRUモデル214は、
に基づいて、構成要素
の最終品質基準を予測するように構成できる。ここで、
はベクトル連結演算子を表し得る。GRUモデル214によって生成された最終品質基準を正規の最終品質基準と比較して、x
tailが適切かどうかを決定できる。例えば、x
tailとx
headの組み合わせが、許容値の範囲外の最終品質基準を生成すると仮定すると、GRUモデル214は、SGDモジュール212に、さらなる評価のために更新されたアクションの更新されたシーケンスを生成するように指示できる。
図5は、例示的な実施形態による、GRUモデル214のアーキテクチャを示すブロック図である。示されるように、GRUモデル214は、N GRUセル502
1~502
N(一般に、GRUセル502)を含み得、各GRUセル502は、それぞれの処理ステーション108に対応する。各GRUセル502は、(r
i,t
i)入力対および所定のサイズの非表示状態出力
を含み得る。一緒に、これらの入力対(r
i,t
i)は、特定の構成要素
を定義できる。いくつかの実施形態では、各GRUセル502は、以下によって定義され得る。
ここで、
は時間tでの非表示状態、
は時間tでの入力、
、
、および
はそれぞれ時間tでのリセット、更新、新しいゲートを表すことができる。
GRUモデル214は、それに対応する重みを生成するようにトレーニングできる。例えば、GRUモデル214は、特定のサブ問題を解決する方向にGRUモデル214にバイアスをかけるように繰り返しトレーニングすることができる。いくつかの実施形態では、第1の反復中に、GRUモデル214は、各予測に対応する対応する予測品質基準と共に工程k+1,...,Nで所与の構成要素
を完了するために、複数(例えば、数百から数千)の最良の予測(工程kで起こり得るエラーごとに1つ)を生成し得る。
いくつかの実施形態では、予測された完成のすべてが仮想表現システムでレンダリングされ、それらの段階的なハウスドルフ距離が計算され、それらのレンダリングされた表面がシミュレートされて、生成された予測と正規との間の距離測度が得られる。いくつかの実施形態では、正規の品質基準測定値と予測された品質基準測定値との間の損失値が計算され、GRUモデル214にフィードバックされ得、その重みは、逆伝播によって調整され得、第2の反復を生成し得る。このプロセスは、所望のエラー閾値が得られるまで続く場合がある。
いくつかの実施形態では、GRUモデル214は、準備されたデータセットまたは合成データセットでトレーニングすることができる。例えば、シミュレータモジュール216または別のシミュレーションシステム(例えばCADモデル)を使用して、GRUモデル214をトレーニングするためのトレーニングセットを生成することができる。例えば、シミュレーションシステムは、例えば、すべてのパラメータ値の許容される完全な範囲をカバーし得る、アクションの偏りのないランダム化された多くの試行を表すために、準備された構成要素のセット(例えば100,000個の準備された構成要素)を生成し得る。いくつかの実施形態では、準備された構成要素のセットは、偏りのないランダム化された試行に加えて、アクションの偏ったランダム化された試行も含み得る。このセットは、P(U(0,1),100000)と呼ばれることがある。各
は、一様分布U(0,1)からサンプリングすることによってその定義パラメータ値を取得することができる。
いくつかの実施形態では、例えば、構成要素を処理して正規の構成要素
を複製する多くの試行を表すために、50,000個の準備された構成要素のセットを生成することができる。これは、セット
と呼ばれることがある。各
は、統計学的サンプリングプロセスによってその定義パラメータ値を取得することができる。いくつかの実施形態では、i番目のアクションは、正規に定義された対応する折り畳みに中心的に向かうことがあり、適切にパラメータ化されたガウス分布に従って変化し得る。準備された構成要素データセットは、
として定義できる。
図4は、例示的な実施形態による、ツーリングモジュール202のためのフィードバックセグメント400の全体的なプロセスフローを視覚的に示すブロック図である。
示されるように、フィードバックセグメント400は、第1の部分402、第2の部分404、および第3の部分406を含み得る。第1の部分402の間、ツーリングモジュール202は、取得システム206によって少なくとも部分的に実行されるような取得プロセスを実行することができる。
示されるように、ブロック408で、製造システム102は、構成要素を処理するための処理命令を受け取ることができる。いくつかの実施形態では、製造システム102は、ステーション108ごとに処理命令を受け取ることができる。例えば、製造システム102の各ステーション108は、独立した処理命令を受け取ることができる。いくつかの実施形態では、処理命令は、製造のためのステーション108の属性(例えば、温度、圧力など)を定義する制御値を含み得る。いくつかの実施形態では、処理命令は、製造プロセスの処理ノードで特定の処理工程を実行する方法を人間のオペレータに視覚的に示すビデオまたは画像を含み得る。
ブロック410において、取得システム206は、監視プラットフォーム104から画像データを受け取ることができる。いくつかの実施形態では、各ノードNについて、取得システム206は、V個の画像を受信することができ、ここで、Vは、各ノードでのアセンブリ手順を記録することができる監視プラットフォーム104のカメラの数を表すことができる。画像データの受信に続いて、ブロック412で、取得システム206は、フレームの画像のサブセットを抽出するように構成され得る。例えば、取得システム206は、受信された画像データからL個の画像を抽出するように構成され得る。抽出された画像は、ランドマークフレームと呼ばれることがある。抽出された画像には、特定のランドマークを含むそれらの画像またはフレームが含まれ得、構成要素の製造プロセス全体を表し得る。
第2の部分404は、抽出モジュール208によって実行される動作に対応し得る。示されるように、抽出モジュール208は、取得システム206から少なくとも抽出された画像を受信することができる。抽出モジュール208は、L個の画像からキーポイントを抽出するように構成され得る。例えば、抽出モジュール208は、ランドラークIiごとに、K個のキーポイント、すなわち、(x,y)対を抽出するように構成され得る。
ブロック414で、抽出モジュール208は、境界ボックス推定を実行することができる。例えば、
が与えられた場合、各ランドマークフレームは、閾値画像セグメンテーションで処理され、各ツーリング構成要素のマスク画像が生成され得る。例えば、示されるように、ツーリングが人間である実施形態では、抽出モジュール208は、ユーザの手のそれぞれについてマスク画像を生成することができる。
ブロック416で、抽出モジュール208は、境界ボックス推定を前提として、キーポイント検出を実行することができる。例えば、与えられた入力で、抽出モジュール208は、その信頼値
と共に、K個の点、
を推定することができる。いくつかの実施形態では、抽出モジュール208は、フレーム上に見える点だけでなく、1つまたは複数の関節、視点、オブジェクト、またはツールの相互作用のためにフレームから閉塞される可能性がある点も推定することができる。
第3の部分406は、予測モジュール210によって実行される動作に対応することができる。示されるように、ブロック418で、予測モジュール210は、抽出モジュール208からキーポイント情報を受信することができ、最終品質基準、
を予測するように構成することができる。いくつかの実施形態では、予測モジュール210は、最終品質基準を出力するために、長短期メモリ(LSTM)モデルを実装することができる。
図6Aは、例示的な実施形態による、多工程製造プロセスを修正する方法600を示す流れ図である。方法600は、工程602で開始することができる。
工程602で、命令セットが製造システム102に提供され得る。命令セットは、製造システム102によって実行される製造プロセスのための命令のセットを表すことができる。いくつかの実施形態では、命令セットは、各ステーション108に提供され得る。例えば、各それぞれのステーション108に提供される各正規の命令セットは、特定の製造工程のための処理パラメータを定義することができる。別の例では、各正規の命令セットは、特定の処理ノードまたはステーション108で人間のアクターによって実行される個別の工程のビデオであり得る。
工程604で、制御モジュール106は、監視プラットフォーム104からツーリング(例えば、ステーション108)の画像データを受け取ることができる。例えば、取得システム206は、それぞれの処理ノードでのアセンブリプロセスの画像データを受け取ることができる。いくつかの実施形態では、取得システム206は、V個の画像を受信することができ、ここで、Vは、特定の処理ステーション108でのアセンブリ手順を記録することができる監視プラットフォーム104のカメラの数を表すことができる。したがって、V個の画像の各画像は、処理中にツーリングの異なる視点を捕捉することができる。
工程606で、制御モジュール106は、取得された画像データから画像のサブセットを抽出することができる。例えば、画像データの受信に続いて、取得システム206は、フレームの画像のサブセットを抽出するように構成され得る。例えば、取得システム206は、受信された画像データからL個の画像、すなわちランドマークフレームを抽出するように構成され得る。抽出された画像は、ランドマークフレームと呼ばれることがある。ランドマークフレームは、高運動のそれらの画像フレームであり得る。抽出された画像には、構成要素の特定のランドマーク、
を含む画像またはフレームが含まれ得、ここで、
であり、構成要素の製造プロセス全体を表すことができる。
工程608で、制御モジュール106は、ランドマークフレームからツーリングの1つまたは複数のキーポイントを抽出することができる。例えば、抽出モジュール208は、L個の画像からキーポイントを抽出することができる。抽出モジュール208は、所与の入力、
に対してK個のキーポイントを識別または抽出することができ、ここで、l∈[0,L-1]である。出力として、抽出モジュール208は、単一のベクトル
を生成することができる。このベクトルには、
で表すことができるK個の(x,y)対のランドマーク表現を含めることができ、ここで、i∈[0,L-1]である。
工程610で、制御モジュール106は、少なくとも識別されたキーポイントに基づいて、構成要素の最終品質基準を予測することができる。いくつかの実施形態では、予測モジュール210は、最終品質基準を出力するために、長短期メモリ(LSTM)モデルを実装することができる。
工程612で、制御モジュール106は、最終品質基準を所望の品質測定基準と比較することができる。工程612で、制御モジュール106が、最終品質基準が所望の品質基準の閾値許容範囲であると決定した場合、製造プロセスは、元の命令セットに従って、次の処理ステーションまたはノードに進むことができる(例えば、工程616)。しかしながら、工程612で、制御モジュール106が、最終品質基準が所望の品質基準の閾値許容範囲内にないと決定した場合、工程614で、制御モジュール106は、処理ステーションkまたは1つもしくは複数の処理ステーションk+1の少なくとも1つのステーションの処理パラメータを調整することができ、ここで、kは、現在の処理ステーションを表すことができ、k+1は、現在の処理ステーションの下流の他の処理ステーションを表すことができる。いくつかの実施形態では、制御モジュール106は、現在のステーション108(k)および/または後続のステーション108(k+1)のステーションコントローラとインターフェースして、それぞれの制御および/またはステーションパラメータを調整することができる。いくつかの実施形態では、制御モジュール106は、生産ラインの処理ステーションkまたは1つもしくは複数の処理ステーション(k+1)の少なくとも1つで実行される更新された命令を人間の製造業者に提供することができる。これらの調整は、最終品質基準が許容可能な品質基準の範囲内になり得るように、製造プロセスの修正に役立ち得る。
図6Bは、例示的な実施形態による、多工程製造プロセスを修正する方法650を示す流れ図である。方法650は、工程652で開始することができる。
工程652で、命令セットが製造システム102に提供され得る。命令セットは、製造システム102によって実行される製造プロセスのための命令のセットを表すことができる。いくつかの実施形態では、命令セットは、各ステーション108に提供され得る。例えば、各それぞれのステーション108に提供される各正規の命令セットは、特定の製造工程のための処理パラメータを定義することができる。別の例では、各正規の命令セットは、特定の処理ノードまたはステーション108で人間のアクターによって実行される個別の工程のビデオであり得る。
工程654で、制御モジュール106は、監視プラットフォーム104からツーリング(例えば、ステーション108)の画像データを受け取ることができる。例えば、取得システム206は、それぞれの処理ノードでのアセンブリプロセスの画像データを受け取ることができる。いくつかの実施形態では、取得システム206は、V個の画像を受信することができ、ここで、Vは、特定の処理ステーション108でのアセンブリ手順を記録することができる監視プラットフォーム104のカメラの数を表すことができる。したがって、V個の画像の各画像は、処理中にツーリングの異なる視点を捕捉することができる。
工程656で、制御モジュール106は、取得された画像データから画像のサブセットを抽出することができる。例えば、画像データの受信に続いて、取得システム206は、フレームの画像のサブセットを抽出するように構成され得る。例えば、取得システム206は、受信された画像データからL個の画像、すなわちランドマークフレームを抽出するように構成され得る。抽出された画像は、ランドマークフレームと呼ばれることがある。ランドマークフレームは、高運動のそれらの画像フレームであり得、製造プロセスの進行を明確に捕捉する最も有意味の特徴を含み得る。抽出された画像には、構成要素の特定のランドマーク、
を含む画像またはフレームが含まれ得、ここで、
であり、構成要素の製造プロセス全体を表すことができる。
工程658で、制御モジュール106は、ランドマークフレームからツーリングの1つまたは複数のキーポイントを抽出することができる。例えば、抽出モジュール208は、L個の画像からキーポイントを抽出することができる。抽出モジュール208は、所与の入力、
に対してK個のキーポイントを識別または抽出することができ、ここで、l∈[0,L-1]である。出力として、抽出モジュール208は、単一のベクトル
を生成することができる。このベクトルには、
で表すことができるK個の(x,y)対のランドマーク表現を含めることができ、ここで、i∈[0,L-1]である。
工程660で、制御モジュール106は、少なくとも識別されたキーポイントに基づいて、構成要素の最終品質基準を予測することができる。いくつかの実施形態では、予測モジュール210は、最終品質基準の推定値を出力するために、長短期メモリ(LSTM)モデルを実装することができる。
工程662で、制御モジュール106は、最終品質基準に基づいて構成要素を分類することができる。例えば、分類モジュール215は、予測された最終品質基準、
に基づいて構成要素を1つまたは複数のクラスに分類することができる。構成要素を分類するために、ツーリングモジュール202は、構成要素の正規のまたは所望の最終品質基準V
cを受け取ることができる。ツーリングモジュール202は、予測された最終品質基準
を正規のまたは所望の最終品質基準V
cと比較して、デルタΔ
Vを生成するように構成され得る。Δ
Vの値に応じて、分類モジュール215は、構成要素を1つまたは複数のクラスに分類することができる。
いくつかの実施形態では、方法650は、動作664~668をさらに含み得る。
工程664で、制御モジュール106は、構成要素に割り当てられたクラスが許容可能なクラスであるかどうかを決定することができる。工程664で、制御モジュール106が、構成要素が許容可能なクラスに割り当てられたと決定した場合、製造プロセスは、元の命令セットに従って、次の処理ステーションまたはノードに進むことができる(例えば、工程666)。しかしながら、工程664で、制御モジュール106が、構成要素が許容できないクラスに割り当てられたと決定した場合、工程668で、制御モジュール106は、処理ステーションkまたは1つもしくは複数の処理ステーション(k+1)の少なくとも1つのステーションの処理パラメータを調整することができる。いくつかの実施形態では、制御モジュール106は、現在のステーション108または後続のステーション108の少なくとも1つのステーションのステーションコントローラとインターフェースして、それらのそれぞれの制御および/またはステーションパラメータを調整することができる。いくつかの実施形態では、制御モジュール106は、生産ラインの処理ステーションkまたは1つもしくは複数の処理ステーション(k+1)の少なくとも1つで実行される更新された命令を人間の製造業者に提供することができる。これらの調整は、最終品質基準が許容可能な品質基準の範囲内になり得るように、製造プロセスの修正に役立ち得る。
図7は、例示的な実施形態による、多工程製造プロセスを修正する方法700を示す流れ図である。方法700は、工程702から開始することができる。
工程702で、命令セットが製造システム102に提供され得る。命令セットは、製造システム102によって実行される製造プロセスのための命令のセットを表すことができる。いくつかの実施形態では、命令セットは、各ステーション108に提供され得る。例えば、各それぞれのステーション108に提供される各正規の命令セットは、特定の製造工程のための処理パラメータを定義することができる。別の例では、各正規の命令セットは、特定の処理ノードまたはステーション108で人間のアクターによって実行される個別の工程のビデオであり得る。
工程704において、制御モジュール106は、それぞれの処理ノードにおける構成要素に対応する情報を識別し得る。いくつかの実施形態では、シミュレーションモジュール216は、ツーリングモジュール202からツーリング情報を受け取ることができる。ツーリングモジュール202によって生成されたキーポイントに基づいて、シミュレーションモジュール216は、特定のプロセス工程iでの構成要素
の状態を表す表面モデルを生成するように構成され得る。いくつかの実施形態では、表面モデルは、
として表すことができる。いくつかの実施形態では、シミュレーションモジュール216は、構成要素
の品質基準を生成または推定するようにさらに構成され得る。表面モデルから、シミュレーションモジュール216は、構成要素
の特定の座標を表す点モデル、
生成するように構成され得る。
工程706において、制御モジュール106は、不可逆的エラーが発生したかどうかを決定することができる。例えば、SGDモジュール212は、シミュレーションモジュール216から点モデル、
を受け取ることができる。SGDモジュール212は、工程iでの点モデル
を、正規の構成要素、
の正規の点モデル、
と比較することによって、不可逆的エラーkが発生したかどうかを決定することができる。SGDモジュール212は、点モデルと対応する正規の点モデルとの間のハウスドルフ距離を取ることによって不可逆的エラーを検出するように構成され得る。それぞれの処理ステーションまたはノードで、現在の構成要素
と正規の構成要素
の間のハウスドルフ距離が閾値許容範囲を超えると、不可逆的エラーが存在する可能性がある。
工程706で、制御モジュール106が不可逆的エラーが発生していないと決定した場合、製造プロセスは、元の命令セットに従って、次の処理ステーションまたはノードに進むことができる(工程705)。しかし、工程706で、制御モジュール106が不可逆的エラーが発生したと決定した場合、方法700は工程708に進む。
工程708で、制御モジュール106は、不可逆的エラーを修正するための更新されたアクションのセットを生成することができる。SGDモジュール212は、更新されたアクション[{r
k+1,t
k+1},...,{r
N、t
N}]のセット、不可逆的エラーkのエラーの点までの所与のアクションのセットを構築することができる。いくつかの実施形態では、この更新されたアクションのセットは、x
tailと呼ばれることがある。エラー工程kの前にあり、エラー工程kを含む一連の工程またはアクションは、x
headと呼ばれる場合がある。一緒に、x
tailとx
headは構成要素
を定義し得る。x
headに基づいて、SGDモジュール212は確率的勾配降下法を使用してx
tailを解くことができる。エラー工程kの前にあり、エラー工程kを含む一連の工程またはアクションは、x
headと呼ばれる場合がある。一緒に、x
tailとx
headは構成要素
を定義し得る。x
headに基づいて、SGDモジュール212は確率的勾配降下法を使用してx
tailを解くことができる。
工程710で、制御モジュール106は、SGDモジュール212によって生成されたアクションのセットに基づいて、構成要素の予測された最終品質基準を生成することができる。例えば、GRUモデル214は、
に基づいて構成要素
の最終品質基準を予測するように構成できる。ここで、
はベクトル連結演算子を表すことができる。
工程712で、制御モジュール106は、予測された最終品質基準が正規の最終品質基準の閾値許容範囲内にあるかどうかを決定することができる。例えば、GRUモデル214によって生成された最終品質基準を正規の最終品質基準と比較して、xtailが適切かどうかを決定できる。工程712で、制御モジュール106が、予測された品質基準が閾値許容範囲内にあると決定した場合、工程714で、制御モジュール106は、処理ステーションkまたは1つもしくは複数の処理ステーション(k+1)の少なくとも1つのステーションの処理パラメータを調整することができる。いくつかの実施形態では、制御モジュール106は、ステーション108(k)または後続のステーション108(k+1)のステーションコントローラとインターフェースして、それらのそれぞれの制御および/またはステーションパラメータを調整することができる。いくつかの実施形態では、制御モジュール106は、生産ラインの処理ステーションkまたは1つもしくは複数の処理ステーション(k+1)の少なくとも1つで実行される更新された命令を人間の製造業者に提供することができる。これらの調整は、最終品質基準が許容可能な品質基準の範囲内になり得るように、製造プロセスの修正に役立ち得る。
しかしながら、工程712で、制御モジュール106が、予測された品質基準が閾値許容範囲内にないと決定した場合、GRUモデル214は、SGDモジュール212に新しいxtailを生成するように促すことができる。例えば、方法700は、SGDモジュール212の工程708に戻って、更新されたアクションの新しいセットを構築することができる。
図8Aは、例示的な実施形態による、システムバスコンピューティングシステムアーキテクチャ800を示している。システム800の1つまたは複数の構成要素は、バス805を使用して互いに電気的に通信していてもよい。システム800は、プロセッサ(例えば、1つまたは複数のCPU、GPUまたは他の種類のプロセッサ)810およびシステムバス805を含み得、これは、読み取り専用メモリ(ROM)820およびランダムアクセスメモリ(RAM)825などのシステムメモリ815を含む様々なシステム構成要素をプロセッサ810に結合する。システム800は、プロセッサ810に直接接続されているか、近接しているか、またはプロセッサ810の一部として統合されている高速メモリのキャッシュを含むことができる。システム800は、プロセッサ810による迅速なアクセスのために、メモリ815および/またはストレージデバイス830からキャッシュ812にデータをコピーすることができる。このようにして、キャッシュ812は、データを待機している間のプロセッサ810の遅延を回避する性能向上を提供し得る。これらおよび他のモジュールは、プロセッサ810を制御するか、または制御して様々なアクションを実行するように構成することができる。他のシステムメモリ815も同様に使用可能であり得る。メモリ815は、異なる性能特性を有する複数の異なるタイプのメモリを含み得る。プロセッサ810は、単一のプロセッサまたは複数のプロセッサを表すことができる。プロセッサ810は、プロセッサ810およびソフトウェア命令が実際のプロセッサ設計に組み込まれている専用プロセッサを制御するように構成された、ストレージデバイス830に記憶されたサービス1 832、サービス2 834、およびサービス3 836などの汎用プロセッサあるいはハードウェアモジュールまたはソフトウェアモジュールのうちの1つまたは複数を含むことができる。プロセッサ810は、本質的に、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュなどを含む、完全に自己完結型のコンピューティングシステムであり得る。マルチコアプロセッサは、対称または非対称の場合がある。
コンピューティングデバイス800とのユーザ相互作用を可能にするため、入力デバイス845は、音声用のマイクロフォン、ジェスチャまたはグラフィック入力用のタッチセンシティブスクリーン、キーボード、マウス、モーション入力、音声など、任意の数の入力メカニズムであり得る。出力デバイス835はまた、当業者に知られているいくつかの出力機構のうちの1つまたは複数であり得る。場合によっては、マルチモーダルシステムは、ユーザがコンピューティングデバイス800と通信するために複数のタイプの入力を提供することを可能にすることができる。通信インターフェース840は、一般に、ユーザ入力およびシステム出力を運営および管理することができる。特定のハードウェア構成での動作に制限はない。したがって、ここでの基本機能は、開発時に改善されたハードウェアまたはファームウェア構成に簡単に置き換えることができる。
ストレージデバイス830は、不揮発性メモリであり得るし、磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ(RAM)825、読み取り専用メモリ(ROM)820、およびそれらのハイブリッドなど、コンピュータによってアクセス可能なデータを記憶することができるハードディスクまたは他のタイプのコンピュータ可読媒体であり得る。
ストレージデバイス830は、プロセッサ810を制御するためのサービス832、834、および836を含むことができる。他のハードウェアまたはソフトウェアモジュールが企図されている。ストレージデバイス830は、システムバス805に接続することができる。一態様では、特定の機能を実行するハードウェアモジュールは、機能を実行するために必要なハードウェア構成要素(プロセッサ810、バス805、ディスプレイ835など)に関連してコンピュータ可読媒体に記憶されたソフトウェア構成要素を含むことができる。
図8Bは、例示的な実施形態による、チップセットアーキテクチャを有するコンピュータシステム850を示している。コンピュータシステム850は、開示された技術を実装するために使用することができるコンピュータハードウェア、ソフトウェア、およびファームウェアの一例であり得る。システム850は、識別された計算を実行するように構成されたソフトウェア、ファームウェア、およびハードウェアを実行することができる任意の数の物理的および/または論理的に異なるリソースを表す1つまたは複数のプロセッサ855を含むことができる。1つまたは複数のプロセッサ855は、1つまたは複数のプロセッサ855への入力および1つまたは複数のプロセッサ855からの出力を制御することができるチップセット860と通信することができる。この例では、チップセット860は、ディスプレイなどの出力865に情報を出力し、例えば、磁気媒体およびソリッドステート媒体を含むことができるストレージデバイス870に情報を読み書きすることができる。チップセット860は、RAM875との間でデータの読み取りと書き込みを行うこともできる。チップセット860とインターフェースするために、様々なユーザインターフェース構成要素885とインターフェースするためのブリッジ880を提供することができる。そのようなユーザインターフェース構成要素885は、キーボード、マイクロフォン、タッチ検出および処理回路、マウスなどのポインティングデバイスなどを含むことができる。一般に、システム850への入力は、機械生成および/または人間生成の様々なソースのいずれかから来ることができる。
チップセット860はまた、異なる物理的インターフェースを有することができる1つまたは複数の通信インターフェース890とインターフェースすることができる。このような通信インターフェースには、有線および無線のローカルエリアネットワーク、ブロードバンド無線ネットワーク、およびパーソナルエリアネットワークのインターフェースを含めることができる。本明細書に開示されるGUIを生成、表示、および使用するための方法のいくつかのアプリケーションは、物理的インターフェースを介して順序付けられたデータセットを受信することを含み、あるいはストレージ870または875に記憶されたデータを分析する1つまたは複数のプロセッサ855によって機械自体によって生成され得る。さらに、機械は、ユーザインターフェース構成要素885を介してユーザから入力を受け取り、1つまたは複数のプロセッサ855を使用してこれらの入力を解釈することによってブラウジング機能などの適切な機能を実行することができる。
例示的なシステム800および850は、複数のプロセッサ810を有するか、またはより大きな処理能力を提供するために一緒にネットワーク化されたコンピューティングデバイスのグループまたはクラスタの一部であり得ることが理解され得る。
前述の内容は本明細書に記載の実施形態を対象としているが、他のさらなる実施形態は、その基本的な範囲から逸脱することなく考案することができる。例えば、本開示の態様は、ハードウェアまたはソフトウェア、あるいはハードウェアとソフトウェアの組み合わせで実装され得る。本明細書で説明される一実施形態は、コンピュータシステムで使用するためのプログラム製品として実装され得る。プログラム製品のプログラムは、実施形態の機能(本明細書に記載の方法を含む)を定義し、様々なコンピュータ可読記憶媒体に含めることができる。例示的なコンピュータ可読記憶媒体には、以下が含まれるが、これらに限定されない。(i)情報が永続的に記憶される書き込み不可能な記憶媒体(例えば、CD-ROMドライブ、フラッシュメモリ、ROMチップ、または任意のタイプのソリッドステート不揮発性メモリによって読み取り可能なCD-ROMディスクなど、コンピュータ内の読み取り専用メモリ(ROM)デバイス)、(ii)変更可能な情報が記憶される書き込み可能な記憶媒体(例えば、ディスケットドライブまたはハードディスクドライブ内のフロッピーディスク、あるいは任意のタイプのソリッドステートランダムアクセスメモリ)。そのようなコンピュータ可読記憶媒体は、開示された実施形態の機能を指示するコンピュータ可読命令を運ぶ場合、本開示の実施形態である。
前述の実施例は例示的なものであり、限定するものではないことが当業者に理解されよう。明細書を読み、図面の研究をすると、それらに対するすべての順列、拡張、同等物、および改善が当業者に明らかであり、本開示の真の趣旨および範囲に含まれることが意図されている。したがって、以下の添付の特許請求の範囲には、これらの教示の真の趣旨と範囲に含まれるすべてのそのような修正、順列、および同等物が含まれることが意図されている。