一种基于Sigmoid函数的自动驾驶车辆运动规划方法
2022-07-16郑彩霞王为叶
郑彩霞,王为叶
(1.青岛科技大学,山东 青岛 266000;2.河北省汽车技术创新中心(长城汽车股份有限公司),河北 保定 071000)
0 引言
自动驾驶汽车是指能够感知环境信息、自动规划路线并控制汽车到达目的地的一种智能汽车[1-2]。其可以利用车辆自带的传感器感知车辆周边信息,并根据这些信息获取车辆位置、障碍物信息、道路信息等来进行规划路径和速度,最终控制模块控制车辆转向和加减速。
自动驾驶汽车的运动规划模块就是根据车辆及环境的信息,找出一条保证汽车在路网中运动平滑的曲线。当前主要的运动规划方法有路径速度分解法[3-5]、直接构造法、机器学习。以上方法都可以很好地规划出车辆行驶所需的路径和速度,但是每种方法都存在一些问题,例如A*算法在进行规划时需要构建栅格地图,对芯片的算法要求高。五次多项式曲线拟合方法只考虑初始点和终止点,而对中间轨迹点和车辆的最大最小车速无法进行控制。
Sigmoid函数是一个在生物学中常见的S型函数[6-7],也称为S型生长曲线。在信息科学中,由于其单增以及反函数单增等性质,Sigmoid函数常被用作神经网络的激活函数,该函数可积分,亦可导,因此基于改进的Sigmoid函数来做速度曲线,可以通过积分求取对应的路径,通过求导可以计算出对应的加速度,且计算过程简单,实现相应路径点速度及加减速度的计算。
1 Sigmoid函数介绍
Sigmoid函数表达式如下:
Sigmoid函数是S型函数,常被用作神经网络中的激活函数[8],将变量映射到(0,1)之间。该函数平滑且易于求导。
2 自动驾驶车辆的运动过程
自动驾驶车辆在路径规划模块规划出路径点后,还需要规划出车辆在每一个路径点处的运动状态,主要为车辆在每个路径点处的速度和加减速度。
根据车辆行驶的运动状态,可以将车辆从起点行驶到终点的运动过程分为三个阶段:加速阶段—匀速阶段—减速阶段。车辆在起步后,首先按照设点的加速度值加速到一定的速度,之后按照这一速度匀速行驶一段时间,最终在接近路径终点时减速到0。
3 Sigmoid函数与车辆运动过程
为保证车辆在运动过程中的加速阶段及减速阶段的舒适性,车辆的加速度及减速度须连续变化。同时保证能够达到车辆设定的最大行驶速度,且车辆的加速度及减速度值不能超过设定的最大值,随着速度的变化,车辆能够跟上路径的变化。
由Sigmoid函数图像及其性质可知,Sigmoid曲线变化连续且光滑,严格单调。当x趋近于正无穷时,Sigmoid函数值趋近于1。Sigmoid函数与车辆运动过程中的加速阶段-匀速阶段速度变化趋势一致,同时,将Sigmoid函数沿y轴对称变化之后,与车辆匀速阶段-减速阶段曲线变化趋势一致。因此,Sigmoid函数适合用来描述车辆在加速阶段—匀速阶段—减速阶段过程中速度的变化。将Sigmoid函数用于描述车辆速度变化的示意图,如图1所示。
图1 Sigmoid函数用于描述车辆运行三阶段
4 改进Sigmoid函数
将Sigmoid函数改进如下:
(1)
其中,v为车辆最大速度,t为行驶时间。加速阶段,a为最大加速度且a>0,td为0。减速阶段,a为最大减速度且a<0,td为车辆行驶总时间。
4.1 最大值
V(t)≤v
4.2 导数
该改进Sigmoid函数的导数为:
(2)
(3)
即,函数(1)的导数最大值为a。
4.3 积分
公式(1)的积分方程为:
(4)
C为常数。
5 采用改进的Sigmoid函数构建车辆运动规划方程
将路径点按照路径长度平均分为两部分S1和S2,其中S1为加速阶段—匀速阶段,S2为匀速阶段—减速阶段,如图2所示。
图2 加减速曲线示意图
5.1 加速阶段—匀速阶段
在加速阶段—匀速阶段,车辆的起始速度为0,设置车辆的最大加速度为amax,最大速度为vmax,td为0。
则加速阶段—匀速阶段速度方程如下:
(5)
加速阶段—匀速阶段速度对时间的导数—加速度方程如下:
(6)
加速阶段—匀速阶段路径长度随时间变化方程如下:
(7)
5.2 匀速阶段—减速阶段
在匀速阶段—减速阶段过程中,车辆速度逐渐减小到0。车辆匀速阶段的最大速度为vmax,减速阶段最大减速度为-decmax(decmax>0)。tstart≤t≤tend。则匀速阶段—减速阶段速度方程如下:
(8)
匀速阶段—减速阶段对时间的导数—减速度方程如下:
(9)
匀速阶段—减速阶段路径长度随时间变化方程如下:
(10)
其中,常数C求解如下:在此阶段中,S(tstart)=0,因此
6 自动驾驶车辆运动规划步骤
首先,根据车辆路径规划模块规划出路径点的总长度,按照路径长度平均分为两部分S1和S2。S1为车辆加速阶段—匀速阶段的路径点,S2为车辆匀速阶段—减速阶段的路径点。
在S1阶段:首先根据设置的最大加速度,最大速度根据式(5)~(7)构建车辆的加速阶段—匀速阶段速度方程、加速度方程和路径方程。然后根据每一路径点的路径长度及路径方程求到达每一路径点的时间。最后根据得到的每一路径点的时间值代入速度方程和加速度方程得到每一路径点的速度和加速度。
在S2阶段:S1阶段最终时间即为S2阶段开始的时间tstart。首先,根据S2阶段总路径长度L2和S2阶段开始时间tstart,设置最大减速度,最大速度根据式(10)求得总时间tend,然后根据式(8)~(10)构建车辆的匀速阶段—减速阶段速度方程、加速度方程和路径方程。之后根据每一路径点的路径长度和路径方程、开始时间求到达每一路径点的时间。最后根据得到的每一路径点的时间值代入速度和加速度方程得到每一路径点的速度和加速度。整个流程如图3所示。
图3 路径规划总体流程图
7 结语
本文设计出一种新的自动驾驶车辆速度规划方法,该方法可以在考虑车辆最大加减速度和最大速度限制的同时,规划出速度和加减速度。同时考虑了速度、加速度和路径长度三者之间的耦合问题,且速度和加减速度足够平滑,计算过程简单,后续将继续在实车中进行测试。