1.一种自动驾驶车辆的自主超车方法,其特征在于,包括如下步骤:步骤1)获取自动驾驶车辆的交通状态信息;
步骤2)将得到的交通状态信息代入预先训练好的神经网络算法的输入层,模拟超车决策,并输出超车或不超车结果;
其中,预先训练的具体过程为:
步骤21)采集拥有十年驾龄司机安全超车时的交通状态信息,形成经验库样本集,设定步长,记录每次超车时的节气门开度;
步骤22)从经验库样本集中随机选取若干个样本作为训练组;
步骤23)将神经网络算法中各个权重和偏向设置为随机数,并初始化学习率;
步骤24)从训练组中取一个输入样本,添加到神经网络算法的输入层,并给定其目标输出值,得到神经网络中隐藏层的输出值和输出层的输出值;
步骤25)基于输出层输出值与目标输出值,计算得到输出层输出误差;
步骤26)对输出层输出误差进行反向传递,判断是否满足精度要求,如果不满足,则继续迭代;如果满足,则训练结束;
步骤3)基于预设的超车后最大安全车距,计算与左前方来车的实时距离,判断是否满足超车条件;
步骤4)左转向后,获取前方被超车辆的加速度和左前方来车加速度的变化情况,判断两辆车的被超车意愿;
步骤5)当步骤2)、步骤3)和步骤4)同时判断为超车时,基于经验库的节气门开度拟合曲线,进行超车,达到安全车距后,回到右侧车道;否则,放弃超车,保持自适应巡航驾驶。
2.根据权利要求1所述的自动驾驶车辆的自主超车方法,其特征在于,步骤1)中,交通状态信息包括:己方车辆的速度,左前方来车的速度,前方被超车辆的速度,己方车辆与左前方来车的距离,己方车辆与前方被车的距离,左前方来车的加速度,前方被超车辆的加速度。
3.根据权利要求1或2所述的自动驾驶车辆的自主超车方法,其特征在于,步骤24)中,从训练组中取一个输入样本,经神经网络加权求和,并根据非线性方程转化输出,得到神经网络隐藏层的输出值和输出层的输出值;
步骤25)中,输出层输出误差为输出层输出值与目标输出值的差值;
步骤26)中,对输出层输出误差进行反向传递,计算得到隐藏层输出误差、各权重和偏向的变化量,利用各权重和偏向的变化量,调整权重和偏向,基于权重和偏向判断是否满足精度要求;
精度要求的条件为:每次迭代后权重和偏向的变化量低于设定阀值;神经网络算法预测成功的比例大于99.9%;迭代次数达到预先设置的迭代上限。
4.根据权利要求3所述的自动驾驶车辆的自主超车方法,其特征在于,步骤3)中,计算与左前方来车的实时距离的具体过程为:s3=s2+s前+s对+Xmax+c1+c2
2
v1t1+0.5at1+vtt2=s2+s前+Xmax+c1+c2s对=v3t
s前=v2t
vt=v1+at1
t=t1+t2
超车的条件为:s1>s3
其中,v1为己方车辆的速度,v2为左前方来车的速度,v3为前方被超车辆的速度,s3为安全超车所需的与左前方来车的距离,s2为己方车辆与前方被车的距离,s前为前方被超车行驶距离,s对为左前方来车行驶距离,Xmax为超车后最大安全距离,c1为己方车辆长度;c2被超车辆长度,t为超车总时长,t1为加速超车时长,t2为匀速超车时长,vt为当前路段交通法规规定最高车速,a为加速超车的加速度,a=Δv/Δt,其中,Δv=v2‑v1。
5.根据权利要求4所述的自动驾驶车辆的自主超车方法,其特征在于,步骤4)中,判断两辆车的被超车意愿,具体条件为:
2 2
若a1>=5m/s或a2>=5m/s,则代表不愿被超车;
2 2
若a1<5m/s且a2<5m/s,则代表愿意被超车;
其中,a1为左前方来车的加速度,a2为前方被超车辆的加速度。
6.根据权利要求5所述的自动驾驶车辆的自主超车方法,其特征在于,步骤5)中,节气门开度拟合曲线的获取方法为:实时探测节气门开度的大小和变化的快慢,在超车时,把节气门位置信号以0.1s为步长记录并保存下来,当后期匹配到此次超车样本时,提取出保存的各点节气门信息,绘制出拟合曲线,并根据拟合曲线控制节气门大小,给汽车加速。
7.根据权利要求6所述的自动驾驶车辆的自主超车方法,其特征在于,步骤5)中,完成超车后,将对应的超车数据中的超车距离进行更新处理,并添加到经验库,之后对经验库进行优化,使安全车距不断趋近于最小安全车距;
更新处理的具体过程为:
s1’=s1‑s’
s’=(s1‑s3)/2
其中,s1’安全超车后重新存入经验库的与左前方来车的安全距离,s1为此次安全超车与左前方来车的实际距离,s’为此次安全超车后的奖励值,s3为通过相关公式计算出的能够实现安全超车的精确距离。
8.一种自动驾驶车辆的自主超车系统,其特征在于,包括:数据获取单元,用于获取自动驾驶车辆的交通状态信息;
评估单元,与数据获取单元相交互,包括训练模拟模块、距离判断模块、和加速度判断模块;
训练模拟模块用于将得到的交通状态信息代入预先训练好的神经网络算法的输入层,模拟超车决策,并输出超车或不超车结果;
其中,预先训练的具体过程为:
步骤21)采集拥有十年驾龄司机安全超车时的交通状态信息,形成经验库样本集,设定步长,记录每次超车时的节气门开度;
步骤22)从经验库样本集中随机选取若干个样本作为训练组;
步骤23)将神经网络算法中各个权重和偏向设置为随机数,并初始化学习率;
步骤24)从训练组中取一个输入样本,添加到神经网络算法的输入层,并给定其目标输出值,得到神经网络中隐藏层的输出值和输出层的输出值;
步骤25)基于输出层输出值与目标输出值,计算得到输出层输出误差;
步骤26)对输出层输出误差进行反向传递,判断是否满足精度要求,如果不满足,则继续迭代;如果满足,则训练结束;
距离判断模块是基于预设的超车后最大安全车距,计算与左前方来车的实时距离,判断是否满足超车条件;
加速度判断模块是在左转向后,获取前方被超车辆的加速度和左前方来车加速度的变化情况,判断两辆车的被超车意愿;
超车决策单元,分别与训练模拟模块、距离判断模块和加速度判断模块相交互,当训练模拟模块、距离判断模块和加速度判断模块的判断结果均为超车时,进行超车;否则,放弃超车。