基于Python的N2类商用车制动距离计算的线性回归优化

来源:世展网 分类:汽配行业资讯 2023-06-21 10:59 阅读:*****
分享:

2025年中国江苏昆山国际汽车灯具展览会ALE

2025-03-26-03-28

展会结束

制动距离是评价车辆制动性能的重要指标之一,文章深入研究了制动距离的计算方法,分析其误差来源,并用试验数据验证了测试过程中由于驾驶员不能精确控制制动力而导致测试结果误差大。为此运用Python语言的机器学习库用线性回归的优化方法对制动距离计算公式进行了优化,可减小计算误差,提升计算结果的有效性。经过对比发现,优化后的制动距离计算公式理论计算结果相对优化前对试验数据的拟合程度明显更高,在车辆开发过程中可在设计阶段提升计算的准确性,缩短开发周期。

制动距离与制动减速度是评价汽车制动性能的重要指标。根据GB 12676制动法规,以充分发出的平均减速度和制动距离来评价整车的制动效能。其中充分发出的平均减速度定义为车辆由0.8倍的初始车速减速至0.1倍的初始车速这个时间段之间的平均减速度。制动距离定义为从驾驶员开始促动制动系统的控制装置至车辆停住所行驶的距离。制动减速度可通过整车的受力情况估算,制动距离却需考虑驾驶员的反应时间,制动过程中防抱死制动系统(Anti-lock Braking System, ABS)电磁阀工作的影响等因素。本文通过实际试验数据与线性回归的方法优化了制动距离计算的经验公式,提升了制动距离计算的准确性。


1 制动距离计算过程

下面详细分析某N2类车型满载冷态制动过程,随着踏板力的上升,制动减速度逐步增加,当减速度超过路面附着系数后ABS介入,制动减速度开始波动,直至车辆停下。

传统制动距离计算方法是通过将整个制动过程分解为驾驶员的反应阶段、制动减速阶段、ABS工作影响阶段,分别对每个阶段的制动距离进行计算,经过加权得到最终估算的制动距离。

 (1)

式中,S为制动距离,v为制动初速度,a1为理论计算的平均减速度,a2为ABS影响造成的减速度波动的最低值,a3为ABS影响造成的减速度波动的最高值,w1、w2、w3为加权系数,其中w1、w2、w3往往根据经验设定。


2 试验数据与理论计算对比

N2类商用车满载冷态历史数据如表1所示,由于数据较多,部分数据予以隐藏。

表1 N2类商用车满载冷态历史数据

根据此数据,运用Python的matplotlib库可实现数据的可视化,相关代码如下,运行结果如图1所示。

import matplotlib.pyplot as plt

import matplotlib

import numpy as np

import pandas as pd

data=pd.read_csv(r".\data\brake_test.txt",sep='\s+')

matplotlib.rcParams['font.family'] = 'FangSong'

fig = plt.figure()

ax1 = fig.add_subplot()

ax1.scatter(data["acc"],data["s"],s=2)

ax1.set_xlim([4.5,8.5])

ax1.set_ylim([15,40])

ax1.set_xlabel("MFDD m/s^2")

ax1.set_ylabel("制动距离m")

plt.show()

图1 N2类商用车满载冷态历史数据

由图可知,制动距离由于驾驶员的不同以及状态不同,即使是同样的平均制动减速度实际制动距离也可能有一定偏差。参照上述公式绘制制动减速度与制动距离的曲线,参照经验值设定驾驶员反应时间为0.35 s,ABS波谷减速度为a/1.1,ABS波峰减速度为a/0.7,运行代码如下,运行结果如图2所示。

a3=np.arange(4.5,9,0.1)

sfu=(60/3.6)*0.35+(60/3.6)**2/2/a3

ss=(60/3.6)*0.35+(60/3.6)**2/2/a3/0.7

sp=(60/3.6)*0.35+(60/3.6)**2/2/a3/1.1

b3=sfu*0.5+ss*0.15+sp*0.35

plt.plot(a3,b3)

plt.show()

图2 理论制动距离计算曲线

可以看到,理论计算的制动距离相较实际制动距离偏差较大,存在较大的优化空间。

3 基于Python 的线性回归优化

由式(1)可知,制动距离与v2/2a存在线性关系。用计算公式表达为

 (2)

将车辆试验数据中制动距离与减速度数据提取出来如表1 所示。

根据GB 12676《商用车辆制动系统技术要求及试验方法》可知,N2类商用车制动性能试验初速度要求为60 km/h。利用Python中pandas库可方便进行表格数据的运算,计算v2/2a并列入表格代码如下,可得表2。

import pandas as pd

data=pd.read_csv(r".\data\brake_test.txt",sep='\s+')

data["v^2/2a"]=(60/3.6)**2/2/data["acc"]

表2 计算结果

利用matplotlib库中的scatter方法绘制的制动距离与v2/2a试验数据的散点图,代码如下,运行结果如图3所示。

data["v^2/2a"]=(60/3.6)**2/2/data["acc"]

ax1.scatter(data["v^2/2a"],data["s"],s=8)

plt.tick_params(labelsize=23)

ax1.set_xlabel("v^2/2a",fontsize=30)

ax1.set_ylabel("制动距离m",fontsize=30)

plt.grid()

plt.show()

图3 v 2/2a与制动距离散点图

由图可知,两者的试验数据存在很明显的线性关系,符合线性回归的条件。

Scikit-learn(以下简称sklearn)是开源的Python机器学习库,它基于Numpy和Scipy,提供了大量用于数据挖掘和分析的工具,包括数据预处理、交叉验证、算法与可视化算法等一系列接口[3-4]。

sklearn的基本功能主要被分为六个部分:分类、回归、聚类、数据降维、模型选择、数据预处理,具体可以参考官方网站上的文档。本文主要应用基本功能中的线性回归模型。

线性回归是最简单、应用最广的构建回归模型的算法。其主要优点是线性规模的可扩展性和较高的可解释性。算法把数据记录作为点,目标变量作为Y轴,用一条直线(在两个或多个特征的情况下是平面)拟合这些点。

基于sci-learn库的线性回归算法可以对数据进行线性回归运算,计算出方差最小的参数A、B的值。python代码如下:

x=data["v^2/2a"]

y=data["s"]

y=y.values.reshape(-1, 1)

x=x.values.reshape(-1, 1)

from sklearn.linear_model import LinearRegres sion

lrModel = LinearRegression()

lrModel.fit(x, y)

#对模型进行检验

lrModel.score(x,y)

#查看截距

alpha = lrModel.intercept_[0]

print(alpha)

#查看参数

beta = lrModel.coef_[0][0]

运行可得:alpha=6.455, beta=0.894。其中beta为式(2)中A的值,alpha即为上述公式中B的值。将A/B带入式(2)可得S=0.894×v2/(2a)+6.455,绘制到上述散点图中代码如下,运行结果如图4所示。

ax1.scatter(data["v^2/2a"],data["s"],s=2)

ax1.set_xlabel("v^2/2a")

ax1.set_ylabel("制动距离m")

a1=np.linspace(16,30,20)

b1=a1*0.894+6.454

plt.plot(a1,b1)

plt.show()

图4 线性回归计算参数验证


4 优化前后制动距离计算对比

基于优化后的参数绘制减速度与制动距离曲线,优化前后曲线分别如图5与图6所示。

由图可知,制动距离理论值与实际值偏差有较大改善。为了准确评估模型改善的程度,可计算改善前后两个模型的R2值。其中R为相关系数,是衡量两个变量之间相关程度的系数。R2为判定系数,反应因变量的全部变异能通过回归关系被自变量解释的比例。如R2为0.8,则表示回归关系可以解释因变量80%的变异,也就是如果能控制自变量不变,则因变量的变异程度会减少80%。

图5 优化前制动距离计算曲线

图6 优化后制动距离计算曲线

计算R2的python代码如下:

def r2(true_values, predicted_values):

n = len(true_values)

mean = np.mean(true_values)

residuals =0

total =0

for i in range(n):

residuals += (true_values[i] - predicted_values [i])**2.

total += (true_values[i]-mean)**2.

return 1.0 - residuals /total

r2(data["s"],data["predict"])

经计算,改善前计算出的R2 值为0.897 3,改善后R2 值为0.991 4。由此可知改善后的制动距离计算公式所得结果与试验数据吻合度提升明显,极大地提升了制动距离计算的有效性。


5 总结

本文根据车辆整个制动过程列出了制动距离求解的一般公式,并解释了公式中需要经验判定的参数。

通过公式明确了自变量与因变量的线性关系,并通过可视化的方法论证了此观点,通过代码展现了Python实现数据可视化的一般过程。

基于Python建立了线性回归模型,明确了最优化的A、B参数的值。

基于优化结果对优化前后的计算模型进行了评估,明确了优化效果。

本文来源于汽车制动之家、作者:韩彦潇,著作权归作者所有,文中观点仅代表作者观点。商业转载请联系作者获得授权,非商业转载请注明出处。

主办单位:
AEE汽车技术平台
米创博隆展览(上海)有限公司

展会官网:
www.AMEE-china.com 

联络我们:
米创博隆展览(上海)有限公司
Micreative-Bolong Exhibition (Shanghai ) Co.,Ltd

AMEE2023展位预订咨询:
底盘设计与智能底盘展区
alin Xie :159 2166 5818

新能源汽车底盘技术展区
Kevin Li:176 2147 8850 
Anna Lv:175 2118 5532

底盘轻量化技术展区
Cindy Gu:178 5637 9116  
Lina Wang:182 2134 7866

底盘部件先进工艺展区
Jeff Shen:185 2135 8883

汽车底盘零部件展区
LUCY  Liu :131 2298 1681

商用车底盘技术展区
Judy Zhu : 180 5521 5957  


AMEE2023展位及同期会议预订点击 “阅读全文”

相关汽配行业展会

2025年上海亚洲汽车轻量化展览会Lightweight Asia

2025-07-09~07-11 展会结束
68466展会热度 评论(0)

2025年杭州国际汽配展CAPAFAIR

2025-04-21~04-23 展会结束
79654展会热度 评论(0)

2025年深圳国际汽车制造装备与工业装配技术展览会AMTS

2025-10-28~10-30 距离104
56658展会热度 评论(0)

2025年上海国际车用空调及热管理技术展览会CIAAR

2025-11-18~11-20 距离125
73202展会热度 评论(0)

2025年上海国际汽车内饰与外饰展览会CIAIE

2025-08-13~08-15 距离28
77255展会热度 评论(0)

2025年法兰克福成都汽配展CAPAS

2025-05-22~05-24 展会结束
111228展会热度 评论(0)

2025年中国江苏昆山国际汽车灯具展览会ALE

2025-03-26~03-28 展会结束
125481展会热度 评论(0)
X
客服
电话
13924230066

服务热线

扫一扫

世展网公众号

微信小程序

销售客服

门票客服

TOP
X