SLAM-Based Autonomous Navigation Robot

RoleAutonomy architecture and integration
ContextSimulation-first mobile robot design
PlatformROS2 · Nav2 · Cartographer · Gazebo
OutcomeEnd-to-end autonomy pipeline validated in simulation

Recruiter summary


Overview

A full-stack ROS2 autonomous mobile robot capable of indoor mapping and navigation using LiDAR and IMU sensor fusion — spanning embedded motor control, state estimation, SLAM, and autonomous exploration.

Key contributions


System Architecture

YDLiDAR X2 360° 2D scan BNO055 IMU Angular velocity Encoder motors Wheel odometry Raspberry Pi 4B · ROS2 Cartographer SLAM Map + pose estimate robot_localization EKF · fuses IMU + odom Nav2 Planning + execution Frontier exploration Autonomous coverage ESP32 Motor control Closed-loop PWM Cytron MD10C H-bridge driver DC motors × 2 500 RPM + encoders Gazebo simulation TurtleBot3 env · validation-first Sensors / hardware ROS2 nodes (RPi) Embedded controller Actuation /scan /imu/data /odom /map /odom goal /cmd_vel encoder feedback sim topics

Distributed autonomy architecture — ROS2 stack on Raspberry Pi 4B with deterministic motor control offloaded to ESP32.

LiDAR scans feed Cartographer for occupancy mapping; IMU and encoder odometry are fused by the EKF into /odom. Nav2 computes /cmd_vel commands, which the ESP32 executes as closed-loop PWM motor control, with encoder feedback looping back into the EKF.


Hardware

Component Role
Raspberry Pi 4B (Ubuntu 22.04) Main compute — all ROS2 nodes
ESP32 Real-time motor controller
YDLiDAR X2 360° 2D scan
BNO055 IMU Angular velocity + orientation
2× 500 RPM DC encoder motors Actuation + odometry source
Cytron MD10C H-bridge PWM driver
Custom 3D-printed chassis TurtleBot3 Waffle-inspired, redesigned for available parts

Key Engineering Decisions

Offloading motor control to ESP32 — dedicating the ESP32 to closed-loop actuation freed up Raspberry Pi headroom for SLAM and Nav2.

robot_localization over AMCL — weights IMU estimation more heavily, reserving LiDAR primarily for mapping.

Custom chassis — TurtleBot3 plates redesigned in CAD to fit available hardware while preserving sensor alignment.


Technical Stack

ROS2 · Nav2 · Cartographer · robot_localization (EKF) · Gazebo · Raspberry Pi 4B · ESP32 · YDLiDAR X2 · BNO055 IMU · Cytron MD10C · Python · C++

Continue Exploring

See another system

Interested in the engineering behind this work? I am available to discuss robotics software, embedded systems, autonomy, controls, and robot-learning opportunities.