ctmeas

Функция измерения для постоянного движения угловой скорости вращения

Синтаксис

measurement = ctmeas(state)
measurement = ctmeas(state,frame)
measurement = ctmeas(state,frame,sensorpos)
measurement = ctmeas(state,frame,sensorpos,sensorvel)
measurement = ctmeas(state,frame,sensorpos,sensorvel,laxes)
measurement = ctmeas(state,measurementParameters)

Описание

пример

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

пример

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

пример

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

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

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

пример

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

Примеры

свернуть все

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

state = [1;10;2;20;5];
measurement = ctmeas(state)
measurement = 3×1

     1
     2
     0

Z-компонент измерения является нулем.

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

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

   63.4349
         0
    2.2361
   22.3607

Повышение измерения является нулем, и уровень области значений является положительным указанием, что объект переезжает от датчика.

Задайте состояние объекта, перемещающегося в 2D постоянное движение угловой скорости вращения. Состояние состоит из положения и скорости и угловой скорости вращения. Измерения находятся в сферических координатах относительно кадра, расположенного в [20;40;0].

state = [1;10;2;20;5];
measurement = ctmeas(state,'spherical',[20;40;0])
measurement = 4×1

 -116.5651
         0
   42.4853
  -22.3607

Повышение измерения является нулем, и уровень области значений является отрицательным указанием, что объект перемещается к датчику.

Задайте состояние объекта, перемещающегося в 2D постоянное движение угловой скорости вращения. Состояние состоит из положения и скорости и угловой скорости вращения. Измерения находятся в сферических координатах относительно кадра, расположенного в [20;40;0].

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

 -116.5651
         0
   42.4853
  -17.8885

Повышение измерения является нулем, и уровень области значений является отрицательным указанием, что объект перемещается к датчику.

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

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

 -116.5651
         0
   42.4853
  -17.8885

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

свернуть все

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

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

    Когда задано как 5 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 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

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

measurementParameters struct

ПараметрОпределениеЗначение по умолчанию
OriginPositionПоложение датчика относительно глобальной системы координат, заданной как вектор-столбец 3 на 1 с действительным знаком. Модули исчисляются в метрах.[0;0;0]
OriginVelocityСкорость датчика относительно глобальной системы координат, заданной как вектор-столбец 3 на 1 с действительным знаком. Модули находятся в m/s.[0;0;0]
OrientationЛокальные оси координат датчика, заданные как 3х3 ортогональная матрица. Каждый столбец задает направление локального x - y - и z - оси, соответственно, относительно глобальной системы координат.eye(3)
HasVelocityУказывает, содержат ли измерения скорость или компоненты уровня области значений, заданные как true или false.false, когда аргументом frame является 'rectangular' и true, когда аргументом frame является 'spherical'
HasElevationУказывает, содержат ли измерения компоненты повышения, заданные как true или false.true

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

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

свернуть все

Вектор измерения, возвращенный как N-by-1 вектор-столбец. Форма измерения зависит, на который синтаксис вы используете.

  • Когда синтаксис не использует аргумент measurementParameters, вектором измерения является [x,y,z], когда входной параметр frame установлен в 'rectangular' и [az;el;r;rr], когда frame установлен в 'spherical'.

  • Когда синтаксис использует аргумент measurementParameters, размер вектора измерения зависит от значений frame, HasVelocity и полей HasElevation в структуре measurementParameters.

    кадризмерение
    'spherical'

    Задает угол азимута, az, угол повышения, el, область значений, r, и уровень области значений, rr, объекта относительно локальной системы координат автомобиля, оборудованного датчиком. Положительные значения для уровня области значений указывают, что объект переезжает от датчика.

    Сферические измерения

      HasElevation
      ложьtRUE
    HasVelocityложь[az;r][az;el;r]
    tRUE[az;r;rr][az;el;r;rr]

    Угловые модули в градусах, модули области значений исчисляются в метрах, и модули уровня области значений находятся в m/s.

    'rectangular

    Задает Декартовы координаты положения и скорости отслеживаемого объекта относительно системы координат автомобиля, оборудованного датчиком.

    Прямоугольные измерения

    HasVelocityложь[x;y;y]
    tRUE[x;vx;y,vy;z;vz]

    Модули положения исчисляются в метрах, и скоростные единицы находятся в m/s.

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

Больше о

свернуть все

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

Задайте азимут и углы повышения, используемые в 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