exponenta event banner

Эталонные траектории для многообъектного отслеживания

В этом примере показано, как генерировать и визуализировать траектории нескольких самолетов с помощью radarScenario и waypointTrajectory.

Введение

Шесть траекторий самолета, смоделированных в этом примере, описаны в [1]. Летательный аппарат летит в устройстве, предназначенном для приема радаром, расположенным в месте происхождения.

Выбор интерполятора

Концептуально траектория - это кривая пространства, через которое объект перемещается как функция времени. Чтобы определить кривую, можно придумать кривую через пространство, которая проходит через набор точек, называемых ППМ, соединенных интерполяционной функцией, называемой интерполяцией. Интерполятор позволяет определить путь между ППМ с помощью непрерывной функции. Общими интерполяторами являются полиномиальные (например, кусочно-линейные или кубические сплайны). Для быстро изменяющейся траектории требуется большее количество ППМ для поддержания интерполированной кривой как можно ближе к истинной кривой; однако мы можем уменьшить количество требуемых точек, тщательно выбирая интерполяторы.

Многие модели движения, используемые в гусеничных фильтрах, состоят из профилей «постоянная скорость», «постоянный поворот» или «постоянное ускорение». Чтобы разместить эти модели движения, интерполятор, используемый в waypointTrajectory объект основан на кусочно-клотоидном сплайне (горизонтально) и кубическом сплайне (вертикально). Кривизна клотоидного сплайна линейно изменяется в зависимости от пройденного расстояния; это позволяет легко моделировать прямые и постоянные повороты, имея одну дополнительную степень свободы для плавного перехода между прямыми и кривыми сегментами. Аналогично, объекты в воздухе испытывают воздействие силы тяжести, следуя параболическому (квадратичному) пути. Наличие кубического сплайна для моделирования вертикальной отметки позволяет моделировать траекторию с аналогичной дополнительной степенью свободы.

Как только физический путь через пространство объекта известен (и установлен), скорость объекта как функция пройденного расстояния определяется посредством кубической эрмитовой интерполяции. Это полезно для моделирования траекторий объектов, которые ускоряются через витки или прямые сегменты.

Эталонные траектории, которые мы используем, состоят из прямых, постоянных поворотов и поворотов с ускорением.

Строительство ППМ

Следующий файл содержит таблицы ППМ и скоростей (в единицах метров и метров в секунду), которые могут быть использованы для реконструкции шести траекторий самолета. Загрузите его в MATLAB и проверьте таблицу, содержащую первую траекторию.

load('radarBenchmarkTrajectoryTables.mat', 'trajTable');
trajTable{1}
ans =

  14x3 table

    Time             Waypoints                     Velocities          
    _____    _________________________    _____________________________

        0    72947     29474     -1258     -258.9    -129.69          0
       60    57413     21695     -1258     -258.9    -129.66          0
       62    56905     21417     -1258     -245.3    -153.89          0
     78.1    54591     17566     -1258    -20.635    -288.86          0
       80    54573     17016     -1258    -2.8042    -289.59          0
       83    54571     16147     -1258     -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

Создание сценария

Таблица содержит набор ППМ и скоростей, через которые самолет проходит в соответствующее время.

Для использования контрольных точек можно создать сценарий с шестью платформами и назначить траекторию каждой:

scene = radarScenario('UpdateRate',10);

for n=1:6
    plat = platform(scene);
    traj = trajTable{n};
    plat.Trajectory = waypointTrajectory(traj.Waypoints, traj.Time, 'Velocities', traj.Velocities);
end

Визуализация траектории

После настройки сценария и плоттера можно настроить theaterPlot для создания анимированного вида местоположения самолета по мере прохождения времени.

helperPlot = helperBenchmarkPlotter(numel(scene.Platforms));

while advance(scene)
    % extract the pose of each of the six aircraft
    poses = platformPoses(scene);

    % update the plot
    update(helperPlot, poses, scene.SimulationTime);
end

Траектории, изображенные выше, являются трехмерными. Можно повернуть график так, чтобы отметка траекторий была легко видимой. Вы можете использовать view и axis команды для корректировки графика. Поскольку траектории используют систему координат NED (север-восток-вниз), отметка над землей имеет отрицательный компонент z.

view(60,10);
axis square
grid minor
set(gca,'ZDir','reverse');

Траектория 1

Может быть поучительным просматривать управляющие точки, используемые для формирования траекторий. На следующем рисунке показана первая траектория, представляющая большой самолёт.

Управляющие точки, используемые для построения траектории, отображаются на крайнем левом графике. Для обозначения изменений кривизны при постоянном повороте плоскости требуется лишь несколько ППМ.

Графики справа показывают высоту, величину скорости и величину ускорения соответственно. Скорость остается почти постоянной, несмотря на резкое изменение кривизны. Это является преимуществом использования клотоидного интерполятора.

[time, position, velocity, acceleration] = cumulativeHistory(helperPlot);
helperTrajectoryViewer(1, time, position, velocity, acceleration, trajTable);

Траектория 2

Вторая траектория, показанная ниже, представляет траекторию малого маневренного самолета. Состоит из двух поворотов, имеющих несколько изменений ускорения сразу после первого поворота и во время второго поворота. Для корректировки этих изменений требуется больше ППМ, однако остальная часть траектории требует меньшего количества точек.

helperTrajectoryViewer(2, time, position, velocity, acceleration, trajTable);

Траектория 3

Третья траектория, показанная ниже, представляет более скоростной самолет. Он состоит из двух постоянных витков, где самолет замедляется посередине на протяжении всего второго витка. На графике x-y слева можно увидеть контрольные точки, которые использовались для обозначения изменений скорости и ускорения.

helperTrajectoryViewer(3, time, position, velocity, acceleration, trajTable);

Траектория 4

Четвертая траектория, также представляющая более скоростной самолёт, показана ниже. Состоит из двух поворотов, где самолёт разгоняется и поднимается на большую высоту.

helperTrajectoryViewer(4, time, position, velocity, acceleration, trajTable);

Траектория 5

Пятая траектория - представитель маневренного скоростного самолета. Состоит из трёх постоянных витков; однако он значительно ускоряется на протяжении всего полета. После третьего разворота самолет поднимается в горизонтальный полет.

helperTrajectoryViewer(5, time, position, velocity, acceleration, trajTable);

Траектория 6

Шестая траектория также представляет маневренный скоростной самолет. Состоит из четырёх поворотов. После второго разворота самолет уменьшает высоту и скорость и входит в третий разворот. После третьего разворота быстро разгоняется и входит в четвёртый разворот, продолжая прямой и горизонтальный полёт.

helperTrajectoryViewer(6, time, position, velocity, acceleration, trajTable);

Резюме

В этом примере показано, как использовать waypointTrajectory и radarScenario для создания многообъектного сценария отслеживания. В этом примере вы изучили понятия, лежащие в основе интерполятора, используемого внутри waypointTrajectory и были продемонстрированы способы воспроизведения сценария с небольшим числом ППМ.

Ссылка

  1. W.D. Блэр, Г. А. Уотсон, Т. Кирубараджан, Я. Бар-Шалом, «Ориентир для распределения и отслеживания радаров в ECM». Аэрокосмические и электронные системы IEEE Trans on, том 34. № 4. 1998