23

Dragon capsule runs on Linux, C++, Chromium UIs

 3 years ago
source link: https://space.stackexchange.com/questions/9243/what-computer-and-software-is-used-by-the-falcon-9/9446
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
$\begingroup$

I don't know if this would be public, but what CPU / Microcontrollers are used and what software do they run on the Falcon 9? Do they use an OS or is it just bare metal programming?

I found some model rocket flight computers that are available for purchase and just wanted to know what approach SpaceX took towards this.

spacex falcon-9 software flight-computer

share | improve this question | |

asked May 29 '15 at 7:49

EFzaamr.jpg!web

neelsg

neelsg

3,966 3 3 gold badges 22 22 silver badges 46 46 bronze badges

$\endgroup$
  • $\begingroup$ $\endgroup$ – Valentin Heinitz Sep 6 '19 at 8:05

2 Answers

Active Oldest Votes

$\begingroup$

In this AMA by the SpaceX software development team, they wrote:

We've been getting a lot of questions about how C#/MVC/etc have to do with rockets. They don't.

About their development they said:

The Flight Software team is about 35 people. We write all the code for Falcon 9, Grasshopper, and Dragon applications; and do the core platform work, also on those vehicles; we also write simulation software; test the flight code; write the communications and analysis software, deployed in our ground stations. We also work in Mission Control to support active missions.

The Ground Software team is about 9 people. We primarily code in LabVIEW . We develop the GUIs used in Mission and Launch control, for engineers and operators to monitor vehicle telemetry and command the rocket, spacecraft, and pad support equipment. We are pushing high bandwidth data around a highly distributed system and implementing complex user interfaces with strict requirements to ensure operators can control and evaluate spacecraft in a timely manner.

They also said:

Dragon and Falcon 9 use a version of Linux .

They unfortunately replied to this question:

What sort of computing power (CPU, RAM, Storage, etc.) do you have access to on board the rockets and capsules themselves? What's "smarter," the Falcon 9 or the Dragon?

with:

100 Dragon sized Falcons or 1 Regular Sized Dragon

So I'm guessing any further information is strictly classified :)

share | improve this answer | |

edited May 29 '15 at 10:41

answered May 29 '15 at 9:47

iiEFRzz.png!web

Vedant Chandra

Vedant Chandra

5,490 2 2 gold badges 27 27 silver badges 57 57 bronze badges

$\endgroup$
  • 3

    $\begingroup$ Unrelated to your question, but the rockets and capsules are modelled using Siemens PLM software. $\endgroup$ – Vedant Chandra May 29 '15 at 10:02

  • $\begingroup$ $\endgroup$ – a CVn Jun 9 '15 at 7:16

  • $\begingroup$ $\endgroup$ – Jerard Puckett Jan 17 '17 at 1:42

$\begingroup$

SpaceX uses an Actor-Judge system to provide triple redundancy to its rockets and spacecraft. The Falcon 9 has 3 dual core x86 processors running an instance of linux on each core. The flight software is written in C/C++ and runs in the x86 environment. For each calculation/decision, the "flight string" compares the results from both cores. If there is a inconsistency, the string is bad and doesn't send any commands. If both cores return the same response, the string sends the command to the various microcontrollers on the rocket that control things like the engines and grid fins.

The microcontrollers, running on PowerPC processors, received three commands from the three flight strings. They act as a judge to choose the correct course of actions. If all three strings are in agreement the microcontroller executes the command, but if 1 of the 3 is bad, it will go with the strings that have previously been correct. The Falcon 9 can successfully complete its mission with a single flight string.

The triple redundancy gives the system radiation tolerance without the need for expensive rad hardened components. SpaceX tests all flight software on what can be called a table rocket. They lay out all the computers and flight controllers on the Falcon 9 on a table and connect them like they would be on the actual rocket. They then run a complete simulated flight on the components, monitoring performance and potential failures.

SpaceX engineers perform what they call "Cutting the strings" where they randomly shut off a flight computer mid simulation, to see how it responds.

Dragon uses a similar triple redundant system for its flight computers.

Bonus: Dragon V2 control panels are modified 17" Tesla Model S touchscreens and include the same Nvidia Tegra SoCs. They are not part of the flight hardware and are only used to display the GUI. After talking with the Dragon team at GDC2016, it appears Tesla hardware is not used. They do use some interesting software on Dragon 2. They use Chromium and JavaScript for the Dragon 2 flight interface. The actual flight computers still run on C++.

Source: Discussion with various SpaceX engineers at GDC 2015/2016

share | improve this answer | |

edited Jul 10 '16 at 0:29

answered Jun 9 '15 at 0:17

mQFRziB.jpg!web

T.J. Tarazevits

T.J. Tarazevits

2,389 11 11 silver badges 22 22 bronze badges

$\endgroup$
  • $\begingroup$ $\endgroup$ – kim holder Jun 9 '15 at 2:22

  • 6

    $\begingroup$ @briligg Presentation by Jinnah Hosein, VP of Software Engineering at SpaceX I was in attendance and took notes on the talk. $\endgroup$ – T.J. Tarazevits Jun 9 '15 at 3:28

  • $\begingroup$ Based on you description (the best I found) I created a sketch of the architecture on slide 8 of my presentation on SpaceX SW/HW slideshare.net/ultradvorka/doom-in-spacex - hopefully it's correct. $\endgroup$ – Martin Dvorak Nov 2 '16 at 15:57

  • 3

    $\begingroup$ $\endgroup$ – Larry_C Jan 16 '17 at 20:29

  • 3

    $\begingroup$ $\endgroup$ – Chris Halcrow Feb 13 '19 at 20:53

Not the answer you're looking for? Browse other questions taggedspacex falcon-9 software flight-computer or ask your own question .


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK