Localization error is ATE (truth vs estimate) after a rigid SE(2) alignment — the SLAM map frame and the Gazebo world frame do not share a fixed transform, so alignment is required before differencing.
Ground truth is the robot's true pose bridged from Gazebo's PosePublisher (/model/mote/pose, gz.msgs.Pose → PoseStamped).
Recovery counts are distinct goal IDs seen on the behavior-server action status topics (/spin, /backup, /drive_on_heading, /wait) — a best-effort proxy for how often Nav2 recovered.
CV = coefficient of variation (std/mean); the run-to-run variance to weigh when comparing two configs.