微小程序段的动态前瞻处理方法及实现装置的制作方法

文档序号:6312085阅读:426来源:国知局
专利名称:微小程序段的动态前瞻处理方法及实现装置的制作方法
技术领域
本发明涉及数控装置的速度处理技术,具体地说是一种对CAM产生由微小程序段组成的工件程序加工速度的处理方法。采用该方法的数控装置可实现微小程序段加工速度的动态前瞻处理,有效地解决小线段加工中的速度光滑问题与尖角过渡问题,从而改善工件的表面加工质量。
背景技术
复杂型面的加工是高性能数控机床的主要应用对象。在目前的数控装置中,由于成本及系统处理能力的限制,装置通常只具有直线与圆弧处理功能。因此,为了实现装置对复杂型面的加工,必须先采用CAD系统进行实体模型设计,再由CAM系统根据加工工艺,将三维模型转换成由程序段(直线段或圆弧段)组成的加工程序,由数控装置进行加工处理。通常为了达到程序段所规定的速度与精度,装置要对每个程序段进行加、减速处理,以保证刀具经过程序段所指定的位置。
而在复杂型面的加工中,为了确保由直线或圆弧拟合工件的形状与精度,CAM产生的程序段所规定的路径位移通常很短,因此也称微小程序段(指毫米级)。如果以每个微小程序段为单位进行加、减速控制,这些微小程序段一方面将导致电机的频繁启停,同时过短的加工位移也会造成速度处理中的“数据饥饿”,无法达到规定的速度。实际上CAM产生的复杂型面加工程序具有一个显著的特征,即完成某一连续加工路径的微小程序段具有相同的进给速度,且程序段间所形成的切向速度夹角满足相应的拟合精度要求。因此,采用前瞻处理技术,通过对完成某一连续加工路径程序段的进给速度统一规划,并实现不同加工路径间速度的连接处理,可有效地实现微小线段加工处理中的速度光滑问题和尖角过渡问题。
目前数控装置中的前瞻处理功能已成为评价其性能的重要指标,国、内外的许多高性能数控装置,如西门子、发那科公司的产品均配有相应的功能组件。这些方法主要为静态方法,即通过在装置中开辟程序段缓冲区,并以程序段预读技术来实现加工速度的统一规划。因此,程序段的前瞻处理段数成为评价其性能的重要指标。然而,CAM所生成的复杂型面的加工程序通常规模很大。以500×500mm的中等加工表面为例。以步长0.5mm,行距1mm加工,其程序段数则为500×500/0.5=50万段。庞大的程序段数,使静态方法无法完全预见加工的轨迹情况而产生“断链”,从而造成加工中速度的不连续。同时因装置控制对象的动态特性,以及用户在加工中对进给及主轴速度修调等交互操作,前瞻处理本身是个动态的过程。采用静态处理方法,因处理过的程序段已存储在缓冲区中,无法根据装置的动态特性对已规划的数据进行动态的调整。

发明内容
针对现有数控装置微小程序段前瞻处理方法存在的问题,本发明的目的是提供一种可根据装置的动态特性对已规划的数据进行修正的微小程序段动态前瞻处理方法及实现装置,本发明通过引入“程序链”和“程序链”识别的判定条件与速度规划方法,以及“程序链”间的速度连接处理来实现微小程序段加工速度的动态前瞻处理;基于此方法,本发明采用PC平台开发了数控实现装置,以实现加工过程中微小程序段进给速度的连续控制。
为了实现上述目的,本发明的技术方案如下采用人机接口、任务协调、运动控制及可编程控制器,将运动控制与可编程控制器加载于系统的内核空间,人机接口、任务协调部分加载于系统的用户空间,彼此间通过系统的共享通讯缓冲区互相通信;运动控制包括运动规划与轴控制两部分;其中运动规划采用动态前瞻速度处理方法,对经任务协调部分解释的微小程序段进行速度规划,形成加工过程中的速度设置值,由轴控制部分实现加工过程中机床伺服轴的平滑运动。
所述的动态前瞻速度处理方法由“程序链”识别,“程序链”速度规划以及“程序链”间速度连接处理三步组成。所述“程序链”为满足装置速度与精度要求的连续程序段。基于CAM产生复杂型面工件程序的特征,相邻的两个程序段可形成“程序链”。所述“程序链”识别的判定条件为1)具有相同的程序段设置速度;2)当刀具以设置速度通过两个程序段衔接的夹角处时,速度不超过装置的设定值;3)当刀具以设置速度通过两个程序段连接的夹角时,误差不超过装置的设定值;基于所述判定条件,方法中“程序链”的识别可对连续到来的程序段“聚类”,形成若干“程序链”;程序段的“聚类”是个动态的过程。
所述速度规划处理过程以“程序链”为处理单位,基于微小程序段加工对工件表面光洁度的要求,处理过程采用“S型”速度曲线处理方法。针对“S型”速度曲线分段处理方法约束多,计算量大的问题,处理过程采用基于三次函数的处理方法;具体是通过采用三次函数对“S型”速度曲线的加速阶段与减速阶段拟合,进而形成“程序链”速度处理中加速阶段、匀速阶段、减速阶段的插补步数与运动位移;当“程序链”只包含一个程序段时,所实现的是传统的速度规划方法;当“程序链”包含多个程序段时,因其可对预先到来的程序段统一规划,所完成的是加工速度的前瞻处理;在速度处理中,由于程序段的到来是个动态的过程。若后续到来的程序段满足当前“程序链”的判定条件,且当前“程序链”加工尚未到减速阶段,则通过对已规划匀速与减速阶段的插补步数进行修正,来防止静态处理方法中产生的“断链”现象。
当出现多个“程序链”时,所述“程序链”间速度连接处理基于当前链的起始增量、后续链的终止增量以及“程序链”间切向速度夹角约束值,利用“递推”与“逆推”相结合机制,得出“程序链”间连接速度,以实现“程序链”间速度的平滑过渡。
所述微小程序段的动态前瞻处理方法的实现装置,基于ISA总线,由电源供电,包括显示器、中央控制器、机床操作面板、轴控制电路及接口电路,其中中央控制器与显示器、机床操作面板通信,并通过ISA总线与轴控制电路及接口电路通信,微小程序段的动态前瞻处理程序安装在中央控制器的FLASH或DOM中,实现装置加工速度的平滑处理;所述处理程序由程序段队列管理、程序段管理、程序链管理、程序链队列管理、轨迹规划。所述程序段队列管理接收工件程序,为运动规划与任务协调间的接口;程序段管理实现程序段数据格式的转换;程序链管理根据程序链判定条件实现工件程序中程序链的识别;程序链队列管理以程序链的方式实现对工件程序的管理与程序链间速度连接的处理;轨迹规划基于本发明方法实现加工速度的平滑控制。
与现有的技术相比,本发明有以下优点一是适应性强。引入“程序链”概念,将程序段的前瞻处理归结为“程序链”的识别问题。通过设置相应“程序链”判定条件,使得方法既可实现单程序段的速度规划,也可实现多程序段的速度规划。
二是执行效率高。采用三次函数拟合“S-型”速度处理曲线,避免了分段处理方法的计算复杂性。在保证速度平滑的基础上,提高了算法的执行效率。
三是动态性好。针对装置控制对象的动态特性,引入速度规划中匀速阶段、减速阶段的运动步数的动态修正机制,既避免了速度处理中“断链”现象,也可处理加工中用户对进给及主轴速度修调等交互操作。
四是速度平滑度高。针对工件程序中出现的多个“程序链”,通过引入“程序链”间速度连接的“递推”与“逆推”处理机制,确保加工过程中速度的平滑性。


图1为本发明方法总体结构图。
图2-1为完成某一加工路径连续微小程序段集即“程序链”的组成图。
图2-2为图2-1中左上角两个“程序链”的放大图。
图3-1为两个微小程序段连接所形成的“程序链”运动轨迹。
图3-2为图3-1中“程序链”的速度判定图。
图3-3为图3-1中“程序链”的误差判定图。
图4为本发明“程序链”的速度规划方法图。
图5为本发明“程序链”间速度连接处理图。
图6为本发明方法的实现装置结构图。
图7为本发明程序结构图。
图8为本发明“程序链”识别的程序流程图。
图9为本发明“程序链”速度规划程序流程图。
图10为本发明“程序链”间速度连接程序流程图。
图11为本发明程序顺序图。
图12为现有方法速度规划的效果图。
图13为本发明速度规划的效果图。
具体实施例方式
下面结合附图对本发明作进一步详细说明。
(1)微小程序段的动态前瞻处理方法参见图1,采用人机接口、任务协调、运动控制及可编程控制器,将运动控制与可编程控制器加载于系统的内核空间,人机接口、任务协调部分加载于系统的用户空间,彼此间通过系统的共享通讯缓冲区互相通信;其中人机接口用来接收操作命令与工件程序,用来显示本发明实现装置的加工过程,实现机床操作人员与本发明实现装置间的交互。
任务协调由状态管理与工件程序解释两部分组成。状态管理采用有限状态机技术,实现加工状态间,如自动加工、手动等方式间的自动管理与切换。工件程序解释采用编译技术,实现操作命令与工件程序到机床控制命令的分解。
运动控制包括运动规划与轴控制两部分,运动规划根据程序段动态前瞻处理方法,生成机床伺服轴的速度设置值传给轴控制部分,由轴控制部分控制装置实现加工过程中机床伺服轴的平滑运动。
可编程控制器由梯形图编辑器与可编程控制器引擎两部分组成。梯形图编辑器实现以梯形图表示机床电器控制程序的编辑与转换。可编程控制器引擎对机床电器控制程序解释执行,从而完成机床电器,如冷却液开关、换刀等的控制动作。
所述微小程序段的动态前瞻处理方法由“程序链”识别,“程序链”速度规划以及“程序链”间速度连接处理步骤组成,以解决微小程序段加工中的速度平滑和尖角过渡问题。“程序链”识别所述“程序链”为满足装置速度与精度要求的连续程序段;基于CAM产生复杂型面工件程序的特征,相邻的两个程序段可形成“程序链”;如图2-1所示,“程序链”为完成某一加工路径的连续微小程序段集(具有从1到7个“程序链”的加工轨迹),图2-2表示第4到5个“程序链”加工轨迹所包含的程序段,其中程序链4的起始点是从程序链3的AB程序段的B端起算,具体包括BC、CD、DE、EF程序段;程序链5包括FG、GH程序段。基于CAM产生复杂型面加工程序的特征,可得“程序链”识别的判定条件。
“程序链”识别的判定条件推导过程如下如图3-1所示,设Pi、Pi+1为工件程序中相邻的两个程序段,其速度向量分别为vi→(vi,x,vi,y,vi,z),vi+1→=(vi+1,x,vi+1,y,vi+1,z),]]>其中(vi,x,vi,y,vi,z与vi+1,x,vi+1,y,vi+1,z分别为速度向量在x轴、y轴与z轴的投影。 之间的夹角为θ,装置的最大加速度amax,装置的形状误差为e,装置的插补周期为Δt。为了描述“程序链”的判定条件,引入如下符号maxInc表示匀速增量(属一种位移增量),即图3-1中两点间的距离,A、C表示采用本发明Pi、Pi+1两个程序段的连接点,B表示采用传统方法Pi、Pi+1两个程序段的连接点。运动时Pi、Pi+1两个程序段的一个插补周期的位移增量分别为maxInci=|vi→|×Δt]]>maxInci+1=|vi+1→|×Δt]]>因此,匀速增量maxInc由程序段速度设置值和插补时间决定。
cornerInc表示由装置的加速度amax决定的两相邻程序段Pi、Pi+1间夹角处一个插补周期的位移增量。如图3-2所示,Δxn、Δyn、Δzn分别表示匀速增量maxInc在x轴、y轴与z轴的投影,n表示插补步数,则cornerInc≤amaxΔt2maxk∈x,y,z|vi+1,k-vi,k|cosα;]]>其中maxk∈x,y,z|vi+1,k-vi,k|]]>为|vi+1,x-vi,y|、|vi+1,y-vi,y|、|vi+1,z-vi,z|中值较大者,α为其与对应轴所形成的夹角。
shapInc表示由形状误差e决定的两个相邻程序段Pi、Pi+1间夹角处一个插补周期的位移增量,如图3-3所示,BD表示微小程序段连接所产生的形状误差,则shapInc≤4e2+cosθ;]]>
基于上述描述,当且仅当maxInci=maxInci+1,maxInci≤shapInc,maxInci≤cornerInc时,程序段Pi,Pi+1可归为一个“程序链”。
“程序链”速度规划所述速度规划处理过程以“程序链”为处理单位,基于微小程序段加工对工件表面光洁度的要求,处理过程采用“S型”速度曲线处理方法。针对“S型”速度曲线分段处理方法约束多,计算量大的问题,处理过程采用基于三次函数的处理方法,具体是通过采用三次函数对“S型”速度曲线的加速阶段与减速阶段拟合。
如图4所示,规划将“程序链”的运动分为加速、匀速、减速三阶段,各阶段的插补步数分别为m、p、q,并以initInc、maxInc和finalInc分别表示其在运动起始阶段、匀速阶段与终止阶段的单位插补时间的位移增量(简称起始增量、匀速增量与终止增量)。针对基于分段处理方法计算量大,所述处理以如下三次函数拟合“S型”速度曲线的加速阶段与减速阶段的位移增量ΔD(n)=a(nΔt)3+b(nΔt)2+c(nΔt)+d (1)其中ΔD为位移增量,a,b,c,d,为速度曲线的系数;n为插补序数。
由已知条件ΔD(0)=ΔD0,ΔD(s)=ΔDendΔD·(0)=0,ΔD·(s)=0,]]>可得三次函数的四个系数a=-2×ΔDend-ΔD0(sΔt)2]]>b=3×ΔDend-ΔD0(sΔt)2---(2)]]>c=0d=ΔD0式中ΔD0是运动起始的位移增量,即起始增量;ΔDend是运动结束时位移增量,即终止增量;s是插补步数,为未知数。s越小,即速度调整的步数越少,速度改变的就越快,相应地加速度就越大,由此可得插补步数为s=ceil[3|ΔDend-ΔD0|2amaxΔt2]---(3)]]>由式(1),(2)和式(3)可以求出经过s个插补周期的总位移,表达式为D=Σn=1sΔD(n)=(s+1)×(ΔD0+ΔDend2)-ΔD0---(4)]]>基于公式(1)、(2)、(3)、(4)进行程序链的速度规划具体为
加速阶段插补步数为m,从起始增量initInc加速到匀速增量maxInc,运动位移为D1,将ΔD0=initInc,ΔDend=maxInc代入式(2)、(3)、(4),可以得插补步数m=ceil[3|maxInc-initInc|2amaxΔt2]]]>运动位移D1=(m+1)×(initInc+maxInc2)-initInc]]>位移增量函数系数a1=-2×maxInc-initInc(mΔt)2]]>b1=3×maxInc-initInc(mΔt)2]]>c1=0d1=initInc减速阶段插补步数为q,从匀速增量maxInc减速到终止增量finalInc,运动位移为D3,将ΔD0=maxInc,ΔDend=finalInc代入式(2)、(3)、(4),可以得出插补步数q=ceil[3|finalInc-maxInc|2amaxΔt2];]]>运动位移D3=(q+1)×(finalInc+maxInc2)-maxInc;]]>位移增量函数系数
a3=-2×finalInc-maxInc(qΔt)2]]>b3=3×finalInc-maxInc(q·Δt)2;]]>c3=0d3=maxInc匀速阶段运动位移D=D-D1-D3,其中D为“程序链”总位移长度,根据程序段(如或是直线或是圆弧或是螺旋线)确定其长度。
插补步数p=(D-D1-D3)/maxInc位移增量为常量maxInc。
当程序链无匀速阶段(即在程序链长度范围内,速度不能从起始增量initInc达到匀速增量maxInc并以终止增量finalInc结束),则对匀速增量maxInc进行调整为匀速增量修正量maxInc*当maxInc>initInc且maxInc>finalInc时maxInc*=-13pamaxt2+16(2pamaxt)2+18(initInc2+finalInc2)+12amaxt2(initInc-finalInc+2D)]]>当maxInc>finalInc且maxInc≤initInc时maxInc*=3[(finalInc2-initInc2)+2amaxt2(initInc-finalInc+2D)]4pamaxt2;]]>当maxInc>initInc且maxInc≤finalInc时maxInc*=3[(finalInc2-initInc2)+2amaxt2(initInc-finalInc+2D)]4pamaxt2;]]>当maxInc≤initInc且maxInc≤finalInc时maxInc*=13pamaxt2+16(2pamaxt)2+18(initInc2+finalInc2)+12amaxt2(initInc+finalInc-2D),]]>
将maxInc调整为maxInc*后,可重新计算m,p,q及运动位移。
当程序段动态到来,满足当前“程序链”的判定条件,且当前“程序链”加工尚未到减速阶段,需对当前“程序链”的速度规划进行修正。设newSeg.length表示到来程序段的长度,则当其大于匀速增量maxInc,修正匀速阶段插补步数,新增步数为p*=ceil[newSeg.lengthmaxInc];]]>否则将其归为减速阶段。
“程序链”间速度连接处理若相邻两程序段不能归为一个“程序链”,而出现多个“程序链”。所述“程序链”间速度连接处理基于当前链的起始增量、后续链的终止增量以及“程序链”间切向速度夹角约束值,利用“递推”与“逆推”相结合机制,得出“程序链”间连接速度,以实现“程序链”间速度的平滑过渡。
如图5所示,针对工件程序中存在的多个“程序链”,为了避免“程序链”间速度降为零,所述“递推过程”从第一个“程序链”开始,依次求出每个“程序链”加工结束后可达到的最大终止增量maxFinalInci。所述“逆推过程”从“程序链”队列中的最后一个程序链开始,依次向前,求出为达到终止增量每个“程序链”的最大起始增量maxInitInci。所述方法通过扫描程序链队列,取“程序链”连接处最大终止增量maxFinalInci和最大起始增量maxInitInci中的较小值作为连接速度linkInc,并分别对相邻的“程序链”属性进行修正,分别将起始增量或终止增量修正为linkInc。
(2)微小程序段动态前瞻处理方法的实现装置如图6所示,微小程序段动态前瞻处理方法的实现装置,基于ISA总线,由电源4供电,包括TFT型显示器1、中央控制器2、机床操作面板3、轴控制电路5及接口电路6,其中中央控制器2与显示器1、机床操作面板3通信,并通过ISA总线与轴控制电路5及接口电路6通信,微小程序段的动态前瞻处理程序安装在中央控制器2的FLASH或DOM型存储器中,实现微小程序段动态前瞻处理;为了确保控制装置控制性能与开放特性,装置的软件平台采用具有实时扩展的通用操作系统RTLinux。
具体如下TFT型显示器1的尺寸为10.4″,采用640×480的显示方式,支持16位增强色。
中央控制器2采用标准的工控板卡,CPU采用Intel的PentiumMMX,主频200MHz,内存32M,支持FLASH与DOM两种方式,存储容量64M。
机床操作面板3是人机交互的界面,完成键盘编辑、显示信息和图形及完成对机床操作的等功能。操作面板包括主键盘板、功能键盘板、钥匙开关和LCD指示灯、波段开关、急停开关、循环启动,循环停止按钮等(为现有技术)。
电源4为数控系统提供+5V、+12V、-12V三种直流电源。它具有高效率,高可靠性,低输出纹波与噪声的特点。电源单元主要由工业用开关电源T-50B、电源控制板、电源输入板、电源EMI滤波器四部分组成(为市购产品)。
轴控制电路5为标准电路(市购产品)。它根据机床伺服轴的控制要求,提供D/A输出接口、编码器输入接口、开关信号接口、测头信号接口、显示灯信号接口、输入输出电路接口、编码器故障检测接口、ISA总线接口,并由现场可编程门阵列提供控制逻辑。其中D/A输出接口提供伺服驱动的控制信号,编码器输入接口检测伺服电机中编码器的位置信号,开关信号接口检测机床伺服轴的回零点与极限位置,测头信号接口检测测头的在线位置信号,显示灯信号接口提供轴控制中的执行状态,输入输出电路接口为接口电路提供控制信号,编码器故障检测接口检测编码器的故障。电路产生信号最后通过ISA总线接口电路6与装置中的中央控制器2进行通信,由其上的软件完成微小程序的速度规划。
接口电路6为标准电路(市购产品),主要功能是提供隔离的64输入/48输出数字接口,起着装置与机床功能部件(如各种开关、指示灯以及继电器)之间的信息传递作用。数控机床中各种开关(如限位开关等)的状态要通过数字输入端口读入到装置中,而数控机床控制面板上的指示灯以及继电器的通断,则通过接口电路6的数字输出端口进行控制。接口电路6的每个通道都是光电隔离的,增强了系统的抗干扰能力。
如图7所示,微小程序段动态前瞻处理程序包括轨迹规划(TrajectoryPlanner)、程序段队列管理(SegmentQueue)、程序链管理(SegmentChain)、程序链队列管理(ChainQueue)、程序段管理。程序受运动控制主程序调用,其中程序段队列管理为运动规划与任务协调部分的接口,任务协调部分通过其将工件程序传给运动规划部分,程序段管理将程序段队列管理中的元素转换成本方法数据结构,其结构包含如下元素type程序段类型,如直线,圆弧,螺旋线;startPosition程序段的起始位置;endPosition程序段的终止位置;line直线参数;helixRadius螺旋线参数;circle圆弧参数当运动控制调用程序段队列管理接收程序段后,由程序段管理将其转换成本方法所需的数据结构,然后调用程序链管理根据判定条件形成轨迹规划的处理对象——程序链,由此触发轨迹规划的运行;轨迹规划根据“S-型”速度曲线对速度进行规划,并在存在多个程序链时,调用程序链队列管理计算程序链的连接速度;最后运动控制根据轨迹规划的结果调用轴控制部分,形成加工过程中切削速度的平滑控制。
“程序链”管理根据判定条件识别加工程序中的“程序链”,其程序流程图如图8所示,具体为首先从程序段队列中读取新到的程序段(newseg),若当前“程序链”为空,则以新到的程序段为元素形成“程序链”否则从当前“程序链”取出队尾的程序段(PLlast);若新到的程序段与队尾的程序段不满足“程序链”识别判定的三个条件,则以新到的程序段为元素形成“程序链”,识别判定处理结束;若新到的程序段与队尾的程序段满足“程序链”识别判定的三个条件,且当前“程序链”尚未进行加工,则将新到的程序段并入当前“程序链”,识别判定处理结束;否则对当前“程序链”的速度规划进行修正;若新到的程序段满足速度两个修正条件(即满足当前“程序链”的判定条件及当前“程序链”加工尚未到减速阶段条件),将新到的程序段并入当前“程序链”,并对“程序链”的插补步数进行调整,识别判定处理结束;否则不满足速度修正条件,以新到的程序段为元素形成“程序链”,完成识别处理。
轨迹规划实现加工处理中“程序链”的速度规划与速度连接。“程序链”速度规划程序流程图如图10所示,具体为从“程序链”队列中取出队首“程序链”,判断其当前状态。若该“程序链”尚未规划(新的程序链),则调用“程序链”队列管理程序计算“程序链”间的连接速度,根据所述方法规划出运动各个阶段的插补步数m、p、q及位移增量函数的系数a、b、c、d,初始运动规划的插补步数并标记当前“程序链”的状态(即使标记该程序链已规划),然后分别计算各个阶段的位移增量;否则该程序链已规划则根据运动状态直接分别计算各个阶段的位移增量;若当前运动处于加速阶段,根据其位移增量函数计算其位移增量;若当前运动处于匀速阶段,其位移增量为常量;若当前运动处于减速阶段,根据其位移增量函数计算其位移增量;然后再由相应运动状态的位移增量计算运动位移,将位移转换成三维坐标值并输出,同时累计插补步数作为“程序链”结束的判定条件。若当前“程序链”运动结束,判断整个程序是否结束。若整个加工程序结束,清除运动队列,结束运动规划。
“程序链”队列管理对“程序链”队列进行维护,以“程序链”的方式实现对加工程序的管理,并计算“程序链”间的连接速度。“程序链”队列管理的程序流程图如图9所示,具体为扫描“程序链”队列,从头往后递推计算每个“程序链”最大结束增量;然后从后往前逆推计算每个“程序链”最大起始增量maxInitInci;最后比较相邻“程序链”间的最大起始增量与最大结束增量maxFinalInci,取其最小值作为“程序链”间的连接速度。
在上述软、硬结构的实现装置运行中,用户可通过人机接口输入工件程序,工件程序在任务协调的控制下,经工件程序解释发送给运动控制,进入加工程序运动规划。如图11所示,当运动控制调用程序段队列管理接收程序段后,由程序段管理将其转换成本方法所需的数据结构,然后调用程序链管理根据判定条件形成轨迹规划的处理对象——程序链,由此触发轨迹规划的运行;轨迹规划根据“S-型”速度曲线对速度进行规划,并在存在多个程序链时调用程序链队列管理计算程序链的连接速度;最后运动控制根据轨迹规划的结果调用轴控制部分,形成加工过程中切削速度的平滑控制。
(3)本发明执行效果本发明方法及实现装置的执行机构采用安川∑-2伺服与电机,控制机床为三轴数控铣床,装置的主要参数如下·进给率F=2500mm/min·最大加速度=1000mm/s2·插补周期=0.002秒·伺服周期=0.0005秒·任务协调执行周期=0.006秒本发明方法及实现装置效果的评价以微小程序段加工中常用的“R型”曲线的加工为评测依据。采用现有方法速度规划曲线如图12所示(横坐标以伺服周期为单位,纵坐标表示所对应的加工速度);而采用本发明方法与实现装置,速度规划曲线如图13所示。从速度曲线的对比可以得到如下结论1.微小程序段动态前瞻处理方法的实现装置加减速次数少,速度曲线平滑。加工“R型”曲线时,本发明仅经过6次加减速处理,而传统方法需要26次加减速。
2.微小程序段动态前瞻处理方法的实现装置实现了程序链间的速度连接,而传统方法没有实现程序链(或段)间的速度衔接,每段加工结束后速度为零。
3.微小程序段动态前瞻处理方法加工速度高。因为对于相同初始化控制参数,本发明方法实现装置加工R型曲线时用了220个单位的时间,而传统方法用了400多个单位的时间。
权利要求
1.一种微小程序段的动态前瞻处理方法,采用人机接口、任务协调、运动控制及可编程控制器,将运动控制与可编程控制器加载于系统的内核空间,人机接口、任务协调部分加载于系统的用户空间,彼此间通过系统的共享通讯缓冲区互相通信;运动控制包括运动规划与轴控制两部分;其特征在于运动规划采用动态前瞻处理方法,对经任务协调部分解释的微小程序段进行速度规划,形成加工过程中的速度设置值,由轴控制部分实现加工过程中机床伺服轴的平滑运动。
2.按权利要求1所述微小程序段的动态前瞻处理方法,其特征在于所述动态前瞻处理方法由“程序链”识别,“程序链”速度规划以及“程序链”间速度连接处理组成,所述“程序链”为满足装置速度与精度要求的连续程序段;基于CAM产生复杂型面工件程序的特征,相邻的两个程序段可形成“程序链”;所述“程序链”识别的判定条件为1)具有相同的程序段设置速度;2)当刀具以设置速度通过两个程序段连接的夹角处时,速度不超过装置的设定值;3)当刀具以设置速度通过两个程序段连接的夹角处时,误差不超过装置的设定值;基于所述判定条件,“程序链”识别过程对连续到来的程序段“聚类”,以形成若干“程序链”;所述速度规划以“程序链”为处理单位,处理过程采用“S型”速度曲线处理方法,具体是采用三次函数对“S型”速度曲线的加速阶段与减速阶段拟合,来形成“程序链”速度处理中加速阶段、匀速阶段、减速阶段刀具的插补步数与运动位移;在速度处理中,若后续到来的程序段满足当前“程序链”的判定条件,且当前“程序链”加工尚未到减速阶段,则通过对已规划匀速与减速阶段的插补步数进行修正,来防止静态处理方法中产生的“断链”现象;所述“程序链”间速度连接处理当出现多个“程序链”时,所述“程序链”间速度连接处理基于当前链的起始增量、后续链的终止增量以及“程序链”间切向速度夹角约束值,利用“递推”与“逆推”相结合机制,得出“程序链”间连接速度,以实现“程序链”间速度的平滑过渡。
3.按权利要求2所述微小程序段动态前瞻处理方法,其特征在于所述“程序链”识别的判定条件推导过程为设Pi、Pi+1为加工程序中相邻的两个程序段,其速度向量分别为vi→=(vi,x,vi,yvi,z),]]>vi+1→=(vi+1,x,vi+1,y,vi+1,z),]]>其中vi,x,vi,y,vi,z与vi+1,x,vi+1,y,vi+1,z分别为速度向量在x轴、y轴与z轴的投影; 之间的夹角为θ,装置的最大加速度amax,装置的形状误差为e,装置的插补周期为Δt;maxInc表示匀速增量,运动时Pi、Pi+1两个程序段的一个插补周期的位移增量分别为maxInci=|vi→|×t]]>maxInci+1=|vi+1→|×t;]]>cornerInc表示由装置的加速度amax决定的两相邻程序段Pi、Pi+1间夹角处一个插补周期的位移增量cornerInc≤amaxt2maxk∈x,y,z|vi,k-vi+1,k|cosα;]]>其中 为|vi+1,x-vi,y|、|vi+1,y-vi,y|、|vi+1,z-vi,z|中值较大者,α为其与对应轴所形成的夹角;shapInc表示由形状误差e决定的两个相邻程序段Pi、Pi+1间夹角处一个插补周期的位移增量shapInc≤4e2+cosθ;]]>基于上述描述,当且仅当max Inci=max Inci+1,max Inci≤shapInc,max Inci≤cornerInc时,程序段Pi,Pi+1归为一个“程序链”。
4.按权利要求2所述微小程序段的动态前瞻处理方法,其特征在于所述速度规划将“程序链”的运动分为加速、匀速、减速三阶段,各阶段的插补步数分别为m、p、q,并以initInc、maxInc和finalInc分别表示其在运动起始阶段、匀速阶段与终止阶段的单位插补时间的位移增量,即起始增量、匀速增量与终止增量;以如下函数拟合“S型”速度曲线的加速阶段与减速阶段的位移增量ΔD(n)=a(nΔt)3+b(nΔt)2+c(nΔt)+d (1)其中ΔD为位移增量,a,b,c,d为速度曲线的系数,n为插补序数;由已知条件ΔD(0)=ΔD0,ΔD(s)=ΔDendΔD·(0)=0,ΔD·(s)=0,]]>可得三次函数的四个系数a=-2×ΔDend-ΔD0(sΔt)2]]>b=3×ΔDend-ΔD0(sΔt)2---(2)]]>c=0d=ΔD0式中ΔD0是运动起始的位移增量,ΔDend是运动结束时位移增量,s是插补步数,为未知数;插补步数为s=ceil[3|ΔDend-ΔD0|2amaxΔt2]---(3)]]>由式(1),(2)和式(3)可以求出经过s个插补周期的总位移,表达式为D=Σn=1sΔD(n)=(s+1)×(ΔD0+ΔDend2)-ΔD0---(4)]]>基于公式(1)、(2)、(3)、(4)进行程序链的速度规划。
5.按权利要求4所述微小程序段的动态前瞻处理方法,其特征在于所述程序链的速度规划具体如下加速阶段插补步数为m,从起始增量initInc加速到匀速增量maxInc,运动位移为D1,将ΔD0=initInc,ΔDend=maxInc代入式(2)、(3)、(4),可以得插补步数m=ceil[3|maxInc-initInc|2amaxΔt2];]]>运动位移D1=(m+1)×(initInc+maxInc2)-initInc;]]>位移增量函数系数a1=-2×maxInc-initInc(mΔt)2]]>b1=3×maxInc-initInc(mΔt)2;]]>c1=0d1=initInc减速阶段插补步数为q,从匀速增量maxInc减速到终止增量finalInc,运动位移为D3,将ΔD0=max Inc,ΔDend=finalInc代入式(2)、(3)、(4),可以得出插补步数q=ceil[3|finalInc-maxInc|2amaxΔt2];]]>运动位移D3=(q+1)×(finalInc+maxInc2)-maxInc;]]>位移增量函数系数a3=-2×finalInc-maxInc(qΔt)2]]>b3=3×finalInc-maxInc(qΔt)2;]]>c3=0d3=maxInc匀速阶段运动位移D=D-D1-D3,其中D为“程序链”总长度;插补步数p=(D-D1-D3)/maxInc位移增量为常量maxInc;当程序链无匀速阶段,则对匀速增量maxInc进行调整为匀速增量修正量maxInc*当maxInc>initInc且maxInc>finalInc时maxInc*=-13pamaxt2+16(2pamaxt)2+18(initInc2+finalInc2)+12amaxt2(initInc-finalInc+2D)]]>当max Inc>finalInc且max Inc≤initInc时maxInc*=3[(finalInc2-initInc2)+2amaxt2(initInc-finalInc+2D)]4pamaxt2;]]>当max Inc>initInc且max Inc≤finalInc时maxInc*=3[(initInc2-finalInc2)+2amaxt2(initInc-finalInc+2D)]4pamaxt2;]]>当max Inc≤initInc且maxInc≤finalInc时maxInc*=13pamaxt2+16(2pamaxt)2+18(initInc2+finalInc2)+12amaxt2(initInc+finalInc-2D)]]>将maxInc调整为max Inc*后,可重新计算m,p,q及运动位移;当程序段动态到来,满足当前“程序链”的判定条件,且当前“程序链”加工尚未到减速阶段,需对当前“程序链”的速度规划进行修正;设newSeg.length表示到来程序段的长度,则当其大于匀速增量maxInc,修正匀速阶段插补步数,新增步数为p*=ceil[newSeg.lengthmaxInc];]]>否则将其归为减速阶段。
6.按权利要求2所述微小程序段的动态前瞻处理方法,其特征在于所述“程序链”间速度连接处理采用“递推”与“逆推”相结合机制推导“程序链”间的连接速度,通过扫描程序链队列,取“程序链”连接处最大终止增量和最大起始增量中的较小值作为连接速度,并分别对相邻的“程序链”属性进行修正,分别将起始增量或终止增量修正为连接速度;其中所述“递推过程”从第一个“程序链”开始,依次求出每个“程序链”加工结束后可达到的最大终止增量;所述“逆推过程”从“程序链”队列中的最后一个程序链开始,依次向前,求出为达到结束增量每个“程序链”的最大起始增量。
7.一种按权利要求1所述微小程序段的动态前瞻处理方法的实现装置,其特征在于基于ISA总线,由电源(4)供电,包括显示器(1)、中央控制器(2)、机床操作面板(3)、轴控制电路(5)及接口电路(6),其中中央控制器(2)与显示器(1)、机床操作面板(3)通信,并通过ISA总线与轴控制电路(5)及接口电路(6)通信,处理程序安装在中央控制器(2)中,实现微小程序段动态前瞻处理。
8.按权利要求7所述微小程序段的动态前瞻处理方法的实现装置,其特征在于所述处理程序包括轨迹规划、程序段队列管理、程序链管理、程序链队列管理、程序段管理,程序受运动控制主程序调用,其中程序段队列管理为运动规划与任务协调部分的接口;程序段管理将程序段队列管理中的元素转换成本方法数据结构格式;“程序链”管理根据判定条件将程序段聚类为“程序链”;轨迹规划通过调用“程序链”队列管理程序实现加工处理中“程序链”的速度规划与速度连接;“程序链”队列管理对“程序链”队列进行维护,以“程序链”的方式实现对加工程序的管理,并计算“程序链”间的连接速度。
9.按权利要求8所述微小程序段的动态前瞻处理方法的实现装置,其特征在于“程序链”管理流程具体为首先从程序段队列中读取新到的程序段,若当前“程序链”为空,则以新到的程序段为元素形成“程序链”,否则从当前“程序链”取出队尾的程序段;若新到的程序段与队尾的程序段不满足“程序链”识别判定的三个条件,则以新到的程序段为元素形成“程序链”,识别判定处理结束;若新到的程序段与队尾的程序段满足“程序链”识别判定的三个条件,且当前“程序链”尚未进行加工,则将新到的程序段并入当前“程序链”,识别判定处理结束;否则对当前“程序链”的速度规划进行修正;若新到的程序段满足速度修正条件,将新到的程序段并入当前“程序链”,并对“程序链”的插补步数进行调整,识别判定处理结束;否则不满足速度修正条件,以新到的程序段为元素形成“程序链”,完成识别处理。
10.按权利要求8所述微小程序段的动态前瞻处理方法的实现装置,其特征在于轨迹规划程序流程具体为从“程序链”队列中取出队首“程序链”,判断其当前状态;若该“程序链”尚未规划,则调用“程序链”队列管理程序计算“程序链”间的连接速度,根据所述方法规划出运动各个阶段的插补步数及位移增量函数的系数,初始运动规划的插补步数并标记当前“程序链”的状态,然后分别计算各个阶段的位移增量;否则直接分别计算各个阶段的位移增量;若当前运动处于加速阶段,根据其位移增量函数计算其位移增量;若当前运动处于匀速阶段,其位移增量为常量;若当前运动处于减速阶段,根据其位移增量函数计算其位移增量;然后再由相应运动状态的位移增量计算运动位移,将位移转换成三维坐标值并输出,同时累计插补步数作为“程序链”结束的判定条件。若当前“程序链”运动结束,判断整个程序是否结束。若整个加工程序结束,清除运动队列,结束运动规划。
11按权利要求8所述微小程序段的动态前瞻处理方法的实现装置,其特征在于“程序链”队列管理流程具体为扫描“程序链”队列,从头往后递推计算每个“程序链”最大结束增量;然后从后往前逆推计算每个“程序链”最大起始增量;最后比较相邻“程序链”间的最大起始增量与最大结束增量,取其最小值作为“程序链”间的连接速度。
全文摘要
本发明公开一种微小程序段的动态前瞻处理方法及实现装置,采用人机接口、任务协调、运动控制及可编程控制器,将运动控制与可编程控制器加载于系统的内核空间,人机接口、任务协调部分加载于系统的用户空间,彼此间通过系统的共享通讯缓冲区互相通信;运动控制包括运动规划与轴控制两部分;其特征在于运动规划采用动态前瞻处理方法,对经任务协调部分解释的微小程序段进行速度规划,形成加工过程中的速度设置值,由轴控制部分实现加工过程中机床伺服轴的平滑运动。采用本发明可有效地解决小线段加工中的速度光滑问题与尖角过渡问题,从而改善工件的表面加工质量。
文档编号G05B19/4097GK1967421SQ20051004775
公开日2007年5月23日 申请日期2005年11月18日 优先权日2005年11月18日
发明者于东, 周雷, 黄艳, 郭锐锋, 吴文江 申请人:中国科学院沈阳计算技术研究所有限公司, 沈阳高精数控技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1