This machine solves a rubik's cube in less than 90 seconds, adding 60 seconds for reading colors and 5 seconds for actual computation.
Color recognition is done in the lid (you can see RGB LEDs flashing) two sides at a time. It's the slowest part of the whole thing right at the beginning. We did not have more than two analog inputs on the board and no decent (industry-grade) webcam. This definitely needs to be fixed. At least, the precise lighting makes the process extremely reliable.
Computation is done on the old Pentium 4 laptop you see in the background, using a slight adaption of Herbert Kociemba's algorithm. The problem was too large for the microcontroller but neither does it take a supercomputer to get a short solution (max 25 moves). In this video, it takes eleven moves. (Did I count correctly?)
The mechanics part is designed to be fast and reliable. We got around 20-30 solves in a row without any errors. Flipping the cube (this is what the two levers do) runs at about 112 per minute, turns take 0.3-0.4 seconds. Power dissipation is around 3 Amps @ 11V during solving. As many people have asked, all parts are original fischertechnik parts which you can buy at toy stores today (yes, the motors are too). That being said, the lubricant is not.
The robot is on display at Heinz Nixdorf Museums Forum in Paderborn, Germany during an exhibition about the life of information theoretician Claude Shannon. Check out his bio on wikipedia, and if you can manage, don't miss the exhibition (until february 28th, 2010)!
--------
Diese Maschine löst den Rubikwürfel in unter 90 Sekunden, plus 60 Sekunden zum Einlesen der Farben und fünf Sekunden für die eigentliche Berechnung.
Die Farberkennung geschieht im Deckel (man sieht zwei RGB-LEDs blinken) mit jeweils zwei Farben auf einmal. Der langsamste Teil des Ganzen kommt also gleich am Anfang. Wir hatten leider nur zwei Analogeingänge auf der Platine und keine anständige (industrielle) Webcam, was wir unbedingt noch ändern müssen. Immerhin macht die präzise Beleuchtung den Ablauf sehr zuverlässig und robust.
Die Berechnungen laufen auf dem alten Pentium 4-Laptop im Hintergrund mit dem leicht angepassten Algorithmus von Herbert Kociemba. Die Aufgabe war für den Mikrocontroller zu schwer, aber einen Supercomputer braucht man nun auch nicht, um eine kurze Lösung zu erhalten (maximal 25 Züge). In diesem Video sind es elf Züge. (Oder hab ich mich verzählt?)
Der mechanische Teil sollte schnell und zuverlässig sein. Wir konnten ungefähr 20-30 Würfel hintereinander ohne irgendwelche Fehler lösen. Den Würfel zu kippen (das machen die beiden Schieber) läuft mit ungefähr 112 pro Minute, die Drehungen brauchen 0.3-0.4 Sekunden. Die Leistungsaufnahme ist ungefähr 3 Ampère bei 11 Volt während des Lösens.
Weil wir ständig gefragt werden: Alle Bauteile sind original fischertechnik, wie man es (ja, immer noch) im Spielwarenladen kaufen kann. Auch die Motoren! Okay, das Schmieröl ist von uns.
Der Roboter wird derzeit im Heinz Nixdorf Museums Forum in Paderborn während einer Ausstellung über den Informationstheoretiker Claude Shannon ausgestellt. Lest seine Biografie auf Wikipedia, und lasst Euch auf keinen Fall die Ausstellung entgehen (bis 28.2.2010)!
Very well constructed and nice times might I add. Are you using RoboPro or java?
CVMonte 2 years ago
We are using a mixture of RoboPro and C. The robot whole control part is done in RoboPro, as well as the abstraction over the cube's orientation. The solving algorithm is written in C. Due to lack of IPC, the two programs talk over a text file.
Kociemba's algorithm would be pretty hard to port to robo pro (while it's theoretically possible). For an earlier version featuring the algorithm that we memorized long ago, RoboPro was sufficient (even in download mode).
ftcommunity 2 years ago