Author Topic: LIVE: Launching astronauts from US soil to ISS for first time in last 9 years  (Read 2023 times)

0 Members and 1 Guest are viewing this topic.

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9322
  • Country: 00
  • Display aficionado
Found today that SpaceX writes their code in C++, their screens in JavaScript, the OS is Linux, and the platform is PowerPC. They do not use rad-hard components but instead shield at the modular level.
They also use ridiculous amounts of redundancy. Almost every CPU is tripled and the set uses majority voting. There are many, many CPUs aboard for all kinds of subsystems.
 

Offline IDEngineer

  • Frequent Contributor
  • **
  • Posts: 929
  • Country: us
They also use ridiculous amounts of redundancy. Almost every CPU is tripled and the set uses majority voting.
That's very common. Even the Shuttle had such redundancy. IIRC, it had five computers, three of which were "live" at any one time, with one auto-backup and I can't remember when the fifth came into play. On the original launch in 1980(?) one shut down and a backup kicked in. Then a SECOND one shut down. I remember John Young saying his knees got a little weak at that point. But it all turned out fine... it wasn't CPU's that cost us two Shuttles and two groups of astronauts.
 

Offline 0culus

  • Super Contributor
  • ***
  • Posts: 2247
  • Country: us
  • Electronics, RF, and TEA Hobbyist
They also use ridiculous amounts of redundancy. Almost every CPU is tripled and the set uses majority voting.
That's very common. Even the Shuttle had such redundancy. IIRC, it had five computers, three of which were "live" at any one time, with one auto-backup and I can't remember when the fifth came into play. On the original launch in 1980(?) one shut down and a backup kicked in. Then a SECOND one shut down. I remember John Young saying his knees got a little weak at that point. But it all turned out fine... it wasn't CPU's that cost us two Shuttles and two groups of astronauts.

IIRC the final computer ran software independently developed from the primary ones.

https://history.nasa.gov/computers/Ch4-3.html
 

Offline IDEngineer

  • Frequent Contributor
  • **
  • Posts: 929
  • Country: us
IIRC the final computer ran software independently developed from the primary ones.
That's what I thought I remembered, but wasn't sure so I didn't want to say so.

I'd be tempted to specify things at the MODULAR level and have separately developed hardware too, but rad-hard stuff isn't exactly commonplace. SpaceX's approach of hardening the enclosure is the better solution IMO because it affords such flexibility.
 

Offline dr.diesel

  • Super Contributor
  • ***
  • Posts: 2191
  • Country: us
  • Cramming the magic smoke back in...
During the Starlink launch last night the host mentioned the SpaceX Software Team will be hosing a Q&A on Reddit in the next couple weeks.  Might be a great opportunity for further info on OS/Touchscreens etc.

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1028
  • Country: us
It's likely because Mr Musk is on the scene, and has forced giant iPad-esque touch panels into Teslas... WHY? Who knows! Because it's ... "futuristic" and looks "kewl"

Tesla owner here. I find the large touchscreen panel to be quite easy to use and it gives me much more information while driving than any dashboard on previous vehicles I've driven. It's never crashed or frozen on me even under extreme conditions (temperatures <0C and >45C).
Complexity is the number-one enemy of high-quality code.
 

Offline rrinker

  • Super Contributor
  • ***
  • Posts: 2033
  • Country: us
 Notice also the Crew Dragon has a stick, and there are also buttons for certain functions on the arm rest, where they would be relatively easy to hit while under high G loads. And also notice that the right-hand seat has the buttons on the left side, and the left seat has the buttons on the right armrest. So either person can access the buttons on the other person's seat. This is most definitely not something that was rushed through, the details have been well thought out.
 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9322
  • Country: 00
  • Display aficionado
They also use ridiculous amounts of redundancy. Almost every CPU is tripled and the set uses majority voting.
That's very common. Even the Shuttle had such redundancy. IIRC, it had five computers, three of which were "live" at any one time, with one auto-backup and I can't remember when the fifth came into play. On the original launch in 1980(?) one shut down and a backup kicked in. Then a SECOND one shut down. I remember John Young saying his knees got a little weak at that point. But it all turned out fine... it wasn't CPU's that cost us two Shuttles and two groups of astronauts.
Those were the main computers, not all the subsystems. There are crazy amounts of powerful processors in SpaceX hardware. SpaceX also uses commercial grade computer hardware and trusts the redundancy.
 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9322
  • Country: 00
  • Display aficionado
Last time I didn't have time to go into detail, but it's pretty interesting. Below is a quote without any sources, but it's consistent with what we've heard elsewhere. It's essentially COTS hardware made redundant to a somewhat ridiculous degree. Rad hardening isn't wholly necessary for short orbital hops.

Quote
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.

Apparently they use LabView for the ground based stuff:

Quote
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.

https://space.stackexchange.com/questions/9243/what-computer-and-software-is-used-by-the-falcon-9
 

Online rdl

  • Super Contributor
  • ***
  • Posts: 2989
  • Country: us
Quote
They use Chromium and JavaScript for the Dragon 2 flight interface.

Wow, so Dragon 2 displays are basically using a web browser.
(if that quote is correct)
 

Offline tom66

  • Super Contributor
  • ***
  • Posts: 3775
  • Country: gb
  • Electron Fiddler, FPGA Hacker, Embedded Systems EE
I wonder how much validation you'd have to go through to prove that Chromium is stable when running a JS web app for crucial flight information displays.

I've managed to crash it pretty easily doing fairly normal things.
 

Offline dr.diesel

  • Super Contributor
  • ***
  • Posts: 2191
  • Country: us
  • Cramming the magic smoke back in...
Quote
They use Chromium and JavaScript for the Dragon 2 flight interface.

Wow, so Dragon 2 displays are basically using a web browser.
(if that quote is correct)

If optimized and debugged for that particular set of functions, reliability might not be an issue.


Offline dr.diesel

  • Super Contributor
  • ***
  • Posts: 2191
  • Country: us
  • Cramming the magic smoke back in...


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf