Проектирование и моделирование сценария отслеживания с помощью Tracking Scenario Designer

В этом примере показано, как использовать trackingScenarioDesigner с существующим файлом сеанса. Используя приложение, можно добавлять, изменять или удалять платформы, моностатические радарные датчики и траектории всех объектов в сценарии. Можно также экспортировать сценарий как скрипт MATLAB для последующего анализа.

Введение

Цель отслеживания объектов состоит в том, чтобы определить состояние объекта в присутствии нечастых или неопределенных измерений. В случае нескольких объектов алгоритмы отслеживания должны также решить проблему ассоциации данных. Чтобы протестировать эти алгоритмы, сценарий отслеживания может использоваться, чтобы синтетически сгенерировать реалистичные обнаружения объектов в трехмерной сцене.

Этот пример моделирует сценарий, в котором радиолокационная башня, оснащенная моностатическим радарным датчиком, сканирует небо. На расстоянии, удаленном от датчика, два самолета летают в непосредственной близости друг от друга в течение короткой длительности времени. Близкий интервал между траекториями самолета и их расстояния от радиолокационной башни бросают вызов способности радара правильно разрешить эти два объекта. Этот сценарий описан более подробно в примере отслеживания тесно расположенных целей под неоднозначностью.

Запуск Tracking Scenario Designer

Матрица TSD_TrackingCloselySpacedTargets был ранее сохранен с сеансом сценария отслеживания. Чтобы запустить приложение и загрузить файл сеанса, используйте команду:

trackingScenarioDesigner('TSD_TrackingCloselySpacedTargets.mat')

Приложение откроется и загрузит сценарий. Приложение Tracking Scenario Designer состоит из панели инструментов и трех групп документов:

  • Панели Свойств платформы и Свойств датчика слева

  • Полотно платформы и полотно датчика в центре

  • Вид сценария, показывающий трехмерный вид мира справа

Отредактируйте и измените сценарий

Красная плоскость

Выберите красную цветную плоскость, нажав на нее на холсте платформы.

Смотрите его траекторию с помощью Таблицы траекторий и графика Высота-время

В панели свойств (фиолетовая) обратите внимание, что плоскость моделируется как точечный объект, длина, ширина и размерности высоты которого равны нулю. По умолчанию его радарное сечение составляет 10 дБсм.

Нажмите кнопку «Таблица траектории» (красная) на панели инструментов, чтобы отобразить список путевых точек для этой плоскости. Таблица траектории появится в нижнем центре приложения.

Нажмите кнопку Time-Altitude Графика (зеленый) на панели инструментов, чтобы отобразить профиль повышения этой плоскости. График появляется на той же вкладке, что и Холст Платформы.

Обратите внимание, что самолет летит на высоте 3000 м с наземной скоростью 83,33 м/с. Длительность траектории - 50-е годы.

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

Для оставшейся части этого примера мы используем предопределенную траекторию в файле сеанса.

Башня

Выберите платформу башни, нажав на платформу на холсте платформы или выбрав платформу башни из списка Текущая платформа на вкладке Свойства платформы.

При выборе платформы Sensor Properties и Sensor Canvas для башенной платформы становятся активными.

Наблюдайте свойства моностатического радарного датчика в панели (желтый). Радар имеет частоту обновления 100 Гц, и область значений скана 40 степеней по азимуту и 10 степени по повышению. Его поле зрения составляет 1,5 ° по азимуту и 10 ° по повышению. Обратите внимание, что мы используем 10.001 def, чтобы убедиться, что луч не в точности соответствует размеру области значений скана повышения, и в этом случае радар будет сдвигаться дважды по повышению.

Обратите внимание, что по умолчанию система координат платформы является NED (North-East-Down). Также место установки датчика определяется как X = 0, Y = 0, Z = -15 чтобы убедиться, что радар расположен в верхней части башни высотой 15 м.

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

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

Кроме того, можно выбрать новый датчик в галерее toolstrip и смонтировать его на башне, или добавить новую платформу в сцене с помощью галереи платформ, а затем смонтировать на ней новый датчик. Это показано на GIF ниже.

Симулируйте сценарий

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

Щелкните Запуском, чтобы запустить симуляцию. Кроме того, используйте раскрывающийся список, чтобы выбрать Запуск Без обнаружений (Without Detections), чтобы симулировать только основная истина.

Приложение переходит в режим симуляции, и симуляция начинается автоматически. Вы увидите две плоскости, движущиеся по их траекториям. Когда самолет обнаруживается башней, вы можете увидеть темно-фиолетовый маркер показа в момент обнаружения.

Чтобы лучше наблюдать сцену, можно использовать панель инструментов осей, чтобы быстро перемещаться между видами X-Y, X-Z или Y-Z. Кроме того, можно включить и выключить график покрытия датчика, линии траектории, проекцию наземной плоскости и индикатор ориентации.

.

Управление воспроизведением и полоса прокрутки времени

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

Временная полоса прокрутки расположена в нижней части представления сценария. Он представляет текущее состояние симуляции, а также текущее время отображения.

Светло-синий индикатор прогресса показывает прогресс в симуляции данных сценария. Более темный синий прямоугольник ползунок показывает прогресс анимации сценария.

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

Пройдите симуляцию и наблюдайте, что радар генерирует одно обнаружение на свип между t = 19.30 s и t = 20.50 s. Это область неоднозначности, где две плоскости не могут быть разрешены радаром.

Экспорт в MATLAB

Чтобы просмотреть и изменить код, используемый для разработки сценария, можно экспортировать сценарий как скрипт MATLAB. Используйте скрипт для добавления трекеров и программного взаимодействия со сценарием.

Щелкните Экспортом, чтобы просмотреть эквивалентный скрипт, который создает сценарий.

После нажатия кнопки Экспорт вы увидите скрипт, который можно сохранить в имя файла по вашему выбору. Текущие углы 3D представления представления сценария также экспортируются в скрипт.

Запуск сгенерированного скрипта

Визуализация целей и обнаружений

Как только скрипт сохранен, можно запустить его и наблюдать анимированный театральный график в MATLAB.

Отредактируйте сгенерированный скрипт для отслеживания

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

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

Сгенерированный скрипт из Tracking Scenario Designer имеет несколько комментариев, которые указывают, где добавить больше кода.

1) Сконфигурируйте trackerJPDA

% Configure your tracker here:
numTracks = 20;
gate = 45;
vol = 1e9;
beta = 1e-14;
pd = 0.8;
far = 1e-6;
 
tracker = trackerJPDA(...
    'FilterInitializationFcn',@initCVFilter,...
    'MaxNumTracks', numTracks, ...
    'MaxNumSensors', 1, ...
    'AssignmentThreshold',gate, ...
    'TrackLogic','Integrated',...
    'DetectionProbability', pd, ...
    'ClutterDensity', far/vol, ...
    'NewTargetDensity', beta,...
    'TimeTolerance',0.05);

2) Задайте график дорожки

% Add a trackPlotter here:
trackp = trackPlotter(tp,'DisplayName','Tracks','ConnectHistory','on','ColorizeHistory','on');

3) Задайте буфер для обнаружений перед циклом

% Main simulation loop
detBuffer = {};

4) Обновите трекер в цикле

% Update your tracker here:
detBuffer = [detBuffer; dets]; %#ok<AGROW>
if configs.IsScanDone
    tracks = tracker(detBuffer,scenario.SimulationTime);
    pos = getTrackPositions(tracks,[1 0 0 0 0 0; 0 0 1 0 0 0 ; 0 0 0 0 1 0]);
    labels = string([tracks.TrackID]);
    detBuffer = {};
end

4) Обновление трека плоттера

% Update the trackPlotter here:
if configs.IsScanDone
    trackp.plotTrack(pos,labels);
end

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

Наблюдайте анимацию отслеживания, перезапуская скрипт с вышеописанными сложениями. Теперь вы визуализируете дорожки двух плоскостей.

Сводные данные

В этом примере для загрузки файла сеанса сценария отслеживания используется приложение Tracking Scenario Designer. Вы также научились перемещаться в приложении и моделировать сценарий. В сценарии два самолета обнаруживаются одним радаром. В течение фрагмента времени два самолета находятся так близко, что радар не может их разрешить. Вы научились экспортировать сценарий в скрипт MATLAB, чтобы перезапустить симуляцию и как изменить скрипт, чтобы добавить трекер JPDA.