当前位置: 首页 > news >正文

Carsim和Simulink联合仿真车辆状态估计:基于Dugoff轮胎模型和CKF/UKF的...

Carsim和simulink联合仿真车辆状态估计 估计的状态为:横摆角速度,质心侧偏角,纵向车速,侧向车速,4个轮子的转动角速度 先基于dugoff轮胎模型进行了轮胎纵向力和侧向力计算,再基于容积卡尔曼滤波CKF或者无迹卡尔曼滤波UKF 进行了车辆状态估计,精度很高,图中的工况为双移线工况和正弦工况 提供模型任何细节的讲解,同时可以交流理论相关的部分,包括卡尔曼滤波算法。

轮胎冒烟声里藏着车辆运动的秘密。咱们今天要聊的这套Carsim+Simulink联合仿真系统,能像CT扫描仪一样实时透视车辆状态。别被那些横摆角速度、质心侧偏角这些专业名词吓到,说白了就是想知道车在急转弯时会不会像滑板少年那样失控漂移。

先看轮胎这个暴脾气家伙。Dugoff模型比魔术公式更适合实时运算,毕竟它不需要查表操作。来看这段Simulink里的核心代码:

function [F_x, F_y] = dugoffTire(slip_ratio, slip_angle, F_z, mu) C_x = 80000; % 纵向刚度 C_y = 60000; % 侧向刚度 lambda = (mu*F_z*(1+slip_ratio)) / (2*sqrt(C_x^2*slip_ratio^2 + C_y^2*tan(slip_angle)^2))); if lambda < 1 f_lambda = lambda*(2-lambda); else f_lambda = 1; end F_x = C_x * slip_ratio * f_lambda / (1+slip_ratio); F_y = C_y * tan(slip_angle) * f_lambda / (1+slip_ratio); end

这个分段函数就像给轮胎装了个限幅器,当λ小于1时进入非线性区,否则保持最大附着力。注意分母里的(1+slip_ratio)可不是摆设,它能修正大滑移率下的力计算偏差。

接下来是重头戏——容积卡尔曼滤波(CKF)。相比UKF,CKF的采样点更少但精度不打折。举个栗子,在预测步生成2n个容积点时(n是状态维度),像这样在球面上均匀撒点:

function points = generateCubaturePoints(x, P) n = length(x); S = chol(P)' * sqrt(n); % 平方根分解 points = [x + S, x - S]; end

这个操作相当于把协方差矩阵拆解成多个传播方向。实测中发现,在双移线工况下,CKF对侧向速度的估计误差比EKF小了近40%。不过要当心协方差矩阵的正定性,必要时得祭出Joseph形式协方差更新。

Carsim和simulink联合仿真车辆状态估计 估计的状态为:横摆角速度,质心侧偏角,纵向车速,侧向车速,4个轮子的转动角速度 先基于dugoff轮胎模型进行了轮胎纵向力和侧向力计算,再基于容积卡尔曼滤波CKF或者无迹卡尔曼滤波UKF 进行了车辆状态估计,精度很高,图中的工况为双移线工况和正弦工况 提供模型任何细节的讲解,同时可以交流理论相关的部分,包括卡尔曼滤波算法。

来看看车辆运动学的核心方程:

dx/dt = (v_x*cos(beta) - v_y*sin(beta)) % 纵向运动 dβ/dt = (F_yf + F_yr)/(m*v_x) - gamma % 质心侧偏角微分 dgamma/dt = (a*F_yf - b*F_yr)/I_z % 横摆角加速度

这几个微分方程就像车辆的DNA,联立求解时需要特别注意刚体运动的非完整性约束。在Simulink里建模时,推荐用变步长求解器配合刚性积分算法,特别是处理轮胎力突变时。

最后说说工况设计。双移线工况好比在冰面上画"S"形,能激发车辆的横摆-侧倾耦合;而正弦扫频工况则是给车辆做"心电图",能暴露系统在不同频率下的响应特性。实测数据显示,在0.5Hz正弦输入下,侧向速度估计的均方根误差仅为0.03m/s。

调试中发现个有趣现象:当轮速传感器噪声超过2rad/s时,UKF会出现"醉汉走路"式的发散。解决办法是在测量更新环节加入自适应噪声协方差调整,像这样:

R_adaptive = R_base .* (1 + 0.5*abs(innovations)/innovation_threshold);

这招让滤波器在出现异常测量时自动提高警惕性。说到底,状态估计就像在噪声海洋里钓鱼,得知道什么时候该收线什么时候该放线。

http://www.jsqmd.com/news/453913/

相关文章:

  • python flask女生衣服穿衣搭配系统vue
  • vue2 和 vue3 的区别是什么?
  • 京东滑块 分析
  • C.Day1
  • H3CNE学习---vlan、vlan间路由、NAT
  • 利用MPC实现B级车横向路径跟踪,CarSim和MATLAB联合仿真 【项目介绍】 推荐Car...
  • mcp工具开发支持uvx运行
  • SQL-DBA命令
  • 做海外人力资源服务的公司有哪些?越南哪家EOR名义雇主服务商最专业,怎么联系 - 品牌2026
  • 太开心了hiahiahia!一遍直接AC
  • 做海外人力资源服务的公司有哪些?英国哪家EOR名义雇主服务商最专业,怎么联系 - 品牌2026
  • 空间多组学模拟数据的联合表示分析
  • 打开网站显示401.3 您未被授权查看该页错误怎么办|已解决
  • VSCODE上支持SVRF语法的关键字高亮和拼写联想
  • python flask大学生心理健康咨询网站
  • OpenClaw 安装排错笔记(Windows + nvm + Git)
  • 分析江西源头叉车AGV厂家,靠谱的选哪家 - 工业设备
  • AR 眼镜拯救社恐:我用 Kotlin 写了个拜年提词器
  • 广州留学机构TOP10申请不踩坑的实力参考指南 - 博客湾
  • Matlab Simulink中电动汽车调频与储能调频的自适应下垂控制优化方法
  • 亲测好用!口碑爆棚的降AI率平台 —— 千笔·专业降AI率智能体
  • 百炼OJ算法刷题:日期算法错题本Vol.8-2964:日历问题
  • 深聊贵阳有实力的电子商务培训学校,特色亮点全分享 - 工业品网
  • 基于Matlab的信号处理:信号波形恢复与求各阶谐波及数据拟合
  • 学长亲荐 8个降AI率软件降AIGC网站:本科生必看的深度测评与推荐
  • 测试面试最容易翻车的5种回答方式,90%的新人都踩过坑
  • Matlab Simulink电机FOC观测器模型:龙贝格观测器+PLL无传感器控制
  • 2026年遵义专业电子竞技职业培训热门推荐,哪家性价比高 - 工业品牌热点
  • AtCoder Weekday Contest 0013 Beta题解(AWC 0013 Beta A-E)
  • JavaScript在AI时代的必备价值