用simulink两个函数模块完成,一个完成车辆动力学仿真,一个对仿真的结果进行卡尔曼滤波估算车辆质量。

链接:https://pan.baidu.com/s/1rCWkWanyAPRX4kWSyv9BQA 
提取码:1234

理论可参考基于扩展卡尔曼滤波的车辆质量与道路坡度估计 - 百度文库(注意其系统方程没考虑旋转质量的影响)

车辆动力学模型,系统状态方程及其雅克比矩阵为:

系统仿真函数程序为:

(车辆参数为上一篇车辆动力性经济性计算的数据,注意W为引入的系统加速度噪声,V为引入的测量速度噪声,仿真中车辆质量为60000kg)

%Plant
function [u]=kalman_sim(u1,u2,u3,u4)
%u1:输入Ttq
Ttq=u1;
%u2:系统噪声W
W=u2;
%u3:测量噪声V
V=u3;
%u4:时间t
t=u4;persistent v m i Ts ig i0 nn g f r CD A rou qq
if t==0Ts=0.1;ig=1.0;i0=6.83;nn=0.95*0.96;g=9.8;f=0.011;r=0.502;CD=0.8;%%%%%卡车取0.8 客车0.65A=1.92*3.09;rou=1.2258;qq=1.027+0.000331*i0^2.*ig.^2;%%汽车质量转换系数v=0.0;m=60000.0;i=0.0;z=v+V;
end
if t>0dv=1/qq*(Ttq*ig*i0*nn/(m*r)-g*f-CD*A*rou*v^2/(2*m)-g*i);v=v+Ts*dv+Ts*W;z=v+V;
endu(1)=v;
u(2)=m;
u(3)=i;
u(4)=z;

卡尔曼滤波函数程序为:

(注意车辆质量初始值设定为30000kg,看卡尔曼滤波可否正确估算车辆的质量60000kg)

%Plant
function [u]=kalman_sim(u1,u2,u3)
%u1:输入Ttq
Ttq=u1;
%u2:系统噪声W
z=u2;
%u3:时间t
t=u3;%persistent v m i
persistent x Ts ig i0 nn g f r CD A rou qq Q R P C Jf
if t==0Ts=0.1;ig=1.0;i0=6.83;nn=0.95*0.96;g=9.8;f=0.011;r=0.502;CD=0.8;%%%%%卡车取0.8 客车0.65A=1.92*3.09;rou=1.2258;qq=1.027+0.000331*i0^2.*ig.^2;%%汽车质量转换系数%系统方程:C=[1.0,0.0,0.0];  %Covariances of w:Q=diag([Ts*0.1*Ts',0,0]);%Covariances of v:R=[0.1];%初始估计值:x=[0.0;30000;0.0];%初始估计误差协方差:P=diag([Ts*0.1*Ts',90000000000,0.000001]);    end%后验,Measurement update:
%根据估计误差协方差和测量噪声协方差计算卡尔曼增益:
Kk=P*C'/(C*P*C'+R);%计算最优估计值:
%x=A*x+Mn*(yv-C*A*x);
x=x+Kk*(z-C*x);%计算最优估计值和真实值之间的误差协方差矩阵,为下次递推做准备:
P=(eye(3)-Kk*C)*P;%ye=C*x;           %Filtered value
u=x;    %Filtered signalerrcov=C*P*C';      %Covariance of estimation error%先验,Time update:
%根据系统状态方程计算下一状态预测值:
%x=A*x+B*u1;
Jf=eye(3);
Jf(1,1)=1-CD*A*rou*x(1)*Ts/x(2);
Jf(1,2)=(CD*A*rou*x(1)^2*r-2*Ttq*ig*i0*nn)/(2*x(2)^2*r)*Ts;
Jf(1,3)=-g*Ts; v=x(1);
m=x(2);
i=x(3);
dv=1/qq*(Ttq*ig*i0*nn/(m*r)-g*f-CD*A*rou*v^2/(2*m)-g*i);
v=v+Ts*dv;
x(1)=v;
x(2)=m;
x(3)=i;%预测误差协方差:
P=Jf*P*Jf'+Q;

系统仿真的不含测量噪声的车速v(可认为是真实值)、含测量噪声的车速z(测量值)、卡尔曼滤波后的车速v_e(估算值):

实际的车辆质量m与坡度i,估算的车辆质量m与坡度i:

卡尔曼滤波估算车辆质量——matab simulink仿真相关推荐

  1. 强跟踪卡尔曼滤波STF估算车辆质量——matab simulink仿真

    强跟踪卡尔曼滤波估算车辆质量--matab simulink仿真 目录 参考资料 强跟踪滤波器算法 解决的问题 Simulink模型 车辆运动状态仿真代码 强跟踪卡尔曼滤波代码 链接: https:/ ...

  2. 基于强跟踪卡尔曼滤波的隔振系统故障诊断——matab simulink仿真

    链接:https://pan.baidu.com/s/1s6T7UpY1G2m-A1876etmBg 提取码:1234 一.参考资料 1.基于强跟踪滤波器的在线故障诊断方法 2.线性连续系统的离散化 ...

  3. 卡尔曼滤波-Simulink仿真

    卡尔曼滤波-Simulink仿真 ​ 描述:卡尔曼滤波是一种优化估计算法(an optimal estimation algorithm) ​ 卡尔曼滤波器也称传感器融合算法 卡尔曼滤波器最早应用在阿 ...

  4. 锂电池SOC估计Simulink模型/卡尔曼滤波估算SOC

    锂电池SOC估计Simulink模型/卡尔曼滤波估算SOC 合集,10个左右,搜集于各大论坛,能直接运行出结果的有6个左右id=652767097328&

  5. 基于PID的车辆ABS建模与仿真

    基于PID的车辆ABS建模与仿真 1.背景 2.PID 3.汽车ABS原理 4.汽车ABS的数学模型 4.1 汽车动力学模型 4.2 汽车轮胎模型 4.3 汽车制动器模型 5.汽车 ABS 的 Sim ...

  6. ABS系统的Simulink仿真

    ABS系统的Simulink仿真 一. 搭建ABS的simulink模型 根据汽车ABS 的数学模型在MATLAB的simulink中搭建ABS的simulink模型. 1.1搭建PID模型 在模块库 ...

  7. 车辆质量与道路坡度估计

    在重型货车研发过程中,为了节约传感器成本,就不会安装质量传感器和坡度传感器,而是通过数学公式进行质量估算和坡度估算.工程中常用的方法是扩展卡尔曼滤波和最小二乘法.步骤如下: 1.利用汽车纵向动力学公式 ...

  8. CarSim联合simulink仿真横向控制

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一.知识点补充 1.车辆控制的本质 2.三个坐标系 3.符号解释 4.线速度与角速度的关系 5.车辆运动学推导(手写拍照, ...

  9. MPC(模型预测控制)-Simulink仿真

    文章目录 一.为什么使用MPC控制器? 二.什么是MPC控制器? 三.MPC控制器的参数如何设置? 3.1 采样时间 3.2 预测范围.控制范围 3.3 约束条件 3.4 权重 四.自适应增益调度和非 ...

最新文章

  1. post请求中的序列化
  2. linux中查看日志技巧,日志查看技巧之筛选[linux命令集][排查篇]
  3. Caused by: java.lang.NoClassDefFoundError: Lorg/sl
  4. PySC2星际争霸Ⅱ 强化学习环境搭建
  5. 【开源项目----Android OPenGLES渲染YUV视频文件】
  6. Combobox报错:row[opts.textField].toLowerCase is not a function。
  7. 在家吃饭保平安,华人学者研究发现,经常在外就餐增加死亡风险
  8. 【翻译】如何在Ext JS 6中使用Fashion美化应用程序
  9. Jmeter系列之接口断言
  10. 两个栈实现队列+两个队列实现栈----java
  11. [JNI] 开发基础 (8)c语言typedef
  12. 在网页中插入背景音乐代码(html)
  13. TOOLFK工具-在线二维码解码工具
  14. XDroid 轻量级的Android快速开发框架
  15. 常用Jquery插件整理大全
  16. github100天python_GitHub - jazeyoung/Python-100-Days: Python - 100天从新手到大师
  17. 阿里巴巴DevOps文化浅谈
  18. 今日头条街拍图片爬取
  19. 使用stm32f103驱动lcd1602
  20. linux内核结构介绍及驱动引入

热门文章

  1. REST API 概念的简单介绍
  2. 神奇的 SQL 之团结的力量 → JOIN
  3. leetcode 删除链表的倒数第N个节点
  4. C#LeetCode刷题-深度优先搜索
  5. Women Don’t Like Questions. Is it True?
  6. 我学到的5件事,指导2,500名有抱负的开发人员
  7. 企业文档管理_为什么这么多企业文档如此糟糕?
  8. kubernetes_Kubernetes领域的标准安全性。
  9. 从零开始拼凑的_如何从零开始拼凑AI
  10. 面试问题:Spring中Bean 的生命周期