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
Teleoperation
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:
- Global planner (Dijkstra/A*) for an initial path on the occupancy map
- Local planner (DWA) for real-time obstacle avoidance during execution
- AMCL (Adaptive Monte Carlo Localization) for continuous pose estimation within the known map
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 |