江浩斌, 俞 越, 李傲雪
(江苏大学 汽车与交通工程学院, 江苏 镇江 212013)
随着传感器和人工智能技术的发展,智能汽车受到了广泛的关注,学习和模仿人类驾驶员行为成为智能驾驶研究的重要思路之一[1].此外,弯道作为事故频发路段,弯道驾驶是智能驾驶功能验证的一个关键场景.
驾驶员模型是模拟人类驾驶行为的数学表示,被广泛应用于车辆仿真、高级驾驶辅助系统和智能汽车系统的开发.根据模型输入是否涉及前视行为,驾驶员模型可分为补偿跟踪模型和预瞄跟踪模型.相比于前者,加入预瞄信息的模型更接近于真实的驾驶员行为.关于驾驶员建模的方法主要有3种:① 基于传递函数的经典控制,如比例-积分-微分(proportion integral differential, PID)控制[2];② 基于状态空间模型的现代控制,如线性二次调节器(linear quadratic regulator,LQR)[3-4]和模型预测控制(model predictive control,MPC)[5];③ 基于模仿人类智能行为的智能控制,如模糊逻辑(fuzzy logic,FL)[6]和神经网络(neural networks,NN)[7].经典控制方法一般适用于单输入单输出系统,不适用于具有时变和非线性的车辆控制系统.现代控制方法很大程度上依赖于精确的数学模型.而驾驶汽车作为一种人类复杂的、高度动态的行为,驾驶员神经肌肉动力学和感觉动力学的很多参数具有不确定性,且难以进行准确的系统辨识.相比之下,模糊逻辑和神经网络作为智能控制中的2种重要方法,适用于非线性和多变量复杂系统的建模和控制,前者模仿了人脑的模糊性概念描述和逻辑思维方式,后者模仿了人脑神经系统结构和功能,具有自学习能力.而自适应神经模糊推理系统(adaptive neuro-fuzzy inference system,ANFIS)是2种方法的融合,可实现两者的优势互补.
基于此,笔者在分析人类驾驶员视觉和转向行为的基础上,从视觉感知和转角决策层面,提出一种用于弯道驾驶的仿人驾驶员模型.基于驾驶员在环仿真试验平台,采集不同车速下的人类弯道驾驶数据,为模型的建立和验证提供训练样本和评价依据.仿人驾驶员模型包含视觉感知和转向盘转角决策2部分.视觉感知模块借鉴人类弯道驾驶视觉行为的研究结果,从车辆运动状态和道路环境提取用于转向决策的信息;转向盘转角模块采用ANFIS方法从人类驾驶数据中学习和抽取控制规则,构建视觉参数输入与转向盘转角输出之间的映射关系.
获取人类驾驶数据的方法主要有实车试验和驾驶仿真试验.驾驶仿真试验不如现场实车试验真实,但是其不需要顾虑行车安全性问题,控制变量、采集数据更容易,同时可以设置多种驾驶工况用于获取较为全面的大样本数据.因此,基于上述便利、高效、安全、低成本等诸多优势,采用驾驶仿真试验的方式进行人类驾驶数据采集.
所搭建的驾驶员在环仿真试验平台如图1所示.硬件设备主要包括电脑、曲面显示屏、驾驶座椅、罗技G29力反馈转向盘、刹车/油门/离合器踏板及排挡系列组件.使用的软件为PreScan 8.4.0和MATLAB 2018a.
图1 驾驶员在环仿真试验平台
仿真过程中,基于PreScan搭建的驾驶场景通过3D可视化查看器显示并被投影在显示屏上.驾驶员通过显示屏画面观察道路环境及车辆行驶动态,对罗技G29转向盘、油门或刹车进行操纵.Simulink读取作用于罗技G29组件上的驾驶员输入信号,传输给车辆动力学模型.车辆的运动状态发送至PreScan虚拟车辆模型并在驾驶场景中实时响应.如此往复,形成人-车-路闭环控制系统,便可实现驾驶员在环驾驶仿真试验.
试验道路A是在水平面上的一条曲率连续变化的四车道弯曲道路.每条车道的宽度为3.5 m.该道路由直线路段、回旋线路段和圆曲线路段连接而成,道路总长2 395.5 m.其中,有10个曲率半径不同的圆曲线弯道,其半径覆盖在80~500 m.图2中标注了每条圆曲线路段的详细信息,如A1(100, 110)表示圆曲线路段1的曲率半径为100 m,长度为110 m.该道路上分2条行驶路线进行驾驶仿真试验:当以SP1为行驶路线起点时,则有7个右转弯和3个左转弯;当以SP2为行驶路线起点时,则有3个右转弯和7个左转弯.SP1、SP2处箭头指向为行驶方向,驾驶路线以直线路段为驾驶起点.
图2 试验道路A
试验道路B是在水平面上的一条四车道弯曲道路,每条车道宽度为3.5 m,如图3所示,该道路由1个直线路段和8个圆曲线路段连接而成,8个圆曲线路段的曲率半径与试验道路A的皆不相同.
图3 试验道路B
基于上述2条试验道路进行驾驶仿真试验和人类驾驶数据采集.试验道路A的数据用于建立和验证仿人驾驶员模型;试验道路B的数据用于验证模型在其他驾驶工况下的适用性.
共有3名人类驾驶员进行弯道驾驶仿真试验.LI A. X.等[8]研究表明,在反复数次驾驶后,人类驾驶员的驾驶行为逐渐趋于稳定,即使是新手驾驶员也能像经验丰富的驾驶员一样表现良好.因此,为了保证数据采集的合适性,数据采集前,要求每位驾驶员进行多次练习,以适应所搭建的驾驶仿真平台.试验过程中不考虑车辆的纵向控制,采用PID控制算法使车辆保持在指定车速左右.人类驾驶员只需通过显示屏画面感知车辆的运动和道路的几何形状操纵转向盘,从而控制车辆的横向运动.
试验道路A的指定车速分别为20、30、40、50、60 km·h-1,为了减少意外误差和获取更多弯道行驶的转向情况,每条行驶路线上各个车速下重复试验20次.而试验道路B的指定车速分别为36、54 km·h-1,考虑到人类驾驶行为的不确定和多变性,各个车速下重复试验10次.
采集的数据可分为3类:① 车辆运动状态,如车速、轨迹、航向等;② 道路信息,如车道线坐标、曲率等;③ 驾驶员操纵信号,主要为转向盘转角.
在实际驾驶过程中,驾驶员通过各种感觉器官感知车辆运动、道路环境等信息,利用大脑进行推断与决策,对转向、加速及制动等相关动作进行操纵.也就是说,在人-车-路闭环系统中,驾驶员既是道路环境的感知环节,又是车辆操纵的决策环节.
人类驾驶主要用到视觉、前庭和躯体感觉系统,其中视觉感知在实际驾驶过程中起主要作用[9].因此,仅考虑视觉系统能够感知到的信息对驾驶员转向行为的影响.在弯道驾驶中,车道标记线不仅起到空间约束的作用,还起到视觉引导的作用.驾驶员中高速驾驶时的决策信息主要来自车辆前方远、近2处[10].视觉信息提取如图4所示,其中:Df为驾驶员随着车辆位置状态与道路曲率变化能够看到前方道路较远处的距离;Dn为驾驶员通过车辆前挡风玻璃能够看到前方道路较近处的距离;DL为车辆航向与前方6 m处左车道线的距离;DR为车辆航向与前方6 m处右车道线的距离;VP为车辆质心;NP为车辆质心沿车辆航向方向6 m处的点;u为车辆的纵向速度;θt为车辆航向与点VP、TP连线之间的夹角;θf为车辆航向与点VP、FP′连线之间的夹角.
图4 视觉信息提取
关于驾驶预瞄点的假设主要有2种[11]:驾驶员视线与前方道路内沿的切点(TP);前方道路中心线上的点(FP).而驾驶员的预瞄时间受道路线形(即道路曲率)的影响很大,弯道路段上的预瞄时间一般为1.5~2.5 s[12].此外,驾驶员在驾驶过程中一般以扫视—注视—扫视的模式进行信息选择和整合[13].基于以上人类驾驶员弯道驾驶视觉注意机制和行为的分析和理解,建立视觉感知模块,从车辆的运动状态和前方远近道路的信息提取用于转向决策的视觉输入参数.
1) 车辆纵向速度u是除道路曲率外影响驾驶员转向行为的最显著因素.
2) 近区横向偏差el反映了车辆相对于前方近处道路的横向位置.该值根据车辆航向和前方可见车道线之间的关系推导得到,计算公式为
(1)
3) 远区航向角偏差eθ在某种程度上可以反映车辆前方远处的道路曲率信息以及道路几何形状对驾驶员预瞄距离的影响.远区定义为车辆前方10~30 m的道路范围,eθ的选取方法如下:
(2)
对上述可感知的视觉输入参数进行筛选、计算和获取的过程称为视觉感知模块.该模块的输入为车辆运动状态和道路信息.该模块提取了人类驾驶员可获得的视觉信息,是驾驶员模型的感知环节.
采用基于0阶T-S模型的自适应神经模糊推理系统来获取视觉参数输入与转向盘转角输出之间的映射关系,完成转向盘转角模块的构建.
ANFIS网络结构如图5所示,输入向量Xin=(x1,x2,x3)T经过5层前馈神经网络的传输与处理,得到模糊系统的输出值f.此处,输入变量x1、x2、x3即为视觉模块的输出参数u、el、eθ,输出值f即为转向盘转角δsw.
图5 3输入1输出的ANFIS网络结构
图5中方框表示该节点处的相关参数可通过神经网络学习算法进行自适应调整,圆圈表示该节点处的参数不能进行自适应调整.第1层为模糊化层,对输入变量进行模糊化处理.3个输入变量分别定义5个语言变量值,每个节点代表1个语言变量值.计算并输出每个输入变量属于各语言变量值模糊集合的隶属度,即
(3)
i=1,2,3,j=1,2,…,5,
(4)
式中:aij、bij、cij为前件参数,其值决定相应隶属函数的形状.
第2层为规则强度层,每个节点代表1条模糊规则,共生成53=125条模糊规则,通过将第1层输出的隶属度相乘,用于输出第k条规则的激活强度ωk,计算公式为
i=1,2,3,k=1,2,…,125.
(5)
(6)
第4层为模糊规则输出层,每个节点将每条模糊规则的量纲一化激活强度和相应规则输出值相乘,获得第k条规则的输出结果,计算公式为
(7)
式中:pk为后件参数.
第5层为求和层,只有1个节点,通过对第4层的所有规则输出求和计算得到ANFIS的最终输出,即
(8)
以上已经确定了用于转向盘转角决策的自适应神经模糊推理系统网络结构,通过给定的样本数据,学习算法需要对ANFIS中的前件参数aij、bij、cij和后件参数pk进行调整.ANFIS结构和学习算法等设置基于MATLAB中的Neuro Fuzzy Designer工具箱进行设计,加载数据集,通过训练便可得到基于ANFIS的转向盘转角决策模块.
将2.1中的视觉感知模块和2.2中的转向盘转角决策模块相结合,即可得到如图6所示的从视觉感知到转向盘转角决策的仿人驾驶员模型.
图6 仿人驾驶员模型
图6中:X、Y、φ分别为大地坐标系下车辆的横坐标、纵坐标和航向角;Xln、Yln、Cln分别为左车道线第n个点的横坐标、纵坐标和该点处的曲率值;Xrn、Yrn、Crn分别为右车道线第n个点的横坐标、纵坐标和该点处的曲率值.
视觉感知模块用于提取人类驾驶员可感知的信息,如通过外围视觉感知到的车辆速度、车辆在车道内的横向位置信息,以及通过注视行为获取的前方道路的预览信息.转角决策模块采用ANFIS模仿人的模糊描述和推理机制,基于数据驱动的方式构建了由视觉输入参数(u,el,eθ)到转向盘转角δsw的非线性映射关系.
基于PreScan/Simulink联合仿真环境,将所建立的仿人驾驶员模型作为车辆的横向控制算法,分别在不同道路场景和车速下进行仿真分析.
不同于评价轨迹跟踪的准确性,在保证安全驾驶的情况下,主要以转向行为的相似性对模型进行评价.为了定量分析,皮尔逊相关系数(Pearson correlation coefficient,PCC)、均方根误差(root mean squared error,RMSE)和平均绝对误差(mean absolute error,MAE)被用作转向相似性的评价指标,计算公式如下:
(9)
(10)
(11)
PCC用于衡量2组数据之间变化趋势的相似性,PCC越接近1,说明2组数据的变化趋势越相似;RMSE和MAE用于衡量2组数据之间数值的偏差,RMSE和MAE越小,说明2组数据之间的数值偏差越小.
车辆的横向位置定义为车辆当前轨迹点到车道虚拟中心线的距离(横向偏差),当车辆质心在其右侧时为正值,当车辆质心在其左侧时为负值.所提出的仿人转向驾驶员模型在2条试验道路上的车辆横向位置仿真结果如图7所示.
图7 横向位置仿真结果
从图7可以看出:在2条试验道路上,车辆在不同速度下的横向位置的范围为-0.6~0.6 m,说明整个仿真过程中车辆一直被控制在车道内行驶.这说明将该模型应用于车辆的横向控制时,被控制的车辆不存在与其他车道上的车辆发生碰撞的风险,可以保证行车安全.
人类驾驶员的转向盘转角数据与模型仿真的转向盘转角数据对比曲线如图8所示.其中:图8a为试验道路A上5种车速下的转向盘转角曲线对比;图8b为试验道路B上其他2种车速下的转向盘转角曲线对比.总体来看,模型的转向盘转角数据与人类驾驶员的转向盘转角数据具有一致的变化趋势,并且两者在数值上也基本重合.事实上,转向盘转角曲线的形状与道路曲率的形状相对应,由于车辆略微不足的转向特性,转向盘转角的幅值随着车速的增加而增大.
图8 转向盘转角曲线对比
对于人类驾驶员来说,在整个转弯过程中,并不是一个单一的完美转向动作,而是存在着一些转向盘转角的微调,尤其是在入弯时转向盘转角有超调的现象.需要特别注意的是,人类驾驶员的所有转向行为并不都是值得模仿的.模型生成的转向盘转角的变化有时比人类驾驶员的转角数据变化更频繁,但是其波动幅度比人类驾驶员的波动幅度更小,没有明显的超调,整体上变化平稳,在不同车速和弯道下均能够保持较为一致、良好的转向效果.
不同道路场景和车速下的仿人转向特性评价指标计算结果如表1所示.
表1 仿人转向特性评价结果
为了进一步分析,在此进行了经典的单点预瞄最优曲率模型[14]的仿真并增加了数据对比.从大多数情况和平均值可以看出:与单点预瞄最优曲率模型相比,所提出的仿人驾驶员模型生成的转向盘转角与人类驾驶员的转向盘转角数据的相关性更高,偏差更小,具有更好的仿人转向操纵特性.
从视觉感知和转向决策2个层面,基于人类弯道驾驶视觉行为的相关研究结果和具有仿人智能的ANFIS算法,提出了仿人驾驶员模型.仿真结果表明:所建立的仿人驾驶员模型具有基本的道路跟随和过弯能力,与人类驾驶员具有较高的转向相似性,转向平稳,能够反映人类驾驶员弯道驾驶过程中普遍的转向行为,在其他弯曲道路和车速下具有一定的适用性.