getTrackPositions

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

Описание

пример

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

пример

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

Примеры

свернуть все

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

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

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

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

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

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

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

свернуть все

Отслеживаемый объект в виде struct массив. Дорожка struct массив является массивом MATLAB® struct типы, содержащие достаточную информацию, чтобы получить радиус-вектор дорожки и, опционально, ковариационная матрица положения. Как минимум, struct должен содержать State поле вектор-столбца и положительно-определенный StateCovariance матричное поле. Для примера дорожки struct используемый Automated Driving Toolbox™, исследуйте выходной аргумент, tracks, возвращенный updateTracks функционируйте, когда используется с multiObjectTracker Система object™.

Селектор положения в виде 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™.

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

Функции

Объекты

Введенный в R2017a