董 辉,仲济磊,李华昌,郭成朝,邹 立
(浙江工业大学 信息工程学院,杭州 310023)
随着《中国制造2025》的提出,传统工业开始向智能化工业转型[1-2]。衣服作为人们日常生活的必须品,针对不同的季节都会有不同的需求量,传统的服装加工方式难以供应市场的需求,近年来也越来越多的企业开始在自动服装裁剪设备上发力,竞争也因此变得加激烈[3],其中,运动控制系统是决定其性能的关键。
因此如何设计一款高性价比的裁床运动控制器是其中的难点[4]所在。陈效力[5]在解决裁床的高速平稳加工过程中采用了将离散点分段处理,实现圆弧平滑过渡,加工效果良好。但是在直线段与圆弧段的衔接点,存在插补误差较大的问题。王允森[6]等提出利用B样条曲线来拟合的方法,解决局部拐角尖锐导致速度跳跃过大问题,但是B样条曲线拟合轨迹会与实际的加工路线,形成轮廓误差。邬再新[7]提出RBF神经网络对自由曲线插补的方法,能够解决复杂曲线的计算,但是无法保证插补的精度在误差范围内。魏效玲[8]等提出基于神经网络的NUBRS曲线算法,在插补前对B样条曲线的参数进行了预估,但是没有考虑训练的神经网络插补器自身带来的插补偏差。
针对以上存在的问题,本文采用基于改进BP神经网络离线训练B样条曲线插补,并且结合负反馈校正与原始加工曲线动态校准。在此过程中,完成对X、Y两轴的同步控制后,实现裁床刀具的高精度插补。同时在保证精度的条件下,利用加工过程的曲线曲率半径的变化进行速度前瞻规划。最终实现裁床的高速高精度插补设计。
裁床的运动控制系统整体架构主要包括上位机、运动控制器、触控屏三大部分,如图1所示。其中上位机主要是利用网络通信TCP/IP协议与下位机运动控制器建立连接的,主要工作就是将原始PLT进行解析和坐标拟合并下发到单片机的存储器中去,并利用工业摄像头完成加工位置的定位纠偏操作。下位机主要是完成任务的调度和运动控制算法的实现制更新指令给下位机设备。触控屏通过串口与运动控制器建立连接,实现人机界面的友好化控制。整个裁床运动控制系统架构如图1所示。
图1 系统设计框架图
为了实现裁床的高速,高精度完成材料的切割任务,需要通过合理的加减速控制、精确的插补计算以及平面上长短轴的同步运动,并且在电机的启动和停止时不会产生失步,冲击或者过切,才能加工出所需要的图形。
高速高精度加工过程中需要优化刀具进给速度,即需要对进给速度进行前瞻性速度规划。
裁床加工过程中,刀具的移动路线如图2所示,假设刀具从点A到接下来第一个运动点B的距离l1,下一个运动点B即为裁床将要进行拐弯的拐点,点B到点C的距离为l2。θ为l1与l2的夹角的补角,即为裁床刀具在B点所转动的角度。虽然通过θ的大小确定拐弯速度的值可以一定程度上满足裁床的运动需求,但在裁床高速运动时会因为没有结合上下运动点去判断拐弯速度而导致裁床运动发生抖动。因此需要实现前瞻预判出任意三点出的最大速度,提前进行加减速过渡。
图2 刀具移动路线
(1)
同理可以依次计算出:
(2)
(3)
从而确定各个Ri处的最大允许速度为vi1,vi2,vi3和vmax中的最小值vi,即vi=min{vi1,vi2,vi3,vmax}。
给进速度曲线如图3所示,根据加工时的拐角最大允许速度vi,初始化线性方向角度为θ1,拐点C处的线程方向角度为θ,由此可以得到X,Y轴的给进初始分速度为:
Vss=Vicos(θ1)
Vsy=Visin(θ1)
(4)
经过转接处后的给进X,Y轴的分速度为:
Vex=Vicos(θ1+θ)
Vey=Visin(θ1+θ)
(5)
图3 给进速度曲线
目前,常用的传统加工方法是利用CAD/CAM系统将原始的加工曲线离散化为小线段,采用小线段逼近的方式完成对复杂曲线的拟合,但是该方法会造成进给速度的不连续和插补精度降低[9-10]。而使用B样条曲线进行拟合,能够较好的复现加工曲线,并且具有拐角平滑,能够明显的提高工作效率的优点。但是B样条曲线计算复杂外,还会带来插补的曲线可能偏离实际的加工路线困扰[11-12],本文为了解决这一问题,采用改进BP神经网络离线训练B样条曲线插补方式,并结合负反馈来校正轮廓误差,从而提高裁床插补精度。其中B样条曲线数学表达式如下:
(6)
其中:式(4)中有n+1个控制点di(i=0,1,...n)和一个节点矢量U=[u0,u1,u2,...un],wi为权因子;其中表达式中的Ni,k(u)为第i(i=0,1,2…)个k次B样条基函数,m=n+k+1;Ni,k(u)由下面的递推公式(7)可以得到:
(7)
从上述B样条曲线方程,我们可以得出影响B样条曲线拟合主要因素有:控制点、节点矢量、权因子。而其中的节点矢量的确定需要复杂的求导计算与泰勒展开,并且随着时间累积误差逐渐增大,导致加工曲线偏离实际的加工曲线。考虑到神经网络具有很强非线性映射和自学能力强的优点,为此本文采用改进BP神经网络离线训练B样条曲线,并通过负反馈的方式优化节点参数值。其训练学习过程如流程图4所示。
图4 BP插补神经网络离线训练流程图
2)将获取的节点矢量中的节点参数依次输入到预先建立的BP神经网络插补模型进行迭代,对于当前输入的节点参数,获取BP神经网络插补模型的输出。
3)将BP神经网络插补模型的当前输出带入B样条曲线计算出预测插补点,与实际插补点进行比较,如果他们的差小于预设的精度阈值,则进入步骤F4,否则进入步骤5)。
5)计算损失函数,利用梯度下降法完成BP神经网络插补模型参数的更新。
本模型损失函数Ej表达如下:
(8)
(9)
其中:Wj为权值,bj为阈值,都是BP神经网络插补模型参数,g为激活函数。
本模型每次对单个数据权值Wj与阈值bj进行更新训练:
(10)
其中:η为反向传播学习率,取值范围为(0, 1),j=0,1,...m。
6)加入动量因子对BP神经网络插补模型参数进行修正,返回2)继续进行迭代。引入动量因子的BP权值优化过程可以用数学表达式表示为:
(11)
其中:第一项是BP算法的第一项,η为反向传播学习率,第二项为动量项,α为动量项系数,α根据工程经验通常取0.95左右。
基于上述训练好的改进BP神经网络插补模型,完成插补具体实现步骤如下:
1)获取待加工产品的原始加工轨迹曲线以及根据原始加工轨迹曲线拟合得到的B样条曲线节点矢量U,从所述节点矢量中选取初始加工位置对应的节点作为当前节点;
(12)
进一步计算对应的反馈校正输出p*(uj):
(13)
结合牛顿搜索路径法,预测出下一次插补的节点参数uj+1:
(14)
其中:f(uj)=p*(uj)-yorg(uj),f′(uj)为f(uj)在uj处的导数,yorg(uj)为原始加工轨迹曲线对应uj的数值;将预测出的节点参数作为当前节点的节点参数返回步骤2);最后,通过查步长表给进对应的步长值,完成插补动作;
3)判断是否插补完成,如果完成插补则结束,否则返回步骤2);
在上述的插补算法仅是对给进目标点的精确预测校正,为了高速高精度的完成插补,需要解决运动过程的X、Y两轴的同步控制问题[13]。本文采用S型加减速曲线变周期法进行插补,建立对应的加速度表a0,a1,...am,加速度值由高到低逐渐减小。利用加速表和电机的机械参数,建立与加速度对应的速度表V0,V1,...Vm。根据速度和步长的关系:
Lm=VmT
(15)
建立给进步长表l0,l1...lm,其中Vm为速度表中对应下标为m时的速度,T为插补周期。
假设加工的X轴为长轴,Y轴为短轴。nxi为电机在第i个插补周期内对应的脉冲个数。利用建立好的步长表和在长轴的上的速度表,推知:
nxi=lj
(16)
公式(14)中lj的下标j为速度表中的对应速度的所在位置,对应的步长为步长表中的第j个。从而可以计算出长轴的第i(i=0,1,...m)个插补周期为:
(17)
其中:C为对应插补周期常量。
根据长轴X、短轴Y与合运动向量方向的夹角θ,能得到短轴Y在第i个插补周期内对应的脉冲数为nyi:
nyi=nxi·tanθ
(18)
基于长轴的对应的插补周期Txi,可以计算得到短轴的当前的速度:
(19)
由于Vyi取值为整数,所以在对应的周期内会存在偏差ΔTyi,即:
ΔTyi=Txi-Vyi·nyi
(20)
根据公式(18)可以由上一个周期差值得到长轴的下一个插补周期:
Tyi=Vyi·nyi+ΔTyi-1
(21)
最后将长短轴各自对应的插补周期与脉冲数写入对应的缓冲区,采用队列的方式在STM32单片机上完成脉冲的发送,从而实现对长短轴的同步控制,根据步长表,给进对应的步长值,完成裁床切割机对材料的精准加工。
为了验证本文提出的运动控制算法的有效性,在Matlab2013b平台上进行的仿真验证。基于改进的BP神经网络预测插补仿真结果,如图5所示,小圆圈为加工的坐标,利用BP神经网络B样条曲线插补器完成预测插补,其中插补周期为100 μs,轮廓平均误差为0.048%。
图5 BP神经网络预测插补仿真图
为了保证起始的速度快速上升,先以最大加速度10 000 mm/s2加速,随着速度的增大,逐渐减小加速度;这样可以保证电机的以更加平滑的速度迅速上升,给进加速度曲线如图6所示。
图6 给进加速度曲线
图7给出了带有速度前瞻拐角约束和不带速度前瞻的对比仿真图。在裁床高速加工过程中,观察裁床切割刀头的抖动情况;经过实际测试,对比分析发现,对于裁床刀头加有拐角的速度约束比不加拐角速度约束,加减速过程运行更加平滑,刀头抖动情况要小很多。
图7 给进速度曲线
图8给出了加减速过程中的进给步长曲线,进给步长值与速度值成正比关系,速度越大,进给的步长值就越大。
图8 给进步长曲线
将设计好的智能裁床运动控制主板、伺服驱动器、触控屏以及开关电源安装在控制柜中,并完成对多轴运动控制平台的调试,嵌入式运动控制主板及运动控制系统接线如图9所示。
图9 嵌入式运动控制系统
利用上位机选中待切图案的轮廓,将待加工轮廓PLT图形文件解析之后的坐标点发送到下位机控制器中去,设置智能裁床运动控制系统最大切向加速度为amax=500 mm/s2,最大切向速度为vmax=300 mm/s,最大拐角约束速度为100 mm/s。开始执行自动切割操作,直到完成所有的待加工切割材料。运动平台与刀具实际切割泡沫材料效果图如图10所示。
图10 加工效果图
本设计裁床运动控制系统采用小线段逼近插补与利用改进BP神经网络离线训练B样条曲线插补结合负反馈校正的方法情况对比,如表1所示。
表1 小线段逼近插补与改进BP神经网络离线训练B样条插补结合负反馈校正的方法情况对比
从表1中对比情况可以得出,本文插补算法相对于小线段逼近插补方法,CAD描述点数更多,曲线更平滑,轮廓误差更小,加工时间短,效率高。
针对小线段插补不连续问题,本文提出了基于改进BP神经网络离线训练B样条曲线,结合负反馈校正实现高精度预测插补。同时根据加工曲线曲率半径的变化完成速度前瞻规划。最后,经过算法仿真与平台测试验证,本文提出来的运动控制算法能够有效的解决裁床在高速加工程中刀具抖动的问题。产生的曲线轨迹光滑,加工时间较传统的加工方法,明显缩短。