ARS - Arduino Rubik Solver

by supermarioprof in Circuits > Robots

35850 Views, 153 Favorites, 0 Comments

ARS - Arduino Rubik Solver

OPS_27_aprile_2018_gara_makers_secondaria_di_secondo_grado_28.JPG
ARS - Arduino Rubik Solver - emotional video

ARS is a complete system to solve Rubik's cube: yes, another robot to solve the cube!

ARS is a three years long school project made with 3D printed parts and laser cut structures: an Arduino receives the correct sequence generated by an home made software, ARS Studio, through USB port, then moves forward and backward six stepper motors till the end.

ARS is based on great mr. Kociemba algorithm: as told on his website, Herbert Kociemba is a German cuber from Darmstadt, Germany who invented this algorithm in 1992 in order to find near optimal solutions to 3x3 cube, improving on the Thistlethwaite Algorithm.

In this Instructable instructions will be explained about building robot structure, and using the open source software developed to generate the proper sequence needed to solve the cube using Kociemba's algorithm.

More infos on Kociemba and his work:

Following steps will deal on mechanical structure and software use.

Supplies

You will need:

ARS - Arduino Rubik Solver: Resources

446732441_325740.jpg

Materials, drawings and software are here:

Assembling the Structure: Overall View

ars.JPG

ARS robot is made of some parts and components, assembled together in order make it possible to slide forwardand backward two carriages with four stepper motors.

Assembling the Structure: Arduino and Stepper Drivers Box

arduino and breadboard box.gif

First part is the simplest: an Arduino box where you will position Arduino UNO, the breadboard and A4988 Pololu drivers

Assembling the Structure: Upper Motor Box

higher stepper support .JPG
motor box.gif

Upper motor box contain the carriage slider motor. Carriage is moved with a GT2 timing belt.

Each carriage and his connected motor is independent from other motors.

Assembling the Structure: Lower Motor Box

pin and motor box.JPG
pin box.gif

Lower motor box contain the lower carriage slider motor. Also this carriage is moved with a GT2 timing belt.
Two level sliding carriages permit a simpler structure than others seen in Maker Faires.

Assembling the Structure: Upper and Lower Carriages Supports

normal motor support.gif
upper motor support.gif

Upper and lower carriages supports bring the motors connected to claws moving forward and backward the cube.

These support are similar, differencing only on overall height in order to have two slider levels.

Assembling the Structure: Roof Tower

ARS_Extreme HD 2.0.JPG
IMG_20171028_090913.jpg

A roof tower has been added to be able to mount a simple webcam for future improvements.

ARS Studio Software: Generating the Sequence

ARS Studio.png

ARS Studio is an Open Souce Software able generate the correct sequence to solve your Rubik Cube with Kociemba's algorithm in less than 25 moves (better, in God's number max moves!).

https://github.com/Mihai-Canea/Ars-Project

An english version is on the go!

ARS Studio Software: Cube Setting Up

68747470733a2f2f61727370726f6a6563742e616c74657276697374612e6f72672f77702d636f6e74656e742f75706c6f6164732f323031382f31312f706f737369626c65436f6c6f72732e706e67.png
68747470733a2f2f61727370726f6a6563742e616c74657276697374612e6f72672f77702d636f6e74656e742f75706c6f6164732f323031382f31312f417273477269642d333230783234342e706e67.png
68747470733a2f2f61727370726f6a6563742e616c74657276697374612e6f72672f77702d636f6e74656e742f75706c6f6164732f323031382f31312f417273536f6c76652e706e67.png

Clone the repository, the go to: ARS Studio\ARS Studio\bin\Debug and launch Ars Studio.exe

Cube need to be filled by colors, as they appear in reality: an automated version is under construction, it will be totally autonomous. By now you have to describe the cube to the software.

So follow these 3 steps:

  1. choose one color from the palett
  2. fill the cube
  3. click on "Risolvi" (italian for "Solve")

Your sequence is ready!

ARS Studio Software: Start Solving

ARS Arduino Rubik Solver - closer view

Now click on "Stringi pinze" (italian for "Close claws"), then "INVIA" ( = "GO").

The sequence will be sent to Arduino which will move steppers according to sequence.

ARS: Arduino Sketch

Schermata del 2019-05-28 02-10-42.png

Arduino sketch is as long as simple.

Arduino receive the sequence from USB computer port and read it from the serial monitor.
The steppers require 12v to works, it need a power supply. It requires two magnetic sensor to works well. They are under the motor supports, one for each disections. When connecting the stepper motors to A4988 drivers and Arduino UNO pins pay attention to direction.

Sequence commands are:

a = stepper 1 rotate for 90°

b = stepper 1 rotate for -90°

c = stepper 2 rotate for 90°

d = stepper 2 rotate for -90°

e = stepper 3 rotate for 90°

f = stepper 3 rotate for -90°

g = stepper 4 rotate for 90°

h = stepper 4 rotate for -90°

i = stepper 5 open steppers 1 and 3

j = stepper 5 close steppers 1 and 3

k = stepper 6 open steppers 2 and 4

l = stepper 6 close steppers 2 and 4

m = steppers 1 and 3 rotate to 90° together in the same way

n = steppers 1 and 3 rotate to -90° together in the same way

o = steppers 2 and 4 rotate to 90° together in the same way

p = steppers 2 and 4 rotate to -90° together in the same way


ARS: Prizes!

439637518_21821856.jpg
IMG_20171203_140708.jpg
IMG_20171204_093553.jpg
IMG_20180427_171527.jpg

ARS Arduino Rubik Solver won 1st prize in italian Olympics Problem Solving Games in 2018.

ARS Arduino Rubik Solver won a Maker of Merit at Maker Faire Rome in 2017.

Many thanks to my students Paolo Grosso and Alberto Vignolo who tenaciously this project, to Mihai Canea and Giorgio Spinoni who improved software, to Josef Costamagna who started an incoming web version, to Alberto Bertola and Edgard Kazimirowicz who perfected mechanics.

ARS Arduino Rubik Solver: Next Steps

ARS Arduino Rubik Solver remote control version - alpha

Next step: controlling ARS from wherever in the world, so that everyone can play with it.

We need to improve colors recognition while web server is on the go, as you can see in the video.

Stay tuned!