主要内容

使用剧情可视化雷达场景

这个例子展示了如何使用剧情可视化雷达场景的各个方面。

介绍

剧情是可视化雷达场景各个方面的有效工具。它由主对象和绘图仪组成,主对象承载基于父轴的打印环境,绘图仪用于打印雷达场景中所需特征的各个方面。

这幅图显示了a的结构表示剧情对象。

属性指定启用剧场打印的轴。可以在对象创建期间指定剧场打印的父轴。如果未指定父轴,剧情创建新地物,并将所创建地物的当前轴用作其坐标轴属性。还可以使用设置父轴的轴限制XLimitsYLimits兹利米特属性,在创建对象期间使用名称-值对参数。设置每个轴的测量单位使用轴单元财产。

策划者属性包含添加到的绘图器剧情对象。

您可以在创建绘图仪期间为每个绘图仪指定视觉元素和效果。每个绘图仪还配有一个剧情对象函数,您需要调用它来绘制结果coveragePlotterplotCoverage显示传感器覆盖范围的对象函数。

本示例展示了几个用于可视化雷达场景的绘图仪。剧情能有效地工作吗雷达卫星即使你不需要雷达场景使用剧情对象。

创造剧情和雷达场景对象

创建一个雷达场景对象和剧情对象。

模拟持续时间=100;场景=雷达场景(“StopTime”,模拟持续时间);tp=剧场图(“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]));

然后添加一个轨迹绘图仪对象的剧情对象,并使用绘图轨迹函数来绘制路径点轨迹。

trajPlotter = trajectoryPlotter (tp,“DisplayName的”“轨迹”“颜色”“k”“线宽”, 1.2);plotTrajectory (trajPlotter {trajectory.Waypoints})

提示您可以使用一台绘图仪将多个相同类型的要素(平台、轨迹、方向、覆盖范围、检测或轨迹)一起绘制。例如,您可以通过将航路点的单元格数组指定为绘图轨迹函数的语法说明绘图轨迹更多细节。

为目标平台定义绘图器。

目标绘图仪=平台绘图仪(tp,“DisplayName的”“目标”...“标记”“年代”“MarkerEdgeColor”‘g’“MarkerSize”,2);绘图平台(targetPlotter,target.Position,...target.Dimensions,四元数(target.Orientation“rotvecd”))

您可以添加图形对象,而不是计算机上的绘图仪对象剧情直接在父轴上绘图剧情对象。在原点放置一个圆圈标记。

持有在…上图3(tp.父对象,0,0,0,“颜色”“k”“标记”“哦”“MarkerSize”,4)

创建一个安装有雷达传感器的平台

在场景中添加一个塔平台。

塔=平台(场景,“位置”(-100, 0, 0),“维度”...结构(“长度”5.“宽度”5.“高度”,30,“OriginOffset”,[0 0 -15]));

使用平台绘图仪显示塔。

towerPlotter = platformPlotter (tp,“DisplayName的”“塔”“标记”“年代”“MarkerSize”,2);绘图平台(塔式绘图仪,塔。位置,塔。尺寸,四元数(塔。方向,“rotvecd”))

在塔顶安装单站雷达。

雷达= radarDataGenerator (1,“检测模式”“单稳态”...“更新”5....“安装位置”,[0, 0, 30],...“视野”(4, 30),...“MechanicalAzimuthLimits”, 60 [-60],...“机械蒸发限制”[0 0],...“HasElevation”,真的,...“RangeResolution”, 200,...“方位角解”, 20岁,...“ElevationResolution”, 20);塔。传感器=雷达;

添加coveragePlotter并绘制单基地雷达的覆盖范围和初始波束。当绘制覆盖范围时plotCoverage对象函数需要第二个参数来指定传感器覆盖的配置。通过配置文件获取配置信息coverageConfig雷达场景中的功能场景

radarPlotter = coveragePlotter (tp,“颜色”“b”“DisplayName的”“雷达波束”);plotCoverage (radarPlotter coverageConfig(场景)

创建检测绘图仪以绘制雷达生成的检测。

绘图仪=检测绘图仪(tp,“DisplayName的”“检测”“MarkerFaceColor”“r”“MarkerSize”4);

运行场景并更新剧场情节

迭代雷达场景并生成雷达检测。绘制平台、雷达覆盖和探测图。

rng (2019)%对于可重复的结果虽然推进(场景)%的阴谋的目标。plotPlatform (targetPlotter目标。的位置,...target.Dimensions,四元数(target.Orientation“rotvecd”))%绘图传感器覆盖范围。plotCoverage (radarPlotter coverageConfig(场景)%从塔视图中提取目标姿态并使用所提取的姿态生成检测。poseInTower = targetPoses(塔);[detections, numDets] =雷达(poseInTower,scene.SimulationTime);detPos = 0 (numDets, 3);detNoise = 0 (3 3 numDets);获取相对于场景帧的检测位姿。此外,获得%检测协方差。i=1:numDets a =检测;detPos(i,:) = tower.Trajectory.Position + detections{i}.Measurement';detNoise(:,:我)={我}.MeasurementNoise技术;结束%用协方差椭圆绘制任何生成的检测。如果~ isempty (detPos) plotDetection (detPlotter、detPos detNoise)结束结束

图中包含一个Axis对象。Axis对象包含7个line、patch类型的对象。这些对象表示轨迹、目标、塔楼、雷达波束和探测。

您可以放大图中的检测,以可视化生成检测的绘制协方差椭圆。

总结

在这个例子中,您学习了一个剧情对象。您还学习了如何使用剧情对象。