No version for distro humble showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.8.7
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Space Station OS. A future where anyone can develop space stations.
Checkout URI https://github.com/space-station-os/space_station_os.git
VCS Type git
VCS Version main
Last Updated 2026-02-16
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Space Station EPS

Maintainers

  • siddarth

Authors

No additional authors.

Primary Electrical Power System (EPS) – Space Station OS

Overview

The Electrical Power System (EPS) is responsible for collecting, managing, and distributing power across the space station. It mimics the real ISS power architecture, including solar tracking, battery charge/discharge regulation, fault protection, and dynamic routing of power to downstream systems.

The primary components implemented include:

  • SARJ (Solar Alpha Rotary Joint)
  • Battery Manager
  • BCDU (Battery Charge/Discharge Unit)
  • MBSU (Main Bus Switching Unit)
  • DDCU (Direct Current-to-Direct Current Converter Unit)

1. SARJ – Solar Array Tracking

  • The SARJ node (sarj_mock.cpp) simulates rotation of the solar arrays to track the sun.
  • It outputs a solar voltage estimate (/solar/voltage) that depends on the beta angle and sun position.
  • This voltage serves as input to the BCDU to decide whether to charge batteries or switch to discharge mode (e.g., during eclipse).

2. Battery Manager

  • Each channel (1–12) has two ORUs (Orbital Replacement Units), each with a BatteryManagementSystem (BMS).
  • The battery_health.cpp node:

    • Publishes per-ORU sensor_msgs/BatteryState on /battery/battery_bms_<ID>/health.
    • Responds to /charge and /discharge service calls (simulated trigger-based).
    • Applies voltage drop/gain based on activity.
    • Rejects unsafe commands based on voltage limits (e.g., over 120 V or under 70 V).

3. BCDU – Charge/Discharge Controller

  • Implemented as a ROS 2 action server in bcdu_device.cpp.
  • Listens to:

    • Action goals on /bcdu/operation (charge or discharge with target voltage).
    • /solar/voltage topic to determine when to switch between charge/discharge.
    • Battery status from all 24 BMS instances.
  • Parallelizes charge/discharge commands to all healthy ORUs via /battery/battery_bms_X/charge and /discharge.
  • Publishes status to /bcdu/status and diagnostics to /eps/diagnostics.

Key features:

  • Fault isolation if current > 127 A or voltage outside safe range.
  • Automatic safe mode entry on fault detection.

4. MBSU – Channel Selection and Routing

  • Implemented in mbsu_distributor.cpp.
  • Subscribes to:

    • /mbsu/channel_<N>/voltage — one per EPS channel (voltage derived from BCDU-dispatched ORUs).
  • Maintains a live mapping of channel voltages.
  • Periodically calls selectHealthyChannels():

    • Picks top 2 healthy channels (voltage > 120 V).
    • Publishes combined voltage average to /ddcu/input_voltage (simulating DDCU supply).
    • Publishes warning diagnostics if fewer than 2 healthy channels available.

Note: MBSU does not subscribe to BMS health directly anymore — it only relies on channel voltage published by BCDU.


System Flow

``` [SARJ] │ +───────▼────────+ │ Solar Power │ │ Estimate │ +───────┬────────+ │ /solar/voltage [BCDU Action Server] /bcdu/operation ┌────────┬────────┐ │ │ │ /charge /discharge Monitor all ORUs │ │ ┌──────▼──┐ ┌────▼────┐ │ Battery │ │ Battery │ … │ BMS 0 │ │ BMS 1 │ etc. └─────────┘ └─────────┘ │ │ /health /health ▼ ▼ [MBSU Node] └─ Subscribes to: /mbsu/channel_/voltage └─ Publishes: /ddcu/input_voltage (to DDCU)

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Services

Plugins

No plugins found.

Recent questions tagged space_station_eps at Robotics Stack Exchange

No version for distro jazzy showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.8.7
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Space Station OS. A future where anyone can develop space stations.
Checkout URI https://github.com/space-station-os/space_station_os.git
VCS Type git
VCS Version main
Last Updated 2026-02-16
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Space Station EPS

Maintainers

  • siddarth

Authors

No additional authors.

Primary Electrical Power System (EPS) – Space Station OS

Overview

The Electrical Power System (EPS) is responsible for collecting, managing, and distributing power across the space station. It mimics the real ISS power architecture, including solar tracking, battery charge/discharge regulation, fault protection, and dynamic routing of power to downstream systems.

The primary components implemented include:

  • SARJ (Solar Alpha Rotary Joint)
  • Battery Manager
  • BCDU (Battery Charge/Discharge Unit)
  • MBSU (Main Bus Switching Unit)
  • DDCU (Direct Current-to-Direct Current Converter Unit)

1. SARJ – Solar Array Tracking

  • The SARJ node (sarj_mock.cpp) simulates rotation of the solar arrays to track the sun.
  • It outputs a solar voltage estimate (/solar/voltage) that depends on the beta angle and sun position.
  • This voltage serves as input to the BCDU to decide whether to charge batteries or switch to discharge mode (e.g., during eclipse).

2. Battery Manager

  • Each channel (1–12) has two ORUs (Orbital Replacement Units), each with a BatteryManagementSystem (BMS).
  • The battery_health.cpp node:

    • Publishes per-ORU sensor_msgs/BatteryState on /battery/battery_bms_<ID>/health.
    • Responds to /charge and /discharge service calls (simulated trigger-based).
    • Applies voltage drop/gain based on activity.
    • Rejects unsafe commands based on voltage limits (e.g., over 120 V or under 70 V).

3. BCDU – Charge/Discharge Controller

  • Implemented as a ROS 2 action server in bcdu_device.cpp.
  • Listens to:

    • Action goals on /bcdu/operation (charge or discharge with target voltage).
    • /solar/voltage topic to determine when to switch between charge/discharge.
    • Battery status from all 24 BMS instances.
  • Parallelizes charge/discharge commands to all healthy ORUs via /battery/battery_bms_X/charge and /discharge.
  • Publishes status to /bcdu/status and diagnostics to /eps/diagnostics.

Key features:

  • Fault isolation if current > 127 A or voltage outside safe range.
  • Automatic safe mode entry on fault detection.

4. MBSU – Channel Selection and Routing

  • Implemented in mbsu_distributor.cpp.
  • Subscribes to:

    • /mbsu/channel_<N>/voltage — one per EPS channel (voltage derived from BCDU-dispatched ORUs).
  • Maintains a live mapping of channel voltages.
  • Periodically calls selectHealthyChannels():

    • Picks top 2 healthy channels (voltage > 120 V).
    • Publishes combined voltage average to /ddcu/input_voltage (simulating DDCU supply).
    • Publishes warning diagnostics if fewer than 2 healthy channels available.

Note: MBSU does not subscribe to BMS health directly anymore — it only relies on channel voltage published by BCDU.


System Flow

``` [SARJ] │ +───────▼────────+ │ Solar Power │ │ Estimate │ +───────┬────────+ │ /solar/voltage [BCDU Action Server] /bcdu/operation ┌────────┬────────┐ │ │ │ /charge /discharge Monitor all ORUs │ │ ┌──────▼──┐ ┌────▼────┐ │ Battery │ │ Battery │ … │ BMS 0 │ │ BMS 1 │ etc. └─────────┘ └─────────┘ │ │ /health /health ▼ ▼ [MBSU Node] └─ Subscribes to: /mbsu/channel_/voltage └─ Publishes: /ddcu/input_voltage (to DDCU)

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Services

Plugins

No plugins found.

Recent questions tagged space_station_eps at Robotics Stack Exchange

No version for distro kilted showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.8.7
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Space Station OS. A future where anyone can develop space stations.
Checkout URI https://github.com/space-station-os/space_station_os.git
VCS Type git
VCS Version main
Last Updated 2026-02-16
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Space Station EPS

Maintainers

  • siddarth

Authors

No additional authors.

Primary Electrical Power System (EPS) – Space Station OS

Overview

The Electrical Power System (EPS) is responsible for collecting, managing, and distributing power across the space station. It mimics the real ISS power architecture, including solar tracking, battery charge/discharge regulation, fault protection, and dynamic routing of power to downstream systems.

The primary components implemented include:

  • SARJ (Solar Alpha Rotary Joint)
  • Battery Manager
  • BCDU (Battery Charge/Discharge Unit)
  • MBSU (Main Bus Switching Unit)
  • DDCU (Direct Current-to-Direct Current Converter Unit)

1. SARJ – Solar Array Tracking

  • The SARJ node (sarj_mock.cpp) simulates rotation of the solar arrays to track the sun.
  • It outputs a solar voltage estimate (/solar/voltage) that depends on the beta angle and sun position.
  • This voltage serves as input to the BCDU to decide whether to charge batteries or switch to discharge mode (e.g., during eclipse).

2. Battery Manager

  • Each channel (1–12) has two ORUs (Orbital Replacement Units), each with a BatteryManagementSystem (BMS).
  • The battery_health.cpp node:

    • Publishes per-ORU sensor_msgs/BatteryState on /battery/battery_bms_<ID>/health.
    • Responds to /charge and /discharge service calls (simulated trigger-based).
    • Applies voltage drop/gain based on activity.
    • Rejects unsafe commands based on voltage limits (e.g., over 120 V or under 70 V).

3. BCDU – Charge/Discharge Controller

  • Implemented as a ROS 2 action server in bcdu_device.cpp.
  • Listens to:

    • Action goals on /bcdu/operation (charge or discharge with target voltage).
    • /solar/voltage topic to determine when to switch between charge/discharge.
    • Battery status from all 24 BMS instances.
  • Parallelizes charge/discharge commands to all healthy ORUs via /battery/battery_bms_X/charge and /discharge.
  • Publishes status to /bcdu/status and diagnostics to /eps/diagnostics.

Key features:

  • Fault isolation if current > 127 A or voltage outside safe range.
  • Automatic safe mode entry on fault detection.

4. MBSU – Channel Selection and Routing

  • Implemented in mbsu_distributor.cpp.
  • Subscribes to:

    • /mbsu/channel_<N>/voltage — one per EPS channel (voltage derived from BCDU-dispatched ORUs).
  • Maintains a live mapping of channel voltages.
  • Periodically calls selectHealthyChannels():

    • Picks top 2 healthy channels (voltage > 120 V).
    • Publishes combined voltage average to /ddcu/input_voltage (simulating DDCU supply).
    • Publishes warning diagnostics if fewer than 2 healthy channels available.

Note: MBSU does not subscribe to BMS health directly anymore — it only relies on channel voltage published by BCDU.


System Flow

``` [SARJ] │ +───────▼────────+ │ Solar Power │ │ Estimate │ +───────┬────────+ │ /solar/voltage [BCDU Action Server] /bcdu/operation ┌────────┬────────┐ │ │ │ /charge /discharge Monitor all ORUs │ │ ┌──────▼──┐ ┌────▼────┐ │ Battery │ │ Battery │ … │ BMS 0 │ │ BMS 1 │ etc. └─────────┘ └─────────┘ │ │ /health /health ▼ ▼ [MBSU Node] └─ Subscribes to: /mbsu/channel_/voltage └─ Publishes: /ddcu/input_voltage (to DDCU)

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Services

Plugins

No plugins found.

Recent questions tagged space_station_eps at Robotics Stack Exchange

No version for distro rolling showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.8.7
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Space Station OS. A future where anyone can develop space stations.
Checkout URI https://github.com/space-station-os/space_station_os.git
VCS Type git
VCS Version main
Last Updated 2026-02-16
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Space Station EPS

Maintainers

  • siddarth

Authors

No additional authors.

Primary Electrical Power System (EPS) – Space Station OS

Overview

The Electrical Power System (EPS) is responsible for collecting, managing, and distributing power across the space station. It mimics the real ISS power architecture, including solar tracking, battery charge/discharge regulation, fault protection, and dynamic routing of power to downstream systems.

The primary components implemented include:

  • SARJ (Solar Alpha Rotary Joint)
  • Battery Manager
  • BCDU (Battery Charge/Discharge Unit)
  • MBSU (Main Bus Switching Unit)
  • DDCU (Direct Current-to-Direct Current Converter Unit)

1. SARJ – Solar Array Tracking

  • The SARJ node (sarj_mock.cpp) simulates rotation of the solar arrays to track the sun.
  • It outputs a solar voltage estimate (/solar/voltage) that depends on the beta angle and sun position.
  • This voltage serves as input to the BCDU to decide whether to charge batteries or switch to discharge mode (e.g., during eclipse).

2. Battery Manager

  • Each channel (1–12) has two ORUs (Orbital Replacement Units), each with a BatteryManagementSystem (BMS).
  • The battery_health.cpp node:

    • Publishes per-ORU sensor_msgs/BatteryState on /battery/battery_bms_<ID>/health.
    • Responds to /charge and /discharge service calls (simulated trigger-based).
    • Applies voltage drop/gain based on activity.
    • Rejects unsafe commands based on voltage limits (e.g., over 120 V or under 70 V).

3. BCDU – Charge/Discharge Controller

  • Implemented as a ROS 2 action server in bcdu_device.cpp.
  • Listens to:

    • Action goals on /bcdu/operation (charge or discharge with target voltage).
    • /solar/voltage topic to determine when to switch between charge/discharge.
    • Battery status from all 24 BMS instances.
  • Parallelizes charge/discharge commands to all healthy ORUs via /battery/battery_bms_X/charge and /discharge.
  • Publishes status to /bcdu/status and diagnostics to /eps/diagnostics.

Key features:

  • Fault isolation if current > 127 A or voltage outside safe range.
  • Automatic safe mode entry on fault detection.

4. MBSU – Channel Selection and Routing

  • Implemented in mbsu_distributor.cpp.
  • Subscribes to:

    • /mbsu/channel_<N>/voltage — one per EPS channel (voltage derived from BCDU-dispatched ORUs).
  • Maintains a live mapping of channel voltages.
  • Periodically calls selectHealthyChannels():

    • Picks top 2 healthy channels (voltage > 120 V).
    • Publishes combined voltage average to /ddcu/input_voltage (simulating DDCU supply).
    • Publishes warning diagnostics if fewer than 2 healthy channels available.

Note: MBSU does not subscribe to BMS health directly anymore — it only relies on channel voltage published by BCDU.


System Flow

``` [SARJ] │ +───────▼────────+ │ Solar Power │ │ Estimate │ +───────┬────────+ │ /solar/voltage [BCDU Action Server] /bcdu/operation ┌────────┬────────┐ │ │ │ /charge /discharge Monitor all ORUs │ │ ┌──────▼──┐ ┌────▼────┐ │ Battery │ │ Battery │ … │ BMS 0 │ │ BMS 1 │ etc. └─────────┘ └─────────┘ │ │ /health /health ▼ ▼ [MBSU Node] └─ Subscribes to: /mbsu/channel_/voltage └─ Publishes: /ddcu/input_voltage (to DDCU)

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Services

Plugins

No plugins found.

Recent questions tagged space_station_eps at Robotics Stack Exchange

Package Summary

Version 0.8.7
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Space Station OS. A future where anyone can develop space stations.
Checkout URI https://github.com/space-station-os/space_station_os.git
VCS Type git
VCS Version main
Last Updated 2026-02-16
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Space Station EPS

Maintainers

  • siddarth

Authors

No additional authors.

Primary Electrical Power System (EPS) – Space Station OS

Overview

The Electrical Power System (EPS) is responsible for collecting, managing, and distributing power across the space station. It mimics the real ISS power architecture, including solar tracking, battery charge/discharge regulation, fault protection, and dynamic routing of power to downstream systems.

The primary components implemented include:

  • SARJ (Solar Alpha Rotary Joint)
  • Battery Manager
  • BCDU (Battery Charge/Discharge Unit)
  • MBSU (Main Bus Switching Unit)
  • DDCU (Direct Current-to-Direct Current Converter Unit)

1. SARJ – Solar Array Tracking

  • The SARJ node (sarj_mock.cpp) simulates rotation of the solar arrays to track the sun.
  • It outputs a solar voltage estimate (/solar/voltage) that depends on the beta angle and sun position.
  • This voltage serves as input to the BCDU to decide whether to charge batteries or switch to discharge mode (e.g., during eclipse).

2. Battery Manager

  • Each channel (1–12) has two ORUs (Orbital Replacement Units), each with a BatteryManagementSystem (BMS).
  • The battery_health.cpp node:

    • Publishes per-ORU sensor_msgs/BatteryState on /battery/battery_bms_<ID>/health.
    • Responds to /charge and /discharge service calls (simulated trigger-based).
    • Applies voltage drop/gain based on activity.
    • Rejects unsafe commands based on voltage limits (e.g., over 120 V or under 70 V).

3. BCDU – Charge/Discharge Controller

  • Implemented as a ROS 2 action server in bcdu_device.cpp.
  • Listens to:

    • Action goals on /bcdu/operation (charge or discharge with target voltage).
    • /solar/voltage topic to determine when to switch between charge/discharge.
    • Battery status from all 24 BMS instances.
  • Parallelizes charge/discharge commands to all healthy ORUs via /battery/battery_bms_X/charge and /discharge.
  • Publishes status to /bcdu/status and diagnostics to /eps/diagnostics.

Key features:

  • Fault isolation if current > 127 A or voltage outside safe range.
  • Automatic safe mode entry on fault detection.

4. MBSU – Channel Selection and Routing

  • Implemented in mbsu_distributor.cpp.
  • Subscribes to:

    • /mbsu/channel_<N>/voltage — one per EPS channel (voltage derived from BCDU-dispatched ORUs).
  • Maintains a live mapping of channel voltages.
  • Periodically calls selectHealthyChannels():

    • Picks top 2 healthy channels (voltage > 120 V).
    • Publishes combined voltage average to /ddcu/input_voltage (simulating DDCU supply).
    • Publishes warning diagnostics if fewer than 2 healthy channels available.

Note: MBSU does not subscribe to BMS health directly anymore — it only relies on channel voltage published by BCDU.


System Flow

``` [SARJ] │ +───────▼────────+ │ Solar Power │ │ Estimate │ +───────┬────────+ │ /solar/voltage [BCDU Action Server] /bcdu/operation ┌────────┬────────┐ │ │ │ /charge /discharge Monitor all ORUs │ │ ┌──────▼──┐ ┌────▼────┐ │ Battery │ │ Battery │ … │ BMS 0 │ │ BMS 1 │ etc. └─────────┘ └─────────┘ │ │ /health /health ▼ ▼ [MBSU Node] └─ Subscribes to: /mbsu/channel_/voltage └─ Publishes: /ddcu/input_voltage (to DDCU)

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Services

Plugins

No plugins found.

Recent questions tagged space_station_eps at Robotics Stack Exchange

No version for distro galactic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.8.7
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Space Station OS. A future where anyone can develop space stations.
Checkout URI https://github.com/space-station-os/space_station_os.git
VCS Type git
VCS Version main
Last Updated 2026-02-16
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Space Station EPS

Maintainers

  • siddarth

Authors

No additional authors.

Primary Electrical Power System (EPS) – Space Station OS

Overview

The Electrical Power System (EPS) is responsible for collecting, managing, and distributing power across the space station. It mimics the real ISS power architecture, including solar tracking, battery charge/discharge regulation, fault protection, and dynamic routing of power to downstream systems.

The primary components implemented include:

  • SARJ (Solar Alpha Rotary Joint)
  • Battery Manager
  • BCDU (Battery Charge/Discharge Unit)
  • MBSU (Main Bus Switching Unit)
  • DDCU (Direct Current-to-Direct Current Converter Unit)

1. SARJ – Solar Array Tracking

  • The SARJ node (sarj_mock.cpp) simulates rotation of the solar arrays to track the sun.
  • It outputs a solar voltage estimate (/solar/voltage) that depends on the beta angle and sun position.
  • This voltage serves as input to the BCDU to decide whether to charge batteries or switch to discharge mode (e.g., during eclipse).

2. Battery Manager

  • Each channel (1–12) has two ORUs (Orbital Replacement Units), each with a BatteryManagementSystem (BMS).
  • The battery_health.cpp node:

    • Publishes per-ORU sensor_msgs/BatteryState on /battery/battery_bms_<ID>/health.
    • Responds to /charge and /discharge service calls (simulated trigger-based).
    • Applies voltage drop/gain based on activity.
    • Rejects unsafe commands based on voltage limits (e.g., over 120 V or under 70 V).

3. BCDU – Charge/Discharge Controller

  • Implemented as a ROS 2 action server in bcdu_device.cpp.
  • Listens to:

    • Action goals on /bcdu/operation (charge or discharge with target voltage).
    • /solar/voltage topic to determine when to switch between charge/discharge.
    • Battery status from all 24 BMS instances.
  • Parallelizes charge/discharge commands to all healthy ORUs via /battery/battery_bms_X/charge and /discharge.
  • Publishes status to /bcdu/status and diagnostics to /eps/diagnostics.

Key features:

  • Fault isolation if current > 127 A or voltage outside safe range.
  • Automatic safe mode entry on fault detection.

4. MBSU – Channel Selection and Routing

  • Implemented in mbsu_distributor.cpp.
  • Subscribes to:

    • /mbsu/channel_<N>/voltage — one per EPS channel (voltage derived from BCDU-dispatched ORUs).
  • Maintains a live mapping of channel voltages.
  • Periodically calls selectHealthyChannels():

    • Picks top 2 healthy channels (voltage > 120 V).
    • Publishes combined voltage average to /ddcu/input_voltage (simulating DDCU supply).
    • Publishes warning diagnostics if fewer than 2 healthy channels available.

Note: MBSU does not subscribe to BMS health directly anymore — it only relies on channel voltage published by BCDU.


System Flow

``` [SARJ] │ +───────▼────────+ │ Solar Power │ │ Estimate │ +───────┬────────+ │ /solar/voltage [BCDU Action Server] /bcdu/operation ┌────────┬────────┐ │ │ │ /charge /discharge Monitor all ORUs │ │ ┌──────▼──┐ ┌────▼────┐ │ Battery │ │ Battery │ … │ BMS 0 │ │ BMS 1 │ etc. └─────────┘ └─────────┘ │ │ /health /health ▼ ▼ [MBSU Node] └─ Subscribes to: /mbsu/channel_/voltage └─ Publishes: /ddcu/input_voltage (to DDCU)

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Services

Plugins

No plugins found.

Recent questions tagged space_station_eps at Robotics Stack Exchange

No version for distro iron showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.8.7
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Space Station OS. A future where anyone can develop space stations.
Checkout URI https://github.com/space-station-os/space_station_os.git
VCS Type git
VCS Version main
Last Updated 2026-02-16
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Space Station EPS

Maintainers

  • siddarth

Authors

No additional authors.

Primary Electrical Power System (EPS) – Space Station OS

Overview

The Electrical Power System (EPS) is responsible for collecting, managing, and distributing power across the space station. It mimics the real ISS power architecture, including solar tracking, battery charge/discharge regulation, fault protection, and dynamic routing of power to downstream systems.

The primary components implemented include:

  • SARJ (Solar Alpha Rotary Joint)
  • Battery Manager
  • BCDU (Battery Charge/Discharge Unit)
  • MBSU (Main Bus Switching Unit)
  • DDCU (Direct Current-to-Direct Current Converter Unit)

1. SARJ – Solar Array Tracking

  • The SARJ node (sarj_mock.cpp) simulates rotation of the solar arrays to track the sun.
  • It outputs a solar voltage estimate (/solar/voltage) that depends on the beta angle and sun position.
  • This voltage serves as input to the BCDU to decide whether to charge batteries or switch to discharge mode (e.g., during eclipse).

2. Battery Manager

  • Each channel (1–12) has two ORUs (Orbital Replacement Units), each with a BatteryManagementSystem (BMS).
  • The battery_health.cpp node:

    • Publishes per-ORU sensor_msgs/BatteryState on /battery/battery_bms_<ID>/health.
    • Responds to /charge and /discharge service calls (simulated trigger-based).
    • Applies voltage drop/gain based on activity.
    • Rejects unsafe commands based on voltage limits (e.g., over 120 V or under 70 V).

3. BCDU – Charge/Discharge Controller

  • Implemented as a ROS 2 action server in bcdu_device.cpp.
  • Listens to:

    • Action goals on /bcdu/operation (charge or discharge with target voltage).
    • /solar/voltage topic to determine when to switch between charge/discharge.
    • Battery status from all 24 BMS instances.
  • Parallelizes charge/discharge commands to all healthy ORUs via /battery/battery_bms_X/charge and /discharge.
  • Publishes status to /bcdu/status and diagnostics to /eps/diagnostics.

Key features:

  • Fault isolation if current > 127 A or voltage outside safe range.
  • Automatic safe mode entry on fault detection.

4. MBSU – Channel Selection and Routing

  • Implemented in mbsu_distributor.cpp.
  • Subscribes to:

    • /mbsu/channel_<N>/voltage — one per EPS channel (voltage derived from BCDU-dispatched ORUs).
  • Maintains a live mapping of channel voltages.
  • Periodically calls selectHealthyChannels():

    • Picks top 2 healthy channels (voltage > 120 V).
    • Publishes combined voltage average to /ddcu/input_voltage (simulating DDCU supply).
    • Publishes warning diagnostics if fewer than 2 healthy channels available.

Note: MBSU does not subscribe to BMS health directly anymore — it only relies on channel voltage published by BCDU.


System Flow

``` [SARJ] │ +───────▼────────+ │ Solar Power │ │ Estimate │ +───────┬────────+ │ /solar/voltage [BCDU Action Server] /bcdu/operation ┌────────┬────────┐ │ │ │ /charge /discharge Monitor all ORUs │ │ ┌──────▼──┐ ┌────▼────┐ │ Battery │ │ Battery │ … │ BMS 0 │ │ BMS 1 │ etc. └─────────┘ └─────────┘ │ │ /health /health ▼ ▼ [MBSU Node] └─ Subscribes to: /mbsu/channel_/voltage └─ Publishes: /ddcu/input_voltage (to DDCU)

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Services

Plugins

No plugins found.

Recent questions tagged space_station_eps at Robotics Stack Exchange

No version for distro melodic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.8.7
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Space Station OS. A future where anyone can develop space stations.
Checkout URI https://github.com/space-station-os/space_station_os.git
VCS Type git
VCS Version main
Last Updated 2026-02-16
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Space Station EPS

Maintainers

  • siddarth

Authors

No additional authors.

Primary Electrical Power System (EPS) – Space Station OS

Overview

The Electrical Power System (EPS) is responsible for collecting, managing, and distributing power across the space station. It mimics the real ISS power architecture, including solar tracking, battery charge/discharge regulation, fault protection, and dynamic routing of power to downstream systems.

The primary components implemented include:

  • SARJ (Solar Alpha Rotary Joint)
  • Battery Manager
  • BCDU (Battery Charge/Discharge Unit)
  • MBSU (Main Bus Switching Unit)
  • DDCU (Direct Current-to-Direct Current Converter Unit)

1. SARJ – Solar Array Tracking

  • The SARJ node (sarj_mock.cpp) simulates rotation of the solar arrays to track the sun.
  • It outputs a solar voltage estimate (/solar/voltage) that depends on the beta angle and sun position.
  • This voltage serves as input to the BCDU to decide whether to charge batteries or switch to discharge mode (e.g., during eclipse).

2. Battery Manager

  • Each channel (1–12) has two ORUs (Orbital Replacement Units), each with a BatteryManagementSystem (BMS).
  • The battery_health.cpp node:

    • Publishes per-ORU sensor_msgs/BatteryState on /battery/battery_bms_<ID>/health.
    • Responds to /charge and /discharge service calls (simulated trigger-based).
    • Applies voltage drop/gain based on activity.
    • Rejects unsafe commands based on voltage limits (e.g., over 120 V or under 70 V).

3. BCDU – Charge/Discharge Controller

  • Implemented as a ROS 2 action server in bcdu_device.cpp.
  • Listens to:

    • Action goals on /bcdu/operation (charge or discharge with target voltage).
    • /solar/voltage topic to determine when to switch between charge/discharge.
    • Battery status from all 24 BMS instances.
  • Parallelizes charge/discharge commands to all healthy ORUs via /battery/battery_bms_X/charge and /discharge.
  • Publishes status to /bcdu/status and diagnostics to /eps/diagnostics.

Key features:

  • Fault isolation if current > 127 A or voltage outside safe range.
  • Automatic safe mode entry on fault detection.

4. MBSU – Channel Selection and Routing

  • Implemented in mbsu_distributor.cpp.
  • Subscribes to:

    • /mbsu/channel_<N>/voltage — one per EPS channel (voltage derived from BCDU-dispatched ORUs).
  • Maintains a live mapping of channel voltages.
  • Periodically calls selectHealthyChannels():

    • Picks top 2 healthy channels (voltage > 120 V).
    • Publishes combined voltage average to /ddcu/input_voltage (simulating DDCU supply).
    • Publishes warning diagnostics if fewer than 2 healthy channels available.

Note: MBSU does not subscribe to BMS health directly anymore — it only relies on channel voltage published by BCDU.


System Flow

``` [SARJ] │ +───────▼────────+ │ Solar Power │ │ Estimate │ +───────┬────────+ │ /solar/voltage [BCDU Action Server] /bcdu/operation ┌────────┬────────┐ │ │ │ /charge /discharge Monitor all ORUs │ │ ┌──────▼──┐ ┌────▼────┐ │ Battery │ │ Battery │ … │ BMS 0 │ │ BMS 1 │ etc. └─────────┘ └─────────┘ │ │ /health /health ▼ ▼ [MBSU Node] └─ Subscribes to: /mbsu/channel_/voltage └─ Publishes: /ddcu/input_voltage (to DDCU)

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Services

Plugins

No plugins found.

Recent questions tagged space_station_eps at Robotics Stack Exchange

No version for distro noetic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.8.7
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Space Station OS. A future where anyone can develop space stations.
Checkout URI https://github.com/space-station-os/space_station_os.git
VCS Type git
VCS Version main
Last Updated 2026-02-16
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Space Station EPS

Maintainers

  • siddarth

Authors

No additional authors.

Primary Electrical Power System (EPS) – Space Station OS

Overview

The Electrical Power System (EPS) is responsible for collecting, managing, and distributing power across the space station. It mimics the real ISS power architecture, including solar tracking, battery charge/discharge regulation, fault protection, and dynamic routing of power to downstream systems.

The primary components implemented include:

  • SARJ (Solar Alpha Rotary Joint)
  • Battery Manager
  • BCDU (Battery Charge/Discharge Unit)
  • MBSU (Main Bus Switching Unit)
  • DDCU (Direct Current-to-Direct Current Converter Unit)

1. SARJ – Solar Array Tracking

  • The SARJ node (sarj_mock.cpp) simulates rotation of the solar arrays to track the sun.
  • It outputs a solar voltage estimate (/solar/voltage) that depends on the beta angle and sun position.
  • This voltage serves as input to the BCDU to decide whether to charge batteries or switch to discharge mode (e.g., during eclipse).

2. Battery Manager

  • Each channel (1–12) has two ORUs (Orbital Replacement Units), each with a BatteryManagementSystem (BMS).
  • The battery_health.cpp node:

    • Publishes per-ORU sensor_msgs/BatteryState on /battery/battery_bms_<ID>/health.
    • Responds to /charge and /discharge service calls (simulated trigger-based).
    • Applies voltage drop/gain based on activity.
    • Rejects unsafe commands based on voltage limits (e.g., over 120 V or under 70 V).

3. BCDU – Charge/Discharge Controller

  • Implemented as a ROS 2 action server in bcdu_device.cpp.
  • Listens to:

    • Action goals on /bcdu/operation (charge or discharge with target voltage).
    • /solar/voltage topic to determine when to switch between charge/discharge.
    • Battery status from all 24 BMS instances.
  • Parallelizes charge/discharge commands to all healthy ORUs via /battery/battery_bms_X/charge and /discharge.
  • Publishes status to /bcdu/status and diagnostics to /eps/diagnostics.

Key features:

  • Fault isolation if current > 127 A or voltage outside safe range.
  • Automatic safe mode entry on fault detection.

4. MBSU – Channel Selection and Routing

  • Implemented in mbsu_distributor.cpp.
  • Subscribes to:

    • /mbsu/channel_<N>/voltage — one per EPS channel (voltage derived from BCDU-dispatched ORUs).
  • Maintains a live mapping of channel voltages.
  • Periodically calls selectHealthyChannels():

    • Picks top 2 healthy channels (voltage > 120 V).
    • Publishes combined voltage average to /ddcu/input_voltage (simulating DDCU supply).
    • Publishes warning diagnostics if fewer than 2 healthy channels available.

Note: MBSU does not subscribe to BMS health directly anymore — it only relies on channel voltage published by BCDU.


System Flow

``` [SARJ] │ +───────▼────────+ │ Solar Power │ │ Estimate │ +───────┬────────+ │ /solar/voltage [BCDU Action Server] /bcdu/operation ┌────────┬────────┐ │ │ │ /charge /discharge Monitor all ORUs │ │ ┌──────▼──┐ ┌────▼────┐ │ Battery │ │ Battery │ … │ BMS 0 │ │ BMS 1 │ etc. └─────────┘ └─────────┘ │ │ /health /health ▼ ▼ [MBSU Node] └─ Subscribes to: /mbsu/channel_/voltage └─ Publishes: /ddcu/input_voltage (to DDCU)

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Services

Plugins

No plugins found.

Recent questions tagged space_station_eps at Robotics Stack Exchange