发明名称 一种基于余弦二阶的机器人轨迹规划方法
摘要 一种基于余弦二阶的机器人轨迹规划方法,属于机器人轨迹规划领域。本发明的目的是解决现有机器人轨迹采用抛物线拟合的线性段轨迹的方法存在加速度的阶跃变化,使驱动力矩及驱动力矩一阶导数突然增大,从而导致轨迹不容易跟踪的问题。本发明首先给定基于余弦的二阶轨迹曲线的位置、速度、加速度以及加速度的导数的数学模型,给定两个期望点的位置和速度。然后,将边界条件的值代入所述数学模型中,列出方程组并求解出模型的参数。最后,根据两个期望点间的位置和速度的关系及加速度和加速度的导数的幅值来限制加速度的导数的阀值。确定最终的规划轨迹。本发明适用于机器人的轨迹规划,能够生成平滑的曲线,容易跟踪的轨迹。
申请公布号 CN101508113B 申请公布日期 2010.10.27
申请号 CN200910071524.9 申请日期 2009.03.11
申请人 哈尔滨工业大学 发明人 黄剑斌;王再明;熊根良;谢宗武;刘宏
分类号 B25J9/16(2006.01)I 主分类号 B25J9/16(2006.01)I
代理机构 哈尔滨市松花江专利商标事务所 23109 代理人 张果瑞
主权项 1.一种基于余弦二阶的机器人轨迹规划方法,其特征在于实现该方法的步骤包括:步骤一、建立基于余弦二阶的机器人机械臂轨迹曲线的位置的数学模型、速度的数学模型、加速度的数学模型和加速度的导数的数学模型;所述基于余弦二阶的机器人机械臂轨迹曲线的位置x(t)的数学模型为:<maths num="0001"><![CDATA[<math><mrow><mi>x</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>b</mi><mn>3</mn></msub><mi>cos</mi><mrow><mo>(</mo><mfrac><mrow><mn>2</mn><mi>&pi;t</mi></mrow><mi>T</mi></mfrac><mo>)</mo></mrow><mo>+</mo><msub><mi>b</mi><mn>2</mn></msub><msup><mi>t</mi><mn>2</mn></msup><mo>+</mo><msub><mi>b</mi><mn>1</mn></msub><mi>t</mi><mo>+</mo><msub><mi>b</mi><mn>0</mn></msub><mo>,</mo></mrow></math>]]></maths>其中:b<sub>0</sub>,b<sub>1</sub>,b<sub>2</sub>,b<sub>3</sub>为系数,T为所述余弦的周期;所述基于余弦二阶的机器人机械臂轨迹曲线的速度v(t)的数学模型为:<maths num="0002"><![CDATA[<math><mrow><mi>v</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mo>-</mo><mfrac><mrow><mn>2</mn><mi>&pi;</mi></mrow><mi>T</mi></mfrac><msub><mi>b</mi><mn>3</mn></msub><mi>sin</mi><mrow><mo>(</mo><mfrac><mrow><mn>2</mn><mi>&pi;t</mi></mrow><mi>T</mi></mfrac><mo>)</mo></mrow><mo>+</mo><mn>2</mn><msub><mi>b</mi><mn>2</mn></msub><mi>t</mi><mo>+</mo><msub><mi>b</mi><mn>1</mn></msub><mo>;</mo></mrow></math>]]></maths>所述基于余弦二阶的机器人机械臂轨迹曲线的加速度a(t)的数学模型为:<maths num="0003"><![CDATA[<math><mrow><mi>a</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mo>-</mo><mfrac><mrow><mn>4</mn><msup><mi>&pi;</mi><mn>2</mn></msup></mrow><msup><mi>T</mi><mn>2</mn></msup></mfrac><msub><mi>b</mi><mn>3</mn></msub><mi>cos</mi><mrow><mo>(</mo><mfrac><mrow><mn>2</mn><mi>&pi;t</mi></mrow><mi>T</mi></mfrac><mo>)</mo></mrow><mo>+</mo><mn>2</mn><msub><mi>b</mi><mn>2</mn></msub><mo>;</mo></mrow></math>]]></maths>所述基于余弦二阶的机器人机械臂轨迹曲线的加速度的导数Jerk(t)的数学模型为:<maths num="0004"><![CDATA[<math><mrow><mi>Jerk</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mn>8</mn><msup><mi>&pi;</mi><mn>3</mn></msup></mrow><msup><mi>T</mi><mn>3</mn></msup></mfrac><msub><mi>b</mi><mn>3</mn></msub><mi>sin</mi><mrow><mo>(</mo><mfrac><mrow><mn>2</mn><mi>&pi;t</mi></mrow><mi>T</mi></mfrac><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>步骤二、给定机器人机械臂运动的起始期望点位置S<sub>1</sub>、起始期望点速度v<sub>1</sub>、末端期望点位置S<sub>2</sub>和末端期望点速度v<sub>2</sub>,按最大加速度a<sub>max</sub>和最大加速度的导数J<sub>max</sub>进行基于余弦二阶的机器人机械臂轨迹曲线的规划;所述的最大加速度a<sub>max</sub>和最大加速度的导数J<sub>max</sub>之间存在如下关系:<maths num="0005"><![CDATA[<math><mrow><msub><mi>J</mi><mi>max</mi></msub><mo>=</mo><mfrac><mrow><mi>&pi;</mi><msub><mi>a</mi><mi>max</mi></msub></mrow><mi>T</mi></mfrac><mo>,</mo></mrow></math>]]></maths>步骤三、依据最短时间原则将机器人机械臂从起始期望点到末端期望点的轨迹分成四段,分别为加速度倾斜上升段、加速度平稳段、加速度倾斜下降段和速度平稳段;所述的最短时间原则为:在加速度倾斜上升段以T/2时间达到加速度最大值a<sub>max</sub>,所述加速度倾斜上升段、加速度平稳段、加速度倾斜下降段和速度平稳段分别为:加速度倾斜上升段的时间区间为[0,t1],速度由v<sub>1</sub>增加到v<sub>a</sub>,运行距离为D1,加速度达到最大值a<sub>max</sub>,加速度平稳段的时间区间为[t1,t2],速度由v<sub>a</sub>增加到v<sub>b</sub>,运行距离为D2,加速度保持最大值a<sub>max</sub>,加速度的导数为0,加速度倾斜下降段的时间区间为[t2,t3],速度由v<sub>b</sub>增加到v<sub>2</sub>,运行距离为D3,加速度为由a<sub>max</sub>下降到0,速度平稳段的时间区间为[t3,t4],速度保持v<sub>2</sub>,运行距离为D4,加速度为0,加速度的导数为0,步骤四、将加速度倾斜上升段的边界条件的值代入步骤一所述数学模型中,列出方程组并求解出所述数学模型的参数;求解数学模型参数的方法为:加速度倾斜上升段满足在T/2时间达到加速度最大值a<sub>max</sub>,所述基于余弦二阶的机器人机械臂轨迹曲线在t=0时位置x(0)、速度v(0)、加速度a(0)和加速度的导数Jerk(0)满足的约束条件为:<maths num="0006"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><mi>x</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>=</mo><msub><mi>S</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><mi>v</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>=</mo><msub><mi>v</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><mi>a</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><mi>Jerk</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>所述基于余弦二阶的机器人机械臂轨迹曲线在t=T/2时位置x(T/2)、速度v(T/2)、加速度a(T/2)和加速度的导数Jerk(T/2)满足的约束条件为:<maths num="0007"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><mi>x</mi><mrow><mo>(</mo><mi>T</mi><mo>/</mo><mn>2</mn><mo>)</mo></mrow><mo>=</mo><msub><mi>S</mi><mn>1</mn></msub><mo>+</mo><mi>D</mi><mn>1</mn></mtd></mtr><mtr><mtd><mi>v</mi><mrow><mo>(</mo><mi>T</mi><mo>/</mo><mn>2</mn><mo>)</mo></mrow><mo>=</mo><msub><mi>v</mi><mi>a</mi></msub></mtd></mtr><mtr><mtd><mi>a</mi><mrow><mo>(</mo><mi>T</mi><mo>/</mo><mn>2</mn><mo>)</mo></mrow><mo>=</mo><msub><mi>a</mi><mi>max</mi></msub></mtd></mtr><mtr><mtd><mi>Jerk</mi><mrow><mo>(</mo><mi>T</mi><mo>/</mo><mn>2</mn><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>将上述两组边界约束条件方程组代入步骤一建立的四个数学模型中,获得有关四个系数b<sub>0</sub>,b<sub>1</sub>,b<sub>2</sub>,b<sub>3</sub>的值、加速度倾斜上升段末端速度v<sub>a</sub>和加速度倾斜上升段运行距离D1:<maths num="0008"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>b</mi><mn>0</mn></msub><mo>=</mo><msub><mi>S</mi><mn>1</mn></msub><mo>-</mo><mfrac><mrow><msub><mi>a</mi><mi>max</mi></msub><msup><mi>T</mi><mn>2</mn></msup></mrow><mrow><mn>8</mn><msup><mi>&pi;</mi><mn>2</mn></msup></mrow></mfrac></mtd></mtr><mtr><mtd><msub><mi>b</mi><mn>1</mn></msub><mo>=</mo><msub><mi>v</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>b</mi><mn>2</mn></msub><mo>=</mo><mfrac><msub><mi>a</mi><mi>max</mi></msub><mn>4</mn></mfrac></mtd></mtr><mtr><mtd><msub><mi>b</mi><mn>3</mn></msub><mo>=</mo><mfrac><mrow><msub><mi>a</mi><mi>max</mi></msub><msup><mi>T</mi><mn>2</mn></msup></mrow><mrow><mn>8</mn><msup><mi>&pi;</mi><mn>2</mn></msup></mrow></mfrac></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths><maths num="0009"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>v</mi><mi>a</mi></msub><mo>=</mo><msub><mi>v</mi><mn>1</mn></msub><mo>+</mo><mfrac><mrow><msub><mi>a</mi><mi>max</mi></msub><mi>T</mi></mrow><mn>4</mn></mfrac></mtd></mtr><mtr><mtd><mi>D</mi><mn>1</mn><mo>=</mo><mrow><mo>(</mo><mfrac><mn>1</mn><mn>16</mn></mfrac><mo>-</mo><mfrac><mn>1</mn><mrow><mn>4</mn><msup><mi>&pi;</mi><mn>2</mn></msup></mrow></mfrac><mo>)</mo></mrow><msub><mi>a</mi><mi>max</mi></msub><msup><mi>T</mi><mn>2</mn></msup><mo>+</mo><mfrac><mrow><msub><mi>v</mi><mn>1</mn></msub><mi>T</mi></mrow><mn>2</mn></mfrac></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>则加速度平稳段末端速度v<sub>b</sub>为:<maths num="0010"><![CDATA[<math><mrow><msub><mi>v</mi><mi>b</mi></msub><mo>=</mo><msub><mi>v</mi><mn>2</mn></msub><mo>-</mo><mfrac><mrow><msub><mi>a</mi><mi>max</mi></msub><mi>T</mi></mrow><mn>4</mn></mfrac><mo>,</mo></mrow></math>]]></maths>加速度平稳段的运行距离D2和加速度倾斜下降段的运行距离D3为:<maths num="0011"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><mi>D</mi><mn>2</mn><mo>=</mo><mfrac><mrow><msup><msub><mi>v</mi><mi>b</mi></msub><mn>2</mn></msup><mo>-</mo><msup><msub><mi>v</mi><mi>a</mi></msub><mn>2</mn></msup></mrow><mrow><mn>2</mn><msub><mi>a</mi><mi>max</mi></msub></mrow></mfrac></mtd></mtr><mtr><mtd><mi>D</mi><mn>3</mn><mo>=</mo><mrow><mo>(</mo><mfrac><mn>1</mn><mn>16</mn></mfrac><mo>-</mo><mfrac><mn>1</mn><mrow><mn>4</mn><msup><mi>&pi;</mi><mn>2</mn></msup></mrow></mfrac><mo>)</mo></mrow><msub><mi>a</mi><mi>max</mi></msub><msup><mi>T</mi><mn>2</mn></msup><mo>+</mo><mfrac><mrow><msub><mi>v</mi><mn>1</mn></msub><mi>T</mi></mrow><mn>2</mn></mfrac></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>步骤五、判断是否满足条件:S<sub>2</sub>-S<sub>1</sub>≥D1+D2+D3,如果判断结果为是,执行步骤六,如果判断结果为否,执行步骤九,步骤六、判断是否满足条件:v<sub>2</sub>≥v<sub>2min</sub>,如果判断结果为是,执行步骤七,如果判断结果为否,执行步骤八,其中,<img file="FSB00000157780200035.GIF" wi="369" he="109" />v<sub>2min</sub>为基于余弦二阶的轨迹只包括加速度倾斜上升段和加速度倾斜下降段时的最小的末端速度值;步骤七、基于余弦二阶的轨迹按最大加速度a<sub>max</sub>和最大加速度的导数J<sub>max</sub>进行规划,获得机器人机械臂期望的输出轨迹,基于余弦二阶的机器人轨迹规划方法完成,本步骤所述的基于余弦二阶的轨迹规划包括加速度倾斜上升段、加速度平稳段、加速度倾斜下降段和速度平稳段四段,则:D4=S<sub>2</sub>-S<sub>1</sub>-D1-D2-D3既而获得机器人机械臂期望的输出轨迹,步骤八、基于余弦二阶的轨迹按加速度阈值a<sub>f</sub>和最大加速度的导数J<sub>max</sub>进行规划,获得机器人机械臂期望的输出轨迹,基于余弦二阶的机器人轨迹规划方法完成,本步骤所述的基于余弦二阶的轨迹规划包括加速度倾斜上升段、加速度倾斜下降段和速度平稳段三段,且满足以下方程组:<maths num="0012"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>v</mi><mn>2</mn></msub><mo>=</mo><msub><mi>v</mi><mn>1</mn></msub><mo>+</mo><mfrac><mrow><msub><mi>a</mi><mi>f</mi></msub><mi>T</mi></mrow><mn>2</mn></mfrac></mtd></mtr><mtr><mtd><mi>T</mi><mo>=</mo><mfrac><mrow><mi>&pi;</mi><msub><mi>a</mi><mi>f</mi></msub></mrow><msub><mi>J</mi><mi>max</mi></msub></mfrac></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>获得加速度阈值a<sub>f</sub>和余弦周期T,既而获得机器人机械臂期望的输出轨迹,步骤九、基于余弦二阶的轨迹按加速度阈值a<sub>f</sub>和加速度的导数阈值J<sub>f</sub>进行规划,获得机器人机械臂期望的输出轨迹,基于余弦二阶的机器人轨迹规划方法完成,本步骤所述的基于余弦二阶的轨迹规划包括加速度倾斜上升段和加速度倾斜下降段两段,且满足以下方程组:<maths num="0013"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>S</mi><mn>2</mn></msub><mo>-</mo><msub><mi>S</mi><mn>1</mn></msub><mo>=</mo><mrow><mo>(</mo><msub><mi>v</mi><mn>1</mn></msub><mo>+</mo><msub><mi>v</mi><mn>2</mn></msub><mo>)</mo></mrow><mfrac><mi>T</mi><mn>2</mn></mfrac></mtd></mtr><mtr><mtd><msub><mi>v</mi><mn>2</mn></msub><mo>=</mo><msub><mi>v</mi><mn>1</mn></msub><mo>+</mo><mfrac><mrow><msub><mi>a</mi><mi>f</mi></msub><mi>T</mi></mrow><mn>2</mn></mfrac></mtd></mtr><mtr><mtd><msub><mi>J</mi><mi>f</mi></msub><mo>=</mo><mfrac><mrow><mi>&pi;</mi><msub><mi>a</mi><mi>f</mi></msub></mrow><mi>T</mi></mfrac></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>获得余弦周期T、加速度阈值a<sub>f</sub>和加速度的导数阈值J<sub>f</sub>:<maths num="0014"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><mi>T</mi><mo>=</mo><mfrac><mrow><mn>2</mn><mrow><mo>(</mo><msub><mi>S</mi><mn>2</mn></msub><mo>-</mo><msub><mi>S</mi><mn>1</mn></msub><mo>)</mo></mrow></mrow><mrow><msub><mi>v</mi><mn>1</mn></msub><mo>+</mo><msub><mi>v</mi><mn>2</mn></msub></mrow></mfrac></mtd></mtr><mtr><mtd><msub><mi>a</mi><mi>f</mi></msub><mo>=</mo><mfrac><mrow><mn>2</mn><mrow><mo>(</mo><msub><mi>v</mi><mn>2</mn></msub><mo>-</mo><msub><mi>v</mi><mn>1</mn></msub><mo>)</mo></mrow></mrow><mi>T</mi></mfrac></mtd></mtr><mtr><mtd><msub><mi>J</mi><mi>f</mi></msub><mo>=</mo><mfrac><mrow><mn>2</mn><mi>&pi;</mi><mrow><mo>(</mo><msub><mi>v</mi><mn>2</mn></msub><mo>-</mo><msub><mi>v</mi><mn>1</mn></msub><mo>)</mo></mrow></mrow><msup><mi>T</mi><mn>2</mn></msup></mfrac></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>既而获得机器人机械臂期望的输出轨迹。
地址 150001 黑龙江省哈尔滨市南岗区西大直街92号