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];

Определите положение и смещение ориентации кадра БИНС относительно системы координат платформы.

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 (Sensor Fusion and Tracking Toolbox) или матрица вращения 3 на 3.

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

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

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

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

Подробнее о

свернуть все

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

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

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

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

См. также

|

Введенный в R2020a