element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Experts, Learning and Guidance
  • Technologies
  • More
Experts, Learning and Guidance
Ask an Expert Forum Chess playing robot
  • Blog
  • Forum
  • Documents
  • Leaderboard
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Experts, Learning and Guidance to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 8 replies
  • Subscribers 303 subscribers
  • Views 1233 views
  • Users 0 members are here
  • 3d_camera
  • hand
Related
See a helpful answer?

Be sure to click 'more' and select 'suggest as answer'!

If you're the thread creator, be sure to click 'more' then 'Verify as Answer'!

Chess playing robot

magnus2112
magnus2112 over 11 years ago

image

So, the idea is to make a chess playing robot, using a Arduino and a custom built mechanical hand, but while planing i came a cross a big problem.

How are the robot going to know where the individual chess pieces are? How is the robot going to keep a track of every piece without manually typing it into the code?

Maybe using some kind of 3d camera (maybe hack a kinect) or maybe paint eatch piece and by using a camera track every piece by its collor. Eny ideas? and if so, pleace explane in detale image (i am a noob..)

  • Sign in to reply
  • Cancel
  • gadget.iom
    gadget.iom over 11 years ago

    Is the machine playing itself or a human being?

     

    If it's machine-on-machine, the assumed correct starting positions could be used together with a memory of each pieces current position as they are moved.

    If you are playing a human there a number of different approaches. Are you able to modify the board?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • magnus2112
    magnus2112 over 11 years ago in reply to gadget.iom

    So the idea is to have the robot playing against a human

    "Are you able to modify the board?" everything can be modified :3

    Here's a scetsh of the program (not a actual code, just planing how the code is going to be):

    Defines all the pieces by ther default location #Example King_White= D,1

    Camera (or som kind of sensor) #scan all the pieces and findes ther location = old

    #just moved a piece (example a pawn_white 1 step forward)

    Camera (or som kind of sensor) #scan all the pieces and findes ther location = new

    Compear old and new and gives a output like: pawn_white b,2= false pawn_white b,3 =true

    Output goes to a chess playing program.

    The output of the chess playing program will be example: pawn_black b,7 = false pawn_black b,8= true

    If pawn_black b,7 = false && pawn_black b,8= true;

    digitalWrite(13, HIGH);

      delay(1000);

      digitalWrite(13, LOW):

      delay(1000);

    #The robotic hand moves in some kind of position, pics up the piece,  and moves it to b,8

    Hope you understand image sorry my bad english

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • gadget.iom
    gadget.iom over 11 years ago in reply to magnus2112

    I have no experience of using cameras with the Arduino, so can't advise wether there is enough processing power on the boards. The approach I was thinking was using an 8x8 grid of sensors to detect the presence of chess pieces. If a piece is lifted, it's type is known (e.g. pawn) and the new position can be determined by the newly covered sensor. This can be used to confirm that human moves are valid and wether a robots piece has been taken.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • magnus2112
    magnus2112 over 11 years ago in reply to gadget.iom

    Hm :3 that sounds like a smart idea, but then i will have a problem, that my arduino has to registrer 64 inputs  :/

    Found a way to solve this problem by using a "parallel to serial shift register"

    http://www.arduino.cc/en/Tutorial/ShiftIn

    Eny idea what kind of sensors i shud be using?

    I could make some kind of switch, by using 2 contact plates on eatch square, and a metal plate unther neath the pieces, but i think it wont look that nice..image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • gadget.iom
    gadget.iom over 11 years ago in reply to magnus2112

    Something like this could be placed into the board. http://uk.farnell.com/honeywell-s-c/hlc1395-001/sensor-infrared-reflective-4ch/dp/1796893

    Then standard pieces could deb used.

     

    If you wire the anodes (Pin 1) into rows and the photodetectors (Pin 3) into columns, you could scan the inputs row by row to determine presence at each point.

    Does that make sense?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • magnus2112
    magnus2112 over 11 years ago in reply to gadget.iom

    Sorry, didn't quite understand you :/

    Did you mean like matrixing? :3

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • gadget.iom
    gadget.iom over 11 years ago in reply to magnus2112

    Yes. If you arrange the sensors in an 8x8 grid. Wire every Pin 2 to GND, Each Pin 1 in rows, and each Pin 3 in columns, you can light up each row at a time, then read the on/off values on the column connections. So a piece at position C3 would be read on the third column input only when the third Arduino output was activated.

    Very much like a matrix.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • magnus2112
    magnus2112 over 11 years ago in reply to gadget.iom

    image Thanks for your help image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube