STEMbot paper accepted to IROS 2026. Contains the code and documentation needed to understand and run the main paper workflows: perception, semantic mapping, motion planning, ROS integration, robot execution, Arduino firmware, and analysis for the four mapping experiments.
Project links:
- Official website: https://um-arm-lab.github.io/stembot-site/
- Video: https://youtu.be/ShSJOYKnAx0
- arXiv: TODO: add arXiv link
docker/ Docker and device setup files.
ros_ws/ ROS workspace source used by the STEMbot pipeline.
scripts/ Runtime scripts for perception, PIN-SLAM, planning, and execution.
arduino/ STEMbot microcontroller firmware.
experiments/ Analysis scripts and experiment data manifest.
docs/ Module-level documentation.
manifests/ Dependency and asset manifests for omitted large files.
Build and enter the Docker environment:
docker compose -f docker/docker-compose.yml up -d ssmi_demo
docker compose -f docker/docker-compose.yml exec ssmi_demo bashRun the live robot loop:
bash /root/ssmi_ws/scripts/launch_live_realsense.sh live
bash /root/ssmi_ws/scripts/launch_live_realsense.sh bag <bag_path>Run the simulation/MPC loop:
bash /root/ssmi_ws/scripts/launch_mpc.shRun the standalone planner:
cd /root/ssmi_ws/scripts/planning
python scripts/plan.py --config configs/config_real_plant_docker.yaml \
--initial-pos 0.002 -0.005 0.1 \
--goal-pos 0.03 0.03 0.14 \
--initial-branch 0.0 0.0 1.0 \
--goal-mode fov_occlusionRun the analysis scripts:
python experiments/map_chamfer_summary.py
python experiments/map_analysis_1.pyUpload the STEMbot firmware:
arduino/arduino_control_keyboard/arduino_control_keyboard.ino
The serial command format used by the firmware is:
LX,LY,RT,LT,DPX,DPY,B
- System overview:
docs/system_overview.md - Perception:
docs/perception.md - Mapping:
docs/mapping.md - Motion planning:
docs/motion_planning.md - ROS integration:
docs/ros_integration.md - STEMbot execution and Arduino control:
docs/stembot_execution.md - Four experiment analysis workflows:
docs/experiments.md - Excluded bulky artifacts:
docs/exclusions.md
This release intentionally omits raw datasets, model checkpoints, generated build products, historical run folders, and other heavy artifacts. See:
manifests/assets_manifest.mdexperiments/data_manifest.mdmanifests/dependencies.md
No final open-source license is selected because the project is pending final license review after a provisional patent filing. See LICENSE-TODO.md. Third-party code retains its original license; see THIRD_PARTY_NOTICES.md.