发明名称 速度敏感区间恒速曲线插补速度规划方法
摘要 本发明速度敏感区间恒速曲线插补速度规划方法属于精密高效数控加工技术领域,特别涉及一种参数曲线插补过程中的速度敏感区间恒速自适应加工进给速度规划方法。该方法首先判断在预设进给速度下,曲线上不满足几何精度和机床驱动能力约束的参数区间,从而确定速度敏感区间;其次,以机床驱动能力为约束,通过逆向扫描降速过程速度规划和正向扫描升速过程速度规划,确定各速度敏感区间的进给速度值;最后,以机床驱动能力为约束,确定各速度敏感区间之间过渡区域的升、降速起始、结束点曲线参数及对应的进给速度,并输入到插补器中,实现满足几何和驱动约束的区间恒速参数曲线插补。本发明便捷可靠,对精密高效数控曲线插补加工具有实用价值。
申请公布号 CN105759725A 申请公布日期 2016.07.13
申请号 CN201610167479.7 申请日期 2016.03.22
申请人 大连理工大学 发明人 马建伟;宋得宁;贾振元;高媛媛;刘巍;刘振
分类号 G05B19/4103(2006.01)I 主分类号 G05B19/4103(2006.01)I
代理机构 大连理工大学专利中心 21200 代理人 关慧贞
主权项 一种速度敏感区间恒速曲线插补速度规划方法,其特性在于,该方法首先判断在程序预设进给速度下,曲线上不满足弓高误差、法向加速度、法向加加速度(即法向加速度变化率)约束的参数区间,从而确定速度敏感区间,并将各速度敏感区间内的曲率半径最小点位置处的许用进给速度作为该速度敏感区间的进给速度初值;其次,以切向加速度、切向加加速度(即切向加速度变化率)为约束条件,通过逆向扫描降速过程进给速度规划和正向扫描升速过程进给速度规划,确定各速度敏感区间的进给速度值;再次,以切向加速度、切向加加速度为约束条件,确定过渡区域的升速起始、结束点和降速起始、结束点;最后,将曲线上各升速起始、结束点和降速起始、结束点及相对应的进给速度值作为数控代码,与曲线信息一起输入到插补器中,实现满足几何和驱动约束的速度敏感区间恒速参数曲线插补;具体步骤如下:第一步 确定速度敏感区间当加工进给速度为v时,曲线上弓高误差δ为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>&delta;</mi><mo>=</mo><mi>&rho;</mi><mo>-</mo><msqrt><mrow><msup><mi>&rho;</mi><mn>2</mn></msup><mo>-</mo><msup><mrow><mo>(</mo><mfrac><mrow><mi>v</mi><mi>T</mi><mi>s</mi></mrow><mn>2</mn></mfrac><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000947212230000011.GIF" wi="750" he="190" /></maths>式中,ρ为曲率半径,Ts为插补周期;因此,可得曲率半径为ρ时,几何约束,即弓高误差约束下的最大许用加工进给速度v<sub>g</sub>(ρ)为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>v</mi><mi>g</mi></msub><mrow><mo>(</mo><mi>&rho;</mi><mo>)</mo></mrow><mo>=</mo><mfrac><msqrt><mrow><mn>8</mn><msub><mi>&rho;&delta;</mi><mi>lim</mi></msub><mo>-</mo><msubsup><mi>&delta;</mi><mi>lim</mi><mn>2</mn></msubsup></mrow></msqrt><mrow><mi>T</mi><mi>s</mi></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000947212230000012.GIF" wi="759" he="166" /></maths>其中,δ<sub>lim</sub>为设定的弓高误差极限;加工进给速度v、曲线曲率半径ρ与法向加速度a<sub>n</sub>的关系为:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>a</mi><mi>n</mi></msub><mo>=</mo><mfrac><msup><mi>v</mi><mn>2</mn></msup><mi>&rho;</mi></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000947212230000013.GIF" wi="406" he="158" /></maths>因此,法向加速度约束下的最大许用加工进给速度v<sub>a</sub>(ρ)为:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>v</mi><mi>a</mi></msub><mrow><mo>(</mo><mi>&rho;</mi><mo>)</mo></mrow><mo>=</mo><msqrt><mrow><msub><mi>&rho;a</mi><mrow><mi>n</mi><mo>,</mo><mi>lim</mi></mrow></msub></mrow></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000947212230000021.GIF" wi="614" he="93" /></maths>其中,a<sub>n,lim</sub>为数控系统设定的法向加速度极限;加工进给速度v、曲线曲率半径ρ与法向加加速度j<sub>n</sub>的关系为:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>j</mi><mi>n</mi></msub><mo>=</mo><mfrac><msup><mi>v</mi><mn>3</mn></msup><msup><mi>&rho;</mi><mn>2</mn></msup></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000947212230000022.GIF" wi="411" he="158" /></maths>因此,法向加加速度约束下的最大许用加工进给速度v<sub>j</sub>(ρ)为:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msub><mi>v</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>&rho;</mi><mo>)</mo></mrow><mo>=</mo><mroot><mrow><msup><mi>&rho;</mi><mn>2</mn></msup><msub><mi>j</mi><mrow><mi>n</mi><mo>,</mo><mi>lim</mi></mrow></msub></mrow><mn>3</mn></mroot><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000947212230000023.GIF" wi="636" he="110" /></maths>其中,j<sub>n,lim</sub>为法向加加速度极限条件;参数曲线上参数u位置处,在弓高误差、法向加速度、法向加加速度约束下的最大许用进给速度v<sub>lim</sub>(u)为:v<sub>lim</sub>(u)=min{v<sub>g</sub>(ρ(u)),v<sub>a</sub>(ρ(u)),v<sub>j</sub>(ρ(u))}     (7)设指令加工进给速度为v<sub>p</sub>,判断满足不等式:v<sub>lim</sub>(u)<v<sub>p</sub>     (8)的参数区间,即为速度敏感区间,记为:Rv<sub>i</sub>=[u<sub>start,i</sub>,u<sub>end,i</sub>]       (9)其中,Rv<sub>i</sub>为第i个速度敏感区间,u<sub>start,i</sub>和u<sub>end,i</sub>分别为曲线上第i个速度敏感区间的始末参数值;设参数u位置处曲线曲率半径为ρ(u),计算第i个速度敏感区间内曲线上的曲率半径最小值ρ<sub>min,i</sub>:ρ<sub>min,i</sub>=min{ρ(u)|u<sub>start,i</sub>≤u≤u<sub>end,i</sub>}     (10)进而初步确定各速度敏感区间内的进给速度值vr<sub>i</sub>:vr<sub>i</sub>=min{v<sub>g</sub>(ρ<sub>min,i</sub>),v<sub>a</sub>(ρ<sub>min,i</sub>),v<sub>j</sub>(ρ<sub>min,i</sub>)}     (11)第二步 确定各速度敏感区间进给速度值由于在切向加速度、切向加加速度约束下,实际加工进给速度可能无法在两速度敏感区间之间的弧长范围内从前一区间速度加/减速到下一区间速度,因此,利用切向加速度、切向加加速度约束,在S型加减速模式下,对各速度敏感区间的进给速度值进行再规划;设切向加速度、切向加加速度极限分别为a<sub>t,lim</sub>,j<sub>t,lim</sub>,在S型加减速模式下,从起始速度v<sub>start</sub>加、减速到结束速度v<sub>end</sub>过程所需要的位移值s<sub>req</sub>(v<sub>start</sub>,v<sub>end</sub>)为:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><msub><mi>s</mi><mrow><mi>r</mi><mi>e</mi><mi>q</mi></mrow></msub><mrow><mo>(</mo><msub><mi>v</mi><mrow><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi></mrow></msub><mo>,</mo><msub><mi>v</mi><mrow><mi>e</mi><mi>n</mi><mi>d</mi></mrow></msub><mo>)</mo></mrow><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msub><mi>v</mi><mrow><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi></mrow></msub><mrow><mo>(</mo><msub><mi>t</mi><mn>1</mn></msub><mo>+</mo><msub><mi>t</mi><mn>2</mn></msub><mo>+</mo><msub><mi>t</mi><mn>3</mn></msub><mo>)</mo></mrow><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>j</mi><mrow><mi>t</mi><mo>,</mo><mi>lim</mi></mrow></msub><msubsup><mi>t</mi><mn>1</mn><mn>2</mn></msubsup><mrow><mo>(</mo><msub><mi>t</mi><mn>2</mn></msub><mo>+</mo><msub><mi>t</mi><mn>3</mn></msub><mo>)</mo></mrow><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>a</mi><mi>max</mi></msub><mrow><mo>(</mo><msubsup><mi>t</mi><mn>2</mn><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>t</mi><mn>3</mn><mn>2</mn></msubsup><mo>)</mo></mrow><mo>+</mo><msub><mi>a</mi><mi>max</mi></msub><msub><mi>t</mi><mn>2</mn></msub><msub><mi>t</mi><mn>3</mn></msub><mo>,</mo></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>v</mi><mrow><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi></mrow></msub><mo>&lt;</mo><msub><mi>v</mi><mrow><mi>e</mi><mi>n</mi><mi>d</mi></mrow></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>v</mi><mrow><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi></mrow></msub><mrow><mo>(</mo><msub><mi>t</mi><mn>1</mn></msub><mo>+</mo><msub><mi>t</mi><mn>2</mn></msub><mo>+</mo><msub><mi>t</mi><mn>3</mn></msub><mo>)</mo></mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>j</mi><mrow><mi>t</mi><mo>,</mo><mi>lim</mi></mrow></msub><msubsup><mi>t</mi><mn>1</mn><mn>2</mn></msubsup><mrow><mo>(</mo><msub><mi>t</mi><mn>2</mn></msub><mo>+</mo><msub><mi>t</mi><mn>3</mn></msub><mo>)</mo></mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>a</mi><mi>max</mi></msub><mrow><mo>(</mo><msubsup><mi>t</mi><mn>2</mn><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>t</mi><mn>3</mn><mn>2</mn></msubsup><mo>)</mo></mrow><mo>-</mo><msub><mi>a</mi><mi>max</mi></msub><msub><mi>t</mi><mn>2</mn></msub><msub><mi>t</mi><mn>3</mn></msub><mo>,</mo></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>v</mi><mrow><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi></mrow></msub><mo>&gt;</mo><msub><mi>v</mi><mrow><mi>e</mi><mi>n</mi><mi>d</mi></mrow></msub></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000947212230000031.GIF" wi="1950" he="479" /></maths>其中,加减速过程最大加速度值a<sub>max</sub>=j<sub>t,lim</sub>t<sub>1</sub>,加加/减速时间t<sub>1</sub>,恒加/减速时间t<sub>2</sub>,减加/减速时间t<sub>3</sub>为:<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><msub><mi>t</mi><mn>1</mn></msub><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mfrac><msub><mi>a</mi><mrow><mi>t</mi><mo>,</mo><mi>lim</mi></mrow></msub><msub><mi>j</mi><mrow><mi>t</mi><mo>,</mo><mi>lim</mi></mrow></msub></mfrac><mo>,</mo></mrow></mtd><mtd><mrow><mrow><mo>|</mo><mrow><msub><mi>v</mi><mrow><mi>e</mi><mi>n</mi><mi>d</mi></mrow></msub><mo>-</mo><msub><mi>v</mi><mrow><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi></mrow></msub></mrow><mo>|</mo></mrow><mo>&gt;</mo><mfrac><msubsup><mi>a</mi><mrow><mi>t</mi><mo>,</mo><mi>lim</mi></mrow><mn>2</mn></msubsup><msub><mi>j</mi><mrow><mi>t</mi><mo>,</mo><mi>lim</mi></mrow></msub></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><msqrt><mfrac><mrow><msub><mi>v</mi><mrow><mi>e</mi><mi>n</mi><mi>d</mi></mrow></msub><mo>-</mo><msub><mi>v</mi><mrow><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi></mrow></msub></mrow><msub><mi>j</mi><mrow><mi>t</mi><mo>,</mo><mi>lim</mi></mrow></msub></mfrac></msqrt><mo>,</mo></mrow></mtd><mtd><mrow><mrow><mo>|</mo><mrow><msub><mi>v</mi><mrow><mi>e</mi><mi>n</mi><mi>d</mi></mrow></msub><mo>-</mo><msub><mi>v</mi><mrow><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi></mrow></msub></mrow><mo>|</mo></mrow><mo>&le;</mo><mfrac><msubsup><mi>a</mi><mrow><mi>t</mi><mo>,</mo><mi>lim</mi></mrow><mn>2</mn></msubsup><msub><mi>j</mi><mrow><mi>t</mi><mo>,</mo><mi>lim</mi></mrow></msub></mfrac></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000947212230000032.GIF" wi="1093" he="382" /></maths><maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><msub><mi>t</mi><mn>2</mn></msub><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mfrac><mrow><msub><mi>v</mi><mrow><mi>e</mi><mi>n</mi><mi>d</mi></mrow></msub><mo>-</mo><msub><mi>v</mi><mrow><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi></mrow></msub><mo>-</mo><msubsup><mi>a</mi><mrow><mi>t</mi><mo>,</mo><mi>lim</mi></mrow><mn>2</mn></msubsup><mo>/</mo><msub><mi>j</mi><mrow><mi>t</mi><mo>,</mo><mi>lim</mi></mrow></msub></mrow><msub><mi>a</mi><mrow><mi>t</mi><mo>,</mo><mi>lim</mi></mrow></msub></mfrac><mo>,</mo></mrow></mtd><mtd><mrow><mrow><mo>|</mo><mrow><msub><mi>v</mi><mrow><mi>e</mi><mi>n</mi><mi>d</mi></mrow></msub><mo>-</mo><msub><mi>v</mi><mrow><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi></mrow></msub></mrow><mo>|</mo></mrow><mo>&gt;</mo><mfrac><msubsup><mi>a</mi><mrow><mi>t</mi><mo>,</mo><mi>lim</mi></mrow><mn>2</mn></msubsup><msub><mi>j</mi><mrow><mi>t</mi><mo>,</mo><mi>lim</mi></mrow></msub></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><mn>0</mn><mo>,</mo></mrow></mtd><mtd><mrow><mrow><mo>|</mo><mrow><msub><mi>v</mi><mrow><mi>e</mi><mi>n</mi><mi>d</mi></mrow></msub><mo>-</mo><msub><mi>v</mi><mrow><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi></mrow></msub></mrow><mo>|</mo></mrow><mo>&le;</mo><mfrac><msubsup><mi>a</mi><mrow><mi>t</mi><mo>,</mo><mi>lim</mi></mrow><mn>2</mn></msubsup><msub><mi>j</mi><mrow><mi>t</mi><mo>,</mo><mi>lim</mi></mrow></msub></mfrac></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000947212230000033.GIF" wi="1350" he="371" /></maths>t<sub>3</sub>=t<sub>1</sub>首先通过逆向扫描进行降速过程进给速度规划,其流程为:1)令i=n‑1;2)判断是否为降速过程,若vr<sub>i</sub>≤vr<sub>i+1</sub>,转第6)步,否则3)计算从vr<sub>i</sub>减速到vr<sub>i+1</sub>所需要位移值s<sub>req</sub>(vr<sub>i</sub>,vr<sub>i+1</sub>)及区间Rv<sub>i</sub>和Rv<sub>i+1</sub>之间弧长sr<sub>i</sub>:<maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><msub><mi>sr</mi><mi>i</mi></msub><mo>=</mo><msubsup><mo>&Integral;</mo><msub><mi>u</mi><mrow><mi>e</mi><mi>n</mi><mi>d</mi><mo>,</mo><mi>i</mi></mrow></msub><msub><mi>u</mi><mrow><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo>,</mo><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub></msubsup><mrow><mo>|</mo><mo>|</mo></mrow><msup><mi>C</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo><mi>d</mi><mi>u</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>14</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000947212230000041.GIF" wi="742" he="118" /></maths>其中,C’(u)为参数曲线方程C(u)对参数u的导失;若s<sub>req</sub>(vr<sub>i</sub>,vr<sub>i+1</sub>)≤sr<sub>i</sub>,转第6)步,否则4)在vr<sub>i</sub>和vr<sub>i+1</sub>之间利用二分法确定vr<sub>i,B</sub>使其满足s<sub>req</sub>(vr<sub>i,B</sub>,vr<sub>i+1</sub>)=sr<sub>i</sub>;5)令vr<sub>i</sub>=vr<sub>i,B</sub>,更新vr<sub>i</sub>;6)若i=1,结束,否则,令i=i‑1,转第2)步;其次通过正向扫描进行升速过程进给速度规划,其流程为:1)令i=1;2)判断是否为升速过程,若vr<sub>i</sub>≥vr<sub>i+1</sub>,转第6)步,否则3)计算从vr<sub>i</sub>加速到vr<sub>i+1</sub>所需要位移值s<sub>req</sub>(vr<sub>i</sub>,vr<sub>i+1</sub>),并利用式(14)计算区间Rv<sub>i</sub>和Rv<sub>i+1</sub>之间弧长sr<sub>i</sub>,若s<sub>req</sub>(vr<sub>i</sub>,vr<sub>i+1</sub>)≤sr<sub>i</sub>,转第6)步,否则4)在vr<sub>i</sub>和vr<sub>i+1</sub>之间利用二分法确定vr<sub>i+1,F</sub>使其满足s<sub>req</sub>(vr<sub>i</sub>,vr<sub>i+1,F</sub>)=sr<sub>i</sub>;5)令vr<sub>i+1</sub>=vr<sub>i+1,F</sub>,更新vr<sub>i+1</sub>;6)若i=n‑1,结束,否则,令i=i+1,转第2)步;经过上述逆向扫描降速过程进给速度规划和正向扫描升速过程进给速度规划,得到最终更新的进给速度值vr<sub>i</sub>即为满足几何和驱动性能约束的第i个速度敏感区间进给速度最终规划值;第三步 确定速度敏感区间之间过渡区域的升、降速起始、结束点及相对应的进给速度在两相邻速度敏感区间Rv<sub>i</sub>和Rv<sub>i+1</sub>之间的过渡区域,首先判断过渡区域曲线弧长sr<sub>i</sub>是否大于进给速度从区间Rv<sub>i</sub>的速度vr<sub>i</sub>增加至预设进给速度v<sub>p</sub>再从预设进给速度v<sub>p</sub>降低至区间Rv<sub>i+1</sub>的速度vr<sub>i+1</sub>所需位移之和,即判断不等式(15)是否成立:sr<sub>i</sub>>s<sub>req</sub>(vr<sub>i</sub>,v<sub>p</sub>)+s<sub>req</sub>(v<sub>p</sub>,vr<sub>i+1</sub>)     (15)若不等式(15)成立,速度敏感区间Rv<sub>i</sub>和Rv<sub>i+1</sub>之间执行升速(从vr<sub>i</sub>增加到v<sub>p</sub>)和降速(从v<sub>p</sub>降低至vr<sub>i+1</sub>)两个过程;升速起始点参数为u<sub>end,i</sub>,相对应的进给速度值为vr<sub>i</sub>,升速结束点参数u<sub>r,i</sub>通过求解方程(16)获得:<maths num="0011" id="cmaths0011"><math><![CDATA[<mrow><msubsup><mo>&Integral;</mo><msub><mi>u</mi><mrow><mi>e</mi><mi>n</mi><mi>d</mi><mo>,</mo><mi>i</mi></mrow></msub><msub><mi>u</mi><mrow><mi>r</mi><mo>,</mo><mi>i</mi></mrow></msub></msubsup><mrow><mo>|</mo><mo>|</mo></mrow><msup><mi>C</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo><mi>d</mi><mi>u</mi><mo>=</mo><msub><mi>s</mi><mrow><mi>r</mi><mi>e</mi><mi>q</mi></mrow></msub><mrow><mo>(</mo><msub><mi>vr</mi><mi>i</mi></msub><mo>,</mo><msub><mi>v</mi><mi>p</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>16</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000947212230000051.GIF" wi="904" he="117" /></maths>升速结束点对应的进给速度值为v<sub>p</sub>;降速起始点参数u<sub>d,i</sub>通过求解方程(17)获得:<maths num="0012" id="cmaths0012"><math><![CDATA[<mrow><msubsup><mo>&Integral;</mo><msub><mi>u</mi><mrow><mi>d</mi><mo>,</mo><mi>i</mi></mrow></msub><msub><mi>u</mi><mrow><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo>,</mo><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub></msubsup><mrow><mo>|</mo><mo>|</mo></mrow><msup><mi>C</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo><mi>d</mi><mi>u</mi><mo>=</mo><msub><mi>s</mi><mrow><mi>r</mi><mi>e</mi><mi>q</mi></mrow></msub><mrow><mo>(</mo><msub><mi>v</mi><mi>p</mi></msub><mo>,</mo><msub><mi>vr</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>17</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000947212230000052.GIF" wi="980" he="118" /></maths>降速起始点对应的进给速度值为v<sub>p</sub>,降速结束点参数为u<sub>start,i+1</sub>,相对应的进给速度值为vr<sub>i+1</sub>;若不等式(15)不成立,为保证进给速度轮廓平滑,速度敏感区间Rv<sub>i</sub>和Rv<sub>i+1</sub>之间仅执行升速或降速过程;若vr<sub>i</sub>小于vr<sub>i+1</sub>,执行升速过程,升速起始点参数为u<sub>end,i</sub>,相对应的进给速度值为vr<sub>i</sub>,升速结束点参数u<sub>r,i</sub>通过求解方程(18)获得:<maths num="0013" id="cmaths0013"><math><![CDATA[<mrow><msubsup><mo>&Integral;</mo><msub><mi>u</mi><mrow><mi>e</mi><mi>n</mi><mi>d</mi><mo>,</mo><mi>i</mi></mrow></msub><msub><mi>u</mi><mrow><mi>r</mi><mo>,</mo><mi>i</mi></mrow></msub></msubsup><mrow><mo>|</mo><mo>|</mo></mrow><msup><mi>C</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo><mi>d</mi><mi>u</mi><mo>=</mo><msub><mi>s</mi><mrow><mi>r</mi><mi>e</mi><mi>q</mi></mrow></msub><mrow><mo>(</mo><msub><mi>vr</mi><mi>i</mi></msub><mo>,</mo><msub><mi>vr</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>18</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000947212230000053.GIF" wi="938" he="118" /></maths>升速结束点对应的进给速度值为vr<sub>i+1</sub>;若vr<sub>i</sub>大于vr<sub>i+1</sub>,执行降速过程,降速起始点参数u<sub>d,i</sub>通过求解方程(19)获得:<maths num="0014" id="cmaths0014"><math><![CDATA[<mrow><msubsup><mo>&Integral;</mo><msub><mi>u</mi><mrow><mi>d</mi><mo>,</mo><mi>i</mi></mrow></msub><msub><mi>u</mi><mrow><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo>,</mo><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub></msubsup><mrow><mo>|</mo><mo>|</mo></mrow><mi>C</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo><mi>d</mi><mi>u</mi><mo>=</mo><msub><mi>s</mi><mrow><mi>r</mi><mi>e</mi><mi>q</mi></mrow></msub><mrow><mo>(</mo><msub><mi>vr</mi><mi>i</mi></msub><mo>,</mo><msub><mi>vr</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>19</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000947212230000054.GIF" wi="982" he="111" /></maths>降速起始点对应的进给速度值为vr<sub>i</sub>,降速结束点参数为u<sub>start,i+1</sub>,相对应的进给速度值为vr<sub>i+1</sub>;第四步 实时计算当前插补点处进给速度将第三步中获得的升速、降速的起始、结束点曲线参数ur<sub>i</sub>和相应的进给速度值vu<sub>i</sub>对应关系表作为实时插补器的输入;在实时参数曲线插补过程中,判断当前插补点曲线参数所在的参数区间[ur<sub>i</sub>,ur<sub>i+1</sub>],若该参数区间两端参数对应的进给速度值相同,则该参数区间内采用恒速插补,若该参数区间两端参数对应的进给速度值不同,则该参数区间内采用S型加减速模型确定当前插补点进给速度值;即,若vu<sub>i</sub>=vu<sub>i+1</sub>,则令当前插补点进给速度v<sub>k</sub>=vu<sub>i</sub>;若vu<sub>i</sub>≠vu<sub>i+1</sub>,计算当前插补点进入参数区间[ur<sub>i</sub>,ur<sub>i+1</sub>]内的插补时间t,则当前插补点进给速度v<sub>k</sub>为:<maths num="0015" id="cmaths0015"><math><![CDATA[<mrow><msub><mi>v</mi><mi>k</mi></msub><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msub><mi>v</mi><mrow><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi></mrow></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>j</mi><mrow><mi>t</mi><mo>,</mo><mi>lim</mi></mrow></msub><msup><mi>t</mi><mn>2</mn></msup><mo>,</mo></mrow></mtd><mtd><mrow><mn>0</mn><mo>&le;</mo><mi>t</mi><mo>&lt;</mo><msub><mi>t</mi><mn>1</mn></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>v</mi><mn>1</mn></msub><mo>+</mo><msub><mi>a</mi><mi>max</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>-</mo><msub><mi>t</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>,</mo><msub><mi>v</mi><mn>1</mn></msub><mo>=</mo><msub><mi>v</mi><mrow><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi></mrow></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>j</mi><mrow><mi>t</mi><mo>,</mo><mi>lim</mi></mrow></msub><msubsup><mi>t</mi><mn>1</mn><mn>2</mn></msubsup><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>t</mi><mn>1</mn></msub><mo>&le;</mo><mi>t</mi><mo>&lt;</mo><msub><mi>t</mi><mn>1</mn></msub><mo>+</mo><msub><mi>t</mi><mn>2</mn></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>v</mi><mn>2</mn></msub><mo>+</mo><msub><mi>a</mi><mi>max</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>-</mo><msub><mi>t</mi><mn>1</mn></msub><mo>-</mo><msub><mi>t</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>j</mi><mrow><mi>t</mi><mo>,</mo><mi>lim</mi></mrow></msub><msup><mrow><mo>(</mo><mi>t</mi><mo>-</mo><msub><mi>t</mi><mn>1</mn></msub><mo>-</mo><msub><mi>t</mi><mn>2</mn></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>,</mo><msub><mi>v</mi><mn>2</mn></msub><mo>=</mo><msub><mi>v</mi><mn>1</mn></msub><mo>+</mo><msub><mi>a</mi><mi>max</mi></msub><msub><mi>t</mi><mn>2</mn></msub><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>t</mi><mn>1</mn></msub><mo>+</mo><msub><mi>t</mi><mn>2</mn></msub><mo>&le;</mo><mi>t</mi><mo>&le;</mo><msub><mi>t</mi><mn>1</mn></msub><mo>+</mo><msub><mi>t</mi><mn>2</mn></msub><mo>+</mo><msub><mi>t</mi><mn>3</mn></msub></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>20</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000947212230000061.GIF" wi="2006" he="471" /></maths>其中,a<sub>max</sub>=j<sub>t,lim</sub>t<sub>1</sub>,t<sub>1</sub>、t<sub>2</sub>、t<sub>3</sub>采用公式(13)计算,v<sub>start</sub>=vu<sub>i</sub>,v<sub>end</sub>=vu<sub>i+1</sub>;第五步 计算下一插补点处曲线参数获得当前插补点进给速度v<sub>k</sub>后,计算下一插补点曲线参数u<sub>k+1</sub>:<maths num="0016" id="cmaths0016"><math><![CDATA[<mrow><msub><mi>u</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>u</mi><mi>k</mi></msub><mo>+</mo><mfrac><msub><mi>v</mi><mi>k</mi></msub><mrow><mo>|</mo><mo>|</mo><msup><mi>C</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><msub><mi>u</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>|</mo><mo>|</mo></mrow></mfrac><mi>T</mi><mi>s</mi><mo>-</mo><mfrac><mrow><msubsup><mi>v</mi><mi>k</mi><mn>2</mn></msubsup><mrow><mo>(</mo><msup><mi>C</mi><mo>&prime;</mo></msup><mo>(</mo><msub><mi>u</mi><mi>k</mi></msub><mo>)</mo><mo>,</mo><msup><mi>C</mi><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msup><mo>(</mo><msub><mi>u</mi><mi>k</mi></msub><mo>)</mo><mo>)</mo></mrow></mrow><mrow><mn>2</mn><mo>|</mo><mo>|</mo><msup><mi>C</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><msub><mi>u</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>|</mo><msup><mo>|</mo><mn>4</mn></msup></mrow></mfrac><msup><mi>Ts</mi><mn>2</mn></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>21</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000947212230000062.GIF" wi="1358" he="191" /></maths>其中,u<sub>k</sub>为当前插补点处样条曲线参数,C′(u<sub>k</sub>)为当前插补点处样条曲线的一阶导失,C″(u<sub>k</sub>)为当前插补点处样条曲线的二阶导失;判断是否到达曲线终点,若到达终点,则结束插补,否则,令k=k+1,返回第四步;据此,实现满足弓高误差、法向加速度、法向加加速度、切向加速度、切向加加速度综合约束的速度敏感区间恒速参数曲线插补。
地址 116024 辽宁省大连市甘井子区凌工路2号