Autonomous Exploration, Localization, Mapping, Perception, and Manipulation

The idea behind this project was to transform a differential drive robot equipped with a 4-DOF robotic arm into an autonomous explorer and mobile manipulator. More specifically, the goal was to develop a series of algorithms for the aforementioned robot to autonomously explore its environment while localizing itself, find objects of interest using its onboard sensors, and manipulate them - i.e., pick, transport, and place the objects in set locations.

This project was subdivided into 4 sub-projects - frontier-based exploration and path planning, Pose-based EKF SLAM with Scan Matching, ArUco Marker Detection, and Task-priority Redundancy Resolution for a Mobile-base Manipulator. Each of these sub-projects is explained in other pages.

In this integration project, modules from the above sub-projects were combined into a unified behavior-tree-based framework in the ROS ecosystem on the robot.