RobotRubi

Time

WiSe2024

Type

Bachelor Project-Work

Tech

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.