top of page

Autonomous Card Playing Robot
Fall 2022 Capstone Project
Winner of the Gorlov Prize for Innovation

Background

For my Mechanical Engineering Capstone I worked in a group with four other students to create a project that would address the needs of a user. We designed and built an autonomous card playing robot. There is currently no way to connect electronic card games which are very popular, to physical card games played around a table. A cheap, easy to operate card playing robot could allow users to add computerized players to card games in their home. The card playing robot we designed is capable of all physical actions required to play cards. The robot can locate a card on a table, flip the card over, and move the card around without causing excessive delay to the game. The robot uses a core-XY gantry to move a pneumatic card manipulator around on the table. The card manipulator uses two pneumatic suction cups to interact with cards. The suction cups are mounted to pistons which can move along and rotate around a vertical axis. Both suction cup and piston assemblies can rotate towards one another to allow a card to be flipped as it is passed from one suction cup to the second. The team expects the robot to be able to play the card game “War” against a player to demonstrate the robot's ability to play cards.

Full Robot.jpg

Final Card Playing Robot

Problem Statement

Our project is to develop a functional telepresence robot to allow virtual players to participate in a physical card game with in-person players or to serve as an autonomous player in a card game.

Card Manipulator Head

Our robot is comprised of three systems: The card manipulator heads, the gantry, and the camera system. The card manipulator head uses a mirrored assembly of the following components: There is a rack and pinion for Z-axis motion to actuate down to a card, there are suction cups attached to a vacuum pump to pick up a card, and servo motors to rotate each manipulator head for handoff of a card. Additionally, there are smaller servos (blue squares in CAD breakdown) that, when they rotate, will rotate a card once it is picked up in order to ensure the card is in the correct orientation for flipping. Steps for flipping over a card are shown in the CAD breakdown seen to the right.

Numerous mechanisms were brainstormed for picking up and flipping a card. Our first iteration utilized pneumatics and a suction cup, as shown to the right. This mechanism would hold the card while a servo rotated the assembly. This method proved successful. After this point, the group split so one group focused on refining the initial prototype and developing the card manipulator head while the other group worked on the movement system in parallel. The card manipulator head went through several iterations before landing on the final design. The vertical actuation to bring the suction cup to the card was originally controlled via air cylinders, as shown to the right. This method was very effective but required the use of house air. This was ultimately replaced with a rack and pinion controlled by a small DC motor. This decreased the amount of equipment needed and overall complexity. All these design choices were made through rapid prototyping and qualitative testing.

Movement System

The group considered using either a robotic arm or gantry for the movement system. After pricing, finding components, and talking with experts, the group decided to build a gantry in order to achieve the desired speeds, control and reliability. To determine the desired specifications, such as speed and play space, the group timed and measured a typical card game between two human players. The goal is to mimic the playing speed of a typical human game. Games were played within the designed game-play space to ensure it was practical and comfortable for a player. This data along with weight estimations for the card manipulator head were used to spec motors, rails, and belts for the gantry. The group decided to use a core-XY gantry after researching similar projects. Core-XY gantries allow for two stationary motors instead of mounting a motor onto the crosspiece. This decreases the load on the crosspiece, allowing for faster speeds. This also improves safety as the motors can be placed far away from the player. The gantry was designed to be adjustable. While the basic layout of the gantry remained the same throughout the design process, varying the 3D-printed adapters allowed for any necessary modifications.

I was the lead designer on the movement system. I was responsible for designing the rail and pulley configurations and determining how to mount the rails. I coordinated with other group members to spec appropriate motors while purchasing components with the goal of keeping the footprint as small and light as possible. This helps us achieve faster speeds while making it easier to transport and interact with. I was responsible for the CAD model and coordinating any machining/ 3D printing necessary. 

Pnematic Design.png

Card Manipulator Head CAD Breakdown

Card Stripper.jpg
Final Pneumatic.jpg

Initial Card Manipulator Design (Top) vs Final Card Manipulator Design (Bottom)

Gantry CAD.png

Gantry CAD

Computer Vision System

The computer vision system is comprised mostly of bought parts and existing code. Many projects exist to identify the suit and value of a card. This existing code was used in conjunction with a Raspberry Pi to successfully identify parts. This code was validated prior to integration. To locate cards, the robot uses an overhead camera to detect cards on the table. A threshold is applied to the image to make any cards stand out on the black background. Square ArUco markers were used to map the card location in the image to the physical board.

circuit block diagram.png

Controls Block Diagram

Results

In our final design, as shown in Figure 5, the motor is encoded, allowing us to track its position and, through software, determine when the motor has hit a hard-stop (i.e., a card). This design has worked excellently so far and allows us to control all movements via electronics. The computer vision system can recognize a card's suit, value, and location. The accuracy of the card recognition system has yet to be characterized. However, once a card has been in a frame, the card’s location in the frame can be mapped to the card’s physical location to within 2 mm. The gantry can move to a specific location with a precision of several mm. The overall precision of the system has yet to be characterized but the robot should not have issues navigating to the center of a card.

This project proves the feasibility of an autonomous card playing robot. A player can interact with our robot and play a game of War in the same way one would with another human being. This opens the door to numerous opportunities. This project can very easily be adapted so a remote player can control the robot. This would allow two players to achieve a much more authentic experience than they would if they were to play an electronic card game. It also allows those with disabilities who may lack the dexterity to handle cards to interact with loved ones and play a game of cards. This project also leaves a lot of room for modifications and adaptability. Changing the manipulator head could unlock even more capabilities, such as playing chess/board games or completing a puzzle. While this project has many areas in which it can be improved, the overall concept was a success.

Final Protoypes.png

Final Prototype

bottom of page