25.2. Robothardver

Eddig a könyvben adottnak tekintettük az ágensek architektúráját (érzékelőket, beavatkozó szerveket és processzorokat), és csak az ágensek működtető programjára koncentráltunk. A valóságban a robotok sikere legalább annyira múlik a feladathoz illő, megfelelő szenzorok és beavatkozó szervek megválasztásán.

25.2.1. Érzékelők

A szenzorok jelentik az érzékelési interfészt a robotok és környezetük között. A paszszív érzékelők (passive sensors), mint például a kamerák, ténylegesen puszta megfigyelői a környezetüknek: olyan jeleket vesznek, amelyeket a robot környezetében lévő más tárgyak generálnak. Az aktív szenzorok (active sensors), mint például a hanglokátor, energiát sugároznak környezetükbe, és érzékelik, ha ez az energia visszaverődik. Az aktív szenzorok általában több információt szolgáltatnak, de ugyanakkor többet fogyasztanak, és interferencia léphet fel, ha egyszerre többet is használunk. Akár aktív, akár passzív érzékelőkről van szó, három csoportba lehet őket osztani az alapján, hogy távolságot mérnek, teljes képet közvetítenek a környezetről vagy a robot egyes saját tulajdonságait figyelik.

Sok mobil robot egy adott térrészt lefedő pásztázó távolságmérőt (range finder) használ, olyan szenzort, amely a közeli tárgyak távolságát méri. Gyakori típus a szonárszenzor, más néven hanglokátor. A szonárszenzorok irányított hanghullámokat bocsátanak ki, amelyek egy része visszaverődik a tárgyakról. A visszaverődés ideje és a hullám intenzitása információval szolgál a közeli tárgyak helyzetéről. Az AUV-kre (autonóm víz alatti jármű) víz alatti hanglokátorokat szerelnek. Szárazföldön a hanglokátorokat – rossz irányfelbontásuk miatt – főleg kis távolságon belüli ütközések elkerülésére használják. A hanglokátorok alternatíváját jelenthetik (elsősorban légi járműveknél) a radaralapú és a lézeres távolságmérők. Egy lézeres pásztázó távolságmérő látható a 25.2. ábrán.

25.2. ábra - (a) A mobil robotoknál népszerű SICK LMS lézeres távolságmérő. (b) Egy horizontálisan felszerelt távolságmérő által mért visszaverődési kép 2D-s térképre vetítve.
(a) A mobil robotoknál népszerű SICK LMS lézeres távolságmérő. (b) Egy horizontálisan felszerelt távolságmérő által mért visszaverődési kép 2D-s térképre vetítve.

Egyes távolságmérők csak nagyon kicsi vagy nagyon nagy távolságokra használhatók. A kis távolságú szenzorok közé tartoznak a taktilis, vagyis tapintásalapú érzékelők (tactile sensors), mint például az érzékelőbajusz, lökhárító vagy az érintésérzékeny bőr. A skála másik végén a globális helymeghatározó rendszer (Global Positioning System, GPS) áll, amely a műholdakból érkező impulzusok alapján számítja a távolságot. Jelenleg két tucat műhold kering orbitális pályán, és mindegyik két külön frekvencián sugároz jeleket. A GPS-vevőkészülékek a fázistolásból tudják kiszámítani a műholdtól való távolságukat. Több műholdtól érkező jel alapján háromszögeléssel néhány méteres pontossággal meghatározható a Földön elfoglalt tényleges pozíció. A differenciális GPS (differential GPS) még egy pontosan ismert helyen lévő földi vevő jelét is használva – ideális esetben – milliméteres pontosságot ér el. Sajnálatos módon a GPS nem használható beltérben vagy víz alatt.

A szenzorok másik fontos osztályát képezik a képérzékelők (imaging sensors). A kamerák képet adnak számunkra a környezetről, valamint – a 24. fejezetben tárgyalt, számítógépes gépi látási módszerek alkalmazásával – modellekkel, illetve tulajdonságokkal írják le a környezetet. A sztereolátás különösen fontos a robotikában, mivel mélységi információt is közvetít. Jövőjük mindamellett elég bizonytalan, mert sikeresen folyik új, aktív távolságleképezési technológiák kidolgozása.

A harmadik fontos osztályt az önérzékelők (proprioceptive sensors) alkotják, amelyek a robot saját állapotáról adnak tájékoztatást. Annak érdekében, hogy a robot csuklóinak pontos állásáról információnk legyen, a motorok tengelyét sokszor szöghelyzet-dekódolókkal (shaft decoders) látják el, amelyek kis lépésekben követik a tengely elfordulását. A robotkarokon a tengelyre szerelt dekódolók bármikor pontos helyzetinformációt tudnak szolgáltatni. Mobil robotokon a szöghelyzet-dekódolókat a kerék mozgásának figyelésére használják, amely alapján számítható a megtett út. Ezt hívják odometriának (odometry). Sajnálatos módon az odometria – a kerekek csúszása és sodródása miatt – csak kis távolságokban használható. A külső hatások, mint például az áramlások az AUV-knél (autonóm víz alatti jármű) vagy a szél az UAV-k (autonóm légi jármű) esetében tovább növeli a mérés bizonytalanságát. Az inerciaszenzorok (inertial sensors), mint például a giroszkóp, javítanak a pontosságon, de önmagukban még nem küszöbölik ki a pozíciómérés hibájának elkerülhetetlen halmozódását.

A robotállapot más fontos jellemzőinek mérésére erő- és nyomatékérzékelőket (force, torque sensors) használnak. Ezek nélkülözhetetlenek, ha a robotnak törékeny tárggyal kell dolgoznia, vagy olyannal, amelynek pontos mérete és helyzete nem ismert. Képzeljük csak el, amikor egy közel egytonnás manipulátornak egy villanykörtét kell becsavarnia. Ha túl nagy erővel fogná meg a körtét, könnyen összeroppanthatná. Az erőérzékelők lehetővé teszik, hogy a robot tudja, milyen nehéz megfogni a körtét, míg a nyomatékérzékelők információt szolgáltatnak, hogy milyen nehéz becsavarni. A jó szenzorok képesek erőt mérni mindhárom elmozdulási és mindhárom elfordulási irányban.

25.2.2. Beavatkozó szervek

A robotok beavatkozó szerveik segítségével mozognak és változtatják alakjukat. Ahhoz, hogy megértsük a beavatkozó szervek felépítését, először is általános értelemben kell beszélnünk a mozgás és az alak elvont értelmezéséről, a szabadságfokok (degree of freedom, DOF) koncepciójának felhasználásával. Szabadságfoknak számít minden olyan irány, amelyben a robot vagy egyik beavatkozó szerve mozogni képes. Például egy merev, szabadon mozgó robotnak (mint amilyenek az AUV-k) hat szabadságfoka van, három az (x, y, z) térbeli elhelyezkedés, három pedig a szögelfordulás (orientáció). Ezeket szokták csavarásnak, billentésnek és forgatásnak is hívni (RPY – roll, pitch, yaw). Ez a hat szabadságfok meghatározza a robot kinematikus állapotát,[276] más néven a pozícióját és az orientációját együttesen. A robot dinamikai állapota (dynamic state) minden egyes kinematikai paraméter változási sebességét is tartalmazza, így minden kinematikai dimenziónál egy-egy további dimenziót hoz be.

25.3. ábra - (a) A Stanford manipulátor: egy korai robotkar öt rotációs (R) és egy transzlációs (prizmatikus) csuklóval (P), összesen hat szabadságfokkal. (b) Egy elsőkerék-kormányzású nemholonomikus négykerekű jármű mozgása.
(a) A Stanford manipulátor: egy korai robotkar öt rotációs (R) és egy transzlációs (prizmatikus) csuklóval (P), összesen hat szabadságfokkal. (b) Egy elsőkerék-kormányzású nemholonomikus négykerekű jármű mozgása.

Nem merev testek esetében magán a roboton belül további szabadságfokok vannak. Például az emberi kar esetében a könyök egy szabadságfokú, mert egy irányba képes elfordulni. A csukló három szabadságfokú, mert tud fel-le és jobbra-balra mozogni, továbbá forogni is. Általában minden egyes robotcsuklónak is egy, két vagy három szabadságfoka van. Hat szabadságfok szükséges ahhoz, hogy például egy kezet a térben tetszőleges pozícióba és irányba (orientációba) hozzunk. A 25.3. (a) ábrán látható robotkarnak pontosan hat szabadsági foka van: öt rotációs csukló (revolute joint), amelyek forgást tesznek lehetővé, és egy transzlációs csukló (prismatic joint), amely kinyúlásra képes. Egy egyszerű kísérlet segítségével könnyedén meggyőződhetünk arról, hogy az emberi kéznek valójában hatnál több szabadságfoka van: kezünket az asztalra rakva még mindig képesek vagyunk elforgatni a könyökünket, anélkül hogy a kezünk konfigurációja megváltozna. Azokat a manipulátorokat, amelyeknek több szabadságfoka van, mint ami minimálisan szükséges ahhoz, hogy végbeavatkozó szervüket (end effector) a kívánt helyre vigyék, könnyebb vezérelni, mint azokat, amelyek csak a minimálisan szükséges számú szabadságfokkal rendelkeznek.

Mobil robotoknál a szabadságfokok száma nem feltétlenül egyezik meg a mozgatott részek számával. Vegyünk például egy átlagos autót: tud mozogni előre-hátra és tud fordulni. Ez így két szabadságfok. Ennek ellenére a kocsi kinematikája háromdimenziós: egy szabad lapos felületen könnyedén el tud jutni bármilyen (x, y) pontba, tetszőleges orientációval (lásd 25.3. (b) ábra). Azaz a kocsinak 3 effektív szabadságfoka (effective DOF) van, de 2 irányítható szabadságfoka (controllable DOF). A robotra azt mondjuk, hogy nemholonomikus (nonholonomic), ha az effektív szabadságfoka nagyobb, mint az irányítható szabadságfoka, míg holonomikus (holonomic), ha ez a kettő megegyezik. A holonomikus robotokat könnyebb irányítani. Mennyivel egyszerűbb lenne olyan kocsival parkolni, amely képes oldal irányban is mozogni, nem csak előre-hátra! Viszont a holonomikus robotok jellemző módon mechanikailag sokkal bonyolultabbak. A legtöbb robotkar holonomikus, míg a mobil robotok általában nemholonomikusak.

A mobil robotok számára mozgató mechanizmusok széles tárháza áll rendelkezésre: kerekek, lánctalpak, lábak stb. A differenciál hajtású (differential drive) robotoknak kétoldalt külön mozgatható kerekeik (vagy lánctalpaik) vannak, ugyanúgy, mint a tankoknak. Ha mindegyik kerék azonos sebességgel mozog, akkor a jármű egyenesen halad előre. Ha ellenkező irányba mozognak, akkor a robot képes egy helyben megfordulni. A másik alternatívát a szinkrón hajtás (synchro drive) jelenti, amelynél minden kerék el tud fordulni a tengelye mentén. Ez könnyen vezethetne káoszhoz, ha nem lenne az a kényszer, hogy minden kerék mindig azonos irányba álljon, és azonos sebességgel forogjon. Mind a differenciál, mind a szinkrón hajtás nemholonomikus. Egyes drága robotok holonomikus hajtást használnak, általában három vagy több önállóan irányítható kerékkel.

A kerekekkel ellentétben a lábak még a nagyon nehéz tereppel is megbirkóznak. Ugyanakkor a lábak meglehetősen lassúak sík terepen, és mechanikailag nehezebb megépíteni őket. Robotikai szakemberek próbáltak már különféle konstrukciókat, egytől akár tucatnyi lábig. Készítettek lábbal rendelkező robotokat sétálásra, futásra, sőt még ugrálásra is. Egy ilyen példa látható a 25.4. (a) ábrán: ez a robot dinamikusan stabil (dinamically stable), ami azt jelenti, hogy képes talpon maradni, miközben körbe ugrál. Statikusan stabilnak (statically stabile) hívják azokat a robotokat, amelyek úgy képesek állva maradni, hogy nem mozognak a lábaik. A robot statikusan akkor stabil, ha a súlypontja a lábai által kifeszített sokszög fölé esik.

25.4. ábra - (a) Marc Raibert egyik lépegető robotja mozgás közben. (b) A Sony AIBO robot focizás közben (copyright 2001, The RoboCup Federation).
(a) Marc Raibert egyik lépegető robotja mozgás közben. (b) A Sony AIBO robot focizás közben (copyright 2001, The RoboCup Federation).

Más típusú mobil robotok teljesen eltérő módszereket használnak a mozgáshoz. A légi járműveken általában propellereket vagy turbinákat alkalmaznak. Robot léghajók a meleg áramlatokat használják ki, hogy a levegőben maradjanak. Az autonóm víz alatti járművek gyakran alkalmaznak a tengeralattjárókon használtakhoz hasonló fúvókákat.

Szenzorok és beavatkozó szervek önmagukban még nem tesznek ki egy robotot. Egy igazi robotnak energiaforrásra is szüksége van, hogy mozgathassa beavatkozó szerveit. A legnépszerűbb megoldás mind a manipulátorok mozgatásához, mind a helyváltoztatáshoz, a villanymotor. Ugyanakkor a pneumatikus (sűrített gázzal működő) és a hidraulikus (folyadékkal közvetített nyomással működő) hajtásoknak is megvannak a maguk alkalmazási területei. A legtöbb robot valamiféle digitális kommunikációs eszközzel is rendelkezik, például vezeték nélküli hálózati kapcsolattal. Végezetül szükség van valami vázra is, amelyre fel lehet szerelni az alkatrészeket és az eszközöket, valamint egy forrasztópákára, ha az alkatrészek és eszközök megszűnnek működni.



[276] A „kinematika” szó a görög „cinema”-ból ered, ami mozgást jelent.