SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
A Cheap Chess Robot: Perception

Billy Okal, Oliver Dunkley, Andreas N¨chter
                                     u

       Automation and Machine Vision Lab
           Jacobs University Bremen


               May 13, 2011
Introduction Methodology Experiments Conclusion and Future Work

 Outline

      1   Introduction
             Motivation
             Previous/Related Work
             Research Agenda
      2   Methodology
           Finding the chessboard
           Detecting Changes
           Determining Moves
      3   Experiments
            From scene to 2D view
            Detect Move and Query Chess Engine
      4   Conclusion and Future Work


               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Motivation Previous/Related Work Research Agenda

 Motivation


      What is Robot Chess?
      Robot playing a game of chess against another robot or human
      opponent.




               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Motivation Previous/Related Work Research Agenda

 Motivation


      What is Robot Chess?
      Robot playing a game of chess against another robot or human
      opponent. We focus on the case of a Robot vs a Human




               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Motivation Previous/Related Work Research Agenda

 Motivation


      What is Robot Chess?
      Robot playing a game of chess against another robot or human
      opponent. We focus on the case of a Robot vs a Human

      What is Robot Chess Perception?
      Robot Perception generally enables the robot to perceive the
      changes in the environment using its sensors and interpret sensory
      input to make decisions about its next actions.




               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Motivation Previous/Related Work Research Agenda

 Motivation


      What is Robot Chess?
      Robot playing a game of chess against another robot or human
      opponent. We focus on the case of a Robot vs a Human

      What is Robot Chess Perception?
      Robot Perception generally enables the robot to perceive the
      changes in the environment using its sensors and interpret sensory
      input to make decisions about its next actions. In our case, the
      sensor is a monocular camera, the environment is a chess
      game and actions include moving the chess pieces on the
      chessboard.



               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Motivation Previous/Related Work Research Agenda

 Previous/Related Work

      We highlight a few interesting/related cases;




               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Motivation Previous/Related Work Research Agenda

 Previous/Related Work

      We highlight a few interesting/related cases;
             The AAAI small scale manipulation(table top chess) challenge
             during AAAI2010 and AAAI2011




               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Motivation Previous/Related Work Research Agenda

 Previous/Related Work

      We highlight a few interesting/related cases;
             The AAAI small scale manipulation(table top chess) challenge
             during AAAI2010 and AAAI2011




     Modified Chessboard [http://chiara-robot.org/]




               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Motivation Previous/Related Work Research Agenda

 Previous/Related Work

      We highlight a few interesting/related cases;
             The AAAI small scale manipulation(table top chess) challenge
             during AAAI2010 and AAAI2011


                                                                    Carefully chosen colors for
                                                                    pieces and board
                                                                    Non-standard chessboards
                                                                    Non standard sizes
     Modified Chessboard [http://chiara-robot.org/]




               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Motivation Previous/Related Work Research Agenda

 Previous/Related Work

      We highlight a few interesting/related cases;
             The AAAI small scale manipulation(table top chess) challenge
             during AAAI2010 and AAAI2011


                                                                    Carefully chosen colors for
                                                                    pieces and board
                                                                    Non-standard chessboards
                                                                    Non standard sizes
     Modified Chessboard [http://chiara-robot.org/]

             Systems that involved mounting the camera directly above the
             chessboard as in [Urting:2003] and [Groen:1992]




               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Motivation Previous/Related Work Research Agenda

 Previous/Related Work

      We highlight a few interesting/related cases;
             The AAAI small scale manipulation(table top chess) challenge
             during AAAI2010 and AAAI2011


                                                                    Carefully chosen colors for
                                                                    pieces and board
                                                                    Non-standard chessboards
                                                                    Non standard sizes
     Modified Chessboard [http://chiara-robot.org/]

             Systems that involved mounting the camera directly above the
             chessboard as in [Urting:2003] and [Groen:1992]
             A fews humanoids like REEM-A(30 dof, stereo-cam) by Pal
             Robotics. etc

               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Motivation Previous/Related Work Research Agenda

 Research Agenda

      Common Feature of Previous Work




               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Motivation Previous/Related Work Research Agenda

 Research Agenda

      Common Feature of Previous Work
      Constraints imposed on the chessboard and pieces to simplify the
      problem.




               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Motivation Previous/Related Work Research Agenda

 Research Agenda

      Common Feature of Previous Work
      Constraints imposed on the chessboard and pieces to simplify the
      problem.
      Which of these constraints can we relax/get rid of?




               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Motivation Previous/Related Work Research Agenda

 Research Agenda

      Common Feature of Previous Work
      Constraints imposed on the chessboard and pieces to simplify the
      problem.
      Which of these constraints can we relax/get rid of?

      Our Attempt
             Allow for camera to move relative to chessboard (including
             moving out of the scene)
             Use a un-modified chessboard
             Use standard chess piece set (Staunton standard tournament
             pieces No 5 - from Amazon)
             All the above using cheap camera (a USB webcam) and basic
             hardware (4 dof + 1 for gripper).

               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Finding the chessboard Detecting Changes Determining Moves

 Methodology




             Finding the chessboard in the scene
             Detecting Changes on the chessboard (moves)
             Decoding the changes to identify user moves
             Generating new moves and transform these into free space
             poses for planning




               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Finding the chessboard Detecting Changes Determining Moves

 Finding the chessboard in the scene


   Algorithm 1: Detect Board in the Scene
   Data: Raw Scene Image (img) - 800x600
   Result: 4 Corners of the chessboard
   begin
       img edges ←− EdgeDetect(img );
       all lines ←− LineDetect(img edges);
       MergeCloseLines(all lines);
       bounding lines ←− FindBoundingLines(all lines);
       corners ←− ComputerIntersections(bounding lines);
       return corners;
   end




               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Finding the chessboard Detecting Changes Determining Moves

 Finding the chessboard in the scene


   Algorithm 2: Detect Board in the Scene
   Data: Raw Scene Image (img) - 800x600
   Result: 4 Corners of the chessboard
   begin
       img edges ←− EdgeDetect(img );
       all lines ←− LineDetect(img edges);
       MergeCloseLines(all lines);
       bounding lines ←− FindBoundingLines(all lines);
       corners ←− ComputerIntersections(bounding lines);
       return corners;
   end




               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Finding the chessboard Detecting Changes Determining Moves

 Finding the chessboard in the scene


   Algorithm 3: Detect Board in the Scene
   Data: Raw Scene Image (img) - 800x600
   Result: 4 Corners of the chessboard
   begin
       img edges ←− EdgeDetect(img );
       all lines ←− LineDetect(img edges);
       MergeCloseLines(all lines);
       bounding lines ←− FindBoundingLines(all lines);
       corners ←− ComputerIntersections(bounding lines);
       return corners;
   end




               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Finding the chessboard Detecting Changes Determining Moves

 Project the chessboard to a 2D view
      Homography/Projective Transformation
      Given a 2D point p = (x, y ) on the image plane, find a matrix H
      such that the point p = (x , y ) given by p = Hp lies on a 2D
      plane P 2 of choice.

      In homogenous coordinates we have;
                                                             a      b
                      p = (a, b, c),            s.t x =        , y=   and c = 0                         (1)
                                                             c      c
                                                              a       b
                  p = (a , b , c ), s.t x =                     , y =     and c = 0                     (2)
                                                              c       c
                                                                  
                                  a       h1                 h2 h3      a
                                 b  =  h4                 h5 h6   b                               (3)
                                  c       h7                 h8 h9      c
      [Hartley:2000]
               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Finding the chessboard Detecting Changes Determining Moves

 Project the chessboard to a 2D view
      We plugin all the correspondences for the four corners and arrive at
      the following system;
                                                                                               
              a1    b1     1    0      0      0     −a1 a1    −b1 a1           h1              a1
          
             a2    b2     1    0      0      0     −a2 a2    −b2 a2     
                                                                             h2    
                                                                                             a2   
                                                                                                    
          
             a3    b3     1    0      0      0     −a3 a3    −b3 a3     
                                                                             h3    
                                                                                             a3   
                                                                                                    
          
             a4    b4     1    0      0      0     −a4 a4    −b4 a4     
                                                                             h4    
                                                                                    =        a4   
                                                                                                     (4)
          
             0     0      0    a1     b1     1     −a1 b1    −b1 b1     
                                                                             h5    
                                                                                             b1   
                                                                                                    
          
             0     0      0    a2     b2     1     −a2 b2    −b2 b2     
                                                                             h6    
                                                                                             b2   
                                                                                                    
             0     0      0    a3     b3     1     −a3 b3    −b3 b3         h7            b3   
              0     0      0    a4     b4     1     −a4 b4    −b4 b4           h8              b4

      Which then can be solved using a number of well established
      algorithms.




               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Finding the chessboard Detecting Changes Determining Moves

 Project the chessboard to a 2D view
      We plugin all the correspondences for the four corners and arrive at
      the following system;
                                                                                               
              a1    b1     1    0      0      0     −a1 a1    −b1 a1           h1              a1
          
             a2    b2     1    0      0      0     −a2 a2    −b2 a2     
                                                                             h2    
                                                                                             a2   
                                                                                                    
          
             a3    b3     1    0      0      0     −a3 a3    −b3 a3     
                                                                             h3    
                                                                                             a3   
                                                                                                    
          
             a4    b4     1    0      0      0     −a4 a4    −b4 a4     
                                                                             h4    
                                                                                    =        a4   
                                                                                                     (4)
          
             0     0      0    a1     b1     1     −a1 b1    −b1 b1     
                                                                             h5    
                                                                                             b1   
                                                                                                    
          
             0     0      0    a2     b2     1     −a2 b2    −b2 b2     
                                                                             h6    
                                                                                             b2   
                                                                                                    
             0     0      0    a3     b3     1     −a3 b3    −b3 b3         h7            b3   
              0     0      0    a4     b4     1     −a4 b4    −b4 b4           h8              b4

      Which then can be solved using a number of well established
      algorithms. In our implementation we make use of a OpenCV
      methods cv::getPerspectiveTransform and
      cv::warpPerspective.
      [Hartley:2000]
               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Finding the chessboard Detecting Changes Determining Moves

 Detecting Changes on the chessboard(moves)

          Locate blobs/change spots
              1     Difference image (Given two images
                    f (x, y ) at time t1 and f (x , y ) at
                    time t2 , difference is
                    g (x, y ) = |f − f |, [Farahat:2003]
              2     Remove noise by erosion and dilation
              3     Distance Transform (label pixels with
                    distance to background)
              4     Find the pixel whose label is largest
              5     Flood fill the pixel above
              6     Repeat steps 3,4,5 until threshold
          Map change spots to board changes.
          Use image dimensions and know chess
          square sizes to place changes on board
          squares. Generate change strings.

                  Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                       u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Finding the chessboard Detecting Changes Determining Moves

 Detecting Changes on the chessboard(moves)

          Locate blobs/change spots
              1     Difference image (Given two images
                    f (x, y ) at time t1 and f (x , y ) at
                    time t2 , difference is
                    g (x, y ) = |f − f |, [Farahat:2003]
              2     Remove noise by erosion and dilation
              3     Distance Transform (label pixels with
                    distance to background)
              4     Find the pixel whose label is largest
              5     Flood fill the pixel above
              6     Repeat steps 3,4,5 until threshold
          Map change spots to board changes.
          Use image dimensions and know chess
          square sizes to place changes on board
          squares. Generate change strings.

                  Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                       u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Finding the chessboard Detecting Changes Determining Moves

 Detecting Changes on the chessboard(moves)

          Locate blobs/change spots
              1     Difference image (Given two images
                    f (x, y ) at time t1 and f (x , y ) at
                    time t2 , difference is
                    g (x, y ) = |f − f |, [Farahat:2003]
              2     Remove noise by erosion and dilation
              3     Distance Transform (label pixels with
                    distance to background)
              4     Find the pixel whose label is largest
              5     Flood fill the pixel above
              6     Repeat steps 3,4,5 until threshold
          Map change spots to board changes.
          Use image dimensions and know chess
          square sizes to place changes on board
          squares. Generate change strings.

                  Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                       u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Finding the chessboard Detecting Changes Determining Moves

 Determining chess moves from the changes

             Convert chessboard changes into moves
                     Compare every pair of changes say a2b3 against an 8 × 8 state
                     matrix and return a move string
                     Repeat over the whole change string




               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Finding the chessboard Detecting Changes Determining Moves

 Determining chess moves from the changes

             Convert chessboard changes into moves
                     Compare every pair of changes say a2b3 against an 8 × 8 state
                     matrix and return a move string
                     Repeat over the whole change string
             Query chess engine for moves based on detected moves
                     Using standard chess engine communication protocol (UCI -
                     Universal Chess Interface).
                     Communication handles via ROS messages




               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work
                                                            Finding the chessboard Detecting Changes Determining Moves

 Determining chess moves from the changes

             Convert chessboard changes into moves
                     Compare every pair of changes say a2b3 against an 8 × 8 state
                     matrix and return a move string
                     Repeat over the whole change string
             Query chess engine for moves based on detected moves
                     Using standard chess engine communication protocol (UCI -
                     Universal Chess Interface).
                     Communication handles via ROS messages
             Convert suggested moves into poses in free space
                     Poses are defines as a pair of Position p = (x, y , z)T and
                     Orientation q = (x, y , z, w )T to allow for design freedom in
                     planning.
                     Using chessboard size, we interpret a move string say a2b3
                     into respective pose say p = (24, 14, 2)T q = (0, 0, 0, 1)T


               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work scene to 2D view Detect Move and Query Chess Engine
                                                            From

 Find Board and project it to 2D View




                                                     [[Movie]]




               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work scene to 2D view Detect Move and Query Chess Engine
                                                            From

 Determine Move and query Chess Engine




               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work

 Conclusion and Future Work


             Conclusions
                    We have demonstrated that the constraint of using a modified
                    chessboard and/or pieces can be relaxed without compromising
                    performance
                    We demonstrated on very minimalistic hardware, use of better
                    hardware should produce even better performance
                    Camera need not be fixed




               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work

 Conclusion and Future Work


             Conclusions
                    We have demonstrated that the constraint of using a modified
                    chessboard and/or pieces can be relaxed without compromising
                    performance
                    We demonstrated on very minimalistic hardware, use of better
                    hardware should produce even better performance
                    Camera need not be fixed
             Future Work
                    Investigate how the task could be solved multiple cameras
                    (stereo vision)
                    Adding other types of sensors (e.g. Kinect)
                    Add object recognition modules
                    Improve the blob detection module



               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u        A Cheap Chess Robot: Perception
Introduction Methodology Experiments Conclusion and Future Work

 The End

                                   Thank you for your attention
                                        Questions/Comments?

      Special Thanks
      DAAD/PROFIN,
      Automation Group Members
                                                                                                   For further information check
                                                          B.Okal and O.Dunkley, ”A Cheap Chess Robot: Planning and Perception”,
                                                                                                           Bachelor Thesis 2011.




      Software Tools

                                     http://www.ros.org


                                     http://opencv.willowgarage.com


                                     http://openrave.programmingvision.com



               Billy Okal, Oliver Dunkley, Andreas N¨chter
                                                    u              A Cheap Chess Robot: Perception

Weitere ähnliche Inhalte

Kürzlich hochgeladen

How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 

Kürzlich hochgeladen (20)

FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 

Empfohlen

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Empfohlen (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Development of A cheap chess robot: Planning and Perception

  • 1. A Cheap Chess Robot: Perception Billy Okal, Oliver Dunkley, Andreas N¨chter u Automation and Machine Vision Lab Jacobs University Bremen May 13, 2011
  • 2. Introduction Methodology Experiments Conclusion and Future Work Outline 1 Introduction Motivation Previous/Related Work Research Agenda 2 Methodology Finding the chessboard Detecting Changes Determining Moves 3 Experiments From scene to 2D view Detect Move and Query Chess Engine 4 Conclusion and Future Work Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 3. Introduction Methodology Experiments Conclusion and Future Work Motivation Previous/Related Work Research Agenda Motivation What is Robot Chess? Robot playing a game of chess against another robot or human opponent. Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 4. Introduction Methodology Experiments Conclusion and Future Work Motivation Previous/Related Work Research Agenda Motivation What is Robot Chess? Robot playing a game of chess against another robot or human opponent. We focus on the case of a Robot vs a Human Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 5. Introduction Methodology Experiments Conclusion and Future Work Motivation Previous/Related Work Research Agenda Motivation What is Robot Chess? Robot playing a game of chess against another robot or human opponent. We focus on the case of a Robot vs a Human What is Robot Chess Perception? Robot Perception generally enables the robot to perceive the changes in the environment using its sensors and interpret sensory input to make decisions about its next actions. Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 6. Introduction Methodology Experiments Conclusion and Future Work Motivation Previous/Related Work Research Agenda Motivation What is Robot Chess? Robot playing a game of chess against another robot or human opponent. We focus on the case of a Robot vs a Human What is Robot Chess Perception? Robot Perception generally enables the robot to perceive the changes in the environment using its sensors and interpret sensory input to make decisions about its next actions. In our case, the sensor is a monocular camera, the environment is a chess game and actions include moving the chess pieces on the chessboard. Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 7. Introduction Methodology Experiments Conclusion and Future Work Motivation Previous/Related Work Research Agenda Previous/Related Work We highlight a few interesting/related cases; Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 8. Introduction Methodology Experiments Conclusion and Future Work Motivation Previous/Related Work Research Agenda Previous/Related Work We highlight a few interesting/related cases; The AAAI small scale manipulation(table top chess) challenge during AAAI2010 and AAAI2011 Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 9. Introduction Methodology Experiments Conclusion and Future Work Motivation Previous/Related Work Research Agenda Previous/Related Work We highlight a few interesting/related cases; The AAAI small scale manipulation(table top chess) challenge during AAAI2010 and AAAI2011 Modified Chessboard [http://chiara-robot.org/] Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 10. Introduction Methodology Experiments Conclusion and Future Work Motivation Previous/Related Work Research Agenda Previous/Related Work We highlight a few interesting/related cases; The AAAI small scale manipulation(table top chess) challenge during AAAI2010 and AAAI2011 Carefully chosen colors for pieces and board Non-standard chessboards Non standard sizes Modified Chessboard [http://chiara-robot.org/] Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 11. Introduction Methodology Experiments Conclusion and Future Work Motivation Previous/Related Work Research Agenda Previous/Related Work We highlight a few interesting/related cases; The AAAI small scale manipulation(table top chess) challenge during AAAI2010 and AAAI2011 Carefully chosen colors for pieces and board Non-standard chessboards Non standard sizes Modified Chessboard [http://chiara-robot.org/] Systems that involved mounting the camera directly above the chessboard as in [Urting:2003] and [Groen:1992] Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 12. Introduction Methodology Experiments Conclusion and Future Work Motivation Previous/Related Work Research Agenda Previous/Related Work We highlight a few interesting/related cases; The AAAI small scale manipulation(table top chess) challenge during AAAI2010 and AAAI2011 Carefully chosen colors for pieces and board Non-standard chessboards Non standard sizes Modified Chessboard [http://chiara-robot.org/] Systems that involved mounting the camera directly above the chessboard as in [Urting:2003] and [Groen:1992] A fews humanoids like REEM-A(30 dof, stereo-cam) by Pal Robotics. etc Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 13. Introduction Methodology Experiments Conclusion and Future Work Motivation Previous/Related Work Research Agenda Research Agenda Common Feature of Previous Work Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 14. Introduction Methodology Experiments Conclusion and Future Work Motivation Previous/Related Work Research Agenda Research Agenda Common Feature of Previous Work Constraints imposed on the chessboard and pieces to simplify the problem. Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 15. Introduction Methodology Experiments Conclusion and Future Work Motivation Previous/Related Work Research Agenda Research Agenda Common Feature of Previous Work Constraints imposed on the chessboard and pieces to simplify the problem. Which of these constraints can we relax/get rid of? Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 16. Introduction Methodology Experiments Conclusion and Future Work Motivation Previous/Related Work Research Agenda Research Agenda Common Feature of Previous Work Constraints imposed on the chessboard and pieces to simplify the problem. Which of these constraints can we relax/get rid of? Our Attempt Allow for camera to move relative to chessboard (including moving out of the scene) Use a un-modified chessboard Use standard chess piece set (Staunton standard tournament pieces No 5 - from Amazon) All the above using cheap camera (a USB webcam) and basic hardware (4 dof + 1 for gripper). Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 17. Introduction Methodology Experiments Conclusion and Future Work Finding the chessboard Detecting Changes Determining Moves Methodology Finding the chessboard in the scene Detecting Changes on the chessboard (moves) Decoding the changes to identify user moves Generating new moves and transform these into free space poses for planning Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 18. Introduction Methodology Experiments Conclusion and Future Work Finding the chessboard Detecting Changes Determining Moves Finding the chessboard in the scene Algorithm 1: Detect Board in the Scene Data: Raw Scene Image (img) - 800x600 Result: 4 Corners of the chessboard begin img edges ←− EdgeDetect(img ); all lines ←− LineDetect(img edges); MergeCloseLines(all lines); bounding lines ←− FindBoundingLines(all lines); corners ←− ComputerIntersections(bounding lines); return corners; end Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 19. Introduction Methodology Experiments Conclusion and Future Work Finding the chessboard Detecting Changes Determining Moves Finding the chessboard in the scene Algorithm 2: Detect Board in the Scene Data: Raw Scene Image (img) - 800x600 Result: 4 Corners of the chessboard begin img edges ←− EdgeDetect(img ); all lines ←− LineDetect(img edges); MergeCloseLines(all lines); bounding lines ←− FindBoundingLines(all lines); corners ←− ComputerIntersections(bounding lines); return corners; end Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 20. Introduction Methodology Experiments Conclusion and Future Work Finding the chessboard Detecting Changes Determining Moves Finding the chessboard in the scene Algorithm 3: Detect Board in the Scene Data: Raw Scene Image (img) - 800x600 Result: 4 Corners of the chessboard begin img edges ←− EdgeDetect(img ); all lines ←− LineDetect(img edges); MergeCloseLines(all lines); bounding lines ←− FindBoundingLines(all lines); corners ←− ComputerIntersections(bounding lines); return corners; end Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 21. Introduction Methodology Experiments Conclusion and Future Work Finding the chessboard Detecting Changes Determining Moves Project the chessboard to a 2D view Homography/Projective Transformation Given a 2D point p = (x, y ) on the image plane, find a matrix H such that the point p = (x , y ) given by p = Hp lies on a 2D plane P 2 of choice. In homogenous coordinates we have; a b p = (a, b, c), s.t x = , y= and c = 0 (1) c c a b p = (a , b , c ), s.t x = , y = and c = 0 (2) c c      a h1 h2 h3 a  b  =  h4 h5 h6   b  (3) c h7 h8 h9 c [Hartley:2000] Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 22. Introduction Methodology Experiments Conclusion and Future Work Finding the chessboard Detecting Changes Determining Moves Project the chessboard to a 2D view We plugin all the correspondences for the four corners and arrive at the following system;      a1 b1 1 0 0 0 −a1 a1 −b1 a1 h1 a1   a2 b2 1 0 0 0 −a2 a2 −b2 a2   h2     a2     a3 b3 1 0 0 0 −a3 a3 −b3 a3   h3     a3     a4 b4 1 0 0 0 −a4 a4 −b4 a4   h4   = a4   (4)   0 0 0 a1 b1 1 −a1 b1 −b1 b1   h5     b1     0 0 0 a2 b2 1 −a2 b2 −b2 b2   h6     b2    0 0 0 a3 b3 1 −a3 b3 −b3 b3  h7   b3  0 0 0 a4 b4 1 −a4 b4 −b4 b4 h8 b4 Which then can be solved using a number of well established algorithms. Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 23. Introduction Methodology Experiments Conclusion and Future Work Finding the chessboard Detecting Changes Determining Moves Project the chessboard to a 2D view We plugin all the correspondences for the four corners and arrive at the following system;      a1 b1 1 0 0 0 −a1 a1 −b1 a1 h1 a1   a2 b2 1 0 0 0 −a2 a2 −b2 a2   h2     a2     a3 b3 1 0 0 0 −a3 a3 −b3 a3   h3     a3     a4 b4 1 0 0 0 −a4 a4 −b4 a4   h4   = a4   (4)   0 0 0 a1 b1 1 −a1 b1 −b1 b1   h5     b1     0 0 0 a2 b2 1 −a2 b2 −b2 b2   h6     b2    0 0 0 a3 b3 1 −a3 b3 −b3 b3  h7   b3  0 0 0 a4 b4 1 −a4 b4 −b4 b4 h8 b4 Which then can be solved using a number of well established algorithms. In our implementation we make use of a OpenCV methods cv::getPerspectiveTransform and cv::warpPerspective. [Hartley:2000] Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 24. Introduction Methodology Experiments Conclusion and Future Work Finding the chessboard Detecting Changes Determining Moves Detecting Changes on the chessboard(moves) Locate blobs/change spots 1 Difference image (Given two images f (x, y ) at time t1 and f (x , y ) at time t2 , difference is g (x, y ) = |f − f |, [Farahat:2003] 2 Remove noise by erosion and dilation 3 Distance Transform (label pixels with distance to background) 4 Find the pixel whose label is largest 5 Flood fill the pixel above 6 Repeat steps 3,4,5 until threshold Map change spots to board changes. Use image dimensions and know chess square sizes to place changes on board squares. Generate change strings. Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 25. Introduction Methodology Experiments Conclusion and Future Work Finding the chessboard Detecting Changes Determining Moves Detecting Changes on the chessboard(moves) Locate blobs/change spots 1 Difference image (Given two images f (x, y ) at time t1 and f (x , y ) at time t2 , difference is g (x, y ) = |f − f |, [Farahat:2003] 2 Remove noise by erosion and dilation 3 Distance Transform (label pixels with distance to background) 4 Find the pixel whose label is largest 5 Flood fill the pixel above 6 Repeat steps 3,4,5 until threshold Map change spots to board changes. Use image dimensions and know chess square sizes to place changes on board squares. Generate change strings. Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 26. Introduction Methodology Experiments Conclusion and Future Work Finding the chessboard Detecting Changes Determining Moves Detecting Changes on the chessboard(moves) Locate blobs/change spots 1 Difference image (Given two images f (x, y ) at time t1 and f (x , y ) at time t2 , difference is g (x, y ) = |f − f |, [Farahat:2003] 2 Remove noise by erosion and dilation 3 Distance Transform (label pixels with distance to background) 4 Find the pixel whose label is largest 5 Flood fill the pixel above 6 Repeat steps 3,4,5 until threshold Map change spots to board changes. Use image dimensions and know chess square sizes to place changes on board squares. Generate change strings. Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 27. Introduction Methodology Experiments Conclusion and Future Work Finding the chessboard Detecting Changes Determining Moves Determining chess moves from the changes Convert chessboard changes into moves Compare every pair of changes say a2b3 against an 8 × 8 state matrix and return a move string Repeat over the whole change string Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 28. Introduction Methodology Experiments Conclusion and Future Work Finding the chessboard Detecting Changes Determining Moves Determining chess moves from the changes Convert chessboard changes into moves Compare every pair of changes say a2b3 against an 8 × 8 state matrix and return a move string Repeat over the whole change string Query chess engine for moves based on detected moves Using standard chess engine communication protocol (UCI - Universal Chess Interface). Communication handles via ROS messages Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 29. Introduction Methodology Experiments Conclusion and Future Work Finding the chessboard Detecting Changes Determining Moves Determining chess moves from the changes Convert chessboard changes into moves Compare every pair of changes say a2b3 against an 8 × 8 state matrix and return a move string Repeat over the whole change string Query chess engine for moves based on detected moves Using standard chess engine communication protocol (UCI - Universal Chess Interface). Communication handles via ROS messages Convert suggested moves into poses in free space Poses are defines as a pair of Position p = (x, y , z)T and Orientation q = (x, y , z, w )T to allow for design freedom in planning. Using chessboard size, we interpret a move string say a2b3 into respective pose say p = (24, 14, 2)T q = (0, 0, 0, 1)T Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 30. Introduction Methodology Experiments Conclusion and Future Work scene to 2D view Detect Move and Query Chess Engine From Find Board and project it to 2D View [[Movie]] Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 31. Introduction Methodology Experiments Conclusion and Future Work scene to 2D view Detect Move and Query Chess Engine From Determine Move and query Chess Engine Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 32. Introduction Methodology Experiments Conclusion and Future Work Conclusion and Future Work Conclusions We have demonstrated that the constraint of using a modified chessboard and/or pieces can be relaxed without compromising performance We demonstrated on very minimalistic hardware, use of better hardware should produce even better performance Camera need not be fixed Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 33. Introduction Methodology Experiments Conclusion and Future Work Conclusion and Future Work Conclusions We have demonstrated that the constraint of using a modified chessboard and/or pieces can be relaxed without compromising performance We demonstrated on very minimalistic hardware, use of better hardware should produce even better performance Camera need not be fixed Future Work Investigate how the task could be solved multiple cameras (stereo vision) Adding other types of sensors (e.g. Kinect) Add object recognition modules Improve the blob detection module Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception
  • 34. Introduction Methodology Experiments Conclusion and Future Work The End Thank you for your attention Questions/Comments? Special Thanks DAAD/PROFIN, Automation Group Members For further information check B.Okal and O.Dunkley, ”A Cheap Chess Robot: Planning and Perception”, Bachelor Thesis 2011. Software Tools http://www.ros.org http://opencv.willowgarage.com http://openrave.programmingvision.com Billy Okal, Oliver Dunkley, Andreas N¨chter u A Cheap Chess Robot: Perception