Arnav Malani / Interactive robotics

Warehouse · Learn & Navigate

Move the robot, crate, goal and obstacles. Train a fresh Q-table in your edited world, then run a new SLAM mission.

Drag the robot, goal, crate 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

The original Python warehouse dynamics, Q-learning and SLAM algorithms run in a Web Worker through Pyodide. Each learning cycle uses the edited map and selected seed. Playback is generated from that new mission, not a pre-recorded file.

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.

This is the offline 2D simulator, not Isaac Sim. The policy observes relative crate/goal state, not obstacle geometry, so difficult layouts may fail even after more training. Greedy evaluation uses the training scene and is not a held-out score. Learned trajectories are not guaranteed optimal. The first Python runtime download needs an internet connection.

Source and reproduction instructions ↗ · Original recorded comparisons