No sé si esto sería público, pero ¿qué CPU/microcontroladores se usan y qué software ejecutan en el Falcon 9? ¿Usan un sistema operativo o es solo programación completa?
Encontré algunos modelos de computadoras de vuelo de cohetes que están disponibles para la compra y solo quería saber qué enfoque tomó SpaceX al respecto.
En este AMA del equipo de desarrollo de software de SpaceX, escribieron:
Hemos recibido muchas preguntas sobre cómo C#/MVC/etc. tiene que ver con los cohetes. ellos no
Sobre su desarrollo dijeron:
El equipo de Flight Software está formado por unas 35 personas. Escribimos todo el código para las aplicaciones Falcon 9, Grasshopper y Dragon; y hacer el trabajo de la plataforma central, también en esos vehículos; también escribimos software de simulación; probar el código de vuelo; escribir el software de comunicaciones y análisis, desplegado en nuestras estaciones terrestres. También trabajamos en Mission Control para apoyar misiones activas.
El equipo de Ground Software está formado por unas 9 personas. Principalmente codificamos en LabVIEW . Desarrollamos las GUI utilizadas en el control de misión y lanzamiento, para que ingenieros y operadores monitoreen la telemetría del vehículo y comanden el cohete, la nave espacial y el equipo de soporte de la plataforma. Estamos impulsando datos de gran ancho de banda en un sistema altamente distribuido e implementando interfaces de usuario complejas con requisitos estrictos para garantizar que los operadores puedan controlar y evaluar las naves espaciales de manera oportuna.
También dijeron:
Dragon y Falcon 9 utilizan una versión de Linux .
Desafortunadamente respondieron a esta pregunta:
¿A qué tipo de potencia informática (CPU, RAM, almacenamiento, etc.) tiene acceso a bordo de los cohetes y cápsulas? ¿Qué es "más inteligente", el Falcon 9 o el Dragon?
con:
100 halcones del tamaño de un dragón o 1 dragón de tamaño regular
Así que supongo que cualquier información adicional está estrictamente clasificada :)
SpaceX utiliza un sistema Actor-Judge para proporcionar triple redundancia a sus cohetes y naves espaciales. El Falcon 9 tiene 3 procesadores x86 de doble núcleo que ejecutan una instancia de Linux en cada núcleo. El software de vuelo está escrito en C/C++ y se ejecuta en el entorno x86. Para cada cálculo/decisión, la "cadena de vuelo" compara los resultados de ambos núcleos. Si hay una inconsistencia, la cadena es mala y no envía ningún comando. Si ambos núcleos devuelven la misma respuesta, la cadena envía el comando a los diversos microcontroladores del cohete que controlan cosas como los motores y las aletas de la rejilla.
Los microcontroladores, que se ejecutan en procesadores PowerPC, recibieron tres comandos de las tres cadenas de vuelo. Actúan como un juez para elegir el curso de acción correcto. Si las tres cadenas están de acuerdo, el microcontrolador ejecuta el comando, pero si 1 de las 3 está mal, irá con las cadenas que anteriormente han sido correctas. El Falcon 9 puede completar con éxito su misión con una sola cuerda de vuelo.
La redundancia triple proporciona al sistema tolerancia a la radiación sin necesidad de costosos componentes endurecidos por radiación. SpaceX prueba todo el software de vuelo en lo que se puede llamar un cohete de mesa. Colocan todas las computadoras y los controladores de vuelo del Falcon 9 sobre una mesa y los conectan como si estuvieran en el cohete real. Luego ejecutan un vuelo simulado completo en los componentes, monitorean el rendimiento y las posibles fallas.
Los ingenieros de SpaceX realizan lo que ellos llaman "Cortar las cuerdas", donde apagan aleatoriamente una computadora de vuelo en mitad de la simulación, para ver cómo responde.
Dragon utiliza un sistema redundante triple similar para sus computadoras de vuelo.
Bonificación: los paneles de control Dragon V2 son pantallas táctiles Tesla Model S de 17" modificadas e incluyen los mismos SoC Nvidia Tegra. No son parte del hardware de vuelo y solo se usan para mostrar la GUI. Después de hablar con el equipo Dragon en GDC2016, parece No se usa hardware de Tesla, pero sí usan un software interesante en Dragon 2. Usan Chromium y JavaScript para la interfaz de vuelo de Dragon 2. Las computadoras de vuelo reales todavía funcionan con C++.
Fuente: Discusión con varios ingenieros de SpaceX en GDC 2015/2016
Actualización: después de cuatro años, los ingenieros de software de SpaceX han confirmado que las pantallas de Crew Dragon con tecnología de Chromium y JS están en órbita durante un Reddit AMA.
Vedante Chandra
usuario
Jerard Pucket