基于改进时间弹性带算法的局部路径规划
Local path planning based on an improved time elastic band algorithm
通讯作者:
收稿日期: 2025-05-21
| 基金资助: |
|
Received: 2025-05-21
| Fund supported: | 陕西省秦创原“科学家+工程师”队伍建设项目(2024QCY-KXJ-161);咸阳市重点研发计划资助项目(L2024-ZDYF-ZDYF-GY-0004). |
作者简介 About authors
胡欣(1975—),女,教授,从事计算机视觉研究.orcid.org/0009-0006-2066-5490.E-mail:
针对时间弹性带(TEB)算法在复杂环境下出现加速度变化率突变、控制指令不平滑的问题,提出改进的TEB算法. 在原始TEB算法基础上引入加加速度(jerk)约束来平滑速度和加速度曲线,避免机器人在运动过程中发生震荡、抖动现象. 采用自适应调整弹性带节点数量的方法来自适应调整插值点,提高机器人移动过程中的安全稳定性. 为了验证改进TEB算法的有效性,选取远距离长狭窄走廊环境和多转弯包含反向停车环境对APF算法、DWA算法、传统TEB算法和改进TEB算法进行仿真对比实验. 结果表明,改进TEB算法能生成更平滑路径. 在走廊环境中,其线速度方差、平均角速度、角速度方差分别较传统TEB降低了16.67%、7.38%、12.84%;在多转弯环境中,则分别降低了8.61%、4.34%、8.58%,速度与角速度更加平滑. 另外,在真实实验环境下验证了算法的有效性.
关键词:
Aiming at the problems of sudden changes in the acceleration rate and unsmooth control instructions of the time elastic band (TEB) algorithm in complex environments, an improved TEB algorithm was proposed. Firstly, this algorithm introduced the jerk constraint on the basis of the original TEB algorithm to smooth the velocity and acceleration curves and avoid oscillation and jitter phenomena of the robot during the movement process. Secondly, the method of adaptively adjusting the number of elastic band nodes was adopted to adaptively adjust the interpolation points, which improved the safety and stability of the robot’s movement process. To verify the effectiveness of the improved TEB algorithm, simulation and comparative experiments of the APF algorithm, DWA algorithm, traditional TEB algorithm and improved TEB algorithm were conducted in a long-distance long narrow corridor environment and a multi-turn environment including reverse parking. The results demonstrated that the improved TEB algorithm generated smoother paths. In corridor environments, the variance of linear velocity, the mean angular velocity, and the variance of angular velocity were reduced by 16.67%, 7.38%, and 12.84%, respectively, compared with the traditional TEB algorithm. In multi-turn environments, the corresponding reductions were 8.61%, 4.34%, and 8.58%, respectively. This led to smoother linear and angular velocities with reduced oscillations. Furthermore, the effectiveness of the algorithm has been validated in a real-world experimental environment.
Keywords:
本文引用格式
胡欣, 张家钟, 胡帅, 肖剑, 罗诗伟, 马亮.
HU Xin, ZHANG Jiazhong, HU Shuai, XIAO Jian, LUO Shiwei, MA Liang.
局部路径规划算法是一种实时的规划方法,主要用在动态或未知的环境中,根据机器人感知到的环境信息来调整机器人的运动速度和方向,完成避障和到达目标点[10-12]. Rösmann等[13-15]提出的时间弹性带(time elastic band,TEB)算法是一种典型的局部路径规划算法,该算法基于优化理论将机器人的运动轨迹建模为一个弹性带(elastic band,EB),并在弹性带上加入时间信息,通过优化算法调整弹性带的形状和时间插值分配,使其满足动力学约束和环境约束,从而生成平滑且可行的路径. Fox等[16]提出动态窗口法(dynamic window approach,DWA)算法,DWA算法通过机器人的运动学模型,以及当前速度、加速度和环境信息,生成一个动态窗口,该动态窗口的边界由机器人的各种运动学约束来决定,然后通过评估函数对生成的每条轨迹进行评估,将最佳速度向量作为机器人的控制输入,以实现在动态环境中的避障和路径优化[17-19]. 人工势场法(artificial potential field approach,APF)[20-22]通过模拟物理场,将目标位置设定为引力源,障碍物设定为排斥源,使得机器人在这些虚拟力的共同作用下进行移动. TEB算法将路径规划问题建模为时间参数化的优化问题,并引入了速度、加速度及路径连续性的约束,相较DWA算法能够生成更加平滑且动态可行的轨迹;同时,TEB通过全局优化的弹性带结构,改善了APF算法容易陷入局部极小值的问题,具备更强的鲁棒性与环境适应能力.
本研究针对TEB算法在复杂环境中出现的加速度曲线突变和算法调节路径节点数量与环境动态需求不匹配导致机器人运动不稳定的问题,在原始TEB算法的基础上引入加加速度(jerk)约束来平滑速度和加速度曲线,同时提出一种时间分辨率自适应调整方法,使弹性带节点密度能够根据不同环境特性动态变化,减少了机器人运行过程中的震荡、抖动现象,并通过实验验证方法的有效性.
1. 传统TEB算法
1.1. 机器人模型
基于四轮两驱差速小车开展实验研究. 为了简化移动机器人的控制算法的实现,作出如下假设.
1) 刚体假设:忽略结构弹性变形,将机器人视为刚体系统;
2) 纯滚动约束:假设驱动轮与地面接触点满足纯滚动条件,无相对滑动;
3) 平面运动假设:限定机器人在二维平面内运动,忽略地面高度变化及垂直方向动力学影响.
差速机器人模型如图1所示,其前侧2个车轮为驱动轮,后侧2个车轮为全向轮,可视作两轮差速模型,(
图 1
机器人车轮速度、角速度和转弯半径存在以下关系:
式中:
进而,差动移动机器人线速度
1.2. TEB算法基本原理
弹性带算法是由n个中间机器人的位姿
式中:
TEB算法在EB算法基础上进行了改进,通过引入2个连续位姿之间的时间信息
图 2
式中:
将位姿序列与时间序列合并,在TEB算法中将待优化的变量定义为
TEB算法的核心思想是使用加权和模型,通过标量化多目标优化方法,对TEB算法的位姿序列进行实时适应性调整和优化:
式中:
1.3. TEB算法约束条件
在TEB算法中,目标函数的约束主要由2种基本类型构成. 第1类是基于惩罚函数的约束,核心是对机器人的速度与加速度实施边界限制;第2种是涉及轨迹优化的目标函数约束,例如最短路径、最短执行时间以及与障碍物的距离等. 稀疏约束在机器人框架中难以自由使用,因此这些约束被转化为目标函数的形式,并通过分段连续且具备可微分的成本函数来评估违反约束的惩罚值. 误差函数表达式如下:
式中:
1.3.1. 路径点和障碍物约束
路径点约束与障碍物约束的主要机理可类比于人工势场方法. 其中,路径点对机器人产生吸引作用,引导其朝向目标运动;障碍物则产生排斥作用,迫使机器人远离危险区域,从而生成安全路径. 路径跟随目标函数和障碍物目标函数表达式分别为
式中:
1.3.2. 速度和加速度约束
机器人的速度和加速度的动态约束通过惩罚函数来进行描述. 根据连续的2个位姿点
加速度与2个连续的平均速度有关,公式如下:
1.3.3. 非完整约束
差分驱动的机器人只有2个局部的自由度,即只能在机器人当前运动朝向的方向上移动,这种约束使得路径展示出由弧形构成的平滑特性. 因此,相邻的2个位姿必须位于一个曲率近似恒定的公共弧形上,如图3所示. 其中,初始位姿
图 3
其中,
相应的目标函数表达式如下:
1.3.4. 最小时间约束
EB方法通过对路径进行收缩和调整,实现对原始路径的优化. 在此基础上,TEB算法引入了时间维度信息,将仅以最短路径为优化目标扩展为以最快路径为目标,或将最短路径与最快路径这2类目标进行联合优化. 其中,最快路径目标通常通过最小化相邻路径点之间时间间隔的平方和实现.
1.4. TEB算法求解模型构建
TEB 算法的核心在于采用加权和模型,对包含时间间隔信息的机器人位姿序列进行联合优化,将各类约束统一建模为变量化的多目标优化问题,从而生成满足动力学约束的最优轨迹,如式(7)所示.
TEB算法将机器人的位姿、相邻位姿的时间间隔以及障碍物等作为节点,然后通过g2o框架,将目标函数与受其影响的节点经由边连接起来,由此构建出超图(Hyper-graph). 之后借助g2o框架中的求解器进行求解.
超图是一种对传统图结构的扩展,其边不再局限于连接2个节点. 超图中的边(hyper-edge)可同时关联多个节点,用以描述多变量之间的约束关系. 在 TEB 框架中,每个目标函数依赖于TEB元组中的一个子集,并由一个超边表示,该超边连接所有与该目标函数相关的节点,这些节点以参数形式参与优化. 如图4所示,展示了较多目标函数实现的TEB超图. 单圈表示待优化的状态变量,双圈表示固定或受约束的状态节点,双圈节点值固定,不受优化改变,方框表示超边或目标函数节点,节点将每条多边形内的目标函数按照其权重添加到总体的目标函数中. 从图中可以看出,除了固定障碍节点外,路径点
图 4
TEB算法求解的流程图如图5所示. 初始路径
图 5
TEB 算法的整体流程如下:1)轨迹初始化:根据输入的初始路径点初始化TEB 控制元组,并对状态节点进行初始插入或删除. 2)超图构建:融合传感器获取的障碍物信息,构建包含状态节点与约束项的TEB超图.3)轨迹优化:对超图进行优化,得到满足动力学与安全约束的轨迹. 4)节点更新与检验:根据优化结果调整TEB状态节点,并对轨迹可行性进行检验. 5)控制输出与循环规划:基于运动学模型计算控制量并发送至控制器执行;同时随机器人运动和环境变化持续更新超图并重复优化,直至到达目标点.
2. 改进TEB算法研究
2.1. 引入加加速度(jerk)约束
传统TEB算法的运动规划优化框架主要针对速度与加速度边界运动学约束条件,但这类传统约束对机器人运动轨迹的调节能力有限. 本研究通过在优化框架中引入位置三阶导数(jerk)约束,将误差项形式的刚性约束转化为目标函数中的惩罚型软约束. 该改进方案能在保证数值稳定性的同时,显著提升运动控制的可控性.
jerk是对加速度的导数,约束jerk可以平滑速度和加速度曲线,使机器人运动更顺滑. 速度约束的实现需要2个位姿点以及1个对应的时间间隔,加速度的约束需要3个位姿点以及2个对应的时间间隔,加加速度jerk的约束则需要4个位姿点以及3个对应的时间间隔. 故设4个连续的位姿点为
为了获得精确结果,须确保
线jerk和角jerk的约束误差函数为
式中:
添加jerk约束后的超图如图6所示.
图 6
图 6 增加jerk约束的超图结构示意图
Fig.6 Schematic diagram of hyper-graph structure with jerk constraint added
2.2. 自适应调整弹性带节点密度
在传统 TEB 算法中,轨迹节点基于固定时间分辨率均匀配置. 在路径平直且距离较长的区域,节点间的距离较大,导致时间间隔较大;而在障碍密集或路径转弯区域,为了确保机器人能够平稳、可靠地跟踪轨迹,须适当缩短时间间隔,从而提高节点密度.
在TEB算法中,
尽管该方法可满足固定时间分辨率的要求,但在某些场景下表现仍有不足,固定分辨率可能导致路径出现抖动. 为此,本研究提出自适应改变时间分辨率的方法,以实现轨迹节点密度对环境变化的动态适应.
引入jerk约束后的TEB算法,为了实现对机器人的精准控制,须对路径曲率进行实时判断. 在路径转弯曲率较大处,相较于正常运行工况,须额外插入更多节点,从而更精确地调控机器人的速度与角速度,确保运动过程中加速度变化率满足约束条件,提升运动的平稳性与安全性,曲率计算表达式如下:
式中:
当针对动态障碍物时,TEB算法会在每次更新优化时获取移动障碍物的速度、方向和位置,进而线性预测障碍物后续位置. 此时TEB算法不断调整轨迹节点及时间分配,插入更多节点以精确快速地调整机器人运动方向和速度,在避免与障碍物相撞的前提下,实现安全、顺利、快速通过.
针对狭窄的走廊环境,通常须增加位姿点,通过更多控制使机器人沿全局路径点运动,并避免与障碍物发生碰撞. 但由于狭窄区域一般较长,且障碍物分布不规则,插入大量节点会导致路径在局部区域出现锯齿状或抖动,影响机器人的连续性运动,导致机器人无法顺利地到达下一个节点. 因此,须在狭窄区域内减少一定数量的节点.
综上,在曲率较大时,增大曲率因子
为了确定
式中:
定义
式中:根据经验,
同理可得,定义
式中:根据经验,
定义
式中:根据经验,
3. 实验分析
3.1. 仿真实验
为了验证本研究提出的改进TEB算法的有效性,分别对DWA算法、APF算法、传统的TEB算法和改进后的TEB算法进行仿真实验. 仿真平台基于Ubuntu20.04系统和系统下的Rviz与Stage软件,用于仿真的部分参数如表1所示. 其中,
表 1 仿真参数设置
Tab.1
| 参数 | 数值 | 参数 | 数值 | |
| 0.4 | 0.2 | |||
| 0.3 | 0.5 | |||
| 0.5 | 0.5 | |||
| 0.5 | 0.6 |
为了验证改进算法的有效性,实验设计2类不同路径:路线1为远距离长狭窄走廊环境,路线2为多转弯包含反向停车环境. 路线1中不同算法的规划路径及转弯局部放大图如图7所示. 图7(a)为不同算法下机器人的实际行驶路径,图7(b)为转弯时的局部放大图. 可以看出,APF路径呈现出剧烈震荡与回拉现象,可见该算法易受虚拟势场极值影响,不适合对线速度、角速度平滑性要求高的场景;DWA、传统TEB和改进TEB算法表现较好,DWA算法跟随全局路径的效果较好,但也存在轻微抖动,传统TEB算法在拐角出路径存在外扩现象,说明其对高曲率区域的控制不足,改进后的TEB算法路径贴近理想最短路径,转弯过渡自然,曲率连续,在路径平滑性方面表现优异.
图 7
图 7 路线1的4种算法的路径及局部放大图
Fig.7 Paths and local enlarged views of four algorithms for route 1
图 8
图 8 路线1的4种算法的线速度对比
Fig.8 Comparison of linear velocities of four algorithms for route 1
图 9
图 9 路线1的4种算法的角速度对比
Fig.9 Comparison of angular velocities of four algorithms for route 1
路线1中4种算法的仿真数据如表2所示. 其中,
表 2 路线1的线速度和角速度对比
Tab.2
| 算法 | ||||
| APF | 0.391 6 | 0.003 3 | 0.306 1 | 0.226 4 |
| DWA | 0.375 0 | 0.004 7 | 0.138 4 | 0.049 1 |
| 传统TEB | 0.366 0 | 0.005 4 | 0.171 9 | 0.036 6 |
| 改进TEB | 0.382 0 | 0.004 5 | 0.159 2 | 0.031 9 |
图 10
图 10 路线2的4种算法的路径及局部放大图
Fig.10 Paths and local enlarged views of four algorithms for route 2
图 11
图 11 路线2不同算法线速度对比
Fig.11 Comparison of linear velocities of different algorithms for route 2
图 12
图 12 路线2不同算法角速度对比
Fig.12 Comparison of angular velocities of different algorithms for route 2
路线2中4种算法的仿真数据如表3所示. 可以看出,改进TEB算法在线速度方差、平均角速度和角速度方差上相较于APF算法值更低;改进TEB算法相较于DWA算法具有更大的平均线速度,同时线速度方差、平均角速度以及角速度方差更小;改进TEB算法的线速度方差、平均角速度和角速度方差分别比传统TEB算法下降了8.61%、4.34%和8.58%,使得速度与角速度更加平滑,波动减少,进一步验证了改进TEB算法的有效性.
表 3 路线2线速度与角速度对比
Tab.3
| 算法 | ||||
| APF | 0.390 9 | 0.003 5 | 0.237 1 | 0.064 7 |
| DWA | 0.306 3 | 0.021 8 | 0.203 4 | 0.075 2 |
| 传统TEB | 0.339 8 | 0.015 1 | 0.188 7 | 0.044 3 |
| 改进TEB | 0.332 9 | 0.013 8 | 0.179 9 | 0.040 5 |
3.2. 实物验证
为了验证改进TEB算法的有效性,采用搭载Jetson Nano主控板、STM32底层驱动板和镭神M10P激光雷达的四轮两驱差速移动机器人平台,小车主机使用ubuntu18.04版本,在如图13所示的简单结构化环境与复杂动态环境中进行系统性实验验证.
图 13
图 14
图 14 简单环境下的TEB算法和改进TEB算法对比
Fig.14 Comparison of TEB and improved TEB algorithms in a simple environment
图 15
图 15 复杂环境下的TEB算法和改进TEB算法对比
Fig.15 Comparison of TEB and improved TEB algorithms in a complex environment
4. 结 语
本研究介绍了传统TEB算法的基本原理、数学模型构建、轨迹约束条件以及TEB模型求解方法. 针对复杂环境下加速度变化率突变导致机器人速度曲线异常、运动过程震荡抖动问题,提出基于TEB算法的改进策略,引入加速度的变化率jerk约束和自适应调节弹性带节点密度的方法. 在TEB算法的基础上增加jerk约束,其中,jerk 约束的融入有效平滑了路径全程的速度变化,保障运动连贯性;自适应调整弹性带节点密度方法,则依据环境中障碍物分布情况,动态调整时间间隔,灵活改变节点密度,增强了算法对复杂环境的适应性,显著提升了机器人运动控制的精准度与稳定性. 仿真实验与真实实验验证了改进算法的有效性. 时间分辨率自适应调整策略主要依据环境复杂度进行调节,其参数设置仍具有一定的经验性. 在高度动态或不确定环境中,节点调整的鲁棒性仍有改进余地. 未来计划考虑引入学习方法或自适应参数调节机制,实现更加智能的节点密度调整策略.
参考文献
电力巡检机器人路径规划技术及应用综述
[J].DOI:10.13195/j.kzyjc.2022.2219 [本文引用: 1]
Review of research and applications on path planning technology for power inspection robots
[J].DOI:10.13195/j.kzyjc.2022.2219 [本文引用: 1]
丘陵山地果园植保无人机三维路径规划
[J].
3D path planning of plant protection UAVs in hilly mountainous orchards
[J].
我国服务机器人技术研究进展与产业化发展趋势
[J].DOI:10.3901/JME.2022.18.056 [本文引用: 1]
Research progress and industrialization development trend of Chinese service robot
[J].DOI:10.3901/JME.2022.18.056 [本文引用: 1]
Mobile robot’s path-planning and path-tracking in static and dynamic environments: dynamic programming approach
[J].DOI:10.1016/j.robot.2023.104592 [本文引用: 1]
基于动态寻优蚁群算法的移动机器人路径规划
[J].
Path planning of mobile robot based on the dynamic optimization ant colony algorithm
[J].
改进A*与ROA-DWA融合的机器人路径规划
[J].
Path planning based on fusion of improved A* and ROA-DWA for robot
[J].
Improved A-star algorithm based on multivariate fusion heuristic function for autonomous driving path planning
[J].DOI:10.1177/09544070221100677 [本文引用: 1]
基于语义分割的启发式采样路径规划算法
[J].DOI:10.19650/j.cnki.cjsi.J2413264 [本文引用: 1]
Heuristic sampling path planning algorithm based onsemantic segmentation
[J].DOI:10.19650/j.cnki.cjsi.J2413264 [本文引用: 1]
B样条技术与遗传算法融合的全局路径规划
[J].
Global path planning with integration of B-spline technique and genetic algorithm
[J].
机器人导航的路径规划算法研究综述
[J].DOI:10.3778/j.issn.1002-8331.2301-0088 [本文引用: 1]
Review of path planning algorithms for robot navigation
[J].DOI:10.3778/j.issn.1002-8331.2301-0088 [本文引用: 1]
机器人路径规划算法综述
[J].
Review of path planning for robots
[J].
移动机器人路径规划算法的研究综述
[J].
Review of path planning algorithms for mobile robots
[J].
The dynamic window approach to collision avoidance
[J].DOI:10.1109/100.580977 [本文引用: 1]
融合改进A*算法和动态窗口法的全局动态路径规划
[J].DOI:10.7652/xjtuxb201711019 [本文引用: 1]
Global dynamic path planning based on fusion of improved A* algorithm and dynamic window approach
[J].DOI:10.7652/xjtuxb201711019 [本文引用: 1]
穿越稠密障碍物的自适应动态窗口法
[J].DOI:10.13195/j.kzyjc.2017.1497
Self-adaptive dynamic window approach in dense obstacles
[J].DOI:10.13195/j.kzyjc.2017.1497
Reinforcement based mobile robot path planning with improved dynamic window approach in unknown environment
[J].DOI:10.1007/s10514-020-09947-4 [本文引用: 1]
基于改进人工势场法的移动机器人路径规划
[J].
Path planning of mobile robot based on improved artificial potential field method
[J].
An improved artificial potential field method for path planning and formation control of the multi-UAV systems
[J].
基于模型预测控制与改进人工势场法的多无人机路径规划
[J].
A multiple UAVs path planning method based on model predictive control and improved artificial potential field
[J].
狭窄空间的位姿辅助点TEB无人车导航方法
[J].DOI:10.19650/j.cnki.cjsi.J2210653 [本文引用: 1]
TEB unmanned vehicle navigation method for position and attitude auxiliary points in narrow space
[J].DOI:10.19650/j.cnki.cjsi.J2210653 [本文引用: 1]
Improvement of the TEB algorithm for local path planning of car-like mobile robots based on fuzzy logic control
[J].DOI:10.3390/act14010012 [本文引用: 1]
改进TEB算法的局部路径规划算法研究
[J].DOI:10.3778/j.issn.1002-8331.2108-0290 [本文引用: 1]
Research on local path planning algorithm based on improved TEB algorithm
[J].DOI:10.3778/j.issn.1002-8331.2108-0290 [本文引用: 1]
改进TEB算法的多机器人动态避障策略研究
[J].DOI:10.3969/j.issn.1671-637X.2022.05.021 [本文引用: 1]
On dynamic obstacle avoidance strategy for multi-robot with improved TEB algorithm
[J].DOI:10.3969/j.issn.1671-637X.2022.05.021 [本文引用: 1]
/
| 〈 |
|
〉 |

