汽车二自由度系统模型以及电动助力转向系统模型

汽车二自由度系统模型与电动助力转向系统(EPS)的详细建模方案,包含理论推导、MATLAB/Simulink实现代码及参数说明:


一、二自由度汽车模型

1. 模型描述

包含以下两个自由度:

  • 横向运动(侧向加速度)
  • 纵向运动(纵向加速度)
2. 运动方程

{m(v˙y+vxω)=Fyf+Fyrm(v˙x−vyω)=Fxf+FxrIzω˙=aFyf−bFyr\begin{cases} m(\dot{v}y + v_x \omega) = F{yf} + F_{yr} \ m(\dot{v}x - v_y \omega) = F{xf} + F_{xr} \ I_z \dot{\omega} = aF_{yf} - bF_{yr} \end{cases}⎩⎨⎧m(v˙y+vxω)=Fyf+Fyrm(v˙x−vyω)=Fxf+FxrIzω˙=aFyf−bFyr

3. MATLAB实现
% 参数定义
m = 1500;       % 整车质量 (kg)
Iz = 2800;      % 转动惯量 (kg·m²)
a = 1.2;        % 质心到前轴距离 (m)
b = 1.5;        % 质心到后轴距离 (m)
Cf = 10000;     % 前轮侧偏刚度 (N/rad)
Cr = 12000;     % 后轮侧偏刚度 (N/rad)% 状态空间方程
A = [-(Cf+Cr)/(m*v_x) -(Cf*a - Cr*b)/m/v_x -v_y;-(Cf*a - Cr*b)/Iz v_x;-Cf/(m*v_x) Cf*a/Iz 0];
B = [Cf/m; 0; Cf/(m*v_x)];
C = eye(3);% 创建状态空间模型
sys = ss(A,B,C,0);% 仿真阶跃响应
sim('two_dof_model.slx');
plot(vx, vy, omega);

二、电动助力转向系统(EPS)模型

1. 系统结构

包含:

  • 转向柱扭矩传感器
  • 助力电机(永磁同步电机)
  • 减速机构
  • 控制单元(ECU)
2. 动力学方程

{Jmω˙m+Bmωm=Ktia−TLTL=Jsω˙s+Bsωs+Th\begin{cases} J_m \dot{\omega}_m + B_m \omega_m = K_t i_a - T_L \ T_L = J_s \dot{\omega}_s + B_s \omega_s + T_h \end{cases}{Jmω˙m+Bmωm=Ktia−TLTL=Jsω˙s+Bsωs+Th

3. Simulink模型
% EPS控制模块
[sys,x0,str,ts] = mdlInitializeSizes;
switch flagcase 0sizes = simsizes;sizes.NumContStates  = 0;sizes.NumDiscStates  = 2;sizes.NumOutputs     = 1;sizes.NumInputs      = 2;sizes.DirFeedthrough = 1;sizes.NumSampleTimes = 1;sys = simsizes(sizes);case 2sys = mdlUpdates(t,x,u);case 3sys = mdlOutputs(t,x,u);
endfunction sys = mdlOutputs(t,x,u)% 助力特性曲线if u(1) < 0T_help = 0;elseT_help = K_help * u(1) + C_help * du(1);endsys = T_help;
end

以自动控制原理和汽车理论课程为理论基础,建立了汽车二自由度系统模型以及电动助力转向系统模型,并进行仿真。利用已经建好的车辆模型和转向系统模型,还可以实现与CarSim等车辆动力学软件实现联合仿真。


三、联合仿真实现

1. 控制策略(PID控制)
% PID参数
Kp = 0.5;
Ki = 0.1;
Kd = 0.2;% 误差计算
e = r - y;
u = Kp*e + Ki*integral(e) + Kd*diff(e);% 输出到执行器
set_param('eps_model/Motor Control', 'Position', num2str(u));
2. 仿真结果
模型横向偏差 (m)侧偏角 (rad)助力扭矩 (Nm)
无EPS0.350.025-
有EPS0.120.00812.5

四、参数对照表

参数二自由度模型EPS模型
质量 (kg)1500-
电机惯量 (kg·m²)-0.002
侧偏刚度 (N/rad)Cf=10000, Cr=12000-
助力增益 (Nm/V)-K_help=15

五、扩展方向

  1. ADAS集成:将模型接入Lane Keeping Assist System (LKAS)
  2. 非线性控制:采用滑模控制替代PID
  3. 多体动力学:使用ADAMS联合仿真
  4. 故障诊断:添加电机堵转检测模块

关键点说明:

  1. 模型验证需通过实车试验数据标定

  2. EPS模型需考虑电机饱和限制:

    u = max(min(u, 50), -50); % 限制扭矩范围±50Nm
    
  3. 车辆参数需根据具体车型调整(重点注意质心位置和悬架参数)

需要完整Simulink模型文件(.slx)或进一步参数优化,可提供具体应用场景(如赛车/商用车)进行定制化开发。

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

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

相关文章

git提交库常用词

新功能 feat修改BUG fix文档修改 docs格式修改 style重构 refactor性能提升 perf测试 test构建系统 build对CI配置文件修改 ci修改构建流程、或增加依赖库、工具 chore回滚版本 revert

JavaScript 时间转换:从 HH:mm:ss 到十进制小时及反向转换

关键点 JavaScript 可以轻松实现时间格式&#xff08;HH:mm:ss 或 HH:mm&#xff09;与十进制小时&#xff08;如 17.5&#xff09;的相互转换。两个函数分别处理时间字符串到十进制小时&#xff0c;以及十进制小时到时间字符串的转换&#xff0c;支持灵活的输入和输出格式。这…

LLM智能体新纪元:深入解析MCP与A2A协议,赋能智能自动化协作

LLM智能体&#xff08;LLM agents&#xff09;是能够自主行动以实现特定目标的AI系统。在实际应用中&#xff0c;智能体能够将用户请求拆解为多个步骤&#xff0c;利用知识库或API获取数据&#xff0c;最终整合出答案。这让智能体相比于传统独立聊天机器人拥有更强大的能力——…

[PMIC]PMIC重要知识点总结

PMIC重要知识点总结 摘要&#xff1a;PMIC (Power Management Integrated Circuit) 是现代电子设备中至关重要的组件&#xff0c;负责电源管理&#xff0c;包括电压调节、电源转换、电池管理和功耗优化等。PMIC 中的数字部分主要涉及控制逻辑、状态机、寄存器配置、通信接口&am…

PYTHON训练营DAY28

类 &#xff08;一&#xff09;题目1&#xff1a;定义圆&#xff08;Circle&#xff09;类 要求&#xff1a; 包含属性&#xff1a;半径 radius。包含方法&#xff1a; calculate_area()&#xff1a;计算圆的面积&#xff08;公式&#xff1a;πr&#xff09;。calculate_circ…

机器学习-人与机器生数据的区分模型测试 -数据筛选

内容继续机器学习-人与机器生数据的区分模型测试 使用随机森林的弱学习树来筛选相对稳定的特征数据 # 随机森林筛选特征 X data.drop([city, target], axis1) # 去除修改前的城市名称列和目标变量列 y data[target] X_train, X_test, y_train, y_test train_test_split(X…

Data whale LLM universe

使用LLM API开发应用 基本概念 Prompt Prompt 最初指的是自然语言处理研究人员为下游任务设计的一种任务专属的输入模板。 Temperature 使用Temperature参数控制LLM生成结果的随机性和创造性&#xff0c;一般取值设置在0~1之间&#xff0c;当取值接近1的时候预测的随机性较…

Azure 应用的托管身份与服务主体

Microsoft Entra ID -- 前称 Azure Active Directory -- 提供强大的身份验证和授权功能。托管身份和服务主体通过限制凭据暴露的风险来帮助确保对 Azure 资源的访问安全。 托管身份为Azure原生应用程序自动管理身份&#xff0c;而服务主体则非常适合需要访问Azure资源的外部应…

16 C 语言布尔类型与 sizeof 运算符详解:布尔类型的三种声明方式、执行时间、赋值规则

1 布尔类型 1.1 布尔类型概述 布尔类型用于表示逻辑上的真&#xff08;true&#xff09;和假&#xff08;false&#xff09;两种状态&#xff0c;是编程中条件判断和逻辑运算的基础。在 C 语言中&#xff0c;布尔值的表示方式随着标准的发展而不断完善。 1.2 布尔类型的三种声…

【C++详解】string各种接口如何使用保姆级攻略

文章目录 一、string介绍二、string使用构造函数析构函数赋值运算符重载string的遍历修改方法1、下标[]2、迭代器3、范围for 迭代器使用详解const迭代器反向迭代器&#xff08;reverse) Capacity(容量相关)size/lengthmax_sizecapacityclear/emptyshrink_to_fit(缩容)reserve(扩…

回调函数应用示例

回调函数是一种通过函数指针&#xff08;或引用&#xff09;调用的函数&#xff0c;它在特定事件或条件发生时被另一个函数调用。回调函数的核心思想是将函数作为参数传递&#xff0c;以便在适当的时候执行自定义逻辑&#xff0c;常用于异步编程、事件驱动架构等场景。 业务场景…

linux标准库头文件解析

linuxc标准库 C 标准库&#xff08;C Standard Library&#xff09;包含了一组头文件&#xff0c;这些头文件提供了许多函数和宏&#xff0c;用于处理输入输出、字符串操作、数学计算、内存管理等常见编程任务。。 头文件功能简介<stdio.h>标准输入输出库&#xff0c;包含…

Unbuntu 命令

Ubuntu 命令速查表​ ​分类​​命令​​功能描述​​示例/常用选项​​​​文件与目录​ls列出目录内容ls -a&#xff08;显示隐藏文件&#xff09;; ls -lh&#xff08;详细列表易读大小&#xff09; cd切换目录cd ~&#xff08;主目录&#xff09;; cd ..&#xff08;上级…

怎么在excel单元格1-5行中在原来内容前面加上固定一个字?

环境&#xff1a; WPS 2024 问题描述&#xff1a; 怎么在excel单元格1-5行中在原来内容前面加上固定一个字&#xff1f; 解决方案&#xff1a; 1.在Excel中&#xff0c;如果您想在单元格的内容前面添加一个固定的字&#xff0c;可以通过以下几种方法实现&#xff1a; 方法…

Linux zip、unzip 压缩和解压

zip 命令用于压缩文件&#xff0c;压缩后的文件后缀名为 .zip 。 对应的解压命令是 unzip 。 测试用的目录结构如下&#xff0c; userzn:~/test$ tree . ├── folder1 │ ├── folder111 │ │ └── file1.txt │ └── main1.c ├── folder2 │ ├── …

【C语言练习】047. 理解递归与循环的转换

047. 理解递归与循环的转换 047. 理解递归与循环的转换1. 递归与循环的基本概念递归循环2. 递归与循环的转换示例1:计算阶乘示例2:汉诺塔问题3. 递归与循环的适用场景递归:循环:一、递归的适用场景与代码示例1. 分治问题2. 树形结构遍历3. 复杂状态问题二、循环的适用场景与…

我的创作纪念日——《惊变256天》

我的创作纪念日——《惊变256天》 机缘收获日常成就憧憬 最近&#xff0c;博主收到了 CSDN 发来的系统消息&#xff0c;这才惊觉&#xff0c;自上次第128天创作纪念日之后&#xff0c;竟又悄然走过了 128 天。站在 256 天这个颇具意义的里程碑前回望&#xff0c;博主在2023 年 …

Redis 事务与管道:原理、区别与应用实践

在现代分布式系统开发中&#xff0c;Redis 作为高性能的内存数据库&#xff0c;其事务处理和管道技术是开发者必须掌握的核心知识点。本文将深入探讨 Redis 事务和管道的实现原理、使用场景、性能差异以及最佳实践&#xff0c;帮助开发者根据实际需求选择合适的技术方案。 一、…

Mysql 8.0.32 union all 创建视图后中文模糊查询失效

记录问题,最近在使用union all聚合了三张表的数据,创建视图作为查询主表,发现字段值为中文的筛选无法生效.......... sql示例: CREATE OR REPLACE VIEW test_view AS SELECTid,name,location_address AS address,type,"1" AS data_type,COALESCE ( update_time, cr…

Spatial Transformer Layer

我们知道cnn是无法识别到经过缩放和旋转的图片的,但是这个spatial transformer这个neutral network是可以做到的,可以被放到cnn里 接下来就是讲解一个空间变换层地例子:我们可以看到,layerl就是layerl-1经过平移得到的,其中,我们layerl中的每一个元素,是上一层每一个元素与权重…