For our main algorithm we received Wall Following. The Roomba comes with a small
wall following algorithm that does exactly what it says, it follows a wall for a set amount of time
navigating objects and staying against the wall. We plan to use this to do an initial scan of the
room using the lidar to create a map while also detecting a start and finish. After using this initial
function, we plan to split the room into 4 parts using the quadtree algorithm while using the lidar
map to form these parts around objects. Through research, we have found that using the quadtree
algorithm will let us set room boundaries, create artificial walls, and block objects so the
Roomba works more efficiently. Our cleaning will be done through a wall following program
that starts in a corner of each split off quadrant and works its’ way around the quadrant by
following the boundaries set and moving inwards until it hits the end point in the middle of the
section. After one quadrant is done, we plan to use the A* algorithm to find the shortest path to
the next quadrant and repeat the process until the entire room is cleaned
Keywords
a* , Wall Following, Create3, Quadtree
Research Area
Algorithms, Combinatorics, Graph Theory, and Game Theory