一种基于多传感器融合的移动机器人室内定位方法与流程

文档序号:12110306阅读:来源:国知局

技术特征:

1.一种基于多传感器融合的移动机器人室内定位方法,其特征在于:利用激光数据匹配的ICP算法进行定位估算,使用航迹推算法得到的位姿变化进行定位结果补偿。

2.根据权利要求1所述的一种基于多传感器融合的移动机器人室内定位方法,其特征在于:所述的利用激光数据匹配的ICP算法进行定位估算包括:

设采样周期为Δt,在第i个采样周期之前,机器人的准确位姿为

p=(x,y,θ)T

在第i个采样周期,通过激光扫描匹配得到机器人移动的位姿变化为:

Δpicp_i=[Δxipc_i Δyipc_i Δθipc_i]T

设此时机器人的移动速度为vicp_i=[vicp_xi,vicp_yi,wicp_i]T,因此存在以下关系:

vicp_xi=Δxicp_i/Δt或vicp_xi=Δyicp_i/Δt,并且ΔSicp_i=Δxicp_i或ΔSicp_i=Δyicp_i

其中ΔSicp_i为通过匹配算法得到的机器人在本采样周期内的移动距离。

3.根据权利要求2所述的一种基于多传感器融合的移动机器人室内定位方法,其特征在于:利用激光数据匹配的ICP算法进行定位估算具体包括:

(a1)将本时刻激光扫描记为当前扫描D,上一时刻扫描记为参考扫描M;

(b1)通过点到线的匹配方法得到将D匹配到M的最优变换(R,T),其中R为旋转变换矩阵,T为平移矢量:

(c1)根据(R,T)计算当前机器人的位姿变化Δpk=(Δxk,Δyk,Δθk)T,假定k时刻机器人位姿为pk=(xk,ykk)T,则k+1时刻机器人位姿为:

<mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>y</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>&theta;</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>x</mi> <mi>k</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mi>k</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>&theta;</mi> <mi>k</mi> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>+</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <msub> <mi>cos&theta;</mi> <mi>k</mi> </msub> </mrow> </mtd> <mtd> <mrow> <msub> <mi>sin&theta;</mi> <mi>k</mi> </msub> </mrow> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>-</mo> <msub> <mi>sin&theta;</mi> <mi>k</mi> </msub> </mrow> </mtd> <mtd> <mrow> <msub> <mi>cos&theta;</mi> <mi>k</mi> </msub> </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> <mrow> <msub> <mi>&Delta;x</mi> <mi>k</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>&Delta;y</mi> <mi>k</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>&Delta;&theta;</mi> <mi>k</mi> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>

(d1)将当前扫描D记为新的参考扫描M,继续采样激光数据,由步骤(a1)开始重新迭代。

4.根据权利要求1所述的一种基于多传感器融合的移动机器人室内定位方法,其特征在于:所述的使用航迹推算法得到的位姿变化进行定位结果补偿包括:

使用航迹推算法进行定位估算,得到第i个采样周期内机器人移动的位姿变化为:

Δptrack_i=[Δxtrack_i,Δytrack_i,Δθtrack_i]T

设此时机器人的移动速度为vtrack_i=[vtrack_xi,vtrack_yi,wtrack_i]T,则:

vtrack_xi=ΔStrack_i/Δt,vtrack_yi=0.0,wi=Δθtrack_i/Δt;

其中ΔStrack_i为通过航迹推算法得到的机器人在本采样周期内的移动距离。

5.根据权利要求4所述的一种基于多传感器融合的移动机器人室内定位方法,其特征在于:所述的使用航迹推算法得到的位姿变化进行定位结果补偿具体包括:

(a2)假设在一个采样周期内,收到电机编码器反馈,单位换算得到左轮、右轮的移动距离分别为ΔSl和ΔSr,转过的角度为Δθ,则可以推算得到机器人在这个采用周期内的移动距离和旋转角角度:

<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>&Delta;</mi> <mi>S</mi> <mo>=</mo> <mfrac> <mrow> <msub> <mi>&Delta;S</mi> <mi>r</mi> </msub> <mo>+</mo> <msub> <mi>&Delta;S</mi> <mi>l</mi> </msub> </mrow> <mn>2</mn> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>&Delta;</mi> <mi>&theta;</mi> <mo>=</mo> <mfrac> <mrow> <msub> <mi>&Delta;S</mi> <mi>r</mi> </msub> <mo>-</mo> <msub> <mi>&Delta;S</mi> <mi>l</mi> </msub> </mrow> <mrow> <mn>2</mn> <mi>R</mi> </mrow> </mfrac> </mrow> </mtd> </mtr> </mtable> </mfenced>

其中,2R为机器人两轮间距,ΔS为机器人移动的距离,Δθ为机器人转过的角度;

(b2)机器人在世界坐标系下的运动可如下式所示:

<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>&Delta;</mi> <mi>x</mi> <mo>=</mo> <mi>&Delta;</mi> <mi>S</mi> <mi> </mi> <mi>c</mi> <mi>o</mi> <mi>s</mi> <mrow> <mo>(</mo> <mi>&theta;</mi> <mo>+</mo> <mi>&Delta;</mi> <mi>&theta;</mi> <mo>/</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>&Delta;</mi> <mi>y</mi> <mo>=</mo> <mi>&Delta;</mi> <mi>S</mi> <mi> </mi> <mi>s</mi> <mi>i</mi> <mi>n</mi> <mrow> <mo>(</mo> <mi>&theta;</mi> <mo>+</mo> <mi>&Delta;</mi> <mi>&theta;</mi> <mo>/</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced>

其中,θ为此时刻之前机器人已旋转过的累积角度;

(c2)由此,假定k时刻机器人位姿为pk=(xk,ykk),单位采样时间内机器人位姿变化为Δpk=(Δxk,Δyk,Δθk),则根据航迹推算法,机器人在k+1时刻的位姿为:

<mrow> <msub> <mi>p</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <msub> <mi>x</mi> <mi>k</mi> </msub> <mo>+</mo> <msub> <mi>&Delta;x</mi> <mi>k</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>+</mo> <msub> <mi>&Delta;y</mi> <mi>k</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>&theta;</mi> <mi>k</mi> </msub> <mo>+</mo> <mi>&Delta;</mi> <mi>&theta;</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>.</mo> </mrow>

6.根据权利要求1所述的一种基于多传感器融合的移动机器人室内定位方法,其特征在于:还包括利用激光数据匹配的ICP算法进行定位估算得到的位姿变化以及使用航迹推算法得到的位姿变化做差,得到位姿差Δp。

7.根据权利要求6所述的一种基于多传感器融合的移动机器人室内定位方法,其特征在于:若满足

Δp≤ξ,其中ξ>0,

则认为此时的激光扫描匹配得到的位姿变化正确。

8.根据权利要求6所述的一种基于多传感器融合的移动机器人室内定位方法,其特征在于:

若不满足

Δp≤ξ,其中ξ>0,

则启用航迹推算法得到的位姿变化进行定位结果补偿。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1