Sunteți pe pagina 1din 8

Cursurile 1 si 2

ROBOTICA
Notiuni introductive
Robotica reprezinta acel domeniu al tehnologiei care se ocupa cu proiectarea, construirea, operarea
si utilizarea atat a robotilor, cat si a sistemelor computerizate necesare controlului, feedback-ul
senzorial si procesarii informatiilor necesare in functionarea robotilor. Aceste sisteme automate sunt
proiectate de obicei pentru a inlocui operatorul uman in anumite procese de productie sau pentru a
lucra in conditii cu grad ridicat de periculozitate.
Desi conceptul de robot nu este de data recenta, posibilitatile oferite de avansul tehnologic din
ultima perioada au condus la cresterea substantiala si permanenta a functionalitatii si diversitatii in
ceea ce priveste domeniile de utilizare ale robotilor (roboti casnici, industriali, militari, stiintifici
explorari spatiale sau marine, de operare in medii improprii supravietuirii umane etc.).

a) Roboti industriali

b) Robot casnic

c) Roboti militari
Figura 1 Exemple de roboti din diverse domenii de utilizare

Mecanica robotilor
Subansabluri utilizate in constructia robotilor
Sursa de energie
In cazul robotilor mobili, in prezent cea mai utilizata sursa de energie consta in acumulatori pe baza
de acid (avantaje: siguri in functionare si cu un timp de viata mai lung; dezavantaj: masa mare) sau
-1-

acumulatori Ag-Cd (avantaj: volum mult mai redus; dezavantaj: pret de cost ridicat). Procesul de
proiectare a unui robot alimentat de acumulatori trebuie sa ia in considerare factori precum
siguranta in functionare, durata de functionare intre doua reincarcari si masa intregului echipament.
O alta varianta presupune implementarea la bordul robotului a unui generarator care include un
motor cu combustie interna. Aceasta solutie este insa mai complexa din punct de vedere mecanic,
necesita alimentare cu combustibil, necesita implementarea unui sistem de disipare a energiei
termice si are o masa semnificativ mai mare.
Conectarea robotului prin intermediul unui cablu la o sursa de energie stationara are avantajul unei
mase mai mici a sistemului autonom. Este o varianta folosita deseori in sistemele robotizate de
explorare submarina. Cu toate acestea, existenta cablului limiteaza domeniul de mobilitate si ridica
probleme de stabilire si urmarire a traseului.
Alte surse de energie utilizate sunt:
Acumulatori pneumatici (gaze sub presiune);
Sisteme hidraulice;
Acumulatori de energie cinetica (se obtine prin accelerarea initiala a unui volant cu lagare
magnetice la turatii foarte ridicate, de 20.000 50.000 rot/min, cu functionare in vid pentru
evitarea frecarii cu aerul; ulterior, volantul cedeaza progresiv energia cinetica cumulata catre
echipamentele mobile ale robotului);
Sisteme de actionare
Sistemele de actionare asigura miscarea diverselor componente mobile ale robotilor, prin
convertirea energiei furnizate de sursa, in energie cinetica. Se prezinta in continuare cele mai
importante sisteme de actionare utilizate in robotica.
Motoarele electrice: Sunt cel mai des intalnite sisteme de actionare. Robotii mobili
utilizeaza motoare electrice in curent continuu, in timp ce robotii industriali si masinile cu
comanda numerica sunt dotati cu motoare in curent alternativ. Aceste motoare sunt preferate
in sistemele robotizate care executa sarcini cu incarcare redusa si unde predomina miscarea
de rotatie.
Sisteme de actionare liniara: au rolul de a genera miscare liniara. Aceste sisteme pot fi
mecanice, pneumatice, hidraulice, piezoelectrice, electro-mecanice sau telescopice. In
robotica, cel mai adesea se intalnesc sistemele pneumatice (actionate cu aer comprimat; se
mai numesc si cilindri pneumatici) sau hidraulice (actionate de un mediu lichid sub
presiune; se mai numesc si cilindri hidraulici).
Datorita faptului ca lichidele sunt incompresibile, pistonul unui cilindru hidraulic poate avea
deplasari liniare controlate cu mare precizie, spre deosebire de sistemele pneumatice.
Functionarea sistemelor piezoelectrice se bazeaza pe proprietatea unor materiale de a-si mari
volumul la aplicarea unei tensiuni electrice asupra lor. Dilatarea are insa valori foarte
mici, ceea ce le face utile in obtinerea unor rezolutii foarte mici din punct de vedere al
pozitionarii elementului mobil al robotului, fara a putea fi folosite insa pentru deplasari
mari. Un dezavantaj al materialelor piezo consta in histerezisul pe care-l manifesta in cadrul
ciclurilor de incarcare-descarcare, ceea ce le face dificil de controlat intr-o maniera
repetabila.
Muschi artificiali pneumatici: sunt membrane tubulare ale caror proprietati elastice le
permit sa se contracte cu aproximativ 40% atunci cand se pompeaza aer sub presiune in
interiorul lor (fig. 2). Comportamentul similar cu cel al muschiului uman este dat si de faptul
ca, atunci cand o forta este exercitata asupra muschiului artificial, acesta o preia fara ca forta
cu care reactioneaza sa creasca. Aceasta caracteristica este deosebit de importanta pentru
-2-

robotii care interactioneaza cu factorul uman sau cand este necesar sa se realizeze operatii
delicate.

(b)

(a)

(c)

Figura 2: a) Muschi artificial neactionat;


b) Muschi artificial actionat pneumatic;
c) picior robotic actionat de muschi artificiali

Muschi artificiali metalici:


Sunt realizati din aliaje metalice care prezinta proprietatea de memorie a formei, acestea
contractandu-se si luand o forma predefinita atunci cand sunt incalzite, de obicei prin
parcurgerea lor de un curent electric. La temperatura normala, aliajul metalic poate fi
deformat, el ramanand la forma respectiva. Atunci cand este incalzit la o temperatura
specifica fiecarui tip de aliaj cu memoria formei, numita temperatura de tranzitie, el revine
la forma initiala. O alta categorie de materiale retine doua forme: una la cald si cealalta la
rece. Desi, prin specificul lor functional, permit realizarea unor componente mobile mai
usoare pentru sistemele robotizate, sunt utilizate pe scara redusa in acest domeniu datorita
timpului de raspuns lent si a fenomenului de histerezis.
Polimeri electroactivi:
Polimerii electroactivi sunt materiale relativ noi si au un comportament similar materialelor
metalice cu memoria formei, cu deosebirea faptului ca nu retin o anumita forma. Ei se
contracta substantial (pana la 380%) atunci cand sunt parcursi de un curent electric si au
aplicatii dintre cele mai variate in robotica avansata.
Nanotuburi elastice:
Tehnologia nanotuburilor este inca in faza incipienta, de laborator, insa rezultatele sunt
deosebit de promitatoare. Absenta defectelor din nanotuburile de carbon permite acestor
filamente sa se deformeze elastic cu cateva procente, energia stocata putand ajunge la
aproximativ 10J/cm3 in cazul nanotuburilor metalice. Cercetarile vizeaza robotii umanoizi
-3-

cu performante ridicate, avand in vedere ca bicepsii umani pot fi inlocuiti de un singur fir
din acest material cu un diametru de numai 8 mm.
Elemente de senzoristica robotilor
Senzoristica este un subdomeniu al roboticii care se ocupa de dotarea sistemelor robotizate cu
capacitati senzoriale. Este vorba in principiu despre simularea vederii, auzului si a simtului tactil, in
acest scop utilizandu-se algoritmi de calcul care necesita feedback atat din mediul inconjurator cat
si de la propriile componente. Doua dintre aceste capacitati vederea artificiala si simtul tactil
sunt importante in proiectarea sistemelor autonome si in industrie.
Vedere asistata de calculator (Computer vision)
Reprezinta o stiinta separata in sine, avand ca obiectiv teoria care sta la baza sistemelor artificiale
care extrag anumite categorii de informatii din imagini, inclusiv din secvente video inregistrate sau
din transmisii in timp real cu ajutorul camerelor de luat vederi. In cazul roboticii se utilizeaza un
spectru mai larg de sisteme, cum ar fi formarea imaginii prin baleierea cu raze laser sau cu
ultrasunete a mediului inconjurator, precum si prin utilizarea sistemelor radar (fig.3).
Din punct de vedere al software-ului utilizat, cele mai moderne tehnici utilizeaza algoritmi adaptivi,
cu ajutorul carora sistemul invata, capatand experienta din situatiile intalnite de-a lungul timpului.

Figura 3 Senzori de vizualizare si pozitionare amplasati pe un vehicul autonom robotizat


Simtul tactil
Cercetari de data recenta au condus la realizarea unor senzori matriceali utilizati pentru a mima
simtul tactil al degetelor umane. Acestia furnizeaza o imagine de inalta rezolutie a suprafetei si
presiunii de contact, care este ulterior utilizata pentru a determina marimi fizico-mecanice precum
masa obiectului manevrat, centrul de masa si coeficientul de frecare. Implementarea acestora la
nivelul sistemelor robotizate care manipuleaza obiecte a fost necesara pentru a creste precizia de
manevrare si dexteritatea, nu doar in industria constructoare de masini ci si in medicina, in cazul
bratelor prostetice inteligente.
Manipularea obiectelor
-4-

Sistemele robotizate industriale si nu numai, sunt dotate cu echipamente de manipulare a obiectelor.


In termeni de specialitate, bratul robotic poarta denumirea de manipulator, in timp ce mecanismul
care realizeaza prinderea obiectului se numeste efector final. Exista posibilitatea ca, la acelasi
manipulator, sa se poata monta diverse tipuri de efectori finali, ceea ce are ca efect cresterea
numarului de tipuri de operatii pe care le poate efectua sistemul robotizat (de exemplu, in cazul
robotilor industriali sunt efectori finali pentru operatii de sudura, vopsire etc; in medicina: efectori
pentru operatii chirurgicale).
In domeniul roboticii, sistemele de prindere sunt grupate in patru categorii:
1. Sisteme impactive: echipamente tip cleste care prind obiectele prin impact direct cu acestea
(fig. 4.a);
2. Sisteme ingresive: echipamente cu ace care efectueaza prinderea prin penetrarea obiectului;
se aplica in general in cazul robotilor din industria textila sau din domeniul manipularii
panzelor din fibra de carbon sau fibra de sticla;
3. Sisteme astrictive: echipamente de prindere prin suctiune (vacuum intre efectorii finali de tip
ventuza si obiectul manipulat fig. 4.b), prin magnetism sau electroadeziune;
4. Sisteme contigutive: prinderea se face prin contact direct (adeziune prin inghetare, lipire, sau
datorita tensiunilor superficiale).

a)
b)
Figua 4 (a) efector impactiv; (b) efector astrictiv cu vacuum
Cinematica si dinamica robotilor
Studiul miscarii componentelor sistemelor robotizate poate fi divizat in cinematica si dinamica.
Cinematica directa consta in determinarea marimilor cinematice (pozitia, orientarea, viteza si
acceleratia efectorului final) atunci cand se cunosc aceste marimi pentru articulatiile
manipulatorului. Cinematica inversa, bazata pe stiinta sintezei mecanismelor, reprezinta cazul opus,
in care se cunosc marimile cinematice pentru manipulator, urmand ca pe baza lor sa se efectueze
calculele cinematice pentru componentele manipulatorului. Aspecte specifice ale cinematicii includ
tratarea redundantei (posibilitati diferite ale sistemului de manipulare care conduc la efectuarea
aceleiasi miscari a manipulatorului), evitarea coliziunilor (intre componentele mobile ale robotului
si elemente din mediul inconjurator, sau autocoliziuni intre componente mobile ale aceluiasi
robot), precum si evitarea cazurilor de singularitate1.

In inginerie, singularitatea mecanica este data de o pozitie sau configuratie a unui mecanism , pentru care pozitia
urmatoare nu poate fi predeterminata, sau pentru care fortele si alte marimi fizice iau valori infinite sau sunt
nedeterminate.
-5-

In urma determinarii marimilor cinematice, se pot aplica studii de dinamica mecanismelor pentru
determinarea fortelor si momentelor, precum si efectele lor asupra miscarii. Calculele de dinamica
se utilizeaza in simularea computerizata a functionarii sistemelor robotizate.
Dinamica inversa are ca scop calculul fortelor necesar a fi dezvoltate de sistemul de actionare al
efectorului final, astfel incat acesta sa aiba o anumita acceleratie. Informatia respectiva poate fi
folosita pentru a imbunatati algoritmul care controleaza miscarea robotului.

Programarea robotilor
Programarea robotilor are rolul de a instrui sistemul robotizat asupra sarcinilor simple sau automate
pe care trebie sa le efectueze. Tehnicile de programare bazate pe fluxurile de date 2 sunt preferate de
majoritatea fabricantilor de roboti. Limbajele de programare bazate pe fluxuri de date incorporeaza
nu doar procesare numerica, ci si concepte functionale.
Software pentru roboti industriali
Programele pentru roboti industriali constau in obiecte de date si liste de instructiuni. De exemplu:
Go to Coord1

Ar putea fi o instructiune care-i transmite robotului sa se deplaseze la pozitia Coord1. Aceasta


pozitie ar putea fi predefinita printr-un set de coordonate carteziene.
Datele si programul in sine sunt localizate in zone diferite de memorie a controller-ului robotului.
De aceea, este posibil ca valorile datelor sa fie schimbate fara a modifica programul si invers. In
exemplul anterior, programatorul poate scrie un alt program care sa utilizeze aceeasi pozitie Coord1
fara a o redefini, sau poate modifica coordonatele pozitiei Coord1 fara a se accesa programul care o
utilizeaza.
La ora actuala exista peste 30 de fabricanti de roboti industriali la nivel mondial, fiecare
implementand propriul software. Lipsa unei standardizari in ceea ce priveste limbajele de
programare a robotilor pune programatorii in fata unor permanente provocari. Din fericire, exista
numeroase similitudini intre aceste programe astfel incat, pe baza unei experiente in domeniu, se
poate deduce semnificatia unui anumit program fara a fi necesar ca, initial, sa se invete limbajul
respectiv in detaliu. Se prezinta in continuare exemple de programare a robotilor in cateva limbaje
comerciale.
Pseudocodul3 initial:
Mergi la P1 (o anumita pozitie de siguranta)
Mergi la P2 (o pozitie aflata in apropierea pozitiei P3)
Mergi la P3 (pozitie necesara pentru a prinde obiectul)
Inchide gripper-ul4
Mergi la P4 (o pozitie aflata in apropierea pozitiei P5)
Mergi la P5 (pozitia la care trebuie plasat obiectul)
Deschide gripper-ul
Mergi la P1 and finalizeaza

Sunt fundamentate pe conceptul conform caruia, atunci cand se modifica valoarea unei variabile, valorile altor
variabile care dependente de aceasta ar trebui sa se modifice.
3
limbaj n proiectarea i documentarea programelor, prin grefarea unor reguli sintactice pe limbaj natural.
4
Termen de specialitate pentru efectorul final utilizat pentru prinderea obiectelor.
-6-

VAL este unul dintre primele limbaje de programare a robotilor si a fost utilizat pentru robotii
Unimate. Pseudocodul de mai sus se poate transcrie in VAL astfel:
PROGRAM PICKPLACE
1. MOVE P1
2. MOVE P2
3. MOVE P3
4. CLOSEI 0.00
5. MOVE P4
6. MOVE P5
7. OPENI 0.00
8. MOVE P1
.END

Limbajul Epson RC+ (exemplu pentru un efetor final vacuumatic):


Function PickPlace
Jump P1
Jump P2
Jump P3
On vacuum
Wait .1
Jump P4
Jump P5
Off vacuum
Wait .1
Jump P1
Fend

Limbajul Roboforth:
: PICKPLACE
P1
P3 GRIP WITHDRAW
P5 UNGRIP WITHDRAW
P1
;

Cu Roboforth se pot predefini zonele din apropierea punctelor cheie, astfel incat nu mai este nevoie
de P2 si P4.
Este evident faptul ca robotul nu ar trebui sa faca deplasari pana cand nu a prins sau nu a eliberat in
totalitate obiectul. Acesti timpi de prindere si eliberare sunt impliciti si nu trebuie specificati in
exemplele in care s-au utilizat comenzile CLOSEI si GRIP. In schimb, comanda On vacuum
necesita precizarea unei perioade necesare prinderii sigure prin vacuum, respectiv eliberarii
obiectului.
Programarea vizuala
Software-ul modelelor de roboti Mindstorms NXT este unul grafic, interactiv, avand ca motor de
programare produsul LabView de la National Instruments. Spre deosebire de majoritatea
programelor clasice, se incepe cu programul, datele fiind definite pe parcurs sau dupa intocmirea
algoritmului.
Programul se construieste prin tragerea in ecranul grafic a unor simboluri reprezentand diferite
componente ale sistemului robotizat. Pentru fiecare simbol se precizeaza apoi valori pentru
parametrii corespunzatori acestuia. De exemplu, pentru un simbol reprezentand un motor al
robotului, timpul de functionare poate fi una din valorile care trebuie precizate.
-7-

Programarea paralela
Aproape toate aplicatiile scrise pentru roboti trebuie sa aiba in evidenta paralelismul si
evenimentele ca declansatori. Paralelismul se refera la executarea de catre sistemul robotizat a doua
sau a mai multor sarcini in acelasi timp. In aceste cazuri se utilizeaza software specific, capabil sa
gestioneze actiuni paralele. Limbajele respective au un grad ridicat de abstractizare si sunt relativ
complexe, oferind insa posibilitati superioare limbajelor clasice, cum ar fi accesul concurent la
aceeasi resursa.
Functiile scrise in aceste limbaje se declanseaza atunci cand are loc un anumit eveniment. Exemplul
urmator este scris in URBI si este scris pentru un robot umanoid al carui cap trebuie sa urmareasca o
fa umana. Recunoasterea fetei umane se face cu un alt program aferent camerei video a robotului.
whenever(face.visible)
{
headPan.val += camera.xfov * face.x
&
headTilt.val += camera.yfov * face.y
}

Codul de mai sus va actiona simultan motoarele care controleaza pozitia capului (denumite in
program headPan si headTilt).

-8-