*Note: I posted a very similar thread in Software but I misplaced it. The topic has been merged with this one*
I have been playing around with ideas for a project and I would like to do something similiar to this:
[youtube]XhfGQGGFb68[/youtube]
There would be a few key differences:
1) The game would be checkers
2) It would implement a camera rather than other sensors to read the state of the board
3) It wouldn't be made of legos
My plan is to use blob detection so that the robot can distinguish where the individual pieces are, and then feed that information into a two dimensional array. To make it easier for the camera to distinguish the pieces, I plan on marking the checkers with different colored pieces of paper. For example: all of the black checkers would have a yellow piece attached to the top, and all of the red ones a blue piece (the colors are arbitrary, I imagine, as long as they are different enough from the board or the pieces themselves).
A possibility (depending on the feasibility) would be to mount the camera on a servo so that it may swivel. This would allow the camera to initially be pointed at the player's face and implement facial recognition so the robot would realize who it is playing against. I imagine sitting down to play it and hearing "Hello Christopher: would you like to continue our last game?"
But that's neither here nor there for now. My main concern is getting the robot to play a decent game of checkers...
I was also playing around with the idea of an electro-magnet rather than a gripper/manipulator to pick up the pieces. I imagine a small piece of ferrous metal embedded in the underside of the game piece would allow it to work. Seems like a gripper/manipulator might complicate things. My only fear would be EMI...
My questions are:
Does anyone foresee any problem with this setup? Any thoughts, input, criticism or ideas on the premise? Advice?
Also:
Servos, stepper motors, or some other ingenious method for moving the gantry? Have my own ideas but are very interested to hear what you suggest.
Thanks in advance