朱元润 周新智 胡雄
摘要:无人车路径规划与自主避障算法一直以来是无人驾驶技术研究的重要方向。通过改变启发式函数,以及将距离计算方法改为考虑障碍物的实际距离,利用G2O图优化框架等方法来改进A*算法、TEB算法,同时结合ROS Navigation框架和仿真平台,探究了无人车路径规划算法与自主避障算法。研究结论不仅为全局路径规划和局部路径规划的自主避障提供了宝贵的参考,也为无人车的自主导航开辟了新的研究方向。
关键词:路径规划;自主避障;融合;自主导航
中图分类号:U469 收稿日期:2024-01-05
DOI:1019999/jcnki1004-0226202405009
1 前言
随着科技的发展,无人驾驶技术逐渐成为汽车行业的热门话题。路径规划技术与自主避障算法在地面无人车自主导航技术中起着举足轻重的作用, 它在地面无人车各个领域的应用中都具有广阔的发展空间和研究价值,已成为地面无人车研究的必然趋势,虽然目前有许多学者提出各种各样的算法来分析、解决这个问题,但是行之有效的方法并不多[1]。本文在改进A*算法、TEB算法的基础上,结合ROS Navigation框架及仿真平台,深入探究无人车路径规划和自主避障。其目标是实现无人车的自主导航,并为其提供实用的参考建议。
2 基于改进A*算法的全局路径规划算法
全局规划路径是指在特定的地图环境下,系统寻找从起始点到终点的最佳路径。全局规划路径的研究在机器人技术、自动驾驶等领域具有举足轻重的地位,能极大地提升机器和车辆在复杂环境中的导航和操作能力,对于推动相关产业的发展和技术进步具有深远的影响。目前,全局规划路径研究的方法有很多,其中A*算法是最常用的一种[2]。在传统的A*算法中,启发式函数只考虑了起点到当前点的代价,而没有考虑当前点到终点的代价。因此,改进A*算法应运而生。本文将介绍一种基于改进A*算法的全局规划路径方法,提高了路径规划的精度和速度。
21 基于代价函数的改进
改进A*算法的启发式函数如下:
f(n)=g(n)+h(n) (1)
改进A*算法的基本思路和传统A*算法一样,只是启发式函数发生了改变。改进A*算法的优点在于准确地估计每个节点到终点的距离,从而更加精确地计了每个节点代价。
22 距离函数的改进
欧几里得距离函数[3]是一种常用的距离度量方法,通常用于全局路径规划中的A*算法。但是,在实际应用中,欧几里得距离函数有时会导致路径规划的效果不佳。
在欧几里得距离函数中,两个节点的距离被定义为它们在坐标系中的直线距离。这种距离计算方法受到障碍物的影响较大,因此会导致A*算法在处理复杂环境下的路径规划问题时效果不佳。
为了解决这个问题,可以对欧几里得距离函数进行改进。一种常见的方法是引入障碍物的影响因素,将距离计算方法改为考虑障碍物的实际距离,以此来更准确地评估节点之间的距离。
通过查表的方式得到近似欧几里得距离,如表1所示。
3 局部路径规划算法
31 基于时间弹性带算法的局部路径规划
时间弹性带算法(Temporal Elastic Bands,TEB)是一种常用的局部路径规划方法。该算法通过将机器人的运动时间划分为离散的时间步长,并在每个时间步长上计算机器人的可行运动空间,从而生成可行的轨迹。TEB算法是一种简单易用的局部路径规划方法,它能够快速地生成机器人的可行轨迹,并考虑机器人的约束条件和优先级[4]。因此,在许多机器人应用中,TEB算法被广泛应用。
32 TEB的求解
TEB算法主要应用非线性优化算法来解决路径规划问题,如Levenberg-Marquardt算法、高斯-牛顿算法和拟牛顿法等。这些算法可以通过求解一个最小化误差的优化问题来获得最优路径。TEB算法利用G2O图优化框架,定义顶点表和边表,将地面无人车位姿、相邻位姿间的时间间隔以及障碍物作为顶点,并将目标函数作为边,构建出超图(Hyper-graph),最终借助G2O框架中带有的求解器完成求解过程,进而得到优化后的位置序列B*:=(Q,T)[5]。
4 混合路径规划仿真
41 仿真实验平台的搭建
构建仿真實验平台的必要条件和技术要求如下:
a.车辆模型:采用妥当的车辆模型对车辆的动力学特性和控制系统进行准确描述,可以使用MATLAB、Simulink、ADAMS等软件进行建模和仿真。
b.环境模拟:需要模拟车辆所处的环境,包括地图、道路、障碍物等,可以使用Unity、Unreal Engine等游戏引擎进行建模和仿真。
c.传感器模拟:需要模拟车辆使用的传感器进行模拟,包括激光雷达、相机、超声波传感器等,可以利用ROS(机器人操作系统)进行传感器数据的模拟和处理。
d.控制系统:需要对车辆的路径跟踪、速度控制、避障等功能进行设计,可以使用PID控制器、状态反馈控制器等控制算法进行设计和实现。
42 自主导航系统的设计
a.系统功能与需求。
自主导航系统是无人车实现自主行驶的核心,具有路径规划、自主避障、定位与控制等多种功能,其设计需满足以下需求:
高精度定位:实时获取无人车当前位置,提供精确的导航坐标。
快速响应:具备快速响应输入指令的能力,保证无人车能够及时响应外部指令。
稳定可靠:保证无人车稳定性和安全性,避免出现意外情况。
高效运行:能够实现高效的路径规划和自主避障,提供高速、稳定的自主行驶能力。
b.硬件系统设计。
①无人车平台选择。
根据系统需求,无人车平台应具备较高的承载能力、良好的稳定性和精准的定位能力。在实际应用中,常用的无人车平台有小车底盘、四旋翼无人机等。本文选取小车底盘作为无人车平台,其具有稳定性好、载重能力强等优点,便于实现路径规划和自主避障功能。
②传感器系统设计与实现。
为了达成高精度定位以及自主避障功能,无人车需要搭载包括激光雷达、摄像头、惯性导航仪等多种传感器。激光雷达主要用于障碍物检测和距离测量。在无人车行驶过程中,激光雷达通过扫描周围环境,检测出前方障碍物的位置和距离。本文选取Hokuyo URG-04LX-UG01型激光雷达,其具有测距范围广、数据稳定等优点。
摄像头主要用于目标检测和路标识别。在无人车行驶过程中,摄像头通过拍摄周围环境,识别出行驶路径和路标。本文选取Logitech C920 HD Pro型摄像头,其具有高清晰度、光线适应性好等优点。惯性导航仪主要用于确定无人车运动状态,包括位置、速度和方向等。在无人车行驶过程中,惯性导航仪通过感知周围环境的变化,确定无人车当前状态,提供定位信息。本文选取Xsens MTi-680型惯性导航仪,其具有高精度、稳定性好等优点。
③控制系统设计与实现。
为实现无人车的自主行驶能力,需要设计有效的控制系统,并进行实现和测试。无人车的控制系统可以分为两个层次,即底层控制和高层控制。底层控制主要负责无人车的运动控制,包括电机控制、轮子转速控制等。高层控制主要涉及路径规划、目标识别等任务。本文选取Arduino Mega 2560作为底层控制器,其具有良好的扩展性和稳定性,支持多种通信协议[6]。高层控制主要负责无人车的路径规划和自主避障,包括路线规划、避障决策等。本文采用ROS(Robot Operating System)作为高层控制平台,其具有模块化、跨平台等优点,便于进行路径规划和自主避障算法的开发和实现。
43 全局路径规划模块
本研究将采用改进后的A*算法来替代原有算法,全局路径规划的流程图如图1所示。
44 局部路径规划模块
本文研究使用改进后的TEB算法对原框架中的动态窗口法进行替换,如图2所示的局部路径规划流程图。
5 结语
本文通过改进A*算法、TEB算法与ROS Navigation框架及仿真平台,得出以下结论:
a.通过引入节点到终点的代价估计,路径规划的精度和速度得到提高,改进A*算法的路径规划精度比传统A*算法更高,搜索速度更快。该方法在机器人、自动驾驶汽车等领域具有重要的应用价值。
b.改进TEB算法能够更快速地生成机器人的可行轨迹,并考虑机器人的约束条件和优先级。
c.按照混合路径规划算法的运行效果,验证了其有效性。
以上结论为无人车路径规划与自主避障算法的持续改进提供了指导,为全局路径规划以及局部路径规划两者自主避障的实现提供了参考价值。
参考文献:
[1]郭彦超无人车路径规划与自主避障算法研究[D]北京:北京交通大学,2021
[2]贾明超,冯斌,吴鹏,等一种融合改进A*算法与改进动態窗口法的文旅服务机器人路径规划[J]图学学报,2024(1):1-13
[3]谢永平基于ROS的无人配送车导航算法研究[D]广州:广东技术师范大学,2020
[4]郭志军,尹亚昆,李亦轩,等融合改进A~*和TEB算法的移动机器人路径规划[J]河南科技大学学报(自然科学版),2023,44(4):57-65+7
[5]王月室内AGV定位与路径规划算法研究[D]淮南:安徽理工大学,2022
[6]王瑜,白重阳,郑帅勇,等基于Arduino Mega2560的指纹锁设计[J]国外电子测量技术,2020,39(3):109-113
作者简介:
朱元润,女,2001年生,本科在读,研究方向为自动驾驶汽车。
周新智(通讯作者),男,2003年生,本科在读,研究方向为新能源汽车。