ROBOŢI INDUSTRIALI
CUPRINS 1. Noţiuni generale privind robo ţii industriali 1.1. Defini ţii şi noţiuni uzuale utilizate. 1.2. Structura robo ţilor de toipologie serialã 1.2.1. Robo ţi industriali tip “braţ articulat” 1.2.2. Robo ţi industriali tip “lanţ închis” 1.2.3. Robo ţi industriali tip “pistol “ 1.2.4. Robo ţi industriali tip “turelã” 1.2.5. Robo ţi industriali tip coloanã 1.2.6. Robo ţi industriali tip “cadru “ 1.2.7. Robo ţi industriali tip “portal “ 1.2.8. Robo ţi industriali tip “cãrucior “ 1.3. Tipuri de coordonate utilizate în studiul robo ţilor industriali 1.3.1. Sistemul de coordonate curbilinii 1.4. Dispozitive de prehensiume 1.5. Analiza comparativã a caracteristicilor diferitelor grade de libertate
9 9 12 14 15 15 16 17 18 18 19 19 20 23 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
roboţilor industriali 2.3.3. Rezolvarea problemei cinematice inverse pentru un robot cu cinci grade de libertate 2.3.4. Calculul volumului spa ţiului de lucru 2.3.4.1. Calculul volumului spa ţiului de lucru al robotului PUMA 600 2.3.5. Calculul energiei consumate de robotul industrial la manipularea unei sarcini 2.3.6. Generarea mi şcãrii de-a lungul unei traiectorii liniare între douã puncte ale spa ţiului de lucru 2.3.7. Influen ţa modularizãrii asupra planificãrii traiectoriei în coordonate operaţionale 2.3.8. Considera ţii privind controlul deplasãrilor în coordonate articulare cu determinarea traiectoriei endefectorului 2.3.9. Considera ţii privind controlul deplasãrilor în coordonate opera ţionale 2.3.10. Considera ţii privind controlul deplasãrilor în coordonate interne şi externe 2.3.11. Analiza preciziei de poziţionare
3. Dinamica robo ţilor industriali 3.3. Ecuaţiile dinamice ale unui robot de tip serial 3.3.1. Descrierea notaţiilor Hartemberg-Denavit 3.2. Calculul vitezelor unghiulare şi acceleraţiilor 3.3. Calculul vitezelor şi acceleraţiilor centrelor de greutate 3.4. Calculul for ţelor/momentelor motoare la un robot de tip serial 3.4.1. Formule recursive pentru calculul for ţelor motrice 3.5. Stabilirea ecua ţiilor dinamice ale unui robot industrial folosind ecuaţiile Lagrange de speţa a II a 3.6. Calculul tensorilor de iner ţie
60 62 63 67 69 72 75
78 83 89 93
99 99 100 102 103 106 108 109 116
4. Generarea mi şcarii între douã puncte ale spa ţiului de lucru 4.1. Generarea mişcarii între douã puncte în spaţiul articulatiilor 4.2. Generarea mişcarii de-a lungul unei traiectorii liniare între douã puncte ale spa ţiului de lucru 5. Algoritmi de calcul utiliza ţi la modelarea comportamentului dinamic al robo ţilor industriali 5.1. Schema logicã a algoritmului de calcul 5.2. Structura programului de calcul 5.3. Cercetãri teoretice pe modele reale de robo ţi industriali 5.3.1. Robotul StandfordArm 5.3.2. Robotul PUMA 600
120 123 131
135 136 139 145 145 150
6. Planificarea traiectoriei robo ţilor 6.1. Introducere 6.2. Formularea generalã a problemei planificãrii traiectoriei 6.3 Traiectoriile In spa ţiul variabilelor articulare 6.3.1. Calculul traiectorie în cazul 4-3-4 6.4. Planificarea traiectoriei In coordonate carteziene 6.4.1. Metoda ce folose şte matricea transformãrilor omogene 6.4.2. Traicetoria ci abateri limitã
155 155
7. Cercetãri experimentale experimentale 7.1. Robotul RIP 6,3 7.1.1. Caracteristici tehnice 7.1.2. Echipamentul de conducere CONTROL RE 7.1.3. Motoare electrice utilizate la acţionarea roboţilor RIP 6,3 7.2. Metoda de mãsurare 7.2.1. Aparatura de mãsura folosita
187 187 188 190
159 163 167 180 181 183
193 194 195
7.3. Rezultatele mãsuratorilor
196
8. Controlul geometric şi metode de calibrare 8.1. Procesul de calibrare 8.2. Controlul geometric 8.2.1. Instrumente de m ăsur ă 8.3. Incercãrile şi recepţia roboţilor industriali 208 8.4. Recepţia roboţilor industriali
205 205 207 208
9. Acţionarea şi comanda roboţilor industriali 9.1. Acţionarea electricã 9.2. Acţionarea hidraulicã 9.3. Acţionarea pneumaticã 9.4. Comanda robo ţilor industriali 9.4.1. Nivelul tactic
215 215 217 217 217 220
212
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 12.1. No ţiuni fundamenatele 12.2. Sisteme de fabricaţie asistatã de calculator 12.3. Sistemul flexibil de fabricaţie
237 238 240 242
Bibliografie
246
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
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.
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
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
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 3 3=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ã.
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
industriali apar ţinând acestei arhitecturi sunt : ESAB (Suedia) , Unimation ( SUA ) 6CH aRm Cincinnati Millacrom ( SUA ).
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 )
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.
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ã”
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.
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(q 1 , q2 , q3 ) ; z= z(q1 , q2 , q3 ) .
Intrucât fiecãrui vector “r” îi corespunde un anumit punct M şi trei coordonate q 1 , q2 , q3 , rezultã cã fiecare din aceste coordonate este funcţie de poziţia punctului caracteristic. q1(r)= q1( x,y,z ) ; q 2(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
aducţie - abducţie
ultimul element al mecanismului generator de traiectorie
pronaţie - supinaţie
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 :
- 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
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 întrun domeniu larg ) .
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;
- 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.
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
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 (1) A. CORPUL. a) Tipuri
b) GMMP
B. BRATUL a) Tipul
b) Numărul
Robot industrial (2) 1. MANIPULARE
Om (3)
1. Prismatic 1. Mobil 2. De revoluţie permiţând : 3.Combinat:prismatic - înclinare +revoluţi - rotaţie 4. Mobil - r ăsucire Stînga-Dreapta : R ăsucire : 180o 3-15 m la 500-1200 înclinare : 150o mmş Rotire : 90o 1. Rectangular 2. Cilindric 3. Sferic 4. Articulat Unul sau mai multe
1. Articulat umăr
,
în
Uzual douã , care nu pot opera absolut
(1) c) GMMP
C. INCHEIETURA a) Tipuri
b) GMMP
D. OPERATOR FINAL a) Tipuri
b) GMMP
(2) 300-3000 mm la 100-25000mm/s
independent (3) 625-1500 mm/s pentru mişcãri liniare
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.
R ăsucire : 35-500 o/s înclinare : 30-320 o/s Rotire : 30-300 o/s
R ăsucire : 180o înclinare : 180o Rotire : 90o
1. Mîna mecanică cu graifer mecanic sau cu vacuum. 2. Scula : pistol de vopsit , de sudat , etc. Se poate proiecta la dimensiuni variate.
1. Patru grade de libertate în configuraţie articulată. Cinci degete pe mână. Dimensiuni tipice : Lungime : 163208 mm Lăţime : 68-97 mm Adâncime : 20-33
mm (1)
(2) (3) 2. DIMENSIUNILE CORPULUI A. CORPUL a. înalţime 0,10-2,0 m înalţime 1,5-1,9m PRINCIPAL b. Lungime (braţ) Lungime (braţ) 0,20-2,0 m 754-947 m c. Lăţime 0,10-1,5 m Lăţime : 478-579 d. Greutate 5-8000 Kg m Greutate 45-100 Kg B. ARIA De la 0 la câţiva metri Raza de lucru PARDOSELII pătraţi medie de 1 metru patrat 3. FORTA SI PUTERE A.GREUTATEA 0,1 la 1000 Kg Sub 30 Kg. INCARCATURII BRATULUI B. PUTERE Propor ţional cu 2 CP la 10 încãrcãtura utilă 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 :
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 “vitezacursă”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 600 viteza [ grade/secunda]
500 400 300
200 100 0
100
200
300
400
500
Fig. 1.8. Rota ţia braţului sus-jos [ grade ]
600
500 400
viteza [grade/secunda]
300 200 100
0
100
200
300
400
500
600
Fig. 1.9. R ăsucirea încheieturii [ grade ] 600
viteza grade/sec
500
400 300
200
100
0
100
200
300
400
500
600
Fig. 1.10. Inclinarea încheieturii [ grade ]
600
viteza mm/sec
500
400 300 200 100 0 100
200
300
400
500
600
Fig. 1.11. Transla ţia braţului pe orizontală [ grade ] 600 viteza mm/sec
500
400 300 200 100
0
100
200
300
400
500
600
Fig. 1.12.Transla ţia braţului sus-jos [mm ]
600
500
viteza mm/sec
400 300 200 100
0 100
200
300
400
500
600
Fig.1.13. Rota ţia braţului stânga-dreapta [ mm ] 600 viteza mm/sec
500 400
300 200 100 0
100
200
300
400
500
600
Fig. 1.14. Transla ţia corpului ( coloanei ) [ mm ]
600
viteza mm/sec
500
400 300 200 100
0
100
200
300
400
500
600
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.
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.
TABELUL NR. 1.1. CARACTERISTICILE “ CURSĂ / VITEZĂ” ALE MODULELOR ROBOŢILOR INDUSTRIALI Modulul (1) Translaţia braţului pe orizontală N X Y DMC DVM Translaţia corpului N X Y DMC DVM Translaţia braţului pe verticala N X Y DMC DVM Rotaţia braţului stânga -
Piaţa americana (2)
Piaţa japoneza ( 3)
Total
32 1196,94 942,22
49 977,04 741,43
81 1063,91 820,75 300 - 3000 100 - 4500
8 2877,88 635,75
85 1320,00 466,71
93 1454,01 481,25 1000 - 6000 100 - 1500
33 1336,39 1036,85
118 853,05 489,36
151 958,68 609,01 50 - 4800 50 - 5000
(4)
dreapta N X Y DCM DVM (1) Rotaţia braţului sus - jos N X Y DMC DVC R ăsucirea încheieturii N X Y DMC DVM Inclinarea încheieturii N X Y DCM DVM Rotirea încheieturii N X
28 275,25 90,32
(2)
44 196,91 89,23
(3)
72 227,38 89,65 50 - 280 50 - 240 (4)
7 176,57 93,57
11 95,45 63,64
18 127,00 75,28 25 - 3330 10 - 170
33 312,58 158,18
79 250,13 99,05
112 268,53 116,47 100 - 575 35 - 600
29 183,97 144,93
37 174,86 97,84
66 178,86 118,53 40 - 360 30 - 320
18 281,94
30 203,07
48 323,65
Y DCM DVM
140,17
92,90
110,63 100 - 530 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
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 , .... , x m ] (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 : − Sθ i di ⎤ 0 ⎡ Cθi ⎢CαiSθi CαiCθi − Sαi − riSαi ⎥ i-1 ⎥ Ti = ⎢ (2.5) ⎢ SαiSθi SαiCθi Cαi riCαi ⎥ ⎢ ⎥ 0 0 1 ⎦ ⎣ 0 Conversia coordonatelor articulare în coordonate operaţionale se face prin rezolvarea problemei cinematice directe iar conversia coordonatelor coordonatelor opera ţionale în
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 : ⎡ sx nx ax Px⎤ ⎢ sy ny ay Py⎥ ⎡ A P⎤ i ⎥ = ⎢ T j = ⎢ (2.6) ⎥⎦ sz nz az Pz 0 1 ⎣ ⎢ ⎥ ⎢⎣ 0 0 0 1 ⎥⎦ 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 iT j. 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 : j V1 = jTi iV1 (2.7) j -1 - Dacă înmulţim relaţia (2.7) la stânga cu Ti , inversă lui jTi , obţinem : j -1 j Ti V1 = 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)
Z0 z2
y2
x2 x2
Rot(x,α) z1 Y0
Trans(y,d) X0
x1
y1 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 : 0 T2 = Rot(u,θ) Trans( x,d ) (2.10) - Dacă un triedru R 0 a suferit "k" transformări consecutive şi transformarea "i" este definită în raport cu triedrul mobil R i-1 , atunci matricea de transformare a coordonatelor de la sistemul "0" la "k" se poate deduce cu formula : 0 Tk = 0T1 1T2 2T3 ..... k-1Tk (2.11) - Inmulţirea a douã matrici de transformare se face dup ă formula:
T1T2
=
⎡ A1 P1⎤ ⎢0 1⎥ ⎣ ⎦
⎡ A2 ⎢0 ⎣
P 2⎤
1 ⎥⎦
=
⎡ A1 A2 A1P2 + P1⎤ (2.12) ⎢ 0 ⎥ 1 ⎣ ⎦ - 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 ă : A P ⎤ ⎡ I P ⎤ ⎡ A O⎤ T= = (2.14) 0 1 ⎥⎦ ⎢⎣0 1 ⎥⎦ ⎢⎣ 0 1 ⎥⎦ 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
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
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 : 0 Tn = 0T11T2.....n-1Tn (2.15) Vom nota U0 = 0T11T2......n-1Tn (2.16) ⎡ sx nx ax Px⎤ ⎢ sy ny ay Py⎥ ⎥ unde U0 = ⎢ (2.17) sz nz az Pz ⎢ ⎥ ⎢⎣ 0 0 0 1 ⎥⎦ 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 k Tk-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 : 1 T0 U0 = 1T2......n-1Tn (2.18)
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 q 1. Continuând să multiplicăm la stânga cu 2T1 şi reiterând , obţinem : U0 = 0T11T2.....5T6 1 T0 U0 =1T2.....5T6 2 T1 U1 = 2T33T4 5T6 (2.19) 3 3 4 5 T2 U2 = T4 T5 T6 4 T3U3 = 4T5 5T6 5 T4 U4 = 5T6 în anumite cazuri este posibil s ă rezolvăm problema cinematică inversă plecând de la q n 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ă : 0 P6 = 0P4 (2.20) Px⎤ 0⎤ Py⎥ 0⎥ 0 1 2 3 ⎥ = T0 T2 T3 T4 ⎥ (2.21) Pz⎥ 0⎥ 1 ⎥⎦ 1⎥⎦ Folosind relaţia (2.20) putem determina variabilele q1,q2,q2. Din (2.21) obţinem :
− S4 0 d4 ⎤ ⎡0⎤ ⎡ C4 ⎢0⎥ ⎢Cα 4S4 Cα 4C 4 − Sα 4 − r 4Sα 4⎥ 3 3 ⎥ P4 = T4 ⎢ ⎥ = ⎢ α α α α 0 S 4 S 4 S 4 C 4 C 4 r 4 C 4 ⎢ ⎥ ⎢ ⎥ ⎢⎣ 1⎥⎦ ⎢⎣ 0 ⎥⎦ 0 0 1
⎡0⎤ ⎢ 0⎥ ⎢ ⎥= ⎢ 0⎥ ⎢⎣ 1⎥⎦
⎡ d4 ⎤ ⎢ −r 4Sα 4⎥ ⎥ =⎢ (2.22) α r 4 C 4 ⎢ ⎥ ⎢⎣ 1 ⎥⎦ unde , cu Ci s-a notat Cos( θi) , iar cu Şi , Sin(θi). ⎡ d 4 ⎤ ⎡ f 1⎤ ⎢−r 4Sα 4⎥ ⎢ f 2⎥ 2 2 ⎥ = ⎢ ⎥ P4 = T3 ⎢ (2.23) α r 4 C 4 ⎢ ⎥ ⎢ f 3⎥ ⎢⎣ 1 ⎥⎦ ⎢ 1 ⎥ ⎣ ⎦ 2 Utilizând forma generală a lui T3 , putem determina pe f i : f 1(θ3) = C3d4+S3Sα4r 4+d3 f 2(q3) = Cα3(S3d4-C3Sα4r 4)-Sα3(Cα4r 4+r 3) f3(q3)= Sα3(S3d4-C3Sα4r 4)+Cα3(Cα4r 4+r 3)
(2.24)
Se observă că f 1 este funcţie numai de θ3 , în timp ce f 2 şi f 3 sunt funcţii de θ3 şi de r 2. Înmulţind la dreapta cu 1T2 , obţinem :
⎡ f 1⎤ ⎢ f 2⎥ 1 1 2 1 P4 = T2 P4 = T2 ⎢ ⎥ = ⎢ f 3⎥ ⎢ ⎥ ⎣1⎦ unde :
⎡ g1⎤ ⎢ g2⎥ ⎢ ⎥ ⎢ g3⎥ ⎢ ⎥ ⎣1⎦
(2.25)
cu :
g1( θ3,q3 ) = F1(θ3,q3) + d2 g2( q2,q3 ) = Cα2F2( q2,q3 )-Sα2F3( r 2, q3 ) (2.26) g3( q2,q3 ) = Sα2F2( q2,q3 ) + Cα2F3( r 2,q3 )
F1(θ3,q3 ) = C2f 1 - S2f 2 F2(q2,q3 ) = S2f 1 + C2f 2 (2.27) F3(q2,q3 ) = f 3 + r 2 Insfâr şit , înmulţind la stânga cu 0T1 , obţinem : ⎡C1 − S 1 0 0 ⎤ ⎡ g1⎤ ⎢ s1 C 1 0 0 ⎥ ⎢ g2 ⎥ 0 0 1 ⎥ ⎢ ⎥ (2.28) P4 = T1 P4 = ⎢ ⎢0 0 1 r 1⎥ ⎢ g3⎥ ⎢ ⎥ ⎢ ⎥ 0 0 1⎦ ⎣ 1 ⎦ ⎣0 Cum însă ⎡ Px ⎤ ⎢ Py ⎥ 0 P4 = ⎢ ⎥ ⎢ Pz ⎥ ⎢1⎥ ⎣ ⎦ rezultă coordonatele punctului caracteristic manipulat fa ţă de sistemul de coordonate fix : Px = C1g1 - S1g2 Py = S1g1 + C1g2 (2.29) Pz = g3 + r 1 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 : 3
A0 [ s n a ] = 3A6
(2.30)
Aceasta poate fi pus ă şi sub forma : 3 A0 [ s n a ] = 3A4 4A5 5A6 (2.31) i-1 În forma ei generală matricea Ai are forma : i-1 Ai = 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) 4A55A6 (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 T1(3,2) = -Sα5S5S6+(Sα5C5Cα6+Cα5Sα6)C6 T1(1,3) = S5Sα6
(2.36)
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 : 5 A4A(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 : 2 T (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.
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.
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 : tr (Q) − 1 qo= = cos ∅ 2 (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+. . . . . . . +a nn (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) = ∈ijk akj (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 + qo) / 2 Deasemeni între vectorul şi urma unei matrici exist ă relaţia :
⎢⎢vect(Q)⎢⎢2 + [tr(Q) - 1]2/4 = 1 (2.44) Fie douã matrici de rota ţie Q1si Q2. Vom nota prin q1 şi qo1 invarianţii liniari ai lui Q1 iar prin q2 şi q o2 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,qo1,q2,qo2,astfel : q=n/2D qo=(N-D)/2D (2.45) unde : D=(1+qo1)(1+qo2) N=(1+qo1)(1+qo2)(qo1+qo2+qo1qo2)+(q1q2)(q1q2-2D) n=(D-q1q2)[(1+qo2)q1+(1+qo1)q2+q1xq2] Ecuaţiile de mişcare se pot astfel scrie : f 1(θ) = 2 vect(Q1....Q6) - 2 u sin ∅ = 0 f 2(θ) = tr(Q1...Q6) -1-2co∅ =0 (2.46) f 3(θ) =
6
∑
[ai]1 -r =0
i =1
Putem grupa ultimele trei ecua ţii într-una astfel : f(θ) = [f 1(θ)T, f 2(θ)T, f 3(θ)T]T
(2.47)
f(θ) este un vector coloana cu 7 linii.Ecua ţiile f i(θ) =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 f R, f S,f T faţã de θ. Matricea δf R /δθ se calculează cu uşurinţã observând cã fiecare
Qi este o func ţie numai de “θ”`. Diferenţiând ecuaţia (2.46) faţă de θi, obţinem :
δf R δ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ă. δf R ⎯⎯ = (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 : δf R/ δθ = (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 : T δf S/δθ = -2 q A unde q = vect(P) (2.54) Vom calcula în cele ce urmeaz ă δf T/δθ. δf T/δθ = δr 1/δθ (2.55) unde r 1= a1 + [a2]1 +...+ [a6]1 (2.56) Ţinând cont de relaţia : [ai]1 = wi+1 x [a i]1,prin derivarea relaţiei (2.56) obţinem : r 1 = 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)
Substituind ecuaţia (2.58) în (2.57) ob ţinem : r 1 = B θ unde B este o matri ţã 3x6 definita astfel : B = [e x r 1,Q1e x r 2,....,Q1...Q5e x r 6] Astfel δf T /δθ = B Obţinem astfel matricea Jacobi ca o matrice 7 x 6 J=
(1 tr P - P) A -2qTA B
(2.59) (2.60) (2.61)
(2.62)
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) k I k unde (2.64) Δθ = J f(θ ) I J 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ă : δf R/ δθ = ( 1 tr P - P )A (2.66) δfs/δθ = -2qTA δ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 f R( θ), f S(θ),f T(θ) Acestea sunt componentele lui f( θ)=0,care reprezintă un sistem algebric neliniar dar care poate fi rezolvat pe cale numerică prin metoda Newton.
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. Z4 Z3
Z2
Z6
O3 O2 Y1
Xo
Fig.2.2.Schema cinematic ă a robotului PUMA 600
Notaţiile Hartemberg-Denavit ale robotului PUMA 600 sunt : i di r i αi θ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 t k se determină rezolvând problema cinematică directă. Matricile de transformare omogene ale robotului PUMA 600 au forma : ⎡C1 − S 1 0 0⎤ ⎢ S1 C 1 0 0⎥ 0 ⎥ T1 = ⎢ (2.68) ⎢0 0 1 0⎥ ⎢0 ⎥ 0 0 1⎦ ⎣ 0 ⎤ ⎡ C2 − S 2 0 ⎢ 0 ⎥ − 0 1 0149 . 1 ⎥ T2 = ⎢ (2.69) ⎢− S 2 −C 2 0 0 ⎥ ⎢ 0 ⎥ 0 0 1 ⎦ ⎣ ⎡C3 − S 3 0 ⎤ ⎢ S 3 C 3 0 0⎥ 2 ⎥ T3 = ⎢ (2.70) ⎢0 0 1 0⎥ ⎢0 ⎥ 0 0 1⎦ ⎣ 0 T3 = 0T1 1T2 2T3 (2.71)
⎡ X 4⎤ ⎡ x ⎤ ⎢ Y 4 ⎥ ⎢ ⎥ ⎢ ⎥ = 0T3 ⎢ y ⎥ (2.71) ⎢ Z 4 ⎥ ⎢ z ⎥ ⎢1⎥ ⎢ 1⎥ ⎣ ⎦ ⎣ ⎦ Pentru robotul Puma relaţia de mai sus devine : ⎡ X 4⎤ ⎡−0,02⎤ ⎢ Y 4 ⎥ ⎢0,432 ⎥ 0 ⎢ ⎥ = T3 ⎢ ⎥ (2.72) ⎢ Z 4 ⎥ ⎢ 0 ⎥ ⎢1⎥ ⎢ 1 ⎥ ⎣ ⎦ ⎣ ⎦ 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)2 0.864Cosθi(t)Sin θ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[2 2 Cos θi(t)+Sin θ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.
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.
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 = Px ^ 2 + Py ^ 2 + Pz ^ 2 = 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.
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 :
⎡ Px⎤ ⎡−C1( S 23D4 − C2 D3) ⎤ ⎢ Py⎥ = 0P ⎢ − S1( S 23D4 − C2 D3) ⎥ (2.78) 4 ⎢ ⎢ ⎥ ⎥ ⎢⎣ Pz ⎥⎦ ⎢⎣ C23D4 + S 2 D3 ⎥⎦ 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 : 3 A0[ s n a ] = 3A44A5 (2.79) 3 4 Se noteazã [ F G H ] = A4 A5 . (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 ⎢ Fy ⎢ ⎢⎣ Fz
Gx Gy Gz
⎡C4C5 − C4 C5 − S 4 ⎤ ⎥ ⎢ ⎥ Hy = S 4C5 − S 4 S5 C4 ⎥ ⎢ ⎥ ⎢⎣ − S 5 − C 5 Hz ⎥⎦ 0 ⎥⎦ Hx ⎤
Din aceastã ecuaţie , identificând : C4=Hy , -S4=Hx , -C5=Gz , -S5=Fz se obţin θ4 şi θ5.
(2.81)
(2.82)
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, z) D( 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= în care
D( x , y, z)
∫∫∫ D(u, v, w) dudvdw V
(2.85)
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 : u2
V=
∫
u1
v2
du
∫
v1
w2
dv
∫
w1
D( x , y, z) D( 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 şi cunoaştem. Deci cunoscând u1,u2,v1,v2,w1,w2 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
caracteristic. Folosind notatiile H-D vom nota prin q i 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]iT 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 :
∫∫ D
1+ (
δ _ z δ _ x
)^ 2 + (
δ _ z δ _ y
)^ 2 dxdy
(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 q i “ şi putem folosi formule trigonometrice, eventual ecuaţia fundamentalã.
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 u2
V=
∫
u1
v2
du
∫
v1
w2
dv
∫
w1
D( x , y, z) D( 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 şi cunoscând u1, u2, v1, v2, w1, w2 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.
Efectuând calculele conform metodologiei expuse mai sus obţinem : (0.432+c3) (c1c2-s1s2) r 1= (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 ^ 2 + y ^ 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 − x ^ 2 + y ^ 2 )^ 2 − 0.149 (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”.
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
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 : t 2
E = ∫ Pdt
(2.95)
t 1
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ã.
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.127271Pi 4)/Pi E3=5(-0.041319+0.0381736Pi4)/Pi E4=0.00105295 Pi3 10 E5=0.000479288 Pi 3 10 E6=0.0000438153Pi3 10 E=E1+E2+E3+E4+E5+E6 =195.864 Pi +0.72246 Pi 3 = 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ã
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 0Tnf matricile omogene care descriu situa ţia iniţialã şi pe cea finalã a enfefectorului în spa ţiul operaţional. 0
⎡Ai Tni = ⎢ ⎣0 ⎡ Af Tnf = ⎢ ⎣0
0
Pi ⎤
1 ⎥⎦ Pf ⎤
1 ⎥⎦
(2.96)
(2.97)
Mişcarea rezultantã va avea ecua ţia : 0
⎡ A(t ) P(t )⎤ Tn(t) = ⎢ ⎥ 0 1 ⎣ ⎦
(2.98)
La nivelul coordonatelor articulare q i ( 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 :
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 : f 1(θ3) = C3d4+S3Sα4r 4+d3 f 2(q3) = Cα3(S3d4-C3Sα4r 4)-Sα3(Cα4r 4+r 3) (2.101) f3(q3)= Sα3(S3d4-C3Sα4r 4)+Cα3(Cα4r 4+r 3) g1( θ3,q3 ) = F1(θ3,q3) + d2 g2( q2,q3 ) = Cα2F2( q2,q3 )-Sα2F3( r 2, q3 ) (2.102) g3( q2,q3 ) = Sα2F2( q2,q3 ) + Cα2F3( r 2,q3 ) cu : F1(θ3,q3 ) = C2f 1 - S2f 2 F2(q2,q3 ) = S2f 1 + C2f 2 (2.103) F3(q2,q3 ) = f 3 + r 2 Px = C1g1 - S1g2 Py = S1g1 + C1g2 (2.104) Pz = g3 + r 1 Px , Py , Pz reprezintã coordonatele opera ţionale. Pentru operativitatea calculelor se noteazã : C1g1-S1g2 = K 1(q1,q2,q3) S1g1+C1g2 = K 2(q1,q2,q3) g3+r 1 = K 3(q1,q2,q3)
(2.105)
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 : K 1(q1,q2,q3) = u(t) K 2(q1,q2,q3) = v(t)
(2.107)
K 3(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 t f : t0
(2.109)
Pentru fiecare poziţie `k` de pe traiectoria impusã se rezolvã problema cinematicã inversã, obţinându-se coordonatele
articulare q1k , q2k , q3k . La sfâr şit se obţin trei vectori , dupã cum urmeazã : q1 = [q11 , q12 , ........, q1m-1 , q1m] q2 = [q21 , q22 , ........, q2m-1 , q2m]
(2.110)
q3 = [q31 , q32 , ........, q3m-1 , q3m] Din relaţiile (2.110) putem sã determinãm prin interpolare qi = qi(t) , generarea mişcãrii între coordonatele articulare qik-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. 0 P6 = 0P4 (2.111)
Px = C1g1 - S1g2 Py = S1g1 + C1g2 (2.112) Pz = g3 + r 1 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+Py2+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 u 2(t,tm)-0,18 u(t,tm) (2.120)
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=”a 3”. Pentru elementul “3” legea de mi şcare este : t3(t,q) = ArcCos[(1/1,34 q) ( 0,095u 2-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
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 ( a 3) , 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
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 P 1 ş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 P 1 şi P2. ( q1 , q 2 , q3 ) vor fi coordonatele corespunzãtoare lui P 1 şi ( q`1 , q`2 , q`3 ) vor fi coordonatele corespunzatoare lui P 2. ( 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) q2(t) = q2 + (q`2-q2) q3(t) = q3 + (q`3-q3)
t tm t tm t
(2.122)
tm
t∈[0,tm] . Fie t m = 1 secundã. Astfel (4.60) devine : q1(t) = 0,493936 + 0,597234 t q2(t) = -1,44054 + 0,00656 t
(2.123)
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 − Sθ i di ⎤ 0 ⎡ Cθi ⎢CαiSθi CαiCθi − Sαi − riSαi ⎥ i-1 ⎥ (2.124) Ti = ⎢ ⎢ SαiSθi SαiCθi Cαi riCαi ⎥ ⎢ 0 ⎥ 0 0 1 ⎦ ⎣ 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 : ⎡C1 − S 1 0 0⎤ ⎢ S1 C 1 0 0⎥ 0 ⎥ T1 = ⎢ (2.126) ⎢0 0 1 0⎥ ⎢ ⎥ 0 0 1⎦ ⎣0 0 ⎤ ⎡ C2 − S 2 0 ⎢ 0 ⎥ − 0 1 0149 . 1 ⎥ T2 = ⎢ (2.127) ⎢− S 2 − C 2 0 0 ⎥ ⎢ 0 ⎥ 0 0 1 ⎦ ⎣
⎡C3 − S 3 0 0⎤ ⎢ S 3 C 3 0 0⎥ 2 ⎥ T3 = ⎢ ⎢0 0 1 0⎥ ⎢ ⎥ 0 0 0 1 ⎣ ⎦ 0 0 1 2 T3 = T1 T2 T3 ⎡ X 4⎤ ⎡ x ⎤ ⎢ Y 4 ⎥ ⎢ y ⎥ 0 ⎢ ⎥ = T3 ⎢ ⎥ ⎢ Z 4 ⎥ ⎢ z ⎥ ⎢ 1⎥ ⎢ 1⎥ ⎣ ⎦ ⎣ ⎦ Pentru robotul Puma relaţia de mai sus devine : ⎡ X 4⎤ ⎡−0,02⎤ ⎢ Y 4 ⎥ ⎢0,432 ⎥ 0 ⎢ ⎥ = T3 ⎢ ⎥ ⎢ Z 4 ⎥ ⎢ 0 ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ 1⎦ ⎣ 1 ⎦ Pentru a rezolva sistemul sistemul (2.131) , se urmãtorul program în limbajul Mathematica 2.1.
(2.128) (2.129) (2.130)
(2.131) va apela la
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]];
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 P 1 ş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
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
limitele elementelor de acţionare. Mai precis el trebuie sã deplaseze un obiect dintr-un punct M 1 î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
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 + r 1 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+Py2+Pz2 (2.134) Inlocuind în (2.134) obţinem : D2 =0,6605+0,6164 Cos(t 3) 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)
z(t)=0,40-0,10 u(t) D2=x(t)2+y(t)2+z(t)2 = 0,42 + 0,095 u 2(t,tm) - 0,18 u(t,tm) (2.139) t3(t,tm) = ArcTan [ 0,095 u 2(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)
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 t m în intervalul 0-5 secunde. Valorile mici ale lui t m 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 t m care respectã restricţiile de vitezã şi acceleraţie, impuse de limitãrile elementelor de ac ţionare.
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 v 1 ş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.
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 P 1 ş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]]-
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ã :
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) 2 3 z(t) = 0,40 - 0,10 ( 3t -2t ) 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) q2(t) = q2 + (q`2-q2) q3(t) = q3 + (q`3-q3)
t tm t tm t
(2.141)
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 q3(t) = -0,018476 + 0,228319 t
(2.142)
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.
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 (P x, Py, P z) 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[q 3] )- 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[q 3] ) (2.144) 2 2 2 H1 = Px + Py + ( Pz - r 1 ) q (2.145) 2 2 2 H1 = x(t) + y(t) + z(t) q (2.146) 2 2 2 2 2 2 Px + Py + ( Pz - r 1 ) = x(t) + y(t) + z(t) (2.147) Efectuând calculele, în final obţinem: −0,20834 + 0,047056 − k ^2 q3(t) = 2 Arctan [ ] 0,02 + k unde , k = 0,1284 u 2 - 0,20834 u + 0,028 , şi t∈[0,1].
Î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 : r 0 = x i + y j + z k (2.148) unde :
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 = d(y)0 = d(z)0 =
δ x δ q1 δ y δ q1 δ z δ q1
dq1 + dq1 + dq1 +
δ x δ q 2 δ y δ q 2 δ z δ q 2
dq2 + .....+ dq2 + .....+ dq2 + .....+
δ x δ qn δ y δ qn δ z δ qn
dqn dqn (2.150) dqn
|d(r)0| = [d ( x )o]^2 + [d ( y )o]^2 + [d (z )o]^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 dq i. 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
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 q i coordonatele generalizate ale modulului “i” q i=qi(t). In funcţie de tipul cuplei cinematice, rotaţie R sau transla ţie T, avem : qi =
θi, dacă cupla cinematică este de tipul R 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 cosθi Qi = cosαi sinθi sinαi sinθi
(2.153)
-sinθi
0
cosθi cosα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,
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 1 2 3 4
αi 0 -90 0 90
θi iniţial 0 0 0 0 -0.149 0 0.432 0 0 0.02 -0.432 0 ai
bi
Pentru simplificarea notaţiilor vom nota : şi cosθi = ci sinθi = şi Efectuând calculele conform metodologiei expuse mai sus,obţinem : −0.02 . r 3 = 0432 0 [r]2 = a3+Q3 [r]3
⎡0,432⎤ ⎡cθ 3 − sθ 3 0⎤ ⎢ 0 ⎥ + ⎢ sθ 3 cθ 3 0⎥ r 2 = ⎢ ⎥ ⎢ ⎥ ⎢⎣ 0 ⎥⎦ ⎢⎣ 0 0 1⎥⎦ ⎡− 0,02⎤ ⎡0,432 − 0,02c3 − 0,432s3⎤ ⎢ 0,432 ⎥ = ⎢ − 0,02s3 + 0,432c3 ⎥ ⎢ ⎥ ⎢ ⎥ ⎢⎣ 0 ⎥⎦ ⎢⎣ ⎥⎦ 0 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.02s 2c3+0.432s2s3-0.432c2+0.02c 2c3+0.432c 2s3 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) ∂ x 0 ∂ q1
= -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)) ∂ x 0 ∂ q 2
=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)) ∂ x 0 ∂ q 3
=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))
Deci : d(x)0=
∂ x 0 ∂ q1
dq1+
∂ x 0 ∂ q1
dq2+
∂ x 0 ∂ q1
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 q 1=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.
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 T ∅k * = -( ⎯ ) mk ck - ( ⎯⎯ )T hk δq δq
(3.1)
∅k * este un vector n-dimensional, iar h k 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 Ik wk
(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 T ∅* = ∑ ∅k * = -∑ [( ⎯⎯ ) mk ck + ( ⎯⎯ )T hk ]. δq δq
(3.3)
Pe de altă parte, dacă asupra elementului “k” se acţioneazã cu un sistem de for ţe şi momente care produc o for ţã
rezultanta f k 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 T T (3.4) ∅k = ( ⎯⎯ ) f k + ( ⎯⎯ ) nk . δq δq Vectorul n-dimensional al for ţelor active generalizate care acţionează asupra sistemului este definit mai jos :
δck δwk T T ∅ = ∑ [( ⎯⎯ ) f k + ( ⎯⎯ ) nk ], δq δq
(3.5)
Astfel ecuaţia dinamicã a sistemului devine : (3.6) ∅ + ∅ * = 0 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
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 Z i a intersecţiei lui Xi-1 şi Zi; θi = unghiul dintre Xi-1 şi Xi în direcţia axei Zi. X-
X Oi ai
Zi
bi Y Yi-1 O-
Z-
Fig.3.1. Triedrele modificate.
Hartemberg-Denavit
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” calculează cu relaţiile :
se
wi-1+θ i ei, dacă cupla cinematică “I” este de rotaţie (R) wi= wi-1 wi-1 +wi-1 x wi= wi-1
(3.10) , dacă cupla cinematică “i” este de translaţie(T)
θi ei +θi ei , dacă cupla cinematică “i” este (R) (3.11) ,dacă cupla cinematică”i” este “T”
pentru i=1,2,....,n, unde w o ş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 + cinematică “i” este R
[wi]i =
QiT[wi-1]i-1
θiei
]i , dacă cupla
(3.13) , 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 sau, în coordonatele sistemului “i” :
(3.14)
[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] = QiT [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 = QiT [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.
ei+1
element i element i-1
(3.19)
ei
Oi-1
0i+1 ai
ai+1 Ci
-
Oi O c
Cc-
Fig.3.2. Elemente succesive articulate printr-o cuplă de rotaţie
ei+1 ei elementul
Oi+1
elementul i-1
Oi
ai
Ci
Oi-1 d
b ci
-
C-
Oo
ci-1
Fig.3.3. Elemente succesive articulate printr-o cuplă de translaţie. pentru i=1,2,....,n,,unde c o ş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 ai =
,dacă cupla cinematică “i”este de tipR (3.20) wi-1 x ai-bi ei, dacă cupla cinematică “i” este de tip T
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 + τ, unde ∅g şi formă :
∅g = ∑ (
∅d
(3.21)
sunt vectori n-dimensionali având urmãtoarea
δ ck T δ q
) mk g
(3.22)
∅d = [ ∅d1, ∅d2, ∅d3,......∅dn ]T τ = [ τ1, τ2,..........,τn ]T
(3.23) (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 + ∑ [ (δw j / δq )T h j + (δc j / δq )T m j (c j-g)] Bazându-ne pe defini ţia triedrelor generalizate vor avea urmãtoarele forme:
θi, dacă cupla qi =
H-D,
(3.26) coordonatele
cinematica “i” este de tip R (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 :
δw j A j = ⎯⎯ , δq
δc j B j = ⎯⎯ , pentru j=1,2,.....,n δq
(3.28)
A j şi B j reprezintă matricile Jacobi asociate elementului “i” şi sunt matrici 3 x n. Dacă toate cuplele cinematice sunt de tip R atunci : A j = [ e1,e2,......,e j,0,.....,0] (3.29) B j = [ e1 x s j1,e2 x s j2,....,e j x s jj,0,...0]. (3.30) Dacă cupla cinematică “i” este de tip T atunci pentru i=1,2,...,j avem : A j = [ e1,e2,.....,ei-1,0,ei+1,....,e j,....,0] (3.31) B j = [e1 x s j1,...,ei-1 x s j,i-1,ei,ei+1 x s j,i+1,...,e j x s jj,0,...,0] (3.32) unde “s ji” este vectorul de poziţie al centrului de greutate al elementului “j” C j faţă de originea sistemului “i” Oi şi se defineşte astfel : ai+1+...+a j+ρ j, dacă i
(3.33)
ρ j
, dacă i=j Astfel, introducând expresiile de mao sus în (3.26) ob ţinem :
τ = -∅d + ∑ [ A jT h j + B jT m j (c j -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.
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 =
n
∑
( e i ⋅ h j +ei x s ji ⋅ m j p j ) = e i ⋅
j =i
n
∑
( h j +s ji x m j p j) ;
j =i
(3.36)
(ii)
dacă cupla cinematică “i” este de tip T, atunci :
τi=
n
∑
ei ⋅ m j p j = ei
j =i
n
∑
m j p j.
(3.37)
j =i
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 ⋅
n
∑
[h j +s ji x m j p j]i ;
(3.38)
j =i
(ii) dacă cupla cinematică “i” este de tip T,atunci :
τi =
[ei ]i ⋅
n
∑
m j[p j]i.
(3.39)
j =i
Dacă îl calculăm pe
τi
succesiv de la
τn la τ1, atunci termenul
n
∑
[ h j +s ji x m j p j]i din ecuaţia (3.38) se poate calcula din
j =i n
∑
[ h j + s ji x m j p j]i+1, iar termenul ∑m j[p j]i din ecuaţia (3.39 )
j =i
se poate calcula în funcţie de Deci :
∑ m j [p j]i+1.
n
∑
n
[ h j +s ji x m j p j ] i =
j =i
∑
[ h j +(s j,i+1 +a i+1) x m j p j ] i + [hi +
j =i +1 n
sii x mi pi ]i =
∑
n
[h j +s j,i+1 + m j p j ]i+[ai+1]i x
j =i +1
∑
m j[p j]i + [hi
j =i +1 n
+ sii x mi pi]I = Qi+1
∑
[ h j + s j,i+1 x m j p j ]i+1 + k i
(3.40)
j =i +1
unde k i este definit astfel : n
∑
k i = [hi]i +[sii]i x mi[pi]i + [ai+1]i x
m j [p j]i
(3.41)
j =i +1
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 : n
∑
n
m j [p j]i = mi [pi]i +Qi+1
j =i
∑
m j [p j]i+1.
(3.42)
j =i +1
Pentru calculele recursive de mai sus am folosit relaţia de transpunere a unui vector dintr-un sistem de coordonate intraltul. [r]i = ai +Qi+1[r]i+1 Derivând expresia de mai sus obţinem : [r]i = Qi+1 [r]i+1
(3.43) (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.
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 )
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. _ T ∂ ) = Qk dt ∂ qk ∂ _ qk d
(
∂ T
(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 q21 ; T2 = 1/2 J (2)Δ2 q21 + 1/2 m 2 q22 T3 = 1/2 J(3)Δ2 q21 + 1/2 m 3 q22+ 1/2 J(3)Δ2 q23 (3.46) (4) 2 2 (4) 2 T4 = 1/2 J Δ1 q 1 + 1/2 m 4 q 2+ 1/2 J Δ2 q 3 +1/2 m4 q24 T5 = 1/2 J(5)Δ1 q21 + 1/2 m 5 q22+ 1/2 J(5)Δ2 q23 +1/2 m5 q24 +1/2 m5q25 T6+7 = 1/2 J(6+7)Δ1 q21 + 1/2 (m6+m7) q 22+ 1/2 J(6+7) Δ2 q23 +1/2 (m6 m7) q24 + 1/2 (m6 + m7) q25 + 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
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 q k . In aceste condiţii, energia cinetică T a sistemului ,având în vedere relaţii (3.46) si (3.47) devine : 3
T = 1/2 {[
∑
J
Δ1 +
(i)
i =1
5
∑
J(i)Oi,1 +
J (6+7)O6,1 +
5
(
i =4
2
∑
mi ) ( q4 +
i =4
2
l3 ) + m5 (q5 + l4) + + ( m6 + m7 ) ( q5 + l4 +l5 )2 ] q21 + 7
(
∑
4
2
mi) q 2 + [
i =2
∑
J(i)Δ2 + J(i)O5,2 + J(6+7)O6,2 +
(3.48)
i =3
2
2
2
7
+ m5 (q5 + l 4 ) + (m 6 + m 7 ) (q 5 + l 4 + l 5 ) ] q 3 + (
∑
mi ) q 24
i =4
7
+(
∑
mi ) q25+ J(6+7) Δ3 q26 }
i =5
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 :
δWk =
6
∑ k =1
Fk δr k k +
6
∑
Mk
δθk
(3.50)
k =1
Se adoptă sistemul de referinţă O1xyz având axa O 1z 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 r 5 = O1O5 = [( q4+l3)sq1+(q5+l4)cq1 cq3 ] i + [ (q4+l3) cq1-( q5+l4) sq1 cq3 ] j + + [l 1+l2+q2-(q5+l4) sq3 ]k (3.51)
δr 5 = O1O5 = [sq1δ q4+( q4+l3)cq1δq1+cq1cq3 δq5 - (q5+l4) (sq1 δq1 +sq3 δq3] i + [cq1 δq4 + (q 4+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 )
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 ; 7
Q2 = F2 - F5 sq3 -
∑
Pi
i =2
7
Q3 = M3+[(
∑
7
Pi ) (q5+l4) + (
i =5
∑
Pi ) l5 + P7l6 ] cq3
i =6
Q4 = F4 7
Q5 = F5 + (
∑
Pi ) sq3
i =5
Q6 = M6 Obţinem în final cele şase ecuaţii dinamice ale robotului:
3
∑
[
5
∑
Δ1 +
(i)
J
i =1
J(i)Oi,1 +
J(6+7)O6,1 +
i =4
5
(
∑
mi ) ( q4 + l3 )2 + m5
i =4
2
7
2
(q5 + l4) + + ( m6 + m7 ) ( q5 + l4 +l5 ) ] q1 +2[ (
∑
mi)
i =4
7
(q4+l3)q4+
(
∑
mi
)
(q5+l4)q5+(m6+m7)l5q5]q1-
F5
i =5
(q4+l3)cq3+M6sq3=M1 7
(
∑
7
mi )q2 +F5sq3 = F2 -
i =2
4
∑
[
∑
Pi
i =2
J(i)Δ2 + J (5)O5,2 + J (6+7)O6,2 + m 5 (q5 + l 4)2 + ( m 6 + m 7 ) ( q5
i =3
+ l4 +l5 .)2 ] q3 + 2[(
7
∑
7
mi) (q5+l4)q5+(m6+m7)l5q5]q3-[(
i =2
∑
Pi
i =5
7
)(q5+l4)+ (
∑
Pi )l5+P7l6]cq3 = M3
i =6
7
(
∑ i =4
6
mi) q4-[(
∑
∑ i =5
(3.53 )
i =4
7
(
mi) (q4+l3)q21 = F4
6
mi) q5 - [(
∑ i =5
mi) (q5+l4)+m6l5](q21+q23)-
7
(
∑
Pi) sq3 = F5
i =5
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) .
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 x c , yc ,z c 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 : ⎡ Jxx − Jxy − Jxz⎤ J=
⎢− Jyx Jyy − Jyz⎥ ⎢ ⎥ ⎢⎣ − Jzx − Jzy Jzz ⎥⎦
(3.54)
unde : Jxx , J yy , J zz reprezintă momentele de iner ţie axiale , iar Jxy , J yz , Jzx reprezintă momentele de iner ţie centrifugale. Momentele de iner ţie axiale se determină cu ajutorul relaţiilor : Jxx = m ( y 2+z2 ) Jyy = m ( z2+x2 ) (3.55) 2 2 Jzz = m ( x +y )
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, d 1 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 J xy , 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 momentelor de iner ţie axiale faţă de axe concurente.
variaţiei
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
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. R 1 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θ
y = b + r cosθ z=z Jacobianul transformarii este : δ x / δr δx / δθ δx / δz cosθ
− r sinθ
0
J = δ y / δr
δy / δθ
δy / δz =
sin θ
r cosθ
0 (3.61)
δ z / δr
δz / δθ
δz / δz
0
0
Jzz =
(3.60)
∫ ( x^2 + y^2)dm
1 (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 R
Jzz =
ρ
H + h
2 Pi
∫ ∫ ∫ 0
2
[(b+rsinθ)2 + ( a+r cos θ)2]rdrdθdz = MR 2/2 +
h
0
2
M ( a + b ) Analog : Jxx
(3.64)
∫∫∫
ρ
=
b+rsinθ
[(
)2+z2]
Mb2+MR 2/4+MH2/3+M(Hh+h2) Jyy
ρ ∫∫∫
=
[(
a+rcosθ
)2+z2]
rdrdθdz
( 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. MR 2/4+MH2/3+M(Hh+h2) = E , şi -M(H+2h)/2 = A obţinem expresia tensorului de iner ţie : Aa − Mab ⎡ E + Mb^ 2
-
E
+ Ma^ 2 bA
=
(3.66)
Jxy = ρ
J= ⎢ − Mab ⎢ ⎢⎣ aA
=
(3.65)
Ma2+MR 2/4+MH2/3+M(Hh+h2)
∫∫∫ = ρ ∫∫∫ = ρ ∫∫∫
rdrdθdz
⎤ ⎥ (3.70) Ab ⎥ MR^ 2 / 2 + M (a ^ 2 + b^ 2 ) ⎥⎦
Analog se determinã tensorii de iner ţie pentru : corpuri cilindride tubulare
-
corpuri paralelipipedice corpuri piramidale corpuri conice şi tronconice
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.
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 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.
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
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, q i ş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
q(0) = 0 q(tf ) = 0
(4.7) q j qf j tf
qi j
t
q j (qf j-qi j)tf
t q j 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/tf 3 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.
q j
qf j
qi j q j
tf t
q j 3|D j|/2tf
t q j 6|Dj|ţf 2 t
Fig.4.2. Interpolarea cu polinoame de gradul trei pentru un modul
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+k 1 (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 :
Dar ,
qi(t) = vm t
(4.16)
qi(t) = vm t2/2+k 3
(4.17)
qi(τ) = amτ2/2 , din condiţia de continuitate în τ.
vmτ2/2+k 3 = amτ2/2 => k 3 = τ2/2(am-vm)
(4.18)
Deci , qi(t) = vmt2/2+τ2/2(am-vm) Pentru t = tf -τ , (4.19) devine :
(4.19)
qi(tf -τ) = (vmtf 2+τ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+k 4
(4.23)
Din (4.22) obţinem : k 4 = amtf , şi deci : qk (t) = -amt+amtf
(4.24)
Integrând (4.23) se obţine : qk (t) = (-amt2+amtf t )/2+k 5
(4.25)
Din condiţia de continuitate în t f -τ se obţine : k 5 = ( 2amτ2-amtf τ+vmtf 2-2vmtf τ)/2
(4.26)
Deci , pentru diagramele de varia ţie a vitezelor şi acceleraţiilor impuse gradului de libertate “k” se ob ţine :
qk (t) =
amt2/2
pentru t ∈ [o, τ]
[vmt2+τ2(am-vm)]/2
pentru t ∈(τ,tf -τ]
[-amt2+amtf t]/2+[2amτ2-amtf τ+vmtf 2-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
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 t f /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
q(t) = qi+[-1+4( t/tf )-2( t/tf )2 ] D
, pentru tf /2
Valoarile maxime ale vitezei şi acceleraţiei sunt : Vmax = 2|D j|/tf
(4.29)
amax = 4|D j|/tf 2
(4.31)
q j q j q j i tf /2
tf
t
q j
2|D j|/tf
t q j
4|D j|/tf 2 t Fig. 4.3. Legea de mişcãre Bang-Bang
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.
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 0Tnf matricile omogene care descriu situa ţia iniţială şi pe cea finală a enfefectorului în spa ţiul operaţional. ⎡Ai Tni = ⎢ ⎣ 0
0
0
⎡ Af
Tnf = ⎢ ⎣ 0
Pi ⎤
1 ⎥⎦
Pf ⎤
1 ⎥⎦
(4.32)
(4.33)
Mişcarea rezultantă va fi descrisă de ecuaţia : 0
⎡ A(t ) P (t )⎤ Tn(t) = ⎢ ⎥ 0 1 ⎣ ⎦
(4.34)
La nivelul coordonatelor articulare q i ( 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 : f 1(θ3) = C3d4+S3Sα4r 4+d3 f 2(q3) = Cα3(S3d4-C3Sα4r 4)-Sα3(Cα4r 4+r 3) (4.37) f3(q3)= Sα3(S3d4-C3Sα4r 4)+Cα3(Cα4r 4+r 3) g1( θ3,q3 ) = F1(θ3,q3) + d2 g2( q2,q3 ) = Cα2F2( q2,q3 )-Sα2F3( r 2, q3 ) (4.38) g3( q2,q3 ) = Sα2F2( q2,q3 ) + Cα2F3( r 2,q3 ) cu : F1(θ3,q3 ) = C2f 1 - S2f 2 F2(q2,q3 ) = S2f 1 + C2f 2 (4.39) F3(q2,q3 ) = f 3 + r 2 Px = C1g1 - S1g2 Py = S1g1 + C1g2 (4.40)
Pz = g3 + r 1 Px , Py , Pz reprezintă coordonatele operaţionale. Pentru operativitatea calculelor se noteaz ă : C1g1-S1g2 = K 1(q1,q2,q3) S1g1+C1g2 = K 2(q1,q2,q3)
(4.41)
g3+r 1 = K 3(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 : K 1(q1,q2,q3) = u(t) K 2(q1,q2,q3) = v(t)
(4.43)
K 3(q1,q2,q3) = w(t) Prin rezolvarea sistemului (4.43) se ob ţin soluţiile acestuia : q1 = q1(t) q2 = q2(t) q3 = q3(t)
(4.44)
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
(4.45)
Pentru fiecare poziţie `k` de pe traiectoria impusă se rezolvă problemă cinematică inversă , obţinându-se coordonatele articulare q1k , q2k , q3k . La sfâr şit se obţin trei vectori , după cum urmează : q1 = [q11 , q12 , ........, q1m-1 , q1m] q2 = [q21 , q22 , ........, q2m-1 , q2m]
(4.46)
q3 = [q31 , q32 , ........, q3m-1 , q3m] Din relaţiile ( 4.46 ) putem s ă determinăm prin interpolare qi = qi(t) , generarea mi şcării între coorodnatele articulare qik-1 si q ik , 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.
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
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 următoarea configuraţie :
s-a folosit un calculator având
PC AT 486/DX2 100MHz/HDD 1,2GB/32MB RAM/.
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ã
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)])
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]];
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[i1]+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[i1]+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];
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]];
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]];
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+
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]];
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.
αi
Articulaţia
[gr] 1 0 2 -90 3 -90 4 0 5 90 6 -90 Parametrii iner ţiali ai celor şase mai jos :
m1= 9,0
[ρ1]1=
⎡0⎤ ⎢0⎥ ⎢ ⎥ ⎢⎣0,1⎥⎦
ai [m] 0 0 0 0 0 0 grade de
[I1]1 =
⎡0,02 ⎢ 0 ⎢ ⎢⎣ 0
bi θi [m] [gr] -0.1 0 -0.1 90 0 0 -0.6 0 0 0 0 0 libertate sunt redaţi
0 0,01 0
⎤ ⎥ 0 ⎥ 0,01⎥⎦ 0
m2= 6,0
m3= 9,0
m4= 1,0
m5= 0,6
m6= 0,5
0 ⎤ ⎡0 ⎤ ⎡0,05 0 ⎢ ⎥ [I ] = ⎢ 0 0,01 0 ⎥ [ρ2]2= 0 2 2 ⎢ ⎥ ⎢ ⎥ ⎢⎣0⎥⎦ ⎢⎣ 0 0 0,06⎥⎦ 0 ⎤ ⎡0 ⎤ ⎡0,03 0 ⎢ ⎥ [I ] = ⎢ 0 0,4 0 ⎥ [ρ3]3= 0 3 3 ⎢ ⎥ ⎢ ⎥ ⎢⎣0⎥⎦ ⎢⎣ 0 0 0,01⎥⎦ 0 0⎤ ⎡0⎤ ⎡0,001 ⎢ 0 ⎥ [I ] = ⎢ 0 ⎥ [ρ4]4= 0,0005 0 ⎢ ⎥ 44 ⎢ ⎥ ⎢⎣0,1⎥⎦ ⎢⎣ 0 0 0⎥⎦ 0 0 ⎤ ⎡ 0 ⎤ ⎡0,0005 ⎢ ⎥ ⎢ ⎥ [ρ5]5= 0,06 [I5]5 = 0 0,0002 0 ⎢ ⎥ ⎢ ⎥ ⎢⎣ 0 ⎥⎦ ⎢⎣ 0 0 0,0005⎥⎦ 0 0 ⎤ ⎡0⎤ ⎡0,003 ⎢ 0 ⎥ [I ] = ⎢ 0 ⎥ [ρ6]6= 0,001 0 6 6 ⎢ ⎥ ⎢ ⎥ ⎢⎣0,2⎥⎦ ⎢⎣ 0 0 0,002⎥⎦ măsurã pentru mi, ρi, Ii, sunt respectiv : (Ns2/m) ,
Unităţile de (m) , (N s 2 m).
Z4 X3
Y3
Y4 Z5
O4 3 2
X2
O3
O5
5
EE O6
6
Y2
Z2
Z
Z3
Z6
X5
4 X4
X6
Y1 1 X1
O1
Zo
Oo
Yo
Xo
Fig.5.1. Schema cinematică a robotul Stanford Arm Traiectoriile celor următoarele funcţii :
şase
articulaţii
sunt
θi = θi(0) +Ai [t-sin[Bt)/B], daca i=1,2,4,5,6 b3= A3[t-sin(Bt)/B] unde,
, daca i=3
descrise
de
0
,daca i=1,4,5,6
π/2
,daca i=2
θi(0) =
Ai =
π /30 π /60
0.01
,daca i=1,4,5,6 ,daca i=2 ,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
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
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.
Acest robot industrial. are următoarele caracteristic iner ţiale : 0 ⎡ 0 ⎤ ⎡1,612 ⎢ ⎥ ⎢ m1=10,521 [ρ1]1= − 0,054 [I1]1= 0 − 0,5091 ⎢ ⎥ ⎢ ⎢⎣ 0 ⎥⎦ ⎢⎣ 0 0 0 ⎡0,14⎤ ⎡0,4898 ⎢ 0 ⎥ [I ] = ⎢ 0 m2=15,781 [ρ2]2= 8,0783 ⎢ ⎥ 22 ⎢ ⎢⎣ 0 ⎥⎦ ⎢⎣ 0 0 m3=8,767 [ρ3]3=
m4=1,052 [ρ4]4=
⎡ 0 ⎤ ⎡3,3768 ⎢− 0,19⎥ [I ] = ⎢ 0 ⎢ ⎥ 33 ⎢ ⎢⎣ 0 ⎥⎦ ⎢⎣ 0 ⎡ 0 ⎤ ⎡0,1810 ⎢ 0 ⎥ [I ] = ⎢ 0 ⎢ ⎥ 44 ⎢ ⎢⎣0,057⎥⎦ ⎢⎣ 0
0 0,3009 0 0 0,1810 0
⎤ ⎥ 0 ⎥ 1,612⎥⎦ 0 ⎤ ⎥ 0 ⎥ 8,2672 ⎥⎦ 0 ⎤ ⎥ 0 ⎥ 3,3768⎥⎦ 0 ⎤ ⎥ 0 ⎥ 0,1273⎥⎦ 0
m5=1,052 0 0 ⎤ ⎡ 0 ⎤ ⎡0,0735 ⎢ ⎥ ⎢ 0 ⎥ [ρ5]5= − 0,007 [I5]5= 0,0735 0 ⎢ ⎥ ⎢ ⎥ ⎢⎣ 0 ⎥⎦ ⎢⎣ 0 0 0,1273⎥⎦ 0 0 ⎤ ⎡0⎤ ⎡0,0071 ⎢ 0 ⎥ [I ] = ⎢ 0 ⎥ m6= 0,351 [ ρ6]6= 0,0071 0 ⎢ ⎥ 66 ⎢ ⎥ ⎢⎣0,2⎥⎦ ⎢⎣ 0 0 0,0141⎥⎦ Unităţile de măsurã pentru mi, ρi, Ii, sunt respectiv : (Ns2/m) , (m) , (N s 2 m).
Parametrii H-D ai acestui robot industrial sunt reda ţi mai jos : ai bi θi iniţial [grd] [m] [m] [grd] 0 0 0 0 -90 0 -0.149 0 0 0.432 0 0 90 0.02 -0.432 0 -90 0 0 0 90 0 -0056 celor 6 articulaţii sunt descrise de următoarele
articulaţia 1 2 3 4 5 6 Traiectoriile curbe : 1
2π
αi
2π
θi = ⎯ [ ⎯⎯ t - sin ( ⎯⎯ t)] 2
pentru i=1,2,...,6
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.
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.
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.
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
dorite a manipulatorului între punctul ini ţial şi cel final al traiectoriei. Tabelel 6.1 Tipuri de conducere a robo ţilor.
Limitele pe traiectoria robotului
Obstacole pe traiectoria robotului Exista Lipsesc Existã Planificarea Planificarea autonomã a autonomã a traiectoriei ce traiectoriei asigurã ocolirea plus reglarea obstacolelor, plus mişcãrii în reglarea mişcãrii în lungul lungul traiectoriei traiectoriei alese în procesul de alese în funcţionare a procesul de robotului funcţionare a robotului Lipsesc Conducera pe Conducera pe poziţie plus poziţie şi detectarea ocolirea obstacolelor în procesul de mişcare
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
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.
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
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= t f , 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ã;
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
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
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.
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ã.
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 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 ) ; tr ecerea între por ţiunile 7) accelera ţia ( se schimba neîntrerupt la trecerea 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.
Î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
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.
Î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 [ τ [ 0,1]. τ τi-1 ∈[0,1]. i-1 )/( τ i - τ i-1 i-1 ) ; τ ∈ [ i -1 - τ i ] ; t ∈ Traiectoria de mi şcare a variabilelor articulare `j` se indicã sub forma unei succesiuni de polinoame h i(t). Pe fiecare por ţiune a traiectoriei, pentru fiecare variabilã articularã, polinoamele folosite exprimate exprimate în timp normat au forma : 4 3 h1(t) = a14t +a13t +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 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 )
4) Poziţia în punctul de pornire θ1 = θ(t1) * 5) Continuitatea în pozi ţie în momentul t 1 , adica θ(t1)= θ(t1 ) * 6) Continuitatea în viteza în momentul t 1 , adica v(t 1)= v(t1 ) 7) Continuitatea în accelera ţie în momentul t 1 , adica
a(t1)= a(t1*) 8) Poziţia în punctul θ2 = θ(t2) * 9) Continuitatea în pozi ţie în momentul t 2 , adica θ (t2)= θ(t2 ) 10) Continuitatea în viteza în momentul t 2 , adica v(t 2)= v(t2*) 11) Continuiotatea în accelera ţie în momentul t 2 , adica a(t2)= a(t2*) 12) Poziţia finala θf = = θ (tf ) ( de obicei nulã ) 13) Valoarea vitezei finale v f ( 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] f i(t) , i=1,2,..,n (6.1) ai(t) = dh2i(t)/dτ2 = [1/τi- τi-1 ]2 x d2hi(t)/dt2 = 1/ti2 dh2i(t) /dt2 = = [1/ti2] f i(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) 2 2 2 a1(t) = d [h(t)]/t1 = [ 12a14 t2+ 6a13t + 2a12 ]/t1 (6.5) punctul iniţial al por ţiunii date a traiectoriei ) 1). Pentru t=0 ( punctul Din condiţiile limitã în acest punct rezultã : a10 = h1(0) = θ0 (θ0 dat ) v0 = h1(0)/t1 = {[ 4a14t3+3a13t2+2a12t+a11]/t1}i=0 = a11/t1 Din aceasta avem a 11 = v0t1 şi
(6.6) (6.7)
a0 = d[hi(0)]/t12 = {[ 12a14 t2+ 6a13t + 2a12 ]/t12 }i=0 = 2a12/t12 (6.8) Substituind valorile obţinute ale coeficien ţilor în egalitatea (6.3.) vom obţine : h1(t) = a14t4 + a13t3 +[a0t13/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+a0t12+v0t1]/t1 (6.10) a1(1) = a1 = d2h1(1)/t12 = [12a14 + 6a13 + a0t12]/t12 (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)/t22 = {[6a23t+2a22]/t22}i=0 = 2a22/t22 (6.15) 2 şi se obţine a22 = a1t2 /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 : şi h2(0)/t2 = h1(1)/t1 h2(0)/t22 = 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)
sau , a21/t2+4a14/t1+3a13/t1+a0t12/t1+v0t1/t1 =0 (6.18) şi [(6a23t+2a22)/t22]i=0 = [( 12a14t2+6a13t+2a12)/t12]i=1 (6.19) sau 2a22/t22+12a14/t12+6a13/t12+a0t12/t12=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) 2 v2(1) = h2(1)/t2 = [( 3a23t +2a22t+a21)]i=1 = [ 3a23+2a22+a21]/t2 (6.22) a2(1) = h2(1)/t22 = [(6a23t+2a22)/t22]i=1 = [6a23+2a22]t22 (6.23) În descrierea ultimei por ţiuni a traiectoriei se foloseşte un polinom de gradul 4. hn (t ) = an 4t 4 + an 3t 3 + an 2t 2 + an1t + an 0 , 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 : hn (t ) = a n 4 t `4 +a n3 t `3 + a n 2 t `2 + a n1t `+ a n 0 , t∈[0 , 1] (6.25) In final vom gãsi viteza şi acceleraţia pe ultima por ţiune: h`n ( t `) t n h`n ( t `) t n 2
vn ( t ) = an ( t `) =
4 a n 4 t `3 +3a n 3t `2 +2 a n 2 t `+ a n1 t n 12a n 4 t `+6an 3t `+2 an 2 , t n 2
= =
,
(6.26) (6.27)
1. Pentru t`= 0 (punctul final al por ţiunii examinate a
traiectoriei). În concordanţã cu condi ţiile limitã din acest punct avem:
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) / tn2 =2an2 / tn2 (6.30) şi în final : an2 =af tn2 / 2. 2. Pentru t`=1 In concordanţã cu condi ţiile limitã din punctul de apropiere obţinem : hn(-1)=an4 - an3 + [ af tn2 / 2 ] -v f tn+ θf = θ2 (1) (6.31)
[
]
4 an 4t `3 +3ant `2 +2 an 2t `+ an1 t n t `=−1
hn(-1)/tn= hn ( −1) 12 an 4t Á 2 + 6 a3t Á + 2 an 2 t n 2
=[
t n 2
=
−4 an 4 +3 an 3 −a f t n 2 +v f t n t n
(6.32)
]
i =−1
=
12 an 4 −6 an 3 + a f t n 2 t n
(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) / t22 ]=[h`n(-1) / tn2 ] , (6.34) sau 4 an 4 −3an 3 + a f t n 2 −v f t n 2 t n
+ 3at 223 + 2t a222 + at 212 = 0 , (6.35)
şi
−12 an 4 + 6 an 3 − a f t n 2 t n 2
+ 6t a223 + 2t a222 = 2
2
0
(6.36)
δ1 = θ1 -θ0 = h1 (1)-h1(0) = a14 + a13 +[a0 t12 / 2]+ v0t1 , (6.37) (6.38) δ2 = θ2 -θ1 = h2 (1)-h2(0) = a23 + a22 + a21 , 2 δn = θf -θ2 = hn (0)-hn (-1) =-an4 + an3 - [af tn / 2] + vf tn .(6.39)
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
⎡δ 1 − a 2t − v0 t 1 ,−a0 t 1 − v0 ,−a0 , δ 2 ,−a f t n + v f ,⎤ ⎥ (6.41) y = ⎢ ⎢, a , δ + a t − v t ⎥ f n ⎣ f n 2 ⎦ 2 01
f n
2
⎡1 1 0 0 0 0 0 ⎤ ⎢ 3 4 −1 0 0 0 0 ⎥ ⎢ t 1 t 1 t 2 ⎥ 6 − 12 2 ⎢ 2 t 2 0 t 2 0 0 0 ⎥ 2 ⎢1 1 ⎥ C = ⎢ 0 0 1 1 1 0 0 ⎥ , (6.42) ⎢ 0 0 1 2 3 −3 4 ⎥ t 2 t 2 t 2 t t ⎢ ⎥ −12 2 6 6 ⎢ 0 0 0 t 2 2 t 2 2 t 2 t 2 ⎥ ⎢ 0 0 0 0 0 1 − 1⎥ ⎣ ⎦ 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
t
yi = ∑ cij x j ,
n
n
n
n
(6.44)
j =1
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 t i (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 sau
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 -(a0t12 / 2)- o ]t 4 +ot3 +[a0t12 / 2]t2 +(v0f 1)t+θo , v1 =(h`1(1) / t1)= (4δ1 / t1 ) -3v0 -a0t1 -(o /t1 ) a1 =(h`1(1) / t12 )=(12δ1 / t1 )-(12v0 / t1 )-5ao-(6o / t12 ). Pentru a douã por ţiune a traiectoriei ob ţinem : h2(t)=[δ2-v1t2 - (a1 t22 / 2 )]t3+[a1t22 / 2]t2+(v1t2)t+θ1. v2=[h`2(1) / t2]=(3δ2 / t2)-2v1 -(a1t2 / 2) , (6.47) 2 2 a2=[h`2(1) / t2 ]=(6δ2 / t2 ) - (6v1 / t2)-2a1t2 . Pentru ultima por ţiune a traiectoriei obţinem : hn(t)=[9δn -4v2tn - (a2tn2 / 2)-5vf tn+(af tn2 / 2)]t4+[8δn+5vf tn-(af tn2 / 2)+3v2tn]t3+ +[a2tn2 / 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 )]-vf t1 a0t1tn[(5/3)+(t1 / t2)+(2t1 / tn)+(5t2 / 2tn)]+af t1tn , 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 -(a0t12 / 2)]t3+[a0t12 / 2]t2+(v0t1 )t+θ0 , v1=[h`1(1) / t1]=(3δ1 / t1)-2v0 -(a0t1 / 2) , (6.49) 2 2 a1=[h`1(1) / t1 ] = (6δ1 / t1 )-(6v0 / t1 )-2a0 . A douã por ţiune a traiectoriei :
h2(t)=[6δ2 -3v1t2 -3v2t2-(a1t22 / 2)+(a2t22 / 2)]t5+[-15δ2+8v1 t2+7v2t2+(3a1t22 / 2 )-a2t22]t4+[10δ2-6v1t2-4v2t2-(3a1t22 / 2)+(a2t22 / 2)]t3+[a1t22 / 2]t3+[a1t22 / 2]t2+(v1t2)t+θ1. v2=[h`2(1) / t2]=(3δn / tn)-2vf +(af tn / 2), (6.50) 2 2 a2=[h`2(1) /t2 ]=(-6δn / tn )+(6vf / tn)-2af . Ultima por ţiune a traiectoriei : hn(t)=[δn-vf tn+(af tn / 2)]t3+(-3δn+3vf tn-af tn2)t2+[3δn2vf tn+(af tn2 / 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: h j(t)=a j3t3+a j2t2+a j1t+a j0 , j=1,2,3,4,n (6.52) când τ j-1 ≤ τ ≤ τ j t∈[0 , 1] , a ij semnifica coeficientul necunoscut i ce corespunde por ţiunii j a traiectoriei, por ţiunea n
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 a ji 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 : v j(t)=[h` j(t) / t j]=3a j3t2+2a j2t+a j1 , j=1,2,3,4,n, (6.53) 2 2 a j(t)=[h` j(t) / t j ]=(6a j3t+2a j2) / t j , j=1,2,3,4,n, (6.54) unde t j 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 h 1 (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 :
h1(0)=a10=θ0 (θ0 este dat ) ,
(6.56)
h `1 ( 0 ) v0 = t 1
(6.57)
a11 t 1 .
=
De aici obţinem a11=v0t1. În continuare a0 =
h1 ``(0 ) t 12
= 2t a1212
(6.58)
rezulta cã : a12 = a0t12 / 2 . Când t = 1 în concordan ţã cu condi ţia aplicata pozi ţiei în punctul de pornire , avem : h1(1) = a13+ (a0t12 / 2)+ v0t1+ θ0-= θ1 (6.59) Din aceasta este u şor de dedus cã : a13-o1-v0t1 -(a0t12 / 2 ) , (6.60) unde δ1=θi - θi-1. În acest mod prima por ţiune a traiectoriei este determinata complet h1(t) = [δ1 -v0t1 -(a0t12 / 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 : h1 (1) t 1
= v1 =
⎡ ⎛ a t 2 ⎞ ⎤ 3δ 1 −⎢ ⎜ 021 ⎟ ⎥ −2 v0t 1 ⎣ ⎝ ⎠ ⎦ t 1
= 3t 11 − 2v0 − a20t 1 δ
,
(6.62) h Á1 (1) t 12
= a1 =
6δ 1 −2 a0t 12 −6 v0t 1 t 12
=
6δ 1 t 12
− 6t v10 − 2a0 ,
(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)
hn(1)= an3+ an2+ an1+ θn= θf , (6.66) h`n(1)= vf = (3an3+2an2+ an1 ) / tn , (6.67) 2 2 [h`n(1) / tn ]= af = (6an3+2an2) / tn (6.68) Rezolvând aceste ecua ţii în raport cu coeficien ţii necunoscuţi an3 , an2 , an1 , obţinem : hn(t)=[δn -vf tn +(af tn2 / 2)]t3 +(-3δn+3vf tn-af tn2)t2+[3δn2vf tn+(af tn2) / 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) / t22 =(2a22) / t22=h`1(1) / t12 (6.73) 2 şi urmeazã : a22=(a1t2 ) /2. Luând în considera ţie coeficienţii gãsiţi se poate nota h2(t)= a23t3+ [(a1t22) / 2]t2+ (v1 t2)+ θ1 , (6.74) 2 unde v1=(3δ1 )/ t1 -2v0-(a0t1 )/ 2 , a 1=(6δ1) /t1 -(6v0) /t1 -2a0 Rãmâne sã se determine coeficientul a 23. 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+ (a1t22)/ 2+ v1t2+ θ1 , (6.75) 2 h`2(1) / t2= v2= (3a23+ a1t2 + v1t2) / t2= v1+ a1t2+ (3a23)/ t2 , (6.71) h``2(1) /t22= a2= (6a23+a1t22) /t22=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)
Î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+ (a1t22) / 2+ v1t2 + θ1 , (6.78) v2 = [h3(0)] / t3= a31 / t3 = h2(1) / t2. (6.79) În acest mod , a 31 =v2t3. In continuare , a2 = h3(0) / t32= (2a32) / t32 = h``2(1) / t22 . (6.80) De aici vom ob ţine : a32 =(a2t32) / 2 . Substituind valorile gãsite (ob ţinute) ale coeficienţilor din expresia (6.73), ob ţinem : h3(t) =a33t3+[(a2t32) / 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+ [(a2t32) / 2]+a33 , (6.82) [h`3(1) / t3]= v3 [3a33+ a2t32 + v2t3] /t3= v2+a2t3+(3a33) / t3 , (6.83) [h``3(1) /t32]= a3= (6a33+ a2t32]/ t32= 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+ (a2t32) / 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) /t42 = (2a42) / t42= h``3(1) /t22. (6.88) De aici obţinem: a42=(a3t42) / 2. Substituind expresiile gãsite pentru coeficien ţii din egalitatea (6.80), ob ţinem :
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+ (a3t42) / 2 + v 3t4 + θ3= θ4 , (6.90) h`4(1)/t4= (3a43) /t4 + a3 t4 + v3 = v4 =(3δn) / tn -2vf + (af tn)/ 2 (6.91) h``4(1) / t42 =ba43 / t42 + a3 = a4 =(-6δn)/ tn2 +(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 -(a0t22 / 2)]t3+ [(a0t12) / 2]t2+ (v0t1)t+ θ0 , (6.93) v1=(3δ1) / t1 -2v0 -(a0t1 ) / 2 ; (6.94) 2 a1=(6δ1) / t1 -(6v0 ) / t1 -2a0 ; (6.95) 3 2 2 h2(t) =a23t +[(a0t2 ) / 2]t + (v1t2)t+ θ1 , (6.96) (6.97) θ2= a23 +(a1t22) / 2 + v 1t2+ θ1 , v2= v1+ a1t2 + (3a23) / t2 ; (6.98) 2 a2= a1+ (6a23) / t2 ; (6.99) 3 2 2 h3(t) = a33 t + [(a2t3 ) / 2]t + (v2t3)t + θ2 , (6.100) 2 (6.101) θ3 = θ2 +v2t3 + [(a2t3 ) / 2]+ a33 , 2 v3 = v2 + a2t3 + [(3a33) / t3]; a3 = a2+(6a33) / t3 , (6.102) 3 2 2 h4(t)= a43t + [(a3t4 ) / 2]t + (v3t4)t + θ3 , (6.103) 2 3 2 2 hn(t) = [δn -vf tn +(af tn ) / 2]t + (-3δn+3vf fn -af tn )t + [3δn 2vf tn+(af tn2) / 2]t + θ4 , (6.104)
v4 = [(3δn) / tn] -2vf + [(af tn) / 2]; a4 = [(-6δn) / tn2]+ [(6vf ) / tn]-2af ; (6.105) 2 2 2 a23 = t2 (x1/D) , a33 = t3 (x2/ D) , a43 = t4 (x3/D) , (6.106) În plus: x1 = k 1 (u-t2) + k 2(t42-d) - k 3 [(u-t4)d + t42(t4-t2)] , (6.107) 2 2 x2 = -k 1 (u+t3) + k 2(c-t4 )+ k 3 [(u-t4)c+ t4 (u-t2)] , (6.108) x3 = k 1 (u-t4) + k 2(d-c) +k 3[(t4-t2)c -d(u-t2)] , (6.109) D = u(u-t2)(u-t4) , (6.110) u = t2 + t3 + t4 , (6.111) 2 k 1 = θ4- θ1 -v1u -a1(u /2) , (6.112) k 2 = [v4- v1 -a1 u -(a4-a1)u/2] / 3 (6.113) k 3 = (a4-a1) / 6 , (6.114) 2 2 2 c = 3u -3ut + t2 , (6.115) 2 2 d = 3t4 + 3t3t4 + t3 , (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
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.
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 : 0 6 T6 Tunealta = 0C baza(t) bazaPobiect (6.117) unde , 0 T6 este matricea pentru transformarea omogenã ce are dimensiunea 4x4 şi care descrie pozi ţia şi orientarea EE în sistemul de bazã; 6 Tunealta 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ã;
0
C baza(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; baza Pobiect 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 6 Tinstrument este unicã şi ea poate fi omisã. Dacã sistemul de lucru al coordonatelor obiectului coincide cu sistemul de bazã al coordonatelor manipulatorului , atunci 0C baza(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 : 0 T6=0C baza(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
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 [q 0 ] î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)
unde Δq1= q1-q0 , Δq2= q2-q1 , T 1 , T 2 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 F j(t) ce descrie poziţia EE şi care corespunde punctului q j(t) în spaţiul variabilelor articulare şi F d(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: (6.121) δ p = [P j(t)-Pd(t)] δ p = | partea unghiularã Rot(n, ϕ) | = |ϕ| , unde Rot(n,ϕ) = R -1d(t)R j(t) Stabilind abaterile maxime admise pentru pozi ţie şi orientare δMAXR şi δMAXP vom cere realizarea condi ţiilor :
δ p<δMAXP δR <δMAXR şi (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 δMAXP 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
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 [q m] î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 [q m] . S3. Calcularea punctului mijlociu în spa ţiul cartezian. Calcularea punctul mijlociu corespunzãtor [F c] al traiectoriei în spaţiul cartezian. Pc = (P0+P1)/2 , R c unde Rot(n,θ)=R -10R 1 S6. Calcularea abaterii . Calcularea abaterii [F m] de la δ p=|pm-pc| , δR = | partea unghiularã Rot(n, ϕ)=R -1cR m| = |ϕ| ( mai corect este sã se scrie δR = | partea unghiularã Rot(n, ϕ)|=|ϕ| , unde Rot(n, ϕ) = R -1cR m MAX S5. Verificarea condi ţiei abaterilor . Dacã δ p<δ î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 [F 1]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
în spaţiul cartezian şi în lungul traiectoriei. Aceasta abatere de la traiectoria rectilinie stabilitã nu depã şeste limitele stabilite .
7. METODĂ EXPERIMENTĂ PENTRU DETERMINAREA CUPLULUI MOTOR LA ROBOŢII INDUSTRIALI 7.1. Robo tul 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 şiniunelte şi utilaje , operaţii generale de manipilare piese sau scule.
Fig.7.1 Vedere general ă a robotului RIP 6,3
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
- 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 ........................+5 oC ...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
maxime de maximă lucru lucru o o -135 /+135 60o/sec. braţ -40o/+40o 45o/sec.
I. rotire corp II. rotire verticala III. rotire braţ -20o/+40o orizontala IV. balans mână -90o/+90o V. rotire mână -180o/+180o
de
45o/sec. 90o/sec. 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
- 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
- ciclu - Afisaj pe display alfa-numeric..........................…..instruc ţiuni mesaje: stare , erori de operare, avarie - Deplasare robot.......................................………...cu joy-stick cu 2 grade de mobilitate
Z4 3 Z3
Y3
Y2
X4 O4
4
O5
Z5
EE
X3 Y4
X2
O3
5
Z2 O2
2
Z1 1
Y1
O1
X1 Zo Yo
Oo Xo
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 40 o C.
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ă , P n , î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 , K T , în Ncm/A face leg ătura între cuplul electromagnetic Me şi intensitatea curentului absorbit. Me = K T I - Cuplul electromagnetic Me este egal cu suma dintre cuplul util disponibil la ax Mn şi cuplul corespunzător pierderilor M p. 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
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 variatormotor 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. )
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 : ECHIPAMEN T COMANDA
V2
VARIATO R CONVERTO R NUMERIC-
INTERFATA DE MASURARE
A
V1
C1
V3
C2
OSCILOSCOP
ROBOT RIP 6,3
Calculat or
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ă.
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ă.
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ă.
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ă.
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ă.
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ă.
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ă.
Fig. 7.17. Valoarea reală a turaţiei motorului modulului 5 , la deplasarea pe o anumit ă traiectorie , f ăr ă sarcină.
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 :
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.
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.
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
î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.
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 Y
C2
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ã.
Poziţiile de utilizare pentru caracteristicile de poziţionare sunt indicate în tabelul de mai jos : Caracteristici supuse încercãrii Precizia şi repetabilitatea de poziţionare pe direcţia 1 Variaţia multidirecţionalã a preciziei de poziţionare Precizia şi repetabilitatea distanţei Timpul de stabilizare a poziţiei Deriva caracteristicilor de poziţionare
P1 x
Poziţii P2 P3 P4 x x x
x
x
x
x
x
x
x
x
x
P5 x
x
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
-
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.
Fig.8.3. Spa ţiul de lucru al robotului industrial RIP 6,3
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.
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 :
-
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 % .
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 electrohidraulicã , 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ă :
-
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ă.
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 ;
-
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 ,
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.
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.
q`r (t) Bloc de calcul
Sistem de +
-
reglare
q`(t) Sistem de Robot 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.
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
Placã fixã B2 B4 B3
Placã mobilã 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
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ã.
C B
B
P PP
P
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, Y x, Yy, Yz).
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 = (R b cos qn, R b sin qn, h)k = 1, 2,....., 6
(10.1)
q1 = 0; q2 = 300º; q 3 = 240º; q 4 = 180º; q5 = 120º; q6 = 60º; în timp ce punctele Pn = (R p cos qn, R p sin qn, 0) n = 1, 2, 3
(10.2)
q1 = 90º; q2 = 330º; q 3 = 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 R x, R y, R z î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 C13 R = C21 C22 C23 C31 C32 C33 Pn" = Pn' + T
(10.4) T = (x, y, z)
(10.5)
Coroborând (10.4) cu (10.5) ob ţinem: Pn" = R. P n + 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"
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
ln
=
xl 2
+
yl2
+
zl 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 rototranslaţ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)
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.
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ă ;
-
-
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 Spaţiul de lucru 6
5
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
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.
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 ( τ ) .
-
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 sau λ = s/T λ = 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.
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 Fig. 8.3. Mers în unde ( λ = 5/6 )
1(ciclu)
0
1/6
1/3 1/2 2/3 5/6 1 (ciclu) Fig. 8.4. Mers în unde ( λ = 2/3 )
5 3 1 6 4 2
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 ;
-
-
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
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ă .
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.
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
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.
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.
C.A.L. (computer aided logistics ) = aprovizionarea şi desfacerea asistat ă de calculator.
realizează 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şinaunealtă, prelucrare care se face exclusiv prin m ărimi numerice. Conţinutul acestei metode este definit prin îns ăşi numele ei : comand ă prin numere.
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. :
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.
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 piese 182
Număr de tipuri produse Număr de subsisteme f ăr ă supraveghere Număr de maşini-unelte Număr de angajaţi în trei schimburi Gradul de utilizare al capacităţii pe 2 schimburi (%)
S.F.F. care îl înlocuieşte 182
0
18
253 601
133 129
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
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.
BIBLIOGRAFIE
[1] Angeles J., O.Ma - An algorithm for inverse dynamics of naxis 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,
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.
[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.
[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.
[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.