cvmeasjac

Якобиан измерения функционирует для постоянного скоростного движения

Описание

пример

measurementjac = cvmeasjac(state) возвращает якобиан измерения для модели движения Фильтра Калмана постоянной скорости в прямоугольных координатах. state задает текущее состояние фильтра отслеживания.

пример

measurementjac = cvmeasjac(state,frame) также задает систему координат измерения, frame.

пример

measurementjac = cvmeasjac(state,frame,sensorpos) также задает положение датчика, sensorpos.

measurementjac = cvmeasjac(state,frame,sensorpos,sensorvel) также задает скорость датчика, sensorvel.

measurementjac = cvmeasjac(state,frame,sensorpos,sensorvel,laxes) также задает локальную ориентацию осей датчика, laxes.

пример

measurementjac = cvmeasjac(state,measurementParameters) задает параметры измерения, measurementParameters.

Примеры

свернуть все

Задайте состояние объекта в 2D движении постоянной скорости. Состояние является положением и скоростью в каждой пространственной размерности. Создайте якобиан измерения в прямоугольных координатах.

state = [1;10;2;20];
jacobian = cvmeasjac(state)
jacobian = 3×4

     1     0     0     0
     0     0     1     0
     0     0     0     0

Задайте состояние объекта в 2D движении постоянной скорости. Состояние является положением и скоростью в каждой размерности. Вычислите якобиан измерения относительно сферических координат.

state = [1;10;2;20];
measurementjac = cvmeasjac(state,'spherical')
measurementjac = 4×4

  -22.9183         0   11.4592         0
         0         0         0         0
    0.4472         0    0.8944         0
    0.0000    0.4472    0.0000    0.8944

Задайте состояние объекта в 2D движении постоянной скорости. Состояние является положением и скоростью в каждой пространственной размерности. Вычислите якобиан измерения относительно сферических координат, сосредоточенных в (5;-20; 0) метры.

state = [1;10;2;20];
sensorpos = [5;-20;0];
measurementjac = cvmeasjac(state,'spherical',sensorpos)
measurementjac = 4×4

   -2.5210         0   -0.4584         0
         0         0         0         0
   -0.1789         0    0.9839         0
    0.5903   -0.1789    0.1073    0.9839

Задайте состояние объекта в 2D движении постоянной скорости. Состояние состоит из положения и скорости в каждой пространственной размерности. Измерения находятся в сферических координатах относительно системы координат, расположенной в (20; 40; 0) метры.

state2d = [1;10;2;20];
frame = 'spherical';
sensorpos = [20;40;0];
sensorvel = [0;5;0];
laxes = eye(3);
measurementjac = cvmeasjac(state2d,frame,sensorpos,sensorvel,laxes)
measurementjac = 4×4

    1.2062         0   -0.6031         0
         0         0         0         0
   -0.4472         0   -0.8944         0
    0.0471   -0.4472   -0.0235   -0.8944

Поместите параметры измерения в структуру и используйте альтернативный синтаксис.

measparm = struct('Frame',frame,'OriginPosition',sensorpos,'OriginVelocity',sensorvel, ...
    'Orientation',laxes);
measurementjac = cvmeasjac(state2d,measparm)
measurementjac = 4×4

    1.2062         0   -0.6031         0
         0         0         0         0
   -0.4472         0   -0.8944         0
    0.0471   -0.4472   -0.0235   -0.8944

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

свернуть все

Вектор состояния фильтра Калмана для движения постоянной скорости, заданного как 2N с действительным знаком - вектор-столбец элемента, где N является количеством пространственных степеней свободы движения. Для каждой пространственной степени движения вектор состояния принимает форму, показанную в этой таблице.

Пространственные размерностиСтруктура вектора состояния
1D[x;vx]
2D[x;vx;y;vy]
3-D[x;vx;y;vy;z;vz]

Например, x представляет x - координата и vx представляет скорость в x - направление. Если модель движения 1D, значения вдоль y и осей z приняты, чтобы быть нулем. Если модель движения 2D, значения вдоль оси z приняты, чтобы быть нулем. Координаты положения исчисляются в метрах, и скоростные координаты находятся в метрах/секунда.

Пример: [5;.1;0;-.2;-3;.05]

Типы данных: single | double

Система координат измерения, заданная как 'rectangular' или 'spherical'. Когда системой координат является 'rectangular', измерение состоит из x, y и Декартовых координат z отслеживаемого объекта. Когда задано как 'spherical', измерение состоит из азимута, вертикального изменения, области значений и уровня области значений отслеживаемого объекта.

Типы данных: char

Положение датчика относительно глобальной системы координат, заданной как вектор-столбец 3 на 1 с действительным знаком. Модули исчисляются в метрах.

Типы данных: double

Скорость датчика относительно глобальной системы координат, заданной как вектор-столбец 3 на 1 с действительным знаком. Модули находятся в метрах/секунда.

Типы данных: double

Локальные оси координат датчика, заданные как 3х3 ортогональная матрица. Каждый столбец задает направление локального x - y - и z - оси, соответственно, относительно глобальной системы координат.

Типы данных: double

Параметры измерения, заданные как структура или массив структур. Поля структуры:

Поле ОписаниеПример
Frame

Система координат раньше сообщала об измерениях, заданных как одно из этих значений:

  • 'rectangular' — Об обнаружениях сообщают в прямоугольных координатах.

  • 'spherical' — Об обнаружениях сообщают в сферических координатах.

'spherical'
OriginPositionСмещение положения источника системы координат относительно родительской системы координат, заданной как [x y z] вектор с действительным знаком.[0 0 0]
OriginVelocityСкоростное смещение источника системы координат относительно родительской системы координат, заданной как [vx vy vz] вектор с действительным знаком.[0 0 0]
OrientationСтруктурируйте матрицу вращения, заданную как 3х3 ортонормированная матрица с действительным знаком.[1 0 0; 0 1 0; 0 0 1]
HasAzimuthЛогический скаляр, указывающий, включен ли азимут в измерение.1
HasElevationЛогический скаляр, указывающий, включено ли вертикальное изменение в измерение. Для измерений, о которых сообщают в прямоугольной системе координат, и если HasElevation является ложным, измерения, о которых сообщают, принимают 0 градусов вертикального изменения.1
HasRangeЛогический скаляр, указывающий, включена ли область значений в измерение.1
HasVelocityЛогический скаляр, указывающий, включают ли обнаружения, о которых сообщают, скоростные измерения. Для измерений, о которых сообщают в прямоугольной системе координат, если HasVelocity является ложным, об измерениях сообщают как [x y z]. Если HasVelocity true, об измерениях сообщают как [x y z vx vy vz].1
IsParentToChildЛогический скаляр, указывающий, если Orientation выполняет вращение системы координат от системы координат координаты вышестоящего элемента до системы координат координаты нижестоящего элемента. Когда IsParentToChild false, затем Orientation выполняет вращение системы координат от системы координат координаты нижестоящего элемента до системы координат координаты вышестоящего элемента.0

Типы данных: struct

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

свернуть все

Якобиан измерения, заданный как 3 с действительным знаком N или 4 N матрицей. N является размерностью вектора состояния. Первая размерность и значение зависят от значения frame аргумент.

Система координатЯкобиан измерения
'rectangular'Якобиан измерений [x;y;z] относительно вектора состояния. Вектор измерения относительно системы локальной координаты. Координаты исчисляются в метрах.
'spherical'Якобиан вектора измерения [az;el;r;rr] относительно вектора состояния. Компоненты вектора измерения задают угол азимута, угол вертикального изменения, область значений и уровень области значений объекта относительно локальной системы координат датчика. Угловые модули в градусах. Модули области значений исчисляются в метрах и располагаются, модули уровня находятся в метрах/секунда.

Больше о

свернуть все

Азимут и угловые определения вертикального изменения

Задайте азимут и углы вертикального изменения, используемые в Sensor Fusion and Tracking Toolbox™.

azimuth angle вектора является углом между x - ось и ее ортогональной проекцией на плоскость xy. Угол положителен в движении от оси x к оси y. Углы азимута находятся между –180 и 180 градусами. elevation angle является углом между вектором и его ортогональной проекцией на xy - плоскость. Угол положителен при движении к положительному z - ось от плоскости xy.

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

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

Введенный в R2018b