26 lines
1.3 KiB
Markdown
26 lines
1.3 KiB
Markdown
# Sanad Package 4 — Custom AI Guide Tour (SCAFFOLD / design only)
|
|
|
|
An **orchestrator** that composes whatever packages the customer bought into a
|
|
configurable guided tour, and **bundles autonomous navigation**. Dashboard on
|
|
**:8014**. License features: `guide_tour`, `navigation`, `mask`.
|
|
|
|
Planned containers:
|
|
- **`sanad-guide`** — tour engine: ordered stops (place + narration script +
|
|
optional gesture + greeting policy), scheduler, runtime state. Reads
|
|
entitlements and **degrades gracefully** (no P3 → generic greeting; no P2 →
|
|
single-language narration; no nav → preset/teleop stops).
|
|
- **`sanad-nav`** — bridge to `Nav2_Projects/sanad_nav3` (ROS2 Foxy Nav2 + Livox
|
|
MID-360 SLAM, markers/routes, patrol scheduler). Publishes `nav.goal`; emits
|
|
`loco.move` to the `Sanad_Core` hwbroker via the existing `cmd_vel_ipc_bridge`.
|
|
|
|
Planned dashboard tabs: Tour Builder, Map & Navigation, Tour Runtime,
|
|
Capabilities, Face/Mask, Logs.
|
|
|
|
Depends on `Sanad_Core` (hwbroker) + optionally P1/P2 (narration) + P3
|
|
(recognition). Owns the Livox MID-360 LiDAR. See the plan for the full design.
|
|
|
|
**Build model (when implemented):** `sanad-guide` self-contained like P1 (a
|
|
`vendor/` engine copy + standalone `Dockerfile` + `sync_vendor.sh`, no
|
|
`sanad-base`). `sanad-nav` stays a separate ROS2-Foxy image, touching the mesh
|
|
only via ZMQ `loco.move`/`nav.goal`.
|