exponenta event banner

getTrackPositions

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

Описание

пример

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

пример

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

Примеры

свернуть все

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

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

Обновите трекер одним обнаружением и получите выходные данные треков.

detection = objectDetection(0,[10;-20;4],'ObjectClassID',3);
tracks = 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

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

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

Обновите трекер одним обнаружением и получите выходные данные треков.

detection = objectDetection(0,[10;3;-7],'ObjectClassID',3);
tracks = 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

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

свернуть все

Дорожки объектов, указанные как массив objectTrack объекты или массив структур, содержащих достаточную информацию для получения информации о местоположении дорожки. Как минимум, эти структуры должны содержать State векторное поле столбца и положительное-определенное StateCovariance поле матрицы. Пример структуры дорожки см. в разделе toStruct.

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

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

свернуть все

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

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

Подробнее

свернуть все

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

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

[10000010]

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

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

[100000001000000010]

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

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

[100000000000100000000000100]

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2018b