使用theaterPlot
雷达可视化场景
这个例子展示了如何使用theaterPlot
对象可视化雷达场景的各个方面。
介绍
theaterPlot
是一种有效的工具来可视化雷达场景的各个方面。它是由一个主对象,哪些主机绘图环境基于父轴,和绘图仪绘制雷达的场景所需的各方面的特征。
这幅图显示了结构的表示theaterPlot
对象。
的父
属性指定的轴戏剧情节是启用。您可以指定父轴在对象创建的戏剧情节。如果你不指定一个父轴,theaterPlot
创建一个新的图,并使用当前的轴图的创建父
财产。你也可以设置父轴的轴的限制使用XLimits
,YLimits
,Zlimits
在对象创建属性通过使用名称-值参数。设置每个轴使用的度量单位AxesUnits
财产。
的策划者
添加到属性持有策划者theaterPlot
对象。
platformPlotter
——情节平台在雷达的情况下trajectoryPlotter
——情节轨迹在雷达的情况下orientationPlotter
——情节定位雷达平台的场景coveragePlotter
——情节传感器覆盖和传感器在雷达的情况下detectionPlotter
——情节传感器探测雷达的场景trackPlotter
——情节跟踪雷达的场景surfacePlotter
——情节表面在雷达的情况下
您可以指定每个绘图机视觉元素和效果在绘图仪的创建。每个绘图机还搭配了一个theaterPlot
目标函数,您需要调用绘制结果。例如,一个coveragePlotter
搭配一个plotCoverage
目标函数显示传感器覆盖。
这个例子展示了几个策划者可视化雷达的场景。theaterPlot
可以有效工作吗radarScenario
对象即使你不一定需要一个雷达场景
对象使用theaterPlot
对象。
创建theaterPlot
和雷达场景
对象
创建一个雷达场景
对象和一个theaterPlot
对象。
simulationDuration = 100;现场= radarScenario (“StopTime”,simulationDuration);tp = theaterPlot (“XLimits”(-250 250),“YLimits”(-250 250),“ZLimits”120年[0]);网格视图(3);在;
为目标创建轨迹绘图仪和平台绘图仪
创建一个路径轨迹为目标平台。
timeOfArrival = [0 simulationDuration];路点= [100 -100 10;100 100 80];轨迹= waypointTrajectory(锚点,timeOfArrival);
添加一个长方体目标平台,遵循指定的轨迹。第一个目标平台添加到雷达的场景。
目标=平台(场景,“轨迹”轨迹,“维度”,…结构(“长度”,35岁,“宽度”15岁的“高度”,5.5,“OriginOffset”,0 0 0));
然后添加一个trajectoryPlotter
对象的theaterPlot
对象,并使用plotTrajectory
函数来绘制路径轨迹。
trajPlotter = trajectoryPlotter (tp,“DisplayName的”,“轨迹”,“颜色”,“k”,“线宽”,1.2);plotTrajectory (trajPlotter {trajectory.Waypoints})
提示您可以绘制多个相同类型的特性(平台、轨迹方向,保险、检测或跟踪)一起使用一个绘图机。例如,您可以绘制多个轨迹一起通过指定单元阵列的路径点的第二个参数plotTrajectory
函数。看到的语法描述plotTrajectory
为更多的细节。
定义一个绘图机为目标平台。
targetPlotter = platformPlotter (tp,“DisplayName的”,“目标”,…“标记”,“年代”,“MarkerEdgeColor”,‘g’,“MarkerSize”2);plotPlatform (targetPlotter target.Position,…target.Dimensions,四元数(target.Orientation“rotvecd”))
您可以添加图形对象以外的绘图仪对象上theaterPlot
通过直接策划的父轴theaterPlot
对象。把一个圆标记在原点。
持有在plot3 (tp.Parent, 0, 0, 0,“颜色”,“k”,“标记”,“o”,“MarkerSize”4)
创建平台安装雷达传感器
塔平台添加到场景。
塔=平台(场景,“位置”(-100,0,0),“维度”,…结构(“长度”5,“宽度”5,“高度”30岁的“OriginOffset”[0 0 -15)));
显示塔绘图仪使用平台。
towerPlotter = platformPlotter (tp,“DisplayName的”,“塔”,“标记”,“年代”,“MarkerSize”2);plotPlatform (towerPlotter tower.Position tower.Dimensions,四元数(tower.Orientation,“rotvecd”))
山塔顶的单站雷达。
雷达= radarDataGenerator (1,“DetectionMode”,“单站”,…“UpdateRate”5,…“MountingLocation”(0,0,30),…“FieldOfView”(4,30),…“MechanicalAzimuthLimits”,60 [-60],…“MechanicalElevationLimits”[0 0],…“HasElevation”,真的,…“RangeResolution”,200,…“AzimuthResolution”,20岁,…“ElevationResolution”,20);塔。传感器=雷达;
添加一个coveragePlotter
和情节的覆盖率和初始光束单站雷达。当策划报道,plotCoverage
目标函数需要一个第二个参数指定的配置传感器覆盖。通过使用获得的配置coverageConfig
函数在雷达的场景场景
。
radarPlotter = coveragePlotter (tp,“颜色”,“b”,“DisplayName的”,“雷达波束”);plotCoverage (radarPlotter coverageConfig(场景)
创建一个检测绘图仪绘制雷达产生的检测。
detPlotter = detectionPlotter (tp,“DisplayName的”,“检测”,“MarkerFaceColor”,“r”,“MarkerSize”4);
运行场景和更新戏剧情节
遍历并生成雷达探测雷达场景。情节的平台、雷达覆盖和检测。
rng (2019)%的可重复的结果而推进(场景)%的阴谋的目标。plotPlatform (targetPlotter target.Position,…target.Dimensions,四元数(target.Orientation“rotvecd”))%绘制传感器覆盖。plotCoverage (radarPlotter coverageConfig(场景)%从视图中提取目标构成的塔和使用提取的%对生成检测。poseInTower = targetPoses(塔);[检测,numDets] =雷达(poseInTower scene.SimulationTime);detPos = 0 (numDets, 3);detNoise = 0 (3 3 numDets);%获得检测相对于场景框架构成。此外,获得%的协方差检测。为i = 1: numDets =检测;detPos(我)= tower.Trajectory。位置+检测{我}.Measurement ';detNoise(:,:我)={我}.MeasurementNoise技术;结束%的阴谋与协方差椭圆任何生成的检测。如果~ isempty (detPos) plotDetection (detPlotter、detPos detNoise)结束结束
你可以放大检测的协方差图来可视化绘制椭圆生成的检测。
总结
在这个示例中,您了解了组织的theaterPlot
对象。您还了解了如何想象一个简单的雷达场景使用theaterPlot
对象。