Sensor Fusion and Tracking Toolbox™ позволяет вам отследить ориентацию, положение, положение и траекторию платформы. platform обычно относится к любому объекту, вы хотите отследить его состояние.
Orientation задан угловым смещением. Ориентация может быть описана в терминах вращения системы координат или точки. Во вращении точки система координат является статической и перемещения точки. Во вращении системы координат точка является статической и перемещения системы координат. Для данной оси и угла вращения, вращение точки и вращение системы координат задают эквивалентное угловое смещение, но в противоположных направлениях.
Значения по умолчанию Sensor Fusion and Tracking Toolbox, чтобы структурировать вращение.
В представлении системы координат ориентация задана как вращение, которое берет родительскую систему координат к дочерней системе координат. Выбор родительских и дочерних систем координат зависит от решенной задачи. Например, когда вы управляете монтированием датчика на платформе, можно выбрать систему координат тела платформы как родительскую систему координат и выбрать систему координат монтирования датчика как дочернюю систему координат. Вращение от системы координат тела платформы до системы координат монтирования датчика задает ориентацию датчика относительно платформы.
Sensor Fusion and Tracking Toolbox, в основном, поддерживает NED (северо-восточная вниз) координатная система координат. Можно также использовать систему координат координаты ENU (восточный север) во многих функциях. В нескольких функциях и объектах (таких как geoTrajectory
и gpsSensor
), необходимо использовать ECEF (Земля Фиксированная Земля В центре) система координат и геодезические координаты широты, долготы и высоты. Для получения дополнительной информации ECEF и геодезических координат, смотрите Координатные Системы координат в Гео Траектории.
Чтобы связать одну ориентацию с другим, необходимо вращать систему координат. Таблица суммирует z-y-x соглашения вращения. Можно также использовать другие соглашения, такие как z-x-z соглашение вращения. Смотрите последовательность вращения (RS
) аргумент quaternion
для получения дополнительной информации об этих соглашениях.
Переменная | Угол Эйлера | Символ | Выведите интервал (степени) |
---|---|---|---|
z | Рыскание | ψ | −180 ≤ ψ < 180 |
y | Тангаж | θ | −90 ≤ θ ≤ 90 |
x | Крен | ϕ | −180 ≤ ϕ < 180 |
Положительный угол поворота соответствует по часовой стрелке вращение вокруг оси при просмотре от источника вдоль положительного направления оси. Правое соглашение эквивалентно, где положительное вращение обозначается направлением, в котором завихряются пальцы на вашей правой руке, когда ваш ползунок указывает в направлении оси вращения.
Чтобы задать 3D вращение системы координат, необходимо вращаться последовательно об осях. Sensor Fusion and Tracking Toolbox использует внутренний параметр (несомая система координат) вращение, в котором, после каждого вращения, ось обновляется перед следующим вращением. Например, чтобы вращать ось с помощью z-y-x соглашения:
Вращайте родительскую систему координат о 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 - оси. Следующее вычисление вращает родительскую систему координат к дочерней системе координат:
где родительский элемент a представляет N-by-3 матрица координат, описанных в системе координат координаты вышестоящего элемента, и дочерним элементом a является получившийся N-by-3 матрица координат, описанных в дочерней системе координат.
Sensor Fusion and Tracking Toolbox включает эффективный расчет ориентации с помощью quaternion
тип данных. Чтобы создать матрицу вращения использование кватернионов, используйте rotmat
функция.
В системе координат NED гравитационный вектор может быть специальным как
gNED = [0 0 9.8]; % m/s^2
Считайте систему координат тела полученной последовательным вращением 20 градусов в области рыскания, 5 градусов в области тангажа и 10 градусов в области крена от родительской системы координат NED.
yaw = 20; % degree pitch = 5; % degree roll = 10; % degree
Чтобы получить выражение гравитационного вектора в системе координат тела, вы сначала получаете quaternion
соответствие трем последовательным Углам Эйлера.
q = quaternion([yaw pitch roll],"eulerd","zyx","frame");
Затем использование rotateframe
возразите функции, можно получить координаты гравитационного вектора в системе координат тела как
gBody = rotateframe(q,gNED)
gBody = 1×3
-0.8541 1.6953 9.6144
Альтернативно, можно получить координаты с помощью матрицы вращения. Во-первых, вы используете rotmat
объектная функция quaternion
получить соответствующую матрицу вращения, которая преобразовывает координаты от системы координат NED до системы координат тела.
R = rotmat(q,"frame");
Затем получите координаты гравитационного вектора в системе координат тела как
gBody2 = (R*gNED')'
gBody2 = 1×3
-0.8541 1.6953 9.6144
Position задан как поступательное расстояние от родительской системы координат до дочерней системы координат. Например, возьмите локальную систему координат NED в качестве родительской системы координат. В системе координат NED:
Источник произвольно фиксируется к точке на поверхности Земли. Это делает систему координат NED local.
x - ось указывает на эллипсоид на север.
y - ось указывает на эллипсоид на восток.
z - ось указывает вниз по нормали к эллипсоиду (геодезическая широта, ρ).
Учитывая вектор в R3:
Azimuth задан как угол от x - оси к ортогональной проекции вектора на xy - плоскость. Угол является положительным движением от x - оси к y - ось. Азимут дан в градусах в области значений [−180, 180).
Elevation задан как угол от проекции на xy - плоскость к вектору. Угол является положительным движением от xy - плоскости к z - ось. Вертикальное изменение дано в градусах в области значений [−90, 90].
Чтобы задать объект в трехмерном пространстве полностью, можно объединить положение и ориентацию. Pose задан как комбинация положения и ориентации. Trajectory задает, как положение изменяется в зависимости от времени. Чтобы сгенерировать траектории основной истины в Sensor Fusion and Tracking Toolbox, используйте kinematicTrajectory
или waypointTrajectory
. Чтобы сгенерировать сосредоточенную Землей траекторию, используйте geoTrajectory
. Чтобы симулировать движение нескольких платформ, используйте trackingScenario
.
quaternion
| Вращения, ориентация и кватернионы
[1] IEEE. Стандарт для распределенной интерактивной симуляции – протоколы приложения. IEEE P1278.1/D16 Версия 18, май 2012.