史上最全的四分之一、半车再到全车7自由度常规悬架建模与仿真之一

一、悬架建模的简化过程

汽车是一个复杂的振动系统,针对不同的需求进行不同的简化。在对悬架振动分析中,把汽车车身看做一个刚体,把驾驶员座椅和驾驶员拿掉;车身以下至车轮之间的橡胶垫,连接杆,弹簧等具有弹性和阻尼的元件,只保留弹簧和减振器;在车轮部分,由于车轮刚度跟车轮阻尼不是一个数量级的,所以忽略轮胎阻尼。这样下来,在我们平顺性分析中,汽车第一步就简化成了如下图所示:

在这个模型中,四个轮和车身各自有上下垂跳的自由度,车身还具有俯仰(绕y轴转动),侧倾(绕x轴转动)两个方向的旋转自由度,总共是5+2=7个自由度,也就是7自由度模型。

再进一步,假设左右轮的相关性很高,即左右轮输入基本一致,就可以忽略左右两边的相对运动,如下图所示:

在这个模型中,假设车辆总质量不变,车身前后俯仰的转动惯量Iy不变,系统简化成了只有前后轴和车身的跳动,车身俯仰,共4个自由度的模型。

在半车模型中,质量分为mf,mr和mc三个部分,即前轴质量,后轴质量和质心质量,每个部分分多少,与悬挂质量分配系数有关系。当悬挂质量分配系数为1时(大部分车接近于1),则中间的质量mc为0,此时,就可以把前后轴认为是各自独立运动的,这样又可以再进一步简化了,这便是我们最最常见的四分之一车悬架模型,它只有车轮和车身垂跳的自由度,叫二自由度模型。

下面,整合之前文章,我们更系统的梳理一下常规(没加控制)二、四、七自由度模型的建模与仿真。

二、 四分之一悬架建模与仿真

1、建立运动微分方程

 z0是路面输入,z1和z2分别是车轮,车身位移,mw和mb分别为车轮,车身质量,Kt和Ks分别为轮胎和弹簧刚度,Cs为减振器阻尼。

根据牛顿第二定律,对于车轮:

m_{w}\ddot{z}_{1}=K_{t}(z_{0}-z_{1})-K_{s}(z_{1}-z_{2})-C_{s}(\dot{z}_{1}-\dot{z}_{2})

根据牛顿第二定律,对于车身: 

m_{b}\ddot{z}_{2}=K_{s}(z_{1}-z_{2})+C_{s}(\dot{z}_{1}-\dot{z}_{2})  

 车辆配置参数如下:

mb=317.5; % 簧载质量 kg
mw=45.4; % 非簧载质量 kg
Ks=22000; % 悬架弹簧刚度 N/m
Kt=192000; % 轮胎刚度 N/m
Cs=[800,1200,1500,1800,2100]; % 减振器阻尼系数,设置4组,可以对比kN.s/m

2、建立simulink仿真模型

3、仿真分析 

四分之一车模型被各种应用在半主动悬架算法的分析上,研究不同阻尼配置下车身,悬架行程,车轮动载对路面输入的响应,及它们三自身的频率分布很有意义,能够指导算法开发。

 从上图可以看出,对于车身共振点,阻尼越大越好;对于车轮共振点,更改阻尼也无济于事;在车身与车轮共振点之间及车轮共振点之后,则是越小阻尼滤振效果越好,常规减振器单一阻尼无法兼顾,这也就是研究cdc半主动悬架的目标所在。

 悬架行程。对比可发现,在车轮共振点附近,施加大阻尼可以提高性能。

 轮胎动载,可以发现趋势与车身的相反。动载与车轮附着相关,车身垂向加速度与舒适性相关,这也体现另一个矛盾,驾驶性能与舒适性之间的矛盾。

另外传递曲线,教科书上普遍做法是由微分方程得到传递函数,再直接绘制传递函数的传递曲线,这样的曲线很光滑,写论文好看。

从更真实的角度出发,我们这里从系统仿真的结果来估算传递曲线。matlab中tfestimate函数可以帮我我们实现这个功能。

 三、二分之一悬架建模与仿真

1、建立运动微分方程

 推导过程可参考喻凡的汽车系统动力学

 车辆参数如下:

2、建立仿真模型

同样是随机路面输入,通过模型仿真得到结果。

 3、仿真分析 

 与前轴和后轴垂向加速度相比,车的质心垂向加速度出现多个波谷和波峰,这是由于路面输入与轴距关系引起的,叫轴距滤波。

悬架行程。

 

 俯仰角,只有一个共振点。

四、全车悬架建模与仿真

1、建立微分方程

参考喻凡 车辆系统动力学

2、建立仿真模型

 

3、仿真分析

随机路面上轴距滤波效果非常明显。

 与半车相比,俯仰角频率多了小共振峰,主要与左右路面差异有关系。

 侧倾角。

五、关于模型与脚本

还是在某宝店铺<极简车辆控制>,运行m脚本一键出图,有需要的同学欢迎下单。

后台咨询的朋友很多,没有一一回复的还请见谅。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/636325.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Veritas Backup Exec 23.0 (Windows) - 面向中小型企业的数据备份和恢复

Veritas Backup Exec 23.0 (Windows) - 面向中小型企业的数据备份和恢复 请访问原文链接&#xff1a;Veritas Backup Exec 23.0 (Windows) - 面向中小型企业的数据备份和恢复&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org Ba…

线性代数基础2矩阵

矩阵是什么 矩阵就是二维数组&#xff0c;下面是一个 m 乘 n 的矩阵&#xff0c;它有 m 行&#xff0c;n 列&#xff0c;每行每列上面都有元素&#xff0c;每个元素都有行标i 和列标 j&#xff0c; a ij 。简称m n矩阵&#xff0c;记作&#xff1a; 注意a11的索引是 A[0,0]。…

leetcode:438. 找到字符串中所有字母异位词

给定两个字符串 s 和 p&#xff0c;找到 s 中所有 p 的 异位词 的子串&#xff0c;返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串&#xff08;包括相同的字符串&#xff09;。 示例 1: 输入: s "cbaebabacd", p "…

使用Python爬取易车网汽车信息(含x-sign参数逆向分析)

文章目录 1. 写在前面2. 接口分析3. 断点分析3. 算法还原 【&#x1f3e0;作者主页】&#xff1a;吴秋霖 【&#x1f4bc;作者介绍】&#xff1a;擅长爬虫与JS加密逆向分析&#xff01;Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致…

Java如何实现List的反转

hi&#xff0c;我是程序员王也&#xff0c;一个资深Java开发工程师&#xff0c;平时十分热衷于技术副业变现和各种搞钱项目的程序员~&#xff0c;如果你也是&#xff0c;可以一起交流交流。 今天我们来聊聊Java中实现List反转~ List反转的基本概念 在Java中&#xff0c;反转一…

RK3568 学习笔记 : u-boot 通过 tftp 网络更新 u-boot自身

前言 开发板型号&#xff1a; 【正点原子】 的 RK3568 开发板 AtomPi-CA1 使用 虚拟机 ubuntu 20.04 收到单独 编译 RK3568 u-boot 使用 rockchip Linux 内核的设备树 【替换】 u-boot 下的 rk3568 开发板设备树文件&#xff0c;解决 u-boot 下千兆网卡设备能识别但是无法 Pi…

B树(B-tree)

B树(B-tree) B树(B-tree)是一种自平衡的多路查找树&#xff0c;主要用于磁盘或其他直接存取的辅助存储设备 B树能够保持数据有序&#xff0c;并允许在对数时间内完成查找、插入及删除等操作 这种数据结构常被应用在数据库和文件系统的实现上 B树的特点包括&#xff1a; B树为…

AD设置覆铜与板子边缘间隔

1、设置板子边缘与覆铜间隔原因 在单个制板或者批量制板时&#xff0c;有时由于机器切割不稳定&#xff0c;造成切到覆铜&#xff0c;板子容易不稳定。为了保证机器切割不切到覆铜&#xff0c;我们可以设置覆铜到板子边缘的间隔。 2、设置方式 打开Design--->Rules&#…

pycharm创建的项目

pycharm生成django templates删出 settings.py

Vue 指令、计算属性、侦听器

目录 指令 指令修饰符 按键修饰符 ​编辑 v-model修饰符 事件修饰符 v-bind对于样式操作的增强 操作class 对象 数组 操作style v-model应用于其他表单元素 computed计算属性 概念 基础语法 ​编辑 计算属性vs方法 computed计算属性 作用 语法 缓存特性 m…

Java Web 网页设计

不要让追求之舟停泊在幻想的港湾 而应扬起奋斗的风帆 驶向现实生活的大海 网页设计 1.首先 添加框架支持 找到目录右键添加 找到Web Application选中 点击OK 然后 编辑设置 找到Tomcat--local 选中 点击OK 名称可以自己设置 找到对应文件夹路径 把Tomcat添加到项目里面 因为…

一次Redis访问超时的“捉虫”之旅

01 引言 作为后端开发人员&#xff0c;对Redis肯定不陌生&#xff0c;它是一款基于内存的数据库&#xff0c;读写速度非常快。在爱奇艺海外后端的项目中&#xff0c;我们也广泛使用Redis&#xff0c;主要用于缓存、消息队列和分布式锁等场景。最近在对一个老项目使用的docker镜…