Skip to content

Conversation

@bondada-a
Copy link
Contributor

Summary

Adds hello_orchestrator_py - a minimal Python demo of the orchestrator pattern for dispatching JSON tasks to specialized MTC action servers.

Packages:

  • hello_orchestrator_py - orchestrator server, print/move action servers, client
  • hello_orchestrator_py_interfaces - action definitions

Architecture

                    ┌─────────────────┐
                    │  orchestrator   │
                    │     client      │
                    └────────┬────────┘
                             │ JSON task
                             ▼
                    ┌─────────────────┐
                    │  orchestrator   │
                    │     server      │
                    └────────┬────────┘
                             │
              ┌──────────────┴──────────────┐
              │                             │
              ▼                             ▼
     ┌─────────────────┐           ┌─────────────────┐
     │  print_server   │           │   move_server   │
     │  (logs message) │           │   (MTC motion)  │
     └─────────────────┘           └────────┬────────┘
                                            │
                                            ▼
                                   ┌─────────────────┐
                                   │     MoveIt      │
                                   │   (execution)   │
                                   └─────────────────┘

Base Action Server / Stages

Common patterns are extracted into base classes to avoid redundant code across action servers:

  • BaseActionServer - All action servers share the same lifecycle (goal acceptance, execution, error handling).

  • BaseStages - All MTC stages share the same initialization and plan-execute flow. Subclasses only implement task-specific logic.

Python demo of orchestrator pattern dispatching JSON tasks to
specialized MTC action servers (print, move). Includes:
- hello_orchestrator_py: orchestrator server, action servers, client
- hello_orchestrator_py_interfaces: action definitions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant