grid_types. Nexus reconstructs them on the
client; PointNav is not needed in the notebook. Attributes use Python names
below. Their to_dict() / from_dict() methods describe application-level
serialization; the Nexus wire envelope is handled by the SDK.
Coordinates and units
All publicWaypoint, Path, and NavPose XY values use the active map frame
in metres. Yaw is in radians, zero along map +X and positive toward +Y.
Do not send grid-cell indices, image pixels, GPS coordinates, or robot-relative
offsets. Public Waypoint has no yaw field; these examples cannot request
terminal heading through a Waypoint. Saved missions can carry heading data.
Waypoint
Path
Constructing a Path does not plan or move.
Path entries cannot be semantic
strings; use nav.plan(["kitchen", "hallway"]) for those. Path.from_dict
expects nested waypoint dictionaries. For example, this is an illustrative
sparse-path dictionary, not a robot command:
path.to_dict() as JSON if useful, but rebuild a sparse Path from its
waypoints and plan it from the robot’s new pose before reuse. No save_path
or list_waypoints method is provided by this remote workflow.
NavPose
to_pose() converts to a 3D Pose at (x, y, 0) with a yaw quaternion.
pose() reads the latest estimate; localize() waits for a fresh accepted fix.
NavState and NavLocalizationState
Runtime readiness and mission success are different:
ready means another
mission can be attempted, not that the preceding mission succeeded.
MissionResult
Returned by blockingrun_mission / move_to:
Require
result.status == "succeeded" before continuing an arrival-dependent
task. nav.result() has a different, raw dictionary schema; see
non-blocking completion.
Catalog records
These are immutable metadata records; every field is required and astr.
Timestamps are server strings, not Python datetime objects. Pass
path_id to
run_mission after starting the owning map. A catalog read does not select
a map, download a route, or start motion.
Telemetry and log payloads
These diagnostic dictionaries are not shared data classes. Use the envelope keys below and tolerate additional diagnostic keys from newer runtimes.
A log reply has
log_id (string), start, end, size (integer byte
offsets/size), and text (UTF-8 string). Follow using end as the next offset;
read history using start as the next before cursor. Do not compute byte
cursors from Python string length.
See viewer and diagnostics
for call arguments. Stream internals and progress/event payloads are diagnostic,
not a stable replacement for NavState or the mission result contract.
Configuration and policy schemas
Configuration JSON Schema describes the dictionary accepted ascfg at attach time. The
configuration guide explains additional shape and
cross-field validation. Polygon constraints
have a separate versioned schema passed per mission. Neither schema defines
agent tool names or bypasses the current runtime’s validation.