Where each behavior belongs
The GUI crosses a ROS action boundary into action servers, which compose core helpers and task stages; perception and shared beamline configuration have their own responsibilities and cross-cutting dependencies.
EROBS / MODULE MAP
Where each behavior belongs
Find the area responsible for a feature, then follow its module into the reference.
ROS ACTION
GUI composition
mtc_gui/
Forms, queue and viewers
ros2_bridge.py → Qt
Action boundaries
beambot/action_servers/
Orchestrator and task servers
Admission, feedback and results
Execution support
beambot/core/
Task parsing and batching
Plan cache and lifecycle
Tool-change coordination
Task stages
beambot/stages/
MTC task construction
Shared motion helpers
Per-task execution
Perception & mapping
beambot/vision/
camera/ · detection/
Capture, detection and TF
Lookup and goal geometry
beambot/mapping/
Shared beamline configuration
beambot/config_loader.py + selected beamline YAML
Consumed across launch, GUI, action servers, stages and perception.
Selected calls are shown. VisionEngine also inherits BaseStages; these are responsibility groups.
Python composition / calls
ROS action boundary