A robot that solves and fills alone a Sudoku' grid!
Sudoku are digital puzzles that computers can solve automatically because they obey some simple mathematical rules.
The main objective of this project was to build a rudimentary and autonomous robot, like plotting table base on 3D printer idea, which will be able to:
- analyze the grid of sudoku to be filled
- solve the Sudoku problem
- fill the grid
That means the robot must be able to process the grid to be solved in order to detect the boxes already filled,their values and then proceed to filling just like the filled grid show bellow.
The hardware of the robot consist at using a Raspberry Pi 3 with a camera. A photo of the grid is taken at the beginning of the process.
The grid is then pre-processed using image processing methods to suppress artefact. It is then redress to obtain a picture focused only on the grid.
Once the Sudoku grid obtained, we segment the grid to extract each box and proceed to image recognition using a neural network. At the end of this process we have a numerical representation of our grid which can then be solve.
Once solve the raspberry pi is again used to control the motors of the robot in order to fill the grid.
To sum up,
- 1 - redress the grid
- 2 - estimate the grid contours
- 3 - enhence the contour ( by multiplying 1 by 2)
- 4 - segment the grid to extract boxes
- 5 - proceed to image recognition
- computer vision
- Images processing
- Programming skills
- tensorflow for neural network
- opencv for image processing
For more information about the project don't hesitate to contact me on Github.