Você está na página 1de 35

PROIECT

AUTOMATIZAREA PROCESELOR COMPLEXE

CLADIRE INTELIGENTA

0
ABSTRACT

O cladire inteligenta este o cladire care isi adapteaza comportamentul in functie de


necesitatile si preferintele locatarilor acesteia. Un astfel de sistem trebuie sa fie complet
autonom intrucat utilizatorii acestuia nu doresc interactia explicita cu acesta.

Sistemele AHA (Adaptive Home Automation), ce vor fi caracterizate in sectiunile


urmatoare, sunt sisteme de control a cladirilor inteligente. Acestea sunt create sub forma unor
sisteme de cooperare multiagent (SMA). Toate analizele de date realizate de catre sistemele
AHA se fac in contextul unei singure camere, cladirile putand fi definite ca o colectie de astfel de
camere. Obiectivul global al sistemelor de tip multiagent este satisfacerea nevoilor si
preferintelor utilizatorilor. Acest obiectiv este atins prin schimbarea anumitor aspecte ale cladirii
legate de temperatura, iluminat si altele, inainte ca utilizatorul sa fie nevoit sa modifice manual
aceste caracteristici.

Chiar si o cladire de dimensiuni reduse aduce o cantitate imensa de date care necesita sa
fie analizate, astfel incat tehnicile conventionale nu mai pot face fata. Deciziile trebuiesc luate
intr-un interval scurt de timp, adaugandu-se astfel noi constrangeri la metodologiile
conventionale de adoptare a deciziilor. Pentru a depasi acest handicap, sistemele AHA distribuie
din taskurile necesare adoptarii deciziilor catre diversi agenti autonomi, capabili sa ia decizii
bazandu-se pe datele de intrare relevante mediului de care apartin. Aceasta structura amplifica
procesul decizional local. Fiecare agent al sistemului are propriul sau obiectiv de indeplinit,
obiectivul global realizandu-se in urma cooperarii dintre acestia.

Practic, procesul decizional este modelat asemenea unui controller fuzzy-logic (FLC) care
ia decizii pe baza evaluarii continue a datelor de intrare, respectand regulile fuzzy alese. Aceste
reguli specifica ordinea conducerii intr-un sistem. Valorile de intrare achizitionate sunt
prelucrate prin intermediul unui proces de inferenta fuzzy pentru a obtine datele de iesire.
Acest proces cuprinde: functia de apartenenta, operatori logici fuzzy, reguli if-then.

1
INTRODUCERE

De-a lungul ultimelor doua decenii, dezvoltatorii, managerii de proprietati, inginerii si


arhitectii au avut o perspectiva putin diferita asupra conceptului de cladire inteligenta. Din
nefericire, aceste perspective variate au dat nastere la mai multe definitii pentru ceea ce se
poate numi o cladire inteligenta.
Unele definitii sunt ezoterice cu explicatii futuristice si de neinteles precum "o cladire
inteligenta este o cladire care imbunatateste productivitatea si creste atractivitatea facilitatilor".
Unele definitii se axeaza numai pe telecomunicatii, ca "o cladire inteligenta are incorporata o
retea de fibra optica si ofera acces la Internet de mare viteza". Altele se refera pur si simplu la
sisteme avansate de automatizare. La un anumit nivel, aceste definitii sunt adevarate, dar
deasemenea incomplete.
Esenta unei cladiri inteligente este cuprinsa din sisteme avansate integrate pentru
automatizarea cladirilor, siguranta vietii si sistemele de comunicatie.
Motivele pentru a construi o cladire inteligenta sunt duble: Primul este pentru a economisi bani.
Economiile sunt strans legate de costurile initiale ale contructiei in sine si de costurile
operationale ale cladirii. Cel de-al doilea motiv este ca, prin integrarea sistemele de
automatizare, utilizatorii cladirilor pot realiza actiuni care nu pot fi realizare cu sisteme separate.
Integrarea presupune ca sistemul sa comunice si sa faca schimb de informatii, sa ofere
functionalitate mai buna si deasemenea sa permita informatiei de la un sistem tehnologic sa
afecteze actiunile altor sisteme diferite.

2
Marea majoritate a tehnologiilor utilizate in cadrul acestor sisteme inteligente necesita
de obicei asistenta din partea omului pentru luarea deciziilor importante. Nu este suficient
faptul ca dispunem de tehnologia pentru a intermedia comunicatia dintre operator si sistemul
inteligent, este necesara inlesnirea luarii deciziilor in mod autonom chiar de catre sistemul
inteligent, nemaifiind astfel necesara prezenta permanenta a unui operator uman.

In mod traditional, aceste sisteme necesitau control in maniera centralizata, adesea


utilizandu-se un sistem cu configuratie de tip ierarhic, componentele acestuia comunicand prin
intermediul magistralelor de date si o baza de date centralizata. In ultimii ani, a devenit din ce in
ce mai evidenta necesitatea de a crea sisteme puternic descentralizate si cu un grad semnificativ
de autonomie descentralizata. Aceste componente descentralizate au nevoie de coordonare si
de un grad crescut de inteligenta pentru a actiona autonom.

La ora actuala, exista mai multe proiecte de acest gen in faza de cercetare precum ADA,
initiat in cadrul Universitatii Zurich – Institutul de Neuroinformatica in colaborare cu
Universitatea de Stiinte Aplicate Rapperswil, Oxygen, initiat in cadrul MIT, S.U.A. si DAI sustinut
in cadrul Universitatii Sussex, Marea Britanie.

ADA este un proiect derulat in cadrul Institutului de Neuroinformatica al Institutului


Federal Elvetian de Tehnologie in colaborare cu Universitatiea din Zurich. Proiectul are la baza
un concept care isi propune sa priveasca o camera ca un organism artificial. Astfel, ADA are o
stare emotionala ca orice alt organism. Ea isi exprima starile interioare vizitatorilor si
interactioneaza cu acestia prin intermediul senzorilor acustici cu recunoastere vocala, prelucrare
de imagine si touch. Podeaua camerei este impartita in sectoare, fiecare dintre acestea fiind
sisteme autonome care ofera date de intrare sistemului global si primeste feedback in functie de
care reactioneaza. Fiecare sector masoara greutatea persoanei care sta in perimetrul lui. Aceste
masuratori au o importanta deosebita pentru sistemul global. Mai mult, fiecare dintre aceste
sectoare pot emite lumini de culori arbitrare. Senzorii de iesire utilizati sunt video, audio/vocali
si luminosi. Scopul ADA este sa isi schimbe in mod dinamic functionalitatea de ansamblu in
urma unui dialog activ cu vizitatorii.

Laboratorul de Inteligenta Artificiala din cadrul MIT si-a concentrat atentia mai degraba
asupra proiectarii de camere inteligente si nu pe cladirile inteligente in sine. Un exemplu in
cadrul acestui proiect este camera de conferinta inteligenta. Scopul acesteia este de a ajuta
utilizatorii camerei sa realizeze anumite activitati, procesandu-le comenzile explicite pe baza
tehnologiilor de recunoastere vocala si de procesare a imaginilor. O interactie exemplificativa ar
fi situatia unei persoane care indica o locatie pe o harta digitala si intreaba unde este locatia
respectiva. Raspunsul sistemului va fi, spre exemplu, “Zurich”. Proiectul se axeaza mai mult pe
interfata om-masina (HMI) decat pe invatarea comportamentului utilizatorilor.

3
Ultimul proiect mentionat se bazeaza mai mult pe agenti de tip sisteme embedded.
Acest lucru aduce o gama larga de constrangeri precum consum limitat de energie, marime
hardware, memorie si procesoare limitate. Atat entitatea fizica cat si cea logica se gasesc in
incapere. Fiecare incapere are un numar de senzori controlat de un agent care este fizic
pozitionat in acelasi perimetru. Toti acesti agenti de tip embedded comunica prin intermediul
unei retele. Procesul decizional se realizeaza prin intermediul logicii fuzzy, iar invatarea regulilor
se face pe baza algoritmilor genetici. Feedback-ul necesar procesului de invatare se face in mod
explicit de catre utilizatori.

4
ARHITECTURA

In sectiunea aceasta vom prezenta arhitectura generala a unui sistem adaptiv de


automatizare a unei cladiri (AHA). Arhitectura este prezentata atat din perspectiva software cat
si din perspectiva organizarii si functionarii sistemului. Perspectiva legata de sistem revela modul
de conectare a diferitelor parti ale sistemului si localizarea fizica a partilor software asociate
acestora. Perspectiva software descrie structurarea sistemului in mai multi agenti si modul de
interactionare al acestora.

PRINCIPII DE BAZA

In mod normal, fiecare incapere a unei cladiri serveste la indeplinirea unui anumit scop
si este astfel tratata diferit de catre utilizatori. Pentru a reflecta acest lucru in cadrul schemei de
design a sistemului, conceptul principal pe care arhitectura AHA se bazeaza este o camera
(Figura nr 1). Totalitatea datelor primite de la senzori, cu exceptia celor primite de la senzorii
externi, precum starea vremii, sunt privite ca fiind legate de o singura camera. Acest lucru este
valabil si pentru procesul decizional al sistemului. Sistemul evalueaza datele disponibile si ia
decizii pentru fiecare camera a cladirii. Sistemul AHA se adapteaza astfel rapid schimbarilor de
utilizare necesare fiecarei camere in parte.

5
Agentii sistemului sunt legati logic de o camera, dar fizic, acestia nu sunt. Spre deosebire
de sistemele care pun accentul pe utilizarea agentilor embedded fizic-distribuiti, noi utilizam
agenti software care functioneaza ca o parte a unui sistem centralizat. Acest lucru ne permite sa
ne ocupam de problemele reale ridicate de sistem, nemaifiind necesar sa ne concentram atentia
asupra disponibilitatii reduse a resurselor care predomina in sistemele agent.

Agentii sunt priviti ca arhitecturi software ce ofera o schema de design a sistemului


foarte flexibila. AHA lucreaza cu un numar limitat de tipuri de agent (5 agenti). O parte dintre
acestia functioneaza doar cand alti agenti opereaza cu un numar mai mare de instante. Toate
aceste instante ale agentilor, impreuna, formeaza sistemul multi-agent (MAS) care este
responsabil de controlul cladirii inteligente. Agentii sunt creati in mod dinamic la cerere (spre
exemplu, cand este adaugata o noua camera in sistem). Accentul asupra conceptului de
“camera” se reflecta in schema de design a sistemului multiagent prin faptul ca o singura
instanta a unui agent este responsabila de luarea deciiziilor pentru starea unei singure camere.
Astfel se evidentiaza caracterul local de luare a deciziilor. Deciziile adoptate pentru starea
camerei se pot formula chiar si atunci cand unii agenti de nivel inalt devin indisponibili.

ARHITECTURA DE SISTEM

Sistemul global AHA este o combinatie a doua arhitecturi de retea complet diferite: o
retea de magistrale de date si o retea de calculatoare (precum Ethernet). O cladire moderna de
birouri are incorporata aceasta combinatie de retele, sistemul AHA avand nevoie sa opereze cu
ambele. Reteaua de magistrale (in cazul nostru LonWorks) este utilizata pentru a realiza
comunicatia cu senzorii si elementele de executie ale sistemului de automatizare a cladirii.
Reteaua de calculatoare realizeaza comunicarea dintre agentii sistemului.

Cele doua retele sunt conectate intre ele prin intermediul unui port comun. Acesta
faciliteaza transmiterea datelor de la reteaua de achizitie a senzorilor catre reteaua de
calculatoare, astfel incat toate partile software ale sistemului AHA sa dispuna de acces numai la
reteaua de calculatoare.

6
In figura 2 este reprezentata arhitectura retelei sistemului AHA. Sistemul AHA nu este
dependent de un sistem de magistrale de date. Reteaua standard de magistrale LonWorks
aleasa este una dintre posibilitatile software . LNS si iLON sunt produse specifice LonWorks care
lucreaza precum un port IP-LonWorks. Comunicatia dintre iLON (care este realul port IP
LonWorks) si Serverul LNS (care este doar un software) este deja realizata prin IP, asadar,
singurul dispozitiv care necesita acces direct la reteaua LonWorks este iLON. Singura
constrangere a sistemului LNS este ca agentul de colectare a datelor de la serverul fiecarui agent
trebuie sa se pozitioneze fizic si sa ruleze pe aceeasi masina cu serverul LNS. Acest lucru se
datoreaza faptului ca platforma LNS Java API este incapabila sa realizeze o conexiune remote
intre serverul de colectare dintre agenti si serverul LNS.

ARHITECTURA SOFTWARE

Sistemul este realizat ca o colectie de agenti care impreuna formeaza Sistemul


MultiAgent. Fiecare agent este responsabil de un task specific si ofera disponibilitatea accesarii
rezultatelor taskului de catre ceilalti agenti. Nu exista un agent central care sa se comporte
asemenea unui coordonator, toti agentii actionand independent unul de celalalt.

Sistemul MultiAgent este structurat in cinci nivele (Figura 3). Fiecare agent din sistem
apartine unuia dintre aceste nivele. Impartirea pe nivele nu este stricta, fiind posibila
7
comunicarea directa a agentilor pozitionati pe nivele diferite. Obiectivul impartirii pe nivele este
de a structura sistemul astfel incat nivelele inalte sa se confrunte cu mai putine date (mai
concentrate) decat agentii de nivele mai joase.

Cele cinci nivele sunt (Figura 3):

 Nivelul 5: Cladirea
 Nivelul 4: Camera
 Nivelul 3: Variabile de retea
 Nivelul 2: Servicii de baza/Acces la date (servicii suport, porturi de comunicatie)
 Nivelul 1: Reteaua (hardware, conexiuni fizice)

Urmatoarele tipuri de agenti sunt utilizati:

 Bus Agent: abstractizarea magistralei de date la nivelul variabilelor de retea


 Display Agent: afiseaza toate informatiile disponibile despre o camera in particular;
controlul manual al tuturor senzorilor
 Control Agent: proceseaza datele de intrare si ia decizii; distribuie si executa decizii
 History Agent: introduce jurnalele de date relevante într-o bază de date pentru
utilizarea ulterioară (analiza offline)
 Boss Agent: este responsabil cu alocarea dinamica de noi instante ale agentilor precum
senzori, camere sau cladiri nou introduse in sistem

8
Instantele acestor agenti ruleaza simultan si formeaza impreuna Sistemul MultiAgent.

Noile instante sunt create in conformitate cu urmatoarele reguli:

 Bus Agent: unul pentru fiecare tip de magistrale de date (LonWorks, EIB)
 Display Agent: in mod arbitrar la cerinta utilizatorilor
 Control Agent: unul pentru fiecare camera
 History Agent: unul pentru fiecare jurnal de date
 Boss Agent: unul pentru fiecare sistem

COLABORAREA MULTIAGENT

Comunicarea dintre agenti este realizata prin intermediul unui software responsabil de
distributia mesajelor catre agentii care sunt interesati de continutul acestora. Agentii se
inregistreaza la alti agenti de la care doresc sa primeasca anumite mesaje in viitor. Nu este
necesar ca emitatorul mesajului ca cunoasca numarul de receptori ai mesajului pe care il
transmite, aceasta fiind responsabilitatea software-ului. O alta sarcina a software-ului este de a
elimina in mod automat agentii care devin inactivi sau care nu mai proceseaza mesajele
receptionate. Mecanismul de transmitere asincrona a mesajelor ofera o flexibilitate ridicata
ceea ce face Sistemul MultiAgent mult mai flexibil si dinamic.

In figura 4 se poate observa modul in care agentii realizeaza schimbul de mesaje (este
reprezentata numai comunicatia inter-agent, comunicatia intra-agent se realizeaza, dar nu este
reprezentata). Exista trei tipuri de mesaje posibile: NV (network variables) set/get, properties
set/get si deciziile. Nivelul ce mai mic de abstractizare este nivelul variabilelor de retea. Valorile
variabilelor de retea (NV) sunt receptionate exclusiv si trimise in acelasi timp de catre BusAgent.
Sintaxa variabilelor de retea este specifica si depinde de standardul retelei de magistrale
utilizate. Cel de-al doilea nivel de abstractizare in comunicatie este nivelul de proprietati.
Acestea sunt reprezentarile independente, generice ale variabilelor de retea. Agentii se pot
inregistra ca observatori pentru aceste proprietati pentru a putea fi notificati de catre BusAgent
la introducerea unei noi valori. Agentii pot deasemenea sugera catre BusAgent asignarea unei
proprietati o anumita valoare. Nivelul cel mai inalt de abstractizare este cel decizional. Aceste
mesaje sunt trimise numai de catre Agentul de control si pot fi receptionate de orice agent
interesat de decizia luata de sistem. Agentul de control este deasemenea cel care executa
deciziile luate, ceea ce inseamna ca acesta trimite valorile proprietatilor stabilite care reflecta
executia deciziei anterior luate.

9
10
CERINTE PENTRU IMPLEMENTARE

Cerintele pentru limbajul de programare si mediul de executie a sistemului AHA sunt:

 Platforma independenta de lucru: AHA este conceput ca un sistem multi agent. Astfel,
trebuie sa fie posibila executia anumitor parti ale AHA pe diferite sisteme de operare
 Bibliotecile: Este necesare prezenta unor biblioteci avansate pentru constructia
sistemelor multiagent disponibile
 Calcul distribuit: mediul de executie trebuie sa suporte calcul distribuit
 Disponibilitate interfetelor pentru sistemele FieldBus: Interfete pentru sistemele de
protocoale de comunicatii majore ar trebui sa fie disponibile pentru limbajul de
programare ales

AHA necesita o arhitectura avansata existenta a sistemului multiagent. Criteriile de evaluare


a aceste arhitecturi sunt:

 Suportul agentilor fizic-distribuiti


 Sistem de transmitere de mesaje asincron
 Suport pentru transmitere mesaje intra-agent
 Suport pentru tehnici decizionale precum inferenta fuzzy-logic
 Suport pentru programarea paralela
 Arhitectura sistemului trebuie sa fie stabila

Arhitectura sistemului multiagent

Am selectat pentru cazul nostru arhitectura ABLE – Agent Building and learning Environment) de
la IBM alphaworks (ABL). Am selectat aceasta arhitectura deoarece:

 ABLE are o stabilitate ridicata


 ABLE a fost utilizat cu succes in alte proiecte
 ABLE asigura mecanisme avansate de inferenta precum inferenta fuzzy logica
 ABLE furnizeaza mecanisme de comunicatie intra-agent intre
 ABLE permite integrarea facila de noi extensii acesteia

Procesul decisional

11
Unul dintre cele mai importante taskuri ale unui sistem de control inteligent este luarea
deciziilor. Toate partile sistemului sunt prezente pentru a sustine procesul decizional. Acestea
include acizitiile de date, pre-procesarea, memoria, istoricul si post-procesarea (incluzand si
executa deciziilor).

Aceasta sectiune incepe printr-o introducere in elementele de baza ale logicii fuzzy.
Continua apoi cu o explicatie detaliata a schemei de design pentru diferite procese decizionale
si infrastructura lor.

Toate deciziile in sistemul AHA sunt luate la un nivel inalt ceea ce necesita date pre-
procesate inainte ca acestea sa fie trimise catre procesul de inferenta. Pentru a face mai flexibil
acest proces compex, se utilizeaza o structura software numita FFT (feed-forward pipeline). FFT-
ul este flexibil si permite cuplarea unui numar arbitrar de procese care se confrunta cu toate
datele trimise catre FFT secvential.

FFP (Feed Forward Pipeline)

FFP este o arhitectura universala pentru procesarea secventiala a datelor. Procesarea in


sine este divizata in mai multe taskuri care primesc date de la FFP ca intrari si trimit date inapoi
catre FFP dupa executie. Aceste date sunt apoi preluate inapoi de catre FFP care le transmite
mai departe urmatorului task. (Figura 5)

Procesul decizional este un proces secvential (pre-procesare, inferenta fuzzy, post-


procesare) si un bun exemplu pentru arhitectura pipeline.

Post-procesarea in AHA presupune mai multe taskuri independente care necesita


procesarea iesirii inferentei fuzzy si comunicarea dintre agenti. Acest lucru este implementat in
fugura 6. Post-procesare asigura in mod direct defuzzificarea.

12
Primul task prezent in pipeline este ABLE Event Gateway. Acest task este responsabil
pentru comunicarea deciziilor catre agentii din sistem. Taskul Local Output este responsabil
pentru reactualizarea tuturor interfetelor utilizatorilor locali care sunt direct controlate de catre
agentul la care se iau deciziile. Responsabilitatea taskului 3 este de a executa deciziile luate de
catre mecanismul de inferenta. Executia presupune decizia daca solutia adoptata va fi realizata
sau nu (spre exemplu, inchiderea luminii). Exista mai multe motive pentru care decizia nu va fi
executata - unul dintre cele mai importante motive pentru a nu executa o decizie este
prevenirea oscilatiilor (spre exemplu, evitarea unor schimbari in decizie frecvente pentru a
accentua starea de stand-by a sistemului). Ultimul task, care ia deciziile de la mecanismul de
inferenta, este portul catre istoric. Acest task trimite toate datele relevante catre agentul
responsabil de istoric care va pune la dispozitie datele respective pentru analize statistice ale
comportamentului sistemului.

Logica fuzzy

Definitii

13
Presupunem ca X reprezinta o multime de valori non-fuzzy si A o multime de valori fuzzy
corespondente. Functia de apartenenta μA este o functie care asigneaza fiecarei valori t є X o
valoare din intervalul 0  x  1 .

 A : X  [0,1]

Ecuatia urmatoare reprezinta forma scurta pentru functia de apartenenta:

A( x )   A ( x )

Multimea corespondenta unei multimi fuzzy este formata din toate valorile x є X astfel
incat A(x)>0.

sup( A)  {x  X A( x )  0}

Setul de valori  a unei multimi fuzzy A defineste o submultime din X(non fuzzy).

{ }
{t  X A(t)  }, daca  0
[ A]  
sup( A), daca  0

Functii de apartenenta

Urmatoarele ecuatii presupun ca   0 este partea stanga a intervalului si   0 este


partea dreapta a intervalului cu    .

Functia triunghiulara fuzzy, forma scurta: A  ( a,  ,  ) .

1  (a  t) /  , a    t  a

A(t )  1  (t  a) /  , a  t  a  
0, altfel

14
Grafic functia deapartenenta triunghiulara

Functia trapezoidala fuzzy, forma scurta: A  (a, b,  ,  ) .

1  (a  t ) /  , a    t  a
1, a  t  b

A(t )  
1  (t  b) /  , a  t  b  
0, altfel

Grafic functia de apartenenta trapezoidala

15
Reprezentarea LR a ecuatiilor pentru o forma generalizata a functiei de apartenenta
trapezoidala. Forma scurta: A  (a, b,  ,  ) LR

L((a  t ) /  ), t  [a   , a]
1, t  [a, b]

A(t )  
R((t  b) /  ), t  [b, b   ]
0, altfel

Functia de apartenenta sigmoidala:

1
f ( x) 
1  e x

Graficul functiei de apartenenta sigmoidala

Functia de apartenenta gaussiana. In ecuatia urmatoare  este deviatia standard si 


este distributia medie:
2
1  x 
  
1 2   
A( x )  e
 2

16
Grafic distributia gaussiana a functiei de apartenenta

Inferenta fuzzy

Procesul de inferenta presupune urmatorii pasi:

 Fuzzificarea variabilelor de intrare


 Evaluarea bazei de reguli
 Combinarea regulilor pe baza intrarilor pentru obtinerea iesirilor
 Defuzzificare

Mecanismul de inferenta folosit este Mamdami.

Controllere fuzzy logice

Controllerul face parte dintr-un sistem care este responsabil de ajustarea intrarii
sistemului in concordanta cu iesirea. Acest lucru este realizat in incercarea de a obtine rezultatul
dorit.

17
Controlul fuzzy-logic este construit pe acelasi principiu, dat foloseste o tehnica diferita
de a decide care ar trebui sa fie iesirea controllerului. Toate deciziile lui sunt realizate pe baza
unui set de regului fuzzy-logice care descriu relatia dintre variabilele fuzzy. FLC-ul pot lucra
numai cu variabile fuzzy si valorile iesirii trebuiesc convertite in informatii ferme (crisp). Aceste
doua procese se numesc fuzificare si defuzificare. O varianta mai imbunatatita a sistemului de
control original este in figura urmatoare.

FLC-ul este format din doua parti: mecanismul de inferenta si baza de reguli fuzzy.
Aceasta este formata dintr-un numar de regului care sunt utilizate de catre mecanismul de
inferenta pentru a ajunge la o concluzie utlizand variabilele din proces.

Procesul de fuzificare

Fuzificarea este procesul care foloseste functiile de apartenenta pentru a converti intrarile
numerice in variabile fuzzy. In cadrula cestui proces se ataseaza variabilelor ce urmeaza a fi
procesate, etichete ale multimilor fuzzy prin utilizarea diferitelor modele de reprezentare fuzzy
(curbe clopot, S, triunghiulare, trapezoidale).

18
Procesul de defuzificare

Rezultatul final, dupa evaluarea completa a tuturor regulilor, este un singur set de valori
fuzzy care reprezinta decizia luata. Pentru a putea aplica iesirea mecaismului de inferenta, este
nevoie de o informatie ferma. Defuzificarea este procesul care asigura conversia informatiilor
fuzzy in informatii ferme (crisp) si realizeaza scalarea variabilelor de comanda in forma de valori
compatibile cu intrarea elementului de executie. Defuzificarea este amanata pana in ultimul
moment deoarece toata informatia care este continuta in setul de informatii fuzzy este redusa la
un singur numar care contine, evident, mai putina informatie decat setul fuzzy. Acesta este o
considerabila pierdere de informatie.

Algorimul de defuzificare utilizat este Algoritmul Centrului de Greutate (COG)

Centrul de Greutate reprezentat astfel calculeaza centrul de greutate daca

aria setulu de date fuzzy este privit ca o zona fizica. Calculul centrului de greutate, de obicei, nu

este posibil pentru spatii continue. De aceea, ecuatia urmatoare, este utilizata in

practica pentru calcularea centrului de greutate al unui set de date fuzzy care are o functie de
apartenenta discreta. (z0 este variabila crisp a procesului de inferenta fuzzy)

Procesul decizional Fuzzy pentru cladirile inteligente

19
Datele de intrare(temperatura, umiditate, iluminat, prezenta, switch-uri etc.) ale AHA primite
din parte senzorilor sunt preluate prin intermediul unui sistem de tip FieldBus. Aceste date sunt,
dupa pre-procesare, evaluate de catre FLC. Deciziile FLC sunt direct transmise dispozitivelor
responsabile din sistemul Fielbus.

Exista doua categorii de intrari: intrari globale si intrari pentru fiecare camera in parte.
Intrarile globale sunt preluate de la senzorii externi care sunt in numar de maxim unul pe cladiri,
in timp ce, datele per-camera sunt achizitionate de la senzori plasati in fiecare camera in numar
de cel putin unu. Toate deciziile sunt luate in contextul unei singure camere. Pentru aceasta,
fiecare camera este dotata cu un FLC propriu.

Baza de reguli

Urmatorul set de reguli prezinta fragmente din regula de baza care este utilizata pentru
contolul unei singure camere.

Setul de reguli are urmatoarea structura in aceasta ordine:

 Setari
 Declaratii ale variabilelor
 Descriere ale functiilor de apartenenta
 Specificatii ale variabilelor de intrare
 Specificatii ale variabilelor de iesire

20
 Diferite blocuri de reguli

Cele trei functii de apartenenta selectate, Temperatura, Nivel de radiatii si Iluminat interior
descriu corespondenta dintre valorile fixe (crisp) si valorile fuzzy. In figurile urmatoare sunt
ilustrate doua dintre functiile de apartenenta cu valorile lingvistice asociate:

Din baza de reguli, am extras urmatoarele reguli:

 DACA DayLightIndoor este dark si Prezenta==”DA”, ATUNCI LightAction=”ON”


 DACA DayLightIndoor este middle si Prezenta==”DA”, ATUNCI LightAction=”ON”

21
Agentii

Agentul

Primul si cel mai important concept este agentul. Ce este mai exact un agent? Nu exista
o definitie formala a unui agent inca, dar sunt cateva care sunt acceptate in general:

 Un agent este un sistem computational care este capabil sa actioneze autonom pentru a-
si indeplini obiectivele
 Agentul este un sistem care isi reevalueaza continuu intrarile pentru a determina ce
iesire ar trebui sa trimita inapoi catre sistem

Care este diferenta dintre un agent si un agent inteligent? Un agent inteligent are urmatoarele
caracteristici:

 Reactivitate: agentii inteligenti sunt capabili sa perceapa mediul in care se afla si sa


raspunsa in timp util pentru a schimba ce se intampla in mediul respectiv pentru a-si
indeplini obiectivele
 Pro-activitate: agentii inteligenti manifesta comportament orientat catre obiective prin
luarea de initiatica in indeplinirea obiectivelor
 Abilitati sociale: agentii inteligenti sunt capabili de interactiune cu ceilalti agenti (si
posibil oameni) pentru a-si indepplini obiectivele

Notiunea de agent nu poate fi restrictionata la o componenta software, deoarece un


agent poate fi si o persoana, sau un echipament hardware (agenti embedded).

In cazul cladirilor inteligente, sunt prezente toate cele trei tipuri de agenti: persoane,
agenti software si agenti hardware.

Arhitectura unui agent

Arhitectura unui agent descrie tipurile de algoritmi si structurile de date pe care acesta
le utilizeaza. Exista patru tipuri diferite de arhitecturi pentru agentii mentionati I literatura:

 Agenti logici: procesul decizional se bazeaza pe deductia logica


 Agenti reactivi: deciziile se iau pe baza trecerii de la situatie la actiune
 Agenti belief-desire-intention: procesul de luare a deciziilor depinde de manipularea
structurilor de date care reprezinta credintele, dorintele, intentiile agentului

22
 Arhitecturi pe niveluri: procesul decizional este realizat prin intermediul diferitelor
software-uri, fiecare dintre acestea sunt mai mult sau mai putin explicite cu privire la
diferitele niveluri de abstractizare

Designul sistemului AHA este bazat pe o combinatie a arhitecturilor prezentate mai sus.
Unii dintre agenti sunt reactivi pentru ca ei reactioneaza la intrarile primite din partea mediului
in care sunt localizati. In acelasi timp, acestia se bazeaza pe principii logice deoarece ei iau
deciziile prin inferenta (operatia logica de trecere de la un enunt la altul, in care ultimul enunt
este dedus din primul) si sunt agenti befief-desire-intention deoarece acestia incearca sa
indeplineasca mai multe obiective (dorinte). Astfel, se observa ca aplicatiile din lumea reala ale
agentilor nu pot fi asociate cu nici una dintre definitiile din teorie, acestea fiind o combinatie a
acestor definitii.

Sistemul multiagent

Un sistem multiagent este un sistem in care agenti multipli activeaza in cadrul aceluiasi
mediu, ceea ce implica faptul ca agentii primesc aceleasi intrari (sau cel putin partial) si ca
actiunile acestora vizeaza acelasi mediu. In mod automat, acest lucru conduce la probleme mai
complexe – din momentul in care intr-un mediu comun actioneaza mai multi agenti, actiunea
unuia afecteaza deasemenea si restul agentilor din sistem. Astfel se poate observa necesitatea
unei comunicari intre acestia. Exista doua tipuri de sisteme multiagent: cooperative si
competitionale. Intr-un sistem cooperativ, agentii coopereaza pentru atingerea unui scop
comun. Agentii unui astfel de sistem pot avea, spre exemplu, o functie specializata si numai prin
intermediul unei cooperari multiagent isi pot atinge obiectivul care necesita mai multe dintre
aceste functii specializate. Intr-un sistem multiagent competitiv, pe de alta parte, agentii
concureaza intre ei pentru resursele limitate de care dispune sistemul, precum timpul de calcul.

AHA este conceput asemenea unui sistem multiagent cooperativ. Agentii din cadrul AHA
sunt agenti specializati care isi urmeaza obiectivul propriu. Pentru a-si atinge aceste obiective,
acesti agenti trebuie sa coopereze intre ei deoarece nu isi pot indeplini scopul fara a coopera.

Agenti pentru cladiri inteligente

23
Mediul pentru o cladire inteligenta, este, inainte de a face presupuneri si simplificari,
inaccesibil, non-determinist, non-episodic, dinamic si continuu, ceea ce il face unul dintre cele
mai complexe medii dintre toate. Este inaccesibil deoarece agentul nu poate observa intreaga
stare a mediului, non-determinist deoarece un agent care realizeaza o actiune nu poate fi sigur
de efectul pe care aceasta o va avea asupra intregii cladiri, non-episodic deoarece diferite
obiective interactioneaza si se influenteaza intre ele, dinamic datorita prezentei in cladire a altor
procese care nu pot fi controlate (spre exemplu, oamenii) si continuu datorita evenimentelor
care pot avea loc la orice moment in timp.

Agentul responsabil de istoric – History Agent

Mai multe motive ne conduc catre decizia ca toate datele despre activitatea din cladire,
mediul sau si activitatea sistemului ar trebui inregistrate. Aceste motive sunt urmatoarele:

 Posibilitatea realizarii de teste statistice despre comportamentul sistemului


 Necesitatea unei baze de invatare, prin intermediul careia sistemul poate invata din
experienta
 Abilitatea de a realiza grafice referitoare la comportamentul sistemului

Desigur, aceste date trebuiesc stocate intr-o baza de date. Pentru sistemul AHA a fost
selectat sistemul de management al bazei de date – Mysql datorita performantei, pretului si
aplicatiilor disponibile.

Frecventa de esantionare a datelor este intotdeauna o prblema delicata. O esantionare


prea frecventa necesita o performanta ridicata si spatiu de stocare mare pentru procesul
esantionat. Deasemenea, incetineste viitoarele activitati de data-mining. Daca alegem o
frecventa prea mica, unele date pot fi pierdute. Am decis sa alegem o frecventa de esantionare
de doua minute.

O atentie speciala a fost acordata pentru o economie a resurselor procesorului. Sa ne


imaginam o cladire cu sute de camere care este controlata si observata de acest sistem. Baza de
date ar trebui sa stocheze in jur de o mie de schimbari pe minut. Pentru a atinge acest lucru,
realizam o stocare a variabilelor in memoria cache si o amanare a stocarii acestora in baza de
date.

Agentul responsabil de istoric stocheaza doar valorile care sunt intr-adevar monitorizate
de anumiti agenti din sistem. Reteaua unei cladiri obisnuite are sute, daca nu mii de variabile
diferite ceea ce ar bloca baza de date pentru o perioada scurta de timp. Pentru a evita acest

24
lucru, agentul BusAgent stocheaza toate variabilele in asteptare pana agentul responsabil de
istoric le preia (figura 11).

Control Agent

Agentul de control este reprezentativ pentru conceptul de camera a sistemului. Fiecare


instanta a acestui agent cuprinde o camera specifica din cadrul cladirii inteligente.
Responsabilitatea acestuia este de a analiza semnalele venite de la senzorii din camera si sa
realizeze inferenta acestor informatii. Este de asemenea responsabil pentru conversia deciziilor
in actiuni propriu-zise. Agentul de control functioneaza o singura data pentru fiecare camera din
cladire controlata de sistem. O instanta a acestuia este automat creata pentru fiecare camera
descoperita de agentul Boss. Dupa pornirea sistemului, o instanta a agentului de control este
alocata unei camere in particular pentru intreaga existenta a acestuia.

Schema de design si implementare

25
Procesul decizional descris in sectiunile anterioare este implementat si in agentul de
control. Deciziile sunt luate prin intermediul controlului fuzzy-logic reprezentat in figura de mai
jos. Acestea sunt revizuite de indata ce noi date devin disponibile si pot influenta iesirea FLC.

Datele care sunt utilzate de catre FLC sunt inainte pre-procesate astfel incat doar datele
corect procesate sunt evaluate de catre FLC.

Agentul de control ofera o atentie ridicata urmatoarelor clase: Camere si Prezenta.


Mesajele dintre camere si agentul de control sunt schimbate prin intermediul unui mecanism de
comunicatie intra-agent care se bazeaza pe acelasi mecanism ca si comunicatia inter-agent.
Camera pre-proceseaza toate noutatile ce privesc camera in sine si trimite mesaje agentului de
control doar in cazul in care necesita o revizuire a deciziei deoarece noi date au devenit
disponibile.

Detectorul de prezenta

Intr-o singura camera pot exista mai multe detectoare de prezenta, dar de regula, este
instalat numai unul, in mijlocul camerei. Detectorul de prezenta transmite mesaje de fiecare
data cand se modifica starea camerei care activeaza automat procesul de inferenta. Iesirea unui
detector de prezenta este foarte simpla – da sau nu. Dar a decide daca cineva este prezent sau
nu este un proces mai complex. Detectorul de prezenta trimite un semnal discontinuu de fiecare
data cand in camera exista miscare. Dar nici o miscare in camera nu inseamna ca nu este nimeni

26
prezent acolo. Consecinta acestui comportament este faptul ca este necesar un proces de
omogenizare (pentru reducerea frecventei semnalului) care reevalueaza intrarea detectorului
de prezenta in combinatie cu valorile trecute si timpul care a trecut pentru a decide daca este
cineva prezent in incapere sau nu. In figura urmatoare este reprezentat modul in care intrarea
reala si cea uniformizata arata.

Executia deciziilor

Luarea deciziilor este distribuita altor parti ale sistemului prin intermediul unei distributii
de tip pipeline. Aditional entitatilor interne de procesare ale agentului de control, toti agentii
externi care s-au dovedit interesati de noile decizii luate sunt notificati cand exista o noua
decizie disponibila.

Executia deciziilor interne implica o pre-procesare aditionala inainte executiei unei


decizii luate. Acest lucru este necesar pentru prevenirea schimbarilor asupra semnalului de
iesire prea des. Pentru a indeplini acest lucru, semnalele de iesire sunt in mod continuu
reevaluate in contextul valorilor anterioare (istoric), noilor decizii luate si sistemului global de
constrangeri. In cazul in care frecventa de update incepe sa creasca prea mult, executia
deciziilor este intarziata si programata pentru mai tarziu. Daca decizia nu se mai poate aplica
inainte sa fie executata, aceasta este eliminata.

27
Colaborarea intra-agent

Urmatoarele mesaje sunt trimise de catre agentul de afisaj:

 Decizii

Agentul de control se arata interesat interesat de urmatoarele tipuri de mesaje:

 Actualizarea proprietatilor camerei


 Actualizarea proprietatilor globale

Bus Agent

Bus Agent este agentul de la cel mai jos nivel din sistem. Acest agent se comporta
asemenea unei porti dintre sistemul multiagent si sistemul fieldbus.

Responsabilitate

BusAgent ofera o modalitate generala de acces la sistemul de control a retelei unei


cladiri. Bus Agent se comporta ca un proxy intre ceilalti agenti. Mentine o lista a agentilor care
monitorizeaza fiecare variabila de retea disponibila. Toti acesti agenti primesc o notificare din
partea Bus Agent cand o noua valoare pentru o variabila de retea este disponibila.

Bus Agent de asemenea ofera capacitatea de a explora variabilele de retea disponibile in


cladire. Pentru aceasta, el este prevazut cu metode de cautare a anumitor variabile cu algoritmi
de cautare sub forma unor expresii regulate.

Agentul responsabil de istoric se bazeaza pe BusAgent pentru a-I oferi actualizarile


tuturor variabilelor. Realizeaza acest lucru prin stocarea locala a acestora pana in momentul in
care agentul responsabil de istoric le inregistreaza. In cazul in care History Agent lipseste sau nu
inregistreaza aceste actualizari ale variabilelor, Bus Agent este in pericol de a se bloca. Ca o
masura preventiva, aceasta stocare temporara este implementata ca un buffer de dimensiune
configurabila.

28
Colaborare intra-agent

Bus Agent este agentul de baza al sistemului AHA. Aproape toti ceilalti agenti
interactioneaza cu acesta. History agent se bazeaza in cea mai mare parte pe serviciile oferite de
catre acesta. BusAgent nu receptioneaza mesaje din parte nici unui alt agent.

BossAgent

Acest agent face sistemul sa reactioneze in mod automat la schimbarile din sistem
(configuratie dinamica). Ofera functionalitatea ca sistemul sa aloce automat agenti de indata ce
noi camere sunt adaugate (conectate) la retea.

Responsabilitate

BossAgent este supervizorul tuturor celorlalti agenti. Se conecteaza la BusAgent, acesta


din urma trebuind sa fie activat inainte. BossAgent atunci creeaza un agent de control pentru
fiecare camera in parte pe care o descopera in cladire. Descoperirea camerelor in retea se
realizeaza prin potrivirea numelor proprietatilor cu un model oferit.

Toti acesti agenti de control sunt setati pe inactiv, ceea ce inseamna ca, desi ei observa
mediul in care sunt (camera), nu actioneaza. Acest lucru a fost realizat pentru a nu controla
camerele care nu necesita control. Totusi, sunt capabili sa strangem date despre utilizarea
acestor camere.

29
Colaborarea intra-agent

BossAgent trimite un query catre BusAgent prin care solicita toate valiabilele de retea
disponibile si incearca sa extraga numele camerelor din numerele variabilelor. Boss agent ii
trimite o comanda agentului de control al camerei pentru a porni un anumit numar de agenti
pentru fiecare camera descoperita pe retea.

Agentul de afisaj

Responsabilitate

Agentul de afisaj este unicul agent din sistem cu o interfata rafica. Este construit pentru a
fi utilizat de utilizatorii sistemului pentru monitorizare si interactie manuala. Agentul de afisaj se
concentreaza asupra camerei – afiseaza intotdeauna variabilele care apartin camerei curent
selectate. In plus, afiseaza variabilele globale care sunt disponibile pentru intreaga cladire
(variabile ale vremei precum nivel de radiatii, umiditate, temperatura).

Acest agent nu este in totalitate necesar – sistemul poate functiona si fara el. Poate fi
accesat de un numar nelimitat de ori, chiar si pentru aceeasi camera. Acesta monitorizeaza
deciziile privitoare la camera curent selectata si valorile actualizate ale proprietatilor pentru
toate proprietatile camerei selectate.

Urmatoarele elemente de executie ale camerei pot fi controlate manual prin intermediul
agentului de display: storuri (sus, jos, stop, unghi) si luminile. Mai multe functionalitati ale
acestor elemente de executie pot fi controlate cu ajutorul agentului de afisaj decat este posibil
prin interactia directa cu dispozitivele fizice din camera. Deasemenea, acesta afiseaza
urmatoarele date: temperatura exterioara, nivelul de radiatii (din toate partile cladirii),
umiditate, iluminat intern, statusul storurilor si a luminilor.

30
Colaborarea intra-agent

Urmatoarele mesaje sunt trimise de agentul de afisaj:

 Aloca o noua valoarea proprietatii (catre BusAgent)

Agentul de afisaj monitorizeaza urmatoarele tipuri de mesaje:

 Decizii (trimise de agentul de control)


 Actualizari ale proprietatilor (pentru toate proprietatile camerei curent selectate)
 Actualizari ale proprietatilor globale (pentru cladirea in care camera curent selectata
este fizic localizata)

CONCLUZII

Sistemul AHA priveste o cladire ca fiind un intreg, o colectie de camere ce cuprind


senzori si elemente de executie. Sunt sisteme construite astfel incat sa proceseze si sa
reactioneze la feedbackul individual al utilizatorului care interactioneaza cu sistemul prin
intermediul senzorilor. Acestea sunt capabile sa invete preferintele utilizatorilor astfel incat, pe

31
termen lung, interactia normal cu sistemul sa nu fie necesara. Schimbarea dupa preferintele
utilizatorilor incepe de la nivelul intern al bazei de regului, adaptarea facandu-se o data cu
aparitia unor noi regului.

Sistemul de invatare a unei cladiri inteligente este definit de sistemul de invatare


conventional, in care exista solutii optimale. Nu exista solitii optimal in controlul unei cladiri
inteligente, lucru datorat faptului ca o cladire este o tinta in continua schimbare. Preferintele
utilizatorilor, utilizatorii insisi, structura cladirii si distributia camerelor sunt parametrii variabili
in timp.

Sistemul AHA va fi proiectat astfel incat procesul de invatare sa fie unul continuu, pentru
a se adapta constant acestor variabile. Acest lucru este posibil, daca sistemul va avea
incorporate masini de prelucrare a algoritmilor de invatare. Solutia de fata se va baza pe
procesul de fata distribuit intr-un system multiagent. Acest lucru este deosebit de important
intrucat este foarte greu sa putem proiecta un singur system centralizat care sa se ocupe de
implementarea tuturor sarcinilor propuse.

Pentru a obtine comportamentul adaptive continuu vom folosi metodologii avansate


precum algoritmii genetici. Astefel dotate, aceste sisteme sunt potrivite pentru adaptare
continua fara statut optim.

Se va permite gasirea de perspective interesante de performanta a metodelor evolutive


aplicate unor astfel de “tinte” in continua schimbare.

32
BIBLIOGRAFIE

1. Shengwei Wang - Intelligent Buildings and Building Automation


2. Jim Sinopoli - Smart Buildings
3. Albert Ting-pat So, Wai Lok Chan - Intelligent building systems
4. Juan C. Augusto Chris D. Nugent, School of Computing and Mathematics,
University of Ulster at Jordanstown, UK - Smart Homes can be Smarter
5. Jon Burroughs, Microchip Technology - Powerline communications – the future
for smart homes?
6. Robert C. Elsenpeter Toby J. Velte - Build Your Own Smart Home

1. http://www.easc.ch/aha/Docu/aha1_1_0.pdf
2. http://www.google.ro/patents?hl=ro&lr=&vid=USPAT6263260&id=7aMIAAA
AEBAJ&oi=fnd&dq=Adaptive+Building+Automation&printsec=abstract#v=onep
age&q&f=false
3. http://www.smarthome.com
4. http://en.wikipedia.org/wiki/Smart_Home
5. http://www.cosmica.ro/automation_kit.php
6. http://www.electronica-azi.ro/articol.php?id_ar=251
7. http://www.smarthouse.ro/sfatul_specialistului.php
8. http://www.avitech.ro
9. http://www.moeller.ro
10. http://homix.ro/solutii.html
11. http://casa.schneider-electric.ro/hol.html
12. http://www.hager.ro/index.php?scr=1024&id=404
13. http://ezinearticles.com/?What-Is-A-Smart-Building?&id=394642
14. http://www.smarterhomes.org.nz
15. http://www.tiresias.org/cost219ter/inclusive_future/(14).pdf
16. http://www.clipsal.co.uk/downloads/Clipsal_Your_Home_Smart_Home_CC
P5952.pdf
17. http://www.knx.org/
18. http://www.homeauto.com
19, http:// www.ncs.com.sg
20. http:// www.simplyautomate.co.uk
21. http://www.boklok.co.uk
22. http://www.jrf.org.uk
23. http://www.uk.intertek-etlsemko.com

33
24.http://www.MileHighAutomation.com
25. http://www.smartkontrols.co.uk
26. http://www.siemens.co.uk/smarthomes
27. www.shdir.no/deltasenteret
28. http://smarthome.cs.cmu.edu/classes/smarthome/pubs/aldrich_past_present_fu
ture.pdf

34

Você também pode gostar