整车质量估计算法,采用simulink模型搭建,基于模糊逻辑思想,通过设计合理的模糊控制规则确定质量估计的置信度,当置信度高于某一水平时进行整车质量估计,提高工况判断的鲁棒性。 采用递推最小二乘作为基础进行整车质量估计的求解,利用实时观测量对估计值进行修正。 该方法能够有效解决仅通过固定门限值进行限制条件判断,会增加误判风险,比如传感器的信号波动、驾驶员的紧急操作等情况。 注意 仅提供trucksim 联合仿真模型,这个不包括与trucksim 联合调试实际协助操作, 与trucksim联合仿真调试和接口配置需要自行配置。 以下是模型需要的trucksim输入参考信号接口: 输入1:驱动力/N 输入2:车速/km/h 输入3: 纵向加速度/g 输入4:前轴垂向载荷/N 输入5: 中轴垂向载荷/N 输入6 : 后轴垂向载荷/N 输入7:侧向加速度/g 配置好接口就能实现联合仿真

在车辆工程领域,整车质量估计是一个关键的课题。今天就来聊聊基于模糊逻辑思想,通过Simulink模型搭建的整车质量估计算法,以及其中递推最小二乘求解方法的应用。

基于模糊逻辑的置信度设计

我们采用Simulink模型搭建整个算法框架,核心思想基于模糊逻辑。模糊逻辑的好处在于,它不像传统方法那样依赖固定门限值,从而有效降低误判风险,比如应对传感器信号波动或驾驶员紧急操作这类情况。

在Simulink中,我们通过设计合理的模糊控制规则来确定质量估计的置信度。举个简单例子,假设我们要对车辆行驶工况进行模糊划分(虽然这里主要是针对质量估计置信度,但原理类似),在Matlab代码中定义模糊系统可能会像这样:

fisMat = newfis('myFIS');
% 添加输入变量,这里车速作为输入
fisMat = addvar(fisMat,'input','speed',[0 120]); 
% 定义输入变量的模糊集合
fisMat = addmf(fisMat,'input',1,'slow','trimf',[0 0 60]);
fisMat = addmf(fisMat,'input',1,'medium','trimf',[30 60 90]);
fisMat = addmf(fisMat,'input',1,'fast','trimf',[60 120 120]);
% 添加输出变量,比如工况类型
fisMat = addvar(fisMat,'output','condition',[1 3]); 
fisMat = addmf(fisMat,'output',1,'city','trimf',[1 1 2]);
fisMat = addmf(fisMat,'output',1,'suburban','trimf',[1 2 3]);
fisMat = addmf(fisMat,'output',1,'highway','trimf',[2 3 3]);
% 定义模糊规则
rulelist = [1 1 1 1 1; 
            2 2 2 1 1; 
            3 3 3 1 1];
fisMat = addrule(fisMat,rulelist);

上述代码简单构建了一个模糊推理系统(FIS),以车速作为输入,输出不同的行驶工况类型。在整车质量估计中,类似地,我们通过多输入(如驱动力、车速等)来确定质量估计的置信度。当置信度高于某一设定水平时,便进行整车质量估计,这大大提高了工况判断的鲁棒性。

递推最小二乘求解整车质量估计

递推最小二乘作为基础方法来求解整车质量估计。它利用实时观测量对估计值进行修正。假设我们有一个线性模型 \( y = Hx + v \),其中 \( y \) 是测量值, \( H \) 是观测矩阵, \( x \) 是待估计参数(这里就是整车质量相关参数), \( v \) 是噪声。

整车质量估计算法,采用simulink模型搭建,基于模糊逻辑思想,通过设计合理的模糊控制规则确定质量估计的置信度,当置信度高于某一水平时进行整车质量估计,提高工况判断的鲁棒性。 采用递推最小二乘作为基础进行整车质量估计的求解,利用实时观测量对估计值进行修正。 该方法能够有效解决仅通过固定门限值进行限制条件判断,会增加误判风险,比如传感器的信号波动、驾驶员的紧急操作等情况。 注意 仅提供trucksim 联合仿真模型,这个不包括与trucksim 联合调试实际协助操作, 与trucksim联合仿真调试和接口配置需要自行配置。 以下是模型需要的trucksim输入参考信号接口: 输入1:驱动力/N 输入2:车速/km/h 输入3: 纵向加速度/g 输入4:前轴垂向载荷/N 输入5: 中轴垂向载荷/N 输入6 : 后轴垂向载荷/N 输入7:侧向加速度/g 配置好接口就能实现联合仿真

递推最小二乘算法在代码实现上大概是这样(简化示例):

% 初始化参数
P = eye(1); % 协方差矩阵初始化
x_hat = zeros(1,1); % 初始估计值
for k = 1:length(y_data)
    H_k = [1]; % 假设的观测矩阵,这里简单设为1
    y_k = y_data(k);
    K_k = P * H_k' / (H_k * P * H_k' + 1); % 计算卡尔曼增益
    x_hat = x_hat + K_k * (y_k - H_k * x_hat); % 更新估计值
    P = (eye(1) - K_k * H_k) * P; % 更新协方差矩阵
end

在实际整车质量估计中, \( y \) 就是我们从TruckSim获取的各种实时观测量(驱动力、车速等),通过不断递推更新 \( x \)(整车质量相关参数估计值),从而实现准确的整车质量估计。

TruckSim联合仿真

这里仅提供TruckSim联合仿真模型,联合调试实际协助操作不包含在内,接口配置需要自行完成。以下是模型所需的TruckSim输入参考信号接口:

  • 输入1:驱动力/N
  • 输入2:车速/km/h
  • 输入3: 纵向加速度/g
  • 输入4:前轴垂向载荷/N
  • 输入5: 中轴垂向载荷/N
  • 输入6 : 后轴垂向载荷/N
  • 输入7:侧向加速度/g

只要配置好这些接口,就能实现联合仿真。在Simulink中,可以通过相应的模块来连接这些输入信号,比如使用“From Workspace”模块读取来自TruckSim的数据文件,然后将数据正确映射到对应的输入接口,从而在Simulink中进行基于TruckSim实际车辆动力学模型的整车质量估计联合仿真。

总之,这种结合模糊逻辑与递推最小二乘,并借助TruckSim联合仿真的整车质量估计算法,为车辆工程领域的质量估计问题提供了一种稳健且有效的解决方案。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐