Product  

High cost-effective products and services to meet customer needs

Product

Open source Rubik's Cube Robot for Teaching and Research
Open source Rubik's Cube Robot for Teaching and Research
Open source Rubik's Cube Robot for Teaching and Research
Open source Rubik's Cube Robot for Teaching and Research
Open source Rubik's Cube Robot for Teaching and Research
Open source Rubik's Cube Robot for Teaching and Research
Open source Rubik's Cube Robot for Teaching and Research

Scan your phone once

Summary Features:

Dual arm dual finger Rubik's Cube robot controlled by 4 closed-loop stepper motors

1. Supporting torque control, clamping pressure can be controlled to prevent the cube from slipping

2. High performance, 6-7 second restoration of Rubik's Cube

3. Visual module based on ESP32S3, no need for computer

4. Rubik's Cube Robot with Complete Open Source Materials and Video Tutorial

5. Can be used for teaching and research in microcontroller design and development, PCB board design, software source code design, and mechanical structure design


Product Details
Product Introduction

video

Dual arm dual finger Rubik's Cube robot controlled by 4 closed-loop stepper motors

1. Support torque control, can control clamping pressure to prevent the cube from slipping

2. High performance, 6-7 second restoration of Rubik's Cube

3. Visual module based on ESP32S3, no need for computer

4. The mechanical structure is designed using standard parts, CNC machined components, and 3D printed parts. The rotating arm has minimal shaking, fast restoration speed, high reliability, high strength, and will not be damaged by abnormal collisions

5. Closed loop control, based on open-source closed-loop stepper motor control board

6. Provide complete open-source materials, including schematics PCB、 Structural drawings, software code, debugging guide, video tutorials

Software version ESP32 and computer version

1. The computer version is written in Python and used with a USB camera and USB to 485 module. It is mainly used for algorithm verification and can also be used directly.

2. The ESP32 version is written in C and developed based on the ESP32S3 microcontroller. It can be used independently without relying on other devices and provides hardware schematics, PCBs, and software source code.

3. The software code is fully open source


Technical Parameter

Function Description of Each Module

1. Color detection module (color_detect. c)

Function: Identify the colors of 54 blocks of Rubik's Cube from camera images

Operating mechanism:

Divide 18 color block regions based on perspective transformation

Extract the main color tone of each region using a two-dimensional histogram (HSV space)

Implement RGB565 ↔ HSV Conversion Algorithm

Classify 54 color blocks into 6 faces using clustering algorithm

Provide color difference calculation and color similarity judgment functions

2. Main control module (main. c)

Function: System control, coordinating the work of various modules

Operating mechanism:

Initialize WiFi hotspot and HTTP server (ports 80/81)

Manage camera capture tasks and image processing workflow

Implement state machine control (10 state processing Rubik's Cube restoration processes)

Provide a web interface:

Real time video streaming (MJPEG)

Parameter configuration (brightness, coordinate points, etc.)

O Motion control and status monitoring

O Handling SPIFFS file system operations (configuration file read and write)

Coordinate color recognition and motion control module

3. Motion control module (motion. c)

Function: Accurately control 4 stepper motors to complete Rubik's Cube operations

Operating mechanism:

RS485 communication protocol implementation (1Mbps)

O Trapezoidal velocity curve motion control

Multi axis linkage algorithm (coordinated arm rotation and finger movement)

Automatic zeroing and position correction

O Action sequence parsing and execution (such as instructions like "R1 L * F")

O Blockage detection and timeout protection

Current adaptive control (increasing current during clamping)

4. Solver core module (solve. c)

Function: Implement two-stage algorithm for solving Rubik's Cube (Kociemba algorithm)

Operating mechanism:

State representation transition:

Convert 54 color representations to edge/corner block coordinate representations (UtelToCubieCube)

O Verify the legality of the cube state (CubieCubeVerify)

Two stage search:

Phase 1: Quickly reduce a group to a subgroup

Calculate flip/twist/UDSlice coordinates

O Use pruning table to accelerate search (CoordCubeSetWithPrun)

Phase 2: Complete the solution within the subgroup

O Handle the symmetry of corner/edge block arrangement (CubieCubeGetPermSymInv)

Multi directional parallel search (6 URF symmetry directions)

Optimization of solution:

O Action sequence compression (SolutionAppendSolMove)

O Support format control for solution methods (reverse output/adding separators, etc.)

5. Action optimization module (optimizer. c)

Function: Convert the Rubik's Cube solution into a sequence of robotic arm actions

Operating mechanism:

State machine modeling:

Define 96 robotic arm states (24 cube orientations x 4 arm states)

Use a 96 × 96 state transition table (fliputable)

Dynamic path planning:

DP table stores the optimal path (DPState structure)

The cost of state transition is based on measured time (TimeCost enumeration)

O Action sequence generation:

The flip sequence pool contains 83 precomputed actions (flipusequences)

O Rotate operation to handle arm coordinated motion (calculate_twist_time_dand_state)

O Automatic calibration of final position (adjust_final_position)

6. Scramble the generation module (shuffle. c)

Function: Generate random scrambled states and verify solutions

Operating mechanism:

Status representation:

3D representation of edge/corner blocks (cube_struct)

Mapping table between 54 faces and edge/corner blocks (edge_to-face, corner_to-face)

Random shuffling:

Generate 50-69 random operations using hardware RNG (esp_random)

O Action sequence execution (cube_routestr)

Solution validation:

Reverse solution generation

O State consistency check (verify)

7. Web front-end (index. html)

Function: The Rubik's Cube robot debugging webpage provides 4 core functions

Operating mechanism:

1. Equipment control: Motor enable/disable, robotic arm return to zero, Rubik's cube clamping/releasing and other operations can be achieved through buttons, supporting custom action sequence testing (such as "R+T" indicating that the right motor is rotating forward)

2. Visual calibration:

Real time display of camera images

Provide 6 drag and drop markers for calibrating the recognition area of the Rubik's Cube

O Support coordinate saving (click the "Save Coordinates" button)

3. Color recognition:

Dynamically display the color recognition results of 54 Rubik's Cube blocks

Present in 3D unfolded image format (9 × 12 grid layout)

Each color block displays the number and identification color (e.g. "0: W" represents white block 0)

4. Status monitoring:

Real time display of system connection status

Feedback motor angle data

O Brightness adjustment of fill light (0-100 slider)

All functions communicate in real-time with ESP32 devices through WebSocket

The interface adopts responsive design, suitable for PC and mobile device operation

8. Online management of configuration files (config. html)

Function: Online management of device configuration files

Operating mechanism:

0. File management:

O Supports 4 types of configuration file operations: motion.cfg (action parameters), main.cfg (main configuration), testcase.txt (test cases), and index.html (main interface)

1. Core operations:

Open: Load the selected configuration file from the device

Save: Write the edited content to the device memory

Download: Download the configuration file to the local computer

All operations interact with ESP32 devices through HTTP interfaces (/cfg/get,/cfg/save,/cfg/download)

Implement remote management of configuration files, allowing for modification of key parameters without the need for physical device access

The interface is simple and efficient, designed specifically for development and debugging

Thank you: Professor Xu and Professor Hemn from Qingdao University of Science and Technology


Previous:First

Next :Last

Related Information

    Do you need any help?

    +86 15064862651
    +86 15064862651
    South Industrial Park, Xichenghui Community, Chengyang District, Qingdao City, Shandong Province, China
    horidel@outlook.com
    Scan to add customer service

    Follow Us

    Copyright © 2025 Horidel.com Horidel Technology  Company All Rights Reserved

    ×Customer service QR code

    Screenshot, recognize QR code

    Email:horidel@outlook.com

    Send Mail

    The email has been copied, please send an email to inquire!

    Customer service QR code

    Consulting

    +86 15064862651

    horidel@outlook.com