1. introducere - romdoc.upb.roromdoc.upb.ro/record/1143/files/abstract -romanafinalversionall3.pdf1...
Post on 23-Sep-2019
38 Views
Preview:
TRANSCRIPT
1
1. INTRODUCERE
Un robot este un sistem electromecanic care percepe mediul înconjurator prin intermediul
senzorilor şi acţionează asupra mediului cu ajutorul elementelor de execuţie (actuatori), în aşa fel
încât acţiunea este adaptată la situaţia percepută [1]. În acest context, algoritmii de învăţare ai unui
robot trebuie să facă faţă unui timp de viaţă limitat al soluţiilor, costurilor ridicate în cazul erorilor,
dimensionalităţii ridicate şi cerinţelor de performanţă în timp real. În plus, este necesar ca robotul să
ştie ce acţiune să aleagă. Aceste cerinţe impun contrângeri puternice şi oportunităţi limitate în ceea
ce priveşte procesele de învăţare şi metodele ce pot fi folosite.
Prima sarcină a roboticii este contrucţia unei maşini inteligente care îndeplineşte scopul dorit prin
interacţiunea cu lumea înconjurătoare. Comportamentul robotului cuprinde sarcinele de raţionare,
acţionare şi reacţionare pe baza cunoştinţelor şi informaţiilor primite de la senzorii activi în timpul
navigarii. Asemenea sarcini necesită abilităţi diferite pentru executarea unui şir de acţiuni care să
conducă la îndeplinirea scopurilor dorite.
Abordările convenţionale în modelare includ utilizarea de ecuaţii diferenţiale ordinare /cu
diferenţe, ecuaţii cu derivate parţiale, modele stocastice, modele pentru sisteme ierarhice şi
distribuite, şi aşa mai departe. Inginerii automatişti utilizează asemenea modele ca formalisme de
reprezentare a sistemului pe care încearcă să-l controleze în scopoul proiectării unui controller care
îmbunătăţeşte performanţa întregului sistem. Aceste tehnici de control au fost utilizate cu succes în
controlul roboţilor mobili. Cu toate acestea, o asemenea abordare ridică o serie de probleme dat fiind
faptul că modelul matematic nu este o reprezentare perfectă a sistemului fizic. O altă problema este
faptul că tot ceea ce se realizează prin analiza şi proiectarea teoretică se bazează pe ipoteze. Mai mult
decât atat, dacă modelul ales pentru robot este mult prea complex, va fi mult mai greu să fie
dezvoltate şi utilizate abordări matematice pentru analiza sistemului în bucla inchisă rezultat. Unii
cercetători din domeniul controlului inteligent studiază posibilitatea utilizării unor scheme alternative
de reprezentare. Asemenea scheme includ utilizarea de limbaje naturale, limbaje de programare,
tehnici de reprezentare din inteligenţa artificială cum sunt regulile, reţelele semantice, cadre, modele
calitative şi modele cauzale.
Logica fuzzy, una din tehnicile de reprezentare din inteligenţa artificială, este o binecunoscută
metodă din soft-computing care permite tratarea constrângerilor puternice generate de imprecizia
care caracterizează datele obţinute de la senzorii robotului. Controlul fuzzy este o tehnica de control
inteligentă, caracteristică sistemelor inteligente de control, ce serveşte drept o alternativă la tehnicile
convenţionale de control pentru roboţii mobili. Construcţia unui model matematic nu este necesară.
2
Controlul bazat pe logica fuzzy (Fuzzy Logic Control, FLC) este adecvat pentru controlul unui
robot mobil deoarece este capabil să realizeze interferenţe chiar şi în condiţii de imprecizie a datelor
achiziţionate de senzorii robotului. Această abordare oferă posibilitatea de a mima experienţa unui
expert uman. Totuşi, lipsa capacitaţii de învăţare sistematică în proiectarea sistemelor convenţionale
bazate pe logică fuzzy a generat un interes deosebit înspre combinarea logicii fuzzy cu alte metode
speciale de învăţare, cum ar fi reţelele neuronale, cu scopul de a obţine un comportament flexibil.
Comportamentul flexibil implică abilitatea de a învaţa – de a achiziţiona cunoştinţe sau de a
îmbunătaţi abilităţi, pe baza experienţei, observaţiilor sau antrenării.
Învăţarea şi robotica alcătuiesc o combinaţie atractivă. Învăţarea roboţilor reprezintă un domeniu
de cercetare care înglobează toate metodele realizate în scopul înzestrării roboţilor cu capacitaţi de
învăţare. Învăţarea permite roboţilor autonomi să achiziţioneze informaţii prin interacţiunea cu
mediul exterior şi să-şi adapteze comportamentul în mod adecvat. Metodele de învăţare de
comportament sunt utilizate pentru rezolvarea problemelor complexe de control cu care roboţii se
confruntă într-un mediu real, nefamiliar. Pentru realizarea unor comportamente inteligente în
robotică, roboţii trebuie să fie dotaţi cu capacitatea de a învăţa. Învăţarea este esenţa primară a unui
sistem inteligent; fară ea nu se poate discuta despre inteligenţă. Pentru extinderea timpului de viaţă şi
pentru o întrebuinţare mai eficientă, robotul trebuie să fie capabil să înveţe şi să se adapteze mediului
în care se află. Învăţarea se realizează prin antrenare, astfel încât robotul poate învăţa şi se poate
adapta la schimbări atât în mediu cât şi în sarcinle pe care le desfăşoară. Antrenarea este mai puţin
costisitoare decât reprogramarea care cere timp, necesită expertiză şi dispozitive adecvate. În
robotică, învăţarea se poate realiza cu ajutorul mai multor algoritmi de învăţare.
Reţelele neuronale şi logica fuzzy pot fi utilizate pentru implementarea unor funcţii
comportamentale de bază. Integrarea logicii fuzzy şi a reţelelor neuronale, în cadrul sistemelor
neuro-fuzzy, oferă o alternativă mai bună pentru controlul mişcării unui robot mobil. Abordarea
neuro-fuzzy moşteneşte avantajele ambelor sisteme: logica fuzzy poate manevra uşor informaţiile
imprecise şi ambigue primite de la senzori pe baza unui set de reguli lingvistice; reţeaua neuronală
este utilizată pentru acordarea off-line a parametrilor sistemului de logică fuzzy astfel încât să se
obţină performanţe îmbunătăţite.
Obiectivul principal al activităţii de cercetare descrise în această teză constă în dezvoltarea unui
sistem hibrid robust neuro-fuzzy pentru navigarea roboţilor mobili prin utilizarea unei abordări
bazate pe algoritmi genetici pentru învăţarea supervizată.
1.1 Învăţarea supervizată
Reţelele neuronale, denumite şi sisteme conexioniste, au fost proiectate pentru a modela anumite
aspecte ale creierului uman. Cea mai interesanta caracteristică a reţelei neuronale este capacitatea
3
acesteia de a învăţa. Obiectivul algoritmilor de învăţare utilizaţi în cadrul reţelelor neuronale este să
minimizeze o funcţie de eroare definită ca diferenţa dintre ieşirea dorită şi cea actuală. Algoritmul
realizează un fel de optimizare globală deşi calculează doar modificări ale ponderilor locale.
Ponderile se modifică în acord cu informaţia locală prin distribuirea erorii globale în interiorul
reţelei. În acest context, învăţarea înseamnă găsirea unor valori bune pentru parametri (ponderi)
printr-o procedură iterativă care procesează datele de test. Procedura de învăţare este ghidată de o
măsură a erorii care indică nivelul actual de performanţă. Aceasta este o formă foarte simplă de
învăţare şi depinde de fundalul ştiinţific (de exemplu, filozofie, psihologie, ştiinţa cogniţiei,
inteligenţa artificială, etc.). Acest tip de învăţare are mai degrabă un caracter statistic, prin faptul că
învăţarea se realizează pe baza unor seturi de date. Este denumită învăţare supervizată. Învăţarea
supervizată este o tehnică de învăţare artificială (machine learninig) pentru deducerea unei funcţii
dintr-un set de date de antrenare. Datele de antrenare constau din perechi de obiecte de intrare (în
mod uzual, vectori) şi ieşirile dorite. Ieşirea funcţiei poate fi o valoare continuă (regresie) sau poate
reprezenta o etichetă de clasă a obiectului de intrare (clasificare). Sarcina sistemului ce a fost
antrenat supervizat este să predicteze valoarea funcţiei pentru orice obiect de intrare valid, după ce a
procesat un anumit număr de exemple în timpul antrenării (perechi formate din intrare şi ieşirea
dorită). Pentru a îndeplini acest scop, sistemul trebuie să dobândească capacitatea de a generaliza
astfel încât să deducă, plecând de la datele de antrenare, o soluţie ‘rezonabilă’ pentru situaţiile noi
(nemaiîntâlnite). Pot fi deosebite două tipuri de învăţare supervizată :
Învăţarea supervizată (simpla), care încearcă să reducă diferenţa dintre ieşirea actuală şi cea
dorită, şi necesită o problema de învăţare fixă (sarcină), adica un set de date fix în care pentru
fiecare combinaţie de intrare este data combinaţia de ieşire.
Învăţarea prin întărire (reinforcement learning), care încearcă să producă ieşiri ce au un
anumit efect observabil în mediul exterior. Necesită o problemă de învăţare deschisă
(sarcină), în care nu există o anumită ieşire pentru o combinaţie de intrare, ci un semnal
extern de întărire, care reflectă dacă efectul dorit a avut loc sau nu.
Acestă teză se concentrează pe problema aplicării învaţării supervizate a reţelelor neuronale
artificiale în optimizarea regulatorului bazat pe logica fuzzy necesar pentru navigarea roboţilor
mobili autonomi Khepera II şi III. Informaţia sistemului de învăţare supervizată se bazează pe
informaţia obţinută de la senzorii roboţilor. Acţiunile sistemului de învăţare influenţează elementele
de execuţie ale robotului. Procesul de învăţare trebuie să fie proiectat corespunzător cu configuraţia
robotului şi sarcinile sale. În plus, algoritmii de învăţare nu pot funcţiona după premisa că este
disponibilă informaţie globală, fară incertitudini. Senzorii robotului măsoară doar diverse proprietăţi
4
ale mediului, însă nu creează un model intern perfect care să poată fi utilizat pentru a predicta
schimbările din mediu în urma realizării anumitor acţiuni. Mediul în care se găseşte robotul se află
în continuă schimbare, inclusiv în timp ce robotul se află în procesul de a decide ce acţiune va
realiza. Mulţi dintre senzori oferă valori măsurate ce variază continuu, cum ar fi poziţia şi viteza
robotului. Multe elemente de execuţie funcţionează de asemenea cu valori continue. Cu toate acestea,
universul de discurs pentru cei mai mulţi algoritmi de învăţare supervizată are o reprezentare
discretă. Discretizarea unei lumi în majoritate continuă astfel încât învăţarea supervizată discretă să
poată fi aplicată creează probleme, cum ar fi pierderea de informaţii sau controlul imprecis.
Setul de date care reprezintă contextul fix al problemei de învăţare supervizată poate fi obţinut
prin simulare sau din experimente reale. Totuşi, simularea tinde să ascundă dificultatea principala a
roboticii şi anume confruntarea cu mediul. Date valoroase pot fi obţinute în urma simularii, dar
interpretarea lor ca o soluţie a unei probleme de robotică poate fi înşelătoare. Din acest motiv,
algoritmii dezvoltaţi în această cercetare au fost testaţi cu date reale, pe un robot real (Khepera III).
1.2 Obiectivele Cercetării
Obiectivul acestei teze este dezvoltarea unui sistem de navigatie pentru un robot mobil cum
ar fi Khepera. Rezultatele obţinute sunt aplicabile pentru marea majoritate a roboţilor mobili ce
lucrează în medii nestructurate. Robotul trebuie să fie capabil să se mişte autonom într-un mediu
necunoscut anterior. În medii necunoscute, navigarea nu se poate baza numai pe tipuri de marcaje
predefinite. Totuşi, dacă asemenea marcaje pot fi detectate ocazional, atunci ele ar trebui utilizate ca
informaţie adiţională pentru navigare. În mod normal, mediul este alcătuit din obiecte diferite. În
acelaşi timp, un câmp gol poate forma de asemenea un mediu pentru robot.
Sistemul de navigare dezvoltat nu necesită un mediu structurat. Totuşi, dacă în mediu există
obiecte structurate, atunci ele vor fi utilizate. Aceasta teză se concentreză pe metodele de navigare
pentru medii nestructurate cu obiecte dinamice. Sistemul de navigare utilizează senzori de
proximitate cu infraroşu (IR).
In mod tradiţional, munca ştiinţifică se desfăşoară în doi paşi. Primul presupune dezvoltarea
unei teorii, al doilea verificarea acesteia prin expriment. În aceasta teză, rezultatele sunt extrase pe
baza analizei datelor senzorilor şi ale motoarelor. Iniţial, o cantitate mare de date de la senzori şi
motoare este colectată din numeroasele teste efectuate cu robotul, într-un cadru închis. Aceste date
sunt apoi analizate atent şi utilizate în algoritmi de timp real adecvaţi.
5
2. STATE OF ART ÎN CONTROLUL ROBOȚ ILOR MOBILI
Controlul mişcării este ştiinţa care se ocupă de controlul precis al poziţiei, al vitezei şi al forţei
unui sistem aflat în mişcare [141]. Un robot este un sistem mecatronic capabil să realizeze o serie de
mişcări complexe sau sarcini asemănătoare activităţilor umane. Un robot mobil dispune de o
platformă mobilă care îi permite deplasarea în concordanţă cu instrucţiunile programului de control.
Tehnicile de control inteligent de inspiraţie biologică, cum sunt reţelele neuronale, controlul fuzzy,
algoritmii genetici sau o combinaţie sinergetică a lor, pot fi folosite cu succes în construirea de
sisteme de control pentru operarea autonomă a roboţilor mobili.
Sistemele de control pentru roboţi mobili dotaţi cu inteligenţă pot fi clasificate în două categorii :
strategii de control clasic şi strategii de control modern. Strategia de control clasic consta în
paradigme deliberative, reactive sau paradigme hibride deliberativ-reactive [3].
2.1 Paradigme Clasice pentru Controlul Robotilor Mobili
Paradigma clasică poate fi descrisă de relaţia dintre cele trei primitive ale roboticii : percepţia
senzorială, planificarea şi acţionarea. Deşi există un număr infinit de arhitecturi posibile pentru
controlul roboţilor, există un set finit de clase de metodologii sau paradigme de control fundamental
diferite, de obicei incluse în arhitecturi de control specifice. Principala diferenţă dintre ele se bazează
pe cât de deliberative sau reactive sunt.
Cele trei paradigme clasice fundamentale sunt :
1. Control deliberativ (gândeşte, apoi acţioneaza)
2. Control reactiv (nu gândeşte, reacţioneaza)
3. Control hibrid (gândeşte şi acţionează independent, în paralel)
Urmatorul grafic ilustrează relaţia dintre primitivele roboticii în primele trei paradigme
dominante [2].
Figura 1. Cele trei paradigme clasice de control pentru roboţi
Fiecare din abordările de mai sus are punctele ei slabe şi tari, şi toate joacă un rol important şi
de succes în anumite probleme şi aplicaţii. Abordări diferite sunt potrivite pentru situaţii diferite,
depinzând de natura sarcinii şi de capabilităţile robotului în termeni de hardware şi putere de calcul.
6
Deoarece sistemele robotice sunt complexe şi tind să fie greu de dzvoltat, ele integrează senzori
multipli cu efectori, cu multe grade de libertate şi trebuie să compatibilizeze sisteme de timp real cu
sisteme care nu pot îndeplini această condiţie de calcul în timp real [2].
O tendinţă actuală în arhitecturile robotice este cea a sistemelor bazate pe comportament [2],
sau a sistemelor reactive. Bazat pe comportament se referă la faptul că un astfel de sistem este
capabil de comportamente variate, dintre care unele sunt emergente. Aceste sisteme sunt
caracterizate de o cuplare puternică între senzori şi elemente de execuţie, calcul minimal şi o
descompunere a problemei de comportament orientat spre scop.
Figura 2. Arhitectura pentru navigarea bazată pe comportament
O altă tendinţă arhitectural de actualitate este o mixtură a fluxurilor sincron şi asincron de
control si date [2]. Procesele asincrone sunt caracterizate de cuplare scăzută a componentelor şi
conducere bazată pe eveniment fară termene stricte de execuţie. În contrast, procesele sincrone sunt
strâns cuplate, utilizează un tact de ceas comun şi necesită execuţie în timp real.
Abordarile hibride încearcă un compromis între abordările pur deliberative şi cele pur
reactive. Ele conţin atât elemente reactive cât şi deliberative. Componenta reactivă tratează
necesităţile imediate ale robotului, de exemplu evitarea obstacolelor, în timp ce componenta
deliberativă utilizează un model intern al lumii pentru a raţiona şi a selecta acţiunile ce trebuie
realizate pe o perioadă mai lunga de timp. Marea provocare a acestei metodologii este construirea
unei componente intermediare care să controleze interacţiunea dintre cele doua componente. Au fost
propuse multe abordări: Arhitecturi pe Trei Niveluri [4], Simbolistica Servo-Subsumare [5] şi altele
[6].
2.2 Arhitecturi Moderne de Control : Arhitecturi de control al roboţilor inspirate din IA
Sistemele robotice mobile pot beneficia de o sumedenie de tehnici de inspiratie biologică,
cum ar fi reţelele neuronale artificiale, algoritmi genetici, etc. O a doua arie de aplicaţii cu influenţe
în robotica mobilă se regaseşte în domeniile inteligenţei artificiale, ştiinţelor cognitive şi psihologiei.
Roboţii autonomi mobili oferă o cale excelentă pentru testarea ipotezelor despre
comportamentele inteligente, percepţie şi cogniţie. ‘Inteligenţa’ este o proprietate emergentă a
sistemelor ce reiese atunci când procedurile de focusare a atenţiei, cautare combinatorială şi
generalizarea sunt aplicate informaţiei de intrare în scopul obţinerii unor rezultate la ieşire.
7
Tehnicile de control inteligent cu inspiraţie biologică, cum sunt reţelele neuronale, controlul
fuzzy, algoritmii genetici sau o combinaţie sinergetică a lor pot fi utilizate cu succes în construirea
sistemelor de control pentru operarea autonomă a roboţilor mobili.
O dată cu dezvoltarea vastă a tuturor domeniilor inteligenţei artificiale, au apărut noi
modele/arhitecturi pentru controlul roboţilor:
2.2.1 Control Multi-Agent
Comportamentul inteligent poate emerge nu numai din interacţiunea cu un mediu haotic, ci şi
prin interacţiunea mai multor agenţi. Din ce în ce mai mult, cercetătorii consideră că sistemele multi-
agent furnizează mediul perfect pentru testarea abordarilor bazate pe comportament. Roboţilor li se
pot da seturi simple de reguli care vor produce comportamente cooperative impresionant de
complexe. Deşi există încă multe probleme dificile ce trebuie rezolvate, abordările multi-agent au
demonstrat deja importante avantaje [2]. Strategiile multi-agent nu cresc doar utilitatea, ci permit de
asemenea dezvoltarea unui aspect important al inteligenţei: comportamentul social.
2.2.2 Robotică Cognitivă
Robotica cognitivă (RC) se preocupă de înzestrarea roboţilor cu capacitaţi cognitive
asemănătoare mamiferelor şi oamenilor pentru a-i face apţi de a îndeplini obiective complexe în
medii complexe [2]. RC se focalizează asupra utilizării cogniţiei animale ca punct de plecare pentru
dezvoltarea algoritmilor de calcul pentru roboţi, spre deosebire de tehnicile tradiţionale de IA, care se
inspiră mai mult sau mai puţin din cogniţia umană în elaborarea algoritmilor. Capacitaţile cognitive
robotice includ procesarea percepţiei, alocarea atenţiei, anticiparea, planificarea, raţionarea în
legatură cu alti agenţi, şi poate raţionarea despre propria stare mentală. Cogniţia în robotică
transpune comportamentul agenţilor inteligenţi în lumea fizică.
2.2.3 Robotică Evoluţionistă
Un robot evoluţionist sau ‘Evobot’ este un robot cu capacitatea de a învăţa la scară discretă,
de a se adapta la mediul aflat în continuă schimbare şi de a se reproduce selectiv (în software şi
hardware) într-o manieră care îmbunătăţeşte şansele lui de supravieţuire [2].
Mulţi dintre cei mai folosiţi algoritmi de învăţare (reţele neurale artificiale) necesită un set de
exemple de antrenare ce constau dîntr-o intrare ipotetică precum şi din răspunsul dorit. În multe din
aplicaţiile de învăţare ale roboţilor, răspunsul dorit se referă la acţiunea ce trebuie efectuată de robot.
De obicei aceste acţiuni nu sunt cunoscute aprioric, robotul recepţionând, în cel mai bun caz, o
valoare ce indică succesul sau insuccesul acţiunii desfasurate. Algoritmii evolutionişti sunt soluţii
8
naturale pentru acest gen de probleme prin faptul că funcţia fitness necesită numai codificarea
succesului sau insuccesului unui regulator şi nu acţiunea precisă ce trebuia efectuată.
Un alt aspect interesant al roboticii evoluţioniste este evoluţia învătării. În sensul larg,
învăţarea este abilitatea de a se adapta în timpul vieţii. Abilitatea de adaptare rapidă este crucială
pentru roboţii autonomi care operează în medii dinamice şi parţial imprevizibile, însă sistemele de
învăţare dezvoltate până acum au atât de multe constrângeri încât sunt foarte greu de aplicat roboţilor
care interacţionează cu mediul fără intervenţie umană. Desigur, evoluţia este o formă de adaptare,
dar schimbările au loc numai odată cu schimbarea generaţiei şi de multe ori roboţii evoluaţi lucrează
bine atât timp cât se află în mediul în care au evoluat.
Prin utilizarea evoluţiei învăţării, am putut evolua abilităţi mai complexe, cum ar fi abilitatea
de rezolvare a sarcinilor secvenţiale pe care insectele simple nu le pot rezolva, dar totuşi numărul
necesar de generaţii a fost mult prea mic.
Cel mai important rezultat a fost concluzia că roboţii evoluaţi au fost capabili să se adapteze
în timpul ‘vieţii’ lor la mai multe tipuri de schimbări de mediu care nu au mai fost întâlnite anterior
în timpul procesului de evoluţie, cum ar fi condiţii diferite de lumină, dispuneri diferite ale mediului
şi chiar carcase robotice diferite.
2.4 Robotică Epigenetică şi Evolutivă
Robotică evolutivă (RoboEvo), cunoscută şi sub numele de robotică epigenetică, este o
metodologie inspirată din psihologia evoluţionistă şi din neuro-ştiinţa evolutivă cu scopul de a
dezvolta controllere pentru roboţii autonomi. Se concentrează pe sisteme de control autonome, cu
auto-organizare, suficient de generale pentru a nu fi dependente de sarcina dată. Centrul de atenţie
este plasat asupra unui singur robot care trece prin stadii diferite de dezvoltare mentală autonomă.
Apare astfel o distanţare faţă de metodologiile bazate pe sarcini specifice în care un robot era
proiectat pentru rezolvarea unei sarcini particulare predefinite (cum ar fi planificarea drumului spre o
locaţie obiectiv). Cercetătorii din acest domeniu studiază emoţiile artificiale, auto-motivarea şi alte
metode de auto-organizare.
3. TEHNICI INTELIGENTE HIBRIDE
Soft computing (SC) este o asociere de tehnici inteligente de calcul care include ca elemente
principale logica fuzzy, calculul neuronal (neuro-calculul), calculul evoluţionist şi calculul
probabilistic. Aceste tehnici se potrivesc perfect pentru aplicaţiile reale care sunt caracterizate de
date şi cunoştinţe imprecise şi incomplete. Sinergia dintre două sau mai multe tehnici SC
complementare formează tehnicile inteligente hibride. Exista două scheme de tehnici inteligente
hibride.
9
Tipul 1 – Hibrid : acele sisteme ‘hibride’ care combină una sau mai multe tehnici inteligente într-
o schemă preponderent metodologică pentru a obţine o performanţă superioară de inteligenţă în
domenii complexe de aplicaţii:
Tipul 1 – Hibrid : {NN} U {FS} U {ML} U {EC}
Tipul 2 – Hibrid : acele sisteme care combină una dintre tehnicile inteligente bine-cunoscute cu o
metodă standard euristică sau matematică, pentru a rezolva mai eficient o problemă complexă
păstrând nivelul global de inteligenţă al abordării [7, 8, 9 si10] ;
Tipul 2 – Hibrid : {NN, FS, ML, EC} U {Wavelets, Clustering, Fast Fourier Transform
(FFT)…}
Figura 3 : Infrastructură generală pentru Tipul 1 – Arhitecturi hibride de Soft Computing
3.1 Clase şi Modele de Sisteme Inteligente Hibride
Sistemele inteligente hibride pot fi clasificate în clase şi modele dupa cum urmează :
3.1.1 Clase de Sisteme Inteligente Hibride
Sistemele inteligente hibride pot fi grupate în patru clase [11], aşa cum arată şi figura 4 :
Sisteme de fuziune
Sisteme de transformare
Sisteme de combinare
Sisteme asociative
Sistemele de fuziune includ tehnicile inteligente care, la rândul lor, includ mai multe tehnici
inteligente într-un singur model de calcul. Cu alte cuvinte, o tehnică inteligentă este fuzionată în
structura unei alte tehnici inteligente. Geno-fuzzy este un sistem de fuziune prin faptul că algoritmul
genetic este fuzionat în sistemul de logică fuzzy; în acest fel sistemul fuzzy îşi îmbunătăţeşte
capacitatea de învăţare .
10
Sistemele de transformare sunt utilizate pentru transformarea unei forme de reprezentare într-o
alta. Aceste sisteme sunt utilizate pentru a reduce problema achiziţionării de cunoştinţe prin
transformarea reprezentărilor distribuite sau continue în reprezentări discrete.
Sistemele de combinare realizează hibridizarea explicită şi sunt utilizate în rezolvarea de
probleme reale care implică aranjarea modulară a două sau mai multe metodologii inteligente, care
modelează cel mai bine un nivel particular. Sistemele de fuziune păstrează identitatea separată a unei
metodologii inteligente. Sistemele de combinare sunt modelate pentru diferite nivele de procesare a
datelor; ele sunt divizate în urmatoarele categorii: sisteme de combinare neuro-simbolice, simbolic-
genetice, neuro-fuzzy. Constrângerile impuse de sistemele de fuzionare, transformare şi combinare în
termenii reprezentării cunoştinţelor şi capacităţii de procesare, limitează atât seria de sarcini şi
probleme ce pot fi adresate, cât şi calitatea soluţiilor acestora.
Sistemele asociative încearcă să asocieze fuzionarea, transformarea şi combinarea sistemelor
într-o asemenea manieră încât să maximizeze atât seria de sarcini şi probleme abordabile cât şi
calitatea solutiilor lor.
Figura 4. Calitatea soluţiei şi seria de sarcini [11]
Arhitectura asociativă hibridă este aplicabilă problemelor de scară largă şi timp critic, cu date
numeroase şi complexe. Această arhitectură este construită în jurul integrării diverselor perspective
ce caracterizează hibridizarea şi procesarea de informaţii. Calitatea soluţiei are de suferit acolo unde
există suprapuneri de variabile, unde regulile sunt foarte complicate, calitatea datelor este scăzută sau
datele sunt afectate de zgomot. De asemenea, pentru ca le lipseşte capacitatea de a raţiona, seria de
sarcini pe care le pot trata este restricţionată. Arhitecturile de combinare acoperă o serie de sarcini
datorită flexibilitaţii lor inerente, datorate posibilităţii de selecţie a două sau mai multe metodologii
inteligente, aşa cum arată figura 3.2, care ilustrează calitatea soluţiei versus seria de sarcini ce pot fi
soluţionate.
Arhitecturile asociative hibride încorporează conceptele fuziunii, transformării şi combinării;
integrează nivelurile de rezolvare a problemelor din inteligenţa artificială şi computaţională care
uzează de metode simbolice, fuzzy, reţele neuronale şi programare genetică evoluţionistă.
11
Din cauza lipsei transferului de cunoaştinţe între diferitele module, calitatea soluţiei are de
suferit tocmai din cauza arhitecturilor de fuziune şi transformare.
De fapt, arhitecturile de fuziune, transformare şi combinare au fost motivate de şi au fost
dezvoltate pentru diferite situaţii/sarcini specifice de rezolvare de probleme. Din acest motiv este util
să asociem aceste arhitecturi într-o asemenea manieră încât să maximizeze atât calitatea cât şi seria
de sarcini pe care le pot indeplini.
3.1.2 Modele de Sisteme Inteligente Hibride
Arhitecturile inteligente hibride sunt clasificate în patru categorii distincte în funcţie de
arhitectura generală a sistemului :
(1) Sisteme inteligente de sine stătătoare,
(2) Sisteme inteligente transformaţionale,
(3) Sisteme inteligente hibride ierarhice, şi
(4) Sisteme inteligente hibride integrate.
Următoarea secţiune discută fiecare din aceste strategii, aplicabilitatea modelelor, beneficiile şi
limitările fiecărei abordări.
3.1.2.1 Sisteme Inteligente de sine stătătoare
Modelele de sine stătătoare constau din componente software independente care nu
interacţioneaza în nici un fel. Dezvoltarea unui sistem de sine stătător poate avea mai multe scopuri :
în primul rând, pot fi folosite în compararea directă a capacitaţii de rezolvare de probleme a
diferitelor tehnici cu referire la o anumită aplicaţie. Rularea diferitelor tehnici într-un mediu paralel
permite o aproximare slabă a integrării. Modelele de sine stătătoare sunt utilizate deseori pentru
dezvoltarea rapidă a unui prototip iniţial, în timp ce este dezvoltată o altă aplicaţie costisitoare din
punct de vedere al timpului. Figura 5 reprezintă un sistem de sine stătător în care o reţea neuronală şi
un sistem fuzzy sunt folosite separat.
Figura 5. Sistem de sine stătător
Câteva din beneficiile sistemelor de sine stătătoare sunt simplitatea şi usurinţa de dezvoltare prin
utilizarea pachetelor software comerciale disponibile. Pe de alta parte, sistemele de sine stătătoare nu
sunt transferabile: niciuna dintre tehnici nu poate compensa punctele slabe ale celeilalte.
3.1.2.2 Sistemele inteligente hibride transformaţionale
Într-un model hibrid transformaţional, sistemul porneşte ca fiind de un anumit tip şi îşi
încheie evoluţia ca fiind de alt tip. Determinarea tehnicii utilizate în dezvoltare, precum şi a celei
12
utilizate în procesarea rezultatelor, se bazează pe caracteristicile dorite şi oferite de tehnicile
selectate. Figura 6 arată interacţiunea dintre o reţea neuronală şi un sistem expert într-un model
hibrid transformaţional. În mod evident, fie sistemul expert nu este capabil să rezolve problema în
mod adecvat, fie este necesară viteza, adaptibilitatea sau robusteţea reţelei neuronale. Cunoştinţele
sistemului expert sunt utilizate în determinarea condiţiilor iniţiale şi a setului de antrenare pentru
reţeaua neuronală artificială.
Figura 6. Arhitectura transformaţională hibridă
Modelele hibride tranformaţionale sunt de obicei rapid de dezvoltat şi necesită în cele din
urmă doar mentenanţa unui singur sistem. Ele pot fi dezvoltate pentru a se potrivi cu mediul şi pentru
a oferi multe beneficii operaţionale. Din păcate, modelele transformaţionale prezintă limitări
semnificative. Cele mai multe sunt dependente de aplicaţia pentru care au fost create. Pentru o
aplicaţie diferită, un efort total nou de dezvoltare ar putea fi necesar, cum ar fi o metodă complet
automată pentru transformarea unui sistem expert într-o reţea neurală şi invers.
Figura 7. Arhitecturi hibride ierarhice
3.1.2.3 Sisteme Inteligente Hibride Ierarhice
Această arhitectură este construită într-o manieră ierarhică, prin asocierea unei funcţionalităţi
diferite fiecărui nivel. Funcţionarea modelului depinde de buna funcţionare a fiecărui nivel. Figura 7
demonstrează o arhitectură hibridă ierarhică ce include o reţea neuronală, un algoritm evoluţionist şi
un sistem fuzzy. Reţeaua neuronală utilizează un algoritm evoluţionist pentru optimizarea
performanţei sale, iar ieşirea reţelei acţionează ca un preprocesor pentru sistemul fuzzy, care
produce apoi ieşirea finală. Performanţa scăzută a unui nivel afectează în mod direct rezultatul final.
3.1.2.4 Sisteme Inteligente Integrate
Arhitecturile de fuziune constituie prima formă de sisteme inteligente integrate. Acestea
includ sisteme care combină diferite tehnici într-un singur model computaţional şi partajează
structuri de date şi reprezentări de cunoştinţe. O altă abordare este amplasarea, una lângă alta, a
diferite tehnici şi analiza interacţiunile dintre ele în cadrul unei sarcini de rezolvare de probleme.
13
Aceasta metodă permite integrarea tehnicilor alternative şi exploatarea lor simultană. Mai mult decât
atât, perspectiva conceptuală a agentului permite abstractizarea tehnicilor individuale şi focalizarea
asupra comportamentului global al sistemului, dar şi studiul contribuţiei individuale a fiecărei
componente.
Beneficiile modelelor integrate includ robusteţea, performanţe îmbunătăţite şi creşterea
capacitaţii de rezolvare de probleme. În cele din urmă, modelele total integrate furnizează o serie de
capabilităţi cum ar fi adaptarea, generalizarea, toleranţa la zgomot şi raţionarea. Sistemele fuzionate
au limitări cauzate de creşterea complexităţii interacţiunilor intre module, iar specificarea,
proiectarea şi construirea modelelor total integrate este un proces extrem de complex.
4. TEHNICI INTELIGENTE HIBRIDE APLICATE ÎN CONTROLUL ROBOŢILOR
MOBILI
Proiectarea manuală a controllerelor pentru roboţii mobili devine tot mai dificilă odată cu
creşterea complexităţii comportamentului. În multe aplicaţii, mediul robotului se schimbă în timp,
această schimbare nefiind anticipată de către proiectant. De asemenea, informaţiile pe care le
deţinem despre mediu sunt imprecise, incomplete şi imperfecte din cauza limitării calităţii de
percepţie a senzorilor. Aceste probleme limitează utilitatea abordării tradiţionale bazate pe modele
pentru proiectarea roboţilor inteligenţi.
Tehnicile Inteligente Hibride (TIH) au fost aplicate de mulţi cercetatori în vederea unui
control inteligent al robotului mobil autonom. Una din cele mai mari dorinţe ale cercetătorilor din
domeniul roboticii este sa vada o maşină care îi seamănă omului gândind si comportându-se autonom
şi inteligent asemenea oamenilor, şi chiar depăşindu-i prin depăşirea constrângerilor umane.
Numeroase tehnici inteligente au fost aplicate independent şi cooperativ pentru a atinge acest scop
înalt.
4.1 Calcul Evoluţionist Hibrid In Controlul Roboţilor Mobili
Noţiunea de calcul evolutiv descrie un set de algoritmi care utilizează ideea evoluţiei în
rezolvarea problemelor complexe de calcul, aşa cum este proiectarea controller-ului unui robot.
Include algoritmi ca de exemplu Algoritmi Genetici AG, Programare Genetică PG şi Strategii
Evolutive.
Aceştia operează pe o populaţie sau un grup de indivizi unde fiecare reprezintă o soluţie
propusă a problemei. Apoi ei aplică o mulţime de operatori inspiraţi biologic, cum ar fi mutaţiile şi
cross- over- ul, pentru a obţine o generaţie mai bună, mai potrivită pentru rezolvarea problemei.
Calculul evolutiv are multe aplicaţii în robotică. Primul lucru pe care îl aduce roboticii este
un instrument de optimizare. Optimizarea este unul din tipurile frecvente de probleme rezolvate de
14
Algoritmii Genetici datorită competiţiei dintre indivizi. În aplicarea Algoritmului Genetic pentru
optimizare, de obicei indivizii sunt puncte din spaţiul unde este căutat punctul optim, iar funcţia care
trebuie optimizată este funcţia ”fitness”. Reproducerea are ca scop generarea de noi puncte pornind
de la cele existente până când este găsit punctul optim.
Algoritmul Genetic oferă proprietăţi utile pentru problema optimizării: poate fi aplicată
problemelor continue, discrete şi mixte şi nu necesită informaţii despre continuitatea sau
derivabilitatea funcţiei care trebuie optimizată. De asemenea, poate fi folosit pentru probleme de
optimizare cu constrângeri. Constrângerile parametrilor care trebuie optimizaţi pot fi transformate
uşor în constrângeri ale operatorilor genetici pentru a produce indivizi în interiorul domeniului de
căutare definit de către constrângeri.
Algoritmii Genetici sunt aplicabili în cazul multor probleme practice care necesită funcţii
multi- obiectiv. Optimizarea multi-obiectiv se realizează prin construirea funcţiei ‘fitness’ care este
suma ponderată a obiectivelor cerute. O altă soluţie este utilizarea co-evoluţiei, unde sunt folosite
multiple populaţii în loc de una singură. Fiecare populaţie este menită să optimizeze un anumit
obiectiv în timp ce interschimbă indivizi (migraţie).
De exemplu, o posibilă metodă pentru evoluţia unui controller de reţea neuronală este să
permitem algoritmului să aleagă ponderile optime ale reţelei neurale, astfel că problema dezvoltării
acestui controller astfel încât să manifeste un comportament de ocolire a obstacolelor poate fi văzută
ca o problemă de optimizare a ponderilor. De asemenea, această problemă este o problemă de
optimizare multi-obiectiv deoarece dorim ca reţeaua neurală să atingă diferite scopuri, ca de exemplu
să evite obstacolele şi în acelaşi timp să păstreze o viteză convenabilă şi o direcţie dreaptă.
Al doilea avantaj pe care calculul evolutiv îl aduce în robotică este faptul că oferă o metodă
de reguli de învăţare necesare pentru ca robotul să îndeplinească anumite sarcini. În acest caz
controller-ul este în principal un set de reguli, iar noi dorim să alegem setul de reguli optim pentru a
realiza această sarcină. Este incomod să programăm regulile manual sau să testăm diferite combinaţii
ale acestora. Un exemplu de utilizare a algoritmului genetic pentru a învăţa regulile roboţilor este un
sistem construit la Laboratoarele de Cercetare Navală şi poartă numele SAMUEL[12][13]. Acesta a
utilizat metoda descrisă mai sus pentru a învăţa navigarea robotică Nomad şi evitarea obstacolelor.
Regulile nu sunt singurul tip de controllere care pot fi proiectate pentru calculul evolutiv[14][15].
Alte utilizări ale calculului evolutiv în scheme hibride includ: evoluarea regulatoarelor cu
Reţele Neurale (GENO-NEURO)[16,17,18,19,20,21,22]; evoluarea regulatoarelor bazate pe logica
Fuzzy (GENO-FUZZY) [23,24,25]; evoluarea Programelor de Control (GP-NEURO)[26,27]
15
4.2 Controlul Roboţilor Mobili Utilizând Tehnici Neuro-Fuzzy
Acest sistem utilizează o reţea neurală pentru optimizarea sistemelor fuzzy care au date de
cunoaştere (bază anterioară de reguli), aceste reţelele neurale asigurând abilităţi de învăţare şi
instrucţie, şi obţine un sistem care are cunoşinţe anterioare şi abilităţi de a învăţa din mediul său.
Acest sistem îmbunătăţeşte performanţele şi capacităţile de rezolvare a problemelor [11,30]. Vom
discuta mai mult despre tipul hibrid în capitolul 5.
4.3 Controlul Roboţilot Mobili Utilizând Tehnici Geno-Neuro-Fuzzy
Sistemul hibrid al reţelei neurale fuzzy genetice (Geno-neuro- fuzzy) este rezultatul
adăugării algoritmului genetic sau a capacităţilor evolutive de învăţare la sistemul hibrid neuro-
fuzzy de învăţare. Acest sistem, sistemul genetic- neuro- fuzzy, are mai multe structuri, aşa cum vom
discuta mai departe.
Intrsuirea controller-ului neuro- fuzzy prin algoritmul genetic
Reţelele neurale genetice fuzzy au incorporate fuzzy pentru a reprezenta ponderile,
efectuează operaţii fuzzy în nodurile reţelei , şi/sau încorporează noduri fuzzy care reprezintă
funcţii de apartenenţă. Algoritmul genetic este aplicat reţelelor neurale, iar rezultatul este un
proces de învăţare care obţine ponderile reţelei neurale şi adaptează funcţiile de transfer ale
nodurilor şi topologia reţelei.
Stratul supervisor, stratul algoritmului genetic
Învăţarea evolutivă se aplică sistemelor hibride neuro- fuzzy [11]. Rolul ierarhic al
algoritmului genetic în acest sistem este optimizarea reţelei neurale şi a sistemului fuzzy.
Această optimizare poate fi realizată prin utilizarea mai multor strategii:
1. Algoritmul genetic pentru optimizarea ponderilor unei reţele neurale
2. Algoritmul genetic pentru optimizarea mulţimii de funcţii de apartenenţă
3. Algoritmul genetic pentru optimizarea bazei ierarhice de reguli fuzzy.
Aceste strategii pot lucra împreună sau independent, în funcţie de decizia umană.
5. ARHITECTURĂ DE CONTROL NEURO-FUZZY PENTRU ROBOŢI MOBILI
AUTONOMI
Hibrizii reţelelor logice fuzzy şi neurale se încadrează în două categorii[28]. Există control
neural fuzzy care înzestrează controlul fuzzy cu funcţii de învăţare sau procesează informaţia înainte
ca logica fuzzy să fie aplicată. Cea de-a doua categorie este controlul neuro- fuzzy care încorporează
logica fuzzy şi reguli lingvistice în controlul structurii neural. În cea mai mare parte a literaturii
16
reviziute nu se face distincţia între aceste două categorii. Termenul neuro- fuzzy este utilizat cu
sensul de neural fuzzy.
În această teză se utilizează neuro-fuzzy pentru ambele categorii, aşa cum s-a procedat în cea
mai mare parte a literaturii revizuite. Cele patru tipuri hibrid generale sunt reprezentate în Figura 8.
Cel mai simplu tip constă în procesarea serială simplă realizată de către sistemul fuzzy şi reţeaua
neurală, aşa cum arată Figura 8a. Înaintea modelării reţelei neurale, informaţia introdusă este
procesată de către fuzificare, iar utilitatea sistemului fuzzy în acest caz este atunci când avem de-a
face cu informaţii incerte înainteca învăţarea neurală să aibă loc. În ceea ce priveşte controller-ul
fuzzy, modulul de inferenţă şi baza de reguli sunt înlocuite de o reţea neurală. Această structură este
potrivită pentru proiectarea controllerelor pentru roboţi autonomi, întrucât datele colectate din medii
necunoscute şi dinamice sunt în general sigure. Este necesar să procesăm datele ‘fuzzy’ prin
intermediul logicii fuzzy; în acest fel putem construi un model perfect prin intermediul reţelei
neurale. Operaţia acestei structure este simplă, dar adevărata capacitate de învăţare a reţelei neurale
nu este avantajată de sistemul fuzzy. Prin urmare, rămân multe probleme în cazul acestui tip de
sistem.
De asemenea, pentru ajustarea parametrilor şi structurii sistemului fuzzy (aşa cum arată
Figura 8b), în special optimizarea bazei de reguli fuzzy, poate fi aplicată funcţia de optimizare a
reţelei neurale bazate pe feedback-ul erorilor prin intermediul metodei gradient descent [29]. Partea
principală a acestei structuri este sistemul fuzzy, iar utilitatea sistemului neural este îmbunătăţirea
performanţelor sistemului fuzzy. Principalele dezavantaje ale acestei abordări sunt problemele de
instruire a reţelei neurale care există în continuare şi limitările sistemului fuzzy, ca de exemplu
pocesul de actualizare a structurii care este imposibil de realizat în cazul roboţilor autonomi mai
fiabili şi mai flexibili.
Pentru a reduce influenţa datelor incerte asupra reţelei neurale, datele de intrare pot fi
clasificate în certe şi incerte, iar tipurile diferite de date pot fi procesate de subsisteme diferite. În
cazul cel mai natural, informaţiile incerte sunt procesate de sistemul fuzzy, în timp ce toate datele
exacte vor fi procesate de reţeaua neurală. Această structură este ilustrată în Figura 8c. Totuşi,
această abordare nu utilizează în totalitate avantajele reţelei neurale şi sistemelor fuzzy. Mai mult
decât atât, clasificarea datelor de intrare în certe şi incerte este adesea dificilă în aplicaţiile reale.
Din punctul de vedere al învăţării, reţelele neurale sunt superioare sistemelor fuzzy, întrucât
sunt mai flexibile în medii dinamice. Totuşi, un punct slab practic este acela că, pentru problemele
complexe de control, instruirea reţelei neurale poate fi dificilă, în special dacă nu au fost utilizate
tehnici evolutive pentru optimizarea procesului. În general, roboţii autonomi nu au nevoie de
obţinerea unor informaţii exacte pentru a se deplasa într-un mediu cunoscut. De aceea controllerele
17
pentru roboţi autonomi bazate pe logica fuzzy sunt încă o metodă promiţătoare, dar problema este
îmbunătăţirea sistemului fuzzy prin învăţare.
În Figura 8d este propusă o nouă abordare pentru construirea unui model al reţelei neurale cu
operaţie fuzzy prin învăţare. Dacă X={xi} şi Y={yj} reprezintă datele de intrare şi de ieşire ale
sistemului, iar ponderile W={wij} reprezintă modelul care descrie relaţia dintre intratea X şi ieşirea
Y, atunci operaţia acestui sistem poate fi definită ca:
Y=XoW:Yj= ( (Xi, wij)), i=1,2,…,N; j=1,2,…,M
Unde şi sunt operatorii min şi max care implementează conjuncţia şi disjuncţia fuzzy, N
este numărul intrărilor, iar M este numărul de eşantioane de intsruit. Ponderile pot fi ajustate prin
utilizarea unui algoritm de învăţare bazat pe metoda gradient descent, aşa cum este descris în detaliu
în [31]. Un avantaj major al acestei metode este faptul că ea consumă mai puţin timp de calcul, iar un
astfel de proces operaţional este relativ uşor şi sigur.
Figure 8: Cele patru tipuri principale de sisteme neuro- fuzzy hibride pentru controlul AMR
5.1 Alegerea Modelului Neuro-Fuzzy Pentru Controlul Unui Robot Mobil
Unul din scopurile acestei teze, aşa cum s-a precizat anterior, este cercetarea avantajelor
combinării logicii fuzzy şi paraigmelor inteligente ale retelei neurale în controlul robotului mobil.
Acest lucru poate fi realizat prin construirea în primul rând a unui controller logic fuzzy care se va
ocupa de condiţiile de zgomot şi incerte ale senzorilor robotului. Al doilea pas este optimizarea
performanţelor controller-ului fuzzy prin folosirea reţelei neurale. Exista diverse combinaţii ale
logicii fuzzy şi paradigmei reţelei neurale în literatură, iar alegerea modelului potrivit depinde mult
de aplicaţia la îndemână. În această secţiune, vom încerca să justificăm alegerea modelului pentru
controlul robotului mobil.
Detlef Nauck şi Rudolf Kruse [32] au descris cele două abordări ale modelelor neuro- fuzzy
şi au oferit indicii pentru alegerea controller-elor retelei neurale fuzzy potrivite. Prima categorie este
o combinaţie între reţele neurale şi controllere fuzzy unde ambele modele sunt utilizate independent.
Această abordare creează o arhitectură eterogenă, aşa cum arată Figura 9. Combinaţia este
determinată de faptul că o reţea neurală învaţă sau optimizează mai mulţi parametri ai unui controller
18
fuzzy înainte ca acesta să fie utilizat (offline), sau în timp ce acesta operează (online). Această
abordare poartă numele de neuro- fuzzy cooperativă.
Cea de-a doua categorie, care creează o arhitectură omogenă, care este o reţea neruală
orientată prin interpretarea unui controller fuzzy ca o reţea neurală specială sau prin implementarea
unui controller utilizând reţele neurale, se numeşte model neuro- fuzzy hibrid. Figura 10 ilustrează
un model generic al acestei arhitecturi. Avantajul major al neuro- fuzzy hibrid este arhitectura
consistentă datorită căreia comunicarea între două modele diferite nu mai este necesară. Mulţimile
fuzzy pot fi interpretate ca ponderi, iar regulile, variabilele de intrare şi variabilele de ieşire pot fi
reprezentate ca neuroni. Neuro- fuzzy hibrid învaţă într-un mod supravegheat utilizând sarcini de
învăţare libere sau fixate.
Ajith Abraham [30] a prezentat o clasificare similară a combinaţiilor logicii fuzzy şi
paradigmelor reţelei neurale. Combinaţia este clasificată în arhitecturi concurente, cooperative şi
fully fused/integrate. Un detaliu complet despre această clasificare a fost prezentat în capitolul 3 al
acestei teze. Reţeaua neurală fully fused/integrată este aceeaşi cu neuro- fuzzy hibrid al lui Detlef
Nauck[32], iar neuro- fuzzy cooperativ al lui Detlef este mai departe divizat în arhitectura concurentă
şi cooperativă a lui Ajith Abraham[30].
Figura 9: Diferite abordări ale sistemului Figura 10: Model generic al unui controller
neuro- fuzzy cooperative neuro- fuzzy hibrid [32]
Alegerea aplicaţiei controller-ului neuro- fuzzy depinde de ori faptul că setul de date de
învăţare trebuie asigurat, ori de o funcţie care evaluează stările sistemului, care trebuie să fie
cunoscută pentru a crea o sarcină de învăţare. După întâlnirea acestor nevoi de bază, mai departe
trebuie să decidem dacă trebuie să optimizăm un controller fuzzy existent pentru seturile fuzzy
necesare şi/sau trebuie ca controller-ul neuro- fuzzy dorit să re-creeze (reducă) regulile fuzzy.
Dacă trebuie să optimizăm un controller existent prin utilizarea unei reţele neruale, singura
posibilitate este adaptarea seturilor fuzzy. Nu sunt cunoscute combinaţii capabile să optimizeze o
bază de reguli predefinită [32]. O soluţie posibilă ar fi transformarea controller-ului în modelul hibrid
19
FUN (Fuzzy Net) (discuţia despre modelul FUN este prezentă în capitolul patru al acestei teze) care
este capabil să schimbe o bază de reguli printr-o procedură de învăţare stochastică, dar fără
schimbarea numărului de reguli. După procesul de învăţare modelul nu poate fi transformat, dar pot
apărea probleme semantice nedorite în interacţiunea bazei de reguli [32].
În această teză, întrucât avem un controller fuzzy existent, am decis să optimizăm controller-
ul prin utilizarea unei reţele neurale.
Un alt factor care influenţează alegerea modelului neuro- fuzzy este tipul de activitate de
învăţare disponibil. Figura 9a sau 10c poate fi aleasă pentru a optimiza seturile fuzzy. Dacă o
activitate de învăţare fixă este disponibilă, Figura 9a poate fi utilizată. Învăţarea este realizată offline
în acest caz şi trebuie să fie reluată dacă controller-ul nu trece testul ulterior. Poate fi utilizată
abordarea din Figura 9c, dacă este posibilă învăţarea fortată în cazul sistemului fizic sau simularea
acesteia. Abordarea din Figura 9d poate fi de asemenea utilizată pentru a optimiza un controller
existent, întrucât scalarea ieşirilor este echivalentă cu schimbarea din funcţiile de apartenenţă ale
concluziilor. Singura constrângere este posibilitatea de apariţie a problemelor semantice, aşa cum s-a
discutat anterior. De asemenea este posibil să utilizăm abordări neurale ulterioare procesării [32].
Modelul din Figura 9b poate fi utilizat doar pentru a crea reguli fuzzy dacă seturile fuzzy sunt
cunoscute. După ce baza regulilor a fost construită pe baza datelor de instruite, controller-ul rezultat
nu mai poate fi adaptat. Dacă controller-ul cedează, trebuie să creăm o bază de reguli complet nouă.
O soluţie pentru această problemă este utilizarea acestei abordări împreună cu modelele din Figura
9a sau 10c pentru a adapta seturile fuzzy predefinite astfel încât acestea să se potrivească bazei de
reguli învăţate de model.
Dacă trebuie să construim un nou controller şi seturile fuzzy şi/sau regulile fuzzy nu sunt cunoscute
sau sunt doar parţial cunoscute, un model hibrid (integrat/fully- fused) este mai potrivit. Însă chiar şi
când numai seturile fuzzy ale unui controller existent trebuie să fie adaptate, se pot utiliza modele
hibride. Controller-ul poate fi transformat în modelul hibrid (integrat/fully- fused), iar apoi re-
transformat după învăţate [32].
Din analiza de mai sus rezultă că modelele din figurile 10c şi 10d sunt cele mai potrivite
pentru lucrarea noastră, întrucât noi avem un controller fuzzy cu bază de reguli şi seturi fuzzy. De
aceea, scopul nostru este să optimizăm setul fuzzy si ponderile regulilor fuzzy pentru controller-ul
nostru fuzzy prin utilizarea unei reţele neurale cu algoritm genetic ca algoritm de învâţare
implementat în reţeaua neurală. Scopul nostru este să construim un sistem neuro- fuzzy hibrid
capabil să optimizeze atât baza de reguli, cât şi seturile fuzzy ale controller-ului nostru fuzzy prin
utilizarea învăţării genetice.
20
5.2 Modelul si Arhitectura Hibrida de Control Neuro-Fuzzy
Propunem un model care optimizează atât regulile fuzzy, cât şi controller-ul fuzzy pentru
robotul nostru mobil.
Figura 11: Controller-ul neuro- fuzzy hibrid propus pentru controlul robotului
Controller-ul hibrid propus constă într-un controller fuzzy (indicat de blocul intens colorat),
reţeaua neurală şi algoritmul de învăţare pentru reţeaua neurală. Reţeaua va fi utilizată pentru a
optimiza parametrii logici fuzzy, ca de exemplu seturile de funcţii de aparteneţă ale intrării
fuzzificate şi ieşirii defuzzificate ale controller-ului fuzzy. Reţeaua optimizează în mod egal
ponderea regulii bazei de reguli a controller-ului fuzzy. Pentru ponderile reţelei este propusă
învăţarea genetică.
6. STUDIU DE CAZ I: CONTROLUL FUZZY AL UNUI ROBOT MOBIL DE TIP
KHEPERA II
Unul din obiectivele acestei cercetări este implementarea controller-ului fuzzy pe robotul
mobil Khepera II pentru a-l controla în vederea urmăririi unui perete, evitării de obstacole, atingerii
ţintelor şi a unui comportament de tip explorare.
6.1 Logica Fuzzy şi Controlul Bazat pe Logica Fuzzy
În proiectarea roboţilor se doreşte ca aceştia să acţioneze mai mult ca nişte fiinţe umane decât
ca nişte maşini. Logica tradiţională face uz de valori numerice ferme, şi de accea nu este adecvată
pentru aproximarea procesului uman de luare a deciziilor. Logica fuzzy mimează procesul uman de
gândire prin utilizarea întregului interval dintre zero şi unu, fiind utilizată pentru a reprezenta cu
destul de multă acurateţe gândirea umană [33,34]. Proiectarea unui system logic fuzzy poate fi
împărţită în general în următoarele stadii: fuzzificarea, inferenţa şi defuzzificarea.
Figura 12 ilustrează diagrama controller-ului fuzzy de tip Mamdani pentru controlul robotului
mobil considerat în lucrarea de faţă. În Figura 13, cei 8 senzori cu infra-roşu ai robotului Khepera II
21
sunt ilustraţi conform proiectării intrărilor efectuată în lucrarea de faţă. Datele cititie de senzori sunt
numere întregi din intervalul [0, 1023]. Valoarea 1023 a senzorului indică factul că robotul este
foarte aproape de obiect, în timp ce valoarea 0 a senzorului indică faptul că robotul nu primeşte nicio
reflexie a semnalului infra-roşu. Datele citite sunt normalizate pe intervalul [0,1].
Defimin trei variabile fuzzy care reprezintă distanţa relativă dintre robot şi un obiect din
mediul său. Acestea sunt: Distanţa la Stânga DS, Distanţa la Dreapta DD şi Distanţa Frontală DF.
Excludem datele citite de senzorii spate din proiectul nostru datorită faptului că robotul foloseşte rar
senzorii spate, întrucât el se deplasează de obicei înainte. Domeniile fizice de variaţie în care sunt
definite aceste valori lingvistice sunt determinate după cum urmează:
DS=Max(S0,S1);
DD=Max(S2,S3);
DF=Max(S4,S5).
Unde Si sunt valorile normalizate ale seonzorilor în intervalul [0,1]. Toate variabilele fuzzy
de intrare au aceeaşi lungime a variabilei de bază.
Figura 12: Diagrama bloc a FLC Figura 13: Poziţia şi orientarea senzorilor pe Khepera II.
Definim variabile lingvistice care reprezintă distanţa relativă a robotului faţă de diferite
obiecte din mediul său, aşa cum este ea măsurată de către senzorii cu infra-roşu. Acestea sunt: Foarte
Departe- FD; Departe- D; Mediu- M; Aproape- A; Foarte Aproape- FA.
Figura 14: Tabelul de reguli FLC Figura 15: Functiile de apartenentă gaussiene pentru intrare,
respectiv ieşire
22
Figura 16: Functiile de apartenentă triunghiulare pentru intrare, respectiv ieşire
6.1.1 Fuzzificarea
În etapa de fuzzificare, datele de intrare fuzzy sunt transmise controller-ului fuzzy. Aceste
date de intrare sunt fuzzificate prin utilizarea funcţiilor de apartenenţă. Funcţiile de apartenenţă
mapează universul de discurs [0,1023] al valorilor senzorilor în valori graduale de apartenenţă pentru
fiecare funcţie în intervalul [0,1]. Pentru a fuzzifica datele de intrare sunt utilizate două tipuri de
funcţii de apartenenţă. Acestea sunt: funcţiile de apartenenţă gaussiene, aşa cum arată Figura 15, şi
funcţiile de apartenenţă triunghiulare, reprezentate în Figura 16. Funcţia gaussiană este de forma:
Unde xj este valoarea citită de senzor (normalizată), aij este valoarea medie şi bij este
întinderea curbei fncţiei de apartenenţă corespunzătoare.
După ce datele de intrare sunt fuzzificate, sunt aplicate reglile pentru a determina un răspuns
la aceste date.
6.1.2 Tabela de Reguli Fuzzy
Regulile fuzzy din această lucrare sunt obţinute euristic, având în vedere că robotul mobil
Khepera II este un robot cu roţi diferenţiale. Sunt considerate 125 de reguli pentru controllere. În
Tabelul 1 de mai jos sunt indicate câteva in aceste reguli:
Tabelul 1: Tabelul regulilor fuzzy
NR. REGULĂ
INTRARE IEȘ IRE
SENZORI MOTOR WHEELS
IF THEN
DS DF DD VS VD
1 FA FA FA FI FR
2 FD FA A S D
3 FA FA M FR Z
4 FA FA R R I
5 FA FA FR FR FI
23
6.1.3 Defuzzificarea
Aşa cum arată Figura 14, utilizăm metoda logică fuzzy Mamdani pentru a calcula datele de
ieşire ale controller-ului fuzzy. Variabilele de ieşire fuzzy pentru fiecare controller fuzzy sunt: FI-
Foarte Încet, I-Încet, Z-Zero, R-Repede şi FR- Foarte Repede.
În stadiul de defuzzificare, rezultatele inferenţei sunt transformate în date de ieşire discrete.
Acest lucru poate fi realizat în multe feluri, utilizând diferite tipuri de algoritmi. O abordare uzuală şi
facilă este metoda Centrului- de-Greutate (GDG).
Calculăm valorile noi ale vitezelor roţilor robotului la stânga şi la dreapta utilizând metoda
centrului de greutate. Formula generală pentru metoda centrului de greutate este:
ΔU =
ΔU- Varaiabila de ieşire, m-Numărul de reguli, -este gradul ieşirii j a FA
ΔUj-Eticheta variabilei de ieşire pentru valoarea introdusă de a j –a FA
6.2 Scenarii de Comportament
Abordarea problematicii lucrării de faţă este bazată pe comportament, iar logica fuzzy este
utilizată ca o tehnică fiabilă pentru fuziunea comportamentelor. În această lucrare, robotul alternează
între următoarele scenarii comportamentale: Atingerea Ţintelor, Ocolirea obstacolelor, Explorarea şi
Urmărirea peretelui. Regulile fuzzy sunt proiectate pentru a implementa aceste scenarii
comportamentale. Baza de reguli este proiectată pentru a evita situaţiile critice. Odată ce robotul a
primit comanda să înceapă căutarea poziţiei ţintă, acesta va încerca să localizeze ţinta, evitând orice
obstacol din calea sa. Pe de altă parte, robotul este programat să exploreze mediul pe baza timpului
pe care îl are la dispoziţie şi să evite orice obstacol din calea sa.
6.3 Rezultatele simulării şi analiza acestora
Tehnicile fuzzy propuse au fost simulate în medii aranjate diferit. Simulările au fost realizate
utilizând simulatorul KIKs. Investigăm performanţa fiecărui controller fuzzy pentru patru
comportamente, de exemplu urmărirea peretelui, evitarea obstacolelor şi explorarea (sau deplasarea),
aşa cum se arată în cele ce urmează.
6.3.1 Rezultate experimentale
Figura 17a: Urmărirea peretelui şi evitarea obstacolelor:
24
Rezultatele performanţelor controller-elor bazate pe FA Gaussiană, rescpectiv FA triunghiulară
Figura 17b: Comportamentele de urmărire a peretelui şi atingere a ţintelor:
Rezultatele performanţelor controller-elor bazate pe FA Gaussiană, rescpectiv FA triunghiulară
Figura 18: Comportamentele de evitare e obstacolelor, atingere a ţintelor şi urmărire a peretelui:
Traiectoria obţinută pentru FA Gaussiană (28s), respectiv FA triunghiulară (60s)
Figura 19: Comportament de explorare:
Traiectoria obţinută pentru controller-ul bazat pe FA Gaussiană, respectiv FA triunghiulară
6.3.2 Discuţie şi Analiza Comparativă a două Regulatoare Fuzzy
Figurile 18 (a şi b), 19 şi 20 ilustrează rezultatele simulate ale traiectoriei trasate de robot în
diferite medii ale simulatorului KIKs. Cele două controllere fuzzy au dovedit cu succes
comportamente de urmărire a peretelui, atingere a ţintelor, evitare a obstacolelor şi explorare.
Experimentul validează suficienţa modelului controller-ului fuzzy bazat pe senzori în navigarea
roboţilor.
În Figura 17a, prima imagine ilustrează traiectoria trasată de controller-ul fuzzy bazat pe
modelul Gaussian al funcţiilor de aparenenţă începând din punctul de pornire A. Comportamentul de
urmărire a peretelui a fost manifestat începând din punctul de pronire A şi până într-un punct C unde
robotul trebuie să evite ciocnirea cu peretele în unghi drept. În acest punct C, trebuie implementat un
alt comportament denumit evitare de obstacole, pentru a evita ciocnirea cu peretele. De aceea, este
necesar ca el să alterneze comportamentele pentru a întâmpina obstacolele mediului dinamic
necunoscut. Acelaşi mod de alternare a comportamentelor a fost observat de fiecare dată când
25
robotul a întâlnit obstacole (de exemplu în punctele E, G, A şi C) şi când trebuie să urmărească
pereţii (de exemplu traiectoriile C->D->E, E->F->G, G->I->A, şi A->B->C). Robotul a mers de-a
lungul pereţilor şi a evitat lin obstacolele. Nu acelaşi lucru s-a întâmplat în cazul controller-ului bazat
pe FA triunghiulare. Acesta a manifestat comportament de mers de-a lungul peretelui (de exemplu
traiectoriile N->O->P, P->Q->R, R->S->L şi L->M->N) şi evitare a obstacolelor (de exemplu în
punctele L,N,P şi R), dar nu la fel de neted ca în cazul controller-ului bazat pe modelul gaussian.
Navigarea a urmat acceaşi alternare a comportamentului în timp real ca în cazul controller-ului bazat
pe modelul gaussian, dar robotul a întâmpinat dificultăţi în special în punctele P şi L, atunci când a
fost provocat comportamentul de evitare a obstacolelor. Acest lucru este evident în ezitarea robotului
în aceste puncte, aşa cum arată curba de traiectorie trasată în aceste puncte.
În Figura 17b, robotul s-a deplasat din poziţia iniţială X la poziţia ţintă T utilizând
comportamentul de urmărire a peretelui. Controller-ul bazat pe FA Gaussiană a executat mersul de-a
lungul peretelui din punctul X până în punctul ţintă T foarte neted în timpul de simulare de 33s, în
timp ce controller-ul bazat pe FA triunghiulară a atins acelaşi punct ţintă mult mai târziu în timpul de
simulare de 60s. Traiectoria trasată de robotul cu controller bazat pe funcţii de apartenenţa
triunghiulară nu este la fel de netedă ca cea obţinută în cazul controller-ului bazat pe modelul
Gaussian, de accea apare o întârziere în atingerea punctului ţintă.
Figura 18 ilustrează rezultatul simulat într-un alt mediu. Robotul cu controller bazat pe FA
Gaussiană s-a deplasat din punctul de pronire X până la punctul ţintă T mergând de-a lungul pereţilor
şi evitând obstacole de-a lungul acestei traiectorii. Robotul începe să execute comportamentele în
concordanţă cu controller-ul în funcţie de contextul curent. Robotul merge de-a lungul peretelui din
punctul X cu viteză maximă până când simte un obstacol imediat după punctul A, apoi îşi schimbă
comportamentul, evitând obstacole. Acest lucru îi afectează traiectoria. După evitarea obstacolului,
robotul a reluat mersul de-a lungul peretelui cu viteză medie până când a simţit alt obstacol în
punctul B, unde execută din nou comportamentul de evitare a obstacolelor. După evitarea
obstacolului din punctul B, robotul merge de-a lungul peretelui obstacolului până când ajunge în
punctul C unde schimbă din nou comportamentul cu acela de evitare a obstacolelor pentru a evita
ciocnirea cu peretele în punctul D. Robotul execută o serie de schimbări ale comportamentului după
punctul D, oscilând între urmărirea peretelui şi evitarea obstacolelor, în funcţie de contextul curent
oferit de structura mediului, şi are comportamentul de atingere a ţintelor ca scop principal până când
ajunge în poziţia ţintă T. Robotul atinge poziţia ţintă T în 28s, în comparaţie cu timpul simulat cu
controller-ul FA triunghiulară, care este de 60s.
În Figura 19, experimentăm comportamentul de explorare, în care robotul traversează arena
până la expirarea timpului setat, fără ca acesta să aibă un punct ţintă în arenă. Am poziţionat robotul
26
în punctul iniţial X0. pentru fiecare controller. Roboţii se deplasează până în punctul F şi se întorc în
punctul iniţial X0. Roboţii s-au oprit după acelaşi timp impus, aproximativ în punctul B pentru
ambele controllere. Observăm diferite dificultăţi de navigare în anumite puncte pentru ambii roboţi
atunci când traversează arena. S-a observat că robotul cu controller bazat pe funcţii de apartenenţă
triunghiulare are mai mlte dificultăţi în comparaţie cu robotul cu controller bazat pe cele gaussiane în
punctele F şi I. În punctul I, robotul cu controller bazat pe apartenenţa triunghiulară a manifestat
ezitare severă din cauza dificultăţii în rezolvarea problemei limită atunci când robotul a ajuns în
punctul I. Robotul cu controller bazat pe apartenenţa gaussiană nu a avut mari dificultăţi în
rezolvarea condiţiei limită, aşa cum arată Figura 19. Aceeaşi dificultate a fost întâmpinată în punctul
F de ambele controllere, dar robotul cu controller bazat pe apartenenţa gaussiană a rezolvat uşor
situaţia limită prin executarea regulii/regulilor potrivite din baza de reguli.
6.3.3 Comparaţia celor două Regulatoare Fuzzy
Rezultatele experimentale din Figurile 18, 19 şi 20 arată superioritatea robotului cu controller
bazat pe apartenenţa gaussiană asupra robotului cu controller bazat pe apartenenţa triunghiulară. În
Figura 17, comportamentul de urmărire a peretelui a durat 30s pentru ambele controllere, dar
traiectoria trasată de controller-ul bazat pe apartenenţa gaussianăeste mai netedă, iar lungimea în
pixeli a traiectoriei este mai mică decât în cazul controller-ului bazat pe apartenenţa triunghiulară.
În Figura 18, pe lângă lungimea traiectoriei şi caracterul neted al controller-ului bazat pe FA
Gaussiană, timpul necesar arată faptul că controller-ul bazat pe FA Gaussiană este mai potrivit decât
controller-ul bazat pe FA triunghiulară pentru controlul robotului mobil.
Figura 19 confirmă din nou eficienţa controller-ului bazat pe FA Gaussiană asupra controller-
ului bazat pe FA triunghiulară în ceea ce priveşte lungimea traiectoriei şi caracterul lin al acesteia.
6.4 Concluzii
Am proiectat controllere bazate pe logica fuzzy pentru robotul mobil Khepera II. Controller-
ele au fost utilizate cu success pentru a simula navigarea robotului în diferite medii. Au fost
proiectate două controllere. Acestea sunt: controller-ul fuzzy bazat pe funcţii de aparteneţă
Gaussiane şi controller-ul fuzzy bazat pe funcţii de aparteneţă triunghiulare. S-a demonstrat că prin
utilizarea celor două controllere robotul este capabil să urmăreascu un perete, să evite obstacole, să
exploreze mediul şi să atingă o poziţie ţintă. Analiza comparativă a performanţei celor două
controllere arată cum controller-ul fuzzy bazat pe funcţia de aparteneţă Gaussiană are performanţe
mai bune decât controller-ul fuzzy bazat pe funcţia de aparteneţă triunghiulară.
27
7.0 STUDIU DE CAZ II: REGULATOR ADAPTIV HIBRID GENO-NEURO-FUZZY
SIMPLIFICAT PENTRU CONTROLUL UNUI ROBOT MOBIL DE TIP KHEPERA III
Controller-ul neuro-fuzzy hibrid adaptabil proiectat cu arhitectură de învăţare genetică propus
în capitolul 5 nu a putut fi implementat în totalitate din cauza complexităţii calculelor pe care le
implică şi lipsa unui echipament hardware care ar fi putut să suporte necesităţile de procesare are
sistemelor componente. În conformitate cu testul nostru, durata fiecărui ciclu de generare de date de
învăţare şi apoi instruire a reţelei neurale cu date de învăţare este de aproape 18,000 de secunde până
la terminarea evoluţiei şi antrenarea reţelei neurale.
În această secţiune propunem o arhitectură cu complexitate redusă. Reţeaua neurală este
utilizată numai pentru a stabili ponderile regulilor controller-ului fuzzy din acest proiect simplificat.
Funcţiile de apartenenţă nu sunt stabilite. Am început prin re-proiectarea controller-ului nostru fuzzy
doar pentru comportamentele de urmărire a pereţilor şi evitare a obstacolelor. Am proiectat un
controller fuzzy simplu cu granularitate mai mică şi de asemenea un controller fuzzy complex cu
granularitate mare pentru a îmbunătăţi rezulatele obţinute. Am utilizat algoritmul genetic ca algoritm
de învăţare pentru instruirea unei structuri de reţea neurală nou-proiectată. Am proiectat o reţea
neurală cu un singur strat şi am utilizat algoritmul genetic pentru a stabili ponderile neurale ale
acesteia. Structura este utilizată pentru a stabili ponderile regulilor controller-ului fuzzy în vederea
obţinerii controlului şi performanţelor optime pentru robotul considerat.
Arhitecturile proiectate şi arhitectura de implementare a întregului sistem sunt detaliate pas
cu pas în acest capitol. Ne vom concentra atenţia în primul rând asupra proiectului controller-ului
logic fuzzy simplu, apoi asupra stabilirii ponderilor regulilor bazei noastre de reguli prin utilizarea
reţelei neurale cu învăţare genetică. În al doilea rând, am utilizat controller-ul logic fuzzy complex cu
granulartiate bună proiectat în capitolul şase al acestei teze. La sfârşit vom compara rezultatele.
7.1 Controller-ul Fuzzy Simplu
În această lucrare, proiectăm un controller logic fuzzy simplu pentru evitarea obstacolelor şi
mersul de-a lungul pereţilor. Arhitectura controller-ului nostru logic fuzzy este ilustrată în Figura 20
de mai jos:
Figura 20: Arhitectura controller-ului logic fuzzy pentru robotul mobil care arată numărul de
parametri de intrare şi ieşire în fiecare stadiu de procesare
-
+ 2
3
+ ref Fuzzy
Controller, FC
3 2
UFC +
Uext
2
U
Robot, R
Y 3
28
Unde Ref reprezintă datele de intrare ale senzorilor robotului = 03,1 ; Uext este viteza setată a
motorului extern al robotului la [5000,5000]; Ufc este ieşirea controller-ului fuzzy; U reprezintă
viteza rezultantă a robotului; Y este semnalul de control al ieşirii robotului.
7.1.1 Controller-ul Fuzzy pentru Evitarea Ostacolelor
Proiectăm un controller de evitare a obstacolelor pentru a permite robtului să evite ciocnirea
cu orice obiect de pe traiectoria sa până la ţintă. Controller-ul îl face astfel pe robot să execute
manevre în jurul obstacolelor fără a se ciocni de ele. Utilizând abordarea logică fuzzy Mamdani,
definim trei variabile de intrare pentru senzori, care reprezintă distanţa relativă dintre robot şi orice
obiect din mediul său. Acestea includ: Distanţa la Stânga (DS), Distanţa la Dreapta (DD) şi distanţa
în faţă (DF). Întrucât robotul utilizează senzorii spate foarte rar, deoarece se mişcă de obicei înainte,
excludem citirea senzorilor spate din proiectul nostru. Domeniile fizice în care aceste variabile de
intrare sunt definite sunt determinate după cum urmează:
DS= Max(S2,S3); DD= Max(S4,S5); DF= Max(S6,S7).
Unde Si (i=2,3,...7) sunt valorile senzorilor normalizate în intervalul [0,1]. Toate aceste
variabile de intrare au aceeaşi lungime a variabilei de bază.
Figura 21 arată distribuţiile variabilelor de intrare pe funcţiile de apartenenţă definite. Pentru
simplificare, folosim două tipuri de forme ale funcţiei de apartenenţă. Acestea sunt tipurile de funcţii
de apartenenţă cu formă Z şi cu formă S. Se consideră două variabile lingvistice (sau grade de
distanţă) de la senzorii robotului: Nedetectat (ND) şi Detectat (D). Folosim funcţia de apartenenţă cu
formă Z pentru gradul ND şi funcţia de apartenenţă cu formă S pentru funcţia de apartenenţă D.
Aceste tipuri de funcţii de apartenenţă sunt varianta funcţiilor de apartenenţă Gaussiene care
experimental s-au dovedit a fi mai performante pentru aceleaşi probleme ale navigării robotului, in
[11]. Variabilele fuzzy de ieşire sunt reprezentate de viteza motorului roţilor robotului, reprezentate
de Viteza la Stânga, VS şi Viteza la Dreapta, VD. Pentru variabilele fuzzy de ieşire folosim trei
variabile lingvistice (I- Încet, Z- Zero şi R-Repede) pentru fiecare variabilă fuzzy de ieşire. Folosim
tipul de funcţii de apartenenţă Gaussiene pentru fiecare tip de variabilă lingvistică.
Simplificarea din proiect presupune reducerea complexităţii. Acest lucru se întâmplă la
nivelul granularităţii, despre care credem că va fi compensată prin optimizarea reţelei controller-ului
fuzzy utilizând învăţarea genetică. Proiectul reduce invariabil numărul de reguli fuzzy, aşa cum ne-
am aşteptat. Câteva din cele 8 reguli sunt prezentate în Tabelul 2.
29
Figura 21: Proiectul controller-ului Figura 22: Graficul funcţiilor de apartenenţă Figura 23: Graficul funcţiilor de
fuzzy pentru ocolirea obstacolelor de intrare pentru evitarea a obstacolelor apartenenţă de ieşire pentru de
evitarea obstacolelor
Tabelul 2: Tabelul regulilor fuzzy pentru controller-ul robotului fuzzy Khepera III
NR. REGULĂ
INTRARE IEȘ IRE
SENZORI MOTOR WHEELS
IF THEN
DS DF DD VS VD
1 ND ND ND M M
2 ND ND D Z F
3 D ND ND F Z
4 ND D - S F
5 D D - F S
7.2 Proiectarea Reţelei Neurale
Pentru reţeaua noastră neurală utilizăm o reţea cu un singur strat. Proiectul este reprezentat în
Figura 24.
Figura 24: Arhitectura reţelei neurale considerată în proiectare
Unde Xi=datele de intrare ale senzorilor (contextul şi ultimele două date de intrare anterioare,
fiecare de câte 3 perechi)
Y = f(W * [ ] + bias) , bias = 1
30
f(s) =
S = W01 + W11* X1 + … + W19*X9
W U5,10 (R) (5 neuroni pentru ponderile fuzzy cu 9 date de intrare de la senzori şi un bias)
Proiectăm o reţea cu 5 neuroni reprezentând cele 5 ponderi pentru regulile fuzzy care trebuie
optimizate. Aceste date de intrare sunt citite de la senzori pentru cele 3 variabile fuzzy de intrare
(DS, DF şi DD). Pentru a ne asigura că robotul nostru nu se ciocneşte de obstacole, având în vedere
simplitatea proiectului nostru fuzzy, am decis să păstrăm în memorie ultimele două date de intrare
citite anterioare ale robotului, ca date de intrare pentru reţeaua noastră neurală. Acest lucru îi permite
robotului să păstreze în memorie ultimele două date de intrare de la senzori, mărind în acest fel
acurateţea deciziei de a adopta comportamentul de evitare a obstacolelor.
Datele de intrare ale reţelei noastre neurale sunt valorile de la senzorii robotului, iar datele de
ieşire sunt cele 5 ponderi pentru reguli optimizate pentru a optimiza performanţa controller-ului logic
fuzzy pentru comportamentele de evitare a obstacolelor şi urmărire a peretelui.
Algoritmul genetic al optimizării neuro-fuzzy
Utilizăm AG ca algoritm de învăţare pentru a optimiza ponderile reţelei neurale care
optimizează invariabil performanţele acesteia, rezultatul fiind optimizarea ponderilor regulilor
regulilor fuzzy de către reţeaua neurală. Ne aşteptăm ca performanţele de navigare ale robotului în
ceea ce priveşte comportamentele de evitare a obstacolelor şi urmărire a peretelui să fie îmbunătăţite
de acest rezultat.
Iniţial au fost generate 50 de matrici de ponderi oarecare şi au fost făcute să evolueze timp de
100 de generaţii. Acest lucru a fost testat pe robot pentru a obţine 50 de ponderi diferite. Pentru
fiecare generaţie se calculează un index de performanţă є, care depinde de numărul de evitări ale
obstacolelor efectuate cu succes, pentru a evalua funcţia ”fitness” pentru fiecare cromozon. Setăm o
traiectorie fixă care trebuie să fie traversată de robot la fiecare generaţie. Fiecare cromozom este
evaluat pe baza acestei măsuri a performanţei. Evaluarea potrivirii cromozomului determină dacă
acesta trebuie acceptat ca parte potenţială a noii populaţii pentru reproducerea în noua generaţie sau
nu. Cromozomii potriviţi sunt setaţi ca parte a noii populaţii. Pentru generaţia următoare sunt
generate 20 de noi indivizi prin utilizarea operatorilor genetici, ca de exemplu corss-over-ul sau
mutaţia. Au fost utilizate două coss-over-uri, iar factorul de mutaţie a fost setat la 0.05. Robotul este
testat cu cei mai buni 10 cromozomi şi 10 cromozomi noi. Algoritmul continuă în acest fel până când
se obţine performanţa optimă în cazul evitării obstacolelor.
31
Figura 25 de mai jos arată structura organizatorică pentru implementarea algoritmului nostru
genetic pentru optimizarea ponderilor reţelei neurale.
Figura 25: Structura organizatorică pentru implementarea algoritmului nostru genetic pentru
optimizarea ponderilor reţelei neurale.
7.3 Controlul Neuro-Fuzzy al Robotului Mobil cu Proiect de învăţare Genetic
Proiectăm un controller neruo-fuzzy pentru controlul robotului nostru mobil utilizând
învăţarea genetică, aşa cum arată Figura 26.
Controller-ul neuro-fuzzy global cu învăţare genetică are ca date de intrare de referinţă
valorile senzorilor robotului din parametrii variabili fuzzy, toate iniţializate cu zero.
Valorile citite ale senzorilor robotului sunt
datele de intrare ale controller-ului fuzzy şi
ale reţelei neurale. Datele de ieşire ale
controller-ului fuzzy sunt valorile vitezelor
motoarelor din dreapta şi din stânga ale
robotului. Intrarea de la viteza externă,
Uext, reprezintă viteza setată maximă
posibilă pentru robotul Khepera pentru a
obţine performanţe stabile.
Figura 26: Controlul neuro-fuzzy al robotului mobil cu învăţare genetică
32
Viteza de ieşire rezultantă , U, este utilizată pentru controlul navigării robotului. Diferenţa
dintre viteza de ieşire a robotului Y şi viteza de intrare este calculată ca eroare, є. Această eroare
reprezintă funcţia ”fitness” pentru măsurarea funcţiei ”fitness” pentru fiecare cromozom din AG în
parte.
Figura 27: Diagrama schematică ce indică structura schemei de planificare a mişcării robotului
nostru utilizând controller-ul geno-neuro-fuzzy.
Proiectul global al controller-ului nostru neuro-fuzzy cu învăţare folosind algoritmul genetic
este ilustrat în Figura 27 de mai sus.
7.4 Rezultate şi Analiza Acestora
În abordarea neuro-fuzzy realizată, instruirea este făcută off-line cu ajutorul algoritmului
genetic. Controller-ul geno-neuro-fuzzy a fost proiectat şi implementat pe robotul mobil Khepera III
real. Am adaptat controller-ul pentru Khepera II astfel încât să îl putem simula cu ajutorul
simulatorul KIKs. Alegerea simulatorului KIKs a fost făcută datorită lipsei de acces la simulatori
pentru Khepera III ca de exemplu Webots şi V-REP. Pentru simularea computerizată considerăm o
arie cu un anumit număr de obstacole. Traiectoria este trasată de controllere, precum şi alţi factori,
sunt utilizaţi ca indici pentru măsurarea performanţelor.
33
Rezultatul simulării comportamentului de evitare a obstacolelor pentru controller-ul fuzzy
Figura 28: Ieşirea controller-ului fuzzy fără Figura 29: Ieşirea controller-ului fuzzy după
acordareacordare; Eroare= 57.99 manuală a bazei de reguli; Eroare= 40.58
În Figura 28 se observă că deşi controller-ul nostru fuzzy a reuşit în final să evite obstacolele,
robotul a fost prins iniţial şi nu a putut să se mişte în faţă până nu a efectuat mai multe bucle. Pentru
a îmbunătăţi performanţele robotului, am decis să setăm manual controller-ul fuzzy prin ajustarea
consecinţelor anumitor reguli din baza de reguli. Rezultatul acordării manuale este evidenţiat de
performanţele îmbunătăţite care se observă în Figura 29. Robotul poate acum să se deplaseze înainte
către ţintă fără să fie prins într-o buclă. În acelaşi timp am observant reducerea erorii de la 57.99 la
40.58.
În continuare îmbunătăţim controller-ul fuzzy prin ajustarea mauală a seturilor de apartenenţă
pentru controller-ul fuzzy. Observăm performanţe îmbunătăţite în traiectoria trasată de robot şi
numărul erorilor întâlnite în comportamentul de evitare a obstacolelor (de la 57.99 erori la 30.51).
Acest rezultat este arătat în Figura 30 de mai jos.
Din performanţa controller-ului fuzzy prezentată mai sus, rezultă că nu am putut atinge
performanţe mai bune în ceea ce priveşte caracterul neted al traiectoriei prin acordare manuală a
robotului. Responsabilă pentru mişcarea în zig-zag a robotului de-a lungul traiectoriei sale este lipsa
ganularităţii. De accea am decis ca reţeaua neurală cu învăţare genetică să realizeze acordarea
performanţelor navigării. Din cauza simplificării bazei de reguli, am observat că rezultatul optim ar fi
realizat dacă am decide care reguli trebuie executate la un anumit moment de timp, în loc să realizăm
acordarea bazei de reguli din nou şi apoi să folosim parametrii funcţiei de apartenenţă. Prin urmare,
ne vom concentra atenţia asupra acordării automate a ponderilor regulilor.
34
Ideea se bazează pe faptul că putem să instruim un model de reţea neurală folosind învăţarea
genetică pentru a obţine ponderi optime ale regulilor pentru controlul navigării şi comportamente
precum urmărirea unui perete şi evitare de obstacole pentru
robotul nostru. Controller-ul neuro-fuzzy cu învăţare genetică
proiectat în această lucrare a fost testat şi am obţinut rezultatul
de mai jos.
Figura 30: Controller-ul fuzzy după acordarea manuală a bazei de reguli şi seturilor de funcţii de
apartenenţă; Eroare= 30.51
Rezultatele simulării pentru controller-ul cu învăţare genetic neuro-fuzzy
În această secţiune prezentăm rezultatul implementării controller-ului nostru neuro-fuzzy cu
învăţare genetică. Prinul set de ponderi generat de algoritmul genetic a fost utilizat în controller-ul
neuro-fuzzy. Rezultatul simulat al acestei implementări este arătat în Figura 31. Pe lângă caracterul
neted al traiectoriei trasate de robot, am decis să utilizăm alte măsurători ale indicilor de performanţă
pentru a evalua performanţa rezultatelor de optimizare. Acestea sunt măsura erorii implementate în
programul nostru pentru a monitoriza dificultăţile în evitarea obstacolelor. Fiecare experiment este
realizat în acelaşi mediu cu alceaşi număr de obstacole pe traiectoria robotului. De aceea putem
măsura performanţa în ceea ce priveşte dificultăţile în ocolirea obstacolelor de către robot, prin
penalizarea sau răsplătirea acţiunilor. În această lucrare vom numi această măsură penalizarea
erorilor.
Am utilizat în mod egal citirile datelor din proces aşa cum se observă în raportul simulării
simluatorului KIKs, ca în Figura 35. Raportul oferă informaţii despre numărul de mişcări Înainte,
Înapoi şi Drept ale robotului. Cu aceste informaţii putem măsura uşor performanţele pe baza numărul
de mişcări drepte făcute de robot şi de asemenea putem afla raportul dintre mişcările drepte şi cele
înainte.
35
Acest raport poartă numele de raport de performanţă, RP, în această lucrare. Acest raport de
performanţă ne ajută să justificăm mai departe caracterul neted al
traiectoriei trasate de robot.
Rezultatul implementării primei evoluţii a ponderilor
reţelei neurale prin intermediul algoritmului genetic pe controller-
ul neuro-fuzzy cu învăţare genetică pentru navigarea robotului
este arătat în Figura 31.
Figura 31: Ieşirea controller-ului geno-neuro-fuzzy după prima evoluţie a ponderilor regulilor fuzzy
prin algoritmul genetic de învăţare; penalizarea erorilor: 29.89; Înainte: 181 cm; Drept: 84.6 cm;
Raportul de Performanţă: 0.46.
Prin compararea Figurii 31, cu controller fuzzy setat manual, cu Figura 31, rezultă că nu este
diferenţă mare în ceea ce priveşte caracterul neted al traiectoriei trasate de robot. Penalizarea erorilor,
mişcările înainte, mişcările drepte şi raportul de performanţă pentru primul set de ponderi ale
regulilor generate şi implementate pe robot sunt date mai jos:
După mai multe evoluţii ale ponderilor regulilor, am testat ieşirea ponderilor regulilor pe
robot şi am observat ieşirea de performanţă din Figura 32. Am observat performanţe îmbunătăţite în
ceea ce priveşte traiectoria trasată de robot şi eroarea (de la 29.89 la 12.79).
Figura 32: Ieşirea controller-ului geno-neuro-fuzzy după 50 de evoluţii
Penalizarea erorilor: 12.79; Înainte: 181.0cm; Drept: 84.6cm; Raport de performanţă: 0.46.
Indicele de performanţă după mai multe evoluţii ale
ponderilor regulilor realizate de algoritmul genetic pentru
rezultatele învăţării reţelei neurale în măsurători cu performanţă
crescută se măsoară având în vedere eroarea (de la 12.79 la 9.7390)
şi raportul de performanţă (de la 0.46 la 0.66), aşa cum se arată mai
jos:Eroare: 9.7390; Înainte: 146.7cm; Drept: 96.6cm; Raport de
performanţă= 0.66
Figura 33: Controller neuro-fuzzy cu învăţare genetică, cu 95 de evoluţii ale ponderilor regulilor
36
Rezultatul evoluţiei următoare araţă o mică scădere a performanţei, aşa cum se arată în Figura
34, şi alţi indici de performanţă:
Eroare: 12.20; Înainte: 154,3cm; Drept: 96.8cm; Raport de performanţă= 0.63
După mai multe generaţii ale algoritmului genetic, nu am putut obţine un set de ponderi ale
regulilor cu performanţă mai bună decât ce arătată în Figura 33
(a 95-a generaţie).
Acest lucru arată că am atins performanţa optimă pentru
generaţia de ponderi ale regulilor pentru experimentul nostru.
Figura 34: Ieşirea controller-ului neuro-fuzzy după 100 de evoluţii ale ponderilor regulilor
De aceea, putem folosi modelul reţelei neurale pentru acest set optim de ponderi ale regulilor
pentru a obţine o performanţă optimă în ceea ce priveşte comportamentul de evitare a obstacolelor şi
navigare al robotului nostru Khepera.
Modelul reţelei neurale cu aceste valori optime ale ponderilor regulilor este considerat a fi cel
mai bun model pentru rezultatul cercetării noastre.
Figura 35: Fereastra KIKs pentru a monitoriza detaliile dimulării
7.5 Concluzii
În această cercetare, a fost propus un controller neuro-fuzzy simplu cu învăţare genetică,
pentru a ghida robotul mobil Khepera III. Cu această abordare am putut să stabilim ponderile
regulilor controller-ului nostrum fuzzy. Prin aceasta, controller-ul fuzzy pentru controlul robotului a
fost adaptat pentru a ajuta robotul să navigheze mai autonom în mediul său de lucru prin acordarea
regulilor de control şi astfel ajustând amplificarea ieşirii controller-ului. Controller-ul neuro-fuzzy
propus este format dintr-o reţea cu un singur strat împreună cu un algoritm de învăţare evolutiv
(genetic). Acest sistem a fost implementat cu success în simulare şi au fost obţinute rezultate
satisfăcătoare mai bune decât la ieşirea controller-ului fuzzy. Lipsa granulaţiei din funcţiile de
37
apartenenţă a fost compensată în mare parte de către controller-ul neuro-fuzzy hibrid cu învăţare
genetică. Acest lucru reiese din caracterul neted al traiectoriei trasate de sistemul hibrid în
comparaţie cu traiectoria trasată de rebot în cazul controller-ului fuzzy. De asemenea, alţi indici de
performanţă dovedesc eficacitatea efectului controller-ului geno-neuro-fuzzy hibrid pentru navigare
autonomă a robotului mobil într-un mediu nestructurat.
Am adaptat în acelaşi timp controller-ul neuro-fuzzy cu învăţare genetică pentru a funcţiona
pe robotul real Khepera III. Rezultatele arată că acesta manifestă un character robust şi o capacitate
bună de adaptare care poate fi implementată practic pentru roboţi prin ajustarea anumitor parametri.
Simularea în KIKs şi implementarea pe robotul Khepera III au arătat eficacitatea utlilizării
sistemelor inteligente hibride în îmbunătăţirea performanţelor de navigare ale roboţilor mobili în
ceea ce priveşte comportamentele de evitare a obstacolelor, urmărire a pereteţilor şi generări de
traiectorii.
7.6 Controller-ul Geno-Neuro-Fuzzy (cu controller fuzzy cu granularitate bună)
Experimentele observate în ultima secţiune a acestei teze arată o performanţă mai bună a
controller-ului geno-neuro-fuzzy hibrid în comparaţie cu controller-ul fuzzy pentru comportamentele
de evitare a obstacolelor şi urmărire a peretelui pentru robotul nostru mobil Khepera. Totuşi,
traiectoria trasată de robot nu este una netedă. Responsabilă pentru această traiectorie este lipsa
granularităţii din controller-ul simplu. Ea este responsabilă şi pentru gradul mare de eroare şi raportul
de performanţă scăzut pe care le-am înregistrat.
În această secţiune, am utilizat controller-ul fuzzy complex proiectat în capitolul şase al
acestei teze în locul controller-ului fuzzy simplu utilizat anterior în ultima secţiune a acestui capitol.
Acesta este menit să introducă mai multe granularităţi în controller-ul geno-neuro-fuzzy, de accea ne
aşteptăm să obţinem performanţe mai bune în comparaţie cu controller-ul geno-neuro-fuzzy simplu.
Controller-ul fuzzy constă în aceleaşi variabile fuzzy pentru ambele intrări ale senzorului
(DS, DF şi DD) şi variabile pentru ieşirile vitezelor motorului (VS şi VD). Diferenţa este în numărul
şi tipul (numai în cazul variabilelor de intrare ale senzorilor) funcţiilor de apartenenţă. Creşterea
numărului funcţiilor de apartenenţă de la două la cinci adaugă granularităţi inferenţei fuzzy şi ne
aşteptăm ca acest lucru să afecteze pozitiv performanţa controller-ului geno-neuro-fuzzy pentru
comportamentele de evitare a obstacolelor şi mers de-a lungul peretelui.
În tabelul 3 sunt arătate câteva din regulile fuzzy revizuite pentru controller-ul complex. În
baza de reguli a controller-ului fuzzy sunt 125 de reguli. Metoda interferenţei Max-Min propusă de
38
Mamdani este aplicată pentru interferenţa fuzzy, iar pentru defuzzifcarea rezultatelor interferenţei
regulilor fuzzy este utilizată metoda centrului de greutate.
Tabelul 3: Baza de reguli pentru controller-ul fuzzy cu mai multe granularităţi
NR. REGULĂ
INTRARE IEȘ IRE
SENZORI MOTOR WHEELS
IF THEN
DS DF DD VS VD
1 FA FA FA PM NM
2 FA FA N PM NM
3 FA FA M PM NM
Unde NL- Negativ Mare, N- Negativ, M-Media, P- Pozitiv, PL- Pozitiv Mare
Înlocuim controller-ul fuzzy simplu din Figura 21 cu controller-ul fuzzy complex cu
granularităţi mai bune şi repetăm experimentul aşa cum am descris în secţiunile 7.2 şi 7.3 de mai sus.
Am implementat proiectul în simulatorul KIKs şi de asemenea pe robotul real Khepera III.
Rezultatele observate şi discuţiile sunt date în secţiunea care urmează.
7.7 Rezultate şi Discuţie
În acastă secţiune prezentăm rezultatele simulate ale implementării proiectului fuzzy complex
în controller-ul nostru geno-neuro-fuzzy. Proiectăm un mediu mai complex pentru navigarea
robotului pentru a justifica performanţa îmbunătăţită anticipată a controller-ului fuzzy cu mai multe
granularităţi. Din nou vom folosi aceiaşi indici de performanţă pe care i-am utilizat anterior, aceştia
fiind: caracterul neted al traiectoriei trasate de robot, eroarea (E) şi raportul de performanţă (RP).
Reprezentăm numărul de mişcări în faţă realizate de robot prin F, numărul mişcărilor drepte prin D şi
raportul de performanţă (care este egal cu D/F) prin RP. Pentru fiecare experiment îi permitem
robotului să înveţe utilizând învăţarea genetică. Noul set optimizat de ponderi ale reţelei neurale
generat la fiecare pas al evoluţiei este aplicat pe controller-ul neuro-fuzzy. Măsura efectului adaptării
robotului la mediul imediat este arătată în figurile de mai jos:
39
Figura 36: Nw1: Prima evoluţie a ponderilor RN Figura 37: Nw10: A 10-a evoluţie a ponderilor RN
F=167.5cm, D=56cm, RP=0.33, Eroarea= 32.00 F= 172.2cm, D= 58.7cm, RP= 0.34, Eroarea= 30.63
Aşa cum ne-am aşteptat, traiectoriile trasate de robot în figurile 37 şi 38 sunt mult mai netede
decât în cazul traiectoriei trasate de robot cu controller-ul fuzzy simplu. Creşterea erorii este
rezultatul complexităţii noului mediu. Ponderile regulilor după a 10-a evoluţie a setului de ponderi
ale regulilor RN dau un raport de performanţă mai bun (de la 0.33 la 0.34). Acest lucru implică o
traiectorie mai netedă, aşa cum arată figura 8.18 în comparaţie cu Figura 36.
Realizăm mai multe experimente pentru a obţine mai multe seturi de ponderi pentru reţeaua
neurală pentru generarea unui set mai bun de ponderi ale regulilor care ar rezulta în performanţe
îmbunătăţite ale navigării robotului nostru.
După evoluţiile cu numerele 25 şi 50 obţinem rezultatele arătate în figurile 39, respectiv 40.
Am obţinut valori mai bune ale raporturilor de performanţă comparativ cu situaţia anterioară. La a
50-a evoluţie (figura 8.20) este o mică creştere a performanţei în ceea ce priveşte eroarea (de la 30.90
la 31.65) faţă de rezultatul din figura 8.19. De asemenea, am obţinut un raport mai bun de
performanţă (de la 0.36 la 0.37). Acest lucru arată că în acest fel putem obţine rezultate optime.
Figura 38: Nw25: A 25-a evoluţie a ponderilor RN Figura 39: Nw50: A 50-a evoluţie a ponderilor RN
F= 168.6cm, D= 61.0cm, RP= 0.36, Eroarea= 31.65 F= 164.3cm, D= 61.2cm, RP= 0.37, Eroarea=
30.90
Am eşantionat setul de ponderi ale RN la a 60-a şi a 70-a evoluţie. Noile seturi de ponderi
sunt testate şi rezultatele sunt arătate în figurile 41, respective 42. Am obţinut performanţe mai bune
în ceea ce priveşte caracterul lin al traiectoriei trasate de robot în ambele cazuri ca în experimenual
anterior. De asemenea, am observant că robotul a fost capabil să se deplaseze pe o distanţă mai mare
40
în acelaşi timp de simulare (45s) setat pentru toate experimentele. Creşterea erorilor este rezultatul
creşterii numărului de obstacole întâlnite. Întrucât robotul a mers mai departe decât în experimentul
anterior şi a întâlnit mai multe obstacole, este de aşteptat ca erorile să fie mai mari decât în cazul
experimentului anterior. Acest lucru afectează raportul de performanţă. Se observă o scădere a
raportului de performanţă de la 0.37 (la a 50-a evoluţie) la 0.27 (la a 85-a evoluţie).
Figura 41: Nw60: A 60-a evoluţie a ponderilor RN Figura 42: Nw70: A 70-a evoluţie a ponderilor RN
F= 178.7, D= 53.5, RP= 0.30, Eroarea= 31.81 F= 197.3, D= 53.2, RP= 0.27, Eroarea= 31.61
Eşantioanele experimentale de la evoluţiile a 80-a şi a 85-a ale ponderilor RN dau rezultatele
din figura 43, respectiv 44. Robotul acoperă o distanţă mai mare în acelaşi timp experimental, aşa
cum a fost observant şi în ultimele două experimente. În plus, se observă o îmbunătăţire a raportului
de performanţă la a 85-a evoluţie faţă de ultimele două experimente (de la 0.30 la 0.33). Se observă
creşterea erorii la evoluţia a 80-a (Figura 43), dar această eroare a fost redusă la a 85-a evoluţie
(Figura 44). Aceste rezultate implică îmbunătăţirea performanţelor controller-ului nostru geno-neuro-
fuzzy odată cu creşterea numărului de evoluţii.
Figura 43: Nw80: A 80-a evoluţie a ponderilor RN Figura 44: Nw85: A 85-a evoluţie a ponderilor RN
F= 174.7cm, D= 51.9cm, RP= 0.30, Eroarea= 32.94 F= 166.4cm, D= 54.90cm, RP= 0.33, Eroarea= 31.84
41
Figura 45: Nw90: A 90-a evoluţie a ponderilor RN Figura 46: Nw100: A 100-a evoluţie a ponderilor RN
F= 173.8cm, D= 55.8cm, RP= 0.32, Eroarea= 29.20 F= 161.1cm, D= 59.8cm, RP= 0.37, Eroarea= 29.48
Încercăm să obţinem un rezultat mai bun prin continuarea evoluţiei setului de ponderi ale RN,
pentru a instrui reţeaua noastră neurală să realizeze o performanţă optimă. După mai multe
experimente, nu am putut ajunge la un rezultat mai bun decât cel obţinut la evoluţia a 90-a (figura
45). Robotul a fost capabil să acopere o distanţă mai mare în acelaşi timp experimental de 45 de
secunde cu o eroare mai mică. Acest neajuns în ceea ce priveşte raportul de performanţă în
comparaţie cu rezultatul obţinut la a 100-a evoluţie (figura 46) este rezultatul distanţei mai mai
acoperite la evoluţia a 90-a (figura 45).
Nici un rezultat dintre aceste două evoluţii (a 90-a şi a 100-a) nu este mai bun decât rezultatul
obţinut la evoluţia a 90-a. De aceea, concluzia este că setul nostru optim de ponderi ale regulilor este
obţinut prin adaptarea robotului la mediul său nestructurat la a 90-a evoluţie a optimizării genetice.
Setul de ponderi ale regulilor obţinut la această evoluţie are valorile optime pentru navigarea sigură
şi eficientă a robotului în mediul său pentru diferite comportamente ca de exemplu evitarea
obstacolelor şi urmărirea peretelui.
Concluzie
Controller-ul fuzzy cu granularitate mai mare a îmbunătăţit performanţele controller-ului
nostru geno-neuro-fuzzy. Acest lucru este evident în traiectoria trasată de robot pentru scenariile de
evitare a obstacolelor şi mers de-a lungul peretelui. Am obţinut traiectorii optimizate trasate de robot
şi în acelaşi timp am obţinut rezultate mai bune în ceea ce priveşte raportul de performanţă şi erorile
la cea de-a 90-a evoluţie a ponderilor RN.
42
8.0 CONCLUZIE GENERALĂ
Am proiectat cu success un controller fuzzy care rezolvă problema navigării robotului
Khepera în ceea ce priveşte comportamentele de evitare a obstacolelor, urmărire a peretelui,
explorare şi urmărire a traiectoriei prestabilite. În acest capitol, am ales să revizuim proiectul
controller-ului geno-neuro-fuzzy pentru navigarea robotului Khepera prin simplificarea arhitecturii
proiectului. Am ales să utilizăm o reţea neurală adaptivă pentru a instrui robotul să se adapteze la
mediu. Acest lucru se realizează prin optimizarea ponderilor RN cu ajutorul unui algoritm genetic
astfel încât să generăm ponderi optime ale regulilor pentru controller-ul logic fuzzy.
Am început prin a proiecta un controller fuzzy simplu, apoi am optimizat ponderile regulilor
controller-ului fuzzy prin controller-ul neuro-fuzzy cu învăţare genetică adaptiv. Rezultatele obţinute
de controller-ul geno-neuro-fuzzy hibrid arată o performanţă mai bună faţă de controller-ul fuzzy.
Totuşi, nu am putut obţine un rezultat optim cu acest controller din cauza lipsei de granulităţi din
controller-ul fuzzy simplu. De aceea am decis să utilizăm un controller fuzzy cu granulităţi mai bune.
Am re-proiectat controller-ul fussy pentru mai multe granulităţi în secţiunea 7.6. Controller-
ul fuzzy re-proiectat a fost integrat în controller-ul nostru geno-neuro-fuzzy în cadrul secţiunii 7.3.
Rezultatul în ceea ce priveşte performanţa proiectului controller-ului geno-neuro-fuzzy cu
granularităţi mai bune a dus la un controller efficient şi mai robust pentru navigarea robotului mobil
Khepera.
8.1 Contribuții Personale
În această teză a fost dezvoltat un controler neuro-fuzzy hibrid care utilizează algoritmul
genetic ca algoritm de învățare, pentru navigarea unui sistem dinamic neliniar într-un mediu dinamic
nestructurat. De asemenea, controlerul a fost verificat cu un robot real. Adaptabilitatea a fost
obținută prin utilizarea diferitelor combinații de senzori de navigare, în conformitate cu cerințele
mediului.
Una din principalele contribuții este dezvoltarea sistemului de navigare bazat pe senzori,
sistem care utilizează logica fuzzy. Au fost dezvoltate două tipuri de controlere fuzzy și s-a verificat
prin simulare că controlerul fuzzy bazat pe funcția de apartenență Gaussiană este mai potrivit pentru
dezvoltarea sistemelor de navigare în robotică.
Am propus și am analizat un controler neuro-fuzzy hibrid care utilizează algoritmi genetici
pentru învățare, pentru un control optimizat al navigării robotului într-un mediu nestructurat și
dinamic. În această arhitectură, am analizat utilitatea rețelei neurale în tunning-ul automat al
parametrilor controlerului fuzzy, ca de exemplu al funcțiilor de apartenență și bazei de reguli. Nu am
43
putut implementa în totalitate această arhitectură propusă din cauza complexității pe care ea o
implică.
În cele din urmă am propus, analizat și implementat un controler neuro-fuzzy adaptabil hibrid
simplificat cu învățare genetică ce evoluează ponderi ale rețelei neurale pentru tunning-ul ponderilor
bazei de reguli a controlerului.
Unicitatea acestei teze provine din utilizarea logicii fuzzy de tip Mamdani cu două ieșiri. În
literatura revăzută, mulți autori fie au evitat utilizarea controlerului logic fuzzy cu două ieșiri, și
acest lucru a dus la utilizarea setului de instrumente ANFIS al Matlab, care utilizează doar tipul
Sugeno al sistemului logic fuzzy (sau utilizarea altor instrumente neuro-fuzzy care suportă o singură
ieșire), fie au dezvoltat propriul program de aplicații prin utilizarea diverselor limbaje de
programare. Rigiditatea acestor programe de aplicații nepopulare nu poate fi garantată. În această
teză, utilizăm instrumente de dezvoltare standard a controlerului neuro-fuzzy pentru navigarea
robotului mobil autonom.
8.2 Directii Viitoare de Cercetare
Ca parte a activității viitoare, intenționăm să dezvoltăm un controler geno-fuzzy și să îl comparăm cu
controlerul nostru neruo-fuzzy. Intenționăm să implementăm în totalitate controlerul geno-neuro-
fuzzy pentru proiectul arhitectural complex care a fost propus și analizat în capitolul șapte.
Considerăm că acest controler ne va ajuta să obținem rezultate mult mai bune datorită naturii
complementare a tehnicii inteligente și posibilităților de tunning pentru mai mulți parametri fuzzy.
Suntem conștienți că această implementare va prezenta dificultăți, dar avem convingerea că este
posibil să atingem acest scop, cu mici provocări.
44
BIBLIOGRAFIE SELECTIVA
[1] Passino, Kelvin M., Yurkovich, Stephen (1998), “Fuzzy Control”, Addison-Wesley.
[2] Issa, F., Dumitrache, I. (2010), “Contribution to Optimizing control Strategy
assignment in Collaborative Mobile Robots applications”, PhD Thesis, University
Politehnica of Bucharest.
[3] I. Dumitrache and M. Dragocea, (2006), “Some problems of advanced mobile robot
control”, CEAI, Vol. 7, No. 4, pp. 11-30.
[4] Erann Gat. (1997), “On three-layer architectures”, Artificial Intelligence and Mobile
Robots, MIT/AAAI Press.
[5] Connell Jonathan (1992), “A hybrid architecture applied to robot navigation”, In
Proceedings of IEEE International Conference on Robotics and Automation, pages
2719–2724.
[6] Arkin R. (1989), “Towards the unification of navigational planning and reactive
control”, In American Association for Artificial Intelligence Spring Symposium on
Robot Navigation, pages 1–5, AAAI/MIT Press.
[7] Neat, G. W., H. Kaufman, et al. (1998), “A hybrid adaptive control approach for drug
delivery systems”, Proceedings of the Annual International Conference of the IEEE
Engineering in Medicine and Biology Society (IEEE Cat. No.88CH2566-8), IEEE New
York NY USA.
[8] Pizzi, R., F. Sicurello, et al. (1998), “Development of an inductive self organizing
network for the real-time segmentation of diagnostic images”, In proceedings of the 3rd
International Conference on Neural Networks and Expert Systems in Medicine
Healthcare, World Scientific, Singapore, pp.59-71.
[9] S.-H. Lai and M. Fang, (Aug. 1998)”Adaptive medical image visualization based on
hierarchical neural networks and intelligent decision fusion”, Proceedings of the IEEE
Workshop on Neural Networks for Signal Processing, pp. 438-447, Cambridge,
England.
[10] D. G. Mason, J. J. Ross, N. D. Edwards, D. A. Linkens, C. S. Reilly (1999), ”Self-
Learning Fuzzy Control with Temporal Knowledge for Atracurium-Induced
Neuromuscular Block during Surgery”, Computers and Biomedical Research, Vol. 32,
No. 3, pp.187-197.
[11] Halal, F., Dumitrache, I. (2007), “Intelligent Hybrid Techniques in Mobile Robots
Control”, PhD Thesis, University Politehnica of Bucharest.
[12] Michael Botros (2004), “Evolving Controllers for Miniature Robots”, In Evolvable
Machines: Theory & Practice, Vol. 161, Berlin: Springer, pp. 73-100.
[13] A. Schultz and J. Grefenstette (1992), "Using a Genetic Algorithm to Learn Behaviors
for Autonomous Vehicles", Naval Research Laboratory, Washington, DC.
[14] J. Meyer, P. Husbands and I. Harvey (1998), "Evolutionary Robotics: a Survey of
Applications and Problems", In Evolutionary Robotics: First European Workshop,
Evorobot798, P. Husbands and J. Meyer (editors), Springer Verlag.
[15] I. Harvey, P. Husbands, D. Cliff, A. Thompson, N. Jakobi (1997), "Evolutionary
Robotics: the Sussex Approach", In Robotics and Autonomous Systems, Vol. 20, pp.
205-224.
45
[16] Johnsson S. (1987),”New AGV, Revolutionary Movement”, In R. HOLLIER(Ed)
automated
guided vehicle systems, IFS Publications, Bedford.
[17] A. Loffler, J. Klahold and U. Ruckert (2001), "The Mini-Robot Khepera as a Foraging
Animate: Synthesis and Analysis of Behavior", In Proceedings of the Fifth International
Heinz Nixdorf Symposium: Autonomous Minirobots for Research and Edutainment
(AMiRE), Vol. 97, pp. 93-130.
[18] D. Floreano and F. Mondada (1994), "Automatic Creation of An Autonomous Agent:
Genetic Evolution of a Neural Network Driven Robot", From Animals to Animats: 3,
Proceedings of the Conference on Simulation of Adaptive behavior, edited by D. Cliff,
P. Husbands and S. Wilson, MIT Press.
[19] M. Botros (2003), "Evolving Neural Network Based Controllers for Autonomous Robots
Using Genetic Algorithms", Master Thesis, Cairo University, Egypt.
[20] A. C. Nearchou (1999), “Adaptive navigation of autonomous vehicles using evolutionary
algorithms, Artificial Intelligence in Engineering”, vol. 13, 1999, pp. 159-173.
[21] M. Hulse, B. Lara, F. Pasemann and U. Steinmetz (2001), "Evolving Neural Behaviour
Control for Autonomous Robots", Max-Planck Institute for Mathematics in the
Sciences, Leipzig, Germany.
[22] D. Floreano and F. Mondada (1996), "Evolution of Homing Navigation in a Real Mobile
Robot", IEEE Transactions on Systems, Man, and Cybernetics (B), Vol. 2, pp. 396-407.
[23] Zadeh, L. (1973), "Outline of a New Approach to the Analysis of Complex Systems and
Decision Process", IEEE Transaction Systems, Man and Cybernetics, Vol.3, pp 28-40.
[24] E. Mamdani and S. Assilian (1975), "An Experiment in Linguistic Synthesis with Fuzzy
Logic Controller," Journal of Man-Machine Studies, Vol. 7, pp. 1-7.
[25] S. Lee and S. Cho (2001), "Emergent Behaviors of a Fuzzy Sensory-Motor Controller
Evolved by Genetic Algorithm," IEEE Transaction Systems Man and Cybernetics (B),
Vol. 31, No. 6, pp. 919-929.
[26] P. Nordin and W. Banzhaf (1995), “LGenetic Programming Controlling a Miniature
Robot", Working Notes for the AAAI Symposium on Genetic Programming, MIT,
Cambridge MA, 1995.
[27] W. Gerstner and W. Kistler (2002), "Spiking Neuron Models", Cambridge University
Press.
[28] John A. Bullinaria, Xiaoli Li (2007), “An Introduction to Computational Intelligence
Techniques for Robot Control”, Industrial Robot: An International Journal, Emerald
Insight.
[29] Marichal, G.N., Acosta, L., Moreno, L., Méndez, J.A., Rodrigo, J.J. and Sigut, M.
(2001), “Obstacle avoidance for a mobile robot: A neuro-fuzzy approach”, Fuzzy Sets
and Systems, Vol 124, pp. 171-179
[30] Ajith Abraham (2005), “Adaptation of Fuzzy Inference System Using Neural Learning,
Fuzzy System Engineering: Theory and Practice”, In: Nadia. Nedjah, Luiza de Macedo
Mourelle eds., Studies in Fuzziness and Soft Computing, Springer Verlag Germany,
ISBN 3-540-25322-X, Chapter 3, pp. 53-83.
[31] Ma, X., Li, X. and Qiao H. (2001), “Fuzzy neural network based real time self reaction
of mobile robot in unknown environments”, Mechatronics, Vol 11, pp. 1039-1052.
46
[32] Detlef Nauck and Rudolf Kruse (1994), “Choosing Appropriate Neuro-Fuzzy Models”,
In Proc. Second European Congress on Fuzzy and Intelligent Technologies (EUFIT'94),
pp. 552-557, Aachen.
[33] S.K. Harisha, et. al. (2008), Fuzzy Logic Reasoning to Control Mobile Robot on Pre-
defined Strip Path, Proceedings of World Academy of Science, Engineering and
Technology, Vol. 32, ISSN 2070-3740.
[34] A. C. Nearchou (1999), “Adaptive navigation of autonomous vehicles using evolutionary
algorithms, Artificial Intelligence in Engineering”, vol. 13, 1999, pp. 159-173
top related