RobotRubi
Time
WiSe2024Type
Bachelor Project-WorkTech
C/C++
CAD Inventor
3D Printing (FDM)
PlatformIO
STM32
Keys
Korf Algorithm
Thistlethwaite Algorithm
Robot-Rubi
Robot-Rubi is a fully self-developed Rubik's Cube solving robot designed to explore the mechanical, electronic, and algorithmic challenges of automating the solution of a Rubik's Cube. Inspired by world-record-breaking robots, this project integrates hardware design, firmware programming, desktop application development, and advanced search algorithms.
Features
-
Hardware: Custom-designed 3D-printed robot with 6 stepper motors to manipulate the cube. A mechanical loading mechanism allows easy cube insertion and removal.
-
Electronics: Custom PCB with STM32 microcontroller, DRV8825 motor drivers, and USB/serial interfaces. Integrated LED lighting for accurate cube color recognition.
-
Software (μC): A lightweight state-machine firmware to handle LED control and motion sequences received over USB.
-
Desktop Application: Electron-based app with real-time 3D visualization of the cube, webcam integration for state recognition, and user control interface.
-
Cube State Recognition: Dual webcam system with LED illumination to capture the cube’s state. Color classification with calibration-based RGB distance matching.
-
Solving Algorithms:
- IDA* (Iterative Deepening A*): Finds optimal solutions using pattern databases (758MB total), but with high runtimes for deep solutions.
- Thistlethwaite’s Algorithm: Fast, phase-based method solving the cube in ≤52 moves.
Project Motivation
The project was inspired by record-breaking Rubik’s Cube solving robots and the desire to understand and build such a system from the ground up — combining algorithmic optimization, hardware control, and user interface design.