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/uplink and /comms/downlink topics.
  • 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_bridge built in workspace
  • Valid YAML config file (e.g. bridge.yaml) under config/

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)