cvmeasmscjac

Якобиан измерения с помощью модели постоянной скорости (CV) в системе координат MSC

Описание

jacobian = cvmeasmscjac(state) вычисляет якобиан относительно углового измерения (азимут и вертикальное изменение) состояния в системе координат датчика. Движение может быть или в 2D или в трехмерном пространстве. Если модель движения находится на 2D пробеле, значения, соответствующие вертикальному изменению, приняты, чтобы быть нулем.

trackingEKF и trackingMSCEKF фильтры требуют определения MeasurementJacobianFcn свойство. cvmeasmscjac функция может использоваться в качестве MeasurementJacobianFcn. Использовать этот MeasurementFcn с trackerGNN и trackerTOMHT, можно использовать trackingMSCEKF фильтр.

пример

jacobian = cvmeasmscjac(state,frame) обеспечивает якобиевское измерение в заданной системе координат. Позволенными значениями для системы координат является 'rectangular' и 'spherical'.

jacobian = cvmeasmscjac(state,frame,laxes) задает оси системы координат датчика. laxes вход является 3х3 матрицей с каждым столбцом, задающим направление локального x, y и осей z в системе координат датчика. Значение по умолчанию для laxes [1 0 0;0 1 0;0 0 1].

пример

jacobian = cvmeasmscjac(state,measurementParameters) задает параметры измерения как struct.

Примеры

свернуть все

Используя cvmeasmscjac функция, можно получить якобиан измерений состояния в сферическом и прямоугольных системах координат.

Сферическая система координат

Получите якобиан азимута и измерений вертикального изменения от состояния MSC.

mscState = [0.5;0;0.3;0;1e-3;1e-2];
cvmeasmscjac(mscState)
ans = 2×6

   57.2958         0         0         0         0         0
         0         0   57.2958         0         0         0

Прямоугольная система координат

Получите якобиан измерения положения от состояния MSC. Задайте систему координат как второй вход.

cvmeasmscjac(mscState,'rectangular')
ans = 3×6
105 ×

   -0.0046         0   -0.0026         0   -8.3839         0
    0.0084         0   -0.0014         0   -4.5801         0
         0         0    0.0096         0   -2.9552         0

В качестве альтернативы можно задать систему координат с помощью measurementParameters.

cvmeasmscjac(mscState,struct('Frame','rectangular'))
ans = 3×6
105 ×

   -0.0046         0   -0.0026         0   -8.3839         0
    0.0084         0   -0.0014         0   -4.5801         0
         0         0    0.0096         0   -2.9552         0

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

свернуть все

Состояние, которое задано относительно наблюдателя в модифицированных сферических координатах как вектор. Например, если существует целевое состояние, xT, и состояние наблюдателя, xO, state используемый функцией xT - xO.

2D версия модифицированных сферических координат (MSC) также упоминается как модифицированные полярные координаты (MPC). В случае:

  • 2D пробел – состояние равняется [az azRate 1/r vr/r].

  • Трехмерное пространство – состояние равняется [az omega el elRate 1/r vr/r].

Переменные, используемые в соглашении:

  • az – Угол азимута (рад)

  • el – Угол возвышения (рад)

  • azRate – Уровень азимута (rad/s)

  • elRate – Уровень вертикального изменения (rad/s)

  • \omega azRate × because(el) (rad/s)

  • 1/r – 1/область значений (1/м)

  • vr/r – range-rate/range или инверсия time-go (1/с)

Если модель движения находится на 2D пробеле, значения, соответствующие вертикальному изменению, приняты, чтобы быть нулем, если вертикальное изменение требуют как выход.

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

Система координат измерения в виде 'spherical' или 'rectangular'. При использовании 'rectangular' структурируйте, эти три строки, существующие в jacobian представляйте якобиан измерений относительно x, y и положения z цели в Декартовой системе координат датчика. При использовании 'spherical' структурируйте, эти две строки, существующие в jacobian представляйте якобиан азимута и измерения вертикального изменения цели. Если не заданный, функция обеспечивает якобиан измерений в 'spherical' система координат.

Направление локального x, y и осей z в сценарии в виде 3х3 матрицы. Каждый столбец матрицы задает направление локального x, y и осей z в системе координат датчика. Если не заданный, laxes равно [1 0 0;0 1 0;0 0 1].

Типы данных: 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

Если вы только хотите выполнить одно координатное преобразование, такое как преобразование от системы координат тела до системы координат датчика, только необходимо задать структуру параметра измерения. Если вы хотите выполнить несколько координатных преобразований, необходимо задать массив структур параметра измерения. Чтобы изучить, как выполнить несколько преобразований, смотрите Обнаружения Преобразования к objectDetection примеру Формата.

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

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

свернуть все

Целевое измерение в системе координат MSC, возвращенной как a:

  • Матрица, состоящая из одной строки, – Когда HasElevation установлен в false.

  • Двухстрочная матрица – Когда frame установлен в 'spherical', функция измеряет азимут и измерения вертикального изменения от состояния MSC.

  • Матрица с тремя строками – Когда frame установлен в 'rectangular', функция измеряет измерение положения от состояния MSC.

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

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

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

Объекты

Функции

Введенный в R2018b