For a fun little final project in my AI course, the class was split into teams that were to take a Lego Mindstorms NXT 2.0 robot kit and build a creative robot to do…something! Really, it was a cool way to finish a really interesting course. There were robots that could walk to a bucket and sort colored balls, one to traverse a maze, one that transforms from a rover into a walker…. and ours, which solves Rubik’s Cubes.
As part of the final project, we had to create a website with some information about the robot, here’s ours. Here is the abstract taken from the site:
Our robot is officially named the “One Armed Wonder”, and was invented by Daniele Benedettelli and described in his book LEGO MINDSTORMS NXT Thinking Robots . The architecture consists of an arm that can flip the cube over, or hold it in place while the platform underneath turns the bottom layer of the cube. A webcam is mounted on the unit, and it as well as the lego brick are plugged into a laptop with the cubesolver software installed. We will demo it by first putting the cube on the platform (randomized of course), and starting the cubesolver program which should automatically scan the cube in, generate a solution, then execute the solution. However, the webcam and software sometimes do not cooperate so the program is very likely to read in some colors wrong. If this scenario occurs we will be able to manually make corrections on the spot, and allow the robot to continue. The robot takes about 2 minutes to finish executing the necessary moves to solve the puzzle.
And here’s a video of it in action:
As you can see, sometimes the bot had some trouble turning the Cube. The Cube was a well-used hand-me-down that was a bit stiff. We loosened it a bit with some WD40, but it got almost too loose such that it would overturn. We had to help it turn a few times by hand.