CN109989585A - 一种3d打印机打印精度的实时反馈控制方法 - Google Patents
一种3d打印机打印精度的实时反馈控制方法 Download PDFInfo
- Publication number
- CN109989585A CN109989585A CN201910203573.7A CN201910203573A CN109989585A CN 109989585 A CN109989585 A CN 109989585A CN 201910203573 A CN201910203573 A CN 201910203573A CN 109989585 A CN109989585 A CN 109989585A
- Authority
- CN
- China
- Prior art keywords
- layer
- matrix
- image
- sensor
- height
- 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.)
- Granted
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE 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/00—Data acquisition or data processing for additive manufacturing
- B33Y50/02—Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
-
- E—FIXED CONSTRUCTIONS
- E04—BUILDING
- E04G—SCAFFOLDING; FORMS; SHUTTERING; BUILDING IMPLEMENTS OR AIDS, OR THEIR USE; HANDLING BUILDING MATERIALS ON THE SITE; REPAIRING, BREAKING-UP OR OTHER WORK ON EXISTING BUILDINGS
- E04G21/00—Preparing, conveying, or working-up building materials or building elements in situ; Other devices or measures for constructional work
- E04G21/02—Conveying or working-up concrete or similar masses able to be heaped or cast
- E04G21/04—Devices for both conveying and distributing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
- G06V10/245—Aligning, centring, orientation detection or correction of the image by locating a pattern; Special marks for positioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
Abstract
本发明公开了一种3D打印机打印精度的实时反馈控制方法,分两大部分进行,第一部分,通过打印机机械自身的反馈控制系统,降低打印机机械的定位误差;第二部分,通过打印机与打印对象之间的反馈调整系统,降低混凝土对象的成型误差。其中第二部分分为两阶段定位方法,第一阶段为水平相对位置反馈调整系统,第二阶段为竖直相对位置反馈调整系统。两阶段相互配合,从而实现了打印喷头与打印对象之间的精确调整定位。两大系统相互配合,组成喷嘴位置的实时反馈控制系统,可以有效降低打印机和打印对象之间的耦合误差,提高3D打印机的打印精度,丰富打印效果。
Description
技术领域
本发明属于土木技术领域,特别涉及一种3D打印机打印精度的实时反馈控制方法。
背景技术
建筑工业化是生产方式的变革,是传统产方式向现代工业化生产方式转变的过程。 不仅节能、环保、低碳,解决了资源浪费、环境污染问题,而且大大提升了工程质量同时兼顾安全和效率;它将工程建造之间的设计、生产、施工、验收、管理之间各个过 程科学的紧密结合起来,面对我国当今建筑业劳动力成本提高、劳动力和技术工人短缺 等人力资源问题也是必然选择。
建筑工业化带来的好处的同时,它的缺点也同样明显。工业化建筑力求结构或构件 标准化和模数化设计,建筑的体型或外观较为单一,与建筑结构设计的个性化和多样化形成矛盾。为此,需要研究复杂造型的建筑部品和构配件的柔性制造技术,作为标准化 建筑部品和构配件的必要补充,促进建筑工业化快速协调发展。
3D打印建筑是混凝土结构的增材制造方法,是一种将改进配合比的混凝土与3D打印技术相结合的学科交叉型快速成型技术,是建筑工业化未来的发展方向之一,有广阔 的应用前景。但是,由于打印环境(温度、湿度等等)的复杂性、机械结构自身精度的 影响,打印台精度条件的限制,加上混凝土自身材料性质的影响,打印的对象与最初设 计的效果往往有一定出入,影响使用。传统的方案是在机械结构上使用编码器等,实现 系统闭环控制,保证机械结构按照数控程序的设定进行打印,提高机械结构精度。但是 这种方法,并没有考虑混凝土自身材料的性质,打印的混凝土材料在成型硬化过程中, 受到重力等自然条件或后打印的混凝土对前混凝土外力挤压等的影响,会发生一定程度 的变形。同时,由于机械系统误差降低有限,机械系统与混凝土材料之间的耦合误差仍 然存在,所以随着打印的进行,打印对象的精度会逐渐下降,影响使用。
发明内容
发明目的:针对上述缺陷,本发明提供一种精度高,不影响使用的3D打印机打印精度的实时反馈控制方法。
技术方案:本发明提出一种3D打印机打印精度的实时反馈控制方法,包括如下步骤:
(1)通过打印机机械自身的反馈控制系统,降低打印机机械的定位误差;
(2)通过打印机与打印对象之间的反馈调整系统,降低混凝土对象的成型误差;
(2.1)通过水平相对位置反馈调整系统对于水平相对位置进行调整;
(2.1.1)初步定位调整;
(2.1.1.1)通过摄像头拍照;
(2.1.1.2)通过深度学习技术进行图像识别;
(2.1.1.3)根据分割后的图像精确确定所拍摄的混凝土对象在照片中的位置;
(2.1.1.4)通过定位算法反算出摄像头与混凝土对象的相对位置;
(2.1.1.5)通过数控程序,反馈给下位机,控制机械系统,初步调整喷嘴位置;
(2.1.2)精确定位调整;
(2.1.2.1)传感器的测点位置为可调节式,在打印开始之前,根据打印的喷嘴形状确定两个传感器的位置;
两个传感器布置喷头腔体外壁正前方1cm处,传感器之间的距离等于喷嘴的宽度;
(2.1.2.2)启动精确定位反馈系统;
(2.1.2.3)传感器读取高度数据,将数据传输到计算机;
(2.1.2.4)通过传感器高度判比算法对数据处理;算法如下所示;
(2.2)通过竖直相对位置反馈调整系统对于竖直相对位置进行调整。
进一步的,所述步骤(2.1.1.2)中通过深度学习技术进行图像识别的具体步骤如下;
制作图像数据集Photoset,在反馈调整系统未使用的3D打印机上进行实体打印,通过固定在3D打印机的摄像头上进行定时拍摄;摄像头选择普通USB摄像头,摄像头 分辨率选择480×360,帧率选择30FPS,每打印5层,暂停拍摄,重新打印拍摄;1s中 内,选取1张图像放入数据集;
初选数据集由2200张图像组成;
Photoset={Photo1,Photo2,...,Photo2200}
制作训练数据集Trainset和测试数据集Testset;
首先对图像进行标记;设定标记的类别为1类——Concrete;标记完成后,运行脚本文件,将标记生成的.json文件生成文件夹train_data,其中包括info.yaml、label.png、原图五个文件;选择1-2000个文件夹建立训练数据集,选择2001-2200个文件夹,建立 测试数据集;
Trainset={Data1,Data2,...,Data2000}
Testset={Data2001,Data2002,...,Data2200}
进行适合于图像的修改,由于图像尺寸较小,修改anchor scales为(16,32,64,128), anchor ratios不变,为(0.5,1,2);将该锚点数目改成了12个;
进行训练图像和测试图像;
先使用Resnet-101残差网络和FPN特征金字塔网络作为共享卷积层,进行特征提取,生成特征图像feature maps;Resnet-101残差网络是一种卷积神经网络,包括101 个卷积层;残差公式为:y=F(x,{Wi})+x;使用特征金字塔网络的优势是,可以把低 分辨率、高语义信息的高层特征和高分辨率、低语义信息的低层特征进行自上而下的侧 边连接,使得所有尺度下的特征都有丰富的语义信息;算法结构可以分为三个部分:自 下而上的卷积神经网络前向过程,自上而下的上采样过程和特征与特征之间的侧边连接;
再将特征图像导入RPN网络生成候选区域region proposal的集合;即预先找出目标 可能出现的位置,利用图像中的纹理、边缘、颜色等信息,保证在选取较少窗口的情况下,保持较高的准确率;使用3×3的卷积核在特征图像是进行滑动扫描,每一个锚点都 以当前滑动中心为中心,并对应一种尺度和长宽比,则对于每一个位置会生成12个锚 点;将扫描结果映射到一个256维向量中,将该低维向量送入两个全连接层:分类层cls layer和边框回归层reg layer;边框回归层用来预测每个位置上12个锚点应该平移缩放 的四个参数(x,y,w,h),其中四个参数分别表示锚点包围盒中心坐标(x,y)和锚点包围盒的 宽w、高h,分类层用来输出每一个位置上12个锚点是前景object和背景non-object的 概率;
首先定义IoU,该参数表示两个边界框的重叠程度,在实际RPN训练中,表示候选区域与人工标注数据的重叠程度,IoU越大,则表示重叠程度越高,效果越好,IoU由如 下公式定义:
IoU=(A∩B)/(A∪B)=SI/(SA+SB-SI)
A和B都表示矩形包围盒bounding box;
为了训练RPN,给每一个锚点都分配一个二进制的标签,分为正标签positivelabel 和负标签negative label;对于既没有正标签也没有负标签的锚点,训练中没有任何作用, 为了提高效率,予以舍弃;
negative label{与所有GT包围盒的IoU值均小于0.5
在目标检测Faster R-CNN框架中,IoU阈值为0.7,在本发明采用的MaskR-CNN 框架中,IoU阈值为0.5;
分类层为1×1的卷积层,输出k+1维数组p,表示k类锚点的建议区域和每个区 域属于背景的概率;对于每个感兴趣的区域RoI,Region ofInteresting,输出离散型概率 分布:
p=(p0,p1,...,pk)
通常,p由k+1类的全连接层利用softmax归一化指数函数计算得出;
softmax函数公式为:
边框回归层为1×1的卷积层,用于修正候选区域位置,输出4×k维数组,k定义同上,表示锚点数;
这四个值的意思是修正后的候选区域在原来锚点位置x和y方向上做出的平移并且宽度和高度各自放大一定的倍数
通过下面的两个损失函数,训练RPN网络得到分类层和边框输出层的相关输出参数;
分类层损失函数为:
回归层损失函数为:
其中,鲁棒的损失函数(smoothL1):
所以,训练RPN的总损失函数可以写成:
其中,i是锚点的索引,pi是锚点i是目标的预测概率;如果之前给锚点贴上正标签, 则如果为负标签,则表示与正标签锚点相对于的GT包围盒的坐标向量。Ncls、Nreg和λ均为常数;
然后通过ROIAlign层为RPN网络输出的每一个感兴趣的区域从共享卷积层中选取对应的特征,同时将特征整合满足全卷积网络的输入需求;先通过双线性插值去精确查 找每个区域对应的特征,输出为(14×14)的矩阵;再通过池化操作最终为每个区域输出 为(6×6)的特征矩阵;
最后将ROIAlign层选取的特征和区域导入全卷积网络,进行分类、回归和输出Mask预测;
最终,MaskR-CNN的训练损失函数可以描述为:
Lfinal=L({pi},{ti})+(Lcls+Lbox+Lmask)
为了更形象的展示识别效果,本发明提出混凝土对象拍摄图像的实例分割结果评价 算法;定义:TP=True Positive,FP=False Positive,FN=FalseNegative,width和height是图 像的像素在宽度和高度方向上的数目;Precision表示准确率,Recall表示召回率;图像 实例分割结果评价算法具体步骤如下;
从深度学习图像识别结果中提取mask结果,设local矩阵使得local=mask
从标记结果中提取测试图片人工标记区域,载入GroundTruth矩阵中
遍历测试图像的每一个像素
计算TP、FN和FP
如果GroundTruthij≠0并且GroundTruthij=localij TP=TP+1
如果GroundTruthij≠0并且GroundTruthij≠localij FN=FN+1
如果groundTruthij=0并且GroundTruthij≠localij FP=FP+1
其中,i=0,1,...,width-1j=0,1,...,height-1
计算准确率和召回率
进一步的,所述(2.1.1.3)根据分割后的图像精确确定所拍摄的混凝土对象在照片 中的位置的具体步骤如下:
通过local矩阵储存有深度学习神经网络输出的图像识别结果;通过基于Mask R-CNN框架输出数据的图像边缘中线提取算法,将边缘提取结果储存在Edge矩阵中, 矩阵维度height×3,中线提取结果储存在Mid矩阵中,矩阵维度height×1;混凝土对 象图像边缘中线提取算法的具体步骤如下:
载入神经网络图像识别结果local矩阵
初始化边缘矩阵:Edge=0初始化中线矩阵:Mid=0
提取混凝土对象边缘像素坐标
循环混凝土对象照片高度像素:i=0,1,...,height-1
循环混凝土对象照片宽度像素:j=0,1,...,width-1
如果localij≠0并且edgei1=1那么edgei2=j跳出宽度像素的循环;
如果edgei1=1
那么反向循环混凝土对象照片宽度像素:
j=width-1,width-1,...,edgei2
如果localij≠0那么edgei3=j跳出高度像素的循环;
提取混凝土对象中线像素坐标
其中,i=0,1,...,height-1并且edgei1=1。
进一步的,所述(2.1.1.4)通过定位算法反算出摄像头与混凝土对象的相对位置的 具体步骤如下:
将从深度学习神经网络中提取的混凝土对象的位置,储存在边缘矩阵edge和中线矩阵Mid中;所述反算算法将阈值选定为10个像素即:Threshold=10,摄像头位置 的理论值即为所拍摄图像的中间像素位置,即摄像头与混凝土对 象的相对位置提取算法具体如下:
载入Mid、Threshold和Placetheory
初始化最大中线矩阵:Midline=0
初始化计数器:num=0
提取平行最长连续中线
设Midline0=Mid0
num=1
Abs=|Midi-Midline0|
如果(Abs≥-Threshold)并且(Abs≤Threshold)
num=num+1
Midlinenym=Midi
其中,i=1,2,...,height-1
计算摄像头与混凝土对象的相对位置
进一步的,所述(2.1.1.5)中通过数控程序,反馈给下位机,控制机械系统,初步调整喷嘴位置的具体步骤如下:
建立运动控制调节模型,在喷头控制算法模型中,包含有开环全局坐标(x,y,z),此 处由于竖直方向z维度不在图像识别范畴内,故取部分全局坐标(xp,yp),为喷头当前坐标,该坐标由算法对步进电机脉冲的计数推算得到;而对于当前时刻打印头运动方向垂 线方向与中线交点即Placetheory,应为目标坐标(xt,yt),该目标坐标由打印模型函数、 实际打印效果和当前打印时间唯一确定;
判断当前对步进脉冲计数而预测得到的全局坐标,数值上是否恒等于模型函数代入 时间所得的目标坐标,如果不等于则判断全局坐标(x,y)产生了偏差则引入图像识别技术 来构成闭环控制系统;具体的:摄像头图像中像素坐标系统(a,b)则是全局坐标系统(x,y) 的平移伸缩变换结果,而不存在旋转矩阵;若存在旋转矩阵,则需要进行标定之后计算得到变换矩阵,最终都可以表现为以下形式:
(a,b)T=A·(x,y)T
其中A为非奇异变换矩阵,若旋转矩阵不存在,则a是对角矩阵;
那么,标定了打印头在像素坐标系统中的位置(ap,bp)后,从图像中计算得中点坐标 (at,bt),向量做差,再经过变换:
(Δx,Δy)T=A-1·(Δa,Δb)T
结果即为打印头在全局坐标中的偏差,将算法中全局坐标进行修正,打印头将自动 沿着正确的方向打印;
通常,矩阵A的准确标定十分困难,但注意到变换矩阵A是时不变的,最终表现为:
这是两个二参数的定参系统,分别对应两个轴方向误差量,而由闭环控制理论,该处参数均为反馈系数,反馈系数在控制环节当中属于次要因素,通常不太准确的反馈系 数可以通过优良的调节器来弥补,而不会对系统静差造成太多影响。但是这个系统还是 有所限制的,c11c12或c21c22系数比,反映了旋转特性,如果这个图像旋转程度过大,那 么很不准确的系数比,将对误差测量造成很大的影响,以致调节器难以弥补,无法稳定 控制输出量;所以若将变换矩阵粗略定为对角阵(c12,c21为0),要尽量保证摄像头安放 姿态的准确性;
将调节器设置为PI即比例积分调节器,在不关注反馈系数的情况下,仅进行试探性 调节P、I放大系数;
将转换矩阵设置为单位阵,c11,c22均为1,而将目标放在x,y两轴的比例、积分系数上,虽然参数由2个再次变为4个,但是最优参数再不是一个客观存在的值,而是一 个或大或小的区间,只需要进行若干次尝试,便可以得到符合特性要求的参数;
该闭环反馈系统保证在图像识别精度条件限制下,喷头水平位置处于理想位置。
进一步的,所述步骤(2.1.2.4)中通过传感器高度判比算法对数据处理的具体步骤 如下:
相关参数设定:设定当前打印层为layern,前一层layern-1,通过实验,确定打印层的理论厚度为hlayer,喷嘴到当前打印层layern的理论高度为hinjector;传感器到喷嘴的 安装距离hsensor;一维距离传感器所得到的高度hi(i=1,2)由传感器到喷嘴的垂直距离喷嘴到前一个打印层layern-1的垂直距离这两个部分构成:传感器反馈的高度有公式:传感器高度判比算法具体为:
如果(h1>hmax)并且(h2>hmax)
机器报警,并终止打印;
如果
满足打印要求,继续打印;
否则,水平移动喷嘴1个单位(1mm),重复反馈调整;
如果有传感器i(i=1,2)偏出,那当前的不会是到前一层layern-1的高度,可能是 layern-2,layern-3...从而可以得出:
从而可以得出:
|Δh|=|h1-h2|>hlayer
反过来考虑,如果两个传感器位置均正常,则下式成立:
|Δh|=|h1-h2|≤hlayer
考虑测量和打印对象表面不平整的误差,将判断传感器位置是否正常的阈值定为
同时,考虑到可能有出料不均匀的问题,导致两个传感器的均不是到layern-1的高度,而可能是layern-2,layern-3…,且在同一层,这样即使满足但是显然这种情况是十分危险的,应该发出终止打印的指令;考虑到实际情况,和误差 的影响,本算法对传感器测量的最大高度提出要求;即
如果两者距离相差过大,则将喷嘴移动1个单位的算法生成喷头数控程序,反馈回下位机,控制机械系统调整喷头位置。重复上述流程,直到满足要求,继续打印。
进一步的,所述步骤(2.2)中通过竖直相对位置反馈调整系统对于竖直相对位置进 行调整的具体步骤如下:
竖直相对位置反馈调整系统,需要安装一个测量竖直位置的一维距离传感器,该传 感器与之前的两个传感器安装在同一个固定支架上,过喷嘴的中轴线;设该竖直传感器反馈回的高度为hvertical,它由传感器到喷嘴的垂直距离L1、喷嘴到前一个打印层layern-1的垂直距离L2两个部分构成;竖直传感器反馈的高度有计算公式:hvertical=L1+L2; 竖直传感器的理论测量高度htheory可由下式计算:
htheory=hsensor+hinjector+hlayer
其中,hsensor表示传感器到喷嘴的安装距离,
hinjector表示喷嘴到当前打印层layern的理论高度,由实验测定取最优值,
hlayer表示打印层的理论厚度,由实验测定取理想值;
考虑到3D打印建筑的精度需求,需要保证实测高度hvertical与理论高度htheory之差在1mm以内,竖直相对位置反馈算法具体如下:
htheory=hsensor+hinjector+hlayer
读取传感器测量数据:hvertical
计算测量数据与理论数据差值:Abs=|hvertical-htheory|
如果Abs≤1
满足精度要求,继续打印;
否则确定喷嘴移动距离Deltah=Abs,生成数控代码,反馈回下位机,控制机械 系统,移动喷嘴,直到满足精度精度要求。
本发明采用上述技术方案,具有以下有益效果:
1.本发明通过打印机自身的反馈控制系统可以降低喷头的定位误差。
2.发明所提出的喷头水平位置定位系统可以精确确定喷头与打印对象的相对水平 位置
3.发明所提出的喷头竖向位置定位系统可以精确确定喷头与打印对象的相对水平 位置
4.有益效果1-3的结合反馈控制,可以显著降低机械系统与打印混凝土对象的耦合 误差。
5.有益效果4带来了打印精度的提高,从而可以显著提高打印效率和打印质量,丰富打印效果。
附图说明
图1为本发明的流程图;
图2为具体实施例中提及的打印机与打印对象总反馈调整系统中,包含的多种分反 馈调整系统的通用流程图;
图3为图1中通过水平相对位置反馈调整系统对于水平相对位置进行调整的流程图;
图4为具体实施例中以Mask R-CNN框架为例设计的混凝土图像识别流程图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而 不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
方案分两大部分进行,第一部分,通过打印机机械自身的反馈控制系统,降低打印机机械的定位误差;第二部分,通过打印机与打印对象之间的反馈调整系统,降低混凝 土对象的成型误差。两大系统相互配合,组成喷嘴位置的实时反馈控制系统,可以有效 降低打印机和打印对象之间的耦合误差,提高3D打印机的打印精度,丰富打印效果。 方案实施的完整系统流程图如图1所示。方案中提及的多种反馈调整系统的通用流程如 图2所示。
本发明提及的第二部分,打印机与打印对象之间的定位非常复杂,属于空间定位问 题。本发明设计了两阶段定位方法,第一阶段为水平相对位置反馈调整系统,第二阶段为竖直相对位置反馈调整系统。两阶段相互配合,从而实现了打印喷头与打印对象之间 的精确调整定位。
上述提及的两阶段水平定位系统中,竖直相对位置反馈调整系统相对简单,本发明 设计采用一个一维距离传感器来测定竖直相对位置。而水平相对位置相对复杂,涉及到一个较广的面。本发明针对这个问题,设计了两.步方法。第一步,初步定位反馈系统, 第二步,精确定位反馈系统。先进行水平方向的初步定位,再进行精确定位。由整体到 细节,层次明晰,定位效果良好。
进一步,初步定位反馈系统中,本发明设计用大视场,高清晰度的摄像头进行拍摄, 适合于整体把握。然后,结合深度学习人工智能技术,对所拍摄图像进行识别,自动分割出打印对象像素,结合计算算法,确定喷嘴与打印对象的初步水平相对位置,并结合 反馈系统,进行喷嘴位置的优化调整。
进一步,精确定位反馈系统中,本发明设计用小视场,高精度的可调位置的传感器测定,通过测定结果,结合反馈系统,进行喷嘴位置的最终优化调整。
如图1所示:本发明所述的一种3D打印机打印精度的实时反馈控制方法,包括如下步骤:
(1)通过打印机机械自身的反馈控制系统,降低打印机机械的定位误差;
(2)通过打印机与打印对象之间的反馈调整系统,降低混凝土对象的成型误差;
(2.1)通过水平相对位置反馈调整系统对于水平相对位置进行调整,具体实施方式 如图3所示;
(2.1.1)初步定位调整;
(2.1.1.1)通过摄像头拍照;
(2.1.1.2)通过深度学习技术进行图像识别;
需要自动识别出所拍摄图像中所有属于打印对象的像素,可以对图像进行像素级的 语义分割、实例分割或者全景分割。根据实际需要,采用实例分割。使用其他图像识别技术均可。本发明采用修改版的MaskR-CNN框架进行图像的实例分割,具体实施方式 如图4所示。
制作图像数据集Photoset。在反馈调整系统未使用的3D打印机上进行实体打印,通过固定在3D打印机的摄像头上进行定时拍摄。摄像头选择普通USB摄像头,考虑到 硬件设备处理速度,摄像头分辨率选择480×360,帧率选择30FPS,为了避免打印对象 与打印机的耦合累积误差影响,一次拍摄时间不能太长。没打印5层,暂停拍摄,重新 打印拍摄。1s中内,选取1张图像放入数据集。初选数据集由2200张图像组成。
Photoset={Photo1,Photo2,...,Photo2200}
制作训练数据集Trainset和测试数据集Testset。直接获取的图像无法进行深度学习 网络训练,我们要进行一定的处理。首先对图像进行标记。使用GitHub上开源的labelme 软件进行标记。考虑到只需要识别出打印对象目的,设定标记的类别为1类——Concrete。 标记完成后,运行脚本文件,将标记生成的.json文件生成文件夹train_data,其中包括info.yaml、label.png、原图等5个文件。选择1-2000个文件夹建立训练数据集,选择 2001-2200个文件夹,建立测试数据集。
Trainset={Data1,Data2,...,Data2000}
Testset={Data2001,Data2002,...,Data2200}
Github开源了Mask R-CNN框架,将源码下载。进行适合于图像的修改,由于图像尺寸较小,修改anchor scales为(16,32,64,128),anchor ratios不变,为(0.5,1,2)。这样, 我们将该锚点数目改成了12个。
运行Mask R-CNN代码,进行训练图像和测试图像。
MaskR-CNN框架的实现思路为:
①使用Resnet-101残差网络和FPN(Feature PyramidNetworks)特征金字塔网络作为 共享卷积层,进行特征提取,生成特征图像(feature maps)。Resnet-101残差网络是一种 卷积神经网络,包括101个卷积层。残差公式为:y=F(x,{Wi})+x。使用特征金字塔 网络的优势是,可以把低分辨率、高语义信息的高层特征和高分辨率、低语义信息的低 层特征进行自上而下的侧边连接,使得所有尺度下的特征都有丰富的语义信息。算法结 构可以分为三个部分:自下而上的卷积神经网络前向过程,自上而下的上采样过程和特 征与特征之间的侧边连接。
②将特征图像导入RPN(Region Proposal Network,候选区域生成网络)网络生成候 选区域(region proposal)的集合。即预先找出目标可能出现的位置,利用图像中的纹理、 边缘、颜色等信息,保证在选取较少窗口的情况下,保持较高的准确率。实现方法是使用3×3的卷积核在特征图像是进行滑动扫描,每一个锚点都以当前滑动中心为中心,并 对应一种尺度和长宽比,则对于每一个位置会生成12个锚点。将扫描结果映射到一个 256维向量中,将该低维向量送入两个全连接层:分类层(cls layer)和边框回归层(reg layer)。边框回归层用来预测每个位置上12个锚点应该平移缩放的四个参数(x,y,w,h)(四 个参数分别表示锚点包围盒中心坐标(x,y)和锚点包围盒的宽w、高h),分类层用来输出 每一个位置上12个锚点是前景(object)和背景(non-object)的概率。
首先定义IoU(Intersection-over-Union,召回率),该参数表示两个边界框的重叠程度, 在实际RPN训练中,表示候选区域与人工标注数据的重叠程度,IoU越大,则表示重叠 程度越高,效果越好,IoU由如下公式定义:
IoU=(A∩B)/(A∪B)=SI/(SA+SB-SI)
A和B都表示矩形包围盒(bounding box)。
为了训练RPN,给每一个锚点都分配一个二进制的标签,分为正标签(positivelabel) 和负标签(negative label)。对于既没有正标签也没有负标签的锚点,训练中没有任何作用, 为了提高效率,予以舍弃。
negative label{与所有GT包围盒的IoU值均小于0.5
在目标检测Faster R-CNN框架中,IoU阈值为0.7,在本发明采用的MaskR-CNN 框架中,IoU阈值为0.5。
分类层为1×1的卷积层,输出k+1维数组p,表示k类锚点的建议区域和每个区 域属于背景的概率。对于每个感兴趣的区域(RoI,Region ofInteresting),输出离散型概率分布:
p=(p0,p1,...,pk)
通常,p由k+1类的全连接层利用softmax(归一化指数函数)计算得出。
softmax函数公式为:
边框回归层为1×1的卷积层,用于修正候选区域位置,输出4×k维数组,k定义同上,表示锚点数。
这四个值的意思是修正后的候选区域在原来锚点位置x和y方向上做出的平移并且宽度和高度各自放大一定的倍数
通过下面的两个损失函数,训练RPN网络得到分类层和边框输出层的相关输出参数。
分类层损失函数为:
回归层损失函数为:
其中,鲁棒的损失函数(smoothL1):
所以,训练RPN的总损失函数可以写成:
其中,i是锚点的索引,pi是锚点i是目标的预测概率。如果之前给锚点贴上正标签, 则如果为负标签,则表示与正标签锚点相对于的GT包围盒的坐标向量。Ncls、Nreg和λ均为常数。
③通过ROIAlign层为RPN网络输出的每一个感兴趣的区域从共享卷积层中选取对应的特征,同时将特征整合满足全卷积网络的输入需求。先通过双线性插值去精确查找 每个区域对应的特征,输出为(14×14)的矩阵。再通过池化操作最终为每个区域输出为(6 ×6)的特征矩阵。
④将ROIAlign层选取的特征和区域导入全卷积网络,进行分类、回归和输出Mask预测。
最终,MaskR-CNN的训练损失函数可以描述为:
Lfinal=L({pi},,{ti})+(Lcls+Lbox+Lmask)
为了更形象的展示识别效果,本发明提出混凝土对象拍摄图像的实例分割结果评价 算法。定义:TP=True Positive,FP=False Positive,FN=FalseNegative,width和height是图 像的像素在宽度和高度方向上的数目。Precision表示准确率,Recall表示召回率。图像 实例分割结果评价算法(算法一)具体思路如下。
从深度学习图像识别结果中提取mask结果,设local矩阵使得local=mask
从标记结果中提取测试图片人工标记区域,载入GroundTruth矩阵中
遍历测试图像的每一个像素
计算TP、FN和FP
如果GroundTruthij≠0并且GroundTruthij=localij TP=TP+1
`如果GroundTruthij≠0并且GroundTruthij≠localij FN=FN+1
如果GroundTruthij=0并且GroundTruthih≠localij FP=FP+1
其中,i=0,1,...,width-1j=0,1,...,height-1
计算准确率和召回率
(2.1.1.3)根据分割后的图像精确确定所拍摄的混凝土对象在照片中的位置;
前一节算法2已经提到,local矩阵储存有深度学习神经网络输出的图像识别结果。本发 明提出基于MaskR-CNN框架输出数据的图像边缘中线提取算法,边缘提取结果储存在 Edge矩阵中,矩阵维度(height×3),中线提取结果储存在Mid矩阵中,矩阵维度(height ×1)。混凝土对象图像边缘中线提取算法(算法二)具体思路如下。
载入神经网络图像识别结果local矩阵
初始化边缘矩阵:Edge=0初始化中线矩阵:Mid=0
提取混凝土对象边缘像素坐标
循环混凝土对象照片高度像素:i=0,1,...,height-1
循环混凝土对象照片宽度像素:j=0,1,...,width-1
如果localij≠0并且edgei1=1那么edgei2=j跳出宽度像素的循环。
如果edgei1=1
那么反向循环混凝土对象照片宽度像素:
j=width-1,width-1,...,edgei2
如果localij≠0那么edgei3=j跳出高度像素的循环。
提取混凝土对象中线像素坐标
其中,i=0,1,...,height-1并且edgei1=1
(2.1.1.4)通过定位算法反算出摄像头与混凝土对象的相对位置;
根据(2.1.1.3)节所述的权利要求的模型算法,实现了从深度学习神经网络中提取 了混凝土对象的位置,储存在边缘矩阵edge和中线矩阵Mid中。本节提出反算算法, 可以反算出摄像头与已打印混凝土对象的相对位置关系。考虑到打印对象的多样性,直 接用中线表征相对位置会带来很大误差。同时考虑到偶然误差的影响,提取少量数据点 也会带来较大误差,所以本发明提供一种算法,用以提取在一定阈值内与打印方向平行 的最长连续中线,计算器与理论值的平均误差,表征为摄像头与混凝土对象的相对位置。
考虑到精度限制,本算法将阈值选定为10个像素即:Threshold=10,摄像头位置的理论值即为所拍摄图像的中间像素位置,即摄像头与混凝土对 象的相对位置提取算法(算法三)具体思路如下。
载入Mid、Threshold和Placetheory
初始化最大中线矩阵:Midline=0
初始化计数器:num=0
提取平行最长连续中线
设Midline0=Mid0
num=1
Abs=|Midi-Midline0|
如果(Abs≥-Threshold)并且(Abs≤Threshold)
num=num+1
Midlinenum=Midi
其中,i=1,2,...,height-1
计算摄像头与混凝土对象的相对位置
(2.1.1.5)通过数控程序,反馈给下位机,控制机械系统,初步调整喷嘴位置。
根据(2.1.1.1)-(2.1.1.4)权利要求所述的各种模型算法,已经完成从感知摄像头视野 中拍摄图像,并通过深度学习技术,自动识别打印对象的区域,并提取出已打印部分的 中线,通过算法计算出摄像头与打印对象的相对位置误差。本小节建立运动控制调节模 型,实现初步调整喷嘴位置系统的闭环控制,起到减小摄像头与打印对象水平相对位置误差的目的。
该部分具体实现原理如下:
喷头控制算法模型中,包含有开环全局坐标(x,y,z),此处由于竖直方向z维度不在 图像识别范畴内,故取部分全局坐标(xp,yp),为喷头当前坐标,该坐标由算法对步进电机脉冲的计数推算得到。而对于当前时刻打印头运动方向垂线方向与中线交点即Placetheory,应为目标坐标(xt,yt),该目标坐标由打印模型函数、实际打印效果和当前 打印时间唯一确定。
我们认为,当前对步进脉冲计数而预测得到的全局坐标,数值上应该恒等于模型函 数代入时间所得的目标坐标。可想而知,若运动控制处于开环状态,两者自然是相等的,但是我们从打印效果(或者说从摄像头采集图像)来看,两者是有所偏差的,这说明, 全局坐标(x,y)产生了偏差。
为了解决这个问题,我们引入图像识别技术来构成闭环控制系统。假定摄像头安装 角度是完美的,那么摄像头图像中像素坐标系统(a,b)则应该是全局坐标系统(x,y)的平移 伸缩变换结果,而不存在旋转矩阵。若安装角度不完美,存在旋转矩阵,则需要进行标定之后计算得到变换矩阵,最终都可以表现为以下形式:
(a,b)T=A·(x,y)T
其中A为非奇异变换矩阵,若旋转矩阵不存在,则A是对角矩阵。
那么,标定了打印头在像素坐标系统中的位置(ap,bp)后(一般认为它在打印过程中 都是固定的),从图像中计算得中点坐标(at,bt),向量做差,再经过变换:
(Δx,Δy)T=A-1·(Δa,Δb)T
结果即为打印头在全局坐标中的偏差,将算法中全局坐标进行修正,打印头将自动 沿着正确的方向打印。
通常,矩阵A的准确标定十分困难,但注意到变换矩阵A是时不变的,最终表现为:
这是两个二参数的定参系统,分别对应两个轴方向误差量,而由闭环控制理论,该处参数均为反馈系数,反馈系数在控制环节当中属于次要因素,通常不太准确的反馈系 数可以通过优良的调节器来弥补,而不会对系统静差造成太多影响。但是这个系统还是 有所限制的,c11c12或c21c22系数比,反映了旋转特性,如果这个图像旋转程度过大,那 么很不准确的系数比,将对误差测量造成很大的影响,以致调节器难以弥补,无法稳定 控制输出量(打印头位置)。所以若将变换矩阵粗略定为对角阵(c12,c21为0),要尽量 保证摄像头安放姿态的准确性。
到目前为止,模型仅涉及了反馈环节,调节器环节仍然为简单的比例调节,这损失了很多调控性能。本发明建议将调节器设置为PI(比例积分)调节器,这是由于系统运 行较慢,即目标量变化不迅速,不需要进行微分调节,而进行积分调节可以有效消除系 统静差。
PI调节属于业界常识,这里不再进行赘述。如此,可以在不关注反馈系数的情况下, 仅进行试探性调节P、I放大系数。我们索性将转换矩阵设置为单位阵,c11,c22均为1,而将目标放在x,y两轴的比例、积分系数上,虽然参数由2个再次变为4个,但是最优 参数再不是一个客观存在的值,而是一个或大或小的区间,只需要进行若干次尝试,便 可以得到符合特性要求的参数。
该闭环反馈系统保证在图像识别精度条件限制下,喷头水平位置处于理想位置。但 考虑到图像识别精度限制,本发明引入了精确定位调整系统。
(2.1.2)精确定位调整;
(2.1.2.1)传感器的测点位置为可调节式,在打印开始之前,根据打印的喷嘴形状确定两个传感器的位置;
评价打印效果的指标是成型的对象与设计的3维模型之间的差异。因为3D打印的数控程序由三维切片算法决定,而喷嘴的宽度又决定了切片设计时的宽度。所以,只要 我们保证打印出的混凝土的宽度尽量等于喷嘴的宽度,就能满足精度要求。考虑到打印 机运行速度和计算机处理能力的双重限制,两个传感器布置喷头腔体外壁正前方1cm处, 传感器之间的距离等于喷嘴的宽度。考虑到实际打印中存在更换喷嘴的需求,设计的传 感器位置为可调节式。
(2.1.2.2)启动精确定位反馈系统;
(2.1.2.3)传感器读取高度数据,将数据传输到计算机;
(2.1.2.4)对数据处理,本专利提供了传感器高度判比算法。算法如下所示。
相关参数假定:假定当前打印层为layern,前一层layern-1,通过实验,确定打印层的理论厚度为hlayer,喷嘴到当前打印层layern的理论高度为hinjector。需要注意,上述 理论厚度和高度不是定值,取决于喷嘴尺寸和打印混凝土性质,需要经过多次试验确定 最优值。传感器到喷嘴的安装距离hsensor。一维距离传感器所得到的高度hi(i=1,2)由2 部分构成:传感器到喷嘴的垂直距离喷嘴到前一个打印层layern-1的垂直距离因为传感器高度布置在喷嘴前面,所以是到前一个打印层的距离。所以,传感器反馈的 高度有公式:传感器高度判比算法(算法四)具体思路如下。
如果(h1>hmax)并且(h2>hmax)
机器报警,并终止打印。
如果
满足打印要求,继续打印。
否则,水平移动喷嘴1个单位(1mm),重复反馈调整。
关于上述算法的相关证明如下所示。
如果有传感器i(i=1,2)偏出,那当前的不会是到前一层layern-1的高度,可能是 layern-2,layern-3...从而可以得出:
从而可以得出:
|Δh|=|h1-h2|>hlayer
反过来考虑,如果两个传感器位置均正常,则下式成立:
|Δh|=|h1-h2|≤hlayer
考虑测量和打印对象表面不平整的误差,专利将判断传感器位置是否正常的阈值定 为
同时,考虑到可能有出料不均匀的问题,导致两个传感器的均不是到layern-1的高度,而可能是layern-2,layern-3...,且在同一层,这样即使满足但是显然这种情况是十分危险的,应该发出终止打印的指令。考虑到实际情况,和误差 的影响,本算法对传感器测量的最大高度提出要求。即
如果两者距离相差过大,则将喷嘴移动1个单位的算法生成喷头数控程序,反馈回下位机,控制机械系统调整喷头位置。重复上述流程,直到满足要求,继续打印。
(2.2)通过竖直相对位置反馈调整系统对于竖直相对位置进行调整。
竖直相对位置反馈调整系统,需要安装一个测量竖直位置的一维距离传感器,该传 感器与之前的两个传感器安装在同一个固定支架上,过喷嘴的中轴线。设该竖直传感器反馈回的高度为hvertical,它由2部分构成:传感器到喷嘴的垂直距离L1、喷嘴到前一个 打印层layern-1的垂直距离L2。所以,竖直传感器反馈的高度有计算公式:hvertical=L1+ L2。竖直传感器的理论测量高度htheory可由下式计算:
htheory=hsensor+hinjector+hlayer
其中,hsensor表示传感器到喷嘴的安装距离,
hinjector表示喷嘴到当前打印层layern的理论高度,由实验测定取最优值,
hlayer表示打印层的理论厚度,由实验测定取理想值。
考虑到3D打印建筑的精度需求,需要保证实测高度hvertical与理论高度htheory之差在1mm以内,所以本发明提出了竖直相对位置反馈算法(算法五)具体思路如下。
htheory=hsensor+hinjector+hlayer
读取传感器测量数据:hvertical
计算测量数据与理论数据差值:Abs=|hvertical-htheory|
如果Abs≤1
满足精度要求,继续打印。
否则确定喷嘴移动距离Deltah=Abs,生成数控代码,反馈回下位机,控制机械 系统,移动喷嘴,直到满足精度精度要求。
Claims (7)
1.一种3D打印机打印精度的实时反馈控制方法,其特征在于,包括如下步骤:
(1)通过打印机机械自身的反馈控制系统,降低打印机机械的定位误差;
(2)通过打印机与打印对象之间的反馈调整系统,降低混凝土对象的成型误差;
(2.1)通过水平相对位置反馈调整系统对于水平相对位置进行调整;
(2.1.1)初步定位调整;
(2.1.1.1)通过摄像头拍照;
(2.1.1.2)通过深度学习技术进行图像识别;
(2.1.1.3)根据分割后的图像精确确定所拍摄的混凝土对象在照片中的位置;
(2.1.1.4)通过定位算法反算出摄像头与混凝土对象的相对位置;
(2.1.1.5)通过数控程序,反馈给下位机,控制机械系统,初步调整喷嘴位置;
(2.1.2)精确定位调整;
(2.1.2.1)传感器的测点位置为可调节式,在打印开始之前,根据打印的喷嘴形状确定两个传感器的位置;
两个传感器布置喷头腔体外壁正前方1em处,传感器之间的距离等于喷嘴的宽度;
(2.1.2.2)启动精确定位反馈系统;
(2.1.2.3)传感器读取高度数据,将数据传输到计算机;
(2.1.2.4)通过传感器高度判比算法对数据处理;算法如下所示;
(2.2)通过竖直相对位置反馈调整系统对于竖直相对位置进行调整。
2.根据权利要求1所述的一种3D打印机打印精度的实时反馈控制方法,其特征在于,所述步骤(2.1.1.2)中通过深度学习技术进行图像识别的具体步骤如下;
制作图像数据集Photoset,在反馈调整系统未使用的3D打印机上进行实体打印,通过固定在3D打印机的摄像头上进行定时拍摄;摄像头选择普通USB摄像头,摄像头分辨率选择480×360,帧率选择30FPS,每打印5层,暂停拍摄,重新打印拍摄;1s中内,选取1张图像放入数据集;
初选数据集由2200张图像组成;
Photoset={Photo1,Photo2,...,Photo2200}
制作训练数据集Trainset和测试数据集Testset;
首先对图像进行标记;设定标记的类别为1类——Concrete;标记完成后,运行脚本文件,将标记生成的.json文件生成文件夹train_data,其中包括info.yaml、label.png、原图五个文件;选择1-2000个文件夹建立训练数据集,选择2001-2200个文件夹,建立测试数据集;
Trainset={Data1,Data2,...,Data2000}
Testset={Data2001,Data2002,...,Data2200}
进行适合于图像的修改,由于图像尺寸较小,修改anchor scales为(16,32,64,128),anchor ratios不变,为(0.5,1,2);将该锚点数目改成了12个;
进行训练图像和测试图像;
先使用Resnet-101残差网络和FPN特征金字塔网络作为共享卷积层,进行特征提取,生成特征图像feature maps;Resnet-101残差网络是一种卷积神经网络,包括101个卷积层;残差公式为:y=F(x,{Wi})+x;使用特征金字塔网络的优势是,可以把低分辨率、高语义信息的高层特征和高分辨率、低语义信息的低层特征进行自上而下的侧边连接,使得所有尺度下的特征都有丰富的语义信息;算法结构可以分为三个部分:自下而上的卷积神经网络前向过程,自上而下的上采样过程和特征与特征之间的侧边连接;
再将特征图像导入RPN网络生成候选区域region proposal的集合;即预先找出目标可能出现的位置,利用图像中的纹理、边缘、颜色等信息,保证在选取较少窗口的情况下,保持较高的准确率;使用3×3的卷积核在特征图像是进行滑动扫描,每一个锚点都以当前滑动中心为中心,并对应一种尺度和长宽比,则对于每一个位置会生成12个锚点;将扫描结果映射到一个256维向量中,将该低维向量送入两个全连接层:分类层clslayer和边框回归层reg layer;边框回归层用来预测每个位置上12个锚点应该平移缩放的四个参数(x,y,w,h),其中四个参数分别表示锚点包围盒中心坐标(x,y)和锚点包围盒的宽w、高h,分类层用来输出每一个位置上12个锚点是前景object和背景non-object的概率;
首先定义IoU,该参数表示两个边界框的重叠程度,在实际RPN训练中,表示候选区域与人工标注数据的重叠程度,IoU越大,则表示重叠程度越高,效果越好,IoU由如下公式定义:
IoU=(A∩B)/(A∪B)=SI/(SA+SB-SI)
A和B都表示矩形包围盒bounding box;
为了训练RPN,给每一个锚点都分配一个二进制的标签,分为正标签positive label和负标签negative label;对于既没有正标签也没有负标签的锚点,训练中没有任何作用,为了提高效率,予以舍弃;
negative label{与所有GT包围盒的IoU值均小于0.5
在目标检测Faster R-CNN框架中,IoU阈值为0.7,在本发明采用的Mask R-CNN框架中,IoU阈值为0.5;
分类层为1×1的卷积层,输出k+1维数组p,表示k类锚点的建议区域和每个区域属于背景的概率;对于每个感兴趣的区域RoI,Region ofInteresting,输出离散型概率分布:
p=(p0,p1,...,pk)
通常,p由k+1类的全连接层利用softmax归一化指数函数计算得出;
softmax函数公式为:
边框回归层为1×1的卷积层,用于修正候选区域位置,输出4×k维数组,k定义同上,表示锚点数;
这四个值的意思是修正后的候选区域在原来锚点位置x和y方向上做出的平移并且宽度和高度各自放大一定的倍数
通过下面的两个损失函数,训练RPN网络得到分类层和边框输出层的相关输出参数;
分类层损失函数为:
回归层损失函数为:
其中,鲁棒的损失函数(smoothL1):
所以,训练RPN的总损失函数可以写成:
其中,i是锚点的索引,pi是锚点i是目标的预测概率;如果之前给锚点贴上正标签,则如果为负标签,则表示与正标签锚点相对于的GT包围盒的坐标向量。Ncls、Nreg和λ均为常数;
然后通过ROI Align层为RPN网络输出的每一个感兴趣的区域从共享卷积层中选取对应的特征,同时将特征整合满足全卷积网络的输入需求;先通过双线性插值去精确查找每个区域对应的特征,输出为(14×14)的矩阵;再通过池化操作最终为每个区域输出为(6×6)的特征矩阵;
最后将ROI Align层选取的特征和区域导入全卷积网络,进行分类、回归和输出Mask预测;
最终,Mask R-CNN的训练损失函数可以描述为:
Lfinal=L({pi},{ti})+(Lcls+Lbox+Lmask)
为了更形象的展示识别效果,本发明提出混凝土对象拍摄图像的实例分割结果评价算法;定义:TP=True Positive,FP=False Positive,FN=False Negative,width和height是图像的像素在宽度和高度方向上的数目;Precision表示准确率,Recall表示召回率;图像实例分割结果评价算法具体步骤如下;
从深度学习图像识别结果中提取mask结果,设local矩阵使得local=mask
从标记结果中提取测试图片人工标记区域,载入GroundTruth矩阵中
遍历测试图像的每一个像素
计算TP、FN和FP
如果GroundTruthij≠0并且GroundTruthij=localij TP=TP+1
如果GroundTruthij≠0并且GroundTruthij≠localij FN=FN+1
如果GroundTruthij=0并且GroundTruthij≠localij FP=FP+1
其中,i=0,1,...,width-1j=0,1,...,height-1
计算准确率和召回率
3.根据权利要求1所述的一种3D打印机打印精度的实时反馈控制方法,其特征在于,所述(2.1.1.3)根据分割后的图像精确确定所拍摄的混凝土对象在照片中的位置的具体步骤如下:
通过local矩阵储存有深度学习神经网络输出的图像识别结果;通过基于Mask R-CNN框架输出数据的图像边缘中线提取算法,将边缘提取结果储存在Edge矩阵中,矩阵维度height×3,中线提取结果储存在Mid矩阵中,矩阵维度height×1;混凝土对象图像边缘中线提取算法的具体步骤如下:
载入神经网络图像识别结果local矩阵
初始化边缘矩阵:Edge=0初始化中线矩阵:Mid=0
提取混凝土对象边缘像素坐标
循环混凝土对象照片高度像素:i=0,1,...,height-1
循环混凝土对象照片宽度像素:j=0,1,...,width-1
如果localij≠0并且edgei1=1那么edgei2=j跳出宽度像素的循环;
如果edgei1=1
那么反向循环混凝土对象照片宽度像素:
j=width-1,width-1,...,edgei2
如果localij≠0那么edgei3=j跳出高度像素的循环;
提取混凝土对象中线像素坐标
其中,i=0,1,...,height-1并且edgei1=1。
4.根据权利要求2所述的一种3D打印机打印精度的实时反馈控制方法,其特征在于,所述(2.1.1.4)通过定位算法反算出摄像头与混凝土对象的相对位置的具体步骤如下:
将从深度学习神经网络中提取的混凝土对象的位置,储存在边缘矩阵edge和中线矩阵Mid中;所述反算算法将阈值选定为10个像素即:Threshold=10,摄像头位置的理论值即为所拍摄图像的中间像素位置,即摄像头与混凝土对象的相对位置提取算法具体如下:
载入Mid、Threshold和Placetheory
初始化最大中线矩阵:Midline=0
初始化计数器:num=0
提取平行最长连续中线
设Midline0=Mid0
num=1
Abs=|Midi-Midline0|
如果(Abs≥-Threshold)并且(Abs≤Threshold)
num=num+1
Midlinenum=Midi
其中,i=1,2,...,height-1
计算摄像头与混凝土对象的相对位置
5.根据权利要求1所述的一种3D打印机打印精度的实时反馈控制方法,其特征在于,所述(2.1.1.5)中通过数控程序,反馈给下位机,控制机械系统,初步调整喷嘴位置的具体步骤如下:
建立运动控制调节模型,在喷头控制算法模型中,包含有开环全局坐标(x,y,z),此处由于竖直方向z维度不在图像识别范畴内,故取部分全局坐标(xp,yp),为喷头当前坐标,该坐标由算法对步进电机脉冲的计数推算得到;而对于当前时刻打印头运动方向垂线方向与中线交点即Placetheory,应为目标坐标(xt,yt),该目标坐标由打印模型函数、实际打印效果和当前打印时间唯一确定;
判断当前对步进脉冲计数而预测得到的全局坐标,数值上是否恒等于模型函数代入时间所得的目标坐标,如果不等于则判断全局坐标(x,y)产生了偏差则引入图像识别技术来构成闭环控制系统;具体的:摄像头图像中像素坐标系统(a,b)则是全局坐标系统(x,y)的平移伸缩变换结果,而不存在旋转矩阵;若存在旋转矩阵,则需要进行标定之后计算得到变换矩阵,最终都可以表现为以下形式:
(a,b)T=A·(x,y)T
其中A为非奇异变换矩阵,若旋转矩阵不存在,则A是对角矩阵;
那么,标定了打印头在像素坐标系统中的位置(ap,bp)后,从图像中计算得中点坐标(at,bt),向量做差,再经过变换:
(Δx,Δy)T=A-1·(Δa,Δb)T
结果即为打印头在全局坐标中的偏差,将算法中全局坐标进行修正,打印头将自动沿着正确的方向打印;
通常,矩阵A的准确标定十分困难,但注意到变换矩阵A是时不变的,最终表现为:
这是两个二参数的定参系统,分别对应两个轴方向误差量,而由闭环控制理论,该处参数均为反馈系数,反馈系数在控制环节当中属于次要因素,通常不太准确的反馈系数可以通过优良的调节器来弥补,而不会对系统静差造成太多影响。但是这个系统还是有所限制的,c11c12或c21c22系数比,反映了旋转特性,如果这个图像旋转程度过大,那么很不准确的系数比,将对误差测量造成很大的影响,以致调节器难以弥补,无法稳定控制输出量;所以若将变换矩阵粗略定为对角阵(c12,c21为0),要尽量保证摄像头安放姿态的准确性;
将调节器设置为PI即比例积分调节器,在不关注反馈系数的情况下,仅进行试探性调节P、I放大系数;
将转换矩阵设置为单位阵,c11,c22均为1,而将目标放在x,y两轴的比例、积分系数上,虽然参数由2个再次变为4个,但是最优参数再不是一个客观存在的值,而是一个或大或小的区间,只需要进行若干次尝试,便可以得到符合特性要求的参数;
该闭环反馈系统保证在图像识别精度条件限制下,喷头水平位置处于理想位置。
6.根据权利要求1所述的一种3D打印机打印精度的实时反馈控制方法,其特征在于,所述步骤(2.1.2.4)中通过传感器高度判比算法对数据处理的具体步骤如下:
相关参数设定:设定当前打印层为layern,前一层layern-1,通过实验,确定打印层的理论厚度为hlayer,喷嘴到当前打印层layern的理论高度为hinjector;传感器到喷嘴的安装距离hsensor;一维距离传感器所得到的高度hi(i=1,2)由传感器到喷嘴的垂直距离喷嘴到前一个打印层layern-1的垂直距离这两个部分构成:传感器反馈的高度有公式:传感器高度判比算法具体为:
如果(h1>hmax)并且(h2>hmax)
机器报警,并终止打印;
如果
满足打印要求,继续打印;
否则,水平移动喷嘴1个单位(1mm),重复反馈调整;
如果有传感器i(i=1,2)偏出,那当前的不会是到前一层layern-1的高度,可能是layern-2,layern-3...从而可以得出:
从而可以得出:
|Δh|=|h1-h2|>hlayer
反过来考虑,如果两个传感器位置均正常,则下式成立:
|Δh|=|h1-h2|≤hlayer
考虑测量和打印对象表面不平整的误差,将判断传感器位置是否正常的阈值定为
同时,考虑到可能有出料不均匀的问题,导致两个传感器的均不是到layern-1的高度,而可能是layern-2,layern-3...,且在同一层,这样即使满足但是显然这种情况是十分危险的,应该发出终止打印的指令;考虑到实际情况,和误差的影响,本算法对传感器测量的最大高度提出要求;即
如果两者距离相差过大,则将喷嘴移动1个单位的算法生成喷头数控程序,反馈回下位机,控制机械系统调整喷头位置。重复上述流程,直到满足要求,继续打印。
7.根据权利要求1所述的一种3D打印机打印精度的实时反馈控制方法,其特征在于,所述步骤(2.2)中通过竖直相对位置反馈调整系统对于竖直相对位置进行调整的具体步骤如下:
竖直相对位置反馈调整系统,需要安装一个测量竖直位置的一维距离传感器,该传感器与之前的两个传感器安装在同一个固定支架上,过喷嘴的中轴线;设该竖直传感器反馈回的高度为hvertical,它由传感器到喷嘴的垂直距离L1、喷嘴到前一个打印层layern-1的垂直距离L2两个部分构成;竖直传感器反馈的高度有计算公式:hvertical=L1+L2;竖直传感器的理论测量高度htheory可由下式计算:
htheory=hsensor+hinjector+hlayer
其中,hsensor表示传感器到喷嘴的安装距离,
hinjector表示喷嘴到当前打印层layern的理论高度,由实验测定取最优值,
hlayer表示打印层的理论厚度,由实验测定取理想值;
考虑到3D打印建筑的精度需求,需要保证实测高度hvertical与理论高度htheory之差在1mm以内,竖直相对位置反馈算法具体如下:
htheory=hsensor+hinjector+hlayer
读取传感器测量数据:hvertical
计算测量数据与理论数据差值:Abs=|hvertical-htheory|
如果Abs≤1
满足精度要求,继续打印;
否则确定喷嘴移动距离Deltah=Abs,生成数控代码,反馈回下位机,控制机械系统,移动喷嘴,直到满足精度精度要求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910203573.7A CN109989585B (zh) | 2019-03-18 | 2019-03-18 | 一种3d打印机打印精度的实时反馈控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910203573.7A CN109989585B (zh) | 2019-03-18 | 2019-03-18 | 一种3d打印机打印精度的实时反馈控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109989585A true CN109989585A (zh) | 2019-07-09 |
CN109989585B CN109989585B (zh) | 2021-01-26 |
Family
ID=67130558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910203573.7A Active CN109989585B (zh) | 2019-03-18 | 2019-03-18 | 一种3d打印机打印精度的实时反馈控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109989585B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111161215A (zh) * | 2019-12-09 | 2020-05-15 | 合肥迪宏自动化有限公司 | 一种可识别打印机颜色的检测装置 |
CN111591051A (zh) * | 2020-05-26 | 2020-08-28 | 武汉数字化设计与制造创新中心有限公司 | 一种面向印刷显示的打印高度控制系统及方法 |
CN112604841A (zh) * | 2020-12-10 | 2021-04-06 | 中国联合网络通信集团有限公司 | 车辆喷涂检测方法、装置、设备及存储介质 |
CN112873839A (zh) * | 2020-12-23 | 2021-06-01 | 华中科技大学鄂州工业技术研究院 | 一种基于视觉传感的多喷头3d打印机的对刀装置及方法 |
CN113255660A (zh) * | 2021-03-18 | 2021-08-13 | 自然资源部第三海洋研究所 | 一种基于实例分割框架的海洋底质自动识别方法及装置 |
WO2021242354A1 (en) * | 2020-05-27 | 2021-12-02 | Icon Technology, Inc. | System and method for constructing structures by adding layers of extrudable building material using a control feedback loop |
CN114119632A (zh) * | 2021-11-12 | 2022-03-01 | 中国科学院空间应用工程与技术中心 | 旋转式切片分割方法、系统、控制器及打印机 |
WO2022238099A1 (de) * | 2021-05-10 | 2022-11-17 | Trumpf Laser- Und Systemtechnik Gmbh | Messvorrichtung, fertigungsvorrichtung mit einer solchen messvorrichtung und verfahren zum betreiben einer fertigungsvorrichtung zum generativen fertigen eines bauteils aus einem pulvermaterial |
CN115534304A (zh) * | 2022-09-29 | 2022-12-30 | 灰觋有限公司 | 一种fdm打印装置及打印制品质量的自动检测方法 |
US11731368B2 (en) | 2018-04-02 | 2023-08-22 | Nanotronics Imaging, Inc. | Systems, methods, and media for artificial intelligence process control in additive manufacturing |
CN117170600A (zh) * | 2023-11-02 | 2023-12-05 | 中科方德软件有限公司 | Linux系统的打印处理方法、系统、设备和介质 |
CN117400539A (zh) * | 2023-12-15 | 2024-01-16 | 北京师范大学 | 一种专用于信息科技教育的3d打印控制系统 |
CN117472303A (zh) * | 2023-12-28 | 2024-01-30 | 珠海芯烨电子科技有限公司 | 一种热敏打印机图像填充方法以及相关装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104943176A (zh) * | 2015-06-23 | 2015-09-30 | 南京信息工程大学 | 基于图像识别技术的3d打印机及其打印方法 |
CN106584831A (zh) * | 2016-12-22 | 2017-04-26 | 北京清大致汇科技有限公司 | 3d打印机远程控制系统及控制方法 |
CN106738935A (zh) * | 2016-12-29 | 2017-05-31 | 宿迁学院 | 一种用于3d打印机的智能控制系统 |
CN207028210U (zh) * | 2017-08-04 | 2018-02-23 | 四川建筑职业技术学院 | 一种智能悬臂式3d打印机 |
CN107718564A (zh) * | 2017-10-13 | 2018-02-23 | 北京恒创增材制造技术研究院有限公司 | 一种fdm三维打印机智能控制系统及方法 |
-
2019
- 2019-03-18 CN CN201910203573.7A patent/CN109989585B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104943176A (zh) * | 2015-06-23 | 2015-09-30 | 南京信息工程大学 | 基于图像识别技术的3d打印机及其打印方法 |
CN106584831A (zh) * | 2016-12-22 | 2017-04-26 | 北京清大致汇科技有限公司 | 3d打印机远程控制系统及控制方法 |
CN106738935A (zh) * | 2016-12-29 | 2017-05-31 | 宿迁学院 | 一种用于3d打印机的智能控制系统 |
CN207028210U (zh) * | 2017-08-04 | 2018-02-23 | 四川建筑职业技术学院 | 一种智能悬臂式3d打印机 |
CN107718564A (zh) * | 2017-10-13 | 2018-02-23 | 北京恒创增材制造技术研究院有限公司 | 一种fdm三维打印机智能控制系统及方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11731368B2 (en) | 2018-04-02 | 2023-08-22 | Nanotronics Imaging, Inc. | Systems, methods, and media for artificial intelligence process control in additive manufacturing |
CN111161215A (zh) * | 2019-12-09 | 2020-05-15 | 合肥迪宏自动化有限公司 | 一种可识别打印机颜色的检测装置 |
CN111161215B (zh) * | 2019-12-09 | 2023-03-31 | 合肥中科迪宏自动化有限公司 | 一种可识别打印机颜色的检测装置 |
CN111591051A (zh) * | 2020-05-26 | 2020-08-28 | 武汉数字化设计与制造创新中心有限公司 | 一种面向印刷显示的打印高度控制系统及方法 |
WO2021242354A1 (en) * | 2020-05-27 | 2021-12-02 | Icon Technology, Inc. | System and method for constructing structures by adding layers of extrudable building material using a control feedback loop |
US11590711B2 (en) | 2020-05-27 | 2023-02-28 | Icon Technology, Inc. | System and method for constructing structures by adding layers of extrudable building material using a control feedback loop |
CN112604841A (zh) * | 2020-12-10 | 2021-04-06 | 中国联合网络通信集团有限公司 | 车辆喷涂检测方法、装置、设备及存储介质 |
CN112604841B (zh) * | 2020-12-10 | 2022-02-15 | 中国联合网络通信集团有限公司 | 车辆喷涂检测方法、装置、设备及存储介质 |
CN112873839A (zh) * | 2020-12-23 | 2021-06-01 | 华中科技大学鄂州工业技术研究院 | 一种基于视觉传感的多喷头3d打印机的对刀装置及方法 |
CN113255660A (zh) * | 2021-03-18 | 2021-08-13 | 自然资源部第三海洋研究所 | 一种基于实例分割框架的海洋底质自动识别方法及装置 |
WO2022238099A1 (de) * | 2021-05-10 | 2022-11-17 | Trumpf Laser- Und Systemtechnik Gmbh | Messvorrichtung, fertigungsvorrichtung mit einer solchen messvorrichtung und verfahren zum betreiben einer fertigungsvorrichtung zum generativen fertigen eines bauteils aus einem pulvermaterial |
CN114119632B (zh) * | 2021-11-12 | 2022-05-31 | 中国科学院空间应用工程与技术中心 | 旋转式切片分割方法、系统、控制器及打印机 |
CN114119632A (zh) * | 2021-11-12 | 2022-03-01 | 中国科学院空间应用工程与技术中心 | 旋转式切片分割方法、系统、控制器及打印机 |
CN115534304A (zh) * | 2022-09-29 | 2022-12-30 | 灰觋有限公司 | 一种fdm打印装置及打印制品质量的自动检测方法 |
CN117170600A (zh) * | 2023-11-02 | 2023-12-05 | 中科方德软件有限公司 | Linux系统的打印处理方法、系统、设备和介质 |
CN117170600B (zh) * | 2023-11-02 | 2024-02-23 | 中科方德软件有限公司 | Linux系统的打印处理方法、系统、设备和介质 |
CN117400539A (zh) * | 2023-12-15 | 2024-01-16 | 北京师范大学 | 一种专用于信息科技教育的3d打印控制系统 |
CN117400539B (zh) * | 2023-12-15 | 2024-03-01 | 北京师范大学 | 一种专用于信息科技教育的3d打印控制系统 |
CN117472303A (zh) * | 2023-12-28 | 2024-01-30 | 珠海芯烨电子科技有限公司 | 一种热敏打印机图像填充方法以及相关装置 |
CN117472303B (zh) * | 2023-12-28 | 2024-04-26 | 珠海芯烨电子科技有限公司 | 一种热敏打印机图像填充方法以及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109989585B (zh) | 2021-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109989585A (zh) | 一种3d打印机打印精度的实时反馈控制方法 | |
CN106326937B (zh) | 基于卷积神经网络的人群密度分布估计方法 | |
CN109636905A (zh) | 基于深度卷积神经网络的环境语义建图方法 | |
CN111428765B (zh) | 一种基于全局卷积、局部深度卷积融合的目标检测方法 | |
CN110246159A (zh) | 基于视觉和雷达信息融合的3d目标运动分析方法 | |
CN100453966C (zh) | 一种摄像机空间三维位置姿态测量方法 | |
CN109523552A (zh) | 基于视锥点云的三维物体检测方法 | |
CN110223324A (zh) | 一种基于鲁棒特征表示的孪生匹配网络的目标跟踪方法 | |
CN112785643A (zh) | 一种基于机器人平台的室内墙角二维语义地图构建方法 | |
CN109767476A (zh) | 一种自动对焦双目摄像头标定及深度计算方法 | |
CN104517289B (zh) | 一种基于混合摄像机的室内场景定位方法 | |
CN107170037A (zh) | 一种基于多摄像机的实时三维点云重建方法和系统 | |
CN109784204A (zh) | 一种用于并联机器人的堆叠串类水果主果梗识别和提取方法 | |
CN109583483A (zh) | 一种基于卷积神经网络的目标检测方法和系统 | |
CN107481279A (zh) | 一种单目视频深度图计算方法 | |
CN104573180A (zh) | 基于单目多视角机器视觉的真人鞋型复制装置和鞋楦制造方法 | |
CN105550675B (zh) | 一种基于优化聚合积分通道的双目行人检测方法 | |
CN113139453A (zh) | 一种基于深度学习的正射影像高层建筑基底矢量提取方法 | |
CN107578430A (zh) | 一种基于自适应权值和局部熵的立体匹配方法 | |
CN109523595A (zh) | 一种建筑工程直线棱角间距视觉测量方法 | |
CN110992422B (zh) | 一种基于3d视觉的药盒姿态估计方法 | |
CN109087261A (zh) | 基于非受限采集场景的人脸矫正方法 | |
CN105701455A (zh) | 基于asm算法的人脸特征点采集及三维人脸建模方法 | |
CN109242858A (zh) | 基于自适应模板匹配的织物印花循环图案基元分割方法 | |
CN107328371A (zh) | 基于高斯影响的亚像素轮廓提取及利用Softmax回归在钣金检测场景下的优化 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |