Software for Spacecraft What do spacecraft need to do when they’re 1 million miles from home?
Software for Spacecraft Embedded systems Real time operating systems Keeping the hardware safe Planning and scheduling Doing everything in 10 minute passes
Embedded Systems Satellites vs. desktop computers –Nowhere to plug it in –No-one to hit the reset button –No screens and no keyboards
Real time operating systems Structured program flow –One module calls the next –You can flowchart everything –There usually is an end point Real time program flow –Your program reacts to its environment –You design basic functions and let the computer decide what needs to be implemented –No end point, program keeps running
Keeping the hardware safe When a value comes in that is not good for the spacecraft, the program needs to take care of it –Rules –Scripts –Constraints
Planning and scheduling User’s high-level objectives Spacecraft’s low-level commands
Planning and scheduling
Doing everything in 10 minute passes CX and 3CS have 3-10 minute passes Individual commands vs. ASPEN How does NASA do it? How does CX and 3CS do it on a much smaller budget?
Security Checks Planning/ Scheduling and SCL DB CU-Boulder MOCC Telemetry Command Requests Processed Data Index ASU NMSU Remote Ground Stations with receiver without receiver On-site team 3CS Distributed Mission Control
End
Website Web interface Database Spacecraft Command Language (SCL) SAMMI ASPENSTK Comm Ground software New schedule Database valuesCommands Init values History data Updated values Validated data Requested data Raw data Requested data Commands Replies Uplink
Flight software CASPER SELMON SCI Ground Comm I/O SWM ILM BPGEN EPS I/O ILM I/O GPS I/O Dataflow key: Commands Replys *Transceiver Initialization SCL Rules firingNew schedule New valuesAnomalies Downlink