Inspiration

Robots rely on maps to understand their surroundings, but the real world doesn't stay still. Furniture gets moved, objects appear or disappear, and people walk through previously mapped spaces.

The difficult part isn't simply detecting visual differences. It's deciding which observations provide meaningful evidence that a map might need attention.

A person walking through a room shouldn't automatically trigger a permanent map update. Likewise, a region that the camera couldn't observe shouldn't be treated as unchanged.

We built MapPulse to address this gap between detecting a difference and deciding whether a map should be reviewed.

What it does

MapPulse is an evidence-based map maintenance prototype that turns RGB-D observations into spatially located, inspectable evidence of possible changes.

Instead of making a binary changed/unchanged decision everywhere, MapPulse:

  • Identifies candidate geometric changes using depth measurements.
  • Distinguishes candidate changes, consistent observations, and unknown areas.
  • Organizes evidence into spatial locations and accumulates observations over time.
  • Preserves supporting measurements and provenance for inspection.
  • Provides visual reports and 3D replay tools for human reviewers.
  • Supports evidence storage locally and through an AWS-backed workflow.

MapPulse does not automatically rewrite a robot's map. It helps people decide which locations deserve further investigation.

How we built it

MapPulse is developed in Python using OpenCV 5 for computer vision and geometric processing.

The pipeline processes RGB-D observations, uses camera poses to relate measurements to spatial locations, and applies conservative geometric checks to avoid treating unreliable or unobserved regions as confirmed changes.

Evidence is accumulated in spatial bins and stored in a SQLite-backed history. Content-addressed evidence bundles support reproducible data handling and cloud integration using AWS Lambda, Amazon S3, and Amazon DynamoDB.

We also built interactive HTML reports, spatial replay visualizations, evaluation tools, and automated tests.

Our demonstrations use public RGB-D research datasets, including TUM RGB-D. Dataset-specific limitations are documented, and the TUM replay uses supplied camera poses rather than claiming to estimate them.

Challenges we ran into

Distinguishing change from uncertainty. Camera movement, depth noise, occlusions, and transient objects can all produce misleading observations. Designing conservative evidence checks required careful handling of visibility and unreliable measurements.

Making results spatially meaningful. A difference between two images isn't necessarily a map change. We needed to connect observations to measured locations and preserve enough context for later inspection.

Maintaining reproducibility. We developed evaluation cases, saved evidence artifacts, integrity checks, and repeatable processing workflows to make results inspectable.

Connecting local evidence to cloud storage. We built an AWS-backed ingestion workflow with immutable objects and idempotent processing, while keeping the local demonstration usable without a live cloud connection.

Accomplishments we're proud of

  • Built a working RGB-D geometric evidence pipeline.
  • Implemented explicit unknown-state handling instead of forcing unsupported decisions.
  • Developed spatial evidence history and reviewer-oriented visualizations.
  • Created a local and cloud-backed evidence storage workflow.
  • Built automated evaluation and regression tests.
  • Documented experimental limitations, including failed cases and coverage constraints.

Our controlled evaluations also compare MapPulse against simple image differencing. The results illustrate the value of geometric evidence and abstention, while remaining limited to the tested scenarios and baseline assumptions.

What we learned

The most important lesson was that detecting something different is not the same as proving that the environment has permanently changed.

Reliable map maintenance requires understanding where observations came from, what the sensor actually measured, and what remains unknown.

We also learned that a useful robotics system does not always need to make the final decision automatically. Sometimes its most valuable contribution is providing trustworthy evidence for a human decision.

What's next

Our next priorities are validating MapPulse on more independent, multi-visit observations, improving occlusion recovery, unifying addition and removal evidence in the history workflow, and simplifying reproducible deployment.

Our longer-term goal is to help robotic mapping systems maintain more trustworthy maps without confusing temporary observations with permanent environmental changes.

Share this project:

Updates