exponenta event banner

ctmeasjac

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

Описание

пример

measurementjac = ctmeasjac(state) возвращает измерение Якобиан, 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 и vx представляет скорость в направлении X. y представляет координату y и vy представляет скорость в направлении y. omega представляет скорость поворота.

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

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

    При указании в качестве матрицы 7-by-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 имеет значение false, результаты измерений принимают 0 градусов отметки.1
HasRangeЛогический скаляр, указывающий, включен ли диапазон в измерение.1
HasVelocityЛогический скаляр, указывающий, включают ли сообщаемые обнаружения измерения скорости. Для измерений в прямоугольной рамке, если HasVelocity имеет значение false, измерения сообщаются как [x y z]. Если HasVelocity является true, измерения сообщаются как [x y z vx vy vz].1
IsParentToChildЛогический скаляр, указывающий, если Orientation выполняет поворот рамки от родительской рамки координат до дочерней рамки координат. Когда IsParentToChild является false, то Orientation выполняет поворот рамки от дочерней рамки координат до родительской рамки координат.0

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

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

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

свернуть все

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

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

Подробнее

свернуть все

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

Определите азимут и углы отметки, используемые на панели инструментов.

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

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2018b