+ All Categories
Home > Documents > Curs Roboti Industriali

Curs Roboti Industriali

Date post: 08-Apr-2016
Category:
Upload: calvin-james
View: 984 times
Download: 22 times
Share this document with a friend
Description:
Curs foarte bun despre roboti industriali.
252
ROBOŢI INDUSTRIALI
Transcript
Page 1: Curs Roboti Industriali

ROBOŢI INDUSTRIALI

Page 2: Curs Roboti Industriali

CUPRINS

1. Noţiuni generale privind roboţii industriali 9 1.1. Definiţii şi noţiuni uzuale utilizate. 9 1.2. Structura roboţilor de toipologie serialã 12 1.2.1. Roboţi industriali tip “braţ articulat” 14 1.2.2. Roboţi industriali tip “lanţ închis” 15 1.2.3. Roboţi industriali tip “pistol “ 15 1.2.4. Roboţi industriali tip “turelã” 16 1.2.5. Roboţi industriali tip coloanã 17 1.2.6. Roboţi industriali tip “cadru “ 18 1.2.7. Roboţi industriali tip “portal “ 18 1.2.8. Roboţi industriali tip “cãrucior “ 19 1.3. Tipuri de coordonate utilizate în studiul roboţilor industriali 19 1.3.1. Sistemul de coordonate curbilinii 20 1.4. Dispozitive de prehensiume 23 1.5. Analiza comparativã a caracteristicilor diferitelor grade de libertate 26 2. Cinematica roboţilor industriali 41 2.1. Problema cinematicã directã 41 2.2. Problema cinematicã inversã 42 2.2.1. Calculul modelului cinematic invers 46 2.2.1.1. Calculul primelor trei articulaţii 47 2.2.1.2. Calculul lui θ4 , θ5 , θ6 49 2.2.2. Problema cinematicã inversã pentru anumite cazuri particulare 52 2.2.2.1. O altã modalitate de rezolvare a problemei cinematice inverse 52 2.3. Aplicaţii ale problemei cinematice directe şi inverse 57 2.3.1. Calculul traiectoriei articulaţiilor roboţilor industriali 57 2.3.2. Calculul distanţei maxime a spaţiului de lucru al

Page 3: Curs Roboti Industriali

roboţilor industriali 60 2.3.3. Rezolvarea problemei cinematice inverse pentru un robot cu cinci grade de libertate 62 2.3.4. Calculul volumului spaţiului de lucru 63 2.3.4.1. Calculul volumului spaţiului de lucru al robotului PUMA 600 67 2.3.5. Calculul energiei consumate de robotul industrial la manipularea unei sarcini 69 2.3.6. Generarea mişcãrii de-a lungul unei traiectorii liniare între douã puncte ale spaţiului de lucru 72 2.3.7. Influenţa modularizãrii asupra planificãrii traiectoriei în coordonate operaţionale 75 2.3.8. Consideraţii privind controlul deplasãrilor în coordonate articulare cu determinarea traiectoriei endefectorului 78 2.3.9. Consideraţii privind controlul deplasãrilor în coordonate operaţionale 83 2.3.10. Consideraţii privind controlul deplasãrilor în coordonate interne şi externe 89 2.3.11. Analiza preciziei de poziţionare 93 3. Dinamica roboţilor industriali 99 3.3. Ecuaţiile dinamice ale unui robot de tip serial 99 3.3.1. Descrierea notaţiilor Hartemberg-Denavit 100 3.2. Calculul vitezelor unghiulare şi acceleraţiilor 102 3.3. Calculul vitezelor şi acceleraţiilor centrelor de greutate 103 3.4. Calculul forţelor/momentelor motoare la un robot de tip serial 106 3.4.1. Formule recursive pentru calculul forţelor motrice 108 3.5. Stabilirea ecuaţiilor dinamice ale unui robot industrial folosind ecuaţiile Lagrange de speţa a II a 109 3.6. Calculul tensorilor de inerţie 116

Page 4: Curs Roboti Industriali

4. Generarea mişcarii între douã puncte ale spaţiului de lucru 120 4.1. Generarea mişcarii între douã puncte în spaţiul articulatiilor 123 4.2. Generarea mişcarii de-a lungul unei traiectorii liniare între douã puncte ale spaţiului de lucru 131 5. Algoritmi de calcul utilizaţi la modelarea comportamentului dinamic al roboţilor industriali 135 5.1. Schema logicã a algoritmului de calcul 136 5.2. Structura programului de calcul 139 5.3. Cercetãri teoretice pe modele reale de roboţi industriali 145 5.3.1. Robotul StandfordArm 145 5.3.2. Robotul PUMA 600 150 6. Planificarea traiectoriei roboţilor 155 6.1. Introducere 155 6.2. Formularea generalã a problemei planificãrii traiectoriei 159 6.3 Traiectoriile In spaţiul variabilelor articulare 163 6.3.1. Calculul traiectorie în cazul 4-3-4 167 6.4. Planificarea traiectoriei In coordonate carteziene 180 6.4.1. Metoda ce foloseşte matricea transformãrilor omogene 181 6.4.2. Traicetoria ci abateri limitã 183 7. Cercetãri experimentale 187 7.1. Robotul RIP 6,3 187 7.1.1. Caracteristici tehnice 188 7.1.2. Echipamentul de conducere CONTROL RE 190 7.1.3. Motoare electrice utilizate la acţionarea roboţilor RIP 6,3 193 7.2. Metoda de mãsurare 194 7.2.1. Aparatura de mãsura folosita 195

Page 5: Curs Roboti Industriali

7.3. Rezultatele mãsuratorilor 196 8. Controlul geometric şi metode de calibrare 205 8.1. Procesul de calibrare 205 8.2. Controlul geometric 207 8.2.1. Instrumente de măsură 208 8.3. Incercãrile şi recepţia roboţilor industriali 208 8.4. Recepţia roboţilor industriali 212 9. Acţionarea şi comanda roboţilor industriali 215 9.1. Acţionarea electricã 215 9.2. Acţionarea hidraulicã 217 9.3. Acţionarea pneumaticã 217 9.4. Comanda roboţilor industriali 217 9.4.1. Nivelul tactic 220 10. Roboţi de topologie paralelã 224 10.1. Calculul cinematic al roboţilor de topologie paralelã 226 11. Roboţi pãşitori 230 12. Sisteme flexibile de fabricaţie 237 12.1. Noţiuni fundamenatele 238 12.2. Sisteme de fabricaţie asistatã de calculator 240 12.3. Sistemul flexibil de fabricaţie 242 Bibliografie 246

Page 6: Curs Roboti Industriali

1. NOŢIUNI GENERALE PRIVIND ROBOŢII INDUSTRIALI

1.1. Definiţii şi noţiuni uzuale utilizate Cuvântul `robot` a fost folosit pentru prima datã în sensul acceptat astãzi în anul 1920 de cãtre scriitorul ceh K. Capek , care l-a preluat din limba cehã unde înseamnã “muncã grea”. Epopea roboţilor industriali dureazã de numai 30 de ani. Primul robot industrial a fost folosit în anul 1963 la uzinele Trenton ( S.U.A.) ale companiei General Motors. De atunci şi pânã astãzi numãrul şi performanţele roboţilor industriali au crescut în continuu , pe mãsura dezvoltãrii posibilitãţilor lor , gãsindu-şi noi utilizãri , astãzi putând fi folosiţi în toate sferele de activitate , ziua când el va putea efectua orice gen de operaţii întrezãrindu-se deja. Existã o multitudine de definiţii date roboţilor industriali. Mai nou definiţiile roboţilor industriali au fost standardizate de cãtre principalele ţãri producãtoare . Astfel norma francezã NF E61-100/1983 defineşte robotul industrial astfel : “ Un robot industrial este un mecanism de manipulare automatã , aservit în poziţie , reprogramabil , polivalent , capabil sã poziţioneze şi sã orienteze materialele, piesele , uneltele sau dispozitivele specializate , în timpul unor mişcãri variabile şi programate , destinate executãrii unor sarcini variate.” Dupã norma germanã VDI 2860 BI.1 “ roboţii industriali sunt automate mobile universale , cu mai multe axe , ale cãror mişcãri sunt liber programate pe traiectorii sau unghiuri , într-o

Page 7: Curs Roboti Industriali

anumitã succesiune a mişcãrilor şi în anumite cazuri comandate prin senzori. Ele pot fi echipate cu dispozitive de prehensiune, scule sau alte mijloace de fabricaţie şi pot îndeplini activitãţi de manipulare sau tehnologice.” Dupã norma rusã GOST 25685-83 , “robotul industrial este maşina automatã care reprezintã ansamblul manipulatorului şi al dispozitivului de comandã reprogramabil , pentru realizarea în procesul de producţie a funcţiilor motrice şi de comandã , înlocuind funcţiile analoage ale omului în deplasarea pieselor şi / sau a uneltelor tehnologice.” Standardul japonez JIS B 0124/1979 defineşte robotul industrial ca :”...un sistem mecanic dotat cu funcţii motoare flexibile analoage celor ale organismelor vii sau combinã asemenea funcţii motoare cu funcţii inteligente , sisteme care acţtioneazã corespunzãtor voinţei omului.” In contextul acestei definiţii, prin funcţie inteligentã se înţelege capacitatea sistemului de a executa cel puţin una din urmãtoarele acţiuni : judecatã , recunoaşterea , adaptarea sau învãţarea. Dezvoltarea explozivã a roboţilor industriali a condus la apariţia unui numãr enorm de roboţi industriali având cele mai diferite forme şi structuri. A apãrut astfel necesitatea clasificãrii roboţilor industriali dupã anumite criterii. Ei se clasificã astfel : I. Dupã informaţia de intrare şi modul de învãţare al robotului industrial : I.1. Manipulator manual, care este acţionat direct de cãtre om; I.2. Robot secvenţial, care are anumiţi paşi ce “asculta” de o procedurã predeterminatã. La rândul lor aceştia pot fi : - robot secvenţial fix, la care informaţia predeterminatã nu poate fi uşor modificatã; - robot secvenţial variabil, la care informaţia predetrminatã poate fi uşor schimbatã; I.3. Robot repetitor (playback). La început omul învaţã robotul procedura de lucru, acesta memoreazã procedura, apoi o poate repeta de câte ori este nevoie.

Page 8: Curs Roboti Industriali

I.4. Robot cu control numeric. Robotul industrial executã operaţiile cerute în conformitate cu informaţiile numerice pe care le primeşte. I.5. Robotul inteligent îşi decide comportamentul pe baza informaţiilor primite prin senzorii pe care îi are la dispoziţie şi prin posibilitãţile sale de recunoaştere. II. Clasificarea dupã forma mişcãrii : II.1. Robotul cartezian este cel ce opereazã într-un spaţiu definit de coordonate carteziene; II.2 Robotul cilindric este similar celui cartezian, dar spaţiul de lucru al braţului este definit în coordonate cilindrice; II.3.Robotul sferic ( polar ) are spaţiul de lucru definit în coordonate sferice (polare ); II.4. Robotul protetic are un braţ articulat; II.5. Roboţi industriali în alte tipuri de coordonate. III. Clasificarea dupã numãrul gradelor de libertate. IV. Clasificarea dupã spaţiul de lucru şi greutatea sarcinii manipulate. V. Clasificarea dupã metoda de control. V.1. Manipulatoare simple, formate din grupele I.1 si I.2; V.2. Roboţi programabili, formaţi din grupele I.3 si I.4. V.3 Roboţi inteligenţi. VI. Dupã generaţii sau nivele, în funcţie de comanda şi gradul de dezvoltare al inteligenţei artificiale , deosebim : - Roboţi din generaţia I, care acţioneazã pe baza unui program flexibil, dar prestabilit de programator, care nu se mai poate schimba în timpul executiei; - Roboţii din generaţia a-II-a se caracterizeazã prin aceea cã programul flexibil prestabilit poate fi schimbat în limite foarte restrânse în timpul execuţiei; - Roboţii din generaţia a-III-a posedã însuşirea de a-şi adapta singuri programul în funcţie de informaţiile culese prin proprii senzori din mediul ambiant. In afara acestor criterii de clasificare în funcţie de necesitãţi şi / sau de evolutia ulterioara a robotului industrial se

Page 9: Curs Roboti Industriali

mai pot defini şi alte criterii, dupã care se clasificã roboţii industriali.

1.2. Structura roboţilor de topologie serialã Indiferent de obiectiv ( poziţionare sau efectuarea unor operaţii tehnologice ) roboţii industriali ( RI ) trebuie sã pozitioneze şi sã orienteze un obiect în spaţiu. Fixarea şi orientarea unui corp în spaţiu se face cu ajutorul a şase parametrii : trei pentru poziţie şi trei pentru orientare. Aceasta se poate realiza prin rotaţii, translaţii sau rotaţii combinate cu translaţii. Un solid rigid poate fi definit prin intermediul unui punct aparţinând lui numit punct caracteristic ( cel mai frecvent centrul de greutate al solidului rigid ) şi al unei drepte ce conţine punctul caracteristic numitã dreaptã caracteristicã. Un punct material caracteristic şi o dreaptã caracteristicã definesc un solid rigid. Sistemul mecanic al unui robot industrial de topologie serialã are urmãtoarea structurã: - dispozitiv de ghidare; - dispozitiv de prehensiune .

Dispozitivul de ghidare are rolul de a realiza deplasarea punctului caracteristic şi orientarea dreptei caracteristice. El se compune din : - mecanismul generator de traiectorie ; - mecanismul de orientare .

Mecanismul generator de traiectorie are rolul de a poziţiona în spaţiu punctul caracteristic, deplasându-l din poziţia iniţialã în cea finalã. Cum poziţia unui punct în spaţiu este definitã prin intermediul a trei coordonate, rezultã cã mecanismul generator de traiectorie trebuie sã aibã trei grade de libertate.

Mecanismul de orientare trebuie sã realizeze orientarea în spaţiu a dreptei caracteristice. Cum aceasta trebuie sã realizeze modificarea celor trei unghiuri Euler care definesc poziţia

Page 10: Curs Roboti Industriali

dreptei caracteristice rezultã cã mecanismul de orientare trebuie sã aibã trei grade de libertate. Deci dispozitivul de ghidare trebuie sã aibã minimum şase grade de libertate pentru a realiza poziţionarea şi orientarea unui corp ( piesã sau sculã ) în spaţiu. In anumite cazuri particulare el poate sã aibã şi mai puţin de şase grade de libertate ( ca în cazul corpurilor cilindrice , când un grad de libertate nu-şi mai justificã existenţa datoritã simetriei faţã de axa cilindrului, situaţie în care cinci grade de libertate sunt suficiente ) sau mai mult de şase grade de libertate atunci când robotul trebuie sã execute anumite operaţii care necesitã o mare versatilitate ( ca în cazul vopsirii ) . In marea majoritate a cazurilor dispozitivul de ghidare este constituit dintr-un lanţ cinematic deschis dar existã şi situaţii când se combinã un lanţ cinematic închis ( patrulater articulat ) cu unul deschis. Cele trei grade de libertate ale mecanismului generator de traiectorie pot fi cuple de rotaţie sau de translaţie, în timp ce mecanismul de orientare este în general constituit din trei cuple cinematice de rotaţie. Mecanismul generator de traiectorie poate fi separat de mecanismul de orientare , situaţie în care structura robotului se numeşte “structurã deculatã”. Mişcarea de poziţionare se poate realiza utilizând trei cuple cinematice de rotaţie ( R ) sau translaţie (T ). Existã 8 combinaţii posibile de rotaţii şi translaţii ( 23=8 ). Acestea sunt : RRR , RRT , RTR , RTT , TRR , TRT , TTR , TTT. Cât despre dispozitivul de ghidare acesta poate exista în 33=27 variante. Combinând cele 8 posibilitãţi cu cele 27 combinaţii rezultã 8x27=216 lanţuri cinematice.Nu toate aceste varinate conduc însã cãtre un spaţiu de lucru tridimensional şi în consecinţã acestea vor fi eliminate , în final ramãnând 37 variante posibile. Dintre cele 8 structuri posibile de mecanism generator de traiectorie 4 sunt de preferat , conform GOST 25685/83 şi JIS 0134/86 : TTT , RTT , RRT , RRR . Fiecare dintre cele 37 de structuri de lanţ cinematic poate sta la baza unui robot, determinând o arhitecturã specificã.

Page 11: Curs Roboti Industriali

Prin gradul de manevrabilitate al dispozitivului de ghidare se înţelege numãrul gradelor de mobilitate ale lanţului cinematic care îi stã la bazã. Prin grad de mobilitate al lanţului cinematic se înţelege numãrul posibiltãţilor de mişcare pe care lanţul cinematic le are în raport cu sistemul de referinţã solidarizat cu unul din elementele sale. In cele ce urmeazã vom trece în revistã principalele tipuri de roboţi industriali din punct de vedere al structurii mecanismului generator de traiectorie.

1.2.1. Roboţi industriali tip “braţ articulat” ( BA ) Acest tip de RI are ca mecanism generator de traiectorie un lanţ cinematic deschis compus din cuple cinematice de rotaţie.

Fig.1.1. Schema cinematicã a unui robot braţ articulat Aceştia au o mare supleţe care permite accesul în orice punct al spaţiului de lucru. Dezavantajul sãu principal îl constituie rigiditatea sa redusã Cei mai cunoscuţi roboţi

Page 12: Curs Roboti Industriali

industriali aparţinând acestei arhitecturi sunt : ESAB (Suedia) , Unimation ( SUA ) 6CH aRm Cincinnati Millacrom ( SUA ).

Page 13: Curs Roboti Industriali

1.2.2. Roboţi industriali de tip “lanţ închis “( LI ) La acest tip de roboţi mecanismul generator de traiectorie este un lanţ cinematic închis, de tip patrulater articulat. Cuplele cinematice care intrã în componenţã lui sunt cuple de rotaţie. Datoritã construcţiei, ei au un spaţiu de lucru considerabil mãrit faţã de roboţii de tip BA. Având în vedere rigiditatea lor ridicatã ei manipuleazã sarcini mari. Principalul lor dezavantaj constã în construcţia relativ complicatã. Cei mai reprezentativi roboţi aparţinând acestei arhitecturi sunt : Trallfa ( Norvegia ) , K15 ( Germania ).

1.2.3. Roboţi industriali de tip “pistol” (P ) Acest tip de roboţi industriali este constituit dintr-un corp central ce poartã numele de braţ , asemãnãtor unei ţevi de pistol , care-şi poate modifica direcţia şi lungimea. Construcţia lor este simplã şi ei se remarcã printr-o supleţe şi o dexteritate scãzutã. Spaţiul lor de lucru este relativ mic. Se utilizeazã în special la manipularea unor mase reduse. Din punct de vedere structural sunt roboţi de tip TRT. Dintre roboţii aparţinând acestui tip cei mai reprezentativi sunt MHU Senior ( Suedia ) , Unimate ( SUA ) , Kawasaki ( Japonia ). Schema cinematicã a unui astfel de robot este redatã în figura 1.2. Fig. 1.2. Schema cinematicã a unui robot tip “Pistol “( P )

Page 14: Curs Roboti Industriali

1.2.4. Roboţi tip “turelã “ (T )

Roboţii industriali de tip turelã au o arhitecturã asemãnãtoare celor de tip pistol. Caracteristic pentru acest tip de robot este faptul cã între corpul central şi braţ, având construcţia şi mişcãrile similare cu cele ale subansablului similar de la tipul pistol, se interpune un subansamblu de tip turelã, care permite o rotaţie suplimentarã în jurul unei axe care se gãseşte într-un plan orizontal.

Fig.1.3. Schema cinematicã a unui robot turelã

Robusteţea şi supleţea acestui tip de roboţi este superioarã celor de tip pistol. Roboţii de tip turelã sunt utilizaţi în aproape orice tip de aplicaţie având din acest punct de vedere un caracter universal. Din punct de vedere structural sunt roboţi de tip RRT. Cel mai reprezentativ robot aparţinând acestei arhitecturi este robotul Unimate 1000. Schema cinematicã a unui robot turelã este redatã în figura 1.3.

Page 15: Curs Roboti Industriali

1.2.5. Roboţi de tip “coloanã”( C )

Si acest tip de roboţi , ca şi cei de tip T şi P are

un braţ care poate efectua o translaţie , numai cã aceasta este purtat de o coloanã verticalã care se poate roti şi permite în acelaşi timp- şi o translaţie pe verticalã. Roboţii de tip coloanã au o construcţie simplã, sunt robuşti şi au o bunã dexteritate. Sunt mai putin suplii decât cei de tip pistol şi turelã. Din punct de vedere structural schema cinematicã a unui robot coloanã este redatã în figura 1.4.

Fig.1.4. Schema cinematicã a unui robot tip “coloanã”

Page 16: Curs Roboti Industriali

1.2.6. Roboţi tip “cadru” ( CD )

Acest tip de roboţi au o rigiditate deosebitã, coloana de la tipul precedent fiind înlocuitã cu un cadru. In rest ei au structura roboţilor de tip coloanã.

1.2.7. Roboţi de tip “portal “( PO ) In cazul în care este necesarã manipularea unor piese grele într-un spaţiu de dimensiuni mari se utilizeazã tipul portal. Acest tip se întâlneşte frecvent în industria de automobile. Din punct de vedere structural ei aparţin tipului TTT.

1.2.8. Roboţi de tip “cãrucior”( CA ) In vederea mãririi spaţiului de lucru roboţii se monteazã pe cãrucioare care se pot deplasa liber pe şine. Acestea sunt cele mai des utilizate arhitecturi de roboţi industriali de topologie serialã. Pe lângã aspectul general arhitectura roboţilor influenţeazã în mod direct performanţele acestora, în principal rigiditatea, forma şi dimensiunile spaţiului de lucru. Astfel roboţii de tip coloanã, pistol au un spaţiu de lucru cilindric, în timp ce cei portal au spaţiul de lucru de formã paralelipipedicã. Roboţii de tip turelã şi braţ articulat au spaţiul de lucru sferic.

1.3. Tipuri de coordonate utilizate în studiul roboţilor industriali

Poziţia unui punct în spaţiu este determinatã prin trei parametri geometrici independenţi între ei, care pot fi coordonatele punctului considerat. Dacã se stabileşte o lege de determinare a acestor parametri pentru orice punct din spaţiu, spunem cã am stabilit un sistem de coordonate.

Page 17: Curs Roboti Industriali

Punctul caracteristic poate fi poziţionat în interiorul spaţiului de lucru al robotului industrial într-unul din urmãtoarele sisteme de coordonate : - cartezian - cilindric - sferic - curbiliniu

Alegerea unuia sau a altuia dintre sisteme se face şi în concordanţã cu arhitectura robotului. De exemplu un mecanism de generare a traiectoriei de structurã TTT impune coordonatele carteziene iar un mecanism de generare a traiectoriei de structurã TRT impune coordonatele cilindrice.

Ecuaţiile parametrice ale mişcãrii în sistemul cartezian sunt : X = x(t) ; Y = y(t) ; Z = z(t) . (1.1)

Ecuaţiile parametrice ale mişcãrii în sistemul cilindric sunt : r = r(t) ; θ = θ(t) ; z = z(t) . (1.2)

Ecuaţiile parametrice ale mişcãrii în sistemul sferic sunt: r = r(t) ; θ = θ(t) ; ϕ = ϕ(t). (1.3) Nu vom insista asupra sistemelor de coordonate carteziene, cilindrice şi sferice , care sunt cunoscute dar vom insista asupra sistemului de cordonate curbilinii.

1.3.1. Sisteme de coordonate curbilinii In sistemul de coordonate curbilinii vectorul de poziţie “r” este definit ca o funcţie vectorialã de trei coordonate scalare q1 , q2 , q3 , independente între ele. r = r(q1 , q2 , q3 ) (1.4) Componentele scalare carteziene ale acestuia au expresiile : x = x(q1 , q2 , q3 ) ; y = y(q1 , q2 , q3 ) ; z= z(q1 , q2 , q3 ) .

Page 18: Curs Roboti Industriali

Intrucât fiecãrui vector “r” îi corespunde un anumit punct M şi trei coordonate q1 , q2 , q3 , rezultã cã fiecare din aceste coordonate este funcţie de poziţia punctului caracteristic. q1(r)= q1( x,y,z ) ; q2(r)= q2( x,y,z ) ; q3(r)= q3( x,y,z ) (1.5) Mãrimile q1 , q2 , q3 se numesc coordonatele curbilinii ale punctului M. Cunoaşterea mişcãrii punctului caracteristic se reduce la cunoaşterea funcţiilor : q1 = q1(t) ; q2 = q2(t) ; q3 = q3(t) ; (1.6)

Dacã toate cele trei coordonate curbilinii sunt funcţii de timp, vârful vectorului “r” , care reprezintã punctul caracteristic mobil , se poate afla în orice punct din spaţiu. Dacã una dintre coordonatele curbilinii este constantã, iar celelalte douã variabile , punctul caracteristic se poate deplasa pe o suprafaţã. Planele tangente la aceste suprafeţe în punctul M se numesc plane de coordonate curbilinii.

Dacã douã din cele trei coordonate curbilinii sunt constante iar cea de a treia este variabilã , punctul caracteristic descrie o curbã. Obţinem astfel trei curbe numite curbe de coordonate curbilinii. Tangentele la curbele de coordonate curbilinii în punctul caracteristic sunt orientate în sensul creşterii coordonatei respective şi se numesc axe de coordonate curbilinii. Dacã cele trei axe sunt perpendiculare douã câte douã sistemul de coordonate se numeşte ortogonal. Mecanismele de orientare pot avea unul douã sau trei grade de libertate. Existã trei tipuri de mecanisme de orientare : - cu mişcãri independente - cu mişcãri dependente - trompã de elefant

Page 19: Curs Roboti Industriali

aducţie - abducţie ultimul element al pronaţie - supinaţie mecanismului generator de traiectorie flexie

Fig. 1.5. Mişcãrile mecanismului de orientare

1.4. Dispozitive de prehensiune Aşa cum reiese din definiţia lor roboţii industriali îndeplinesc sarcini tehnologice (sudurã, vopsit , etc. ) sau de transfer ( manipularea pieselor şi a semifabricatelor în procesul de producţie ). Atunci când îndeplinesc sarcini tehnologice endefectorul este o sculã ( pistol de vopsit sau cap de sudurã ). Dacã sarcinile robotului sunt de transfer ( manipulare ) atunci endefectorul sãu trebuie sã fie un dispozitiv de prehensiune. Acesta reuşeşte sã solidarizeze ( fixeze ) obiectul manipulat de robot. Aceastã operaţie de solidarizare, care este analoagã celei prin care mâna umanã apucã se numeşte prehensiune. Dispozitivele de prehensiune executã întotdeauna operaţia finalã şi de aceea rolul lor este foarte important. Prehensiunea este un proces complex care are mai multe faze :

Page 20: Curs Roboti Industriali

- poziţionarea - centrarea - fixarea – defixarea Solidarizarea obiectului manipulat presupune imobilizaarea acestuia şi deci anularea gradelor sale de libertate. Numãrul şi dispunerea punctelor de contact dintre dispozitivul de prehensiune şi obiectul manipulat depinde de forma obiectului care impune o anumitã formã a suprafeţelor de contact ale dispozitivului de prehensiune. Prin centrare se realizeazã ocuparea de cãtre obiectul manipulat a unei anumite poziţii şi orientãri faţã de un sistem de referinţã solidarizat cu endefectorul. Dacã dispozitivul de prehensiune obligã dreapta caracteristicã a obiectului manipulat sã ocupe o anumitã poziţie atunci operaţia se numeşte centrare. In cazul în care concomitent cu centrarea se realizeazã şi suprapunerea punctului caracteristic al obiectului manipulat peste un anumnit punct fix din spaţiul de lucru al robotului, atunci operaţia se numeşte centrare completã. Bineînţeles cã operaţia de poziţionare şi de centrare se executã cu o anumitã eroare, care reprezintã eroarea de centrare. In figura de mai jos este redatã operaţia de centrare a unui obiect cilindric cu ajutorul unui dispozitiv de prehensiune prevãzut cu 4 feţe prismatice.

Fig.1.7. Centrarea unui obiect cilindric cu ajutorul unui dispozitiv de prehensiune cu patru feţe

Page 21: Curs Roboti Industriali

Un dispozitiv de prehensiune are urmãtoarele pãrţi componente : - flanşa de legãturã cu restul robotului ( se recomandã a fi

standardizatã ) - dispozitivul de acţionare ( motorul ) - mecanismul propriu-zis - degetele - bacurile

Roboţii moderni realizeazã schimbarea automatã a dispozitivului de prehensiune, în funcţie de forma obiectului manipulat. Mecanismele de prehensiune au drept scop transmiterea forţei şi a mişcãrii la “degete”. Prin deget se înţelege acea parte componentã a dispozitivului de prehensiune care poartã şi conduce în poziţia de prehensiune o suprafaţã care în urma contactului cu piesa manipulatã va realiza funcţia de prehensiune. Mecanismele dispozitivelor de prehensiune pentru acţionarea unui deget au la bazã mecanisme cu douã, trei sau patru elemente. Cea mai mare parte a elementelor conducãtoare ale dispozitivelor de prehensiune executã mişcãri de translaţie în raport cu elementul fix şi de aceea pentru acţionarea lor se utilizeazã motoare hidraulice liniare. Atunci când dispozitivele de prehensiune se utilizeazã pentru alimentarea cu piese a maşinilor-unelte ele vor fi înzestrate cu dispozitive de “rapel “ , care dupã dispariţia acţiunii readuc dispozitivul în starea iniţialã sub acţiunea unor arcuri.

In funcţie de tipul şi dimensiunea obiectului manipulat, dispozitivele de prehensiune pot fi : - speciale pentru obiecte de aceaşi formã şi dimensiune ; - speciale pentru obiecte de aceaşi formã şi dimensiuni diferite

; - universale (pentru obiecte cu formã şi dimensiuni variind

într-un domeniu restrâns ) ; - flexibile ( pentru obiecte cu formã şi dimensiuni variind într-

un domeniu larg ) .

Page 22: Curs Roboti Industriali

Caracterul special, universal sau flexibil al dispozitivelor de prehensiune este dat de construţia bacurilor. Forma constructivã a degetelor trebuie sã ţinã cont şi de condiţiile de lucru. De exemplu dacã obiectul manipulat este fierbinte, degetele trebuie sã fie lungi pentru a atenua efectul cãldurii asupra dispozitivului de prehensiune. Pentru manipularea obiectelor feromagnetice relativ uşoare se utilizeazã dispozitive de prehensiune cu magneţi în timp ce pentru manipularea obiectelor uşoare care prezintã o suprafaţã planã relativ mare se utilizeazã dispozitive de prehensiune cu vid.

1.5. Analiza comparativă a caracteristicilor diferitelor grade de libertate

Deoarece avem posibilitatea de a alege şi / sau de a proiecta diferite structuri de roboţi industriali în constructie modulară, odata ce datele concrete ale aplicaţiei au fost determiante vom proceda la determinarea structurii optime din punct de vedere al aplicaţiei respectice. Primul pas constă din determinarea mişcãrilor elementelor componente ale traiectoriei impuse endefectorului. Se trece apoi la optimizarea traiectoriei folosind urmãtorul set de reguli simple : - minimizarea numărului de orientãri ale dispozitivului de prehensiune în scopul reducerii numărului de cuple cinematice necesare şi în general a gradului de complexitate al robotului industrial; - reducerea la maximum a greutãţii obiectului manipulat; - reducerea volumului spaţiului de lucru; - alegerea structurii cu cel mai scãzut consum energetic în scopul micşorãrii costurilor;

Page 23: Curs Roboti Industriali

- simplificarea sistemului de programare; ( de exemplu alegerea sistemului punct cu punct în locul controlului continuu al traiectoriei, acolo unde este posibil ) ; - minimizarea numărului de senzori; - folosirea la maximum a posibilităţilor existente în scopul reducerii costului robotului şi a timpului necesar îndeplinirii misiunii; Este de cea mai mare importanţã să cunoaştem caracteristicile şi performanţele actualilor roboţi industriali ca şi pe cele ale operatorului uman. In acest scop au fost realizate o serie de diagrame “Om - Robot industrial”. Acestea au fost create cu urmãtoarele scopuri : - să ajute tehnologul să determine dacă un anumit robot industrial poate efectua aplicaţia; - să servească ca model şi referinţa pentru roboţii industriali; - pentru a proiecta sisteme combinate, integrate de roboţi industriali şi operatori umani. Redãm mai jos o astfel de diagramă :

Diagrama “Om - Robot” - enumerarea mărimilor comparate.

I. Caracteristici fizice 1.Manipularea A. Corpul. a. Tipuri b. Gama maximă a mişcarilor posibile

( GMMP ) B. Braţul a. Tipul b. Numărul de braţe c. GMMP.

Page 24: Curs Roboti Industriali

C. Incheietura a. Tipul b. GMMP D. Endefectorul a. Tipul b. GMMP 2. Dimensiunile corpului. A. Corpul principal B. Aria pardoselii necesare. 3. Forţa şi puterea A. Greutatea încãrcãturii braţului B. Puterea necesarã. 4. Armonie. 5. Suprasolicitare/solicitare sub posibilităţi. Performanţe. 6. Restricţii ambientale. A. Temperatura ambientalã. B. Umiditatea C.Fluctuaţii. II. Caracteristici mentale şi comunicative. 1. Capacitatea de calcul 2. Memoria 3. Inteligenţa. 4. Puterea de a raţiona. 5. Perceperea semnalelor. 6. Coordonarea creier-muşchi. 7. Necesitaţi sociale şi psihologice. 8. Pregătirea 9. Sensibilitatea. 10. Comunicãri între operatori. 11. Viteza de reacţie. 12. Autodiagnosticarea. 13. Specificitatea individualã. III. Consideraţii energetice. 1. Puterea cerută. 2. Accesorii

Page 25: Curs Roboti Industriali

3. Oboseală. 4. Timpul de muncă. 5. Durata estimată de viaţă. 6. Eficienta energetică. După cum se observă diagrama conţine trei tipuri principale de caracteristici de lucru : - caracteristici fizice. - caracteristici mentale şi comunicative. - caracteristici energetice. Vom studia în cele ce urmează diagrama “ Om - Robot “ pentru caracteristicile fizice.

HARTA “OM-ROBOT” Detalii parţiale ale hãrţii caracteristicilor fizice

Caracteristica Robot industrial Om

(1) (2) (3) 1. MANIPULARE A. CORPUL. a) Tipuri 1. Prismatic

2. De revoluţie 3.Combinat:prismatic+revoluţi 4. Mobil

1. Mobil , permiţând : - înclinare - rotaţie - răsucire

b) GMMP Stînga-Dreapta : 3-15 m la 500-1200 mmş

Răsucire : 180o înclinare : 150o Rotire : 90o

B. BRATUL a) Tipul 1. Rectangular

2. Cilindric 3. Sferic 4. Articulat

1. Articulat în umăr

b) Numărul Unul sau mai multe Uzual douã , care nu pot opera absolut

Page 26: Curs Roboti Industriali

independent (1) (2) (3)

c) GMMP 300-3000 mm la 100-25000mm/s

625-1500 mm/s pentru mişcãri liniare

C. INCHEIETURA

a) Tipuri 1. Prismatic 2. Revoluţie 3. Combinat De obicei încheietura are 3 mişcari de rotaţie : răsucire, înclinare, rotire , dar recent au apărut şi mişcãri de translaţie

Constã în trei rotaţii : răsucire , înclinare , rotire.

b) GMMP Răsucire : 35-500 o/s înclinare : 30-320 o/s Rotire : 30-300 o/s

Răsucire : 180o înclinare : 180o Rotire : 90o

D. OPERATOR FINAL

a) Tipuri 1. Mîna mecanică cu graifer mecanic sau cu vacuum. 2. Scula : pistol de vopsit , de sudat , etc.

1. Patru grade de libertate în configuraţie articulată. Cinci degete pe mână.

b) GMMP Se poate proiecta la dimensiuni variate.

Dimensiuni tipice : Lungime : 163-208 mm Lăţime : 68-97 mm Adâncime : 20-33

Page 27: Curs Roboti Industriali

mm (1) (2) (3)

2. DIMENSIUNILE CORPULUI A. CORPUL PRINCIPAL

a. înalţime 0,10-2,0 m b. Lungime (braţ) 0,20-2,0 m c. Lăţime 0,10-1,5 m d. Greutate 5-8000 Kg

înalţime 1,5-1,9m Lungime (braţ) 754-947 m Lăţime : 478-579 m Greutate 45-100 Kg

B. ARIA PARDOSELII

De la 0 la câţiva metri pătraţi

Raza de lucru medie de 1 metru patrat

3. FORTA SI PUTERE A.GREUTATEA INCARCATURII BRATULUI

0,1 la 1000 Kg Sub 30 Kg.

B. PUTERE Proporţional cu încãrcãtura utilă

2 CP la 10 secunde. 0,5 CP la 120 secunde 0,2 CP la 300 secunde

Pentru a determina posibilităţile roboţilor industriali s-a efectuat un studiu pe 282 modele de roboţi, trasându-se douã tipuri de grafice : - grafice cursã/vitezã - grafice indicând frecvenţa distribuţiei roboţilor după anumite criterii. S-au luat în considerare 282 roboţi industriali dintre care 183 de roboţi industriali japonezi şi 99 de roboţi industriali funcţionând în S.U.A.,o parte dintre aceştia fiind de concepţie europeanã. Din analiza frecvenţei de distribuţiei se pot trage următoarele concluzii :

Page 28: Curs Roboti Industriali

1. Japonezii s-au concentrat mai mult pe tipul cartezian (52%) , în timp ce piaţa americană este dominată de structura articulată (48 %). Se mai observa ca cea mai mare frecvenţã o au roboţii industriali de gabarit mediu urmaţi de cei mici. 2. Sarcina utilă a roboţilor industriali americani este mai mare decât a celor japonezi şi ambele oscilează în jurul a 40 Kg. 3. Acţionarea preponderentă a roboţilor industriali americani este hidraulică, în timp ce a celor japonezi este electrică. Tendinţa recentă însã se îndreaptă spre acţionarea electrică. Vom analiza în cele ce urmează diagramele “viteza-cursă”pentru diferite mişcări ale braţului sau ale dispozitivului de prehensiune. Graficele modelelor americane se vor trasa cu linie continuă, iar cele ale modelelor japoneze cu linie întreruptă. Fiecărui model de robot industrial îi corespunde un punct în interiorul domeniului delimitat de grafice. Fiecare grafic exprimã relaţia cursă-viteza pentru un anume modul funcţional

Fig. 1.8. Rotaţia braţului sus-jos [ grade ]

100 200 300 400 500 600

200

300

400

500

600

0

100

viteza [ grade/secunda]

Page 29: Curs Roboti Industriali

Fig. 1.9. Răsucirea încheieturii [ grade ]

Fig. 1.10. Inclinarea încheieturii [ grade ]

100

200

300

400

500

0

viteza [grade/secunda]

100 200 300 400 500 600

viteza grade/sec

0

100

200

300

400

500

600

100 200 300 400 500 600

Page 30: Curs Roboti Industriali

Fig. 1.11. Translaţia braţului pe orizontală [ grade ]

Fig. 1.12.Translaţia braţului sus-jos [mm ]

0

100 200 300 400 500 600

100

200

300

400

500

600 viteza mm/sec

0 100 200 300 400 500 600

100

200

300

400

500

600viteza mm/sec

Page 31: Curs Roboti Industriali

Fig.1.13. Rotaţia braţului stânga-dreapta [ mm ]

Fig. 1.14. Translaţia corpului ( coloanei ) [ mm ]

0 100 200 300 400 500 600

100

200

300

400

500

600

viteza mm/sec

0 100 200 300 400 500 600

100

200

300

400

500

600 viteza mm/sec

Page 32: Curs Roboti Industriali

Fig. 1.15. Rotirea încheieturii [ grade ]

Din studiul diagramelor “cursă-viteza” se pot trage următoarele concluzii utile atât în ceea ce priveşte concepţia dar mai ales exploatarea roboţilor industriali : 1. Diagramele relevã diferenţe considerabile între cele douã categorii de roboţi industriali studiate din punct de vedere al cinematicii. Aceste diferenţe se datorează practic diferenţelor dintre şcoala japonezã şi cea euro-americanã. Aceste diagrame se referă la modele de roboţi. Numai diagramele din figurile 1.10 şi 1.13 acoperã regiuni similare. Este vorba despre translaţia braţului pe orizontala şi translaţia corpului. 2. Pentru mişcãrile încheieturii se constată parametrii superiori atât în ceea ce priveşte cursa cât şi viteza la roboţii euro-americani. 3. Vitezele de rotaţie ale coloanei roboţilor japonezi sunt mai mari.

0 100 200 300 400 500 600

100

200

300

400

500

600 viteza mm/sec

Page 33: Curs Roboti Industriali

4. Diagramele permit studierea parametrilor cinematici pentru diferite mişcãri ale roboţilor, fiind de un real folos pentru studiul modularizării. Putem astfel să determinăm cursele optime, sau cu frecvenţa cea mai cerută de către utilizatori în vederea modularizării. In ceea ce privesc vitezele, ele trebuie să fie cât mai mari pentru a conduce la creşterea productivităţii. Este de presupus, şi informaţiile de dată recentă o dovedesc, că media maximului vitezelor a crescut între momentul întocmirii studiu statistic şi momentul prezent. De exemplu vitezele modulelor de translaţie au crescut de la 1 m/s la 4 m/s. 5. Uneori din analiza diagramelor “Om-Robot “ putem trage concluzia dacă pentru o anumită operaţie este mai potrivit omul sau robotul. De asemeni cei ce gândesc procesele de producţie trebuie încã din faza de concepţie să le structureze astfel încât eficienţa robotului să fie maximă. Este vorba deci despre o adaptare nu numai a robotului la necesităţile producţiei ci şi a producţiei la posibilităţile robotului în vederea creşterii eficienţei globale a activitãţii. Aceasta pentru că astăzi nimeni nu mai poate exclude robotul industrial din structura unui proces industrial iar mutaţiile rapide care au loc fac posibil accesul roboţilor chiar şi acolo unde astăzi acest lucru nu este previzibil datorită progresului tehnologic şi a mutaţiilor de ordin social. Tabelul 1.1 ne oferã informaţii preţioase privind cinematica unui mare număr de modele de roboţi, cu un mare impact asupra studiului modularizării.

Page 34: Curs Roboti Industriali

TABELUL NR. 1.1.

CARACTERISTICILE “ CURSĂ / VITEZĂ” ALE MODULELOR ROBOŢILOR INDUSTRIALI

Modulul Piaţa

americana Piaţa japoneza

Total

( 1 ) ( 2 ) ( 3) ( 4 ) Translaţia braţului pe orizontală

N 32 49 81 X 1196,94 977,04 1063,91 Y 942,22 741,43 820,75 DMC 300 - 3000 DVM 100 - 4500 Translaţia corpului

N 8 85 93 X 2877,88 1320,00 1454,01 Y 635,75 466,71 481,25 DMC 1000 - 6000 DVM 100 - 1500 Translaţia braţului pe verticala

N 33 118 151 X 1336,39 853,05 958,68 Y 1036,85 489,36 609,01 DMC 50 - 4800 DVM 50 - 5000 Rotaţia braţului stânga -

Page 35: Curs Roboti Industriali

dreapta N 28 44 72 X 275,25 196,91 227,38 Y 90,32 89,23 89,65 DCM 50 - 280 DVM 50 - 240

(1) (2) (3) (4) Rotaţia braţului sus - jos

N 7 11 18 X 176,57 95,45 127,00 Y 93,57 63,64 75,28 DMC 25 - 3330 DVC 10 - 170 Răsucirea încheieturii

N 33 79 112 X 312,58 250,13 268,53 Y 158,18 99,05 116,47 DMC 100 - 575 DVM 35 - 600 Inclinarea încheieturii

N 29 37 66 X 183,97 174,86 178,86 Y 144,93 97,84 118,53 DCM 40 - 360 DVM 30 - 320 Rotirea încheieturii

N 18 30 48 X 281,94 203,07 323,65

Page 36: Curs Roboti Industriali

Y 140,17 92,90 110,63 DCM 100 - 530 DVM 30 - 300

unde , N = numărul observaţiilor X = cursa medie maximă în “mm” sau “grade” Y = viteza liniară sau unghiulară medie maximă DCM = domeniul curselor maxime DVM = domeniul vitezelor maxime

Page 37: Curs Roboti Industriali

2. CINEMATICA ROBOŢILOR INDUSTRIALI

2.1. Problema cinematicã directã Problema cinematică directă reprezintă ansamblul relaţiilor care permit definirea poziţiei endefectorului în funcţie de coordonatele articulare, practic ea asigurând conversia coordonatelor interne (articulare) în coordonate externe (operaţionale). Poziţia endefectorului este definită prin cele “m” coordonate : X = [ x1 , x2 , .... , xm ] (2.1) Variabilele articulare sunt definite astfel : q = [ q1 , q2 , .... , qn ]T (2.2) Problema cinematică directă se exprimă prin relaţia : X = f(q) (2.3) Există mai multe modalitaţi de definire a vectorului X , combinând una din metodele de definire a poziţiei cu una dintre metodele de definire a orientării. De exemplu utilizând cosinuşii directori , obţinem: X = [Px , Py , Pz , sx ,sy , sz , nx , ny , nz , ax , ay , az]T (2.4) În cele mai multe cazuri , calculul lui X implică calculul matricei de transformare a endefectorului. Utilizând triedrele şi notaţiile Hartemberg-Denavit, matricea de transformare a coordonatelor triedrului “i” în coordonate”i-1”, se defineşte ca fiind i-1Ti :

i-1Ti =

C i S i diC iS i C iC i S i riS iS iS i S iC i C i riC i

θ θα θ α θ α αα θ α θ α α

−− −

⎢⎢⎢⎢

⎥⎥⎥⎥

0

0 0 0 1

(2.5)

Conversia coordonatelor articulare în coordonate operaţionale se face prin rezolvarea problemei cinematice directe iar conversia coordonatelor coordonatelor operaţionale în

Page 38: Curs Roboti Industriali

coordonate articulare se face prin rezolvarea problemei cinematice inverse.

2.2. Problema cinematicã inversã Determinarea poziţiei punctului caracteristic manipulat în spaţiul triedrului de referintă fix este o problemă relaţiv simplă şi deja rezolvată , ea constituind soluţia problemei cinematice directe. Matricea de transformare a coordonatelor unui robot serial are forma :

iTj =

sx nx ax Pxsy ny ay Pysz nz az Pz0 0 0 1

⎢⎢⎢⎢

⎥⎥⎥⎥

= A P0 1⎡

⎣⎢⎤

⎦⎥ (2.6)

unde , A reprezintă rotaţia , iar P translaţia. Pentru o translaţie pură A=I3 ( I3 reprezintă matricea unitate de ordinul 3 ) , iar pentru o rotaţie pură P=0. sx,sy,sz , nx,ny,nz,ax,ay,az reprezintă cosinuşii directori ai versorilor axelor. Vom enumera în cele ce urmează câteva dintre cele mai importante proprietaţi ale acestei matrici de transformare. - Matricea A este ortogonală , adică A-1=AT - Trecerea de la un sistem "i" la un sistem "j" se face prin matricea iTj. Inversă acesteia este jTi. Fie V1 un vector care în triedrul "j" are forma jV1 , iar în triedrul "i" are forma iV1, între ei există o relaţie de tipul : jV1 = jTi iV1 (2.7) - Dacă înmulţim relaţia (2.7) la stânga cu jTi

-1 , inversă lui jTi , obţinem : jTi

-1 jV1 = jTi-1 jTi iV1 = iV1 (2.8)

- Notând prin Rot(u,θ) matricea de rotaţie cu un unghi θ în jurul axei “u” , există relaţiile : Rot-1(u,θ) = Rot(u,-θ) = Rot(-u,θ) (2.9)

Page 39: Curs Roboti Industriali

Z0 z2 y2 x2 Rot(x,α) x2 z1 Y0 y1 Trans(y,d) X0 x1 X0

Fig.2.1 Triedre de referinţă rotite sau translatate faţă de cel fix

Analog notăm prin Trans(x,d) matricea de translaţie a originii sistemului de referinţa de a lungul dreptei”x” cu “d”. Deci dacă un sistem de referinţa (aflat într-o poziţie “0”) suferă o transformare prin care este rotit în jurul axei “u” cu un unghi “θ” ( ajungând într-o poziţie “1”) urmată de o translaţie a originii cu “d” , de a lungul axei “x” (ajungând într-o poziţie “2”), matricea de transformare a sitemului din poziţia “0” în poziţia “2” este : 0T2 = Rot(u,θ) Trans( x,d ) (2.10) - Dacă un triedru R0 a suferit "k" transformări consecutive şi transformarea "i" este definită în raport cu triedrul mobil Ri-1 , atunci matricea de transformare a coordonatelor de la sistemul "0" la "k" se poate deduce cu formula : 0Tk = 0T1 1T2 2T3 ..... k-1Tk (2.11) - Inmulţirea a douã matrici de transformare se face după formula:

Page 40: Curs Roboti Industriali

T1T2 = A P1 10 1

⎣⎢

⎦⎥

A P2 20 1

⎣⎢

⎦⎥ =

A A A P P1 2 1 2 10 1

+⎡

⎣⎢

⎦⎥ (2.12)

- Inmulţirea acestor matrici de transformare nu este comutativa; - Transformările consecutive în jurul aceleaşi axe se fac după algoritmul : Rot(u,θ1) Rot(u,θ2) = Rot[u,(θ1+θ2)] Rot(u, θ) Trans (x,d) = Trans(x,d) Rot(u, θ) (2.13) - O matrice de transformare se poate descompune în douã matrici , una reprezentând o translaţie pura iar cealalta o rotaţie pură :

T = A P0 1⎡

⎣⎢⎤

⎦⎥ =

I P0 1⎡

⎣⎢

⎦⎥

A O0 1⎡

⎣⎢

⎦⎥ (2.14)

Problema cinematică inversă permite calculul coordonatelor articulaţiilor, care aduc endefectorul în poziţia şi orientarea dorită, date fiind coordonatele absolute (operaţionale). Atunci când problema cinematica inversă are soluţie , ea se constituie în modelul geometric invers MGI. Dacã nu putem găsi o soluţie analitică problemei cinematice inverse ( ceea ce se întâmplã destul de frecvent ) putem apela la metode numerice , al căror neajuns însã îl constituie volumul mare de calcule. Cea mai frecventã metoda este metodă Newton-Raphson. Există o varietate de metode de rezolvare a problemei cinematice inverse ( Pieper 1968 , Paul 1981 , Lee 1983 , Elgazaar 1985 , Pieper şi Khalil 1988 ). Dintre acestea se remarcă pentru facilităţile pe care le oferă metoda “Pieper şi Khalil” şi metoda lui Paul. Metodă lui Khalil şi Pieper permite rezolvarea problemei cinematice inverse indiferent de valorile caracteristicilor geometrice al robotului, dar pentru roboţii cu şase grade de libertate şi care posedă sau trei cuple cinemtice de rotaţie cu

Page 41: Curs Roboti Industriali

axele concurente sau trei cuple cinematice de translaţie. Datorită flexibilităţii şi faptului că posedă soluţie a problemei cinematice inverse , această structură cu trei cuple de rotaţie cu axele concurente ( numită şi structură "decuplată" ) se regăseşte în majoritatea modelelor de roboţi comercializate. Poziţia punctului de intersecţie al celor trei axe este unic determinată doar de variabilele q1,q2,q2. Un alt avantaj al structurii decuplate este că permite disocierea şi tratarea separată a poziţionării şi a orientării. Metoda lui Paul tratează separat fiecare caz în parte. Mai există şi alte metode , ca cea a lui Lee şi Elgazaar care însă nu au un mare grad de generalitate şi nu suportă generalizãri. Spunem că un robot are soluţie la problema cinematica inversă dacă putem să-i calculăm toate configuraţiile care permit atingerea unei poziţii date. Nu toate mecanismele articulate satisfac aceastã condiţie. După Roth , roboţii cu mai puţin de şase grade de libertate au întotdeauna soluţie. Roboţii cu sase grade de libertate au soluţie, dacă prezintă una dintre următoarele caracteristici : - posedă trei cuple de translaţie; - posedă trei cuple de rotaţie cu axe concurente; - posedă o cupla de rotaţie şi una de translaţie coaxiale; - posedă douã perechi de cuple de rotaţie cu axe concurente. Aproape toate structurile de roboţi industriali utilizate în industrie prezintă o soluţie a problemei cinematice inverse şi de aceea au structuri asemănatoare celor descrise anterior. Din punct de vedere al numarului de soluţii există trei cazuri : I. Problema cinematică inversă nu are soluţii , ca în cazul când ţinta se afla în afara spaţiului de lucru al robotului. II. Problema cinematica inversă are o infinitate de soluţii atunci când : - robotul este redundant vis a vis de misiunea încredinţată; - robotul se află intr-o configuraţie singulară. Robotul nu-şi poate roti endefectorul în jurul anumitor axe. Aceastã situaţie nu

Page 42: Curs Roboti Industriali

se datorează structurii robotului ci valorilor numerice ale unor parametri ce descriu situaţiile impuse. III. Problema cinematică inversă are un numar finit de soluţii şi toate pot fi calculate fãrã ambiguitate. Numarul de soluţii depinde de arhitectura robotului. Pentru clasa roboţilor cu şase grade de libertate posedând trei cuple cinematice de rotaţie cu axe concurente numărul maxim de soluţii este de 32. Acest număr, obţinut atunci când nici un parametru geometric nu este nul , descreşte atunci când aceştia iau anumite valori particulare. Numãrul de soluţii mai depinde şi de mãrimea curselor articulaţiilor.

2.2.1. Calculul modelului cinematic invers Fie un robot industrial a cărui matrice de transformare omogenã are expresia : 0Tn = 0T1

1T2.....n-1Tn (2.15) Vom nota U0 = 0T1

1T2......n-1Tn (2.16)

unde U0 =

sx nx ax Pxsy ny ay Pysz nz az Pz0 0 0 1

⎢⎢⎢⎢

⎥⎥⎥⎥

(2.17)

Matricea U0 face parte din datele iniţiale ale problemei. Ea descrie poziţia finală pe care endefectorul trebuie să o atingă. Rezolvarea problemei cinematice inverse constă în determinarea variabilelor articulare pornind de la relaţia (2.15) , în funcţie de s , n , a şi P .Una dintre căile cele mai simple şi răspândite este cea a lui Paul. Principiul metodei lui Paul constă din multiplicarea relaţiei (2.15) la stânga cu (k-1Tk)-1 , adicã cu kTk-1 în scopul izolării şi a identificării variabilelor articulare căutate. De exemplu înmulţind relaţia (2.15) la stânga cu 1T0 se obţine : 1T0 U0 = 1T2......n-1Tn (2.18)

Page 43: Curs Roboti Industriali

Termenul din dreapta este în funcţie de variabilele q2,q3,....q6. Termenul din stânga este în funcţie doar de U0 şi de q1. Din aceastã ultimă relaţia putem deci obţine prin identificare pe q1. Continuând să multiplicăm la stânga cu 2T1 şi reiterând , obţinem : U0 = 0T1

1T2.....5T6 1T0 U0 =1T2.....5T6 2T1 U1 = 2T3

3T4 5T6 (2.19)

3T2 U2 = 3T4 4T5 5T6 4T3U3 = 4T5 5T6 5T4 U4 = 5T6 în anumite cazuri este posibil să rezolvăm problema cinematică inversă plecând de la qn spre q1.

2.2.1.1.Calculul primelor trei articulatii Există un algoritm care se referă la unul dintre cele mai frecvente arhitecturi de roboţi : cea a roboţilor cu şase grade de libertate care posedã trei cuple cinematice de rotaţie cu axe concurente. Poziţia punctului de intersectie al celor trei axe concurente este în funcţie numai de q1,q2,q2.Având o structură “decuplată” se pot separa problemele de poziţionare de cele de orientare. Deoarece avem de a face cu o structură decuplată : 0P6 = 0P4 (2.20)

PxPyPz1

⎢⎢⎢⎢

⎥⎥⎥⎥

= 0T0 1T2 2T3 3T4

0001

⎢⎢⎢⎢

⎥⎥⎥⎥

(2.21)

Folosind relaţia (2.20) putem determina variabilele q1,q2,q2. Din (2.21) obţinem :

Page 44: Curs Roboti Industriali

3P4 = 3T4

0001

⎢⎢⎢⎢

⎥⎥⎥⎥

=

C S dC S C C S r SS S S C C r C

4 4 0 44 4 4 4 4 4 44 4 4 4 4 4 40 0 0 1

−− −

⎢⎢⎢⎢

⎥⎥⎥⎥

α α α αα α α α

0001

⎢⎢⎢⎢

⎥⎥⎥⎥

=

=

dr S

r C

44 4

4 41

−⎡

⎢⎢⎢⎢

⎥⎥⎥⎥

αα (2.22)

unde , cu Ci s-a notat Cos(θi) , iar cu Şi , Sin(θi).

2P4 = 2T3

dr S

r C

44 4

4 41

−⎡

⎢⎢⎢⎢

⎥⎥⎥⎥

αα =

fff

123

1

⎢⎢⎢⎢

⎥⎥⎥⎥

(2.23)

Utilizând forma generală a lui 2T3 , putem determina pe fi : f1(θ3) = C3d4+S3Sα4r4+d3 f2(q3) = Cα3(S3d4-C3Sα4r4)-Sα3(Cα4r4+r3) (2.24) f3(q3)= Sα3(S3d4-C3Sα4r4)+Cα3(Cα4r4+r3) Se observă că f1 este funcţie numai de θ3 , în timp ce f2 şi f3 sunt funcţii de θ3 şi de r2. Înmulţind la dreapta cu 1T2 , obţinem :

1P4 = 1T2 2P4 = 1T2

fff

123

1

⎢⎢⎢⎢

⎥⎥⎥⎥

=

ggg

123

1

⎢⎢⎢⎢

⎥⎥⎥⎥

(2.25)

unde :

Page 45: Curs Roboti Industriali

g1( θ3,q3 ) = F1(θ3,q3) + d2 g2( q2,q3 ) = Cα2F2( q2,q3 )-Sα2F3( r2, q3 ) (2.26) g3( q2,q3 ) = Sα2F2( q2,q3 ) + Cα2F3( r2,q3 ) cu : F1(θ3,q3 ) = C2f1 - S2f2 F2(q2,q3 ) = S2f1 + C2f2 (2.27) F3(q2,q3 ) = f3 + r2 Insfârşit , înmulţind la stânga cu 0T1 , obţinem :

0P4 = 0T1 1P4 =

C Ss C

r

1 1 0 01 1 0 00 0 1 10 0 0 1

−⎡

⎢⎢⎢⎢

⎥⎥⎥⎥

ggg

123

1

⎢⎢⎢⎢

⎥⎥⎥⎥

(2.28)

Cum însă

0P4 =

PxPyPz1

⎢⎢⎢⎢

⎥⎥⎥⎥

rezultă coordonatele punctului caracteristic manipulat faţă de sistemul de coordonate fix : Px = C1g1 - S1g2 Py = S1g1 + C1g2 (2.29) Pz = g3 + r1

2.2.1.2. Calculul lui θ4 , θ5 , θ6 Mecanismul de orientare este constituit din trei cuple cinematice de rotaţie cu axe concurente. O soluţie generală pentru determinarea lui θ4 , θ5 , θ6 se obţine pornind de la ecuaţia : 3A0 [ s n a ] = 3A6 (2.30)

Page 46: Curs Roboti Industriali

Aceasta poate fi pusă şi sub forma : 3A0 [ s n a ] = 3A4 4A5 5A6 (2.31) În forma ei generală matricea i-1Ai are forma : i-1Ai = A(x, αi) A(z , θi) (2.32) Pentru a simplifica membrul drept, înmulţim ambii membrii cu A(x,-α4). Aceasta descompunere facilitează soluţia dar nu este obligatorie. Prin înmulţire obţinem : A(x,α4) 3A0 [ s n a ] = A (z,θ4) 4A5

5A6 (2.33) Termenul din stânga este cunoscut şi îl vom nota cu [ F G H ] Obţinem : [ F G H ] = A(z, θ4 ) 4A5 5A6 (2.34) Soluţia ecuaţiei precedente se obţine prin înmulţiri succesive ; A(z, -θ4 ) [ F G H ] =4A5 5A6 (2.35) Notãm membrul stâng cu U(i,j) iar pe cel drept cu T(i,j). Atfel prima coloanã a membrului stâng devine : U1(1,1) = C4Fx+S4Fy U1(2,1) = -S4Fx+C4Fy U1(3,1) = Fz Analog se obţin expresiile celei de a doua şi celei de a treia coloane. U1(1,2) = C4Gx+S4Gy U1(2,2) = -S4Fx+C4Gy U1(3,2) = Gz U1(1,3)= C4Hx+S4Hy U1(2,3)= -S4Hx+C4Hy U1(3,3)= Hz Pentru membrul drept obţinem : T1(1,1) = C5C6-S5Cα6S6 T1(2,1) = Cα5S5C6+(Cα5C5Cα6-Sα5Sα6)S6 T1(3,1) = Sα5S5C6+(Sα5C5Cα6+Cα5Sα5)S6 T1(1,2) = -C5S6-S5Cα6C6 T1(2,2) = -Cα5S5S6+(Cα5C5Cα6-Sα5Sα6)C6 (2.36) T1(3,2) = -Sα5S5S6+(Sα5C5Cα6+Cα5Sα6)C6 T1(1,3) = S5Sα6

Page 47: Curs Roboti Industriali

T1(2,3) = -Cα5C5Sα6-Sα5Cα6 T1(3,3) = -Sα5C5Sα6+Cα5Cα6 Înmulţind în continuare ecuaţia (2.35) la stânga , obţinem : 5A4A(z, θ4) [F G H ] =5A6 (2.37) Elementele componente ale matricei membrului stâng au forma : U2(1,1) = (C5C4-Cα5S5S4)Fx+(C5S4+Cα5S5C4)Fy+Sα5S5Fz U2(2,1) = (-S5C4-Cα5C5S4)Fx-(S5S4-Cα5C5C4)Fy+Sα5C5Fz U2(3,1) = Sα5S4Fx-Sα5C4Fy+Cα5Fz Expresiile coloanei a douã se obţin plecând de la cele ale coloanei întâi înlocuind (Fx,Fy,Fz) cu (Gx,Gy,Gz) iar cele ale coloanei a treia înlocuind (Fx,Fy,Fz) cu (Hx,Hy,Hz). Elementele matricei membrului drept au forma : T2(1,1) = C6 T2(2,1) = Cα6S6 T2(3,1) = Sα6S6 T2(1,2) = -S6 T2(2,2) = Cα6C6 T2(3,2) = Sα6C6 T2(1,3) = 0 T2(2,3) = -Sα6 T2(3,3) = Cα6 Din egalitatea U2(3,3) = T2(3,3) obţinem θ4

Cunoscând θ4 , din U1(1,3) = T1(1,3) şi U1(3,3) = T1(3,3) obţinem θ5 .

În sfârşit din U2(1,1) = T2(1,1) şi U2(1,2) = T2(1,2) rezultă θ6 .

Existã poziţii şi orientări corespunzãtoare anumitor valori particulare ale caracteristicilor geometrice ale robotului , cãrora le corespund ecuaţii nedeterminate ale coordonatelor robotului , numite singularităţi.

Page 48: Curs Roboti Industriali

2.2.2. Problema cinematică inversă pentru anumite cazuri particulare

Considerând ca fiind cea mai frecventã situaţie întâlnită cea a unui robot cu şase grade de libertate , există două categorii de cazuri particulare : - roboţi industriali posedând mai mult de şase grade de libertate; - roboţi industriali posedând mai puţin de şase grade de libertate. Dintre aceste douã categorii de situaţii particulare vom lua în discuţie pe cea mai frecvent întâlnitã şi anume cazul cu mai puţin de şase grade de libertate. Pentru această categorie de roboţi spaţiul de lucru accesibil este mai mic decât al celor cu şase grade de libertate. În acest caz avem de rezolvat un sistem de şase ecuaţii cu “n” necunoscute , n<6. Nefiind posibil sã suprapunem triedrul ataşat endefectorului peste cel fixat în spaţiul de lucru al robotului , trebuie să reducem numărul de ecuaţii , neluând în considerare decât anumite elemente ale celor douã triedre.

2.2.2.1 O altã modalitate de rezolvare a problemei cinematice inverse

În vederea reducerii volumului de calcule vom folosi un set de invarianţi liniari ai matricii de rotaţie “Q” faţã de schimbarea sistemului de coordonate şi anume “qo” şi “q”. Aceştia sunt de preferat parametrilor lui Euler, care nu sunt invaraianţi faţă de shimbarea sistemului de coordonate. Reamintim că parametrii lui Euler sunt definiţi astfel : q`=u sin[ ∅/2] (2.38) qo=cos[ ∅/2] unde”u” este versorul axei de rotaţie “u”, iar ∅ este unghiul de rotaţie în jurul axei respective în sensul pozitiv al direcţiei sale.

Page 49: Curs Roboti Industriali

Parametrii lui Euler sunt legaţi de matricea de rotaţie prin relaţii neliniare ceea ce constituie un handicap faţă de invarianţii liniari. Invarianţii liniari ai matricii de rotaţie`Q` se definesc folosind noţiunea de “vector” şi “urmă”(trace) ale unei matrici. Ei se definesc astfel :

qo= tr Q( ) −12

= cos ∅

(2.39) q = vect(Q) = sin[∅u] unde “u” este versorul axei de rotaţie, iar `∅` unghiul de rotaţie în jurul axei. Vectorul invariant nu corespunde numai unei singure matrici ci la douã matrici, ambele având axele de rotaţie identice dar unghiuri de rotaţie suplementare. De aceea este nevoie şi de o a douã ecuaţie care să determine în mod unic vectorul invariant corespunzãtor unei matrici de rotaţie. Aceastã a douã ecuaţie va fi cea a urmelor (2.40). Urma (trace) “tr” a matricii se mai numeşte şi invariant scalar şi se defineşte astfel : tr(A) = a11+a22+. . . . . . . +ann (2.40) Vectorul unei matrici “vect(A)”este un vector tridimensional şi se mai numeşte invariant vectorial al matricii, componenta sa “i” fiind definită astfel : vect(A) = ∈ijkakj (2.41) unde, ∈ijk este simbolul de permutare al lui Ricci,definit astfel:

1 pentru ijk = 123,231,312 ∈ijk = -1 pentru ijk= 132,213,312 (2.42) 0 daca cel puţin doi indici sunt egali Între parametrii lui Euler şi invarianţii liniari există următoarele relaţii de legãtură: q=2qoq` q==2qo`2-1 (2.43) q`=q/2q`o qo`= ( ) /1 2+ qo Deasemeni între vectorul şi urma unei matrici există relaţia :

Page 50: Curs Roboti Industriali

⎢⎢vect(Q)⎢⎢2 + [tr(Q) - 1]2/4 = 1 (2.44) Fie douã matrici de rotaţie Q1si Q2. Vom nota prin q1 şi qo

1 invarianţii liniari ai lui Q1 iar prin q2 şi qo

2 invarianţii liniari ai lui Q2. Atunci invarianţii liniari ai lui Q=Q1Q2 vor fi noataţi prin q şi qo. Aceştia din urmă se pot exprima în funcţie de q1,qo

1,q2,qo2,astfel :

q=n/2D qo=(N-D)/2D (2.45) unde : D=(1+qo

1)(1+qo2)

N=(1+qo1)(1+qo

2)(qo1+qo

2+qo1qo

2)+(q1q2)(q1q2-2D) n=(D-q1q2)[(1+qo

2)q1+(1+qo1)q2+q1xq2]

Ecuaţiile de mişcare se pot astfel scrie : f1(θ) = 2 vect(Q1....Q6) - 2 u sin ∅ = 0 f2(θ) = tr(Q1...Q6) -1-2co∅ =0 (2.46)

f3(θ) =i=∑

1

6

[ai]1 -r =0

Putem grupa ultimele trei ecuaţii într-una astfel :

f(θ) = [f1(θ)T, f2(θ)T, f3(θ)T]T (2.47)

f(θ) este un vector coloana cu 7 linii.Ecuaţiile fi(θ) =0, reprezintă un sistem algebric neliniar, nedeterminat cu 7 ecuaţii şi 6 necunoscute, nedeterminare formală de altfel, deoarece între vect(Q) şi tr(Q) există o relaţie de legatura şi anume relaţia (2.44).

“θ” reprezintă vectorul coordonatelor unghiulare ale celor 6 elemente :

θ = [ θ1,....,θ6 ]T (2.48) Vom calcula matricea Jacobi pentru f(θ) dată de ecuaţia (2.47). J(θ) = δf(θ)/δθ Calculăm separat Jacobianul lui fR,fS,fT faţã de θ. Matricea δfR/δθ se calculează cu uşurinţã observând cã fiecare

Page 51: Curs Roboti Industriali

Qi este o funcţie numai de “θ”`. Diferenţiând ecuaţia (2.46) faţă de θi, obţinem : δfR δQi ⎯⎯⎯ = 2vect (Q1.....Qi-1⎯⎯ Qi+1....Q6 (2.49) δθ i δθi pentru i = 1,...,6. Observăm ca : δQi Q1.....Qi-1 ⎯⎯ Qi+1....Q6 = Q1.....Qi-1E(Q1....Qi-1)T (2.50) δθi 0 -1 0 Notăm P= Q1...Q6 şi E = 1 0 0 0 0 0 Deoarece E este antisimetrică rezultă că şi

Q1....Qi-1E(Q1....Qi-1)T este antisimetrică. δfR ⎯⎯ = (1 tr P -P)Q1...Qi-1 e (2.51) δθi unde i=1,..,6 e = [0,0,1]T, 1 = I3 şi e=vect(E). în final obţinem : δfR/δθ = (1 trP-P)A (2.52) unde A este o matrice 3x6 definită astfel : A=[ e,Q1e,...,Q1...Q5e] (2.53) Din ecuaţia : [δ tr(P)]/δθi = tr(δP/δθi) obţinem : δfS/δθ = -2 qT A unde q = vect(P) (2.54) Vom calcula în cele ce urmează δfT/δθ. δfT/δθ = δr1/δθ (2.55) unde r1= a1 + [a2]1 +...+ [a6]1 (2.56) Ţinând cont de relaţia : [ai]1 = wi+1 x [ai]1,prin derivarea relaţiei (2.56) obţinem : r1 = a1 + [a2]1+... +[a6]1 (2.57) unde wi+1 este viteza unghiulară a elementului `i+1` faţă de bază wi+1 = θ1e+θ2Q1e +...+θiQ1...Qi-1e (2.58)

Page 52: Curs Roboti Industriali

Substituind ecuaţia (2.58) în (2.57) obţinem : r1 = B θ (2.59) unde B este o matriţã 3x6 definita astfel : B = [e x r1,Q1e x r2,....,Q1...Q5e x r6] (2.60) Astfel δfT /δθ = B (2.61) Obţinem astfel matricea Jacobi ca o matrice 7 x 6 (1 tr P - P) A J = -2qTA (2.62) B Deoarece ecuaţia (2.47) nu se poate rezolva analitic, vom încerca să o rezolvăm pe cale numerica folosind metoda Newton-Gauss,al cãrui algoritm este urmãtorul : θk+1 = θk +Δθk (2.63) unde Δθk = JIf(θk) (2.64) JI fiind inversa Moore-Penrose a matricii J şi se calculeazã astfel :

JI = (JTJ)-1JT (2.65) Se observă că matricea J este descrisă de invarianţii liniari,ceea ce constituie un mare avantaj simplificând considerabil calculele. Din relaţiile (2.51), (2.54),(2.55) rezultă :

δfR/δθ = ( 1 tr P - P )A δfs/δθ = -2qTA (2.66) δfT/δθ = B

unde A , B , P , q sunt definiţi ca mai sus. Obţinem astfel un sistem de ecuaţii diferenţiale din integrarea căruia rezultă funcţiile fR(θ), fS(θ),fT(θ)

Acestea sunt componentele lui f(θ)=0,care reprezintă un sistem algebric neliniar dar care poate fi rezolvat pe cale numerică prin metoda Newton.

Page 53: Curs Roboti Industriali

2.3. Aplicaţii ale problemei cinematice directe şi inverse

Problema cinematicã directã şi cea inversã reprezintã instrumente preţioase cu ajutorul cãrora se pot face cercetãri sau se pot rezolva aplicaţii practice. În cele ce urmeazã vom prezenta algoritmi de rezolvare a unor astfel de aplicaţii.

2.3.1. Calculul traiectoriei articulaţiilor roboţilor industriali Fie robotul PUMA 600 a cărui schemă cinematică cu triedrele Hartemberg-Denavit ataşate este redatã în figura 2.2.

Fig.2.2.Schema cinematică a robotului PUMA 600

O1

Oo

Zo

Yo

Xo

Z1

X1

Y1

Z2

Y2X2

Z3 Y3

X3

Z4

X4

Y4

O2

O3

O4 EE

5

43

2

1

6

X5

O5O6

X6

Z6

Z5

Page 54: Curs Roboti Industriali

Notaţiile Hartemberg-Denavit ale robotului PUMA 600 sunt : i αi di ri θi 1 0 0 0 0 2 -90 0 -0.149 0 3 0 0.432 0 0 4 90 0.02 -0.432 0 5 -90 0 0 0 6 90 0 -0.056 0 Considerãm cã traiectoria este descrisă în spaţiul articulaţiilor de următoarele relaţii : θi(t) = π/6+π/30 t t∈[0,3 sec.] i=1,2,..6 (2.67)

Faţă de sistemul de coordonate fix, coordonatele unui punct, de exemplu articulaţia “4” la momentul tk se determină rezolvând problema cinematică directă. Matricile de transformare omogene ale robotului PUMA 600 au forma :

0T1 =

C SS C

1 1 0 01 1 0 0

0 0 1 00 0 0 1

−⎡

⎢⎢⎢⎢

⎥⎥⎥⎥

(2.68)

1T2 =

C S

S C

2 2 0 00 0 1 0149

2 2 0 00 0 0 1

−−

− −

⎢⎢⎢⎢

⎥⎥⎥⎥

. (2.69)

2T3 =

C SS C

3 3 03 3 0 0

0 0 1 00 0 0 1

−⎡

⎢⎢⎢⎢

⎥⎥⎥⎥

(2.70)

0T3 = 0T1 1T2 2T3 (2.71)

Page 55: Curs Roboti Industriali

XYZ

444

1

⎢⎢⎢⎢

⎥⎥⎥⎥

= 0T3

xyz1

⎢⎢⎢⎢

⎥⎥⎥⎥

(2.71)

Pentru robotul Puma relaţia de mai sus devine :

XYZ

444

1

⎢⎢⎢⎢

⎥⎥⎥⎥

= 0T3

−⎡

⎢⎢⎢⎢

⎥⎥⎥⎥

0 020 432

01

,,

(2.72)

Rezolvând sistemul (4.7) , rezultă : X4 = 0,432Cos2θi(t)+0,149Sinθi(t)-0,864Cos2θi(t)Sinθi(t)-0,02[Cos3θi(t)-Cosθi(t)Sinθi(t)] Y4 = -0,149Cosθi(t)+0,432Cosθi(t)Sinθi(t)-0.864Cosθi(t)Sin2θi(t)-0,02[Cos2θi(t)Sinθi(t)-Sin3θi(t)] Z4 = -0,432Sinθi(t)+0.04Cosθi(t)Sinθi(t)+0,432[-Cos2θi(t)+Sin2θi(t)] Obţinem astfel coordonatele operaţionale ( externe ) în funcţie de cele articulare (interne) , care în acelasi timp reprezinta şi ecuaţiile parametrice ale traiectoriei articulaţiei `4`. Curba a cărei reprezentare parametrică este redată mai sus poate fi vizualizată utilizând facilitatile oferite de Mathematica 2.1.

Page 56: Curs Roboti Industriali

Fig.2.3. Reprezentarea traiectoriei articulaţiei `4` , pe intervalul

0-3 secunde.

2.3.2. Calculul distanţei maxime a spaţiului de lucru

al roboţilor industriali Calculul maximului distanţei de la origine la punctul caracteristic este o problemă dificilă, având în vedere faptul că expresia acestei distanţe este o funcţie cu un număr de variabile egal cu cel al numărului de grade de libertate ( în cele mai frecvente cazuri 6 ). Volumul de calcule este foarte mare şi uneori suntem siliţi să apelăm la metode numerice de rezolvare a unor ecuaţii, cele analitice nefiind operante. De aceea am imaginat prezenta metodă, care porneşte de la problema cinematica inversă, evitând astfel volumul mare de calcule necesitat de determinarea maximului unei funcţii cu şase variabile.

Page 57: Curs Roboti Industriali

Fără a micşora din gradul de generalitate al metodei se va calcula maximul distanţei pentru robotul PUMA 600. Inlocuind valorile parametrilor Hartemberg-Denavit ale robotului PUMA în ( 2.29 ) obţinem : D2 = 2^2^2^ PzPyPx ++ = 0.01728 C3 - 0.373248 S3 + 0.395849 (2.73) Aceasta reprezintă o ecuaţie trigonometrică în Sin(θ3) şi Cos(θ3). Ea are soluţie dacă este îdeplinită condiţia de existenţã a soluţiilor ecuaţiei de gradul al doilea : ( 0.01728 )2 + ( 0.373248 )2 ≥ ( 0.395849 - D2 )2 (2.74) Efectuând calculele , obţinem : D4 -0.792 D2 + 0.017 < 0 (2.75) Rezolvând această inecuaţie, şi alegând valorile pozitive pentru D , obţinem : D [ 0.15 , 0.87721 ] (2.76) Deci pentru robotul PUMA valoarea maximã a distanţei ce poate fi parcursă şi pentru care există soluţie a problemei cinematice inverse este 0.87721 m. Această distanţã poate fi situată oriunde în interiorul spaţiului de lucru al robotului, dar trebuie să ţinem cont de faptul că acesta nu este omogen. De asemeni folosind metoda expusă mai sus putem spune dacă poziţia unui punct din spaţiu, exprimată în coordonatele sistemului fix poate fi accesată de către robot. Calculând distantă de la acest punct la origine, pentru o anumită structură de robot, putem indica dacă valoarea distanţei satisface relaţia (2.76) sau nu şi deci dacă problema cinamatică inversă are sau nu soluţie. Aceasta este echivalent cu a determina dacă punctul se află sau nu în interiorul spaţiului de lucru al robotului, ceea ce reprezintă o metoda rapidă de diagnostic al apartenenţei punctului caracteristic manipulat la spaţiul de lucru al robotului.

Page 58: Curs Roboti Industriali

2.3.3. Rezolvarea problemei cinematice inverse pentru

un robot cu cinci grade de libertate Se va studia robotul RIP 6,3 , cu cinci grade de libertate. Ca şi în cazul general (al roboţilor cu şase grade de libertate ) sistemul de ecuaţii ce trebuie rezolvat pentru a face sã coincidã triedrul ataşat endefectorului cu un triedru din spaţiul de lucru al robotului este: U0 = 0T5 (2.77) Ecuaţiile care descriu poziţia sunt :

PxPyPz

⎢⎢⎢

⎥⎥⎥

= 0P4 − −− −

+

⎢⎢⎢

⎥⎥⎥

C S D C DS S D C DC D S D

1 23 4 2 31 23 4 2 3

23 4 2 3

( )( ) (2.78)

Din aceastã ecuaţie se obţin θ1 , θ2 , θ3 , în acelaşi mod ca pentru roboţii cu şase grade de libertate. Pentru a-i determina pe θ4 , θ5 , se pleacã de la ecuaţia : 3A0[ s n a ] = 3A4

4A5 (2.79) Se noteazã [ F G H ] = 3A4

4A5 . (2.80) În cazul nostru, al unui robot cu cinci grade de libertate , constrângerile de orientare se rezumã la douã axe. Dezvoltând ultima relaţie, se obţine :

Fx Gx HxFy Gy HyFz Gz Hz

⎢⎢⎢

⎥⎥⎥

= C C C C SS C S S C

S C

4 5 4 5 44 5 4 5 4

5 5 0

− −−

− −

⎢⎢⎢

⎥⎥⎥

(2.81)

Din aceastã ecuaţie , identificând : C4=Hy , -S4=Hx , -C5=Gz , -S5=Fz (2.82) se obţin θ4 şi θ5.

Page 59: Curs Roboti Industriali

2.3.4. Calculul volumului spaţiului de lucru Unul dintre cei mai importanţi parametri care caracterizeazã performanţele roboţilor industriali este volumul spaţiului de lucru.

Spaţiul de lucru al unui robot industrial este locul geometric al pozitiilor succesive ale punctului material caracteristic. În general mişcarea punctului material caracteristic este definitã prin ecuaţii parametrice de tipul :

x=x(u.v.w) y=y(x,y,z) z=z(u,v,w) unde (u,v,w) pot fi (x,y,z) în cazul coordonatelor carteziene, (r,θ,z) în cazul coordonatelor cilindirce şi (r,θ,ϕ ) în cazul coordonatelor sferice.

Volumul spaţiului de lucru se calculeazã cu formula :

V = ∫∫∫ dxdydz (2.83)

v

Definim determinantul funcţional:

δx/δu δy/δu δz/δu

D x y zD u v w

( , , )( , , )

= δx/δv δy/δv δz/δv (2.84)

δx/δw δy/δw δz/δw

Coroborând (2.83) cu (2.84) obţinem :

V = D x y zD u v w

dudvdwV

( , , )( , , )∫∫∫ (2.85)

în care

Page 60: Curs Roboti Industriali

D(x,y,z) ⎯⎯⎯⎯ dudvdw, se numeşte elementul de volum în coordonate (u,v,w). De regulã V=[u1,u2] x [v1,v2] x [w1,w2].

În aceste condiţii expresia (2.85) devine :

V = u

u

1

2

∫ du v

v

1

2

∫ dv w

w

1

2

∫D x y zD u v w

dw( , , )( , , )

(2.86)

În felul acesta am reuşit sã calculãm volumul spaţiului de lucru pentru un robot industrial ale cãrui caracteristici le cunoaştem. Deci cunoscând u1,u2,v1,v2,w1,w2 şi x=x(u,v,w),y=y(u,v,w),z=z(u,v,w) putem calcula volumul spaţiului de lucru “V”. Şi din punct de vedere al volumului spaţiului de lucru distingem o problema directã şi una inversã. Problema directã constã din determinarea volumului spaţiului de lucru atunci când se cunosc caracteristicile constructive ale robotului industrial. Problema inversa constã din determinare unor relaţii de legaturã între parametrii constructivi ai robotului industrial când se cunoaşte volumul spaţiului de lucru.

Am definit anterior spaţiul de lucru al roboţilor industriali ca fiind locul geometric al poziţiilor succesive ale punctului material caracteristic al obiectului manipulat. Spaţiul de lucru se caracterizeazã prin volumul spaţiului de lucru şi prin frontiera sa. Am descris anterior modul de calcul al volumului spaţiului de lucru. În cele ce urmeazã vom descrie o metodologie de trasare a frontierei spaţiului de lucru al roboţilor industriali .Pentru aceasta vom determina ecuaţiile parametrice ale punctului material caracteristic. Fie un robot industrial cu şase grade de libertate având cuple cinematice de rotaţie şi/sau de translaţie. Indiferent de arhitectura robotului industrial şi de sistemul de coordonate adoptat (cartezian, cilindric, sferic, etc.) putem calcula coordonatele parametrice ale punctului material

Page 61: Curs Roboti Industriali

caracteristic. Folosind notatiile H-D vom nota prin qi coordonatele generalizate ale modulului `i`. qi=qi(t) În funcţie de tipul cuplei cinematice, rotaţie `R` sau translaţie `T`, avem : θi, dacã cupla cinematicã este de tipul R qi = bi, dacã cupla cinematicã este de tipul T cu θi=θi(t) şi bi=bi(t). Vom nota prin [r ]i vectorul de poziţie al punctului caracteristic manipulat M, faţã de triedrul ”i”. În final va trebui sã obţinem coordonatele parametrice exprimate faţã de sistemul de referinţã fix “1”, adicã [r]1 : [r]i = [x,y,z]i

T Voi calcula pe [r]1 pornind de la [r]6. cu urmatoarea formula : [r]i = ai + Qi [r]i+1 (2.83) i=1,2,...,5. Dând valori lui “I” în relaţia (2.83) putem calcula [r]1 Identificãnd [r]1=[x,y,z]T, obţinem ecuaţiile parametrice de tipul :x=x(t);y=y(t);z=z(t). (2.84) Ecuaţiile de mai sus reprezintã traiectoria pe care se deplaseazã punctul material caracteristic M. Aceastã curbã se aflã situatã pe frontiera volumului spaţiului de lucru. Ea poate fi reprezentatã în spaţiul tridimensional. Eliminând timpul din relaţiile (2.84) obţinem o ecuaţie de tipul : F(x,y,z) =0 , care reprezintã ecuaţia implicitã a unei suprafeţe. Dacã punem aceasta ultimã relaţie sub forma z=f(x,y) avem ecuaţia frontierei spaţiului de lucru al roboţilor industriali. Cum poziţia punctului material caracteristic este descrisã de mecanismul generator de traiectorii, putem lua în calcul numai primele trei grade de libertate. Aceastã simplificare nu restrânge cu nimic gradul de generalitate al soluţiei, deoarece celelalte trei grade de libertate generate de mecanismul de orientare slujesc exclusiv orientãrii dreptei caracteristice a obiectului manipulat. Aria frontierei spaţiului de lucru se poate calcula cu uşurinţã folosind formula :

Page 62: Curs Roboti Industriali

1 2 2+ +∫∫ ( _

_)^ ( _

_)^δ

δδδ

zx

zy

dxdyD (2.85)

unde D este proiecţia suprafeţei volumului de lucru pe planul XOY. Din ecuaţii parametrice ;

x (q1,q2,q3) = x1

y (q1,q2,q3) = y1 (2.86)

z (q1,q2,q3) = z1

eliminând pe qi între cele trei ecuaţii parametrice de mai sus putem obţine fie o funcţie explicitã de forma :

z = z(x,y) (2.87)

fie o ecuaţie implicitã de tipul :

F(x,y,z) = 0 (2.88)

Atât ecuaţia (2.87) cât şi ecuaţia (2.89) descriu suprafaţa reprezentatã de frontiera spaţiuluide lucru al robotului industrial. În funcţie de forma acesteia, explicitã sau implicitã, putem calcula derivatele parţiale din expresia (42.87) fie direct în cazul funcţiilor explicite, sau în cazul funcţiilor implicite folosind formulele :

δz/δx = F`x / F`z

δz /δy = F`y / F`z (2.89)

Eliminarea coordonatelor generalizate (qi) din ecuaţiile (2.86) în vederea obţinerii unei ecuaţii de tip (2.87) sau (2.88) este posibilã cu uşurinţã deoarece ele apar în ecuaţiile (2.86) sub formã de funcţii trigonometrice de tipul “sin qi “ sau “cos qi “ şi putem folosi formule trigonometrice, eventual ecuaţia fundamentalã.

Page 63: Curs Roboti Industriali

Dar spaţiul de lucru are de cele mai multe ori douã frontiere corespunzãtor celor douã poziţii extreme ale punctelor caracteristice manipulate, respectiv poziţiei minime şi maxime. Una dintre frontiere va reprezenta locul geometric al poziţiilor maxime ale punctului caracteristic, iar cealaltã locul geometric al poziţiilor minime. Aşa cum punctul caracteristic manipulat nu poate atinge orice pozitie aflatã la o mare distanţã de originea sistemului fix, el nu poate atinge nici poziţii situate în proximitatea originii sistemului fix. Vom avea deci o frontierã interioarã a spaţiului de lucru şi una exterioarã. Volumul util al spaţiului de lucru se aflã situat între cele douã frontiere. Ariile celor douã frontiere se calculeazã cu aceaşi formulã şi dupã aceaşi metodologie, cu singura deosebire cã “D” din relaţia (2.85) reprezintã într-un caz proiecţia frontierei interioare pe planul XOY , iar în celãlat caz reprezintã proiecţia frontierei exterioare pe planul XOY.

Deci se pot calcula ariile frontierelor spaţiului de lucru al robotului industrial şi le putem vizualiza folosind pachete de programe adecvate.

2.3.4.1. Calculul volumului spaţiului de lucru la robotul PUMA 600

V = u

u

1

2

∫ du v

v

1

2

∫ dv w

w

1

2

∫D x y zD u v w

dw( , , )( , , )

(2.94)

În felul acesta am reuşit sã calculãm volumul spaţiului de lucru pentru un RI ale cãrui caracteristici le cunoaştem. Deci cunoscând u1, u2, v1, v2, w1, w2 şi x=x(u,v,w) , y=y(u,v,w),z=z(u,v,w) putem calcula volumul spaţiului de lucru “V”.

În continuare vom exemplifica cele de mai sus printr-un exemplu de calcul al ariei frontierei exterioare a spaţiului de lucru . Vom lua în considerare robotul PUMA 600.

Page 64: Curs Roboti Industriali

Efectuând calculele conform metodologiei expuse mai sus obţinem : (0.432+c3) (c1c2-s1s2) r1= (0.432+c3) (s1c2+c1s2) (2.91) -s3-0,149 Deci vom avea urmãtoarele ecuaţii parametrice : x=(0.432-c3) (c1c2-s1s2) = (0.432+cosθ 3) cos( θ1+θ2) y=(0.432-c3) (s1c2+c1s2)= (0.432+cos θ3) sin(θ 1+θ2) z=s3-0.149 = sin θ3 -0.149 Acestea reprezintã coordonatele unui punct material M solidar cu elementul 4 în funcţie de θ1,θ2,θ3 ( θi=θi(t) ).

Vom elimina pe θ1,θ2,θ3 pentru a obţine o relaţie în x,y,z. Deci : x2+y2 = (0.432+cos θ3)2 z = -sin θ3-0.149 (z+0.149)2+(0.432- x y^ ^2 2+ )2 (2.92) Am obţinut astfel ecuaţia implicita a frontierei spaţiului de lucru. Explicitand-o , obţinem : z= 1 0 432 2 2 2 0 149− − + −( . ^ ^ )^ .x y (2.93) Considerând cã “x” variazã în domeniul 0-0,2m şi “y” variazã în domeniul 0-0,2m vom calcula aria frontierei spaţiului de lucru al robotului Puma cu formula (2.90). A=0,0323782 m2 De asemeni putem vizualiza frontiera folosind facilitãţile oferite de “Mathematica”.

Page 65: Curs Roboti Industriali

Fig.2.4. Frontiera spaţiului de lucru al robotului Puma

2.3.4. Calculul energiei consumate de robotul industrial la manipularea unei sarcini

Roboţii industriali au fost concepuţi pentru a executa diferite sarcini constând din manipularea unor obiecte (semifabricate, piese finite sau scule) în interiorul spaţiului sãu de lucru. Fiecare din cele “n” module (grade de libertate) ale sale participã la îndeplinirea misiunii. Aşa cum am arãtat anterior, unei traiectorii a endefectorului îi corespund “n” traiectorii ale celor “n” articulaţii. De-a lungul acestor traiectorii articulaţiile se deplaseazã cu anumite viteze iar elementele de executie dezvoltã anumite forţe/momente motrice. Evident cã la nivelul fiecãrui modul se va consuma o anumita cantitate de lucru mecanic în unitate de timp, adicã o anumita putere. Expresia puterii consumate este : - dP = F dv , în cazul cuplelor cinematice de translaţie - dP = M dw , în cazul cuplelor cinematice de rotaţie unde F şi M reprezintã forţa, respectiv momentul motric, iar v şi w reprezintã respectiv viteza liniarã şi viteza unghiularã. Puterea

Page 66: Curs Roboti Industriali

consumatã la nivelul întregului robot este egalã cu suma puterilor consumate pe fiecare grad de libertate. P = Σ Pi (2.94) Enegia consumatã pentru manipularea unui obiect se calculeazã cu formula :

E = Pdtt

t

1

2

∫ (2.95)

Deoarece am calculat în capitolele precedente atât forţele/momentele motrice pe fiecare element, cât şi vitezele liniare şi unghiulare, putem cu uşurinţã calcula energia necesarã manipulãrii unui anumit obiect pe o anumitã traiectorie.

Un binecunoscut robot industrial al cãrui bilanţ energetic ni-l propunem spre studiu este Puma 600. Traiectoriile celor 6 articulaţii sunt descrise de urmãtoarele curbe :

1 2π 2π θi = ⎯ [ ⎯⎯ t - sin ( ⎯⎯ t)] pentru i=1,2,...,6 2 10 10 În vederea calculãrii energiei absorbite de robotul Puma pentru deplasarea pe o traiectorie anume, vom folosi urmãtoarea subrutinã scrisã în limbajul `Mathematica`: For[i=1,i<7,i++,ftt6[x_]=Transpose[ft6[x]][[1]]; fg={ft1[x],ft2[x],ft3[x],ft4[x],ft5[x],ftt6[x]}; wq=Transpose[w[i]];wk=wq[[1]]; fa=fg[[i]]; mz[i]=fa . wk;mm[x_]=mz[i]; nj[i]=Integrate[mm[x],{x,0,10}]; nn[x_]=Integrate[mm[x],x]; Print[i];Print[nj[i]];Print[AAA];Print[nn[x]];Print[B]]; ee=Sum[nj[i],{i,1,6}] În subrutina de mai sus am folosit momentele motrice fti[x] şi vitezele unghiulare w[i] calculate cu ajutorul programului de simulare al comportamentului dinamic al roboţilor industriali de topologie serialã.

Page 67: Curs Roboti Industriali

Notând cu Ei energia necesarã modulului “i” am obţinut urmãtoarele valori : E1=5 (8.16875 Pi2-0.0241805 Pi4)/Pi E2=5 (31.0454Pi2+0.127271Pi4)/Pi E3=5(-0.041319+0.0381736Pi4)/Pi E4=0.00105295 Pi3 10 E5=0.000479288 Pi3 10 E6=0.0000438153Pi3 10 E=E1+E2+E3+E4+E5+E6 =195.864 Pi +0.72246 Pi3 = 637.725 [N m s-1] Metoda este simplã, eficace şi accesibilã. Ea ne permite o analizã a diferitelor structuri modulare din punct de vedere energetic. Putem evalua consecinţele modularizãrii şi alege varianta optimã de robot industrial utilizând criteriul optimului energetic. De exemplu, putem calcula energia necesara manipularii unui obiect de catre robotul Puma avãnd una dintre structurile modificate, obţinute prin inversarea a douã module. Pentru robotul obţinut din structura iniţialã a robotului Puma prin inversarea modulelor 1 cu 3 am calculat valoarea energiei consumate.Ea este : E=910.203 [N m s-1 ] iar pentru robotul obţinut prin inversarea modulelor 2 cu 3 E=962.007 [N m s-1] Constatãm cã structura iniţialã este optimã din punctde vedere al bilanţului energetic. Iatã deci un alt criteriu de evaluare atât al roboţilor industriali în construcţie modularã cât şi a celor universali. Acesta se adaugã celor descrişi în capitolele anterioare, şi anume: - volumul spaţiului de lucru - aria frontierei spaţiului de lucru - analiza dinamicã

Page 68: Curs Roboti Industriali

2.3.6. Generarea mişcãrii de-a lungul unei traiectorii liniare între douã puncte ale spaţiului util de lucru

Fie 0Tni şi 0Tn

f matricile omogene care descriu situaţia iniţialã şi pe cea finalã a enfefectorului în spaţiul operaţional.

0Tni =

Ai 0 1

Pi⎡

⎣⎢

⎦⎥ (2.96)

0Tnf =

Af Pf0 1

⎣⎢

⎦⎥ (2.97)

Mişcarea rezultantã va avea ecuaţia :

0Tn(t) = A t P t( ) ( )

0 1⎡

⎣⎢

⎦⎥ (2.98)

La nivelul coordonatelor articulare qi ( i=1,2,...,n ) mişcarea este descrisã prin ecuaţii de tipul :

qi = qi(t) (2.99)

Cum cea mai mare parte a roboţilor industriali au o structurã decuplatã ( din motive de soluţie a problemei cinematice inverse ) problemã poziţionãrii se poate separa de cea a orientãrii . În cele ce urmeazã se va studia mişcarea între douã puncte ale spaţiului de lucru de-a lungul unei traiectorii liniare. Implicaţiile vor fi exclusiv asupra mecanismului generator de traiectorii (primele trei grade de libertate). Ecuaţia dreptei între cele douã puncte va fi descrisã parametric, sub forma :

Page 69: Curs Roboti Industriali

x = u(t)

y = v(t) (2.100)

z = w(t)

Indiferent de structura mecanismului generator de traiectorii , fie q1 , q2 , q3 coordonatele generalizate ale primelor trei grade de libertate. Din rezolvarea problemei cinematice inverese se cunoaşte cã , q1 , q2 , q3 se obţin din relaţiile : f1(θ3) = C3d4+S3Sα4r4+d3 f2(q3) = Cα3(S3d4-C3Sα4r4)-Sα3(Cα4r4+r3) (2.101) f3(q3)= Sα3(S3d4-C3Sα4r4)+Cα3(Cα4r4+r3) g1( θ3,q3 ) = F1(θ3,q3) + d2 g2( q2,q3 ) = Cα2F2( q2,q3 )-Sα2F3( r2, q3 ) (2.102) g3( q2,q3 ) = Sα2F2( q2,q3 ) + Cα2F3( r2,q3 ) cu : F1(θ3,q3 ) = C2f1 - S2f2 F2(q2,q3 ) = S2f1 + C2f2 (2.103) F3(q2,q3 ) = f3 + r2 Px = C1g1 - S1g2 Py = S1g1 + C1g2 (2.104) Pz = g3 + r1

Px , Py , Pz reprezintã coordonatele operaţionale.

Pentru operativitatea calculelor se noteazã :

C1g1-S1g2 = K1(q1,q2,q3)

S1g1+C1g2 = K2(q1,q2,q3) (2.105)

g3+r1 = K3(q1,q2,q3)

Page 70: Curs Roboti Industriali

Punctul caracteristic se deplaseazã de-a lungul unei drepte descrisã de ecuaţia (2.99). Pentru ca punctul caracteristic sã aparţinã curbei impuse este necesar ca :

Px = u(t)

Py = v(t) (2.106)

Pz = w(t)

Din (2.100) şi (2.104) va rezulta :

K1(q1,q2,q3) = u(t)

K2(q1,q2,q3) = v(t) (2.107)

K3(q1,q2,q3) = w(t)

Prin rezolvarea sistemului (2.107) se obţin soluţiile acestuia :

q1 = q1(t)

q2 = q2(t) (2.108)

q3 = q3(t)

Cea de a doua modalitate de a determina relaţiile (2.108) este prin interpolare. Pe traiectoria impusã (exprimatã de preferinţã sub forma parametricã) se aleg un numãr suficient de mare de puncte “m” , corespunzãtoare unei diviziuni a timpului total de manipulare tf :

t0<t1<t2<......<tm=tf (2.109)

Pentru fiecare poziţie `k` de pe traiectoria impusã se rezolvã problema cinematicã inversã, obţinându-se coordonatele

Page 71: Curs Roboti Industriali

articulare q1k , q2

k , q3k. La sfârşit se obţin trei vectori , dupã cum

urmeazã :

q1 = [q11 , q1

2 , ........, q1m-1 , q1

m]

q2 = [q21 , q2

2 , ........, q2m-1 , q2

m] (2.110)

q3 = [q31 , q3

2 , ........, q3m-1 , q3

m]

Din relaţiile (2.110) putem sã determinãm prin interpolare qi = qi(t) , generarea mişcãrii între coordonatele articulare qi

k-1 şi qik ,

putându-se efectua printr-una din metodele cunoscute :

- interpolare cu funcţii liniare;

- interpolare cu funcţii polinomiale de gradul trei sau cinci;

- distribuţie trapezoidalã a vitezelor.

2.3.7. Influenţa modularizãrii asupra planificãrii traiectoriei în coordonate operaţionale

În cele ce urmeazã se va studia influenta modularizãrii , prin parametrii geometrici ai modulelor asupra planificãrii traiectoriei între douã puncte din spaţiul de lucru. Parametrul geometric ce s-a dorit a fi analizat şi optimizat a fost parametrul Hartemberg-Denavit a3 , cãruia i s-a înlocuit valoarea numericã cu “q”. Astfel , legile de mişcare ale fiecãrui grad de libertate vor fi în funcţie de timp şi de parametrul ”q”. Poziţia punctului carcateristic manipulat este datã de intersecţia celor trei axe concurente şi este în funcţie numai de q1, q2, q2 deoarece vom lua în considerare o structurã “decuplata” ( foarte des întâlnitã ) care permite separarea problemelor de pozitionare de cele de orientare. 0P6 = 0P4 (2.111)

Page 72: Curs Roboti Industriali

Px = C1g1 - S1g2 Py = S1g1 + C1g2 (2.112) Pz = g3 + r1 Vom aplica algoritmul pe un robot RIP 6,2. Inlocuind în (2.112) valorile coeficienţilor H-D ale robotului RIP 6,3 obţinem : Px = Cos(t1) [ Cos(t2) ( q+0,67 Cos(t3) ) - 0,67 Sin(t2) Sin(t3) ] Py = Sin(t1) [ Cos(t2) (q+0,67 Cos(t3) ) - 0,67 Sin(t2) Sin(t3) ] Pz= - Sin(t2) (q+0,67 Cos(t3)) - 0,67 Cos) Sin(t3) (2.113) Dar ,

D2 = Px2+Py

2+Pz2 (2.114)

Pe de altã parte o traiectorie liniarã P1 [x1,y1,z1], P2 [x2,y2,z2] este descrisã în spaţiu prin ecuaţii parametrice de tipul:

x(t)=x1+(x2-x1) u(t) y(t)=y1+(y2-y1) u(t) (2.115) z(t)=z1+(z2-z1) u(t)

unde , u(t) se determinã prin interpolare cu polinoame de gradul 3 , ţinând cont de urmãtoarele condiţii limitã : u(0)=0 , u(tm)=1 , u(0)=0 , u(tm)=0 (2.116) unde tm reprezintã timpul maxim de manipulare. În final obţinem :

u(t)=2(t/tm)3-3(t/tm)2 (2.117)

Fie P1 [0,50 , 0,10 , 0,40] şi P2 [0,35 , 0,35 , 0,30] douã puncte din interiorul spaţiului de lucru. Pentru dreapta P1P2 , ecuaţiile parametrice au urmãtoarea forma:

x(t)=0,50-0,15 u(t) y(t)=0,10+0,25 u(t) (2.118) z(t)=0,40-0,10 u(t)

Pentru ca punctul caracteristic sã aparţinã dreptei P1P2 trebuie ca: Px(t1,t2,t3,q)=x(t) , Py(t1,t2,t3,q)=y(t) , Pz(t1,t2,t3,q)=z(t) (2.119) D2=x(t)2+y(t)2+z(t)2 = 0,42 + 0,095 u2(t,tm)-0,18 u(t,tm) (2.120)

Page 73: Curs Roboti Industriali

Egalând (2.118) cu (2.119) obţinem legile de mişcare ale fiecãrui element în funcţie de timpul “t” şi de parametrul q=”a3”. Pentru elementul “3” legea de mişcare este : t3(t,q) = ArcCos[(1/1,34 q) ( 0,095u2-0,18u-0,025)] Graficul şi variatia lui t3(t,q) ca şi cele ale vitezei şi acceleraţiei aceluiaşi element sunt redate în figurile 2.5-2.7.

Fig.2.5. Variatia legii de mişcare a elementului 3 în funcţie de

timp şi de parametrul Hartemberg-Denavit a3

Fig.2.6. Variatia vitezei elementului 3 în funcţie de timp şi de

parametrul Hartemberg-Denavit a3

Page 74: Curs Roboti Industriali

Fig.2.7. Variatia acceleratiei elementului 3 în funcţie de timp şi

de parametrul Hartemberg-Denavit a3 Analog se pot obţine şi legile de mişcare ale celorlalte articulaţii. Din studiul acestora putem trage urmãtoarele concluzii : 1) Influenţa variaţiei parametrului a3 asupra legii de mişcare , vitezei şi acceleraţiei modului “1” este redusã , graficele de variaţie faţã de “q” fiind aproape constante. 2) Dacã în urma analizei acestor grafice este dificil sã se indice o valoare optimã a parametrului studiat ( a3) , se observã valori mai ridicate în zona 0-0,2. Dacã acestea depãşesc valorile maxime admisibile dezvoltate de elementele de executie, atunci ele sunt de evitat.

2.3.8. Consideraţii privind controlul deplasãrilor în coordonate articulare cu determinarea traiectoriei

endefectorului. Controlul deplasãrii între douã puncte aparţinând spaţiului de lucru al unui robot se poate efectua în coorodnate articulare sau operaţionale. Conversia coordonatelor articulare în coordonate operaţionale se efectueazã rezolvând problema cinematicã directã iar conversia coordonatelor operaţionale în

Page 75: Curs Roboti Industriali

coordonate articulare se efectueazã rezolvând problema cinematicã inversã. Fie P1 şi P2 douã puncte din interiorul spaţiului de lucru al robotului având coordonatele : P1= ( 0,50 , 0,10 , 0,40 ) P2 = ( 0,35 , 0,35 , 0,30 ). Rezolvând problema cinematicã inversã putem determina coordonatele articulare corespunzãtoare celor ale punctelor P1 şi P2. Cum însã robotul Puma este un robot având şase grade de libertate , conform teoremei lui Roth va exista o soluţie a problemei cinematice inverse. Având o structurã decuplatã putem separa problema poziţionãrii de cea a orientãrii , astfel încât putem lua în considerare numai primele trei grade de libertate. Utilizând metoda lui Khalil şi Pieper pentru rezolvarea problemei cinematice inverse şi programe de calcul adecvate scrise în limbajul Mathematica 2.1 , se vor determina valorile coordonatelor articulare corespunzãtoare lui P1 şi P2. ( q1 , q2 , q3 ) vor fi coordonatele corespunzãtoare lui P1 şi ( q`1 , q`2 , q`3 ) vor fi coordonatele corespunzatoare lui P2. ( q1 , q2 , q3 ) = ( 0,493936 , -1,44054 , -0,018476 ) ( q`1 , q`2 , q`3 ) = ( 1,09117 , -1,43398 , 0,209843 ) (2.121)

Dacã controlul mişcãrii va fi efectuat în coordonate articulare, atunci funcţiile care descriu mişcarea pe fiecare grad de libertate vor fi :

q1(t) = q1 + (q`1-q1) t

tm

q2(t) = q2 + (q`2-q2) t

tm (2.122)

q3(t) = q3 + (q`3-q3) t

tm

t∈[0,tm] . Fie tm = 1 secundã. Astfel (4.60) devine : q1(t) = 0,493936 + 0,597234 t q2(t) = -1,44054 + 0,00656 t (2.123)

Page 76: Curs Roboti Industriali

q3(t) = -0,018476 +0,228319 t Metoda este simplã şi eficientã dar nu putem controla mişcarea între cele douã puncte , putând sã aparã riscul coliziunii. În scopul prevenirii coliziunii cu alte obiecte sau obstacole din interiorul spaţiului de lucru se va cãuta sã se determine traiectoria mişcãrii între cele douã puncte. Matricea de transformare omogena a coordonatelor din sistemul “i” în sistemul “i-1” este

i-1Ti =

C i S i diC iS i C iC i S i riS iS iS i S iC i C i riC i

θ θα θ α θ α αα θ α θ α α

−− −

⎢⎢⎢⎢

⎥⎥⎥⎥

0

0 0 0 1

(2.124)

Fie robotul PUMA 600 a cãrui schemă cinematică cu triedrele Hartemberg-Denavit ataşate este redat în paragrafele anterioare. Traiectoria este descrisã în spaţiul articulatiilor de urmãtoarele relaţii : q1(t) = 0,493936 + 0,597234 t q2(t) = -1,44054 + 0,00656 t (2.125) q3(t) = -0,018476 + 0,228319 t

Faţã de sistemul de coordonate fix , coordonatele articulaţiei “4” se determinã rezolvând problema cinematicã directã. Matricile de transformare omogene ale robotului PUMA au forma :

0T1 =

C SS C

1 1 0 01 1 0 0

0 0 1 00 0 0 1

−⎡

⎢⎢⎢⎢

⎥⎥⎥⎥

(2.126)

1T2 =

C S

S C

2 2 0 00 0 1 0149

2 2 0 00 0 0 1

−−

− −

⎢⎢⎢⎢

⎥⎥⎥⎥

. (2.127)

Page 77: Curs Roboti Industriali

2T3 =

C SS C

3 3 0 03 3 0 0

0 0 1 00 0 0 1

−⎡

⎢⎢⎢⎢

⎥⎥⎥⎥

(2.128)

0T3 = 0T1 1T2 2T3 (2.129)

XYZ

444

1

⎢⎢⎢⎢

⎥⎥⎥⎥

= 0T3

xyz1

⎢⎢⎢⎢

⎥⎥⎥⎥

(2.130)

Pentru robotul Puma relaţia de mai sus devine :

XYZ

444

1

⎢⎢⎢⎢

⎥⎥⎥⎥

= 0T3

−⎡

⎢⎢⎢⎢

⎥⎥⎥⎥

0 020 432

01

,,

(2.131)

Pentru a rezolva sistemul sistemul (2.131) , se va apela la urmãtorul program în limbajul Mathematica 2.1. q1[t_]=0.493936+0.597234 t; q2[t_]=-1.44054+0.00656 t; q3[t_]=-0.018476+0.228319 t; t1={{Cos[q1[t]],-Sin[q1[t]],0,0},{Sin[q1[t]],Cos[q1[t]],0,0}, {0,0,1,0},{0,0,0,1}}; t2={{Cos[q2[t]],-Sin[q2[t]],0,0},{0,0,0,-0.149}, {-Sin[q2[t]],-Cos[q2[t]],0,0},{0,0,0,1}}; t3={{Cos[q3[t]],-Sin[q3[t]],0,0.432},{Sin[q3[t]],Cos[q3[t]],0,0}, {0,0,1,0},{0,0,0,1}}; t123[t_]=t1 . t2 . t3; b={{-0.02,0.432,0,1}}; a=Transpose[b]; t0=t123[t] . a; x[t_]=t0[[1]];xk[t_]=x[t][[1]];

Page 78: Curs Roboti Industriali

y[t_]=t0[[2]];yk[t_]=y[t][[1]]; z[t_]=t0[[3]];zk[t_]=z[t][[1]]; ParametricPlot3D[{xk[t],yk[t],zk[t]},{t,0,1}] xk[t] are forma de mai jos : 0.432 Cos[1.44054 - 0.00656 t] Cos[0.493936 + 0.597234 t] + 0.432 (Cos[1.44054 - 0.00656 t] Cos[0.493936 + 0.597234 t] Sin[0.018476 - 0.228319 t] + Cos[0.018476 - 0.228319 t] Cos[0.493936 + 0.597234 t] Sin[1.44054 - 0.00656 t]) - 0.02 (Cos[0.018476 - 0.228319 t] Cos[1.44054 - 0.00656 t] Cos[0.493936 + 0.597234 t] - Cos[0.493936 + 0.597234 t] Sin[0.018476 - 0.228319 t] Sin[1.44054 - 0.00656 t]) + 0.149 Sin[0.493936 + 0.597234 t]

Din motive de conciziune nu vom mai detalia expresiile lui yk[t] şi zk[t] , care se vor determina analog. Cunoscând xk[t] , yk[t] , zk[t] , am obţinut ecuaţiile parametrice ale traiectoriei descrise de endefector când controlul mişcãrii se realiazeazã în coordonate articulare şi putem obţine reprezentarea parametricã a traiectoriei endefectorului când deplasarea se efectueazã între punctele P1 şi P2 , iar controlul mişcãrii se efectueazã în coordonta articulare. De asemeni putem stabili dacã aceastã traiectorie se intersecteazã cu alte obiecte şi obstacole din spaţiul de lucru al robotului industrial. Dacã nu, atunci controlul mişcarii se poate efectua în coordonate articulare fãrã a exista riscul coliziunii. Daca aceastã traiectorie a endefectorului intersecteazã obiecte sau obstacole din spaţiul

Page 79: Curs Roboti Industriali

de lucru al robotului atunci se impune adoptarea altor strategii de conducere , cum ar fi : - introducerea unor puncte intermediare; - modificarea legilor de mişcare pe fiecare grad de libertate.

Fig.2.8. Traiectoria endefectorului când deplasarea se efectueazã

între P1 şi P2 iar controlul deplasãrii se face în coordonate articulare.

Metoda mai sus descrisã este utilã în programarea mişcãrii roboţilor, utlizând avantajele controlului mişcãrii în coordonate articulare şi eliminând dezavantajele care constau în principal în riscul coliziunii.

2.3.8. Consideratii privind controlul deplasarilor în coordonate operaţionale

Un robot industrial trebuie sã poatã deplasa în interiorul spaţiului de lucru obiecte sau scule în conditii de precizie şi de restricţii cinematice şi dinamice impuse de construcţia sa şi de

Page 80: Curs Roboti Industriali

limitele elementelor de acţionare. Mai precis el trebuie sã deplaseze un obiect dintr-un punct M1 în M2.

Traiectoria sa este rezultanta compunerii mişcãrii pe cele “N” grade de libertate. Una dintre cele mai importante probleme care se pun în roboticã este cea a controlului mişcãrii endefectorului. Acest control se poate realiza în coordonate articulare ( interne ) sau operaţionale ( externe ). Controlul mişcãrii în coordonate articulare este mai simplu , necesitã un volum mai mic de calcule , dar nu se poate asigura controlul traiectoriei între pozitia iniţialã şi cea finalã şi existã riscul coliziunii. Controlul mişcãrii în coordonate operaţionale necesitã un volum mai mare de calcule , dar asigurã deplasarea de-a lungul unei traiectorii prescrise. În afara problemei deplasãrilor pure se pune şi problema restricţiilor de ordin cinematic. Bineinteles cã este de dorit ca deplasarea sã se realizeze într-un interval de timp cât mai scurt, deci cu viteze şi acceleraţii cât mai mari, dar nu trebuie pierdute din vedere consecinţele unor valori mari ale vitezelor şi acceleraţiilor în planul dinamicii, şi nici limitele fizice ale motoarelor de acţionare. Dacã controlul mişcãrii se realizeazã în coordonate articulare prin însãşi funcţiile care descriu legile de mişcare ale fiecãrei articulaţii se respectã aceste limitari. Dacã însã controlul mişcãrii se realizeazã în coordonate operaţionale, încadrarea în vitezele şi acceleraţiile maxime este mai dificil de realizat, dar nu imposibil. Indiferent de modalitatea de control a mişcãrii aleasã , este de dorit ca mişcãrile pe fiecare grad de libertate sã fie sincronizate, în sensul cã ele sã aibã aceeaşi duratã. Existã numeroase modalitãţi de realizare a sincronizãrii mişcãrilor. În cele ce urmeazã se va analiza deplasarea endefectorului de-a lungul unei traiectorii rectilinii în interiorul spaţiului de lucru , cu respectarea restricţiilor cinematice ( de viteza şi acceleraţie ). Poziţia punctului de intersecţie al celor trei axe concurente este în funcţie numai de q1 , q2 , q2 deoarece vom lua în considerare o structurã “decuplata”( foarte des întâlnitã ) care

Page 81: Curs Roboti Industriali

permite separarea problemelor de poziţionare de cele de orientare. Coordonatele punctului caracteristic manipulat faţã de sistemul de coordonate fix este : Px = C1g1 - S1g2 Py = S1g1 + C1g2 (2.132) Pz = g3 + r1 Vom aplica algoritmul pe un robot RIP 6,3 care are caracteristicile enumerate anterior. Inlocuind în (2.132) valorile coeficientilor H-D ale robotului RIP 6,3 obţinem : Px = Cos(t1) [ (0,46+0,67 Cos(t3) ) - 0,67 Sin(t2) Sin(t3) ] Py = Sin(t1) [ (0,46+0,67 Cos(t3) ) - 0,67 Sin(t2) Sin(t3) ] (2.133) Pz= -0,46+0,67 Cos(t3) - 0,67 Cos) Sin(t3) Dar ,

D2 = Px2+Py

2+Pz2 (2.134)

Inlocuind în (2.134) obţinem : D2 =0,6605+0,6164 Cos(t3) Pe de alta parte o traiectorie liniara P1 [x1,y1,z1], P2 [x2,y2,z2] este descrisa în spaţiu prin ecuaţii parametrice de tipul:

x(t)=x1+(x2-x1) u(t) y(t)=y1+(y2-y1) u(t) (2.135) z(t)=z1+(z2-z1) u(t)

unde , u(t) se determina prin interpolare cu polinoame de gradul 3 , tinind cont de urmatoarele conditii limita : u(0)=0 , u(tm)=1 , u(0)=0 , u(tm)=0 (2.136) unde tm reprezintã timpul maxim de manipulare. În final obţinem :

u(t)=2(t/tm)3-3(t/tm)2 (2.137)

Fie P1 [0,50 , 0,10 , 0,40] şi P2 [0,35 , 0,35 , 0,30] douã puncte din interiorul spaţiului de lucru. Pentru dreapta P1P2 , ecuaţiile parametrice au urmatoarea forma: x(t)=0,50-0,15 u(t) y(t)=0,10+0,25 u(t) (2.138)

Page 82: Curs Roboti Industriali

z(t)=0,40-0,10 u(t) D2=x(t)2+y(t)2+z(t)2 = 0,42 + 0,095 u2(t,tm) - 0,18 u(t,tm) (2.139) t3(t,tm) = ArcTan [ 0,095 u2(t,tm)-0,18 u(t,tm) - 0,2405 ] (2.140) Redãm mai jos reprezentarea grafica a legilor de mişcare pe fiecare grad de libertate în funcţie de (t,tm).

Fig.2.9. Graficul de variaţie a lui t3(t,tm)

Fig.2.10 . Graficul de variaţie a lui t2(t,tm)

Page 83: Curs Roboti Industriali

Fig.2.11. Graficul de variaţie a lui t1(t,tm)

Obţinem astfel legile de mişcare pe cele trei grade de libertate în funcţie de t şi tm. Am luat în considerare un timp maxim de 5 secunde. Se poate alege orice valoare a lui tm în intervalul 0-5 secunde. Valorile mici ale lui tm conduc la viteze şi acceleraţii mari, cu toate dezavantajele care decurg de aici. Valorile mari ale lui tm eliminã problemele de ordin dinamic , dar mãresc uneori nepermis de mult timpul de manipulare , reducând productivitatea operaţiei. Pentru a realiza optimul trebuie sã alegem cea mai micã valoare a lui tm care respectã restricţiile de vitezã şi acceleraţie, impuse de limitãrile elementelor de acţionare.

Page 84: Curs Roboti Industriali

Fig.2.12. Graficul lui v1

Fig.2.13. Graficul lui a1 Analog se obţin şi graficele lui v2 , v3 , a2 , a3 , care nu se mai reproduc , din motive de spaţiu.

Pentru a obţine legea de mişcare optimã pe gradul de libertate “1” va trebui sã impunem limitãri lui v1 şi a1 sub forma unor plane orizontale care trec prin punctul de vitezã şi acceleraţie maximã. Raţionamentul se repetã pentru fiecare grad de libertate, în final obţinându-se valoarea minimã a lui tm care ţine cont de limitãrile pe cele trei grade de libertate.

Page 85: Curs Roboti Industriali

2.3.10. Controlul mişcãrii în coordonate interne şi externe Marea majoritate a roboţilor industriali executã sarcini specifice în interiorul spaţiului de lucru. Controlul generãrii mişcãrii se poate efectua în coordonate interne ( articulare ) sau externe ( operaţionale ). Fie de exemplu punctele P1 şi P2 , aparţinând spaţiului de lucru al unui robot industrial PUMA 600, a cãrui schemã cinematicã şi ale cãrui coordonate H-D au fost descrise anterior. P1 şi P2 au urmãatoarele coordonate carteziene : P1= ( 0,50 , 0,10 , 0,40 ) P2 = ( 0,35 , 0,35 , 0,30 ). Rezolvând problema cinematicã inversã putem obţine coordonatele articulare, corespunzãtoare celor operaţionale. Deoarece robotul PUMA are şase grade de libertate, conform Teoremei lui Roth , vom avea o soluţie a problemei cinematice inverse. Având o structurã decuplatã , putem separa problema poziţionarii de cea a orientãrii, astfel încât vom lua în considerare numai primele trei grade de libertate. Utilizând metoda Khalil şi Pieper pentru rezolvarea problemei cinematice inverse şi limbajul de programare Mathematica, putem obţine valorile coordonatelor interne corespunzãtoare celor douã puncte P1 şi P2. ( q1 , q2 , q3 ) vor fi coordonatele interne corespunzatoare lui P1 şi ( q`1 , q`2 , q`3 ) cele corespunzatoare lui P2. Programul utilizat pentru rezolvarea problemei cinematice inverse, scris în Mathematica, va avea urmãtoarea formã : a={0,0,0.432,0.02,0,0}; b={0,-0.149,0,-0.432,0,-0.056}; al={0,-Pi/2,0,Pi/2,-Pi/2,Pi/2}; p={0.5,0.1,0.4} f1[t3]=a[[4]] Cos[t3]+b[[4]] Sin[t3] Sin[al[[4]]]+a[[3]]; f2[t3]=Cos[al[[3]]] (Sin[t3] a[[4]]-

Page 86: Curs Roboti Industriali

Cos[t3] Sin[al[[4]]] b[[4]])-Sin[al[[3]]] (Cos[al[[4]]] b[[4]]+b[[3]]); f3[t3]=Sin[al[[3]]] (Sin[t3] a[[4]]-Cos[t3] Sin[al[[4]]] b[[4]])+ Cos[al[[3]]] (Cos[al[[4]]] b[[4]]+b[[3]]); Print[f2[t3]]; F1[t2_,t3_]=Cos[t2] f1[t3]-Sin[t2] f2[t3]; F2[t2_,t3_]=Sin[t2] f1[t3]+Cos[t2] f2[t3]; F3[t2_,t3_]=f3[t3]+b[[2]]; Print[F2[t2,t3]]; g1[t2_,t3_]=F1[t2,t3]+a[[2]]; g2[t2_,t3_]=Cos[al[[2]]] F2[t2,t3]-Sin[al[[2]]] F3[t2,t3]; g3[t2_,t3_]=Sin[al[[2]]] F2[t2,t3]+Cos[al[[2]]] F3[t2,t3]; Print[g3[t2,t3]]; P1[t1_,t2_,t3_]=Cos[t1] g1[t2,t3]-Sin[t1] g2[t2,t3]; P2[t1_,t2_,t3_]=Sin[t1] g1[t2,t3]+Cos[t1] g2[t2,t3]; P3[t1_,t2_,t3_]=g3[t2,t3]+b[[1]]; Print[P1[t1,t2,t3]]; H1[t1_,t2_,t3_]=f1[t3]^2+f2[t3]^2+F3[t2,t3]^2+a[[2]]^2; H2[t1_,t2_,t3_]=f1[t3]^2+f2[t3]^2+a[[2]]^2+2 a[[2]] F1[t2,t3]; Print[H1[t1,t2,t3]]; InverseFuncţion->Automatic; FindRoot[{P1[t1,t2,t3]==p[[1]],P2[t1,t2,t3]==p[[2]],P3[t1,t2,t3]==p[[3]]},{t1,Pi/100},{t2,Pi/100},{t3,Pi/100}] ( q1 , q2 , q3 ) = ( 0,493936 , -1,44054 , -0,018476 ) ( q`1 , q`2 , q`3 ) = ( 1,09117 , -1,43398 , 0,209843 ) Aşa cum am menţionat anterior controlul mişcãrii se poate efectua în coordonate interne ( articulare ) sau externe. Sã presupunem ca impunem end-efectorului o traiectorie liniarã între P1 şi P2. Ecuaţiile parametrice ale dreptei P1P2 sunt : x(t) = x1+( x2-x1 ) u(t) y(t) = y1+( y2-y1 ) u(t) (2.139) z(t) = z1+( z2-z1 ) u(t) unde , u(t) este o funcţie care trebuie sã aibã urmãtoarele condiţii limitã :

Page 87: Curs Roboti Industriali

u(0) = 0 ; u(tm) = 1 , tm este timpul maxim necesar manipulãrii între cele douã puncte , de-a lungul traiectoriei prescrise. Fie tm = 1 secundã. u(t) se poate determina utilizând funcţii spline. u(t) = 3t2-2t3 Astfel ecuaţiile (2.139) devin :

x(t) = 0,50 - 0,15 ( 3t2-2t3 ) y(t) = 0,10 + 0,25 ( 3t2-2t3 ) (2.140) z(t) = 0,40 - 0,10 ( 3t2-2t3 )

Dacã controlul mişcãrii se efectueazã în coordonate interne ( articulare ) , atunci funcţiile care descriu mişcarea vor avea urmãtoarea formã :

q1(t) = q1 + (q`1-q1) t

tm

q2(t) = q2 + (q`2-q2) t

tm (2.141)

q3(t) = q3 + (q`3-q3) t

tm

t∈[0,tm] , şi tm = 1 secundã. Astfel (2.141) devine : q1(t) = 0,493936 + 0,597234 t q2(t) = -1,44054 + 0,00656 t (2.142) q3(t) = -0,018476 + 0,228319 t Metoda este simplã şi eficientã, dar între cele douã puncte nu putem controla traiectoria endefectorului şi s-ar putea sã avem probleme de coliziune. În figura 2.14 este reprezentatã variaţia în funcţie de timp a coordonatelor articulare ale gradului de libertate 2.

Page 88: Curs Roboti Industriali

Fig.2.14. Variatia în funcţie de timp a coordonatelor articulare ale modulului 3, când controlul mişcãrii se efectueazã în coordonate articulare.

Dacã controlul mişcãrii se efectueazã în coordonate externe ( operaţionale ) , atunci un punct oarecare M (Px, Py, Pz) aparţinând traiectoriei P1P2 va satisface urmãtoarele conditii : Px = x(t) ; Py = y(t) ; Pz = z(t) (2.143) Conform metodei Khalil şi Pieper , avem : Px = Cos[q1] Cos[q2] ( 0,02 Cos[q3] - 0,432 Sin[q3]+0,432 )- Cos[q1] Sin[q2] ( 0,02 Sin[q3] + 0,432 Cos[q3] )- 0,149 Sin[q1] Py = Sin[q1] Cos[q2] ( 0,02 Cos[q3]-0,432 Sin[q3]+0,432 ) - - Sin[q1] Sin[q2] ( 0,02 Sin[q3] + 0,432 Cos[q3] )- 0,149 Cos[q1] Pz = - 0,02 Sin[q2] Cos [q3]+ 0,432 Sin[q3] Sin[q2] - 0,432 Sin[q2] -- Cos[q2] ( 0,02 Sin[q3] + 0,432 Cos[q3] ) (2.144) H1 = Px

2 + Py2 + ( Pz - r1 )2 q (2.145)

H1 = x(t)2 + y(t)2 + z(t)2 q (2.146) Px

2 + Py2 + ( Pz - r1 )2 = x(t)2 + y(t)2 + z(t)2 (2.147)

Efectuând calculele, în final obţinem:

q3(t) = 2 Arctan [ − + −+

0 20834 0 047056 20 02

, , ^,

kk

]

unde , k = 0,1284 u2 - 0,20834 u + 0,028 , şi t∈[0,1].

Page 89: Curs Roboti Industriali

În figura 2.15 este reprezentatã variaţia în funcţie de timp a coordonatelor interne ale elementului 3, atunci când controlul mişcãrii se realizeazã în coordonate operaţionale.

Fig.2.15. Variaţia în funcţie de timp a coordonatelor interne ale

elementului 3, atunci când controlul mişcãrii se realizeazã în coordonate operaţionale.

Comparând figurile 2.14 şi 2.15 se trag urmãtoarele concluzii : - Este mult mai uşor pentru elementul de acţionare ca deplasarea sã se efectueze pe traiectoria din figura 2.14 decât pe cea din figura 2.15. - Viteza necesarã pentru controlul mişcãrii în coordonate operaţionale este mai mare decât cea necesarã deplasãrii în coordonate articulare.

2.3.11. Analiza preciziei de poziţionarte Vectorul de poziţie al punctului material caracteristic se poate exprima în funcţie de componentele sale, raportat la sistemul de referinţă fix “0”. Deci :

r0 = x i + y j + z k (2.148) unde :

Page 90: Curs Roboti Industriali

x0 = x (q1,q2,...,qn) y0 = y (q1,q2,...,qn) (2.149) z0 = z (q1,q2,...,qn) iar q1,q2,...,qn sunt coordonatele generalizate. Derivata totală a vectorului de poziţie al punctului caracteristic este : d(r)0 = d(x)0 i + d(y)0 j + d(z)0 k (2.150) Dar ,

d(x)0 = δδ

xq1

dq1 + δδ

xq2

dq2 + .....+ δδ

xqn

dqn

d(y)0 = δδ

yq1

dq1 + δδ

yq2

dq2 + .....+ δδ

yqn

dqn (2.150)

d(z)0 = δδ

zq1

dq1 + δδ

zq2

dq2 + .....+ δδ

zqn

dqn

|d(r)0| = [ ( ) ]^ [ ( ) ]^ [ ( ) ]^d x o d y o d z o2 2 2+ + (2.151) Deci pentru a putea evalua precizia de poziţionare a

robotului vom calcula variaţia elementelor mici ale componentelor vectorului de poziţie d(r)0 , generate de variaţiile elementare mici ale coordonatelor robotului. Precizia de manipulare determinată de modulul vectorului de poziţie, depinde de parametrii constructivi ai robotului precum şi de precizia de realizare a mişcãrii fiecărui grad de libertate dqi. Pe lângã aceşti factori, precizia de poziţionare mai depinde de deformărarile elastice ale sistemului sub acţiunea piesei manipulate , de influenţele termice, de vibraţii , etc. Abaterile dqi se pot determina experimental, în regim normal de exploatare, luând în considerare toate influenţele. Analiza preciziei de poziţionare este utilă nu numai din punct de vedere teoretic, ci permite ameliorarea acesteia prin introducerea unor circuite de reacţie şi pentru elaborarea softului aferent. Pentru determinarea preciziei de poziţionare vom determina mai întâi ecuaţiile parametrice ale punctului material caracteristic. Fie un robot industrial cu şase grade de libertate având cuple cinematice de rotaţie şi/sau de translaţie. Indiferent

Page 91: Curs Roboti Industriali

de arhitectura robotului industrial şi de sistemul de coordonate adoptat (cartezian, cilindric, sferic, etc) putem calcula coordonatele parametrice ale punctului material caracteristic. Folosind notaţiile Hartemberg-Denavit vom nota prin qi coordonatele generalizate ale modulului “i” qi=qi(t). In funcţie de tipul cuplei cinematice, rotaţie R sau translaţie T, avem : θi, dacă cupla cinematică este de tipul R qi = bi, dacă cupla cinematică este de tipul T cu θi=θi(t) şi bi=bi(t).Vom nota prin [r ]i vectorul de poziţie al punctului caracteristic manipulat M , faţã de triedrul”i”. In final va trebui sã obţinem coordonatele parametrice exprimate faţă de sistemul de referinţă fix “0”`,adica [r]1 : [r]0 = [x1,y1,z1]T Vom calcula pe [r]1 pornind de la [r]6. cu următoarea formulă : [r]i-1 = ai + Qi [r]i (2.152) i=1,2,...,5,iar ai este vectorul de poziţie al lui Oi+1 faţă de Oi exprimat în coordonatele sistemului ”i”. şi Qi este matricea de rotaţie a sistemului “i+1” faţã de ”i”. în coordonatele lui ”i”. şi au urmãtoarele forme :

ai=[ai ,bi sinαi , -bi cosαi]T (2.153)

cosθi -sinθi 0

Qi = cosαi sinθi cosθi cosαi -sinαi

sinαi sinθi sinαi cosθi cosαi

unde ai,bi,αi,θi, sunt parametri H-D. Dând valori lui `i` în relaţia (2.152) putem calcula [r]1 Identificând [r]0=[x(q1,q2,q3) , y(q1,q2,q3) , z(q1,q2,q3)]T,

Page 92: Curs Roboti Industriali

obţinem obţinem ecuaţiile parametrice de tipul : x(q1,q2,q3) = x0 y(q1,q2,q3) = y0 (2.154) z(q1,q2,q3) = z0 Ecuaţiile de mai sus reprezintã traiectoria pe care se deplasează punctul material caracteristic M. Cum poziţia punctului material caracteristic este descrisă de mecanismul generator de traiectorii, putem lua în calcul numai primele trei grade de libertate. Aceasta simplificare nu restrânge cu nimic gradul de generalitate al solutiei, deoarece celelalte trei grade de libertate generate de mecanismul de orientare slujesc exclusiv orientării dreptei caracteristice a obiectului manipulat, iar marea majoritate a roboţilor industriali au o structură “decuplată”. Vom lua în considerare robotul PUMA 600 . Redăm mai jos parametrii H-D ai acestui tip de robot :

Modulul αi ai bi θi iniţial

1 0 0 0 0 2 -90 0 -0.149 0 3 0 0.432 0 0 4 90 0.02 -0.432 0 Pentru simplificarea notaţiilor vom nota : cosθi = ci şi sinθi = şi Efectuând calculele conform metodologiei expuse mai sus,obţinem :

r3 = −0 020 432

0

..

[r]2 = a3+Q3 [r]3

Page 93: Curs Roboti Industriali

r2 = ⎥⎥⎥

⎢⎢⎢

00432,0

+⎥⎥⎥

⎢⎢⎢

⎡ −

100033033

θθθθ

cssc

⎥⎥⎥

⎢⎢⎢

⎡−

0432,0

02,0=

⎥⎥⎥

⎢⎢⎢

⎡+−

−−

03432,0302,0

3432,0302,0432,0cs

sc

Procedand analog obţinem : c1(0.432c2-0.02c2c3-0.432c2s3+0.02s2s3-0.432s2c3) [r]0 = s1(0.432c2-0.02c2c3-0.432c2s3+0.02s2s3-0.432s2c3) -0.432s2+0.02s2c3+0.432s2s3-0.432c2+0.02c2c3+0.432c2s3 Deci : x0 (t)= Cos(q1)(0.432Cos(q2)-0.02 Cos(q2) Cos(q3)-0.432 Cos(q2) Sin(q3)+0.02 Sin(q2) Sin(q3)-0.432 Sin(q2) Cos(q3)) y0 (t)= Sin(q1)(0.432 Cos(q2)-0.02 Cos(q2) Cos(q3)-0.432 Cos(q2) Sin(q3)+0.02 Sin(q2) Sin(q3)-0.432 Sin(q2) Cos(q3)) z0 (t)= -0.432Sin(q2)+0.02 Sin(q2) Cos(q3)+0.432 Sin(q2) Sin(q3)-0.432 Cos(q2)+0.02 Cos(q2) Cos(q3)+0.432 Cos(q2) Sin(q3) ∂∂xq01

= -Sin(q1) (0.432Cos(q2)-0.02 Cos(q2) Cos(q3)-0.432

Cos(q2) Sin(q3)+0.02 Sin(q2) Sin(q3)-0.432 Sin(q2) Cos(q3)) ∂∂xq

02

=Cos(q1) (-0.432Sin(q2)+0.02 Sin(q2) Cos(q3)+0.432

Sin(q2) Sin(q3)+0.02 Cos(q2) Sin(q3)+0.432 Cos(q2) Cos(q3)) ∂∂xq03

=Cos(q1) (0.432Cos(q2)+0.02 Cos(q2) Sin(q3)-0.432

Cos(q2) Cos(q3)+0.02 Sin(q2) Cos(q3)-0.432 Sin(q2) Sin(q3))

Page 94: Curs Roboti Industriali

Deci :

d(x)0=∂∂xq01

dq1+∂∂xq01

dq2+∂∂xq01

dq3

d(x)0=[-Sin(q1) (0.432Cos(q2)-0.02 Cos(q2) Cos(q3)-0.432 Cos(q2) Sin(q3)+0.02 Sin(q2) Sin(q3)-0.432 Sin(q2) Cos(q3))] dq1+[ Cos(q1) (-0.432Sin(q2)+0.02 Sin(q2) Cos(q3)+0.432 Sin(q2) Sin(q3)+0.02 Cos(q2) Sin(q3)+0.432 Cos(q2) Cos(q3))]dq2+[ Cos(q1) (0.432Cos(q2)+0.02 Cos(q2) Sin(q3)-0.432 Cos(q2) Cos(q3)+0.02 Sin(q2) Cos(q3)-0.432 Sin(q2) Sin(q3))] dq3 Analog se calculeaza d(y)0 şi d(z)0. Pentru o aplicatie specifica se pot determina cu usurinta q1=q1(t) , q2=q2(t) şi q3=q3(t) şi se introduc în relaţia de mai sus obţinindu-se valoarea preciziei de poziţionare.

Page 95: Curs Roboti Industriali

3. DINAMICA ROBOŢILOR INDUSTRIALI

3.1. Ecuaţiile dinamice ale unui robot industrial de tip serial

Un robot industrial de tip serial este un mecanism spaţial care conţine cuple cinematice de rotaţie sau de translaţie. Considerăm un set de coordonate generalizate{qi}n, pe care le grupãm într-un vector n-dimensional al coordonatelor generalizate,”q”. Vitezele generalizate se definesc ca fiind derivată în raport cu timpul a coordonatelor generalizate q. Fie ck şi ck vitezele şi acceleraţiile centrelor de greutate ale elementelui “k”,iar wk şi wk vitezele şi acceleraţiile unghiulare ale aceluiaşi element `k`. Astfel contribuţia elementului `k` la forţa de inerţie generalizată se defineşte ca fiind :

δck δwk ∅k* = -( ⎯ )T mk ck - ( ⎯⎯ )T hk (3.1) δq δq ∅k* este un vector n-dimensional, iar hk este derivata în raport cu timpul a momentului unghiular al elementului “k” în raport cu centrul sãu de greutate.

hk = Ik wk +wk x Ikwk (3.2)

unde, Ik este tensorul centroidal de inerţie al elementului “k”. δck/δq şi δwk/δq sunt mtrici 3 x n. Vectorul n-dimensionl al forţei de inerţie generalizată a sistemului este :

δck δwk ∅* = ∑ ∅k* = -∑ [( ⎯⎯ )Tmk ck + ( ⎯⎯ )T hk]. (3.3) δq δq

Pe de altă parte, dacă asupra elementului “k” se acţioneazã cu un sistem de forţe şi momente care produc o forţã

Page 96: Curs Roboti Industriali

rezultanta fk acţionând în centrul de greutate al elementului şi un moment nk, atunci vectorul n-dimensional al forţelor generalizate, corespunzator elementului “k” este : δck δwk ∅k = ( ⎯⎯ )T fk + ( ⎯⎯ ) Tnk. (3.4) δq δq Vectorul n-dimensional al forţelor active generalizate care acţionează asupra sistemului este definit mai jos :

δck δwk ∅ = ∑ [( ⎯⎯ ) T fk + ( ⎯⎯ )Tnk], (3.5) δq δq Astfel ecuaţia dinamicã a sistemului devine :

∅ + ∅ * = 0 (3.6) Ecuaţia de mai sus este cunoscutã sub numele de ecuaţia “Kane”

3.1.1. Descrierea notaţiilor Hartemberg-Denavit Sã presupunem că robotul industrial aflat în studiu contine “n+1” elemente, dintre care “n” mobile şi una fixã (baza), are “n” cuple cinematice de rotaţie sau translaţie cu un grad de libertate. Cele “n+1” elemente sunt numerotate de la 0 la n, începând cu baza care va fi notata cu “0” şi terminând cu end-fectorul (EE). Cele “n” cuple cinematice ( articulaţii ) sunt numerotate de la “1” la “n”, astfel încât articulaţia “i” face lagãtura între elementul “i-1” şi “i”. Pentru a stabili relaţii de calcul cinematice între diferitele elemente vom folosi în cele ce urmează un sistem de relaţii Hartemberg-Denavit (H-D) modificate. Fiecărui element “i” i se ataşeazã un triedru triortogonal. In notaţiile H-D originale direcţia axei Zi se defineşte de-a lungul axei cuplei cinematice, direcţia axei Xi se defineste de-a lungul normalei la cele douã axe consecutive iar axa Yi se defineşte după regulă şurubului drept.

In cele ce urmează vom folosi un sistem H-D modificat care are avantajul de a simplifica considerabil calculele în cazul

Page 97: Curs Roboti Industriali

roboţilor industriali. Astfel sistemul de coordonate”i’` este solidar cu elementul “i” şi are originea în articulaţia “i”. Sistemul XoYoZo va fi solidar cu baza, putând avea originea oriunde. El va fi sistemul fix la care ne vom raporta în final. Axele noului triedru H-D se definesc astfel :

• axa Zi se defineşte de-a lungul axei cuplei cinematice; • axa Xi se defineşte ca având direcţia perpendicularei

comune ale axelor Zi şi Zi+1 îndreptatã de la prima spre ultima;

• axa Yi se defineşte după regula şurubului drept faţă de celelalte douã.

Bazându-ne pe aceste notaţii poziţiile relative şi orientările elementului “i” fata de “i+1” se definesc complet prin patru parametrii H-D, după cum urmează :

αi = unghiul dintre Zi-1 şi Zi, în sensul poziţiv al axei Xi-1;

ai = distanţa dintre Zi-1 şi Zi, luată în valoareabsolută; bi = coordonata Zi a intersecţiei lui Xi-1 şi Zi; θi = unghiul dintre Xi-1 şi Xi în direcţia axei Zi.

Fig.3.1. Triedrele Hartemberg-Denavit modificate.

Zi-1

Xi-1

Yi-1 Oi-1

aibi

Yi

Zi

Xi

Oi

Page 98: Curs Roboti Industriali

Dintre aceşti parametri θi este variabilã dacă cupla cinematică este de rotaţie şi bi dacă cupla cinematică este de translaţie. Ceilalti doi parametri sunt constanţi. Bazându-ne pe aceste notaţii matricea de rotaţie a sistemului de coordonate “i” faţã de sistemul “i-1” în coordonatele sistemului “i-1” se defineşte astfel :

cosθi -sinθi 0 i = [Qi]i-1 = cosαi sinθi cosαi cosθi -sinαi (3.7) sinαi sinθi sinαi sinθi cosαi iar vectorul translaţiei originii Oi-1 în Oi definit în coordonatele sistemului “i-1”,este :

ai

[ai]i-1 = bi sinαi (3.8)

• bi cosαi Versorul axei cuplei cinematice “i” este definit astfel :

[ei]i=[0,0,1]T (3.9)

3.2. Calculul vitezelor unghiulare şi al acceleraţiilor

Viteza unghiulară şi acceleraţia elementului “i” se calculează cu relaţiile :

wi-1+θ i ei, dacă cupla cinematică “I” este de rotaţie (R)

wi= (3.10) wi-1 , dacă cupla cinematică “i” este de translaţie(T) wi-1 +wi-1 x θi ei +θi ei , dacă cupla cinematică “i” este (R) wi= (3.11) wi-1 ,dacă cupla cinematică”i” este “T”

Page 99: Curs Roboti Industriali

pentru i=1,2,....,n, unde wo şi wo sunt vitezele unghiulare şi acceleraţiile bazei. In scopul reducerii complexitătii calculelor toţi vectorii corespunzãtori elementului “i” se vor exprima în funcţie de coordonatele sistemului “i”. Astfel vitezele şi acceleraţiile unghiulare se vor exprima cu ajutorul urmãtoarelor formule :

QiT[wi-1]i-1 + θi[ei]i, dacă cupla cinematică “i” este R

[wi]i = (3.12)

QiT[wi-1]i-1,dacă cupla cinematică “i”este T

QiT[wi-1]i-1 + [wi x θiei+1 + θiei ]i , dacă cupla

cinematică “i” este R

[wi]i = (3.13) Qi

T[wi-1]i-1 , dacă cupla cinematică “i”este T Dacă sistemul de referinţa inerţial este ales cel al bazei, atunci,

[wo]o=0, [wo]o=0.

3.3.Calculul vitezelor şi acceleraţiilor centrelor de greutate

Fie ci vectorul de poziţie al centrului de greutate, Ci al elementului “i”, ρi fiind vectorul direcţionat de la Oi la Ci (vezi figurile 3.2 şi 3.3).

Vectorul de poziţie al distanţei dintre douã centre de greutate succesive este dat de relaţia :

ci = ci-1-ρi-1 + ai +ρi (3.14)

sau, în coordonatele sistemului “i” :

Page 100: Curs Roboti Industriali

[ci]i = QiT [ci-1 +ai +ρi-1]i-1 + [ρi]i. (3.15)

După diferenţierea ecuaţiilor (3.15) faţă de timp obţinem următoarele formule :

(i) dacă cupla “i”este de tip R, atunci : [ci] = Qi

T [ci-1 +wi-1 x (ai-ρi-1)]i-1 +[wi x ρi]i (3.16)

[ci]i = QiT [ci-1 +wi-1 x (ai x ρi-1) + wi-1 x (wi-1 x (ai-ρi-1))]i-1 +

+ [wi x ρi +wi x (wi x ρi)]i (3.17)

(ii) dacă cupla cinematică “i” este de tip T, atunci : [ci]i = Qi

T [ci-1+wi-1 x (ai-ρi-1)]i-1 + [wi x ρi-bi ei]i (3.18)

[ci]i = QiT [ci-1 +wi-1 x (ai-ρi-1)+wi-1 x (wi-1 x (ai-ρi-1))]i-1 +

+[wi x ρi +wi x (wi-1 x ρi)-bi ei - 2wi x bi ei]i. (3.19)

Fig.3.2. Elemente succesive articulate printr-o cuplă de rotaţie

element i-1element i

Oi

0i+1

Ci

Ci-1 Oo

Oi-1

ai+1

ci ci-1

ai

ρi

ρi-1

ei+1

ei

Page 101: Curs Roboti Industriali

Fig.3.3. Elemente succesive articulate printr-o cuplă de translaţie.

pentru i=1,2,....,n,,unde co şi co sunt respectiv viteza şi acceleraţia centrului de greutate al bazei. Dacă baza este aleasă ca sistem inerţial de referinţă, atunci :

[co]o = 0 şi [co]o =0. In derivarea ecuaţiilor (3.76), am folosit următoarele formulele de derivare ale vectorilor :

wi-1 x ai ,dacă cupla cinematică “i”este de tipR ai = (3.20)

wi-1 x ai-bi ei, dacă cupla cinematică “i” este de tip T

elementul i-1 ai

Oi

OoCi-1

Ci

Oi+1

di bi

ci

ci-1

Oi-1

ρi

ρi-1

ei

ei+1

elementul

Page 102: Curs Roboti Industriali

3.4. Calculul forţelor / momentelor motoare la un robot de tip serial

Forţele active Ø se obţin însumând forţele gravitaţionale Øg ,forţele disipative Ød, şi forţele motoare “τ” care sunt forţele dezvoltate de elementele de execuţie ale fiecărui grad de libertate. Deci :

∅ = ∅g + ∅d + τ, (3.21)

unde ∅g şi ∅d sunt vectori n-dimensionali având urmãtoarea formă :

∅g = ∑ )(qckδδ T mk g (3.22)

∅d = [ ∅d1, ∅d2, ∅d3,......∅dn ]T (3.23) τ = [ τ1, τ2,..........,τn ]T (3.24)

iar “g” este acceleraţia gravitaţională. Forţele/momentele disipative ∅d şi forţele / momentele motoare τi acţioneazã asupra elementului (gradului de libertate) “i”. Ecuaţiile Kane devin :

∅g + ∅d + τ + ∅* = 0 (3.25)

Explicitând în ecuaţia de mai sus obţinem :

τ = - ∅d - (∅g + ∅*) = - ∅d + ∑ [ (δwj / δq )T hj + (δcj / δq )T mj (cj-g)] (3.26) Bazându-ne pe definiţia triedrelor H-D, coordonatele generalizate vor avea urmãtoarele forme:

θi, dacă cupla cinematica “i” este de tip R

qi = (3.27)

bi, dacă cupla cinematica “i” este de tip T.

Derivatele parţiale în rapor cu vectorul vitezelor generalizate ale vitezelor unghiulare şi liniare au urmãtoarele forme :

Page 103: Curs Roboti Industriali

δwj δcj Aj = ⎯⎯ , Bj = ⎯⎯ , pentru j=1,2,.....,n (3.28) δq δq Aj şi Bj reprezintă matricile Jacobi asociate elementului “i” şi sunt matrici 3 x n.

Dacă toate cuplele cinematice sunt de tip R atunci :

Aj = [ e1,e2,......,ej,0,.....,0] (3.29) Bj = [ e1 x sj1,e2 x sj2,....,ej x sjj,0,...0]. (3.30) Dacă cupla cinematică “i” este de tip T atunci pentru i=1,2,...,j avem :

Aj = [ e1,e2,.....,ei-1,0,ei+1,....,ej,....,0] (3.31) Bj = [e1 x sj1,...,ei-1 x sj,i-1,ei,ei+1 x sj,i+1,...,ej x sjj,0,...,0] (3.32) unde “sji” este vectorul de poziţie al centrului de greutate al elementului “j” Cj faţă de originea sistemului “i” Oi şi se defineşte astfel :

ai+1+...+aj+ρj, dacă i<j

sji = (3.33) ρj , dacă i=j Astfel, introducând expresiile de mao sus în (3.26) obţinem :

τ = -∅d + ∑ [ AjT hj + Bj

T mj (cj -g)]. (3.34)

Forţele disipative ∅d se compun din forţele de rezistenţă la înaintare, care pentru roboţii industriali funcţionând în atmosfera sau în spaţiu sunt practic neglijabile, ele fiind demne de luat în considerare în cazul roboţilor subacvatici şi din forţele de frecare. Acestea din urma sunt şi ele neglijabile deoarece mecanismele care intrã în componenta roboţilor industriali sunt cu frecare de rostogolire, randamentul acestor mecanisme fiind foarte mare. Deci vom considera ∅d = 0.

Page 104: Curs Roboti Industriali

3.4.1. Formule recursive pentru calculul forţelor motrice Fie pi = ci-g (3.35)

Din ecuaţiile dinamice (3.34), ignorând forţele disipative, obţinem :

(i) în cazul când cupla cinematică “i” este de tip R :

τi = j i

n

=∑ ( ei ⋅ hj +ei x sji ⋅ mj pj ) = ei ⋅

j i

n

=∑ ( hj +sji x mj pj) ;

(3.36)

(ii) dacă cupla cinematică “i” este de tip T, atunci :

τi= j i

n

=∑ ei ⋅ mj pj = ei

j i

n

=∑ mj pj. (3.37)

Deoarece produsul scalar a doi vectori este independent de sistemul de coordonate ales, τi se poate calcula în funcţie de coordonatele sistemului de referinţă “i” astfel :

(i)dacă cupla cinematică “i” este de tip R,atunci :

τi = [ei]i ⋅ j i

n

=∑ [hj +sji x mjpj]i ; (3.38)

(ii) dacă cupla cinematică “i” este de tip T,atunci :

τi = [ei ]i ⋅j i

n

=∑ mj[pj]i. (3.39)

Dacă îl calculăm pe τi succesiv de la τn la τ1, atunci termenul

j i

n

=∑ [ hj +sji x mj pj]i din ecuaţia (3.38) se poate calcula din

j i

n

=∑ [ hj + sji x mj pj]i+1, iar termenul ∑mj[pj]i din ecuaţia (3.39 )

se poate calcula în funcţie de ∑ mj [pj]i+1.

Deci :

Page 105: Curs Roboti Industriali

j i

n

=∑ [ hj +sji x mj pj ]i =

j i

n

= +∑

1

[ hj +(sj,i+1 +ai+1) x mj pj ]i + [hi +

sii x mi pi ]i = j i

n

= +∑

1

[hj +sj,i+1 + mj pj ]i+[ai+1]i x j i

n

= +∑

1

mj[pj]i + [hi

+ sii x mi pi]I = Qi+1 j i

n

= +∑

1

[ hj + sj,i+1 x mj pj ]i+1 + ki (3.40)

unde ki este definit astfel :

ki = [hi]i +[sii]i x mi[pi]i + [ai+1]i x j i

n

= +∑

1

mj [pj]i (3.41)

cu [sii]i = [ρi]i. în cazul calculului recursiv al termenului forţei motrice pentru cazul cuplelor cinematice de tip T se foloseşte relaţia :

j i

n

=∑ mj [pj]i = mi [pi]i +Qi+1

j i

n

= +∑

1

mj [pj]i+1. (3.42)

Pentru calculele recursive de mai sus am folosit relaţia de transpunere a unui vector dintr-un sistem de coordonate intr-altul.

[r]i = ai +Qi+1[r]i+1 (3.43) Derivând expresia de mai sus obţinem :

[r]i = Qi+1 [r]i+1 (3.44)

3.5. Stabilirea ecuaţiilor dinamice ale unui robot

industrial folosind ecuaţiile Lagrange de speţa a II a

Fie schema cinematică a unui R.I. de construcţie

modulară , având sşase grade de libertate , prezentat in figura 3.5.

Page 106: Curs Roboti Industriali

Fig.3.5. Schema cinematicã a unui robot cu şase grade de

libertate Notãm : li - (i=1,2,...6) parametri constructivi ai robotului qk - ( i=1,2,...6) coordonatele generalizate ( rotaţii sau translaţii ) k - (i=1,2,...6) numărul gradelor de libertate Pi - (i=1,2,...6,7) forţele de greutate corespunzătoare modulelor robotului ( i=1,2,...6 ) şi (P7) dispozitivului de prehensiune , cu semifabricatul prins Fi - forţele motoare ( pentru modulele de translaţie ) Mi - momentele motoare ( pentru modulele de rotaţie )

Page 107: Curs Roboti Industriali

mi - ( i=1,2,..7) masele modulelor şi ale dispozitivului de prehensiune cu obiectul / scula manipulată qk - vitezele generalizate qk - acceleraţiile generalizate J(i)Δk - ( i=1,2,...7) momentele de inerţie mecanice ale modulelor de rotatie si translaţie in raport cu axa de rotaţie Δk Pentru studiul dinamicii robotului se pot utiliza ecuaţiile lui Lagrange de speţa a II a.

)(qkT

dtd

∂∂ - ∂

∂__

Tqk

= Qk (3.45)

unde , T - reprezintă energia cinetică a sistemului qk - reprezintă coordonatele generalizate k - reprezintă numărul gradelor de libertate Qk - reprezintă forţele generalizate Notând cu Tk energia cinetică corespunzătoare modulului de ordin k , putem scrie : T1 = 1/2 J(1)Δ1 q2

1 ; T2 = 1/2 J(2)Δ2 q2

1 + 1/2 m2 q22

T3 = 1/2 J(3)Δ2 q21 + 1/2 m3 q2

2+ 1/2 J(3)Δ2 q23 (3.46)

T4 = 1/2 J(4)Δ1 q21 + 1/2 m4 q2

2+ 1/2 J(4)Δ2 q23 +1/2 m4 q2

4 T5 = 1/2 J(5)Δ1 q2

1 + 1/2 m5 q22+ 1/2 J(5)Δ2 q2

3 +1/2 m5 q24 +1/2

m5q25

T6+7 = 1/2 J(6+7)Δ1 q21 + 1/2 (m6+m7) q2

2+ 1/2 J(6+7) Δ2 q23 +1/2

(m6 m7) q24 + 1/2 (m6 + m7) q2

5 + 1/2 J(6+7)Δ3 q26

Intrucât Δ1⊥Δ2 , Δ3⊥Δ2 , conform teoremei lui Steiner , există relaţiile : J(4)Δ1 = J(4)

O4,1 + m4 (q4 + l3) J(5)Δ1 = J(5)

O5,1 + m5 [(q4 + l3)2 + (l4+q5)2] J(6+7)Δ1 = J(6+7)

O6,1 + (m6 + m7) [(q4 + l3)2 + (l4+l5+q5)2] (3.47) J(5)Δ2 = J(5)

O5,2 m5 (l4 + q5)2 J(6+7)Δ2 = J(6+7)

O6,2 + (m6 + m7) (l4+l5+q5)2

Page 108: Curs Roboti Industriali

In relaţiile (3.47) , J(i)Oi,1 ( i=4,5) , J(6+7)

O6,1 reprezintă momentele de inerie mecanice ale modulelor 5,4,6 în raport cu axele care trec prin centrele lor de masã şi sunt paralele cu axa de rotaţie Δ1 , iar J(5)

O5,2 , J(6+7)O5,2 , reprezintă momentele de

inerţie mecanice ale modulelor 5 , 6 în raport cu axele care trec prin centrele lor de masă şi sunt paralele cu axa de rotaţie Δ2. Momentele de inerţie J(i)Δ1 (i= 1,2,3) , J(i) )Δ2 (i=3,4) si J(6+7)Δ2 nu depind de coordonate generalizate qk. In aceste condiţii, energia cinetică T a sistemului ,având în vedere relaţii (3.46) si (3.47) devine :

T = 1/2 {[ i=∑

1

3

J(i)Δ1 + i=∑

4

5

J(i)Oi,1 + J(6+7)

O6,1 + (i=∑

4

5

mi ) ( q4 +

l3 )2 + m5 (q5 + l4)2 + + ( m6 + m7 ) ( q5 + l4 +l5 )2 ] q21 +

(i=∑

2

7

mi) q22 + [

i=∑

3

4

J(i)Δ2 + J(i)O5,2 + J(6+7)

O6,2 + (3.48)

+ m5 (q5 + l4 )2 + (m6 + m7 ) (q5 + l4 + l5 )2 ] q23 + (

i=∑

4

7

mi ) q24

+ (i=∑

5

7

mi ) q25+ J(6+7) Δ3 q2

6 }

Forţele generalizate Qk se determină din relaţiile :

Qk = δWk/ δqk (3.49)

în care δWk reprezintă lucrul mecanic virtual elementar al forţelor şi momentelor exterioare corespunzătoare unor deplasări virtuale elementare δqk compatibile cu legăturile, presupuse ideale , ale sistemului. Lucrul mecanic virtual elementar se exprimă cu relaţia :

Page 109: Curs Roboti Industriali

δWk = k=∑

1

6

Fk δrk + k=∑

1

6

Mk δθk (3.50)

Se adoptă sistemul de referinţă O1xyz având axa O1z dirijată după axa Δ1 , axa O1y paralelă cu poziţia iniţială a axei Δ2. Conform figurii 3.6 avem :

Fig. 3.6. Determinarea componentelor forţei F5 şi a momentelor M3 şi M6

r5 = O1O5 = [( q4+l3)sq1+(q5+l4)cq1 cq3 ] i + [ (q4+l3) cq1-( q5+l4) sq1 cq3 ] j + + [l1+l2+q2-(q5+l4) sq3 ]k (3.51)

δr5 = O1O5 = [sq1δ q4+( q4+l3)cq1δq1+cq1cq3 δq5 - (q5+l4) (sq1 δq1 +sq3 δq3] i + [cq1 δq4 + (q4+l3) sq1 δq1-sq1 cq3 δq5 - ( q5+l4) (cq1 δq1 - sq3δq3 ] j + + [δq2-sq3 δ q5 - (q5+l4) cq3 δq3 ]k (3.52)

F5 = F5 ( cq1 cq3 i - sq1 cq3 j - sq3 k )

Page 110: Curs Roboti Industriali

M6 = M6 ( cq1 cq3 i- sq1 cq3 j - sq3 k )

δz2 = δz3 = δz4 = δq2

δz5 = δq2 - (q5+l4) cq3 δq3 - sq3δq5

δz6 = δq2 - (q5+l4+l5) cq3 δq3 - sq5 δq5

δz7 = δq2 - (q5 +l4+l5+l6) cq3 δq3 - sq3 δq5

δθ1 = δq1

δθ3 = δq1+δq3

δθ6 = δq1+δq3+δq6

Având în vedere relaţiile (3.50), (3.51), (3.52) expresiile forţelor generalizate devin :

Q1 = M1 - M6 sq3 + F5 ( q4+ l3 ) cq3 ;

Q2 = F2 - F5 sq3 - i=∑

2

7

Pi

Q3 = M3+[( i=∑

5

7

Pi ) (q5+l4) + (i=∑

6

7

Pi ) l5 + P7l6 ] cq3

Q4 = F4

Q5 = F5 + (i=∑

5

7

Pi ) sq3

Q6 = M6

Obţinem în final cele şase ecuaţii dinamice ale robotului:

Page 111: Curs Roboti Industriali

[ i=∑

1

3

J(i)Δ1 + i=∑

4

5

J(i)Oi,1 + J(6+7)

O6,1 + (i=∑

4

5

mi ) ( q4 + l3 )2 + m5

(q5 + l4)2 + + ( m6 + m7 ) ( q5 + l4 +l5 )2 ] q1 +2[ (i=∑

4

7

mi)

(q4+l3)q4+ (i=∑

5

7

mi ) (q5+l4)q5+(m6+m7)l5q5]q1- F5

(q4+l3)cq3+M6sq3=M1

(i=∑

2

7

mi )q2 +F5sq3 = F2 - i=∑

2

7

Pi

[ i=∑

3

4

J(i)Δ2 + J(5)O5,2 + J(6+7)

O6,2 + m5 (q5 + l4)2 + ( m6 + m7 ) ( q5

+ l4 +l5 .)2 ] q3 + 2[(i=∑

2

7

mi) (q5+l4)q5+(m6+m7)l5q5]q3-[(i=∑

5

7

Pi

)(q5+l4)+ (i=∑

6

7

Pi )l5+P7l6]cq3 = M3

(i=∑

4

7

mi) q4-[(i=∑

4

6

mi) (q4+l3)q21 = F4 (3.53 )

(i=∑

5

7

mi) q5 - [(i=∑

5

6

mi) (q5+l4)+m6l5](q21+q2

3)- (i=∑

5

7

Pi) sq3 = F5

J(6+7) Δ2 q6 = M6 Sistemul de ecuaţii diferenţiale (3.53) cuprinde parametrii cinematici , constructivi şi mecanici. (mase, forţe, momente de inerţie, etc. ). Prin integrarea acestui sistem de ecuaţii diferenţiale, se rezolvă problema dinamică directă, adică se pot determina expresiile celor şase coordonate generalizate în funcţie de timp. Pentru aceasta este necesar să se cunoască şi legile de variaţie în funcţie de timp ale forţelor şi momentelor exterioare motoare. Acestea ar fi de tipul : qi = qi(t) .

Page 112: Curs Roboti Industriali

Pentru rezolvarea problemei dinamice inverse trebuie să cunoaştem variaţia coordonatelor generalizate în funcţie de timp. Prin integrare ar rezulta legile de variaţie în funcţie de timp ale agentului motor care aplicat robotului, generează mişcarea impusă. Acestea ar fi de tipul : Fi = Fi(t) ; Mi = Mi(t) Traiectoria unui obiect ( semifabricat sau sculă ) dintr-o poziţie iniţialã “1” într-una finală “2” se determină prin coordonatele centrului de greutate şi unghiurile lui Euler. Fie C centrul de masă al obiectului manipulat. Coordonatele sale faţă de un sistem de coordonate fix sunt xc , yc ,zc iar ψ , θ , , ϕ unghiurile lui Euler. xc = xc(t) , yc = yc(t) , zc = zc(t) ψ= ψ(t) , θ = θ(t) , ϕ = ϕ(t). Deci qk = qk(xc , yc , zc , ψ , θ , ϕ )

3.6. Calculul tensorilor de inerţie Tensorul de inerţie al fiecãrui modul de robot industrial trebuieşte calculat , el intervenind în algoritmul de determinare al cuplului motor al fiecărui element. Expresia generală a unui tensor de inerţie este :

J = Jxx Jxy JxzJyx Jyy JyzJzx Jzy Jzz

− −− −− −

⎢⎢⎢

⎥⎥⎥

(3.54)

unde : Jxx , Jyy , Jzz reprezintă momentele de inerţie axiale , iar Jxy , Jyz , Jzx reprezintă momentele de inerţie centrifugale. Momentele de inerţie axiale se determină cu ajutorul relaţiilor : Jxx = m ( y2+z2 ) Jyy = m ( z2+x2 ) (3.55) Jzz = m ( x2+y2 )

Page 113: Curs Roboti Industriali

Momentele de inerţie centrifugale se determină cu relaţiile : Jxy = m x y Jyz = m y z (3.56) Jzx = m z x Aceste formule sunt valabile dacă axele la care ne raportăm şi faţă de care calculăm momentele de inerţie trec prin centrul de greutate al corpului. Variaţia momentelor de inerţie axiale se studiaza atât faţă de un sistem de axe paralele, cât şi faţă de un sistem de axe concurente. Dacă d1 şi d 2 sunt doua axe paralele, d1 trecând prin centrul de greutate al corpului, atunci conform Teoremei lui Steiner : Jd2 = Jd1 + M d2 (3.57) M , fiind masa corpului , iar “d” distanţa dintre cele douã axe paralele.

Analog , existã o teoremă care tratează cazul variaţiei momentelor de inerţie centrifugale faţă de un sistem de axe paralele.

Dacă momentul de inerţie centrifugal al unui corp faţă de un sistem de coordonate OXYZ este Jxy , iar sistemul O1X1Y1Z1 are axele paralele cu primul , atunci avem relaţia :

Jx1y1 = Jxy + Mab (3.58)

Interesant şi des întâlnit este şi cazul variaţiei momentelor de inerţie axiale faţă de axe concurente.

Momentele de inerţie Jd faţã de o axă care trece prin O, are componentele versorului “u” α , β ,γ se calculează cu ajutorul relaţiilor de forma : Jd = α2Jxx + β2Jyy + γ2Jzz - 2γβJyz-2βαJxy -2αγJxz (3.59) Atât calculul momentelor de inerţie centrifugale cât şi al celor axiale pentru un corp de forma oarecare este foarte

Page 114: Curs Roboti Industriali

laborios. De aceea vom asimila diferitele structuri componente ale roboţilor industriali cu corpuri cilindrice sau paralelipipedice, ale căror momente de inerţie axiale şi centrifugale se pot determina mai uşor. Dacă axele sistemului de referinţă ataşat coincid cu axele principale ale corpului, atunci toate cele şase produse de inerţie sunt nule, iar celelate momente de inerţie se numesc momente de inerţie principale ale corpului.

Calculul tensorului de inerţie pentru un corp cilindric plin Fie un corp cilindric plin raportat la un sistem de axe OXYZ , descris în figura 3.7. R1 Z H h Y a b X Fig.3.7. In vederea determinării expresiei matricii tensorului de inerţie al unui corp cilindric plin vom determina momentele de inerţie axiale şi pe cele centrifugale prin integrarea unui element de volum. Expresiile acestora sunt descrise de (3.55) şi (3.56). Relaţiile de trecere de la coordonatele carteziene la cele cilindrice , în cazul cind sistemele de axe sunt translatate sunt : x = a + r cosθ

Page 115: Curs Roboti Industriali

y = b + r cosθ (3.60) z = z Jacobianul transformarii este :

J = δ δ δ δθ δ δδ δ δ δθ δ δδ δ δ δθ δ δ

x r x x zy r y y zz r z z z

/ / // / // / /

= cos sinsin cos

θ θθ θ

−rr

00

0 0 1 (3.61)

Jzz = ( ^ ^ )x y dm2 2+∫ (3.62)

dm = ρdV = ρ V(x,y,z) dxdydz = [j] V(r,θ,z)drdθdz (3.63) [j] este modulul jacobianului transformării ; [j] = r

Jzz = ρ 0

R

∫0

2 Pi

∫h

H h+

∫ [(b+rsinθ)2 + ( a+r cosθ)2]rdrdθdz = MR2/2 +

M ( a2 + b2 ) (3.64) Analog : Jxx = ρ ∫∫∫ [( b+rsinθ )2+z2] rdrdθdz =

Mb2+MR2/4+MH2/3+M(Hh+h2) (3.65) Jyy = ρ ∫∫∫ [( a+rcosθ )2+z2] rdrdθdz =

Ma2+MR2/4+MH2/3+M(Hh+h2) (3.66) Jxy = ρ ∫∫∫ ( a+rcosθ ) (b+rsinθ) rdrdθdz = Mab (3.67)

Jxz = ρ ∫∫∫ ( a+rcosθ )z rdrdθdz = Ma(H+2h)/2 (3.68)

Jyz = ρ ∫∫∫ ( b+rsinθ )z rdrdθdz = Mb(H+2h)/2 (3.69)

unde , M este masa corpului. MR2/4+MH2/3+M(Hh+h2) = E , şi -M(H+2h)/2 = A obţinem expresia tensorului de inerţie :

J=E Mb Mab Aa

Mab E Ma AbaA bA MR M a b

+ −− +

+ +

⎢⎢⎢

⎥⎥⎥

^^

^ / ( ^ ^ )

22

2 2 2 2(3.70)

Analog se determinã tensorii de inerţie pentru : - corpuri cilindride tubulare

Page 116: Curs Roboti Industriali

- corpuri paralelipipedice - corpuri piramidale - corpuri conice şi tronconice

Page 117: Curs Roboti Industriali

4. GENERAREA MIŞCÃRII ÎNTRE DOUÃ PUNCTE ALE SPAŢIULUI DE LUCRU

Roboţii industriali realizeaza trei mari grupe de operaţii : - deplasări pure - eforturi statice pure - sarcini complexe rezultate din combinarea deplasărilor şi a eforţurilor. În cele ce urmează va fi analizată numai prima categorie de operaţii , deplasarile pure. In timpul unei deplasări un robot trebuie să parcurgă o anumită traiectorie după o anumita lege orară sau să treacă printr-un număr de puncte impuse. Această traiectorie este definită prin poziţiile şi orientarile succesive ale endefectorului. Studiul acestei probleme este necesar în vederea determinării semnalelor de comandă pe fiecare grad de libertate necesar deplasării endefectorului pe traiectoria impusă. Există două strategii mai importante de generare a mişcării : 1. Să luăm ca referinţă coordonatele generalizate

corespunzătoare punctului final ce se doreşte a fi atins. Deplasarea efectorului între o poziţie iniţială şi una finală este o mişcãre complexã care se obţine din compunerea mişcărilor aferente fiecărui grad de libertate. Mişcãrea aferentă unui grad de libertate impune o variaţie a coordonatelor interne între două valori, una corespunzătoare poziţiei initiale şi cealaltă poziţiei finale. In cazul în care se adoptă această strategie nu există nici o coordonare a miscării articulaţiilor. Acestea nu-şi termină simultan mişcãrea, ceea ce face imposibil controlul traiectoriei. Această strategie se poate aplica atunci când distanţa dintre două puncte este foarte apropiată , ca de exemplu în cazul vopsirii.

Page 118: Curs Roboti Industriali

2. A doua strategie este de a urmării cât mai fidel posibil traiectoria programată, ceea ce presupune determinarea unor funcţii de interpolare care să asigure parcurgerea traiectoriei. Generarea mişcării între două puncte ale spaţiului de lucru se poate face astfel : - fără ca mişcarea să fie supusă vre-unei constrângeri între

cele două puncte ; - mişcarea între două puncte se face via mai multe puncte

intermediare , specificate în mod special pentru a se evita obstacole, traiectoria fiind liberă între două puncte intermediare ;

- traiectoria este supusă unor constrângeri între cele două puncte ;

- mişcarea între două puncte se face via mai multe puncte intermediare, traiectoria fiind supusă unor constrângeri între două puncte intermediare ;

Generarea mişcãrii se poate realiza în două moduri : 1. In coordonate articulare (interne). 2. In coordonate operaţionale (externe). In coordonate articulare endefectorul îşi atinge “ţinta” ( punctul final ) în momentul în care toate articulaţiile îşi ating valoarea coordonatei finale. Dezavantajul major al metodei constã în faptul cã nu există un control al traiectoriei, ci numai al poziţiei finale. Metoda se aplică în cazul roboţilor de vopsit. Generarea mişcãrii în coordonate operationale se realizează prin determinarea uneia sau a mai multor funcţii de interpolare care asigură atingerea anumitor puncte din spaţiul operaţional în funcţie de timp. Aceastã metodă înlăturã dezavantajele metodei precedente. Printre modalitatile de generare a mişcãrii între douã puncte există : a) Deplasarea între douã puncte din spaţiul de lucru al robotului, fărã a i se impune nici o restricţie. In acest caz mişcarea este liberă între cele douã puncte.

Page 119: Curs Roboti Industriali

b) Deplasarea între douã puncte din spaţiul de lucru al robotului cu condiţia atingerii unor puncte intermediare, în vederea evitãrii unor coliziuni cu diferitele obstacole din spaţiul său de lucru. c) Deplasarea între douã puncte din spaţiul de lucru al robotului, traiectoria fiindu-i impusă ( liniară , circulară , etc. ) d) Deplasarea între douã puncte din spaţiul de lucru al robotului de a lungul unei traiectorii oarecari , descrise analitic. In unele dintre cazurile descrise mai sus generarea mişcãrii se poate face în spaţiul coordonatelor articulare (a) şi (b). în celelelte cazuri mişcarea fiind definită prin coordonatele operaţionale, acestea trebuiesc transformate în coordonate articulare. Generarea mişcãrii în spaţiul articulaţiilor prezintă numeroase avantaje, cum ar fi : - mişcarea este minimală pe fiecare dintre articulaţii; - volumul de calcule necesar este mai mic; - mişcãrea nu este afectată de trecerea prin puncte singulare; - limitãrile de vitezã şi de cuplu se cunosc, ele corespunzând limitelor fizice ale dispoziţivelor de acţionare ( motoare electrice, hidraulice , etc. ). In schimb există un dezavantaj major, cel al deplasării imprevizibile între poziţia iniţialã şi cea finalã , existând riscul coliziunilor. Din acestã cauză această metodă de generare a mişcãrii se recomandă pentru mişcãri rapide în spaţii lipsite de obstacole. Generarea mişcãrii în spaţiul operational prezintă avantajul controlului traiectorie dar are şi unele dezavantaje, cum ar fi : - este necesară în permanenţă conversia coordonatelor din spaţiul operational în cel al articulatiilor; - metoda nu se poate aplica în cazul punctelor singulare sau a celor care nu aparţin spaţiului de lucru al robotului; - limitele de viteza şi cuplu fiind definite în spaţiul articulatiilior, nu se pot utiliza direct în cel operational. In acest caz se impun limitări prin valorile medii ale parametrilor de performanţă ai

Page 120: Curs Roboti Industriali

robotului, indiferent de configuraţie rezultând uneori utilizarea lui sub nivelul performanţelor sale.

4.1. Generarea mişcãrii între douã puncte în spaţiul articulaţiilor

Fie un robot industrial cu “n” grade de libertate, qi şi qf vectorii poziţiei iniţiale şi finale în spaţiul articulatiilor iar vm şi am respectiv viteza şi acceleraţia maximã. Legea de mişcare este exprimatã prin ecuaţia : q(t) = qi + r(t) D (4.1) unde : 0<t<tf şi D = qf-qi (4.2) r(t) este o funcţie de interpolare definită prin următoarele condiţii iniţiale : r(0) = 0 ; r(tf) = 1 (4.3) Cele mai frecvente funcţii de interpolare utilizate sunt cele polinomiale de gradul întâi sau trei. In cazul utilizării funcţiilor polinomiale de gradul întâi , mişcarea fiecărei articulaţii este descrisă printr-o funcţie de gradul întâi, ecuaţia mişcãrii putându-se exprima sub forma : q(t) = qi + t/tf D (4.4) Prin derivarea relaţiei de mai sus se obţine : q`(t) = D/tf (4.5) Deci viteza va fi constantă de-a lungul întregii traiectorii. Graficele de variaţie ale coordonatei articulare, vitezei şi acceleratiei sunt redate în figura 4.1. In cazul în care se impun şi restricţii cinematice , cum ar fi viteza nula în punctele extreme , se introduc douã noi condiţii inţiale care se adaugă celor anterioare, gradul polinomului de interpolare devenind trei în acest caz : r(t) = a0t3+a1t2+a2t+a3 (4.6) iar condiţiile limită sunt : q(0) = qi q(tf) = qf

Page 121: Curs Roboti Industriali

q(0) = 0 (4.7) q(tf) = 0 qj qf

j tf qi

j t

qj (qf

j-qij)tf

t

qj

t

Fig. 4.1. Interpolarea liniară pentru un modul Coeficienţii ai se obţin prin rezolvarea sistemului de mai sus, rezultând: a0=qi ; a1=0 ; a2=3D/tf

2 ; a3=-2D/tf3

Deci : r(t) = 3(t/tf)2-2(t/tf)3 (4.8) Graficele de variaţie ale coordonatelor articulare, vitezei şi acceleratiei sunt redate în figura 4.2.

Page 122: Curs Roboti Industriali

qj qf

j qi

j tf t qj qj 3|Dj|/2tf t qj 6|Dj|ţf2 t

Fig.4.2. Interpolarea cu polinoame de gradul trei pentru un modul

Page 123: Curs Roboti Industriali

In unele cazuri se impun legile de variaţie ale vitezelor şi acceleraţiilor în funcţie de timp. Cea mai frecvent utilizatã lege de variaţie a vitezelor este după un profil trapezoidal. In figura 4.3 sunt redate diagramele de variaţie ale vitezelor şi acceleraţiilor, pentru care trebuie determinată legea de variaţie a coordonatei articulare în funcţie de timp. Va trebui să determinăm expresiile lui qk(t) pe cele trei intervale de timp : [0 , τ] , (τ , tf-τ ] , (tf-τ,tf]. Pentru intervalul [0, τ] avem următoarele condiţii limită :

qk(0)=am (4.9) qk(0)=0 (4.10) qk(0)=0 (4.11)

Prin integrarea lui (4.9 ) se obţine : qk(t) = amt+k1 (4.12) Din (4.11) coroborând cu (4.9)-(4.11) rezultã cã :

qk(t) = amt2/2 (4.13) Pentru intervalul (τ , tf-τ] condiţile limită sunt :

qk = 0 (4.14) qk = vm (4.15)

Prin integrare se obţine :

qi(t) = vm t (4.16)

qi(t) = vm t2/2+k3 (4.17)

Dar , qi(τ) = amτ2/2 , din condiţia de continuitate în τ.

vmτ2/2+k3 = amτ2/2 => k3 = τ2/2(am-vm) (4.18)

Deci ,

qi(t) = vmt2/2+τ2/2(am-vm) (4.19)

Pentru t = tf-τ , (4.19) devine :

Page 124: Curs Roboti Industriali

qi(tf-τ) = (vmtf2+τ2am-2vmtfτ)/2 (4.20)

Pentru intervalul (tf-τ,tf] condiţiile limită devin :

qk (tf) = -am (4.21)

qk (tf) = 0 (4.22)

Prin integrarea lui (4.21) se obţine :

qk(t) = -amt+k4 (4.23)

Din (4.22) obţinem :

k4 = amtf , şi deci : qk(t) = -amt+amtf (4.24)

Integrând (4.23) se obţine :

qk(t) = (-amt2+amtft )/2+k5 (4.25)

Din condiţia de continuitate în tf-τ se obţine :

k5 = ( 2amτ2-amtfτ+vmtf2-2vmtfτ)/2 (4.26)

Deci , pentru diagramele de variaţie a vitezelor şi acceleraţiilor impuse gradului de libertate “k” se obţine :

amt2/2 pentru t ∈ [o, τ]

qk(t) = [vmt2+τ2(am-vm)]/2 pentru t ∈(τ,tf-τ]

[-amt2+amtft]/2+[2amτ2-amtfτ+vmtf2-2vmtfτ]/2

pentru t ∈ (tf-τ,tf]

In acest exemplu am considerat o anumită alură a graficelor de variaţie ale vitezelor şi acceleraţiilor şi timpi de

Page 125: Curs Roboti Industriali

accelerare şi decelerare egali. Metoda expusă mai sus se preteaza însă şi la o generalizare, putând lua în considerare timpi de accelerare şi decelerare diferiţi (τ1 ≠ τ2) şi grafice de variaţie ale vitezelor şi acceleraţiilor având o alta alură dată de o expresie analitică oarecare. In afara funcţiilor polinomiale se mai pot utiliza pentru a descrie traiectoria în coorodnate articulare şi funcţii cosinusoidale de tipul :

q(t) = ½(1-cos(πt)) t ∈ [0,1] (4.27) sau funcţii de tip sinusoidal ,

q(t) = ½(1-sin(πt)) t ∈ [0,1] (4.28)

Legea Bang-Bang

In acest caz generarea mişcării se realizează în două faze :

- una de accelerare constantă până la momentul tf/2 ;

- o fază de decelerare constantă.

Vitezele la momentul iniţial şi la cel final sunt nule.

Mişcarea este continuă în poziţie şi viteză dar discontinuă în acceleraţie.

Legea de mişcare este dată de relaţia :

q(t) = qi+2( t/tf )2 D , pentru 0<t<tf/2 (4.29)

q(t) = qi+[-1+4( t/tf )-2( t/tf )2 ] D , pentru tf/2<t<tf (4.30)

Valoarile maxime ale vitezei şi acceleraţiei sunt :

Vmax = 2|Dj|/tf

Page 126: Curs Roboti Industriali

amax = 4|Dj|/tf2 (4.31)

qj

qj

qj i

tf/2 tf t

qj

2|Dj|/tf

t

qj

4|Dj|/tf2

t

Fig. 4.3. Legea de mişcãre Bang-Bang

Page 127: Curs Roboti Industriali

Calculul timpului minim

Există situaţii în care timpul de realizare a traiectoriei este specificat iar altele în care acesta nu este specificat. Dacă timpul de realizare al traiectorie nu este specificat şi se caută timpul minim , respectându-se toate constrângerile de viteză şi de acceleraţie, atunci acesta se va calcula separat pentru fiecare grad de libertate după care se va face corelarea mişcărilor într-un timp comun. Plecând de la valoarea vitezei maxime şi a acceleraţiei maxime se poate deduce timpul minim necesar realizării mişcării pe un grad de libertate. Realizarea unei sincronozări a mişcărilor gradelor de libertate înseamnă ca mişcarea pe toate gradele de libertate să înceapă în acelaşi timp şi să se termine în acelaşi moment. In cele mai multe cazuri deplasările pe fiecare grad de libertate sunt inegale, ca şi constrângerile de viteză şi acceleraţie. Valoarea timpului global minim este dată de timpul articulaţiei care are asociat timpul minim cel mai lung. Tf = max [ tf1 , tf2 , …., tfn ] Fie gradul de libertate “k”cu timpul minim de parcurgere cel mai mare. Pentru a sincroniza o altă articulaţie “m” cu articulaţia “k” vom proceda astfel :

- duratele fazelor de accelerare şi decelerare rămân constanta ;

- legea de mişcãre a lui “m”se păstrează ; - durata palierului de viteză pentru “m”creşte. Astfel sincronizarea articulaţiei “m”cu “k” se realizează printr-o omotetie de raport “ï”subunitar.

Page 128: Curs Roboti Industriali

qm Vm Vk τm tfm tfk t

Fig. 4.4 Sincronizarea mişcării articulaţiilor , după metoda timpului minimal.

4.2. Generarea mişcării de-a lungul unei traiectorii liniare intre două puncte ale spaţiului util de lucru

Fie 0Tni si 0Tn

f matricile omogene care descriu situaţia iniţială şi pe cea finală a enfefectorului în spaţiul operaţional.

0Tni =

Ai 0 1

Pi⎡

⎣⎢

⎦⎥ (4.32)

0Tnf =

Af Pf0 1

⎣⎢

⎦⎥ (4.33)

Mişcarea rezultantă va fi descrisă de ecuaţia :

0Tn(t) = A t P t( ) ( )

0 1⎡

⎣⎢

⎦⎥ (4.34)

Page 129: Curs Roboti Industriali

La nivelul coordonatelor articulare qi ( i=1,2,...,n ) mişcarea este descrisă prin ecuaţii de tipul :

qi = qi(t) (4.35)

Cum cea mai mare parte a robotilor industriali au o structură decuplată ( din motive de soluţie a problemei cinematice inverse) problema poziţionării se poate separa de cea a orientării. In cele ce urmează se va studia mişcarea între două puncte ale spaţiului de lucru de-a lungul unei traiectorii liniare. Implicaţiile vor fi exclusiv asupra mecanismului generator de traiectorii (primele trei grade de libertate). Ecuaţia dreptei între cele două puncte va fi descrisă parametric, sub forma :

x = u(t)

y = v(t) (4.36)

z = w(t)

Indiferent de structura mecanismului generator de traiectorii , fie q1 , q2 , q3 coordonatele generalizate ale primelor trei grade de libertate. Din rezolvarea problemei cinematice inverse se cunoaşte cã , q1 , q2 , q3 se obţin din relaţiile : f1(θ3) = C3d4+S3Sα4r4+d3 f2(q3) = Cα3(S3d4-C3Sα4r4)-Sα3(Cα4r4+r3) (4.37) f3(q3)= Sα3(S3d4-C3Sα4r4)+Cα3(Cα4r4+r3) g1( θ3,q3 ) = F1(θ3,q3) + d2 g2( q2,q3 ) = Cα2F2( q2,q3 )-Sα2F3( r2, q3 ) (4.38) g3( q2,q3 ) = Sα2F2( q2,q3 ) + Cα2F3( r2,q3 ) cu : F1(θ3,q3 ) = C2f1 - S2f2 F2(q2,q3 ) = S2f1 + C2f2 (4.39) F3(q2,q3 ) = f3 + r2 Px = C1g1 - S1g2 Py = S1g1 + C1g2 (4.40)

Page 130: Curs Roboti Industriali

Pz = g3 + r1

Px , Py , Pz reprezintă coordonatele operaţionale.

Pentru operativitatea calculelor se notează :

C1g1-S1g2 = K1(q1,q2,q3)

S1g1+C1g2 = K2(q1,q2,q3) (4.41)

g3+r1 = K3(q1,q2,q3)

Punctul caracteristic se deplasează de-a lungul unie drepte descrisă de ecuaţia (4.36). Pentru ca punctul caracteristic să aparţină curbei impuse este necesar ca :

Px = u(t)

Py = v(t) (4.42)

Pz = w(t)

Din (4.36) si (4.42) va rezulta :

K1(q1,q2,q3) = u(t)

K2(q1,q2,q3) = v(t) (4.43)

K3(q1,q2,q3) = w(t)

Prin rezolvarea sistemului (4.43) se obţin soluţiile acestuia :

q1 = q1(t)

q2 = q2(t) (4.44)

q3 = q3(t)

Page 131: Curs Roboti Industriali

Cea de a doua modalitate de a determina relaţiile (9.39) este prin interpolare. Pe traiectoria impusă (exprimată de preferinţă sub forma parametrică ) se aleg un număr suficient de mare de puncte “m” , corespunzătoare unei diviziuni a timpului total de manipulare tf :

t0<t1<t2<......<tm=tf (4.45)

Pentru fiecare poziţie `k` de pe traiectoria impusă se rezolvă problemă cinematică inversă , obţinându-se coordonatele articulare q1

k , q2k , q3

k. La sfârşit se obţin trei vectori , după cum urmează :

q1 = [q11 , q1

2 , ........, q1m-1 , q1

m]

q2 = [q21 , q2

2 , ........, q2m-1 , q2

m] (4.46)

q3 = [q31 , q3

2 , ........, q3m-1 , q3

m]

Din relaţiile ( 4.46 ) putem să determinăm prin interpolare qi = qi(t) , generarea mişcării între coorodnatele articulare qi

k-1 si qik , putându-se efectua printr-una din metodele

cunoscute :

- interpolare cu funcţii liniare;

- interpolare cu funcţii polinomiale de gradul trei sau cinci;

- distribuţie trapezoidală a vitezelor.

Page 132: Curs Roboti Industriali

5. ALGORITMI DE CALCUL UTILIZAŢI LA MODELAREA COMPORTAMENTULUI

DINAMIC ŞI CINEMATIC AL ROBOŢILOR INDUSTRIALI

Modelarea se face în scopul determinării legii de mişcare a robotului corespunzător legii de variaţie date de vectorul d comandă. Pentru aceasta este necesar a se cunoaşte legea de mişcare a punctului caracteristic ales pentru obiectul manipulat în raport cu sistemul de coordonate inerţial, care se determină sub forma legii de deplasare a punctului şi sub forma legii de variaţie a orientării sistemului de coordonate legat cu originea în acest punct. Legea de deplasare a punctului se determină prin trei proiectii pe axele sistemului de coordonate legat de raza vectoare, dusă din originea sistemuli inerţial de coordonate în punctul caracteristic. Legea de variaţie a orientarii se obţine sub forma legii de variaţie a notaţiilor Hartemberg-Denavit. In consecinţă , legea de mişcare a punctului caracteristic al obiectului manipulat se prezintă sub forma a şase componente ale vectorului X ( trei componente care dau legea de variaţie a deplasării liniare şi celelalte trei legea de variaţie unghiulară.

In vederea realizării simulării comportarii dinamice a robotilor industriali se precizează urmãtoarele date iniţiale:

• parametrii H-D ai roboţilor industriali • masele fiecărui grad de libertate • distanţele de la originea fiecărui sistem de referinţă la

centrul sãu de greutate • matricea centroidalã de inerţie a fiecărui grad de libertate • traiectorile descrise de articulaţii corespunzãtor unei

traiectorii prestabilite a endefectorului

Page 133: Curs Roboti Industriali

5.1. Schema logica a algoritmului de calcul Rezultatul se va concretiza în graficele de variaţie a fortelor motrice necesare acţionãrii fiecărui grad de libertate astfel încât endefectorul să descrie traiectoria prestabilită.

Algoritmul de calcul cuprinde următoarele secţiuni :

1. Secţiunea de calcul a matricilor de rotatie şi de translaţie. 2. Secţiunea de calcule cinematice, în cadrul cãreia se vor

calcula vitezele şi acceleraţiile unghiulare şi liniare ale fiecãrui grad de libertate.

3. Secţiunea de calcul recursiv al forţelor motrice. 4. Secţiunea de trasare a graficelor obţinute Programul de calcul a fost scris în limbajul “MATHEMATICA”, versiunea 2.2. Am ales acest limbaj datorită facilităţilor deosebite pe care le oferă în special în domeniul calculului matricial. El este un mediu de programare şi în acelaşi timp un limbaj evoluat. După cum este binecunoscut calculele matematice se împart în trei mari categorii :

• calcule numerice • calcule analitice • calcule grafice.

Mathematica le execută pe toate trei. Gama de calcule oferita de Mathematica este mult mai mare decât cea oferită de alte limbaje, ca de exemplu BASIC sau FORTRAN. Dacă de exemplu un limbaj tradiţional prezintă facilităţi pentru aproximativ 30 de operaţii, Mathematica oferă facilităţi pentru 750 de operaţii. Este suficient a tasta denumirea în limba engleza a operaţiei solicitate, începută cu o majusculã pentru a obţine rezultatul.

Pentru a rula programele s-a folosit un calculator având următoarea configuraţie :

PC AT 486/DX2 100MHz/HDD 1,2GB/32MB RAM/.

Page 134: Curs Roboti Industriali

Redăm mai jos organigrama programului de simulare.

START Date privind parametrii cinematici şi inertiali ai robotului

Calculul matricilor de transformare ( de rotatie şi de translaţie )

Calculul vitezelor şi acceleraţiilor unghiulare Calculul vitezelor şi acceleraţiilor centrelor de masã

Page 135: Curs Roboti Industriali

Calculul recursiv al fortelor şi momentelor motrice Trasarea graficelor de variaţie a fortelor şi momentelor motrice Tipărirea graficelor de variaţie a fortelor şi momentelor motrice SFARSIT Redăm mai jos structura programului de simulare a comportamentului dinamic şi cinematic al unui robot industrial de tip serial cu şase grade de libertate de rotaţie sau translaţie.

5.2. Structura programului de calcul alf={0,-Pi/2,-Pi/2,0,Pi/2,-Pi/2} tet={0,Pi/2,0,0,0,0} bb={-0.1,-0.1,0,-0.6,0,0} aa={0,0,0,0,0,0} rt={1,1,0,1,1,1} f1[x_]=(Pi/30) (x-Sin[(2Pi/10)])

Page 136: Curs Roboti Industriali

f2[x_]=(Pi/2)+(-Pi/60) (x-Sin[(2Pi/10)]) f3[x_]=0.01 (x-Sin[(2Pi/10)]) f4[x_]=(Pi/30) (x-Sin[(2Pi/10)]) f5[x_]=(Pi/30) (x-Sin[(2Pi/10)]) f6[x_]=(Pi/30) (x-Sin[(2Pi/10)]) f={f1[x],f2[x],f3[x],f4[x],f5[x],f6[x]} e={{0},{0},{1}} cr={{0},{0},{0}} m={9.0,6.0,4.0,1.0,0.6,0.5} ro1={{0},{0},{-0.1}} ro2={{0},{0},{0}} ro3={{0},{0},{0}} ro4={{0},{0},{0.1}} ro5={{0},{0.06},{0}} ro6={{0},{0},{0.2}} r={ro1,ro2,ro3,ro3,ro4,ro5,ro6} i1={{0.02,0,0},{0,0.01,0},{0,0,0.01}} i2={{0.05,0,0},{0,0.01,0},{0,0,0.06}} i3={{0.4,0,0},{0,0.4,0},{0,0,0.01}} i4={{0.001,0,0},{0,0.0005,0},{0,0,0.001}} i5={{0.0005,0,0},{0,0.0002,0},{0,0,0.0005}} i6={{0.003,0,0},{0,0.001,0},{0,0,0.002}} am={i1,i2,i3,i4,i5,i6} For[i=1,i<7,i++,ar=rt[[i]];g[x]=f[[i]];aj=aa[[i]];bj=bb[[i]]; te=tet[[i]];al=alf[[i]]; If[ar==1, q[x_]={{Cos[te+g[x]],-Sin[te+g[x]],0}, {Cos[al]Sin[te+g[x]],Cos[al]Cos[te+g[x]],-Sin[al]}, {Sin[al]Sin[te+g[x]],Sin[al]Cos[te+g[x]],Cos[al]}}; Q[i_]=Transpose[q[x]]; a[i_]={{aj},{bj Sin[al]},{-bj Cos[al]}}, q[x_]={{Cos[te],-Sin[te],0}, {Cos[al]Sin[te],Cos[al]Cos[te],-Sin[al]}, {Sin[al]Sin[te],Sin[al]Cos[te],Cos[al]}}; Q[i_]=Transpose[q[x]];

Page 137: Curs Roboti Industriali

a[i_]={{aj},{(bj+g[x]) Sin[al]},{-(bj+g[x]) Sin[al]}}]; If[ar==1, dw[0]=cr;w[0]=cr;ca[0]=cr;r[[0]]=cr;w[i_]=Q[i] . w[i-1]+D[g[x],x]e; wi=w[i];aw=w[i-1];alt=D[g[x],x]e; d1=wi[[2]] alt[[3]]-wi[[3]] alt[[2]]; d2=wi[[1]] alt[[3]]-wi[[3]] alt[[1]]; d3=wi[[1]] alt[[2]]-wi[[2]] alt[[1]]; expr1[i_]={d1,d2,d3}; dw[i_]=Q[i] . dw[i-1]+D[g[x],{x,2}]e+expr1[i];adw=dw[i-1];dwa=dw[i]; di=a[i]-r[[i-1]]; exp1=adw[[2]] di[[3]]-adw[[3]] di[[2]]; exp2=adw[[1]] di[[3]]-adw[[3]] di[[1]]; exp3=adw[[1]] di[[2]]-adw[[2]] di[[1]]; expr2[i_]={exp1,exp2,exp3}; expa1=aw[[2]] di[[3]]-aw[[3]] di[[2]]; expa2=aw[[1]] di[[3]]-aw[[3]] di[[1]]; expa3=aw[[1]] di[[2]]-aw[[2]] di[[1]]; expr3[i_]={expa1,expa2,expa3}; aex=expr3[i]; expb1=aw[[2]] aex[[3]]-aw[[3]] aex[[2]]; expb2=aw[[1]] aex[[3]]-aw[[3]] aex[[1]]; expb3=aw[[1]] aex[[2]]-aw[[2]] aex[[1]]; expr4[i_]={expb1,expb2,expb3}; roi=r[[i]]; expc1=dwa[[2]] roi[[3]]-dwa[[3]] roi[[2]]; expc2=dwa[[1]] roi[[3]]-dwa[[3]] roi[[1]]; expc3=dwa[[1]] roi[[2]]-dwa[[2]] roi[[1]]; expr5[i_]={expc1,expc2,expc3}; expd1=wi[[2]] roi[[3]]-wi[[3]] roi[[2]]; expd2=wi[[1]] roi[[3]]-wi[[3]] roi[[1]]; expd3=wi[[1]] roi[[2]]-wi[[2]] roi[[1]]; expr6[i_]={expd1,expd2,expd3}; bex=expr6[i];

Page 138: Curs Roboti Industriali

expe1=wi[[2]] bex[[3]]-wi[[3]] bex[[2]]; expe2=wi[[1]] bex[[3]]-wi[[3]] bex[[1]]; expe3=wi[[1]] bex[[2]]-wi[[2]] bex[[1]]; expr7[i_]={expe1,expe2,expe3}; ca[i]=Q[i](ca[i-1]+expr2[i]+expr4[i])+

expr5[i]+expr7[i]; Print[i], dw[0]=cr;w[0]=cr;ca[0]=cr;r[[0]]=cr; w[i_]=Q[i] . w[i-1];wi=w[i];aw=w[i-1];alt=D[g[x],x]e; dw[i_]=Q[i] . dw[i-1];adw=dw[i-1];dwa=dw[i]; d1=wi[[2]] alt[[3]]-wi[[3]] alt[[2]]; d2=wi[[1]] alt[[3]]-wi[[3]] alt[[1]]; d3=wi[[1]] alt[[2]]-wi[[2]] alt[[1]]; expr1[i_]={d1,d2,d3}; di=a[i]-r[[i-1]]; exp1=adw[[2]] di[[3]]-adw[[3]] di[[2]]; exp2=adw[[1]] di[[3]]-adw[[3]] di[[1]]; exp3=adw[[1]] di[[2]]-adw[[2]] di[[1]]; expr2[i_]={exp1,exp2,exp3}; expa1=aw[[2]] di[[3]]-aw[[3]] di[[2]]; expa2=aw[[1]] di[[3]]-aw[[3]] di[[1]]; expa3=aw[[1]] di[[2]]-aw[[2]] di[[1]]; expr3[i_]={expa1,expa2,expa3}; aex=expr3[i]; expb1=aw[[2]] aex[[3]]-aw[[3]] aex[[2]]; expb2=aw[[1]] aex[[3]]-aw[[3]] aex[[1]]; expb3=aw[[1]] aex[[2]]-aw[[2]] aex[[1]]; expr4[i_]={expb1,expb2,expb3}; roi=r[[i]]; expc1=dwa[[2]] roi[[3]]-dwa[[3]] roi[[2]]; expc2=dwa[[1]] roi[[3]]-dwa[[3]] roi[[1]]; expc3=dwa[[1]] roi[[2]]-dwa[[2]] roi[[1]]; expr5[i_]={expc1,expc2,expc3}; expd1=wi[[2]] roi[[3]]-wi[[3]] roi[[2]]; expd2=wi[[1]] roi[[3]]-wi[[3]] roi[[1]];

Page 139: Curs Roboti Industriali

expd3=wi[[1]] roi[[2]]-wi[[2]] roi[[1]]; expr6[i_]={expd1,expd2,expd3}; bex=expr6[i]; expe1=wi[[2]] bex[[3]]-wi[[3]] bex[[2]]; expe2=wi[[1]] bex[[3]]-wi[[3]] bex[[1]]; expe3=wi[[1]] bex[[2]]-wi[[2]] bex[[1]]; expr7[i_]={expe1,expe2,expe3}; ca[i]=Q[i] . (ca[i-1]+expr2[i]+expr4[i])+expr5[i]+expr7[i]-D[g[x],{x,2}]e-2.expr1[i]]; jk=am[[i]];wi=w[i];dwa=dw[i];jt=jk . wi; exf1=wi[[2]] jt[[3]]-wi[[3]] jt[[2]]; exf2=wi[[1]] jt[[3]]-wi[[3]] jt[[1]]; exf3=wi[[1]] jt[[2]]-wi[[2]] jt[[1]]; expr8[i_]={exf1,exf2,exf3}; ha[i]=jk . dwa+expr8[i]; g0={{0},{0},{-9.81}};p[i]=ca[i]-g0]; ab=rt[[6]];m6=m[[6]];pp6=Transpose[p[6]];pp=pp6[[1]]; rot=Transpose[ro6];roa=rot[[1]]; If[ab==1, dm=m[[6]] pp; cm1=roa[[2]] dm[[3]]-roa[[3]] dm[[2]]; cm2=roa[[1]] dm[[3]]-roa[[3]] dm[[1]]; cm3=roa[[1]] dm[[2]]-roa[[2]] dm[[1]]; mc1={cm1,cm2,cm3}; ty[6]=ha[6]+mc1;ft6[x_]=ty[6];ff6[x_]=ft6[x][[3]], ty[6]=m[[6]] pp;ft6[x_]=ty[6];ff6[x_]=ft6[x][[3]]]; Plot[ff6[x],{x,0,10}]; qpp6=Transpose[p[6]]; qpp5=Transpose[p[5]]; qpp4=Transpose[p[4]]; qpp3=Transpose[p[3]]; qpp2=Transpose[p[2]]; qpp1=Transpose[p[1]];

Page 140: Curs Roboti Industriali

pp1=qpp1[[1]]; pp2=qpp2[[1]]; pp3=qpp3[[1]]; pp4=qpp4[[1]]; pp5=qpp5[[1]]; pp6=qpp6[[1]];Print[111]; e1=m[[2]] Q[2] . pp2+m[[3]] Q[2] . Q[3] . pp3+ m[[4]] Q[2] . Q[3] . Q[4] . pp4+ m[[5]] Q[2] . Q[3] . Q[4] . Q[5] . pp5+ m[[6]] Q[2] . Q[3] . Q[4] . Q[5] . Q[6] . pp6; e2=m[[3]] Q[3] . pp3+ m[[4]] Q[3] . Q[4] . pp4+ m[[5]] Q[3] . Q[4] . Q[5] . pp5+ m[[6]] Q[3] . Q[4] . Q[5] . Q[6] . pp6; e3=m[[4]] Q[4] . pp4+m[[5]] Q[4] . Q[5] . pp5+ m[[6]] Q[4] . Q[5] . Q[6] . pp6; e4=m[[5]] Q[5] . pp5+m[[6]] Q[5] . Q[6] . pp6; e5=m[[6]] Q[6] . pp6;Print[222]; ha1=Transpose[ha[1]];hab1=ha1[[1]]; ha2=Transpose[ha[2]];hab2=ha2[[1]]; ha3=Transpose[ha[3]];hab3=ha3[[1]]; ha4=Transpose[ha[4]];hab4=ha4[[1]]; ha5=Transpose[ha[5]];hab5=ha5[[1]]; haa={hab1,hab2,hab3,hab4,hab5};Print[333]; tau5[x_]=m[[5]] pp5+m[[6]] Q[6] . pp6; tau4[x_]=m[[4]] pp4+m[[5]] Q[5] . pp5+ m[[6]] Q[5] . Q[6] . pp6;Print[444]; tau3[x_]=m[[3]] pp3+m[[4]] Q[4] . pp4+ m[[5]] Q[4] . Q[5] . pp5+m[[6]] Q[4] . Q[5] . Q[6] . pp6;Print[555]; tau2[x_]=m[[2]] pp2+m[[3]] Q[3] . pp3+ m[[4]] Q[3] . Q[4] . pp4+m[[5]] Q[3] . Q[4] . Q[5] . pp5+ m[[6]] Q[3] . Q[4] . Q[5] . Q[6] . pp6;Print[666]; tau1[x_]=m[[1]] pp1+m[[2]] Q[2] . pp2+

Page 141: Curs Roboti Industriali

m[[3]] Q[2] . Q[3] . pp3+m[[4]] Q[2] . Q[3] . Q[4] . pp4+ m[[5]] Q[2] . Q[3] . Q[4] . Q[5] . pp5+ m[[6]] Q[2] . Q[3] . Q[4] . Q[5] . Q[6] . pp6; tau={tau1[x],tau2[x],tau3[x],tau4[x],tau5[x]};Print[777]; For[i=5,i>=1,i--,ac=rt[[i]]; ea={e1,e2,e3,e4,e5};ia=ea[[i]]; ap=a[i+1]; n1=ap[[2]] ia[[3]]-ap[[3]] ia[[2]]; n2=ap[[1]] ia[[3]]-ap[[3]] ia[[1]]; n3=ap[[1]] ia[[2]]-ap[[2]] ia[[1]]; n[i]={n1,n2,n3}; wq={pp1,pp2,pp3,pp4,pp5};wp=wq[[i]]; st=m[[i]] wp; roi=r[[i]];ro11=Transpose[roi];rob=ro11[[1]]; ss1=rob[[2]] st[[3]]-rob[[3]] st[[2]]; ss2=rob[[1]] st[[3]]-rob[[3]] st[[1]]; ss3=rob[[1]] st[[2]]-rob[[2]] st[[1]]; s[i]={ss1,ss2,ss3}; k[i]=haa[[i]]+s[i]+n[i];Print[888]; tt=Transpose[ty[6]];t[6]=tt[[1]]; t[i_]=tau[[i]]; If[ac==1,Print[i]; t[i]=Q[i] . t[i+1]+k[i], t[i]=tau[[i]]; Print[i^2]]]; ft1[x_]=t[1];Print[af]; ft2[x_]=t[2];Print[fff]; ft3[x_]=t[3];Print[kkk]; ft4[x_]=t[4];Print[of]; ft5[x_]=t[5]; ff1[x_]=ft1[x][[3]];Print[ah]; ff2[x_]=ft2[x][[3]]; ff3[x_]=ft3[x][[3]];

Page 142: Curs Roboti Industriali

ff4[x_]=ft4[x][[3]]; ff5[x_]=ft5[x][[3]];

5.3. Cercetãri teoretice pe modele reale de roboţi industriali

5.3.1 .Robotul Stanford Arm

Vom studia comportamentul dinamic al unui foarte cunoscut robot industrial şi anume “Standford Arm”. Redăm mai jos parametrii H-D pentru acest robot industrial a cărui schemă cinematică este redată în figura 5.1.

Articulaţia αi ai bi θi [gr] [m] [m] [gr] 1 0 0 -0.1 0 2 -90 0 -0.1 90 3 -90 0 0 0 4 0 0 -0.6 0 5 90 0 0 0 6 -90 0 0 0 Parametrii inerţiali ai celor şase grade de libertate sunt redaţi mai jos :

m1= 9,0 [ρ1]1= ⎥⎥⎥

⎢⎢⎢

1,000

[I1]1 = ⎥⎥⎥

⎢⎢⎢

01,000001,000002,0

Page 143: Curs Roboti Industriali

m2= 6,0 [ρ2]2= ⎥⎥⎥

⎢⎢⎢

000

[I2]2 = ⎥⎥⎥

⎢⎢⎢

06,000001,000005,0

m3= 9,0 [ρ3]3= ⎥⎥⎥

⎢⎢⎢

000

[I3]3 = ⎥⎥⎥

⎢⎢⎢

01,00004,000003,0

m4= 1,0 [ρ4]4= ⎥⎥⎥

⎢⎢⎢

1,000

[I4]4 = ⎥⎥⎥

⎢⎢⎢

00000005,0000001,0

m5= 0,6 [ρ5]5= ⎥⎥⎥

⎢⎢⎢

006,00

[I5]5 = ⎥⎥⎥

⎢⎢⎢

0005,00000002,00000005,0

m6= 0,5 [ρ6]6= ⎥⎥⎥

⎢⎢⎢

2,000

[I6]6 = ⎥⎥⎥

⎢⎢⎢

002,0000001,0000003,0

Unităţile de măsurã pentru mi, ρi, Ii, sunt respectiv : (Ns2/m) , (m) , (N s2 m).

Page 144: Curs Roboti Industriali

Fig.5.1. Schema cinematică a robotul Stanford Arm

Traiectoriile celor şase articulaţii sunt descrise de

următoarele funcţii :

θi = θi(0) +Ai [t-sin[Bt)/B], daca i=1,2,4,5,6 b3= A3[t-sin(Bt)/B] , daca i=3

unde,

Z2 Y2

X2 Z3

Y3X3

X4

Y4

O3

53

2 6

Z5

X5

O5O6

X6

Z4

O4 4

EE

Z

X1

Y1

O1

1

Zo

Xo

Yo

Oo

Z6

Page 145: Curs Roboti Industriali

0 ,daca i=1,4,5,6

θi(0) =

π/2 ,daca i=2 π /30 ,daca i=1,4,5,6 Ai = - π /60 ,daca i=2 0.01 ,daca i=3

B= 2π/10 Vom studia varaiaţia forţelor motrice pentru un interval de timp cuprins între 0 şi 10 secunde.In urma utilizãrii programului de calcul descris mai sus se obţin următoarele grafice de variaţie a forţei motrice în funcţie de timp.

Fig.5.2. Graficul de variaţie al momentului motric pentru

elementul 6

Page 146: Curs Roboti Industriali

Fig.5.3. Graficul de variaţie al momentului motric pentru

elementul 5

Fig. 5.4. Graficul de variaţie al fortei motrice a elementului 3

Fig.5.5. Graficul de variaţie al momentului motric al elementului

4

Page 147: Curs Roboti Industriali

Fig.5.6. Graficul de variaţie al momentului motric al elementului

2

Fig.5.7. Graficul de variaţie al momentului motric al elementului

1

5.3.2. Robotul PUMA 600 Un alt binecunoscut robot industrial al cărui comportament dinamic mi-l propun spre studiu este Puma 600. Schema cinematică a acestui robot industrial este redată în figura 2.2.

Page 148: Curs Roboti Industriali

Acest robot industrial. are următoarele caracteristic inerţiale :

m1=10,521 [ρ1]1=⎥⎥⎥

⎢⎢⎢

⎡−

0054,00

[I1]1=⎥⎥⎥

⎢⎢⎢

⎡−

612,10005091,0000612,1

m2=15,781 [ρ2]2= ⎥⎥⎥

⎢⎢⎢

0014,0

[I2]2 = ⎥⎥⎥

⎢⎢⎢

2672,80000783,80004898,0

m3=8,767 [ρ3]3= ⎥⎥⎥

⎢⎢⎢

⎡−

019,0

0[I3]3=

⎥⎥⎥

⎢⎢⎢

3768,30003009,00003768,3

m4=1,052 [ρ4]4= ⎥⎥⎥

⎢⎢⎢

057,000

[I4]4= ⎥⎥⎥

⎢⎢⎢

1273,00001810,00001810,0

m5=1,052

[ρ5]5= ⎥⎥⎥

⎢⎢⎢

⎡−

0007,00

[I5]5=⎥⎥⎥

⎢⎢⎢

1273,00000735,00000735,0

m6= 0,351 [ρ6]6= ⎥⎥⎥

⎢⎢⎢

2,000

[I6]6 = ⎥⎥⎥

⎢⎢⎢

0141,00000071,00000071,0

Unităţile de măsurã pentru mi, ρi, Ii, sunt respectiv : (Ns2/m) , (m) , (N s2 m).

Page 149: Curs Roboti Industriali

Parametrii H-D ai acestui robot industrial sunt redaţi mai jos :

articulaţia αi ai bi θi iniţial [grd] [m] [m] [grd] 1 0 0 0 0 2 -90 0 -0.149 0 3 0 0.432 0 0 4 90 0.02 -0.432 0 5 -90 0 0 0 6 90 0 -0056 Traiectoriile celor 6 articulaţii sunt descrise de următoarele curbe :

1 2π 2π θi = ⎯ [ ⎯⎯ t - sin ( ⎯⎯ t)] pentru i=1,2,...,6 2 10 10 In urma rulării programului de simulare al comportamentului dinamic al roboţilor industriali am obţinut următoarele grafice de variaţie ale momentelor motrice în raport cu timpul :

Fig.5.8.Graficul de variaţie al momentului motric al elementului 6 faţă de timp.

Page 150: Curs Roboti Industriali

Fig.5.9. Graficul de variaţie al momentului motric al

elementului 5 faţă de timp.

Fig.5.10.Graficul de variaţie al momentului motric al elementului 4 faţă de timp.

Fig.5.11.Graficul de variaţie al momentului motric al

elementului 3 faţă de timp.

Page 151: Curs Roboti Industriali

Fig.5.12.Graficul de variaţie al momentului motric al

elementului 2 faţă de timp.

Fig.5.13 .Graficul de variaţie al momentului motric al elementului 1 faţă de timp.

Page 152: Curs Roboti Industriali

6. PLANIFICAREA TRAIECTORIILOR ROBOŢILOR

6.1 Introducere

Problemele cinematicii şi dinamicii roboţilor industriali au fost examinate în capitolele anterioare, astfel încât în acest capitol ne vom referi la problema alegerii regulei pentru conducere ce asigurã mişcarea RI în lungul unei traiectorii stabile. Inainte de începerea mişcãrii RI este important sã se cunoascã dacã exista pe traiectoria RI obstacole şi dacã existã limite pe traiectoria endefectorului. Pot exista douã tipuri de coliziuni : - a corpului robotului cu obstacole din spaţiul sãu de lucru ; - a endefectorului cu obstacole din spaţiul sãu de lucru.

În funcţie de rãspunsurile la aceste douã întrebãri regula de conducere a roboţilor aparţine unuia din cele patru tipuri indicate în tabelul 6.1. Din acest tabel se observã cã regulile de conducere a roboţilor se împart în douã categorii : - când existã obstacole pe traiectorie; - când nu existã obstacole pe traiectorie. În acest capitol sunt examinate diferite moduri de planificare a traiectoriilor când lipsesc obstacolele. În situatia în care exista obstacole , acestea vor fi ocolite , cea mai simpla metoda de a le ocoli fiind prin stabilirea unui numar de puncte intermediare.

Traiectoria stabilitã a manipulatorului poate fi definitã sub forma unei succesiuni de puncte în spaţiul în care sunt date poziţia şi orientarea sub forma unei curbe spaţiale ce uneşte aceste puncte. Curba de-a lungul cãreia se deplaseazã endefectorul din poziţia iniţialã în cea finalã se numeşte traiectoria endefectorului. Sarcina noastra consta în elaborarea unui aparat matematic pentru alegerea şi descrierea mişcãrii

Page 153: Curs Roboti Industriali

dorite a manipulatorului între punctul iniţial şi cel final al traiectoriei.

Tabelel 6.1 Tipuri de conducere a roboţilor.

Obstacole pe traiectoria robotului Exista Lipsesc Limitele pe traiectoria robotului

Existã Planificarea autonomã a traiectoriei ce asigurã ocolirea obstacolelor, plus reglarea mişcãrii în lungul traiectoriei alese în procesul de funcţionare a robotului

Planificarea autonomã a traiectoriei plus reglarea mişcãrii în lungul traiectoriei alese în procesul de funcţionare a robotului

Lipsesc Conducera pe poziţie plus detectarea şi ocolirea obstacolelor în procesul de mişcare

Conducera pe poziţie

Diferenţa dintre diferitele mijloace de planificare a

traiectoriilor roboţilor se reduce la aproximaţii sau la interpolarea traiectoriei alese cu polinoame de diferite clase şi la alegerea unei succesiuni oarecare de puncte de sprijin în care se produce corectarea parametrilor mişcãrii robotului pe traiectoria dintre punctul iniţial şi cel final. Punctul iniţial şi cel final al traiectoriei pot fi descrise atât în coordonate interne (articulare) cât şi în coordonate externe ( operaţionale). Mai frecvent se utilizeazã totuşi coordonatele operaţionale, întrucât cu ajutorul lor este mai comod sã se stabileascã poziţia corectã a

Page 154: Curs Roboti Industriali

endefectorului. Faţã de acestea coordonatele articulare nu sunt utile în calitate de sistem de lucru deoarece axele articulaţiilor nu sunt ortogonale şi deci nu este posibilã o descriere independentã a poziţiei şi orientãrii EE. Dacã în punctul iniţial şi cel final al traiectoriei este necesarã cunoaşterea coordonatelor articulare, valorile lor se pot obţine cu ajutorul programului de rezolvare a problemei cinematice inverse. De regulã traiectoria ce uneşte poziţia iniţiala şi finalã a EE nu este unicã. Este posibila de exemplu deplasarea EE atât în lungul dreptei care uneste cele douã puncte cât şi de-a lungul unei curbe oarecari ce satisface un şir de limitãri pentru poziţia şi orientarea EE pe porţiunile iniţiale şi finale ale traiectoriei. În acest capitol se examineazã modalitãţile de planificare atât ale traiectoriilor rectilinii cât şi al traiectoriilor palne neliniare. Mai întâi vom examina cel mai simplu caz de planificare al traiectoriilor ce satisface câteva limite privind caracterul mişcãrii EE iar apoi rezultatul obţinut îl vom generaliza cu scopul luãrii în consideraţie a limitelor dinamicii mişcãrii robotului. Pentru o mai buna înţelegere, planificarea mişcãrii poate fi socotitã ca o “cutie neagra”. La intrare se dau câteva variabile ce caracterizeazã limitele aflate pe traiectorie. Ieşirea este o succesiune datã în timp a punctelor intermediare în care sunt determinate în coordonate articulare şi operaţionale , poziţia , orientarea , viteza şi acceleraţia EE şi prin care manipulatorul trebuie sã treacã între punctul iniţial şi cel final. La planificarea traiectoriilor se foloseste una dintre urmãtoarele douã abordãri : 1) Programatorul indicã un set precis de limite pentru poziţie, viteza şi acceleraţia coordonatelor generalizate ale manipulatorului în câteva puncte ale traiectoriei ( puncte nodale). Dupã aceasta planificatorul traiectoriilor alege dintr-o clasã oarecare a funcţiilor funcţia care trece prin punctele nodale şi care satisface în aceste puncte limitãrile date.

Page 155: Curs Roboti Industriali

2) A douã abordare constã în aceea cã programatorul indicã traiectoria doritã a robotului sub forma unei funcţii oarecari descrisã analitic, de exemplu o traiectorie rectilinie descrisã în coordonate carteziene. Programatorul produce o aproximare a traiectoriei date în coordonate articulare sau operaţionale.

În prima abordare, determinarea limitelor şi planificarea traiectoriei se produce în coordonate articulare. Inrucât în mişcarea EE nu apar limite , programatorului îi este greu sã prezinte traiectoria realizatã a EE şi de aceea apare posibilitatea ciocnirii cu obstacole.

În cazul celei de a douã abordãri limitele se indicã în coordonate operaţionale în timp ce acţionãrile de forţa realizeazã schimbarea coordonatelor articulare. De aceea pentru determinarea traiectoriei este suficient sã se indice cu aproximaţie traiectoria . Cu ajutorul transformãrilor funcţionale aproximative se trece de la limitele date în coorodnate operaţionale la cele în coordonate articulare şi numai dupa aceea se cautã printre funcţiile de clasã stabilite traiectoria ce satisface limitele exprimate în coordonate articulare. Cele douã abordãri de mai sus pentru planificarea traiectoriei ar putea fi folosite ( practic în timp real ) pentru realizarea eficientã a succesiunilor de puncte nodale ale traiectoriilor robotului. Totuşi succesiunea datã în timp a vectorilor {q(t) , q(t) , q(t)} în spaţiul variabilelor articulare se formeazã fãrã a lua în consideraţie limitele dinamicii manipulatorului ceea ce poate conduce la apariţia unor erori.

6.2 Formularea generalã a problemei planificãrii traiectoriilor.

Planificarea traiectoriilor se poate produce atât în coordonate articulare cât şi operaţionale. La planificarea traiectoriilor în coordonate articulare pentru descrierea completã a mişcãrii manipulatorului se indicã dependenţa în funcţie de timp a tuturor variabilelor articulare ca şi primele douã derivate

Page 156: Curs Roboti Industriali

ale lor. Dacã planificarea traiectoriilor se face în coordonate operaţionale se indicã dependenţa de timp a poziţiei, vitezei şi acceleraţiilor EE şi pe baza acestor informaţii se determinã valorile coordonatelor articulare ale vitezelor şi acceleraţiilor lor. Planificarea mişcãrii în coordonate articulare prezintã trei avantaje : 1) Se indicã comportamentul variabilelor conduse direct în procesul de mişcare al robotului; 2) Planificarea traiectoriei se poate realiza practic în timp real; 3) Traiectoriile variabilelor articulare sunt mai uşor de planificat. Deficienţa constã în modul complicat de determinare a poziţiei verigilor şi a EE în procesul mişcãrii. O asemenaea procedurã este adesea necesarã pentru a evita ciocnirea cu obstacole ce existã pe traiectoria EE. În caz general algoritmul principal de formare a punctelor nodale ale traiectoriei din spaţiul variabilelor articulare este foarte simplu : t = t0 ciclul : asteptaţi momentul urmator al corecţiei ; t = t+dt ; h(t) este poziţia datã a manipulatorului în spaţiul variabilelor articulare la momentul t. Dacã t= tf , ieşiţi din procedurã; Realizaţi ciclul : Aici dt este intervalul de timp dintre douã momente succesive ale corecţiei parametrilor de mişcare ai robotului. Din algoritmul descris mai sus se observã cã toate calculele se efectueazã pentru determinarea funcţiei h(t) a traiectoriei care trebuie sã se înnoiascã în fiecare punct al corecţiei parametrilor pentru mişcarea manipulatorului. Pe traiectoria planificatã existã patru tipuri de limitãri : 1) punctele nodale ale traiectoriei trebuie sã se calculeze uşor prin procedeul nerecurent; 2) poziţiile intermediare trebuie sã se determine cu o singurã cifrã;

Page 157: Curs Roboti Industriali

3) trebuie sã se asigure continuitatea coordonatelor articulare şi a primelor douã derivate; 4) trebuie sã fie reduse la minimum mişcãrile inutile de tip împrãştiere.

Limitãrile enumerate mai sus sunt satisfãcute de traiectoriile generate de succesiuni polinoamiale. Spre exemplu dacã pentru descrierea mişcãrii unei articulaţii “i”se foloseşte succesiunea “p” a polinoamelor, ele trebuind sã conţinã 3(p+1) coeficienţii aleşi în concordanţã cu condiţiile iniţiale şi finale pentru poziţie, vitezã şi acceleraţie şi sã asigure continuitatea acestor caracteristici pe întreaga traiectorie. Dacã se adaugã o limitã suplimentarã, de exemplu se indicã o poziţie într-un punct oarecare intermediar al traiectoriei, atunci pentru realizarea acestei condiţii se cere un coeficient suplimentar. De regulã, se indicã douã condiţi suplimentare pentru poziţie ( în apropierea punctului iniţial al traiectoriei şi în aproperea celui final ) care asigurã direcţiile nepericuloase ale mişcarii pe porţiunile iniţialã şi finalã şi o precizie mai mare a conducerii mişcãrii. În acest caz, schimbarea fiecãrei variabile articulare poate fi descrisã cu un singur polinom de gradul şapte sau cu douã polinoame : unul de grad patru şi unul de grad trei ( 4-3-4 ) sau ( 3-5-3 ). Aceste procedee sunt examinate în urmãtoarele subcapitole. Dacã planificarea traiectoriei se face în coordonate operaţionale algoritmul indicat mai sus se transformã, având urmãtorul aspect : t = to ciclul : asteptãţi momentul urmãtor al corecţiei; t = to + dt ; H(t) este poziţia EE în spaţiul operaţional la momentul t; Q[H(t)] este vectorul coordonatelor articulare ce corespund lui H(t); Dacã t = tf ieşiţi din procedurã; Realizaţi ciclul;

Aici pe lângã calcularea funcţiei traiectoriei H(t) în fiecare punct de corecţie al parametrilor de mişcare a RI se cere

Page 158: Curs Roboti Industriali

sã se determine şi valorile variabilelor articulare ce corespund poziţiei calculate a EE . Funcţia matriceala H(t) descrie poziţia EE în spaţiul absolut şi în momentul de timp “t” şi dupã cum se aratã în subcapitolul 6.4 , reprezintã matricea de transformare a coordonatelor cu o dimensiune de 4x6. În general, planificarea traiectoriilor în coordonate operaţionale se compune din 2 paşi succesivi: 1) formarea succesiunii punctelor nodale în spaţiul operaţional , care sunt dispuse în lungul traiectoriei planificate a EE; 2) alegerea unor funcţii de orice clasã care descrie (aproximeazã) porţiunile traiectoriei între punctele nodale , în concordanţã cu un criteriu oarecare.

Existã douã abordãri principale faţã de planificarea traiectoriilor în spaţiul operaţional. În prima dintre ele majoritatea calculelor, optimizarea traiectoriilor şi reglarea ulterioarã a mişcãrii se produc în coordonate operaţionale. Dând acţionãrii semnalul de comandã se calculeazã diferenţã dintre poziţia curentã şi cea datã a EE în spaţiul operaţional. Punctele nodale pe traiectoria rectilinie datã în spaţiul cartezian se aleg pentru intervalele de timp fixate. Calcularea valorilor coordonatelor articulare în aceste puncte se produce în procesul de conducere a mişcarii RI, utilizând modelul geometric invers.

A doua abordare constã în aproximarea porţiunilor rectilinii ale traiectoriei din spaţiul variabilelor articulare obţinute ca rezultat al interpolãrii traiectoriei între punctele nodale cu polinoamele de grad mic. Reglarea mişcãrii în aceastã abordare are loc la nivelul variabilelor articulare. Semnalul de comandã transmis la acţionare se calculeazã pentru diferenţa dintre poziţia fluctuantã şi cea datã a RI în spaţiul coordonatelor articulare. Prima dintre abordãrile enumerate mai sus pentru planificarea traiectoriilor în spaţiul operaţional permite sã se asigure o mare precizie a mişcarii în lungul traiectoriei date. Totuşi toţi algoritmii cunoscuţi pentru conducerea mişcãrii se

Page 159: Curs Roboti Industriali

construiesc având în vedere lipsa traductorilor care mãsoarã poziţia EE în spaţiul operaţional şi în cel articular. Aceasta conduce la necesitatea realizarii transformarii coordonatelor operaţionale ale EE în vectorul coordonatelor articulare ale RI, dar în procesul mişcãrii aceasta este o problema care cere un numar mare de calcule şi adesea un timp mare pentru conducerea RI. Mai departe, cerinţele faţã de traiectorie ( continuitate, condiţii limitative ) se formuleazã în coordonate operaţionale , în timp ce limitãrile dinamice ce sunt luate în consideraţie în etapa planificãrii traiectoriei se indicã în spaţiul coordonatelor articulare. Neajunsurile enumerate ale primei abordãri conduc la faptul cã se foloseşte mai mult a doua abordare bazatã pe transformarea coordonatelor carteziene ale punctelor nodale în coordonate articulare corespunzãtoare, cu efectuarea ulterioarã a interpolãrii în spaţiul variabilelor articulare cu polinoame de grad mic. Aceastã abordare necesitã mai puţin timp pentru calcule în comparaţie cu prima abordare şi uşureazã luarea în considerare a limitelor dinamicii RI. Totuşi precizia mişcãrii în lungul traiectoriei date în spaţiul operaţional se micşoreazã în acest caz. În subcapitolul 6.4 vom examina câteva scheme de planificare a traiectoriilor ce folosesc abordãrile indicate.

6.3 Traicetoriile în spaţiul variabilelor articulare La conducerea RI , înainte de a trece la planificarea traiectoriei de mişcare este necesar sã se determine configuraţiile robotului în punctul iniţial şi cel final al traiectoriei. Planificarea traiectoriilor în spaţiul variabilelor articulare se va efectua ţinând seama de urmãtoarele considerente : 1) În momentul ridicãri obiectului de manipulat mişcarea EE trebuie sã fie îndreptatã de la obiect; în caz contrar se poate produce ciocnirea EE cu suprafaţa pe care este aşezat obiectul.

Page 160: Curs Roboti Industriali

2) Se va indica poziţia punctului iniţial al EE şi normala ce trece prin poziţia iniţialã pe suprafaţa pe care este aşezat obiectul, stabilindu-se astfel coordonatele punctului iniţial. Indicându-se timpul în care EE ajunge în acest punct, se poate comanda viteza de mişcarea a EE. 3) Condiţii analoage se pot formula pentru punctul de apropiere de poziţia finalã : EE trebuie sã treacã prin punctul de apropiere aflat pe normala EE ce trece prin poziţia finalã a EE spre suprafaţa pe care trebuie sã fie aşezat obiectul manipulat. Aceasta asigurã o direcţie corectã a mişcãrii pe porţiunea finalã a traiectoriei.( porţiunea de apropiere ). 4) Din cele arãtate mai sus rezultã cã orice traiectorie a mişcãrii RI trebuie sã treacã prin 4 puncte date : punctul iniţial , punctul de pornire , de apropiere şi cel final. 5) Pe traiectorie trebuie sã se indice urmãtoarele : a) punctul iniţial - descris de vitezã şi acceleraţie ( adesea egale cu zero); b) punctul de plecare - poziţia , viteza şi acceleraţia sunt continui ; c) punctul de apropiere - la fel ca şi pentru cel de plecare; d) punctul final - sunt date viteza şi acceleraţia ( de obicei egale cu zero ). 6) Valorile coordonatelor articulare trebuie sã se afle în limitele restricţiilor fizice şi geometrice ale fiecãrei articulaţii. 7) La determinarea timpului de mişcare este necesar sã se ţinã seama de urmãtoarele : a) timpul de parcurgere a porţiunii iniţiale şi a celei finale a traiectoriei se alege ţinând seama de viteza cerutã pentru apropierea şi plecarea EE şi reprezintã o constantã oarecare ce depinde de caracteristicile acţionãrilor de forţã a articulaţiilor; b) timpul de mişcare pe porţiunea medie a traiectoriei se determina prin valorile maxime ale vitezelor şi acceleraţiilor fiecãreia dintre articulaţii. Pentru normare se foloseşte timpul maxim necesar pentru trecerea prin aceasta porţiune a traiectoriei articulaţiei care este cea mai puţin rapidã.

Page 161: Curs Roboti Industriali

Se cere sã se aleagã un grad oarecare al funcţiilor polinomului ce permite sã se efectueze interpolarea traiectoriei pentru punctele nodale date ( punctul iniţial , de pornire , de apropiere şi cel final ) care asigurã realizarea condiţiei continuitãţii poziţiei, a vitezei şi a acceleraţiei pe tot intervalul de timp [ to , tf ]. Punctul iniţial : 1) poziţia ( este datã ); 2) viteza ( este datã de obicei egalã cu zero ); 3) acceleraţia ( este datã de obicei zero ); Puncte intermediare : 4) poziţia în punctul de plecare ( pornire ) ( este datã ); 5) poziţia în punctul iniţial ( se schimbã neîntrerupt la trecerea între porţiunile succesive ale traiectoriei ) ; 6) viteza ( se schimbã neîntrerupt la trecerea între porţiunile succesive ale traiectoriei ) ; 7) acceleraţia ( se schimba neîntrerupt la trecerea între porţiunile succesive ale traiectoriei ) ; 8) poziţia în primul; punct de apropiere ( este datã ) ; 9) poziţia în punctul de apropiere ( se schimbã neîntrerupt la trecerea între porţiunile succesive ale traiectoriei ) ; 10) viteza ( se schimbã neîntrerupt la trecerea între porţiunile succesive ale traiectoriei ) ; 11) acceleraţia ( se schimba neîntrerupt la trecerea între porţiunile succesive ale traiectoriei ) ; Punctul final : 12) poziţia ( este datã ) 13) viteza ( este datã , de obicei zero ) 14) acceleraţia ( este datã , de obicei zero )

Una dintre modalitãţi constã în aceea cã se descrie mişcarea articulaţiei “i” cu un polinom de gradul şapte: qi(t) = a7t7+a6t6+....+ a2t2+a1t+a0 în care coeficienţii necunoscuţi ai se determinã din condiţiile limitã date şi din condiţiile de continuitate. Totuşi folosirea unui asemenea polinom de un grad mare are un sir de inconveniente.

Page 162: Curs Roboti Industriali

În particular sunt greu de determinat valorile extreme. Abordarea alternativa constã în faptul cã se împarte traiectoria mişcãrii în câteva porţiuni şi fiecare din acestea se interpoleazã cu un polinom de grad mic. Existã diferite mijloace de împãrţire a traiectoriei în porţiuni , fiecare din ele având avantaje şi dezavantaje. Urmãtoarele variante sunt cele mai rãspândite : 4-3-4. Traiectoria fiecãrei variabile articulare se împarte în trei porţiuni. Prima porţiune ce indicã mişcarea între punctul iniţial şi cel de pornire este descrisa de un polinom de gradul 4. A doua porţiune a traiectoriei între punctul de pornire şi punctul de apropiere este descrisa de un polinom de gradul 3. Ultima porţiune a traiectoriei dintre punctul de apropiere şi punctul final este descrisã de un polinom de gradul 6. Pentru a obţine o bunã precizie de poziţionare trebuie sã fragmentãm traiectoria în cel putin trei porţiuni : - o porţiune de pornire , la sfârşitul cãreia se ating viteza şi

acceleraţia maximã ; - o porţiune de-a lungul cãreia se pãstreazã constante viteza şi

acceleraţia iar EE parcurge cea mai mare parte a traiectoriei; - o porţiune finalã , de poziţionare.

Uneori, în funcţie de necesitãţi, şi porţiunea medianã se împarte la rândul ei în mai multe porţiuni, dacã existã obstacole sau dacã se impune modificarea parametrilor cinematici.

D C B

Page 163: Curs Roboti Industriali

A

Fig. 6.1.O modalitate de fragmentare a traiectoriei.

A = punctul iniţial B = punctul de plecare C = punctulde apropiere D = punctul final

- AB = porţiunea de pornire ; - BC = porţiunea de-a lungul cãreia se pãstreazã constante

viteza şi acceleraţia ; - CD = porţiunea finalã , de poziţionare.

Aceastã fragmentare este necesarã în primul rând datoritã exigentelor impuse de precizia de poziţionare. Evident cã este necesarã o primã porţiune de accelerare de la viteza iniţialã ( de cele mai multe ori zero ) la cea de regim. Porţiunea finalã este necesarã pentru a putea realiza o puternicã decelerare ( de obicei pânã la vitezã zero ) , fãrã de care nu s-ar putea realiza poziţionarea exactã. 3-5-3. Secţionarea traiectoriei în porţiuni se produce ca şi pentru 4-3-4 , dar se folosesc alte polinoame de interpolare. Se foloseşte funcţia “spline” cubicã când se secţioneazã traiectoria în cinci porţiuni. Numãrul polinoamelor folosite pentru descrierea completa a traiectoriei pentru un RI cu N grade de libertate este 3xN , iar numãrul coeficienţilor de determinat este 7xN. În acest caz , se cere sã se determine extremele pentru toate cele 3N porţiunile ale traiectoriilor. În urmãtorul subcapitol vom examina schemele de planificare a traiectoriilor 4-3-4 şi ale traiectoriilor date de funcţii cubice spline.

6.3.1. Calculul traiectoriei în cazul 4-3-4.

Page 164: Curs Roboti Industriali

În legãtura cu faptul cã pentru fiecare porţiune a traiectoriei se cere sã se determine N traiectorii ale variabilelor articulare , este comod sã se foloseascã timpul normat t , t∈[0,1]. Aceasta permite sã se obţinã caracterul unitar al ecuaţiilor ce descriu schimbarea fiecãreia dintre variabilele articulare pe fiecare porţiune a traiectoriei. Astfel timpul normat se va schimba de la t=0 ( momentul iniţial pentru fiecare din porţiunile traiectoriei ) pânã la t=1 ( momentul final pentru fiecare din porţiunile traiectoriei). Introducem urmãtoarele notatii : -) t , este timpul normat , t∈[0,1]. -) τ este timpul real , mãsurat în secunde. -) τi este momentul ( în timp real ) de terminare a porţiunii “i” a traiectoriei; -) ti = (τi - τi-1 ) şi este intervalul de timp real consumat pentru parcurgerea porţiunii`i` a traiectoriei. t = (τ - τi-1 )/( τi - τi-1 ) ; τ ∈ [τi-1 - τi ] ; t∈[0,1].

Traiectoria de mişcare a variabilelor articulare `j` se indicã sub forma unei succesiuni de polinoame hi(t). Pe fiecare porţiune a traiectoriei, pentru fiecare variabilã articularã, polinoamele folosite exprimate în timp normat au forma : h1(t) = a14t4+a13t3+a12t2+a11t+a10 ( prima porţiune ) h2(t) = a23t3+a22t2+a21t+a20 ( a douã porţiune ) hn(t) = an4t4+an3t3+an2t2+an1t+an0 ( ultima porţiune )

Indexul variabilei ce se aflã în partea stângã a fiecãrei egalitãţi indicã numãrul porţiunii traiectoriei, porţiunea “n” fiind ultima. Indexul din notaţiile coeficienţilor necunoscuţi aij au urmãtorul înteles : - coeficientul `i` pentru porţiunea `j` a traiectoriei. Condiţiile limitã pe care trebuie sã le satisfacã sistemul ales de polinoame sunt urmãtoarele : 1) Poziţia iniţiala θ0 =θ(t0). 2) Valoarea vitezei iniţiale v0 ( de obicei este zero ) 3) Valoarea acceleraţiei iniţiale a0 ( de obicei zero )

Page 165: Curs Roboti Industriali

4) Poziţia în punctul de pornire θ1 = θ(t1) 5) Continuitatea în poziţie în momentul t1 , adica θ(t1)= θ(t1

*) 6) Continuitatea în viteza în momentul t1 , adica v(t1)= v(t1

*) 7) Continuitatea în acceleraţie în momentul t1 , adica a(t1)= a(t1

*) 8) Poziţia în punctul θ2 = θ(t2) 9) Continuitatea în poziţie în momentul t2 , adica θ (t2)= θ(t2

*) 10) Continuitatea în viteza în momentul t2 , adica v(t2)= v(t2

*) 11) Continuiotatea în acceleraţie în momentul t2 , adica a(t2)= a(t2

*) 12) Poziţia finala θf = θ (tf) 13) Valoarea vitezei finale vf ( de obicei nulã ) 14) Valoarea acceleraţiei finale af ( de obicei nulã ) vi(t) = dhi(t)/dτ = dhi(t)/dt x dt/ dτ = [1/τi- τi-1 ] x dhi(t)/dt = 1/ti dhi(t) /dt = [1/ti] fi(t) , i=1,2,..,n (6.1) ai(t) = dh2

i(t)/dτ2 = [1/τi- τi-1 ]2 x d2hi(t)/dt2 = 1/ti2 dh2

i(t) /dt2 = = [1/ti

2] fi(t) , i=1,2,..,n (6.2)

Pentru descrierea primei porţiuni a traiectoriei se foloseşte un polinom de gradul 4. h1(t) = a14t4+a13t3+a12t2+a11t +a10 , t∈[0,1]. (6.3) Luând în consideraţie egalitãţile (6.1) şi (6.2) viteza şi acceleraţia de pe aceastã porţiune au aspectul : v1(t) = d[h(t)]/t1 = [ 4a14t3+3a13t2+2a12t+a11]/t1 (6.4) a1(t) = d2[h(t)]/t1

2 = [ 12a14 t2+ 6a13t + 2a12 ]/t12 (6.5)

1). Pentru t=0 ( punctul iniţial al porţiunii date a traiectoriei ) Din condiţiile limitã în acest punct rezultã : a10 = h1(0) = θ0 (θ0 dat ) (6.6) v0 = h1(0)/t1 = {[ 4a14t3+3a13t2+2a12t+a11]/t1}i=0 = a11/t1 (6.7) Din aceasta avem a11 = v0t1 şi

Page 166: Curs Roboti Industriali

a0 = d[hi(0)]/t12 = {[ 12a14 t2+ 6a13t + 2a12 ]/t1

2 }i=0 = 2a12/t12

(6.8) Substituind valorile obţinute ale coeficienţilor în egalitatea (6.3.) vom obţine : h1(t) = a14t4 + a13t3 +[a0t1

3/2]t2+(v0t1) t + θ0 , t∈[0,1]. (6.9) 2). Pentru t=1 ( punctul final al porţiunii date a traiectoriei ) În acest punct vom reduce condiţiile limitã aplicate, excluzând cerinţa deplasãrii precise a traiectoriei prin poziţia datã , dar pãstrând condiţiile privind continuitatea vitezei şi a acceleraţiei. Aceste condiţii semnificã faptul cã viteza şi acceleraţia la capãtul primei porţiuni a traiectoriei trebuie sã coincidã cu viteza şi acceleraţia de la începutul porţiunii a doua. La capãtul primei porţiuni viteza şi acceleraţia sunt egale în mod corespunzãtor : v1(1) = v1 = dh1(1)/t1 = [4a14+3a13+a0t1

2+v0t1]/t1 (6.10) a1(1) = a1 = d2h1(1)/t1

2 = [12a14 + 6a13 + a0t12]/t1

2 (6.11) Pentru descrierea porţiunii a doua a traiectoriei se

foloseşte un polinom de gradul al treilea. h2(t) = a23t3+a22t2+a21t+a20 , t∈[0,1]. (6.12) 1). Pentru t=0 ( punctul de plecare ) folosind egalitãţile (6.1) şi (6.2) avem în acest punct : h2(0) = a20 = θ2(0) (6.13) v1= dh2(0)/t2={[3a23t2+2a22t+a21]/t2}i=0 = a21/t2 (6.14) De aici rezultã cã : a1 = dh2(0)/t2

2 = {[6a23t+2a22]/t22}i=0 = 2a22/t2

2 (6.15) şi se obţine a22 = a1t2

2/2 Intrucât în acest punct viteza şi acceleraţia trebuie sã coincidã în mod corespunzãtor cu viteza şi acceleraţia din punctul final al porţiunii anterioare a traiectoriei se impun egalitãţile : h2(0)/t2 = h1(1)/t1 şi h2(0)/t2

2 = h1(1)/t12 (6.16)

care conduc în mod corespunzãtor la urmãtoarele condiţii : [( 3a23t2+2a22t+a21)/t2]i=0 = [( 4a14t3+3a13t2+2a12t+a11)/t1]i=1 (6.17)

Page 167: Curs Roboti Industriali

sau , a21/t2+4a14/t1+3a13/t1+a0t1

2/t1+v0t1/t1 =0 (6.18) şi [(6a23t+2a22)/t2

2]i=0 = [( 12a14t2+6a13t+2a12)/t12]i=1 (6.19)

sau 2a22/t2

2+12a14/t12+6a13/t1

2+a0t12/t1

2=0 (6.20) 2) Pentru t=1 ( punctul de apropiere) În acest punct viteza şi acceleraţia trebuie sã coincidã cu viteza şi acceleraţia din punctul iniţial al urmãtoarei porţiuni a traiectoriei. Pentru punctul examinat avem ; h2(1)=a23+a22+a21+a20 (6.21) v2(1) = h2(1)/t2 = [( 3a23t2+2a22t+a21)]i=1 = [ 3a23+2a22+a21]/t2 (6.22) a2(1) = h2(1)/t2

2 = [(6a23t+2a22)/t22]i=1 = [6a23+2a22]t2

2 (6.23) În descrierea ultimei porţiuni a traiectoriei se foloseşte un polinom de gradul 4. ( ) 01

22

33

44 nnnnnn atatatatath ++++= , t∈[0 , 1] (6.24)

In aceasta egalitate se înlocuieşte t cu t`= t-1 şi se examineazã dependenţa de noua variabilã t` şi faţã de aceasta vom efectua deplasarea în timp normat. Ddacã variabila t aparţine intervalului [0 , 1] , atunci variabila t` aparţine intervalului de [-1 , 0] . Astfel , egalitatea (6.24) va avea forma :

( ) 012

23

34

4 ```` nnnnnn atatatatath ++++= , t∈[0 , 1] (6.25) In final vom gãsi viteza şi acceleraţia pe ultima porţiune:

( ) ( )v tnh n t

tnan t an t an t an

tn= = + + +` ` ` ` `4 4 3 3 3 2 2 2 1 , (6.26)

( ) ( )a tnh n t

tn

an t an t antn

` ` ` ` `= = + +2

12 4 6 3 2 22 , (6.27)

1. Pentru t`= 0 (punctul final al porţiunii examinate a traiectoriei). În concordanţã cu condiţiile limitã din acest punct avem:

Page 168: Curs Roboti Industriali

hn(0) = an0 = θf , (6.28) vf =h`n (0)/ tn = an1 /tn , (6.29) De aici rezultã: an1 = vf tn . Mai departe , af =h`n(0) / tn

2 =2an2 / tn2 (6.30)

şi în final : an2 =aftn

2 / 2. 2. Pentru t`=1

In concordanţã cu condiţiile limitã din punctul de apropiere obţinem : hn(-1)=an4 - an3 + [ aftn

2 / 2 ] -vf tn+ θf = θ2 (1) (6.31)

hn(-1)/tn= [ ]n

nfnfnn

n

nnnnt

tvtaaatt

atatata +−+−

−=+++ =

23412

234

341`

`2`3`4

(6.32) ( ) [ ]

n

nfnn

n

nn

n

nt

taaa

itatata

th 2

342

232

42

612

1

2Á6Á121 +−

−=

++− == (6.33) Condiţiile de continuitate a vitezei şi a acceleraţiei din punctul de apropiere se noteazã în modul urmãtor : [h`2(1) / t2 ]=[ h`n(-1) / tn ] şi [h`2(1) / t2

2 ]=[h`n(-1) / tn2 ] , (6.34)

sau

=+++−+−

2

21

2

22

2

2322

34 2334ta

ta

ta

ttvtaaa

n

nfnfnn 0 , (6.35)

şi

=++−+−2

2

222

2

232

234 26612

ta

ta

t

taaa

n

nfnn

0 (6.36)

δ1 = θ1 -θ0 = h1 (1)-h1(0) = a14 + a13 +[a0 t12 / 2]+ v0t1 , (6.37)

δ2 = θ2 -θ1 = h2 (1)-h2(0) = a23 + a22 + a21 , (6.38) δn = θf -θ2 = hn (0)-hn (-1) =-an4 + an3 - [af tn

2 / 2] + vf tn .(6.39)

Page 169: Curs Roboti Industriali

Toţi coeficienţii necunoscuţi din polinoame ce descriu schimbarea variabilei articulare pot fi determinati prin rezolvarea în comun a ecuaţiilor (6.37) , (6.18) , (6.20) , (6.38) , (6.39) şi (6.35) .

Prezentând acest sistem de ecuaţii în forma matricealã , vom obţine : y =Cx , (6.40) unde

⎥⎥

⎢⎢

−+

+−−−−−−=

nfta

nf

fnfta

tva

vtaavtatvy

nf

2

2001010212

210

,,

,,,,,

δ

δδ(6.41)

⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢

=

1100000000

000011100000000000000011

2222

22

222

22

212

1

211

12662

43321

2126

143

nn

nn

t

tttt

ttttt

tt

ttt

C , (6.42)

x = ( a13 , a14 , a21 , a22 , a23 , an3 , an4 , )T (6.43) Astfel , problema planificãrii traiectoriei conduce la rezolvarea ecuaţiei vectoriale (6.40) :

∑=

=t

jjiji xcy

1 , (6.44)

sau x = C-1y. (6.45) Structura matricei C permite sã se gaseascã uşor coeficienţii necunoscuţi. Pe lângã aceasta , matricea inversã C existã întotdeauna numai dacã intervalele de timp ti (când i = 1,2,...n ) sunt pozitive . Rezolvând ecuaţia (6.45) obţinem toţi coeficienţii necunoscuţi ai polinoamelor care descriu traiectoria coordonatei articulare “j” . Intrucât pentru polinomul ce descrie ultima porţiune a traiectoriei a fost efectuatã înlocuirea ce

Page 170: Curs Roboti Industriali

porneşte ( ce mutã ) intervalul schimbãrii timpului normat , atunci , dupã determinarea coeficienţilor ani din ecuaţia (6.45) , este necesar sã se efectueze înlocuirea inversã , ce consta în substituirea t`=t-1 în egalitatea (6.25). Ca rezultat obţinem : hn(t)=an4 t4 +(-4an4 +an3 )t3 +(6an4 -3an3 +an2 )t2 +(-4an4 +3an3 -2an2 +an1 )t+(an4 -an3+an2-an1+an0) , t∈[0 , 1] (6.46) Pentru prima porţiune a traiectoriei obţinem : h1(t)=[δ1 -v0t1 -(a0t1

2 / 2)- o ]t4 +ot3 +[a0t12 / 2]t2

+(v0f1)t+θo , v1 =(h`1(1) / t1)= (4δ1 / t1 ) -3v0 -a0t1 -(o /t1 ) a1 =(h`1(1) / t1

2 )=(12δ1 / t1 )-(12v0 / t1 )-5ao-(6o / t12 ).

Pentru a douã porţiune a traiectoriei obţinem : h2(t)=[δ2-v1t2 - (a1 t2

2 / 2 )]t3+[a1t22 / 2]t2+(v1t2)t+θ1.

v2=[h`2(1) / t2]=(3δ2 / t2)-2v1 -(a1t2 / 2) , (6.47) a2=[h`2(1) / t2

2]=(6δ2 / t22) - (6v1 / t2)-2a1t2 .

Pentru ultima porţiune a traiectoriei obţinem : hn(t)=[9δn -4v2tn - (a2tn

2 / 2)-5vftn+(aftn2 / 2)]t4+[-

8δn+5vftn-(aftn2 / 2)+3v2tn]t3+ +[a2tn

2 / 2]t2+ (v2tn)t+θ2. (6.48) unde o=f/g , şi f=2δ1[4+(2tn /t2 )+(2tn / t1 )+(3t2 / t1)]- (δ2t1 / t2)[3+(tn / t2)]+(2δnt1 / tn)-v0t1[6+(6t2 / t1)+ +(4tn / t1 )+(3tn / t2 )]-vft1 -a0t1tn[(5/3)+(t1 / t2)+(2t1 / tn)+(5t2 / 2tn)]+aft1tn , g=(tn / t2)+(2tn / t1)+2+(3t2 / t1)

Calculul traiectoriei in cazul interpolãrii cu polinoame pentru traiectoria 3-5-3 .

Prima porţiune a traiectoriei este deescrisã de : h1(t)=[δ1 -v0t1 -(a0t1

2 / 2)]t3+[a0t12 / 2]t2+(v0t1 )t+θ0 ,

v1=[h`1(1) / t1]=(3δ1 / t1)-2v0 -(a0t1 / 2) , (6.49) a1=[h`1(1) / t1

2] = (6δ1 / t12)-(6v0 / t1 )-2a0 .

A douã porţiune a traiectoriei :

Page 171: Curs Roboti Industriali

h2(t)=[6δ2 -3v1t2 -3v2t2-(a1t22 / 2)+(a2t2

2 / 2)]t5+[-15δ2+8v1

t2+7v2t2+(3a1t22 / 2 )-a2t2

2]t4+[10δ2-6v1t2-4v2t2-(3a1t22 / 2)+(a2t2

2 / 2)]t3+[a1t2

2 / 2]t3+[a1t22 / 2]t2+(v1t2)t+θ1.

v2=[h`2(1) / t2]=(3δn / tn)-2vf+(aftn / 2), (6.50) a2=[h`2(1) /t2

2]=(-6δn / tn2)+(6vf / tn)-2af.

Ultima porţiune a traiectoriei : hn(t)=[δn-vftn+(aftn / 2)]t3+(-3δn+3vftn-aftn

2)t2+[3δn-2vftn+(aftn

2 / 2)]t+θ2. (6.51) Calculele analoage se utilizeaza la calcularea traiectoriei în alte situaţii.

6.3.2.Descrierea traiectoriei cu funcţii “spline” cubice. Interpolarea funcţiei date cu funcţii polinomiale cubice care asigurã continuitatea primelor douã derivate în punctele nodale se numeşte funcţie splinã cubicã. Un asemenea mijloc de interpolare asigurã o precizie suficientã aproximaţiei şi netezimea funcţiei de aproximare . În general splina este în fiecare punct un polinom de gradul k cu derivatele “k-1” continui în punctele nodale. În cazul “splinelor” cubice continuitatea primei derivate asigurã continuitatea vitezei , iar continuitatea celei de-a douã derivate semnificã continuitatea acceleraţiei . Funcţiile splinele cubice au un şir întreg de calitãţi . În primul rând acestea sunt polinoame de grad minim care asigurã continuitatea vitezei şi acceleraţiei . În al doilea rând gradul mic al polinoamelor utilizate scurteazã timpul de calcul. La folosirea splinelor cubice fiecare din cele cinci porţiuni ale traiectoriei se descrie cu un polinom ce are aspectul: hj(t)=aj3t3+aj2t2+aj1t+aj0 , j=1,2,3,4,n (6.52) când τj-1 ≤ τ ≤ τj t∈[0 , 1] , aij semnifica coeficientul necunoscut i ce corespunde porţiunii j a traiectoriei, porţiunea n

Page 172: Curs Roboti Industriali

a traiectoriei fiind ultima . Utilizarea funcţiilor splinelor cubice presupune existenţa a cinci porţiuni ale traiectorii şi şase puncte nodale . Totuşi în raţionamentele noastre anterioare noi am folosit numai patru puncte nodale : punctul iniţial , punctul de pornire , punctul de apropiere şi punctul final . Pentru a asigura un numãr suficient de condiţii limitã pentru determinarea coeficienţilor necunoscuti aji sunt necesare încã douã puncte nodale. Aceste puncte nodale suplimentare se pot alege pe segmentul traiectoriei între punctul de pornire şi punctul de apropiere . Nu este necesar sã se cunoascã precis valoarea coordonatei din aceste puncte , este suficient sã se indice momentele de timp şi sã se cearã continuitatea vitezei şi acceleraţiei. În acest mod sistemul ales de polinoame de interpolare trebuie sã satisfacã urmãtoarele condiţii limita : 1) coordonata trebuie sã ia valorile date în punctul iniţial , în punctul de plecare , în punctul de apropiere şi în punctul final ; 2) viteza şi acceleraţia trebuie sã fie continui în toate punctele nodale . Valorile acestor variabile sunt cunoscute pânã la începerea calcului traiectorie planificate . Prima şi a doua derivatã ale polinoamelor în raport cu timpul real sunt egale în mod corespunzator cu : vj(t)=[h`j(t) / tj]=3aj3t2+2aj2t+aj1 , j=1,2,3,4,n, (6.53) aj(t)=[h`j(t) / tj

2]=(6aj3t+2aj2) / tj2 , j=1,2,3,4,n, (6.54)

unde tj este intervalul de timp real consumat la parcurgerea porţiunii j a traiectoriei . Poziţia, viteza şi acceleraţia ce au fost date în punctul iniţial şi în cel final ale traiectoriei ca şi poziţia din punctul de pornire şi de apropiere determinã pe deplin coeficienţii polinoamelor h1 (t) şi hn (t) ce descriu porţiunea iniţialã şi cea finalã a traiectoriei . Când se cunosc h1 (t) şi hn (t) coeficienţii polinoamelor h2 (t) , h3 (t) , h4(t) se determinã din condiţiile continuitãţii în punctele nodale . Prima porţiune a traiectoriei este descrisã de polinomul : h1(t)=a13t3+a12t2+a11t+a10 . (6.55) Când t = 0 în concordanţã cu condiţiile iniţiale avem :

Page 173: Curs Roboti Industriali

h1(0)=a10=θ0 (θ0 este dat ) , (6.56)

v0 = 1

11

1

1 )0(`t

at

h = . (6.57) De aici obţinem a11=v0t1. În continuare

a0 = 21

122

1

1 2)0``(ta

th = (6.58)

rezulta cã : a12 = a0t1

2 / 2 . Când t = 1 în concordanţã cu condiţia aplicata poziţiei în punctul de pornire , avem : h1(1) = a13+ (a0t1

2 / 2)+ v0t1+ θ0-= θ1 (6.59) Din aceasta este uşor de dedus cã : a13-o1-v0t1 -(a0t1

2 / 2 ) , (6.60) unde δ1=θi - θi-1. În acest mod prima porţiune a traiectoriei este determinata complet h1(t) = [δ1 -v0t1 -(a0t1

2 / 2)]t3+[a0t12 / 2]t2+(v0t1) +θ0 (6.61)

În concordanţã cu expresia (6.56) viteza şi acceleraţia în punctul final al primei porţiuni a traiectoriei sunt egale cu :

( )20

323

11 10

1

1

1

102

210

1

1

1 2 tatt

tv

th vv

ta

−−===−⎥⎦

⎤⎢⎣

⎡⎟⎠⎞

⎜⎝⎛−

δδ

, (6.62)

( )0

666261

1Á 21

02

1

12

1

102

1012

1

1 aa tv

tttvta

th −−=== −− δδ

,

(6.63) Aceastã vitezã şi acceleraţie trebuie sã coincidã în mod corespunzãtor cu viteza şi cu acceleraţia din punctul iniţial al urmãtoarei porţiuni a traiectoriei. Ultima porţiune a traiectoriei este descrisa de polinomul : hn(t)= an3t3+ an2t2+ an1t+ an0. (6.64) Folosind condiţiile limitã pentru t = 0 şi t = 1 , obţinem : hn(0)= an0= θn . (θn este dat), (6.65)

Page 174: Curs Roboti Industriali

hn(1)= an3+ an2+ an1+ θn= θf , (6.66) h`n(1)= vf= (3an3+2an2+ an1 ) / tn , (6.67) [h`n(1) / tn

2]= af= (6an3+2an2) / tn2 (6.68)

Rezolvând aceste ecuaţii în raport cu coeficienţii necunoscuţi an3 , an2 , an1 , obţinem : hn(t)=[δn -vftn +(aftn

2 / 2)]t3 +(-3δn+3vftn-aftn2)t2+[3δn-

2vftn+(aftn2) / 2]t+θn ,

(6.69) unde δn= θf - θn. A douã porţiune a traiectoriei este descrisã de polinomul: h2(t)=a23t3+a22t2+a21t+a20 . (6.70) Din condiţiile continuitãţii pentru poziţie , viteza şi acceleraţie în punctul de pornire gãsim : h2(0)=a20=θ1 , (θ1 este cunoscut ) (6.71) v1=h`2(0) / t2=a21 / t2 =h`1(1) / t1. (6.72) De aici rezultã a21 = v1t2 , a1= h`2(0) / t2

2 =(2a22) / t22=h`1(1) / t1

2 (6.73) şi urmeazã : a22=(a1t2

2) /2. Luând în consideraţie coeficienţii gãsiţi se poate nota h2(t)= a23t3+ [(a1t2

2) / 2]t2+ (v1 t2)+ θ1 , (6.74) unde v1=(3δ1 )/ t1 -2v0-(a0t1 )/ 2 , a1=(6δ1) /t1

2-(6v0) /t1 -2a0 Rãmâne sã se determine coeficientul a23. Cu ajutorul egalitatii (6.69) vom determina viteza şi acceleraţia când t = 1 , care trebuie sã coincidã în mod corespunzãtor cu viteza şi cu acceleraţia din punctul iniţial al porţiunii urmãtoare a traiectoriei : h2(1)= θ2= a23+ (a1t2

2)/ 2+ v1t2+ θ1 , (6.75) h`2(1) / t2= v2= (3a23+ a1t2

2+ v1t2) / t2= v1+ a1t2+ (3a23)/ t2 , (6.71) h``2(1) /t2

2= a2= (6a23+a1t22) /t2

2=a1+(6a23) / t22. (6.76)

Observãm cã fiecare din mãrimile θ2 , v2 şi a2 depind de valoarea a23 . A treia porţiune a traiectoriei este descrisã de polinomul : h3(t) = a33t3+ a32t2+ a31t+ a30 . (6.77)

Page 175: Curs Roboti Industriali

În punctul t = 0 , din concordanţa cu condiţiile de continuitate a poziţiei, a vitezei şi a acceleraţiei avem : h3(0) = a30= θ2= a23+ (a1t2

2) / 2+ v1t2 + θ1 , (6.78) v2 = [h3(0)] / t3= a31 / t3 = h2(1) / t2. (6.79) În acest mod , a31 =v2t3. In continuare , a2 = h3(0) / t3

2= (2a32) / t32 = h``2(1) / t2

2 . (6.80) De aici vom obţine : a32 =(a2t3

2) / 2 . Substituind valorile gãsite (obţinute) ale coeficienţilor din expresia (6.73), obţinem : h3(t) =a33t3+[(a2t3

2) / 2]t2 +v2t3t+θ2 . (6.81) Vom determina în punctul t = 1 valorile vitezei şi acceleraţiei care trebuie sã coincidã cu caracteristicile corespunzãtoare din punctul iniţial al porţiunii urmãtoare : h3(1)= θ3= θ2+ v2t3+ [(a2t3

2) / 2]+a33 , (6.82) [h`3(1) / t3]= v3 [3a33+ a2t3

2 + v2t3] /t3= v2+a2t3+(3a33) / t3 , (6.83) [h``3(1) /t3

2]= a3= (6a33+ a2t32]/ t3

2= a2+(6a33) /t32. (6.84)

Observãm cã fiecare din mãrimile θ3 , v3 şi a3 depinde de a33. A patra porţiune a traiectoriei este descrisã de polinomul h4(t)= a43t3 + a42t2+a41t + a40 . (6.85) Folosind condiţiile aplicate poziţiei în punctul de apropiere ca şi condiţiile de continuitate a vitezei şi acceleraţiei din acest punct , obţinem : h4(0)= a40= θ3= θ2+v2t3+ (a2t3

2) / 2+a33 , (6.86) v3=h`4(0)/ t4=a41 / t4 = h`3(1) / t3, (6.87) care dã :

a41= v3 t6. In continuare : a3= h``4 (0) /t4

2 = (2a42) / t42= h``3(1) /t2

2. (6.88) De aici obţinem: a42=(a3t4

2) / 2. Substituind expresiile gãsite pentru coeficienţii din egalitatea (6.80), obţinem :

Page 176: Curs Roboti Industriali

h4(t)= a43 t3 +[(a3t42) / 2 ]t2+ (v3t4)t+ θ3 , (6.89)

unde θ3 , v3 şi a3 se determinã în mod corespunzator cu egalitãţile (6.87) , (6.88) şi (6.89) , iar coeficienţii a23 , a33 şi a43 sunt ca şi înainte necunoscuţi. Cu ajutorul acestor coeficienţii trebuie determinate în intregime polinoamele ce descriu cele trei porţiuni de mijloc ale traiectoriei. Pentru aceasta ne vom folosi de condiţiile din punctul limita dintre a patra porţiune şi ultima porţiune a traiectoriei : h4(1)= a43+ (a3t4

2) / 2 + v3t4 + θ3= θ4 , (6.90) h`4(1)/t4= (3a43) /t4 + a3 t4 + v3 = v4 =(3δn) / tn -2vf + (aftn)/ 2 (6.91) h``4(1) / t4

2 =ba43 / t42 + a3 = a4 =(-6δn)/ tn

2 +(6vf)/ tn -2af, (6.92) Din aceste ecuaţii se pot gãsi valorile coeficienţilor necunoscuţi a23 , a33 şi a43. Ca rezultat toate polinoamele vor fi determinate în întregime. In continuare este prezentat aspectul final al acestor polinoame : h1 (t) = [δ1 -v0t1 -(a0t2

2 / 2)]t3+ [(a0t12) / 2]t2+ (v0t1)t+ θ0 , (6.93)

v1=(3δ1) / t1 -2v0 -(a0t1 ) / 2 ; (6.94) a1=(6δ1) / t1

2-(6v0 ) / t1 -2a0 ; (6.95) h2(t) =a23t3+[(a0t2

2) / 2]t2+ (v1t2)t+ θ1 , (6.96) θ2= a23 +(a1t2

2) / 2 + v1t2+ θ1 , (6.97) v2= v1+ a1t2 + (3a23) / t2 ; (6.98) a2= a1+ (6a23) / t2

2 ; (6.99) h3(t) = a33 t3 + [(a2t3

2) / 2]t2 + (v2t3)t + θ2 , (6.100) θ3 = θ2 +v2t3 + [(a2t3

2) / 2]+ a33 , (6.101) v3 = v2 + a2t3 + [(3a33) / t3]; a3 = a2+(6a33) / t3

2 , (6.102) h4(t)= a43t3 + [(a3t4

2) / 2]t2+ (v3t4)t + θ3 , (6.103) hn(t) = [δn -vftn +(aftn

2) / 2]t3+ (-3δn+3vffn -aftn2)t2 + [3δn -

2vftn+(aftn2) / 2]t + θ4 ,

(6.104)

Page 177: Curs Roboti Industriali

v4 = [(3δn) / tn] -2vf+ [(aftn) / 2]; a4 = [(-6δn) / tn2]+ [(6vf) / tn]-2af

; (6.105) a23 = t2

2(x1/D) , a33 = t32(x2/ D) , a43 = t4

2(x3/D) , (6.106) În plus: x1 = k1 (u-t2) + k2(t4

2-d) - k3 [(u-t4)d + t42(t4-t2)] , (6.107)

x2 = -k1 (u+t3) + k2(c-t42)+ k3 [(u-t4)c+ t4

2(u-t2)] , (6.108) x3 = k1 (u-t4) + k2(d-c) +k3[(t4-t2)c -d(u-t2)] , (6.109) D = u(u-t2)(u-t4) , (6.110) u = t2 + t3 + t4 , (6.111) k1 = θ4- θ1 -v1u -a1(u2/2) , (6.112) k2 = [v4- v1 -a1 u -(a4-a1)u/2] / 3 (6.113) k3 = (a4-a1) / 6 , (6.114) c = 3u2 -3ut2 + t2

2 , (6.115) d = 3t4

2 + 3t3t4 + t32 , (6.116)

În acest mod se demonstreazã cã dacã sunt cunoscute poziţiile din punctul iniţial şi din cel final , din punctul de pornire şi din cel de apropiere ca şi timpul mişcãrii pe fiecare din porţiunile traiectoriei , cu acestea este definitã complet funcţia splinã cubicã ce dã regula de variaţie a coordonatelor articulare. In acest subcapitol am examinat constructia funcţiei “splinei” cubice pentru o traiectorie cu cinci puncte nodale.

6.4. Planificarea traiectoriilor în coordonate carteziene

În subcapitolul anterior au fost examinate modurile de construcţie a traiectoriilor în spaţiul variabilelor articulare bazat pe utilizarea polinoamelor de interpolare de ordin mic. Deşi coordonatele articulare determinã complet poziţia şi orientarea EE în spaţiul cartezian, coordonatele articulare nu sunt întotdeauna utile. Aceasta este condiţionatã de faptul ca majoritatea coordonatelor articulare ale manipulatorului nu sunt ortogonale şi nu permit schimbarea independentã a poziţiei şi orientãrii EE. Strategia de conducere a RI se prezintã de obicei sub forma unei succesiuni a punctelor nodale în spaţiul

Page 178: Curs Roboti Industriali

operaţional prin care trebuie sã treacã EE. În legaturã cu aceasta este necesar un aparat matematic ce permite sã se descrie atât punctele nodale prin care trebuie sã treacã EE cât şi curba spaţialã ( traiectoria ) ce uneşte aceste puncte. Paul a propus un mijloc de planificare a traiectoriei EE în spaţiul operaţional care constã dintr-o succesiune de porţiuni rectilinii. Între porţiunile rectilinii ale traiectoriei mişcarea se realizeazã cu ajutorul interpolãrii pãtratice. Porţiunile rectilinii ale traiectoriei mişcãrii sunt obţinute ca rezultat al rezolvãrii problemei cinematice inverse a punctelor din spaţiul variabilelor articulare. Metoda propusa de Paul a fost dezvoltatã şi perfecţionatã de Tailor pe seama folosirii unui aparat cu cuaterniomi pentru descrierea orientarii EE. Proprietãţile cuaterniomilor au permis sã se simplifice calculul pentru descrierea mişcãrii de rotaţie a EE între punctele nodale. Toate abordãrile menţionate privind planificarea traiectoriilor rectilinii în spaţiul operaţional le vom examina în urmãtoarele douã subcapitole.

Page 179: Curs Roboti Industriali

6.4.1 Metoda ce foloseşte matricea transformãrii omogene.

În sistemele de programare a mişcarii roboţilor mişcarea manipulatorului poate fi descrisã ca o succesiune de puncte nodale în spaţiul operaţional. Fiecare dintre aceste puncte este descris de matricea transformãrii omogene care face legãtura între sistemul de coordonate al EE şi sistemul fix. Valorile coordonatelor articulare ce corespund poziţiilor EE în punctele nodale ale spaţiului operaţional se obţin prin rezolvarea problemei cinematice inverse. În continuare pentru a realiza conducerea EE traiectoria între douã puncte nodale succesive în spaţiul variabilelor articulare se interpoleazã cu un polinom de gradul doi. Ca rezultat conducerea RI se realizeazã astfel încât EE sã se mişte pe o linie dreaptã ce uneşte aceste puncte. Avantajul unui asemenea mijloc de conducere este posibilitatea de a manipula obiecte aflate în mişcare. Desi poziţia EE din punctele nodale este descrisã în întregime de matricea de transformare omogenã. Paul a propus sã se foloseasca pentru realizarea trecerii dintr-un punct nodal în altul o translaţie şi douã rotaţii În general poziţia pe care trebuie sã o ocupe RI se determinã cu urmãtoarea ecuaţie principala : 0T6

6Tunealta = 0Cbaza(t)bazaPobiect (6.117) unde ,

0T6 este matricea pentru transformarea omogenã ce are dimensiunea 4x4 şi care descrie poziţia şi orientarea EE în sistemul de bazã;

6Tunealta este matricea transformãrii omogne ce ar dimensiunea 4x4 şi care descrie poziţia şi orientarea uneltei în raport cu sistemul de coordonate al EE. Mai precis, aceastã matrice descrie poziţia pãrţi uneltei ce acţioneazã direct şi a cãrei mişcare trebuie condusã;

Page 180: Curs Roboti Industriali

0Cbaza(t) este matricea transformãrii omogene ce are dimensiunea 4x4 şi care este funcţie de timp. Aceasta matrice descrie poziţia sistemului de lucru al coordonatelor obiectului manipulat în raport cu sistemul de baza al coordonatelor;

bazaPobiect este matricea transformãrii omogene ce are dimensiunea 4x4 şi care descrie poziţia şi orientarea datã a obiectului ce se manipuleazã în momentul apucãrii lui şi în raport cu sistemul de lucru.

Dacã matricea 6Tuneltã este inclusã deja în matricea 0T6 , în ecuaţia (6.117) , matricea 0T6 , în ecuaţia (6.117) matricea 6Tinstrument este unicã şi ea poate fi omisã. Dacã sistemul de lucru al coordonatelor obiectului coincide cu sistemul de bazã al coordonatelor manipulatorului , atunci 0Cbaza(t) reprezintã o matrice unicã în oricare moment de timp. Se poate observa cã partea stângã a ecuaţiei (6.117) descrie poziţia şi orientarea EE în momentul apucãrii obiectului , în timp ce partea dreaptã a acestei ecuaţii descrie poziţia şi orientarea pãrţii din obiectul de manipulat supusã apucãrii. În acest mod putem determina matricea 0T6 care stabileşte configuraţia RI, necesarã pentru realizarea corectã a apucãrii obiectului sub forma : 0T6=0Cbaza(t) bazaPobiect [6Tunelata]-1 (6.118) Dacã s-ar fi putut sã se calculeze destul de repede elementele matricei 0T6 şi apoi sã se determine variabilele articulare, aceasta ar fi fost suficient pentru realizarea conducerii manipulatorului.

6.4.2. Traiectoria cu abateri limita

Modul descris mai sus de formare a traiectoriei în coordonate carteziene cere un consum mare de timp pentru calcul. Pe lângã aceasta în timp real este prea complicat sã se realizeze evaluarea limitelor mişcãrii RI în spaţiul coordonatelor interne. Existã un numãr de posibilitãţi pentru a înlãtura aceste

Page 181: Curs Roboti Industriali

probleme. Este posibil ca din timp (pânã la realizarea mişcãrii ) sã se primeascã şi sã se înregistreze în memoria calculatorului rezolvarea problemei cinematice inverse simulând funcţionarea algoritmului.

Realizarea mişcãrii date, în acest caz, nu este dificilã întrucât succesiunea punctelor de comandã va fi cititã din memoria calculatorului . O altã cale posibila constã în calcularea din timp a valorilor coordonatelor printr-o succesiune oarecare a punctelor fiecãreia dintre porţiunile traiectoriei şi apoi sã se realizeze interpolarea cu polinoame de grad inferior. Dificultatea unei asemenea abordãri constã în faptul cã numãrul punctelor intermediare necesare pentru realizarea mişcãrii ce este destul de aproape de o mişcare rectilinie, depinde de mişcarea realizatã. Alegerea aprioricã a intervalului este destul de micã pentru a asigura mici abateri de la mişcarea rectilinie şi conduce la o mare crestere a volumului calculelor preliminare şi a resurselor folosite ale memoriei. Având în vedere toate acestea Tailor a propus un mijloc de planificare a traiectoriilor în spaţiul variabilelor articulare denumit traiectorii cu abateri limitate .

În etapa calculelor preliminare, aceastã metodã permite alegerea unui numãr de puncte intermediare suficient pentru ca abaterile traiectoriei planificate a EE de la mişcarea rectilinie sã nu depãşeascã limitele stabilite . În cazul unei asemenea abordãri mai întâi se calculeazã vectorii coordonatelor articulare “q” , ce corespund punctelor modale ale traiectorei date în spaţiul cartezian . Apoi vectorii calculaţi se folosesc în calitate de puncte nodale în procedura de construire a traiectoriei de schimbare a variabilelor analoagã cu procedura folositã la construirea traiectoriei în coordonate carteziene. Mişcarea din punctul [q0 ] în punctul [q1 ] este descrisã cu ecuaţia : q(t) = q1-(T1-1)/T1Δq1 (6.119) iar la trecerea de la porţiunea dintre [qo]şi [q1] la porţiunea dintre [q1] şi [q2] mişcarea se stabileşte cu formula q(t`) = q1[(τ-t`)2/4τT2] Δq1+ [(τ-t`)2/4τT2] Δq2 (6.120)

Page 182: Curs Roboti Industriali

unde Δq1= q1-q0 , Δq2= q2-q1 , T1 , T2 t` şi τ au acelaşi sens ca şi mai sus. Aceste ecuaţii asigurã o viteza constantã pentru mişcarea dintre punctele nodale în spaţiul coordonatelor articulare şi o trecere linã cu acceleraţie constantã de la o porţiune a traiectoriei la altã porţiune .

Totusi, în acest caz, sistemul de coordonate al EE poate sã se abatã mult de la traiectoria rectilinie stabilitã. Mãrimea abaterii se caracterizeazã prin diferenţa dintre Fj(t) ce descrie poziţia EE şi care corespunde punctului qj(t) în spaţiul variabilelor articulare şi Fd(t) ce descrie poziţia EE în momentul t când al mişcãrii sale pe traiectoria rectilinie stabilitã în spaţiul cartezian. Abaterile de la poziţie şi de la orientare se stabilesc conform cu formulele: δp = [Pj(t)-Pd(t)] (6.121) δp = | partea unghiularã Rot(n,ϕ) | = |ϕ| , unde Rot(n,ϕ) = R-1

d(t)Rj(t) Stabilind abaterile maxime admise pentru poziţie şi orientare δMAX

R şi δMAXP vom cere realizarea condiţiilor :

δp<δMAXP şi δR<δMAX

R (6.122) Pentru aceasta este necesar sa se aleagã un numãr suficient de puncte intermediare între douã puncte nodale succesive. Modul propus de Taylor pentru construirea unor traiectorii cu abateri limitate este în esenţã un algoritm de construire succesivã a punctelor intermediare ce asigurã realizarea condiţiilor (6.122). Acest algoritm posedã o mare convergenţã, deşi setul de puncte intermediare este format cu ajutorul algoritmului şi nu este minim . Acest algoritm este prezentat mai jos.

Algoritmul de formare a traiectoriilor cu abateri limitate

În cazul abaterilor maxime stabilite δMAXR şi δMAX

P corespunzãtoare pentru poziţia şi orientarea nodale stabilite Fi ale traiectoriei în spaţiul cartezian, acest algoritm formeazã succesiunea punctelor nodale intermediare în spaţiul variabilelor

Page 183: Curs Roboti Industriali

articulare, succesiunea în care abaterile sistemului de coordonate al EE de la traiectoria rectilinie stabilitã în spaţiul cartezian nu depãşesc limitele stabilite. Etapele algoritmului sunt : S1. Calcularea valorilor variabilelor . Stabiliti vectorii coordonatelor [q0] şi [q1] , ce corespund punctelor [F0] şi[ F1] . S2. Calcularea punctului mijlociu în spaţiul variabilelor articulare . Calcularea punctului mediu [qm] în spaţiul variabilelor qm = q1-0,5 Δq1 unde Δq1= q1-q0 şi calcularea poziţiri [Fm] a sistemului de coordonate a EE care corespunde valorilor coordonatelor [qm] . S3. Calcularea punctului mijlociu în spaţiul cartezian. Calcularea punctul mijlociu corespunzãtor [Fc] al traiectoriei în spaţiul cartezian. Pc = (P0+P1)/2 , Rc unde Rot(n,θ)=R-1

0R1 S6. Calcularea abaterii . Calcularea abaterii [Fm] de la δp=|pm-pc| , δR = | partea unghiularã Rot(n,ϕ)=R-1

cRm| = |ϕ| ( mai corect este sã se scrie δR = | partea unghiularã Rot(n, ϕ)|=|ϕ| , unde Rot(n, ϕ) = R-1

cRm

S5. Verificarea condiţiei abaterilor . Dacã δp<δMAX încheiaţi funcţionarea algoritmului. În caz contrar calculaţi vectorul [qc] al coordonatelor ce corespund punctului [Fc] al traiectoriei carteziene şi realizati paşii S2-S5 succesiv pentru douã subintervale înlocuind [F1]cu [Fc] şi [Fc] cu [F0]. Acest algoritm are o convergenţã destul de rapidã .

De regulã la o singurã iteraţie abaterea maximã se micşoreaza aproximativ de 4 ori . Tailor a cercetat viteza convergentei algoritmului prezentat pentru un RI cilindric (douã grade de libertate de translaţie şi douã de rotaţie ). S-a dovedit cã la o singurã iteraţie abaterea maximã se micşoreazã de maximum 4 ori . Astfel metoda de construire a traiectoriilor cu abateri limitate constã în formarea unei succesiuni de puncte intermediare în spaţiul variabilelor care sã asigure mişcarea EE

Page 184: Curs Roboti Industriali

în spaţiul cartezian şi în lungul traiectoriei. Aceasta abatere de la traiectoria rectilinie stabilitã nu depãşeste limitele stabilite .

Page 185: Curs Roboti Industriali

7. METODĂ EXPERIMENTĂ PENTRU DETERMINAREA CUPLULUI MOTOR LA

ROBOŢII INDUSTRIALI

7.1. Robotul RIP 6,3 Intrucât cercetãrile experimentale au fost efectuate pe un robot de tip RIP 6,3 în cele ce urmeazã vom proceda la descrierea acestuia. Robotul industrial RIP 6,3 este destinat automatizării proceselor tehnologice din industrie cu condiţii grele de muncă. Acesta poate executa diverse operaţii tehnologice precum : sudura continuă în mediu de gaz protector , deservire de maşini-unelte şi utilaje , operaţii generale de manipilare piese sau scule.

Page 186: Curs Roboti Industriali

Fig.7.1 Vedere generală a robotului RIP 6,3

Page 187: Curs Roboti Industriali

RIP 6,3 asigură manevrarea unei sarcini de maxim 6,3 daN pe o traiectorie programată de echipamentul de conducere a robotului ``CONTROL RE``. RIP 6,3 are cinci grade de libertate : cinci rotaţii , dintre care trei ale corpului şi braţelor vertical şi orizontal ale robotului ( gradele I , II , III ) şi două ale mâinii ( gradele IV şi V ). Aceasta construcţie permite o mare mobilitate în interiorul spaţiului de lucru de formă toroidală ( gradul I are 270o cu secţiunea transversală). Spaţiul de lucru este limitat de : - constructiv ( opritori şi interblocãri mecanice ) - electric ( limitatori de capăt de cursă ) - software ( programe de bază ale unităţii centrale din echipamentul de conducere ). Valorile maxime ale unghiurilor de lucru indicate corespund limitelor electrice. Repetabiltatea în poziţionarea sarcinii este de +/- 0,50 mm măsurată la flanşa portsculă. Acţionarea gradelor de mobiltate se face electric , prin intermediul unor motoare de curent continuu cu rotor disc. Acţionarea electrică a motoarelor, comanda, supravegherea şi protecţia în caz de avarie a robotului sunt asigurate de către echipamentul ``CONTROL RE``. Parametrii programabili ai robotului sunt viteza şi poziţia pe fiecare grad de mobilitate. În timpul funcţionării , aceştia sunt în permanenţă urmăriţi şi reglaţi de echipamentul de conducere , prin informaţii primite de la tahogenerator (viteza axului motor ) şi traductorul incremental de poziţie ( poziţia relativă a axului motor în raport cu poziţia de sincronizare ).

7.1.1.Caracteristici tehnice - Capacitatea maximă de manipulare ( inclusiv dispozitivul de prindere piesă ) ………………………………………. 6,3 daN - Soluţia cinematică...............................................robot articulat - Numărul gradelor de mobilitate .................................……....5

Page 188: Curs Roboti Industriali

- Dimensiuni de gabarit ale spaţiului de lucru : - în secţiune transversală ...........................630 x 750 mm - în plan orizontal......................……..........................270o - Tipul traiectoriei programate......................…....punct cu punct, continuu - Repetabilitate............................................................+/- 0,5 mm - Mod de acţionare ................................................……..electric - Motoare de c.c. tip SMU 750 (grad I , II , III ) şi tip SMU 180 ( grad IV , V ) - Traductori de stare internã : - viteza .........................................tahogenerator tip TG1 - poziţie ....................................traductoare incrementale de rotatie tip IGR 2500 C -Limitarea electrică a domeniului de lucru......................…………....senzori inductivi de proximitate , tip AP 2,5 LP 024 A - Alimentare ......................................................3x380 V c.a., - 15% , +10 % , 50 Hz +/- 2% - Putere maximă absorbită ................................…..........4 KVA - Masa....................................................................…..250 kg

( fãrã echipament de conducere ) - Dimensiuni de gabarit în poziţia “0” de sincronizare

…………………………….(Lxlxh) 850 x 1130 x 1290 - Sistem de conducere...................................…….....echipament `CONTROLE RE` - Grad de protecţie................................................................IP 42 - Condiţii de mediu : - temperatura de funcţionare ........................+5oC ...45oC - umiditate relative...........................65 + 15% la 25 + 5%

- atmosfera neutră , lipsită de vapori sau agenţi chimici corozivi

- funcţionare în condiţii fără şocuri Caracteristicile robotului RIP 6,3 sunt :

Grad de mobilitate Unghiuri Viteza

Page 189: Curs Roboti Industriali

maxime de lucru

maximă de lucru

I. rotire corp -135o/+135o 60o/sec. II. rotire braţ verticala

-40o/+40o 45o/sec.

III. rotire braţ orizontala

-20o/+40o 45o/sec.

IV. balans mână -90o/+90o 90o/sec. V. rotire mână -180o/+180o 180o/sec.

7.1.2. Echipamentul de conducere ``CONTROL RE`` Acesta are următoarele funcţiuni : - comanda , supravegherea , diagnoza şi protecţia în caz de avarie a robotului, prin intermedul subsistemului de comandă numerică şi a modulului de comanda CAS. - comanda şi supravegherea procesului tehnologic robotizat prin intermediul intrărilor şi ieşirilor numerice. Interfaţa cu operatorul uman este asigurată de panoul operator al echipamentului şi modulul de instruire MIR. Acţionarea directă a variatoarelor de turaţie şi supravegherea avariilor din sistemul de acţionare sunt realizate de modulul CAS. Cuplarea cu robotul se face prin intermediul unor cabluri protejate în tub metalic flexibil tip copex. Cuplarea cu procesul tehnologic se face prin intermediul canalelor de intrare-ieşire numerice. Caracteristicile sale tehnice sunt :

Subsistemul de conducere numericã are urmãtoarele caracteristici : - Tipul traiectoriei programate...................….....punct cu punct, continuu - Modul de programare ..........................…..învăţare ( teach-in ), cu modulul de instruire MIR

Page 190: Curs Roboti Industriali

- Capacitatea memoriei pentru programele tehnologic…...............................16 Ko RAM-CMOS - Numãr de programe tehnologice, înlănţuite în executie (înregistrare în memoria interna)........................................….....4 - Execuţia programelor - regim învăţare..............….….pas cu pas, ciclu (cu MIR) - regim automat.............................…..........ciclu continuu - Stocarea programelor tehnologice...............casetă magnetică (2 programe/casetă) - Sistem de mãsurare a poziţiei .............canale de mãsurã cu traductoare incrementale de rotaţie - Numar de intrări/ieşiri numerice.............................min 12 I/O max 60 I/O Subsistemul de acţionare electricã are urmãtoarele caracteristici: - Tipul motoarelor actionate........................…..motoare de curent continuu cu magneţi permanenţi - Puterea motoarelor acţionate...........................180 W - 1000 W - Gama de turaţii............................................................1 / 10000 - Tensiune alimentare forţă..........................................max. 90 V - Curent de alimentare motoare.........…................nominali 20 A impulsional : 30 A : max. 3 secunde - tahogeneratoare - referinţă viteza : -10 V...+10 V - limitatori capete de cursă - termistori motoare Modulul de instruire MIR - Limbajul de programare..........…........................40 instrucţiuni - instrucţiuni de programare............................…...27 instrucţiuni - instrucţiuni de editare , înregistrare , execuţie.......……....…13 instrucţiuni - Execuţie programe : - pas cu pas

Page 191: Curs Roboti Industriali

- ciclu - Afisaj pe display alfa-numeric..........................…..instrucţiuni mesaje: stare , erori de operare, avarie - Deplasare robot.......................................………...cu joy-stick cu 2 grade de mobilitate

Page 192: Curs Roboti Industriali

Fig. 7.2. Schema cinematică a robotului RIP 6,3 cu triedrele Hartemberg-Denavit ataşate

7.2.3. Motoare electrice utilizate pentru acţionarea robotilor RIP 6,3

Robotii RIP 6,3 sunt acţionaţi de servomotoare SMU 180 şi 750 care sunt motoarea de curent continuu cu întrefier axial şi rotor disc. Acestea au inerţie redusă. Parametrii nominali ai acestor motoare vor fi definiţi în continuare pentru funcţionarea în curent continuu , la o temperatură a mediului ambiant de 40o C.

Z2

Z4

O1

Oo

Zo

Yo

Xo

Z1

X1

Y1

Y2

X2

Z3 Y3

X3

X4

Y4

O2

O3

O4O5 EE

5

4

3

2

1

Z5

Page 193: Curs Roboti Industriali

Cuplul nominal Mn , în Ncm , turaţia nominală nn , în rot./min. şi tensiunea nominală Un în V , sunt caracteristici ce se impun prin tema de proiectare. Puterea nominală , Pn , în W se defineşte ca fiind puterea utilă disponibila la axul motorului la cuplu , turaţie şi tensiune nominală , în regim continuu. Incărcat la puterea nominala , motorul nu trebuie să depăşească temperatura maximă admisã a rotorului, 150oC. Curentul nominal In , în A , se defineşte ca fiind curentul necesar pentru obţinerea cuplului nominal Mn , la turaţia nominală nn. Pe lângă aceste mărimi se mai definesc următoarele mărimi raportate şi interne : - Cuplul pe amper , KT , în Ncm/A face legătura între cuplul electromagnetic Me şi intensitatea curentului absorbit. Me = KT I

- Cuplul electromagnetic Me este egal cu suma dintre cuplul util disponibil la ax Mn şi cuplul corespunzător pierderilor Mp. Datorită vitezei de răspuns rapide , dictată de inerţia redusă a rotorului, motoarele cu întrefier axial de tip SMU se utilizează la acţionarea maşinilor-unelte şi a roboţilor industriali. Servomotoarele SMU sunt alimentate prin intermediul unui variator de turaţie , condus de regulă de un echipament numeric. La funcţionarea în aceste condiţii apar ca foarte importante procesele de pornire şi frânare , unde sunt necesare acceleraţii mari , respectiv timpi de pornire şi frânare reduşi. Obţinerea de valori de ordinul zecilor de milisecunde pentru acesti timpi este posibilă datorită momentului de inerţie redus şi valorii ridicate a cuplului impulsional , la care pot fi solicitate aceste motoare. Variatorul de turaţie , care este prevăzut cu regulator de turaţie şi cu regulator de curent , asigura posibilitatea realizării valorilor prescrise pentru curentul impulsional prin motor , respectiv a valorilor cuplului impulsional în procesele de accelerare şi decelerare , precum şi protecţia motorului în cazul

Page 194: Curs Roboti Industriali

valorilor prohibite de curent şi depăşirii timpilor de accelerare şi frânare. Servomotoarele de 180 W şi 750 W sunt în constructie închisă , fără ventilaţie forţată.

7.3. Metoda de mãsurare Mãsurãtorile au fost efectuate utilizând schema de mãsurare redatã în figura 7.3. S-au efectuat următoarele măsuratori : - Canalulu 1 al osciloscopului ( Input A ) a măsurat tensiunea corespunzatoare referinţei de turaţie pe care variatorul de turaţie o primeşte de la calculator prin intermediul interfeţei de convertor numeric-analogic. Referinţa de turaţie este în gama de +/- 10 V , standard pentru acţionările electrice. - Canalul 2 ( Input B ) al osciloscopului a măsurat fie tensiunea dată de tahogenerator , fie o tensiune proporţională cu curentul injectat de variator în motor ( proporţional cu cuplul motor). Din studiul diagramelor ( al formelor de undă ) se pot trage următoarele concluzii : 1) Tine de “ deficienţa “ sistemului de comandă-acţionare electricã, care prin treptele de referinţă determinã o solicitare foarte mare a structurii mecanice. 2) Comportarea ansamblului variator-motor-manipulator este cea a unui sistem integrativ , deoarece forma de undă a tahogeneratorului ( elementul de reacţie ) diminuează sau face să dispară şocurile din referinţă. Deoarece sistemul variator-motor are un timp de răspuns foarte bun ( din datele proiectantului) componenta integrativa dominantă este cea datã de structura mecanicã. 3) Studiind ansamblului referinţă-reacţie , se poate trage concluzia că manipulatorul mecanic în diferite zone ale spaţiului de lucru are comportamente diferite ( forte de frecare , vibraţii , neliniarităţi ale forţelor de inerţie , etc. )

Page 195: Curs Roboti Industriali

Raportul de conversie între tensiunea măsurată şi curentul echivalent este : I = 5 V

7.3.1. Aparatura de mãsurã folositã În vederea măsurării curenţilor absorbiţi de motor şi de tahogenerator am utilizat un osciloscop FLUKE 99B. El este usor , de dimensiuni reduse , portabil , dar cu performanţe deosebite. Osciloscopul FLUKE se poate cupla cu un calculator. In acest scop firma producătoare ofera un software special FlukeView , care ofera facilităţi privind strocarea , transferul şi tipărirea informaţiilor. Redăm schema de masurare în figura 7.3.:

7.6. Rezultatele mãsurãtorilor Robotului RIP 6,3 i s-a programat, prin învăţare o traiectorie în spaţiul sau de lucru , între două puncte definite prin următoarele coordonate interne :

ECHIPAMENT COMANDA

VARIATOR

CONVERTOR NUMERIC-ANALOG

V(I)

C1 C2

V1 V3

Calculator

OSCILOSCOP

ROBOT RIP 6,3

V2

INTERFATA DE MASURARE A

Page 196: Curs Roboti Industriali

Fig.7.3. Schema de mãsurare a curenţilor V1 - reprezintã referinţã tahogenerator V2 - reprezintã referinţa de curent V3 - reprezintã referinţa de vitezã P1 = [ 77.75o , 83.69o , 80.09o , -24.72o , 51.87o ] P2 = [ 129.27o , 65.69o , 93.83o , 56.28o , 11.58o ] Utilizând aparatele şi schema de măsurare descrise în figura 7.3. s-au obţinut următoarele rezultate :

Fig. 7.4. Referinţa de turaţie pentru motorul modulului 1 , la deplasarea pe o anumită traiectorie , fără sarcină.

Page 197: Curs Roboti Industriali

Fig. 7.5. Curentul măsurat la motorul modulului 1 corespunzător referinţei de turaţie 1 , la deplasarea pe o anumită traiectorie ,

fără sarcină.

Fig. 7.6. Valoarea reală a turaţiei motorului modulului 1 , la

deplasarea pe o anumită traiectorie , fără sarcină.

Fig. 7.7. Referinţa de turaţie pentru motorul modulului 2 , la deplasarea pe o anumită traiectorie , fără sarcină.

Page 198: Curs Roboti Industriali

Fig. 7.8. Curentul măsurat la motorul modulului 2

corespunzăator referinţei de turaţie , la deplasarea pe o anumită traiectorie , fără sarcină.

Fig.7.9. Valoarea reală a turaţiei motorului modulului 2, la

deplasarea pe o anumită traiectorie , fără sarcină.

Page 199: Curs Roboti Industriali

Fig. 7.10. Referinţa de turaţie pentru motorul modulului 3 , la

deplasarea pe o anumită traiectorie , fără sarcină.

Fig. 7.11. Curentul măsurat la motorul modulului 3

corespunzător referinţei de turaţie , la deplasarea pe o anumită traiectorie , fără sarcină.

Page 200: Curs Roboti Industriali

Fig. 7.12. Valoarea reală a turaţiei motorului modulului 3 , la

deplasarea pe o anumită traiectorie , fără sarcină.

Fig. 7.13. Referinţa de turaţie pentru motorul modulului 4 , la

deplasarea pe o anumită traiectorie , fără sarcină.

Page 201: Curs Roboti Industriali

Fig. 7.14. Curentul măsurat la motorul modulului 4

corespunzător referinţei de turaţie , la deplasarea pe o anumită traiectorie , fără sarcină.

Fig. 7.15. Valoarea reală a turaţiei motorului modulului 4 , la

deplasarea pe o anumită traiectorie , fără sarcină.

Page 202: Curs Roboti Industriali

Fig. 7.16. Referinţa de turaţie pentru motorul modulului 5 , la

deplasarea pe o anumită traiectorie , fără sarcină.

Fig. 7.16. Curentul măsurat la motorul modulului 5

corespunzător referinţei de turaţie , la deplasarea pe o anumită traiectorie , fără sarcină.

Page 203: Curs Roboti Industriali

Fig. 7.17. Valoarea reală a turaţiei motorului modulului 5 , la

deplasarea pe o anumită traiectorie , fără sarcină.

Page 204: Curs Roboti Industriali

8. CONTROLUL GEOMETRIC ŞI METODE DE CALIBRARE

Un robot prin sistemul său de comanda ( soft-ul său ) trebuie să coordoneze mişcările fiecărui element şi ordinea executării mişcărilor. Pentru aceasta sistemul de comandă trebuie să permită controlul geometric al deplasărilor. Aceasta ar trebui să includă : - modelul cinematic direct; - modelul cinematic invers; - o subrutină care să determine traiectoria punctului caracteristic între două poziţii prestabilite pe drumul cel mai scurt sau pe calea cea mai potrivită mediului ambiant; Caracteristicile robotului care permit asemenea calcule sunt : - sistemul de coordonate al atelierului; - sistemul de coordonate al robotului; - legătura între sistemul de coordonate al robotului , spaţiul de lucru şi poziţia iniţială; - parametrii robotului ( notaţiile Hartemberg-Denavit ). Aceste date se obţin in timpul calibrării robotului.

8.1. Procesul de calibrare

Procesul de calibrare se desfăşoara în două faze :

1) Măsurarea - în ”n” puncte diferite ale spaţiului de lucru , corespunzator celor “n” pozitii şi orientări. 2) Calculele - cu ajutorul programului de calcul , specific fiecărui robot , necunoscutele care trebuiesc introduse în soft în vederea controlului geometric sunt calculate. Toate acestea indică că procesul de calibrare este complex , cu toate că este soluţia unei probleme complicate. Soluţia trebuie sã dea rãspuns la următoarele întrebări :

Page 205: Curs Roboti Industriali

1) Cum să se specifice originea şi orientarea sistemului de coordonate al robotului, faţă de elementele fizice ale robotului; 2) Cum să se definească, utilizând instrumente de măsură şi metode specifice metrologiei , legăturile dintre sistemul de coordonate al robotului şi sistemul de coordonate al atelierului; 3) Care sunt valorile numerice care se alocă parametrilor geometrici incluşi în modelul matematic al robotului , faţă de care se specifică poziţia şi orientarea end-efectorului; - dimensiunile nominale; - dimensiunile măsurate ale fiecărei piese; 4) In definirea modelului matematic , cum să se ia in considerare : - toleranţele dimensionale; - toleranţele de poziţie; - toleranţele de formă. 5) In definirea modelului matematic, cum să se ia în considerare efectele sarcinilor statice si dinamice: - deformaţii; - coeficienţi de frecare ; - momente de inerţie ; - etc. Procesul de calibrare este definit ca fiind determinarea relaţiilor existente între citirile instrumentelor de măsura şi valorile cantităţilor măsurate. In cazul particular al calibrării unui robot , instrumentul de măsura este robotul însuşi. Valorile cantităţilor de măsurat sunt cele obţinute de unul din numeroasele sisteme de măsurare. Mai departe acestea sunt cele care se considera valori adevarate. Valorile cantitãţilor măsurate ( indicate de sistemul de măsurare ) sunt : - vectorul de poziţie , Vmas ; - vectorul de orientare , Wmas .

In sistemul de coordonate al atelierului, aceşti doi vectori definesc exact poziţia şi orientarea. Pe cele trei axe ale sistemuli de măsurare X,Y,Z, se determină componentele acestor vectori.

Page 206: Curs Roboti Industriali

Cu ajutorul modelului matematic direct se calculează poziţia ( Vcalc ) şi orientarea ( Wcalc ). Pentru fiecare poziţie şi orientare, valorile coordonatelor articulare sunt utilizate pentru calculul unghiurilor de rotaţie pentru fiecare motor. Aceste motoare controlează sau deplasările Di , sau rotaţiile θi. Di = ΔD θi = Δθ Procesul de calibrare al robotului constă din a face să coincidă setul de “n” vectori calculati (vcalc , wcalc ) cu cei masurati ( vmas , wmas ). Coincidenţa se obţine prin aproximări succesive , variind valorile necunoscutelor. Calculul este de aceea iterativ. Iteraţia iniţială se realizează cu valorile estimate ale necunoscutelor. După fiecare iteraţie se calculează abaterea şi se realizează o nouă estimare. Calculul se consideră terminat atunci când abaterile sunt practic nule ( < 0,001 mm ). Necunoscutele sunt calculate şi introduse în soft ca şi constante. Când acest proces este terminat robotul este calibrat şi controlul geometric operaţional

8.2. Controlul geometric Alegerea modelului matematic trebuie să satisfacă două cerinţe contradictorii : 1) Precizia calibrăarii trebuie să fie suficientă pentru corecta aplicare a controlului geometric; 2) Viteza de calcul trebuie să fie suficient de mare pentru a nu degrada performanţele robotului. Alegerea modelului matematic şi a necunoscutelor ce trebuie determinate în timpul calibrării este un rezultat al compromisului între aceste două cerinţe. Conform definiţiei calibrării , faza de calcul nu se poate executa decât după terminarea fazei de măsurare.

Page 207: Curs Roboti Industriali

8.2.1. Instrumente de măsură

Instrumentele de măsură utilizate de metrologia convenţională nu sunt recomandabile pentru calibrarea roboţilor. Instrumentele utilizate în calibrarea roboţilor trebuie să satisfacă următoarele cerinţe : - să aibă rezoluţia cuprinsă între 0,1 şi 0,01 mm ; - precizia de măsurare să aparţină domeniului ± 0,1 - ± 0,15

mm ; - să fie portabile ; - trebuie să fie capabile să se acomodeze valorilor măsurate de

la 0,3 m3 la întregul spaţiu de lucru al robotului ( mai mulţi metrii cubi ) ;

- trebuie să poată fi mânuite rapid şi uşor .

Pentru a satisface aceste cerinţe au fost puse la punct 4 sisteme de măsurare diferite : 1. Un sistem mecanic echipat cu un comparator cu rezoluţie

± 0,01 mm ; 2. 2 teodoliţi , formând un grup de măsurare 3-D ( rezoluţie

10-4 grade şi precizie ±0,1 mm ) ; 3. Un instrument special , care este un triedru

tridreptunghic pe care se montează trei traductori absoluţi ( precizie de ± 0,15 mm ) ;

4. Un robot industrial echipat cu un senzor 3-D , permiţând realizarea de măsurători în spaţiul de lucru al robotului.

8.3. Incercãrile şi recepţia roboţilor industriali Incercãrile şi recepţia roboţilor industriali reprezintã o atât de mare importanţã încât face obiectul ISO 9283 / 1991. Prin stabilirea unor norme internaţionale privind recepţia şi

Page 208: Curs Roboti Industriali

încercãrile roboţilor industriali se uşureazã comunicarea între fabricanţi şi utilizatori. In vederea atingerii acestor ţeluri se impune ca mai întâi sã se defineascã caracteristicile de performanţã ale roboţilor industriali , precum şi metodele de încercare corespunzãtoare. Caracteristicile de performanţã ale roboţilor industriali , conform ISO 9283 / 1991 sunt : - exactitatea şi repetabilitatea de poziţionare unidimensionalã; - variaţia multidimensionalã a exactitãţii de poziţionare; - exactitatea şi repetabilitatea distanţei; - timpii de stabilire ai poziţiei; - depãşirea poziţiei; - deriva caracteristicii de poziţionare; - exactitatea şi repetabilitatea traiectoriei; - erorile de racordare; - exactitatea , repetabilitatea şi fluctuaţia vitezei pe traiectorie; - timpii pentru deplasarea minimã; - complianţa staticã.

Toate încercãrile trebuiesc realizate la 100 % , la condiţii de încãrcare nominalã ( masa ), cu respectarea specificaţiilor fabricantului. Incercãrile sunt în principiu verificãrile caracteristicilor mai sus enunţate dar ele se pot aplica şi pentru încercãrile de prototip , de tip sau de recpţie. Valorile mãsurate ale poziţiei şi orientãrii trebuiesc exprimate într-un sistem de coordonate ale cãrui axe sunt paralele cu cele ale sistemului de coordonate de bazã.

Toate încercãrile caracteristicilor de poziţie trebuie sã fie realizate la viteza maximã ce poate fi atinsã între poziţiile specificate dar pot fi realizate şi încercãri complementare în regim de vitezã de 50 %. Pentru determinara caracteristicilor de traiectorie robotul trebuie sã atingã viteza pe traiectorie pe cel puţin 50% din lungimea ei.

Page 209: Curs Roboti Industriali

Cubul de încercare este poziţionat în spaţiul de lucru al robotului industrial şi trebuie sã îndeplineascã urmãtoarele condiţii : - sã fie situat în zona spaţiului de lucru cea mai utilizatã; - sã aibã cel mai mare volum posibil; - muchiile sale sã fie paralele cu axele sistemului de bazã. C4 Z C3 C1 C8 C2 Y C7 C5 C6 X

Fig. 8.1. Cubul înscris în spaţiul de lucru al robotului

Mãsurarea caracteristicilor de poziţionare trebuie sã se facã într-unuldin planurile : C1C2C7C8 C2C3C8C5 C3C4C5C6 C4C1C6C7 Totuşi , planul în care se vor face mãsurãtoriler va fi cel pentru care fabricantul a garantat caracteristicile în fişa tehnicã. Planul în care s-au fãcut încercãrile trebuie specificat în raportul de încercãri. Cinci puncte , notate P1 , …, P5 , situate în planul ales , cu orientãrile specificate de cãtre proiectant sunt poziţiile de încercare. P1 este intersecţia diagonalelor , fiind în acelaşi timp şi centrul cubului. Punctele P2…P5 sunt situate la distanţe egale faţã de vârfuri de 10 % din lungimea diagonalelor ± 2 % .

Punctele de încercare trebuie sã fie exprimate sub forma coordonatelor de bazã.

Page 210: Curs Roboti Industriali

Poziţiile de utilizare pentru caracteristicile de poziţionare sunt indicate în tabelul de mai jos :

Caracteristici supuse încercãrii

Poziţii P1 P2 P3 P4 P5

Precizia şi repetabilitatea de poziţionare pe direcţia 1

x x x x x

Variaţia multidirecţionalã a preciziei de poziţionare

x x x

Precizia şi repetabilitatea distanţei

x x

Timpul de stabilizare a poziţiei

x x x x x

Deriva caracteristicilor de poziţionare

x

Traiectoria de încercare va trebui sã fie liniarã sau circularã , cu excepţia erorilor de racordare. Se pot utiliza şi alte traiectorii indicate de cãtre proiectant. In cazul traiectoriilor liniare , lungimea acestora va trebui sã fie cel puţin egalã cu 80 % din lungimea diagonalei planului ales. Pentru traiectoriile circulare se vor încerca douã cercuri : - un cerc cu centrul în P1 şi cu diametrul cât de mare posibil

în interiorul planului definit - un cerc mai mic cu centrul în P1 şi cu diametrul de 10 % din

diametrul cercului mare sau de 20 mm. Pentru fiecare caracteristicã este necesar a se efectua un

numãr minim de cicluri , dupã cumurmeazã : - Precizia şi repetabilitatea poziţionãrii pe o direcţie

30 cicluri - Variaţia multidirecţionalã a preciziei de poziţionare 30 cicluri - Precizia şi repetabilitatea distanţei 30 cicluri

Page 211: Curs Roboti Industriali

- Precizia şi repetabilitatea traiectoriei 30 cicluri - Caracteristicile vitezei pe traiectorie 10 cicluri Incercãrile se pot executa în orice ordine. Incercãrile de derivã a caracterisaticilor de poziţionare trebuiesc efectuate separat. Celelate încercãri se pot efectua simultan. Pentru încercãrile caracteristicilor de poziţionare se va folosi comanda punct cu punct , în timp ce pentru caracteristicile de traiectorie se va folosi comanda pe traiectorie.

8.4. Recepţia roboţilor industriali Recepţia roboţilor industriali se face conform standardelor în vigoare şi / sau conform specificaţiilor producãtorului. ISO 9946 indicã caracteristicile pe care producãtorul este obligat sã le indice. Acestea sunt : - tipul de operaţii pentru care robotul a fost proiectat şi

executat asamblare , manipulare , sudurã , vopsitorie , control , etc. )

- tipul acţionãrii şi toate modalitãţile de acţionare ale robotului

- tipul structurii mecanice ( cartezian , cilindric , polar , pistol , etc. ) şi numãrul gradelor de libertate ; aceste informaţii vor fi însoţite de desenul schemei cinamatice a robotului odatã cu indicarea pe desen a spaţiului de lucru. Spaţiul de lucru , împreunã cu frontierele sale , trebuie sã fie indicat în cel putin douã vederi , într-una dintre ele trebuind sã fie evidenţiat maximul distantei atinse. In figura 8.3. este prezentat spaţiul de lucru al robotului RIP 6,3.

Page 212: Curs Roboti Industriali
Page 213: Curs Roboti Industriali

Fig.8.3. Spaţiul de lucru al robotului industrial RIP 6,3

Page 214: Curs Roboti Industriali

Sistemul de coordonate al bazei va trebui sã fie specificat odatã cu poziţia efectorului, conform ISO 9787 . Deasemeni se vor indica greutatea , dimensiunile de gabarit şi modul de montaj al robotului pe poziţie. Este obligatoriu sã se precizeze limitele zonei de siguranţã conform standardelor în vigoare. Producãtorul trebuie sã prezinte informaţii referitoare : - la sistemul de control ; - la metodele de programare ( manual , teach in , programare); - limitele înlãuntrul cãrora performanţele pot fi atinse; - vitezele maxime pe fiecare axã ; - rezoluţia pe fiecare axã; - valorile pentru criteriile de performanţã specificate în ISO

9283 ; - standardele de siguranţã în exploatare la care s-a raportat.

Page 215: Curs Roboti Industriali

9. ACŢIONAREA ŞI COMANDA ROBOŢILOR INDUSTRIALI

Sistemul de acţionare al roboţilor industriali serveşte la transformarea unei energii potenţiale ( hidraulicã , electricã , pneumaticã ) în energie mecanicã şi transmiterea mişcãrii mecanice rezultate la cuplele cinematice conducãtoare. Deci sistemul de acţionare constã din unul sau mai multe motoare rotative sau liniare , transmisii mecanice şi mecanisme pentru transmiterea şi transformarea mişcãrii mecanice. Dupã cum am vãzut în capitolele anterioare roboţii industriali de topologie serialã sunt lanţuri cinematice spaţiale deschise cu acţionarea independentã a fiecãrei cuple şi a dispozitivului de prehensiune. Cuplele cinematice conducãtoare au la dispoziţie o sursã de energie exterioarã. In construcţia roboţilor cele mai utilizate surse de energie sunt : - Electricã ; - hidarulicã ; - pneumaticã ; Pentru acţionarea roboţilor industriali nu se folosesşte nici o variantă principial nouă.

Robotica nu a creat noi soluţii pentru acţionarea roboţilor industriali dar a preluat ultimele noutãţi în ceea ce privesc sistemele de acţionare în special din domeniul maşinilor-unelte cu comandã numericã. Fiecare tip de acţionare prezintã avantaje şi dezavantaje care îi reconadã în anumite siuaţii şi impun restricţii în altele. In cele ce urmeazã vom trece în revistã principalele tipuri de acţionare a roboţilor industriali.

9.1. Acţionarea electricã Acţionarea electricã este cel mai rãspândit tip de acţionare a roboţilor industriali , datoritã unor certe avantaje cum ar fi :

Page 216: Curs Roboti Industriali

- disponibilitatea energiei electrice; - simplitatea racordãrii echipamentelor la reţea; - construcţia robustã şi fiabilitatea motoarelor electrice; - preţ accesibil; - compatibilitate cu sistemul de comandã şi cu senzorii.

Principalul dezavantaj îl constituie necesitatea utilizãrii unor mecanisme suplimentare pentru adaptarea vitezei unghiulare şi a momentului motor la cerinţele concrete ale cuplelor motoare. Variatoarele de turaţie necesare sunt complicate din punct de vedere tehnologic deoarece trebuie sã realizeze rapoarte de transmitere foarte mari.

Acţionarea electricã se compune din : - grupul moto-reductor; - variatorul de turaţie; - dispozitive de mãsurare a vitezei şi poziţiei.

Grupul moto-reductor se compune dintr-un motor electric şi un reductor de turaţie. Motoarele electrice utilizate sunt de curent continuu sau pas cu pas. Deoarece roboţii sunt caracterizaţi prin viteze, acceleraţii mari şi o ridicatã precizie de poziţionare este necesar ca momentele de inerţie ale rotorului sã fie reduse ca şi al primei trepte de transmisie. Cele mai utilizate motoare sunt cele cu rotor disc. De asemeni se generalizeazã utilizarea reductoarelor armonice , care pe lângã inerţia redusã mai posedã urmãtoarele avantaje : - raport de transmitere de pânã la 320 : 1 ; - volum şi greutate redusã ; - joc redus ( 1 pânã la 3 minute arc ) ; - randament ridicat.

Condiţiile de exploatare şi regimurile de lucru au impus realizarea unor acţionãri electrice performante , cu urmãtoarele caracteristici : - gama de reglaj 1 : 1000 ; - abaterea globalã de vitezã la variaţia sarcinii cu 50 % de 10

% ; - grad de neuniformitate la turaţia minimã de maxim 0,25 % .

Page 217: Curs Roboti Industriali

Mãsurarea coordonatelor se face cu ajutorul traductoarelor de poziţie , care pot fi : - incrementale = care furnizeazã un anumit numãr de

impulsuri la fiecare rotaţie a axului; - absolute = care furnizeazã un anumit cod numeric în funcţie

de poziţia axului traductorului. Acest tip de traductor pãstreazã informaţia chiar şi în cazul cãderii tensiunii. Motoarele pas cu pas sunt cele mai rãspândite datoritã

avantajului poziţionãrii relativ exacte şi care exclude utilizarea traductoarelor de poziţie dar au dezavantajul dezvoltã puteri scãzute ceea ce le recomandã mai ales în dispozitivele de comandã şi mai puţin în cele de acţionare.

9.2. Acţionarea hidraulicã Este tipul de acţionare care are cea mai mare rãspândire dupã cea electricã , cu toate cã iniţial la începuturile roboticii se situa pe primul loc . Ea permite dezvoltarea de puteri mari şi nu necesitã mecanisme suplimentare pentru transmiterea şi transformarea mişcãrii. Dezavantajele constau în aceea cã necesitã un grup de acţionare hidraulicã şi au o precizie de poziţionare redusã. Mai rãspânditã este acţionarea electro-hidraulicã , care îmbinã avantajele celor douã tipuri de acţionãri.

9.3. Acţionarea pneumaticã Acţionarea pneumaticã este cea mai puţin rãspânditã datoritã în primul rând preciziei reduse şi a cuplurilor reduse pe care le dezvoltã.

9.4. Comanda roboţilor industriali Principala sarcină a structurii de comandă a mişcării constă în a transfera structura mecanică dintr-o poziţie de stare iniţială într-una finală. Aceasta implică :

Page 218: Curs Roboti Industriali

- definirea poziţiilor ; - acceleraţiilor şi vitezelor ; - a forţelor ; - a diferitelor restricţii ; - indicarea succesiunii mişcãrilor ; - indicarea duratei mişcãrilor. Formulând în acest mod problema comenzii, aceasta se rezolvă folosind atât teoria sistemelor , dar dificultăţile se datorează nelinearităţii sistemelor şi a dimensiunilor mari ale sistemului condus. Structurile mecanice pot fi redundante, mai multe configuraţii putând asigura aceaşi poziţie şi orientare a robotului. In prezent structurile mecanice de manipulare a roboţilor au sisteme simple de comandă a mişcării , formate din circuite de reglare clasice, independente , pentru fiecare grad de libertate. O astfel de structură nu este adecvată sistemelor multivariabile, neliniare , care în realitate descriu structurile utilizate în practică. Mulţi dintre roboţii utilizaţi au performanţe limitate din cauza sistemului de comandă.

Page 219: Curs Roboti Industriali

Fig. 9.1. Structura sistemului de comandă a unui grad de libertate

Performanţele realizate de comenzile clasice sunt acceptabile în cazul deplasărilor cu viteze mici cu caracteristici dinamice care variază lent. Structura sistemului de comandă a unui grad de libertate este redată în figura 9.1. Comanda roboţilor industriali, corespunzătoare structurii generale a unui robot de topologie serială se realizează pe mai multe niveluri ierarhice. O ierarhizare în funcţie de creiterii mai specializate conduce la apariţia următoarelor niveluri : - nivelul decizional = stabileşte planul de acţiune al robotului

, în funcţie de sarcinile primite şi de restricţiile din mediul extern , sesizate de către senzori ;

- nivelul strategic = împarte acţiunile generale din planul robotului în operaţii şi mişcări elementare ;

- nivelul tactic = descompune mişcările elementare în mişcãri ale fiecărui grad de libertate ;

Page 220: Curs Roboti Industriali

- nivelul de execuţie = realizează mişcarea fiecărui grad de libertate .

Numărul nivelurilor ierarhice ale fiecărui robot depinde de complexitatea sistemului de comandă şi de sarcinile robotului , dar nu pot lipsi nivelul de execuţie şi cel tactic.

Fiecare nivel ierarhic superior este răspunzător de comportarea generală a robotului, faţă de nivelurile ierarhice inferioare. In ierarhia de comandă informaţiile de decizie circulă de sus în jos , iar informatia de feed-back de jos în sus.

Fiecare nivel ierarhic de comandă permite comunicarea cu operatorul uman. Comanda operatorului uman este prioritară , pe orice nivel de comandă , faţă de deciziile pe care le ia robotul în regim automat. De asemeni fiecare nivel de comandă primeşte informaţii senzoriale din mediul extern , funcţie de care îşi adaptează modul de funcţionare. Pe nivelul inferior se foloseşte informaţia de poziţie , viteză , forţă , iar pe cel superior cea furnizată de camerele TV.

In cele ce urmează vom studia în detaliu : - nivelul tactic ( descompunerea traiectoriilor de mişcare pe

fiecare grad de libertate ) - nivelul de executie ( realizarea mişcării pe fiecare grad de

libertate )

9.4.1. Nivelul tactic In funţie de sarcina pe care trebuie să o îndeplinească , traiectoria efectorului robotului descrie curbe cum ar fi dreapta , cercul sau o curbă oarecare în spaţiu. La începuturile roboticii traiectoria de mişcare se memora pe un suport magnetic prin învăţare , înregistrându-se cu o anumită frecvenţă poziţiile aprţinând traiectoriei. La funcţionarea automată valorile memorate erau transmise ca mărimi de referinţă buclelor de reglare a poziţiei. Acest sistem necesită însă un mare volum de memorie şi orice modificare , oricât de mică a traiectiriei necesita redefinirea ei în intregime ,

Page 221: Curs Roboti Industriali

dar are avantajul că se pot descrie curbe spaţiale complexe greu de definit analitic. Definirea analitică a traiectoriei are avantajul că aceasta este memorată parametric şi nu ca o mulţime de puncte în spaţiu , memoria necesară a fi alocată fiind mică. Pentru a se evita obstacolele externe se introduc un număr de puncte intermediare prin care traiectoria robotului să treacă. Rezultă patru mulţimi de parametri care descriu traiectoria robotului : - punctele din spaţiu prin care trece traiectoria ; - vitezele în punctele respective ; - acceleraţiile în punctele respective; - timpii când aceste puncte sunt atinse de robot.

La toate tipurile de traiectorie trebuie să se aibă în vedere să nu se depăşească limitele maxime ale vitezelor şi acceleraţiilor elementelor de acţionare.

Funcţie de sincronizarea pe traiectorie a articulaţiilor motoare, se deosebesc două categorii de mişcări ale robotului : - miscarea coordonată = toate motoarele îşi termină mişcarea

în acelaşi timp ; - miscarea necoordonată = fiecare motor ajunge în timp

minim la punctul final. Mai există şi alte clasificări ale mişcărilor robotului :

- mişcare în contact ( cu obiectele exterioare ) = robotul se opreşte sau îşi schimbă direcţia de mişcare la contactul cu obstacole exterioare ;

- mişcare “compliantă = braţul robotului reacţionează la forţele exterioare, încercând să le ţină stabile şi minime pe parcursul mişcării ;

- miscare grosieră = robotul execută mişcări cu viteze şi acceleraţii mari ;

- mişcare precisă = robotul execută mişcări cu viteze şi acceleraţii mici , asigurând precizia de poziţionare.

Page 222: Curs Roboti Industriali

Diferitele tehnici de generare a traiectoriei au fost pe larg expuse în capitolul 3 , drept pentru care nu le vom mai relua. Stabilirea modului de planificare a traiectoriei robotului , în corodonate interne sau externe , depinde de cerinţele specifice aplicaţiei şi de prezenţa obstacolelor în interiorul spaţiului de lucru. Pentru un spaţiu de lucru fără obstacole, în care aplicaţia cere efectuarea unor operaţii cu robotul în repaus, în anumite puncte esenţiale ale spaţiului se face o interpolare în coordonate interne prin funcţii care permit o viteză de pornire şi oprire nulă. Apariţia obstacolelor în spaţiul de lucru impune programarea unor puncte intermediare, faţă de cele esenţiale , în care robotul aflat în repaus efectuează operaţii utile. Traiectoria trebuie interpolată în coorodnate externe , astfel încât robotul să treacă prin toate punctele. Coordonatele punctelor esenţiale se transformă din coordonate externe în coordonate interne. Dacă spaţiul de lucru al robotului nu prezintă obstacole între două puncte intermediare , sau aplicaţia impune un anume tip de traiectorie ( dreaptă , cerc ) atunci traiectoria se programează în coordonate externe, iar transformările din coordonate externe în coordonate interne se fac cu frecvenţa de eşantionare. Iată de ce se impune să realizăm un algoritm şi un program aferent lui care să rezolve în timp minim problema cinematică inversă. In planificarea traiectoriei robotului se ţine seama de configuraţia robotului, de obstacole, şi de alţi factori cinematici ( viteză şi timp minim ) precum şi de limitele vitezelor şi acceleraţiilor ce pot fi dezvoltate de către elementele de acţionare. Intotdeauna vor exista abateri de la traiectoria ideală planificată datorită problemelor de dinamică şi ale sistemului de acţionare. Putem realiza structuri de comadă utilizând fie modelul cinematic , fie pe cel dinamic. Deasemeni comanda roboţilor se poate realiza în spaţiul coordonatelor interne sau externe.

Page 223: Curs Roboti Industriali

q`r(t) q`(t) Bloc de Sistem de Sistem de Robot calcul + - reglare acţionare Traductor de poziţie

Fig. 9.2. Structura de comandă a unui robot care foloseşte modelul cinematic

Comanda în viteza ( cinematică ) este frecvent întâlnită la roboţii industriali. In cazul unui robot industrial traiectoria efectorului este descrisă într-un sistem cartezian fix , extern , de către vectorul vitezelor operaţionale. Unitatea de comandă calculează pentru fiecare perioadă de eşantionare referinţele pentru cele “n” motoare ale sistemului de acţionare. Fiecare motor posedă un circuit de reglare , numeric sau analogic pe viteză şi unul pe poziţie. Structura de comandă a unui robot care foloseşte modelul cinematic este redată în figura de mai jos. Există în spatiul poziţiilor şi puncte pentru care nu există soluţie a problemei cinematice inverese, puncte care se numesc puncte singulare. In aceste puncte mişcarea coordonată a robotului nu este posibilă , dar nu se neagă posibilitatea mişcării în general. Alteori putem utiliza modelul dinamic pentru structura de comadă a unui robot. Pentru a-l putea folosi modelul dinamic ales trebuie să fie liniarizat. Liniarizarea se face în jurul punctelor iniţiale , finale şi intermediare cu ajutorul unor coeficienţi. Modelele liniare se pot considera invariante numai în jurul punctului respectiv. Dacă se au în vedere deplasări mari în spaţiul de lucru , trebuiesc efectuate mai multe liniarizări, ceea ce măreşte volumul de calcule.

Page 224: Curs Roboti Industriali

10. ROBOŢI DE TOPOLOGIE PARALELĂ Actuala generaţie de RI se bazeazã pe o topologie “serialã “. Studiile şi cercetãrile statistice aratã cã acest tip de roboţi sunt lenţi şi imprecişi . A devenit evident cã factorul limitativ principal îl reprezintã topologia acestor roboţi. Din cauza naturii seriale a mecanismului toate erorile se însumeazã iar fiecare grad de libertate trebuie sã preia greutatea celor ce-i succed. B5 B6 B1 B2 B4 B3 P1 P3 P2

Fig. 10.1. Schema unui robot parallel

Pentru a se înlãtura aceste neajunsuri s-a proiecatat o noua topologie de roboţi şi anume cea paralelã. Specificul acestei topologii constã în faptul cã toate cuplele cinematice sunt de rotaţie şi sunt paralele. Din cauza naturii paralele a structurii

Placã fixã

Placã mobilã

Page 225: Curs Roboti Industriali

erorile nu se mai cumuleazã iar gradele de libertate nu-şi mai preiau unul altuia greutatea. Schema cinenmaticã a unui astfel de robot este redat în figura 10.1. Structura robotului constã dintr-un set de şase orificii echidistante , situate pe un cerc ( în vârfurile unui hexagon ) şi prin care pot culisa fãrã restricţii unghiulare tije sau fire. Aceste tije sunt fixate prin articulaţii duble pe o placã având o formã triunghiularã. Controlând raza cercului pe care se aflã cele şase puncte şi poziţiile vârfurilor triunghiului P1P2P3 , placa se poate deplasa şi orienta în spaţiu. Controlând prin lungimile celor şase tije , cele şase variabile care determinã poziţia şi orientarea plãcii în spaţiu , existã o transformare unicã între poziţionarea spaţialã, orientarea plãcii şi cele şase lungimi. Platforma inferioarã poate fi manevratã cu ajutorul unor tije sau al unor fire. Soluţia constructivã cu fire este mai simplã şi mai economicã decât cea cu tije dar prezintã marele dezavantaj cã în firele nu pot prelua tensiuni negative. Ecuaţiile cinematice ale robotului se obţin rezolvând concomitent ecuaţiile date de restricţiile geometrice ale celor treo fire sai tije , precum şi cele ce rezultã din echilibrarea forţei gravitaţionale a obiectului manipulat. Spaţiul de lucru al robotului este limitat de condiţia ca în nici unul din fire tensiunea sã nu devinã negativã. Notãm cu P proiecţia centrului de greutate al al obiectului manipulat pe placã mobilã , dupã direcţia gravitaţionalã. Dacã P aparţine interiorului triunghiului ABC , atunci poziţia respectivã este posibil sã fie obţinutã. Dacã P cade în afara triunghiului ABC , atunci poziţia respectivã nu este posibil sã fie obţinutã, una dintre tensiuni devenind negativã.

Page 226: Curs Roboti Industriali

C B B P PP A G

Fig. 10.2.

10.1. Calculul cinematic al roboţilor de topologie paralelã

In vederea evaluării caracteristicilor unui astfel de robot se

impune un studiu teoretic aprofundat vizând: •calculul cinematic •calculul dinamic •calculul spaţiului de lucru •calculul vibraţiilor. Poziţia unui punct material caracteristic al obiectului

manipulat este determinată prin lungimile celor şase tije. Cele şase lungimi controlează astfel cele şase coordonate care poziţionează şi orientează punctul în spaţiu (x, y, z, Yx, Yy, Yz).

P

Page 227: Curs Roboti Industriali

Fie un sistem Oxyz cu centrul în centrul triunghiului P1P2P3 şi cu P1 pe axa y în sensul ei pozitiv. Placa superioară fixă este la momentul iniţial paralelă cu planul (P1P2P3) la o distanţă "h" de acesta şi cu punctul B1 pe direcţia axei Ox în sensul pozitiv. In figura 10.1 este redatã schema cinematicã a unui robot industrial de topologie paralelă.

Punctele Bk vor avea coordonatele

Bk = (Rb cos qn, Rb sin qn, h)k = 1, 2,....., 6 (10.1)

q1 = 0; q2 = 300º; q3 = 240º; q4 = 180º; q5 = 120º;

q6 = 60º;

în timp ce punctele Pn = (Rp cos qn, Rp sin qn, 0) n = 1, 2, 3 (10.2)

q1 = 90º; q2 = 330º; q3 = 210º.

Orice mişcare poate fi descompusă într-o rotaţie şi o translaţie. Dacă R reprezintă o rotaţie obţinută prin compunerea rotaţiilor Rx, Ry, Rz în jurul axelor care transformă vectorul de poziţie al punctului Pn în Pn', atunci

Pn' = R Pn (10.3) Punctul Pn' poate fi translatat printr-o translaţie T în Pn" C11 C12 C13R = C21 C22 C23

C31 C32 C33 (10.4) Pn" = Pn' + T T = (x, y, z) (10.5)

Coroborând (10.4) cu (10.5) obţinem: Pn" = R. Pn + T (10.6)

Lungimile tijelor "ln" se obţin făcând diferenţa vectorilor de poziţie ai punctelor Bk şi vectorii de poziţie ai punctelor Pn"

Page 228: Curs Roboti Industriali

obţinute în urma roto-translaţiei. Aceste lungimi se calculează cu relaţiile:

L1 = P1" - B1 ; L4 = P4" - B4

L2 = P2" - B2 ; L5 = P5" - B5 (10.7)

L3 = P3" - B3 ; L6 = P6" - B6

l x y zn l l l= + +2 2 2 unde Ln = (xl, yl, zl) (10.8)

Calculul lungimii tijelor pentru fiecare poziţie a spaţiului de lucru ne permite poziţionarea punctului material caracteristific în spaţiu.

Putem deci, defini ca şi în cazul roboţilor de topologie serie, o problemă directă şi una inversă. Problema directă ar consta din determinarea parametrilor axei mişcării roto-translaţiei (x, y, z, Yx, Yy, Yz) când se cunosc poziţiile iniţială şi finală a punctului caracteristic, în timp ca problema inversă ar consta din determinarea uneia dintre poziţii când se cunosc cealaltă şi parametrii axei mişcării de roto-translaţie.

C11 C12 C13 [x`, y`, z` ] = C21 C22 C23 [x, y,z ] + [x0, y0,z0 ] C31 C32 C33 unde, C11 = cos(Yy)cos(Yz) C12 = cos(Yy)sin(Yz) C13 = sin(Yz) C21 = - sin(Yx)sin(Yy)cos(Yz) - cos(Yx)sin(Yz) C22 = - sin(Yx)sin(Yy)sin(Yz) + cos(Yx)cos(Yz) (10.10) C23 = sin(Yx)cos(Yy) C31 = - cos(Yx)sin(Yy)cos(Yz) + sin(Yx)sin(Yz) C32 = - cos(Yx)sin(Yy)sin(Yz) - sin(Yx)cos(Yz) C33 = cos(Yx)cos(Yy)

Page 229: Curs Roboti Industriali

unde Yx, Yy, Yz reprezintă unghiurile de rotaţie în jurul axelor x, y, z.

Din relaţia (9) si (10) rezultă sistemul (10.11) x` = C11x + C12y + C13z + x0 y` = C21x + C22y + C23z + y0 z` = C13x + C23y + C33z + z0 (10.12) Cunoscând parametrii mişcării de roto-translaţie Cij şi [xo,

yo, zo] se poate determina poziţia punctului transformat [x', y', z'] funcţie de poziţia punctului iniţial [x, y, z], aceasta fiind rezolvarea problemei inverse.

Pentru rezolvarea problemei directe trebuie să determinăm parametrii mişcării de roto-translaţie Cij şi [xo, yo, zo], cunoscând poziţiile iniţiale şi finale ale punctelor materiale caracteristice. Pentru cele 12 necunoscute putem obţine 9 ecuaţii independente,pentru trei puncte materiale necoliniaren din relaţia (10.12).

Celelalte trei relaţii necesare rezultă dn condiţiile de legătură:

x2 = C11x + C12y + C13z + x0 y2 = C21x + C22y + C23z + y0 z2= C31x + C23y + C33z + z0 (10.13)

In afara calculului deplasărilor finite se mai pot obţine din relaţiile (10.7) lungimile curselor tijelor "ln", necesare deplasării obiectului manipulat dintr-o poziţie în alta.

Metodologia prezentată permite rezolvarea problemei directe şi a celei inverse a deplasărilor finite. De asemenea, se pot determina anumite condiţii restrictive privind sinteza mecanismului robotului.

Având în vedere că la baza metodologiei stă calculul matricial, metodologia propusă permite utilizarea calculatorului, ceea ce constituie un avantaj.

Page 230: Curs Roboti Industriali

11. ROBOŢI PĂŞITORI In afara roboţilor de topologie serială şi a celor de topologie paralelă în ultimii ani au proliferat roboţii păşitori , datorită avantajelor lor care îi recomandă în anumite tipuri de activităţi. Domeniile în care aceştia sunt din ce în ce mai prezenti sunt : explorările planetare , medicină ( asistarea persoanelor cu handicap) , explorări submarine , activităţi nucleare , aplicaţii militare, ( detectări de mine antipersonal ) precum şi explorarea zonelor periculoase pentru om.

Prin structura şi funcţionalitatea lor roboţii păşitori se încadrează în definiţia generală a roboţilor.

Există trei configuraţii de bază pentru roboţii mobili : 1. Roboţi cu şenile. Aceştia au o mare mobilitatea dar un

număr restrâns de grade de libertate. 2. Roboţi cu picioare , care au o mobilitate superioară şi pot

trece şi peste obstacole. 3. Roboţi cu corpuri articulate , formaţi din mai multe

articulate, asemenea unui şarpe. sunt utilizaţi pentru inspecţia unor spaţii înguste. Mai există şi un număr de roboţi hibrizi cu structură mixtă.

In cele ce urmează ne vom concentra atenţia asupra roboţilor cu picioare, pe care în continuare îi vom numi roboţi păşitori. Roboţii păşitori au următoarele caracteristici : - se pot deplasa şi pe teren accidentat ; - necesită un consum energetic redus ; - garda la sol ridicată le permite să depăşească obstacole ; - contactul cu solul este discontinuu piciorul având

posibilitatea de a selecta punctul de contact ( sprijin ) ; - posibilitatea perceperii contactului cu solul ; - se pot deplasa pe un teren moale ; - deterioarează puţin solul pe care se deplasează ( aspect

important în exploatările forestiere ) ; - viteza de deplasare este scăzută ;

Page 231: Curs Roboti Industriali

- controlul mersului este complicat , datorită numărului ridicat de grade de libertate . Robotii păşitori sunt în prezent utilizaţi în următoarele domenii de activitate :

- Intretinerea mediilor nucleare ; - Explorări planetare ; - Exploatări forestiere ; - Explorări submarine ; - Inspecţia, curăţirea şi repararea unor suprafeţe greu

accesibile se poate face uşor de către roboţii căţărători. Direcţia de mers 1 2 3 P 4 5 Spaţiul de lucru 6 C Faza de transfer PEP Faza de suport

Fig. 11.1 Definirea parametrilor geometrici şi numerotarea picioarelor

Una dintre cele mai dificile probleme este cea a schemei structurale a piciorului, datorită complexităţii cinematicii

Page 232: Curs Roboti Industriali

mersului. Există tipuri de mecanisme utilizate la acţionarea piciorului. In figura 11.2 este redată o soluţie constructivă de picior. Există mai multe tipuri de mecanisme care pot fi utilizate la acţionarea unui picior. Dintre acestea amintim pe cele mai des utilizate : mecanisme derivate din macanismul patrulater , mecanisme din familia pantografelor, mecanisme mai complicate derivate din lanţuri cinematice cu mai multe contururi independente. Piciorul nu este un element de locomoţie continuă şi de aceea el trebuie ridicat la sfârşitul cursei , întors şi plasat la începutul unei noi curse. Acest lucru crează probleme privind coordonarea picioarelor, coordonare descrisă prin termenul de “mers”. De aceea este necesară definirea mersului. Pentru a proiecta o maşină păşitoare este necesara o bună înţelegere a mersului , deoarece numărul picioarelor, structura şi performanţele piciorului depind foarte mult de mersul selectat.

Page 233: Curs Roboti Industriali

Fig.11.2. O soluţie constructivã a unui picior

Parametrii ce caracterizează un mers sunt : - Faza de transfer a unui picior este intervalul de timp în care

piciorul nu este în contact cu solul ( τ ) .

Page 234: Curs Roboti Industriali

- Faza de suport a unui picior este perioada de timp în care piciorul este în contact cu solul ( s ) .

- Durata unui ciclu , T , este durata unui ciclu complet de locomoţie al unui picior ( T = s+τ ) . Dacă mersurile sunt periodice atunci atunci durata ciclului este aceeaşi pentru toate picioarele.

- Poziţiile extreme ale fazei suport sunt : poziţia extremă anterioară şi poziţia extremă posterioară. In cazul deplasării rectilinii uniforme a robotului , în faza de suport extremitatea piciorului execută o mişcare opusă direcţiei de mers. De asemenea în faza de transfer piciorul avansează In scopul căutării unui nou punct de sprijin.

- Factorul de utilizare ( λ ) este dat de realaţia λ = s/T sau λ = s/(s+τ)

Stabilitatea statică necesită ca permanent cel puţin trei picioare să fie în contact cu solul , ceea ce conduce la : λ>3/n unde “n” este numărul total de picioare al robotului. Pentru roboţii hexapozi aceasta înseamnă λ > 1/2 .Un mers se consideră “regulat” dacă factorul de utilizare are aceeaşi valoare pentru toate picioarele; - Faza unui picior Φi , este fracţiunea de ciclu ce separă

începutul ciclului piciorului “ï” de cel al piciorului “1”, luat ca referinţă ; Un mers este considerat “simetric “ dacă perechile de

picioare stânga – dreapta au mişcările decalate cu ½ ciclu. Un mers cu increment de fază constant este cel la care diferenţele de fază dintre picioarele succesiv aflate de aceeaşi parte a robotului sunt aceleaşi;

Φ3-Φ1 = Φ5-Φ3 - Pasul piciorului L este distanţa parcursă de centrul de masă

al robotului pe durata unui ciclu de locomoţie; - Cursa C este distanţa parcursă de picior în fază de suport ( distanţa dintre poziţiile extreme ); - Pasul cursei P este distanţa dintre două picioare adiacente

de aceaşi parte a robotului.

Page 235: Curs Roboti Industriali

Tipuri de mers

Mişcările picioarelor robotului trebuiesc coordonate pentru a se asigura urmãtoarele deziderate:

5 Transfer Suport Stânga

1 6 4 Dreapta 2 0 1/6 1/3 1/2 2/3 5/6 1(ciclu)

Fig. 8.3. Mers în unde ( λ = 5/6 )

5 3 1 6 4 2 0 1/6 1/3 1/2 2/3 5/6 1 (ciclu)

Fig. 8.4. Mers în unde ( λ = 2/3 )

1. Menţinerea robotului în echilibru ; 2. Deplasarea acestuia cu o anumită viteză.

Aceste deziderate se pot realiza utilizind mai multe tipuri de mers , cum ar fi : - Mersuri periodice = toate picioarele robotului au aceaşi

durată a unui ciclu complet ;

Page 236: Curs Roboti Industriali

- Mers în unde adaptiv = permite utilizarea secvenţelor fixe de mişcare la deplasări omnidirecţionale. Acest tip de mers se caracterizează prin faptul că fazele de transfer se propagă de la un picior la altul asemenea unor valuri. In funcţie de sensul de propagare al fazelor de transfer putem avea : - mers în unde înainte = fazele de transfer se propagă

începând de la piciorul 5 la piciorul 1 ; - mers în unde înapoi = fazele de transfer se propagă de

la piciorul 2 la piciorul 5 ; - Coordonarea neurobiologică = se bazează pe un model al

mecanismelor coordonatoare la insecte ; - Mers liber = asigură controlul robotului în funcţie de viteza

impusă şi de obstacolel întâlnite.

Stabilitatea în mers Menţinerea echilibrului unui robot industrial este o problemă de cea mai mare importanţă. In funcţie de acest criteriu roboţii păşitori se clasifică astfel : - Roboţi stabili static = sunt în echilibru în permanenţă ,

având cel puţin 3 picioare în contact cu solul în timpul locomoţiei ;

- Roboţi cvasi-stabili static = au o configuraţie instabilă pentru foarte scurt timp ;

- Roboţi stabili dinamic = nu au configuraţii stabile pe durata locomoţiei. Echilibrul static al unui robot păşitor poate fi verificat cu

ajutorul poligonului de sprijin , care este poligonul format din proiecţiile în plan orizontal de punctele de sprijin ale picioarelor în faza de suport. Mersul este static stabil dacă în orice moment proiecţia verticală a centrului de greutate G este în interiorul poligonului de sprijin. O altă problema care poate să apară este cea a interferenţei geometrice a picioarelor. In cazul în care cursa

Page 237: Curs Roboti Industriali

picioarelor este mai mare decât distanţa dintre două picioare adiacente ( C > P ), spaţiile de lucru ale picioarelor se intersectează, ceea ce înseamnă ca interferenţă este posibilă. Interferenţă geometrică a picioarelor poate fi evitată prin corelarea corespunzătoare a unor parametrii ce caracterizează mersul. Si în acest caz al roboţilor păşitori , în afara problemelor specifice, există toate celelalte probleme specifice roboţilor industriali cum ar fi : - modelarea deplasărilor în spaţiul de lucru ; - problema cinematică directă ; - problema cinematică inversă ; - modelarea dinamică .

Page 238: Curs Roboti Industriali

12. SISTEME FLEXIBILE DE FABRICAŢIE

Producţia de bunuri materiale a constituit cea mai conatantă preocupare a oamenilor de la geneză şi până în prezent. In timp ea a evoluat şi a devenit o activitate permanentă şi organizată care a permis satisfacerea nevoilor crescânde ale oamenilor. Producţia de bunuri va continua dar vor avea loc modificări profunde care nu mai sunt compatibile cu concepţiile şi metodele actuale de producţie. Dezvoltarea semnificativă a sistemelor de producţie a avut loc într-o perioadă relativ scurtă , în ultima sută de ani. In această perioadă sistemele de producţie au evoluat pentru a putea face faţă modificărilor survenite în mediul economic. Conform noilor principii sistemele de producţie încep să se structureze în compartimente specializate cu sarcini precise. Procesul de producţie este fragmentat în procese parţiale , faze , operaţii , specializându-se. In acest context rolul maşinilor şi al utilajelor devine predominant , iar cel al omului se reduce foarte mult , acestuia revenindu-I doar atribuţii de conducere şi execuţie. Creşte astfel rolul creativităţii, al inteligenţei al spontaneităţii. Principala problemă a noilor sisteme , mai dezvoltate ( avansate ), constă în a răspunde acestor nevoi în condiţii de eficinţă şi timp de răspuns minim. Constituirea sistemelor avansate de producţie s-a realizat doar în cadrul economiilor puternice. Din exeperienţa acumulată până în prezent se desprinde concluzia că principalul avantaj al noilor structuri de producţie îl reprezintă adaptabilitatea aproape totala a acestora la modificările mediului economic. De multe ori există pe piaţă produse similare dar care au la bază procese de producţie total diferite.

Page 239: Curs Roboti Industriali

12.1. Noţiuni fundamenatele In general, prin sistem se înţelege un ansamblu de elemente aflate într-o relaţie structurală , de interdependenţă şi interacţiune reciprocă , formând un tot organizat, funcţional. Funcţia unui sistem este proprietatea acestuia de a transforma intrările în ieşiri şi defineşte modul cum se realizează sarcina. Un sistem de producţie este constituit din totalitatea elementelor fizice , naturale şi artificiale , a conceptelor ( teorii , metode , reguli ) , experienţe şi îndemănări astfel organizate încât să rezulte capacitatea de realizare a unor scopuri prestabilite. Principalele tipuri de comportament al sistemelor de producţie sunt : - anticipativ = sistemul pe baza schimbărilor survenite în

mediu se adaptează, înainte ca aceste schimbări să-şi manifeste efectele ;

- activ = sistemul, în paralel cu adapatarea la influenţele exterioare, are la rândul său multiple influenţe asupra mediului ;

- pasiv = sistemul se adaptează lent la schimbările mediului. Toate elementele componente ale sistemului vor acţiona

încât să fie asigurată funcţia principală a sistemului. O variantă de structură de sistem de producţie este următoarea : - subsistem de conducere şi organizare ; - subsistem de fabricaţie ; - subsistem de proiectare ; - subsistem de personal ; - subsistem financiar-contabil ; - subsistem de întreţinere ; - subsistem de aprovizionare şi desfacere.

Dintre toate aceste subsisteme cel care ne interesează cel mai mult şi asupra căruia ne vom concentra în cele ce urmează este cel de fabricaţie. Fabricaţia constituie un proces parţial de producţie de bunuri prin care se realizează configuraţia şi proprietăţile finale

Page 240: Curs Roboti Industriali

ale produsului finit. Un “sistem de fabricaţie” ( SF ) este strabătut de trei tipuri de fluxuri : materiale , energetice şi informaţionale. Fluxurile materiale reprezintă atât intrări cât şi ieşiri ale sistemului. Fluxurile energetice reprezintă o intrare în sistem şi mai rar o ieşire. În timpul procesului de producţie au loc pierderi de materiale şi energie. Fluxul informaţional conţine date tehnice şi financiar-economice necesare conducerii SF. Sistemul de fabricaţie la rândul său are o structură formată din subsisteme de rang doi , după cum urmează : - Subsistem efector = realizează modificarea proprietăţilor

semifabricatului prin combinarea nemijlocită a fluxurilor materiale şi informaţionale prin intermediul fluxurilor energetice . Acest subsistem , denumit şi de prelucrare are caracteristicile specifice fiecărui proces tehnologic în parte şi constituie elementul determinant al SF;

- Subsistem logistic = realizează operaţii de transport şi depozitare a materialelor, semifabricatelor şi produselor finite ;

- Subsistemul de comandă = realizaează distribuţia şi prelucrarea fluxurilor informaţionale precum şi coordonarea tuturor subsistemelor care să îndeplinească funcţia generală ;

- Subsistemul de control = are funcţia de a determina realizarea parametrilor ce definesc calitatea pieselor , de a le compara cu cele perscrise şi de a comunica informaţiile subsistemelor efector şi de comandă. Aceste subsisteme se întâlnesc în toate sistemele de fabricaţie şi de aceea se numesc şi “invarianti” . In viitor sistemele avansate de fabricaţie vor modifica

profund atât baza materială ( utilaje , scule ) cât şi metodele şi tehnicile de conducere şi control.

Page 241: Curs Roboti Industriali

12.2. Sisteme de fabricaţie asistatã de calculator C.I.M. ( computer integrated manufacturing ) = sistem de producţie, cu buclă de reglare închisă, în care intrările sunt constituite din comenzi ( cereri de produse ) iar ieşirile din produse finite complet asmblate , verificate , gata de folosit. Din sistem ( C.I.M. ) fac parte utilaje, calculatoare , programele aferente activităţilor de proiectare , programarea producţiei , control , marketing , etc. Sistemul poate fi complet automatizat şi are posibilităţi de optimizare activă. In esenţă calculatorul coordonează şi conduce întregul proces productiv. Cea mai importantă caracteristică este aceea că pot fi interconectate şi corelate toate activităţile productive , datorită suportului comun. Sistemul C.I.M. face posibilă funcţionarea sistemului productiv fără intervenţia omului , integrând procesele informaţionale cu cele materiale. Elementele definitorii ale C.I.M.-ului sunt : - este un sistem global care cuprinde toate subsistemele care

participă la realizarea scopului final ; - integrarea se face cu ajutorul calculatorului utilizând o bază

de date unică ; - conducerea şi controlul fiecărui subsistem component se

face direct da către calculator, ţinând cont de corelaţiile necesare bunei funcţionări a sistemului. Elementele constitutive ale C.I.M. sunt :

C.A.D. ( computer aided design ) = crează posibilitatea de a folosi calculatorul la realizarea sarcinilor legate de proiectarea şi testarea produselor . Permite realizarea schiţelor , planurilor , efectuarea de calcule inginereşti , evaluarea costurilor şi a necesarelor de materiale . C.A.T. (computer aided testing ) = uşurează şi simplifică munca de testare nemaifiind necesare experienţe costisitoare . Prin intermediul acestui pachet de programe se pot simula diferite situaţii în care se poate găsi produsul în timpul funcţionării.

Page 242: Curs Roboti Industriali

C.A.L. (computer aided logistics ) = realizează aprovizionarea şi desfacerea asistată de calculator. Se asigură lansarea de comenzi pentru materii prime, controlul produselor finite şi planificarea şi distribuirea mijloacelor de transport. C.A.P. (computer aided planning ) = realizaeză pregătirea şi programarea fabricaţiei asistată de calculator. C.F.P. ( computer financial planning ) = realizează conducerea prin calculator a activităţii financiar-contabile. In continuare vom analiza cel mai important proces care se desfăşoară în cadrul sistemului de producţie , cel de fabricaţie. Sistemul C.A.M. (computer aided manufacturing ) face parte integrantă din .C.I.M şi este componenta sa esenţială. Sistemul C.A.M. integrează următoarele activităţi proprii S.F. : - stocarea şi urmărirea materialelor pe flux ; - deplasarea materialelor pe flux ; - conducerea directă a maşinilor , utilajelor şi roboţilor ; - controlul calităţii.

Prin intermediul acestui sistem se asigură conexarea tuturor maşinilor , utilajelor şi roboţilor din cadrul S.F. la calculatorul central , conducerea şi coordonarea lor unitară. Dacă ar fi să comparăm sistemul de producţie cu un organism atunci C.I.M. poate fi asimilat sistemului nervos. Prin intermediul C.I.M. sunt integrate taoate fluxurile informaţionale şi corelate cu cele materiale şi energetice. In acest fel sistemele de fabricaţie discrete capătă un caracter de continuitate. N.C. ( numerical control ) = cuprinde acele sisteme de comandă după program la care programul se memorează pe un purtător adecvat , sub formă de date numerice , iar echipamentele de comandă sunt în măsură să prelucreze datele din program şi eventualele informaţii provenite de la maşina-unealtă, prelucrare care se face exclusiv prin mărimi numerice. Conţinutul acestei metode este definit prin însăşi numele ei : comandă prin numere.

Page 243: Curs Roboti Industriali

C.N.C. ( computerized numerical control ) = sistem de comandă numerică care conţine un calculator cu programare liberă şi este destinat pentru comanda unei maşini de prelucrare ( sau de măsurat ) . Posibilitatea realizării unui schimb de informaţii cu un calculator permite includerea sistemului C.N.C. într-un sistem informaţional dezvoltat. Sistemele C.N.C. pot realiza modificarea uşoară a programelor piesă, comanda adaptivă a procesului de prelucrare , compensarea erorilor. Părţile componente ale unui sitem C.A.M. sunt : - unitatea centrală de operare = asigură corelarea şi

ierarhizarea proceselor de producţie ; - interfaţa calculatorului = reprezintă o zonă tampon între

procedurile interne şi datele procesate de sistem ; - reţeaua de comunicaţii = asigura cuplarea tuturor

elementelor infrastructurii ; - staţiile de procesare = sunt microprocesoare.

12.3. Sistemul flexibil de fabricaţie Una dintre cele mai importante componente ale sistemului de producţie o reprezintă sistemul de fabricaţie. Sistemul flexibil de fabricaţie ( S.F.F. ) nu este o soluţie miraculoasă pentru toate problemele, ci reprezintă răspunsul optim pentru o anumită cerinţă. Se consideră că un S.F.F. trebuie să aibă următoarele caracteristici : integrabilitate , adaptabilitate şi dinamism structural. S.F.F. este un sistem de fabricaţie bazat pe automatizare flexibilă şi se poate definii ca o unitate funcţională integrată prin calculator , autoreglabilă, având capacitatea de a transforma automat orice produs aparţinând unei anumite familii. Un S.F.F. este constituit din: - maşini-unelte cu comandă numerică; - roboţi industriali; - scule şi dispozitive; - echipamente automatizate de măsurare şi testare . Studii ale O.N. U. au identificat trei stadii ale S.F.F. :

Page 244: Curs Roboti Industriali

1. Unitatea flexibilă de prelucare ( S.F.F de ordinul 1 )– reprezintă de obicei o maşină complexă ( tip centru de prelucrare ) echipată cu magazie multipaletă , un robot şi un manipulator automat de scule .

2. Celula flexibilă de fabricaţie ( S.F.F de ordinul 2 ) – este constituită din două sau mai multe unităţi flexibile de prelucrare cu maşini controlate direct prin calculator ;

3. Sistemul flexibil de fabricaţie ( S.F.F de ordinul 3 ) – cuprinde mai multe celule flexibile de fabricaţie conectate prin sisteme automate de transport, care deplasează piesele între maşini. Intreg sistemul este controlat direct de către un calculator care dirijează sistemele de depozitare, echipamentele automate de măsură şi testare şi maşinile cu comandă numerică. Fabrica, uzina automatizată flexibil , rezultă prin integrarea mai multor S.F.F. şi reprezintă un sistem de ordinul 4. S.F.F. cuprinde toate subsistemele componente ale unui

sistem de fabricaţie ( de prelucrare , logistic , control , comandă) şi nu se rezumă numai la subsistemul de prelucrare. Noul concept presupune o integrare şi coordonare totală a celor patru subsisteme componente prin intermediul calculatorului.

Fată de sistemele de fabricaţie rigide , S.F.F. au următoarele avantaje : - posibilitatea de a prelucra semifabricate în ordine aleatoare ; - autonomie funcţională pentru trei schimburi , fără

intervenţia omului ; - utilizarea intensivă a maşinilor cu comandă numerică ,

roboţilor , etc. ; - posibilitate de evoluţie şi perfectabilitate treptată în funcţie

de necesităţile producţie. Unul dintre avantajele mari ale sistemelor avansate de

producţie faţă de cele convenţionale constă în posibilitatea cuplării sistemului C.I.M. cu S.F.F. , constituindu-se un sistem computerizat.

Page 245: Curs Roboti Industriali

Subsistemul C.A.M. permite adaptarea S.F.F. la schimbarea sarcinilor de producţie , prin modificarea programelor existente , fără a fi necesare ajustări de amploare ale echipamentului. Cuplarea C.A.M. cu S.F.F. determină o mare flexibilitate de adaptare. Tabelul 12.1.

Caracteristica Sistem convenţional

S.F.F. care îl înlocuieşte

Număr de tipuri piese produse

182 182

Număr de subsisteme fără supraveghere

0 18

Număr de maşini-unelte 253 133 Număr de angajaţi în trei schimburi

601 129

Gradul de utilizare al capacităţii pe 2 schimburi ( % )

61 84

Se poate constata cu uşurinţă influenţa decisivă a seriei

de fabricaţie asupra eficienţei. La o producţie redusă , de tip unicat , este mai eficient să utilizăm din plin factorul uman pentru a asigura adaptarea fabricaţiei, în timp ce la o serie de fabricaţie mare este de preferat o automatizare rigidă. S.F.F. devine eficient doar în anumite limite şi anume pentru seriile mici de fabricaţie. S.F.F. sunt eficiente în cazul seriilor scurte de fabricaţie care se repetă frecvent în timp.

La un sistem convenţional , statistic, s-a constatat că din timpul total în care o piesă parcurge un sistem de fabricaţie 80 % reprezintă timpi de aşteptare şi pregătire, iar 20 % timpi de lucru pe maşini , din care 60 % îl reprezintă timpi de aşezare şi reglare. In aceste condiţii timpul total de prelucrare efectivă se reduce la 5-10% din total. In cazul S.F.F. acest procent creşte şi

Page 246: Curs Roboti Industriali

atinge 50-85 % din total, concomitent cu o utilizare sporită a capacităţii de producţie. Compararea celor două cifre pune în evidenţă importanţa S.F.F.

Comparativ cu sistemele convenţionale , S.F.F. au caracteristici net superiopare , aşă cum reiese şi din tabelul 12.1, caracteristicile S.F.F. fiind ale unui sistem japonez. Media timpului de prelucrare efectivă atinge la japonezi 20,2 ore / zi , ceea ce înseamnă că produţia se realizează aproape în flux continuu. Pentru o mai buna înţelegere a conceptului de S.F.F. redăm mai jos structura unui S.F.F. utilizat în uzinele Caterpillar din Belgia , care prelucrează cilindrii pentru motoare: - 3 maşini-unelte (2 strunguri şi o maşină de honuit cu dublu

ax ); - un robot cu 6 grade de libertate ; - control tehnic automat .

Implementarea pe scară largă a S.F.F. este încetinită de costul ridicat al acestora , care în cele mai multe cazuri devine prohibitiv.

Page 247: Curs Roboti Industriali

BIBLIOGRAFIE [1] Angeles J., O.Ma - An algorithm for inverse dynamics of n-

axis general manipulator using Kane`s equations , Computers Math.Applic. Vol.17,No.12,1989.

[2] Angeles J., O.Ma - Dynamics simulation of n-axis serial robotic manipulators using a natural orthogonal complement, The international Journal of RoboticResearch,Vol.7,Nr.5, Oct. 1988.

[3] Angeles J. - Iterativ Kinematic Inversion of General Five - Axis Robot Manipulators, The International Journal of Robotic Research,Vol.4. Nr.4,Winter 1986

[4] Angeles J. - On the Numerical Solution of the Inverse Kinematic Problem, The International Journal of Robotic Research,Vol 4,Nr.2,Summer 1985.

[5] Angeles J.A. Alivizatos and P.J.Zsombor-Murray - The synthesis of smooth trajectory for pick-and-place operatons , IEEE Trans.Syst.Man Cybern. 18(1) , 173-178 (1988). [6] Angeles J. , S.Lee - The formulation of dynamical , equations of holonomic mrchanical systems using a natural orthogonasl complement , International Journal of Robotic Research 4/1987. [7] Atkenson C. , Chae H.A. , Hollerbach J. - Estimation of inertial parameters of manipulator load and links , Cambridge , Massachuesetts , MIT Press. 1986. [8] Angeles J. - Spatial kinematic chains : Analysis , synthesis , and optimization , Berlin : Springer verlag. [9] Angeles J. , Rojas A. - On the use of condition-number minimization and continuon in the iterative kinematic analysis of robot manipulator , Proc.Fifth IASTED Symposium Robotics, New Orleans1985. [10] Baştiurea Gh. ş.a. – Comanda numericã a maşinilor-unelte,

Page 248: Curs Roboti Industriali

Editura tehnică , Bucureşti 1976 [11] Chircor M. - Asupra volumului spaţiului de lucru al roboţilor industriai , Sesiunea de Comunicãri Stiintifice, Braila,1993. [12] Chircor M. – Noutãţi în cinematica şî dinamica roboţilor industriali , Editura Fundaţiei Andrei Saguna , Constanţa , 1997. [13] Chircor M. - Calculul deplasãrilor finite la roboţii de topologie paralelã , A XVIII - a Conferinţa de Mecanicã Solidelor , Constanţa , 09 - 11 iunie 1994. [14] Chircor M. - Calculul deplasãrilor roboţilor industriali folosind notaţiile Hartemberg-Denavit , Acta Universitatis Cibiniensis , Sibiu ,1995. [15] Chircor M.- Calculul energiei consumate de robotul industrial la manipularea unei sarcini , Acta Universitatis Cibiniensis , Sibiu ,1995. [16] Chircor M. - The control of the motion in Internal and External Coordinates , International Symposium on Systems atheory , Robotics , Computers and Process Informatics , Craiova , 6-7 june 1996. [17] Chircor M. - A limit of the Serial Topology , International Symposium on Systems atheory , Robotics , Computers and Process Informatics , Craiova , 6-7 june 1996. [18] Chircor M. – Cercetãri privind construcţia modularã a roboţilor industriali – Tezã de doctorat , Universitatea Politehnicã Bucureşti , 1997. [19] Cojocaru G., Fr.Kovaci - Roboţii în acţiune, Ed.Facla, Timişoara,1998./ [20] Davidoviciu A., G.Drãgãnoiu , A.Moanga , Modelarea , simularea şi comanda manipulatoarelor şi roboţilor industriali , Ed.Tehnica , Bucureşti 1986. [21] Denavit J., McGraw-Hill - Kinematic Syntesis of

Linkage,Hartenberg R.SN.Y.1964. [22] Drimer D.,A.Oprea,Al. Dorin - Roboţi industriali şi manipulatoare, Ed. Tehnicã 1985.

Page 249: Curs Roboti Industriali

[23] Dombre E., Wisama Khalil - Modelisation et commande des robots , Editions Hermes , Paris 1988. [24] Doroftei Ioan – Introducere în roboţii păşitori , Editura CERMI , Iaşi 1998. [25] Dorn W.S., D.D.McCracken - Metode numerice cu programare in FORTRAN, Editura Tehnicã, Bucureşti 1973.

[26] Golub G - Matrix , The Johns Hopkins University Press, London.

[27] Hartemberg R.S. and J.Denavit - A kinematic notation for lower pair mechanisms , J. appl.Mech. 22,215-221 (1955). [28] Hasegawa , Matsushita , Kanedo - On the study of standardisation and symbol related to industrial robot in Japan , Industrial Robot Sept.1980. [29] HollerbachJ.M. - Wrist-partitioned inverse kinematic accelerations and manipulator dynamics. , International Journal of Robotic Research 2,61-76 (1983) [30] Ispas V.,I.Pop,M.Bocu - Roboţi industriali, Ed.Dacia, Cluj, 1985. [31] Ispas V. - Aplicaţiile cinematicii în construcţia manipulatoarelor şi a roboţilor industriali , Ed.Academiei Române 1990. [32] Khalil W. - J.F.Kleinfinger and M.Gautier , Reducing the computational burden of the dynamic model of robots. , Proc. IEEE Conf.Robotics ana Automation , San Francisco , Vol.1 , 1986. [33] Kane T.R., D.A. Levinson - The use of Kane`s dynamic

equations in robotics, International Journal of Robotic Research,Nr. 2/1983.

[34] Kane T.R. - Dynamics of nonholonomic systems , Trans.ASME , J.appl.Mech. , 83 , 574-578 (1961). [35] Kazerounian K. , Gupta K.C. , Manipulator dynamics using the extended zero reference position description , IEEE Journal of Robotic and Automation RA-2/1986.

Page 250: Curs Roboti Industriali

[36] Kovacs Fr., G.Cojocaru - Manipulatoare, roboţi şi aplicaţiile lor industriale, Ed.Facla,Timişoara,1982. [37] Kovacs Fr , C. Rãdulescu - Roboţi industriali , Reprografia Universitãţii Timişoara , 1992. [38] Kyriakopoulos K. J. and G.N.Saridis - Minimum distance estimation and collision prediction under uncertainty for on line robotic motion planning., International Journal of Robotic Research 3/1986. [39] Larionescu D. - Metode numerice , Editura Tehnicã, Bucureşti 1989. [40] Luh J.S.Y., Walker M.W. , Paul R.P.C. - On line computational scheme for mechanical manipulators , Journal of Dynamic Systems Measures and Control 102/1980 [41] Ma O.- Dynamics of serial - typen-axis robotic

manipulators, Thesis, Department of Mechanical Engineering,McGill University,Montreal,1987.

[42] Monkam G. - Parallel robots take gold in Barcelona, ,Industrial Robot,4/1992. [43] Monkam G. - Parallel robots take gold in Barcelona , Industrial Robot 4/1992. [44] Olaru A. - Dinamica roboţilor industriali , Reprografia Universitãţii Politehnice Bucureşti , 1994. [45] Platon V. – Sisteme avansate de producţie , Editura tehnică, Bucureşti , 1990. [46] Panã C. , Drimer D. - Probleme ale construcţiei modulare a manipulataoarelor şi roboţilor , I Simpozion National de Roboţi Industriali , Bucureşti 1981. [47] Pandrea N. - Determinarea spaţiului de lucru al roboţilor industriali , Simpozion National de Roboţi Industriali , Bucureşti 1981. [48] Pandrea N. - Asupra echilibrãrii statice a mecanismelor RRT pentru roboţi industriali , Simpozion National de Roboţi Industriali , Bucureşti 1981. [49] .Păunescu T. – Celule flexibile de prelucrare , Editura Universităţii “Transilvania “ Braşov , 1998.

Page 251: Curs Roboti Industriali

[50] Paul R. , Shimano B. - Kinematic control equations for simple manipulators , IEEE Trans. Systems , Man and Cybernetics SMC-11. [51] Pelecudi Christian - Teoria mecanismelor spaţiale, Ed. Academiei, 1972.

[52] Powell I.L.,B.A.Miere - The kinematic analysis and simulation of the parallel topology manipulator , The Marconi Review,1982. [53] Raghavan M. , Roth B. - Kinematic analysis of 6R manipulator of genaral geometry , Proc. 5 th International Symposium on Robotic Research , MIT Press , Cambridge Massachusets , 1990. [54] Renaud M. - Quasi-minimal computation of the dynamic model of a robot manipulator utilising the Newton-Euler formulism and the notion of augmented body. Proc.IEEE Conf.Robotics Automn Raleigh , Vol.3 , 1987. [55] Roşculet M. - Analizã matematicã , Editura Didacticã si Pedagodicã, Bucureşti 1973. [56] Seeger G. - Self-tuning of commercial manipulator based on an inverse dynamic model , J.Robotics Syst. 2 / 1990. [57] Soos E., C.Teodosiu - Calcul tensorial cu aplicaţii în mecanica solidelor, Editura Stiinţificã şi Enciclopedicã, Bucureşti 1983. [58] Stănescu A. , A. Curaj – Tehnici de generare automată a mişcărilor roboţilor, Reprografia Universităţii Politehnice Bucureşti , 1997. [59] Stanescu A. Dumitrache I.- Inteligenţa artificiala şi robotica , Ed.Academiei , Bucureşti 1983. [60] Tandirci Murat ,Jorge Angeles, John Darcovich - On Rotation Representations in Computational Robot Kinematics , Tamio Arai,Hisashi Osumi - Three wire suspension robot, Industrial Robot,4/1992. [61] Uicker J.J. - On the dynamic analysis of spatial linkage 4x4 , Northwest University 1965.

Page 252: Curs Roboti Industriali

[62] Vâlcovici V., St. Bãlan, R. Voinea - Mecanica teoreticã, Editura tehnicã,1968.

[63] Vukobratovic M. - Applied dynamics of manipulation robots , New York , 1989. [64] Walker M.W. and D.E.Orin - Efficient dynamic computer simulation of robot mechanisms , J.Dynamic Syst. Meas. Control 104 205-211 (1982). [65] STAS R 12928/2-90. [66] STAS R 12928/3-90. [67] STAS R 12928/1-90. [68] STAS 12938-91 [69] OIDICM - Actualitãţi în domeniul roboţilor industriali , Bucureşti 1987. [70] OIDICM - Robotizarea proceselor tehnologice de ştanţare şi matriţare , Nr. 1-45/1989. [71] OIDICM , SID 69 - Noutãţi în robotica industrialã , Bucureşti , 1987. [72] OIDICM , SID 53 - Utilizarea robotilor industriali la sudarea metalelor şi la procese conexe , Bucureşti , 1985. [73] IDAR Colecţie ( Informare - Documentare - Automatizare - Robotizare - Calculatoare ) Bucureşti , 1980-1990. [74] INID Colecţie , Buletine de informare şi documentare tehnico-ştiinţifice , Bucureşti 1980-1990.


Recommended