getTrackPositions

Возвращает обновленные положения дорожки и ковариационную матрицу положения

Синтаксис

position = getTrackPositions(tracks,positionSelector)
[position,positionCovariances] = getTrackPositions(tracks,positionSelector)

Описание

пример

position = getTrackPositions(tracks,positionSelector) возвращает матрицу положений дорожки. Каждая строка содержит положение отслеживаемого объекта.

пример

[position,positionCovariances] = getTrackPositions(tracks,positionSelector) возвращает матрицу положений дорожки.

Примеры

свернуть все

Создайте расширенное средство отслеживания Фильтра Калмана для 3-D движения постоянной скорости.

tracker = trackerTOMHT('FilterInitializationFcn',@initcvekf);

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

detection = objectDetection(0,[10;3;-7],'ObjectClassID',3);
tracks = step(tracker,detection,0)
tracks = struct with fields:
             TrackID: 1
            BranchID: 1
          UpdateTime: 0
                 Age: 1
               State: [6x1 double]
     StateCovariance: [6x6 double]
          TrackLogic: 'Score'
     TrackLogicState: [13.7102 13.7102]
         IsConfirmed: 1
           IsCoasted: 0
       ObjectClassID: 3
    ObjectAttributes: {}

Получите радиус-вектор и ковариацию положения для той дорожки

positionSelector = [1 0 0 0 0 0; 0 0 1 0 0 0; 0 0 0 0 1 0];
[position,positionCovariance] = getTrackPositions(tracks,positionSelector)
position = 1×3

   10.0000    3.0000   -7.0000

positionCovariance = 3×3

    1.0000   -0.0000         0
   -0.0000    1.0000   -0.0000
         0   -0.0000    1.0000

Создайте расширенное средство отслеживания Фильтра Калмана для 3-D движения постоянного ускорения.

tracker = trackerTOMHT('FilterInitializationFcn',@initcaekf);

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

detection = objectDetection(0,[10;-20;4],'ObjectClassID',3);
tracks = step(tracker,detection,0)
tracks = struct with fields:
             TrackID: 1
            BranchID: 1
          UpdateTime: 0
                 Age: 1
               State: [9x1 double]
     StateCovariance: [9x9 double]
          TrackLogic: 'Score'
     TrackLogicState: [13.7102 13.7102]
         IsConfirmed: 1
           IsCoasted: 0
       ObjectClassID: 3
    ObjectAttributes: {}

Получите радиус-вектор из состояния дорожки.

positionSelector = [1 0 0 0 0 0 0 0 0; 0 0 0 1 0 0 0 0 0; 0 0 0 0 0 0 1 0 0];
position = getTrackPositions(tracks, positionSelector)
position = 1×3

   10.0000  -20.0000    4.0000

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

свернуть все

Отслеживаемый объект, заданный как массив struct. Дорожка массив struct является массивом типов MATLAB® struct, содержащих достаточную информацию, чтобы получить радиус-вектор дорожки и, опционально, ковариационная матрица положения. Как минимум struct должен содержать поле вектор-столбца State и положительно-определенное матричное поле StateCovariance. Для примера дорожки struct, используемый Sensor Fusion and Tracking Toolbox™, исследуйте выходной аргумент, tracks, возвращенный функцией объекта step trackerGNN.

Селектор положения, заданный как D-by-N матрица с действительным знаком единиц и нулей. D является количеством размерностей средства отслеживания. N является размером вектора состояния. Используя эту матрицу, функция извлекает положения дорожки от вектора состояния. Умножьтесь вектор состояния матрицей селектора положения возвращает положения. Тот же селектор применяется ко всем объектным дорожкам.

Выходные аргументы

свернуть все

Положения отслеживаемых объектов наконец обновляют время, возвращенное как M с действительным знаком-by-D матрица. D представляет количество элементов положения. M представляет количество дорожек.

Ковариационные матрицы положения отслеживаемых объектов, возвращенных как D с действительным знаком-by-D-M массив. D представляет количество элементов положения. M представляет количество дорожек. Каждый D-by-D субматрица является ковариационной матрицей положения для дорожки.

Больше о

свернуть все

Селектор положения для 2-мерного движения

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

[10000010]

Селектор положения для 3-мерного движения

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

[100000001000000010]

Селектор положения для 3-мерного движения с ускорением

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

[100000000000100000000000100]

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

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

Смотрите также

Функции

Классы

Системные объекты

Введенный в R2018b

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