Patrol
Run an autonomous patrol between waypoints along a route graph.
Patrol turns navigation into a routine: the robot loops between the waypoints of a route graph, over and over, without anyone driving it. It's the backbone of monitoring and inspection deployments. If you've set up auto-charging, a patrol becomes genuinely hands-off — when the battery runs low the robot docks, tops up, and picks the route back up where it left off.
Patrol is a Go2-only feature today, and it runs on top of Nav2 — so Nav2 needs to be up on the map first, with a route graph saved for it.
In the portal
You can lay out a patrol route and start it from the OpenMind portal: draw the waypoints on the map, save the route, and start the patrol — then pause, resume, or stop it from the same view.

Running a patrol
Start it with the map and route:
Pause and resume as needed:
And stop when you're done:
GET /status tells you what's running at any time — look at patrol_status and current_patrol (which map and route are loaded). Note the endpoint pattern is <verb>/patrol (start, stop, pause, resume), not patrol/<verb>.
Parameters
POST /start/patrol
map_name
string
yes
Map to patrol
route_name
string
yes
Route graph (GeoJSON) to follow
launch_file
string
no
Custom launch file (default go2_patrol_launch.py)
If something goes wrong
400starting — not a Go2, Nav2 isn't running, a patrol is already going, or you left outmap_name/route_name.400route missing — save the route first withPOST /maps/route/save.400on pause/resume — nothing is patrolling.
For system endpoints like GET /status and base control, see the Autonomy API Overview.
Last updated
Was this helpful?