SCARAbot
A Checkers Playing Robot
home project specifications Progress Design concepts Mechanical Electrical Software
Weeks 9-10 Update

     
The MATLAB fucntions to connect the checkers algorithm together with the movemnt of the arm are starting to come along. The bot is currently able to play checkers however it is currently ignoring jumps and has no programming for kings yet. The firmware on the arm controller has also had a lot of work done on it to clean up the PIDs and make it so that the responses of when a movement is completed are always sent.

Weeks 7-8 Update

     
Our MATLAB GUI now displays the image from the camera as well as the computed loaction of the checker pieces. The "Update" button will update these views, which takes about two seconds. The GUI also has the ability to get the posisition on any cell and store it to a matrix of cell location via the "Get Pos" button. The "Go To" button will make the arm move to that cell location. This can be used to calabrate the locations of where the arm thinks the checker cells are located. Finaly we have added the ability to enable and disable all motors in the arm via the "Enable" and "Disable" buttons. This is for safty and for testing.

Weeks 6-7 Update

  • Our MATLAB GUI has been expanded to include gripper actuation control.



  • RoboRealm has been tuned to accurately locate and label the centerpoints of both the red and green checker piece. The software can follow checker piece movement, and adapt to varying lighting conditions.


  • MATLAB can now read RoboRealm positional data, and can track game piece movements. These movements are convienently displayed in a separate MATLAB GUI.



Progress as of 4/28/2010

  • We can successfully control our three axis. Each axis can be homed and moved to any desired position at any speed using a friendly user interface which can be seen below.



  • Our vision system is now able to recognize the checker board and even locate any checkers placed on the board. This is accomplished by using Roborealm. The next step in determining checker position is to determine the color of a given checker and be able to interface with matlab.




Software
There are two different types of software on this project. Firmware which is code that runns on the microcontroller to control the arms motors. Then there is the code that will run on the PC that runs the vision and checkers algorithms.

PC Software
 Currently we use Matlab to send controls to our microcontroller to move our arm. Our Matlab code is ziped and linked below, it includes the gui and source code.
To locate our checkers a vision system is going to be used. Using a Microsoft Life cam 3.0 and Roborealm we are developing the necessary code to locate each checker and determine its color.

Matlab Code (4/28/10)

Firmware
The firmware in c code that is compiled for a AVR microcontroller. We have gone through many different revisions of the code. The most recent as of 4/28/10 is the Atmega128 code. This code runs PIDs on all three axies and uses the serial port to send and receive commands from a computer.

Atmega128 Code
AVR PID Code
   
Copyright © 2010 Designed by Isaac Fortner.