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


Cog

Cog je robot, v ktorom sa snažia ľudia z MIT zlúčiť viacero podoblastí umelej inteligencie a vytvoriť tak hybridný, koherentný funkčný celok. Z technického hľadiska môžeme považovať Cog-a za sústavu senzorov a akčných členov, ktorá sa snaží aproximovať vnímanie a dynamiku ľudského tela.

Existujú dve dôvody prečo by sme mali zostaviť robota s humanoidnou formou ak chceme simulovať inteligenciu na ľudskej úrovni:

  • Prvý dôvod podľa Johnsona a Lakoffa je to, že forma a tvar ľudského tela je kritická vzhľadom na to ako svet okolo seba chápeme, ako si ho interne myšlienkovo reprezentujeme, a tieto reprezentácie potom používame v myslení aj v ľudskej reči. Ak by sme zostavili robota s ľudskou inteligenciou, musel by mať humanoidné telo, aby sa u neho vyvinula rovnaká alebo podobná reprezentácia okolitého sveta. Keďže však vieme zostrojiť len veľmi hrubú napodobeninu ľudského tela vzniká veľké nebezpečenstvo, že robot nebude mať všetky podstatné aspekty ľudského tela a tým ani myslenia.
  • Druhým a podstatnejším dôvodom je to, že na to aby sme boli človekom musíme komunikovať s druhými ľuďmi. Aby robot získal skúsenosti z interakcie s druhými ľuďmi musia s ním ľudia komunikovať ako s človekom a nie s robotom. Z pozorovaní bolo totiž zistené, že len málo ľudí komunikuje s robotom ako by to bol človek (čo je logické). Človek totiž nemá žiaden dôvod komunikovať ako s človekom s niečím čo ani zďaleka nepripomína človeka.

Zaujímavá je tiež otázka či by robot prešiel Turingovým testom. Sám tvorca Brooks tvrdí, že určite NIE ale neprešlo by ním ani dojča, ktorého vývoj sa snažia týmto robotom simulovať.

Okrem nôh a ohybnej chrbtice má robot všetky stupne voľnosti v trupe, hlave a v rukách, podobne ako človek. Celkovo má robot 22 stupňov voľnosti z toho po 6 v každej ruke, 3 v trupe, 4 v krku a 3 v očiach.

Dve hlavné ciele viedli tvorcov Coga k súčasnej forme jeho tela.

Po prvé, robot by mal byť antropomorfný (teda podobajúci sa človeku) aby komunikoval s ľuďmi prirodzenou cestou. Najdôležitejšie charakteristiky, ktoré sa snažia tvorcovia simulovať sú veľkosť tela, rýchlosť pohybov a rozsah pohybov.

Po druhé, robotov hardware by mal používať známe technológie a komponenty aby sa minimalizovali náklady a čas na jeho konštrukciu.

Cogov trup má 3 stupne voľnosti: driek sa môže ohýbať zo strany na stranu, dopredu-dozadu a chrbtica sa môže taktiež krútiť okolo vertikálnej osi. Mechanické zarážky umožňujú Cogovi pohyb len v rozsahu skutočných ľudských pohybov. (Viď obr.)

Každá z dvoch rúk robota má skutočný rozmer priemerne dlhej ľudskej ruky so 6 stupňami voľnosti. Pohyby sú zabezpečované silou jednosmerných motorov cez pružný akčný člen. Pružina v akčnom člene ovláda krútiaci moment v každom kĺbe a chráni prevody motorčekov pred otrasmi. Samotná pružnosť akčných členov môže byť modifikovaná a tým je možné zmeniť dynamiku pohybu ruky, ktorej pohyb je dosiahnutý cez zmenu rovnovážneho stavu kĺbov robota a nie priamym ovládaním veľkosti uhlov medzi ramenami.

Motivácia použitia pružných akčných členov vychádza z biologickej podstaty ľudského tela. Schopnosť pružne reagovať na okolie prirodzenou cestou je charakteristické pre človeka: V prípade, že je pohyb ruky prerušený alebo ruka narazí na prekážku, ruka sa jednoducho deformuje (zohne sa) vo svojich stupňoch voľnosti, ktoré následne absorbujú náraz. Systém ma taktiež nízkofrekvenčné charakteristiky, ktoré umožňujú plynulý pohyb ruky aj pri malých rýchlostiach pohybu, čo poskytuje väčší čas na výpočet a taktiež možnosť použitia výpočtových systémov s oneskorením (biologická podstata reakcií človeka)

Cogova hlava bola navrhnutá tak aby mimika a pohyby hlavy zodpovedali rozsahu a rýchlosti pohybu ľudskej hlavy. Hlava má 7 stupňov voľnosti, z toho 3 v očiach a 4 v krku. Dva priamo ovládané osi krku umožňujú pohyb hlavy zo strany na stranu a dopredu-dozadu. Oči majú tri stupne voľnosti a to stupeň voľnosti pre každé z dvoch očí umožňujúci pohyb očí vľavo-vpravo a zdieľaný stupeň voľnosti pre pohyb očí smerom hore-dole.

Cogova hlava taktiež obsahuje viacero senzorov na vnímanie okolia. Na napodobenie sietnice skutočného oka sú v každom oku použité po 2 kamery. Prvá kamera zabezpečuje 120 stupňové videnie zatiaľ čo druhá 20 stupňové videnie s vysokým rozlíšením v priamom smere. Hlava takisto obsahuje senzor, ktorý má funkciu vnútorného ucha človeka a u tohoto robota je použitý na stabilizáciu pohľadu a v pláne je použitie tohto senzora na udržiavanie rovnováhy. (Zatiaľ však robot nemá nohy).Na obrázku hore možno vidieť šípkami označené stupne voľnosti hlavy.

Každý akčný člen robota je zložený dekódera signálov, jednosmerného motorčeka s prevodovými stupňami ložísk a pružín zabezpečujúcich absorbciu nárazov. V zásade vo všeobecnosti motory pracujú pri veľkých rýchlostiach a malo krútiacom momente avšak väčšina robotických aplikácií vrátane tejto vyžaduje prevádzku pri malých rýchlostiach a veľkých krútiacich momentoch. Tento problém sa rieši prevodom hnacej sily cez prevodové stupne, ktoré akčné členy obsahujú.

Pružný akčný člen zabezpečuje plynulú a úmernú výstupnú silu. Ako vidno z nasledujúceho obrázku ruka je modelovaná na základe biolgickej inšpirácie funkcie svalov. Kĺb (stupeň voľnosti) je zabezpečený pružinami A a B. Ľubovoľný rovnovážny stav ruky sa dá potom nastaviť nastavením pružných členov A a B a na to aby bola ruka vychýlená z rovnovážneho stavu je potrebná sila, ktorá je zabezpečená motorom. Po vykonaní akcie sa ruka vráti späť do rovnovážnej polohy. Keďže akčné členy vedia absorbovať náraz, nevzniká žiadne riziko poškodenia ruky robota.

V súčasnosti má robot nasledovné schopnosti:

  • Pohyby očí:
    • dostatočne rýchle pohyby očí
    • plynulé sledovanie pohybujúceho sa predmetu
    • očný reflex, ktorý zabezpečuje fixáciu očí na predmet zatiaľ čo trup a hlava sa pohybuje.
  • Orientácia hlavy a krku:
    • umožňuje Cog-ovi nasmerovať hlavu v smere sledovaného objektu.
  • Rozoznávanie tvárí a rozoznávanie očí:
    • robot dokáže v prostredí rozoznať človeka na základe určitých vzoriek, hľadaním oválnych tvarov a zameraním sa na farbu ľudskej pokožky.
  • Jednoduché vizuálne schopnosti:
    • detekcia pohybu (použitím rozdielu medzi za sebou idúcimi frame-ami)
    • filter na farbu ľudskej kože
    • dokáže rozoznávať saturáciu farieb
  • Siahnutie na vizuálny cieľ:
    • robot sa naučil najprv nasmerovať hlavu smerom na premet (vizuálny cieľ) a neskôr sa naučil aj tento predmet vziať. Učenie bolo nekontrolované a robot sa to naučil metódou pokusov a omylov, bez toho aby mu niekto povedal či ten predmet skutočne vzal alebo nie.
  • Oscilačné pohyby (použitím neurooscilátorov):
    • dokáže krútiť kľukou
    • píliť
    • použitím neurooscilátorov dokáže hrať na bubon v rytme. Cog dokázal počúvať bubon a dokázal sa zosynchronizovať s rytmom, ktorý počul.

Hore
Kontakt: Marek Bundzel