ctmeasjac

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

Описание

пример

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

пример

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

пример

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

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

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

пример

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

Примеры

свернуть все

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

state = [1;10;2;20;5];
jacobian = ctmeasjac(state)
jacobian = 3×5

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

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

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

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

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

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

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

Задайте состояние объекта в 2-D постоянного поворотного движения. Состояние является положением и скоростью в каждой размерности и скоростью поворота. Вычислите якобиан измерения относительно сферических координат с центром [25;-40;0].

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

   -1.0284         0   -0.5876         0         0
         0         0         0         0         0
   -0.4961         0    0.8682         0         0
    0.2894   -0.4961    0.1654    0.8682         0

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

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

   -1.0284         0   -0.5876         0         0
         0         0         0         0         0
   -0.4961         0    0.8682         0         0
    0.2894   -0.4961    0.1654    0.8682         0

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

свернуть все

Вектор состояния для постоянной модели движения со скоростью поворота в двух или трёх пространственных размерностях, заданный как действительный вектор или матрица.

  • Когда вектор задается как вектор с 5 элементами, вектор состояния описывает 2-D движение в плоскости x-y. Вектор состояния можно задать как строка или вектор-столбец. Компоненты вектора состояний [x;vx;y;vy;omega] где x представляет x -cordinate и vx представляет скорость в x -направлении. y представляет y -cordinate и vy представляет скорость в y -направлении. omega представляет скорость поворота.

    Когда задан как 5-бай- N матрица, каждый столбец представляет другой вектор состояния, N представляет количество состояний.

  • Когда вектор задается как вектор с 7 элементами, вектор состояния описывает 3-D движение. Вектор состояния можно задать как строка или вектор-столбец. Компоненты вектора состояний [x;vx;y;vy;omega;z;vz] где x представляет x -cordinate и vx представляет скорость в x -направлении. y представляет y -cordinate и vy представляет скорость в y -направлении. omega представляет скорость поворота. z представляет z -cordinate и vz представляет скорость в z -направлении.

    Когда задан как 7-бай- N матрица, каждый столбец представляет другой вектор состояния. N представляет количество состояний.

Координаты положения указаны в метрах. Координаты скорости указаны в метрах/секунду. Скорость поворота составляет в градусах/секунду.

Пример: [5;0.1;4;-0.2;0.01]

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

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

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

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

свернуть все

Измерение якобиан, возвращается как действительная матрица 3 на 5 или 4 на 5. Размерность строки и интерпретация зависят от значения frame аргумент.

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

Подробнее о

свернуть все

Определения азимута и Угла возвышения

Задайте азимут и углы возвышения, используемые в тулбоксе.

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

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

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

.
Введенный в R2018b
Для просмотра документации необходимо авторизоваться на сайте