AirLab, Carnegie Mellon University
Announcement: The code will be released after RSS.
- 2026-07-15: Project website and teaser video are now live.
- 2026-07-15: Initial README and project overview published.
SuperMap is a living spatial memory for embodied AI. It perceives the world, remembers its evolution, and supports reasoning and action. It is a training-free spatio-temporal SLAM system that builds a persistent semantic world model. It fuses high-frequency geometric SLAM with asynchronous open-vocabulary perception, producing a 4D scene graph: a queryable map carrying spatial and temporal information for every object, enabling visual-language navigation and long-horizon reasoning on real robots.
- 👀 Perceive — Stable identities across occlusions and scene changes via 3D-aware instance association.
- 🧠 Remember — persistent object identities capture long-term scene evolution.
- 💡 Reason — a queryable 4D scene graph supports spatial and tempora reasoning.
- 🤖 Act — spatial memory naturally grounds VLN, VLA, and future embodied AI systems.
- 🔌 Model-agnostic — works with Grounding DINO, YOLOE, boxer pre-baked detections.
- ⚡ Fully online — real-time on robot hardware; runs offline on datasets or live via ROS2 from one codebase.
- 🏫 Field-proven — continuous 2-hour deployment across the CMU campus (interactive demo).
- Ubuntu 22.04 / 24.04, NVIDIA GPU with ≥ 16 GB VRAM, Python ≥ 3.10
- ROS2 Jazzy workspace for live mode
git clone https://github.com/superxslam/SuperMap.git
cd SuperMap
conda create -n supermap python=3.11 && conda activate supermap
pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu124
conda install cuda -c nvidia/label/cuda-12.4.0
export CUDA_HOME=$(dirname $(dirname $(which nvcc)))
pip install -r requirements.txt
python -m spacy download en_core_web_smpython examples/prepare_example_dataset.py # download example dataset (one-time)
python examples/example.py # run the mapping pipelineOptions: --detector yoloe|offline, --data_dir <path>, --config <yaml>, --live (rerun window).
# Clone into your workspace src/ as `semantic_mapping`, then:
colcon build --packages-select semantic_mapping && source install/setup.bash
ros2 launch semantic_mapping semantic_mapping.launch.pyIn live mode, the system subscribes to RGB, CameraInfo, PointCloud2, and Odometry topics and publishes per-object voxels (/obj_points), labeled boxes (/obj_boxes), and annotated images. Topic, extrinsic, and detector settings are configured in config/semantic_mapping.yaml, and the detection vocabulary is defined in config/prompts.yaml.
Both offline and live modes emit the same per-frame JSON schema (semantic_mapping.serialization) with bbox3d, label, id, center, spatial_relations, status, and latest_stamp, so downstream consumers can use one shared interface.
@inproceedings{zhao2026supermap,
title = {SuperMap: A Spatio-Temporal SLAM System for Visual-Language Navigation},
author = {Zhao, Shibo and Chen, Guofei and Zhu, Honghao and Li, Zhiheng and Yao, Changwei and Zantout, Nader and Kim, Seungchan and Wang, Wenshan and Zhang, Ji and Scherer, Sebastian},
booktitle = {Proceedings of Robotics: Science and Systems (RSS)},
year = {2026}
}- SuperOdom — robust LiDAR-only / LiDAR-inertial odometry
- Robustness_Metric — robustness metric for odometry and SLAM
Special thanks to Professor Wenshan and Ji Zhang for suggestions and extensively testing SuperOdom and SuperMap on VLN projects.
Built on SAM2, Grounding DINO, YOLOE, and ByteTrack.
Questions? Join our Discord, open an issue, or contact guofei@cmu.edu / shiboz@andrew.cmu.edu.