Arnav Malani / Interactive robotics

Lattice · Live Planning

Move obstacles and endpoints, then compute a new A* route and run the original C++ navigation controller.

Drag the robot, goal or obstacles. Click Run after editing. Every run is computed from your current scene.
● Robot / actual trajectory● Goal● Estimated pose■ Crate— A* route
No run yet

Fresh computation, then playback

C++ runs locally through WebAssembly. A* uses heuristic weight 1 and obstacle-inflation costs. Its route minimizes cost on the discretized grid; the closed-loop controller can still fail. This is replanning, not machine learning.

Editing clears the previous result. Training starts with a fresh Q-table on every warehouse run. A failed mission stays visible as a failed mission; the app never substitutes a successful recording.

The editable scene is a known map with synthetic sensing. “Minimum cost” refers to grid traversal cost, not the globally optimal continuous vehicle trajectory. Robot footprint and inflation can make narrow gaps unreachable.

Source and reproduction instructions ↗ · Original recorded comparisons