3D车辆动力学模型
三维车辆动力学模型可以引导PreScan汽车在三维道路上行驶。该模型具有与二维简单动力学模型相同的组件,但底盘部分(车辆动力学)已被修改。其他部分保持不变。在三维车辆动力学仿真过程中,可能会有一些轻微的俯仰震动。
三维简单动力学模型由下列部件组成,如下图所示:
发动机
变速箱最终传动比
三维底盘(车辆动力学)
换挡逻辑。
自动和手动换挡之间的切换
请看以下部分:
三维车辆动力学模型;
可以在GUI中设置的参数;
模型在编译表中的表现;
使用方法的概述;
在油门为零%,自动档为驾驶/倒车模式的情况下,汽车也会缓慢向前/向后移动。这是由于发动机以最低转速行驶(每辆车的转速不同)。
模型迁移-见汇编表迁移。
三维车辆动力学模型有10个自由度。
弹簧质量(支撑在悬架上面的质量)有6个自由度。三个位移(x、y和z)和三个旋转(侧倾、俯仰和横摆)。
非弹簧质量(悬架下方的质量:4个车轮)有4个自由度,即4个z位移。在弹簧质量和非弹簧质量之间放置了悬挂系统。
Z运动
下图为作用在车辆上的z力。后方和前方的地面对轮胎的接触力。由车辆质量和惯性力引起的力。在弹簧质量和非弹簧质量之间有悬挂力(未显示)。
关于弹簧质量的运动方程如下(车辆坐标系中的牛顿运动方程)。
公式中:
而K和d分别为悬挂刚度和阻尼特性。
每个轮胎的运动方程如下:
公式中
而K和d分别为悬挂刚度和阻尼特性。
渗透深度由接触传感器计算。
预瞄描接触传感器
接触传感器并不是传统意义上的PreScan传感器。它的核心是封装了一个物理引擎,并创建了自己的碰撞世界背景。
使用物理引擎,PreScan可以计算几何交点与相关数据,如接触法线,接触位置和穿透深度。
这个 "传感器 "也是PreScan三维车辆动力学不可或缺的。
从PreScan版本6.8.1开始,PreScan_Contact_Sensor模块取代了6.8.1之前的WheelContactSensor(仅适用于PreScan 3D Simple Dynamics!)。
PreScan_Contact_Sensor接收来自Dynamics_Simple_3D块的位置数据,计算出接触点,然后将这些数据发回Dynamics_Simple_3D块。
6.8.1版本的接触传感器完全包含在MATLAB中,这就意味着接触传感器6.8.1限制现在不再适用。
不再要求视觉更新率与编译表目标更新率一样高。不再要求模拟核心与模拟1:1运行。
可以以更高的Compilation Sheet目标更新率运行,性能更好。
然而,我们仍然需要最低200hz的编译表目标更新率。这可以在仿真调度器中设置允许的最小仿真速率。
为了保持仿真的稳定性,PreScan对单独的组件实施最小仿真率:
最小 Dyn & Ctrl 世界(编译表) 更新率100
最小仿真核心 更新率10
视觉世界更新 没有最小值。
最小的仿真核心更新速率上面提到的强制执行,但是,如果不稳定仍然发生,建议提高仿真核心更新速率,直到仿真再次稳定。
当应用一个转向角到VISUWheels_Mux块,相同的信号应该被用作输入到相应的PreScan_Contact_Sensor块(见下图)。
从源头连接转向角到VISUWheels_Mux和PreScan_Contact_Sensor。
接触传感器的定制化实施
24.2 参数
三维简单的动力学模型是完全向用户开放的。在 "对象配置 "对话框中点击 "动力学 "选项卡,可以选择和自定义3D简单(动力学)。将打开一个对话框。
这些参数只能在GUI中设置,不能在MATLAB/ Simulink中设置。
下图中灰色的数值是不能适应的,因为它们已经被车辆视觉模型定义了。
动态
在第一个标签 "动力学"中,可以修改车辆参数。
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
传动系统
在第二个选项卡 "Driveline "中,可以编辑换挡策略。当更改升档和降档的换档点时,相应的图形将被更新。对于变速器,可以修改档位数和相应的齿轮比。
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
发动机
在第三个选项卡 "发动机"上,可以修改发动机扭矩图。至少要设置0%和100%的油门深度曲线。
|
||
|
|
|
悬架
在 "悬架 "选项卡中,显示了悬架的刚度和阻尼率特性。
|
||
|
|
|
|
|
|
|
|
|
|
|
|
转向
在最后一个选项卡 "转向"中,可以修改一些转向特性。
|
||
|
|
|
|
|
|
Simulink参数
模型中的其他参数(自动设置,但用户可直接在Simulink模型中更改)
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Simulink表示法
在编译表中,三维简单动力学模型的外观如下。
输入参数
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
输出参数
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
使用
为了有一个稳定的模型,三维简单动力学连续时间模型需要至少200赫兹的Simulink更新率(汽车)和300赫兹的卡车。这个值也是由图形用户界面检查的。
下面是一个例子,说明如何将3D车辆动力学块与带预瞄模型的Path Follower结合使用。
为了正确运行3D简单动力学模型,需要VISUWheels_Mux块。为了得到这个块,打开 Actor's Object Configuration 对话框,在Animation 选项卡中选择 Wheel displacement 选项。
限制条件
三维简单动力学模型采用以下条件。
- 车辆用于正常速度行驶。这与道路路径有关。例如在颠簸的道路上行驶时降低速度。
- 车辆始终与道路接触。车辆以"正常方式 "行驶,按照道路路径行驶。
- 车辆的初始位置是在一个平面和水平的表面/道路上(岸边和倾斜角=0)。
- 该模型只对低的横向和纵向加速度产生可靠的结果。在干燥的沥青路面上行驶时,加速度的绝对值应低于5[m/s^2]。
每个执行器的动态概述
本页概述了哪些执行器支持哪种动态。
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
查看更多评论 >