2. 郑州大学 信息工程学院 河南 郑州 450001
2. School of Information Engineering, Zhengzhou University, Zhengzhou 450001, China
定位问题是实现微小型移动机器人自主工作的基础[1].从概率论的角度,机器人的定位问题也可以看作结合传感器信息实现状态估计的问题.经典的机器人自定位方法有基于贝叶斯理论的卡尔曼滤波[2]、扩展卡尔曼滤波[3]和粒子滤波[4]等.其中粒子滤波由于能够解决非线性、非高斯系统的状态估计问题[5]而受到广泛关注.受尺寸设计的限制,选用尺寸小、功耗低的红外传感器设计微小型移动机器人的定位测量系统.近年来,基于红外传感器的机器人定位系统研究取得了一定的进展.文献[6]基于Khepera Ⅲ本体上的红外传感器,在结构化规则的环境中(1.8 m范围内),结合扩展卡尔曼滤波,对消除微小型机器人定位过程中的累计误差进行了研究,定位精度达到1.9 cm.文献[7]提出了一种基于改进IMM-UKF算法的红外路标室内定位方法,该系统在室内已知环境下配备单个大功率红外发射管作为路标,通过机器人本体上的红外摄像机作为接收传感器,定位精度可达4.5 cm,但该红外定位测量系统设计尺寸较大,无法应用到微小型机器人本体上.针对于此,文献[8]设计了一套基于六对红外收发传感器的小型定位系统,结合粒子滤波算法,实现了微小型机器人之间的相对定位,精度达到7.4 mm.
为进一步解决微小型移动机器人的定位问题,本文设计了一套小尺寸的红外定位系统,可根据红外接收信号强度得到机器人之间的相对位置信息,并在已知环境中通过将坐标确定的微小型机器人(指可根据周围环境进行自定位的机器人)作为地标,基于粒子滤波算法可对微小型移动机器人之间进行协作定位.
1 红外定位模型机器人根据红外接收到的信号强度,换算出地标与当前机器人的相对距离和方位.假设红外接收信号的入射角为α,此时机器人相邻的n个接收端都接收到了信号,将这n个接收端定义为一个感应扇区,需要根据每个接收端的接收强度来近似入射信号强度r.假设n个接收端的接收信号强度沿顺时针方向依次为r′ -m, r′ -m+1, …r′ 0, …, r′ m-1, r′ m,其中m=n/2.单个接收端的接收信号强度与入射信号强度的关系为r′=r cos(δ),其中δ为该接收端与入射信号的夹角.则第i个接收端的接收信号强度为
| $ {r'_i} = r\;{\rm{cos}}(\alpha - {\varphi _i}), $ | (1) |
式中:α为入射角,φi为第i个接收端与扇区中心接收端的夹角,且φi=-φ-i.因此有
| $ {{r'}_i} + {{r'}_{ - i}} = 2r\;{\rm{cos}}\alpha \;cos{\varphi _i};{{r'}_i} - {{r'}_{ - i}} = 2r\;{\rm{sin}}\alpha \;\sin {\varphi _i}. $ | (2) |
令
| $ a = \frac{{\mathop \sum \limits_{i = 0/1}^m \left( {{{r'}_i} + {{r'}_{ - i}}} \right)}}{{\mathop \sum \limits_{i = 0}^m 2{\rm{cos}}{\varphi _i}}} = r\;{\rm{cos}}\alpha ;b = \frac{{\mathop \sum \limits_{i = 0/1}^m \left( {{{r'}_i} - {{r'}_{ - i}}} \right)}}{{\mathop \sum \limits_{i = 0}^m 2{\rm{sin}}{\varphi _i}}} = r\;{\rm{sin}}\alpha . $ | (3) |
利用三角函数变换公式,可得
| $ \alpha = {\rm{arctan}}\left( {{\rm{ }}b{\rm{/}}a{\rm{ }}} \right);r = {\left( {{a^2} + {b^2}} \right)^{\frac{1}{2}}} $ | (4) |
当n=3时,机器人红外定位模型如图 1所示.此时,三个接收端的接收信号强度分别为r′0=r cos α,r′1=r cos(α-φ1),r′-1=r cos(α-φ-1).
|
图 1 红外定位模型 Fig. 1 Infrared localization model |
令
| $ a = \frac{{{{r'}_1} + {{r'}_{ - 1}} + 2{{r'}_0}}}{{2{\rm{cos}}{\varphi _1} + 2}} = r\;{\rm{cos}}\alpha ;b = \frac{{{{r'}_1} - {{r'}_{ - 1}}}}{{2\sin {\varphi _1}}} = r\;{\rm{sin}}\alpha $ | (5) |
将式(5)代入式(4)得到3个传感器的接收光强度,即可得到r和α.
2 粒子滤波定位 2.1 里程计运动模型由于尺寸限制,机器人利用里程计作为内部传感器.图 2为机器人的里程计运动模型,假设机器人在很短的时间间隔内进行半径为R的圆弧运动,经过几何推算就可估计出机器人两时刻之间的位姿增量.
|
图 2 里程计运动模型 Fig. 2 Odometer motion model |
机器人相邻时刻的直线距离增量Δd可以近似表示为
| $ \Delta d = \Delta S = \frac{{\Delta {S_{\rm{L}}} + \Delta {S_{\rm{R}}}}}{2}, $ | (6) |
式中:ΔSL和ΔSR分别为里程计测得的时间间隔内左、右轮平滑移动距离;ΔS为机器人中心的平滑移动距离.
根据机器人的差动运动学方程,机器人上一时刻与本时刻之间的位姿增量为
| $ \Delta P = \left[ {\begin{array}{*{20}{c}} {\Delta \theta }\\ {\Delta x}\\ {\Delta y} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {\frac{{\Delta {S_{\rm{R}}} - \Delta {S_{\rm{L}}}}}{{2R}}}\\ {\Delta d \cdot \cos \left( {\theta + \frac{{\Delta \theta }}{2}} \right)}\\ {\Delta d \cdot \sin \left( {\theta + \frac{{\Delta \theta }}{2}} \right)} \end{array}} \right]. $ | (7) |
机器人的里程计运动模型可表示为
| $ \left\{ {\begin{array}{*{20}{c}} {\theta \left( k \right) = \theta \left( {k - 1} \right) + \Delta \theta + \varepsilon _{k - 1}^\theta }\\ {x\left( k \right) = x\left( {k - 1} \right) + \Delta x + \varepsilon _{k - 1}^x}\\ {y\left( k \right) = y\left( {k - 1} \right) + \Delta y{\rm{}} + {\rm{}}\varepsilon _{k - 1}^y} \end{array}.{\rm{}}} \right. $ | (8) |
粒子滤波中,可以根据式(8)的运动模型,由机器人k-1时刻的位姿信息,结合里程计的观测数据,来预测k时刻该机器人的位姿信息.
2.2 粒子滤波定位算法粒子滤波定位算法的基本原理是对k时刻机器人的位姿状态采样N个粒子,建立带权值的粒子集
Step 1:初始化.对于k=0,从机器人初始位姿状态进行采样,得到初始粒子集
Step 2:采样.对于k=1,2,…,从
Step 3:权值计算.根据
| $ \tilde w_k^{\left( i \right)} = \tilde w_{k - 1}^{\left( i \right)}\frac{1}{{\sqrt {2{\rm{ \mathit{ π} }}} {\sigma _d}}}{{\rm{e}}^{\frac{{ - {{\left( {d - {d_i}} \right)}^2}}}{{2\sigma _d^2}}}}\frac{1}{{\sqrt {2{\rm{ \mathit{ π} }}} {\sigma _\beta }}}{{\rm{e}}^{\frac{{ - {{\left( {\beta - {\beta _i}} \right)}^2}}}{{2\sigma _\beta ^2}}}}, $ | (9) |
式中:d为k时刻观测距离;di为粒子Xk(i)到路标的预测距离;β为k时刻观测方位;βi为粒子Xk(i)到路标的预测方位.若粒子位姿信息为
| $ {d_i} = \sqrt {{{\left( {{{\hat x}_T} - x_k^{\left( i \right)}} \right)}^2} + {{\left( {{{\hat y}_T} - y_k^{\left( i \right)}} \right)}^2}} , $ | (10) |
| $ {\beta _i} = {\tan ^{ - 1}}\left( {\frac{{{{\hat y}_T} - y_k^{\left( i \right)}}}{{{{\hat x}_T} - x_k^{\left( i \right)}}}} \right) - \theta _k^{\left( i \right)}. $ | (11) |
若某一时刻同时观测到M个地标,则权值可表示为
| $ \tilde w_k^{\left( i \right)} = \tilde w_{k - 1}^{\left( i \right)}\mathop \prod \limits_{j = 1}^M \frac{1}{{\sqrt {2{\rm{ \mathit{ π} }}} {\sigma _d}}}{{\rm{e}}^{\frac{{ - {{\left( {{d_j} - {d_i}} \right)}^2}}}{{2\sigma _d^2}}}}\frac{1}{{\sqrt {2{\rm{ \mathit{ π} }}} {\sigma _\beta }}}{{\rm{e}}^{\frac{{ - {{\left( {{\beta _j} - {\beta _i}} \right)}^2}}}{{2\sigma _\beta ^2}}}}{\rm{.}} $ | (12) |
式中:dj、βj(j=1, 2,…,M)为观测到相对第j个地标的距离和方位.
Step 4:状态估计输出.根据粒子集
| $ {\hat X_k} = E\left( {{X_k}} \right) = \mathop \sum \limits_{i = 1}^N w_k^{\left( i \right)}\tilde X_k^{\left( i \right)}. $ | (13) |
Step 5:重采样.根据粒子的权值
为了验证本文的定位方法,对实际机器人系统进行了定位实验,整个实验过程如图 3所示.
|
图 3 定位实验 Fig. 3 Localization experiment |
在该实验中,选择4个机器人作为路标,1个待定位机器人按图 4中的理想轨迹移动,在移动的过程中,通过4个路标机器人进行定位和路径规划,定位过程共进行300次位置更新,时间间隔为1 s,粒子集为500.定位过程中不同时刻的距离误差如图 5(a)所示.可以看出,距离误差整体上集中在0.5~1.5 cm,随着时间增加变化幅度不大,基本满足定位需求,其中最大距离误差约为2.2 cm.不同时刻的航向角误差如图 5(b)所示.可以看出,航向角误差变化趋势比较平稳,整体上集中在0.02~0.10 rad,基本满足定位需求,其中最大航向角误差约为0.169 rad.从图 4中定位机器人的真实轨迹可以看出,定位机器人通过4个路标机器人可以较好地完成自身的定位.
|
图 4 运动轨迹 Fig. 4 Moving trail |
|
图 5 定位误差 Fig. 5 Localization error |
本文以微小型移动机器人为基础,设计了一套基于红外传感器的粒子滤波定位方法.该方法通过红外传感器定位模型确定机器人之间的相对位置,然后再将部分位置置信估计比较大的机器人(指可根据周围环境进行自定位的机器人)作为路标,根据里程计运动模型获取位姿状态预测信息,并将以上这些信息作为粒子滤波算法的预测和更新依据,通过更新粒子集来逼近机器人在全局坐标系中的位置.该方法降低了里程计累计误差对机器人定位的影响,可在相对定位的基础上进一步提高机器人的定位精度,比较适合复杂的非结构环境,机器人之间可以实现协作定位.
| [1] |
MAO L, CHEN J, LI Z, et al. Relative localization method of multiple micro robots based on simple sensors[J]. International journal of advanced robotic systems, 2013, 10(128): 1-9. ( 0) |
| [2] |
AN L, ZHANG G, TANG W. Study of robot indoor Kalman filter positioning algorithm based on RSSI[J]. Computer engineering and applications, 2012, 48(8): 230-232. ( 0) |
| [3] |
PETER G, KISS B, KOVACS G. Kalman filter based cooperative landmark localization in indoor environment for mobile robots[C]//IEEE International Conference on Systems, Man, and Cybernetics. Budapest, 2016: 1888-1893. https://www.researchgate.net/publication/313588193_Kalman_filter_based_cooperative_landmark_localization_in_indoor_environment_for_mobile_robots
( 0) |
| [4] |
ADIPRAWITA W, AHMAD A S, SEMBIRING J, et al. New resampling algorithm for particle filter localization for mobile robot with 3 ultrasonic sonar sensor[C]//International Conference on Electrical Engineering and Informatics. Bandung, 2011: 1-6. https://www.researchgate.net/publication/221013614_New_resampling_algorithm_for_particle_filter_localization_for_mobile_robot_with_3_ultrasonic_sonar_sensor
( 0) |
| [5] |
LI T, BOLIC M, DJURIC P M. Resampling methods for particle filtering: classification, implementation, and strategies[J]. IEEE signal processing magazine, 2015, 32(3): 70-86. DOI:10.1109/MSP.2014.2330626 ( 0) |
| [6] |
FAISAL M, ALASULAIMAN M, HEDJAR R, et al. Enhancement of mobile robot localization using extended Kalman filter[J]. Advances in mechanical engineering, 2016, 8(11): 1-11. ( 0) |
| [7] |
文家富, 张毅, 陈红松. 基于改进IMM-UKF算法的一种融合航迹推演的红外路标室内定位方法[J]. 重庆邮电大学学报(自然科学版), 2017, 29(3): 403-408. ( 0) |
| [8] |
毛玲, 李振波, 张大伟, 等. 基于红外传感器的移动微机器人定位研究[J]. 传感器与微系统, 2014, 33(12): 38-41. ( 0) |
2019, Vol. 51



0)