主要内容

多目标跟踪的基准轨迹

这个例子展示了如何生成和可视化的轨迹的多架飞机使用trackingScenariowaypointTrajectory

介绍

在这个例子中建模的六架飞机的轨迹在[1]中描述。飞机的飞行布置是为了被位于原点的雷达接收到。

选择Interpolant

从概念上讲,轨迹是物体在空间中以时间函数的形式移动的曲线。要定义曲线,你可以想象一条穿过空间的曲线,它通过一组点,称为路点由一个内插函数连接interpolant.插值允许你通过连续函数定义路径点之间的路径。常见的插值是基于多项式的(例如,分段线性或三次样条)。对于快速变化的轨迹,需要更多的路点来保持插值曲线尽可能接近真实曲线;然而,我们可以通过仔细选择插值来减少所需的点数。

在轨迹过滤器中使用的许多运动模型包括“恒定速度”、“恒定转弯”或“恒定加速度”轮廓。为了适应这些运动模型,在waypointTrajectory对象基于分段回旋样条线(水平)和三次样条线(垂直)。回旋样条曲线的曲率随行驶距离线性变化;这使我们能够轻松地模拟直线和恒定转弯,并有一个额外的自由度在直线段和曲线段之间平滑过渡。类似地,空气中的物体也会受到重力的影响,沿着抛物线(二次)路径运动。使用三次样条曲线对垂直高程进行建模,使我们能够以类似的额外自由度对路径进行建模。

一旦物体通过空间的物理路径已知(并设定),物体的速度作为距离的函数就可以通过三次埃尔米特插值来确定。这对于通过转弯或直线段加速的物体的轨迹建模是有用的。

我们使用的基准轨迹包括直线、常数g转弯和带有加速度的转弯。

路标建设

以下文件包含航路点和速度(以米和米每秒为单位)的表格,可以用来重建六架飞机的轨迹。将其加载到MATLAB中,并检查包含第一个轨迹的表。

负载(“benchmarkTrajectoryTables.mat”“trajTable”);trajTable {1}
ans = 14 x3表时间路径点速度  _____ _________________________ _____________________________ 0 0 60 57413 21695 -1258 72947 29474 -1258 -258.9 -129.69 -258.9 -129.66 0 62 56905 21417 -1258 -245.3 -153.89 78.1 -20.635 - -288.86 54591 17566 -1258 0 80 54573 17016 0 83 54571 16147 -1258 -1258 -2.8042 -289.59 -0.061 - -289.56 0 110 54571 8329-1258 0 -289.56 0 112.7 54634 7551.5 -1258 58.979 -283.56 0 120 55718 5785.5 -1258 226.41 -180.59 0 129 58170 5172.8 -1258 284.74 52.88 0 132 59004 5413.9 -1258 274.26 93.05 0 137.8 60592 5962.2 -1258 273.62 94.76 0 147.8 63328 6909.9 -1258 273.62 94.76 0 185 73508 10435 -1258 273.62 94.76 0

场景一代

该表包含一组航路点和飞机在相应时间通过的速度。

为了使用控制点,您可以创建一个有六个平台的场景,并为每个平台分配一个轨迹:

现场= trackingScenario (“UpdateRate”10);N =1:6 plat = platform(场景);traj = trajTable {n};平台。轨迹= waypointTrajectory (traj。锚点,traj。时间,“速度”, traj.Velocities);结束

轨迹可视化

一旦你有了场景和绘图仪,你可以建立一个theaterPlot创建随时间推移的飞机位置的动画视图。

helperPlot = helperBenchmarkPlotter(元素个数(scene.Platforms));推进(场景)提取六架飞机每架的姿态提出了= platformPoses(现场);%更新图更新(helperPlot,姿势,scene.SimulationTime);结束

上面绘制的轨迹是三维的。您可以旋转绘图,以便轨迹的高程很容易看到。你可以使用视图用于调整绘图的命令。由于轨迹使用NED(东北-向下)坐标系统,地面上的高程具有负z分量。

视图(60,10);轴广场网格集(gca),“ZDir”“反向”);

轨道1

查看用于生成轨迹的控制点可能具有指导意义。下图显示了第一个轨迹,它代表了一架大型飞机。

用于构建路径的控制点绘制在最左边的图上。当飞机不断转弯时,只需要几个航路点来标记曲率的变化。

右边的曲线图分别显示了高度、速度(速度)和加速度。尽管曲率发生了突变,但速度始终保持不变。这是使用回旋插值的一个优点。

[时间,位置,速度,加速度]=累计历史(helperPlot);helperTrajectoryViewer(1,时间,位置,速度,加速度,trajTable);

轨道2

第二个轨迹,如下所示,代表了一个小型机动飞机的轨迹。它由两个弯组成,在第一个弯之后和第二个弯中有几个加速度变化。需要更多的路径点来调整这些变化,然而轨迹的其余部分需要更少的点。

helperTrajectoryViewer(2,时间,位置,速度,加速度,trajTable);

轨迹3

下面显示的第三条轨迹代表了一架高速飞机。它包括两个固定的转弯,飞机在第二个转弯的中途减速。在左边的x-y图中,您可以看到用于标记速度和加速度变化的控制点。

helperTrajectoryViewer(3,时间,位置,速度,加速度,trajTable);

轨迹4

第四轨道,也代表了一个更高速度的飞机,如下所示。它包括两个转弯,在这个过程中飞机加速并爬升到更高的高度。

helperTrajectoryViewer(4,时间,位置,速度,加速度,trajTable);

轨迹5

第五种轨迹代表了可机动的高速飞行器。它由三圈不变的圈组成;然而,它在整个飞行过程中大大加速。第三圈后,飞机上升到水平飞行状态。

helperTrajectoryViewer(5,时间,位置,速度,加速度,trajTable);

轨道6

第六轨道也是具有机动性的高速飞行器的代表。它由四圈组成。第二个转弯后,飞机降低高度和速度,进入第三个转弯。在第三圈之后,它迅速加速进入第四圈,继续直线和水平飞行。

helperTrajectoryViewer(6,时间,位置,速度,加速度,trajTable);

总结

这个例子展示了如何使用waypointTrajectorytrackingScenario创建一个多对象跟踪场景。在这个例子中,你学习了内插的概念waypointTrajectory并展示了如何用少量的路标重现场景。

参考

  1. W.D. Blair, G. A. Watson, T. Kirubarajan, Y. Bar-Shalom,“电子对抗雷达分配和跟踪基准”。航空航天与电子系统,第34卷。不。4.1998