ReviewOS

stacks/drone

Navigation: avoid an obstacle and land at a selected site

#11
Open chris opened this 8 days ago ·
8 days ago

What to build

Demonstrate one sensor-backed avoidance and precision-landing scenario in a physics simulator before planning hardware trials.

Acceptance criteria

  • Use measured perception latency and uncertainty in collision constraints, terrain following and braking envelopes. Virtual-clock latency and declared uncertainty are implemented; physical measurements remain open.
  • Separate detection, path planning, control and authority; fail closed on missing range/position in owned physics simulation.
  • Cover follow, orbit, route replanning, RTL, landing-target estimation and terrain/geofence interactions. Public follow/orbit geometry and loss tests plus route/RTL/landing physics exist; long moving-target and general terrain campaigns remain open.

Implemented simulation slice

d91a014 integrates the owned mission, raw sensors, estimator, navigator, authority, controls and modeled board watchdog.

  • Quantized BODY_FRD range arcs fit exclusion cylinders, a terrain plane and an explicitly selected landing site using the capture-time estimated pose.
  • Bounded visibility-graph routing accounts for capture age, uncertainty, assumed braking and controller delay, body radius, fence and observed coverage. Latest coverage is checked every tick; unsupported envelopes latch release.
  • Avoidance and changed-obstacle replanning complete a return-and-land mission. Nominal virtual perception latency is 60 ms and independent landing error is below 3 cm.
  • Range/position/landing loss, delayed startup range and RC takeover release targets and neutralize modeled outputs. This is not a physical braking or emergency landing maneuver.
  • An authored approach waypoint splits the inflated detour into two bounded legs. Both origin-relative goals match the terrain-clearance intent. The existing 20-second task limit, settling and acceptance checks remain enforced across platform math differences.
  • Native Stacks navigation:simulate runs from Buddy and a standalone compiled CLI outside the checkout.

Read navigation semantics, retained seven-scenario evidence and ADR 11.

Validation evidence

Eleven navigation tests cover fitted geometry, braking, fences, follow/orbit identity and loss, replay/reference/clock faults, physics, native CLI, boundary coverage, mission/navigation goal agreement and unsupported envelopes. The integrated suite passed 248 Bun tests with 21,254 assertions and zero failures, plus 13 Python bridge tests. Buddy lint, application/runtime/view typechecks, roadmap/audit gates, all 25 audit selectors and standalone navigation/antenna CLI checks passed. Linux CI passed for the pushed commit: full application suite, standalone CLI scenarios and both Pico 2 cross-builds.

Remaining work

Physical range/camera extrinsic and timing calibration, independently measured uncertainty and braking, occlusion/coverage models, dynamic obstacles, long follow/orbit runs, general terrain-aware mission compilation, HIL and hardware trials. No physical control endpoint is enabled.

Dependencies

  • #10 Mission engine
  • #8 Hardware adapters

Sign in to comment on this issue.