5. SISTEM ROBOTIZAT DE INFORMARE ȘI MANIPULARE PENTRU BIBLIOTECILE ACADEMICE 5.1 INTRODUCERE Întâlni ți atât în procesele de produc ție, cât și în… [602636]
5. SISTEM ROBOTIZAT DE INFORMARE ȘI
MANIPULARE PENTRU BIBLIOTECILE
ACADEMICE
5.1 INTRODUCERE
Întâlni ți atât în procesele de produc ție, cât și în alte arii de interes precum
divertisment, transporturi, comunica ții, medicin ă sau agricultur ă, robo ții îmbun ătățesc
performan țele umane din punct de vedere cantitativ și calitativ.
Spre deosebire de robotica tradi țional ă, care are ca obiect sistemele tehnice, în general
fixe, cu comportare bine definit ă și programat ă, robotica sistemelor mobile autonome
abordeaz ă posibilit ățile de evolu ție autonom ă ale ma șinii, astfel încât aceasta s ă r ăspund ă
adecvat prin adaptarea la medii în continu ă schimbare, cu informa ție incert ă sau incomplet ă
[Gr ădinaru, 2011].
În ultimele decenii, în vederea solu țion ării problemelor legate de transport, au fost
introduse vehiculele ghidate în mod automat ( Automated Guided Vehicle – AGV). Ideea de a
reuni cele dou ă concepte (baza mobil ă și bra țul robotic) într-o singur ă entitate robotic ă
capabil ă s ă efectueze sarcini în medii nestructurate nu este nou ă, dar realizarea acesteia a
întâmpinat o serie de probleme cum ar fi:
• integrarea echipamentelor hardware,
• utilizarea unui sistem senzorial care are posibilitatea trim iterii c ătre unitatea de
procesare informa ții despre mediul de lucru,
• folosirea unei surse de energie care s ă asigure o func ționare continu ă pe o durat ă de
timp determinat ă,
• evitarea obstacolelor în timpul mi șcărilor robotului (fie de deplasare, fie de
manipulare),
• asigurarea unei interac țiuni om-robot cât mai naturale, limitarea situa țiilor nesigure
și altele [Duguleana, 2011].
Un exemplu de solu ție hardware complet ă este robotul Pioneer 3-AT, robot utilizat în
cadrul experimentelor prezentate de autor în aceast ă lucrare.
5.1.1 ARHITECTURA SISTEMULUI ROBOTIC PROPUS. PRIVIRE
DE ANSAMBLU
Elementele ce compun sistemul propus au fost reprezentate sugesti v în Fig. 5.1. Dup ă
cum se observ ă, componenta de baz ă a solu ției este constituit ă de robotul mobil de servicii
pentru bibliotec ă RMSB (dispozitivul fizic și aplica ția dezvoltat ă).
Capitolul 5 2
Fig. 5.1 Arhitectura sistemului propus
5.1.1.1 SCENARIU
Un scenariu realist este cel prezentat în Fig. 5.1. Se consider ă urm ătoarele:
• Exist ă un robot mobil, denumit sugestiv RMSB;
• Robotul se afl ă în punctul A și trebuie s ă se deplaseze în punctul B;
• Dup ă ce robotul î și încarc ă harta de mediu, i se cere utilizatorului s ă specifice
punctul final (raftul în care se afl ă cartea solicitat ă). O solu ție nou ă, propus ă pentru
implementare const ă în dezvoltarea unei aplica ții grafice desktop sau asistent
personal digital ( Personal Digital Assistant – PDA), prin intermediul c ăreia se va
alege punctul final ce va fi transmis robotului. Selectarea dest ina ției folosind o alt ă
aplica ție este posibil ă doar dac ă informa țiile din tag-uri sunt memorate în baza de
date (de c ătre un utilizator autorizat sau de c ătre robot în timpul opera ției de
explorare a mediului);
• Raftul inteligent con ține obstacole fixe (c ărți pe care au fost aplicate etichete
RFID).
O solu ție a scenariului prezentat este urm ătoarea:
• Dup ă procesul de identificare a mediului se va realiza pozi ționarea robotului
conform cerin ței, apoi deplasarea acestuia c ătre punctele destina ție
corespunz ătoare;
PC/ LAPTOP
SERVER BD
Tag RFID
pasiv
Robot RMSB
– conectare la robot prin
wireless
– lansare în execu ție
aplica ție de
comunicare robot – exploatare mediu
– detectare utilizator aflat
în dificultate (camera web)
– interfa ță utilizator
(monitor tactil)
– autentificare card RFID
– conectare robot la baza
de date, prezentare
situa ție împrumut, istoric
etc.
– preluare comenzi, cereri
curente de carte
– control la distan ță al
robotului – localizare
carte la raft
(cititor RFID)
– manipulare
carte
(prindere și
extragere)
– revenire în
pozi ția
anterioar ă
prelu ării – memorare utilizatori
– memorare tag-uri c ărți
S istem robotizat de informare și manipulare pentru bibliotecile academice 3
• Robotul trebuie s ă evite obstacolele fixe (rafturi, birouri, etc) și obstacole mobile
(al ți utilizatori);
• Când ajunge la destina ție robotul trebuie s ă identifice cartea solicitat ă de utilizator
la raft, s ă o extrag ă și s ă revin ă în pozi ția anterioar ă prelu ării comenzii.
5.1.1.2 PREZENTAREA COMPONENTELOR RMSB
Sistemul const ă din dou ă p ărți:
• Hardware – cuprinde platforma robot mobil (mobil ă), echipamentele suplimentare,
montajul acestora și mecanismul de prindere
• Software – cuprinde controlul robotului, procesarea imaginii și transmiterea wireless a
datelor
5.2 STRUCTURA HARDWARE
Robotul mobil va fi definit ca un ansamblu mecanic de tip platform ă mobil ă cu sistem
de locomo ție de tip ro ți și senzori multipli cu ultrasunete, pe care este montat ă o structur ă
metalic ă ce sus ține un ecran tactil, o camer ă web și un bra ț robotic. Întreg ansamblul este
capabil s ă se mi ște într-un mediu nestructurat, sub controlul unui sistem de calcul i erarhic, de
tip multiprocesor.
Componentele hardware ale sistemului considerat sunt urm ătoarele:
5.2.1 ROBOT MOBIL DE SERVICII PENTRU BIBLIOTEC Ă
Robotul Mobil de Servicii pentru Bibliotec ă este o platform ă robot mobil Pioneer 3 All –
Terrain (P3-AT) echipat ă cu:
• o structur ă rigid ă – care s ă ofere suport pentru un ecran tactil, dar și pentru alte
echipamente suplimentare;
• un monitor cu ecran tactil – pentru o interac țiune facil ă și captivant ă, cu ajutorul c ăruia
utilizatorul va putea ob ține informa țiile necesare despre situa ția c ărților din bibliotec ă, c ărți
de care este interesat;
• o camer ă web pentru monitorizarea mediului, obiectelor, utilizatorilor;
• un cititor RFID pentru identificarea c ărților la raft;
• un manipulator dotat cu un sistem de prehensiune adecvat prinderii c ărții (sistem de
manipulare).
5.2.1.1 SELECTAREA PLATFORMEI ROBOT MOBIL (MOBILE)
Platforma mobil ă reprezint ă partea din sistemul mecanic al robotului care realizeaz ă
deplasarea relativ ă în raport cu solul a întregului ansamblu al robotului (sistem mecani c,
sistem de ac ționare, sistem de comand ă), cu specifica ția c ă o parte a sistemului de comand ă
poate r ămâne fix ă fa ță de sol.
Platforma robot mobil utilizat ă trebuie s ă ofere o deplasare eficient ă, cu o vitez ă care
să nu pun ă în pericol integritatea persoanelor fizice. Aceasta va sus ține întreg ansamblul,
inclusiv un set de baterii pentru alimentarea diverselor dispozitive (ecran tactil, manipulator,
prehensor, cititor RFID, etc.), prin urmare va trebui s ă aib ă putere și stabilitate. De asemenea,
RMSB trebuie s ă fie dotat cu diver și senzori sau echipamente pentru detec ția persoanelor și a
obstacolelor.
Având în vedere aceste date, s-a ales platforma mobil ă P3-AT, o platform ă robotic ă
standard construit ă de Adept MobileRobots Inc., utilizat ă în aplica ții de cercetare și
prototipuri care implic ă:
• cartografiere;
• navigare;
Capitolul 5 4
• monitorizare;
• recunoa ștere;
• viziune;
• manipulare;
• cooperare;
• și alte comportamente.
P3-AT utilizeaz ă un controler încorporat care permite echiparea cu o varietate de
senzori pentru a func ționa autonom. Software-ul de baz ă inclus permite echiparea vehiculului
cu aparatur ă senzorial ă adecvat ă pentru a realiza func ții de baz ă autonome cum ar fi
localizarea pozi ției și dezvoltarea traiectoriilor. În plus fa ță de aceast ă func ționalitate
autonom ă, P3-AT poate fi comandat prin teleoperare de la distan ță .
P3-AT este promovat ca fiind un UGV ( Unmanned Ground Vehicle ) care utilizeaz ă
patru ro ți motoare într-o mini-unitate de configurare pentru a putea fi mane vrat atât în interior
(laborator, sala de lectur ă) cât și în exterior (pe p ământ, piatr ă, suprafa ță pavat ă). El poate
urca pante abrupte de pân ă la 45%. Cu toate acestea, spre deosebire de platformele meteo –
rezistente dezvoltate pentru utiliz ări militare, P3-AT nu este rezistent la ap ă sau la intemperii
[Adept MobileRobots Inc., 2015b].
Baza P3-AT cântare ște 12 kg (26.5 lbs – pounds) și m ăsoar ă 50 cm în lungime și 49
cm la țime, având o înal țime de 26 cm (19,7 "cu 19,3" cu 10,2"). Bateriile cu care este echi pat
pot oferi un timp de execu ție de maxim șase ore, o vitez ă maxim ă de 2.52 kilometri pe or ă
(1.56 mph – mile / hour), precum și o sarcin ă util ă maxim ă de 30 kg (66.1 lbs). Vehiculul
poate fi controlat printr-o conexiune radio sau de la orice computer pe care ruleaz ă software-
ul controller-ului ActivMedia Advanced Robotics Interface for Applications (ARIA) [Baity,
2005].
Fig. 5.2 Elemente componente ale robotului Pioneer 3-AT
Platforma P3-AT prezentat ă în Fig. 5.2 are urm ătoarele caracteristici și date tehnice
tehnice:
• Microcontroller Renesas SH2 32-bit de tip RISC (Reduced Instruction Set
Computing ), la frecven ța de 44.2 Mhz cu 32 Kb RAM ( Random Access Memory ) și
128 Kb FLASH
• 4 porturi seriale RS-232
• 2 module de sonare cu câte 8 sonare fiecare
• Giroscop pentru orientare
• Port pentru joystick
• Conector serial la microcontroller
• Calculator on-board (Intel Penium M 1.6 Ghz, 512 Mb RAM, video integrat, 80 Gb
HDD)
• 4 motoare electrice, reversibile, de current continuu, cu encodere (codif icatoare de
mi șcare)
S istem robotizat de informare și manipulare pentru bibliotecile academice 5
• Plac ă de control pentru cele 4 motoare, prin PWM ( Pulse Width Modulation –
analog output)
• 4 ro ți (sistem bine echilibrat de transmisie)
• Sarcina util ă de 30 kg
• 3 baterii interschimbabile în timpul func țion ării
• dimensiuni totale (LxÎxl): 50x26x49 cm.
Encoderele sau codificatoarele optice sunt dispozitive electro-meca nice care
convertesc mi șcarea unghiular ă a ro ților în cod analog sau digital. Encoderele sunt printre
senzorii cei mai folosi ți pentru m ăsurarea vitezei de rotire a unui ax. Informa ția de la encoder
este procesat ă pentru a se ob ține viteza, pozi ția și orientarea robotului [Dumitra șcu, 2012].
Puntea robotului reprezint ă suprafa ța plan ă destinat ă diferitelor montaje și accesorii.
La montarea accesoriilor s-a ținut cont de faptul c ă centrul sarcinii utile a robotului
trebuie s ă fie în centrul ro ților motoare. Dac ă s-a ad ăugat un accesoriu greu la marginea
pun ții, s-a contrabalansat greutatea cu un obiect greu pe cap ătul opus. Un set complet de
baterii ajut ă, de asemenea, la echilibrarea robotului.
5.2.1.1.1 SISTEMELE PLATFORMEI PIONEER 3-AT
Clasa robo ților mobili cu ro ți este probabil cea mai popular ă. Din aceast ă clas ă fac
parte și AGV-urile ( Automated Guided Vehicles – Vehicule cu Ghidare Automat ă). Pentru a
se putea deplasa în mediul ambiant, robo ții mobili au nevoie de anumite componente
mecanice care s ă le permit ă o mi șcare precis ă (altfel deplasarea s-ar face haotic).
Robotul ales pentru a realiza acest proiect este prev ăzut cu patru ro ți, cu ac ționare
sincron ă (olonom), fiind dotat cu un senzor de proximitate pentru evitarea obstacolelor.
Roata este, de departe, cel mai uzual mecanism de locomo ție utilizat în robotica
mobil ă și, în general, în cazul vehiculelor construite de om.
Avantaje ale robo ților cu ro ți:
• sunt simplu de controlat;
• ridic ă puține probleme de stabilitate;
• consum redus de energie pe unitatea de distan ță ;
• viteza de deplasare mai mare decât cea a robo ților p ăș itori;
• manevrabilitate rezonabil ă;
• permit o multitudine de configura ții.
Sistemul de locomo ție pe ro ți este cel mai
utilizat în cazul terenurilor plate f ără denivel ări.
Ro țile pot fi motoare M, directoare D sau
purt ătoare P. Dispunerea ro ților platformei mobile
alese se realizeaz ă ca în Fig. 5.3 dou ă ro ți
directoare și dou ă motoare.
Efectuarea unei curbe se realizeaz ă prin
schimbarea direc ției ro ților directoare D. Axele
ro ților directoare D și motoare M se intersecteaz ă
în centrul de rota ție I [Miclo șin ă, 2009].
Direc ția cu ro ți diferen țiale independente
asigur ă propulsia.
Pentru a putea func ționa corect, un robot mobil trebuie s ă dispun ă (pe lâng ă platforma
mecanic ă, specific ă tipului de locomo ție) și de:
• sistem de propulsie (ac ționare)
• sistem senzorial
Fig. 5.3 Platforma mobil ă cu ro ți 2D+2M
Capitolul 5 6
Sistemul de propulsie cuprinde câte un motor de curent continuu pentru antrenare a fiec ărei
ro ți motoare, realizându-se un diferen țial electric de compensare a diferen ței de vitez ă dintre cele
dou ă ro ți.
Sistemul senzorial permite m ăsurarea valorilor unor parametrii interni dar și a
valorilor specifice mediului în care robotul evolueaz ă.
Sistemul senzorial determin ă feedback-ul informa ției (controlul modului în care a fost
efectuat ă comanda dat ă). Acest lucru este necesar pentru definirea controlului în bucl ă închis ă
a robotului [Chivu, 2009]
Func ția de percep ție senzorial ă este definit ă în literatura de specialitate ca fiind func ția
destinat ă ob ținerii datelor cu privire la mediul de lucru, precum și a datelor interne a
sistemului robotizat [Dillman, 2007]. Acest lucru determin ă existen ța unor dispozitive care s ă
asigure interac țiunea robot-mediu de lucru [Bîtea, 2012].
Senzorul este un dispozitiv care sesizeaz ă o m ărime de intrare – un obiect sau fenomen
din mediu, furnizând o m ărime de ie șire (un semnal), de regul ă electric ă, dependent ă de
obiectul sau fenomenul sesizat, care apoi este m ăsurat ă și înregistrat ă.
Senzori interni (proprioceptivi) sunt utiliza ți pentru monitorizarea st ării interne a
robotului prin m ăsurarea pozi țiilor, vitezelor, accelera țiilor, tensiunilor și curen ților,
temperaturilor, st ărilor acumulatorilor etc., cu scopul men ținerii stabilit ății cinematice și
dinamice și, pe de alt ă parte, sesiz ării și evit ării situa țiilor nedorite de func ționare (de ex. de
oprire în cazul coliziunii structurii cu obiecte din mediu).
Senzori externi (exteroceptivi) sunt folosi ți cu scopul identific ării și m ăsur ării
caracteristicilor mediului și obiectelor din acesta (de ex. dimensiuni, forme, culori, st ări de
mi șcare etc.). În general, senzorii externi monta ți pe platformele robo ților mobili sau în
mediul de operare pot fi sisteme tip vision (camere video 2D și/sau 3D [Bradski, 2008]) sau
non-vision , baza ți pe principii fizice diverse (mecanice, magnetice, electric e, optice, acustice,
luminoase) operând prin unde electromagnetice, laser [Golnabi, 2003] sau radio.
Modul de integrare a elemenelor senzoriale este pre zentat în Fig. 5.4.
Fig. 5.4 Schema structural ă a sistemului senzorial [Bîtea, 2012]
Senzori proprioceptivi
Sistem de comand ă și control
Mediul de lucru Senzori exteroceptivi
Activi Pasivi
S istem robotizat de informare și manipulare pentru bibliotecile academice 7
În Fig. 5.5 este prezentat ă
pozi ționarea senzorilor externi de tip sonar
utiliza ți pentru detectarea și evitarea
obstacolelor din mediu. Sistemul vision este
utilizat pentru recunoa șterea și localizarea de
obiecte în spa țiul de operare prin intermediul
unei camere web PWC2 ( Prestigio Web
Camera ). În cazul calibr ării geometrice,
sistemul vision se poate folosi și pentru
măsurarea a distan țelor de la robot la
obstacole din mediu.
Cele dou ă re țele cu senzori de tip
sonar se folosesc pentru determinarea
distan țelor prin m ăsurarea timpului în care
sunetele emise și reflectate de obiecte se
întorc la emi ță toarele pozi ționate în zona
superioar ă fa ță și spate a platformei. Fiecare
re țea con ține 8 celule sonar, pozi ționate în 2 sectoare, montate la 10 o, 30 o 50 o și respectiv 90 o
(Fig. 5.5). Spre deosebire de sistemul de senzori de tip sonar care permit scan ări pân ă la 6m, cu
citiri la fiecare 20 o, sistemul laser de tip SICK LMS200 ( Laser Measurement Sensor 200) ar
permite robotului s ă scaneze obiecte la distan țe de pân ă la 50m, cu o citiri la fiecare grad
(abateri mai mici de un grad).
Senzorii de contact (bumpere) sunt senzori electro-mecanici, pozi ționa ți în barele de
protec ție fa ță și spate care semnaleaz ă coliziunea cu un obiect prin închiderea și deschiderea
unui circuit electric [Duguleana, 2011].
Fuziunea datelor furnizate de senzori este absolut necesar ă deoarece utilizarea unui
singur tip de senzori nu poate da rezultate satisf ăcătoare în îndeplinirea sarcinilor atribuite
unui robot mobil. De exemplu, pentru navigare, anumite obiecte din mediu pot fi detectate
doar de senzori infraro șu (în englez ă: Infra red sau IR), iar altele doar de senzori ultrasonici, și
doar unele de ambele tipuri de senzori. Se pune deci problema g ăsirii unei metode care s ă
combine într-un mod eficient informa țiile de la o multitudine de senzori de categorii și
caracteristici diferite. Termenul cel mai des întâlnit în l iteratura de specialitate este „ fuziune
de senzori ”. În contextul robo ților mobili, fuziunea trebuie s ă fie efectuat ă pe urm ătoarele trei
nivele [Alexandru, 2012]:
• Trebuie s ă combine m ăsur ători de la senzori de categorii diferite;
• Trebuie s ă combine m ăsur ători din pozi ții diferite;
• Trebuie să combine m ăsur ători efectuate la diferite intervale de timp.
5.2.1.2 ECHIPAMENTE SUPLIMENTARE MONTATE PE PLATFORMA MOBIL Ă
5.2.1.2.1 STRUCTURA METALIC Ă DE SUS ȚINERE
Datorit ă faptului c ă RSMB este destinat s ă func ționeze în spa țiul public, va trebui s ă
poat ă fi accesat de majoritatea utilizatorilor, f ără s ă necesite abilit ăți speciale. Prin urmare,
ecranul tactil trebuie plasat la o în ălțime și înclinare adecvate care s ă ofere ergonomie și
accesibilitate indiferent de în ălțimea utilizatorului.
În func ție de statura medie a persoanelor adulte, se pot pr opune urm ătoarele date de
gabarit:
• în ălțime: 137 cm
• lățime: 38 cm (f ără ro ți)
• lungime: 52 cm
• înclinare monitor: 45 o
Fig. 5.5 Senzorii platformei Pioneer 3-AT:
pozi ționarea celulelor de tip sonar.Vedere frontal ă
Capitolul 5 8
Fig. 5.6 Dimensiuni ale platformei echipate cu ecran tactil
Pentru a ridica ecranul tactil la nivelul pieptului a fost necesa r ă realizarea unei
structuri rigide ce a fost montat ă pe platforma mobil ă și peste care s-a montat ulterior ecranul
tactil (Fig. 5.6). Acest ă structur ă (cadru) va oferi, de asemenea, atât suport pentru montarea
altor echipamente suplimentare cât și posibilitatea de a monta o carcas ă în stadiul final.
În urma m ăsur ătorilor la fa ța locului s-a stabilit ca în ălțimea cadrului s ă fie de 80cm și
să fie format din 4 bare profilate din aluminiu pentru a fi cât mai u șor, dar s ă ofere stabilitate
monitorului. În partea superioar ă a cadrului de aluminiu a fost montat ă o plac ă de aluminiu ce
ofer ă suport de montare pentru ecranul tactil.
5.2.1.2.2 MONITOR CU ECRANUL TACTIL
Având în vedere c ă monitorul va fi expus unei
utiliz ări intense, va trebui s ă fie foarte rezistent, dar, în
acela și timp, s ă r ăspund ă prompt la comenzi, cu o
precizie bun ă. Acesta trebuie s ă aib ă o rezolu ție
potrivit ă, astfel încât s ă cuprind ă suficiente informa ții și
elemente grafice pe ecran și s ă fie u șor lizibile.
Consumul de energie, de asemenea, trebuie sa fie cât
mai redus, pentru a m ări autonomia bateriilor ce vor
alimenta tot sistemul.
Ecranul ales este Aures OLC 15 (Fig. 5.7),
produs de POSLIGNE, cu urm ătoarele date tehnice:
• Tip ecran: TFT LCD ( Thin Film Transistor
Liquid Crystal Display)
• Dimensiune: 15”
• Tip ecran tactil: rezistiv, cu interfa ță USB ( Universal Serial Bus )
• Luminozitate: 250 cd/sqm
• Rezolu ție: 1024×768
• Contrast: 400:1
• Unghi înclinare: 0 – 70o
• Butoane meniu OSD ( On-Screen Display ): 6
• 1 port USB
• 1 port VGA (Video Graphics Array )
Fig. 5.7 Ecran tactil
S istem robotizat de informare și manipulare pentru bibliotecile academice 9
• Surs ă integrat ă: 30W (12V / 2,5 A)
• Temperatura de func ționare: +5o / 35o
• Umiditate: 20% ~ 85%
• Dimensiuni: 419x310x253 (pân ă la 332) mm
• Greutate: 6kg
5.2.1.2.3 CAMERA WEB
Cu echipamentele alese pân ă în acest moment, RSMB se poate deplasa f ără oprire, dar
obiectivul lui este s ă interac ționeze cu utilizatorii prin intermediul ecranului tactil, prin urmare
este necesar s ă se poat ă opri atunci când o persoan ă dore ște s ă-l utilizeze.
Solu ția optim ă pentru a rezolva aceast ă problem ă este utilizarea unui sistem video, cu
ajutorul c ăruia se vor detecta fe țele persoanelor. Utilizarea acestui sistem video permite, pe
viitor, dezvoltarea ulterioar ă a acestui produs (se va putea utiliza și ca sistem de supraveghere,
identificarea anumitor persoane, crearea unor rapoarte și statistici, mai detaliate, privind
utilizatorii etc.). Astfel se va realiza monitorizarea mult mai eficient ă a mediului înconjur ător,
a unor obiecte sau persoane.
Echipamentul utilizat în acest scop este o
cameră web Prestigio PWC2 (Fig. 5.8), ce dispune
de urm ătoarele caracteristici:
• Tip senzor: CMOS ( Complementary
Metal– Oxide– Semiconductor )
• Rezolu ție senzor: 2 MP ( Mega Pixeli )
• Interval focalizare: 3cm – infinit
• Tip focalizare: manual ă
• Rezolu ție video maxim ă: 1600×1200
• Num ărul maxim de cadre: 30 FPS
(Frames Per Second )(640×480)
• Interfa ță : USB 2.0
• Alte caracteristici: expunere automat ă, nu
necesit ă driver special, control balans alb
automat/manual
• Voltaj: 5V
• Dimensiuni: 66x152x43 mm (LxÎxl)
• Greutate: 0,13 kg
5.2.1.2.4 ACUMULATORI
Pentru a avea o autonomie cât mai mare se
impune utilizarea unor acumulatori suplimentari în afar ă
de cei existen ți pe platforma mobil ă. Acesta este motivul
pentru care s-au mai achizi ționat 3 acumulatori plumb-
acid de 12V, 7.2A, compatibili de altfel și cu platforma
mobil ă (Fig. 5.9).
5.2.1.2.5 CITITOR RFID
Cititorul RFID are un rol important în sistem, într ucât asigur ă interac țiunea cu
tag-urile RFID, opera ție necesar ă în vederea localiz ării, deplas ării corecte a robotului în
mediul considerat și identific ării c ărților la raft.
Card-ul wireless permite conectarea robotului la o re țea wireless cu acces la Internet,
asigurându-se astfel:
Fig. 5.8 Camera web Prestigio PWC2
Fig. 5.9 . Baterii 12V, 7.2A
Capitolul 5 10
• Controlul la distan ță al robotului;
• Conectarea robotului la o baz ă de date cu informa ții de interes.
5.2.1.3 MONTAREA ECHIPAMENTELOR PE ROBOT
Pioneer P3-AT dispune de dou ă seturi de ro ți : o pereche de ro ți pline, din cauciuc,
pentru mediul interior și o pereche de ro ți gonflabile pentru mediul exterior. Acestea se pot
schimba în func ție de mediul în care RMSB î și desf ăș oar ă activitatea. Pentru aplica ția
prezent ă se vor utiliza ro țile din cauciuc.
Pe platforma mobil ă se monteaz ă cadrul metalic împreun ă cu placa de aluminiu (Fig.
5.10).
Se va monta monitorul cu ecran tactil (în englez ă: touch screen-ul) pe placa de
aluminiu, îns ă nu înainte de a demonta piciorul acestuia, pentru a scoate carcasa.
Pentru montarea camerei web (Fig. 5.11) este nevoie de o conexiune USB. Deoarece
Pioneer 3-AT nu prezint ă porturi USB disponibile, se vor realiza porturi USB externe,
conform procedurii existente în documenta ția online a robotului [Siciliano, 2008]. Aceast ă
procedur ă este prezentat ă în cele ce urmeaz ă.
5.2.2 SISTEMUL DE MANIPULARE
Sistemele de manipulare automat ă constau, de regul ă, din mai multe componente ca
robo ți, bra țe manipulatoare, structuri aferente și un controller.
Un robot este un echipament de manipulare care reproduce bra țul uman, dar pentru a fi
eficient, necesit ă mâini mecanice care sunt cunoscute sub denumirea de mecanisme de
prindere.
La alegerea unui mecanism adecvat prinderii c ărții se iau în considerare caracteristicile
prehensorului, caracteristicile c ărții, tehnologia de fabrica ție a prehensorului și elementele
sale componente, flexibilitatea acestuia și costurile de proiectare.
Fig. 5.11 Platforma robot Pioneer 3-AT
echipat ă cu ecran tactil și
camer ă web
Fig. 5.10 Platforma robot Pioneer 3-AT
echipat ă cu cadru metalic și
plac ă de aluminiu
S istem robotizat de informare și manipulare pentru bibliotecile academice 11
5.2.3 RAFT INTELIGENT
Pentru realizarea rafturilor inteligente au fost utilizate t ag-uri RFID pasive, la 13.56
MHz, compatibile ISO 15693, fiecare tag fiind identificat printr-o serie uni c ă.
Acest lucru a fost posibil datorit ă demar ării proiectului de implementare a sistemului
RFID de management al bibliotecii la Institutul de Cercetare D ezvoltare Inovare PRO-DD al
Universit ății Transilvania din Bra șov.
5.2.4 SERVER DE BAZE DE DATE
S-a considerat o baz ă de date (demo a bibliotecii) pentru memorarea utilizatorilor
aplica ției și a tag-urilor plasate pe c ărțile ce compun rafturile inteligente.
5.2.5 PC/LAPTOP PENTRU TRANSMITEREA COMENZILOR
CĂTRE RMSB
Pentru lansarea aplica ției proiectate și implementate trebuie ca pe un calculator (PC
sau laptop) s ă fie instalat un client/server VNC ( Virtual Network Computing ) pentru
Windows, care va permite conectarea la robot, prin intermediul unei conexiuni wireless
configurate corespunz ător. Dup ă stabilirea conexiunii dintre calculator și robot, un utilizator
autorizat va putea lansa în execu ție aplica ția.
5.3 STRUCTURA COMUNICA ȚIILOR
5.3.1 CALCULATOR – ROBOT
Așa cum se poate observa în Fig. 5.12, panoul de acces este compus din butoa ne de
control, indicatoare și un port RS-232 serial compatibil (9-pini DSUB conector).
Fig. 5.12 Panoul de control pentru utilizator și computer
[MobileRobots. ActivMedia Robotics, 2006]
Din punct de vedere al program ării, intr ările și ie șirile sistemului sunt interpretate ca
resurse hardware .
Singura conexiune între robot și “lumea exterioar ă” este linia serial ă RS-232, a șa cum
se observ ă și în Fig. 5.13.
Singurul parametru legat de dinamica sistemului, care este accesibil pentru nivelele
superioare de conducere este accelera ția liniar ă a, [ ]max , 0a a∈ , comun ă pentru ambele ro ți
motoare.
Capitolul 5 12
Fig. 5.13 Structura intern ă general ă a robotului
Toate comenzile de mi șcare c ătre robot, precum și citirea informa ției de stare se face
prin intermediul unui protocol de comunica ție, care este descris în paragrafele urm ătoare.
Din punct de vedere al transmisiei seriale, robotul este un DCE ( Data Circuit termination
Equipment ). Dac ă se dore ște conectarea la un computer, se utilizeaz ă un cablu 1:1 având la
cap ătul dinspre computer un conector electric DSUB9-mam ă (D-sub miniature 9-pin ), iar la
cap ătul dinspre robot un conector DSUB9-tat ă. Se folosesc pinii 2, 3 și 5 ai conectorului
(semnalele Tx, Rx, pentru transmisie și recep ție date și GND – Signal Grou nd, pentru
alimentare). Trebuie s ă men țion ăm c ă transmisia pe fibr ă optic ă se face pe o pereche (un fir
pentru transmisie Tx și unul pentru recep ție Rx).
În consecin ță sunt posibile urm ătoarele structuri de comunica ție pentru comanda robotului:
Configura ția 1 (Fig. 5.14)
Fig. 5.14 Controlul robotului cu un microcontroller localizat on-board
Avantaje – cost redus, flexibilitate maxim ă
Dezavantaje – limit ări la puterea de calcul, dificult ăți la testarea și depanarea programelor.
Configura ția 2 (Fig. 5.15)
Fig. 5.15 Controlul robotului de la sol prin dou ă radio-modemuri
Avantaje:
– Simplitate
– Se pot folosi bibliotecile și programele demo ale produc ătorului (denumite generic
ARIA) RS -232
MCU Amplificator
stânga
Amplificator
dreapta Encoder
stânga
Encoder
dreapta
Matricile
sonarului comandă
stânga
comandă
dreapta PWM out
PWM out Pozi ție motor stânga
Pozi ție motor dreapta
RADIO MODEM RADIO MODEM
S istem robotizat de informare și manipulare pentru bibliotecile academice 13
Dezavantaje:
– Necesit ă radio modemuri speciale, capabile de comunica ție full duplex, care sunt
scumpe
Configura ția 3 (Fig. 5.16)
Fig. 5.7 Controlul robotului printr-un port serial virtual folosind
echipament WLAN ( Wireless Local Area Network)
Solu ția din Fig. 5.16 se bazeaz ă pe realizarea unei conexiuni TCP/IP ( Transmission
Control Protocol/ Internet Protocol ) folosind echipament wireless LAN ( Local Area
Network) (un access client instalat pe robot și un wireless router la computerul de la sol).
Suplimentar, se folose ște un modul hardware dedicat, montat pe robot, care face transla ția de
la Ethernet la RS-232.
La nivelul computerului Configura ția 3 pare a fi cea mai eficient ă.
Limitare doar la raza de acoperire a leg ăturii wireless.
5.3.2 CONECTAREA ECRANULUI TACTIL LA UN CALCULATOR
Pentru a putea utiliza suprafa ța tactil ă a acestui ecran este necesar ă o conexiune pu țin
diferit ă fa ță de cea a unui monitor normal și de software-ul de interpretare a comenzilor și de
calibrare.
Cablurile necesare conect ării se g ăsesc în pachetul monitorului.
Fig. 5.17. Panoul de intr ări / ie șiri al monitorului
În primul rând se conecteaz ă panoul I/O ( Input/ Output ) la monitor prin mufa nr. 3
(DVI – Digital Visual Interface ). La monitor, aceast ă muf ă se reg ăse ște pe spate, în centru
(Fig. 5.17).
Urmeaz ă conectarea cablului VGA la mufa nr. 3 și la PC. Cablul USB, necesar
comenzilor tactile, se conecteaz ă la mufa nr. 4 și PC. În cele din urm ă se conecteaz ă
alimentarea.
Chiar dac ă exist ă toate aceste cabluri conectate, nu este îndeajuns, deoarece
calculatorul nu va ști s ă citeasc ă comenzile, poate chiar s ă nu recunoasc ă deloc interfa ța
tactil ă.
Capitolul 5 14
Prin urmare este necesar ă instalarea software-ului aflat pe CD. Acesta con ține driverul
necesar interfe ței tactile și programul de
calibrare. Driverul se g ăse ște în directorul
Common\Elo_Touch, de pe CD. Se alege cel
corespunz ător sistemului de operare pe care va fi
instalat monitorul. Pentru instalarea în detaliu a
driverului se recomand ă consultarea manualului.
Totu și trebuie precizat c ă, în momentul în care
sistemul solicit ă alegerea unui tip de driver, se
bifeaz ă doar USB, întrucât interfa țarea cu
ecranul tactil se realizeaz ă prin USB.
Dup ă finalizarea instal ării, se va deschide
automat instrumentul de calibrare a ecranului
tactil (Fig. 5.18)
5.3.2.1 PORTURI USB EXTERNE PE PLATFORMA PIONEER P3-AT
Robotul vine din fabric ă cu un cablu conectat de la conectorul multifunc țional I/O, al
computerului integrat, la porturi externe și portul serial. O ramifica ție a acestui cablu este
destinat ă porturilor USB. Pentru a ajunge la ramifica ția ce poart ă eticheta " USB " este necesar ă
demontarea p ărții superioare a robotului, aceasta aflându-se în i nterior.
În cap ătul panglicii se g ăse ște o muf ă denumit ă Microfit 3.0 cu 10 pini (Fig. 5.19).
Aceasta are urm ătoarea diagram ă a pinilor:
Tab. 5.1 Func ționalitatea pinilor
unei mufe Microfit 3.0
Pin Func ționalitate
Pinii 1 și 10 sunt marca ți pe muf ă.
Ace știa sunt numerota ți dup ă cum
urmeaz ă:
1 +5 VDC
2 DATA-
3 DATA+
4 Shield
5 Ground
6 Ground
7 Shield 6 7 8 9 10 8 DATA+
9 DATA- 1 2 3 4 5 10 +5 VDC
Fig. 5.19 Ordinea pinilor de pe Microfit 3.0
În aceast ă muf ă Microfit 3.0 trebuie introdus cablul USB.
Pentru a finaliza modificarea este nevoie de un cab lu USB sau muf ă mam ă USB tip A
și o muf ă mam ă Microfit 3.0 cu 10 contacte sau, în cazul în care se g ăse ște asemenea muf ă,
cel pu țin 10 pini și un tub termocontractibil. În Fig. 5.20 este descr is ă diagrama de conectare
a unei mufe mam ă USB tip A și a unui cablu cu muf ă USB.
Fig. 5.18 Fereastra de calibrare a
ecranului tactil
S istem robotizat de informare și manipulare pentru bibliotecile academice 15
Pin Semnal Culoare
1 +5 V Roșu
2 Data – Verde
3 Data + Alb
4 Ground / GND Negru
Fig. 5.20 Asignarea pinilor conectorilor la semnalele magistralei USB și culorile conductorilor
Pentru leg ături trebuie f ăcut ă coresponden ța între pinii sau cablul USB-ului cu mufa
microfit. Având în vedere c ă USB-ul are nevoie doar de 4 pini, iar mufa microfi t are 10
pozi ții, rezult ă c ă se pot monta 2 mufe USB (pinii 4 și 7 ai mufei microfit nefiind utiliza ți).
Rezultatul în cazul de fa ță, folosind mufe USB, cablu, pini și tub termocontractibil
este prezentat în Fig. 5.21 [Neagu, 2011].
Fig. 5.21 Rezultatul final al conexiunii mufelor USB cu cea Microfit 3.0, prezent p e RMSB
5.4 STRUCTURA SOFTWARE
5.4.1 CONSIDERENTE GENERALE
Pentru localizarea și navigarea robotului a fost proiectat ă și implementat ă o aplica ție ce
permite:
• Cunoa șterea mediului înconjur ător de c ătre robotul mobil RMSB;
• Crearea unei h ărți pentru mediul de lucru;
Capitolul 5 16
• Localizarea robotului;
• Deplasarea robotului în teritoriu limitat (dintr-un punct A într-un punct B stabilite
de utilizator);
• Evitarea obstacolelor fixe si mobile;
• Explorarea mediului de c ătre robot.
Pentru a în țelege modul de func ționare a aplica ției considerate este necesar ă definirea
câtorva din conceptele utilizate:
• Mediul înconjur ător reprezint ă rafturile inteligente utilizate în sistem;
• Se spune c ă robotul mobil RMSB “cunoa ște” mediul înconjur ător atunci când
de ține informa ții despre tag-urile ce compun rafturile inteligente și pozi țiile în care
au fost plasate acestea;
• Harta de mediu reprezint ă acea hart ă format ă din grile de ocupare;
• Localizarea robotului în mediu presupune cunoa șterea tag-ului de pe raft;
• Drumul de navigare reprezint ă drumul parcurs de robot de la punctul de start la
punctul final, fiind descris de tag-urile pe care r obotul trebuie s ă le g ăseasc ă la
destina ție;
• Un obstacol fix este un obiect identificat de un ta g RFID, care nu poate fi traversat
de c ătre robot;
• Un obstacol mobil este un obiect care poate fi plas at în orice loca ție din sala de
lectur ă (laborator) și care nu este identificat cu ajutorul tag-urilor R FID. În realitate
pot exista astfel de obiecte pe care robotul trebui e s ă le evite folosindu-se de
senzorii din dotare. Atunci când descoper ă un obstacol mobil, robotul îl memoreaz ă
în harta de mediu, determinându-i pozi ția în func ție de tag-urile din apropiere;
• Evitarea obstacolelor mobile presupune utilizarea s enzorilor robotului pentru
detec ția acestora. Robotul trebuie s ă se întoarc ă la pozi ția anterioar ă și s ă î și
genereze un alt drum care s ă îi permit ă s ă ajung ă la destina ție;
• Informa țiile memorate în tag-urile RFID sunt stocate într-o baz ă de date pentru a se
asigura o vitez ă mai mare de ob ținere a informa țiilor necesare [Fedor, 2010].
Trebuie precizat faptul c ă în aplicația considerat ă robotul trebuie s ă cunoasc ă harta de
mediu pentru a putea fi localizat, pentru a se pute a deplasa c ătre un punct final specificat sau
pentru a îndeplini alte sarcini solicitate de utili zator.
5.4.2 ARHITECTURA ARIA ( Advanced Robotics Interface for
Applications )
Mediile de dezvoltare robotizate încep s ă joace un rol din ce în ce mai important în
domeniul cercet ării robotice, în general, și pentru dezvoltarea de arhitecturi pentru robo ți mobili
în particular.
Microcontrolerele instalate pe platforma robot Pion eer P3-AT r ăspund prin
intermediul unor module program la nivel ma șin ă de problemele de conducere la nivel
inferior pentru navigarea cu anumite viteze și orient ări în mediul de lucru, operarea senzorilor,
managementul parametrilor interni etc. Pachetul sof tware dezvoltat de compania produc ătoare
MobileRobots ofer ă controlul la nivelul superior pentru evitarea de o bstacole, planificarea
traiectoriilor, localizare și navigare sau operarea bra țului robotic.
Biblioteca cu module program destinat ă utiliz ării platformei robot Pioneer 3-AT în
diverse aplica ții con ține: programul pentru microcontroller ARCOS ( Advanced Robotics
Control and Operations Software ), biblioteci precum ARIA (Advanced Robotics Interface for
Applications), ARNL (Advanced Robotics Navigation and Localization) , SonARNL, ACTS
(ActivMedia Color Tracking Software ) și aplica ții precum Mapper3 Basic și MobileSim (Fig.
5.22).
S istem robotizat de informare și manipulare pentru bibliotecile academice 17
Fig. 5.22 Arhitectura software a platformei robot mobil Pioneer 3-AT
[MobileRobots. ActivMedia Robotics, 2006]
Platforma robot mobil P3-AT func ționeaz ă ca un server într-un mediu client-server (Fig.
5.23).
Fig. 5.23 Schema celor 3 nivele client/server
Detaliile de nivel minim ale robotului sunt gestion ate de serverele integrate în
aplica țiile sistemului de operare (ARCOS – Advanced Robotics Control and
Operations Software , AROS – Amiga Research Operating System , P2OS – Pioneer 2
Operatting System ) al micro-controller-ului robotului. Aplica țiile client care furnizeaz ă Leg ătur ă
serial ă RS-232
Calculatorul integrat Micro-controllerul
P2OS
Fig. 5.24 Controlul robotului cu calculatorul integrat
Capitolul 5 18
controlul de nivel maxim trebuie s ă ruleze pe un calculator conectat la micro-controll er (Fig.
5.24). Acesta poate fi fie calculatorul integrat, f ie alt calculator.
ARIA, software-ul de baz ă livrat împreun ă cu robo ții MobileRobots (la origine
ActivMedia) reprezint ă atât o interfa ță , cât și un modul sofware prin care robotul Pioneer 3-
AT poate fi controlat, împreun ă cu marea majoritate a accesoriilor acestuia. Colec ția de
programe ARIA este un set de clase C ++ disponibil ă gratuit, aceasta fiind utilizat ă pentru
managementul comunic ării client-server. La nivelul minim, ARIA ofer ă capacit ăți de
arhitectur ă a sistemului ; adic ă software care descrie structura unui robot (inclus iv senzorii,
efectorii și specifica țiile fizice) și implementeaz ă interac țiunea la nivel redus între
componentele hard și soft. La nivel mai înalt de abstractizare, aceast a (ARIA) cuprinde o
anumit ă func ționalitate la nivel de interpretare senzorial ă, ac țiuni de baz ă (analoage
comportamentelor) și un resolver de ac țiuni elementare. Este utilizat ă pentru crearea de
aplica ții inteligente client-side, de nivel înalt.
De și este disponibil gratuit, ARIA este un produs al M obileRobots, Inc. și prin urmare
suport ă numai platforme MobileRobots, utilizând fi șiere robotice parametrice ca mijloc de
definire a caracteristicilor unui robot. Aceasta in clude informa ții asupra carcasei robotului (de
ex. raza robotului), senzorilor (de ex. num ărul și pozi ția sonarelor) precum și a efectorilor (de
ex. viteza maxim ă). Parametrii sunt utiliza ți de ARIA pentru diferite calcule (de ex.
parametrul „raza robotului” (Robot Radius) este uti lizat pentru determinarea limitelor de
rota ție ale robotului). Pentru sprijinul calculului dist ribuit, ARIA dispune de biblioteca
ARNetworking care mediaz ă (prin intermediul unui server virtual) comunica țiile dintre robot
și alte aplica ții de tip client ( MobileEyes ).
Exist ă software de sprijin, dar este limitat, în anumite cazuri prin licen țe sau modalit ăți
de achizi ție. Simulatorul MobileSim bi-dimensional, o versiune modificat ă a simulatorului
Stage al firmei Pleyer/Stage este disponibil gratui t. O versiune demo a ActivMedia Color
Tracking Software (ACTS) poate fi desc ărcat ă gratuit dar are o func ționalitate restrâns ă care
nu permite integrarea cu ARIA (nu este valabil pent ru versiunea sub licen ță ). Alte pachete
software „opensource” cuprind componente ArSpeech care ofer ă interfe țe spre recunoa șterea
vorbirii Sphinx și c ătre ambele pachete Festival și Cepotral de generare a vorbirii, SonARNL
pentru localizare prin sonar, Mapper3 Basic pentru crearea și editarea h ărților și Visual Studio
pentru urm ărirea obiectelor cu o singur ă camer ă.
Sunt de asemenea disponibile, dar cu restric ții de licen ță și/sau achizi ție, principalele
module ARNL (care rezolv ă problema cartografierii, localiz ării și navig ării autonome):
• Mapper3Basic (care adaug ă pachetului de baz ă, pentru cartografiere, un dispozitiv
laser și genereaz ă automat h ărți cu date de la senzori) [Kramer, 2007].
• MobileSim (este utilizat pentru simularea și/sau controlul în timp real al deplas ării
robotului)
• ArnlServer (server virtual utilizat pentru a accesa datele ci tite de la sistemele
senzoriale laser și sonar),
• MobileEyes (care ofer ă capacit ăți de tip SLAM – Simultaneous Localization And
Mapping ), posibilitatea edit ării de scenarii de deplasare, posibilitatea planifi c ării
unor traiectorii în puncte sau oportunitatea de a i ntroduce ținte secundare, precum și
sta ții de înc ărcare a bateriei, ofer ă afi șaj și control la distan ță a robotului.
Biblioteca SonArnl permite utilizarea senzorilor sonar în aplica ția Mapper3
Basic/MobilSim/MobileEyes , în mod asem ănător cu ArnlServer.
Aplica țiile robotului și versiunile acestora, utilizate pentru experimenta rea și
dezvoltarea aplica țiilor ulterioare, sunt prezentate în Tab 5.2:
S istem robotizat de informare și manipulare pentru bibliotecile academice 19
Tab. 5. 2 Aplica ții software
Software Versiune
ARIA 2.7.2
Mapper3 Basic 2.2.5
MobileSim 0.5.0
MobileEyes 2.2.4
MS Visual Studio 2008
Este necesar ca software-ul ARIA s ă fie instalat atât pe calculatorul integrat al
robotului cât și pe calculatorul pe care se creeaz ă și testeaz ă aplica țiile de control.
5.4.2.1 MAPPER3 BASIC
Mapper3 și Mapper3 Basic sunt instrumente necesare pentru a crea harta medi ului de
operare al robotului, util ă pentru localizare autonom ă și navigare cu ARNL precum și în
simulatorul MobileSim sau orice software care utili zeaz ă biblioteca ARIA (în cazul de fa ță
MobileEyes).
Mapper3 Basic a fost utilizat pentru plasarea și editarea obstacolelor fixe (pere ți, u și,
piese de mobilier) obstacole ce pot fi detectate cu ajutorul senzorilor, punct de start și revenire
(Home Point) puncte țint ă (rafturile R1, R8, R19, R42), zone interzise, punc te de intrare pentru
andocare (reînc ărcare). Pe hart ă realizat ă obstacolele sunt reprezentate în culori diferite.
În momentul lans ării aplica ției se afi șeaz ă interfa ța prezentat ă în Fig. 5.25 în care
liniile negre reprezint ă pere ții, suprafe țele crem, zone interzise pentru robot, prin urmare
robotul va ocoli aceaste zone, linia galben ă reprezint ă linie interzis ă și deci robotul nu va trece
de aceasta. Aceast ă linie este util ă mai ales în zone în care robotul nu poate percepe
obstacolele cu senzorii din dotare. Punctul verde d eschis reprezint ă punctul de start și revenire
(Home Point ) al robotului, iar punctele verde închis reprezint ă puncte de destina ție (puncte
țint ă) la care acesta trebuie s ă ajung ă.
Fig. 5.25. Harta s ălii ProDD (unde a fost testat RMSB) în Maper3Basic
Capitolul 5 20
5.4.2.2 MOBILESIM
MobileSim este programul de simulare a platformelor MobileRo bots și mediul
acestora. Este foarte util ă pentru testarea aplica țiilor ARIA și rezolvarea posibilelor dificult ăți,
inconveniente.
Dup ă lansarea aplica ției, în prim plan apare fereastra care permite sele c ția unei h ărți
(op țional) și a unui model de robot (Fig. 5.26).
Fig. 5.26 Fereastra MobilSim pentru selec ția robotului și a h ărții
Dac ă se alege op țiunea f ără hart ă (No Map), mediul de lucru va fi gol și limitat la o
suprafa ță de 200×200 metri.
Meniul principal al simulatorului se va deschide ul terior select ării robotului și har ții
dorite. Dup ă deschidere, simbolul robotului va fi afi șat în pozi ția Home (dac ă s-a specificat pe
hart ă un asemenea punct), altfel va fi plasat în centrul h ărții. Deplasarea robotului pe hart ă se
poate realiza cu ajutorul mouse-ului (drag and drop ). Harta se poate apropia sau dep ărta cu
ajutorul roti ței mouse-ului (scroll). Robotul poate fi repo zi ționat folosind butonul stînga al
mouse-ului, iar pentru rotire se poate utiliza buto nul dreapta al mouse-ului. Orice aplica ție care
are inclus ă în cod clasa ArSimpleConnector pentru conectarea la robot (Anexa 4), se va conect a
fără alte modific ări și la simulator. În mod normal, aceasta realizeaz ă, în primul rând, o
conexiune TCP ( Transmission Control Protocol) pe portul localhost 8101. În cazul în care
simulatorul nu se execut ă, atunci se realizeaz ă o conexiune direct ă prin portul serial (primul
port serial, COM1 ( Com munications port 1), în mod implicit).
Pentru testarea unei aplica ții, aceasta va fi pornit ă doar dup ă ce s-a deschis în prealabil
simulatorul. În Fig. 5.27 se poate observa simulare a robotului, realizând o deplasare aleatoare
(f ără o hart ă anume), executând codul folosit în dezvoltarea ace stui proiect.
S istem robotizat de informare și manipulare pentru bibliotecile academice 21
Fig. 5.27 Interfa ța simulatorului MobileSim și programul de deplasare al RMSB (în fundal)
5.4.2.3 MOBILEEYES
MobileEyes este o interfat ă grafică cu utilizatorul (în englez ă: Graphical User
Interface sau GUI) necesar ă pentru monitorizarea și controlul robotului pe baza unei h ărți, în
timp real.
În momentul lans ării aplica ției MobileEyes va fi afi șat ă o caset ă de dialog (Fig. 5.28)
în care se pot specifica informa ții despre utilizator ( User Name ), parol ă ( Password ), acestea
fiind op ționale, și adresa serverului robotului ( Robot Servers ). Prin urmare se poate accesa
robotul de la distan ță introducând adresa IP ( Internet Protocol ) a acestuia.
Fig. 5.28 Caseta de logare în MobileEyes
Înainte de se realiza conectarea ( Connect ), se porne ște serverul Sonarnl pe robot.
Pentru aceasta se va utiliza urm ătoarea linie de comand ă în consola MS-DOS de pe robot:
Capitolul 5 22
cd C:\Program Files\MobileRobots\Arnl\bin\sonarnlSe rver–map ProDD.map
SonarnlServer este aplica ția (serverul) în sine, iar atributul –map permite înc ărcarea
unei h ărți (create în prealabil) în MobileEyes. În cazul de fa ță se cere înc ărcarea h ărții
ProDD.map.
Diver și parametrii de conectare sunt configurabili prin a rgumente în linia de comand ă.
O aplica ție poate primi oricâte argumente în linia de comand ă în momentul lans ării ei. Aceste
argumente sunt utile pentru a permite utilizatorulu i s ă specifice diverse op țiuni legate de
func ționarea aplica ției sau s ă furnizeze anumite date ini țiale programului.
Aceast ă aplica ție poate furniza date privind pozi ția robotului pe hart ă și orientarea
acestuia. Dac ă harta a fost construit ă cu puncte de interes, acestea vor ap ărea în MobileEyes
astfel încât printr-un simplu dublu click, robotul se poate deplasa la punctul de interes ( țint ă) ales.
MobileEyes ruleaz ă pe orice laptop Windows, Linux sau desktop într-o re țea f ără fir,
și se conecteaz ă de la distan ță la software-ul de la bord, prin intermediul ARIA și
ArNetworking. ArNetworking, precum bibliotecile de naviga ție și localizare, include o
varietate de servicii predefinite concepute pentru a fi utilizate cu MobileEyes [Adept
MobileRobots Inc ., 2015c].
Aplica ția permite rularea robotului în mod automat în gard ă, astfel robotul va putea
ocoli obstacolele sau zonele interzise. Se permite de altfel și rularea f ără gard ă sau manual (cu
sau f ără gard ă).
Interfa ța aplica ției înainte de înc ărcarea unei h ărți va ar ăta ca în Fig. 5.29.
Fig. 5.29 Interfa ța MobileEyes, f ără hart ă
5.4.3 MS VISUAL STUDIO 2008
Microsoft Visual Studio este un mediu de dezvoltare integrat ( Integrated Development
Environment – IDE) de la Microsoft. Acesta poate fi utilizat p entru a dezvolta aplica ții
consol ă și aplica ții cu interfa ță grafic ă pentru toate platformele suportate de Microsoft Windows
(ex. .NET Framework, Windows Mobile etc).
Microsoft Visual Studio ofer ă editor, compilator/debugger și mediu de proiectare
(designer) pentru mai multe limbaje de programare. Limbaje de programare incluse:
Microsoft Visual C++, Microsoft Visual C#, Microsof t Visual Basic, Microsoft Visual Web
Developer, Team Foundation Server.
Pentru a putea programa și compila o aplica ție creat ă cu biblioteca ARIA în MS Visual
S istem robotizat de informare și manipulare pentru bibliotecile academice 23
Studio 2008 , este necesar ă mai întâi includerea anumitor fi șiere și directoare ale acestei
biblioteci în propriet ățile proiectului.
În cele ce urmeaz ă se va prezenta procedura de realizare și configurare a unui
proiect.
Pentru a crea un proiect nou se utilizeaz ă din meniul File eticheta New -> Project . În
fereastra ce se afi șeaz ă se alege tipul de proiect Win32 din partea stâng ă, apoi din partea
dreapt ă select ăm Win32 Console Application . Mai este necesar introducerea numelui
proiectului în partea de jos, în câmpul Name și Solution name (acesta se completeaz ă, de
obicei, în mod automat). Se d ă click pe OK . Mai departe va ap ărea un wizard pentru a face
diverse set ări pentru proiect. În primul ecran se apas ă Next , iar în cel de al doilea se bifeaz ă
Empty project și click pe Finish .
Urmeaz ă crearea fi șierului surs ă. Din meniul Project se d ă click pe Add New Item . Din
fereastra afi șat ă se alege C++ File (.cpp) din partea dreapt ă și se introduce numele fi șierului
în câmpul Name (ex. main). Click pe Add .
În continuare se vor face configur ările pentru ARIA. Din panoul Solution Explorer ,
din stânga, se execut ă click dreapta pe numele proiectului din structura arborescent ă și se
alege Properties.
• În fereastra ce s-a deschis se schimb ă meniul Configuration (în partea stâng ă sus) în
All Configurations .
• Click pe subsec țiunea General din sec țiunea Linker . În stânga, la Additional
Library Directories se adaug ă C:\Program Files\Mobile Robots\Aria\lib
(presupunând c ă ARIA s-a instalat în adresa implicit ă, altfel se schimb ă Program
Files cu cel corespunz ător).
• Se schimb ă meniul Configuration în Debug.
• Click pe subsec țiunea Input din Linker. La Additional Dependencies se adaug ă:
AriaDebugVC9.lib, winmm.lib, advapi32.lib (fiecare pe linie nou ă).
• Se schimb ă meniul Configuration în Release .
• În acela și câmp, Additional Dependencies, se adaug ă: AriaVC9.lib, winmm.lib,
advapi32.lib (fiecare pe linie nou ă).
• Se schimb ă meniul Configuration în All Configurations.
• În subsec țiunea General , din sec țiunea C/C++ , la Additional Include Directories se
adaug ă: C\Program Files\ Mobile Robots\Aria\include.
• Click OK .
5.4.4 OPENCV ( Open Source Computer Vision )
Atributul „recunoa ștere facial ă” reprezint ă un segment de studiu foarte activ din cadrul
domeniului “Viziune computerizat ă și biometrie”, acesta beneficiind de cercet ări intense pe
parcursul ultimilor 25 de ani. Aplica țiile acestor cercet ări au început s ă apar ă într-o serie de
domenii cum ar fi sisteme de siguran ță , robo ți, interfe țe om-calculator, camere digitale, jocuri
și divertisment.
Recunoa șterea facial ă implic ă dou ă etape:
• Detec ție facial ă, cu cercetarea unei fotografii pentru a identifica prezen ța unei fe țe
(indicat ă în Fig. 5.35. de un dreptunghi ro șu), urmat ă de o procesare a imaginii care
accentueaz ă imaginea fe ței pentru recunoa șterea mai u șoar ă.
• Recunoa șterea facial ă, în cadrul c ăreia imaginea detectat ă și procesat ă a fe ței este
comparat ă cu o baz ă de date con ținând fe țe cunoscute pentru a decide cine este
persoana respectiv ă [Emami, 2012; Baggio, 2012].
Capitolul 5 24
5.4.4.1 RECUNOA ȘTEREA FE ȚEI UMANE
În ultimele dou ă decenii au fost propuse multe solu ții în vederea rezolv ării acestei
probleme dificile [Zhao, 2003]. Mare parte din lucr ări se concentreaz ă pe recunoa șterea din
imagini statice dar în ultimul timp existen ța unor algoritmi pentru detec ție în timp real a permis
recunoa șterea din secven țe video. Totu și o serie de aspecte ca postura capului, iluminarea și
camerele de rezolu ție sc ăzut ă îngreuneaz ă recunoa șterea fe ței în video. Pe de alt ă parte,
imaginile video con țin informa ții spa țio-temporale importante care nu exist ă în imaginile statice
[Zhou, 2002].
În general, întregul proces de recunoa ștere const ă în trei pa și:
• detec ția fe ței dintr-un cadrul curent,
• procesarea zonei imaginii relative și
• aplicarea unui algoritm de recunoa ștere (Fig. 5.30).
Fig. 5.30 Organigrama de baz ă pentru recunoa șterea fe ței [Yongzhong, 2003]
Literatura de specialitate prezint ă numeroase rezultate în domeniul detec ției faciale, în
special pentru imagini frontale [Yang, 1994; Kotrop oulos, 1997; Osuna, 1997; Rowley, 1998;
Sung,1998; Roth, 2000; Viola, 2001]. Totu și, unele probleme referitoare la detec ția facial ă nu
au fost înc ă rezolvate integral din cauza faptului c ă fa ța nu este un obiect rigid. În plus, aspectul
fe ței variaz ă în func ție de pozi ție, iluminare, expresia fe ței, culoarea pielii etc. [Ching, 2009].
Scopul prezentului studiu este de a crea un sistem de detec ție și urm ărire facial ă pe baza
bibliotecii OpenCV, capabil s ă capteze imaginea unui obiect care r ămâne un timp foarte scurt în
fa ța camerei. Unul dintre obiectivele OpenCV este real izarea unei infrastructuri de viziune
computerizat ă simpl ă și u șor de utilizat care s ă ajute la crearea de aplica ții destul de complexe
în timp redus. Acest sistem va servi la urm ărirea fe ței unui utilizator în vederea identific ării
acestuia.
5.4.4.2 OPENCV
OpenCV [OpenCV, 2014] este o bibliotec ă cu acces liber de func ții de programare
destinate viziunii computerizate în timp real. Acea sta sprijin ă, în prezent, interfe țe pentru
limbajele C, C++ și Python.
Pentru implementarea modulului software destinat re cunoa șterii fe ței s-a utilizat
biblioteca OpenCV , oferit ă de Open Source Computer Vision Library. În activit atea de
programare o bibliotec ă reprezint ă o colec ție de programe verificate, disponibile în formate c are
permit utilizarea lor în diverse aplica ții f ără a fi necesar ă rescrierea lor.
Biblioteca OpenCV este gratuit ă atât pentru scopuri comerciale cât și de cercetare.
Biblioteca este func țional ă în mai multe sisteme de operare: Mac OS X, Windows și Linux
[OSCVL, 2014].
Principalul scop al bibliotecii OpenCV este de a permite proces ări în timp real de
imagine și cadru, dintr-o secven ță video.
În acest scop au fost optimiza ți peste 2500 algoritmii de procesare a imaginii de c ătre
speciali știi de la Intel Corporation. OpenCV cuprinde de ase menea peste 500 de func ții în
domeniul viziunii computerzate, inspec ția produselor, imagistic ă medical ă, securite, înterfa ță
utilizator, calibr ărea camerelor video, viziune stereo, și robotic ă. Deoarece viziunea
computerizat ă și înv ățarea (instruirea) sistemului au loc de cele mai mul te ori simultan,
S istem robotizat de informare și manipulare pentru bibliotecile academice 25
OpenCV dispune de o bibliotec ă complet ă MLL ( Machine Learning Library ). Aceast ă
bibliotec ă este destinat ă în principal recunoa șterii modelelor statice și clustering-ului.
Biblioteca MLL este extrem de util ă pentru func țiunile de viziune care reprezint ă
nucleul de baz ă al OpenCV, fiind în general suficient ă pentru rezolvarea oric ărei probleme de
înv ățare ma șin ă [Bradski, 2008 ].
Biblioteca OpenCV a fost lansat ă în 2001 iar de atunci a crescut continuu cuprinzân d
to ți algoritmii de procesare a imaginii și constituindu-se într-un instrument perfect de cre are a
unor aplica ții în domeniu.
Bibloteca OpenCV dispune de urm ătoarele facilit ăți:
• Biblioteca C/C++ gratuit ă pentru procesare de imagine.
• Optimizare și capabilit ăți de aplica ții în timp real.
• Independen ță fa ță de sistemele de operare.
• Func ționalitate generic ă pentru înc ărcarea, salvarea și ob ținerea de imagini video.
• Suport de programare API (Application Programming Interfacing ) de nivel sc ăzut
și înalt.
• Asigur ă Intel Integrated Performance Primitives Interface ( IPP ) cu optimiz ări
specifice la nivelul procesorului.
Principalele caracteristici ale bibliotecii OpenCV sunt:
• Manipularea datelor de imagine (alocare, copiere, s alvare, conversie).
• Input de imagine și video streem, output (la nivel de fi șiere și dispozitive – camere
web, camcordere, camere digitale).
• Suport pentru opera ții cu vectori și matrici (produs scalar, vectorial, secven ță de
vectori, etc.).
• Diferite structuri dinamice (liste, cozi, arbori, g rafuri).
• Algoritmi și instrumente pentru procesarea imaginilor (filtre, detec ție contururi,
detec ție muchii, conversie culoare, interpolare, opera ții morfologice, opera ții de
histigrame, segmentarea imaginilor, definirea zonel or de interes ( Region of Interest
– ROI ) dintr-o imagine, instrumente de calibrare pentru dispozitive de înregistrare
video, instrumente pentru recunoa șterea imaginilor cu ajutorul clasificatorilor,
suport pentru imagini stereo, suport pentru re țele neuronale).
• Analiz ă structural ă (componente conectate, procesare de contururi, tra nsform ări de
distan țe, timpi variabili, asamblare matrit ă/șablon, transformare tip Hough,
aproximare poligonal ă, aproximare prin linii a yonelor de interes, aprox imare prin
elipse a zonelor de interes, triangula ție Delaunay).
• Calibrarea camerelor (setarea și urm ărirea structurilor, calibrarea, estimarea
matricelor fundamentale, coresponden ța stereo).
• Analiza mi șcării (urm ărirea mi șcării în secven țele video, segmentarea mi șcării).
• Recunoa șterea obiectelor (metode bazate pe valoarea adecvat ă, HMM – Hidden
Markov Model ). Interfa ță simpl ă GUI – Graphics User Interface (imagine afi șat ă /
video la nivel de fereastr ă, manipulatori de evenimente de la mouse și tastatur ă,
scroll bar).
• Posibilitatea de a suprapune straturi și imagini (linii, poligoane, text) [Stare țu, 2011].
Este foarte utilizat ă în aplica ții precum:
• interac țiune om-ma șin ă (HCI – Human -Computer Interaction );
• identificare obiecte;
• segmentare și recunoa ștere;
• recunoa ștere facial ă;
• urm ărire a mi șcărilor etc.
Capitolul 5 26
5.4.4.3 DETECTREA FE ȚEI ÎN IMAGINI PE BAZA CLASIFICATORULUI
CASCAD Ă HAAR
În lucrarea de fa ță este utilizat ă metoda dezvoltat ă de Viola și Jones [Viola, 2001],
ulterior completat ă de Rainer și Mazdt [Lienhart, 2002], în care au fost propuse i mplement ări
ale unor noi algoritmi pentru detec ția de obiecte în timp real. Avantajul acestei noi m odalit ăți
de detec ție este acela c ă algoritmii folosi ți au un grad de detec ție foarte ridicat și pot fi aplica ți
oric ărui tip de obiect [Viola, 2004]. Una dintre aplica țiile unde pot fi utilizate metodele
propuse este aceea a detect ării fizionomiei și caracteristicilor faciale. Metoda pentru
detectarea fizionomiei are la baz ă clasifcatorul AdaBoost [Freund, 1996; Guo, 2009] și
caracteristici de tip Haar [Viola, 2001; Lienhart, 2002], fiind cunoscut ă și sub denumirea de
clasificator Haar [Bradski, 2008].
Asupra datelor avute la dispozi ție, ob ținute ca rezultat al utiliz ării de metode specifice
domeniului de procesare digital ă a imaginilor, se pot aplica dou ă tipuri de algoritmi [Bradski,
2008]:
• algoritmi de grupare , ce presupun ca datele sau caracteristicile s ă poat ă fi încadrate
în anumite grupuri;
• algoritmi de clasificare , cu ajutorul c ărora este posibil ă realizarea unei predic ții
referitoare la o clas ă generic ă, ale c ărei caracteristici sunt disponibile, având la baz ă
anumite modele pentru clasele respective.
Pentru ca ace ști algoritmi să poat ă fi utiliza ți sunt necesare mai multe etape de ajustare a
parametrilor pentru a se atinge un anumit obiectiv. Acest proces de ajustare a parametrilor pentru
ob ținere unui anumit rezultat poart ă denumirea de proces de înv ățare.
Un clasificator care are la baz ă caracteristici de tip Haar, este „antrenat” cu aju torul
câtorva sute de modele ale obiectului care urmeaz ă a fi detectat (în cazul de fa ță cu imagini
diferite ale fizionomiei unei persoane). Aceste ima gini sunt numite imagini de prim-plan.
De asemenea, clasificatorul mai utilizeaz ă și imagini arbitrare, în cadrul c ărora nu apar
fizionomii. Acest tip de imagini poart ă denumirea de imagini de fundal.
Algoritmul, aplicat ini țial pentru detec ție facial ă, reprezint ă o metod ă de reac ție a filtrului
pentru modelul de aspect.
Clasificatorul cascad ă bazat pe caracteristica Haar se utilizeaz ă pentru detectarea
obiectelor. Deoarece s-a utilizat platforma încorpo rat ă criteriul principal al selec ției l-a constituit
eficien ța computa țional ă.
Clasificatorul cascad ă se compune din:
• caracteristici de tip Haar
• un singur clasificator
• cascad ă de clasificatori [Cerny, 2013]
A. Caracteristici de tip Haar
Acestea reprezint ă dreptunghiuri adiacente în anumite pozi ții de pe imagine. Diferen ța
între aceste dreptunghiuri permite descrierea subse c ției în pozi ția respectiv ă. În [Viola, 2004]
se prezint ă trei grupe de caracteristici în func ție de num ărul dreptunghiurilor adiacente.
Exemplu din fiecare grup ă sunt indicare în Fig. 5.31.
A B C
Fig. 5.31 Caracteristici tip Haar:
A – dou ă dreptunghiuri, B – trei dreptunghiuri, C – patru dreptunghiuri
S istem robotizat de informare și manipulare pentru bibliotecile academice 27
Algoritmul pentru detec ția de obiecte propus de Viola și Jones [Viola, 2001; Viola,
2004] are la baz ă analizarea unor anumite caracteristici (features) ale imaginii, motiva ția
alegerii acestora în detrimentul alegerii directe a pixelilor fiind dat ă de faptul c ă, pe de o
parte, caracteristicile pot fi codificate în a șa fel încât s ă con țin ă într-un singur loc mai multe
informa ții iar, pe de alt ă parte, viteza de procesare este superioar ă utiliz ării directe a pixelilor
[M ăce șanu, 2013]. În Fig. 5.32 sunt prezentate caracteris ticile utilizate de algoritm pentru
detectarea fizionomiei:
1. Caracteristici de tip muchie
2. Caracteristici de tip linie
3. Caracteristici de tip centre înconjurate
Fig. 5.32 Caracteristici de tip Haar utilizate la detectarea de obiecte [Lienhart, 2002; Bradski, 2008].
Caracteristicile utilizate pentru prima dat ă de Viola și Jones [Viola, 2001] și care pot fi
folosite la detectarea fizionomiei umane au suferit o serie de modific ări. Acest lucru se
datoreaz ă, în principal, faptului c ă la prima apari ție a metodei au fost introduse doar
caracteristici rectangulare, având o reprezentare d e la dou ă pân ă la patru module. Asupra
acestei modalit ății de reprezentare ini țiale au ap ărut modific ări în cercet ările efectuate de
Lienhart, care a eliminat modelul rectangular cu pa tru module și a definit o nou ă modalitate
de reprezentare, sub forma unor caracteristici Haar rotite [Lienhart, 2002]. Introducerea
acestei noi reprezent ări conduce la o cre ștere a performan țelor sistemului ( și anume la
reducerea num ărului de detect ări incorecte) cu pân ă la 10%. Astfel, dup ă cum se poate vedea
și în Fig. 5.32 se poate discuta despre 14 prototipu ri de caracteristici [Grigorescu, 2013].
Aceste trei grupe de caracteristici formeaz ă setul complet de caracteristici utilizat de
func țiile OpenCV. De asemenea OpenCV ofer ă și func țiile destinate etapelor par țiale ale
detec ției obiectelor precum și înv ățarea (instruirea) cadrelor. Aceasta permite instrui rea
cascadelor cu orice fel de obiect chiar dac ă OpenCV ofer ă cascade gata instruite pentru cele
mai uzitate obiecte, de ex. partea superioar ă a corpului, fa ța, gura, nasul, ochii etc.
Detectorul clasificator în cascad ă bazat pe caracteristici Haar se afl ă în interfa ța C++
fiind realizat prin metoda „detectMultiScale” din o biectul „CascadeClassifier”. Metoda
permite detec ția de obiecte având dimensiuni diferite din imagine a-surs ă [Cerny, 2013].
Principiul Haar este unul simplu; el are la baz ă calculul diferen ței dintre suma pixelilor
albi și suma pixelilor negri. Principalul avantaj al meto dei const ă în calculul rapid al sumei pe
baza imaginii integrale. Denumirea tip Haar provine din faptul c ă se bazeaz ă pe acela și
principiu al micilor unde (în englez ă: wavelets) Haar din [Aby, 2011].
Capitolul 5 28
B. Imaginea integral ă
Caracteristicile dreptunghiulare pot fi calculate r apid folosind o reprezentare
intermediar ă a imaginii numit ă imaginea integral ă [Viola, 2004]. Imaginea integral ă const ă
din existen ța unor mici unit ăți de imagine dintr-o imagine dat ă.
Suma intensit ăților pixelilor din aria alb ă este sc ăzut ă din suma intensit ăților pixelilor
din aria neagr ă. Diferen ța calculat ă reprezint ă caracteristica ariei de acoperire. Avantajul
metodei const ă în calculul rapid al sumei, care este posibil prin utilizarea integral ă a imaginii.
Imaginea integral ă se define ște ca:
() ()∑
≤′ ≤′′ ′ =
y y x xy x i yxii
,, (5.1)
unde ()yxii , este imaginea integral ă iar ()y x i′′ este imaginea original ă. Expresiile (5.2) și
(5.3) permit calcularea, imaginii integrale dintr-o singur ă trecere peste imaginea original ă:
()( )()yx i yx s yx s , 1, , +− =
()( )()yx s y xii yxii , , 1 , + − = (5.2)
(5.3)
unde s(x,y) este suma cumulat ă a șirurilor, s(x, –1) și ii(–1, y)=0 . Pe baza imaginii integrale
calculul sumei oric ărei arii de dreptunghi de pe imaginea original ă, poate fi realizat ă prin
dou ă adun ări și dou ă sc ăderi.
Fig. 5.33 Imaginea integral ă
În Fig. 5.33, punctul 1 este suma ariei A în imagin ea original ă, punctul 2 suma ariilor A și
B, punctul 3 suma ariilor A și C iar punctul 4 suma tuturor ariilor marcate. Ast fel suma ariei D este:
() ()1 ) 2 ( ) 3 ( 4 )( ii ii ii ii D sum + − − = (5.4)
unde sum(D) este suma pixelilor din aria D iar ii este imaginea integral ă.
C. Algoritmul de înv ățare AdaBoost
Viola și Jones [Viola, 2004] au utilizat algoritmul de înv ățare AdaBoost pentru a
selecta o anumit ă caracteristic ă tip Haar ca valoare de prag. AdaBoost permite crea rea de
clasificatori performan ți prin combinarea unei colec ții de func ții de clasificare slabe [Freund,
1997]. Cel mai puternic clasificator folose ște cea mai puternic ă caracteristic ă Haar adic ă acea
caracteristic ă care separ ă optim exemplele pozitive de cele negative.
D. Clasificatorul
Cu ajutorul setului de caracteristici și al setului de instruire de e șantioane pozitive și
negative se poate instrui clasificatorul. Ca set de instruire trebuie utilizate sute de exemplare,
atât pozitive cât și negative, aduse la aceea și dimensiune.
S istem robotizat de informare și manipulare pentru bibliotecile academice 29
Ca exemple pozitive, se vor utiliza imagini ale och ilor iar ca exemple negative se
utilizeaz ă o versiune AdaBoot [Freund,1997], care reprezint ă un algoritm de instruire adaptiv
destinat realiz ării unui clasificator puternic pornind de la un set de clasificatori neperforman ți.
Pentru a accelera detec ția obiectelor, clasificatorul final, cel mai perfor mant, este
format dintr-o unic ă caracteristic ă de maxim ă eficien ță .
E. Cascada de clasificatori
Se nume ște clasificator în cascad ă [Viola, 2004] un lan ț de clasificatori slabi destinat
clasific ării eficiente a regiunilor imaginii. Scopul s ău este de a cre ște performan țele de
detec ție a obiectelor și de a reduce timpul de calcul. În Fig. 5.34 fiecar e nod al lan țului este un
clasificator slab și un filtru pentru o singur ă caracteristic ă Haar. AdaBoost aloc ă diferite
ponderi nodurilor, iar nodul cu ponderea maxim ă este primul [Bing, 2004].
Fig. 5.34 Cascad ă de clasificatori în 3 etape
Prima etap ă în realizarea cascadelor are la baz ă un clasificator simplu, care elimin ă
foarte rapid un num ăr mare de subimagini negative (de tip non-fa ță ). În etapele urm ătoare, se
aplic ă clasificatori mai complec și imaginilor pozitive în scopul reducerii propor ției de imagini
pozitive false [Vrejoiu, 2013].
Prima etap ă elimin ă un mare num ăr de subimagini false cu un efort redus de calcul. Etapele
urm ătoare elimin ă alte subimagini false, ceea ce necesit ă calcule suplimentare [Cerny, 2013].
Când filtrul blocheaz ă anumite zone din imagine acea subimagine nu mai es te supus ă
unei proces ări ulterioare fiind considerat ă un non-obiect. Aceasta înseamn ă c ă regiunile de
imagine procesate nu con țin obiectul ce trebuie detectat. Acest lucru este f oarte important
pentru performan ța clasificatorului deoarece toate sau aproape toate subimaginile cu imagini
negative vor fi eliminate în prima etap ă. Pe de alt ă parte, atunci când regiunile de imagine
traverseaz ă filtrul, ele vor trece în etapa urm ătoare care va con ține un filtru mai complex.
Numai regiunile care traverseaz ă toate filtrele se consider ă a fi corespondente cu obiectul.
Aceasta înseamn ă c ă regiunile imaginii con țin obiectul supus detec ției [Guennouni, 2014].
Clasificatorul multietap ă are rolul de a respinge eficient și rapid subimaginile non-
obiect. Urm ătoarele noduri ale lan țului din Fig. 5.33 reprezint ă clasificatori complec și în cazul
detec ției faciale.Clasificatorul serve ște la eliminarea a cât mai multe pozitive false (re giuni care
nu sunt fe țe) din subimagine [Pham, 2007]. Num ărul de pozitive false este astfel radical redus
dup ă mai mul ți pa și de procesare.
Pentru a detecta fa ța, este necesar ă, mai întâi, înc ărcarea clasificatorului:
char* file =
"C:/OpenCV2.1/data/haarcascades/haarcascade_eye.xml ";
CvHaarClassifierCascade* cascade = (CvHaarClassifie rCascade*)
cvLoad(file,0,0,0);
Apoi crearea unui spa țiu gol de memorie:
CvMemStorage* storage = cvCreateMemStorage(0);
Capitolul 5 30
Se pot detecta fe țe cu urm ătoarea secven ță de cod:
CvSeq* faces = cvHaarDetectObjects(
img, // imaginea de procesat
cascade, // clasificatorul
storage, // memoria de stocare
1.1, // factorul de m ărime
3, // minimul de dreptunghiuri vecine
CV_HAAR_DO_CANNY_PRUNING, // metoda de procesare
cvSize(20, 20) // dimensiunea ferestrei
);
Func ția de mai sus g ăse ște zone rectangulare în imaginea care ar con ține fe țe.
Returneaz ă aceste regiuni ca o succesiune de dreptunghiuri.
Func ția complet ă de detectare a fe țelor în imagine, pentru /* desenarea unor
dreptunghiuri ro șii în jurul fe țelor întîlnite și returnarea
num ărului acestora (Fig. 5.35), este urm ătoarea:
int detect_faces(IplImage* img)
{
IplImage* gray;
if (!cascade) {
char* file =
"C:/OpenCV2.1/data/haarcascades/haarcascade_frontal face_alt.xml";
cascade = (CvHaarClassifierCascade*) cvLoad(fil e, 0, 0, 0);
storage = cvCreateMemStorage(0);
}
Fig. 5.35 Detectarea fe țelor prin marcarea cu un dreptunghi
/* Conversia imaginii color din RGB în imagine gri */ (Fig. 5.36 )
if (img->nChannels == 1) {
gray = cvClone(img);
} else {
gray = cvCreateImage(cvGetSize(img), img->depth , 1);
cvCvtColor(img, gray, CV_RGB2GRAY);
}
S istem robotizat de informare și manipulare pentru bibliotecile academice 31
Fig. 5.36 Conversia imaginii color din RGB în imagine gri
/* Detectarea fe ței utilizând clasificatorul Haar */
CvSeq* faces = cvHaarDetectObjects(
gray,
cascade,
storage,
1.1,
3,
CV_HAAR_DO_CANNY_PRUNING,
cvSize(20, 20)
);
int i;
/* Desenarea regiunilor fe ței, cerc albastru în jurul fe ței */
for( vector<Rect>::const_iterator r = faces.begin (); r !=
faces.end(); r++, i++ )
{
Point center;
Scalar color = CV_RGB(0,0,255);
int radius;
center.x = cvRound((r->x + r->width*0.5));
center.y= cvRound((r->y + r->height*0.5));
radius = cvRound((r->width + r->height)*0.25);
circle( img, center, radius, color, 3, 8, 0 );
}
}
/* Afi șarea rezultatelor */
imshow ( "result", img );
}
5.4.5 UTILIZAREA DISPOZITIVELOR
ARIA împarte aceste dispozitive în dou ă categorii: dispozitive de distan ță (sonar,
laser, bar ă de protec ție) și dispozitive care nu ac ționeaz ă la distan ță (celelalte, ex.: camera
PTZ ( Pan Tilt Zoom ), prehensor, bra țul 5DOF ( Degree Of Freedom )).
Dispozitivele de distan ță sunt ad ăugate robotului utiliz ănd comanda
addRangeDevice() . Robotul achizi ționat pentru acest proiect nu are în dotare nici un
dispozitiv de distan ță cu excep ția sonarelor ce sunt implementate în construc ția lui. Totu și
celelalte dispozitive pot fi ata șate (fizic) ulterior relativ u șor studiind documenta ția, dar pentru
Capitolul 5 32
a experimenta software-ul, s-au testat și comenzile celorlalte dispozitive. A șadar comenzile
pentru a ini ția dispozitivele de distan ță sunt:
ArRobot robot; //instantiere robot
ArSick laser; //instantiere laser
ArSonarDevice sonar; //instantiere sonar
ArBumpers bumpers; //instantiere bumpere
robot.addRangeDevice(&sonar); //atasare sonar la robot
robot.addRangeDevice(&laser); //atasare laser la robot
robot.addRangeDevice(&bumper); //atasare bumper-e la robot
În privin ța dispozitivelor f ără ac țiune la distan ță, se pot testa comenzile pentru bra țul
5DOF (Fig. 5.37), deoarece acesta a fost inclus în pachet. Prin urmare avem urm ătorul cod
pentru ini țializarea și controlul bra țului:
ArP2Arm arm; //instan țiere bra ț
arm.setRobot(&robot); //adaugare bra ț la robot
arm.init(); //ini țializare bra ț
arm.powerOn(); //activare bra ț
arm.moveTo(1, 45, 0); //ac ționare prima cupl ă la 45
grade, folosind viteza implicit ă
arm.moveTO(6, 30, 0); //ac ționare prehensor
arm.park(); //trimitere bra ț în pozi ția
"home" și oprire
arm.moveTO(6, 30, 0); //ac ționare prehensor
arm.park(); //trimitere bra ț în pozi ția
"home" și oprire
Comenzile de deplasare a robotului se pot realiza c u setVel() , setVel2() și setRotVel() .
Metoda setVel() seteaz ă viteza liniar ă a robotului în mm/s, setVel2() seteaz ă viteza ro ților
independent și setRotVel() seteaz ă viteza unghiular ă a robotului în grade/sec.
Pentru a seta orientarea robotului se folosesc come nzile setHeading() și
setDeltaHeading() , ce schimb ă orientarea absolut ă respectiv relativ ă, în grade. Exist ă o
comand ă pentru deplasarea robotului pe o distan ță specificat ă prin comanda move() și pentru
oprire comanda stop() .
Tab. 5.3 Lista cuplelor bra țului
Nr. cupl ă Descriere
1 Baza
2 Um ăr
3 Cot
4 Încheietur ă prehensor
5 Montura prehensorului
6 Degete prehensor
1 2 3 4 6
Fig. 5.37 Bra țul 5DOF
S istem robotizat de informare și manipulare pentru bibliotecile academice 33
Mai jos avem un exemplu de cod pentru deplasarea ro botului:
robot.setVel(200); //setare vitez ă liniar ă la 200mm/s
robot.setRotVel(20); //setare vitez ă unghiular ă la 20gr/s
robot.setVel2(200,250); //setare vitez ă roat ă din stânga la
200mm/s
// și vitez ă roat ă din dreapta la
250mm/s
robot.setHeading(30); //30 grade fa ță de pozi ția de start
robot.setDeltaHeading(60); //60 grade fa ță de pozi ția curent ă
robot.move(200); //deplasare înainte 200 mm
robot.move(-150); //deplasare înapoi 150 mm
Codul surs ă pentru implementarea algoritmului de deplasare est e prezentat în Anexa 5.
Pentru a ob ține citirea de la un sonar dintr-o zon ă polar ă specificat ă, se va apela
comanda curentReadingPolar() . Zona polar ă (unghiul) se specific ă prin atributele startAngle ,
repsectiv endAngle (în grade). Se specific ă în ordine invers ă acelor de ceasornic (de la negativ
la pozitiv). Fig. 5.38 descrie pozi țiile unghiulare ale sonarelor. Distan ța m ăsurat ă va fi cea
dintre obstacol și centrul robotului. Pentru a afla distan ța absolut ă se va sc ădea raza robotului.
Raza robotului se poate afla prin apelarea comenzii getRobotRadius() . Mai jos este prezentat
un exemplu de cititre de la sonare folosind comanda currentReadingPolar() :
ArRobot robot; //instan țiere robot
ArSonarDevice sonar; //instan țiere sonare
robot.addRangeDevice(&sonar) //ad ăugare sonar la robot
.
. //conectare la robot (Anexa 4)
double reading, readingAngle; //pre ținere citire și unghi
reading = sonar.currentReadingPolar(-45,45,&reading Angle);
//realizare citire
partea frontală a
robotului
90 ⁰ 50 ⁰ 30 ⁰ 10 ⁰ -10 ⁰
-30 ⁰
-50 ⁰
-90 ⁰
-90 ⁰ 90 ⁰
130 ⁰
150 ⁰
170 ⁰ -170 ⁰ -150 ⁰ -130 ⁰ 2
1
0 3 4
5
6
7
8
9
10
11 12 13 14 15
Fig. 5.38 Pozitia unghiular ă a senzorilor și indexul acestora
Capitolul 5 34
De altfel se poate citi și afi șa datele brute de la sonare și unghiul acestora. Un exemplu
de cod în acest scop este prezentat mai jos [10]:
/* Afi șarea datelor citite de la sonare */
void getSonar(ArRobot *thisRobot)
{
int numSonar; //num ărul de sonare de pe
robot
int i; //contor pentru bucl ă
numSonar = thisRobot->getNumSonar(); //afl ă num ărul sonarelor
ArSensorReading* sonarReading; //re ține fiecare citire
for(i=0; i < numSonar; i++) //cite ște fiecare sonar
{
sonarReading = thisRobot->getSonarReading(i);
//preia fiecare citire
cout << “Citirea sonarului “ << i << “ = “ <<
sonarReading->getRange(); << “ Unghiul “ << i << “ = “ <<
sonarReading->getSensorTh() << “\n”;
//afi șeaz ă datele
}
}
Pentru mai multe exemple de cod se poate consulta d ocumenta ția ce apare odat ă cu
instalarea bibliotecii Aria (C:\Program Files\Mobil eRobots\Aria\Docs\index.html).
5.5 IMPLEMENTARE LA UNIVERSITATEA
TRANSILVANIA DIN BRA ȘOV
5.5.1 CERCET ĂRI TEORETICE ȘI EXPERIMENTALE PRIVIND
DEPLASAREA RMSB ÎN MEDIUL DE LUCRU
5.5.1.1 MODELAREA GEOMETRIC Ă A MEDIULUI DE LUCRU
Modelarea mediului în care evolueaz ă RMSB presupune determinarea formelor,
pozi țiilor și dimensiunilor obiectelor și obstacolelor (pere ți, u și, mobilier etc.), care stau la baza
elabor ării unei h ărți necesare pentru planificarea traseelor de navigar e. Problema navig ării
robo ților mobili în mediile în care opereaz ă presupune parcurgerea urm ătoarelor etape:
• localizarea (relativ ă sau absolut ă) bazat ă pe senzori (percep ție)
• generarea unei h ărți locale (cartografierea, maparea)
• planificarea triectoriei de navigare (programarea r obotului) și
• urm ărirea acestuia (controlul mi șcării).
5.5.1.1.1 LOCALIZAREA ROBOTULUI
Pe m ăsur ă ce robo ții mobili devin sisteme autonome, localizarea acestora se transform ă
într-o problem ă fundamental ă. Sarcinile atribuite robo ților pot fi efectuate în condi ții de maxim ă
siguran ță dac ă robotul se deplaseaz ă în baza estim ării cu suficient ă precizie a loca ției [Park, 2008].
Termenul localizare desemnează procesul de estimare a pozi ției și orient ării unui
robot autonom, în raport cu o reprezentare (hart ă) a mediului.
S istem robotizat de informare și manipulare pentru bibliotecile academice 35
Conform acestei defini ții, rezult ă c ă task-urile asociate cu localizarea robo ților
autonomi se pot clasifica în:
• task-uri asociate cu construc ția h ărții mediului (în englez ă: map acquisition, sau
map building) pornind de la informa țiile furnizate de senzori;
• task-uri asociate cu estimarea pozi ției robotului (în englez ă: pose estimation)
[Șușnea, 2009].
Localizarea robo ților mobili în mediul de lucru se afl ă în centrul activit ăților de
cercetare în domeniul roboticii. Solu ționarea problemei localiz ării necesit ă abordarea a dou ă
aspecte principale [Siegwart, 2004]:
• robotul trebuie s ă de țin ă o reprezentare a mediului ;
• robotul trebuie s ă cunoască o reprezentare a p ărerii (opiniei) sale cu privire la
postura adoptat ă în acest mediu.
Succesul unui robot de servicii impune existen ța unor performan țe autonome complete
(planificare, navigare, localizare). Autonomia se r efer ă aici la capacitatea de a parcurge
mediul de bibliotec ă, de a atinge anumite ținte, s ă evite obstacolele în mediul înconjur ător
dinamic și s ă interac ționeze cu utilizatorii în absen ța interven ției umane. Se presupune faptul
că propriet ățile de autonomie exist ă f ără a fi necesar ă modificarea mediului înconjur ător.
Autonomia poate fi p ăstrat ă dac ă se men ține tema de autolocalizare.
Determinarea loca ției robotului mobil este important ă pentru navigarea acestuia,
planificarea triectoriei și controlul mi șcării.
Exist ă dou ă metode de localizare. Prima se refer ă la localizarea relativ ă care cuprinde
estimarea drumului parcurs și naviga ția iner țial ă (pe baza m ăsur ătorilor relative realizate prin
intermediul giroscopului/accelerometrului).
Localizarea relativ ă determin ă varia ția coordonatelor de pozi ție la o deplasare
elementar ă, prin calcul sau prin integrarea ecua ției de mi șcare.
Cea de- a doua are în vedere localizarea absolut ă, bazat ă pe informa țiile ob ținute de la
mediu, RFID, fascicule active, repere de navigare și h ărți de localizare. Aceasta permite
determinarea parametrilor de pozi ție și orientare pe baza unor balize (luminoase,
electromagnetice sau acustice) active sau pasive [B ison, 1997; Thrun, 2001].
Abord ările de tipul drumului estimat (în englez ă: Dead-Reckoning sau DR) [Kelly,
2001; Crowley, 1989] ofer ă posibilitatea estim ării distan ței totale pornind de la un punct static.
Cu toate acestea, metoda DR introduce erori ce se acumuleaz ă în timp deoarece nu
exist ă semnale de referin ță externe necesare pentru corec ție. Pentru a îmbun ătăți precizia de
localizare, multe abord ări combin ă senzorii externi ca de exemplu camere video, fasci cule,
detectoare laser, sonare ( SO und Navigation And Ranging ), GPS ( Global Positioning System
– Sistemul de Pozi ționare Global ă), etc. Makela și al ții [Makela, 1991] au studiat metodele
drumului estimat și recunoa șterii reperelor vizuale utilizate pentru orientarea (deplasarea)
robo ților mobili în mediul exterior. Stella și al ții [Stella, 1994] au propus o strategie de
cooperare între odometrie (m ăsurarea relativ ă a pozi ției prin analiza num ărului de rota ții și
orientarea ro ților, măsurarea distan ței parcurse) și metoda localiz ării autonome . Haknel și al ții
[Hahnel, 2001] a construit modele 3D cu un scanner laser montat vertical pe un robot mobil
echipat cu un sistem de localizare orizontal 2D. Mo ravec și al ții [Moravec, 1996] utilizeaz ă
re țele de identificare în spa țiul 3D bazate pe viziune stereo.
Exist ă de asemenea, metode pentru corec ția erorilor acumulate ale senzorilor externi, prin
utilizarea reperelor [Drocourt, 1999; Motomura, 2005; Betke, 1997]. Ace ste metode estimeaz ă
loca ția și postura robotului în urma observ ării reperelor fixate în mediul de func ționare.
Cu toate acestea, reperele nu pot fi întotdeauna observabile din cauza lumini i
ambientale și a obstacolelor.
În plus, sistemele ultrasonice, ca de exemplu siste mele de localizare tip Acive Bat
[Harter, 1999], utilizeaz ă tehnica de m ăsurare a timpului de parcurs al ultrasunetului pent ru a
furniza informa ții asupra localiz ării. În scopul determin ării unor informa ții asupra posturii
Capitolul 5 36
unui robot mobil, multe abord ări utilizeaz ă senzori externi, de exemplu camere video care
furnizeaz ă informa ții 2D sau 3D asupra mediului înconjur ător [Lu, 1997; Hakim, 1997].
În cazul sistemelor RFID de și acestea ofer ă informa ții asupra loca ției unui robot, este dificil
să se calculeze cu precizie loca ția robotului din cauza tipului de anten ă, care este astfel conceput ă
încât s ă detecteze prezen ța sau absen ța etichetei IC ( Integrated Circuits) . Din acest motiv, un robot
mobil necesit ă în mod normal alte tipuri de senzori pentru estima rea precis ă a loca ției și posturii.
Senzorii reprezint ă elementele fundamentale necesare abord ării celor dou ă aspecte
principale ale localiz ării men ționate mai sus. O serie întreag ă de senzori disponibili pentru
robo ți mobili este prezentat ă de Siegwart [Siegwart, 2004] care indic ă principiile de
func ționare precum și limitele performan țelor. Pe baza acestei prezent ări, senzorii ultrasonici
[Leonard, 1991], goniometrele [Bonnifait, 1998], de tectorii ariei de acoperire cu laser
[Arsenio, 1998] și camerele CCD ( Charge Coupled Device) [Yamamoto, 2005] sunt senzori
utiliza ți în mod curent în localizarea robo ților mobili, pentru a colecta date despre estimarea
cu mare precizie a posturii (pozi ției) robotului.
Numero și cercet ători au combinat diverse tipuri de senzori pentru a ob ține rezultate
mai bune de localizare. Pentru o navigare fiabil ă în medii restrânse, un robot trebuie s ă
cunoasc ă în orice moment pozi ția în care se afl ă și orientarea.
Tehnica cea mai uzual ă, pentru medii interioare, o reprezint ă metoda localiz ării pe
baz ă de hart ă, ea fiind utilizat ă și în acest proiect, din cauza naturii structurate a mediului.
Starea robotului la momentul t este exprimat ă sub forma unui vector cu trei
dimensiuni, [ ]Ty x x θ, , =, unde (x, y) sunt coordonatele carteziene ale pozi ției robotului iar θ
este orientarea robotului.
Platforma mobil ă Pioneer 3-AT utilizeaz ă inelul de senzori ultrasonici, pentru a se
autolocaliza cu precizie pe o hart ă construit ă anterior, îmbinând citirile de la sonare și calculul
odometric cu ajutorul algoritmului de localizare MC L ( Monte Carlo Localization ). Aceast ă
opera ție se realizeaz ă prin intermediul clasei de referin ță ArSonarLocalizationTask din
libr ăria ARNL.
Fig. 5.39 Localizarea robotului RMSB cu ajutorul clasei de referin ță ArSonarLocalizationTask
Stare intermediar ă
S istem robotizat de informare și manipulare pentru bibliotecile academice 37
În Fig. 5.39 se prezint ă o secven ță de localizare a robotului pe hart ă. Indicatorul
„Sonar Localization Score ” reprezint ă aprecierea suprapunerii reperelor de pe hart ă cu cele
măsurate. Pentru cazul prezentat în Fig. 5.39 scorul de localizare calculat are valoarea de
0,599.
Modulul MobileEyes, dedicat planific ării de traiectorii între pozi ții curente ale
robotului și ținte impuse, cunoscând o hart ă creat ă preliminar cu modulul Mobile Basic3,
genereaz ă comenzi privind viteza și orientarea robotului în timpul deplas ării de urm ărire a
traiectoriei prestabilite (reprezentat ă cu albastru).
5.5.1.1.2 CARTOGRAFIEREA (REPREZENTAREA H ĂRȚII)
Se nume ște cartografiere opera ția de generare a unor modele geometrice 2D sau 3D
ale mediului robotului mobil pe baza unei serii de m ăsur ări efectuate de senzorii monta ți pe
robot. Scopul cartografierii este acela de a defini pozi ția țintelor sau obstacolelor într-un cadru
general de referin ță . Pentru a putea genera h ărți relevante ale unor medii la scar ă mare,
robotul trebuie s ă poat ă solu ționa o problem ă de localizare asociat ă, care rezult ă din faptul c ă
odometrul robotului este afectat de erori.
Cartografierea este o problem ă simpl ă dac ă se cunoa ște loca ția robotului, dar
pozi ționarea pe baza h ărții, adic ă o combina ție între cartografiere și localizare este dificil de
ob ținut. Pozi ționarea pe baza h ărții necesit ă existen ța unui num ăr suficient de mare de
caracteristici statice și distincte în mediul în care robotul ac ționeaz ă; senzori de precizie și o
capacitate de procesare semnificativ ă a semnalelor acestora [Thrun, 2000; Iturbe Córdova , 2001].
Harta schematic ă ini țial ă ofer ă robotului informa țiile topografice necesare asupra
mediului. Robotul extrage caracteristici importante de pe hart ă pentru identificarea în mediu și
poate introduce noi date pe hart ă pe care le-a ob ținut în timpul propriilor explor ări perceptive în
mediu. El genereaz ă un plan brut al rutei folosindu-se de informa țiile globale de pe hart ă și de
informa țiile locale ob ținute din propriile percep ții. Detaliile unei proceduri de planificare
utilizate de autoare sunt descrise în sec țiunea urm ătoare. Planul rezultat este unul calitativ
comparabil cu ceea ce fac oamenii când ofer ă altora indica ții de parcurgere a unui traseu: sunt
indicate c ăile ce trebuie urmate f ără îns ă a folosi termeni cantitativi preci și care s ă stabileasc ă
ținta.
Pe durata execut ării planului, robotul va schimba mediul local prin deplasare. Aceasta
îi permite s ă pun ă în aplicare planul brut prin considerarea obstacol elor temporare sau altor
obiecte care pot s ă nu existe pe hart ă. De asemenea explorarea local ă, poate dezv ălui
discrepan țe serioase între hart ă și mediu care împiedic ă aplicarea planului. În acest caz harta
poate fi actualizat ă cu noile informa ții și astfel poate fi generat un plan revizuit.
Robotul poate fi împiedicat s ă genereze un plan de lucru din cauza unei h ărți
incomplete sau incorecte sau a unor restric ții care îl fac s ă cread ă c ă nu va fi capabil s ă ajung ă
la destina ție. În loc s ă-și întrerup ă ac țiunile, robotul trebuie s ă ia leg ătura cu operatorul s ău.
Folosind harta schematic ă, robotul trebuie s ă fie în stare s ă comunice operatorului uman cu ce
probleme se confrunt ă în elaborarea sau executarea planului. Operatorul poate examina harta
schematic ă pentru a evalua problema și î și poate revizui instruc țiunile. Fig. 5.40 prezint ă pe
scurt diferitele c ăi de interac țiune discutate [Freksa, 2000].
Capitolul 5 38
Fig. 5.40 Căile de interac țiune între operatorul uman, harta schematic ă, robotul autonom și
mediul spa țial
Având în vedere c ă cercet ările prezentate în aceast ă lucrare se limiteaz ă la studii
privind implementarea unui asistent robotic de serv icii pentru bibliotec ă (RMSB) vom
presupune c ă harta mediului în care acesta evolueaz ă este a-priori cunoscut ă și, în consecin ță
nu vom insista asupra problemele de construc ție a h ărții.
Harta mediului a fost creat ă și editat ă cu ajutorul software-ul ARIA ( Advanced
Robotics Interface for Applications ) pus la dispozi ție de produc ărorul platformei mobile
Pioneer 3-AT , soft ce cuprinde și aplica ția Mapper3 Basic , descris ă la paragraful 5.4.2.1.
Aceast ă hart ă este utilizat ă pentru simularea robotului cu aplica ția MobileSim , prezentat ă la
paragraful 5.4.2.2 sau poate fi înc ărcat ă în aplica ția de control a robotului pentru localizarea în
mediul real. Calibrarea și localizarea se realizeaz ă prin intermediul func țiilor specifice din
biblioteca ARIA.
Aplica ția de simulare MobileSim permite controlul robotului într-un mediu simulat,
folosind acelea și func ții de control din biblioteca ARIA ca și în cazul real.
5.5.1.1.3 PROGRAMAREA ROBOTULUI RMSB
Planificarea triectoriei , cunoscut ă în literatura de specialitate sub numele de path
planning , reprezint ă o etap ă important ă în navigarea robotului și determin ă modalitatea în
care robotul se poate deplasa eficient, între dou ă loca ții date. Aceasta reprezint ă procesul de
rezolvare a problematicii deplas ării robo ților mobili dintr-un punct de start într-un punct țint ă
respectând anumite restric ții [Amigoni, 2006]. Planificarea triectoriei robotului mobil este o
problem ă relativ dificil ă, datorit ă faptului c ă acesta opereaz ă într-un mediu par țial structurat
și aprioric incomplet definit în cazul general.
Mediul înconjur ător robotului are o importan ță crucial ă pentru func ționarea și
orientarea acestuia, și de aceea toate abord ările acestei probleme pornesc de la mediu.
În func ție de mediul înconjur ător robotului, planificarea triectoriei poate fi cl asificat ă
dup ă cum urmeaz ă:
1. planificarea triectoriei în prezen ța obstacolelor statice în mediu complet cunoscut;
2. planificarea triectoriei în prezen ța obstacolelor statice în mediu necunoscut sau
par țial cunoscut;
3. planificarea triectoriei în prezen ța obstacolelor dinamice în mediu complet
cunoscut;
4. planificarea triectoriei în prezen ța obstacolelor dinamice în mediu necunoscut sau
par țial cunoscut.
S istem robotizat de informare și manipulare pentru bibliotecile academice 39
Pentru primele dou ă cazuri, care sunt, de planificare a traiectoriei în prezen ța
obstacolelor statice, exist ă diverse abord ări, cum ar fi metoda spa țiului de configurare (în
englez ă: C-space ) și metoda câmpului de poten țial artificial [Hui-Zhong, 2006].
Algoritmul câmpului de poten țial este descris de c ătre cercet ătorii Khatib și Koren
care consider ă comportamentul robotului similar cu cel al unei pa rticule aflate sub ac țiunea
unor for țe virtuale de atrac ție c ătre țint ă și de repulsie din partea obstacolelor [Khatib, 1986 ;
Koren, 1988]. Direc ția de deplasare a robotului este determinat ă de rezultanta acestor for țe
(Fig. 5.41).
Fig. 5.41 Ilustrarea algoritmului câmpului de poten țial
Matematic:
( )
>≤
−=− −=
00 2
0int
011 1
ρρρρρρρ
dac ădac ă kFxxk F
rep
rep ă ț at at
(5.5)
(5.6)
În ecua țiile (5.5) și (5.6), for ța de atrac ție este notat ă cu Fat iar for ța de respingere cu
Frep . ρ este distan ța dintre robot și obstacole și ρ0 este distan ța de siguran ță .
Se consider ă Frep ca fiind zero, în cazul în care ρ este mai mare decât ρ0. În cele din
urm ă, prin însumarea celor dou ă for țe, se ob ține rezultanta notat ă cu Ftotal :
rep at total F F F + = (
(5.7)
De și deosebit de elegant, algoritmul câmpului de poten țial nu ține seama de
constrîngerile neolonome ale robotului mobil și este dificil de folosit pentru aplica ții în timp
real.
A fost, de asemenea, criticat pentru performan țe sc ăzute la navigarea pe coridoare
înguste și pentru existen ța unor situa ții în care algoritmul nu g ăse ște solu ția de ocolire a
obstacolului, de și aceasta, în mod evident, exist ă [Zhou, 2011].
Avantajul acestei abord ări este acela c ă robotul se poate adapta la mediul în cazul în
care unele obstacole care nu exist ă pe hart ă apar în timpul deplas ării robotului.
Cea mai mare parte a robo ților mobili opereaz ă îns ă în mediu dinamic incert care
include obstacole statice cu pozi ție necunoscut ă și obstacole dinamice cu traiectorie incert ă.
Dac ă prezen ța obstacolelor fixe constituie uneori o informa ție preliminar ă cert ă,
existen ța obstacolelor mobile, cu legi de mi șcare și traiectorii necunoscute, constituie un
factor perturbator, important pe care robotul mobil va trebui s ă-l compenseze pe parcursul
Robot For ța de repulsie
For ța de atrac ție
Rezultanta Obstacol
Ținta
Capitolul 5 40
evolu ției ini țial planificate [ Hui-Zhong , 2006]. Performan ța în dep ăș irea acestui aspect depinde
de capacitatea sa senzorial ă exteroceptiv ă și de gradul s ău de inteligen ță .
În cazul unei scene de operare complet cunoscut ă, ce con ține spre exemplu numai
obstacole fixe: pere ți, u și, mobilier greu etc., planificarea traiectoriilor poate fi realizat ă prin
diferite metode cunoscute sub denumirea de metode globale [Bicchi, 1995; Latombe , 1993]
(prin raportare direct ă, prin coordonate absolute la harta mediului înconj ur ător).
Dac ă îns ă scena de operare con ține și obstacole mobile, cu legi de evolu ție par țial
cunoscute, planificarea trebuie s ă ia în considera ție un alt grup de metode, cunoscute sub
denumirea de metode locale (prin determinarea pozi ției relativ fa ță de obiecte imediat
apropiate de robot, sta ționare sau în mi șcare). Performan țele metodelor locale sunt puternic
dependente de sistemul senzorial al robotului. În c azul general îns ă acestea nu garanteaz ă
realizarea traiectoriei impuse între pozi ția ini țial ă și cea final ă. Îmbinarea diferitelor metode
globale cu metodele locale (Fig. 5.42) este de asemenea o solu ție des utilizat ă [Latombe,
1993; Ni țulescu, 1999; Maaref, 2002].
Fig. 5.42 Schema de ansamblu a îmbin ării metodei globale și locale [Maaref, 2002]
Metoda globală
Planificarea
traiectoriei într-o
scenă memorată
Calea de urmat Metoda local ă
Decizia Date
senzorial
Navigare reactiv ă
Evitarea obstacolelor
Compara ție între
scena memorat ă și
cea real ă Fuziune Index de
fuziune Forma obstacolelor
5.1.1.1.1 Concav Convex
S1
Fuziune liniar ă de
căutarea a obstacolului +
Alegerea mijlocului
spa țiului liber S2
Coordonarea dintre S1+ Avansarea
de-a lungul peretelui datorită creării
obstacolelor secundare de tranziție
S istem robotizat de informare și manipulare pentru bibliotecile academice 41
5.5.1.1.3.1 DEPLASAREA AUTONOM Ă A ROBOTULUI ÎN TERITORIU
LIMITAT
Sistemul de naviga ție ocup ă un loc important în cercet ările referitoare la deplasarea
robotul mobil. Naviga ția robotului include o multitudine de teorii și tehnologii ca de exemplu
tehnica odometriei, maparea ultrasonic ă și sistemul de viziune [Rudzuan, 2012; Sugisaka,
2007; Ge, 2006]. În plus, tehnica de naviga ție a robotului mobil poate fi divizat ă în trei p ărți:
autolocalizarea, planificarea triectoriei și interpretarea h ărții.
O metod ă des folosit ă, de regul ă în combina ție cu metodele prezentate mai sus, este
calcularea pozi ției robotului relativ la mediu prin m ăsur ări directe asupra vitezei și traiectoriei
parcurse de c ătre robot. Aceast ă metod ă, numit ă și odometrie , ofer ă o corec ție mai bun ă a erorilor
de deplasare și totodat ă este relativ simplu de implementat, f ără costuri importante, solu ția
reg ăsindu-se la robo ții ieftini sau cu aplica ții simple. Probabil cea mai simpl ă solu ție pentru a
implementa aceast ă metod ă este cu ajutorul unui dispozitiv numit odometru, c uplat direct la axul
ro ții robotului și care furnizeaz ă informa ții despre vitez ă sau schimb ări de direc ție.
Deoarece majoritatea robo ților mobili utilizeaz ă ro ți sau șenile, aceast ă solu ție a
devenit practic omniprezent ă la aproape to ți robo ții mobili. Dintre solu țiile de implementare
se pot aminti: odometre cu perii, magnetice, induct ive, capacitive, optice. Odometrele optice
sunt larg r ăspândite datorit ă simplit ății și a bunei toleran țe la interferen țe și zgomot, dar și
datorit ă accesibilit ății lor. Din p ăcate apar alte surse de erori, datorate:
• alinierii defectuoase a ro ților,
• alunec ării ro ților,
• modific ării diametrului ro ții (prin uzura cauciucului sau umfl ărea/dezumflarea
acestuia),
• denivel ării solului sau interac țiunii nedorite cu diferite obiecte.
Aceste erori apar ca urmare a principiului de baz ă al odometrului – integrarea
infoma ției incrementale de mi șcare în timp, ce duce la erori cumulative în timp, dar ofer ă
precizie acceptabil ă pe dista țe scurte. De și acest dezavantaj este important, el poate fi
diminuat prin numeroase metode, iar odometrul este unanim considerat ca o parte important ă
a sistemului de naviga ție al oric ărui robot.
Odometrul este foarte utilizat din mai multe consid erente:
• informa ția odometrului poate fi corectat ă în anumite puncte cu pozi ții absolute
cunoscute, precum repere artificiale sau puncte de plecare, alimentare, etc;
• odometria se poate folosi între puncte de pozi ție cunoscute, iar informa ția corectat ă
prin raportare la diferite repere. Datorit ă informa ției odometrului, num ărul de
repere poate fi redus;
• în unele situa ții, odometria este singura metod ă de referin ță disponibil ă pentru
naviga ție, în cazuri în care, de exemplu, lipsesc punctele de reper (în englez ă:
landmarks) sau alte puncte de referin ță din mediu și robotul nu se poate raporta la
nimic altceva [Ni țulescu, 1999].
5.5.1.1.3.1.1 CERCET ĂRI EXPERIMENTALE DE NAVIGARE ÎN MEDIUL REAL
Scopul primei p ărți a studiului a fost ob ținerea unei deplas ări autonome a robotului
care evolueaz ă în mediu par țial cunoscut, caracterizat ă prin men ținerea traiectoriei dorite în
cazul apari ției obstacolelor statice, respectiv dinamice, precu m și în situa ția în care apar
diferite defecte sau erori care modific ă orientarea robotului.
Spa țiul în care s-a desf ăș urat experimentarea robotului mobil RMSB se afl ă la
Institutul de Cercetare Dezvoltare Inovare: Produse High Tech pentru Dezvoltare Durabil ă,
Capitolul 5 42
sala L2 și este destinat Filialei ProDD a Bibliotecii Univer sit ății Transilvania din Bra șov.
Acesta are o lungime de 15 metri și o l ățime
cuprins ă între 4 și 6,5 m.
În acest spa țiu au fost amplasate
obstacole statice (6 rânduri de mobilier a câte
8 rafturi pentru c ărți, a șezate dou ă câte dou ă,
spate în spate, fiecare rând având o lungime
de 3600 mm și o l ătime de 700 mm (Fig.
5.43), obstacolele dinamice fiind considerate
fiin țele umane. Distan ța dintre cele 6 rânduri
de rafruri este de 1000 mm.
Primul test experimental implic ă
naviga ția robotului mobil de-a lungul unor
trasee generate cu ARNL în mediu cu
obstacole statice prin intermediul interac țiunii om – robot .
Robotul este condus prin intermediul tastaturii unu i laptop de la butoanele „sus, jos,
stânga dreapta” sau cu mouse-ul utilizând aplica ția MobileEyes .
Testarea s-a realizat pe baza unui plan experimenta l conform c ăruia s-au efectuat
urm ătorii pa și:
• realizarea mediului de operare al robotului, pozi ționarea obstacolelor statice și
stabilirea traseelor de navigare,
• preg ătirea robotului (înc ărcarea bateriei, înc ărcarea h ărții mediului) pentru testare,
• simularea traseelor de navigare cu aplica ția MobileSim, respectiv
• efectuarea testelor de navigare a robotului în medi ul real.
În cadrul acestui experiment s-a analizat atât spa țiul de operare al robotului mobil, din
punct de vedere al obstacolelor, cât și problemetica deplas ării sale.
Pentru a realiza localizarea robotului pe hart ă (Fig. 5.44) este necesar s ă se indice
pozi ția de start, punctul de plecare al robotului ( Home Point ). În cazul în care robotul nu este
amplasat corect în mediul real (conform celui virtu al), la pornire acesta nu va fi capabil s ă se
autolocalizeze corect, ceea ce conduce la erori de deplasare.
Fig. 5.44 Harta zonei de testare în MobileEyes
B A Zona de testare
Fig. 5.43 Amplasare obstacole statice
S istem robotizat de informare și manipulare pentru bibliotecile academice 43
În urma analizei spa țiului disponibil
efectu ării experimentului s-a ales o zon ă (un
culoar) de testare cu o lungime de
aproximativ 3600 mm și o l ățime de 1000
mm. Aceasta este suficient de larg pentru a
permite deplasarea în linie dreapt ă și virajul
pe loc (Fig. 5.45).
Roborul mobil trebuie s ă se
deplaseze pe distan ța etalon de 3600 mm
între dou ă puncte (A – punct de start, ini țial
și B – punct țint ă, final), f ără s ă ating ă
rafturile cu c ărți (Fig. 5.46). Acesta parcurge
distan ța etalon se întoarce la 180 o și revine
în pozi ția ini țial ă.
Fig. 5.46 Caracteristicile scenei de lucru a robotului mobil
În acest caz s-a utilizat ca metod ă de
localizare a robotului odometria. Metoda odometric ă
(Fig. 5.47) permite determinarea pozi ției pe baza
informa țiilor date de un senzor incremental la rota ția
ro ților motoare.
Pentru o deplasare elementar ă θ∆ rezult ă din
considerente geometrice coordonatele punctului
caracteristic la momentul k+1 în func ție de
coordonatele corespunz ătoare punctului anterior k.
Robotul mobil utilizat în experimentele
efectuate de autoare este un robot pentru spa ții
interioare, cu patru ro ți și ac ționare diferen țial ă.
Ro țile motoare pot fi controlate independent.
Modelul cinematic al robotului mobil este descris d e urm ătoarele ecua ții:
()()() ()
( ) ( ) ( ) ( )
( ) ( ) ( )
( ) ( )
( ) ( ) Tk kTkvkDk k kk kDk y k yk kDk x k x
t
⋅ = ∆⋅ =∆ + =++ ⋅ + =++ ⋅ + =+
ω θθ θ θθθ
11 sin 11 cos 1
(5.8)
(5.9)
(5.10)
(5.11)
(5.12)
3600 mm
STOP (B) START (A)
Fig. 5.47 Metoda odometric ă θ b Sv
Dv Centrul axului Roata stâng ă
Roata dreapt ă x y
Fig. 5.45 RMSB în zona de testare
Capitolul 5 44
( )() ()
( )( ) ( )
bRk RkkRk Rkkv
S DD S
t
ω ωωω ω
−=+=2 (5.13)
(5.14)
unde:
x(k) și y(k) – sunt coordonatele centrului axului (mm);
D(k) – distan ța parcurs ă între momentul de timp k și k+1 (mm);
vt(k) – viteza de transla ție a roborului (mm/s);
T – timpul de e șantionare (s);
()kθ – unghiul între vehicul și axa x (o);
()kθ∆ – unghiul de rotire între momentele k și k+1 (o);
()kSω și ()kDω – vitezele unghiulare ale ro ților stânga și dreapta (rad/s);
R – raza ro ților motoare (mm) și
b – lungimea axului vehiculului (mm). Se presupune c ă ro țile motoare au aceea și
raz ă.
Timpul de e șantionare T a fost egal cu 0,1 sec [Ivanjko, 2007].
Pentru a eviden ția erorile provenite din odometrie s-au realizat ex perimente de urm ărire
a unui traseu predefinit pentru cazul real dar și la simularea acestuia.
5.5.1.1.3.1.2 ERORI DE ODOMETRIE
Pe parcursul evolu ției robotului mobil în teritoriu limitat (dintr-un punct ini țial A într-
un punct final B, stabilite de utilizator) s-ar put ea produce diverse erori sau defec țiuni care pot
conduce la imposibilitatea îndeplinirii sarcinii im puse. În acest sens, este posibil ă apari ția
unor erori de odometrie. Exist ă dou ă tipuri de erori de odometrie: erori sistematice și erori
nesistematice . Ambele au efect asupra orient ării robotului și implicit asupra traiectoriei
acestuia.
Erorile sistematice cele mai probabile sunt consecin ța urm ătoarelor cauze:
• ro țile robotului au diametre diferite,
• valoarea medie a diametrelor celor patru ro ți difer ă de valoarea nominal ă,
• alinierea gre șit ă a ro ților,
• incertitudini la nivelul bazei efective a ro ților,
• rezolu ție limitat ă superior a codificatorului de impulsuri,
• rat ă de e șantionare limitat ă superior a codificatorului de impulsuri
Erorile nesistematice au de regul ă urm ătoarele surse:
• deplasarea pe un teren accidentat,
• deplasarea peste diverse obiecte nea șteptate pe podea
• alunecarea ro ților datorit ă:
– podelei alunecoase,
– acceler ării prea mari,
– ajust ării rapide (ex. curbe),
– ac țiunii unor for țe externe (interac țiunea cu corpuri externe),
– ac țiunii unor for țe interne,
– contactului nul cu podeaua.
S istem robotizat de informare și manipulare pentru bibliotecile academice 45
Atât erorile sistematice cât și cele nesistematice pot avea un efect grav asupra
func țion ării robotului mobil [C ăleanu, 2004]. Cre șterea erorii sistematice este p ătratic ă cu
distan ța parcurs ă (Fig. 5.48).
Fig. 5.48 Influen ța erorilor sistematice pentru deplasarea robotului mobil în linie dreapt ă
[Ivanjko, 2007]
Cele mai multe studii trateaz ă doar partea de erori de odometrie sistematice, baz ându-
se pe o calibrare aprioric ă [Ge, 2006; Ivanjko, 2007]. Exist ă foarte pu ține studii care s ă
surprind ă și aspectul erorilor nesistematice, un exemplu fiind [Căleanu, 2004] acela în care
nu se ține seama de faptul c ă robotul evolueaz ă în spa ții dinamice.
Pentru a reduce influen ța erorilor sistematice de odometrie și pentru a mic șora rata de
cre ștere a acestora se poate face o recalibrare periodi c ă, realizat ă prin localizare absolut ă.
În urma experimentelor efectuate s-a observat c ă naviga ția robotului mobil doar pe
baza metodei odometriei nu este suficient ă din cauza erorilor de deplasare semnificative,
motiv pentru care s-a recurs la utilizarea senzoril or de tip sonar, cu care este dotat RMSB.
5.5.1.1.4 CONTROLUL MI ȘCĂRII
Solu țiile de software integrat includ abilitatea de evit are a obstacolelor pentru diferite
tipuri de sisteme mobile, de la juc ării-robot la robo ți autonomi sofistica ți. Tehnica evit ării
obstacolelor este o tehnic ă de control în timp real , care utilizeaz ă calit ăți proprii robo ților
mobili. Termenul evitarea obstacolelor semnific ă un set de tehnici software care permit
sistemelor mobile, cum sunt robo ții mobili și robo ții manipulatori, s ă î și ajusteze traiectoria de
mi șcare în acord cu mediul înconjur ător [Shi, 1994]. Suportul software utilizat pentru m ăsurarea
distan țelor pân ă la obstacole și solu țiile de control a actuatorilor, ofer ă sistemelor mobile reflexe
de evitare inteligent ă a obstacolelor, chiar când obstacolele sunt ele în sele în mi șcare.
În domeniul aplica țiilor cu robo ți, frecvent, exist ă obstacole între robot și adresele
țint ă. Robo ții încearc ă s ă evite coliziunea, prin planificarea unei traiector ii în jurul
obstacolelor. Datorit ă complexit ății ridicate a acestui proces, algoritmii de ocolire a
obstacolelor utilizeaz ă controlul în bucl ă închis ă, cu ajutorul c ăruia robo ții replanific ă
continuu pozi țiile lor în jurul obstacolelor. În situa ția în care un obstacol blocheaz ă calea
direct ă c ătre ținta final ă, robotul ocole ște o parte a obstacolului pân ă când g ăse ște pozi ția din
care se poate deplasa direct c ătre ținta final ă.
Robotul porne ște și merge drept c ătre ținta final ă. Când întâlne ște un obstacol
interpus la o anumit ă distan ță , între el și ținta final ă, robotul vizeaz ă o țint ă intermediară,
aproape de obstacol. Robotul se deplaseaz ă în jurul obstacolului pe drumul cel mai scurt, f ără
să ajung ă în contact cu obstacolul. Utilizând sistemul de comand ă și control reactiv (reac ții la
percep ții), robotul reevalueaz ă continuu pozi ția țint ă, î și recalculeaz ă continuu traiectoria și
trece prin apropierea obstacolului. Când întâlne ște urm ătorul obstacol, robotul vizeaz ă ținte
Robot mobil în
pozi ție de start
Robot mobil în pozi ție final ă în
cazul unei traiectorii ideale Traiectorie ideal ă f ără erori
sistematice Traiectorie real ă cu erori
sistematice Robot mobil în pozi ție final ă în
cazul unei traiectorii reale
Pozi ție deviat ă Orientare
deviat ă
Capitolul 5 46
adi ționale intermediare, pân ă când ob ține o traiectorie neobstruc ționat ă c ătre ținta final ă
[Alami, 1998].
În situa ția în care robotul nu întâlne ște nici un obstacol care interfereaz ă cu traiectoria
lui, atunci se va deplasa spre punctul final și se va opri în dreptul acestuia.
Dac ă robotul întâlne ște pe parcursul evolu ției sale:
• un obstacol static – îl va ocoli în modalitatea cea mai convenabil ă în raport cu
pozi ția acestuia
• un obstacol dinamic – se va opri și va a ștepta ca acesta s ă dispar ă din aria sa de
deplasare.
Conducerea autonom ă reactiv ă (Fig. 5.49) presupune realizarea de mi șcări
necoordonate cu modificarea direc ției de deplasare ca urmare a întâlnirii obstacolelo r sesizate
prin intermediul unor senzori de prezen ță . Sistemul de conducere reactiv ă nu ia decizii, ci
reac ționeaz ă dup ă regula simte-r ăspunde, similar comportamentului animalelor sau al
insectelor, prin tehnica de cuplare direct ă a percep ției senzoriale cu ac țiunile corespunz ătoare,
pentru a produce un r ăspuns instantaneu privind dinamica (obstacole mobil e, identificare și
localizare obiecte de interes) mediului de operare [Eskridge, 2010].
Modelele de conducere reactiv ă sunt simple, nu implic ă o reprezentare intern ă a
mediului de operare, și realizeaz ă o procesare paralel ă cu volume de date și calcul reduse.
Fig. 5.49 Schema de conducere reactiv ă
O modalitate de conducere reactiv ă devenit ă popular ă recent este conducerea prin
re țele neuronale, care este bazat ă pe formarea de leg ături între senzori și sistemele de
ac ționare prin înv ățare sau evolu ție [Floreano, 2007; Fernandez-Leon, 2009; Floreano, 2010].
Acest tip de abordare permite formarea unor sisteme de control multi-nivel mai complexe,
modelele fiind inspirate de organisme biologice [We itzenfeld, 2008; Dolle, 2010]. Avantajul
conducerii reactive neuronale este faptul c ă leg ătura între percep ție și ac țiune se realizeaz ă
prin experimentare sau demonstra ție direct ă permi țând astfel programarea mai u șoar ă a
robotului pentru a ob ține comportamentele reactive dorite (evitarea obsta colelor și a
coliziunilor, urm ărirea și planificarea traseelor, comunicare robot-robot et c.) [Trujillo, 2011].
Percep ție senzorial ă Mediul de operare Ac țiune
Recunoa ștere obiecte
Localizare
Evitare obstacole
Sarcina de realizat Generare traiectorie de
deplasare Control mi șcare
S istem robotizat de informare și manipulare pentru bibliotecile academice 47
5.5.2 CERCET ĂRI TEORETICE ȘI EXPERIMENTALE PRIVIND
IDENTIFICAREA ȘI RECUNOA ȘTEREA OBSTACOLELOR
FIXE ȘI MOBILE
5.5.2.1 LUCR ĂRI DIN DOMENIU
Cea mai dificil ă problem ă, care are o influen ță decisiv ă asupra localiz ării unui robot
mobil este recunoa șterea mediului. Mediul poate fi static (bine struct urat) sau dinamic
(nestructurat). Într-un mediu static, singura m ărime variabil ă este pozi ția robotului. Altfel
exprimat, doar robotul se mi șcă într-un mediu static, celelalte obiecte din mediu r ămânând
mereu în acelea și pozi ții.
Mediile statice au câteva caracteristici matematice utile care permit realizarea unor
estim ări probabilistice eficiente. Mediile dinamice cupri nd obiecte, altele decât robotul, a c ăror
loca ție sau configura ție se schimb ă în timp. În anumite cazuri, aceste schimb ări continu ă s ă se
produc ă în timp.
Exemplele cele mai potrivite în acest sens sunt uti lizatorii bibliotecii precum și
obiectele deplasabile cum ar fi piese de mobilier, scaune, etc. Din cauza diferitelor erori și
limit ări la nivelul senzorilor într-un mediu cu schimb ări dinamice, localizarea în medii
dinamice este evident mai dificil ă decât localizarea în medii statice.
Mul ți cercet ători și-au concentrat eforturile asupra localiz ării și naviga ției (orient ării)
robo ților mobili într-un mediu static. Într-un mediu sta tic, localizarea unui robot mobil se
realizeaz ă adesea pe baza metodei reperelor utilizându-se rec unoa șterea unor obiecte ca
pere ții, col țurile înc ăperilor sau u șile [Ilan, 2002]. Aceast ă metod ă necesit ă cunoa șterea
caracteristicilor obstacolelor statice și ale reperelor. Pot fi utilizate și alte metode ca, de ex.,
metoda drumului estimat [Golfarelli, 2001], o schem ă cu senzori activi [Yang, 2006], sau un
sistem GPS [Kim, 2006]. Cu toate acestea, majoritat ea mediilor sunt în realitate de tip
nestructurat, fiind caracterizate prin schimb ări de stare care se produc cu viteze ce variaz ă în
limite largi, sau în lipsa oric ăror repere pentru determinarea loca ției. Astfel, în multe aplica ții
din mediul real, este de dorit ca robo ții mobili s ă poat ă explora și s ă se deplaseze într-un
mediu dinamic. Au fost propuse mai multe abord ări ale problemei localiz ării în prezen ța unui
obiect aflat în mi șcare. Recent, o serie de autori [Lee, 2003; Mucient es, 2001; Qu, 2004] au
analizat informa țiile asupra obiectelor în mi șcare ob ținute cu o camer ă CCD ( Change
Coupled Device ) fixat ă pe partea superioar ă a robotului mobil. Camera CCD este utilizat ă în
condi ții bune de iluminare.
În contextul roboticii sociale [Dautenhahn, 1995; F ong, 2003], detec ția, urm ărirea și
recunoa șterea persoanelor sunt premise esen țiale pentru aplica ții. Înainte de a interac ționa la mic ă
distan ță , robotul mobil de servicii care ac ționeaz ă în mediul social trebuie s ă detecteze persoanele
și s ă se apropie. Este de asemenea necesar ca robo ții s ă atrag ă aten ția oamenilor și ace ștea s ă cear ă
în mod explicit ajutor în cazul în care au nevoie d e asisten ță [Nourbakhsh, 2003].
În literatura de specialitate, se prezint ă diferite solu ții pentru urm ărirea persoanelor cu
robo ți mobili. Multe aplica ții folosesc camerele montate pe robo ți pentru a detecta persoanele
căutând fe țe umane [Liu, 2005] sau alte p ărți ale corpului [Beymer, 2001; Zajdel, 2005]. Alte
abord ări utilizeaz ă senzori de distan ță considerând persoanele ca fiind entit ăți mobile
[Bennewitz, 2002; Lindström, 2001].
Recunoa șterea persoanelor reprezint ă un alt domeniu de cercetare care cuprinde
detec ția și interpretarea caracteristicilor biometrice [Jain, 2004]. Multe solu ții se bazeaz ă pe
viziune și fac uz de algoritmii pentru recunoa șterea fe ței [Turk, 2003; Zhao, 2003; Zhou,
2002], sau în anumite cazuri ținuta și analiza complet ă a corpului [Cunado, 2003; Nakajima,
Capitolul 5 48
2003]. Cu toate acestea exist ă doar câteva sisteme de recunoa ștere implementate pe robo ți
mobili reali, deoarece abilit ățile lor de percepere sunt limitate de incertitudine a senzorilor,
mi șcare și modific ări ale mediului [Asoh, 2001, Cielniak, 2003; Bennew itz, 2005].
Oamenii au posturi și comportamente de mi șcare articulate care sunt dificil de modelat și
de observat de pe o platform ă robotic ă. Pentru a reduce incertitudinea și a îmbun ătăți redundan ța,
doi sau mai mul ți senzori pot fi integra ți în scopul detec ției și recunoa șterii persoanelor.
Abord ările euristice sunt utilizate uneori pentru a estim a pozi ția unei persoane, folosind robo ți
mobili echipa ți cu laser și camere [Scheutz, 2004]. Ace ști senzori pot fi combina ți pentru a
reduce aria de c ăutare în timpul detec ției persoanei prin folosirea laserului în scopul de scoperirii
direc ției posibilelor ținte și aplicând detec ția fe ței numai unor mici zone (por țiuni) ale cadrului
curent [Blanco, 2003]. Pentru recunoa șterea persoanelor se folosesc camere termice și CCD
[Cielniak, 2004], prin segmentarea conturului perso anei de pe imaginea termic ă și prin aplicarea
unui clasificator Bayesian zonei relative de pe ima ginea color.
Principalul avantaj al utiliz ării tehnologiei CCD const ă în zgomotul redus introdus la
achizi ția imaginilor (situa ția cel mai des întâlnit ă de apari ție a zgomotelor este aceea a achizi ției
imaginilor în mi șcare rapid ă). Camerele care au în componen ța lor doar un senzor video se
numesc camere monoculare , în vreme ce un sistem cu dou ă camere video se nume ște binocular.
Sistemele de achizi ție binoculare sunt cunoscute și sub denumirea de sisteme de achizi ție stereo
[Măce șanu, 2010].
Au fost de asemenea propuse metodele probabilistice pentru fuziunea senzorilor
robotului. Sistemul implementat de c ătre cercet ătorii Feyrer și Bellotto adopt ă filtre Kalman
pentru a urm ări persoane, folosind lasere și camere montate pe robo ți mobili [Feyrer, 2000;
Bellotto, 2009]. În lucrarea "People tracking with mobile robots using sample-based joint
probabilistic data association filters" autorii prezint ă un robot echipat cu doi senzori de
distan ță cu laser care pot urm ări mai multe persoane utilizând o combina ție de filtre de
particule și asocierea de date probabilistice [Schulz, 2003]. O alt ă solu ție bazat ă pe filtru de
particule este propus ă de către cercet ătorii Chakravarty și Jarvis care integreaz ă datele
furnizate de laser cu informa ția vizual ă de la o camer ă panoramic ă [Chakravarty, 2006]. În
anul 2005 se implementeaz ă o metod ă nou ă de intersectare a covarian ței folosind sonare,
lasere și date vizuale în scopul urm ăririi mai multor persoane [Martin, 2005]. Ultimele dou ă
realiz ări sunt totu și evaluate numai cu platforme robotice statice.
Prezenta lucrare descrie o metod ă de solu ționare a problemei expuse anterior prin
utilizarea senzorilor ultrasonici capabili s ă m ăsoare distan țe între obiecte și robotul mobil.
Mi șcările unui obiect sunt detectate cu ajutorul senzori lor de tip sonor, dup ă care se estimeaz ă
pozi ția obiectului în mi șcare.
Prin utilizarea datelor referitoare la distan ță se poate estima pozi ția robotului.
5.5.2.2 RECUNOA ȘTEREA MEDIULUI LOCAL (LEC)
Un robot mobil autonom pe ro ți trebuie s ă fie capabil s ă detecteze mediul în care
evolueaz ă. Orice robot mobil autonom pe ro ți necesit ă anumite dispozitive de detec ție, în
primul rând pentru a percepe mediul în care opereaz ă, dar și pentru a putea s ă se deplaseze în
mediul respectiv [Cuesta, 2006]. M ăsurarea rapid ă a distan ței între robotul mobil și
obstacolele înconjur ătoare este deci de maxim ă importan ță [Kucsera, 2007]. Cu toate c ă
problema explor ării autonome a mediilor de tip coridor este în mare m ăsur ă solu ționat ă, în
cazul robo ților echipa ți cu detectori laser sau cu senzori optici, ea r ămâne în continuare
dificil ă pentru robo ții echipa ți doar cu senzori tip sonar dintr-o multitudine de motive.
S istem robotizat de informare și manipulare pentru bibliotecile academice 49
Senzorii tip sonar reprezint ă cel mai
utilizat tip de senzor de distan ță . Ei ofer ă
măsur ători de distan ță relative precise, la
costuri reduse și sunt utiliza ți cu success în
multe aplica ții cu robo ți, ca de exemplu
evitarea obstacolelor. Ace știa sunt îns ă
afecta ți semnificativ de incertitudine
unghiular ă (Fig. 5.50) și de reflexie specular ă
(Fig. 5.51) din cauza l ărgimii fasciculului lor,
ceea ce le îngreuneaz ă func ționarea în
scenarii mai complicate [Cuesta, 2006].
5.5.2.2.1 PRINCIPIUL DE FUNC ȚIONARE AL SENZORILOR ULTRASONICI
Ultrasunetele reprezint ă oscila ții mecanice care se propag ă în medii elastice (solide,
lichide sau gazoase), cu frecven țe de peste 20 kHz, care reprezint ă limita superioar ă de
percep ție a urechii umane. Deoarece ultrasunetul este o un d ă mecanic ă, acestuia i se pot
aplica legile de propagare, refrac ție și absorb ție. Pe baza acestor legi precum și a analogiei cu
organismele vii, pot fi realizate o serie de dispoz itive de m ăsurare a distan ței. Exist ă mai
multe modalit ăți conform c ărora un sonar ultrasonic poate m ăsura distan ța pân ă la un anumit
obiect, dar toate au la baz ă acela și principiu. Ultrasunetul emis de transmi ță tor se propag ă în
spa țiul înconjur ător. Atunci când unda ultrasonic ă ajunge la obiectul pân ă la care se dore ște
măsurarea distan ței, o parte a undei este absorbit ă iar cealalt ă este reflectat ă înapoi, unde
poate fi detectat ă cu ajutorul unuia sau mai multor detectoare. Dista n ța poate fi determinat ă,
de exemplu, prin m ăsurarea diferen ței de faz ă între unda emis ă și cea receptat ă sau prin
măsurarea diferen ței timpilor de recep ție ai celor dou ă receptoare amplasate în pozi ții bine
stabilite. Totu și, cel mai simplu mod de m ăsurare a unei distan țe este m ăsurarea timpului de
parcurgere.
Dispozitivul propriu-zis este constituit din sursa de ultrasunete S, receptorul R și
circuitele electronice aferente necesare pentru pre lucrarea semnalului. Este important de
semnalat faptul c ă sursa și receptorul sunt integrate sub forma unui singur m odul de
transceiver, Fig. 5.52. Cele dou ă componente sunt prezentate separat pentru a permit e o
prezentare simplificat ă a func țion ării senzorilor ultrasonici [Rasic, 2004].
Fig. 5.51 Example de reflexii speculare:
a – reflexie tip oglind ă. b – reflexie de ordin superior. c – diafonie
Fig. 5.50 Incertitudine unghiular ă: senzorii tip
sonar asigur ă informa ții directe referitoare la
distan ța pân ă la cel mai apropiat obstacol, dar
nu și informa ții unghiulare
Capitolul 5 50
Fig. 5.52 Principiul sonarului cu controlul timpului de parcurgere
Sursa S emite unda ultrasonic ă, în cadrul unui scurt interval de timp, în mediul
ambiant. O parte a undei este reflectat ă de obstacolul O și este detectat ă la nivelul receptorului
R. Obstacolul este localizat pe distan ța necunoscut ă d fa ță de sonar. Sonarul poate m ăsura
timpul ( t) începând din momentul emiterii undei pân ă la detec ția ei de c ătre receptor, iar
intervalul se nume ște timp de parcurgere. Deoarece ultrasunetul parcur ge mediul cu viteza
final ă v, este posibil ă determinarea distan ței necunoscute conform expresiei:
vt/2 d= (5.15)
unde cifra 2 de la numitor reprezint ă faptul c ă unda ultrasonic ă parcurge de dou ă ori
distan ța d, prima dat ă ca und ă direct ă iar a doua oar ă ca und ă reflectat ă. Vitezele undelor
ultrasonice difer ă în diferitele medii parcurse în func ție de densitatea lor medie, temperatur ă,
presiune, etc. În aer, viteza ultrasunetului are va lori între 330 și 345 m/s, în func ție de
temperatur ă, umiditate, presiune atmosferic ă, altitudine, etc. pe durate m ăsur ărilor s-a presupus
că viteza ultrasunetului este constant ă în mediul în care se deplaseaz ă robotul mobil sau în locul
în care se realizeaz ă m ăsur ările.
Senzorii ultrasonici instala ți pe robotul mobil permit m ăsurarea suficient de precis ă,
fără contact, a distan țelor fa ță de alte obiecte din mediu și asigur ă astfel premizele pentru
unele dintre cele mai importante activit ăți ale robo ților mobili:
• identificarea pozi ției și orient ării altor obiecte;
• identificarea obstacolelor din mediu înconjur ător;
• măsurarea distan ței fa ță de unele repere [Rusu, 2005].
Atunci când distan ța între robotul mobil și obstacol este m ăsurat ă cu senzori
ultrasonici, precizia m ăsur ării scade dac ă aceast ă distan ță este mare, deoarece unghiul de
reflexie al fasciculului ultrasonic este mai mare. Din cauza cre șterii incertitudinii este dficil s ă
se investigheze aria global ă a robotului mobil utilizând senzori ultrasonici.
În prezenta lucrare, se propune utilizarea senzoril or ultrasonici pentru a investiga aria
local ă din vecin ătatea robotului mobil.
Forma geometric ă a obstacolelor este foarte important ă, acest lucru reie șind din testele
efectuate pe obiectele de tip concav, convex sau dr eptunghiular.
Se presupune c ă spa țiul de navigare al robotului mobil este un mediu in tern bine
structurat. Astfel, putem considera c ă elementele mediului înconjur ător sunt obstacole drepte
cu înclina ții regulate.
Emisie (S)/
Recep ție (R) Obstacol (O)
Und ă ultrasonic ă Und ă reflectat ă
Distan ța d
S istem robotizat de informare și manipulare pentru bibliotecile academice 51
Pasul 1: Modelarea platformei mobile
Dac ă exist ă obstacole în spa țiul de mi șcare al robotului mobil pozi ția acestuia și
pozi ția obstacolelor sunt descrise în coordonate 2D. Not ăm cu n num ărul senzorilor
ultrasonici monta ți pe robotul mobil și cu sj pozi ția senzorilor, pornind din partea dreapt ă în
sens antiorar ( 1 ≤ j ≤ n ) a șa cum se arat ă în Fig. 5.53. Distan ța R reprezint ă distan ța între
centrul robotului și senzor. Unghiul φij reprezint ă unghiul de amplasare al senzorului iar
unghiul între doi senzori consecutivi se noteaz ă cu α .
Se ob ține astfel informa ția de distan ță pân ă la obstacolele din mediul
înconjur ător. Astfel robotul mobil prime ște informa ții asupra distan ței în fiecare perioad ă de
eșantionare. Pozi ția este estimat ă geometric folosind datele de distan ță acumulate. Datele de
distan ță se noteaz ă cu dj(k) de la senzorul ultrasonic, sj la timpul k așa cum reiese din Fig.
5.54.
Fig. 5.54 Modelarea geometric ă a senzorilor ultrasonici
()1 2 − = nπ α
( )α ϕ ijij −= (5.16)
(5.17)
j1ϕ
S1 Sj-1 Sj Sj+1 yR j1ϕ
() ()j j jd R1 1 cos cos ϕ ϕ ()j jd1 sin ϕ
()j R1 sin ϕ
xR R ( )j ob ob yx, y
S1S2 S3 S4 S5
S6
S7
S8
( x r , y r )
Robot mobil
|d 1| |d 2| Obstacol Senzor
ultrasonic
x
Fig. 5.53 Modelarea platformei mobile
12 ϕ
Capitolul 5 52
Precizia valorilor distan ței pân ă la senzorul ultrasonic scade cu cre șterea distan ței și cu
cre șterea unghiului de inciden ță al fasciculului ultrasonic la nivelul obstacolului . Valorile
mari ale unghiului de inciden ță al fasciculului sunt eliminate din valorile exacte ale distan ței.
Pasul 2. Modelarea propag ării
Vectorul de distan ță este definit ca m ărime și direc ție folosind distan ța m ăsurat ă și
pozi ția senzorilor. Dac ă se cunoa ște pozi ția ini țial ă a robotului mobil, valoarea elementelor
din mediul înconjur ător poate fi m ăsurat ă folosind un senzor ultrasonic. Dup ă cum reiese din
Fig. 5.54, pozi ția obstacolului m ăsurat cu senzorul ultrasonic sj la timpul k este reprezentat ă în
coordonatele X-Y ale robotului dup ă cum urmeaz ă:
()
( )()
( )
++
=
j j jj j j
j ob ob
kd Rkd R
kykx
1 11 1
sin sin cos cos
ϕ ϕϕ ϕ
. (5.18)
Mărimea și direc ția vectorului de distan ță al obstacolului este dat ă de:
( )()
( )( ) ( )
( ) ( )( )
+=
=
−kxkyky kx
kkdkP
ob ob ob ob
j ob j
j ob 12 2
tan θ. (5.19)
Folosind vectorul de stare, pozi ția și orientarea robotului mobil la timpul k sunt
reprezentate de:
( ) ( ) ( ) ( )[ ]Tk k y k x kP θˆ ˆ ˆ ˆ= . (5.20)
La timpul k+1 dup ă perioada de e șantionare pozi ția robotului mobil, inclusiv starea
curent ă și zgomotul se reprezint ă astfel:
() ()() ( )()k e k u kPH kP + + =+ ˆ, 1 ˆ 1 ˆ . (5.21 )
unde pozi ția și orientarea deplas ării robotului mobil, u(k) se definesc folosind pozi ția și
orientarea deplas ării u(k) = ( ∆x, ∆y, ∆θ ).
Pasul 3. Modelarea estim ării obstacolelor
Se presupune c ă suprafa ța obstacolului const ă dintr-o combina ție de linii drepte. Pe
baza acestei presupuneri se estimeaz ă forma obstacolului folosind datele de distan ță .
Măsur ările cu ajutorul senzorilor, pozi ția robotului și rela ția geometric ă între elementele
mediului înconjur ător sunt indicate în Fig. 5.54. Cu ajutorul valoril or de distan ță , la momentul
k se ob ține pozi ția geometric ă a fiec ărui element. Apoi valoarea m ăsurat ă la momentul k+1 se
ob ține în func ție de mi șcarea robotului mobil. Considerând procesul în deta liu, pozi ția și
direc ția senzorului j între centrul robotului și obstacol la momentul k se noteaz ă cu Pob (k) j.
Obstacolul este estimat în conexiune cu datele geom etrice anterioare referitoare la elementele
mediului înconjur ător și la datele propag ării robotului mobil.
Modelarea geometric ă este prezentat ă pentru obstacole drepte cu înclina ție constant ă
în Fig. 5.55.
La momentele k și k+1 starea obstacolului, a șa cum este realizat ă de c ătre senzorul
ultrasonic j, notat cu sj de pe robot se exprim ă astfel:
S istem robotizat de informare și manipulare pentru bibliotecile academice 53
( ) ( ) ( ) ( ) [ ]T
j ob ob ob j ob k kykx kP θ = , nj≤≤1 (5.22-a)
( ) () ( ) () [ ]T
j ob ob ob j ob k ky kx kP 1 1 1 1 + θ + + = + , nj≤≤1 (5.22-b)
unde curbura în ecua țiile (5.22)
este infinit ă pentru obstacolul drept. De
aceea, θ ob (k) = θ ob (k +1 ).
Inciden ța unghiului β al
fasciculului senzorului ultrasonic la
nivelul obstacolului se define ște ca în
(5.24) și starea obstacolului pentru sj este
considerat ă dac ă unghiul de inciden ță
este mai mic decât γ pentru a reduce
incertitudinea.
0
1 180 − − + =ob R j θ θ ϕβ < γ (5.23)
Forma obstacolului este estimat ă dac ă ecua ția urm ătoare este satisf ăcut ă pentru a
reduce eroarea, e(k),
( ) ( ) ( ) ( ) ( ) ( )( ) ∑
=− ′+ − ′ =n
jj ob j ob j ob j ob ky ky kx kx k e
12 2ˆ ˆ min (5. 24)
Înclinarea obstacolului drept este dat ă de:
() ()
( ) ( ) kx kxky ky
ob ob ob ob
ob −+−+=−
11tan 1θ (5.25)
Obiectul drept este descris de:
() ( ) ()ky kxx yob ob ob + − = θtan (5.26)
5.5.2.2.2 INTEGRAREA ALGORITMILOR LEC ( LOCAL ENVIRONMENT
COGNITION )
Harta mediului local și informa ția
din vecin ătatea robotului mobil sunt afectate
de dispunerea obstacolelor. Dispunerea
obstacolelor în mediul real de mi șcare al
robotului este regulat ă [Choi, 2009].
5.5.2.2.3 EXPERIMENTE ȘI
REZULTATE
S-au efectuat încerc ări reale
pentru localizarea robotului mobil, pe
baza modelului Pioneer 3 All – Terrain
Fig. 5.55 Inciden ța unghiului β
Date distan ță incorecte Incertitudine
Robot mobil cu
senzori ultrasonici β Date distan ță
Fig. 5.56 Estimarea modelului de obstacol drept
Capitolul 5 54
(P3-AT) într-un mediu interior bine structurat. A f ost m ăsurat ă eroarea de estimare între
starea real ă și starea estimat ă a robotului. Modelul P3-AT utilizat pentru încerc ări are
dimensiunile 0,49 x 0,5 m și este de tip autovehicul. Cei șaisprezece senzori ultrasonici sunt
instala ți în zona superioar ă fa ță și spate a platformei mobile la o distan ță corespunz ătoare unui
unghi 20 grade unul de altul. Modulul de senzor ultr asonic m ăsoar ă distan țe de pân ă la 6m.
Testul descrie deplasarea robotului mobil într-un c uloar indicat în Fig. 5.45. Robotul mobil se
deplaseaz ă de la punctul de start (10, 145, 0) în punctul țint ă (375, 145, 0) cu o vitez ă maxim ă
de 0,173 m/s de-a lungul unui coridor având dimensi unile 3,6 x 1 m.
Fluxul de localizare a robotului mobil RMSB prin LEC este prezentat în Fig. 5.57.
Fig. 5.57 Fluxul de localizare a robotului mobil RMSB prin L EC
A doua parte a acestui studiu experimental
a constat în utilizarea elementelor senzoriale
specifice detect ării obstacolelor, mai precis a
modulului de senzori ultrasonici instala ți în zona
superioar ă fa ță , pentru testarea deplas ării robotului
mobil dup ă traiectorii generate online. Robotul
prime ște informa ții de la șase senzori grupa ți în
trei perechi (acoperind partea frontal ă – F, stâng ă
– S și dreapt ă – D a robotului), cu privire la
unghiul dintre orientarea acestuia și direc ția
obiectivului ( țintei) și de asemenea despre distan ța
dintre robot și obiectiv [Arena, 2009].
O prezentare grafic ă general ă a modulului
senzorial fa ță este schi țat ă în Fig. 5.58.
Au fost realizate dou ă tipuri de experimente
de navigare: deplasarea robotului într-un mediu cu
obstacole statice și deplasarea robotului într-un mediu cu obstacole s tatice și dinamice.
Pentru acest tip de experimente au fost efectuate 2 0 de teste re ținându-se lungimile
traseelor parcurse de robot și timpii de parcurgere al acestora.
Fig. 5.58 Prezentare general ă a
modulului senzorial fa ță [Arena, 2009 ]. Nu Yes
S istem robotizat de informare și manipulare pentru bibliotecile academice 55
Tab. 5.3 Rezultatele testelor de deplasare în
mediu cu obstacole statice Tab. 5.4 Rezultatele testelor de deplasare în
mediu cu obstacole statice și dinamice
Nr.
test Timp [s] Distan ță
parcurs ă [m] Nr.
test Timp [s] Distan ță
parcurs ă [m]
1 19 6,643 1 23 6,842
2 20 6,788 2 24 6,992
3 18 6,423 3 22 6,616
4 19 6,454 4 23 6,648
5 19 6,846 5 23 6,990
6 18 6,320 6 22 6,510
7 19 6,696 7 23 6,897
8 17 6,240 8 21 6,427
9 16 6,040 9 20 6,221
10 17 6,103 10 21 6,286
11 16 6,080 11 20 6,262
12 20 6,840 12 24 6,998
13 19 6,565 13 23 6,762
14 21 6,880 14 25 6,994
15 22 6,920 15 26 6,995
16 17 6,120 16 21 6,304
17 18 6,304 17 22 6,493
18 19 6,680 18 23 6,880
19 18 6,272 19 22 6,460
20 18 6,200 20 22 6,386
În cazul deplas ării în mediul cu obstacole statice, datele înregist rate în timpul testelor
de navigare sunt prezentate în Tab. 5.3. Varia țiile timpilor înregistra ți pentru parcurgerea
traseelor generate cu ARNL sunt descrise în Fig. 5. 59 iar varia țiile distan țelor parcurse
corespunz ătoare sunt descrise în Fig. 5.60.
Fig. 5.59 Varia ția timpilor de deplasare în cazul navig ării în mediul cu obstacole statice 0510 15 20 25
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Nr. test Timp (secunde) ARNL
Capitolul 5 56
5,600 5,800 6,000 6,200 6,400 6,600 6,800 7,000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Nr. test Distan ța (metri)
Fig. 5.60 Varia ția distan țelor parcurse în cazul navig ării în mediul cu obstacole statice
În cazul deplas ării într-un mediu cu obstacole statice dup ă trasee generate cu ARNL,
timpul mediu de deplasare de la punctul de start la punctul țint ă este 18,500 s, iar valoarea
disten ței medii parcurse este 6,4707 m.
Din aceste date rezult ă ca viteza medie de deplasare a robotului este de 0 ,351 m/s.
În cazul deplas ării în mediul cu obstacole statice și dimanice, datele înregistrate în
timpul testelor de navigare sunt prezentate în Tab. 5.4. Varia țiile timpilor înregistra ți pentru
parcurgerea traseelor generate cu ARNL sunt descris e în Fig. 5.61 iar varia țiile distan țelor
parcurse corespunz ătoare acestora sunt descrise în Fig. 5.62.
0510 15 20 25 30
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Nr. test Timp (secunde)
Fig. 5.61 Varia ția timpilor de deplasare în cazul navig ării în mediul cu obstacole statice și dinamice
Fig. 5.62 Varia ția distan țelor parcurse în cazul navig ării în mediul cu obstacole statice și dinamice 5.800 6.000 6.200 6.400 6.600 6.800 7.000 7.200
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Nr. test Distan ța (metri) ARNL ARNL
ARNL
S istem robotizat de informare și manipulare pentru bibliotecile academice 57
În cazul deplas ării într-un mediu cu obstacole statice și dinamice, dup ă trasee generate cu
ARNL, timpul mediu de deplasare de la punctul de st art la punctul țint ă este 22,500 s, iar
valoarea disten ței medii parcurse este 6,6481 m.
Din aceste date rezult ă ca viteza medie de deplasare a robotului este de 0 ,296 m/s.
În cadrul testelor efectuate s-au realizat m ăsur ători pentru pozi țiile finale ale robotului
cu mijloace manuale (rigle, rulete și repere).
Pentru deplasarea robotului mobil s-au utilizat ca repere, rafturile cu c ărți spre care
acesta s-a deplasat. Programul de navigare autonom ă a prev ăzut men ținerea unei distan țe
prestabilite fa ță de reperele utilizate astfel încât robotul s ă nu intre în coliziune cu reperul
considerat. Aceast ă metod ă a sc ăzut erorile de abatere de la traiectoria optim ă, rafturile cu
cărți fiind a șezate într-un mod uniform.
În cazul în care s-a plecat de la premisa c ă robotul mobil se deplaseaz ă din dreptul
raftului R1 – punct de start în dreptul raftului R8 – punct țint ă (Fig. 5.63), s-a urm ărit
comportamentul robotului mobil și traiectoria pe care acesta se deplaseaz ă pentru a-și
îndeplini sarcina ( traiectoria realizat ă cu albastru).
Parametrii senzorului pot fi seta ți în func ție de: tip senzor, raz ă de ac țiune, sensul de
ocolire al obstacolului, iar parametrii robotului m obil în func ție de pozi ție, orientare, vitez ă,
accelera ție, raz ă de ac țiune etc.
Senzorii ultrasonici permit m ăsurarea suficient de precis ă, f ără contact, a distan țelor
fa ță de alte obiecte din mediu și asigur ă astfel premizele pentru unele dintre cele mai
importante activit ăți ale roboului:
• măsurarea distan ței fa ță de unele repere, fixe sau mobile din mediu, pentru
ancorarea propriei pozi ții în spa țiul de lucru;
• identificarea obstacolelor din mediu înconjurator, cu pozi ția și configura ția lor, în
vederea stabilirii unei strategii optime pentru oco lire a acestora, dar și pentru o
eventuală reconfigurare, în vederea abord ării lor directe.
Fig. 5.63 Simularea deplas ării robotului mobil în mediul cu obstacole statice
Dep ăș irea obstacolului de c ătre robot s-a efectuat pe partea stâng ă, datorit ă condi țiilor
impuse de c ătre operatorul uman.
Sarcinile de deplasare complete ale robotului RMSB, urm ărind Fig. 5.64, încep într-un
mediu corespunz ător primind informa ții de la senzori.
Lucrând cu harta ce se consider ă par țial cunoscut ă, se dore ște planificarea triectoriei,
pe care robotul se poate deplasa f ără coliziuni, de la punctul de pornire (start R1) pân ă la
atingerea scopului ( ținta R8).
Traiectorie realizat ă
START
ȚINT Ă Obstacol
Capitolul 5 58
Fig. 5.64 Sarcinile de deplasare ale robotului mobil autonom RMSB
În tot acest timp robotul se mi șcă cu o anumit ă vitez ă și î și poate schimba orientarea
dup ă direc țiile care i-au fost implementate ca și predeterminate. Din p ăcate, obstacole
necunoscute pot s ă apar ă în timpul deplas ării, obstacole ce pot întrerupe traseul planificat.
Planificarea traiectoriei și navigarea sunt procesele prin care se ob țin trasee fiabile și
sigure pornind din punctul de start sau țintei). În cazul de fa ță , planificarea este realizat ă în
primul rând în mod offline robotul fiind orientat s pre destina ție presupunând c ă mediul este
bine așa numitele pozi ții curente ale robotului, pân ă la îndeplinirea sarcinii propuse
(atingerea cunoscut și sta ționar. Prezentul studiu urm ăre ște rezolvarea problemei de mobilitate
a robotului func ționând într-un mediu interior utilizându-se baze ge ometrice. Dac ă se
cunoa ște cu exactitate harta mediului, nu exist ă nici un dubiu în crearea traiectoriei optime
astfel încât robotul s ă se deplaseze cu constângeri pe traseul cel mai scu rt. În cazuri reale pot
ap ărea situa ții imprevizibile în care localizarea obstacolelor n u este cunoscut ă din timp dar
este asistat ă de senzori care le detecteaz ă când sunt în raza lui de ac țiune. Robotul î și schimb ă
traseul când detecteaz ă zone periculoase. Prin aceast ă condi ție, traiectoria cea mai scurt ă ar
trebui s ă nu mai existe. Apare urm ătoarea întrebare, și anume care este calea cea mai sigur ă.
Procesul generalizat al metodei de planificare prop use pentru deplasarea robotului mobil cu
evitarea obstacolelor statice este prezentat Fig. 5 .65.
Planificare traiectorie Localizare
Ac ționare pentru
conducere și dirijare
Prelucrare informa ții
senzoriale
Citire senzori Replanificare online
a traiectoriei și
evitare obstacole
Mediu real Control traiectorie
S istem robotizat de informare și manipulare pentru bibliotecile academice 59
Fig. 5.65 Diagrama general ă a procesului de navigare
Informa țiile despre mediul de operare al robotului se ob țin de la senzorii interni și de
la senzorii externi, inclu și în bucle externe de control.
Informa țiile senzoriale permit dirijarea robotului c ătre țintele stabilite, prin ocolirea
zonelor periculoase. Într-un mediu de operare real, obstacolele se detecteaz ă cu ajutorul
senzorilor de tip sonar, cu care este echipat robot ul. În cazul întâlnirii unui obstacol static se
trece la opera ția de ocolire. Acest procedeu implic ă modificarea orient ării robotului pentru a
putea ocoli obstacolul și deplasarea cu o vitez ă constant ă în vederea dep ăș irii acestuia
[Boonporm, 2012].
Dup ă ce obstacolul a fost detectat cu ajutorul sonarelo r, se va modifica orientarea
robotului în vederea ocolirii acestuia. Prima func ție apelat ă în momentul detect ării unui
obstacol este memorarea pozi ției curente. Se determin ă întâi num ărul de impulsuri parcurse de
la punctul anterior memorat (variabila parcurs). Pe ntru a ob ține coordonatele punctului curent
se calculeaz ă distan ța parcurs ă în milimetrii.
În momentul în care obstacolul este dep ăș it, robotul î și va determina pozi ția și
orientarea curent ă (în prealabil robotul memoreaz ă toate schimb ările de orientare, respectiv
distan țele parcurse dup ă un anumit unghi pentru a putea stabili gradul de d eviere de la
traiectoria ini țial ă) pentru a putea reîncepe deplasarea spre punctul f inal. Ini țializare
Planificarea traiectoriei din
punctul de start c ătre țint ă într-
un mediu cunoscut Aplicarea constrângerii de
traiectorie minim ă
Controlarea unghiului de
întoarcere/ continuarea
traseului
Exist ă un
obstacol
detectat de
senzori? Algoritm de replanificare a
traiectoriei
Este atins ă
ținta?
Sfâr șit NU
NU DA
DA
Capitolul 5 60
În Fig. 5.66 se prezint ă secven țe intermediare asociate zonelor locale, marcate pri n
ferestre dinamice (FD) în care se produc modific ări ale traiectoriei ini țiale în func ție de
informa țiile de localizare aferente.
Astfel, procesul de urm ărire a traiectoriei ini țiale presupune parcurgerea succesiv ă a
mai multor secven țe localizare-modificare-urm ărire, pân ă la atingerea punctului țint ă
(algoritmul ferestrei dinamice).
Fereastra dinamic ă se repozi ționeaz ă succesiv, pân ă când ultima pozi ție con ține
punctul țint ă [Dugulean ă, 2011].
Fig. 5.66 Algoritmul ferestrei dinamice de urm ărire a traiectoriei:
a − starea ini țial ă, b,c,d,e − secven țe intermediare, f − starea final ă
Având planificat ă o traiectorie a fost posibil s ă se înceap ă simularea mi șcării
robotului, pentru a efectua func ții de baz ă, înainte de configurarea platformei mobile.
Platforma dezvoltat ă de Adept MobileRobots este dotat ă cu un calculator de bord care
func ționeaz ă sub Windows, ca sistem de operare și este livrat ă cu software-ul de baz ă ARIA
[ActivMedia Robotics, 2009]. ARIA suport ă toate func țiile de mi șcare și func țiile conexe ale
platformei mobile. Programul de simulare ( MobileSim ), livrat odat ă cu platforma Pioneer 3AT
afi șeaz ă mi șcarea robotulului mobil care execut ă codul scris. ARIA și MobileSim au fost
utilizate pentru a executa func ția de baz ă a deplas ării robotului mobil RMSB.
În mediul de simulare MobileSim , întregul sistem senzorial a fost modelat luând în
considerare caracteristicile specifice fiec ărui senzor: gam ă de detec ție, timp de r ăspuns,
rezolu ție și altele.
Principala func ție de mi șcare a robotului mobil a fost aceea de deplasare, d e la o loca ție
ini țial ă, cu orientare cunoscut ă, la destina ții stabilite în prealabil, pe calea cea mai simpl ă.
În Fig. 5.67 sunt prezentate câteva simul ări ale deplas ării robotului mobil RMSB în
mediul experimental cu ocolirea obstacolelor static e (rafturilor). În acest experiment robotul
se deplaseaz ă de la recep ție în dreptul raftulului R1 , apoi în continuare în dreptul raftului R8 ,
S istem robotizat de informare și manipulare pentru bibliotecile academice 61
întorcându-se 180 o și îndreptându-se spre loca ția ini țial ă, la recep ție [Pop, 2015a].
Examplul 1
Locul de amplasare ini țial
(x, y) = -14500, 2000
Orientare initial ă ( fa ță de x)
θ= 0 o
Locul de amplasare al țintei
(x,y) = -9500, 2500
Examplul 2
Locul de amplasare ini țial
(x, y) = -9500, 2500
Orientare initial ă ( fa ță de x)
θ = 0 o
Locul de amplasare al țintei
(x,y) = -9000, 5000
Examplul 3
Locul de amplasare ini țial
(x, y) = -9000, 5000
Orientare initial ă ( fa ță de x)
θ= 180 o
Locul de amplasare al țintei
(x,y) = -14500, 2000
Fig. 5.67 Simul ări ale deplas ării robotului mobil RMSB
Experimentele realizate cu robotul real nu au ar ătat diferen țe semnificative.
5.5.2.3 RECUNOA ȘTEREA ȘI IDENTIFICAREA OBSTACOLELOR MOBILE
Robo ții de servicii trebuie s ă fac ă distinc ția și, de asemenea, s ă recunoasc ă diferite
persoane, care sunt altfel tratate ca simple obiect e în mi șcare. F ără recunoa ștere, robo ții nu ar fi în
măsur ă s ă se ocupe de nevoile reale ale utilizatorilor și nu ar putea furniza servicii de înalt ă calitate.
Robo ții mobili de servicii care ac ționeaz ă în medii umane, fiind dota ți cu abilit ăți de
interac țiune (de exemplu ghizi sau oameni de ordine) sunt m ai eficien ți dac ă pot distinge noii
utilizatori de cei mai vechi sau între utilizatori și membrii personalului. În afara acestor aplica ții
capacitatea de a identifica oameni le confer ă robo ților un anumit grad de „inteligen ță ”
[Dautenhahn, 1995], deoarece ei se pot adapta mai b ine la comportamentul uman.
Majoritatea sistemelor robotice existente, prev ăzute cu sisteme de recunoa ștere uman ă
bazate pe vedere, func ționeaz ă în doi pași:
• mai întâi este selectat un cadru unde subiec ții satisfac anumite criterii, postur ă,
mărime și num ăr al tr ăsăturilor vizibile;
• apoi se aplic ă un algoritm de recunoa ștere standard în corela ție cu o baz ă de date
fix ă, cu persoane cunoscute [Asoh, 2001; Cielniak, 2003 ; Liu, 2005]. Din p ăcate
aceast ă abordare ignor ă aspecte importante cum ar fi: evolu ția în spa țiu a
subiectului ce trebuie identificat. Aceast ă informa ție poate fi asigurat ă de
urm ăritorii umani și utilizat ă pentru îmbun ătățirea sistemului de recunoa ștere al
robotului, în timp ce acesta poate s ă-și creasc ă siguran ța procesului de urm ărire
[Bellotto, 2010].
Capitolul 5 62
5.5.2.3.1 RECUNOA ȘTEREA COMPORTAMENTULUI UMAN
În cadrul acestui studiu s-a considerat un robot mo bil echipat cu o camer ă web
montat ă frontal pe ecranul tactil.
Caracteristicile sistemului sunt urm ătoarele:
• Metoda de detec ție și urm ărire utilizeaz ă o singur ă camer ă web, spa țiul
experimental fiind unul restrâns
• Comportamentul uman este recunoscut prin combinarea a 4 tr ăsături specifice ale
unei persoane: pozi ția curent ă, drumul parcurs, postura persoanei și pozi ția și
direc ția fe ței persoanei.
Tab. 5.5 Diferite situa ții referitoare la o persoan ă și la comportamentele corespunz ătoare ale acesteia
Situa ția Comportamentul
Persoana se afl ă în dificultate Persoana r ătăce ște drumul
Prive ște împrejur încontinuu (caut ă o alt ă persoan ă)
Rămâne imobil ă pentru un timp mai îndelungat (are
dificult ăți în utilizarea unui automat de împrumut carte sau
în citirea indicatoarelor cu instruc țiuni)
Persoana solicit ă asisten ță agit ă o mân ă deasupra capului înspre robot
solicit ă robotul
caut ă robotul
Persoana nu realizeaz ă c ă
efectueaz ă o ac țiune interzis ă intr ă într-o zon ă restric ționat ă
mănânc ă sau bea într-o zon ă restric ționat ă
folose ște un telefon mobil într-o zon ă restric ționat ă
5.5.2.3.1.1 COMPORTAMENTE UMANE TIPICE ÎNTR-UN SPA ȚIU PUBLIC
Se au în vedere urm ătoarele servicii de ghidare și asisten ță ce pot fi realizate într-un
spa țiu public:
1. găsirea și asistarea unei persoane aflate în dificultate
2. reac ția la apelul unei persoane care cere îndrumare și/sau asisten ță
3. recunoa șterea ac țiunilor interzise și raportarea lor.
Prima etap ă const ă în recunoa șterea persoanei care afi șeaz ă comportamentele tipice
indicate în Tab. 5.5. Se definesc urm ătoarele patru caracteristici de baz ă utilizate la
recunoa șterea comportamentului uman:
• pozi ția curent ă a unei persoane ( locul )
• drumul parcurs de persoan ă ( traseul )
• postura unei persoane (în picioare sau a șezat) ( postura )
• pozi ția și direc ția fe ței unei persoane ( fa ța).
Dup ă ce au fost detectate caracteristicile de baz ă, pot fi identificate diferite
comportamente umane prin combinarea acestora. În Ta b. 5.6 sunt prezentate câteva exemple
în acest sens. Comportamentul unei persoane care „r ătăce ște” poate fi identificat utilizând
locul , traseul și postura . Atunci când sistemul recunoa ște un comportament, ca de exemplu
„agitarea mâinii deasupra capului înspre un robot”, robotul este instruit s ă se apropie de
persoan ă și s ă furnizeze orice fel de servicii solicitate de acea sta [Kemmotsu, 2008].
S istem robotizat de informare și manipulare pentru bibliotecile academice 63
Tab. 5.6. Recuno șterea comportamentului conform regulilor de combina ție ale
caracteristicilor de baz ă
Comportamentul uman Caracteristici de baz ă
LOCUL TRASEUL POSTURA FA ȚA
Rătăcire
(aflare în dificultate) Zona
destinat ă Trecerea prin aceea și
loca ție de mai multe ori Mi șcare –
Sta ționar
(aflare în dificultate) Zona
destinat ă Sta ționar pentru un timp
mai îndelungat În picioare –
Agitarea mâinii deasupra
capului înspre un robot
(solicitare de asisten ță ) – Sta ționar În picioare Frontal
Mâncatul (realizarea efectu ării
unei ac țiuni interzise) Zona
destinat ă Sta ționar A șezat –
5.5.2.3.2 CONFIGURAREA SISTEMULUI ROBOTIC ÎN CAZUL FUNC ȚION ĂRII
ÎN RE ȚEA
Se propune o structur ă ierarhic ă pentru sisteme robotice func ționând în re țea, care este
compus ă din trei straturi:
• un strat de senzori fizici,
• un strat de senzori logici și
• un strat de recunoa ștere a comportamentului uman, a șa cum reiese Fig. 5.68 [
Kemmotsu, 2006].
Fig. 5.68 Structur ă cu trei nivele a sistemului robotic propus func ționând în re țea
Stratul fizic utilizeaz ă camera web în cazul în care spa țiul de operare al robotului este
restrâns, senzori de distan ță , etichete RFID și senzori de mi șcare. Ace știa sunt încorpora ți
într-un robot, în mediul înconjur ător și ata șați unei persoane.
Stratul fizic poate fi optimizat prin utilizarea un or camere video amplasate în plafonul
înc ăperii.
Stratul de senzori logici este alc ătuit din dispozitive de detec ție virtuale care extrag
informa ții relevante specifice din datele provenite de la s enzorii fizici, date care sunt ob ținute
atât spa țial cât și temporal de c ătre o re țea printr-un proces de fuziune a datelor [Henderson ,
1984; Abidi, 1992]. Localizarea
persoanei Mi șcarea
persoanei Identificare
a persoanei
Auto-
localizare a
Etichete RFID
Senzori de
mi șcare Recunoa șterea comportamentului uman
Robot RMSB Strat de
senzori logici
Re țea
a
Strat de
senzori fizici
Capitolul 5 64
Stratul de recunoa ștere spa țial ă, temporal ă și semantic ă a comportamentului uman
furnizeaz ă date necesare pentru controlul robotului (de ex. i ni țierea unui serviciu) prin procese
de fuziune ale datelor de la senzorii logici.
Pe baza acestei structuri a sistemului, se propune o metod ă de recunoa ștere a
comportamentului uman indicat ă în Fig. 5.69.
Fig. 5.69 Recunoa șterea comportamentului uman prin detectarea și combinarea
caracteristicilor fundamentale
Fig. 5.70 Robotul RMSB prev ăzut cu senzori fizici
Fig. 5.70 prezint ă o privire general ă asupra robotului RMSB și a senzorilor fizici
asocia ți cu acesta. Se utilizeaz ă o camer ă web, și odometre ca senzori fizici (odometria se
refer ă la determinarea pozi ției robotului prin m ăsurarea num ărului de rota ții la sistemul de
Secven țe
de imagini
Pozi ția și
direc ția
robotului LOC
TRASEU
POZI ȚIE
FA ȚĂ Comportament
Indicarea serviciilor
Recunoa ștere
comportament Senzori logici Platform ă robotizat ă în re țea
Odometre (encodere) Senzori ultrasonici Specifica ții:
În ălțime: 1, 40 m
Lățime: 49 cm
Greutate:
Vitez ă maxim ă: 2,52 km/h
Ac ționare: motoare de current continuu
Sistem de comand ă: Windows
Surs ă: Baterii 12 V, 7,2 A Cameră web frontală
S istem robotizat de informare și manipulare pentru bibliotecile academice 65
rulare; astfel se comunic ă senzorilor logici pozi ția și direc ția robotului). Camera web
furnizeaz ă senzorilor logici secven țe de imagini.
5.5.2.3.3 RECUNOA ȘTEREA BAZAT Ă PE VEDERE (VIZIUNE)
Robo ții mobile autonomi (RMA) necesit ă tehnici de ghidare printre diferitele obiecte
imobile și mobile existente în mediul de operare. O serie de algoritmi care au fost propu și au
la baz ă diferite tipuri de senzori ca de exemplu infraro șii, sonar etc. Imprecizia datelor și a
informa țiilor furnizate oferite de astfel de senzori reprez int ă motivul principal pentru
explorarea altor direc ții în vederea identific ării unor noi solu ții pentru navigarea și
func ționarea robo ților.
Utilizarea viziunii computerizate nu a fost înc ă explorat ă suficient de temeinic din
cauza costului ridicat al camerelor video, a lipsei de calculatoare performante și în țelegerea
incomplet ă a vederii ochiului uman. Prezentul proiect urm ăre ște utilizarea viziunii ca mijloc
de detec ție destinat RMSB.
Viziunea este un proces extrem de complex dar foart e util destinat percep ției mediului
de c ătre oameni. Suntem capabili de a vizualiza diferite obiecte în orice condi ții de iluminare,
la distan ță și având diferite orient ări. Detaliile fine care sunt observate permit recun oa șterea
facial ă, citirea textelor etc. Viziunea este un mijloc de detec ție primar pentru g ăsirea traseului,
maparea (cartografierea) loca ției, detec ția obiectelor și evitarea obstacolelor.
Obiectivul viziunii (vederii) computerizate este at ingerea de c ătre robo ți a
performan țelor vederii umane și chiar dep ăș irea acestora [Pande, 2014].
5.5.2.3.3.1 IPOTEZE
Proiectul se bazeaz ă pe urm ătoarele ipoteze:
• Exist ă un singur obiect în cadru
• Obiectul este o persoan ă
• Nu exist ă alte obiecte mobile în imagine
• Fundalul nu se confund ă obiectul
• Persoana trebuie s ă fie vizibil ă în propor ție de cel pu țin 50%
• Plan șeul este plat și uniform
• Obiectul este în pozi ție vertical ă
• Dimensiunea imaginii este de 1600×1200 pixeli
5.5.2.3.3.2 ESTIMAREA POSTURII UMANE (POSTURA, FA ȚA)
Se utilizeaz ă ca metod ă de estimare a posturii, camera frontal ă web a robotului mobil,
care achizi ționeaz ă un spectru larg de informa ții ce urmeaz ă s ă fie prelucrate, oferind diverse
posibilit ăți precum detectarea și urm ărirea unei pete de culoare, a unui obiect, a unei p ersoane,
detec ția unor anumite evenimente în mediu etc. deoarece a cesta poate avea acces la partea din fa ță
(frontal ă) a persoanei.
Robotul mobil devine con știent de propria sa pozi ție prin autolocalizare.
Atunci când robotul mobil observ ă o persoan ă cu ajutorul camerei web frontale,
pozi ția capului acesteia este identificat ă prin detectarea fe ței.
În ălțimea real ă a capului poate fi calculat ă prin determinarea unghiului θ sub care
robotul prive ște în sus sau în jos la fa ța uman ă, deoarece distan ța între persoan ă și robot este
cunoscut ă; postura (în picioare sau a șezat) este determinat ă din în ălțime (Fig.5.71).
Capitolul 5 66
F
ig.
5.7
1
Estimarea posturii și detectarea fe ței cu ajutorul camerei frontale
Camera web montat ă pe ecranul tactil al robotului poate fi utilizat ă pentru detec ția
fe ței umane și recunoa șterea oamenilor. Unele din cele mai uzuale tehnici de detec ție a fe ței
umane, în timp real, se bazeaz ă pe segmentarea culorii zonelor pielii [Fritsch, 20 03], dar ele
sunt de regul ă afectate de erori cauzate de varia ții de iluminare, umbre și tonuri ale pielii.
5.5.2.4 PROIECTAREA SISTEMULUI DE DETEC ȚIE MONOCULAR.
IMPLEMENTARE ȘI REZULTATE
Studiul urm ăre ște proiectarea unui sistem de detec ție capabil s ă descopere mai multe
obiecte fixe sau mobile de pe o scen ă. Acesta va furniza date, în timp real, referitoare la
obiectele detectate c ătre sistemul „backend” central. Aceast ă informa ție poate fi folosit ă
pentru a detecta prezen ța unui obiect în zona de acoperire sau s ă recunoasc ă o persoan ă pe
baza detec ției faciale, în aceea și zon ă.
În particular, aplica ția propus ă poate fi instruit ă pentru a detecta orice fel de obiect de
interes, cum ar fi c ărți sau utiliuzatori ai bibliotecii.
Se prezint ă algoritmul de detec ție în cascad ă al obiectelor precum și selec ția
caracteristicilor tip Haar utilizat ă de clasificatorul în cascad ă. Apoi, se propune o solu ție
OpenCV pentru detec ția obiectelor mobile (persoanelor).
Principiul de detec ție utilizat în aplica ție se bazeaz ă pe detec ția obiectelor propus ă de
Viola ș.a. [Viola, 2004] pentru detec ție facial ă unde se adopt ă clasificatorul în cascad ă bazat
pe caracteristica tip Haar.
Implementarea a fost realizat ă cu ajutorul limbajului C++ pe baza bibliotecilor
OpenCV. Compilarea s-a realizat cu ajutorul Microsof t Visual Studio 2008 Express Edition
C++. Dezvoltarea și testarea s-au efectuat sub Windows XP SP3. Prima etap ă a constat în
testarea sistemului de detec ție pe un calculator Windows. Sistemul a fost apoi p ortat pe
platforma mobil ă Pioneer 3-AT.
Implementarea func ției de recunoa ștere a utilizatorilor va ajuta RMSB s ă în țeleag ă
când o persoan ă dore ște s ă utilizeze ecranul tactil al acestuia.
5.5.2.4.1 DETEC ȚIA OBIECTULUI AFLAT ÎN MI ȘCARE
Mai întâi, sistemul recep ționeaz ă imagini de la camera web în ritm de 5-6 cadre/sec.
Fiecare cadru va fi procesat pentru a se identifica tr ăsăturile faciale. Sistemul va stabili dac ă
obiectul reprezint ă o fa ță uman ă, sau nu, prin identificarea unei anumite caracteri stici, atunci
când acesta intr ă în zona de acoperire a camerei. Odat ă identificat, obiectul ca fiind fa ță
uman ă, sistemul va afi șă un cerc pe imaginea fe ței a șa cum se poate observa în Fig. 5.72.
Distan ță
θ Stând în picioare
Așezat pe scaun
Așezat pe podea
S istem robotizat de informare și manipulare pentru bibliotecile academice 67
Fig. 5.72 Detectarea fe ței umane prin marcarea cu un cerc
Pentru a îndeplini aceast ă sarcin ă s-au analizat mai multe op țiuni de identificare a unei
persoane pentru a g ăsi solu ția optim ă. Pe lâng ă aceast ă provocare, mai trebuie luat în calcul
situa ția în care robotul trebuie s ă decid ă dac ă o persoan ă din apropiere este interesat ă s ă
interac ționeze cu el.
Unele din solu țiile identificate sunt:
• utilizarea unui sistem video pentru identificarea p ersoanelor;
• urm ărirea evenimentului de click (întrucât ecranul tact il emuleaz ă comenzile unui
mouse).
Identificarea evenimentului de click presupune ca o persoan ă s ă ating ă ecranul în timp
ce robotul se afl ă în deplasare și deci se supune riscului de a se r ăni. Prin urmare, se poate
spune din start c ă nu este o solu ție bun ă. De altfel implementarea și utilizarea acestei variante
este destul de anevoioas ă.
Utilizarea unui sistem video presupune achizi ția unui astfel de echipament, analiza și
prelucrarea imaginilor captate. O camer ă web cu senzori CMOS reprezint ă solu ția optim ă
pentru aceast ă situa ție atât datorit ă costului redus (fiind mai ieftin ă decât CCD), cât și datorit ă
dimensiunilor.
În urma test ărilor efectuate s-a constatat c ă utilizatorii pot fi repera ți de la o distan ță
suficient de mare, astfel c ă ace știa se vor putea deplasa în siguran ță în interiorul bibliotecii.
Prelucrarea imaginilor captate de camera web ar fi putut reprezenta o problem ă pentru
resursele computa ționale ale calculatorului integrat robotului, îns ă în urma testelor s-a ajuns la
concluzia c ă acestea au fost suficiente.
Prin urmare se poate afirma c ă aceast ă variant ă reprezint ă solu ția optim ă pentru
atingerea acestui obiectiv.
Astfel, se va implementa un algoritm de recunoa ștere a fe ței și a tr ăsăturilor acesteia.
S-a ales zona fe ței deoarece este o parte expus ă a corpului uman, și prezint ă tr ăsături unice și
specifice fa ță de obiectele din jur. În urma testelor s-a dovedit a avea o eficien ță foarte bun ă în
identificarea persoanelor. Au existat, bineîn țeles, și erori de identificare, dar acestea au
reprezentat o propor ție relativ neglijabil ă.
Implementarea acestui algoritm s-a realizat în limb ajul C++, folosind biblioteca
OpenCV, deoarece aceasta pune la dispozi ție func țiile necesare atingerii unui asemenea
obiectiv.
Pentru c ă algoritmul de detec ție facial ă existent în biblioteca OpenCV a fost foarte
lent, s-a impus optimizarea acestuia sau g ăsirea altui algoritm mai rapid. Dup ă numeroase
încerc ări și cercet ări, rezolvarea a fost g ăsit ă de Eric Gregori și prezentat ă în lucrarea
„Computer Vision Using OpenCV on the i.MX51” [Gregor i, 2011].
Autorul sus ține c ă a utilizat o baz ă de date cu tr ăsături ale fe ței, asem ănătoare cu cele
puse la dispozi ție de biblioteca OpenCV, dar care are un raport mul t mai bun între detec ție și
performan ță în momentul utiliz ării.
Capitolul 5 68
În cadrul prezentului experiment este utilizat ă ad ăugarea de clasificatori în cascad ă, cu
referire la fi șierul „haarcascade_frontalface_alt2.xml” din OpenCV .
String cascadeName= "haarcascades/haarcascade_frontalface_alt2.xml" ;
Apoi s-a mic șorat rezolu ția capturii la 320×240 pixeli, astfel zona de proce sare fiind
mai mic ă.
capture = cvCaptureFromCAM( 0 );
cvSetCaptureProperty( capture, CV_CAP_PROP_FRAME_W IDTH, 320.0 );
cvSetCaptureProperty( capture, CV_CAP_PROP_FRAME_H EIGHT, 240.0 );
Restul proceselor sunt asem ănătoare, îns ă mult mai simplificate și cu mai pu ține
instruc țiuni în algoritmul lui Eric Gregori.
În urma acestor optimiz ări s-au ob ținut diferen țe de performan țe mult peste cele
așteptate, în compara ție cu algoritmul existent în OpenCV. Algoritmul din OpenCV
proceseaz ă imaginea și detecteaz ă fa ța în aproximativ 1 secund ă, algoritmul lui Eric Gregori
realiza procesarea în 20-30 ms. În acela și timp utilizeaz ă mai pu ține resurse, respectiv
memorie RAM și procesor.
Pentru a putea func ționa cu mediul de lucru Microsoft Visual Studio 2008 Express
Edition C++, în care a fost dezvoltat ă aplica ția RMSB, au fost totu și necesare câteva
modific ări.
Cre șterea performan țelor detectorului de fizionomii a presupus, în lucr area de fa ță ,
adaptarea parametrilor de control ai detectorului p ropriu-zis.
Algoritmul de detectare a fizionomiei este aplicat fiec ărei imagini achizi ționate cu
ajutorul sistemului de achizi ție. Performan țele detectorului utilizat pot fi îmbun ătățite prin
adaptarea parametrilor interni, cum este cazul [M ăce șanu, 2012]:
• factorului de scalare , utilizat pentru setarea dimensiunii obiectului co nsiderat,
între dou ă c ăut ări succesive ale sale;
• num ărului de detect ări , care este utilizat pentru setarea nivelul de prag sub care un
obiect nu poate fi considerat a fi o fizionomie;
• dimensiunii obiectului c ăutat , utilizată pentru a defini regiunea minim ă în care se
va realiza c ăutarea unei fizionomii;
• selec ției fizionomiei , utilizate pentru cazul în care în imaginea achizi ționat ă sunt
prezente mai multe fizionomii. În aceast ă situa ție este realizat ă o selec ție
probabilistic ă, astfel încât s ă fie selectat ă fizionomia cu cel mai ridicat grad de
încredere [M ăce șanu, 2013].
Codul surs ă pentru implementarea algoritmului final și complet de recunoa ștere a
fe ței, adaptat la acest proiect este prezentat în Anex a 6, iar diagrama flux a sistemului de
detectare a fe ței este prezentat ă în Fig. 5.73.
S istem robotizat de informare și manipulare pentru bibliotecile academice 69
Fig. 5.73 Diagrama de detectare a fe ței
Start
Adaug ă clasificator în cascad ă
Porne ște Webcam pentru captur ă
imagine
Captur ă fiecare cadru de imagine
Detec ție
Marcheaz ă fe țele
Prezint ă imaginea Identificarea unei
fe țe umane
No Yes
Capitolul 5 70
Codul surs ă pentru RMSB este prezentat în Anexa 7, iar schema l ogic ă a programului
RMSB în Fig. 5.74.
Fig. 5.74 Schema logic ă a programului RMSB
S istem robotizat de informare și manipulare pentru bibliotecile academice 71
Schema bloc de func ționare a RMSB pân ă în momentul de fa ță este prezentat ă în Fig.
5.75.
Fig. 5.75 Schema bloc de func ționare a RMSB
5.6 CONCLUZII ȘI CERCET ĂRI VIITOARE
În acest capitol se prezint ă o descriere a arhitecturii hardware și software a unui robot
mobil autonom proiectat pentru a interac ționa cu oamenii. Pentru a atinge acest nivel de
fiabilitate, cercetarea include o colec ție de algoritmi bine-cunoscu ți pentru estimarea st ării
robotului mobil, controlul, și interac țiunea cu utilizatorul, și le integreaz ă într-un singur
sistem. Robotul a fost proiectat pentru a func ționa corespunz ător în medii nemodificate și
fiind destinat asist ării cu succes a persoanelor într-un mediu de biblio tec ă. Lucrarea se
concentreaz ă pe procedeele de localizare din acest mediu. Metoda de localizare, bazat ă pe
algoritmul MCL ( Monte Carlo Localization ), reprezint ă un proces continuu și nu doar un
singur pas de localizare, permi țând o localizare rapid ă, cu costuri reduse în mediul interior
specific. Deoarece localizarea este un proces conti nuu, erorile odometrice nu au timp s ă se
acumuleze ceea ce face ca estimarea ini țial ă a pozi ției s ă fie relativ precis ă. Astfel, robotul
poate utiliza procedura individual ă de localizare, pentru fiecare loca ție, prin mijloace
odometrice și senzori de proximitete ultrasonici.
Proiectul de fa ță ilustreaz ă posibilit ățile extinse de utilizare a viziunii la robo ții
autonomi, respectiv la robo ții de servicii. Cu o singur ă camer ă web traseul c ătre un obiect a
putut fi cartografiat și localizat în mod eficient. Cu dezvoltarea cercet ărilor posibilit ățile de
perfec ționare ale acestui tip de senzori sunt foarte mari.
Raza detec ției poate fi m ărit ă, f ără a folosi culoarea, prin cre șterea num ărului de
parametrii generali. Odat ă cu progresele înregistrate în viziunea stereoscopi c ă, pot fi crea ți
algoritmi mai preci și de identificare și recunoa ștere a obiectelor, inclusiv a fe ței.
Capitolul 5 72
Contents
5. SISTEM ROBOTIZAT DE INFORMARE ȘI MANIPULARE PENTRU
BIBLIOTECILE ACADEMICE ………………………. …………………………………………… …………….. 1
5.1 INTRODUCERE …………………………….. …………………………………………… ………………. 1
5.1.1 ARHITECTURA SISTEMULUI ROBOTIC PROPUS. PRIVIRE DE
ANSAMBLU ……………………………………. …………………………………………… ………………. 1
5.2 STRUCTURA HARDWARE ………………………. …………………………………………… …… 3
5.2.1 ROBOT MOBIL DE SERVICII PENTRU BIBLIOTEC Ă …………………………… 3
5.2.2 SISTEMUL DE MANIPULARE …………………… ……………………………………….. 10
5.2.3 RAFT INTELIGENT ………………………. …………………………………………… ……… 11
5.2.4 SERVER DE BAZE DE DATE …………………. …………………………………………… 11
5.2.5 PC/LAPTOP PENTRU TRANSMITEREA COMENZILOR C ĂTRE RMSB . 11
5.3 STRUCTURA COMUNICA ȚIILOR………………………………………. …………………….. 11
5.3.1 CALCULATOR – ROBOT …………………….. …………………………………………… … 11
5.3.2 CONECTAREA ECRANULUI TACTIL LA UN CALCULATOR …………….. 13
5.4 STRUCTURA SOFTWARE ………………………. …………………………………………… …… 15
5.4.1 CONSIDERENTE GENERALE ………………….. …………………………………………. 1 5
5.4.2 ARHITECTURA ARIA ( Advanced Robotics Interface for Applications ) ……. 16
5.4.3 MS VISUAL STUDIO 2008 …………………… …………………………………………… … 22
5.4.4 OPENCV ( Open Source Computer Vision ) …………………………………………. …… 23
5.4.5 UTILIZAREA DISPOZITIVELOR ………………. ………………………………………… 31
5.5 IMPLEMENTARE LA UNIVERSITATEA TRANSILVANIA DIN BR A ȘOV ….. 34
5.5.1 CERCET ĂRI TEORETICE ȘI EXPERIMENTALE PRIVIND DEPLASAREA
RMSB ÎN MEDIUL DE LUCRU ……………………….. …………………………………………… 34
5.5.2 CERCET ĂRI TEORETICE ȘI EXPERIMENTALE PRIVIND
IDENTIFICAREA ȘI RECUNOA ȘTEREA OBSTACOLELOR FIXE ȘI MOBILE 47
5.6 CONCLUZII ȘI CERCET ĂRI VIITOARE ………………………………… ………………….. 71
In cap.6
Interfa ța cu utilizatorul
Tipuri de software pentru chio șc
Tipul informa țiilor oferite utilizatorului și clasificarea acestora
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: 5. SISTEM ROBOTIZAT DE INFORMARE ȘI MANIPULARE PENTRU BIBLIOTECILE ACADEMICE 5.1 INTRODUCERE Întâlni ți atât în procesele de produc ție, cât și în… [602636] (ID: 602636)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
