Skip to content

[TASK] Mission Start Condition Node #654

@jorgenfj

Description

@jorgenfj

Description of task

Description

Create a reusable Behavior Tree Condition node that gates mission execution until a /mission/start ROS 2 service accepts a mission start request.

This node will be used at the root of mission behavior trees to ensure that no mission logic executes until an external supervisor explicitly starts a mission. The implementation must be reusable across multiple missions and independent of mission-specific logic.


Motivation

  • Missions should not begin automatically when the BT starts ticking
  • Mission start should be externally controlled (UI, operator, autonomy supervisor)
  • The same mission-start mechanism must work for all missions
  • BT mission logic should remain declarative and reusable

Proposed Solution

Implement a new BT Condition node that will:

  • Act as a gate at the root of the behavior tree
  • Cache the result internally
  • Expose the accepted mission ID via the BT blackboard

Suggested Workflow

No response

Specifications

No response

Contacts

No response

Code Quality

  • Every function in header files are documented (inputs/returns/exceptions)
  • The project has automated tests that cover MOST of the functions and branches in functions (pytest/gtest)
  • The code is documented on the wiki (provide link)

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions