目录
四、PreScan Contact Sensor的详细自定义
一、前言
PreScan的3D动力学模型——3D Simple Dynamics Model中,用到的一个重要的参数为penetration depth,而在PreScan与Matlab/Simulink的联合仿真中,这个参数是由Contact Sensor计算得到的。
ps:本文主要是翻译PreScanManual中的PreScan Contact Sensor部分进行学习并加上了一些自己的理解,作为学习的记录,整理思路以便加深理解。
二、PreScan Contact Sensor概述
Contact Sensor实际上不是传统的PreScan传感器。它的核心部分封装了一个物理引擎,并创建碰撞世界的环境(翻译的不太行,感觉也不好理解a)。通过这个物理引擎PreScan可以计算几何交点与相关数据,如接触法线、接触位置和渗透深度(即penetration depth)。
如上图为PreScan Contact Sensor和PreScan 3D Simple Dynamics Model配合使用。Contact Sensor接收来自动力学模型的位置数据,并计算接触点参数,最后将这些数据发送到动力学模型中进行计算。
三、关于Contact Sensor的更新速率
为了保证仿真的稳定性,要求编译表的最小更新速率为200Hz,仿真核心(Simulation core,说的是PreScan?)的最小更新速率为10Hz。
ps:当对VISUWheels_Mux块(就是我们对PreScan的Actor配置时在Animation部分勾选的Wheel displacement,然后得到的一个PreScanUsefulBlock)输入转向角度时,应该将相同的信号作为相应PreScan Contact Sensor块的输入。如下图:
四、PreScan Contact Sensor的详细自定义
1、用途:在物理仿真环境中生成接触点的信息。
2、用法:用于闭环车辆动力学模型。
3、位置:输入open('PreScanUsefulBlocks'),找到Contact_Sensor。
4、格式:输入:指定的Muxed(合并)后位置信息;输出:指定的Muxed(合并)后的接触信息。
ps:Contact Sensor是一个能对提供的几何图形进行测试交叉并报告它检测到的交叉信息的传感器。
五、Contact Sensor在Simulink中的表示
参数配置:
车轮数量、接触点数量、车轮半径和车轮宽度。
必要输入:
x、y、z、roll、pitch、yaw
ps:位置和方向都必须在世界空间而不是局部空间中给出。输入之前将这些信号合并为单总线信号。
输出:接触点的信息(接触点和接触点的法线的坐标?以及渗透深度),如下图:
ps:同样,这些信息给的也是基于世界空间。
PreScan Contact Sensor使用的主要步骤:
1.首先将车轮和车辆的局部空间变换到世界空间。
2.将世界空间中的位置-方向信息合并到单信号线再输入到Contact Sensor模块。
3.提取(Demuxed)Contact Sensor模块的输出信息。
六、总结
实际上,PreScan Contact Sensor模块就是利用车辆动力学模型输出的车辆和车轮的位置、方向等信息,求得车辆与地面接触点的相关信息,再提供给车辆动力学模型使用。