发明名称 数控机床S型加减速控制方法
摘要 数控机床S型加减速控制方法,首先把加工程序输入数控系统,数控装置得到必要的数据,然后根据用时最短原则和速度、加速度的限制条件把S型加减速控制中所涉及的五元非线性方程组分解为二个二元非线性方程组和一个一元线性方程,采用牛顿迭代法和迭代修正的方式逐步求解出符合要求的加减速时间,进而求出速度曲线,最后进行插补运算,输出脉冲完成工件的加工任务。本发明能有效避免现有S型加减速控制的复杂、繁琐运算,提供了一种精度高、求解用时短、易于理解、便于实现的加减速控制方法。
申请公布号 CN104181860A 申请公布日期 2014.12.03
申请号 CN201410421152.9 申请日期 2014.08.25
申请人 浙江理工大学 发明人 许守金;杨亮亮;史伟民
分类号 G05B19/18(2006.01)I 主分类号 G05B19/18(2006.01)I
代理机构 杭州天正专利事务所有限公司 33201 代理人 王兵;黄美娟
主权项 数控机床S型加减速控制方法,其特征在于步骤如下:第一步:把数控机床加工程序输入数控系统,得到各线段轨迹的起点和终点坐标值等数据,进而计算出各线段轨迹的长度,根据数控系统以及工件的工艺要求确定加加速度、最大限制加速度、最大限制速度;第二步:求第一段待加工轨迹加速度变化时间即t<sub>j1</sub>、t<sub>j2</sub>值:一般情况S型加减速控制包含七个加速度变化段,即加加速度段、匀加速段、减加速度段、匀速度段、加减速度段、匀减速段和减减速度段,始末速度与加减速时间的关系如公式(1)所示,长度与加减速时间的关系如公式(2)所示:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>v</mi><mi>e</mi></msub><mo>=</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>-</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>-</mo><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000011.GIF" wi="1208" he="127" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mfenced open='' close=''><mtable><mtr><mtd><mi>s</mi><mo>=</mo><mn>2</mn><msub><mi>v</mi><mi>s</mi></msub><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>+</mo><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>a</mi><mn>1</mn></mrow><mn>2</mn></msubsup><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub></mtd></mtr><mtr><mtd><mo>+</mo><mrow><mo>(</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>+</mo><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>v</mi><mn>1</mn></mrow></msub><mo>+</mo></mtd></mtr><mtr><mtd><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>-</mo><mfrac><mn>1</mn><mn>6</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>3</mn></msubsup><mo>+</mo></mtd></mtr><mtr><mtd><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow></msub><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><msubsup><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>+</mo></mtd></mtr><mtr><mtd><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>-</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>-</mo><mfrac><mn>1</mn><mn>3</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>3</mn></msubsup></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000012.GIF" wi="1186" he="718" /></maths>其中S是长度,j是加加速度,v<sub>s</sub>是初始速度,v<sub>e</sub>是末速度,a<sub>m</sub>是最大限制加速度,v<sub>m</sub>是最大限制速度以上都是已知量,t<sub>j1</sub>是加加速度时间同时也是减加速度时间、t<sub>a1</sub>是匀加速时间、t<sub>v1</sub>是匀速度时间、t<sub>j2</sub>是加减速度时间同时也是减减速度时间、t<sub>a2</sub>匀减速时间,这五个量都是未知量;式子(1)、(2)有五个未知量,但是只有二个关系式,直接根据关系式无法得到确切解,从实际情况考虑,总是希望在满足加工精度要求下,以最短的时间完成加工任务,因此先假定t<sub>a1</sub>=0,t<sub>a2</sub>=0,t<sub>v1</sub>=0,求得t<sub>j1</sub>,t<sub>j2</sub>值,由公式(1)、(2)可得到关于速度和长度的二个方程:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>v</mi><mi>e</mi></msub><mo>=</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>-</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000021.GIF" wi="1455" he="110" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>s</mi><mo>=</mo><msub><mrow><mn>2</mn><mi>v</mi></mrow><mi>s</mi></msub><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>3</mn></msubsup><mo>+</mo><mn>2</mn><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>-</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>3</mn></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000022.GIF" wi="1547" he="121" /></maths>对上述公式(3)、(4)分别构造成二个函数式f(t<sub>j1</sub>,t<sub>j2</sub>)、g(t<sub>j1</sub>,t<sub>j2</sub>):<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>f</mi><mrow><mo>(</mo><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><mo>=</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>-</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>-</mo><msub><mi>v</mi><mi>e</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000023.GIF" wi="1249" he="109" /></maths><maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>g</mi><mrow><mo>(</mo><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><mo>=</mo><msub><mrow><mn>2</mn><mi>v</mi></mrow><mi>s</mi></msub><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>3</mn></msubsup><mo>+</mo><mn>2</mn><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>-</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>3</mn></msubsup><mo>-</mo><mi>s</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000024.GIF" wi="1470" he="98" /></maths>求上述二个函数(5)、(6)的一阶偏导数并构成矩阵A;<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mi>A</mi><mo>=</mo><mfenced open='(' close=')'><mtable><mtr><mtd><msub><mi>f</mi><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub></msub></mtd><mtd><msub><mi>f</mi><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub></msub></mtd></mtr><mtr><mtd><msub><mi>g</mi><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub></msub></mtd><mtd><msub><mi>g</mi><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000025.GIF" wi="1013" he="184" /></maths>其中<img file="FDA0000559083990000026.GIF" wi="81" he="94" />是f(t<sub>j1</sub>,t<sub>j2</sub>)关于t<sub>j1</sub>的一阶偏导数,<img file="FDA0000559083990000028.GIF" wi="83" he="95" />是f(t<sub>j1</sub>,t<sub>j2</sub>)关于t<sub>j2</sub>的一阶偏导数,<img file="FDA0000559083990000029.GIF" wi="81" he="75" />是g(t<sub>j1</sub>,t<sub>j2</sub>)关于t<sub>j1</sub>的一阶偏导数,<img file="FDA00005590839900000210.GIF" wi="99" he="91" />是g(t<sub>j1</sub>,t<sub>j2</sub>)关于t<sub>j2</sub>的一阶偏导数;求得偏导数矩阵A的逆矩阵A_inv,计算t<sub>j1</sub>、t<sub>j2</sub>的迭代初值,好的迭代初值能快速收敛,节省计算时间,由于t<sub>j1</sub>、t<sub>j2</sub>在很多情形下,二个值相差不大,并且迭代初值也不需要太精确,因此把t<sub>j1</sub>、t<sub>j2</sub>看作相等的值t<sub>j</sub>,用简化的长度限制条件求出t<sub>j</sub>,并把t<sub>j</sub>赋值给t<sub>j10</sub>,t<sub>j20</sub>,计算公式如下所示:<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><msub><mi>t</mi><mi>j</mi></msub><mo>=</mo><mfrac><mi>s</mi><msub><mrow><mn>4</mn><mi>v</mi></mrow><mi>s</mi></msub></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000031.GIF" wi="859" he="167" /></maths><maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>t</mi><mrow><mi>j</mi><mn>10</mn></mrow></msub><mo>=</mo><msub><mi>t</mi><mi>j</mi></msub></mtd></mtr><mtr><mtd><msub><mi>t</mi><mrow><mi>j</mi><mn>20</mn></mrow></msub><mo>=</mo><msub><mi>t</mi><mi>j</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000032.GIF" wi="925" he="242" /></maths>把t<sub>j10</sub>、t<sub>j20</sub>分别代入上述公式(5)、(6)求得一组函数值,并构成矩阵B:<maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><mi>B</mi><mo>=</mo><mfenced open='(' close=')'><mtable><mtr><mtd><mi>f</mi><mrow><mo>(</mo><msub><mi>t</mi><mrow><mi>j</mi><mn>10</mn></mrow></msub><mo>,</mo><msub><mi>t</mi><mrow><mi>j</mi><mn>20</mn></mrow></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>g</mi><mrow><mo>(</mo><msub><mi>t</mi><mrow><mi>j</mi><mn>10</mn></mrow></msub><mo>,</mo><msub><mi>t</mi><mrow><mi>j</mi><mn>20</mn></mrow></msub><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000033.GIF" wi="1018" he="244" /></maths>把t<sub>j10</sub>,t<sub>j20</sub>代入A_inv,进而计算一次迭代值t<sub>j11</sub>,t<sub>j21</sub>,计算公式如下(11):<maths num="0011" id="cmaths0011"><math><![CDATA[<mrow><mfenced open='(' close=')'><mtable><mtr><mtd><msub><mi>t</mi><mrow><mi>j</mi><mn>11</mn></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>t</mi><mrow><mi>j</mi><mn>21</mn></mrow></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='(' close=')'><mtable><mtr><mtd><msub><mi>t</mi><mrow><mi>j</mi><mn>10</mn></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>t</mi><mrow><mi>j</mi><mn>20</mn></mrow></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mi>A</mi><mo>_</mo><mi>inv</mi><mo>&times;</mo><mi>B</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000034.GIF" wi="1086" he="230" /></maths>利用计算出的迭代值计算迭代精度esp:<maths num="0012" id="cmaths0012"><math><![CDATA[<mrow><mi>esp</mi><mo>=</mo><msqrt><msup><mrow><mo>(</mo><msup><mrow><mo>(</mo><msub><mi>t</mi><mrow><mi>j</mi><mn>11</mn></mrow></msub><mo>-</mo><msub><mi>t</mi><mrow><mi>j</mi><mn>10</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>t</mi><mrow><mi>j</mi><mn>21</mn></mrow></msub><mo>-</mo><msub><mi>t</mi><mrow><mi>j</mi><mn>20</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>)</mo></mrow><mn>2</mn></msup></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000035.GIF" wi="1179" he="124" /></maths>判断精度要求是否满足要求,如果不满足则把计算出的迭代值代入公式(10)、(11)、(12)进行计算,直到计算出满足精度要求的迭代值,如果迭代始终无法收敛,则迭代次数达到设定值就停止迭代,进行后面的计算过程;由于采用迭代法求出的收敛值只是近似最优解,并且考虑到速度和长度的限制,求出的收敛值可能不是我们所需要的结果,如果最终收敛值是一组负数解,根据实际情况,这时我们需要的就不是最终收敛值,而是最接近收敛解的一组正数解。可对每次求出的迭代值进行保存,如果求出的迭代值中有一个是正数一个是负数,让负数为零后作为迭代值进行保存,当最终收敛值是一组负数解,取最接近最终收敛值的一组非负迭代值作为最终计算结果;考虑速度,加速度限制,由于最大速度v<sub>qm</sub>出现减加速度段结束时,由公式(1)可得计算公式为:<maths num="0013" id="cmaths0013"><math><![CDATA[<mrow><msub><mi>v</mi><mi>qm</mi></msub><mo>=</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000041.GIF" wi="855" he="111" /></maths>判断最大限制速度v<sub>m</sub>是否小于v<sub>qm</sub>,如果小于,说明速度要求不满足,需要重新计算t<sub>j1</sub>,计算公式如下:<maths num="0014" id="cmaths0014"><math><![CDATA[<mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>=</mo><msqrt><mfrac><mrow><msub><mi>v</mi><mi>m</mi></msub><mo>-</mo><msub><mi>v</mi><mi>s</mi></msub></mrow><mi>j</mi></mfrac></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>14</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000042.GIF" wi="777" he="202" /></maths>再判断加速度限制要求,加速度最大值a<sub>qm</sub>出现在加加速度段结束时,计算公式如下:a<sub>qm</sub>=jt<sub>j1</sub>  (15)判断最大限制加速度a<sub>m</sub>是否小于a<sub>qm</sub>,如果小于,说明加速度要求不满足,需要重新计算t<sub>j1</sub>,计算公式如下:<maths num="0015" id="cmaths0015"><math><![CDATA[<mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>=</mo><mfrac><msub><mi>a</mi><mi>m</mi></msub><mi>j</mi></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>16</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000043.GIF" wi="875" he="158" /></maths>此时t<sub>j2</sub>与t<sub>j1</sub>相关,t<sub>j1</sub>改变则相应的t<sub>j2</sub>也需要重新计算,由公式(3)可得:<maths num="0016" id="cmaths0016"><math><![CDATA[<mrow><msub><mi>v</mi><mi>e</mi></msub><mo>=</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>-</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>17</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000044.GIF" wi="1114" he="111" /></maths>由上述公式可求出t<sub>j1</sub>改变后的t<sub>j2</sub>的值,判断加减速阶段达到的加速度最大值a<sub>qm</sub>是否满足要求,计算公式如下:a<sub>qm</sub>=jt<sub>j2</sub>  (18)判断a<sub>m</sub>是否小于a<sub>qm</sub>,如果小于,说明加减速度阶段的加速度也不满足要求,需要重新计算t<sub>j2</sub>,计算公式如下:<maths num="0017" id="cmaths0017"><math><![CDATA[<mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>=</mo><mfrac><msub><mi>a</mi><mi>m</mi></msub><mi>j</mi></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>19</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000051.GIF" wi="937" he="165" /></maths>这样就求出满足速度和加速度限制要求的t<sub>j1</sub>、t<sub>j2</sub>的值;由于用迭代法求出的最优解,存在着误差,为了减少误差,提高准确度,需要根据始末速度限制条件和长度限制条件对求出的t<sub>j1</sub>,t<sub>j2</sub>,再次进行迭代修正,考虑到计算出的时间必须满足加速度和速度的限制要求则进行第二次迭代修正时,时间值t<sub>j1</sub>、t<sub>j2</sub>只能减少不能增加,速度误差v_esp计算公式如下:<maths num="0018" id="cmaths0018"><math><![CDATA[<mrow><mi>v</mi><mo>_</mo><mi>esp</mi><mo>=</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>-</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>-</mo><msub><mi>v</mi><mi>e</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>20</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000052.GIF" wi="1275" he="108" /></maths>设定某一精度值ESP,假定ESP=0.01,如果v_esp&gt;ESP,则说明t<sub>j1</sub>取得值较大,相应的t<sub>j1</sub>减少一个伺服周期Ts,再代入公式(20)进行计算比较,如果还不满足要求,则继续减少,一直减少到满足要求为止,如果t<sub>j1</sub>减到零时,也无法满足要求,则退出循环;如果v_esp&lt;‑ESP,则说明t<sub>j2</sub>取得值较大,相应的t<sub>j2</sub>减少一个伺服周期Ts,再代入公式(20)进行计算比较,一直减少到满足要求为止,如果t<sub>j2</sub>减到零时,也无法满足要求,则退出循环;根据长度限制条件进行判断,对求出的t<sub>j1</sub>,t<sub>j2</sub>,进行迭代修正。计算公式如下:<maths num="0019" id="cmaths0019"><math><![CDATA[<mrow><mi>s</mi><mo>_</mo><mi>esp</mi><mo>=</mo><msub><mrow><mn>2</mn><mi>v</mi></mrow><mi>s</mi></msub><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>3</mn></msubsup><mo>+</mo><mn>2</mn><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>-</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>3</mn></msubsup><mo>-</mo><mi>s</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>21</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000053.GIF" wi="1436" he="101" /></maths>其中s_esp是根据规划的时间计算得到的长度值和实际长度值之差,如果s_esp&gt;0,则说明按照计算出的时间进行加工,加工长度值会大于所要求的长度值,这不符合实际要求,所以必须减少规划的时间,t<sub>j1</sub>相应的减少一个伺服周期值,由于涉及的是长度的变化,它与t<sub>j1</sub>,t<sub>j2</sub>都相关,所以相应的t<sub>j2</sub>也要改变,由公式(3)可得t<sub>j2</sub>的计算公式如下:<maths num="0020" id="cmaths0020"><math><![CDATA[<mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>=</mo><msqrt><mfrac><mrow><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>-</mo><msub><mi>v</mi><mi>e</mi></msub></mrow><mi>j</mi></mfrac></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>22</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000061.GIF" wi="1168" he="213" /></maths>再代入上述公式(21)计算长度误差进行比较,如果还不满足要求则重复此过程;当s_temp&lt;0说明按照计算出的时间进行加工的长度量小于实际的长度,这和实际情况相符,说明还有其他的速度变化段,结束迭代修正过程;综上过程就能求出满足要求、误差减到最小的t<sub>j1</sub>,t<sub>j2</sub>的值;第三步:求第一段待加工轨迹匀加速段和匀减速段时间即t<sub>a1</sub>、t<sub>a2</sub>值:由于速度、加速度的限制,一般会出现匀加速段和匀减速段,考虑用时最短原则,假定t<sub>v1</sub>=0,有公式(1)、(2)可得到关于始末速度和长度限制的二个方程:<maths num="0021" id="cmaths0021"><math><![CDATA[<mrow><msub><mi>v</mi><mi>e</mi></msub><mo>=</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>-</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>-</mo><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>23</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000062.GIF" wi="1279" he="108" /></maths><maths num="0022" id="cmaths0022"><math><![CDATA[<mrow><mfenced open='' close=''><mtable><mtr><mtd><mi>s</mi><mo>=</mo><mn>2</mn><msub><mi>v</mi><mi>s</mi></msub><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>+</mo><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>a</mi><mn>1</mn></mrow><mn>2</mn></msubsup><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>+</mo></mtd></mtr><mtr><mtd><mrow><mo>(</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>+</mo><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>+</mo></mtd></mtr><mtr><mtd><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow></msub><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mrow><msub><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><mi>t</mi></mrow><mrow><mi>a</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>+</mo></mtd></mtr><mtr><mtd><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>-</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub></mtd></mtr><mtr><mtd><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>3</mn></msubsup></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>24</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000071.GIF" wi="1489" he="869" /></maths>对上述公式(23)、(24)分别构造成二个函数式f(t<sub>a1</sub>,t<sub>a2</sub>)、g(t<sub>a1</sub>,t<sub>a2</sub>):<maths num="0023" id="cmaths0023"><math><![CDATA[<mrow><mi>f</mi><mrow><mo>(</mo><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><mo>=</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>-</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>-</mo><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow></msub><mo>-</mo><msub><mi>v</mi><mi>e</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>25</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000072.GIF" wi="1260" he="122" /></maths><maths num="0024" id="cmaths0024"><math><![CDATA[<mrow><mfenced open='' close=''><mtable><mtr><mtd><mi>g</mi><mrow><mo>(</mo><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><mo>=</mo><mn>2</mn><msub><mi>v</mi><mi>s</mi></msub><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>+</mo><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>a</mi><mn>1</mn></mrow><mn>2</mn></msubsup><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>+</mo></mtd></mtr><mtr><mtd><mrow><mo>(</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>+</mo><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>+</mo></mtd></mtr><mtr><mtd><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow></msub><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><msubsup><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>+</mo></mtd></mtr><mtr><mtd><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>-</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>3</mn></msubsup><mo>-</mo><mi>s</mi></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>26</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000073.GIF" wi="1295" he="563" /></maths>求上述二个函数(25)、(26)的一阶偏导数并构成矩阵A:<maths num="0025" id="cmaths0025"><math><![CDATA[<mrow><mi>A</mi><mo>=</mo><mfenced open='(' close=')'><mtable><mtr><mtd><msub><mi>f</mi><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub></msub></mtd><mtd><msub><mi>f</mi><msub><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow></msub></msub></mtd></mtr><mtr><mtd><msub><mi>g</mi><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub></msub></mtd><mtd><msub><mi>g</mi><msub><mi>t</mi><mn>2</mn></msub></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>27</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000074.GIF" wi="991" he="231" /></maths>其中<img file="FDA0000559083990000075.GIF" wi="75" he="83" />是f(t<sub>a1</sub>,t<sub>a2</sub>)关于t<sub>a1</sub>的一阶偏导数,<img file="FDA0000559083990000076.GIF" wi="79" he="83" />是f(t<sub>a1</sub>,t<sub>a2</sub>)关于t<sub>a2</sub>的一阶偏导数,<img file="FDA0000559083990000077.GIF" wi="78" he="66" />是g(t<sub>a1</sub>,t<sub>a2</sub>)关于t<sub>a1</sub>的一阶偏导数,<img file="FDA0000559083990000078.GIF" wi="85" he="66" />是g(t<sub>a1</sub>,t<sub>a2</sub>)关于t<sub>a2</sub>的一阶偏导数;求出偏导数矩阵A的逆矩阵A_inv,计算t<sub>a1</sub>、t<sub>a2</sub>的迭代初值,好的迭代初值能快速收敛,节省计算时间,由于t<sub>a1</sub>、t<sub>a2</sub>在很多情形下,二个值相差不大,并且迭代初值也不需要太精确,因此t<sub>a1</sub>、t<sub>a2</sub>看作相等的值t<sub>a</sub>,代入公式(24)可得到简化的长度公式(28),求出t<sub>a</sub>:<maths num="0026" id="cmaths0026"><math><![CDATA[<mrow><mfenced open='' close=''><mtable><mtr><mtd><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mi>a</mi><mn>2</mn></msubsup><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>+</mo><msub><mrow><mn>2</mn><mi>v</mi></mrow><mi>s</mi></msub><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>+</mo><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mi>a</mi></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>3</mn></msubsup><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><msub><mi>t</mi><mi>a</mi></msub></mtd></mtr><mtr><mtd><mo>+</mo><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mi>a</mi></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>+</mo><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mi>a</mi></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mi>a</mi></msub></mtd></mtr><mtr><mtd><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><msubsup><mi>t</mi><mi>a</mi><mn>2</mn></msubsup><mo>+</mo><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mi>a</mi></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>-</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><msub><mi>t</mi><mi>a</mi></msub><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub></mtd></mtr><mtr><mtd><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>3</mn></msubsup><mo>-</mo><mi>s</mi><mo>=</mo><mn>0</mn></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>28</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000081.GIF" wi="1468" he="573" /></maths>由于t<sub>j1</sub>、t<sub>j2</sub>在第一步中已经求得具体值,式子里面只有t<sub>a</sub>是未知量,是关于t<sub>a</sub>的一元二次方程,解方程可得二个根取其中较大值作为t<sub>a</sub>的解,如果求出的值都是负值,t<sub>a</sub>取值为0,把t<sub>a</sub>赋值给t<sub>a10</sub>、t<sub>a20</sub>作为迭代初值,把t<sub>a10</sub>、t<sub>a20</sub>代入上述公式(25)、(26)求得一组函数值,并构成矩阵B:<maths num="0027" id="cmaths0027"><math><![CDATA[<mrow><mi>B</mi><mo>=</mo><mfenced open='(' close=')'><mtable><mtr><mtd><mi>f</mi><mrow><mo>(</mo><msub><mi>t</mi><mrow><mi>a</mi><mn>10</mn></mrow></msub><mo>,</mo><msub><mi>t</mi><mrow><mi>a</mi><mn>20</mn></mrow></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>g</mi><mrow><mo>(</mo><msub><mi>t</mi><mrow><mi>a</mi><mn>10</mn></mrow></msub><mo>,</mo><msub><mi>t</mi><mrow><mi>a</mi><mn>20</mn></mrow></msub><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>29</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000082.GIF" wi="1295" he="181" /></maths>把t<sub>a10</sub>、t<sub>a20</sub>代入A_inv,进而计算一次迭代值t<sub>a11</sub>,t<sub>a21</sub>:<maths num="0028" id="cmaths0028"><math><![CDATA[<mrow><mfenced open='(' close=')'><mtable><mtr><mtd><msub><mi>t</mi><mrow><mi>a</mi><mn>11</mn></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>t</mi><mrow><mi>a</mi><mn>21</mn></mrow></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='(' close=')'><mtable><mtr><mtd><msub><mi>t</mi><mrow><mi>a</mi><mn>10</mn></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>t</mi><mrow><mi>a</mi><mn>20</mn></mrow></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mi>A</mi><mo>_</mo><mi>inv</mi><mo>&times;</mo><mi>B</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>30</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000083.GIF" wi="998" he="183" /></maths>利用计算出的迭代值计算迭代精度esp,计算公式如下:<maths num="0029" id="cmaths0029"><math><![CDATA[<mrow><mi>esp</mi><mo>=</mo><msqrt><msup><mrow><mo>(</mo><msup><mrow><mo>(</mo><msub><mi>t</mi><mrow><mi>a</mi><mn>11</mn></mrow></msub><mo>-</mo><msub><mi>t</mi><mrow><mi>a</mi><mn>10</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>t</mi><mrow><mi>a</mi><mn>21</mn></mrow></msub><mo>-</mo><msub><mi>t</mi><mrow><mi>a</mi><mn>20</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>)</mo></mrow><mn>2</mn></msup></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>31</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000084.GIF" wi="1348" he="118" /></maths>判断精度要求是否满足要求,如果不满足则把计算出的迭代值重新代入公式(29)、(30)、(31),直到计算出满足精度要求的迭代值,如果迭代始终无法收敛,则迭代次数达到设定值就停止迭代,进行后面的计算过程;由于采用迭代法求出的收敛值只是近似最优解,并且考虑到速度和长度的限制,求出的收敛值可能不是我们所需要的结果,如果最终收敛值是一组负数解,根据实际情况,这时我们需要的就不是最终收敛值,而是最接近收敛解的一组正数解;可对每次求出的迭代值进行保存,如果求出的迭代值中有一个是正数一个是负数,让负数为零后作为迭代值进行保存,当最终收敛值是一组负数解,取最接近最终收敛值的一组非负迭代值作为最终计算结果;考虑速度限制,由于最大速度v<sub>qm</sub>出现减加速度段结束时,计算公式为:<maths num="0030" id="cmaths0030"><math><![CDATA[<mrow><msub><mi>v</mi><mi>qm</mi></msub><mo>=</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>32</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000091.GIF" wi="1029" he="108" /></maths>判断最大限制速度v<sub>m</sub>是否小于v<sub>qm</sub>,如果小于,那t<sub>a1</sub>必须重新计算,计算公式如下:<maths num="0031" id="cmaths0031"><math><![CDATA[<mrow><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>=</mo><mfrac><mrow><msub><mi>v</mi><mi>m</mi></msub><mo>-</mo><msub><mi>v</mi><mi>s</mi></msub></mrow><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub></mfrac><mo>-</mo><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>33</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000092.GIF" wi="982" he="165" /></maths>如果t<sub>a1</sub>变化,相应的t<sub>a2</sub>也要随着变化,有公式(23)可得计算公式如下:<maths num="0032" id="cmaths0032"><math><![CDATA[<mrow><msub><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow></msub><mo>=</mo><mfrac><mrow><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>-</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>-</mo><msub><mi>v</mi><mi>e</mi></msub></mrow><msub><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>34</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000093.GIF" wi="1097" he="202" /></maths>可求得新的t<sub>a2</sub>值;由于用迭代法求出的最优解,存在着误差,为了减少误差,提高准确度,需要根据始末速度限制条件和长度限制条件对求出的t<sub>a1</sub>、t<sub>a2</sub>,再次进行迭代修正;考虑到计算出的时间必须满足速度的限制要求则进行第二次迭代修正时,时间值t<sub>a1</sub>、t<sub>a2</sub>只能减少不能增加,速度误差v_esp计算公式如下:<maths num="0033" id="cmaths0033"><math><![CDATA[<mrow><mi>v</mi><mo>_</mo><mi>esp</mi><mo>=</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>-</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>-</mo><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow></msub><mo>-</mo><msub><mi>v</mi><mi>e</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>35</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000101.GIF" wi="1323" he="100" /></maths>设定某一精度值ESP,假定ESP=0.01,如果v_esp&gt;ESP,则说明t<sub>a1</sub>取得值较大,相应的t<sub>a1</sub>减少一个伺服周期值,再代入公式(35)进行计算比较,如果还不满足要求,则继续减少,一直减少到满足要求为止,如果t<sub>a1</sub>减到零时,也无法满足要求,则退出循环;如果v_esp&lt;‑ESP,则说明t<sub>a2</sub>取得值较大,相应的t<sub>a2</sub>减少一个伺服周期值,再代入公式(35)进行计算比较,一直减少到满足要求为止,如果t<sub>a2</sub>减到零时,也无法满足要求,则退出循环,进行后面的计算;根据长度限制条件对求出的t<sub>a1</sub>、t<sub>a2</sub>,进行迭代修正,由公式(24)可得计算公式如下:<maths num="0034" id="cmaths0034"><math><![CDATA[<mrow><mfenced open='' close=''><mtable><mtr><mtd><mi>s</mi><mo>_</mo><mi>esp</mi><mo>=</mo><msub><mrow><mn>2</mn><mi>v</mi></mrow><mi>s</mi></msub><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>+</mo><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>a</mi><mn>1</mn></mrow><mn>2</mn></msubsup><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub></mtd></mtr><mtr><mtd><mo>+</mo><mrow><mo>(</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>+</mo><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>+</mo></mtd></mtr><mtr><mtd><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow></msub><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><msubsup><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>+</mo></mtd></mtr><mtr><mtd><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>-</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>3</mn></msubsup><mo>-</mo><mi>s</mi></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>36</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000102.GIF" wi="1365" he="606" /></maths>其中s_esp是根据规划的时间计算得到的长度值和实际长度值之差,如果s_esp&gt;0,则说明按照计算出的时间进行加工,加工长度值会大于所要求的长度值,这不符合实际要求,所以必须减少规划的时间,t<sub>a1</sub>相应的减少一个伺服周期值,由于涉及的是长度的变化,它与t<sub>a1</sub>、t<sub>a2</sub>都相关,所以相应的t<sub>a2</sub>也要改变,由公式(23)可得t<sub>a2</sub>的计算公式为:<maths num="0035" id="cmaths0035"><math><![CDATA[<mrow><msub><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow></msub><mo>=</mo><mfrac><mrow><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>-</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>-</mo><msub><mi>v</mi><mi>e</mi></msub></mrow><msub><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>37</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000111.GIF" wi="1147" he="202" /></maths>根据求出的t<sub>a1</sub>、t<sub>a2</sub>的代入上述长度误差公式(36)重新计算s_esp,如果不满足要求,则反复进行这个步骤,直到s_esp小于零或者t<sub>a1</sub>等于零为止;综上过程就能求出满足要求、误差减到最小的t<sub>a1</sub>、t<sub>a2</sub>值;第四步:求第一段待加工轨迹匀速段时间即t<sub>v1</sub>值:求t<sub>v1</sub>时,通过前面三步,四个满足要求的时间参数值t<sub>j1</sub>、t<sub>j2</sub>、t<sub>a1</sub>、t<sub>a2</sub>已经求出,不存在的阶段时间参数值等于0,由于求t<sub>v1</sub>,只有一个公式,且是一元一次方程,必有一个解,把t<sub>j1</sub>、t<sub>j2</sub>、t<sub>a1</sub>、t<sub>a2</sub>代入,即可解出t<sub>v1</sub>值,由公式(2)可得计算公式如下:<maths num="0036" id="cmaths0036"><math><![CDATA[<mrow><mfenced open='' close=''><mtable><mtr><mtd><mi>s</mi><mo>=</mo><mn>2</mn><msub><mi>v</mi><mi>s</mi></msub><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>+</mo><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>a</mi><mn>1</mn></mrow><mn>2</mn></msubsup><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub></mtd></mtr><mtr><mtd><mo>+</mo><mrow><mo>(</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>+</mo><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>v</mi><mn>1</mn></mrow></msub><mo>+</mo></mtd></mtr><mtr><mtd><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>-</mo><mfrac><mn>1</mn><mn>6</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>3</mn></msubsup><mo>+</mo></mtd></mtr><mtr><mtd><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow></msub><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><msubsup><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>+</mo></mtd></mtr><mtr><mtd><mrow><mo>(</mo><msub><mi>v</mi><mi>s</mi></msub><mo>+</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>1</mn></mrow></msub><mo>+</mo><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>-</mo><msub><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><msub><mi>t</mi><mrow><mi>a</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><msub><mi>t</mi><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>-</mo><mfrac><mn>1</mn><mn>3</mn></mfrac><msubsup><mi>jt</mi><mrow><mi>j</mi><mn>2</mn></mrow><mn>3</mn></msubsup></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>38</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559083990000112.GIF" wi="1340" he="831" /></maths>通过这个公式可以求出t<sub>v1</sub>,如果求出的t<sub>v1</sub>为非正数则说明匀速运动阶段不存在,则t<sub>v1</sub>赋值为零;至此第一段待加工轨迹的加减速变化时间都已经求出,根据加减速变化时间,可以得到此待加工轨迹的速度曲线;第五步:判断是否还存在其他待加工轨迹线段如果还有则重复第二、三、四、五步,并且上一段轨迹的末速度作为下一段轨迹的起始速度代入计算,最后一段的末速度为零;如果没有其他线段则进行第六步;第六步:根据求出的速度曲线以及起始点,进行插补运算计算出中间点的坐标值,根据坐标值变化向相应坐标输出脉冲信号,控制各执行元件的进给速度、进给方向和进给长度量等,进而完成工件的加工任务。
地址 310018 浙江省杭州市江干区下沙高教园区2号路