基于准直线的新型速度平滑算法研究

   2013-03-23 工控之家网工控之家30
    随着运动控制系统的发展,现代控制系统的功能越来越强大,一些相对复杂的控制算法相继在控制加工系统中得到应用,使得轨迹运动的速度和精度不断的提高。在高速运行过程中,要求控制系统对轨迹运动进行平滑的控制,以防止较大的冲击影响加工质量,本文提出了一种新型的具有“前瞻”准直线功能的速度平滑算法,可以有效地减少冲击,提高加工速度和精度。所谓“前瞻”就是在加工过程中向前观察一段距离,通过拐弯点以及速度允许条件判断其是否是准直线,然后根据s型速度曲线进行粗插补、精插补计算。

基本原理

    拐点判别


图1 曲率半径

    如图1,假设p1、p2、p3为一条轨迹中的三个点,这三个点可以确定一个圆,该圆的半径作为p2点曲率半径,可以根据三点的坐标然后根据半径和最大加速度(作为向心加速度),求该曲率半径下的允许速度:

    aa=(vc’/delt_t)2/r;v’c=sqrt(raa)delt_t 
  
    在拐点允许速度、vh、曲率半径允许速度中取最小值,作为该点的速度。向心加速度也可以分解为x、y两个方向上的分加速度。
  
    θ是和之间的夹角,ci=1/ri是pi点的曲率,给出判断高曲率点的标准如下,此处的高曲率点作为第一类速度拐点[1](在拐点的位置处需要降速):

    (a)ci>ci-1和ci>ci+1;
    (b)θ≤90°;
    (c)θ>90°。
  
    如果点pi同时满足标准(a)和(b),可以判定此点是一个尖锐拐点;如果pi同时满足标准(a)和(c),可以判定此点是一个高曲率点但不是尖锐拐点。非尖锐拐点有可能包含在准直线段内,而尖锐拐点一定是降速点。


图2 拐点和准直线

准直线概念
  
    准直线段的定义:两拐点(或起始点与拐点)之间各线段的组合。在准直线段内,所有两条线段的交点速度都小于允许速度,因此,可以作为一条直线来看待和计算。描述准直线的重要参数:起始速度v0、末速度ve、长度(直线内各线段长度之和),当这三个参数确定后,可以唯一确定与其对应的s型速度曲线。如图2中p1~p4就是一条准直线,其长度l=l1+l2+l3。直线段是准直线段的特例。
  
    准直线段的安全性:当一条准直线段的末速度为最小速度v0时,则这条准直线是安全的,不会因为后续的准直线衔接不上导致冲击,至多会引起停顿。
  
    准直线段的合并:前一条准直线段的末速度等于后一条准直线段的初速度。对后一条准直线段来说,若其长度l不能满足从其初速度v’o 按照降速模型降至其末速度v’e ,则改准直线段必须与前一条准直线段合并成一条新的准直线段。若l4不能满足从其初速度v’o 降速到其末速度v’e,则p4p5与前一条准直线段p1~p4合并成一条新的准直线段p1~p5,该准直线段的初速度vo、末速度为v’e、长度l’=l1+l2+l3+l4。
  
    任意一条准直线段,只要其末速度ve>v0,都有可能与后一条准直线段合并。合并过程是一个倒推过程,直到满足降速模型。该倒推过程是针对准直线段,与以前的算法相比,大大提高效率。
  
    计算vt,在pi点处速度大小不变,方向发生了变化即产生了δv,δv=vtsin(θ/2)2,可得:=将aa带入at,求出vt,δt=1ms;
  
    判断:if vt≤vh,那么vt为该点的许用速度vc=vt,该点为拐点;
else vt>vh该交点不是拐点,通过曲率半径计算出许用速度,两者取最小值作为该点的许用速度vc。
  
    当两直线段交点处的允许速度vc大于或等于最大速度vh,则该交点不是拐点,如图2中p2和p3;根据初速度vo(或当前速度v1)、及两直线段交点的允许速度(vc<vh),
  
    若vc<vo或vc<v1,则该交点为拐点;
  
    根据vo或v1、vc作为vh’,按升速模型计算该升速段距离l’,若l’< l,则该交点为拐点,如图2中p4。(l为起始点到该交点的实际距离和;l=l1+l2+l3)。 

插补算法

定时插补算法
  
    定时插补(粗插补)算法是通过对加速度,速度的递推计算出当前段的速度,根据定时delta_t,得出来delta_l=v×delta_t,对准直线用剩余距离来验算降速触发点,降速点的触发过程如图3所示。


图3 用剩余距离来验算降速触发点

粗插补算法
  
    粗插补算法即为等长分割,就是处理通过定时分割后得到的距离li(δxi, δyi),准直线长度为l=σli,就是对li进行m等分,每段定长为l的话,(即对x方向进行了mx等分,对y方向进行了my等分)。li= vi δt,如图4所示,定时分割完以后形成v1,v2,v3…的速度图,定长分割后将v1和v2之间也进行了细分,细分后的速度记为v11,v12,…,v1m。根据公式,根据公式求出:

计算v2,v3之间的速度值。


图4 粗插补速度图

结语
  
    实验结果如图5所示,实验中采用的参考数据为aa = 1000;ad = -1000; vsa = 2000; vsd = 2000;delt_t = 0.001;vh = 5000;ja = aa×aa/(2×vsa) ;jd = ad×ad/(2×vsd) ;编程使用c/c++基于vc6.0的环境,通过软件生成g代码下载到mpc05卡。


图5 速度曲线

    从图5中明显看出速度达到了很好的平滑,图5中有六条准直线,因此就存在六条s型速度曲线。通过在电机齿轮上的测试,机械振动有了很明显的改善,无明显冲击。实验证明该算法能够很好的减小机械振动,提高机械切割的精度和质量,在算法的误差分析方面还有待进一步的研究。

 
举报收藏 0打赏 0评论 0
更多>相关评论
暂时没有评论,来说点什么吧
更多>同类环保知识
推荐图文
推荐环保知识
点击排行
网站首页  |  免责声明  |  联系我们  |  关于我们  |  隐私政策  |  排名推广  |  广告服务  |  积分换礼  |  帮助中心  |  网站地图  |  违规举报
鲁ICP备12015736号-1