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