Construyendo el marco ISS LVLH en coordenadas ECEF/ITRF

Estoy tratando de calcular los vectores base LVLH (Local-Vertical-Local-Horizontal) de la Estación Espacial Internacional (ISS) expresados ​​en el marco ECEF/ITRF en un momento dado. El punto es entonces calcular la matriz de rotación para rotar vectores en ECEF a LVLH (y viceversa).

Tengo un procedimiento para hacer eso, pero no estoy seguro si se hace correctamente. Es por eso que pido ayuda aquí para verificar lo que estoy haciendo, que se presenta a continuación.

El marco ISS LVLH se define como en la siguiente imagen:

ingrese la descripción de la imagen aquí

Consideremos una hora específica: 2019-Mar-24 00:31:53.135444 UTC.

Primero, la biblioteca Skyfield en Python se usa para obtener la posición de la ISS y su vector de velocidad para un tiempo específico usando el método ITRF_position_velocity_error de la clase sgp4lib.EarthSatellite :

Longitud (grados), Latitud (grados), Altitud (km) : 55,34071583, 0,10055032, 408,59435164
Vector unitario de posición (ITRF) : R == (0,56869428, 0,82254713, 0,00174319)
Vector unitario de velocidad (ITRF) : V == (-974166 , 0,33092048, -0,81587662)

(El TLE utilizado es:
1 25544U 98067A 19083.06129885 -.00367384 00000-0 -62017-2 0 9991
2 25544 51.6362 64.4008 0003657 146.0534 252.65212 9052)

Entonces los vectores base LVLH X - Y - Z se calculan con:

Z = - R / || R ||
Y = Z X V
EDITAR: debería ser: Y = Z X V / || Z X V ||
X = Y X Z

Que, en este caso da los valores:

X = (-0,47480547, 0,33000101, -0,81587857)
Y = (0,67167383, -0,4631578, -0,57821957)
Z = (-0,56869428, -0,82254713, -0,00174319)

Luego, calcular la matriz de rotación e invertirla es sencillo.

¿Es correcto este método?

Gracias de antemano por la ayuda.

Respuestas (3)

¿Es correcto este método?

No exactamente. estas asumiendo que r ^ y v ^ son ortogonales. Una revisión rápida muestra que este no es exactamente el caso. La órbita de la ISS no es del todo circular.

Esto significa que mientras su y ^ apunta en la dirección correcta, no es un vector unitario. Puedes convertirlo en un vector unitario dividiendo por la magnitud. Entonces puedes calcular z ^ = X ^ × y ^ . Desafortunadamente, este tampoco será un vector unitario debido a los caprichos de la aritmética de coma flotante, pero estará muy cerca.

Me parece correcto en una primera aproximación.

Una verificación de cordura útil es que X sale cerca de V (porque la órbita es casi circular y, por lo tanto, V ya era casi perpendicular a R para empezar).

Otra es señalar que la ISS estaba a punto de cruzar el plano ecuatorial (el ITRF z coordenada de R es casi cero) y moviéndose en una dirección un poco más al sur que al sureste: V forma un ángulo de 54.67 grados con este plano. Esto es mayor que la inclinación orbital de 51,6° porque el ITRF está co-rotando hacia el este con la Tierra. El vector unitario de velocidad expresado en un marco inercial tendría una componente ligeramente mayor hacia el este local y, por lo tanto, formaría un ángulo más agudo con el plano ecuatorial.

Sin embargo, creo que tendrá que compensar este efecto de "aberración" para obtener la Y y luego la X correctas . (Considere un satélite LEO en una órbita polar circular en el momento en que cruza el plano ecuatorial de sur a norte. Tendrá el polo norte celeste justo frente a él: X = (0, 0, 1). Pero su V en los términos del ITRF apuntarán un poco al O del norte debido a que el ITRF continúa moviéndose hacia el este aproximadamente medio km/s sobre el ecuador, el valor exacto depende de la altitud del satélite).

El principal problema que veo es que la imagen incluida en realidad no define lo que necesitamos saber. Muestra dónde están orientados los ejes con respecto a la forma de la estación, pero no dice nada acerca de dónde apuntan esas direcciones. Incluso trabajando con una nave espacial estabilizada por giro o un planeta giratorio, no existe una relación necesaria entre el eje de rotación de un cuerpo y el eje de revolución orbital sobre el otro cuerpo. Con un sistema de control de tres ejes como el que proporciona un grupo de CMG, el operador del satélite puede elegir la dirección que desee en cualquier momento. No hay nada que defina qué relación se ordena realmente en la práctica, ya sea que tenga que ver con la combinación de +Z ±R, ±V, ±R × V, o apuntando al centro del sol, la estrella Arcturus, la casa del operador, o cualquier otra cosa.

El comentario que afirma que LVLH está "bien definido" es incorrecto. Diferentes referencias etiquetan los mismos ejes con letras diferentes, lo que provoca que dos cosas que ambas dicen que son LVLH no estén de acuerdo. Incluso si dos referencias coinciden en qué dirección es vertical y qué letra va con ella, dos direcciones perpendiculares cualesquiera en el plano horizontal son tan válidas como cualquier otra elección.

Por ejemplo, si usa STK, su ayuda en línea define LVLH como

  • el eje X está a lo largo del vector de posición + R (posición)
  • el eje Z está a lo largo de la órbita normal + R × V (órbita normal)
  • el eje Y es hacia la velocidad Y = Z × X

Si en cambio usa FreeFlyer, su ayuda en línea define LVLH como

  • Eje Z: Vector que apunta en la dirección opuesta al vector de posición (apunta al centro de la Tierra)
  • Eje Y: vector que apunta en la dirección opuesta a la órbita normal (la órbita normal es el producto cruzado de la posición y la velocidad)
  • Eje X: vector perpendicular a los ejes y y z, formando un sistema de coordenadas de mano derecha

Para que STK le brinde lo que FreeFlyer llama LVLH, no debe solicitar LVLH, sino VVLH ("Velocidad del vehículo, horizontal local").

Tratando de encontrar lo que la ISS en particular usa condujo aquí y aquí . El primero de ellos dice que LVLH en la ISS generalmente significa +Z = -R y +X hacia +V, pero a veces giran 90 grados (pero no dice si eso convierte +X en +Y o -Y) en una alternativa LVLH, y a veces apuntan X perpendicular al plano de la órbita y dejan que Z apunte dondequiera que aterrice. El segundo dice que la transición de +Z nadir a casi inercial depende del ángulo solar desde el plano de la órbita, pero incluso eso es demasiado simple, ya que en el llamado LVLH en realidad vuelan ligeramente para cancelar el par de arrastre.

Si desea saber dónde está algo, en función de su posición relativa a los ejes del cuerpo de la ISS, las letras "LVLH" por sí solas simplemente no son suficientes.

Se dice que es LVLH, que está bien definido.
El comentario anterior es correcto. Está bien definido, oficialmente definido, para la ISS en la página 3-12 aquí asi.org/adb/04/02/00/iss-coordinate-systems.pdf