Rubik's Cube Solving Robot

Project Overview
Designed and built an autonomous Rubik's Cube solving robot from scratch. The system uses 3D-printed mechanical components, servo motors for precise cube manipulation, and computer vision to scan and solve the puzzle using advanced solving algorithms.
Mechanical Design & Fabrication
3D Printed Components
- Designed custom cube gripper mechanisms in CAD software
- Created modular frame structure for easy assembly and adjustments
- 3D printed all mechanical parts with optimized tolerances
- Designed servo motor mounts with precise alignment features
- Iteratively refined parts for optimal cube manipulation
Servo Motor Integration
- Integrated 6 servo motors for full cube rotation control
- Wired servo control system with custom motor driver circuit
- Calibrated precise rotation angles for 90° and 180° turns
- Implemented motor sequencing for smooth cube movements
- Added feedback mechanisms to ensure accurate positioning
Software & Computer Vision
Cube Scanning System
- Integrated camera module for cube face recognition
- Developed color detection algorithms using OpenCV
- Implemented image processing for accurate color identification
- Created calibration system for varying lighting conditions
- Built cube state validation to prevent scanning errors
Solving Algorithm
- Integrated existing Kociemba two-phase solving algorithm implementation
- Used open-source solving software for cube solution generation
- Translated algorithm output to servo motor commands
- Adapted software interface to work with custom hardware
- Integrated error handling for invalid cube states
Technical Implementation
- Programming: Python for computer vision and solving algorithms
- Microcontroller: Arduino for servo motor control
- Computer Vision: OpenCV for color detection and cube scanning
- Communication: Serial communication between Python and Arduino
- Hardware: Custom PCB for clean servo connections
Key Features
- Fully autonomous cube solving with no human intervention
- Average solve time of 2-3 minutes from scan to completion
- Camera-based scanning system for accurate color detection
- Modular design allows for easy maintenance and upgrades
- Real-time feedback during solving process
- Handles scrambled cubes of varying difficulty
Challenges & Solutions
One major challenge was achieving reliable color detection under different lighting conditions. I solved this by implementing adaptive color calibration and using HSV color space instead of RGB, which proved more robust to lighting variations.
Another challenge was precise cube manipulation without slippage. I designed custom gripper mechanisms with textured surfaces and optimized the servo motor speeds to ensure smooth, accurate rotations without disturbing the cube's position.
Skills Demonstrated
- CAD design and 3D printing for functional mechanical parts
- Computer vision and image processing with OpenCV
- Algorithm implementation and optimization
- Microcontroller programming and motor control
- Hardware integration and circuit design
- Systems engineering and troubleshooting
- Iterative design and prototyping
Results & Impact
Successfully built a fully functional Rubik's Cube solving robot that demonstrates proficiency in mechanical design, computer vision, robotics, and software development. The project showcases the ability to integrate multiple engineering disciplines into a cohesive working system.