Velocity and Motion Controller
Implemented hierarchical PID controller for both velocity and motion controller using the RC control library.
Simultaneous Localization and Mapping
Implemented Monte Carlo Localization and Occupancy Grid mapping in order to perform SLAM, where the updated pose would provide updates on the constructed occupancy grid map and vice versa.
Path Planning and Exploration
Implemented A* path planning with L2 heuristic. Exploration was done by identifying frontiers (unexplored areas), and setting the centroid of the envelope of the frontiers as the waypoint to travel to.