Simulink从0搭建模型10-P11 建模练习 搭建简易车辆动力学模型

Simulink从0搭建模型10-P11 建模练习 搭建简易车辆动力学模型

  • 前言
  • 参考
  • 1. 车辆纵向动力学模型
  • 2. 相关参数定义
  • 3. 车辆动力学模型搭建(简易)
    • 3.1. 思路
    • 3.2. 模型解析
      • 3.2.1. 输入扭矩
      • 3.2.2. 滚动阻力 Ff 部分
      • 3.2.3. 坡度阻力 Fi 部分
      • 3.2.4. 加速阻力 Fj 部分
      • 3.2.5. 求得加速度du/dt
        • 3.2.5.1. Saturation模块
      • 3.2.6. 输出车速
    • 3.3. 仿真结果
  • 4. 如何使用m脚本管理参数
  • 5. 界面设置小技巧

前言

终于来到了搭建简易车辆动力学模型这里,我在这之前不熟悉汽车行业的知识,包括动力学模型,在看质量估计文献时补了这方面的知识,文献里面写的很清楚。

参考

  • b站视频 : 【Simulink 0基础入门教程 P11 (上) 建模练习 搭建简易车辆动力学模型 使用m脚本管理模型参数】
  • b站视频 : 【Simulink 0基础入门教程 P11 (下) 建模练习 搭建简易车辆动力学模型 使用m脚本管理模型参数】
  • 参考文献:重型车质量辨识及道路坡度状态估计方法研究_李远方

下面补充一些车辆动力学知识

1. 车辆纵向动力学模型

在这里插入图片描述

车辆纵向非线性动力学方程为:

在这里插入图片描述

在这里插入图片描述

从式(3-1)可知,车辆行驶过程中的阻力包括:空气阻力、滚动阻力、道路坡度阻力(坡度阻力)、加速阻力

下面介绍驱动力和4个阻力。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

滚动阻力系数f在一定程度上受行驶车速的影响。重型车轮胎的滚动阻力系数与车速近似成线性关系,但是滚因为滚动阻力系数f的数值非常小,因此滚动阻力系数受车速的影响不会太大。重型车滚动阻力系数表达为:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

汽车加速时,除了克服平移质量加速时造成的惯性力外,还要克服回转质量(如飞轮、离合器、变速器轴及齿轮、传动轴、主传动器、半轴及车轮等)加速可转运动时产生的惯性力矩。

将旋转质量的惯性力矩转化为平移质量的惯性力即可得到汽车旋转质量换算系数delta

一般加速情况下(即发动机处于非反拖状态下)delta的表达式为:

在这里插入图片描述

根据公式(3-9)可知delta是一个与飞轮的转动惯量、传动系的传动比以及车轮的转动惯量相关的量。


最后可以得到汽车行驶方程式:

在这里插入图片描述

注意:
这里的 G = m g , u a 就是车速 v , d u / d t 就是加速度 a 。 这里的G=mg,u_a就是车速v,du/dt就是加速度a。 这里的G=mgua就是车速vdu/dt就是加速度a

2. 相关参数定义

公式里面的以下参数需要定义

3. 车辆动力学模型搭建(简易)

终于开始建模了。根据第1部分的车辆纵向动力学模型在simulink中搭建。输入驱动力,得到车速。模型如下:

在这里插入图片描述

Subsystem内部结构:

在这里插入图片描述

(大图模块太多了,看不清没关系,可以先看下面3.2.模型解析,最后就理解了)

3.1. 思路

驱动力-滚动阻力-空气阻力-坡度阻力得到加速阻力,即:
F t − F f − F w − F i = δ m d u d t F_t-F_f-F_w-F_i=\delta m \frac{du}{dt} FtFfFwFi=δmdtdu
根据牛顿第二定律,力除以delta和质量m,得到加速度du/dt,最后积分得到输出速度u

换算单位:1m/s=3.6km/h

3.2. 模型解析

驱动力是待输入,车速是待输出。

3.2.1. 输入扭矩

3.2.2. 滚动阻力 Ff 部分

3.2.3. 坡度阻力 Fi 部分

3.2.4. 加速阻力 Fj 部分

综合上面得到的驱动力、滚动阻力、坡度阻力和空气阻力,得到加速阻力:

3.2.5. 求得加速度du/dt

由于
F j = δ m d u d t F_j=\delta m \frac{du}{dt} Fj=δmdtdu
求得加速度du/dt
d u d t = F j / δ / m \frac{du}{dt} = F_j / \delta / m dtdu=Fj/δ/m

3.2.5.1. Saturation模块

Saturation模块主要起限制上下限作用。这里的上限设置的很大,下线设置为0,为的是让速度在0及以上。

因为坡度阻力为0,此时空气阻力也为0,滚动阻力为一个定值(221N),驱动力给的很小(100N),所以有驱动力小于滚动阻力,此时得到的加速阻力为负(-121N),那么输出的速度就为负值。

在这里插入图片描述

  1. 得到不加Saturation模块的仿真结果:

得到的速度是从0往下降的负值,实际情况,如果驱动力很小,车辆不会驱动。

  1. 加了Saturation模块的仿真结果:

此时就把速度限时到0了。

3.2.6. 输出车速

3.3. 仿真结果

给了2000N的驱动力,可以看到结果是车速有一个缓冲起步到稳定的过程,最后达到最大速度。当然实际情况,车速达不到250km/h,这里的驱动电机输出扭矩2000N会下降,不会一直恒定。

在这里插入图片描述

4. 如何使用m脚本管理参数

上一节中,我们把相关的参数(已知)直接在模块里面给出,虽然这样很直观在模型中就看到数值,但是参数多了,如果想要更改模型参数,不便于管理参数。

关于如何使用matlab,我在前面的文章也写过这个笔记,可以去看看文章合集MATLAB_Auto_yaoyao的博客-CSDN博客

新建一个脚本,用于存放车辆动力学模型的参数:

在这里插入图片描述

通过在命令行窗口敲P11data或者直接运行P11data.m(命令行窗口会打印“P11data”),就可以在右侧工作区看到变量的名称和对应的值:

在这里插入图片描述

在模型中用变量名代替他们的数值,如下:

在这里插入图片描述

最后再运行模型的效果一样,不演示了。以后想要更改模型参数,直接在.m文件修改即可。

5. 界面设置小技巧

当这个窗口变乱了,我们想要恢复原来的布局,就选择:主页–布局–默认。如下:

在这里插入图片描述

想要脚本编辑器停靠或不停靠,点编辑器的右上角的箭头选择:

在这里插入图片描述

-END-

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

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

相关文章

2024年比较火的桌面便利贴,适合懒人的电脑便签

在2024年的数字化生活中,高效的电脑便签软件成为了许多“懒人”提升生产力的秘密武器。这些软件不仅让信息记录变得轻松快捷,还能帮助用户有效管理时间,减少遗忘,让桌面保持整洁有序。 其中,“好用便签”以简洁的设计…

哈希重要思想续——布隆过滤器

布隆过滤器 一 概念1.1布隆过滤器的提出2.概念 二 模拟实现2.1 三个仿函数setTest 全代码三 实际应用 一 概念 1.1布隆过滤器的提出 我们在使用新闻客户端看新闻时,它会给我们不停地推荐新的内容,它每次推荐时要去重,去掉那些已经看过的内容…

springboot管理的各依赖版本查看

找一个springboot相关的依赖,比如这里我找mybatis 鼠标点击artifactId名称,图中蓝色字段,跳转到springboot依赖(鼠标悬停在上面变成蓝色表示可点击跳转), 点击spring-boot-dependencites,跳转到…

python用tanh画图

用tanh函数画图 圆形 import numpy as np import matplotlib.pyplot as plt# 创建一个二维网格 xx np.linspace(-1, 1, 1000) yy np.linspace(-1, 1, 1000) x_i, y_i np.meshgrid(xx, yy)# 圆的半径和中心 r 0.4 center_x, center_y 0, 0 # 假设圆心在(0, 0)# 计算每个网…

pandas添加行

方法1(df.append()) import pandas as pd# 创建一个空的DataFrame df pd.DataFrame(columns[Column1, Column2])# 新增一行数据 data {Column1: Value1, Column2: Value2} df df.append(data, ignore_indexTrue) print(df)raw_data {"Column1":"adafafa&quo…

OpenEuler 的安装过程记录

一、下载openEuler镜像 1.2 打开官网,选择openEuler23.09 1.3 选择架构、场景以及软件包类型 初次使用的话基本上都是先安装虚拟机,我们大部分主机都是x86_64架构,场景的话就选服务器,软件版类型选择标准版,可以安装图…

【稳定检索/投稿优惠】2024年环境、资源与区域经济发展国际会议(ERRED 2024)

2024 International Conference on Environment, Resources and Regional Economic Development 2024年环境、资源与区域经济发展国际会议 【会议信息】 会议简称:ERRED 2024 大会地点:中国杭州 会议官网:www.icerred.com 会议邮箱&#xff1…

基本元器件 - 二极管

目录 二极管的主要参数 二极管的分类 整流二极管 快恢复二极管(FRD) 稳压(齐纳)二级管 瞬态电压抑制器(TVS) 开关二极管 肖特基二极管(SBD) 正偏与反偏 常用封装 伏安特性…

第二篇 多路数据选择器

实验二 多路数据选择器 2.1 实验目的 理解多路数据选择器的概念; 使用门级结构描述实现多路选择器; 使用行为描述实现多路选择器; 完成实验设计、仿真,并在DE1-SOC上验证电路。 2.2 原理介绍 在多路数据传送过程中&#xf…

238.除以自身以外数组的乘积

给你一个整数数组 nums,返回数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。 题目数据保证数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度内完…

Mac连接U盘后怎么读取 Mac连接U盘后怎么取消只读模式

在使用Mac电脑时,连接U盘是一项常见的需求。无论是传输文件还是备份数据,正确地读取U盘对于Mac用户至关重要。然而,当连接的U盘格式为NTFS时,在Mac中进行数据编辑会遇到一些困难。下面我们来看看Mac连接U盘后怎么读取,…

进程线程(一.2)

进程与线程(一) 并发编程并发与并行高并发 进程特征什么是进程?线程?进程与程序的区别进程与线程区别进程的五状态进程的种类 查看进程命令ps auxps axjpstreekill 进程的创建fork函数fork总结vfork函数fork与vfork区别 获取进程I…

传输协议TCP-原理部分

传输控制协议TCP(Transmission Control Protocol)一种基于连接的可靠的稳定的无重复的传输协议。 1、TCP头部信息 TCP协议头部信息如下: 一共占用20个字节 16位源端口号:发送进程的主机端口16位目的端口号:接收主机…

LAMP网络服务架构

目录 LAMP 网站服务架构 LAMP的组成部分 LAMP的构建顺序 安装论坛 0.电脑已编译安装Apache,MySQL,PHP 1.创建数据库,并进行授权 2.上传论坛压缩包到 /opt ,并解压 3.上传站点更新包 4.更改论坛目录的属主 5.浏览器访问验证 LAMP 网…

RSA密钥生成、加解密代码

背景介绍 RSA公钥加密算法是1977年由罗纳德李维斯特(Ron Rivest)、阿迪萨莫尔(Adi Shamir)和伦纳德阿德曼(Leonard Adleman)一起提出的。1987年首次公布,当时他们三人都在麻省理工学院工作。RSA…

强化学习(一) 基本概念和赌博机问题

文章目录 什么是强化学习强化学习的两个基本特征强化学习的其它特征强化学习不同于有监督学习强化学习不同于无监督学习强化学习不同于进化方法强化学习的独特挑战强化学习典例 强化学习的要素强化学习的适用范围强化学习学术主线解决强化学习问题的一般框架赌博机两个影响因素…

SiT : Self-supervised vision Transformer

从NLP Transformer中借鉴而来的视觉 Transformer 在使用大规模监督数据或某种形式的协同监督(例如教师网络)进行预训练时已被证明是有效的。这些经过监督预训练的视觉Transformer在下游任务中通过最小的改动就能取得出色的结果。 随着监督预训练&#x…

告别盲目推广!Xinstall二维码携参技术,让App运营更精准高效

在移动互联网时代,App推广和运营已成为每个开发者必须面对的重要任务。然而,如何精准地定位目标用户,提高转化率和用户留存率,成为了摆在每个开发者面前的难题。今天,我们就来谈谈如何通过Xinstall二维码携参技术&…

AzSubEnum:针对Azure服务的子域名枚举查询工具

关于AzSubEnum AzSubEnum是一款专门为Azure服务量身定制的子域名枚举查询工具,该工具旨在帮助广大研究人员仔细搜索和识别与各种Azure服务相关的子域名信息。 通过结合查询技术和语句,AzSubEnum能够深入分析Azure的域名架构,并系统地探测和收…

Python使用trule库画小猪佩奇

在这篇博客中,我将向大家展示如何使用Python的Turtle模块来绘制一个可爱的小猪佩奇。这个项目不仅可以帮助你熟悉Turtle绘图,还可以让你在编程的过程中享受到绘画的乐趣。 并非百分百原创,有部分参考其他博主,请理性对待&#xff…