SpaceX Software Engineers share details about Dragon during a Reddit ‘Ask Me Anything’

SpaceX software engineers hosted a ‘Ask Me Anything’ (AMA) discussion this week via Reddit, an online platform. People had the opportunity to ask technical questions related to their spacecraft’s software and interface. Engineers answered a series of questions related to the Dragon spacecraft that deployed NASA astronauts for the first time on May 30th. The mission is known as Demo-2, NASA Astronauts Robert “Bob” Behnken and Douglas “Doug” Hurley traveled aboard Dragon atop a Falcon 9 rocket, which lifted off from Launch Pad 39A at the Kennedy Space Center in Cape Canaveral, Florida. The aerospace company designs and manufactures some of the world’s most innovative spacecraft featuring modern technology. SpaceX’s Falcon 9 rocket is the only rocket in the industry that is capable of returning from space. It conducts a controlled vertical landing on autonomous drone ships at sea. Dragon is capable of operating with full autonomy in space; It can also detect if the Falcon 9 rocket malfunctions midflight to conduct an escape. All of this is achieved through software created by teams of engineers who code programs to operate the spacecraft.

Reddit users asked SpaceX engineers a series of questions related to the Dragon spacecraft. The Dragon spacecraft’s cockpit consists of a trio of touchscreens. NASA Astronauts Behnken and Hurley tested the software during their recent voyage to the Space Station. The craft only has a few buttons that are to trigger emergency operations. Dragon’s displays provide real-time information on anything from its position in space, to possible destinations, and the environment onboard. A simple tap on a screen is capable of igniting Dragon’s integrated space thrusters to alter the craft’s direction.

SpaceX engineers shared the programming languages they code in are: “C & C++ for flight software, HTML, JavaScript & CSS for displays and python for testing,” adding that they “use HTML, JavaScript & CSS. We use Web Components heavily.”

Reddit user asked: “It’s known that Crew Dragon displays are running Chromium and JS [JavaScript]. Are you using a reactive library, and if so, is that developed in-house or is it an existing library/framework?”

SpaceX Engineer Sofian replied: “Yes we use Chromium and we do use a reactive library that we developed in house.”

A different Reddit user asked a similar question to which the engineer elaborated: […] “We have to understand that Chromium in this context is used as a UI [User Interface] rendering engine only. The Flight Software interaction layer with the displays and the fault-tolerant is well defined and resides outside the displays boundary. That said, we follow the same development process for all vehicle code regardless of the technology stack. We cross-train our developers to write vehicle code in C++ and to carry the same mentality toward writing reliable software. We take reliability & performance very seriously, and just like other vehicle software, we test extensively under different conditions to understand all failure modes. We have alerts & procedures in place to act on those failures in case we encounter them. All of that added to hundreds of hours of sims [simulations] that we run on flight hardware to train the crew.”

Reddit user: “Was the docking simulator developed by the Crew Displays software team itself, or was it a separate project?”

SpaceX engineer Jeff replied – “The docking simulator is completely separate code from what’s actually in the Crew displays, though it was developed by our Crew displays team. It started out as a fun project from Shane Mielke and Mike Westenhaver before we decided to finish it up and put it on the web before Demo-2.”

The Dragon simulator is a fun online game, to pilot the spacecraft manually to dock it to the International Space Station. The company says the simulator is similar to what NASA astronauts used to train for the historic mission (game linked below).

Reddit user asked: “In some shots of mission control, I noticed UI [User Interface] very similar to the displays in Crew Dragon. Can the exact same crew display software be served from a server on the ground, feeding off of live telemetry from Dragon while in flight? If so, can/will this software be used to monitor Cargo Dragon as well on future flights?”

SpaceX Engineer Jeff responded: “We can and do run the exact same code that’s on the Crew displays on the ground. The only limitation is that we don’t necessarily get all of the same telemetry that we have in the cockpit on the ground due to limitations in our RF budget. We could but we generalize prioritize getting other critical telemetry instead.”

Reddit user asked: “Is there any chance of getting high-resolution screenshots of the crew displays? It’s hands-down the prettiest UI I’ve ever seen in aerospace.”

SpaceX Engineer Jeff: “We definitely want to share some high res screenshots of the Crew displays. We’ll see if we can get this approved so we can show you what Bob and Doug were able to see up close.”

Full Reddit Discussion linked below. 

Source: Tesmanian

Leave a Reply