打开文本图片集
摘 要:针对移动机器人在未知环境下进行自主探索,并构建地图的需要,设计并实现了基于迷宫探索规则的未知环境探索算法。分析了主要的路口类型,给出了基于摸墙算法的迷宫探索流程,讨论了基于激光雷达的路口判别依据,提出了基于迷宫探索规则的机器人未知环境探索算法流程,并采用TurtleBot 3 Burger机器人,在ROS框架下进行了实验。结果表明,所给出的算法能够有效地实现机器人在未知环境下的自主探索,并实现了地圖构建。
关键词:移动机器人;未知环境;ROS;摸墙算法
中图分类号:TP301. 6 文献标识码:A 文章编号:1671-2064(2019)19-0034-02
0 引言
机器人对未知环境自主感知、导航的能力,是其自主执行各项任务的基础[1,2]。随着机器人应用领域的不断扩展,人们对机器人自动化程度的需求日益增高,随之而来的是对机器人自主环境感知与导航能力要求的提高。
当前,对未知环境的探索,在机器人学研究领域,主要的方法为同步定位与地图构建(Simultaneous Localization and Mapping,SLAM)[3],该方法基于机器人搭载的各类传感器,通过构建状态方程与量测方程,实现对机器人当前时刻相对位姿的估计以及对周围环境特征的位姿估计,进而实现对环境的感知以及对机器人的定位,被认为是实现无人系统真正的自主的关键。
1 基于摸墙算法的迷宫探索方法
1.1 迷宫道路及路口类型
对于结构化环境而言,通常环境中的道路及路口类型,主要包括以下几种:(1)直线道路;(2)T形路口;(3)L形路口;(4)十字形路口;(5)死胡同;(6)回转形等。
对于不同的道路及路口类型,基于不同的探索规则,具有不同的转向选择。基于摸墙算法的迷宫探索方法,根据左手摸墙或者右手摸墙的不同选择,在遇到符合规则的可转向路口时,选择向左转向或者向右转向。
1.2 基于左(右)手摸墙规则的迷宫探索方法
1.2.1 基于左手摸墙规则的迷宫探索方法
基于左手摸墙规则的迷宫探索方法,是指当到达某一类型的路口时,若可向左侧转向通行,则优先向左转向,当且仅当只能向右转向才能通行时,才向右转向,算法流程如图1所示。
1.2.2 基于右手摸墙规则的迷宫探索方法
基于右手摸墙规则的迷宫探索方法,是指当到达某一类型的路口时,若可向右侧转向通行,则优先向右转向,当且仅当只能向左转向才能通行时,才向左转向,算法流程如图2所示。
2 基于迷宫探索规则的机器人未知环境探索算法
2.1 基于激光雷达的路口类型识别
激光雷达能够获取机器人周边360°范围内的障碍物距离数据,能够有效辨识当前机器人所处的路口类型。设初始时刻机器人位于道路中央,迷宫道路宽度为D,机器人运动方向为激光雷达扫描起点,逆时针对激光雷达数据进行计数,则根据激光雷达前方、左方、右方以及后方一定角度范围内的雷达数值均值与相应阈值大小关系,可判定当前机器人所处的路口类型。
对于直线形道路,左侧、右侧距离均小于某一阈值,前方、后方距离均大于某一阈值,同理可以进行其他类型路口的识别。
2.2 ROS下的SLAM与路径规划算法
机器人操作系统(Robot Operate System)是近年来诸多优秀的机器人软件框架中最为突出、应用最为广泛的一个。作为一个可以灵活编写机器人应用程序的框架,ROS集成了大量的工具、库、协议,为用户、计算机操作系统以及外部设备提供了完备的通信功能,这些外部设备包括传感器、摄像机,同时也包括机器人。
在诸多的工具和库中,目前应用最为广泛的是ROS的导航功能包。导航功能包中提供了对当前主流SLAM方法以及路径规划算法的支持,主要有gmapping、hector-slam、cartographer、rgbdslam以及ORB_SLAM、amcl功能包等,为同步定位与构图以及基于地图的路径规划提供了支持。我们可以方便地在ROS下编写自己的launch文件,接入自己的机器人平台及相应的环境感知设备,调用ROS中的slam算法功能包,并结合已知地图进行路径规划。
2.3 基于迷宫探索规则的机器人未知环境探索算法
结合迷宫探索规则、SLAM算法以及路径规划算法,我们可以实现对于未知环境的规则化探索,探索的同时实现对环境的地图构建,并能够为后续其他机器人的自主导航提供依据,基于迷宫探索规则与SLAM算法进行探索与地图构建的具体算法流程如图3所示。
在基于图3所示的未知环境探索与地图构建算法的基础上,可以实现对未知环境的探索,同时实现对环境地图的构建,基于构建的地图,借助ROS所提供的路径规划算法,即可以实现为后续其他机器人平台的路径规划,从而为自主导航提供支持。
3 实验与分析
3.1 实验环境与设备
基于Ubuntu 16.04操作系统、ROS Kinetic发行版作为软件系统进行实验,实验用机器人平台为TurtleBot 3 Burger,其性能参数及传感器配置如表1所示。
3.2 实验结果与分析
以最为复杂的回转路口为例,识别及转向结果如图4所示。
选择性能较为优异的cartographer作为SLAM处理算法,在地图上选择起点与终点,则地图构建与路径规划结果如图5所示。
从图4、5所示的实验结果可以看出,基于本文所提出的方法,机器人能够从未知环境中由起点运动至指定的终点,并且构建由起点至终点的地图,基于该地图,结合ROS框架下的路径规划功能包,可实现机器人的自主导航。
4 结语
针对移动机器人在未知环境下进行自主探索,并构建地图的需要,设计并实现了基于迷宫探索规则的未知环境探索算法。给出了基于摸墙算法的迷宫探索流程,讨论了基于激光雷达的路口判别依据,结合ROS下的SLAM功能包与路径规划功能包,提出了基于迷宫探索规则的机器人未知环境探索算法流程,并采用TurtleBot 3 Burger机器人,在ROS框架下进行了实验。结果表明,所给出的算法能够有效地实现机器人在未知环境下的自主探索与地图构建,能够为机器人自主导航提供支持。
参考文献
[1] 梁明杰,闵华清,罗荣华.基于图优化的同时定位与地图创建综述[J].机器人,2013,35(4):500-512.
[2] 梁明杰.机器人认知地图创建关键技术研究[D].华南理工大学,2014.
[3] 胡春旭,编著.ROS机器人开发实践[M].北京:机械工业出版社,2018.
相关热词搜索: 探索 迷宫 机器人 算法 未知