SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
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

Contenu connexe

Dernier

fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 

Dernier (20)

fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 

En vedette

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
 

En vedette (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