Hunter
Az első programozható robot nyomában
Noel Sharkey a brit Sheffield Egyetem mesterséges intelligencia és robottechnika professzora a programozható robotok és automaták eredetét kutatja. Eddig 2000 évre nyúlt vissza az időben, de úgy véli, még ennél is régebbre datálható az első ilyen szerkezet.
Egy mechanikus oroszlán megalkotása, ami magától közlekedett és még virágokat is átnyújtott, nem lehetett kis teljesítmény 1515-ben, még egy olyan géniusztól sem, mint Leonardo da Vinci. Szerkezetének működése egészen 2000-ig rejtély maradt, amikoris egy amerikai robotszakértő, Mark Rosheim előállt a meglepő konklúzióval, ami alapján később meg is építette az ominózus szerkezet alapjául szolgáló kocsi egy kicsinyített mását.
Rosenheim Leonardo rendelkezésre álló rajzai és feljegyzései alapján megállapította, hogy az oroszlánt, illetve a kerekekkel ellátott talapzatát egy óraműre emlékeztető rugós mechanizmus hajtotta, melynek illusztrációi da Vinci Codex Atlanticus könyvében is megtalálhatók. Rosenheim rekonstrukciója szerint a kocsi kormányművét forgó fogaskerekek közé helyezett falapok vezérelték. A lapok a kormányműhöz ütődtek, jobb vagy bal irányú fordulásra késztetve az oroszlánt. Ezzel a kialakítással az automata mozgása irányíthatóvá válik pusztán a lapok elhelyezkedésének megváltoztatásával. Más szavakkal - ha Rosenheim munkája helytálló - akkor az oroszlán nem csupán önjáró, de programozható is volt.
A feltevés szöget ütött Sharkey professzor fejébe, aki több érdekes kérdést is felvetett. Lehetséges, hogy da Vinci korábbi találmányokból merített ihletet? Ha igen, akkor milyen messze lehet visszamenni az időben, ahol még találkozhatunk a programozható robotok nyomaival?
Mindenekelőtt tisztázni kell, mi tekinthető "programozhatónak". Egy program egy utasítás sorozat, ami megmondja a gépnek, hogy mit csináljon. Fontos azonban, hogy ezek az instrukciók megváltoztathatók legyenek anélkül, hogy magát a gépet újra kelljen építeni, azaz a programnak el kell különülnie a mechanikától. Egy régi zenedoboz is egy programozható szerkezet, mivel a lejátszandó zenét a belsejében elhelyezett henger cserélgetésével lehetett váltogatni. A programkódot a hengeren elhelyezett fémpöttyök adták, ezek pozíciója mondta meg a gépnek a fémnyelvek megpengetésével, hogy melyik hangot játssza le, milyen sorrendben és milyen ritmusban.
Számos kultúra használta a vezérműveket, kezdve az ősi görög és kínai gépektől, azonban a vezérmű szinte minden esetben a mechanizmus szerves része volt. Csupán da Vinci kocsijánál volt rá mód, hogy különösebb átépítés nélkül változtatható, vagy akár eltávolítható legyen.
Az ősi programozható mechanizmusok utáni kutatás során Sharkey a középkori Európából kiindulva az iszlám világba jutott, ahol egy még korábbi programozható automatára bukkant, amit Bagdadban készített a 13. század egyik legbriliánsabb mérnöke, Ibn Ismail Ibn Al-Razzaz Al-Jazari. A hosszú nevű úriember egy egész hajónyi programozható robotzenészt alkotott, gyakorlatilag egy úszó zenedobozt, amivel a nemeseket szórakoztatták az uralkodó által rendezett összejöveteleken. Sharkey hosszas keresgélés után bukkant rá Al-Jaziri zenélő hajójára, melynek mechanikája a fentebb már leírt klasszikus zenedobozra hasonlított. A hajóról az alkotó ír 1206-os "Szellemes mechanikus eszközök tudásának könyvében".
A hajó fedélzetén négy gépi zenész foglalt helyet, két dobos, egy hárfás és egy fuvolás, melyek félóránként keltek életre és néhány percen át játszottak. Mozgásukat gyakorlatilag a zenedoboz fémpöttyökkel ellátott hengerének egy primitív változata biztosította. A hajó teljes hosszában, a zenészek alatt egy hengeres rúd futott végig, melyből ékek álltak ki. A rúd forgásával az ékek a zenészek végtagjaihoz erősített karokat ütöttek meg, életszerű mozgást hozva létre.
A rudat egy kis vízkerék forgatta, amit egy billenthető vödör látott el, melyet a hajó fedélzetén lévő tárolóból csorgó víz töltött automatikusan újra 30 percenként. Ez a vezérmű ideális a programozásra, egyszerűen csak teljes hosszában el kell látni lyukakkal és az ékek máris áthelyezhetővé, a mechanizmus átprogramozhatóvá válik. A professzor 2006-ban meg is építette a hajó egyik dobosát, bemutatva, hogy az elv valóban működőképes.
Al-Jazariénál régebbi emlékeket találni már komoly kihívásnak bizonyult. Néhány 11. századi andalúz feljegyzéstöredéktől eltekintve, ami egy Khalaf Al-Muradi nevű férfihez kötődött, az összes fellelt gépnél az iszlám világtól, a bizánci birodalmon és Kínán át egészen Indiáig hiányoznak a műszaki részletek, melyekből megállapítható lett volna programozhatóságuk.
Szerencsére az ősi Alexandria mérnökei jóval gondosabbak voltak terveiket illetően. Igen tekintélyes mennyiségű írásuk maradt fenn, beleértve a nagy automatakészítők, Kteszibiosz, Philón és Héron munkáit. Programozható vezérművek helyett automatáik többségét a víz mozgása, súlyok vagy a levegő kiszorítása hajtotta. Egy leírás azonban kitűnik a többi közül, egy mobil színház, amit az 1. században készített el Héron. Igen termékeny feltaláló volt, mindenfélét kiagyalt az aeolipile-nek nevezett gőzhajtású forgó gömbtől, egy "árukiadó" automatáig, ami egy pénzérméért cserében némi szenteltvízzel látta el az elébe járulót. Mobil színháza azonban minden más alkotásánál összetettebb volt.
A leírások szerint kerekekkel volt ellátva, melyeken automatikusan kigördült a közönség elé, majd megállt. Ekkor kelt életre a gép felső fele, ami a bor istenének, Dionüszosznak a szentélyét ábrázolta. Összesen hat automata mozgott, melyek magát az istent és női hódolóit ábrázolták, akik egy rövid előadást prezentáltak. Az előadás végeztével a szerkezet levonult a színpadról. Héron "Peri automatopoietikes" (az automata készítésről) című könyve alapján ez a gép jó eséllyel pályázhat a programozható szerkezet címre, igaz nem pont abban az értelemben, melyben Sharkey először elképzelte. Ugyan a színház nem rendelkezett vezérművel, mégis Héron programozási stratégiája sokkal inkább hasonlít a modern alkalmazásokra mint da Vincié vagy Al-Jazirié. Az ő programozási módszere egyedülálló a robotok történelmében, egy zsinór tekergetésén alapul.
A színház alapja egy egyszerű automata volt, hasonló Leonardo kocsijához, elől két, hátul egy kerékkel. Erőforrása egy leeső súly volt, amit egy csigán áthaladó zsinórral kötöttek az első tengelyhez. A zsinór feltekerése a tengely körül felemelte a súlyt, ami egy üreges henger belsejében helyezkedett el. Ezután a súlyt eleresztették, ami magával húzva a zsinórt megforgatta a kerekeket. Önmagában ez az elrendezés rövid távon rendkívül gyorsan mozgatta volna az automatát előre. Ahhoz, hogy a kocsit hosszú időn át mozgásban tartsuk, vagy igen tekintélyes magasságba kell emelni a súlyt, vagy valahogy szabályozni kell az ereszkedését. Itt jött be a képbe Héron zsenialitása. A súlyt körülölelő hengerbe búzaszemeket töltött, alul pedig egy lyukat vágott, így a szemek kiperegtek. A súly innentől kezdve sokkal lassabban ereszkedett, megnyújtva azt a periódust, ami alatt leadta energiáját.
Minden zsinórhurok egy kerékfordulattal hajtotta előre a gépet, Héron azonban megtalálta a módját robotja hátrafelé mozgatásának is. Ehhez egy vagy több éket helyezett el a tengely közepére merőlegesen, az ék köré tekert zsinór megváltoztatta a tengely mozgását és így a másik irányba folytatta a tekeredést. Héron megoldása egyszerű, mégis rendkívül kifinomult volt, a mechanizmus gyakorlatilag egy egyszerű programozási nyelv alapjainak is tekinthető. Például ha a zsinórt tízszer feltekerjük a tengely körül az egyik irányba, majd megtekerve az ék körül ötször a másik irányba hajtjuk, akkor 10 kerékfordulatnyi előre mozgást és 5 fordulatnyi hátra mozgást kapunk.
Héron egy megállító utasítást is kieszelt a robothoz. Ehhez csupán annyi kellett, hogy bizonyos hosszúságú kötelet viasszal a tengelyhez vagy a robothoz tapasztott. Amikor a súly ehhez a lógó részhez ért, a szabadon függő kötél húzásával semmilyen mozgás nem ment végbe, a robot tehát arra az időre megállt. A mechanizmus így azonban még csak egyenesen tudott közlekedni, a kanyarodáshoz az kellett volna, hogy a két kerék külön kapja az utasításokat, akárcsak a legtöbb kerekeken közlekedő mai robot.
Héron könyve arról tanúskodik, hogy erre a görög mester is rájött. A leírás szerint a tengely kettéválasztásával mindkét kerék megkaphatta a maga zsinór-mechanizmusát, így azok egymástól függetlenül mozoghattak. Héron még azt is leírja, hogyan használható ez a módszer a robot kör- vagy S-alakú mozgatásához, a programozási lehetőségek egész kis tárházát adva a szerkezet működtetőjének.
A kérdés most már csupán annyi, vajon a régi idők nagy elméi valóban azzal a szándékkal tervezték gépeiket, hogy azok programozhatók legyenek? Nagy valószínűséggel a válasz nem. Da Vinci és Al-Jaziri is jól tudta hogyan szeretné hogy automatája teljesítsen, és az ékek mozgatásával finomra hangolhatták a szerkezetet a kívánt viselkedés elérése érdekében. Ez azonban nem teljesen ugyanaz mint a programozás, írásaikban pedig semmi nem utal arra, hogy valóban programozták volna robotjaikat adott mozgássorok elvégzésére.
Kivételt képez Héron könyve, ami egyértelműen kifejezi az alkotó szándékait, mely szerint robotja programozható volt, vagy legalábbis annak készült. Az egyik oldalon még azt is elmagyarázza, hogyan programozható egy összetett viselkedés a színházi robot visszagördítésével a végpontból az előadás által megkívánt összes mozdulaton keresztül a kiindulási pontba, úgy hogy a zsinór megfelelően gombolyítsa le magát a tengelyekről. A modern programozók hasonló módszerrel tanítják például a gépjármű összeszerelő sorok festőrobotjait.
Az is egy nagy kérdés, hogy vajon Héron robotja volt-e az első? Nehéz elhinni hogy ne lettek volna elődei, Héron könyvében utalásokat tesz arra, hogy ő egy már kialakult színházi tradícióba vitt valami újat, miközben arra panaszkodik, hogy a korábbi írók nem fogalmaztak elég egyértelműen ahhoz, hogy szerkezeteik lemásolhatók legyenek. Egyértelmű utalásokat tesz Philón az automata színházakról szóló elveszett könyvére, ami i.e 200 környékén keletkezett.
Más forrásokban egy ezeknél korábbi automata is szóba kerül. Az i.e 4. században Arisztotelész ír maguktól mozgó bábokról és egy kocsiról, ami körkörös mozgást végez, úgy írva le mindezt, mintha teljesen mindennaposnak számítanának. Homérosz Iliásza szerint a programozható önműködő gépek egészen az i.e. 8. századig nyúlhatnak vissza. Héphaisztosz kapcsán itt is felmerülnek kerekeken gördülő, önműködő szerkezetek - tehát a legelső programozható robot utáni kutatásnak még koránt sincs vége.
Egy mechanikus oroszlán megalkotása, ami magától közlekedett és még virágokat is átnyújtott, nem lehetett kis teljesítmény 1515-ben, még egy olyan géniusztól sem, mint Leonardo da Vinci. Szerkezetének működése egészen 2000-ig rejtély maradt, amikoris egy amerikai robotszakértő, Mark Rosheim előállt a meglepő konklúzióval, ami alapján később meg is építette az ominózus szerkezet alapjául szolgáló kocsi egy kicsinyített mását.
Rosenheim Leonardo rendelkezésre álló rajzai és feljegyzései alapján megállapította, hogy az oroszlánt, illetve a kerekekkel ellátott talapzatát egy óraműre emlékeztető rugós mechanizmus hajtotta, melynek illusztrációi da Vinci Codex Atlanticus könyvében is megtalálhatók. Rosenheim rekonstrukciója szerint a kocsi kormányművét forgó fogaskerekek közé helyezett falapok vezérelték. A lapok a kormányműhöz ütődtek, jobb vagy bal irányú fordulásra késztetve az oroszlánt. Ezzel a kialakítással az automata mozgása irányíthatóvá válik pusztán a lapok elhelyezkedésének megváltoztatásával. Más szavakkal - ha Rosenheim munkája helytálló - akkor az oroszlán nem csupán önjáró, de programozható is volt.
A feltevés szöget ütött Sharkey professzor fejébe, aki több érdekes kérdést is felvetett. Lehetséges, hogy da Vinci korábbi találmányokból merített ihletet? Ha igen, akkor milyen messze lehet visszamenni az időben, ahol még találkozhatunk a programozható robotok nyomaival?
Mindenekelőtt tisztázni kell, mi tekinthető "programozhatónak". Egy program egy utasítás sorozat, ami megmondja a gépnek, hogy mit csináljon. Fontos azonban, hogy ezek az instrukciók megváltoztathatók legyenek anélkül, hogy magát a gépet újra kelljen építeni, azaz a programnak el kell különülnie a mechanikától. Egy régi zenedoboz is egy programozható szerkezet, mivel a lejátszandó zenét a belsejében elhelyezett henger cserélgetésével lehetett váltogatni. A programkódot a hengeren elhelyezett fémpöttyök adták, ezek pozíciója mondta meg a gépnek a fémnyelvek megpengetésével, hogy melyik hangot játssza le, milyen sorrendben és milyen ritmusban.
Számos kultúra használta a vezérműveket, kezdve az ősi görög és kínai gépektől, azonban a vezérmű szinte minden esetben a mechanizmus szerves része volt. Csupán da Vinci kocsijánál volt rá mód, hogy különösebb átépítés nélkül változtatható, vagy akár eltávolítható legyen.
Az ősi programozható mechanizmusok utáni kutatás során Sharkey a középkori Európából kiindulva az iszlám világba jutott, ahol egy még korábbi programozható automatára bukkant, amit Bagdadban készített a 13. század egyik legbriliánsabb mérnöke, Ibn Ismail Ibn Al-Razzaz Al-Jazari. A hosszú nevű úriember egy egész hajónyi programozható robotzenészt alkotott, gyakorlatilag egy úszó zenedobozt, amivel a nemeseket szórakoztatták az uralkodó által rendezett összejöveteleken. Sharkey hosszas keresgélés után bukkant rá Al-Jaziri zenélő hajójára, melynek mechanikája a fentebb már leírt klasszikus zenedobozra hasonlított. A hajóról az alkotó ír 1206-os "Szellemes mechanikus eszközök tudásának könyvében".
A hajó fedélzetén négy gépi zenész foglalt helyet, két dobos, egy hárfás és egy fuvolás, melyek félóránként keltek életre és néhány percen át játszottak. Mozgásukat gyakorlatilag a zenedoboz fémpöttyökkel ellátott hengerének egy primitív változata biztosította. A hajó teljes hosszában, a zenészek alatt egy hengeres rúd futott végig, melyből ékek álltak ki. A rúd forgásával az ékek a zenészek végtagjaihoz erősített karokat ütöttek meg, életszerű mozgást hozva létre.
A rudat egy kis vízkerék forgatta, amit egy billenthető vödör látott el, melyet a hajó fedélzetén lévő tárolóból csorgó víz töltött automatikusan újra 30 percenként. Ez a vezérmű ideális a programozásra, egyszerűen csak teljes hosszában el kell látni lyukakkal és az ékek máris áthelyezhetővé, a mechanizmus átprogramozhatóvá válik. A professzor 2006-ban meg is építette a hajó egyik dobosát, bemutatva, hogy az elv valóban működőképes.
Al-Jazariénál régebbi emlékeket találni már komoly kihívásnak bizonyult. Néhány 11. századi andalúz feljegyzéstöredéktől eltekintve, ami egy Khalaf Al-Muradi nevű férfihez kötődött, az összes fellelt gépnél az iszlám világtól, a bizánci birodalmon és Kínán át egészen Indiáig hiányoznak a műszaki részletek, melyekből megállapítható lett volna programozhatóságuk.
Szerencsére az ősi Alexandria mérnökei jóval gondosabbak voltak terveiket illetően. Igen tekintélyes mennyiségű írásuk maradt fenn, beleértve a nagy automatakészítők, Kteszibiosz, Philón és Héron munkáit. Programozható vezérművek helyett automatáik többségét a víz mozgása, súlyok vagy a levegő kiszorítása hajtotta. Egy leírás azonban kitűnik a többi közül, egy mobil színház, amit az 1. században készített el Héron. Igen termékeny feltaláló volt, mindenfélét kiagyalt az aeolipile-nek nevezett gőzhajtású forgó gömbtől, egy "árukiadó" automatáig, ami egy pénzérméért cserében némi szenteltvízzel látta el az elébe járulót. Mobil színháza azonban minden más alkotásánál összetettebb volt.
A leírások szerint kerekekkel volt ellátva, melyeken automatikusan kigördült a közönség elé, majd megállt. Ekkor kelt életre a gép felső fele, ami a bor istenének, Dionüszosznak a szentélyét ábrázolta. Összesen hat automata mozgott, melyek magát az istent és női hódolóit ábrázolták, akik egy rövid előadást prezentáltak. Az előadás végeztével a szerkezet levonult a színpadról. Héron "Peri automatopoietikes" (az automata készítésről) című könyve alapján ez a gép jó eséllyel pályázhat a programozható szerkezet címre, igaz nem pont abban az értelemben, melyben Sharkey először elképzelte. Ugyan a színház nem rendelkezett vezérművel, mégis Héron programozási stratégiája sokkal inkább hasonlít a modern alkalmazásokra mint da Vincié vagy Al-Jazirié. Az ő programozási módszere egyedülálló a robotok történelmében, egy zsinór tekergetésén alapul.
A színház alapja egy egyszerű automata volt, hasonló Leonardo kocsijához, elől két, hátul egy kerékkel. Erőforrása egy leeső súly volt, amit egy csigán áthaladó zsinórral kötöttek az első tengelyhez. A zsinór feltekerése a tengely körül felemelte a súlyt, ami egy üreges henger belsejében helyezkedett el. Ezután a súlyt eleresztették, ami magával húzva a zsinórt megforgatta a kerekeket. Önmagában ez az elrendezés rövid távon rendkívül gyorsan mozgatta volna az automatát előre. Ahhoz, hogy a kocsit hosszú időn át mozgásban tartsuk, vagy igen tekintélyes magasságba kell emelni a súlyt, vagy valahogy szabályozni kell az ereszkedését. Itt jött be a képbe Héron zsenialitása. A súlyt körülölelő hengerbe búzaszemeket töltött, alul pedig egy lyukat vágott, így a szemek kiperegtek. A súly innentől kezdve sokkal lassabban ereszkedett, megnyújtva azt a periódust, ami alatt leadta energiáját.
Minden zsinórhurok egy kerékfordulattal hajtotta előre a gépet, Héron azonban megtalálta a módját robotja hátrafelé mozgatásának is. Ehhez egy vagy több éket helyezett el a tengely közepére merőlegesen, az ék köré tekert zsinór megváltoztatta a tengely mozgását és így a másik irányba folytatta a tekeredést. Héron megoldása egyszerű, mégis rendkívül kifinomult volt, a mechanizmus gyakorlatilag egy egyszerű programozási nyelv alapjainak is tekinthető. Például ha a zsinórt tízszer feltekerjük a tengely körül az egyik irányba, majd megtekerve az ék körül ötször a másik irányba hajtjuk, akkor 10 kerékfordulatnyi előre mozgást és 5 fordulatnyi hátra mozgást kapunk.
Héron egy megállító utasítást is kieszelt a robothoz. Ehhez csupán annyi kellett, hogy bizonyos hosszúságú kötelet viasszal a tengelyhez vagy a robothoz tapasztott. Amikor a súly ehhez a lógó részhez ért, a szabadon függő kötél húzásával semmilyen mozgás nem ment végbe, a robot tehát arra az időre megállt. A mechanizmus így azonban még csak egyenesen tudott közlekedni, a kanyarodáshoz az kellett volna, hogy a két kerék külön kapja az utasításokat, akárcsak a legtöbb kerekeken közlekedő mai robot.
Héron könyve arról tanúskodik, hogy erre a görög mester is rájött. A leírás szerint a tengely kettéválasztásával mindkét kerék megkaphatta a maga zsinór-mechanizmusát, így azok egymástól függetlenül mozoghattak. Héron még azt is leírja, hogyan használható ez a módszer a robot kör- vagy S-alakú mozgatásához, a programozási lehetőségek egész kis tárházát adva a szerkezet működtetőjének.
A kérdés most már csupán annyi, vajon a régi idők nagy elméi valóban azzal a szándékkal tervezték gépeiket, hogy azok programozhatók legyenek? Nagy valószínűséggel a válasz nem. Da Vinci és Al-Jaziri is jól tudta hogyan szeretné hogy automatája teljesítsen, és az ékek mozgatásával finomra hangolhatták a szerkezetet a kívánt viselkedés elérése érdekében. Ez azonban nem teljesen ugyanaz mint a programozás, írásaikban pedig semmi nem utal arra, hogy valóban programozták volna robotjaikat adott mozgássorok elvégzésére.
Kivételt képez Héron könyve, ami egyértelműen kifejezi az alkotó szándékait, mely szerint robotja programozható volt, vagy legalábbis annak készült. Az egyik oldalon még azt is elmagyarázza, hogyan programozható egy összetett viselkedés a színházi robot visszagördítésével a végpontból az előadás által megkívánt összes mozdulaton keresztül a kiindulási pontba, úgy hogy a zsinór megfelelően gombolyítsa le magát a tengelyekről. A modern programozók hasonló módszerrel tanítják például a gépjármű összeszerelő sorok festőrobotjait.
Az is egy nagy kérdés, hogy vajon Héron robotja volt-e az első? Nehéz elhinni hogy ne lettek volna elődei, Héron könyvében utalásokat tesz arra, hogy ő egy már kialakult színházi tradícióba vitt valami újat, miközben arra panaszkodik, hogy a korábbi írók nem fogalmaztak elég egyértelműen ahhoz, hogy szerkezeteik lemásolhatók legyenek. Egyértelmű utalásokat tesz Philón az automata színházakról szóló elveszett könyvére, ami i.e 200 környékén keletkezett.
Más forrásokban egy ezeknél korábbi automata is szóba kerül. Az i.e 4. században Arisztotelész ír maguktól mozgó bábokról és egy kocsiról, ami körkörös mozgást végez, úgy írva le mindezt, mintha teljesen mindennaposnak számítanának. Homérosz Iliásza szerint a programozható önműködő gépek egészen az i.e. 8. századig nyúlhatnak vissza. Héphaisztosz kapcsán itt is felmerülnek kerekeken gördülő, önműködő szerkezetek - tehát a legelső programozható robot utáni kutatásnak még koránt sincs vége.