MACSKA IAR 2005 Készítették: Nagy Krisztina Kancsár Dániel Sipos Péter
Tartalomjegyzék Célkitűzés…………………….................................................................................................3 Mi a robot?...............................................................................................................................4 Részegységek a kutatás függvényében….......................................................................…….7 Látás………………….............................................................................................................8 Kommunikáció……..................................................................................................……….10 Mozgás……….................................................................................................................…..11 Agy………….....................................................................................................................…12 Hasonló rendszerek…................................................................................................………15 .
2
1- Célkitűzés A projekt neve: Macska A projekt célja: Minél intelligensebb négylábú animat megtervezése és megvalósítása, mely lát, hall, döntést hoz, mozog, és kommunikál. A projektnek nem piaci céljai lennének, hanem a képességeink fejlesztése, valamint határainak feszegetése. A feladatspecifikációt két részre osztottuk a részcélok nehézsége szerint. Míg az első fázisban egy négy lábú, tájékozódó és közlekedő robotot valósítunk meg, reményeink szerint a második fázist elérve egy valamilyen szinten gondolkodó, macskára egyre inkább hasonlító animatunk lesz. 1- Minimális célkitűzések A macska kiindulási állapota a fekvő helyzet, melyből először talpra áll (lábanként háromhárom csuklópont). Haladása normál sebességű. A statikus stabilitás szerint három lába mindig a földön van, súlypontja pedig ezen három lába által bezárt háromszögön belülre esik. Látása nem tényleges (kamerás) látás, hanem pl. szenzoros távolságérzékelés. Felméri a maga előtt lévő teret, és eldönti, merre kell, illetve érdemes haladnia. Az útjában lévő objektumokat “három irányból” kerülheti meg (balról, jobbról, alulról). Ahhoz, hogy a reményeink szerint elkészülő robot ne csak álljon, és nézzen maga elé, ha adott számú és frekvenciájú hangot érzékel, akkor azok cselekvésre késztetik. Ezzel minimális szinten irányítható lesz, de a későbbi fázisokban valószínűleg elvetjük ezt a megoldási módot, és egy dinamikusabb megoldást valósítunk meg, miszerint bizonyos mozgásokat érzékelve arrafelé veszi az irányt. A beszéde valójában előre betáplált hangok felszólalását jelenti, melyek hibajelzésre szolgálnak (pl. beszorult, lemerült, stb.). Az agya ezen a szinten még kezdetleges, inkább egy szabályalapú rendszerprogram, mint tényleges agy. Kezeli a bejövő információkat, kommunikál az egyes egységekkel, tehát összehangolja a robot működését. 2- Optimális megvalósítás A minimális célokon túl a mozgásának minél dinamikusabbá tétele az egyik fő célunk, valamint az, hogy külső – digitális – beavatkozásra a lehető legkisebb mértékben legyen szükség akkor, ha aktuális célja egy adott tevékenység elvégzése. Szeretnénk elérni, hogy a robot által érzékelt tér „real-time” feltöltésre kerüljön egy PC-re, ahol azt fel tudjuk dolgozni (pl. térképkészítés). Hallásának bővítéseként minimális hangszótárt telepítenénk belé, mely lehetővé teszi, hogy egyszerű vezényszavakra reagálhasson. Mindezeken kívül egyre nagyobb hangsúlyt kapna az agya, mely a folyamatos fejlesztések következtében képes lenne bizonyos önálló döntések meghozatalára, következtetésekre, és remélhetőleg tanulásra. Nem titkolt célunk egy olyan robot megtervezése és megvalósítása, mely mind mozgásában, mind viselkedésében egyre inkább hasonlít egy igazi, hús-vér macskához. Tudjuk, hogy nagy fába vágtuk a fejszénket, de minden erőnkkel azon vagyunk, hogy álmainkat ily módon megvalósíthassuk.
3
2- Mi a robot? Mivel nincs egységesen elfogadott definíció a robot fogalmára, a következő szempontok teljesülése esetén beszélünk robotról: teljes egészében ember készítette szerkezet, tud mozogni, több szabadságfokkal rendelkezik, valamint tevékenységét részben vagy teljesen önállóan irányítja. A robotnak öt fontos jellemzőt kell teljesítenie: - programozhatóság - érzékelők - írható/olvasható memória - adaptációs képesség - tanulási képesség Célunk egy négylábú animat megvalósítása. A kifejezés az angol állat (animal) szóból származik, és a robotika egy speciális ágának tekinthető. Állatok gépi modelljének megépítését foglalja magába. Talán a legfontosabb tulajdonsága a helyváltoztató képesség. Létezik nyolc-, hat-, négy-, három-, két-, sőt egylábú animat is. A legnehezebb feladat a járási stratégia kidolgozása, azaz hogy lépés közben hány lába maradjon a talajon, és ezalatt a súlypontja hova essen. A statikus stabilitás szerint például a négylábú lépegető robotnak egyszerre három lába van a talajon, a súlypontja pedig a három láb által bezárt háromszögön belülre esik. Jelen esetben gondolkodunk a mozgás azon megvalósításán, miszerint a macska egyensúlyát nem statikus, hanem dinamikus stabilitás adná. Robot – aktív mesterséges ágens, környezete a teljes fizikai világ. Autonóm robotok – a visszacsatolások által vezérelve saját maguk hozzák a döntéseket. A valós világ .. • Hozzáférhetetlen, az érzékelők tökéletlenek, csak az ágenshez közeli hatásokat érzékelik • Nem determinisztikus, nem tudhatjuk, hogy egy tevékenység be fog e következni • Nem epizódszerű, döntéshozatal és tanulás szükséges • Dinamikus, azonnali döntések kellenek vagy lehet habozni? • Folytonos Robotok típusai • Gyártás és anyagkezelés • Gofer robotok Æ mozgó robotok (mobots) • Központi vezérléssel Mozgó robot • Mozgás • Kerék • Láb •
Távműködtetés • Kamera
4
•
Test • Merev test • Szilárd kapcsolóelemek (link) • A kapcsolóelemek csuklópontban találkoznak (joints) • Végbeavatkozók
•
Érzékelők • Kamerák • Infravörös érzékelők • Radarok • Hanglokátorok • Gyorsulásmérő
A cselekvés eszközei • Beavatkozó (effector), ami hatást gyakorol a környezetre • Helyváltoztatás (locomotion) • Manipuláció (manipulation) • Működtető (actulator), a szoftveres parancsokat fizikai mozgássá konvertálják • Villanymotor • Hidraulikus, pneumetikus munkahenger Szabadságfok (degree of freedom) • Helyváltoztatás • Kerék • Láb, nehéz a robotnak (programozónak) • Statikus stabilitás, lassú, gazdaságtalan • Dinamikus stabilitás Holonomikus – nem holonomikus (degree of freedom kapcsolat) • Ha kevesebb a DOF, mint a megvalósítható mozgáslehetőségek, bonyolultabb lesz a rendszer Az érzékelés eszközei • Önérzékelés • A csuklópontok helyzete (bitkódok a szögekről, kiterjedésről) • Pozícióváltoztatás mérése, távmérővel • Kerék forgása • Léptetőmotorok elmozdulása • Irány, mágneses iránytű, giroszkóp • Hanglokátor SONAR, SOund Navigation And Ranging • Közeli tárgyak csak • Azt az időt méri, amíg visszaérkezik a “csip” (> 50khz, 7mm hullámhosszon)
5
1m Æ 6*10^-3s •
•
Térképezéshez nehéz használni, • nyalábszélesség, • nagy hullámhossz, • merőleges felületek a szellemképek a robot mozgásával eltűnnek! (bayersi frissítés)
Kameraadatok Amennyiben a robot által elvégzendő feladatok korlátozottak, csak az azon feladatok ellátásához szükséges látásra van szükség. „Tárgytartomány kényszerek” pl. épületben a sík felület vagy vízszintes vagy függőleges, az objektumok a padlózaton vannak. • • • •
Strukturált fényérzékelők (IntRsz2) Lézer távolságmérők – mélységérzékelők („olyan mélységi képet biztosítanak, amely gyorsan, másodpercenként többször frissíthető”) Kereszt sugárnyalábos érzékelő Párhuzamos sugárnyalábos érzékelő
Architektúrák Köztes szintű tevékenységek Æ „komplex”, alacsony szintű tevékenységek rutinjai. Az elmozdulással nő a bizonytalanság, ha meghalad egy értéket Æ újra tervezi az útvonalat.
„Viselkedés alapú robotika” Az alapfunkciók (érzékelés, tanulás, szervezés) mellett viselkedik is, pl. falkövetés, feltárás, akadálykikerülés.
6
Navigálás • Cellákra történő bontás (cell decompositon), a teret véges számú cellára bontják diszkrét keresési problémát eredményezve. • Szkeletonizálás (skeletonization), a konfigurációs tér egydimenziós „csontvázával” számolnak, egy ekvivalens gráf keresési problémát eredményezve. • Jelzőpontos navigálás (landmark based navigation), feltételezi, hogy vannak olyan régiók, amelyekben a robot helye jelzőpontok használatával megállapítható, míg ezen területeken kívül csak irány jellegű információ áll rendelkezésre. • On-line algoritmusok feltételezik, hogy kezdetben a környezet teljesen ismeretlen, de valamilyen formájú pontos pozíció érzékelést feltételeznek. Felhasznált irodalom: Stuart J. Russel, Peter Norvig: Mesterséges Intelligencia Modern Megközelítésben Prentice-Hall 1995. (Magyar fordítás: Panem Kft. 2000)
3- Részegységek a kutatás függvényében Macskánk blokkvázlata a következőképpen néz ki:
MI
Látás
Autonóm rendszer
Az MI feladata hogy az autonóm rendszer által kiértékelt, feldolgozott információk, illetve ösztönök alapján döntéseket hozzon, és az autonóm rendszeren keresztül beavatkozzon.
Mozgás
Kommunikáció
Hallás
Adatcsere külső egységgel
Hangjelzés, hibajelzés, figyelmeztetés
Az MI feladata a döntéshozás. Külső információk, illetve ösztönök alapján döntéseket hoz, majd kiküldi végrehajtásra az autonóm rendszernek. 7
Az autonóm rendszer feladata lesz minden beérkező információ feldolgozása, elraktározása, az alapvető rendszerek vezérlése, illetve a kijelölt parancs részekre bontása majd végrehajtása (pl.: valaki hívja, akkor a látott kép alapján megtervezi az útvonalat, majd kiadja a mozgás alrendszernek a megfelelő parancsokat).
3.1- Látás Cél: „A Szem feladata a helyszínt leíró rövid jelentés tétele az Agynak. A Szemnek a munkakörnyezettől kb. fél méterre kell lennie és kvalitatív vagy kvantitatív leírást kell adnia. A Szem az Agytól jövő kérdésekre is válaszolhat. A Szem nem tudhatja, hogy mi a cél.” Kvalitatív (minőségi) Pl. „Az oldalán fekvő zöld doboz tetején egy piros doboz van.” Kvantitatív (mennyiségi) Pl. „A zöld doboz kb. 50 cm távolságra balra van a kék hengertől.” Esetünkben talán egyszerűbb a helyzet, mivel a látás „csak” azért felelős, hogy az aktuális térben feldolgozható formában megjelenítse az Agy számára az akadályokat (objektumokat). Vagyis csak a navigáláshoz, akadályok kikerüléséhez szükséges információk kellenek. Ezért a forma legegyszerűbb esetben egy 2D-s mátrix lenne, amelynek a cellái tartalmaznák az épp érzékelt „kép” pontjainak távolságát. Ez sokban hasonlít egy szürkeállományú kép intenzitásértékeihez ezért akár a megszokott képfeldolgozó algoritmusok is alkalmazhatóak rajta. Egy ilyen mátrixot legegyszerűbben távolság – mélységmerőkkel tudunk létrehozni • Lézeres • Ultrahangos De nem vethetjük el a megszokott kamerás érzékelést sem, mivel bizonyos trükkökkel abból is kinyerhető a távolságra vonatkozó információ. • Két kamerás sztereopszis • A látszólagos mozgás üteme Mivel csak az objektumok kiterjedését kell érzékelnünk ezért elégséges egy-egy objektumnak csupán a durva érzékelése. A részletesebb leírás, mint pl szín, pontos alak, egyéb jellemzők feleslegesek a célunk eléréséhez. Megvalósítási alternatívák: - lézeres távolságmérés A fény visszaverődési sebességét nem tudjuk mérni, ezért a fényt, mint vivőhullámot kell használnunk. Modulált lézersugarat bocsátunk ki, majd a kimenő és visszaverődő lézersugár fáziskülönbségéből kiszámoljuk a távolságot. Problémát jelentenek viszont a nagyon távol, ill. közel fekvő objektumok, mivel azokról nem tud megfelelően visszaverődni a lézerfény. De azt, hogy 30cm-nél közelebb van e valami, eldönthetjük reflexiós szenzorokkal is. Ez egy infrasorompós érzékelő, ha van a közelben tárgy, visszaérkezik a kibocsátott jel. A távol fekvő objektumok problémája ezek után pedig nem probléma, - hacsak nem egy különlegesen képzett felületről nem verődött vissza – mivel az azt jelenti, hogy nincs ott semmi.
8
- ultrahangos távolságmérés A hang visszaverődési sebességét már lehet mérni, ha nem folytonos jelet bocsátunk ki, hanem csak impulzusokat. A visszaverődött jeleket mikrofon érzékeli ezért itt nem jelentenek problémát a közeli objektumok. A kicsi hullámhossz miatt egy-egy „impulzus” többször is visszaverődhet, ezzel szellemképessé téve az érzékelt teret. Ezek a szellemképek eltüntethetők, ha ∆idővel később, más pozícióból megismételjük a mérést. (bayersi frissítés) Viszont egy igazán jó ultrahangos távolságmerő 1-2 M Ft. - kétkamerás sztereopszis A térlátás gondolata: az eltérő kamerapozíciók ugyanannak a képnek a háromdimenziós jelenetnek a kismértékben eltérő kétdimenziós képeihez vezetnek. Ha a két képet egymásra fektetjük, a képjellemző elhelyezkedésében a két kép különbséget fog mutatni. A képeltérés és a mélység kapcsolata: δO / δZ = -b / Z², ahol b – bázisvonal, Z – távolság, δO – a legkisebb dektektálható képpont, δZ – számított képmélység-különbség. - mozgás alapján történő távolságmérés A mélység kiszámításához a frissítéstől, ill. sebességtől függően több képkocka is szükséges lehet. Ha kicsi ill. nulla az elmozdulás mértéke akkor csak az előző számítások pontosítására lehet alkalmazni. Viszont amint két kép objektumi között van eltérés úgy a sebesség – bizonytalan elmozdulás – ismeretében ki lehet számolni az adott objektum távolságát. Kiegészítés a látáshoz: Képalkotás A jelenet képeiről egy 2D-s képet készítünk. - Sötétkamra • Perspektivikus vetítés • Geometriailag pontos 3D-s ábrázolás • Fordulnak a fel le, jobb bal irányok • - Lencserendszerek • Egyidejűleg a jelenet minden pontjának az élességét nem lehet biztosítani • A Z távolságban lévő kép Z’ távra fog látszódni • 1/z + 1/z’ = 1/f (f a fókusztávolság) (de kb. Z’ = f) • A kamra lencséjének Z irányban kell elmozdulnia a távolság változása esetén Képfeldolgozási műveletek egyszerű látásnál 1. Mélységi diszkontinuitás (a folytonosság, összefüggés hiánya) 2. Felületi orientáció diszkontinuitás 3. Visszaverődési képesség diszkontinuitás 4. Fényességi diszkontinuitás (árnyék) Élek meghatározása • Differenciálás • Elmosás plusz differencia
9
Konvolúció • Számos képfeldolgozási eljárást (simítás, differencia) lehet elvégezni, ha a képet egy alkalmas függvénnyel konvuváljuk (convolve) F és G konvolúcója H F oG=H 3D információ kinyerése látással 1. A jelenet szegmentálása megkülönböztetett objektumokra 2. Mindegyik objektum pozíciójának és térbeli orientációjának megfigyelőhöz képest 3. Mindegyik objektum alakjának meghatározása A látszólagos mozgás üteme a távolságról is hordoz információt.
meghatározása
a
Képmélység, kétkamerás (binokuláris) sztereopszis • Az eltérő időpontok helyett több szeparált képet használunk – emberi szemek Legelemibb navigálás – mindig a fény felé, vagy attól elfele. Felhasznált irodalom: Mesterséges intelligencia, Aula Kiadó 1999. Szerkesztette: Futó Iván 18. fejezet, Vámossy Zoltán munkája alapján Intelligens Rendszerek II. főiskolai jegyzet, Molnár András munkája alapján Stuart J. Russel, Peter Norvig: Mesterséges Intelligencia Modern Megközelítésben Prentice-Hall 1995. (Magyar fordítás: Panem Kft. 2000)
3.2- Kommunikáció Hangazonosítás: Az animatot szeretnénk ellátni egy mikrofonnal, mely egy állandóan futó algoritmus segítségével parancsszavakat keres a beérkező jelekből, majd eldönti, hogy olyan valaki adtae ki, aki erre jogosult. Kezdetben mindennel szemben felülbíráló, majd az ösztönagy valamilyen szintű megalkotása után befolyásoló tényező (ha úgy dönt, figyelmen kívül hagyhatja). Hangjelzés: Az animat rendelkezni fog egy kissebb teljesítményű hangszóróval, amin képes lesz előre, digitális formában eltárolt hangokat lejátszani. Ezekhez egyesével hozzárendelhetünk különféle eseményeket, pl.: alacsony tápfeszültség, beragadt állapot, rendszerhiba (trial verzió lejárata :P), így kaphatunk információt esetleges felmerülő problémákról. Fontosabb szerepet majd az ösztönagy megalkotása, illetve egyfajta személyiséggel való felruházás után kaphat. Rádióhullámú kommunikáció számítógéppel: Mindenképpen ellátjuk egy rádióhullámú interfésszel, melynek segítségével kapcsolatot tud tartani egy külső nagyobb teljesítményű számítógéppel. Innen adatokat tud lekérni, illetve 10
további elemzésre, vagy raktározásra feltölteni. Ezenfelül lehetővé tesz távirányítást, távolsági beavatkozást is az animat számára. GPS: Az animatot el szeretnénk még látni egy egyszerű GPS koordináta vevővel, melynek segítségével meg tudja határozni távolabbi célpontok helyzetét, irányát. Így a GPS és a látása segítségével levileg bármilyen távolságra el tud jutni.
3.3- Mozgás Ezt a részt monghatjuk talán a projekt legtávolabbi és legködösebb részének, ugyanis itt kell majd a már meglévő részegységeket egy egésszé összeállítani, illetve a testet mozgásra bírni. Itt még rengeteg a kérdőjel, amelyek csak a gyakorlati próbáknál tünhetnek el, ha egyáltalán eltünhetnek. Be kell ismernünk, hogy ez a terület a mai technikához képest meglehetősen gyerekcipőben jár még. Csak hogy egy-két példát említsek: az Egyesült Államok hadserege évente ír ki egy olyan versenyt komoly összegekért, melyben egy olyan katonai célokra alkalmas robotot keresnek megy képes önállóan átkelni a Nevadai sivatagon mindenféle beavatkozás nélkül, mert hogy ez még igenis nagy gondot jelent. Vagy nézzük meg a NASA robotjait, amik talán mondhatjuk, hogy a világ csúcstechnológiáját képviselik. Cél: Egy olyan hardware alap megalkotása, ami lehetővé tesz egy viszonylag gyors és dinamikus mozgást az animatnak, helytől és tereptől függetlenül. Főbb szempontok: - Mobilitás: Az animat saját energiaforrással rendelkezzen, ami legalább egy órán keresztül (?) biztosítsa neki a tápellátást - Önállóság: Az animat képes legyen külső beavatkozás nélkül a számára (vagy saját maga által) kijelölt feladatokat végrehajtrani. Vázrendszer: Itt rögtön elhatároztuk, hogy saját, általunk tervezett „testet” fogunk készíteni. Alapanyagnak az alumíniumot választottuk, könnyű megmunkálhatósága, alacsony súlya és a célhoz elegendő szilárdsága miatt. Az alacsony súly nagy fontossággal bír a motorokon lévő erőkarok miatt. Előzetes terveink szerint az animat paraméterei: 50 cm hosszú 20 cm magas 15 cm széles A súlyát még nem tudjuk megbecsülni, ez nagyban fog függeni a rendelkezésünkre álló motoroktól, és egyéb alkatrészektől. Felépítésében szeretnénk minél jobban leutánozni egy macska felépítését, ezáltal mozgását is, hogy így minél többet átvehessünk annak dinamikájából. Valamint az egésznek egy egzakt, tetszetős külsőt adni. A vázrendszer megtervezése AutoCAD programmal fog történni, majd CNC eszterga, illetve marógépekkel lesz legyártva.
11
Mechanika: Szervo motorok: Kis méretű impulzus vezérelt motorok, melyek általában 180 fokos kitérést tudnak produkálni. 3 kivezetéssel rendelkeznek, egy +5 voltos táp, egy GND, és egy control vezetékkel. A motor beépített elektronikája 200ms-onként figyeli a beérkező impulzus hosszát, amit egy szög-állásra fejt vissza. Előnyük, hogy saját súlyukhoz és méretükhöz képest nagy erőt tudnak kifejteni, viszont maximum 180 fokot. Ennek a két tulajdonságának függvényében kiválóan alkalmas végtagok mozgatására. Léptetőmotorok: Szintén impulzus vezérelt motorok, ám itt egy impulzus hatására egy gyárilag beállított szöget fordul. Több altípusa is létezik, ennek függvényében a működés elvükben is tapasztalható némi eltérés. Nagyon elterjedt motor fajta, ugyanis nagy erőt képes kifejteni hihetetlenül nagy precizitással. Hátránya, hogy külön meghajtó-elektronikát igényel, ugyanis maga a vezérlőimpulzus hajtja. Elsősorban a látás optikájánál, a tükrök pozícionálásánál kap fontos szerepet. DC motorok: Egyszerű, két kivezetéssel rendelkező motorok, melyek egy bizonyos feszültség szint hatására egy megadott fordulatszámon forognak. Mivel viszonylag nehezen vezérelhetőek (PWM), és a projekt szempontjából kiemelkedő előnyük nincs, így használatukat valószínűleg mellőzük. Hidraulika és Pneumatika: Közvetlenül nem elektromos rendszerek, így használatuk előtt az elektromos mennyiséget át kell váltanunk más fizikai mennyiséggé (jelen esetben nyomássá). Előnyük a kis mérethez tartozó óriási erőkifejtés. Mivel számunkra inkább a pontosság és a könnyen kezelhetőség a fontos, ezek használatát is mellőzük.
3.4- Agy Mesterséges intelligencia fogalma: „A mesterséges intelligencia azoknak a problémáknak számítógépes megközelítésével foglalkozik, melyek megoldásában jelenleg az emberek jobbak.” Alaine Rich Cél: Olyan négylábú robot elkészítése, melyet nem emberek irányítanak kívülről (pl. webes felületen), hanem a saját belső számítógépe dönti el, hogy a körülményekhez képest mit tegyen, vagy mit ne tegyen. Ezt valósítanánk meg úgy, hogy a Macska különböző részegységei saját (hardver) rendszeren kommunikálnak egymással, és ezen eredmények az agyba jutva döntési helyzetbe kényszerítik. Gondolok például arra, hogy ha a látás akadályt érzékel közvetlen előtte, az agya a mozgást másfelé irányítja az ütközés elkerülése végett. Tehát az agy elsődleges és legfontosabb szerepe, hogy összefogja a részegységeket (látás, hallás, kommunikáció, mozgás), és az általuk megszerzett információkból következtetést vonjon le, majd eszerint cselekedjen. Másodlagos funkciójának megvalósítása épül a mesterséges intelligenciakutatásokra, melyek szerint macskánk agya egy újszülött gyermek agyához hasonlatos, mely a környezet információit feldolgozva tanul, és így fejlődik. Szintén célunk még, hogy – macskáról lévén szó – működése a lehető legpontosabban közelítse meg 12
egy élő, hús-vér állat viselkedését. Ezt oly módon szeretnénk megoldani, hogy előzetes megfigyelések alapján összegyűjtött „ösztönöket” égetnénk az agyába, melyek kitölthetnék az úgynevezett üres időket, amikor nincs konkrét feladat, amit végre kell hajtania (pl. egy hangjelzésre való indulás és haladás). Nem csak hardver alapú robotra törekszünk, hanem személyiségre is. Megvalósítási alternatívák: - Szakértői rendszerek „A király – ha az MI-ről van szó – anyaszült meztelen, legalábbis bokáig, onnan lefelé viszont egy pár jól kidolgozott díszes cipőt visel, amelyet szakértői rendszernek neveznek.” Herbert Grosch A 70’s években az MI-kutatók felismerték a tudás elvét, mely kimondja, hogy a problémamegoldás képessége nem az alkalmazott formalizmustól és a következtetési módszertől függ, hanem attól, hogy mennyi és milyen magasan kvalifikált ismeretanyag áll rendelkezésre az adott tárgyterület vonatkozásában. Az ismeretszerző és ismeretreprezentációs módszerek kutatása során megszületett az ismeretalapú technológia, amely ismeretalapú rendszerekkel, azaz szakértő rendszerekkel foglalkozik. Programozási stílusok összehasonlítása – út a szakértő rendszerekhez - algoritmikus programozás adat + algoritmus = program Procedurális jellegű programozási stílus, függvényleképezést valósít meg a kimenő adatok között.
bemenő és
- adatbázis-programozás Leíró vagy deklaráló jellegű, relációt valósít meg a bemenő és kimenő adatok, adathalmazok között. - ismeretalapú rendszerek programozása Leíró vagy deklaratív jellegű, azonban az ismeretreprezentácótól függően tartalmazhat procedurális elemeket is. Míg az első kettő adat-intenzív, a szakértő rendszer tudás-intenzív szoftver. Az ismeretalapú rendszerek felépítése, alapfogalmai - Ismeretbázis: A feladatmegoldáshoz szükséges ismeretdarabkák szimbolikus leírását tartalmazza egy vagy több ismeretreprezentációs módszer szerint szervezve. Megtalálhatók benne az adott tárgykör szakértőjének heurisztikáit megfogalmazó szabályok. Tartalmazhat a megoldást módosító metaismereteket is. - Következtető gép: Az adott ismeretreprezentációs módokat kiszolgáló, egy vagy több megoldáskereső stratégia implementált változata, támogatja a többi komponens működését.
13
Munkamemória: Az adott megoldandó feladat specifikus információit tartalmazza, azaz a külvilágból érkező vagy onnan kért információkat, valamint a következtetések során kapott ismereteket. - Magyarázó alrendszer: A feladatmegoldás közben tájékoztatja a felhasználót a megoldás aktuális állapotáról, magyarázza a válaszait, valamint a feladatmegoldás után megindokolja a rendszer javaslatát. - Ismeretbázis-fejlesztő alrendszer: Az ismeretbázis megépítéséhez, teszteléséhez és módosításához nyújt felhasználóbarát fejlesztői környezetet a rendszerfejlesztő tudásmérnök vagy a tárgyterületi szakértő számára. - Tudásmérnök (knowledge engineer): Az adott tárgyköri ismeretek megszervezésében, az ismeretek megfelelő formalizálásában és a rendszerépítésben jártas számítástechnikai szakember. - Tárgyköri szakértő (expert): A megfelelő tárgyköri ismeretekkel rendelkező szakértő, aki a tudásmérnök szakmai konzultánsa. A szakértő rendszerek jellemzőinek rövid leírása: A szakértő rendszer tehát olyan ismeretalapú rendszer, mely szimbolikus információkkal dolgozik deklaratív feladatleírást és következtető feladatmegoldást (elfogadható következtetések, heurisztikák) alkalmazva. Maga a szakértői tudás drága, nehezen megszerezhető, pontatlan, gyakran ellentmondásos, viszont maga a rendszer felhasználóbarát, valamint egy egész emberi élet tudását tartalmazza a tárgykörre vonatkozóan. Az ismeretalapú rendszerek alaptechnikái: - szabályalapú technika Célvezérelt szabályalapú technika: Feladatként egy megoldandó célt kap, melynek igazolás ténnyel való illesztéssel vagy részcélok igazolásával való visszavezetéssel történik. Zsákutcába jutva visszalép. Végrehajtási ciklusának lépései: célkiválasztás, mintaillesztés, konfliktusfeloldás, végrehajtás és szabályalkalmazás, új ciklus kezdete. Adatvezérelt szabályalapú technika: A rendszer indulásakor a munkamemóriába elhelyezett kezdő adatokból kiindulva, előrefelé haladva jut el egy lehetséges célhoz. A kezdő adatok betöltése után a program végrehajtási ciklusa a következő: mintaillesztés, konfliktusfeloldás, végrehajtás és szabályalkalmazás, új ciklus kezdete. - keretalapú rendszerek a keret a modellezendő világ reprezentációt is tartalmazza.
szerkezetének deklaratív leírása mellett az algoritmikus
- induktív rendszerek Az induktív következtetés egyedi esetekből (példákból) jut általános érvényű következtetésre. Technikája a gépi tanulás legkorábban kidolgozott módszerein alapul. Az induktív rendszerek példák osztályozására alkalmasak: attribútumaikkal megadott tanulási példák feldolgozásával egy olyan lokálisan optimális döntési fát generálnak, amelynek
14
alkalmazásával további példák osztályozását lehet elvégezni. Az induktív algoritmus az előre megadott tanulási példákból attribútumról attribútumra haladva építi fel a fát, az egyes generálási lépésekben mindig a példák osztályozására legalkalmasabb információs előnnyel rendelkező attribútumot választva. Végrehajtási ciklusa a következőképpen néz ki: a probléma megadása (A probléma jellemzése, attribútumok nevének, típusának, lehetséges értékeinek felsorolása. Ezekből a rendszer mátrixot generál, majd ezt feltölti a példák adataival.), az ellenőrzés és a döntési fa generálása (Az indukciós algoritmus itt következtető gépként működik.), valamint a megépített rendszer futtatása (A példák alapján a tanultak felhasználása.). A módszer értékelés a Macska függvényében: Egy szakértő rendszer használatát – mint lehetséges agy – úgy tartom megvalósíthatónak és elfogadhatónak, ha magát a szakértő rendszert az eredeti jelentéséhez és szerkezetéhez képest jelentősen lecsupaszítanám, és átfogalmaznám. (Mivel a Macska agyának a különböző egységekkel való kommunikációját és kapcsolatát szinte bármely programozási nyelv képes leírni, itt csak azt veszem alapnak, ami a mesterséges intelligencia definíciójához kapcsolódik.) Az ismeretbázis tartalmazza a Macska előre beprogramozott ösztöneit, cselekedetmorzsáit, viselkedésformáit. A következtető gép itt nem a felhasználóval kommunikál, hanem a különböző egységek, érzékelők jeleire reagálva kutat megfelelő reakció után az ismeretbázisban. A munkamemória eredeti funkciója nem változik, viszont nincs szükség magyarázó alrendszerre. Ez a lecsupaszított megoldás alapjaiban hasonlít csak a szakértő rendszerekre, mivel a feladat specifikáció mássága nem indokolja ennél több komponens használatát. Nincs szükség tárgyköri szakértőre, hiszen állati ösztönöket és viselkedéseket szeretnék megvalósítani. A szakértő rendszer kérdését, mint egy robot esetleges agyának megvalósítási lehetőségét egyenlőre függőben hagyom, de nem utasítom, vagy vetem el teljesen. Felhasznált irodalom: Mesterséges intelligencia, Aula Kiadó 1999. Szerkesztette: Futó Iván 12. fejezet, Sántáné Tóth Edit munkája alapján
4- Hasonló rendszerek AIBO http://www.aibo-europe.com/1_1_3_ers7_specifications.asp Talán a legösszetettebb, de mindenesetre ami biztos, hogy a legújabb rendszer. Összesen 20 szabadságfokkal (DOFs) rendelkezik, ezekből csak a lábak mozgatására jut 12 (3*4). A látásáért egy CMOS képfelvevő szenzor a felelős. Két infravörös távolságmérővel is rendelkezik. A viselkedését egy memóriakártyán lévő program szabályozza. TomCat http://www.iguana-robotics.com/researchtc.htm http://www.alegrobot.com/tomcat.htm A fejlesztők a hangsúlyt a mozgásra ill. a sebességre helyezték. A szenzorok (13) mind a mozgásról gyűjtenek információt. 15
Legged robots http://www.leggedrobots.ceti.pl/robots.htm http://www.kimura.is.uec.ac.jp/research/Quadruped/photo-movie-tekken2-e.html http://www.kimura.is.uec.ac.jp/research/Quadruped/photo-movie-tekken-e.html http://www.kimura.is.uec.ac.jp/research/Quadruped/photo-movie-pat1-e.html http://www.kimura.is.uec.ac.jp/faculties/Collie/photo-movie1-e.html http://uirvli.ai.uiuc.edu/tlewis/pics/geoII.html A weblapokon lábbal rendelkező robotok leírását találtuk. A hangsúly a szerkezeten illetve a mozgáson van, ez sok animációval van reprezentálva. A fentebbi robotoknál – az AIBO-tól nézve – a lábak mindegyikénél három csuklópont, joint, szabadságfok volt. Pedig a végtag pozícióba helyezéséhez kettő is elég lenne. Viszont három csuklóponttal helyváltoztatás nélkül - helyzetváltoztatással - vagyunk képesek megváltoztatni a súlypontot. John Nagle, United States Patents, Why Legs have Three Joints, http://www.animats.com/papers/articulated/articulated.html, 2005-04-13. Boadicea http://www.ai.mit.edu/projects/boadicea/boadicea.html Egy apró, hat lábú pneumatikus hengerekkel működtetett robot, részletes leírással.
16