基于ROS的机器人室内巡检技术仿真

2018-08-10 07:29高民东张雅妮朱凌云
关键词:建图楼道结点

高民东,张雅妮,朱凌云

(重庆理工大学 计算机科学与工程学院, 重庆 400054)

作为机器人的典型应用,巡检机器人得到了广泛关注。任志斌等[1]尝试在输电线路中应用巡检机器人进行越障控制。周立辉等[2]根据磁轨迹实现移动机器人的巡检应用,并在该机器人上携带摄像机、红外热像仪等传感器用于监控。基于磁轨迹和输电线路的机器人巡检方案虽然稳定性高,但是所设计的巡检机器人缺乏灵活、机动性,所使用的传感器也极少用于机器人的定位与建图以及路径规划中。唐恒博等[3]通过设计一种里程计与定位针路标融合的方法来提高巡检机器人的定位精度。Zhu等[4]针对目前巡检机器人使用的磁导航和RFID停车系统的不足,设计了激光导航系统,并完成了定位与建图的实验,使得机器人的自主性大大增强。但巡检机器人应用于室内的研究鲜有提到。因为室内机器人不可采用GPS进行定位导航,故室内机器人大多以磁导航为主进行室内巡检,该方案缺乏灵活性,机器人无法自主规划路径,且只能感知部分室内环境。

通过融合同时定位与建图技术可以使机器人完整、有效地感知周围环境。定位与建图技术(SLAM)的基本思想是通过机器人传感器获取的点云数据或是深度数据,在其移动过程中建立出该环境地图模型[5]。如今已经提出了很多算法,如卡尔曼滤波、扩展卡尔曼滤波、无迹卡尔曼滤波、粒子滤波、FastSlam、Gmapping等[6],最近也出现了使用随机有限集来进行SLAM的思路[7]。

路径规划也是机器人研究的一个重要领域。路径规划的主要任务是使轮式机器人能够安全避开各种环境中的移动、静止障碍物,并以最短且最优的路径到达所指定的终点,该技术可以有效提高巡检机器人的灵活性[8-10]。Akshay Kumar Guruji等[11]根据A*的特点改进并发明了时效A*算法,提高了算法效率。随着深度学习领域研究日趋丰富,学者也尝试将卷积神经网络用于路径规划研究当中[12]。

通过对机器人仿真技术的研究可大大降低研发成本,常用的仿真软件有MRDS、Player和CARMEN等[13],还有与各种软件仿真平台兼容的机器人仿真环境USARsim。本文提出基于ROS设计室内机器人时使用同时定位与建图、路径规划技术进行巡检应用的方案,通过设计机器人模型,对巡检过程中机器人建图以及路径规划进行了仿真平台上的实验验证,并讨论其在机器人巡检应用中的可行性。

1 ROS简介

机器人操作系统(ROS)是一款基于Linux系统的机器人软件控制平台,其最初由斯坦福大学(Stanford Artificail Intelligence Laboratory)研发[14]。ROS不同于传统的操作系统,属于建立在传统操作系统上的次级操作系统,并为其提供一个结构化的通讯层。作为一个机器人操作平台,ROS通信主要具有以下特征:

1) 节点

节点即ROS执行各种功能的程序进程,进程以节点的形式运行,节点间的通讯通过消息的发布和订阅实现。

2) 消息

消息即各节点之间通讯的内容,目前ROS提供了400多种消息类型,包括传感器数据类型、点云数据类型、地图信息等。

3) 话题

话题是指特定消息的名称,用于描述消息表达内容。节点可以发布针对某个话题的数据消息,也可以关注订阅某个话题的数据。

4) 服务

服务与话题的区别在于,话题可以由多个节点订阅,但服务是一对一形式,即节点与节点之间建立服务后,其通讯模式一般是一个用于请求,一个用于回应。

ROS具有诸多优点:ROS采用分布式处理来提供操作系统各层级的服务,如硬件抽象、设备控制和消息管理等标准服务;分布式节点设计有利于构建巡检机器人同时定位与建图以及路径规划的功能节点,并提供了统一的数据通信机制;ROS深度集成了OROCOS、Gazebo、Webots等软件,兼容多种编程语言,如C/C++、Python、Java、LISP等,实现跨平台跨语言的交互共享,使得基于ROS的机器人学的各项研究成果更易移植,从而加强了机器人在操作系统上的统一性。如今ROS也发展到了2.0版本,该版本采用DDS实现通讯机制的强实时性[15]。

2 室内巡检场景构建

为了能使室内机器人能进行路径规划以及楼道环境、室内环境巡检,首先根据URDF语言建立差分移动轮式机器人模型。该模型具有两个差分行动轮以及一个万向轮,并搭载一个Hokuyo激光扫描仪,通过激光扫描仪的二维点云数据并结合gmapping算法可以建立路径规划所需要的地图。

然后对实验地图进行建模。本实验主要通过gazebo软件建立实验地图,分别为某大学实验室室内地图环境和某大学某楼层地图环境。实验室地图长7 m,宽5 m,主要包含电脑桌、书桌等障碍物,如图1(a)所示。楼层地图中楼道宽3 m,次级楼道宽2 m,每个房间长7 m,宽5 m,如图1(b)所示。

最后,编译构建ROS系统下的机器人模型结点、地图环境解析结点,以及建图所需的gmapping算法结点、路径规划核心结点move_base和各结点之间的通讯结点。最终,基于ROS构建的巡检机器人建图与路径规划系统结点图如图2所示,其中圆形框代表构建的结点类型,方形框为结点订阅和发布的话题类型。

图1 实验环境地图

图2 建图与路径规划结点图

将以上方案设计应用于机器人室内巡检中,并对建图、路径规划实验过程进行研究与分析。

3 巡检算法分析与选择

本节主要对应用于机器人室内巡检中相关算法进行选择与分析。首先,采用gmapping实时建图算法实现机器人巡检过程中的地图功能建立,然后以算法效率和路径长度为指标对RRT、GA和Astar三种路径规划算法进行对比分析并进行选择。

3.1 实时建图算法分析与选择

室内机器人在其巡检过程中,首先要对未知环境进行地图构建,从而根据建立的地图以及给定的目标点,规划出一条有效的巡检路径。本文采用gmapping算法来解决室内地图建立的问题,其主要思想是通过机器人观测信息z1:t=z1,z2,z3,…,zt和里程计数据u1:t=u1,u2,u3,…,ut,同时需要找到机器人的位姿x1:t=x1,x2,x3,…,xt,并估计周围地图环境mt的后验概率。其中,机器人的位姿与地图的联合概率分布为p(x1:t,mt|z1:t,u1:t-1),通过对贝叶斯状态滤波器空间进行分解可得:

p(x1:t,mt|z1:t,u1:t-1)=p(mt|x1:t,z1:t)p(x1:t|z1:t,u1:t-1)

(1)

式(1)中:p(mt|x1:t,z1:t)为地图mt的后验概率,通过机器人的位姿x1:t=x1,x2,x3,…,xt和传感器的观测信息z1:t=z1,z2,z3,…,zt可以求解得出;p(x1:t|z1:t,u1:t-1)为该机器人位姿信息x1:t=x1,x2,x3,…,xt的后验概率,通过已知传感器观测信息z1:t=z1,z2,z3,…,zt和已发布里程计信息u1:t=u1,u2,u3,…,ut求解。故Rao-Blackwellized Particle Filter(RBPF)可分为两个关键步骤:① 通过里程计信息和传感器观测信息求出机器人轨迹;② 通过已知的机器人轨迹和传感器信息求出周围地图数据[16]。

通过粒子滤波器估算所有潜在路径的后验概率p(x1:t|z1:t,u1:t-1),其中每个粒子代表机器人的一条潜在轨迹,随着粒子不断的迭代,低权重的粒子会被舍弃掉,而高权重的粒子会保留下来。在重采样过程中,通过设定自适应阈值Neff来表现粒子集与机器人轨迹的契合程度。

式(2)中φ(i)为粒子的归一化权重,当Neff小于粒子总数的一半时就会进行重采样的步骤,以保证所有粒子都具有相同的权重。最后,通过机器人位姿以及传感器观测信息来计算相应的p(mt|x1:t,z1:t),从而实现地图更新。

3.2 路径规划算法分析与选择

路径规划在机器人巡检过程中同样重要。机器人巡检要求在较短的时间内规划出最优路径,也要尽量多地对路径周围环境进行巡逻。本文针对以上要求对基于启发式函数的A-star算法、基于树结构的RRT算法以及智能仿生遗传算法GA进行对比研究。首先,建立室内地图环境,指定机器人起始点为(25,25),其巡检终点为(300,400),以上算法规划路径长度以及算法运行时间如表1所示,算法实验结果如图3所示。

图3 路径规划实验结果

图3中可以看出:3种算法规划的路径均达到避开障碍物并移动到目标点的要求。其中:图3(a)显示的RRT算法规划路径转折点较多,其路径长度较长;图3(b)显示的GA算法规划路径虽然为平滑路径,但其路径长度过长,并没有达到最优路径的要求;图3(c)显示的A-star算法规划路径转折点较少,且路径长度最短。

表1 算法效率与规划路径长度

从表1中可以看出:在3个路径算法的规划路径长度中,A-star算法的路径长度最短,GA算法规划路径最长,而RRT算法路径规划时间最短,A-star算法次之。

虽然RRT算法时间较A-star算法短,但考虑到机器人在巡检过程中,要求路径转折点较少以及以较短的路径到达目标点,且A-star算法规划路径所花时间在机器人可控范围内,故综合考虑以A-star算法为室内机器人巡检的路径规划算法。

4 仿真实验结果

4.1 建图仿真实验结果

本实验基于gazebo搭建的地图环境进行建图实验,机器人初始起点为(25,25),通过自编写的ROS键盘控制程序来对机器人进行行动控制。图4(a)显示了室内建图的过程,其中:上3图为gazebo仿真环境建图过程,室内环境包括电脑桌、书桌、咖啡桌等障碍物模型;下3图为Rviz中机器人建图过程,主要显示为代价地图模式,红色箭头为机器人行驶的里程计数据,机器人在行动的过程中,白色为可通行区域,黑色为障碍物的膨胀半径,障碍物的膨胀处理有利于机器人在行驶过程中避免碰撞。

图4 室内建图实验仿真

图4(b)显示了机器人在楼道进行建图实验的过程,机器人初始起点为(10,10),因主要实验目的为建立楼道环境地图,故楼道环境较室内地图环境简单。同图4(a),上3图为机器人在gazebo中的建图过程,下3图为机器人在gazebo中的地图建立过程,主要显示为代价地图。同理,红色箭头为机器人行驶的里程计数据,白色为可通行区域,灰色区域为围墙膨胀半径,红色线部分为激光扫描仪所扫描的障碍物形状。通过建图算法最终转化为楼道地图模型。

通过ROS键盘控制程序对楼道环境、室内环境进行扫描建图,最终得到如图5所示的建图结果。

图5 建图仿真实验结果

由实验结果可以看出,基于ROS下的gmapping算法建图效果较为完整和清晰。因为在对机器人建模过程中拟定的机器人三维几何高度较低,故在图4(a)所示的室内环境中激光扫描仪只记录了办公桌、咖啡桌等障碍物的桌腿部分,但其建图结果仍是有效的。在图5(b)所示楼道环境结果中,原楼道环境中每间实验室物理尺寸一样,在建图结果中通过数据拼接、特征匹配和回环检测,完整地建立了楼道地图以及该楼层每个实验室的地图环境。

综上所述,基于ROS的室内机器人在其人为控制下,通过收集二维点云数据,完整、有效地建立了巡检所需要的楼道、室内地图环境。

4.2 路径规划仿真实验结果

针对所建立的实验地图环境,将自建机器人放入室内环境进行路径规划仿真实验,楼道环境路径规划原理与室内环境相同,故不重复进行实验。路径规划技术的运用也使得巡检机器人更加自主和智能并达到巡检的目的。

图6显示了机器人在室内环境中进行路径规划实验并完成巡检的过程,整个地图显示为代价地图形式,黑色为障碍物区域,白色代表机器人可通行区域。机器人起始位置为(25,25),其巡检终点为(300,400),图中终点处红色箭头代表其终点位置以及机器人到达终点后的终点状态,跟随机器人的红色箭头为机器人里程计数据,绿色线为已规划的路径,机器人将沿着绿色规划路径行驶,并到达最终点。

图6 路径规划实验仿真

图7显示了机器人在路径规划过程中的线速度和角速度。其中:红色为线速度;蓝色为角速度。通过分析线速度和角速度可以轻易得出机器人在行驶过程中有无碰撞,以及行驶状态是否正常。

机器人从起始点开始规划终点路径时,首先角速度会非线性增加,调整位姿,其线速度也会匀速增加并开始沿着规划路径行驶。在行驶过程中,其角速度、线速度基本趋于稳定,但机器人需要不断调整位姿使得自身不会偏离已规划的路径,故从图7中可以看出角速度在确定方向后,会在一个稳定的范围内不断变化,其线速度也会在调整角度的过程中短暂减少。当机器人到达终点后,机器人线速度会急剧减小至0,角速度也会随着规定方向迅速调整,至此路径规划实验完成。

图7 线速度及角速度实验结果

图6显示机器人成功根据自建地图进行路径规划,成功达到目标点;图7显示机器人线速度、角速度无异常突变情况,故在路径规划过程中没有碰撞情况发生。综上所述,上述实验完整、有效地实现了整个巡检过程。

5 结论

本文针对路径规划、机器人巡检、同时定位与建图几大热点问题,提出将基于ROS结合同时定位与建图和路径规划应用于室内机器人巡检的新思路,并进行机器人室内巡检实验仿真,结果表明:

1) 基于ROS的机器人巡检系统具有分布式处理的优势,其开源、基于Linux等特点也为后期SLAM、PathPlanning算法的开发以及系统移植提供了便利。

2) 基于ROS的机器人巡检系统所建立的室内环境、楼道环境地图清晰,误差在可控范围以内,基于gmapping算法建图结果有效、合理。

3) 基于ROS的机器人巡检系统成功在其建立的地图上完成了路径规划实验,规划出一条转折点较少、路径较短的无碰撞路径,可靠性较高,并可应用于室内机器人巡检。

下一步工作会基于ROS对机器人SLAM算法、PathPlanning算法进行研究与改进,并将所建立的机器人及其控制系统的部分结点移植到实物机器人中,验证其改进算法的有效性。

猜你喜欢
建图楼道结点
LEACH 算法应用于矿井无线通信的路由算法研究
视觉同步定位与建图中特征点匹配算法优化
基于八数码问题的搜索算法的研究
遵守秩序不拥挤
楼道里奇异的声音
基于FPGA的LED楼道感应灯控制系统设计
基于三轮全向机器人的室内建图与导航
一种基于多传感融合的室内建图和定位算法
楼道里的奇异声音
机器人室内语义建图中的场所感知方法综述