PROJECT 02 · ROBOTICS DATA SYSTEMS
LeRobot State Atlas
Updated: July 2026
A robotics-data analysis system that transforms LeRobot state trajectories into reproducible dual-arm workspace coverage, trajectory playback, and interactive three-dimensional diagnostics.
Problem
Robot-state datasets are difficult to assess from joint values alone. LeRobot State Atlas converts those states into left and right tool trajectories and spatial coverage, making episode behavior, repeatedly visited regions, coverage gaps, and dataset quality easier to inspect. Its metadata and state-analysis interfaces also expose the evidence needed to investigate consistency around reset or resting behavior.
Technical Highlights
LeRobot · Python · PyTorch · URDF · Plotly · Next.js · React Three Fiber
- URDF-based forward kinematics for both tool trajectories
- Configurable voxels with exact visit and episode counts
- Interactive playback, radius queries, and deterministic exports
Processing Flow
- Inspect LeRobot metadata, including state components and native FPS.
- Resolve the requested dataset revision to a full immutable commit SHA.
- Load selected episode states with the resolved revision pinned.
- Load the TRLC-DK1 follower URDF and map state components to joints.
- Compute left and right tool positions through forward kinematics.
- Apply configurable rigid arm-base transforms for shared-world views.
- Voxelize both arms and retain raw visits plus distinct episode identities.
- Export deterministic, checksummed browser-data schema v1 bundles.
- Load manifest and coverage first; request trajectories only for playback.
Coordinate Frames
Static workspace plots keep separate left and right panels in their local base_link frames. Interactive and aggregated views transform both arms into a shared world frame before voxelization.
The default 0.8 m lateral arm spacing is configurable and provisional. It is not calibrated physical geometry.
Analysis Capabilities
- Left and right tool trajectories with episode boundaries preserved
- Arm-specific occupied voxels and multi-episode aggregation
- Raw frame-visit counts, log-scaled colours, and distinct episode counts
- Coverage comparison through per-episode trajectory colours and counts
- Exact Euclidean-radius queries around selected voxel centres
- Bounded episode batches that retain aggregates instead of all trajectories
Pinned Demo Validation Example
- Episodes
- 10
- Dataset frames
- 5,124
- Tool-point visits
- 10,248
- Arm voxel entries
- 1,224
- Voxel size
- 0.020 m
- Dataset FPS
- 50
These are repository-bundled validation results for episodes 0–9 of DreamMachines/actuator_unboxing_4h_diverse, not universal performance claims.
3D Visualization
The statically deployed viewer renders left- and right-arm workspace coverage in a shared three-dimensional scene. Users can inspect raw visits, log-scaled visits, and distinct-episode coverage while controlling arm visibility, camera position, provisional arm spacing, trajectory playback, and voxel-radius queries.

Automated Quality Gates
- Python tests cover aggregation, schema, export, kinematics, transforms, CLI, coverage, and visualization.
- Frontend tests cover bundle loading, accessibility content, playback, metrics, transforms, cache policy, spacing, and radius queries.
- Browser-data validation checks JSON Schema structure, cross-file consistency, payload SHA-256 checksums, deterministic ordering, totals, CSR episode identities, and safe payload paths.
- CI runs Ruff lint and format checks, frontend lint and TypeScript checks, a Next.js production build, whitespace checks, and generated-file policy checks.
Repository Commands
uv run pytestuv run ruff check .uv run ruff format --check .uv run lerobot-state-atlas validate-browser-data apps/web/public/atlas-data/demo-v1npm run lint·npm run typecheck·npm test·npm run build