基于改进人工势场法的无人车路径规划算法
2022-09-14罗洁王中训潘康路卢中原刘言
罗洁,王中训,潘康路,卢中原,刘言
(烟台大学光电信息科学技术学院,山东烟台 264005)
随着无人车技术的发展,在多个场景中,无人车都得到了广泛的应用,但障碍物的出现会阻碍无人车的工作。因此,如何做到有效规避障碍物是无人驾驶路径规划技术方面永恒不变的话题。
为了使无人车在有障碍物环境下实现无碰撞路径规划,目前比较主流的全局路径规划[1]算法有Dijkstra算法[2]、A*算法[3]、蚁群算法[4]、遗传算法[5]以及强化学习[6]等。全局路径规划算法需要掌握全局的环境信息,再根据环境信息作出路径规划,缺乏对未知环境的适应性。局部路径规划[7]算法有DWA 算法[8]、人工势场法[9]等。局部路径规划算法存在不能保证最优解的情况,容易陷入局部最优。并且上述的方法大多适用于静态环境,不适用于动态环境。
因此,为了实现无人车在未知动态环境中的路径规划,该文提出了基于改进的人工势场法来实现局部在线路径规划,并且结合LSTM 的Q-Learning 强化学习算法来规避动态障碍物。该文创新性地提出了虚拟势场检测圆模型,根据圆上的虚拟势场检测点与障碍物斥力场接触的分布信息和数量信息来检测“最小值陷阱[10]”,并改变无人车运动状态实现有效规避。另外检测点信息可作为LSTM 的信息输入,利用LSTM 处理时序数据的特性,获取障碍物的运动预测状态空间,以此实现无人车在未知动态环境中的无碰撞路径规划。
1 人工势场法
作为一种经典的路径规划算法,人工势场法被广泛地用于局部路径规划。人工势场法是在无人车工作场景中人工模拟出一个势场,类比于电磁场,无人车受吸力和斥力的影响,根据势场的特性来规划路径的方法。无人车如果要从一个地点到另一个指定目标地点,可以在目标地点增加一个对无人车的吸力场;同理,要避开障碍物,就需要在检测到的障碍物及其周围加一个随距离增大而衰减的斥力场,赋予无人车规避障碍物的能力。以此建立一个人工势场,无人车沿着势场行进,最后到达目标点,如图1所示。
图1 人工势场中无人车的势场分析
人工势场法的引力势场函数一般形式为:
式中,ka是一个引力增益系数,xn-xg是当前位置与目标点的距离。
障碍物的斥力势场函数一般形式为:
式中,kr是一个斥力增益系数,r0为斥力作用范围,r为无人车距离障碍物斥力场中心的距离。
人工势场法与其他经典避障算法相比有很多突出优点,比如:计算量小、可以解决局部避障问题、可以解决突发威胁等。因此,该算法被广泛用于避障算法中。
但人工势场法也有很明显的缺点。无人车依靠从各个方向检测到的势场的叠加获得合势场,以合势场[11]的方向和大小来判断接下来运动轨迹。但如果出现合势场近似为0 的情况,那么无人车就不会移动,停滞不前。区域内障碍物越多,出现合势场为0 的情况的概率越高,越容易停滞不前。这种现象被称为“最小值陷阱”。
2 改进的人工势场法
2.1 “最小值陷阱”
在传统人工势场法的基础上,文中提出了虚拟势场检测圆模型。该圆由N个虚拟检测点以无人车K为中心,以R为半径,形成虚拟检测圆T。每个点均可检测到障碍物斥力场,并且随着无人车对障碍物的靠近,圆T与障碍物斥力场接触的点的数量n会呈正态分布,如图2 所示。
图2 虚拟势场检测圆模型及接触点分布图
当检测圆T上出现两个离散的正态分布,并且推算出来的障碍物之间的距离d1,2小于安全距离dsafe,dsafe为可能形成最小值陷阱的两个障碍物之间的距离,如图3 所示,则可预测为“最小值陷阱”,需满足的以下两个条件如式(3)所示:
图3 有两处障碍物的“最小值陷阱”示意图
2.2 规避“最小值陷阱”
2.2.1 建立无人车运动学模型
人工势场法应用于无人车的路径规划,为了保证无人车运动的稳定性,需要考虑无人车自身运动学约束。该研究采用自行车运动学模型[12]来简化解读,如图4 所示。
图4 自行车运动学模型
简化后得式(4):
式中,δ为前轮转向角,L为轴距,R为无人车在该转向角下运动形成圆的半径。
由曲率半径R、角速度ω与速度v之间的等式:v=ωR,可得无人车的运动学模型如式(5)所示:
其中,v为无人车的速度,x˙为无人车在世界坐标系中X轴方向上的分速度,y˙为无人车在世界坐标系中Y轴方向上的分速度,θ·为无人车在世界坐标中的航向角,θ为无人车的角速度。
2.2.2 更新航向角
设检测圆与两个障碍物斥力场的两个外侧接触点为a1、b1。两个点与无人车K以及目标点X形成两个夹角α和β,取其中最小角度作为无人车K的更新航向角,如图5 所示。即:θ=min(α,β),由此以较短路径驶离“最小值陷阱”。
图5 无人车更新航向角示意图
3 基于LSTM改进的强化学习动态环境路径规划算法
3.1 LSTM
LSTM[13]是长短时记忆网络,由RNN(循环神经网络)[14]发展而来,与RNN 相比,具有良好的记忆能力,在解决传统RNN 难以解决的梯度消失和长依赖问题上有显著作用。因此LSTM 成为了一种应用广泛的神经网络。
经典LSTM 的公式为:
其中,式(6)是遗忘门,式(7)~(8)是输入门,式(9)是输出门,通过上式可以画出如图6 所示的LSTM 结构图。
图6 LSTM结构图
与传统RNN 相比,LSTM 最大的特色是增加了Ct-1和Ct,它们被称为细胞状态。细胞状态在每次迭代过程中都会进行一次更新,将历次最优结果保留下来,形成长期记忆。这样就可以使用较长的历史信息去预测未来的情况,与短期的历史信息配合,形成一个长短时记忆网络,提高无人车的避障学习能力。避免由于短期记忆的偏差对神经网络整体的影响,提高了系统的抗干扰能力。
3.2 结合LSTM的Q-Learning强化学习算法
改进的人工势场法虽然能够有效地避开“最小值陷阱”,但是对未知的动态环境,具有比较差的适应性。原因在于虚拟势场检测圆模型无法预测障碍物的运动状态,并且针对移动速度较快的障碍物,该模型容易造成信息缺失。针对该问题,提出了LSTM循环神经网络结合Q-Learning 的强化学习算法结构来优化虚拟势场检测圆模型。
首先利用LSTM 循环神经网络来处理虚拟势场检测圆模型返回的障碍物斥力场变化信息,利用LSTM 算法结合前序检测信息来生成当前时刻的输出,当前时刻的输出参考之前时刻信息的变化趋势的特点[15],来预测障碍物的运动状态,进一步得到障碍物的预测状态空间SO,并且调整虚拟势场检测圆模型的半径R,实现跟踪动态障碍物的目的,实现步骤如下:
步骤1:构建可调半径R的虚拟势场检测圆模型。
步骤2:获取圆T与障碍物斥力场接触的点的数量n分布信息和数量信息作为LSTM 的输入。
步骤3:获取障碍物预测状态空间SO。
步骤4:结合预测状态空间SO的空间位置和无人车的状态来调整半径R。
其中获取的障碍物预测状态空间SO添加到QLearning 中的无人车状态空间S,重新设置回报函数R,使无人车以最佳的回报来躲避动态障碍物。
式(11)中,v·Δt代表小车沿当前航向角继续以速度v行驶。该设计添加无人车预测状态重新设置回报函数[16]。当无人车与障碍物中心距离大于无人车预测距离,则设置reward=-1,给予正回报。反之,则预测为“相撞”,给予负回报来使无人车更改方向,远离该预测区域。
4 实验及仿真结果分析
4.1 实验环境和模型搭建
实验搭建时用Python构建出一个120 m×120 m二维地图。空间内随机设置障碍物个数N0∈(20,50),设置单个障碍物的斥力场影响范围r=5 m。并对每个障碍物添加随机扰动因素,令障碍物以不规则运动模式运动。为方便结果观察,实验添加了固定和移动的“最小值陷阱”。构建虚拟势场检测圆模型,圆模型检测点数N与其半径R的函数关系式为:如图2 所示均匀分布在圆周。仿真结果如图7-8 所示,图中,点(0,0)为无人车起点;点(120,120)为无人车目标点;圆球代表障碍物及其影响范围;实线代表无人车运动轨迹。
图7 传统势场法
图8 改进的人工势场法
4.2 改进的人工势场法对比
分析图7-8 可知,在传统人工势场法条件下,无人车在遇到“最小值陷阱”时,出现了来回振荡的情况。在增加虚拟势场检测圆模型后的改进的人工势场法条件下,可以看出,面临“最小值陷阱”,无人车做到提前感知,并且有效规避了该陷阱,验证了该方法的有效性。
4.3 基于LSTM Q-Learning人工势场法对比
将固定半径R的虚拟势场检测圆模型放置于动态障碍物环境中,发现无人车对于不规则运动或者高速运动的障碍物,会出现来不及规避而相撞的情况。针对这一情况该文利用LSTM Q-Learning 算法提出新的可调半径R的虚拟势场检测圆模型来跟踪和预测障碍物的空间状态,做到有效规避。
由图9 可知,为障碍物添加随机扰动因素后,对移动速度较快的障碍物,无人车会出现来不及躲避的情况,并与之相撞。并且经过多次实验得出,二者相撞的概率为78%。由图10 可知,模型经过改进后,无人车能够规避高速障碍物,并且路线中有较为明显的预判行为,证实了该方法的可行性。
图9 原虚拟势场检测圆模型
图10 改进的虚拟势场检测圆模型
表1 数据中,信息缺失率以模型上的检测点的坐标与障碍物斥力场的坐标重合后,第二次获取的坐标信息不符合无人车与障碍物的运动情况为准。规避成功率以无人车做出规避动作,并观察是否成功规避为准。分析表1数据可知,基于LSTM Q-Learning算法提出的改进模型在信息缺失率和规避成功率方面均有较好的提升。
表1 模型改进前后效果对比
仿真实验结果表明,传统人工势场法利用斥力场和引力场相互作用来控制无人车,当无人车遇到“最小值陷阱”时,无人车常出现“卡死”和振荡的情况,而通过增加虚拟势场检测圆模型,无人车提前感知到障碍物,并且能够对“最小值陷阱”做出有效规避。
同时在动态环境中,固定半径R的虚拟势场检测圆模型对以不规则运动的障碍物和高速运动障碍物无法做到准确躲避,甚至相撞,并出现一定的信息缺失的情况。而通过LSTM Q-Learning 算法对障碍物运动状态进行预测,并将虚拟势场检测圆模型的半径R设置为可调,以达到一定程度的跟随障碍物,避免信息缺失。由结果可知,无人车能够顺利躲避动态障碍物,做到无碰撞路径规划。证明了该算法的有效性。
5 结束语
针对传统人工势场法存在的“最小值陷阱”问题,文中提出了虚拟势场检测圆模型。利用检测点返回的障碍物斥力场信息来提前感知到潜在的“最小值陷阱”,并且根据模型上的接触点,更新无人车的航向角,实现以较短路径做到有效规避。同时针对动态环境,该文提出LSTM Q-Learning 算法来获取障碍物的预测运动状态空间,并且针对固定半径R的虚拟势场检测圆模型在该环境下的信息缺失情况,提出可调半径R的改进模型,使无人车在动态环境中实现无碰撞的路径规划。利用Python 对上述两种方法进行了仿真,结果证明了其有效性和可行性。