Ugrás a tartalomhoz

Alkalmazott Mesterséges Intelligencia

Dudás László (2011)

Kempelen Farkas Hallgatói Információs Központ

Emberszerű helyváltoztatás robotikája

Emberszerű helyváltoztatás robotikája

Forrás: Nizar ROKBANI et.al

Humanoid és kétlábú robotok evolúciója

Egy humanoid robotot általában kétlábú robotként képzelünk el, csak néhány kerekes robotot publikáltak a kutatók (Berns és társai, 1999). A humanoid robotika magába foglalja az emberszerű gépek összes aspektusát, mint a járást, megfogást, érzelmeket vagy megismerést, stb. A humanoid helyváltoztató robotika a testtartás generálás, stabilitás szabályozás, járási energia optimálás eseteivel foglalkozik. A humanoid robotika iránt napjainkban megnyilvánuló növekvő érdeklődés segít kifejleszteni további humanoidokat: kisméretű robotokat ajánlanak szórakozásra, néhány modell alacsony költségű kutatási kísérleti platformként szerepel. A legkorábbi projektek egyike a Waseda Egyetemé, Japánból, ahol Kato és a csoportja 1966 óta építi WL1 típusjelű sétáló robotját. 1984-re egy dinamikus sétáló humanoid robotot, WL10 RD-t mutatták be, ez egy 12 szabadságfokú sétáló robot prototípus. Wabian egy igazi humanoid robot 52 szabadságfokkal, beleértve a karokat és a fejet, amely 0,21 méter/s járási sebességre képes. Másfelől kifejlesztettek néhány kifinomult robotot a japán iparvállalatok is, mint a SONY a QRIO humanoidot és a HONDA a jól ismert ASIMO robotját. A legfejlettebb humanoid projektek egyike minden bizonnyal a HRP2 japán projekt, ez a robot összemérhető ASIMO-val, azonban HRP2 egy embermagasságú és alakú robot, kis energiafogyasztással, hátizsák nélkül, szemben ASIMO akkumulátor tartójával. Lényeges, hogy különbséget tegyünk a teljes nagyságú és a kisebb méretű robotok között. A teljes méretű humanoidok, mint HRP2, vagy ASIMO, az emberekével összemérhető méretekkel bírnak. Az olyan robotok, mint Nimbro (Behnke és társai, 2007), vagy QRIO, egy métert meg nem haladó magasságúak. Nemrég egy csodálatos francia humanoid robotot, Naot mutatták be, amely fejlesztés alatt áll még. A Nao robot volt a hivatalos platform az IEEE Humanoid konferenciáján és a Robocup bajnokságban. Demót lásd itt.

Humanoid robotok: HRP2 (a) és ASIMO (b) emberléptékűek, Nimbro focizó robot (c) és NAO robot (d) közepes méretűek.

Európában Franciaországban, Belgiumban, Németországban és Olaszországban folytak projektek. A francia projektek a helyváltoztató rendszerre fókuszáltak. Bip és Rabbit a leghíresebb projektek, Bip egy autonóm sétáló, aki cipeli a vezérlőegységét, míg a Rabbit robot egy a dinamikus járás elemzésére és kísérleteire szolgáló platform volt (Azevedo és társai, 2004; Chemori, 2005). A belga Lucy robot szintén egy sétáló robot, melynek a specialitása a pneumatikus izmok és mozgatók. Johnnie egy német humanoid, a Müncheni Műszaki Egyetem megvalósításában. Jelenleg új javaslatok vannak az asztalon a ZMP megoldás általánosítására, új intuitív módszerek, mint pl. az (RTC) (Goobon, 2008), lehetővé téve a kétlábú robot stabilitásának ellenőrzését szabálytalan talajon, vagy a sétálás közben adódott akadály átugrása közben (Sabourin és társai, 2008).

Az IZIMAN Projekt

IZIMAN egy kutatási projekt, mely alternatív intelligens megoldások felvetését célozza a humanoid robotok számára. Az IZIMAN architektúra egy olyan sémát javasol, mely segíti a gépi intelligencia spontán kialakulását, szemben azzal, amikor egy intelligens gépet közvetlenül emberi mintára hoznának létre. A javasolt architektúra egy multi ágens szerkezet, vezérlő és döntéshozó központokból kialakítva melyeknek együtt kell működniük, hogy biztosítsák a humanoid robot emberszerű működését. Különleges figyelmet fordítanak a tanulási folyamatokra, a tanulásban evolúciós, fuzzy vagy neuro-fuzzy algoritmusokat alkalmaznak. Az ember utánzása szintén szóba kerül, mint a tanulási keretek forrása. Az ember utánzásán alapuló tanulás hatékony ember-észlelést és gesztikuláció követést igényel.

Feltéve, hogy a javasolt vezérlő rendszer hibrid és különböző típusú kontrollereket integrál, szükség van egy együttműködési séma definiálására, hogy elkerülhessük az ellentmondó parancsjelek párhuzamosan jelentkező kockázatát. Az együttműködési sémák hierarchiát alkalmaznak a kontrollerek között és megoldják a többszörös parancsok problémáját (Rokbani és tsai, 2007).

A járásmód generálásra a kétlábú helyváltoztató rendszerek számára egy raj-technikát választottak, mindegyik rajegyed egy csuklót vezérel. Ezt az architektúrát a későbbiekben fogjuk részletezni.

Az emberi járás elemzése

Az emberi járás egy összetett működés, mely egy 29 szabadságfokú helyváltoztató rendszert használ, ami különféle neurális központokhoz kapcsolódik, beleértve az agyat és a gerincvelői reflex-központokat. Több mint 48 izom koordinálja a lábak mozgását és szinkronizálja azokat a felsőtest kényszereivel. Minden egyes láb csuklói elemi mozgásokat hajtanak végre, hajlítást és nyújtást, melyek kiterjednek a csípőre, a térdre és a bokára. A járás ezen egyszerű mozgások koordinálásának eredménye. Fontos megjegyezni, hogy a törzs a medencén keresztül kapcsolódik a helyváltoztató rendszerhez, mi több, a törzs tartalmazza a fontos tömegközéppontot (COM, center of mass) is, és kulcsszerepet játszik az egyensúlyozásban, stabilitásban és a járás dinamikájában.

Az emberi helyváltoztató rendszer leírása

Anatómiai szempontból, a törzs alsó része az embernél a medencecsontból áll, mely a két lábhoz kapcsolódik. A láb két függőleges szakaszból áll: a combcsontból és a sípcsontból. A combcsont a combnyaki ízülettel kapcsolódik a medencecsonthoz míg a sípcsont a térdcsuklóhoz. (Wagner és Carlier, 2002). Az emberi alsórész biomechanikai elemzése azt mutatja, hogy a boka két tengely körüli forgást végez, a térd egyet és a combnyaki csukló három körülit. A legtöbb kétlábú konstrukció az emberi rendszerhez képest csökkentett szabadságfokú kialakítást használ. Egy ilyen korlátozás csökkenti a járás dinamikáját, de megkönnyíti a stabilitás kontrollját. Az emberi mozgások a hajlító és nyújtó izmokból erednek. Elfogadva az izmok hatékonyságát, pneumatikus izmokat javasoltak a kétlábú robotokhoz, mint pl. a Lucy kétlábúhoz. Az emberi helyváltoztató rendszerben a hajlító és a nyújtó izmok a csuklók forgását eredményezik. Egy humanoid helyváltoztató rendszerben ezek a forgások függenek a váz szerkezetétől és a használt aktuátoroktól, de akármilyen a vázszerkezet és az aktuátorok, a legtöbb kétlábú teljesen betartja az emberi csuklók szögtartomány korlátait.

A járó testtartás leírása

Az emberi test testrészekkel és ízületekkel jellemezhető, ez az egyszerűsítés általánosan használatos a biomechanikában. Egy láb vázlata hét anatómiai markerrel adható meg a három csuklónál (Winter, 1990), egy szegmenst megkaphatunk két egymást követő markert összekötve. Figyelembe véve az emberi járás összetettségét, általános az, hogy korlátozott számú állapotot használnak a járási ciklus jellemzésére. Csak a kulcs lépéseket részletezik és felteszik, hogy ezek reprezentálják a teljes ciklust. Wagner 16 állapotot használ (Wagner és Carlier, 2002), míg Winter 13-at (Winter, 1990). A robotikában a használatos fázisszám csökkentett a biomechanikai leíráshoz viszonyítva. (Azevedo és Heliot, 2005). Ez a reprezentáció egyszerűsíti a csuklók szöghatárainak a számítását, egy testtartás-elemzésből lehetővé válik ezen korlátok megbecslése.

Az emberi testhelyzetek feltérképezésére klasszikus jelölő módszer alkalmazható, ahol a résztvevők 20-24 év közötti fiatalok. A színpad 8 méter hosszú, 2 méter széles és 4 méter magas. A hátteret fekete színnel burkolják a jelölések, markerek könnyebb felismerhetősége érdekében. A kísérleteket biomechanikai járásspecialisták felügyelete alatt végzik. Hat résztvevőnek normál járással kellett végigmennie a start ponttól a színpad végéig, közbenső lassítás, vagy gyorsítás nélkül. Két kamera rögzítette a járást, egy oldalról, egy szemből. A csípő, a térd, a boka és a lábfej 3cm átmérőjű fehér markerekkel volt megjelölve.

A láb mozgásának filmrevétele

A járás ciklusokat két digitális kamerával rögzítik, 5,4m-re oldalt, és 8,25m-nyire szembe elhelyezve. A kép egy oldalsó nézetet mutat.

Hibrid megközelítés emberszerű testhelyzet generálásra

A sétáló inicializálása

Mivel ember inspirálta helyváltoztató rendszerről van szó, a humanoid test szegmensméreteinek közelítésére a humán antropometria került alkalmazásra. Az emberi antropometriában ezek a méretek a nem, a testfelépítés, a faji eredet, stb. függvényei. Az ismertetett munkában egy átlagos hosszt használtak, mely a (Winter, 1990)-ben található és a következő formulákkal részletezhető:

Ahol fl, fb a lábfej hossza és szélessége, tl a térd és a bokacsukló közötti szegmens hossza, a leg_l jelölés a lábszár hosszát reprezentálja, és Int_h a csípőcsuklók távolsága.

A sétáló vázának inicializálása után a klasszikus kinematikai modellezés helyett most egy pontraj, pontsokaság alapú keresési eljárásmódot mutatunk be a testhelyzetek generálására. A részecskék raját a sétáló csuklóin helyezzük el, a rajnak egy megfelelő új pozíciót kell találnia a csuklók számára, biztosítva a robot előrelépését elesés nélkül.

A részecske-raj alapú optimálásban, amint ezt Kennedy és Eberhart megadta (Kennedy és Eberhart, 1995), a raj részecskék egy halmazából áll össze. Minden egyes részecske saját pozícióval és sebességgel rendelkezik, továbbá egy fitness függvénnyel. Kezdetben a részecskék véletlenül inicializáltak egy-egy csukló pozíció körül, majd egy keresési teret határozunk meg a raj számára. A részecskéknek a keresési téren belül új pozíciót kell megtalálniuk, a raj összes részecskéje figyeli a saját legjobb pozícióját és a legjobb részecske pozícióját. A fitness függvényt használjuk minden egyes részecske jóságának a kiértékelésére, és a legjobb kiválasztására. A részecske-raj alapú optimálás kifejezése a következő formulával adott:

Ahol xi(t) az i. részecske pillanatnyi pozíciója, vi(t) pedig a sebessége. c1 módosítja a részecske személyes közreműködését, c2 pedig a szociális, azaz a raj közössége érdekében mutatott közreműködését. Az r1 és r2 0 és 1 közötti valós véletlenszámok. plbest reprezentálja a legjobb részecskét az i. részecske szomszédai között, pgbest a raj legjobb fitness értékével rendelkező részecskéje. A t jelöli az aktuális időpillanatot, t-1 pedig a megelőzőt.

A rajok jobbláb és balláb szerinti al-rajokba vannak csoportosítva. Mivel a járási ciklusban mindig van egy támasztóláb és egy felemelt láb, a láb al-rajok felváltva fognak mozogni. Amikor a láb támasztó, az összes részecskéje kereső módban van. Az együttműködés szintén nagyon fontos, egy érvényes előrelépés a teljes csontváz csuklóinak pozíciójától függ. A korlátok kielégítésére néhány együttműködési kapcsolatot állítunk fel a csukló rajok között, ezek a kapcsolatok a (b) ábrarészen jelennek meg. Valójában egy kapcsolat azt jelenti hogy a csukló legjobb pozíciója kapcsolatban van a felső csuklóval és a virtuális tömegközépponttal, abból a célból, hogy ellenőrizze és érvényesítse a stabilitását a soronkövetkező csukló elmozdulásoknak.

A rajfeldolgozás részletei

A javasolt architektúra két al-rajból áll össze; a (0) jelű al-raj a lábat reprezentálja, lásd az ábrát, és három fő részecskéből tevődik össze: p0.1, p0.2 és p0.3, a csípő, a térd és a boka. Hasonló szerkezet használatos a jobb láb esetén, mely az (1) jelű al-raj által adott. Ezek a részecskék valódi csontváz pozíciókat reprezentálnak és feltételezés szerint ritkán mozdulnak, ezek memória részecskék. Mindegyikük körül van egy korlátozott részecske halmaz mely a keresési tér felkutatásában működik közre. Egy lépés hét pont-koordinátát tartalmaz, melyek a csuklókat és a testet reprezentálják. A rendszer stabilitásának biztosítására mindegyik csuklóhoz rendelünk egy részecskét. Ez a részecske csak akkor lesz mozdítva, ha a következő pozíciója biztosít egy előrelépést és a gyalogos statikusan stabil testtartását.

(b) AI-raj architektúra és a következtetési gráf, a memória-részecskék szürkék, a kereső részecskék fehérek

(c) A kétlábú helyváltoztató rendszer oldalnézete

Ha a p0.1 részecskét tekintjük az ábra (b) részén, láthatjuk, hogy ez a részecske egy memória és nem engedélyezett a mozgása, mivel az új pozíciója nem jobb, mint az aktuális és az új pozíció nem biztosít stabilitást. A p0.1-hez kapcsolódó kereső részecskék inicializálva vannak és iterálnak, mozognak, keresve a legjobb pozíciót a számukra foglalt keresési térben. A helyileg legjobb pozíció egyrészt a helyi keresési stratégiának megfelelően, másrészt a gyalogló globális stabilitási stratégiájára tekintettel kerül kiválasztásra. A globális stabilitás attól függ, vajon a P0 által jelölt tömegközépponti részecske belül van-e az alátámasztási poligonon. P0 reprezentálja a tömegközéppontját a robot tömegének, ez egy virtuális részecske és nincs hozzákapcsolt keresőraj.

A rajok működését a következőképpen képzeljük: A memória részecskék hierarchikusan egymáshoz kapcsolódnak alulról felfelé, egy ilyen kapcsolat azt jelenti, hogy a p0.2 részecske, azaz a 0 jelű raj 2 jelű részecskéje kommunikál a pozíciójáról mind a p0.1 és a p0.3 részecskével, ezen részecskék viszonylagos pozícióit szintén összegyűjti. A p0.3 részecskének csak a p0.2 részecske pozíciója van meg. P0 egy speciális részecske melyet a test tömegközéppontjának a jelölésére használunk, pozícióját a legjobb al-raj részecskék felhasználásával becsüljük a (8) és (9) egyenletekkel. Ez a részecske kritikus, mivel a koordinátáinak az analízise fogja segíteni eldönteni vajon a generált csukló pozíciók stabil testtartásnak felelnek-e meg, vagy sem.

Stabilitás ellenőrzési eljárásmód

A dinamikus járás természetes emberi jellemző, a kétlábon állás nagyon ritka járás közben, gyakoribb az egy támasztólábas állapot. Statikus egyensúlyú járás leírható stabil álló pozíciók sorozataként, még abban az egyszerű támasztási fázisban is, amikor a járás leállt a járási ciklus közben, a robot még állva marad egyensúlyi pozícióban. A járás fázisait bemutató későbbi ábra mutatja a tömegközéppont pozícióját a járási ciklus alatt ahol egyszerű támasztó fázisok váltakoznak dupla támasztásos fázisokkal. Egy ember számára egyszerűbb elérni egy statikus egyensúlyt mint egy dinamikusat. Lassú előre haladásban a statikus stabilitás biztosítva van, ha

  1. kettős alátámasztásos esetben a robot tömegközéppontja az alátámasztási poligon közepéhez – belsejébe – esik

  2. egyszerű – egylábas – támasztási fázisban, a tömegközéppont a támasztó talpra esik. Ez a feltétel biztosítja, hogy a robot nem esik el miközben egyensúlyoz.

A javasolt algoritmus pszeudokódja:

Al-rajok számának inicializálása
Al-rajokban lévő részecskék számának inicializálása
n1, n2 = maximális iterációszám inicializálása
M(i,j) csuklómemóriák inicializálása
Begin
	Ciklus
		Támasztóláb választás
		Lengőláb al-rajainak inicializálása: Al-raj(i)= {Si.0, Si.1, Si.2}
		Lokális keresőrajok inicializálása S(i,j)
		Ciklus
			Al-raj(i) kiválasztása
			For i=1 to al-rajok darabszáma
				Al-rajok() futtatása
				Lokális legjobb kiértékelése: Gbest(i,j)
			Next i
			Lépés kiértékelése:
				Tömegközéppont (x,y) pozíció becslése
				Gyalogló stabilitásának ellenőrzése
			M(i,j) = Gbest(S(i,j))
			Támasztóláb váltás
			Részecske dinamika átadás()
		Mígnem (iterációszám = n1)
	Mígnem (iterációszám = n2)
End.
						

Biomechanikai szempontból a tömegközéppont koordinátái a (8),(9) egyenletek által becsültek. Ha a test n szegmensből áll (S1, S2, …, Sn) és ha a szegmensek súlya (m1, m2, …,mn), akkor a tömegközéppont helye megbecsülhető. Szükség van a tömegközéppont padlóra eső vetületére, ami azt jelenti, hogy kell a tömegközéppont (x,y) koordinátapárja. A szegmensek relatív tömege a csontváz súlyától, az alkalmazott mozgatók és szenzorok természetétől és arányától függ. Lehetőségként ez közvetlenül az emberi antropomorf vizsgálatoktól függhet, még akkor is, ha az emberi izom még jobb mint bármelyik ipari mozgatószerv.

ahol (i) az iterációk szama, n_Sw az al-rajok száma a javasolt modellben, most n_Sw= 6. M a helyváltoztató rendszer középpontja, és mj az Sj szegmens tömege.

Ha feltesszük, hogy a robot a helyváltoztató rendszer méreteivel arányos lábnyommal bír, és ez téglalap alakú, akkor egy egyszerű ábrázolást kapunk a támasztó sokszögre, mind kettős, mind egy támasztóláb esetére, lásd az alábbi ábrát. A lábnyomot téglalap alakúnak feltételezzük, fl hosszal és fb szélességgel, (1) és (2) összefüggéseknek megfelelően. Ha csak egytámaszos fázisok vannak a járás ciklusa alatt, a támasztó sokszög a p0.3 (bal bokától) a p1.3 (jobb bokáig) kapcsolódó szegmensre korlátozódik, akkor ez egy korlátozott megoldás az elsőhöz hasonlítva.

Statikus járás lábnyomai (téglalapok), valamint a tömegközéppont vetületei (körök). Üres téglalap: felemelt láb.

Fitness függvények

Esetünkben egyaránt szükségünk van lokális fitness függvényekre, hogy meghatározhassuk a lokálisan legjobb részecskéket, valamint globális fitness függvényre, hogy kiválaszthassuk a legjobb pózt a stabilak közül. Lokálisan azok a legjobb részecskék, amelyek minimálják a (10) összefüggés által számított hibát.

Ahol fSW(j) a j. raj fitness függvénye, psi,j pedig az (i,j) csukló memória-részecskéjéé. pthi,j a közvetlen kinematikai megoldó által szolgáltatott csuklópozíciónak megfelelő elméleti pont.

Ahol Msgi és Mfti az oldal és a frontális nézeteken értelmezett forgatásokat megadó mátrixok, a következőképpen számíthatók:

Megjegyezzük, hogy θj,i-1 a legutolsó stabil pozíció esetén a j. al-rajban lévő i. csukló szöge az oldalnézeten. A frontális síkbeli forgatómátrix az X tengelyre a (13) kifejezéssel adott:

Ahol αj,i-1 a legutolsó stabil pozíció esetén a j. al-rajban lévő i. csukló szöge a frontális nézeten.

Hogy kiértékeljük a globális legjobb pozíciókat és stabilitási stratégiát, megpróbáljuk minimalizálni a következő kifejezést; a legjobb mintázat az, amelyik minimalizálja a tömegközéppont vetülete és a támasztó poligon középpontjának a távolságát.

Ahol (xpolycenter, ypolycenter) jelenti a támasztó poligon középpontjának koordinátáit, melyek attól függően változnak, hogy a robot egy támasztólábas, vagy két támasztólábas fázisban van.

Diszkusszió és továbbfejlesztési lehetőségek

Bár általában a klasszikus kinematikai modellezést használják a csuklótrajektóriák generálására, itt egy biológiai ihletésű hibrid járásmód generálási módszert mutattunk be. Az alkalmazott részecske-raj optimálási módszert az evolúciós számításhoz sorolják, előnye a gyorsan számítható egyszerű kifejezésekben van, melyek kis memóriaigénnyel járnak.

3D lépések láthatók a következő ábrán.

Az optimalizált lépések

A következő ábra oldalnézetben mutatja a járás fázisait.

Lábhelyzetek

A tömegközéppont járás közbeni pályája látható három nézetben alább hagyományos kinematikai számítással meghatározva:

A tömegközéppont helyzetének vetületei

Összehasonlításként a tömegközéppont járás közbeni pályája látható három nézetben alább a részecske-raj alapú optimálással meghatározva:

A raj-optimalizálás szolgáltatta tömegközéppont pálya

A részecske-raj alapú optimálás globálisan hasonló eredményt ad, mit a klasszikus kinematikai módszer (Ammar, 2006) az x és y tengelyeken, míg a z vetület kissé eltér, mutatván, hogy a gyalogló nem szimmetrikusan mozog. (A könyv szerzőjének megjegyzése: a z görbe negatív értékeinél látható nagy közbenső púpok, melyek pozitívba is átmennek, megkérdőjelezik a robot stabilitását.)