Go Down

### Topic: Surrealistic Rubik's Cube robot [Auto-solver] (Read 11395 times)previous topic - next topic

#### Palliser

##### Sep 25, 2013, 04:51 pmLast Edit: Sep 27, 2013, 04:34 am by Palliser Reason: 1
Reading the title of an upcoming article in the August 2013 Circuit Cellar Magazine (Build a Rubik's Cube-Solving Robot, by Nelson Epp), it reminded me an idea that has been whirling in my mind for some time: A Rubik's cube robot that solves itself. Imagine for a moment a disordered 3x3x3 Rubik's cube that you just place on a surface and after a couple of seconds starts to bounce and flip, rotating its six faces and few seconds later stops with all of them now one-colored. What should be required to build this imagined 'surrealistic' Rubik's cube? I haven't read yet Mr. Epp's article but let's make an exercise imagining what parts should be required. Here my quick-start list:

1- Arduino micro
6- Full rotation servos
6- 3-axis-Gyroscopes (or Accelerometers)
1- Battery
1- Rubik cube.
Plus the Rubik's algorithms (the robot should knows in advance the unscrambled color positions).
What else?

Notice that my idea do raise other questions like what size or how fast will the robot solves itself?
(Current record: 5.27 secs CubeStormer II). Regards!

#### robtillaart

#1
##### Sep 25, 2013, 09:01 pm
270 degree servo's should do as RRR == -R  but maybe that "interferes" with the algorithms.

full rotation allows human interaction too

instead of a jumping cube it could stand on one corner (diagonally) on some standard that holds the batteries and the Arduino. That gives more room for the servo's.

And I want definitely LED lights in, and when it is solved it must play the tune of "close encounters" ta da da ta daaaaaaaa...

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

#### John_Smith

#2
##### Sep 25, 2013, 09:46 pm
I shall follow this thread, I am way too busy to get my head around even the mechanism to rotate the shapes

( normally we grasp the outer rings to turn the various groups of segments.... hmmm  ) .

Good luck guys !
45 years of editing projects with a knife and soldering iron, then I found Arduino !

#### Jantje

#3
##### Sep 25, 2013, 10:31 pm
If you want then human rotatable (after all who is going to scramble it?) I would go for steppers.
To know the colours you can use a cam or some kind of markers inside the cube.
Best regards
Jantje
Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

#### John_Smith

#4
##### Sep 25, 2013, 10:51 pm
Of course you could have SMD RGB LEDs in each face and do it all software,  but perhaps nobody watching will believe it if they cant see it turning ?
45 years of editing projects with a knife and soldering iron, then I found Arduino !

#### Palliser

#5
##### Sep 26, 2013, 04:21 pm
robtillaart, I really like your idea of holding diagonally the cube but I'm still thinking in the robot as a stand-alone cube that besides its ability to solve itself, also a human can grab it and scramble it anytime (or even can be used to give the impression that you are solving it!).

Jantje, you idea of using steppers is very good and it will get rid of the gyros but not sure yet.

Boffin1, the RGB LEDs could be an add-in to watch the robot in action in the dark but I see the wiring quite a challenge.

Anyway, here my back of the napkin sketch of the 6 servos. Regards!

#### cr0sh

#6
##### Sep 27, 2013, 12:56 am

Anyway, here my back of the napkin sketch of the 6 servos. Regards!

Nice sketch - but I think servos are going to limit you due to the shaft offset from the body.

I'd go for something with a centralized shaft (which you'd have to come up with your own feedback system to know position, etc) - something like those small micro-gearmotors might be ideal:

http://www.robotshop.com/productinfo.aspx?pc=RB-Pol-77&lang=en-US

Or - alternatively (but probably hella expensive) would be these "smart" servos:

http://www.robotshop.com/productinfo.aspx?pc=RB-Rbs-120&lang=en-US

...although, looking at their size, they aren't small - your "cube" would be fairly large...
I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

#### Palliser

#7
##### Sep 27, 2013, 01:13 am

Anyway, here my back of the napkin sketch of the 6 servos. Regards!

Nice sketch - but I think servos are going to limit you due to the shaft offset from the body.

Hello cr0sh,
Thanks for your comments. Regarding the shaft offset, I just have come up with a solution (see picture below) but you are right about the size; this new arrangement increased the size of the cube up to 8.02 x 8.02 inches, but remember, this is a prototype. I will be checking your links. Thanks!

#### Palliser

#8
##### Sep 27, 2013, 04:37 am
This is pretty much what I am pursuing for (after 0:10).

#9
##### Sep 27, 2013, 10:32 am
I think this is a fantastic idea.
How are you going to get the power and control to the motors though?

#### Palliser

#10
##### Sep 27, 2013, 01:34 pm

I think this is a fantastic idea.
How are you going to get the power and control to the motors though?

I don't know yet. I am waiting for the barman with my drink and another pile of napkins. But let's revise some facts here while sitting in the bar. The faster the code solves the cube, the batteries consume less current. I am not a Rubik's cube solver expert but I've read about 52 steps algorithms or so in the web, which means that each servo should rotate about 10 times per effective solving. Then it's about to write some calculations (that's why the napkins) and estimate the capacity of the batteries and finally check if the characterized battery exists. In reference to the code (I am planning to use a Fio given that I can program it been from inside the cube). I don't have the answer yet either but as I said, it should be a very good code (I've also seen 5 minutes cube solver out there!). Let's see how it goes. Regards!

#11
##### Sep 27, 2013, 05:28 pm
A Rubik's cube 'appears' to be made of 3x3x3 smaller cubes.
However there is no central cube so that reduces to 26.

Of these cubes there are;

 8 corner cubes 3 faces visible each 24 faces total 12 centre of edge cubes 2 faces visible each 24 faces total 6 central cubes 1 face visible each 6 faces total 26 cubes total 54 faces total

That sounds a lot but of course the cubes are not really free to move at random.
Maybe it would be possible to brute force the cube and calculate in advance the shortest path from any starting point?

#### John_Smith

#12
##### Sep 27, 2013, 06:25 pm

this shows an external slice turning method, hard to imagine tiny servos turning all the outer slices ..
45 years of editing projects with a knife and soldering iron, then I found Arduino !

#### Palliser

#13
##### Sep 27, 2013, 07:06 pm

A Rubik's cube 'appears' to be made of 3x3x3 smaller cubes.
However there is no central cube so that reduces to 26.

Of these cubes there are;

 8 corner cubes 3 faces visible each 24 faces total 12 centre of edge cubes 2 faces visible each 24 faces total 6 central cubes 1 face visible each 6 faces total 26 cubes total 54 faces total

That sounds a lot but of course the cubes are not really free to move at random.
Maybe it would be possible to brute force the cube and calculate in advance the shortest path from any starting point?

That's also an interesting video Boffin1. I believe, nowadays, the solving a 'dumb cube' from the outside (robots, grips, etc.) gives us enough ideas to start thinking a way to do it from the inside.

My initial thought about solving the cube (as a simple exercise to test the hardware) was to reverse the solving process. I mean, the cube always memorizes the steps from the initial solved position to the final scrambled position (whatever). Then, the cube only needs to 'undo' the steps to go to the original solved position...which reminds me a chapter of the book "Iconostasis" by Pavel Florensky (Russia's unknown da Vinci) where he explains that all that we dream in a dream, and that seems to last a long time, is the result of what happens to us just before waking up. A reversed chain of events that lasts for few microseconds. Regards!

#14
##### Sep 28, 2013, 08:10 pm
Like I said I think this is an excellent idea, but there are enormous practical problems.
Boffin1 is right bout the servos, a fair bit of force is required to move the faces.

Can anybody say how many states a rubik's cube actually has?
In other words how many unique combinations can one be scrambled into.

Also don't you wish you had a real talent and skill like this;