MBOT
Autonomous Robot

Design project involving the development of an autonomous mobile robot, covering topics including sensing, perception,
control, motion planning, localization, mapping, and robot kinematics.

Overview

This project implements a complete autonomous robotics pipeline for the MBot platform using ROS2. The system integrates motion control, mapping, localization, path planning, and exploration to enable the robot to autonomously navigate and explore unknown environments.

The project was developed through a sequence of robotics labs and integrates several fundamental robotics algorithms, including PID control for motion execution, Monte Carlo Localization, occupancy grid mapping, A* path planning, and frontier-based exploration.

astar

Fig: Call graph and control flow of the A* path planner. Solid arrows show control flow; the dashed arrow indicates that heuristic() is invoked during neighbor expansion.

Functions

The system enables the robot to:

  • Estimate its pose using probabilistic localization
  • Build a map of the environment using occupancy grid mapping
  • Plan collision-free paths using A* search
  • Autonomously explore unknown environments using frontier exploration
  • Integrate mapping and localization into a SLAM pipeline

Architecture

The overall system consists of several ROS2 nodes that work together to enable autonomous navigation.

Major modules include:

  • Motion control
  • Localization
  • Mapping
  • Path Planning
  • Autonomous exploration
  • SLAM integration
All modules communicate through ROS2 topics.

Components

For detailed explanation of project components, please see the  README.md  in github.

See the code: GO TO