Surrealistic Rubik's Cube robot [Auto-solver]

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!

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...

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 !

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

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 ?

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!

Palliser:
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...

cr0sh:

Palliser:
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!

This is pretty much what I am pursuing for (after 0:10).

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

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

Hello radman,
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!

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?

this shows an external slice turning method, hard to imagine tiny servos turning all the outer slices ..

radman:
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?

Those are interesting facts about the Rubik's cube, radman.

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!

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;

Hey radman,
Thank you for your interest in the inception of this auto-solver Rubik's cube.
I just ordered a couple of continuous rotation servos (Parallax Futaba S148). I plan for this next week to run some torque and autonomy tests on them. According to their specs, torque=38 oz-in@6V and power consumption= 15-200 mA. What I need to know is the minimum torque required to rotate one face of a standard 3x3x3 cube (Of course, without collision with other faces) and multiply that value by 4. If the servos pass the tests, then I will proceed to purchase the other 4, and subsequently, start to find a way to get access to a 3D-printer with the lightest thermoplastic filament. Here a link of a 3D-model of the cube. radman, I believe we can make it. Regards!
http://wikis.swarthmore.edu/ENGR005_2008/index.php/Rubik's_Cube

P.S. Someone has a quarter for the bar's jukebox?

hey radman, the video clip with the guy juggling cubes reminds me of the ones played backwards to solve a Rubiks Cube ?

Of course I am just so jealous of anyone that can solve the damn thing anyway !

When I mentioned RGB LEDs on each face, I was contemplating a solid cube with no moving parts, and the LED colours doing the apparent turning of the slices.

But it wouldnt be half as impressive though !

@Boffin1,

Great idea!! It would use far less energy.
By tapping one of the middle squares that side would rotate 90° CW, and optional double tap 90°CCW
only need 6 small switched under the fixed colour squares.
If the cube is not moved for a 60 seconds the leds dim and the Arduino would go into sleep mode.

That would be neat, and tap it 3 times and it will auto solve itself if you get stuck

This seems like a very tough nut to crack but you could do it - good luck and be sure to post the outcome.

I am still interested to know how many states a Rubik's cube has can anybody do the maths?

Boffin1 I had not though of the playing videos backwards - very devious.
With the cube I resort to peeling of the colors and sticking them back on.