Communication - space-station-os/space_station_os GitHub Wiki
Communication System
The Communication System (Comms) in Space Station OS simulates how data flows between spacecraft and ground. For a real station like the ISS, this involves continuously downlinking telemetry, receiving telecommands, and relaying high-rate data via satellites.
This page covers both the real-world principles (based on NASAβs ISS communications architecture) and how we simulate them in ROS 2 using a CCSDS bridge.
1. Why Communication Matters in Space
Spacecraft cannot rely on direct, uninterrupted Earth contact:
- Orbiting stations pass out of line-of-sight with ground antennas.
- Continuous crew safety requires always-on telemetry and rapid telecommanding.
- International partners (NASA, ESA, JAXA, Roscosmos) must share a standardized packet format.
The solution: relay satellites and the CCSDS standard ensure robust, global communication.
2. ISS Communication Architecture
The ISS uses multiple bands and relay satellites to maintain constant links.
β’ S-Band
- Handles low-rate telemetry, command, and voice.
- ~72β192 kbps data rates.
- Uplink: telecommands, software updates.
- Downlink: housekeeping telemetry, health status.
β’ Ku-Band
- Handles high-rate telemetry and video.
- Up to ~150 Mbps.
- Supports experiments, crew HD video, large data dumps.
β’ Ka-Band (planned for upgrades)
- Even higher throughput for future missions.
β’ Tracking and Data Relay Satellite System (TDRSS)
- Network of geostationary satellites.
- Provides near-continuous coverage (~90β100% of orbit).
- Routes ISS data to ground stations in White Sands, NM and Guam.
β’ Ground Segment
- Mission Control Centers (NASA, ESA, Roscosmos, JAXA).
- Receive telemetry (TM), issue telecommands (TC), monitor crew/system health.
- All data structured in CCSDS packets.
3. CCSDS Standard
The Consultative Committee for Space Data Systems (CCSDS) defines common packet structures:
-
Telemetry (TM):
Space β Ground. Health, science, and housekeeping data.
Structured with APID (Application Process Identifier) to label subsystems. -
Telecommand (TC):
Ground β Space. Instructions to change modes, trigger events, or send data. -
Features:
- Error detection & correction (Reed-Solomon, LDPC).
- Modular headers.
- File transfer via CFDP.
- Interoperability across agencies.
4. Key Hardware Components
| Component | Role |
|---|---|
| S-Band Antennas | Handle voice + command/telemetry links |
| Ku-Band Antennas | Support high-rate video and data relay |
| TDRSS Satellites | Provide continuous relay between ISS and Earth |
| Ground Stations | Receive downlink, transmit uplink |
| Command & Data Handling (C&DH) | Formats ISS data into CCSDS packets |
| Multiplexers/Demux (MDM) | Collect telemetry, distribute commands |
5. Simulation in Space Station OS
Our ROS 2βbased comms system models this architecture with a ROS2 β CCSDS Bridge.
β’ Bridge Node
- Serializes ROS 2 messages/services into CCSDS packets.
- Configurable via YAML for topic/service β APID mapping.
β’ Relay Node
- Mimics TDRSS / Starlink relay.
- Forwards CCSDS packets over WebSockets.
β’ Ground Station Node
- Receives CCSDS packets.
- Decodes them back to ROS 2 messages.
- Forwards telemetry to Open MCT as JSON.
6. Data Flow Model
[ ROS 2 Subsystems ]
β
βΌ
[ CCSDS Bridge Node ] ββ(TM)βββΆ [ Relay Server ] βββΆ [ Ground Station ]
β β
βββ(TC)ββββββββββββββββββββββββββββββββββββββββ
Ground Station β JSON β Open MCT / Mission Dashboard
- TM (Telemetry): e.g.,
/co2_storage,/o2_storage,/gnc/pose_all. - TC (Telecommand): e.g.,
/ogs/request_o2,/wrs/product_water_request.
7. Control Software & FDIR
The communication software in SSOS monitors link health and supports FDIR (Fault Detection, Isolation, Recovery):
- Link availability via
/comms/uplinkand/comms/downlinktopics. - Diagnostics published on
/comms/diagnostics. - If link loss detected, bridge can buffer packets until restored.
- Failures can be simulated for training scenarios.
Enable simulated failures with:
ros2 param set /ccsds_bridge enable_failure true
8. Verification and Analysis
The comms simulation publishes real-time data through several ROS 2 topics:
/comms/uplinkβ boolean status of uplink channel/comms/downlinkβ boolean status of downlink channel/comms/diagnosticsβ link health diagnostics/comms/tm_packetsβ raw CCSDS telemetry packets/comms/tc_packetsβ telecommand packets received/applied
9. Launching the Simulation
Prerequisites
- ROS 2 Humble or Jazzy
demo_ros_ccsds_bridgebuilt in workspace- Valid YAML config file (e.g.
bridge.yaml) underconfig/
Launch Commands
# Start bridge (onboard simulation)
ros2 launch demo_ros_ccsds_bridge bridge.launch.py
# Start ground station (receives & decodes)
ros2 launch demo_ros_ccsds_bridge ground_station.launch.py
10. Reference: ISS Comms Design
The communication simulation in Space Station OS is inspired by the ISS communication architecture:
- Dual-band relay via TDRSS.
- CCSDS TM/TC packet standards.
- Real-time ground integration.
- Modular, redundant design for crew safety.
For technical background: [ISS Communications Overview (NASA)](https://www.nasa.gov/pdf/167129main_ISS_Comm.pdf)