PreScan快速入门到精通第二十讲之
一个特殊的类别形成了没有任何动态的执行器,如收费站(静态对象)。然而,它们可以以检索车辆标识。
类别
执行器库包括:
汽车和摩托车
卡车和客车
人
标定元素
执行器属性
在PreScan中,执行器有不同的属性和/或子模型,例如,对于可视化,需要一个可视化模型,对于动力学和控制器,需要一个动力学模型和控制器模型和/或轨迹模型,而对于传感器,需要所谓的对象响应模型(ORM)。
执行器的定位或定向
可以通过左键选择一个角色,并在拖动角色就位时按住鼠标左键来定位。它可以通过双击左键并按住出现的手柄上的鼠标左键进行定位。定向也可以通过角色的右键单击角色的右键,通过角色的上下文菜单中的编辑选项来激活。
配置一个执行器
执行器的对象配置是用来设置执行器的动态和行为(右键点击 "执行器"的actor,并选择 Configuration(配置)以获得此对话框)执行器的配置分五个步骤进行,即:1)为执行器分配轨迹(如果适用的话),2)分配控制和3)动态属性,4)设置要导出到编译表的执行器动画端口,允许设置灯光、旋转轮等,5)选择要分配给执行器的对象响应模型。
这五个步骤将在下面的章节中介绍:
轨迹
传感器属性
控制
驾驶员模型
动力学
物理学
动画和执行器
材料
灯光
可以通过创建一个报告概览来获得所有行为体设置的概览。也可按照CarSim中描述的步骤进行操作,设置于PreScan与CarSim联合仿真,用于研究车辆的动力学特性。
执行器配置对话框可以通过右键点击角色--在构建区域和树上--同时选择对象配置来获得。
由于使用的旋转顺序(Yaw、Pitch、Roll),送至执行器状态端口的俯仰角旋转被限制为+/-89度。
执行器是PreScan 8.3.0版本的通用模型,因此只有在连接到轨迹或有激活的执行器的情况下,才会在编译表中出现。
执行器库包括六大类,具体内容如下:
汽车和摩托车
卡车和客车
挂车
目标物
行人
标定元素
所有的执行器,包括行人和标定元素,都可以配备所有PreScan传感器。
车辆和摩托车
车辆和摩托车的包含以下类别:
卡车和客车
卡车和客车类别包括以下项目:
拖车
拖车类别包括以下项目:
目标
类别目标包括以下项目:
目标 "执行器代表的是汽车形状的气球,它复制了普通客车的尾部。这些执行器可以在现实生活中测试任何传感器和系统(典型的尾部碰撞),而不会危及测试驾驶员或损坏测试车辆和硬件。
目标执行器不是完整的PreScan车辆,它们不支持2D或3D动态行为。
行人
人类的类别包括静态的和动画化的项目。所有非静态的行人都是根据其运动的(绝对)速度进行动画化。
下表列出了为某一模型定义的运动:
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|||
|
|
|
|||
|
|
||||
|
注1:在速度为0时,动画化的人形模型相当于一个人站着不动;当速度在0和最大行走速度之间时(在对象配置中),动画化的模型代表一个人在行走,超过这个速度时,动画会像人在奔跑(默认可以在首选项>速度配置文件>初始值中设置)。
注2:男性常规模型(经典版)取代了PreScan以前版本中的Human Animated。预先存在的Human Animated模型因为图形表示的问题而无法转换。虽然它們仍然可以看到,但无法再建立。
新的男性普通(经典),以及所有其他新的动画模型,现在允许访问他们的纹理,因此可以对上身和下身的衣服和鞋子进行着色。Male Regular (经典版)(以及所有其他 "纹理 "模型)的颜色设置的默认值与旧版的Human Animated基本相同。
鞋子和衣服的颜色可以在对象的特定信息类别中(在编辑器中选择了人形模型时可以使用),或者进入对象配置对话框的 "材质 "选项卡中更改。
注3:服装材料可以修改,但在这个版本中没有效果。它是为了以后的使用而存在。
标定元素
标定元素可用于传感器的规格和测试。标定元素的类别包括以下几类。所有元素的大小和颜色都是可配置的。对于棋盘盒,网格大小也可以改变。
在PreScan中,执行器通过其重心(CoG)来控制。
在这里,CoG的位置和对象的位置之间的关系通过GUI的校准元素框来解释。所有其他元素的行为方式都是一样的。
对于重心的解释,我们使用下面的例子。它由一个国际象棋平面底层组成,在国际象棋平面的边界处放置一个方框(见下图)。
在这个例子中,盒子的大小被改变为2x2x2 m3。这可以通过属性编辑器中的对象特定信息选项卡来完成。盒子的BoxLength是盒子沿x轴的尺寸,盒子沿y轴的BoxWidth和盒子沿z轴的BoxHeight(见下图)。这三个平面的交点给出了盒子的CoG的初始位置(中间)。
这时,如果系统建好了,盒子的位置就会自动变为(0,0,1),这样盒子就会站在地面上。这样,世界看起来就像第二张图一样。
盒子可以通过GUI中的Location来移动,通过GUI中的CoGOffset来移动盒子的位置。下图中,显示了这些参数的定义。
下面就来看看这些参数对盒子的影响。
首先让沿z轴和沿y轴分三步改变盒子的位置参数:从上图中的(0,0,0,1),也就是上图中的情况到(0,0,0,0)到(0,0,0,-1)再到(0,0,0,-2),再从(0,0,1)到(0,1,1)、(0,3,1)再到(0,5,1)。如下图所示。
|
|
位置(0,0,-1) |
|
|
|
位置(0,3,1) |
|
现在CoGOffset将从原来的情况(位置在(0,0,0,1)和CoGOffset(0,0,0,0))开始改变。注意,当CoGOffset设置为(0,0,0,2)时,GUI会自动改变(0,0,2)的位置。所以位置必须再次重置为(0,0,0,1)。
|
|
|
|
因此箱体的运动原点就是它的CoG。CoG与盒子的位置是通过CoGOffset参数给出的,盒子的位置是通过Location参数给出的。但是,当改变CoGOffset并将Location保持在相同的值时,箱子的位置也会改变。对于指挥车辆和设置车辆的CoG高度,这并不可取。对于车辆来说,无论CoGLocation是什么,车轮应该始终接触地面。因此,当给定一个Build,或者用户在GUI中的位置字段改变时,GUI也会自动改变对象的位置。
注1: 当标定元素的尺寸发生变化时,CoGLocation会自动调整,使标定元素位于地面上。
注2:当改变了一个执行器的CoGOffset时,CoGLocation将被自动调整,以便标定元素位于地面上。当行为体的CoGOffset被更改时,CoGLocation会自动调整,使车辆保持在地面上。对于改变标定元素的CoGOffset,此规则具有负面的后果,因为它导致标定元素的中点被定位在地面上。
CoG执行器
车辆执行器的原点定义在地面上两个后轮之间的中心位置,而标定元素的原点定义在其中心位置,见下面的图片。对于所有的执行器,重心相对于它们的原点是通过CoGOffset来定义的,这一点在原点下解释。
如果一个执行器被链接到一个轨迹,那么执行器的CoG将跟随这个轨迹。但是,除了标定元素之外的所有执行器都会被CoGOffset的Z值提升到地面上的位置,如下图所示;请注意,标定元素的上半部分只可见。
执行器就像 "串珠子 "一样沿着轨迹路径走下去。他们对他们所处的道路没有任何概念,即使是在他们沿着继承的路径行驶时也是如此,因此执行器和道路之间没有任何接触。这种缺乏接触可能会导致车辆在陡峭的坡道上行驶或下坡时出现一些奇怪的图像,但这只是视觉上的假象,对实际仿真没有任何影响。
轨迹定义了一个执行器随时间变化的路径。轨迹通常用于测试传感器,或将开环行为分配给执行器,以测试控制器。开环指的是行为体 "没有智能",只是遵循它被分配的轨迹。
支持轨迹分配的 "执行器对象配置 "对话框如下图所示。
选择多个轨迹可以使汽车上的传感器接受不同的操纵,并在批量计算设置中调查其性能。
同时注意,可以选择完全不分配轨迹。这个选项可以用于可以对世界做出反应的静态物体。后一类包括处于静止状态的人,可以在遇到危险时决定运行,甚至是发送电子账单的收费站。
下图显示的是 "执行器对象配置 "对话框选项卡,支持分配给执行器的控制器。
有两种可能的选择:
无
完全没有控制器(对于一个没有反应的行为者或只盲目遵循预先描述的轨迹的行为者来说
用户指定型号
用户分配的控制器,可作为基于Simulink的模型使用。
与用户指定模型相关的初始化文件或参数文件不复制到实验目录中。文件可以手动添加到实验中,文件所在的目录可以添加到MATLAB路径中。
用户指定的模型
可以选择用户指定的模型作为车辆的控制器或动力学模型。PreScan将把用户指定模型的内容复制到 "汇编表 "中,如下所述。
动态
对于Dynamics User-Specified模型,PreScan增加了块MuxState,并增加了端口State:见下图。
该MuxState块有一个参数用于选择输入类型。如果要输入x、y和z位置分量,需要勾选PositioningMode复选框;如果要输入vx、vy和vz速度分量,需要不勾选Positioning Mode复选框。如果要输入vx、vy和vz速度分量,则需要取消勾选定位模式。这样一来,速度将被集成到计算位置中。状态输入与角色的初始位置有关。关于这些坐标系的使用,请参见坐标系。MuxState块的掩码参数如下所示。
接地块可以断开,并连接到用户指定的算法。