getTrackPositions

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

Описание

пример

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 = 
  objectTrack with properties:

             TrackID: 1
            BranchID: 1
         SourceIndex: 0
          UpdateTime: 0
                 Age: 1
               State: [6x1 double]
     StateCovariance: [6x6 double]
     StateParameters: [1x1 struct]
       ObjectClassID: 3
          TrackLogic: 'Score'
     TrackLogicState: [13.7102 13.7102]
         IsConfirmed: 1
           IsCoasted: 0
      IsSelfReported: 1
    ObjectAttributes: [1x1 struct]

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

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 = 
  objectTrack with properties:

             TrackID: 1
            BranchID: 1
         SourceIndex: 0
          UpdateTime: 0
                 Age: 1
               State: [9x1 double]
     StateCovariance: [9x9 double]
     StateParameters: [1x1 struct]
       ObjectClassID: 3
          TrackLogic: 'Score'
     TrackLogicState: [13.7102 13.7102]
         IsConfirmed: 1
           IsCoasted: 0
      IsSelfReported: 1
    ObjectAttributes: [1x1 struct]

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

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