iPon Hírek

Hogyan tanítsuk meg a robotokat sántítani?

Dátum | 2015. 06. 01.
Szerző | Jools
Csoport | EGYÉB

Érdekes módon a robotok sokkal „élőbbnek” tűnnek, ha valami probléma akad velük, és ezen sikerül valamelyest átlendülniük. A mellékelt felvételen látható hatlábú, pókszerű szerkezet sántikálása például kifejezetten egy sérült állat mozgására emlékeztet. Míg azonban az állatoknak hosszú idő áll rendelkezésükre ahhoz, hogy rájöjjenek, hogyan tudnak kompenzálni bizonyos sérüléseket, a robotoknak nincsenek hasonló tapasztalataik, így aztán a legfejlettebb rendszerek számára is problémát jelent, hogy mihez kezdjenek, ha valamelyik végtagjuk felhagy a működéssel. Erre igyekszik megoldást találni Jean-Baptiste Mouret, a Sorbonne kutatója, aki kollégáival nemrégiben bemutatott egy algoritmust, amely minden eddiginél gyorsabb alkalmazkodást tesz lehetővé a sérült robotok számára. „Az emberek számára magától értetődő, hogy ha valami eltört, először tudni akarják, hogy pontosan mi a probléma, majd megoldást keresnek a gondra” – mondja Mouret. Ezt a szemléletet többféleképpen lehetséges a robotok számára „lefordítani”. A Cornell szakértői például egy olyan tengericsillag alakú roboton dolgoznak, amely képes saját testrészei azonosítására, és azok aktuális állapotának megfelelően alkalmazkodik a körülményekhez, gyakorlatilag az előre beprogramozott opciók közül választva megoldást. Mouret csapata más utat választott: robotjuk próbálkozások árán tanulja meg, hogyan képes a leghatékonyabban alkalmazkodni a sérüléshez. Ehhez nem szükséges megértenie, hogy pontosan mi a probléma, ahogy mi magunk sem feltétlenül tudjuk, hogy frissen megsérült bokánk eltört vagy csak meghúzódott, mégis automatikusan sántítani kezdünk, csökkentve a testrészre eső terhelést. Mouret és munkatársai valami hasonlót kívánnak megtanítani robotjuknak: a rendszer nem azt keresi a sérülés után, hogy mi a probléma, hanem felméri, hogy mire képes az aktuális helyzetben a test, és ennek megfelelően választ új mozgásformát.
Ehhez persze a robotnak minden lehetséges mozdulatot ismernie kell, amelyet egészséges állapotban végre tud hajtani. A szakértők által írt algoritmus két dolgot tesz: katalogizálja az összes lehetséges mozdulatot, majd a szenzorok visszajelzései alapján kiválasztja az adott helyzetben leginkább célszerű mozgássort. „Egy kicsit olyan, mint egy kisgyerek, aki mindenfélét kipróbál a saját testével, csak hogy lássa, mire képes” – mondja Mouret. Ha aztán a robot megsérül, az algoritmus segítségével újra felméri, hogy a megváltozott állapotban mire alkalmas a teste, majd a rendelkezésére álló mozdulatok közül ismét kiválasztja a lehető legjobb megoldást. Először általában kifejezetten rossz opciókat próbál ki, mivel az egészséges állapot mozgásaira alapoz, magyarázza Mouret. Tegyük fel, hogy a sérülés (például az egyik láb szándékos deaktiválása) eredményeként az addig megszokott haladási módszerrel ezúttal körbe-körbe fog forogni a robot. Ekkor intuitív módon kiválaszt egy olyan megoldást, amely korábban működőképesnek bizonyult, remélve, hogy általa sikerül folytatni az előre haladást. Ha a sebességet és az irányt érzékelő szenzorok azt jelzik vissza, hogy továbbra is gondok vannak, a következő opcióra ugrik, minden kísérlettel átírva egy kicsit a korábban felvázolt mozgástérképet. A tapasztalatokra alapozott kereséssel sokkal hamarabb rátalál arra a mozgásra, amely a legjobbnak tűnik, mint hogyha teljesen véletlenszerűen keresgélne, majd ezt alkalmazva folytatja útját célja felé. „Nem érti, hogy mi történt, csak annyit tud, hogy valami megváltozott, és igyekszik úgy mozogni, hogy a hiba ellenére is folytathassa működését” – mondja Mouret. A csapat két roboton tesztelte az algoritmust: egy hatlábú rendszeren, és egy csuklók sorából álló robotkaron, amely egy pici labdát próbált egy pohárba ejteni. A „pókrobotot” öt különböző módon sebesítették meg, többek közt részlegesen eltávolították egyik lábát, teljesen leszerelték két végtagját, illetve nagyjából megreparálták az egyik előzőleg megsértett lábat.
Minden sérülés után 40-szer engedték a rendszernek, hogy végigfuttassa az algoritmust, és megtalálja a legjobb mozgásformát. A 40. alkalom után a robot általában egy perc alatt optimálisan alkalmazkodni tudott bármelyik sérüléshez. A robotkar, amelynek különböző „ízületeit” törték el vagy merevítették ki, a tanulási periódus után a legtöbb esetben 30 másodperc alatt kitalálta, hogyan tudja a sérülés ellenére végrehajtani a feladatot. Az is kiderült ugyanakkor, hogy az algoritmusnak megvannak a korlátai. Ha a sérülés túlságosan súlyos, a robot teste annyira megváltozik, hogy nem képes korábbi tapasztalataira építeni, így a korábbi intuitív próbálgatás teljesen random kísérletezésbe csap át. És persze az is jelentősen rontja az alkalmazkodás képességét, ha a szenzorok valamelyike sérül meg, hiszen ez esetben a robot nem kap megfelelő információkat azzal kapcsolatban, hogyan működik az éppen kipróbált megoldás. A robot sántikálása ráadásul egy alapvető vonásában továbbra is eltér az állatok sántításától: az élőlények nem egyszerűen hatékonyabb módot keresnek a járásra sérülés esetén, hanem egyúttal olyan mozgásformát igyekeznek találni, amely mellett a legkevésbé fájdalmas a sérülés. Az algoritmusnak ugyanakkor még ilyen kezdetleges állapotban is komoly előnyei lehetnek az olyan helyzetekben, ahogy nincs lehetőség a sérült rendszerek azonnali kijavítására, például egy másik bolygón tartózkodó robot esetén, vagy ha egy repülőnél vagy más járműnél menet közben lép fel valamilyen probléma. Egy intelligensen alkalmazkodni képes rendszer ilyenkor a hiba ellenére biztosíthatja, hogy a robot tovább működjön, vagy időt adhat arra, hogy a jármű biztonságosan leszállhasson vagy leállhasson. Az algoritmus révén ráadásul az egészséges, ám sokféle környezetben bevetésre kerülő rendszerek esetében is hasznos lehet, hiszen segíthet abban, hogy a robot gyorsan alkalmazkodjon, ha a korábbitól gyökeresen eltérő terepre kerül.
Új hozzászólás írásához előbb jelentkezz be!