03 / Independent work by Kush Rishi

Autonomy Simulation Lab

How do path planning and localization behave when the map changes and measurements get noisy?

03 / Autonomy Simulation LabActual browser interface
A-star route through a warehouse grid with path-planning and simulation controls
A* on the warehouse scenario. Open the simulator to inspect search, sensing and localization.

The problem

Planning and localization are easier to understand when their assumptions are visible. This simulator lets a visitor change a grid, compare routes, introduce noisy measurements and inspect the position estimates against simulated truth.

It is an educational engineering system, not a complete autonomy stack or GNSS receiver.

System architecture

  1. 01Edit a scenario and compare grid planners
  2. 02Move the robot and generate noisy observations
  3. 03Inspect estimates and export telemetry

BFS provides an unweighted step-count reference. Dijkstra minimizes terrain-weighted cost; A* uses the same cost model with a Manhattan heuristic and binary priority queue. Dynamic obstacles can trigger replanning from the robot’s current state.

Localization includes noisy position fixes, nonlinear Gauss-Newton range least squares and a linear constant-velocity Kalman filter. The Kalman filter uses position measurements; it does not directly fuse the nonlinear beacon ranges.

Try an experiment

  1. Open the simulator and choose the warehouse scenario.
  2. Compare BFS, Dijkstra and A* with terrain costs enabled.
  3. Add a route obstacle during motion and inspect replanning.
  4. Increase measurement noise and compare position errors.
  5. Export JSON or CSV and inspect the Python analysis.

Open the live simulator

Verification

Automated checks cover path validity, weighted optimality, A*/Dijkstra agreement, queue ordering, blocked goals, dynamic-obstacle helpers, range recovery, finite noisy estimates and Kalman behavior. CI runs the tests and production build.

The quantitative displays report the current simulated run. They are not claims of superiority on real vehicles. Matched seeds, scenarios and hardware are needed before any performance comparison.

Limits and failures

A blocked goal may have no route. BFS deliberately ignores terrain cost. Noisy or poorly conditioned measurements can produce inaccurate estimates. Simulated ground truth makes these failures inspectable.

The GNSS-inspired model omits satellite ephemerides, receiver clock bias, atmospheric effects, multipath, ambiguities and cycle slips. The current browser release does not perform camera perception or learned navigation.

Native replay pipeline

The separate C++ tool validates a tab-separated recording manifest, increasing timestamps, bounded record counts, contained file paths and SHA-256 identities. Bounded streaming verifies frame bytes. Libpng decodes images into RGB8 buffers with a pixel-count limit.

Linux CI uses address and undefined-behavior sanitizers. Preprocessing, inference and a viewer are next; they are not part of the complete browser simulator.

  1. 01Validate manifest and verify exact file bytes
  2. 02Decode bounded PNG inputs into RGB8
  3. 03Next: preprocessing contract and CPU inference

Run and reproduce

npm ci
npm test
npm run build
npm run dev

The Vite base path is /autonomy-simulation-lab/. Telemetry exports can be analyzed with the supplied Python utilities.

cmake -S native -B native/build -DCMAKE_BUILD_TYPE=Debug
cmake --build native/build
ctest --test-dir native/build --output-on-failure

Native contracts and examples · Browser v1.0.0 release

Next engineering milestone

Specify channel order, tensor layout, resize interpolation and normalization. Verify preprocessing against an independent Python reference before integrating a pinned CPU ONNX model.

Then add a replay viewer and measure decode, preprocessing, inference and total latency, including p50, p95, peak memory and recorded hardware. Compare matched inputs and retain correctness failures. The result should be a reproducible systems demonstration rather than an unqualified speed claim.