how to build free website

Robot Maze Solver

2016

This was our course project for the ME547 robot manipulator course. We implemented a fully automated method for accurate maze solving. The system used a camera looking from above and a FANUC robotic arm.

A binary representation of the maze is extracted using image processing techniques such as cropping, thresholding, noise reduction, and contour finding. The start point is marked by a square and the end point is marked by a triangle.

Input from the camera
Binary image with end points identified

To ensure the path travels in the center between the walls, the binary image is skeletonized and a weighted A* algorithms is used to find a path through the maze. A greedy algorithms is then applied to reduce the number of waypoints required to traverse the path.

Skeletonized
A*
Reduce waypoints

In order for the robotic arm to draw accurately to the designed path, we calibrated the position and orientation of the camera, robotic arm, and the table surface. We used a standard checkerboard for calibration. First, a pattern is drawn on the table to place the checkerboard. Since we know where the robot has drawn, we can calculate the transformation of the checkerboard with respect to the robot. Then, the camera is calibrated to the checkerboard using homography.

Transformations