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

news2024/9/20 1:23:37

一、悬架建模的简化过程

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

在这个模型中,四个轮和车身各自有上下垂跳的自由度,车身还具有俯仰(绕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.coloradmin.cn/o/1612284.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智慧化转型赋能园区创新:科技创新引领产业智慧化,打造高效发展新格局

在全球化和信息化浪潮的推动下&#xff0c;园区作为区域经济发展的重要引擎&#xff0c;正面临着前所未有的机遇与挑战。为应对这些挑战并把握机遇&#xff0c;园区需积极拥抱智慧化转型&#xff0c;通过科技创新引领产业智慧化&#xff0c;打造高效发展的新格局。本文将深入探…

Unity面向切面编程

一直说面向AOP&#xff08;切面&#xff09;编程&#xff0c;好久直接专门扒出理论、代码学习过。最近因为某些原因&#x1f62d;还得再学学造火箭的技术。 废话不多说&#xff0c;啥是AOP呢&#xff1f;这里我就不班门弄斧了&#xff0c;网上资料一大堆&#xff0c;解释的肯定…

HTML的学习-通过创建相册WEB学习HTML-第一部分

文章目录 一、设置中文1.1、添加中文插件1.2、配置显示中文语言 二、学习开始2.1、创建项目文件夹2.2、h1标签示例&#xff1a;生成HTML框架示例&#xff1a;添加h1标签 2.3、h2标签示例&#xff1a;在h1标签下添加h2标签 2.4、h1标签到h6标签层次解析2.5、p标签示例&#xff1…

LORA被碾压了?多任务学习新突破,MTLoRA实现3.6倍参数高效适配

引言&#xff1a;多任务学习的挑战与机遇 在深度学习领域&#xff0c;将大规模数据集上预训练的模型适配到各种下游任务是一种常见的策略。随之而来的是参数高效微调方法的兴起&#xff0c;这些方法旨在将预训练模型适配到不同任务&#xff0c;同时只训练最少量的参数。然而&am…

力扣HOT100 - 148. 排序链表

解题思路&#xff1a; 归并排序 class Solution {public ListNode sortList(ListNode head) {if (head null || head.next null) return head;ListNode fast head.next, slow head;while (fast ! null && fast.next ! null) {slow slow.next;fast fast.next.nex…

基于瞬时频率的语言信号清/浊音判决和高音检测(MATLAB R2021)

语音是由气流激励声道从嘴唇或鼻孔辐射出来而产生的。根据声带是否振动&#xff0c;发音可分为浊音和清音。浊音和清音有明显的区别&#xff0c;浊音具有周期信号的特征&#xff0c;而清音则具有随机噪声的特征&#xff1b;浊音在频域上具有共振峰结构&#xff0c;其能量主要集…

幻方量化开源国内首个MoE大模型,全新架构、免费商用

幻方量化开源国内首个MoE大模型&#xff0c;全新架构、免费商用 OSC OSC开源社区 2024-01-12 19:01 广东 幻方量化旗下组织深度求索发布了国内首个开源 MoE 大模型 —— DeepSeekMoE&#xff0c;全新架构&#xff0c;免费商用。 今年 4 月&#xff0c;幻方量化发布公告称&…

PTA 编程题(C语言)-- 统计字符

题目标题&#xff1a;统计字符 题目作者&#xff1a;颜晖 浙大城市学院 本题要求编写程序&#xff0c;输入10个字符&#xff0c;统计其中英文字母、空格或回车、数字字符和其他字符的个数。 输入格式: 输入为…

使用YOLOv8训练自己的目标检测数据集(VOC格式/COCO格式)

yolov8训练自己的数据集 1. 下载项目2. 搭建环境3. 数据集格式转换3.1 VOC格式转YOLO格式3.2 COCO格式转YOLO格式 4. 训练数据5. 推理预测6. 模型导出 1. 下载项目 git clone https://github.com/ultralytics/ultralytics.git2. 搭建环境 conda create --name ultralytics py…

js微博发布案例

思路&#xff1a; 需求1&#xff1a;检测用户输入的字数 注册input事件 将输入文本长度赋值给对应的数值 需求2&#xff1a;输入不能为空 点击按钮之后判断 如果输入为空&#xff0c;则提示不能输入为空&#xff0c;并直接return 为了防止无意义的一些输入&#xff0c;利用字符…

NLP预训练模型-GPT-3

ChatGPT GPT-3是OpenAI开发的一个自然语言处理&#xff08;NLP&#xff09;预训练模型。GPT代表“生成式预训练变换器”&#xff08;Generative Pretrained Transformer&#xff09;。GPT-3是GPT系列的第三代模型&#xff0c;是一种采用了深度学习技术的强大语言模型&#xff…

C++:类与对象完结篇

hello&#xff0c;各位小伙伴&#xff0c;本篇文章跟大家一起学习《C&#xff1a;运算符重载》&#xff0c;感谢大家对我上一篇的支持&#xff0c;如有什么问题&#xff0c;还请多多指教 &#xff01; 文章目录 重新认识构造函数1.初始化列表2.explicit关键字 static成员1.sta…

通信原理(1)--信息的度量,通信系统的性能指标

通信原理(1)–信息的度量&#xff0c;通信系统的性能指标 1.1通信的基本概念 消息、信息与信号通信系统的组成模型数字通信的特点通信系统的分类通信的方式 1.1.1通信的发展 1.1.2消息、信息与信号 消息的定义 消息是通信系统要传输的对象&#xff0c;包含连续消息和离散…

车控操作系统

车控操作系统 我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 屏蔽力是信息过载时代一个人的特殊竞争力&#xff0c;任何消耗你的人和事&#xff0c;多看…

从 Android 恢复已删除文件的 3 种简单方法

如何从 Android 恢复已删除的文件&#xff1f;毫不犹豫&#xff0c;有些人可能会认为从 Google 备份恢复 Android 文件太容易了。但是&#xff0c;如果删除的文件未同步到您的帐户或未备份怎么办&#xff1f;您错误的恢复可能会永久删除您想要的数据。因此&#xff0c;我们发布…

seatable部署之后network error【seatable】

这里写自定义目录标题 问题汇总 问题汇总 seatable服务部署后&#xff0c;组件显示正常运行&#xff0c;创建表单&#xff0c;显示Network error 点击错误信息&#xff0c;查看其跳转至另一个页面

数据结构----顺序表

在学习顺序表之前&#xff0c;我们先来了解一下数据结构。 数据是什么呢&#xff1f; 我们在生活中常见的名字&#xff0c;数字&#xff0c;性别等都属于数据。 结构又是什么呢&#xff1f; 在计算机中&#xff0c;结构就是用来保存数据的方式。 总的来说&#xff0c;数据…

【抽代复习笔记】13-群(七):变换群引理

引理&#xff1a;考虑等边三角形123—— 这个等边三角形的对称性可用(1),(12),(13),(23),(123),(132)表示&#xff0c;其中&#xff1a; (1)表示这个等边三角形绕着其中心点旋转360/720/.../360n&#xff0c;得到的图形与原图形完全重合的旋转对称变换&#xff1b; (12)表示这…

selenium_使用XPATH定位

selenium_使用XPATH定位 """需求&#xff1a;1. 使用绝对路径定位 用户名 输入 admin2. 暂停2秒钟3. 使用相对路径定位 密码框 输入 123方法&#xff1a;driver.find_element_by_xpath() """# 导包 from selenium import webdriver from time im…

Elasticsearch常用查询语法及RestClient操作

DSL Query基本语法 1&#xff0c;查询所有数据matchall&#xff08;当然并不是会显示所有数据&#xff09; #查询所有数据 GET /索引名/_search {"query": {"查询类型": {"查询条件":"条件值"}} }2&#xff0c;全文搜索检索-分词搜索…