1、第 51 卷收稿日期:2023年2月9日,修回日期:2023年3月10日作者简介:薛志凌,男,硕士研究生,研究方向:SLAM,机器人自主导航技术,路径规划。1引言自主机器人是一种智能系统,它利用所安装的多种传感器以感知周围环境1。同时处理这些信息,并进行决策,做出相应的动作。机器人系统通常需要使用诸多传感器,而各种传感器有着不同的通信方式和数据格式,同时处理各种不同的传感器数据是一件非常烦琐的任务,机器人项目的落地常常因为此原因而困难重重。ROS操作系统为解决这个机器人项目开发的痛点而研发。ROS(RobotOperation System)为机器人开发提供一个种非常便利的消息通信机制,极大地
2、提高了开发中的软件利用率和复用率2。ROS是一套开源的系统3,部署和使用非常的便利。可以看到ROS系统将成为未来机器人开发的主流。利用移动机器人对环境进行探索和对特定目标的搜寻是当前机器人领域的研究热点。人类感知周围环境的绝大多数信息来源于视觉4,同时视觉信息的获取比较容易。这也就表明了视觉相比于其他传感器,可以获得相对准确丰富的信息,所以视觉传感已经成为大多数机器人机器的标配。本文基于 ROS系统,设计一套智能移动机器人系统,利用激光雷达信息完成对未知环境的探索和导航,再利用视觉信息对特定目标进行搜寻。通过WIFI在 PC电脑端实时监控机器人的运行状态和查看机器人采回的数据,同时还可以向机器
3、人发送基于 ROS 的目标搜寻系统设计薛志凌孟令军王佳军李晓宇(中北大学仪器与电子学院太原030000)摘要针对当前的勘察机器人实现任务单一,需要高性能的机载计算机,且设计成本高。设计在ROS操作系统的基础上,提出了一套自主式移动机器人的设计方案。实现机器人的自主导航、规避障碍和目标搜寻的功能。应用特征点法进行目标识别,以节省机载计算机的算力。通过WIFI与PC电脑端通信,系统先在GAZEBO平台上完成仿真,接着完成实物的搭建,进行实验。实验结果表明:自主式移动机器人能够良好地完成导航、避障和目标搜寻的任务,同时系统拥有的鲁棒性强。关键词ROS;机器人;自主导航;路径规划中图分类号TP242D
4、OI:10.3969/j.issn.1672-9722.2023.08.006Design of Target Search System Based on ROSXUE ZhilingMENG LingjunWANG JiajunLI Xiaoyu(School of Instrument and Electronics,North University of China,Taiyuan030000)AbstractIn view of the single task of current survey robots,high-performance airborne computers a
5、re needed,and the design cost is high,this paper proposes a set of autonomous mobile robot design schemes based on the ROS operating system.It realizes the robots autonomous navigation,obstacle avoidance and target search functions.The feature point method is used for target recognition to save the
6、computing power of the onboard computer.Communicating with PC through WIFI,the system first completes thesimulation on the GAZEBO platform,then completes the construction of the physical object and conducts the experiment.The experimental results show that the autonomous mobile robot can well comple
7、te the tasks of navigation,obstacle avoidance and targetsearch,and the system has strong robustness.Key WordsROS,robot,autonomous navigation,path planningClass NumberTP242总第 406 期2023 年第 8 期计算机与数字工程Computer&Digital EngineeringVol.51 No.817142023 年第 8 期计算机与数字工程指令来控制机器人。2系统设计2.1系统总体设计整个系统的框架如图1所示。自主导航
8、算法和视觉伺服算法在树莓派上完成。STM32将采集到的IMU(惯性测量单元)数据和轮速计数据,通过串口传递给树莓派,为SLAM(同步定位与建图)系统提供里程计信息。显示屏显示机器人的电池电压数据和IMU传感器数据。蓝牙单元可以使机器人被移动设备所控制。机器人通过WIFI(无线宽带)和PC端通信。PC端可以监控机器人的运行情况,显示机器人采集的视觉信息,机器人所建地图和机器人的位置信息。同时PC端可以向机器人发布控制指令,将机器人的控制模式从自动控制切换到手动控制。带编码器的电机激光雷达PC端树莓派RGBD相机串口I2C蓝牙IMUSTM32控制器显示屏电机驱动速度反馈WIFIUSBUSB图1系统
9、框架整个系统主要由:目标识别,建图和导航,路径规划和机器人运动控制五个部分组成。2.2目标识别目标识别的关键在于对识别目标特征的提取。目前主流的提取图像特征的方法有,卷积神经网络和特征点提取56。前者是应用了深度学习的方法,其需要输入目标样本训练识别模型然后建立分类器。这种方法虽然在识别率上取得了显著的成功,但其在针对特定场景时,部署就需要消耗大量的时间和算力。而后者虽然识别准确率不如前者,但其占用更少的计算资源,可以在通用场景中使用。此次设计要求只输入目标的图像信息就可以完成对目标的搜寻。针对此要求,设计采用基于特征点提取点的方式来完成目标的识别。SIFT(尺度不变特征变换)是一种不需要使用
10、深度学习来提取图像特征的成熟算法78。其提取图像特征的大致过程有以下几步。首先构造图像的尺度空间,这一步的目的是为了获取图像相对于摄像头在不同距离下图像的特征。一般的做法是该图像乘以高斯函数,如式(1)。L()xy=G()xy*L()xy(1)其中,G为高斯函数,I为图像的灰度值:G()xy=122ex2+y222(2)本质上,它是给图像的每一个像素乘以不同的比例因子,这些比例因子是高斯分布的。是高斯函数的方差,其决定了图像的平滑程度,值越大,对应的图像就越模糊,也就代表着图像离我们越远。相机采集的图像在远处不光变得模糊,同时会随着距离的增加,图形的像素会逐渐变少,即图像逐渐变小。为此我们构建
11、图像金字塔,给经过高斯函数处理的图像乘以不同的缩放因子,值越大,图像的缩放比例越大。然后对不同尺度的图层做差,得到差分高斯金字塔(Difference of Gaussian,DOG)图层。DOG算子定义为D()xy=L()xyk L()xy(3)这样做的目的是将差值最大的点作为图像的备选特征点。其次进行关键点的提取。完成以上操作后,找到备选特征点中的极值点,作为图像的特征点。这些点不具备方向信息,为此要确定每个特征点的方向。对于每一个点,只要确定每个点L(xy)的梯度的模m(xy)以及其方向(xy)就可以得到每个点的位置,尺度和方向信息。L1=L()x+1y L()x1L2=L()xy+1
12、L()xy1m()xy=L12+L22(4)(xy)=L()xy+1 L(xy1)L()x+1y L(x1y)(5)最后,生成其特征描述子,带有每个像素点方向信息的特征向量。这样我们完成了图像特征的提取。通过RANSACS算法对目标图像和检测图像匹配9,即可找到目标图像。检测流程如图2。特征向量集合检测图像提取特征点生成描述算子特征向量集合特征匹配输出结果目标图像提取特征点生成描述算子图2目标检测流程2.3建图与导航原理在陌生环境中探索,需要机器人在记录周围环境的同时知道自己的相对位置。SLAM10技术可以根据传感器采集回的数据,生成自身周围的环境,1715第 51 卷即建图。同时根据里程计信
13、息确定自己的位置,在地图和位置信息的基础上完成导航。一般的SLAM运行过程如图3。传感器数据的输入一般是激光雷达和摄像头。地图输出传感器测量一致性检查定位地图构建输出位置信息图3SLAM运行流程在ROS中,机器人的导航流程如图4。控制指令目标点AMCL导航框架机器人图4ROS导航流程其中AMCL是自适应蒙特卡洛定位11的简称,它是在粒子滤波的基础上改进而来。通过AMCL可以有效减小传感器测量中的干扰,得出比较准确的机器人位置信息。在ROS中,AMCL的运行流程如图5。位姿优化环境信息AMCL单元偏航校准运动模型传感器数据重采样里程计信息初始位姿传感器模型AMCL航位推算粒子分布图5ROS中AM
14、CL运行流程导航框架是整个控制任务的核心,主要是由全局路径规划和本地实时规划这两个部分组成。全局路径规划为找出全局最优路径,这里采用DIJKSTRA12全局规划算法。本地实时规划是为了应对地图的实时变化,既完成动态场景的实时路径规划,这也意味着机器人可以完成实时的避障。本地实时规划采用动态窗口法(DWA)13。系统的导航框架如图6。代价地图主要描述环境中的障碍物信息。机器人避障过程如图 7 所示,图中黑色部分为障碍物。当机器人检测到障碍物时,如以障碍物区域的几何中心画圆,让半径最小的圆包裹中障碍物,图7中的实线圆,这个圆的半径称为膨胀内径。增加膨胀内径,以膨胀内径圆为圆心,画出膨胀外径圆,膨胀
15、内径与膨胀外径圆之间的区域为膨胀区。机器人绝对不能触碰膨胀内径圆,同时避免进入膨胀区。机器人会沿着膨胀外径圆的外切线规划路径。当机器人运行发生错误时,机器人会自动重置当前状态,让之正常运行。在局部规划中可以完成机器人的实时动态避障行为。导航节点给出的基本的控制信息经过转换发送给机器人控制板,完成对机器人的控制。控制指令目标点导航单元全局规划全局代价地图位置信息地图传感器坐标重置点云数据局部规划里程计数据局部代价地图图6导航框架规划的路径障碍物机器人膨胀区图7避障示意图2.4视觉伺服系统在机器人没有检测到目标物体的时候,机器人在自主导航模式下运行。当机器人检测到目标物体时,机器人的切换到视觉伺服
16、系统控制,即通过视觉反馈完成对机器人的运动控制。在任务中,机器人需要停在被识别目标前,同时机器人头部应正对被识别目标。机器人与识别目标的距离通过图像的深度信息判断。在伺服系统中,用 PID 控制器,控制小车接近目标物体的线速度,将机器人与识别目标的距离作为PID控制器的输出,机器人的线速度作为输出。同时控制机器人,使被识别物体的图像中心处于相机呈像的几何中心附近。3系统的ROS框架设计基于ROS系统,可以很容易地搭建起整个系统的框架。把每一个功能块封装到一个ROS节点,通过ROS的消息收发机制,实现整个系统的运行,本次设计的 ROS 框架如图 8。建图导航节点采用ROS 的 GMAPPING
17、功能包来实现基本的 SIAM 算法,其需要输入二维点云数据和机器人的里程计数据。使用ROS的MOVE_BASE导航框架作为路径规划节点。视觉伺服节点有二个作用,一是为机器薛志凌等:基于ROS的目标搜寻系统设计17162023 年第 8 期计算机与数字工程人提供视觉伺服控制。二是当机器人没有识别到目标物时,机器人将会由路径规划节点指引,移动到指定目标点。视觉伺服节点和路径规划节点都可以向机器人发布速度指令。目标点设置节点负责设置机器人移动目标点和记录机器人的初始位置。机器人在未知环境下,采用生成随机目标点的方式探索地图并搜寻目标物。机器人在已知地图的条件下,采用固定点搜寻,以此来提高地图的搜索效
18、率。同时记录了机器人的初始位置,在机器人完成任务后,使机器人可以回到出发点。激光雷达路径规划建图导航RGBD相机机器人目标点设置视觉伺服目标检测图 8系统的ROS框架4仿真实验ROS支持GAZEBO仿真器和RVIZ可视化显示工具。GAZEBO是一种3D仿真器14,其内置游戏引擎,可以准确地仿真机器人在复杂环境中的运动,同时其支持多种传感器的仿真,如相机,激光雷达等。所以仿真实验选择在GAZEBO中完成。由于ROS中发布的机器人速度指令格式为线速度加角速度,所以仿真中的机器人采用圆形差速机器人,同时搭载RGBD相机和激光雷达。4.1建图仿真图9为GAZEBO机器人的仿真场景,仿真场景为室内封闭的
19、房间。建图效果如图10。可以看出其具有比较良好的建图效果。图 9GAZEBO仿真场景图 10SLAM建图效果图4.2导航和避障仿真导航仿真效果如图11、图12。导航中,机器人的位置信息用四元数表示。在图12中,箭头的节点为机器人的到达点,箭头的指向设定机器人的姿态。图11RVIZ导航显示效果图12GAZEBO仿真环境运行效果避障效果如图13、图14,避障原理参见上文。图13RVIZ显示效果图14GAZEBO仿真环境运行效果4.3目标搜寻任务仿真在GAZEBO仿真打开相机模型,在RVIZ端可以查看相机发布的图像信息。输出目标物体图15,在GAZEBO仿真环境放置此物体。程序将设置随机点,使机器人
20、在场景中进行探索,如图16。如果随机设置的目标点在封闭场景外,机器人可以完成整个环境的探索,则一定可以找到目标物体。如何设置的目标点在封闭环境内,且到达目标点后没发现目标物体,则机器人将前往下一个随机1717第 51 卷目标点,此过程持续到找到目标物体。在找到目标物体后,如图17。程序退出导航程序,视觉伺服节点启动,机器人接近目标物体,将头部朝向目标物体。到达物体前0.5m,完成目标搜寻任务,此时机器人返回起始点,如图18。图15目标物体图16机器人探索过程图17识别到目标物体图18机器人返回起始点5实物测试本次系统设计的实物平台如图 19,机器人的动力部分由直流减速电机和麦克纳姆轮1516(
21、简称麦轮)组成。电机带有光电霍尔编码器,便于发布里程计信息。机器人的剩余主要硬件如表1所示。使用麦轮的机器人可进行全方位的移动,但它的控制比一般的差速机器人和带转向舵的机器人控制复杂。试验中,麦轮的机器人的结构如图20,图中W为轮距,H为轴距。对机器人进行运动学分析的时候,不考虑轮子打滑的情况。图19机器人实物W电机A电机DYXZH电机B电机C图20麦轮机器人的结构模型表 1机器人剩余的主要硬件硬件Raspberry Pi 4电机驱动板深度摄像头激光雷达说明主频:1.5GHz运行内存:4GB控制器:STM32F103VET6IMU:MPU9250驱动芯片:TB6612FNG型号:LeTMC-5
22、20深度范围:0.6m8mRGB像素:1080P深度分辨率:640*480型号:RPLIDAR-A1测量范围:0.15m12m扫描角度:0360测量频率:4000Hz若机器人中四个轮子对应的转速分别为VA,VB,VC,VD。Vx为机器人沿X轴的速度分量,Vy为机器人沿Y轴的速度分量。为机器人沿Z轴的角速度。令a=W2,b=H2。根据机器人的运动学状态可以解算出机器人的四个轮子的转速方程为VA=Vx+Vy()a+bVB=VxVy()a+bVC=Vx+Vy+()a+bVD=VxVy+()a+b(6)薛志凌等:基于ROS的目标搜寻系统设计17182023 年第 8 期计算机与数字工程ROS中的速度指
23、令cmd_vel包含三自由度的线速度和三个自由度的角速度。对于地面机器人不存在Z轴的线速度和X,Y轴的角速度。实际应用中,将cmd_vel中X轴的线速度赋给Vx,Y轴的线速度赋给Vy,Z轴的角速度赋给,即可完成对机器人的控制。室内运行机器人,建图效果如图21。图中左边为机器人所建栅格地图,右边为机器人实时传回的图像。在图中我们可以看到实验中使用的激光雷达只能检测到激光雷达所在平面的二维障碍物信息。图21机器人建图与图传在机器人开启自主导航模式时,会在所建基本地图信息的周围生成膨胀区,详见2.3节。实时导航效果如图22。在机器人搜寻的目标物体是,机器人会主动靠近目标物,结果如图23。可以看到系统
24、在复杂环境中有较好的识别效果。图22机器人导航避障图23目标识别结果6结语本文设计了一套以ROS为基础的自主式机器人搜寻系统。整个系统框架和相关算法先在GAZEBO中仿真实现,然后应用于实际之中。在仿真和实际验证中,该系统均拥有良好的性能。系统的核心算法在机器人的机载计算机中完成,通过WIFI可在 PC端监控机器人的运行状态和采回的传感器数据,同时可向机器人发布控制指令。在设计中,强调仿真的重要性,期望实现真实世界和虚拟世界机器人运动的一致性。相信以后的机器人系统设计会遵循先仿真后实物搭建的顺序来完成。本研究的下一步研究重点是在机器人识别到目标后做出实时的动作,主要应用特殊场合的设备巡视与维护
25、。参 考 文 献1苏博妮.基于ROS系统的室内移动机器人研究与设计J.计算机与数字工程,2020,48(10):2483-2486.SU Boni.Research and Design of Indoor Mobile RobotBased on ROS System J.Computer and Digital Engineering,2020,48(10):2483-2486.2Ochiai Y,Takemura K,Ikeda A,et al.Remote controlsystem for multiple mobile robots using touch panel C/Inte
26、rnational Conference on Intelligent Robots and Systems,Chicago:IEEE/RSJ,2014:3272-3277.3张美平,郭旭城,张毅韬,等.基于ROS的溯源机器人系统 J.计算机系统应用,2019,28(3):43-50.ZHANG Meiping,GU Xucheng,ZHANG Yitao,et al.Traceability Robot System Based on ROSJ.ComputerSystem&Applications,2019,28(3):43-50.4周鹏程.基于机器视觉的自主式救援机器人的研究D.南京:东
27、南大学,2016.ZHOU Pengcheng.Research on Autonomous Rescue Robot Based on Machine Vision D.Nanjing:Southeast University,2016.5Chen W,Liu Y,Wang W,et al.Deep Image Retrieval:ASurvey J.ArXiv,2021,abs/2101.11282:n.pag.6Zheng L,Yang Y,Tian Q.SIFT Meets CNN:A DecadeSurvey of Instance Retrieval J.IEEE Trans Pa
28、ttern AnalMach Intell,2018,40(5):1224-1244.7李晖晖,郑平,杨宁,等.基于SIFT特征和角度相对距离的图像配准算法 J.西北工业大学学报,2017,35(2):280-285.LI Huihui,ZHENG PING,YANG Ning,et al.Image registration algorithm based on SIFT feature and Angle relative distanceJ.Journal of Northwestern PolytechnicalUniversity,2017,35(2):280-285.8王金龙,周志
29、峰.基于SIFT图像特征提取与FLANN匹配算法的研究 J.计算机测量与控制,2018,26(02):175-178.(下转第1755页)17192023 年第 8 期计算机与数字工程tional Conference on Pattern Recognition(ICPR),2020:8892-8898.13Huang L,Ma D,Li S,et al.Text Level Graph NeuralNetwork for Text ClassificationC/Proceedings of the2019 Conference on Empirical Methods in Natura
30、l Language Processing and the 9th International Joint Conference on Natural Language Processing(EMNLP-IJCNLP),2019:3442-3448.14Zhao R,Wang M,Yin Q,et al.SC-DGCN:SentimentClassification Based on Densely Connected Graph Convolutional NetworkC/13th International Conference onMachine Learning and Comput
31、ing(ICMLC),2021:279-284.15Zhang Y,Yu X,Cui Z,et al.Every Document Owns ItsStructure:Inductive Text Classification via Graph Neural Networks C/Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics(ACL),2020:334-339.16Hu L,Yang T,Shi C,et al.Heterogeneous Graph Attent
32、ion Networks for Semi-supervised Short Text Classification C/Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9thInternational Joint Conference on Natural Language Processing(EMNLP-IJCNLP),2019:4820-4829.17Cho K,Merrienboer B,Gulcehre C,et al.LearningPhr
33、ase Representations using RNN Encoder-Decoder forStatistical Machine TranslationC/Proceedings of the2014 Conference on Empirical Methods in Natural Language Processing(EMNLP),2014:1724-1734.18Bahdanau D,Cho K,Bengio Y.Neural Machine Translation by Jointly Learning to Align and Translate C/3rdInterna
34、tional Conference on Learning Representations(ICLR),2015.19Pennington J,Socher R,Manning C.Glove:Global Vectors for Word RepresentationC/Proceedings of the2014 Conference on Empirical Methods in Natural Language Processing(EMNLP),2014:1532-1543.20Kingma P D,Ba J.Adam:A Method for Stochastic Optimiza
35、tionC/3rd International Conference on LearningRepresentations(ICLR),2015.WANG Jinlong,ZHOU Zhifeng.Research on SIFT ImageFeature Extraction and Flann Matching AlgorithmJ.Computer Measurement and Control,2018,26(02):175-178.9Sun X,Ma C,Zhou J.Research on Purifying Paired Feature Point Based on RANSAC
36、 AlgorithmJ.Journal ofphysics.Conference series,2019,1302(3):32035.10Cadena C,Carlone L,Carrillo H,et al.Past,Present,and Future of Simultaneous Localization and Mapping:Toward the Robust-Perception AgeJ.IEEE Transactions on Robotics,2016,3232(6):1309-1332.11刘鹏,刘凯,周愉.基于Wi-Fi和自适应蒙特卡洛的移动机器人定位方法的研究 J.计
37、算机应用与软件,2021,38(04):75-81.LIU Peng,LIU Kai,ZHOU Yu.Research on LocationMethod of Mobile Robot Based on Wi-Fi and AdaptiveMonte CarloJ.Computer Applications and Software,2021,38(04):75-81.12程凝怡,刘志乾,李昱奇.一种基于Dijkstra的多约束条件下智能飞行器航迹规划算法 J.西北工业大学学报,2020,38(06):1284-1290.CHENG Ningyi,LIU Zhiqian,LI Yuqi.A
38、Dijkstra BasedAlgorithm for Intelligent Aircraft Path Planning underMultiple ConstraintsJ.Journal of Northwestern Polytechnical University,2020,38(06):1284-1290.13王洪斌,尹鹏衡,郑维,等.基于改进的A*算法与动态窗口法的移动机器人路径规划 J.机器人,2020,42(03):346-353.WANG Hongbin,YIN Pengheng,ZHENG Wei,et al.Path Planning for Mobile Robot
39、 Based on Improved A*Algorithm and Dynamic Window MethodJ.Robot,2020,42(03):346-353.14Chikurtev D.Mobile Robot Simulation and Navigation inROS and Gazebo C/2020 International Conference Automatics and Informatics(ICAI),2020.15黄加俊,卿兆波,张珠耀,等.基于激光SLAM的全方位移动机器人控制系统设计 J.科技通报,2020,36(07):81-85.HUANG Jiaju
40、n,QING Zhaobo,ZHANG Zhuyao,et al.Design of omnidirectional mobile robot control systembased on laser SLAM J.Bulletin of Science and Technology,2020,36(07):81-85.16王明明,朱莹莹,张磊,等.麦克纳姆轮驱动的移动机器人自适应滑模控制器设计 J.西北工业大学学报,2018,36(04):627-635.WANG Mingming,ZHU Yingying,ZHANG Lei,et al.Design of an Adaptive Sliding Mode Controller for a McNum Wheel-driven Mobile Robot J.Journal of Northwestern Polytechnical University,2008,22(1):1-10.(上接第1719页)1755