Main Content

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

transformMotion

Calcular cantidades de movimiento entre dos cuadros relativamente fijos.

Desde R2020a

Descripción

[posS,orientS,velS,accS,angvelS] = transformMotion(posSFromP,orientSFromP,posP) calcula las cantidades de movimiento del marco del sensor en relación con el marco de navegación (posS, orientS, velS, accS y angvelS) usando la posición del marco del sensor en relación con el marco de la plataforma, posSFromP, la orientación del sensor marco relativo al marco de la plataforma, orientSFromP, y la posición del marco de la plataforma relativa al marco de navegación, posP. Tenga en cuenta que se supone que la posición y orientación entre el marco del sensor y el marco de la plataforma son fijas. Además, se supone que las cantidades no especificadas entre el marco de navegación y el marco de la plataforma (como la orientación, la velocidad y la aceleración) son cero.

[___] = transformMotion(posSFromP,orientSFromP,posP,orientP) especifica adicionalmente la orientación del marco de la plataforma en relación con el marco de navegación, orientP. Los argumentos de salida son los mismos que los de la sintaxis anterior.

ejemplo

[___] = transformMotion(posSFromP,orientSFromP,posP,orientP,velP) especifica adicionalmente la velocidad del marco de la plataforma en relación con el marco de navegación, velP. Los argumentos de salida son los mismos que los de la sintaxis anterior.

[___] = transformMotion(posSFromP,orientSFromP,posP,orientP,velP,accP) especifica adicionalmente la aceleración del marco de la plataforma en relación con el marco de navegación, accP. Los argumentos de salida son los mismos que los de la sintaxis anterior.

[___] = transformMotion(posSFromP,orientSFromP,posP,orientP,velP,accP,angvelP) especifica adicionalmente la velocidad angular del marco de la plataforma en relación con el marco de navegación, angvelP. Los argumentos de salida son los mismos que los de la sintaxis anterior.

Ejemplos

contraer todo

Defina la pose, la velocidad y la aceleración del marco de la plataforma en relación con el marco de navegación.

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

Defina la posición y el desplazamiento de orientación del marco del sensor IMU en relación con el marco de la plataforma.

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

Calcule las cantidades de movimiento del marco del sensor en relación con el marco de navegación e imprima los resultados.

[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

Argumentos de entrada

contraer todo

Posición del marco del sensor en relación con el marco de la plataforma, especificada como un vector de escalares reales de 1 por 3.

Ejemplo: [1 2 3]

Orientación del marco del sensor con respecto al marco de la plataforma, especificada como quaternion o una matriz de rotación de 3 por 3.

Ejemplo: quaternion(1,0,0,0)

Posición del marco de la plataforma en relación con el marco de navegación, especificada como una matriz N-por-3 de escalares reales. N es el número de cantidades de posición.

Ejemplo: [1 2 3]

Orientación del marco de la plataforma en relación con el marco de navegación, especificada como un arreglo N -por-1 de cuaterniones, o una matriz de 3 por 3-por- N de escalares. Cada matriz de 3 por 3 debe ser una matriz de rotación. N es el número de cantidades de orientación.

Ejemplo: quaternion(1,0,0,0)

Velocidad del marco de la plataforma en relación con el marco de navegación, especificada como una matriz N-por-3 de escalares reales. N es el número de cantidades de velocidad.

Ejemplo: [ 4 8 6]

Aceleración del marco de la plataforma en relación con el marco de navegación, especificada como una matriz N-por-3 de escalares reales. N es el número de cantidades de aceleración.

Ejemplo: [4 8 6]

Velocidad angular del marco de la plataforma en relación con el marco de navegación, especificada como una matriz N-por-3 de escalares reales. N es el número de cantidades de velocidad angular.

Ejemplo: [4 2 3]

Argumentos de salida

contraer todo

Posición del marco del sensor en relación con el marco de navegación, devuelta como una matriz N-por-3 de escalares reales. N es el número de cantidades de posición especificadas por la entrada posP .

Orientación del marco del sensor en relación con el marco de navegación, devuelta como un arreglo N -por-1 de cuaterniones, o una matriz de 3 por 3-por- N de escalares. N es el número de cantidades de orientación especificadas por la entrada orientP . El tipo de cantidad de orientación devuelta es el mismo que el de la entrada orientP .

Velocidad del marco del sensor en relación con el marco de navegación, devuelta como una matriz N-por-3 de escalares reales. N es el número de cantidades de posición especificadas por la entrada velP .

Aceleración del marco del sensor en relación con el marco de navegación, devuelta como una matriz N-por-3 de escalares reales. N es el número de cantidades de posición especificadas por la entrada accP .

Velocidad angular del marco del sensor en relación con el marco de navegación, devuelta como una matriz N-por-3 de escalares reales. N es el número de cantidades de posición especificadas por la entrada angvelP .

Más acerca de

contraer todo

Cantidades de movimiento utilizadas en transformMotion

La función transformMotion calcula las cantidades de movimiento del marco del sensor (S), que está fijado sobre una plataforma rígida, en relación con el marco de navegación (N) utilizando la información de montaje del sensor en la plataforma y la información de movimiento del marco de la plataforma (P).

Como se muestra en la figura, la posición y orientación del marco de la plataforma y el marco del sensor están fijadas en la plataforma. La posición del marco del sensor con respecto al marco de la plataforma es p SP , y la orientación del marco del sensor con respecto al marco de la plataforma es r SP . Dado que los dos marcos son fijos, p SP y r SP son constantes.

Para calcular las cantidades de movimiento del marco del sensor con respecto al marco de navegación, se requieren las cantidades que describen el movimiento del marco de la plataforma con respecto al marco de navegación. Estas cantidades incluyen: la posición de la plataforma (p PN ), la orientación (r PN ), velocidad, aceleración, velocidad angular y aceleración angular en relación con el marco de navegación. Puede especificar estas cantidades a través de los argumentos de entrada de la función, excepto la aceleración angular, que siempre se supone que es cero en la función. También se supone que las cantidades no especificadas son cero.

Transform Motion

Historial de versiones

Introducido en R2020a

Consulte también

|