Simulación de trayectoria de retorno libre lunar

He estado tratando de simular una trayectoria de retorno libre lunar utilizando los vectores de estado para la nave espacial Apolo proporcionados por JPL después de que hayan realizado su encendido de inyección translunar.

Entendí que si algo hubiera salido mal, las naves espaciales Apolo simplemente habrían girado alrededor de la luna y luego de regreso a la Tierra. Sin embargo, en todas mis simulaciones, sin tener en cuenta qué misión Apolo estoy usando para los vectores, la nave espacial no gira alrededor de la luna antes de regresar a la Tierra, sino que entra en una trayectoria hiperbólica... Adiós valientes astronautas :(

Me pregunto si alguien podría arrojar algo de luz sobre si esto se debe a que mi algoritmo no es lo suficientemente potente (probé pasos de tiempo súper mega lentos pero siempre obtienes el mismo resultado), o si me he perdido algo.

¿Puedes agregar una captura de pantalla de la órbita? ¿Qué tan cerca de la luna pasa? ¿Qué sucede si intenta cambiar sus vectores de estado en una cantidad muy pequeña a la vez? Por ejemplo, si simplemente vuelve a ejecutar su simulación y muy lentamente apunta más cerca o más lejos de la luna, ¿cuánto tiene que cambiar para que pase dentro de los 100 km de la luna? Podría ser muy sensible al vector de estado inicial, piense en el redondeo. Además, ¿cómo obtienes la posición y la velocidad exactas de la luna durante la era Apolo? ¿Estás usando una efemérides?
¿Estás enviando la nave a la dirección de la órbita lunar retrógrada, como deberías? Si te acercas a la luna "desde atrás" e intentas entrar en una órbita progresiva (primer sobrevuelo en el lado opuesto de la Luna), obtendrás una asistencia de aceleración que te expulsará del sistema. Tienes que pasar "delante de él", salir "detrás", hacer una "figura 8" en relación con el sistema Tierra-Luna.
¿Podría describir su simulación? ¿Simuló las fuerzas de gravedad de la tierra, la luna y el sol en la nave espacial Apolo desde la órbita terrestre hasta la luna? ¿Qué pasa con los intervalos de simulación en tiempo y distancia?
Hola chicos, perdón por tomarme mi dulce tiempo para responder; ocupado fin de semana!
Aquí hay un enlace a la simulación: mrhuffman.nej/projects/gp y luego simplemente seleccione el escenario de trayectoria de retorno libre del Apolo 10. uhoh, obtengo todos los vectores de estado de ssd.jpl.nasa.gov/horizons.cgi#top . Intenté cambiar las entradas pero fue en vano. Póngase dentro de la influencia gravitacional de la Luna, pero luego la simulación falla, independientemente del paso de tiempo. SF, sí, los vectores son de la NASA, así que creo que la trayectoria es correcta. Uwe, solo simulo el sistema de la luna de la tierra, no el sol, ¿podría ser eso?
El valor predeterminado cuando ve la simulación es 3D, pero al hacer clic en ver órbitas puede ver las órbitas trazadas.
Puedes hacer una prueba sencilla para decidir si es necesario simular también el efecto del sol. Simplemente calcule las tres fuerzas de la tierra, la luna y el sol a la nave espacial en varios puntos de la trayectoria, cerca de la tierra, cerca de la luna, a medio camino entre la tierra y la luna y en el punto donde las fuerzas de la tierra y la luna son iguales. Si la fuerza del sol es muy pequeña comparada con las otras fuerzas, puede despreciarse.

Respuestas (2)

Esta es una respuesta parcial, con suerte conducirá a más discusión y una resolución.

Encontré esta animación de una trayectoria de retorno libre en lo que parecen coordenadas "inerciales" fijas en la Tierra, al menos las coordenadas no giran con el sistema Tierra-Luna.

Encontrado en la trayectoria translunar del Apolo 11 de Robert A. Braeunig y cómo evitaron el corazón de los cinturones de radiación .

¿Su simulación apunta a un lugar frente al borde de ataque de la luna?

¡Este GIF es LENTO! ¡Sigue viendo hasta completar!

ingrese la descripción de la imagen aquí

¡Hola oh! Perdón por mi respuesta tardía; tuve una gran semana en el trabajo, pero voy a mirar el enlace que me enviaste y ver si me pone en el camino correcto; ¡Te responderemos en breve!
@HappyKoala ¡Muy bien! A veces lleva un tiempo reservar un bloque de tiempo para proyectos como este. Es realmente una órbita interesante y uno puede aprender mucho de ella.

Olvidé por completo haber hecho esta pregunta, pero afortunadamente he podido resolverla. Hubo dos problemas: mi integrador no estaba preparado para la tarea y hay que incluir el Sol en una simulación de trayectoria de retorno libre, ya que su influencia gravitacional en el sistema Tierra-Luna no es despreciable, incluso en la escala de tiempo de días (en menos con el integrador que empleé).

Aquí están los datos que usé para el escenario (Apolo 11, obtenidos de JPL Horizons), donde g es la constante gravitacional y dt es el paso de tiempo. AU para distancia, años para tiempo y masas solares para masas:

export default {
  name: 'Apollo 11 - Free Return Trajectory',
  g: 39.5,
  dt: 40e-7,
  distMax: 0.00713911058,
  distMin: -0.00713911058,
  distStep: 2.3797035266666667e-6,
  velMax: 0.5,
  velMin: -0.5,
  velStep: 5e-6,
  rotatingReferenceFrame: 'Earth',
  cameraPosition: 'Free',
  cameraFocus: 'Origo',
  freeOrigoZ: 16000,
  massBeingModified: 'Sun',
  primary: 'Earth',
  maximumDistance: { name: 'Moon to Earth * 10', value: 0.0256955529 },
  distanceStep: { name: 'Moon to Earth / 100', value: 0.0005139110579999999 },
  scenarioWikiUrl: 'https://en.wikipedia.org/wiki/Free-return_trajectory',
  masses: [
    {
      name: 'Earth',
      x: 0.4240363252016235,
      y: -0.9248449798862485,
      z: -1.232690294681233e-4,
      vx: 5.622675894714279,
      vy: 2.5745894556521574,
      vz: 3.8057228235271535e-4,
      trailVertices: 2e4
    },
    {
      name: 'Sun',
      x: 0.004494747940528018,
      y: 9.145777867796766e-4,
      z: -6.127893755128986e-5,
      vx: -1.7443876658803292e-4,
      vy: 0.002043973630637931,
      vz: -4.697196039923407e-6,
      trailVertices: 2e4
    },
    {
      name: 'Moon',
      x: 0.4220528422463315,
      y: -0.9230209264977778,
      z: 1.632323615688905e-5,
      vx: 5.486589374929882,
      vy: 2.420601498441581,
      vz: -0.014677846271227611,
      trailVertices: 2e4
    },
    {
      name: 'Apollo 11',
      x: 0.4240447232851519,
      y: -0.9247715402118077,
      z: -1.129301018611092e-4,
      vx: 4.395253850175561,
      vy: 3.8323649107803948,
      vz: 0.15792573886687206,
      trailVertices: 15e4
    }
  ]
};

export default [
  {
    m: 0.000003003,
    radius: 91.74311926605505,
    color: 'limegreen',
    name: 'Earth'
  },
  {
    m: 3.69396868e-8,
    radius: 22.93577981651376,
    color: 'grey',
    name: 'Moon'
  },
  {
    m: 0,
    radius: 1.2,
    color: 'limegreen',
    name: 'Apollo 11'
  },
  {
    m: 1,
    radius: 90000,
    type: 'star',
    color: 'yellow',
    name: 'Sun'
  }
];

y el resultado

¡¡Fantástico!! ¡¡Hermoso!! Me encanta.
@uhoh ¡Gracias! Me tomó un tiempo, pero valió la pena el esfuerzo :D.
¿Tiene planes para agregar más funciones? ¡Esto es genial!
¡Oh sí! De hecho, estoy trabajando en la implementación de naves espaciales con empuje y control de actitud, pero antes de que pueda implementar esa función, necesito presentar un integrador con un paso de tiempo adaptativo, como se discutió anteriormente. También estoy tratando de descubrir cómo generar procedimentalmente las lunas de todos los planetas del sistema solar para que pueda viajar desde la Tierra hasta Júpiter sin tener que esperar unos 3 días (con las lunas el paso de tiempo de la simulación tiene que ser muy lento (incluso con uno adaptativo)). Entonces, cuando llegarías, digamos, dentro de la Esfera de la Colina de Júpiter...
el integrador con el paso de tiempo adaptativo ralentizaría el paso de tiempo y una verificación de distancia a masa generaría el sistema joviano para que pudieras empujar la estrella y decir insertarte en una órbita alrededor de Ganímedes. No estoy seguro de estar transmitiendo mi pensamiento tan bien, pero no creo que deba ser demasiado complicado de arreglar. Más que eso, quiero introducir colisiones (¡también necesito el integrador con el paso de tiempo adaptativo para eso!), sistemas de partículas para anillos y galaxias, la capacidad de agregar masas con órbitas excéntricas (ahora mismo, las masas que agregue tendrán órbitas circulares alrededor ...
su primaria. Así que sí, no voy a dejar que mi bebé acumule polvo... Hago esto por diversión, y cuando me estoy divirtiendo lo último que quiero hacer es dejarlo :D.
¡Esas son buenas noticias! Si va a usar nuestro sistema solar, entonces probablemente podría usar una efemérides si no necesita una precisión absoluta. Por ejemplo, en unos pocos MB podrías tener posiciones conocidas de todo en intervalos de 1 semana (o menos). Entonces puede arreglárselas con una integración de menor precisión solo entre posiciones de efemérides. Solo un pensamiento.
Excelente punto! ¡Siento como si hubiera estado tratando de encontrar mis anteojos mientras estaban en mi nariz todo el tiempo, jaja, pero es por eso que este sitio es tan increíble como lo es!