Contenido principal

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

gravitydir

Vector de dirección de gravedad para una orientación dada

Desde R2023b

Descripción

D = gravitydir(orientations) devuelve el vector de dirección de gravedad normalizado expresado en cuadros definidos por orientations. De forma predeterminada, el marco de referencia de estas orientaciones es el marco de referencia noreste abajo (NED). Consulte Dirección de gravedad para obtener más detalles.

ejemplo

D = gravitydir(orientations,RF) especifica el marco de referencia como el marco "NED" (noreste-abajo) o el marco "ENU" (este-norte-arriba).

Ejemplos

contraer todo

Cree un cuaternión de identidad y obtenga el vector de dirección de gravedad correspondiente. Verifique que el vector de dirección de la gravedad sea [0 0 1] como se esperaba.

quat0 = ones(1,"quaternion");
dir1 = gravitydir(quat0)
dir1 = 1×3

     0     0     1

A continuación, cree un cuaternión que corresponda a una rotación x de 90 grados. Obtenga el vector de dirección de la gravedad.

angles = [0 0 90];
quat1 = quaternion(angles,"eulerd","ZYX","frame");
dir2 = gravitydir(quat1)
dir2 = 1×3

         0    1.0000    0.0000

Puedes verificar visualmente este resultado utilizando la función poseplot. En la figura, puedes ver que la aceleración gravitacional está a lo largo del eje y.

poseplot(quat1)

Figure contains an axes object. The axes object is empty.

Cambie el marco de referencia al marco este-norte-arriba (ENU) y obtenga el vector de dirección de la gravedad.

dir3 = gravitydir(quat1,"ENU")
dir3 = 1×3

         0   -1.0000   -0.0000

Finalmente, cree un vector de cuaterniones aleatorios y obtenga los vectores de dirección de gravedad correspondientes.

rng(2023) % For repeatable results
quats = randrot(10,1);
D = gravitydir(quats)
D = 10×3

   -0.2859   -0.8615   -0.4197
   -0.7971   -0.3204    0.5119
    0.3598    0.7139   -0.6007
    0.3622    0.6720    0.6460
    0.1749    0.4020    0.8988
    0.4627    0.3655   -0.8077
    0.3134    0.8613    0.4000
    0.8776    0.4267   -0.2185
   -0.9924   -0.1226    0.0137
    0.4086   -0.4099    0.8155

Argumentos de entrada

contraer todo

Orientaciones, especificadas como un vector N por 1 de objetos quaternion o como un arreglo de matrices de rotación de 3 por 3 por N. N es el número total de orientaciones.

Marco de referencia, especificado como "NED" para el marco noreste hacia abajo o "ENU" para el marco este-norte hacia arriba.

Tipos de datos: string | char

Argumentos de salida

contraer todo

Vectores de dirección de gravedad, devueltos como una matriz de valores reales N por 3. N es el número total de orientaciones. Cada fila de la matriz es un vector de dirección de la gravedad.

Más acerca de

contraer todo

Capacidades ampliadas

expandir todo

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Historial de versiones

Introducido en R2023b

Consulte también

| |