主要内容

多目标跟踪的基准轨迹

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

介绍

本例中建模的六个飞行器轨迹在[1]中描述。飞机以一种被位于原点的雷达接收的方式飞行。

插值器的选择

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

在轨道滤波器中使用的许多运动模型包括“恒定速度”、“恒定转弯”或“恒定加速度”配置文件。为了适应这些运动模型,在模型中使用了插值waypointTrajectory对象基于分段环状样条(水平)和三次样条(垂直)。曲线样条的曲率随距离线性变化;这让我们可以轻松地建模直线和恒定的转弯,有一个额外的自由度在直线和曲线段之间平滑过渡。同样,空气中的物体也会受到重力的影响,沿着抛物线(二次)路径飞行。使用三次样条来建模垂直高度,可以让我们用类似的额外自由度来建模路径。

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

我们使用的基准轨迹包括直转弯、恒g转弯和加速转弯。

路标建设

下面的文件包含路径点和速度(以米和米每秒为单位)的表格,可用于重建6架飞机的轨迹。将其加载到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 112.7 -289.56 -289.56 110 54571 8329 -1258 0 0 0 120 55718 54634 7551.5 -1258 58.979 -283.56 5785.5 226.41 - -180.59 -1258 0 0 132 59004 129 58170 5172.8 -1258 284.74 - 52.885413.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

场景一代

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

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

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

轨迹可视化

设置好场景和绘图仪后,可以设置一个theaterPlot随着时间的推移,创建飞机位置的动画视图。

helpplot = helpbenchmarkplotter(数字(scene.Platforms));推进(场景)提取六架飞机中的每一架的姿态姿势=平台姿势(场景);%更新绘图更新(helpplot, pose, scene.SimulationTime);结束

上面绘制的轨迹是三维的。您可以旋转绘图,以便轨迹的高度很容易看到。您可以使用视图而且命令调整情节。因为轨迹使用NED(东北向下)坐标系,地面上的高度有一个负z分量。

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

轨道1

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

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

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

[时间,位置,速度,加速度]=累积历史(helpplot);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);

总结

这个例子展示了如何使用waypointTrajectory而且trackingScenario创建一个多对象跟踪场景。在本例中,您了解了内部使用的插值器背后的概念waypointTrajectory并向他们展示了如何用少量的路径点再现一个场景。

参考

  1. W.D. Blair, g.a. Watson, T. Kirubarajan, Y. Bar-Shalom,“ECM中雷达分配和跟踪的基准。”航空航天和电子系统IEEE通论,第34卷。不。4.1998