基于BP神经网络的道路坡度综合估计系统的制作方法

文档序号:16211807发布日期:2018-12-08 07:50阅读:315来源:国知局
基于BP神经网络的道路坡度综合估计系统的制作方法

本发明属于车辆交通安全预测评估技术领域,涉及到一种基于bp神经网络的道路坡度综合估计系统。

背景技术

随着车辆智能化的发展,人们对出行驾驶的安全性、舒适性和经济性的要求越来高。而除了车辆本身的动力性能和人为驾驶操作外,道路坡度也是影响车辆驾驶的一个重要因素。但车辆经过坡道时容易出现不合理的加速、减速和频繁换挡等不合理的驾驶操作,导致安全隐患问题,增加车辆的燃油消耗和尾气排放,同时影响驾驶的舒适性。因此,实时获取准确的道路坡度信息对于提高车辆的安全性和燃油经济性具有重要意义。

现有的车载道路坡度实时估计方法有两种,一种是直接根据传感器实时采集车辆的行驶状态参数,通过信息处理来获取道路坡度,但此种方法得到的车辆信息含有较大的噪声,且成本较高。另一种方法是以整车动力学模型为基础,利用传感器采集车辆运行的各项参数,如车速、车辆加速度、发动机转速、转矩、整车质量等,最后通过动力学的方程计算得到车辆所行驶的坡度值,但此种方法只用于一般驾驶情况,而车辆的制动工况和转向工况产生的制动力和横向力会影响车辆的纵向动力学模型,导致估计的道路坡度与实际路面状况存在较大偏差,而且采集的车辆参数较多,成本很高。

同时,目前大多研究仅仅对道路的纵向坡度进行了估计,而对道路横向坡度的估计以及两者的组合坡道却少有研究。



技术实现要素:

本发明的目的是提供一种基于bp神经网络的道路坡度综合估计系统,向驾驶员提供准确的道路坡道信息,为自动驾驶辅助决策、绿色驾驶及自动变速器换挡控制提供重要依据,实现车辆安全和舒适驾驶。

本发明的技术方案是:基于bp神经网络的道路坡度综合估计系统,包括:

⑴车轮垂直载荷采集单元,包括车轮垂直载荷参考数据库和车轮实时垂直载荷模块,用于采集各个车轮的垂直载荷。离线采集车辆在平直路面行驶的数据存在车轮垂直载荷参考数据库,车轮实时垂直载荷模块在线采集车辆行驶过程中车轮实时垂直载荷数据;

⑵路面坡道类型判断单元,通过比较车轮实时垂直载荷模块的数据与车轮垂直载荷参考数据库的数据判断路面坡道类型;

⑶bp神经网络预测单元,包括横向坡度bp神经网络模块、纵向坡度bp神经网络模块和组合坡度bp神经网络模块,用于根据路面坡度类型判断单元的判断结果应用的相应的bp神经网络模块预测路面坡度信息。

bp神经网络预测单元中各bp神经网络模块的操作步骤为:采集数据、归一化处理、模型设计、网络训练和验证测试。采集数据采取实车试验方式,实车试验的数据包横向坡道车辆爬坡试验数据、纵向坡道车辆爬坡试验数据和组合坡道车辆爬坡试验数据。横向坡道车辆爬坡试验数据为发动机扭矩、发动机转速、侧向速度、侧向加速度以及道路横向坡度信息。纵向坡道车辆爬坡试验数据为发动机扭矩、发动机转速、纵向车速、纵向加速度以及道路纵向坡度信息。组合坡道车辆爬坡试验数据为发动机转矩、发动机转速、车速、加速度以及道路组合坡度信息。将采集的数据进行归一化处理,所述归一化处理的公式为:

式中:xi为模型输入参数数据样本;xmin和xmax分别为各个数据样本变化范围的最小值和最大值;通过式⑴将三个向量归一化到区间[0,1]范围内,借助matlab方法编程,具体如下:x(i,:)=(x(i,:)-min(x(i,:)))/(max(x(i,:))-min(x(i,:)))。。

模型设计包括输入层、隐含层和输出层的确定,bp神经网络包括横向坡度bp神经网络、纵向坡度bp神经网络和组合坡度bp神经网络。横向坡度bp神经网络、纵向坡度bp神经网络和组合坡度bp神经网络均采用输入层、隐含层和输出层三层神经网络。

横向坡度bp神经网络包括4个输入参数和1个输出参数,输入参数:x1为发动机转速,x2为发动机输出转矩,x3为侧向车速,x4为侧向加速度,输出参数m1为bp神经网络模型道路横向坡度估计值,即输入层3个节点,输出层1个节点。纵向坡度bp神经网络包括4个输入参数和1个输出参数,输入参数:x1为发动机转速,x2为发动机输出转矩,x3为纵向车速,x4为纵向加速度,输出参数m2为bp神经网络模型道路纵向坡度估计值,即输入层3个节点,输出层1个节点。组合坡度bp神经网络包括6个输入参数和1个输出参数,输入参数:x1为发动机转速,x2为发动机输出转矩,x3为侧向车速,x4为侧向加速度,x5为纵向车速,x6为纵向加速度,输出参数m3为道路组合坡度值,包括道路横向坡度值和道路纵向坡度值,即输入层6个节点,输出层2个节点。

隐含层的节点数采用逐步试验方法确定,根据经验经验公式:m=log2n或确定隐含层节点数的最大值和最小值,然后从最小值开始逐个验证模型预测误差,比较每次网络的预测性能,选取性能最好的对应的节点数作为隐含层神经元节点数。其中:m为隐含层节点数,n为输入层节点数,l为输出层节点数,α为1-10之间的常数。

bp神经网络的网络训练步骤为:

步骤1,从训练样本集中取一个样本(xi,yi);

步骤2,以xi为bp神经网络的输入,计算出网络的实际输出值mi;

步骤3,计算bp神经网络输出值与实际测量值之间的误差d=yi-mi;

步骤4,利用输出层各模块的输出值与实际测量值所产生的误差不断调整bp神经网络各层的权值和阈值;

步骤5,对每个样本重复上述过程,直至整个样本集误差满足目标误差,从而获得训练好的bp神经网络;

其中:

xi为bp神经网络输入参数数据样本;

yi为道路坡度实际测量值;

mi为神经网络输出的道路坡度值;

d为bp神经网络输出的道路坡度值与道路坡度实际测量值之间的误差。

验证测试的步骤为:将归一化处理后的数据输入计算机,调整所述目标域数据模型,得到道路坡度预测结果。

bp神经网络具有任意复杂的模式分类能力和优良的多维函数映射能力,解决了简单感知器不能解决的异或(exclusiveor,xor)和一些其他问题。从结构上讲,bp网络具有输入层、隐藏层和输出层。从本质上讲,bp算法是以网络误差平方为目标函数、采用梯度下降法来计算目标函数的最小值。bp网络是在输入层与输出层之间增加若干层神经元,这些神经元称为隐含模块,它们与外界没有直接的联系,但其状态的改变能影响输入与输出之间的关系,每一层可以有若干个节点。本发明根据实车试验获取实验数据,在分析影响道路坡度主要因素的基础上,选取发动机转速、发动机输出转矩、侧向速度、侧向加速度、作为道路横向坡度bp神经网络模型的输入,道路横向坡度作为对比条件;选取发动机转速、发动机转速、纵向车速、纵向加速度作为纵向坡度bp神经网络模型的输入,道路纵向坡度作为对比条件;选取发动机转速、发动机输出转矩、侧向速度、侧向加速度、纵向车速、纵向加速度为组合坡度bp神经网络模型的输入,道路横向坡度和纵向坡度作为对比条件。利用实验所得的训练样本进行网络训练,通过网络实际输出值和测量值之间的误差来调整bp神经网络的权值和阈值,直到满足误差条件为止。最后,通过仿真验证测试所构建bp神经网络的正确性,用于实时估计车辆行驶时道路坡度。

本发明基于bp神经网络的道路坡度综合估计系统,通过实车试验采集车辆数据,进行归一化处理得到训练样本集,利用bp神经网络训练,并经仿真验证输出的得到道路坡度估计模型,实时估计道路坡度,向驾驶员提供可实施的道路坡道信息,为自动驾驶辅助决策、绿色驾驶及自动变速器换挡控制提供重要依据,实现安全和舒适驾驶。

附图说明

图1为本发明基于bp神经网络的道路坡度综合估计系统的结构图

图2为车辆道路坡度检测原理图;

图3为道路纵向坡度bp神经网络结构示意图;

图4为道路纵向坡度bp神经网络训练流程图。

其中:1—车辆、2—摄像头、3—can总线、4—坡道、5—车轮垂直载荷采集单元、6—车轮垂直载荷参考数据库、7—车轮实时垂直载荷、8—路面坡道类型判断模块单元、9—横向坡度bp神经网络预测模块、10—纵向坡度bp神经网络预测模块、11—组合坡度bp神经网络预测模块、12—bp神经网络预测单元。

具体实施方式

下面结合实施例和附图对本发明进行详细说明。本发明保护范围不限于实施例,本领域技术人员在权利要求限定的范围内做出任何改动也属于本发明保护的范围。

本发明基于bp神经网络的道路坡度综合估计系统如图1所示,包括:

⑴车轮垂直载荷采集单元5,包括车轮垂直载荷参考数据库6和车轮实时垂直载荷模块7,用于采集各个车轮的垂直载荷;离线采集车辆在平直路面行驶的数据储存在车轮垂直载荷参考数据库6,车轮实时垂直载荷模块在线采集车辆行驶过程中车轮实时垂直载荷数据;

⑵路面坡道类型判断单元8,通过比较车轮实时垂直载荷模块7的数据与车轮垂直载荷参考数据库6的数据判断路面坡道类型;

⑶bp神经网络预测单元12,包括横向坡度bp神经网络模块9、纵向坡度bp神经网络模块10和组合坡度bp神经网络模块11,用于根据路面坡度类型判断单元8的判断结果应用的相应的bp神经网络模块预测路面坡度信息。

选用纵向坡度进行预测,bp神经网络预测单元12中纵向坡度bp神经网络模块10的操作步骤包括采集数据、归一化处理、模型设计、网络训练和验证测试。

步骤一、采集数据,进行车辆实车试验,采集训练样本数据,如图2所示,车辆实车试验在坡道4上进行,车辆上安装行驶状态测量设备。行驶状态测量设备包括摄像头2和can总线3,摄像头安装在车辆的前部,拍摄路面图像坡度信息。can总线3位于驾驶室的下部,车辆行驶过程中从can总线3读取数据,纵向坡道车辆爬坡试验数据包括发动机扭矩、发动机转速、纵向车速和纵向加速度。根据can总线3读取的数据和车载摄像头拍摄的路面图像提取道路坡度信息,得到500组样本数据。

步骤二、归一化处理,将步骤一所得数据样本按照公式:

将采集的数据进行归一化处理,所述归一化处理的公式为:

对试验数据进行归一化处理;

式中:xi为模型输入参数数据样本;xmin和xmax分别为各个数据样本变化范围的最小值和最大值;通过式⑴将三个向量归一化到区间[0,1]范围内,借助matlab方法编程,具体如下:x(i,:)=(x(i,:)-min(x(i,:)))/(max(x(i,:))-min(x(i,:)))。将试验数据样本分成2组,1组作为训练样本,另一组作为测试样本。

步骤三、神经网络结构设计,采用3层bp神经网络,包括,输入层,隐含层以及输出层。其中,输入层输入参数为发动机扭矩、发动机转速、纵向车速以及纵向加速度,输出层输出参数为道路纵向坡度,即输入层有4个节点,输出层有1个节点。如图3所示,x1为发动机转速,x2为发动机输出转矩,x3为纵向车速,x4为纵向加速度,m2为bp神经网络模型道路纵向坡度估计值。

隐含层的节点数采用逐步试验方法确定,根据经验经验公式:m=log2n或确定隐含层节点数的最大值和最小值,然后从最小值开始逐个验证模型预测误差,比较每次网络的预测性能,选取性能最好的对应的节点数作为隐含层神经元节点数。其中:m为隐含层节点数,n为输入层节点数,l为输出层节点数,α为1-10之间的常数。从最小值开始逐个验证模型预测误差,在前一个值的基础上逐渐增加,比较每次网络的预测性能,选取性能最好的对应的节点数作为隐含层神经元节点数。如图3所示,本发明最佳的隐含层神经元个数为6个。

步骤四、神经网络训练,设置学习率为0.25、步长为1000步,目标误差绝对值为0.05,网络初始的权值和阈值为(-1,1)之间的随机数。将步骤三中归一化后得到的训练样本输入计算机进行神经网络的训练,表1部分为试验数据。

表1.bp神经网络训练样本部分数据

注:规定上坡坡度为整数,下坡为负数。

bp神经网络训练的步骤为:

步骤1,从训练样本集中取一个样本(xi,yi);

步骤2,以xi为bp神经网络的输入,计算网络的实际输出值z;

步骤3,计算bp神经网络输出值与实际测量值之间的误差d=yi-z;

步骤4,利用输出层各模块的输出值与实际测量值所产生的误差不断调整bp神经网络各层的权值和阈值;

步骤5,对每个样本重复上述过程,直至整个样本集误差满足相应条件,从而获得训练好的bp神经网络;

其中:

xi为发动机扭矩、转速和纵向车速、纵向加速度数据样本;

yi为神经网络输出的道路纵向坡度值;

z为道路纵向坡度实际测量值;

d为神经网络输出的道路纵向坡度值与道路纵向坡度测量值之间的误差。

步骤五、验证测试,选取测试数据对bp神经网络进行测试。将网络输入层参数输入到训练好的神经网络,网络根据训练好的连接权值、阈值,自动计算出测试样本的道路纵向坡度,将测试结果与测试样本实际结果进行分析如果测试误差低于容许误差,则所训练的bp神经网络可靠,否则调整各网络层参数或者增加训练样本容量等重新训练网络直至测试结果可用为止,测试结果如表2所示,相对误差绝对值低于5%。

表2.bp神经网络预测部分结果

如图4所示,利用本发明基于bp神经网络的道路坡度综合估计系统进行道路坡度实时估计方法为:

⑴建立bp神经网络,根据模型输入输出参数来确定神经网络的结构;

⑵对进行bp神经网络初始化,随机生成权值与阈值;

⑶输入实车试验数据,确定实车训练样本集;

⑷进行bp网络网路训练,输入权值和阈值,采用有师训练的方法构建bp神经网络的预测模型,获得可靠性更高的道路坡度估计模型;

⑸如果道路坡度估计模型的误差在阈值内,进行模型仿真验证,如果误差不在阈值内,调整权值和阈值返回步骤⑷;

⑹模型仿真验证,如果道路坡度估计模型合理,输出模型结果,否则返回步骤⑴,重新进行建立基于bp神经网络的道路坡度估计模型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1