Humans are first-class entities in Spanda’s device registry and device tree — operators,
technicians, supervisors, and other roles collaborate with robots, wearables, and spatial devices
through configuration, capabilities, readiness, and Control Center workflows. No human-specific
keywords are added to the .sd language.
Related: human-interaction-spatial-computing-roadmap.md · operator-capabilities.md · human-readiness.md · device-tree.md
| Role | Description | Typical assignment |
|---|---|---|
| Operator | Runs robots and missions day-to-day | Fleet robot, active mission |
| Technician | Maintains and repairs equipment | Robot + AR glasses for remote assist |
| Supervisor | Approves missions and overrides | Fleet or site scope |
| Safety Officer | Enforces safety policy and evacuations | Site-wide hazard zones |
| Emergency Responder | SAR, hazmat, medical emergency | Incident mission |
| Healthcare Worker | Patient-facing care (Connected Healthcare) | Patient + medical wearables |
| Driver | Teleoperation or piloting | Robot or drone control |
| Patient | Health subject (optional health twin) | Care mission |
| Researcher | Observation and experiment control | Sim / replay sessions |
| Volunteer | Restricted operations under supervision | Limited robot scope |
Roles map to RBAC permission tokens and operator capabilities — see operator-capabilities.md.
Declare humans in spanda.devices.toml (or a dedicated spanda.humans.toml referenced from
[config]):
[[humans]]
id = "operator-001"
role = "operator"
display_name = "Alex Chen"
capabilities = ["operate_robot", "approve_mission"]
certifications = [
{ id = "forklift-cert", expires = "2027-06-01" },
{ id = "drone-pilot", expires = "2026-12-15" },
]
assignments = { robot_id = "rover-001", mission_id = "warehouse-pick-42" }
availability = "available"
trust_level = "trusted"
location = { zone = "warehouse-a", lat = 37.7749, lon = -122.4194 }
permissions = ["mission:approve", "robot:operate"]
# health_status — optional; requires deployment opt-in (see human-readiness.md)
| Field | Description |
|---|---|
id |
Unique identifier (device pool + digital thread) |
role |
Primary role token |
capabilities |
Operator capability tokens for verify/traceability |
certifications |
Expiring credentials checked by readiness |
assignments |
Active robot, mission, fleet, or AR session bindings |
health_status |
Optional summary from wearable packages (privacy-controlled) |
availability |
available, busy, off_duty, unreachable |
trust_level |
unverified, verified, trusted, restricted |
location |
Zone, GPS, or indoor beacon reference |
permissions |
RBAC tokens (extends Control Center RBAC v1) |
Humans, wearables, and spatial devices sit alongside robots in the fleet tree:
fleet
├── robots / drones / IoT
├── wearables
├── ar_devices
├── vr_devices
├── humans
└── control_center (logical node)
Example:
[fleet]
id = "warehouse-fleet-a"
[[fleet.humans]]
id = "operator-001"
role = "operator"
capabilities = ["operate_robot", "forklift_operator"]
[[fleet.wearables]]
id = "watch-001"
type = "SmartWatch"
provider = "spanda-smartwatch"
human_id = "operator-001"
capabilities = ["heart_rate", "connectivity_status"]
[[fleet.ar_devices]]
id = "hololens-001"
type = "ARHeadset"
provider = "spanda-hololens"
human_id = "operator-001"
capabilities = ["spatial_anchors", "hand_tracking", "robot_overlay"]
See wearables.md and spatial-computing.md.
| Platform capability | Human interaction use |
|---|---|
| Capability verification | spanda verify --capabilities traces operator certs and role requirements |
| Readiness | Operator, team, and mission readiness gates before collaborative deploy |
| Mission continuity | Human takeover, robot takeover, delegation |
| Trust | Operator trust level affects approval workflows |
| Digital twin | Operator twin, team twin, training twin |
| RBAC | Role → permission mapping in Control Center |
| Audit | Human approval and override events in decision audit trail |
Operator, team, and training twins use the existing twin machinery — mirror fields track
assignments, current task, mission state, equipment, safety status, optional health, and training
history.
[[twins]]
id = "operator-twin-001"
entity_id = "operator-001"
entity_type = "human"
mirror = ["assignment", "current_task", "mission_state", "safety_status", "training_history"]
# mirror health only when SPANDA_HUMAN_HEALTH_ENABLED=1
Training twins link to VR replay sessions — see ar-vr-xr.md.
Human → Wearable → AR/VR/XR → Robot → Autonomous System → Control Center
Context-aware workflows (hazard zone entry → wearable alert → AR warning → robot slows) compose readiness, alerting, mission continuity, and package-backed spatial overlays — see hri.md.
Reference architecture: solutions/spatial-computing.md ·
examples/solutions/spatial-computing/