← Back to portfolio
Raspberry Pi 4B · STM32F411 · ROS 2 Jazzy · CAN Bus · OpenCV · MPU6050 IMU · X-Drive Holonomicin progress

Summer SLAM: Visual SLAM Study Path

Rose-Hulman · Advised by Dr. Berry · Jun 2026 – Present

A 12-week independent research project that turns core concepts from Probabilistic Robotics and 14 Lectures on Visual SLAM into a reproducible, hardware-backed tutorial series for mobile robotics. I built an X-drive holonomic robot platform from scratch with a deliberately split architecture. An STM32F411 handles the hard real-time layer, running motor PWM, hardware-assisted encoder capture, and PID velocity loops, while a Raspberry Pi 4B runs the ROS 2 Jazzy perception and localization stack. The two communicate over CAN bus, with an SPI-CAN bridge on the Pi side integrated through SocketCAN and a ROS 2 bridge node.

The study path advances through encoder-based holonomic odometry with ground-truth calibration, a 4-component probabilistic ultrasonic beam model, particle filter Monte Carlo Localization with low-variance resampling (achieving 2.3 cm localization error on validation path), camera intrinsic calibration, ORB feature extraction and matching, frame-to-frame visual odometry, and visual-inertial fusion across camera, encoder, and IMU. Each module ships as a reproducible tutorial with code, data logs, calibration data, and validation plots on GitHub.

Highlights

  • Built an X-drive holonomic robot platform from scratch with an STM32F411 real-time control layer linked to a Raspberry Pi 4B ROS 2 Jazzy stack over CAN bus
  • Implemented the full localization pipeline from encoder odometry through particle filter MCL (2.3 cm error) to camera calibration and ORB visual odometry
  • Published each module as a reproducible tutorial with code, data logs, calibration data, and validation plots on GitHub