主要内容

平台

向跟踪场景添加平台

语法

平台(sc)
ptfm =平台(sc,Name,Value)

描述

企业加工=平台(sc添加一个平台对象,企业加工,到跟踪场景,sc。该函数创建一个具有默认属性值的平台。平台被定义为具有方面相关属性的点或长方体。中指定的每个平台自动分配一个唯一的IDplatformID田野平台对象。

企业加工=平台(sc名称,值添加具有由一个或多个指定的附加属性的平台名称,值对参数。名字属性名和价值是对应的值。名字必须出现在单引号内().可以以任意顺序指定多个名称-值对参数,如Name1, Value1,…,的家。任何未指定的属性都采用默认值。

输入参数

全部展开

跟踪场景,指定为trackingScenario对象。

名称-值参数

指定可选的参数对为Name1 = Value1,…,以=家,在那里名字是参数名和吗价值是对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来名字在报价。

指定为非负整数的平台分类标识符。您可以定义自己的平台分类方案并分配ClassID根据方案将值赋给平台。的价值0为未知或未赋值类的对象保留。

例子:5

数据类型:

该属性是只读的。

平台的当前位置,指定为标量的3元素向量。

  • IsEarthCentered属性设置为,位置被指定为三元笛卡尔状态[xyz[米]。

  • IsEarthCentered属性设置为真正的时,将位置指定为三元大地状态:纬度在度,经度在度上,和高度在米。

您应该只在创建固定平台时指定位置。如果你选择指定平台的轨迹,不要使用位置。相反,使用轨迹论点。

数据类型:

该属性是只读的。

平台的方向,指定为以度为单位的标量的三元素向量。这三个标量是[偏航球场从本地参考系到平台主体框架的旋转角度。

您应该只指定取向当创建一个固定平台时。如果选择随时间指定方向,请使用轨迹论点。

数据类型:

作为结构指定的平台尺寸和原点偏移量。该结构包含长度宽度高度,OriginOffset一个接近平台尺寸的长方体。的OriginOffset是从长方体中心到平台坐标系原点的位置向量。的OriginOffset用平台坐标系表示。例如,如下图所示,如果平台原点位于长方体后面的中心,则设置OriginOffset作为(- - - - - -l[2,0,0]。的默认值是一个所有字段都设置为零的结构,它对应于一个点模型。

平台尺寸

领域的

字段 描述 默认的
长度 长方体沿边的尺寸x方向 0
宽度 长方体沿边的尺寸y方向 0
高度 长方体沿边的尺寸z方向 0
OriginOffset 平台坐标系原点相对于长方体中心的位置 [00 00 00]

例子:结构(“长度”5“宽度”,2.5,“高度”,3.5,“OriginOffset”,[-2.5 0 0])

数据类型:结构体

平台运动,指定为akinematicTrajectory对象,waypointTrajectory对象,或geoTrajectory对象。轨迹对象定义了平台框架原点的位置和速度的时间演化,以及平台框架相对于场景框架的方向。

的单元格数组指定的平台签名irSignaturercsSignature,tsSignature对象或空单元格数组。对于列出的每种类型的签名对象,单元格数组最多只包含一个实例。特征表示平台的反射或发射模式,例如其雷达横截面、目标强度或红外强度。

姿态估计器,指定为姿态估计器对象。姿态估计器根据局部NED场景坐标确定平台姿态。任何姿态估计器的接口必须与的接口匹配insSensor。默认情况下,姿态估计器精度属性设置为零。

发射器安装在平台上,指定为发射器对象的单元阵列,例如radarEmittersonarEmitter

传感器安装在平台上,指定为传感器对象的单元阵列,如irSensorfusionRadarSensormonostaticLidarSensor,或sonarSensor

输出参数

全部展开

场景平台,返回为平台对象。

例子

全部展开

创建跟踪场景和平台,遵循圆形路径。

scene = trackingScenario()“UpdateRate”, 1/50);%创建平台platt =平台(场景);沿着半径为1公里的圆形轨迹,在400秒内完成。平台。轨迹= waypointTrajectory(“锚点”, [0 1000 0;1000 00;0 -1000 0;-1000 00;0 1000 0],“TimeOfArrival”, (0;100;200;300;400));%执行模拟现场。推进p =姿势(平面);流('Time = %f ', scene.SimulationTime);流('Position = [');流(' % f ', p.Position);流('] Velocity = [');流(' % f ', p.Velocity);流(“]\ n”);结束
时间= 0.000000
位置= [
0000000000000000000000000000000000
速度= [
15.707701 -0.000493 0.000000
时间= 50000000
位置= [
707.095476 707.100019 0.000000
速度= [
11.107152 -11.107075 0.000000
时间= 100.000000
位置= [
1000,000,000,000,000,000,000,000
速度= [
0.000476 -15.707961 0.000000
时间= 150000000
位置= [
707.115558 -707.115461 0.000000
速度= [
-11.107346 -11.107341 0.000000
时间= 200.000000
位置= [
0.000000 -1000.000000
速度= [
-15.707963 0.000460 0.000000
时间= 250.000000
位置= [
-707.098004 -707.098102 0.000000
速度= [
-11.107069 11.107074 0.000000
时间= 300.000000
位置= [
-1000.000000
速度= [
-0.000476 15.707966 0.000000
时间= 350.000000
位置= [
-707.118086 707.113543 0.000000
速度= [
11.107262 11.107340 0.000000
时间= 400.000000
位置= [
- 000000 1000.000000
速度= [
15.708226 -0.000493 0.000000

创建一个跟踪场景,其中两个长方体平台遵循圆形轨迹。

sc = trackingScenario;%创建一个尺寸为5 × 2.5 × 3.5(米)的卡车平台。P1 =平台(sc);p1。尺寸= struct(“长度”5,“宽度”, 2.5,“高度”, 3.5,“OriginOffset”,[0 0 0]);指定卡车的轨迹为半径为20米的圆。p1。轨迹= waypointTrajectory(“锚点”(20 * cos(2 *π* (0:10)/ 10)20 * sin(2 *π*(0:10)/ 10)-1.75 * 1(11日1)),“TimeOfArrival”, linspace(0, 50岁,11)');%创建一个小型四轴飞行器的平台,尺寸为。3 x。3 x .1 (m)。P2 =平台(sc);p2。尺寸= struct(“长度”3,“宽度”3,“高度”、1。“OriginOffset”,[0 0 0]);四轴飞行器跟随卡车在10米以上与小角延迟。注意负z坐标对应于正仰角。p2。轨迹= waypointTrajectory(“锚点”(20 * cos(2 *π*((0:10)。6)/ 10)20 * sin(2 *π*((0:10)。6)/ 10)-11.80 * 1(11日1)),“TimeOfArrival”, linspace(0, 50岁,11)');

使用以下方法可视化结果theaterPlot

tp = theaterPlot(“XLim”, 30 [-30],“YLim”, 30 [-30],“Zlim”, -12年[5]);pp1 = platformPlotter(p,“DisplayName的”“卡车”“标记”“年代”);pp2 = platformPlotter(p,“DisplayName的”四轴飞行器的“标记”“o”);指定一个视图方向和动画。视图(-28年,37);集(gca),“Zdir”“反向”);advance(sc) pose = platformpose (sc);plotPlatform (pp1姿势(1)。位置,p1。维,poses(1).Orientation); plotPlatform(pp2, poses(2).Position, p2.Dimensions, poses(2).Orientation);结束

图包含一个轴对象。axes对象包含2个line类型的对象。这些物体代表卡车,四轴飞行器。

版本历史

在R2018b中引入