法律状态公告日
法律状态信息
法律状态
2015-04-29
授权
授权
2013-10-30
实质审查的生效 IPC(主分类):G05B19/41 申请日:20130614
实质审查的生效
2013-09-25
公开
公开
技术领域
本发明属于运动控制技术领域,尤其是一种多轴联动的运动控制 方法。
背景技术
在机械人技术领域中,多轴联动运动控制器是目前得到广泛实际 应用的自动化机械装置,在工业制造、医学治疗、娱乐服务、军事、 半导体制造等领域都能见到它的身影。尽管它们的形态各有不同,但 它们都有一个共同的特点,精确地定位到某一点进行相应的工作。而 国内对多轴联动运动控制器的相关需求也在逐渐变大。
发明内容
为了克服现有的多轴联动的运动控制方式的同步性较差、精确性 较低的不足,本发明提出了一种变插补周期的多轴联动运动控制方法, 主要解决脉冲发送及计算误差、定时器误差,同步性良好、精确性较 高。
本发明解决其技术问题所采用的技术方案如下:
一种高精度变插补周期的多轴联动运动控制方法,所述方法包括以 下步骤:
1)设定采用指数规律加减速算法建立加速度表α0,α2,...,αL,及其对 应的速度表V0,V2,...,VL,利用指数规律加减速算法与电机参数相结合建 立步长表l0,l2,...,lL;当X轴为长轴时,当前线段L足够长,结合X轴 的速度规划得到的起始速度v0和结束速度v1,计算得到X轴加速、减 速、匀速阶段所需长度为Nxi0、Nxi2、Nxi1;Y轴为长轴时每一个阶段 运动的长度计算方法与X轴相同;
2)首先确定固定插补时间T,计算X轴的第i个插补周期中的脉 冲数nxi:
nxi=T*Vxe (1)
其中,Vxe是当前X轴的速度的值,将nxi圆整后得到n'xi,然后反过 来计算X轴的第i个插补周期Txi:
Txi=n'xi/Vxe (2)
然后将本次插补周期放入X轴插补周期队列中,脉冲数n'xi放入X轴脉 冲队列中;
再计算Y轴的第i个插补周期中的脉冲数nyi:
nyi=Tyi*Vye (3)
其中,Vye是当前Y轴的速度的值,将nyi圆整后得到n'yi,Tyi为X 轴当前的插补周期Txi与上一次Y轴圆整时舍去时间ΔTyi-1的和,将圆整 过程中舍去的小数部分对应的时间ΔTyi保存,将其加在下一个插补周 期计算Y轴的脉冲数的Txi+1中作为下一次的插补周期,然后将本次插 补周期放入Y轴插补周期队列中,脉冲数n'yi放入Y轴脉冲队列中。
进一步,所述步骤2)中,公式(1)中Vxe的确定方法如下:
在步骤1)中加速阶段的步数是Nxi0,将从第一个插补周期计算得 到的脉冲数n'x0加上之后每一次插补计算得到的脉冲数保存在NLx中, 直到NLx>Nxi0,进入匀速阶段,在加速过程中,Vxe的值将发生变化,当 第i个插补周期计算结束,速度Vxe就应该被更新为:
Vxe=Vxe+αm*n'xi (4)
其中αm的下标m是通过Vxe与速度表中的速度的比较得到的最接近Vxe的Vm下标,如果Vxe大于Vm+1,则下标改为m+1。
Y轴的速度Vye确定方法于此相同。
更进一步,在步骤1)中匀速阶段的Nxi1需要重新计算:
Nxi1=Nxi1-(NLx-Nxi0) (5)
在匀速阶段Vxe=VL恒定不变,其大小为VL,同时加速度下标始终 为L。当每一次插补计算结束后都会将得到的脉冲数加入到NLx中,直 到NLx>Nxi1,此时将当前一次的插补计算结果舍去,以便进入减速阶段 时剩余的步长数大于等于Nxi2。
再进一步,在步骤1)中减速阶段的所需运动的距离是Nxi2=L-NLx, 当每一次插补计算结束后都会将得到的脉冲数加入到NLx中,直到 NLx≥L;在减速过程中,Vxe的值将发生变化,当第i个插补周期计算 结束,速度Vxe就应该被更新为:
Vxe=Vxe-αm*n'xi (6)
其中,αm的下标m是通过Vxe与速度表中的速度的比较得到的最接 近Vxe的Vm下标,然后如果Vxe小于Vm,则下标改为m-1,直到当前的速 度变为最小值V0,然后按照最小速度运行的该线段的结束。
优选的,所述运动控制方法还包括以下步骤:
3)使用回溯周期分配法更新步骤2)中Y轴的插补周期 Tyi=Tyi+ΔT/n,n为总的插补次数,ΔT是回溯周期误差;
当DSP要在每个插补周期中发送脉冲时,需要计算对应的脉冲频 率为:
X轴的频率是:Pxi=n'xi/Txi (7)
Y轴的频率是:Pyi=n'yi/Tyi (8);
从而设置X轴和Y轴对应定时器的周期。
所述回溯周期分配法的处理过程为:一条线段的插补计算结束, 将此过程中的X轴的所有插补周期相加得到总时间Txall,将Y轴的所 有插补周期相加得到总时间Tyall,由于每一次插补周期的计算都存在误 差,所以Txall必定不等于Tyall,所以计算得到误差时间ΔT=Txall-Tyall。然 后将ΔT平均分配到每个Y轴的插补周期中,更新之前计算得到的Y 轴的插补周期Tyi=Tyi+ΔT/n,n为总的插补次数。
本发明的优点在于:变插补周期方法解决了两轴联动问题,很好的 实现了两个轴之间的同步;回溯周期分配法进一步优化了多轴的同步; 本发明中的插补发计算量小,主要解决脉冲发送及计算误差、定时器 误差,同步性良好、精确性较高,适用于DSP控制器。
附图说明
图1为插补周期分割图;
图2分别为圆整前各轴的脉冲时序图;
图3分别为圆整后各轴的脉冲时序图。
本发明的实施方式结合附图作进一步描述。
下面结合附图对本发明做进一步说明。
参照图1~图3,一种高精度变插补周期的多轴联动运动控制方法, 包括以下步骤:
1)本发明的控制系统中采用了指数规律加减速算法建立加速度表 α0,α2,...,αL,及其对应的速度表V0,V2,...,VL,利用指数规律加减速算法与 电机参数相结合建立步长表l0,l2,...,lL。设X轴为长轴,结合本系统的 速度规划得到的起始速度v0和结束速度v1,分别求得:
X轴加速阶段所需长度:Nxi0=αi*li+αi+1*li+1+...+αL*lL (1)
X轴减速阶段所需长度:Nxi2=αj+1*lj+1+αj+2*lj+2+...+αL*lL (2)
X轴匀速阶段所需长度:Nxi1=L-(Ni0+Ni2) (3)
其中,L是当前线段的长度,且L足够长,加速阶段加速度αi的下 标i是通过v0与速度表中的速度的比较得到的最接近v0的Vi下标,减速 阶段加速度αj的下标j是通过v1与速度表中的速度的比较得到的最接 近v1的Vj下标。其运动过程是先从速度v0加速到VL,再按速度VL匀速 运动Ni1,再开始减速到v1。Y轴在每一个阶段运动的长度计算方法与 之相同;
2)如图1,首先确定固定插补时间T,该时间的确定是由系统的 插补精度要求以及系统硬件的相关参数决定的。同时系统确定X、Y 轴中哪个是长轴,确定方式是通过比较当前线段的长度及其方向映射 到两轴的长度Lx、Ly,这里假设X轴是长轴。计算X轴的第i个插补 周期中的脉冲数nxi:
nxi=T*Vxe (4)
其中Vxe是当前X轴的速度的值。将nxi圆整后得到n'xi,然后反过来计算 X轴的第i个插补周期Txi:
Txi=n'xi/Vxe (5)
然后将本次插补周期放入X轴插补周期队列中,脉冲数n'xi放入X轴脉 冲队列中,这样就把当前X轴第i个插补周期确定完成;
进一步,如图2、图3所示,计算Y轴的第i个插补周期中的脉冲 数nyi:
nyi=Tyi*Vye (6)
其中Vye是当前Y轴的速度的值,Tyi为X轴当前的插补周期Txi与上一 次Y轴圆整时舍去时间ΔTyi-1的和。nyi圆整后得到n'yi,将圆整过程中舍 去的小数部分对应的时间ΔTyi保存,将其加在下一个插补周期计算Y 轴的脉冲数的Txi+1中作为下一次的插补周期。然后将本次插补周期放 入Y轴插补周期队列中,脉冲数n'yi放入Y轴脉冲队列中,这样就把当 前Y轴第i个插补周期确定完成;
更进一步,公式(4)中Vxe的确定方法如下(Y轴的速度Vye确定 方法于此相同):
在步骤1)中加速阶段的步数是Nxi0,将从第一个插补周期计算得 到的脉冲数n'x0加上之后每一次插补计算得到的脉冲数保存在NLx中, 直到NLx>Nxi0,进入匀速阶段。在加速过程中,Vxe的值将发生变化,其 变化规律如下:当第i个插补周期计算结束,速度Vxe就应该被更新为:
Vxe=Vxe+αm*n'xi (7)
其中αm的下标m是通过Vxe与速度表中的速度的比较得到的最接近Vxe的Vm下标。然后如果Vxe大于Vm+1,则下标改为m+1;
进一步,在步骤1)中匀速阶段的Nxi1需要重新计算:
Nxi1=Nxi1-(NLx-Nxi0) (8)
在匀速阶段Vxe=VL恒定不变,其大小为VL,同时加速度下标始终为L。 当每一次插补计算结束后都会将得到的脉冲数加入到NLx中,直到 NLx>Nxi1,进入减速阶段;
在步骤1)中减速阶段的所需运动的距离是Nxi2=L-NLx,当每一次 插补计算结束后都会将得到的脉冲数加入到NLx中,直到NLx≥L。在减 速过程中,Vxe的值将发生变化,其变化规律如下:当第i个插补周期 计算结束,速度Vxe就应该被更新为:
Vxe=Vxe-αm*n'xi (9)
其中αm的下标m是通过Vxe与速度表中的速度的比较得到的最接近Vxe的Vm下标。然后如果Vxe小于Vm,则下标改为m-1,直到当前的速度变 为最小值V0,然后按照最小速度运行的该线段的结束。
优选的,所述运动控制方法还包括以下步骤:
3)按照步骤2)的处理过程,一条线段的插补计算结束,将此过 程中的X轴的所有插补周期相加得到总时间Txall,然后将Y轴的所有 插补周期相加得到总时间Tyall,由于每一次插补周期的计算都存在误 差,所以Txall必定不等于Tyall,所以计算得到误差时间ΔT=Txall-Tyall。然 后将其平均分配到每个Y轴的插补周期中,更新之前计算得到的Y轴 的插补周期Tyi=Tyi+ΔT/n,n为总的插补次数。这就是前面提到的回溯 周期分配法;
当DSP要在每个插补周期中发送脉冲时,提取步骤2)中得到了X 轴的插补周期以及脉冲数和步骤4)用回溯法得到了Y轴的插补周期 以及脉冲数,需要计算对应的脉冲频率为:
X轴的频率是:Pxi=n'xi/Txi (10)
Y轴的频率是:Pyi=n'yi/Tyi (11)
从而设置X轴和Y轴对应定时器的周期。
机译: 运动控制器,插补周期调整方法和插补数据缓冲调整方法
机译: 用于运动插补的色度高精度运动滤波
机译: 用于运动插补的色度高精度运动滤波