基于MATLAB的双线变道仿真
moboyou 2025-04-22 00:47 30 浏览
双线变道仿真模型
这个参考应用程序代表了一个完整的车辆动力学模型,根据标准ISO 3888-2[4]进行了双车道变化的机动操作。你可以创建你自己的版本,建立一个框架来测试你的车辆在正常和极端驾驶条件下是否符合设计要求。使用参考应用程序来分析车辆的行驶和操控,并开发底盘控制。要进行车辆研究,包括偏航稳定性和侧向加速度限制,请使用该参考应用程序。
ISO 3888-2规定了测试车辆避障性能的双车道变换动作。在测试中,驾驶员。
加速直到车辆达到目标速度
松开加速器踏板
转动方向盘,沿着路径进入左侧车道
转动方向盘,跟随路径回到右车道
通常情况下,锥体标志着车道的边界。如果车辆和驾驶者能够在不撞到锥体的情况下完成操作,则车辆通过测试。
为了测试高级驾驶辅助系统(ADAS)和自动驾驶(AD)的感知、规划和控制软件,你可以在三维环境中运行这个动作。关于三维可视化引擎的平台要求和硬件建议,见三维可视化引擎要求和限制。
要创建并打开双车道变化参考应用项目的工作副本,请输入
vdynblksDblLaneChangeStart
本表总结了参考应用中的模块和子系统。一些子系统包含变量。
参考应用要素 | 描述 | 变量 |
变车道参照物生成器 | 为可视化子系统生成车道信号和轨迹信号 | |
驱动程序命令 | 实现参考应用程序用来生成加速、制动、齿轮和转向命令的驱动模型。 默认情况下,驱动命令子系统的变量是预测性驱动块。 | |
环境 | 风力和地面力 | |
控制器 | 为发动机控制单元(ECU)、变速器、防抱死制动系统(ABS)和主动差速器实施控制器。 | |
乘用车 | 工具: - 车身、悬挂和车轮 - 发动机 - 转向器、变速器、传动系统和制动器 | |
可视化 | 提供车辆轨迹、驾驶员反应和三维可视化。 |
要覆盖默认变量,在建模标签上,在设计部分,点击下拉。在常规部分,选择变量管理器。在变量管理器中,导航到你想使用的变量。右键单击并选择使用此选择进行覆盖。
车道变更参考资料生成器
使用车道变化参考生成器块来生成。
用于可视化子系统的车道信号 - 左右车道边界是车辆宽度参数的一个函数。
用于预测驾驶员块的速度和横向参考信号 - 使用横向参考位置断点和横向参考数据参数,指定横向参考轨迹作为纵向距离的函数。
要指定目标速度,使用纵向入口速度设定值参数。
驱动命令
驱动程序命令块实现了参考应用程序用来生成加速、制动、齿轮和转向命令的驱动程序模型。在默认情况下,如果你选择了 "参考生成器 "块的参数 "使用特定于演习的驱动程序、初始位置和场景",参考应用程序将为你指定的演习选择驱动程序。
车辆指令模式设置 | 执行 |
Longitudinal Driver | Longitudinal Driver block —纵向速度跟踪控制器。基于参考和反馈速度,该块产生归一化的加速和制动指令,这些指令可以从0到1变化。使用该块来模拟驾驶员的动态响应或产生跟踪纵向驱动周期所需的指令。 |
Predictive Driver | Predictive Driver block —产生归一化转向、加速和制动指令的控制器,用于跟踪纵向速度和横向参考位移。归一化指令可以在-1到1之间变化。该控制器使用单轨(自行车)模型进行最佳单点预览控制。 |
Open Loop | 实施一个开环系统,这样你就可以为恒定或基于信号的转向、加速、制动和档位指令输入配置参考应用 |
环境
环境子系统产生风和地面力。参考应用有这些环境变量。
环境 | 变量 | 描述 |
地面反馈 | 3D Engine | 使用车辆地形传感器块来实现3D环境中的光线追踪 |
Constant (default) | 实施恒定的摩擦值 |
控制器
控制器子系统产生发动机扭矩、变速器齿轮、制动压力和差压指令。
ECU
ECU控制器产生发动机扭矩指令。控制器通过将发动机扭矩指令限制在模型工作区变量EngRevLim所指定的值内,来防止发动机过高转速。默认情况下,该值为7000rpm。如果差速器扭矩指令超过了有限的发动机扭矩指令,ECU会将发动机扭矩指令设置为指令的差速器扭矩。
变速器控制
变速器控制器子系统产生变速器齿轮指令。该控制器包括这些变量。
变量 | 描述 |
Transmission Controller | 实施一个变速器控制模块(TCM),该模块使用Stateflow(R)逻辑,根据车辆加速度、轮速和发动机转速生成档位指令。 |
Driver - No Clutch | 开环传动控制。控制器将档位指令设定为档位请求。 |
PRNDL Controller (default) | 实施一个变速器控制模块(TCM),该模块使用Stateflow逻辑,根据车辆加速度、制动指令、车轮速度、发动机速度和档位要求,生成档位指令。 |
Paddles | 实施一个拨杆控制器,使用车辆的加速度和发动机转速来生成档位指令。 |
制动压力控制
制动控制器子系统实现了一个制动压力控制子系统来产生制动压力指令。制动压力控制子系统有这些变量。
变量 | 描述 |
Bang Bang ABS | 实施防锁死制动系统(ABS)反馈控制器,在两种状态之间切换以调节车轮滑移。砰砰控制使实际滑移和期望滑移之间的误差最小。对于期望的滑移,控制器使用mu-slip曲线达到峰值的滑移值。这个期望滑移值是最小制动距离的最佳值。 |
Open Loop (default) | 开环制动控制。控制器根据制动指令将制动压力指令设定为参考制动压力。 |
Five-State ABS | 当你模拟机动时,五状态ABS控制。五状态ABS控制器使用基于车轮减速和车辆加速的逻辑开关来控制每个车轮的制动压力。 考虑使用五状态ABS控制来防止车轮锁定,减少制动距离,或在机动过程中保持偏航稳定性。默认的ABS参数被设定为在摩擦系数比例系数为0.6的恒定道路上工作 |
主动差分控制
主动差分控制子系统产生差分压力指令。为了计算该指令,该子系统有这些变量。
变量 | 描述 |
Rear Diff Controller | 实施一个控制器,根据以下情况产生压差指令。 转向角 车辆俯仰、偏航和滚动 制动命令 车轮速度 档位 车辆加速 |
No Control (default) | 不执行控制器。将压差指令设为0。 |
乘用车
乘用车子系统有一个发动机、控制器和一个有四个轮子的车体。具体来说,该车辆包含这些子系统。
车身、悬架、车轮子系统 | 变量 | 描述 |
PassVeh7DOF | PassVeh7DOF | 有四个轮子的车辆。 车身有三个自由度(DOFs)--纵向、横向和偏航。 每个轮子有一个自由度--滚动 |
PassVeh14DOF | PassVeh14DOF (default) | 有四个轮子的车辆。 车身有六个DOFs - 纵向、横向、垂直和俯仰、偏航和滚动。 每个轮子有两个DOF--垂直和滚动。 |
发动机子系统 | 变量 | 描述 |
Mapped Engine | SiMappedEngine (default) | 匹配的火花点火(SI)发动机 |
转向、变速器、传动系统和制动子系统 | 变量 | 描述 | |
Driveline Ideal Fixed Gear | Driveline model | All Wheel Drive | 将传动系统配置为全轮、前轮、后轮或后轮主动差速驱动,并指定扭矩耦合器的类型。 |
Front Wheel Drive | |||
Rear Wheel Drive | |||
Rear Wheel Drive Active Differential (default) | |||
Transmission | Ideal (default) | 实现了理想的固定齿轮传动. | |
Brake Hydraulics | NA | 当控制器对一个油缸施加制动指令时,执行液压系统的启发式响应。包括前轮和后轮的偏置系数。该子系统将施加的压力转换为油缸阀芯位置。为了产生制动压力,阀芯向油缸的下游施加流量。 |
可视化
当你运行模拟时,可视化子系统提供驾驶员、车辆和响应信息。参考应用程序记录了机动过程中的车辆信号,包括转向、车辆和发动机速度以及侧向加速度。你可以使用模拟数据检查器来导入记录的信号并检查数据。
元素 | 描述 |
Driver Commands | 司机指令: 手轮角度 加速指令 制动命令 |
Vehicle Response | 车辆反应: 发动机速度 车辆速度 加速指令 |
Lane Change Scope block | 车辆侧向位移与时间的关系: 红线--标记右车道边界的锥体 橙线--标记左车道边界的锥体 蓝线--参考轨迹Green line — Actual trajectory |
Steer, Velocity, Lat Accel Scope block | SteerAngle —转向角与时间的关系 <xdot> —车辆纵向速度与时间的关系 <ay> —侧向加速度与时间的关系 |
Vehicle XY Plotter | 车辆纵向与横向的距离 |
ISO 15037-1:2006 block | 在模拟数据检查器中显示ISO标准测量信号,包括方向盘角度和扭矩,纵向和横向速度,以及侧滑角度 |
三维可视化
你可以选择启用或停用三维可视化环境。关于3D可视化引擎的平台要求和硬件建议,见3D可视化引擎要求和限制。在你打开参考应用程序后,在可视化子系统中,打开3D引擎块。设置这些参数。
3D Engine to Enabled.
Scene 到其中一个场景,例如 Straight road.
要在场景中定位车辆。
选择位置初始化方法。
Recommended for scene — 将车辆的初始位置设置为场景的推荐值
User-specified — 设置你自己的初始车辆位置
点击 Update the model workspaces with the initial values 以应用的值覆盖模型工作区中的车辆初始位置。
当你运行仿真时,在模型工作区中查看车辆的响应AutoVrtlEnv 窗口
Note
要打开和关闭AutoVrtlEnv窗口,请使用Simulink(R)运行和停止按钮。如果您手动关闭AutoVrtlEnv窗口,Simulink会以一个错误停止仿真。
当您启用三维可视化环境时,您不能将仿真回退。
为了顺利地改变摄像机的视图,请使用这些关键命令。
Key | Camera View | |
1 | Back left | View Animated GIF |
2 | Back | |
3 | Back right | |
4 | Left | |
5 | Internal | |
6 | Right | |
7 | Front left | |
8 | Front | |
9 | Front right | |
0 | Overhead |
对于额外的相机控制,请使用这些按键命令。
Key | Camera Control |
Tab | 在场景中的所有车辆之间循环查看。 View Animated GIF |
Mouse scroll wheel | 控制摄像机与车辆的距离 View Animated GIF |
L | 切换摄像机滞后效果的开启或关闭。当你启用滞后效果时,摄像机视图包括。 位置滞后,基于车辆的平移加速度 旋转滞后,基于车辆的旋转速度 这种滞后能够改善车辆整体加速度和旋转的可视化。 View Animated GIF |
F | 切换自由摄像机模式的开启或关闭。当你启用自由摄像机模式时,你可以用鼠标来改变摄像机的俯仰和偏航。这种模式使你能够使摄像机围绕车辆运行。 View Animated GIF |
- 上一篇:各类蜗杆学习——渐开线蜗杆
- 下一篇:男女生的“平均脸”长这样…
相关推荐
- Excel批量生成随机人名_excel批量生成随机数
-
之前的文章讲过怎么用在Excel生成随机银行名字。今天继续给大家分享下怎么在Excel生成随机人名。随机数据工具包书接上回,本文对之前的随机数据生成工具包进行封装调用,生成的结果直接写入到Excel表...
- 一学就会:Excel MOD函数,让数字周期循环变得easy
-
今日推荐:MOD函数。目的:根据当前日期在年内的周数对5个小组取余,再根据余数的值获取对应的值班小组。MOD函数也可以作为获取随机数的一种,只不过这种随机数是有一定规律的。【函数介绍】MOD——返回两...
- 1条公式,自动随机分配座位,你会么?
-
随机座位困局、老办法效率低、新公式能否破局?.上周学校开会说要给教室换排座位,教务处老师愁得头发都快白了。以前都是靠老师自己写名单再划拉划分组,现在新教室三列座位,学生又多,折腾了三天都没摆顺当。听说...
- excel快速制作姓名随机分配表_姓名随机分组
-
快速制作随机分配表。当需要把这一列的姓名进行随机分组应该怎么操作?是不是还在一行一行的去复制粘贴,这样效率是非常慢的。怎么快速的制作一个随机的分组?·首先在第一组输入等于第一个姓名的A2单元格,双击填...
- Excel里实现随机分组案例:导入名单随机分组
-
大家好呀,今天来给大家分享如何快速在Excel里实现随机分组。如下图所示,有15个人,现在要随机分成3组,每组5个人。只要简单两步,就能完成分组。第一步:为每个人设置一个随机数并编序号C列输入公式=R...
- 办公必备的15个Excel技巧,绝对的硬核干货,收藏备用
-
Excel的灵魂在于数据的分析与统计,而分析与统计就离不开函数或公式,今天要给大家分享的15个函数公式,是工作中常用的,可以直接套用。一、从身份证号码中提取出生年月。函数1:Tex...
- Excel如何将某单元格区域数据随机排序
-
如下图是某公司人员名单,现在想要对这些员工进行随机分组。即对单元格区域内数据进行随机排序。选中B2:E10单元格区域点击下图选项(Excel工具箱,百度它即可了解详细的下载安装方法,本文这里就不做具体...
- 一键生成随机口算题,Excel工具妙用
-
小学生每天都要做口算,今天我给大家分享一下如何用excel来自制小学生的口算题。看我这里已经做好了,它的公式是这样,然后往下去拉,想要多少要多少,而且每一道题都是随机的。而且这一个表做好了之后,只要让...
- Excel秒变抽签神器!1分钟搞定随机点名/抽奖
-
还在为年会抽奖、课堂点名、分组任务抓狂?别求人写代码啦!Excel自带隐藏大招1分钟设置,永久使用,按个键就能开抽超简单3步设置(有手就会版)1随机号生成在姓名表旁新建「随机号」列输入=RAND...
- 基础函数20例,案例解读,再不掌握就真的Out了
-
Excel中的函数是Excel的一个重要工具,如果你不及时掌握,对于Excel的应用、工作效率等会受到很大的影响,今天,小编给大家分享20个Excel的基础函数,对大家肯定很有帮助。练习文件在文末领取...
- 怎么利用Excel实现随机取样_excel随机取数据
-
今天跟大家分享一下Excel如何随机抽样1.打开Excel软件2.选中要抽取数据的单元格区域3.点击下图选项(Excel工具箱,百度即可了解详细下载安装信息,本文这里就不做详细解说。)4.点击【统计与...
- 1分钟学会Excel总表更新,分表实时同步,再也不用熬夜了!
-
你是不是还在用筛选→复制→粘贴的老方法拆分Excel数据?每次按类别整理报表都要折腾半小时?别傻了!今天教你用FILTER函数一键搞定,数据更新还能自动同步!第一步:准备工作表新建3个工作表,分...
- excel计算几个数范围,excel怎么计算一个范围的个数
-
excel怎么计算某些范围的数的个数,需要计算0-5,5-10,10-15,……1000的...比如这些数字在A列,从B1至B10求10个范围的数量。在B1输入:=countif(a:a,=10)在B...
- 让Excel随机排序_excel如何设置随机排序
-
随机排序如下图,希望对A列的应聘人员随机安排面试顺序。先将标题复制到右侧的空白单元格内,然后在第一个标题下方输入公式:=SORTBY(A2:B11,RANDARRAY(10),1)RANDARRAY的...
- 对人员进行随机分组,分步骤详细解释,看了就学会了
-
大家好,我是套路EXCEL!如上图,需要将12个人随机分成3组,每组4人。函数公式如下:=ROUNDUP(CHOOSECOLS(SORT(HSTACK(ROW(1:12),RANDARRAY(12...
- 一周热门
- 最近发表
- 标签列表
-
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- 多线程的创建方式 (29)
- 多线程 python (30)
- java多线程并发处理 (32)
- 宏程序代码一览表 (35)
- c++需要学多久 (25)
- css class选择器用法 (25)
- css样式引入 (30)
- css教程文字移动 (33)
- php简单源码 (36)
- php个人中心源码 (25)
- php小说爬取源码 (23)
- 云电脑app源码 (22)
- html画折线图 (24)
- docker好玩的应用 (28)
- linux有没有pe工具 (34)
- mysql数据库源码 (21)
- php开源万能表单系统源码 (21)
- 可以上传视频的网站源码 (25)
- 随机函数如何生成小数点数字 (31)
- 随机函数excel公式总和不变30个数据随机 (33)