发明名称 一种双轮差动式机器人运动控制方法
摘要 本发明涉及一种双轮差动式机器人运动控制方法,技术特征在于:以机器人的几何中心为坐标原点在世界坐标系XOY中建立本体坐标系xoy;基于运动学的双轮差动式机器人运动控制方法,该方法针对所有轮式机器人运动中最基本、最主要的两个动作,即轮式机器人原地转角动作和运动到定点动作,实现了对这两个动作的运动控制。双轮差动式机器人的所有复杂动作都可以由这两个基本动作合成。本发明提出采用基于误差比例控制法对其中的线速度函数作了合理的改进,同时结合弦切法,对机器人运动到定点进行综合控制。综合控制极大发挥了这两种方法各自的优点,避免了各自缺陷对机器人运动的影响。发明中还针对循环震荡现象,提出了其相应的解决策略。
申请公布号 CN101791800B 申请公布日期 2011.05.25
申请号 CN201010013646.5 申请日期 2010.01.21
申请人 西北工业大学 发明人 史豪斌;李文彬;张磊;潘炜;于竹君
分类号 B25J13/00(2006.01)I 主分类号 B25J13/00(2006.01)I
代理机构 西北工业大学专利中心 61204 代理人 王鲜凯
主权项 1.一种双轮差动式机器人运动控制方法,其特征在于:以机器人的几何中心为坐标原点在世界坐标系XOY中建立本体坐标系xoy,转角运动的控制步骤和跑位运动的控制步骤如下:转角运动的控制步骤:步骤1计算机器人的当前方向角和目标方向角角度差:Δθ<sub>r</sub>=|θ<sub>d</sub>-θ<sub>n</sub>|,其中θ<sub>d</sub>为机器人的目标方向角,θ<sub>n</sub>为机器人的当前方向角;步骤2计算左右轮速值:<maths num="0001"><![CDATA[<math><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>V</mi><mi>L</mi></msub><mo>=</mo><mn>1</mn><mo>+</mo><mi>ln</mi><mi>a</mi><mo>&CenterDot;</mo><msub><mi>&Delta;&theta;</mi><mi>r</mi></msub><mo>+</mo><mfrac><mrow><msup><mi>ln</mi><mn>2</mn></msup><mi>a</mi></mrow><mn>2</mn></mfrac><msup><msub><mi>&Delta;&theta;</mi><mi>r</mi></msub><mn>2</mn></msup><mo>+</mo><mfrac><mrow><msup><mi>ln</mi><mn>3</mn></msup><mi>a</mi></mrow><mn>6</mn></mfrac><msup><msub><mi>&Delta;&theta;</mi><mi>r</mi></msub><mn>3</mn></msup><mo>+</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>+</mo><mfrac><mrow><msup><mi>ln</mi><mi>n</mi></msup><mi>a</mi></mrow><mrow><mi>n</mi><mo>!</mo></mrow></mfrac><msup><msub><mi>&Delta;&theta;</mi><mi>r</mi></msub><mi>n</mi></msup></mtd></mtr><mtr><mtd><msub><mi>V</mi><mi>R</mi></msub><mo>=</mo><mo>-</mo><mrow><mo></mo><mo>(</mo><mn>1</mn><mo>+</mo><mi>ln</mi><mi>a</mi><mo>&CenterDot;</mo><msub><mi>&Delta;&theta;</mi><mi>r</mi></msub><mo></mo></mrow><mo>+</mo><mfrac><mrow><msup><mi>ln</mi><mn>2</mn></msup><mi>a</mi></mrow><mn>2</mn></mfrac><msup><msub><mi>&Delta;&theta;</mi><mi>r</mi></msub><mn>2</mn></msup><mo>+</mo><mfrac><mrow><msup><mi>ln</mi><mn>3</mn></msup><mi>a</mi></mrow><mn>6</mn></mfrac><msup><msub><mi>&Delta;&theta;</mi><mi>r</mi></msub><mn>3</mn></msup><mo>+</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>+</mo><mfrac><mrow><msup><mi>ln</mi><mi>n</mi></msup><mi>a</mi></mrow><mrow><mi>n</mi><mo>!</mo></mrow></mfrac><mrow><mo></mo><msup><msub><mi>&Delta;&theta;</mi><mi>r</mi></msub><mi>n</mi></msup><mo>)</mo><mo></mo></mrow></mtd></mtr></mtable></mfenced></math>]]></maths>V<sub>L</sub>为左轮速值,V<sub>R</sub>为右轮速值,项数n和底数a的参数选择策略如下:当Δθ<sub>r</sub>的区间为[0,5]时,n取为2、a取为1.8;当Δθ<sub>r</sub>的区间为(5,15]时,n取为3、a取为1.4;当Δθ<sub>r</sub>的区间为(15,30]时,n取为4、a取为1.21;当Δθ<sub>r</sub>的区间为(30,90]时,n取为5、a取为1.12;步骤3:将步骤2得到的轮速分别作用于机器人左右轮的伺服电机上,驱动机器人左右轮作相应的转动;跑位运动的控制步骤:步骤1计算机器人当前位置坐标与目标点位置坐标的距离:<maths num="0002"><![CDATA[<math><mrow><mi>dis</mi><mo>=</mo><msqrt><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>sta</mi></msub><mo>-</mo><msub><mi>x</mi><mi>des</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>y</mi><mi>sya</mi></msub><mo>-</mo><msub><mi>y</mi><mi>des</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></msqrt></mrow></math>]]></maths>其中:x<sub>sta</sub>、y<sub>sta</sub>为机器人当前的位置坐标,x<sub>des</sub>、y<sub>des</sub>为目标点的位置坐标;步骤2计算机器人当前方向角与当前位置和目标点位置连线的夹角:<maths num="0003"><![CDATA[<math><mrow><msub><mi>&Delta;&theta;</mi><mi>m</mi></msub><mo>=</mo><mi>arctan</mi><mrow><mo>(</mo><mfrac><mrow><msub><mi>y</mi><mi>des</mi></msub><mo>-</mo><msub><mi>y</mi><mi>sta</mi></msub></mrow><mrow><msub><mi>x</mi><mi>des</mi></msub><mo>-</mo><msub><mi>x</mi><mi>sta</mi></msub></mrow></mfrac><mo>)</mo></mrow><mo>-</mo><msub><mi>&theta;</mi><mi>n</mi></msub></mrow></math>]]></maths>其中:θ<sub>n</sub>为机器人的当前方向角;步骤3进行跑位震荡检测:比较机器人运动最近三个仿真节拍的目标点坐标和机器人的位置坐标,当两拍的数据不相等时执行下一步骤;当两拍的数据相等时,断定机器人当前处在目标点附近的震荡状态,将机器人正面朝向与X轴正方向夹角设为θ<sub>p</sub>,机器人目标位置和当前位置的连线与X轴正方向的夹角设为θ<sub>q</sub>,则机器人执行转角运动控制步骤、做一个由θ<sub>p</sub>转向θ<sub>q</sub>的原地转角运动,然后执行下一步骤;步骤4:以误差比例控制方法产生的最大震荡距离dis<sub>vib</sub>为分界线:当dis>=dis<sub>vib</sub>时,左右轮速值为<img file="FSB00000421146400021.GIF" wi="820" he="182" />其中f(dis·cos(Δθ<sub>m</sub>))和g(Δθ<sub>m</sub>)采用拟合方法得到;当dis<dis<sub>vib</sub>时,左右轮速值为<img file="FSB00000421146400022.GIF" wi="354" he="250" />其中<img file="FSB00000421146400023.GIF" wi="434" he="163" />V的值取f(dis·cos(Δθ<sub>m</sub>)),为指定的机器人运动的线速度,L是机器人两轮之间的距离;所述的dis<sub>vib</sub>为机器人的最大速度所对应的运动距离为其值;所述的拟合方法为:将若干组机器人运动距离dis、转角量Δθ和运动速度v的关系dis-v和Δθ-v的数据,采用拟合方法得到如下公式:f(dis·cos(Δθ<sub>m</sub>))=0.14284×(dis·cos(Δθ<sub>m</sub>))<sup>3</sup>-0.66979×(dis·cos(Δθ<sub>m</sub>))<sup>2</sup>                  +12.519×(dis·cos(Δθ<sub>m</sub>))-0.23125g(Δθ<sub>m</sub>)=0.01178×(Δθ<sub>m</sub>)<sup>2</sup>+0.1989×(Δθ<sub>m</sub>)+1步骤5:将步骤4得到的轮速分别作用于机器人左右轮的伺服电机上,驱动机器人左右轮作相应的转动。
地址 710072 陕西省西安市友谊西路127号