ROS2 Task Orchestrator is an open-source ROS2 package for starting, tracking, cancelling and composing robot tasks through a stable ROS2-native API.
The project is designed as an edge task layer. Existing ROS2 actions and services keep implementing robot behavior; the orchestrator provides a common entry point, task state, results, feedback and events.
| Distribution | Status | Notes |
|---|---|---|
| Humble | Supported | Minimum supported distribution. |
| Jazzy | Supported | Current CI target. |
| Lyrical | Planned | Added after build and CI validation. |
| Foxy | Planned legacy | Best-effort source compatibility for legacy robots. |
Foxy is end-of-life upstream and will not be part of the default CI matrix. Lyrical is the current ROS2 release line and is tracked as the next support target.
task_orchestrator_msgs: public ROS2 messages, services and actions.task_orchestrator_core: core orchestrator node and task lifecycle logic.task_orchestrator_examples: example configs and launch files.
source /opt/ros/humble/setup.bash
colcon build --symlink-install
source install/setup.bashros2 launch task_orchestrator_core task_orchestrator.launch.pydocker build --build-arg ROS_DISTRO=humble -f docker/Dockerfile -t ros-task-orchestrator:humble .
docker run --rm --network host ros-task-orchestrator:humble \
ros2 launch task_orchestrator_core task_orchestrator.launch.pyFor Jazzy:
docker build --build-arg ROS_DISTRO=jazzy -f docker/Dockerfile -t ros-task-orchestrator:jazzy .- Docs Home: overview and navigation.
- Getting Started: build, run and first task.
- Task YAML: declare service/action-backed tasks.
- Public API: actions, topics and services.
- Observability: events, feedback and structured logs.
- SQLite Storage: optional durability.
- Recovery: late-client and restart recovery.
- Nav2 Example: navigation task config.
- Architecture: core boundaries and runtime shape.
Apache-2.0
