RUBIK ROBOT
        2004
Kocka megoldó algoritmus

LETÖLTÉS
TDK dolgozat

LETÖLTÉS
Petofi rádió interjú 2006.07.21
LETÖLTÉS


Real Player8
LETÖLTÉS
  Rövid Videó a kirakásról
Bevezetés

Egy robot ami képes megoldani a 3x3-as Rubik kockát ® 2004-ből!!!

2004 nyarán úgy határoztam, hogy nekilátok egy Rubik kockát kirakó robot megépítésének. Egy olyan robotot szerettem volna építeni, ami egy tetszőlegesen összekevert kockát emberi segítség nélkül kirak úgy, hogy a színeket is a robot ismeri fel.

A végleges változat 2005 őszén került bemutatásra.

A képen látható robot immáron a harmadik generációja a legelso elképzelésemnek.
Több átépítés után sokféle motortípust kipróbálva végülis egy ilyen elrendezés alakult ki.

Sok fejtörést okoztott a szerkezet kello precízitásának biztosítása.

A karokat alumínium ötvözetbol készítettem. A roboton 3 darab kar végzi a kocka forgatását, melyek 90 illetve 180 fokban elforgathatóak.
A satu muködéséhez hasonlóan fogják meg két oldalról a Rubik kockát. Ezzel a megoldással minden oldal elfordítható.

Szerkezeti egységek

Milyen alkatrészek összessége alkotja  a robotot?
A motorok kötött van ötfázisú léptetomotor 3 db. a megfogáshoz ill. elengedéshez, valamint 3 db 180 fokos szögtartományban mozgó szervó motor.
Egy Moeller PS4-es PLC (12 Input és 14 Output)
24v - 12v elektronika
PIC16F627 mikrokontroller
Szoftver, ami összefogja az egészet

A kocka

A boltban kapható Rubik kocka meglehetosen nehezen tekerheto, recseg-ropog, tehát nem az igazi. Nekem egy olyan kockára volt szükségem ami könnyen fordul. A rugók megrövídítése és a kocka pár napon át történo tágítása azonban meghozta a várt eredményt...
A színfelismerés, a kocka kirakása

Legyen a robot bárhol a környezet fényviszonyai minden helyen mások és mások.
Fontos tehát, hogy mindvégig azonos körülmények között vizsgálódjunk, különben ellentmondásos eredményeket kaphatunk.
Szükség volt tehát egy saját fényforrásra. A kamera elott egy fotózásban használt polárszurot helyeztem el, hogy a lámpa okozta csillogások megszunjenek.

A színfelismerés után legenerálódik egy Singmaster kód, majd Herbert módszerrel eloáll a kirakási sor (Myke Reid C implementációja)
Az esetek túlnyomó többségében ezek az algoritmusok átlagosan 60 - 80 oldalforgatással oldják meg a buvös kockát. Nekem ennél egy sokkal gyorsabb algoritmus kellett. A fennti algoritmus max. 22 lépésbol kirakja a kockát. Ez az algoritmus, lépéseket, és nem lépés-kombinációs sort generál.


A szoftver

A program, ami vezérli a robotot egy PC-n illetve a PLC-n fut. Delphi, Visualbasic, C, Asm nyelven íródott. A legtöbb fejtörést a robot karjainak mozgásának leprogramozása okozott, hiszen 43 milliárd féle képpen összekevert kocka létezik, ezekhez a program mindig a legrövidebb kirakási módszert állítja elo.
Egy átlagos kocka kirakása a robottal úgy 10-12 percig tart.


A Rubik Robot-ról részletesebben ebben a PDF-ben olvashatsz.



Boros Miklós, 2006






NÉZD MEG A VIDEÓT!
   (itt balra lent)