用于多目标跟踪的基准轨迹

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

介绍

本例中所建模的六种飞行器轨迹用[1]描述。飞机按照预定的安排飞行,由位于起源地的雷达接收。

选择Interpolant

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

在跟踪滤波器中使用的许多运动模型由“等速”,“恒定导”或“恒定加速度”型材。为了适应这些运动模型,在所使用的插值waypointTrajectory目的是基于一个分段回旋花键(水平)和三次样条(垂直地)。回旋花键的曲率相对于行进的距离线性地变化;这让我们直接和不断的轮流轻松建模,具有直线和曲线段之间平滑过渡一个额外的自由度。类似地,在空气中经历的对象的重力的影响,以下抛物线(二次)路径。有一个三次样条垂直高程模型可以让我们的路径与自由的类似的额外度模型。

一旦通过是已知的(和组)的对象的空间的物理路径,将对象作为距离的函数的速度行进通过三次Hermite插值来确定。这是建模,通过转弯或直线段加速物体的运动轨迹是有用的。

我们使用的基准轨迹由直线、恒定的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 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.880 147.8 63328 6909.9 -1258 273.76 94.76 0 185 73508 10435 -1258 273.62 94.76 0

情景生成

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

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

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

轨迹可视化

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

helperPlot = helperBenchmarkPlotter(numel(scene.Platforms));推进(场景)%提取每个六架飞机的姿态姿势= platformPoses(场景);%更新剧情更新(helperPlot,姿势,scene.SimulationTime);结束

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

视图(60,10);轴广场次要集(GCA,'ZDir',“反向”);

轨道1

它可能是有益的,以查看用于产生轨迹的控制点。下图显示了第一轨迹,它是代表一个大飞机。

用于构建路径中的控制点绘制在最左边的情节。只需要几个航点的飞机需要一个恒定导,以纪念曲率的变化。

右边的曲线图分别示出了高度,速度(速度)的大小和加速度的大小。速度保持几乎不变,尽管各地的曲率的突然变化。这是使用回旋插值的优势。

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

轨道2

第二轨迹,如下所示,表示小机动飞行器的轨迹。它由两匝的,紧接在第一圈和第二转弯时具有的加速度数的变化。需要更多的航点来调整这些变化,然而轨迹的其余部分需要更少点。

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

轨迹3

第三轨迹,以下所示是代表更高的速度飞机。它由两个固定圈,其中飞机减速整个第二轮中途的。你可以看到,被用来标记在左边的X-Y情节速度和加速度变化的控制点。

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

轨迹4

第四轨道,也代表了高速飞机,如下图所示。它包括两个转弯,在那里飞机加速和爬升到一个更高的高度。

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

轨迹5

第五弹道是机动性高速飞机的代表。它由三个恒定的转弯组成;然而,它在整个飞行过程中大大加速。在第三次转弯后,飞机上升到水平飞行。

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

轨道6

第六轨迹也代表一个机动高速飞机。它包括四个圈。第二转动后的飞机降低高度和速度,并进入第三转弯。第三轮后,它迅速地加速和进入第四转,直和水平飞行持续。

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

摘要

这个例子说明如何使用waypointTrajectorytrackingScenario创建一个多对象跟踪场景。在本例中,您学习了内部使用的插值表达式背后的概念waypointTrajectory并展示了如何设想可以用少量的航点的再现。

参考

  1. 在ECM中雷达分配与追踪的基准。Aerospace and Electronic Systems IEEE Trans on, vol. 34. no. 4. 1998