Universitatea Politehnica Bucureşti [305742]

Universitatea POLITEHNICA București

Facultatea Automatică și Calculatoare

Departamentul Automatică și Informatică Industrială

LUCRARE DE LICENȚĂ

Proiectarea și programarea unui ansamblu format din 2 roboți

Coordonator Absolvent: [anonimizat]. Silviu Răileanu Măcău Maria Giorgiana

București, 2016

Cuprins

Listă tabele

Tabel 2.1 Exemple de roboți industriali 17

Tabel 3.1 Valorile pulsurilor 47

Tabel 3.2 Rezoluția motoarelor 48

Tabel 3.3 [anonimizat] 50

Listă figuri

Fig. 2.1. [anonimizat] 12

Fig. 2.2. a) Robotul Zeus, b) Robotul DaVinci 13

Fig. 2.3. a) Canadarm2, b) Dextre 14

Fig. 2.4. Sistemul japonez de manipulare de la distanță (JEMRMS) 14

Fig. 2.5. Schema structurală a unui robot 15

Fig. 2.6. a) FANUC CR35iA, b) KUKA KR 240, c) Motoman HP-20, d) ABB YuMi 17

Fig. 2.7. Încheietură sferică 18

Fig. 2.8. Tipuri de roboți în funcție de sistemul de coordonate 19

Fig. 2.9. Robot hiperredundant 20

Fig. 2.10. Robot cu 6 grade de libertate 20

Fig. 2.11. Tipuri de unelte terminale 22

Fig. 2.12. Sistem de acționare 23

Fig. 2.13. a) motor pas cu pas, b) servomotor 24

Fig. 2.14. Caracteristicile impulsului PWM 25

Fig. 2.15. Exemplu de sistem de reglare al unui servomotor 26

Fig. 2.16. Poziția în care se poate afla un segment 27

Fig. 2.17 Mișcarea de a) translație, b) rotație. 28

Fig. 2.18. Cinematica mișcării 29

Fig. 2.19. [anonimizat] 30

Fig. 2.20. Planificarea și controlul mișcării 34

Fig. 2.21. Planificarea mișcării 35

Fig. 2.22. Spațiul de lucru 37

Fig. 2.23. Exemplu de mișcări interpoalte între puncte 37

Fig. 3.1. Imagine în Catia a ansamblului 40

Fig. 3.2. Imagine în Catia a componentelor individuale 40

Fig. 3.3. O parte din piese după ce au fost tăiate la CNC 41

Fig. 3.4. Exemplu de piese lipite cu superglue 41

Fig. 3.5. Asamblarea bazei roboților 42

Fig. 3.6. Imagine de ansamblu a bazei 42

Fig. 3.7. Imagine de ansamblu a [anonimizat] 42

Fig. 3.8. Imagine de ansamblu a componentelor unuia dintre grippere 43

Fig. 3.9. Ansamblul mecani cuprinzând cei 2 roboți, fără grippere 43

Fig. 3.10. Forțele ce acționează asupra unui braț și momentele dezvoltate 44

Fig. 3.11. Servomotor MG996R, impuls PWM și firele pentru conexiune 46

Fig. 3.12. Servomotor SG90 9G, impuls PWM și firele pentru conexiune 46

Fig. 3.13. Arduino Mega 2560 48

Fig. 3.14. Sursele de alimentare 49

Fig. 3.15. Asignarea sistemelor de coordonate 50

Fig. 3.16. Reprezentarea în spațiu a unuia dintre roboți 52

Fig. 3.17. Anvelopa de lucru a ansamblului 55

Fig. 3.18. Anvelopa de lucru a ansamblului văzută de sus 56

Fig. 4.1. Schema hardware a sistemului 57

Fig. 4.2. Schema de alimentare a sistemului 59

Fig. 4.3. Interfața grafică în Labview 60

Fig. 4.4. Implementarea cinematicii inverse 61

Fig. 4.5. [anonimizat] 61

Fig. 4.6. Comanda manuală a roboților 63

Fig. 4.7. Imagine de ansamblu 63

Fig. 5.1. Prima versiune de robot 65

1. Introducere

În prezent roboții au devenit indispensabili din mediul industrial. Au apăruți inițial pentru a [anonimizat], deoarece efectuează taskurile mult mai rapid și eficient aspect care a dus la creșterea productivității.

Sunt folosiți într-o [anonimizat]mblare, vopsire, lipire, sudare, manipulare.

Construirea unui robot și programarea acestuia necesită cunoștințe din domenii precum cel electric, mecanic, ingineria sistemelor, mecatronic, noțiuni de matematică și programarea calculatoarelor.

Apariția microcalculatoarelor Arduino și a microcomputerelor Rasberry Pi, accesul la informație facilitat de internet și posibilitatea de a achiziționa online componentele necesare construirii lor au condus la apariția unor roboți handmade similari ca aspect marilor roboți industriali.

Această lucrare prezintă construirea și programarea unui ansamblu format din doi roboți ce au un total de 10 grade de libertate, câte 5 fiecare. Sunt echipați cu servomotoare prevăzute cu encodere pentru mișcarea articulațiilor și controlați cu ajutorul unei plăcuțe Arduino Mega 2560, care comunică cu un calculator prin intermediul conexiunii USB.

Pentru alimentarea motoarelor sa folosit o sursă de tensiune VICOR, care furnizează 5V și 40A. Pentru alimentarea ambilor roboți în același timp este nevoie de maxim 20A, jumătate din valoarea furnizată de sursă. Servomotoarele sunt alimentate la 5V și își extrag curentul necesar pentru funcționare, ceea ce înseamnă că nu există pericolul de a le arde. Sursa este prevăzută cu protecție la scurtcircuit, suprasarcină și supratemperatură. Alimentarea acesteia se realizează de la rețeaua electrică.

Au fost gândiți pentru a efectua taskuri simple de mișcare a unor obiecte cu o greutate maximă de 330g, cu evitarea coliziunii.

Softul de mișcare a fost scris utilizând mediul de programare Labview și are la bază studiul cinematicii mișcării și generarea traiectoriei unei traiectorii în spațiul cartezian.

Rezolvarea problemei cinematicii directe se face pe baza parametrilor Denavit-Hartenberg, iar soluționarea cinematicii inverse presupune utilizarea unei metode analitice bazate pe ecuații trigonometrice pentru a reduce soluțiile multiple apărute în cazul în care s-ar fi folosit o abordare geometrică.

Un alt aspect discutat în lucrare este studiul singularităților cinematice care duc la reducerea numărului de grade de libertate prin alinierea a două axe de mișcare și parametrii tehnici ai roboților.

Scopul lucrării este de a introduce noțiuni fundamentale ale controlului și proiectării roboților cum ar fi calculul cuplului necesar alegerii corespunzătoare a motoarelor, studiul cinematic, modalități de planificare a mișcării sau soluționarea matricei Jacobiene folosită în determinarea singularităților.

Această lucrare este împărțită în 5 capitole. Primul este cel introductiv. În cel de-al doilea capitol sunt prezentate noțiuni generale despre roboți industriali, câteva aplicații, studiul cinematic, parametrii importanți, o scurtă clasificare, generarea traiectoriei, studiul singularităților. Despre soluția abordată în proiectarea și programarea unui ansamblu robotic se vorbește în capitolul 3. În cea de-a patra parte a lucrării este prezentată aplicația, rezultatele obținute și tehnologiile folosite. Secțiunea cinci încheie lucrarea cu obiectivele atinse și obstacolele întalnite.

2. Roboți industriali

2.1 Introducere

Conceptul de robot datează din Antichitate, de pe vremea populațiilor antice precum: China, Grecia sau Egipt. Oamenii au încercat încă de pe atunci să copieze comportamentul animalelor și să îl transpună în cel al mașinăriilor autonome, însă, abia în ultimele decenii s-au obținut rezultate promițătoare în ceea ce privește proiectarea și programarea roboților.

Termenul „robot” a fost folosit pentru prima dată de scriitorul ceh Karl Capek în piesa „Rossum’s universal robots” pentru a desemna un om artificial, realizat din materiale sintetice.

Isaac Asimov definește cele trei legi care stau la baza programării roboților și anume faptul că un robot nu ar trebui să rănească un om, sau să permită rănirea unui om, să se supună ordinelor venite din partea unui operator uman, cu excepția încălcării primei reguli și un robot ar trebui să se protejeze, în afară de cazul în care intră în contradicție cu primele 2 reguli [1].

În 1954 George Devol solicit un brevet în care se regăsește termenul “unimation” ce definește o mașinărie cu aplicații universale ce se execută ciclic, controlată cu ajutorul unui calculator, punând astfel bazele roboților industriali moderni. Ulterior, împreună cu Joseph Engelberger înființează prima companie ce produce roboți, Unimation, iar câțiva ani mai târziu dezvoltă primul brat robotic pentru care sunt cheltuiți aproximativ 5 milioane de dolari [2], utilizat pentru operații de asamblare, manipulare și sudare. Acesta este expediat în 1961 firmei General Motors din New Jersey [3]. În 1966 încep producția în masă a roboților, iar în 1978 produc primul robot universal pentru asamblare, PUMA.

În Europa bazele roboților industriali sunt puse de către firma germană Kuka Robotics, care în 1973 dezvoltă primul robot cu 6 axe de mișcare acționate cu ajutorul unor motoare electrice, numit FUMULUS și ABB Robotics, care un an mai târziu produce IRB 6, primul robot industrial controlat cu ajutorul unui microcalculator, disponibil comercial.

Roboții au cunoscut o dezvoltare semnificativă odată cu creșterea tehnologică. Printre cei mai cunoscuți roboți se numără Titan, produs de KUKA Robot Group, având o sarcină utilă de 1000kg și o viteză de până la 2.5m/s deține recordul de cel mai puternic și rapid robot cu 6 grade de libertate [4], fiind folosit în aplicații de paletizare. Alte exemple care arată nivelul de dezvoltare la care au ajuns roboții sunt FANUC CR-35iA și YuMi, fiind primii roboți colaborativi. Primul este produs de compania înființată de Dr. Seiuemon Inaba, cel care a pus bazele motoarelor hidraulice cu impuls electric și calculatoarelor cu comandă numerică [5]. Acesta este primul robot colaborativ, care poate lucre alături de un operator uman, fără a necesita prezența unui gard de siguranță, datorită opririi imediate la contact. Cu o sarcină utilă de 35kg și dotat cu recunoaștere vizuală [6] este capabil să realizeze operații de asamblare cu o precizie ridicată. Cel de-al doilea este produs de ABB, fiind primul robot colaborativ cu 2 brațe, care spre deosebire de precedentul are o sarcină utilă, anvelopă de lucru, repetabilitate și dimensiuni mult mai reduse [7]. Are un algoritm care rulează în timp real pentru evitarea coliziunii. Acest lucru, precum și faptul că pe fiecare efector terminal poate fi montată o camera de vedere îl fac util în realizarea unor operații diferite de asamblare efectuate în același timp.

Alte tipuri de roboți colaborativi sunt UR3, UR5, UR10 produși de Universal Robots. Spre deosebire de restul roboților industriali, care sunt construiți pentru a efectua o singură operație, aceștia sunt ușor de programat și au o flexibilitate mult mai mare datorită efectorului terminal căruia i se pot atașa diferite unelte. Ei pot fi folosiți pentru a realiza operații de asamblare, vopsire, lipire, sudare, în diferite domenii.

Odată cu producerea pe scară largă a microcontrollerelor de tip Arduino sau a microcomputerelor Rasberry Pi și a imprimantelor 3D a devenit posibilă realizarea de către oricine care posedă minime cunoștințe de programare, a brațelor robotice. Câteva exemple care merită a fi menționate sunt: Dobot și Eva. Primul este construit cu donații provenite de pe www.kickstarter.com [8], controlat cu ajutorul unei plăcuțe Arduino. Poate realiza operații de scriere, printare 3D, tăiere cu laser sau altele cu o precizie de până la 0.2mm și poate suporta până la 7 metode de control [9].

Eva produs de Automata Technologies este un robot în 6 axe printat în întregime la imprimantă 3D. Având o greutate de doar 2.5kg este ușor de manevrat, cu o sarcină utilă de 0.75kg. Poate realiza operații cu o precizie de până la 1mm și o viteză de 100°/secundă [10].

Apariția roboților a survenit ca o necesitate în folosirea lor în diferite aplicații pentru a înlocui operatorul uman sau pentru a-i ușura munca.

Printre avantajele folosirii lor se numără:

Pot efectua taskuri în mod repetitiv, fără a necesita pauză de odihnă, concediu medica, putând lucra non stop, fapt ce conduce la creșterea productivității.

Sunt utilizați în aplicații cu un grad mare de precizie și repetabilitate, cum ar fi asamblarea componentelor unui microprocesor , ducând la obținerea de piese cu o calitate superioară, față de cele produse de un muncitor.

Pot fi folosiți în condiții nefavorabile, unde temperaturile sunt ridicate, în aplicații de sudură sau medii toxice. Un exemplu de folosire este în cazul procedurii de vopsire a caroseriei unei mașini ce implică eliminarea unor vapori toxici pentru operatorul uman.

Pot fi programați să efectueze mai multe taskuri simultan.

Dezavantajele folosirii unui ansamblu format din roboți în industrie sunt:

Necesitatea instruirii operatorilor umani pentru a putea interacționa cu robotul, ceea ce conduce la creșterea costurilor și pierderea timpului.

Prețul unei instalații automate ce conține roboți este foarte ridicat.

Nu pot fi utilizați în aplicații în care este necesar un grad mare de observație, cum ar fi detectarea diferitelor tipuri de materiale.

Prezintă limitări în ceea ce privește numărul de grade de libertate, dexteritate, sistemul de vedere sau răspunsul în timp real.

2.2 Tipuri de aplicații în care sunt folosiți roboții

În prezent roboții au devenit din ce în ce mai populari datorită domeniului larg de aplicații caracterizate prin repetabilitate în care sunt folosiți, cum ar fi cel medical, aerospațial sau în industrie. Ei pot realiza o serie de operații ca: ambalare, manipularea substanțelor toxice sau radioactive, vopsire, sudură, realizarea microoperațiilor chirurgicale, încărcarea sau descărcarea cu o viteză, precizie și forță foarte mari. Scopul principal al roboților este de a realiza operații care nu pot fi efectuate în mod normal de către oameni sau de a venii în ajutorul acestora.

Atunci când este construit un robot trebuie avute în vedere anumite aspecte, cum ar fi aplicația pentru care este destinat, dacă operează sau nu în prezența oamenilor, precum și o serie de parametrii tehnici ca: fiabilitate, viteză, precizie, spațiul de lucru, dexteritate.

Cel mai utilizat tip de aplicații este acela de manipulare a materialelor unde roboții realizează operații de pick and place sau paletizare cu o viteză, repetabilitate, precizie și forță mult mai mari decât un operator uman, în liniile de fabricație. Folosirea unei linii de asamblare alcătuite din roboți reduce costurile de producție, crește productivitatea și calitatea pieselor. De obicei, roboții sunt plasați pe un stand, în fața unei benzi transportoare pe care vin piesele, ce urmează a fi inspectate cu ajutorul unui sistem format din camere video. În funcție de rezultatul analizei, robotul preia produsele și le depune în locația corespunzătoare. Cele mai importante companii care se ocupă cu produsul acestui tip de roboți sunt: Kuka, ABB, Motoman și Fanuc.

Un alt tip de aplicație des întâlnit în industrie este cea de sudură pentru care s-au dezvoltat diferite tehnici de realizare și roboți prevăzuți cu efectori terminali aferenți. Aceste metode sunt: sudarea electrică cu arc, cu electrod învelit, cu plasmă, cu flacără oxi-acetilenă, cu fascicul de electroni sau cu fascicul de fotoni, procedeul WIG (cu electrod nefuzibil în mediul de gaz), procedeul MIG/MAG[11]. Deși este recent introdusă, în prezent 20% [12] din roboți sunt folosiți în aplicația de sudură.

Alte tipuri de aplicații industriale sunt: vopsire automată, lipire, etanșare, asamblare, găurire, înșurubare, tăiere.

Fig. 2.1. Roboți care realizează operații de sudură, respectiv vopsire

Un alt domeniu în care roboții sunt foarte utilizați este cel medical. În 1985 se folosește pentru prima dată un robot PUMA 560 într-o operație chirurgicală [13]. Câțiva ani mai târziu, Agenția Națională a Medicamentelor din Statele Unite ale Americii adoptă sistemul robotic DaVinci. Acest sistem nu numai că îi permite chirurgului să vadă zona afectată, dar îi și oferă posibilitatea de a se afla în altă sală de operații, sau în altă parte a globului. Fiind format dintr-o cameră video de înaltă rezoluție și 4 brațe robotice, permite realizarea de intervenții chirurgicale de o mare precizie cu efectuarea de incizii de mici dimensiuni, ceea ce reduce riscul de infecție.

O altă aparatură aprobată de FDA este robotul Zeus asemănător celui precedent, dar format din 3 brațe robotice: unul care îi permite doctorului să vadă în interiorul pacientului și 2 care îi imită mișcările [14].

Fig. 2.2. a) Robotul Zeus, b) Robotul DaVinci

Spre deosebire de acestea, proiectul Borca propune realizarea unui robot chirurgical format din 3 UR5 care să funcționeze individual sau într-o manieră coordonată, având un preț mult mai redus față de precedentele astfel încât să fie accesibil tuturor spitalelor [15].

Sofie este primul robot cu circuit de feedback pentru forță, dezvoltat de Linda van den Badem [16]. Este alcătuit dintr-o configurație master-slave. Este prevăzut cu o stație de lucru ce îi permite chirurgului să efectueze operații minim invazive prin manipularea celor 3 brațe, 2 pentru unelte medicale și una pentru camera video. Avantajul folosirii unui astfel de robot este costul redus, comparativ cu aparatura medicală deja existentă și circuitul de feedback.

Un alt loc în care sunt folosiți roboții este pe Stația Spațială Internațională. Canadarm2 face parte din sistemul de manipulare la distanță (SSRMS) și Dextre (SPDM), ambele aparținând Sistemului de Deservire Mobilă (MSS). Primul are 7 grade de libertate ce îi oferă posibilitatea de a captura și manevra obiecte în spațiu având o sarcină utilă de 116000kg. Cel de-al doilea este format din 2 brațe robotice, poate fi atașat primului robot și are rolul de a efectua sarcini mult mai delicate de asamblare sau de reparație a navei.

Fig. 2.3. a)Canadarm2, b)Dextre

ERA este primul robot ce urmează să lucreze pe Stația Spațială Rusă capabil să execute operații în mod automat sau semiautomat precum: instalarea sau înlocuirea panourilor solare, inspecția stației, manipularea sarcinilor exterioare, asistarea astronauților [17].

Cel de-al treilea braț robotic de pe Stația Spațială este JEMRMS unul din cele 6 elemente componente [18] ale modulului Kibo și are rolul de a realiza operații de pick and place.

Fig. 2.4. Sistemul japonez de manipulare de la distanță (JEMRMS)

Roboții manipulatori au devenit în prezent de neînlocuit în industrii precum cea automotivă, aerospațială sau nucleară.

2.3 Sistemele componente ale unui robot industrial

O scurtă evaluare a roboților arată că aceștia sunt alcătuiți din 6 părți: o parte de acționare, una mecanică, electrică, senzorială, de control și comandă.

Un studiu al roboților industriali construiți până în prezent arată că au o geometrie asemănătoare, de tip PUMA, în care cea mai mare parte a greutății este localizată la bază pentru a asigura o mai bună dexteritate și pentru a permite ridicarea unor obiecte cu o greutate și o viteză mai mari.

Fig. 2.5. Schema structurală a unui robot

Structura mecanică este asemănătoare brațului uman formată din segmente conectate prin intermediul articulațiilor astfel încât să formeze un lanț cinematic serial. Are un capăt fix numit bază și unul mobil, efectorul terminal căruia i se atașează diverse unelte cu ajutorul cărora efectuează operații specifice. [19]

Sistemul de acționare este format din partea motoare și are rolul de a realiza mișcarea efectivă a elementelor componente din sistemul mecanic. O articulație poate realiza o deplasare liniară de-a lungul unei axe, numită mișcare de translație sau circulară, numită rotație fiecare având un singur grad de libertate. Mișcarea relativă a articulațiilor determină o mișcare relativă a segmentelor ce conduc la poziționarea efectorului într-o anumită locație.

Partea electrică este formată din sursele de tensiune, utilizate pentru alimentarea controllerului, a diferitelor tipuri de senzori și a motoarelor, folosite în acționarea brațului robotic.

Sistemul senzorial este format din senzori și traductoare. Traductoarele achiziționează date legate de starea manipulatorului, cum ar fi viteze, accelerații, forțe, presiuni de contact, iar senzorii preiau informații legate de parametrii mediului exterior și influența lor asupra robotului, precum și legate de starea internă a robotului.

Sistemul de comandă este asemănător sistemului nervos uman și are rolul de a transmite comenzi sistemului de acționare. Cuprinde aplicația om-mașină prin intermediul căreia operatorul uman controlează mișcarea robotului.

Ultima parte, cea de control este alcătuită dintr-un microcontroller care se ocupă cu interpretarea instrucțiunilor de nivel înalt utilizate în calcularea cinematicii inverse și a traiectoriei optime de mișcare a robotului pentru a aduce efectorul terminal în poziția și orientarea dorită.

2.4 Parametrii caracteristici

Roboții sunt caracterizați de o serie de parametrii tehnici:

Numărul gradelor de libertate ale robotului, de obicei este dat de numărul de actuatoare și reprezintă numărul maxim al deplasărilor efectuate de unealtă, fără a lua în considerare mișcarea de prehensiune. Numărul de axe necesare pentru a descrie un punct în spațiu este egal cu 3, iar pentru un punct în plan este egal cu 2.

Anvelopa de lucru cu dexteritatea este dată de volumul maxim ce poate fi atins de robot cu efectorul terminal, când acesta execută toate mișcările posibile. Depinde de limitările unghiurilor motoarelor, lungimea segmentelor, configurația și dimensiunile robotului.

Sarcina utilă reprezintă greutatea totală ce poate fi ridicată cu ajutorul gripperului.

Viteza la vârf.

Accelerație.

Precizia exprimă cât de aproape de poziția comandată poate fi poziționat efectorul terminal.

Repetabilitatea reprezintă capacitatea unui robot de a duce efectorul terminal într-o poziție comandată pentru un task ce se execută în condiții identice de mediu și sarcină utilă, de un anumit număr de ori.

Dexteritatea este proprietatea de a atinge diferite puncte în spațiu, sub diferite poziții și orientări ale efectorului terminal.

Redundanța apare atunci când un robot are un număr de grade le libertate mai mare decât este necesar pentru efectuarea operațiilor pentru care a fost proiectat.

Rezoluția este dată de rezoluția traductoarelor și reprezintă mărimea unității elementare pe care o poate procesa. Este similară preciziei.

În general, în momentul în care se proiectează un robot trebuie să se țină cont de aplicația pentru care este construit. Cea mai mare parte din roboți este utilizată pentru aplicații de uz industrial cu un grad de repetabilitate, acuratețe mare, în care trebuie să fie capabili să ridice o anumită sarcină utilă cu o anumită viteză, fără să intre în coliziune cu operatorii umani, sau alți roboți aflați în vecinătate.

Cele mai cunoscute sisteme de manipulare sunt produse de Motoman, Kuka, ABB sau FANUC [20]. În tabelul de mai jos sunt prezentați roboți și specificațiile acestora:

Tabel 2.1 Exemple de roboți industriali

Fig. 2.6. a)FANUC CR35iA, b)Kuka KR 240, c)Motoman HP-20, d)ABB YuMi

2.5 Clasificarea roboților industriali

Necesitatea folosirii roboților pe scară largă în industrie pentru a crește nivelul de automatizare a structurii de producție a dus la îmbunătățiri continue aduse sistemului mecanic, elementelor de interfață și procesare hardware. Astfel, roboții au dobândit noi funcții devenind mașinării mai complexe prevăzute cu senzori și camere video pentru procesare de imagine în timp real. Acest aspect a dus la clasificarea roboților nu numai după structura mecanică, ci și în funcție de gradul de inteligență, dat de capacitatea de adaptare la factori externi perturbatori.

Roboții industriali se clasifică după următoarele criterii:

În funcție de sistemul de coordonate utilizat pentru a descrie mișcarea se disting:

Robot cartezian: are 3 axe de mișcare, care corespund sistemului de coordonate cartezian , este caracterizat prin precizie, repetabilitate, rigiditate mecanică mare, iar anvelopa de lucru este de forma unui paralelipiped dreptunghic. Se utilizează în operații de tip pick and place, asamblare sau așchiere.

Robot cilindric: are 2 mișcări de translație și una de rotație, de obicei se pot deplasa linear pe axele de coordonate Z și Y și efectua o mișcare de rotație de-a lungul axei Z, având volumul de lucru de forma unui cilindru. Spre deosebire de primul are o anvelopă de lucru mai mare, dar rigiditate mai scăzută.

Robot sferic: este caracterizat prin anvelopa de lucru de formă sferică, 2 mișcări de rotație și una de translație. Este mai complex decât roboții cartezieni și cilindrici.

Robot SCARA: are 3 mișcări de rotație și una de translație. Sunt utilizați în operații de paletizare, asamblare, încărcare, descărcare, datorită mișcării liniare a axei 3.

Robot articulat: este similar brațului uman, format din mișcări de rotație, cu o precizie mai scăzută. Axele celor 3 articulații de rotație sunt paralele. Este destinat folosirii în aplicații mai complexe.

Încheietura sferică: asemănătoare încheieturii umane, în care cele 3 axe se intersectează într-un singur punct. Cinematica inversă a roboții care prezintă o asemenea configurație se poate rezolva prin efectuarea unei decuplări a încheieturii din braț, conducând la obținerea unor ecuații simpliste.

Fig. 2.7. Încheietură sferică

Fig. 2.8. Tipuri de roboți în funcție de sistemul de coordonate

După mobilitate: staționari sau mobili. Cei mobili pot fi roboți care se rostogolesc, aleargă sau sar. De obicei, roboții industriali sunt amplasați pe o platformă mobilă care le permite deplasarea în spațiul de lucru.

După structura cinematică: lanț cinematic serial sau lanț cinematic închis.

În funcție de modul de acționare: electric, hidraulic, pneumatic sau hibrid.

După taskul pentru care a fost proiectat: manipulare, transport, asamblare, dezasamblare, procesarea materialelor (tăiere, sudare, vopsire).

După numărul gradelor de libertate: cu 3 sau mai multe grade de libertate. În această categorie intră roboții hiperredundanți cu mai multe grade de libertate decât este necesar folosiți în medicină sau exploatare.

Fig. 2.9. Robot hiperredundant

In general, cel mai utilizat tip de robot este cel articulat cu 6 axe de mișcare, staționar, acționat electric, utilizat în industrie:

Axa 1 este localizată la baza robotului și îi permite acestuia să își extindă anvelopa de lucru, putând atinge puncte situate în spatele său.

Axele 2 și 3 permit balansarea sus-jos a brațului, respectiv a antebrațului, în acest mod este capabil să atingă puncte situate deasupra lui.

Axa 4 corespunde unei mișcări de rostogolire a încheieturii.

Axa 5 exprimă mișcarea de înclinare a încheieturii.

Axa 6 redă o mișcare de rotație circulară a efectorului terminal.

Fig. 2.10. Robot cu 6 grade de libertate

2.6 Tipuri de efectori terminali

În prezent roboții sunt indispensabili din ciclul de producție întrucât pot efectua taskuri în mod repetitiv, cu o precizie mare, pe o perioadă lungă de timp, fără a necesita pauze. Cu toate acestea un robot nu poate îndeplinii nici o aplicație, dacă nu este prevăzut cu o unealtă terminală. Putem spune, deci că efectorul terminal reprezintă cea mai importantă parte, deoarece realizează conexiunea între robot și spațiul de lucru.

Majoritatea problemelor care apar în producție sunt cauzate de alegerea necorespunzătoare a efectorului terminal. În alegerea acestuia trebuie să se țină cont de procesul pentru care este proiectat robotul, ciclul de producție care depinde de viteza necesară pentru închiderea/deschiderea gripperului, precizie, mediu de lucru, sarcina utilă. Cu cât unealta cântărește mai mult, cu atât sarcina totală ridicată va fi mai mică. Un alt aspect de care trebuie să se țină cont este obiectul manipulat, dimensiunea, forma și greutatea acestuia.

În funcție de aplicație se disting mai multe tipuri de unelte terminale:

Acționate electric utilizând servomotoare. Printre avantaje se numără: flexibilitate în controlul forței și vitezei de închidere/deschidere a cleștilor și detectarea prinderii obiectelor fără a utiliza senzori adiționali.

Acționate penumatic folosind aer comprimat introdus într-un piston pentru a determina mișcarea. Datorită designului simplu au un cost redus, dar sunt mai dificil de utilizat, pentru că nu se pot controla forța și viteza de prindere, de asemenea pot compromite calitatea aerului, datorită pierderilor din sistemul penumatic ducând la degradarea pieselor.

Ventuze ce folosesc vacuum pentru a prinde obiecte. Au un preț redus și pot fi utilizate într-o gamă largă de aplicații în care obiectele manipulate au o suprafață plată, lipsită de găuri. Pentru că pot lăsa urme pe suprafețe, este necesar să se introducă un nou pas de curățare, ducând la creșterea costului și a timpului de producție

Grippere magnetice cu electromagneți sau magneți permanenți. Sunt asemănătoare ventuzelor, dar pot fi folosite doar cu obiecte realizate din materiale feromagnetice. Au o viteză de prindere mare, nu necesită mentenanță, pot prinde piese ce prezintă găuri pe suprafață, totuși viteze mari sau prezența picăturilor de ulei la exteriorul acestuia conduc la desprinderea obiectelor.

Acționate hidraulic. Sunt destinate taskurilor ce necesită o forță mare de prindere. Necesită mentenanță datorită uzurii provocate în timpul efectuării operației și nu pot fi utilizate acolo unde există riscul de contaminare cu lichide, cum ar fi industria alimentară sau farmaceutică.

Unelte speciale folosite în aplicații de sudură, vopsire, tăiere, lustruire, găurire.

Fig. 2.11. Tipuri de efectori terminali

2.7 Sistemul acționare

Un sistem de acționare este alcătuit din totalitatea surselor energetice, a motoarelor, convertoarelor necesare punerii în mișcare a brațului, precum și din alte elemente implicate în transferul energetic. Sistemele de acționare pot fi: hidraulice, pneumatice și electrice. Acesta din urmă este cel mai des întâlnit.

Fig. 2.12. Sistem de acționare

Un sistem de acționare hidraulic folosește un cilindru și un piston pentru pomparea lichidului într-o incintă, urmând ca pistonul să fie comprimat pentru a produce forța necesară acționării brațului. Este destinat aplicațiilor în care se dorește obținerea de viteze, forțe și puteri mari. Deși forța produsă este foarte mare, mecanismul este foarte complex, pot apărea pierderi de ulei între conducte și componente,iar controlul mult mai dificil, comparativ cu motoarele electrice. Bulele de aer sau impurități care pot apărea în interiorul lichidului duc la pierderea preciziei și necesită mecanisme de filtrare.

Sistemul de acționare pneumatic este similar celui hidraulic, dar spre deosebire de acesta folosește aer sau gaz pentru a genera forță. Actuatoarele pneumatice sunt formate dintr-un cilindru în care se introduce aer sau gaz comprimat. În interiorul camerei presurizate gazul se extinde, creându-se o diferență de presiune, urmând ca mai apoi acesta să fie eliberat într-o manieră controlată către un piston sau alt dispozitiv mecanic, generându-se în acest mod forța necesară acționării. Actuatoarele penumatice sunt ușor de construit și controlat, mai sigure și mai durabile.

Sistemele de acționare electrice sunt mult mai eficiente din punct de vedere al costurilor. Sunt formate din actuatoare folosite pentru conversia energiei electrice în cuplu, un circuit electric sau amplificator, sistem de transmitere și alimentare.

Spre deosebire de precedentele au un grad de repetabilitate și precizie mult mai mare, oferă feedback pentru controlul poziției, sisteme pentru amplificarea semnalului, encoder pentru reglarea mărimilor ca forța, viteză, accelerație, ușurință în racordarea la rețeaua electrică.

Datorită faptului că funcționează în mod continuu, apare pericolul de supraîncălzire, motiv pentru care este necesar folosirea unui sistem de răcire, care duce la creșterea costurilor.

Cele mai utilizate tipuri de actuatoare electrice folosite în acționarea articulațiilor roboților industriali sunt: servomotoarele sau motoarele pas cu pas, fiecare prezentând o serie de avantaje și dezavantaje.

Fig. 2.13. a) motor pas cu pas, b) servomotor

Motorul pas cu pas este un dispozitiv electromecanic, alcătuit dintr-un rotor, de obicei un magnet permanent și un stator care transformă un tren de impulsuri dreptunghiulare în mișcări mecanice discrete, folosit în aplicații unde se dorește poziționarea precisă la viteze mici. Este un motor de curent continuu fără perii ce execută o rotație completă într-un anumit număr de pași.

Principiul de funcționare ce stă la baza rotirii motorului constă în crearea unui câmp magnetic ce acționează asupra unei bobine. În funcție de ce bobină este alimentată se efectuează alinierea rotorului cu câmpul magnetic. Sensul de rotație poate fi comandat unipolar sau bipolar.

Avantajele folosirii motoarelor pas cu pas sunt: mai ieftine și ușor de folosit față de un servomotor, pot funcționa în buclă deschisă, au un cuplu mare la viteză mică, au o precizie și o rezoluție mare, un moment maxim în poziția oprit dacă bobinele sunt alimentate, permit opriri/porniri/reversări fără pierdere de pași. Ca dezavantaje au o viteză de rotație și o putere dezvoltată la arbore mică, un randament energetic scăzut, necesită driver pentru control, au o funcționare zgomotoasă, cuplul este proporțional cu viteza.

Servomotoarele sunt motoare de curent continuu sau alternativ prevăzute cu un circuit reductor, un potențiometru pentru determinarea poziției și un circuit de control. Dacă poziția de ieșire diferă de cea dorită, semnalul de eroare generat pe baza feedbackului, determină comandarea rotirii motorului în direcția corespunzătoare. Prin intermediul circuitului integrat se aduce axul de ieșire cât mai aproape de poziția dorită. Viteza de rotație este proporțională cu distanța dintre unghiuri. Cu cât distanța este mai mare, cu atât viteza crește.

Un servomotor are 3 fire: masă, alimentare și control. Funcționarea motorului presupune aplicarea unui semnal de control de tip PWM (Pulse Width Modulation), ce se mapează în poziția dorită a arborelui.

Spre deosebire de motoarele pas cu pas, acestea funcționează în buclă închisă. Dacă un stepper sare peste un pas nu există nici un circuit de feedback care să avertizeze în legătură cu acest lucru.

Controlul vitezei, poziției sau accelerației servomotoarelor se realizează de obicei cu un algoritm de reglare de tip PID.

Avantajele motoarelor sunt: cuplu și viteză mari, funcționare silenționasă. Cu toate acestea, servomotoarele sunt mai scumpe, nu pot funcționa în buclă deschisă, iar majoritatea au o rotație limitată la 180°.

Sunt folosite datorită ușurinței cu care pot fi controlate viteza și poziția cu ajutorul impulsulsui PWM. Parametrii acestui impuls sunt: puls minim, puls maxim și rata de repetiție. Valoarea neutră se definește ca fiind poziția unde servomotorul se rotește în sens orar cu aceeași viteză cu care se rotește în sens antiorar. Unghiul de rotație se calculează ca fiind durata pulsului aplicat firului de control.

Fig. 2.14. Caracteristicile impulsului PWM

Spre exemplu dacă se aplică un puls de 0.6ms, motorul își menține poziția, la un puls mai mare de 1.5ms se deplasează la 90°, iar la unul de 2ms trece în 180°.

În general se folosesc servomotoare deoarece sunt prevăzute cu un encoder pentru determinarea precisă a poziției, spre deosebire de motoarele pas cu pas unde poate apărea pericolul de a pierde pași, datorită faptului că nu se cunoaște poziția reală.

Un servomotor este un dispozitiv electric, mecanic sau electromecanic al cărui principiu de funcționare constă în aplicarea la intrare a unui semnal de stimul analog sau digital, pe baza căruia se generează un semnal de feedback pentru controlul poziției sau derivate ale acesteia, cum ar fi viteza sau accelerația. Caracteristicile urmărite la reglare sunt: răspuns în timp rapid, suprareglaj și eroare staționară cât mai mici.

Servomotoarele pot fi de 2 tipuri: de curent continuu sau alternativ. Acesta din urmă este cel mai utilizat în roboții industriali. Este alcătuit din:

Stator cu miez și înfășurări, pentru producerea cuplului.

Rotor cu ax, miez și magnet permanent pentru generarea de puteri mari.

Encoder optic sau magnetic pentru măsurarea vitezei de rotație a axului de ieșire.

Aceste elemente combinate cu un algoritm de control PID permit aducerea servomotorului în poziția dorită, mult mai rapid și mai precis, cu un suprareglaj mic.

Fig. 2.15. Exemplu de sistem de reglare al unui servomotor

Algoritmul PID (control proporțional integral derivativ) este folosit pentru minimizarea erorii prin comanda variabilei controlate. Pe baza unui semnal de feedback în buclă închisă se calculează eroarea dintre referința dată la intrarea motorului și variabila măsurată a poziției. Cu cât eroarea este mai mare, cu atât se ajustează poziția axului rotoric, prin aplicarea unui curent proporțional cu distanța dintre unghiul inițial și cel final.

Un exemplu în care servomotoarele de curent alternativ sunt folosite în roboți industriali sunt aplicații de paletizare și sudare unde este necesar controlul poziției fiecărei axe și a căror mișcare presupune deplasarea pe o traiectorie continuă.

În alegerea tipului de servomotoare trebuie să se țină cont de anumiți parametrii cum ar fi: tensiune de alimentare, cuplu, viteză sau rotație. Pentru determinarea cuplului necesar fiecărei articulații de a ridica segmentele ulterioare, sarcina utilă și propria greutate se realizează un calcul dinamic.

Cuplul se definește ca forța utilizată pentru a acționa un segment de o anumită lungime:

Unde:

M reprezintă momentul forței;

F este forța ce acționează asupra segmentului;

l exprimă distanța dintre axul de rotație și brațul forței.

Fiecare segment se poate afla în una din cele 3 poziții [21]:

orizontal: ;

înclinat: , unde g reprezintă constanta gravitațională și este egală cu ;

vertical: , caz în care .

Fig. 2.16. Poziția în care se poate afla un segment

În calculul cuplului se alege cazul cel mai defavorabil, atunci când brațul este întins în poziție orizontală și se ține cont de faptul că trebuie să își suporte propria greutate, iar punctul de aplicare al forței este la jumătatea segmentului. În aceste condiții cuplul devine egal cu:

Unde:

L este sarcina utilă ridicată;

G este greutatea segmentului;

L3 reprezintă lungimea segmentului.

2.8 Cinematica robotului

Un braț robotic este un lanț cinematic format din segmente conectate prin articulații, având un segment fix și unul mobil care poate executa diferite operații sub o anumită orientare.

Fiecare segment poate efectua o mișcare de rotație sau translație:

Fig. 2.17. Mișcarea de a)translație, b)rotație

În general roboții operează în spațiul articulațiilor, în timp ce taskurile ce urmează a fi efectuate asupra unor obiecte sunt definite în spațiul cartezian. În acest scop se definește cinematica, ce se ocupă cu analiza mișcării robotului. În studiul acesteia poziția, viteza și accelerația sunt calculate raportat la un sistem de coordonate fix, fără a lua în considerare forțele și cuplurile ce acționează asupra fiecărui segment în parte. Mișcarea efectivă a robotului se realizează utilizând cinematica directă sau inversă. Prima se referă la poziționarea în spați a uneltei terminale în condițiile în care se cunosc toate unghiurile articulațiilor, iar cea din urmă la determinarea acelor parametrii care plasează efectorul terminal într-o anumită locație utilizând un set de ecuații neliniare care fac legătura între spațiul articulațiilor și cel cartezian. Ambele probleme se pot rezolva folosind o abordare analitică, utilizând parametrii Denavit-Hartenberg, sau o abordare geometrică ținând cont de transformările trigonometrice.

Întrucât cinematica inversă presupune rezolvarea unor ecuații neliniare, greu de calculat, majoritatea roboților industriali au o geometrie simplă și un număr redus de grade de libertate.

Relația dintre cinematica directă și inversă este prezentată în figura următoare:

Fig. 2.18. Cinematica mișcării

În prezent roboții reprezintă un domeniu intens exploatat, în ceea ce privește cinematica, mișcarea și controlul.

2.8.1 Parametrii Denavit-Hartenberg

Jacques Denavit și Richard Hartenberg au folosit pentru prima dată în 1955 o reprezentare matriceală pentru a descrie geometria spațială a unui braț robotic [22]. Convenția se bazează pe faptul că fiecare segment este atașat de altul.

Parametrii Denavit-Hartenberg sunt utilizați pentru a atașa fiecărui segment i un sistem de coordonate și pentru a descrie mișcarea de rotație sau translație a unei articulații i ce leagă două segmente i, și respectiv i+1 utilizând doar 4 parametrii:

, lungimea segmentului i;

, unghiul de răsucire al segmentului i măsurat între axele ,;

, unghiul articulației măsurat între de-a lungul axei;

, distanța dintre articulații.

Fig. 2.19. Axele articulatiilor, sistemele de coordonate ale fiecarui segment și parametrii

Figura 2.18 prezintă o pereche de 2 segmente adiacente: segment i-1 și segment i, articulațiile asociate articulația i-1, articulația i și articulația i+1 și axele de coordonate atașate fiecăruia. Sistemul de coordonate pentru segmentul i se atașează ținând cont de următoarele reguli:

Axa este de-a lungul axei de mișcare a articulației i;

Axa este normala la axa ;

Axa se completează cu ajutorul regulii mâinii drepte.

Odată atașat sistemul de coordonate pentru un segment se poate defini o matrice de transformare omogenă în funcție de mișcarea articulației [23] pentru a exprima relația cinematică dintre segmente adiacente:

Mișcare de rotație:

Mișcare de translație:

2.8.2 Cinematica directă

Conform modelului cinematic direct, cunoscându-se dimensiunile segmentelor și pozițiile pentru fiecare segment, se poate calcula poziția și orientarea efectorului terminal raportate la un sistem de coordonate fix, situat la baza robotului.

Cinematica directă are o soluție unică și necesită determinarea unei matrici de transformare omogenă utilizând parametrii Denavit-Hartenberg.

Matricea care exprimă transformarea din coordonate bază în coordonatele efectorului terminal este de forma:

Unde:

reprezintă vectorul normal al efectorului terminal.

exprimă vectroul direcției de mișcare a degetelor, când gripperul se deschide sau închide.

este vectorul care arată direcția de deplasare a mecanismului de prindere.

matricea de transformare omogenă dintre două segmente adiacente.

În afară de soluția analitică, în care sunt utilizați parametrii Denavit-Hartenberg, cinematica direct se poate rezolva folosind o metodă geometrică în care se cunosc coordonatele fiecărei articulații în plan. Pe baza acestor valori se pot determina unghiurile aplicând funcții trigonometrice.

2.8.3 Cinematica inversă

Utilizând modelul cinematicii inverse se poate determina dacă există o configurație a unghiurilor articulațiilor astfel încât efectorul terminal să ajungă într-o anumită poziție și sub o anumită orientare date.

Problema presupune rezolvarea unui sistem de ecuații neliniare complex ce poate avea mai multe soluții sau nici una în funcție de structura cinematică, numărul de grade de libertate și configurația robotului.

Determinarea variabilelor articulațiilor din punct de vedere al poziției și orientării efectorului terminal presupune aflarea vectorului q:

unde reprezintă unghiul articulației i.

Pentru soluționare există două abordări:

Algebrică.

Abordarea presupune folosirea unui set de ecuații ce folosesc funcții trigonometrice și au ca necunoscute unghiurile articulațiilor. Se calculează utilizând parametrii Denavit-Hartenberg. Se egalează matricea de rotație ce se extrage din matricea omogenă ce exprimă transformarea din coordonate bază în coordonate gripper, rezultată în urma calculului pentru cinematica directă (2.6) cu matricea de mai jos. Mai exact se elimină ultima linie și ultima coloană.

Pentru a determina unghiul necunoscut se premultiplică sau postmultiplică matricea (2.8) cu transformarea inversă . Procedura se repetă succesiv, până când s-au calculat toate unghiurile articulațiilor.

Această abordare este folosită în special de roboții cu 6 grade de libertate pentru a calcula unghiurile încheieturii sferice. Pentru a determina restul unghiurilor se egalează ultima coloană a matricii cu vectorul poziției dorite: .

Geometrica.

Utilizând reprezentarea în spațiu a robotului, se determină anumite puncte de pe structura acestuia în funcție de care se exprimă unghiurile articulațiilor folosind poziția și orientarea efectorului terminal, precum și lungimile segmentelor.

Abordarea se bazează pe descompunerea planului mișcării în figuri geometrice simple pentru care se aplică teoreme trigonometrice pentru a determina variabilele necunoscute.

Multitudinea soluțiilor cinematicii inverse este dată de mulțimea configurațiilor posibile pe care le pot avea brațul și încheietura mâinii atunci când se dorește să se ajungă la un punct din spațiu utilizând efectorul terminal. Existența soluțiilor este garantată atunci când punctul din spațiu aparține anvelopei de lucru a robotului.

În cazul în care robotul are încheietură sferică se poate realiza o decuplare cinematică ce presupune descompunerea în două subprobleme considerând centrul încheieturii. Acesta poate fi exprimată ca funcție a poziției și orientării dorite a uneltei sau ca funcție cu număr redus de variabile [25]-[26]. Această abordare duce la simplificarea calculului de obținere a soluției cinematicii inverse.

Folosind cazul cel mai des întâlnit în industrie, când robotul are 6 grade de libertate, dându-se transformarea:

se realizează o decuplare a problemei în două subprobleme cunoscute drept cinematica poziției și cinematica orietării inverse.

Unde:

este matricea care indică poziția gripperului.

reprezintă matricea ce exprimă orientarea.

Efectuând decuplarea poziției și orientării încheieturii se obține:

2.9 Traiectoria mișcării

Pe măsură ce roboții au devenit din ce în ce mai folosiți în mediul industrial s-a pus problema controlului mișcării robotului între un punct inițial și unul final, cu evitarea obstacolelor întâlnite în cale ducând la îndeplinirea cu succes a unui task.

Utilizând cinematica directă se obține poziția și orientarea uneltei în spațiu, iar cinematica inversă determină un set de unghiuri care plasează efectorul terminal în acele coordonate. Între acestea se pune problema alegerii traiectoriei optimale dintre o serie de diferite rute de mișcare, astfel încât timpul de execuție al aplicației să fie cât mai mic.

În aplicații de asamblare, controlul traiectoriei reprezintă o problemă esențială întrucât minimizarea timpului de producție conduce la creșterea productivității, ceea ce conduce la creșterea vânzărilor.

Atunci când se vorbește despre un sistem robotic trebuie să se facă distincția între planificarea și controlul mișcării. Primul aspect se referă la generarea unui set de traiectorii pentru îndeplinirea unui task, iar cel de-al doilea este de a urmării cu un grad cât mai mare de acuratețe traiectoria aleasă prin generarea unor puncte [27].

Fig. 2.20. Planificarea și controlul mișcării

În momentul în care se dorește calcularea unei traiectorii trebuie să se țină cont de constrângerile temporale, existența unor obstacole în mișcare, cum ar fi benzi transportoare, mișcarea să fie lină și evitarea coliziunilor.

Fig. 2.21 Planificarea mișcării

Controlul traiectoriei unui robot se poate realiza utilizând două metode:

Manual. Operatorul uman manipulează deplasarea robotului între diferite puncte prin intermediul unui pandantiv și salvarea coordonatelor, urmând ca mai apoi robotul să le reproducă cu o anumită precizie în mod ciclic. Este de menționat faptul că trebuie să se precizeze o poziție de siguranță la care să se întoarcă manipulatorul după încheierea taskului.

Automat prin generarea de traiectorii online sau offline.

Determinarea unui drum între două puncte din spațiu se poate face fie prin generarea traiectoriei în spațiul articulațiilor, fie în spațiul cartezian.

Cea mai utilizată metodă de generare a traiectoriei netede în spațiul articulațiilor este deplasarea de la un punct către celălalt (PTP) [28], deoarece permite evitarea singularităților. De obicei se obține prin implementarea unei funcții liniare care depinde de valorile finală, și respectiv inițială ale unghiurilor articulațiilor în prezența constrângerilor de viteză și accelerație. Este des întâlnită în operațiile de pick and place, în care se specifică locul de ridicare și plasare al piesei. În cazul în care pe traseu apar obstacole, se menționează puncte adiționale pentru evitarea coliziunii.

Este de preferat în locul mișcării în spațiul cartezian pentru că nu necesită rezolvarea cinematicii inverse [28].

Alte aplicații în care se întâlnește sunt: sudare, vopsire sau decupare.

Ca metode de rezolvare, menționez: traiectorii polinomiale cubice, cvintice, LSPB [29] (Linear Segments With Parabolic Blends).

Traiectoria polinomială cubică este modalitatea cea mai ușoară de a calcula traiectoria dintre 2 puncte și :

Coeficienții se determină din ecuațiile poziției și vitezei pentru punctele inițial și final:

Ecuațiile (2.14) mai pot fi scrise și sub formă matriceală:

Din ecuația (2.15) se obțin valorile coeficienților:

Pentru simplitate se pot impune anumite condiții.

Fig. 2.22. Spațiul de lucru

Mișcarea continua pe un traseu se utilizează pentru generarea unei traiectorii în spatial cartezian. Spre deosebrie de primul caz, aceasta presupune un efort computational mare, deoarece se execută în momentul rulării și necesită soluționarea problemei cinematicii inverse la fiecare pas. De asemenea, viteza și unghiurile fiecărei articulații sunt controlate independent.

Este întâlnită în aplicații în care se dorește o poziționare mai precisă a uneltei terminale, cum ar fi industria automobilă, în operații precum vopsirea, sudarea sau lipirea.

Ca modalități de rezolvare se întâlnesc interpolarea liniară și cea continua [28], ambele bazându-se pe formula Euler pentru aproximarea derivatei.

Fig. 2.23. Exemplu de mișcări interpolate între puncte

Printre dezavantaje se numără: prezența singularităților, număr mare de soluții posibile sau inexistența lor datorată plasării punctelor în afara spațiului de lucru al robotului.

Singularitatea apare atunci când 2 axe ajung să fie coliniare în timpul mișcării, ducând la pierderea unui grad de libertate [30]. Se întâlnesc 2 tipuri de singularități care pot apărea la un robot:

Singularități spațiale, cauzate de întinderea sau îndoirea completă a articulațiilor, caz în care unealta terminală este foarte aproape de limita spațiului de lucru.

Singularități interne la nivelul încheieturii, cotului sau umărului [31], cauzate de alinierea a două axe în spațiu.

Pentru a se evita distrugerea robotului, majoritatea au comenzi de oprire automata și generare a unui mesaj de eroare la întâlnirea singularităților. Alte modalități de evitare sunt reducerea vitezei până la depășirea problemei, reducerea numărului de axe sau plasarea pieselor ce urmează a fi manipulate într-o configurație de ocolire a singularităților cunoscute.

Calcularea singularităților se realizează efectuând o analiză a matricei Jacobiane, matrice ce exprimă conexiunea dintre viteza exprimată în spatial articulațiilor și viteza exprimată în spatial cartezian.

Punctele în care apar singularități se determină egalând determinantul matricei Jacobiane cu 0.

3. Descrierea soluției abordate

3.1 Introducere

Un braț robotic este un lanț cinematic serial alcătuit din segmente și articulații, care pot realiza mișcări de rotație sau translație.

Structura mecanică a roboților este asemănătoare brațului uman: este formată dintr-o parte fixă, numită bază (umăr), care poate realiza pivotarea întregului ansamblu, braț, antebraț pentru atingerea unor puncte situate deasubra robotului și o încheietură similară mâinii cu 2 grade de libertate pentru balansare și pivotare. Uneltele terminale sunt formate din grippere acționate electric cu ajutorul unor servomotoare.

Analizând inovațiile din domeniu, parametrii tehnici și structura mecanică a roboților industriali, lucrarea de față propune proiectarea unui ansamblu format din 2 brațe articulate cu 5 grade de libertate fiecare și programarea acestuia utilizând mediul de lucru Labview și modelul cinematic, astfel încât să realizeze diferite aplicații în mod colaborativ.

În implementarea lucrării de licență am avut în vedere următorii pași:

Documentare cu privire la inovațiile din domeniu.

Proiectarea ansamblului mecanic.

Realizarea calculelor pentru determinarea cuplului motor.

Alegerea motoarelor ținând cont de condițiile impuse.

Asamblarea roboților.

Efectuarea de calcule pentru cinematica mișcării.

Determinarea singularităților.

Determinarea parametrilor ansamblului.

Implementarea algoritmului de mișcare și integrarea acestuia într-o interfată grafică.

Propunerea unor viitoare îmbunătățiri.

3.2 Proiectarea și asamblarea roboților

Piesele au fost proiectate în Catia și ulterior decupate la o mașină cu control numeric (CNC) Stepcraft. Durata medie de tăiere a variat între 10-20 minute în funcție de dimensiuni. Fiecare componentă este fabricată din hobby plastic cu o grosime de 3mm.

Fig. 3.1. Imagine în Catia a ansamblului

Fig. 3.2. Imagine în Catia a componentelor individuale

Fig. 3.3. O parte din piese după ce au fost tăiate la CNC

În figura 3.3 sunt prezentate o parte din piese înainte de asamblare. Cei 2 roboți sunt identici din punct de vedere al pieselor. Fiecare segment este format din 2 piese aproximativ identice, cu mici diferențe în zonele articulațiilor, în locul de conectare al motoarelor. Piesele sunt plasate în paralel și conectate prin intermediul unor șuruburi M4, M5 sau M6 de diferite lungimi. Pentru o mai bună fixare unele piese sunt lipite cu superglue.

Fig. 3.4. Exemplu de piese lipite cu superglue

Fig. 3.5. Asamblarea bazei roboților

În figura 3.5 este prezentat modul de asamblare al bazei. Deasupra motorului care realizează pivotarea robotului sunt puse piesele rotunde pe care va fi amplasat manipulatorul. Cele 2 piese sub formă de inel au rolul de susținere, preluând o parte din greutatea robotului. Componentele sunt fixate cu șuruburi și piulițe și lipite cu superglue.

Fig. 3.6. Imagine de ansamblu a bazei

Fig. 3.7. Imagine de ansamblu a bazei ce cuprinde sursele de alimentare, microcontrollerul și circuitul de conectare al firelor

Fig. 3.8. Imagine de ansamblu a componentelor unuia dintre grippere

Fig. 3.9. Ansamblul mecanic cuprinzând cei 2 roboți, fără grippere

3.3 Alegerea motoarelor

Cele mai importante componente utilizate în construcția ansamblului sunt motoarele utilizate pentru a mișca fiecare segment și controllerul folosit pentru comandarea acestora.

După o analiză a avantajelor și dezavantajelor fiecărui tip de motor, am ales să utilizez servomotoare de curent continuu, deoarece spre deosebire de motoarele pas cu pas sunt prevăzute cu un encoder pentru determinarea precisă a poziției, de asemenea sunt foarte ieftine, nu consumă mult curent, au o funcționare silențioasă și un cuplu mare.

În construirea roboților am ales să folosesc 14 servomotoare, câte 7 pentru fiecare braț astfel:

3 servomotoare sunt poziționate la baza robtului, 1 permițând pivotarea întregului ansamblu, respectiv 2 ce permit ridicarea sus/jos a brațului, având un cuplu însumat capabil să susțină întreaga greutate.

1 servomotor este poziționat la încheietura cotului ceea ce face posibilă bascularea antebrațului.

2 servomotoare sunt plasate la încheietura făcând posibilă mișcarea de pivotare, respectiv basculare a gripperului.

1 servomotor care permite închiderea/deschiderea gripperului.

Deoarece am avut de decis între o gamă largă de servomotoare existente pe piață, pentru alegerea tipului utilizat pentru acționarea articulațiilor am avut în vedere un calcul al cuplului necesar fiecărui motor de a susține toate segmentele ulterioare conectate la acesta, precum și propria greutate. În calcul am avut în vedere și sarcina utilă ridicată de un robot. Rezultatul se consideră pentru cel mai defavorabil caz posibil, atunci când fiecare braț este întins în poziția orizontală. În figura de mai jos este prezentat un singur braț robotic și forțele care acționează asupra lui, întrucât ambele sunt identice:

Fig. 3.10. Forțele care acționează asupra unui braț și momentele dezvoltate

Unde:

este sarcina totală ridicată de efectorul terminal;

este greutatea segmentului i;

reprezintă greutatea motorului i;

exprimă lungimea segmentului i;

redă cuplul pe care trebuie să îl suporte motorul poziționat în articulația i.

Motorul situat în unealta terminală este folosit doar pentru deschiderea și închiderea gripperului, cuplul dezvoltat de acesta este foarte mic, putând fi neglijat. Motorul plasat la baza robotului este folosit doar pentru rotirea ansamblului, motiv pentru care trebuie să suporte greutatea robotului atunci când acesta este în poziția verticală, unde cuplul dezvoltat este 0.

Pentru mișcarea brațelor am ales să folosesc motoare MG996R, care au următoarele specificații [32]:

Greutate: 55g;

Dimensiune: 40.7 x 19.7 x 42.9mm;

Cuplu: 9.4kgf·cm (4.8V), 11kgf·cm (6V);

Viteza: 0.17s/60° (4.8V), 0.14s/60° (6V);

Tensiunea de alimentare: 4.8÷7.2V

Curent de alimentare: 500÷900mA.

Fig. 3.11 Servomotor MG996R, impuls PWM și firele pentru conexiune

Pentru închiderea și deschiderea gripperelor am utilizat motoare SG90 9G cu următoarele caracteristici [33]:

Greutate: 9g;

Dimensiune: 22.2 x 11.8 x 31mm;

Cuplu: 1.8kgf·cm (4.8V);

Viteza: 0.1s/60° (4.8V);

Tensiunea de alimentare: 4.8÷5V

Curent de alimentare: 6÷10mA.

Fig. 3.12 Servomotor SG90 9G, impuls PWM și firele pentru conexiune

Cunoscând lungimile laturilor: , greutatea motoarelor, precum și greutatea tuturor segmentelor și presupunând o sarcină utilă de 100g, am realizat un calcul de verificare. Au rezultat următoarele valori:

Deoarece este aporape de valoarea cuplului unui singur motor dacă este alimentat la 4.8V am folosit 2 motoare astfel încât cuplul rezultat este egal cu: pentru articulația brațului.

Aceste calcule dovedesc faptul că fiecare segment rezistă la solicitarea pentru care a fost proiectat și motoarele au fost alese corespunzător.

Fiecare servomotor are 3 fire: maro și roșu pentru alimentare și portocaliu pentru control. Comanda motoarelor se realizează trimițând la intrare un impuls PWM cu o lungime de undă de 50Hz, care se mapează pe un anumit unghi, acest lucru determinând deplasarea servomotoarelor în poziția dorită.

Impulsul PWM are 3 componente: puls minim, maxim și rata de reptetiție. Deoarece valorile minim și maxim pentru fiecare motor nu sunt corespunzătoare cu cele din catalog, am realizat o determinare a lor pe cale experimentală. Această metodă presupune deplasarea servomotoarelor la 0°, respective 180° și aflarea valorilor pulsului. S-au obținut următoarele valori:

Tabel 3.1 Valorile pulsurilor

Cunoscând faptul că fiecare motor se paote rotii maxim 180°, am determinat rezoluția fiecăruia utilizând formula:

unde reprezintă valorile minim și maxim din tabelul 3.1.

Tabel 3.2 Rezoluția motoarelor

Rezoluția a fost calculată atât pentru cazul în care motoarele ar fi alimentate cu 4.8V, cât și pentru cel cu 6V.

3.4 Alimentarea și controlul motoarelor

Arduino Mega2560 este un microcontroller bazat pe Atmeg2560, cu 56 pini digitali I/O, dintre care 15 pot fi folosiți ca și ieșiri PWM, 16 intrări analogice, 4 porturi seriale hardware UART, un oscilator cu cristal de 16Mhz, conexiune USB, buton de reset, adaptor alimentare, memorie flash de 256KB, 8KB SRAM, 4KB EPROM [34].

Alimentarea microcontrollerului se realizează utilizând portul USB de la un calculator.

Fig. 3.13 Arduino Mega 2560

Servomotoarele sunt conectate la pinii PWM: 2-13 și 44-45.

Pentru alimentarea motoarelor am utilizat o sursă externă de tensiune, care realizează conversia din curent alternativ, provenit de la priză în curent continuu, prosudă de firma americană VICOR.

Fig. 3.14 Sursele de alimentare

Sursa este racordată la rețeaua electrică și furnizează la ieșire 5V, respectiv 40A. Curentul necesar pentru alimentarea celor 14 motoare este de apoximativ 20A, ceea ce înseamnă că sursa furnizează suficient curent pentru funcționarea simultană a celor 2 roboți. Sursa este echipată cu protecție la suprasarcină, supratensiune și supratemperatură. În acest fel nu există pericolul de a o arde, sau a strica vreun servomotor.

3.5 Cinematica directă și parametrii Denavit-Hartenberg

Asignarea sistemului de coordonate pentru fiecare segment în conformitate cu notația propusă de Denavit-Hartenberg, precum și parametrii sunt descrise mai jos:

Fig. 3.15 Asignarea sistemelor de coordonate

Tabel 3.2 Parametrii Denavit-Hartenberg

Lungimile segmentelor așa cum reies ele din tabel și figura 3.15 sunt:.

Utilizând formula (2.4) pentru transformarea din coordonate bază în coordonate gripper [18] împreună cu datele din tabel, se obțin matricile care descriu poziția și orientarea dintre 2 articulații alăturate:

Matricea finală ce exprimă cinematica directă este:

Unde:

S-au folosit următoarele notații:

3.6 Cinematica inversă

Cinematica inversă presupune determinarea unghiurilor articulațiilor pe baza poziției și orientării dorite a uneltei terminale.

Pentru rezolvarea problemei am folosit abordarea algebrică. Cunoscând poziția finală a gripperului și orientarea acestuia am determinat unghiurile articulațiilor în urma rezolvării unui sistem neliniar efectuând operații precum înmulțiri, ridicări la pătrat, însumări sau transformări trigonometrice. Am egalat ultima coloană a matricii de transformare omogenă (2.9) obținută în urma calculelor cinematicii directe cu vectorul ce exprimă poziția dorită:

Fig. 3.16 Reprezentare în spațiu a unuia dintre roboți

Unde:

Realizând raportul între primele 2 linii se obține:

Ridicând la pătrat, apoi însumând toate liniile se obține:

Efectuând substituția în ultima linie se obține:

Cunoscând valorile unghiurilor și orientarea gripperuluise calculează:

Ultimul unghi se calculează egalând , unde este unghiul de rotație absolut al efectorului dorit.

S-au folosit următoarele notații:

3.7 Singularități cinematice

Pentru a simplifica calculele, am ales să determin singularitățile care pot apărea pentru primele 3 articulații.

În acest caz, din ultima coloană a matricii corespunzătoare poziției în plan a articulației 3 raportate la bază:

se determină matricea Jacobiană care satisface:

Egalând determinantul matricei Jacobiane (3.33) cu 0 se obține:

unde:

Singularitățile se obțin pentru:

lungimea segmentelor devine 0.

articulația cotului este întinsă la maxim.

articulația umărului își pierde abilitatea de a poziționa robotul.

3.8 Parametrii roboților

Parametrii cei mai importanți ai ansamblului sunt:

Numărul de grade de libertate este egal cu 10, câte 5 pentru fiecare robot;

Gama de variație a sarcinii utile: . Valoarea maximă a rezultat în urma calculelor.

Anvelopa de lucru a fiecărui robot, neluând în considerare posibilitatea de a intra în coliziune unul cu celălalt și presupunând că toate articulațiile se rotesc cu 180° este:

Fig. 3.17 Anvelopa de lucru a ansamblului

Fig. 3.18 Anvelopa de lucru a ansamblului văzută de sus

4. Prezentarea sistemului de conducere

4.1 Echipamente utilizate

Componentele hardware ale sistemului sunt: calculator personal, placuța Arduino Mega 2560, roboți ce conțin servomotoare SG90 9G pentru grippere, repsectiv MG996R pentru articulații și sursa de alimentare.

Fig. 4.1 Schema hardware a sistemului

Calculatorul are rolul de a controla mișcarea roboților prin intermediul interfeței grafice realizate în Labview și este folosit pentru a scrie programul ce este încărcat pe microcontroller. De asemenea este folosit pentru a realiza calibrarea motoarelor sau debug în cazul apariției unei erori.

Plăcuța este programată cu ajutorul mediului de programare Arduino 1.6.7, iar programul ce conține instrucțiunile pentru comanda motoarelor este descărcat și stocat în memoria RAM prin intermediul cablului USB.

Controllerul are 15 pini de ieșire PWM, dintre care sunt folosiți pinii 1÷14 pentru a comanda servomotoarele. Conexiunea se realizează prin intermediul firelor, iar comunicația este una serială, în care datele sunt transmise câte un bit, secvențial.

Deoarece plăcuța nu furnizează suficient curent pentru aliminetarea tuturor motoarelor am utilizat o sursă externă de tensiune produsă de firma americană VICOR, cu convertor DC-DC VI-260-CU, a cărei tensiune de intrare poate fi: 110/120AC sau 200-240AC, iar de ieșire 5V DC. Curentul furnizat este de 40A, iar cel necesar pentru alimentarea tututor motoarelor în același timp este de 20A, ceea ce înseamnă că nu există riscul de a arde sursa sau vreunul dintre motoare, întrucât servomotoarele își extrag doar curentul necesar pentru funcționare. Sursa este prevăzută cu protecție la suprasarcină, supratensiune și supratemperatură. Conectarea sursei la ansamblu se face prin intermediul unor fire de legătură, iar fixarea de bază prin intermediul a 4 șuruburi.

Așa cum am spus în capitolul 3, principiul de funcționare al unui servomotor constă în transmiterea unui impuls PWM, corespunzător unei anumite poziții. Un potențiometru compară poziția actuală cu cea furnizată de puls. Dacă sunt diferite, se comandă rotirea axului rotoric, prin aplicarea unui curent până la atingerea unghiului dorit. Viteza de deplasare, depinde de curentul de alimentare și de poziție. Dacă distanța dintre poziția inițială și poziția finală este foarte mare, atunci servomotorul trage un curent, de asemenea foarte mare. Pentru a minimiza consumul energetic, aplicația propune deplasarea între puncte situate la distanțe mici. În acest mod nu există pericolul de a intra în coliziune sau de a strica ansamblul.

Nu am folosit un circuit de control extern pentru că servomotoarele sunt prevăzute cu encodere și un circuit în bulcă închisă, pentru reglarea poziției.

Fig. 4.2 Schema de alimentare a sistemului

4.2 Tehnologii software

Înterfața grafică este implementată în Labview 2014 și conține butoane, slideuri, switchuri pentru comandă și leduri pentru semnalizare. De asemenea utilizând conexiunea serială și cablul USB se încarcă de pe calculator în Arduino, programul pentru comanda servomotoarelor.

Utilizatorul are la dispoziție alegerea între modurile de operare prin intermediul unor butoane. Oprirea proramului se face apăsând butonul OPRIRE.

Fig. 4.3 Interfața implementată în LABVIEW

Butonul M/A permite selecția între modul manual și automat.

În cazul în care se selectează modul manual, mișcarea roboților este efectuată prin selectarea unghiurilor cu ajutorul slideurilor. Acest mod presupune rezolvarea cinematicii directe și determinarea poziție robotului, în mod vizual. Unghiurile articulațiilor pot avea valori între 0°÷180°. Valorile pentru unghiuri sunt inserate într-un vector, separate prin virgulă și transmise prin comunicația serială către Arduino Mega 2560 cu ajutorul funcției visa write din Labview..

Unghiurile setate de utilizator sunt mapate în impulsuri dreptunghiulare corespunzătoare unei valori a poziției și transmise prin pinii de ieșire PWM ai plăcuței Arduino către motoare.

Dacă este selectat modul automat, operatorul trebuie să introducă coordonatele pentru pozițiile inițială și finală, precum și orientările la care trebuie să se găsească efectorii terminali. Apelând la cinematica inversă se calculează unghiurile articulațiilor corespunzătoare coordonatelor introduse. Rezultatul este transmis mai departe și recepționat pe serială prin visa write, de către Arduino, care îl mapează în unghiuri.

Modul manual de operare a fost gândit pentru cazul în care cinematica inversă nu oferă nici o soluție.

Cele 2 leduri sunt folosite astfel:

Primul avertizează în legătură cu modul de operare selectat, dacă cei 2 roboți sunt puși pe manual este de culoare verde sau roșu pentru automat.

Celelalte două semnalizează faptul că cinematica inversă nu are soluție pentru primul, respectiv al doilea robot daca este de culoare roșie și verde dacă rezultatul întoarce o soluție numerică.

Fig. 4.4 Implementarea cinematicii inverse

După cum reiese din ecuațiile (3.27)-(3.29) unghiurile sunt calculate utilizând funcțiile trigonometrice arctg și 2arctg, care oferă valori în intervalul [-90°÷90°], repsectiv [-180°÷180°]. Deoarece motoarele funcționează în intervalul [0°÷180°], am realizat o mapare prin adăugarea a 90° lui și 180° lui . Din ecuația (3.30) reiese că poate avea valori cuprinse în [-360°÷360°], motiv pentru care s-a realizat o conversie astfel încât rezultatul final să fie în gama [0°÷180°].

După alegerea unghiurilor se apasă pe butonul SCRIERE, care transmite valorile pe serială, către Arduino, iar mai apoi sub formă de impuls PWM sunt transmise către servomotoare.

Fig. 4.5 Scrierea în fișier, și respectiv citirea

Utilizatorul are la dispoziție butonul RECORD, care îi permite înregistrarea unghiurilor actuale ale roboților și salvarea lor într-un fișier la alegere. În fișierul text unghiurile pentru cele 14 motoare, corespunzătoare unei singure poziții sunt salvate pe o singură linie, despărțite prin virgulă. Introducerea unor noi valori se face pe linia următoare.

Valorile salvate în fișier pot fi accesate în 2 moduri: automat și manual. În cazul în care se deorește deplasarea manuală, se selectează fișierul, se apasă butonul TRIMITERE, apoi butonul NEXT, care efectuează o parcurgere pe linii a fișierului text și apăsarea butonului SCRIERE care transmite coordonatele servomotoarelor.

Modul automat presupune încărcarea fișierului, apăsarea butoanelor PLAY și SCRIERE, care transmit valorile servomotoarelor.

Maparea unghiurilor se realizează utilizând regula de 3 simplă și valorile minim și maxim ale impulsului PWM. Valoarea minimă corespunde unghiului de 0°, iar valoarea maximă unghiului 180°. Determinarea valorilor corespunzătoare pulsurilor fiecărui motor s-a efectuat pe cale experimentală prin incercări multiple.

Mișcarea roboților se realizează în spațiul cartezian.

Deoarece valorile pulsurilor au fost determinate pe cale experimentală, motoarele se decalibrează. Pentru a le recalibra au fost introduse niște controllere numerice de offset pentru fiecare servomotor în parte.

4.3 Testarea și validarea rezultatelor

Rezolvarea cinematicii directe și a celei inverse presupune selectarea unor unghiuri, respectiv poziția și orientarea efectorului terminal și apăsarea butonului SCRIERE. În figurile de mai jos sunt prezentate rezultatele. În primul caz se poate verifica vizual că servomotoarele au unghiurile dorite, iar în cazul numărul doi s-au măsurat coordonatele utilizând o riglă. Eventualele erori apărute sunt datorate măsurării incorecte a parametrilor Denavit-Hartenbegr și calibrării necorespunzătoare a servomotoarelor.

Pentru a verifica apelarea manuală și automată a roboților s-au creat niște fișiere text utilizând butonul RECORD în care s-au salvat anumite coordonate care să demonstreze funcționarea colaborativă a roboților.

Fig. 4.6 Comanda manuală a roboților

Fig. 4.7 Imagine de ansamblu

5. Concluzii

5.1 Obiective atinse și probleme întâmpinate

În această secțiune sunt prezentate obiectivele atinse și problemele apărute de-a lungul asamblării și programării roboților.Următoarele puncte au fost îndeplinite:

Construirea ansamblului mecanic și a gripperelor.

Rezolvarea cinematicii directe și inverse pentru un robot cu 5 grade de libertate.

Calibrarea motoarelor.

Implementarea unei interfețe care face legătura între sistem și calculator utilizând mediul de programarea Labview.

Testarea sistemului și obținerea unor rezultate satisfăcătoare.

De-a lungul lucrării am avut de întâmpinat următoarele dificultăți:

Inițial am printat la imprimantă 3D un robot din rășină fotosensibilă. Datorită faptului că unele piese nu au fost supuse tuturor etapelor chimice ulterioare printării, acestea nu au fost suficient de rezistente sau s-au topit. De exemplu, hornurile care fac legătura între motoare și segmente se toceau după ce servomotoarele efectuau o rotație completă. De asemenea, piesele nu au avut dimensiunile corespunzătoare, motiv pentru care nu se îmbinau perfect.

În cadrul celei de-a doua tentative de a construi un robot, în cazul în care piesele au fost decupate la un CNC au apărut probleme datorate softului slab calibrat. În aceste condiții unele piese au ieșit cu defecte, fapt ce a necesitat refacerea lor. De asemenea piesele rotunde nu au ieșit conform proiectării. Altă dificultate întampinată a fost la asamblarea lor. Piesele ori au fost montate greșit și s-a necesitat desfacerea lor, ori au fost lipite greșit ceea ce a condus la refacerea lor.

Calculul cinematic a fost dificil de efectuat, datorită numărului mare de unghiuri care a dus la un sistem de ecuații trigonometrice complicat.

În calibrarea motoarelor am avut probleme cu determinarea valorilor minim și maxim ale pulsului PWM, întrucât cele din catalog nu se potriveau cu valorile reale.

În realizarea softului am avut dificultăți în comunicația serială dintre arduino și calculator. Pe serială, prin intermediul funcției visa write, din Labview se trimitea un șir de biți, ce reprezentau unghiurile articulațiilor. Acestea erau citite de microcontroller și comunicate servomotoarelor prin cei 14 pini PWM. În cazul în care după un anumit timp nu se recepționa nimic pe serială se pierdea conexiunea. Pentru a remedia situația am utilizat un buton de scriere. În acest mod, Arduino ascultă portul doar când butonul este apăsat și transmis șirul de caractere. În modul acesta nu există posibilitatea pierderii conexiunii.

O altă problemă apărută în crearea aplicației a fost dată de butonul PLAY. Fișierul era citit într-o buclă infinită, deoarece mediul de programare LABVIEW, nu suportă detecția sfârșitului de fișier și crearea unei condiții de stop la întâlnirea acestuia, pentru lucrul cu fișiere text. Pentru rezolvare am citit conținutul fișierului într-un vector și l-am parcurs linie cu linie utilizând funcția INDEX ARRAY.

La cea de-a doua articulație, a fost destul de dificilă sincronizarea celor 2 motoare, precum și faptul că șurubul destinat susținerii unuia dintre segmente nu rezista.

Fig. 5.1 Prima variantă de robot

5.2 Cercetări viitoare

În această secțiune sunt prezentate pe scurt îmbunătățirile viitoare care pot fi aduse roboților în cadrul mecanismului, cât și al sistemului de control. Modificările sunt destinate sporirii performanței și calității sistemului. Acestea sunt:

Introducerea unor obstacole și modificarea algoritmului de generare a traiectoriei pentru a evita nu numai coliziunea dintre roboți ci și cea datorată obstacolelor întâlnite pe traseu.

Optimizarea traiectoriei, prin calcularea online a distanței celei mai scurte dintre 2 puncte apelând la tehnici de optimizare.

Introducerea unor camere video și implementarea unui algoritm de procesare a imaginilor și detecție a pieselor. Utilizarea unor imagini live condce la o monitorizare mai bună a anvelopei de lucru, utilizarea roboților în aplicații mai complexe de manipulare a unor obiecte de culoare, formă sau material diferite. În acest scop se poate monta o bandă conveioare.

Introducerea de senzori, de forță pentru a determina roboții să se oprească la contact, în acest fel scade pericolul de a distruge ansamblul la apariția unei coliziuni și face sistemul mult mai sigur pentru un operator uman. Un alt tip de senzori ce pot fi folosiți sunt senzori ultrarange montați pe unealta terminală pentru a împiedica lovirea de obstacole. Senzori precum acceleromentru și giroscop montați pe fiecare articulație împreună cu un circuit în buclă închisă și un regulator PID pot fi folosiți la reglarea vitezei.

Introducerea unui modul bluetooth pentru comunicația wireless, ceea ce permite o conexiune mai simplă și duce la eliminarea cablurilor ce leagă microcontrollerului de calculator și limitează spațiul de lucru.

bibliografie

[1]. White, Michael (2005). Isaac Asimov: a life of the Grand Master of science fiction. Carroll & Graf. pp. 56 ISBN 0-7867-1518-9

[2]. George Devol – Biography – The First Industrial Robot: Unimate. http://www.liquisearch.com/george_devol/biography/the_first_industrial_robot_-_unimate Accesat: 19 iunie 2016

[3]. Mickle, Paul. „1961: A peep into the automated future”, The Trentonian Accesat: 19 iunie 2016

[4]. ”TITAN”: The world’s strongest robot. KUKA presents a new dimension in robotics. www.kuka-robotics.com/en/pressevents/productnews/NN_titan_+the_worlds_strongest_robot.htm Accesat: 19 iunie 2016

[5]. FANUC History. www.fanuc.eu/ro/en/who-we-are/fanuc-history Accesat: 19 iunie 2016

[6]. Collaborative robot CR-35iA. The world’a onlz collaborative one with 35 kg payload. www.fanuc.eu/ro/en/robots/robot-filter-page/collaborative-cr35ia Accesat: 19 iunie 2016

[7]. YuMi creating an automated future tugether. https://library.e.abb.com/public/55362813a776464383279a729b715c89/ROB0317RN_YuMi.pdf Accesat: 19 iunie 2016

[8]. Dobot: Robotic Arm for Everyone! Arduino & Open source. https://www.kickstarter.com/projects/dobot/dobot-robotic-arm-for-everyone-arduino-and-open-so Accesat: 19 iunie 2016

[9]. Dobot industry robotic arm on desktop. www.dobot.cc/product.html Accesat: 19 iunie 2016

[10].Automata technical details. www.getautomata.com/techspecs Accesat: 19 iunie 2016

[11].Industrial application for used robots and robotic systems. https://www.used-robots.com/applications Accesat: 19 iunie 2016

[12].Cary, Howard B. and Scott C. Helzer (2005). Modern Welding Technology. Upper Saddle River, New Jersey: Pearson Education. Page 316. ISBN 0-13-113029-3

[13].Surgical robots. A brief history. http://allaboutroboticsurgery.com/surgicalrobots.html Accesat: 19 iunie 2016

[14].Food and Drug Administration (FDA). "Robots Helping Surgeons: The da Vinci and ZEUS Surgical System". Enotalone.com. Accesat: 19 iunie 2016

[15].About universal robots. http://www.universal-robots.com/about-universal-robots/news-centre/universal-robots-ur5-chosen-for-the-broca-project-the-first-surgical-robot-made-in-spain/ Accesat: 19 iunie 2016

[16]."Better Surgery With New Surgical Robot With Force Feedback". Science Daily. 29 September 2010. Accesat: 19 iunie 2016

[17].H.J. Cruijssen, M. Ellenbroek, M. Henderson, H. Petersen, P. Verzijden and M. Visser (May 2014). "42nd Aerospace Mechanism Symposium: The European Robotic Arm: A High-Performance Mechanism Finally on its way to Space".  NASA. pp. 319-333. Accesat: 19 iunie 2016

[18].The Future of Hope – Kibo Prologue to the Future – STS-127 2J/A Mission on JAXA Channel

[19].SL. Dr. Ing. Silviu Răileanu, Sisteme de conducere a fabricației, 2015

[20].Common industrial robot names article. https://www.robots.com/faq/show/what-are-some-common-industrial-robot-names Accesat: 19 iunie 2016

[21].Robot arm torque tutorial. http://www.robotshop.com/blog/en/robot-arm-torque-tutorial-7152 Accesat: 19 iunie 2016

[22].Tehodor Borangiu, Florin Ionescu, Robot Modelling and simulation, Editura Agir, Editura Academiei Române, pp 58

[23].Tehodor Borangiu, Florin Ionescu, Robot Modelling and simulation, Editura Agir, Editura Academiei Române, pp 70-71

[24].Tehodor Borangiu, Florin Ionescu, Robot Modelling and simulation, Editura Agir, Editura Academiei Române, pp 124-125

[25].Tehodor Borangiu, Florin Ionescu, Robot Modelling and simulation, Editura Agir, Editura Academiei Române, pp 128-132

[26].R.N. Jazar, Theory of Applied Robotics, 2nd ed., DOI 10.1007/978-1-4419-1750-8_6,© Springer Science+Business Media, LLC 2010, pp 325-338

[27].Marius Nordheim Rov, Time optimal motion planning and motion control for industrial manipulators

[28].FH Darmstadt, Introduction to Robotics: Module Trajectory generation and robot programming, summer term 2000

[29].Spong, Hutchinson, Vidzasagar, Robot Modeling and Control

[30].Singularities in six-axisvertically-articulated industrial robots. CoRo Blog. Accesat: 19 iunie 2016

[31].Alex Owen-Hill, Why singularities can ruin your day. http://blog.robotiq.com/why-singularities-can-ruin-your-day Accesat: 19 iunie 2016

[32].TowerPro MG996R Servo Datasheet. http://www.servodatabase.com/servo/towerpro/mg996r Accesat: 19 iunie 2016

[33].SG90 Datasheet PDF – 9 g Micro Servo – TowePro. http://www.datasheetcafe.com/sg90-datasheet-pdf-9-g-micro-servo/ Accesat: 19 iunie 2016

[34].Documentație Arduino Mega 2560. https://www.arduino.cc/en/Main/ArduinoBoardMega2560 Accesat: 19 iunie 2016

Similar Posts