CN115771267A - 用于3d打印机的方法、装置、3d打印机和存储介质 - Google Patents

用于3d打印机的方法、装置、3d打印机和存储介质 Download PDF

Info

Publication number
CN115771267A
CN115771267A CN202111050567.6A CN202111050567A CN115771267A CN 115771267 A CN115771267 A CN 115771267A CN 202111050567 A CN202111050567 A CN 202111050567A CN 115771267 A CN115771267 A CN 115771267A
Authority
CN
China
Prior art keywords
time
image data
camera
printer
motion controller
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202111050567.6A
Other languages
English (en)
Inventor
陈子寒
吴伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Outline Technology Co ltd
Original Assignee
Shanghai Outline Technology Co ltd
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 Shanghai Outline Technology Co ltd filed Critical Shanghai Outline Technology Co ltd
Priority to CN202111050567.6A priority Critical patent/CN115771267A/zh
Publication of CN115771267A publication Critical patent/CN115771267A/zh
Pending legal-status Critical Current

Links

Images

Abstract

提供了用于3D打印机的方法、装置、3D打印机和计算机可读存储介质。3D打印机包括打印机喷嘴、打印平台、运动控制器、相机和应用处理器,运动控制器和应用处理器通信地连接到同一中断源。该方法包括:在应用处理器处:接收来自中断源的中断信号;记录接收到中断信号时的第一时间,第一时间指示相对于应用处理器的时间基准的时间;接收来自相机的与第一时间相对应的图像数据;接收来自运动控制器的第二时间和与第二时间相对应的坐标数据,第二时间指示运动控制器接收到来自中断源的中断信号时相对于运动控制器的时间基准的时间;和执行第一时间与第二时间之间的转换,以使得与第一时间相对应的图像数据和与第二时间相对应的坐标数据时间同步。

Description

用于3D打印机的方法、装置、3D打印机和存储介质
技术领域
本公开涉及3D打印技术领域,具体涉及用于3D打印机的方法、检测打印缺陷的方法、用于3D打印机的装置、检测打印缺陷的装置、3D打印机、计算机可读存储介质和计算机程序产品。
背景技术
3D打印技术,又称为增材制造技术,它是一种以数字模型文件为基础,运用可粘合材料,通过逐层打印的方式来构造物体的技术。3D打印通常采用3D打印机来实现。3D打印机,又称三维打印机、立体打印机,是快速成型的一种工艺设备。3D打印机常在模具制造、工业设计等领域被用于制造模型或零部件。一种典型的3D打印技术是熔融沉积成型(FusedDeposition modeling,FDM),通过逐层地在预定路径中选择性地沉积熔化材料来构建物体,使用的材料是热塑性聚合物并且呈长丝形式。目前3D打印机的打印质量还有很大的提升空间。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
本公开提供了用于3D打印机的方法和装置、检测打印缺陷的方法和装置、3D打印机、计算机可读存储介质和计算机程序产品。
根据本公开的一方面,提供了一种用于3D打印机的方法。3D打印机包括打印机喷嘴、打印平台、用于基于坐标数据控制打印机喷嘴和打印平台中的至少一者运动以执行打印过程的运动控制器、用于在打印过程期间拍摄打印机喷嘴打印的图案以生成图像数据的相机、以及用于处理坐标数据和图像数据的应用处理器,运动控制器和应用处理器通信地连接到同一中断源,该方法包括:在应用处理器处:接收来自中断源的中断信号;记录接收到中断信号时的第一时间,第一时间指示相对于应用处理器的时间基准的时间;接收来自相机的与第一时间相对应的图像数据;接收来自运动控制器的第二时间和与第二时间相对应的坐标数据,第二时间指示运动控制器接收到来自中断源的中断信号时相对于运动控制器的时间基准的时间;以及执行第一时间与第二时间之间的转换,以使得与第一时间相对应的图像数据和与第二时间相对应的坐标数据时间同步。
根据本公开的另一方面,提供了一种检测打印缺陷的方法,包括:在打印目标对象的当前切片期间执行根据上述的方法,以得到针对当前切片的时间同步的图像数据和坐标数据;基于时间同步的图像数据和坐标数据生成第一深度图,第一深度图包含当前切片相对于相机的真实深度信息;获取第二深度图,第二深度图包含当前切片相对于相机的期望深度信息;以及响应于确定第一深度图与第二深度图之间的深度差值大于预设的第二阈值,确定存在第一打印缺陷。
根据本公开的另一方面,提供了一种3D打印机,包括:打印机喷嘴;打印平台;运动控制器,用于基于坐标数据控制打印机喷嘴和打印平台中的至少一者运动以执行打印过程;相机,用于在打印过程期间拍摄打印机喷嘴打印的图案以生成图像数据;和应用处理器,用于处理坐标数据和图像数据,运动控制器和应用处理器通信地连接到同一中断源,并且,应用处理器被配置为执行根据上述的方法。
根据本公开的另一方面,提供了一种用于3D打印机的装置,3D打印机包括打印机喷嘴、打印平台、用于基于坐标数据控制打印机喷嘴和打印平台中的至少一者运动以执行打印过程的运动控制器、用于在打印过程期间拍摄打印机喷嘴打印的图案以生成图像数据的相机、以及用于处理坐标数据和图像数据的应用处理器,运动控制器和应用处理器通信地连接到同一中断源,装置驻留在应用处理器上并且包括:用于接收来自中断源的中断信号的模块;用于记录接收到中断信号时的第一时间的模块,第一时间指示相对于应用处理器的时间基准的时间;用于接收来自相机的与第一时间相对应的图像数据的模块;用于接收来自运动控制器的第二时间和与第二时间相对应的坐标数据的模块,第二时间指示运动控制器接收到来自中断源的中断信号时相对于运动控制器的时间基准的时间;以及用于执行第一时间与第二时间之间的转换的模块,以使得与第一时间相对应的图像数据和与第二时间相对应的坐标数据时间同步。
根据本公开的另一方面,提供了一种检测打印缺陷的装置,包括:用于在打印目标对象的当前切片期间执行根据上述方法的模块,以得到针对当前切片的时间同步的图像数据和坐标数据;用于基于时间同步的图像数据和坐标数据生成第一深度图的模块,第一深度图包含当前切片相对于相机的真实深度信息;用于获取第二深度图的模块,第二深度图包含当前切片相对于相机的期望深度信息;以及用于响应于确定真实深度图与理论深度图之间的深度差值大于预设的第二阈值,确定存在第一打印缺陷的模块。
根据本公开的另一方面,提供了一种存储有指令的非瞬时计算机可读存储介质,指令用于使如上所述的3D打印机执行如上所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括指令,指令用于使如上所述的3D打印机执行如上所述的方法。
根据本公开的一个或多个实施例,可以使得在打印过程期间捕捉到的图像能够准确地反映当前真实的打印图案。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开的实施例的3D打印机的示意图;
图2示出了根据本公开的实施例的用于3D打印机的方法的流程图;
图3A示出了根据本公开的实施例的用于3D打印机的方法中将图像数据与坐标数据进行时间对齐的示意图;
图3B示出了根据本公开的实施例的用于3D打印机的方法中将图像数据与坐标数据进行时间对齐的另一示意图;
图3C示出了根据本公开的实施例的用于3D打印机的方法中将图像数据与坐标数据进行时间对齐的另一示意图;
图4示出了根据本公开的实施例的检测打印缺陷的方法的流程图;
图5示出了根据本公开的实施例的检测打印缺陷的方法的另一流程图;
图6示出了根据本公开的实施例的检测打印缺陷的方法的另一流程图;
图7示出了根据本公开的实施例的用于3D打印机的装置的结构框图;以及
图8示出了根据本公开的实施例的检测打印缺陷的装置的结构框图。
具体实施方式
以下结合附图对本公开的示例性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示例性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。术语“基于”应解释为“至少部分地基于”。
如前所述,在例如熔融沉积成型(Fused Deposition modeling,FDM)的3D打印过程中,通过逐层(每一层可以称为一个切片)地在预定路径中选择性地沉积熔化的打印材料来构建物体。打印机通过运动控制器来控制打印平台和打印机喷嘴中至少一者的运动,并通过打印机喷嘴供应打印材料来打印模型。
由于运动控制器通常以开环控制的方式控制打印平台或打印机喷嘴的运动,当在打印过程中出现运动控制器的路径规划误差、或打印平台和打印机喷嘴中至少一者的运动误差、或打印机喷嘴的打印异常时,运动控制器可能无法及时改变其规划的路径,从而可能导致打印出的模型存在缺陷。
可以采用闭环控制的方式控制打印平台或打印机喷嘴的运动,例如,利用3D打印机包括的视觉传感系统(例如,相机系统),在打印过程期间捕捉当前打印图案的图像,并且,可以对捕捉到的图像进行分析,进而判断打印出的模型是否存在缺陷。然而,由于相机系统和运动控制系统典型地为独立的异步系统,因此无法得到相机曝光时刻准确的扫描位置坐标,使得在打印过程期间捕捉到的图像往往无法准确反映真实的打印图案。
本公开的实施例通过引入系统同步的思想,使得相机系统和运动控制系统时间同步,从而在打印过程期间捕捉到的图像能够准确地反映真实的打印图案。
下面将结合附图详细描述本公开的实施例。
图1示出了根据本公开的实施例的3D打印机100的示意图。如图1所示,3D打印机100包括打印机喷嘴110、打印平台120、用于基于坐标数据控制打印机喷嘴110和打印平台120中的至少一者运动以执行打印过程的运动控制器130、用于在打印过程期间拍摄打印机喷嘴110打印的图案以生成图像数据的相机140、以及用于处理坐标数据和图像数据的应用处理器150,运动控制器130和应用处理器150通信地连接到同一中断源160。图1中的实线箭头和虚线箭头表示数据、信号或信息的流向。
将理解的是,在下文中结合FDM打印机来描述本公开的示例实施例,但是本公开并不限于FDM打印机。打印机喷嘴110可以被配置为能够挤出任何适于3D打印的材料,包括例如热塑性塑料、合金、金属粉末、陶瓷材料、陶瓷粉末、聚合物等。此外,打印机喷嘴110也可以沉积上述材料的各种组合。
打印机喷嘴110挤出的熔化材料可以在打印平台120的表面沉积并构建成图案,例如,打印机喷嘴110可以逐层地在打印平台120的表面上挤出熔化材料,以构建要打印的物体。
运动控制器130可以用于发送控制信号以控制打印机喷嘴110和打印平台120中的至少一者运动。例如,运动控制器130可以仅控制打印机喷嘴110分别在空间中的X、Y、Z轴线方向(X、Y、Z轴线方向彼此垂直,图中未示出)运动;运动控制器130也可以仅控制打印平台120分别在X、Y、Z轴线方向运动;运动控制器130也可以控制打印机喷嘴110在X、Y轴线方向运动,并控制打印平台120在Z轴线方向运动。将理解的是,运动控制器130可以控制打印机喷嘴110和打印平台120中的至少一者在任意平面、或沿着任意轴线运动,在此不做限定。通常,运动控制器130可以基于打印文件发送控制信号。打印文件包括一系列的指令,该指令可以是G-code的形式或者任何形式的指令,运动控制器130可以从打印文件中读取相应的指令,并发送控制信号。打印文件可以存储在任何适合的形式的存储介质中。
相机140可以用于在打印过程期间拍摄打印机喷嘴110打印的图案以生成图像数据。相机140可以是数码相机。图像数据包括任何形式的图片或视频。在一些示例性实施例中,运动控制器130可以控制相机140运动。示例性地,相机140可以与打印机喷嘴110刚性地连接,例如,相机140可以与打印机喷嘴110分别刚性地固定在同一工具头上。3D打印机100可以包括多个相机140,用于从不同角度拍摄打印机喷嘴110打印的图案。
应用处理器150可以用于处理坐标数据和图像数据。坐标数据可以是从运动控制器130处获取的,并且图像数据可以是从相机140处获取的。进一步地,应用处理器150还可以包括图像处理单元。图像处理单元可以对来自相机140的图像数据进行预处理,例如对图像数据进行自动曝光、高斯滤波、时域中值滤波等,以消除图像中的噪声,使得图像更加适于后续处理。
在一些示例性实施例中,3D打印机100还可以包括激光器170。激光器170可以用于向打印机喷嘴110打印的图案投射激光,相机140可以接收经挤出图案反射的激光,用于辅助成像。示例性地,激光器170可以投射一字型线激光。示例性地,3D打印机100可以包括多个(例如两个)激光器170,以从多个角度进行激光投射,以提高成像的信噪比。激光器170可以与打印机喷嘴110、相机140刚性地连接,例如,激光器170可以与打印机喷嘴110、相机140分别刚性地固定在同一工具头上。运动控制器130也可以控制激光器170运动。
在一些示例性实施例中,相机140可以是第一相机,并且3D打印机100还可以包括第二相机180,第二相机180用于在打印过程期间从不同于第一相机140的角度拍摄打印机喷嘴110打印的目标对象以生成第二图像数据。例如,第一相机140可以设置在毗邻打印机喷嘴110的位置,以从打印的图案上方拍摄打印的图案;第二相机180可以设置在打印平台120的一侧并与第一相机140成一定的角度(例如从打印的对象斜侧方拍摄打印的对象),从而使得第二相机180和第一相机140能够从不同的角度进行拍摄。下文将对第二相机180生成的第二图像数据作出详细介绍。
运动控制器130和应用处理器150通信地连接到同一中断源160。中断源160可以设置在3D打印机100的任意位置,并且可以通过有线连接或无线连接的方式与运动控制器130和应用处理器150通信。
将理解的是,3D打印机100还可以包括其他未示出的部件,例如补光灯(例如LED补光灯),用于辅助相机140进行自适应补光。各个未示出的部件可以与图1示出的部件连接,包括通过有线连接或无线连接的方式与图1示出的部件通信地连接,在此不做限定。
图2示出了根据本公开的实施例的用于3D打印机的方法200的流程图。如图2所示,方法200包括在应用处理器150处执行的步骤210至步骤250。
在步骤210,接收来自中断源160的中断信号。中断源160可以是相对于应用处理器150的外部中断源,例如实时时钟(或时钟电路)。中断信号可以是实时时钟发出的定时中断。
在一些示例性实施例中,中断源160还可以是相机140的时序控制器。相机140的时序控制器可以用于控制相机140的曝光时序。在一些示例性实施例中,相机140的时序控制器可以生成水平同步信号(或称为行同步信号),该水平同步信号可以作为中断信号。在一些示例性实施例中,相机140的时序控制器可以生成垂直同步信号(或称为场同步信号),该垂直同步信号可以作为中断信号。上述中断信号可以是电平形式的电信号。
通过将相机140的时序控制器作为中断源,能够提供具有均匀的时间间隔的中断信号。将理解的是,当3D打印机100包括多个相机140时,可以仅通过多个相机140中的一个相机140的时序控制器来提供中断信号。
在步骤220,记录接收到中断信号时的第一时间t1,第一时间t1指示相对于应用处理器150的时间基准的时间。将理解的是,本文使用的术语“时间基准”可以是指系统时钟的时间,系统时钟例如可以是由振荡器(信号源)、定时唤醒器、分频器等组成的电路。其中,信号源可以是晶体振荡器或RC振荡器。例如,应用处理器150的时间基准可以是应用处理器150的系统时钟的时间。响应于接收到来自中断源160的中断信号,应用处理器150可以记录此时刻相对于应用处理器150自身的系统时钟的第一时间t1
在步骤230,接收来自相机140的与第一时间t1相对应的图像数据,图像数据可以是包含打印机喷嘴110打印的图案的图像数据。在一个示例中,应用处理器150可以同时接收来自相机140的中断信号以及与第一时间t1相对应的图像数据。
在步骤240,接收来自运动控制器130的第二时间t2和与第二时间t2相对应的坐标数据,第二时间t2指示运动控制器130接收到来自中断源160的中断信号时相对于运动控制器130的时间基准的时间。结合图1中的虚线箭头可以看到,不仅应用处理器150可以从中断源160处接收中断信号,运动控制器130也可以从中断源160处接收中断信号。因此,第二时间t2指示的是运动控制器130接收到来自中断源160的该同一中断信号时相对于运动控制器130自身的系统时钟的时间。此外,应用处理器150还可以从运动控制器130接收与该第二时间t2相对应的坐标数据。如前所述,该坐标数据可以是与该第二时间t2相对应的打印机喷嘴110的X、Y、Z轴坐标、也可以是打印机喷嘴110的X、Y轴坐标和打印平台120的Z轴坐标、也可以是打印机喷嘴110和打印平台120的X、Y、Z轴坐标的各种组合。
在步骤250,执行第一时间t1与第二时间t2之间的转换,以使得与第一时间t1相对应的图像数据和与第二时间t2相对应的坐标数据时间同步。在下文中,术语“时间同步”和“时间对齐”可以被互换地使用。
图3A示出了根据本公开的实施例的用于3D打印机的方法200的将图像数据与坐标数据进行时间对齐的示意图。如图3A所示,与第一时间t1相对应的图像数据被示出为310,与第二时间t2相对应的坐标数据被示出为320。由于应用处理器150、相机140和运动控制器130是独立的异步系统,例如,应用处理器150和运动控制器130的系统的上电时间可能不同,或它们的晶体振荡器可能存在固有的性质差异。因此,在接收到来自中断源160的中断信号时,它们各自的第一时间t1和第二时间t2在时间尺度中可能存在差值。例如,应用处理器150记录的接收到中断信号时的第一时间t1是0.10秒,而运动控制器130接收到中断信号时的第二时间t2是0.11秒。如此,与第一时间t1对应的图像数据和与第二时间t2对应的坐标数据可能无法在时间尺度中准确对应。在图3A所示的示例中,第二时间t2的数值被转换成相对应的第一时间t1的数值(即,t2’所对应的时间)。那么,第二时间t2的数值0.11秒可以被转换成0.10秒(如图3A最下方所示),以使得与第一时间t1相对应的图像数据310和与第二时间t2相对应的坐标数据320可以时间同步。
在一个未示出的示例中,第一时间t1的数值可以被转换成相对应的第二时间t2的数值。例如,应用处理器150记录的接收到中断信号时的第一时间t1是0.11秒,而运动控制器130接收到中断信号时的第二时间t2是0.10秒,那么,第一时间t1的数值0.11秒可以被转换成0.10秒,以使得与第一时间t1相对应的图像数据和与第二时间t2相对应的坐标数据可以时间同步。
由此,通过使用来自同一中断源160的中断信号触发两个独立的异步系统(由于应用处理器150和运动控制器130的系统的上电时间可能不同,或它们的晶体振荡器可能存在固有的性质差异,因此,应用处理器150和运动控制器130的系统可能是异步系统),使得两个时间异步的系统的时间能够同步。因此,使得在时间尺度中,相机140捕捉得到的图像中的像素点能够与该像素点的坐标准确对应,从而使得在打印过程期间捕捉到的图像能够准确反映当前真实的打印图案。
在一些示例性实施例中,在步骤250,执行第一时间t1与第二时间t2之间的转换包括:响应于确定第一时间t1与第二时间t2之间的差值小于预设的第一阈值,执行上述转换。图3B示出了根据本公开的实施例的用于3D打印机的方法200的将图像数据与坐标数据进行时间对齐的另一示意图。如图3B所示,第一阈值可以是0.015秒,当确定第一时间t1与第二时间t2之间的差值小于0.015秒时,才执行第一时间t1与第二时间t2之间的转换。如图3B所示,当第二时间t2是0.25秒时,该第二时间t2与第一时间t1(无论是t1是0.20s还是0.30s)的差值均为0.05秒,且都大于第一阈值0.015秒。这可能意味着与该第二时间t2相对应的坐标数据并不表示与第一时间t1相对应的图像数据中的像素点的准确位置。因此,并未执行上述转换。这样,能够减少或避免在因机器误差或其他原因产生的异常值的情况下,将原本不应互相同步的图像数据和坐标数据进行时间同步。
在一些示例性实施例中,中断源160被配置为周期性地向运动控制器130和应用处理器150提供中断信号,并且,执行第一时间t1与所述第二时间t2之间的转换包括:响应于确定针对连续多个中断信号中的每一中断信号,第一时间t1与第二时间t2之间的差值均小于预设的第一阈值,执行上述转换。例如,上述连续多个中断信号可以是连续三个中断信号。图3C示出了根据本公开的实施例的用于3D打印机的方法200的将图像数据与坐标数据进行时间对齐的另一示意图。如图3C所示,t1和t2分别是应用处理器150和运动控制器130接收到来自中断源160的周期性的中断信号时的时间。由于当第二时间t2是0.25秒时,t2与第一时间t1(无论是0.20s还是0.30s)的差值均都大于第一阈值0.015秒,因此上述转换还未进行。当分别为0.31秒、0.41秒、0.51秒的第二时间t2与分别为0.30秒、0.40秒、0.50秒的第一时间t1之间的差值均小于预设的第一阈值0.015秒时,可以从第t2=0.51秒开始,执行上述转换。这样,能够进一步减少或避免在因机器误差或其他原因产生的异常值的情况下,将原本不应互相同步的图像数据和坐标数据进行时间同步。
将理解的是,上述连续多个中断信号可以是连续两个中断信号、也可以是连续四个中断信号、也可以是连续五个中断信号。连续的中断信号的数量可以根据实际需求来设定。
在一些示例性实施例中,第一阈值是相机140捕获的连续两帧图像之间的时间间隔。例如,相机140的拍摄频率是60Hz,则相机140捕获的连续两帧图像之间的时间间隔是(1/60)秒,即,约为0.01667秒。采用连续两帧图像之间的时间间隔作为第一阈值,能够使得是相机140捕获的每一帧图像均可以与相应的坐标数据进行时间同步。在一些示例性实施例中,第一阈值可以是相机140捕获的更多帧图像之间的时间间隔。例如,第一阈值可以是相机140捕获的三帧图像之间的时间间隔、四帧图像之间的时间间隔等等,这可以根据实际需求进行设置。
将理解的是,本文所述的第一时间t1与第二时间t2之间的差值包括差值的绝对值。
在一些示例性实施例中,第二时间和坐标数据是运动控制器130以预设的时间间隔发送的。例如,运动控制器130可以每隔0.5秒、1秒或2秒向应用处理器150发送一次第二时间和坐标数据。通常情况下,由于运动控制器130的时钟频率远大于相机140的拍摄频率,因此,将适当的间隔的第二时间和坐标数据发送至应用处理器150,以便于应用处理器150能够将从相机140接收到的图像数据与相应的坐标数据进行时间对齐,而无需接收来自运动控制器130的每一个坐标数据。因此,在保证了打印过程期间捕捉到的图像能够准确反映当前真实的打印图案的前提下,减轻了应用处理器150的数据计算压力。
在一些示例性实施例中,与第一时间相对应的图像数据是截至第一时间从相机140接收到的最新的图像数据。
在一些示例性实施例中,与第二时间相对应的坐标数据是截至第二时间运动控制器130所使用的最新的坐标数据。
由此,在3D打印过程中,应用处理器150接收到的图像数据和坐标数据均是在时间刻度中最新的数据,从而使得经时间同步的图像数据和坐标数据能够实时地反映在3D打印过程中的真实的打印图案,以便于实时地对打印情况进行评估,从而及时发现3D打印过程中的打印缺陷。
图4示出了根据本公开的实施例的检测打印缺陷的方法400的流程图。如图4所示,方法400包括步骤410至步骤440。
在步骤410,在打印目标对象的当前切片期间执行根据上述的方法200,以得到针对当前切片的时间同步的图像数据和坐标数据。
在步骤420,基于时间同步的图像数据和坐标数据生成第一深度图,第一深度图包含当前切片相对于相机的真实深度信息。第一深度图可以反映当前切片(当前打印的层)相对于相机140的真实深度信息(即,每个像素点距离相机140的距离)。
在步骤430,获取第二深度图,第二深度图包含当前切片相对于相机的期望深度信息。
在一些示例性实施例中,在步骤430,可以从与当前切片相对应的打印文件中重建第二深度图。如前所述,打印文件可以包括一系列的指令(该指令可以是G-code的形式或者任何形式的指令)。从打印文件中,基于指令所指示的运动信息,处理器150能够重建出当前打印的层所对应的第二深度图,该第二深度图可以反映当前切片(当前打印的层)相对于相机140的期望深度信息。
在一些示例性实施例中,在步骤430,可以从与3D打印机100相分离的计算机获取第二深度图。与3D打印机100相分离的计算机(图中未示出)可以是安装有切片软件的计算机,也可以是云端服务器。
安装有切片软件的计算机可以与3D打印机100通信地连接。切片软件能够对要打印的目标模型数据进行切片,并针对每个切片生成相应的运动指令。在执行打印过程之前,切片软件可以基于运动指令所指示的运动信息,重建出将要打印的每个层所对应的第二深度图,该第二深度图可以反映每个层相对于相机140的期望深度信息。通过从安装有切片软件的计算机处直接获取切片软件所生成的第二深度图,可以减少处理器150的计算量。
云端服务器可以与3D打印机100通信地连接。并且,云端服务器可以从打印文件中,基于指令所指示的运动信息,重建出当前打印的层所对应的第二深度图,该第二深度图可以反映当前切片相对于相机140的期望深度信息。通过从云端服务器处获取云端服务器所生成的第二深度图,可以减少处理器150的计算量。第二深度图可以是云端服务器实时地向处理器150发送的。
将理解的是,处理器150可以根据实际需求,从处理器150、安装有切片软件的计算机或云端服务器中的一者或多者处获取第二深度图。
在步骤440,响应于确定第一深度图与第二深度图之间的深度差值大于预设的第二阈值,确定存在第一打印缺陷。可以根据待打印的目标物体的尺寸、形状、使用的打印材料的性质等参数,确定第二阈值的大小。例如,第二阈值可以是0.5mm,即,当第一深度图的某个点与第二深度图的相应的点之间的深度差值大于0.5mm时,确定打印出的图案存在第一打印缺陷。
由于图像数据和坐标数据经过时间同步,因此,经同步的图像数据能够准确地反映当前真实的打印图案。由此,将基于时间同步的图像数据和坐标数据生成的第一深度图与包含期望深度信息的第二深度图进行比较,能够准确地确定打印出的图案是否存在缺陷、或确定缺陷的准确度量,从而减少对打印缺陷的错误判断。
图5示出了根据本公开的实施例的检测打印缺陷的方法500的流程图。如图5所示,方法500包括步骤510至步骤560。
步骤510至步骤540与上面关于图4描述的步骤410至步骤440相同,为了简洁起见,在此不再赘述。
在步骤550,响应于确定存在第一打印缺陷,确定与第一打印缺陷相对应的第一修复策略。在一个实施例中,可以对打印缺陷的数值进行聚类操作,对于不同类型的打印缺陷,可以确定对应的修复策略。例如,对于某个打印层存在欠打印的情况(例如,在某个本该沉积打印材料的位置未沉积打印材料),可以确定其相应的修复策略为对该层进行补充打印。
在步骤560,使运动控制器130基于第一修复策略控制打印机喷嘴110和打印平台120中的至少一者运动以执行缺陷修复。例如,运动控制器130可以仅控制打印机喷嘴110分别在空间中的X、Y、Z轴线方向(X、Y、Z轴线方向彼此垂直,图中未示出)运动以执行缺陷修复(例如进行补充打印);运动控制器130也可以仅控制打印平台120分别在X、Y、Z轴线方向运动以执行缺陷修复(例如进行补充打印);运动控制器130也可以控制打印机喷嘴110在X、Y轴线方向运动,并控制打印平台120在Z轴线方向运动以执行缺陷修复(例如进行补充打印)。将理解的是,运动控制器130可以控制打印机喷嘴110和打印平台120中的至少一者在任意平面、或沿着任意轴线运动以执行缺陷修复。
由此,通过对不同类型的打印缺陷确定并执行相应的修复策略,能够提高3D打印过程的打印精度,从而得到精度更高的打印物体。
图6示出了根据本公开的实施例的检测打印缺陷的方法600的另一流程图。
如图6所示,方法600包括步骤610至步骤670。
步骤610至步骤640与上面关于图4描述的步骤410至步骤440相同,为了简洁起见,在此不再赘述。
在步骤650,接收来自第二相机180的第二图像数据。如前所述,第二相机180可以设置在打印平台120的一侧并与第一相机140成一定的角度(例如从打印的对象斜侧方拍摄打印的对象),拍摄得到第二图像数据。由于第二相机180的位置与第一相机140不同,因此,第二图像数据与第一图像数据也不同。应当理解,第二相机180与第一相机140可以是同一类型的相机,也可以是不同类型的相机。
在步骤660,获取目标对象的期望图像数据,该期望图像数据表示从第二相机180的视点观察基于在打印目标对象期间截至当前切片所执行的打印文件重建的虚拟目标对象而得到的虚拟图像。由于第二相机180的安装位置和角度是已知的,其相对于打印机喷嘴110的位置和角度也是已知的,在打印过程中,处理器150可以基于截至当前切片所执行的打印文件以及第二相机180相对于打印机喷嘴110的相对位置关系,重建得到从第二相机180的视点观察到的虚拟图像。
在步骤670,响应于确定第二图像数据与期望图像数据之间的图像差值大于预设的第三阈值,确定存在第二打印缺陷。可以根据待打印的目标物体的尺寸、形状、使用的打印材料的性质等参数,确定第三阈值的大小。
方法600还可以包括步骤680和步骤690。
在步骤680,响应于确定存在第二打印缺陷,确定与第二打印缺陷相对应的第二修复策略。在一个实施例中,可以对打印缺陷的数值进行聚类操作,对于不同类型的打印缺陷,可以确定对应的修复策略。例如,对于某个打印层存在欠打印的情况(例如,在某个本该沉积打印材料的位置未沉积打印材料),可以确定其相应的修复策略为对该层进行补充打印。应当理解的是,第二修复策略可以与前述的第一修复策略相同或不同。
在步骤690,使运动控制器130基于第二修复策略控制打印机喷嘴110和打印平台120中的至少一者运动以执行缺陷修复。例如,运动控制器130可以仅控制打印机喷嘴110分别在空间中的X、Y、Z轴线方向(X、Y、Z轴线方向彼此垂直,图中未示出)运动以执行缺陷修复(例如进行补充打印);运动控制器130也可以仅控制打印平台120分别在X、Y、Z轴线方向运动以执行缺陷修复(例如进行补充打印);运动控制器130也可以控制打印机喷嘴110在X、Y轴线方向运动,并控制打印平台120在Z轴线方向运动以执行缺陷修复(例如进行补充打印)。将理解的是,运动控制器130可以控制打印机喷嘴110和打印平台120中的至少一者在任意平面、或沿着任意轴线运动以执行缺陷修复。
由此,通过设置与第一相机140处于不同位置的第二相机180,处理器150能够确定与第一打印缺陷不同的第二打印缺陷。因此,可以进一步减少对打印缺陷的错误判断,从而能够进一步提高3D打印过程的打印精度,得到精度更高的打印物体。
图7示出了根据本公开的实施例的用于3D打印机100的装置700的结构框图。正如上文所提到的,3D打印机100包括打印机喷嘴110、打印平台120、用于基于坐标数据控制打印机喷嘴110和打印平台120中的至少一者运动以执行打印过程的运动控制器130、用于在打印过程期间拍摄打印机喷嘴110打印的图案以生成图像数据的相机140、以及用于处理坐标数据和图像数据的应用处理器150,运动控制器130和应用处理器150通信地连接到同一中断源160。装置700驻留在应用处理器150上并且包括:
用于接收来自中断源的中断信号的模块710;
用于记录接收到中断信号时的第一时间的模块720,第一时间指示相对于应用处理器的时间基准的时间;
用于接收来自相机的与第一时间相对应的图像数据的模块730;
用于接收来自运动控制器的第二时间和与第二时间相对应的坐标数据的模块740,第二时间指示运动控制器接收到来自中断源的中断信号时相对于运动控制器的时间基准的时间;以及
用于执行第一时间与第二时间之间的转换的模块750,以使得与第一时间相对应的图像数据和与第二时间相对应的坐标数据时间同步。
图8示出了根据本公开的实施例的检测打印缺陷的装置800的结构框图。装置800包括:
用于在打印目标对象的当前切片期间执行根据上述方法的模块810,以得到针对当前切片的时间同步的图像数据和坐标数据;
用于基于时间同步的图像数据和坐标数据生成第一深度图的模块820,第一深度图包含当前切片相对于相机的真实深度信息;
用于获取第二深度图的模块830,第二深度图包含当前切片相对于相机的期望深度信息;以及
用于响应于确定真实深度图与理论深度图之间的深度差值大于预设的第二阈值,确定存在第一打印缺陷的模块840。
虽然上面参考特定模块讨论了特定功能,但是应当注意,本文讨论的各个模块的功能可以分为多个模块,和/或多个模块的至少一些功能可以组合成单个模块。本文讨论的特定模块执行动作包括该特定模块本身执行该动作,或者替换地该特定模块调用或以其他方式访问执行该动作(或结合该特定模块一起执行该动作)的另一个组件或模块。因此,执行动作的特定模块可以包括执行动作的该特定模块本身和/或该特定模块调用或以其他方式访问的、执行动作的另一模块。
还应当理解,本文可以在软件硬件元件或程序模块的一般上下文中描述各种技术。上面关于图7和8描述的各个模块可以在硬件中或在结合软件和/或固件的硬件中实现。例如,这些模块可以被实现为计算机程序代码/指令,该计算机程序代码/指令被配置为在一个或多个处理器中执行并存储在计算机可读存储介质中。可替换地,这些模块可以被实现为硬件逻辑/电路。例如,在一些实施例中,这些模块中的一个或多个可以一起被实现在片上系统(SoC)中。SoC可以包括集成电路芯片(其包括处理器(例如,中央处理单元(CPU)、微控制器、微处理器、数字信号处理器(DSP)等)、存储器、一个或多个通信接口、和/或其他电路中的一个或多个部件),并且可以可选地执行所接收的程序代码和/或包括嵌入式固件以执行功能。
根据本公开的实施例,还提供了一种存储有指令的非瞬时计算机可读存储介质,指令用于使如上所述的3D打印机100执行如本公开任一实施例所描述的方法。
根据本公开的实施例,还提供了一种计算机程序产品,包括指令,指令用于使如上所述的3D打印机100执行如本公开任一实施例所描述的方法。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本公开的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。

Claims (19)

1.一种用于3D打印机的方法,其中,所述3D打印机包括打印机喷嘴、打印平台、用于基于坐标数据控制所述打印机喷嘴和所述打印平台中的至少一者运动以执行打印过程的运动控制器、用于在所述打印过程期间拍摄所述打印机喷嘴打印的图案以生成图像数据的相机、以及用于处理所述坐标数据和所述图像数据的应用处理器,其中,所述运动控制器和所述应用处理器通信地连接到同一中断源,所述方法包括:
在所述应用处理器处:
接收来自所述中断源的中断信号;
记录接收到所述中断信号时的第一时间,其中,所述第一时间指示相对于所述应用处理器的时间基准的时间;
接收来自所述相机的与所述第一时间相对应的图像数据;
接收来自所述运动控制器的第二时间和与所述第二时间相对应的坐标数据,其中,所述第二时间指示所述运动控制器接收到来自所述中断源的所述中断信号时相对于所述运动控制器的时间基准的时间;以及
执行所述第一时间与所述第二时间之间的转换,以使得与所述第一时间相对应的所述图像数据和与所述第二时间相对应的所述坐标数据时间同步。
2.根据权利要求1所述的方法,其中,所述执行所述第一时间与所述第二时间之间的转换包括:
响应于确定所述第一时间与所述第二时间之间的差值小于预设的第一阈值,执行所述转换。
3.根据权利要求1所述的方法,其中,所述中断源被配置为周期性地向所述运动控制器和所述应用处理器提供所述中断信号,并且
其中,所述执行所述第一时间与所述第二时间之间的转换包括:
响应于确定针对连续多个所述中断信号中的每一中断信号,所述第一时间与所述第二时间之间的差值均小于预设的第一阈值,执行所述转换。
4.根据权利要求1至3中任一项所述的方法,其中,所述中断源是所述相机的时序控制器。
5.根据权利要求2或3述的方法,其中,所述第一阈值是所述相机捕获的连续两帧或更多帧图像之间的时间间隔。
6.根据权利要求1至3中任一项所述的方法,其中,所述第二时间和所述坐标数据是所述运动控制器以预设的时间间隔发送的。
7.根据权利要求1至3中任一项所述的方法,其中,与所述第一时间相对应的图像数据是截至所述第一时间从所述相机接收到的最新的图像数据。
8.根据权利要求1至3中任一项所述的方法,其中,与所述第二时间相对应的坐标数据是截至所述第二时间所述运动控制器所使用的最新的坐标数据。
9.一种检测打印缺陷的方法,包括:
在打印目标对象的当前切片期间执行根据权利要求1至8中任一项所述的方法,以得到针对所述当前切片的时间同步的图像数据和坐标数据;
基于所述时间同步的图像数据和坐标数据生成第一深度图,所述第一深度图包含所述当前切片相对于所述相机的真实深度信息;
获取第二深度图,所述第二深度图包含所述当前切片相对于所述相机的期望深度信息;以及
响应于确定所述第一深度图与所述第二深度图之间的深度差值大于预设的第二阈值,确定存在第一打印缺陷。
10.根据权利要求9所述的方法,其中,获取所述第二深度图包括以下各项中的至少一项:
从与所述当前切片相对应的打印文件中重建所述第二深度图;或
从与所述3D打印机相分离的计算机获取所述第二深度图。
11.根据权利要求9所述的方法,还包括:
响应于确定存在所述第一打印缺陷,确定与所述第一打印缺陷相对应的第一修复策略;以及
使所述运动控制器基于所述第一修复策略控制所述打印机喷嘴和所述打印平台中的至少一者运动以执行缺陷修复。
12.根据权利要求9所述的方法,其中,所述相机是第一相机,所述第一相机在所述打印过程期间拍摄所述打印机喷嘴打印的图案生成的图像数据是第一图像数据,并且所述3D打印机还包括第二相机,所述第二相机用于在所述打印过程期间从不同于所述第一相机的角度拍摄所述打印机喷嘴打印的目标对象以生成第二图像数据,所述方法还包括:
接收来自所述第二相机的第二图像数据;
获取所述目标对象的期望图像数据,所述期望图像数据表示从所述第二相机的视点观察基于在打印所述目标对象期间截至当前切片所执行的打印文件重建的虚拟目标对象而得到的虚拟图像;
响应于确定所述第二图像数据与所述期望图像数据之间的图像差值大于预设的第三阈值,确定存在第二打印缺陷。
13.根据权利要求12所述的方法,还包括:
响应于确定存在所述第二打印缺陷,确定与所述第二打印缺陷相对应的第二修复策略;以及
使所述运动控制器基于所述第二修复策略控制所述打印机喷嘴和所述打印平台中的至少一者运动以执行缺陷修复。
14.一种3D打印机,包括:
打印机喷嘴;
打印平台;
运动控制器,用于基于坐标数据控制所述打印机喷嘴和所述打印平台中的至少一者运动以执行打印过程;
相机,用于在所述打印过程期间拍摄所述打印机喷嘴打印的图案以生成图像数据;和
应用处理器,用于处理所述坐标数据和所述图像数据,
其中,所述运动控制器和所述应用处理器通信地连接到同一中断源,并且
其中,所述应用处理器被配置为执行指令以实施如权利要求1至13中任一项所述的方法。
15.根据权利要求14所述的3D打印机,还包括激光器,用于向所述打印的图案投射激光以辅助所述相机生成图像数据。
16.一种用于3D打印机的装置,其中,所述3D打印机包括打印机喷嘴、打印平台、用于基于坐标数据控制所述打印机喷嘴和所述打印平台中的至少一者运动以执行打印过程的运动控制器、用于在所述打印过程期间拍摄所述打印机喷嘴打印的图案以生成图像数据的相机、以及用于处理所述坐标数据和所述图像数据的应用处理器,其中,所述运动控制器和所述应用处理器通信地连接到同一中断源,所述装置驻留在所述应用处理器上并且包括:
用于接收来自所述中断源的中断信号的模块;
用于记录接收到所述中断信号时的第一时间的模块,其中,所述第一时间指示相对于所述应用处理器的时间基准的时间;
用于接收来自所述相机的与所述第一时间相对应的图像数据的模块;
用于接收来自所述运动控制器的第二时间和与所述第二时间相对应的坐标数据的模块,其中,所述第二时间指示所述运动控制器接收到来自所述中断源的所述中断信号时相对于所述运动控制器的时间基准的时间;以及
用于执行所述第一时间与所述第二时间之间的转换的模块,以使得与所述第一时间相对应的所述图像数据和与所述第二时间相对应的所述坐标数据时间同步。
17.一种检测打印缺陷的装置,包括:
用于在打印目标对象的当前切片期间执行根据权利要求1至8中任一项所述方法的模块,以得到针对所述当前切片的时间同步的图像数据和坐标数据;
用于基于所述时间同步的图像数据和坐标数据生成第一深度图的模块,所述第一深度图包含所述当前切片相对于所述相机的真实深度信息;
用于获取第二深度图的模块,所述第二深度图包含所述当前切片相对于所述相机的期望深度信息;以及
用于响应于确定所述真实深度图与所述理论深度图之间的深度差值大于预设的第二阈值,确定存在第一打印缺陷的模块。
18.一种存储有指令的非瞬时计算机可读存储介质,其中,所述指令用于使根据权利要求14或15所述的3D打印机执行根据权利要求1至13中任一项所述的方法。
19.一种计算机程序产品,包括指令,所述指令用于使根据权利要求14或15所述的3D打印机执行根据权利要求1至13中任一项所述的方法。
CN202111050567.6A 2021-09-08 2021-09-08 用于3d打印机的方法、装置、3d打印机和存储介质 Pending CN115771267A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111050567.6A CN115771267A (zh) 2021-09-08 2021-09-08 用于3d打印机的方法、装置、3d打印机和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111050567.6A CN115771267A (zh) 2021-09-08 2021-09-08 用于3d打印机的方法、装置、3d打印机和存储介质

Publications (1)

Publication Number Publication Date
CN115771267A true CN115771267A (zh) 2023-03-10

Family

ID=85388122

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111050567.6A Pending CN115771267A (zh) 2021-09-08 2021-09-08 用于3d打印机的方法、装置、3d打印机和存储介质

Country Status (1)

Country Link
CN (1) CN115771267A (zh)

Similar Documents

Publication Publication Date Title
AU2017265050B2 (en) Automatic process control of additive manufacturing device
CN105813825B (zh) 集成的测量与添加制造设备和方法
US11305354B2 (en) Machine control for additive manufacturing process and apparatus
TWI518583B (zh) 立體列印裝置及其列印異常偵測方法
CN102647553B (zh) 图像测量装置以及自动对焦控制方法
CN112677487B (zh) 3d打印的控制方法、控制系统及3d打印设备
JP5496008B2 (ja) 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
CN112651949B (zh) 3d打印监控方法、装置、电子设备及存储介质
CN107187058A (zh) 3d打印闭环控制方法、装置、3d打印机和存储介质
WO2016022336A2 (en) Systems and methods of machine vision assisted additive fabrication
JP6436743B2 (ja) 画像情報処理装置、画像情報処理方法およびプログラム、並びに撮像装置
CN110414403A (zh) 一种基于机器视觉的3d打印过程监控方法
CN108724733B (zh) 一种面向面曝光3d打印的视觉监视反馈方法
KR101715325B1 (ko) 3차원 스캔 기술을 사용한 사진 설계 도면 제공 방법 및 시스템
CN112596981B (zh) 三维打印进程的监测方法、装置、设备及存储介质
CN116277973B (zh) 一种3d打印检测系统
EP3800539A1 (en) Method and system for operating a metal drop ejecting three-dimensional (3d) object printer to compensate for drop size variations
EP4088908B1 (en) Compensation method for 3d printer, 3d printer, and storage medium
CN115908720A (zh) 三维重建方法、装置、设备及存储介质
CN115771267A (zh) 用于3d打印机的方法、装置、3d打印机和存储介质
CN108248048A (zh) 一种3d打印机的打印方法
US20200130282A1 (en) Thermal image and 3d print process synchronization
CN109304871A (zh) 一种铺粉控制方法及其增材制造设备
Lackner et al. Computer Vision Based Analysis for Fused Filament Fabrication Using a G-Code Visualization Comparison
CN219903370U (zh) 一种3d模组及3d打印机

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination