Keep-out Zones
Mark no-go areas on a map that the robot's autonomy avoids.
A keep-out zone is an area of a map you want the robot to stay out of — a loading bay, a spill, a section under maintenance. You draw the zones as polygons on a map, and live consumers of the map (for example person-following) avoid them. Zones are stored per map, so each space carries its own no-go areas.
Under the hood, a saved zone set is written next to the map as <zone_name>.keepout.geojson, and a publisher node watches that file and re-publishes it on /keepout/zones for anything that needs it — so an update takes effect without a restart.
Saving a zone set
Zones are GeoJSON polygons. Save a named set for a map:
curl -X POST http://<robot>:5000/maps/keepout/save \
-H 'Content-Type: application/json' \
-d '{
"map_name": "office",
"zone_name": "loading_bay",
"geojson": {
"type": "FeatureCollection",
"features": [
{"type": "Feature",
"geometry": {"type": "Polygon",
"coordinates": [[[1.0, 1.0], [3.0, 1.0], [3.0, 2.5], [1.0, 2.5], [1.0, 1.0]]]},
"properties": {"name": "loading_bay"}}
]
}
}'Managing zones
Parameters
POST /maps/keepout/save
map_name
string
yes
The map the zones belong to (must already exist)
zone_name
string
yes
Name for this zone set — no /, \, .., or spaces
geojson
object
yes
A GeoJSON FeatureCollection of Polygon features
If something goes wrong
400"required" —map_name,zone_name, andgeojsonare all mandatory.400"Invalid zone_name" — the name contains/,\,.., or a space.400map missing — the map directory doesn't exist; save the map first.
For system endpoints like GET /status and base control, see the Autonomy API Overview.
Last updated
Was this helpful?