Autonomous Mobile Robot

This project develops an autonomous mobile robot for household use built on the TurtleBot3 platform using ROS (Robot Operating System). The system supports two modes of operation: teleoperation for remote manual control, and SLAM-based autonomous navigation for self-directed map-building and goal-seeking in indoor environments.


SLAM Simulation

SLAM simulation

Teleoperation

Teleoperation interface

System Overview

SLAM (Simultaneous Localization and Mapping)

The robot uses the turtlebot3_slam package to build a 2D occupancy map of its environment in real time using LiDAR scan data. As the robot explores, it simultaneously estimates its own pose within the growing map — the classical chicken-and-egg problem of mobile robotics. The resulting map is used by the navigation stack for autonomous path planning.

Autonomous Navigation

Once a map is available, the turtlebot3_navigation package enables the robot to receive goal poses and autonomously plan and execute collision-free paths. The ROS navigation stack combines:

Teleoperation

The turtlebot3_teleop package provides keyboard-based manual control, allowing direct velocity commands to be sent to the robot’s wheels for testing and data collection.


ROS Package Structure

Package Function
turtlebot3_bringup Hardware initialization
turtlebot3_description URDF robot model
turtlebot3_slam LiDAR-based SLAM
turtlebot3_navigation Autonomous path planning + AMCL
turtlebot3_teleop Keyboard teleoperation
turtlebot3_simulations Gazebo simulation environments

View Code on GitHub