MATLAB 在基于模型设计上的应用已经广受认可。从 2016 年开始 MATLAB 推出了 Powertrain Blockset 用于车辆纵向动力学仿真,2018 年推出了 Vehicle Dynamic blockset 用于车辆整车动力学建模仿真,帮助工程师快速搭建整车模型,并结合整车、底盘控制器以及自动驾驶场景、算法,完成了构建虚拟整车模型的工具链。
下面我们将以模型案例讲解如何快速搭建整车模型用于整车仿真、底盘控制和自动驾驶?以及在建模过程中各个组件的参数含义。
比如,我们需要验证一个纯电动汽车 AEB 功能的模型。这就需要一个能体现纯电动汽车整车动力学性能的模型。如何搭建车辆的物理模型呢?同时又要如何搭建整车 VCU 模型呢?
我们以这个下面链接的这个模型来讲解如何一步步搭建纯电动汽车 AEB 仿真测试模型。
本系列会分为 5 个步骤:
Step1:
基于 Reference Application,选取合适的整车模型,为接下来自定义打下框架。
Step2:
自定义车辆传动系统模型及整车能量管理策略。
Step3:
构建车辆车体、轮胎、悬架模型完成 14 自由度的整车模型。
Step4:
根据需求增加车辆底盘控制器模型,如 ABS 控制器。并进行整车仿真。
Step5:
自定义自动驾驶运行场景,如 AEB 法规场景,查看车辆的系统响应。
MATLAB
Step1
——从 Reference Application 开始——
快速搭建车辆模型可以选择从 Vehicle Dynamic Blockset 提供的 Reference Application 中的案例。
在 Reference Application 中提供了几个标准底盘测试场景下的车辆仿真模型。我们选择模型 Double Lane Change (双移线) 的车辆模型。
打开该模型,该模型是用 simulink project 组织起来的一个完整的双移线工况测试场景模型。
主模型中有 4 个主要部分。一个是车辆的测试环境模型,第二是驾驶员模型,第三是车辆模型,第四是车辆控制器 controller 模块,最后有一个显示的 visualization 模型。
进入 Visualization 中,双击 3D Engine 模块将 3D engine 设置为 Enabled,即可将仿真结果在 3D 场景中显示
仿真结果的 3D 显示如下
DLCReferenceApplication.slx
Step2
自定义车辆纵向动力学模型及车辆控制器模型
Reference Application 提供的车辆模型是燃油车车辆的模型。我们需要把其动力系统改成纯电动汽车的动力系统,并需要修改相应的整车控制器。
要成功修改车辆动力系统模型,需要深度理解建模原理。对于模块化建模,抓住每个模块的输入输出信号内容。
对于传统内燃机车辆动力系统,动力源发动机模型的输入是 VCU 过来的扭矩需求和发动机当前状态的转速,输出则是发动机实际的扭矩,该扭矩传递给动力系统后面的变速器模型和传递系统。变速器的输入则是根据 VCU 的挡位、输入扭矩(即发动机端的扭矩)以及变速器当前转速,计算变速器传递给传动系统的扭矩。VCU 包括发动机控制器和变速器控制器,功能是完成根据驾驶员踏板信息计算车辆需要的驱动扭矩,继而发送给发动机相应的扭矩需求。TCU 则是根据车辆状态,通过换挡测量计算当前时刻的挡位。
对于纯电动汽车,动力系统,从发动机和变速器变成了电机与电池。电机在 VCU 的扭矩需求指令下输出相应的电机扭矩,并通过效率查表计算当消耗电功率,从而计算出电流。电池模型则是根据电流大小以及工作环境温度计算出当前电池的状态信息,包括电压、电流、电池 SOC 等。计算出这些信息是因为VCU需要根据电池状态来计算电机输出扭矩的上下限,从而给电机发送合适的扭矩需求指令。
根据以上建模逻辑,我们把发动机模型转成电气动力系统模型,并删除变速器及变速器控制器模块。并重新设计 VCU 模块
要点1. 电机模型
对于整车层级的电机建模而言,电机模型是为了计算能否按照扭矩需求信息输出相应的扭矩。并计算电池电流大小。因此电机的模型不需要考虑电机细节及电机控制器的内容。一方面是输入电机的 N-T 特性曲线计算电机的输出扭矩,另一方面是根据效率查表计算电池电流即可。
对于想要探讨电机控制策略对整车性能的影响可以参考以下复杂电机模型。这里不做过多赘述。
要点2.电池模型
对电池建模的目的就是对 SOC 状态进行计算。评估电池放了多少电,从而计算车的耗电,这个信息也需要给到 VCU,用于能量管理策略开发。
可以使用 Datasheet Battery 对电池进行建模以满足以上需求,电池模型根据电流进行时间上的积分,从而计算出 SOC 状态。同时根据内阻和开路电压对 SOC 和温度的查表信息计算出电池的电压。
注意这个电池模型是个稳态模型,只能表达稳态的横流充放电的模型。如果需要电池电路充放电的动态响应特性特征,可以选用等效电路模型建模。
要点3.纯电动汽车VCU能量管理策略
纯电动汽车 VCU 功能,扭矩管理、电池电机协调管理、充电管理、故障诊断、安全监控等功能。能够准确判断并反映驾驶员的驾驶意图,实现驱动和能量回收工况下的扭矩请求和限制保护。其中的核心,能量管理策略的实现可以查看以下案例的搭建过程。
VCU 的功能模块组成有以下几个部分,
1.根据加速踏板信号(百分比信号)计算需求扭矩;
2. 根据制动踏板信号(百分比信号)计算需求制动压力;
3. 将需求扭矩转化为电机扭指令或者制动扭矩指令。
这一过程要考虑能量回收并根据当前电池充放电的上限计算可以利用的电机扭矩。在能量回收策略计算出能够回收的扭矩指令后,根据电池充放电的上线限在计算需要的电机扭矩输出。
一二部分的功能实现可以做成一个简单的数学计算,将百分比信号乘以最大电机扭矩即可得到扭矩需求。
我们详细查看一下能量回收部分
能量回收部分主要是计算制动需求扭矩与电机可以提供的最大发电扭矩作比较,如果知道你该扭矩小于发电扭矩,那么制动扭矩由发电扭矩提供,如果大于发电扭矩,那么能用用于发电的扭矩就会发送给电机需求扭矩(发电时,该指令为负),剩余部分发给机械制动器。
这里发电扭矩需要根据电池 SOC 和车速进行能量回收比例的调整。
要点4.传动系统部件的建模
传动系统部件虽然很多,包括主轴、主减速器、差速器等,但是都是可以简化成扭转弹簧、惯量、阻尼的传动模型。因此相关参数基本都是弹簧、阻尼、惯量、传动比及其衍生信息。这里不作赘述。
结论
车辆纵向动力学模型相对于完整的车辆物理模型相对简单。我们通过更改 Reference Application 中的车辆框架模型,自定义了车辆的传动系统以及整车 VCU 的功能(整车 VCU 功能包含很多,其中一个核心内容就是整车的能量管理策略。)完成了整车的纵向动力学建模。
从以上的例子中,我们也会得到一些建模经验:
1. 在搭建车辆部件模型时,需要抓住每个模块的输入输出信号内容。深度理解车辆的系统知识是车辆建模及控制器设计的基础。
2. 对于不同颗粒度的物理模型,其输入输出要与相应的控制器输入输出相匹配。
3. 对于不同的应用,应当选取不同颗粒度的物理模型。比如,如果需要考察整车控制器的能量管理策略,那么在电机和电池建模时,尽量避免使用用于电机开发和电池BMS开发用的详细电机、电池模型。
原文标题:MATLAB 手把手 | 五步教你玩转整车建模和自动驾驶仿真 (Step 1-2)
文章出处:【微信公众号:MATLAB】欢迎添加关注!文章转载请注明出处。
审核编辑:汤梓红
-
matlab
+关注
关注
185文章
2974浏览量
230385 -
仿真
+关注
关注
50文章
4070浏览量
133552 -
纯电动汽车
+关注
关注
5文章
464浏览量
25658
原文标题:MATLAB 手把手 | 五步教你玩转整车建模和自动驾驶仿真 (Step 1-2)
文章出处:【微信号:MATLAB,微信公众号:MATLAB】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论