Home About Projects Contact

Localization and navigation of turtlebot3


This is our final project for RBE3002(D-term 2022, Robot Localization and Navigation @ WPI). Using the ROS navigation stack, we developed a program that explores and maps the whole maze, then uses AMCL for localization and a primitive move_base package to navigate through the maze. Team size: 3.

This project consists of three phases. In phase one the robot is placed in a randomized maze and constructs the map of the maze by simultaneously mapping and exploring. The robot switches to phase two, when the exploration is complete. Here, it navigates back to where it started. In phase three, robot is moved by the course staff and is expected to navigate to where they point to.

Picture of a turtlebot3 navigating to a frontier

Map of the maze was constructed using Gmapping and a custom frontier detection and selection algorithm. Moving is done using move_base with smooth acceleration. Planning is done in the C-space with A*. When no more frontiers were detected, robot switches to phase two. In phase three, robot uses AMCL to localize, calculates a path with A*, and moves using move_base.

Picture of the mapped maze

We were the second-fastest team to have the robot navigate the maze after the mapping step. I am very bad at recording such important events, so I don't have a video, but feel free to see a video I made to get a sign-off. According to the course copyright, I am not allowed to share my code publicly, so no git repos this time :(