cameas

Функция измерения для движения константы-ускорения

Описание

пример

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

пример

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

пример

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

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

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

пример

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

Примеры

свернуть все

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

state = [1,10,3,2,20,0.5].';
measurement = cameas(state)
measurement = 3×1

     1
     2
     0

Измерение возвращается в трех измерениях с установленным нулем z-компонента.

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

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

   63.4349
         0
    2.2361
   22.3607

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

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

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

 -116.5651
         0
   42.4853
  -22.3607

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

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

state2d = [1,10,3,2,20,5].';

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

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

 -116.5651
         0
   42.4853
  -17.8885

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

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

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

 -116.5651
         0
   42.4853
  -17.8885

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

свернуть все

Вектор состояния фильтра Калмана для движения с постоянным ускорением, заданный как действительный вектор 3N -элемент. N - количество пространственных степеней свободы движения. Для каждой пространственной степени движения вектор состояния принимает форму, показанную в этой таблице.

Пространственные размерностиСтруктура Вектора состояния
1-D[x;vx;ax]
2-D[x;vx;ax;y;vy;ay]
3-D[x;vx;ax;y;vy;ay;z;vz;az]

Для примера, x представляет x -cordinate, vx представляет скорость в x -направлении, и ax представляет ускорение в x -направлении. Если модель движения находится в одномерном пространстве, y - и z - оси приняты равными нулю. Если модель движения находится в двумерном пространстве, значения вдоль оси z приняты равными нулю. Координаты положения указаны в метрах. Координаты скорости указаны в метрах/секунду. Координаты ускорения указаны в метрах/секундах2.

Пример: [5;0.1;0.01;0;-0.2;-0.01;-3;0.05;0]

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

Если вы хотите выполнить только одно преобразование координат, такое как преобразование из каркаса кузова в систему координат датчика, вам нужно только задать структуру параметра измерения. Если необходимо выполнить несколько преобразований координат, необходимо задать массив структур параметров измерения. Чтобы узнать, как выполнить несколько преобразований, смотрите пример Convert Detections to objectDetection Format (Sensor Fusion and Tracking Toolbox).

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

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

свернуть все

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

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

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

    система координатизмерение
    'spherical'

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

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

      HasElevation
      ложныйправда
    HasVelocityложный[az;r][az;el;r]
    правда[az;r;rr][az;el;r;rr]

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

    'rectangular

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

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

    HasVelocityложный[x;y;y]
    правда[x;y;z;vx;vy;vz]

    Позиционные модули указаны в метрах, а скоростные модули указаны в м/с.

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

Подробнее о

свернуть все

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

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

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

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

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

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