Skip to content

Add hello_orchestrator_py demo package#78

Merged
kushantp58 merged 1 commit intoNSLS2:humblefrom
bondada-a:pr/hello-orchestrator-py
Feb 26, 2026
Merged

Add hello_orchestrator_py demo package#78
kushantp58 merged 1 commit intoNSLS2:humblefrom
bondada-a:pr/hello-orchestrator-py

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
@kushantp58 kushantp58 merged commit 4d449ba into NSLS2:humble Feb 26, 2026
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.

2 participants