In the Umich ROB550 class (Botlab), I worked on a team developing autonomy for the MBot, a University of Michigan mobile robot teaching platform designed for research and education in autonomous robotics. The lab is structured as a series of challenges that culminate in a final competition, where teams progressively build components of a full autonomy stack for a differential-drive robot using ROS.
Throughout the project, we implemented and integrated wheel encoder odometry, LiDAR sensing, SLAM for mapping and localization, and path-planning algorithms. These components allowed the robot to explore and navigate an unknown maze environment. By the final competition, our team placed first, successfully demonstrating a robust autonomous navigation system.
In the video on the left, one of our robots can be seen navigating an unknown maze while simultaneously building a map of the environment using SLAM. As the robot explores, it updates its map in real time and uses path planning to determine safe routes through the maze, allowing it to autonomously navigate the environment without any prior knowledge of the layout.
Class website located here: https://rob550-docs.github.io/