Sensor Fusion and Tracking Toolbox™ позволяет вам отследить ориентацию, положение, положение и траекторию платформы. platform обычно относится к любому объекту, который вы хотите отследить.
Orientation задан угловым смещением. Ориентация может быть описана с точки зрения вращения кадра или точки. Во вращении точки система координат статична и перемещения точки. Во вращении кадра точка статична и перемещения системы координат. Для данной оси и угла вращения, вращение точки и вращение кадра задают эквивалентное угловое смещение, но в противоположных направлениях.
Значения по умолчанию Sensor Fusion and Tracking Toolbox, чтобы структурировать вращение.
Ориентация задана как вращение кадра, которое берет родительский кадр к дочернему кадру.
Выбор родительского кадра зависит от пространства задач. Например, управление кадрами датчика необходимо, чтобы выровнять различные оси независимых датчиков. Отслеживание каркаса кузова часто используется для задач стабилизации. Наземный кадр ссылки полезен для отслеживания нескольких независимых платформ и определения местоположения платформ в абсолютном смысле.
Чтобы связать одну ориентацию с другим, необходимо вращать кадр. Таблица суммирует соглашения вращения, которые использует Sensor Fusion and Tracking Toolbox. Координата с тремя осями всегда задается по порядку [x, y, z].
Переменная | Угол Эйлера | Символ | Выведите интервал (степени) |
---|---|---|---|
z | Отклонение от курса | ψ |
−180 ≤ ψ < 180 |
y | Подача | θ |
−90 ≤ θ ≤ 90 |
x | Список | ϕ |
−180 ≤ ϕ < 180 |
Положительный угол поворота соответствует по часовой стрелке вращение вокруг оси при просмотре от источника вдоль положительного направления оси. Правое соглашение эквивалентно, где положительное вращение обозначается направлением, в котором завихряются пальцы на вашей правой руке, когда ваш ползунок указывает в направлении оси вращения.
Чтобы задать 3D вращение кадра, необходимо вращаться последовательно об осях. Sensor Fusion and Tracking Toolbox использует внутренний (несомый кадр) вращение, в котором, после каждого вращения, ось обновляется перед следующим вращением. Например, чтобы вращать ось с помощью соглашения ZYX:
Вращайте родительский кадр о z - ось, чтобы привести к новому набору осей, (x', y', z), где x - и y - оси изменились на x '-и '-оси y и z - ось остается неизменной.
Вращайте новый набор осей о '-оси y, приводя к другому новому набору осей, (x'', y', z').
Вращайте этот новый набор осей о x' '-ось, прибывающая в желаемый дочерний кадр, (x'', y'', z'').
Эта последовательность вращений следует соглашению, обрисованному в общих чертах в [1]. Матрица вращения, требуемая преобразовывать вектор в родительском кадре к вектору в дочернем кадре для данного отклонения от курса, подачи и списка, вычисляется как:
Для функций, что основанная на опорной раме обработка, Sensor Fusion and Tracking Toolbox обеспечивает координаты как N-by-3 матрица, где N является количеством выборок вовремя и этих трех столбцов, соответствуют x - y - и z - оси. Следующее вычисление вращает родительский кадр к дочернему кадру:
Sensor Fusion and Tracking Toolbox включает эффективное вычисление ориентации с помощью типа данных quaternion
. Чтобы создать матрицу вращения использование кватернионов, используйте функцию rotmat
.
% Euler angles defining orientation of local axes yaw = 20; pitch = 5; roll = 10; % Create orientation matrix from Euler angles using quaternion class q = quaternion([yaw pitch roll],'eulerd','zyx','frame'); myRotationMatrix = rotmat(q,'frame');
Position задан как переводное расстояние от родительского источника кадра до дочернего источника кадра. Этот тулбокс использует локальный северо-восток вниз (NED) система координат в качестве родительского кадра. В системе координат NED:
Источник произвольно фиксируется к точке на поверхности Земли. Это делает систему координат NED local.
x - ось указывает на эллипсоид на север.
y - ось указывает на эллипсоид на восток.
z - ось указывает вниз вдоль нормального эллипсоида (геодезическая широта, ρ).
Учитывая вектор в R3:
Azimuth задан как угол от x - оси к ортогональной проекции вектора на xy - плоскость. Угол является положительным движением от x - оси к y - ось. Азимут дан в градусах в области значений [−180, 180).
Elevation задан как угол от проекции на xy - плоскость к вектору. Угол является положительным движением от xy - плоскости к z - ось. Повышение дано в градусах в области значений [−90, 90].
Чтобы задать объект на 3-D пробеле полностью, можно объединить положение и ориентацию. Pose задан как комбинация положения и ориентации. Sensor Fusion and Tracking Toolbox использует следующие соглашения при описании положения.
Свойство/Поле | Описание | Модули | Координатный кадр |
---|---|---|---|
Положение | Текущее положение платформы в сценарии | m | НЕД |
Скорость | Текущая скорость платформы в сценарии | m/s | НЕД |
Ускорение | Текущее ускорение платформы в сценарии | m/s2 | НЕД |
Ориентация | Текущая ориентация платформы в сценарии | модульный кватернион / матрица ориентации | Нет данных |
Угловая скорость | Текущая угловая скорость платформы в сценарии | rad/s | НЕД |
Trajectory задает, как положение изменяется в зависимости от времени. Чтобы сгенерировать траектории наземной истины в Sensor Fusion and Tracking Toolbox, используйте kinematicTrajectory
или waypointTrajectory
. Чтобы моделировать отслеживание нескольких платформ, используйте trackingScenario
.
[1] IEEE. Стандарт для распределенной интерактивной симуляции – протоколы приложения. IEEE P1278.1/D16 Версия 18, май 2012.