KR102584982B1 - 적층 제조에서 인공 지능 공정 제어를 위한 시스템, 방법 및 매체 - Google Patents

적층 제조에서 인공 지능 공정 제어를 위한 시스템, 방법 및 매체 Download PDF

Info

Publication number
KR102584982B1
KR102584982B1 KR1020217037371A KR20217037371A KR102584982B1 KR 102584982 B1 KR102584982 B1 KR 102584982B1 KR 1020217037371 A KR1020217037371 A KR 1020217037371A KR 20217037371 A KR20217037371 A KR 20217037371A KR 102584982 B1 KR102584982 B1 KR 102584982B1
Authority
KR
South Korea
Prior art keywords
image
classifier
printed
layer
extrusion
Prior art date
Application number
KR1020217037371A
Other languages
English (en)
Other versions
KR20210154202A (ko
Inventor
바딤 핀스키
매튜 씨. 풋맨
다마스 리모즈
아스윈 라하브 너말레스와란
Original Assignee
나노트로닉스 이미징, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 나노트로닉스 이미징, 인코포레이티드 filed Critical 나노트로닉스 이미징, 인코포레이티드
Priority to KR1020237033202A priority Critical patent/KR20230142650A/ko
Publication of KR20210154202A publication Critical patent/KR20210154202A/ko
Application granted granted Critical
Publication of KR102584982B1 publication Critical patent/KR102584982B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • B29C64/393Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/10Processes of additive manufacturing
    • B29C64/106Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material
    • B29C64/118Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material using filamentary material being melted, e.g. fused deposition modelling [FDM]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/20Apparatus for additive manufacturing; Details thereof or accessories therefor
    • B29C64/205Means for applying layers
    • B29C64/209Heads; Nozzles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y10/00Processes of additive manufacturing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y30/00Apparatus for additive manufacturing; Details thereof or accessories therefor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y50/00Data acquisition or data processing for additive manufacturing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y50/00Data acquisition or data processing for additive manufacturing
    • B33Y50/02Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Materials Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Optics & Photonics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Image Analysis (AREA)

Abstract

적층 제조를 위한 시스템, 방법 및 매체가 제공된다. 일부 실시형태에서, 적층 제조 시스템은 하드웨어 프로세서를 포함하고, 하드웨어 프로세서는: 캡처 이미지를 수신하고; 훈련된 결함 분류기를 캡처 이미지의 저해상도 버전에 적용하고; 물체의 인쇄 층에 복구 불가능한 결함이 존재하지 않는다는 것을 결정하고; 캡처 이미지의 저해상도 버전의 잘린 버전을 생성하고; 훈련된 이진 오류 분류기를 캡처 이미지의 저해상도 버전의 잘린 버전에 적용하고; 물체의 인쇄 층에 오류가 존재한다는 것을 결정하고; 훈련된 압출 분류기를 캡처 이미지에 적용하고, 여기서 훈련된 압출 분류기는 압출 품질 점수를 생성하고; 및 인쇄 물체의 후속 층을 인쇄하기 위해 압출 품질 점수를 기반으로 프린트 헤드의 매개변수의 값을 조정하도록 구성된다.

Description

적층 제조에서 인공 지능 공정 제어를 위한 시스템, 방법 및 매체
본 개시는 적층 제조에서 인공 지능 공정 제어를 제공하기 위한 메커니즘에 관한 것이다.
압출, 소결, 광 중합(light polymerization), 기계적 합성(mechanosynthesis) 또는 전기유체역학적 힘(electrohydrodynamic force)의 공정을 통해 물체를 제조하기 위해 천연, 합성 또는 생물학적 재료의 다수의 층을 증착하기 위해 3D 프린터 및 셀 프린터(cell printer)와 같은 적층 제조 시스템이 널리 사용된다. 적층 제조 공정은 적층 제조 프린터가 인쇄 물체가 완성될 때까지 연속적인 층을 계속 추가하는 층 증착 공정을 통해 물체를 제작한다.
일반적으로, 적층 제조 프린터에 의해 인쇄되는 물체는 생산 설계(production design)를 기반으로 한다. 원하는 사양으로 물체에 대한 생산 설계를 생성하기 위해 3차원 모델링 소프트웨어(예를 들어, CAD 프로그램)가 사용될 수 있다. 그리고 나서 슬라이싱 프로그램(slicing program)은 생산 설계를 수치 제어 코드(예를 들어, G-코드)로 변환할 수 있고, 이 코드는 설계를 다수의 층으로 나누고, 적층 제조 프린터가 생산 설계의 각각의 층의 물리적 표현을 인쇄하도록 지시하기 위해 사용할 수 있다. 적층 제조의 목표는 생산 설계 사양을 엄격하게 준수하는 물체를 인쇄하는 것이다.
인쇄 물체는, 생산 설계의 규모와 복잡성에 따라, 완료하는 데 몇 시간 내지 며칠이 걸릴 수 있다. 현재 적층 제조 시스템은 제공할 수 있는 피드백 유형 및 물체의 각각의 층이 인쇄된 후 취할 수 있는 시정 조치가 제한적이다. 전체 물체가 인쇄될 때까지 피드백이 제공되지 않는 경우가 많다. 물체에 대한 인쇄 공정 동안 피드백이 제공되면, 이는 일반적으로 물체 인쇄를 중지할지 또는 계속할지를 결정하기 위한 것이다.
일부 적층 제조 시스템에서, 물체에 광을 비출 때, 인쇄 물체에 의해 생성된 그림자에 의해 피드백이 제공된다. 이 방법은 그림자가 인쇄 물체의 영역을 가리고 정확한 피드백을 방해하기 때문에 제한적이다. 적층 제조에서의 정확한 피드백은 품질 및 재현 가능한 인쇄 물체를 유지하는 데 유용하다.
따라서, 물체에 대한 인쇄 공정 동안 시기 적절한 시정 조치가 취해질 수 있도록, 물체의 각각의 인쇄 층에 대해 인공 지능 공정 제어(AIPC)를 제공하는 것이 바람직하다. 또한 인쇄 물체의 원하는 기계적, 광학적 및/또는 전기적 특성을 달성할 뿐만 아니라 생산 설계와 매우 유사하거나 생산 설계를 능가하는 인쇄 물체를 달성하기 위해 AIPC를 제공하는 것이 바람직하다.
일부 실시형태에 따르면, 적층 제조에서 인공 지능 공정 제어를 위한 시스템, 방법 및 매체가 제공된다. 일부 실시형태에서, 시스템은: 적층 방식으로 물체를 인쇄하도록 구성된 프린트 헤드와; 물체의 인쇄 층의 이미지를 캡처하도록 구성된 이미지 센서; 및 하드웨어 프로세서를 포함하고, 하드웨어 프로세서는: 캡처 이미지를 수신하고; 캡처 이미지를 샘플링하여 캡처 이미지의 저해상도 버전을 생성하고; 훈련된 결함 분류기(failure classifier)를 캡처 이미지의 저해상도 버전에 적용하고; 결함 분류기로부터 획득된 분류를 기반으로, 물체의 인쇄 층에 복구 불가능한 결함이 존재하지 않는다는 것을 결정하고; 인쇄 층에 복구 불가능한 결함이 존재하지 않는다는 결정에 대응하여, 캡처 이미지의 저해상도 버전의 잘린 버전(cropped version)을 생성하고; 훈련된 이진 오류 분류기(binary error classifier)를 캡처 이미지의 저해상도 버전의 잘린 버전에 적용하고; 이진 오류 분류기로부터 획득된 분류를 기반으로, 물체의 인쇄 층에 오류가 존재한다는 것을 결정하고; 물체의 인쇄 층에 오류가 존재한다는 결정에 대응하여, 훈련된 압출 분류기(extrusion classifier)를 캡처 이미지에 적용하고, 여기서 훈련된 압출 분류기는 물체의 인쇄 층 내의 재료의 압출 품질을 나타내는 압출 품질 점수를 생성하고; 및 인쇄 물체의 후속 층을 인쇄하기 위해 압출 품질 점수를 기반으로 프린트 헤드의 매개변수의 값을 조정하도록 구성된다.
일부 실시형태에서, 적층 제조 방법이 제공되며, 방법은: 캡처 이미지를 수신하는 단계와; 캡처 이미지를 샘플링하여 캡처 이미지의 저해상도 버전을 생성하는 단계와; 훈련된 결함 분류기를 캡처 이미지의 저해상도 버전에 적용하는 단계와; 결함 분류기로부터 획득된 분류를 기반으로, 물체의 인쇄 층에 복구 불가능한 결함이 존재하지 않는다는 것을 결정하는 단계와; 인쇄 층에 복구 불가능한 결함이 존재하지 않는다는 결정에 대응하여, 캡처 이미지의 저해상도 버전의 잘린 버전을 생성하는 단계와; 훈련된 이진 오류 분류기를 캡처 이미지의 저해상도 버전의 잘린 버전에 적용하는 단계와; 이진 오류 분류기로부터 획득된 분류를 기반으로, 물체의 인쇄 층에 오류가 존재한다는 것을 결정하는 단계와; 물체의 인쇄 층에 오류가 존재한다는 결정에 대응하여, 훈련된 압출 분류기를 캡처 이미지에 적용하는 단계로서, 훈련된 압출 분류기는 물체의 인쇄 층 내의 재료의 압출 품질을 나타내는 압출 품질 점수를 생성하는, 단계; 및 인쇄 물체의 후속 층을 인쇄하기 위해 압출 품질 점수를 기반으로 프린트 헤드의 매개변수의 값을 조정하는 단계를 포함한다.
일부 실시형태에서, 프로세서에 의해 실행될 때, 프로세서로 하여금 적층 제조 방법을 수행하도록 하는 컴퓨터 실행 가능 명령을 포함하는 비일시적 컴퓨터 판독 가능 매체가 제공되며, 방법은: 캡처 이미지를 샘플링하여 캡처 이미지의 저해상도 버전을 생성하는 단계와; 훈련된 결함 분류기를 캡처 이미지의 저해상도 버전에 적용하는 단계와; 결함 분류기로부터 획득된 분류를 기반으로, 물체의 인쇄 층에 복구 불가능한 결함이 존재하지 않는다는 것을 결정하는 단계와; 인쇄 층에 복구 불가능한 결함이 존재하지 않는다는 결정에 대응하여, 캡처 이미지의 저해상도 버전의 잘린 버전을 생성하는 단계와; 훈련된 이진 오류 분류기를 캡처 이미지의 저해상도 버전의 잘린 버전에 적용하는 단계와; 이진 오류 분류기로부터 획득된 분류를 기반으로, 물체의 인쇄 층에 오류가 존재한다는 것을 결정하는 단계와; 물체의 인쇄 층에 오류가 존재한다는 결정에 대응하여, 훈련된 압출 분류기를 캡처 이미지에 적용하는 단계로서, 훈련된 압출 분류기는 물체의 인쇄 층 내의 재료의 압출 품질을 나타내는 압출 품질 점수를 생성하는, 단계; 및 인쇄 물체의 후속 층을 인쇄하기 위해 압출 품질 점수를 기반으로 프린트 헤드의 매개변수의 값을 조정하는 단계를 포함한다.
도 1은 일부 실시형태에 따른 적층 제조 시스템의 예이다.
도 2는 일부 실시형태에 따른 적층 제조 프린터와 함께 사용될 수 있는 카메라 및 광원의 예이다.
도 3은 일부 실시형태에 따라 조작자가 인쇄 매개변수를 수치 제어 코드 생성기에 입력하기 위한 인터페이스의 예이다.
도 4는 일부 실시형태에 따라 캡처될 수 있는 증착된 필라멘트 내의 의도하지 않은 틈(gap)을 보여주는 인쇄 층의 이미지의 예이다.
도 5A, 도 5B 및 도 5C는 일부 실시형태에 따라 캡처될 수 있는 인쇄 층 내의 의도하지 않은 실과 같은 인공물(thread-like artifact) 및 기타 파열을 보여주는 다양한 인쇄 층의 이미지의 예이다.
도 6은 일부 실시형태에 따른 (높은 수준에서의) 적층 제조 인쇄 작업의 예이다.
도 7A는 일부 실시형태에 따라 수치 제어 코드에 포함될 수 있는 인쇄 층에 대한 설정점(setpoint) 세트의 시뮬레이션의 예이다.
도 7B는 일부 실시형태에 따라 가로지르는 인쇄 경로가 어떻게 보이는지에 대한 시뮬레이션의 예이다.
도 8은 일부 실시형태에 따라 다양한 채움 밀도(infill density)와 채움 패턴(infill pattern)을 기반으로 이상 패턴(anomaly pattern)과 이상 비율(anomaly rate)을 학습하고, 이러한 이상 패턴과 이상 비율이 인쇄 물체의 기계적 특성에 어떻게 영향을 미치는지 학습하기 위한 훈련 프로세스의 예이다.
도 9는 주제의 일부 실시형태에 따라 인쇄하는 동안 인쇄 물체 내의 복구 불가능한 결함 및 오류를 식별하는 분류기를 적용하기 위한 예시적인 프로세스를 도시한다.
도 10은 주제의 일부 실시형태에 따라 인쇄 물체를 인쇄하는 동안 인쇄 매개변수를 수정하기 위해 강화 학습을 사용하기 위한 예시적인 개략도를 도시한다.
도 11A는 주제의 일부 실시형태에 따라 인쇄 물체를 인쇄하는 동안 인쇄 매개변수를 수정하기 위한 강화 학습 알고리즘을 훈련시키기 위한 프로세스의 예를 도시한다.
도 11B 및 도 11C는 개시된 주제의 일부 실시형태에 따른 표준 인장 곡선 및 보정되지 않은 인장 곡선의 예를 도시한다.
도 12는 주제의 일부 실시형태에 따라 3D 프린터(작업자라고도 함) 그룹을 사용하여 인쇄 물체를 인쇄하는 동안 인쇄 매개변수를 수정하기 위한 강화 학습 알고리즘을 훈련시키기 위한 프로세스의 예를 도시한다.
개시된 주제의 일부 실시형태에 따르면, 적층 제조 인공 지능 공정 제어(AIPC)를 위한 메커니즘(시스템, 방법, 장치, 기구 등을 포함할 수 있음)이 제공된다. AIPC는 예를 들어 생산 설계에 대해 원하는 기계적, 광학적 및/또는 전기적 특성 및/또는 원하는 정확도를 달성하기 위해 적층 제조 시스템의 인쇄 매개변수를 최적화하는 데 유용할 수 있다. AIPC는 또한 인쇄 층의 이상을 식별하고 인쇄 공정 동안 시정 조치를 취하는 데 유용할 수 있다.
본원에 개시된 바와 같이, 일부 실시형태에서, 인공 지능은 본원에 기재된 적층 제조로부터 학습하고 이를 개선하며, 피드백, 정보, 데이터 및/또는 명령을 출력하기 위해 사용될 수 있다(이러한 정보, 데이터 및/또는 명령을 학습하고 개선하며 출력하는 프로세스를 여기서는 "AIPC"라고 한다). 인공 지능 알고리즘/기계 학습 모델은 다음 중 하나 이상을 단독으로 또는 조합하여 포함할 수 있다: 강화 학습; 은닉 마르코프 모델(hidden Markov model); 순환 신경망(recurrent neural network); 합성곱 신경망(convolutional neural network); 베이지안 기호법(Bayesian symbolic method); 생성적 적대 신경망(generative adversarial network); 서포트 벡터 머신(support vector machine); 및/또는 다른 적절한 인공 지능 알고리즘. AIPC는 AI 알고리즘을 기반으로 하지만, AIPC는 인공 지능 알고리즘을 기반으로 하지 않는 적층 제조 동안 수집된 데이터를 사용할 수도 있다.
도 1은 개시된 주제의 일부 실시형태에 따라 AIPC를 구현할 수 있는 예시적인 적층 제조 시스템(100)을 도시하고 있다. 높은 수준에서, 적층 제조 시스템(100)의 기본 구성요소는 일부 실시형태에 따라 수치 제어 코드 생성기(110)와, 적층 제조 프린터(115)와, 이미지 생성기(170), 및 이미지 분석기(180)를 포함한다. 적층 제조 프린터(115)는 이미지 센서(120)와, 광원(130)과, 프린트 헤드(140)와, 필라멘트 공급 시스템(filament supply system, 145)과, 빌드 플레이트(build plate, 150) 및 제어 모듈(160)을 포함할 수 있다. 적층 제조 시스템(100)을 위한 구성요소의 기능은 단일 구성요소로 결합되거나 여러 구성요소에 걸쳐 분산될 수 있다. 일부 실시형태에서, 일부 구성요소(예를 들어, 수치 제어 코드 생성기(110), 이미지 생성기(170), 및/또는 이미지 분석기(180))의 기능은 적층 제조 프린터(115)로부터 원격으로 수행될 수 있다.
적층 제조 시스템(100)은 도시되지 않은 다른 적절한 구성요소를 포함할 수 있다는 점에 주목한다. 추가로 또는 대안으로, 적층 제조 시스템(100)에 포함된 구성요소 중 일부는 생략될 수 있다.
다음 설명은 용융 증착 모델링(fused deposition modeling) 적층 제조 프린터와 함께 AIPC를 사용하는 것과 관련이 있지만, 일부 실시형태에서, 본원에 기재된 AIPC는 광조형(stereolithography, SLA), 전자빔 용융(electron beam melting), 직접 금속 증착(direct metal deposition)(전기유체역학적 인쇄(electrohydrodynamic printing)) 및 선택적 레이저 소결(selective laser sintering)을 포함하는 임의의 적합한 3D 인쇄 기술과 함께 사용될 수 있다.
일부 실시형태에서, 적층 제조 프린터(115)는 인쇄 공정 동안 이미지 및/또는 비디오를 캡처하기 위한 하나 이상의 이미지 센서(120)를 포함할 수 있다. 이미지 센서(들)(120)는 물체의 각각의 층이 인쇄되는 동안 및/또는 이후 물체의 이미지(또는 비디오)를 캡처하도록 구성될 수 있다. 이미지 센서(120)는 예를 들어, 디지털 스틸 및/또는 비디오 카메라에서 사용될 수 있는 것과 같은 전하 결합 소자(charge coupled device, CCD) 또는 상보성 금속 산화물 반도체(complementary metal oxide semiconductor, CMOS) 센서일 수 있다. 이미지 센서(120)는 또한 물체의 열 이미지 및/또는 비디오를 캡처하고 온도 계산을 수행하기 위한 적외선(IR) 카메라를 포함할 수 있다. 이미지 센서(120)는 빌드 플레이트(150) 및/또는 프린트 헤드(140)에 대해 다양한 위치 및 각도에 배치될 수 있다.
일부 실시형태에서, 적층 제조 프린터(115)는 빌드 플레이트(150)에 대해 및/또는 이미지 센서(120)에 대해 다양한 위치 및 각도에 배치된 단일 광원(130) 또는 다중 광원(예를 들어, 다중-광 벡터(multi-light vector))을 포함할 수 있다(예를 들어, 광원은 이미지 센서(120) 주위에 원주방향으로 배치될 수 있다). 조명은 사용되는 광원의 크기, 수 및/또는 조명의 위치와 각도에 따라 달라질 수 있다. 조명은 이미지 센서(120)가 물체의 이미지 및/또는 비디오를 캡처할 수 있도록 물체의 인쇄 층을 조명하기 위해 사용될 수 있다.
캡처 이미지 및/또는 비디오는 메모리에 저장될 수 있고, 이미지 생성기(170)와 관련하여 본원에서 논의되는 바와 같이, 인쇄 층의 3차원 지형 이미지 및/또는 다른 적절한 이미지를 생성하기 위해 사용될 수 있다.
도 2는 적층 제조 프린터(115)와 함께 사용될 수 있는 카메라(120)와 광원(130)의 예를 도시하고 있다. 도 2는 LED 홀더(230)에 안착된 발광 다이오드(LED) 링(210)으로 둘러싸인 카메라(120)를 포함한다. 일부 실시형태에서, 제어 모듈(160)은 LED 링(210) 내의 개별 LED를 제어하여 어떤 LED가 조명되어야 하는지를 결정한다. LED 링(210) 내의 개별 LED의 제어는 인쇄 층의 이미지를 생성하기 위해 사용되는 지형 이미징 기술의 요구사항에 의해 결정될 수 있다.
상기한 바와 같이, 적층 제조 프린터(115)는 또한 하나 이상의 프린트 헤드(140) 및 하나 이상의 빌드 플레이트(150)를 포함할 수 있다. 프린트 헤드(들)(140) 및/또는 빌드 플레이트(들)(150)는 X(폭), Y(길이) 및 Z(높이) 치수로 서로에 대해 이동할 수 있다. 프린트 헤드(들)(140)는 프린트 헤드(들)(140)의 하나 이상의 노즐을 통해 적층 방식으로 압출되는, 필라멘트 공급 시스템(145)에 의해 공급되는 필라멘트를 유지할 수 있다. 일부 실시형태에서, 프린트 헤드 노즐(들)의 온도는 (예를 들어, 프린트 헤드(들))(140) 및/또는 빌드 플레이트(들)(150)가 서로에 대해 이동할 때 및/또는 프린트 헤드(들)(140) 및/또는 빌드 플레이트(들)(150)가 고정될 때) 증착될 수 있는 유동성 형태로 필라멘트를 유지하기 위해 프린트 헤드(들)(140)에 저장된 필라멘트를 가열하도록 제어될 수 있다. 압출된 재료는 빌드 플레이트(들)(150)(제 1 압출 층의 경우와 같이)에 또는 이전에 증착된 압출 층에 융합될 수 있다. 제어될 수 있는 프린트 헤드(들)(140) 및/또는 빌드 플레이트(들)(150)의 다른 양태는, 예를 들어, 이동 중에 프린트 헤드(들)(140) 및/또는 빌드 플레이트(들)(150)가 따르는 경로와, 프린트 헤드(들) 및/또는 빌드 플레이트(들)(150)가 생산 설계의 층 사이를 전환할 때 Z-축 치수를 따라 이동하는 이동량(들)과, 프린트 헤드(들)(140) 및/또는 빌드 플레이트(들)(150)의 서로에 대한 방향(들)과, 프린트 헤드(들)(140) 및/또는 빌드 플레이트(들)(150)의 이동 속도(들), 및 프린트 헤드(들)(140)가 증착하는 필라멘트의 양(들) 및 속도(들)를 포함한다. 일부 실시형태에서, 인쇄 경로는 적어도 두 세트의 X-Y-Z 좌표에 의해 정의될 수 있다. 작업하는 동안, 프린트 헤드(들) 및/또는 빌드 플레이트(들)는 서로에 대해 이동하도록 제어될 수 있고, 프린트 헤드(들)는 원하는 채움 패턴으로 필라멘트를 방출할 수 있다. 일부 실시형태에서, 프린트 헤드(들)(140) 및/또는 빌드 플레이트(들)(150)는 수치 제어 코드 생성기(110) 및/또는 제어 모듈(160)로부터의 코드에 의해 제어될 수 있다.
일부 실시형태에서, 빌드 플레이트(150)는 미리 결정된 온도로 가열될 수 있고 다양한 방향으로 배향될 수 있다.
일부 실시형태에서, 제어기와 제어기 인터페이스를 일부 실시형태에서 포함할 수 있는 제어 모듈(160)은 적층 제조 시스템(100)의 구성요소(예를 들어, 수치 제어 코드 생성기(110), 이미지 센서(120), 광원(130), 프린트 헤드(140), 빌드 플레이트(150), 이미지 생성기(170) 및 이미지 분석기(180))의 임의의 적절한 하나 이상의 설정(예를 들어, 온도, 속도, 방향 등)뿐만 아니라 통신, 작업(예를 들어, 인쇄 물체의 이미지 캡처, 광원(130) 활성화 등), 및 적층 제조 시스템의 구성요소에 의해, 및 이들 사이에서 수행되는 계산을 제어할 수 있다. 제어 시스템(108)은 예를 들어 컴퓨터, 마이크로프로세서, 마이크로컨트롤러, 주문형 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이(FGPA) 및 디지털 신호 프로세서(DSP)(하드웨어 프로세서라고도 함), 인코더, 인코더를 읽기 위한 회로, 메모리 장치(하나 이상의 EPROMS, 하나 이상의 EEPROM, 동적 랜덤 액세스 메모리("DRAM"), 정적 랜덤 액세스 메모리("SRAM") 및/또는 플래시 메모리를 포함함) 및/또는 다른 적절한 하드웨어 요소와 같은 임의의 적합한 하드웨어(일부 실시형태에서 소프트웨어를 실행할 수 있음)를 포함할 수 있다. 일부 실시형태에서, 적층 제조 시스템(100) 내의 개별 구성요소는, 개별 구성요소를 제어하고 적층 제조 시스템(100) 내의 다른 구성요소와 통신하기 위해 자체의 소프트웨어, 펌웨어, 및/또는 하드웨어를 포함할 수 있다.
일부 실시형태에서, 제어 모듈(160)과 적층 제조 시스템(100)의 다른 구성요소 간의 통신, 및/또는 제어 모듈(160)과 적층 제조 프린터(115) 내의 다른 구성요소 간의 통신은 아날로그 기술(예를 들어, 릴레이 로직), 디지털 기술(예를 들어, RS232, 이더넷 또는 무선), 네트워크 기술(예를 들어, 근거리 통신망(LAN), 광역 통신망(WAN), 인터넷), 블루투스 기술, 근거리 통신 기술, 보안 RF 기술, 및/또는 다른 적절한 통신 기술과 같은 임의의 적합한 통신 기술을 사용할 수 있다.
일부 실시형태에서, 조작자 입력은 임의의 적합한 입력 장치(예를 들어, 키보드, 마우스 또는 조이스틱)를 사용하여 제어 모듈(160)에 전달될 수 있다.
도 1에 도시된 구성요소 외에도, 적층 제조 프린터(115)는 또한 다른 구성요소, 예를 들어, 온도 센서, 습도 센서, 가속도 및 프린트 헤드(140)의 임의의 의도하지 않은 동작(예를 들어, 흔들림, 떨림 등)을 측정하기 위한 가속도계, 및 이미지를 디스플레이하기 위한 디스플레이 모니터를 포함할 수 있다. 적층 제조 프린터(115)는 또한 이미지 센서(120), 조명원(130), 프린트 헤드(140), 및/또는 빌드 플레이트(150)를 배향 및/또는 이동시키기 위한 하나 이상의 액추에이터를 포함할 수 있다.
도 1은 또한 수치 제어 코드 생성기(110)를 도시하고 있다. 일부 실시형태에서, 수치 제어 코드 생성기(110)는 인쇄할 물체의 3차원 설계(예를 들어, 컴퓨터 지원 설계(CAD) 모델)(본원에서 "생산 설계"이라고 함)를 수신하도록 구성될 수 있다. 생산 설계는, 수치 제어 코드 생성기(110)에 의해 처리될 수 있는 임의의 적합한 형식(예를 들어, 표준 테셀레이션 언어(standard tessellation language)(.stl), 도면 표준(DWS) 또는 도면(DWG) 파일 형식)으로 수신될 수 있다.
수치 제어 코드 생성기(110)는 생산 설계의 물리적 표현을 인쇄하기 위해 생산 설계를 적층 제조 프린터(115)에 대한 명령으로 번역하도록 구성될 수 있다. 일부 실시형태에서, 수치 제어 코드 생성기(110)는 조작자가 특정 인쇄 매개변수를 입력하기 위한, 도 3과 관련하여 설명되는 인터페이스를 포함할 수 있다. 인쇄 매개변수는 또한 적층 제조 기계(115)의 인쇄 특징(예를 들어, 프린트 헤드 크기, 압출된 필라멘트 유형, 3D 인쇄 기술 등); 인쇄 경로; 필라멘트 공급 속도; 및 생산 설계 사양(예를 들어, 인쇄된 디자인이 어떻게 보여야 하는지, 디자인의 원하는 기계적, 광학적 및/또는 전기적 특성 등) 중 하나 이상을 포함할 수 있지만 이에 한정되지 않는다.
하나 이상의 인쇄 매개변수를 기반으로, 수치 제어 코드 생성기(110)는 2차원 또는 3차원 층을 생성하기 위해 슬라이싱 알고리즘을 적용하여 생산 설계를 Z 방향으로 미리 결정된 거리로 이격된 평행 평면과 교차시킬 수 있다. 예를 들어, 인쇄할 물체가 Z 방향으로 5 mm이고 원하는 층 두께가 Z 방향으로 0.2 mm인 경우, 물체의 생산 설계는 Z 방향으로 0.2 mm 두께인 25 개 층으로 슬라이스될 수 있다. 생산 설계를 슬라이싱하는 것에 추가하여, 수치 제어 코드 생성기(110)는, 인쇄 매개변수; 현재 인쇄 중인 인쇄 물체의 하나 이상의 이전 인쇄 층으로부터의 AIPC; 다른 인쇄 물체로부터의 AIPC(이들 중 일부는 생산 설계에 통합될 수 있음); 및 적층 제조 프린터(115)의 인쇄 특징 중 하나 이상을 기반으로 인쇄될 각각의 층에 대한 수치 제어 코드를 생성하도록 더 구성될 수 있다.
다른 실시형태에서, 슬라이싱 알고리즘은 제 1 층만을 결정하고, 그 제 1 층에 대한 수치 제어 코드를 생성하도록 구성될 수 있다. 인쇄 물체의 각각의 후속 층에 대한 수치 제어 코드는, 현재 인쇄 중인 인쇄 물체의 하나 이상의 이전 인쇄 층으로부터의 AIPC; 다른 인쇄 물체로부터의 AIPC(이들 중 일부는 생산 설계에 통합될 수 있음), 인쇄 물체의 생산 설계에 대한 원하는 기계적, 광학적 및/또는 전기적 특성 및 사양; 및 조작자가 입력한 입력 매개변수 및/또는 적층 제조 프린터(115)의 인쇄 특징 중 하나 이상을 기반으로 생성될 수 있다. 일부 실시형태에서, 슬라이싱 알고리즘은 완전히 생략될 수 있고, 수치 제어 코드는 다른 인쇄 물체로부터의 AIPC(이들 중 일부는 생산 설계에 통합될 수 있음); 인쇄 물체의 생산 설계에 대한 원하는 기계적, 광학적 및/또는 전기적 특성 및 사양; 조작자가 입력한 입력 매개변수; 및/또는 적층 제조 프린터(115)의 인쇄 특징 중 하나 이상을 기반으로 생성될 수 있다. 일부 실시형태에서, 수치 제어 코드 생성기는 또한, 예를 들어, 주변 습도, 온도 및 광 노출, 전압 변동, 적층 제조 프린터(115)의 마모, 및 프린트 헤드(140)가 이용 가능한 총 필라멘트 공급을 포함하지만 이에 제한되지 않는 제어 불가능한 변수(즉, 사람의 개입 없이는 제어 불가능한 변수)를 고려할 수 있다.
도 3은 개시된 주제의 일부 실시형태에 따라 조작자가 인쇄 매개변수를 수치 제어 코드 생성기(110)에 입력하기 위한 예시적인 인터페이스(300)를 도시하고 있다.
인터페이스(300)는 도시되지 않은 다른 적절한 인쇄 매개변수를 제어하기 위한 필드를 포함할 수 있다는 점에 주목한다. 추가로 또는 대안으로, 인터페이스(300)에 포함된 인쇄 매개변수 중 일부는 일부 실시형태에서 생략될 수 있다. 또한, 인터페이스(300)에 포함된 모든 인쇄 매개변수는 대안으로 수치 제어 코드 생성기에 의해 자동으로 생성되고 조작자에 의해 입력되지 않을 수 있다. 일부 실시형태에서, 조작자는 생산 설계의 제 1 층에 대한 인쇄 매개변수를 입력할 수 있고, 수치 제어 코드 생성기(110)는 인쇄된 디자인의 후속 층에 대한 인쇄 매개변수를 생성하기 위해 본원에 개시된 인공 지능 알고리즘 및 다른 방법을 사용할 수 있다.
도시된 바와 같이, 인터페이스(300)는 층 높이, 쉘 두께 및 리트랙션(retraction)과 같은 인쇄 품질 매개변수를 제어하기 위한 필드를 포함할 수 있다.
층 높이는 인쇄 물체의 층의 높이를 의미한다. 층의 높이는 인쇄 해상도에 영향을 줄 수 있다. 예를 들어, 짧은 층은 높은 층보다 더 자세한 인쇄 및 더 매끄러운 표면을 생성할 수 있다. 그러나 층이 짧은 물체는 인쇄하는 데 시간이 더 오래 걸릴 수 있다. 반대로, 높은 층은 더 낮은 해상도의 인쇄 및 더 거친 표면에 해당할 수 있다. 높은 층을 포함하는 물체는 짧은 층을 갖는 동일한 물체보다 더 빨리 인쇄될 수 있다. 임의의 적절한 층 높이가 일부 실시형태에서 사용될 수 있다.
쉘 두께는 인쇄 물체의 외벽 두께를 의미한다. 일부 실시형태에서 임의의 적절한 쉘 두께가 사용될 수 있다.
리트랙션은, 프린트 헤드가 지정된 인쇄가 없는 영역 위로 이동할 때 프린트 헤드로부터 필라멘트가 압출되지 않도록 하는 것을 의미한다. 일부 실시형태에서, 리트랙션은 활성화되거나 비활성화될 수 있다.
인터페이스(300)는 또한 프린트 헤드 속도 및/또는 빌드 플레이트 속도를 제어하기 위한 프린트 속도 설정을 제어하기 위한 필드를 포함할 수 있다. 인쇄 속도는 프린트 헤드가 인쇄할 때 프린트 헤드 및/또는 빌드 플레이트가 움직이는 속도를 의미한다. 임의의 적절한 인쇄 속도가 일부 실시형태에서 사용될 수 있다. 인쇄 속도를 기반으로, 압출될 재료의 양(즉, 공급 속도)이 계산될 수 있다. 임의의 적합한 공급 속도가 일부 실시형태에서 사용될 수 있다.
인터페이스(300)는 또한 프린트 헤드 온도 및/또는 빌드 플레이트 온도를 제어하기 위한 온도 설정을 제어하기 위한 필드를 포함할 수 있다. 압출된 필라멘트가 증착을 위해 충분히 가열되도록 하기 위해 인쇄 속도가 변할 때 프린트 헤드의 온도를 변경해야 할 필요가 있을 수 있다. 임의의 적합한 프린트 헤드 온도가 일부 실시형태에서 사용될 수 있다.
인터페이스(300)는 또한 채움 밀도와 채움 패턴 설정을 제어하기 위한 필드를 포함할 수 있다.
채움 밀도는 물체 내부에서 인쇄되는 구조를 의미하며, 예를 들어 백분율로 지정될 수 있다. 임의의 적절한 채움 밀도가 일부 실시형태에서 사용될 수 있다. 100% 채움 밀도는 의도된 틈이 없는 속이 꽉 찬 채움 밀도를 의미한다.
채움 패턴은 채움의 패턴을 말한다. 임의의 적합한 채움 패턴(들)이 일부 실시형태에서 사용될 수 있다. 예를 들어, 일부 실시형태에서, 채움 패턴은 벌집형, 삼각형, 격자 및 직사각형을 포함할 수 있다. 채움 밀도와 채움 패턴은 인쇄 무게, 인쇄 물체 강도, 총 인쇄 시간 및 외부 특성에 영향을 줄 수 있다. 채움 패턴은 또한 기계적, 광학적 및/또는 전기적 특성에 영향을 줄 수 있다. 채움 밀도와 채움 패턴은 일부 실시형태에서 특정 층에 대해 또는 전체 물체에 대해 설정될 수 있다.
또한, 인터페이스(300)는 지지대 유형 및 플랫폼 부착 유형을 포함하는 지지 설정을 제어하기 위한 필드를 포함할 수 있다.
일부 인쇄 물체는 돌출된 부분을 가질 수 있고, 따라서 압출된 필라멘트가 인쇄 공정 동안 떨어지는 것을 방지하기 위해 지지대가 필요할 수 있다. 지지대가 배치될 수 있는 위치를 지정하기 위해 지지대 설정이 사용될 수 있다. 임의의 적절한 지원 설정이 일부 실시형태에서 사용될 수 있다.
플랫폼 부착 설정은 빌드 플레이트(150)에 대한 인쇄 층의 부착을 개선하기 위해 사용될 수 있다. 지정될 수 있는 다양한 유형의 플랫폼 부착 설정은: 인쇄 물체의 베이스 층과 빌드 플레이트 사이에 두꺼운 격자 형태로 여분의 필라멘트를 추가하는 래프트 설정(raft setting); 인쇄 물체의 제 1 층 주위에 여분의 필라멘트 라인을 추가하는 테두리 설정(brim setting); 및 제 1 인쇄 층 상의 물체 주위에 필라멘트 라인을 추가하는 스커트 설정(skirt setting)을 포함한다. 특정 플랫폼 부착 설정을 사용하면 인쇄 물체의 뒤틀림 정도를 줄이는 데 도움이 될 수 있다. 임의의 적절한 플랫폼 부착 설정이 일부 실시형태에서 사용될 수 있다.
인터페이스(300)는 또한 물체의 배치 및 방향과 관련된 필드 설정을 포함할 수 있다. 이들 설정은 빌드 플레이트(150) 상의 물체의 위치뿐만 아니라 빌드 플레이트(150) 상의 물체의 방향을 포함할 수 있다. 임의의 적절한 물체 배치 및/또는 방향 설정이 일부 실시형태에서 사용될 수 있다.
일부 실시형태에서, 생성된 수치 제어 코드는 프린트 헤드(140) 및/또는 빌드 플레이트(150)의 상대적인 이동을 위한 인쇄 경로를 기술할 수 있다. 인쇄 경로는 X-Y-Z 치수(설정점)의 두 세트의 좌표뿐만 아니라 설정점 사이를 이동하는 방식을 지정하는 명령에 의해 정의될 수 있다. 생성된 수치 제어 코드는, 인쇄 경로를 따라 한 쌍의 연속 지점 사이를 이동하는 동안 서로에 대한 프린트 헤드(140) 및/또는 빌드 플레이트(150)의 이동 속도와, 한 쌍의 연속 지점 사이의 필라멘트의 온도(또는 프린트 헤드 노즐의 온도), 및/또는 한 쌍의 연속 지점 사이의 필라멘트 공급 속도를 지정할 수 있다. 생성된 수치 제어 코드는 프린트 헤드(140)가 필라멘트를 압출해야 하는 위치 및/또는 필라멘트 방출을 자제해야 하는 위치를 지정할 수 있다. 생성된 수치 제어 코드에 포함된 모든 매개변수도 "인쇄 매개변수"로 간주된다.
위에서 설명한 하나 이상의 인쇄 매개변수뿐만 아니라 제어 불가능한 변수는, 층 이상, 표면 거칠기, 인쇄 해상도, 총 제작 시간, 인쇄 물체에 대해 사용된 압출 재료의 양, 및 인쇄 물체의 기계적, 광학적 및/또는 전기적 특성과 같은 인쇄 물체의 특성에 영향을 줄 수 있다. 기계적 특성은 최대 인장 강도(Rm), 항복 강도(Rp2%), 파단 신율(A%), 영률(E), 피로도(σd), 푸아송 비(Poisson's ratio), 질량 및 비중을 포함할 수 있다. 광학적 특성은 흡수, 반사, 투과 및 굴절이 포함될 수 있다. 전기적 특성은 전기 저항과 전도도를 포함할 수 있다. 개시된 기계적, 광학적 및 전기적 특성은 단지 예일 뿐이며 제한하려는 것은 아니다.
AIPC는 원하는 기계적 특성, 광학적 특성, 전기적 특성, 및/또는 인쇄 중인 물체의 임의의 적합한 특성을 최적화하기 위해 사용될 수 있다. AIPC는 물체를 인쇄할 때 시정 조치를 취하기 위해 사용될 수도 있다. 시정 조치는 현재 인쇄 중인 물체의 다음 층 또는 표적으로 하는 미래 층의 인쇄 매개변수 변경을 포함할 수 있다. 일부 실시형태에서, AIPC는 생산 설계를 개선하기 위해 사용될 수 있다.
도 1에 도시된 바와 같이, 적층 제조 시스템(100)은 물체의 인쇄 층의 캡처 이미지 및/또는 비디오를 처리할 수 있는 이미지 생성기(170)를 포함할 수 있다. 일부 실시형태에서, 이미지 생성기(170)는 캡처 이미지 및/또는 비디오를 저장하고 캡처 이미지 및/또는 비디오로부터 인쇄 층(들)의 3차원 지형 이미지, 및/또는 다른 적절한 이미지를 생성하도록 구성된 하드웨어 또는 소프트웨어를 포함할 수 있다.
각각의 인쇄 층의 하나 이상의 3차원 지형 이미지를 생성하기 위해, 미리 정의된 크기, 수 및 위치의 조명광과 함께 다양한 지형 이미징 기술(초점 결상 알고리즘(shape-from-focus algorithm), 음영 결상 알고리즘(shape-from-shading algorithm), 광도측정 스테레오 알고리즘(photometric stereo algorithm) 및 푸리에 타이코그래피 변조 알고리즘(Fourier ptychography modulation algorithm)을 포함하지만 이에 한정되지 않음)이 사용될 수 있다. 생성된 지형 이미지는 인쇄 물체 및/또는 부분적으로 인쇄된 물체의 완성된 층, 인쇄 물체 및/또는 부분적으로 인쇄된 물체의 각각의 층의 전체 치수, 인쇄 물체 및/또는 부분적으로 인쇄된 물체의 각각의 층의 특징, 및 인쇄 물체 및/또는 부분적으로 인쇄된 물체의 하나 이상의 층에서 발견된 이상에 관한 정보(예를 들어, 양, 분포, 이상 유형 등)에 관한 체적 정보를 제공할 수 있다.
적층 제조 시스템(100)에서 이미지 생성기(170)에 의해 사용되도록 적응될 수 있는 초점 결상 알고리즘의 예는 문헌(Said Pertuz et al., "Analysis of Focus Measure Operators for Shape-from-focus," Pattern Recognition, vol. 45, issue 5, pp. 1415-1432)에 기술되어 있으며, 그 전체가 본원에 참조로 포함된다. 개시된 방법은 예시일 뿐이며 제한하려는 것은 아니다.
적층 제조 시스템(100)에서 이미지 생성기(170)에 의해 사용되도록 적응될 수 있는 음영 결상 알고리즘의 예는 문헌(Byungil Kim et al., "Depth and Shape from Shading using the Photometric Stereo method," CVGIP: Image Understanding, vol. 54, no. 3, pp 416-427, 1991)에 기술되어 있으며, 그 전체가 본원에 참조로 포함된다. 개시된 방법은 예시일 뿐이며 제한하려는 것은 아니다.
적층 제조 시스템(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 (IBERAMIA 1998), Helder Coelho (Ed.), Springer-Verlag, London, UK, UK, 253-261)에 기술되어 있으며, 그 전체가 본원에 참조로 포함된다. 개시된 방법은 예시일 뿐이며 제한하려는 것은 아니다.
적층 제조 시스템(100)에서 이미지 생성기(170)에 의해 사용되도록 적응될 수 있는 푸리에 타이코그래피 변조 알고리즘의 예는 문헌(Guoan Zeng et al. "Wide-field High-resolution Fourier Ptychographic Microscopy," Nature Photonics, vol. 7, pp. 739-745, 2013)에 기술되어 있으며, 그 전체가 본원에 참조로 포함된다. 개시된 방법은 예시일 뿐이며 제한하려는 것은 아니다.
일부 실시형태에서, 이미지 생성기(170)에 의해 생성된 지형 이미지 및/또는 다른 적절한 이미지는 이상 비율 및 분포, 이상 유형, 인쇄 경로를 따라 다양한 지점에서 증착된 필라멘트 등과 같은 정보를 제공할 수 있다. 예를 들어, 도 4에 도시된 바와 같이, 인쇄 층의 캡처 이미지(400)는 증착된 필라멘트 내의 의도하지 않은 틈을 보여주는 보여준다. 다른 세트의 예에서, 도 5A, 도 5B, 및 도 5C에 도시된 바와 같이, 다양한 인쇄 층의 캡처 이미지는 인쇄 층 내의 의도하지 않은 실과 같은 인공물 및 기타 파열을 보여준다.
일부 실시형태에서, 이미지 분석기(180)는 이미지 생성기(170)로부터 생성된 지형 이미지 및/또는 다른 적절한 이미지를 수신하고, 인쇄 층 상의 하나 이상의 이상을 시각적으로 인식하고 식별하도록 구성될 수 있다. 일부 실시형태에서, 이는 차이를 식별하기 위해, 2차원 또는 3차원 지형 이미지, 인쇄 층의 검출된 인쇄 경로 맵, 및/또는 층의 이미지로부터 획득된 인쇄 층의 실제 특징; 및 생성된 수치 코드 및/또는 층에 대한 생산 설계에 지정된 인쇄 층의 특징을 비교함으로써 이루어질 수 있다. 일부 실시형태에서, 차이를 기반으로 이상을 식별하기 위해 하나 이상의 인공 지능 알고리즘이 사용될 수 있다. 이러한 이상은 예를 들어 실제 인쇄 층과 생산 설계 및/또는 층의 둘레 치수; 설정점 사이의 증착된 필라멘트의 치수; 채움 밀도; 채움 패턴; 표면 거칠기; 인쇄 경로; 및/또는 기타 변형에 관해 인쇄 층에 대해 생성된 수치 코드 간의 차이를 포함할 수 있다. 이상을 식별하는 단계를 이상을 분류하는 단계뿐만 아니라 크기, 모양, X-Y-Z 위치 및/또는 다른 적절한 특성을 식별하는 단계를 포함할 수 있다. 일부 실시형태에서, 임의의 적절한 인공 지능 알고리즘(들)이 사용될 수 있다. 예를 들어, 일부 실시형태에서, 인공 지능 알고리즘은: 기계 학습; 은닉 마르코프 모델; 순환 신경망; 합성곱 신경망; 베이지안 기호법; 생성적 적대 신경망; 서포트 벡터 머신; 및/또는 다른 적절한 인공 지능 알고리즘 중 하나 이상을 단독으로 또는 조합하여 포함할 수 있다.
일부 실시형태에서, 이미지 분석기(180)는 도 9와 관련하여 도시되고 아래에서 설명되는 표준 합성곱 신경망(CNN) 모델의 복잡성을 감소시키는 수학적 모델을 이용하여 이미지 생성기(170)로부터 지형 이미지 및/또는 다른 적절한 이미지를 분류할 수 있다. 이러한 복잡성 감소는 저비용의 신속한 프로토타이핑, 추가 환경에 배포할 때 특히 유용한데, 온보드 그래픽 처리 장치(GPU) 및 고성능 중앙 처리 장치(CPU) 컴퓨터가 필요하지 않기 때문이다. 일부 실시형태에서, 예를 들어, 이미지 분석기(180)는, 도 9와 관련하여 도시되고 아래에서 설명되는 바와 같이, 3D 인쇄 공정 동안 이미지를 분류하여, 복구 불가능한 결함(예를 들어, 인쇄 층이 더 이상 인쇄될 수 없음)을 검출하고 인쇄 중인 층에 대한 품질 메트릭을 할당하기 위해 이미지 분류 모델을 배치할 수 있다. 이 모델은 결함 분류기와 압출 분류기를 포함할 수 있고, 일부 실시형태에서 결함 분류기의 결과가 압출 분류기에 제공될 수 있다.
도 9의 920과 관련하여 아래에서 더 상세히 설명되는 바와 같이, 결함 분류기는, 이미지와 같은 입력을 취하고 합격 또는 불합격의 두 가지 출력 값 중 하나를 결정하는 이진 분류기일 수 있다. 일부 실시형태에서, 3D 인쇄 공정 동안, 인쇄 중인 물체의 가장 최근 층의 이미지가 캡처되고, 초기에 캡처된 이미지보다 낮은 해상도를 갖는 이미지 버전이 생성되어 결함 분류기에 제공될 수 있다. 저해상도 이미지를 기반으로, 결함 분류기는 인쇄 층이 더 이상 인쇄될 수 있는지 여부를 결정한다. 예를 들어 부품이 히트 베드(heat bed)에서 분리되어 층이 인쇄될 수 없는 경우, 결함 분류기는 이미지를 불합격으로 분류할 수 있다. 층이 인쇄될 수 있는 경우 결함 분류기는 이미지를 합격으로 분류할 수 있다. 일부 실시형태에서, 위양성(false positive)의 발생을 줄이기 위해, 결함 분류는 도 9의 920과 관련하여 아래에서 더 상세히 설명되는 바와 같이 2차 필터를 사용하여 더 분석될 수 있다. 인쇄 공정 초기에 복구 불가능한 결함을 검출함으로써, 인쇄 작업이 완료되기 전에 중지되어, 시간과 자원을 절약할 수 있다. 일부 실시형태에서, 다중-부품 인쇄 공정에서 전체 작업 또는 단일 부품을 중지하기 위해 결함 분류기가 사용될 수 있다.
도 9의 940 내지 970과 관련하여 아래에서 더 상세히 설명되는 바와 같이, 일부 실시형태에서, 결함 분류기에 의해 합격으로 분류된 저해상도 이미지의 잘린 버전이 압출 분류기에 제공될 수 있다. 일부 실시형태에서, 저해상도 이미지는 관심 영역의 중앙에 오도록 잘릴 수 있다. 일부 실시형태에서, 압출 분류기는 이진 사전-분류기 및 CNN의 그룹을 포함할 수 있다. 일부 실시형태에서, 압출 분류기의 이진 사전-분류기는 도 9의 940과 관련하여 아래에서 더 상세히 설명되는 바와 같이, 저해상도 이미지의 잘린 버전에 인쇄 오류가 존재하는지 여부를 결정할 수 있다. 이미지가 인쇄 오류를 보이는 것으로 분류되면, 3D 인쇄 공정 동안 원래 캡처된 전체 해상도의 자르지 않은 이미지가 CNN 그룹에 공급된다. 일부 실시형태에서, CNN의 그룹은 압출 품질에 고유한 인쇄 층의 패턴을 기반으로 이미지의 품질을 집합적으로 분석하고, 도 9의 970과 관련하여 아래에서 더 상세히 설명되는 바와 같이, 미리 정의된 공식에 따라 측정되고 가중되는 압출 품질과 관련된 지정된 특징 세트를 기반으로 이미지에 압출 품질 점수를 할당할 수 있다. 일부 실시형태에서, 압출 품질 점수는, 예를 들어, 도 10 및 도 11과 관련하여 도시되고 아래에서 설명되는 바와 같이, 인쇄 매개변수를 조정하여 인쇄 공정을 수정하도록 강화 학습 에이전트를 지도하기 위해 사용될 수 있다. 이진 사전-분류기가 이미지에 나타나는 층의 인쇄 패턴에 오류가 없다고 판단하면, 인쇄 작업은 수정 없이 계속될 수 있다.
불합격으로서 또는 인쇄 오류가 없는 것으로 분류된 이미지를 필터링하는 이 프로세스로 인해, 압출 분류기의 CNN 그룹은 수정될 대상인 3D 인쇄 중인 물체의 층에서 캡처되는 이미지만 분류할 수 있고, 따라서 필요한 계산 리소스를 최소화한다. 또한, 저해상도 이미지를 사용하도록 결함 분류기를 구축하고 저해상도의 잘린 이미지를 사용하도록 압출 분류기의 이진 사전-분류기를 구축하면, 전체 크기의 전체 해상도 이미지가 압출 분류기의 CNN 그룹에 의해서만 사용될 수 있고, 따라서 필요한 계산 리소스를 더욱 최소화한다.
도 9를 참조하면, 개시된 주제의 일부 실시형태에 따라 복구 불가능한 결함을 식별하고 및/또는 결함 분류기와 압출 분류기를 사용하여 품질 점수를 결정하기 위한 프로세스의 예(900)가 도시되어 있다. 일부 실시형태에서, 프로세스(900)는 물체를 인쇄하는 동안 이미지 분석기(180)에 의해 실행될 수 있다.
910에서, 프로세스(900)는 훈련된 결함 분류기를 인쇄 중인 물체의 층의 이미지의 저해상도 버전에 적용할 수 있다. 일부 실시형태에서, 이미지의 저해상도 버전은 임의의 적절한 방식으로 원본 이미지로부터 생성될 수 있다.
일부 실시형태에서, 원본 이미지는 도 1과 관련하여 도시되고 위에서 설명된 바와 같이 그리고 도 6의 블록(640, 650)에서 설명되는 바와 같이, 3D 프린터와 관련된 카메라를 사용하는 것과 같은 임의의 적절한 방식으로 캡처될 수 있다는 점에 주목한다.
일부 실시형태에서, 결함 분류기는 임의의 적절한 토폴로지(topology)를 갖는 CNN일 수 있다. 예를 들어, 일부 실시형태에서, CNN은 특징 학습을 위해 임의의 적절한 수(예를 들어, 2, 3, 5, 및/또는 다른 적절한 수)의 컨볼루션(convolution)/최대-풀링(max-pooling) 층을 가질 수 있다. 또 다른 예로서, 일부 실시형태에서, CNN은 컨볼루션/최대-풀링 층을 따르는 드롭아웃을 갖는 완전 연결 층(fully-connected layer)을 가질 수 있다. 또 다른 예로서, 일부 실시형태에서, CNN은 분류 결과를 제공하는 활성화 함수(예를 들어, 소프트맥스 활성화(softmax activation), 및/또는 다른 적절한 활성화 함수) 이전에 완전 연결 층을 가질 수 있다. 일부 실시형태에서, 결함 분류기에 의해 제공되는 분류 결과는 두 개의 분류 등급, 즉 합격 또는 불합격을 가질 수 있다.
일부 실시형태에서, 결함 분류기는 임의의 적절한 방식으로 훈련될 수 있다. 예를 들어, 일부 실시형태에서, 훈련 세트는 임의의 적절한 훈련 샘플로 구성될 수 있다. 더 구체적인 예로서, 일부 실시형태에서, 훈련 세트는 인쇄 물체의 각각의 층의 이미지를 사용하여 생성될 수 있다. 이러한 특정 예를 계속하면, 인쇄 물체에 500 개의 층이 있고 인쇄 결함이 층(N)에 있는 경우, 훈련 세트는 500 개의 이미지(0에서 499까지 번호가 매겨짐)(즉, 층당 하나의 이미지)를 포함할 수 있고, N 개의 이미지(즉, 인쇄 결함 이전 층에 해당하는 이미지)는 합격으로 분류되고 500-N 개의 이미지(즉, 인쇄 결함 이후 층에 해당하는 이미지)는 불합격으로 분류된다. 일부 실시형태에서, 훈련 세트는 임의의 적합한 기술 또는 기술들의 조합을 사용하여 결함 분류기를 훈련시키는 데 사용될 수 있다.
920에서, 프로세스(900)는 복구 불가능한 결함이 있었는지 여부를 결정할 수 있다. 일부 실시형태에서, 프로세스(900)는 결함 분류기에 의해 결정된 분류를 기반으로 복구 불가능한 결함이 있었는지 여부를 결정할 수 있다. 예를 들어, 일부 실시형태에서, 프로세스(900)는 고장의 분류와 연관된 가능성이 미리 결정된 임계치(예를 들어, 0.8, 0.9, 및/또는 다른 적절한 가능성)를 초과하는지 여부를 결정할 수 있다. 일부 실시형태에서, 프로세스(900)는 910과 관련하여 위에서 설명된 2차 필터의 결과(e f )를 기반으로 복구 불가능한 결함이 있었는지 여부를 결정할 수 있다는 점에 주목한다.
920에서 프로세스(900)가 복구 불가능한 결함이 있었다고 결정하는 경우(920에서 "예"), 프로세스(900)는 930에서 물체의 인쇄를 중지할 수 있다.
920에서 프로세스(900)가 복구 불가능한 결함이 없었다고 결정하는 경우(920에서 "아니오"), 프로세스(900)는 훈련된 사전-분류기를 이미지의 저해상도 버전에 적용할 수 있다. 일부 실시형태에서, 사전-분류기는, 970과 관련하여 아래에서 설명되는 바와 같이, 이미지가 압출 분류기를 사용하여 압출 오류를 결정하기 위해 분석될 후보인지 여부를 결정할 수 있다. 일부 실시형태에서, 사전-분류기는 검출된 오류 또는 검출된 오류 없음에 대응하는 두 개의 분류 등급을 갖는 이진 사전-분류기일 수 있다. 일부 실시형태에서, 사전-분류기는 이미지가 압출 분류기에 의해 (예를 들어, 오류가 검출되었다는 결정에 대응하여) 추가로 분석되어야 하는지 여부를 결정하기 위해 저해상도 이미지를 사용할 수 있다. 일부 실시형태에서, 압출 분류기를 사전-분류기에 의해 검출된 오류와 관련된 이미지에 적용함으로써, 압출 분류기는 압출 값의 변동에 매우 민감하도록 훈련될 수 있다. 또한, 일부 실시형태에서, 고해상도 이미지에 대해 훈련된 압출 값에 의해 생성된 압출 값을 사용함으로써, 압출 값을 기반으로 매개변수를 수정하는 인쇄 공정이 비교적 높은 정밀도로 작동할 수 있다.
일부 실시형태에서, 사전-분류기는 이미지의 저해상도 버전의 잘린 버전을 사용할 수 있다. 일부 이러한 실시형태에서, 이미지의 저해상도 버전은 임의의 적절한 크기(예를 들어, 200 x 200, 150 x 150, 및/또는 다른 적절한 크기)로 잘릴 수 있다. 일부 실시형태에서, 이미지의 저해상도 버전은 압출 층의 채움을 기반으로 이미지의 중심 주위에서 잘릴 수 있다. 일부 실시형태에서, 이미지의 저해상도 버전의 잘린 버전은 압출 값의 특징인 메쉬(mesh) 패턴 또는 다른 인쇄 패턴을 포함할 수 있다는 점에 주목한다. 일부 실시형태에서, 회전, 미러링, 및/또는 다른 적절한 이미지 증강 기술(들)과 같은 다른 적절한 증강 기술(들)이 적용될 수 있다.
일부 실시형태에서, 사전-분류기는 임의의 적합한 토폴로지를 가질 수 있다. 예를 들어, 일부 실시형태에서, 사전-분류기는 CNN일 수 있다. 더 구체적인 예로서, 일부 실시형태에서, 사전-분류기는 910과 관련하여 위에서 설명된 결함 분류기와 동일한 토폴로지를 갖는 CNN일 수 있다. 일부 실시형태에서, 사전-분류기는 훈련 이미지의 임의의 적절한 훈련 세트를 사용하여 사전-분류기를 훈련시키는 것과 같은 임의의 적절한 방식으로 훈련될 수 있다. 일부 실시형태에서, 훈련 세트에 포함된 훈련 이미지는 다양한 층에서 인쇄에 주입된 다양한 스케일링된 압출 명령에 대응하는 오류로 인쇄되는 동안 물체의 다양한 층의 이미지를 캡처함으로써 획득될 수 있고, 따라서 다양한 압출 값에 대응하는 오류가 훈련 세트에 포함된다. 일부 실시형태에서, 사전-분류기는 CNN을 훈련시키기 위한 임의의 적절한 기술(들)을 사용하여 훈련될 수 있다.
950에서, 프로세스(900)는 오류가 검출되었는지 여부를 결정할 수 있다. 일부 실시형태에서, 프로세스(900)는 사전-분류기에 의해 결정된 분류를 기반으로 오류가 검출되었는지 여부를 결정할 수 있다. 예를 들어, 일부 실시형태에서, 프로세스(900)는 검출된 오류의 분류와 관련된 가능성이 미리 결정된 임계치(예를 들어, 0.8, 0.9, 및/또는 다른 적절한 가능성)를 초과하는지 여부를 결정할 수 있고, 오류 검출 가능성이 미리 결정된 임계치를 초과한다는 결정에 대응하여, 오류가 검출되었다고 결정할 수 있다. 반대로, 일부 실시형태에서, 오류 없음의 분류와 관련된 가능성이 미리 결정된 임계치(예를 들어, 0.8, 0.9, 및/또는 다른 적절한 가능성)를 초과한다는 결정에 대응하여, 프로세스(900)는 오류가 검출되지 않았다고 결정할 수 있다.
950에서 프로세스(900)가 오류가 검출되지 않았다고 결정하는 경우(950에서 "아니오"), 프로세스(900)는 960에서 물체를 계속 인쇄할 수 있다.
950에서, 프로세스(900)가 오류가 검출되었다고 결정하는 경우(950에서 "예"), 프로세스(900)는 970에서 훈련된 압출 분류기를 이미지의 고해상도 버전에 적용하여 압출 품질 점수를 결정할 수 있다. 일부 실시형태에서, 압출 분류기에 대한 입력으로서 원본 이미지가 사용될 수 있다. 대안으로, 일부 실시형태에서, 윈도우가 원래 또는 더 높은 해상도에 있는 원본 이미지의 윈도우가 압출 분류기에 대한 입력으로서 사용될 수 있다. 일부 이러한 실시형태에서, 윈도우는 사전-분류기에 의해 사용되는 중심에 대응할 수 있고, 따라서 윈도우는 압출의 품질을 나타내는 특징적인 인쇄 패턴(예를 들어, 메쉬(mesh) 패턴)의 고해상도 이미지를 포함한다.
일부 실시형태에서, 압출 분류기는 임의의 적합한 토폴로지를 가질 수 있다. 예를 들어, 일부 실시형태에서, 압출 분류기는 임의의 적절한 수(예를 들어, 3, 4, 5, 및/또는 다른 적절한 수)의 기본 학습기(base learner)의 앙상블일 수 있고, 여기서 각각의 기본 학습기는 CNN이다. 더 구체적인 예로서, 일부 실시형태에서, 압출 분류기는 각각 기본 학습기에 대응하는 네 개의 CNN을 가질 수 있다. 일부 실시형태에서, 각각의 CNN은 임의의 적합한 수의 컨볼루션 층(예를 들어, 2, 3, 4, 5, 및/또는 다른 적절한 수의 컨볼루션 층)을 가질 수 있다. 더 구체적인 예로서, 일부 실시형태에서, 압출 분류기가 네 개의 CNN을 갖는 예에서, 네 개의 CNN은 각각 2, 3, 4, 및 5 개의 컨볼루션 층을 가질 수 있다. 일부 실시형태에서, 각각의 CNN은 두 개의 완전 연결 층을 포함할 수 있다. 일부 실시형태에서, 각각의 CNN에 의해 생성된 확률의 평균이 계산될 수 있고, 평균은 확률의 분포를 사용하여 이미지를 분류하는 데 사용될 수 있다.
일부 실시형태에서, 압출 분류기는 임의의 적합한 방식으로 훈련될 수 있다. 예를 들어, 일부 실시형태에서, 압출 분류기는 CNN을 훈련시키는데 사용되는 임의의 적절한 기술(들)을 사용하여 훈련될 수 있다. 또 다른 예로서, 일부 실시형태에서, 압출 분류기는 임의의 적절한 값(예를 들어, 16, 128, 256, 512, 1024 및/또는 다른 적절한 값)을 갖는 임의의 적절한 필터, 임의의 적절한 학습률(예를 들어, 0.0001, 0.0005, 및/또는 다른 적절한 학습률), 임의의 적절한 배치 크기(batch size)(예를 들어, 8, 16 및/또는 다른 적절한 배치 크기), 임의의 적절한 수(예를 들어, 50, 100 및/또는 다른 적절한 수)의 시기, 및/또는 임의의 적절한 수(예를 들어, 8000, 8400, 9000 및/또는 다른 적절한 수)의 원시 훈련 이미지와 같은 임의의 적절한 훈련 매개변수를 사용하여 훈련될 수 있다.
일부 실시형태에서, 압출 분류기에 의해 결정된 압출 품질 점수는 임의의 적합한 목적을 위해 사용될 수 있다는 점에 주목한다. 예를 들어, 일부 실시형태에서, 압출 품질 점수는 압출 속도, 압출 부피, 압출기 헤드의 동작 속도, 압출기 노즐의 온도, 및/또는 다른 적절한 매개변수와 같은 인쇄 매개변수를 수정하는 데 사용될 수 있다. 일부 실시형태에서, 압출 품질 점수는 도 10 및 도 11과 관련하여 도시되고 아래에서 설명되는 바와 같이 물체를 인쇄하는 동안 인쇄 매개변수를 수정하는 강화 학습 에이전트에 대한 입력으로서 제공될 수 있다. 일부 실시형태에서, 이미지 분석기(180)는 인쇄 층의 수신된 이미지 내의 특정 이상(예를 들어, 인쇄 층 내의 의도하지 않은 틈이나 구부러진 가장자리, 뒤틀리거나 고르지 않은 패턴, 과도한 압출 지점, 실과 같은 또는 기타 외부 인공물 및/또는 임의의 다른 파열)을 인식하도록 사전 프로그래밍될 수 있다. 사전 프로그래밍된 이상을 기반으로, 이미지 분석기(180)는 완성된 인쇄 층에 대해 생성된 이미지를 처리하여, 처리된 이미지가 사전 프로그래밍된 이상과 유사한 임의의 이상을 포함하는지 여부를 결정하고 인쇄 층 상의 임의의 이러한 이상에 대한 하나 이상의 위치를 식별할 수 있다.
일부 실시형태에서, 이미지 분석기(180)는 검출된 이상과 하나 이상의 인쇄 매개변수 사이의 상관관계를 결정하고 기록하도록 더 구성될 수 있다. 예를 들어, 적절한 인공 지능 알고리즘을 사용함으로써, 이미지 분석기는 검출된 이상과 관련될 수 있는 하나 이상의 인쇄 매개변수를 결정할 수 있다. 예를 들어, 이미지 분석기(180)는 다음과 같은 예시적인 상관관계를 발견할 수 있다: 파열은 프린트 헤드가 특정 온도에 있을 때 발생한다; 특정 인쇄 속도는 많은 수의 의도하지 않은 틈을 유발한다; 및 물체의 특정 위치에서의 특정 채움 패턴은 특정 유형의 이상을 유발한다.
일부 실시형태에서, 검출된 이상과 하나 이상의 인쇄 패턴 사이의 상관관계를 검출하는 것에 대응하여, 이미지 분석기(180)는 인쇄 중인 물체의 하나 이상의 층 또는 미래에 인쇄될 하나 이상의 물체가 인쇄되는 방식을 변경하는 정보, 데이터, 및/또는 명령을 제공할 수 있다. 예를 들어, 일부 실시형태에서, 이미지 분석기는, 인쇄 매개변수 설정을 수치 제어 코드 생성기(110), 제어 모듈(160) 및/또는 임의의 다른 장치에 적응적으로 조정하기 위해, 발견된 상관관계 및/또는 명령을 전달할 수 있다. 수치 제어 코드 생성기(110) 및/또는 제어 모듈(160)은 현재 인쇄 중인 물체의 임의의 후속 층에 대한 수치 제어 코드의 인쇄 매개변수를 조정하기 위해 정보를 사용할 수 있다. 일부 실시형태에서, 다음 층 또는 임의의 미래 층이 이전 층에서 발견된 이상을 보상하도록 인쇄 매개변수가 조정될 수 있다. 예를 들어, 인쇄 층에서 의도하지 않은 틈이 검출되면, 다음 층에 대한 수치 제어 코드는 틈 위에 있는 위치한 필라멘트를 증착할 때 틈을 채우라는 지시를 포함할 수 있다. 또 다른 예에서, 의도하지 않은 틈이 물체의 하부에서 발견될 때, 물체의 상부에 있는 대칭 층에 대한 수치 제어 코드는 틈을 보상하기 위한 명령을 포함할 수 있다.
일부 실시형태에서, 이미지 분석기(180)는 완성된 인쇄 물체의 기계적, 광학적 및/또는 전기적 특성을 측정하도록 구성될 수 있다.
일부 실시형태에서, 이미지 분석기(180)는 인쇄 층 및/또는 완성된 인쇄 물체에서 하나 이상의 인쇄 매개변수와 더 적은 수의 이상 사이의 상관관계를 검출하도록 구성될 수 있다. 추가 실시형태에서, 이미지 분석기(180)는 하나 이상의 인쇄 매개변수와 완성된 인쇄 물체의 측정된 기계적, 광학적 및/또는 전기적 특성 사이의 상관관계를 검출하도록 구성될 수 있다. 하나 이상의 이러한 상관 관계를 검출하는 것에 대한 대응으로, 이미지 분석은 인쇄 중인 물체의 하나 이상의 층 또는 미래에 인쇄될 하나 이상의 물체가 인쇄되는 방식을 변경하는 정보, 데이터 및/또는 명령을 제공할 수 있다. 일부 실시형태에서, 이미지 분석기(180)는 생산 설계를 개선하기 위해 정보, 데이터 및/또는 명령을, 예를 들어 3차원 모델링 소프트웨어에 제공할 수 있다.
추가 실시형태에서, 이미지 분석기(180)는, 도 10 및 도 11과 관련하여 도시되고 아래에서 설명되는 바와 같이, 예를 들어 강화 학습 모델을 사용하여 3D 인쇄 공정 동안 인쇄 매개변수를 적응 및 조정하여 최종 인쇄 물체의 기계적 특성을 최적화할 수 있다. 일부 실시형태에서, 최종 제품의 기계적 특성(예를 들어, 인장 강도)을 개선하기 위해 수행할 시정 조치를 식별하기 위해 강화 학습 모델을 훈련시키기 위한 관련된 계산 시간을 최소화하기 위한 노력으로, 환경 및 취해질 수 있는 대응하는 조치의 가능한 조건 세트(본원에서 일반적으로 상태/조치 공간이라고 함)는 축소되거나 제한될 수 있다. 일부 실시형태에서, 상태/조치 공간은 관련된 입력 매개변수의 수를 선택함으로써 및/또는 그 유용성을 기반으로 잠재적인 출력을 선택함으로써 제한될 수 있다. 예를 들어, 일부 실시형태에서, 3D 인쇄된 표본의 극한 인장 강도를 최적화하기 위해, 상태/조치 공간은, 예를 들어, 인쇄 공정 동안 증착된 재료의 부피, 압출기 노즐 온도, 압출된 플라스틱의 부피, 프린트 헤드의 운동 역학, 주변 환경 조건, 및 압출된 열가소성 수지의 재료 특성을 변경하는 것과 같이, 인장 강도에 비교적 큰 영향을 미치는 인쇄 매개변수와 관련된 조치만을 고려함으로써 감소될 수 있다. 일부 실시형태에서, 사용 가능한 조치 및 대응하는 환경 상태를 제한함으로써, 본원에 설명된 메커니즘은, 계산 리소스를 최소화하면서 추가 분석을 위해 활용될 수 있는 결과를 생성할 수 있다.
일부 실시형태에서, 이미지 분석기(180)는 인쇄 층에 대해 생성된 지형 이미지 및/또는 다른 생성된 이미지뿐만 아니라 인쇄 층에 대해 생성된 수치 제어 코드를 사용하여, 제어 불가능한 변수(즉, 사람의 개입 없이는 제어 불가능한 변수)와 결과적인 프린트 헤드 동작 사이의 관계뿐만 아니라, 증착된 층 내의 이상(예를 들어, 인쇄 층 내의 의도하지 않은 틈이나 구부러진 가장자리, 뒤틀리거나 고르지 않은 패턴, 과도한 압출 지점, 수치 제어 코드에 지정된 인쇄 경로 경로와의 편차, 의도하지 않은 실과 같은 또는 기타 외부 인공물 및/또는 기타 파열)을 학습할 수 있다. 제어 불가능한 변수와 결과적인 프린트 헤드 동작 사이의 상관관계뿐만 아니라 이상을 검출하는 것에 대응하여, 이미지 분석기(180)는 인쇄 중인 물체의 하나 이상의 층 또는 미래에 인쇄될 하나 이상의 물체가 인쇄되는 방식을 변경하는 정보, 데이터 및/또는 명령을 제공할 수 있다.
일부 실시형태에서, 상관관계에 대한 정보는 본원에 설명된 바와 같이 하나 이상의 AI 메커니즘을 훈련시키는 데 사용될 수 있다.
일부 실시형태에서, 층이 인쇄된 후, 이미지 분석기(180)는 완성된 인쇄 층을 하나 이상의 이전 층과 비교하여 이상을 검출 및 기록하고, 이상 비율 및 패턴을 비교 및 기록하며, 인쇄 매개변수를 조정하여 물체의 전체 디자인을 최적화(예를 들어, 원하는 기계적, 광학적 및/또는 전기적 특성을 얻거나 생산 설계와 매우 유사한 인쇄된 디자인을 달성)하거나 인쇄 작업의 동작을 최적화(예를 들어, 증착 속도를 높이거나 필요한 재료의 양을 최소화)하기 위한 명령을 수치 제어 코드 생성기(110) 및/또는 제어 모듈(160)에 제공하도록 구성될 수 있다. 이상을 식별하기 위한 완성된 층과 이전 층 사이의 비교는 또한 적층 제조 시스템(100)의 인쇄 매개변수에 인과관계를 더 잘 할당하고, 부분적으로 인쇄된 물체의 다음 또는 임의의 후속 층에 대한 적절한 조정을 수행할 뿐만 아니라 유사하거나 다른 물체의 미래 인쇄 작업을 최적화하기 위해 사용될 수 있다.
일부 실시형태에서, 이미지 분석기(180)는 부분적으로 인쇄된 물체의 현재 및/또는 이전 층에 대한 전체 이상 비율을 분석하고, 유사한 인쇄 작업으로부터의 AIPC를 기반으로, 원하는 기계적, 광학적 및/또는 전기적 특성을 얻기 위해, 부분적으로 인쇄된 물체의 다음 및/또는 임의의 미래 층에 대한 인쇄 매개변수를 조정하기 위한 명령을 수치 제어 코드 생성기(110) 및/또는 제어 모듈(160)에 제공하도록 구성될 수 있다.
일부 실시형태에서, 층이 인쇄된 후, 사용 중인 특정 적층 제조 프린터의 특정 보정과 관련된 이상을 식별하기 위해 인공 지능을 기반으로 하지 않은 알고리즘이 사용될 수 있다. 특정 적층 제조 프린터의 보정을 설명하기 위해 후속 층 및 미래 인쇄 작업에 대한 수치 제어 코드에 대해 적절한 조정이 이루어질 수 있다.
일부 실시형태에서, 인쇄 층 또는 층들의 이상이 소정의 미리 결정된 허용 오차를 초과하는 경우, 인쇄 물체에 대한 인쇄 작업은 완료 전에 중지될 수 있다. 실패한 인쇄 작업에 대해 수집된 데이터는 수치 제어 코드 생성기(110), 제어 모듈(160) 및/또는 적층 제조 프린터(115)에 의해 수행되는 인쇄 처리와 관련된 훈련 데이터를 수집하는 임의의 컴퓨터 시스템에 정보, 데이터 및/또는 명령을 제공할 수 있다.
일부 실시형태에서, 이미지 분석기(180)는 인쇄 물체에 대한 이상 데이터(예를 들어, 이상의 분포, 패턴 및 비율)뿐만 아니라, 이상에 해당하는 설계의 구조를 제거하거나 수정하기 위해 3차원 모델링 소프트웨어에 대한 자동 추천 인쇄 조정을 전송하도록 더 구성될 수 있다.
도 6은, 도 1 내지 도 3을 더 참조하여, 개시된 요지의 일부 실시형태에 따라 AIPC를 사용하는 적층 제조 인쇄 작업의 예를 높은 수준에서 도시하고 있다. 일부 실시형태에서, 적층 제조 프로세스(600)는 적층 제조 시스템(100)을 사용할 수 있다.
610에서, 인쇄 물체가 어떻게 보여야 하는지를 지정하는 생산 설계뿐만 아니라 인쇄 물체에 대한 원하는 기계적, 광학적 및/또는 전기적 특성이 수치 제어 코드 생성기(110)에 제공된다. 일부 실시형태에서, 일부 초기 인쇄 매개변수는 조작자에 의해 입력된다. 일부 실시형태에서, 생산 설계는 수치 제어 코드 생성기(110)에 제공되고, 이미지 분석기(180)는 AIPC를 사용하여 생산 설계에 대한 원하는 기계적, 광학적 및/또는 전기적 특성을 결정한다.
일부 실시형태에서, 조작자는 적층 제조 인쇄 공정 동안 상충하는 목표를 해결하기 위해 이미지 분석기(180)에 대한 규칙 세트를 입력할 수 있다. 예를 들어, 사용자는 인쇄 물체의 최적의 기계적 특성을 달성하는 것이, 인쇄 속도; 생산 설계에 대한 무결성; 및 사용되는 필라멘트의 양을 감소시키는 것보다 우선되어야 한다고 지정할 수 있다. 조작자는 또한 어떤 기계적, 광학적 및/또는 전기적 특성이 인쇄 물체에 가장 중요한지를 지정할 수 있고, 따라서 이미지 분석기(180)는 이러한 기계적, 광학적 및/또는 전기적 특성을 최적화하는 인쇄 매개변수를 조정하기 위한 명령을 제공할 수 있다.
620에서, 수치 제어 코드 생성기(110)는, 조작자에 의해 입력된 입력 매개변수; 적층 제조 프린터(115)의 인쇄 특징; (기계적, 광학적 및/또는 전기적 특성 포함하는) 생산 설계 사양; 부분적으로 인쇄된 물체의 하나 이상의 이전 인쇄 층으로부터의 AIPC 및/또는 다른 인쇄 물체로부터의 AIPC 중 하나 이상을 기반으로 인쇄 물체의 층에 대한 수치 제어 코드를 생성할 수 있다. 생성된 수치 제어 코드는 횡단할 프린트 헤드(140) 및/또는 빌드 플레이트(150)에 대한 설정점(예를 들어, 다수의 X-Y-Z 좌표) 세트를 포함할 수 있다. 도 7A는 수치 제어 코드에 포함될 수 있는 인쇄 층에 대한 설정점 세트의 예시적인 시뮬레이션을 도시하고 있다. 생성된 수치 제어 코드는 또한 프린트 헤드 및/또는 빌드 플레이트가 개별 설정점을 가로지르는 방법을 정의하는 명령을 포함할 수 있다. 포함된 명령을 기반으로 가로지르는 인쇄 경로가 어떻게 보이는지에 대한 예시적인 시뮬레이션이 예를 들어 도 7B에 도시되어 있다.
일부 실시형태에서, 생성된 수치 제어 코드는 또한 설정점 사이의 프린트 헤드(140) 및/또는 빌드 플레이트(150)의 속도, 설정점 사이의 프린트 헤드(140) 및/또는 빌드 플레이트(150)사이의 노즐 온도, 설정점 사이에 증착된 필라멘트의 양, 설정점 사이의 채움 밀도, 및 설정점 사이의 채움 패턴을 포함하지만 이에 한정되지 않는 특정 인쇄 매개변수를 지정할 수 있다.
630에서, 프린트 헤드(140)는 수치 제어 코드 생성기(110) 및/또는 제어 모듈(160)에 의해 제공된 명령에 따라 생산 설계의 층을 위한 필라멘트를 증착할 수 있다.
640에서, 광원(130)은 지정된 지형 이미징 기술 및/또는 (위에서 설명한) 다른 이미징 기술을 기반으로 인쇄 층을 조명할 수 있다.
650에서, 이미지 센서(120)는 조명된 인쇄 층의 이미지를 캡처할 수 있다.
660에서, 이미지 생성기(170)는 이미지 센서(120)에 의해 캡처된 이미지를 기반으로 인쇄 층의 하나 이상의 지형 이미지 및/또는 다른 적절한 이미지(들)를 생성할 수 있다. 일부 실시형태에서, 인쇄 층의 생성된 이미지(들)는 함께 타일링(tiling)되거나 스티칭(stitching)되는 일련의 캡처 이미지를 포함할 수 있다.
추가 실시형태에서, 인쇄 층에 대한 실제 인쇄 경로는 하나 이상의 지형 이미지, 및/또는 이미지 생성기(170)에 의해 생성된 다른 적절한 이미지로부터 결정될 수 있다.
670에서, 이미지 분석기(180)는 인쇄 층에 대해 생성된 지형 이미지 및/또는 다른 생성된 이미지뿐만 아니라 인쇄 층에 대해 생성된 수치 제어 코드를 사용하여, 압출 층 내의 이상(예를 들어, 인쇄 층 내의 의도하지 않은 틈이나 구부러진 가장자리, 뒤틀리거나 고르지 않은 패턴, 과도한 압출 지점, 수치 제어 코드에 지정된 인쇄 경로 경로와의 편차, 의도하지 않은 실과 같은 또는 기타 외부 인공물 및/또는 기타 파열)을 결정 및 기록할 수 있다.
일부 실시형태에서, 이미지 분석기(180)는 생성된 수치 제어 코드에 포함된 설정점 및 명령으로부터 인쇄 층에 대한 인쇄 경로를 추출하고 표시할 수 있다. 이미지 분석기는 표시된 인쇄 경로를 픽셀로 변환하고, 인쇄 층에 대해 생성된 이미지에서 획득된 인쇄 경로에 픽셀을 오버레이하며, 픽셀과 인쇄 경로 간의 차이를 결정할 수 있다. 일부 실시형태에서, 이미지 분석기(180)는 인쇄 층에 대해 생성된 이미지로부터 획득된 인쇄 경로를 좌표계의 인쇄 포인트로 변환하고, 이들 인쇄 포인트를 생성된 수치 제어 코드로부터 추출된 표시된 경로를 따른 인쇄 포인트와 비교할 수 있다.
생성된 이미지로부터 획득된 인쇄 층에 대한 인쇄 경로가 생성된 수치 제어 코드로부터 추출된 인쇄 경로와 동일한 경우, 이들 간의 차이는 0 또는 0에 가까울 것이다. 0보다 큰 숫자는 실제 인쇄 경로와 생성된 수치 제어 코드에 지정된 인쇄 경로 사이에서 검출된 오류의 양을 나타낸다. 인쇄 경로를 비교하면 인쇄 경로를 따라 오류가 발생한 위치를 나타낼 수도 있다.
680에서, 이미지 분석기(180)는 이미지 분석기가 인쇄 층 및/또는 이전 층으로부터 검출한 (생성된 수치 제어 코드에서의 실제 경로와 인쇄 경로 사이의 편차를 포함하는) 이상의 수 및 이상의 패턴을 분석할 수 있다. 다른 인쇄 작업으로부터의 AIPC를 기반으로, 이미지 분석기(180)는 검출된 이상을 고려하여 원하는 기계적, 광학적 및/또는 전기적 특성을 달성하기 위해, 부분적으로 인쇄된 물체의 다음 또는 후속 층의 인쇄 매개변수에 대해 어떠한 조정이 이루어져야 하는지 여부를 결정할 수 있다. 예를 들어, 검출된 이상을 기반으로, 이미지 분석기(180)가 부분적으로 인쇄된 물체의 현재 및/또는 이전 층에 대해 완성된 인쇄 물체에 대한 기계적 특성이 원하는 것보다 약할 것이라고 결정하는 경우, 이미지 분석기(180)는 수치 제어 코드 생성기(110) 및/또는 제어 모듈(160)에 지시하여 원하는 기계적 특성이 달성될 수 있도록 다음 또는 임의의 후속 층에서의 특정 인쇄 매개변수를 조정(예를 들어, 채움 밀도 증가 및/또는 채움 패턴 변경)할 수 있다.
일부 실시형태에서, 동작(610-680)은 각각의 층에 대해, 또는 인쇄 물체에 대해 증착되는 임의의 수의 층에 대해 반복된다. 이미지 분석기(180)는 각각의 층에서 획득된 데이터뿐만 아니라 다른 인쇄 작업으로부터의 AIPC를 사용하여, 원하는 기계적, 광학적 및/또는 전기적 특성 및/또는 원하는 인쇄 물체의 디자인을 달성하기 위해 다음 및/또는 후속 층에 대한 인쇄 매개변수를 수정할 수 있다. 추가 실시형태에서, 완성된 인쇄 물체의 기계적, 광학적 및/또는 전기적 특성이 측정될 수 있다.
프로세스(600)의 특정 부분이 수행되는 시기에 대한 구분은 다양할 수 있고, 어떠한 구분 또는 다른 구분도 본원에 개시된 주제의 범위 내에 있지 않다. 일부 실시형태에서, 프로세스(600)의 블록은 임의의 적절한 시간에 수행될 수 있다는 점에 주목한다. 본원에 설명된 프로세스(600)의 부분들 중 적어도 일부는 일부 실시형태에서 도 6과 관련하여 도시되고 설명된 순서 및 시퀀스에 한정되지 않는 임의의 순서 또는 시퀀스로 수행될 수 있다는 것을 알아야 한다. 또한, 본원에 설명된 프로세스(600)의 일부 부분은 일부 실시형태에서 적절한 경우 실질적으로 동시에 또는 일부 실시형태에서 병렬로 수행될 수 있다. 추가로 또는 대안으로, 프로세스(600)의 일부 부분은 일부 실시형태에서 생략될 수 있다.
프로세스(600)는 임의의 적절한 하드웨어 및/또는 소프트웨어로 구현될 수 있다. 예를 들어, 일부 실시형태에서, 프로세스(600)는 이미지 분석기(180) 또는 수치 제어 코드 생성기(110)에서 구현될 수 있다.
일부 실시형태에서, 이미지 분석기(180)는, 이미지 분석기(180)가 원하는 기계적, 광학적 및/또는 전기적 특성을 달성하기 위해 유사하거나 상이한 물체에 대해 (예를 들어, 도 6과 관련하여 설명한 바와 같이) 인쇄 공정 동안 층 레벨에서 인쇄 매개변수를 적응적으로 조정할 수 있게 하기 위해 인쇄 물체의 각각의 층에 대한 이상 패턴을 학습할 수 있다.
특정 인쇄 매개변수는 인쇄 물체의 기계적, 광학적 및/또는 전기적 특성에 영향을 미친다. 예를 들어, 채움 밀도와 채움 패턴은 최대 인장 강도(Rm), 항복 강도(Rp2%), 파단 신율(A%), 영률(E), 피로도(σd), 푸아송 비, 질량 및 비중과 같은 기계적 특성에 영향을 줄 수 있다.
이상 패턴 및 특정 인쇄 매개변수가 실제로 인쇄 물체의 기계적, 광학적 및/또는 전기적 특성에 어떻게 영향을 미치는지 이해하기 위해, 인쇄 물체의 기계적, 광학적 및/또는 전기적 특성에 영향을 미치는 인쇄 매개변수를 변경하면서 물체가 여러 번 인쇄될 수 있다. 각각의 인쇄 물체에 대한 이상 패턴은 예를 들어 도 6(예를 들어, 670에서)과 관련하여 설명된 바와 같이 층 레벨에서 결정되고 기록될 수 있다. 또한, 각각의 인쇄 물체의 기계적, 광학적 및/또는 전기적 특성이 측정되고 기록될 수 있다.
도 8은 일부 실시형태에 따라 다양한 채움 밀도와 채움 패턴을 기반으로 이상 패턴과 이상 비율을 학습하고, 이러한 이상 패턴과 이상 비율이 인쇄 물체의 기계적 특성에 어떻게 영향을 미치는지 학습하기 위한 훈련 프로세스의 예(800)를 도시하고 있다. 훈련 프로세스 동안, 기계 학습 모델을 생성하기 위해 사용되는 훈련 데이터는 실제 데이터 또는 시뮬레이션 데이터로부터 조합으로 또는 개별적으로 얻어질 수 있다. 실제 훈련 데이터는 3D 인쇄 공정 동안 실시간으로 촬영된 이미지와 같이 생산 또는 다른 장비의 작동 중에 수집된 데이터일 수 있다. 시뮬레이션 데이터는, 3D 인쇄 공정 동안 이미지의 실시간 캡처를 모방하기 위한 기존 라이브러리를 기반으로 무작위로 생성된 이미지 시퀀스와 같이, 생산 데이터를 제시하는 컴퓨터화된 방법 또는 시뮬레이션으로부터 획득된 데이터일 수 있다.
810에서, 물체의 기계적 특성에 영향을 미치는 하나 이상의 인쇄 매개변수가 식별될 수 있다. 예를 들어, 채움 밀도와 채움 패턴은 물체의 기계적 특성에 영향을 미치는 것으로 식별될 수 있다. 일부 실시형태에서, 물체의 기계적 특성에 영향을 미치는 다른 인쇄 매개변수를 식별하기 위해 인공 지능 알고리즘이 사용될 수 있다.
820에서, 미리 결정된 수("그룹")의 표적 물체가 인쇄될 수 있고, 표적 물체의 기계적 특성에 영향을 미치는 것으로 식별된 하나 이상의 인쇄 매개변수가 전체 그룹에 대해 동일하게 유지될 수 있다. 예를 들어, 그룹 내의 각각의 물체는 동일한 채움 패턴과 채움 밀도 인쇄 매개변수를 지정하여 인쇄될 수 있다.
830에서, 도 6의 670과 관련하여 설명된 바와 같이, 그룹 내의 각각의 인쇄 물체에 대해 층 레벨에서 이상이 검출되고 기록될 수 있다. 예를 들어, 실제 인쇄 경로와 생성된 제어 코드에서 추출한 인쇄 경로 간의 차이가 각각의 층에 대해 결정될 수 있다. 그룹 내의 각각의 표적 물체가 인쇄된 후, 해당 표적 물체에 대한 기계적 특성이 측정되고 기록될 수 있다.
830 이후에, 프로세스(800)는 820으로 되돌아갈 수 있고, 또 다른 미리 결정된 수의 표적 물체가 다른 채움 밀도 및/또는 채움 패턴으로 인쇄될 수 있다.
820 및 830은 이상 패턴 및 다양한 식별된 인쇄 매개변수(예를 들어, 채움 밀도와 채움 패턴)가 물체의 기계적 특성에 어떻게 영향을 미치는지 학습하도록 이미지 분석기(180)를 훈련시키는 데 필요한 만큼 반복될 수 있다. 미리 결정된 수("그룹")의 표적 물체가 인쇄될 때마다, 식별된 매개변수(예를 들어, 채움 밀도와 채움 패턴)가 변경될 수 있다. 아래 표는 표적 물체에 대한 예시적인 그룹 및 이들의 지정된 채움 밀도와 채움 패턴 인쇄 매개변수를 나타낸다:
표적 물체 채움 밀도 채움 패턴
그룹 1 100% 속이 꽉 참
그룹 2 85% 벌집
그룹 3 85% 삼각형
그룹 4 50% 벌집
그룹 5 50% 삼각형
그룹 6 20% 벌집
그룹 7 20% 삼각형
일부 실시형태에서, 채움 밀도와 채움 패턴 인쇄 매개변수는 인쇄 물체의 각각의 층에 대해 일정하게 유지된다. 다른 실시형태에서, 채움 밀도 및/또는 채움 패턴은 층이 위치하는 위치에 따라 또는 무작위로 물체의 다양한 층에 대해 달라진다.
이미지 분석기(180)가 다양한 이상 비율과 패턴 및 식별된 인쇄 매개변수(예를 들어, 다양한 채움 밀도와 채움 패턴)가 물체의 기계적 특성에 어떻게 영향을 미치는지 학습하게 되면, 이미지 분석기는 원하는 기계적 특성을 달성하기 위해 (예를 들어, 층 레벨에서) 인쇄 작업 동안 식별된 인쇄 매개변수에 대한 값을 적응적으로 조정할 수 있다. 예를 들어, 이미지 분석기(180)는 부분적으로 인쇄된 물체의 인쇄 층이, 채움 밀도와 채움 패턴이 조정되지 않은 채 완료되면 인쇄 물체에 대해 하위 수준의 기계적 특성을 초래할 가능성이 있는 이상 비율과 패턴을 갖는 것을 검출할 수 있다. 이미지 분석기(180)는 이후 이상의 발생을 줄이려고 노력하면서, 원하는 기계적 특성을 달성하기 위해 다음 및/또는 임의의 후속 층에 대해 채움 속도와 채움 패턴 인쇄 매개변수를 조정할 수 있다.
이상 패턴이 물체의 광학적 및/또는 전기적 특성에 어떻게 영향을 미치는지 학습하기 위해 유사한 프로세스가 수행될 수 있다. 예를 들어, 물체의 광학적 및/또는 전기적 특성에 영향을 미치는 인쇄 매개변수가 식별될 수 있다. 표적 물체 그룹은 상기한 바와 같이 표적 물체 그룹에 걸쳐 식별된 인쇄 매개변수를 제어하여 인쇄될 수 있다. 다양한 이상 비율과 패턴 및 식별된 인쇄 매개변수가 물체의 전기적 및/또는 광학적 특성에 어떻게 영향을 미치는지 이미지 분석기(180)가 학습하고 나면, 이미지 분석기는 원하는 전기적 및/또는 광학적 특성을 달성하기 위해, 층 레벨에서, 인쇄 작업 동안 식별된 인쇄 매개변수에 대한 값을 적응적으로 조정할 수 있다.
제어 불가능한 변수(즉, 사람의 개입 없이는 제어 불가능한 변수)가 물체의 기계적, 광학적 및/또는 전기적 특성에 어떻게 영향을 미치는지 학습하기 위해 유사한 프로세스가 수행될 수 있다. 예를 들어, 물체의 기계적, 광학적 및/또는 전기적 특성에 영향을 미치는 제어 불가능한 변수가 식별될 수 있다. 표적 물체 그룹은 상기한 바와 같이 표적 물체 그룹에 걸쳐 식별된 제어 불가능한 변수를 제어하여 인쇄될 수 있다. 다양한 이상 비율과 패턴 및 식별된 인쇄 제어 불가능한 변수가 물체의 기계적, 전기적 및/또는 광학적 특성에 어떻게 영향을 미치는지 이미지 분석기(180)가 학습하고 나면, 이미지 분석기는 제어 불가능한 변수를 보상하고 원하는 전기적 및/또는 광학적 특성을 달성하기 위해, 층 레벨에서, 인쇄 작업 동안 인쇄 매개변수에 대한 값을 적응적으로 조정할 수 있다.
프로세스(800)의 특정 부분이 수행되는 시기에 대한 구분은 다양할 수 있고, 어떠한 구분 또는 다른 구분도 본원에 개시된 주제의 범위 내에 있지 않다. 일부 실시형태에서, 프로세스(800)의 블록은 임의의 적절한 시간에 수행될 수 있다는 점에 주목한다. 본원에 설명된 프로세스(800)의 부분들 중 적어도 일부는 일부 실시형태에서 도 8과 관련하여 도시되고 설명된 순서 및 시퀀스에 한정되지 않는 임의의 순서 또는 시퀀스로 수행될 수 있다는 것을 알아야 한다. 또한, 본원에 설명된 프로세스(800)의 일부 부분은 일부 실시형태에서 적절한 경우 실질적으로 동시에 또는 일부 실시형태에서 병렬로 수행될 수 있다. 추가로 또는 대안으로, 프로세스(800)의 일부 부분은 일부 실시형태에서 생략될 수 있다.
프로세스(800)는 임의의 적절한 하드웨어 및/또는 소프트웨어로 구현될 수 있다. 예를 들어, 일부 실시형태에서, 프로세스(800)는 이미지 분석기(180) 또는 수치 제어 코드 생성기(110)에서 구현될 수 있다.
일부 실시형태에서, 이미지 분석기(180)는 (도 6의 660에 설명된 바와 같은) 인쇄 층에 대해 생성된 지형 이미지 및/또는 다른 생성된 이미지뿐만 아니라 인쇄 층에 대해 생성된 수치 제어 코드를 사용하여, 인쇄 매개변수와 결과적인 프린트 헤드 동작 사이의 관계뿐만 아니라, 압출 층 내의 이상(예를 들어, 인쇄 층 내의 의도하지 않은 틈이나 구부러진 가장자리, 뒤틀리거나 고르지 않은 패턴, 과도한 압출 지점, 수치 제어 코드에 지정된 인쇄 경로 경로와의 편차, 의도하지 않은 실과 같은 또는 기타 외부 인공물 및/또는 기타 파열)을 학습할 수 있다. 이미지 분석기(180)는 또한 학습된 관계를 반전시켜, 원하는 프린트 헤드 동작을 유발하고 압출 층 내의 이상을 최소화할 최적의 수치 제어 코드 입력 매개변수를 계산할 수 있다. 보다 구체적으로, 인공 지능 알고리즘에 대한 입력 변수는: 프린트 헤드의 이전 측정 위치(로 표시됨); 프린트 헤드의 이전 위치를 유발한 제어 코드 인쇄 매개변수(로 표시됨); 및 프린트 헤드의 현재 측정 위치(로 표시됨)를 포함할 수 있다. 그리고 출력 변수는 프린터 헤드의 현재 위치(θ로 표시됨)를 유발한 수치 제어 코드 매개변수일 될 수 있다. 입력 변수와 출력 변수는 함께 인공 지능 알고리즘에 대한 단일 훈련 샘플 역할을 할 수 있다. 단일 인쇄 층은 수백 개의 이러한 훈련 샘플을 생성할 수 있다. 이들 훈련 샘플은, 이전 층의 이상에 대한 지식, 생산 설계의 원하는 사양, 적층 제조 프린터의 인쇄 기능 및/또는 주변 조건과 함께, 원하는 프린트 헤드 동작을 생성하기 위한 최적의 인쇄 매개변수를 계산하기 위해 사용할 수 있다. 일부 실시형태에서, 훈련 샘플은, 이전 층의 이상에 대한 지식, 생산 설계의 원하는 사양, 적층 제조 프린터의 기능 및/또는 주변 조건과 함께, 후속 층에서의 최적의 인쇄 매개변수뿐만 아니라, 인쇄 경로에 대한 XYZ 설정점 및 명령의 최적 배치를 계산하기 위해 사용될 수 있다.
일부 실시형태에서, 인쇄 매개변수와 층의 전체 특성 사이의 관계를 학습하기 위해 이미지 분석기(180)가 또한 적용될 수 있다. 예를 들어, 이미지 분석기(180)는 압출 층 내의 이상의 총수, 프린트 헤드 및/또는 빌드 플레이트의 동작이 생성된 수치 제어 코드의 인쇄 경로 명령과 얼마나 유사한지, 및 지정된 채움 밀도를 학습하기 위해 적용될 수 있다. 일부 실시형태에서, 이미지 분석기(180)는 학습된 관계를 반전시켜, 원하는 기계적, 광학적 및/또는 전기적 특성을 포함하는 생산 설계 사양과 가장 유사한 층을 생성하는 인쇄 매개변수를 계산할 수 있다.
일부 실시형태에서, 이미지 분석기(180)는 인쇄 층에 대해 생성된 지형 이미지 및/또는 다른 생성된 이미지뿐만 아니라 인쇄 층에 대해 생성된 수치 제어 코드를 사용하여, 제어 불가능한 변수(즉, 사람의 개입 없이는 제어 불가능한 변수)와 결과적인 프린트 헤드 동작 사이의 관계뿐만 아니라, 증착된 층 내의 이상(예를 들어, 인쇄 층 내의 의도하지 않은 틈이나 구부러진 가장자리, 뒤틀리거나 고르지 않은 패턴, 과도한 압출 지점, 수치 제어 코드에 지정된 인쇄 경로 경로와의 편차, 의도하지 않은 실과 같은 또는 기타 외부 인공물 및/또는 기타 파열)을 학습할 수 있다. 제어 불가능한 변수가 임계 허용 오차를 초과하여 결과적인 프린트 헤드 동작 및/또는 증착된 층 내의 이상에 부정적인 영향을 미치는 것을 이미지 분석기(180)가 발견하면, 이미지 분석기(180)는 제어 모듈(160)에 경보를 보낼 수 있다. 경보를 수신하면, 제어 모듈(160)은 적층 제조 시스템(100)의 디스플레이 상에 경고를 표시하고 및/또는 이메일, 문자 또는 다른 적절한 전자 메커니즘을 통해 조작자에게 경고할 수 있다. 일부 실시형태에서, 이미지 분석기(180)는 이메일, 문자 또는 다른 적절한 전자 메커니즘을 통해 직접 조작자에게 경고하도록 구성될 수 있다. 예를 들어, 일부 실시형태에서, 주변 습도, 온도 및/또는 광이 결과적인 프린트 헤드 동작에 부정적인 영향을 미치고 있거나 층 내의 이상의 수가 미리 결정된 허용 오차를 초과하고 있다고 이미지 분석기(180)가 결정하는 경우, 이미지 분석기(180)는 제어 모듈(160) 및/또는 조작자에게 경보를 보낼 수 있다. 일부 실시형태에서, 적층 제조 프린터(115)의 마모 및/또는 프린트 헤드(140)가 이용 가능한 필라멘트의 총량(예를 들어, 적은 양의 필라멘트)이 결과적인 프린트 헤드 동작에 부정적인 영향을 미치고 있거나 층 내의 이상의 수가 미리 결정된 허용 오차를 초과하고 있다고 이미지 분석기(180)가 결정하는 경우, 이미지 분석기(180)는 제어 모듈(160) 및/또는 조작자에게 적층 제조 프린터를 교체하고 및/또는 필라멘트를 다시 채우도록 경보를 보낼 수 있다. 일부 실시형태에서, 전압 변동이 결과적인 프린트 헤드 동작에 부정적인 영향을 미치고 있거나 층 내의 이상의 수가 미리 결정된 허용 오차를 초과하고 있다고 이미지 분석기(180)가 결정하는 경우, 이미지 분석기(180)는 제어 모듈(160) 및/또는 조작자에게 전압원을 확인하도록 경보를 보낼 수 있다.
훈련 프로세스는 또한 실제 환경 또는 시뮬레이션 환경으로 구성된 훈련 환경을 조합으로 또는 개별적으로 사용하는 단계를 포함할 수 있다. 일부 실시형태에서, 실제 훈련 환경은 모델을 훈련시키는 데 사용되는 실제 환경을 포함할 수 있으며, 여기서 실제 환경은 물리적 측정치(예를 들어, 물체를 3D 인쇄하고, 물체의 물리적 중량, 표면 형태, 기계적 특성을 측정함으로써, 및/또는 다른 적절한 물리적 측정치)를 포함할 수 있다. 일부 실시형태에서, 시뮬레이션 환경은 이론적 밀도 및 부피를 사용하여 3D 인쇄된 구조의 중량을 계산하는 것과 같은 수치적 또는 컴퓨터화된 방법을 사용하여 시뮬레이션된 훈련 환경을 포함할 수 있다.
훈련 프로세스는 또한 실제 환경 또는 시뮬레이션 환경으로 구성된 훈련 환경을 조합으로 또는 개별적으로 사용하는 단계를 포함할 수 있다. 일부 실시형태에서, 실제 훈련 환경은 모델을 훈련시키는 데 사용되는 실제 환경을 포함할 수 있으며, 여기서 실제 환경은 물리적 측정치(예를 들어, 물체를 3D 인쇄하고, 물체의 물리적 중량을 측정함으로써, 및/또는 다른 적절한 물리적 측정치)를 포함할 수 있다. 일부 실시형태에서, 시뮬레이션 환경은 이론적 밀도 및 부피를 사용하여 3D 인쇄된 구조의 중량을 계산하는 것과 같은 수치적 또는 컴퓨터화된 방법을 사용하여 시뮬레이션된 훈련 환경을 포함할 수 있다.
일부 실시형태에서, 시뮬레이션된 훈련 환경은 실제 환경에서 훈련시키는 데 필요한 시간과 자원을 줄이는 데 도움이 되도록 실제 환경에서 훈련시키기 전에 기계 학습 모델을 초기화하기 위해 사용될 수 있다. 예를 들어, 일부 실시형태에서 기계 학습 모델은 3D 인쇄된 구조의 인장 강도의 정밀도를 증가시키도록 구축될 수 있다. 시뮬레이션을 사용하여 모델이 초기화될 수 있고, 따라서 실제 3D 인쇄 환경에서 실제 훈련 데이터세트를 생성하기 전에 시뮬레이션된 훈련 데이터로 모델 훈련을 시작할 수 있다. 시뮬레이션 환경은 3D 인쇄된 구조의 인장 강도를 계산하기 위해 유한 요소 분석(FEA)을 사용하여 3D 인쇄된 구조의 인장 시험을 모방할 수 있다.
일부 실시형태에서, 시뮬레이션 환경의 기계 학습 프레임워크는 임의의 적절한 강화 학습(reinforcement learning, RL) 기술 또는 알고리즘을 포함할 수 있다. 강화 학습은, 일련의 규칙 및 입력을 사용하여 환경 및 다양한 조건 또는 상태에서 조치를 취하는 컴퓨터 알고리즘 또는 에이전트를 의미한다. 이러한 조치의 해당 결과를 기반으로, 에이전트는 긍정적인 결과 또는 보상의 누적을 최대화하기 위해 후속 조치를 조정한다. 일부 실시형태는, 환경과 동시에 상호 작용하고, 도 12와 관련하여 도시되고 아래에서 더 상세히 설명되는 바와 같은 전역 메모리에 조치 또는 궤적의 시퀀스를 저장하는 다수의 에이전트를 의미하는 비동기식, 분산 강화 학습을 갖는 프레임워크를 사용할 수 있다. 참고로, 오류를 수정(예를 들어, 인쇄 매개변수 수정)하기 위한 조치를 취하도록 에이전트(예를 들어, 인쇄 작업을 구현하는 프로세스)를 훈련시키기 위해 강화 학습을 사용하기 위한 추가 기술이 도 10 및 도 11과 관련하여 도시되고 아래에서 설명된다. 프레임워크는 또한 도 12와 관련하여 아래에서 더 상세히 설명되는 바와 같이 심층 Q-학습(Deep Q-learning, DQN)과 경험 리플레이(experience replay)를 사용하여, 이전에 본 적이 없거나 상대적으로 중요한 입력과 같은 입력 데이터를 RL 에이전트에 제공할 우선순위를 정할 수 있다. 비동기식, 분산 강화 학습, DQN 및 경험 리플레이를 활용하는 이들 실시형태는, 새로운 입력 데이터가 주어지면 더 빠르게 수렴하고 더 강력한 솔루션을 생성할 수 있다.
도 10을 참조하면, 개시된 주제의 일부 실시형태에 따라 제조 프로세스를 훈련시키기 위해 강화 학습을 사용하기 위한 일반화된 패러다임의 개략도의 예(1000)가 도시되어 있다.
도 10에 도시된 바와 같이, 도 10에 도시된 패러다임은 정책 기능 블록(1010)(), 노드 상태 측정 블록(1020)(), 및 최종 출력 측정 블록(1030)()을 포함한다. 일부 실시형태에서, 각각은 제어 루프를 통한 신호의 변환을 나타낼 수 있는 블록 매개변수일 수 있다는 점에 주목한다. 일부 이러한 실시형태에서, 각각의 블록 매개변수는 선형 또는 비선형 및/또는 추론된 또는 알려진 것일 수 있다. 각각의 블록에 대한 값과 매개변수를 설명하는 추가 세부사항은 아래에 설명되어 있다.
일부 실시형태에서, i는 노드를 나타낼 수 있고, 여기서 i는 0에서 N-1 사이의 값이다. 일부 실시형태에서, 개략도(1000)가 3D 인쇄 공정의 일부로서 구현되는 경우, N은 인쇄 물체의 층의 총 를 나타낼 수 있다는 점에 주목한다.
일부 실시형태에서, 개략도(1000)에 해당하는 제조 프로세스를 구현하는 생산 설비는 y = g(S)가 되도록 측정될 수 있는 스칼라 출력(scalar output)(y)를 생성할 수 있으며, 여기서 S는 가 되는 상태 세트이다. 일부 실시형태에서, 주어진 상태 측정치 세트에 대해, 출력 품질이 예측될 수 있고, 따라서 상태로부터 출력으로 함수가 매핑될 수 있다: . 일부 실시형태에서, 함수(f)는 시스템의 복잡성에 따라 다양한 형태를 취할 수 있다. 일부 실시형태에서, 매핑은 회귀 모델, 인공 신경망, 및/또는 다른 적절한 유형의 함수 근사자(function approximator)와 같은 범용 함수 근사자를 통해 달성될 수 있다. 일부 실시형태에서, 이고 인 k 개의 훈련 예의 세트에 대해, 손실 함수는 에 대해 로 정의될 수 있다. 일부 실시형태에서, 손실 함수는 함수 근사자의 출력이 시스템 프로세스의 출력을 정확하게 예측하도록 매개변수 세트()에 대해 모델 최적화의 기초()를 정의할 수 있다.
일부 실시형태에서, 학습될 프로세스는 마르코프 결정 프로세스(Markov Decision Process, MDP)이며, 여기서 미래 상태는 현재 상태(s i )에 대해 조건부이다. 일부 실시형태에서, 제조 프로세스는 제어 불가능한 시스템 역학을 갖는 부분적으로 관찰 가능한 MDP일 수 있고, 따라서 통상적으로 관찰 가능한 s i 는 조치를 통해 후속 상태의 예측된 보상을 최대화하는 데 필요한 정보를 완전히 인코딩하지 않는다. 일부 이러한 실시형태에서, 이러한 상태 의 벡터는 MDP의 시퀀스를 설명할 수 있다. 일부 실시형태에서, 주어진 프로세스에 대해, 이상적인 표준 출력()을 생성하는 표준 상태 세트()를 초래하는 이상적인 조치 세트가 존재한다. 일부 실시형태에서, 측정된 상태 오류의 크기는 로 계산될 수 있다. 일부 실시형태에서, 상태(s i )는 베이지안(Bayesian) 또는 칼만 필터(Kalman filter)를 사용하거나, CNN을 사용하는 복합 분류, 및/또는 다른 적절한 방식과 같은 임의의 적절한 기술 또는 기술의 조합을 사용하여 추정될 수 있다.
일부 실시형태에서, g(S)의 초기 시스템 식별 동안, 기대 분포(expectation distribution) 공식화뿐만 아니라 각각의 노드를 제어하는 재정적 비용의 고려가 이루어질 수 있다. 일부 실시형태에서, 기대 분포는 일 수 있다. 참고로, 일부 실시형태에서, 일부 노드(i)는 제한하는 데 더 많은 비용이 들 수 있고, 따라서 에 대한 에 대한 수정은 오류가 에서 유래한 미리 결정된 임계치보다 클 때 더 비용 효율적일 수 있으며, 여기서 이고, 는 허용 오차를 나타낸다. 일부 실시형태에서, 노드 상태(S T )를 제한함으로써, 전체 출력 품질()과 관련하여 이점이 얻어질 수 있으며, 여기서 프로세스의 최적화()가 반드시 를 산출하는 것은 아니다.
참고로, 가장 일반화된 구현에서, 0에서 N-1까지의 모든 노드(i)에 대해 이고, 이며 여기서 T(.)는 정책(π)에 의해 선택된 일부 조치(α i )의 결과이다. 즉, 일부 실시형태에서, 표준()으로부터의 측정된 상태(s i )의 임의의 편차는 표준 상태의 모든 후속 정의에 대한 조정을 초래할 수 있다. 일부 실시형태에서, 최적의 조치(α i )를 선택하기 위해 정책(π)를 사용하는 것은 일반적인 강화 패러다임과 일치한다. 일부 실시형태에서, 최적의 정책()에 대한 정책의 수렴은 에 대한 자유도에 의존할 수 있고, M 개의 가능한 조치 값에 대해 조치(α i )의 로의 이산화를 기반으로 할 수 있다.
일부 실시형태에서, 정책은 임의의 적절한 기술 또는 기술(들)의 조합을 사용하여 학습될 수 있다. 예를 들어, 일부 실시형태에서, 정책은 Q-학습과 같은 가치 반복(value-iteration) 방법을 사용하여 학습될 수 있다. 또 다른 예로서, 일부 실시형태에서, 정책은 액터-크리틱 방법(Actor-Critic method)과 같은 정책 반복 모델을 사용하여 학습될 수 있다.
일부 실시형태에서, 정책은 에 의해 정의될 수 있으며, 여기서 는 조치의 선택과 관련된 매개변수에 해당한다. 일부 실시형태에서, 표준 상태 벡터는 정책의 함수로서 작성될 수 있고, 따라서 이고, 프로세스의 출력은 에 의해 정의될 수 있다.
일부 실시형태에서, 프로세스의 오류는 로 정의될 수 있다.
일부 실시형태에서, 정책의 최적화는 에 의해 정의될 수 있고, 따라서 적절한 지속적 여기()와 함께 로 그리고 로 정의될 수 있다.
개략도(1000)에서, 프로세스 함수 근사자 및 수정 정책을 각각 정의하는 매개변수()는 추론에 유용하다는 점에 주목한다. 특히, 의 학습으로 인해, 프로세스의 가상 복제 및 에 적용되는 학습의 보다 엄격한 조정이 가능하며, 이는 비용이 많이 드는 프로세스 노드의 변동을 수정하기 위한 기본 모델 매개변수이다.
도 11A를 참조하면, 개시된 주제의 일부 실시형태에 따라 3D 프린터와 관련하여 구현될 수 있는 시정 조치를 수행하기 위해 인쇄 작업에 대해 강화 학습 알고리즘을 훈련시키기 위한 프로세스의 예(1100)가 도시되어 있다. 일부 실시형태에서, 프로세스(1100)는 도 10에 도시되고 위에서 설명된 일반화된 개략도에 도시된 기술을 구현하는 프로세스일 수 있다는 점에 주목한다.
일부 실시형태에서, (하나의 획득된 이미지에 대응하는) 각각의 노드는 인쇄 물체의 층에 대응할 수 있다. 일부 실시형태에서, 층의 매개변수는 상태에 대한 측정치뿐만 아니라 정책에 대한 작동 지점에 대응할 수 있다. 일부 실시형태에서, 매개변수는 압출기 노즐 온도, 압출된 플라스틱의 부피, 프린트 헤드의 운동 역학, 주변 환경 조건, 압출된 열가소성 수지의 재료 특성, 압출기 속도, 및/또는 다른 적절한 매개변수를 포함할 수 있다.
프로세스(1100)가 일반적으로 물체를 인쇄하는 동안 인장 강도를 수정하기 위한 시정 조치를 결정하기 위해 강화 알고리즘을 훈련시키는 것으로 설명되지만, 일부 실시형태에서, 프로세스(1100)와 관련하여 설명된 기술은 임의의 적절한 측정 또는 메트릭과 관련된 시정 조치를 결정하기 위해 구현될 수 있다는 점에 주목한다.
프로세스(1100)는 층의 이미지를 캡처함으로써 1110에서 시작할 수 있다. 일부 실시형태에서, 이미지는 임의의 적절한 크기 및/또는 해상도를 가질 수 있다 있다는 점에 주목한다.
1120에서, 프로세스(1100)는 1110에서 캡처된 이미지를 기반으로 물체의 특정 층에서 인쇄 물체 내의 오류를 검출할 수 있다. 일부 실시형태에서, 인쇄 물체의 층 이미지는 강화 학습 알고리즘의 훈련 중에 사용되는 훈련 반복에 대응할 수 있다는 점에 주목한다.
일부 실시형태에서, 프로세스(1100)는 도 11B에 도시된 바와 같이 신장율의 함수로서 인장 강도를 나타내는 중앙값 표준 시험 곡선에 추가로 접근할 수 있다는 점에 주목한다. 일부 실시형태에서, 오류가 있는 인쇄 물체는 도 11C에 도시된 바와 같이 보정되지 않은 중앙값 인장 곡선과 관련될 수 있다. 도 11C에서, 층(i=30)에 오류가 존재한다는 점에 주목한다. 또한, 일부 실시형태에서, 프로세스(1100)는 도 11C에 도시된 보정되지 않은 인장 곡선을 도 11B에 도시된 인장 곡선으로 되돌리는 시정 조치를 결정하도록 훈련될 수 있다는 점에 주목한다.
1130에서, 프로세스(1100)는 정책을 기반으로 오류를 수정하기 위해 프린터에 의해 행해질 인쇄 매개변수에 대한 변경을 결정할 수 있다. 일부 실시형태에서, 인쇄 매개변수에 대한 변경은 강화 학습 알고리즘에 의해 취해질 조치에 대응할 수 있다는 점에 주목한다. 추가로, 일부 실시형태에서, 정책은 임의의 적절한 방식으로 초기화될 수 있다는 점에 주목한다.
일부 실시형태에서, 인쇄 매개변수에 대한 변경은 압출된 플라스틱의 부피를 변경하기 위해 압출 승수(extrusion multiplier)를 결정하는 것과 같은 임의의 적합한 변경에 해당할 수 있다. 일부 실시형태에서, 변경의 시퀀스가 결정될 수 있으며, 시퀀스는 임의의 적절한 수(예를 들어, 1, 2, 3, 및/또는 다른 적절한 수)의 변경 또는 조치를 포함한다는 점에 주목한다. 예를 들어, 일부 실시형태에서, 프로세스(1100)는 α 1 , α 2 , 및 α 3 으로 표시된, 제공될 3 개의 압출 승수의 시퀀스를 결정할 수 있다. 조치 공간은 와 같은 적절한 방식 및/또는 다른 적절한 방식으로 정의될 수 있다는 점에 주목한다.
1140에서, 프로세스(1100)는 상태 정보를 결정할 수 있다.
일부 실시형태에서, 상태 앞에 마지막 조치가 추가될 수 있으며, 따라서 정책이 작용할 암묵적 기억(implicit memory)을 제공하는 동시에 노드 종속성의 추론을 허용하는 노드 값도 제공한다는 점에 주목한다. 일부 실시형태에서, 3D 인쇄의 적용된 경우, 이러한 종속성은, 이러한 기하학적 구조를 상태 정보로 명시적으로 인코딩하지 않고, 조치가 취해질 수 있는 다양한 층 구조로서 구체화될 수 있다. 일부 실시형태에서, 위에 나타낸 상태/조치 공식은, 각각의 상태가 인장 강도 편차를 수정하는 데 필요한 모든 것을 포함하도록 마르코프 가정의 강화를 유발할 수 있다.
일부 실시형태에서, 프로세스(1100)는 상태 정보에 대응하는 인장 강도를 계산할 수 있다. 예를 들어, 위에 주어진 예시적인 상태/조치 정보로 계속해서, 프로세스(1100)는 본원에서 라고 하는 인장 강도를 계산할 수 있다. 일부 실시형태에서, 인장 강도 오차는 표준 인장 강도를 기반으로 계산될 수 있다. 일부 실시형태에서, 인장 강도 오차는 본원에서 라고 한다.
1150에서, 프로세스(1100)는 상태 정보에 대응하는 보상을 계산할 수 있다. 일부 실시형태에서, 보상은 와 같은 보상 함수를 사용하여 계산될 수 있으며, 여기서 보상은 계수 α 및 β에 의해 가중된다.
일부 실시형태에서, 측정치가 인장 강도에서 보정될 경우, 인장 강도 보상(T s )이 계산될 수 있고, 여기서 T s 로 정의된다. 일부 실시형태에서, 이 정의는 표준 인장 강도 근처에서 불안정한 결과 없이 스케일링된 절대값, 쌍곡선 보상 곡선을 허용할 수 있는 일부 값(T s,max )에서의 포화를 나타낼 수 있다.
1160에서, 프로세스(1100)는 인쇄 매개변수의 변경(들)에 의해 생성된 상태에 대응하는 보상 값의 기대치를 계산할 수 있다. 상태/조치 쌍이 주어지면 보상에 대한 기대치는 일반적으로 본원에서 Q-값이라고 하며 로 정의될 수 있다는 점에 주목한다.
추가로, 시스템이 지연된 보상을 갖는 경우, 노드(i)당 개별 보상은, 임의의 조치(α i )가 (여기서 할인 계수는 0 < γ < 1임)에 의해 정의되는 관련 보상을 갖도록 임의의 적절한 방식으로 (예를 들어 벨만 방정식(Bellman equation)을 사용하여) 전파될 수 있다는 점에 주목한다.
일부 실시형태에서, Q-값 함수는 심층 Q-학습 접근법, 비동기식 방법 및 정책 업데이트를 위한 액터-크리틱 패러다임(예를 들어, 문헌(Mnih et al., "Asynchronous methods for deep reinforcement learning," International conference on machine learning, 2016, pp. 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, vol. 97(3), pp. 220-227)에 기술되고 본원에 그 전체가 참조로 포함됨)을 사용하거나, 및/또는 다른 적절한 방식과 같은 임의의 적절한 방식으로 최적화될 수 있다.
1170에서, 프로세스(1100)는 보상 값의 기대치를 기반으로 정책을 업데이트할 수 있다. 예를 들어 정책()은 에 의해 정의될 수 있다. 일부 실시형태에서, 정책은 Q-값을 사용하여 업데이트될 수 있다.
프로세스(1100)는 이후 강화 학습 알고리즘을 계속 훈련시키기 위해 1110으로 되돌아갈 수 있다.
일부 실시형태에서, 강화 학습 알고리즘이 훈련된 후, 훈련된 모델의 매개변수(예를 들어, Q-값 함수 및/또는 다른 적절한 매개변수)는 물체를 인쇄하는 동안 시정 조치를 수행하기 위해 임의의 적절한 인쇄 공정에 의해 사용될 수 있다는 점에 주목한다. 예를 들어, 일부 실시형태에서, 인쇄 중인 물체의 현재 층과 관련된 현재 상태가 (예를 들어, 층의 이미지를 캡처함으로써) 식별될 수 있고, 일련의 시정 조치가 Q-값 함수를 사용하여 인쇄 공정에 의해 식별될 수 있다. 일부 실시형태에서, 인쇄 물체의 후속 층에서 추가 시정 조치가 식별될 수 있다. 일부 실시형태에서, 강화 학습 알고리즘의 사용은, 인쇄 공정이 물체의 인쇄가 종료되어야 하는지 결정하고 및/또는 특정 층과 관련된 품질 점수를 계산할 수 있도록 하기 위해, 도 9와 관련하여 위에서 설명한 결함 분류기 및/또는 압출 분류기와 같은 다른 적절한 분류기와 결합될 수 있다는 점에 주목한다.
일부 실시형태에서, 3D 인쇄 환경에 대해 강화 학습 알고리즘을 구성하기 위해, 유한 요소 모델이 인장 상태의 인쇄된 부품을 나타내도록 구축될 수 있으며, 여기서 강성 행렬(stiffness matrix)은 정의된 기하학적 구조를 갖는 층에 압출된 플라스틱의 함수인 점에 주목한다. 일부 실시형태에서, 이 시뮬레이션은 하드웨어 구현 이전에 모델 매개변수(θa)의 최적화를 제어하는 하이퍼-파라미터를 조정하기 위한 가상 환경으로서 작용할 수 있다.
추가로, 일부 실시형태에서, 도 11과 관련하여 설명된 강화 학습 알고리즘은, 인쇄 물체가 넘어졌다든가, (예를 들어, 도 9와 관련하여 도시되고 위에서 설명된) 인쇄 오류 등과 같은 다른 적절한 정보를 추론할 수 있는 다른 적절한 알고리즘(들)과 결합될 수 있다는 점에 주목한다. 또한, 일부 실시형태에서, 강화 학습 알고리즘을 실행하는 에이전트는 검사 공정의 에너지와 시간을 최소화함으로써 검사를 위한 최적의 경로를 평가할 수 있다.
조치를 수행하고 결과적인 상태 및 보상을 결정하기 위한 특정 예가 아래에서 설명된다. 특정 예에서, 3D 프린터 그룹(예를 들어, 3, 4, 5, 6 및/또는 다른 적절한 수)은 작업자 그룹으로 초기화될 수 있으며, 도 12와 관련하여 도시되고 아래에 설명되는 강화 학습 모델의 훈련을 위한 병렬 데이터 수집에 사용될 수 있다. 또한, 특정 예에서, 각각의 3D 프린터는 특정 수(예를 들어, 500, 1000, 및/또는 다른 적절한 수)의 층으로 3D 물체를 인쇄할 수 있으며, 특정 층에서의 물체의 인장 강도가 표준 또는 예상 인장 강도로 유지되도록 인쇄 조건을 각각 변경하는 시정 조치를 취할 수 있다. 참고로, 인장 강도 및 표준 인장 강도를 설명하는 추가 세부사항은 도 11B 및 도 11C와 관련하여 도시되고 위에서 설명되어 있다.
도 12를 참조하면, 개시된 주제의 일부 실시형태에 따라 3D 프린터 그룹을 사용하여 강화 학습 모델을 훈련시키기 위한 프로세스의 예(1200)가 도시되어 있다. 여기에서는 3D 프린터 그룹 내의 각각의 3D 프린터를 작업자라고 하는 점에 주목한다. 일부 실시형태에서, 프로세스(1200)는 (예를 들어, 도 10 및 도 11과 관련하여 위에서 설명된) 강화 학습 알고리즘을 각각 실행하는 에이전트인 개별 작업자의 그룹을 사용할 수 있다. 일부 실시형태에서, 각각의 작업자는 가중치를 업데이트하는 글로벌 학습자(global learner)와 상호작용할 수 있고, 따라서 각각의 작업자는 글로벌 학습자로부터, 그리고 묵시적으로 그룹 내의 다른 작업자로부터 학습할 수 있다. 일부 실시형태에서, 작업자의 그룹은 임의의 적절한 수(예를 들어, 2, 3, 5, 10 및/또는 다른 적절한 수)의 작업자를 포함할 수 있고, 작업자 그룹 내의 각각의 작업자는 다른 3D 프린터에 해당할 수 있다.
프로세스(1200)는 글로벌 학습자를 초기화함으로써 1205에서 시작할 수 있고, 환경을 초기화할 수 있다.
일부 실시형태에서, 글로벌 학습자는 자비에 초기화(Xavier initialization)와 같은 임의의 적절한 초기화 기술(들)을 사용하여 가중치로 초기화될 수 있다. 일부 실시형태에서, 글로벌 학습자와 관련된 가중치는, 예를 들어 심층 Q 학습을 사용하여 및/또는 다른 적절한 방식으로, 글로벌 학습자 및 작업자 그룹 내의 개별 작업자를 훈련시키는 동안 학습되는 가중치에 해당할 수 있다는 점에 주목한다.
일부 실시형태에서, 환경은 임의의 적절한 인쇄 매개변수와 같은 인쇄 물체와 관련된 임의의 적절한 매개변수에 해당할 수 있다. 일부 실시형태에서, 환경은 임의의 적절한 방식으로 초기화될 수 있다. 예를 들어, 일부 실시형태에서 환경은 인쇄 물체에 대한 임의의 적절한 초기 매개변수를 사용하여 초기화될 수 있다.
1210에서, 프로세스(1200)는 작업자 그룹 및 전역 메모리를 초기화할 수 있다. 일부 실시형태에서, 프로세스(1200)는 본원에서 θ라고 하는 각각의 작업자와 관련된 가중치를 본원에서 θ+라고 하는 글로벌 학습자와 관련된 가중치로 설정함으로써 작업자 그룹 내의 각각의 작업자를 초기화할 수 있다. 추가로, 일부 실시형태에서, 프로세스(1200)는 본원에서 Δθ+라고 하는 글로벌 학습자와 관련된 가중치의 기울기를 0으로 설정할 수 있다. 일부 실시형태에서, 프로세스(1200)는 예를 들어 적절한 크기의 메모리를 할당함으로써 임의의 적절한 방식으로 전역 메모리를 초기화할 수 있다.
1220에서, 프로세스(1200)는, 각각의 작업자에 대해 현재 시간(t)에서, 환경에 대한 조치를 수행할 수 있다. 일부 실시형태에서, 프로세스(1200)는 임의의 적절한 방식으로 환경에 대한 조치를 수행할 수 있다. 예를 들어, 일부 실시형태에서, 프로세스(1200)는 본원에서 s t 라고 하는 시간(t)에서 환경의 현재 상태를 검색할 수 있다. 일부 실시형태에서, 프로세스(1200)는 시간(t)에서 취해질, 본원에서 α t 라고 하는 조치를 식별할 수 있다. 일부 실시형태에서, 프로세스(1200)는 임의의 적절한 방식으로 조치를 식별할 수 있다. 예를 들어, 일부 실시형태에서, 프로세스(1200)는 잠재적인 조치 그룹으로부터 선택된 무작위 조치가 확률()로 선택되어야 한다고, 또는 대안으로, 조치가 에 따라 선택되어야 한다고 결정할 수 있으며, 여기서 Q는 보상 기대치에 해당하는 Q-값 함수이다. 일부 실시형태에서, Q는 임의의 적절한 강화 학습 기술(들)을 사용하여 최적화될 수 있다는 점에 주목한다.
일부 실시형태에서, 조치(α t )를 선택한 후, 프로세스(1200)는 환경(E)에서 실행될 수 있고, 환경(E)에서의 실행 이후의 보상(r t ) 및 다음 상태(s t+1 )를 식별할 수 있다. 일부 실시형태에서, 보상 및 다음 상태는 압출 부피, (예를 들어, 도 9와 관련하여 위에서 설명된) 압출 품질 점수, (예를 들어, 도 9와 관련하여 위에서 설명된) 오류 또는 결합이 검출되었는지 여부, 측정치(예를 들어, 물체 일부의 무게, 물체 일부의 밀도, 및/또는 기타 적절한 시뮬레이션된 측정치) 및/또는 다른 적절한 정보와 같은 환경과 관련된 임의의 적합한 정보를 기반으로 할 수 있다.
조치를 수행하고 결과적인 상태 및 보상을 결정하기 위한 특정 예가 아래에서 설명된다. 특정 예에서, 3D 프린터 그룹(예를 들어, 3, 4, 5, 6 및/또는 다른 적절한 수)은 작업자 그룹으로 초기화될 수 있고, 강화 학습 모델을 훈련시키기 위한 병렬 데이터 수집에 사용될 수 있다. 또한, 특정 예에서, 각각의 3D 프린터는 특정 수(예를 들어, 500, 1000, 및/또는 다른 적절한 수)의 층으로 3D 물체를 인쇄할 수 있으며, 특정 층에서의 물체의 인장 강도가 표준 또는 예상 인장 강도로 유지되도록 인쇄 조건을 각각 변경하는 시정 조치를 취할 수 있다. 참고로, 인장 강도 및 표준 인장 강도를 설명하는 추가 세부사항은 도 11B 및 도 11C와 관련하여 도시되고 위에서 설명되어 있다.
특정 예에서, 3D 프린터 그룹 내의 3D 프린터는 이전 조치 및 상태를 나타내는 궤적의 인코딩된 이력으로 각각의 층의 매개변수의 함수인 상태(s t )를 식별할 수 있다. 그리고 나서 3D 프린터는 후속 층의 인쇄를 위한 인쇄 매개변수의 활성화에 대한 보정 승수(correction multiplier)일 수 있는 조치(α t )를 선택할 수 있다. 그리고 나서 보상(r t )이 계산될 수 있고, 여기서 r t α t 에 대한 관찰된 반응의 함수이다. 일부 실시형태에서, r t 를 사용하여 계산될 수 있다.
일부 실시형태에서, 조치의 결과는 인장 강도를 나타낼 수 있는 인장 인장 시험을 사용하여 결정될 수 있다.
일부 실시형태에서, 보상(r t )은 임의의 적절한 방식으로 각각의 조치(α t )에 대해 계산될 수 있다. 예를 들어, 일부 실시형태에서 r t 는 사용되는 제조 자원의 양(예를 들어, 플라스틱의 부피)의 함수일 수 있다. 또 다른 예로서, 일부 실시형태에서, (예를 들어, 인쇄 물체의 최종 층의 인쇄를 위한) 말단 s t 에 대한 보상(r t )은 최종 s t 에서 계산된 인장 강도를 기반으로 계산될 수 있다.
다시 도 12를 참조하면, 일부 실시형태에서, 프로세스(1200)는 또한 완료 플래그(done flag)가 설정되어야 하는지 여부를 결정할 수 있으며, 완료 플래그는 작업자가 모든 훈련 반복을 완료했음을 나타낸다.
1225에서, 프로세스(1200)는, 각각의 작업자에 대해, 상태 및 조치에 따른 보상으로 전역 메모리를 업데이트할 수 있다. 일부 실시형태에서, 프로세스(1200)는 임의의 적절한 방식으로 전역 메모리를 업데이트할 수 있다. 예를 들어, 일부 실시형태에서, 프로세스(1200)는 튜플(tuple)()이 전역 메모리에 첨부되게 할 수 있다. 일부 실시형태에서, 전역 메모리는 프로세스(1200)를 실행하는 장치 외부의 서버와 같은 임의의 적절한 위치 및/또는 다른 적절한 위치에 저장될 수 있다는 점에 주목한다.
일부 실시형태에서, 프로세스(1200)는 1220으로 되돌아갈 수 있고, 완료 플래그가 참(true)으로 설정될 때까지 1220 및 1225를 수행할 수 있다.
1230에서, 프로세스(1200)는, 각각의 작업자에 대해, 글로벌 학습자 가중치(θ+)를 기반으로 작업자 가중치(θ)를 업데이트할 수 있다. 일부 실시형태에서, 프로세스(1200)는 임의의 적절한 방식으로 작업자 가중치를 업데이트할 수 있다. 예를 들어, 일부 실시형태에서, 프로세스(1200)는 각각의 작업자에 대한 가중치를 글로벌 학습자 가중치로 설정할 수 있다.
1235에서, 프로세스(1200)는 각각의 작업자에 대해, 전역 메모리를 샘플링할 수 있고 샘플을 기반으로 글로벌 학습자 가중치를 업데이트할 수 있다. 일부 실시형태에서, 프로세스(1200)는 무작위로 선택된 미니-배치(mini-batch)의 튜플()을 검색할 수 있다. 일부 실시형태에서, 미니-배치는 임의의 적절한 크기(예를 들어, 10 개의 튜플, 100 개의 튜플, 500 개의 튜플, 및/또는 다른 적절한 크기)일 수 있다.
일부 실시형태에서, 프로세스(1200)는 상대적으로 더 큰 중요성을 갖는 것으로 결정되고 상대적으로 덜 빈번하게 발생하는 튜플의 우선순위를 정함으로써 전역 메모리를 샘플링할 수 있다는 점에 주목한다. 일부 이러한 실시형태에서, 전역 메모리에 저장된 각각의 튜플은 또한, 튜플에 포함된 대응하는 상태 전이의 우선순위를 나타내는 우선순위 플래그(p i )를 포함할 수 있다. 일부 실시형태에서, 프로세스(1200)는 에 따라 전역 메모리로부터 튜플을 샘플링할 수 있으며, 여기서 α는 상대적으로 높은 우선순위 플래그를 갖는 튜플이 얼마나 자주 선택되어야 하는지를 나타내는 가중치이다. 예를 들어, α=0인 경우 튜플은 균일한 분포로 무작위로 선택될 수 있고, α=1인 경우 우선순위가 가장 높은 튜플이 우선적으로 샘플링될 수 있다.
일부 실시형태에서, 프로세스(1200)는 임의의 적절한 방식으로 검색된 튜플을 기반으로 글로벌 학습자 가중치를 업데이트할 수 있다. 예를 들어, 일부 실시형태에서, 각각의 튜플에 대해, 프로세스(1200)는 목표 출력 값(y t )를 결정할 수 있으며, 여기서 이다. 이 예를 계속하면, 일부 실시형태에서, 프로세스(1200)는, y t 로 설정되도록, 보상을 기반으로 y t 를 수정할 수 있다. 이 예를 더 계속하면, 일부 실시형태에서, 프로세스(1200)는 Δθ+만큼 증가되도록 글로벌 학습자 가중치(Δθ+)에 대한 기울기를 계산할 수 있다. 일부 실시형태에서, 프로세스(1200)는 글로벌 학습자 가중치(Δθ+)에 대한 기울기를 기반으로 글로벌 학습자 가중치(θ+)를 업데이트할 수 있다.
1240에서, 프로세스(1200)는 글로벌 학습자를 계속 업데이트할지 여부를 결정할 수 있다. 일부 실시형태에서, 프로세스(1200)는 작업자 그룹에서 미리 결정된 수보다 많은 작업자(T MAX )가 대응하는 완료 플래그를 참으로 설정했는지 여부를 기반으로 글로벌 학습자를 계속 업데이트할지 여부를 결정할 수 있다. 즉, 일부 실시형태에서, 프로세스(1200)는 작업자 그룹 내의 미리 결정된 수보다 많은 작업자가 현재 훈련 시기를 완료했는지 여부를 기반으로 글로벌 학습자를 계속 업데이트할지 여부를 결정할 수 있다. 일부 실시형태에서, T MAX 의 값은 (예를 들어, 제조 환경과 관련된 정보를 기반으로) 임의의 적합한 정보를 기반으로 선택될 수 있고, 따라서 글로벌 학습자는 작업자 그룹 내의 하나 이상의 작업자가 튜플을 전역 메모리로 전송하는 데 지연되는 경우 계속 업데이트될 수 있다는 점에 주목한다. 일부 실시형태에서, T MAX 는 작업자 그룹 내의 작업자 수보다 작거나 같은 임의의 적절한 값일 수 있다.
1240에서, 프로세스(1200)가 글로벌 학습자를 계속 업데이트해야 한다고 프로세스(1200)가 결정하는 경우(1240에서 "예"), 프로세스(1200)는 1220으로 되돌아갈 수 있다.
1240에서, 글로벌 학습자가 업데이트되어서는 안 된다고 프로세스(1200)가 결정하는 경우, 프로세스(1200)는 1245에서 환경을 수정할 수 있다. 일부 실시형태에서, 프로세스(1200)는 임의의 적절한 방식으로 환경을 수정할 수 있다. 예를 들어, 일부 실시형태에서, 프로세스(1200)는 취해진 조치를 기반으로 인쇄 물체의 특정 층에 대응하는 환경의 매개변수를 수정할 수 있다. 더 구체적인 예로서, 일부 실시형태에서, 프로세스(1200)는 압출 속도, 압출 부피, 압출기 헤드의 동작 속도, 압출기 노즐의 온도, 및/또는 다른 적절한 인쇄 매개변수와 같은 인쇄 매개변수를 수정할 수 있다.
일부 실시형태에 따라, 적층 제조에서 인공 지능 공정 제어를 위한 시스템, 방법 및 매체가 제공된다. 보다 구체적으로, 일부 실시형태에서, 적층 제조 시스템이 제공되며, 시스템은: 적층 방식으로 물체를 인쇄하도록 구성된 프린트 헤드와; 물체의 인쇄 층의 표면에 조명을 제공하기 위한 조명원과; 인쇄 층의 이미지를 캡처하도록 구성된 이미지 센서; 및 적어도 하나의 하드웨어 프로세서를 포함하고, 하드웨어 프로세서는: 캡처 이미지를 수신하고; 인쇄 층의 3차원 지형 이미지를 생성하고; 제 1 인공 지능 알고리즘을 사용하여, 생성된 지형 이미지로부터 인쇄 층의 이상을 식별하고; 제 2 인공 지능 알고리즘을 사용하여, 식별된 이상과 하나 이상의 인쇄 매개변수 사이의 상관관계를 결정하고; 및 하나 이상의 인쇄 매개변수에 값을 할당하도록 구성된다.
일부 실시형태에서, 적층 제조 방법이 제공되며, 방법은: 적층 방식으로 인쇄 물체의 인쇄 층의 이미지를 캡처하도록 구성된 이미지 센서에 의해 생성된 캡처 이미지를 수신하는 단계와; 하드웨어 프로세서를 사용하여 인쇄 층의 3차원 지형 이미지를 생성하는 단계와; 제 1 인공지능 알고리즘을 이용하여, 생성된 지형 이미지로부터 인쇄 층의 이상을 식별하는 단계와; 제 2 인공 지능 알고리즘을 사용하여, 식별된 이상과 하나 이상의 인쇄 매개변수 사이의 상관관계를 결정하는 단계; 및 하나 이상의 인쇄 매개변수에 값을 할당하는 단계를 포함한다.
일부 실시형태에서, 프로세서에 의해 실행될 때, 프로세서로 하여금 적층 제조 방법을 수행하도록 하는 컴퓨터 실행 가능 명령을 포함하는 비일시적 컴퓨터 판독 가능 매체가 제공되며, 방법은: 적층 방식으로 인쇄 물체의 인쇄 층의 이미지를 캡처하도록 구성된 이미지 센서에 의해 생성된 캡처 이미지를 수신하는 단계와; 인쇄 층의 3차원 지형 이미지를 생성하는 단계와; 제 1 인공지능 알고리즘을 이용하여, 생성된 지형 이미지로부터 인쇄 층의 이상을 식별하는 단계와; 제 2 인공 지능 알고리즘을 사용하여, 식별된 이상과 하나 이상의 인쇄 매개변수 사이의 상관관계를 결정하는 단계; 및 하나 이상의 인쇄 매개변수에 값을 할당하는 단계를 포함한다.
일부 실시형태에서, 본원에 설명된 기능 및/또는 프로세스를 수행하기 위한 명령을 저장하기 위해 임의의 적합한 컴퓨터 판독 가능 매체가 사용될 수 있다. 예를 들어, 일부 실시형태에서, 컴퓨터 판독 가능 매체는 일시적이거나 비일시적일 수 있다. 예를 들어, 비일시적 컴퓨터 판독 가능 매체는 비일시적 자기 매체(예를 들어, 하드 디스크, 플로피 디스크 등), 비일시적 광학 매체(예를 들어, 콤팩트 디스크, 디지털 비디오 디스크, 블루레이 디스크 등), 비일시적 반도체 매체(예를 들어, 플래시 메모리, 전기적 프로그램 가능 판독 전용 메모리(electrically programmable read only memory, EPROM), 전기적 소거 및 프로그램 가능 판독 전용 메모리(electrically erasable programmable read only memory, EEPROM) 등), 전송 동안 일시적이지 않거나 또는 영속성의 외관이 전혀 없지는 않은 임의의 적합한 매체 및/또는 적합한 유형의 매체와 같은 매체를 포함할 수 있다. 또 다른 예로서, 일시적 컴퓨터 판독 가능 매체는 네트워크, 와이어, 전도체, 광섬유, 회로, 및 전송 동안 일시적이고 영속성의 외관이 전혀 없는 임의의 적합한 매체 및/또는 임의의 적합한 무형 매체 상의 신호를 포함할 수 있다.
본원에 설명된 예의 제공(및 "~와 같은," "예를 들어", "포함하는" 등으로 표현되는 절)은 청구된 주제를 특정 예로 제한하는 것으로 해석되어서는 안 되고; 오히려, 예는 가능한 많은 양태 중 일부만을 설명하기 위한 것이다. 본 기술 분야의 숙련자는 메커니즘이라는 용어가 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 적합한 조합을 포함할 수 있다는 것을 인식할 것이다.
적층 제조 시스템 및 방법은 이러한 예시된 실시형태를 구체적으로 참조하여 상세하게 설명되었다. 그러나, 상기한 명세서에서 설명된 본 개시의 사상 및 범위 내에서 다양한 수정 및 변경이 이루어질 수 있으며, 이러한 수정 및 변경은 본 개시의 등가물 및 일부로 간주되어야 한다는 것이 명백할 것이다. 본 발명의 범위는 다음의 청구 범위에 의해서만 제한된다.

Claims (18)

  1. 적층 방식으로 물체를 인쇄하도록 구성된 프린트 헤드와;
    물체의 인쇄 층의 이미지를 캡처하도록 구성된 이미지 센서; 및
    적어도 하나의 하드웨어 프로세서를 포함하는 적층 제조 시스템으로서, 하드웨어 프로세서는:
    캡처 이미지를 수신하고;
    캡처 이미지를 샘플링하여 캡처 이미지의 저해상도 버전을 생성하고;
    결함 분류기를 캡처 이미지의 저해상도 버전에 적용하고;
    결함 분류기로부터 획득된 분류를 기반으로, 물체의 인쇄 층에 복구 불가능한 결함이 존재하지 않는다는 것을 결정하고;
    인쇄 층에 복구 불가능한 결함이 존재하지 않는다는 결정에 대응하여, 캡처 이미지의 저해상도 버전의 잘린 버전을 생성하고;
    이진 오류 분류기를 캡처 이미지의 저해상도 버전의 잘린 버전에 적용하고;
    이진 오류 분류기로부터 획득된 분류를 기반으로, 물체의 인쇄 층에 오류가 존재한다는 것을 결정하고;
    물체의 인쇄 층에 오류가 존재한다는 결정에 대응하여, 압출 분류기를 캡처 이미지에 적용하고, 여기서 압출 분류기는 물체의 인쇄 층 내의 재료의 압출 품질을 나타내는 압출 품질 점수를 생성하고; 및
    인쇄 물체의 후속 층을 인쇄하기 위해 압출 품질 점수를 기반으로 프린트 헤드의 매개변수의 값을 조정하도록 구성되는, 적층 제조 시스템.
  2. 제 1 항에 있어서,
    캡처 이미지의 저해상도 버전의 잘린 버전은 압출 품질 점수를 나타내는 특징적인 인쇄 패턴으로서의 메쉬(mesh) 패턴을 포함하는 관심 영역을 식별함으로써 생성되는, 적층 제조 시스템.
  3. 제 1 항에 있어서,
    하드웨어 프로세서는:
    인쇄 물체의 후속 층의 제 2 캡처 이미지를 수신하고;
    제 2 캡처 이미지를 샘플링하여 제 2 캡처 이미지의 저해상도 버전을 생성하고;
    결함 분류기를 제 2 캡처 이미지의 저해상도 버전에 적용하고;
    결함 분류기로부터 획득된 제 2 분류를 기반으로, 물체의 후속 층에 복구 불가능한 결함이 존재한다는 것을 결정하고; 및
    후속 층에 복구 불가능한 결함이 존재한다는 결정에 대응하여, 물체의 인쇄를 종료하도록 더 구성되는, 적층 제조 시스템.
  4. 제 1 항에 있어서,
    결함 분류기는 합성곱 신경망(Convolutional Neural Network; CNN)을 포함하는, 적층 제조 시스템.
  5. 제 1 항에 있어서,
    압출 분류기는 다수의 CNN을 포함하는, 적층 제조 시스템.
  6. 제 1 항에 있어서,
    프린트 헤드의 매개변수는 압출 부피인, 적층 제조 시스템.
  7. 적층 제조 시스템을 위한 방법으로서, 방법은:
    물체의 인쇄 층의 이미지를 수신하는 단계와;
    이미지를 샘플링하여 이미지의 저해상도 버전을 생성하는 단계와;
    결함 분류기를 이미지의 저해상도 버전에 적용하는 단계와;
    결함 분류기로부터 획득된 분류를 기반으로, 물체의 인쇄 층에 복구 불가능한 결함이 존재하지 않는다는 것을 결정하는 단계와;
    인쇄 층에 복구 불가능한 결함이 존재하지 않는다는 결정에 대응하여, 이미지의 저해상도 버전의 잘린 버전을 생성하는 단계와;
    이진 오류 분류기를 이미지의 저해상도 버전의 잘린 버전에 적용하는 단계와;
    이진 오류 분류기로부터 획득된 분류를 기반으로, 물체의 인쇄 층에 오류가 존재한다는 것을 결정하는 단계와;
    물체의 인쇄 층에 오류가 존재한다는 결정에 대응하여, 압출 분류기를 이미지에 적용하는 단계로서, 압출 분류기는 물체의 인쇄 층 내의 재료의 압출 품질을 나타내는 압출 품질 점수를 생성하는, 단계; 및
    인쇄 물체의 후속 층을 인쇄하기 위해 압출 품질 점수를 기반으로 프린트 헤드의 매개변수의 값을 조정하는 단계를 포함하는, 방법.
  8. 제 7 항에 있어서,
    이미지의 저해상도 버전의 잘린 버전은 압출 품질 점수를 나타내는 특징적인 인쇄 패턴으로서의 메쉬 패턴을 포함하는 관심 영역을 식별함으로써 생성되는, 방법.
  9. 제 7 항에 있어서,
    인쇄 물체의 후속 층의 제 2 이미지를 수신하는 단계와;
    제 2 이미지를 샘플링하여 제 2 이미지의 저해상도 버전을 생성하는 단계와;
    결함 분류기를 제 2 이미지의 저해상도 버전에 적용하는 단계와;
    결함 분류기로부터 획득된 제 2 분류를 기반으로, 물체의 후속 층에 복구 불가능한 결함이 존재한다는 것을 결정하는 단계; 및
    후속 층에 복구 불가능한 결함이 존재한다는 결정에 대응하여, 물체의 인쇄를 종료하는 단계를 더 포함하는 방법.
  10. 제 7 항에 있어서,
    결함 분류기는 합성곱 신경망(CNN)을 포함하는, 방법.
  11. 제 7 항에 있어서,
    압출 분류기는 다수의 CNN을 포함하는, 방법.
  12. 제 7 항에 있어서,
    프린트 헤드의 매개변수는 압출 부피인, 방법.
  13. 프로세서에 의해 실행될 때, 프로세서로 하여금 적층 제조를 위한 방법을 수행하도록 하는 컴퓨터 실행 가능 명령들을 포함하는 비일시적 컴퓨터 판독 가능 매체로서, 방법은:
    물체의 인쇄 층의 이미지를 수신하는 단계와;
    이미지를 샘플링하여 이미지의 저해상도 버전을 생성하는 단계와;
    결함 분류기를 이미지의 저해상도 버전에 적용하는 단계와;
    결함 분류기로부터 획득된 분류를 기반으로, 물체의 인쇄 층에 복구 불가능한 결함이 존재하지 않는다는 것을 결정하는 단계와;
    인쇄 층에 복구 불가능한 결함이 존재하지 않는다는 결정에 대응하여, 이미지의 저해상도 버전의 잘린 버전을 생성하는 단계와;
    이진 오류 분류기를 이미지의 저해상도 버전의 잘린 버전에 적용하는 단계와;
    이진 오류 분류기로부터 획득된 분류를 기반으로, 물체의 인쇄 층에 오류가 존재한다는 것을 결정하는 단계와;
    물체의 인쇄 층에 오류가 존재한다는 결정에 대응하여, 압출 분류기를 이미지에 적용하는 단계로서, 압출 분류기는 물체의 인쇄 층 내의 재료의 압출 품질을 나타내는 압출 품질 점수를 생성하는, 단계; 및
    인쇄 물체의 후속 층을 인쇄하기 위해 압출 품질 점수를 기반으로 프린트 헤드의 매개변수의 값을 조정하는 단계를 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  14. 제 13 항에 있어서,
    이미지의 저해상도 버전의 잘린 버전은 압출 품질 점수를 나타내는 특징적인 인쇄 패턴으로서의 메쉬 패턴을 포함하는 관심 영역을 식별함으로써 생성되는, 비일시적 컴퓨터 판독 가능 매체.
  15. 제 13 항에 있어서,
    방법은:
    인쇄 물체의 후속 층의 제 2 이미지를 수신하는 단계와;
    제 2 이미지를 샘플링하여 제 2 이미지의 저해상도 버전을 생성하는 단계와;
    결함 분류기를 제 2 이미지의 저해상도 버전에 적용하는 단계와;
    결함 분류기로부터 획득된 제 2 분류를 기반으로, 물체의 후속 층에 복구 불가능한 결함이 존재한다는 것을 결정하는 단계; 및
    후속 층에 복구 불가능한 결함이 존재한다는 결정에 대응하여, 물체의 인쇄를 종료하는 단계를 더 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  16. 제 13 항에 있어서,
    결함 분류기는 합성곱 신경망(CNN)을 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  17. 제 13 항에 있어서,
    압출 분류기는 다수의 CNN을 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  18. 제 13 항에 있어서,
    프린트 헤드의 매개변수는 압출 부피인, 비일시적 컴퓨터 판독 가능 매체.
KR1020217037371A 2019-04-19 2020-04-20 적층 제조에서 인공 지능 공정 제어를 위한 시스템, 방법 및 매체 KR102584982B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237033202A KR20230142650A (ko) 2019-04-19 2020-04-20 적층 제조에서 인공 지능 공정 제어를 위한 시스템, 방법 및 매체

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962836213P 2019-04-19 2019-04-19
US201962836199P 2019-04-19 2019-04-19
US201962836202P 2019-04-19 2019-04-19
US62/836,213 2019-04-19
US62/836,202 2019-04-19
US62/836,199 2019-04-19
PCT/US2020/029020 WO2020215093A1 (en) 2019-04-19 2020-04-20 Systems, methods, and media for artificial intelligence process control in additive manufacturing

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020237033202A Division KR20230142650A (ko) 2019-04-19 2020-04-20 적층 제조에서 인공 지능 공정 제어를 위한 시스템, 방법 및 매체

Publications (2)

Publication Number Publication Date
KR20210154202A KR20210154202A (ko) 2021-12-20
KR102584982B1 true KR102584982B1 (ko) 2023-10-04

Family

ID=72837643

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020237033202A KR20230142650A (ko) 2019-04-19 2020-04-20 적층 제조에서 인공 지능 공정 제어를 위한 시스템, 방법 및 매체
KR1020217037371A KR102584982B1 (ko) 2019-04-19 2020-04-20 적층 제조에서 인공 지능 공정 제어를 위한 시스템, 방법 및 매체

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020237033202A KR20230142650A (ko) 2019-04-19 2020-04-20 적층 제조에서 인공 지능 공정 제어를 위한 시스템, 방법 및 매체

Country Status (5)

Country Link
EP (1) EP3921711B1 (ko)
JP (2) JP7255919B2 (ko)
KR (2) KR20230142650A (ko)
CN (1) CN113728285B (ko)
WO (1) WO2020215093A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019209318A1 (en) * 2018-04-27 2019-10-31 Hewlett-Packard Development Company, L.P. 3-d printing batch analysis
CN114927175B (zh) * 2022-05-11 2023-05-02 四川大学 一种用于材料拉伸本构参数拟合的高通量计算方法
SE2250597A1 (en) * 2022-05-19 2023-11-20 Cellink Bioprinting Ab Multi-sensor evaluation of a printing process
CN115157684B (zh) * 2022-07-21 2024-05-28 中山市嘉宝日用制品有限公司 Pc制品的3d打印工艺
CN116540955B (zh) * 2023-04-21 2024-07-12 成都飞机工业(集团)有限责任公司 一种增材制造打印中断故障处理方法、介质和设备
CN117340280B (zh) * 2023-12-05 2024-02-13 成都斐正能达科技有限责任公司 一种lpbf增材制造过程监测方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180341248A1 (en) * 2017-05-24 2018-11-29 Relativity Space, Inc. Real-time adaptive control of additive manufacturing processes using machine learning

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2714441C2 (de) * 1976-04-15 1986-04-24 Xerox Corp., Rochester, N.Y. Steuersystem für elektrostatographische Geräte
JPS5345359A (en) * 1976-10-06 1978-04-24 Toyo Seisan Kagaku Kenkiyuushi Method of production of synthetic resinn porcelain laminar composite
US6501849B1 (en) * 1997-09-02 2002-12-31 General Electric Company System and method for performing image-based diagnosis over a network
US9855698B2 (en) * 2013-08-07 2018-01-02 Massachusetts Institute Of Technology Automatic process control of additive manufacturing device
US9724876B2 (en) * 2013-12-13 2017-08-08 General Electric Company Operational performance assessment of additive manufacturing
JP6362443B2 (ja) * 2014-06-13 2018-07-25 国立研究開発法人物質・材料研究機構 エレクトロクロミック膜の成膜方法、エレクトロクロミック膜及びエレクトロクロミック膜被膜導電体層付き基板
WO2016040453A1 (en) * 2014-09-10 2016-03-17 The Exone Company Three-dimensional printing progress verification methods and apparatuses
US10335991B2 (en) * 2015-12-08 2019-07-02 Xerox Corporation System and method for operation of multi-nozzle extrusion printheads in three-dimensional object printers
US10648924B2 (en) * 2016-01-04 2020-05-12 Kla-Tencor Corp. Generating high resolution images from low resolution images for semiconductor applications
GB2549071B (en) * 2016-03-23 2020-11-11 Sony Interactive Entertainment Inc 3D printing system
JP6765666B2 (ja) * 2016-07-12 2020-10-07 学校法人慶應義塾 立体物製造装置、立体物製造方法及びプログラム
WO2018127827A1 (en) * 2017-01-05 2018-07-12 Yona Itamar Izhak Systems and methods for automatic three-dimensional object printing
US20180297114A1 (en) * 2017-04-14 2018-10-18 Desktop Metal, Inc. Printed object correction via computer vision
EP3459715A1 (en) * 2017-09-26 2019-03-27 Siemens Aktiengesellschaft Method and apparatus for predicting the occurrence and type of defects in an additive manufacturing process

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180341248A1 (en) * 2017-05-24 2018-11-29 Relativity Space, Inc. Real-time adaptive control of additive manufacturing processes using machine learning

Also Published As

Publication number Publication date
EP3921711B1 (en) 2024-02-14
CN113728285B (zh) 2023-12-19
KR20230142650A (ko) 2023-10-11
JP2023089006A (ja) 2023-06-27
CN113728285A (zh) 2021-11-30
JP2022526033A (ja) 2022-05-20
EP3921711A1 (en) 2021-12-15
JP7255919B2 (ja) 2023-04-11
WO2020215093A1 (en) 2020-10-22
EP3921711A4 (en) 2022-11-02
KR20210154202A (ko) 2021-12-20

Similar Documents

Publication Publication Date Title
US11731368B2 (en) Systems, methods, and media for artificial intelligence process control in additive manufacturing
CN112118949B (zh) 增材制造中用于人工智能反馈控制的***、方法和介质
KR102584982B1 (ko) 적층 제조에서 인공 지능 공정 제어를 위한 시스템, 방법 및 매체
Jin et al. Autonomous in-situ correction of fused deposition modeling printers using computer vision and deep learning
EP3495904A1 (en) Method and apparatus for predicting manufacturing parameters of a product to be manufactured in a 3d-printing process
US20220281177A1 (en) Ai-powered autonomous 3d printer
CN113613813A (zh) 基于热模型和传感器数据在增材制造过程中校正构建参数的***和方法
WO2023205431A1 (en) Distortion prediction for additive manufacturing using image analysis
JP2021013996A (ja) ロボットシステムの制御方法、物品の製造方法、生産システム、制御プログラム、記録媒体、およびロボットシステム
WO2023180731A1 (en) Method, apparatus and system for closed-loop control of a manufacturing process
WO2022158060A1 (ja) 加工面判定装置、加工面判定プログラム、加工面判定方法、加工システム、推論装置、及び、機械学習装置
TWI845406B (zh) 加成製造中人工智慧反饋控制系統、方法及媒介
Imran et al. In-Situ Process Monitoring and Defects Detection Based on Geometrical Topography With Streaming Point Cloud Processing in Directed Energy Deposition
US20220230292A1 (en) Machine learning and computer vision based 3d printer monitoring systems and related methods

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant