+ All Categories
Home > Documents > Sistem inteligent de cooperare a roboților.pdf

Sistem inteligent de cooperare a roboților.pdf

Date post: 09-Jul-2016
Category:
Upload: -
View: 235 times
Download: 1 times
Share this document with a friend
60
Investeşte în oameni! FONDUL SOCIAL EUROPEAN Programul Operaţional Sectorial Dezvoltarea Resurselor Umane 2007 – 2013 Axa prioritară 1 „Educaţie şi formare profesională în sprijinul creşterii economice şi dezvoltării societăţii bazate pe cunoaştere” Domeniul major de intervenţie 1.5. „Programe doctorale şi post-doctorale în sprijinul cercetării” Titlul proiectului: „Burse doctorale pentru dezvoltare durabila” BD-DD Numărul de identificare al contractului: POSDRU/107/1.5/S/76945 Beneficiar: Universitatea Transilvania din Braşov Universitatea Transilvania din Brasov Scoala Doctorala Interdisciplinara Departament: Autovehicule și transporturi Ing. Alina Ninett I. PANFIR Sistem inteligent de cooperare a roboților mobili pășitori în medii industriale Intelligent mobile robots walkers cooperation system in industrial environments Conducător ştiinţific Prof. univ. dr. ing. Gheorghe-Leonte MOGAN BRAȘOV, 2013
Transcript
Page 1: Sistem inteligent de cooperare a roboților.pdf

Investeşte în oameni!

FONDUL SOCIAL EUROPEAN

Programul Operaţional Sectorial Dezvoltarea Resurselor Umane 2007 – 2013

Axa prioritară 1 „Educaţie şi formare profesională în sprijinul creşterii economice şi dezvoltării societăţii bazate pe cunoaştere”

Domeniul major de intervenţie 1.5. „Programe doctorale şi post-doctorale în sprijinul cercetării”

Titlul proiectului: „Burse doctorale pentru dezvoltare durabila” BD-DD

Numărul de identificare al contractului: POSDRU/107/1.5/S/76945

Beneficiar: Universitatea Transilvania din Braşov

Universitatea Transilvania din Brasov

Scoala Doctorala Interdisciplinara

Departament: Autovehicule și transporturi

Ing. Alina Ninett I. PANFIR

Sistem inteligent de cooperare a roboților

mobili pășitori în medii industriale

Intelligent mobile robots walkers

cooperation system in industrial

environments

Conducător ştiinţific

Prof. univ. dr. ing. Gheorghe-Leonte MOGAN

BRAȘOV, 2013

Page 2: Sistem inteligent de cooperare a roboților.pdf

2

MINISTERUL EDUCAŢIEI NAŢIONALE

UNIVERSITATEA “TRANSILVANIA” DIN BRAŞOV

BRAŞOV, B-DUL EROILOR NR. 29, 500036, TEL. 0040-268-413000, FAX 0040-268-410525

RECTORAT

D-lui (D-nei) ..............................................................................................................

COMPONENŢA

Comisiei de doctorat

Numită prin ordinul Rectorului Universităţii „Transilvania” din Braşov

Nr. 6224 din 11.11.2013

PREŞEDINTE: - Prof. univ dr. ing. Anghel CHIRU

Universitatea Transilvania din Braşov

CONDUCĂTOR ŞTIINŢIFIC: - Prof. univ. dr. ing. Gheorghe-Leonte MOGAN

Universitatea Transilvania din Brasov

REFERENŢI: - Prof. univ. dr. ing. Adrian PÎSLĂ

Universitatea Tehnică din Cluj Napoca

- Conf. dr. mat. Mircea POPOVICI

Universitatea Ovidius din Constanța

- Prof. univ. dr. ing. Doru TALABĂ

Universitatea Transilvania din Braşov

Data, ora şi locul susţinerii publice a tezei de doctorat: vineri, 24.01.2014, ora 13.30,

sala UII3.

Eventualele aprecieri sau observaţii asupra conţinutului lucrării vă rugăm să le transmiteţi

în timp util, pe adresa [email protected].

Totodată vă invităm să luaţi parte la şedinţa publică de susţinere a tezei de doctorat.

Vă mulţumim!

Page 3: Sistem inteligent de cooperare a roboților.pdf

3

Cuvânt înainte

Statisticile din ultimii ani privind numărul de roboți utilizați, atât în mediile industriale

cât și în cele neindustriale, arată sugestiv creșteri majore, ducând la concluzia că roboții au ajuns

sisteme indispensabile funcţionării societăţilor de producție și servicii actuale. Întâlniţi atât în

procesele de producţie cât şi în alte arii de interes precum transporturi, divertisment, medicină

comunicaţii, sau agricultură, roboţii contribuie la îmbunătățirea performanţelor de intervenție,

dar și de raționare în vederea luării deciziilor.

Roboţii actuali sunt învățați cum să lucreze, să se autodepășească și să relaționeze pentru

a forma adevarate comunități. Dorința ca aceștia să copieze și să reproducă în proporție cât mai

mare comportamentul uman este redată în numarul mare de lucrări și experimente dezvoltate în

ultima perioadă de timp. Ca răspuns la nevoia efectuării mai rapide şi mai exacte a unor operaţii

complexe și la eliminarea pericolelor întâlnite în procesele de producţie actuale s-au dezvoltat

echipe de roboți care cooperează pentru îndeplinirea sarcinilor de lucru.

Pentru a soluţiona problemele menţionate mai sus, se propune implementarea în practică

a atributului specific uman de „cooperare”. Spre deosebire de sistemele de roboți mobili care au

fost programați să execute sarcini independent unul de celălalt, dar care în cele din urmă a dus la

îndeplinirea unorr operații simple, roboții capabili de a executa sarcini prin cooperare nu mai

sunt limitați la execuția doar de sarcini simple, ci pot participa la activități complexe, care

necesită flexibilitate mărită şi adaptare. Continuând pe ideea de cooperare în echipă, cele mai

folosite metode de cooperare aplicate în domeniul roboticii presupun comunicarea directă, prin

voce sau prin semnale în infraroșu sau wireless. Aceste tehnici sunt aplicate în această lucrare şi

sunt folosite pentru a rezolva problema de manipulare a obiectelor care nu pot fi manipulate de

către un singur robot, situații des întâlnite în procesele tehnologice.

Din punct de vedere al interacţiunii om-echipă de roboți în lucrare se evidențiază relațiile

care apar între operatorii umani și echipa de roboți, în timpul colaborării lor directe. În cazul în

care un operator uman doreşte să lucreze cu o echipă de roboți mobili, dezvoltarea unei

interacţiuni cât mai naturale, ușoare şi mai satisfăcătoare pentru operator este o necesitate,

îmbunătăţirea acesteia duce la creşterea productivităţii muncii, mai ales în execuţia unor operaţii

complexe directe în timp real. În domeniul roboticii au fost efectuate cercetări intense în ceea ce

privește folosirea de interfeţe alternative de interacţiune a operatorului cu robotul/ echipa de

roboți. În acestă lucrare sunt concepute diferite interfețe de control a echipei de roboți, ca tehnici

de interacţiune om-echipă adecvate sistemului de cooperare dezvoltat.

Sistemul dezvoltat în cadrul acestei lucrări permite realizarea unei comunicaţii simple şi

necostisitoare care să permită cooperarea a doi roboţi pășitori (cu posibilitatea de extindere către

o echipă formată din mai mulți roboți) în vederea îndeplinirii unor sarcini complexe. Timpul de

răspuns rapid al sistemului şi modul de interacţiune a roboților echipei permit dezvoltarea cu

succes de aplicaţii pentru monitorizarea, manipularea, deplasarea de obiecte sau chiar asamblarea

unor componente în mediul industrial.

Doresc să mulţumesc conducătorului ştiinţific, profesorul universitar Gheorghe-Leonte

Mogan, pentru sprijinul acordat continuu pe tot parcursul stagiului doctoral. Sunt, de asemenea,

profund îndatorată colegilor de cercetare Informatică Virtuală și Robotică, pentru suportul

acordat în ultimii 3 ani. Nu în ultimul rând, mulţumesc familiei mele pentru siguranţa şi

înţelegerea oferite până în acest moment al vieţii, precum şi celorlalte persoane dragi din viaţa

mea.

Ianuarie, 2014

Drd. ing. Alina Ninett PANFIR

Page 4: Sistem inteligent de cooperare a roboților.pdf

4

CUPRINS (lb. română) Pagină

teza

Pagină

rezumat

1. INTRODUCERE

17

13

1.1 Aspecte generale 17 13

1.2 Necesitatea şi justificarea temei 17 13

1.3 Obiectivele cercetării 18 13

1.4 Metodologia şi etapele cercetării 18 14

1.5 Structura şi conţinutul tezei de doctorat 20 15

2. COOPERAREA ŞI COMUNICAREA ROBOŢILOR MOBILI. STADIUL

ACTUAL

24

16

2.1 Introducere 24 16

2.2 Aspecte generale privind cooperarea în cadrul echipelor de roboți mobili 24 16

2.2.1 Comunicarea, cooperarea și interacțiunea în echipele de roboți mobili 26 16

2.2.1.1 Cooperarea roboților mobili 26 16

2.2.1.2 Comunicarea roboților mobili 27 -

2.2.1.2.1 Comunicarea neexplicită fără senzori 27 -

2.2.1.2.2 Comunicarea neexplicită prin senzori 28 -

2.2.1.2.3 Comunicarea explicită 28 -

2.2.1.3 Interacțiunile roboților mobili 28 17

2.2.1.3.1 Interacțiunile robot-mediu 28 17

2.2.1.3.2 Interacțiunile om-robot 30 -

2.2.1.3.3 Interacțiunile robot-robot 31 17

2.3 Aspecte privind integrarea sistemelor de cooperare cu roboții în medii

industriale

33

18

2.3.1 Funcțiile și integrarea sistemelor de cooperare cu roboții în mediile

industriale

34

18

2.3.2 Sisteme de cooperare cu roboți 36 19

2.3.3 Clasificarea sistemelor multi-robot 36 19

2.3.4 Arhitecturi reprezentative de sisteme de cooperare cu roboți 37 -

2.3.4.1 Tipuri de arhitecturi 37 -

2.3.4.2 Tipuri de echipe de roboți 38 -

2.3.4.3 Sisteme de cooperare cu roboți reprezentative 39 -

2.3.4.4 Modelarea roboţilor din cadrul echipelor 40 -

Page 5: Sistem inteligent de cooperare a roboților.pdf

5

2.3.4.5 Conflictele de resurse din cadrul unei echipe de roboţi 41 -

2.3.4.6 Capacitatea de învăţare a roboţilor 41 -

2.4 Structura și programarea RP 42 20

2.4.1 Structura RP 43 20

2.4.2 Mediile de programare a RP 46 21

2.5 Concluzii 48 22

3. MODELAREA ȘI ÎNVĂȚAREA SECVENȚELOR DE MANIPULARE

ȘI DEPLASARE A OBIECETLOR CU ROBOȚI PĂȘITORI

49

23

3.1 Aspecte generale. 49 23

3.2 Modelarea mediilor de lucru și a sarcinilor de manipulare 50 23

3.2.1 Descrierea mediilor de lucru 50 23

3.2.2 Descrierea operațiilor de manipulare 51 24

3.3 Manipularea obiectelor de către RP 52 25

3.3.1 Localizarea obiectelor de manipulat 52 25

3.3.2 Determinarea distanței robot-obiect 55 26

3.4 Deplasarea robotului până la obiect 57 27

3.5 Manipularea locală a obiectelor cu RP 59 27

3.5.1 Capabilitățile de mișcare ale RP de tip Nao 59 27

3.5.2 Definirea secvențelor elementare de manipulare 59 28

3.5.2.1 Învățarea secvențelor elementare de manipulare locală 59 28

3.5.2.2 Învățarea secvențelor elementare de manipulare în mișcare 62 29

3.5.3 Testarea și simularea algoritmilor de manipulare și deplasare a

obiectelor

66

30

3.6 Concluzii 67 30

4. PLANIFICAREA OPERAȚIILOR ȘI SARCINILOR DE MANIPULARE ȘI

DEPLASARE

69 31

4.1 Aspecte generale 69 31

4.2 Operații, sarcini și faze 70 31

4.2.1 Tipuri de operații, sarcini și faze 70 31

4.2.2 Operații, sarcini și faze de manipulare cu RP 73 -

4.3 Descrierea operațiilor, sarcinilor și fazelor 75 32

4.4 Algoritmul de planificare a operațiilor și sarcinilor 77 34

4.5 Testarea și simularea algoritmului de planificare 79 -

4.6 Concluzii 80 35

Page 6: Sistem inteligent de cooperare a roboților.pdf

6

5. SISTEM INTELIGENT DE COOPERARE A ROBOȚILOR PĂȘITORI 81 36

5.1 Aspecte generale 81 36

5.2 Sisteme inteligente de acțiune în medii industriale 81 36

5.3 Structura funcțională a sistemului de cooperare a RP, NaoCoop 84 36

5.3.1 Structura și funcționarea proceselor offline 86 -

5.3.2 Structura și funcționarea proceselor online 86 38

5.3.2.1 Interfețele grafice ale sistemului 86 38

5.3.2.1.1 Interfața grafică utilizator 87 38

5.3.2.1.2 Interfața grafică de editare a bazei de date 87 39

5.3.2.2 Sistemul de comandă și control al echipei de RP 88 -

5.3.2.2.1 Baza de date 88 40

5.3.2.2.2 Modulul pentru definirea entităților 90 -

5.3.2.2.3 Modulul pentru accesul la baza de date 90 -

5.3.2.2.4 Modulul de comunicare cu robotul Nao 91 -

5.3.2.2.5 Clasa principală a RP 92 40

5.3.2.3 Controlerele RP 93 41

5.3.2.4 Blocul de comunicare și sincronizare 94 42

5.3.2.4.1 Modulul de comunicare cu robotul Nao 94 -

5.3.2.4.2 Comunicarea RP prin transmiterea de mesaje client-server 94 42

5.3.2.4.3 Comunicarea vocală a RP 96 42

5.4 Execuția operațiilor și testări în mediul de lucru virtual 98 44

5.5 Concluzii 101 44

6. TESTE ȘI EXPERIMENTE CU SISTEMUL NaoCoop 102 45

6.1 Aspecte generale 102 45

6.2 Dezvoltarea mediului de lucru 103 45

6.3 Definirea operațiilor pentru experimente 104 46

6.4 Elaborarea programului de experimente 105 47

6.5 Realizarea experimentelor de cooperare pentru manipulare 106 47

6.6 Procesarea rezultatelor experimentelor de cooperare 107 48

6.7 Comentarii asupra rezultatelor experimentelor 109 -

6.8 Concluzii 111 50

7. CONCLUZII, CONTRIBUŢII PROPRII, DISEMINAREA

REZULTATELOR ŞI DIRECŢII DE CERCETARE VIITOARE

112

51

7.1 Concluzii finale 112 51

Page 7: Sistem inteligent de cooperare a roboților.pdf

7

7.2 Contribuţii proprii 114 52

7.3 Valorificarea rezultatelor cercetării 114 53

7.3.1 Lucrări publicate 114 53

7.3.2 Participări la conferinţe 114 53

7.3.3 Participări la contracte de cercetare şi dezvoltare 115 54

7.3.4 Stagiu extern 115 54

7.4 Direcţii de cercetare viitoare 116 54

8. BIBLIOGRAFIE 117 55

ANEXE 134 -

Anexa 1. Subprogramul pentru accesarea înregistărilor din baza de date inregistrarilor din baza de date 134 -

Anexa 2. Subprogramul pentru gasirea unui NaoMark 139 -

Anexa 3. Subprogramul pentru deplasarea robotului către NaoMark 149 -

Anexa 4. Subprogramul modulului de comunicare și sincronizarea a RP 155 -

Anexa 5. Subprogramul pentru manipularea obiectelor 158 -

Anexa 6. Subprogramul pentru execuția operațiilor 166 -

REZUMAT

169 58

CV (lb. romană) 170 59

CV (lb. engleză) 171 60

Notă: În rezumat s-au păstrat notaţiile figurilor, relaţiilor şi tabelelor din teza de doctorat.

Page 8: Sistem inteligent de cooperare a roboților.pdf

8

TABLE OF CONTENTS

Page

thesis

Page

rez

1. INTRODUCTION

17

13

1.1 General aspects 17 13

1.2 Necesity and justification of subject 17 13

1.3 Research objectives 18 13

1.4 Methodology and research phases 18 14

1.5 Thesis contents and structure 20 15

2. COOPERATION AND COMMUNICATION OF MOBILE ROBOTS.

ACTUAL STAGE

24

16

2.1 Introduction 24 16

2.2 General aspects of cooperation within teams of mobile robots 24 16

2.2.1 Communication, cooperation and interaction within teams of mobile robots 26 16

2.2.1.1 Mobile robots cooperation 26 16

2.2.1.2 Mobile robots Communication 27 -

2.2.1.2.1 Communication without sensors 27 -

2.2.1.2.2 Communication using sensors 28 -

2.2.1.2.3 Explicit communication 28 -

2.2.1.3 Mobile robots interactions 28 17

2.2.1.3.1 Robot-environment interactions 28 17

2.2.1.3.2 Human-robot interactions 30 -

2.2.1.3.3 Robot-robot interactions 31 17

2.3 Aspects of cooperation systems integration in industrial environments 33 18

2.3.1 Functions and integrations of cooperation systems in industrial

environments

34

18

2.3.2 Cooperation systems with robots 36 19

2.3.3 Multi-robot systems clasification 36 19

2.3.4 Representative architectures of robots cooperation systems 37 -

2.3.4.1 Architecture types 37 -

2.3.4.2 Robot team types 38 -

2.3.4.3 Representative cooperation systems 39 -

2.3.4.4 Robots modelation within teams 40 -

2.3.4.5 Resources conflicts within robot teams 41 -

Page 9: Sistem inteligent de cooperare a roboților.pdf

9

2.3.4.6 Robots learning capability 41 -

2.4 Mobile walking robots programming and structure 42 20

2.4.1 Walking robots structure 43 20

2.4.2 Mobile robots development environments 46 21

2.5 Conclusions 48 22

3. OBJECTS MANIPULATION SEQUENCES DESIGN AND LEARNING

WITH WALKING ROBOTS

49

23

3.1 General aspects. 49 23

3.2 Working environments and manipulation sequences design 50 23

3.2.1 Working environments description 50 23

3.2.2 Manipulation operations description 51 24

3.3 Object handling by mobile waling robots 52 25

3.3.1 Objects localization 52 25

3.3.2 Robot-object length calculation 55 26

3.4 Robot movement toward the object 57 27

3.5 Local objects handlign with walking robots 59 27

3.5.1 Nao robots movement capabilities 59 27

3.5.2 Definition of primary manipulation sequences 59 28

3.5.2.1 Learning the primary local manipulation sequences 59 28

3.5.2.2 Learning the primary movements manipulation sequences 62 29

3.5.3 Testing și simulation of manipulation and moving algorithms 66 30

3.6 Conclusions 67 30

4. HANDLING AND MOVING OPERATIONS AND TASKS PLANNING 69 31

4.1 General aspects 69 31

4.2 Operations, tasks and phases a 70 31

4.2.1 Types of operations, tasks and phases 70 31

4.2.2 Operations, tasks and phases of manipulation with RP 73 -

4.3 Operations, tasks and phases description 75 32

4.4 Operations, tasks and phases planning algorithm 77 34

4.5 Testing and simulating the planning algorithm 79 -

4.6 Conclusions 80 35

5. WALKING ROBOTS COOPERATION INTELLIGENT SYSTEM 81 36

5.1 General aspects 81 36

5.2 Action intelligent systems in industrial environments 81 36

Page 10: Sistem inteligent de cooperare a roboților.pdf

10

5.3 Functional structure of cooperation system of waling robots, NaoCoop 84 36

5.3.1 Offline processes structure and functionality 86 36

5.3.2 Online processes structure and functionality 86 -

5.3.2.1 System user interfaces 86 38

5.3.2.1.1 General user interface 87 38

5.3.2.1.2 Administrator user interface 87 38

5.3.2.2 Command and control system of walking robots teams 88 39

5.3.2.2.1 Database 88 -

5.3.2.2.2 Entities definition module 90 40

5.3.2.2.3 Database access module 90 -

5.3.2.2.4 Nao communication module 91 -

5.3.2.2.5 Main robot class 92 -

5.3.2.3 Walking robots controllers 93 40

5.3.2.4 Communications and synchronization block 94 41

5.3.2.4.1 Nao robot communication module 94 42

5.3.2.4.2 Nao robots communication using client-server messages 94 -

5.3.2.4.3 Walking robots vocal communication 96 42

5.4 Operations execution and testing in virtual environment 98 42

5.5 Conclusions 101 44

6. TESTS AND EXPERIMENTS USING NaoCoop 102 45

6.1 General aspects 102 45

6.2 Working environment development 103 45

6.3 Defining the operations for experiments 104 45

6.4 Designing the experiments program 105 46

6.5 Developing the cooperation experiments for manipulation 106 47

6.6 Processing the results of cooperation experiments 107 48

6.7 Comments on experiments results 109 -

6.8 Conclusions 111 50

7. CONCLUSIONS AND ORIGINAL CONTRIBUTION AND FUTURE

RESEARCH DIRECTIONS

112

51

7.1 Final conclusions 112 51

7.2 Original contribution 114 52

7.3 Research results 114 53

7.3.1 Publisched papers 114 53

Page 11: Sistem inteligent de cooperare a roboților.pdf

11

7.3.2 Conference participations 114 53

7.3.3 Participation in research and development contracts 115 54

7.3.4 Abroad stage 115 54

7.4 Future work 116 54

REFERENCES 117 55

APPENDIX 134 -

Anexa 1. Subprogram for accessing records from th database inregistrarilor din baza de date 134 -

Anexa 2. Subprogram for finding the NaoMark 139 -

Anexa 3. Subprogram for walking towards the NaoMark 149 -

Anexa 4. Subprogram for communication and synchronization of Nao robot 155 -

Anexa 5. Subprogram for objects handlign 158 -

Anexa 6. Subprogram for operations execution 166 -

ABSTRACT

169 58

Resume (in Romanian) 170 59

Resume (in English) 171 60

Page 12: Sistem inteligent de cooperare a roboților.pdf

12

1. INTRODUCERE

1.1 ASPECTE GENERALE

Odată cu apariţia şi evoluţia roboţilor, aplicaţiile din lumea reală care pot fi soluţionate

prin sisteme robotizate au devenit din ce în ce mai complexe şi provocatoare. Multe dintre aceste

aplicaţii au loc în medii dinamice care necesită capacităţi distribuite de funcţionare, de spaţiu

și/sau de timp. În astfel de aplicaţii sunt utilizați roboţi care să execute lucrările care sunt

periculoase pentru oameni, plictisitoare, grele sau dificile. Cei mai mulţi roboţi foloșiți pentru

aceste tipuri de sarcini se regăsesc în diverse domenii, precum cel auto, medical, industrial,

social etc., existând astăzi un număr de peste un milion de roboţi care lucrează în aplicații

practice.

Multe cercetări din ultimii ani care au tratat aplicaţii robotice au abordat problemele

legate de echipele de roboţi autonomi şi cooperarea multi-roboți; însă se poate spune că

tehnologiile actuale în robotică sunt încă departe de a atinge cerințele impuse de aplicațiile

complexe (manipulare, transport sau monitorizare) întâlnite în mediile industriale. Complexitatea

proiectării unei cooperării sigure și precise în cadrul unei echipe de roboţi mobili este principalul

motiv datorită din cauza căruia astfel de aplicaţii încă sunt în plină dezvoltare, nefiind încă

rezolvate în totalitate.

1.2 NECESITATEA ŞI JUSTIFICAREA TEMEI

Necesitatea tematicii tezei de doctorat vine din nevoia de creştere a productivităţii şi de

uşurare a muncii omului prin introducerea unor sisteme robotice mobile flexibile cooperative,

capabile să comunice şi să se sincronizeze pentru realizarea de operaţii complexe într-un mod cat

mai natural şi asemănător comportamentului uman. Abordarea acestei teme a fost determinată şi

de necesitatea controlului echipelor de roboţi pășitori (RP) universali care să execute activităţile

în mediile industriale la un nivel evoluat, care să nu necesite intervenţia operatorului uman în

luarea deciziilor sau gestionarea sarcinilor de îndeplinit. În prezent, abordarea şi utilizarea

echipelor de roboţi pentru realizarea de activităţi în medii industriale întâmpină o serie de limitări

şi de probleme încă nesoluţionate total precum: comunicarea între agenţii echipei, percepţia

mediului de lucru, interacţiunea robot-robot, planificarea bazată pe sarcini, interacţiunea

utilizator-echipă.

Pentru eliminarea dezavantajelor specificate s-a considerat oportună realizarea de

cercetări privind conceperea unor sisteme robotice în echipă, cu precădere bazate pe cooperare,

care au la bază comunicări evoluate ale membrilor echipei şi a operatorului cu echipa, precum şi

un nivel ridicat de flexibilitate şi eficienţă în execuţia operaţiilor complexe impuse. Această

abordare presupune dezvoltarea de noi algoritmi de cooperare şi decizie, care, prin implementare

conferă sistemului dezvoltat valenţe de sistem inteligent.

Ca urmare a justificărilor prezentate, dezvoltarea de cercetări privind cooperarea roboţilor

mobili presupune concepţia, dezvoltarea, implementarea şi testarea de algoritmi dedicaţi, precum

şi studii de simulare și testare privind integrarea în practică bazat pe posibilităţi de comunicare

diverse.

1.3 OBIECTIVELE CERCETĂRII

Obiectivul principal al tezei de doctorat este studiul, concepţia, dezvoltarea,

implementarea şi testarea unui sistem inteligent de cooperare pentru echipele de RP care execută

activităţi complexe în medii industriale.

Page 13: Sistem inteligent de cooperare a roboților.pdf

13

Obiectivele specifice:

analiza bibliografică exhaustivă asupra cercetărilor teoretice şi experimentale în domeniul

echipelor de roboţi mobili pășitori integrabili în medii industriale precum şi a tehnicilor de

cooperare, comunicare și interacțiune;

concepţia şi dezvoltarea unei baze de secvențe în care se regăseasc toate secvențele

elementare ale roboţilor pășitori învăţate anterior;

concepţia şi dezvoltarea unei baze de cunoștiințe în care se regăseasc toate regulile de

producție necesare modulului de planificare;

concepţia, dezvoltarea şi implementarea unui sistem inteligent pentru identificarea operaţiei

din bază corespunzătoare cerinţelor operatorului uman şi alocarea roboţilor necesari execuţiei

operaţiilor;

concepţia şi dezvoltarea unui sistem de comunicare care are bază pe o comunicare vocală a

roboţilor mobili în medii industriale;

concepţia, dezvoltarea, implementarea şi testarea unui subsistem de sincronizare a roboților

pășitori, subsistem necesar în procesul de cooperare;

implementarea unui sistem inteligent de cooperare ;

testarea prin experimente, atât în medii virtuale cât și în realitate, a sistemului inteligent

dezvoltat;

integrarea de noi interfeţe om-echipă roboţi ca mijloace de comunicare, control şi

interacţiune a operatorilor umani cu echipa, în timpul proceselor executate în mediul de

lucru.

1.4 METODOLOGIA ŞI ETAPELE CERCETĂRII

Pornind de la obiectivele impuse prezentate mai sus şi de la analiza bibiliografică asupra

realizărilor teoretice şi experimentale din domeniul roboticii mobile (v. cap. 2), s-a conceput,

dezvoltat și implementat un sistem inteligent integrat (fig. 1.1) în care s-au definit încă de

început, locul şi rolul cercetărilor realizate, dar şi modul de implementare a rezultatelor acestora

în practică. Astfel, în fig. 1.1 se evidenţiază blocurile principale componente ale sistemului

NaoCoop dezvoltat: Învăţarea secvențelor elementare (v. cap. 3) şi Planificarea inteligentă(v.

cap. 4), ca rezultate principale ale cercetărilor teoretice de modelare și învățare a roboților

pășitori de secvențe elementare de manipulare; algoritmizarea şi implementarea planificării

secvențelor în cadrul unei echipe de roboţi pășitori dotate cu diferite capacităţi care operează în

medii industriale.

Pentru concepția, dezvoltarea și implementarea unui sistem hard-software nou se

realizează cercetări amanunţite privind implementarea pe platforme software şi hardware

existente (v. cap.5). În vederea validării rezultatele cercetărilor teoretice a sistemului conceput,

au fost implementate teste pentru o echipă de roboţi formată din doi roboți Nao (v. cap.6).

Datorită faptului că noul sistem necesita şi noi căi de comunicare/control, s-au dezvoltat şi

prezentat diferite mijloace şi dispozitive alternative de interacţiune a roboţilor din echipă şi a

operatorului cu roboţii.

Cercetările realizate în cadrul acestei lucrări au fost direcţionate spre creşterea nivelului

de inteligenţă la nivel de echipă de roboţi pășitori, dotaţi cu diferite caracteristici, folosiţi pentru

diverse operaţii ce au loc în medii industriale şi care nu pot fi realizate şi executate de către un

singur robot. Astfel, se impune ca sistemele de conducere ale acestor echipe de roboţi să fie

îmbunătăţite cu un nivel superior de conducere şi programare, ceea ce a presupus dezvoltarea

unei interfaţe evoluate în care cerinţele utilizatorului împreună cu informaţiile stocate într-o bază

de cunoștiințe ajută la procesele de raţionare realizate de sistemul de inferență dedicat. Sistemul

de cooperare dezvoltat în cadrul acestei lucrări funcţionează după 3 trasee distincte:

Învăţarea secvențelor elementare de către roboţii echipei, presupune reproducerea prin

demonstrație a diferitelor secvențe de manipulare identificate în mediile industriale (rezultate în

Page 14: Sistem inteligent de cooperare a roboților.pdf

14

urma cercetărilor), simularea şi testarea acestora în medii virtuale, evaluarea/validarea şi stocarea

rezultatelor în baza de secvențe.

Planificarea operaţiilor şi a sarcinilor constă în, alocarea prin raționare a secvențelor

elementare în cadrul echipei de roboţi pe baza regulilor de producție din baza de cunoștiințe. Ca

date de intrare ale acestui traseu sunt cerinţele utilizatorului pentru a putea indentifica din

cunoștiințe existente, fluxul secvențelor elementare pe care trebuie să le execute cei doi roboți

sincronizați.

Sistemul de comandă și control al echipei de RP reprezintă partea centrală a sistemului

dezvoltat care coordonează toate acțiunile roboților conform planului operației curente; în plus,

în cadrul acestui subsistem sunt gestionate codurile de eroare și mesajele. În cadrul acestui

sistem a fost dezvoltat și modulul de sicronizare al roboților pășitori, bazat pe un limbaj de

comunicare vocal, pentru a dezvolta o comunicare cât mai naturală, asemănătoare

comportamentului uman.

1.5 STRUCTURA ŞI CONŢINUTUL TEZEI DE DOCTORAT

În capitolul 1, Introducere, sunt descrise aspecte generale legate de studiul propus în

această teză de doctorat. Prima parte a capitolului descrie şi justifica temata propusă, pornindu-se

de la dorinţa de facilitare şi eficientizare a integrării echipelor de roboţi pășitori în mediile de

lucru industriale, prin construirea acestora ca sisteme inteligente, bazate pe cooperare, care

presupune totodată o comunicare şi o sincroinizare a roboţilor, ce conduc la plusuri de

flexibilitate şi adaptabilitate.

ECHIPA DE ROBOȚI

MEDIUL DE LUCRU

ÎNVĂȚAREA

SECVENȚELOR

PLANIFICAREA

FAZELOR, SARCINILOR

ȘI OPERAȚIILOR

SIMULARE ȘI TESTARE

ÎN MEDII VIRTUALE

BAZA DE CUNOȘTIINȚE

SISTEM DE

COMANDĂ ȘI

CONTROL

PLAN DE OPERAȚII

MODELAREA

SARCINILOR ȘI

OPERAȚIILOR

Inginer de cunoștiințe

User

Planificare inteligentă

BAZA DE

SECVENȚE

Fig. 1.1 Schema bloc generală a sistemului de cooperare dezvoltat pentru o echipă de RP

Page 15: Sistem inteligent de cooperare a roboților.pdf

15

În vederea evidenţierii etapelor de cercetare, precum şi a integrării rezultatelor într-un

ansamblu unitar, este prezentată metodologia şi etapele de lucru prin intermediul unei scheme

bloc care stă la baza unui nou sistem inteligent de cooperare.

În capitolul 2, Cooperarea roboţilor mobili. Stadiul actual, prezintă sintetic aspecte

privind cooperarea şi comunicarea roboţilor mobili, cooperarea om-robot, mediu-robot şi robot-

robot, împreună cu particularităţile constructive de conducere şi de programare a acestora, cu

referire la roboţii pășitori Nao aflaţi în dotarea centrului de cercetare de Informatică Virtuală şi

Robotică ce au fost utilizaţi pentru realizarea cercetărilor experimentale.

În urma analizei critice, s-a constatat că implementarea unui sistem de cooperare bazat pe

comunicarea vocală a agenţilor echipei din mediile industriale reprezintă un pas înainte către

sistemele actuale cele mai dezvoltate de interacţiune robot-robot, la care pot fi incluse şi alte

modalităţi de comunicare prin unde în infraroșu și wireless. La finalul acestui capitol, sunt

delimitate problematicile actuale care necesita a fi rezolvate de această cercetare, cu precădere

centrate pe cooperarea roboţilor pășitori pentru operații de manipulare și deplasare

În capitolul 3, Modelarea și învățarea secvențelor de manipulare și deplasare a

obiectelor cu roboţii pășitori, sunt prezentate pentru început procesele de modelare şi învățare a

secvențelor elementare de manipulare locală și în mișcare, deplasarea roboților în mediul de

lucru și identificarea obiectelor, secvențe necesare la construirea operaţiilor echipelor de roboţi

pășitori prezentate în cap 5.

Învăţarea prin demonstrare a acestor secvențe au la bază următoarele etape: concepția

structurilor secvențelor, învăţarea secvențelor, generarea mediului virtual, testarea și evaluarea

virtuală şi stocarea în baza de secvențe.

În capitolul 4, Planificarea operaţiilor şi sarcinilor de manipulare și deplasare se

prezintă algoritmul de planificare a operațiilor și sarcinilor de manipulare pentru o echipă de RP

care își desfașoară activitatea în mediul industrial. Acest algoritm utilizează secvențe elementare

învățate prin demonstrare. În acest capitol se descrie detaliat modele de operații de bază care pot

apărea într-un mediu industrial general, structura acestora, operații/sarcini/faze și secvențele pe

care le pot îndeplinii RP.

În capitolul 5, Sistemul inteligent de cooperare a roboţilor mobili Naocoop, este

prezentat în prima parte un studiu bibliografic a sistemelor inteligente existente, după care este

descris sistemul NaoCoop, fiind explicate pe rând toate blocurile componente ale proceselor

online: interfaţa de control user-sitem, baza de date, sistemul de comandă și control, controlerele

roboților Nao și blocul de cooperare și sincronizare. Acest capitol răspunde obiectivelor specifice

ale tezei de concepție, modelare, algoritmizare și implementare a unui sistem inteligent de

cooperare a RP. Interfața prietenoasă de care dispune utilizatorul/inginerul de cunoștiințe permite

și conducerea echipei de RP de la distanță.

În capitolul 6, Teste și experimente cu sistemul NaoCoop, sunt concepute şi realizate, în

corespondenţă cu cercetările teoretice, experimente de manipulare pentru testarea sistemului de

cooperare dezvoltat precum şi a rezultatelor obţinute cu acesta. Pentru experimentele de

cooperare au fost parcurse următoarele etape: dezvoltarea mediului de lucru pentru experimente,

definirea operațiilor pentru experimente, elaborarea programului de experimente, realizarea

exprerimentelor şi analiza rezultatelor obţinute. Implementarea în mediul real, pe echipa de

roboţi Nao, validează eficienţa şi avantajele sistemului conceput, dezvoltat și implementat.

În Capitolul 7, Concluzii, contribuţii proprii, valorificarea rezulatatelor şi direcţii noi de

cercetare, sunt prezentate concluziile finale, contribuţiile originale proprii, diseminarea

rezultatelor ştiinţifice obţinute în urma studiului (reprezentate prin lista de lucrări publicate,

participarea la conferinţe internaţionale şi implicarea în cadrul contractelor de cercetare), precum

şi direcţii viitoare de cercetare.

Page 16: Sistem inteligent de cooperare a roboților.pdf

16

2. COOPERAREA ROBOŢILOR MOBILI. STADIUL ACTUAL

2.1 INTRODUCERE

Cercetările științifice iniţiate în jurul anilor 1920 privind maşinăriile sub denumirea de

automate (termen care provine din limba greacă “automatos”, ce înseamnă a se mişca singur) au

constituit începutul fundamentării roboticii. La acea vreme automatele nu puteau executa decât

câte un singur obiectiv/sarcină, fiind constrânse de caracteristicile acestora şi de structura lor.

Odata cu apariţia şi evoluţia roboţilor ca automate evoluate, cercetările în domeniu s-au dezvoltat

atat în îmbunătăţirea continuuă a performanţelor sistemelor hardware (electrice, mecanice şi

hidraulice), cât şi a celor sofware (programele de control şi conducere). Din prima generaţie de

roboţi mobili apăruţi, se evidențiază sistemul Elmer şi Elsie construit de William Grey în anul

1948, format dintr-un grup de triciclete care se puteau îndrepta spre o sursă de lumină

recunoscând obiectele.

2.2 ASPECTE GENERALE PRIVIND COOPERAREA ÎN CADRUL

ECHIPELOR DE ROBOŢI MOBILI

În ultimul secol s-a observat un interes crescut pentru domeniul de cercetare a sistemelor

compuse din roboţi mobili care au comportamente de cooperare. Echipele de roboţi mobili au

fost construite cu scopul de a soluționa probleme cum ar fi: arhitectura de grup, conflictele de

resurse, de cooperare [Panfir, 2013a], de învăţare, precum etc. Mulţi cercetatori au dezvoltat şi

încă dezvoltă studii și aplicaţii de cooperare a roboţilor din echipe cu dorinţa de a putea

reproduce într-un final comportamentul unui grup de oameni, fară a fi necesară intervenţia

operatorului uman în luarea deciziilor. În aceast subcapitol, sunt prezentate și analizate lucrările

existente, pe baza cărora sunt discutate probleme deschise în acest domeniu, cu accent pe diverse

aspecte teoretice care apar în studiul cooperarii roboţilor mobili.

Echipele de roboţi mobili au aparut ca rezultat firesc a unor limitări legate de

complexitatea operaţiilor ce puteau fii executate, de flexibilitatea redusă pe care o permiteau

sistemele robotice vechi şi datorită limitărilor legate de gradul de intervenţie al omului în

procesele de producţie. Studiile privind dezvoltarea echipelor de roboți pășitori au fost

determinate de următoarele cerințe:

complexitatea mărită a sarcinilor de realizat, deseori imposibil de executat de un singur

robot;

obținerea de performanțe mai bune (costuri reduse și/sau timpi optimi) decât în cazul

folosirii unui singur robot mobil;

posibilitatea de implementare cu ușurință a aplicațiilor complexe.

2.2.1 COMUNICAREA, COOPERAREA ŞI INTERACŢIUNEA

ÎN ECHIPELE DE ROBOŢI MOBILI

2.2.1.1 COOPERAREA ROBOȚILOR MOBILI

Definiţia cooperării roboților în cadrul unei echipe, îmbinând cele trei cerințe menţionate

mai sus presupune : un comportament interactiv pentru îndeplinirea cu succes a unor operaţii

complexe, sub conducerea unui sistem de comandă și control care se bazează pe modulele de

comunicarea și sincronizarea a roboților echipei, ce asigură realizarea operaţiei cu succes şi

totodată o creştere a utilităţii şi a performanţei întregului sistem. Încă din anii ’70, comunicarea,

cooperarea şi interacţiunile dintre agenţi în cadrul unui sistem au fost activ studiate, comunitatea

Page 17: Sistem inteligent de cooperare a roboților.pdf

17

de cercetare în robotică devenind foarte activă în studiul sistemelor robotice bazate pe cooperare

odată cu anul 1980, unde se identifică un numar mare de proiecte complexe şi inovative precum

CEBOT [Fukuda, 1990], SWARM, ACTRESS [Asama, 1989], GOFER [Caloud, 1990], SCS

[Quentin, 2011].

2.2.1.3 INTERACȚIUNILE ROBOȚILOR MOBILI

2.2.1.3.1 INTERACȚIUNILE ROBOT-MEDIU

Metodele de interacţiune a robotului cu mediul în care îşi execută activitatea, bazate pe

capacitatea acestuia de percepere a mediului de operare cu obiecte statice şi dinamice au

capacitatea de a acţiona asupra obiectelor în conformitate cu deciziile luate de către sistemul de

conducere (fig.2.4).

Mediul de lucru în cazul general este un perimetru, în cele mai multe cazuri închis, care

conţine diverse obiecte (fixe sau mobile), instalaţii tehnologice, operatori umani și alţi agenţi

(roboți ficși, mobili).

Sistem de conducere

Sistem

senzorialSistem mecanic

Instalații Obiecte

Percepție

Alți agenți

Operatorul uman

Sistem de conducere

Sistem

senzorialSistem mecanic

Comunicare

Percepție Acțiune AcțiunePercepție

Mediul de lucru

ROBOT1 ROBOT2

Fig. 2.4 Schema interacţiunilor roboţi-mediu

În urma unui studiu amanunțit s-a constatat că prin concepție-acțiune se permite

localizarea, realizarea harţilor mediului, detectarea şi urmărirea diferitelor obiecte aflate în

câmpul senzorilor robotului. Majoritatea cercetărilor actuale sunt legate de modelele de învăţare

folosite pentru procesarea datelor de la senzori, în diferite condiţii şi scenarii de operare

[Senthilkumar, 2012]. Datorită faptului ca exista o multitudine de tipuri şi modele de senzori cu

care sunt dotaţi roboţii pășitori, scenariile de percepţie au fost adaptate conform acestora, motiv

pentru care definirea unei structuri generale de percepţie pentru roboţii mobili este imposibil de

realizat.

2.2.1.3.3 INTERACȚIUNILE ROBOT-ROBOT

Interacţiunea robot-robot, face referire fie la interacţiunea robotului cu alti agenţi (roboți)

din echipă, mobili sau ficși sau fie cu alte instalaţii industriale aflate în mediul de operare a

robotului [Gil, 2010; Senthilkumar, 2012; Antonelli, 2010].

Page 18: Sistem inteligent de cooperare a roboților.pdf

18

Modelele de interacţiune robot-robot au la bază comunicarea roboţilor,(fig 2.4) care se

caracterizeaza prin existența unui protocol comun de comunicare situat deasupra celui de transfer

de date, care face parte din categoria interacţiunilor de tip server-client specifice reţelelor de

calculatoare.

Comunicarea vocală robot-robot are la bază interacțiunea naturală bilaterală. Spre

deosebire de ale metode de comunicare, avantajul major al acestei metode este dat de faptul că

permite un flux de informaţii suficient pentru a comunica cât mai rapid, folosind un vocabular

restrâns care este legat de funcţionalitatea de bază a robotului, conform modelelor de comunicare

vocală om-robot prezentate în multe lucrări [Boulebtateche, 2005 ;Medicherla, 2007;

Ozdemircan, 2008; Topoleanu, 2012; Gorostiza, 2011].

Comunicarea vocală dintre doi roboţi presupune utilizarea unei interfeţe vocale, care este

formată din două subsisteme: cel de recunoaştere vocală, necesar pentru interpretarea

informaţiilor vocale transmise de celălalt robot cu care interacţioneză şi respectiv subsitemul de

sinteză vocal, care are rolul de a genera un răspuns vocal pentru acei roboţi componenţi ai

echipei (fig. 2.7).

Odată cu dezvoltarea echipelor de roboţi care să coopereze între ei, această modalitate de

comunicare bazată pe limbajul vorbit a început să se dezvolte spre direcţii şi perspective

inovative, legate de studiul izolat al acestor sistemelor de recunoaştere, sinteză şi procesare a

limbajului dedicate [Topoleanu, 2011].

Robot Robot

Interfață vocală

Recunoaștere

vocalăSinteză vocală

MesajRăspuns

Mesaj Comandă

vocevoce

Fig. 2.7 Comunicarea robot-robot prin voce

2.3 ASPECTE PRIVIND INTEGRAREA SISTEMELOR

COOPERATIVE CU ROBOȚI MOBILI ÎN MEDII

INDUSTRIALE

Mediul industrial este definit ca fiind locaţia caracterizată în principal printr-un ansamblu

de activităţi de transport, de manipulare şi de procesare de materiale, având ca rezultat anumite

tipuri de produse şi/sau dezvoltarea anumitor procese tehnologice sau servicii. În mediile

industriale numarul de roboţi fie ei ficşi sau mobili introduşi în ultimii ani a crescut foarte mult,

din dorinţa de a fi dezvoltate sisteme robotizate complet autonome.

2.3.1 FUNCŢIILE ŞI INTEGRAREA SISTEMELOR DE

COOPERARE AI ROBOȚILOR MOBILI ÎN MEDII

INDUSTRIALE .

Sistemele de roboţi care cooperează dezvoltă activităţi în medii industriale în următoarele

scopuri: transportul obiectelor, pieselor sau dispozitivelor în diferite puncte şi locaţii;

monitorizarea producţiei şi a fluxului tehnologic; asamblarea/împachetarea de produse sau părţi

componente ale acestora, prin aşezarea şi fixarea acestora conform structurii de funcţionalitate;

execuția de sarcini de procesare din procesul tehnologic şi inspecţia în vederea identificării şi

masurării caracteristicilor unor piese (fome, culori, dimensiuni, greutăți).

Page 19: Sistem inteligent de cooperare a roboților.pdf

19

Scopul proiectării, dezvoltării şi implementării echipelor de roboţi (ficşi sau mobili) a

constat în prima perioadă în marirea eficienţei acţiunilor asupra mediilor tehnologice prin

creşterea vitezei şi a preciziei de execuţie [Mogan, 2009] şi în înlocuirea într-un numar cât mai

mare a operatorilor umani care lucreaza în astfel de medii care frecvent pot fi periculoase,

austere şi nu în ultimul rând extrem de nocive.

În fig. 2.9 este prezentată schema generală a unui sistem de cooperare a roboţilor din

mediul industrial în care sunt evidențiate principalele blocuri componente şi interacţiunile dintre

acestea.

Fig 2.9 Structura generală a unui sistem de cooperare cu roboți

2.3.2 SISTEME DE COOPERARE CU ROBOȚI

Având în vedere un grup de roboţi, un mediu de lucru şi o sarcină de executat, se pune

întrebarea/problema următoare: “în ce condiţii şi cum ar trebui să coopereze roboții pentru

execuția sarcinii?” În multe exemple practice de cooperare s-au abordat doar aspecte ale acestei

probleme, axele majore de cercetare în acest domeniu încă nu au fost abordate structural. Pentru

realizarea unui comportament de cooperare bazat pe o infrastructură și arhitectură de grup se

impune studiul conceptelor de eterogenitate/omogenitate a roboților, capacitate a roboților să

recunoască şi să poată interacţiona între ei, şi structura subsistemului de comunicare. Pentru ca

mai mulţi roboţi să lucreze într-un spațiu comun, pentru a manipula diverse obiecte împreună şi,

eventual pentru a comunica unul cu celălalt, este nevoie și de un mecanism de rezolvare a

conflictelor de resurse.

2.3.3 CLASIFICAREA SISTEMELOR MULTI-ROBOT

Capacităţile de comunicare de care dispun majoritatea roboților duc la conceptul de sistem

multirobot (multiagent). Un astfel de sistem se defineşte ca fiind o reţea distribuită de agenți,

care lucrează împreună pentru îndeplinirea anumitor sarcini comune, care sunt imposibil de

realizat individual de fiecare agent în parte [Mas, 2012].

Înainte de apariţia sistemelor multirobot, au aparut şi sistemele centralizate/bazate pe un

singur robot (single-agent sistem)[Stone, 1997]. Sistemele de acest gen se caracterizează printr-o

echipă de roboți, în care un singur agent ia toate deciziile, iar restul de agenţi se comportă ca şi

clienţi (conceptul de master-slave).

Page 20: Sistem inteligent de cooperare a roboților.pdf

20

Sistemele multirobot (fig 2.11), diferă de cele centralizate/bazate pe un singur robot, prin

faptul că roboţii ce formează sistemul, îşi

modelează obiectivele, acţiunile şi

comportamentul în funcţie de ceilalţi

agenţi componenţi ai sistemului. Toate

interacţiunile (comunicările) prin care se

schimbă informaţii între roboți sunt

separate de mediul de lucru. Datorită

modalităţii prin care alţi roboţi

componenţi ai sistemului pot afecta

mediul în care operează în moduri

imprevizibile, sistemele multirobot pot fi

privite ca având un comportament

dinamic. În cadrul sistemelor multirobot,

pot exista roboți care au capacităţi de a

comunica cu alţi roboţi într-un mod

direct, dar respectiv există şi agenţi care

nu pot comunica decat indirect.

2.4 STRUCTURA ȘI PROGRAMAREA RP

Întrucât, limbajele de programare permit programarea robotului de către un operator

uman, pot fi denumite ca interfeţe om-

robot. Limbajul de programare

reprezintă modalitatea de interacţiune

de nivel inferior a operatorului cu

robotul, permiţând exploatarea

funcțiilor robotului. Interfeţele de

programare nu sunt dezvoltate pentru a

putea fi folosite de utilizatori obişnuiţi,

ci doar de către programatori cu

pregătire specifică, care dezvoltă

interfeţe de nivel înalt [Biggs, 2003].

Cea mai uzuala metodă de programare a

roboţilor, se realizează prin intermediul

unui limbaj de programare specific

folosind interfeţele clasice tastatură şi

mouse [Ducasse, 2005; Whitbrook,

2010].

2.4.1 STRUCTURA ROBOŢILOR PĂŞITORI

Pentru realizarea funcţiei de navigare, roboţii cu diferite configuraţii de bază cu ajutorul

cărora se permite deplasarea în mediul de operare pentru navigarea în medii industriale. Există

trei configuraţii de bază ale roboților mobili cu șenile, cu roți și cu picioare.

În fig. 2.16 se prezintă, robotul păşitor Nao, aflat în dotarea laboratorului de Realitate

Virtuală şi Robotică din cadrul Universităţii Transilvania din Braşov, pe care s-au dezvoltat

cercetările experimentale prezentate în această lucrare.

Robot

Obiective

Acțiuni

Cunoștiințe

Efectori

Senzori

Mediul de

operare

Obiective

Acțiuni

Cunoștiințe

Obiective

Acțiuni

CunoștiințeRobot

R

o

b

o

t INFORMAȚII

Senzori

Senzori

Efectori

Efectori

Fig 2.11 Schema generală a unui sistem multirobot

SENZORI TACTILI

MÂINI

BARĂ DE PROTECȚIE (X2)

CAMERE( X2)

ARTICULAȚIA

GENUNCHIULUI

ARTICULAȚIA

ȘOLDULUI

SONAR (x4)

ARTICULAȚIA GÂTULUI

MICROFOANE

BATERIE

ARTICULAȚIA

GLEZNEI

SENZOR

TACTIL

ÎNCHEIETURA

INFRAROȘU

BUTON PORNIRE/ OPRIRE

ARTICULAȚIA

COTULUI

DIFUZOARE (x2)

ARTICULAȚIA

UMĂRULUI

Fig 2.16 Structura hardware a robotului pășitor Nao

Page 21: Sistem inteligent de cooperare a roboților.pdf

21

Robotul păşitor Nao, este un robot umanoid programabil, care are o înalţime de 57cm,

caracterizat prin următoarele componente cheie: corpul cu 25 de grade de mobilitate, bazate pe

cuple cinematice cu motoare electrice; reţele de senzori, inclusiv 2 camere video, 4 microfoane,

telemetru sonar, 2 emiţători şi receptoare IR, 9 senzori tactili şi 8 senzori de presiune; diverse

dispozitive de comunicare, inclusiv sintetizator de voce şi 2 difuzoare.

2.4.2 MEDIILE DE PROGRAMARE A RP DE TIP NAO

Dintr-o multitudine de medii de programare a roboţilor mobili existente momentan, în

continuare este prezintat cel utilizat şi implementat pe robotul mobil Nao, care este controlat cu

ajutorul arhitecturiI de tipul server-client. Toate motoarele şi microcontrollerele ce compun acest

robot, au la bază module program dedicate (nivel inferior), la nivel maşina de conducere, pentru

navigarea şi orientarea în mediul de operare, controlul senzorilor, managementul parametrilor

interni etc. Pachetul software pus la dispoziţie de compania producatoare Aldebaran Robotics,

asigură controlul la nivel superior, pentru evitarea obstacolelor, navigarea și acționarea braţelor

și picioarelor.

În fig. 2.17 se prezintă librăria cu modulele de control a robotului umanoid Nao ce

conţine: programul pentru microcontrollere Naoqi; programul care permite generarea și editarea

mişcărilor în mod interactiv, Choregraphe; programul Monitor dedicat feedback-urilor

elementare de la robot şi accesul la setările camerelor şi programele de testare virtuală Naosim şi

Webots.

NAOqi (Fig 2.18) este software-ul principal care ruleaza pe robotul Nao şi îl controlează.

Programarea roboţilor Nao se concentrează în jurul modulelor. În cadrul modulelor Naoqi există

mai multe module standard disponibile (fig.2.18), cum ar fi ALMotion, pentru deplasarea

robotului, ALMemory, pentru stocarea de datelor etc.

Modulul ALMotion pune la dispozitie subprograme care asigură mișcarea robotului Nao.

Cu ajutorul acestui modul sunt implementate câteva ”reflexe” ale roboţilor cum ar fi evitarea

coliziunilor automat, ocolirea obstacolelor etc. Acest modul oferă, de asemenea, accesul la

informaţii utile despre componentele hardware ale robotului, cum ar fi numărul de articulaţii,

numele lor, limitele, senzorii disponibili etc. Monitorul, este un subprogram dedicat pentru a

oferi feedbackuri de la camerele video ale robotului şi accesul la setările acestora. NAOsim, este

un simulator dezvoltat pentru a permite utilizatorilor să testeze algoritmii în medii virtuale.

Choregraphe

NAOqi

NaoSim

WebotsMonitor

Programare textuală Demo

MEDII VIRTUALE DE

TESTARE

Ethernet

to serial

Ethernet

to serial

Fig. 2.17 Arhitectura sofware a robotului Nao

Page 22: Sistem inteligent de cooperare a roboților.pdf

22

NAOqi

Fișiere de configurare a

robotului

Devices.xml

DCM.xml

Alte

Module

-MANAGERUL-

MODULUL DE

COMUNICARE

(DCM)

Mo

du

lul

AL

Mem

ory

Componentele

capului (UP)

robotului

NAOqi

Broker

Placa de bază a

robotului

Alte dispozitive

Unitatea

principala a

robotului

valorile

senzorilor

Comenzi la

electromotoare

Actualizarea

senzorilor

electomotoarelorUSB

Interfață

I2C

Fig 2.18 Blocurile componente ale sofwareului principal Naoqi

2.5 CONCLUZII

În acest capitol, au fost prezentate sintetic aspecte privind stadiul actual al cooperării şi

comunicării roboţilor mobili și interacțiunile om-robot, mediu-robot şi robot-robot, împreună cu

particularităţile roboţilor umanoizi Nao aflaţi în dotarea departamentului. În urma analizei

bibliografice privind cooperarea roboţilor mobili pășitori, cercetarea şi dezvoltarea unei noi

modalităţi de interacţiune/cooperare robot-robot pentru îndeplinirea unor operații complexe care

sunt imposibil de realizat de către un singur robot dintr-o echipă. Comunicarea vocală robot-

robot, devine o prioritate în domeniul cercetărilor de cooperare a roboţilor întrucât acest aspect

încă nu a fost cercetat şi dezvoltat în detaliu.

Comunicarea robot-robot prin intermediul limbajului vorbit, oferă multe posibilităţi foarte

utile în operarea şi programarea roboţilor. Structurile de comunicare au la bază un sistem de

conducere hibrid, care utilizează limbajul vorbit la nivelul controlului deliberativ. La nivelul

conducerii deliberative sunt implementate modele specifice pentru realizarea comunicării prin

limbaje vorbite. În concluzie, în urma analizei stadiului actual al cercetărilor privitor la

cooperarea roboţilor mobili, se evidenţiază tendinţa de dezvoltare a acestora ca sisteme

inteligente, cu capacităţi evoluate de comunicare şi de interacţiune. În consecinţă, s-au elaborat

obiectivele şi metodologia de cercetare prezentate în subcapitolele 1.3 şi, respectiv, 1.4.

Page 23: Sistem inteligent de cooperare a roboților.pdf

23

3. MODELAREA ȘI ÎNVĂȚAREA SECVENȚELOR DE

MANIPULARE ȘI DEPLASARE A OBIECTELOR CU

ROBOȚI MOBILI PĂȘITORI

3.1 ASPECTE GENERALE

Activitatea de manipulare a obiectelor datează de la apariția tehnicilor care implicau

construcții mecanice, fiind extinsă cu timpul în multe alte activități, fie ele industiale sau nu, care

implică interacțiunea omului cu obiecte/materile. Manipularea se definește ca fiind o activitate

complexă care presupune apucarea, deplasarea unui obiect/material și eliberarea acestuia [Bell

,2010]. Distanţa care trebuie parcursă în timpul manipulării depinde de mediul de lucru, tipul

obiectului și echipamentele utilizate. Manipularea în sine constă în următorul șir de acțiuni:

apucarea (preluarea obiectului), deplasarea (pe orizontală sau pe verticală) şi eliberarea (acestuia în

punctul final) [Mocan,2005; Panfir, 2013b]. Toate aceste acțiuni se pot efectua într-un mod

eficient şi sigur prin utilizarea unor echipamente şi dispozitive specifice.

3.2 MODELAREA MEDIILOR DE LUCRU ȘI A SARCINILOR DE

MANIPULARE

3.2.1 DESCRIEREA MEDIILOR DE LUCRU

În mediile industriale de producție există numeroase celule care implică procese

tehnologice cu manipulare și deplasare a unor repere (materiale) între diverse utilaje, depozite

intermediare, benzi transportoare etc. În fig. 3.2 se prezintă structura generală a unui mediu

industrial de producție compus din stații de lucru S1, S2,...Sn, depozitele intermediare D1,

D2,...Dm, intrările I1, I2,...Ip și ieșirile E1, E2,...Eq. Stațiile de lucru sunt unități distincte unde se

efectuează operații tehnologice (de manufacturare, de vopsire, de curățire etc), de asamblare

nedemontabilă (sudare, lipire), asamblare demontabilă (prin înșurubare, prin presare etc), de

împachetare etc.

STAȚIE DE

LUCRU

S1

DEPOZI

T D2

DEPOZIT D1

DEPOZIT

Dm

DEPOZIT D3

STAȚIE DE LUCRU

Sn

STAȚIE DE

LUCRU

S2

STAȚIE DE LUCRU S3

ADMINISTRATOR/

USER

RP1

RPi

RP2Ieșire Eq

Ieșire

E2

Intrare IqTraseu planificat

Fig. 3.2 Structura generală a unui mediu de lucru [Panfir, 2012b]

Page 24: Sistem inteligent de cooperare a roboților.pdf

24

Depozitele intermediare materializate prin mese, stelaje, rafturi etc. asigură poziționări

temporare ale pieselor și subansamblelor cerute de fluxul tehnologic. Intrările și ieșirile sunt

subsisteme de alimentare/evacuare (conveioare, benzi transportoare etc.) prin care se introduc în

celula tehnologică părți componente și se elimină produse finite. Pentru manipulare și deplasarea

pieselor sau subansamblelor din celula tehnologică se pot folosi unul sau mai mulți roboți

pășitori (RP1, RP2,....RPX). În cadrul aplicațiilor de manipulare și deplasare din acestă lucrare se

vor utiliza doi RP de tip NAO (RP1 și RP2).

Prin fiecare intrare se introduce în mediul de lucru obiecte de diferite forme și greutăți

preliminar fiind grupate după tipul obiectelor: voluminoase și grele, voluminoase și ușoare, mici

și grele, mici și ușoare, de tip bară sau cu forme neregulate etc.

3.2.2 DESCRIEREA OPERAȚIILOR DE MANIPULARE

În vederea manipulării cu RP, preliminar, obiectul este așezat într-o locație fixă (punct

inițial) în care să poată fi apucat cu mâinile robotului și deplasat în altă locație (punct final).

Procesul de manipulare a unui obiect într-un mediu de lucru industrial în cazul general

poate fi compus din trei etape (fig. 3.3):

a. Prima etapă, de manipulare locală inițială presupune apucarea obiectului cu o mână

sau cu ambele mâini, urmată de deplasarea acestuia în spațiul de operare asociat

brațelor robotului făra mișcarea acestuia.

b. A doua etapă, de manipulare în mișcare presupune deplasarea obiectului în mediul de

lucru ca urmare a mișcării acestuia cu brațele în timp ce robotul este în mișcare.

c. A treia etapă, de manipulare locală finală presupune deplasarea obiectului cu o mână

sau cu amândouă în spațiul de operare robot, urmată de eliberarea acestuia în punctul

final.

În cazul distanțelor de deplasare mici, comparabile cu lungimea brațelor robotului, etapa

b de manipulare în mișcare poate lipsi și procesul de manipulare se va reduce la manipularea

locală cu preluarea (apucarea) obiectului, deplasarea doar cu brațele și așezarea (eliberarea)

acestuia în alt punct.

Deplasare obiect cu

brațele în mișcarea RP Deplasare cu

brațele

Apucare

(prindere)

Identificarea

obiectului Deplasare RP la

obiect

LOCALIZARE-

POZIȚIONARE

MANIPULARE

LOCALĂ INIȚIALĂ

MANIPULARE

LOCALĂ FINALĂ

MANIPULARE ÎN

MIȘCARE

0

RP

(poziția inițială)

OBIECT

(punct inițial)

OBIECT

(punct final)

Eliberare

Deplasare cu

brațele

Traseu robot cu obiectTraseu robot fără

obiect

Fig. 3.3 Procesul de manipulare a unui obiect cu RP

Page 25: Sistem inteligent de cooperare a roboților.pdf

25

În majoritatea cazurilor de manipulare a obiectelor cu RP pozițiile inițiale ale acestora nu

sunt însă identice cu pozițiile inițiale ale obiectelor de manipulat (fig.3.3). Astfel, pentru

derularea procesului de manipulare, se impune o etapă preliminară de localizare-poziționare, ce

presupune detectarea și precizarea poziției (distanței) obiectlui față de RP urmată de deplasarea

accestuia până la obiectul de manipulat.

3.3 MANIPULAREA OBIECTELOR DE CĂTRE RP

3.3.1 LOCALIZAREA OBIECTELOR DE MANIPULAT

Localizarea obiectelor în mediul de lucru de către RP reprezintă procesul cu ajutorul căruia

este detectată poziția și determinată distanța până la acesta. În cazul în care se dorește elaborarea

unui program de deplasare/navigare a robotului în mediu de lucru, problema localizării este

esențială. Pentru localizarea robotului Nao s-a definit un sistem de coordonate (fig 3.4) asociat

robotului reprezentat printr-un vector v= [x, y, φ], unde x și y reprezintă coordonatele carteziene

ale centrului robotului și φ este unghiul de orientare. Calea/traseul unui robot în mediul de lucru

implică cunoașterea valorilor coordonatelor unui număr de vectori asociați punctelor de atins.

Pentru experimentele dezvoltate cu RP de tip Nao în cadrul acestei lucrări, localizarea

obiectelor în mediul de lucru s-a realizat cu ajutorul unor markeri de tip Naomarks.

Procesul de detectare a obiectelor de către roboții Nao se realizează parcurgând

următoarele faze:

a) Scanarea mediului de lucru prin rotirea robotului și a capului acestuia.

b) Detectarea marker-ului cu ajutorul camerelor video ale robotului și preluarea

informațiilor legate de codul marker-ului (marcat în partea din stânga sus), unghiurile α

(pentru camera de sus), β (pentru camera de jos), unghiul φ (de orientare), poziția (sus-

jos, stanga-drepta) și forma acestuia (sizeX, sizeY).

c) Procesarea informațiilor captate de la camerele video pentru determinarea distanței de

la robot la marker și unghiul de orientare necesar la sosire.

YPunct

final

0

Yo

Xo

0

I

XoYo

φ

Xo3

Yo1

φf

(Xo, Yo,Φ)

Obiect 1

Obiect 2

Obiect 3

(Xo1, Yo1,Φo1)

(Xo3, Yo3,Φo3)

(Xo2, Yo2,Φo2)

Xo2Xo1 Xf

Yf

Yo2

Yo3

RP1

Fig. 3.4 Poziționarea și orientarea RP și a obiectelor în mediul de lucru

Page 26: Sistem inteligent de cooperare a roboților.pdf

26

Algoritmul FindNaoMark (fig. 3.8) realizează localizarea obiectelor în mediul de lucru,

căutând markerul prin pași

succesivi într-un câmp circular cu

deschiderea de 360o. Procesul de

localizare pornește cu inițializarea

robotului, ridicarea acesuia în

poziția de mers și alocarea în

memorie a codului markerului. În

cazul în care în timpul scanării

mediului de lucru markerul este

identificat de către sistemul

vision, se va evalua poziția și

orietarea robotului, după care se

trimit informațiile preluate mai

departe, pentru calcularea

distanței până la obiect. În caz

contrar, când marker-ul nu este

identificat se contină căutarea,

dar nu înainte de a se testa dacă

este atinsă starea finală, în care

robotul s-a rotit deja cu 360o. În

cazul în care nu s-a atins starea

finală, se reia algoritmul de

căutare după ce robotul se rotește

cu 90 o grade la stânga.

3.3.2 DETERMINAREA DISTANȚEI ROBOT- OBIECT

Metoda aplicată pentru calculul distanței de la robotul pășitor la poziția obiectelor din

mediul de lucru este metoda triangulației (fig. 3.11).

Notând cu do (fig. 3.11) distanța dintre cele două camera video ale robotului (de sus și de

jos fig. 2.16), cu α, β unghiurile direcțiilor camerelor video, cd și cu distanța de la camera de sus,

respectiv camera de jos până la obiect și cu D, distanța dintre punctul O și linia pe care sunt

așezate camerele video, din relațiile

𝐶𝑢

𝑠𝑖𝑛 𝛼=

𝐶𝑑

𝑠𝑖𝑛 𝛽=

𝑑𝑜

𝑠𝑖𝑛 𝛾 , (3.1)

γ = 2𝜋 − (α + 𝛽), (3.2)

rezulă distanța de la camera de jos până la obiect,

𝐶𝑢 = 𝑑𝑜 ∗sin 𝛼

sin 𝛾 . (3.3)

Cunoscând distanța do și unghiurile α și β

determinate în urma procesului de localizare (fig.

3.6) din relațiile (3.2) și (3.3) se obține relația de

calcul a distanței de la robot la obiect,

𝐷 = 𝐶𝑢 ∗ sin β. (3.4)

cu

cd

CU

CD

do

β

α

γ O

X

Y

D

Fig. 3.11 Schema de calcul a distanței

Start

Ințializarea

RP

Căutare

marker

Marker

identificat?

Total rotație

< 360 grade

Întoarcere

90grade stânga

Identificarea

poziției RP

Evaluarea

distanței

Marker

neidentificat

Sfârșit

NU

NU

DA

DA

Fig. 3.8 Schema logică a algoritmului de localizare

Page 27: Sistem inteligent de cooperare a roboților.pdf

27

3.4 DEPLASAREA ROBOTULUI PÂNĂ LA OBIECT

Deplasarea robotului până la obiect odată ce acesta a fost localizat se face după o traectorie

liniară.

În cazul distanțelor mari (mai mari de 0,5m) din cauza alunecărilor de pășire, jocurilor

mecanice și instabilităților sistemului de comandă și control apar deviații de la traectoria liniară a

robotului. Din cauza acestor abateri pot apărea deviații inadmisibile pentru operații de

manipulare. Astfel, se impune corecția pe parcursul deplasării, în vederea revenirii la traectorie

liniară impusă (fig. 3.12). În urma corecțiilor, traectoria programată se transformă într-un zig-

zag, care prezintă abateri mult reduse impuse.

Metoda de deplasare cu recalibrări pe parcurs (fig. 3.12), folosește un modul ce

funcționează similar cu cel de la metoda1 cu deosebirea că în acest caz i se permite robotului să

actualizeze poziția țintei în timpul deplasării. În plus, în acest caz este folosită o metodă care

permite mersul mai lent atunci când se apropie de obiect, astfel încât poziția finală să poată fi

măsurată cât mai precis. Metodă este apelată în aplicație des, astfel încât datele măsurate să fie

suficient de precise pentru a ajunge exact la

punctul țintă. Întregul algoritm de deplasare a

roboților a fost integrat în funcția

GotoNaomark, care realizează deplasarea

până la 50cm de obiectul identificat.

Algoritmul de deplasare pornește cu

inițierea unei noi iterații și apelarea funției

FindNaomark. În urma rulării acestei

funcții, în cazul identificării unui obiect se

continuă cu următorul pas care presupune

deplasarea propriu-zisă a robotului. Odată ce

distanța și direcția până la Naomark este

cunoscută de robot, dar nu înainte de a testa

dacă este atinsă starea finală (în care robotul

se afla la 50cm de obiect), se recalculează

traectoria robotului Nao de deplasare după

care robotul începe să se deplaseze.

3.5 MANIPULAREA LOCALĂ A OBIECTELOR CU RP

3.5.1 CAPABILITĂȚILE DE MIȘCARE ALE RP NAO

În vederea construirii secvențelor elementare de manipulare a fost nevoie de cunoașterea

în prealabil a mișcărilor ce le compun. Astfel, fiecare sarcina elementară a RP are o structură

similară, fiind compusă dintr-un număr de faze, care la randul lor sunt compuse din secvențe

învățate. Numărul fazelor și a secvențelor componente diferă în funcție de complexitatea

sarcinilor și a operațiilor de realizat.

Pentru definirea și învățarea secvențelor elementare de manipulare se impune cunoașterea

gradelor de mobilitate ale cuplelor robotului (fig. 3.14) precum și a valorilor limitelor ungiurilor

acestora. Roboții Nao au 26 grade de libertate, dintre care 2 pentru cap, 12 pentru mâini (6 pentru

umăr, 4 pentru cot, 2 pentru mână) și 12 pentru picioare (6 pentru șold, 4 pentru genunchi, 2

pentru gleznă).

În cadrul acestei lucrări s-a optat pentru varianta învățării prin demonstrare a secvențelor

elementare, urmată de planificarea fazelor, sarcinilor și operațiilor compuse din secvențe

elementare învățate.

(XR, YR)

(Xn, Yn, φn)

Traectorie

intermediară

Traectorie

programată

Recalibrarea traectoriei

Obiect

Poziție finală

Fig. 3.12 Deplasarea robotului până la obiect

Page 28: Sistem inteligent de cooperare a roboților.pdf

28

αSRαER

αEY

αWY

αH

γHP

γHY

βARβAP

βKP

βHPβHR

βHYP

αSP

Fig. 3.14 Parametrii geometrici ai cuplelor robotului Nao

3.5.2 DEFINIREA SECVENȚELOR ELEMENTARE DE

MANIPULARE

3.5.2.1 ÎNVĂȚAREA SECVENȚELOR ELEMENTARE DE MANIPULARE

LOCALĂ

Procesul de învățare a unei secvențe elementare are loc prin conducerea cuplelor robotului

prin intermediul unui panel, joystick, tastaturi sau mouse, după o traectorie impusă și memorarea

valorilor unghiurilor cuplelor a tuturor punctelor traectoriei parcurse. Învățarea secvențelor de

manipulare elementare a obiectelor cu roboții Nao, s-a realizat pentru fiecare grup de obiecte de

manipulat în parte, conform mărimilor și caracteristicilor acestora (greutate, fomă și poziție). De

exemplu în cazul manipulării unei bare groase și scurtă, robotul va fi învățat pentru mișcarea de

prindere a barei de jos în sus și pentru ridicarea/coborârea acesteia.

Învățarea secvențelor elementare cu roboți offline presupune și optimizarea mișcărilor de

manipulare prin care se urmărește

să se apropie de naturalețea celor

umane.

Valorile ungiurilor cuplelor

(exprimate în radiani) pentru cazul

prinderii unei bare cu diametrul de

4cm de sus în jos sunt (pentru

mana stângă, pentru cea dreaptă se

iau valorile prin simetrie): αSP =

1,1219; αSR = 0,23577; αEY = -

0,640911; αER = -1,66816; αWY =

1,614222; αWY = 0,557111; αH =

0,731223.

În funcție de parametrul de

intrare care indică diametrul

obiectului de manipulat unghiul de prindere al mâinii (αH) variază direct proporțional cu acestă

valoare și se întinde pe o plajă de la 0 (pentru cel mai mic diametru) până la 1 (obiecte cu

H=45cm

D=4cm

H=35cm

D=5.5cm

Fig. 3.15 Prinderea unui obiect de sus în jos

Page 29: Sistem inteligent de cooperare a roboților.pdf

29

diametrul de 5cm). Pe lângă parametrul ce indică diametrul obiectului de manipulat se specifică

înălțimea la care se află obiectul relativ la podea. Înălțimile la care pot fi amplasate obiectele pot

avea valori de la 0cm (planul solului) până la aproximativ 60cm. În acest caz unghiul de

înclinare a genunchiului și cel de rotire și înclinare a șoldului se modifică între [-119,5º; 119,5º ].

Pentru manipularea obiectelor amplasate la înălțimi cu H<=35cm , roboții au fost învățați

să flexeze genunchii pentru a putea prinde bara de sus în jos. Valorile ungiurilor cuplelor pentru

cazul H=35cm sunt următoarele: βHP = 0; βHR = 0; βHYP = -0,4361111; βKP = 1,6572222; βAP =

= -1,1862222; βAR = = 0;

În fig. 3.16 este prezentată

simularea pentru prinderea unor

obiecte pe partea stângă aflate la

diverse înălțimi. Ca și în cazul

precedent și acestă secvență depinde

de cei doi parametrii de intrare:

înălțimea la care se află obiectul

relativ la podea și diametrul

acestuia. Astfel în cazul în care

d=5cm și H=45cm valorile

unghiurilor expimate în radiani sunt

αSP = 0,3659; αSR = 0,16534; αEY =

-1,240661; αER= -0,668166; αWY= -

1,334982; αWY = 0; αH = 1; βHP =

0,1776; βHR = 0; βHYP = -0,3354211;

βKP = 1,35755432; βAP = -

1,0861112; βAR = 0.

3.5.2.2 ÎNVĂȚAREA SECVENȚELOR ELEMENTARE DE MANIPULARE ÎN

MIȘCARE

Dacă numărul de secvențe elementare dezvoltate și învățate de roboții pășitori pentru

manipularea locală este mare, în cazul manipulării în mișcare numărul acestora este redus doar la

cele locale de mișcare, dar și la

secvențe de mișcare ale

robotului. Astfel, printre

secvențele de manipulare în

mișcare învățate de RP Nao se

prezintă următoarele: SM1-

ridicarea obiectelor din față

(fig. 3.17); SM2- Ridicarea

obiectelor pe partea dreaptă;

SM3- Ridicarea obiectelor pe

partea stângă; SM4- coborârea

obiectelor din față; SM5-

coborârea obiectelor pe partea

dreaptă; SM6- coborârea

obiectelor pe partea stângă;

SM7- apropierea obiectelor din

față; SM8- îndepărtarea

obiectelor de corp din față.

H=35cmH=45cm

d=5cm d= 2cm

Fig. 3.16 Prinderea din stanga a obiectelor

Fig. 3.17 Ridicarea unui obiect în timpul mișcării

Page 30: Sistem inteligent de cooperare a roboților.pdf

30

3.5.3 TESTAREA ȘI SIMULAREA ALGORITMILOR DE

MANIPULARE ȘI DEPLASARE A OBIECTELOR

Pentru a verifica eficacitatea algoritmilor propuși pentru localizarea obiectelor și pentru

deplasare a roboților Nao în mediul de lucru, au fost implementate diferite scenarii. Toți

algoritmii dezvoltați, de manipulare, deplasare sau localizare se asociază cu secvențe elementare,

care după ce au fost testate în mediul virtual, au fost salvate în baza de secvențe comună, în

vederea folosirii acestora pentru operații viitoare. Pentru efectuarea testelor, au fost stabilite

următoarele personalizări: spațiul de lucru sub formă de dreptunghi și markere cu diametrul de

9,5cm cu numere: 64, 102, 104 și 96 poziționate la diferite înălțimi și diferite distanțe de robot.

În fig. 3.21 se prezintă scena virtuală, inclusiv cu robotul virtual Nao din mediul Webots

de simulare și testare a secvențelor de manipulare învățate. În acestă scenă se observă bara de

manipulat (definită conform caracteristicilor de lungime, greutate și densitate) care este

poziționată pe un suport paralelipipedic.

Odată simulate și verificate secvențele de mișcare, se stochează valorile unghiurilor

cuplelor în baza de secvențe de unde pot fi folosite de fiecare dată când este nevoie (în structura

diferitelor sarcini). În urma învățării tuturor acestor sarcini elementare, în baza de date proprie

fiecărui robot se contruiește un tabel care conține informații și notații ale sarcinilor stocate.

ł Fig. 3.21 Scenă virtuală de manipulare

3.6 CONCLUZII

În acest acest capitol se prezintă procesele de concepție și învățare a secvențelor

elementare de manipulare, deplasare și localizare a obiectelor de către RP în mediul de lucru,

necesare pentru construirea operațiilor unei echipe de roboți.

Toate secvențele elementare învățate de către roboți prin tehnica demonstrativă și stocate

într-o bază de secvențe, statu la baza dezvoltării de operații complexe pe care roboții le execută

prin cooperare. Tehnica de învățare abordată a fost corelată și dezvoltată conform

caracteristicilor roboților pășitori Nao. Modelul de învățare a roboților Nao traseele obiectelor

manipulate este sigur deoarece ia în considerare factori geometrici de apropiere (setați anterior)

pentru evitarea coliziunilor și în plus au fost testate și corectate în medii virtuale dedicate. În

timpul proceselor de învățare a secvențelor de manipulare au fost urmărite secvență cu secvență

deplasările brațelor, viteza acestora și nivelul de apropiere de elementele adiacente (suporți,

robot, obiecte etc.).

Page 31: Sistem inteligent de cooperare a roboților.pdf

31

UTILIZATOR

PLANIFICAREA

SARCINILOR/

OPERAȚIILOR

ALOCAREA

ECHIPEI

SISTEM DE

COMANDĂ ȘI

CONTROL

ECHIPĂ DE

ROBOȚI

Fig. 4.1 Structura

generală a unui sistem de

cooperare cu roboți în

echipă

4. PLANIFICAREA OPERAȚIILOR ȘI SARCINILOR DE

MANIPULARE

4.1. ASPECTE GENERALE

În vedere realizării sistemelor de control multi-robot este nevoie de o perspectivă globală

asupra mediului în care acționează roboții echipei și o unificare a metodelor de luare a deciziei și

de gestionare, respectiv de împărțire a execuției sarcinilor între roboți [Jolly, 2010; Nanjanath,

2010; Zhu, 2011]. Pentru controlul acestor sisteme sunt necesare mecanisme complexe de

alocare a sarcinilor între agenții (fig 4.1) ce alcătuiesc echipa

[Elango, 2011], însă și o arhitectură sau o structură de control

riguros definită [Navarro, 2011; Lopez, 2011].

Planificarea sarcinilor unui robot (Robot Task Planning) se

regăsește în multiple lucrări prezentată ca fiind o sinteză a

acțiunilor de operare pentru a îndeplini cu succes un scop impus

de o problemă dată [Wei, 2003; Yao, 2007]. În literatura de

specilitate se identifică două tipuri de planificare a sarcinilor: prin

modelare (Model Based Planing) și bazat pe cazuri (Case Baesd

Planing).

Planificarea operațiilor presupune parametrizarea în

raport cu datele de intrare a funcţiilor de luare de hotărâri legate

de numărul de roboți necesari și a secvențelor de executat

dezvoltate anterior cu algoritmi dedicaţi. Pe baza parametrilor de

intrare introduși de către utilizator se determină operația care

corespunde acestor cerințe, numărul de roboți necesari și tipul

acestora pentru executarea acesteia.

De obicei, planificarea sarcinilor pentru o echipă de roboți

este un proces complex ce se realizează offline prin care se

determină un flux de secvențe elementare care conectează starea

iniţială şi finală a robotului pentru a executa sarcini în mediul de

lucru. Pentru configurarea operațiilor complexe ce implică roboți

cu diferite capacități care operează în cooperare cu alți roboți în

echipă, generarea unui plan al sarcinilor este uneori greoaie.

4.2 OPERAȚII, SARCINI ȘI FAZE

4.2.1 TIPURI DE OPERAȚII, SARCINI ȘI FAZE

Conceptul de sarcină (T1, T2..Tn) poate fi aplicat unei mari varietăţi de operații (OP1,

OP2..OPn), dezvoltând descrieri ierarhice ale acestora, la nivel de detaliere diferit, în funcţie de

contextul analizei. Sarcini se descompun în alte subsarcini componente numite (F11, F12...Fnm).

Structură ierarhică a unei operații prezentată în fig 4.3, oferă o imagine de ansamblu asupra

compunerii acesteia din sarcini, faze și secvențe. Fazele ce compun sarcinile sunt o succesiune de

secvențe elementare locale (SL1, SL2...SLp) sau în mișcare (SM1, SM2...SMq) învățate anterior

(preliminar) și stocate în baza de secvențe.

Dacă succesiunea mai multor sarcini duc la formarea operațiilor, iar fazele sunt

reprezentate prin succesiuni de una sau mai multe secvențe, se poate deduce că operația este o

succesiune de secvențe învățate anterior, care sunt planificate pentru execuție după algoritmi

dezvoltați offline. Toate secvențele, fazele și sarcinile ce țin de rezolvarea operației complexe

Page 32: Sistem inteligent de cooperare a roboților.pdf

32

sunt rezolvate de către roboți, utilizatorul nefiind nevoit să intervină în timpul desfășurării

execuției. Toate secvențele elementare componente a operațiilor sunt învățate de roboți prin

demonstrare și stocate în baza de secvențe.

4.3 DESCRIEREA OPERAȚIILOR, SARCINILOR ȘI FAZELOR

Pentru studiile din acestă lucrare prin care se propune dezvoltarea unui sistem inteligent

de cooperare a RP în vederea execuției de operații complexe de manipulare și deplasare, au fost

descrise trei operații:

- OP1 - de manipulare cu un singur RP, presupune manipularea locală inițială, deplasarea

obiectului cu robotul (eventual cu manipulare în mișcare): date intrare despre obiect:

masa< 2kg, formă bară, lungimea 1m; date intrare despre mișcare: prindere, deplasare,

coborâre, eliberare.

- OP2 - manipulare cu doi RP, presupune manipulare locală inițială, deplasarea și manipulare

locală finală prin secvențe elementare executate simultan de cei doi RP: date intrare

despre obiect: masa>= 2kg și < 4.5kg, formă bară, lungimea 2,5m; date intrare despre

mișcare: prindere, deplasare, coborâre, eliberare.

- OP3 - deplasare prin împingere cu un singur robot RP, presupune poziționarea și orientarea

inițială, deplasarea prin împingere și poziționare și orientarea finală: date intrare despre

obiect: masa < 3.5kg, formă circulară; date intrare despre mișcare: poziționare, orientare,

împingere, deplasare.

Fiecare robot pășitor component al echipei, dispune de o serie de caracterisci și funcții, pe

baza cărora s-au construit secvențe elementare, iar pentru identificarea acestora în baza de

secvențe au fost salvate corespunzător versiunilor roboților care le pot executa.

Aplicațiile au fost astfel dezvoltate ca pentru partea de administrare a sistemului să poată

fi adăugate și editate oricând cerințe de intrare noi și bineințeles ștergerea acestora. Pentru

testarea funcționalității blocului de planificare a unei operații, s-a ales tipuri de cerințe

reprezentative corespunzătoare operațiilor de manipulare asociate cu mediul industrial simulat:

OPERAȚIA

OP1

SARCINA

T1

SARCINA

T2

SARCINA

Tn

Faza F11

Faza F12

Faza F13

Faza F21

Faza F22

Faza Fn1

Faza Fnm

Secvența SL1

Secvența SL9

Secvența SM2

Secvența SL11

Secvența SM1

Secvența SL1

Secvența SM3

Secvența SMn

Secvența SL7

Secvența SLm

Fig. 4.3 Structura generală a unei operații

Page 33: Sistem inteligent de cooperare a roboților.pdf

33

- Masa obiectului (kg) de manipulat, exprimată printr-o valoare reală;

- Volumul obiectului (m3) de manipulat, exprimat printr-o valoare numerică reală;

- Forma obiectului (forme geometrice) de manipulat, exprimată printr-o valoare numerică de tip

alfanumeric;

- Poziția și orientarea inițiale exprimate prin coordonatele reale xi, yi și orientarea φi (fig. 4.4);

- Poziția și orientarea finale exprimate prin coordonatele reale xf, yf și orientarea φf (fig. 4.4).

În urma analizei valorilor coordonatelor inițiale și finale în funcție de dimensiunile

brațelor roboților se determină tipurile de manipulări (locală inițială, locală finală, în mișcare)

precum și necesitatea mișcărilor de deplasare cu RP a obiectului în spațiul de lucru. Astfel, în

funcție de coordonatele carteziene se determină distanța dintre poziția inițială și cea finală,

𝑑 = √(𝑥𝑓 − 𝑥𝑖)2 + (𝑦𝑓 − 𝑦𝑖)2. (4.1)

Apucare de jos în sus (SL1)

Ridicare jos în sus (SL3)

F11

Deplasare (SM1)

Apropiere obiect (SM7)F12

Rotire (SM8)

Coborâre (SL3)

F22

Poziționare maini pentru

împingere (SL8)

Împingere (SM7)

Eliberare (SL11)

Apucare de jos în sus (SL1)

Ridicare jos în sus (SL3)

Coborâre (SL3)

Eliberare (SL11)

F21

OP6

T1

T2

T3

T4

F41

F42

Deplasare

prin împingere

Eliberare obiect

de jos în sus

Manipulare

locală de jos în

sus

Manipulare cu

rotire

T3

T1

T2

T4

(Xi,Yi,φi)

(Xf,Yf,φf)

Date inițiale

Cerințe finale

Punct inițial

Punct final

Fig. 4.4 Structura operației OP6

Page 34: Sistem inteligent de cooperare a roboților.pdf

34

În cazul în care acestă distanță este mai mică decât cursa mâinii unui robot, se impune

manipulare locală inițială și finală. Această situație se descrie cu regula de producție IF d ≤ 15cm

THEN manipulare locală inițială & manipulare locală finală. Dacă acestă situație nu este

îndeplinită se impune ca cele două manipulări inițială și finală să fie separate de o deplasare a

obiectului de către RP. Descrierea acestei situații se face cu regula de producție: IF d>15cm

THEN manipulare locală inițială & deplasare & manipulare locală finală. Pe de altă parte,

diferențele dintre ungiurile de orientare inițială φi și finală φf implică mișcări de rotire a

obiectului, fapt descris prin regula IF φf -φi≠0 THEN rotire pe loc cu unghiul φf -φi.

Planificarea și alocarea secvențelor elementare în echipa de RP are loc după reguli de

producție cu o structură IF condiție THEN acțiune, stabilite pe baza datelor de intrare. Astfel

generarea unui plan de excuție necesar sistemului de comandă și control se bazează pe

înlănțuirea logică a unui set de regulilor de producție, în care acțiunile rezultate în urma unor

condiții să devină noi condiții pentru alte seturi de reguli de producție din sistem. Regulile de

producție s-au dezvoltat corelat și cu datelor de intrare (parametrii):

IF înălțimea la care se află obiectul este H>=35cm THEN apucare de jos în sus;

IF înălțimea la care se află obiectul este H<35cm THEN apucare de sus în jos;

IF obiect cu prindere în lateral stânga cu H>=30cm THEN apucare din stânga interior;

IF obiect cu prindere în lateral stânga cu H<30cm THEN apucare din stânga exterior;

Scrierea alocării secvențelor elementare se face tot prin reguli de producție de forma:

IF apucare de jos în sus THEN secvența SL1;

IF apucare de sus în jos THEN secvența SL2;

IF apucare din stânga interior THEN secvența SL3;

IF apucare din stânga exterior THEN secvența SL4;

IF coborâre din față THEN secvența SL5;

IF ridicare din lateral THEN secvența SL8;

Selectarea numărului de roboți executanți pentru o operație impusă se face de asemenea

pe baza unor reguli de producție.

IF forma =bară și l=1,5m și masa>=1kg THEN se alocă doi roboți pentru execuție;

IF forma =bară și l=1,5m și masa<1kg THEN se alocă un robot pentru execuție;

IF forma =cutie și l=2m și masa>=3kg THEN se alocă doi roboți pentru execuție;

Toate regulile de producție stocate în baza de cunoștiinte au dus la formarea planurilor de

execuție.

4.4 ALGORITMUL DE PLANIFICARE A OPERAȚIILOR,

SARCNILOR ȘI FAZELOR

Nevoia implementării unui modul inteligent de planificare a operațiilor și sarcinilor a

decurs din considerentele următoare [***a]:

- Pentru minimizarea timpului de execuție a unei operații, sarcinile componente trebuie să

fie pe cât posibil independente una față de celălaltă. Procedeul se numește procesare

asincronă și în cazul sistemului dezvoltat în cadrul acestei lucrări acesta a fost aplicat la

descrierea secvențelor executate de roboți.

- Pentru ca sarcinile să poată fi detectate atunci când ajung în starile de eșec sau reușită ca

apoi această informație să fie folosită ca și condiție pentru execuția altor secvențe, acestea

trebuiesc organizate într-un mod robust.

- Pentru o procesare cât mai eficientă a mesajelor, sarcinile trebuiesc astfel adaptate încât

transmiterea și recepționarea mesajelor să se facă într-un mod cât mai lizibil.

Managementul operațiilor reprezintă procesul de gestionare a activităților sarcinilor

comonente prin tot ciclul lor de viață, ceea ce implică planificarea, testarea și raportarea.

Page 35: Sistem inteligent de cooperare a roboților.pdf

35

Schema bloc a procesului de planificare a unei operații în cadrul unei echipe de RP este

prezentată în fig.4.7. Planificarea operațiilor se realizează de către modulul inteligent de

planificare și constă în planificarea și coordonarea secevnțelor fiecărui robot bazat pe regulile de

producție din baza de cunoștiințe, cu scopul de a obține fluxul secvențelor elementare de

executat. Rezultatul planificării nu este altceva decât o sumă de secvențe elementare învățate de

roboți anterior cu parametrii personalizați în funcție de operația de executat.

Procesul de planificare este descris print-un proces iterativ alcătuit din următorii patru paşi

(fig. 4.2): a. analiza cerințelor de intrare primite de la utilizator; b. definirea și identificarea

operației dorite și a numărului de roboți necesari execuției acesteia; c. divizarea operației în

sarcini, faze și respectiv secvențe elementare pe baza regulilor de producție din în baza de

cunoștiințe; d. alocarea secvențelor elementare roboților executanți pentru a începe executarea

fluxului tehnologic.

4.6 CONCLUZII

În cadrul acestui capitol se prezintă algoritmul de planificare a operațiilor și sarcinilor de

manipulare pentru o echipă de RP care își desfașoară activitatea într-un mediu industrial.

Algoritmul de planificare dezvoltat utilizează secvențele elementare învățate prin demonstrare

stocate într-o baza de secvențe comună. În acest capitol au fost prezentate detaliat modele de

operații de bază care pot apărea într-un mediu industrial, structura acestora, operații/sarcini/faze

și secvențe pe care le pot îndeplinii RP ce fac parte din echipă. Pentru detalierea noțiunilor de

operație, sarcină, fază și secvență a fost prezentat un exemplu de operație complexa, așa cum este

ea interpretată de sistem, compusă și planificată. Planificarea și alocarea secvențelor elementare

în echipa de RP are loc după reguli de producție, stabilite pe baza datelor de intrare impuse de

utilizator.

Metodologia de dezvoltare a algoritmului de planificare a unei operații presupune

parcurgerea succesivă a următoarelor etape: analiza cerințelor de intrare primite de la utilizator;

definirea și identificarea operației dorite și a numărului de roboți necesari execuției acesteia;

divizarea operației în sarcini, faze și respectiv secvențe elementare pe baza regulilor de producție

definite în baza de cunoștiințe; alocarea sarcinilor roboților executanți pentru a fi executate.

Cerințe de intrare

Analiza

cerințelor de

intrare

Definire

operațieDivizarea

operației

Selectare roboți

Alocarea

sarcinilor

T1 T2 Tn

Divizarea

sarcinilor

F11 F12 F2n

Divizarea fazelor

SLp SMq

Fig.4.7 Schema generală de planificare a unei operații

Page 36: Sistem inteligent de cooperare a roboților.pdf

36

5. SISTEM INTELIGENT DE COOPERARE A ROBOȚILOR

PĂȘITORI

5.1 ASPECTE GENERALE

Noțiunea de agent inteligent nu este nouă, ea apare pentru prima dată în anul 1970 în

lucrările lui Nicholas Negraponte și în 1984 în cele ale lui Alan Kai [Negraponte,1970;

Kai,1984]. Și alți cercetători, cum ar fi Marvin Misky, Rodney Brooks, Burgard, Feigenbaum,

Russell și Norvig au studiat problemele legate de agenți, modelarea acestora și au evidențiat

diferite tipuri de clase și de comportamente [Feigenbaum,2003; Burgard, 2000].

5.2 SISTEME INTELIGENTE DE ACȚIUNE ÎN MEDII

INDUSTRIALE

În sinteză, prin sistem inteligent (expert) se înțelege un sistem software care preluând

cunoștințele unui expert și înmagazinându-le într-o bază de cunoștiinte proprie, poate rezolva

probleme complexe dintr-un anumit domeniu de expertiză [Beetz, 2010; Butilă, 2013].

În fig. 5.3 este prezentată schema de principiu a unui sistem inteligent/expert. Utilizatorul

furnizează cunoștințe inițiale specifice problemei de rezolvat și primește rezultate sub forma

expertizei, adica a soluției pe care sistemul o indică referitor la problema descrisă prin datele de

intrare. Componentele principale ale sistemului inteligent sunt: baza de cunoștiințe, motorul de

inferență, interfața cu utilizatorul și modulul explicativ.

5.3 STRUCTURA FUNCȚIONALĂ A SISTEMULUI DE

COOPERARE A ROBOȚILOR PĂȘITORI, NaoCoop

Cercetările privind sistemele de cooperare a roboților mobili au început în jurul anilor

1980, o atenție mărită fiind acordată problemei de coordonare și cooperare a roboților în cadrul

echipelor [ Gerkey, 2002; Lawton, 2003; Yulan, 2012a; Wang, 2008a; Wang, 2008b]. Sistemele

multi-robot sunt definite ca grupuri de roboți care operează în același mediu, pentru a realiza un

set de sarcini, împreună sau independent. Cercetările pe această temă, în care diverse echipe de

BAZĂ DE CUNOȘTIINȚE

MODUL

EXPLICATIV

MODUL DE

ACHIZIȚIE A

CUNOȘTIINTELOR

INTERFAȚĂ OPERATOR

MOTOR DE

INFERENȚÂ

(RAȚIONARE)

UTILIZATOR

Colectează

cunoștiințe

Efectuează

raționamente

Explică

raționamentele

Fig. 5.3. Schema de pricipiu a unui sistem inteligent

Page 37: Sistem inteligent de cooperare a roboților.pdf

37

roboți trebuie să realizeze operații complexe în colaborare, în ultimul timp au început să câștige

popularitate. În fig. 5.4 se prezintă arhitecura sistemului inteligent NaoCoop dezvoltat care

conține procese offline (prezentate detaliat în cap 3 și cap 4) și procesele online. Blocurile

componente proceselor online sunt: sistemul de comandă și control, controlerele roboților, baza

de date, blocul de comunicare și sincronizare, interfața grafică utilizator-sistem și roboții echipei.

Baza de date, conține toate informațiile cuantificabile necesare pentru ca sistemul să

funcționeze: tipurile roboților și caracteristicile lor, codurile planurilor de operații. Aceasta

conține, de asemenea, informații statice privind capabilitățile roboților, și informații dinamice,

cum ar fi stările în care se află în anumite momente roboții și informațiile necesare pentru

funcționarea corectă a sistemului.

Interfața grafică utilizator este componenta care permite comunicarea cu operatorul și

accesarea informațiilor din baza de date într-o formă standard. Acestă interfață face posibil

accesul utilizatorului la informațiile despre roboți, respectiv despre echipă, la planurile de

operații curente, editarea, adăugarea sau ștergerea acestora [Panfir, 2012a].

Sistemul de comandă și control al echipei de RP reprezintă partea centrală a sistemului

NaoCoop care coordonează toate acțiunile roboților conform planului operației curente; în plus,

în cadrul acestui subsistem sunt gestionate codurile de eroare și procesele de sincronizare.

Echipa de roboți pășitori RP1 și RP2 realizează acțiuni independent sau în echipă sub

controlul și comanda controlerelor proprii care gestionează funcțiile la nivelul motoarelor de

acționare, a blocului de comunicație și senzorilor externi.

BAZA DE CUNOȘTIINȚE

PLANIFICAREA

INTELIGENTĂ A

OPERAȚIILOR

BAZĂ CU PLANURI DE

OPERAȚII

CONTROLER

RP2

CONTROLER

RP1

ÎNVĂȚAREA

SECVENȚELOR

ELEMENTARE

BAZĂ DE SECVENȚE

ELEMENTARE

SIMULAREA ȘI

TESTAREA

ÎN MEDIUL DE LUCRU

VIRTUAL

BLOC DE COMUNICARE

ȘI SINCRONIZARE

SISTEM DE COMANDĂ ȘI

CONTROL AL ECHIPEI DE RP

MO

DE

LA

RE

A

OP

ER

IIL

O

R

INT

ER

FA

ȚĂ

GR

AF

ICĂ

UT

ILIZ

AT

OR

BAZA DE DATE

MEDIUL DE LUCRU

Inginer de

cunoștiințe

Operator

Inginer de

cunoștiințe

RP1 RP2

PR

OC

ES

E O

NL

INE

PR

OC

ES

E O

FF

LIN

E

Fig. 5.4 Arhitectura generală a sistemul inteligent NaoCoop

Page 38: Sistem inteligent de cooperare a roboților.pdf

38

5.3.2 STRUCTURA ȘI FUNCȚIONAREA PROCESELOR ONLINE

5.3.2.1 INTERFEȚELE GRAFICE ALE SISTEMULUI

Interfața grafică a utilizatorilor pentru aplicația NaoCoop a fost implementată folosind

standardul Model View ViewModel

(MVVM) specializat pentru interfețe care

facilitează o separare clară a dezvoltării

interfeței grafice de dezvoltare de logică

business sau de logică back end.

ViewModel-ul din MVVM este un convertor

valoare în sensul că acesta este responsabil

pentru expunerea obiectele de date din

Model în așa fel încât aceste obiecte să fie

ușor de administrat și de accesat de View.

Aplicația NaoCoopApp dispune de

două functionalități majore și anume: prima

este folosită pentru editarea bazei de date

folosind librăria NaoCoopDataAccess, iar

cea de a doua este folosită pentru executarea

operațiilor folosind librăria NaoCoopLib.

În sistemul NaoCoop există două

tipuri de utilizatori: operatori/utilizatori și ingineri de cunoștiințe. La pornirea aplicației

NaoCoopApp operatorul este nevoit să se autentifice (fig 5.5), iar în urma tipului său, se va afișa

meniul corespunzator astfel încât acesta va avea acces la pagina de execuții, iar inginerul de

cunoștiințe va avea access atât la execuții cât și la paginile de editare a datelor din baza de date, a

cunoștiințelor din baza de cunoștiințe și a secvențelor din baza de secvențe.

5.3.2.1.1 INTEFAȚA GRAFICĂ UTILIZATOR

Interfața operatorului (fig. 5.6) trebuie să permite accesarea paginii cu ajutorul unei

parole, introducerea caracteristicilor pe baza cărora se face selecția operației corespunzătoare din

bază și vizualizarea progresului fiecărei sarcini care compune o operațiune în curs de

desfășurare.

Interfața inginerului de cunoștiințe (fig. 5.7) permite: accesarea paginii utilizând o parolă,

editarea/ștergerea și adaugarea de noi roboți în echipa Robot, caracteristicile, sarcinile, stările

Fig 5.5 Autentificarea utilizatorului

Fig. 5.6 Interfața pentru inginer de cunoștiințe Fig. 5.7 Interfața pentru operator

Page 39: Sistem inteligent de cooperare a roboților.pdf

39

sale, care se pot executa și, de asemenea, poate comanda echipa de roboți care sunt sub

administrarea lui prin trimiterea de cereri și nu în ultimul rând permite învățarea de noi secvențe

elementare atunci când este nevoie.

5.3.2.1.2 INTEFAȚA GRAFICĂ DE EDITARE A BAZEI DE DATE

Inginerul de cunoștiințe este capabil să actualizeze informațiile din baza de date folosind

paginile din grupul Settings – Robots (fig. 5.8), Robot Versions, Requirements (fig. 5.9),

Operations, State sau Tasks. Ficare pagină din cadrul grupului Settings dispune de două butoane,

unul pentru modificarea datelor, iar celălalt pentru salvarea modificărilor dorite (Refresh,Save).

Înregistrările din baza de date sunt încadrate într-un grid care are capabilitatea de a adaugă,

modifica sau șterge rânduri.

5.3.2.2 SISTEMUL DE COMANDĂ ȘI CONTROL AL ECHIPEI DE RP

În figura 5.10 se prezintă arhitecura sistemului de comandă și control al echipei de RP

compus din următoarele module: modulul de accesare la baza de date, modulul de comunicare cu

robotul și modulul cu toate entitățile folosite. Toate modulele componente ale sistemul de

comandă și control au fost dezvoltate în mediul de programare .NET (limbajul C#) și grupate

într-un programul principal numit NaoCoopApp. Cu ajutorul acestuia am realizat cooperarea

roboților bazată pe comunicarea explicită, prin voce, care interacționează cu celelalte blocuri.

Modulul de legătură

între robot și aplicație

(NAOqi.Net)

NaoCoopDbNaoCoopDataAccess

Modulul de comunicare

cu robotul

(NaoCoopLib)

Modulul cu toate

entitățile folosite

(NaoCoopObjects)

Fig. 5.10 Arhitectura sistemului de comandă și control al echipei de RP

Fig. 5.8 Pagina de setare a roboților Fig. 5.9 Pagina de setare a datelor de intrare

Page 40: Sistem inteligent de cooperare a roboților.pdf

40

Modulele componente folosesc librăria dll comună NaoCoopLib. Această librărie

definește logica robotului care prin intermediul interfeței de programare (API) NAOqi.Net

trimite comenzile către controlerul robotului Nao pentru a putea fi executate. NaoCoopLib este

librăria comună prin care se efectuează orice operație a robotului. Acesta are ca referință kitul de

dezvoltare software (SDK) .Net pentru sistemul NAOqi.

5.3.2.2.1 BAZA DE DATE

Baza baza de date de tip NaoCoopDb reprezintă Microsoft SQL în care sunt stocate

informațiile legate de sistemul dezvoltat NaoCoop ce are o structură de 7 blocuri principale și 7

blocuri de legătură, dezvoltată în Microsoft SQL pentru robustețe, simplitate și disponibilitate.

Baza de date, conține astfel toate legăturile grafice necesare pentru ca sistemul implementat să

funcționeze la capacitate maximă (tab. 5.1).

Tab 5.1 Blocurile componente ale bazei de date

Nume Descriere

dbo.ExecutionRobots Bloc de legătură între execuții și roboți.

dbo.Executions Bloc ce conține detalii despre execuțiile operațiilor.

dbo.OperationRequirements Bloc de legătură între cerințe și operații.

dbo.OperationRobots Bloc ce conține date despre roboții necesari unei operații.

dbo.OperationRobotStates Bloc de legătură între OperationRobots și States.

dbo.Operations

Blocul Operations conține date despre operațiile suportate în

NaoCoop.

dbo.Requirements Bloc ce conține cerințe generale definite în sistemul NaoCoop.

dbo.Robots Stochează date despre roboții disponibili.

dbo.RobotVersions Bloc ce conține versiuni ale roboților Nao.

dbo.States Bloc ce conține stările suportate de roboți din sistemul

NaoCoop.

dbo.StateTasks Blocul de legătură între States (stări) și Tasks (sarcini).

dbo.Tasks Bloc ce conține sarcinile suportate de sistemul NaoCoop.

dbo.TaskSettings Bloc ce conține setări ale task-urilor.

dbo.Users Bloc ce conține informații despre utilizatorii sistemului

NaoCoop.

5.3.2.2.5 CLASA PRINCIPALĂ A RP

NaoCoopRobot este clasa principala care definește obiectul robotului (toate acțiunile și

stările acestuia). Această clasă se inițializează o dată pentru fiecare robot primind ca parametrii

datele robotului (ip, port). Clasa dispune de un automat finit care se generează în mod dinamic în

funcție de stările și sarcinile definite în obiectul Robot al librăriei NaoCoopObjects.

Un automat finit normal sau o "mașină cu un număr finit de stări" este un model de

comportament compus din stări, tranziții și acțiuni. O stare stochează informații despre trecut,

adică reflectă schimbările intrării de la inițializarea sistemului până în momentul de față.

Automatul finit în cazul de față [Yulan, 2012b] este folosit pentru monitorizarea starilor și

acțiunilor robotului (fig. 5.15). O tranziție indică o schimbare de stare și este descrisă de o

condiție care este nevoie să fie îndeplinită pentru a declanșa tranziția. O acțiune este o descriere a

unei activități ce urmează a fi executată la un anumit moment.

Page 41: Sistem inteligent de cooperare a roboților.pdf

41

Stările specificate în fig. 5.15 pentru execuția unei operații, reprezintă stările întâlnite de

către un robot în traseul acestuia de parcurgere a unei operații complexe, fie că aceasta este

executată de către un singur robot sau în cooperare cu altul. Pentru operațiile executate prin

cooperarea a doi roboți, apar noi stări specifice acestora impuse de fluxul operației. Exemple de

stări identificate în automatul finit al unui robot pășitor Nao sunt: Initialized- robotul este

inițializat; AtCheckpoint- robotul a ajuns la punctual de control(naomark-ul de pe cutie);

AtGrabLocation- robotul a ajuns la locația de ridicare a obiectului; InLiftPosition- robotul se află

în poziția de ridicare a obiectului; InWalkPosition- robotul se află în poziția de transportare a

obiectului; Terminated- robotul a încheiat execuția.

5.3.2.3 CONTROLERELE ROBOȚILOR PĂȘITORI

Roboții Nao au în structura lor procesoare Intel Atom de 1.6 GHz ce dispun de

următoarele module software de bază ce rulează la nivel de controler (fig.5.16):

- Software încorporat, care rulează pe placa de bază (controler-ul) situat în capul robotului,

cu sistemul de operare al robotului OpenNAO; acesta este o distribuție GNU/Linux embedded

bazate pe Gentoo, dezvoltat special pentru roboții pășitori.

- NAOqi, este software-ul principal care controlează robotul. Crearea de comportamente a

roboților înseamnă apelul de module și metode dezvoltate de tip NAOqi. Acest software se

poate rula, de asemenea, pe computer, în scopul de a testa codul implementat pe un robot virtual.

- Software desktop, care

rulează pe un calculator gazdă,

care permite programarea,

precum și controlul de la distanță

al robotului. Modulul

Choregraphe este un limbaj de

programare vizual care permite

crearea de animați și simulări,

monitorizarea și controlul

robotului. Softul Monitor este

dedicat pentru a oferi un

feedback-ul elementar de la robot

și un acces simplu la setările

camerelor video.

RP

OpenNao

NAOqi

Choregraphe

Monitor

Windows/Linux/Mac

Fig. 5.16 Module sofware de bază a roboților Nao

Robotul este

initializat

WalkToCheckpoint

AtCheckpoint

Robotul se afla la

principalul

punct de control.

Stop

AtGrabLocationA

Robotul se afla la

punctul A (stanga) de

ridicare a obiectului.

AtGrabLocationB

Robotul se afla la

punctul B (dreapta) de

ridicare a obiectului.

InLiftPosition

Robotul se afla

in pozitia de ridicare

a obiectului.

Lift

InWalkPosition

Robotul se afla

in pozitie de

transportare

a obiectului. Proces

terminat

WalkWithObject

GoToGrabLocationA

GoToGrabLocationB GoToLiftPosition

GoToLiftPosition

Comenzi care se execută

într-un mod sincron între

cei doi roboți.

Fig.5.15 Automatul finit al clasei NaoCoopRobot pentru manipulare unui obiect de către doi RP

Page 42: Sistem inteligent de cooperare a roboților.pdf

42

5.3.2.4 BLOCUL DE COMUNICARE ȘI SINCRONIZARE

Ca și un om, robotul poate fii pâna la un punct autonom, fiind capabil de a lua decizii

bazate pe situația curentă în care se află. Din dorința de a fii cât mai asemanători cu oamenii și în

ceea ce privește cooperarea propriu-zisă, însușirea comunicării verbale între aceștia a fost

inevitabilă. Astfel această capacitate de a comunica prin cuvinte, propoziții și fraze a fost

transpusă și roboțiilor Nao. Ei au fost programați să comunice prin trimitere și recepție de

mesaje. Ca și oamenii, roboții Nao își pot pune întrebări unul altuia, pot raspunde sau spune ce

nu au înțeles, pot trimite sarcini de executat, pot negocia unul cu celălalt, totul întâmplându-se la

nivel de interpretare a mesajului primit.

5.3.2.4.2 COMUNICAREA RP PRIN TRANSMITEREA DE MESAJE CLIENT-SERVER

Pentru simularea comunicării prin transfer de mesaje s-a utilizat softul Webots care oferă

posibilitatea simulării în lumi virtuale. Mediul software Naosim nu oferea posibilitatea simulării

mai multor roboți în același timp, însă se pot deschide mai multe instanțe ale acestuia astfel încât

se pot coordona roboții din lumea virtulă. Conectarea roboților la calculatorul gazdă se realizează

prin protocolul TCP/IP, fiind adresați prin IP și PORT. Accesul la roboții Nao este posibil atât de

pe mașina de calcul locală cât și din rețea.

5.3.2.4.3 COMUNICAREA VOCALĂ A RP

Comenzile de ridicare, coborâre și deplasare a obiectelor trebuie să se execute simultan

de ambii roboți. Pentru a facilita acest lucru se impune sincronizarea roboților prin comenzi

vocale folosind modulele de vorbire (ALTextToSpeech) și de recunoaștere a vorbirii

(ALSpeechRecognition).

Modulul ALSpeechRecognition conferă robotului abilitatea de a recunoaște cuvinte

predefinite sau fraze în limba engleză.

ALSpeechRecognition se bazează pe tehnologii complexe de recunoaștere a vorbirii

furnizate de Acapela GROUP pentru NAO versiunea 3.x și NUANCE pentru versiunea 4.

În tab 5.2 sunt prezentați pașii de funcționare a recunoașterii vocale a

cuvintelor/expresiilor de comunicare între roboții Nao.

Variabila WordRecognized este o listă bidimensională organizată după cum urmează:

[[fraza_1, precizie_1], [fraza_2, precizie_2], ..., [fraza_n, precizie_n]] ; unde fraza_i este una din

frazele predefinite și precizie_i o estimare a probabilității ca această expresie este într-adevăr

ceea ce a fost pronunțată de către vorbitor.

Valorile încărcate în variabila WordRecognized sunt ordonate descrescător în funcție de

precizie astfel încât fraza cea mai probabilă este pe primul loc.

Comenzile care compun sarcinile de manipulare a unei echipe compusă din doi roboți

cum ar fi ridicarea și deplasarea obiectului trebuiesc executate simultan de ambii roboți

participanți la acestă operație de cooperare.

Tab. 5.2 Pașii comunicării prin voce

Pas Descriere

I. Înainte de începerea comunicării, ALSpeechRecognition trebuie să fie alimentat cu o

listă de fraze care să fie recunoscute

II. După începerea comunicării, ALSpeechRecognition stochează în variabila

SpeechDetected, un parametru de tip boolean care specifică dacă un vorbitor este auzit

III. În cazul în care un vorbitor este auzit, elementul care are precizia cea mai mare din lista

setată inițial este plasat în variabila WordRecognized

Page 43: Sistem inteligent de cooperare a roboților.pdf

43

Partea de sincronizare a roboților în mediile de lucuru

a fost și este un subiect tratat și analizat în multe lucrări de

specialitate precum [Yasuda, 2012; Sanhoury, 2012].

Sincronizare prin comunicare verbală a fost dezvoltată și

în acestă lucrare pentru o rapiditate mai mare și o simulare

cât mai naturală a comportamentului uman. Pentru a

sincronizeze s-au folosit comenzi vocale care au la bază

modulele de vorbire (ALTextToSpeech) și de

recunoaștere a vorbirii (ALSpeechRecognition).

În fig 5.21 este prezentată schema de sincronizare

a RP. În funcție de ordinea în care roboții ajung în poziția

de ridicare a obiectului se va stabili robotul master (care

va da comanda de start) și robotul slave (care va asculta

comanda și va confirma). Neavând posibilitatea de a apela

la evenimentele generate de recunoaștere a vorbirii

(acestea nefiind implementate în API-ul pentru NAOqi

C#) s-a dezvoltat o funcție care monitoriză periodic

memoria robotului (mai precis variabila SpeechDetected)

la un interval de 500 de milisecunde controlat prin

aplicație.

Ajuns în poziția de ridicare a obiectului robotul va

pronunța cuvântul ready și își va inițializa modulul pentru

recunoașterea vorbirii pentru viitoarele comenzi. Primul

robot ajuns în poziția de ridicare va aștepta să detecteze

cuvântul ready iar după ce este detectat el va pronunța

comanda start și va aștepta confirmarea (prin detectarea

cuvântului ok). Al doilea robot ajuns în poziția de ridicare

va pronunța cuvântul ready și va aștepta comanda start, iar

dupa ce această comandă a fost detectată va pronunța

cuvântul ok pentru confirmare.

5.4 EXECUȚIA OPERAȚIILOR ȘI TESTĂRI ÎN MEDII DE LUCRU

VIRTUALE

Pentru executarea operațiilor utilizatorul folosește pagina Executions (fig. 5.23). Această

pagină conține inițial un chestionar

generat dinamic în funcție de înregistrările

din tabelul Requirements al bazei de date.

Pentru fiecare cerință din baza de date se

va afișa un câmp text în care userul

introduce o valoare în funcție de datele

problemei. După completarea tuturor

câmpurilor de cerințe în funcție de valorile

acestora, aplicația va afișa operațiile care

îndeplinesc datele de intrare sub formă de

butoane.

În vederea implementării eficiente

Start

Modul de

recunoaștere

vocală

Cuvânt=ready

Da

Trimite robotului

cuvântul “Start”

pentru a fi

pronunțat

NuCuvânt=start

Nu

Trimite robotului

cuvântul “Ready”

pentru a fi

pronunțat

Da

Trimite robotului

cuvântul “Ok”

pentru a fi

pronunțat

Așteaptă numarul

de secunde pana la

urmatorul multiplu

de 5

Executa comanda

de ridicare

Stop

Modul de

recunoaștere

vocală

Fig. 5.21 Schema de sincronizare

Fig. 5.23 Fereastra Executions a sistemului NaoCoop

Page 44: Sistem inteligent de cooperare a roboților.pdf

44

a proceselor de manipulare și

deplasare în mediile de lucru

reale s-a conceput și dezvoltat

un mediu de lucru vurtual care

a permis testarea și corectarea

etapă cu etapă a lucrului cu

sistemul NaoCoop. În fig 5.24

este prezentată fereastra

principală a aplicației “părinte”

de testare a operației de

manipulare a unui obiect de

către doi roboți care permite

controlarea unuia din roboți și

pornirea aplicației.

5.5 CONCLUZII

Acest capitol răspunde obiectivelor specifice ale tezei de concepție, modelare,

algoritmizare și implementare a unui sistem inteligent de cooperare a RP. Sunt prezentate pe

rând toate procesele online ale sistemului NaoCoop cuprinzând modulele de cooperare și de

sincronizare a roboților din cadrul echipei ce execută operații în mediul industrial. Scopul

sistemului inteligent dezvoltat constă în executarea unei operații complexe de manipulare de

către o echipă de roboți care cooperează pentru îndeplinirea cu succes a acesteia. Sistemul

implementat dispune de o interfață simplă și prietenoasă, prin care utilizatorul/inginerul de

cunoștiințe poate controla echipa de RP. Fiecare robot component al echipei este dezvoltat având

propriul său set elementar de secvențe elementare pe care le poate executa. Atunci când se

constată ca un singur robot pășitor nu este în măsură să execute operația independent (motivul

pentru care acest sistem a fost construit) sunt utilizați doi roboți pentru o execuție cooperativă,

folosind o bază de date, o bază de secvențe și o bază de planuri de operații ca suport. Baza de

date conține toate informațiile necesare pentru a efectua operații complexe. Baza de secvențe

cuprinde toate secvențele elementare învățate de roboți offline. Baza de planuri de operații

conține lista tuturor planurilor rezultate în urma planificării secvențelor elementare învățate în

funcție de operația cerută. Sistemul dezvoltat permite coltrolul de la distanță a echipei de RP din

mediul industrial.

Fig 5.24 Aplicația NaoCoopFormsApp

Page 45: Sistem inteligent de cooperare a roboților.pdf

45

6. TESTE ȘI EXPERIMENTE CU SISTEMUL NaoCoop

6.1 INTRODUCERE

În vederea testării performanțelor rezultatelor sistemului inteligent de cooperare

NaoCoop descris în detaliu în cap. 5, au fost efectuate experimente în mediul real utilizând o

echipă formată din doi roboți pășitori NAO. Pentru pregătirea roboților și a mediului de lucru

pentru experimente au fost realizate următoarele: încarcarea bateriilor roboților, punerea în

funcțiune a sistemului wireless, delimitarea zonei de lucru și generarea acesteia.

Scopul experimentelor de cooperare prezentate în acest capitol constă în efectuarea unei

analize detaliate asupra modului de manipulare și deplasare prin cooperare a roboților NAO,

precum și evaluarea performanțelor de execuție a operațiilor

compuse din secvențe elementare învațate și salvate în baza de

secvențe. Fluxul de realizare a experimentelor de cooperare

prezentat în fig. 6.1. conține 5 pași; primul pas presupune

dezvoltarea mediului de lucru pentru experimnte ce urmează a

fi realizate în vederea validări algoritmilor sistemului

dezvoltat. Următorul pas constă în definirea operațiilor pentru

experimente. În continuare, la pasul trei are loc elaborarea

programului de experimente; la pasul 4 se realizează

experimentele propuse. Procesarea rezultatelor experimentelor

obținute cu echipa de roboți pășitori Nao are loc la pasul 5.

În vederea unei analize cât mai detaliate a modului de

cooperare pentru manipularea de diferite obiecte a sistemului

NaoCoop în mediile de lucru, au fost concepute scene de lucru

în care s-au realizat multiple teste ce au pus accent pe diferite

aspecte ale cooperari roboților, modul de planificare a

sarcinilor, precizia atingerii țintelor, timpul necesar pentru

parcurgerea și realizare unor operații. În prealabil pentru

testarea sistemului și evidențierea cu o precizie cât mai bună a

derulării experimentelor, precum și a performanțelor obținute,s-a dezvoltat o replică a scenei

reale de lucru în mediul virtual Webots.

Pentru realizarea experimentelor au fost urmate și respectate următoarele:

a. Fiecare robot existent sau adăugat în echipă trebuia să fi fost înregistrat în baza de date

cu toate datele aferente acestuia (caracteristici, sarcini, secvențe care le poate executa etc.)

b. Pentru fiecare robot al echipei s-au învățat secvențe elementare stocate în baza de

secvențe.

c. Toate datele necesare fluxului de execuție a unei operații sunt înregistrate.

d. Operațiile complexe cerute de utilizator sunt formate din secvențe învățate anterior, în

caz contrar utilizatorul este avertizat că operația dorită de acesta are secvențe elementare

necunoscute încă de roboți.

6.2 DEZVOLTAREA MEDIULUI DE LUCRU

Spațiul de lucru (fig 6.2) pentru realizarea experimentelor are o lungime de 4,3 m și

lațime de 5 m și se află în laboratorul centrului de cercetare de Robotică și Realitate virtuală al

Universității Transilvania din Brașov. Componentele necesare experimentelor prezente în mediu

de lucru sunt: un suport paralelipipedic de 25 cm înălțime pentru obiectele de manipulat, markere

Nao diferite cu posibiliatate de prindere în centrul obiectelor de manipulat, diferite obiecte (bară

Fig. 6.1 Planul experimental de

cooperare

Dezvoltarea mediului de

lucru pentru experimente

Definirea operațiilor pentru

experimente

Elaborarea programului de

experimente

Realizarea experimentelor

Procesarea rezultatelor

Page 46: Sistem inteligent de cooperare a roboților.pdf

46

de 1.5 m lungime sau cutie voluminoasă și grea de 2 kg etc.) și cutia de depozitare /ieșirea, aflată

la 3 m respectiv 6 m distanța de suport.

Fig. 6.2 Mediul de lucru pentru experimente de cooperare a roboților Nao

Punctele de deplasare pană la obiectul de manipulat sunt calculate în urma identificării

Naomark-ului specific fiecărui obiect în parte și sunt măsurate raportându-se la poziția inițială a

robotului, fiind trimise ca și coordonate fixe acestora pentru deplasare. Scena virtuală (fig. 6.3)

asociată scenei reale, reprezintă o interfața de lucru între sistemul dezvoltat și mediul real creată

pentru testarea diverselor secvențe de manipulare, precum și învățarea și testarea de sarcinici

concrete.

Fig. 6.3 Reprezentarea spațiului de lucru al experimentului de cooperare pentru manipularea unei bare

lungi în Webots

6.3 DEFINIREA OPERAȚIILOR PENTRU EXPERIMENTE

Pentru testarea sistemului de cooperare NaoCoop s-a optat pentru două operații complexe

de manipulare a obiectelor în mediul de lucru, operații care nu se pot executa de către un singur

robot pășitor: OP1, manipularea unei bare lungi și OP2, împingerea unui corp voluminos.

Page 47: Sistem inteligent de cooperare a roboților.pdf

47

Aceste operațiile constau în

manipularea obiectelor de către

echipa de doi RP și deplasarea

acestora în diferite puncte finale

aflate la distnțe de 3m , respectiv

6m relativ la poziția inițială a

obiectului. Așa cum au fost

prezentate operațiile în cap 4,

acestea sunt în final sume de

secvențe elementare învățate

anterior de roboții Nao și stocate

în baza de secvențe. Scenariul

poziționării roboților și obiectelor

în planul unei operații este

prenzentat în fig 6.4.

În urma procesului de

planificare au rezultat

următoarele succesiuni de

secvențe elementare:

- pentru OP1: SL9-poziționarea pentru manipularea unui bare cu diametrul de 5cm aflat la

înălțimea de 25 cm, SL1-prinderea obiectului de jos în sus (manipulare locală inițială), SM1-

deplasarea cu obiectul (manipulare în mișcare) și SL13-eliberarea obiectului (manipulare locală

finală).

- pentru OP2: SL14-poziționarea pentru manipularea unui cutii prin împingere, SM10-deplasarea

cutiei prin împingere (manipulare în mișcare) și SL10-rotirea robotului (orientarea robotului).

6.4 ELABORAREA PROGRAMULUI DE EXPERIMENTE

În cadrul programului experimentelor au fost stabilite regulile de măsurare a timpilor

execuției operațiilor (de la plecarea roboților din punctul inițial până la finalizarea execuției

operației), marcarea punctelor inițiale și finale (punctele în care trebuie să ajungă echipa de

roboți cu obiectul). Programul de experimente constă în testarea și măsurarea timpilor realizați

de echipa de roboți pășitori Nao pentru îndeplinirea cu succes a operațiilor complexe.

Astfel pentru măsurarea timpilor de execuție a operațiilor de manipulare s-a pornit

cronometrul odată cu începerea localizării obiectului în mediul de lucru de către primul robot

Nao din echipă, și până la atingerea țintei (punctului final). Punctele inițiale ale roboților și

punctele finale ale obiectelor de manipulat au fost marcate pentru o identificare mai ușoară la

repetarea testelor. În cadrul programului s-a hotarât un număr de 12-15 repetiții ale

experimentelor pentru fiecare situație în parte (când obiectul este deplasat 3 m-punct final 1 sau

6 m-punct final 2).

6.5 REALIZAREA EXPERIMENTELOR DE COOPERARE

PENTRU MANIPULARE

Roboții Nao sunt deplasați în poziții diferite, în funcție de obiectele de manipulat,

conform calculelor, ținand cont de centrul de greutate al obiectelor. Pentru fiecare dintre cele 2

obiecte de forme și greutăți diferite au fost efectuate 15, respectiv 12 teste de manipulare. În fig.

6.5 și fig. 6.6 sunt prezentate secvențe din mișcarile efectuate pentru manipularea celor 2 obiecte

de tip bară și respectiv de tip cutie.

Obiect de

manipulat

Punct final 2

(6m)

Punct final 1

(3m)

RP1

RP2

D1

D2

(0,0,0)(3,1,20)

(6,1,5)

Fig. 6.4 Scenariul de lucru a unei operații

Page 48: Sistem inteligent de cooperare a roboților.pdf

48

În fig 6.6 se prezintă

secvențe ale celuilalt

experiment ce presupune

cooperarea roboților Nao

pentru manipularea unei cutii

de dimensiuni mari prin

împingere.

Pentru derularea

experimentelor s-a ținut cont

de planul de experiment

stabilit, astfel că RP1 și RP2

au plecat din pozițiile inițiale

marcate, obiectul de

manipulat s-a identificat prin

marker-ul poziționat în

centrul acestuia, iar punctul

final a fost marcat pentru a se putea interpreta precizia de atingere a țintei.

Fig 6.6 Secvențe din traectoriile OP2

6.6 PROCESAREA REZULTATELOR EXPERIMENTELOR DE

COOPERARE

În timpul experimentelor au fost urmărite secvență cu secvență deplasările roboților la

punctul de identificare a obiectului de manipulat, precizia de atingere a țintei, manipularea

pieselor/obiectelor în mod sincron, deplasarea acestora și toți pașii intermediari. Pe parcursul

experimentelor nu s-au evidențiat coliziuni cu obstacolele din mediu și nici pierderi de semnale

înregistrate între sistem și roboți. Implementarea în mediul real și rezultatele prezentate nu au

înregistrat eșecuri, experimentele confirmând robustețea algoritmilor și a sistemului conceput,

validand astfel rezultatele teoretice.

În tab. 6.1 sunt prezentați timpii înregistrați de echipa de roboți ce duce la îndeplinire

operația complexă de depozitare a unui obiect de forma unor bare lungi. Au fost sintetizate

rezultatele corespunzătoare celor două cazuri în care obiectul de manipulat a fost depozitat la

distanțe de 3m, respectiv 6m de la punctul inițial. S-a observat că în cazul depozitelor obiectelor

aflate la distanțe mai mari de 4m, precizia de atingere a punctului final de către roboții Nao se

înregistrau erori de poziționare (plaja de eroare fiind de +/- 10cm, eroare nu întotdeauna

acceptabilă pentru operații de manipulare, deoarece obiectul trebuie să ajungă cu o precizie mai

Fig 6.5 Secvențe din traectoriile OP1

Page 49: Sistem inteligent de cooperare a roboților.pdf

49

mare în punctul final pentru a putea fi preluat pentru următoarea operație), motiv pentru care a

fost nevoie de corecții în sistemul de comandă și control pentru reducerea acestor erori.

Pe lângă corecțiile aferente fiecărei operații s-au stabilit și limitări ale distanțelor pentru

manipularea prin cooperare.

Conform valorilor din tab.6.1 în fig. 6.8 este prezentat graficul cu timpii realizați de

echipa de roboți pentru îndeplinirea cu success a sarcinii complexe de manipulare a unei bare de

dimensiuni. În urma efectuării celor 15 teste de manipulare pentru obiectul de tip bară de 1,5 m,

rezultă valoarea timpului mediu sarcinii de 3,49 minute pentru deplasarea barei până la suportul

aflat la 3m distanță.

Fig.6.8 Timpii înregistrați pentru indeplinirea cu succes a operației OP1

În tab. 6.2 sunt prezentați timpii înregistrați în care echipa de roboți execută operația

complexă de manipulare prin împingere a obiectului 2 sub forma unei cutii mari. Pentru acest

experiment au fost tratate de asemenea sintetizate rezultatele celor două cazuri în care obiectul de

manipulat a fost împins o distanță de 3 m, respectiv 6 m, metri măsurați relativ la punctul inițial.

S-a observat că în acest experiment, precizia de atingere a țintei (punctului) finale pentru distanțe

mai mari de 3 m de către roboții Nao înregistrau erori de poziționare mai mici (plaja de eroare

0

1

2

3

4

5

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Tim

p

Test

Timp (min) 3m Timp (min) 6m

Tab. 6.1 Rezultatele pentru manipularea

obiectului1

Nr. test Timp (min)

3m

Timp (min)

6m

1 3,45 4.14

2 3,55 4.22

3 3,29 4,00

4 3,29 4,05

5 3,36 4.10

6 3,28 3,58

7 4,01 4,37

8 4,02 4,35

9 3,27 4,32

10 3,33 4,01

11 3,29 4,01

12 3,31 4,03

13 3,55 4,24

14 3,40 4,26

15 4,00 4,36

Tab. 6.2 Rezultatele pentru manipularea

obiectului2

Nr. test Timp (min)

3m

Timp (min)

6m

1 2,25 2,45

2 2,38 2,57

3 2,44 3,00

4 2,50 3,07

5 2,55 3,11

6 2,30 2,51

7 3,02 3,22

8 3,05 3,21

9 2,53 3,14

10 2,37 3,02

11 3,07 3,28

12 3,10 3,28

Page 50: Sistem inteligent de cooperare a roboților.pdf

50

fiind de +/- 3-5 cm) fapt pentru care nu a fost nevoie de corecții în sistemul de comandă și

control.

Conform datelor din tab.6.2 în fig. 6.9 este prezentat graficul cu variațiile timpilor pentru

îndeplinirea cu success a sarcinii complexe de manipulare a unei cutii mari și grele.

În urma efectuării celor 12 teste de manipulare pentru obiectul 2, rezultă valoarea

timpului mediu pentru îndeplinirea sarcinii de 2,49 min pentru cazul deplasării pe orizontală a

cutiei pe o distanță de 3 m.

Fig.6.9 Timpuii înregistrați pentru indeplinirea cu succes a operației OP2

6.8 CONCLUZII

În acest capitol sunt prezentate procesele de generare a scenelor de lucru pentru

experimentele de cooperare în vederea manipularii obiectelor în mediile reale cu o echipă

formată din doi roboți Nao și în final analiza rezultatelor obținute.

Pentru experimentele realizate în medii reale, a fost nevoie de o pregătire adecvată a

mediului de lucru privind poziționarea obiectelor (la puncte fixe), îndepartarea obstacolelor și o

pregătire a roboților privind interfațarea cu sistemul de comandă de cooperare dezvoltat.

Pentru cazul cooperării în mediul de lucru cu ajutorul comunicării wireless (directe) și a

comunicării prin transmiterea de date prin mesaje, s-a constatat un timp de sincronizare a

roboților cu aproximativ 30% mai mic în cazul comunicării prin wireless; acesta a condus la o

scădere semnificativă a duratei execuției operației cu aproximativ 15%. Dezavantajul major

constatat în urma acestor teste, este faptul că utilizând comunicarea prin transfer de date, acestea

se transmit mai greu și programarea acestora se face mai anevoios.

Timpii înregistrați de echipa de roboți pentru îndeplinirea operațiilor complexe testate au

fost sintetizați și interpretați, astfel că pentru obiectele de manipulat ce au fost depozitate la

distanțe de 6 m s-a observat că precizia de atingere a țintei finale înregistra erori de +/- 10cm,

eroare nu întotdeauna acceptabilă pentru operații de manipulare prin cooperare. În acest caz a

fost nevoie de corecții în sistemul de comandă și control și limitări ale distanței pentru

manipulare. Pentru cazul distanțelor mai mici de 6 m s-a observat o precizia de atingere a țintei

finale mai bună, cu o abatere de +/- 3-5 cm, în acest caz nefiind nevoie de corecții în sistemul de

comandă și control.

În cadrul experimentelor de manipulare bazate pe cooperarea roboților a fost urmărit atât

traseul și deplasarea roboților până la obiectul de manipulat, cât și nivelul de apropiere de acesta,

sincronizarea între aceștia și procesul de manipulare. Pe parcursul acestor experimente nu au

avut loc coliziuni cu obstacole din mediul de operare, implementarea în mediile reale validând

soluțiile teoretice propuse.

0

1

2

3

4

1 2 3 4 5 6 7 8 9 10 11 12

Tim

p (

min

)

Test

Timp (min) 3m Timp (min) 6m

Page 51: Sistem inteligent de cooperare a roboților.pdf

51

7. CONCLUZII, CONTRIBUȚII PROPRII,

DISEMINAREA REZULTATELOR ȘI DIRECȚII DE

CERCETARE ÎN VIITOR

7.1 CONCLUZII FINALE

Întrebarea principală la care prezenta lucrare răspunde este: Cum se poate îmbunătății

lucrul în echipă a roboților pășitori în mediile industriale?. Încă de la început, roboții mobili

pășitori au fost concepuți să execute în mediile industriale, sarcini de la cele mai simple la cele

mai complexe într-un mod repetitiv. Folosirea echipelor de roboților pășitori în mediile

industriale, în procese complexe de transport local, manipulare și monitorizare, raportat la echipe

de roboți ficși, aduce un plus de utilitate prin acoperirea unor spații de lucru mai mari, precum și

prin creșterea adaptabilitații, flexibilitații și complexității. Echipele de roboți pășitori sunt

integrate în mediile industriale pentru diferite operații: manipularea și transportul local de

piese/obiecte/scule, asamblarea/împachetarea de produse, execuția de operații tehnologice,

inspecția și monitorizarea sistemelor și proceselor etc.

Deși resursele hardware ale roboților pășitori au atins în ultimii ani un nivel înalt în ceea

ce privește performanța și fiabilitatea, din studiile literaturii de specialitate reiese faptul că partea

sofware este încă limitată de performanțele scăzute privind flexibilitatea, portabilitatea,

comunicabilitatea și inteligența. Astfel, actual se impune dezvoltarea de nivele superioare ale

sistemelor inteligente existente de comunicare/cooperare a roboților în cadrul echipelor din care

fac parte, precum și noi interfețe de comunicare cu operatorul uman.

În urma analizei stadiului actual al cercetărilor de implementare și adaptare a echipelor de

roboți pășitori în activități din mediile industriale, se evidențiază tendința de dezvoltare a

acestora ca sisteme inteligente, cu capacități evoluate de cooperare, planificare și interacțiune cu

operatorul.

Prin cercetările dezvoltate în cadrul acestei teze s-a pus în evidenţă posibilitatea realizării

unei comunicaţii simple şi necostisitoare care să permită includerea celor doi roboţi în cadrul

unor sarcini de cooperare. Timpul de răspuns şi modul de interacţiune permit dezvoltarea cu

succes de aplicaţii de transfer direct de obiecte sau asamblarea unor componente în cadrul unor

spaţii de lucru diverse.

Prezenta cercetare a condus la un sistem inteligent de cooperare ce ajută la coordonarea

unei echipe de roboți pășitori pentru execuția de operații complexe ce au loc în mediile

industriale, cu algoritmii de sincronizare, învățare, decizie, planificare și selectare evaluate. La

baza generării operațiilor complexe au stat secvențele elementare care au fost învățate de către

roboții pășitori prin tehnica demonstrativă și stocate în bază de secvențe. Tehnica de învățare

abordată a fost corelată și dezvoltată conform caracteristicilor roboților pășitori Nao astfel:

pentru sarcinile de localizare a obiectelor s-a optat pentru utilizarea markerilor Nao; pentru

sarcinile de manipulare s-au contruit faze formate din secvențe elementare învățate preliminar;

pentru sarcinile de deplasare s-au conceput și dezvoltat funcții de calcul a distanței

(GotoNaomark). Toate sarcinile, fazele și respectiv secvențele elementare componente ale unei

operații complexe au fost descrise cu reguli de producție cu structura IF condiție THEN acțiune,

stabilite pe baza datelor de intrare (cerințelor) impuse de utilizator și stocate într-o baza de

cunoștiințe.

În cadrul sistemului NaoCoop au fost dezvoltate și două module: de comunicare și de

sincronizare a roboților pășitori din cadrul echipei ce execută operații în mediul industrial. Din

dorința de a fii cât mai asemanători cu oamenii în ceea ce privește cooperarea propriu-zisă,

însușirea comunicării verbale între RP a fost inevitabilă. Astfel această capacitate de a comunica

prin cuvinte, propoziții și fraze a fost transpusă și în sistemul NaoCoop, roboții fiind programați

Page 52: Sistem inteligent de cooperare a roboților.pdf

52

să comunice prin trimitere și recepție de mesaje, mesaje interpretate printr-un modul de

recunoaștere vocală.

Pentru un control simplu al echipei de roboți, sistemul dispune și de o interfață simplă și

prietenoasă, prin care i se permite utilizatorului/inginerului de cunoștiințe accesul la informațiile

despre roboți, respectiv despre echipă, la planurile de operații curente, editarea, adăugarea sau

ștergerea acestora.

Sistemul conceput și dezvoltat funcționează după principiul în care dacă se constată ca un

singur robot pășitor nu este în măsură să execute operația independent sunt utilizați doi roboți

pentru o execuție prin cooperare, folosind o bază de date, o bază de secvențe și o bază de planuri

de operații ca suport.

Baza de date conține toate informațiile necesare pentru a efectua operații complexe. Baza

de secvențe cuprinde toate secvențele elementare învățate prin demostrare offline. Baza de

planuri de operații conține lista tuturor planurilor rezultate în urma planificării secvențelor

elementare învățate în funcție de operația cerută.

Performanțele sistemului inteligent de cooperare NaoCoop au fost testate prin

experimente de cooperare în vederea manipularii obiectelor în mediul virtual și cel real, utilizând

o echipă formată din doi roboți pășitori de tip Nao, iar rezultatele au fost analizate și interpretate.

Astfel s-a observat că pentru obiectele de manipulat ce au fost depozitate la distanțe de 6 m,

precizia de atingere a țintei finale de către roboți înregistrau erori de poziționare de +/- 10cm,

eroare nu întotdeauna acceptabilă pentru operații de manipulare prin cooperare. În acest caz a

fost nevoie de corecții în sistemul de comandă și control al sistemului și de limitări de distanțe

pentru manipularea prin cooperare. Pentru cazul distanțelor mai mici de 6 m s-a observat o

precizie de atingere a țintei finale mai bune, cu o abatere de +/- 3-5 cm, în acest caz nefiind

nevoie de corecții în sistemul de comandă și control. Pe parcursul experimentelor din mediul real

nu au avut loc coliziuni cu obstacole din mediul de operare, implementarea construită validând

soluțiile teoretice propuse.

7.2 CONTRIBUȚII PROPRII

Prezenta teza de doctorat are un profund caracter inovativ, autoarea aducând o serie de

contribuții originale privind conceprea, implementarea și testarea unui sistem inteligent de

cooperare a unei echipe de roboți pășitori pentru operații în medii industriale. Pornind de la o

metodologie de cercetare judicioasă urmărind îndeplinirea scopului și obiectivelor propuse, în

urma cercetărilor efectuate precum precizii și a rezultatelor obținute se prezintă următoarele

contribuții proprii:

1. Analiza critică a studiilor teoretice și experimentale din testarea de specialitate privind

funcţiile şi modulul de integrare a echipelor de roboți mobili în medii industriale, precum

şi stadiul actual al cercetărilor în domeniul cooperării roboților şi a echipelor de roboți.

2. Concepția, dezvoltarea și implementarea unui algoritm de deplasare cu calibrare a

roboților pășitori în medii industriale.

3. Conceperea unei baze de secvențe elementare prin învățarea roboților pășitori prin

demonstrare.

4. Concepția, dezvoltarea și implementarea sistemului inteligent NaoCoop, care are la bază

algoritmul de cooperare prin sincronizare bazat pe comunicare vocală.

5. Metodologia de dezvoltare a unui sistem de simulare şi testare în medii virtuale a

funcţionării algoritmilor sistemului NaoCoop.

6. Concepţia, dezvoltarea şi implementarea unui algoritm de planificare inteligentă a

operațiilor și sarcinilor de manipulare a unei echipe de roboți pășitori pe baza regulilor de

producție stocate în baza de cunoștiințe.

Page 53: Sistem inteligent de cooperare a roboților.pdf

53

7. Concepţia, dezvoltarea şi implementarea unor interfeţe grafice bazate pe arhitecturi care

integrează toate componentele sistemului, înregistrează şi prelucrează datele aflate în

baza de date , pentru o conducere a echipelor de roboți în timp real.

8. Dezvoltarea, concepția și implementarea unei metode de sincronizare a roboților pășitori

ce are la bază un algoritm de recunoaștere vocală.

9. Programe și metodologii de experimentare pentru evaluarea și validarea sistemului

inteligent de cooperare elaborat și a rezultatelor teoretice obținute.

10. Metoda de evaluare a performanțelor sistemului NaoCoop și a interacţiunii om-echipă la

executarea unor operații complexe în medii industriale.

7.3 VALORIFICAREA REZULTATELOR CERCETĂRII

7.3.1 LUCRĂRI PUBLICATE

În perioada de realizare a prezentei teze de doctorat, autorul a elaborat 11 lucrări

științifice ( 6 prim autor și 5 coautor) publicate în jurnale și buletine de conferințe, după cum

urmează:

Conferințe cu proceedings ISI

1. Panfir, A.N; Covaci, A.; Postelnicu, C.C; Mogan G. Control Interfaces for a

Collaborative System Using LabView Package, DoCEIS 2012, pp 33-40, 2012.

2. Panfir, A.N; Covaci, A.; Postelnicu, C.C; Mogan G. An Intelligent Tasks Planning

System for Industrial Mobile Robots, MTM & Robotics 2012 Mechanical

Transmissions (MTM) and the International Conference on Robotics (Robotics’12),

Clermont-Ferrand, France, 6-8 iunie, pp 308-315, 2012

3. Panfir, A.N.; Boboc, R. G.; Mogan G. NAO Robots collaboration for object

manipulation, Optirob 2013 Applied Mechanics and Materials Vol. 332, pp 218-223,

2013.

4. Panfir, A.N.; Boboc, R. G.; Mogan G. Intelligent Mobile Robots Cooperation within

a Tasks Oriented Environment, CINTI 2013, Budapest, Hungary, 2013.

5. Panfir, A. N; Butilă E.; Boboc, R.; Mogan, G; Controlling humanoid NAO robots

using a web interface, 3rd World Conference on Information Sciences (WCIT-2012) ,

Barcelona, Spain. 14-16 Noiembrie, 2012.

6. Covaci, A; Panfir, A.N.; Postelnicu, C.C; Talaba D. A Virtual Reality Simulator for

Basketball Free-Throw Skills Development, DoCEIS 2012,pp 105-112, 2012.

7. Postelnicu, C.C; Covaci, A; Panfir, A.N.; Talaba D. Evaluation of a P300-Based

Interface for Smart Home Control , DoCEIS 2012, pp 179-186, 2012.

8. Butilă, E.V., Panfir, A.N., Mogan G. Expert System for Coupling Selection, Optirob

2013 Applied Mechanics and Materials Vol. 332, pp 314-318, 2013.

9. Boboc, R. G.; Toma, M.; Moga, H.; Panfir, A.N.; Talaba D. An Omnidirectional

System for Navigation in Virtual Environments, DoCEIS 2013, Caparica, Lisabona,

Portugal, pp. 192-199, 2013.

10. Boboc, R. G.; Panfir, A.N.; Talaba D. Learning New Skills by a Humanoid Robot

through Imitation, CINTI 2013, Budapest, Hungary, 2013.

Conferințe cu proceedings BDI

11. Panfir, A.N; Covaci, A.; Mogan, G. Mobile robots communication system using

LabView Package, Adems’11 , publicată în revista Acta Technica Napocensis, Series

Applied Mathematics and MechanicsCluj-Napoca, Romania, 21-23 Septembrie, 2011.

Page 54: Sistem inteligent de cooperare a roboților.pdf

54

7.3.2 PARTICIPĂRI LA CONFERINȚE

În perioada elaborării tezei de doctorat autorul a prezentat lucrări știițifice în cadrul

următoarelor conferințe:

1. International Conference on Robotics (Robotics 2010), Cluj-Napoca, România, 23-25

Septembrie, 2010.

2. Doctoral Conference on Computing, Electrical and Industrial Systems Conference

(DoCEIS’12), Caparica, Portugalia, 26-28 Februarie, 2012. 3. International Conference on Robotics (Robotics 2012), Clermont-Ferrand, Franța, 6-8 Iunie,

2012

4. 3rd World Conference on Information Sciences (WCIT-2012) , Barcelona, Spain. 14-16

Noiembrie, 2012.

5. International Conference on Biomechanics, Neurorehabilitation, Mechanical

Engineering, Manufacturing Systems, Robotics and Aerospace: Optimization of the

Engineering Systems (OPTIROB2013), Constanța, România, 20-23 Iunie, 2013.

7.3.3 PARTICIPĂRI LA CONTRACTE DE CERCETARE ȘI

DEZVOLTARE

În perioada studiilor doctorale autoarea a participat ca membru în cadrul contractelor

POSDRU/107/1.5/S/76945 şi PNII-IDEI 775/2010.

7.3.4 STAGIU EXTERN

În perioada studiilor doctorale autorul a participat la un stagiu extern de patru luni în

cadrul institutului de cercetare Fraunhofer Institute for Manufacturing Engineering and

Automation (Institutul IPA- Stuttgart) din Germania între 01.03.2012 și 30.06.2012 sub

îndrumarea cercetătorului ing. Bubeck Alexander.

7.4 DIRECȚII DE CERCETARE VIITOARE

Cercetările realizate, precum și rezultatele teoretice, experimentale și practice obținute,

integrate într-o structură logică de obținere de sisteme inteligente, acoperă doar parțial

diversitatea problemelor evidențiate în urma stadiului actual prezentat. Astfel, în urma studiilor

realizate, precum și a rezultatelor obținute în cadrul acestei lucrări, se evidențiază trei direcții

principale de continuare a acestora:

-Conducerea unei echipe de roboți pentru cooperare, formată din diferite modele și tipuri

de roboți, cu diferite capacități.

-Dezvoltarea de scenarii pentru realizarea de operații complexe în care există obstacole

mobile și creșterea complexității operaților echipei de roboți.

-Studii privind interfețe multimodale de comunicare om-roboți corelate cu noile tendințe

de programare congnitivă a roboților.

Page 55: Sistem inteligent de cooperare a roboților.pdf

55

BIBLIOGRAFIE SELECTIVĂ

1. [Arkin, 1992] R. C. Arkin. Cooperation without communication: Multiagent schema-based robot

navigation. Journal of Robotic Systems, 9(3):351–364, 1992.

2. [Asama, 1989] H. Asama, A. Matsumoto, and Y. Ishida. Design of an autonomous and distributed

robot system: ACTRESS. In IEEE/RSJ IROS, pages 283–290, 1989.

3. [Bell, 2010] M. Bell, Flexible object manipulation. PhD thesis, Dartmouth College, Hanover,

New Hampshire,2010.

4. [Berman, 2011] Spring Berman , Quentin Lindsey , Mahmut Selman Sakar , Vijay Kumar and

Stephen C. Pratt Experimental study and modeling of group retrieval in ants as an

approach to collective transport in swarm robotic systems, 2011

5. [Biggs, 2003] Biggs, G., MacDonald, B.,“A survey of robot programming languages”,

“Proceedings of the Australasian Conference on Robotics and Automation”, CSIRO,

2003

6. [Boulebtateche, 2005] Boulebtateche, B., Fezari, M., Bedda, M., “A voice Guiding System for Autonomous

Robots”, “Asian Journal of information Technology”,Vol.4(12), pp.1201-1207, 2005

7. [Breuer, 2011] Breuer, T., Giorgana, G. R., Ronny, M., Hochgeschwender, N., Holz, D., Hegger, F.,

Jin, Z., et al., “Johnny : An Autonomous Service Robot for Domestic Environments”,

“Journal of Intelligent and Robotic Systems”, Springer, Vol.66(2), pp. 245-272, 2011

8. [Brooks, 2007] Brooks, A. G., “Coordinating Human-Robot Communication”, PhD Thesis,

Massachusetts Institute of Technology, 2007

9. [Burgard, 2000] Burgard, W. et al. 2000. “Collaborative Multi-Robot Exploration.” Proc. IEEE

International Conference on Robotics and Automation, San Francisco CA, 2000.

10. [Butilă, 2013] Butilă, E.V., Panfir, A.N., Mogan G. Expert System for Coupling Selection, Optirob

2013 Applied Mechanics and Materials Vol. 332, pp 314-318, 2013.

11. [Caloud, 1990] P. Caloud, W. Choi, J.-C. Latombe, C. Le Pape, and M. Yin. Indoor automation with

many mobile robots. In IEEE/RSJ IROS, pages 67–72, 1990.

12. [Cheng ,2008] P. Cheng , J. Fink and V. Kumar (2008) Abstractions and Algorithms for

Cooperative Multiple Robot Planar Manipulation. In Robotics: Science and Systems.

13. [Donald ,1994] B. R. Donald, J. Jennings, and D. Rus. Analyzing teams of cooperating mobile

robots. In IEEE ICRA, pages 1896–1903, 1994.

14. [Ducasse, 2005] Ducasse, S., Board, E., Anglin, S., Appleman, D., Buckingham, E., Cornell, G.,

Davis, T., et al., “Squeak, Learn Programming with Robots”, p. 362,

ISBN1590594916, Apress, 2005

15. [Elango, 2011] Elango, M.,Nachiappan, S., Tiwari, M.K., “Balancing task allocation in multi-robot

systems using K-means clustering and auction based mechanisms“,“Expert Systems

with Applications“, Elsevier, Vol. 38, pp. 6486-6491,

doi:10.1016/j.eswa.2010.11.097, 2011

16. [Feigenbaum,2003 ] Feigenbaum, Edward A. (2003). "Some challenges and grand challenges for

computational intelligence". Journal of the ACM 50 (1): 32–40.

doi:10.1145/602382.602400.

17. [Fink ,2009] J. Fink , N. Michael , S. Kim and V. Kumar (2009) Planning and control for

cooperative manipulation and transportation with aerial robots. In International

Symposium on Robotics Research. September. (R. Siegwart, Eds.) Springer Verlag.

18. [Fink ,2011] Jonathan Fink , Nathan Michael , Soonkyum Kim and Vijay Kumar (2011) Planning

and Control for Cooperative Manipulation and Transportation with Aerial Robots.

The International Journal of Robotics Research, 30(3)

19. [Franklin ,1995] D.E. Franklin, A.B. Kahng, and M.A. Lewis. Distributed sensing and probing with

multiple search agents: toward system-level landmine detection solutions. In

Detection Technologies for Mines and Minelike Targets, Proceedings of SPIE,

Vol.2496, pages 698–709, 1995.

20. [Fukuda ,1990] T. Fukuda, Y. Kawauchi, and H. Asama. Analysis and evaluation of cellular robotics

(CEBOT) as a distributed intelligent system by communication amount. In

IEEE/RSJ IROS, pages 827–834, 1990.

21. [Gerkey, 2002] Gerkey, B. and M.J. Mataric. 2002. “Pusher-watcher: An Approach to Fault-

Tollerant Tightly-Coupled Robot Coordination.” Proc. of the IEEE International

Conference on Robotics and Automation (ICRA2002), Washington DC

22. [Gil, 2010] Gil, A., Reinoso, O., Ballesta, M., Juliá, M., “Multi-robot visual SLAM using a Rao-

Blackwellized particle filter”, “Robotics and Autonomous Systems”, Elsevier, Vol.

58, pp. 68–80 , doi: 10.1016/j.robot.2009.07.026, 2010

Page 56: Sistem inteligent de cooperare a roboților.pdf

56

23. [Gorostiza, 2011] Gorostiza, J. F., Salichs, M. a., “End-user programming of a social robot by dialog”,

“Robotics and Autonomous Systems”, Elsevier, Vol. 59(12), pp. 1102-1114,

doi:10.1016/j.robot.2011.07.009, 2011

24. [Hofmeister, 2011] Marius Hofmeister, Marcel Kronfeld and Andreas Zell ,Cooperative Visual

Mapping in a Heterogeneous Team of Mobile Robots Robotics and Automation

(ICRA),page 1491-1496. IEEE, (2011)

25. [Jolly, 2010] Jolly, K.G., Kumar, R.S., Vijayakumar, R., “Intelligent task planning and action

selection of a mobile robot in a multi-agent system through a fuzzy neural network

approach”, “Engineering Applications of Artificial Intelligence”, Elsevier, Vol. 23,

pp. 923–933 , doi: 10.1016/j.engappai.2010.04.001, 2010

26. [Kitts, 2009] C. Kitts, K. Stanhouse, and P. Chindaphorn, “Cluster space collision avoidance for

mobile two-robot systems,” Intelligent Robots and Systems, IEEE/RSJ International

Conference on, pp. 1941–1948, Oct 2009.

27. [Kovács, 2011] T. Kovács, A. Pásztor, and Z. Istenes, "A multi-robot exploration algorithm based on

a static Bluetooth communication chain," Robotics and Autonomous Systems, vol.

59, pp. 530-542, 2011.

28. [Lawton, 2003] Lawton, J.R. et al. 2003. “A Decentralized Approach to Formation Maneuvers.”

IEEE Transactions on Robotics and Automation, Vol 19, No 6, 933–941.

29. [Lopez, 2011] Lopez, J., Perez, D., Zalam, E., “A framework for building mobile single and multi-

robot applications”, “Robotics and Autonomous Systems”, Elsevier, Vol. 59, pp.

151-162, doi: 10.1016/j.robot.2011.01.004, 2011

30. [Mas, 2010] Mas and C. Kitts, “Multi-robot object manipulation using cluster Advanced

Intelligent Mechatronics, IEEE/ASME International Conference on - in press

.(2010).

31. [Mataric, 1994] Mataric, M., “Interaction and Intelligent Behavior”, Massachusetts Institute Of

Technology, 1994.

32. [Mataric, 1995] Mataric M, Nilsson M, Simsarian K (1995) Cooperative multi-robot box-pushing.

Intelligent robots and systems. IEEE/RSJ international conference on, In, pp 556–

561.

33. [Medicherla, 2007] Medicherla, H., Sekmen, A., “Human–robot interaction via voice-controllable

intelligent user interface”, “Robotica”, Cambridge University Press, Vol. 25(5), pp.

521-527, doi:10.1017/S0263574707003414, 2007

34. [Michael , 2011] N. Michael , J. Fink and V. Kumar (2011) Cooperative Manipulation and

Transportation with Aerial Robots. Autonomous Robots, 30(1):73-86.

35. [Michael, 2009] N. Michael , J. Fink and V. Kumar (2009) Cooperative manipulation and

transportation with aerial robots. In Robotics Science and Systems. Seattle,

Washington, June

36. [Mocan,2005] Mocan, M. Logistica. „Cap. 4. Dimensionarea sistemelor logistice”. p. 90, Buletinul

Ştiintific al UPT, Tomul 50 (64), 2005, Fascicola 1,2 , ISSN 1224-6050

37. [Mogan, 2009] Mogan, Gh., Aron, C., „Robot fine motion during assembly processes”, Proceedings

of DAAAM'09 International Conference, pag. 1491-1492, Viena, 2009.

38. [Nanjanath, 2010] Nanjanath, M., Gini, M., “Repeated auctions for robust task execution by a robot

team”, “Robotics and Autonomous Systems”, Elsevier, Vol. 58(7), pp. 900-909, doi:

10.1016/j.robot.2010.03.011, 2010

39. [Navarro, 2011] Navarro, I., Matía, F., “A framework for the collective movement of mobile robots

based on distributed decisions”, “Robotics and Autonomous Systems”, Elsevier, Vol.

59(10), pp. 685-697, doi: 10.1016/j.robot.2011.05.001, 2011

40. [Ozdemircan, 2008] Ozdermican, M. Z., “Robot control with voice command. Architecture”, Department

of Computer Engineering,Yildiz Technical University, 2008

41. [Quentin, 2011] Quentin Lindsey, Daniel Mellinger and Vijay Kumar "Construction of Cubic

Structures with Quadrotor Teams", Robotics: Science and Systems VII, vol. 7 , pp.

177-185, 2011

42. [Panfir, 2012a] Panfir, A.N; Covaci, A.; Postelnicu, C.C; Mogan G. “Control Interfaces for a

Collaborative System Using LabView Package”, DoCEIS 2012, pp 33-40, 2012.

43. [Panfir, 2012b] Panfir, A.N; Covaci, A.; Postelnicu, C.C; Mogan G. “An Intelligent Tasks Planning

System for Industrial Mobile Robots”, MTM & Robotics 2012 Mechanical

Transmissions (MTM) and the International Conference on Robotics (Robotics’12),

Clermont-Ferrand, France, 6-8 iunie, pp 308-315, 2012

44. [Panfir, 2013a] Panfir, A.N.; Boboc, R. G.; Mogan G. “NAO Robots collaboration for object

manipulation”, Optirob 2013 Applied Mechanics and Materials Vol. 332, pp 218-

223, 2013.

Page 57: Sistem inteligent de cooperare a roboților.pdf

57

45. [Panfir, 2013b] Panfir, A.N.; Boboc, R. G.; Mogan G. “Intelligent Mobile Robots Cooperation

within a Tasks Oriented Environment”, CINTI 2013, Budapest, Hungary, 2013.

46. [Sanhoury, 2012] I. M. H. Sanhoury, S. H. M. Amin, and A. R. Husain, "Switching Between

Formation in a Moving Shape for Multi-Robots via Synchronization Approach,"

Procedia Engineering, vol. 41, pp. 678-684, 2012.

47. [Schulman, 2013] J. Schulman, J. Ho, A. Lee, I. Awwal, H. Bradlow, and P. Abbeel, “Finding locally

optimal, collision-free trajectories with sequential convex optimization,” in Proc.

Robotics: Science and Systems, 2013.

48. [Sen ,1994] S. Sen, M. Sekaran, and J. Hale. Learning to coordinate without sharing information.

In Proc. AAAI, pages 426–431, 1994.

49. [Senthilkumar, 2012] Senthilkumar, K. S., Bharadwaj, K. K.,”Multi-robot exploration and terrain coverage

in an unknown environment”, “Robotics and Autonomous Systems”, Elsevier, Vol.

60(1), pp. 123-132, doi: 10.1016/j.robot.2011.09.005, 2012

50. [Siagian, 2011] C. Siagian, C.-K. Chang, R. Voorhies, and L. Itti, "Beobot 2.0: Cluster architecture

for mobile robotics," Journal of Field Robotics, vol. 28, pp. 278-302, 2011.

51. [Steels,1994] L. Steels. A case study in the behavior-oriented design of autonomous agents. In

Proc. Simulation of Adaptive Behavior, 1994.

52. [Stone, 1997] Peter Stone, Manuela V., Multiagent systems: A survey from a machine learning

perspective, Computer Science Department,Carnegie Mellon Univeristy, 1997

53. [Topoleanu, 2009] Topoleanu, T.S., Mogan, G., “Aspects Concerning Mobile Robot Control Using

Vocal Commands”, “Proceedings of 2nd International Conference on Advanced

Engineering in Mechanical Systems”, Cluj, Romania, 2009

54. [Tung ,1993] B. Tung and L. Kleinrock. Distributed control methods. In Proceedings of the 2nd

International Symposium on High Performance Distr ibuted Computing, pp 206–

215, 1993.

55. [Turpin ,2013] M. Turpin , N. Michael and V. Kumar Computationally efficient trajectory planning

and task assignment for large teams of unlabeled robots, 2013

56. [Turpin, 2012] Turpin, M. , Michael, N. and Kumar, V. Decentralized formation control with

variable shapes for aerial robots. In Proc. of the IEEE Int. Conf. on Robotics and

Automation. St. Paul, MN, May, 2012

57. [Wang, 2008a] W. Wang, H. Zhang, G. Zong, and J. Zhang, "Force cooperation in a reconfigurable

field multirobot system," Journal of Field Robotics, vol. 25, pp. 922-938, 2008.

58. [Wang, 2008b] Y. Wang and C. W. de Silva, "A machine-learning approach to multi-robot

coordination," Engineering Applications of Artificial Intelligence, vol. 21, pp. 470-

484, 2008.

59. [Wang, 2012] Wang, J., Xin, M., “Distributed optimal cooperative tracking control of multiple

autonomous robots”, “Robotics and Autonomous Systems”, Vol. 60(4), pp. 572-583,

doi:10.1016/j.robot.2011.12.002, Elsevier, 2012

60. [Wei, 2003] Wei, W., “Neuro-fuzzy and model-based motion control for mobile manipulator

among dynamic obstacles”, Science in China Series F: Information Sciences, vol. 46,

pag. 14-30, 2003.

61. [Whitbrook, 2010] Whitbrook A.,”Programming mobile robots with ARIA and Player A Guide to C++

Object Oriented Control”, p. 124, ISBN 978-1-84882-863-6, Springer, 2010

62. [Yamashita, 2001] Yamashita A, Ota J, Arai T, Ichikawa K, Kamata K, Asama H (2001) Cooperative

manipulation and transportation of a large object by multiple mobile robots. In:

Asama H, Inoue H (eds) Intelligent autonomous vehicles 2001, pp 375–380

63. [Yao, 2007] Yao, Z., Gupta, K., “Path planning with general end-effector constraints”, Robotics

and Autonomous Systems, vol. 55, pag. 316-327, 2007

64. [Yasuda, 2012] G.Yasuda, "Modeling and Distributed Implementation of Synchronization and

Coordination in Multi-Robot Systems," , vol. 41, pp. 1051-1057, 2012.

65. [Yulan, 2012a] H. Yulan, Z. Qisong, Q. Lijuan, and X. Pengfei, "Research on Multi-Robot

Cooperation Capture Based on Virtual Reality Technology," Procedia Engineering,

vol. 29, pp. 3507-3512, 2012.

66. [Yulan, 2012b] H. Yulan, Z. Qisong, and X. Pengfei, "Study on Multi-Robot Cooperation Stalking

Using Finite State Machine," Procedia Engineering, vol. 29, pp. 3502-3506, 2012.

67. [Zhu, 2011] Zhu W, Choi S (2011) A closed-loop bid adjustment approach to dynamic task

allocation of robots. Eng Lett 19(4):279–288 space control,” in Proceedings of the

20th ASME Annual Conference on Information Storage and Processing Systems,

June 2010.

Page 58: Sistem inteligent de cooperare a roboților.pdf

58

REZUMAT

Prezenta teză de doctorat are ca scop îmbunătăţirea lucrului în echipele de roboți pășitori

ce își execută activitățile în mediile industriale, fiind propus în acest sens implementarea şi

folosirea atributului uman de „cooperare”. Este conceput, dezvoltat şi implementat un sistem

inteligent de cooperare pentru roboții mobili pășitori din medii industriale specific operațiilor de

manipulare, care au la bază tehnici de învăţare a secvențelor componente și algoritmi de

planificare a acestora. Tehnica elaborată pentru planificarea secvențelor elementare învăţate

folosește reguli de producție stocate în baza de cunoștiințe pentru a soluţiona problema de

alocare a secvențelor în cadrul unei echipe de roboți pășitori ce lucrează prin cooperare pentru

execuția unei operații complexe. Algoritmul de învăţare al acestui sistem a fost corelat și

dezvoltat conform caracteristicilor roboților pășitori astfel că pentru secvențele de manipulare s-a

optat pentru tehnica de învățare prin demonstrare. Sunt dezvoltate de asemenea două module de

comunicare și de sincronizare a roboților pășitori din cadrul echipei ce execută operații în mediul

industrial. În lucrare este prezentată o interfaţă de control a sistemului dezvoltat care permite

operatorului să trimită cereri la echipa de roboți, care are ca scop transmiterea de informaţii la

sistemul de comandă și control al echipei de roboți. În scopul validării, funcţionarea sistemului

inteligent a fost testată pentru cazuri specifice de manipulare a obiectelor atât în mediul virtual,

cât și cel real, utilizând o echipă formată din doi roboți pășitori Nao, iar rezultatele au fost

analizate și interpretate.

ABSTRACT

This thesis aims to improve walking robots working in teams that perform their activities in

industrial environments , highlighting the implementation and use of the "cooperation" human

attribute. It is designed and implemented an intelligent system of cooperation for mobile robots

from industrial environments, handling operations that are based on learning techniques of

sequence components and their scheduling algorithms. The technique developed for learned

elementary planning sequences is using production rules stored in the database and solves the

problem of sequence allocation in a team of walking robots cooperating to execute complex

operations. The learning algorithm of this system was developed according to the characteristics

of the walking robots thus for the manipulation sequences the chosen technique to be used was

the technique of learning by demonstration. Also, two modules are developed: communication

and synchronization of walking robots on the team that performs operations in the industrial

environment. The thesis also presents a user interface that controls the developed system and

allows the operator to send requests to the team of robots. In order to validate the intelligent

system specific cases of manipulating objects were tested in both virtual and the real

environments, using a team of two Nao robots, and the results were analyzed and interpreted.

Page 59: Sistem inteligent de cooperare a roboților.pdf

59

Curriculum Vitae

Nume: ALINA NINETT PANFIR

Data şi locul naşterii: 17 Mai 1985, Brașov, jud. Brașov

Naţionalitate: Română

Adresă: Calea Bucureşti, nr. 46, Braşov, România

E-mail: [email protected]; [email protected]

Studii:

Octombrie, 2010 – Septembrie, 2013, Universitatea Transilvania din Braşov, Facultatea

de Design de Produs şi Mediu, Centrul de Cercetare: Informatică Virtuală Industrială şi

Robotică (D10): Program de cercetare ştiinţifică, Titlul tezei de doctorat – Sistem

inteligent de cooperare a roboților mobili pășitori în medii industriale.

Octombrie, 2005 – Iunie, 2009, Universitatea Transilvania din Braşov, Facultatea de

Inginerie Electrică şi Ştiinţa Calculatoarelor, Secţia Telecomunicaţii.

Septembrie 2000 – Iunie, 2004 Colegiul Național de Informatică “Grigore Moisil”,

Brașov

Experienţă profesională:

August 2013- prezent, programator, Waters România, Brașov.

2006 - 2011 , Administrator de resurse umane, S.C. VALCAB S.R.L., Braşov.

Cunoştinţe în domeniul ştiintelor inginereşti şi al calculatoarelor:

Limbaje de programare: .NET (C#), C/C++, Java, PHP, HTML/CSS

Proiectare şi simulare: Matlab – Simulink, Webots, Labview

Programe editare: Microsoft Office, Photoshop

Activitate științifică:

11 lucrări în proceedings-uri ISI şi IEEE (9 indexate ISI, 1 indexat BDI, 1 în curs de

indexare) ale unor conferințe internaționale (6 ca prim autor)

participare la conferinţe internaţionale în Portugalia, Spania,Franța şi Romania

stagiu de cercetare în cadrul institutului Fraunhofer, Stuttgart, Germania

Limbi străine:

Engleză – avansat

Spaniolă – mediu

Franceză – începător

Page 60: Sistem inteligent de cooperare a roboților.pdf

60

Curriculum Vitae

Name: ALINA NINETT PANFIR

Date and birth place: 17 May 1985, Brașov

Nationality: Romanian

Adress: Calea Bucureşti, nr. 46, Braşov, România

E-mail: [email protected]; [email protected]

Studies:

October 2010 - September, 2013, Transilvania University of Brasov, Faculty of Product

Design and Environment, Research Center: Virtual Industrial Informatics and Robotics

(D10): Program of scientific research. Thesis title: „Intelligent mobile robots cooperation

system in industrial environments”.

October 2004 - July, 2009, Transivalia University of Brasov, Electrical Engineering and

Computer Science Faculty, Bachelor Degree: Telecommunication

September 2000 – June, 2004 National College of Informatics “Grigore Moisil”, Brașov

Professional experience:

August 2013 - Present, developer ,Waters Romania, Brașov.

2006 - 2011 , administrator, S.C. VALCAB S.R.L., Braşov.

Engineering and computer science skills:

Programming Languages: .NET (C#), C/C++, Java, PHP, HTML/CSS

Design and Simulation: Matlab – Simulink, Webots, Labview

Editing Software: Office, Photoshop

Publications:

11 proceedings papers (9 indexed ISI, 1 indexed in International Databases, 1 in process

of being indexed) at international conferences (6 first author)

participation at international conferences in Portugal, France, Spain and Romania

research internship within Franhopher Institute, Suttgart, Germany

Languages:

English – advanced

Spanish– medium

French – beginner


Recommended