一种基于智能轮式车辆的自主导航方法设计

王嘉伟 ,  么鸣涛 ,  何晨昊 ,  李宝玉 ,  李翔宇 ,  徐明清 ,  张冰

北京化工大学学报(自然科学版) ›› 2026, Vol. 53 ›› Issue (3) : 96 -103.

PDF (2114KB)
北京化工大学学报(自然科学版) ›› 2026, Vol. 53 ›› Issue (3) : 96 -103. DOI: 10.13543/j.bhxbzr.2026.03.011
机电工程和信息科学

一种基于智能轮式车辆的自主导航方法设计

作者信息 +

Design of an autonomous navigation method for intelligent wheeled vehicles

Author information +
文章历史 +
PDF (2164K)

摘要

在采用传统自主导航方法的轮式无人车辆中,由于算法未充分考虑非完整约束特性与转向几何限制,常导致出现运动轨迹不可跟踪问题,致使车辆无法完成预期导航任务。基于Robot Operating System (ROS)模块化设计了一种新的自主导航方法,该方法采用基于图优化的Cartographer算法实现建图和定位的功能,使用基于search⁃based planning library (SBPL)规划库的SBPL_Lattice_Planner和基于时间弹性带(time elastic band, TEB)的TEB_Local_Planner分别进行全局路径规划和局部路径规划,共同实现车辆自主导航的功能。针对车辆的运动学特性进行测试实验,并与传统自主导航方法进行对比,结果表明所设计的自主导航方法能够规划出符合车辆运动学特性的路径,有效应对突发障碍物和狭窄空间等情况,满足智能轮式无人车辆对自主导航功能的要求。

Abstract

When using traditional autonomous navigation methods with wheeled unmanned vehicles, the algorithms do not fully account for non⁃complete constraint properties and steering geometry limitations. This often leads to untraceable trajectories, preventing the vehicle from completing the expected navigation tasks. In this work, a new autonomous navigation method has been designed based on the Robot Operating System (ROS) modularization, which employs the Cartographer algorithm based on graph optimization to achieve the functions of map building and localization, and incorporates SBPL_Planner and Lattice_Planner based on the search-based planning library (SBPL). Lattice_Planner together with TEB_Local_Planner based on time elastic band (TEB) planning library,are used for global and local path planning respectively, thereby faciliating autonomous navigation of the vehicle. Test experiments were conducted, and the kinematic characteristics of the vehicle were compared with those of traditional autonomous navigation methods. The results show that our autonomous navigation method can plan a path that meets the kinematic characteristics of the vehicle, effectively responds to situations such as sudden obstacles and narrow spaces, and meets the requirements for the use of intelligent wheeled unmanned vehicles for autonomous navigation functions.

Graphical abstract

关键词

轮式无人车 / 激光即时定位与建图(SLAM) / 路径规划 / Anytime Repairing A* / 运动基元 / 时间弹性带(TEB)

Key words

wheeled unmanned vehicles / laser simultaneous localization and mapping (SLAM) / path planning / Anytime Repairing A* / motion primitive / time elastic band (TEB)

引用本文

引用格式 ▾
王嘉伟,么鸣涛,何晨昊,李宝玉,李翔宇,徐明清,张冰. 一种基于智能轮式车辆的自主导航方法设计[J]. 北京化工大学学报(自然科学版), 2026, 53(3): 96-103 DOI:10.13543/j.bhxbzr.2026.03.011

登录浏览全文

4963

注册一个新账户 忘记密码

引言

随着自动化与信息技术的飞速发展,智能无人车已成为智能交通系统中的关键技术之一。无人车不仅能够实现高效、安全的物流运输与乘客运送,还广泛应用于军事、农业、公共交通等多个领域。

近年来,即时定位与地图构建(simultaneous localization and mapping, SLAM)技术逐渐从理论走向实际运用,在无人驾驶和工业机器人领域应用广泛。Grisetti等1提出了Gmapping算法,该算法使用改进提议分布和选择性重采样来解决内存消耗和粒子耗散问题,有效减少了粒子滤波的计算量。然而Gmapping算法采用局部搜索策略,导致其在复杂环境中存在因陷入局部最优解而卡死的情况。谷歌公司基于多传感器提出Cartographer算法2,该算法融合相关性扫描匹配方法与梯度优化来避免前端匹配结果陷入局部最优,并以分支定界加速匹配过程,对2D和3D激光SLAM具有较好的适用性。

Ros⁃navigation功能包是Robot Operating System(ROS)实现2D导航的核心组件,包含路径规划、定位、环境感知和避障等模块。它通过整合传感器数据与运动控制,为移动机器人提供完整的导航解决方案。Ros⁃navigation功能包中常用的全局路径规划有Navfn和Global_Planner,常用的局部路径规划有Base_Local_Planner和基于动态窗口理论dynamic window approach (DWA)的DWA_Local_Planner。这些规划器尚存在一些不足,例如,基于Dijkstra算法的Global_Planner路径质量不高,且忽略了大部分轮式车辆的运动学特性。Khattab等3提出一种自适应快速扩展随机树算法(adaptive rapidly exploring random tree, A⁃RRT*),通过动态调整采样区域、结合启发式函数和路径优化机制,提升了搜索效率与路径质量,但该方法存在过度依赖启发式函数可能导致通道狭窄或高维空间中的规划失败、计算开销在高动态场景延迟较大的问题。Zhao等4在传统Hybrid A*的基础上引入多目标约束,通过多目标优化生成权衡不同需求的全局路径,然而该方法与传统Hybrid A*一样存在动态环境适应性弱、难以与局部规划器高效协同的问题。

运动学特性影响着车辆的操控性和稳定性,忽略这些因素会导致车辆无法实现预期的行为。为解决此问题,本文设计了一种使用Cartographer作为建图模块,使用基于search⁃based planning library (SBPL)规划库的SBPL_Lattice_Planner和基于时间弹性带(time elastic band, TEB)的局部路径规划TEB_Local_Planner作为路径规划模块的无人车辆自主导航方法。其中,SBPL_Lattice_Planner结合使用Anytime Repairing A*(ARA*)算法和运动基元方法将车辆运动学作为约束条件来规划路径。实验结果表明该自主导航方法能够在满足实际工程应用中轮式车辆运动学规律的情况下实现导航功能。

1 激光SLAM

基于优化的激光SLAM算法通常采用前端局部建图、闭环检测和后端全局优化的框架。

Cartographer的局部建图采用Scan-to-map matching方法,也称为局部优化2。构建局部子图时,雷达扫描一周得到距离点{hk}k的取值参考雷达旋转中心所在的坐标系。位姿坐标用ξ=(ξx,ξy,ξθ)表示,ξxξyξθ分别表示横纵坐标和旋转角度。雷达帧位姿用相对转移矩阵Tξ=(Rξ,tξ)表示,其中,Rξ表示该雷达帧的旋转量,tξ表示该雷达帧的平移量。雷达帧的数据点用式(1)转换成局部子图坐标来表示。

Tξhk=cosξθ-sin ξθsinξθcosξθhk+ξxξy

当新的雷达数据添加到子图时,Cartographer会触发栅格更新机制,新的雷达数据转换为坐标数据后,会覆盖子图中的部分栅格。在将新雷达数据加入子图之前,系统会在运动预测出的雷达位姿附近的一个窗口内进行搜索匹配,以找到最佳匹配的位置。这一过程如式(2)所示,式中的约束量由一个双立方插值函数Msmooth构建,Msmooth用来确定雷达扫描轮廓Tξhk与局部子图之间的匹配度,匹配度取值范围在[0,1]。

argmink=1K(1-Msmooth(Tξhk))2

回环检测过程中计算位姿ξ*的数学公式如式(3)所示,式中Mnearest的取值根据雷达数据点Tξhk覆盖的栅格计算相应的概率得出。前一帧雷达位姿与真实位姿越接近,雷达轮廓与地图匹配度就越高,Mnearest函数值就越大,位姿也就更精确。

ξ*=argmaxk=1KMnearest(Tξhk)

在全局建图过程中,Cartographer需要对位姿图进行全局优化,包括对所有雷达扫描帧对应的全局位姿Ξs和所有局部子图对应的全局位姿Ξm进行检测和修正。

2 路径规划

2.1 基于图搜索的全局路径规划

全局路径规划插件SBPL_Lattice_Planner基于A*的众多改进算法如ARA*、AD*、R*、D*Lite等实现,插件的核心功能依托SBPL规划库实现。SBPL_Lattice_Planner的调用过程如图1所示。

ARA*算法的核心机制是通过反复运行加权A*(weighted A*)算法来逐步改进解决方案。ARA*引入了一个膨胀系数e来调整从当前位置到目标的成本估计值5。系数e决定了启发式函数的误差范围,e最初设置为大于1的值,并随着每一次路径发现而逐渐减小,最终降至1。因此,ARA*能够保证每次迭代产生的路径长度不会超过最优路径长度的e6。在每一轮迭代中,算法通过调整启发式函数的精度来控制搜索的深度,经过多次迭代优化,路径的质量逐步提高。

ARA*通过复用先前迭代中的信息来减少重复计算,持续优化之前的路径,从而在每个e值下找到最佳路径,这一过程会在限定的时间内持续降低e值,直至找到最优路径为止,其修正后的评估函数表达式如下7

f(s)=g(s)+eh(s)
D=x2-x12+y2-y12

式中,f(s)表示总通行成本,是从起点到当前节点的实际代价与从当前节点到终点的预估代价之和;g(s)表示从起点到当前节点的真实通行成本,是已经走过的路径的累积代价;h(s)表示当前节点和终点之间的估算通行成本。通过启发式函数计算估计代价,本文使用欧几里得距离D作为启发式函数。

本文方法所用ARA*算法框架的伪代码如下。

1. def ARA_star(start, goal, max_iterations, epsilon_initial):

2. epsilon = epsilon_initial

3. open_list = [start]

4. closed_list = []

5. for iteration in range(max_iterations):

6. while open_list:

7. current = get_node_with_lowest_f(open_list)

8. if current == goal:

9. return reconstruct_path(current)

10. open_list.remove(current)

11. closed_list.append(current)

12. for neighbor in get_neighbors(current):

13. if neighbor in closed_list:

14. continue

15. tentative_g = current.g + distance(current, neighbor)

16. if neighbor notin open_list:

17. open_list.append(neighbor)

18. elif tentative_g >= neighbor.g:

19. continue

20. neighbor.g = tentative_g

21. neighbor.h = heuristic(neighbor, goal) * epsilon

22. neighbor.f = neighbor.g + neighbor.h

23. neighbor.parent = current

24. epsilon *= 0.9

25. return None

其中,1~4行为初始化和设置膨胀系数e;5~20行通过迭代和扩展节点并计算代价进行路径搜索;21~25行通过改变系数e的值进行迭代优化与路径重建。

通过栅格化环境建模划分出二维图形,结合启发式搜索算法生成平面的路径坐标序列,此过程没有考虑车辆的运动学限制,规划路径会出现急转弯、原地掉头和无法倒车的情况。SBPL规划器使用运动基元构建图形,运动基元是指车辆于有限时间内在自身约束条件下能够行驶的距离8-9,可以根据车辆自身的约束条件生成轨迹,然后代入规划算法。

为了确保运动基元符合车辆的实际行为,需要首先定义车辆的动力学模型。当前大多数传统汽车均采用阿克曼转向设计。阿克曼模型车辆根据固定的轴距L和前轮转向角度δ确定车辆的转弯半径R,车辆的运动由前轮转角和车速共同控制,规划器会根据车辆的约束条件生成运动基元。约束条件包括最大、最小速度VmaxVmin,最大、最小加速度amaxamin,最大转向角度δmax和最小转弯半径Rmin。使用运动基元构建的图形如图2所示。

假设S1为起始节点,运动基元集为每个车辆方向进行预先计算,经过预先构建的过程到达下一可能节点,并且计算出从S1节点到下一节点Si的成本值c(S1,Si)10,此时的真实通行成本表示为

g(Si')=g(Si)+c(S1,Si)

生成的运动基元被存储在一个查找表中,在全局路径规划中利用这些基元作为约束对路径进行优化。

2.2 基于弹性带的局部路径规划

与DWA算法相比,TEB算法具有更好的全局视角、多约束处理能力和广泛的适用性,能够更好地适应实际车辆的运动学特性11

TEB算法生成的轨迹由一系列离散的姿态点构成,这些姿态点不仅包含了位置信息,还附带了各自独立的时间戳信息。TEB算法使用图优化框架 General Graph Optimization (G2O)来优化这些离散的姿态点,进一步提高轨迹的质量。

序列与时差关系如图3所示,(xi,yi)表示某一时刻小车中心点坐标,βi表示同一时刻小车偏转角度,小车的中心点坐标和偏转角度构成了该时刻小车的位姿Xi,其表达式如式(7)所示。

Xi=(xi,yi,βi)i=0,1,,nT,nN

多个位姿构成空间位姿序列,两个位姿之间的时间间隔为ΔTi,多个时间间隔构成时间序列,由空间位姿序列和时间序列可得到路径R

TEB算法中,利用姿态和时间间隔作为优化过程中的变量,引入动态约束条件来寻找最优化的路径规划方案12,这些动态约束包括速度和加速度限制、路径长度、运动学规律、障碍物与车辆之间的距离以及车辆在轨迹上的运行时间等。随后,通过设置加权多目标函数和G2O算法求解后得到最优路径R*,如式(8)(9)所示。

f(R)=aγkfk(R)
R*=argminRf(R)

式中,f(R)为多种条件约束的目标函数,γk为目标函数权重值,fk(R)为约束条件函数。

3 实验分析

3.1 软件系统框架

基于ROS设计智能轮式车辆的导航框架,实现SLAM建图和自主导航功能,自主导航框架如图4 所示。

框架中的主要功能节点move_base以插件的形式加载代价地图和路径规划算法。本文利用ROS的通信机制完成各节点间的数据传输,从而实现自主导航功能。自主导航实现过程如下:

1)订阅话题/map:地图信息,订阅话题/tf:传感器数据、机器人定位和里程计信息;

2)导航信息节点发布目标点位置;

3)根据地图信息、传感器数据生成全局代价地图,同时根据目标点位置进行全局路径规划;根据环境实时生成局部代价地图,进行局部路径规划并且获取里程计信息(话题/odom);

4)根据路径规划结果发布速度(cmd_vel)并控制底盘。

3.2 仿真实验分析

仿真环境为Ubuntu18.04和ROS melodic,仿真软件为gazebo11和rviz。

分别对ARA*算法和TEB算法进行测试。在ARA*算法测试过程中,分别对e值取2和1.5时进行验证。如图5所示,仿真设置一个50 m × 30 m的区域,黑色代表墙壁和障碍物,蓝色点为起点,绿色点为终点,红色线为e值等于2时的路径,紫色线为e值等于1.5时的路径。

图5结果表明ARA*算法能快速得到一条路径。随着膨胀系数e减小,路径会迭代到较优的选择,达到兼顾时效和质量的目的。

在rviz中对TEB算法进行测试,测试效果如图6所示。

采用阿克曼车型进行仿真实验。针对车辆的运动学特性设置目标点,生成的路径如图7所示。图7(a)中车辆通过掉头的方式到达目标点,改善了传统算法规划车辆到达目标点后原地转向的问题;图7(b)中当路径中突然出现障碍物时,车辆能够平滑地完成变线来避障;图7(c)中当目标点空间较为狭小时,车辆可以通过倒车到达目标点。以上行驶情况符合车辆的运动学限制。

为确保车辆在行驶过程中能够按照规划路径完成避障并顺利到达目标点,对车辆在本文导航方法中速度控制的准确性进行验证分析。使用rosbag指令记录图7(a)掉头的实验数据并且保存为csv文件,使用绘图工具对车辆的速度和车辆转角进行比对分析,数据曲线如图8所示。

图8中黄色实线为发布的控制速度(m/s),设置最大车速限制为1 m/s,蓝色的虚线为车辆的转角(rad)。分析图中数据,当转角在一定范围内波动时,控制车速比较稳定;在40 ~ 60 s和90 ~ 120 s区间内,当车辆因避障或者转弯转角发生较大变化时,控制车速也相应降低,达到安全稳定行驶的速度。根据以上分析可知,当车辆根据规划的路径需要进行方向调整或者转弯时,车速会得到控制;在较为平稳的路径下,车速也能快速达到限制速度。

3.3 实车实验分析

实车平台以松灵公司的scout mini移动平台为基础,实车图片如图9所示。本文设计的自主导航方法使用激光雷达和惯性传感器IMU等进行传感器信息融合。

在实验室分别使用Cartographer算法和Gmapping算法进行同步定位与地图构建,建图效果对比如图10所示。

可以看出,Cartographer算法相比Gmapping算法所构建的地图更为精确和完整,更少出现障碍物重影或偏移的情况,但会在部分角落出现边界丢失的问题。总体而言,使用Cartographer算法构建的地图具有更佳的准确性。

为了进一步比较上述两种SLAM算法的建图效果,对图10(a)中编号处的实际距离进行测量,然后利用rviz软件测量栅格地图中的相应位置,并计算出两次测量的绝对误差和相对误差的绝对值。表1表2分别为Cartographer算法和Gmapping算法的测量数据,可以看出,Cartographer 比 Gmapping的相对误差值更小,表明制作的地图精度更高,算法的稳定性也更好。

在Cartographer算法所构建的环境地图下,以ARA*作为全局路径规划算法,分别以TEB和DWA作为局部路径规划算法进行测试,效果对比如图11所示,图中绿色线条为规划路径,设定相同的起始点和目标点。对比图11(a)、(b)可以发现,与DWA算法相比,TEB算法规划的局部路径在起步阶段,车头方向与规划路径有更为平滑的过渡,减少了车辆跑偏的情况;车辆在运动过程中路径跟踪精度更高,使得TEB算法在复杂环境下的避障、运行时效及局部路径平滑性均具有更好的表现。

以TEB作为局部路径规划算法,分别对基于ARA*的SBPL_Lattice_Planner和基于Dijkstra算法的Global_Planner进行对比测试,结果如图12所示。图中绿色线条为规划路径,设定相同的起始点和目标点。对比二者生成的轨迹,在可通行的区域内,SBPL_Lattice_Planner规划的路径平顺性更好,减少了无人车自主导航过程中因拐点而减速停顿的现象。

设置不同目标点进行多次对比实验,记录完成时间、停顿次数和是否到达目标点等数据,测试本文方法及Ros⁃navigation自主导航方法的性能,结果如表3表4所示。由表34实验结果可知,基于SBPL_Lattice_Planner和TEB_Local_Planner的自主导航方法在运行时效性、稳定性等方面具有一定的优势。其中,在运行时效方面,取前5次实验的完成时间求平均值,得出本文自主导航方法较原自主导航方法提升约为4.7%。

4 结束语

本文针对智能轮式车辆设计了一种结合使用Cartographer建图、SBPL_Lattice_Planner全局路径规划和TEB_Local_Planner局部路径规划的自主导航方法。经过实验对比发现,相比Gmapping算法使用Cartographer算法所构建的地图更为精确和完整;使用SBPL_Lattice_Planner和TEB_Local_Planner路径规划模块能够生成平稳顺滑、质量较高的轨迹,精确有效地完成避障、掉头等动作,使得智能轮式车辆在符合车辆运动学特性的情况下,按照规划路径到达目标点,解决了原自主导航方法存在路径质量不高和因为疏忽车辆运动学特性导致车辆无法实现预期目标的问题。

本文设计的自主导航方法无论是面向军事领域还是民用领域都提供了一种路径质量更佳、适用范围更广的新方案。未来,智能车辆自主导航将深度融合大模型等新兴技术,向多机协同方向深化演进,以高效适应动态复杂环境下的任务需求。

参考文献

[1]

GRISETTI GSTACHNISS CBURGARD W. Improved techniques for grid mapping with Rao⁃Blackwellized particle filters[J]. IEEE Transactions on Robotics200723(1): 34-46.

[2]

HESS WKOHLER DRAPP Het al. Real⁃time loop closure in 2D LIDAR SLAM[C]//2016 IEEE International Conference on Robotics and Automation (ICRA). Stockholm, 2016: 1271-1278.

[3]

KHATTAB OYASSER AJARADAT M Aet al. Intelligent adaptive RRT* path planning algorithm for mobile robots[C]//2023 Advances in Science and Engineering Technology International Conferences (ASET). Dubai, 2023: 1-6.

[4]

ZHAO YZHU Y QZHANG P Xet al. A hybrid A* path planning algorithm based on multi⁃objective constraints[C]//2022 Asia Conference on Advanced Robotics, Automation, and Control Engineering (ARACE). Qingdao, 2022: 1-6.

[5]

黄梦涛,李智伟. 改进ARA*算法的移动机器人路径规划[J]. 计算机工程与应用202258(24):291-297.

[6]

HUANG M TLI Z W. Path planning of mobile robot based on improved ARA* algorithm[J]. Computer Engineering and Applications202258(24): 291-297.(in Chinese)

[7]

李志龙. 半结构化环境下机器人低能耗路径规划方法研究[D]. 天津:河北工业大学,2020.

[8]

LI Z L. Low energy consumption of robots in some unknown environments research on path planning methods[D]. Tianjin: Hebei University of Technology, 2020.(in Chinese)

[9]

陈都,孟秀云. 基于改进ARA*算法的无人机在线航迹规划[J]. 飞行力学202139(1):60-65.

[10]

CHEN DMENG X Y. UAV online path planning based on improved ARA* algorithm[J]. Flight Dynamics202139(1): 60-65.(in Chinese)

[11]

熊光明,于全富,胡秀中,. 考虑平台特性的多层建筑物内履带式无人平台运动规划[J]. 兵工学报202344(3):841-850.

[12]

XIONG G MYU Q FHU X Zet al. A motion planner for unmanned tracked vehicles in multi⁃storey buildings considering the characteristics of vehicles[J]. Acta Armamentarii202344(3): 841-850.(in Chinese)

[13]

陈慧岩,关海杰,刘海鸥,. 履带平台无人驾驶系统基于语义信息的模块串联方法[J]. 兵工学报202243(11):2705-2716.

[14]

CHEN H YGUAN H JLIU H Oet al. A semantic information⁃based module series method for unmanned tracked driving systems[J]. Acta Armamentarii202243(11): 2705-2716.(in Chinese)

[15]

COHEN B JCHITTA SLIKHACHEV M. Search⁃based planning for manipulation with motion primitives[C]//2010 IEEE International Conference on Robotics and Automation. Anchorage, 2010: 2902-2908.

[16]

郑为奇,汪地. ROS室内移动机器人避障研究[J]. 计量与测试技术202249(10):44-47.

[17]

ZHENG W QWANG D. Research on indoor mobile robot obstacle avoidance based on ROS[J]. Metrology & Measurement Technique202249(10): 44-47.(in Chinese)

[18]

郭烈,齐国栋,赵一兵,. 融合A*与TEB算法的机器人多任务导航调度研究[J]. 华中科技大学学报(自然科学版)202351(2):82-88.

[19]

GUO LQI G DZHAO Y Bet al. Research on multi-task navigation and scheduling for robots by fusing A* and TEB algorithms[J]. Journal of Huazhong University of Science and Technology (Natural Science Edition)202351(2): 82-88.(in Chinese)

基金资助

中央高校基本科研业务费(buctrc202204)

多栖平台驱动系统全国重点实验室开放基金项目(QDXT-WY-202407-08)

AI Summary AI Mindmap
PDF (2114KB)

0

访问

0

被引

详细

导航
相关文章

AI思维导图

/