¿Qué computadora y software utiliza el Falcon 9?

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.

Respuestas (2)

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 :)

No relacionado con su pregunta, pero los cohetes y las cápsulas se modelan con el software Siemens PLM .
Puede que no esté relacionado con la pregunta, pero si va a incluir esa información, inclúyala en su respuesta. Los comentarios están sujetos a eliminación en cualquier momento.
Deduzco del koan infográfico anterior que el Dragón es aproximadamente 100 veces más inteligente que un Halcón, o aproximadamente en la misma proporción que las dos bestias.

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.

"Fuente: Discusión con varios ingenieros de SpaceX en GDC 2015" - está bien, teniendo en cuenta lo que ha publicado hoy, voy a tomar su palabra al respecto. :)
Según su descripción (la mejor que encontré), creé un boceto de la arquitectura en la diapositiva 8 de mi presentación en SpaceX SW/HW slideshare.net/ultradvorka/doom-in-spacex ; espero que sea correcto.
"La triple redundancia le da al sistema tolerancia a la radiación sin la necesidad de costosos componentes endurecidos por radiación". La mayoría de los sistemas de control de vuelo son triplemente redundantes por confiabilidad ("triplex"). El uso de componentes duros de radiación no es necesario para un sistema FCS suborbital como el que se usa en los cohetes Falcon, ya que el control de vuelo no está expuesto a suficiente radiación durante un período lo suficientemente largo como para inducir una falla en el procesador, bus, etc. en órbita o utilizado para el control del espacio profundo generalmente usaría silicio duro rad en el aislador o silicio en procesadores de zafiro como el PowerPC endurecido
En caso de que alguien se lo pregunte, el motivo de la triple redundancia es que la radiación solar puede hacer que los bits cambien, por ejemplo, de 0 a 1, lo que puede anular completamente los cálculos. Por lo tanto, tiene que haber una cantidad de núcleos de acuerdo para que si uno de los núcleos se ha visto afectado por un bit flip, se pueda detectar.
Usted dice que hay "3 procesadores x86 de doble núcleo", pero luego en un par de lugares se refiere a "ambos núcleos". ¿Es un error tipográfico o uno de los núcleos funciona como juez, no como actor? Si ese es el caso, entonces no suena como triple redundancia. (Solo un nivel de redundancia en los actores y sin redundancia en el juez).
@craq Cada procesador de doble núcleo ejecuta una versión del software de vuelo en cada núcleo. Por lo tanto, en efecto, hay 6 procesos que ejecutan el software de vuelo en cualquier momento. Las salidas de cada núcleo se comparan en el procesador, y luego el resultado de cada procesador se compara utilizando el modelo actor-juez.
¿Los powerpc micros son tolerantes a la radiación (por ejemplo, Rad750?)
Secundo el interés (actualmente procedente de aquí ) en el silicio PowerPC, dado su papel como árbitro/cuello de botella/SPOF.
¿Este sistema de triple redundancia también resulta en un aumento de 3 veces en la probabilidad de falla del hardware? ¿Alguna idea de si eso reduciría significativamente la vida útil del sistema o los gastos generales de mantenimiento? ¿Es fácil cambiar estas placas y CPU?
¿Usa procesadores x86 en lugar de procesadores x86-64? ¿De Verdad?