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布隆过滤器的提出 我们在使用新闻客户端看新闻时,它会给我们不停地推荐新的内容,它每次推荐时要去重,去掉那些已经看过的内容…

【数学】填不同的自然数 1/9=1/()+1/()+1/()+1/()+1/()

填不同的自然数 1 9 1 ( ) 1 ( ) 1 ( ) 1 ( ) 1 ( ) \frac{1}{9}\frac{1}{(\text{ })}\frac{1}{(\text{ })}\frac{1}{(\text{ })}\frac{1}{(\text{ })}\frac{1}{(\text{ })} 91​( )1​( )1​( )1​( )1​( )1​ 推理: 1 1 − 1 2 1 2 − 1 3 1 3 … − 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…

探究JSON和XML:两种常见的数据交换格式之异同

在软件开发和数据交换领域,JSON(JavaScript Object Notation)和XML(eXtensible Markup Language)是两种广泛使用的数据交换格式。它们都具有将数据结构化并在不同系统之间进行传输和解析的能力,但在实际应用…

详解redis配置文件

华子目录 基础配置查看配置文件位置启动redis时,指定加载的配置文件示例 include引用其他配置文件units单位大小写不敏感network网络配置bind配置方式示例 protected-mode功能概述默认值配置方法安全建议总结 porttcp-backlog1. 定义2. 默认值3. 优化建议4. 注意事项…

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…

电子邮件注入

电子邮件注入 1.电子邮件注入概述2.在发送的电子邮件中注入3.绕过邮件网关白名单检查4.硬退信率DOS攻击 1.电子邮件注入概述 电子邮件注入是一种电子邮件安全漏洞,攻击者通过在输入字段中注入特殊字符或命令来操纵电子邮件的内容。这通常发生在电子邮件表单或应用程…

python中编码与解码简记

python中编码与解码简记 一、读取文本文件指定的编码方式二、字符串与字节格式互转三、Base64编码解码3.1Base64 编解码使用的参数类型3.2Base64 编码后的字符串显示3.3Base64 解码后的字符串显示 四、Quoted-Printable编码解码4.1Quoted-Printable编解码使用的参数类型4.2Quot…

基本元器件 - 二极管

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

Android中focusableInTouchMode会导致第一次点击事件失效

我们很多时候会对某些View设置点击事件&#xff0c;但是&#xff0c;当对这个View同时设置了focusableInTouchModetrue时&#xff0c;第一次点击事件会被消费为为此View获取焦点。 <Viewandroid:id"id/v_click"android:layout_width"match_parent"andr…

第二篇 多路数据选择器

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

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

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

Gson解析会丢失默认属性值

问题&#xff1a;类的属性中有设置默认值&#xff0c;Gson中如果不包含该属性时&#xff0c;应该会使用该默认值。如下&#xff1a; class MyPointBean {inner class InnerBean {var altitude 0.0var gradually 1} }val gson GsonBuilder().create()val pStr ""…

linux网络端口

[roottest2 data7]# ifconfig ens33: flags4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 #enss33&#xff1a;设备名称 up 启动 该设备支持广播&#xff0c;正在运行&#xff0c;支持组播 最大传输单元。inet 192.168.60.20 netmask 255.255.255.0 broadca…

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

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

进程线程(一.2)

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