Thursday, 5 June 2014

…and now for something COMPLETELY different…



At the Dutch Cube Day a few years ago a couple of chaps had brought along a pair of robots capable of solving a standard 3*3*3 Rubik’s Cube. So, coming from two different countries they did the obvious thing and held an international robotic Rubik’s Cube solving competition as a fun interlude to the serious speed-cubing competition under-way. I can’t remember who won, but remember seeing the robots in action and while they certainly weren’t flawless, seeing a robot built entirely of standard Lego kit accept a scrambled Rubik’s Cube, read it and then set about actually solving it, successfully, was pretty awesome.

Now I’ve never been much of a twisty puzzle fan – sure I have a bunch of them in the collection – well, you kind of have to, don’t you? But they don’t exactly get exercised much … knowing that I was going to get visited by some serious twisty-nuts in the near future, I got to wondering about those Lego Rubik’s solving robots and did some Googling.

I discovered not only the version I’d seen in Eindhoven a few years back, but also a newer design that seemed a bit more robust based on a newer Lego Mindstorms kit… so I did a bit more surfing (or research) and watched some more YouTube videos and showed some of them to Gill, who thought they looked pretty cool… so a couple of days later I duly ordered a Lego kit from Amazon along with some rechargeable batteries and downloaded the instructions from David Gilday’s incredibly useful website.

A couple of happy hours spent building the structure spread over a few evenings took me right back to my childhood when I used to play with my mate’s Lego Technic stuff. A little time spent downloading a patch to the Lego software (to improve the colour recognition on the cubies) and then loading up the solving software onto the Lego brain brick. 

Turn it all on and run the program and it jiggles around a bit while the various arms reset their home positions. When it settles down, scramble a 3*3*3 cube and place it on the turntable. The infrared sensor notices your hand and deduces there’s probably a cube to play with and the contraption springs into action – reading the colours on each side while the arm on the left flips the cube in between sides.

Once it’s read all the sides it has a wee think before the turntable and the arm spring into action in a flurry of twisting and turning - until it announces with a bit of a fanfare that the cube is solved and it proudly shows off all the sides perfectly solved.

It must have a pretty decent algorithm for solving the cube since it seems to take an average of around 24 moves to solve them … it won’t try solving an already solved cube and if you give it a cube with a pattern on it, it seems to neatly undo the moves you’ve used to put the pattern there in the first place.

It was a terrific little project and a great diversion from serious puzzling and I now have a fun little talking point to share with my twisty friends when they visit.



[If you’re interested in building one of your own, David’s site has variants for the different versions of Lego Mindstorms kits out there, the building instructions are simple enough for an old kid to follow with virtually no previous experience and he explains exactly how to get all the software and patches loaded and running… and he runs a FaceBook page where you can ask questions if you run into trouble – in short it’s a great resource and David’s done all the hard work for you – but you get to do all the fun stuff.]

13 comments:

  1. Allard, thanks for this post. Very useful and interesting information. Any Lego robotic kit that can solve burrs, interlocking puzzles? Now that would be very cool....

    ReplyDelete
    Replies
    1. Geez Jerry! You don't ask for much, do you?!
      (Thanks but sorry, haven't seen such a beast yet.)

      Delete
  2. Is there a version for the 4x4x4 etc?

    ReplyDelete
  3. There's one for a very high level cube (think around 9*9*9) but the designs aren't widely available and they're a heck of a lot more complicated than this one. You definitely couldn't do it on a single Mindstorms set!

    ReplyDelete
  4. Very Cool!!! We have an NXT, I've gotta get my kids to build this!!

    ReplyDelete
  5. I AM one of those "twisty nuts" and part of me thinks that this is sacrilege but the geek in me thinks this is AWESOME!! If the present Mrs S lets me then I might try to do this myself. I need a bigger study!

    Kevin
    Puzzlemad

    ReplyDelete
  6. Damn you Allard! Although perhaps my cube will get solved this evening. 26 years, and this is what it comes down to. Now, I believe I will have to take the code, and create a cube scrambling version. So if you put a solved cube in, it will either randomise the cube, or put it to a fixed state, or pattern. Of course I'll still have to chance to solve it afterwards.

    ReplyDelete
    Replies
    1. Excellent - hope you enjoy making one up Neil - and if you fiddle around with the code and get it to do something interesting (cube-in-cube perhaps?) please let me have a copy of the code. :-)

      Delete
    2. Be happy to Allard. Let me have a play, and a browse through the code as it stands. Must take this to work too, since we work with the ARM guys ...

      Delete
  7. Great stuff. Now can you adapt it to solve the Generation Lock ?

    ReplyDelete
    Replies
    1. ...we actually talked about that idea a while back... :-)

      Delete