Spatial memory for robots

When the camera loses sight,
Amodal remembers where things are.

Amodal is a Python SDK for robot vision. It keeps track of objects even when something blocks the camera, so your robot can keep working instead of starting over.

Datellx LLC · Madison, WI
Built for VLA policies
Install with pip
The problem

If the camera can't see it, most systems act like it's gone.

That works in simulation. On a real robot, it means missed grasps, wasted motion, and tasks that restart every time the view is blocked.

01 HANDOFF

Something crosses the camera

A hand or another arm moves in front of the object. Tracking breaks, and the robot has to find it again from scratch.

02 SELF-OCCLUSION

The arm blocks its own view

During a reach, the robot's arm often covers the camera. The object disappears right when the robot needs it most.

03 CLUTTER

Objects hide each other

In bins and shelves, things are partly hidden all the time. Models trained on clean views struggle in these scenes.

How it works

Amodal does not replace your vision system or your policy. It sits between them and remembers what the camera can no longer confirm.

Easy to add

A few lines between your camera and your policy.

Wrap the tracker you already run. No new hardware. No new dataset.

  • Works with your tracker

    Plug it into the detector or tracker you already use.

  • Runs next to your model

    Adds memory without changing your VLA or control loop.

  • Reports confidence

    You get a confidence score so you know when to trust the estimate.

# install
pip install amodal

# wrap your existing tracker
from amodal import SpatialMemory

memory = SpatialMemory(tracker=your_tracker)

# every frame
belief = memory.update(frame)

if belief.occluded:
    pos = belief.predicted_position   # from memory
else:
    pos = belief.observed_position    # from camera
Works with
NVIDIA Isaac LabROS 2MuJoCoLeRobotPyTorchJetson
Coming soon

Does your robot lose track of objects?

Amodal is on the way. Tell us what you are building.