Prírodou inšpirované algoritmy

študijné materiály pre projekt mobilnej triedy umelej inteligencie

Späť ku kurzom triedy
Obsah
História
MIT veteráni
Cog
Kismet
Coco
Macaco
Segmentový robot
O tejto kapitole



Ostatné kapitoly
Walterove korytnačky
BEAM Robotika
Kolektívne správanie robotov
KANSEI
Braintenbergove vozidlá
POPBUGS
iRobot
Insect Robots
Ešte niekoľko robotov ...
MIT Roboty


Tutoriály
 Celulárne automaty
 Morfogenéza
 Simulátory
 Evolučné algoritmy
 Chaos
 Roboty
 Rôzne


MIT veteráni

V dokumente sú použité informácie zo stránky www.ai.mit.edu/projects/mobile-robots

Allen

Základom robota boli 3 nasledujúce "reflexné" vrstvy:

  • Prvá vrstva sa zabezpečovala, aby sa robot vyhýbal statickým ako aj dynamickým prekážkam. Robot sa kľudne usadil v strede miestnosti a pokojne tam zostal až do doby kým sa k nemu niečo nepriblížilo. Vtedy okamžite utiekol. Vnútorná reprezentácia, ktorá bola použitá bola založená na tom, že každý odraz signálu ktorý sa vrátil (sonar) reprezentoval odpudivú silu ako funkciu vzdialenosti. Suma vektorov týchto odpudivých síl potom udávala, ktorým smerom mal robot zutekať. Ďalší z reflexov robota zabezpečoval aby sa robot zastavil, keď bolo niečo tesne pred ním a pohybovalo sa to proti nemu (teda nie stena napr.)
  • Druhá vrstva zabezpečovala každých 10 sekúnd náhodné generovanie smeru pohybu robota. Tento reflex správania potom interagoval spolu s prvým.
  • Tretia vrstva zabezpečovala robotovi videnie pomocou senzorov, a snažila sa robota na videné miesta nasmerovať. Generovala požadovaný smer, ktorým sa mal robot pohybovať. Toto správanie bolo prepojené so správaním sa v prvej vrstve, ktorá zabezpečovala vyhýbanie sa prekážkam. Preto robot nie vždy poslúchol najvyššiu vrstvu (tretiu), pretože reagovala vrstva prvá. Úlohou najvyššej vrstvy bolo sledovať čo sa deje v okolitom svete, s cieľom tiež porozumieť to čo sa deje v vrstvách nižších a posielať im na základe toho korekčné signály.

Tom & Jerry

Tom a Jerry boli dva identické roboty, postavené na to aby demonštrovali ako málo výpočtov je potrebných v subsumpčnej architektúre. Bola implementovaná 3 vrstvová architektúra, a prenos signálov bol po jednom bite. Z konštrukčného hľadiska boli Tom a Jerry dva hračkárske autíčka s troma senzormi vpredu a jedným vzadu. Senzory boli jednotlivo nastavené na rôzne vzdialenosti. Centrálny vpredu detekoval len blízke objekty, zatiaľ čo dva postranné senzory boli nastavené na podstatne väčšiu vzdialenosť.

  • Prvá vrstva podobne ako u Allena zabezpečovala odpudivé sily na vyhýbanie sa prekážkam alebo na zastavenie, ak to centrálny senzor vpredu zachytil. Musel byť, však pridaný dodatočný reflex tzv. aktívneho brzdenia kvôli relatívne vysokej rýchlosti vzhľadom na detekciu ich senzorov.
  • Druhá vrstva bola podobná Allenovi a zabezpečovala príťažlivú silu, ktorá spolupôsobila spolu s nižšovrstvovými reflexmi vyhýbania sa prekážok.
  • Tretia vrstva detekovala pohybujúce sa objekty v okolí pomocou predných senzorov a v prípade, že bolo detekované, že sa v okolí niečo pohybuje robot za tým okamžite vyrazil. Najnižšia vrstva so svojimi reflexmi však zabezpečovala aby do objektu nenarazil. Preto Tom a Jerry svoje obete len naháňali ale nenarazili do nich. Demonštrovali týmto príklad nezávislého chovania bez toho aby o sebe vopred vedeli a často sa dostali do situácie keď sa naháňali navzájom.

Herbert

Herbert bol robot s 30 infračervenými senzormi na vyhýbanie sa prekážkam, s manipulátorom so senzormi umiestnenými v chápadle a laserovým systémom umožňujúcim zostrojenie dát 3D priestoru pred ním v uhle 60 stupňov na vzdialenosť 12 krokov.
Úlohou robota bolo chodiť z kancelárie do kancelárie a zbierať prázdne plechovky zo stolov zamestnancov.
Robot sa vedel sa vyhýbať prekážkam, chodiť pozdĺž steny a dokázal rozoznať v reálnom čase plechovky v jeho okolí.
Povšimnutia hodné je to, že u Herberta nebola žiadna interná komunikácia medzi jednotlivými modulmi zabezpečujúcich jeho chovanie a každá z vrstiev bola len priamym spojením medzi senzormi a akčným členom.

Vzájomná interakcia jednotlivých reflexov robota fungovala nasledovne:
Laserový lokátor nasmeroval robota smerom k detekovanej plechovke avšak nepovedal chápadlu, že tam je plechovka, ktorú môže uchopiť. V skutočnosti vrstva, ktorá zabezpečovala reflexy pre chápadlo monitorovala pohyb kolies a v momente keď detekovala, že sa robot prestal hýbať začala ovládať pohyb ramena smerom k detekovanej plechovke.
Príkladom ako sa vrstvy robota ovplyvňujú je samotné uchopenie plechovky. Chápadlo malo naprogramovaný zvierací reflex, ktorý reagoval v prípade, že niečo narušilo infračervené senzory medzi "prstami" chápadla. Po detekovaní plechovky sa robot zastavil a nastal reflex, ktorý reagoval na zastavenie pohybu a to pohybom ramena smerom k plechovke. Akonáhle senzory samotného ramena zachytili plechovku v svojom okolí naviedli na ňu chápadlo a chápadlo nezávisle na ramene a robote vzalo plechovku. To umožňovalo, aby aj človek mohol kľudne podať robotovi plechovku. Akonáhle bola plechovka uchopená, rameno sa stiahlo, a nestaralo sa o to či to, čo robot uchopil bola plechovka alebo niečo iné.
Celý tento systém správania sa mu potom umožnil prispôsobiť si svoje správanie, adaptovať sa na veľký počet rôznych stolov a nájsť na ňom plechovku.

Genghis

Genghis bol 1kg autonómny 6 nohý robot s 12 servomotormi s 2 stupňami voľnosti, mal 4 osembitové mikroprocesory a pamäť 32 Kb. Taktiež mal 2 senzory na spodnej strane (vpredu i vzadu) a koliesko, ktoré meria pohyb smerom vpred alebo vzad.

Riadiaci systém Genghisa bol založený na subsumpčnej architektúre, a učenia sa vychádzalo z učenia typu reinforcement learning. Na realizáciu tohto typu učenia slúžili Genghisovi dve vrstvy, ktoré zabezpečovali kladnú a zápornú spätnú väzbu:

  • Zápornú spätnú väzbu dostal robot vždy vtedy, keď ľubovoľný z dvoch spodných senzorov zaregistroval dotyk tj. robot sa dotkol zeme svojím "telom".
  • Kladná spätná väzba sa aktivizovala vždy v prípade, ak trakčné koliesko zaregistrovalo pohyb smerom vpred alebo vzad.

Ďalšie vrstvy predstavovali:

  • 12 pohybov pre 6 nôh (pre každú nohu dva typy pohybov) a to - smerom vpred (robot zodvihne nohu posunie ju vpred a položí znovu na zem) a smerom vzad.
  • Aktívne udržiavanie rovnováhy. Robot sa totiž musel sám naučiť chodiť vpred a udržiavať pritom rovnováhu. Rovnováha preto tvorila samostatnú vrstvu, sumujúcu horizontálne uhly robota a posielala korekčný signál s cieľom redukovať sumu uhlov na 0.

Na základe všetkých uvedených reflexov sa robot učil, ako sa má za akých podmienok zachovať tj. kedy má byť ktorá vrstva aktívna. Výsledkom experimentov s týmto robotom bolo, že sa robot naučil držať vždy tri nohy na zemi aby udržal rovnováhu a dokázal sa naučiť kráčať vpred i vzad.

Je potrebné si všimnúť, že úloha naučiť sa chodiť nie je triviálna, pretože nijaký z pohybov nohy nespôsobuje negatívnu spätnú väzbu sám o sebe, ale všetky reflexy dohromady. Preto je veľmi dôležité to, aby robot objavil závislosti medzi pohybmi v paralelnom slova zmysle. Tj. ich vzájomné spolupôsobenie v reálnom čase.

Pri použití "neinteligentného" prehľadávania stavového priestoru s cieľom nájsť vhodné podmienky, za ktorých sa robot bude pohybovať a inteligentného učenia, realizovanom v tomto robotovi dospel tím z MIT k výsledku, že by trvalo by to viac ako 5 krát dlhšie ako inteligentné učenie. Riadiaci systém robota je taktiež elegantný kvôli svojej jednoduchosti. Nepracuje so žiadnymi kinematickými modelmi pohybu a takisto nie je vôbec hierarchický. Systém totiž priamo implementuje chôdzu ako nezávislé dvojice medzi senzormi a akčnými členmi, na ktoré pôsobí negatívna a pozitívna spätná väzba.Riadiaci systém je distribuovaný a preto aj robustný vzhľadom na terén v akom sa robot pohybuje.

Attila

Robot Attila je nasledovníkom 6 nohého robota menom Genghis. Ako sa ukázalo Genghis dosiahol dobré výsledky a hlavne náklady na jeho konštrukciu boli nízke čo viedlo jeho tvorcov k zostrojeniu vylepšeného modelu s menom Attila. Motivácia zostrojenia Attilu bola v zostrojení planetárneho mobilného robota schopného vykonávať činnosť v neznámom prostredí na povrchu cudzej planéty. Pretože najväčšie náklady pri vesmírnych misiách sú náklady na dopravu je nutné čo najviac znížiť užitočnú hmotnosť dopravovanú na povrch planéty. Mobilné planetárne roboty musia mať preto čo najmenšiu hmotnosť a ich výrobné náklady musia byť čo najmenšie. Ideou ľudí z MIT bolo zostrojiť úplne autonómneho robota, ktorý bude dopravený na povrch planéty, kde bude vykonávať svoju činnosť bez nutnosti komunikácie s riadiacim strediskom na Zemi. Tým sa zároveň ušetria mzdové náklady na ľudí v riadiacom stredisku a celá práca ľudí na Zemi bude spočívať v spracovávaní dát vysielaných robotom.

Robot schopný vykonávať takúto autonómnu činnosť musí mať nasledujúce vlastnosti:

  • byť schopný pohybovať sa v neznámom členitom teréne
  • byť schopný výstupu aj pri prudšom stúpaní
  • byť odolný voči pádom a nárazom
  • vnímať dostatočne široký priestor okolo seba aby vedel plánovať cestu, ktorou pôjde
  • vnímať aj vzdialenejšie okolie aby jeho činnosť nebola len náhodným sa potulovaním
  • vedieť monitorovať interné ako aj externé podmienky a prispôsobiť im svoju činnosť
  • skúšať rôzne spôsoby ako sa dostať preč v prípade, že niekde uviazol
  • byť odolný voči prachu a vysokej radiácii
  • byť schopný získavať energiu z okolia (slnečnú)

Attila mal 24 akčných členov, vyše 150 senzorov 14 druhov, napojených na výpočtový systém cez zbernicu I2C, batériu s energiou na 30 minút a solárne články schopné dobiť batériu do 5 hodín .

Existujú dva dôvody na použitie nôh namiesto kolies.Prvým z dôvodov prečo sú nohy výhodnejšie je oveľa väčšia mobilita vo veľmi členitom prostredí akým povrch planéty nepochybne je. Druhou a dôležitejšou výhodou je, že nohy sú oveľa citlivejšími senzormi a je z nich možné získať väčšie množstvo informácií ako z kolies.

Použitý dizajn nôh umožňuje Attilovi dosah na prekážku vysokú až 21,6 cm a v prípade použitia všetkých 6 nôh sa dokáže "vyškriabať" na prekážku vysokú 25,4 cm. Oproti ostatným robotom pracujúcim v rovnakom prostredí je to približne 1,5 - 2 násobné zlepšenie. Ďalším výhodou použitia takejto konštrukcie nôh je, že pri chôdzi je smerovanie nôh vždy vertikálne. Pri prudkom stúpaní sa udržiavaním vertikálnej polohy nôh ťažisko posúva bližšie k povrchu, čo zabezpečuje udržanie rovnováhy a preto je maximálny sklon svahu, ktorý dokáže Attila prekonať limitovaný iba veľkosťou trecej sily medzi nohami a svahom robota.

Tak ako aj u ostatných robotov je riadiaci systém založený na subsumpčnej architektúre, s distribuovanými riadiacimi a učiacimi algoritmami. Výpočtový systém Attilu tvorí 9 procesorov, ktoré riadia motory a senzorický systém. Systém ma taktiež dva hlavné procesory, na prvom z nich beží subsumpčná architektúra, ktorá simuluje cez 1000 asynchrónnych paralélnych procesov, zatiaľ čo druhý hlavný procesor riadi vizuálny systém.

Toto

Jednotlivé vrstvy subsumpčnej architektúry tvorili:

  • Najnižšia vrstva správania sa robota zabezpečovala to aby sa robot mohol vyhýbať kolíziám v ľubovoľnom prostredí.
  • Stredná vrstva mala za úlohu rozoznávať špecifické typy "značiek" zabezpečujúcich orientáciu a to napr. steny, odrazy od rušivých cieľov atď.
  • Najvyššiu vrstvu systému tvorili vzájomne identické vrstvy čakajúce na rozoznanie novej značky, ktorými si robot vnútorne reprezentoval okolie. Na základe toho potom robot pridával nové značky a vytváral si akúsi mapu priestoru, v ktorom sa pohyboval. Medzi značkami, ktoré boli fyzicky v priestore blízko seba sa vytvorila linka a na základe toho sa potom vytvárala grafová reprezentácia priestoru. Každý z uzlov tohoto grafu bol potom dynamickým elementom a nie statickou štruktúru, a určoval ako sa mal robot v danom mieste zachovať. Ako sa robot pohyboval v prostredí, snažil sa vždy zistiť kde sa nachádza a tie uzly v grafe boli aktívnejšie, pre ktoré robot na základe značiek predpokladal, že sa v nich nachádza. Robot má preto nielen mapu ale aj zmysel kde sa asi nachádza, hoci systém je distribuovaný.

Squirt

Bol charakteristický tým, že sa skrýval na tmavé miesta v miestnosti a vychádzal z nich v prípade, že počul nejaké zvuky, ktoré lokalizoval a šiel smerom k nim pričom v ich blízkosti si hľadal tmavé miesto na úkryt.

  • Prvá vrstva robota bola založená na svetelnom senzore a spôsobovala, že sa robot pohyboval v špirálovitom pohybe hľadajúc tmavé miesto. Akonáhle tmavé miesto našiel pohyb sa zastavil.
  • Druhá vrstva robota sa aktivizovala len v tme a monitorovala zvuky v okolí robota pomocou dvoch mikrofónov.
    Na základe rozdielnosti prijatých zvukových signálov do jednotlivých mikrofónov vedel Squirt lokalizovať smer odkiaľ zvuk prichádzal a vydal sa smerom k zdroju zvuku, potláčajúc potrebu zostať v tme. Potreba zostať v tme bola však potlačená len na určitú dobu a robot začal znovu reagovať na svetlo.

Celkový efekt spolupôsobenia týchto vrstiev bol, že robot bol vždy v centre diania skrývajúc sa na najbližšom tmavom mieste.

Boadicea

Cieľom zostrojenia Boadiceu bolo zostaviť malého chodiaceho robota s lepšími vlastnosťami ako mali predchádzajúce malé roboty. Boadicea bol 6 nohý robot, ktorého pohyb bol zabezpečený ľahkými pneumatickými akčnými členmi. Telo robota bolo zostrojené z ľahkých materiálov ako uhlíkové vlákna, hliník a plasty. Výsledky ukázali, že Boadicea chodil rýchlejšie a dokázal uniesť väčšiu váhu ako jeho predchodcovia. Zadné a stredné nohy robota mali 3 stupne voľnosti, zatiaľ čo predné nohy ich mali len 2.

Tak ako u skutočného hmyzu Boadiceove predné, stredné a zadné nohy boli všetky iného tvaru.

Anti - "mravčie" mikroroboty

Anti boli skupinou mikrorobotov v laboratória UI na MIT. Základná motivácia zostrojovania takýchto malých robotov vychádzala z prírody -- kolónie. Vývoj sa skladal z dvoch hlavných cieľov:

  • Vyvíjať a dosiahnuť čo najväčšiu miniaturizáciu senzorov a akčných členov.
  • Budovať organizovanú komunitu mikrorobotov vznikajúcu zo vzájomnej komunikácie väčšieho počtu jednoduchších jednotlivcov.

S cieľom dosiahnuť stanovené ciele, boli roboty vybavené 17 senzormi okrem iného : 4 svetelnými senzormi, 4 infračervenými prijímačmi, tlakovými senzormi, "potravinovými" senzormi a senzormi merajúcimi vychýlenie. Komunikácia prebiehala použitím 2 infračervených vysielačov, jedného vpredu a jedného na vrchnej časti tela robota.

TJ2

Motiváciou projektu vývoja robota TJ2 bolo uľahčiť ľudom komunikáciu s mobilnými robotmi pohybujúcimi sa v interiéroch. Hlavným cieľom bolo prekonať bariéru medzi tým, ako ľudia pomenovávajú miesta a opisujú cestu k nim a medzi radikálne odlišným spôsobom chápania sveta robotmi spôsobeným obmedzenosťou ich senzorov. Komunikačný modul robota podporoval komunikáciu s ľuďmi vo forme dialógu prostredníctvom tlačeného písma. Umožňoval ľuďom pomenovať miesta priamo alebo vo vzťahu k iným miestam. Robot využíval informácie typu: "Choď dokiaľ nemôžeš odbočiť vpravo" resp. informácie typu: "Stoj" alebo "Teraz si v Jimmyho kancelárii"

    Človek: Kde si ?
    Robot: Neviem kde som.
    Človek: Ktorým smerom si otočený ?
    Robot: Neviem ktorým smerom. Prosím povedz mi to.
    Človek: Si otočený smerom na SEVER.
    Robot: Som otočený smerom na SEVER. Ďakujem.
    Človek: Si v Markovej kancelárii.
    Robot: Som v Markovej kancelárii.
    Človek: Otoč sa.
    Robot: Otáčam sa.
    Človek: Choď vpred.
    Robot: Idem.
    Človek: Stoj.
    Robot: Zastal som.
    Človek: Si v Jimovej kancelárii.
    Robot: Som v Jimovej kancelárii.
    Človek: Choď z Jimovej kancelárie do Markovej kancelárie.
    ...atď...

Wheelesley

Wheelsley je elektrický invalidný vozíček vybavený senzormi a počítačovým systémom Macintosh ako komunikačným rozhraním. Robot sa dokáže autonómne pohybovať v interiéroch, vyhýbať sa prekážkam, sledovať stenu a zároveň prijímať príkazy od užívateľa. Užívateľské rozhranie umožňuje ovládanie v troch módoch: manuálne, joystickom, a cez špeciálne užívateľské rozhranie. V manuálnom móde funguje Wheelsley ako klasický invalidný vozíček. V "joystick" móde zadáva užívateľ smer pomocou joysticku. a v špeciálnom móde komunikuje užívateľ výhradne cez špeciálne rozhranie vybavené očným trakčným systémom. Tento systém umožňuje ovládanie smeru robota cez 5 elektród umiestnených okolo očí, ktoré merajú EOG (electro oculograph) signál, odpovedajúci uhlu pohľadu.

Robot bol úspešne odskúšaný v Auguste 1995 na medzinárodnej konferencii o umelej inteligencii. Roboty medzi sebou súťažili o prechod cez úzke dvere bez toho aby boli riadení. Nakoniec bol Wheelsley jediný kto to dokázal.

Hore
Kontakt: Marek Bundzel