Спроектируйте и симулируйте сценарий отслеживания с Tracking Scenario Designer

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

Введение

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

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

Запустите Tracking Scenario Designer

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

trackingScenarioDesigner('TSD_TrackingCloselySpacedTargets.mat')

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

  • Platform Properties и панели Sensor Properties слева

  • Холст платформы и Холст Датчика в центре

  • Представление сценария, показывающее 3D мировоззрение справа

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

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

Выберите красную плоскость путем нажатия на него в Холсте Платформы.

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

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

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

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

Заметьте, что самолет управляет уровнем на высоте 3 000 м со скоростью относительно земли 83,33 м/с. Длительность траектории является 50-ми.

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

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

Башня

Выберите платформу мачты путем нажатия на платформу на Холсте Платформы или путем выбора платформы мачты из Текущего списка Платформ во вкладке Platform Properties.

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

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

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

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

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

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

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

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

Нажмите Run, чтобы запустить симуляцию. В качестве альтернативы используйте выпадающее, чтобы выбрать Run Without Detections, чтобы симулировать основную истину только.

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

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

.

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

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

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

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

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

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

Экспортируйте в MATLAB

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

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

После нажатия Export вы будете видеть скрипт, который может быть сохранен в имя файла по вашему выбору. Текущие 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.