¿Alguien sabe cómo el sitio web de Flight Club simula los lanzamientos de Falcon 9?

¿Alguien sabe cómo el sitio web de Flight Club puede proporcionar simulaciones de lanzamiento de Falcon 9? Dado el peso estimado, la masa de combustible, el empuje, etc., ¿cómo pueden proporcionar un gráfico de cómo podría funcionar?

ingrese la descripción de la imagen aquí

¿Qué tipo de respuesta estás buscando aquí? He escrito un simulador de lanzador orbital que podría proporcionar tramas similares, pero no sé qué aspectos del simulador te interesan. Basé mi enfoque en gran medida en el launchsim de Joan Creus-Costa , aunque el mío es una reescritura completa en un idioma diferente:
Una explicación si es posible. ¿Cómo pueden simular una trayectoria de aspecto plausible realista y un cálculo de aterrizaje de la nada?
Respuesta corta, no están trabajando de la nada. Flight Club tiene ingeniería inversa a partir de la telemetría disponible de cada vuelo. Masa de carga útil, masas conocidas de combustible y vehículos, y datos de velocidad y elevación de lanzamientos, además de órbitas finales. No es perfecto, pero es el mejor ajuste de las entradas y los resultados disponibles. No me siento lo suficientemente versado en los detalles para dar una respuesta real, pero no es 'de la nada'.
Dices eso, @Saiboogu y yo también sentimos una sensación de semi-simulación, pero puedes personalizar el combustible, el peso y varios otros factores y producirá un resultado que no se ve en la telemetría.
Se ha hecho ping a Declan Murphy, creador del sitio web .

Respuestas (2)

Creador de Flight Club aquí. Gracias por el ping @uhoh ;)

@RussellBorogove consiguió la implementación del código y en realidad es casi exactamente lo que hago. Los únicos puntos que creo que vale la pena mencionar son que utilizo un integrador Leapfrog en lugar de RK4, porque conserva energía con el tiempo y es reversible. Esto significa que la órbita número 100 se verá idéntica a la primera (suponiendo que la gravedad sea la única fuerza externa). También puedo implementar periodos de inercia entre separaciones de etapas e igniciones.

Creo que lo único que podría mejorar un poco más es hablar sobre los algoritmos de guía. En el caso de Flight Club, 'algoritmo' es una palabra extremadamente generosa, ya que el perfil de guía está completamente definido por el usuario. El usuario define el perfil de elevación, azimut y acelerador de cada etapa con el tiempo. Estos se pueden validar comparando la trayectoria resultante con los datos de transmisión web, y también con algunos conocimientos de dominio de los lanzamientos orbitales que acabo de obtener a través de la experiencia; por ejemplo, un lanzamiento de SpaceX GTO tendrá una órbita de estacionamiento de aproximadamente 170x450 km, más o menos. y la etapa superior generalmente pierde un poco de altitud hacia el final de su primera quema.

Estoy trabajando en la automatización de las definiciones del perfil de guía en segundo plano para facilitarme la vida en el futuro (actualmente, estoy creando manualmente perfiles de vuelo para cada lanzamiento que mis Patrons fotografiarán ; por lo general, puedo reutilizar un perfil de vuelo anterior, pero es más complicado cuando estoy modelando un vehículo por primera vez, como D4H para Parker Solar Probe, o el último vuelo de Delta II).

En este momento, lo único que está automatizado es el perfil de acelerador de quemado de aterrizaje, pero es un recálculo muy simple del perfil de acelerador durante el descenso para garantizar velocidad cero a altitud cero. No hay nada que garantice que las coordenadas de aterrizaje sean correctas; esto también debe ser validado y ajustado por el usuario una vez que se haya completado la simulación.

Todas estas tareas manuales se automatizan con facilidad, pero la mayor parte de mi trabajo de desarrollo en este momento se dedica a desarrollar más el front-end y migrar el back-end a tecnologías más escalables. Cuando estoy contento con esas cosas, puedo volver a mejorar las cosas de GNC

¡Excelente! Entonces, ¿usa un software similar a la respuesta de @RussellBorogove para la simulación en Flight Club? Eso es muy interesante. ¿Dices que haces perfiles de aterrizaje manualmente? ¿Cómo es que pueden ser igualmente diferentes dados los valores definidos por el usuario?
Bueno, sí, las técnicas matemáticas y analíticas son similares, pero escribí mi propio software tal como Russell escribió el suyo, por lo que no tenemos un código común. Y todo lo contrario los perfiles de aterrizaje, están automatizados en FC. El usuario define cuándo debe comenzar la grabación y FC determina la mejor manera de acelerar el escenario en ese momento.
"No hay nada que garantice que las coordenadas de aterrizaje sean correctas; esto también debe ser validado y ajustado por el usuario una vez que se haya completado la simulación". -- lanza el dardo y luego dibuja la diana alrededor de donde golpea. :D
¡El problema de mover la diana es que también mueve al lanzador! Menos mal que el brazo del lanzador es completamente determinista :P

No sé exactamente cómo lo hace Flight Club, pero he creado una simulación basada en el simulador de lanzamiento de Joan Creus-Costa y creo que probablemente no sea muy diferente de lo que hace Flight Club. También obtuve mucha información de la página de simulación de Saturno V de Braeunig .

El enfoque básico es la simulación en tiempo discreto: comience con condiciones iniciales conocidas y simule el paso del tiempo en fragmentos cortos, actualizando el estado de la simulación de acuerdo con la ley física en cada paso. Yo uso un paso de tiempo de 1/100 de segundo; incluso a ese ritmo, mi computadora portátil es lo suficientemente rápida como para simular un lanzamiento unas 50 veces más rápido que en tiempo real (es decir, el ascenso a la órbita terrestre para la mayoría de los lanzadores en alrededor de 12 segundos).

Dada la masa conocida del cohete (recalculada en cada paso de tiempo a medida que se consume combustible) y el empuje de los motores de la etapa actualmente activa, se aplica la aceleración del empuje, junto con la aceleración de la gravedad y la fuerza de retardo del arrastre. Uso RK4 cuando aplico la física, pero con un paso de tiempo lo suficientemente pequeño no importa mucho.

Para fines de arrastre, solo rastreo la sección transversal y un coeficiente de arrastre fijado arbitrariamente: variar Cd con la velocidad está en mi lista de tareas pendientes. (Ver discusión aquí y aquí .)

Simulo la variación de la densidad del aire con la altitud de acuerdo con un modelo fijo basado en esta página de la NASA . No hago nada por el clima, el viento cruzado, etc. Actualmente, nada en mi sim es aleatorio.

Dadas las cifras del impulso específico del nivel del mar y del vacío para un motor, interpolo linealmente el impulso específico a medida que la presión del aire va de 1 a 0 atmósferas. Esta es una muy buena combinación con el rendimiento real de los motores F-1 del Saturn V; No he encontrado curvas Isp versus presión para otros motores, pero los F-1 son tan lineales que sospecho que hay una ley física fundamental que los controla.

Se simula un sistema de guía para determinar en qué dirección aplicar el empuje: no simulo el ángulo real del cardán y la autoridad de control, solo asumo que se puede lograr el ángulo de empuje deseado. Tengo una variedad de algoritmos de orientación con los que aún no estoy satisfecho.

Cuando se acaba el combustible en una etapa, simplemente desconecto la masa y los motores asociados con la etapa y activo la siguiente al instante; sería más realista agregar algún tiempo de retardo entre etapas.

Los lanzadores se definen como una lista de etapas. Las etapas tienen masa seca, masa de combustible, área de sección transversal y una lista de motores. Los motores tienen una tasa de flujo de combustible, una función de impulso específico por altitud, configuraciones mínimas y máximas de aceleración, etc. En el código de definición de mi lanzador, puedo agregar eventos programados, como aceleración o eliminación de sistemas LES (y, por lo tanto, reducir la masa del cohete restante) en un punto dado del vuelo. Todavía no estoy modelando la caída de Isp con la desaceleración. En principio, puedes definir cualquier cohete que quieras, real o ficticio; solo necesita las masas del escenario y las especificaciones del motor.

La Tierra (o cualquier cuerpo desde el que se lance) se modela como una esfera que gira uniformemente; mi sistema de coordenadas admite la latitud del sitio de lanzamiento, pero siempre gira el mundo para que el sitio de lanzamiento esté en la coordenada X cero del sistema de coordenadas. Se incluye la velocidad inicial de la rotación planetaria. Se modela la caída gravitacional con la altitud.

Aquí hay una captura de pantalla de mi IU vergonzosamente mala:

ingrese la descripción de la imagen aquí

Esto está modelando el ascenso de un Apollo LM desde la luna (al servicio de responder una pregunta anterior en el sitio). El Gráfico 1 a la izquierda es altitud versus tiempo; el gráfico 2 es la aceleración frente al tiempo. Estamos en pausa a los 25 segundos simulados después de la inserción en una órbita de 18 km x 87 km.

Flight Club hace cosas como rastrear la primera etapa separada por separado; mi sim solo funciona con un vehículo a la vez, pero no sería demasiado difícil cambiar eso.

Esta es una muy buena respuesta. Actualmente he estado tratando de replicar uno de los lanzamientos de Falcon 9 en Excel de todos los programas y parece que no puedo reproducir la curva pronunciada que se ve en varias publicaciones de telemetría. Calcular una trayectoria de aterrizaje plausible es otra cuestión.
Sí, no he hecho nada para simular aterrizajes. La curva de velocidad de la etapa superior va a ser muy sensible a la trayectoria; ¿Qué estás usando como guía?
Ese gráfico en mi pregunta, por supuesto, describe el viaje en KM en segundos. Al calcular la trayectoria utilizando la masa y la fuerza de Falcon 9, se obtiene un vergonzoso camino de gusano. Velocidad por segundo generada en Excel Y aunque es un poco más pronunciada que las demás, el KM por segundo parece un gusano. Generado en Excel Me desconcierta cómo la velocidad puede ser tan similar, sin embargo, KM por segundo no es ni remotamente similar.
Este es el enfoque básico que usamos en el Simulador de misión de transbordador, aunque nuestra computadora central gigante solo podía generar 25 cuadros por segundo, y funcionamos en tiempo real.
@OrganicMarble Supongo que uno o dos aspectos podrían haberse modelado con mayor fidelidad.
Sí, las entradas a los integradores provienen de modelos más sofisticados, pero el enfoque básico es el mismo.