文档

分阶段。平台

模型平台运动

描述

分阶段。平台系统对象™模拟空间中一个或多个平台的平移运动。平台可以是目标,如车辆或飞机,也可以是声纳或雷达发射机和接收机。该模型假设平台在每个仿真步骤中以恒定速度或恒定加速度进行平移运动。位置和速度总是在全局坐标系中定义的。

模拟一个移动平台:

  1. 方法定义和设置平台建设过程。

  2. 反复呼叫一步方法沿所确定的路径移动平台分阶段。平台属性。

    的行为一步特定于工具箱中的每个对象。

请注意

从R2016b开始,而不是使用一步方法来执行System对象定义的操作,则可以使用参数调用该对象,就像调用函数一样。例如,Y = step(obj,x)而且Y = obj(x)请执行相同的操作。

建设

sPlat =分阶段。平台创建一个平台系统对象,长条木板.该物体模拟一个静止平台,其位置在原点,速度设为零。

sPlat =分阶段。平台(名字价值)创建一个对象,长条木板,将每个指定的属性Name设置为指定的Value。您可以以任意顺序指定额外的名-值对参数,如(Name1Value1、……).

sPlat =分阶段。平台(pos韦尔名字价值)创建一个平台对象,长条木板,InitialPosition设置为pos而且速度设置为韦尔.其他指定的属性名称被设置为指定的值。的pos而且韦尔参数仅限值。唯值实参不需要指定的Name,而是根据它们的实参位置进行解释。若要指定任何唯值实参,请指定所有前面的唯值实参。

运动模型要么是恒定速度,要么是恒定加速度,要么是自定义轨迹。选项可以选择两种运动模型之一MotionModel财产。

MotionModel价值 使用
“速度”

如果你设置VelocitySource财产“属性”时,平台以恒定速度运动速度财产。您可以指定InitialPosition属性或保留其默认值。您可以更改可调参数速度属性在任何模拟步骤。

当你设置VelocitySource财产输入端口的时,可将瞬时速度作为参数输入一步方法。属性指定初始位置InitialPosition属性或将其保留为默认值。

“加速”

当你设置AccelerationSource财产“属性”时,平台以恒定加速度运动加速度财产。您可以指定InitialPosition而且InitialVelocity属性或保留它们的默认值。您可以更改可调参数加速度属性在任何模拟步骤。

当你设置AccelerationSource财产输入端口的时,可将瞬时加速度作为参数输入一步方法。指定InitialPosition而且InitialVelocity属性或保留它们的默认值。

“自定义” 控件中的一系列路径点指定平台运动CustomTrajectory财产。

属性

MotionModel

物体运动模型

对象运动模型,指定为“速度”“加速”,或“自定义”.当您将此属性设置为“速度”时,平台在每个模拟步骤中遵循匀速轨迹。当您将此属性设置为“加速”,平台在每个仿真步骤中遵循恒定的加速度轨迹。当将属性设置为时“自定义”时,平台运动遵循路径点序列CustomTrajectory财产。该对象对路径点进行分段三次插值,得到每个时间步的位置和速度。

默认值:“速度”

InitialPosition

平台初始位置

平台的初始位置,指定为3 × 1的实值列向量,形式为[x, y, z]或者一个3 × -的实值N矩阵N是平台的数量。每一列都采用这种形式[x, y, z].位置单位是米。

默认值:(0, 0, 0)

InitialVelocity

平台初速度

平台的初速度,指定为3 × 1的实值列向量,形式为(vx; v; vz)或者一个3 × -的实值N矩阵N是平台的数量。每一列取表格(vx; v; vz).速度单位是米每秒。

属性时,此属性仅适用于MotionModel财产“速度”VelocitySource输入端口的,或当您设置MotionModel财产“加速”

默认值:(0, 0, 0)

VelocitySource

速度数据来源

速度数据的来源,指定为之一“属性”输入端口的.当您将此属性的值设置为“属性”,使用速度属性设置速度。当您将此属性设置为输入端口的类的输入参数一步方法设置速度。

属性时应用此属性MotionModel财产“速度”

默认值:“属性”

速度

平台电流速度

将平台的当前速度指定为形式为的3 × 1实值列向量(vx; v; vz)或者3 ×N多平台的实值矩阵。每一列取表格(vx; v; vz).速度单位为米/秒。维度N是平台的数量。

属性时应用此属性MotionModel财产“速度”VelocitySource“属性”.此属性是可调的。

默认值:(0, 0, 0)

AccelerationSource

加速度数据来源

加速度数据的来源,指定为之一“属性”输入端口的.当您将此属性的值设置为“属性”,指定加速度加速度财产。当您将此属性设置为输入端口的类的输入参数一步方法设置加速度。

属性时应用此属性MotionModel财产“加速”

默认值:“属性”

加速度

平台加速度

将平台的当前加速度指定为窗体中的3 × 1实值列向量(ax, ay, az)或者一个3 × -的实值N矩阵,每一列取这个形式(ax, ay, az).维度N是平台的数量。加速度单位是米/秒/秒。

属性时应用此属性MotionModel财产“加速”而且AccelerationSource“属性”.此属性是可调的。

默认值:(0, 0, 0)

CustomTrajectory

自定义轨迹路径点。

自定义轨迹路径点,指定为实值——- - - - - -l矩阵,或——- - - - - -l——- - - - - -N数组中。是路径点的数量。l不是4就是7。

  • l为4,第一列表示测量平台位置的时间。2nd通过4th列是x、y和z坐标下的位置测量值。速度是由位置测量得来的。

  • 当L是7时,是5通过七个th矩阵中的列是x、y和z坐标下的速度测量值。

当你设置CustomTrajectory属性转换为三维数组,则页面数为N,表示平台数。时间单位为秒,位置单位为米,速度单位为米/秒。

属性可启用此属性MotionModel财产“自定义”

ScanMode

机械扫描方式

平台的机械扫描模式,指定为“没有”“圆””,或“部门”,在那里“没有”是默认值。当你设置ScanMode财产“圆”,平台沿平台定位轴的方位方向顺时针360度连续扫描。当你设置ScanMode财产“部门”,所述平台在所述平台方位轴的指定范围内沿方位方向顺时针扫描AzimuthSpan财产。当平台扫描达到跨度限制时,扫描将反转方向并扫描回另一个扫描限制。扫描发生在平台的方向轴内。

InitialScanAngle

平台初始扫描角度

平台的初始扫描角度,指定为1 ×N向量,N是平台的数量。扫描发生在平台的局部坐标系中。的InitialOrientationAxes指定原始的本地坐标系统。对象指定的方向轴在模拟开始时InitialOrientationAxes中指定的角度进行旋转InitialScanAngle财产。默认值为0。单位是度。属性时应用此属性ScanMode财产“圆”“部门”

例子:(30 40)

AzimuthSpan

方位跨度

方位角跨度,指定为N-by-2矩阵,其中N是平台的数量。矩阵的每一行都指定了表单中相应平台的扫描范围[ScanAngleLowerBound ScanAngleHigherBound].默认值为60 [-60].单位是度。属性可启用此属性ScanMode“部门”

AzimuthScanRate

方位扫描速率

方位扫描速率,指定为1 ×N向量,N是平台的数量。向量中的每一项都是对应平台的方位扫描速率。默认值为10度/秒。单位为度/秒。属性可启用此属性ScanMode财产“圆”“部门”

InitialOrientationAxes

平台初始定位轴

平台的初始方向轴,指定为单个平台的3 × 3实值标准正交矩阵或3 × 3 × -N多平台的实值矩阵。维度N是平台的数量。当方向矩阵为3 × 3时,三列表示局部坐标系的轴(某某).当方向矩阵是3 × 3 ×N,每个页面索引,得到的3 × 3矩阵表示局部坐标系的轴。

默认值:[1 0 0;0 1 0;0 0 1]

OrientationAxesOutputPort

输出方向轴

若要获得平台的瞬时方向轴,请将此属性设置为真正的并在调用时使用相应的输出参数一步.如果您不想获取平台的方向轴,请将此属性设置为

默认值:

方法

重置 将平台复位到初始位置
一步 输出平台当前位置、速度、方向轴
所有系统对象通用
释放

允许系统对象属性值更改

例子

全部展开

在原点处建立一个速度为(100,100,0)米/秒的平台。模拟平台的两个时间步的运动,假设每一步花费的时间为1秒。平台的位置在每一步之后都会更新。

sPlat = phase . platform ([0;0;0]、[100;100;0]);T = 1;

在第一次调用step时,位置位于其初始值。

[pos,v] = step(sPlat,T);pos
pos =3×10 0 0

在第二次调用步时,位置发生变化。

[pos,v] = step(sPlat,T);pos
pos =3×1100 100 0

先让一架飞机以150公里/小时的速度在半径为10公里的圆内飞行,同时以20米/秒的速度下降。从飞机的瞬时加速度作为参数计算飞机的运动一步方法。将平台的初始方向设置为标识,与全局坐标系一致。

设置场景

指定飞机的初始位置和速度。飞机地面射程10公里和高度20公里。

范围= 10000;Alt = 20000;initPos = [cosd(60)*range;sind(60)*range;alt];originPos = [1000,1000,0]';originVel = [0,0,0]';Vs = 150.0;phi = atan2d(initPos(2)-originPos(2),initPos(1)-originPos(1));Phi1 = phi + 90;Vx = vs*cosd(phi1);Vy = vs*sind(phi1); initVel = [vx,vy,-20]'; platform = phased.Platform(“MotionModel”“加速”...“AccelerationSource”输入端口的“InitialPosition”initPos,...“InitialVelocity”initVel,“OrientationAxesOutputPort”,真的,...“InitialOrientationAxes”、眼睛(3));relPos = initPos - originPos;relVel = initVel - originVel;rel2Pos = [relPos(1),relPos(2),0]';rel2Vel = [relVel(1),relVel(2),0]';r =√(rel2Pos'*rel2Pos);Accelmag = vs^2/r;unitvec = rel2Pos/r;加速度= -accelmag*unitvec;T = 0.5; N = 1000;

计算轨迹

中作圆周运动的物体的加速度x - y飞机。朝向原点的加速度是v^2/r。

posmat = 0 (3,N);r1 = 0 (N);v = 0 (N);n = 1: n [pos,vel,oax] =平台(T,accel);Posmat (:,n) = pos;Vel2 = vel(1)²+ vel(2)²;V (n) =平方根(vel2);relPos = pos - originPos;rel2Pos = [relPos(1),relPos(2),0]';r =√(rel2Pos'*rel2Pos);R1 (n) = r;Accelmag = vel2/r;Accelmag = vs^2/r; unitvec = rel2Pos/r; accel = -accelmag*unitvec;结束

显示局部坐标系的最终方向。

disp (oax)
-0.3658 -0.9307 -0.0001 -0.3658 -0.0010 0.0009 -0.0005 1.0000

画出轨迹和原点位置

Posmat = Posmat /1000;图(1)plot3 (posmat (1:), posmat (2:), posmat (3:)“b”。)举行plot3 (originPos (1) / 1000, originPos (2) / 1000, originPos (3) / 1000,“罗”)包含(“X(公里)) ylabel (“Y”(公里)) zlabel (“Z(公里)”)栅格舱

这个例子显示了

从抛物线运动中创建路径点。

X0 = 100;Y0 = -150;Z0 = 0;Vx = 5;Vy = 10;Vz = 0;Ax = 1;Ay = -1;T = [0:2:20];X = x0 + vx*t + ax/2*t.^2; y = y0 + vy*t + ay/2*t.^2; z = z0*ones(size(t)); wpts = [t.' x.' y.' z.'];

创建一个使用路径点确定运动的平台对象。

PLTFM =阶段性。平台(“MotionModel”“自定义”“CustomTrajectory”wpt);Tstep = .5;Nsteps = 40;X = [];

以半秒的时间步长推进平台。

K = 1:nsteps [pos,vel] = pltfm(tstep);X = [X;pos'];结束情节(x, y,“o”);持有情节(X (: 1) X (:, 2),“。”)举行;

更多关于

全部展开

扩展功能

在R2012a中引入