getTrackPositions

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

Описание

пример

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

пример

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

Примеры

свернуть все

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

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

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

detection = objectDetection(0,[10;-20;4],'ObjectClassID',3);
tracks = tracker(detection,0)
tracks = 
  objectTrack with properties:

             TrackID: 1
            BranchID: 0
         SourceIndex: 0
          UpdateTime: 0
                 Age: 1
               State: [9x1 double]
     StateCovariance: [9x9 double]
     StateParameters: [1x1 struct]
       ObjectClassID: 3
          TrackLogic: 'History'
     TrackLogicState: [1 0 0 0 0]
         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   -20     4

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

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

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

detection = objectDetection(0,[10;3;-7],'ObjectClassID',3);
tracks = tracker(detection,0)
tracks = 
  objectTrack with properties:

             TrackID: 1
            BranchID: 0
         SourceIndex: 0
          UpdateTime: 0
                 Age: 1
               State: [6x1 double]
     StateCovariance: [6x6 double]
     StateParameters: [1x1 struct]
       ObjectClassID: 3
          TrackLogic: 'History'
     TrackLogicState: [1 0 0 0 0]
         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     3    -7

positionCovariance = 3×3

     1     0     0
     0     1     0
     0     0     1

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

свернуть все

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

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

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

свернуть все

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

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

Подробнее о

свернуть все

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

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

[10000010]

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

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

[100000001000000010]

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

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

[100000000000100000000000100]

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

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

.
Введенный в R2021a