exponenta event banner

cameas

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

Описание

пример

measurement = cameas(state) возвращает измерение для модели движения фильтра Калмана с постоянным ускорением в прямоугольных координатах. 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-element. 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, 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 имеет значение 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 (Sensor Fusion and Tracking Toolbox).

Типы данных: 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
      ложныйправда
    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

Подробнее

свернуть все

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

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

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

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

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

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