基于机械臂的3D打印机控制系统研究
2021-05-22徐海璐房剑飞韩雪戎新萍
徐海璐,房剑飞,韩雪,戎新萍
(南京工业大学 浦江学院,南京211100)
0 引言
传统3D打印机主要有3种,如图1所示。第一种为龙门架结构[1],此结构又称为i3结构,打印头位于X轴运动导轨上,底盘架设在Y轴运动导轨上,Z轴方向沿着龙门架向上,此种打印机结构较为简单。第二种是三角洲3D打印机,该结构属于Delta式结构,由瑞士洛桑理工学院的Reymond Clavel教授于20世纪80年代发明[2]。最早的Delta式并联机械臂主要用来设计一种能以很快速度操作轻小物体的机器人,这是一种通过一系列互相连接的平行四边形来控制目标在X、Y、Z轴上的运动的机械结构。这种结构运动相对稳定,但由于并联机械臂占用了较大的空间,使得该打印机的打印范围易受到限制[3]。第三种是目前较为常见的XYZ箱体机构打印机,如市场上典型的Einstart系列打印机[4],此种结构X轴和Y轴在一个平面上运动,打印基座固定在Z轴上。打印机空间利用率较高,并且打印更加稳定,打印精度也相对较高。
图1 3D打印机
对于龙门架结构和XYZ箱体式结构打印机,X Y Z轴相互垂直,可以直接将每个轴运动距离换算成电动机的脉冲数,计算相对简单。三角洲打印机坐标系需要进行正逆解计算,圆弧路径也必须用直线进行逼近因而计算相对复杂,故导致打印精度降低。
1 三轴串联机械臂3D打印机
图2 串联机械臂3D打印机的研究技术路线
本文提出了一种三轴串联机械臂3D打印机,其研究技术路线如图2所示。将目标坐标值设定好之后,首先计算目标位置(X,Y,Z) 和当前位置(X0,Y0,Z0)的位置之差,并将位置进行分段,对每一小段获取当前位置值和目标位置值,然后通过机械臂正逆解求得3个轴的角度值。为防止机械臂加减速抖动需要对每一小段做加速度和速度规划,最后将角度值转换为电动机脉冲数驱动机械臂运动。在每个小段路径运动过程中需要和目标位置进行对比,没有到达目标位置将继续运动,直至到达目标位置[5]。
1.1 正逆解计算
如图3所示,机械臂运动到目标坐标,需将目标坐标转换为机械臂每个轴的角度,这就需要做机械臂正逆解计算。
图3 机械臂正逆解计算
正逆解需要求解α、β和水平运动角度γ。
式中:S1和S2为α和β对应的机械臂臂长的平方;l1为α对应机械臂的长度;C1为机械臂前臂和后臂长度之和;C2为常数;(sx,sy,sz)是机械臂末端相对于机械臂坐标原点的坐标值;(x,y,z)是机械臂末端相对于机械臂物理原点坐标值;H是机械臂物理原点相对于机械臂坐标原点Z轴方向的轴偏距;r是机械臂在水平方向的投影长度;q1、q2分别为机械臂末端与坐标原点连线与水平面和机械臂的角度值;P1为机械臂末端和机械臂原点的距离。
通过上述公式可以解出3个轴分别运动的角度值。
1.2 运动插补
为了能使机械臂进行曲线运动并提高3D打印平稳性和精度,需要对机械臂进行运动规划。
机械臂运动规划指的是运动插补,在起始点和终止点之间插入中间点序列,实现沿着轨迹的平稳运动。运动规划包含路径规划(path planning)和轨迹规划,路径规划是规划位置,在起终点之间经过的路径点。轨迹规划是规划时间,将路径点与时间相对应。机械臂在打印过程中需要进行频繁启停,轨迹规划好坏将直接影响3D打印产品质量、3D打印机的稳定性及其使用寿命。本方案速度规划采用梯形加减速[6]。
如图4(a)所示,采用梯形加速度做速度曲线规划,初速度为v0,末速度为vt,中间过程运行速度为vn。
图4 梯形加减速图
加速距离
若s2>0,则证明有恒速段,加速段和匀速段总距离sk=s1+s2。
当s2<0时,无恒速段,曲线只有加速和减速过程,如图4(b)所示,设加速段和减速度段交点处速度为vm,则有关系式:
本方案曲线运动采用直线逼近的方式,如图5所示,对于起始点p1(x1,y1,z1)、终点pn(xn,yn,zn),计算时将两点之间的距离进行插值。每一段做梯形加减速进行速度规划。
图5 运动插补图
1)首先求出目标坐标和当前位置坐标的差值xdiff、ydiff和zdiff。
X坐标:
Y坐标:
Z坐标:
2)求坐标之间距离Ddfif。
3)已知线段分段个数n,求每一段长度Llength。
xdestination是目标点x值,xcurrent是当前点x坐标值,其他同理;Llength_x、Llength_y、Llength_z分别是每一段线段在x、y、z方向的投影长度。
4)对每一段进行累加并求机械臂角度。
如图6所示,将L1段求机械臂逆解可得三轴角度,同理将L2段求机械臂逆解可得另一组三轴角度。p14到p15之间的X、Y、Z方向脉冲数分别为三轴运动角度对应的脉冲数。由于细分数目可以控制,所以线段数量可以做到很大,每条线段很短,可以更加准确逼近曲线,当然分段数越多对算法用时较长会影响3D打印速度。
图6 插值点计算示意图
1.3 实验结果
本研究基于Win10 64位操作系统,内存16.0GB,Intel(R) Core(TM)i7-6500U CPU @2.5GHz。开发软件基于VS2013 64位。将软件烧录进单片机Arduino MEGA2560,首先用机械臂做简单画图实验,结果显示圆形路径规划较好。然后用机械臂做写字实验,结果如图7(a)所示,最后用机械臂做3D打印实验,如图7(b)和图7(c)所示,打印齿轮和轴承座模型,打印机运行平稳,打印产品质量较好。
图7 基于机械臂的3D打印机及打印模型
2 结语
与3D打印技术相结合,对机械臂进行控制系统设计,包括对机械臂运动进行正逆解计算,对路径进行插值计算,最后做轨迹规划,使机械臂实现3D打印功能,提高打印机运动平稳性和打印精度。对传统3D打印机进行改进,实现一机多用,提高工作效率,降低成本。在“新工科”背景下,理论结合实际,提高工程实践能力和科研创新思维。