DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de...

36
Digital Signal Processing Laboratories in Timisoara Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/ DSPLabs Technical Report DSPL-TR.2010.1 Title Evaluarea sistemului MELISSEVS in contextul unui set de aplicatii cu impact pentru mediul social si economic Authors Razvan D. CIOARGA, Mihai V. MICEA Language Romanian Project ID MELISSEVS Project Title Model for rEpresentation of coLlaborative robotic and Intelligent Sensor Systems in EnVironment exploration and Supervision applications Project Type Grant PNCDI II - "IDEAS" Program, Code "ID-22" Activity ID 2.1-2.4 Year 2010

Transcript of DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de...

Page 1: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

DSPLabs

Technical Report

DSPL-TR.2010.1 Title Evaluarea sistemului MELISSEVS in contextul unui

set de aplicatii cu impact pentru mediul social si economic

Authors Razvan D. CIOARGA, Mihai V. MICEA

Language Romanian

Project ID MELISSEVS

Project Title Model for rEpresentation of coLlaborative robotic and Intelligent Sensor Systems in EnVironment exploration and Supervision applications

Project Type Grant PNCDI II - "IDEAS" Program, Code "ID-22"

Activity ID 2.1-2.4

Year 2010

Page 2: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

2 DSPLabs Technical Report, DSPL-TR.2010.1

Cuprins

1 Introducere 3

2 Sistem de senzori inteligenti pentru monitorizarea temperaturii din incaperile unei cladiri 4 2.1 Specificatii generale....................................................................................... 5 2.2 Implementarea aplicatiei ................................................................................ 5 2.3 Evaluarea performantelor............................................................................. 10 2.4 Concluzii ...................................................................................................... 13

3 Sistem de localizare a robotilor mobili prin procese colaborative 14 3.1 Specificatii generale..................................................................................... 15 3.2 Implementarea aplicatiei .............................................................................. 16

3.2.1 Arhitectura sistemului......................................................................... 16 3.2.2 Mecanismul de localizare prin proces colaborativ.............................. 19

3.3 Evaluarea performantelor............................................................................. 21

4 ERRIE - Emergent Behavior Based Web Crawler 23 4.1 Specificatii generale ale ERRIE (Emergent Retriever of Information) ....... 23 4.2 Evaluarea performantelor............................................................................. 25 4.3 Concluzii ...................................................................................................... 27

5 Miscarea inspirata de bancurile de pesti aplicata la colectivele robotice 29 5.1 Modelul matematic al miscarii bazate pe bancurile de pesti ....................... 29 5.2 Validare experimentala ................................................................................ 31

5.2.1 Experimentul 1: 3 roboti, fara obstacol............................................... 32 5.2.2 Experimentul 2: 5 roboti, Fountain Effect .......................................... 33

Referinte bibliografice 35

Page 3: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

DSPLabs Technical Report, DSPL-TR.2010.1 3

1 Introducere

Intr-o lume digitală, în care echipamentele electronice sunt parte din viata de zi cu zi, folosirea unor dispozitive care detin proprietăţi bionspirate duce la o îmbunătăţire semnificativă a performanţei si a eficientei. De asemenea, nevoia pentru dispozitive omniprezente care pot efectua diferite sarcini fără intervenţie umană a crescut în ultimii ani. Aceste tendinţe au făcut posibilă utilizarea de echipamente electronice mici, relativ ieftine si simple, care afiseaza un comportament emergent si care sunt mai eficiente decat omologii centralizati ai acestora. In continuare se vor prezenta o serie de aplicatii ale acestor tipare de comportament emergent in cadrul colectivelor robotizate:

Un sistem de senzori inteligenti pentru monitorizarea temperaturii din incaperile unei cladiri;

Un sistem de localizare a robotilor mobili prin procese colaborative;

O suita de aplicatii folosite in explorarea World Wide Web;

Un set de modele matematice folosit pentru implementarea eficienta a miscarii preluate din studiul bancurilor de pesti in cazul colectivelor robotizate.

Page 4: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

4 DSPLabs Technical Report, DSPL-TR.2010.1

2 Sistem de senzori inteligenti pentru monitorizarea temperaturii din incaperile unei cladiri

Succesul reţelelor de comunicaţie wireless a dus la apariţia a numeroase aplicaţii, oferind oamenilor posibilitatea de a accesa şi stoca informaţii oricând şi din aproape orice loc de pe glob. Reţelele wireless LAN au cunoscut o dezvoltare spectaculoasă, dar în ultimul timp se observă o creştere semnificativă a folosirii dispozitivelor de cost redus numite senzori. Reţelele wireless de senzori constă din noduri caracterizate de anumite resurse şi energie limitată. Datorită dezvoltării sistemelor de senzori, a comunicaţiilor wireless şi a sistemelor încorporate, reţelele de senzori devin tot mai accesibile pentru o categorie tot mai largă de aplicaţii.. O clasificare a aplicaţiilor bazate pe reţele de senzori conform [1] este următoarea:

controlul clădirilor comerciale ;

controlul mediului: urmărirea contaminării solului şi a apei, monitorizarea habitatului;

controlul traficului aerian;

monitorizarea mediului şi vremii;

automatizarea caselor: alarme pentru detecţia fumului, monitorizarea temperaturii;

aplicaţii de securitate naţională: senzori pentru substanţe chimice toxice, explozive şi biologice;

monitorizare şi control industrial;

operaţii metropolitane: monitorizarea traficului;

aplicaţii medicale: diagnosticarea stării de sănătate, monitorizarea la domiciliu a bolnavilor şi bătrânilor,etc.

Domeniul reţelelor de senzori se confruntă cu probleme precum [2]:

aprovizionarea limitată cu energie, fiind necesare protocoale care se bazează pe conservarea energiei

putere de calcul limitată: nu pot fi rulate protocoale de reţea sofisticate

lăţimea de bandă limitată constrânge comunicarea între senzori

alte probleme: controlul senzorilor, conectivitate, tradeoff între eficienţă şi cost, auto-organizare, scalabilitate şi robusteţe.

Page 5: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

DSPLabs Technical Report, DSPL-TR.2010.1 5

2.1 Specificatii generale

Aplicatia prezentata in acest capitol constă în realizarea comunicării wireless între modulele WIT , subcomponente ale CORE-TX, module pe care rulează nucleul de sistem de operare real-time HARETICK, pentru a monitoriza temperatura dintr-o cladire. Dezvoltarea nivelului de comunicaţii wireless pentru platforma CORE-TX este un subproiect al proiectului CORE-TX, dezvoltat în cadrul grantului CORE-TX, susţinut de către MEdC-UEFISCSU, Ministerul Educaţiei si Cercetării, Bucureşti, Romania şi al proiectului MELISSEVS. Proiectul CORE-TX abordează sisteme timp-real de control digital încorporat destinate aplicaţiilor complexe de percepţie artificială distribuită, reţele de senzori inteligenţi şi medii colaborative robotizate. Sistemul MELISSEVS este conceput ca un model integrat de reprezentare a sistemelor colaborative robotice şi de senzori inteligenţi, destinat realizării aplicaţiilor de explorare-supraveghere de mediu, cu impact direct asupra societăţii informaţionale moderne, introducerii tehnologiilor de ultima oră în industrie şi în viaţa cotidiană, precum şi în protecţia mediului. Specificaţiile generale ale aplicatiei sunt următoarele: 1. Implementarea un protocol care să permită realizarea unei aplicaţii de

monitorizare a temperaturii preluate de la senzorii de temperatură ataşati la WIT-uri;

2. Realizarea unei aplicaţii grafice sub formă de pagină web care să permită vizualizarea nodurilor reţelei şi trimiterea de comenzi de preluare a temperaturii către reţeua de WIT-uri precum şi recepţionarea răspunsurilor şi afisarea lor pentru utilizator;

3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de măsurători privind duratele de transfer de date între nodurile

reţelei.

2.2 Implementarea aplicatiei

Comunicaţia în sistemul CORE-TX se realizează la nivelul plăcii de comunicaţie a fiecărui WIT. Placa de comunicaţie deţine o interfaţă de comunicaţie wireless asigurată de către dispozitivul XBee Seria 2. Această subcomponentă a WIT-ului are rolul de a asigura transmisia şi recepţia datelor în cadrul platformei CORE-TX. Submodulul de comunicaţie are în varianta actuală următoarea configuraţie:

Microcontroler: LPC2148, cuarţ de 14.7456 MHz;

Modul wireless: XBee Serie 2;

Interfaţă de programare în sistem,

Interfaţă de depanare.

Page 6: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

6 DSPLabs Technical Report, DSPL-TR.2010.1

Placa de comunicaţie poate fi observată în partea stângă a Fig. 1, iar în partea dreaptă se află placa de bază.

Fig. 1: Modul WIT utilizat în cadrul aplicaţiei

Driverul care asigură comunicarea între dispozitivele XBee este structurat pe trei nivele: nivelul de acces la mediul fizic, nivelul transport şi nivelul aplicaţie. Nivelul 3 reprezintă nivelul aplicaţie şi este responsabil cu compunerea informaţiei care va fi transmisă prin XBee, informaţie care este trimisă la nivelul 2. Acest nivel este considerat un task lejer pentru că nu are cerinţe stricte de timp. Nivelul 2 are rol de a împacheta informaţia primită de la nivelul aplicaţie conform cu standardul ZigBee. După ce este efectuată împachetarea datelor rezultă un şir de octeţi care vor fi transmişi nivelului 1. Acest nivel are cerinţe stricte de timp. Nivelul 1 asigură comunicarea la nivelul cel mai scăzut cu modulul XBee, constituind o abstractizare hardware şi realizând operaţii de bază pentru comunicare. Acest nivel poate fi considerat un ModX. După cum se observă în figura Fig. 2, nivelele 1 şi 2 sunt alcătuite dintr-o componentă care este responsabilă cu recepţia datelor şi una care este responsabilă cu transmisia datelor. Partea responsabilă cu recepţia datelor de la mediul fizic de comunicaţie se numeşte Layer 1 Receive, iar cea care realizează transmisia datelor pe mediul fizic se numeste Layer 1 Transmit. La nivelul 2, partea care se ocupă cu recepţia datelor de la nivelul 1 se numeşte Layer 2 Receive, iar partea care este responsabilă de transmisia datelor către nivelul 1 se numeşte Layer 2 Transmit. Driverul de comunicatie implementeaza secventa de transmisie a datelor in cadrul retelei de senzori prezentata in Fig. 3.

Page 7: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

DSPLabs Technical Report, DSPL-TR.2010.1 7

Fig. 2: Structura driverului XBee

Fig. 3: Secvenţa de transmisie a datelor (sursa [3])

Page 8: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

8 DSPLabs Technical Report, DSPL-TR.2010.1

Conform cu modele matematice specifice MELISSEVS, in continuare se prezinta diagrama automatului de stari folosit pentru modelarea procesului de agregare a informatiilor reprezentate de temperatura corespunzatoare nodurilor retelei de senzori (Fig. 5).

Fig. 4: Automatul de stări al protocolului de temperatură

Page 9: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

DSPLabs Technical Report, DSPL-TR.2010.1 9

Fig. 5: Detalii de implementare ale automatului de stări al protocolului de temperatură

Page 10: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

10 DSPLabs Technical Report, DSPL-TR.2010.1

2.3 Evaluarea performantelor

Valorile temperaturii preluate de la senzorii de temperatură ataşaţi la WIT-urile din laborator sunt preluate şi afisate de tool-ul numit CACTI [4] care le afişează conform presetărilor grafice stabilite. Cacti va prelua deci pentru fiecare WIT temperatura dintr-un fisier diferit şi o afisează, putând fi selectate perioade de timp pentru care se doreşte vizualizarea. Aceste grafice sunt actualizate automat de către CACTI la fiecare 5 minute. Graficele obţinute pentru monitorizarea temperaturilor se găsesc în Fig. 6, Fig. 7 si Fig. 8.

Fig. 6: Graficul pentru senzorul de temperatură ataşat la WIT-ul 1

Fig. 7: Graficul pentru senzorul de temperatură ataşat la WIT-ul 2

Page 11: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

DSPLabs Technical Report, DSPL-TR.2010.1 11

Fig. 8: Graficul pentru senzorul de temperatură ataşat la WIT-ul 2 (imagine detaliată)

În urma implementarii acestei aplicatii s-au obţinut rezultate cu privire la eliminarea overhead-ului datorat descoperirii adreselor atunci când se doreşte transmisia de pachete de la un nod sursă la un nod destinaţie. A fost eliminat cu success overhead-ul datorat transmisiei de pachete broadcast al XBee-urilor pentru a descoperi adresa de reţea corespunzătoare unui anumit nod destinaţie, pentru care era cunoscută doar adresa fizică. După implementarea unui tabele în care au fost stocate corespondenţele dintre adresa de reţea şi adresa hardware, s-a constatat experimental că transmisia datelor la destinaţie era realizată imediat, fără a mai fi executată faza de Address Discovery. Au mai fost obţinute şi rezultate referitoare la monitorizarea temperaturii din laborator, valorile temperaturii fiind furnizate sistemului CACTI, care le afişează în format grafic. Pot fi selectate vizualizarea temperaturii de la intervale de timp începând cu jumătate de ora în urmă, jumătate de zi, o zi, şi până la maxim un an în urmă. Aceste valori ale temperaturilor sunt păstrate de CACTI într-o bază de date MySQL. Au fost analizate folosind analizorul logic momentele de comutaţie între task-urile de XBee şi cele de SPI şi a fost măsurată durata de execuţie a protocolului de temperatură de la nivelul plăcii de bază, şi durata necesară împachetării informaţiei de la placa de bază pentru transmisie pe XBee.

Primul rezultat obţinut a fost legat de comutaţia între ModX-urile plăcii de comunicaţie şi ale plăcii de bază. Din Fig. 9 se observă că după ce placa de comunicaţie primeşte un pachet (semnalul C_XBEE RX care este identic cu semnalul C_SPI TX), pachetul va fi recepţionat de placa de bază prin protocolul SPI (semnalul M_SPI RX). Decizia de la nivelul plăcii de bază va dura foarte puţin, iar apoi are loc transmisia datelor la placa de comunicaţie (semnalul M_SPI TX).

Page 12: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

12 DSPLabs Technical Report, DSPL-TR.2010.1

Fig. 9: Imaginea de ansamblu a comunicării între placa de comunicaţie şi placa de bază

Se observă că după un anumit timp semnalul C_SPI RX va deveni 0, semn că

datele au ajuns la placa de comunicaţie. Se observă că durata între semnalele C_SPI RX şi C_XBEE TX este foarte mică, aceasta însemnând că nivelul 3 XBee , adică împachetarea informaţiei de la placa de baza pentru transmisie pe XBee durează foarte puţin. A fost măsurată cu analizorul logic durata execuţiei protocolului de temperatură de la nivelul plăcii de bază. Aceasta poate fi observată în Fig. 10 între cele două markere. Această durată este de 25 µs.

Fig. 10: Durata execuţiei protocolului de temperatură de la nivelul plăcii de bază

A fost deteminată experimental şi durata de execuţie a nivelului 3 XBee care se ocupă cu împachetarea informaţiei de la placa de bază pentru transmisie pe XBee. Se observă că durata dintre semnalele C_SPI RX şi C_XBee TX este de 1.36µs (Fig. 11).

Fig. 11: Durata împachetării informaţiei de la placa de bază pentru transmisie pe XBee

Page 13: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

DSPLabs Technical Report, DSPL-TR.2010.1 13

2.4 Concluzii

Au fost adăugate noi rutine în cadrul driver-ului care să asigure citirea mai multor proprietăţi ale modulelelor wireless XBee Serie 2 şi a unei rutine de nivel aplicaţie care să asigure descoperirea nodurilor din întreaga reţea. Faţă de specificaţiile iniţiale a fost adusă o îmbunătăţire a transferului de date între module prin implementarea unei tabele locale care să menţină corespondenţa dintre adresa de reţea şi adresa hardware a modulelor XBee, astfel încât să nu se mai transmită o comandă broadcast la fiecare transmisie de date pentru care XBee-ul nu cunoaşte adresa de reţea asociată adresei hardware a destinaţiei. Prin memorarea corespondenţei dintre cele două adrese, dacă adresa de reţea corespondentă unei adrese fizice există în tabelă nu se mai execută comanda de descoperire a adresei. Astfel se va putea realiza imediat routarea datelor la nodul destinaţie. Pentru aplicaţia de monitorizare a temperaturii au fost folosite nivelele de comunicaţie existente pentru placa de comunicaţie şi placa de bază fiind adăugat un automat de stări care realizează interpretarea pachetului aplicaţie şi ia decizii cu privire la informaţiile pe care le transmite la solicitantul cererii de preluare a temperaturii. Procesarea acestor informaţii este realizată la nivelul plăcii de bază a WIT-ului. Pentru asigurarea interacţiunii dintre utilizator şi reţeaua de WIT-uri a fost implementată o aplicaţie cu interfaţă grafică, care la nivel logic are o arhitectură client-server. Comunicarea între client şi server se realizează prin socket-uri. Astfel, aplicaţia web pe care am implementat-o în PHP are rolul de client, iar serverul este constituit dintr-un program ce asigură pe de o parte recepţionarea cererilor clientului şi oferirea de informaţii acestuia despre temperatura senzorilor din reţea, iar pe de altă parte, într-un fir de execuţie distinct, trimiterea de comenzi către WIT-urile din sistem şi preluarea de răspunsuri de la acestea.

Page 14: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

14 DSPLabs Technical Report, DSPL-TR.2010.1

3 Sistem de localizare a robotilor mobili prin procese colaborative

Problema localizării reprezintă una dintre cele mai dificile probleme ce trebuie rezolvate în cadrul proiectelor de cercetare ţinând cont de realitatea înconjurătoare. Plaja aplicaţilor în care este utilizată localizarea este diversificată, menţionând doar monitorizarea mediului, monitorizarea incendiilor sau calitatea apei, nu putem să atingem ţelul fără să cunoaştem locaţia de unde se prelevă aceste informaţii. Estimarea a unei locaţii permite dezvoltarea unui număr vast de aplicaţii: monitorizarea traficului rutier, rutarea celui mai scurt traseu ca şi durată în timp în trafic, ghid turistic etc. Sistemele de localizare pot fi împărţite în două mari categorii: sisteme de localizare globală şi sisteme de localizare locală. De obicei, în practică, un sistem de localizare local este mai precis decât cel global. Acurateţea unui sistem global poate să ajungă la ordinul metrilor, iar acurateţea unui sistem local poate să ajungă la ordinul centimetrilor depinzând de cerinţele sistemului şi tehnologia aplicată. Cea mai populară tehnologie in domeniul localizării este GPS (Global Positioning System), un sistem de poziţionare globală prin satelit. Acest sistem a fost iniţiat de departamentul de apărare a Statelor Unite, acesta permite aflarea poziţiei a unui obiect aflat pe suprafaţa pământului, cu condiţia ca acesta să fie echipat cu un dispozitiv care poate comunica cu sistemul. În anul 1995 sistemul GPS a devenit complet operaţional atât în navigaţie cât şi în alte scopuri. Sistemul GPS conţine 24 de sateliţi şi mai multe staţii terestre, acesta oferă două variante de acurateţe, la metru şi la mai puţin de un centimetru. Principiul de funcţionare a sistemului este prin calcularea a minim 4 distanţe de la obiectul ţintă (echipat cu un receptor) la 4 sateliţi diferiţi. În mod normal pentru aflarea poziţiei în spaţiu este nevoie de minim trei referinţe, dar pentru minimizarea erorilor se utilizează cea de a patra referinţă. Distanţa dintre receptor şi satelit se calculează prin cronometrarea timpului de care are nevoie semnalul radio să ajungă de la satelit la receptor. În altă ordine de idei, GPS-ului se bazează pe triangulaţie. LORAN (LOng RAnge Navigation) reprezintă un sistem de radionavigaţie construit de americani în anul 1940 destinat distanţelor mari, constând în determinarea poziţiei cu ajutorul a trei staţii de reper. La început a fost folosit în perioada celui de-al doilea război mondial în scopul navigaţiei. Comparativ cu sistemul GEE folosit în scopul militar având o rază de acoperire de 644 km, LORAN poate acoperii o zonă de rază 1930 km iar până astăzi a ajuns să ofere o acurateţe de ±8 metrii şi poate fi folosit atunci când GPS-ul nu este disponibil mai ales în zonele maritime. Cricket Indoor Location System, [5], este un sistem de localizare local destinat încăperilor de cercetare în domeniul sistemelor mobile. Sistemul este alcătuit din mai

Page 15: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

DSPLabs Technical Report, DSPL-TR.2010.1 15

multe dispozitive de transmisie în funcţie de dimensiunea suprafeţei de acoperire dorite (cel puţin trei module) şi un dispozitiv sau mai multe dispozitive mobile care joacă şi rolul de recepţie. În cele mai multe cazuri dispozitivele de transmisie se ataşează pe partea superioară a încăperii în aşa fel încât să acopere o porţiune cât mai mare sau chiar întreaga încăpere. Dispozitivele de recepţie se ataşează roboţilor care se află în partea inferioara a încăperii. În tehnologia sistemelor cu module cricket se foloseşte principiul de triangulaţie pentru a determina poziţia roboţilor. Aşa cum se prezintă în [6] si [7], sistemul se bazează pe două tipuri de semnale: semnalul RF (radio) şi semnalul de ultrasunete. Semnalul radio este de 10¬6 ori mai rapid ca semnalul de ultrasunete, iar distanţa se află calculând diferenţa celor doi timp. Această localizare se realizează la o acurateţe de 1 ÷ 3 cm.

3.1 Specificatii generale

Obiectivul general al aplicatiei descrisa in acest capitol este construirea unor roboţi mobili şi găsirea unei soluţii optime de localizare a acestora. Se urmăreşte ca sistemul să fie independent de repere fixe. Sistemul de localizare trebuie să fie rapid, eficient şi cu consum redus de energie. De asemenea trebuie urmărit ca sistemul final să ajungă la un cost cât mai mic. Sistemul de localizare trebuie să respecte condiţiile de adaptare la modelul WIT elaborat în [8] şi a arhitecturii generale MELISSEVS / CORE-TX. În primă fază pentru construirea şi testarea sistemului de localizare, sistemul a fost implementat pe un microcontroler ATMEGA16. În a doua fază s-a trecut pe procesorul LPC cu arhitectura ARM7 pentru ca ulterior în a treia fază să poată fi adaptat la sistemul final. Sistemul de localizare se bazează pe un modul de percepţie care va face parte din modelul WIT. Modulul de percepţie este echipat cu doi transductori de ultrasunete. Un transductor va transmite un semnal de ultrasunete iar celălalt va recepţiona. Pe baza acestui modul şi a altor module existente în WIT, se poate calcula distanţa faţă de un alt WIT echipat cu un modul de percepţie asemănător aflat la o anumită distanţă depărtare. Scopul este ca fiecare WIT echipat cu un modul de percepţie să poată să se localizeze un alt WIT aflat la o distanţă foarte mare de acesta. Acest proces de localizare reprezintă un proces colaborativ între WIT-uri.

Page 16: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

16 DSPLabs Technical Report, DSPL-TR.2010.1

3.2 Implementarea aplicatiei

3.2.1 Arhitectura sistemului

Sistemul de localizare se ocupă cu corecţia erorii de deplasare a roboţilor. Corecţia se realizează prin recalcularea poziţiei robotului faţă de alţi doi roboţi care au la un moment dat rolul de referinţe, referinţe ale căror poziţii sunt cunoscute. Această recalculare a poziţiei se realizează bazându-ne pe două semnale: semnalul radio şi semnalul de ultrasunete şi de faptul că semnalul radio este de 106 ori mai rapid ca semnalul de ultrasunete (Fig. 12).

Fig. 12: Sistem de roboţi mobili echipaţi cu doi transductori şi un Xbee fiecare

Fiecare robot mobil este echipat cu un dispozitiv hardware care conţine o antenă radio şi doi transductori: unul de recepţie şi unul de transmisie a ultrasunetelor (Fig. 13).

Page 17: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

DSPLabs Technical Report, DSPL-TR.2010.1 17

Fig. 13: Ciruit de transmisie şi recepţionare a semnalului de ultrasunete

Fiecărui robot mobil (Fig. 14) îi corespunde o zonă de rază 2 m denumită Green Zone (Fig. 15). Robotul deplasându-se îşi mută şi zona de acoperire, cu alte cuvinte el nu este dependent de zona iniţială în care s-a aflat. Pentru ca acesta să poată fi localizat este necesar ca în zona verde să fie prezenţi minim 2 roboţi de reper (poziţia acestora fiind cunoscută).

Fig. 14: Robot cu motoare „pas cu pas”

Page 18: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

18 DSPLabs Technical Report, DSPL-TR.2010.1

Fig. 15: Zona verde pentru robotul A

Yellow Zone descrisa in Fig. 16, reprezintă o extensie a zonei verzi. Zona galbenă este o zonă de rază 4 m. Dacă robotul necesită o localizare şi nu are repere în zona verde atunci el ar putea să folosească repere şi din zona galbenă cu condiţia ca distanţa dintre repere să fie mai mare de 4m. Trebuie menţionat că şi „start position” (poziţia de start) are asociată o zonă verde şi una galbenă. Aceasta corespunde coordonatorului de sistem.

Fig. 16: Zona galbenă pentru robotul A

Proiectarea, construirea şi utilizarea mai multor roboţi simpli devine mai atractivă decât construirea unui singur robot performant. Poate fi de asemenea mai ieftină datorită simplităţii roboţilor. Un grup de roboţi este mai flexibil şi mai tolerant la erori deoarece chiar dacă unul sau mai mulţi roboţi se defectează, obiectivul poate fi îndeplinit 1 [9].

Page 19: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

DSPLabs Technical Report, DSPL-TR.2010.1 19

Roboţii nu sunt dependenţi tot timpul de un coordonator, aceştia pot deveni independenţi faţă de acesta. Asta face ca sistemul să fie mai sigur fără să apară riscuri de disfuncţionalitate din cauza defecţiunii coordonatorului. Tot un aspect important asupra independenţei faţă de coordonator este faptul că acesta poate fi solicitat foarte mult din cauza numărului mare de roboţi incluşi în sistem, astfel comunicarea ar devenii greoaie. Putem să facem o paralelă cu comportamentul unei furnici şi comportamentul unui grup de furnici, sau a unei albine. Se ştie că un roi de albine poate să construiască un stup. Nivelul de inteligenţă a unei singure albine nu se compară cu situaţia în care albinele colaborează şi construiesc ceva în folosul tuturor. Aceeaşi situaţie se găseşte în cazul termitelor, acestea au un nivel scăzut de inteligenţă la nivel individual. La nivel de colonie au rezultate spectaculoase.

3.2.2 Mecanismul de localizare prin proces colaborativ

Corelaţia este o tehnică care urmăreşte gradul de asemănare între două semnale. Pentru un anumit deplasament de timp discret d, corelaţia se defineşte ca fiind suma produselor eşantioanelor ce se suprapun în timp ale primului semnal şi celui de-al doilea care este întârziat cu d eşantioane. Determinând corelaţia pentru toate deplasamentele posibile, se va obţine secvenţa de corelaţie a celor două semnale studiate. Dacă cele două semnale sunt identice atunci rezultatul obţinut se numeşte autocorelaţie, iar dacă cele două semnale sunt distincte atunci se obţine intercorelaţia. În Fig. 17 este reprezentat semnalul de ultrasunete recepţionat după etajul de amplificare adaptat, în cazul acesta este vorba de canalul 2. Semnalul nu conţine zgomot, pentru aceasta calculul determinării întârzierii semnalului de ultrasunete este foarte simplu, Se caută maximul din buffer-ul care conţine valorile obţinute de la convertorul analog numeric. După aplicarea algoritmului de autocorelaţie, s-a obţinut graficul din Fig. 18.

Fig. 17: Semnalul de ultrasunete recepţionat

Page 20: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

20 DSPLabs Technical Report, DSPL-TR.2010.1

Fig. 18: Semnalul obţinut după aplicarea algoritmului de autocorelaţie

Algoritmul de calcul a distanţei între doi roboţi apare după procesul de aliniere si este prezentat in Fig. 19. Calculul distanţei fără aliniere nu are sens. Calculul distanţei între doi roboţi se face în două faze. O dată se obţine distanţa de la primul robot raportat la al doilea, iar în a doua fază se obţine distanţa de la robotul doi la primul.

RobotR1

RobotR2

WMes 1 (START)WMes 1 (START)

WMes 2(SONAR REQ)

SonarReceive

Task

WMes 2(SONAR REQ)

StartTIMERΔt

SonarTransmit

TaskStart

TIMERδ

StartTIMER

δ

WMes 3(SONAR START)

WMes 3(SONAR START)

SonarReceive

Task SonarTransmit

Task

StopTIMERΔt

2

1

Fig. 19: Algoritmul de calcul al distantelor

Page 21: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

DSPLabs Technical Report, DSPL-TR.2010.1 21

3.3 Evaluarea performantelor

Procesul de calcul se bazează pe contorizarea timpului în care un semnal de ultrasunete transmis de un robot ajunge la un al doilea robot. Evenimentul de calcul este declanşat de un al treilea robot care este implicat în localizare, acesta poartă denumirea de coordonator. Coordonatorul lansează evenimentul transmiţând un semnal prin radio. Acest semnal radio trebuie să ajungă în acelaşi timp la cei doi roboţi. Recepţia acestui semnal a fost realizată cu întrerupere de tip FIQ, aceasta fiind mai rapidă decât întreruperea IRQ. Semnalul obţinut de la convertorul analog numeric este reţinut într-un tablou de dimensiune 3000 de elemente. Acest semnal se parcurge şi se caută un maxim. Acel maxim reprezintă momentul în care a ajuns semnalul de ultrasunete. În continuare se prezinta câteva teste experimentale de calcul pe distanţe diferite (Tab. 1).

Tab. 1: Eroarea de calcul a distanţei

Distanţa Valoarea obţinută Eroarea10cm 134 mm 34 mm 20cm 226 mm 26 mm 30cm 337 mm 37 mm 40cm 438 mm 38 mm 50cm 529 mm 29 mm 60cm 618 mm 18 mm 70cm 720 mm 20 mm 80cm 823 mm 23 mm 90cm 924 mm 24 mm 1m 1010 mm 10 mm 2m 1004 mm 4 mm 3m 2998 mm 2 mm 4m 3990 mm 10 mm

Distanţa poate fi obţinută în două moduri, primul robot transmite semnal de ultrasunete iar al doilea recepţionează sau al doilea transmite semnal de ultrasunete şi primul recepţionează. Din acest dublu proces rezultă două valori din care se face o medie şi se obţine un rezultat care reprezintă distanţa dintre cei doi roboţi. Dacă diferenţa dintre aceste valori este mai mare de 10 mm atunci se face recalcularea distanţelor până când se obţin două valori apropiate. De aici putem spune că acurateţea sistemului de calcul a distanţei ajunge la 1 cm.

Page 22: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

22 DSPLabs Technical Report, DSPL-TR.2010.1

Fig. 20: Eroarea de calcul a distanţei

In Fig. 20 se observă că la o distanţă mai mare eroarea scade, de aceea, de fiecare dată când vom avea de ales între o referinţă la o distanţă mai mare şi una mai mică o să preferăm pe aceea la o distanţă mai mare pentru că eroarea de calcul a distanţei este mai mică.

Page 23: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

DSPLabs Technical Report, DSPL-TR.2010.1 23

4 ERRIE - Emergent Behavior Based Web Crawler

Crawlerele web de sine stătătoare precum şi cele distribuite folosesc algoritmi sofisticaţi, de inalta performanta, care necesită un grad ridicat de putere de calcul. Aceastea folosesc, de asemenea, tehnici complexe de inter-comunicare (multithreading, memorie partajată, etc). Ca opus la crawlerele web distribuite, sistemul de crawlere web ERRIE prezentate în continuare dezvolta comportamente emergente prin folosirea unor algoritmi extrem de simpli, care sunt foarte eficienti atunci când sunt folosite de un număr mare de entităţi; totodata, acestea sunt imprevizibile şi nedeterministe. Evoluţia sistemelor de informaţii şi a World Wide Web, combinata cu schimbarea de perspectivă, de la conţinut static la conţinut dinamic a paradigmei WEB 2.0, genereaza o nevoie extraordinara de stocare, regăsire, indexarea de date pe Internet. În acest context, motoare de cautare extrem de puternice precum Google, AltaVista sau Yahoo utilizeaza aplicaţii software specializate numit crawlerele web. Crawlerul web este o aplicaţie software automata care navighează pe World Wide Web într-un mod metodic. Motoarele de căutare pe internet utilizeaza web crawling ca un mijloc de a oferi informaţii actualizate cu privire la interogările care au fost postate de utilizatorii lor. Crawlerele web sunt de obicei folosite pentru a face copii locale a paginilor web care au fost vizitate; acestea pot fi prelucrate ulterior de către motoarele de căutare. Uneori, crawlerele pot fi utilizate pentru regăsirea de informaţii specifice de pe internet, cum ar fi adrese de e-mail, care sunt apoi folosite pentru spam. Fiecare din crawlerele web comerciale, cum ar fi Google Crawler [10], PolyBot [11] sau WebFountain [12], sau crawlerele web open-source cum ar fi GNU Wget, HTTrack sau WIRE [13], fac uz de algoritmi specifici sistemelor distribuite care necesită o cantitate mare de putere de calcul. Există unele crawlerele ca Ubicrawler care au fost special concepute să folosească tehnici colaborative.

4.1 Specificatii generale ale ERRIE (Emergent Retriever of Information)

ERRIE foloseste un algoritm bazat pe conceptul de feromoni preluat din studiul coloniilor de furnici. Fiecare furnică foloseşte aceste substanţe chimice cunoscute ca feromonii pentru comunicare. Schimbul de feromoni este una dintre modalităţile cele mai utilizate în sistemele de comunicare emergente naturale. Coloniile de furnici sunt un exemplu foarte important al unui sistem descentralizat, care folosesc modalitati de

Page 24: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

24 DSPLabs Technical Report, DSPL-TR.2010.1

comunicare bazate pe feromoni [14]. Furnicile individuale au o imagine locala a întregului sistem, creat pe baza schimbului feromoni între ele şi alte furnici pe care le intalnesc. Diferite tipuri de informaţii corespund la diferite tipuri de feromoni; furnicile extrag, de asemenea, informaţii din intensitatea feromonului. Prin extragerea informatiilor din feromoni, furnicile determină comportamentul furnicilor vecine şi, astfel, isi stabilesc propriul rolul fără a determina un dialoguri sau orice alt tip de negociere. Comunicarea pe bază de feromoni este semi-fiabila, deoarece mesajele chimice continuă să fie transmise chiar şi după sursa a mesajului apucă să existe. Pierderea de mesaje individuale nu are nici o importanţă. Acest tip de comunicare este unidirecţional; traseele de feromoni sunt create de furnici ca pentru alte furnici să le urmeze. Nu există nici o comunicare duplex; se foloseste în loc o pereche de mesaje simplex, dar acestea nu sunt corelate ca parte dintr-o conversaţie Algoritmul ERRIE foloseste o baza de date MySQL (Fig. 21) ca un suport pentru comunicare. Baza de date MySQL oferă suport pentru indexare şi căutări full-text, care sunt necesare atunci când preluate link-uri si sunt utile pentru a preveni parcurgerea unor link-uri deja vizitate. Fiecare acces la baza de date este tranzacţionala (tranzacţiile sunt pe deplin susţinută de serverul MySQL), permiţând astfel accesul concurent la datele stocate.

MySQL serverAnd database

Errie bot Errie bot Errie bot

Errie bot

Errie bot

URLs table Web pages table

MySQL serverAnd database

Errie bot Errie bot Errie bot

Errie bot

Errie bot

URLs table Web pages table

Fig. 21: Arhitectura sistemului ERRIE

Page 25: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

DSPLabs Technical Report, DSPL-TR.2010.1 25

4.2 Evaluarea performantelor

Au fost efectuate o serie de experimente în scopul de a compara performanţele crawler-ului ERRIE cu cele ale versiunii sale non-emergente, WIRE. Crawlerul web WIRE este extrem de predictibil pentru ca acesta se execută în cicluri, care sunt foarte bine definite. Singurul criteriu de incertitudine este introdus de extragerea de link-uri de la pagini web, ca si de numărul de link-uri găsite în fiecare pagina web, care este extrem de imprevizibil. Pentru a avea un set intrări similare pentru toate experimentele, s-a folosit acelasi set pagini iniţiale. Experimentul realizat pentru sistemul WIRE este folosit ca o bază pentru celelalte experimente.Numărul de link-uri recuperate a fost înregistrat după fiecare ciclu si este prezentat in Fig. 22.

01.0002.0003.0004.0005.0006.0007.0008.000

Cycle 0

Cycle 2

Cycle 4

Cycle 6

Cycle 8

Cycle 10

Cycle 12

Cycle 14

Cycle 16

Cycle 18

Cycle 20

Cycle Number

Num

ber

of d

ownl

oade

d pa

ges

Fig. 22: Numarul de pagini descărcate de sistemul WIRE

Următorul experiment a fost efectuat pentru a determina numărul de pagini web descărcate de un număr variabil de crawlerele web ERRIE. Baza de date MySQL a fost populata cu aceleaşi surse iniţiale ca şi în experimentul precedent. Un număr variabil de boti ERRIE a fost stabilit pentru a rula în acelaşi timp: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, roboţii 15, 20, 25, 30, 35, 40, 45, 50 şi 100 ERRIE. Pentru acest experiment s-au înregistrat atât numărul de link-uri descărcate şi timpul necesar pentru a descărca toate paginile web folosind latime de banda standard de 100 kbps. Similar cu experimentul WIRE, sistemul ERRIE a fost configurat pentru a rula timp de 24 de cicluri complete. Rezultatele acestui experiment sunt prezentate in Fig. 23. Timpul necesar descarcarii paginilor din experimental anterior este prezentat in Fig. 24.

Page 26: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

26 DSPLabs Technical Report, DSPL-TR.2010.1

0

2.000

4.000

6.000

8.000

10.000

12.000

14.000

16.000

1 2 3 4 5 6 7 8 9 10 15 20 25 30 35 40 45 50 100

Number of Errie bots

Num

ber o

f dow

nloa

d pa

ges

Fig. 23: Numarul de pagini web descarcate prin modificarea numarului de boti ERRIE

0,000

50,000

100,000

150,000

200,000

250,000

300,000

350,000

400,000

1 2 3 4 5 6 7 8 9 10 15 20 25 30 35 40 45 50 100

Number of ERRIE bots

Tim

e (in

sec

onds

)

Fig. 24: Timpul necesar descarcarii paginilor prin modificarea numarului de boti ERRIE

Fig. 25 prezinta numarul de pagini descarcate de un singur crawler ERRIE modificand de data aceasta dimensiunea zonei tampon din baza de date. In Fig. 26 se prezinta timpul necesar descarcarii acestor pagini.

Page 27: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

DSPLabs Technical Report, DSPL-TR.2010.1 27

0

2.000

4.000

6.000

8.000

10.000

12.000

14.000

1 2 3 4 5 6 7 8 9 10 15 20 25 50 100

The value of X

Num

ber

of d

ownl

oade

d w

eb

page

s

Fig. 25: Numarul de pagini web descarcate de 1 bot ERRIE prin modificarea zonei tampon

0

5.000

10.000

15.000

20.000

25.000

1 2 3 4 5 6 7 8 9 10 15 20 25 50 100

Value of X

Tim

e to

dow

nloa

d th

e w

ebpa

ges

Fig. 26: Timpul necesar descarcarii paginilor de 1 bot ERRIE prin modificarea zonei tampon

4.3 Concluzii

Rezultatele experimentelor discutate în acest capitol demonstreaza că sistemul ERRIE este mai eficient atunci când se lucrează cu un număr relativ mic de boti ERRIE care descarca un număr relativ mic de link-uri din baza de date MySQL. Această situaţie este descrisă în gri închis în Fig. 27. Zonele gri închis arată nivelul de compromis în termeni de latime de banda de reţea necesara / disponibila cu privire la numărul de pagini web salvate şi numărul de link-uri extrase din baza de date: se pot parcurge 100 de site folosind 100 de crawlerele care parcurg 1 site fiecare, sau folosind un crawler web care citeste 100 de site-uri, sau, utilizând 10 crawlerele web care parcurg 10 site-uri fiecare. În termeni de eficienţă, ultima situaţie este cea mai eficienta.

Page 28: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

28 DSPLabs Technical Report, DSPL-TR.2010.1

1 4 7

10 13 16 19

S1

S8

S15

0

5.000

10.000

15.000

20.000

25.000

20.000-25.00015.000-20.00010.000-15.0005.000-10.0000-5.000

\

Fig. 27: Numarul de pagini web descarcate si timpul necesar pentru descarcarea acestora

Un crawler web eficient, cum ar fi ERRIE, funcţionează pe principii emergente si este mai eficient decat o reţea mult mai complexă boti WIRE. În aplicaţiile de recuperare a datelor, unde tehnicile multifir sunt comune, utilizarea de modele emergente extrase din comunicarea bazata pe feromoni a furnicilor se dovedeşte a fi o soluţie adecvata, care determina ca interacţiunile dintre entităţile simple să fie mai eficiente decat cele din sistemele distribuite normale.

Page 29: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

DSPLabs Technical Report, DSPL-TR.2010.1 29

5 Miscarea inspirata de bancurile de pesti aplicata la colectivele robotice

Mişcarea, şi, în special, evitarea obstacolelor, reprezinta o problemă complexă în domeniul de colectivele robotice [15] si [16]. Marile sisteme centralizate, care utilizează echipamente cu putere de calcul suficienta, sunt capabile să execute algoritmi complecsi de coordonare. Pe de altă parte, colectivele de robotizate au o serie de constrângeri referitoare la dimensiune, consumul de energie şi preţ [17] care le împiedică să utilizeze efficient aceste resurse puternice de calcul. Dimensiunile mici ale roboţilor ieftini care, de obicei, compun colectivele robotizate favorizează utilizarea modele de comportament inspirate din studiul lumii naturale [18]. Astfel de modele de comportament precum mişcarea generală şi manevre de evitare derivate din studiul bancurilor de peşti s-au dovedit a fi extrem de eficiente atunci când este vorba de mişcarea in colective robotice.

5.1 Modelul matematic al miscarii bazate pe bancurile de pesti

Scopul principal al modelului prezentat in continuare este de a simula comportamentul bancurilor de peşti şi de a-l aplică la colectivele robotizate. Se porneste de la urmatoarele presupuneri: 1. Mişcarea are loc într-un spaţiu cu două dimensiuni şi are două componente:

direcţia şi viteza; 2. Mişcarea este cuantificata în etape: înainte de fiecare pas direcţia şi viteza sunt

calculate şi nu se schimba pana la pasul următor; 3. Fiecare membru al grupului cunoaşte starea iniţială, formata dintr-o pereche de

coordonate într-un sistem cartezian absolut şi un unghi reprezentand o directive; 4. Fiecare membru al grupului urmează acelaşi set de reguli descries;prin urmare,

nu există lideri. Comportamentul bancurilor de peşti are două aspecte principale: grupare şi orientare paralela. Fiecare membru al grupului, atunci când se determină direcţia pentru următorul său pas, poate fi într-una dintre cele trei regimuri în funcţie de poziţia de cel mai apropiat vecin al sau, într-una din cele trei posibile zone: o zona de confort, o zonă optima şi o zonă de atracţie. Aceste zone sunt zone circulare în jurul fiecarui membru si sunt delimitate de RC, RO şi RA (Fig. 28).

Page 30: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

30 DSPLabs Technical Report, DSPL-TR.2010.1

Fig. 28: Zone de perceptive

Cele trei regimuri de functionare sunt:

1. Evitarea: cel mai apropiat vecin este în zona de confort astfel încât nu există pericolul de coliziune;

2. Orientare paralela: cel mai apropiat vecin este în zona optima. Entitatea este parte a unui grup şi va încerca să rămână în această stare;

3. Atracţie: cel mai apropiat vecin este în zona de atracţie, poate fi observat, dar este considerat departe astfel incat acesta nu face parte inca dintr-un grup

In functie de regimul in care se gaseste, entitatea isi calculeaza la fiecare pas directia pe baza formulei din ecuatia urmatoare

⎪⎪⎪⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪⎪⎪⎪

≤<−−

≤<

≤−−−

=∑

RAROyyxxpa

RORC

RCyyxxpa

micic

m

j ij

j ij

j

mimim

i

δ

δ

δ

δα

δ

α

),,(

,1

),,(*1

(1)

Page 31: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

DSPLabs Technical Report, DSPL-TR.2010.1 31

unde α i reprezinta directia de miscare a entitatii i, pa(x, y) este o functie care calculeaza unghiul polar corespunzator coordonatelor date ca parametru, (xi, yi) reprezinta coordonatele entitatii i, (xm, ym) reprezinta coordonatele centrului grupului aflat in raza optima RO, si (xc, yc) reprezinta coordonatele centrului grupului aflat in raza de atractie RA. Formula pentru unghiul polar este:

⎪⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪⎪

==

<=−

>=

<<−

≥<+

=

0,00

0,02

0,02

0,0,arctan

0,0,arctan

0,arctan

),(

yx

yx

yx

yxxy

yxxy

xxy

yxpa

π

ππ

π

(2)

iar (xc, yc) se calculeaza astfel:

n

xx

n

jj

c

∑== 1 ,

n

yy

n

jj

c

∑== 1 (3)

5.2 Validare experimentala

Experimentele au fost efectuate folosind roboti Lego Mindstorms NXT [19] si [20]. Fiecare robot este compus dintr-o unitate centrală de procesare, denumita caramida NXT, montata pe un sistem de acţionare diferential, Fig. 29. De asemenea, un system de senzori ultrasonici este folosit pentru detectarea de obstacole. Distanţa între roţile din unitatea diferentiala este DW = 10.75 cm, diametrul roţii este dm = 5.06 cm şi rezoluţia encodurului este 1, adică acesta va fi incrementat cu o unitate pentru fiecare grad cu care se întoarce roata.

Page 32: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

32 DSPLabs Technical Report, DSPL-TR.2010.1

Fig. 29: Robotul LEGO Mindstorm NXT

5.2.1 Experimentul 1: 3 roboti, fara obstacol

Fig. 30 si Fig. 31 prezinta gradul de coeziune, respectiv, polazarea colectivului robotizat in cazul folosirii a 3 roboti intr-un mediu fara obstacole.

Fig. 30: Coeziune: 3 roboti, fara obstacole

Page 33: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

DSPLabs Technical Report, DSPL-TR.2010.1 33

Fig. 31: Polarizare: 3 roboti, fara obstacole

Datorită unor poziţii initiale relativ apropiate, roboţii sunt grupati într-un banc de pesti după aproximativ 10s iar gradul de coeziune scade de la 80 cm, initial, mai jos de 60 cm. De asemenea, polarizarea se menţine aproape constantă. Valoarea de 100% după 10s, semnificand ca membrii se indreapta în aceeaşi directie.

5.2.2 Experimentul 2: 5 roboti, Fountain Effect

Fig. 32si Fig. 33 arată gradul de coeziune şi, respectiv, polarizare pentru 5 roboti care folosesc pentru a evita un obstacol tehnica Fountain Effect. Obstacol are un impact mic asupra gradului de coeziune (acesta creşte cu doar 10 cm) deoarece această tehnică împarte grupul în două grupuri compacte mai mici. Directia celor două grupuri are un impact mult mai mare asupra polarizari, care variază între 50% şi 250% în timpul evitarii obstacolului.

Page 34: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

34 DSPLabs Technical Report, DSPL-TR.2010.1

Fig. 32: Coeziune: 5 roboti, Fountain effect

Fig. 33: Polarizare: 5 roboti, Fountain effect

Limitarea numărului de roboţi la 5 (un colectiv robotizat format din 6 roboţi are o performanţă mai mica) se explică prin faptul că, din cauza coeziunii sistemului, atunci când este vorba de un obstacol, circulaţia entitatilor este mai neregulat, există mai multi roboti care trebuie să fie luate în considerare, şi numărul de posibile interacţiuni / influenţe creşte drastic.

Page 35: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

DSPLabs Technical Report, DSPL-TR.2010.1 35

Referinte bibliografice

[1] K. Sohraby, D.Minoli,T.Znati. Wireless Sensor Networks. Technology, Protocols, and Applications.Wiley-Interscience, Hoboken, New Jersey,2007

[2] M. Ilyas, I. Mahgoub. Handbook of Sensor Networks:Compact Wireless and Wired Sensing Systems.CRC Press, 2005.

[3] Product Manual v1.x.4x - ZigBee Protocol XBee™ Series 2 OEM RF Module. [4] Ian Berry, Tony Roman, Larry Adams, J.P. Pasnak, Jimmy Conner,Reinhard

Scheck,Andreas Braun., The CACTI Manual, 2010, The Cacti Group, http://www.cacti.net/downloads/docs/html/

[5] * * *, "The Cricket Indoor Location System", M. I. T. Computer Science and Artificial Intelligence Laboratory, USA. [Online]. Available: http://cricket.csail.mit.edu/.

[6] J. Hightower, G. Borriell, "Location Systems for Ubiquitous Computing", IEEE Computer, vol. 34, no. 8, Aug. 2001, pp. (57−66).

[7] N. B. Priyantha, "The Cricket Indoor Location System", Massachusetts Institute Of Technology, June 2005.

[8] Răzvan D. Cioarga, Mihai V. Micea, Bogdan Ciubotaru, Dan Chiuciudean, Daniela Stănescu, "CORE-TX: Collective Robotic Environment - the Timisoara Experiment", in Proceedings of the 5-rd Romanian-Hungarian Joint Symposium on Applied Computational Inteligence, SACI'2006, Timisoara, Romania, May 2006, pp. (495-506).

[9] C. Ronald Kube, Eric Bonabeau, „Cooperative transport by ants and robots”, Robotics and Autonomous System, 2000.

[10] S. Brin, L. Page, “The anatomy of a large-scale hypertextual Web search engine”, Proceedings of the seventh international conference on World Wide Web, Pages: 107 – 117, 1998.

[11] V. Shkapenyuk, T. Suel, “Design and Implementation of a High-Performance Distributed Web Crawler”, Proceedings of the 18th International Conference on Data Engineering, Page 357, 2002.

[12] J. Edwards, K. McCurley, and J. Tomlin, “An adaptive model of optimizing performance of an incremental Web crawler”, The Tenth International World Wide Web Conference, pages 106–113, May 2001.

[13] C. Castillo, R. Baeza-Yates, “WIRE: an Open Source Web Information Retrieval Environment”, Workshop on Open Source Web Information Retrieval, 2005.

Page 36: DSPLabs Technical Reportdsplabs.cs.upt.ro/grants/melissevs/pdfs/DSPL-TR.2010.1.pdf3. Realizarea de grafice pentru monitorizarea temperaturii preluate de la senzori; 4. Realizarea de

Digital Signal Processing Laboratories in Timisoara

Department of Computer and Software Engineering POLITEHNICA University of Timisoara 2, Vasile Parvan Blvd., 300223 – Timisoara, Romania Tel: + 40 256 403271, Fax: + 40 256 403214 Http://dsplabs.cs.upt.ro/

36 DSPLabs Technical Report, DSPL-TR.2010.1

[14] R. J. Anthony, “Natural Inspiration for Self-Adaptive Systems”; Database and Expert Systems Applications, Proceedings. 15th International Workshop, Page(s):732 – 736, August 2004.

[15] I.A.R. Ashokaraj, P.M.G. Silson, A. Tsourdos, and B.A. White, “Robust sensor-based navigation for mobile robots,” Instrumentation and Measurement, IEEE Transactions on, vol. 58, no. 3, pp. 551 –556, March 2009.

[16] Jason Wu, W.K. Chan, and G. Thomas, “Rapid and accurate interrobot position determination in robot teams,” Instrumentation and Measurement, IEEE Transactions on, vol. 50, no. 1, pp. 163 –168, feb 2001.

[17] Kao-Shing Hwang, Chia-Yue Lo, and Wen-Long Liu, “A modular agent architecture for an autonomous robot,” Instrumentation and Measurement, IEEE Transactions on, vol. 58, no. 8, pp. 2797 –2806, aug. 2009.

[18] Julia K. Parrish, Steven V. Viscido, and Daniel Grnbaum, “Selforganized fish schools: An examination of emergent properties,” Biological Bulletin, vol. 202, no. 3, pp. 296–305, 2002.

[19] T. Friez and D. Swan, ROBOTC for LEGO MINDSTORMS 1.30 - Users Manual, 2008.

[20] LEGO Group, LEGO MINDSTORMS NXT Hardware Developer Kit,2006.