Title: Kogn
1KognĂcia a umelĂ˝ Ĺľivot XIV MobilnĂ˝
notebook Andrej Lúcny Ondrej Mikuláš Katedra
aplikovanej informatiky FMFI UK
Bratislava lucny_at_fmph.uniba.sk -
ondrej.mikulas_at_gmail.com
2Kognitivizmus Postkognitivizmus
- Myslenie je manipuláciou so symbolmi
- Hladá sa univerzálny algoritmus myslenia
- V modeli tvora nájdeme modul predstavujúci
kognĂciu (kognitĂvny podsystĂ©m) - Model mysle je nezávislĂ˝ od spĂ´sobu Ĺľivota, tela
i prostredia mysliaceho tvora
- NeverĂme, Ĺľe existuje jednotná reprezentácia
sveta - NeverĂme, Ĺľe existuje univerzálny algoritmus
myslenia - Percepcia sa prekrýva s akciou
- Myslenie považujeme za závislé na tele
(stelesnenost) a na prostredĂ (situovanost)
3Situovanost a stelesnenost
- Pri tvorbe riadiaceho systému robota si môžeme
pomôct tým, že ho ušijeme na mieru - prostrediu, v ktorom robot koná (situovanost)
- telu robota(stelesnenost)
4Ăšloha
NekolĂzny pohyb mobilnĂ©ho robota s dvojkolesovĂ˝m
podvozkom a jednou kamerou v prostredĂ chodieb na
Matfyze
5Prostredie
6Telo
7Senzory a aktuátory
PouĹľĂvame jednoduchĂ© senzory a aktuátory, cĂm
kladieme väcšie nároky na riadiaci systém So
sofistikovanejšĂmi senzormi (kamera kinect) a
aktuátormi (servomotory s odometriou) je možné
vytvorit 3D model prostredia, vypocĂta nekolĂznu
trasu a potom presne po nej Ăst Ĺ˝ivĂ© tvory to ale
takto nerobia a nám nejde len o to úlohu
vyriešit, ale vyriešit ju podobným spôsobom.
8Situácia prejdenie chodbou
9FarebnĂ˝ obraz na ciernobiely
10Blur pre potlacenie šumu
11Sobelov operátor (1. fáza Canny)
12Hrany z algoritmu Canny
13Houghova transformácia - priamky
14Houghova transformácia - úsecky
15Úsecky relevantné pre úbežný bod
16ĂšbeĹľnĂ˝ bod priesecnĂk
17Pohyb robota k úbežnému bodu
vanish.point
motors
Pokial máme ĂşbeĹľnĂ˝ bod prĂliš na rovnakej strane
obrazu, neĹľ je na tele robota motor, tento motor
zastavĂme. (Inak motor stále ide)
18Pohyb robota k úbežnému bodu
camera
BW
Canny
Hough
vanish.point
motors
NadviazanĂm jednotlivĂ˝ch metĂłd do tzv. pipeline
dostávame riadiaci systém, ktorý zvládne úlohu za
jednej konkrétnej situácie (prechod chodbou)
19Dalšie správanie
- robot teraz prechádza chodbou
- na konci však stratà úbežný bod a nevie co si
pocat - treba vyriešit zvládnutie križovatiek chodieb,
t.j. zatocenie do susednej chodby - Ako na to ?
20Ako pridat dalšiu situáciu ?
camera
BW
Canny
Hough
vanish.point
motors
camera
BW
Canny
Hough
vanish.point
motors
21Behaviorálna robotika
22Subsumpcná architektúra
23Subsumpcná architektúra
24Subsumpcná architektúra
25Subsumpcná architektúra
26Subsumpcná architektúra
27Motivácia
- Typickými vlastnostami živých organizmov sú
paralelizmus a hierarchia - Táto hierarchia je založená skôr na regulácii než
aktivácii
Ak chirurgicky prerušĂme miechu Ăşhora pri mozgu,
neprestane plávat svojimi typickĂ˝mi sĂnuoidnĂ˝mi
pohybmi, ale naopak pláva stále a úplne
pravidelne.
28Motivácia
- Štruktúra živých organizmov je výsledkom
fylogenetickej evolúcie - Ich anatómia je podobná lebo ich ontogenéza
prebieha v podobných fázach ako fylogenéza
29Subsumpcia
Je založená na evolucnom fakte, že komplexné
riadenie pozorované v súcasnosti, má vždy pôvod v
jednoduchšĂch predkoch
- Vztah medzi predkom a potomkom je tu však
zjednodušený a to tak, že sa predpokladá, že
potomok obsahuje presne ten istĂ˝ riadiaci
mechanizmus ako jeho predok, iba k nemu ešte
nieco navyše pridáva
vrstva 1
vrstva 2
vrstva 1
30Zjednodušenie evolúcie
- T.j. mechanizmus potomka zahrnuje (angl. subsume)
kompletnĂ˝ mechanizmus jeho predkov - Na základe toho sa tento princĂp volá subsumption.
layer N
layer 3
layer 2
layer 1
31Vývoj pomocou subsumpcie
- Najprv navrhneme vhodné a hlavne dostatocné
senzory a aktuátory - Potom si predstavĂme postupnost evolucnĂ˝ch
krokov, ktoré by mohli viest k želanému riadeniu
a ktorĂ© zacĂnajĂş z jednoduchĂ©ho základu - Potom postupne vyvinieme štruktĂşry riadenia
zodpovedajúce týmto krokom, pricom jednoduchšiu
predchádzajĂşcu verziu obohacujeme pridanĂm novej
vrstvy - Od pridaných vrstiev ocakávame, že poskytnú novú
funkcionalitu, ale nepoškodia tú ktorá už je
implementovaná
32Vývoj pomocou subsumpcie
Situovanost evolucným krokom zodpovedá
stupnovanie komplexnosti situácie
SYSTÉM
vrstva n
Situácia n
vrstva 2
vrstva 2
Situácia 2
vsrtva 1
vrstva 1
vrstva 1
Situácia 1
cas
0
verzia 1
verzia 2
verzia n
výsledok
33Štruktúrovanie situácii
Klasická robotika
Behaviorálna robotika
4
4
3
3
2
2
1
1
34Základný implementacný problém
- Ako však môže hierarchicky nižšia teda evolucne
neskoršia - vrstva pôsobit na hierarchicky vyššiu
teda evolucne skoršiu ? - Ved pri implementácii tej nižšej sme takúto
moĹľnost neuvaĹľovali a teda sme nevybudovali
žiadne rozhranie, ktorým by mohla vyššia vrstva
na nižšiu vplývat
35Subsumpcia a modularita
- Riešenie systém musà mat takú modularitu, pri
ktorej je toto rozhranie implicitne prĂtomnĂ©
36Subsumpcná architektúra
- Systém sa skladá z autonómych modulov (Augmented
Finite State Automata) - Tie sĂş prepojenĂ© komunikacnĂ˝m vedenĂm, po ktorom
sú prenášané správy
Modul 2
Modul 1
Modul 3
37Subsumpcná architektúra
- Vyššia vrstva môže s nižšou manipulovat pomocou
- - odpocĂşvania
-
- - supresie
- - inhibĂcie
S
I
38Subsumpcná architektúra
- Pri pridanĂ novej vrstvy pouĹľijeme tieto
mechanizmy na zavedenie kooperácie
Modul 4
Modul 3
Modul 2
Modul 1
I
S
39JednoduchĂ˝ prĂklad
Vzad
Prekážka
L. motor
Vpred
S
P. motor
40Tradicná implementácia
- riadenie sa skladá z modulov s pevne definovanými
vstupmi a vĂ˝stupmi a nastavitelnĂ˝mi parametrami - skladanie systĂ©mu sa realizuje vhodnĂ˝m prepojenĂm
vstupov a vĂ˝stupov - vykonávanie kĂłdu, ktorĂ˝ v module prepocĂta vstupy
na výstupy má na starosti plánovac
Modul1 Param1 val1
Modul2
41Problémy tradicnej implementácie
- ked boli kombinované pomalé moduly s rýchlymi
- ked mali vstupy do modulu rĂ´znu frekvenciu
- ked bolo treba dynamicky menit pocet vstupov
a výstupov - ked bolo treba casovo ohranicit platnost nejakého
údaju - ked bolo treba zabezpecit netriviálnu koordináciu
medzi paralelnými subsystémami
42ArchitektĂşra Agent-Space
- spojenia medzi modulmi nahradĂme za pomenovanĂ©
dáta na ciernej tabuli (space), tzv. bloky,
ktoré realizujú nepriamu komunikáciu medzi
agentami - agenty ich mĂ´Ĺľu cĂtat, zapisovat a mazat na
základe ich pomenovania - pri zápise môže agent pre blok definovat jeho
casovĂş platnost a prioritu
43Naša úloha podla Agent-Space
44Spät k úlohe
- Pokial sa ĂşbeĹľnĂ˝ bod stratĂ, robot pĂ´jde vpred
naslepo (to ešte urobà základné správanie),
pricom sa zacne otácat (nemá krk, takĹľe sa musĂ
otácat celý) - Ked sa pritom nejaký úbežný bod, otácanie ustúpi
a robot bude pôjde za novým úbežným bodom
45Ako pokracovat na slepo
- Ako zariadime, Ĺľe ked ĂşbeĹľnĂ˝ bod stratĂme, robot
pôjde naslepo vpred ? - Pri stratégii, že podla úbežného bodu motory
zastavujeme (preferujeme reguláciu pred
aktiváciou), zariadi sa to samo.
46Ako sa otácat
- Na základe straty úbežného bodu sa aktivuje nové
správanie, ktoré sa raz za urcitý cas votrie do
základného správania (t.j. do pohybu naslepo
vpred) - Pomocou supresie (prioritnĂ©ho zápisu) umlcĂme
pĂ´vodnĂ© prĂkazy pre motory a tocĂme sa na mieste
na jednu ci na druhú stranu (protichodným pohybom
motorov)
47Ako sa otácat
- Smerom do strany možno otácanie nacasovat, t.j.
stacà merat cas - Motory sú ale nepresné, takže vrátit sa týmto
spĂ´sobom spät do správneho smeru je problĂ©m - PouĹľĂvame preto vizuálnu informáciu
48Ako zistit, že sa pohlad vrátil
- Potrebujeme z dvoch obrázkov povedat, ci ide o
ten istĂ˝ pohlad, respektĂve akĂ©mu otoceniu
zodpovedá rozdiel
49SURF (speeded up robust features)
- vyberie význacné body, napr. rohy, škvrny, ...
dxx
dyy
dxy
- detektor bodov lokálne maximá hessiánu v
trojrozmenom priestore podvzorkovaného obrazu
(dxx,dxy)
(dxy,dyy)
50SURF - deskriptor
- dá orientovaný popis okolia každého bodu
- PouĹľĂva Haarov waveletovĂ˝ filter
- 64 hodnotovĂ˝ vektor popisujĂşci 4x4 regiĂłnov
okolia bodu
51Feature point matching
- Pravdepodobnostný algoritmus, ktorý páruje body v
dvoch obrazoch podla podobnosti ich deskriptorov
52ProjektĂvna transformácia
- Hladáme parametre transformácie, ktorá zobrazĂ
sadu bodov na body k nim spárované - Algoritmus RANSAC (RANdom SAmple Consensus)
53Identifikácia rovnakého pohladu
- Na základe umiestnenia rohov jedného obrazu na
druhom sa rozhodneme, ci ide ten istĂ˝ pohlad
54PocĂtanie ĂşbeĹľnĂ˝ch bodov
- Prvý nájdený úbežný bod nie je optimálny
- NájdenĂ© body preto pocĂtame a aĹľ po urcitom pocte
a rozhodneme vypnút otácanie
55(No Transcript)
56Dakujem za pozornost ! KognĂcia a umelĂ˝ Ĺľivot
XIV MobilnĂ˝ notebook Andrej LĂşcny Ondrej
Mikuláš Katedra aplikovanej informatiky FMFI UK
Bratislava lucny_at_fmph.uniba.sk
ondrej.mikulas_at_gmail.com