发明名称 无人驾驶车辆实时跟踪行驶轨迹的计算方法
摘要 本发明涉及一种无人驾驶车辆实时跟踪行驶轨迹的计算方法,具体步骤如下:将无人驾驶车辆的非驱动桥左右车轮中心上安装旋转编码器机构,所述旋转编码器机构与计算机的解码器无线连接;标定:保持车辆以10公里/小时的速度匀速直线行驶50米,读取左右编码器脉冲读数CL、CR,计算得车轮在直线行驶时的滚动半径。有益效果:测量出左右车轮角位移,通过车轮滚动半径,可以计算得到左右车轮向前滚动的曲线距离,由于车辆在曲线行驶和直线行驶时,左右车轮滚动距离不同,可以计算获得车辆的航向角和车辆的具体坐标位置。准确地实时测量并计算车辆位置姿态数据。
申请公布号 CN102632891A 申请公布日期 2012.08.15
申请号 CN201210097765.2 申请日期 2012.04.06
申请人 中国人民解放军军事交通学院 发明人 李明喜;贾鹏;徐友春;袁一
分类号 B60W40/10(2012.01)I 主分类号 B60W40/10(2012.01)I
代理机构 天津市三利专利商标代理有限公司 12107 代理人 杨红
主权项 1.一种无人驾驶车辆实时跟踪行驶轨迹的计算方法,具体步骤如下:(1)安装旋转编码器机构,将无人驾驶车辆的非驱动桥左右车轮中心上安装旋转编码器机构,所述旋转编码器机构与计算机的解码器无线连接;(2)标定保持车辆以10公里/小时的速度匀速直线行驶50米,读取左右编码器脉冲读数C<sub>L</sub>、C<sub>R</sub>,计算得车轮在直线行驶时的滚动半径r’<sub>rL</sub>、r’<sub>rR</sub>(单位:米);<maths num="0001"><![CDATA[<math><mrow><msubsup><mi>r</mi><mi>rL</mi><mo>&prime;</mo></msubsup><mo>=</mo><mfrac><mrow><mn>50</mn><mo>&times;</mo><mn>2000</mn></mrow><mrow><mn>2</mn><mi>&pi;</mi><msub><mi>C</mi><mi>L</mi></msub></mrow></mfrac></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><msubsup><mi>r</mi><mi>rR</mi><mo>&prime;</mo></msubsup><mo>=</mo><mfrac><mrow><mn>50</mn><mo>&times;</mo><mn>2000</mn></mrow><mrow><mn>2</mn><mi>&pi;</mi><msub><mi>C</mi><mi>R</mi></msub></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths>(3)修正:车辆在弯道行驶时,侧向加速度会造成左右两侧车轮垂向载荷转移,引起车轮滚动半径发生变化,需要对采集到的数据进行修正,在滚动半径计算公式(1)中增加修正参数因子δ以补偿左右两侧车轮垂向载荷转移对车轮滚动半径的影响,修正因子δ的估算公式(2):δ=sign(a)×|a|<sup>1/3</sup>×sc       (2)式中sc为无量纲修正因子,可通过弯道试验标定得到;实验过程:修正前左右编码器读数分别为C<sub>Lbv</sub>、C<sub>Rbv</sub>;保持车辆以20公里/小时的速度沿半径为50米的圆周逆时针匀速行驶一周,左右编码器读数分别为C<sub>Lev</sub>、C<sub>Rev</sub>;则读取左右编码器脉冲变化读数C<sub>Lv</sub>=C<sub>Lev</sub>-C<sub>Lbv=</sub>、C<sub>Rv</sub>=C<sub>Rev</sub>-C<sub>Rbv</sub>,无量纲修正因子sc可由下式:<maths num="0003"><![CDATA[<math><mrow><mi>sc</mi><mo>=</mo><mrow><mo>(</mo><mrow><mo>(</mo><mfrac><mrow><mn>100</mn><mo>-</mo><mi>B</mi></mrow><mrow><msub><mi>C</mi><mi>LV</mi></msub><msubsup><mi>r</mi><mi>rL</mi><mo>&prime;</mo></msubsup></mrow></mfrac><mo>-</mo><mfrac><mrow><mn>100</mn><mo>+</mo><mi>B</mi></mrow><mrow><msub><mi>C</mi><mi>RV</mi></msub><msubsup><mi>r</mi><mi>rR</mi><mo>&prime;</mo></msubsup></mrow></mfrac><mo>)</mo></mrow><mo>&times;</mo><mn>500</mn><mo>)</mo></mrow><mo>/</mo><mrow><mo>(</mo><msup><mrow><mo>(</mo><msup><mrow><mo>(</mo><mn>200</mn><mo>/</mo><mn>36</mn><mo>)</mo></mrow><mn>2</mn></msup><mo>/</mo><mrow><mo>(</mo><mn>50</mn><mo>+</mo><mfrac><mi>B</mi><mn>2</mn></mfrac><mo>)</mo></mrow><mo>)</mo></mrow><mrow><mn>1</mn><mo>/</mo><mn>3</mn></mrow></msup><mo>)</mo></mrow></mrow></math>]]></maths>式中a:<maths num="0004"><![CDATA[<math><mrow><mi>a</mi><mo>=</mo><mo>-</mo><mfrac><mi>B</mi><mn>2</mn></mfrac><mfrac><mrow><msubsup><mi>r</mi><mi>rL</mi><mo>&prime;</mo></msubsup><mrow><mo>(</mo><msub><mi>E</mi><mi>Ln</mi></msub><mo>-</mo><msub><mi>E</mi><mrow><mi>Ln</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><msubsup><mi>r</mi><mi>rR</mi><mo>&prime;</mo></msubsup><mrow><mo>(</mo><msub><mi>E</mi><mi>Rn</mi></msub><mo>-</mo><msub><mi>E</mi><mrow><mi>Rn</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow></mrow><mrow><msubsup><mi>r</mi><mi>rL</mi><mo>&prime;</mo></msubsup><mrow><mo>(</mo><msub><mi>E</mi><mi>Ln</mi></msub><mo>-</mo><msub><mi>E</mi><mrow><mi>Ln</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>-</mo><msubsup><mi>r</mi><mi>rR</mi><mo>&prime;</mo></msubsup><mrow><mo>(</mo><msub><mi>E</mi><mi>Rn</mi></msub><mo>-</mo><msub><mi>E</mi><mrow><mi>Rn</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow></mrow></mfrac></mrow></math>]]></maths><maths num="0005"><![CDATA[<math><mrow><mo>&times;</mo><msup><mrow><mo>(</mo><mfrac><mrow><msubsup><mi>r</mi><mi>rR</mi><mo>&prime;</mo></msubsup><mrow><mo>(</mo><msub><mi>E</mi><mi>Rn</mi></msub><mo>-</mo><mn>2</mn><msub><mi>E</mi><mrow><mi>Rn</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>+</mo><msub><mi>E</mi><mrow><mi>Rn</mi><mo>-</mo><mn>2</mn></mrow></msub><mo>)</mo></mrow><mo>-</mo><msubsup><mi>r</mi><mi>rL</mi><mo>&prime;</mo></msubsup><mrow><mo>(</mo><msub><mi>E</mi><mi>Ln</mi></msub><mo>-</mo><mn>2</mn><msub><mi>E</mi><mrow><mi>Ln</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>+</mo><msub><mi>E</mi><mrow><mi>Ln</mi><mo>-</mo><mn>2</mn></mrow></msub><mo>)</mo></mrow></mrow><mi>&Delta;TB</mi></mfrac><mo>)</mo></mrow><mn>2</mn></msup></mrow></math>]]></maths>a的第一部分反应车辆方向盘转角的影响因素,第二部分反应行驶车速的影响因素。式中E<sub>in</sub>为第n个采样时刻编码器读数,下标i为L或R,分别代表左轮、右轮,因此,车轮滚动半径用公式(3)估算修正:r<sub>rL</sub>=r′<sub>rL</sub>(1+δ)    r<sub>rR</sub>=r′<sub>rR</sub>(1-δ)    (3)(4)车辆位置及航向角计算方法在第n个采样周期内,左右车轮分别滚动的曲线距离,即弧长<img file="FDA0000150853350000023.GIF" wi="175" he="78" />由公式(4)计算:<maths num="0006"><![CDATA[<math><mrow><msub><mover><mi>L</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><mo>=</mo><msub><mi>r</mi><mi>rL</mi></msub><mrow><mo>(</mo><msub><mi>E</mi><mi>Ln</mi></msub><mo>-</mo><msub><mi>E</mi><mrow><mi>Ln</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mfrac><mrow><mn>2</mn><mi>&pi;</mi></mrow><mn>2000</mn></mfrac></mrow></math>]]></maths>(4)<maths num="0007"><![CDATA[<math><mrow><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><mo>=</mo><msub><mi>r</mi><mi>rR</mi></msub><mrow><mo>(</mo><msub><mi>E</mi><mi>Rn</mi></msub><mo>-</mo><msub><mi>E</mi><mrow><mi>Rn</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mfrac><mrow><mn>2</mn><mi>&pi;</mi></mrow><mn>2000</mn></mfrac></mrow></math>]]></maths>在第n个采样周期内,车辆航向角的变化α<sub>n</sub>由公式(5)计算:<maths num="0008"><![CDATA[<math><mrow><msub><mi>&alpha;</mi><mi>n</mi></msub><mo>=</mo><mfrac><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><msub><mrow><mn>2</mn><mi>R</mi></mrow><mrow><mn>2</mn><mi>n</mi></mrow></msub></mfrac><mo>=</mo><mfrac><msub><mover><mi>L</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><msub><mrow><mn>2</mn><mi>R</mi></mrow><mrow><mn>1</mn><mi>n</mi></mrow></msub></mfrac><mo>=</mo><mfrac><mrow><mo>(</mo><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><mo>-</mo><msub><mover><mi>L</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><mo>)</mo></mrow><mrow><mn>2</mn><mi>B</mi></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow></math>]]></maths>在第n个采样周期内,左右车轮分别滚动的曲线弦长L<sub>n</sub>、R<sub>n</sub>由公式(6)计算<maths num="0009"><![CDATA[<math><mrow><mi>Sin</mi><mrow><mo>(</mo><msub><mi>&alpha;</mi><mi>n</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><msub><mi>L</mi><mi>n</mi></msub><msub><mrow><mn>2</mn><mi>R</mi></mrow><mrow><mn>1</mn><mi>n</mi></mrow></msub></mfrac><mo>=</mo><mfrac><msub><mi>R</mi><mi>n</mi></msub><mrow><mn>2</mn><msub><mi>R</mi><mrow><mn>2</mn><mi>n</mi></mrow></msub></mrow></mfrac></mrow></math>]]></maths><maths num="0010"><![CDATA[<math><mrow><msub><mi>L</mi><mi>n</mi></msub><mo>=</mo><mn>2</mn><msub><mi>R</mi><mrow><mn>1</mn><mi>n</mi></mrow></msub><mi>Sin</mi><mrow><mo>(</mo><msub><mi>&alpha;</mi><mi>n</mi></msub><mo>)</mo></mrow><mo>=</mo><mn>2</mn><mfrac><msub><mover><mi>L</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><msub><mi>&alpha;</mi><mi>n</mi></msub></mfrac><mi>Sin</mi><mrow><mo>(</mo><mfrac><mrow><mo>(</mo><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><mo>-</mo><msub><mover><mi>L</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><mo>)</mo></mrow><mrow><mn>2</mn><mi>B</mi></mrow></mfrac><mo>)</mo></mrow><mo>=</mo><mn>2</mn><mfrac><mrow><msub><mover><mi>L</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><mi>B</mi></mrow><mrow><mo>(</mo><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><mo>-</mo><msub><mover><mi>L</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><mo>)</mo></mrow></mfrac><mi>Sin</mi><mrow><mo>(</mo><mfrac><mrow><mo>(</mo><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><mo>-</mo><msub><mover><mi>L</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><mo>)</mo></mrow><mrow><mn>2</mn><mi>B</mi></mrow></mfrac><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0011"><![CDATA[<math><mrow><msub><mi>R</mi><mi>n</mi></msub><mo>=</mo><mn>2</mn><msub><mi>R</mi><mrow><mn>2</mn><mi>n</mi></mrow></msub><mi>Sin</mi><mrow><mo>(</mo><msub><mi>&alpha;</mi><mi>n</mi></msub><mo>)</mo></mrow><mo>=</mo><mn>2</mn><mfrac><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><msub><mi>&alpha;</mi><mi>n</mi></msub></mfrac><mi>Sin</mi><mrow><mo>(</mo><mfrac><mrow><mo>(</mo><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><mo>-</mo><msub><mover><mi>L</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><mo>)</mo></mrow><mrow><mn>2</mn><mi>B</mi></mrow></mfrac><mo>)</mo></mrow><mo>=</mo><mn>2</mn><mfrac><mrow><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><mi>B</mi></mrow><mrow><mo>(</mo><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><mo>-</mo><msub><mover><mi>L</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><mo>)</mo></mrow></mfrac><mi>Sin</mi><mrow><mo>(</mo><mfrac><mrow><mo>(</mo><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><mo>-</mo><msub><mover><mi>L</mi><mo>&OverBar;</mo></mover><mi>n</mi></msub><mo>)</mo></mrow><mrow><mn>2</mn><mi>B</mi></mrow></mfrac><mo>)</mo></mrow></mrow></math>]]></maths>则车辆航向角和车辆左右两侧后轮位置由公式(7)计算得<maths num="0012"><![CDATA[<math><mrow><msub><mi>&gamma;</mi><mi>n</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>&alpha;</mi><mi>i</mi></msub></mrow></math>]]></maths><maths num="0013"><![CDATA[<math><mfenced open='' close=''><mtable><mtr><mtd><msub><mi>x</mi><mi>Ln</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><mo>(</mo><msub><mi>L</mi><mi>i</mi></msub><mi>Sin</mi><mrow><mo>(</mo><msub><mi>&gamma;</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mfrac><mi>B</mi><mn>2</mn></mfrac><mo>)</mo></mrow></mtd><mtd><msub><mi>y</mi><mi>Ln</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>L</mi><mi>i</mi></msub><mi>Cos</mi><mrow><mo>(</mo><msub><mi>&gamma;</mi><mi>i</mi></msub><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></math>]]></maths><maths num="0014"><![CDATA[<math><mfenced open='' close=''><mtable><mtr><mtd><msub><mi>x</mi><mi>Rn</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><mo>(</mo><msub><mi>R</mi><mi>i</mi></msub><mi>Sin</mi><mrow><mo>(</mo><msub><mi>&gamma;</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>+</mo><mfrac><mi>B</mi><mn>2</mn></mfrac><mo>)</mo></mrow></mtd><mtd><msub><mi>y</mi><mi>Rn</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>R</mi><mi>i</mi></msub><mi>Cos</mi><mrow><mo>(</mo><msub><mi>&gamma;</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></math>]]></maths>(5)实际测试计算效果通过实车试验时采集的左右车轮编码器读数,经过上述计算方法可以获得高精度的计算效果。
地址 300361 天津市河东区东局子1号