发明名称 一种室内移动机器人导航定位方法
摘要 本发明的目的在于提供一种室内移动机器人导航定位方法,其基于两个编码器轴线不平行且互成任意角度分布的定位码盘及单轴光纤陀螺仪进行定位,定位码盘安装在室内移动机器人上,将定位数据时刻直接传输给控制系统,控制系统通过定位算法对编码器反馈回的数据进行处理,即可定位机器人坐标。本发明基于定位码盘和单轴光纤陀螺仪,即两个安装有全向轮的光电编码器垂直分布属于机械装置,与基于电子元器件的无线传感反应网络系统、GPS导航定位系统等相比,本发明测量装置简单,实施方便,且机械装置的稳定性高;通过5次左右的实验调试可以将机器人的定位精度控制在0.5%以内,具有较高的定位精度。
申请公布号 CN105300378A 申请公布日期 2016.02.03
申请号 CN201510593849.9 申请日期 2015.09.17
申请人 哈尔滨工程大学 发明人 王茁;李宁;王涛;张波;黄新禹;单雪;王大欢;傅质斌;蔡明智;谢敏燕;李文琦
分类号 G01C21/16(2006.01)I 主分类号 G01C21/16(2006.01)I
代理机构 代理人
主权项 一种室内移动机器人导航定位方法,其特征是:采用如下移动机器人机构:包括总体框架、定位码盘、第一被动全向轮、第二被动全向轮、第一编码器、第二编码器,总体框架为正三角形,三角形的三个顶点分别安装一个驱动全向轮,总体框架里安装三个支撑方管,相邻支撑方管之间夹角为60度,L型的定位码盘安装在其中两个支撑方管上,第一被动全向轮和第二被动全向轮分别安装在L型定位码盘的两条边上,第一被动全向轮上安装第一编码器,第二被动全向轮上安装第二编码器,总体框架上安装有陀螺仪,在总体框架所在平面上,第二被动全向轮的直径与其旁边的驱动全向轮的轴线相重合,第一被动全向轮旋转方向所在平面与第二被动全向轮旋转方向所在平面以及总体框架所在平面相交的点为移动机器人的几何中心,以初始时刻移动机器人的几何中心所在点为世界坐标系xoy的原点,此原点的位置始终固定不变,以移动机器人的几何中心为原点建立机器人坐标系XOY,此原点随移动机器人位置的改变而改变,第二被动全向轮旋转方向所在平面与总体框架所在平面的交线为坐标系XOY的X轴,第一被动全向轮旋转方向所在平面与总体框架所在平面的交线为坐标系XOY的Y轴,X轴与Y轴的交点即为移动机器人的几何中心,第一被动全向轮转动方向与第二被动全向轮转动方向的夹角为θ,第一被动全向轮转动方向与世界坐标系y方向的夹角为α,即定位码盘的安装误差角,α=90°‑θ;机器人先沿X方向运动到机器人坐标系XOY下坐标(S,0)处,此时机器人在世界坐标系xoy的位置为A,位置A的坐标为(S,‑S<sub>1</sub>),其中S<sub>1</sub>=Stanα;机器人再沿Y方向运动到机器人坐标系XOY下坐标(S,S)处,此位置为终点位置,此时机器人在世界坐标系xoy的B位置,B位置的坐标为(S,S<sub>2</sub>),机器人的几何中心终点位置与起点位置连线与世界坐标系x方向的夹角为θ<sub>1</sub>,其中<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>S</mi><mn>2</mn></msub><mo>=</mo><mfrac><mi>S</mi><mrow><mi>c</mi><mi>o</mi><mi>s</mi><mi>&alpha;</mi></mrow></mfrac><mo>-</mo><msub><mi>S</mi><mn>1</mn></msub><mo>=</mo><mfrac><mrow><mi>S</mi><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>s</mi><mi>i</mi><mi>n</mi><mi>&alpha;</mi><mo>)</mo></mrow></mrow><mrow><mi>c</mi><mi>o</mi><mi>s</mi><mi>&alpha;</mi></mrow></mfrac><mo>;</mo></mrow>]]></math><img file="FDA0000805274150000011.GIF" wi="630" he="142" /></maths>此时机器人几何中心起始位置的距离为S<sub>3</sub>,<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>S</mi><mn>3</mn></msub><mo>=</mo><msqrt><mrow><msup><mi>S</mi><mn>2</mn></msup><mo>+</mo><msubsup><mi>S</mi><mn>2</mn><mn>2</mn></msubsup></mrow></msqrt><mo>=</mo><mi>S</mi><msqrt><mrow><mn>1</mn><mo>+</mo><msup><mrow><mo>(</mo><mfrac><mrow><mn>1</mn><mo>-</mo><mi>sin</mi><mi>&alpha;</mi></mrow><mrow><mi>c</mi><mi>o</mi><mi>s</mi><mi>&alpha;</mi></mrow></mfrac><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt><mo>=</mo><mi>S</mi><msqrt><mfrac><mn>2</mn><mrow><mn>1</mn><mo>+</mo><mi>s</mi><mi>i</mi><mi>n</mi><mi>&alpha;</mi></mrow></mfrac></msqrt><mo>;</mo></mrow>]]></math><img file="FDA0000805274150000021.GIF" wi="1021" he="167" /></maths>则机器人起始位置连线与x方向的夹角θ<sub>1</sub>,<img file="FDA0000805274150000022.GIF" wi="508" he="150" /><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msubsup><mi>cos&theta;</mi><mn>1</mn><mn>2</mn></msubsup><mo>=</mo><mfrac><mrow><mn>1</mn><mo>+</mo><mi>s</mi><mi>i</mi><mi>n</mi><mi>&alpha;</mi></mrow><mn>2</mn></mfrac><mo>&RightArrow;</mo><mi>c</mi><mi>o</mi><mi>s</mi><mrow><mo>(</mo><mn>2</mn><msub><mi>&theta;</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>=</mo><mi>sin</mi><mi>&alpha;</mi><mo>=</mo><mi>c</mi><mi>o</mi><mi>s</mi><mrow><mo>(</mo><mn>90</mn><mo>-</mo><mi>&alpha;</mi><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000805274150000023.GIF" wi="1062" he="127" /></maths>可得:2θ<sub>1</sub>=90‑α上式即为第一被动全向轮6的转动方向与机器人坐标系Y方向的夹角α与θ<sub>1</sub>之间的定式关系,又α=90°‑θ,则θ=2θ<sub>1</sub>;通过θ与θ<sub>1</sub>的关系可得到定位码盘的安装角;移动机器人只转动时,即定位码盘只转动,定位码盘两个被动全向轮的速度V<sub>1</sub>'=V<sub>2</sub>'=0,陀螺仪反馈的角速度ω'与机器人转动角速度ω之间的转化关系:ω′=ω;移动机器人只移动,即定位码盘只有移动,定位码盘两个被动全向轮的速度V<sub>1</sub>”,V<sub>2</sub>”与机器人坐标系速度分量V<sub>X</sub>,V<sub>Y</sub>的转化关系<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><msub><mi>V</mi><mi>X</mi></msub><mo>=</mo><msubsup><mi>V</mi><mn>2</mn><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msubsup></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>V</mi><mi>Y</mi></msub><mo>=</mo><mfrac><mrow><msubsup><mi>V</mi><mn>1</mn><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msubsup><mo>-</mo><msubsup><mi>V</mi><mn>2</mn><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msubsup><mi>s</mi><mi>i</mi><mi>n</mi><mi>&alpha;</mi></mrow><mrow><mi>cos</mi><mi>&alpha;</mi></mrow></mfrac></mrow></mtd></mtr></mtable><mo>;</mo></mrow>]]></math><img file="FDA0000805274150000024.GIF" wi="390" he="215" /></maths>移动机器人在移动过程中也会伴随着转动,因此全方位移动机器人定位码盘的两个被动全向轮的速度V<sub>1</sub>=V<sub>1</sub>'+V<sub>1</sub>”,V<sub>2</sub>=V<sub>2</sub>'+V<sub>2</sub>”陀螺仪反馈的角速度ω'与机器人坐标系速度分量V<sub>X</sub>,V<sub>Y</sub>及机器人转动角速度ω之间的转化关系为<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mfenced open = '[' close = ']'><mtable><mtr><mtd><msub><mi>V</mi><mi>X</mi></msub></mtd></mtr><mtr><mtd><msub><mi>V</mi><mi>Y</mi></msub></mtd></mtr><mtr><mtd><mi>&omega;</mi></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open = '[' close = ']'><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mfrac><mn>1</mn><mrow><mi>cos</mi><mi>&alpha;</mi></mrow></mfrac></mtd><mtd><mrow><mo>-</mo><mi>t</mi><mi>a</mi><mi>n</mi><mi>&alpha;</mi></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mfenced open = '[' close = ']'><mtable><mtr><mtd><msub><mi>V</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>V</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msup><mi>&omega;</mi><mo>&prime;</mo></msup></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA0000805274150000031.GIF" wi="702" he="292" /></maths>机器人的姿态角改变时,机器人坐标系与世界坐标系不完全重合,需要进行坐标系转化,初始时刻机器人坐标系X方向与世界坐标系x方向的夹角为β,经过t时刻,机器人姿态角变化为γ,其转化关系为:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mfenced open = '[' close = ']'><mtable><mtr><mtd><msub><mi>V</mi><mi>x</mi></msub></mtd></mtr><mtr><mtd><msub><mi>V</mi><mi>y</mi></msub></mtd></mtr><mtr><mtd><mi>&omega;</mi></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open = '[' close = ']'><mtable><mtr><mtd><mrow><mi>c</mi><mi>o</mi><mi>s</mi><mrow><mo>(</mo><mi>&beta;</mi><mo>+</mo><mi>&gamma;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mo>-</mo><mi>s</mi><mi>i</mi><mi>n</mi><mrow><mo>(</mo><mi>&beta;</mi><mo>+</mo><mi>&gamma;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mrow><mi>s</mi><mi>i</mi><mi>n</mi><mrow><mo>(</mo><mi>&beta;</mi><mo>+</mo><mi>&gamma;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><mi>&beta;</mi><mo>+</mo><mi>&gamma;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mfenced open = '[' close = ']'><mtable><mtr><mtd><msub><mi>V</mi><mi>X</mi></msub></mtd></mtr><mtr><mtd><msub><mi>V</mi><mi>Y</mi></msub></mtd></mtr><mtr><mtd><mi>&omega;</mi></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA0000805274150000032.GIF" wi="878" he="231" /></maths>由上述两个式子进行融合得世界坐标系速度分量V<sub>x</sub>,V<sub>y</sub>,机器人转动角速度ω与机器人定位码盘的两个被动全向轮的速度V<sub>1</sub>,V<sub>2</sub>,陀螺仪反馈的角速度ω'之间的关系为:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mfenced open = '[' close = ']'><mtable><mtr><mtd><msub><mi>V</mi><mi>x</mi></msub></mtd></mtr><mtr><mtd><msub><mi>V</mi><mi>y</mi></msub></mtd></mtr><mtr><mtd><mi>&omega;</mi></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open = '[' close = ']'><mtable><mtr><mtd><mrow><mi>c</mi><mi>o</mi><mi>s</mi><mrow><mo>(</mo><mi>&beta;</mi><mo>+</mo><mi>&gamma;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mo>-</mo><mi>s</mi><mi>i</mi><mi>n</mi><mrow><mo>(</mo><mi>&beta;</mi><mo>+</mo><mi>&gamma;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mrow><mi>s</mi><mi>i</mi><mi>n</mi><mrow><mo>(</mo><mi>&beta;</mi><mo>+</mo><mi>&gamma;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>c</mi><mi>o</mi><mi>s</mi><mrow><mo>(</mo><mi>&beta;</mi><mo>+</mo><mi>&gamma;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mfenced open = '[' close = ']'><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mfrac><mn>1</mn><mrow><mi>cos</mi><mi>&alpha;</mi></mrow></mfrac></mtd><mtd><mrow><mo>-</mo><mi>t</mi><mi>a</mi><mi>n</mi><mi>&alpha;</mi></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mfenced open = '[' close = ']'><mtable><mtr><mtd><msub><mi>V</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>V</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msup><mi>&omega;</mi><mo>&prime;</mo></msup></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA0000805274150000033.GIF" wi="1317" he="295" /></maths>在机器人运动过程中,时刻对世界坐标系速度分量V<sub>x</sub>、V<sub>y</sub>、机器人转动角速度即陀螺仪反馈的角速度ω进行积分,V<sub>x</sub>=V<sub>1</sub>,V<sub>y</sub>=V<sub>2</sub>,即可得到机器人在世界坐标系下的坐标(x,y)及机器人姿态角φ。
地址 150001 黑龙江省哈尔滨市南岗区南通大街145号哈尔滨工程大学科技处知识产权办公室