Robotic chess opponent

[Dennis] is using a robotic arm as a chess opponent. Rather than using an under-board movement system, a Lynxmotion AL5A robotic arm plucks each piece and moves it to the next space. He tells us that he’s using a Python script that he created to process the moves and decide what’s next. That must mean he’s using a webcam to capture the location of the pieces on the board. About half way through you can see the robot run into one of the pawns. We’d like to know if he has problems with picking up the pieces as the game progresses and they get further away from the center of each square. From what we can see, looks like a great job!

Comments

  1. eh. wat. says:

    Fail. Video is blocked in Germany because of Copyrighted material from Sony Music.

  2. anon says:

    I’m more interested to know what it does when it takes an oppenents piece.

  3. Laminar says:

    @anon

    It crushes the piece into a fine powder.

  4. WA5ZNU says:

    It would be a good hack to take one of the big red “panic” or “stress” buttons for $10 apart and embed in a chess clock so he doesn’t have to reach for the Enter key.

  5. Moggie100 says:

    I fail to see why the arm returns to the ‘waiting’ position between pick and place operations, especially as it causes that ‘nudge’ in the video…

  6. clinton says:

    @Moggie100
    probably because it was easier for him to program a move knowing it’s starting from a “home” position. it would be more efficient if it only moved however far it needed to.

    i think this is amazing.

    one thing he could do to make it a little more fluid (and i’m stretching) is to add an electro-magnet to the claw. by activating the magnet when it begins to clamp, he might be able to make up for the placement variations that the summary mentions.

  7. Hirudinea says:

    The placement variations could be taken care of by small magnets in the board and base of the pieces, once a piece is placed on a square the magnets will atract each other and slide the piece into centre, but the magnets would be weak enough so the robot (and player) could move the pieces. And if he wanted to make the robot seem more like a human player it should knock the board over when it loses! So I guess a chess/boxing robot is next?

  8. bbbb says:

    I like the idea of this robot. sounds like it would be a much more enjoyable way to play a computer than via a keyboard and screen.

    but, is it thinking? it doesn’t seem so. there is nothing in the video to suggest it is doing anything other than simple pre-programmed movements (erratically at that, see the nudge at 0:38). there are not piece captures, and as soon as the keyboard button is pressed the arm moves — it doesnt seem to assess what has been played on the human side at all (not even after the opening move).

    theres nothing other than a video and a youtube description as far as the specifics go… and that doesn’t say it is thinking either.

    “That must mean he’s using a webcam to capture the location of the pieces on the board.”
    —> Really? It must mean that? I don’t see the camera…

    It just seems like such a great idea/project (best on ive seen on HAD in a while for sure) that if it were doing what is being claimed it would have been explained in more detail (you know, the creator would want to brag more).

    I want to believe, but my better judgment tells me this is being controlled by a man behind a curtain somewhere.

    I hope I am wrong. Truly.

  9. andrew says:

    Yea, the problem is that this project lies somewhere in between “cool hack” and “complete solution.” He’s built a decent arm (albiet, they can easily be purchased in kit form so its hard to say how much of it is an original design). But, as you can see from the above comments, people are faulting him because his apparent AI isn’t good enough. Are there any demonstrations of AI that can play as well as deepblue or better? I doubt it — and, deepblue doesn’t use a learning algorithm, just brute force.

  10. jim says:

    Awesome.

    On the ‘smarts’ — there are plenty of chess programs out there that can beat me with no meaningful pause between plays. Maybe he rolled his own, or maybe he’s interfacing with an off the shelf program.

    I think that returning to the “thinking” position is a classy touch, actually.

    The big improvement that I want to see is the machine recognizing when you’ve made your move, so there are no buttons to press at all.

    Riffing on Hirudinea’s idea, if the manipulator was magnetic instead of a claw, then there wouldn’t be any propagating error over multiple moves. That makes it easier to control the robot with simple go-to-grid commands, instead of needing to see the pieces. I think the claw is more fun, though.

  11. davo1111 says:

    @”eh. wat” (first post)

    This link might help. Just click one of the links and download it to desktop :)

    http://deturl.com/www.youtube.com/watch?v=CkGqn5rNzK8&feature=player_embedded

  12. Rambo says:

    We have to do this sort of thing (only for checkers) for our Mechatronics course. I’m an ME, but we have a brilliant EE on our team who has gotten a SCARA pick and place robot working for us. It’s pretty sweet, if I do say so myself.

  13. Nice work, thanks to share it :)

  14. eh. wat. says:

    @ davo1111

    Thank you kindly.

  15. niceeee.

    “That must mean he’s using a webcam to capture the location of the pieces on the board.”

    Very interesting, I think it’s more likely that the robot use some kind of sensors. It would be hard and nearly impossible for robot to see the location of the pieces through webcam and so quickly decide what to do..

    Or maybe the guy is just pressing a button, to tell the robot where he put his chess..

  16. amodedoma says:

    Nice work on the AL5A. Not the standard kit, Elongated arm means probably stronger servos too. Just a suggestion though, it’s called inverse kinetics. Having the math do the work of arm position means you can concentrate on simple x,y,z position translations. Not as difficult as it sounds and will save endless hours of sequence programming.

  17. amodedoma says:

    oops errata.. It’s called inverse kinematics, if your using the ssc-32 then you have a program disk that demonstrates it, and I do believe the lynxmotion forum has a couple of articles.

  18. Flint says:

    It’s a Python script. No way in hell it has even very basic chess-capable AI.

  19. Rollyn01 says:

    @ Flint

    Given that there are “chess-capable” AIs written in assembly code for the ti-8x series calculators, Javascript for computers and mobile phones and many other language to many other platforms… How exactly does it being in Python prevent it from being “chess-capable”?

  20. nob says:

    The chess video does not work in Germany.

  21. Patrick says:

    I am building a chess playing robot. It has a gantry crane. Interesting, i am using the chess board and chess pieces as you.

  22. Chess Kid says:

    The video didn’t play on this page, but by clicking through to youtube, it worked fine.

    Glad it did work. I love seeing robotics development. Well done Dennis!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 93,803 other followers