Skip to project

Robot fleet control · 2025–2026

Mosaic

A ROS 2 fleet controller with an operator interface and movement control running on each robot.

View repository
OperatorTk interface

Paths and manual commands

UDP
SupervisorROS 2 bridge

Commands in · fleet state out

High-level commands ↓↑ Robot status
Each robotLocal agent

Sensors & pose → path following → motor commands

Robot-local executionThe robot owns path execution, manual drive, and stopping decisions.
High-level commands travel through the supervisor; motor commands are published by each robot agent.

Ownership

Control responsibilities

The supervisor handles coordination. Each robot reads its own sensors and OptiTrack pose, executes movement, and checks whether that pose is still current.

Robot agent
Owns path following, manual drive, stopping decisions, and the only local cmd_vel publisher.
Supervisor bridge
Translates UDP commands into ROS 2 actions and aggregates normalized robot state.
Operator tools
The Tk interface issues commands. Gama receives fleet state through a separate UDP export.

Interfaces

Shared topics and fleet configuration

Normalized ROS topics

Agents publish Mosaic status, pose, diagnostics, and path progress. The supervisor consumes these interfaces instead of depending on vendor-specific robot topics.

Shared fleet configuration

A common configuration defines robot namespaces, endpoints, and device roles. Launch packages and deployment scripts keep startup consistent across machines.

Lab validation

Physical validation requirements

Fleet membership is configured in advance. Physical validation depends on the robots, their ROS interfaces, OptiTrack, and the lab network.

View source All projects