Track-To-Track Fuser

Fusion от дорожки к дорожке

  • Библиотека:
  • Sensor Fusion and Tracking Toolbox / Алгоритмы Отслеживания Мультиобъекта

  • Track-to-Track-Fuser

Описание

Блок Track-to-Track Fuser Simulink® является мультиисточником, мультиобъектом, термофиксатор уровня дорожки, который использует ассоциацию глобальных самых близких соседей (GNN), чтобы обеспечить одну гипотезу о дорожках, которые это плавит. Входные параметры с блоком являются дорожками из источников, которые уже отслеживают несколько объектов, как мультиобъектные блоки средства отслеживания или другие блоки термофиксатора от дорожки к дорожке. Входные дорожки называются source или local tracks, тогда как дорожки, обеспеченные в термофиксаторе, называются central tracks.

Порты

Входной параметр

развернуть все

Отследите список в виде шины Simulink, содержащей структуру MATLAB. Структура имеет форму:

Поле Описание
NumTracksКоличество дорожек
TracksМассив структур дорожки

Поля структуры дорожки показывают в Структуре Дорожки.

Отследите время обновления в виде действительного скаляра в секундах. Термофиксатор обновляет все дорожки к этому времени. Время обновления должно увеличиться с каждым вызовом блока. Время обновления должно быть, по крайней мере, столь же большим как самый большой UpdateTime заданный во входном порту Tracks.

Если этот порт не включен, часы симуляции, управляемые Simulink, определяют время обновления.

Зависимости

Чтобы включить этот порт, на вкладке Port Setting, устанавливают Prediction time source на Input port.

Исходная настройка перечисляет в виде шины Simulink, содержащей структуру MATLAB. Структура имеет форму:

Поле Описание
NumConfigurationsКоличество исходных настроек не по умолчанию. Значение поля должно быть меньше значения, заданного в параметре Maximum number of source configurations.
ConfigurationsМассив исходных конфигурационных структур.

Поля исходной конфигурационной структуры:

Имя поляОписание
SourceIndexУникальный индекс для исходной системы в виде положительного целого числа.
IsInternalSourceУкажите, является ли источник внутренним к термофиксатору в виде true или false. Внутренний источник является источником, что термофиксатор непосредственно плавит дорожки от того, даже если дорожки не сам, сообщил. Например, если термофиксатор на уровне транспортного средства, радар отслеживания, установленный на связанном транспортном средстве, рассматривается внутренним, в то время как другое транспортное средство, которое сообщает о сплавленных дорожках, рассматривается внешним.
IsInitializingCentralTracksУкажите, может ли источник инициализировать центральную дорожку в термофиксаторе в виде true или false. Центральная дорожка является дорожкой, обеспеченной в термофиксаторе.
LocalToCentralTransformFcnФункция, чтобы преобразовать дорожку от локального до центрального пространства состояний в виде указателя на функцию. Например, @track(track) не выполняет преобразования.
CentralToLocalTransformFcnФункция, чтобы преобразовать дорожку от центрального до локального пространства состояний в виде указателя на функцию. Например, @track(track) не выполняет преобразования.

Зависимости

Чтобы включить этот порт, на вкладке Fuser Management, выбирают параметр Update source configurations with time.

Отследите параметры состояния в виде шины Simulink, содержащей структуру MATLAB. Структура имеет форму:

Поле Описание
NumParametersКоличество параметров состояния не по умолчанию в виде неотрицательного целого числа
ParametersМассив структур параметра состояния

Блок использует значение Parameters поле для StateParameters поле сгенерированных дорожек. Можно использовать эти параметры, чтобы задать систему координат, в которой о дорожке сообщают или другие желательные атрибуты сгенерированных дорожек.

Например, можно использовать следующую структуру, чтобы задать прямоугольную систему координат, положение источника которой в [10 10 0] метры и чьей скоростью источника является [2 -2 0] метры в секунду относительно системы координат сценария.

Имя поляЗначение
Frame"Rectangular"
Position[10 10 0]
Velocity[2 -2 0]

Зависимости

Чтобы включить этот порт, во вкладке Tracker Configuration, выбирают параметр Update track state parameters with time.

Вывод

развернуть все

Подтвержденные дорожки, возвращенные как шина Simulink, содержащая структуру MATLAB. Структура имеет форму:

Поле Описание
NumTracksКоличество дорожек.
TracksМассив структур дорожки длины установлен параметром Maximum number of central tracks. Только первый NumTracks из них фактические дорожки.

Поля структуры дорожки показывают в Структуре Дорожки.

Дорожка подтверждена, если она удовлетворяет порогу, заданному в the Confirmation threshold параметре на вкладке Tracks.

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

Структура имеет форму:

Поле Описание
NumTracksКоличество дорожек.
TracksМассив структур дорожки длины установлен параметром Maximum number of central tracks. Только первый NumTracks из них фактические дорожки.

Поля структуры дорожки показывают в Структуре Дорожки.

Зависимости

Чтобы включить этот порт, на вкладке Port Setting, выбирают Enable tentative tracks output.

Объединенный список подтвержденных и предварительных дорожек, возвращенных как шина Simulink, содержащая структуру MATLAB.

Структура имеет форму:

Поле Описание
NumTracksКоличество дорожек.
TracksМассив структур дорожки длины установлен параметром Maximum number of central tracks. Только первый NumTracks из них фактические дорожки.

Поля структуры дорожки показывают в Структуре Дорожки.

Зависимости

Чтобы включить этот порт, на вкладке Port Setting, выбирают Enable all tracks output.

Дополнительная информация для анализа обновлений дорожки, возвращенных как шина Simulink, содержащая структуру MATLAB.

Эта таблица показывает поля информационной структуры:

Поле Описание
BranchIDsAtStepBeginning

Идентификаторы ветви, когда обновление началось.

CostMatrix

Стоимость матрицы присвоения.

Assignments

Присвоения, возвращенные из assignTOMHT функция.

UnassignedTracks

Идентификаторы неприсвоенных ветвей возвращены в средство отслеживания.

UnassignedDetections

Идентификаторы неприсвоенных обнаружений возвращены в средство отслеживания.

InitialBranchHistory

История ветви после ответвления и перед сокращением.

InitialBranchScores

Баллы ветви перед сокращением.

KeptBranchHistory

История ветви после начального сокращения.

KeptBranchScores

Баллы ветви после начального сокращения.

Clusters

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

TrackIncompatibility

Матрица несовместимости ветви. (i,j) элементом является true если i-th и j-th ветви совместно использовали обнаружения в их истории или принадлежат той же дорожке.

GlobalHypotheses

Логическое матричное отображение переходит к глобальным гипотезам. Совместимые ветви могут принадлежать тех же гипотез.

GlobalHypScoresОбщий счет глобальных гипотез.
PrunedBranches

Логический массив ветвей, что pruneTrackBranches функция решает сокращать.

GlobalBranchProbabilities

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

BranchesDeletedByPruning

Ветви удалены средством отслеживания.

BranchIDsAtStepEnd

Идентификаторы ветви, когда законченное обновление.

Зависимости

Чтобы включить этот порт, на вкладке Port Setting, выбирают Enable information output.

Параметры

развернуть все

Управление термофиксатором

Уникальный индекс для термофиксатора в виде положительного целого числа. Используйте это свойство отличить различные термофиксаторы в среде нескольких-термофиксаторов.

Пример 2

Алгоритм присвоения в виде MatchPairs, Munkres, Jonker-Volgenant, Auction, или Custom. Munkres является единственным алгоритмом присвоения, который гарантирует оптимальное решение, но это является также самым медленным, особенно для больших количеств обнаружений и дорожек. Другие алгоритмы не гарантируют оптимального решения, но могут быть быстрее для проблем с 20 или больше дорожками и обнаружениями. Используйте Custom чтобы задать ваше собственное присвоение функционируют и задают его имя в параметре Name of 'Custom' assignment function.

Типы данных: char

Имя 'Пользовательского' присвоения функционирует в виде строки или указателя на функцию. Функция присвоения должна иметь следующий синтаксис:

 [assignments,unassignedCentral,unassignedLocal] = f(cost,costNonAssignment)
Для примера функции присвоения и описания ее аргументов, смотрите assignmunkres.

Зависимости

Чтобы включить это свойство, установите параметр Assignment algorithm name на Custom.

Порог для присвоения источника к центральным дорожкам в виде положительной скалярной величины или вектора 1 на 2 формы [C 1 C 2], где C 1C 2. Если задано как скаляр, заданное значение, val, расширено до [val Inf].

Первоначально, термофиксатор выполняет крупную оценку для нормированного расстояния между всем источником и центральными дорожками. Термофиксатор только вычисляет точное нормированное расстояние для источника и центральных комбинаций, крупное нормированное расстояние которых меньше C 2. Кроме того, термофиксатор может только присвоить локальную дорожку центральной дорожке, если их точное нормированное расстояние меньше C 1. Смотрите distance функция используется с отслеживанием фильтров для объяснения расчета расстояния.

Совет

  • Увеличьте значение C 2, если существуют комбинации источника и центральных дорожек, которые должны быть вычислены для присвоения, но не являются. Уменьшите его, если вычисление занимает слишком много времени.

  • Увеличьте значение C 1, если существуют исходные дорожки, которые должны быть присвоены центральным дорожкам, но не являются. Уменьшите его, если существуют локальные дорожки, которые присвоены центральным дорожкам, которым они не должны быть присвоены (слишком далеко).

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

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

Настройка исходных систем в виде массива исходных конфигурационных структур. Поля исходной конфигурационной структуры:

Имя поляОписание
SourceIndexУникальный индекс для исходной системы в виде положительного целого числа.
IsInternalSourceУкажите, является ли источник внутренним к термофиксатору в виде true или false. Внутренний источник является источником, что термофиксатор непосредственно плавит дорожки от того, даже если дорожки не сам, сообщил. Например, если термофиксатор на уровне транспортного средства, радар отслеживания, установленный на связанном транспортном средстве, рассматривается внутренним, в то время как другое транспортное средство, которое сообщает о сплавленных дорожках, рассматривается внешним.
IsInitializingCentralTracksУкажите, может ли источник инициализировать центральную дорожку в термофиксаторе в виде true или false. Центральная дорожка является дорожкой, обеспеченной в термофиксаторе.
LocalToCentralTransformFcnФункция, чтобы преобразовать дорожку от локального до центрального пространства состояний в виде указателя на функцию. Например, @track(track) не выполняет преобразования.
CentralToLocalTransformFcnФункция, чтобы преобразовать дорожку от центрального до локального пространства состояний в виде указателя на функцию. Например, @track(track) не выполняет преобразования.

Выберите этот параметр, чтобы включить вход исходных настроек через входной порт Source configurations.

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

Например, можно использовать следующую структуру, чтобы задать прямоугольную систему координат, положение источника которой в [10 10 0] метры и чьей скоростью источника является [2 -2 0] метры в секунду относительно системы координат сценария.

Имя поляЗначение
Frame"Rectangular"
Position[10 10 0]
Velocity[2 -2 0]

Можно обновить параметры состояния дорожки через входной порт State Parameters путем выбора параметра Update track state parameters with time.

Типы данных: struct

Выберите этот параметр, чтобы включить входной порт для параметров состояния дорожки через входной порт State Parameters.

Выберите тип симуляции из этих опций:

  • Interpreted execution — Симулируйте модель с помощью интерпретатора MATLAB. Эта опция сокращает время запуска. В Interpreted execution режим, можно отладить исходный код блока.

  • Code generation — Симулируйте модель с помощью сгенерированного кода C. В первый раз, когда вы запускаете симуляцию, Simulink генерирует код С для блока. Код С снова используется для последующих симуляций, пока модель не изменяется. Эта опция требует дополнительного времени запуска.

Дорожки

Порог для центрального подтверждения дорожки в виде положительного целого числа, M или вектора 1 на 2 с действительным знаком положительных целых чисел, [M N]. Центральная дорожка подтверждена, если она присвоена локальным дорожкам, по крайней мере, времена M в последних обновлениях N. Если задано как положительное целое число, M, порог подтверждения расширен до [M M].

Порог для центрального удаления дорожки в виде положительного целого числа, P или вектора 1 на 2 положительных целых чисел [P Q] с P Q. Центральная дорожка удалена, если дорожка не присвоена локальным дорожкам, по крайней мере, времена P в последних обновлениях Q. Если задано положительный целочисленный P, порог подтверждения расширен до [P P].

Центральный размер состояния дорожки в виде положительного целого числа.

Центральный отслеживаемый объект приписывает в виде структуры. Средство отслеживания передает значение этого параметра к ObjectAttributes поле дорожки выводится.

Функция изменения состояния в виде указателя на функцию или строки. Эта функция вычисляет состояние на временном шаге k на основе состояния на временном шаге k –1.

  • Если параметр Enable additive process noise на вкладке Tracks включен, функция должна использовать следующий синтаксис:

    x(k) = f(x(k-1),dt)
    
    где:

    • x(k) — Предполагаемое состояние во время kВ виде вектора или матрицы. Если задано как матрица, то каждый столбец матрицы представляет один вектор состояния.

    • dt — Временной шаг для предсказания.

  • Если параметр Enable additive process noise на вкладке Tracks не включен, функция должна использовать этот синтаксис:

    x(k) = f(x(k-1),w(k-1),dt)
    где:

    • x(k) — Предполагаемое состояние во время kВ виде вектора или матрицы. Если задано как матрица, то каждый столбец матрицы представляет один вектор состояния.

    • w(k) — Шум процесса во время k.

    • dt — Временной шаг для предсказания.

Пример: @constacc

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

  • Если параметр Enable additive process noise на вкладке Tracks включен, функция должна использовать этот синтаксис:

    Jx(k) = statejacobianfcn(x(k),dt)
    
    где:

    • x(k) — Предполагаемое состояние во время kВ виде M-by-1 вектор из действительных значений.

    • dt — Временной шаг для предсказания.

    • Jx(k) — Якобиан изменения состояния функционирует относительно состояния, df/dx, оцененный в x(k). Якобиан возвращен как M-by-M матрица.

  • Если параметр Enable additive process noise на вкладке Tracks не включен, функция должна использовать этот синтаксис::

    [Jx(k),Jw(k)] = statejacobianfcn(x(k),w(k),dt)
    
    где:

    • x(k) — (Предполагаемое) состояние во время kВ виде M-by-1 вектор из действительных значений.

    • w(k) — Шум процесса во время kВ виде W-by-1 вектор из действительных значений.

    • dt — Временной шаг для предсказания.

    • Jx(k) — Якобиан изменения состояния функционирует относительно состояния, df/dx, оцененный в x(k). Якобиан возвращен как M-by-M матрица.

    • Jw(k) — Якобиан изменения состояния функционирует относительно шума процесса, df/dw, оцененный в x(k) и w(k). Якобиан возвращен как M-by-W матрица.

Пример: @constaccjac

Ковариационная матрица шума процесса в виде положительного действительного скаляра или положительной определенной матрицы.

  • Когда параметр Enable additive process noise на вкладке Tracks будет включен, задайте ковариацию шума процесса как положительный действительный скаляр или положительный определенный M-by-M матрица. M является размерностью вектора состояния. Когда задано как скаляр, матрицей является M-by-M диагональная матрица с каждым диагональным элементом, равным скаляру.

  • Когда параметр Enable additive process noise на вкладке Tracks не будет включен, задайте ковариацию шума процесса как W-by-W матрица. W является размерностью вектора шума процесса.

Пример: [1.0 0.05; 0.05 2]

Включите шум аддитивного процесса в виде on или off. Когда это - on, шум процесса добавляется к вектору состояния. В противном случае шум включен в функцию изменения состояния.

Fusion

Функция сплава состояния в виде одной из тех опций:

  • Cross — Использует алгоритм сплава перекрестной ковариации

  • Intersection — Использует перекрестный алгоритм сплава ковариации

  • Custom — Позволяет вам задать индивидуально настраиваемую функцию сплава использование параметра Name of 'Custom' fusion function

Используйте параметр State fusion parameters source, чтобы задать дополнительные параметры, используемые алгоритмом сплава состояния.

Имя пользовательского присвоения функционирует в виде строки или указателя на функцию.

Функция сплава состояния должна поддержать один из следующих синтаксисов:

[fusedState,fusedCov] = f(trackState,trackCov)
[fusedState,fusedCov] = f(trackState,trackCov,fuseParams)
где:

  • trackState задан как N-by-M матрица. N является размерностью состояния дорожки, и M является количеством дорожек.

  • trackCov задан как N-by-N-by-M матрица. N является размерностью состояния дорожки, и M является количеством дорожек.

  • fuseParams дополнительные параметры, заданные в параметре State fusion parameters source.

  • fusedState возвращен как N-by-1 вектор.

  • fusedCov возвращен как N-by-N матрица.

Зависимости

Чтобы включить это свойство, установите параметр State fusion function на Custom.

Источник параметров сплава состояния в виде одной из этих опций:

  • Auto — Блок использует параметры сплава значения по умолчанию для каждого, насыщают алгоритм сплава. Смотрите Cross covariance factor, Optimize covariance based on и State fusion custom algorithm parameters для получения дополнительной информации.

  • Property — Установите использование параметров сплава состояния

    • Параметр Cross covariance factor, когда State fusion function выбран как Cross.

    • Параметр Optimize covariance based on, когда State fusion function выбран как Intersection.

    • Параметр State fusion custom algorithm parameters, когда State fusion function выбран как Custom.

Перекрестный фактор ковариации в виде скаляра в области значений (0,1). Смотрите fusexcov для получения дополнительной информации.

Перекрестные критерии алгоритма в виде det или trace. Смотрите fusecovint для получения дополнительной информации.

Сплав состояния пользовательские параметры алгоритма, заданные в любом типе переменной, пока, это совпадает с настройкой дополнительного fuseParams вход пользовательской функции сплава состояния, заданной в параметре Name of 'Custom' assignment function.

Плавьте только подтвержденные исходные дорожки в виде on или off. Установите этот параметр на off если вы хотите плавить все исходные дорожки независимо от их состояния подтверждения.

Предохранитель курсировал исходные дорожки в виде off или on. Установите этот параметр на on если вы хотите соединиться, курсировал исходные дорожки. Установите его на off если вы хотите только плавить исходные дорожки, которые не курсируются.

Параметр порта

Источник в течение времени предсказания в виде Input port или Auto. Выберите Input port вводить время обновления при помощи входного порта Prediction Time. В противном случае часы симуляции, управляемые Simulink, определяют время обновления.

Выберите этот параметр, чтобы включить выход предварительных дорожек через выходной порт Tentative Tracks.

Выберите этот параметр, чтобы включить выход всех дорожек через выходной порт All Tracks.

Выберите этот параметр, чтобы включить выходной порт для получения информации об анализе через выходной порт Info.

Источник выхода отслеживает имя шины в виде:

  • Auto — Блок автоматически создает выходное имя шины дорожки.

  • Property — Задайте выходное имя шины дорожки при помощи параметра Specify an output bus name.

Источник информации о выходе соединяет шиной имя в виде одной из этих опций:

  • Auto — Блок автоматически создает имя шины информации о выходе.

  • Property — Задайте имя шины информации о выходе при помощи параметра Fuser info bus name.

Алгоритмы

развернуть все

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Введенный в R2021a
Для просмотра документации необходимо авторизоваться на сайте