¿Estrategia de empuje y rotación para circularizar una órbita GTO estándar usando propulsión iónica?

La pregunta anterior ¿Cuánto tiempo se tarda en circularizar una órbita GTO usando propulsión iónica? tiene una buena respuesta cuantitativa basada en un delta-v conocido.

Pero me pregunto cómo apuntaría realmente un empuje de iones continuo mientras se mueve en una órbita altamente elíptica al principio. ¿Hay alguna manera de hacer esto sin desperdiciar mucho combustible? ¿O usa el impulso solo durante una fracción de la órbita (al principio) cuando está cerca del periápside y, por lo tanto, lleva más tiempo acumular el delta-v porque el impulsor está apagado la mayor parte del tiempo?

Aquí hay un cálculo rápido y tonto que muestra que para 0.2N y 2200 kg, comenzando a 300 km LEO, se necesitan alrededor de 600 días para llegar lentamente a GEO. El satélite gira una vez por revolución alrededor de la Tierra, por lo que tengo que reducir la velocidad de rotación un poquito de vez en cuando para mantenerlos sincronizados de modo que el empuje sea siempre tangente a la órbita circular.


Ahora supongamos que quiero comenzar desde una elipse de transferencia estándar de Hohman (GTO) y ejecutar mi programa nuevamente. Periapsis altitud 300km, apoapsis en GEO. Supongamos que no hay nada más en GEO con lo que colisionar para hacerlo simple.

P1: Para usar la menor cantidad de propulsor de iones, ¿debería la nave rotar lentamente o tener una actitud fija, tal vez tangente a la apoapsis? ¿Si gira, a una velocidad constante o en rampa?

P2: ¿Cómo se modularía el empuje y la actitud para hacer circular un GTO elíptico estándar utilizando la propulsión de iones de 0,2 N en la menor cantidad de tiempo?

ingrese la descripción de la imagen aquí

def deriv(X, t):

    r, v  = X.reshape(2, -1)
    vhat  = v / np.sqrt((v**2).sum())
    rhat  = r / np.sqrt((r**2).sum())
    rsq   = (r**2).sum()

    acc_grav   = -GMe * rhat  / rsq
    acc_thrust = vhat * acc   # right now, thrust is just in vhat direction

    return np.hstack((v, acc_grav + acc_thrust))


import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint as ODEint

GMe = 3.986004418E+14  # m^3/s^2

re  = 6371.E+03   # m
alt = 300.E+03    # m
a   = re + alt    # m
v0  = np.sqrt(GMe / a)  # vis-viva equation for circular

T = 2. * np.pi * a / v0
print "period (min) ", T/60., " at ", alt, " km altitude."

acc  = 0.2/2200.  # m/s^2  0.2N and 2200kg

X0   = np.array([a, 0, 0, 0, v0, 0])  # initial state vector

days = np.linspace(0, 600, 100000)
t    = days * 24. * 3600.

tol  = 1E-10  # good enough for rough answer but not an accurate trajectory
answer, blob = ODEint(deriv, X0, t, rtol=tol, atol=tol, full_output=True)

xp, yp  = 0.001*answer.T[:2]
alti_km = np.sqrt(xp**2 + yp**2) - 0.001*re

if 1 == 1:
    plt.figure()
    plt.subplot(3, 1, 1)
    plt.plot(days, xp)
    plt.plot(days, yp)
    plt.title('x, y (km)')
    plt.subplot(3, 1, 2)
    plt.plot(xp, yp)
    plt.title('xy (km)')
    plt.subplot(3, 1, 3)
    plt.plot(days, alti_km)
    plt.title('altitude (km)')
    plt.show()
Si tiene tiempo, una serie de encendidos progresivos cortos alrededor del periápside de cada órbita debería ser más eficiente que un empuje continuo, aprovechando el efecto Oberth. Sin embargo, supongo que la mayoría de los satélites propulsores de iones otorgan una mayor importancia al tiempo hasta la estación que al gasto en ∆v. en.wikipedia.org/wiki/Oberth_effect
Sí, supongo que también. Empecé a pensar en esto cuando leí las preguntas y respuestas vinculadas: parecía que las matemáticas no estaban considerando que no puedes usar el empuje de manera efectiva parte del tiempo, o que el GTO no era en realidad una elipse, lo que condujo a la bonificación. parte aquí.
No pude seguir su estrategia simulada, pero para un empuje continuo desde el perigeo bajo tradicional, el apogeo de altitud GEO, desea empujar directamente hacia abajo en el apogeo (para evitar elevarlo) pero progresar en el perigeo. ¡Así que necesita rotar 90 grados en la rama de entrada y 270 grados en la de salida!
OK, lo probaré, eso ciertamente suena razonable. Tengo la extraña sensación de que se puede hacer (o al menos aproximar) analíticamente, pero ahora que las computadoras portátiles son un Gigaflop, es fácil ser perezoso.
Sí, me volvería loco en el cálculo :)
@RussellBorogove Prograde quemaduras en periapsis? Esto no circulariza la órbita. Eleva la apoapsis y le da más excentricidad a la elipse. Para circularizar, necesita quemaduras en quemaduras progresivas en apoapsis (esto aumenta la pariapsis y reduce la excentricidad). Y las quemaduras por apoapsis no son buenas para explotar el beneficio de Oberth.
Oh, buen dolor. Lo siento, no sé en qué estaba pensando, publicado antes del café esta mañana.

Respuestas (2)

TL; DR: La optimización de la trayectoria para un empuje continuo es difícil y este campo es muy activo en investigación.

2021 aclaraciones:

Metodología

  1. Por la menor cantidad de combustible, lo mejor es el empuje la menor cantidad de tiempo posible y solo cuando es extremadamente eficiente ( η 0.98 ). Pero eso también implica que llevará una cantidad de tiempo increíblemente larga alcanzar la órbita deseada.
  2. Por el contrario, para alcanzar una órbita en el menor tiempo posible, se debe impulsar tanto como sea posible, incluso cuando no es tan eficiente .
  3. Por lo general, en la optimización de la trayectoria, establecemos un tiempo de transferencia máximo y optimizamos para el empuje total más bajo a lo largo del tiempo (es decir, el tiempo total más bajo). Δ v ) en ese tiempo máximo. Esto permite un buen equilibrio entre "menor cantidad de combustible" y "llevar esta nave espacial a la órbita de su misión y comenzar la ciencia/ganar dinero".

En esta respuesta anterior , menciono las leyes de control de Ruggiero: estas proporcionan los ángulos de empuje más eficientes basados ​​en una verdadera anomalía para cambiar un elemento orbital (o un conjunto de ellos). El documento también proporciona las derivadas parciales de las ecuaciones que se pueden usar para determinar la eficiencia ( η ) de modificar un elemento orbital en una anomalía verdadera dada.

respuestas

Estas respuestas son específicas para elevar el semieje mayor y alcanzar una excentricidad de cero. No responde a la solución para una órbita GEO real, que tiene restricciones adicionales sobre la inclinación (cerca de cero) y otros elementos orbitales específicos para una misión determinada.

P1: Para usar la menor cantidad de propulsor de iones, ¿debería la nave rotar lentamente o tener una actitud fija, tal vez tangente a la apoapsis? ¿Si gira, a una velocidad constante o en rampa?

Si su empuje siempre está en la dirección del vector de velocidad, está aumentando continuamente la velocidad de la nave espacial y, por lo tanto, aumentará su SMA (junto con la modificación de otros elementos). Para circularizar una órbita, necesitas elevar solo tu periapsis hasta que coincida con tu apoapsis. Para elevar tu SMA, necesitas empujar todo el tiempo... pero eso afectará tu excentricidad. Por lo tanto, el mejor enfoque probablemente sea elevar su SMA hasta GEO y luego circularizar su órbita. Para consumir la menor cantidad de combustible, solo debe encender su motor cuando se encuentre dentro de una región muy pequeña de su periapsis, de modo que su apoapsis aumente ligeramente media órbita más tarde. Repita eso hasta que haya alcanzado su objetivo de SMA. Luego circulariza.

P2: ¿Cómo se modularía el empuje y la actitud para hacer circular un GTO elíptico estándar utilizando la propulsión de iones de 0,2 N en la menor cantidad de tiempo?

Uno estaría continuamente empujando y variando los ángulos en el plano y fuera del plano de tal manera que tanto la inclinación como la SMA se modifican en un momento dado a lo largo de la órbita, pero ponderando uno de los elementos orbitales más que el otro en función de su eficiencia. El kit de herramientas de astrodinámica Nyx de alta fidelidad proporciona las leyes de control de Ruggiero listas para usar.

Detalles completos (2017)

Editar: con respecto a la rotación de su nave espacial, querrá trazar los ángulos de empuje en el plano y fuera del plano (con respecto al marco RNC de la nave espacial). Eso le dará una idea de cuánto necesitan cardán los motores antes de empujar. Ese ángulo depende completamente de los parámetros orbitales que esté cambiando (cf. leyes de control de Naasz, Ruggiero y Petropoulos). Espero que ese ángulo no varíe mucho a lo largo de una corrección de órbita, pero puedo estar equivocado (con suerte tendré una respuesta pronto ). Esta expectativa se basa en las ecuaciones que realizan la corrección óptima instantánea de cada parámetro, cf. figuras 4 y 5 en la parte inferior.

Si usa empuje continuo, generalmente querrá resolver el problema de control óptimo. Al resolver un problema de control óptimo, está minimizando un funcional, es decir, está buscando una función (el control) que minimice su función de costo en cada paso de tiempo (ver captura de pantalla de la presentación de mi grupo a continuación).

Hay diferentes formas de resolver el problema de control óptimo para el diseño de trayectorias de bajo empuje y (como suele suceder, lamentablemente) cada grupo de investigadores es algo aislado.

De la investigación (inédita) que hicimos dos colegas y yo, hay algunas estrategias para resolver esto, que resumo a continuación. Todos menos el primero resuelven un problema de control óptimo.

  1. El más simple: use una ley de control de circuito cerrado subóptima (como la Ley Q de Petropoulos) que se alimenta a un optimizador como un algoritmo genético. Esto conduce a una solución subóptima para la trayectoria, pero a menudo está muy cerca de la solución óptima. Todo lo que necesita es codificar Q-Law y GA y definir una órbita inicial y final. Otros controles que vale la pena revisar incluyen Naasz y Ruggiero (pero tenga en cuenta que la formulación inicial para el control Naasz solo se validó en casos en los que desea aumentar el valor de un parámetro orbital y necesita realizar un ligero cambio en las ecuaciones para hacer funciona al revés (puedo proporcionar la información si es necesario, validé los cambios en mi propia investigación)).

  2. El método más teórico y matemático: los métodos indirectos, que resuelven el problema del valor límite de dos puntos al encontrar la arpillera. Requiere las condiciones iniciales y finales deseadas. Existen varios métodos de este tipo, en su mayoría iniciados por Betts en 1998, incluidos los disparos directos, los disparos indirectos y, más recientemente, la colocación indirecta. Uno de los problemas que encontrará es la selección de los multiplicadores de Lagrange iniciales, sabiendo que una mala elección puede impedir la convergencia. Además, estos métodos conducen a soluciones de ciclo abierto.

  3. Métodos directos: se discretiza el tiempo y en cada paso se intenta encontrar el mejor control. Este también es un método de ciclo abierto, y debido a cómo se plantea el problema, se encuentra con la maldición de la dimensionalidad (cf. Lantoine 2012). Sin embargo, esto es considerado por algunos como el estado del arte de la optimización de la trayectoria (cf. "Optimización de la trayectoria de la nave espacial", Conway 2010).

  4. Una mejor manera: programación dinámica: la idea aquí es dividir el problema en problemas independientes más simples (un enfoque similar a "divide y vencerás") y aplicar el principio de optimización (principio de recorrido del gráfico de Bellman donde el camino más corto de a a c corresponde al camino más corto de a a b y de b a c) (cf. figura 2). El principal inconveniente aquí es que dividir el espacio de estado en subproblemas independientes significa que usará una tonelada de memoria para almacenar las soluciones en curso... y luego deberá atravesar este gráfico. Sin embargo, la principal ventaja es que siempre encontrará la solución óptima global, y el funcional devuelto es un control de bucle cerrado.

  5. Programación dinámica diferencial: este no es un método muy nuevo per se, pero definitivamente está ganando seguimiento nuevamente en la historia reciente. Específicamente, se usa en NASA Mystic, que realiza la optimización de la trayectoria para la misión Dawn (que tiene tres Safran PPS-1350 pero solo uno encendido cada vez, es una misión bastante buena). La idea de este método es elegir una suposición inicial para el control, propagar la dinámica (real) hacia adelante, calcular el costo, realizar una corrección del control propagándose hacia atrás (pero usando una aproximación cuadrática de la dinámica (es decir, necesita la matriz de transición de estado y el jacobiano del STM también, que es el hessiano de la dinámica)), y finalmente verifique si está minimizando la función de costo al propagarse hacia adelante nuevamente (ver figura 3). Las referencias que tienes

¡Espero que esto ayude!

Figura 1Figura 1

Figura 2Figura 2

figura 3figura 3

Figura 4Figura 4

Figura 5Figura 5

¡ Esta es una respuesta realmente hermosa ! Creo que se merece una pregunta mejor que esta. Para un problema restringido de un GTO elíptico de 300 x 35786 a un GEO circular, es posible que un método simplificado de "elipse en evolución" sea mejor que una iteración punto por punto en toda la órbita. El problema aquí es que el satélite debe estar girando de modo que cada vez que alcance el periápside, el motor apunte en la dirección correcta y probablemente involucre 400 o 500 órbitas, cada una un poco más grande. Lo que tiene aquí se adapta mejor al problema del tipo llegar a Júpiter a través de la variedad.
Gracias :-) Permítanme editar la respuesta para hablar sobre el problema de rotación, que en su mayoría no es un problema.
Sigo pensando que esta respuesta merece una pregunta mucho mejor que esta.
Me di cuenta de que si bien esto explica las formas en que uno podría determinar una estrategia, en realidad no la nombra. Q y Q2 son dos preguntas muy claras, y ninguna se responde aquí. Lo que fui demasiado cortés al decir hace cuatro años es que, si bien esto probablemente responde muy bien a una pregunta diferente, no responde a mi pregunta tal como se la hice. Así que no lo acepté y decidí volver a poner esto en juego.
@uhoh Actualizado ;-)
¡Súper! Por supuesto, "cuando estás dentro de una región muy pequeña de tu periapsis" y "empuje bajo (0,2 N)" no son tan compatibles, pero déjame tomarme un tiempo para leer tu extensa edición, ¡gracias!

Originalmente publiqué esta respuesta aquí . Esta es una figura que tengo de una tarea de clase de hace unos años. Si bien definitivamente no es una trayectoria práctica, muestra las características de cómo pasar de una órbita elíptica a una circular. Transferencia de bajo empuje de una órbita elíptica a una circularEsta solución se calculó mediante optimización indirecta. Este problema supuso una magnitud de empuje constante (por lo que el propulsor siempre está disparando), siendo la variable de control el ángulo de empuje. La función objetivo fue min(t_f).

Como muestra la figura, los vectores de empuje (flechas amarillas) están aproximadamente en la dirección de la velocidad cerca del periapsis y el apoapsis, y son aproximadamente perpendiculares entre los ábsides. En general, cuando los vectores de empuje están alineados con el vector de velocidad (paralelo o antiparalelo), están ajustando la energía orbital (y por lo tanto aumentando/disminuyendo el semieje mayor). Cuando los vectores de empuje son perpendiculares a la velocidad, están ajustando la excentricidad (forma) y el argumento del periapsis (orientación) de la órbita.

Este problema es 2D, pero para lograr un cambio de inclinación querrás empujar fuera del plano cerca de los ábsides. Puede visualizar esto como apuntando "hacia la página" en el periapsis, y girando lentamente hacia arriba hasta que esté en el plano en el punto medio, y finalmente "fuera de la página" en el apoapsis.

Una transferencia más realista de GTO a GEO usaría MUCHAS espirales más que en este problema (que es una transferencia tonta de una órbita elíptica loca a la órbita de Marte). ¡Para un CubeSat o smallsat con propulsión muy limitada, una transferencia de alrededor de 6 meses podría tomar más de 250 espirales!

Otra distinción notable que se debe hacer es que este problema resolvió una transferencia de tiempo mínimo en lugar de una transferencia de combustible mínima. En general, los problemas de combustible mínimo son notoriamente mucho más difíciles de resolver usando optimización indirecta, y es común usar homotopía para resolver primero el problema min(u^2) (donde u es el esfuerzo de control, en este caso la magnitud de empuje ), y luego, con un paso matemático sofisticado, cada vez más cerca de min(u). El problema min(u^2) tiene un radio de convergencia mucho más amplio, por lo que es mucho más fácil encontrar conjeturas iniciales exitosas de los costos. Estas dificultades numéricas son parte de la razón por la que casi siempre se prefieren los métodos directos en la práctica. Para transferencias de muy bajo empuje, una transferencia de tiempo mínimo a menudo puede estar cerca de una transferencia de propulsor mínimo.

Cuando tenga un gran empuje disponible, una transferencia de GTO a GEO se completaría con maniobras impulsivas en los ábsides. A medida que su nivel de empuje máximo disminuya, tendrá que empujar sobre secciones más grandes de la órbita, tendrá que empujar para obtener más órbitas, o ambas cosas. El propulsor disponible y las limitaciones de tiempo impulsarán la selección de la trayectoria final.

Esto es genial, gracias!