基于MATLAB的双线变道仿真
moboyou 2025-04-22 00:47 25 浏览
双线变道仿真模型
这个参考应用程序代表了一个完整的车辆动力学模型,根据标准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 |
- 上一篇:各类蜗杆学习——渐开线蜗杆
- 下一篇:男女生的“平均脸”长这样…
相关推荐
- 【开源推荐】给大家推荐个基于ChatGPT的PHP开发库 openai-php-api
-
有了这个库大家就可以愉快的使用PHP对接chatGPT的官方接口了,至于对接了官方接口想要做什么就看你自己的啦环境要求PHP7.4或以上composer1.6.5以上支持框架Laravel、Sym...
- PHP使用Phar打包控制台程序
-
1.介绍1.1介绍php脚本有着非常强大的库支持,可以轻松做出特别强大的程序。php不仅仅可以搭建各种各样的网站系统、平台系统,还可以开发基于控制台运行的程序。不过使用php开发的控制台程序在使用...
- PHP实现URL编码、Base64编码、MD5编码的方法
-
1.介绍1.1介绍今天开始福哥要给大家讲解关于字符编码的知识,所谓字符编码就是将一个字符串或者是一个二进制字节数组里面的每一个字符根据一定的规则替换成一个或者多个其他字符的过程。字符编码的意义有很...
- 雷卯针对易百纳海思Hi3521D开发板防雷防静电方案
-
一、应用场景1、医疗电子2、安防监控3、数字标牌4、视频广告5、环境监测二、功能概述1CPU:ARMCortexA7双核@Max.1.3GHz2H.265/H.264&JPEG多码流编...
- 不折腾无人生-安卓盒子安装Linux系统armbian纪实
-
不折腾无人生-安卓盒子安装Linux系统armbian纪实小编的x96max+(晶晨Amlogics905x3)安卓盒子已安装二个系统,原装安卓9.0和tf卡上的CoreELEC9.2.3,可玩性...
- 全网最简单的玩客云刷casaos方法及后续使用心得
-
本内容来源于@什么值得买APP,观点仅代表作者本人|作者:不鸣de前几天在站内看见很多值友分享了玩客云刷casaos,被简洁的操作界面种草,于是我将之前刷了powersee大神网页导航版armbia...
- 最新评测:英特尔旗舰 Alder Lake 处理器击败苹果M1 Max
-
据国外媒体tomshardware报道,英特尔最新的酷睿i9-12900HK处理器刚刚赢得了移动x86与Arm的性能大战,但这是有代价的。这款移动14核AlderLake芯片在多个工作负...
- 创维酷开Max系列电视开启ADB并安装第三方应用教程
-
前言创维酷开系列智能电视采用的是相对封闭的系统,虽然设置中提供了安装未知应用的选项,但由于电视安装位置的限制,往往难以直接使用USB接口安装应用。本文将详细介绍如何通过ADB方式在创维酷开Max系列电...
- 苹果 Mac Studio,再次刷新我们对个人电脑的认知
-
由两块M1Max组成的M1Ultra,成为了M1系列的最后一块拼图,并完成了整个M1SoC宇宙。这就好像《复仇者联盟4:终局之战》对于漫威第一阶段,十几年勤恳的布局,最终达到顶峰...
- 「必买」盘点2021年男人们的败家清单,越“败”越香
-
心里总想买点啥?看看《必买》,全网最有料的场景种草指南。草原割不尽,春风吹又生。在过去的2021年,不断被各种数码产品种草,一直在买买买,剁手不停。大部分产品都经过详细的对比做足了功课,也有部分是一时...
- Opus音频编解码在arm上的移植
-
一、简介现在有个需求,在局域网内实现实时语音,传输层协议使用UDP协议,如果直接使用ALSA进行录制音频流并发送到另一端进行播放,音质会非常差,而且断断续续,原因如下:采样频率:fm=44.1K...
- N ARM MINI空气减震系统臂体安装指南及应用说明
-
距离MOVMAX移动大师NARMMINI发布已经过去一段时间了,不少收到NARMMINI的小伙伴也已经迅速将产品投入到自己的车拍工作中去了。而在实际工作过程中我们也收到了用户的部分疑问和反馈:...
- 搜索引擎中的性能怪兽,Elasticsearch挑战者之Manticore Search
-
ManticoreSearch简介ManticoreSearch是一个使用C++开发的高性能搜索引擎,创建于2017年,其前身是SphinxSearch。ManticoreSe...
- 10个运维拿来就用的 Shell 脚本,用了才知道有多爽
-
1、监控MySQL主从同步状态是否异常脚本#!/bin/bashHOST=localhostUSER=rootPASSWD=123.comIO_SQL_STATUS=$(mysql-h$...
- PHP7.0.0正式版开放下载:速度大提升
-
IT之家讯PHP发布经理AnatolBelski在GitHub发布了PHP7.0.0正式版,该版本在速度提升上面有非常大的进步,比5.6版本提速两倍,已经接近Facebook开发的PHP执行引擎...
- 一周热门
- 最近发表
- 标签列表
-
- curseforge官网网址 (16)
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- oracle两个表 (20)
- oracle 数据库 字符集 (20)
- oracle安装补丁 (19)
- matlab化简多项式 (20)
- 多线程的创建方式 (29)
- 多线程 python (30)
- java多线程并发处理 (32)
- 宏程序代码一览表 (35)
- c++需要学多久 (25)
- c语言编程小知识大全 (17)
- css class选择器用法 (25)
- css样式引入 (30)
- html5和css3新特性 (19)
- css教程文字移动 (33)
- php简单源码 (36)
- php个人中心源码 (25)
- 网站管理平台php源码 (19)
- php小说爬取源码 (23)
- github好玩的php项目 (18)