Raspberry Pi Blog

számítógépek és a sakk már egy erős kombinációja, amióta a megjelenése az első sakk-játék számítógépek az 1970-es években. lehet, hogy még képes játszani a sakkot a készülék segítségével olvassa el ezt a blogbejegyzést! A digitális döntéshozók számára azonban a Raspberry Pi hozzáadása a keverékhez lehet az első lépés egy kicsit izgalmasabb építéshez. Engedje meg, hogy bemutassuk Joey Meyer sakkozó robotját, a málna törököt.

a Raspberry Turk sakkjátékos robot

kép jóváírás: Joey Meyer

mivel mind tapasztalt szoftvermérnök, aki érdeklődik a gépi tanulás iránt, mind képzett sakkozó, nem meglepő, hogy Joey érdekelt a sakkprogramok bütykölésében. Ami azonban igazán lenyűgöző, az a felépítés mértéke és összetettsége, amellyel előállt. A híres történelmi átverés lenyűgözte Joey programozási és robotikai képességeit, hogy felépítsen egy nyílt forráskódú Raspberry Pi-meghajtású kikapcsolódást az ünnepelt mechanikus Turk automata számára.

láthatjuk a málna Turk akcióban Joey YouTube csatorna:

A történelmi átverés

Joey elmagyarázza, hogy először találkozott a mechanikus Turk keresztül egy könyvet Tom Standage. A mechanikus trükkök híres példája, az eredeti török sakkjáték automataként reklámozták, amely képes legyőzni az emberi ellenfeleket és összetett rejtvényeket megoldani.

a mechanikus Török automata képe

a mechanikus Török modern rekonstrukciója
kép a Wikimedia Commons-ból

belső működése titok, a török az évszázad legjobb részében bejárta Európát, megzavarva mindenkit, aki találkozott vele. Sajnos kiderült, hogy nem egy mesés példa a korai robottechnikára. Ehelyett csak egy bonyolult illúzió volt. A félelmetes sakkmozdulatokat nem az automata óramű agya dolgozta ki, hanem egy emberi sakkmester, akit ravaszul elrejtettek a burkolat belsejében.

modern török építése

a mechanikus Török modern változatát az 1980-as években építették. az építkezés azonban 120 000 dollárba került. Ezen az áron a legtöbb gyártó számára lehetetlen lett volna saját verziót készíteni. Lehetetlen, vagyis eddig: Joey egy Raspberry Pi 3-at használ a Raspberry Turk meghajtására, míg a Raspberry Pi kameramodul kezeli a számítógépes látást.

kép sakktábla és Raspberry Turk robot

a Raspberry Turk a játék közepén
kép jóváírás: Joey Meyer

Joey Raspberry Turk van építve egy szép fából készült asztal. Az összes elektronika az egyik oldalon egy dobozban van elhelyezve. A sakktábla közvetlenül az asztal felületére van festve. Annak érdekében, hogy a robot játszhasson, az asztal feletti 3D-s nyomtatott házban található kameramodul képet készít a sakktábláról. A képet ezután elemzik, hogy meghatározzák, mely darabok vannak abban a helyzetben. A darabok helyzetének változásainak nyomon követésével a málna Török meghatározhatja, hogy mely mozdulatok történtek, és melyik darabnak kell következnie. A rendszer kiképzéséhez Joey-nak nagy adatkészletet kellett felépítenie a számítógépes látásmodell érvényesítéséhez. Ez magában foglalta a darabok gondos mozgatását kézzel, és több kép összegyűjtését minden lehetséges pozícióról.

nézd, nincs keze!

a mechanikus Török egyik legfontosabb jellemzője az volt, hogy az automata úgy tűnt, hogy teljesen önmagában mozgatja a sakkfigurákat. Természetesen a mozgását valójában a gép belsejében rejtett személy irányította. A málna Török ezzel szemben maga mozgatja a sakkfigurákat. Ennek elérése érdekében Joey egy robotkart használt az asztalhoz. A kar elsősorban Actobotics alkatrészekből készül. Joey elmagyarázza:

a mozgást két szervó forgása vezérli, amelyek a kar minden egyes láncszemének alján lévő fogaskerekekhez vannak rögzítve. A kar végén van egy másik szervo, amely fel-le mozgatja a gerendát. A gerenda alján egy elektromágnes található, amely dinamikusan aktiválható a sakkfigurák felemelésére.

Joey külön-külön felszerelte a sakkfigurákat apró fémdugóval, hogy a karon lévő mágnes fel tudja venni őket.

programozás a Raspberry Turk

a Raspberry Turk vezérli egy démon folyamat, amely fut egy észlelés/akció szekvencia, és az állapot automatikusan frissül, mint a darab mozog. A kódot szinte teljes egészében Pythonban írják. Mindez elérhető Joey GitHub repóján a projekthez, a projekt jegyzetfüzeteivel együtt.

a Raspberry Turk sakktábla képe Python szkript mellett

kép jóváírás: Joey Meyer

az AI háttér, amely a robotnak sakkjátékot ad, jelenleg a Stockfish, egy erős nyílt forráskódú sakkmotor. Joey azt mondja, hogy saját motort szeretne építeni, ha van ideje. Egyelőre azonban biztos abban, hogy ez az AI méltó ellenfélnek bizonyul.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.