Forest Navigation Assistant — Features
A 3D assistive-pathfinding simulator: a robot navigates a procedural forest crowded with moving people, using a Voronoi + A* planner steered by an online-trained JEPA world model that forecasts where people will be.
3D Environment
- Procedural forest regenerated on demand, rendered in Three.js
- Orbit camera — drag to rotate, scroll to zoom, shift-drag to pan
- Undulating terrain, winding dirt path, gradient sky, fog, and soft shadows
- Gentle wind-sway animation on trees
Obstacles
- Recursive fractal trees — 3 species, with canopy foliage, leaf clusters, and moss
- Fallen logs
- Exposed roots
- Angled plank buttresses
Crowd (Dynamic Agents)
- Configurable population (1–10)
- Straight-then-turn walking state machine with boundary bounce
- Tree avoidance and person-to-person avoidance
- Leg-swing walk animation
- Per-person danger-radius rings
- Adjustable crowd speed; play / pause
Navigation (Voronoi + A*)
- Voronoi diagram built from all obstacles forms the navigation graph
- Toggleable Voronoi cell overlay
- A* pathfinding over clearance-weighted edges
- Click the ground to set start, click again to set goal
- Path tube colored by proximity to people (green / yellow / red)
JEPA Learned World Model
- Genuine hand-written neural net (no external ML library):
- Encoder → learned latent
- Predictor → next latent (residual, in latent space)
- Decoder → displacement read-out
- Online self-supervised training: future window encoded under stop-gradient is the target
- Real backprop + Adam optimizer, updating every frame
- Replay buffer of observed motion transitions
- Decoder regression acts as the anti-collapse anchor
- Autoregressive latent rollout produces multi-step forecasts
- Horizon-growing prediction uncertainty
- Live readouts: backend, train steps, buffer size, prediction loss, latent σ
- Loss sparkline so you can watch it learn
- Reset model brain button to relearn from scratch
- Analytic fallback before enough data is collected
- Purple forecast ghosts + uncertainty rings visualize predicted future positions
Robot
- 3D robot follows the planned A* path
- Proactive rerouting around predicted future occupancy
- Reactive replanning when people get too close
- Fading motion trail
- Status stats: state, waypoint, distance, replan count, progress, path length, forecast on/off
- Adjustable robot speed
Controls
- Sliders: trees, people, robot speed, people speed, forecast horizon
- Buttons: new forest, Voronoi overlay, JEPA toggle, people play/pause, robot start/pause, reset robot, reset model
- Status panel: safe / caution / obstacle-ahead
- Alert overlay on replanning events
Not Yet Built
- Exploration policy — steer the robot toward high-uncertainty regions so it actively probes what the world model understands least, instead of only shortest-pathing to the goal.