Skip to content

space-station-os/demo_thermal_control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Active Thermal Control System (ATCS)

Overview

The Active Thermal Control System (ATCS) module is a critical subsystem for the International Space Station (ISS). Its primary functions include:

  1. Maintaining Internal Temperature: Removing heat from the pressurized cabin to sustain a stable environment.
  2. Supporting Electrical Power System (EPS): Removing excess heat generated by the EPS.

This repository provides a simulation of the ATCS module, focusing on heat removal from the pressurized cabin. The simulation is implemented using ROS 2, with nodes representing various subsystems and processes of ATCS.


Simulation Design

The simulation is built around two main ROS 2 nodes:

  1. System Temperature Node (coldplate_system)

    • Monitors the temperature of the cold plate/heat exchanger.
    • Triggers the cooling process when the temperature exceeds a critical level.
    • Publishes real-time data, including:
      • Cold plate temperature.
      • Internal coolant (water) temperature.
      • External coolant (ammonia) temperature.
  2. Cooling Process Node (cooling_process)

    • Simulates the cooling process, involving:
      • Activation of pumps for the Internal ATCS (IATCS) and External ATCS (EATCS).
      • Heat transfer between the IATCS and EATCS loops.
    • Responds to temperature reduction requests.
    • Logs alerts in case of cooling system inactivation.

System Workflow

1. Monitoring and Publishing Cold Plate Temperature

  • The coldplate_system node simulates temperature increases in the cold plate due to load variations.
  • Publishes temperature data to the /coldplate_temperature topic.

2. Critical Temperature Detection

  • When the temperature exceeds a critical threshold:
    • Logs a warning.
    • Sends a request to the cooling_process node to reduce the temperature.

3. Cooling Process

  • The cooling_process node simulates:
    • Heat absorption from the cold plate to the internal coolant (water).
    • Heat exchange from water to the external coolant (ammonia) and finally to the radiator outside the ISS.
  • Returns the updated temperatures for the cold plate, water, and ammonia.

4. Temperature Update and Publishing

  • The coldplate_system node updates the cold plate temperature based on the response from the cooling_process node.
  • Resumes publishing the updated data.

ROS 2 Topics

Published Topics

  1. /coldplate_temperature
    • Type: sensor_msgs/msg/Temperature
    • Description: Publishes real-time data, including:
      • Temperature (°C) with variance.

ROS 2 Services

Provided Services

  1. /Cooling (Cooling Process Node):
    • Type: thermal_control/srv/Cooling
    • Description: Handles temperature reduction requests.
      • Request:
        • temperature: Current cold plate temperature (°C).
      • Response:
        • success: Boolean indicating if cooling was successful.
        • message: Status message describing the result.
        • reduced_temperature: Updated cold plate temperature.
        • water_temperature: Updated internal coolant temperature.
        • ammonia_temperature: Updated external coolant temperature.

Parameters

Initial Parameters

  • Cold Plate Temperature: 45°C
  • Target Cold Plate Temperature: 30°C
  • Initial Coolant Temperatures:
    • Water: 4°C
    • Ammonia: -40°C
    • Radiator: -270°C

Constants Considered

For Cold Plate (CP):

  • Specific Heat Capacity (Aluminum): 900 J/kg·K
  • Mass of Cold Plate: 1 kg
  • Heat Exchange Efficiency (CP-Water): 0.95
  • Heat Transfer Coefficient (CP-Water): 200 W/m²·K
  • Contact Area (CP-Water): 0.1 m²

For Coolants:

  • Specific Heat Capacity (Water): 4184 J/kg·K
  • Specific Heat Capacity (Ammonia): 4500 J/kg·K
  • Mass Flow Rate (Water): 1 kg/s
  • Mass Flow Rate (Ammonia): 1 kg/s
  • Heat Exchange Efficiency: 0.95
  • Heat Transfer Coefficient (Water-Ammonia): 150 W/m²·K
  • Contact Area (Water-Ammonia): 0.1 m²
  • Stefan-Boltzmann Constant: 5.67e-8 W/m²·K⁴
  • Radiator Emissivity: 0.9
  • Radiator Area: 0.1 m²

Running the Simulation

Step 1: Build the Package

colcon build

Step 2: Source the Workspace

source install/setup.bash

Step 3: Launch the Nodes

ros2 launch thermal_control thermals.launch.py

Expected Log Output

[coldplate_system-1] [INFO] [1736625440.136587250] [coldplate_system]: Cold Plate Temperature: 48.50°C
[coldplate_system-1] [INFO] [1736625440.637731724] [coldplate_system]: Cold Plate Temperature: 49.00°C
[coldplate_system-1] [INFO] [1736625441.136917492] [coldplate_system]: Cold Plate Temperature: 49.50°C
[coldplate_system-1] [INFO] [1736625441.642691919] [coldplate_system]: Cold Plate Temperature: 50.00°C
[coldplate_system-1] [WARN] [1736625441.642796660] [coldplate_system]: Temperature exceeds 50°C. Activating cooling system...
[cooling_process-2] [INFO] [1736625441.643222008] [cooling_process]: Received cooling request: Current Temp = 50.00°C, Target Temp = 30.00°C
[coldplate_system-1] [INFO] [1736625441.643703795] [coldplate_system]: Cooling completed successfully. Cold Plate Temperature: 49.03°C
[coldplate_system-1] Water Temperature: 4.06°C
[coldplate_system-1] Ammonia Temperature: -39.86°C

About

Thermal control for ssos

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published