Image Processing-based RoboticRubiks Cube SolverBental Tavor Advisor: Dr. Eyal KatzElectrical Engineering
The project deals with a robotic system prototype which solves a standard Rubik's Cube. The system includes and integrates :Mechanical design and building of the robotic armsElectrical circuit Des., Build.Algorithms Dev.Software Des., impl.
AbstractThis projects goal was to design and create a robotic system which physically solves a standard 3x3x3 Rubiks cube. The cubes state is automatically detected by a camera and computer vision software. A solution is found using either of three algorithms: the Layer, Fridrich, or the Two-phase algorithm. The robotic arms are then programmed to execute the desired moves.
Cube Solving Algorithms - stepsLayer Method
First Two LayersOrientation of Last LayerPermutation of Last LayerFirst LayerFirst Two LayersCross Last LayerDoneLast Layer corner fix
Cube Face Detection Example
Input RGB imageHSV image
convert the RGB image into HSV image and get the V vales
binary imageRetrieves contours using the Suzuki algorithm. The contours are a useful tool for shape analysis and object detection.The contours were filtered by there Area and Aspect Ratiobinary imageSort the contours coordinate from top to bottom and display there index RGB image
Identification of face colorsHSV color space separates image intensity, fromthe color information.
HSV colors range measurement tool for a close room light conditionsGreen, Blue and white measurement example
ApplicationApply adaptive threshold to help enhance the black edges separating the faces on the cube
Face colors detected
Rubiks Cube initial Pattern RecognitionSolve with Layer MethodEasily understood by a human being Solve with Fridrich MethodFast method for Computer
Simulation of 3D cube that rotate and show the Rotation with guidelines
Color Space Parameters calibration tool
Manual motor control tool for engine check option
Close Room fluorescent light
Afeka college yard daylight
HSV Graph Results
Part of this work has been presented at IMVC 2016, the 7th Israeli Machine Vision Conference, March 16-17, 2016, Tel-Aviv, Israel