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.

Convención de orientación, posición y coordenadas

El Navigation Toolbox™ le permite rastrear la orientación, posición, pose y trayectoria de una plataforma. Una plataforma se refiere generalmente a cualquier objeto cuyo estado desee realizar un seguimiento.

Orientación

La orientación se define por el desplazamiento angular. La orientación se puede describir en términos de rotación de punto o marco. En la rotación de puntos, el sistema de coordenadas es estático y el punto se mueve. En la rotación del marco, el punto es estático y el sistema de coordenadas se mueve. Para un eje y ángulo de rotación dados, la rotación del punto y la rotación del marco definen un desplazamiento angular equivalente pero en direcciones opuestas.

Navigation Toolbox tiene como valor predeterminado la rotación del cuadro.

Point Rotation and Frame Rotation

En la representación de cuadros, la orientación se define como la rotación que lleva el cuadro principal al cuadro secundario. La elección de los marcos principales y secundarios depende del problema que se vaya a resolver. Por ejemplo, cuando manipula el montaje de un sensor en una plataforma, puede seleccionar el marco del cuerpo de la plataforma como marco principal y seleccionar el marco de montaje del sensor como marco secundario. La rotación desde el bastidor del cuerpo de la plataforma hasta el bastidor de montaje del sensor define la orientación del sensor con respecto a la plataforma.

Sensor Fame and Body Frame Illustration

Navigation Toolbox admite principalmente el marco de coordenadas NED (noreste-abajo). También puede utilizar el marco de coordenadas ENU (este-norte-arriba) en muchas funciones.

NED and ENU Frame Illustration

Rotación de marco

Para relacionar una orientación con otra debes rotar un marco. La tabla resume las convenciones de rotación z-y-x. También puede utilizar otras convenciones, como la convención de rotación z-x-z. Consulte el argumento de secuencia de rotación (RS) de quaternion para obtener más detalles sobre estas convenciones.

VariableÁngulo de EulerSímboloIntervalo de salida (grados)
zGuiñadaψ−180 ≤ ψ < 180
yPasoθ−90 ≤ θ ≤ 90
XRolloϕ−180 ≤ ϕ < 180

Un ángulo de rotación positivo corresponde a una rotación en el sentido de las agujas del reloj alrededor de un eje cuando se ve desde el origen a lo largo de la dirección positiva del eje. La convención de la mano derecha es equivalente, donde la rotación positiva se indica mediante la dirección en la que los dedos de la mano derecha se curvan cuando el pulgar apunta en la dirección del eje de rotación.

Para definir la rotación del marco tridimensional, debe rotar secuencialmente alrededor de los ejes. Navigation Toolbox utiliza rotación intrínseca (marco transportado), en la que, después de cada rotación, el eje se actualiza antes de la siguiente rotación. Por ejemplo, para rotar un eje usando la convención z-y-x:

  1. Gire el marco principal alrededor del eje z para obtener un nuevo conjunto de ejes, (x', y', z), donde los ejes x- y y-han cambiado a x'- y y'-ejes y el z-eje permanece sin cambios.

    [x'y'z]=Rz(ψ)[xyz]

  2. Gire el nuevo conjunto de ejes alrededor del eje y', lo que produce otro nuevo conjunto de ejes, (x'', y', z').

    [x''y'z']=Ry(θ)[x'y'z]

  3. Gire este nuevo conjunto de ejes alrededor del eje x'', llegando al marco secundario deseado, (x'', y'', z'').

    [x''y''z'']=Rx(ϕ)[x''y'z']

Three consecutive rotations

Esta secuencia de rotaciones sigue la convención descrita en Rotaciones, orientación y cuaterniones. La matriz de rotación requerida para convertir un vector en el marco principal en un vector en el marco secundario para una orientación, cabeceo y balanceo determinados se calcula como:

R(ψ,θ,ϕ)=Rx(ϕ)Ry(θ)Rz(ψ)=[cosψcosθsinψcosθsinθcosψsinθsinϕsinψcosϕsinψsinθsinϕ+cosψcosϕcosθsinϕcosψsinθcosϕ+sinψsinϕsinψsinθcosϕcosψsinϕcosθcosϕ]

Para las funciones que admiten el procesamiento basado en fotogramas, Navigation Toolbox proporciona coordenadas como una matriz N-por 3, donde N es el número de muestras en el tiempo y las tres columnas corresponden a los ejes x-, y-, y z -. El siguiente cálculo gira un marco principal a un marco secundario:

achild=(R(ψ,θ,ϕ)×(aparent)T)T

donde a principal representa una matriz de coordenadas N-por-3 expresado en el marco de coordenadas principal y a secundario es la matriz de coordenadas resultante N-por-3 expresada en el marco de coordenadas secundario .

Navigation Toolbox permite un cálculo de orientación eficiente utilizando el tipo de datos quaternion . Para crear una matriz de rotación usando cuaterniones, use la función rotmat .

Vector gravitacional expreso en estructura corporal

En un marco NED, el vector gravitacional se puede expresar como

gNED = [0 0 9.8]; % m/s^2

Considere un bastidor de carrocería obtenido mediante una rotación consecutiva de 20 grados en guiñada, 5 grados en cabeceo y 10 grados en balanceo desde el bastidor NED principal.

yaw = 20; % degree
pitch = 5; % degree
roll = 10; % degree

Para obtener la expresión del vector gravitacional en la estructura del cuerpo, primero se obtiene el quaternion correspondiente a los tres ángulos de Euler consecutivos.

q = quaternion([yaw pitch roll],"eulerd","zyx","frame");

Luego, usando la función de objeto rotateframe , puedes obtener las coordenadas del vector gravitacional en la estructura del cuerpo como

gBody = rotateframe(q,gNED)
gBody = 1×3

   -0.8541    1.6953    9.6144

Alternativamente, puede obtener las coordenadas usando la matriz de rotación. Primero, usa la función de objeto rotmat de quaternion para obtener la matriz de rotación correspondiente que transforma las coordenadas del marco NED al marco del cuerpo.

R = rotmat(q,"frame");

Luego, obtenga las coordenadas del vector gravitacional en la estructura del cuerpo como

gBody2 = (R*gNED')'
gBody2 = 1×3

   -0.8541    1.6953    9.6144

Posición

La posición se define como la distancia de traslación desde el origen del marco principal al origen del marco secundario. Por ejemplo, tome el sistema de coordenadas NED local como marco principal. En el sistema de coordenadas NED:

  • El origen se fija arbitrariamente en un punto de la superficie de la Tierra. Esto hace que el sistema de coordenadas NED sea local.

  • El eje x apunta hacia el elipsoide norte.

  • El eje y apunta hacia el elipsoide este.

  • El eje z apunta hacia abajo a lo largo de la normal del elipsoide (latitud geodésica, ρ).

NED Frame Illustration

Azimut y elevación

Dado un vector en R3:

  • El acimut se define como el ángulo entre el eje x y la proyección ortogonal del vector en el plano xy. El ángulo es positivo yendo desde el eje x hacia el eje y. El acimut se da en grados en el rango [−180, 180).

  • La elevación se define como el ángulo desde la proyección sobre el plano xy hasta el vector. El ángulo es positivo yendo desde el plano xy al eje z. La elevación se da en grados en el rango [−90, 90].

Azimuth and Elevation Illustration

Pose y trayectoria

Para especificar completamente un objeto en el espacio 3D, puede combinar posición y orientación. Pose se define como la combinación de posición y orientación. La trayectoria define cómo cambia la pose con el tiempo. Para generar trayectorias de ground-truth en Navigation Toolbox, utilice kinematicTrajectory o waypointTrajectory.

Consulte también

| |

Referencias

[1] IEEE. Standard for Distributed Interactive Simulation – Application Protocols. IEEE P1278.1/D16, Rev 18, May 2012.