Solving a Rubick’s Cube with LEGO and popsicle sticks

solver

We’ve seen automated Rubick’s Cube solvers before, but never one that has garnered as many awards as [James]’ popsicle stick and LEGO Rubick’s Cube solver.\

To keep the project complexity down, [James] opted not to use a webcam to detect the color pattern on each face of the cube. Instead, he wrote a little Python app to manually enter the pattern on each face before letting his algorithm loose on the cube and calculating how to solve it.

So far, [James] has seen a huge amount of success from his project. He entered it in the New Zealand Brightsparks¬†competition netting him $1000. This competition led to a win in the Realize the Dream science competition¬†where he won a major prize and an entry into the International Taiwan Science Fair held early next year. An awesome accomplishment from a budding hacker, and we can’t wait to see what he comes up with next.

You can check out a video of [James]’ cube solver after the break.

20 thoughts on “Solving a Rubick’s Cube with LEGO and popsicle sticks

  1. Now all you need is an array of three light sensors with colour filters for each of the nine squares on the side to be twisted coupled with a few white leds or a bulb to act as a source. then it could solve the cube all on it’s own by flipping it a few times. I bet there is a nice little algorithm somewhere that will let you only have to scan half the sides and compute the others.

    1. Instead of colour sensors with filters, a better way might be to use RGB LEDs to illuminate the cube each colour in turn. You’d need to keep external light out for the scanning (well, you could try compensating for ambient light in software, but easier not to).

  2. I don’t get why the robot “changer” couldn’t be used to enter the starting positions.

    Also, from the number of moves, seems like the solving algorithm isn’t very efficient.

    1. I dont know what you mean by that first one, but yes the algorithm is quite inefficient. it uses the “layer by layer” method which is one beginners use. i was really rushing this project as i only had 10 weeks to finish it. i do have plans on making it faster and more efficient in the future.

      1. He means that you manually entered the positions of each face. I’m sure it’s trivial for you to come up with a way to do that either by imaging or color sensors, but it’s still impressive that you put this together with very little mechanical parts. Great work.

  3. Maybe he should have used the web cam on the laptop to detect the colours on the cube but what really impresses me is that with only three movements this thing can fully manipulate the cube, simple but it does work.

  4. Nice though this is its got nothing on mind cuber which I built with my kids and solves in about 40 moves, or the epic mind stormer that solves in 2 to 6 seconds… Now THAT’S a solver!

    1. I really do look up to the Cubestormer II, after this project i fully understand its complexity. 40 moves is around what im aiming for in round 2 of my project too

  5. Good job! Not only did you keep the algorithm simple, but kept the cost of the set-up down. To do everything with a Mindstorms Lego set would be more expensive and you just showed how to use other materials.

  6. I wasn’t going to watch the video because I really hate Rubiks cubes. But I like mechanical devices so I had to take a peek.

    I have a tip for you James, which I learnt while making my own hack/DIY videos. You’ll have happier and longer watching viewers by starting the video with a brief explanation and showing the finished product and then show the ‘how / why / what’ after. Your video starts with a few minutes of mindless computer input. Instead, you should try to suck us in with the good stuff first and then once we’re impressed, we’re more likely to watch the how/why/what bit after :)

    I like the way you’re controlling the cube. I don’t think I would have thought of that way of flipping it.

    I don’t think it’s that big a deal that you have to manually input the colors on the cube. But, if you do decide that you want to automate it, you might like to use SimpleCV which is the computer vision library for Python and would let you throw something together very very quickly using an overhead webcam.

    1. thanks, thats really nice advice. i actually do have a better video on my channel where i am talking a bit about my project, and it actually shows a more recent version of it. but more importantly it shows my cat for longer!

  7. Cat: Is that all? Meh. I can do it faster.

    Impressive build. That’s an ingenious use of popsicle sticks and way of manoeuvring the cube.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s