ctmeas

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

Описание

пример

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

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

Поле ОписаниеПример
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

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

свернуть все

Вектор измерения, возвращенный как 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;y;z;vx;vy;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