Robot vs. Human Connect 4
Description:
This project explores the potential for human-robot interaction (HRI) in board games using the ReactorX-200 Robot Arm (RX200) by Trossen Robotics. Specifically, we aimed to develop a method for the RX200 to play Connect-Four against a human player, where the robot is able to recognize the current board state and make the best move in the given situation.
Features:
The RX200 provides the capability of five degrees of freedom within its radial workspace of approximately 1.1 meters in diameter.
The physical structure of the robot presents an opportunity for HRI with board games, as it can precisely navigate and move physical pieces that are commonly used in board games.
Incorporation of a transposition table to store early moves that would otherwise take minutes to hours to calculate with the MiniMax algorithm, resulting in an average time of less than a tenth of a second for the RX200 to calculate moves.
Technologies Used:
Computer vision (OpenCV) to enable the RX200 to recognize the current board state.
Petri nets, which are a modeling and simulation tool with a graphical representation that allows the visualization of data flow in a finite structure. Petri nets were used to design the complex decision algorithms required for the RX200 to play Connect-Four against a human player.
Result:
We successfully created a human-robot interactable game of Connect-Four. The RX200 is able to efficiently calculate moves with an average time of less than a tenth of a second, due to the drastic reduction in the total time it takes when searching for moves by incorporating a transposition table and MiniMax search algorithm.
Petri Nets:
A timed fuzzy Petri net was created to test and represent the search algorithm effectively. The Petri net incorporates mathematical principles that prove the reduction in search time during the simulation. The MiniMax algorithm is represented, and each subnet resembles the initial MiniMax Petri net. The goal is to reduce execution time by implementing optimizations. This is shown by the implementation of a transposition table.