Sawyer Maze Solver

Introduction

For our final project, we used the sawyer robotic arm with computer vision to solve a ball maze like the one shown on the right.


This project is particularly interesting because we have enabled a robot to solve a human game in a very physical, human-like way. Humans solve these ball maze problems by observing them with their eyes and then deciding how to move their hands to tilt the maze and make the ball go where they want. Our robot will similarly take visual input and move its “hand” to tilt the maze to control the ball.


In order to solve this problem, the whole system including sensing, planning, and actuation is required to function precisely. Moreover, for the ball to follow the trajectory using the vision data, we require the whole system to meet a real-time requirement, which makes things even more challenging.


The work from this project is highly extensible to real-world applications. For example, our vision and control system could be modified to create a sorting apparatus for warehouse operations or waste management. Our project also represents an example of equipping a robot to solve a dexterous human task in a human-like way, which could lay the foundation for other dexterous tasks like serving food balanced on plates or trays.

High-level Goals

Computer vision & Planning

1. Extract ball position and end position

2. Sense maze boundaries and reconstruct the maze

2. Periodically calculate a path to the end goal and give the next desired position to the controller

Controller

1. Given ball position and trajectory, change the joint angles of the Sawyer robot to tilt the maze