一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于增材制造中人工智能过程控制的系统、方法以及介质与流程

2021-11-30 21:35:00 来源:中国专利 TAG:


1.本公开涉及用于在增材制造中提供人工智能过程控制的机制。


背景技术:

2.增材制造系统,例如3d打印机和细胞打印机,广泛用于沉积多层天然、合成或生物材料,以通过挤出、烧结、光聚合、机械合成或电流体动力的过程制造物体。增材制造的过程通过层沉积过程制造物体,其中,增材制造打印机不断添加连续的层,直到打印的物体完成。
3.通常,由增材制造打印机打印的物体基于生产设计。可以使用三维建模软件(例如,cad程序)为物体创建符合所需规格的生产设计。然后,切片程序可以将生产设计转换为数字控制代码(例如,g代码),该代码将设计划分为多个层,然后可用于指示增材制造打印机打印生产设计的每一层的物理表示。增材制造的目标是打印出符合生产设计的规格的物体。
4.依据生产设计的尺寸和复杂性,打印的物体可能需要几个小时到几天的时间才能完成。当前的增材制造系统在可以提供的反馈类型以及在打印的物体的每层后可以采取的校正动作方面受到限制。通常在打印完整个物体之前不会提供反馈。当在物体的打印过程中提供反馈时,通常是为了确定是停止还是继续打印物体。
5.在一些增材制造系统中,当光照射在物体上时,由打印的物体产生的阴影提供反馈。这种方法是有限的,因为阴影阻碍了打印的物体的区域并阻止了精确的反馈。增材制造中的精确的反馈有助于保持质量和可重复的打印的物体。
6.因此,希望为物体的每个打印层提供人工智能过程控制(aipc),使得可以在物体的打印过程中及时采取校正动作。还希望提供aipc以实现打印物体所需的机械、光学和/或电气特性,并且实现与其生产设计非常相似的打印的物体,或改进生产设计。


技术实现要素:

7.根据一些实施例,提供了用于增材制造中的人工智能过程控制的系统、方法以及介质。在一些实施例中,系统包括:打印头,被配置为以逐层方式打印物体;图像传感器,配置为捕获物体的打印层的图像;硬件处理器,被配置为接收捕获图像;对捕获图像采样以生成捕获图像的低分辨率版本;将训练的故障分类器应用于捕获图像的低分辨率版本;基于根据故障分类器获得的分类,确定物体的打印层中不存在不可恢复的故障;响应于确定打印层中不存在不可恢复的故障,生成捕获图像的低分辨率版本的裁剪版本;将训练的二进制误差分类器应用于捕获图像的低分辨率版本的裁剪版本;基于从二进制误差分类器获得的分类,确定物体的打印层中存在误差;响应于确定物体的打印层中存在误差,将训练的挤压分类器应用于捕获图像,其中,训练的挤压分类器生成挤压质量分数,挤压质量分数指示物体的打印层中材料的挤压的质量;并且基于挤压质量分数调整打印头的参数的值以打印打印的物体的后续层。
8.在一些实施例中,提供用于增材制造的方法,该方法包括:接收捕获图像;对捕获图像采样以生成捕获图像的低分辨率版本;将训练的故障分类器应用于捕获图像的低分辨率版本;基于从故障分类器获得的分类,确定物体的打印层中不存在不可恢复的故障;响应于确定打印层中不存在不可恢复的故障,生成捕获图像的低分辨率版本的裁剪版本;将训练的二进制误差分类器应用于捕获图像的低分辨率版本的裁剪版本;基于从二进制误差分类器获得的分类,确定物体的打印层中存在误差;响应于确定物体的打印层中存在误差,将训练的挤压分类器应用于捕获图像,其中,训练的挤压分类器生成挤压质量分数,挤压质量分数指示物体的打印层中材料的挤压的质量;并且基于挤压质量分数调整打印头的参数的值以打印打印的物体的后续层。
9.在一些实施例中,提供包含计算机可执行指令的非暂时性计算机可读介质,当由处理器执行时,这些指令使处理器执行提供的用于增材制造的方法,该方法包括:对捕获图像采样以生成捕获图像的低分辨率版本;将训练的故障分类器应用于捕获图像的低分辨率版本;基于从故障分类器获得的分类,确定物体的打印层中不存在不可恢复的故障;响应于确定打印层中不存在不可恢复的故障,生成捕获图像的低分辨率版本的裁剪版本;将训练的二进制误差分类器应用于捕获图像的低分辨率版本的裁剪版本;基于从二进制误差分类器获得的分类,确定物体的打印层中存在误差;响应于确定物体的打印层中存在误差,将训练的挤压分类器应用于捕获图像,其中,训练的挤压分类器生成挤压质量分数,挤压质量分数指示物体的打印层中材料的挤压的质量;并且基于挤压质量分数调整打印头的参数的值以打印打印物体的后续层。
附图说明
10.图1是根据一些实施例的增材制造系统的示例。
11.图2是根据一些实施例的可以与增材制造打印机一起使用的相机和光源的示例。
12.图3是根据一些实施例的用于操作员将打印参数输入到数字控制代码生成器中的界面的示例。
13.图4是根据一些实施例的一个打印层的图像的示例,示出了可以捕获的沉积细丝中非预期的间隙。
14.图5a、图5b以及图5c是根据一些实施例的各种打印层的图像的示例,示出了可以捕获的打印层中的非预期的线状伪影和其他的破坏。
15.图6是根据一些实施例的增材制造打印操作(高水平)的示例。
16.图7a是根据一些实施例的模拟用于可以包括在数字控制代码中的打印层的一组设定点的示例。
17.图7b是根据一些实施例的模拟遍历的打印路径可能看起来像什么的示例。
18.图8是根据一些实施例的一个训练过程的示例,示出了基于不同的填充密度和填充模式学习异常模式和异常率,以及那些异常模式和异常率如何影响打印物体的机械特性。
19.图9示出了根据本主题的一些实施例的在打印过程中应用分类器的示例过程,该分类器用于识别打印物体中的不可恢复故障和误差。
20.图10示出了根据本主题的一些实施例的在打印物体的打印过程中使用强化学习
来修改打印参数的示例示意图。
21.图11a示出了根据本主题的一些实施例的用于训练强化学习算法的过程的示例,该强化学习算法是用于在打印物体的打印过程中修改打印参数。
22.图11b和图11c示出了根据所公开主题的一些实施例的规范拉伸曲线和未校正拉伸曲线的示例。
23.图12示出了根据本主题的一些实施例的用于训练强化学习算法的过程的示例,该强化学习算法用于在使用一组3d打印机(也称为工作器)打印物体的打印过程中修改打印参数。
具体实施方式
24.根据所公开主题的一些实施例,提供用于增材制造人工智能过程控制(aipc)的机制(其可以包括系统、方法、设备、装置,等等)。例如,aipc可用于优化增材制造系统的打印参数,以实现与生产设计相比打印物体所需的机械、光学和/或电气特性和/或所需的精度。aipc还可用于识别打印层中的异常并在打印过程中采取校正动作。
25.如本文公开的,在一些实施例中,人工智能可用于从本文描述的增材制造中学习和改进,并输出反馈、信息、数据和/或指令(这种学习、改进以及输出此类信息、数据和/或指令的过程在本文称为“aipc”)。人工智能算法/机器学习模型可以单独地或组合地包括以下的一项或更多项:强化学习;隐马尔科夫模型;循环神经网络;卷积神经网络;贝叶斯符号方法;生成对抗网络;支持向量机;和/或任何其他合适的人工智能算法。虽然aipc基于ai算法,但aipc也可以使用在增材制造过程中收集的不基于人工智能算法的数据。
26.图1是根据所公开主题的一些实施例的可以实施aipc的增材制造系统100的示例。根据一些实施例,增材制造系统100的高水平的基础部件包括数字控制代码生成器110、增材制造打印机115、图像生成器170以及图像分析器180。增材制造打印机115可以包括图像传感器120、光源130、打印头140、细丝供应系统145、构建板150以及控制模块160。用于增材制造系统100的部件的功能可以被组合成单个部件或分布在多个部件中。在一些实施例中,一些部件(例如,数字控制代码生成器110、图像生成器170和/或图像分析器180)的功能可以从增材制造打印机115远程执行。
27.注意到,增材制造系统100可以包括未示出的其他合适的部件。附加地或替代地,可以省略包括在增材制造系统100中的一些部件。
28.尽管以下描述涉及将aipc与熔融沉积建模增材制造打印机一起使用,但在一些实施例中,本文描述的aipc可与任何合适的3

d打印技术一起使用,3

d打印技术包括立体光刻(sla)、电子束熔化、直接金属沉积(电流体动力学打印)以及选择性激光烧结。
29.在一些实施例中,增材制造打印机115可以包括一个或更多个图像传感器120,用于在打印过程中捕获图像和/或视频。图像传感器120可以被配置为在打印物体的每层的同时和/或之后捕获物体的图像(或视频)。图像传感器120可以是,例如电荷耦合器件(charge coupled device,ccd)或如可用于数码静态相机和/或摄像机中的互补金属氧化物半导体(complementary metal oxide semiconductor,cmos)传感器。图像传感器120还可包括用于捕获物体的热图像和/或视频并执行温度计算的红外(infrared,ir)相机。图像传感器120可以相对于构建板150和/或打印头140位于不同的位置和角度。
30.在一些实施例中,增材制造打印机115可以包括单个光源130或多个光源(例如,多光矢量),位于相对于构建板150和/或相对于图像传感器120的不同位置和角度(例如,光源可以环绕图像传感器120定位)。照明可以根据使用的光源尺寸、数量和/或照明的位置和角度而变化。照明可用于照亮物体的打印层,使得图像传感器120可以捕获物体的图像和/或视频。
31.如本文结合图像生成器170讨论的,捕获的图像和/或视频可以被存储在存储器中并且可以被用于创建打印层的三维地形图像和/或其他合适的图像。
32.图2示出了可以与增材制造打印机115一起使用的相机120和光源130的示例。图2包括由放置在led支架230中的发光二极管(led)环210围绕的相机120。在一些实施例中,控制模块160控制led环210内的各个led,确定应该点亮哪些led。led环210内的各个led的控制可由用于生成打印层图像的地形成像技术的要求确定。
33.如以上描述的,增材制造打印机115还可以包括一个或更多个打印头140和一个或更多个构建板150。打印头140和/或构建板150可以相对于其他的打印头140和/或构建板150在x(宽度)、y(长度)以及z(高度)维度上移动。打印头140可以保持由细丝供应系统145供应的细丝,该细丝通过打印头140的一个或更多个喷嘴以逐层方式挤出。在一些实施例中,打印头喷嘴的温度可以被控制以加热存储在打印头140中的细丝,以将细丝保持为可沉积的可流动形式(例如,当打印头140和/或构建板150相对于其他的打印头140和/或构建板150移动时,和/或当打印头和/或构建板150静止时)。挤出的材料可以熔接到构建板150(如第一挤出层的情况)或熔接到先前沉积的挤出层。可以控制的打印头140和/或构建板150的其他方面包括,例如在打印头140和/或构建板150的移动过程中遵从的路径、在生产设计的层之间过渡时打印头和/或构建板150相对于其他的打印头和/或构建板150沿着z轴维度移动的量、打印头140和/或构建板150相对于其他的打印头140和/或构建板150的方向、打印头140和/或构建板150的移动速度以及打印头140沉积的细丝的量和速率。在一些实施例中,打印路径可以由至少两组x

y

z坐标定义。在操作过程中,可以控制打印头和/或构建板相对于其他的打印头和/或构建板移动,并且打印头可以以期望的填充模式释放细丝。在一些实施例中,打印头140和/或构建板150可以由来自数字控制代码生成器110和/或控制模块160的代码控制。
34.在一些实施例中,构建板150可以被加热到预定温度并且可以在不同方向上取向。
35.在一些实施例中,控制模块160,在一些实施例中,可以包括控制器和控制器接口,可以控制增材制造系统100的部件(例如,数字控制代码生成器110、图像传感器120、光源130、打印头140、构建板150、图像生成器170以及图像分析器180)的任何合适的一个或更多个设置(例如,温度、速度和方向,等等),以及通信、操作(例如,捕获打印物体的图像、启用光源130,等等),以及通过增材制造系统的部件执行的计算和增材制造系统的部件之间执行的计算。控制系统108可以包括任何合适的硬件(在一些实施例中可以执行软件),例如,计算机、微处理器、微控制器、专用集成电路(asic)、现场可编程门阵列(fgpa)以及数字信号处理器(dsp)(其中任何一个都可以称为硬件处理器)、编码器、读取编码器的电路、存储设备(包括一个或更多个eprom、一个或更多个eeprom、动态随机存取存储器(“dram”)、静态随机存取存储器(“sram”)和/或闪存)和/或任何其他合适的硬件元件。在一些实施例中,增材制造系统100内的各个部件可以包括它们自己的软件、固件和/或硬件,以控制各个部件
并与增材制造系统100中的其他部件通信。
36.在一些实施例中,控制模块160和增材制造系统100的其他部件之间的通信,和/或控制模块160和增材制造打印机115内的其他部件之间的通信,可以使用任何合适的通信技术,例如模拟技术(例如,中继逻辑)、数字技术(例如,rs232、以太网或无线)、网络技术(例如,局域网(lan)、广域网(wan)、互联网)、蓝牙技术、近场通信技术、安全射频技术和/或任何其他合适的通信技术。
37.在一些实施例中,可以使用任何合适的输入设备(例如,键盘、鼠标或操纵杆)将操作员输入传送到控制模块160。
38.除了图1示出的部件,增材制造打印机115还可以包括其他部件,例如,温度传感器、湿度传感器、用于测量加速度和打印头140的任何意外运动(例如颠簸、颤抖等)的加速度计,以及用于显示图像的显示器。增材制造打印机115还可以包括一个或更多个用于取向和/或移动图像传感器120、照明源130、打印头140和/或构建板150的致动器。
39.图1还示出了数字控制代码生成器110。在一些实施例中,数字控制代码生成器110可以被配置为接收要打印的物体的三维设计(例如,计算机辅助设计(cad)模型)(在本文中被称为“生产设计”)。可以以任何合适的格式(例如,标准曲面细分语言(.stl)、绘图标准(dws)或绘图(dwg)文档格式)接收生产设计,这些格式可由数字控制代码生成器110处理。
40.数字控制代码生成器110可以被配置为将生产设计转换为用于增材制造打印机115的指令以打印生产设计的物理表示。在一些实施例中,数字控制代码生成器110可以包括用于操作员输入如结合图3描述的某些打印参数的界面。打印参数还可以包括但不限于以下一项或更多项:增材制造机器115的打印特征(例如,打印头尺寸、挤出的细丝的类型、3d打印技术,等等);打印路径;细丝进给率;以及生产设计的规格(例如,打印设计应该像什么、设计所需的机械、光学和/或电气特性,等等)。
41.基于一个或更多个打印参数,数字控制代码生成器110可以应用切片算法来将生产设计与在z方向上以预定距离隔开的平行平面相交以创建二维或三维层。例如,如果待打印的物体在z方向上为5mm,而在z方向上所需的层厚为0.2mm,那么可以将该物体的生产设计在z方向上切成0.2mm厚的25层。除了对生产设计切片,数字控制代码生成器110还可以被配置为基于以下的一个或更多个为待打印的每层生成数字控制代码:打印参数;来自当前正在打印的打印物体的一个或更多个先前打印层的aipc;来自其他打印物体的aipc(其中的一些可能会被纳入生产设计);以及增材制造打印机115的打印特征。
42.在其他实施例中,切片算法可以被配置为仅确定第一层并为该第一层生成数字控制代码。用于打印物体的每个后续层的数字控制代码可以基于以下的一项或更多项生成:来自当前正在打印的打印物体的一个或更多个打印层的aipc;来自其他打印物体的aipc(其中的一些可能会被纳入生产设计);用于打印物体的生产设计所需的机械、光学和/或电气特性以及规格;以及由操作员输入的参数和/或增材制造打印机115的打印特征。在一些实施例中,可以完全省略切片算法并且可以基于以下一个或更多个生成数字控制代码:来自其他打印物体的aipc(其中的一些可能会被纳入生产设计);用于打印物体的生产设计的所需的机械、光学和/或电气特性以及规格;由操作员输入的输入参数;和/或增材制造打印机115的打印特征。在一些实施例中,数字控制代码生成器还可以考虑不可控变量(即,在没有人工干预的情况下不可控的变量),例如,包括但不限于环境湿度、温度和曝光、电压变
化、增材制造打印机115的磨损和撕裂,以及打印头140可用的总细丝供应量。
43.图3阐明了根据所公开主题的一些实施例的用于操作员将打印参数输入到数字控制代码生成器110中的示例界面300。
44.注意到,界面300可以包括控制未示出的其他合适的打印参数的字段。附加地或替代地,在一些实施例中可以省略包括在界面300中的一些打印参数。此外,包括在界面300中的任何和所有打印参数可以替代地由数字控制代码生成器自动生成并且不由操作员输入。在一些实施例中,操作员可以输入用于生产设计的第一层的打印参数,并且数字控制代码生成器110可以使用人工智能算法和本文公开的其他方法来生成用于打印设计的后续层的打印参数。
45.如图所示,界面300可以包括控制打印质量参数如层高、壳厚度以及回缩的字段。
46.层高是指打印物体的层的高度。层的高度可能影响打印分辨率。例如,与较高层相比,较矮层可以创建更详细的打印和更光滑的表面。但是,具有较矮的层的物体可能需要更长的时间来打印。相反地,较高的层可以对应较低分辨率和较粗糙的表面打印。包含高层的物体可以比具有较矮层的相同物体更快地打印。在一些实施例中可以使用任何合适的层高。
47.壳厚度是指打印物体的外壁的厚度。在一些实施例中可以使用任何合适的壳厚度。
48.回缩是指当打印头在没有指定的打印的区域上移动时确保没有细丝从打印头挤出。在一些实施例中,可以启用或禁用回缩。
49.界面300还可以包括控制打印速度设置的字段,用于控制打印头速度和/或构建板速度。打印速度是指当打印头打印时打印头和/或构建板移动的速度。在一些实施例中可以使用任何合适的打印速度。基于打印速度,可以计算需要挤出的材料的量(即,进料率)。在一些实施例中可以使用任何合适的进料率。
50.界面300还可以包括控制温度设置的字段,用于控制打印头温度和/或构建板温度。当打印速度改变时,可能需要改变打印头的温度,以确保挤出的细丝被充分加热以用于沉积。在一些实施例中可以使用任何合适的打印头温度。
51.界面300还可以包括控制填充密度和填充模式设置的字段。
52.填充密度是指打印在物体内部的结构并且可以例如通过百分比来指定。在一些实施例中可以使用任何合适的填充密度。100%填充密度是指没有预期间隙的固体填充密度。
53.填充模式是指填充的模式。在一些实施例中可以使用任何合适的填充模式。例如,在一些实施例中,填充模式可以包括蜂窝、三角形、网格以及矩形。填充密度和填充模式会影响打印重量、打印物体强度、总打印时间以及外部特性。填充模式也会影响机械、光学和/或电气特性。在一些实施例中,可以为特定层或整个物体设置填充密度和填充模式。
54.此外,界面300可以包括控制支撑设置的字段,该支撑设置包括支撑类型和平台粘附类型。
55.一些打印物体可能具有悬垂部分,因此可能需要支撑以防止挤出的细丝在打印过程中掉落。支撑设置可用于指定可以放置支撑的位置。在一些实施例中可以使用任何合适的支撑设置。
56.平台粘附设置可用于提高打印层对构建板150的粘附。可以指定的平台粘附设置
shape

from

focus,”,pattern recognition,vol.45,issue 5,pp.1415

1432)中描述了可适用于增材制造系统100中的图像生成器170使用焦点形状算法的示例,其全部内容通过引用并入本文。所公开的方法只是示例,并非旨在进行限制。
64.由1991年byungil kim等人在cvgip:图像理解卷54第3期第416

427页的“使用光度立体方法的着色深度和形状”(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使用阴影形状算法的示例,其全部内容引入本文作为参考。所公开的方法只是示例,并非旨在进行限制。
65.由英国伦敦斯普林格出版社的helder coelho(编辑)的第6届伊比利亚美洲人工智能会议论文集:人工智能的进展(iberamia 1998)的第253

261页的jose r.a.torreao的“根据光度立体图像的光流估计3

d形状”(jose r.a torreao,“estimating 3

d shape form the optical flow of photometric stereo images,”proceedings of the 6
th ibero

american conference on ai:progress in artificial intelligence(iberamia 1998),helder coelho(ed.),springer

verlag,london,uk,uk,253

261)中描述了可适用于增材制造系统100中的图像生成器170使用光度立体算法的示例,其全文以引用方式并入本文。所公开的方法只是示例,并非旨在进行限制。
66.由2013年guoan zeng等人在自然光子学第7卷第739

745页的“广域高分辨率傅里叶层叠成像显微镜”(guoan zeng et al.,“wide

field high

resolution fourier ptychographic microscopy,”nature photonics,vol.7,pp.739

745,2013)中描述了可适用于增材制造系统100中的图像生成器170使用傅里叶层叠成像调制算法的示例,其全部内容通过引用并入本文。所公开的方法只是示例,并非旨在进行限制。
67.在一些实施例中,由图像生成器170生成的地形图像和/或其他合适的图像可以提供诸如异常率和分布、异常类型、沿着打印路径的各个点处沉积的细丝等等的信息。例如,如图4所示,打印层的捕获图像400示出了沉积的细丝中的非预期间隙。在另一组示例中,如图5a、图5b以及图5c所示,各种打印层的捕获图像示出了打印层中的非预期线状伪影和其他破环。
68.在一些实施例中,图像分析器180可以被配置为从图像生成器170接收生成的地形图像和/或其他合适的图像以及视觉认知并识别打印层上的一个或更多个异常。在一些实施例中,这可以通过比较以下以识别差异来完成:从二维或三维地形图像获得的打印层的实际特征、检测到的打印层的打印路径图,和/或打印层的图像;以及打印层的特征,如在生成的数字代码和/或用于打印层的生产设计中所指定的特征。在一些实施例中,可以使用一个或更多个人工智能算法基于差异来识别异常。这些异常可以包括,例如,实际打印层与生产设计和/或用于打印层的生成的数字代码之间的差异,差异涉及:层的周长尺寸;设定点之间沉积的细丝的尺寸;填充密度;填充模式;表面粗糙度;打印路径;和/或任何其他的变量。异常的识别可以包括对异常分类,以及识别其尺寸、形状、x

y

z位置和/或任何其他合适的特征。在一些实施例中,可以使用任何合适的人工智能算法。例如,在一些实施例中,人工智能算法可以单独地或组合地包括以下的一项或更多项:机器学习;隐马尔科夫模型;循环神经网络;卷积神经网络;贝叶斯符号方法;生成对抗网络;支持向量机;和/或任何其他合适的人工智能算法。
69.在一些实施例中,例如以下结合图9示出且描述的,图像分析器180可以利用数学模型对来自图像生成器170的地形图像和/或其他合适的图像分类,该数学模型降低标准卷积神经网络(convolutional neural network,cnn)模型的复杂性。在部署到低成本、快速原型、附加环境时,这种复杂性的降低特别有用,因为不需要板载图形处理单元(graphics processing units,gpus)和高性能中央处理单元(central processing unit,cpu)计算机。在一些实施例中,例如,在以下结合图9示出且描述的,图像分析器180可以部署图像分类模型以在3d打印过程中分类图像以检测不可恢复的故障(例如,打印层不能被进一步打印)并为正在打印的层分配质量指标。该模型可以包括故障分类器和挤压分类器,并且在一些实施例中,故障分类器的结果可以被提供给挤压分类器。
70.如以下结合图9的920更详细地描述的,故障分类器可以是二进制分类器,其接受输入,例如图像,并确定两个输出值中的一个输出值:通过或失败。在一些实施例中,在3d打印过程中,正在被打印的物体的最近层的图像被捕获,并且具有比最初捕获图像的分辨率更低分辨率的图像版本可以被生成并提供给故障分类器。基于较低分辨率图像,故障分类器确定打印的层是否能够进一步打印。例如,如果由于部分与热床分离而无法打印该层,则故障分类器可以将图像分类为故障。如果可以打印图层,则故障分类器可以将图像分类为通过。在一些实施例中,诸如以下结合图9的920更详细地描述的,为了减少假阳性的发生,可以使用二阶过滤器进一步分析故障分类。通过在打印过程的早期检测不可恢复的故障,可以在完成之前停止打印作业,从而节省时间和资源。在一些实施例中,故障分类器可用于在多个部分打印过程中停止整个作业或单个部分。
71.如以下结合图9的940

970更详细地描述的,在一些实施例中,可以将已被故障分类器分类为通过的低分辨率图像的裁剪版本提供给挤压分类器。在一些实施例中,可以将低分辨率图像裁剪为以感兴趣区域为中心。在一些实施例中,挤压分类器可以包括二进制预分类器和cnn组。在一些实施例中,如以下结合图9的940更详细地描述的,挤压分类器的二进制预分类器可以确定在低分辨率图像的裁剪版本中是否存在打印误差。如果图像被分类为示出打印误差,那么原始在3d打印过程中捕获的全分辨率未裁剪图像将被馈送到cnn组中。在一些实施例中,cnn组基于作为挤出质量特征的打印层的模式共同分析图像的质量,然后可以基于一组指定的特征为图像分配挤压质量分数,如以下结合图9的970更详细地描述的,这些特征与根据预定义公式测量和加权的挤压质量相关联。在一些实施例中,例如,如以下结合图10和图11所示和描述的,挤压质量分数可用于指导强化学习代理以调整打印参数来校正打印过程。如果二进制预分类器确定图像中示出的层的打印模式没有误差,则打印作业可以继续进行而无需任何修改。
72.这种过滤出已经被分类为失败或没有打印误差的图像的过程允许挤压分类器中的cnn组只对从被3d打印的物体中的层捕获图像分类,这些层是待校正的候选品,从而最大限度地减少所需的计算资源。此外,构建故障分类器以使用低分辨率图像和挤压分类器的二进制预分类器以使用低分辨率、裁剪图像,仅允许挤压分类器的cnn组使用全尺寸、全分辨率图像,进一步减少所需的计算资源。
73.转向图9,根据所公开主题的一些实施例示出了使用故障分类器和挤压分类器识别不可恢复故障和/或确定质量分数的过程的示例900。在一些实施例中,可以在物体的打印过程中由图像分析器180执行过程900。
74.在910处,过程900可以将训练的故障分类器应用于被打印的物体的层的图像的低分辨率版本。在一些实施例中,可以以任何合适的方式从原始图像生成图像的低分辨率版本。
75.注意到,在一些实施例中,原始图像可以以任何合适的方式被捕获,如以上结合图1和图6的框640和650所示和描述的,例如通过使用与3d打印机相关联的相机。
76.在一些实施例中,故障分类器可以是具有任何合适拓扑结构的cnn。例如,在一些实施例中,cnn可以具有用于特征学习的任何合适数量的卷积/最大池化层(例如,两个、三个、五个和/或任何其他合适的数量)。作为另一个示例,在一些实施例中,cnn可以具有跟随卷积/最大池化层的具有丢弃的全连接层(a fully

connected layer with dropout)。作为又一示例,在一些实施例中,cnn可以在提供分类结果的激活函数(例如,softmax激活(a softmax activation)和/或任何其他合适的激活函数)之前具有全连接层。在一些实施例中,由故障分类器提供的分类结果可以具有两个分类类别:通过或失败。
77.在一些实施例中,可以以任何合适的方式训练故障分类器。例如,在一些实施例中,可以用任何合适的训练样本构建训练集。作为更具体的示例,在一些实施例中,可以使用打印物体的每层的图像生成训练集。继续该特定的示例,在打印物体具有500层并且在第n层打印失败的情况下,训练集可以包括500张图像(编号为0到499)(即,每层一个图像),其中,n幅图像(即打印失败前的层对应的图像)被归类为通过,500

n幅图像(即,打印失败后的层对应的图像)被归类为失败。在一些实施例中,训练集可用于使用任何合适的技术或技术的组合来训练故障分类器。
78.在920处,过程900可以确定是否存在不可恢复的故障。在一些实施例中,过程900可以基于由故障分类器确定的分类确定是否存在不可恢复的故障。例如,在一些实施例中,过程900可以确定与故障的分类相关联的可能性是否超过预定阈值(例如,0.8、0.9和/或任何其他合适的可能性)。注意到,在一些实施例中,可以基于以上结合910描述的二阶过滤器的结果e
f
确定过程900是否存在不可恢复的故障。
79.如果在920处,过程900确定存在不可恢复的故障(920处为“是”),则过程900可以在930处停止物体的打印。
80.如果在920处,过程900确定不存在不可恢复的故障(在920处为“否”),则过程900可以将训练的预分类器应用于图像的低分辨率版本。在一些实施例中,如以下结合970描述的,预分类器可以使用挤压分类器确定图像是否是将要分析以确定挤压误差的候选品。在一些实施例中,预分类器可以是二进制预分类器,具有对应于检测到的误差或未检测到的误差的两个分类类别。在一些实施例中,预分类器可以使用低分辨率图像来确定图像是否通过挤压分类器进一步分析(例如,响应于确定检测到的误差)。在一些实施例中,通过将挤压分类器应用于与预分类器检测到的误差相关联的图像,挤压分类器可以被训练为对挤压值的变化高度敏感。此外,在一些实施例中,通过使用由高分辨率图像上训练的挤压值生成的挤压值,基于该挤压值修改参数的打印过程可以以相对高的精度运行。
81.在一些实施例中,预分类器可以使用图像的低分辨率版本的裁剪版本。在一些此类实施例中,可以将图像的低分辨率版本裁剪为任何合适的尺寸(例如,200
×
200、150
×
150和/或任何其他合适的尺寸)。在一些实施例中,可以基于挤出层的填充围绕图像的质心裁剪图像的低分辨率版本。注意到,在一些实施例中,图像的低分辨率版本的裁剪版本可以
包括网格模式或作为挤压值的特征的另一打印模式。在一些实施例中,可以应用任何其他合适的增强技术,例如旋转、镜像和/或任何其他合适的图像增强技术。
82.在一些实施例中,预分类器可以具有任何合适的拓扑结构。例如,在一些实施例中,预分类器可以是cnn。作为更具体的示例,在一些实施例中,预分类器可以是如以上结合910描述的故障分类器具有相同拓扑结构的cnn。在一些实施例中,可以以任何合适的方式训练预分类器,例如通过使用训练图像的任何合适的训练集训练预分类器。在一些实施例中,包括在训练集中的训练图像可以通过在打印过程中捕获物体的不同层的图像来获得,其中,对应于不同缩放的挤压命令的误差被注入到不同层的打印中,使得对应于不同挤压值的误差包含在训练集中。在一些实施例中,可以使用用于训练cnn的任何合适的技术训练预分类器。
83.在950处,过程900可以确定是否已经检测到误差。在一些实施例中,过程900可以基于预分类器确定的分类来确定是否已经检测到误差。例如,在一些实施例中,过程900可以确定与检测到的误差的分类相关联的可能性是否超过预定的阈值(例如,0.8、0.9和/或任何其他合适的可能性),并且响应于确定检测到的误差的可能性超过预定阈值,可以确定已经检测到误差。相反地,在一些实施例中,响应于确定与没有误差的分类相关联的可能性超过预定阈值(例如,0.8、0.9和/或任何其他合适的可能性),过程900可以确定没有检测到误差。
84.在950处,如果过程900确定没有检测到误差(在950为“否”),则过程900可以在960处继续打印物体。
85.在950处,如果过程900确定已检测到误差(在950处为“是”),则过程900可以将训练的挤压分类器应用于图像的高分辨率版本以确定在970处的挤压质量分数。在一些实施例中,原始图像可以用作挤压分类器的输入。替代地,在一些实施例中,原始图像的窗口(其中,窗口处于原始分辨率或更高分辨率)可用作挤压分类器的输入。在一些此类实施例中,窗口可以对应于由预分类器使用的质心,使得窗口包括指示挤压的质量的特征打印模式(例如,网格模式)的高分辨率图像。
86.在一些实施例中,挤压分类器可以具有任何合适的拓扑结构。例如,在一些实施例中,挤压分类器可以是任何合适数量(例如,三个、四个、五个和/或任何其他合适数量)的基础学习器的集合,其中,每个基础学习器是cnn。作为更具体的示例,在一些实施例中,挤压分类器可以具有四个cnn,每个cnn对应于基础学习器。在一些实施例中,每个cnn可以具有任何合适数量的卷积层(例如,两个、三个、四个、五个和/或任何其他合适数量的卷积层)。作为更具体的示例,在一些实施例中,在挤压分类器具有四个cnn的情况下,四个cnn可以分别具有两个、三个、四个以及五个卷积层。在一些实施例中,每个cnn可以包括两个全连接层。在一些实施例中,可以计算由每个cnn生成的概率的平均值,并且该平均值可以用于使用概率的分布对图像分类。
87.在一些实施例中,可以以任何合适的方式训练挤压分类器。例如,在一些实施例中,可以使用用于训练cnn的任何合适的技术训练挤压分类器。作为另一个示例,在一些实施例中,可以使用任何合适的训练参数训练挤压分类器,例如具有任何合适的值(例如,16、128、256、512、1024和/或任何其他的合适值)的任何合适的过滤器、任何合适的学习率(例如,0.0001、0.0005和/或任何其他合适的学习率)、任何合适的批量大小(例如8、16和/或任
何其他合适的批量大小)、任何合适的时期的数量(例如,50、100和/或任何其他合适的数量)和/或任何合适数量的原始训练图像(例如,8000、8400、9000和/或任何其他合适的数量)。
88.注意到,在一些实施例中,由挤压分类器确定的挤压质量分数可用于任何合适的目的。例如,在一些实施例中,挤压质量分数可用于修改打印参数,例如挤出速度、挤出体积、挤出机头的运动速率、挤出机喷嘴的温度和/或任何其他合适的参数。在一些实施例中,可以将挤压质量分数作为输入提供给强化学习代理,例如以上结合图10和图11示出和描述的,该强化学习代理在物体的打印过程中修改打印参数。在一些实施例中,图像分析器180可以被预编程以在收到的打印层图像中识别某些异常(例如,意外的间隙或卷曲的边缘、翘曲的或不均匀的模式、过度挤压的点、线状或其他外来伪影和/或打印层中的任何其他的破坏)。基于预编程的异常,图像分析器180可以处理已完成打印层的生成的图像以确定处理的图像是否包括与预编程的异常相似的任何异常,并识别打印层上的任何此类异常的一个或更多个位置。
89.在一些实施例中,图像分析器180还可以被配置为确定和记录检测到的异常与一个或更多个打印参数之间的相关性。例如,通过使用合适的人工智能算法,图像分析器可以确定可能与检测到的异常相关联的一个或更多个打印参数。例如,图像分析器180可以发现以下示例相关性:当打印头处于某些温度而非其他温度时发生中断;某些打印速度而非其他速度会导致大量意外的间隙;以及在物体的某些位置处的某些填充模式会导致某种类型的异常。
90.在一些实施例中,响应于检测到在检测到的异常与一个或更多个打印模式之间的相关性,图像分析器180可以提供信息、数据和/或指令,这些信息、数据和/或指令改变正在被打印的物体的一层或更多层或未来要打印的一个或更多个物体的打印的方式。例如,在一些实施例中,图像分析器可以将发现的相关性和/或用于适应性地调整打印参数设置的指令传送到数字控制代码生成器110、控制模块160和/或任何其他的设备。然后数字控制代码生成器110和/或控制模块160可以使用该信息调整用于当前正在打印的物体的任何后续层的数字控制代码中的打印参数。在一些实施例中,可以调整打印参数,使得下一层或任何未来层补偿在前一层中发现的异常。例如,如果在打印层中检测到非预期的间隙,则用于下一层的数字控制代码可以包括当沉积位于间隙上方的细丝时填充间隙的指令。在另一个示例中,当在物体的下部发现非预期的间隙时,用于物体的上部的对称层的数字控制代码可以包括用于补偿该间隙的指令。
91.在一些实施例中,图像分析器180可以被配置为测量完成的打印物体的机械、光学和/或电学特性。
92.在一些实施例中,图像分析器180可以被配置为检测一个或更多个打印参数与打印层和/或完成的打印物体中较少异常之间的相关性。在进一步的实施例中,图像分析器180可以被配置为检测一个或更多个打印参数与测量的完成的打印物体的机械、光学和/或电学特性之间的相关性。响应于检测到一个或更多个此类相关性,图像分析可以提供信息、数据和/或指令,这些信息、数据和/或指令可以改变打印物体的一层或更多层或将来要打印的一个或更多个物体的方式。在一些实施例中,图像分析器180可以向例如三维建模软件提供信息、数据和/或指令,以改进生产设计。
93.在进一步的实施例中,例如,如以下结合图10和图11中示出和描述的,图像分析器180可以使用强化学习模型来在3d打印过程中适应和调整打印参数以优化最终打印物体的机械特性。在一些实施例中,为了最小化用于训练强化学习模型的相关计算时间以识别要执行的校正动作以改善最终产品的机械性能(例如,抗拉强度),可以减少或限制环境和可以采取的相应动作(在本文中通常称为状态/动作空间)。在一些实施例中,可以通过选择涉及的输入变量的数量和/或通过基于它们的有用性选择潜在输出来限制状态/动作空间。例如,在一些实施例中,为了优化3d打印标本的极限抗拉强度,可以通过仅考虑与打印参数相关的动作来减少状态/动作空间,这些动作对抗拉强度影响较大,例如打印过程中改变沉积的材料的体积、挤出机喷嘴温度、挤出的塑料的体积、打印头的运动动态、周围环境条件以及挤出的热塑性塑料的材料特性。在一些实施例中,通过限制环境的可用动作和相应状态,本文描述的机制可产生可用于进一步分析的结果,同时最小化计算资源。
94.在一些实施例中,图像分析器180可以使用用于打印层的生成的地形图像和/或其他生成的图像,以及为打印层生成的数字控制代码,以学习不可控变量(即,在没有人工干预的情况下不可控制的变量)和所产生的打印头运动之间的关系,以及沉积层中的异常(例如,意外的间隙或卷曲的边缘、翘曲的或不均匀的模式、过度挤压的点、数字控制代码中与指定的打印路径的偏差、非预期的线状或其他的异物和/或打印层中的任何其他的破坏)。响应于检测到不可控变量和产生的打印头运动以及异常之间的相关性,图像分析器180可以提供信息、数据和/或指令,这些信息、数据和/或指令可以改变物体的一层或更多层被打印或打印将来要打印的一个或更多个物体的方式。
95.在一些实施例中,可以使用关于相关性的信息来训练如本文描述的多个ai机制中的一个ai机制。
96.在一些实施例中,在打印层之后,图像分析器180可以被配置为将完成的打印层与一个或更多个先前层比较以检测和记录异常、比较和记录异常率和模式,并且提供指令到数字控制代码生成器110和/或控制模块160以调整打印参数以优化物体的整体设计(例如,获得所需的机械、光学和/或电气特性或实现非常相似于生产设计的打印设计)或优化打印作业的操作(例如,加快沉积率,或最小化所需材料的量)。完成的层和先前层之间的比较以识别异常也可用于更好地将因果关系分配给增材制造系统100的打印参数,以及对用于部分打印物体的下一层或任何后续层做适当调整,以及优化类似或不同物体的未来打印作业。
97.在一些实施例中,图像分析器180可以被配置为分析用于部分打印物体的当前层和/或先前层的总体异常率,并且基于来自类似打印作业的aipc,向数字控制代码生成器110和/或控制模块160提供指令以调整用于部分打印物体的下一层和/或任何未来层的打印参数以获得期望的机械、光学和/或电气特性。
98.在一些实施例中,在打印一层之后,可以使用不基于人工智能的算法来识别与正在使用的特定增材制造打印机的特定校准相关的异常。可以对用于后续层和未来打印作业的数字控制代码做适当调整,以考虑特定增材制造打印机的校准。
99.在一些实施例中,如果一个或更多个打印层中的异常超过某些预定的容差,则可以在完成之前停止打印物体的打印作业。为失败的打印作业所收集的数据可以提供信息、数据和/或指令给数字控制代码生成器110、控制模块160和/或任何计算机系统,该计算机
系统可收集与由增材制造打印机115执行的打印处理相关的训练数据。
100.在一些实施例中,图像分析器180还可以被配置为将打印物体的异常数据(例如,异常的分布、模式和率)以及自动推荐的打印调整发送到三维建模软件以消除或修改设计中与异常相对应的结构。
101.根据所公开主题的一些实施例,图6,进一步参考图1

图3,在高水平上示出了使用aipc的增材制造打印操作的示例。在一些实施例中,增材制造过程600可以使用增材制造系统100。
102.在610处,指定打印物体应该像什么的生产设计以及打印物体的期望的机械、光学和/或电气特性被提供给数字控制代码生成器110。在一些实施例中,一些初始打印参数由操作员输入。在一些实施例中,生产设计被提供给数字控制代码生成器110,并且图像分析器180使用aipc确定用于生产设计的所需的机械、光学和/或电气特性。
103.在一些实施例中,操作员可以为图像分析器180输入一组规则以解决增材制造打印过程中的冲突目标。例如,用户可以指定优先实现打印物体的最佳机械性能:打印速度;生产设计的完整性;并减少使用的细丝的量。操作员还可以指定哪些机械、光学和/或电气特性对于打印物体最重要,使得图像分析器180可以提供用于调整针对那些机械、光学和/或电气特性的优化的打印参数的指令。
104.在620处,数字控制代码生成器110可以基于以下的一个或更多个生成用于打印物体的层的数字控制代码:由操作员输入的输入参数、增材制造打印机115的打印特征;生产设计的规格(包括机械、光学和/或电气特性);来自部分打印物体的一个或更多个先前打印层的aipc和/或来自其他的打印物体的aipc。生成的数字控制代码可以包括用于打印头140和/或构建板150遍历的一组设定点(例如,多个x

y

z坐标)。图7a示出了可能包括在数字控制代码中用于打印层的一组设定点的示例模拟。生成的数字控制代码还可以包括定义打印头和/或构建板应该如何遍历各个设定点的指令。例如,在图7b中示出了基于包括的指令所遍历的打印路径可能像什么的示例模拟。
105.在一些实施例中,生成的数字控制代码还可以指定某些打印参数,包括但不限于设定点之间打印头140和/或构建板150的速度、设定点之间打印头140的喷嘴和/或构建板150的温度、设定点之间沉积的细丝的量、设定点之间的填充密度以及设定点之间的填充模式。
106.在630处,打印头140可以根据由数字控制代码生成器110和/或控制模块160提供的指令为生产设计的层沉积细丝。
107.在640处,光源130可以基于指定的地形成像技术和/或其他的成像技术(如上所述)照射打印层。
108.在650处,图像传感器120可以捕获被照射的打印层的图像。
109.在660处,图像生成器170可以基于由图像传感器120捕获图像生成打印层的一个或更多个地形图像和/或任何其他合适的图像。在一些实施例中,生成的打印层的图像可以包括一系列平铺或缝合在一起的捕获图像。
110.在进一步的实施例中,用于打印层的实际打印路径可以从一个或更多个地形图像和/或由图像生成器170生成的其他合适的图像确定。
111.在670处,图像分析器180可以使用生成的用于打印层的地形图像和/或其他的生
成的图像,以及为打印层生成的数字控制代码,以在挤出层中确定和记录异常(例如,意外的间隙或卷曲的边缘、翘曲的或不均匀的模式、过度挤压的点、根据数字控制代码中指定的打印路径的偏差、非预期的线状或其他的异物和/或打印层中任何其他的破坏)。
112.在一些实施例中,图像分析器180可以根据包含在生成的数字控制代码中的设定点和指令提取和绘制用于打印层的打印路径。图像分析器可以将绘制的打印路径转换为像素,并将像素叠加在根据生成的用于打印层的图像获得的打印路径上,并确定像素与打印路径之间的差异。在一些实施例中,图像分析器180可以将根据生成的用于打印层的图像获得的打印路径转换为坐标系中的打印点,并将这些打印点与沿着根据生成的数字控制代码提取的绘制的路径的打印点比较。
113.如果根据生成的图像中获得的用于打印层的打印路径与根据生成的数字控制代码中提取的打印路径相同,则它们之间的差异将为零或接近于零。大于零的数字描述的是在实际打印路径和生成的数字控制代码中指定的打印路径之间检测到的误差的量。打印路径的比较还可指示沿着打印路径发生的误差的位置。
114.在680处,图像分析器180可以分析图像分析器从打印层和/或先前层检测到的异常的数量和异常的模式(包括生成的数字控制代码中实际路径与打印路径之间的偏差)。基于来自其他的打印作业的aipc,图像分析器180可以确定是否应该对部分打印物体的下一层或后续层的打印参数做任何调整,鉴于检测到的异常以实现所需的机械、光学和/或电气特性。例如,如果基于检测到的异常,图像分析器180针对部分打印物体的当前层和/或先前层确定用于完成的打印物体的机械特性将比期望的机械特性弱,则图像分析器180可以指示数字控制代码生成器110和/或控制模块160以调整下一层或任何后续层上的某些打印参数(例如,增加填充密度和/或改变填充模式),使得可以实现期望的机械特性。
115.在一些实施例中,针对每一层或针对任何数量的层重复操作610

680,这些层被沉积用于打印的物体。图像分析器180可以使用在每层获得的数据以及来自其他的打印作业的aipc来修改用于下一层和/或后续层的打印参数,以实现所需的机械、光学和/或电气特性和/或打印物体的所需的设计。在进一步的实施例中,可以测量完成的打印物体的机械、光学和/或电气特性。
116.何时执行过程600的特定部分的划分可以变化,并且没有划分或不同划分在本文公开的主题的范围内。注意到,在一些实施例中,可以在任何合适的时间处执行过程600的框。应当理解的是,本文描述的过程600的至少一些部分可以以任何顺序或序列执行,不限于在一些实施例中结合图6示出和描述的顺序和序列。此外,本文描述的过程600的一些部分可以在适当的情况下或在一些实施例中以并行的方式被执行。附加地或替代地,在一些实施例中可以省略过程600的一些部分。
117.过程600可以在任何合适的硬件和/或软件中实现。例如,在一些实施例中,过程600可以在图像分析器180或数字控制代码生成器110中实现。
118.在一些实施例中,图像分析器180可以学习用于打印物体的每层的异常模式,以便使图像分析器180能够在打印过程中针对类似的或不同的物体适应地调整层级处的打印参数(例如,如结合图6描述的)以实现所需的机械、光学和/或电气特性。
119.某些打印参数会影响打印物体的机械、光学和/或电气特性。例如,填充密度和填充模式会影响机械特性,如最大抗拉强度(r
m
)、屈服强度(rp
2%
)、断裂伸长率(a

)、杨氏模量
(e)、疲劳(σ
d
)、泊松比、质量以及比重。
120.为了理解异常模式和某些打印参数如何实际影响打印物体的机械、光学和/或电气特性,可以多次打印物体,同时改变对打印物体的机械、光学和/或电气特性具有影响的打印参数。例如,如结合图6(例如,在670处)描述的在层级处确定并记录针对每个打印物体的异常模式。此外,可以测量和记录每个打印物体的机械、光学和/或电气特性。
121.根据一些实施例,图8示出了用于基于不同的填充密度和填充模式学习异常模式和异常率以及那些异常模式和异常率如何影响打印物体的机械特性的训练过程的示例800。在训练过程中,可以根据实际数据或模拟数据组合地或分开地推导出用于生成机器学习模型的训练数据。实际训练数据可以是在生产设备的运行过程中或其他方面收集的数据,例如在3d打印过程中实时拍摄的图像。模拟数据可以是根据表示生产数据的计算机化方法或模拟获得的数据,例如基于现有库的随机生成的图像的序列,旨在3d打印过程中模拟图像的实时捕获。
122.在810处,可以识别影响物体的机械特性的一个或更多个打印参数。例如,填充密度和填充模式可以被识别为影响物体的机械性能。在一些实施例中,人工智能算法可用于识别影响物体的机械特性的其他的打印参数。
123.在820处,可以打印预定数量(“组”)的目标物体,并且已经识别出的影响目标物体的机械特性的一个或更多个打印参数对于整个组可以保持相同。例如,可以打印指定相同的填充模式和填充密度打印参数的组中的每个物体。
124.在830处,如结合图6的670描述的,可以针对组中的每个打印物体在层级处检测和记录异常。例如,可以针对每层确定实际打印路径和根据生成的控制代码提取的打印路径之间的差异。打印组中的每个目标物体后,可以测量和记录该目标物体的机械特性。
125.在830之后,过程800可以循环回到820,并且可以以不同的填充密度和/或填充模式打印另一个预定数量的目标物体。
126.820和830可以根据需要重复多次以训练图像分析器180以学习异常模式和不同的识别的打印参数(例如,填充密度和填充模式)如何影响物体的机械特性。每次打印预定数量的目标物体(“组”)时,可以改变识别的参数(例如,填充密度和/或填充模式)。下表反映了针对目标物体的示例组及它们指定的填充密度和填充模式打印参数:
127.目标物体填充密度填充模式组1100%固体组285%蜂窝形组385%三角形组450%蜂窝形组550%三角形组620%蜂窝形组720%三角形
128.在一些实施例中,对于打印物体的每层,填充密度和填充模式打印参数保持恒定。在其他的实施例中,对于物体的不同层,填充密度和/或填充模式依据层所在的位置或随机地变化。
129.一旦图像分析器180已经学习了不同的异常率和模式以及识别的打印参数(例如,
不同的填充密度和填充模式)如何影响物体的机械特性,图像分析器可以适应地调整用于在打印作业过程中识别打印参数(例如,在层级处)以实现所需的机械特性。例如,图像分析器180可以检测到部分打印物体的打印层具有一定的异常率和模式,如果填充密度和填充模式没有被调整,则一旦完成,很可能导致针对打印物体的机械特性低于标准。图像分析器180然后可以调整针对下一层和/或任何后续层的填充率和填充模式打印参数以实现期望的机械特性,同时还试图减少异常的发生。
130.可以执行类似的过程以学习异常模式如何影响物体的光学和/或电气特性。例如,可以识别影响物体的光学和/或电气特性的打印参数。可以打印目标物体的组,跨越如上所述的目标物体的组控制所识别的打印参数。一旦图像分析器180学习了不同的异常率和模式以及识别的打印参数如何影响物体的电气和/或光学特性,图像分析器就可以在打印作业过程中在层级处适应地调整识别的打印参数的值,以实现所需的电气和/或光学特性。
131.可以执行类似的过程以学习不可控变量(即,在没有人工干预的情况下不可控制的变量)如何影响物体的机械、光学和/或电气特性。例如,可以识别影响物体的机械、光学和/或电气特性的不可控变量。可以打印目标物体的组,跨越如上所述的目标物体的组控制所识别的的不可控变量。一旦图像分析器180学习了不同的异常率和模式以及识别的打印不可控变量如何影响物体的机械、电气和/或光学特性,图像分析器可以在打印作业过程中在层级处适应地调整打印参数的值,以补偿不可控变量并实现所需的电气和/或光学特性。
132.何时执行过程800的特定部分的划分可以变化,并且没有划分或不同的划分在本文公开的主题的范围内。注意到,在一些实施例中,过程800的框可以在任何合适的时间执行。应当理解的是,本文描述的过程800的至少一些部分可以以任何顺序或序列执行,不限于一些实施例中结合图8示出和描述的顺序和序列。此外,在适当的情况下基本上同时或在一些实施例中并行执行本文描述的过程800的一些部分。附加地或替代地,在一些实施例中可以省略过程800的一些部分。
133.过程800可以在任何合适的硬件和/或软件中实现。例如,在一些实施例中,过程800可以在图像分析器180或数字控制代码生成器110中实现。
134.在一些实施例中,图像分析器180可以使用针对打印层生成的地形图像和/或其他生成的图像(如图6的660中所述),以及针对打印层生成的数字控制代码,以学习打印参数与由此产生的打印头运动之间的关系,以及挤出层中的异常(例如,意外的间隙或卷曲的边缘、翘曲的或不均匀的模式、过度挤压的点、卷曲的边缘、与数字控制代码中指定的打印路径的偏差、非预期的线状或其他外来伪影和/或打印层中的任何其他的破坏)。图像分析器180还可以反转学习到的关系以计算将导致期望的打印头运动并最小化挤出层中的异常的最佳的数字控制代码输入参数。更具体地,人工智能算法的输入变量可以包括:打印头的先前测量位置(由表示);导致打印头的先前位置的控制代码打印参数(由θ
i
‑1表示);以及打印头的当前测量位置(由表示)。并且输出变量可以是导致打印头的当前位置的数字控制代码参数(由θ表示)。输入变量和输出变量一起可以作为用于人工智能算法的单个训练样本。单个打印层可以导致数百个此类训练样本。这些训练样本连同先前层中的异常的知识、生产设计的期望规格、增材制造打印机的打印特征和/或环境条件可用于计算最佳的打印参数以生成所需的打印头运动。在一些实施例中,训练样本连同先前层中的异常知识、生
产设计的期望规格、增材制造打印机的特征和/或环境条件可用于计算后续层中的最佳的打印参数,以及x

y

z设定点的最佳的位置和用于打印路径的指令。
135.在一些实施例中,还可以应用图像分析器180来学习打印参数和层的整体特征之间的关系。例如,可以应用图像分析器180来学习挤出层中异常的总数、打印头和/或构建板的运动与生成的数字控制代码中的打印路径指令的相似程度以及指定的填充密度。在一些实施例中,图像分析器180可以反转学习到的关系以计算打印参数,该打印参数将导致最接近生产设计的规格的层,该生产设计的规格包括期望的机械、光学和/或电气特性。
136.在一些实施例中,图像分析器180可以使用为打印层生成的地形图像和/或其他生成的图像,以及为打印层生成的数字控制代码,以学习不可控变量(即,在没有人工干预的情况下不可控制的变量)和所产生的打印头运动之间的关系,以及沉积层中的异常(例如,意外的间隙或卷曲的边缘、翘曲的或不均匀的模式、过度挤压的点、与数字控制代码中指定的打印路径的偏差、非预期的线状或其他的异物和/或打印层中的任何其他的破坏)。如果图像分析器180发现不可控变量对所产生的打印头运动和/或沉积层中的异常产生不利影响,超过阈值容差,则图像分析器180可以向控制模块160发送警报。在收到警报后,控制模块160可以在增材制造系统100的显示器上显示警告和/或经由电子邮件、文本或任何其他合适的电子机制提醒操作员。在一些实施例中,图像分析器180可以被配置为经由电子邮件、文本或任何其他合适的电子机制直接提醒操作员。例如,在一些实施例中,如果图像分析器180确定环境湿度、温度和/或光线对产生的打印头运动产生负面影响或层中的异常的数量超出预定的容差,则图像分析器180可以向控制模块160和/或操作员发送警报。在一些实施例中,如果图像分析器180确定增材制造打印机115的磨损和/或可用于打印头140的细丝的总量(例如,少量细丝)对产生的打印头运动产生负面影响或层中的异常的数量超过预定的容差,则图像分析器180可以向控制模块160和/或操作员发送警报以更换增材制造打印机和/或重新填充细丝。在一些实施例中,如果图像分析器180确定电压变化对产生的打印头运动产生负面影响或层中的异常的数量超出预定的容差,则图像分析器180可以向控制模块160和/或操作员发送警报以检查电压源。
137.训练过程还可以包括组合地或单独地使用由实际环境或模拟环境组成的训练环境。在一些实施例中,实际训练环境可以包括用于训练模型的真实环境,其中,真实环境可以包括物理测量(例如,通过3d打印物体并测量物体的物理重量、表面形态、机械特性和/或任何其他合适的物理测量)。在一些实施例中,模拟环境可以包括使用数值或计算机化方法模拟的训练环境,例如使用理论密度和体积计算3d打印结构的重量。
138.训练过程还可以包括组合地或单独地使用由实际环境或模拟环境组成的训练环境。在一些实施例中,实际训练环境可以包括用于训练模型的真实环境,其中,真实环境可以包括物理测量(例如,通过3d打印物体并测量物体的物理重量,和/或任何其他合适的物理测量)。在一些实施例中,模拟环境可以包括使用数值或计算机化方法模拟的训练环境,例如使用理论密度和体积计算3d打印结构的重量。
139.在一些实施例中,模拟训练环境可用于在实际环境中训练之前初始化机器学习模型以帮助减少在现实环境中训练所需的时间和资源。例如,在一些实施例中,可以建立机器学习模型以提高3d打印结构的抗拉强度的精度。可以使用模拟初始化该模型,从而允许在实际3d打印环境中生成实际训练数据集之前从模拟训练数据开始模型训练。模拟环境可以
通过使用有限元分析(finite element analysis,fea)来模拟3d打印结构的拉伸拉力试验以计算3d打印结构的抗拉强度。
140.在一些实施例中,模拟环境的机器学习框架可以包括任何合适的强化学习(reinforcement learning,rl)技术或算法。强化学习是指计算机算法或代理,它使用一组规则和输入在环境及其各种条件或状态中采取动作。基于那些动作的相应结果,代理调整他们的后续动作,以最大限度地积累积极的结果或奖励。一些实施例可以使用具有异步的、分布式的强化学习的框架,例如结合图12在下文中更详细地示出和描述的,其是指多个代理与环境并行交互并将它们的动作的序列或轨迹存储在全局存储器中。注意到,结合图10和图11示出和描述的,针对使用强化学习来训练代理(例如,实现打印操作的过程)采取动作(例如,修改打印参数)来纠正误差的附加技术。如下结合图12更详细地描述的,框架还可以使用深度q学习(deep q

learning,dqn)和经验重放(experience replay)来优先将输入数据(例如之前从未见过或相对重要的输入)提供给rl代理。这些利用异步的、分布式的强化学习、dqn和经验重放的实施例可以更快地收敛并且在给定新的输入数据时产生更稳健的解决方案。
141.转向图10,根据所公开主题的一些实施例示出了用于使用强化学习来训练制造过程的广义范例的示意图的示例1000。
142.如图10所示,图10所示的范例包括策略功能框1010节点状态框1020的测量(h
i
(s
i

h
))以及最终输出框1030的测量(h
y
(y,θ
y
))。注意到,在一些实施例中,θ
a
、θ
h
和θ
y
中的每个可以是框参数,其可以表示通过控制回路的信号的转换。在一些此类实施例中,每个框参数可以是线性的或非线性的和/或推断的或已知的。下面描述了针对每个框的描述值和参数的附件细节。
143.在一些实施例中,i可以表示节点,其中,i是从0到n

1的值。注意到,在一些实施例中,在示意图1000被实现为3d打印过程的部分的情况下,n可以表示打印物体中的层的总数量。
144.在一些实施例中,实施对应于示意图1000的制造过程的生产工厂可产生可测量的标量输出y,使得y=g(s),其中,s是一组状态,使得s=[s0,...s
n
‑1]。在一些实施例中,对于给定的一组状态测量,可以预测输出质量,允许将函数从状态映射到输出:f:s

y。在一些实施例中,取决于系统的复杂性,函数f可以采用多种形式。在一些实施例中,可以通过通用函数逼近器(general

purpose function approximator)(例如回归模型、人工神经网络和/或任何其他合适类型的函数逼近器)实现映射。在一些实施例中,对于一组k个训练示例,其中:
[0145]
并且其中,损失函数可以定义为用于在一些实施例中,损失函数可以定义对参数集θ
y
的模型优化的基础,使得函数逼近器的输出准确地预测系统过程的输出。
[0146]
在一些实施例中,要学习的过程是马尔科夫决策过程(markov decision process,mdp),其中,未来状态以当前状态s
i
为条件。在一些实施例中,制造过程可以是具
有不可控系统动力学的部分可观察的mdp,使得常规可观察的s
i
不完全编码经由动作最大化后续状态的预测的奖励所必需的信息。在一些此类实施例中,这些状态的向量s=[s0…
s
i
]
t
可以描述mdp的序列。在一些实施例中,对于给定的过程,存在理想的动作的集合,该集合是产生理想的规范输出y*=g(s*)的规范状态的集合s*=[s0*

sn*]。在一些实施例中,测量的状态误差的量值可以计算为测量的状态误差的量值可以计算为在一些实施例中,可以使用任何合适的技术或技术的组合估计状态s
i
,例如使用贝叶斯或卡尔曼滤波器、使用cnn的复杂分类和/或以任何其他合适的方式。
[0147]
在一些实施例中,在g(s)的初始系统识别过程中,可以考虑控制每个节点的财务成本,以及期望分布的公式化。在一些实施例中,期望分布可以是:
[0148][0149]
注意到,在一些实施例中,一些节点i的约束成本可能更高,因此,当误差大于从得出的预定的阈值时,针对τ
i
∈[1,n

i

1]更正可能更具成本效益,使得其中,γ
i
表示可接受的容差。在一些实施例中,通过约束节点状态s
t
,可以获得关于整体输出质量的优势其中,过程的优化不一定屈服于
[0150]
注意到,在最普遍的实现中,对于从0到n

1的所有节点i,γ
i
=0,τ
i
=n

i

1,并且其中,t(.)是由策略π选择的一些动作a
i
的结果。即,在一些实施例中,测量状态s
i
与规范s
i
*的任何偏差可导致对规范状态的所有后续定义的调整。在一些实施例中,使用策略π来选择与通用强化范例一致的最优的动作a
i
。在一些实施例中,策略向最优的策略的收敛π

π*可以取决于相对于τ
i
的自由度并基于将动作a
i
离散化为a
i,k
∈[a
i,0

ai
,m
‑1]以获取m个可能的动作值。
[0151]
在一些实施例中,可以使用任何合适的技术或技术的组合学习策略。例如,在一些实施例中,可以使用诸如q

学习(q

learning)的值

迭代方法(value

iteration method)学习策略。作为另一个示例,在一些实施例中,可以使用诸如动作

评价者方法(actor

critic method)的策略

迭代模型(policy

iteration model)学习策略。
[0152]
在一些实施例中,策略可以定义为其中,θ
a
对应于与动作的选择相关的参数。在一些实施例中,规范状态向量可以写成策略的函数,使得并且过程的输出可以定义为y

=g(s

)。
[0153]
在一些实施例中,过程中的误差可以定义为:
[0154]
在一些实施例中,策略的优化可以定义为:使得作为并且作为π

π
*
适当的持续激发
[0155]
注意到,在示意图1000中,分别定义对于推理有用的过程函数逼近器和校正策略的参数θ
y
和θ
a
。特别是,学习θ
y
允许对过程的虚拟复制,并且更严格调整应用于θ
a
的学习,这是纠正成本高昂的过程节点变化的基础的模型参数。
[0156]
转向图11a,根据所公开的主题的一些实施例示出了用于训练用于打印操作的强化学习算法以执行可以结合3d打印机实施的校正动作的过程的示例1100。注意到,在一些实施例中,过程1100可以是实施以上描述的结合图10示出的广义示意图中示出的技术。
[0157]
在一些实施例中,每个节点(对应于一个获取的图像)可以对应于打印物体的层。在一些实施例中,层的参数可以对应于用于策略的驱动点以及用于状态的测量。在一些实施例中,参数可以包括挤出机喷嘴温度、挤出塑料的体积、打印头的运动动态、周围环境条件、挤出热塑性塑料的材料特性、挤出机速度和/或任何其他合适的参数。
[0158]
注意到,虽然过程1100通常被描述为训练强化算法来确定校正动作以在物体的打印过程中校正抗拉强度,但是在一些实施例中,可以实施结合过程1100描述的技术来确定校正结合任何合适的测量或度量的校正动作。
[0159]
在1110处可以通过捕获层的图像开始过程1100。注意到,在一些实施例中,图像可以具有任何合适的尺寸和/或分辨率
[0160]
在1120处,过程1100可以基于在1110处捕获图像检测在物体的特定层处的打印物体中的误差。注意到,在一些实施例中,打印物体的层的图像可以对应于在强化学习算法的训练过程中使用的训练迭代。
[0161]
注意到,如图11b所示,在一些实施例中,过程1100可以另外访问中值规范测试曲线,该曲线指示作为伸长率函数的抗拉强度。如图11c所示,在一些实施例中,具有误差的打印物体可以与未校正的中值拉伸曲线相关联。注意到,在图11c中,在层i=30处存在误差。另外,注意到,在一些实施例中,可以训练过程1100以确定将图11c中所示的未校正拉伸曲线返回到图11b所示的规范拉伸曲线的校正动作。
[0162]
在1130处,过程1100可以确定打印机要做的打印参数的改变以基于策略来纠正误差。注意到,在一些实施例中,对打印参数的改变可以对应于强化学习算法要采取的动作。另外,注意到,在一些实施例中,可以以任何合适的方式初始化策略。
[0163]
在一些实施例中,对打印参数的改变可以对应于任何合适的改变,例如确定挤出乘法器以改变挤出塑料的体积。注意到,在一些实施例中,可以确定改变的序列,其中,序列包括任何合适数量的改变或动作(例如,一个、两个、三个和/或任何其他合适的数量)。例如,在一些实施例中,过程1100可以确定要提供的三个挤出乘法器的序列,表示为a1、a2以及a3。注意到,动作空间可以以任何合适的方式定义,例如a
i
∈[1.0,1.1,

3.0]
t
,和/或以任何其他合适的方式。
[0164]
在1140处,过程1100可以确定状态信息。
[0165]
注意到,在一些实施例中,可以在状态之前加上最后的动作,从而为策略提供隐式存储器以采取动作,同时还提供允许推断节点依赖关系的节点值。在一些实施例中,在3d打印的应用情况下,这些依赖关系可以具体化为不同的层几何形状,可以在几何形状上采取动作,而无需将这些几何形状明确编码到状态信息中。在一些实施例中,以上所示的状态/动作公式可导致马尔科夫假设的收紧,使得每个状态包含校正抗拉强度偏差所需的所有内容。
[0166]
在一些实施例中,过程1100可以计算对应于状态信息的抗拉强度。例如,继续以上给出的示例状态/动作信息,过程1100可以计算抗拉强度,抗拉强度在本文中称为在一些实施例中,可以基于规范抗拉强度计算抗拉强度误差。在一些实施例中,抗拉强度误差在本文中被称为
[0167]
在1150处,过程1100可以计算对应于状态信息的奖励。在一些实施例中,可以使用奖励函数例如以下来计算奖励:
[0168][0169]
其中,奖励由系数α和β加权。
[0170]
在一些实施例中,在其中要校正抗拉强度的测量的情况下,可以计算抗拉强度奖励t
s
,其中,t
s
定义为:
[0171][0172]
在一些实施例中,该定义可以表示某个值t
s,max
处的饱和,这可以允许缩放的绝对值、双曲线奖励曲线,而在规范抗拉强度附近没有不稳定的结果。
[0173]
在1160处,过程1100可以计算对应于由打印参数的变化产生的状态的奖励值的期望。注意到,给定状态/动作对的奖励的期望在本文通常称为q值(q

value),并且可以定义为:
[0174][0175]
此外,注意到,鉴于系统具有延迟奖励,可以以任何合适的方式(例如,使用贝尔曼方程(bellman equation))传播每个节点i的单独奖励,使得任何动作a
i
均具有相关的奖励r
i
,其定义为:
[0176][0177]
其中,折现因子为0<γ<1。
[0178]
在一些实施例中,可以以任何合适的方式优化q值函数,例如通过使用深度q学习方法(deep q

learning approach)、异步方法以及用于策略更新的动作

评价者范例(actor

critic paradigm)(例如,如2016年国际机器学习会议的1928

1937页mnih等人的“用于深度强化学习的异步方法”(mnih et al.,“asynchronous methods for deep reinforcement learning,”international conference on machine learning,2016,pp.1928

1937)所描述的,在此通过引用整体并入本文),对小脑模型算术计算机(cerebellar model arithmeric computer,cmac)拓扑的模型简化(例如,如动态系统、测量以及控制的日志第97(3)卷第220

227页的albus的“操纵器控制的新方法:小脑模型关节控制器(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)所描述的,其中,在此通过引用整体并入本文),和/或以任何其他合适的方式。
[0179]
在1170处,过程1100可以基于对奖励值的期望更新策略。例如,策略可以定义为在一些实施例中,可以使用q值更新策略。
[0180]
过程1100然后可以循环回到1110以继续训练强化学习算法。
[0181]
注意到,在一些实施例中,在强化学习算法已经被训练之后,训练模型的参数(例如,q值函数,和/或任何其他合适的参数)可以被任何合适的打印过程使用以在物体的打印过程中执行校正动作。例如,在一些实施例中,可以识别与正在打印物体的当前层相关联的当前状态(例如,通过捕获层的图像),并且可以通过使用q值函数的打印过程识别一系列校正动作。在一些实施例中,可以在打印物体的后续层识别进一步的校正动作。注意到,在一些实施例中,强化学习算法的使用可以与任何其他合适的分类器组合,例如以上结合图9描述的故障分类器和/或挤压分类器,以允许打印过程确定是否要终止物体的打印和/或计算与特定层相关联的质量分数。
[0182]
注意到,在一些实施例中,为了将强化学习算法配置到3d打印环境,可以构建有限元模型来表示处于拉伸状态的打印部分,其中,刚度矩阵是在定义的几何形状的层上挤出的塑料的函数。在一些实施例中,该模拟可以充当虚拟环境以在硬件实现之前调整控制模型参数θ
a
的优化的超参数。
[0183]
另外,注意到,在一些实施例中,结合图11描述的强化学习算法可以与可以推断任何其他合适的信息的任何其他合适的算法组合,例如打印物体已经翻倒、具有打印误差(例如,如以上结合图9所示和描述的),等等。此外,在一些实施例中,执行强化学习算法的代理可以通过最小化检查过程的能量和时间评估用于检查的最佳的路径。
[0184]
下文描述了用于执行动作并确定结果状态和奖励的特定示例。如下面结合图12所示和描述的,在特定示例中,3d打印机的组(例如,三个、四个、五个、六个和/或任何其他合适的数量)可以被初始化为工作器的组,并且可用于并行数据收集以训练强化学习模型。此外,在特定示例中,每个3d打印机可以打印具有特定层数(例如,五百、一千和/或任何其他合适的层数)的3d物体,并且可以采取校正动作,每个校正动作都改变打印条件使物体在特定层处的抗拉强度保持在规范的或预期的抗拉强度。注意到,以上结合图11b和图11c示出并描述了抗拉强度和规范抗拉强度的附加细节。
[0185]
转向图12,根据所公开主题的一些实施例示出了用于使用3d打印机的组训练强化学习模型的过程的示例1200。注意到,3d打印机的组中的每个3d打印机在本文中被称为工作器。在一些实施例中,过程1200可以使用个体工作器的组,每个工作器都是执行强化学习算法的代理(例如,如以上结合图10和图11描述的)。在一些实施例中,每个工作器可以与更新权重的全局学习器交互,使得每个工作器可以根据全局学习器学习,并且隐含地根据组中的其他工作器学习。注意到,在一些实施例中,工作器的组可以包括任何合适数量的工作器(例如,两个、三个、五个、十个和/或任何其他合适的数量),并且工作器的组中的每个工作器可以对应于不同的3d打印机。
[0186]
可以在1205处通过初始化全局学习器开始过程1200并且可以初始化环境。
[0187]
在一些实施例中,可以使用任何合适的初始化技术(例如xavier初始化)用权重初
始化全局学习器。注意到,在一些实施例中,与全局学习器相关联的权重可以对应于在全局学习器和工作器的组中的个体工作器的训练过程中学习到的权重,例如,使用深度q学习(deep q learning),和/或以任何其他合适的方式。
[0188]
在一些实施例中,环境可以对应于与打印物体相关联的任何合适的参数,例如任何合适的打印参数。在一些实施例中,可以以任何合适的方式初始化环境。例如,在一些实施例中,可以使用用于打印物体的任何合适的初始参数初始化环境。
[0189]
在1210处,过程1200可以初始化工作器的组和全局存储器。在一些实施例中,过程1200可以通过将与每个工作器相关联的权重(本文称为θ)设置为与全局学习器相关联的权重(本文称为θ

)来初始化工作器的组中的每个工作器。此外,在一些实施例中,过程1200可以将与全局学习器相关联的权重(本文称为δθ

)的梯度设置为0。在一些实施例中,过程1200可以以任何合适的方式初始化全局存储器,例如,通过分配任何合适的尺寸的存储器。
[0190]
在1220处,过程1200可以在当前时间t处为每个工作器对环境执行动作。在一些实施例中,过程1200可以以任何合适的方式对环境执行动作。例如,在一些实施例中,过程1200可以检索时间t处的环境的当前状态(本文称为s
t
)。在一些实施例中,过程1200然后可以识别要在时间t处采取的动作(本文称为a
t
)。在一些实施例中,过程1200可以以任何合适的方式识别动作a
t
。例如,在一些实施例中,过程1200可以确定将从潜在动作的组中选择的随机动作以概率∈被选择,或者替代地,将根据以下选择动作:
[0191]
a
t
=argmax(q(s
t
a;θ)),
[0192]
其中,q是对应于奖励的期望的q值函数。注意到,在一些实施例中,可以使用任何合适的强化学习技术优化q。
[0193]
在一些实施例中,在选择动作a
t
之后,过程1200可以在环境e上执行a
t
,并且可以在环境e上识别奖励r
t
和执行a
t
之后的下一状态s
t 1
。注意到,在一些实施例中,奖励和下一状态可以基于与环境相关联的任何合适的信息,例如挤压的体积、挤压质量分数(例如,如以上结合图9描述的)、是否检测到误差或失败(例如,如以上结合图9描述的)、测量(例如,物体的部分的重量、物体的部分的密度和/或任何其他合适的模拟测量)和/或任何其他合适的信息。
[0194]
下文描述了用于执行动作并确定结果状态和奖励的特定示例。在特定示例中,3d打印机(例如,三个、四个、五个、六个和/或任何其他合适的数量)的组可以被初始化为工作器的组,并且可以用于并行数据收集以训练强化学习模型。此外,在特定示例中,每个3d打印机可以打印具有特定层数(例如,五百、一千和/或任何其他合适的层数)的3d物体,并且可以采取每个改变打印条件的校正动作,使得物体在特定层处的抗拉强度保持在规范的或预期的抗拉强度。注意到,以上结合图11b和图11c示出并描述了描述抗拉强度和规范抗拉强度的附加细节。
[0195]
在特定示例中,3d打印机的组中的3d打印机可以用指示先前动作和状态的轨迹的编码历史识别作为每层的参数的函数的状态s
t
。然后,3d打印机可以选择动作a
t
,该动作可以是对用于打印后续层的打印参数的驱动的校正乘法器。然后可以计算奖励r
t
,其中,r
t
是观察到的对a
t
的响应的函数。在一些实施例中,可以使用以下计算r
t

[0196]
r
t
=1/(f(s
t 1
))。
[0197]
在一些实施例中,可以使用可以指示抗拉强度的拉伸拉力试验确定动作的结果。
[0198]
在一些实施例中,可以以任何合适的方式为每个动作a
t
计算奖励r
t
。例如,在一些实施例中,r
t
可以是使用的制造资源的量(例如,塑料的体积)的函数。作为另一个示例,在一些实施例中,可以基于在最终s
t
计算的抗拉强度计算终端s
t
(例如,用于打印打印物体的最后一层)的奖励r
t

[0199]
回到图12,在一些实施例中,过程1200还可以确定是否要设置done标志,其中,done标志指示工作器已经完成所有训练迭代。
[0200]
在1225处,对于每个工作器,过程1200可以用状态和由动作产生的奖励更新全局存储器。在一些实施例中,过程1200可以以任何合适的方式更新全局存储器。例如,在一些实施例中,过程1200可以使元组(s
t
,a
t
,r
t
,s
t 1
,done)被附加到全局存储器。注意到,在一些实施例中,全局存储器可以存储在任何合适的位置,例如执行过程1200的设备的外部的服务器,和/或任何其他合适的位置。
[0201]
在一些实施例中,过程1200可以循环回到1220并且可以执行1220和1225,直到done标志已经被设置为真。
[0202]
在1230处,针对每个工作器,过程1200可以基于全局学习器权重θ

更新工作器权重θ。在一些实施例中,过程1200可以以任何合适的方式更新工作器权重。例如,在一些实施例中,过程1200可以将用于每个工作器的权重设置为全局学习器权重。
[0203]
在1235处,针对每个工作器,过程1200可以对全局存储器采样并且可以基于样本更新全局学习器权重。在一些实施例中,过程1200可以检索随机选择的小批量元组(s
t
,a
t
,r
t
,s
t 1
,done)。在一些实施例中,小批量可以是任何合适的尺寸(例如,十个元组、一百个元组、五百个元组和/或任何其他合适的尺寸)。
[0204]
注意到,在一些实施例中,过程1200可以通过优先排序元组对全局存储器采样,该元组被确定为具有相对较大的重要性并且相对较不频繁地出现的元组。在一些此类实施例中,存储在全局存储器中的每个元组还可以包括优先级标志p
i
,其指示包括在该元组中的对应状态转换的优先级。在一些实施例中,过程1200然后可以根据从全局存储器采样元组:
[0205][0206]
其中,α是权重,其表示选择具有相对高优先级标志的元组的频率。例如,在α=0的情况下,可以均匀分布地随机选择元组,而当α=1时,可以优先采样与最高优先级相关联的元组。
[0207]
在一些实施例中,过程1200可以以任何合适的方式基于检索到的元组更新全局学习器权重。例如,在一些实施例中,对于每个元组,过程1200可以确定目标输出值y
t
,其中:
[0208][0209]
继续此示例,在一些实施例中,过程1200然后可以基于奖励修改y
t
,使得y
t
被设置为r
t

γy
t
。进一步继续此示例,在一些实施例中,过程1200可以计算用于全局学习器权重的梯度δθ

,使得δθ

增加在一些实施例中,过程1200然后可以基于用于全局学习器权重的梯度δθ

更新全局学习器权重θ


[0210]
在1240处,过程1200可以确定是否继续更新全局学习器。在一些实施例中,过程1200可以基于工作器的组中是否有超过预定数量的工作器t
max
将相应的done标志设置为真以确定是否继续更新全局学习器。也就是说,在一些实施例中,过程1200可以基于工作器的组中是否有超过预定数量的工作器完成了当前训练时期以确定是否继续更新全局学习器。注意到,在一些实施例中,可以基于任何合适的信息(例如,基于与制造环境相关联的信息)选择t
max
的值,使得全局学习器可以在工作器的组中的一个或更多个工作器延迟将元组传输到全局存储器的情况下,继续更新全局学习器。在一些实施例中,t
max
可以是小于或等于工作器的组中的工作器的数量的任何合适的值。
[0211]
在1240处,如果过程1200确定过程1200应该继续更新全局学习器(在1240处为“是”),则过程1200可以循环回到1220。
[0212]
在1240处,如果过程1200确定不应更新全局学习器,则过程1200可以在1245处修改环境。在一些实施例中,过程1200可以以任何合适的方式修改环境。例如,在一些实施例中,过程1200可以基于所采取的动作修改对应于打印物体的特定层的环境的参数。作为更具体的示例,在一些实施例中,过程1200可以修改打印参数,例如挤出速度、挤出体积、挤出机头的运动率、挤出机喷嘴的温度和/或任何其他合适的打印参数。
[0213]
根据一些实施例,提供了用于增材制造中的人工智能过程控制的系统、方法以及介质。更具体地,在一些实施例中,提供了增材制造系统,该系统包括:被配置为以逐层方式打印物体的打印头;用于向物体的打印层的表面提供照明的照明源;配置为捕获打印层的图像的图像传感器;以及至少一个硬件处理器,其配置为:接收捕获图像;生成打印层的三维地形图像;使用第一人工智能算法根据生成的地形图像识别打印层中的异常;使用第二人工智能算法确定识别到的异常与一个或更多个打印参数之间的相关性;以及为一个或更多个打印参数赋值。
[0214]
在一些实施例中,提供了用于增材制造的方法,该方法包括:接收由图像传感器产生的捕获图像,该图像传感器被配置为捕获以逐层方式打印物体的打印层的图像;使用硬件处理器生成打印层的三维地形图像;使用第一人工智能算法根据生成的地形图像识别打印层中的异常;使用第二人工智能算法确定识别到的异常与一个或更多个打印参数之间的相关性;并且为一个或更多个打印参数赋值。
[0215]
在一些实施例中,提供了包含计算机可执行指令的非暂时性计算机可读介质,该计算机可执行指令在由处理器执行时使处理器执行用于增材制造的方法,该方法包括:接收由图像传感器产生的捕获图像,该图像传感器被配置为捕获以逐层方式打印物体的打印层的图像;生成打印层的三维地形图像;使用第一人工智能算法根据生成的地形图像识别打印层中的异常;使用第二人工智能算法确定识别到的异常与一个或更多个打印参数之间的相关性;并且为一个或更多个打印参数赋值。
[0216]
在一些实施例中,可以使用任何合适的计算机可读介质来存储用于执行本文描述的功能和/或过程的指令。例如,在一些实施例中,计算机可读介质可以是暂时的或非暂时的。例如,非暂时性计算机可读介质可以包括诸如非暂时性磁介质(例如硬盘、软盘,等等)、非暂时性光学介质(例如光盘、数字视频盘、蓝光光盘,等等)、非暂时性半导体介质(例如闪存、电可编程只读存储器(electrically programmable read only memory,eprom)、电可擦除可编程只读存储器(electrically erasable programmable read only memory,
eeprom),等等)、在传输过程中转瞬即逝或没有任何永久性的表象的任何合适的介质,和/或任何合适的有形介质。作为另一个示例,瞬态计算机可读介质可以包括以下中的信号:网络、电线、导体、光纤、电路和在传输过程中转瞬即逝且没有任何永久性的表象的任何合适的介质,和/或任何合适的无形介质。
[0217]
本文描述的提供的示例(以及表述为“诸如”、“例如”、“包括”,等等的条款)不应被解释为将要求保护的主题限制于特定示例;相反地,这些示例旨在说明许多可能的方面中的一些方面。还应注意到,如本文使用的,术语机制可包含硬件、软件、固件或其任何合适的组合。
[0218]
已经具体参考这些图示实施例详细描述了增材制造系统和方法。然而,显而易见地是,可以在如前述说明书中描述的本公开的精神和范围内做各种修改和改变,并且此类修改和改变被认为是本公开的等同物和部分。本发明的范围仅由所附权利要求限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献