В этом примере показано, как к отслеживаемым объектам в Simulink® с Sensor Fusion and Tracking Toolbox™, когда ассоциация обнаружений датчика к дорожкам неоднозначна. Это сопровождает Отслеживающие Близко расположенные Цели Под примером Ambiguity MATLAB®.
Датчики сообщают об одном обнаружении для нескольких целей, когда цели так близко расположены, что датчики не могут разрешить их пространственно. Этот пример иллюстрирует рабочий процесс в Simulink для отслеживания целей под такой неоднозначностью со средствами отслеживания объединенной вероятностной ассоциации данных (JPDA) и глобальным самым близким соседом (GNN).
До выполнения этого примера сценарий был сгенерирован как описано в Отслеживании Близко расположенных Целей Под Неоднозначностью. Обнаружение и данные времени из этого сценария были затем сохранены в файл сценария CloselySpacedData.
циновка. Чтобы симулировать модель, откройте TrackingCloselySpacedTargetSimulinkExample.slx
прикрепленный файл в Simulink.
Блок DataLogReader реализован как блок MATLAB System. Код для блока задан классом помощника, HelperDataLogReader. Блок считывает записанные данные из файла CloselySpacedData.mat и выводит обнаружение и время для каждой метки времени.
Блок Trackers является различным блоком подсистемы, который имеет четыре подсистемы, заданные внутренне. Каждая подсистема имеет различную настройку отслеживания алгоритма, заданного в ней. Вы используете комбинацию trackerGNN
и trackerJPDA
с двумя различными моделями движения.
Первая модель движения является постоянной скоростной моделью с расширенным фильтром Калмана. helperCVFilter
функция изменяет фильтр initcvekf
возвращается, чтобы допускать более высокую неопределенность в скоростных условиях и более высокое горизонтальное ускорение в шуме процесса.
Вторая модель движения является фильтром взаимодействующей многоуровневой модели (IMM), который позволяет вам рассматривать две или больше модели движения для целей. Фильтр переключается на правильное основанное на модели на вероятности одной модели по другому, учитывая измерения. В этом примере цели перемещаются в постоянную скорость, пока они не поворачиваются на постоянном уровне. Поэтому вы задаете фильтр IMM с постоянной скоростной моделью и постоянной моделью угловой скорости вращения использование helperIMMFilter
функция.
Можно запустить различные настройки путем изменения значения условной переменной 'Средство отслеживания' в рабочей области как показано в вышеупомянутой таблице. Можно также использовать Поиск и Редактирование Используя Model Explorer (Simulink) как показано ниже, чтобы изменить значение 'Средства отслеживания'.
TrackAssignmentMetrics реализован с помощью блока MATLAB System. Код для блока задан классом помощника, HelperTrackAssignmentMetrics
.
Блок визуализации реализован с помощью блока MATLAB System. Код для блока задан классом помощника, HelperDetectionAndTrackDisplay
.
Блок подсистемы варианта средств отслеживания получает обнаружения как объект шины с временными стоимостями и выводит дорожки как объект шины с блоком визуализации. Можно визуализировать структуру каждой шины с помощью Редактора Шины. Следующие изображения показывают структуру шины для обнаружений и дорожек.
detectionBus
выводит вложенный объект шины с 2 элементами, NumDetections
и Detections
.
Первый элемент Detections
объект шины фиксированного размера, представляющего все обнаружения. Второй элемент, NumDetections
, представляет количество обнаружений. Вы найдете, что структура шины похожа на objectDetection
класс.
Шина дорожки похожа на шину обнаружений. Это - вложенная шина, где NumTracks
задает количество дорожек в шине и Tracks
задайте фиксированный размер дорожек. Размером дорожек управляют параметры блоков Maximum number of tracks
. Фигура ниже показов настройка дорожек соединяет шиной объект для trackerGNN. Настройка объекта шины дорожек для trackerJPDA подобна.
Второй элемент Tracks
объект шины, заданный trackBus_GNNTracks
для trackerGNN настройки. Эта шина автоматически создается блоком средства отслеживания при помощи имени шины, заданного как префикс. Вы найдете, что структура шины похожа на objectTrack
класс.
Настройка средства отслеживания в блоке подсистемы варианта Trackers похожа на ту из Отслеживающих Близко расположенных Целей Под примером Ambiguity MATLAB®.
Можно также использовать trackerGNN
и trackerJPDA
блокируйтесь в моделях Simulink® для симуляции через интерпретированное выполнение или генерацию кода. С интерпретированным выполнением модель симулирует блок с помощью механизма выполнения MATLAB®, который позволяет более быстрое время запуска. С генерацией кода модель использует подмножество кода MATLAB, поддержанного для генерации кода, которая позволяет лучшую производительность, чем интерпретированное выполнение.
После выполнения модели можно визуализировать результаты на фигурах.
Вышеупомянутые результаты достигаются от первой настройки где Tracker = 1
в рабочей области MATLAB®. Эти результаты показывают, что существует два объекта истины, но три дорожки были сгенерированы средством отслеживания. Одна из дорожек не выжила до конца сценария. В конце сценария истина возражает 1, был сопоставлен с дорожкой 8. Отследите 8, был создан на полпути через сценарий после того, как дорожка 2 была пропущена. Объект Truth 2 был присвоен, отслеживают 1 в конце сценария, но это имеет два пропуска.
Вышеупомянутые результаты достигаются от второй настройки где Tracker = 2
в рабочей области MATLAB®. Фильтр IMM включает trackerGNN
отслеживать маневрирующую цель правильно. Можно сделать этот вывод, заметив, что истина возражает 1, имеет нулевые пропуски из-за непрерывной истории ее связанной дорожки.
Однако даже с фильтром IMM, одна из дорожек прерывает область неоднозначности. trackerGNN
получает только одно обнаружение с той областью, и поэтому может обновить только одну из дорожек с ним. После нескольких обновлений счет курсировавшей дорожки падает ниже порога удаления, и средство отслеживания пропускает дорожку.
Вышеупомянутые результаты достигаются от третьей настройки где Tracker = 3
в рабочей области MATLAB®. Можно наблюдать это the trackerJPDA
обеспечивает обоих дорожки, подтвержденные в области неоднозначности. Однако между двумя дорожками существует подкачка дорожки.
Вышеупомянутые результаты достигаются от четвертой настройки где Tracker = 4
в рабочей области MATLAB®. Можно наблюдать тот trackerJPDA
с IMM фильтр отслеживает маневрирующие цели более точно, и это не повредило или потеряло след даже во время поворотов.
В этом примере вы изучили, как отследить близко расположенные цели с помощью глобального самого близкого соседа (GNN) и средства отслеживания объединенной вероятностной ассоциации данных (JPDA) с помощью различной подсистемы в Simulink. Вы также изучили, как можно использовать и сконфигурировать trackerGNN
и trackerJPDA
Блоки Simulink для отслеживания маневрирующих целей. Вы заметили, что постоянный скоростной фильтр менее точен в отслеживании целей во время их маневра. В этом случае взаимодействующий фильтр многоуровневой модели требуется. Вы также заметили, что средство отслеживания JPDA может более точно обработать случай неоднозначной ассоциации обнаружений к дорожкам, чем средство отслеживания GNN.