Eric McCann
5:16 AM, May 3, 2012

Visual Sudoku Recognition for Distributed Solving... and robot Macarena


As the Bilibot's arm is ideal for any task that involves one-degree manipulation, I imagined it raising and lowering a writing utensil. I've already written a C# Human-like Sudoku Solver (A*-based), and 85% of a Managed .NET4 port of the ROS communications stack, so making the Bilibot (photograph 1) perceive and sufficiently understand a Sudoku puzzle using its Kinect's color camera (photograph 2), and some OCR wizardry (photograph 3) in order to pass the puzzle information to my Sudoku solver using ROS# made sense. As a component of this project, I made all of our Bilibots' arms work... at all... by making the firmware more intelligent with respect to its being able to detect incorrect wiring of its arm position sensors by its manufacturers, and correct for such an error if it is discovered.

Photograph 1

Photograph 2

Photograph 3

(Office Space -- Twentieth Century Fox Film Corporation - 1999)

(:youtube zCGthOHusWE:)
(:youtube FscVyznuct0:)

Concepts Demonstrated

  • Computer vision techniques were used to "read" the puzzle.
  • Energy drinks were used to hack for hours on the semi-functional Sudoku OCR.


Technology Used Block Diagram

Additional Remarks