residential surveyFamily Home
A walk from entryway to kitchen becomes a dense 3D map with seating, appliances, and storage indexed as the camera moves.
Products
Live
The front door: point your phone and reconstruct the space in real time — scene report, spatial agent, and revisitable scans. No rig required.
Early access
Where captured space becomes a working environment: phone video, a depth-camera capture, or a splat you already have turns into a persisted, splat-native scene. Agents label objects with evidence, measure in metres once anchored, and plan robot-height paths — planner visualization, not certified navigation. Scenes export as LeRobot v2 bundles, with an experimental Isaac Sim lane.
Get in touchClaude Code
openreality-mcp puts the whole OS in Claude Code and Claude desktop: upload captures, run reconstruction, measure and query scenes, talk to the scene agent, and pull robot-training exports, all as tools Claude can use.
claude mcp add openreality -- npx -y openreality-mcp serveFull setup guide covers Claude desktop and signing in.
How it works
OpenReality runs every demo through one pipeline: reconstruct it in metric 3D, ground and QA the trajectories, then export clean LeRobot episodes your policies can train on.
Your teleop or human-hand demo. Ordinary RGB video, no rig or depth sensor.
mp4 · rgb framesVGGT-SLAM recovers metric, gravity-aligned geometry and per-frame camera pose.
point cloud · SE(3) poseObjects get labeled and anchored in 3D. Trajectories are extracted, checked, and flagged where a take fails.
trajectories · labels · flagsClean, scale-consistent episodes in LeRobot format, ready to train a policy.
lerobot · episodesOptional preview of episodes replayed in Isaac. Unvalidated, with no sim-to-real claims yet.
usd · sim previewpipeline · monocular video → metric 3D → grounded + QA trajectories → lerobot episodes · isaac preview (experimental)
Before / after
Start from the demonstrations your team already has. OpenReality returns the same episode with metric geometry, trajectories, grounded labels, and quality flags, in LeRobot format your policies train on directly.
beforeRaw teleop / human-hand demo
afterRefined LeRobot episode
Load it like any LeRobot dataset
from lerobot.common.datasets.lerobot_dataset import LeRobotDataset
ds = LeRobotDataset("openreality/your-demos-refined")
ep = ds[0]
ep["observation.images.cam"] # rgb frames (kept)
ep["observation.depth"] # metric depth (added)
ep["observation.state"] # SE(3) trajectory (added)
ep["annotations.objects"] # grounded labels (added)
ep["quality.flags"] # failure flags (added)Validation in progressWhat we are measuring next
Proof · benchmark
On DROID, FMB and RH20T — public robot datasets with encoder-grade ground truth — motion reconstructed from ordinary monocular video carries far less jerk than Encord's 2D-keypoint annotation on every moving-camera task tested, at p < 1e-6. (The off-the-shelf splatting arm produces no trajectory to compare; fixed-camera cells show a far smaller margin.) Smoothness is the property that decides how well a policy trains.
m/s³ · median over episodes
Action jerk −106.3 m/s³ (95% CI [−157.8, −66.5]), velocity noise −30.6 m/s², both p < 1e-6. And every arm stays above the encoder-truth smoothness floor — 0 / 24 cells over-smoothed — so it recovers real motion, it doesn’t blur it away.
End-effector error on moving-camera capture. We win where it counts for monocular capture, tie on insertion, and lose close-range contact-rich stacking. Pooled across every moving-camera cell it’s a statistical tie (−2.6 mm, p = 0.157). The baselines were tuned as hard as our own pipeline.
Splatica's off-the-shelf 3D Gaussian splatting costs ≈4× more per clip ($0.31 vs $0.075), produces no trajectory at all, and ghosts the moving object — visualization-grade, not training-grade. Ground truth: DROID · RH20T · FMB (public robot datasets). No absolute-metric claim — OpenReality ships scale-normalized metres.
Read the full benchmark →Data fidelity
Reconstruction quality is decided at capture time. Move slowly around an object with plenty of overlap and you get dense, complete geometry. A quick casual pass leaves gaps — sparse points, noise, whole regions never seen. Here is the same ceramic mug captured both ways, in true colour. Drag to orbit; turn the casual capture to find the side it never saw.
Illustrative demoBoth clouds are the same scanned object in real per-point colour. The casual capture is a simulated degradation — subsampled, noised, and clipped on one side — to show a coverage gap, not two separate field captures.
Deliberate, multi-view capture returns dense, complete geometry you can train on. A casual pass returns sparse, holey clouds — the gaps a policy can't learn from, and the regions a refinement pass has to re-observe before data ships.
Demo object: “Cole Hardware Mug Classic Blue,” Google Scanned Objects, © Google LLC, CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/).
Motion QA
Geometry QA covers a single instant. Robot policies learn from motion, so the same sequence has to hold consistent depth, trajectories, and action boundaries across every frame. These are the signals we validate before motion data is labeled.

Why it gates labelingValidates metric scale — depth that drifts off scale poisons the policy.
Per-pixel depth becomes a metric, gravity-aligned point cloud — the same scaffold geometry QA scores. Depth that drifts off metric scale is caught here, not in the policy.
depth · metric scale
Following the same surface points across frames recovers each object's trajectory. Reprojection error tells us which tracks are reliable enough to supervise a policy.
tracks · reprojection error
Separating what moves from what stays still segments actions over time, so a sequence carries temporal labels — not a single frozen instant.
masks · temporal coverage
4D reconstruction + tracking · depth · point tracks · motion masks · metrics: validation in progress
Grounding engine
The same agent reasons over the reconstructed 3D scene, not flat frames — anchoring objects in metric space, tracking what moved, and flagging where a take fails. Those grounded labels and quality flags are what ride into each LeRobot episode.
Drag to orbit
The walkthrough above is our own simulated agent sweep over a real Open Reality capture — we demo in simulation, and the anchors and labels are illustrative, not live model output. The same spatial memory is built to run on real robots: OpenClaw · embodied AI for robotics.
Field recordings
These are real captures reconstructed by the live pipeline. Run any of them from your dashboard to replay the full system with mapping, detection, and the spatial agent.
residential surveyA walk from entryway to kitchen becomes a dense 3D map with seating, appliances, and storage indexed as the camera moves.
facilities surveyOne pass through a university building's hallways: workstations, whiteboards, and safety equipment, all tracked in place.
forensic documentationEvidence markers and disturbed objects documented with their spatial relationships intact with a scene you can re-walk later.
disaster responseA flood-damaged street surveyed for structural damage, displaced objects, and roadway hazards in a single walk-through.
damage assessmentUrban damage assessment: debris fields, failed infrastructure, and blocked pathways mapped from one continuous pass.
event venueA live event space mapped in motion with seating, collaborative work areas, and circulation routes captured as they're used.
interior surveyA second residential survey focused on layout and usage patterns with furniture, electronics, and storage, room by room.
team workspaceThe team's own table, scanned mid-build with laptops, tools, and the reconstruction itself running on screen.
Our work
A feed-forward transformer predicts dense depth and camera pose straight from the monocular video stream, no LiDAR, no depth sensor. Submaps are stitched on the SL(4) manifold and optimized with GTSAM, so the map stays consistent even when your path crosses itself.
VGGT-SLAM 2.0 · SL(4) · GTSAM · loop closure
Tell the system what matters in plain language instead of picking from a fixed list of classes. Open-set detection segments the objects you asked for and anchors them in the 3D map, where they keep their positions as the scan grows.
CLIP · SAM3 · open-set 3D detection
An autonomous spatial agent connects your goal to the live geometry: it plans what to track, runs deep scans on regions of interest, and answers questions grounded in what the camera has actually seen — during the scan and after it.
autonomous missions · grounded Q&A · scene reports
Capture runs in the mobile browser — open a link, point the camera, walk. The heavy lifting happens on a dedicated GPU session in the cloud, streamed back to you as the map assembles.
mobile browser capture · dedicated GPU session
For robotics teams
Pilot a capture workflow for your environments, objects, and robot learning format targets.
Begin
A few minutes of walking is enough to map a space you can revisit, search, and question.