Sunteți pe pagina 1din 147

Universitatea Dunrea de Jos din Galai

Contribuii la elaborarea unor soluii ncorporate


(embedded) de conducere n timp real a sistemelor
robotice i vehiculelor autonome
Tez de doctorat
Conductor tiinific Doctorand
Prof. Dr. Ing. Adrian Filipescu Ing. Ioan unea
Galai, 2009
2
Rezumat
Principala tez a aceste cercetri este c o reea distribuit de microcontrollere
ncorporate poate oferi soluii fezabile pentru cele mai importante probleme legate de
conducerea roboilor autonomi. Unele elemente ale acestui sistem de control
distribuit sunt localizate la nivelul vehiculului autonom, altele sunt dispersate ntr-un
mediu inteligent. Aceast abordare poate conduce la reduceri semnificative de cost
pentru sistemele robotice i poate contribui la dezvoltarea unor asistenti robotici
personali pentru ngrijirea persoanelor n vrst sau cu diverse dizabiliti.
Totui, microcontrollerele uzuale au limitri severe n ce privete puterea de calcul i
capacitatea de stocare a datelor, iar task-urile asociate cu conducerea roboilor
autonomi sunt deosebit de complexe.
Din acest motiv, au fost explorate urmtoarele directii de cercetare:
n primul rnd, a fost propus o structur de control distribuit multi-procesor. n
acest fel, task-urile de navigaie sunt mprite n sub-task-uri mai simple, care
sunt asignate unor microcontrollere distincte.
n al doilea rnd, au fost propui algoritmi noi, compatibili cu limitrile
microcontrollerelor uzuale.
Soluiile propuse au un pronunat caracter interdisciplinar, mbinnd elemente de
electronic, inginerie software si ingineria sistemelor.
ntreaga cercetare a fost subordonat ideii de implementare a unui asistent robotic
personal pentru persoane n vrst sau cu dizabiliti, dar soluiile propuse sunt
aplicabile i pentru realizarea altor tipuri de roboi de serviciu.
Sunt propuse contribuii la rezolvarea urmtoarelor probleme ale conducerii roboilor
autonomi:
3
Localizarea.
Problema localizrii roboilor mobili este esenial n orice algoritm de navigaie i de
aceea se propune o nou metod de localizare, bazat pe balize active ultrason.
Aceast metod permite determinarea simultan a distanei i orientrii robotului fa
de balize i reduce semnificativ volumul de calcule necesar pentru localizare.
Programarea roboilor
Se propune un limbaj de programare simplu, inspirat de standardul IEC61131-3,
destinat programrii PLC-urilor, limbaj pe care l-am denumit RDPL (Robot Decision
Programming Language).
n aceast abordare, diverse evenimente, asociate cu senzori distribuii n mediu
sunt tratate ca intrri digitale obinuite, iar comenzile de micare a vehiculului ctre
inte predefinite sunt tratate ca ieiri digitale din sistem. Limbajul rezultat este
suficient de simplu pentru a putea fi folosit de utilizatori care au cunotine
elementare de programare.
Urmrirea unei traiectorii
Se propune un algoritm pentru urmrirea unei traiectorii bazat pe conceptul de
feromoni virtuali. Acetia sunt stocai in memoria unui server de feromoni care
menine o hart a mediului, n care este ncorporat informaia despre rutele posibile,
n mod similar cu mecanismul prin care unele insecte sociale isi coordoneaz
activitile. Algoritmul propus permite controlul roboilor individuali, dar i a
formaiunilor de roboi.
Ocolirea obstacolelor
Este prezentat un algoritm reactiv de ocolire a obstacolelor n timp real, pe care l-am
denumit, algoritmul ricoeului. Acesta functioneaza cu senzori low-cost si poate fi
implementat pe majoritatea microcontrollerelor uzuale.
4
Folosirea tehnologiei RFID pentru conducerea roboilor mobili
Sunt prezentate aplicaii ale tehnologiei RFID (Radio Frecquency IDentification)
pentru localizarea roboilor mobili si pentru urmrirea unei traiectorii.
5
Abstract
The main thesis of this work is that a distributed network of embedded
microcontrollers is able to provide feasible solutions to the most important problems
of autonomous robot control. Some elements of the distributed control system
proposed are located on the mobile robot, others are deployed in a smart
environment . This can lead to significant cost reduction of the robotic systems, and
could allow the development of affordable personal robotic assistants, designed to
support the elderly and disabled.
However, usual microcontrollers have severe limitations in what concerns computing
power and storage capacity, and the tasks associated with robot control are proven
to be very complex.
Therefore, two design strategies are explored:
First, a multi-processor control structure is proposed. Thus, the complex task of
robot control is split into several simpler sub-tasks, each assigned to a different
microcontroller.
Moreover, some new, simpler, navigation algorithms, compatible with the limited
computational power of the usual microcontrollers are presented.
Given the multidisciplinarity of the field of robotics, some of the topics covered in this
dissertation are related to Electronics, and software engineering, but the main focus
remains on control engineering.
The entire research was subordinated to the idea of implementing a Personal
Robotic Assistant for the elderly or disabled, but the solutions proposed are equally
aplicable to the implementation of other service robots.
The following research fields are addressed:
6
Robot localization in indoor environments.
The localization problem is crucial for any robot control algorithm, and therefore a
new localization method, based on active ultrasonic beacons is proposed. This
method allows simultaneous measurement of the distance and orientation of the
autonomous vehicle with respect to the active beacon.
Robot programming.
A simple programming language, inspired by the standard IEC61131-3, intended for
PLCs is proposed. In this approach, various events, detected by remote sensors, are
treated as regular logical inputs in the system, while predefined navigation goals are
interpreted as logical outputs.
Path following.
The algorithm for path following proposed is based on the concept of virtual
pheromones. These are stored by a virtual pheromone server, which updates a
map of the enviromnent, embedding pheromone trail information. The control
algorithm proposed allows controlling individual robots, as well as robot swarms in a
bio-mimetic approach.
Obstacle avoidance.
A simple, reactive algorithm, called the bubble rebound algorithm is proposed. It
requires low-cost sensors, and can be implemented on most available
microcontrollers.
The use of the RFID technology for robot control.
Several applications of the RFID technology for robot localization and path following
are also presented.
7
Cuprins
Cap. 1. Introducere ............................................................................................17
1.1 Formularea problemei ..................................................................................17
1.2 Obiectivele cercetrii ....................................................................................20
1.3 Sumarul contribuiilor aduse de cercetarea descris n prezenta tez. .21
1.4 Structura prezentei teze .........................................................................22
Cap. 2. Delimitri conceptuale pornind de la stadiul actual al cunotinelor in
domeniu ..............................................................................................................25
2.1 Caracteristicile unui Asistent Robotic Personal (PRA) .................................25
2.2 Abordarea propus .......................................................................................26
2.2.1 Ipoteze simplificatoare ..............................................................................26
2.2.2 Structura unui PRA ...................................................................................27
2.3 Task-uri asociate cu navigaia roboilor autonomi ........................................29
2.4 Modelul cinematic al vehiculului cu doua roti motoare si traciune
diferential ..........................................................................................................30
Cap. 3. Where Am I? Problema localizrii in sistemele robotice ........................32
3.1 Clasificarea sistemelor de localizare ...........................................................32
3.2 Sisteme de localizare relativ ......................................................................33
3.3 Sisteme de localizare absolut ....................................................................37
3.3.1 Sisteme de localizare bazate pe msurarea distanelor ..........................37
3.3.2 Sisteme de localizare bazate pe msurarea unghiurilor ..........................39
3.3.3 Alte metode de localizare .........................................................................44
3.4 Concluzii privind metodele de localizare prezentate ....................................47
8
3.5 Contribuii la rezolvarea problemei localizrii roboilor mobili ......................48
3.5.1 O metod de identificare a balizelor ultrason ...........................................48
3.5.2 Metod de localizare bazat pe tehnologia RFID ....................................53
3.6 Concluzii privind localizarea PRA .................................................................55
Cap. 4 Where Should I Go? Selecia intelor de navigaie ...................................56
4.1 Abordri cunoscute n domeniul progrmarii roboilor autonomi ...................57
4.2 Contribuii la rezolvarea problemei programrii roboilor autonomi ...............59
4.2.1 Formularea problemei ...............................................................................59
4.2.2 Descrierea general a soluiei propuse .....................................................60
4.2.3 Detalii privind implementarea RDPL .........................................................62
4.2.3.1 Crearea si meninerea unei reprezentri interne asupra mediului .......62
4.2.3.2 Definirea intelor de navigaie ..............................................................63
4.2.3.3 Definirea aciunilor ...............................................................................64
4.2.3.4 Programarea deciziilor .........................................................................64
4.3 Concluzii .......................................................................................................77
Cap. 5 How Should I Get There? Problema controlului micrii roboilor
mobili ctre int ...................................................................................................79
5.1 Formularea problemei ...................................................................................79
5.1.1 Planificarea rutei (path planning) ..............................................................79
5.1.2 Stabilizarea punct la punct ......................................................................80
5.1.3 Urmrirea unei traiectorii geometrice definite ntr-o parametrizare
independent de timp (path following) ................................................................80
5.1.4 Urmrirea unei traiectorii geometrice definite ntr-o parametrizare
dependent de timp (trajectory tracking) .............................................................81
5.2 Soluii cunoscute de conducere a roboilor pentru path following .................81
9
5.2.1 Modaliti de reprezentare a traiectoriei tint ............................................81
5.2.2 Algoritmi geometrici de urmrire a traiectoriei (path following) .................83
5.2.2.1 Algoritmul Follow the Carrot ..............................................................83
5.2.2.2 Algoritmul Pure Pursuit ......................................................................84
5.2.3 Conducerea fuzzy a roboilor mobili pentru urmrirea unei traiectorii .......88
5.2.4 Conducerea roboilor mobili cu ajutorul feromonilor artificiali ....................93
5.2.4.1 Conceptul de feromoni artificiali ...........................................................93
5.3 Contribuii la conducerea roboilor mobili pentru urmrirea unei traiectorii ...95
5.3.1 Conducerea roboilor mobili cu ajutorul feromonilor virtuali .......................95
5.3.1.1 Modelarea feromonilor artificiali ............................................................95
5.3.1.2 Definirea traiectoriei int cu ajutorul feromonilor virtuali ......................97
5.3.1.3 Calculul concentraiei de feromoni ........................................................98
5.3.1.4 Abordri posibile pentru conducerea roboilor mobili folosind
conceptul de feromoni virtuali ...............................................................................100
5.3.2 Conducerea roboilor mobili cu ajutorul informaiei stocate n
tag-uri RFID distribuite in mediu ............................................................................103
5.4 Concluzii .........................................................................................................105
Cap 6. ... and not get hurt. Problema ocolirii obstacolelor .....................................107
6.1 Formularea problemei .....................................................................................107
6.2 Algoritmi cunoscui de ocolire a obstacolelor ..................................................108
6.2.1 Algoritmii de tip bug ..................................................................................108
6.2.2 Algoritmul cmpului de potential (Virtual Potential Field Algorithm) ...........109
6.2.3 Algoritmul VFH (Vector Field Histogram) ....................................................110
6.2.4 Metoda Bubble Band ................................................................................111
6.2.5 Alte metode de ocolire a obstacolelor .........................................................112
10
6.3 Un nou algoritm de ocolire a obstacolelor. Algoritmul bubble rebound.........112
6.3.1 Detecia obstaclelor ......................................................................................112
6.3.2 Descrierea algoritmului de ocolire a obstacolelor .........................................113
6.3.3 Calculul unghiului de ricoseu ........................................................................115
6.4 Concluzii ...........................................................................................................116
Cap. 7 Exerimente de implementare in timp real ....................................................119
7.1 Delimitri ...........................................................................................................120
7.2 Descrierea dispozitivului experimental .............................................................120
7.3 Evaluarea implementarii limbajului RDPL ........................................................123
7.4 Experimente pentru studiul unui algoritm de urmrire a traiectoriei
bazat pe conceptul de feromoni virtuali ..................................................................123
7.5 Experimente pentru evaluarea algoritmului bubble rebound
de ocolire a obstacolelor ..........................................................................................127
Cap. 8 Concluzii ......................................................................................................129
8.1 Sumarul contribuiiilor cercetrii .......................................................................129
8.2 Direcii de cercetare viitoare .............................................................................130
Sumarul rezultatelor activitatii de cercetare a autorului ...132
Referine ..................................................................................................................135
Anexe ......................................................................................................................145
11
Lista figurilor
Fig. 2.1 Structura general tipic de conducere a unui vehicul autonom
Fig. 2.2 Schema bloc a echipamentului ncorporat in AGV
Fig. 2.3 Structura unui PRA
Fig. 2.4 Controlul navigaiei roboilor autonomi din perspectiva teoriei sistemelor
automate
Fig. 2.5 Variabilele cinematice ale vehiculului cu dou roi motoare si o roat
directoare
Fig. 3.1 Ilustrarea conceptului de elips de incertitudine
Fig. 3.2 Traiectoria simulat in cazul unei diferene de 1% ntre diametrele roilor
Fig. 3.3 Ilustrarea principiului trilateraiei
Fig. 3.4 Trilateraia cu repere coliniare conduce la nedeterminare
Fig. 3.4 Nedeterminare in cazul trilateratiei cu repere coliniare
Fig. 3.5 Notaii folosite pentru formularea problemei triangulaiei
Fig. 3.6 Triangulaie cu dou repere
Fig. 3.7 Notaii folosite pentru ilustrarea metodei triangulaiei geometrice
Fig. 3.8 Notaii pentru ilustrarea metodei de triangulaie cu calculul distanelor
Fig. 3.9 Principiul de funcionare al unui canal RFID
Fig. 3.10 Modelul zonei de recunoatere intr-un sistem RFID
Fig. 3.11 Activarea selectiv a balizelor cu identificator radio
Fig. 3.12 Structura balizelor ultrason cu identificare DTMF
Fig. 3.13 Structura receptorului pentru identificarea balizelor
Fig. 3.14 Determinarea azimutului sursei de semnal pe baza msurrii ITD
Fig. 3.15 Exemplu de circuit pentru msurarea Interaural Time Difference ITD
12
Fig. 3.16 Localizare n raport cu o singur baliz
Fig. 3.17 Amplasarea tag-urilor RFID pentru localizarea roboilor mobili
Fig. 4.1 Reprezentarea unui sistem automat ca sistem de decizie i actiune
Fig. 4.2 Schema logica de execuie a unui program RDPL
Fig. 4.3 Mecanismul de actualizare a intrrilor digitale
Fig. 4.4 Structura modulului Data Acquisition incluznd comenzile vocale
Fig. 4.5 Exemplu de program RDPL
Fig. 5.1 Formularea problemei de conducere pentru path following
Fig. 5.2 Formularea problemei de conducere pentru trajectory tracking
Fig. 5.3 Diverse modalitti de reprezentare explicita a traiectoriei int
Fig. 5.4 Ilustrarea principiului algoritmului follow the carrot
Fig. 5.5 Ilustrarea principiului algoritmului pure pursuit pentru path following
Fig. 5.6 Pure pursuit la urmrirea unei traiectorii liniare
Fig. 5.7 Curbura traiectoriei unui vehicul cu traciune diferenial n funcie de vitezele
roilor motoare
Fig. 5.8 Schema bloc a unui FLC
Fig. 5.9 Cteva moduri uzuale de a defini funciile de apartenen fuzzy
Fig. 5.10 Funcii de apartenen liniare simetrice
Fig. 5.11 Alta modalitate de definire a subdomeniilor fuzzy pentru e(t)
Fig. 5.12 Ilustrarea superpoziiei efectelor a N surse de feromoni
Fig. 5.13 Definirea traiectoriei int cu ajutorul feromonilor virtuali
Fig. 5.14 Ilustrarea zonei semicirculare de sensibilitate la feromoni
Fig. 5.15 Modelarea neuronala a interaciunilor mediate de feromoni
Fig. 5.16 Definirea implicit a unei traiectorii cu ajutorul feromonilor digitali stocati n
tag-uri RFID
13
Fig. 5.17 Definirea indirect a traiectoriei int cu ajutorul unor look-ahead points
precalculate i stocate n tag-uri RFID
Fig. 6.1 O ilustrare a algoritmului bug
Fig. 6.2 O ilustrare a algoritmului bug2
Fig. 6.3 O ilustrare a algoritmului cmpului de potenial
Fig. 6.4 Histograma polar folosita de algoritmul VFH
Fig. 6.5 Un exemplu de eroare sistematic la senzorii de tip sonar
Fig. 6.6 Ilustrarea conceptului de bubble band
Fig. 6.7 Definirea zonei de sensibilitate la obstacole
Fig. 6.8 Reprezentarea n diagrama polar a informaiei de la sonare
Fig. 6.9 Schema logic a procesului de ocolire a obstacolelor
Fig. 6.10 Ilustrarea mecanismului de ocolire a obstacolelor prin ricoeu
Fig. 6.11 O ilustrare a modului de calcul a unghiului de ricoseu
Fig. 6.12 Un exemplu de navigaie intr-un mediu tip labirint, cu inte intermediare
Fig. 7.1 Roboii folositi pentru experimente
Fig. 7.2 Interfaa grafic a simulatorului MobileSim
Fig. 7.3 Structura hardware a unui PRA
Fig. 7.4 Structura echipamentului folosit pentru testarea RDPL
Fig. 7.5 Echipamentul folosit pentru testarea algoritmilor de navigaie
Fig. 7.6 Un exemplu de reprezentare a hrii mediului, ncorpornd informaii despre
distribuia de feromoni
Fig. 7.7 Traiectoria inregistrat corespunztor hrtii din fig. 7.6
Fig. 7.8 nregistrarea unei traiectorii care conine un viraj n unghi drept
Fig. 7.9 nregistrarea comportamentului robotului pe o traiectorie curb n S
Fig. 7.10 nregistrarea comportamentului robotului pe o traiectorie oarecare
14
Fig. 7.11 Ilustrarea procesului de ocolire a unui obstacol
Fig. 7.12 Navigaie pe un coridor cu obstacole multiple
Fig. 7.13 Navigaie cu definirea unor inte intermediare
15
Lista tabelelor
Tabelul 3.1 Frecvene i standarde RFID
Tabelul 4.1. Variabile asociate cu resursele fizice ale sistemului
Tabelul 4.2. Resurse logice ale RDPL
Tabelul 4.3. Caracteristicile timerelor
Tabelul 4.4 Constante de timp asociate cu timerele predefinite
Tabelul 4.5. Semnificaia parametrilor TYPE i EDGE n definitia funciei TIMER
Tabelul nr. 4.6 Lista funciilor RDPL insotit de simbolurile grafice folosite
Tabelul 5.1 Un exemplu de reprezentare tabelar a bazei de reguli a unui FLC
16
Lista abrevierilor
ACO - Ant Colony Optimization
AGV Autonomous Guided Vehicle
A.M. - Amplitude Modulation
ASK Amplitude Shift Key
DTMF - Dual Tone Multi Frequency
FLC Fuzzy Logic Controller
ICC Instantaneous Center of Curvature
ITD Interaural Time Difference
PLC Programmable Logic Controller
PRA Personal Robotic Assistant
RDPL Robot Decision Programming Language
RFID Radio Frequency Identification System
VFH - Vector Field Histogram
VPF - Virtual Potential Field
XML Extensible Markup Language
17
1
Introducere
1.1 Formularea problemei
ntr-un studiu intitulat A robot in every home [1], Bill Gates, fondatorul Microsoft
Corporation, observ similitudini ntre dinamismul evoluiilor nregistrate n domeniul
roboticii i rapiditatea cu care a evoluat industria computerelor ncepnd din anii 70
si conchide:
Because the new machines will be so specialized and ubiquitous - and look so
little like the two-legged automatons of science fiction - we probably will not even call
them robots. But as these devices become affordable to consumers, they could have
just a profound impact on the way we work, communicate, learn and entertain
ourselves as the PC has had over the past 30 years.
Avnd n vedere, pe de o parte, impactul extraordinar pe care l-ar putea avea
roboii personali, iar pe de alta parte multitudinea de realizri absolut remarcabile
deja raportate in acest domeniu (vezi, de exemplu, [2], [3], [4]) se pune ntrebarea de
ce, totui, nu avem nc a robot in every home?
Printre rspunsurile posibile, sugerm:
Preul roboilor este nc extrem de ridicat.
18
Programarea roboilor este nc greoaie, inaccesibil end-user-ilor;
Exist o paradigm antropomorfic ([5]) in abordarea problemelor roboticii,
care ne determin s atribuim acestora o serie de caracteristici umane,
deocamdat dificil sau imposibil de realizat.
Nu dispunem de date statistice privind evoluia preurilor sistemelor robotice, dar,
urmrind istoricul realizrilor demne de atenie n acest domeniu, se poate observa
cu usurin c numrul si importana acestora a crescut semnificativ ncepnd din
anii 90, odat cu rspandirea microcontrollerelor i a structurilor incorporate
(embedded). Acestea au o serie de avantaje care le recomand pentru aplicaii n
domeniul roboticii:
Cost redus;
Consum redus de energie, ceea ce permite funcionarea ndelungat n
regim de alimentare de la baterii de acumulatoare;
Faciliti de comunicaie care permit realizarea cu usurint a unor structuri
multiprocesor, ceea ce mreste flexibilitatea de proiectare si reducerea
timpului necesar pentru scrierea aplicaiilor software.
Pe de alt parte, exist i cteva dezavantaje evidente ale structurilor ncorporate,
cum ar fi:
Putere de calcul redus fa de computerele clasice;
Capacitate redus de stocare a datelor.
Avnd n vedere complexitatea task-urilor asociate cu percepia, navigaia si
decizia n sistemele robotice ct si limitrile enumerate mai sus, rezult, la nivel
hardware, necesitatea adoptrii unor arhitecturi multiprocesor, iar la nivel software
selectarea sau elaborarea unor algoritmi compatibili cu limitrile de memorie si
putere de calcul specifice sistemelor ncorporate.
19
Elementele subliniate mai sus justific formularea principalei teze a acestei tezei,
dup cum urmeaz:
Un sistem ditribuit de structuri incorporate (embedded) poate oferi soluii fezabile
pentru principalele probleme legate de conducerea in timp real a roboilor autonomi.
Aceast formulare justific titlul tezei:
Contributii la elaborarea unor solutii bazate pe sisteme ncorporate (embedded)
pentru conducerea in timp real a sistemelor robotice i a vehiculelor autonome.
Formularea de mai sus rmne extrem de general i sunt necesare o serie de
delimitri care s asigure coerena cercetrilor.
Din multitudinea de aplicaii posibile ale roboticii, am ales s subordonm
cercetrile, ideii de implementare a conceptului de asistent robotic personal
(Personal Robotic Assistant - PRA) destinat persoanelor in varsta, sau cu diverse
dizabiliti senzorio-motorii.
Aceast opiune este justificat de datele statistice publicate de GAO (U.S.
General Accounting Office) [6] si U.S. Census [7], care arat c generaia baby-boom
a Americii este acum la varsta pensionrii, ceea ce va mri in viitorul apropiat
procentul persoanelor cu vrste peste 65 de ani din totalul populaiei. Situaia este
asemntoare i n celelalte state industrializate.
n Romnia, conform datelor statistice oficiale, publicate de Ministerul Muncii,
Familiei si Protectiei Sociale ([8]) si de Agenia Naional pentru Handicapai ([9])
existau la 31.12.2007 un numr de 643458 handicapai, reprezentnd 2.99% din
totalul populaiei de 21537563 persoane. Totodat, la 30.09.2008 existau un numr
de 5525957 pensionari (25.6% din total populaie), dintre care 909188 pentru
20
invaliditate, ceea ce conduce la un total de 1552646 handicapai si invalizi (7.2% din
total populaie). Cifrele de mai sus reflect o situaie grav, iar tendina de
mbtrnire a populaiei tinde s mreasc numrul persoanelor care au nevoie de
supraveghere permanent si de ingrijire medical minimal.
Cum vrsta naintat este n mod inerent asociat cu reducerea acuitii
senzoriale i cu o serie de dificulti locomotorii, fenomenul de mbtrnire a
populaiei, manifestat, ntre altele, prin creterea numrului de persoane care
necesit supraveghere sau asistent medical minimal permanent, aduce presiuni
importante asupra sistemului medical i asupra economiei n general ([10]).
n aceste condiii, dezvoltarea rapid a unor sisteme robotice capabile s
compenseze parial limitrile senzorio-motorii ale persoanelor n vrst, ar putea fi o
soluie a acestor probleme.
1.2 Obiectivele cercetrii
Obiectivul general al cercetrii descrise aici poate fi formulat in felul urmtor:
Demonstrarea fezabilitii ideii de a implementa un sistem de conducere a
vehiculelor autonome, destinate suplinirii deficienelor senzorio-motorii ale
persoanelor n vrst, sau cu diverse dizabiliti, bazat pe o structur multi-
procesor, realizat cu microcontrollere ncorporate (embedded).
Rezult urmtoarele obiective specifice:
1. Delimitarea conceptului de PRA n contextul vehiculelor autonome si stabilirea
structurii hardware a sistemului de conducere a acestuia;
2. Elaborarea unei metode de localizare cu performane superioare sistemelor
bazate pe dead reckoning;
3. Elaborarea si implementarea unui algoritm de urmrire a unei traiectorii
compatibil cu microcontrollerele uzuale;
21
4. Elaborarea si implementarea unui algoritm de ocolire a obstacolelor compatibil
cu senzorii low-cost disponibili (ultrason, infrared);
5. Elaborarea unei metode de selectare a intelor de navigatie pornind de la
informaiile furnizate de senzorii din mediu si de subsistemul de navigatie.
1.3 Sumarul contribuiilor aduse de cercetarea descris n prezenta tez
Pentru realizarea obiectivelor enumerate mai sus, au fost abordate principalele
probleme asociate cu conducerea vehiculelor autonome: localizarea, decizia,
urmrirea unei traiectorii i ocolirea obstacolelor.
n problema localizrii roboilor mobili, se propune o soluie care permite
determinarea simultan a distanei i a orientrii robotului n raport cu o baliz
ultrason special proeictat.
Pentru a permite formalizarea descrierii interaciunii ntre robot i mediu, a fost
elaborat un limbaj de programare, pe care l-am denumit RDPL (Robot Decision
Programming Language), care permite, ntre altele, selectarea intelor de navigaie n
funcie de starea unor senzori i actuatoare distribuite n mediu.
Pentru problema urmririi unei traiectorii se propune o soluie bio-mimetic, bazat
pe conceptul de feromoni virtuali, ncorporati intr-o hart a mediului, stocat de un
server de feromoni, aflat in comunicatie cu roboii mobili. Soluia propus permite
att conducerea roboilor individuali, ct si a formaiunilor de roboi si are multiple
avantaje.
n ce privete problema ocolirii obstacolelor, se propune un nou algoritm pur
reactiv, pe care l-am denumit bubble rebound algortihm (algoritmul ricoeului),
suficient de simplu pentru a fi implementat pe microcontrollere si compatibil cu
majoritatea senzorilor uzuali pentru detectarea obstacolelor (ultrason, infrared, laser).
22
Totodat, sunt explorate posibilitaile de folosire a tehnologiei RFID pentru
conducerea roboilor mobili i se propun soluii de localizare si urmrire a unei
traiectorii, bazate pe aceast tehnologie.
1.4 Structura prezentei teze
n afara prezentei introduceri, lucrarea de fa este structurat dup cum urmeaz:
Capitolul 2 formuleaz o serie de delimitri conceptuale pornind de la
stadiul actual al cunotinelor in domeniul conducerii roboilor mobili. Se
propune o definiie a asistentului robotic personal si o structur a
sistemului distribuit de conducere a acestuia.
Capitolul 3 trateaz problematica localizrii roboilor mobili. Se propune un
sistem de localizare bazat pe balize ultrason, care permite att
identificarea balizelor, ct i determinarea distanei i a azimutului balizei
fa de robot. Soluia propus face obiectul unei cereri de brevet, cu
denumirea Sistem de localizare pentru roboti mobili si vehicule
autonome, cerere inregistrata la OSIM sub numarul A/01021, din 04-12-
2009.
Capitolul 4 trateaz problema deciziei n sistemele de conducere a
roboilor autonomi. Se propune un nou limbaj de programare, denumit
RDPL (Robot Decision Programming Language), derivat din limbajele de
programare pentru PLC-uri, descrise de standardul IEC61131-3.
Capitolul 5 trateaz problema urmririi unei traiectorii. Se propune o soluie
de urmarire a traiectoriei bazata pe conceptul de feromoni virtuali. Spre
deosebire de soluiile cunoscute, care implementeaz foeromonii artificiali
ca urme detectabile cu ajutorul senzorilor, lsate de ageni in mediu, n
abordarea propus, feromonii virtuali sunt engrame create de ageni nu in
23
mediu, ci ntr-o hart a mediului, stocat n memoria unui server de
feromoni. Agenii dispersai in mediu se afl n comunicaie permanent cu
severul de feromoni i folosesc harta dinamic a mediului, meninut de
server, ca o memorie comun. Soluia propus permite definirea i
urmrirea traectoriei att pentru roboi individuali, ct i pentru formaiuni
de roboi.
Capitolul 6 trateaz problema ocolirii obstacolelor si prpoune un algoritm
reactiv nou, pe care l-am denumit algoritmul bubble-rebound (algoritmul
ricoeului).
Capitolul 7 prezint rezultatele experimentelor de implementare a soluiilor
propuse pe microcontrollere ncorporate low-cost/low power.
Capitolul 8 este rezervat concluziilor si sugereaz posibile directii pentru
cercetri viitoare.
Referinele sunt listate in ordinea citrii in textul prezentrii. Deoarece nu
toate publicaiile proprii sunt citate in mod formal, a fost introdus un
paragraf special, coninnd lista complet a publicaiilor autorului.
In Anexe este prezentat un CV sumar al autorului, precum i listing-ul
principalelor aplicaii software folosite pentru implementarea algoritmilor
descrii.
Structura tipic a fiecrui capitol este urmtoarea:
Formularea problemei;
Prezentarea soluiilor cunoscute;
Contribuii proprii la rezolvarea problemei;
Concluzii.
24
Avnd n vedere numrul foarte mare de soluii cunoscute din literatur pentru fiecare
din problemele abordate, sunt trecute in revist doar acele soluii care au direct
legatur cu contribuiile propuse.
Cercetrile descrise n prezenta tez s-au desfurat in Laboratorul de Robotic al
Facultii de tiina Calculatoarelor din Universitatea Dunrea de Jos, din Galai, sub
ndrumarea Prof. Dr. Ing. Adrian Filipescu i sunt parial sustinute din grantul ID_641,
finanat de Ministerul Educatiei i Cercetrii.
Robotii mobili folosii pentru experimente sunt Pioneer3-DX si PeopleBot, produi
de MobileRobots Inc. ([11]), aflai n dotarea laboratorului.
25

Delimitri conceptuale pornind de la stadiul actual al
cunotinelor in domeniu
2.1 Caracteristicile unui Asistent Robotic Personal (PRA)
Primele referiri la un nursing robot dateaz din 1985, cnd Borenstein i Koren
([12]) au propus o platform mobil, dotat cu un bra robotic, conceput s
suplineasc unele deficiene de mobilitate ale persoanelor cu handicap locomotor.
De atunci, un mare numr de cercetri ([3], [13], [14], .... [36]) au propus diverse
soluii fie pentru dezvoltarea unor scaune cu rotile inteligente, fie pentru dezvoltarea
unor dispozitive denumite in mod explicit asisteni robotici.
Principalele funcii/capabiliti dezirabile pentru un asistent robotic personal (PRA),
destinat persoanelor in vrst sau cu diverse dizabiliti, asa cum sunt reflectate n
literatura tiintific, sunt urmtoarele:
Capacitatea de navigaie independent, cu ocolirea obstacolelor detectate
pe parcurs;
Funcia de protezare locomotorie (walking aid). Este de dorit ca PRA s
poat fi folosit ca walker, sau ca scaun cu rotile;
Funcia de protezare senzorial. PRA trebuie s fie dotat, sau s poata
comunica cu senzori capabili s suplineasc unele deficiene senzoriale ale
persoanei asistate;
Funcia de protezare cognitiv (reminder);
26
Funcia de ajutor la manipularea unor obiecte (manipulation assistance);
Managementul teleprezenei prin controlul asupra echipamentului de
telecomunicaie;
Monitorizarea unor parametri medicali i apel automat la urgent;
Controlul aparaturii electrocasnice;
Recunoaterea unor comenzi vocale.
2.2 Abordarea propusa
Analiznd cerinele de mai sus, se impun cteva observaii:
Implementarea tuturor cerinelor enumerate folosind echipamentul
amplasat la bordul robotului mobil este dificil i contribuie la creterea
semnificativ a preului sistemului.
Unele cerine, de exemplu cea privind asistena la manipularea unor
obiecte, care implic includerea in sistem a unui bra robotic, au utilitate
practic limitat, dar pot multiplica preul sistemului de cteva ori.
Alte cerine (ex. recunosterea unor comenzi vocale si folosirea acestora
pentru controlul aparaturii electrocasnice, monitorizarea unor aparate
medicale, sau protezarea cognitiva prin folosirea unui reminder software)
au gasit soluii in urma unor cercetri independente de robotic ([37]).
Au rezultat urmtoarele:
2.2.1 Ipoteze simplificatoare
1. Dispozitivele denumite generic PRA opereaza de cele mai multe ori n interior, n
locuine, spitale, sau centre de reabilitare. Mediul n care evolueaz este cunoscut
si este, (sau poate fi) prevzut cu echipament de calcul si telecomunicaii,
aparatur medical, etc.
27
2. Principala funcie a unui PRA rmne cea de suport locomotor. Acesta trebuie s
fie capabil fie s transporte efectiv persoana asistat catre diverse puncte int,
fie s-l ghideze/sprijine n deplasarea ctre acele puncte.
Cu aceste ipoteze, se poate formula urmtoarea definiie:
Definiia 1
Un asistent robotic personal (PRA) este un vehicul capabil s se deplaseze autonom
i s interacioneze n mod programat cu o serie de senzori si actuatoare distribuite
ntr-un mediu inteligent, n scopul compensrii unor deficiene locomotorii sau
senzoriale ale persoanei asistate.
2.2.2 Structura unui PRA
Structura propus pentru un PRA deriv din structura general de conducere a unui
robot autonom, prezentat n figura 2.1.
Dynamic
control
Motors
HIGHLEVEL
CONTROL
ENVIRONMENT
SENSORS
KINEMATIC
CONTROL
Wheels
Localization
AUTONOMOUSGUIDEDVEHICLE
p
ref
V
ref L
V
ref R
Estimatedpose p
Fig. 2.1 Structura general tipic de conducere a unui vehicul autonom
Se observ prezena a trei bucle de control ierarhizate. La nivelul inferior se afl
bucla de control dinamic, implementat de electronica ncorporat n vehiculul
autonom. Schema bloc a acesteia este prezentat n figura 2.2.
n cazul particular al vehiculelor autonome folosite pe parcursul experimentelor,
(roboii mobili Pioneer3-DX i PeopleBot de la Mobile Robots [11]), controlul dinamic
este n ntregime realizat de electronica intern. Singurul parametru legat de
28
dinamica sistemului, care este accesibil pentru nivelele superioare de conducere este
acceleratia liniara a, ] , 0 [
max
a a , comun pentru ambele roi motoare.
M
M
M
M
M
M
M
M
C
C
C
C
C
C
C
C
U
U
U
U
U
U
U
U
MCU
(dynamic
control)
Sensorsfor
obstacle
detection
Amplifier
Amplifier
Left
Motor
Right
Motor
Shaft
Encoder
Shaft
Encoder
PWM
PWM
RS232
Fig. 2.2 Schema bloc a echipamentului ncorporat in AGV
Bucla intermediar de conducere (conducerea cinematic) are ca obiectiv
generarea referinelor de vitez pentru cele dou roi motoare v
refL
, v
refR
pornind de
la o poziia int ) , , (
ref ref ref ref
y x p = , sau de la o traiectorie int, specificat de
nivelul superior de conducere, si de la o estimare a poziiei curente ) , , ( y x p = ,
furnizat de subsistemul de localizare al AGV. Tot la nivelul acestei bucle se
implementeaz i algoritmii reactivi de evitare a obstacolelor.
Bucla superioar de conducere are ca obiectiv planificarea i/sau selecia intelor
de navigaie n funcie de informaia furnizat de senzorii din mediu i de o
reprezentare intern a mediului.
Pe baza structurii tipice de conducere descrise, rezult structura propus pentru
PRA, prezentat n figura 2.3.
Fiecare din blocurile funcionale ale sistemului din figura 2.3 este implementat cu
un microcontroller distinct.
La bordul vehiculului autonom sunt meninute doar echipamentele strict necesare
pentru navigaie.
29
Interfeele cu senzorii i actuatoarele distribuite n mediu, precum i echipamentul
de telecomunicaie i o parte din task-urile de prelucrare a datelor sunt asignate unor
echipamente aflate la sol, cu care robotul se afl n comunicaie wireless.
KINEMATICCONTROL
DECISION
D
A
T
A
A
C
Q
U
I
S
I
T
I
O
N
SENSORS
ACTUATORS
COMPUTING&
COMMUNCATION
EQUIPMENT
WIRELESS
LINK
AUTONOMOUSVEHICLE SMART ENVIRONMENT
DYNAMICCONTROL
Fig. 2.3 Structura unui PRA, implementat conform definiiei 1
Detalii privind aceasta abordare a conceptului de asistent robotic personal au fost
publicate n [38].
2.3 Task-uri asociate cu navigaia roboilor autonomi
In 1991, Leonard si Durrant-Whyte ([39]) au sintetizat problemele legate de navigaia
roboilor autonomi prin urmtoarele trei ntrebri:
Where am I?
Where should I go?
How should I get there, and not get hurt?
Figura 2.4 ilustreaz modul n care aceste ntrebri se suprapun peste conceptul
clasic de sistem de reglare cu reacie.
REFERENCE
(WhereamIgoing?)
CONTROLLER
(HowshouldIget
there...)
Vehicle
SENSORS
(WhereamI?)
OBSTACLES
(...andnotgethurt)
Fig. 2.4 Controlul navigaiei roboilor autonomi din perspectiva teoriei sistemelor automate
30
In capitolele urmtoare se vor analiza pe rnd task-urile asociate cu navigaia
roboilor autonomi si modalitile de implementare a acestora cu ajutorul unor
microcontrollere ncorporate.
2.4 Modelul cinematic al vehiculului cu doua roti motoare si traciune
diferenial
Problema modelrii cinematice a diverselor vehicule a fost extensiv tratat in
literatur ([40],[41],[42],[43],[44]).
In cazul particular al roboilor mobili cu dou roi motoare si cu traciune
difereniala, cu notatiile din figura 2.5,
y
x
V
L
V
R
V
b
(x,y)
ICC
q
R
r
Fig. 2.5 Variabilele cinematice ale vehiculului cu dou roi motoare si o roat directoare
unde ICC este centrul instantaneu de curbur a traiectoriei vehiculului, R este raza
instantanee de curbur, b este distana ntre planele roilor motoare, iar este viteza
unghiular a vehiculului n raport cu punctul ICC. Presupunnd c micarea roilor
este de rostogolire pur, fr alunecare, pe o suprafa plan, sunt valabile relaiile:
b
t v t v
b R
t v
b R
t v
t
L R L R
) ( ) (
2 /
) (
2 /
) (
) (

=

=
+
= (2.1)

+
=
) ( ) (
) ( ) (
2 t v t v
t v t v b
R
R L
R L
(2.2)
2
) ( ) (
) ( ) (
t v t v
R t t v
L R
+
= = (2.3)
31
Iar ecuiile cinematice ale vehiculului sunt:
) (
) (
) ( sin ) (
) (
) ( cos ) (
) (
t
dt
t d
t t v
dt
t dy
t t v
dt
t dx

=
=
=
(2.4)
ceea ce se poate scrie compact:

+
+
=

b v v
v v
v v
v
y
x
dt
d
L R
L R
L R
/ ) (
sin ) (
2
1
cos ) (
2
1
1
0
0
0
sin
cos

(2.5)

L
R
v
v
b b
y
x
dt
d
/ 1
sin
2
1
cos
2
1
/ 1
sin
2
1
cos
2
1

(2.6)
Ecuatia (2.6) reprezint modelul cinematic al AGV si a fost folosit pentru simularea
MATLAB a micrii vehiculului.
32

Where Am I? Problema localizrii roboilor autonomi
Definiia 2
Termenul localizare desemneaz procesul de estimare a poziiei si orientrii unui
vehicul autonom, n raport cu o reprezentare (hart) a mediului.
Conform definitiei 2, rezult c task-urile asociate cu localizarea roboilor autonomi
se pot clasifica n:
Task-uri asociate cu estimarea poziiei robotului (pose estimation);
Task-uri asociate cu construcia hrtii mediului (map acquisition, sau map
building) pornind de la informaiile furnizate de senzori.
Avnd n vedere c cercetrile prezentate n aceast tez se limiteaz la studii
privind implementarea unui asistent robotic personal (PRA), conform definitiei 1, vom
presupune ca harta mediului n care acesta evolueaz este a-priori cunoscut i, n
consecin, nu vom aborda problemele de construcie a hrtii.
3.1 Clasificarea sistemelor de localizare
Din perspectiva modului de estimare a poziiei, sistemele de localizare folosite in
cazul roboilor autonomi au fost clasificate n:
Sisteme de localizare relativ. Acestea se folosesc in situaiile n care este
disponibil o estimare a poziiei initiale a vehiculului, fa de care se calculeaz
un increment bazat pe informaia furnizat de senzori. In aceast categorie se
ncadreaz odometria i sistemele de localizare inerial.
33
Sistemele de localizare absolut. n aceast categorie intr sistemele de
localizare bazate pe:
Balize active (active beacons),
Recunoaterea unor repere geografice (landmarks) naturale,
Recunoaterea unor repere geografice artificiale,
Compararea informaiei de la senzori cu un model (hart) geometric sau
topologic al mediului (model matching localization).
O prezentare cuprinztoare a senzorilor si metodelor de localizare cunoscute este
disponibil n ([45],[46]).
3.2 Sisteme de localizare relativ
Acestea sunt denumite sisteme de tip dead reckoning.
Pentru un vehicul cu modelul cinematic descris de (2.6), dac se cunoate poziia la
momentul t
k
,
T
k k k k
t t y t x p )] ( ), ( ), ( [ = , atunci poziia la un moment de timp oarecare
t>t
k
, se poate exprima:







d
b
v v
t t
d
v v
t y t y
d
v v
t x t x
t
t
R L
k
t
t
R L
k
t
t
R L
k
k
k
k

+ =
+
+ =
+
+ =
) ( ) (
) ( ) (
) ( sin
2
) ( ) (
) ( ) (
) ( cos
2
) ( ) (
) ( ) (
(3.1)
In cazul particular al odometriei, presupunnd c la fiecare din roile motoare se
cupleaz encodere cu rezoluia C
e
(impulsuri per rotaie) prin reductoare cu factorul
de transmisie , se defineste factorul de conversie c
m
, care convertete numrul de
impulsuri in spaiu de translaie:
e
n
m
C
D
c

= (3.2)
34
unde D
n
este diametrul nominal al roilor motoare.
Notand
Lk
N si
k R
N variaia (incrementul) numrului de impulsuri inregistrate de
encodere, ntre momentele t
k-1
si t
k
, se poate calcula distana parcurs de fiecare
roat motoare n acest interval de timp:
Rk m Rk
Lk m Lk
N c S
N c S
=
=
(3.3)
Atunci deplasarea liniar incremental a centrului de mas al vehiculului se exprim
prin relaia:
2
k R k L
k
S S
S
+
= (3.4)
iar variaia orientrii este:
b
S S
k R k L
k

= (3.5)
Cu aceste notatii, ecuaiile (3.1) devin:
k k k
k k k k
k k k k
S y y
S x x

+ =
+ =
+ =

1
1
1
sin
cos
(3.6)
Datorita simplitii si costurilor reduse, sistemele de localizare bazate pe odometrie
sunt prezente n aproape toate vehiculele autonome cunoscute. Principalul
dezavantaj deriv din faptul c sunt vulnerabile la erori cumulative de msurare.
Au fost descrise ([45]) erori odometrice sistematice provocate de:
Diferene ntre diametrele roilor motoare;
Diferene ntre diametrul nominal si diametrul real al roilor;
Diferente ntre distanta nominala dintre planele roilor i distana real ntre
acestea;
Alinierea imperfect a roilor;
Rezoluia limitat a encoderelor;
35
Timpul de esantionare a encoderelor limitat ;
Erorile odometrice nesistematice provin de la:
Traversarea unor suprafee cu denivelri;
Alunecri datorate traversarii unor suprafee alunecoase, interaciunii cu
obstacole externe, unor fore interne generate la nivelul roilor castor,
acceleratiilor prea mari, derapajului la curbe, sau contactului nepunctiform
ntre roat i sol.
Erorile odometrice sistematice sunt, n principiu, predictibile i au fost descrii ([47],
[48]) algoritmi de estimare a gradului de incertitudine a masurtorilor odometrice.
Conform acestei abordri, poziia real a vehiculului se afl, cu o probabilitate
specificat, intr-o vecintate a poziiei estimate, delimitat de o elipsa de
incertitudine, ca in figura 3.1.
0 20 40 60 80 100 120 140 160 180 200
0
-20
20
40
60
80
100
Realpath(b)
Estimatedpath(a)
(a)
(b)
Fig. 3.1 Ilustrarea conceptului de elips de incertitudine
In figura 3.2 este prezentata traiectoria simulata a unui robot in conditiile unei
diferente de doar 1% ntre diametrele nominale ale roilor motoare. Dup parcurgerea
a doar 10m in linie dreapt, abaterea lateral nregistrat a fost de 1200mm, iar
abaterea unghiular a fost de 30 grade.
36
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000[mm]
MATLABsimulationfordifferentialdriverobot
-3000
-2000
-1000
0
1000
2000
3000
4000
[mm]
Fig. 3.2 Traiectoria simulat in cazul unei diferene de 1% ntre diametrele roilor
Au fost prezentate mai multe metode de estimare si reducere a erorilor odometrice
sistematice (ex. [49], [50]), dar avnd n vedere c acestea sunt ntotdeauna nsoite
de erori nesistematice imprevizibile, utilitatea acestor metode este limitat.
Concluzii privind sistemele de localizare de tip dead-reckoning
Un robot care se bazeaza exclusiv pe dead reckoning va ajunge rapid s-i piard
localizarea. Una din cele mai rspndite soluii const in folosirea odometriei n
combinaie cu un sistem de localizare absolut, bazat pe estimarea poziiei
vehiculului autonom prin raportarea la un set cunoscut de referine externe. Periodic,
robotul executa secvene de localizare absolut prin care isi actualizeaz
coordonatele curente, iar ntre dou actualizri se bazeaz pe odometrie pentru
navigaie.
Avnd n vedere c algoritmii de localizare absolut necesit, de regul, un volum
mai mare de calcul, problema frecvenei cu care se execut secvenele de
actualizare este netrivial si rmne deschis problema determinrii situaiilor n care
msurtorile odometrice au devenit inutilizabile i se impune o secvena de localizare
absolut.
37
3.3 Sisteme de localizare absolut
Sistemele de localizare absolut se bazeaz pe estimarea poziiei robotului faa de
un numr de repere externe, a caror poziie este cunoscut i care pot fi identificate
n mod univoc de senzorii aflai la bordul robotului.
Cnd localizarea se efectuaz prin msurarea unor distane, metoda se numete
trilateraie, iar n cazul cnd se msoar unghiurile, metoda se numeste triangulaie.
Reperele folosite pentru localizare pot fi elemente ale mediului (de exemplu colul
unei ncaperi, o ua, etc.), sau pot fi balize, special amplasate n acest scop, care
emit semnale de identificare, uor de interpretat de sistemul de senzori.
3.3.1 Metode de localizare bazate msurarea distanelor
Figura 3.3 ilustreaza principiul trilateraiei. Daca poziia punctelor A, B i C este
cunoscut, i sistemul de senzori ai robotului este capabil s msoare distanele d1,
d2, d3, se poate calcula poziia punctului R, aflat la intersecia cercurilor cu centre n
A, B i C, i cu razele d1, d2, d3.
R
A
B
C
d
1
d
2
d
3
Fig. 3.3 Ilustrarea principiului trilateraiei
Daca punctele A, B, C sunt coliniare, rezult nedeterminarea ilustrat n figura 3.4, n
care exist dou puncte R i R care satisfac condiia de apartenen simultan la
cele trei cercuri.
38
R
A B C
d
1
d
2
d
3
R
Fig. 3.4 Nedeterminare in cazul trilateratiei cu repere coliniare
Au fost descrise ([45], [51], [52], [53], [54], [55]) diverse metode pentru msurarea
efectiv a distanelor ntre robot i balize. ntre acestea se numr:
- Msurarea timpului de propagare a unui semnal specific ntre robotul mobil i
balizele folosite ca repere. Aceasta presupune fie c balizele sunt active i c
exist un mecanism de sincronizare ntre emiatorii i receptorii semnalului de
referina (ca n GPS [56]), fie c sistemul de localizare al robotului este activ iar
balizele reflect sau retransmit semnalul de referin (ca n radar [57]). n cazul
cnd se foloseste un semnal de referin luminos (o raza laser) exist limitri la
msurarea distantelor mici, care conduc la timpi de propagare de ordinul
picosecundelor, dificil de msurat. Dac semnalul de referina este sonor,
distana maxim care poate fi masurat este limitat la circa 20m, iar precizia
msurtorilor este mult mai mic dect la sistemele bazate pe laser.
- Msurarea diferenei de faz ntre semnalul de referin emis de sistemul activ de
localizare al robotului i o fractiune a acestuia reflectat de int. i n acest caz
exist limitri n ce priveste distana maxim msurabil, la circa 20m.
- O abordare interesant este descris n [58] i [59] i se bazeaz pe msurarea
intensitailor cmpului electromagnetic generat de o serie de puncte de acces
Wireless Ethernet. Atenuarea undelor electromagnetice generate de acestea este
proporional cu distana i poate servi ca mijloc pentru estimarea distanei ntre
39
baliza radio i receptorul mobil. Deocamdat nu exist nsa dispoziive comerciale
de localizare bazate pe acest principiu.
3.3.2 Metode de localizare absolut bazate pe msurarea unghiurilor
Metodele de localizare derivate din triangulaie sunt prezentate extensiv n [45], [60],
[61], [62], [63], [64] iar informaii despre senzorii folosibili pentru msurarea orientrii
sunt disponibile n [65], [66].
Formularea problemei.
Fiind date trei repere n plan A, B, C, a cror poziie este cunoscut, i un robot R,
capabil s msoare valorile
3 2 1
, , ale unghiurilor formate de semidreptele RA,
RB, RC faa de orientarea curent a robotului (vezi figura 3.5) se pune problema
determinarii poziiei robotului ) , , (
R R R
y x n coordonate carteziene.
R
A
B
C
q
R
a
1
a
2
a
3
x
y
x
R
y
R
Fig. 3.5 Notaii folosite pentru formularea problemei triangulaiei
Cohen i Loss n [64] descriu principalele metode de localizare prin triangulaie i
compara performanele acestora.
Metoda cutrii iterative a orientrii
Se bazeaz pe observaia c, n situaia n care se iau n considerare doar dou
repere, daca nu se cunoaste orientarea robotului
R
, poziia robotului ) , (
R R
y x este
nedeterminat, el putandu-se situa oriunde pe cercul determinat de punctele A, B, R
(vezi figura 3.6). Invers, dac orientarea
R
luat n calcul este cea corect,
40
rezultatele obtinute pentru ) , (
R R
y x folosind oricare din perechile de puncte (A,B),
(B,C) i (C,A) sunt identice.
R
A
B
q
R
a
1
a
2
x
y
x
R
y
R
Fig. 3.6 Triangulaie cu dou repere
Aceast observaie conduce la ideea de a parcurge iterativ toate orientrile
Ri

posibile, calculnd de fiecare dat coordonatele ) , (


Ri i R
y x pentru toate perechile de
repere (A,B), (B,C) i (C,A). Se alege ca soluie, valoarea
R
care conduce la un
perimetru minim al triunghiului format de punctele ) , (
Ri i R
y x calculate pentru toate
perechile de repere (A,B), (B,C) i (C,A).
Metoda triangulaiei geometrice
Cu notatiile din figura 3.7:
x
y
x
R
y
R
O1
O2
O3
a
b
d
f
d
a
b
t
180- - t b
t d a + - R
Fig. 3.7 Notaii folosite pentru ilustrarea metodei triangulaiei geometrice
Se cunosc coordonatele reperelor O1, O2, O3 (x1,y1), (x2,y2), (x3,y3) i orientrile
acestora relativ la robotul R,
3 2 1
, , O O O .
41
Ipoteze:
- Numerotarea reperelor se face n sens anti-orar;
- Unghiurile
1 3
360 O O
o
+ = si
1 2
O O = trebuie s fie mai mici dect
180
o
. Dac aceast condiie nu este indeplinit, se rotesc identificatoarele
reperelor cu o poziie n sens anti-orar, pn cnd condiia este ndeplinit.
innd sema de notaiile din fig. 3.7, n care, este unghiul ntre axa Ox i dreapta
determinat de punctele O1, O2, unghiul ntre axa Ox i dreapta O1-O3, plus , i
= ;
Cu notaia:

sin
sin
b
a
p = (3.7)
n [67]se demonstreaz c:

sin
) sin(
cos cos
sin sin
arctan
+
=

=
b
d
p
p
(3.8)
1
1
1
) sin(
) cos(
O
d y y
d x x
R
R
R
+ =
+ =
+ + =



(3.9)
Metoda de triangulaie Newton-Raphson
Este o metod iterativ de aproximare a poziiei unui robot mobil, care pornete de la
ipoteza c este disponibil o estimare iniial a poziiei robotului, suficient de
apropiat de poziia real, obinut, de exemplu, prin dead reckoning. Dac
aproximarea initiala este departe de soluie, metoda Newton-Raphson nu d
rezultate.
Considerm c aceast metod se ncadreaz mai degrab la metode de corectie a
erorilor odometrice, dect ca metod de localizare distinct.
42
Metoda de triangulaie cu calculul distantelor ntre robot i balize
Cu notatiile din figura 3.8:
x
y
x
R
y
R
O1
O2
O3
L
1
L
3
L
2
L12
L
3
1
L
2
3
l12
l
2
3
l
3
1
Fig. 3.8 Notaii pentru ilustrarea metodei de triangulaie cu calculul distanelor
Distantele ntre balize se calculeaz ([67]):

=
=
=
3 1 31
2 3 23
1 2 12



(3.10)

+ =
+ =
+ =
31 1 3
1
2
3
2
31
2
23 3 2
3
2
2
2
23
2
12 2 1
2
2
1
2
12
2
cos 2
cos 2
cos 2

L L L L L
L L L L L
L L L L L
(3.11)
Iar coordonatele (x
R
, y
R
) se obtin rezolvand sistemul liniar:

+ +
+ +
=



3
2
1
2
3
2
1
2
3
2
1
2
2
2
1
2
2
2
1
2
2
2
1
2
1 3 1 3
1 2 1 2
) ( 2 ) ( 2
) ( 2 ) ( 2
y y x x L L
y y x x L L
y
x
y y x x
y y x x
(3.12)
Cunoscnd x
R
, y
R
, se poate calcula
R
:
1
1
1
) arctan(

=
R
R
R
x x
y y
(3.13)
43
Alte metode de triangulaie
Metoda geometric bazata pe intersecia a dou cercuri
Se bazeaz pe faptul c punctul n care se afl robotul, mpreun cu dou din
reperele folosite determin un cerc. Cu notaiile din figura 3.7, tripletele (R, O1, O2)
i (R, O1, O3) determin dou cercuri care se intersecteaz n punctele R i O1.
Coordonatele x
R
, y
R
se obin rezolvnd sistemul de ecuaii care rezult din condiia
ca punctul R s aparin ambelor cercuri, iar
R
se poate obine cu o relaie
trigonometric similar cu (3.13).
Metoda de triangulaie cu mai mult de trei repere (Position Estimator)
Aceast metod a fost descris de Betke i Gurvits n [60] i se bazeaz pe
reprezentarea coordonatelor celor n repere ca numere complexe. Rezult un sistem
liniar, din care se determin coordonatele robotului.
Borenstein n [45] identific urmtoarele avantaje ale acestei metode:
Erorile mari, provenind de la identificarea gresit a unor repere, sau de la
msurarea gresit a unor unghiuri pot fi identificate i eliminate;
Durata de execuie variaza liniar cu numrul de repere folosite;
Permite obinerea unor estimri corecte ale poziiei robotului chiar n prezena
zgomotului.
O analiza metodelor de localizare prin triangulaie este prezentata extensiv n [64] i
[67]. Printre dezavantajele metodelor prezentate se numr:
- Practic toate metodele prezentate necesit un volum mare de calcul, ceea ce le
face dificil, sau chiar imposibil de implementat pe microcontrollere low cost/low
power;
- In anumite configuraii ale reperelor, produc soluii multiple, sau conduc la
nedeterminri;
44
3.3.3 Alte metode de localizare
Metode de localizare care folosesc tehnologia RFID
Dezvoltat iniial ca o alternativ la codul de bare pentru identificarea obiectelor,
tehnologia RFID (Radio Frequency Idenfification, [71],[72]) s-a dezvoltat accelerat n
ultimii ani, fiind propuse zeci de aplicaii, de la urmrirea bagajelor n aeroporturi,
pn la paapoarte biometrice.
In esena, un tag RFID este o memorie nevolatil care poate fi accesat fr
contact, prin intermediul undelor electromagnetice. Principalul avantaj al acestora
este c majoritatea sunt pasive, n sensul c nu necesit o surs proprie de
alimentare. Alimentarea chipului de memorie se face doar pe durata transferului de
date, captnd o fraciune din energia cmpului electromagnetic emis de un cititor
(reader).
Transferul datelor se face cu ajutorul modulaiei de sarcina (load modulation),
(vezi figura 3.9) conectnd o sarcin variabil la circuitul acordat al antenei
receptorului. Variaia sarcinii conduce la modularea n amplitudine (ASK Amplitude
Shift Key) a semnalului emis de reader. Cum ntre reader i tag exist un cuplaj
inductiv strns, variaia amplitudinii purttoarei este detectabil la nivelul reader-ului,
care poate reconstitui datele transmise de tag.
DEMOD Data
CHIP
D
POWER
R
L
E.M.FIELD
U
R
READER RFID TAG
Fig. 3.9 Principiul de funcionare al unui canal RFID
45
In tabelul 3.1 sunt prezentate frecvenele de operare uzuale i standardele care
definesc caracteristicile diverselor sisteme RFID.
Tabelul 3.1 Frecvene i standarde RFID
Frecvene de operare
LF
125-134KHz
HF
13.56MHz
HF
433MHz
UHF
866-930MHz
UHF
2.4GHz
ISO-11784 ISO-14443 ISO-18000-6a
ISO-18000-2 ISO-15693 ISO-18000-6b
ISO-18000-4
Standard
ISO18000-2B ISO-18000-3
ISO-18000-7
ISO-18000-6c ISO-24730-2
In functie de distana maxima ntre cititor i tag la care se pot transmite date, tag-
urile RFID se clafific n:
Proximity tags (distana de operare ntre 0 i 100mm)
Vicinity tags (distana de operare ntre 100 i 1000mm)
Long range tags (distana de operare 1-15m). Acestea sunt, de obicei active, n
sensul ca dispun de o baterie proprie pentru alimentare.
Din punct de vedere al tipului de memorie intern folosit, tag-urile RFID pot fi
read-only, situaie n care contin o memorie ROM cu un cod unic de identificare, sau
read-write, caz n care memoria intern este EEPROM sau FRAM.
Capacitatea memoriei interne variaz, pentru tag-urile uzuale, ntre cativa octei i
128 kilooctei.
Timpul de lectur pentru tag-urile uzuale este de ordinul milisecundelor.
Majoritatea sistemelor RFID actuale folosesc un mecanism de detectare a
coliziunilor la transferul datelor ntre cititor i tag. n consecin, n situaiile n care
mai multe tag-uri se afla n zona de recunoatere a unui reader (vezi figura 3.10)
acestea vor fi citite pe rand, sau nu va fi citit nici unul.
46
x
z
y
Readersantenna
z
a
Tags
Recognition
area
Fig. 3.10 Modelul zonei de recunoatere intr-un sistem RFID
In ultimii ani (dupa 2004) au fost prezentate cteva experimente care vizeaz
folosirea tehnologiei RFID pentru localizarea robotuilor mobili. Soluiile propuse difer
n funcie de distana de citire a tag-urilor i de tipul de tag-uri folosite.
Hahnel et. al. n [73] propun un sistem de localizare bazat pe vicinity tags read-
only, n care se folosete o abordare probabilistic pentru corecia poziiei raportat
de sistemul odometric folosind informaia obtinut de la un set redus de tag-uri RFID
montate pe pereii incintei.
Kulyukin et. al n [74] propun un sistem asemntor, bazat pe metoda cmpului de
potential, pentru implementarea unui sistem de ghidare a persoanelor cu deficiente
de vedere. i aici, se folosesc vicinity tags, read-only, montate pe perei.
O abordare asemntoare este prezentat n [75].
Ulterior, Kulyukin revine n [76] i propune un sistem cu tag-uri de proximitate
read-only, montate pe podea.
Park i Hashimoto propun n [77] o metod de localizare bazat exclusiv pe RFID.
Tag-urile sunt montate n podea, n asa fel nct un singur tag se afla la un moment
dat n zona de recunoastere a cititorului. Se masoar timpul de citire al tag-urilor i
aceast informaie este folosit pentru calcularea orientrii.
47
n [78] i [79] se propun soluii bazate pe consideraii legate de propagarea
undelor electromagnetice pentru determinarea orientrii robotului n raport cu tag-
urile citite.
n toate abordrile menionate, poziia tag-urilor este a-priori cunoscut i se
ncearc determinarea poziiei robotului n raport cu aceste repere. n [80],
configuraia iniial a tag-urilor este necunoscut, dar este nvat de un robot
echipat cu sisteme laser de localizare. Ulterior informaia achiziionat prin nvare
despre poziia tag-urilor n mediu este transferat unor roboi mai simpli.
n [81] i [82] se propun soluii care folosesc tag-uri read-write, ncorporate n
podea, n care se memoreaz coordonatele poziiei tag-ului. Pentru estimarea
poziiei unghiulare i pentru aproximarea deplasrilor ntre nodurile reelei de tag-uri
se folosete sistemul odometric.
n sfrit, soluia propus n [83] vizeaz mbuntirea rezoluiei de localizare a
automobilelor prin GPS, distribuind tag-uri RFID pe osele.
3.4 Concluzii privind metodele de localizare prezentate
Borenstein n [45], n urma unei analize extensive a sistemelor de localizare
cunoscute, formuleaz urmtoarea concluzie:
Perhaps the most important result from surveying the vast body of literature on
mobile robot positioning is that to date there is no truly elegant soluion for the
problem.
In general, se poate observa ca soluiile bazate exclusiv pe un singur tip de senzor
conduc fie la algoritmi care implic volume foarte mari de calcule, fie la nedeterminri
inacceptabile. Sunt de preferat soluiile care fuzioneaz informaiile de la mai multe
tipuri de senzori.
48
3.5 Contribuii la rezolvarea problemei localizarii roboilor mobili
3.5.1 O metod de identificare a balizelor ultrason
n toate metodele de localizare bazate pe trilateraie i triangulaie descrise n
paragrafele anterioare se presupune c robotul cunoate a-priori poziia reperelor
fixe folosite i c dispune de un mijloc de a identifica reperul asupra cruia se fac
msurtori la un moment dat.
Chiar n cazul folosirii unor senzori laser de nalt performan ([84]), care pot
msur distante de pn la 200m cu o rezoluie de 1mm, problema identificrii
obiectului fa de care se msoar distana rmne deschis.
Balizele ultrason au avantajul simplitii i al costului redus i, din acest motiv, au
fost printre primele soluii folosite n practic ([39]). Pentru identificarea acestora a
fost propus un sistem de activare selectiv ([85]) n care, o staie-baz activeaz pe
rnd balizele, emind simultan un semnal radio, care conine un cod de identificare
al balizei. Robotul recepioneaz semnalul radio i pornete un timer cu ajutorul
cruia msoar timpul de propagare t
p
a undei sonore ntre baliza fix i receptorul
aflat la bordul robotului (vezi figura 3.11), ceea ce permite calcularea simpl a
distanei ntre baliza i receptor.
t
t
t
t
T
r
a
n
s
m
i
t
t
e
r
R
e
c
e
i
v
e
r
Radiosignal
Radiosignal
Ultrasonicburst
Ultrasonic
burst
t
p
Fig. 3.11 Activarea selectiv a balizelor cu identificator radio
49
Un sistem bazat pe acest principiu, realizat de I.S. Robotics, citat de Borenstein n
[45], a realizat localizarea unui robot mobil (Genghis) ntr-un perimetru de 9,1x9,1m
cu o precizie de 0,5 (12,7mm).
Dezavantajele acestei metode:
1. Folosete un canal radio ntre robot i echipamentul de la sol, canal care, n
practic, este necesar pentru alte scopuri.
2. Metoda este aplicabil doar n sistemele de localizare bazate pe msurarea
distantelor. Metodele de localizare care implica msurarea orientrii robotului
faa de o sursa sonor nu beneficiaza de acest mecanism de identificare a
balizelor (de exemplu, metodele bazate pe msurarea timpului de intarziere
interaurala ITD, intr-un sistem biomimetic cu dou microfoane captoare, cum
este cel descris n [68]).
Soluia propus mai jos elimina ambele dezavantaje enumerate, codificnd
informaia de identificare a balizelor printr-un semnal DTMF (Dual Tone Multi
Frequency), modulat n amplitudine peste purtatoarea de frecvena ultrasonor.
Sistemul de codare DTMF a fost propus n 1960 ([86]) pentru transmisia unor
volume reduse de informaie digitala pe infrastructura de telefonie analogic, foarte
afectat de zgomot. Ulterior au fost descrise numeroase aplicaii posibile ([87], [88]).
Un semnal DTMF este o suma de dou semnale sinusoidale:
t A t A y
2 1
sin sin + = (3.14)
iar informaia digital codata de acest semnal este determinat de perechea de
valori ) , (
2 1
.
Frecvenele corespunztoare pulsaiilor ) , (
2 1
au fost standardizate n plaja
[697Hz-1633Hz]. n prezent, sunt disponibile circuite integrate monolitice, care
implementeaza funciile de encoder/decoder DTMF (ex. Mitel MT8870/MT8880).
50
Soluia propus de identificare a balizelor este prezentata schematic n figurile
3.12 (structura balizelor) i 3.13 (structura receptorului).
RADIO
MODEM
MCU
BASESTATION
OSC.
40kHz
OSC.
40kHz
DTMF
ENCODER
DTMF
ENCODER
A.M.
MODULATOR
A.M.
MODULATOR
BEACON
BEACON
Fig. 3.12 Structura balizelor ultrason cu identificare DTMF
A.M.
DEMOD.
DTMF
DECODER
BURST
DETECTOR
MCU
OMNIDIRECTIONAL
MICROPHONE
RADIO
MODEM
Fig. 3.13 Structura receptorului pentru identificarea balizelor
La nivelul staiei-baz, un microcontroller monitorizeaz, prin intermediul unui radio-
modem, comunicaia ntre robot i echipamentul de control de la sol. De fiecare dat
cnd se emite un pachet de date catre robot, se comand succesiv fiecare baliz,
pentru emisia unui burst de 40KHz, cu durata de 100ms, modulat A.M. cu semnalul
DTMF corespunzator codului de identificare al balizei.
La receptor, semnalul audio este captat de un microfon omnidirecional, amplificat
i prelucrat de circuitele adiionale, care extrag codul DTMF al balizei i genereaz o
cerere de ntrerupere la microcontroller, marcnd momentul precis al detectarii burst-
51
ului ultrason. Microcontrollerul msoar timpul scurs ntre momentul recepiei
pachetului de date i momentul detectrii burst-ului ultrasonic de 40KHz. Nu este
necesar modificarea protocolului de comunicatie cu echipamentul de la sol pentru
c identificatorul balizei este extras din semnalul DTMF. Semnalul de STROBE
generat de decodorul DTMF pentru transferul codului de identificare reprezinta o
validare suplimentar a msurrii, care permite rejectia burst-urilor afectate de
zgomot.
Metoda de identificare a balizelor ultrason descris mai sus poate fi aplicat i n
sistemele de localizare bazate pe triangulaie. O soluie simpl i elegant de
determinare a poziiei unghiulare relative a robotului fa de o surs sonor este
prezentat n [68]. Aceasta se bazeaz pe folosirea a dou microfoane
omnidirectionale pentru captarea semnalului sonor, n mod similar cu perceptia
binaural la mamifere. Determinarea directiei sursei sonore (azimutul) se face
msurnd ntrzierea interaural a semnalului sonor (ITD Interaural Time
Difference).
L
R
d2
d1
q
t
1
t
2
a
Fig. 3.14 Determinarea azimutului sursei de semnal pe baza msurrii ITD
Cu notaiile din figura 3.14, unde L i R sunt doi senzori (Left si Right), cunoscnd
timpul de propagare interaural t , se poate calcula azimutul sursei sonore faa de
orientarea curent a robotului ([68]):
52
) arcsin(
a
t c
= (3.15)
unde c este viteza sunetului, iar a este distana ntre cele dou microfoane captoare.
ITD se poate msura cu un circuit relativ simplu, cum este cel prezentat n figura
3.15.
A.M.
DEMOD.
DTMF
DECODER
OMNIDIRECTIONAL
MICROPHONELEFT
OMNIDIRECTIONAL
MICROPHONERIGHT
B.P.FILTER
B.P.FILTER
SQUARE
WAVE
SHAPER
SQUARE
WAVE
SHAPER
PRECEDENCE
DETECTOR
UP/DOWN
COUNTER
MCU
REF.CLOCK
BEACONID
STROBE
Fig. 3.15 Exemplu de circuit pentru msurarea Interaural Time Difference ITD
Faa de metoda descris n [68], de calcul a ITD prin cross-corelarea software a
semnalelor captate de microfoane, circuitul din figura 3.15 are avantajul ca
degreveaz microcontrollerul de o parte din calculele necesare localizrii si, n
acelai timp, ofer o modalitate de identificare a balizelor.
Evident, structurile hardware descrise n figurile 3.13 i 3.15 pot fi combinate n
asa fel nct s determine simultan i azimutul i distana la care se afla baliza. Dac
orientarea robotului se determina cu un dispoziiv dedicat (girocompas, sau busol
electronic [45]), coordonatele (x
R
,y
R
) ale robotului se pot determina exterm de
simplu folosind o singura baliza ca referina.
Cu notaiile din figura 3.16, cunoscnd coordonatele balizei (x
A
,y
A
) i masurand
orientarea robotului , distana pn la baliza d, i azimutul balizei faa de robot ,
rezult coordonatele robotului:
53
R
q
x
y
x
R
x
A
y
R
y
A
A
f
d
Fig. 3.16 Localizare n raport cu o singur baliz
) sin(
) cos(


=
=
d y y
d x x
A R
A R
(3.16)
Dezambiguizarea fa-spate la determinarea azimutului balizei se poate face
folosind informaia furnizata de sistemul odometric.
3.5.2 Metoda de localizare bazat pe tehnologia RFID
Metoda de localizare propus, deriva din metodele propuse n [81] i [82], cu
urmtoarele precizri:
a. Tag-urile folosite sunt de proximitate, read-write, amplasate n podea i fiecare
tag stocheaz coordonatele absolute ale punctului unde se afl amplasat.
b. Tag-urile sunt amplasate intr-un grid n aa fel nct cel mult un tag sa se afle la
un moment dat n zona de recunotere a cititorului (vezi figura 3.17).
c. Poziia unghiulara a vehiculului autonom se msoar cu o busola electronica.
d. Vehiculul autonom dispune de un sistem odometric de localizare.
e. Citirea tag-urilor se face cu ajutorul a dou cititoare montate lateral. Aceast
opiune reduce probabilitatea situaiilor n care nici un tag nu este vizibil la un
moment dat.
54
f. De fiecare dat cnd se citeste un tag, coordonatele absolute ale acestuia i
valoarea poziiei unghiulare a robotului, raportat de busola electronic sunt
folosite pentru reiniializarea sistemului odometric. n acest mod se evita
acumularea erorilor sistematice specifice odometriei.
g. n intervalele dintre dou citiri ale tag-urilor, se folosete sistemul odometric
pentru estimarea poziiei.
x
z
y
Readersantenna
z
a
Recognition
area
Fig. 3.17 Amplasarea tag-urilor RFID pentru localizarea roboilor mobili
Metoda descris mai sus are cteva avantaje notabile:
Degreveaz complet microcontrollerul de navigatie de sarcina computational
asociat cu localizarea;
Este o soluie ieftin i fiabil;
Erorile de localizare sunt constante;
Tag-urile RFID distribuite n mediu pot stoca informaii suplimentare pe lng
coordonatele punctelor n care se afl, de exemplu informaii care pot folosi la
definirea unor trasee, sau la coordonarea activitaii unor formaiuni de roboti (vezi
Capitolul 5).
55
3.6 Concluzii privind localizarea PRA
Problema localizrii roboilor mobili se simplific drastic dac admitem ipoteza c
mediul n care acetia evolueaz este manipulat n sensul amplasrii unor repere
artificiale, special proiectate.
Fuzionarea informaiilor furnizate de senzori de mai multe tipuri contribuie la
reducerea volumului de calcule asociate cu problema localizrii.
56
q
Where Should I Go? Selecia intelor de navigaie
Ming Xie propune n [89] o definiie general a unui sistem automat ca fiind acel
sistem, n care interactiunea ntre un subsistem de decizie (decision making) i un
subsistem efector (action taking), se desfaoar fr intervenia unui operator uman.
Din aceast perspectiv, procesul de elaborare a deciziilor ocup un loc central n
funcionarea oricrui sistem automat (vezi figura 4.1).
SENSORS
Internalrepresentation
oftheenvironment
DECISION
GOALS
ACTIONS
Fig. 4.1 Reprezentarea unui sistem automat ca sistem de decizie i actiune
n cazul roboilor, stabilirea obiectivelor, regulile de instaniere a reprezentrilor
interne despre mediu, precum i condiiile de selectare a aciunilor se definesc prin
program.
Primele ncercri de creare a unor limbaje de programare dedicate pentru
programarea roboilor dateaz din 1973, cnd a fost propus WAVE ([90]), n
contextul apariiei manipulatoarelor robotice de uz industrial.
Ulterior, productorii de roboi industriali au creat limbaje de programare specifice
pentru acetia, inspirate de limbajele de programare pentru computere. De exemplu,
limbajul RAPID, folosit de roboii produi de ABB ([91]) este derivat din limbajul
57
Pascal, iar MBA4, sau MELFA BASIC IV, ([92]), folosit de roboii MELFA de la
Mitsubishi, este o extensie a limbajului Basic.
Preocuprile pentru uniformizarea programrii roboilor industriali sunt reduse.
Exist doar unele ncercri de realizare a unor translatoare pentru traducerea
automat a programelor dintr-un limbaj n altul ([93]).
Programarea roboilor autonomi comport o serie de dificulti ([94]) care deriv,
n primul rnd, din caracterul dinamic i uneori imprevizibil al mediului n care acetia
evolueaz, din faptul c se folosete o mare diversitate de senzori, ct i din
complexitatea task-urilor pe care le au de executat.
n cazul particular al roboilor de serviciu, n care se ncadreaz i asistenii
robotici personali, apare o cerin suplimentar dificil de realizat i anume aceea c
programarea roboilor trebuie s fie accesibil unor utilizatori cu cunotine tehnice
elementare.
4.1 Abordri cunoscute n domeniul programrii roboilor autonomi
Cea mai rspndita abordare a programarii roboilor autonomi se bazeaz pe
crearea unor extensii ale unor limbaje de programare cunoscute (Pascal, LISP,
ALGOL, BASIC, C++, etc.).
In aceast categorie se ncadreaz, de exemplu, ARIA Advanced Robot
Interface Application ([11]), RIPL - Robot Independent Programming Language
([95]), RCL -The Robot Command Language ([96]), FDTL - Fuzzy Decision Tree
Language ([97]), GOLOG alGOL n LOGic ([98], [99]) i TDL - A Task Description
Language for Robot Control ([100]).
Tot n aceasta categorie se pot ncadra soluiile de programare a roboilor bazate
pe XML Extensible Markup Language ([101]), de exemplu RoboML ([102]). Soluiile
bazate pe XML sunt deosebit de interesante n contextul unei posibile interaciuni
58
om-robot mediate de Internet, avnd n vedere ca toate browserele actuale suport
XML i numeroase alte aplicaii software sunt echipate cu plug-in-uri XML.
Limbaje de programare vizuala
n aceast abordare, primitivele limbajului sunt reprezentate prin pictograme grafice,
n principiu usor de selectat dintr-o bibliotec. n practic ns, biblioteca de simboluri
poate atinge dimensiuni foarte mari, ceea ce ngreuneaz mult definirea task-urilor.
De exemplu, Lingraphica ([103]) se bazeaz pe o bibliotec cu peste 2000 de
pictograme. Limbajul grafic PILOT ([104]) folosete un numr redus de primitive, dar
parametrizarea e mult mai complex i mai dificil pentru utilizatorii neexperimentati.
Tehnici de programare a roboilor folosind limbajul natural
O soluie remarcabil este propusa de Drews i Fromm n [105] sub denumirea
FSTN Finite State Transducer Network. Aceasta se bazeaz pe un pachet software
comercial de recunoastere a vorbirii (Dragon Naturally Speaking [106]). Propoziiile
recunoscute astfel sunt interpretate din punct de vedere semantic i sintactic i apoi
convertite n comenzi directe catre robot. Sistemul recunoaste un vocabular de 500
de cuvinte i este capabil sa formuleze intrebri atunci cnd nu nelege comenzile
vocale primite.
Lauria et al. n [107] i [108] propun o metod, denumita IBL Instructions Based
Learning, bazat pe un set redus de primitive apelabile prin comenzi vocale simple,
de genul go_to <landmark>, turn_left, follow_known_route_to <landmark>, etc.
Robotul este capabil s nvete secvene de astfel de comenzi i sa asimileze n acest
mod noi cunostinte despre mediu, de exemplu sa nvete rute noi.
59
4.2 Contribuii la rezolvarea problemei programrii roboilor autonomi
4.2.1 Formularea problemei
Considernd un sistem robotic cu structura definit n figura 1.1, aflat n interaciune
cu un set de senzori i actuatoare distribuite intr-un mediu inteligent, n scopul
implementarii conceptului de asistent robotic personal (PRA) pentru persoane n
vrst sau cu diverse dizabiliti, i presupunand ca nivelele inferioare de control
(vezi figura 2.2) realizeaz conducerea cinematic i dinamic a vehiculului autonom,
se pune problema dezvoltarii unui limbaj de programare pentru modulul de decizie,
care sa permit realizarea urmtoarelor obiective:
a) Crearea i actualizarea unei reprezentri interne asupra mediului, prin
interogarea senzorilor;
b) Definirea unui set de inte (goals) de navigatie;
c) Definirea unui set de aciuni posibile, care constau fie n comanda
actuatoarelor din mediu, fie n deplasarea vehiculului ctre intele de
navigaie definite;
d) Definirea condiiilor n care se decide execuia diverselor actiuni.
Avnd n vedere structura de PRA propus, bazat pe structuri de microcontrollere
ncorporate (embedded), se impun urmtoarele cerine suplimentare:
Programele generate n acest mod trebuie executate n timp real,
rmnnd compatibile cu resursele limitate de memorie i putere de calcul
ale microcontrollerelor uzuale;
Limbajul de programare trebuie sa fie ct mai simplu, nct sa poat fi
folosit de utilizatori cu cunotine elementare de programare.
60
4.2.2 Descrierea general a soluiei propuse
In general, interaciunea robotului cu mediul poate fi descrisa prin propoziii de tipul
urmtor:
IF((condition
1
)&&(condition
2
)&&...&&(condition
N
)) THEN MOVE_TO GOAL
k
sau:
IF((condition
1
)&&(condition
2
)&&...&&(condition
N
)) THEN Activate_output
k
unde (condition
j
) este o funcie logic de intrrile i ieirile sistemului.
Limbajul de programare propus, pe care l-am denumit RDPL (Robot Decision
Programming Language), se nscrie n categoria limbajelor de programare a roboilor
autonomi, create ca extensii ale unor limbaje de programare cunoscute, fiind derivat
din limbajul descris de standardul IEC61131-3 ([109]), destinat programrii PLC-
urilor.
RDPL este un limbaj compilat, bazat pe un set redus de primitive, cu sintaxa
general urmtoare:
FNAME dest, op1, op2, op3, op4 (4.1)
unde FNAME este numele simbolic al funciei, dest este destinaia rezultatului
operaiei indicate de funcie, iar op1, .., op4 sunt operanzii implicai n evaluarea
funciei. De exemplu, funcia:
AND O1, I1, I2, Y5, Y25
are ca efect activarea ieirii O1, daca intrrile I1 i I2 sunt active, iar variabilele Y5 i
Y25 au valoarea logic TRUE.
Programul surs este un fisier text, care conine o secvena de propoziii cu
structura definit de (4.1). Prin compilare, se obine un fisier binar, care conine codul
executabil, ce trebuie transferat intr-o memorie nevolatil situat la nivelul
microcontrollerului de decizie.
Execuia programului se face conform schemei logice prezentate n figura 4.2.
61
SCANINPUT
FETCH
EVALUATE
FUNCTION
INCREMENT PC
UPDATE
OUTPUT
RESET PC
LAST
FUNCTION?
NO
YES
PC-PROGRAMCOUNTER
Fig. 4.2 Schema logica de execuie a unui program RDPL
Fiecare ciclu de execuie a programului ncepe cu o secven de actualizare a
unui set de variabile interne asociate cu intrrile n sistem i se ncheie cu
actualizarea ieirilor. ntre aceste dou momente, se evalueaz pe rnd toate
funciile, n ordinea n care au fost definite n program.
Fa de un PLC convenional, sistemul descris are urmtoarele particulritai:
Intrrile i ieirile sunt distribuite, fiind asociate cu senzorii i actuatoarele
amplasate (preponderent) n mediu.
Un set limitat de intrri este asociat cu un numr comenzi vocale, de genul
STOP, MOVE, LEFT, RIGHT. n aceasta abordare, recunoaterea unei
comenzi vocale, se traduce intr-o tranziie a intrrii digitale asociate cu
comanda vocal respectiv.
62
O categorie special de ieiri din sistem o reprezint comenzile de micare
a vehiculului autonom. Acestea se genereaz automat i se transmit
subsistemului de conducere cinematic la detectarea unui front selectat al
unor variabile logice. Coordonatele punctului int sunt transmise
subsistemului de control cinematic odat cu comanda de micare.
4.2.3 Detalii privind implementarea RDPL
4.2.3.1 Crearea i meninerea unei reprezentri interne asupra mediului
Acest obiectiv se realizeaz definind un set de variabile asociate n mod univoc cu
intrrile i ieirile din sistem. Un task de background interogheaz periodic blocul
Data Acquisition (fig. 1.1) dupa un protocol compatibil cu modulele de achizitie de
date folosite (MODBUS n experimentele noastre) i actualizeaz aceste variabile.
Pentru a permite codificarea fronturilor i nivelelor semnalelor digitale, se aloc
variabile de tip byte pentru intrrile digitale. La fiecare actualizare, valoarea curent a
intrrii este shiftat n bitul cel mai puin semnificativ al octetului asociat, ca n figura
4.3. Acelasi mecanism de actualizare se aplic pentru toate variabilele de tip binar
din sistem.
0 1 2 3 4 5 6 7
I
k
t
n+1 t
n
t
n- 1
Fig. 4.3 Mecanismul de actualizare a intrrilor digitale
In acest mod, biii cei mai puin semnificativi (bitii b0 i b1) ai octetului asociat cu o
variabil binar indic faptul c respectiva variabil a avut sau nu tranziie de la
ultima esantionare, precum i tipul acestei tranziii front cresctor sau cztor.
Comenzile vocale sunt tratate ca intrri digitale n sistem. Recunoaterea propriu-
zis a comenzilor se face la nivelul unui computer, amplasat n mediu, care ruleaz o
63
aplicaie comercial de recunoatere a vorbirii, de exemplu Dragon Naturally
Speaking ([106]).
La recunoaterea unei comenzi vocale, computerul emite pe un port serial un
string de identificare, asociat n mod univoc cu comanda respectiv. Acesta este
recepionat de un modul de conversie de protocol, care raporteaz datele n format
adecvat catre microcontrollerul de decizie (vezi figura 4.4).
RADIOMODEM
Input
Output
Module(s)
Voicecommands
Sensors
Actuators
PROTOCOL
CONVERTER
RS-485 BUS
R
S
-
2
3
2
Fig. 4.4 Structura modulului Data Acquisition incluznd comenzile vocale
Sistemul descris are avantajul c permite tratarea comenzilor vocale n mod
absolut similar cu oricare intrare digital, asigurnd maximum de flexibilitate i
simplificnd considerabil interpretarea comenzilor vocale. Dezavantajul este c
numrul maxim al comenzilor vocale este limitat.
4.2.3.2 Definirea intelor de navigaie
Coordonatele intelor de navigaie sunt furnizate ca parametru n comanda de
micare. Sintaxa general a comenzilor de micare este definita de funcia MOVE:
MOVE TRIGGER, GOAL_X,GOAL_Y, GOAL_HEADING, EDGE
unde TRIGGER este denumirea simbolic a variabilei care genereaz comanda de
micare, (GOAL_X, GOAL_Y, GOAL_HEADING) sunt coordonatele intei, iar EDGE este
64
frontul semnalului TRIGGER care declanseaz efectiv generarea comenzii de micare
catre vehiculul autonom. Coordonatele intei sunt date intr-un sistem de referin
cartezian i sunt exprimate n milimetri i grade.
Subsistemul de navigaie este responsabil de selecia unei rute (predefinite) i de
conducerea vehiculului la inta specificat, cu ocolirea eventualelor obstacole.
intele specificate trebuie sa fie posibil de atins (reachable) i sa apartina unei rute
predefinite.
4.2.3.3 Definirea aciunilor
Pe lng comenzile de micare a vehiculului autonom, definirea aciunilor pe care
robotul le poate exercita asupra mediului se face prin selecia actuatoarelor i
asignarea ieirilor din sistem care le comand. Din perspectiva progrmarii, execuia
unei aciuni se limiteaz la activarea ieirii corespunztoare. Optional, terminarea
unei aciuni poate fi semnalat de un senzor tip limitator de curs conectat la una
din intrrile digitale, care este testat de program.
4.2.3.4 Programarea deciziilor
Resursele sistemului
Din punct de vedere al programrii, intrrile i ieirile sistemului sunt interpretate ca
resurse hardware. Acestea sunt asociate cu un set de variabile avnd denumirile i
tipul specificate sintetic n tabelul 4.1.
Pe lng aceste resurse fizice, s-au introdus o serie de resurse logice, predefinite,
implementate prin software. Lista acestora este prezentat n tabelul 4.2.
65
Tabelul 4.1. Variabile asociate cu resursele fizice ale sistemului
Nume Descriere Tip Starea initiala
I0-I15 Intrri digitale boolean 0
NI0-NI15 Starea
complementar a
intrrilor digitale
boolean 1
O0-O15 Ieiri digitale boolean 0
A0-A7 Intrri analogice intregi de tip octet -
n intervalul 0-255
nedefinit
Resursele logice pot fi grupate n urmtoarele categorii:
Variabile asociate cu resursele fizice (intrri/ieiri)
Variabile de memorie de uz general
Timere
Variabile auxiliare
Constante predefinite
Sistemul scaneaz permanent starea intrrilor fizice i actualizeaz valorile
variabilelor asociate (I0-I15, A0-A7). Starea variabilelor logice asociate cu ieirile O0-
O15 este determinat de programul executat de modulul de decizie, iar ieirile fizice
sunt controlate corespunztor cu starea variabilelor asociate.
Nota: Pentru comoditate, au fost definite dou seturi de variabile asociate cu
intrrile digitale: I0-I15 care reflect starea real a intrrilor i NI0-NI15
care conin starea complementar a acestora.
Variabile de memorie de uz general
RDPL dispune de un numr de 104 variabile de memorie de uz general, denumite
M0-M7 i Y0-Y95. Toate sunt, din punct de vedere hardware, locaii de memorie
RAM, de 8 biti.
Att M0-M7, cat i Y0-Y95 pot stoca atat valorile unor variabile de tip ntreg, ct i
valorile unor variabile de tip boolean. Totui, pentru ca programul sa fie mai uor de
66
urmrit i de depanat, se recomand folosirea locaiilor M0-M7 pentru variabile de tip
ntreg, iar Y0-Y95 pentru variabile de tip boolean.
Tabelul 4.2. Resurse logice ale RDPL
Nume Descriere Tip Starea initiala
M0-M7 Variabile de memorie de
uz general
ntreg de 8 biti cu
valori n
intervalul[0-255]
0
Y0-Y95 Variabile de memorie de
uz general
boolean sau ntreg 0
YTMR0-
YTMR31
Timere predefinite boolean 0
STATUS Variabil auxiliar de tip
ntreg
ntreg de 8 biti cu
valori n intervalul
[0-255]
0
S0-S15 Variabile de stare asociate
cu STATUS
boolean toate au valoarea
0 cu exceptia
uneia care e 1
0L Nivel logic zero boolean.
Constant
predefinit
0
1L Nivel logic unu boolean.
Constant
predefinit
1
RISE Indic tranziie din 0 n 1 a
unei variabile booleene
constant
predefinit
1
FALL Indic tranziie din 1 n 0 a
unei variabile booleene
constant
predefinit
2
UP Indic numrator de tip
up counter
constant
predefinit
1
DOWN Indic numrator de tip
down counter
constant
predefinit
0
Timere
RDPL dispune de un numr de 32 de timere predefinite, care sunt vizibile pentru
progam sub forma unor variabile booleene, denumite YTMR0-YTMR31. Acestea pot
funciona fie ca monostabil, fie ca multivibrator astabil (oscilator).
In ambele situaii, durata impulsurilor generate de timere se calculeaz cu formula:
T=K*Q unde Q este cuanta de timp a timerului, iar K este o constant definit prin
program. Constanta K este un numr ntreg de 8 biti, care poate lua valori n
67
intervalul [1-255]. Rezult c un timer dat poate genera constante de timp n
intervalul [Q-255*Q]. Caracteristicile timerelor sunt prezentate sinoptic n tabelele 4.3
i 4.4.
Tabelul 4.3. Caracteristicile timerelor
Timer# Ieirea Cuanta de timp Q Tmin Tmax
0-7 YTMR0-YTMR7 10 ms 10 ms 2550 ms
8-15 YTMR8-YTMR15 100 ms 100 ms 25.5 s
16-23 YTMR16-YTMR23 1 s 1 s 255 s
24-31 YTMR24-YTMR31 1 min 1 min 255 min
Nota: n cazul funcionarii timerelor ca multivibrator (oscilator), att impulsul ct i
pauza dintre impulsuri au durate egale T=K*Q. Rezult c perioada ceasului
generat de un astfel de timer este 2*T. innd seama c durata minim a unui
impuls este de 10ms, rezult c perioada minim este de 20ms, ceea ce
corespunde la o frecven maxim de 50Hz a ceasului generat.
Variabile auxiliare, predefinite
Pentru uurarea implementrii prin program a unor automate finite, s-a definit un set
de variabile auxiliare, special destinate acestui scop.
Variabila STATUS este de tip ntreg de 8 biti, similar cu M0-M7. Particularitatea
acestei variabile este aceea ca semioctetul sau inferior este automat decodificat i se
seteaz variabilele S0-S15, corespunztor valorii STATUS.
De exemplu, dac STATUS=0, atunci S0=1 iar restul variabilelor S1-S15=0.
Similar, dac STATUS=7, atunci S7=1, iar restul varibilelor S, S0-S6 i S8-S15 au
valoarea 0, etc.
Constante predefinite
Pentru facilitarea scrierii fr erori i a depanrii programelor, s-au definit
urmtoarele constante:
68
0L ZERO LOGIC. Indicarea acestei constante ca operand al unei funcii logice
are un efect similar conectarii intrrii unui circuit logic la nivel logic zero (GND).
1L UNU LOGIC. Indicarea acestei constante ca operand al unei funcii logice
are un efect similar cu conectarea intrrii unui circuit logic la unu logic (VCC).
RISE indic o tranziie din 0 n 1 a unei variabile booleene (front cresctor).
FALL indic o tranziie din 1 n 0 a unei variabile booleene (front cztor).
Descrierea principalelor funcii
Funcia AND (I LOGIC ntre operanzi)
Sintaxa general:
AND DEST,OP1,OP2,OP3,OP4
Destinaia i cei 4 operanzi ai funciei, OP1-OP4, pot fi orice variabile de tip boolean
definite n sistem, fie ca e vorba de intrrile digitale ale modulului I0-I7, sau de ieirile
altor funcii, notate Y0-Y94, sau ieirile timerelor, YMTR0-YTMR31.
Ordinea n care se specific operanzii nu are nici o importan. De exemplu,
urmtoarele expresii sunt perfect echivalente:
AND Y1,I0,Y12,1L,1L
AND Y1,Y12,1L,I0,1L
Funcia NAND (I NEGAT LOGIC ntre operanzi)
Sintaxa: NAND DEST,OP1,OP2,OP3,OP4
Destinatia i operanzii funciei NAND se supun condiiilor enumerate n cazul funciei
AND.
Funcia OR (SAU LOGIC ntre operanzi)
Sintaxa: OR DEST,OP1,OP2,OP3,OP4
DEST Destinaia rezultatului operaiei indicate de funcie.
69
OP1OP4 sunt cei patru operanzi asupra crora se execut operaia logic definit
de funcie.
Nota: n cazul funciei OR, dac exista intrri nefolosite, acestea trebuie conectate la
0L.
Funcia NOR (SAU NEGAT LOGIC ntre operanzi)
Sintaxa: NOR DEST,OP1,OP2,OP3,OP4
DEST Destinaia rezultatului operaiei indicate de funcie.
OP1OP4 sunt cei patru operanzi asupra crora se execut operaia logic definit
de funcie.
Funcia XOR. (SAU EXCLUSIV LOGIC ntre operanzi)
Sintaxa: XOR DEST,OP1,OP2,OP3,OP4
DEST Destinaia rezultatului operaiei indicate de funcie.
OP1-OP4 sunt cei patru operanzi asupra crora se execut operaia logica definita
de funcie.
Funcia FF (SET-RESET Flip Flop)
Sintaxa: FF DEST,S,R,PRIORITY
Intrrile SET i RESET sunt active n 1 logic.

DEST, S,R pot fi oricare din resursele sistemului.
PRIORITY este o constant, care poate lua valorile 0 sau 1 pentru a indica
prioritatea relativ a intrrilor de SET i RESET.
PRIORITY=0 Intrarea RESET este prioritar
PRIORITY=1 Intrarea SET este prioritar
Exemple:
FF Y12,I0,I1,0
FF Y12,I1,I0,1
70
Evident, n acest caz, ordinea n care se specifica intrrile de SET i RESET este
important pentru interpretarea funciei. Cele dou funcii descrise n exemplul de
mai sus NU sunt echivalente.
Funcia DCOMP (COMPARATOR DIGITAL)
Sintaxa: DCOMP DEST, OP1, OP2, M
Spre deosebire de funciile prezentate anterior, care aveau drept operanzi variabile
booleene, funcia DCOMP compar bit cu bit doi operanzi de tip ntreg de 8 biti.
Ieirea funciei DCOMP este activ (are valoarea 1 logic) dac OP1*M=OP2*M.
M este o constant de 8 biti, denumit masc, iar operaia indicata de simbolul *
este bitwise AND. n acest mod, sunt supui comparaiei i afecteaz ieirea funciei
DCOMP doar acei bii ai operanzilor OP i K situai n poziiile n care M are un bit 1.
Funcia ACOMP (COMPARATOR ANALOGIC)
Sintaxa: ACOMP DEST,OP1,OP2
DEST Destinaia rezultatului operaiei indicate de funcie
OP1, OP2 pot fi orice variabile de tip ntreg. Destinaia este de tip boolean.
ACOMP emuleaz funcionarea unui comparator analogic, n care OP1 este asociat
cu intrarea neinversoare iar OP2 este asociat cu intrarea inversoare.
Funcia ACOMP a fost introdus pentru a facilita operarea cu intrrile analogice ale
modulului, dar aplicaiile acestei funcii nu se limiteaz la aceasta.
Funcia STC (Store on Condition)
Funcia STC Store on Condition (memorare conditionata) a fost introdus pentru
a putea asigna unei variabile o valoare stocat de o alta, la momente de timp definitie
de un operand specificat.
Sintaxa: STC DEST,SRC,COND,EDGE
DEST - destinaia transferului
71
SRC sursa transferului (valoarea transferat)
COND este o variabil boolean, care desemneaz, atunci cnd este 1 logic,
condiia n care are loc transferul.
EDGE frontul semnalului de intrare care determin operaia
Exemplu:
STC STATUS,M0,Y0,RISE
Expresia de mai sus descrie o operaie prin care variabila auxiliar STATUS capat
valoarea stocat de M0 n momentele cnd Y0 inregistreaz o tranziie din 0 n 1.
Funcia STIC (Store Immediate value on Condition)
Funcia STIC este similar cu STC, cu diferena c operandul surs este o constant,
adresat imediat.
Sintaxa: STIC DEST,K,COND,EDGE
Funcia COUNTER. Definirea numratoarelor
Sistemul permite definirea unor numratoare de 8 biti, reversibile (care pot numra
att n sens crescator, ct i descrescator), sensibile la frontul cresctor sau
descresctor al intrrii de numrare.
Sintaxa: COUNTER DEST,DIR,CLOCK,EDGE
DEST este destinaia funciei indic o variabil de memorie de tip ntreg de 8 biti,
care poate lua valori n intervalul [0-255].
DIR indic direcia de numrare. Poate fi orice variabil de tip boolean definit n
sistem, sau una din constantele predefinite UP sau DOWN.
Cnd DIR=0, sensul de numrare este invers (down counter)
Cnd DIR=1, sensul de numrare este direct (up counter)
CLOCK este o variabil de tip boolean, care poate fi oricare din resursele booleene
ale sistemului.
72
EDGE este o constant care indic frontul activ al ceasului, pe care se face
numrarea.
EDGE=1 numrare pe front cresctor al CLOCK
EDGE=2 numrare pe front cztor al CLOCK
Pentru usurina citirii programelor, s-au definit dou constante RISE i FALL, care pot
fi folosite pentru indicarea frontului cresctor, respectiv descresctor de numrare n
definiia numratoarelor.
Exemple:
COUNTER M0,UP,I0,RISE
Funcia descrisa mai sus numra cresctor i stocheaz n variabila M0 fronturile
crescatoare nregistrate la intrarea I0.
COUNTER M0,I0,I1,FALL
Numratorul definit de expresia de mai sus numr direct atunci cnd intrarea I0=1,
i invers cnd I0=0, fronturile cztoare ale intrrii I1 i stocheaz rezultatul n
variabila M0.
Observaie.
Numratoarele astfel definite nu-si pot depi capacitatea nici la numrare
directa, nici la numrare invers (nu exist overflow)
In momentul n care se atinge limita de numrare (valoarea $FF la numrare directa,
sau $00 la numrare inversa), numratorul i pstreaz valoarea iar urmtoarele
fronturi ale intrrii CLOCK sunt ignorate.
Funcia TIMER. Definirea timerelor
Sintaxa: TIMER TMRNO,TYPE,INPUT,EDGE,K
73
TMRNO Timer Number este numrul de identificare al timerului reprezentat printr-
un ntreg n intervalul [0-31]. Numrul de ordine al timerului este asociat n mod unic
cu cuanta de timp n modul descris n tabelul nr. 4.4.
TYPE descrie tipul de timer. Este o constant care poate lua valorile urmtoare:
TYPE=MONO TIMER-ul e configurat ca monostabil
TYPE=OSC TIMER-ul funcioneaz ca multivibrator astabil
Tabelul 4.4 Constante de timp asociate cu timerele predefinite
TMRNO Destinaia funciei Cuanta de timp Q
0-7 YTMR0-YTMR7 10 ms
8-15 YTMR8-YTMR15 100 ms
16-23 YTMR16-YTMR23 1 s
24-31 YTMR24-YTMR31 1 min
INPUT poate fi orice variabil boolean definit n sistem. Tranziiile sau starea
acestei variabile determin funcionarea timerului intr-un mod definit de constanta
EDGE.
EDGE indic frontul activ al semnalului INPUT care declanseaz timerul. Este o
constant cu valori posibile n intervalul [0-3]. Interpretarea valorii EDGE e diferit n
funcie de modul de operare definit de TYPE.
Semnificaia valorilor constantei EDGE n funcie de modul de funcionare a timerului
ca monostabil sau astabil este prezentat n tabelul 4.5.
Constanta K, mpreun cu cuanta de timp predefinita a fiecarui timer, Q determin
constanta de timp a timerului T
y
=K*Q.
74
Tabelul 4.5. Semnificaia parametrilor TYPE i EDGE n definitia funciei TIMER
TYPE EDGE Funcionare ca
0 Monostabil redeclansabil pe palier 0
1 Monostabil declansat pe front cresctor
2 Monostabil declansat pe front urcator
TYPE=0
Monostabil
3 Monostabil redeclansabil pe palier 1
0 Oscilator validat cnd INPUT=0
1 combinaie invalid
2 combinaie invalid
TYPE=1
Multivibrator
astabil
3 Oscilator validat cnd INPUT=1
n cazul funcionarii ca monostabil, T
y
este durata ct ieirea YTMRx st n starea
HIGH dupa detectarea unei tranziii active a variabilei INPUT. n cazul funcionrii ca
astabil, Ty definete durata impulsurilor i a pauzei ntre impulsuri, astfel nct
perioada ceasului generat de astabil este Tosc=2*Ty.
Funcia MOVE (Comanda de micare)
Sintaxa: MOVE TRIGGER,GOAL_X,GOAL_Y,GOAL_HEADING,EDGE
Definete o int de navigaie prin coordonatele ei GOAL_X, GOAL_Y, i
GOAL_HEADING.
Parametrul TRIGGER poate fi oricare din resursele sistemului i indic semnalul
care declaneaz transmisia comenzii de micare catre robot. EDGE este frontul
activ al semnalului TRIGGER.
Tabelul 4.6 conine lista tuturor funciilor admise de limbajul RDPL.
75
Tabelul nr. 4.6 Lista funciilor insotit de simbolurile grafice folosite
Simbol grafic Sintaxa
Yi
AND
OP1
OP2
OP3
OP4
AND DEST,OP1,OP2,OP3,OP4
Yi
NAND
OP1
OP2
OP3
OP4
NAND DEST,OP1,OP2,OP3,OP4
Yi
OR
OP1
OP2
OP3
OP4
OR DEST,OP1,OP2,OP3,OP4
Yi
NOR
OP1
OP2
OP3
OP4
NOR DEST,OP1,OP2,OP3,OP4
Yi
XOR
OP1
OP2
OP3
OP4
XOR DEST,OP1,OP2,OP3,OP4
S
R
Yi
SET
RESET
FF DEST,SET,RESET,PRIORITY
PRIORITY=0 RESET PRIORITAR
PRIORITY=1 SET PRIORITAR
76
Tabelul nr. 4.6 Continuare
Simbol grafic Sintaxa
+
-
OP1
OP2
Yi
ACOMP DEST,OP1,OP2
M
OP1
DCOMP
Yi
OP2
DCOMP DEST,OP1,OP2,MASK
MASK este o constant adresat imediat
DIR
Clock
DEST
COUNTER DEST,DIR,CLOCK,EDGE
EDGE este o constant adresat imediat
Valori predefinite RISE, FALL
Valori predefinite pentru DIR UP, DOWN
K
Input YTMRx
TIMER TMR#,TYPE,INPUT,EDGE,K
TMR# este o constant adresat imediat
valori predefinite pentru TYPE
MONO,OSC
EDGE este o constant adresat imediat
DEST=SRC COND
STC DEST,SRC,COND,EDGE
Transfer conditionat ntre variabile
DEST=K COND
STIC DEST,K,COND,EDGE
Initializare conditionata a unei variabile
K este o constant adresat imediat
TRIG MOVE(X,Y, ) q
MOVE TRIGGER,X,Y,HEADING,EDGE
Exemplu de secvena de program
Presupunem ca intrarea I0 este conectat la butonul soneriei de la intrarea reedinei
persoanei asistate (cu deficiene senzoriale) iar I1, I2, I3 sunt conectati la
detectoarele de micare din principalele incinte.
Dac n interval de 15 secunde de la activarea soneriei, nu se inregistreaz
micare n incintele supravegheate, se cere ca robotul sa se deplaseze ctre ua de
77
la intrare si, eventual, sa acioneze o ieire conectat la un zavor electromagnetic,
pentru deschiderea uii. Circuitul logic care realizeaz aceasta funcie este prezentat
n figura 4.5.
Y1
OR
Y2
S
R
15sec 100ms
YTMR16
YTMR0
Y3
AND
1L
1L
I0
I1
I2
I3
0L
MOVE(X,Y, ) q
Fig. 4.5 Exemplu de program RDPL
Programul echivalent este urmtorul:
OR Y1,I1,I1,I3,0L
FF Y2,I0,Y1,0
TIMER 16,MONO,I0,RISE,15
TIMER 0,MONO,YTMR16,FALL,10
AND Y3,YTMR0,Y2,1L,1L
MOVE Y3,5000,3500,45,RISE
Detalii privind implementarea limbajului RDPL pe un microcontroller de uz general,
precum i despre structura compilatorului sunt prezentate n Anexa A.
4.3 Concluzii
Principalul avantaj al RDPL este simplitatea, care decurge din structura ierarhizat a
sistemului de conducere propus pentru PRA. RDPL raspunde strict cerinelor de
decizie n situaii predictibile, descrise de anumite configuraii ale semnalelor
furnizate de senzori, fr a ncerca sa includ elemente de control cinematic, sau de
localizare prin recunoaterea unor repere (landmarks).
In consecinta, RDPL poate fi implementat n sisteme de decizie realizate cu
microcontrollere uzuale, iar programarea poate fi facut de utilizatori cu cunotine
tehnice elementare.
Principalele dezavantaje ale RDPL sunt urmtoarele:
78
- RDPL nu acoper situaiile n care informaia furnizat de senzori este incert,
din cauza unor perturbaii sau a erorilor de comunicaie;
- In stadiul actual, RDPL nu include mecanisme de tratare a situaiilor de eroare,
sau avarie. De exemplu, n cazul cnd o secvena de deplasare catre o int
specificata esueaz, din cauza intlnirii unui obstacol pe care subsistemul de
navigaie nu il poate ocoli, singura soluie de finalizare a secvenei rmne
ghidarea vehiculului prin comenzi vocale.
In ciuda dezavantajelor enumerate, RDPL rezolv satisfctor majoritatea
problemelor asociate cu decizia intr-un sistem robotic care evolueaz intr-un
mediu cunoscut i manipulat prin amplasarea de senzori i actuatoare.
Apreciem ca este o soluie demn de luat n considerare pentru implementarea
unor variante comerciale de asisteni robotici personali.
79
g
How Should I Get There? Problema controlului micrii
roboilor mobili catre int
5.1 Formularea problemei
Considernd un vehicul autonom, modelat ca un solid rigid sau articulat, cu
cinematic i geometrie cunoscute, situat intr-un punct
T
y x p ] , , [ = , se pune
problema conducerii vehiculului (guidance) intr-un punct int
T
d d d d
y x p ] , , [ = , cu
ocolirea eventualelor obstacole.
Astfel formulat, problema general se poate descompune ([110]) n urmtoarele
subprobleme distincte:
5.1.1 Planificarea rutei (path planning)
In acest caz, se pune problema determinarii unei secvene continue de stri (poziii)
intermediare ale robotului ntre starea initial p i starea final p
d
, cu ocolirea
obstacolelor. Problema planificrii rutei a fost descris extensiv n ([111]) i comport
n general un volum foarte mare de calcule, incompatibil cu resursele limitate ale
microcontrollerelor uzuale. Din acest motiv, abordarea propus n prezenta tez
pentru implementarea unor asistenti robotici personali, va presupune c rutele sunt
predefinite de un operator uman, iar problema obstacolelor neateptate, va fi tratat
dintr-o perspectiva pur reactiv n capitolul 6.
80
5.1.2 Stabilizarea punct la punct (point to point stabilization, sau posture
stabilization) presupune conducerea robotului catre punctul int, fr a se face vreo
restrictie privind ruta de urmat. Aceasta este echivalent cu gsirea unei legi de
control:
) ), (( t p p u
v
d
=

n asa fel nct 0 ) , (


d
p p , pentru ) 0 ( p (5.1)
Urmrirea unei traiectorii geometrice definite ntr-o parametrizare independenta de
timp (path following).
x
y
q
v
G
q
d
M
P
x
y
h
T
h
N
d
Fig. 5.1 Formularea problemei de conducere pentru path following
Cu notaiile din figura 5.1,unde M este proiecia ortogonal a poziiei curente P a
robotului pe curba , d este distana ntre P i M, s este distana curbilinie de-a
lungul curbei ntre un punct initial oarecare i M, ) (s
d
este unghiul ntre axa Ox i
tangenta n M la curba , iar
d
=
~
este eroarea unghiulara, problema urmaririi
traiectoriei este echivalent cu definirea unei legi de reglaj )) ( ,
~
, , ( t v d s k u = , n aa
fel nct
0 )) (
~
(
0 )) ( (
lim
lim
=
=


t
t d
t
t

(5.2)
81
5.1.3 Urmrirea unei traiectorii geometrice definite intr-o parametrizare dependent
de timp (trajectory tracking).
x
y
q
q
ref
v
v
ref
P
x
y
x
ref
y
ref
Fig. 5.2 Formularea problemei de conducere pentru trajectory tracking
Cu notaiile din figura 5.2,se considera un vehicul-referin virtual, avnd vitezele
) ( ), ( t t v
ref ref
, mrginite,cu derivatele mrginite si
0 )) ( (
0 )) ( (
lim
lim



t
t v
ref
t
ref
t

(5.3)
si notnd
T
ref ref ref
y y x x e ] , , [ = se pune problema gsirii unei legi de reglaj
u=f(e), n aa fel nct:
0 )) ( (
lim
=

t e
t
(5.4)
Din perspectiva implementrii conceptului de asistent robotic personal, prezint
interes practic doar problema urmririi unei traiectorii definit intr-o parametrizare
independent de timp (path following).
5.2 Soluii cunoscute de conducere a roboilor pentru path following
5.2.1 Modalitti de reprezentare a traiectoriei int
Modalittile de reprezentare a traiectoriei int sunt clasificate ([112], [113]) n
explicite i implicite. O traiectorie explicit este o secven de puncte, definite prin
82
coordonatele lor n raport cu un sistem de referin, optional unite ntre ele prin
segmente de dreapt sau prin segmente de curb definit analitic (vezi figura 5.3).
x x x
y y y
a b c
START START START
GOAL GOAL GOAL
Fig. 5.3 Diverse modalitti de reprezentare explicita a traiectoriei int
n aceast abordare, estimarea erorii de poziionare fa de traiectoria int
presupune n mod obligatoriu existena unui sistem de localizare propriu vehiculului
autonom.
O modalitate indirect de a defini o traiectorie explicit este metoda denumit
follow the past ([114]), n care robotul are capacitatea de a memora traseul pe care
circul atunci cnd este (tele)condus de un operator uman i, ulterior, poate reface
drumul n mod autonom.
n cazul reprezentrii implicite a traiectoriei int, robotul extrage din mediu, cu
ajutorul unui set adecvat de senzori, informaii despre traiectoria pe care trebuie s o
parcurg, de exemplu urmrind marginile unui drum, radiaia electromagnetic emis
de un cablu subteran, sau citind informaia nregistrat n tag-uri RFID distribuite n
mediu. n aceast situaie nu este absolut necesar ca robotul s dispun de un
sistem propriu de localizare, estimarea erorii de poziionare n raport cu traiectoria
int fiind posibil doar prin prelucrarea direct a informaiei furnizate de senzori. Un
exemplu tipic de astfel de abordare este algoritmul denumit follow the wall, n care
robotul este programat s se deplaseze meninnd distana constant fa de un
perete de referin al unui coridor.
83
Urmrirea unei traiectorii definite implicit are avantajul simplitatii, dar are dou
dezavantaje majore:
Depinde n mod esential de senzori, ceea ce face ca eventualele msurtori
afectate de zgomot sa se traduc imediat n oscilaii ale sistemului de poziionare
al vehiculului.
Non-holonomicitatea vehiculului limiteaz micarile posibile pornind de la o
anumita poziie, astfel nct este posibil ca rutele definite implicit s conin
seciuni care nu pot fi urmrite cu acuratee.
5.2.2 Algoritmi geometrici de urmrire a traiectoriei (path following)
Denumirea de agloritmi geometrici a fost sugerata de Morales et. al. n [113] pentru a
descrie o serie de algoritmi de urmrire a unei traiectorii, bazai pe exprimarea erorii
de poziionare prin analiza geometric a poziiei vehiculului fa de traiectoria int.
In aceasta categorie se incadreaz algoritmii denumiti follow the carrot ([115]),
pure pursuit ([113],[116]), vector pursuit ([117]) i stanley ([118]).
5.2.2.1 Algoritmul Follow the Carrot
Principiul algoritmului follow the carrot este ilustrat n figura 5.4.
x
y
q
f
E
y
v
G
P
H
x
y
L
Fig. 5.4 Ilustrarea principiului algoritmului follow the carrot
84
Se alege un punct H, denumit look-ahead point, pe traiectoria int, aflat la o
distana L, constant, fa de vehicul (look-ahead distance). Se admite ca expresie
a erorii de poziionare, abaterea unghiular
=
E
(5.5)
unde este unghiul facut de direcia PH cu axa Ox (look-ahead angle), iar este
orientarea curent a vehiculului i se controleaz direcia vehiculului n aa fel nct:
E p
k = (5.6)
Relaia (5.6) exprim faptul ca follow the carrot implementeaz un regulator
proporional pentru orientarea vehiculului si, n consecinta, are toate dezavantajele i
limitrile regulatoarelor proporionale.
5.2.2.2 Algoritmul Pure Pursuit
Termenul pure pursuit (urmrire simpl) a fost propus n literatura tehnic militar
([119]) n contextul urmririi intei de catre rachete si, ulterior, a fost preluat de Amidi
([116]) care a descris algoritmul de urmrire a unei traiectorii ca un proces similar
urmririi unui punct aflat n micare pe traiectorie, la o distana L inaintea vehiculului.
(look-ahead distance). Spre deosebire de algoritmul follow the carrot, n pure
pursuit se urmreste determinarea unui arc de cerc, tangent la orientarea curent a
vehiculului, care intersecteaz traiectoria int intr-un punct aflat la distana L de
vehicul.
Considernd un sistem de referina solidar cu vehiculul, ca n figura 5.5 i definind
curbura traiectoriei ca fiind inversul distanei r ntre poziia curent a vehiculului i
centrul instantaneu de rotatie, sau ca variatia elementara a orientrii vehiculului
raportat la distana parcurs pe traiectorie:
ds
d
r

= =
1
(5.7)
85
x
y
x
g
y
g
G
C
Df
1/g
ref
L
Fig. 5.5 Ilustrarea principiului algoritmului pure pursuit pentru path following
Coordonatele puntului int G se pot exprima n acest sistem de coordonate prin:

ref
g
ref
g
y
x

) sin(
1 ) cos(

=

=
(5.8)
g g y x L
2 2 2
+ = (5.9)

ref
L
2
2
)) cos( 1 ( 2


= (5.10)
ref
g
x
L

2
2
= (5.11)
2
2
L
x
g
ref
= (5.12)
Semnul curburii este poziiv dac vehiculul executa o rotaie n sens invers
acelor de ceasornic i negativ cnd micarea se execut n sens orar.
In expresia (5.12), x
g
poate fi interpretat ca eroarea de poziionare iar
2
2
L
este
un factor de proporionalitate.
86
n concluzie, strategia de reglaj n cazul algoritmului pure pursuit este s
schimbe la momente discrete de timp kT
0
, valoarea referinei curburii
ref
in aa fel
nct micarea sa se desfasoare pe un arc de cerc tangent la axa vehiculului, care
intersecteaz traiectoria int la distana L de punctul curent. Procesul este iterativ,
iar rezultatul este prezentat n figura 5.6.
G1
G2
G3
Targetpath
Realpath
L
o
o
k
a
h
e
a
d

p
o
i
n
t
s
Fig. 5.6 Pure pursuit la urmrirea unei traiectorii liniare
n cazul particular al unui vehicul cu traciune diferenial, unde vitezele v
L
i v
R
se
pot controla independent (vezi figura 5.7), sunt valabile relaiile:

2
R L
v v
v
+
= (5.13)

2
1
2
2
R T v
R T v
R
L

=
=
(5.14)
b R R =
2 1
(5.15)
b R R T v v
R L
2 ) ( 2 ) (
2 1
= = (5.16)
Punnd condiia ca viteza rezultant v, sa fie constant, vitezele roilor motoare v
L
,
v
R
pot fi controlate n aa fel nct:
87

v v v
v v v
R
L
=
+ =
(5.17)
v v v
R L
= 2 (5.18)
x
y
ICR
v
L
v
R
v
R
1
R
2
b
Fig. 5.7 Curbura traiectoriei unui vehicul cu traciune diferenial n funcie de vitezele roilor motoare
Din (5.16) i (5.18) rezult:
b vT = (5.19)
Dar:

v
R
T
2
= (5.20)
rezult:

vb
v
R

= =
2 1
(5.21)
Din (5.12) i (5.21) rezult:

g ref
x
L
vb
v
2
= (5.22)
Relaiile de mai sus sunt valabile intr-un sistem de coordonate solidar cu vehiculul.
Deoarece, n general, sistemele de localizare i metodele explicite de definire a
traiectoriei int, furnizeaz coordonatele curente ale robotului i coordonatele
88
punctelor int intr-un sistem de coordonate global (x
w
,y
w
), este necesara o translatie
ntre cele dou sisteme de referina. Se demonstreaz ([120]) ca:
w rw gw w rw gw g
w rw gw w rw gw g
y y x x y
y y x x x


cos ) ( sin ) (
sin ) ( cos ) (
+ =
+ =
(5.23)
unde
T
w rw rw
y x ] , , [ este poziia robotului n sistemul de coordonate global, iar
) , (
gw gw
y x sunt coordonatele puntului int G n sistemul (x
w
,y
w
).
Datorit simplitii, algoritmul pure pursuit este destul de rspndit. Problema
stabilitii a fost tratat n ([121]), iar n ([122]) se propune o mbuntire a
algoritmului prin adugarea unei componente de reglaj integral. n ([123]) se propune
completarea algoritmului cu un supervizor n logic fuzzy.
5.2.3 Conducerea fuzzy a roboilor mobili pentru urmrirea unei traiectorii
Conceptul de Fuzzy Logic Controller (FLC) a gasit numeroase aplicaii n conducerea
roboilor autonomi, incepand chiar cu lucrarea de pionierat a lui M. Sugeno i M.
Nishida ([124]). n prezent exist sute de lucrri semnificative pe aceasta tem. Un
review al principalelor directii de aplicare a logicii fuzzy n domeniul navigaiei
roboilor autonomi, poate fi gasit n ([125]).
Detalii privind implementarea FLC sunt disponibile n ([126], [127], [87]). O
aplicaie tipica este prezentat n ([128]).
Principalele avantaje ale controllerelor fuzzy, care le recomand pentru aplicaii n
conducerea vehiculelor autonome, sunt:
Formatul de enunare a regulilor fuzzy permite descrierea simpl i eficient a
unei game largi de task-uri, fr a necesita modele matematice complexe.
Datorit caracterului calitativ al descrierilor fuzzy, bazele de cunostinte sunt uor
portabile de pe o platform pe alta.
89
Datorit caracterului interpolativ al controlului fuzzy rezult o micare lin,
continu a vehiculului controlat, chiar n situaii n care informaia furnizat de
senzori este afectat de erori sau fluctuatii.
Implementarea unui FLC este simplu de realizat, dac se cunoaste eroarea de
reglaj e(t). Derivata erorii e(t) la momentul t t t
k k
+ =
1
se poate exprima ca
) ( ) ( ) ( '
1
=
k k k
t e t e t e , dac 0 t . e(t) i e(t) sunt intrri pentru FLC (fig.5.8).
FuzzyLogic
Controller
e(t)
u(t)
e(t) FLC
Fig. 5.8 Schema bloc a unui FLC
Definind pentru funciile e(t) i e(t) domeniile fuzzy N (Negativ), Z (zero) i P
(Poziiv), cu funciile de apartenenta
P Z N
, , , respectiv
P Z N
' , ' , ' ,
] 1 , 0 [ : X , iar pentru ieirea u(t) domeniile fuzzy L (Low), M(Medium) i H
(High) de tip singleton, comportamentul controllerului se poate descrie printr-un
set de reguli lingvistice de tipul urmtor:
IF((e is N) AND (e is Z)) THEN (u must be M) (5.24)
Valoarea de adevr a propoziiilor (e is N) i (e is Z) din antecedentul
propoziiei (5.24) n logica fuzzy, se determin evalund funciile de apartenen
)) ( ( t e
N
i )) ( ' ( ' t e
Z
. Funciile de apartenen
P Z N
, , , i
P Z N
' , ' , ' , pot fi
definite, de exemplu, ca n figura 5.9.
Valoarea de adevr a ntregii propoziii (5.24) este:
)) ' ( ' ), ( min( e e z
Z N
= (5.25)
90

=
0
1
) (x m
0
x x =
0
x x
m
m
m
m
x
x
x
x
1
1
1
1
x
0

-
-
-
-
=
0
1
1
) (
b
a
m
c x
x c
x
] , [ c c x a -
] , [ b + c c x
b a + > - < c x c x ,
c
c
c
c-a
c-s
c+s
c+b

-
- =
1
| |
1
0
) (
s
m
c x
x ] , [ c c x s -
s - < c x
c x >

-
- =
0
| |
1
1
) (
s
m
c x
x
c x <
] , [ s + c c x
s + > c x

-
- =
2
) (
2
1
exp ) (
s
m
c x
x
m
x
1
c
SINGLETON
TRIANGULAR
SSHAPED
ZSHAPED
GAUSSIAN
Fig. 5.9 Cteva moduri uzuale de a defini funciile de apartenen fuzzy
ntreaga baz de reguli care descrie comportamentul sistemului se poate
reprezenta tabelar, ca n tabelul 5.1:
Tabelul 5.1 Un exemplu de reprezentare tabelar a bazei de reguli a unui FLC
error e(t) error dot
e(t) N Z P
N H L L
Z H M M
P M M L
Valoarea crisp a ieirii controllerului fuzzy se calculeaz cu relaia:
91

=
=
=
K
i
i
K
i
i i
z
S z
u
1
1
(5.26)
unde z
i
sunt valorile de adevr ale propoziiilor care descriu regulile fuzzy, calculate
cu (5.25), K este numrul total de reguli, iar S
i
sunt valorile singleton ale ieirii fuzzy a
sistemului.
In ([129]) am descris o metod simpl de implementare a acestui algoritm fuzzy
pentru urmrirea unei traiectorii, definit ca o secvena de segmente de dreapt sau
arcuri de cerc, n cazul unui vehicul autonom cu dou roti motoare i traciune
diferenial.
Dou puncte succesive ) , ( ), , (
1 1 + + i i i i
y x y x de pe traiectorie definesc o dreapta
descrisa de ecuaia:
0 = + + C By Ax (5.27)
unde:
1 1
1
1
+ +
+
+
=
=
=
i i i i
i i
i i
y x y x C
x x B
y y A
(5.28)
Distana de la punctul curent, (x
c
, y
c
) la dreapta (5.27) este:
2 2
| |
B A
C By Ax
d
c c
+
+ +
= (5.29)
Iar eroarea de poziie fa de curba int definit de (5.27) este distana cu semn
ntre punctul curent i curba int:
2 2
B A
C By Ax
e
c c
+
+ +
= (5.30)
iar derivata erorii:
) ( ) ( ) ( '
1
=
k k k
t e t e t e (5.31)
92
Proiectnd controllerul fuzzy n aa fel nct sa genereze simultan referine
distincte pentru vitezele roilor motoare
L R
v v , se pot controla simultan att translaia
ct i orientarea vehiculului.
Regulile lingvistice care descriu funcionarea controllerului fuzzy sunt de forma:
IF((e is N) AND (e is Z)) THEN (v
L
must be L)AND (v
R
must be H) (5.32)
Folosind funcii de apartenen liniare simetrice, ca n figura 5.10, se obine un
FLC cu doar doi parametri de ajustat, respectiv M i M, pantele funciilor de
apartenen pentru e(t) i e(t).
N
Z P
-M 0 e1 M
e(t)
P1
Z1
P Z N
m m m , ,
1
Fig. 5.10 Funcii de apartenen liniare simetrice
Performanele regulatorului fuzzy descris mai sus se imbuntesc semnificativ
prin imprtirea universului discursului asociat cu e(t) i e(t) n cinci subdomenii fuzzy:
Zero (Z), Negative Small (NS), Negative Big (NB), Poziive Small (PS) i Positive Big
(PB), ca n figura 5.11.
NB
NS Z PB PS
-M
0 M
e(t)
m
1
Fig. 5.11 Alta modalitate de definire a subdomeniilor fuzzy pentru e(t)
93
In concluzie ([130]), controllerele fuzzy asigura performane comparabile cu
regulatoarele PID, avnd faa de acestea avantajul robusteii la incertitudinile de
model i acordarea uoar. Principala critic formulat la adresa FLC e legat de
inexistena unor metode riguroase pentru studiul stabilitii acestor sisteme.
Exista cteva incercari notabile de a soluiona aceasta problema ([131],[132]), dar
dificultile persist, pentru c deriv dintr-o contradicie ntre nevoia de a cunoate
un model riguros al sistemului pentru studiul stabilitii i caracterul inerent vag,
imprecis al aplicaiilor fuzzy.
5.2.4 Conducerea roboilor mobili cu ajutorul feromonilor artificiali
5.2.4.1 Conceptul de feromoni artificiali
Feromonii naturali sunt substane chimice rspndite n mediu de ctre unele specii
de insecte i alte organisme, cu scopul de a influena comportamentul i, uneori,
chiar fiziologia, altor membri ai speciei.
Termenul pheromone a fost introdus n 1959, de Karlson i Luescher [133] i, n
acelai an, Grasse [134] a explicat mecanismul de coordonare a aciunilor, n
coloniile de termite, printr-un proces de comunicare indirect, mediat de feromonii
distribuii n mediu, mecanism pe care l-a denumit stigmergie (de la gr. stigma -
neptur, imbold i ergos - munc).
A fost nevoie de aproape 30 de ani pn cnd Deneubourg, Aron et. al. ([135],
[136], 137]) au observat posibilitatea de a crea ageni artificiali, biomimetici, care
comunic i interacioneaz prin intermediul unui mecanism similar.
n 1989 Beni i Wang ([138]) au introdus conceptul de swarm intelligence, iar
ntre 1996 i 1999, Dorigo, Bonabeau et al. au publicat cteva lucrri ([139], [140],
[141], [142]) explornd mecanismul de auto-organizare n roiuri (swarms) de furnici i
au numit ant colony optimization (ACO) procesul prin care furnicile n cutarea
94
hranei reuesc s gseasc drumul cel mai scurt ntre cuib i sursa de hran.
In continuare, un mare numr de lucrari tiinifice propun diverse metode de a crea
feromoni artificiali.
Evident, cel mai simplu mod de a emula feromonii naturali const n distribuirea
unor substane chimice n mediu i msurarea concentraiilor acestora n diverse
puncte din spaiul nconjurtor, printr-un mecanism similar cu olfacia ([143]).
Aplicaii directe n robotic ale acestei abordri pot fi gsite n ([144], [145], [146]).
O abordare diferit propun Payton et. al. n ([147], [148]). Acetia folosesc
transceivere infrared cu raz scurt de comunicaie pentru a transmite mesaje de la
un agent la altul, mesaje pe care le denumesc virtual pheromones. Termenul
virtual pheromone poate fi regsit n ([149]) i desemneaz tot entiti de
comunicaie.
ntr-o alt abordare, Kernbach et. al. propun n ([150]) folosirea unor senzori de
temperatur pentru detectarea prezenei i micrii altor ageni din colonie i
inducerea unor comportamente de tip swarm intelligence.
O ncercare de sistematizare a cercetrilor legate de aplicarea conceptului de
feromoni artificiali n robotic i se datoreaz lui Parunak ([151]), care folosete
termenul de digital pheromones.
n sfrit, n ([152],[153],[154]) sunt descrise cteva experimente n care feromoni
digitali, concepui ca structuri speciale de date, sunt stocai ntr-o reea de tag-uri
RFID distribuite n mediu.
Conceptul de feromoni artificiali e folosit n literatur ntr-un context n care se
pune problema coordonrii comportamentelor unor formaiuni de roboi, printr-un
proces de comunicare indirect, n mod absolut similar cu fenomenul de stigmergie
n coloniile de insecte. n ([154]) am sugerat posibilitatea folosirii feromonilor digitali,
95
pentru definirea unor traiectorii folosite la conducerea unor roboi individuali.
In concluzie, conceptul de feromoni artificiali, desi relaiv recent, s-a dovedit
deosebit de fertil n privinta formularii unor noi soluii de conducere a roboilor mobili
individuali i a formaiunilor de roboti.
5.3 Contributii la conducerea roboilor mobili pentru urmrirea unei traiectorii
5.3.1 Conducerea roboilor mobili cu ajutorul feromonilor virtuali
5.3.1.1 Modelarea feromonilor naturali
Pentru modelarea feromonilor naturali, trebuie considerate urmtoarele procese
asociate cu acetia:
Difuzia proces care conduce la crearea unor gradieni spaiali ai intensitii de
feromoni, detectabili de catre senzori.
Evaporarea const n scderea n timp a intensitii sursei de feromoni.
Agregarea const n superpoziia efectelor unor surse multiple de feromoni.
Procesul de difuzie spatial poate fi modelat admind ca intensitatea feromonilor
generai de o surs de intensitate unitar, perceput la distana x de surs este o
funcie de distana x, ] 1 , 0 [ :
+
R p , de exemplu de forma:

=
0
1
) (
0

x
p
x p (5.33)
In expresia (5.33), are semnificatia distanei maxime la care sursa de feromoni
este detectabil (sensibilitatea receptorului).
Procesul de evaporare poate fi modelat admind c intensitatea unei surse de
feromoni variaz n timp, de exemplu liniar:

t
p t p 1 ) (
0
(5.34)
unde are semnificaia unei constante de timp de evaporare specific sursei de
< < x 0
x
96
feromoni.
Din (5.33) i (5.34) rezult:

=
0
1 1
) , (
0

t x
p
t x p (5.35)
unde este versorul axei de-a lungul creia se msoar distana x.
Tinnd seama de (5.35), efectul de agregare a N surse de feromoni, aflate la
distantele d
1
, d
2
, ... d
N
de un punct oarecare R (vezi figura 5.12) se poate exprima:

=

=

t d
p P
N
k
k
k
R
1 1
1
0
(5.36)
S
1
S
2
S
3
S
4
S
n
d
1
d
2
d
n
p
1
p
2
p
n
s
P
Fig. 5.12 Ilustrarea superpoziiei efectelor a N surse de feromoni
Relaia (5.36) este modelul feromonilor virtuali.
Pentru aplicaii de urmrire a unei traiectorii de ctre roboti individuali, efectul de
evaporare a feromonilor artificiali este neinteresant. Fenomenul de evaporare
prezint interes n situaiile n care se urmrete obinerea unor efecte de tip ant
colony optimization ([139],[140]), sau alte efecte de auto-organizare, n formaiuni de
roboi.
Din acest motiv, relaia (5.36) se poate simplifica, eliminnd dependena de timp:

=
N
k
k
k
R
d
p P
1
0
1

(5.37)
< < x 0
x
97
Se observ similitudinea ntre modelul feromonilor dat de (5.37) i conceptul de
cmp de potential virtual (Virtual Potential Field) propus de Khatib, n ([155]) pentru
rezolvarea problemei planificarii rutei (path planning) cu ocolirea obstacolelor. n
aceasta abordare, robotul se comport ca o particul ncrcat electric, care este
atras de punctul int, fiind n acelasi timp respins de obstacole.
Conform modelului propus (5.37) pentru feromonii virtuali, acetia exercit
influene caracterizate prin intensitate i direcie asupra sistemului de percepie al
robotului, n interiorul unui cmp perceptual, definit de parametrul (vezi figura
5.12).
5.3.1.2 Definirea traiectoriei int cu ajutorul feromonilor virtuali
Traiectoria int se definete explicit, crend o hart de tip grid a mediului i
amplasnd surse unitare de feromoni n nodurile retelei, ntr-o secven care unete
un punct de start cu un punct int, ca n figura 5.13.
v
f
0
a
(x,y)
0 0
S
G
Fig. 5.13 Definirea traiectoriei int cu ajutorul feromonilor virtuali
Din raiuni care in de limitrile de memorie i viteza de prelucrare specifice
sistemelor bazate pe microcontrollere ncorporate, aceast hart nu este stocat n
memoria microcontrollerului care implementeaz task-urile asociate cu navigaia
vehiculului autonom, ci n memoria unui computer aflat la sol, denumit server de
feromoni.
98
Periodic, robotii mobili, aflai n comunicaie wireless cu serverul de feromoni emit
pachete de interogare, care conin un identificator al robotului i coordonatele curente
ale acestuia (poziia i orientarea), aa cum sunt raportate de subsistemul de
localizare. Serverul localizeaz robotul pe harta intern, calculeaz concentratia de
feromoni corespunztoare poziiei i orientrii robotului i raspunde cu un pachet de
date care conine ID-ul robotului care a emis interogarea i valoarea concentraiei de
feromoni cerut.
Astfel definit, harta care ncorporeaz informaia despre distribuia feromonilor
virtuali se comport ca o zon de memorie comun tuturor roboilor aflai n
comunicaie cu serverul de feromoni.
5.3.1.3 Calculul concentraiei de feromoni
Pentru calculul concentraiei de feromoni, corespunztoare unei anumite poziii a
robotului, vom face o ipotez suplimentar i anume, vom presupune c
sensibilitatea la feromoni este directional ceea ce corespunde realitaii n
sistemele biologice.
In consecin, feromonii vor fi detectabili doar ntr-o zona semicircular, de raz
, pe direcia de deplasare a robotului (vezi figura 5.14). Sursele de feromoni aflate
n semiplanul din spatele robotului sunt ignorate la calculul concentraiei rezultante.
Cunoscnd poziia robotului ) , , (
0 0 0
y x , precum i coordonatele surselor de
feromoni ) , (
i i
y x , se pune problema determinrii intensitii rezultante a feromonilor,
P
R
, i a directiei
R
a sursei echivalente de feromoni.
99
q
a
(x ,y )
R R
Fig. 5.14 Ilustrarea zonei semicirculare de sensibilitate la feromoni
Pentru fiecare surs de feromoni, se poate calcula distana faa de centrul de
mas al robotului, intensitatea cu care sunt percepui feromonii provenii de la sursa
respectiv
i
p i orientarea
i
.
2
0
2
0
) ( ) ( y y x x di
i i
+ = (5.38)

i
i
d
p p 1
0
(5.39)


=
i
i
i
d
x x
0
arcsin (5.40)
Prin superpoziia efectelor celor N surse de feromoni aflate n zona de sensibilitate
se obine:

=

= =
2
1
2
1
sin cos
N
i
i i
N
i
i i R
p p P (5.41)

=
=
N
i
i i
N
i
i i
R
p
p
arctg
1
1
cos
sin

(5.42)
Unde P
R
i
R
sunt respectiv intensitatea i direcia unei surse echivalente de
feromoni, care cumuleaz efectele celor N surse elementare.
100
5.3.1.4 Abordri posibile pentru conducerea roboilor mobili folosind conceptul de
feromoni virtuali
a. Abordarea bio-mimetica
Insectele sociale percep gradienii spaiali ai concentraiei de feromoni cu ajutorul a
dou antene, plasate simetric, de o parte i de alta a capului. n mod similar, se pot
defini dou puncte simetrice fa de axa robotului, de exemplu n dreptul roilor
motoare , puncte n care se calculeaz concentratiile de feromoni conform (5.41).
Coordonatele acestor puncte (L Left, R Right) sunt:
0 0
sin
2

b
x x
R
=

0 0
cos
2

b
y y
R
=
0 0
sin
2

b
x x
L
+ =
0 0
cos
2

b
y y
L
+ =
unde b este distana ntre planele roilor motoare ale robotului.
Folosind aceste puncte ca referin, cu relaiile (5.38)-(5.41) se determin P
L
i P
R
,
concentratiile de feromoni la nivelul acestor antene. Cu aceste valori, presupunand
ca ] 1 , 0 [ ,
L R
P P , iar K este o constant de scalare, se pot determina referinele de
vitez pentru roile motoare:

-
- -
=
| |
|) | 1 (
R L
R L
L
P P K
P P K
v

- -
-
=
|) | 1 (
| |
R L
R L
R
P P K
P P K
v
forP>P
L R
forP<=P
L R
forP>=P
L R
forP<P
L R
Relaiile (5.44) corespund cu un regulator proporional, cu performane modeste i
fr mare importan practic, Aceast abordare are ns meritul de a pune n
eviden faptul c ntregul proces de inferen prin care se ajunge de la o distribuie
spatial de feromoni pn la referinele de viteza, este perfect similar cu o retea
neuronal (vezi figura 5.15).
(5.43)
(5.44)
101
S
S
PHEROMONE
SOURCES
LEFT ANTENNA
RIGHT ANTENNA
V
R
V
L
P
L
P
R
+1
-
1
+1
-
1
p
(
d
)
i
i
INPUT
LAYER
HIDDEN
LAYER
OUTPUT
LAYER
Fig. 5.15 Modelarea neuronala a interaciunilor mediate de feromoni
In aceast structur, neuronii de pe layer-ul de intrare sunt sursele discrete de
feromoni i de aceea sinapsele ntre layer-ul de intrare i layer-ul intermediar sunt
determinate exclusiv de concentraiile i de distribuia spaial a surselor de
feromoni. Am denumit exo-sinapse, acest tip de sinapse mediate de feromoni.
Observatie
Deoarece ponderile sinapselor ntre layer-ul ascuns i layer-ul de ieire sunt fixe,
avnd valorile (+1, -1), iar ponderile exo-sinapselor sunt determinate doar de condiii
externe, aceasta reea nu are nevoie de training!!
Inteligena fiecarui agent dintr-un roi este determinat n ntregime de roiul care
genereaz o anumit distribuie de feromoni.
Modelarea neuronal a proceselor n care sunt implicati feromonii deschide o serie
de perspective interesante pentru studiul proceselor de auto-organizare n roiuri
(swarms) ca procese de nvtare i se sugereaz posibilitatea salvrii (la nivelul
serverului de feromoni, de exemplu) a unor snap-shot-uri ale configuraiilor de
feromoni pentru reproducerea (in acelasi roi, sau n roiuri diferite) unor situaii de
auto-organizare printr-un algoritm de tip follow the past.
102
Am descris aceasta abordare n ([156]).
b. Abordarea fuzzy
Valorile P
L
i P
R
ale intensitatilor feromonilor, detectate cu dou antene pot fi folosite
pentru a exprima eroarea de reglaj:
) ( ) ( ) ( t P t P t e
R L
= (5.45)
Urmnd procedura descris n paragraful 5.2.3, se poate implementa cu uurin
un controller fuzzy care sa aduc vehiculul n postura n care P
L
=P
R
. Aceasta se
ntmpl atunci cnd punctele L i R (antenele) sunt situate simetric fa de
traiectoria int, ceea ce corespunde situaiei n care centrul de mas al vehiculului
este exact pe traiectoria int.
In mod similar, eroarea de reglaj se poate exprima prin relaia:
) ( ) ( ) (
0
t t t e
R
= (5.46)
unde ) (t
R
este valoarea calculat cu (5.42) iar ) (
0
t este orientarea curent a
vehiculului, raportat de subsistemul de localizare.
Un FLC implementat pornind de la exprimarea erorii cu (5.46) va tinde s menin
orientarea vehiculului tangent la curba descrisa de un look-ahead point, definit de
rezultanta surselor de feromoni (5.42).
c. Abordarea de tip pure pusuit
Relaia (5.41) exprima cantitativ intensitatea campului de feromoni intr-un punct
situat la distantele d
1
, d
2
, ...,d
N
fa de cele N surse discrete de feromoni. Pe de alt
parte, conform ecuaiei (5.37) care descrie modelul feromonilor, intensitatea
rezultant P
R
a cmpului de feromoni se poate exprima, ca i cum campul ar fi creat
de o singura sursa, cu intensitatea Np
0
, aflat la distana L de punctul considerat.

L
Np P
R
1
0
(5.47)
103
Cunoscnd P
R
din (5.41) i considernd sursele de intensitate unitar p
0
=1, se
poate determina distana L:

=
N
P
L
R
1 (5.48)
Mai departe, se poate aplica direct algoritmul pure pursuit, alegnd drept look-
ahead point, punctul unde se afl sursa echivalent de feromoni, aflat la distana L
de punctul curent, pe o dreapt cu orientarea dat de (5.42).
5.3.2 Conducerea roboilor mobili cu ajutorul informaiei stocate n tag-uri RFID
distribuite n mediu
n paragraful 3.5.2 am propus o metod de localizare bazat pe o matrice de tag-uri
RFID echidistane, ncorporate n podea. Fiecare tag are pre-nregistrate
coordonatele absolute punctului n care se gsete, astfel nct un cititor aflat la
bordul robotului poate determina poziia curent doar citind coninutul tag-ului.
Marea majoritate a tag-urilor uzuale dispun de o capacitate de memorie de ordinul
un kilooctet, mult mai mare dect cei civa octei necesari pentru stocarea
coordonatelor punctului curent, dar totui insuficient pentru a stoca n fiecare tag
ntreaga hart a mediului.
Aceast memorie, n principiu, poate fi folosit, fr costuri adiionale, pentru
definirea unor traiectorii, sau alte informaii de navigaie (ex. existanta unor
obstacole, bifurcaii ale rutei curente, rute ocolitoare opionale etc.). Dificultile
provin din faptul c, la un moment dat, se poate citi un singur tag, aflat n zona de
vizibilitatea a reader-ului, de ordinul ctorva centimetri. n aceste condiii, dac am
defini traiectoria int cu ajutorul unor trasee de feromoni digitali stocai n tag-uri, ca
n figura 5.13, singura informaie relativ la ruta pe care un robot o poate extrage citind
tag-ul curent este dac se afl pe rut sau nu. Iar n cazul n care nu se afl exact pe
rut, nu are nici o posibilitate s afle n ce direcie se afl ruta i nici la ce distan.
104
Pentru a depi aceste limitri, am propus n ([154]) o soluie bazat pe
urmtoarele ipoteze:
- Robotii sunt dotai cu dou cititoare, montate simetric faa de direcia de
deplasare.
- Traiectoria se definete implicit sub forma unor trasee de feromoni digitali cu
limea de 3-4 celule adiacente (vezi figura 5.16).
- Tag-urile stocheaz o mrime scalar, reprezentand intensitatea cmpului de
feromoni n punctul curent. n figura 5.16, intensitile feromonilor n diverse
puncte ale hrtii sunt reprezentate prin nuane de gri. Culoarea alb corespunde
lipsei complete a feromonilor n celula respectiv, iar negru corespunde
intensitii maxime.
a
b
Fig. 5.16 Definirea implicit a unei traiectorii cu ajutorul feromonilor digitali stocati n tag-uri RFID
Cu acest mod de reprezentare a traiectoriei int, dou cititoare RFID amplasate
lateral, pot detecta gradieni ai intensitii campului de feromoni i aceasta informaie
poate fi exploatat, de exemplu cu un controller fuzzy similar cu cel descris n
paragraful 5.3.1.4, pentru urmrirea traiectoriei.
Aceast abordare are avantajul ca emuleaz fidel feromonii naturali i prezint
interes n situaiile n care se dorete coordonarea unor formatiuni de roboti, care au
posibilitatea sa amplifice intensitatea feromonilor pe lng care trec. Exist de
105
asemenea posibilitatea de a defini mai multe tipuri de feromoni stocati n aceleai
tag-uri, fiecare codificnd comportamente distincte.
Pentru aplicaii n care se pune problema conducerii unor roboti individuali, pentru
urmrirea ct mai fidel a unor traiectorii, soluia aceasta are dezavantajul unor
oscilaii relaiv mari.
Pentru aceste aplicaii, este mai avantajoasa o metoda de definire indirect a
traiectoriei int, renunnd la conceptul de feromoni digitali.
In acest scop, fiecare tag conine pe lng coordonatele punctului curent,
coordonatele precalculate ale unui look-ahead point (int intermediar), care pot fi
direct folosite pentru un algoritm pure pursuit (vezi figura 5.17).
Fig. 5.17 Definirea indirect a traiectoriei int cu ajutorul unor look-ahead points
precalculate i stocate n tag-uri RFID
Aceasta metod are avantajul c folosete un singur reader RFID i conduce la
oscilatii mai mici, ceea ce este important pentru confortul persoanei asistate n cazul
n care vehiculul autonom controlat este folosit pentru implementarea unui asistent
robotic personal.
5.4 Sumarul contribuiilor la rezolvarea problemei urmririi unei traiectorii
Referitor la problema urmririi unei traiectorii s-au propus dou abordri diferite:
106
Prima abordare se bazeaza pe conceptul de feromoni virtuali, ncorporai ntr-o
hart a mediului stocat n memoria unui server de feromoni. Agenii autonomi
percep distribuia spatial a feromonilor prin intermediul serverului, cu care se
afl n comunicaie permanent. Soluia are, ntre altele, avantajul c serverul
preia o bun parte din calculele necesare pentru navigaie. Dezavantajul principal
deriv din viziunea centralizat, care reduce robustetea ntegului sistem la
defeciuni (defectarea serverului, de exemplu, conduce la blocarea ntregului
sistem).
Intr-o a doua abordare se propune folosirea informaiilor stocate ntr-o retea de
tag-uri RFID pentru conducerea robotului la urmrirea unei traiectorii. Soluia
aceasta are o mai buna robustee la defeciuni, datorita viziunii descentralizate de
control, cu pretul unei flexibiliti mai scazute n elaborarea soluiilor de
conducere.
Ambele abordri conduc la algoritmi simpli, uor de implementat pe orice
microcontroller de uz general.
107
6
... and not get hurt. Problema ocolirii obstacolelor
6.1 Formularea problemei
Abilitatea de a ocoli obstacolele existente ntre poziia curent a robotului i punctul
int este o cerin fundamental pentru orice aplicaie practic care implic vehicule
autonome de orice tip.
Soluiile descrise n literatur pentru aceast problem pot fi clasificate n
urmtoarele dou categorii:
metode deliberative;
metode reactive.
n abordarea deliberativ, se presupune c robotul dispune a-priori de o
cunoatere complet a mediului, inclusiv poziia obstacolelor i ca mediul este static
i se pune problema planificrii unei rute sigure i optimale ntre punctul asociat cu
poziia curent a robotului i punctul int. Ocolirea obstacolelor este, din aceast
perspectiva, un sub-task al planificrii rutei (path planning).
Odat obinut ruta, robotul execut micarea ctre int fr a avea nevoie de
informaii suplimentare despre mediu obinute de la senzori.
n abordarea reactiv, robotul se bazeaz pe senzori pentru a obine o imagine
limitat, local, despre mediu, urmrind s detecteze n timp real eventualele
obstacole i s-i ajusteze traiectoria pentru ocolirea acestora.
108
Evident c, n practic, sunt extrem de rare situaiile n care mediul este pe deplin
cunoscut i complet static. In realitate, mediul este de obicei prea complex pentru a fi
modelat cu uurin i este dinamic - oricnd pot aprea obstacole neateptate. n
plus, metodele deliberative, care implic prelucrarea unui volum mare de date,
necesit resurse de calcul mult peste capacitatea unui microcontroller uzual i, din
aceste motive nu vor fi analizate n aceast tez.
Pe de alt parte, nici algoritmii pur reactivi nu sunt lipsii de dezavantaje, cel mai
important fiind vulnerabilitatea fa de erorile senzorilor.
6.2 Algoritmi cunoscui pentru ocolirea obstacolelor
6.2.1 Algoritmii de tip bug
Cel mai simplu algoritm de evitare a obstacolelor descris n literatur este the bug
algorithm, propus de Lumelsky et. al. n ([157]). Conform acestuia, la ntlnirea unui
obstacol, robotul nconjoar complet obstacolul pentru a gsi punctul de pe
circumferina acestuia aflat la distana minim fa de int, apoi prsete
circumferina din acest punct (vezi figur 5.1).
S
G
H
L
H-Hitpoint
L -Leavepoint
Fig. 6.1 O ilustrare a algoritmului bug
Acest algoritm este, n mod evident, foarte ineficient i, din acest motiv au fost
propuse mai multe mbuntiri ([158], [159]).
De exemplu, n bug2, robotul ncepe s urmreasc conturul obstacolului, dar l
prsete n momentul cnd intersecteaz segmentul care unete punctul de start cu
punctul int (vezi figura 6.2).
109
S
G
H
L
Fig. 6.2 O ilustrare a algoritmului bug2
In ciuda avantajului simplitii, agloritmii de tip bug au cteva dezavantaje
importante:
Nu iau n considerare cinematica robotului, care este important n cazul
vehiculelor non-holonomice;
Iau n considerare doar cele mai recente valori raportate de senzori, ceea ce
le face vulnerabile la erorile de masura;
Sunt lente.
6.2.2 Algoritmul campului de potential (Virtual Potential Field Algorithm)
Algoritmii descrii n continuare sunt deliberativi. Am inclus aici o scurt descriere a
lor, datorit unor particulritai care prezint similitudini cu soluia propus n
paragrafele urmtoare.
Algoritmul cmpului de potenial, descris n ([160],[161]) consider comportamentul
robotului similar cu al unei particule aflate sub aciunea unor fore virtuale de atracie
ctre int i de respingere din partea obstacolelor. Traiectoria roboptului este
determinat de rezultanta acestor fore (vezi figura 6.3).
Dei deosebit de elegant, algoritmul cmpului de potenial nu ine seama de non-
holonomicitatea vehiculului i este dificil de folosit pentru aplicaii n timp real.
A fost, de asemenea, criticat pentru performane sczute la navigarea pe
coridoare nguste i pentru existena unor situaii n care algoritmul nu gsete soluia
de ocolire a obstacolului, dei aceasta, n mod evident, exist.
110
Goal
Robot
O
R
esultingm
otion
O
b
s
t
a
c
l
e

f
o
r
c
e
G
o
a
l

f
o
r
c
e
Fig. 6.3 O ilustrare a algoritmului cmpului de potenial
6.2.3 Algoritmul VFH (Vector Field Histogram)
Propus de Borenstein i Koren n ([162]) i ulterior mbuntit n ([163],[164]),
algoritmul VFH, elimin n bun msur problema erorilor de msur la senzori, prin
crearea unei histograme polare bazate pe mai multe msurri succesive recente, ca
n figura 6.4.
-90
o
+90
o
0
o
P
Fig. 6.4 Histograma polar folosita de algoritmul VFH
In figura 6.4, axa x reprezint unghiurile ascociate cu citirile sonarelor, iar axa y
reprezint probabilitatea P ca sa existe un obstacol n direcia respectiv.
Probabilitile se calculeaz n baza unei hri grid a mediului din jurul robotului i
sunt ajustate prin msurri repetate.
111
Histograma polar este folosit pentru a identifica pasajele destul de mari pentru
a permite trecerea robotului. Selecia unui anumit pasaj se face prin evaluarea unei
funcii cost, definit pentru fiecare pasaj. Aceasta depinde de alinierea orientrii
robotului pe direcia intei i de diferena ntre orientarea curent i direcia rutei
ocolitoare. n final, se selecteaz pasajul cu funcia cost minim.
Algoritmul VFH ine seama de geometria i cinematica robotului i ofer soluie la
problema msurrilor afectate de zgomot, dar nu poate trata erorile sistematice ale
sonarelor. O astfel de situaie de eroare sistematic este ilustrat n figura 6.5.
Fig. 6.5 Un exemplu de eroare sistematic la senzorii de tip sonar
VFH este o abordare hibrid combinnd elementele deliberative cu cele reactive.
Singurul dezavantaj al acestei soluii este acela c implic un volum considerabil de
calcule, ceea ce l face dificil de implementat pe microcontrollere.
6.2.4 Metoda Bubble Band
Propus de Khatib i Quinlan n ([165]), aceast metod definete o bula
(bubble) coninnd spaiul maxim disponibil (lipsit de obstacole) n jurul robotului,
care poate fi parcurs n orice direcie fr coliziuni.
Forma i dimensiunile aceste bule sunt determinate de un model simplificat al
geometriei robotului i de informaiile provenite de la senzori (vezi figura 6.6).
112
Nearest
obstacle
Nearest
obstacle
Fig. 6.6 Ilustrarea conceptului de bubble band
Cu acest concept, o band de astfel de bule se poate folosi pentru planificarea unei
rute ntre punctul de start i int.
6.2.5 Alte metode de ocolire a obstacolelor
Exista desigur i alte metode de ocolire a obstacolelor. Totui, relaiv puine pot fi
implementate pe microcontrollere de uz general, pentru aplicaii n timp real.
Printre acestea, soluiile bazate pe logica fuzzy, cum sunt cele descrise n
([166],[167]) pot fi integrate ca o extensie logic n soluiile de urmrire a unei
traiectorii bazate pe FLC, descrise n paragraful 5.2.3.
6.3 Un nou algoritm de ocolire a obstacolelor. Algoritmul bubble rebound.
6.3.1 Detectia obstaclelor
Se considera un vehicul, avnd un inel de senzori ultrason echidistanti, acoperind un
unghi de 180 grade, ca n figura 6.7.
Daca N este numrul se senzori, urmtoarea secvena de cod definete o bula de
senzitivitate n jurul robotului:
unsigned int sonar_readings[N];
unsigned int bubble_boundary[N];
bubble_boundary[i]=K
i
*V*delta_t;
int check_for_obstacles(void)
{
for(i=0;i<N;i++)
{
if(sonar_readings[i]<=bubble_boundary[i]
return(1);
else return(0);
}
}
113
Unde, V este viteza de translaie a robotului, delta_t este timpul ntre dou evaluri
succesive ale informaiei de la senzori, iar Ki sunt constante de scalare folosite
pentru acord.
1
2
3
4 5
6
7
8
A
B
Current
heading
a
Fig. 6.7 Definirea zonei de sensibilitate la obstacole
Forma i dimensiunile bulei de senzitivitate (curba B din figura 6.7) depind de
forma geometric a robotului (msuratorile sonarelor reflect distana ntre
circumferina robotului i obstacole) i de spaiul parcurs de robot ntre dou citiri
succesive ale senzorilor, cu condiia ca acest spaiu s nu depeasc distana
maxim pe care o pot msura sonarele (curba A din figura 6.7).
Deoarece sonarele sunt distribuite uniform pe circumferin, acoperind un unghi
de 180 de grade, valorile citite de acestea se pot reprezenta ntr-o diagram polar,
ca n figura 6.8.
6.3.2 Descrierea algoritmului de ocolire a obstacolelor
n lipsa obstacolelor, robotul se ndreapt spre int n linie dreapt. n momentul
n care un obstacol este detectat n interiorul bulei de senzitivitate, robotul ricoeaz
ntr-o direcie caracterizat prin densitate minim de obstacole i i continu drumul
n linie dreapt n aceast direcie pn cnd inta devine vizibil (i.e. nu exist
114
obstacole n zon de vizibilitate, n direcia intei), sau pn cnd un nou obstacol
este detectat, conform schemei logice din figura 6.9
-90
o
+90
o
0
o
a
sonar_readings
a
1
2
3
4
-1
-2
-3
-4
Fig. 6.8 Reprezentarea n diagrama polar a informaiei de la sonare
START
ADJUSTHEADING
TOGOAL
OBSTACLE?
OBSTACLE?
MOVESTRAIGHT
TOGOAL
GOAL
REACHED?
STOP
COMPUTE
NEWHEADING
ADJUST
MOTION
GOAL
VISIBLE?
KEEP MOVING
YES
YES
YES
YES
NO
NO
NO
NO
Fig. 6.9 Schema logic a procesului de ocolire a obstacolelor
In figura 6.10 este prezentat traiectoria robotului deviat la ntlnirea unui obstacol
i reluarea micarii catre int, n momentul cnd se recapt vizibilitatea asupra
intei.
115
O1
G
S
H
V
Fig. 6.10 Ilustrarea mecanismului de ocolire a obstacolelor prin ricoeu
In figura 6.10, H este punctul n care este detectat obstacolul (Hit-point), iar V este
punctul n care inta redevine vizibil.
6.3.3 Calculul Unghiului de Ricoeu
Daca
0
este pasul unghiular de distribuie a sonarelor pe circumferinta robotului:
N

=
0
(6.1)

atunci, indexul i al sonarului conine informaie despre poziia unghiular a acestuia:


=
2
,
2
0
N N
i
i
i

(6.2)
Cu aceste notaii, cel mai simplu mod de a determina direcia cu densitate minim
de obstacole este sa calculm media ponderat a unghiurilor asociate cu sonarele,
folosind ca factori de ponderare distana pn la obstacole (6.3). n acest mod,
direciile cu obstacole apropiate primesc ponderea minim n sum i sunt evitate.
Evident, acest mod de calcul al unghiului de ricoeu
R
nu are nici o legatur cu
ricoeul mecanic rezultat n urma unei ciocniri elastice.
116

=
=
=
2
2
2
2
N
N
i
i
N
N
i
i i
R
D
D
(6.3)
In figura 6.11 este ilustrat unghiul de ricoeu, pentru o configuraie simpl a
obstacolelor.
-4
-3
-2
-1 1
2
3
4
Current
Heading
a
R
Fig. 6.11 O ilustrare a modului de calcul a unghiului de ricoseu
Rezultate similare se obtin aplicnd o metod inspirat de conceptul de cmp de
potential virtual, considernd ca robotul este supus unor forte de atracie cu att mai
mari cu ct distana pn la obstacole este mai mare. Totui, am preferat metoda
descris de relaia (6.3) pentru c aceasta conduce la calcule mult mai simple i
pornind de la aceiasi senzori d rezultate comparabile.
6.4 Concluzii
Algoritmul descris are urmtoarele dezavantaje:
Este departe de a fi optimal;
Ca majoritatea algoritmilor pur reactivi, necesit un planner de nivel
superior pentru a rezolva problema navigaiei intr-un mediu de tip labirint.
De exemplu, n figura 6.12, algoritmul este incapabil s conduc robotul de
la Start la punctul Final goal, dar funcioneaz perfect dac se definesc
intele intermediare Goal1 i Goal2.
117
Micarea nu este lin.
Esecul este posibil chiar dac exist o cale catre int.
Micarea este iniiat chiar dac nu exist o cale catre int.
Start
Goal1 Goal2
Finalgoal
Fig. 6.12 Un exemplu de navigaie intr-un mediu tip labirint, cu inte intermediare
In ciuda dezavantajelor enumerate, exista i cteva avantaje care l fac demn de
atenie:
Implementarea algoritmului necesit un volum foarte mic de calcule, fapt
care l recomanda pentru aplicaii embedded.
Funcioneaz cu senzori ieftini
Poate fi uor adaptat pentru altfel de senzori
ine cont de geometria robotului
Este destul de rapid
Funcioneaz bine pe coridoare inguste
Poate detecta i ocoli orice fel de obstacole, inclusiv unele obstacole aflate
n micare, cu condiia ca viteza de deplasare a acestora sa fie
comparabil cu viteza robotului.
Principala limitare vine de la performanele reduse ale senzorilor ultrason, care sunt
afectai de erori sistematice (vezi figura 6.5).
118
Folosirea unor senzori laser, de genul celor produsi de Loke ([84]) elimin acest
dezavantaj i poate conduce la performane net mai bune.
Pe ansamblu, rezultatele obinute cu acest algoritm, pe care l-am denumit
algoritmul bubble rebound, sunt promitoare i merit luat n considerare ca o
posibil soluie de reducere a costurilor de implementare a unor asisteni robotici
personali.
119
,
Exerimente de implementare in timp real
7.1 Delimitri
Experimentele desfurate n cadrul programului de cercetare descris n prezenta
tez sunt subordonate obiectivului general de a verifica fezabilitatea ideii de
implementare a conceptului de asistent robotic personal, folosind un sistem distribuit
de module ncorporate (embedded), bazate pe microcontrollere de uz general.
Practic, aceasta nseamn implementarea i testarea algoritmilor descrii pentru
fiecare din subproblemele navigaiei roboilor autonomi.
Totui, avnd n vedere resursele de timp i materiale foarte limitate disponibile,
au fost necesare cteva opiuni de compromis.
Astfel, am ales s nu implementm soluiile de localizare prezentate n capitolul 3,
apreciind c acestea, dei sunt importante n contextul realizrii unui PRA, sunt doar
indirect legate de domeniul ingineriei sistemelor. n consecin, n toate
experimentele descrise n acest capitol, ne-am bazat pe sistemul odometric al
roboilor pentru localizare.
De asemenea, atunci cnd s-au propus dou soluii distincte pentru aceeai
problem, am optat pentru implementarea i testarea unei singure soluii, de regul
120
cea care a necesitat resurse materiale minime. Din acest motiv, nu am abordat
experimental soluiile bazate pe tehnologia RFID.
Viteza referin pentru vehiculele autonome controlate a fost fixat la 0.5m/s,
valoare comparabil cu viteza de deplasare a unui om, la mers relaxat n interiorul
unei locuine.
Microcontrollerele folosite n experimente au resurse medii: 128Kb memorie
Flash, 4Kb RAM, 4Kb EEPROM, 16Mips. n aceste condiii, am impus ca durata
maxim de execuie a unui ciclu de program cu structura general:
while (TRUE)
{
PORTB.0=1; //marker pentru inceput de ciclu
Task_1();
Task_2();
.....
Task_N();
PORTB.0=0; //marker pentru sfarsit de ciclu
}
s nu depaseasc 200ms.
7.2 Descrierea dispoziivului experimental
Roboii folosii pentru experimente sunt Pioneer-3DX i PeopleBot, produi de
MobileRobots ([11]), prezentai n figura 7.1.
Fig. 7.1 Roboii folositi pentru experimente
121
Ambii roboi sunt de acelai tip, cu dou roi motoare i traciune diferenial i au
acelai model cinematic.
MobileRobots ofer i un excelent simulator software al roboilor, denumit
MobileSim. Interfaa grafic a acestuia este prezentat n figura 7.2.
Fig. 7.2 Interfaa grafic a simulatorului MobileSim
Electronica de la bordul robotului are structura din figura 2.3, iar comunicaia ntre
robot i nivelele de conducere superioare se face printr-o linie seriala RS232.
Acest fapt sugereaz urmtoarea structura hardware a unui asistent robotic
personal implementat conform principiilor descrise n prezenta tez (fig. 7.3):
Dynamic
control
Motors
HIGHLEVEL
CONTROL/
DECISION
SENSORS/
ACTUATORS
DATA
ACQUISITION
COMPUTER
KINEMATIC
CONTROL
Wheels
Localization
AUTONOMOUSGUIDEDVEHICLE
RADIOMODEM
RADIOMODEM
RS232
RS232
RS232
Fig. 7.3 Structura hardware a unui PRA
122
In aceast structur, blocurile denumite Control cinematic i Decizie se reduc la
un microcontroller n configuraie single chip, echipat cu dou interfee seriale.
Pe parcursul experimentelor, din ratiuni de economie de timp, structura general
din figura 7.3 a fost simplificat, dupa cum urmeaz:
Pentru experimentele legate de implementarea i testarea limbajului de
programare RDPL, s-a folosit o structur ca n figura 7.4.
Dynamic
control
Motors
HIGHLEVEL
CONTROL/
DECISION
SENSORS/
ACTUATORS
KINEMATIC
CONTROL
Wheels
Localization
AUTONOMOUSGUIDEDVEHICLE
RADIOMODEM RADIOMODEM
RS232
RS232
RS232
Fig. 7.4 Structura echipamentului folosit pentru testarea RDPL
Simplificarea const n includerea modulului de achizitii de date n blocul de
decizie.
Pentru implementarea i testarea algoritmilor de urmrire a traiectoriei i ocolire a
obstacolelor s-a folosit o structur ca n figura 7.5.
Dynamic
control
Motors PHEROMONE
SERVER
KINEMATIC
CONTROL
Wheels
Localization
AUTONOMOUSGUIDEDVEHICLE
RADIOMODEM RADIOMODEM
RS232
RS232
RS232
Fig. 7.5 Echipamentul folosit pentru testarea algoritmilor de navigaie
In toate situaiile, robotul poate fi direct nlocuit de un computer care ruleaz
simulatorul software MobileSim. Deoarece acesta este proiectat sa comunice cu
echipamentul de control printr-o retea Ethernet, iar microcontrollerele folosite dispun
doar de interfete seriale RS232, a fost necesara o aplicaie software special,
denumit Ethernet to Serial Connector, produs de Eltima Software ([168]).
123
7.3 Evaluarea implementrii limbajului RDPL
Un program RPLD se stocheaz n memoria nevolatil de tip EEPROM. Pentru
microcontrollerul folosit, capacitatea EEPROM disponibil este de 4Kb. Avnd n
vedere c lungime medie a codului care definete o funcie este de 6 octei, rezult
c dimensiunea maxim admisibil pentru un program este de 800 de funcii.
Aceast valoare este mult peste dimensiunea necesar, avnd n vedere c fiecare
funcie codific operaii logice destul de complexe.
Din punct de vedere al limitrii duratei de execuie a unui ciclu la 200ms, avnd n
vedere c timpul mediu (msurat) de execuie a unei funcii este de 0.4ms, rezult c
numrul maxim de funcii care pot fi definite ntr-un program este 500.
Deoarece n practic, numrul de funcii necesar pentru a descrie situaiile uzuale
este de ordinul ctorva zeci, considerm c limitarea dimensiunii programului la 500
de funcii este satisfctoare.
7.4 Experimente pentru studiul unui algoritm de urmrire a traiectoriei bazat pe
conceptul de feromoni virtuali
La nivelul microcontrollerului pentru conducere cinematic s-a implementat un
algoritm de tip fuzzy, descris n paragraful 5.2.3, cu trei subdomenii fuzzy pentru
eroare i derivata erorii. Eroarea de reglaj luat n considerare a fost
) ( ) ( ) ( t P t P t e
R L
= , diferena ntre intensitatile feromonilor sesizate de dou antene
virtuale, amplasate lateral, simetric faa de axa robotului.
Pentru serverul de feromoni, a fost realizat o aplicaie dedicat. Detalii privind
implementarea sunt prezentate n anexa B.
In figura 7.7 este prezentat traiectoria robotului, inregistrata cu MobileSim, pentru
harta de feromoni din figura 7.6, corespunztor uneri erori initiale de orientare de 45
grade.
124
Fig. 7.6 Un exemplu de reprezentare a hrii mediului, ncorpornd informaii despre distribuia de
feromoni
Fig. 7.7 Traiectoria inregistrat corespunztor hrtii din fig. 7.6
Figura 7.8 prezinta o traiectorie simpl, care conine un viraj n unghi drept.
125
Fig. 7.8 nregistrarea unei traiectorii care conine un viraj n unghi drept
Iar figurile 7.9 i 7.10 sunt nregistrari ale traiectoriei robotului, pentru curbe int
oarecare.
Fig. 7.9 nregistrarea comportamentului robotului pe o traiectorie curb n S
Fig. 7.10 nregistrarea comportamentului robotului pe o traiectorie oarecare
126
nregistrrile au fost fcute n urmtoarele condiii:
Dimensiunea unei celule a hartii grid, care ncorporeaz distribuia de feromoni
mm a 200 = ;
Sensibilitatea receptorilor de feromoni mm 600 = ;
Distana ntre receptorii de feromoni dreapta-stanga: mm b 380 = ;
Viteza de deplasare a vehiculului de-a lungul traiectoriei: s mm v / 300 = ;
Intervalul de timp ntre dou corecii succesive ale vitezelor referina ms t 200 = .
Viteza de comunicaie ntre robot i serverul de feromoni 9600 baud.
Experimental s-a constatat o tendin de oscilaie a sistemului la creterea vitezei v,
sau la mrirea intervalului t . Sunt posibile urmtoarele ci de mbuntire a
performanelor sistemului:
Mrirea sensibilitii a receptorilor de feromoni. Aceasta corespunde cu
mrirea distanei de anticipare (lookahead distance) L, pentru un controller de tip
pure pursuit i conduce la creterea stabilitii, cu preul unei tendine de tiere
a colurilor.
Creterea numrului de subdomenii fuzzy de la 3 la 5. Aceasta ar conduce la o
ieire a FLC reglabil mai fin.
Acelai efect se poate obine, micornd intervalul de timp t ntre dou corecii
succesive. n acest scop este necesar folosirea unui microcontroller mai rapid
(un ARM, de exemplu) i folosirea unui echipament de comunicaie wireless mai
performant, care sa reduc timpul de latent datorat schimbului de informaii ntre
robot i serverul de feromoni.
Cu aceste msuri, apreciem c se poate realiza cu uurina un vehicul capabil sa se
deplaseze cu 0.5-0.7m/s, fr oscilatii suprtoare, pe o traiectorie definit cu
ajutorul conceptului de feromoni virtuali.
127
7.5 Experimente pentru evaluarea algoritmului bubble rebound de ocolire a
obstacolelor.
Avantajele i dezavantajele algoritmului bubble rebound au fost descrise n
paragraful 6.4. n continuare, n figurile 7.11, 7.12, 7.13 sunt prezentate cteva
capturi de imagini realizate cu MobileSim, n diverse configuraii de obstacole.
Start
Goal
Fig. 7.11 Ilustrarea procesului de ocolire a unui obstacol
Start Goal
Fig. 7.12 Navigaie pe un coridor cu obstacole multiple
Fig. 7.13 Navigaie cu definirea unor inte intermediare
Testarea algoritmului s-a facut n urmtoarele condiii:
128
- S-a implementat un algoritm de conducere fuzzy pentru urmrirea unei traiectorii
rectilinii ntre punctul definit de poziia curenta a robotului i un punct int
specificat printr-o comand transmis wireless pe linia serial.
- Viteza medie de deplasare a fost fixat la 0.3m/s.
- Pentru detectarea obstacolelor s-au folosit exclusiv senzorii ultrason cu care sunt
echipati robotii Pioneer3 i Peoplebot. Doar cei 8 senzori situai n partea
anterioar a robotului au fost luai n considerare.
La aceasta vitez, rata eecurilor (obstacole nedetectate) a fost practic zero, chiar la
teste efectuate pe un coridor aglomerat, pe care circulau oameni. La viteze mai mari
(0.5m/s) s-a nregistrat un numr de eecuri (5-10% din total obstacole), datorate n
principal erorilor sistematice de masur ale sonarelor, descrise n figura 6.5.
Aceste date sugereaz concluzia c algoritmul bubble rebound poate fi att de
bun pe ct sunt de buni senzorii folosii pentru detectarea obstacolelor.
129
S
Concluzii
8.1 Sumarul contribuiilor cercetrii
Aceast tez a prezentat rezultatele unor cercetri destinate s exploreze
fezabilitatea ideii de implementare a sisteme de conducere a robotilor de serviciu
bazate pe microcontrollere low-cost/low-power.
S-a propus o definiie a asistentului robotic personal ca vehicul autonom capabil
s transporte persoana asistat (intelligent wheelchair), sau s o asiste la deplasare
(intelligent walker), fiind n acelai timp capabil s se deplaseze independent ntr-un
mediu inteligent (smart environment), interacionnd n mod programat cu o serie
de senzori i actuatoare distribuite n mediu.
Au fost abordate, dintr-o perspectiv interdisciplinara, principalele probleme ale
navigaiei roboilor autonomi: localizarea, decizia, urmrirea unei traiectorii i ocolirea
obstacolelor.
n domeniul localizrii roboilor autonomi, a fost descris (in paragraful 3.5) o
metod i un dispozitiv de determinare simultan a distanei i orientrii roboilor fa
de o baliz ultrason special proiectat.
n domeniul programrii deciziilor roboilor autonomi, a fost creat un limbaj de
programare special (cap. 4), pe care l-am denumit RDPL (Robot Decision
Programming Language), care rezolv satisfctor majoritatea problemelor legate de
130
formalizarea descrierii interaciunii ntre robot i mediul inteligent, fiind n acelai timp
suficient de simplu pentru a putea fi folosit de end-useri cu cunotine tehnice
minimale.
n ce privete problema urmririi unei traiectorii, s-a propus (n paragraful 5.3) o
metod original de definire i urmrire a unei traiectorii cu ajutorul conceptului de
feromoni virtuali, stocai n memoria unui server de feromoni.
A fost elaborat modelul matematic al feromonilor virtuali (paragraful 5.3.1.1)
precum si un model neuronal (paragraful 5.3.1.4) al formaiunilor de ageni autonomi
(swarms), model care aduce clarificri i deschide noi direcii de cercetare n studiul
swarm intelligence.
A fost, de asemenea, propus (in paragraful 6.3) un algoritm reactiv nou de evitare
n timp real a obstacolelor, algoritm pe care l-am denumit bubble rebound.
n paralel (in paragrafele 3.5.2. si 5.3.2), au fost explorate posibilitile de folosire
i s-au propus soluii bazate pe tehnologia RFID pentru localizarea i conducerea
roboilor autonomi la urmrirea unei traiectorii.
Majoritatea contribuiilor menionate au fost supuse spre validare ateniei
comunitii tiinifice, prin prezentarea i publicarea unui numr considerabil de
articole, la conferine internaionale de prestigiu (listate in paragraful 1.4).
8.2 Direcii de cercetare viitoare
Conceptul de feromoni virtuali a fost explorat, n prezenta tez, doar din
perspectiva conducerii unor ageni individuali, dei principalele aplicaii ale acestor
principii sunt mai degrab legate de conducerea unor formaiuni compuse din zeci,
sute, sau chiar mii de ageni. Prezena unui server de feromoni permite memorarea i
ulterior transferul unor comportamente dobndite printr-un proces de optimizare de
tip ACO (Ant Colony Optimization). Aceast analiz depete, n mod evident,
131
cadrul prezentei cercetri, dar ideile merit reluate ntr-un context legat de controlul
unor formaiuni de roboi cooperativi.
Merit de asemenea atenie continuarea cercetrilor privind posibilitile de
folosire a tehnologiei RFID pentru conducerea roboilor individuali, sau a formaiunilor
de roboi.
132
Sumarul rezultatelor activitatii de cercetare a autorului
Lista lucrarilor publicate
I. Carti in edituri internationale de renume
[1] Susnea I. Mitescu M. Microcontrollers in practice ISBN: 3540253017, Springer
Verlag, New York, Heidelberg, 2005
II. Carti in edituri romanesti recunoscute de CNCSIS
[2] Grigore Vasiliu, Ioan Susnea Sisteme computerizate de masurare ISBN: 978-
973-755-452-9, Editura Matrix Rom, Bucuresti, 2009
[3] Ioan Susnea, Griogore Vasiliu Sisteme distribuite pentru monitorizarea si
conducerea proceselor. O introducere practica, ISBN: 978-973-755-542-5, Editura
Matrix Rom, Bucuresti, 2009.
[4] Grigore Vasiliu, Ioan Susnea Mecatronica si microsisteme de actionare, ISBN:
978-973-755-546-5, Editura Matrix Rom, Bucuresti, 2009
III. Brevete de inventie
[5] John W. Halpern, Ioan Susnea Phone diversifications, WO/2005/107299,
International Application No.: PCT/IB2005/001161, 2005. Detalii in baza de date
WIPO, la adresa: www.wipo.int/pctdb/en/wo.jsp?wo=2005107299
[6] Ioan Susnea, Grigore Vasiliu Sistem de localizare pentru roboti mobili si vehicule
autonome, Cerere inregistrata la OSIM sub numarul A/01021, din 04-12-2009
IV. Lucrari publicate in jurnale indexate ISI
[7] Susnea I. Vasiliu G. Filipescu A. Radaschin A., Virtual Pheromones for Real-Time
Control of Autonomous Mobile Robots, in Studies of Informatics and Control, Vol 18,
issue 3, 2009, pp: 233-240., ISSN:1220-1760
V. Lucrari publicate in periodice interne recunoscute de CNCSIS
[8] Susnea I, Filipescu Adrian, Filipescu Adriana, Coman G., Wheeled Mobile Robot
Control Using Virtual Pheromones, Petroleum-Gas University of Ploiesti Bulletin,
Tehnical Series, Vol LXI, no.3/2009, ISSN 1224-8495, pp. 117-126.
VI. Lucrari publicate in volumele unor conferinte internationale indexate ISI
[9] Susnea I. Vasiliu G, Filipescu A, Coman G., On the Implementation of a Robotic
Assistant for the Elderly. A Novel Approach, 7
th
WSEAS Int. Conf. on Computational,
Iintelligence Man-machine Systems and Cybernatics (CIMMACS '08), Cairo, Egipt,
December 29-31, 2008, pp.215-220, ISBN 978-960-474-049-9, ISSN: 1790-5117
Proceedings + Book published by WSEAS Press that participate in ISI and all the
other important international citation indices: www.worldses.org/indexes,
(Proceedings ISI quoted, www.ieeexplore.ieee.org ) Published by WSEAS Press
[10] Susnea I, Filipescu A, Vasiliu G., Filipescu S., Path Following, Real-time,
Embedded Fuzzy Control of a Mobile Platform Wheeled Mobile Robot, IEEE
133
International Conference on Automation and Logistics, ICAL 2008, 1-3 Sep.,
Qingdao, China, IEEE ICAL 2008 CD Proceedings, pp.91-96, IEEE Catalog Number:
CFP08CAL, ISBN: 978-1-4244-2503-7, Library of Congress: 2008903794
(Proceedings ISI quoted, www.ieeexplore.ieee.org ).
[11] Susnea I, Vasiliu G, Filipescu A, Real-Time, Embedded Fuzzy Control of the
Pioneer3-DX Robot for Path Following, Proceedings of 12th WSEAS International
Conference on SYSTEMS, Heraklion, Greece, July 22-24, 2008, pp.334-338, ISBN:
978-960-6766-83-1, ISSN: 1790-2769, Published by WSEAS Press (www.wseas.org,
www.worldses.org/indexes).
[12] Susnea I . Vasiliu G, Filipescu A, RFID Digital Pheromones for Generating
Stigmergic Behaviour to Autonomous Mobile Robots, 4th WSEAS Int. Conf. on
Dynamic Systems and Control (Control '08), CORFU ISLAND, GREECE, October
26-28, 2008, pp.20-24, ISBN 978-960-474-014-7, ISSN: 1790-2769 Proceedings +
Book published by WSEAS Press that participate in ISI and all the other important
international citation indices: www.worldses.org/indexes, (Proceedings ISI quoted,
www.ieeexplore.ieee.org ) Published by WSEAS Press.
[13] Filipescu A, Susnea I, Stancu Al, Stamatescu G, Path following, real-time,
embedded fuzzy control of a mobile platform pioneer 3-DX, 8th WSEAS International
Conference on Systems Theory and Scientific Computation (ISTASC08), Rhodes
(Rodos) Island, Greece, August 20-22, 2008, pp.334-335, ISBN: 978-960-8764-83-1,
ISSN: 1790-3865, Published by WSEAS Press (www.wseas.org,
www.worldses.org/indexes)
[14] Ioan Susnea, Adrian Filipescu, Adriana Serbencu, A. Radaschin, Virtual
Pheromones to Control Mobile Robots . A Neural Network Approach, Proceedings of
the IEEE International Conference on Automation and Logistics, Shenyang, China
August 2009, ISBN: 978-1-4244-4795-4/09, 2009 IEEE, CD-ROM Proceedings IEEE,
Catalog #: CFP09CAL ISBN: 978-1-4244-4795-4, August 5 - 7, 2009, Shenyang,
China
[15] Adriana Serbencu, Daniela Cristina Cernega, Adrian Emanoil Serbencu, Ioan
Susnea, Path Following Problem for PatrolBot Solved with Fuzzy Control ,
Proceedings of the IEEE, International Conference on Automation and Logistics,
Shenyang, China August 2009, ISBN: 978-1-4244-4795-4/09, 2009 IEEE, Catalog #:
CFP09CAL ISBN: 978-1-4244-4795-4, August 5 - 7, 2009, Shenyang, China
[16] Susnea I. Filipescu A, Minzu V, Vasiliu G, Virtual Pheromones and Neural
Networks based Wheeled Mobile Robot Control, Recent Advances on Systems,
Proceedings of thr 13 International Conference on Systems WSEAS CSCC
Multiconference, ISBN 978-960-474-097-0, ISSN: 1790-2769 Rodos, Greece , JULY
22-24, 2009, pp 511-516 Mathematics and Computers in Science Engineering,
Aseries of Reference Books and Textbook Published by WSEAS Press
[17] Susnea I. Filipescu A, Minzu V, Vasiliu G, Virtual Pheromones and Neural
Networks based Wheeled Mobile Robot Control, Recent Advances on Systems,
Proceedings of thr 13 International Conference on Systems WSEAS CSCC
Multiconference, ISBN 978-960-474-097-0, ISSN: 1790-2769 Rodos, Greece , JULY
22-24, 2009, pp 511-516 Mathematics and Computers in Science Engineering,
Aseries of Reference Books and Textbook Published by WSEAS Press
[18] Susnea I, Filipescu Adrian, Filipescu Adriana, Coman G., Wheeled Mobile Robot
Control Using Virtual Pheromones, Petroleum-Gas University of Ploiesti Bulletin,
Tehnical Series, Vol LXI, no.3/2009, ISSN 1224-8495, pp. 117-126.
[19] Susnea I. Vasiliu G, Filipescu A, Coman G., Radaschin A., Real-Time Control of
Autonomous Mobile Robots Using Virtual Pheromones, Proceedings of the 7th Asian
134
Control Conference, Hong Kong, China, August 27-29, 2009, IEEE Catalog Number
CFP09832, ISBN:978-89-956056-9-1, pp.1450-1455.
[20] Filipescu Adrian, Susnea I, Filipescu Adriana, Stamatescu G.,Control of Mobile
platforms as Robotic Assistants for Elderly, Proceedings of the 7th Asian Control
Conference, Hong Kong, China, August 27-29, 2009, IEEE Catalog Number
CFP09832, ISBN:978-89-956056-9-1, pp.1456-1461.
[21] Filipescu Adrian, Susnea I, Filipescu Silviu, Stamatescu G., Wheeled Mobile
Robot Control Using Virtual Pheromones and Neural Networks, Proceedings of 2009
IEEE International Conference on Control and Automation Christchurch, New
Zealand, December 9-11, 2009, IEEE Catalog Number CFP09537, ISBN: 978-1-
4244-4707-7, pp: 157-162, Library of Congress:2009904841.
[22] Filipescu Adrian, Susnea I, Filipescu Adriana, Stamatescu G., Distributed
System of Mobile Platform Obstacle Avoidance and Control as Robotic Assistant for
Disabled and Elderly, Proceedings of 2009 IEEE International Conference on Control
and Automation Christchurch, New Zealand, December 9-11, 2009, IEEE Catalog
Number CFP09537, ISBN: 978-1-4244-4707-7, pp: 1886-1891, Library of
Congress:2009904841.
[23] Ioan Susnea, Viorel Minzu, Grigore Vasiliu Simple, Real-time Obstacle
Avoidance Algorithm for Mobile Robots, Proceedings of the 8th WSEAS International
Conference on Computational Intelligence, Man-Machine Systems and Cybernetics,
CIMMACS09, Tenerife,, Dec. 14-16, 2009, pp:24-30, ISBN: 978-960-474-144-1,
ISSN: 1790-5117
VII Alte activitati stiintifice/semne de recunoastere internationala
[24] Review Springer Verlag
[25] Reviewer Bentham Science Publishers Ltd
[26] Reviewer IEEE
[27] Reviewer WSEAS http://www.worldses.org/review/2008reviewers.htm
http://www.worldses.org/review/2009reviewers.htm
[28] Nominalizat pentru includerea in volumul Whos Who in the world 2010, publicat
de Marquis Whos Who, www.marquiswhoswho.com
135
Referine
[1] Gates B., A robot n every home, Scientific American (2007).
[2] http://asimo.honda.com/ Homepage of ASIMO from Honda
[3] http://www-robotics.cs.umass.edu/Robots/UBot-5 Homepage of Ubot5 robot at UMass Amherst
[4] http://www.bostondynamics.com/ Homepage of Boston Dynamics Inc. creators of Big Dog robot
[5] Duffy B.R. Anthropomorphism and Robotics available online:
www.csi.ucd.ie/csprism/publications/desire/AISB02-Duffy.pdf
[6] United States General Accounting Office, Aging Baby Boom Generation Will Increase Demand and
Burden on Federal and State Budgets, document number GAO-02-544T, released March 2001.
[7] U.S. Census http://www.census.gov/hhes/www/disability/2006acs.html
[8] www.anph.ro Website of the Romanian National Agency for Handicaped
[9] www.mmuncii.ro Website of the Romanian Ministry of Labor, Family, and Social Protection
[10] Magnus G., The Age of Aging: How Demographics are Changing the Global Economy and Our
World, John Wiley & Sons, 2008
[11] www.mobilerobots.com Manufacturer of mobile robots for research
[12] Borenstein, J., Koren, Y, A Mobile Platform For Nursing Robots. IEEE Transactions on Industrial
Electronics, May 1985, pp.158-165.
[13] Tzafestas, S.G. Research on autonomous robotic wheelchairs n Europe, IEEE Robotics &
Automation Magazine, 2001, vol 8. pp:4-6
[14] Kuno, Y. Shimada, N. Shirai, Y. Look where you're going, Robotics & Automation Magazine,
IEEE, Vol 10, March 2003, pp: 26-34
[15] Intelligent wheelchair Robotics Laboratory, Nara Institute of Science and Technology
http://robotics.aist-nara.ac.jp/~yoshio/research/wchair/index_e.html
[16] DEKA Research and Development Corporation, INDEPENDENCE - IBOT-4000 Mobility System,
http://www.ibotnow.com/
[17] Kulyukin V., Kutiyanawala A., LoPresti E., Matthews J., Simpson R., iWalker: Toward a Rollator-
Mounted Wayfinding System for the Elderly, Proceedings of the 2008 IEEE International Conference
on RFID (IEEE RFID). April 16-17, Las Vegas, NV, 2008
[18] Gharpure C., Kulyukin V., Robot-Assisted Shopping for the Blind: Issues n Spatial Cognition and
Product Selecion, International Journal of Service Robotics, March 2008
136
[19] Kwang-Hyun Park, Zeungnam Bien, Ju-Jang Lee, Byung Kook Kim, Jong-Tae Lim, Jin-Oh Kim,
Heyoung Lee, Dimitar H. Stefanov, , Dae-Jin Kim, Jin-Woo Jung, Jun-Hyeong Do, Kap-Ho Seo,
Chong Hui Kim, Won-Gyu Song and Woo-Jun Lee, Robotic smart house to assist people with
movement disabilities Journal of Autonomous Robots , Volume 22, Number 2 / February, 2007, pp:
183-198
[20] Tao Lu, Kui Yuan, Haibing Zhu, Huosheng Hu, An Embedded Control System for Intelligent
Wheelchair, Engineering n Medicine and Biology Society, 2005. IEEE-EMBS 2005. 27th Annual
International Conference of the Volume , Issue , 2005 pp:5036 - 5039
[21] Dario P., Laschi C., Guglielmelli E., Design and experiments on a personal robotic assistant.
Advanced Robotics 13(2):15369 (1999)
[22] Dario P. , Guglielmelli E., Laschi C. ,Humanoids and personal robots: Design and experiments,
Journal of Robotic Systems Volume 18 Issue 12, , 2000, pp: 673 690
[23] The MILO project from RoboDynamics Corp. (Mechatronic Intelligent Lovable Organism)
http://www.robodynamics.com/press_pr_10212004_MILO.asp
[24] Paulos E., Canny J., Social Tele-Embodiment: Understanding Presence, Autonomous Robots 11,
8795, 2001, Kluver Academic Press.
[25] Sachs N. A., Nulud P.L., Loeb G.E. , Virtual Visit: improving communication for those who need it
most. Studies n Health Technology of Information, 2003 (Vol. 94, Pages 302-8)
[26] Pineau J., Montemerlo M., Pollack M., Roy N., Thrun S., Towards robotic assistants n nursing
homes: Challenges and results , n Proc. of the Workshop on Interactive Robotics and Entertainment,
2000
[27] Matthews J., Engberg S., Montemerlo M., Pineau J., Roy N., Rogers J., Thrun S., Handler S.,
Starrett T., Ting D., and Travis R. The Nursebot project: Results of preliminary field studies during
development of a personal robotic assistant for older adults.. n Proceedings of the Greater Pittsburgh
14
th
Annual Nursing Research Conference, Pittsburgh, PA, 2002.
[28] Baltus G., Fox D., Gemperle F., Goetz J., Hirsch T., Magaritis D., Montemerlo M., Pineau J., Roy
N., Schulte J., Thrun S. - Towards personal service robots for the elderly (2000) n Proc. of the
Workshop on Interactive Robotics and Entertainment
[29 Bischoff, R. Graefe, V. HERMES - a versatile personal robotic assistant, Proceedings of the
IEEE, Vol. 92, issue 11, pp: 1759- 1779, 2004
137
[30] Joelle Pineau , Michael Montemerlo, Martha Pollack, Nicholas Roy, Sebastian Thrun, Towards
robotic assistants n nursing homes: Challenges and results, Robotics and Autonomous Systems,
Volume 42, Issues 3-4, 31 March 2003, pages 271-281.
[31] M. Montemerlo, J. Pineau, N. Roy, S. Thrun and V. Varma. ``Experiences with a Mobile Robotic
Guide for the Elderly''. Proceedings of the International Conference on Artificial Intelligence (AAAI
2002). Edmonton, Jul. 2002
[32] Hans M., Graf B., Schraft R.D., Robotic Home Assistant Care-O-bot: Past Present Future,
Fraunhofer Institute for Manufacturing Engineering and Automation (IPA) n IEEE Int. Workshop on
Robot and Human interactive Communication, 2002 (ROMAN2002)
[33] Graf, B., Hgele, M.: Dependable Interaction with an Intelligent Home Care Robot. n
Proceedings of ICRA-Workshop on Technical Challenge for Dependable Robots n Human
Environments, 2001, pp. IV-2.
[34] The HelpMate project http://www.techbriefs.com/component/content/article/2119
[35] Bischoff R. , Graeffe V. , HERMES: A versatile personal robotic assistant, Proceedings of the
IEEE ISSN 0018-9219, IEEPAD 2004, vol. 92, no 11 pp. 1759-1779
[36] Mazo M., Rodrguez F. J., Lzaro J. L., Urea J., Garca J. C., Santiso E. and Revenga P. A.,
Electronic control of a wheelchair guided by voice commands, Control Engineering Practice, Volume
3, Number 5, March 1995 , pp. 665-674
[37] Rudzionis A., Rudzionis V. Noisy speech detection and endpointing. Voice operated telecom
services. Do they have a bright future? Workshop Proceedings, Ghent, Belgium 11-12 May 2000, pp:
79-82.
[38] Susnea I . Vasiliu G, Filipescu A, Coman G., On the Implementation of a Robotic Assistant for the
Elderly. A Novel Approach, 7
th
WSEAS Int. Conf. on Computational, Intelligence Man-machine
Systems and Cybernatics (CIMMACS '08), Cairo, Egipt, December 29-31, 2008, pp.215-220, ISBN
978-960-474-049-9, ISSN: 1790-5117
[39] Jeonard J.J., Durrant-Whyte H.F. Mobile Robot Localization by Tracking Geometric Beacons,
IEEE Tranzactions on Robotics and Automation, vol 7. nr. 3, June 1991
[40] Spong M. W., Hutchinson S., and Vidyasagar M., Robot Modeling and Control, John Wiley &
Sons, 2007
138
[41] Craig J., Introduction to Robotics. Mechanics and Control, Second Edition, Addison Wesley
Longman, 1989
[42] Shabana A. A. Computational Dynamics, Second Edition, John Wiley & Sons, 2001
[43] Seiegwarth R. , Nourbakhsh I.R., Introduction to Autonomous Mobile Robots, MIT Press, 2004
[44] Noga S., Kinematics and Dynamics of Some Selected Two-Wheeled Mobile Robots, Archives of
Civil and Mechanical Engineering, Vol. VI, No. 3, 2006
[45] Borenstein J., Everett H. R., and Feng L., Where Am I. Sensors and Methods for Mobile Robot
Positioning, University of Michigan, 1996.
[46] Jensfelt P. Approaches to Mobile Robot Localization n Indoor Environments, PhD Thesis, Royal
Institute of Technology, Sweden, 2001, available online
[47] Tonouchi, Y., Tsubouchi, T., and Arimoto, S., 1994, Fusion of Dead-reckoning Positions With a
Workspace Model for a Mobile Robot by Bayesian Inference. International Conference on Intelligent
Robots and Systems (IROS '94). Munich, Germany, Sept. 12-16, pp: 1347-1354.
[48] Komoriya, K. and Oyama, E., 1994, Position Estimation of a Mobile Robot Using Optical Fiber
Gyroscope (OFG). International Conference on Intelligent Robots and Systems (IROS '94). Munich,
Germany, Sept. 12-16, pp. 143-149.
[49] Borenstein, J. and Feng, L., 1994, UMBmark A Method for Measuring, Comparing, and
Correcting Dead-reckoning Errors n Mobile Robots. Technical Report, The University of Michigan
UM-MEAM-94-22, Dec.
[50] Borenstein, J., 1994b, Internal Correction of Dead-reckoning Errors With the Smart Encoder
Trailer. 1994 International Conference on Intelligent Robots and Systems (IROS '94). Munich,
Germany, Sept. 12-16, pp. 127-134.
[51] McKerrow, P. J. Introduction to Robotics; Addison-Wesley Publishing Company Inc., 1991.
[52] Everett, H.R. Sensors for Mobile Robots A. K. Peters, 1995.
[53] Zhao, Y., Vehicle Location and Navigation Systems, Artech House, 1997
[54] Hebert M., Active and Passive Range Sensing for Robotics, Proceedings of the IEEE
International Conference on Robotics and Automation, 2000, pp: 102-110
[55] Gu J., Meng M., Cook A. , Liu P.: Sensor Fusion n Mobile Robot: Some Perspectives;
Proceedings of the 4th World Congress on Intelligent Control and Automation, p. 1194-1199,
Shanghai, China, June, 2002
139
[56] El-Rabbani A. Introduction to GPS, The Global Positioning System, Artech House, 2002
[57] Skolnik M., Radar Handboo", McGraw-Hill Professional 2008
[58] Ladd A.M., Bekris K.E., Rudys A, Marceau G, Kavraki LE, Wallach, DS (2002) Robotics-based
location sensing using wireless Ethernet. In: Proceedings of the 8
th
ACMMOBICOM Conference, pp:
227238, Atlanta, GA, September 2002
[59] Bahl P. and Padmanabhan V.N. Radar: An in-building user location and tracking system.
Proceedings of the IEEE Infocom, Tel Aviv, Israel, 2 pp:775784, 2000.
[60] Betke M. and Gurvits K. Mobile robot localization using landmarks. n Proceedings of the IEEE
International Conference on Robotics and Automation, volume 2, pages 135-142, May 1994.
[61] Esteves J.S. , Carvalho A. Generalized Geometric Triangulation Algorithm for Mobile Robot
Absolute Self-Localization, Industrial Electronics, 2003. ISIE '03. 2003, Vol. 1 pp: 346-351
[62] Burgard W., Fox D., Thrun S., Active Mobile Robot Localization n Proceedings of IJCAI-97,
IJCAI, Inc, 1997
[63] Kleinberg J. M., The Localization Problem for Mobile Robots, n Proceedings of the 35th IEEE
Symposium on Foundations of Computer Science, 1994
[64] Cohen C. and Koss F.V., A Comprehensive Study of Three Object Triangulation, Proceedings of
the SPIE Conference on Mobile Robots, 1993
[65] www.dinsmoresensors.com Electronic compass sensors
[66] www.nxp.com/acrobat_download/applicationnotes/AN00022_COMPASS.pdf Electronic Compass
Sensors
[67] Esteves J.S. Metodologia de Autolocalizacao Absoluta Em Ambientes Quase Estructuradas, PhD
Thesis, Universidade do Minho, 2005.
[68] Murray J. C., Erwin H. and Wermter S., Robotic sound-source localisation architecture using
cross-correlation and recurrent neural networks, Neural Networks, Volume 22, Issue 2, pp: 173-189,
March 2009
[69] Valian J.M., et al. Robust Sound Source Localization Using a Microphone Array on a Mobile
Robot, n Proceedings of the 2003 IEEE/RSJ International Conference on Intelligent Robotics and
Systems, pages 1228 1233.
140
[70] Hightower J., Borriello G., and Want R. Spoton: An indoor 3D location sensing technology based
on RF signal strength. UW CSE Technical Report 2000-02-02, University of Washington, Department
of computer Science and Engineering, pages 115, 2000
[71] Finkenzeller Klaus, RFID Handbook, Second Edition, John Willey and Sons, 2003
[72] Rankl W. and Effing W., Smart-Card Handbook, John Willey and Sons, 2003
[73] Hahnel, D., Philipose M. et. al., Mapping and Localization with RFID Technology, n Robotics and
Automation, 2004. Proceedings. ICRA '04. 2004 IEEE International Conference on, 2004 , Vol. 1, pp:
1015- 1020
[74] Kulyukin V., Gharpure C., Nicholson J., Pavithran S., RFID n Robot-Assisted Indoor Navigation
for the Visually Impaired, Intelligent Robots and Systems, 2004. (IROS 2004). Proceedings. 2004
IEEE/RSJ International Conference on Volume 2, Issue , 28 Sept.-2 Oct. 2004 pp: 1979 -1984 vol.2
[75] Schneegans S., Vorst P., Zell A., Using RFID Snapshots for Mobile Robot Self-Localization,
Proceedings of the 3rd European Conference on Mobile Robots (ECMR 2007) Freiburg, Germany:
,2007, pp: 241-246.
[76] Kulyukin V., Kutiyanawala A., Jiang M., Surface-embedded Passive RF Exteroception: Kepler,
Greed, and Buffons Needle, in Ubiquitous Intelligence and Compuing, Springer, 2007, pp: 33-42
[77] Park S., Hashimoto S., Indoor localization for autonomous mobile robot based on passive RFID,
Proceedings of the 2008 IEEE International Conference on Robotics and Biomimetics Bangkok,
Thailand, February 21 - 26, 2009
[78] Koutsou A. D., Seco F., Jimenez A. R., Roa J. O., Ealo J. L., Prieto C., Guevara J., Preliminary
Localization Results With An RFID Based Indoor Guiding System, n IEEE International Symposium
on Intelligent Signal Processing Alcala de Henares, Spain, October, 2007.
[79] Zhang Y. , Amin M.G., Kaushik S., Localization and Tracking of Passive RFID Tags Based on
Direction Estimation, International Journal of Antennas and Propagation , 2007
[80] Senta Y., Kimuro Y., Takarabe S., Hasegawa T., Self-Localization for Mobile Robot Using RFID
Tags without Layout Information, IEEJ Transactions on Electronics, Information and Systems, Vol.
128, No. 7, 2008
[81] Byoung-Suk Choi, Joon-Woo Lee and Ju-Jang Lee Localization and Map-building of Mobile Robot
Based on RFID Sensor Fusion System, n IEEE International Conference on Industrial Informatics,
Daejeon Korea, INDIN 2008
141
[82] Lim Hyung Soo, Choi Byoung Suk, Lee Jang Myung, An Efficient Localization Algorithm for Mobile
Robots based on RFID System, SICE-ICASE International Joint Conference 2006 Bexco, Busan,
Korea
[83] Hae Don Chon, Sibum Jun, Heejae Jung, Sang Won An, Using RFID for Accurate Positioning,
The 2004 International Symposium on GNSS/GPS Sydney, Australia 68 December 2004
[84] www.loke.de Manufacturer of high precision laser rangers
[85] Soo-Yeong Yi, Global ultrasonic system with selecive activation for autonomous navigation of an
indoor mobile robot, Robotica vol. 26, pp: 277-283, Cambridge University Press, 2007.
[86] Schenker, L, Pushbutton Calling with a Two-Group Voice-Frequency Code, The Bell system
technical journal 39 (1): 235255, 1960
[87] Susnea I, Mitescu M. Microcontrollers n practice, Springer, 2005
[88] Sen M. Kuo, Bob H. Lee, Wenshun Tian, Real-Time Digital Signal Processing : Implementations
and Applications, (2nd edition), John Wiley & Sons, 2006
[89] Ming X. Fundamentals of Robotics Linking Perception to Action, World Scientific Publishing,
Series n machine Perception and Artificial Intelligence, vol 54, 2003
[90] Paul, R.P. WAVE: A Model-Based Language for Manipulator Control, The Industrial Robot, Vol. 4,
No. 1, 1977, pp. 1017.
[91] ABB Flexible Automation. RAPID Reference Manual. S-72168 Vsters, Sweden. Art. No. 3HAC
7783-1. http://rab.ict.pwr.wroc.pl/irb1400/datasys_rev1.pdf
[92] Mitsubishi MELFA Robots. http://www.mitsubishi-automation.com/products/robots_content.html
[93] Freund, E., Ldemann-Ravit, B, Stern, O. and Koch, T. [2001]. Creating the Architecture of a
Translator Framework for Robot Programming Languages. Proceedings of the 2001 IEEE
International Conference on Robotics & Automation, Seoul, Korea, May 2126, 2001. pp: 187192.
[94] Pembeci, I., and Hager, G. A Comparaive Review of Robot Programming Languages, CIRL
technical report, 2001. Available from http://citeseer.nj.nec.com/555282.html
[95] Miller, D.J. and Lennox, R.C. An Object-Oriented Environment for Robot System Architectures.
Proceedings of the IEEE International Conference on Robotics and Automation, Cincinnati, OH,
August 1316, 1990. Pp. 1423.
[96] Fraser, R.J.C. and Harris, C.J. Infrastructure for Real-time Robotic Control: Aspects of Robot
Command Language. IEEE Colloquim on Intelligent Control, 19 February 1991.
142
[97] Voudouris, C., Chernett, P., Wang, C.J. and Callaghan, V.L. Hierarchical behavioural control for
autonomous vehicles, n Proceedings of the 2nd IFAC Conference on Intelligent Autonomous Vehicles
95, Espoo, Finland, 1995. pp: 267272.
[98] Levesque, H.J., Reiter, R., Lesperance, Y. and Scherl, R.B. GOLOG: A Logic Programming
Language for Dynamic Domains, in Journal of Logic Programming, 31(13), 1997, pp: 5983.
[99] Grosskreutz, H. and Lakemeyer, G. Towards more realistic logic-based robot controllers n the
GOLOG framework. Korrekturabzug, Knstliche Intelligenz, Heft 4/00, arenDTaP Verlag, Bremen,
2000. pp: 1115.
[100] Simmons, R. and Apfelbaum, D. A Task Description Language for Robot Control. Proceedings
of the Conference on Intelligent Robotics and Systems IROS98, Vancouver, October 1998.
[101] North, S. and Hermans, P. XML Trainer Kit. IT Press, 2000.
[102] Makatchev, M. and Tso, S.K. Human-Robot Interface Using Agents Communicating n a XML-
Based Markup Language. Proceedings of the IEEE International Workshop on Robot and Human
Interactive Communication ROMAN 2000, Osaka, Japan, September 2729, 2000. pp: 270275.
[103] Leifer, L., Van der Loos, M. and Lees, D. Visual Language Programming for robot command
control n unstructured environments. Proceedings of the Fifth International Conference on Advanced
Robotics ICAR-91, Vol 1., June 1991. pp: 3136.
[104] Fleureau, J.L., Le Rest, E. and Marce, L. PILOT: A Language for Planning Mission. Proceedings
of the 2nd IFAC Conference on Intelligent Autonomous Vehicles, Espoo, Finland, June 1214, 1995.
pp: 386391.
[105] Drews, P. and Fromm, P. A Natural Language Processing Approach for Mobile Service Robot
Control. Proceedings of the 23rd International Conference on Industrial Electronics, Control and
Instrumentation (IECON 97), Vol 3, November 1997. pp: 12751277.
[106] Speech recognition software http://www.nuance.com/naturallyspeaking/
[107] Lauria, S., Bugmann, G., Kyriacou, T., Bos, J., and Klein E. Training Personal Robots Using
Natural Language Instruction. Intelligent Systems, IEEE, Volume 16, Issue 5, Sep/Oct 2001. pp: 38
45.
[108] Lauria, S., Bugmann, G., Kyriacou, T., Bos, J. and Klein, E. Converting Natural Language Route
Instructions into Robot Executable Procedures. Proceedings of the 2002 IEEE International Workshop
on Robot and Human Interactive Communication, Berlin, September 2527, 2002. pp: 223228.
143
[109] www.plcopen.org IEC-61131 specifications
[110] Laumond J.P. (Ed.), Robot Motion Planning and Control, Springer, 1998
[111] Latombe, J.C. Robot motion planning. Kluwer Academic Publishers, 1991.
[112] Leedy B. M., Putney J. S., Bauman C., Cacciola S., Webster J. M. and Reinholtz C. F., Virginia
Techs twin contenders: a comparaive study of reactive and deliberative navigation, Journal of Field
Robotics, vol. 23, no. 9, pp. 709727, 2006.
[113] Morales J., Martinez J.L., Martinez M.A., and Mandow A. Pure-Pursuit Reactive Path Tracking
for Nonholonomic Mobile Robots with a 2D Laser Scanner, EURASIP Journal on Advances n Signal
Processing Volume 2009, Article ID 935237
[114] Hellstrm T., Ringdahl O., Follow the Past: a path-tracking algorithm for autonomous vehicles,
Int. J. Vehicle Autonomous Systems, Vol. 4, Nos. 2-4, 2006
[115] Barton, M.J. Controller Development and Implementation for Path Planning and Following
in an Autonomous Urban Vehicle. Undergraduate thesis, University of Sydney, 2001
[116] Amidi O., Integrated mobile robot control, Tech. Rep. CMURI-TR-90-17, Robotics Institute,
Carnegie Mellon University, Pittsburgh, Pa, USA, May 1990.
[117] Wit J.S. Vector Pursuit Path Tracking for Autonomous Ground Vehicles, Ph.D. thesis, University
of Florida, 2000, available online: www.dtic.mil
[118] Thrun S. et al. Stanley: The Robot that Won the DARPA Grand Challenge, Journal of Field
Robotics 23(9), 661692 (2006)
[119] Scharf L. L., Harthill W. P., and Moose P. H., A comparison of expected flight times for intercept
and pure-pursuit missiles, IEEE Transactions on Aerospace and Electronic Systems, vol. 5, no. 4, pp:
672673, 1969.
[120] Foley J. D., van Dam A., Feiner S.K., Hughes J.F., Computer Graphics: Principles and Practice
n C (2nd Edition), Addison-Wesley Professional, 1995
[121] Heredia G., Ollero A., Stability of Autonomous Vehicle Path Tracking with Pure Delays n the
Control Loop, Advanced Robotics, Vol. 21, No. 1-2, pp. 23-50 (2007)
[122] Urmson C., Ragusa C., Ray D., et al., A robust approach to high-speed navigation for
unrehearsed desert terrain, Journal of Field Robotics, vol. 23, no. 8, pp: 467508, 2006
[123] Ollero A., Garcia-Cerezo A. J., and Martinez J. L., Fuzzy supervisory path tracking of mobile
robots, Control Engineering Practice, vol. 2, no. 2, pp: 313319, 1994.
144
[124] Sugeno M., Nishida M., Fuzzy control of model car, Fuzzy sets and systems, Vol 16, pp:103-
113, 1986
[125] Saffiotti A. The uses of fuzy logic in autonomous robot navigation, Soft Compuing 1(4) pp:180-
197, 1997
[126] Reznik L., Fuzzy Controllers, Newnes, 1997
[127] Ahmad I. Fuzzy Logic for Embedded System Applications, Newnes, 2003, ISBN 0750676051
[128] Lakehal, B.; Amirat, Y.; Pontnau, J. Fuzzy steering control of a mobile robot, n IEEE/IAS
Conference on Industrial Automation and Control: Emerging Technologies, 1995., pp:383-386
[129] Susnea I, Filipescu A, Vasiliu G., Filipescu S., Path Following, Real-time, Embedded Fuzzy
Control of a Mobile Platform Wheeled Mobile Robot, IEEE International Conference on Automation
and Logistics, ICAL 2008, 1-3 Sep., Qingdao, China, IEEE ICAL 2008
[130] Kovacic Z., Bogdan S., Fuzzy Controller Design Theory and Applications, Taylor and Francis
Group, 2006
[131] Kandel,Y.L. and Zhang,Y.-Q., Stability analysis of fuzzy control systems, Fuzzy Sets and
Systems, 105, 3348, 1999.
[132] Bandemer, H. and Hartmann, S., A fuzzy approach to stability of fuzzy controllers, Fuzzy Sets
and Systems, 96, 161172, 1998.
[133] Karlson, P., Lscher, M. Pheromones: a new term for a class of biologically active substances.
Nature 183, 1959, pp. 55-56
[134] Grass P.P. La Reconstruction du nid et les Coordinations Inter-Individuelles chez
Bellicositermes Natalensis et Cubitermes sp. La theorie de la Stigmergie: Essai dinterpretation du
Comportement des Termites Constructeurs. Insectes Sociaux, 6:4181, 1959
[135] Deneubourg, J., Aron, S., Goss, S., Pasteels, J. M., and Duerinck, G. Random behaviour,
amplification processes and number of participants : How they contribute to the foraging properties of
ants. Physica 22(D) 1986., pp: 176186.
[136] Deneubourg, J.-L., Aron, S., Goss, S. and Pasteels, J. M., The self-organizing exploratory
pattern of the Argentine ant, J. Insect Behav. 32, 1990 pp:159- 168.
[137] R. Beckers, O.E. Holland, and J.-L. Deneubourg. From local actions to global tasks: Stigmergy
and collective robotics in Articial Life IV. Proc. Fourth International Workshop on the Synthesis and
Simulation of Living Systems, pp:181-189, Cambridge, Massachusetts, USA, 1994.
145
[138] Beni, G., Wang, J. Swarm Intelligence in Cellular Robotic Systems, Proceedings of NATO
Advanced Workshop on Robots and Biological Systems, Tuscany, Italy, 1989, pp:2630
[139] Dorigo M et al. The ant system: optimization by a colony of cooperaing agents. IEEE Trans Syst
Man Cybernet 26(1), 1996, pp:2941
[140] Dorigo M., Sttzle T. Ant Colony Optimization, MIT Press, 2004
[141] Bonabeau E., Dorigo M., and Theraulaz G., Swarm Intelligence: From Natural to Artificial
Systems. New York, Oxford University Press, 1999.
[142] Arkin, R.C. and Bekey, G.A. (editors). Robot Colonies. Kluwer Academic Publishers, 1997.
[143] Pearce T. C., Schiffman S. S., Nagle H. T., and Gardner J. W., Eds., Handbook of Machine
Olfaction. Weinheim, Germany: Wiley, 2003.
[144] Purnamadjaja A.H, Russell R. A, Guiding robots behaviors using pheromone communication
Journal of Autonomous Robots, Vol. 23 (2), Kluwer Academic Publishers Hingham, MA, USA, 2007,
pp: 113 - 130
[145] Genovese, V., Dario, P.,Magni, R., & Odetti, L. Self organizing behavior and swarm intelligence
in a pack of mobile miniature robots n search of pollutants. n Proceedings of the IEEE/RSJ
international conference on intelligent robots and systems, Raleigh, NC, 1992, pp. 1575 1582
[146] Hayes A.T., Martinoli A., Goodman R.M., Swarm Robotic Odor Localization, Robotica, Vol. 21,
nr. 4, August 2003, pp: 427 441
[147] Payton D., Daily M., Hoff B., Howard M., Lee C., Pheromone Robotics, Autonomous Robots
Volume 11 , Issue 3 (November 2001) pp: 319 - 324 , 2001
[148] Payton D., Estkowski R., Howard M., Pheromone Robotics and the Logic of Virtual Pheromones,
n Swarm Robotics, Springer, 2005, pp: 45-57.
[149] Szumel L., Owens J. D., The Virtual Pheromone Communication Primitive, n Distributed
Compuing n Sensor Systems, Vol 4026/2006, pp: 135-149
[150] Kernbach S., Thenius R., Kernbach O., Schmickl T., Re-embodiment of Honeybee Aggregation
Behavior in an Artificial Micro-Robotic System in Adaptive Behavior, Vol 17(3): 237259, 2009.
[151] Parunak H. v. D, Brueckner S.A. Sauter J. Digital Pheromones for Coordination of Unmanned
Vehicles, n Lecture Notes n Computer Science, Vol. 3374, Springer, 2005
[152] Mamei M., Zambonelli F., Physical deployment of digital pheromones through RFID technology,
Swarm Intelligence Symposium, 2005. SIS 2005. Proceedings 2005 IEEE
146
[153] Mamei M., Zambonelli F., Pervasive Pheromone-Based Interaction with RFID Tags, in ACM
Transactions on Autonomous and Adaptive Systems (TAAS) Volume 2 , Issue 2, June 2007
[154] Susnea I . Vasiliu G, Filipescu A, RFID Digital Pheromones for Generating Stigmergic Behaviour
to Autonomous Mobile Robots, 4th WSEAS Int. Conf. on Dynamic Systems and Control (Control '08),
Corfu, Greece, October 26-28, 2008, pp.20-24.
[155] Khatib O., Real-Time Obstacle Avoidance for Manipulators and Mobile Robots, The
International Journal of Robotics Research, Vol. 5, No. 1, pp:90-98, 1986
[156] Susnea I. Vasiliu G. Filipescu A. Radaschin A., Virtual Pheromones for Real-Time Control of
Autonomous Mobile Robots, in Studies of Informatics and Control, Vol 18, issue 3, 2009, pp: 233-240.,
ISSN:1220-1760
[157] Lumelsky, V., Skewis, T., Incorporating Range Sensing n the Robot Navigation Funcion, IEEE
Transactions on Systems, Man, and Cybernetics, 20:1990, pp. 10581068..
[158] Lumelsky, V., Stepanov, A., Path-Planning Strategies for a Point Mobile Automaton Moving
Amidst Unknown Obstacles of Arbitrary Shape, in Autonomous Robot Vehicles. New York, Spinger-
Verlag, 1990
[159] Kamon, I., Rivlin, E., Rimon, E., A New Range-Sensor Based Globally Convergent Navigation
Algorithm for Mobile Robots, n Proceedings of the IEEE International Conference on Robotics and
Automation, Minneapolis, April 1996.
[160] Khatib, O., 1985, Real-Time Obstacle Avoidance for Manipulators and Mobile Robots. 1985
IEEE International Conference on Robotics and Automation, March 25-28, St. Louis, pp. 500-505.
[161] Koren, Y., Borenstein, J., High-Speed Obstacle Avoidance for Mobile Robotics, in Proceedings
of the IEEE Symposium on Intelligent Control, Arlington, VA, August 1988, pp. 382-384.
[162] Borenstein, J., Koren, Y., The Vector Field Histogram Fast Obstacle Avoidance for Mobile
Robots. IEEE Journal of Robotics and Automation, 7, 278288, 1991.
[163] Ulrich, I., Borenstein, J., VFH+: Reliable Obstacle Avoidance for Fast Mobile Robots, n
Proceedings of the International Conference on Robotics and Automation (ICRA98), Leuven, Belgium,
May 1998.
[164] Ulrich, I., Borenstein, J., VFH*: Local Obstacle Avoidance with Look-Ahead Verification, n
Proceedings of the IEEE International Conference on Robotics and Automation, San Francisco, May
2428, 2000.
147
[165] Khatib, O., Quinlan, S., Elastic Bands: Connecting, Path Planning and Control, n Proceedings of
IEEE International Conference on Robotics and Automation, Atlanta, GA, May 1993
[166] Kim J.H., Park J.B., Yang H. Implementation of the Avoidance Algorithm for Autonomous Mobile
Robots Using Fuzzy Rules n Fuzzy Systems and Knowledge Discovery, Springer 2006.
[167] Tzafestas S.G. and Zavlangas P. Industrial and Mobile Robot CollisionFree Motion Planning
Using Fuzzy Logic Algorithms, Industrial-Robotics-Theory-Modelling-Control, ARS/plV, Germany,
2006, pp. 964, 995
[168] www.eltima.com Manufacturer of serial to Ethernet connector software

S-ar putea să vă placă și