基于粒子滤波的未知环境通信的多机器人SLAM算法研究

2021-05-18 03:19曾凌烽高易年
机械设计与制造工程 2021年4期
关键词:位姿编队滤波器

曾凌烽,高易年,王 欣

(1.深圳供电局有限公司,广东 深圳 518000)(2.华南理工大学计算机科学与技术学院,广东 广州 510640)

电力设备人工流动巡检排查隐患已逐渐被巡检的机器人所取代。机器人巡检可以识别更加细微且人工五感分辨困难的隐患及缺陷,因此如何让多台机器人在未知环境中移动时结合其各自位姿和地图模型协同控制成为了人工智能领域的研究热点[1]。多机器人协同工作可大幅提高整个系统的工作效率、准确性和稳定性,但多机器人协作场景需设计比较复杂的概率滤波器,通过融合机器人编队中每个成员获得的原始信息和感知信息来估计不同机器人的即时定位与地图构建(simultaneous localization and mapping, SLAM)[2]。如果机器人位姿的初始对应关系已知,那么很容易获得不同机器人的SLAM,但机器人位姿的初始对应关系往往是不清楚的,这导致机器人协同工作时信息的一致性很难保障。此外,由于无线信道对故障的敏感性且收集到的大量信息可以迅速使成员之间的通信达到饱和,因此需要采用分布式方法降低编队中所有成员的通信压力,且编队成员必须保持在中心节点的传感范围内。任务分配由一个中央单元完成,该单元将任务分配给个人或以分布的方式进行管理,但这两种情况都需要进行数据的共享。用于解决SLAM的技术需要具备可扩展性,并对动态环境具有鲁棒性,因为机器人编队在相同的场景中运动时,即使面对移动障碍的队友,每个机器人构建的地图也应当保持一致[3]。

为此,本文提出一种基于Rao-Blackwellized粒子滤波(Rao-Blackwellized particle filters,RBPF)的多机器人SLAM算法来解决移动机器人在未知工作环境的定位和地图构建问题。

1 粒子滤波器和SLAM

1.1 单机器人SLAM算法

将后验概率p分解为两个因子[4]:

p(x1:t,m|z1:t,u0:t-1,x0)=p(m|x1:tz1:t,u0:t-1,x0)p(x1:t|z1:t,u0:t-1,x0)

(1)

式中:t为时间;x1:t为机器人位姿序列;z1:t为观察序列;u0:t-1为由机器人执行动作序列;m为机器人工作区域地图;x0为初始位姿。

给定机器人的初始位姿x0,计算机器人位姿序列x1:t和地图m上的后验概率p(x1:t,m|z1:t,u0:t-1,x0)。

(2)

由图1可知,通过观察序列z1:t和执行动作序列u0:t-1,在机器人位姿序列x1:t的观察引导下获得机器人轨迹。由于滤波器的状态空间非常稀疏,无法确保采样的收敛性,为此本文将里程计与激光数据相结合,从而产生“稳定的”测距位姿。

图1 单机器人SLAM贝叶斯网络

1.2 多机器人SLAM算法

单机器人SLAM算法易扩展到多个机器人上,前提是机器人初始位姿已知。考虑一对机器人,将后验概率p分解为3个因子[6]:

(3)

图2 初始位姿的多机器人SLAM贝叶斯网络

2 多机器人遭遇过程分析

Rao-Blackwellized粒子滤波器的目的是从噪声测量中有效估计SLAM后验[8]。在处理多机器人协作场景时,应以适当的方式使用滤波器,以便融合遭遇过程中每个机器人携带的信息。

由图3可知,多机器人在遭遇后,在对外部数据估计期间,当机器人i沿着机器人j的轨迹继续行进时,机器人i处理另一个机器人的信息,设d1:tji,1为剩余信息。由于机器人i获取的环境、机器人j的里程以及位姿信息不是由自身物理传感器获得,故称为虚拟运动。遭遇后,机器人i的后验概率p(x1:tij,1,mi|d1:tij,1,d1:tij,1)融合了机器人j的数据且地图和轨迹都进行了相应的更新。

3 实验

本实验在有人穿越走廊和包含许多反射表面的办公室环境下进行,通过两个机器人来建造地图,验证本文所提算法的鲁棒性。实验所用机器人为Activ Media Pioneers P3-DX移动机器人,具体如图4所示。

图3 遭遇过程

图4 实验所用机器人

该机器人配备激光测距传感器SICK LMS200、云台摄像头和里程计。此外,机器人编队的每个成员都附有一个用于区分机器人的视觉标识。机器人1和机器人2执行RBPF-SLAM(Rao-Blackwellized粒子滤波方法的即时定位和建图),同时结合机器人2接收的数据信息,获得由机器人1估计的地图和相应的轨迹,具体如图5所示。

图5 实验建构的地图

将机器人1和机器人2分别放置在非重叠的位置S1和S2,执行RBPF-SLAM,直到两个机器人第一次遭遇。一旦机器人相遇,就会使用基于客户端/服务器架构无线通信来测量相对位姿并交换数据。机器人1在其后验中融合与路径S2-I2相关的外部信息,继续自身路线,在路线(A)中行进并应用SLAM进行估计。机器人2访问实验室(B)直到到达位置F2。机器人1访问房间(C)直到到达位置F1,由于位置F1和位置F2可以等同起来,即机器人1第二次遇到机器人2。从机器人2接收的数据允许机器人1完成其地图,减少探索所需的时间并增强地图闭环。同样的过程应用于机器人2,产生类似的地图。

该方法采用机器人之间环境的非重叠表示。尽管每个队友建立的地图并不完全相同,但由于粒子滤波器的随机性,它们只有少数单元不同,保留了场景的结构。因此,该方法可以构建可用于编队协调的共享地图。

图6展示了在每一步处理的传感器数据长度。尽管步数与物理时间不对应,但它与处理数据的数量相关联,数据长度的下降趋势确保了程序的可持续性。在该实验中,外部信息在几秒钟内得到处理,验证了RBPF-SLAM高效性。

图6 每一时刻需要处理的传感器数据长度

4 结束语

本文对位置环境通信的多机器人SLAM算法进行了研究,提出了RBPF-SLAM算法,并应用于有人穿越走廊且具有许多反射表面的环境下的地图建造实验中。结果表明,所提出的方法相对于传统的SLAM算法能够有效地确保在初始位置关系不明确时多机器人协同工作时信息的一致性,同时算法的运行效率也比较高。本文的研究对多机器人协同工作的开展具有一定的工程实践价值。

猜你喜欢
位姿编队滤波器
从滤波器理解卷积
开关电源EMI滤波器的应用方法探讨
基于事件驱动的多飞行器编队协同控制
基于RQPSO-DMPC的多无人机编队自主重构控制方法
基于共面直线迭代加权最小二乘的相机位姿估计
基于CAD模型的单目六自由度位姿测量
基于Canny振荡抑制准则的改进匹配滤波器
小型四旋翼飞行器位姿建模及其仿真
基于TMS320C6678的SAR方位向预滤波器的并行实现
基于预测控制的无人机编队内部避碰