基于行人轨迹预测的无人驾驶汽车主动避撞算法
2021-01-25袁朝春宋金行何友国JIEShen翁烁丰
袁朝春, 宋金行, 何友国, JIE Shen, 陈 龙, 翁烁丰
(1. 江苏大学 汽车工程研究院, 江苏 镇江 212013; 2. 密歇根大学迪尔本分校 计算机科学与信息科学系, 密歇根州 迪尔本MI 48128)
随着汽车保有量的增加,道路行人安全逐步成为关注的热点话题.传统行人安全保障主要通过车身吸能材料减轻碰撞伤害的被动行人保护系统[1]来实现,然而单纯的被动行人保护系统不足以充分保障行人安全,因此,基于多传感器检测的主动避撞系统[2]应运而生.安全距离模型主要有基于制动过程和基于车头时距的安全距离模型[3],广泛应用于主动避撞算法中.但是由于行人行走意图的主观能动性,轨迹存在风险转移的可能,具备潜伏性和突发性的交通事故风险,现有的安全距离模型对人车混杂环境下潜在交通事故的轨迹存在一定局限性.
目前,智能汽车领域专家逐渐意识到行人轨迹预测对汽车安全行驶的影响.D. HELBING等[4]基于社会力模型对行人进行建模,通过引力与斥力的相互作用规划行人行走轨迹,模型简单直接,但对模型参数的设置要求较高,实际应用能力较差.K. M. KITANI等[5]基于隐马尔可夫模型对行人进行建模,构建了描述行人运动状态转换的隐马尔可夫链,并使用反向强化学习的方式训练模型参数,但模型计算时间长、时效性低.董文杰[6]通过8分类的SVM分类器对行人头像角度进行识别,再基于动态多模的卡尔曼滤波算法进行运动预测,但是该算法最佳距离为3~5 m.
笔者提出一种基于行人轨迹预测的行人主动避撞算法.基于车载传感器获取道路行人图像和位置信息,通过深度学习算法识别行人的动作特征,挖掘轨迹潜在变化规律;结合改进的卡尔曼滤波算法,预测贴合行人主观意图的行人轨迹;建立行人预估安全距离模型,对因行人轨迹变化造成的潜在交通事故风险进行分析,设计行人主动避撞算法,通过对道路行人轨迹的预测分析,控制车速处于合理区间,有效防止行人轨迹变化造成的潜在碰撞事故风险.
1 基于行人动作特征的行走意图分析
行人过街时往往表现出不同的动作特征,通过动作特征的变化转移可以分析出行人行走意图.早期行人动作识别算法大多通过对人体结构的追踪表示来分析行为动作[7].近年来,深度学习理论在静态图像特征提取上取得了卓越成就,并逐步应用到人体行为识别算法中[8].
1.1 基于卷积神经网络的行人动作特征识别
卷积神经网络(convolution neural networks,CNN)是深度学习领域常用的模型之一,能够从数据中自动学习并提取特征,其泛化能力优于传统方法,已经成功应用于模式分类、物体检测和识别等领域.
使用的卷积神经网络样本数据集来源有2部分,即MIT库行人图片和人车混杂环境下实景拍摄的过街行人动作特征图片,样本数共1.1万张,用于测试集的样本数和用于训练集的样本数比例为1 ∶10.
基于7层网络结构的卷积神经网络进行行人动作识别,其特征提取过程如图1所示,卷积核大小为5×5像素.获取样本数据集后通过Matlab图像处理函数将样本处理成大小为64×128像素的图片并进行灰度处理.
图1 CNN特征提取过程
根据行人的动作特征将样本图像分为直行行人、侧行行人、站立行人、扭头行人和分神行人5类.为了保证网络模型的收敛性,需对模型参数进行调节.根据试验结果可知:学习率为0.1,每次训练样本数为10 个,迭代次数为300 次时,行人动作特征识别效果最佳,识别准确率达到86.7%.
1.2 人车交汇运动学特性分析
基于行人动作特征的变化情况可以分析行人下一步行走意图和轨迹.为分析道路行人的速度特性,以无人驾驶汽车行驶方向为x方向,分析行人速度变化特性,以正常条件下行人步行速度vp为基准速度.行人纵向速度vpx和横向速度vpy分别为
(1)
式中:kp为行人不同行走特性下的修正比例;θ为偏离x轴方向的航偏角.
1.2.1人车轨迹平行
以初始时刻行人运动方向为依据,轨迹平行情况包括行人站立、直行时人车轨迹无交叉的情况,初始状态下人车无碰撞可能性.
无人驾驶汽车沿道路行驶过程中,行人可能改变其动作特征,其运动方程为
(2)
(3)
式中:vx0、vy0分别为行人初始状态下的纵向、横向速度;ts为行人动作特征改变时刻.
1.2.2人车轨迹相交
轨迹相交场景主要表现为行人具备y轴方向的横向速度.根据对行人过街潜在风险的研究及相关安全距离模型可知,人车相对运动关系对无人驾驶汽车行驶策略的影响较大.行人过街时的运动特征如式(1)所示.
1.2.3分神行人
分神行人由于自身注意力分散使得对道路环境信息的获取存在一定迟滞,下一时刻的行为动作跨度较大.当分神行人突然闯入道路,紧急制动条件下,容易因制动距离不足导致碰撞事故的发生;若将分神行人动作特征作为危险信号指令,提前进入预制动状态,避免行人突然闯入时因制动距离不足导致碰撞事故的发生.
2 基于动作特征分析的行人轨迹预测
传统行人轨迹预测算法基于行人位置信息进行轨迹预测,在行人有过街意图,但实际轨迹并未改变的这段时间内无法准确估计行人意图.在卡尔曼滤波(Kalman filtering, KF)算法中融入过街行人动作特征分析,以提前对行人的期望运动轨迹进行预测.
2.1 卡尔曼滤波算法
卡尔曼滤波通过系统输入输出观测数据对系统状态进行最优估计,其核心思想是预测和测量反馈[9].卡尔曼滤波轨迹预测状态方程和观测方程为
(4)
式中:Xk为系统状态向量;Fk为状态转移矩阵,描述前一时刻到当前时刻的运动状态转移方式;Bk为干扰转移矩阵;Uk为系统噪声矩阵;Zk为k时刻的测量值;Hk为状态变量到测量的转换矩阵;Rk为测量噪声矩阵.
设前一时刻行人状态估计为xk-1,与其相关联的误差协方差矩阵为Pk,以Fk表示预测步骤,使其从原始预测中移动到新的预测位置.由于系统存在噪声和外部不确定性,需要将系统噪声向量uk和协方差噪声Qk作为预测系统的修正,则轨迹预测状态方程为
(5)
由于传感器精度因素获取的观测值往往有一定偏差,将这种传感器噪声的协方差设为Rk,则观测方程为
zk=Hkxk+Rk,
(6)
式中:zk为k时刻的观测值;Hk为传感器读数矩阵.
由式(5)、(6)可得卡尔曼增益为
(7)
(8)
将式(7)、(8)代入(5)、(6)中可得
(9)
图2 卡尔曼滤波预测过程
2.2 融合行人动作特征的卡尔曼滤波算法
行人运动方向的改变往往会伴随一定程度的环境观察阶段.在利用卡尔曼滤波预测行人轨迹的基础上,融合行人动作特征进行综合评定,提前预测行人的轨迹信息.
行人动作特征不发生变化,依靠卡尔曼滤波预测算法可有效预测行人位置信息;行人运动模式发生改变,动作行为发生初期,传感器观测到的行人位置信息还未更新,仍然按照位置信息进行预测,存在一定缺陷.
轨迹预测原理如图3所示,P为行走意图改变时刻点,trj1为原预测轨迹,trj2为改进后预测轨迹.改进算法优势在于当预测过程中评定行人行走意图改变后,根据行人意图判定其规划的行走方向,并将下一时刻的速度方向统一规划到x或y方向上,此时预测状态方程输出的轨迹即行人行走意图轨迹,结合观测值进行更新修正后得到一条全新的预测轨迹,因此在预测过程获取的输出相对仅依靠速度位移值获取的输出要提前.下一时刻行人位置为
(10)
式中:pxk、pyk、pxk-1、pyk-1为行人位置信息;vxk-1、vyk-1为行人速度信息;Δt为采样周期.
图3 轨迹预测原理图
2.3 轨迹预测验证分析
2.3.1试验环境搭建
行人轨迹预测试验所需的移动对象数据集利用大陆ARS408-21雷达进行采集.由于毫米波雷达检测行人的局限性,实际传感器测试所得行人检测距离为70 m,距离检测精度为±0.5 m,速度检测精度为±0.1 km·h-1.
2.3.2试验验证分析
为验证算法的有效性,与卡尔曼滤波轨迹预测算法进行对比,对其预测结果的时效性和智能性进行分析.假设行人沿道路直行,无横向速度,平面坐标中行人运动轨迹和预测轨迹如图4所示,行人速度为1.2 m·s-1,在距离传感器纵向距离约35 m处扭头观察道路情况,具备横穿马路行走意图,由于道路车辆迫使行人扭头观察时仍保持直行状态,并在距离传感器纵向距离约40 m处实际改变行走轨迹.
根据图4可知,行走意图不变时,2种算法预测结果趋于一致.行人在35 m处行走意图发生改变,此刻实际行走轨迹没有发生变化,基于动作特征分析的行人轨迹预测算法预测出新的轨迹路线,相较传统卡尔曼滤波算法而言,轨迹变化的时间点提前约4 s,距离点提前约5 m.随着测量值的更新,预测的轨迹逐步趋向于实际轨迹,对实际应用而言,提前预测轨迹变化给予行人主动避撞算法更多的反馈时间,更好地保护行人安全.
3 基于行人轨迹预测的主动避撞算法
3.1 人车混杂环境下交通事故风险分析
人车混杂环境下,交通事故风险主要来源2个方面: ① 由于路面附着条件或反映迟滞时间使得安全距离判断失误造成的碰撞事故; ② 由于对行人运动轨迹缺乏准确预估,行人突然闯入使得车辆在当前速度条件下无法紧急避让造成的碰撞事故.
基于传统安全距离模型设计主动避撞算法,需要采取紧急制动措施释放车辆动能,车辆仍需行驶一段距离,在这段距离内随时都会发生碰撞危险,且制动过程中舒适性较差.因此,准确预估行人轨迹,建立适用于无人驾驶汽车行人主动避撞算法的安全距离模型,提前控制车速至关重要.
不考虑车辆横向运动的情况,人车混杂环境下的交通事故示意图如图5所示.其中Dsafe为一定车速下无人驾驶汽车的最小安全距离;Sunsafe为制动非安全区,纵向行驶条件下的范围为最小安全距离与车宽的乘积;Sp0为道路行人可能的运动轨迹区域;Dv2p为检测到行人时的人车距离.
无人驾驶汽车行驶过程中行人有横穿马路的可能,车辆在位置A2处时,制动非安全区处于与行人运动轨迹发生冲突的临界位置.假设车辆行驶到位置A3处行人闯入制动非安全区,此时采取紧急制动控制也无法规避人车碰撞事故的发生.可以看出,若能准确预估行人可能的运动轨迹,在位置A1处以相对较小的减速度匀减速行驶,可有效避免车辆制动非安全区和行人运动轨迹存在的交通冲突风险,提高行人和车辆的交通安全性.
图5 人车混杂状态下的交通事故示意图
3.2 行人主动避撞预估安全距离模型
综合考虑行人轨迹、道路情况和车辆动力学特性,减少紧急制动情况的发生,建立预估安全距离模型,提前制动减速,保障舒适性和安全性.
3.2.1轨迹平行
人车轨迹平行情况下,根据自车行驶速度确定所需制动距离,实际环境下,由于行人存在纵向速度vpx,预估安全距离为
(11)
3.2.2轨迹相交
无人驾驶汽车预测人车轨迹相交情况下,检测到行人横向运动速度为vpy,则行人走过车辆行驶轨迹所需时间为
(12)
式中:Dv2py为行人横向运动时的人车横向距离;C为车宽.
人车轨迹相交情况下预估安全距离为
D2=vvτ+t2(vv+vpx)+d0.
(13)
3.3 行人主动避撞控制算法
3.3.1轨迹相交行人主动避撞算法
道路行人在没有过街意图时,横向速度相对车辆行驶速度而言可以忽略不计;有过街意图时,会以较大的横向速度过街.因此,为消除上述误差对轨迹判定产生的影响,引入速度误差阈值ξ(一般取值为0.25 m·s-1)与行人横向速度进行比较,若vpy>ξ,判定行人有过街意图.通过比较车辆行驶至行人轨迹处所需时间和行人走过车辆行驶范围所需时间,决策是否需要采取主动避撞措施.
轨迹相交场景下的人车碰撞分析示意图如图6所示,Sp1为行人轨迹;Sv1为无人驾驶汽车车头中心行驶轨迹;Dp1为行人当前位置与无人驾驶汽车行驶轨迹距离;Dv1为无人驾驶汽车车头与行人轨迹距离;Srisk1为碰撞事故危险区域.
图6 轨迹相交场景下的人车碰撞分析示意图
无人驾驶汽车行驶至行人轨迹处所需时间t3和行人走过无人驾驶汽车行驶范围所需时间t4分别为
(14)
(15)
当t3>t4时,行人走过碰撞事故危险区Srisk时车辆还未到达行人轨迹处,无碰撞风险,车辆以当前车速行驶;当t3≤t4时,车辆行驶到行人轨迹处时行人尚未走过碰撞事故危险区,为避免碰撞事故的发生以及礼让行人的交通法规,基于预估安全距离规划车辆减速行驶,待行人安全通过后加速驶离.
3.3.2轨迹平行行人主动避撞算法
若vpy<ξ,判断行人处于直行偏移状态,横向速度为误差阈值,行人无过街意图.
轨道平行场景下的人车碰撞分析示意图如图7所示,Sp2为行人轨迹;Sv2为无人驾驶汽车车头中心行驶轨迹;vsafe为安全行驶车速,一般取20~30 km·h-1;Dv2为无人驾驶汽车车头与行人位置的纵向距离;Dv3为减速至安全车速时人车纵向距离;Srisk2为碰撞事故危险区域.
行人由P1行走到P2过程中行人轨迹保持直行状态.为有效避免因行人行走轨迹变化造成人车碰撞事故的发生,无人驾驶汽车基于预估安全距离模型以减速度a0制动减速.减速过程中更新预测的行人轨迹,当预测行人保持直行状态不变,减速至安全车速vsafe后匀速行驶;若在车速vv≥vsafe时预测行人轨迹将入侵自车行驶路线,保持减速度a0减速直至停止;若在车速vv (16) 式中:Dvn为预测行人轨迹变化时人车纵向距离;tpw为此环节下行人纵向行走时间. 图7 轨迹平行场景下的人车碰撞分析示意图 3.3.3分神行人主动避撞算法 为验证所提出的基于动作特征分析的轨迹预测算法和主动避撞算法的有效性,基于Carsim/Simulink进行联合仿真. 检测环节与制动协调时间为0.2 s,路面附着系数取0.7,对比4种模型在不同车速下的安全距离与制动减速度,仿真结果如图8所示.基于行人轨迹预测的预估制动安全距离模型虽然比2个传统安全距离模型的最小安全距离大,但减速过程中有效规避了紧急制动情况的发生,制动过程较为平缓.此安全距离模型将道路行人潜在轨迹变化情况作为计算依据,合理规划智能汽车行驶速度,保障智能汽车车速处于安全可控的范围,提高了主动安全性能. 图8 不同车速下安全距离与制动减速度仿真结果 基于上述行人轨迹,假设路面附着系数为0.8,迟滞时间为0.2 s,后方车辆车速为50 km·h-1,检测到行人时人车距离为70.0 m,行驶1.0 s后行人动作特征发生改变,车辆紧急制动时所需最小距离为16.8 m.车速控制及人车相对距离分别如图9、10所示. 图9 车速控制图 图10 人车相对距离图 从图9、10可以看出:基于KF轨迹预测进行避撞控制,行人约在5.2 s改变轨迹,人车距离约4.4 m,远小于紧急制动所需最小安全距离,无法有效避免纵向碰撞;基于行人动作特征分析的轨迹预测算法进行主动避撞时,行驶1.0 s后识别行人行走意图改变,即可采取制动控制,此时人车距离约为57.0 m,可有效规避碰撞可能性.结果表明,所提行人轨迹预测算法实用性较强. 4.3.1行人保持直行 假设道路环境中无障碍物遮挡,路面附着系数为0.8,以80 km·h-1的车速行驶.行人沿道路直行,初始时刻人车距离为200.0 m,时滞为0.2 s,无人驾驶汽车行驶的纵向速度及路程如图11所示. 图11 行人直行,无人驾驶汽车行驶速度、路程图 从图11可以看出:人车距离小于轨迹平行条件下的预估安全距离时,无人驾驶汽车以加速度为-3 m·s-2减速至30 km·h-1后匀速行驶,期间行人动作特征不变,车辆驶过行人所在位置后加速行驶.由相对距离结果可知,该算法在保证安全行驶的同时具有较好的交通通过性. 4.3.2行人直行途中过街 假设道路环境中无障碍物遮挡,路面附着系数为0.8,无人驾驶汽车以80 km·h-1的车速行驶.行人沿道路直行,在某一时刻转弯,初始时刻人车距离为200.0 m,时滞0.2 s,无人驾驶汽车行驶过程中的纵向速度及行驶路程如图12所示.人车距离小于轨迹平行条件下的预估安全距离时,无人驾驶汽车以加速度为-3 m·s-2减速至30 km·h-1,匀速行驶一段时间后行人有过街意图,根据当前距离和车速规划制动减速度.此过程中无人驾驶汽车行驶距离为210.0 m,行人移动距离约为14.0 m,停车后人车间距为4.0 m.结果表明防碰撞控制方法有效. 图12 直行过街,无人驾驶汽车行驶速度、路程图 假设道路环境中无障碍物遮挡,路面附着系数为0.8,无人驾驶汽车以80 km·h-1速度行驶,初始时刻人车距离为200.0 m.检测到行人侧向行走时的横向距离为4.0 m,时滞为0.2 s,行驶过程中的纵向速度及行驶路程如图13所示. 图13 轨迹相交,无人驾驶汽车行驶速度、路程图 从图13可以看出:此工况下主动避撞预估安全距离约为96.0 m,人车距离小于此安全距离时将规划制动减速度,直至行人走过无人驾驶汽车行驶轨迹,无人驾驶汽车加速行驶.结果表明防碰撞控制方法在保证安全行驶的同时具有较好的交通通过性. 假设道路环境中无障碍物遮挡,路面附着系数0.8,无人驾驶汽车以80 km·h-1速度行驶.分神行人站立在路边,某一时刻突然闯入,初始时刻人车距离为200.0 m,时滞为0.2 s,无人驾驶汽车行驶过程中的纵向速度及行驶路程如图14所示. 图14 分神行人突然闯入,无人驾驶汽车行驶速度、路程图 从图14可以看出:人车距离小于轨迹平行条件下的主动避撞预估安全距离时,无人驾驶汽车以加速度为-3 m·s-2减速至10 km·h-1,匀速行驶一段时间,道路分神行人突然闯入车辆行驶路径,根据当前道路情况和车速规划所需制动减速度.此过程中,无人驾驶汽车行驶距离为197.8 m,行人无纵向移动距离,停车后人车间距为2.2 m.结果表明防碰撞控制方法是有效的. 1) 提出了人车混杂环境下行人轨迹变化造成的潜在碰撞事故的概念,通过卷积神经网络对道路行人动作特征进行识别,并将过街行人的身体动作特征作为行走意图判别依据,分析出影响车辆行驶的3类人车轨迹交汇情况,囊括了道路可能出现的大部分行人轨迹变化特性. 2) 基于卡尔曼滤波算法,综合考虑融入道路行人的运动特征,提出基于动作特征分析的行人轨迹预测算法.该算法在行人轨迹位置点连续预测的基础上,结合行人行走意图,预测出动态系统的最优状态,获得符合行人主观意图的最优轨迹,为行人主动避撞算法提供实时有效的行人轨迹信息. 3) 对人车混杂环境下交通事故风险进行分析,依据人车轨迹交汇情况建立预估安全距离模型.试验结果表明:所提的行人主动避撞算法能有效保障道路行人安全性的同时,可确保制动减速过程的平缓性和交通流的通畅性.4 试验分析
4.1 制动安全距离与制动减速度仿真分析
4.2 轨迹预测算法有效性分析
4.3 人车轨迹平行主动避撞算法仿真分析
4.4 人车轨迹相交主动避撞算法仿真分析
4.5 分神行人主动避撞算法仿真分析
5 结 论