AI + Physical IntelligenceResearch projectRobot localization

Building visual SLAM from scratch, and finding out where it breaks.

Atsuki Abe and four teammates implemented a graph-based visual SLAM pipeline, with visual odometry, loop closure and g2o pose-graph optimization, and tested it three ways: on the KITTI benchmark, on 11 photos of ArUco markers, and live with an Intel RealSense RGB-D camera. On the marker set, optimization pulled a misaligned map into a coherent one within 19 iterations, but the team reported that their ground truth was not precise enough to measure accuracy.

ConcentrationAI + Physical Intelligence
FormatOn-campus presentation
WhenAugust 2025 · Team of 5
Project LeadResearcher in Robot Perception and Manipulation
Front endOdometryFAST + LK, PnP1 · Track motionDetectLoopsSIFT / ORB matching2 · Close loopsBack endGraphg2o, Levenberg–Marquardt3 · Optimize
Illustration of the team's pipeline, drawn from their presentation.
3Test settings: KITTI, marker photos, live RGB-D
11Photos in the ArUco marker test
19Optimization iterations to a consistent map
Abstract

Simultaneous localization and mapping (SLAM) lets a robot estimate where it is while building a map. This team implemented graph-based visual SLAM from scratch: FAST features with Lucas–Kanade tracking for odometry, essential-matrix or PnP pose recovery, loop-closure checks against earlier frames, and pose-graph optimization in g2o with a Levenberg–Marquardt solver. They tested it on the KITTI odometry benchmark, on 11 iPhone photos of 0.1016 m ArUco markers, and as a real-time pipeline on an Intel RealSense RGB-D camera. On KITTI, translation tracking followed the ground truth but rotation error grew. On the marker set, odometry with both ORB and SIFT drifted; graph optimization made the trajectory and landmarks consistent by iteration 19, but printed markers were detected poorly, so the ground truth itself was imprecise. The live demo ran on a CPU and worked best in textured, static scenes with moderate motion.

Keywords · visual SLAM · pose-graph optimization · g2o · KITTI · ArUco markers · RGB-D

The team

Who did this work

Atsuki Abe
5 students · Atsuki Abe and 4 teammates
Atsuki Abe
Atsuki Abe
The University of Tokyo · Japan
On this project
Explained the graph-based SLAM method clearly in the team's presentation.

Students named here agreed to be featured. 4 other team members are not named. Role notes come from the Project Lead's feedback.

Background

1Why build SLAM yourself

Robots that move through unknown spaces need to estimate their own position while mapping the space around them. Libraries do this well, but they hide where errors come from.

The team built each part themselves to see how odometry errors and observation noise interact, and how much optimization can repair.

Method

2Front end, loop closure, back end

  1. Tracked motion. FAST features with Lucas–Kanade optical flow between frames, then essential-matrix (RANSAC) or PnP pose recovery.
  2. Detected loops. Every five frames, compared the current frame with earlier ones using SIFT and brute-force matching.
  3. Optimized the graph. Built a pose graph and solved it with g2o's sparse optimizer and a Levenberg–Marquardt solver.
  4. Tested three ways. KITTI odometry (with GPS/IMU ground truth), 11 photos of ArUco markers, and a live RealSense RGB-D pipeline with re-localization.
Results

3What worked in each setting

SettingWhat happened
KITTI benchmarkTrajectory followed the ground truth; rotation error grew over the run
ArUco marker photos (11)ORB and SIFT odometry both drifted; optimization made the map consistent by iteration 19, but not precise
Live RGB-D cameraRan on a CPU; worked in textured, static scenes; struggled with low texture, fast motion and noisy depth
Table 1. Summary of the team's results. From the final presentation.
Reported, not hidden. The team showed a "poor rotation result" slide and noted that printed ArUco markers were often misread because of reflection and curling, which limited the ground truth.
From the presentation

4Selected slides

Slides from the team's final presentation.

Slide: SLAM map at iteration 0 and iteration 19
Figure 1. Marker test: the map before and after optimization.
Slide: KITTI trajectories at several frames with translation error
Figure 2. KITTI: estimated trajectories and translation error.
Slide: method for visual odometry on KITTI
Figure 3. Method notes for the KITTI pipeline.
Limitations

5What this does not show

  • No standard accuracy metric (such as absolute trajectory error) is reported.
  • The marker test used only 11 photos; denser capture or video is listed as next step.
  • Bundle adjustment before optimization was planned but not tested in the time available.
Skills and fit

6What this work shows

Visual odometryPose-graph optimizationLoop-closure detectionRGB-D perceptionExperimental designDebugging under real conditions
Project Lead
PL

Researcher in Robot Perception and Manipulation

CEO of ROBOX and advisor at XYZ Robotics. MIT EECS PhD. Best Paper Finalist at IROS and ICRA. First place in the Amazon Robotics Challenge stowing task (2017).

The team built and tested the system. The Project Lead guided the work and reviewed it.

Good fit for applications in

Robotics · Computer vision · Autonomous systems

A SLAM system built from scratch, with honest results, shows you understand what libraries hide.

Project Lead review

7What the Project Lead observed

The Project Lead wrote feedback on the project at the end of the program.

Rating

Written feedback only

This cohort ran before the four-level capability rating was recorded, so this page shows the Project Lead's written feedback without a level.

Understanding
Strong grasp of core SLAM concepts and the ability to implement a complete system end to end.
Experimental depth
Built and evaluated several SLAM variants across a public benchmark, self-collected data and a real-time setup.
Communication
Atsuki explained graph-based SLAM clearly; the team used AR tags thoroughly to validate behavior.
Execution
Delivered a live on-site demonstration with the provided camera on a compressed on-campus timeline.

Source: the Project Lead's and Academic Team's written feedback, August 2025.

References

References

  1. Geiger, A. et al. (2012). Are we ready for autonomous driving? The KITTI vision benchmark suite. CVPR.
  2. Kümmerle, R. et al. (2011). g2o: A general framework for graph optimization. ICRA.
  3. Grisetti, G. et al. (2010). A tutorial on graph-based SLAM. IEEE Intelligent Transportation Systems Magazine, 2(4).
Abe, A. et al. (2025). From-scratch implementation of visual SLAM with graph optimization. AI and Robotics for Mobile Robot Manipulation – Boston Dynamics Project, on-campus final presentation, August 2025. blendedlearn.org/outcome-visual-slam-from-scratch
Build work like this

Join the AI and Robotics for Mobile Robot Manipulation – Boston Dynamics Project

Work with a robotics researcher on localization and mapping and leave with a system you understand end to end.