Mission Control Engineer
DanSTAR Rocketry
Mission Control
Mission-control and flight-computer software built around explicit state, validated commands, and acknowledged transitions.
Project evidence
- Mission sequence
- Built a timeline state machine with validated binary commands and flight-computer-confirmed transitions.
- Simulator
- Tested state progression, UDP discovery, command handling, and log output with a Python flight-computer simulator.
- What is public
- Payload validation and repeatable simulator scenarios are described here; private code and flight results are not published.
The problem
Mission-control software has to represent the same operational sequence as the flight system while remaining diagnosable when software and physical interfaces disagree.
System architecture
- A flowchart-aligned mission state machine with phase-specific Continue, Abort, and Reset logic.
- A binary command path with strict payload and current-state validation.
- Queued asynchronous handling and ZeroMQ-oriented messaging between mission-control and flight-computer software.
- A Python flight-computer simulator covering state progression, command handling, UDP discovery, and log emission.
Engineering decisions
- Treat flight-computer acknowledgement as the boundary for a confirmed transition.
- Keep invalid commands from silently changing mission-control state.
- Make simulator scenarios and emitted logs part of the integration workflow rather than an afterthought.
Testing and verification
- Hardware-free scenario testing against the flight-computer simulator.
- Validation rules for payload shape and state-specific command eligibility.
- Logging and debugging workflows for repeatable integration diagnosis.
Limitations
- The portfolio describes software architecture and verification practices, not flight results.
- Repository code and internal integration material are not published here.
What I would improve next
- Extend scenario coverage around failure recovery and delayed acknowledgements.
- Keep protocol and state-machine documentation synchronized with implementation changes.
