Rubik's cube Robot solver

Reserved for additional information, photos and videos

Parts list (PC/webcam version)

Frame:

  • Plywood 10mm

Grippers:

Drawing
Assembly video

EDIT (feb 2018)
The grippers 3D printed version has been released on Thingiverse

This is the Fusion 360 final assembly, including the wrist servo:


exploded view video

the embedded horns are designed for Futaba 25 teeth spline geometry (Futaba/TowerPro/Orion/Savox/ProTekAce/Bluebird...)
I will release the two specific parts for Hitech servo's family (24T) if required
Discussion starts at post #428

Cube:
I use a Dayan GuHong (57 mm), the DaYan ZhanChi is also very good
Do not use the not so smooth genuine Rubik's Cube(tm)
The reference site in China for cubes: http://lightake.com/c/DaYan_001001005

Other parts:

Power supply: 6V, 2000mA
I use two 18650 LiFePO4 batteries for powering both Servo's and Arduino

Software:
Arduino: CubeMover V1.3 NEW VarSpeedServo Library
Python (PC): RubikKasBot V1.3
Solving (PC): Cube Explorer

Testing:
Make sure you test your hardware according to post #6 and post #13

Android version (Autonomous design w/o PC)

Robotic hardware is unchanged, webcam is replaced by an Android smarphone

This version works this way:

Smartphone - take a picture from face #1 and perform color recognition for the 9 facelets
Smartphone - send a Bluetooth command to Arduino to rotate cube to next face
Arduino - rotate Cube to next face
Smartphone - same for all 6 faces
Smartphone - build and send via WiFi a query to a dedicated Rubik's solving server (Montréal, Canada)
Smartphone - receive solution from server (Singmaster notation)
Smartphone - send Bluetooth command to Arduino (Singmaster notation format)
Arduino - move Cube according to command and put the cube in the right order

Typical query to server:
http://nova.polymtl.ca/~simark/solverB/query.php?b=WGGOOOGGG&l=OOGBBYOOY&f=YBBBRRBRR&r=ORBBGGBRR&u=YYRYYGRWW&d=OYYWWWWWW

Corresponding answer from server: OK F U F D'
Clic the query and see for yourself :wink:
EDIT: this server is now offline, see below

Aditional hardware:
HC-05 or HC-06 Bluetooth board for smartphone/Arduino communication (3$ shipped on eBay)

or a very convenient Arduino/HC-05 combo

Software:
Arduino: CubeMover V1.3 NEW VarSpeedServo Library
Smartphone: Rubik's App is available on request (free)

You should understand smartphone connection with HC-05 / HC-06 Bluetooth board
The best approach is to have Joystick BT Commander up and running (same protocol)

EDIT July 28th, 2018
End of technical support

I have been supporting this project for nearly four years, this was an exciting experience
I have since moved to other projects and it's now time for me to retire

All possible questions have been answered in this thread, just read it :wink:
The Android App is here
Feel free to use this thread on a peer to peer basis to share your experience
Please no more PM's

Thanks again for your interest and good luck for your projects

EDIT March 3rd, 2021
** Notice for the android version only **

The nova server from Polytechnique Montreal is offline since last november, please look here for more info

Don't dump your beloved robot yet :wink: , just build a local server on your personal computer

The easy way:
Download Cube Explorer 5.14 from Kociemba, uncompress
Cube Explorer is a stand alone application (no install), in its own folder
Open folder, delete cube514qtm.exe (not used), launch cube514htm.exe
At first run only, the program will create some additional files within its folder
Go to Option/Web Server and check 'Enable Web Server'
You'r all set

Now open your favorite Web browser and copy/paste this URL:
http://localhost:8081/?uufuurfddbfllrrlffulllfflffbuuddddddbbrllubbudrrbbbrrr
Response: F U F D' as expected

You may just clic the above query and see for yourself :wink:

For seasoned users:
Install your own Raspberry Py server using Kociemba Python code

Now... the current android App (V1.23) has a burnt in query header (http://nova.polymtl.ca/~simark/solverB/query.php?)
I just modified the App and added an option for entering a specific server URL
To get V2.0 (free), just leave me a PM including your email address