问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

ROS和视觉SLAM系统,在室内导航机器人中,如何完成导航和避障?

创作时间:
作者:
@小白创作中心

ROS和视觉SLAM系统,在室内导航机器人中,如何完成导航和避障?

引用
网易
1.
https://m.163.com/dy/article/IRNPJ0NS05566C07.html

随着科技的不断发展和人工智能的迅速进步,智能化机器人技术应用在生活中的逐渐普及,自主导航与环境感知成为机器人领域的重要研究方向。
自主导航能够使机器人具备在未知环境中自主移动和完成任务的能力,广泛应用于无人车、无人机、服务机器人等领域。移动机器人的实时定位和地图构建是实现自主导航的关键。

通过感知和理解环境信息,机器人可以进行路径规划、障碍物避障等操作。
因此,研究自主导航与环境感知对于推动机器人技术发展具有重要的科学意义和应用价值。国内外在自主导航与环境感知方面的研究取得了一系列重要成果。

在自主导航方面,国外的ROS(RobotOperatingSystem)系统成为广泛使用的开源平台,提供了强大的功能和工具支持。国内的相关研究也取得了许多进展,如无人车、智能家居等领域的应用逐渐增多。

在环境感知方面,深度相机、激光雷达等传感器设备的发展和进步使得机器人能够获取更加准确和丰富的环境信息。

相关学者在基于ROS系统和深度相机,实现小车的自主导航与环境感知功能。
具体内容包括视觉SLAM(SimultaneousLocalizationandMapping)技术、路径规划算法和定位算法。通过研究这些技术,设计合理的系统架构,实现小车在室内环境中的自主导航和定位。

系统设计

ROS介绍ROS是一个开源的机器人操作系统,提供了一套功能丰富的工具和库,用于构建机器人的控制系统。
ROS采用模块化的设计理念,利用ROS基于节点的通信模型和消息传递机制,使得不同模块之间可以进行高效的数据交换和协同工作。

这为将视觉SLAM算法与移动机器人平台的集成提供良好的基础。
在该研究中,选择ROS作为软件开发平台,以便快速开发和集成各个模块,并与深度相机进行数据交互和控制。

深度相机原理与选择:视觉传感器成为机器人系统中被广泛使用的感知设备,相比于激光雷达,具有获取丰富、高维度信息的优势。在本研究中,使用RGB-D相机作为主要的感知设备,RGB-D能够获取环境的RGB图像和图像深度信息。
RGB-D获取深度信息的主要原理是利用结构光技术,相较于双目深度相机,RGB-D对计算机的计算性能要求较小。

它具有功耗低、采集视角广的特点,支持2m内的环境深度数据采集和最高1280∗960精度的RGB图像采集性能,基本满足室内测试要求。

硬件平台搭建:小车由三层金属板构成基本框架,上层通过固定件安装深度相机和激光雷达,以便更好地获取环境。

中层装有树莓派4B、STM32、里程计、IMU传感器等核心器件,其中树莓派4B安装ROS系统作为控制核心,将树莓派安装于中层有利于和各个传感器进行连接,确保数据交互的稳定。
小车底盘采用两轮差速驱动结构,该结构由两个驱动轮和一个支撑轮组成,其中两个驱动轮可以实现前进、后退和旋转功能,具有尺寸小巧、机动性高等优点,适应多样化的环境和任务需求。

通过单独控制左右两个驱动轮的转速差异,可以实现精确的方向控制。

系统结构:移动机器人软件系统结构由三大模块组成,分别是控制模块、感知模块和驱动模块,系统结构图如图所示。

基于ROS的通讯机制———一种节点的分布式框架,每一个节点都可以独立运行,节点可以分布于主机和各个从机中,从而分散计算压力。
各个模块之间可以独立工作,并通过消息传递进行数据交互。
控制模块由树莓派4B和PC构成,树莓派4B作为主机,PC作为从机,在分布式通讯下进行通信,利用地图构建算法、路径规划算法和定位算法处理感知模块数据,并进行决策和控制小车的运动。

感知模块由深度相机、激光雷达和里程计等传感器组成,负责获取环境信息,每一个传感器作为一个节点,节点和主机之间可以进行数据交互,为后续机器人实现自主导航和定位提供数据。
执行模块驱动底盘,负责将控制模块的命令执行。通过良好的软件系统架构设计,实现了各个模块的协同工作和功能整合。

RTAB-MAP算法:RTAB⁃Map(Real⁃TimeAppearance⁃BasedMapping)算法是一种实时的基于外观的SLAM算法,是视觉SLAM算法的一种,主要使用RGB-D相机数据来实时定位和构建三维稠密地图。
视觉SLAM基础框架包括:视觉里程计、位姿优化、闭环检测、制图,RTAB⁃MAP算法针对性地解决了视觉SLAM中闭环检测出现的问题。

RTAB⁃MAP算法在2019年进行扩展升级的基于内存管理的闭环检测技术,该技术针对SLAM的实时性将定位点数据分为3个部分:STM(Short⁃TermMemory)、LTM(Long⁃TermMemory)、WM(WorkMemory),在构建实时地图和同步定位有更高的精确性和实时性。
RTAB⁃MAP算法闭环检测技术原理:SLAM要求有实时性,但视觉传感器在实际获取数据时是源源不断的,将地图全部定位点数据称为“全部定位点”,将“全部定位点”进行闭环检测与匹配定位所需时间过长,不能满足实时性,所以在闭环检测时只使用“全部定位点”中的“部分定位点”。

但有时需要对“全部定位点”进行访问,这时就需要对定位点数据进行管理。
RTAB⁃MAP将这些数据分为3个部分,即LTM、STM、WM,RTAB⁃MAP会将那些不太可能形成闭环的定位点从WM转移到LTM中,这些转移的点将不参与下次闭环检测,因此选择哪些WM中的定位点转移到LTM中非常重要。

RTAB⁃Map的思想是假设频繁访问的定位点比其他定位点更容易形成闭环,因此,一个定位点被连续访问的次数可以用来衡量它形成闭环的权重。
当WM转移定位点到LTM时,优先选择具有最低权重的定位点,如果具有最低权重的定位点有多个,则选择存储时间最长的那个。

对于具有形成闭环概率最高的那个定位点,将它的那些没有在WM中的邻接定位点重新从LTM中取出放回到WM中,通过“取回”和转移这两个操作灵活地管理不同数据库中存储的定位点。
RTAB⁃Map闭环检测时不使用STM中的定位点。当STM定位点达到一定数量时,STM中存储时间最长的定位点移动到WM中。

RTAB⁃Map使用离散贝叶斯滤波器估计闭环形成概率,将新的定位点与WM中的定位点进行比较。发现新旧定位点之间有高概率形成闭环时,就检测到一个闭环,并将它们连接在一起。

RTAB⁃MAP算法闭环检测技术基本流程:
创建定位点:使用词袋法创建图像的签名,利用词袋法提取从相机取得的图像特征的视觉词汇向量。

词袋法具体步骤:首先提取图像特征,然后通过聚类算法(如K均值聚类)对大量图像特征描述子进行聚类,构建视觉词典,最后通过词典中的单词的关键点数量形成图像签名,以在线增量式的方法创建定位点。

权重更新:通过相似度s来更新定位点权重,相似度由公式(1)表示:

贝叶斯过滤器更新:估计当前定位点Lt和存储在WM中的定位点形成闭环的概率来记录闭环假设。
闭环假设选择:当一个闭环假设成立,新的定位点Lt则和旧的定位点建立起了闭环,并对定位点Lt的权重进行更新。

取回:对于具有形成闭环概率最高的那个定位点,将它的那些没有在WM中的邻接定位点,从LTM中取出放回到WM中。
转移:当图像数据处理时间超出一定阈值时,将WM中权重最低且存储时间最长的定位点转移至LTM。

地图构建:经过闭环检测后,RTAB⁃Map算法将构成闭环的定位点采用GTSAM(GeorgiaTechSmoothingandMapping)地图优化策略进行处理。

这一步骤的目的是将局部地图拼接成全局地图,提升整体建图的准确性和一致性。
在闭环重构过程中,每次产生回环时都会对全局地图进行重构,也就是将闭环中的帧和新的特征点集成到全局地图中,以便不断完善和更新整个地图。

这样的重构过程将持续进行直到不再检测到新的图像帧时停止。
通过这样的闭环处理和全局地图拼接,RT⁃AB⁃Map算法能够实现更准确、一致且完整的地图构建,适用于各种机器人应用场景,提供更可靠的导航和定位服务。

路径规划与定位

ROS小车的路径规划和定位是基于ROS的move_base和amcl功能包来实现的。
move_base是ROS中一个重要的导航功能包,它通过全局路径规划和局部路径规划的组合,实现了机器人的自主导航和避障功能。

定位是指通过传感器获取机器人当前的位置,使机器人能够知道自己在哪里。
在ROS中,常用的定位算法是AMCL(AdaptiveMonteCarloLo⁃calization)。路径规划和定位在ROS中是紧密结合的,路径规划需要依赖定位信息来获取机器人的当前位置,而定位则需要路径规划提供的地图等信息来更准确地估计位置。

通过结合路径规划和定位,ROS小车可以在已知环境中进行导航和避障,实现自主移动功能。

实验结果

在一个室内场景中分别测试移动机器人用激光雷达和用深度相机进行建图。首先确保小车和PC连接到同一个TP⁃linkwifi下,在PC端通过小车IP配置分布式通讯。
然后启动雷达SLAM的launch文件,深度相机SLAM则启动rtabmap的launch文件,再启动键盘控制节点和rviz可视化界面,控制小车遍历实验场景完成建图,如图所示。

室内导航实验:分别测试移动机器人用激光雷达和用深度相机进行导航。利用上一个实验完成的建图进行导航,分别启动激光雷达和深度相机导航的launch文件,这里需要注意的是相机只有前向视野,所以在进行深度相机导航时只允许小车进行前向运动。
在rviz可视化界面为小车指定目标点,小车进行自主导航顺利到达目标点,如图所示。

实验分析:基于ROS系统,在室内建图实验中,激光雷达的建图在精确度上优于用深度下图激光雷达导航相机建图如下所示,深度相机所构建的三维深度图在地图轮廓上准确性。

深度相机的优势在于它能够提供丰富的空间地图维度信息,包括物体的形状、纹理和颜色等。
在室内导航实验中,运用激光雷达和深度相机进行导航移动机器人都能合理规划路径实现自主导航和避障,激光雷达导航得益于其建图的精确性,更适用于二维平面场景的使用。

但是,如果对于空间维度信息的丰富性和感知能力更为重要,深度相机则提供了更多优势和可能性。

结语

ROS作为一个灵活、强大的机器人开发框架具有显著的优势,其在导航系统中具有很大的重要性;通过将导航算法与深度相机数据结合起来,能够实现自主导航和动态避障。
实验结果表明,基于ROS和深度相机的导航小车能够完成导航和避障,具有广泛的应用潜力。

结合ROS的强大功能和深度相机的感知能力,随着技术的不断进步,这将为机器人导航领域带来更多可能性和创新;期待未来能够看到更多基于ROS和深度相机的智能导航解决方案的出现。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号