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.

gravitydir

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

Desde R2023b

Descripción

ejemplo

D = gravitydir(orientations) devuelve el vector de dirección de gravedad normalizado expresado en fotogramas 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.

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

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

Puede 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 abajo o "ENU" para el marco este-norte arriba.

Tipos de datos: string | char

Argumentos de salida

contraer todo

Vectores de dirección de gravedad, devueltos como una matriz de valor real 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

Dirección de gravedad

La función gravitydir devuelve el vector de dirección de la gravedad expresado en la estructura del cuerpo cuya orientación está dada por el argumento de entrada orientations . Por ejemplo, en el marco de referencia NED, la orientación define la transformación de coordenadas de rotación del marco NED (X-Y-Z) al marco del cuerpo (x-y-z). La función gravitydir resuelve el vector de dirección de gravedad g en tres componentes g x , g y , y g z y devuelve estos componentes.

Gravity direction vector decomposition

Capacidades ampliadas

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

| |