Documente Academic
Documente Profesional
Documente Cultură
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.).
c) Roboti militari
Figura 1 – Exemple de roboti din diverse domenii de utilizare
Mecanica 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
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
-1-
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.
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
robotii care interactioneaza cu factorul uman sau cand este necesar sa se realizeze operatii
delicate.
-2-
(a) (b)
-3-
Elemente de senzoristică a robotilor
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-
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).
a) b)
Figua 4 – (a) efector impactiv; (b) efector astrictiv cu vacuum
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.
1
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-
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 date2 sunt preferate de
majoritatea fabricantilor de roboti. Limbajele de programare bazate pe fluxuri de date incorporeaza
nu doar procesare numerica, ci si concepte functionale.
Programele pentru roboti industriali constau in obiecte de date si liste de instructiuni. De exemplu:
Go to Coord1
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:
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:
2
Sunt fundamentate pe conceptul conform caruia, atunci cand se modifica valoarea unei variabile, valorile altor
variabile care depind 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-
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
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.
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
-7-
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-