news 2026/5/1 9:00:32

基于扩展卡尔曼滤波(EKF)的车辆状态估计——为初学者开启的探索之旅

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于扩展卡尔曼滤波(EKF)的车辆状态估计——为初学者开启的探索之旅

基于扩展卡尔曼滤波(EKF)的车辆状态估计(采用基于Dugoff轮胎的七自由度车辆动力学模型,B09商品基础上建模) 1.软件: MATLAB 2018以上;CarSim 2020.0 2.商品介绍: (1)基于Dugoff轮胎模型和车身动力学公式,搭建7DOF车辆动力学Simulink模型,对相关变量(质心侧偏角,横摆角速度,纵、横向速度及加速度)进行CarSim对比验证。 (2)采用EKF估计车辆质心侧偏角、横摆角速度及纵向车速。 包括:S函数编写EKF、Simulink自带EKF模块两种方式。 (3)在线性状态方程下使用的EKF,即质心侧偏角、横摆角速度的表达式是线性方程。 整体逻辑清晰,界面整洁舒适,适合初学者入门学习。

在车辆动力学研究领域,准确估计车辆状态至关重要。今天咱们就来讲讲基于扩展卡尔曼滤波(EKF)的车辆状态估计,采用的可是基于 Dugoff 轮胎的七自由度车辆动力学模型,而且是在 B09 商品基础上建模哦。

一、软件准备

本次研究用到的软件是 MATLAB 2018 以上版本以及 CarSim 2020.0 。MATLAB 强大的计算与仿真能力,搭配 CarSim 专业的车辆动力学仿真功能,简直是天作之合。

二、商品介绍

1. 搭建 7DOF 车辆动力学 Simulink 模型

基于 Dugoff 轮胎模型和车身动力学公式,咱们搭建 7DOF 车辆动力学 Simulink 模型。这个模型可不简单,它能对质心侧偏角、横摆角速度、纵横向速度及加速度这些关键变量进行精确模拟。

比如说,在 Simulink 里搭建模型的时候,就像搭乐高一样,每个模块都有它的作用。以质心侧偏角的计算模块为例:

% 假设这里有一些基础参数 m = 1500; % 车辆质量 lf = 1.2; % 质心到前轴距离 lr = 1.5; % 质心到后轴距离 v = 20; % 车速 % 质心侧偏角近似计算公式 beta = atan((lr * delta_f - lf * delta_r) / (lf + lr)) / v;

这里通过车辆的一些基本参数(质量、轴距分配等),再结合前后轮转角,就可以近似计算出质心侧偏角。然后把这些模块按照车辆动力学的逻辑关系连接起来,就构成了完整的 7DOF 模型。最后还要和 CarSim 进行对比验证,确保模型的准确性。

2. 采用 EKF 估计车辆状态

S 函数编写 EKF

咱们可以通过 S 函数来编写 EKF。S 函数就像是一个自定义的小工厂,按照我们的要求生产数据。

function [sys,x0,str,ts] = ekf_sfunc(t,x,u,flag) switch flag, case 0, [sys,x0,str,ts]=mdlInitializeSizes; case 1, sys=mdlDerivatives(t,x,u); case 2, sys=mdlUpdate(t,x,u); case 3, sys=mdlOutputs(t,x,u); case 4, sys=mdlGetTimeOfNextVarHit(t,x,u); case 9, sys=mdlTerminate(t,x,u); otherwise DAStudio.error('Simulink:blocks:unhandledFlag', num2str(flag)); end

这段代码是 S 函数的基本框架,不同的case对应不同的功能。case 0初始化参数,case 1计算导数(在 EKF 里可能用不到),case 2更新状态,case 3输出估计值等等。我们在这个框架里填充 EKF 的具体算法,就可以实现对质心侧偏角、横摆角速度及纵向车速的估计。

Simulink 自带 EKF 模块

Simulink 本身也提供了 EKF 模块,使用起来更加方便。就像直接买了个组装好的玩具,只要把参数设置好就能用。我们只需要把车辆模型的输出连接到 EKF 模块的输入,再设置好状态转移矩阵、观测矩阵等参数,就能轻松得到估计值。

3. 线性状态方程下的 EKF

这里我们使用的是线性状态方程下的 EKF,也就是说质心侧偏角、横摆角速度的表达式是线性方程。这样做的好处是计算相对简单,对于初学者来说更容易理解和上手。

比如说质心侧偏角的线性表达式:

beta_dot = - (C_f + C_r) / (m * v) * beta - (C_f * lf - C_r * lr) / (m * v^2) * r + C_f / m * delta_f;

这里betadot是质心侧偏角的变化率,CfCr分别是前后轮侧偏刚度,deltaf是前轮转角。通过这样的线性方程,我们可以在 EKF 算法里更好地处理和估计质心侧偏角的状态。

整个研究从模型搭建到状态估计,逻辑清晰,界面也尽量做到整洁舒适,特别适合初学者入门学习。希望大家通过这篇博文,对基于 EKF 的车辆状态估计有更深入的了解,也能在自己的学习和研究中顺利上手。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 5:03:56

百度网盘下载提速终极指南:三步告别限速困扰

还在为百度网盘那令人困扰的下载速度而苦恼吗?当你的宽带明明可以全速运行,却因为网盘限速而只能以缓慢的速度下载文件时,这种体验确实让人沮丧。今天介绍的baidu-wangpan-parse工具,作为一款专业的百度网盘直链解析神器&#xff…

作者头像 李华
网站建设 2026/5/1 5:02:56

百度网盘直链解析工具:轻松获取高速下载链接的完整指南

还在为百度网盘的龟速下载而烦恼吗?baidu-wangpan-parse作为一款专业的百度网盘直链解析工具,能够巧妙绕过官方限速,让你重新体验全速下载的便捷。无论你是需要下载学习资料、工作文件还是个人资源,这款工具都能帮你轻松搞定。 【…

作者头像 李华
网站建设 2026/5/1 1:20:28

openpnp - Smoothieware - LPC17xx-DFU-Bootloader - 固件调试环境搭建

文章目录openpnp - Smoothieware - LPC17xx-DFU-Bootloader - 固件调试环境搭建概述笔记启动的脚本(start_eclipsecpp_with_msys2_arm_gcc_and_make.bat)中,要有arm-gcc工具链start_eclipsecpp_with_msys2_arm_gcc_and_make.bat更改openocd用到的硬件调试器拷贝JLin…

作者头像 李华
网站建设 2026/5/1 5:04:26

2025低成本AI认证指南:从入门到进阶的高性价比路径盘点

人工智能已从前沿科技演变为驱动各行业变革的核心引擎。无论是希望提升职场竞争力的专业人士,还是寻求入行机会的毕业生,掌握AI技能都已成为一项重要需求。然而,面对市场上种类繁多的课程和动辄上万元的培训费用,许多人望而却步。…

作者头像 李华
网站建设 2026/4/30 17:10:54

逆向之常用算法识别方式

在逆向分析的过程中,我们经常会遇到一些常用的已公开的算法如md5、sha1、sha256、sm3、base64等,这些算法常用于数据计算或者转换;也经常会遇到另外一些常用的算法如rc4、aes等,而这些算法常用于数据加密,所有这些算法…

作者头像 李华