基于Cartographer的智能探测机器人

2024-08-01 00:00:00杨建海郭威张叶希刘师岐储茂祥
电子产品世界 2024年4期

关键词:Cartographer;智能探测机器人;SLAM 算法;激光雷达

中图分类号:TP89;TP277;TP242.6 文献标识码:A

0 引言

在现代自动化和智能化领域,智能探测机器人在解决复杂环境探测和建图任务中具有至关重要的作用。Cartographer 算法是一种先进的即时定位与地图构建(simultaneous localization and mapping,SLAM)算法,可以帮助机器人实现高精度地图构建和自我定位。

在工业、农业、医疗等多个领域,智能探测机器人系统有着广阔的应用潜力。其能够执行自我侦测、导航和绘图等功能,从而提升工作效率并降低人力成本。

本文以智能探测机器人系统为研究对象,关注其在复杂环境下的导航及建图问题,具体包括传感器数据融合不精确、导航路径规划不高效、SLAM 算法精度有待提升等。国内外在智能探测机器人领域已取得一定研究成果。国外研究主要集中在 SLAM 算法的优化、传感器数据处理技术,如Cartographer 算法在机器人领域的应用。国内研究涉及智能导航算法、机器人系统设计,但在建模精度和系统稳定性方面仍有提升空间。本文旨在结合国内外研究成果,提出优化方案,提升系统的稳定性和鲁棒性,推动智能探测机器人系统的发展与应用。

1 系统设计

本文设计了由NVIDIA Jetson Nano 驱动的智能探测机器人,其主要控制部分整合了多种设备,如激光雷达( LiDARs)、 相机(cameras)、惯性测量单元( inertia measurements units,IMU)、二氧化碳传感器及烟雾探测器(CO2 sensors and smokedetectors)等。这些传感器的联合使用赋予了智能探测机器人自主导航和环境信息采集的能力。

通过高性能的主控模块NVIDIA Jetson Nano,智能探测机器人能够实现强大的运算能力和处理速度,从而确保系统高效运行和即时响应。智能探测机器人装备了激光雷达传感器,能够创建环境地图并识别障碍物,这为其自主导航提供了重要的数据。同时,摄像头传感器可以用于实时图像采集和视觉感知,帮助智能探测机器人识别目标和实现精准导航。

IMU 传感器能够提供智能探测机器人当前的姿态和运动信息,使其能够更准确地定位和导航。二氧化碳传感器及烟雾探测器用于监测环境中有害气体浓度的变化,确保工作的安全性和舒适度。这种传感器的结合使得智能探测机器人在持续监控周边环境变化的同时,能做出适当的判断,进而打造出更具智能化与灵活性的智能探测机器人。如图1 所示,智能探测机器人系统的核心原理是通过各种传感器的协同作用来完成对环境的全面感知。

1.1 核心算法

1.1.1 车道线检测原理

采用深度体感摄像头三维RGBD 相机,不仅可以传输视频,还能进行深度学习。以识别车道线为例:首先,通过摄像头拍摄一段车道线的视频,通过OpenCV 将视频每帧裁剪成照片,从而形成图片数据库。其次,利用标注软件对图片中的路线进行标注,形成标注文件示意图(图2)。再次,采用UNET 语义分割网络进行模型训练,将原图和标签图放入网络训练。UNET 由两个主要部分构成,分别是特征抽取和上采样。因为其网络结构类似于字母U,所以称其为UNET 网络[1]。最后,通过神经网络训练后得到模型训练图(图3)。

1.1.2 无地图场景导航原理

1.1.2.1 地图

在操作系统中,激光雷达生成的地图被视为一个常见的灰度图像。其中,黑色部分代表阻碍物,白色部分代表可能的区域,而灰色部分则代表尚未探索的区域。自主导航地图是通过SLAM 技术进行构建的。

1.1.2.2 定位

位姿的测量或估计是智能探测机器人定位的主要方式,通过这种方式,智能探测机器人能够了解自身所在的位置和面向的方向。智能探测机器人自主导航中的定位与建图同时进行,其通过移动对探测到的地图进行构建,并实时更新自己在地图中的位置。

1.1.2.3 感知

激光雷达传感器被用于探测智能探测机器人所在的环境。利用这些数据,智能探测机器人能够识别墙壁、路障等障碍物,从而保证其安全且准确地移动到目标位置。

1.1.2.4 A* 路径规划

从起点开始,不断寻找能以最小成本通向目标位置的节点并优先扩展可减少目标函数的路径。通过此探索步骤,能够创建一个点集,将该点集内的路径点进行有序连接,即为所寻求的最佳路径。

A* 算法的模型为:

f(n)=g(n)+h(n)。 ( 1)

其中,n 为节点,f(n)为总体搜索成本,包括从起始点到目标节点的所有代价,以及最优化的启动式函数;h(n)为从节点n 到目标点的启发式评估代价,即启发函数;g(n)从初始节点到任意节点n 的代价。

确定启动式函数在A* 算法中占据了关键地位,其精度越高,寻找最佳解决方案的速度就越快。测试后发现,曼哈顿式启发函数效果最好。

1.1.2.5 激光雷达与ROS 关系原理

虽然智能探测机器人操作系统(robot operatingsystem,ROS)包含“操作系统”,但实际上它并非独立的系统,而是需要在宿主系统的支持下运行,而常用的宿主系统是Ubuntu。ROS 实际上是一种分布式的交流方式,能够让程序进程间的沟通更为便捷。在理解了ROS 的交流方式后,研究人员可以利用C + + 和Python 编程语言来开发智能探测机器人各类算法。

SLAM 的关键是算法,其主要目标在于创建高效的地图,同时为智能探测机器人导航提供更优质的数据支持。虽然SLAM 算法不依赖任何系统,但ROS 能够协助解决传感器驱动、显示以及各种核算法(用于融合激光SLAM 建图和深度相机SLAM建图的关键算法)间的交流和协作问题,目前主流的SLAM 建图方式有两种:激光SLAM 建图和深度相机SLAM 建图。本文设计的智能探测机器人将两种建图方式结合在一起,弥补了各自的劣势。

1.1.3 Cartagrapher 算法建图原理

Cartographer 是由谷歌创建并推出的实时的内部定位系统( internal localization system),采用了由谷歌自主研发的 Ceres nonlinear optimizer 技术来实现其功能。它的优势之一是拥有严谨且专业的编码风格及高度可复用的架构设计,这使得该系统特别适用于商用场景或二次定制需求。此外,通过使用SubMap 局部区域映射的方式建立全球范围内的模型,可以有效地防止因移动物体(在机器人运动或地图构建过程中,相对于环境是会发生位置变化的物体或障碍物)而导致的误差影响整个系统的运行过程。同时,其另一个优势是可以兼容多种类型感知设备的数据输入,如Odometer、 IMU 和 LaserScans 等,还包括对二维 SLAM 和三维 SLAM 两种模式的支持。

1.1.4 激光雷达导航和避障原理

智能探测机器人可以通过深度相机和激光雷达感知周围环境,从而避开周围障碍物并到达指定位置。智能探测机器人到达指定位置后可以记录多个点的位置坐标,从而实现多点自动巡航功能。该技术可以应用在工业作业上,实现往返重复工作。

1.2 4G 远程操控以及数据检测

本文设计的智能探测机器人可以通过4G 全网通网络穿透技术实现远程控制桌面网络地址转换(network address translation,NAT) 设备或软件,并且通过维护状态表,将内部网络的私有IP地址映射到外部网络的合法IP 地址[2]。在NAT 设备或软件中,每个包的IP 地址和端口信息都会被修改并翻译为正确的IP 地址,然后被传送到下一级。当内网主机通过NAT 进行“外出”传输控制协议(transmission control protocol,TCP)或(userdatagram protocol,UDP)会话时,网络地址和端口转换(network address and port translation,NAPT)会为该会话分配一个公网IP 和端口,用来接收外部网络的响应数据包[2]。通过传感器实时采集周围环境数据,将其转换为数字化的数据并且告知内部网的主机。因此,NAPT 建立了一个地址绑定,将私有IP 和公网IP 相互关联[3]。本文设计的智能探测机器人通过安装相关传感器,实时采集周围环境数据,通过无线网络将其传送到OneNET 云平台。

2 实现与优化过程

算法优化是指改进A* 路径规划。A* 算法代价函数中的两个部分权重是一样的,但可能因为追求效率而无法达到路径最优化,如路径存在一些无关紧要的拐点[4]。修改后的A* 代价函数为:

f(n)=(1-ω)×g(n)+ω×h(n)。 ( 2)

其中,ω 为权值参数。

为了验证修改后的代价函数可以搜索到最优路径,本文设计了一个仿真程序,并设置一个简单的环境、起点及终点。对于同一张地图,本文进行了3 次实验,每次使用不同的权值参数ω(0.22、0.33和0.5),以评估A* 算法的表现。从结果来看,当ω 为0.33 时,起点至终点的成本比(起点到终点的实际代价与终点到目的地的实际代价之间的比值)为2∶1,这意味着起点至终点之间的距离远小于终点至目的地之间的距离。这种设置使得该算法具有A* 算法的优势,因为其采用了两个不同成本项的组合,并融入了启发式的思维方式。

3 实验测试

本文使用基于Cartographer 的智能探测机器人进行了路径规划和自主导航、环境适应测试实验,旨在评估其在复杂环境中的定位和建图性能。这些实验包括在不同室内和室外场景中进行导航和定位任务,以验证系统的稳健性和精确性。

(1)路径规划和自主导航:为智能探测机器人设定一系列目标点,并利用Cartographer 的路径规划算法让其自主导航并完成预定任务。

(2)环境适应测试:在不同光照条件、地形和结构复杂度的环境下进行测试,以验证智能探测机器人在各种情况下的适应性和鲁棒性。

通过测试,基于Cartographer 的智能探测机器人能够在各种复杂环境中稳定运行,并实现高精度的定位和建图任务。

4 结论

本文基于 Cartographer 框架成功设计了基于Cartographer 的智能探测机器人,并进行了一系列实验和测试。经过试验观察,本文得出以下结论:无论在何种场景,基于Cartographer 的智能探测机器人具备卓越的环境构建能力,能精确还原周围环境的地图信息,为其定位与导航提供稳定的基础保障;基于Cartographer 的智能探测机器人具备高效率及准确定位的能力,可以成功避免障碍物的干扰并迅速寻觅最佳行进线路。在变化多样的环境中,该智能探测机器人运用Cartographer 技术实现了实时定位功能,即便存在移动物体也能够立即做出相应的位置变动。智能探测机器人具有融合多种传感器数据的能力,Cartographer 框架优化了传感器融合方法,提升了智能探测机器人的感知能力和环境认知水平。在总体效能上,基于 Cartographer 的智能探测机器人在建图、路径规划、实时定位和传感器融合等关键方面都表现出显著优势。这些结果为智能系统的发展和实际应用提供了有力支撑,为未来的机器人技术研究提供了重要参考。