Notifications
Clear all

Rubik's Cube

54 Posts
7 Users
0 Likes
28.4 K Views
Squeaky
(@squeaky)
Member
Joined: 5 years ago
Posts: 40
Topic starter  

Hi,

I am a new member not very experienced but very keen to learn.

I wonder does any member have any experience with solving machines for the Rubik's Cube?


   
Quote
VE1DX
(@ve1dx)
Member
Joined: 5 years ago
Posts: 143
 

Welcome to the group, Squeaky.  Personally, I have on experience designing anything that would solve a Rubick's cube, but there are many experts here. No doubt someone has expertise in that area.  Enjoy the forums! 


   
ReplyQuote
Robo Pi
(@robo-pi)
Robotics Engineer
Joined: 5 years ago
Posts: 1669
 
Posted by: @squeaky

I wonder does any member have any experience with solving machines for the Rubik's Cube?

I don't have any experience with this, but there are many algorithms for solving the Rubik's Cube.  All you would need to do is place one of those algorithms into code and you will have a machine that can solve the Rubik's Cube.

I just did a quick search on YouTube and instantly found the following video:

This give you an algorithm that will solve the Rubik's Cube.  Just code that algorithm into a program.  Of course if you want the program to physically manipulate an actual Rubik's Cube you will also need to include all the necessary code for driving the actuators or robotics that you will be using to manipulate the physical cube.

Also, the algorithm in this video allows that the cube can potentially be solved before it gets to the end of the algorithm.  Because of this you will also need to employ a way for your program to detect the actual physical state of the Rubik's Cube to be able to determine if it has been solved before the algorithm ends.    Otherwise it may pass through a solved state and start to scramble the cube again.

So, in short, the problem has already been solved for you.  All you need to do at this point is create a program that can physically manipulate the cube (if that's what you want it to do), and provide a way for the program to detect a solved state should it happen to solve the cube before it reaches the end of the algorithm.

Sounds like a fun project! 

If you're going to create a machine that physically solves the cube your greatest challenge will most likely be with the mechanics of how to physically manipulate the cube.  If that's your plan, have you given any thought to what kind of physical actuators or devices you plan on using?

If  you build this project I'm sure everyone here would be very interested in following your progress so please share what you are doing.  I'm sure folks here will also be willing to offer ideas on how to build something to physically manipulate the cube.

Best wishes on this project and welcome to the forums Joseph.

By the way, I noticed in your intro thread that you are into woodworking.  I too have a woodshop.   If you build a large enough Rubik's Cube from wood it may be possible to incorporate some type of internal stepper motors to make it automatically solve itself.  I don't know if that's actually possible, but that thought came into my mind.   It might also be able to sense from inside the cube when it's in a solved state.

Have you already built any Rubik's Cubes from wood?  If you have I'm sure you have a far better understanding of the internal mechanics than I do.

DroneBot Workshop Robotics Engineer
James


   
ReplyQuote
Squeaky
(@squeaky)
Member
Joined: 5 years ago
Posts: 40
Topic starter  

Hi James,

Just one word….. Impressed!

After reading your reply I now feel that I have rather overcomplicated the problem.

I have pretty well finished the machine that will hold the cube and turn the various faces …. a combination of 4 servos to hold/ release a face and 4 stepper motors to turn them.

I was now looking into how to photograph each unscrambled face … then feed this data into a solving algorithm.... It would now appear that this is redundant.

One slight niggle springs to mind.... The algorithm to hold/release/turn the faces of the cube will be put through its routine by an Arduino sketch... but, as the video (included in your reply) very well demonstrates, the second run through (on the video) solved the puzzle in  around 14 steps …. How will the sketch know when to stop?

I love these sort of problems.

Most of my wooden models are large geometric shapes Dodecahedrons,  Octahedrons etc. etc..... Your suggestion of a  Rubik's cube that solves itself whilst rolling around the lounge floor.... mind blowing! 

I really appreciate your valued help.

Joseph


   
ReplyQuote
robotBuilder
(@robotbuilder)
Member
Joined: 5 years ago
Posts: 2042
 

What you can find with a bit of a google 🙂

robot solving

self solving

https://www.theverge.com/tldr/2018/9/25/17900842/rubiks-cube-robot-human-controller-self-solving

 


   
ReplyQuote
stven
(@stven)
Member
Joined: 5 years ago
Posts: 49
 

This forum has a good roundup of ideas.

https://forum.arduino.cc/index.php?topic=271827.0

A number of more recent projects include a process to first scan all the faces and then use a program to calculate the solution, and finally execute it. Less glamorous designs have you manually enter the starting state of the faces and the the program will proceed to solve.

I played with an Arduino-based cube solving project a bit, but dropped it at some point. The physics are quite challenging. I like solving various types of ‘cubes’ as a form of relaxation, so the machine isn’t much fun for me as actually working on solutions IRL. I’m especially fond of the 5x5x5 Professor cube and something called the Pyramorphix.

 

 


   
ReplyQuote
Squeaky
(@squeaky)
Member
Joined: 5 years ago
Posts: 40
Topic starter  

Thanks Casey and Steven...

I do value your comments 

As a very new member of this forum I am really appreciative  of all  your input.

Joseph

 

 


   
ReplyQuote
Robo Pi
(@robo-pi)
Robotics Engineer
Joined: 5 years ago
Posts: 1669
 
Posted by: @squeaky

One slight niggle springs to mind.... The algorithm to hold/release/turn the faces of the cube will be put through its routine by an Arduino sketch... but, as the video (included in your reply) very well demonstrates, the second run through (on the video) solved the puzzle in  around 14 steps …. How will the sketch know when to stop?

I love these sort of problems.

You'd need to have some way to sense when the cube is solved.  That would probably be a fairly complex problem to solve.  You would need to have the program "look" at a face and determine whether all the squares are the same color.   And to be certain that the whole problem is solved you'd need to look at more than one face.

Posted by: @squeaky

Most of my wooden models are large geometric shapes Dodecahedrons,  Octahedrons etc. etc..... Your suggestion of a  Rubik's cube that solves itself whilst rolling around the lounge floor.... mind blowing! 

I would think that this is certainly doable.   The trick is to either make the Rubik's Cube large enough to contain the stepper motors you need to drive it, or find extremely small stepper motors that are powerful enough to turn the faces.

If it were me I would opt for a huge Rubik's Cube and just go with standard size stepper motors, etc.   At least for a first prototype.  You can always work on making it smaller one after that if you want.  

If  you make one that solves itself from inside you should be able to figure out a way for the cube to know when it's been solved.   Make some kind of circuit that only make a complete connection when all the faces are in the correct position.   Then that circuit will produce a logical 1 when solved.  Just have the Arduino stop when it sees that logical 1.

 

 

DroneBot Workshop Robotics Engineer
James


   
ReplyQuote
stven
(@stven)
Member
Joined: 5 years ago
Posts: 49
 

You can also probably learn a lot by studying this one. I see it includes a camera to scan the faces.

 


   
ReplyQuote
stven
(@stven)
Member
Joined: 5 years ago
Posts: 49
 

Incidentally, most machines solve the cube before they make the first move, so they know in advance the exact number of moves required. It is similar to people who can look at a scrambled cube, figure out the complete solution, and then execute it blindfolded without any mistakes. There are world records for blindfolded solves. Like this one:

 


   
ReplyQuote
Squeaky
(@squeaky)
Member
Joined: 5 years ago
Posts: 40
Topic starter  

Hi Stven,

Interesting...  Before reading James's post the method I was contemplating included the camera...

(If I really knew how to do it I could include a photograph  of my machine in its present form).

I am a very new member of this forum and still finding my feet.

I was on the point of buying  a Pixy2 …. but now I ask myself do really need to include this step... all the camera will do is give me a "designed" algorithm which I can then feed into some sort of  Arduino sketch. Or do I just use the algorithm which James pointed me towards. 

Food for a lot of thought!

Joseph 


   
ReplyQuote
Squeaky
(@squeaky)
Member
Joined: 5 years ago
Posts: 40
Topic starter  

Hi All … trial photograph

image

 

One of my models...

Joseph 


   
ReplyQuote
Squeaky
(@squeaky)
Member
Joined: 5 years ago
Posts: 40
Topic starter  
image

 

This, hopefully should illustrate the "Solver" in its present state

Joseph


   
ReplyQuote
Squeaky
(@squeaky)
Member
Joined: 5 years ago
Posts: 40
Topic starter  
image

Another Model... one of my favourites 


   
ReplyQuote
stven
(@stven)
Member
Joined: 5 years ago
Posts: 49
 

@squeaky

Well that’s an interesting challenge - algorithm versus looking up the answer using Cube Explorer ( http://kociemba.org/download.htm ). While the algorithm probably will take more moves, the satisfaction of doing the ‘programming’ yourself would be a consideration.

to detect completion without using a camera... that’s definitely not easy to do. I would say a Pixy2 is overkill, just need a basic raspberry pi camera for this. You can get a 5mp camera for under ten bucks.

I like the geometric models. That is quality woodworking. Are you familiar with George Hart ( http://georgehart.com/sculpture/roads-untaken.html)?

stven

 


   
ReplyQuote
Page 1 / 4