(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-10
(45)【発行日】2024-09-19
(54)【発明の名称】積層造形における人工知能プロセス制御のためのシステム、方法および媒体
(51)【国際特許分類】
B29C 64/393 20170101AFI20240911BHJP
B33Y 30/00 20150101ALI20240911BHJP
B33Y 10/00 20150101ALI20240911BHJP
B33Y 50/02 20150101ALI20240911BHJP
B29C 64/118 20170101ALI20240911BHJP
B29C 64/209 20170101ALI20240911BHJP
G06T 7/00 20170101ALI20240911BHJP
【FI】
B29C64/393
B33Y30/00
B33Y10/00
B33Y50/02
B29C64/118
B29C64/209
G06T7/00 610Z
(21)【出願番号】P 2023046860
(22)【出願日】2023-03-23
(62)【分割の表示】P 2021560087の分割
【原出願日】2020-04-20
【審査請求日】2023-04-17
(32)【優先日】2019-04-19
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-04-19
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-04-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】511289471
【氏名又は名称】ナノトロニクス イメージング インコーポレイテッド
【氏名又は名称原語表記】NANOTRONICS IMAGING,INC.
【住所又は居所原語表記】2251 FRONT STREET,SUITE 110,P.O.BOX 306,CUYAHOGA FALLS,OHIO 44223,U.S.A.
(74)【代理人】
【識別番号】110002321
【氏名又は名称】弁理士法人永井国際特許事務所
(72)【発明者】
【氏名】ピンスキー,バディム
(72)【発明者】
【氏名】プットマン,マシュー シー
(72)【発明者】
【氏名】リモージュ,ダマス
(72)【発明者】
【氏名】ニルマルスワレン,アスウィン ラーギャフ
【審査官】家城 雅美
(56)【参考文献】
【文献】米国特許出願公開第2015/0165683(US,A1)
【文献】米国特許出願公開第2017/0193680(US,A1)
【文献】特表2016-533925(JP,A)
【文献】国際公開第2018/127827(WO,A1)
【文献】米国特許出願公開第2018/0079125(US,A1)
【文献】特表2020-527475(JP,A)
【文献】特開2018-008403(JP,A)
【文献】米国特許出願公開第2018/0253590(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B29C 64/00-64/40
B22F 1/00-12/90
B28B 1/30
B29C 33/00-33/76
B33Y 30/00
B33Y 10/00
B33Y 50/02
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
システムであって、
プロセッサと、
メモリを備え、
前記メモリは、プログラムされた命令が保存され、前記プログラムされた命令が前記プロセッサによって実行される
と、前記システムに操作を実行させるものであり、
前記操作は、
複数層製造プロセス
において第1の層の堆積中若しくは堆積後であって第2の層の堆積前に、製造物品の画像を受信することと、
前記画像の低解像度バージョンを生成することと
、
エラーが前記製造物品内に存在するか否かを決定するために、バイナリ・エラー分類器を前記画像の前記低解像度バージョンに適用することと、
前記バイナリ・エラー分類器からの出力に基づいて、前記エラーが前記製造物品内に存在することを決定することと、
前記エラーが前記製造物品内に存在すると決定
したことに応答して、前記製造物品の品質を示す品質スコアを生成するために、分類器を前記画像の高解像度バージョンに適用することと、
前記品質スコアに基づいて
、前記
複数層製造プロセス
において前記第2の層を堆積するためのプロセスパラメータの値を調整すること
を含むシステム。
【請求項2】
前記製造物品の関心領域を識別することによって前記画像の前記低解像度バージョンの切り取られたバージョンを生成すること
をさらに含む、請求項1に記載のシステム。
【請求項3】
前記操作は、
前記
複数層製造プロセス
において前記第2の層の堆積中若しくは堆積後であって第3の層の堆積前に、前記製造物品の第2の画像を受信することと、
前記第2の画像の第2の低解像度バージョンを生成することと、
故障分類器を前記第2の画像の前記第2の低解像度バージョンに適用することと、
前記故障分類器から得られた第2の分類に基づいて、回復不能の故障が前記製造物品内に存在することを決定することと、
前記回復不能の故障が前記製造物品内に存在すると決定
したことに応答して、前記
複数層製造プロセスを終了すること
をさらに含む、請求項1に記載のシステム。
【請求項4】
前記操作は、
前記
複数層製造プロセスの第2のステップにおいて前記製造物品の第2の画像を受信することと、
前記第2の画像の第2の低解像度バージョンを生成することと、
第2のエラーが前記製造物品内に存在するか否かを決定するために、バイナリ・エラー分類器を前記第2の画像の前記第2の低解像度バージョンに適用することと、
前記バイナリ・エラー分類器からの第2の出力に基づいて、前記第2のエラーが前記製造物品内に存在しないことを決定することと、
前記
複数層製造プロセスを継続すること
をさらに含む、請求項1に記載のシステム。
【請求項5】
前記操作は、
前記
複数層製造プロセス
において前記第2の層の堆積中若しくは堆積後であって第3の層の堆積前に、前記製造物品の第2の画像を受信することと、
前記第2の画像の第2の低解像度バージョンを生成することと、
第2のエラーが前記製造物品内に存在するか否かを決定するために、前記バイナリ・エラー分類器を前記第2の画像の前記第2の低解像度バージョンに適用することと、
前記バイナリ・エラー分類器からの第2の出力に基づいて、前記第2のエラーが前記製造物品内に存在することを決定することと、
前記第2のエラーが前記製造物品内に存在すると決定
したことに応答して
、前記製造物品の品質を示す第2の品質スコアを生成するために、前記分類器を前記画像の第2の高解像度バージョンに適用することと、
前記
複数層製造プロセス
において前記第3の層を堆積するための第2のプロセスパラメータの第2の値を調整すること
をさらに含む、請求項1に記載のシステム。
【請求項6】
前記操作は、
故障分類器を前記画像の前記低解像度バージョンに適用し、回復不能の故障が存在しないことを決定すること
をさらに含む、請求項1に記載のシステム。
【請求項7】
前記分類器を前記画像の前記高解像度バージョンに適用することは、
前記画像
における前記製造物品の重心を識別することと、
前記画像の前記高解像度バージョンにおける前記重心周辺に位置するウインドウを生成することと、
前記分類器を前記ウインドウに適用すること
をさらに含む、請求項1に記載のシステム。
【請求項8】
方法であって、
複数層製造プロセス
において第1の層の堆積中若しくは堆積後であって第2の層の堆積前に、製造物品の画像を受信することと、
前記画像の低解像度バージョンを生成することと、
エラーが前記製造物品内に存在するか否かを決定するために、バイナリ・エラー分類器を前記画像の前記低解像度バージョンに適用することと、
前記バイナリ・エラー分類器からの出力に基づいて、前記エラーが前記製造物品内に存在することを決定することと、
前記エラーが前記製造物品内に存在すると決定
したことに応答して、前記製造物品の品質を示す品質スコアを生成するために、分類器を前記画像の高解像度バージョンに適用しることと、
前記品質スコアに基づいて前記
複数層製造プロセス
において前記第2の層を堆積するためのプロセスパラメータの値を調整すること
を含む方法。
【請求項9】
前記製造物品の関心領域を識別することによって前記画像の前記低解像度バージョンの切り取られたバージョンを生成すること
をさらに含む、請求項8に記載の方法。
【請求項10】
前記
複数層製造プロセス
において前記第2の層の堆積中若しくは堆積後であって第3の層の堆積前に、前記製造物品の第2の画像を受信することと、
前記第2の画像の第2の低解像度バージョンを生成することと、
故障分類器を前記第2の画像の前記第2の低解像度バージョンに適用することと、
前記故障分類器から得られた第2の分類に基づいて、回復不能の故障が前記製造物品内に存在することを決定することと、
前記回復不能の故障が前記製造物品内に存在すると決定
したことに応答して、前記
複数層製造プロセスを終了すること
をさらに含む、請求項8に記載の方法。
【請求項11】
前記
複数層製造プロセスの第2のステップにおいて前記製造物品の第2の画像を受信することと、
前記第2の画像の第2の低解像度バージョンを生成することと、
第2のエラーが前記製造物品内に存在するか否かを決定するために、前記バイナリ・エラー分類器を前記第2の画像の前記第2の低解像度バージョンに適用することと、
前記バイナリ・エラー分類器からの第2の出力に基づいて、前記第2のエラーが前記製造物品内に存在しないことを決定することと、
前記
複数層製造プロセスを継続すること
をさらに含む、請求項8に記載の方法。
【請求項12】
前記
複数層製造プロセス
において前記第2の層の堆積中若しくは堆積後であって第3の層の堆積前に、前記製造物品の第2の画像を受信することと、
前記第2の画像の第2の低解像度バージョンを生成することと、
第2のエラーが前記製造物品内に存在するか否かを決定するために、前記バイナリ・エラー分類器を前記第2の画像の前記第2の低解像度バージョンに適用することと、
前記バイナリ・エラー分類器からの第2の出力に基づいて、前記第2のエラーが前記製造物品内に存在することを決定することと、
前記第2のエラーが前記製造物品内に存在すると決定
したことに応答して
、前記製造物品の品質を示す第2の品質スコアを生成するために、前記分類器を前記画像の第2の高解像度バージョンに適用することと、
前記
複数層製造プロセス
において前記第3の層を堆積するための第2のプロセスパラメータの第2の値を調整すること
をさらに含む、請求項8に記載の方法。
【請求項13】
故障分類器を前記画像の前記低解像度バージョンに適用し、回復不能の故障が存在しないことを決定すること
をさらに含む、請求項8に記載の方法。
【請求項14】
前記分類器を前記画像の前記高解像度バージョンに適用することは、
前記画像
における前記製造物品の重心を識別することと、
前記画像の前記高解像度バージョンにおける前記重心周辺に位置するウインドウを生成することと、
前記分類器を前記ウインドウに適用すること
をさらに含む、請求項8に記載の方法。
【請求項15】
1つ以上の命令を含む非一時的コンピュータ可読媒体であって、
前記命令は、1つ以上のプロセッサによって実行される
と、コンピュータシステムに操作を実行させるものであり、
前記操作は、
複数層製造プロセス
において第1の層の堆積中若しくは堆積後であって第2の層の堆積前に、製造物品の画像を受信することと、
前記画像の低解像度バージョンを生成することと
、
エラーが前記製造物品内に存在するか否かを決定するために、バイナリ・エラー分類器を前記画像の前記低解像度バージョンに適用することと、
前記バイナリ・エラー分類器からの出力に基づいて、前記エラーが前記製造物品内に存在することを決定することと、
前記エラーが前記製造物品内に存在すると決定
したことに応答して、前記製造物品の品質を示す品質スコアを生成するために、分類器を前記画像の高解像度バージョンに適用することと、
前記品質スコアに基づいて
、前記
複数層製造プロセス
において前記第2の層を堆積するためのプロセスパラメータの値を調整すること
を含む非一時的コンピュータ可読媒体。
【請求項16】
前記製造物品の関心領域を識別することによって前記画像の前記低解像度バージョンの切り取られたバージョンを生成すること
をさらに含む、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項17】
前記
複数層製造プロセス
において前記第2の層の堆積中若しくは堆積後であって第3の層の堆積前に、前記製造物品の第2の画像を受信することと、
前記第2の画像の第2の低解像度バージョンを生成することと、
故障分類器を前記第2の画像の前記第2の低解像度バージョンに適用することと、
前記故障分類器から得られた第2の分類に基づいて、回復不能の故障が前記製造物品内に存在することを決定することと、
前記回復不能の故障が前記製造物品内に存在すると決定
したことに応答して、前記
複数層製造プロセスを終了すること
をさらに含む、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項18】
前記
複数層製造プロセスの第2のステップにおいて前記製造物品の第2の画像を受信することと、
前記第2の画像の第2の低解像度バージョンを生成することと、
第2のエラーが前記製造物品内に存在するか否かを決定するために、前記バイナリ・エラー分類器を前記第2の画像の前記第2の低解像度バージョンに適用することと、
前記バイナリ・エラー分類器からの第2の出力に基づいて、前記第2のエラーが前記製造物品内に存在しないことを決定することと、
前記
複数層製造プロセスを継続すること
をさらに含む、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項19】
前記
複数層製造プロセス
において前記第2の層の堆積中若しくは堆積後であって第3の層の堆積前に、前記製造物品の第2の画像を受信することと、
前記第2の画像の第2の低解像度バージョンを生成することと、
第2のエラーが前記製造物品内に存在するか否かを決定するために、前記バイナリ・エラー分類器を前記第2の画像の前記第2の低解像度バージョンに適用することと、
前記バイナリ・エラー分類器からの第2の出力に基づいて、前記第2のエラーが前記製造物品内に存在することを決定することと、
前記第2のエラーが前記製造物品内に存在すると決定
したことに応答して
、前記製造物品の品質を示す第2の品質スコアを生成するために、前記分類器を前記画像の第2の高解像度バージョンに適用することと、
前記
複数層製造プロセス
において前記第3の層を積層するための第2のプロセスパラメータの第2の値を調整すること
をさらに含む、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項20】
故障分類器を前記画像の前記低解像度バージョンに適用し、回復不能の故障が存在しないことを決定すること
をさらに含む、請求項15に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、積層造形における人工知能プロセス制御を提供するためのメカニズムに関する。
【背景技術】
【0002】
3Dプリンタおよびセル・プリンタなどの積層造形システムは、天然、合成または生物材料の複数層を堆積させ、押出、焼結、光重合、メカノ合成または電気流体力学力のプロセスを介して対象物を製造するために広く用いられている。積層造形のプロセスは、層堆積プロセスを介して対象物を製造し、印刷対象物が完成するまで、積層造形プリンタは、連続した層を追加し続ける。
【0003】
一般的に、積層造形プリンタによって印刷される対象物は、生産設計に基づく。3次元モデリング・ソフトウェア(例えば、CADプログラム)を用いて、対象物のための生産設計を所望の仕様に作成することができる。次に、スライス・プログラムは、生産設計を数値制御符号(例えば、G符号)に変換することができ、数値制御符号は、設計を多くの層に分割し、次に、積層造形プリンタに、生産設計の個々の層の物理的表現を印刷するように指示するために用いることができる。積層造形の目的は、生産設計の仕様に厳密に従う対象物を印刷することである。
【0004】
印刷対象物は、生産設計のサイズおよび複雑さに応じて、完了するのに数時間から数日までかかり得る。現在の積層造形システムは、それらが提供可能なフィードバックのタイプ、および対象物の各層が印刷された後にそれらがとり得る修正処置、に制限される。しばしば、対象物全体が印刷されるまで、フィードバックは提供されない。対象物のための印刷プロセスの間にフィードバックが提供されるとき、それは、通常、対象物の印刷を停止すべきかまたは継続すべきかを決定するためである。
【0005】
いくつかの積層造形システムにおいて、フィードバックは、光が対象物上に当たっているときに印刷対象物によって作成される陰影によって提供される。陰影が印刷対象物の領域を妨げ、正確なフィードバックを阻むので、この方法は制限される。積層造形における正確なフィードバックは、品質および再生可能な印刷対象物を維持するために有用である。
【発明の概要】
【発明が解決しようとする課題】
【0006】
したがって、対象物のための印刷プロセスの間、タイムリな修正処置をとることができるように、対象物の各印刷層のために人工知能プロセス制御(AIPC)を提供することが望ましい。印刷対象物の所望の機械的、光学的および/または電気的特性を達成するとともに、その生産設計に非常に類似するかまたは生産設計を改善する印刷対象物を達成するために、AIPCを提供することもまた望ましい。
【課題を解決するための手段】
【0007】
いくつかの実施形態に従って、積層造形における人工知能プロセス制御のためのシステム、方法および媒体が提供される。いくつかの実施形態において、システムは、交互積層法(LBL法)によって対象物を印刷するように構成される印刷ヘッドと、対象物の印刷層の画像を捕捉するように構成される画像センサと、ハードウェア・プロセッサと、を備え、ハードウェア・プロセッサは、キャプチャ画像を受信し、キャプチャ画像をサンプリングし、キャプチャ画像の低解像度バージョンを生成し、学習された故障分類器をキャプチャ画像の低解像度バージョンに適用し、故障分類器から得られた分類に基づいて、回復不能の故障が対象物の印刷層内に存在しないと決定し、回復不能の故障が印刷層内に存在しないと決定することに応答して、キャプチャ画像の低解像度バージョンの切り取られたバージョンを生成し、学習されたバイナリ・エラー分類器をキャプチャ画像の低解像度バージョンの切り取られたバージョンに適用し、バイナリ・エラー分類器から得られた分類に基づいて、エラーが対象物の印刷層内に存在すると決定し、エラーが対象物の印刷層内に存在すると決定することに応答して、学習された押出分類器をキャプチャ画像に適用し、学習された押出分類器は、対象物の印刷層内の材料の押出の品質を示す押出品質スコアを生成し、押出品質スコアに基づいて印刷ヘッドのパラメータの値を調整し、印刷対象物の次の層を印刷するように構成される。
【0008】
いくつかの実施形態において、積層造形のための方法が提供され、方法は、キャプチャ画像を受信するステップと、キャプチャ画像をサンプリングし、キャプチャ画像の低解像度バージョンを生成するステップと、学習された故障分類器をキャプチャ画像の低解像度バージョンに適用するステップと、故障分類器から得られた分類に基づいて、回復不能の故障が対象物の印刷層内に存在しないと決定するステップと、回復不能の故障が印刷層内に存在しないと決定することに応答して、キャプチャ画像の低解像度バージョンの切り取られたバージョンを生成するステップと、学習されたバイナリ・エラー分類器をキャプチャ画像の低解像度バージョンの切り取られたバージョンに適用するステップと、バイナリ・エラー分類器から得られた分類に基づいて、エラーが対象物の印刷層内に存在すると決定するステップと、エラーが対象物の印刷層内に存在すると決定することに応答して、学習された押出分類器をキャプチャ画像に適用するステップであって、学習された押出分類器は、対象物の印刷層内の材料の押出の品質を示す押出品質スコアを生成するステップと、押出品質スコアに基づいて印刷ヘッドのパラメータの値を調整し、印刷対象物の次の層を印刷するステップと、を含む。
【0009】
いくつかの実施形態において、コンピュータ実行可能命令を含む非一時的コンピュータ可読媒体が提供され、コンピュータ実行可能命令は、プロセッサによって実行されるとき、プロセッサに、キャプチャ画像をサンプリングし、キャプチャ画像の低解像度バージョンを生成するステップと、学習された故障分類器をキャプチャ画像の低解像度バージョンに適用するステップと、故障分類器から得られた分類に基づいて、回復不能の故障が対象物の印刷層内に存在しないと決定するステップと、回復不能の故障が印刷層内に存在しないと決定することに応答して、キャプチャ画像の低解像度バージョンの切り取られたバージョンを生成するステップと、学習されたバイナリ・エラー分類器をキャプチャ画像の低解像度バージョンの切り取られたバージョンに適用するステップと、バイナリ・エラー分類器から得られた分類に基づいて、エラーが対象物の印刷層内に存在すると決定するステップと、エラーが対象物の印刷層内に存在すると決定することに応答して、学習された押出分類器をキャプチャ画像に適用するステップであって、学習された押出分類器は、対象物の印刷層内の材料の押出の品質を示す押出品質スコアを生成するステップと、押出品質スコアに基づいて印刷ヘッドのパラメータの値を調整し、印刷対象物の次の層を印刷するステップと、を含む積層造形のための方法を実行させる。
【図面の簡単な説明】
【0010】
【
図1】いくつかの実施形態に従う積層造形システムの一例である。
【0011】
【
図2】いくつかの実施形態に従う積層造形プリンタで使用可能なカメラおよび光源の一例である。
【0012】
【
図3】いくつかの実施形態に従って、オペレータが印刷パラメータを数値制御符号生成器内に入力するためのインタフェースの一例である。
【0013】
【
図4】いくつかの実施形態に従って捕捉可能な堆積するフィラメントにおける予想外のギャップを示す印刷層の画像の一例である。
【0014】
【
図5A】いくつかの実施形態によって捕捉し得る印刷層内の意図しない糸のような人工物および他の破壊を示すさまざまな印刷層の画像の例である。
【
図5B】いくつかの実施形態によって捕捉し得る印刷層内の意図しない糸のような人工物および他の破壊を示すさまざまな印刷層の画像の例である。
【
図5C】いくつかの実施形態によって捕捉し得る印刷層内の意図しない糸のような人工物および他の破壊を示すさまざまな印刷層の画像の例である。
【0015】
【
図6】いくつかの実施形態による、(高いレベルでの)積層造形印刷動作の一例である。
【0016】
【
図7A】いくつかの実施形態による、数値制御符号内に含まれ得る印刷層のための設定点のセットのシミュレーションの一例である。
【0017】
【
図7B】いくつかの実施形態による、横断された印刷経路がどのように見え得るかのシミュレーションの一例である。
【0018】
【
図8】いくつかの実施形態による、異なる充填密度および充填パターンに基づいて異常パターンおよび異常率を学習するための学習プロセス、および、それらの異常パターンおよび異常率が印刷対象物の機械的特性にどのような影響を及ぼすかを示す一例である。
【0019】
【
図9】内容のいくつかの実施形態による、印刷の間、印刷対象物における、回復不能の故障およびエラーを識別する分類器を適用するための一例のプロセスである。
【0020】
【
図10】内容のいくつかの実施形態による、印刷対象物の印刷の間、印刷パラメータを修正するための強化学習を用いるための一例の概略図である。
【0021】
【
図11A】内容のいくつかの実施形態による、印刷対象物の印刷の間、印刷パラメータを修正するための強化学習アルゴリズムを学習するためのプロセスの一例である。
【0022】
【
図11B】開示された内容のいくつかの実施形態による、基準の引張曲線及び未修正の引張曲線の一例である。
【
図11C】開示された内容のいくつかの実施形態による、基準の引張曲線及び未修正の引張曲線の一例である。
【0023】
【
図12】内容のいくつかの実施形態による、3Dプリンタ(ワーカーとも称される)のグループを用いて、印刷対象物の印刷の間、印刷パラメータを修正するための強化学習アルゴリズムを学習するためのプロセスの一例である。
【発明を実施するための形態】
【0024】
開示された内容のいくつかの実施形態に従って、積層造形の人工知能プロセス制御(AIPC)のためのメカニズム(システム、方法、デバイス、装置などを含むことができる)が提供される。AIPCは、例えば、積層造形システムの印刷パラメータを最適化するのに有用であり、生産設計と比較して、印刷対象物の所望の機械的、光学的および/または電気的特性および/または所望の精度を達成することができる。AIPCは、印刷層内の異常を識別し、印刷プロセスの間、修正処置をとるのに有用となり得る。
【0025】
本願明細書において開示されるように、いくつかの実施形態において、人工知能を用いて、本願明細書において記載されている積層造形から学習し、改善し、フィードバック、情報、データおよび/または命令を出力することができる(この種の情報、データおよび/または命令を学習し、改良し、出力するこのプロセスは、本願明細書において「AIPC」と称される)。人工知能アルゴリズム/機械学習モデルは、単独または組み合わせて、以下の1つまたは複数を含むことができる。強化学習、隠れマルコフ・モデル、リカレント・ニューラル・ネットワーク、畳み込みニューラル・ネットワーク、ベイジアン記号法、敵対的生成ネットワーク、サポート・ベクトル・マシン、および/または、他の任意の適切な人工知能アルゴリズム。AIPCは、AIアルゴリズムに基づくが、AIPCはまた、人工知能アルゴリズムに基づかない積層造形の間に収集されたデータを用いることもできる。
【0026】
図1は、開示された内容のいくつかの実施形態に従ってAIPCを実施することができる一例の積層造形システム100を示す。いくつかの実施形態によれば、積層造形システム100の基本構成要素は、高いレベルで、数値制御符号生成器110、積層造形プリンタ115、画像生成器170および画像分析器180を含む。積層造形プリンタ115は、画像センサ120、光源130、印刷ヘッド140、フィラメント供給システム145、ビルド・プレート150および制御モジュール160を含むことができる。積層造形システム100のための構成要素の機能は、単一の構成要素に結合可能であるかまたはいくつかの構成要素全体に及ぶことができる。いくつかの実施形態において、構成要素(例えば、数値制御符号生成器110、画像生成器170および/または画像分析器180)のいくつかの機能は、積層造形プリンタ115から遠隔で実行可能である。
【0027】
積層造形システム100が、図示されない他の適切な構成要素を含むことができることに留意されたい。追加的にまたは代替的に、積層造形システム100内に含まれる構成要素のいくつかは省略可能である。
【0028】
以下の説明は熱溶解積層法の積層造形プリンタを有するAIPCを用いることに言及するが、いくつかの実施形態では、本願明細書において記載されているAIPCは、ステレオリソグラフィ(SLA)、電子ビーム溶解、直接金属堆積(電気流体力学印刷)および選択的レーザー焼結を含む任意の適切な3次元印刷技術で使用可能である。
【0029】
いくつかの実施形態において、積層造形プリンタ115は、印刷プロセスの間、画像および/または映像を捕捉するための1つまたは複数の画像センサ120を含むことができる。画像センサ120は、対象物の各層の印刷の間および/または印刷の後、対象物の画像(または映像)を捕捉するように構成可能である。画像センサ120は、例えば、デジタル・スチル・カメラおよび/またはデジタル・ビデオ・カメラにおいて用いられ得るような電荷結合素子(CCD)または相補形金属酸化膜半導体(CMOS)センサとすることができる。画像センサ120はまた、対象物の熱画像および/または映像を捕捉し、温度計算を実行するための赤外線(IR)カメラを含むこともできる。画像センサ120は、ビルド・プレート150および/または印刷ヘッド140に対して異なる位置および角度に位置することができる。
【0030】
いくつかの実施形態において、積層造形プリンタ115は、単一の光源130、または、ビルド・プレート150に対しておよび/または画像センサ120に対して異なる位置および角度に位置する複数の光源(例えば、多重光ベクトル)を含むことができる(例えば、光源は、画像センサ120の周りに円周方向に位置することができる)。照射は、用いられる光源のサイズ、数および/または照射の位置および角度によって変えることができる。画像センサ120が対象物の画像および/または映像を捕捉することができるように、照射を用いて、対象物の印刷層を照射することができる。
【0031】
捕捉した画像および/または映像は、メモリに保存され、画像生成器170に関連して本願明細書において述べられるように、印刷層の3次元トポグラフィー画像および/または他の適切な画像を作成することができる。
【0032】
図2は、積層造形プリンタ115で使用可能なカメラ120および光源130の一例を示す。
図2は、LEDホルダー230内にある発光ダイオード(LED)リング210に囲まれているカメラ120を含む。いくつかの実施形態において、制御モジュール160は、LEDリング210内の個々のLEDを制御し、どのLEDが照射すべきかを決定する。LEDリング210内の個々のLEDの制御は、印刷層の画像を生成するために用いられるトポグラフィー撮像技術の要件によって決定され得る。
【0033】
上述したように、積層造形プリンタ115はまた、1つまたは複数の印刷ヘッド140および1つまたは複数のビルド・プレート150を含むことができる。印刷ヘッド140および/またはビルド・プレート150は、X(幅)、Y(長さ)およびZ(高さ)次元において他方に対して移動することができる。印刷ヘッド140は、フィラメント供給システム145によって供給され、印刷ヘッド140の1つまたは複数のノズルを通して交互積層法(LBL法)によって押し出される、フィラメントを保持することができる。いくつかの実施形態において、印刷ヘッド・ノズルの温度は、制御され、印刷ヘッド140内に保存されるフィラメントを加熱し、フィラメントを堆積可能な流動可能な形に保つことができる(例えば、印刷ヘッド140および/またはビルド・プレート150が他方に対して移動するとき、および/または、印刷ヘッド140および/またはビルド・プレート150が静止しているとき)。押し出された材料は、(第1の押し出し層の場合のように)ビルド・プレート150に対して、または、以前に堆積された押し出し層に対して溶融することができる。制御可能な印刷ヘッド140および/またはビルド・プレート150の他の態様は、例えば、印刷ヘッド140および/またはビルド・プレート150が移動の間たどる経路、生産設計の層の間で移行するとき、印刷ヘッドおよび/またはビルド・プレート150がZ軸次元法に沿って他方に対して移動する量、印刷ヘッド140および/またはビルド・プレート150の他方に対する配向、印刷ヘッド140および/またはビルド・プレート150の移動の速度、および、印刷ヘッド140が堆積するフィラメントの量および率を含む。いくつかの実施形態において、印刷経路は、少なくとも2セットのX-Y-Z座標によって定義可能である。動作中に、印刷ヘッドおよび/またはビルド・プレートは、他方に対する移動を制御することができ、印刷ヘッドは、所望の充填パターンでフィラメントを放出することができる。いくつかの実施形態において、印刷ヘッド140および/またはビルド・プレート150は、数値制御符号生成器110および/または制御モジュール160からの符号によって制御可能である。
【0034】
いくつかの実施形態において、ビルド・プレート150は、所定の温度まで加熱可能であり、異なる方向に配向可能である。
【0035】
いくつかの実施形態において、制御モジュール160は、いくつかの実施形態では、コントローラおよびコントローラインタフェースを含むことができ、積層造形システム100の構成要素(例えば、数値制御符号生成器110、画像センサ120、光源130、印刷ヘッド140、ビルド・プレート150、画像生成器170および画像分析器180)の任意の適切な1つまたは複数の設定(例えば、温度、速度、配向など)、ならびに、積層造形システムの構成要素によって、および、構成要素間で実行される通信、動作(例えば、印刷対象物の画像を捕捉すること、光源130を使用可能にすることなど)および計算を制御することができる。制御システム108は、(いくつかの実施形態ではソフトウェアを実行することができる)任意の適切なハードウェア、例えば、コンピュータ、マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路(ASIC)、フィールドプログラマブル・ゲート・アレイ(FGPA)およびデジタル信号プロセッサ(DSP)(これらのいずれかは、ハードウェア・プロセッサとも呼ぶことができる)、エンコーダ、エンコーダを読み込む回路、メモリ・デバイス(1つまたは複数のEPROM、1つまたは複数のEEPROM、ダイナミック・ランダム・アクセス・メモリ(「DRAM」)、スタティック・ランダム・アクセス・メモリ(「SRAM」)および/またはフラッシュ・メモリを含む)および/または他の任意の適切なハードウェア要素を含むこともできる。いくつかの実施形態では、積層造形システム100内の個別の構成要素は、それ自体のソフトウェア、ファームウェアおよび/またはハードウェアを含み、個別の構成要素を制御し、積層造形システム100内の他の構成要素と通信することができる。
【0036】
いくつかの実施形態において、制御モジュール160と積層造形システム100の他の構成要素との間の通信および/または制御モジュール160と積層造形プリンタ115内の他の構成要素との間の通信は、任意の適切な通信技術、例えば、アナログ技術(例えば、リレー・ロジック)、デジタル技術(例えば、RS232、イーサネットまたは無線)、ネットワーク技術(例えば、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、インターネット)、ブルートゥース(登録商標)技術、近距離無線通信技術、セキュアRF技術および/または他の任意の適切な通信技術を用いることができる。
【0037】
いくつかの実施形態において、オペレータ入力は、任意の適切な入力装置(例えば、キーボード、マウスまたはジョイスティック)を用いて、制御モジュール160と通信することができる。
【0038】
図1に示される構成要素に加えて、積層造形プリンタ115はまた、他の構成要素、例えば、温度センサ、湿度センサ、印刷ヘッド140の加速および任意の予想外の動き(例えば衝撃、振動など)を測定するための加速度計および画像を表示するためのディスプレイ・モニタを含むことができる。積層造形プリンタ115はまた、画像センサ120、照射光源130、印刷ヘッド140および/またはビルド・プレート150を配向および/または移動させるための1つまたは複数のアクチュエータを含むことができる。
【0039】
図1はまた、数値制御符号生成器110を示す。いくつかの実施形態において、数値制御符号生成器110は、印刷される対象物の3次元設計(例えば、キャド(CAD)モデル)(本願明細書において、「生産設計」と称される)を受信するように構成可能である。生産設計は、数値制御符号生成器110によって処理可能な任意の適切なフォーマット(例えば、スタンダード・テッセレーション・ランゲージ(.stl)、ドローイング・スタンダード(DWS)またはドローイング(DWG)ファイル・フォーマット)で受信可能である。
【0040】
数値制御符号生成器110は、生産設計を積層造形プリンタ115用の命令に変換し、生産設計の物理的表現を印刷するように構成可能である。いくつかの実施形態において、数値制御符号生成器110は、オペレータが、
図3に関連して記載されている特定の印刷パラメータを入力するためのインタフェースを含むことができる。印刷パラメータはまた、これらに限定されるものではないが、以下の1つまたは複数を含む。積層造形機械115の印刷特徴(例えば、印刷ヘッド・サイズ、押出加工されるフィラメントのタイプ、3D印刷技術など)、印刷経路、フィラメント供給率、および、生産設計の仕様(例えば、印刷設計がどのように見えなければならないか、設計の所望の機械的、光学的および/または電気的特性など)。
【0041】
1つまたは複数の印刷パラメータに基づいて、数値制御符号生成器110は、スライス・アルゴリズムを適用し、Z方向に所定の距離で離れている平行面で生産設計と交差し、2次元または3次元の層を作成することができる。例えば、印刷される対象物がZ方向に5mmであり、所望の層厚がZ方向に0.2mmである場合、対象物の生産設計は、Z方向において0.2mm厚である25層にスライス可能である。生産設計をスライスすることに加えて、数値制御符号生成器110は、以下の1つまたは複数に基づいて印刷される各層のための数値制御符号を生成するようにさらに構成可能である。印刷パラメータ、現在印刷している印刷対象物の1つまたは複数の前の印刷層からのAIPC、他の印刷対象物からのAIPC(それらのいくつかは、生産設計に組み込まれてもよい)、および、積層造形プリンタ115の印刷特徴。
【0042】
他の実施形態において、スライス・アルゴリズムは、第1の層のみを決定し、その第1の層のための数値制御符号を生成するように構成可能である。印刷対象物のその後の層の各々のための数値制御符号は、以下の1つまたは複数に基づいて生成可能である。現在印刷している印刷対象物の1つまたは複数の前の印刷層からのAIPC、他の印刷対象物からのAIPC(それらのいくつかは、生産設計に組み込まれてもよい)、印刷対象物の生産設計のための所望の機械的、光学的および/または電気的特性および仕様、および、オペレータによって入力される入力パラメータおよび/または積層造形プリンタ115の印刷特徴。いくつかの実施形態において、スライス・アルゴリズムは、完全に省略可能であり、数値制御符号は、以下の1つまたは複数に基づいて生成可能である。他の印刷対象物からのAIPC(それらのいくつかは、生産設計に組み込まれてもよい)、印刷対象物の生産設計のための所望の機械的、光学的および/または電気的特性および仕様、オペレータによって入力される入力パラメータ、および/または、積層造形プリンタ115の印刷特徴。いくつかの実施形態において、数値制御符号生成器はまた、制御できない変数(すなわち、人間の介入なしで制御できない変数)を考慮することもでき、制御できない変数は、例えば、これらに限定されるものではないが、周囲湿度、温度および露光量、電圧変化、積層造形プリンタ115の摩耗および印刷ヘッド140に利用できる全フィラメント供給を含む。
【0043】
図3は、開示された内容のいくつかの実施形態に従って、オペレータが印刷パラメータを数値制御符号生成器110内に入力するためのインタフェース300の一例を示す。
【0044】
インタフェース300が、図示されない他の適切な印刷パラメータを制御するフィールドを含むことができることに留意されたい。追加的にまたは代替的に、インタフェース300内に含まれる印刷パラメータのいくつかは、いくつかの実施形態では、省略可能である。さらに、インタフェース300内に含まれる任意のおよびすべての印刷パラメータは、代替的には、数値制御符号生成器によって自動的に生成可能であり、オペレータによって入力可能ではない。いくつかの実施形態において、オペレータは、生産設計の第1の層のための印刷パラメータを入力することができ、数値制御符号生成器110は、人工知能アルゴリズムおよび本願明細書において開示される他の方法を用いて、印刷設計のその後の層のための印刷パラメータを生成することができる。
【0045】
示されるように、インタフェース300は、層高さ、シェル厚さおよび退避機構のような印刷品質パラメータを制御するフィールドを含むことができる。
【0046】
層高さは、印刷対象物の層の高さを意味する。層の高さは、印刷解像度に影響を及ぼし得る。例えば、短い層は、より高い層よりも、より詳細な印刷およびより滑らかな表面を作成することができる。しかしながら、より短い層を有する対象物は、印刷により長くかかり得る。反対に、より高い層は、より低解像度印刷およびより粗い表面に対応し得る。高い層を含む対象物は、より短い層を有する同じ対象物よりも、より迅速に印刷され得る。いくつかの実施形態では、任意の適切な層高さを用いることができる。
【0047】
シェル厚さは、印刷対象物の外壁の厚さを意味する。いくつかの実施形態では、任意の適切なシェル厚差を用いることができる。
【0048】
退避機構は、印刷ヘッドが、特定される印刷がない領域の上を移動するとき、フィラメントが印刷ヘッドから押出加工されないことを確実にすることを意味する。いくつかの実施形態において、退避機構を、有効にすることができ、または無効にすることができる。
【0049】
インタフェース300はまた、印刷ヘッド速度および/またはビルド・プレート速度を制御するための印刷速度設定を制御するフィールドを含むことができる。印刷速度は、印刷ヘッドが印刷するとき、印刷ヘッドおよび/またはビルド・プレートがどのくらい速く移動するかを意味する。いくつかの実施形態では、任意の適切な印刷速度を用いることができる。印刷速度に基づいて、押出加工される必要がある材料の量(すなわち、供給率)を計算することができる。いくつかの実施形態では、任意の適切な供給率を用いることができる。
【0050】
インタフェース300はまた、印刷ヘッド温度および/またはビルド・プレート温度を制御するための温度設定を制御するフィールドを含むことができる。押し出されたフィラメントが堆積のために十分に加熱されることを確実にするために、印刷速度が変化するとき、印刷ヘッドの温度を変えることが必要になり得る。いくつかの実施形態では、任意の適切な印刷ヘッド温度を用いることができる。
【0051】
インタフェース300はまた、充填密度および充填パターン設定を制御するフィールドを含むことができる。
【0052】
充填密度は、対象物の内側で印刷される構造を意味し、例えば、パーセンテージによって特定可能である。いくつかの実施形態では、任意の適切な充填密度を用いることができる。100%の充填密度は、意図されたギャップのない固体の充填密度を意味する。
【0053】
充填パターンは、充填のパターンを意味する。いくつかの実施形態では、任意の適切な充填パターンを用いることができる。例えば、いくつかの実施形態では、充填パターンは、ハニカム、三角、グリッドおよび矩形を含むことができる。充填密度および充填パターンは、印刷重量、印刷対象物の強度、全体の印刷時間および外部特性に影響し得る。充填パターンはまた、機械的、光学的および/または電気的特性に影響し得る。いくつかの実施形態では、充填密度および充填パターンは、特定の層のために、または、対象物全体のために設定可能である。
【0054】
さらに、インタフェース300は、サポート・タイプおよびプラットフォーム粘着タイプを含むサポート設定を制御するフィールドを含むことができる。
【0055】
いくつかの印刷対象物は、突出部分を有することがあり、それゆえ、印刷プロセスの間、押し出されたフィラメントが落下するのを防止するためサポートを必要とし得る。サポート設定を用いて、サポートをどこに配置できるかを特定することができる。いくつかの実施形態では、任意の適切なサポート設定を用いることができる。
【0056】
プラットフォーム粘着設定を用いて、印刷層のビルド・プレート150に対する粘着性を改善することができる。特定可能なプラットフォーム粘着設定の異なるタイプは、以下を含む。印刷対象物の基層とビルド・プレートとの間に厚いグリッドの形で余分のフィラメントを追加するラフト設定、印刷対象物の第1の層の周りにフィラメントの余分の線を追加するブリム設定、第1の印刷層上の対象物の周りにフィラメントの線を追加するスカート設定。特定のプラットフォーム粘着設定を用いることは、印刷対象物における反りの量を減少させるのを助けることができる。いくつかの実施形態では、任意の適切なプラットフォーム粘着設定を用いることができる。
【0057】
インタフェース300はまた、対象物の配置および配向に関連したフィールド設定を含むことができる。これらの設定は、ビルド・プレート150上の印刷対象物の位置およびビルド・プレート150上の印刷対象物の配向を含む。いくつかの実施形態では、任意の適切な対象物配置および/または配向の設定を用いることができる。
【0058】
いくつかの実施形態において、生成された数値制御符号は、印刷ヘッド140および/またはビルド・プレート150の相対運動のための印刷経路を記載することができる。印刷経路は、X-Y-Z次元における2セットの座標(設定点)によって、および、設定点の間で移動する方法を特定する命令によって定義可能である。生成された数値制御符号は、印刷経路に沿って一対の連続点の間で移動する間の印刷ヘッド140および/またはビルド・プレート150の互いに対する移動速度、一対の連続点の間のフィラメントの温度(または印刷ヘッド・ノズルの温度)および/または一対の連続点の間のフィラメントの供給率を特定することができる。生成された数値制御符号は、印刷ヘッド140がどこでフィラメントを押出加工しなければならないか、および/または、それがどこでフィラメントを放出することを控えなければならないかを特定することができる。生成された数値制御符号内に含まれるすべてのパラメータはまた、「印刷パラメータ」と考えられる。
【0059】
上述した印刷パラメータの1つまたは複数は、制御できない変数と同様に、印刷対象物の特性、例えば層の異常、表面粗さ、印刷解像度、全ビルド時間、印刷対象物に用いられる押し出し材料の量ならびに印刷対象物の機械的、光学的および/または電気的特性に影響を及ぼし得る。機械的特性は、最大引張強度(Rm)、降伏強度(Rp2%)、破断点伸び(A%)、ヤング率(E)、疲労(σd)、ポアソン率、質量および比重を含むことができる。光学的特性は、吸収、反射、透過および屈折を含むことができる。電気的特性は、電気抵抗率および導電率を含むことができる。開示された機械的、光学的および電気的特性は、単なる例であり、限定することを意図するものではない。
【0060】
AIPCを用いて、所望の機械的特性、光学的特性、電気的特性および/または印刷される対象物の任意の適切な特徴のために最適化することができる。AIPCはまた、対象物を印刷するとき、修正処置をとるために用いることもできる。修正処置は、現在印刷されている対象物の次の層または目標の将来の層の印刷パラメータを変えることを含むことができる。いくつかの実施形態において、AIPCを用いて、生産設計を改善することができる。
【0061】
図1に示すように、積層造形システム100は、対象物の印刷層のキャプチャ画像および/または映像を処理することができる画像生成器170を含むことができる。いくつかの実施形態において、画像生成器170は、キャプチャ画像および/または映像を格納するとともに、キャプチャ画像および/または映像から、印刷層の3次元トポグラフィー画像および/または他の適切な画像を生成するように構成されるハードウェアまたはソフトウェアを含むことができる。
【0062】
照射光の所定のサイズ、数および位置を有する異なるトポグラフィー撮像技術(シェイプ・フロム・フォーカス・アルゴリズム、シェイプ・フロム・シェーディング・アルゴリズム、フォトメトリック・ステレオ・アルゴリズムおよびフーリエ・サイコグラフィー・モジュレーション・アルゴリズムを含むがこれらに限定されるものではない)を用いて、各印刷層の1つまたは複数の3次元トポグラフィー画像を生成することができる。生成されたトポグラフィー画像は、印刷対象物および/または部分的な印刷対象物の完成された層に関連した容積情報、印刷対象物および/または部分的な印刷対象物の各層の全体の寸法、印刷対象物および/または部分的な印刷対象物の各層の特徴、ならびに、印刷対象物および/または部分的な印刷対象物の1つまたは複数の層で見つかる異常(例えば量、分布、異常タイプなど)に関する情報を提供することができる。
【0063】
積層造形システム100内の画像生成器170の使用のために適合可能なシェイプ・フロム・フォーカス・アルゴリズムの一例は、Said Pertuzらによる「Analysis of Focus Measure Operators for Shape-from-Focus」、Pattern Recognition、第45巻、第5号、1415~1432頁に記載されており、参照によりその全体が本願明細書に組み込まれる。開示された方法は、単なる一例であり、限定的であることを意図しない。
【0064】
積層造形システム100内で画像生成器170の使用のために適合可能なシェイプ・フロム・シェーディング・アルゴリズムの一例は、Byungil Kimらによる「Depth and Shape from Shading using the Photometric Stereo method」、CVGIP:Image Understanding、第54巻、第3号、416~427頁、1991に記載されており、参照によりその全体が本願明細書に組み込まれる。開示された方法は、単なる一例であり、限定的であることを意図しない。
【0065】
積層造形システム100内で画像生成器170の使用のために適合可能なフォトメトリック・ステレオ・アルゴリズムの一例は、Jose R.A.Torreaoによる「Estimating 3-D Shape from the Optical Flow of Photometric Stereo Images」、Proceedings of the 6th Ibero-American Conference on AI:Progress in Artificial Intelligence(IBERAMIA1998)、Helder Coelho(編集)、Springer-Verlag、ロンドン、英国、英国、253-261に記載されており、参照によりその全体が本願明細書に組み込まれる。開示された方法は、単なる一例であり、限定的であることを意図しない。
【0066】
積層造形システム100内の画像生成器170の使用のために適合可能なフーリエ・サイコグラフィー・モジュレーション・アルゴリズムの一例は、Guoan Zengらによる「Wide-field High-resolution Fourier Ptychographic Microscopy」、Nature Photonics、第7巻、739~745頁、2013に記載されており、参照によりその全体が本願明細書に組み込まれる。開示された方法は、単なる一例であり、限定的であることを意図しない。
【0067】
いくつかの実施形態において、トポグラフィー画像および/または画像生成器170によって生成される他の適切な画像は、異常率および分布、異常タイプ、印刷経路に沿ったさまざまな点での堆積するフィラメントなどのような情報を提供することができる。例えば、
図4に示すように、印刷層のキャプチャ画像400は、堆積するフィラメントの予想外のギャップを示す。他のセットの例では、
図5A、5Bおよび5Cに示すように、さまざまな印刷層のキャプチャ画像は、印刷層内の予想外の糸のような人工物および他の破壊を示す。
【0068】
いくつかの実施形態において、画像分析器180は、生成されたトポグラフィー画像および/または他の適切な画像を画像生成器170から受信し、印刷層上の1つまたは複数の異常を視覚的に認識し、識別するように構成可能である。いくつかの実施形態において、これは、以下を比較して違いを識別することによって行うことができる。2次元または3次元のトポグラフィー画像から得られるような印刷層、印刷層の検出された印刷経路マップおよび/または層の画像の実際の特徴、および、生成された数値符号および/または層のための生産設計において特定されるような印刷層の特徴。いくつかの実施形態において、1つまたは複数の人工知能アルゴリズムを用いて、違いに基づいて異常を識別することができる。これらの異常は、例えば、実際の印刷層と生産設計および/または以下に対する印刷層のための生成された数値符号の違いを含むことができる。層の周辺の寸法、設定点の間の堆積するフィラメントの寸法、充填密度、充填パターン、表面粗さ、印刷経路、および/または、他の任意の変化。異常の識別は、異常を分類すること、ならびに、そのサイズ、形状、X-Y-Z位置および/または他の任意の適切な特徴を識別することを含むことができる。いくつかの実施形態では、任意の適切な人工知能アルゴリズムを用いることができる。例えば、いくつかの実施形態では、人工知能アルゴリズムは、単独あるいは組み合わせて、以下の1つまたは複数を含むことができる。機械学習、隠れマルコフ・モデル、リカレント・ニューラル・ネットワーク、畳み込みニューラル・ネットワーク、ベイジアン記号法、敵対的生成ネットワーク、サポート・ベクトル・マシン、および/または、他の任意の適切な人工知能アルゴリズム。
【0069】
いくつかの実施形態において、画像分析器180は、
図9に示され、
図9に関連して後述するように、標準の畳み込みニューラル・ネットワーク(CNN)モデルの複雑さを減少する数学モデルを利用して、トポグラフィー画像および/または画像生成器170からの他の適切な画像を分類することができる。オンボードのグラフィックス・プロセッシング・ユニット(GPUs)および高性能中央演算処理装置(CPU)コンピュータが必要とされないので、複雑さのこの減少は、低コスト、高速な試作、積層環境に展開するとき、特に有用である。いくつかの実施形態において、例えば、画像分析器180は、
図9に示され、
図9に関連して後述するように、画像分類モデルを展開し、3D印刷プロセスの間、画像を分類し、回復不能の故障を検出し(例えば、印刷層をさらに印刷することができない)、品質測定基準を印刷されている層に割り当てることができる。このモデルは、故障分類器および押出分類器を含んでもよく、いくつかの実施形態において、故障分類器の結果は、押出分類器に提供されてもよい。
【0070】
図9の920に関連して更に詳細に後述するように、故障分類器は、バイナリの分類器でもよく、このバイナリの分類器は、画像のような入力を取り込み、2つの出力値、すなわち合格または不合格のうちの1つを決定する。いくつかの実施形態において、3D印刷プロセスの間、印刷されている対象物の最新の層の画像が捕捉され、最初に捕捉された画像より低い解像度を有する画像のバージョンを生成し、故障分類器に提供することができる。低解像度の画像に基づいて、故障分類器は、印刷された層がさらに印刷可能かを決定する。部分がヒート・ベッドから分離されたので、層をさらに印刷できない場合、例えば、故障分類器は、画像を不合格と分類することができる。層をさらに印刷することができる場合、故障分類器は、画像を合格と分類することができる。いくつかの実施形態において、偽陽性の発生を減少するために、故障分類は、
図9の920に関連して更に詳細に後述するように、第2の順序フィルタを用いてさらに分析可能である。印刷プロセスの初期において、回復不能の故障を検出することによって、印刷ジョブは、完成前に停止し、時間および資源を削減することができる。いくつかの実施形態において、故障分類器を用いて、全ジョブを停止することもできるし、または、マルチパート印刷プロセスの単一パートを停止することもできる。
【0071】
図9の940~970に関連して更に詳細に後述するように、いくつかの実施形態において、故障分類器によって合格と分類された低解像度画像の切り取られたバージョンは、押出分類器に提供されてもよい。いくつかの実施形態において、低解像度画像は、切り取られ、関心領域に集中することができる。いくつかの実施形態において、押出分類器は、バイナリの前分類器およびCNNのグループを備えてもよい。いくつかの実施形態において、押出分類器のバイナリの前分類器は、
図9の940に関連して更に詳細に後述するように、低解像度画像の切り取られたバージョン内に存在する印刷エラーがあるかを決定することができる。画像が印刷エラーを示すと分類される場合、3D印刷プロセスの間最初に捕捉された最大解像度の切り取られていない画像は、CNNのグループに入れられる。いくつかの実施形態において、CNNのグループは、押出品質に特徴的である印刷層のパターンに基づいて、画像の品質を集合的に分析し、次に、
図9の970に関連して更に詳細に後述するように、所定の公式に従って測定および重み付けられた押出品質に関連付けられた特徴の指定されたセットに基づいて、画像に押出品質スコアを割り当てることができる。いくつかの実施形態において、例えば、
図10および
図11に示され、
図10および
図11に関連して後述するように、押出品質スコアを用いて、強化学習エージェントを案内し、印刷パラメータを調整し、印刷プロセスを修正することができる。バイナリの前分類器が、層の印刷パターンにおいて画像内に示すエラーがないと決定する場合、印刷ジョブは、修正なしで継続することができる。
【0072】
不合格または印刷エラーを有さないと分類された画像を除去するこのプロセスによって、押出分類器におけるCNNのグループは、修正される候補である3D印刷されている対象物における層の捕捉される画像のみを分類することができ、これは、必要な計算資源を最小化する。加えて、低解像度画像を用いるための故障分類器および低解像度の切り取られた画像を用いるための押出分類器のバイナリの前分類器を構築することによって、フルサイズの最大解像度画像のみが、押出分類器におけるCNNのグループによって用いられ、必要な計算資源をさらに最小化する。
【0073】
図9に戻り、回復不能の故障を識別し、および/または、故障分類器および押出分類器を用いて品質スコアを決定するためのプロセスの一例900は、開示された内容のいくつかの実施形態に従って示される。いくつかの実施形態において、プロセス900は、対象物の印刷の間、画像分析器180によって実行可能である。
【0074】
910において、プロセス900は、学習された故障分類器を印刷されている対象物の層の画像の低解像度バージョンに適用することができる。いくつかの実施形態において、画像の低解像度バージョンは、任意の好適な方法で、原画像から生成可能である。
【0075】
いくつかの実施形態において、原画像は、
図1ならびに
図6のブロック640および650に示され、これらに関連して上述されるように、任意の適切な方法で、例えば、3Dプリンタに関連付けられたカメラを用いて捕捉可能である点に留意されたい。
【0076】
いくつかの実施形態において、故障分類器は、任意の適切なトポロジを有するCNNとすることができる。例えば、いくつかの実施形態において、CNNは、表現学習のための任意の適切な数(例えば、2、3、5および/または他の任意の適切な数)の畳み込み/最大プーリング層を有することができる。他の例として、いくつかの実施形態において、CNNは、畳み込み/最大プーリング層に続くドロップアウトを有する全結合層を有することができる。更に他の例として、いくつかの実施形態において、CNNは、分類結果を提供する活性化関数(例えば、ソフトマックス活性化および/または他の任意の適切な活性化関数)の前に、全結合層を有することができる。いくつかの実施形態において、故障分類器により提供される分類結果は、2つの分類クラス、すなわち合格または不合格を有することができる。
【0077】
いくつかの実施形態において、故障分類器は、任意の適切な方法で学習可能である。例えば、いくつかの実施形態において、学習セットは、任意の適切な学習サンプルによって構築可能である。より特定の例として、いくつかの実施形態において、学習セットは、印刷対象物の各層の画像を用いて生成可能である。この特定の例を続けると、印刷対象物が500の層を有し、印刷故障が層Nに位置する例において、学習セットは、500の画像(0~499の番号が付けられている)(すなわち、1つの層につき1つの画像)を含むことができ、Nの画像(すなわち、印刷故障より前の層に対応する画像)は合格と分類され、500-Nの画像(すなわち、印刷故障の後の層に対応する画像)は不合格と分類される。いくつかの実施形態において、学習セットは、任意の適切な技術または技術の組み合わせを用いて故障分類器を学習するために用いることができる。
【0078】
920において、プロセス900は、回復不能の故障があったかを決定することができる。いくつかの実施形態において、プロセス900は、故障分類器により決定される分類に基づいて、回復不能の故障があったかを決定することができる。例えば、いくつかの実施形態において、プロセス900は、不合格の分類に関連付けられた可能性が所定の閾値(例えば、0.8、0.9および/または他の任意の適切な可能性)を超えるかを決定することができる。いくつかの実施形態において、プロセス900は、910に関連して上述した第2の順序フィルタの結果efに基づいて、回復不能の故障があったかを決定することができる点に留意されたい。
【0079】
920において、プロセス900が回復不能の故障があったと決定する場合(920において「はい」)、プロセス900は、930において対象物の印刷を停止させることができる。
【0080】
920において、プロセス900が回復不能の故障がなかったと決定する場合(920において「いいえ」)、プロセス900は、学習された前分類器を画像の低解像度バージョンに適用することができる。いくつかの実施形態において、970に関連して後述するように、前分類器は、画像が押出分類器を用いて押出エラーを決定するために分析される候補であるかを決定することができる。いくつかの実施形態において、前分類器は、エラーが検出されることまたはエラーが検出されないことに対応する2つの分類クラスを有するバイナリの前分類器とすることができる。いくつかの実施形態において、前分類器は、低解像度画像を用いて、画像が押出分類器によって(例えば、エラーが検出されたと決定することに応答して)さらに分析されるべきかを決定することができる。いくつかの実施形態において、前分類器によって検出されるエラーに関連付けられた画像に押出分類器を適用することによって、押出分類器は、押出値のバリエーションに高感度であるように学習可能である。加えて、いくつかの実施形態において、高解像度画像において学習される押出値によって発生する押出値を用いることによって、押出値に基づいてパラメータを修正する印刷プロセスは、比較的高い精度で動作することができる。
【0081】
いくつかの実施形態において、前分類器は、画像の低解像度バージョンの切り取られたバージョンを用いることができる。いくつかのこの種の実施形態において、画像の低解像度バージョンを、任意の適切なサイズ(例えば、200×200、150×150および/または他の任意の適切なサイズ)に切り取ることができる。いくつかの実施形態において、画像の低解像度バージョンを、押し出された層の充填に基づいて、画像の重心周辺で切り取ることができる。いくつかの実施形態において、画像の低解像度バージョンの切り取られたバージョンは、メッシュ・パターンまたは押出値に特徴的である他の印刷パターンを含むことができる点に留意されたい。いくつかの実施形態において、他の任意の適切な拡張技術、例えば回転、ミラーリングおよび/または他の任意の適切な画像拡張技術を適用することができる。
【0082】
いくつかの実施形態において、前分類器は、任意の適切なトポロジを有することができる。例えば、いくつかの実施形態において、前分類器は、CNNとすることができる。より特定の例として、いくつかの実施形態において、前分類器は、910に関連して上述した故障分類器と同じトポロジを有するCNNとすることができる。いくつかの実施形態において、前分類器は、任意の適切な方法で、例えば、学習画像の任意の適切な学習セットを用いて前分類器を学習することによって学習可能である。いくつかの実施形態において、学習セット内に含まれる学習画像は、印刷の間、異なる層で印刷に注入される異なるスケールの押出コマンドに対応するエラーを有する対象物の異なる層の画像を捕捉することによって取得可能であるので、異なる押出値に対応するエラーは学習セット内に含まれる。いくつかの実施形態において、前分類器は、CNNを学習するため任意の適切な技術を用いて学習可能である。
【0083】
950において、プロセス900は、エラーが検出されたかを決定することができる。いくつかの実施形態において、プロセス900は、前分類器により決定される分類に基づいてエラーが検出されたかを決定することができる。例えば、いくつかの実施形態において、プロセス900は、検出されるエラーの分類に関連付けられた可能性が所定の閾値(例えば、0.8、0.9および/または他の任意の適切な可能性)を超えるかを決定することができ、検出されたエラーの可能性が所定の閾値を超えると決定することに応答して、エラーが検出されたと決定することができる。反対に、いくつかの実施形態において、エラーなしの分類に関連付けられた可能性が所定の閾値(例えば、0.8、0.9および/または他の任意の適切な可能性)を超えると決定することに応答して、プロセス900は、エラーが検出されなかったと決定することができる。
【0084】
950において、プロセス900が、エラーが検出されなかったと決定する場合(950において「いいえ」)、プロセス900は、960において対象物の印刷を継続することができる。
【0085】
950において、プロセス900が、エラーが検出されたと決定する場合(950において「はい」)、970において、プロセス900は、学習された押出分類器を画像の高解像度バージョンに適用して、押出品質スコアを決定することができる。いくつかの実施形態において、元の画像は、押出分類器への入力として使用可能である。あるいは、いくつかの実施形態において、元の画像のウインドウは、押出分類器への入力として使用可能であり、ウインドウは元であるか、より高い解像度である。いくつかのこの種の実施形態において、ウインドウは、ウインドウが押出の品質を示す特性印刷パターン(例えば、メッシュ・パターン)の高解像度画像を含むように、前分類器により用いられる重心に対応することができる。
【0086】
いくつかの実施形態において、押出分類器は、任意の適切なトポロジを有することができる。例えば、いくつかの実施形態において、押出分類器は、任意の適切な数のベース学習器(例えば、3、4、5および/または任意の適切な数)の集合とすることができ、各ベース学習器はCNNである。より特定の例として、いくつかの実施形態において、押出分類器は、各々ベース学習器に対応する4つのCNNを有することができる。いくつかの実施形態において、各CNNは、任意の適切な数の畳み込み層(例えば、2、3、4、5および/または他の任意の適切な数の畳み込み層)を有することができる。より特定の例として、いくつかの実施形態において、押出分類器が4つのCNNを有する例では、4つのCNNは、それぞれ、2、3、4および5の畳み込み層を有することができる。いくつかの実施形態において、各CNNは、2つの全結合層を含むことができる。いくつかの実施形態において、各CNNによって生成される確率の平均を計算することができ、平均は、確率の分布を用いて画像を分類するために使用可能である。
【0087】
いくつかの実施形態において、押出分類器は、任意の適切な方法で学習可能である。例えば、いくつかの実施形態において、押出分類器は、CNNを学習するために用いられる任意の適切な技術を用いて学習可能である。他の例として、いくつかの実施形態において、押出分類器は、任意の適切な学習パラメータ、例えば任意の適切な値(例えば、16、128、256、512、1024および/または他の任意の適切な値)を有する任意の適切なフィルタ、任意の適切な学習速度(例えば、0.0001、0.0005および/または他の任意の適切な学習速度)、任意の適切なバッチサイズ(例えば、8、16および/または他の任意の適切なバッチサイズ)、任意の適切なエポック数(例えば、50、100および/または任意の適切な数)および/または任意の適切な数の生の学習画像(例えば、8000、8400、9000および/または他の任意の適切な数)用いて学習可能である。
【0088】
いくつかの実施形態において、押出分類器により決定される押出品質スコアが、任意の適切な目的のために使用可能である点に留意されたい。例えば、いくつかの実施形態において、押出品質スコアを用いて、印刷パラメータ、例えば押出速度、押出容量、押出機ヘッドの動きの速度、押出機ノズルの温度および/または他の任意の適切なパラメータを修正することができる。いくつかの実施形態において、
図10および
図11に示され、
図10および
図11に関連して後述するように、押出品質スコアは、対象物の印刷の間、印刷パラメータを修正する強化学習エージェントへの入力として提供可能である。いくつかの実施形態において、画像分析器180は、予めプログラムされ、印刷層の受信画像内の特定の異常(例えば、予想外のギャップまたはカールした端、歪んだまたは不均一なパターン、過剰な押出の点、糸のようであるか他の異質な人工物および/または印刷層内の他の任意の破壊)を認識することができる。予めプログラムされた異常に基づいて、画像分析器180は、生成された画像を完成された印刷層のために処理し、処理された画像が予めプログラムされた異常に類似の異常を含むか否かを判定し、印刷層上の任意のこの種の異常の1つまたは複数の場所を識別することができる。
【0089】
いくつかの実施形態において、画像分析器180は、検出異常と1つまたは複数の印刷パラメータとの間の相関を決定し、記録するようにさらに構成可能である。例えば、適切な人工知能アルゴリズムを用いて、画像分析器は、検出異常と相関し得る1つまたは複数の印刷パラメータを決定することができる。例えば、画像分析器180は、以下の例の相関を発見することができる。印刷ヘッドが他ではない特定の温度であるとき、破壊が発生すること、他ではない特定の印刷速度が、多数の予想外のギャップを生じること、および、対象物の特定の位置における特定の充填パターンが、異常の特定のタイプを生じること。
【0090】
いくつかの実施形態において、検出異常と1つまたは複数の印刷パターンとの間の相関を検出することに応答して、画像分析器180は、印刷されている対象物または将来印刷される1つまたは複数の対象物の1つまたは複数の層が印刷される方法を変える情報、データおよび/または命令を提供することができる。例えば、いくつかの実施形態では、画像分析器は、発見される相関および/または印刷パラメータ設定を最適に調整するための命令を数値制御符号生成器110、制御モジュール160および/または他の任意のデバイスに通信することができる。次に、数値制御符号生成器110および/または制御モジュール160は、情報を用いて、現在印刷されている対象物の任意のその後の層のための数値制御符号における印刷パラメータの調整を行うことができる。いくつかの実施形態において、次の層または任意の将来の層が、前の層で見つかった異常を補償するように、印刷パラメータを調整することができる。例えば、予想外のギャップが印刷層において検出される場合、次の層のための数値制御符号は、ギャップの上に位置するフィラメントを堆積させるとき、ギャップを充填する命令を含むことができる。他の例では、予想外のギャップが対象物の下部で見つかるとき、対象物の上部における対称層のための数値制御符号は、ギャップを補償する命令を含むことができる。
【0091】
いくつかの実施形態において、画像分析器180は、完成された印刷対象物の機械的、光学的および/または電気的特徴を測定するように構成可能である。
【0092】
いくつかの実施形態において、画像分析器180は、1つまたは複数の印刷パラメータと印刷層および/または完成された印刷対象物におけるわずかな異常との間の相関を検出するように構成可能である。さらなる実施形態において、画像分析器180は、1つまたは複数の印刷パラメータと完成された印刷対象物の測定された機械的、光学的および/または電気的特性との間の相関を検出するように構成可能である。1つまたは複数のこの種の相関を検出することに応答して、画像分析器は、印刷されている対象物または将来印刷される1つまたは複数の対象物の1つまたは複数の層が印刷される方法を変える情報、データおよび/または命令を提供することができる。いくつかの実施形態において、画像分析器180は、情報、データおよび/または命令を例えば3次元モデリング・ソフトウェアに提供し、生産設計を改善することができる。
【0093】
更なる実施形態において、
図10および
図11に示され、
図10および
図11に関連して後述するように、画像分析器180は、例えば、強化学習モデルを用いて、3D印刷プロセスの間、印刷パラメータを適応および調整し、最終的な印刷対象物の機械的特性を最適化することができる。いくつかの実施形態において、強化学習モデルを学習するための関連付けられた計算時間を最小化し、修正処置を識別し、最終製品の機械的特性(例えば引張強度)を改善するために、環境の可能な条件およびとり得る対応する処置のセット(本願明細書において概して状態/処置空間と称される)は、減少可能または制限可能である。いくつかの実施形態において、状態/処置空間は、含まれる入力変数の数を選択することによっておよび/またはそれらの有用性に基づいて潜在的出力を選択することによって制限可能である。例えば、いくつかの実施形態において、3D印刷された標本の最終的な引張強度を最適化するために、状態/処置空間は、例えば、印刷プロセスの間の堆積材料の体積、押出機ノズル温度、押し出された樹脂の体積、印刷ヘッドの動き力学、周囲環境条件および押し出された熱可塑性物質の材料特性を変えることのような、比較的大きな程度で引張強度に影響を与える印刷パラメータに関連した処置を考慮することによってのみ減少されてもよい。いくつかの実施形態において、利用できる処置および環境の対応する状態を制限することによって、本願明細書において記載されているメカニズムは、計算資源を最小化しながら更なる分析のために利用可能な結果をもたらすことができる。
【0094】
いくつかの実施形態において、画像分析器180は、印刷層のための生成されたトポグラフィー画像および/または他の生成された画像ならびに印刷層のための生成された数値制御符号を用いて、制御できない変数(すなわち、人間の介入なしで制御できない変数)と結果得られる印刷ヘッドの動きとの間の関係を学習することができ、ならびに、堆積層内の異常(例えば、予想外のギャップまたはカールした端、歪んだまたは不均一なパターン、過剰な押出の点、数値制御符号において特定される印刷経路からの偏差、予想外の糸のようであるか他の異質な人工物および/または印刷層内の他の任意の破壊)を学習することができる。制御できない変数と結果得られる印刷ヘッドの動きとの間の相関を異常と同様に検出することに応答して、画像分析器180は、印刷されている対象物または将来印刷される1つまたは複数の対象物の1つまたは複数の層が印刷される方法を変える情報、データおよび/または命令を提供することができる。
【0095】
いくつかの実施形態において、相関に関する情報を用いて、本願明細書において記載されている多くのAIメカニズムの1つを学習することができる。
【0096】
いくつかの実施形態において、層が印刷された後、画像分析器180は、完成された印刷層を1つまたは複数の前の層と比較し、異常を検出および記録し、異常率およびパターンを比較および記録し、命令を数値制御符号生成器110および/または制御モジュール160に提供し、印刷パラメータを調整し、対象物の全体設計を最適化する(例えば、所望の機械的、光学的および/または電気的特性を得る、または、生産設計に酷似している印刷設計を達成する)、または、印刷ジョブの動作を最適化する(例えば、堆積速度をスピードアップする、または、必要な材料の量を最小化する)ように構成可能である。また、異常を識別するために、完成された層と以前の層との間の比較を用いて、積層造形システム100の印刷パラメータに対する因果関係をより良く割り当て、部分的な印刷対象物の次の層または任意のその後の層の適切な調整を行い、ならびに、類似または異なる対象物の将来の印刷ジョブを最適化することができる。
【0097】
いくつかの実施形態において、画像分析器180は、部分的な印刷対象物の現在の層および/または前の層のための全体の異常率を分析し、類似の印刷ジョブからのAIPCに基づいて、命令を数値制御符号生成器110および/または制御モジュール160に提供し、部分的な印刷対象物の次の層および/または任意の将来の層のための印刷パラメータを調整し、所望の機械的、光学的および/または電気的特性を得るように構成可能である。
【0098】
いくつかの実施形態において、層が印刷された後、人工知能に基づかないアルゴリズムを用いて、使用されている特定の積層造形プリンタの特定の較正に関連する異常を識別することができる。適切な調整は、その後の層および将来の印刷ジョブのための数値制御符号に対して、特定の積層造形プリンタの較正を考慮して行われる。
【0099】
いくつかの実施形態において、1つまたは複数の印刷層内の異常が特定の所定の許容度を上回る場合、印刷対象物のための印刷ジョブは、完成の前に停止可能である。失敗した印刷ジョブのために収集されるデータは、情報、データおよび/または命令を数値制御符号生成器110、制御モジュール160および/または積層造形プリンタ115によって実行される印刷処理に関連した学習データを収集する任意のコンピュータ・システムに提供することができる。
【0100】
いくつかの実施形態において、画像分析器180は、印刷対象物のための異常データ(例えば、異常の分布、パターンおよび率)および自動的に推奨される印刷調整を3次元モデリング・ソフトウェアに送信し、異常に対応する設計における構造を除去または修正するようにさらに構成可能である。
【0101】
図6は、
図1から
図3をさらに参照しながら、開示された内容のいくつかの実施形態に従って、高いレベルで、AIPCを用いた積層造形印刷動作の一例を示す。いくつかの実施形態において、積層造形プロセス600は、積層造形システム100を用いることができる。
【0102】
610において、生産設計は、印刷対象物がどのように見えなければならないかを特定し、印刷対象物のための所望の機械的、光学的および/または電気的特性は、数値制御符号生成器110に提供される。いくつかの実施形態において、いくつかの最初の印刷パラメータは、オペレータによって入力される。いくつかの実施形態において、生産設計は、数値制御符号生成器110に提供され、画像分析器180は、AIPCを用いて、生産設計のための所望の機械的、光学的および/または電気的特性を決定する。
【0103】
いくつかの実施形態において、オペレータは、画像分析器180のための規則セットを入力し、積層造形印刷プロセスの間、矛盾するゴールを解決することができる。例えば、ユーザは、印刷対象物の最適な機械的特性を達成することが、以下のことより優先すべきであることを特定することができる。印刷速度、生産設計に対する完全性、および、用いられるフィラメントの量の減少。オペレータはまた、どのような機械的、光学的および/または電気的特性が印刷対象物にとって最も重要かを特定することができるので、画像分析器180は、機械的、光学的および/または電気的特性を最適化する印刷パラメータを調整する命令を提供することができる。
【0104】
620において、数値制御符号生成器110は、以下の1つまたは複数に基づいて、印刷対象物の層のための数値制御符号を生成することができる。オペレータによって入力される入力パラメータ、積層造形プリンタ115の印刷特徴、生産設計の仕様(機械的、光学的および/または電気的特性を含む)、部分的な印刷対象物の1つまたは複数の前の印刷層からのAIPCおよび/または他の印刷対象物からのAIPC。生成された数値制御符号は、横断する印刷ヘッド140および/またはビルド・プレート150のための設定点のセット(例えば、複数のX-Y-Z座標)を含むことができる。
図7Aは、数値制御符号内に含まれ得る印刷層のための設定点セットの一例のシミュレーションを示す。生成された数値制御符号はまた、印刷ヘッドおよび/またはビルド・プレートがどのように個々の設定点を横断しなければならないかを定義する命令を含むことができる。横断された印刷経路が、含まれた命令に基づいて、どのように見え得るかの一例のシミュレーションは、例えば、
図7Bに示される。
【0105】
いくつかの実施形態において、生成された数値制御符号はまた、特定の印刷パラメータを特定することができ、特定の印刷パラメータは、設定点の間の印刷ヘッド140および/またはビルド・プレート150の速度、設定点の間の印刷ヘッド140および/またはビルド・プレート150のノズルの温度、設定点の間に堆積するフィラメントの量、設定点の間の充填密度および設定点の間の充填パターンを含むがこれらに限定されるものではない。
【0106】
630において、印刷ヘッド140は、数値制御符号生成器110および/または制御モジュール160により提供される命令に従って、生産設計の層のためのフィラメントを堆積させることができる。
【0107】
640において、光源130は、特定されたトポグラフィー撮像技術および/または(上述したような)他の撮像技術に基づいて、印刷層を照射することができる。
【0108】
650において、画像センサ120は、照射された印刷層の画像を捕捉することができる。
【0109】
660において、画像生成器170は、画像センサ120によって捕捉された画像に基づいて、印刷層の1つまたは複数のトポグラフィー画像および/または他の任意の適切な画像を生成することができる。いくつかの実施形態において、印刷層の生成された画像は、タイル化されるまたは貼り合わせられる一連のキャプチャ画像を含むことができる。
【0110】
さらなる実施形態において、印刷層のための実際の印刷経路は、1つまたは複数のトポグラフィー画像、および/または、画像生成器170によって生成される他の適切な画像から決定可能である。
【0111】
670において、画像分析器180は、生成されたトポグラフィー画像および/または他の生成された画像を印刷層のために用いるとともに、生成された数値制御符号を印刷層のために用いて、押し出し層内の異常(例えば、予想外のギャップまたはカールした端、歪んだまたは不均一なパターン、過剰な押出の点、数値制御符号において特定される印刷経路からの偏差、予想外の糸のようであるか他の異質な人工物および/または印刷層内の他の任意の破壊)を決定し、記録することができる。
【0112】
いくつかの実施形態において、画像分析器180は、生成された数値制御符号内に含まれる設定点および命令から印刷層のための印刷経路を抽出し、プロットすることができる。画像分析器は、プロットされた印刷経路をピクセルに変換し、印刷層のために生成された画像から得られる印刷経路の上にピクセルをオーバレイし、ピクセルと印刷経路との間の違いを判定することができる。いくつかの実施形態において、画像分析器180は、印刷層のための生成された画像から得られる印刷経路を座標系の印刷点に変換し、これらの印刷点を比較し、生成された数値制御符号から抽出されるプロットされた経路に沿って点を印刷することができる。
【0113】
生成された画像から得られるような印刷層のための印刷経路が、生成された数値制御符号から抽出された印刷経路と同じである場合、それらの間の違いはゼロまたはほぼゼロである。ゼロより大きい数は、実際の印刷経路と生成された数値制御符号において特定される印刷経路との間で検出されるエラーの量を記載する。印刷経路の比較はまた、エラーが印刷経路上のどこで発生したかを示すことができる。
【0114】
680において、画像分析器180は、異常の数および画像分析器が印刷層および/または前の層から検出した異常のパターン(実際の経路と生成された数値制御符号における印刷経路との間の偏差を含む)を分析することができる。他の印刷ジョブからのAIPCに基づいて、画像分析器180は、部分的な印刷対象物の次の層またはその後の層の印刷パラメータに調整を行わなければならないかを決定し、検出異常からみて所望の機械的、光学的および/または、電気的特性を達成することができる。例えば、検出異常に基づいて、部分的な印刷対象物の現在の層および/または前の層のために、画像分析器180が完成された印刷対象物のための機械的特性が要求より弱いことを決定する場合、画像分析器180は、数値制御符号生成器110および/または制御モジュール160に、次の層または任意のその後の層における特定の印刷パラメータを調整する(例えば、充填密度を増加させるおよび/または充填パターンを変える)ように指示し、所望の機械的特性を達成することができる。
【0115】
いくつかの実施形態において、動作610-680は、各層、または、任意の数の層を繰り返して、印刷対象物を堆積する。画像分析器180は、各層で得られたデータおよび他の印刷ジョブからのAIPCを用いて、次の層および/またはその後の層のための印刷パラメータを修正し、印刷対象物の所望の機械的、光学的および/または電気的特性および/または所望の設計を達成することができる。さらなる実施形態において、完成された印刷対象物の機械的、光学的および/または電気的特性を測定することができる。
【0116】
プロセス600の特定の部分がいつ実行されるかの分割は、変化させることができ、分割がないことまたは異なる分割は、本願明細書において開示される内容の範囲内である。いくつかの実施形態では、プロセス600のブロックは、任意の適切な時間において実行可能であることに留意されたい。本願明細書において記載されているプロセス600の部分の少なくとも一部が、いくつかの実施形態において
図6に関連して図示および記載されている順序およびシーケンスに限定されるものではなく、任意の順序またはシーケンスで実行可能であることを理解されたい。また、本願明細書において記載されているプロセス600のいくつかの部分は、いくつかの実施形態において、実質的に、必要に応じて同時に、または、並列に実行可能である。追加的にまたは代替的に、プロセス600のいくつかの部分は、いくつかの実施形態では、省略可能である。
【0117】
プロセス600は、任意の適切なハードウェアおよび/またはソフトウェアにおいて実施可能である。例えば、いくつかの実施形態では、プロセス600は、画像分析器180または数値制御符号生成器110において実施可能である。
【0118】
いくつかの実施形態において、画像分析器180は、印刷対象物の各層の異常パターンを学習し、画像分析器180が、類似または異なる対象物(例えば、
図6に関連して記載されているような)の印刷プロセスの間、層レベルでの印刷パラメータを最適に調整し、所望の機械的、光学的および/または電気的特性を達成することができる。
【0119】
特定の印刷パラメータは、印刷対象物の機械的、光学的および/または電気的特性に影響を及ぼす。例えば、充填密度および充填パターンは、最大引張強度(Rm)、降伏強度(Rp2%)、破断点伸び(A%)、ヤング率(E)、疲労(σd)、ポアソン率、質量および比重のような機械的特性に影響を及ぼし得る。
【0120】
異常パターンおよび特定の印刷パラメータが印刷対象物の機械的、光学的および/または電気的特性に実際にどのように影響を及ぼすか理解することで、印刷対象物の機械的、光学的および/または電気的特性に影響を及ぼす印刷パラメータを変化させながら、対象物を複数回印刷することができる。各印刷対象物のための異常パターンは、記載されているような、例えば
図6に関連して(例えば670において)層レベルで決定可能かつ記録可能である。加えて、各印刷対象物の機械的、光学的および/または電気的特性を測定および記録することができる。
【0121】
図8は、いくつかの実施形態に従って、異なる充填密度および充填パターンに基づいて異常パターンおよび異常率を学習するための学習プロセスの一例800を示すとともに、それらの異常パターンおよび異常率が印刷対象物の機械的特性にどのように影響を及ぼすのかを示す。学習プロセスの間、機械学習モデルを生成するために用いられる学習データは、実際のデータまたはシミュレーションデータから組み合わせてまたは別々に導出されてもよい。実際の学習データは、製造における器材の動作の間に収集されるデータとすることができるし、さもなければ、例えば、3D印刷プロセスの間、リアルタイムに取られる画像とすることができる。シミュレーションデータは、既存のライブラリに基づいて、ランダムに生成された画像のシーケンスのような、製造データを表すシミュレーションまたはコンピュータ方法から取得されるデータとすることができ、3D印刷プロセスの間、画像をリアルタイムに捕捉することを模倣することを意味する。
【0122】
810において、対象物の機械的特性に影響を及ぼす1つまたは複数の印刷パラメータを識別することができる。例えば、充填密度および充填パターンは、対象物の機械的特性に影響を及ぼすものとして識別可能である。いくつかの実施形態において、人工知能アルゴリズムを用いて、対象物の機械的特性に影響を及ぼす他の印刷パラメータを識別することができる。
【0123】
820において、目標対象物の所定数(「グループ」)を印刷することができ、目標対象物の機械的特性に影響を及ぼすと識別された1つまたは複数の印刷パラメータを、グループ全体のために同一に保つことができる。例えば、グループの各対象物は、同じ充填パターンおよび充填密度の印刷パラメータを特定して印刷可能である。
【0124】
830において、
図6の670に関連して記載されているように、グループ内の各印刷対象物の層レベルで異常を検出し、記録することができる。例えば、実際の印刷経路と生成された制御符号から抽出される印刷経路との間の違いは、各層毎に決定可能である。グループ内の各目標対象物が印刷された後、その目標対象物の機械的特性を測定し、記録することができる。
【0125】
830の後、プロセス800は820に戻ることができ、目標対象物の他の所定数は、異なる充填密度および/または充填パターンで印刷可能である。
【0126】
820および830は、画像分析器180を学習し、異常パターンおよび異なる識別された印刷パラメータ(例えば、充填密度および充填パターン)が対象物の機械的特性にどのように影響を及ぼすのかを学習するのに必要な回数だけ繰り返すことができる。目標対象物の所定数が印刷されるたびに(「グループ」)、識別されたパラメータ(例えば、充填密度および/または充填パターン)を変えることができる。下表は、目標対象物のための例のグループ、および、それらの特定された充填密度および充填パターンの印刷パラメータを反映する。
【表1】
【0127】
いくつかの実施形態において、充填密度および充填パターンの印刷パラメータは、印刷対象物の各層のために一定の状態に保たれる。他の実施形態において、充填密度および/または充填パターンは、層がどこに位置するかに応じて、または、無作為に対象物の異なる層によって変化する。
【0128】
一旦画像分析器180が異なる異常率およびパターンおよび識別された印刷パラメータ(例えば、異なる充填密度および充填パターン)が対象物の機械的特性にどのように影響を及ぼすのかについて学習すると、画像分析器は、印刷ジョブの間(例えば、層レベルで)、識別された印刷パラメータのための値を適切に調整し、所望の機械的特性を達成することができる。例えば、充填密度および充填パターンが調整されなかった場合、画像分析器180は、部分的な印刷対象物の印刷層が、一旦完成された印刷対象物の基準以下の機械的特性になるであろう特定の異常率およびパターンを有するということを検出することができる。次に、画像分析器180は、次の層および/または任意のその後の層のための充填率および充填パターンの印刷パラメータを調整し、所望の機械的特性を達成するとともに、異常の発生を減少するようにも試みることができる。
【0129】
類似のプロセスは、異常パターンが対象物の光学的および/または電気的特性にどのように影響を及ぼすのかを学習するために実行可能である。例えば、対象物の光学的および/または電気的特性に影響を及ぼす印刷パラメータを識別することができる。目標対象物のグループは、印刷され、上述したように目標対象物のグループにわたり識別された印刷パラメータを制御することができる。一旦画像分析器180が異なる異常率およびパターンおよび識別された印刷パラメータが対象物の電気的および/または光学的特性にどのように影響を及ぼすのかを学習すると、画像分析器は、印刷ジョブの間層レベルで識別された印刷パラメータのための値を適切に調整し、所望の電気的および/または光学的特性を達成することができる。
【0130】
類似のプロセスは、制御できない変数(すなわち、人間の介入なしで制御できない変数)が対象物の機械的、光学的および/または電気的特性にどのように影響を及ぼすかを学習するために実行可能である。例えば、対象物の機械的、光学的および/または電気的特性に影響を及ぼす制御できない変数を識別することができる。目標対象物のグループは、印刷され、上述したように目標対象物にわたり識別された制御できない変数を制御する。一旦画像分析器180が異なる異常率およびパターンおよび識別された印刷の制御できない変数が対象物の機械的、電気的および/または光学的特性にどのように影響を及ぼすのかを学習すると、画像分析器は、印刷ジョブの間層レベルで印刷パラメータのための値を適切に調整し、制御できない変数を補償し、所望の電気的および/または光学的特性を達成することができる。
【0131】
プロセス800の特定の部分がいつ実行されるかの分割は、変化させることができ、分割がないことまたは異なる分割は、本願明細書において開示される内容の範囲内である。いくつかの実施形態では、プロセス800のブロックは、任意の適切な時間において実行可能であることに留意されたい。本願明細書において記載されているプロセス800の部分の少なくとも一部が、いくつかの実施形態において
図8に関連して図示および記載されている順序およびシーケンスに限定されるものではなく、任意の順序またはシーケンスで実行可能であることを理解されたい。また、本願明細書において記載されているプロセス800のいくつかの部分は、いくつかの実施形態において、実質的に、必要に応じて同時に、または、並列に実行可能である。追加的にまたは代替的に、プロセス800のいくつかの部分は、いくつかの実施形態では、省略可能である。
【0132】
プロセス800は、任意の適切なハードウェアおよび/またはソフトウェアにおいて実施可能である。例えば、いくつかの実施形態では、プロセス800は、画像分析器180または数値制御符号生成器110において実施可能である。
【0133】
いくつかの実施形態において、画像分析器180は、生成されたトポグラフィー画像、および/または、(
図6の660にて説明したように)印刷層のための他の生成された画像、ならびに、印刷層のための生成された数値制御符号を用いて、印刷パラメータと結果得られる印刷ヘッドの動きとの間の関係を学習することができ、ならびに、押し出し層内の異常(例えば、予想外のギャップまたはカールした端、歪んだまたは不均一なパターン、過剰な押出の点、カールした端、数値制御符号において特定される印刷経路からの偏差、予想外の糸のようであるか他の異質な人工物および/または印刷層内の他の任意の破壊)を学習することができる。画像分析器180はまた、学習した関係を逆にして、結果として所望の印刷ヘッドの動きを生じ、押し出された層内の異常を最小化する最適な数値制御符号入力パラメータを計算することもできる。より詳しくは、人工知能アルゴリズムに対する入力変数は、以下を含むことができる。印刷ヘッドの中で以前の測定位置(
によって表される)、結果として印刷ヘッドの以前の位置になった制御コード印刷パラメータ(θ
i-1によって表される)、および、印刷ヘッドの現在の測定位置(
によって表される)。そして、出力変数は、結果として印刷ヘッドの現在の位置(θによって表される)になった数値制御符号パラメータとすることができる。入力変数および出力変数は、一緒に、人工知能アルゴリズムのための単一の学習サンプルとして機能することができる。単一の印刷層は、結果としてこの種の数百の学習サンプルを生ずることができる。これらの学習サンプルは、前の層内の異常についての知識、生産設計の所望の仕様、積層造形プリンタの印刷特徴および/または周囲条件とともに、最適な印刷パラメータを計算し、所望の印刷ヘッドの動きを生成するために用いることができる。いくつかの実施形態では、学習サンプルは、前の層内の異常についての知識、生産設計の所望の仕様、積層造形プリンタの特徴および/または周囲条件とともに、最適な印刷パラメータならびにその後の層のX-Y-Z設定点の最適配置および印刷経路のための命令を計算するために用いることができる。
【0134】
いくつかの実施形態において、画像分析器180はまた、印刷パラメータと層の全体の特徴との間の関係を学習するために適用可能である。例えば、画像分析器180は、押し出された層内の異常の総数、印刷ヘッドおよび/またはビルド・プレートの動きが生成された数値制御符号における印刷経路の命令にどれくらい酷似していたかおよび充填密度を特定したかを学習するために適用可能である。いくつかの実施形態において、画像分析器180は、学習した関係を逆にして、所望の機械的、光学的および/または電気的特性を含む、結果として生産設計の仕様に最も酷似する層を生ずる印刷パラメータを計算することができる。
【0135】
いくつかの実施形態において、画像分析器180は、生成されたトポグラフィー画像、および/または、印刷層のための生成された他の画像、ならびに、印刷層のための生成された数値制御符号を用いて、制御できない変数(すなわち、人間の介入なしで制御できない変数)と結果得られる印刷ヘッドの動きとの間の関係を学習することができ、ならびに、堆積層内の異常(例えば、予想外のギャップまたはカールした端、歪んだまたは不均一なパターン、過剰な押出の点、数値制御符号において特定される印刷経路からの偏差、予想外の糸のようであるか他の異質な人工物および/または印刷層内の他の任意の破壊)を学習することができる。画像分析器180が、制御できない変数が閾値許容度を越えて、結果得られる印刷ヘッドの動きおよび/または堆積層内の異常に反対の影響を及ぼすということを発見する場合、画像分析器180は、制御モジュール160に警報を送信することができる。制御モジュール160は、警報を受信すると、警告を積層造形システム100のディスプレイ上に表示することができ、および/または、Eメール、テキストまたは他の任意の適切な電子メカニズムを介してオペレータに警告することができる。いくつかの実施形態において、画像分析器180は、Eメール、テキストまたは他の任意の適切な電子メカニズムを介してオペレータに直接警告するように構成可能である。例えば、いくつかの実施形態では、画像分析器180が、周囲湿度、温度および/または光が結果得られる印刷ヘッドの動きに悪影響を及ぼしている、または、層内の異常の数が所定の許容度を越えていると判定する場合、画像分析器180は、制御モジュール160および/またはオペレータに警報を送信することができる。いくつかの実施形態において、画像分析器180が、積層造形プリンタ115の摩耗および/または印刷ヘッド140が利用できるフィラメントの総量(例えば、フィラメントの少量)が結果得られる印刷ヘッドの動きに悪影響を及ぼしている、または、層内の異常の数が所定の許容度を越えていると判定する場合、画像分析器180は、制御モジュール160および/またはオペレータに警報を送信し、積層造形プリンタを交換し、および/または、フィラメントを補充することができる。いくつかの実施形態において、画像分析器180が、電圧変化が結果得られる印刷ヘッドの動きに悪影響を及ぼしている、または、層内の異常の数が所定の許容度を越えていると判定する場合、画像分析器180は、制御モジュール160および/またはオペレータに警報を送信し、電圧源を点検することができる。
【0136】
学習プロセスはまた、組み合わせてまたは別々に、実際の環境またはシミュレーション環境から成る学習環境の使用を含むこともできる。いくつかの実施形態において、実際の学習環境は、モデルを学習するために用いられる実環境を含むことができ、実環境は、(例えば、対象物を3D印刷し、対象物の物理的重量、表面形態、機械的特性および/または他の任意の適切な物理的測定を測定することによる)物理的測定を含むことができる。いくつかの実施形態において、シミュレーション環境は、数値的方法またはコンピュータ方法を用いて、例えば、理論的密度および容量を用いて3D印刷構造の重量を計算するにより、シミュレーションされる学習環境を含むことができる。
【0137】
学習プロセスはまた、組み合わせてまたは別々に、実際の環境またはシミュレーション環境から成る学習環境の使用を含むこともできる。いくつかの実施形態において、実際の学習環境は、モデルを学習するために用いられる実環境を含むことができ、実環境は、(例えば、対象物を3D印刷し、対象物の物理的重量、および/または他の任意の適切な物理的測定を測定することによる)物理的測定を含むことができる。いくつかの実施形態において、シミュレーション環境は、数値的方法またはコンピュータ方法を用いて、例えば、理論的密度および容量を用いて3D印刷構造の重量を計算することにより、シミュレーションされる学習環境を含むことができる。
【0138】
いくつかの実施形態において、現実の環境において学習するのに必要な時間および資源を減少するのを支援するために、実際の環境における学習の前に、シミュレーションされた学習環境を用いて、機械学習モデルを初期化してもよい。例えば、いくつかの実施形態において、機械学習モデルは、3D印刷構造の引張強度の精度を増加させるために構築されてもよい。モデルは、シミュレーションを用いて初期化可能であり、それにより、実際の3D印刷環境における実際の学習データセットの生成の前に、モデルの学習をシミュレーションされた学習データから開始することができる。シミュレーション環境は、有限要素分析(FEA)を用いて3D印刷構造の引っ張り荷重試験を模倣し、3D印刷構造の引張強度を計算してもよい。
【0139】
いくつかの実施形態において、シミュレーション環境の機械学習フレームワークは、任意の適切な強化学習(RL)技術またはアルゴリズムを含んでもよい。強化学習は、ルールおよび入力のセットを用いて、環境およびそのさまざまな条件または状態について処置を取るコンピュータ・アルゴリズムまたはエージェントに関連する。それらの処置の対応する結果に基づいて、エージェントは、それらの以下の処置を調整し、肯定的な結果または報酬の蓄積を最大にする。
図12に示され、
図12に関連して更に詳細に後述するように、いくつかの実施形態は、非同期の分散強化学習を有するフレームワークを用いてもよく、それは、環境と並列に相互作用し、処置または軌道のそれらのシーケンスをグローバルメモリ内に保存する複数のエージェントに関連する。強化学習を用いて、エージェントを学習し(例えば、印刷動作を実施するプロセス)、エラーを修正するための処置を取る(例えば、印刷パラメータを修正する)ための追加技術は、
図10および
図11に示され、
図10および
図11に関連して後述される点に留意されたい。
図12に関連して更に詳細に後述するように、フレームワークはまた、深層Q学習(DQN)および経験再生を用いて、入力データを優先し、以前に見られなかったかまたは比較的高い重要性の入力のようなRLエージェントに提供してもよい。非同期の分散強化学習DQNおよび経験再生を利用するこれらの実施形態は、より高速に収束することができ、新しい入力データが与えられるとき、より強い解決法を生じることができる。
【0140】
図10に戻り、製造プロセスを学習するための強化学習を用いるための一般化されたパラダイムの概略図の一例1000は、開示された内容のいくつかの実施形態に従って示される。
【0141】
図10に示すように、
図10において示されるパラダイムは、方策機能ブロック1010
、ノード状態ブロック1020(h
i(s
i,θ
h))の測定値および最終的な出力ブロック1030(h
y(y,θ
y))の測定値を含む。いくつかの実施形態において、θ
a、θ
hおよびθ
yの各々は、制御ループを通して信号の変換を表すことができるブロックパラメータとすることができる点に留意されたい。いくつかのこの種の実施形態において、各ブロックパラメータは、線形または非線形とすることができ、および/または、推論されるかまたは公知である。各ブロックの値およびパラメータを記載する追加の詳細は後述される。
【0142】
いくつかの実施形態において、iはノードを表すことができ、iは0からN-1の値である。いくつかの実施形態において、概略
図1000が3D印刷プロセスの一部として実施される例では、Nは、印刷対象物における層の総数を表すことができる点に留意されたい。
【0143】
いくつかの実施形態において、概略
図1000に対応する製造プロセスを実施する製造プラントは、y=g(S)のように測定可能なスカラー出力yを生成することができ、Sは、S=[s
0,…S
n-1]のような状態のセットである。いくつかの実施形態において、状態測定値の所定のセットのために、出力品質は、予測可能であり、関数は、状態から出力までマップ可能である、すなわち、f:S→yである。いくつかの実施形態において、関数fは、システムの複雑さに応じて、さまざまな形態をとることができる。いくつかの実施形態において、マッピングは、汎用関数近似詞、例えば回帰モデル、人工ニューラル・ネットワークおよび/または他の任意の適切なタイプの関数近似詞を通して達成可能である。いくつかの実施形態において、kの学習例のセットために、
かつ
の場合、損失関数は、
として定義でき、
である。いくつかの実施形態において、損失関数は、パラメータセットθ
yにおけるモデル最適化の基礎を
として定義することができるので、関数近似詞の出力は、システムプロセスの出力を正確に予測する。
【0144】
いくつかの実施形態において、学習されるプロセスは、マルコフ決定過程(MDP)であり、将来の状態は、現在の状態s
iを条件とする。いくつかの実施形態において、製造プロセスは、制御不能のシステム力学を有する部分的に観察可能なMDPとすることができるので、従来観察可能なs
iは、処置を介して次の状態の予測された報酬を最大にするのに必要な情報を完全にはコード化しない。いくつかのこの種の実施形態において、これらの状態S=[s
0…s
i]
Tのベクトルは、MDPのシーケンスを記述することができる。いくつかの実施形態において、所定のプロセスのために、理想的な基準出力、y
*=g(S
*)を生成する基準状態のセットS
*=[s0
*…sN
*]に導く処置の理想的なセットが存在する。いくつかの実施形態において、測定された状態エラーの大きさは、
として計算可能である。いくつかの実施形態において、状態s
iは任意の適切な技術または技術の組み合わせを用いて、例えば、ベイジアンまたはカルマンフィルタを用いて、CNNを用いる複雑な分類および/または他の任意の適切な方法で推定可能である。
【0145】
いくつかの実施形態において、g(S)の初期システム識別の間、予想分布の構築と同様に、各ノードを制御するための財政的費用についての考慮を行うことができる。いくつかの実施形態において、予想分布は、
とすることができる。いくつかの実施形態において、いくつかのノードiは、拘束するのにより費用がかかり得るため、T
i∈[1,N-i-1]について
に対する修正は、エラーが
から導出される所定の閾値より大きいとき、例えば、
のとき、より費用効果的となり得、ここで、γ
iは受け入れられる許容度を示す点に留意されたい。いくつかの実施形態において、ノード状態S
Tを拘束することによって、全体的な出力品質
に関して得られた利点が存在し得るが、プロセスの最適化
は、必ずしも
を生じない。
【0146】
最も一般化された実施態様において、0からN-1までのすべてのノードiのためにγ
i=0、τ
i=N-i-1かつ
であり、T(.)は、方策πによって選択されるいくつかの処置a
iの結果である点に留意されたい。すなわち、いくつかの実施形態において、基準s
i
*からの測定された状態s
iの任意の偏差は、結果として基準状態のすべての次の定義の調整になり得る。いくつかの実施形態において、方策πを使用して最適処置a
iを選択することは、一般的な強化パラダイムと整合している。いくつかの実施形態において、最適方策πに対する方策の収束であるπ→π
*は、τ
iに関する自由度に依存し、Mの可能な処置値のために、処置a
iのa
i,k∈[a
i,0…a
i,M-1]への離散化に基づくことができる。
【0147】
いくつかの実施形態において、方策は、任意の適切な技術または技術の組み合わせを用いて学習可能である。例えば、いくつかの実施形態において、方策は、値反復法、例えばQ学習を用いて学習可能である。他の例として、いくつかの実施形態において、方策は、方策反復モデル、例えばアクター・クリテイック法を用いて学習可能である。
【0148】
いくつかの実施形態において、方策は、
によって定義可能であり、θ
aは処置の選択に関連付けられたパラメータに対応する。いくつかの実施形態において、基準の状態ベクトルは、方策の関数として
のように記述可能であり、プロセスの出力は、y
*π=g(S
*π)によって定義可能である。
【0149】
いくつかの実施形態において、プロセスにおけるエラーは、
として定義可能である。
【0150】
いくつかの実施形態において、方策の最適化は、
によって定義可能であり、例えば、
およびπ→π
*であり、適切な持続的励起
を有する。
【0151】
概略
図1000において、プロセス関数近似詞および修正方策をそれぞれ定義するパラメータθ
Yおよびθ
aは、推論に有用である点に留意されたい。特に、学習θ
Yは、プロセスの仮想複製およびθ
aに適用される学習のより厳密なチューニングを可能にし、これらは、費用がかかるプロセスノードの変化を修正する基本的なモデルパラメータである。
【0152】
図11Aに戻り、3Dプリンタに関連して実施可能な修正処置を実行するために印刷動作のための強化学習アルゴリズムを学習するためのプロセスの一例1100は、開示された内容のいくつかの実施形態に従って示される。いくつかの実施形態において、プロセス1100は、
図10に一般化され概略的に示され、
図10に関連して上述された技術を実施するプロセスとすることができる点に留意されたい。
【0153】
いくつかの実施形態において、(1つの獲得された画像に対応する)各ノードは、印刷対象物の層に対応することができる。いくつかの実施形態において、層のパラメータは、状態のための測定値と同様に、方策のための作動点に対応することができる。いくつかの実施形態において、パラメータは、押出機ノズル温度、押し出された樹脂の体積、印刷ヘッドの動き力学、周囲環境条件、押し出された熱可塑性物質の材料特性、押出機速度および/または他の任意の適切なパラメータを含むことができる。
【0154】
プロセス1100は、概して、強化アルゴリズムを学習し、修正処置を決定し、対象物の印刷の間、引張強度を修正すると記載されるが、いくつかの実施形態において、プロセス1100に関連して記載されている技術は、任意の適切な測定値または測定基準に関連して修正処置を決定するために実施可能である点に留意されたい。
【0155】
プロセス1100は、1110において、層の画像を捕捉することによって開始することができる。いくつかの実施形態において、画像は、任意の適切なサイズおよび/または解像度を有することができる点に留意されたい。
【0156】
1120において、プロセス1100は、1110で捕捉された画像に基づいて、対象物の特定の層で、印刷対象物におけるエラーを検出することができる。いくつかの実施形態において、印刷対象物の層の画像は、強化学習アルゴリズムの学習の間用いられる学習の繰り返しに対応することができる点に留意されたい。
【0157】
いくつかの実施形態において、プロセス1100は、加えて、
図11Bに示すように、伸長の関数としての引張強度を示す中央の基準の試験曲線に接近することができる点に留意されたい。いくつかの実施形態において、エラーを有する印刷対象物は、
図11Cに示すように、未修正の中央の引張曲線に関連付け可能である。
図11Cにおいて、エラーは、層i=30に存在する点に留意されたい。加えて、いくつかの実施形態において、プロセス1100が
図11Cに示される未修正の引張曲線を
図11Bに示される基準の引張曲線に戻す修正処置を決定するために学習可能である点に留意されたい。
【0158】
1130において、プロセス1100は、方策に基づいてエラーを修正するために、プリンタによってなされるべき印刷パラメータに対する変化を決定することができる。いくつかの実施形態において、印刷パラメータに対する変化は、強化学習アルゴリズムによって取られる処置に対応することができる点に留意されたい。加えて、いくつかの実施形態において、方策が任意の適切な方法で初期化可能である点に留意されたい。
【0159】
いくつかの実施形態において、印刷パラメータに対する変化は、任意の適切な変化、例えば、押し出された樹脂の体積を変えるための押出乗数の決定に対応することができる。いくつかの実施形態において、変化のシーケンスを決定することができ、シーケンスは、任意の適切な数の変化または処置(例えば、1、2、3および/または他の任意の適切な数)を含む点に留意されたい。例えば、いくつかの実施形態において、プロセス1100は、a1、a2およびa3として示される提供されるべき3つの押出乗数のシーケンスを決定することができる。処置空間が任意の適切な方法で、例えば、ai∈[1.0,1.1,…3.0]Tおよび/または他の任意の適切な方法で定義可能である点に留意されたい。
【0160】
1140において、プロセス1100は、状態情報を決定することができる。
【0161】
いくつかの実施形態において、状態は、最後の処置が先頭に追加可能であり、それによって、潜在記憶を作用する方策に提供すると同時に、ノード依存の推論を可能にするノード値もまた提供する点に留意されたい。いくつかの実施形態において、3D印刷の適用ケースにおいて、これらの依存は、変化する層ジオメトリとして実現することができ、これらのジオメトリを状態情報に明確にコード化せずに、処置を取ることができる。いくつかの実施形態において、上記の状態/処置の構築は、結果として、各状態が引張強度の偏差を修正する際に必要なすべてを含むようなマルコフ仮定の引き締めになり得る。
【0162】
いくつかの実施形態において、プロセス1100は、状態情報に対応する引張強度を計算することができる。例えば、上述した例の状態/処置情報を続けると、プロセス1100は、本願明細書において
と記載する引張強度を計算することができる。いくつかの実施形態において、引張強度エラーは、基準の引張強度に基づいて計算可能である。いくつかの実施形態において、引張強度エラーは、本願明細書において
と記載される。
【0163】
1150において、プロセス1100は、状態情報に対応する報酬を計算することができる。いくつかの実施形態において、報酬は、
のような報酬関数を用いて計算可能であり、報酬は、係数αおよびβによって重み付けされる。
【0164】
いくつかの実施形態において、測定が引張強度において修正される例では、引張強度報酬T
sが計算され、T
sは、
として定義される。いくつかの実施形態において、この定義は、なんらかの値T
s,maxで、彩度を表すことができ、これは、基準の引張強度の近くの不安定な結果のないスケーリングされた絶対値、ハイパボリック報酬曲線を可能にする。
【0165】
1160において、プロセス1100は、印刷パラメータの変化によって生成される状態に対応する報酬値の予想を計算することができる。状態/処置の対を与えられる報酬の予想は、概して、本願明細書においてQ値と称され、
として定義可能である点に留意されたい。
【0166】
加えて、システムが遅延報酬を有すると仮定すると、任意の処置a
iが、
によって定義される関連付けられた報酬r
iを有し、割引計数が0<γ<1であるように、ノードのi当たりの個々の報酬が任意の適切な方法で(例えば、ベルマン方程式を用いて)伝搬可能である点に留意されたい。
【0167】
いくつかの実施形態において、Q値関数は、任意の適切な方法で、例えば、深層Q学習アプローチ、非同期方法および方策更新のためのアクター・クリテイックパラダイム(例えば、Mnihらの「Asynchronous methods for deep reinforcement learning」、International conference on machine learning、2016年、1928~1937頁に記載されており、参照によりその全体が本願明細書に組み込まれる)、小脳モデルを利用した計算機(cerebellar model arithmetic computer)(CMAC)トポロジに対するモデル簡略化(例えば、Albusの「A new approach to manipulator control: The cerebellar model articulation controller (cmac)」、Journal of Dynamic Systems, Measurement, and Control、第97巻(3)、220~227頁に記載されており、参照によりその全体が本願明細書に組み込まれる)を用いて、および/または、他の任意の適切な方法で最適化可能である。
【0168】
1170において、プロセス1100は、報酬値の予想に基づいて、方策を更新することができる。例えば、方策
は、
によって定義可能である。いくつかの実施形態において、方策は、Q値を用いて更新可能である。
【0169】
次に、プロセス1100は、1110に戻り、強化学習アルゴリズムの学習を継続することができる。
【0170】
いくつかの実施形態において、強化学習アルゴリズムが学習された後、学習モデルのパラメータ(例えば、Q値関数および/または他の任意の適切なパラメータ)は、任意の適切な印刷プロセスによって用いられ、対象物の印刷の間、修正処置を実行することができる点に留意されたい。例えば、いくつかの実施形態において、印刷されている対象物の現在の層に関連付けられた現在状態は、(例えば、層の画像を捕捉することによって)識別可能であり、一連の修正処置は、印刷プロセスによってQ値関数を用いて識別可能である。いくつかの実施形態において、更なる修正処置は、印刷対象物の次の層で識別可能である。いくつかの実施形態において、強化学習アルゴリズムの使用は、他の任意の適切な分類器、例えば
図9に関連して上述した故障分類器および/または押出分類器と組み合わせて、印刷プロセスが対象物の印刷を終了すべきかを決定することができ、および/または、特定の層に関連付けられた品質スコアを計算することができる点に留意されたい。
【0171】
いくつかの実施形態において、強化学習アルゴリズムを3D印刷環境に構成するために、有限要素モデルは、印刷部分を張力で表すために構築可能であり、剛性マトリクスは、定義された形状を有する層に押し出される樹脂の関数である点に留意されたい。いくつかの実施形態において、このシミュレーションは、ハードウェア実施の前に、モデルのパラメータθaの最適化を制御するハイパーパラメータを調整するために、仮想環境として作用することができる。
【0172】
加えて、いくつかの実施形態において、
図11に関連して記載されている強化学習アルゴリズムは、他の任意の適切な情報を推定することができる他の任意の適切なアルゴリズムと組み合わせることができるので、印刷対象物は倒れ、印刷エラーとなる点に留意されたい(例えば、
図9に示され、
図9に関連して上述されるように)など。更に、いくつかの実施形態において、強化学習アルゴリズムを実行するエージェントは、検査プロセスのエネルギーおよび時間を最小化することによって、検査のための最適経路を評価することができる。
【0173】
以下、処置を実行し、結果として生じる状態および報酬を決定するための特定の例が記載されている。
図12に示され、
図12に関連して後述するように、特定の例において、3Dプリンタのグループ(例えば、3、4、5、6および/または他の任意の適切な数)が、ワーカーのグループとして初期化可能であり、強化学習モデルの学習のための並列データ収集のために使用可能である。加えて、特定の例において、各3Dプリンタは、特定の数(例えば、500、1,000および/または他の任意の適切な当数)の層を有する3D対象物を印刷することができ、各々が印刷条件を変化させ、特定の層での対象物の引張強度が基準のすなわち予想される引張強度に維持されるような修正処置を取ることができる。引張強度および基準の引張強度を記載する追加の詳細が、
図11Bおよび
図11Cに示され、
図11Bおよび
図11Cに関連して上述されている点に留意されたい。
【0174】
図12に戻り、3Dプリンタのグループを用いて強化学習モデルを学習するためのプロセスの一例1200は、開示された内容のいくつかの実施形態に従って示される。3Dプリンタのグループにおける各3Dプリンタは、本願明細書においてワーカーと称される点に留意されたい。いくつかの実施形態において、プロセス1200は、各々、強化学習アルゴリズムを実行するエージェントである個々のワーカーのグループを用いることができる(例えば、
図10および
図11に関連して上述したように)。いくつかの実施形態において、各ワーカーは、重みを更新するグローバル学習器と相互作用することができるので、ワーカーの各々は、グローバル学習器から、および、黙示的にグループ内の他のワーカーから学習することができる。いくつかの実施形態において、ワーカーのグループは、任意の適切な数(例えば、2、3、5、10および/または他の任意の適当な数)のワーカーを含むことができて、ワーカーのグループ内の各ワーカーは、異なる3Dプリンタに対応することができる点に留意されたい。
【0175】
プロセス1200は、1205において、グローバル学習器を初期化することによって開始し、環境を初期化することができる。
【0176】
いくつかの実施形態において、グローバル学習器は、任意の適切な初期化された技術、例えばザビエル初期化を用いて、重みによって初期化可能である。いくつかの実施形態において、グローバル学習器に関連付けられた重みは、グローバル学習器およびワーカーのグループ内の個々のワーカーの学習の間、例えば、深層Q学習を用いておよび/または他の任意の適切な方法で、学習される重みに対応することができる点に留意されたい。
【0177】
いくつかの実施形態において、環境は、印刷対象物に関連付けられた任意の適切なパラメータ、例えば任意の適切な印刷パラメータに対応することができる。いくつかの実施形態において、環境は、任意の適切な方法で初期化可能である。例えば、いくつかの実施形態において、環境は、印刷対象物のための任意の適切な初期パラメータを用いて初期化可能である。
【0178】
1210において、プロセス1200は、ワーカーのグループおよびグローバルメモリを初期化することができる。いくつかの実施形態において、プロセス1200は、以下θと記載する各ワーカーに関連付けられた重みを、本願明細書においてθ+と記載するグローバル学習器に関連付けられた重みに設定することによって、ワーカーのグループ内の各ワーカーを初期化することができる。加えて、いくつかの実施形態において、プロセス1200は、本願明細書においてΔθ+と記載するグローバル学習器に関連付けられた重みの勾配をゼロに設定することができる。いくつかの実施形態において、プロセス1200は、任意の適切な方法で、例えば、任意の適切なサイズのメモリも割り当てることによってグローバルメモリを初期化することができる。
【0179】
1220において、プロセス1200は、各ワーカーのために、現在の時刻tにおいて、環境において処置を実行することができる。いくつかの実施形態において、プロセス1200は、任意の適切な方法で、環境において処置を実行することができる。例えば、いくつかの実施形態において、プロセス1200は、時刻tにおいて、本願明細書においてstと記載する環境の現在状態を検索することができる。いくつかの実施形態において、プロセス1200は、次に、本願明細書においてatと記載する、時刻tに取られる処置を識別することができる。いくつかの実施形態において、プロセス1200は、任意の適切な方法で、処置atを識別することができる。例えば、いくつかの実施形態において、プロセス1200は、潜在的処置のグループから選択されるランダムな処置が確率εで選択されるべきであると決定することができ、あるいは、処置は、at=argmax(Q(st,a;θ))に従って選択されるべきである決定することができ、Qは、報酬の予想に対応するQ値関数である。いくつかの実施形態において、Qは、任意の適切な強化学習技術を用いて最適化可能である点に留意されたい。
【0180】
いくつかの実施形態において、処置a
tを選択した後に、プロセス1200は、環境Eにおいてa
t実行し、環境Eにおけるa
tを実行することから続く報酬r
tおよび次の状態s
t+1を識別することができる。いくつかの実施形態において、報酬および次の状態は、環境に関連付けられた任意の適切な情報、例えば押出の容量、押出品質スコア(例えば、
図9に関連して上述したような)、エラーまたは故障が検出されたか否か(例えば、
図9に関連して上述したような)、測定値(例えば、対象物の部分の重量、対象物の部分の密度および/または他の任意の適切なシミュレーションの測定値)および/または他の任意の適切な情報に基づき得る点に留意されたい。
【0181】
以下、処置を実行し、結果として生じる状態および報酬を決定するための特定の例が記載されている。特定の例において、3Dプリンタのグループ(例えば、3、4、5、6および/または他の任意の適切な数)が、ワーカーのグループとして初期化可能であり、強化学習モデルの学習のための並列データ収集のために使用可能である。加えて、特定の例において、各3Dプリンタは、特定の数(例えば、500、1,000および/または他の任意の適切な当数)の層を有する3D対象物を印刷することができ、各々が印刷条件を変化させ、特定の層での対象物の引張強度が基準のすなわち予想される引張強度に維持されるような修正処置を取ることができる。引張強度および基準の引張強度を記載する追加の詳細が、
図11Bおよび
図11Cに示され、
図11Bおよび
図11Cに関連して上述されている点に留意されたい。
【0182】
特定の例において、3Dプリンタのグループの3Dプリンタは、以前の処置および状態を示す軌道のコード化された履歴を有する各層のパラメータの関数である状態stを識別することができる。次に、3Dプリンタは、処置atを選択することができ、それは、次の層の印刷のパラメータの印刷の作動に対する修正乗数とすることができる。次に、報酬rtを計算することができ、rtは、atへの観察された応答の関数である。いくつかの実施形態において、rt=1/(f(st+1))を用いてrtを計算することができる。
【0183】
いくつかの実施形態において、処置の結果は、引張強度を示すことができる引っ張り荷重試験を用いて決定可能である。
【0184】
いくつかの実施形態において、報酬rtは、任意の適切な方法で、各処置atのために計算可能である。例えば、いくつかの実施形態において、rtは、用いられる資源を製造する量(例えば、樹脂の体積)の関数とすることができる。他の例として、いくつかの実施形態において、(例えば、印刷対象物の最終層を印刷するための)端末stのための報酬rtは、最終stにおいて計算される引張強度に基づいて計算可能である。
【0185】
図12に戻って参照すると、いくつかの実施形態において、プロセス1200はまた、実行済フラグが設定されるべきかを決定することができ、立てられたフラグは、ワーカーがすべての学習の繰り返しを完了したことを示す。
【0186】
1225において、プロセス1200は、各ワーカーのために、処置から生じる状態および報酬でグローバルメモリを更新することができる。いくつかの実施形態において、プロセス1200は、任意の適切な方法でグローバルメモリを更新することができる。例えば、いくつかの実施形態において、プロセス1200は、タプル(st,at,rt,st+1、実行済)をグローバルメモリに追加させることができる。いくつかの実施形態において、グローバルメモリは、任意の適切な位置、例えばプロセス1200を実行するデバイスの外部のサーバおよび/または他の任意の適切な位置に保存可能である点に留意されたい。
【0187】
いくつかの実施形態において、立てられたフラグが真に設定されるまで、プロセス1200は、1220に戻り、1220および1225を実行することができる。
【0188】
1230において、プロセス1200は、各ワーカーのために、グローバル学習器の重みθ+に基づいて、ワーカーの重みθを更新することができる。いくつかの実施形態において、プロセス1200は、任意の適切な方法でワーカーの重みを更新することができる。例えば、いくつかの実施形態において、プロセス1200は、各ワーカーのための重みをグローバル学習器の重みに設定することができる。
【0189】
1235において、プロセス1200は、各ワーカーのために、グローバルメモリをサンプリングし、サンプリングに基づいてグローバル学習器の重みを更新することができる。いくつかの実施形態において、プロセス1200は、タプル(st,at,rt,st+1,済)のランダムに選択されたミニバッチを検索することができる。いくつかの実施形態において、ミニバッチは、任意の適切なサイズ(例えば、10のタプル、100のタプル、500のタプルおよび/または他の任意の適切なサイズ)とすることができる。
【0190】
いくつかの実施形態において、プロセス1200は、比較的重要性が高いと決定され、比較的低い頻度で発生するタプルを優先させることによって、グローバルメモリをサンプリングすることができる点に留意されたい。いくつかのこの種の実施形態において、グローバルメモリ内に保存される各タプルはまた、タプル内に含まれる対応する状態遷移の優先度を示す優先フラグp
iを含むことができる。いくつかの実施形態において、次に、プロセス1200は、
に従ってグローバルメモリからタプルをサンプリングすることができ、αは、比較的高い優先フラグを有するタプルがどのくらいの頻度で選択されるべきかを示す重みである。例えば、α=0の例では、タプルは、均等分布でランダムに選択可能であるが、α=1のとき、最高優先度に関連付けられたタプルは、優先してサンプリング可能である。
【0191】
いくつかの実施形態において、プロセス1200は、任意の適切な方法で、検索されたタプルに基づいて、グローバル学習器の重みを更新することができる。例えば、いくつかの実施形態において、各タプルのために、プロセス1200は、ターゲット出力値y
tを決定することができ、
である。この例をさらに続けると、いくつかの実施形態において、次に、プロセス1200は、報酬に基づいてy
tを修正することができ、y
tはr
t-γy
tに設定される。この例をさらに続けると、いくつかの実施形態において、プロセス1200は、グローバル学習器の重みΔθ
+のための勾配を計算することができ、Δθ
+は
によってインクリメントされる。いくつかの実施形態において、次に、プロセス1200は、グローバル学習器の重みΔθ
+のための勾配に基づいて、グローバル学習器の重みθ
+を更新することができる。
【0192】
1240において、プロセス1200は、グローバル学習器の更新を継続すべきかを決定することができる。いくつかの実施形態において、プロセス1200は、ワーカーのグループ内のワーカーの所定の数TMAXより多くが対応する立てられたフラグを真に設定したかに基づいて、グローバル学習器の更新を継続すべきかを決定することができる。すなわち、いくつかの実施形態において、プロセス1200は、ワーカーのグループ内のワーカーの所定の数より多くが現在の学習エポックを完了したかに基づいて、グローバル学習器の更新を継続すべきかを決定することができる。いくつかの実施形態において、TMAXの値は、任意の適切な情報に基づいて(例えば、製造環境に関連付けられた情報に基づいて)選択可能であるので、グローバル学習器は、ワーカーのグループ内の1つまたは複数のワーカーがタプルをグローバルメモリに送信する際に遅延する例では、更新を継続することができる点に留意されたい。いくつかの実施形態において、TMAXは、ワーカーのグループ内のワーカーの数以下の任意の適切な値とすることができる。
【0193】
1240において、プロセス1200がグローバル学習器の更新を継続すべきであると、プロセス1200が決定する場合(1240の「はい」)、プロセス1200は、1220に戻ることができる。
【0194】
1240において、グローバル学習器が更新されるべきでないと、プロセス1200が決定する場合、プロセス1200は、1245において環境を修正することができる。いくつかの実施形態において、プロセス1200は、任意の適切な方法で、環境を修正することができる。例えば、いくつかの実施形態において、プロセス1200は、取られる処置に基づいて、印刷対象物の特定の層に対応する環境のパラメータを修正することができる。より特定の例として、いくつかの実施形態において、プロセス1200は、印刷パラメータ、例えば押出速度、押出容量、押出機ヘッドの動きの速度、押出機ノズルの温度および/または他の任意の適切な印刷パラメータを修正することができる。
【0195】
いくつかの実施形態に従って、積層造形における人工知能プロセス制御のためのシステム、方法および媒体が提供される。より詳細には、いくつかの実施形態では、積層造形システムが提供され、システムは、交互積層法(LBL法)によって対象物を印刷するように構成される印刷ヘッドと、照射を対象物の印刷層の表面に当てるための照射光源と、印刷層の画像を捕捉するように構成される画像センサと、少なくとも1つのハードウェア・プロセッサと、を備え、少なくとも1つのハードウェア・プロセッサは、キャプチャ画像を受信し、印刷層の3次元トポグラフィー画像を生成し、第1の人工知能アルゴリズムを用いて、生成されたトポグラフィー画像から印刷層内の異常を識別し、第2の人工知能アルゴリズムを用いて、識別された異常と1つまたは複数の印刷パラメータとの間の相関を決定し、値を1つまたは複数の印刷パラメータに割り当てるように構成される。
【0196】
いくつかの実施形態において、積層造形のための方法が提供され、方法は、交互積層法(LBL法)によって印刷される対象物の印刷層の画像を捕捉するように構成される画像センサによって生成されるキャプチャ画像を受信するステップと、ハードウェア・プロセッサを用いて印刷層の3次元トポグラフィー画像を生成するステップと、第1の人工知能アルゴリズムを用いて、生成されたトポグラフィー画像から印刷層内の異常を識別するステップと、第2の人工知能アルゴリズムを用いて、識別された異常と1つまたは複数の印刷パラメータとの間の相関を決定するステップと、値を1つまたは複数の印刷パラメータに割り当てるステップと、を含む。
【0197】
いくつかの実施形態において、コンピュータ実行可能命令を含む非一時的コンピュータ可読媒体が提供され、コンピュータ実行可能命令は、プロセッサによって実行されるとき、プロセッサに、交互積層法(LBL法)によって印刷される対象物の印刷層の画像を捕捉するように構成される画像センサによって生成されるキャプチャ画像を受信するステップと、印刷層の3次元トポグラフィー画像を生成するステップと、第1の人工知能アルゴリズムを用いて、生成されたトポグラフィー画像から印刷層内の異常を識別するステップと、第2の人工知能アルゴリズムを用いて、識別された異常と1つまたは複数の印刷パラメータとの間の相関を決定するステップと、値を1つまたは複数の印刷パラメータに割り当てるステップと、を含む、積層造形のための方法を実行させる。
【0198】
いくつかの実施形態では、任意の適切なコンピュータ可読媒体を用いて、本願明細書において記載されている機能および/またはプロセスを実行するための命令を格納することができる。例えば、いくつかの実施形態では、コンピュータ可読媒体は、一時的または非一時的とすることができる。例えば、非一時的コンピュータ可読媒体は、非一時的磁気媒体(例えばハード・ディスク、フロッピー・ディスクなど)、非一時的光学媒体(例えばコンパクト・ディスク、デジタル・ビデオ・ディスク、ブルーレイ・ディスクなど)、非一時的半導体媒体(例えばフラッシュ・メモリ、電気的プログラム可能ROM(EPROM)、電気的消去可能ROM(EEPROM)など)のような媒体、伝送の間一過性ではないかまたは永続性の任意の外見を欠いている任意の適切な媒体および/または任意の適切な有形媒体を含むことができる。他の例として、一時的コンピュータ可読媒体は、ネットワーク、ワイヤ、導体、光ファイバ、回路および伝送の間一過性ではないかまたは永続性の任意の外見を欠いていない任意の適切な媒体および/または任意の適切な有形媒体上の信号を含むことができる。
【0199】
本願明細書において記載されている例(ならびに「のような」、「例えば」、「含む」などとして言い表される条項)の提供は、請求された内容を具体例に制限するものとして解釈されるべきでなく、むしろ、例は、多数の可能な態様のいくつかを示すことのみを意図している。また、本願明細書で用いられているように、メカニズムの用語がハードウェア、ソフトウェア、ファームウェアまたはそれらの任意の適切な組み合わせを含むことができることに留意されたい。
【0200】
積層造形システムおよび方法は、これらの例示の実施形態を具体的に参照して詳細に説明してきた。しかしながら、さまざまな修正および変更を、上述した明細書の開示の精神および範囲内で行うことができることは明らかであり、このような修正および変更は、この開示の均等物および一部とみなされるべきである。本発明の範囲は、以下の請求項によってのみ限定されるものである。