Group 2 – Chess Mates


Chess Mates

Hello everyone. We are Chess Mates, and our project is to create a chess game where your opponent will be a chess playing robot arm. Since we have had som difficulty posting on this blog, we decided to give an update on week 1, 2 and 3 in this blog post.

Week 1 and 2

The very first day of this course we were told to find people from the different disciplines and form a group. This resulted in Chess Mates, with the members:

Marte Marheim – Computer science

Kevin Johansen – Computer science

Hossein Sadeghi – Computer science

Liv Marte Olsen – Mechanical engineering

After the group was formed, and we had gotten to known each other a little bit, we decided to try to create a chess playing robotic arm.

The following week we used the time to scope out our project. We had to do some research when defining our project, but overall, we landed on a chess playing robotic arm. There are some functions we would like to implement, like the ability for the player to choose whether they want to play black or white pieces, and the ability to choose between different levels of difficulty. We are not sure if we will have time to implement all of the functions mentioned, so our main goal is to make a robotic arm that functions.

Week 3

For the third week of this project, we divided the different task for computer science.

This week we started to research about how to program servo motors through Arduino. We will start the testing of a few servo motors just to see how it works. Eventually see if we can find a simulator so we can see how we program an arm before the real robot arm is made.

Also, we want to look into other aspects of the project, in case we do not find a simulator to test our components, like looking at how we are going to connect the Bluetooth device to our control panel, and take a closer look at the electrical components and how we are going about installing them correctly.

We have been working 3 hours each day from wednesday to friday, researching the web for simulators, programming of the arm (servo motors), bluetooth, testing and finding the algorithm for the chess computer.

Kevin Johansen and Hossein Sadeghi, Computer Science.


Computer Vision

We have been researching computer vision this week in order to identify and locate the chess pieces for our robot arm. To be able to do this, a dataset must be created that contains hundreds of photos of the board and the pieces in various configurations. We have purchased a temporary chessboard, and the pieces will be completed on Friday. Beginning the following week, we will begin data collection in order to begin the annotating phase.


As you can see in the image below, I have begun practicing annotating on various images from the internet.

You can view all the labels and classes I’ve used so far above. I will need to annotate each chess piece in each image in the dataset. Further study revealed that the classes require more specificity than this, so when I begin annotating the actual dataset, I will classify the pawns as described above but split them so that each receives their distinct color as well, such as black-king, white-prawn, etc. Once everything is finished, I can train the model with test images, that will allow me to evaluate the model’s accuracy. I’m going to take several, different images to get the most accurate model as possible:

  • Images where the board is completely empty of pieces
  • Images with minimal objects
  • Images of pieces that are upside-down or lying on their sides
  • Images with the parts scattered all over

I’ve been working on this on a website called Roboflow, where you can create your own computer vision model, but I’ll do some study on alternative options like OpenCV as well the following week.

Although it hasn’t been entirely decided yet, I believe we will use a Raspberry Pi equipped with a camera module for the camera.

The goal for next week is to examine localization—as opposed to just recognition—of the chess pieces on the board.

Marte Marheim – Computer Science.


Robotic Arm design.

As mention in the summary for the first two weeks, the first two sessions were used for: getting to know the other group members and doing some research on what components our robotic arm will need to have in order to function properly. Since I am the only one from mechanical engineering in this group, my main source of inspiration etc. is from the information / inspiration I gain from the teachers and research.

When doing research for the robotic arm, I quickly gathered that there are many resources to take inspiration from, so in order for the robotic arm to be my design I am trying to base my drawings /designs mainly on pictures from google, as shown below.

In terms of the size of the robot arm, the main guideline I am following, is that the arm should not be larger than half a meter when fully extended. This in mind that the robot arm will need to have the ability to play using the whole chess board. The arm will mainly consist of larger parts that are assembled together using screws and ball bearings. After several talks with Richard, I was made aware of the fact that I may have some problems with the assembly of the arm in regards to fastening the different components using screws, considering that the material will be plastic – PLA. I have therefore decided to make a backup design of the arm, where the arm will be made using plywood.

The rest of this week and the following week will be used to draw and design the arm in Solidworks. Below you can see the image of the “fot bracket” I have designed, which will function as a part of the base joint for the arm.

During this week I also printed chess pieces that the other group members needed in order to begin some of the tasks they have on their to-do list. I decided to use an open-source design that already exists using a 3D print library. The design was chosen based on the fact that we are going to use an electromagnetic motor / magnet to move the pieces around the board. The pieces will need to be modified in ordered to use them in the game, since they don`t have any magnetic abilities as they are now. I am planning on buying magnets and designing and print a base with the magnets fitted inside. Which then will be glued on the chess pieces I have printed. But this is a task I plan on completing after the design of the arm is finished.

I also need to design and create a turn table the chess board will be placed on, in terms of giving the player the ability to choose between black and white pieces. I plan on using a stepper motor for this part, in order to get the turn function.

Hours spent working on the project:

Week 1: 8 hours, week 2: 8 Hours, week 3: 15.5 Hours.

Liv Marte – Mechanical engineering.


Leave a Reply