# Robot discovery and status — published to /fleet/robots at 1 Hz by each robot.
# Used for DDS peer discovery without a central broker.

builtin_interfaces/Time   stamp
string                    robot_id        # e.g. "saltybot_1"
string                    namespace       # e.g. "/saltybot_1"
geometry_msgs/PoseStamped pose            # current best-estimate pose (map frame)

# Status flags
uint8 STATUS_IDLE        = 0
uint8 STATUS_MAPPING     = 1
uint8 STATUS_EXPLORING   = 2
uint8 STATUS_RETURNING   = 3
uint8 STATUS_LOST        = 4
uint8   status

float32 battery_pct      # 0.0–100.0; -1 = unknown
float32 map_coverage_m2  # explored area in square metres
uint32  keyframe_count   # RTAB-Map keyframes in local DB
string  active_frontier  # frontier ID currently being explored, "" if none
