Our goal was to program a Sawyer Robot to be able to play Chinese Checkers with a human. It will utilize computer vision to recognize the board and convert it into an internal representation through which our AI will be able to generate a move. This move will then be actuated in real life with the Sawyer robot arm, and smoothly move the piece from one point to another.
We chose to pursue this project because we thought it was a fun idea and a difficult challenge. It can serve as a fun way for a person to interact with a robot through the game.
The main challenges of this project include being able to be able to accurately convert the real life board into the internal representation, creating an AI to be able to play the game well, and locating and picking up the pieces accurately and smoothly.
Chinese Checkers is a classic strategy board game for 2 to 6 players. Despite its name, the game did not originate in China, nor is it a variation of checkers. It was invented in Germany in 1892 and became popular in the United States during the 20th century. The goal of the game is to move all your pieces across the hexagram-shaped board into the opposite triangle before your opponents do.
How to Set Up The Game
Place the 10 colored pieces of each player into their corresponding triangles (place the green pieces onto the green triangle, red onto the red triangle, etc...). These triangles are referred to as the "home base" of each player. Once this step is complete, you are ready to play!
Objective: Move all of your 10 game pieces to the triangle directly opposite your home base. The triangle directly opposite your home base is referred to as the "endzone" for a particular player.
Game Loop:
Players take turns in a clockwise direction
On a single turn, there are three types of moves:
Single Step: Move your piece to an adjacent empty space
Jump: Hop over an adjacent piece (yours or an opponent's) into an empty space on the other side of that adjacent piece. A chain of jumps can occur as long as a jump results in another possible jump. You are allowed to change directions while performing a chain of jumps
Swap: Swap the position of one of your pieces with an opponent's piece. This is only allowed if you are swapping one of your pieces into your endzone and your endzone is filled with pieces (maybe a mixture of your pieces and opponent pieces)
Ending the Game: Once a player successfully moves all their pieces into their endzone, the game ends and that player is the winner. Optionally, continue game play to determine the remaining winners.