|
HistóriaExistujú dva prístupy ako je možné zostrojiť roboty, ktorých úlohou bude
vykonávať rôzne úlohy v reálnom prostredí.
- V staršom prístupe nie sú reakcie (tj. určité druhy správania sa) priamo
implementované v robotovi, ale vyskytujú sa ako výsledok vzájomného pôsobenia
plánovacej časti, v ktorej sú zadefinované ciele robota a konkrétneho modelu sveta,
ktorý získa robot prostredníctvom senzorov. Akcie teda nie sú 'a priori'
reprezentované v programe, ale vznikajú spolupôsobením sveta a stanovených cieľov.
- V behaviour-based prístupe založenom na tzv. subsumpčnej architektúre ,
sú na rozdiel od starého prístupu, reakcie vstavané do robota, avšak nie sú
stanovené žiadne ciele. Reakcie sú teda explicitne definované a spájajú sa do
ďalších reakcií a vnemov. Špecifické ciele však nie sú nijako reprezentované a
takisto neexistuje ani žiadna reprezentácia plánovania. Ciele totiž implicitne
vyplývajú zo spolupôsobenia reakcií na jednotlivé vnemy a plánovanie preto prebieha
v reálnom čase, kde každá reakcia robota ovplyvní celkový stav a konfiguráciu
robota, čím vznikajú nové vnemy a nasleduje ďalšia reakcia.
- r.1950
Walter G.W. zostrojil jednoduchých robotov, ktorých základ bol v reflexnom
správaní a jednoduchom asociatívnom učení. Roboty používali len zopár switchow, a
ich celkový prejav závisel na interakcii medzi ich mechanickým hardwarom, elektrickými
obvodmi a vlastnosťami prostredia. Išlo v podstate o adaptívne reflexy čo robiť v tej
či onej situácii.
- r.1969
Nilsson N. opísal komplikovaného robota používajúceho centrálnu riadiacu
jednotku (počítač). Robot spracovával vnemy z okolia, zostrojil si na základe toho
model sveta, overil predpoklady čo je a čo nie je v modeli pravdivé a nakoniec
vypracoval plány a sekvenciu akcií na dosiahnutie cieľa.
- r.1986
Brooks R. z Massachusettského technického inštitútu (MIT)
predstavil architektúru, ktorá bola príkladom
behavior-based prístupu k robotike. V nej definoval tri základné myšlienky štruktúry
robota:
- Evolúcia ako metodológia vytvárania robota, ktorá zvyšuje výkonnosť
robota by sa mala uskutočňovať postupným pridávaním nových špecifickejších
obvodov do robota (buď implementované ako hardware alebo ako softwarový obvod), zatiaľ
čo staré obvody by sa mali zachovať. Každý takýto pridaný obvod potom tvorí tzv.
novú vrstvu, kde každá z nových vrstiev vyvoláva nejaké správanie sa robota, ktorý
interaguje s okolím.
- Priamo prepojiť každú pridanú vrstvu medzi vnemami a reakciami robota.
- Minimalizovať čo najviac interakciu medzi vrstvami.
- r.1989
Brooks R. uviedol riadiaci systém založený na ním r. 1986 predstavenej
architektúre a to na 6-nohom robotovi s menom Genghis.
Učiaci proces
Pri vytváraní robota máme často dosť informácií o tom ako by mal daný robot
interagovať s okolím. Je preto rozumné použiť tieto znalosti ako nechať robota aby
sa všetko naučil od základov. Čo sa týka samotného procesu učenia, robot by mal
mať implementovaných niekoľko interných penalizačných a odmeňujúcich funkcií a
nespoliehať sa napr. na iba jednu externú hlavnú funkciu. Príkladom sú zvieratá,
ktoré sa sústreďujú na zahnanie hladu čím sa v podstate učia spĺňať nové úlohy
pri získavaní potravy, a neučia sa na základe získania znalosti vyplývajúcej zo
zomretia hladom. Preto má napríklad zmysel to, aby sa robot strachoval o svoju batériu
a učil sa ako ju udržať nabitú a dostával by odmenu napr. za prehľadávanie terénu,
objavenie zaujímavých hornín alebo za ľubovoľný iný cieľ jeho misie.
Na základe toho môžeme definovať to, čo by mal byť autonómny robot schopný
naučiť sa v reálnom prostredí:
- naučiť sa reprezentovať svet pre neho vhodnej forme
- naučiť sa stav svojich senzorov a akčných členov (kalibrácia)
- naučiť sa spôsoby akými by mali jednotlivé reakcie vzájomne interagovať
- naučiť sa vytvárať nové reakcie
Na to aby sa robot bol schopný horeuvedené podmienky splniť definoval Brooks
základné zložky robota a to:
Samotné učenie potom inkrementálne mení vektor podmienok pre jednotlivé reakcie
robota s cieľom maximalizovať kladnú spätnú väzbu a minimalizovať zápornú
Algoritmus učenia by mal vedieť filtrovať šum, mal by byť výpočtovo nenáročný
aby dokázal pracovať v reálnom čase a mal by byť schopný readaptácie tj. v prípade, že sa robot zmení alebo niektorá časť zlyhá (napr. odlomíme Genghisovi nohu :-) alebo ak sa zmení prostredie. Inak povedané robot bude musieť zabudnúť niektoré vedomosti a prispôsobiť sa novej situácii.
|