Skip to content

[tracker] Build the Waveshare UGV SLAM implementation on the reusable Leash library #170

Description

@superposition

Architectural decision

This work has one repository and two layers:

  1. Leash library: reusable traits, types, policy, transport, recording/replay, visualization, localization/map boundaries, and safety behavior.
  2. Waveshare UGV implementation: the concrete motor, camera, LD06 lidar, IMU, calibration, ROS 2 SLAM adapter, deployment configuration, and supervised hardware proof.

There is no external rover repository in this plan. The core library must not contain UGV names, private host data, device paths, ROS installation requirements, or field calibration. The Waveshare implementation must consume the public library interfaces rather than bypassing or specializing core behavior.

All work targets main after the repository prerequisite is completed.

Repository prerequisite

Library train

Waveshare UGV implementation train

Required order

  1. Establish reproducible rollback: [waveshare-ugv] Capture a reproducible deployment baseline and rollback #163.
  2. Land reusable sensor contracts and transport: [library] Add generic range-scan and IMU sensor adapter contracts #159 and [library] Carry sensor and localization frames through streams, record, replay, and visualization #160.
  3. Implement UGV lidar/IMU: [waveshare-ugv] Implement LD06 lidar and typed IMU ingestion #164.
  4. Land the provider boundary: [library] Add a middleware-neutral localization and map-provider boundary #161.
  5. Add the UGV SLAM adapter: [waveshare-ugv] Add a ROS 2 Humble SLAM Toolbox implementation adapter #165.
  6. Calibrate and prove mapping: [waveshare-ugv] Calibrate transforms and prove repeatable loop-closed mapping #166.
  7. Wire maps into Leash tools: [waveshare-ugv] Wire localized maps into Leash visualization, memory, and waypoints #167.
  8. Land the generic physical-navigation gate: [library] Add an explicit safety gate for physical goal and patrol execution #162.
  9. Prove supervised goals and bounded patrol: [waveshare-ugv] Prove supervised physical goals and a bounded patrol #168.

Tracker definition of done

  • Every child issue above is closed with its own proof attached.
  • Default/no-feature Leash builds have no ROS, UGV device, network, or hardware requirement.
  • Generic schemas and replay fixtures contain no private implementation values.
  • The Waveshare UGV implementation uses feature-gated adapters and the public library contracts.
  • Leash remains the sole motor/camera/lidar owner on the implementation host.
  • ROS/localization supplies sensor processing, map, pose, and paths only; it has no direct motor path.
  • Simulation, replay, feature-matrix, schema, package, and complete no-hardware smoke gates remain green.
  • The final supervised field proof demonstrates localization, mapping, a map-frame goal, a bounded patrol, every cancellation path, and final motor stop.
  • Documentation has separate Library extension and Waveshare UGV implementation sections.
  • No other repository or runtime is required to build, test, deploy, or understand this implementation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestlibraryReusable Leash library surface with no robot-specific configurationnavigationPlanning, waypoints, patrol, and motion executionsafetyPhysical safety gates and field proofslamMapping and localization integrationwaveshare-ugvConcrete feature-gated Waveshare UGV implementation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions