Overview

Goals

The goal of our project was to get Baxter to play a game of checkers against a human player. As a baseline level of success, we wished for two humans to be able to play against each other with one human acting through Baxter. We were able to reach this goal, so we added some intelligence to Baxter's moves as well!

Challenges

Some basic problems we needed to solve for this were for Baxter to be able to sense the board and the pieces on it as well as be able to pick up the pieces themselves. For the sensing, we used AR Tags on two corners of the board in order to localize it with respect to Baxter's base frame as well as make it robust to small movements in the board's position. Since we also know that the board is always an 8x8 square, we can find localized (x, y, z) coordinates for all positions on the board.

The next big challenge is keeping track of the actual checkers pieces. Our first instinct was to put more AR Tags on all pieces, but this approach becomes infeasible because of the field of view of the camera. We took care of this by only putting AR Tags on the opponent's pieces, since Baxter can easily keep track of its own moves and pieces.

Finally then, Baxter needs to be able to actually pick up the pieces. Since it is nontrivial to pick up small round objects with parallel grippers, we decided to use the suction cup gripper for manipulation of pieces. We also needed to be able to move Baxter's arm to the pieces, which required some thought on how best to plan paths in order to allow for reliable piece pickup. After much experimentation, we found that splitting the trajectory into pieces was the best way to do this.

Initial challenges we faced with using the suction gripper included the precision required. This is the Baxter attempting to pick up a piece prior to fine-tuning.

Applications

Immediately, we can see applications in regards to other games such as chess, board games, and other algorithmic settings. These would all be needed for simulation-to-real situations.

More broadly, the checkers project can be extended to work for industrial robots. This is applicable in any precision tasks that will require location detection and simple movements.