Pose·
dead-reckoning {x, y, yaw} in the RoomPlan frame — IMU heading + commanded velocities, so Scout knows roughly where it is — tools/rover_pose.py, 1 tool.
From the module docstring
🧭 rover_pose — dead-reckoning localization in RoomPlan coordinates.
| tool | does |
|---|---|
rover_pose |
🧭 Scout's estimated position in the room (dead-reckoning localization). |
rover_pose·
rover_pose(
action: str = 'get',
x: float = 0.0,
y: float = 0.0,
yaw_deg: float = 0.0,
linear: float = 0.0,
angular: float = 0.0,
duration: float = 1.0,
measured: float = None,
) -> Dict[str, Any]
🧭 Scout's estimated position in the room (dead-reckoning localization).
Scout maintains a best-guess {x, y, yaw} in the RoomPlan map's coordinate frame, updated automatically as it drives. GPS is useless indoors — THIS is how Scout knows where it is. It's a PRIOR estimate that drifts; re-seed whenever you get a confident visual fix.
| argument | meaning |
|---|---|
action |
"get" | "seed" | "reset". |
x |
room X coordinate in meters (for seed). |
y |
room Y coordinate in meters (for seed). |
yaw_deg |
heading in degrees, 0=+x, CCW positive (for seed). |
Actions
get → current estimated pose + nearest mapped objects.
seed → set/reset pose to a KNOWN location (x, y in meters, yaw_deg
heading where 0°=+x axis, 90°=+y, CCW positive). Do this when
you physically place Scout at a recognizable spot, or when a
camera view lets you confidently match the map.
reset → forget the pose (mark un-seeded).
calibrate → tune motion constants from a measured drive. Pass the
linear/angular command + duration you used, and measured =
actual meters driven (linear) or degrees turned (angular).
Back-solves reset → forget the pose (mark un-seeded). saves LIN/ANG_SPEED_MAX so dead-reckoning is accurate.
Returns
Dict with status, summary text, and pose JSON.
source: tools/rover_pose.py:280