Skip to content

[v0.8.8] [WIP]Behaviour tree interface for SSOS#136

Open
snktshrma wants to merge 1 commit intospace-station-os:v0.8.6-devfrom
snktshrma:dev/behaviour_tree
Open

[v0.8.8] [WIP]Behaviour tree interface for SSOS#136
snktshrma wants to merge 1 commit intospace-station-os:v0.8.6-devfrom
snktshrma:dev/behaviour_tree

Conversation

@snktshrma
Copy link
Copy Markdown
Member

@snktshrma snktshrma commented Aug 21, 2025

This PR introduces a behavior tree architecture to the SSOS, enabling robust decision-making including CMG control, attitude management, and mission execution.

What's Added

Core Behavior Tree Infrastructure

  • space_station_bt: Core behavior tree engine with plugin management
  • space_station_bt_nodes: Custom behavior tree nodes for space station operations
  • space_station_bt_navigator: High-level behavior tree execution and navigation system

Space Station Specific BT Nodes

  • CMG Control Nodes: UnloadCMG, CheckCMGThreshold, CheckCMGUnloadingStatus
  • Control Mode Management: SetControlMode for switching between CMG and thruster control
  • Utility Nodes: LogMessage, WaitForStabilization for operational support
  • Simulation Support: CMGSimulator for testing and validation

Mission Control Capabilities

  • Autonomous CMG Unloading: Intelligent control moment gyroscope management
  • Dynamic Control Switching: Seamless transition between CMG and thruster control modes
  • Attitude Stabilization: Automated system stabilization monitoring
  • Mission Execution: Structured mission control through behavior tree sequences

Launch and Testing

Launch Files

  • cmg_unloading_test.launch.py: CMG unloading system test
  • control_mode_test.launch.py: Control mode switching validation
  • bt_navigator.launch.py: Main behavior tree navigation system

Test Scripts

  • test_cmg_unloading_complete.sh: CMG unloading validation
  • test_control_mode.sh: Control mode switching verification

Safety Additions

  • Threshold Monitoring: Prevents CMG saturation
  • Stabilization Checks: Ensures system stability before operations
  • Error Handling: Graceful degradation and recovery
  • Lifecycle Management: Proper system startup and shutdown

Documentation

  • Added READMEs and Example Configurations

@snktshrma snktshrma marked this pull request as ready for review August 25, 2025 14:58
@snktshrma snktshrma requested a review from yuyuqq as a code owner August 25, 2025 14:58
@snktshrma snktshrma changed the title Behaviour tree interface for SSOS [WIP] Behaviour tree interface for SSOS Aug 25, 2025
@siddarth09 siddarth09 changed the title Behaviour tree interface for SSOS [v0.8.6] Behaviour tree interface for SSOS Aug 25, 2025
@siddarth09 siddarth09 linked an issue Aug 29, 2025 that may be closed by this pull request
5 tasks
@siddarth09 siddarth09 added the enhancement New feature or request label Aug 29, 2025
@siddarth09 siddarth09 changed the base branch from v0.8.5-dev to v0.8.6-dev September 3, 2025 15:02
@siddarth09 siddarth09 changed the title [v0.8.6] Behaviour tree interface for SSOS [v0.8.6] [WIP]Behaviour tree interface for SSOS Sep 17, 2025
@yuyuqq yuyuqq changed the title [v0.8.6] [WIP]Behaviour tree interface for SSOS [v0.8.7] [WIP]Behaviour tree interface for SSOS Oct 19, 2025
@yuyuqq yuyuqq changed the title [v0.8.7] [WIP]Behaviour tree interface for SSOS [v0.8.8] [WIP]Behaviour tree interface for SSOS Jan 3, 2026
@yuyuqq
Copy link
Copy Markdown
Contributor

yuyuqq commented Jan 3, 2026

@snktshrma
@siddarth09 created the ECLSS module with BT which is included in the layer of the ECLSS module, while your "space_station_bt" module is created in the top layer. And I see you intend to add all BT modules in "space_station_bt," which has conflict with what Siddarth has been working. I believe we have to create a rule where and how to create the BT.

Can we discuss?

  • This BT in GNC is added to v0.8.8
  • Meanwhile, @yuyuqq will release v0.8.7 any mement, and generate v0.8.8-dev. @snktshrma can work on v0.8.8-dev, while you could start looking at v0.8.7-dev.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[v0.8.6] GNC Behaviour tree implementation

3 participants