I used an a star search program that computed the fastest way to an endpoint without hitting the obstacles and then generated waypoints for the robot to go to until it reached the end of the maze.
For this project, I had a list (txt file) of my starting position, the end position, all of obstacles and their coordinates on the table. From there, I coded a MATLAB function that uses an a-star search algorithm that calculates the shortest distance from the end point to the start point without touching any obstacles. The algorithm starts from the end point and works its way backwards, scanning the 8 nearest grid squares of size 15mm. If that grid square is in the Obstacle list, the algorithm discards it. Once all 8 grid squares are evaluated, the algorithm saves the position of the grid square that is closest to the starting position in robot coordinates, and then evaluates the 8 surrounding grid squares of that point. It does this until it reaches the start point, and viola the robot now has a series of waypoints it can execute to get from the starting position to the end position without hitting any obstacles
This project was difficult, but extremely REWARDING! A-star search is a very important computer science concept and is the foundations for complex technology that we use everday like Google Maps. I am very grateful to have the opportunity to work with this