Spatial Directives
Spatial directives define zones and rules — geometry plus timing, parameters, and capabilities — that govern where and how the robot operates.
- Direction: Downlink (cloud → robot) for delivery; queryable locally
- Command topic:
robots/{robot_id}/commands - Encoding: Cap'n Proto over Zenoh
The agent persists directives and features it receives and serves them to robot software via local queryables.
Concepts
| Concept | Meaning |
|---|---|
| Spatial feature | Geometry only: a Shape or a Route. |
| Spatial directive | A zone with rules: a spatial feature plus timing, parameters, and capabilities. |
A directive references geometry; a bare feature is geometry alone.
Spatial directive fields
Known fields:
| Field | Notes |
|---|---|
directive_id |
Directive identifier. |
name |
Display name. |
start_time_ms |
Epoch-ms activation time. |
expire_time_ms |
Epoch-ms expiry time. |
zone_parameters |
Rule/zone parameters. |
capabilities |
Capabilities the directive applies to/scopes. |
spatial_feature |
The associated Shape or Route geometry. |
Detailed field schemas (types, units, and the zone-parameters structure) are coming soon.
Feature (Shape / Route)
| Field | Notes |
|---|---|
feature_id |
Feature identifier. |
name |
Display name. |
kind |
Shape or Route. |
| geometry | Shape/route geometry. |
Detailed field schemas (coordinate representation and units) are coming soon.
Features are delivered as feature operations (upsert/delete) on the command topic and are persisted by the agent.
Fetching directives and features locally
Robot software can fetch directives and features on demand via Zenoh queryables — see Zenoh queryables for the full list and request/response types. The directive- and feature-specific requests are:
- Features (
agent/features/get_bulk): the request carries feature refs of{id, kind}; an empty request returns all features (Shape | Route geometry). - Spatial directives (
agent/spatial_directives/get_bulk): the request carries directive ids; an empty request returns all directives.
Detailed request/response field schemas are coming soon.