transformMotion

Вычислите количества движения между двумя относительно фиксированными системами координат

Описание

[posS,orientS,velS,accS,angvelS] = transformMotion(posSFromP,orientSFromP,posP) вычисляет количества движения системы координат датчика относительно системы координат навигации (posS, orientS, velS, accS, и angvelS) использование положения датчика структурирует относительно системы координат платформы, posSFromP, ориентация датчика структурирует относительно системы координат платформы, orientSFromP, и положение платформы структурирует относительно системы координат навигации, posP. Обратите внимание на то, что положение и ориентация между системой координат датчика и системой координат платформы приняты, чтобы быть зафиксированными. Кроме того, незаданные количества между системой координат навигации и системой координат платформы (такие как ориентация, скорость и ускорение) приняты, чтобы быть нулем.

[___] = transformMotion(posSFromP,orientSFromP,posP,orientP) дополнительно задает ориентацию системы координат платформы относительно системы координат навигации, orientP. Выходные аргументы совпадают с теми из предыдущего синтаксиса.

пример

[___] = transformMotion(posSFromP,orientSFromP,posP,orientP,velP) дополнительно задает скорость системы координат платформы относительно системы координат навигации, velP. Выходные аргументы совпадают с теми из предыдущего синтаксиса.

[___] = transformMotion(posSFromP,orientSFromP,posP,orientP,velP,accP) дополнительно задает ускорение системы координат платформы относительно системы координат навигации, accP. Выходные аргументы совпадают с теми из предыдущего синтаксиса.

[___] = transformMotion(posSFromP,orientSFromP,posP,orientP,velP,accP,angvelP) дополнительно задает скорость вращения системы координат платформы относительно системы координат навигации, angvelP. Выходные аргументы совпадают с теми из предыдущего синтаксиса.

Примеры

свернуть все

Задайте положение, скорость и ускорение системы координат платформы относительно системы координат навигации.

posPlat = [20 -1 0];
orientPlat = quaternion(1, 0, 0, 0);
velPlat = [0 0 0];
accPlat = [0 0 0];
angvelPlat = [0 0 1];

Задайте положение и смещение ориентации системы координат датчика IMU относительно системы координат платформы.

posPlat2IMU = [1 2 3];
orientPlat2IMU = quaternion([45 0 0], 'eulerd', 'ZYX', 'frame');

Вычислите количества движения системы координат датчика относительно навигации структурируют и распечатывают результаты.

[posIMU, orientIMU, velIMU, accIMU, angvelIMU] ...
    = transformMotion(posPlat2IMU, orientPlat2IMU, ...
    posPlat, orientPlat, velPlat, accPlat, angvelPlat);

fprintf('IMU position is:\n');
IMU position is:
fprintf('%.2f %.2f %.2f\n', posIMU);
21.00 1.00 3.00
orientIMU
orientIMU = quaternion
     0.92388 +       0i +       0j + 0.38268k

velIMU
velIMU = 1×3

    -2     1     0

accPlat
accPlat = 1×3

     0     0     0

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

свернуть все

Положение датчика структурирует относительно системы координат платформы в виде 1 3 вектор из действительных скаляров.

Пример: [1 2 3]

Ориентация датчика структурирует относительно системы координат платформы в виде quaternion или 3х3 матрица вращения.

Пример: quaternion(1,0,0,0)

Положение платформы структурирует относительно системы координат навигации в виде N-by-3 матрицу действительных скаляров. N является количеством количеств положения.

Пример: [1 2 3]

Ориентация платформы структурирует относительно системы координат навигации в виде N-by-1 массив кватернионов или 3 3 N массивом скаляров. Каждая 3х3 матрица должна быть матрицей вращения. N является количеством количеств ориентации.

Пример: quaternion(1,0,0,0)

Скорость платформы структурирует относительно системы координат навигации в виде N-by-3 матрицу действительных скаляров. N является количеством скоростных количеств.

Пример: [ 4 8 6]

Ускорение платформы структурирует относительно системы координат навигации в виде N-by-3 матрицу действительных скаляров. N является количеством ускоряющих количеств.

Пример: [4 8 6]

Скорость вращения платформы структурирует относительно системы координат навигации в виде N-by-3 матрицу действительных скаляров. N является количеством количеств скорости вращения.

Пример: [4 2 3]

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

свернуть все

Положение датчика структурирует относительно системы координат навигации, возвращенной как N-by-3 матрица действительных скаляров. N является количеством количеств положения, заданных posP входной параметр.

Ориентация датчика структурирует относительно системы координат навигации, возвращенной как N-by-1 массив кватернионов или 3 3 N массивом скаляров. N является количеством количеств ориентации, заданных orientP входной параметр. Возвращенный тип количества ориентации - то же самое с orientP входной параметр.

Скорость датчика структурирует относительно системы координат навигации, возвращенной как N-by-3 матрица действительных скаляров. N является количеством количеств положения, заданных velP входной параметр.

Ускорение датчика структурирует относительно системы координат навигации, возвращенной как N-by-3 матрица действительных скаляров. N является количеством количеств положения, заданных accP входной параметр.

Скорость вращения датчика структурирует относительно системы координат навигации, возвращенной как N-by-3 матрица действительных скаляров. N является количеством количеств положения, заданных angvelP входной параметр.

Больше о

свернуть все

Количества движения, используемые в transformMotion

transformMotion функция вычисляет количества движения системы координат датчика (S), который закрепляется на твердой платформе относительно системы координат навигации (N) с помощью монтирующейся информации датчика на платформе и информации о движении системы координат платформы (P).

Как показано на рисунке, положение и ориентация системы координат платформы и системы координат датчика закрепляются на платформе. Положением системы координат датчика относительно системы координат платформы является p SP, и ориентацией системы координат датчика относительно системы координат платформы является r SP. Поскольку две системы координат и фиксируются, p SP и r, SP является постоянным.

Чтобы вычислить количества движения системы координат датчика относительно системы координат навигации, количества, описывающие движение системы координат платформы относительно системы координат навигации, требуются. Эти количества включают: положение платформы (p PN), ориентация (r PN), скорость, ускорение, скорость вращения и угловое ускорение относительно системы координат навигации. Можно задать эти количества через входные аргументы функции кроме углового ускорения, которое всегда принимается, чтобы быть нулем в функции. Незаданные количества также приняты, чтобы быть нулем.

Введенный в R2020a