Perception for robots · Built in India
Necessity Robotics
We build the part of a robot that knows where it is. Our first system, xclean, is a real-time stereo visual-inertial SLAM. Its open-source release (Apache-2.0) is coming soon.It is open source under Apache-2.0.
Behind this text Poster Our 3-D map of oak_161834, a street ride we recorded in India with our OAK-D-Lite camera, flown along the trajectory xclean published in a real-time replay of that recording. Move the mouse to look around. A reconstruction, not camera video.
01 · Who we are
A perception company.
Necessity Robotics works on perception: how a robot works out where it is and what is around it, from its own cameras, live, on its own computer.
We publish our results, losses included. We measure on public benchmarks and on our own recordings, we write our rules down before the runs (and disclose every later amendment), and we publish every result, including the losses.
- xclean: real-time stereo visual-inertial SLAM. Open-source release (Apache-2.0) coming soon.Open source (Apache-2.0).
- Maps: 3-D Gaussian-splat maps built from xclean's own live camera poses.
- A technical paper on the system and on how we score it live.
02 · xclean
Live stereo visual-inertial SLAM.
xclean turns a stereo camera into a camera pose for every frame, while the robot moves, with loop closure, relocalisation and map reuse. Its GPU code is written in CuPy: no C++ build step, no ROS, no learned networks in the SLAM pipeline, native on Windows 11.
Stereo, plus the IMU when it checks out
It uses the IMU while a built-in consistency check accepts it, and otherwise runs as stereo visual odometry with loop closure. In the final board the IMU stayed in use to the end on 50 of 216 runs; per dataset. Built for a Luxonis OAK-D-Lite: our OAK routes were recorded on it and replayed in real time; live on-device testing of the release is pending.
Loops, relocalisation, map reuse
A sliding-window factor graph on the GPU, with loop corrections applied live.
Apache-2.0
Release coming soon, after its GPU checks. It will be free for research and commercial use, with a NOTICE credit if you ship it.Free for research and commercial use. If you ship it in a product, keep the NOTICE credit.
Robustness. No run of record was lost on the 38 routes held out from xclean's development (10 of them were run in a set-aside first launch whose results were never read). It is not perfect: on 2 of them a replay attempt crashed or hung, and the unsupported-frames check passed on 9, failed on 4 and is pending on 25 (all MADMAX, whose ground truth has known faults). Details.
Install and run xclean03 · Results
Measured live, on 72 routes.
Indoor drones, cars, a Mars-analogue rover, a farm robot and our own camera. Three live runs per route at the sensor's real rate: 216 valid runs of record.
Latency is host-side, from frame arrival to the loop-corrected pose, on an RTX 5090: the median over all 216 runs of each run's own p50, p95 and p99. Source: the final board of 2026-10-30 (data/board.json on this site). The engine was frozen with one of its pre-registered tests (K14) failed on two routes, and passed on a third (kitti_09) only through its no-harm clause.
Accuracy: wins and losses, side by side.
Trajectory error on the 38 held-out routes, ours (live, paced, on a loaded desktop) against two other systems in the configurations we could run. We do not claim to be more accurate.
Some of these wins are against a baseline that failed in part: 3 of the 10 against ORB-SLAM3 (diverged runs or a partial trajectory) and 1 of the 11 against OKVIS2-X (a diverged run). Both baselines are visual-inertial systems, though ORB-SLAM3 ran stereo-only on four Rosario routes (its IMU start-up crashed). The OKVIS2-X comparison uses frame-level ATE, as pre-registered. Configurations and details.
Every route, every loss, in one table04 · Maps
Fly through what xclean saw.
3-D Gaussian-splat maps reconstructed from xclean's own live camera poses, not from ground truth. Each map states its limits.
05 · Paper and code
Read it. Run it.
How xclean works, and how we score what it publishes live
The method, the live evaluation protocol and the final board, summarised with the final numbers.
Read the summary Open-source release · coming soonOpen source · Apache-2.0xclean, Apache-2.0
Python with GPU code written in CuPy and CPU hot paths in Numba. Install instructions will be published with the code. The code goes public after its GPU checks.
Install, quickstart, licenceContact
Building a robot that needs to know where it is?
Write to us. We read every message.
necessityrobotics@gmail.com