Sunteți pe pagina 1din 252

ROBOŢI

INDUSTRIALI
CUPRINS

1. Noţiuni generale privind roboţii industriali 9


1.1. Definiţii şi noţiuni uzuale utilizate. 9
1.2. Structura roboţilor de toipologie serialã 12
1.2.1. Roboţi industriali tip “braţ articulat” 14
1.2.2. Roboţi industriali tip “lanţ închis” 15
1.2.3. Roboţi industriali tip “pistol “ 15
1.2.4. Roboţi industriali tip “turelã” 16
1.2.5. Roboţi industriali tip coloanã 17
1.2.6. Roboţi industriali tip “cadru “ 18
1.2.7. Roboţi industriali tip “portal “ 18
1.2.8. Roboţi industriali tip “cãrucior “ 19
1.3. Tipuri de coordonate utilizate în studiul roboţilor
industriali 19
1.3.1. Sistemul de coordonate curbilinii 20
1.4. Dispozitive de prehensiume 23
1.5. Analiza comparativã a caracteristicilor diferitelor
grade de libertate 26

2. Cinematica roboţilor industriali 41


2.1. Problema cinematicã directã 41
2.2. Problema cinematicã inversã 42
2.2.1. Calculul modelului cinematic invers 46
2.2.1.1. Calculul primelor trei articulaţii 47
2.2.1.2. Calculul lui θ4 , θ5 , θ6 49
2.2.2. Problema cinematicã inversã pentru
anumite cazuri particulare 52
2.2.2.1. O altã modalitate de rezolvare a problemei
cinematice inverse 52
2.3. Aplicaţii ale problemei cinematice directe şi inverse 57
2.3.1. Calculul traiectoriei articulaţiilor roboţilor industriali 57
2.3.2. Calculul distanţei maxime a spaţiului de lucru al
roboţilor industriali 60
2.3.3. Rezolvarea problemei cinematice inverse pentru
un robot cu cinci grade de libertate 62
2.3.4. Calculul volumului spaţiului de lucru 63
2.3.4.1. Calculul volumului spaţiului de lucru al robotului
PUMA 600 67
2.3.5. Calculul energiei consumate de robotul industrial
la manipularea unei sarcini 69
2.3.6. Generarea mişcãrii de-a lungul unei traiectorii
liniare între douã puncte ale spaţiului de lucru 72
2.3.7. Influenţa modularizãrii asupra planificãrii
traiectoriei în coordonate operaţionale 75
2.3.8. Consideraţii privind controlul deplasãrilor
în coordonate articulare cu determinarea traiectoriei
endefectorului 78
2.3.9. Consideraţii privind controlul deplasãrilor
în coordonate operaţionale 83
2.3.10. Consideraţii privind controlul deplasãrilor
în coordonate interne şi externe 89
2.3.11. Analiza preciziei de poziţionare 93

3. Dinamica roboţilor industriali 99


3.3. Ecuaţiile dinamice ale unui robot de tip serial 99
3.3.1. Descrierea notaţiilor Hartemberg-Denavit 100
3.2. Calculul vitezelor unghiulare şi acceleraţiilor 102
3.3. Calculul vitezelor şi acceleraţiilor
centrelor de greutate 103
3.4. Calculul forţelor/momentelor motoare la un robot de
tip serial 106
3.4.1. Formule recursive pentru calculul forţelor motrice 108
3.5. Stabilirea ecuaţiilor dinamice ale unui robot industrial
folosind ecuaţiile Lagrange de speţa a II a 109
3.6. Calculul tensorilor de inerţie 116
4. Generarea mişcarii între douã puncte ale spaţiului
de lucru 120
4.1. Generarea mişcarii între douã puncte
în spaţiul articulatiilor 123
4.2. Generarea mişcarii de-a lungul unei traiectorii
liniare între douã puncte ale spaţiului de lucru 131

5. Algoritmi de calcul utilizaţi la modelarea


comportamentului dinamic al roboţilor industriali 135
5.1. Schema logicã a algoritmului de calcul 136
5.2. Structura programului de calcul 139
5.3. Cercetãri teoretice pe modele reale de roboţi
industriali 145
5.3.1. Robotul StandfordArm 145
5.3.2. Robotul PUMA 600 150

6. Planificarea traiectoriei roboţilor 155


6.1. Introducere 155
6.2. Formularea generalã a problemei planificãrii
traiectoriei 159
6.3 Traiectoriile In spaţiul variabilelor articulare 163
6.3.1. Calculul traiectorie în cazul 4-3-4 167
6.4. Planificarea traiectoriei In coordonate carteziene 180
6.4.1. Metoda ce foloseşte matricea transformãrilor
omogene 181
6.4.2. Traicetoria ci abateri limitã 183

7. Cercetãri experimentale 187


7.1. Robotul RIP 6,3 187
7.1.1. Caracteristici tehnice 188
7.1.2. Echipamentul de conducere CONTROL RE 190
7.1.3. Motoare electrice utilizate la acţionarea
roboţilor RIP 6,3 193
7.2. Metoda de mãsurare 194
7.2.1. Aparatura de mãsura folosita 195
7.3. Rezultatele mãsuratorilor 196

8. Controlul geometric şi metode de calibrare 205


8.1. Procesul de calibrare 205
8.2. Controlul geometric 207
8.2.1. Instrumente de măsură 208
8.3. Incercãrile şi recepţia roboţilor industriali
208
8.4. Recepţia roboţilor industriali 212

9. Acţionarea şi comanda roboţilor industriali 215


9.1. Acţionarea electricã 215
9.2. Acţionarea hidraulicã 217
9.3. Acţionarea pneumaticã 217
9.4. Comanda roboţilor industriali 217
9.4.1. Nivelul tactic 220

10. Roboţi de topologie paralelã 224


10.1. Calculul cinematic al roboţilor de topologie paralelã 226

11. Roboţi pãşitori 230

12. Sisteme flexibile de fabricaţie 237


12.1. Noţiuni fundamenatele 238
12.2. Sisteme de fabricaţie asistatã de calculator 240
12.3. Sistemul flexibil de fabricaţie 242

Bibliografie 246
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 33=27 variante.
Combinând cele 8 posibilitãţi cu cele 27 combinaţii rezultã
8x27=216 lanţuri cinematice.Nu toate aceste varinate conduc
însã cãtre un spaţiu de lucru tridimensional şi în consecinţã
acestea vor fi eliminate , în final ramãnând 37 variante posibile.
Dintre cele 8 structuri posibile de mecanism generator de
traiectorie 4 sunt de preferat , conform GOST 25685/83 şi JIS
0134/86 : TTT , RTT , RRT , RRR .
Fiecare dintre cele 37 de structuri de lanţ cinematic poate
sta la baza unui robot, determinând o arhitecturã specificã.
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(q1 , q2 , q3 ) ; z= z(q1 , q2 , q3 ) .
Intrucât fiecãrui vector “r” îi corespunde un anumit
punct M şi trei coordonate q1 , q2 , q3 , rezultã cã fiecare din
aceste coordonate este funcţie de poziţia punctului caracteristic.
q1(r)= q1( x,y,z ) ; q2(r)= q2( x,y,z ) ; q3(r)= q3( x,y,z ) (1.5)
Mãrimile q1 , q2 , q3 se numesc coordonatele curbilinii
ale punctului M. Cunoaşterea mişcãrii punctului caracteristic se
reduce la cunoaşterea funcţiilor :
q1 = q1(t) ; q2 = q2(t) ; q3 = q3(t) ; (1.6)
Dacã toate cele trei coordonate curbilinii sunt funcţii de
timp, vârful vectorului “r” , care reprezintã punctul caracteristic
mobil , se poate afla în orice punct din spaţiu. Dacã una dintre
coordonatele curbilinii este constantã, iar celelalte douã
variabile , punctul caracteristic se poate deplasa pe o suprafaţã.
Planele tangente la aceste suprafeţe în punctul M se numesc
plane de coordonate curbilinii.
Dacã douã din cele trei coordonate curbilinii sunt
constante iar cea de a treia este variabilã , punctul caracteristic
descrie o curbã. Obţinem astfel trei curbe numite curbe de
coordonate curbilinii. Tangentele la curbele de coordonate
curbilinii în punctul caracteristic sunt orientate în sensul
creşterii coordonatei respective şi se numesc axe de coordonate
curbilinii. Dacã cele trei axe sunt perpendiculare douã câte douã
sistemul de coordonate se numeşte ortogonal.
Mecanismele de orientare pot avea unul douã sau trei
grade de libertate. Existã trei tipuri de mecanisme de orientare :
- cu mişcãri independente
- cu mişcãri dependente
- trompã de elefant
aducţie - abducţie

ultimul element al pronaţie - supinaţie


mecanismului generator de
traiectorie
flexie

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

1.4. Dispozitive de prehensiune

Aşa cum reiese din definiţia lor roboţii industriali


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


(1) (2) (3)
1. MANIPULARE
A. CORPUL.
a) Tipuri 1. Prismatic 1. Mobil ,
2. De revoluţie permiţând :
3.Combinat:prismatic - înclinare
+revoluţi - rotaţie
4. Mobil - răsucire
b) GMMP Stînga-Dreapta : Răsucire : 180o
3-15 m la 500-1200 înclinare : 150o
mmş Rotire : 90o
B. BRATUL
a) Tipul 1. Rectangular 1. Articulat în
2. Cilindric umăr
3. Sferic
4. Articulat
b) Numărul Unul sau mai multe Uzual douã , care
nu pot opera
absolut
independent
(1) (2) (3)
c) GMMP 300-3000 mm la 625-1500 mm/s
100-25000mm/s pentru mişcãri
liniare
C.
INCHEIETURA
a) Tipuri 1. Prismatic Constã în trei
2. Revoluţie rotaţii :
3. Combinat răsucire ,
De obicei încheietura înclinare , rotire.
are 3 mişcari de
rotaţie : răsucire,
înclinare, rotire , dar
recent au apărut şi
mişcãri de translaţie

b) GMMP Răsucire : 35-500 o/s Răsucire : 180o


înclinare : 30-320 o/s înclinare : 180o
Rotire : 30-300 o/s Rotire : 90o
D. OPERATOR
FINAL
a) Tipuri 1. Mîna mecanică cu 1. Patru grade de
graifer mecanic sau cu libertate în
vacuum. configuraţie
2. Scula : pistol de articulată. Cinci
vopsit , de sudat , etc. degete pe mână.
b) GMMP Se poate proiecta la Dimensiuni tipice
dimensiuni variate. :
Lungime : 163-
208 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 “viteza-
cursă”pentru diferite mişcări ale braţului sau ale dispozitivului
de prehensiune. Graficele modelelor americane se vor trasa cu
linie continuă, iar cele ale modelelor japoneze cu linie
întreruptă. Fiecărui model de robot industrial îi corespunde un
punct în interiorul domeniului delimitat de grafice. Fiecare
grafic exprimã relaţia cursă-viteza pentru un anume modul
funcţional
600
viteza
500 [
grade/secunda]
400

300

200

100

0 100 200 300 400 500 600

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


500
viteza
[grade/secunda]
400

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
500 mm/sec

400

300
200

100

0
100 200 300 400 500 600

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


600

viteza
500 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 Piaţa Piaţa Total


americana japoneza
(1) (2) ( 3) (4)
Translaţia
braţului pe
orizontală
N 32 49 81
X 1196,94 977,04 1063,91
Y 942,22 741,43 820,75
DMC 300 - 3000
DVM 100 - 4500
Translaţia
corpului
N 8 85 93
X 2877,88 1320,00 1454,01
Y 635,75 466,71 481,25
DMC 1000 - 6000
DVM 100 - 1500
Translaţia
braţului pe
verticala
N 33 118 151
X 1336,39 853,05 958,68
Y 1036,85 489,36 609,01
DMC 50 - 4800
DVM 50 - 5000
Rotaţia
braţului
stânga -
dreapta
N 28 44 72
X 275,25 196,91 227,38
Y 90,32 89,23 89,65
DCM 50 - 280
DVM 50 - 240
(1) (2) (3) (4)
Rotaţia
braţului
sus - jos
N 7 11 18
X 176,57 95,45 127,00
Y 93,57 63,64 75,28
DMC 25 - 3330
DVC 10 - 170
Răsucirea
încheieturii
N 33 79 112
X 312,58 250,13 268,53
Y 158,18 99,05 116,47
DMC 100 - 575
DVM 35 - 600
Inclinarea
încheieturii
N 29 37 66
X 183,97 174,86 178,86
Y 144,93 97,84 118,53
DCM 40 - 360
DVM 30 - 320
Rotirea
încheieturii
N 18 30 48
X 281,94 203,07 323,65
Y 140,17 92,90 110,63
DCM 100 - 530
DVM 30 - 300

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

2.1. Problema cinematicã directã

Problema cinematică directă reprezintă ansamblul


relaţiilor care permit definirea poziţiei endefectorului în funcţie
de coordonatele articulare, practic ea asigurând conversia
coordonatelor interne (articulare) în coordonate externe
(operaţionale). Poziţia endefectorului este definită prin cele “m”
coordonate :
X = [ x1 , x2 , .... , xm ] (2.1)
Variabilele articulare sunt definite astfel :
q = [ q1 , q2 , .... , qn ]T (2.2)
Problema cinematică directă se exprimă prin relaţia :
X = f(q) (2.3)
Există mai multe modalitaţi de definire a vectorului X ,
combinând una din metodele de definire a poziţiei cu una dintre
metodele de definire a orientării. De exemplu utilizând cosinuşii
directori , obţinem:
X = [Px , Py , Pz , sx ,sy , sz , nx , ny , nz , ax , ay , az]T (2.4)
În cele mai multe cazuri , calculul lui X implică calculul
matricei de transformare a endefectorului. Utilizând triedrele şi
notaţiile Hartemberg-Denavit, matricea de transformare a
coordonatelor triedrului “i” în coordonate”i-1”, se defineşte ca
fiind i-1Ti :
⎡ Cθi − Sθi 0 di ⎤
⎢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 0 1 ⎦
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
Tj = ⎢ ⎥ =⎢ ⎥ (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 iTj. Inversă acesteia este jTi. Fie V1 un vector care în
triedrul "j" are forma jV1 , iar în triedrul "i" are forma iV1, între
ei există o relaţie de tipul :
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
Rot(x,α)
x2 z1

Y0 y1

Trans(y,d) X0
x1
X0

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

Analog notăm prin Trans(x,d) matricea de translaţie a originii


sistemului de referinţa de a lungul dreptei”x” cu “d”. Deci dacă
un sistem de referinţa (aflat într-o poziţie “0”) suferă o
transformare prin care este rotit în jurul axei “u” cu un unghi “θ”
( ajungând într-o poziţie “1”) urmată de o translaţie a originii cu
“d” , de a lungul axei “x” (ajungând într-o poziţie “2”), matricea
de transformare a sitemului din poziţia “0” în poziţia “2” este :
0
T2 = Rot(u,θ) Trans( x,d ) (2.10)
- Dacă un triedru R0 a suferit "k" transformări consecutive şi
transformarea "i" este definită în raport cu triedrul mobil Ri-1 ,
atunci matricea de transformare a coordonatelor de la sistemul
"0" la "k" se poate deduce cu formula :
0
Tk = 0T1 1T2 2T3 ..... k-1Tk (2.11)
- Inmulţirea a douã matrici de transformare se face după
formula:
⎡ A1 P1⎤ ⎡ A 2 P 2⎤
T1T2 = ⎢0 =
⎣ 1 ⎥⎦ ⎢0
⎣ 1 ⎥⎦
⎡ A1 A2 A1P 2 + P1⎤
⎢ 0 ⎥ (2.12)
⎣ 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 kTk-1
în scopul izolării şi a identificării variabilelor articulare căutate.
De exemplu înmulţind relaţia (2.15) la stânga cu 1T0 se obţine :
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 q1.
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
T2 U2 = 3T4 4T5 5T6
4
T3U3 = 4T5 5T6
5
T4 U4 = 5T6
în anumite cazuri este posibil să rezolvăm problema cinematică
inversă plecând de la qn spre q1.

2.2.1.1.Calculul primelor trei articulatii

Există un algoritm care se referă la unul dintre cele mai


frecvente arhitecturi de roboţi : cea a roboţilor cu şase grade de
libertate care posedã trei cuple cinematice de rotaţie cu axe
concurente.
Poziţia punctului de intersectie al celor trei axe
concurente este în funcţie numai de q1,q2,q2.Având o structură
“decuplată” se pot separa problemele de poziţionare de cele de
orientare.
Deoarece avem de a face cu o structură decuplată :
0
P6 = 0P4 (2.20)
⎡ Px⎤ ⎡ 0⎤
⎢ Py⎥ ⎢ 0⎥
⎢ ⎥ = T0 T2 T3 T4 ⎢ ⎥
0 1 2 3
(2.21)
⎢ Pz⎥ ⎢ 0⎥
⎢⎣ 1 ⎥⎦ ⎢⎣ 1⎥⎦
Folosind relaţia (2.20) putem determina variabilele q1,q2,q2. Din
(2.21) obţinem :
⎡ 0⎤ ⎡ C4 − S4 0 d4 ⎤ ⎡ 0⎤
⎢ 0⎥ ⎢Cα 4S4 Cα 4C 4 − Sα 4 −r 4Sα 4⎥ ⎢ 0⎥
3 3
P4 = T4 ⎢ ⎥ = ⎢ ⎥ ⎢ ⎥=
⎢ 0⎥ ⎢ Sα 4S4 Sα 4C 4 Cα 4 r 4Cα 4 ⎥ ⎢ 0⎥
⎢⎣ 1⎥⎦ ⎢⎣ 0 0 0 1 ⎥⎦ ⎢⎣ 1⎥⎦

⎡ d4 ⎤
⎢ − r 4Sα 4⎥
=⎢ ⎥ (2.22)
⎢ r 4Cα 4 ⎥
⎢⎣ 1 ⎥⎦
unde , cu Ci s-a notat Cos(θi) , iar cu Şi , Sin(θi).
⎡ d 4 ⎤ ⎡ f 1⎤
⎢ − r 4Sα 4⎥ ⎢ ⎥
f2
2
P4 = T3 ⎢
2 ⎥= ⎢ ⎥ (2.23)
⎢ r 4Cα 4 ⎥ ⎢ f 3⎥
⎢⎣ 1 ⎥⎦ ⎢⎣ 1 ⎥⎦
Utilizând forma generală a lui 2T3 , putem determina pe fi :

f1(θ3) = C3d4+S3Sα4r4+d3
f2(q3) = Cα3(S3d4-C3Sα4r4)-Sα3(Cα4r4+r3) (2.24)
f3(q3)= Sα3(S3d4-C3Sα4r4)+Cα3(Cα4r4+r3)

Se observă că f1 este funcţie numai de θ3 , în timp ce f2 şi


f3 sunt funcţii de θ3 şi de r2.
Înmulţind la dreapta cu 1T2 , obţinem :

⎡ f 1⎤ ⎡ g1⎤
⎢ f 2⎥ ⎢ g2⎥
1
P4 = 1T2 2P4 = 1T2 ⎢ ⎥ = ⎢ ⎥ (2.25)
⎢ f 3⎥ ⎢ g3⎥
⎢ ⎥ ⎢ ⎥
⎣1⎦ ⎣1⎦
unde :
g1( θ3,q3 ) = F1(θ3,q3) + d2
g2( q2,q3 ) = Cα2F2( q2,q3 )-Sα2F3( r2, q3 ) (2.26)
g3( q2,q3 ) = Sα2F2( q2,q3 ) + Cα2F3( r2,q3 )
cu :
F1(θ3,q3 ) = C2f1 - S2f2
F2(q2,q3 ) = S2f1 + C2f2 (2.27)
F3(q2,q3 ) = f3 + r2
Insfârşit , înmulţind la stânga cu 0T1 , obţinem :
⎡C1 − S1 0 0 ⎤ ⎡ g1⎤
⎢ s1 C1 0 0 ⎥ ⎢ g2⎥
0
P4 = 0T1 1P4 = ⎢ ⎥ ⎢ ⎥ (2.28)
⎢0 0 1 r1⎥ ⎢ g3⎥
⎢ ⎥ ⎢ ⎥
⎣0 0 0 1⎦ ⎣ 1 ⎦
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 + r1

2.2.1.2. Calculul lui θ4 , θ5 , θ6

Mecanismul de orientare este constituit din trei cuple


cinematice de rotaţie cu axe concurente. O soluţie generală
pentru determinarea lui θ4 , θ5 , θ6 se obţine pornind de la
ecuaţia :
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)
În forma ei generală matricea i-1Ai 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 (2.36)
T1(3,2) = -Sα5S5S6+(Sα5C5Cα6+Cα5Sα6)C6

T1(1,3) = S5Sα6
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 :
T2(1,1) = C6
T2(2,1) = Cα6S6
T2(3,1) = Sα6S6
T2(1,2) = -S6
T2(2,2) = Cα6C6
T2(3,2) = Sα6C6
T2(1,3) = 0
T2(2,3) = -Sα6
T2(3,3) = Cα6

Din egalitatea U2(3,3) = T2(3,3) obţinem θ4


Cunoscând θ4 , din U1(1,3) = T1(1,3) şi U1(3,3) = T1(3,3)
obţinem θ5 .
În sfârşit din U2(1,1) = T2(1,1) şi U2(1,2) = T2(1,2)
rezultă θ6 .
Existã poziţii şi orientări corespunzãtoare anumitor
valori particulare ale caracteristicilor geometrice ale robotului ,
cãrora le corespund ecuaţii nedeterminate ale coordonatelor
robotului , numite singularităţi.
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+. . . . . . . +ann (2.40)
Vectorul unei matrici “vect(A)”este un vector tridimensional şi
se mai numeşte invariant vectorial al matricii, componenta sa “i”
fiind definită astfel :
vect(A) = ∈ijkakj (2.41)
unde, ∈ijk este simbolul de permutare al lui Ricci,definit astfel:
1 pentru ijk = 123,231,312
∈ijk = -1 pentru ijk= 132,213,312 (2.42)
0 daca cel puţin doi indici sunt egali
Între parametrii lui Euler şi invarianţii liniari există următoarele
relaţii de legãtură:
q=2qoq`
q==2qo`2-1 (2.43)
q`=q/2q`o
qo`= (1 + 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 qo2 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 :
f1(θ) = 2 vect(Q1....Q6) - 2 u sin ∅ = 0
f2(θ) = tr(Q1...Q6) -1-2co∅ =0 (2.46)
6
f3(θ) = ∑
i=1
[ai]1 -r =0

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

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

f(θ) este un vector coloana cu 7 linii.Ecuaţiile fi(θ) =0,


reprezintă un sistem algebric neliniar, nedeterminat cu 7 ecuaţii
şi 6 necunoscute, nedeterminare formală de altfel, deoarece între
vect(Q) şi tr(Q) există o relaţie de legatura şi anume relaţia
(2.44).

“θ” reprezintă vectorul coordonatelor unghiulare ale celor 6


elemente :

θ = [ θ1,....,θ6 ]T (2.48)
Vom calcula matricea Jacobi pentru f(θ) dată de ecuaţia (2.47).
J(θ) = δf(θ)/δθ
Calculăm separat Jacobianul lui fR,fS,fT faţã de θ.
Matricea δfR/δθ se calculează cu uşurinţã observând cã fiecare
Qi este o funcţie numai de “θ”`. Diferenţiând ecuaţia (2.46) faţă
de θi, obţinem :

δfR δQi
⎯⎯⎯ = 2vect (Q1.....Qi-1⎯⎯ Qi+1....Q6 (2.49)
δθ i δθi
pentru i = 1,...,6.
Observăm ca :
δQi
Q1.....Qi-1 ⎯⎯ Qi+1....Q6 = Q1.....Qi-1E(Q1....Qi-1)T(2.50)
δθi
0 -1 0
Notăm P= Q1...Q6 şi E = 1 0 0
0 0 0
Deoarece E este antisimetrică rezultă că şi
Q1....Qi-1E(Q1....Qi-1)T este antisimetrică.
δfR
⎯⎯ = (1 tr P -P)Q1...Qi-1 e (2.51)
δθi
unde i=1,..,6 e = [0,0,1]T, 1 = I3 şi e=vect(E).
în final obţinem : δfR/δθ = (1 trP-P)A (2.52)
unde A este o matrice 3x6 definită astfel :
A=[ e,Q1e,...,Q1...Q5e] (2.53)
Din ecuaţia : [δ tr(P)]/δθi = tr(δP/δθi) obţinem :
δfS/δθ = -2 qT A
unde q = vect(P) (2.54)
Vom calcula în cele ce urmează δfT/δθ.
δfT/δθ = δr1/δθ (2.55)
unde r1= a1 + [a2]1 +...+ [a6]1 (2.56)
Ţinând cont de relaţia : [ai]1 = wi+1 x [ai]1,prin derivarea relaţiei
(2.56) obţinem :
r1 = a1 + [a2]1+... +[a6]1 (2.57)
unde wi+1 este viteza unghiulară a elementului `i+1` faţă de bază
wi+1 = θ1e+θ2Q1e +...+θiQ1...Qi-1e (2.58)
Substituind ecuaţia (2.58) în (2.57) obţinem :
r1 = B θ (2.59)
unde B este o matriţã 3x6 definita astfel :
B = [e x r1,Q1e x r2,....,Q1...Q5e x r6] (2.60)
Astfel δfT /δθ = B (2.61)
Obţinem astfel matricea Jacobi ca o matrice 7 x 6

(1 tr P - P) A
J= -2qTA (2.62)
B

Deoarece ecuaţia (2.47) nu se poate rezolva analitic, vom


încerca să o rezolvăm pe cale numerica folosind metoda
Newton-Gauss,al cãrui algoritm este urmãtorul :
θk+1 = θk +Δθk (2.63)
k I k
unde Δθ = J f(θ ) (2.64)
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ă :
δfR/δθ = ( 1 tr P - P )A
δfs/δθ = -2qTA (2.66)
δfT/δθ = B
unde A , B , P , q sunt definiţi ca mai sus.
Obţinem astfel un sistem de ecuaţii diferenţiale din integrarea
căruia rezultă funcţiile fR(θ), fS(θ),fT(θ)
Acestea sunt componentele lui f(θ)=0,care reprezintă un
sistem algebric neliniar dar care poate fi rezolvat pe cale
numerică prin metoda Newton.
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 Y4
Z5 X6
3
Z3 X5 Z6 EE
Y3 O4 4

Y2 X3 X4 O5 5
Z2 X2 O6 6
O3

2
O2
Z1
1 Y1

X1
O1
Zo

Yo
Oo
Fig.2.2.Schema cinematică
Xo a robotului PUMA 600
Notaţiile Hartemberg-Denavit ale robotului PUMA 600 sunt :
i αi di ri θi
1 0 0 0 0
2 -90 0 -0.149 0
3 0 0.432 0 0
4 90 0.02 -0.432 0
5 -90 0 0 0
6 90 0 -0.056 0
Considerãm cã traiectoria este descrisă în spaţiul articulaţiilor
de următoarele relaţii :
θi(t) = π/6+π/30 t t ∈[0,3 sec.] i=1,2,..6 (2.67)
Faţă de sistemul de coordonate fix, coordonatele unui
punct, de exemplu articulaţia “4” la momentul tk se determină
rezolvând problema cinematică directă. Matricile de
transformare omogene ale robotului PUMA 600 au forma :
⎡C1 − S1 0 0⎤
⎢ S1 C1 0 0⎥
0
T1 = ⎢ ⎥ (2.68)
⎢0 0 1 0⎥
⎢ ⎥
⎣0 0 0 1⎦
⎡ C2 − S 2 0 0 ⎤
⎢ 0 0 1 −0149. ⎥
1
T2 = ⎢ ⎥ (2.69)
⎢− S 2 −C 2 0 0 ⎥
⎢ ⎥
⎣ 0 0 0 1 ⎦
⎡C 3 − 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⎤
⎢ Y4 ⎥ ⎢ y⎥
⎢ ⎥ = 0T3 ⎢ ⎥ (2.71)
⎢ Z4 ⎥ ⎢z⎥
⎢ ⎥ ⎢ ⎥
⎣ 1 ⎦ ⎣1⎦
Pentru robotul Puma relaţia de mai sus devine :
⎡ X 4⎤ ⎡−0,02⎤
⎢ Y4 ⎥ ⎢ 0,432 ⎥
⎢ ⎥ = 0T3 ⎢ ⎥ (2.72)
⎢ Z4 ⎥ ⎢ 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)-
0.864Cosθi(t)Sin θi(t)-0,02[Cos2θi(t)Sinθi(t)-Sin3θi(t)]
2

Z4 = -0,432Sinθi(t)+0.04Cosθi(t)Sinθi(t)+0,432[-
Cos2θi(t)+Sin2θi(t)]
Obţinem astfel coordonatele operaţionale ( externe ) în
funcţie de cele articulare (interne) , care în acelasi timp
reprezinta şi ecuaţiile parametrice ale traiectoriei articulaţiei `4`.
Curba a cărei reprezentare parametrică este redată mai sus poate
fi vizualizată utilizând facilitatile oferite de Mathematica 2.1.
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 − C 2 D3) ⎤


⎢ Py ⎥ = 0P ⎢ − S1( S 23D4 − C 2 D3) ⎥ (2.78)
⎢ ⎥ 4
⎢ ⎥
⎢⎣ Pz ⎥⎦ ⎢⎣ C 23D4 + 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 Gx Hx ⎤ ⎡C 4C5 − C 4C5 − S 4⎤
⎢ Fy Gy Hy ⎥⎥ = ⎢⎢ S 4C5 − S 4 S 5 C 4 ⎥⎥ (2.81)

⎢⎣ Fz Gz Hz ⎥⎦ ⎢⎣ − S 5 − C5 0 ⎥⎦

Din aceastã ecuaţie , identificând :


C4=Hy , -S4=Hx , -C5=Gz , -S5=Fz (2.82)
se obţin θ4 şi θ5.
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 )
= δx/δv δy/δv δz/δv (2.84)
D ( u , v , w)
δx/δw δy/δw δz/δw
Coroborând (2.83) cu (2.84) obţinem :

D( x , y , z )
V= ∫∫∫
V D ( u , v , w)
dudvdw (2.85)

în care
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 v2 w2
D( x , y , z )
V= ∫u1
du
v1
∫ dv
w1

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
cunoaştem. Deci cunoscând u1,u2,v1,v2,w1,w2 şi
x=x(u,v,w),y=y(u,v,w),z=z(u,v,w) putem calcula volumul
spaţiului de lucru “V”. Şi din punct de vedere al volumului
spaţiului de lucru distingem o problema directã şi una inversã.
Problema directã constã din determinarea volumului spaţiului
de lucru atunci când se cunosc caracteristicile constructive ale
robotului industrial. Problema inversa constã din determinare
unor relaţii de legaturã între parametrii constructivi ai robotului
industrial când se cunoaşte volumul spaţiului de lucru.
Am definit anterior spaţiul de lucru al roboţilor industriali ca
fiind locul geometric al poziţiilor succesive ale punctului
material caracteristic al obiectului manipulat. Spaţiul de lucru se
caracterizeazã prin volumul spaţiului de lucru şi prin frontiera
sa. Am descris anterior modul de calcul al volumului spaţiului
de lucru. În cele ce urmeazã vom descrie o metodologie de
trasare a frontierei spaţiului de lucru al roboţilor industriali
.Pentru aceasta vom determina ecuaţiile parametrice ale
punctului material caracteristic. Fie un robot industrial cu şase
grade de libertate având cuple cinematice de rotaţie şi/sau de
translaţie. Indiferent de arhitectura robotului industrial şi de
sistemul de coordonate adoptat (cartezian, cilindric, sferic, etc.)
putem calcula coordonatele parametrice ale punctului material
caracteristic. Folosind notatiile H-D vom nota prin qi
coordonatele generalizate ale modulului `i`. qi=qi(t)
În funcţie de tipul cuplei cinematice, rotaţie `R` sau translaţie
`T`, avem :
θi, dacã cupla cinematicã este de tipul R
qi =
bi, dacã cupla cinematicã este de tipul T
cu θi=θi(t) şi bi=bi(t). Vom nota prin [r ]i vectorul de poziţie al
punctului caracteristic manipulat M, faţã de triedrul ”i”. În final
va trebui sã obţinem coordonatele parametrice exprimate faţã de
sistemul de referinţã fix “1”, adicã [r]1 :
[r]i = [x,y,z]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 :
δ_z δ_z
∫∫
D
1+ (
δ_x
)^ 2 + (
δ_ 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 qi “ ş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 v2 w2
D( x , y , z )
V= ∫
u1
du
v1
∫ dv
w1
∫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
cunoscând u1, u2, v1, v2, w1, w2 şi x=x(u,v,w) ,
y=y(u,v,w),z=z(u,v,w) putem calcula volumul spaţiului de lucru
“V”.
În continuare vom exemplifica cele de mai sus printr-un
exemplu de calcul al ariei frontierei exterioare a spaţiului de
lucru . Vom lua în considerare robotul PUMA 600.
Efectuând calculele conform metodologiei expuse mai
sus obţinem :
(0.432+c3) (c1c2-s1s2)
r1 = (0.432+c3) (s1c2+c1s2) (2.91)
-s3-0,149
Deci vom avea urmãtoarele ecuaţii parametrice :
x=(0.432-c3) (c1c2-s1s2) = (0.432+cosθ 3) cos( θ1+θ2)
y=(0.432-c3) (s1c2+c1s2)= (0.432+cos θ3) sin(θ 1+θ2)
z=s3-0.149 = sin θ3 -0.149
Acestea reprezintã coordonatele unui punct material M solidar
cu elementul 4 în funcţie de θ1,θ2,θ3 ( θi=θi(t) ).
Vom elimina pe θ1,θ2,θ3 pentru a obţine o relaţie în x,y,z.
Deci :
x2+y2 = (0.432+cos θ3)2
z = -sin θ3-0.149
(z+0.149)2+(0.432- x ^ 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 :
t2
E= ∫ Pdt
t1
(2.95)

Deoarece am calculat în capitolele precedente atât


forţele/momentele motrice pe fiecare element, cât şi vitezele
liniare şi unghiulare, putem cu uşurinţã calcula energia necesarã
manipulãrii unui anumit obiect pe o anumitã traiectorie.
Un binecunoscut robot industrial al cãrui bilanţ
energetic ni-l propunem spre studiu este Puma 600.
Traiectoriile celor 6 articulaţii sunt descrise de urmãtoarele
curbe :
1 2π 2π
θi = ⎯ [ ⎯⎯ t - sin ( ⎯⎯ t)] pentru i=1,2,...,6
2 10 10
În vederea calculãrii energiei absorbite de robotul Puma
pentru deplasarea pe o traiectorie anume, vom folosi urmãtoarea
subrutinã scrisã în limbajul `Mathematica`:
For[i=1,i<7,i++,ftt6[x_]=Transpose[ft6[x]][[1]];
fg={ft1[x],ft2[x],ft3[x],ft4[x],ft5[x],ftt6[x]};
wq=Transpose[w[i]];wk=wq[[1]];
fa=fg[[i]];
mz[i]=fa . wk;mm[x_]=mz[i];
nj[i]=Integrate[mm[x],{x,0,10}];
nn[x_]=Integrate[mm[x],x];
Print[i];Print[nj[i]];Print[AAA];Print[nn[x]];Print[B]];
ee=Sum[nj[i],{i,1,6}]
În subrutina de mai sus am folosit momentele motrice
fti[x] şi vitezele unghiulare w[i] calculate cu ajutorul
programului de simulare al comportamentului dinamic al
roboţilor industriali de topologie serialã.
Notând cu Ei energia necesarã modulului “i” am obţinut
urmãtoarele valori :
E1=5 (8.16875 Pi2-0.0241805 Pi4)/Pi
E2=5 (31.0454Pi2+0.127271Pi4)/Pi
E3=5(-0.041319+0.0381736Pi4)/Pi
E4=0.00105295 Pi3 10
E5=0.000479288 Pi3 10
E6=0.0000438153Pi3 10
E=E1+E2+E3+E4+E5+E6 =195.864 Pi +0.72246 Pi3 = 637.725
[N m s-1]
Metoda este simplã, eficace şi accesibilã. Ea ne permite
o analizã a diferitelor structuri modulare din punct de vedere
energetic. Putem evalua consecinţele modularizãrii şi alege
varianta optimã de robot industrial utilizând criteriul optimului
energetic. De exemplu, putem calcula energia necesara
manipularii unui obiect de catre robotul Puma avãnd una dintre
structurile modificate, obţinute prin inversarea a douã module.
Pentru robotul obţinut din structura iniţialã a robotului
Puma prin inversarea modulelor 1 cu 3 am calculat valoarea
energiei consumate.Ea este :
E=910.203 [N m s-1 ]
iar pentru robotul obţinut prin inversarea modulelor 2 cu 3
E=962.007 [N m s-1]
Constatãm cã structura iniţialã este optimã din punctde vedere al
bilanţului energetic.
Iatã deci un alt criteriu de evaluare atât al roboţilor
industriali în construcţie modularã cât şi a celor universali.
Acesta se adaugã celor descrişi în capitolele anterioare, şi
anume:
- volumul spaţiului de lucru
- aria frontierei spaţiului de lucru
- analiza dinamicã
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 Pi ⎤
Tni = ⎢ (2.96)
⎣ 0 1 ⎥⎦

0 ⎡ Af Pf ⎤
Tnf = ⎢ (2.97)
⎣ 0 1 ⎥⎦

Mişcarea rezultantã va avea ecuaţia :

0 ⎡ A(t ) P(t ) ⎤
Tn(t) = ⎢ (2.98)
⎣ 0 1 ⎥⎦

La nivelul coordonatelor articulare qi ( i=1,2,...,n ) mişcarea este


descrisã prin ecuaţii de tipul :

qi = qi(t) (2.99)

Cum cea mai mare parte a roboţilor industriali au o


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

y = v(t) (2.100)

z = w(t)

Indiferent de structura mecanismului generator de traiectorii , fie


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

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

Pentru operativitatea calculelor se noteazã :

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

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

g3+r1 = K3(q1,q2,q3)
Punctul caracteristic se deplaseazã de-a lungul unei
drepte descrisã de ecuaţia (2.99). Pentru ca punctul caracteristic
sã aparţinã curbei impuse este necesar ca :

Px = u(t)

Py = v(t) (2.106)

Pz = w(t)

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

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

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

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

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

q1 = q1(t)

q2 = q2(t) (2.108)

q3 = q3(t)

Cea de a doua modalitate de a determina relaţiile (2.108)


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

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

Pentru fiecare poziţie `k` de pe traiectoria impusã se rezolvã


problema cinematicã inversã, obţinându-se coordonatele
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 + r1
Vom aplica algoritmul pe un robot RIP 6,2.
Inlocuind în (2.112) valorile coeficienţilor H-D ale
robotului RIP 6,3 obţinem :
Px = Cos(t1) [ Cos(t2) ( q+0,67 Cos(t3) ) - 0,67 Sin(t2) Sin(t3) ]
Py = Sin(t1) [ Cos(t2) (q+0,67 Cos(t3) ) - 0,67 Sin(t2) Sin(t3) ]
Pz= - Sin(t2) (q+0,67 Cos(t3)) - 0,67 Cos) Sin(t3) (2.113)
Dar ,
D2 = Px2+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 u2(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=”a3”.
Pentru elementul “3” legea de mişcare este :
t3(t,q) = ArcCos[(1/1,34 q) ( 0,095u2-0,18u-0,025)]
Graficul şi variatia lui t3(t,q) ca şi cele ale vitezei şi
acceleraţiei aceluiaşi element sunt redate în figurile 2.5-2.7.

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


timp şi de parametrul Hartemberg-Denavit a3

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


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

2.3.8. Consideraţii privind controlul deplasãrilor în


coordonate articulare cu determinarea traiectoriei
endefectorului.

Controlul deplasãrii între douã puncte aparţinând


spaţiului de lucru al unui robot se poate efectua în coorodnate
articulare sau operaţionale. Conversia coordonatelor articulare în
coordonate operaţionale se efectueazã rezolvând problema
cinematicã directã iar conversia coordonatelor operaţionale în
coordonate articulare se efectueazã rezolvând problema
cinematicã inversã.
Fie P1 şi P2 douã puncte din interiorul spaţiului de lucru al
robotului având coordonatele :
P1= ( 0,50 , 0,10 , 0,40 )
P2 = ( 0,35 , 0,35 , 0,30 ).
Rezolvând problema cinematicã inversã putem determina
coordonatele articulare corespunzãtoare celor ale punctelor P1 şi
P2. Cum însã robotul Puma este un robot având şase grade de
libertate , conform teoremei lui Roth va exista o soluţie a
problemei cinematice inverse. Având o structurã decuplatã
putem separa problema poziţionãrii de cea a orientãrii , astfel
încât putem lua în considerare numai primele trei grade de
libertate.
Utilizând metoda lui Khalil şi Pieper pentru rezolvarea
problemei cinematice inverse şi programe de calcul adecvate
scrise în limbajul Mathematica 2.1 , se vor determina valorile
coordonatelor articulare corespunzãtoare lui P1 şi P2.
( q1 , q2 , q3 ) vor fi coordonatele corespunzãtoare lui P1
şi ( q`1 , q`2 , q`3 ) vor fi coordonatele corespunzatoare lui P2.
( q1 , q2 , q3 ) = ( 0,493936 , -1,44054 , -0,018476 )
( q`1 , q`2 , q`3 ) = ( 1,09117 , -1,43398 , 0,209843 ) (2.121)
Dacã controlul mişcãrii va fi efectuat în coordonate
articulare, atunci funcţiile care descriu mişcarea pe fiecare grad
de libertate vor fi :
t
q1(t) = q1 + (q`1-q1)
tm
t
q2(t) = q2 + (q`2-q2) (2.122)
tm
t
q3(t) = q3 + (q`3-q3)
tm
t∈[0,tm] . Fie tm = 1 secundã.
Astfel (4.60) devine :
q1(t) = 0,493936 + 0,597234 t
q2(t) = -1,44054 + 0,00656 t (2.123)
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
⎡ Cθi − Sθi 0 di ⎤
⎢CαiSθi CαiCθi − Sαi − riSαi ⎥
i-1
Ti = ⎢ ⎥ (2.124)
⎢ 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 − S1 0 0⎤
⎢ S1 C1 0 0⎥
0
T1 = ⎢ ⎥ (2.126)
⎢0 0 1 0⎥
⎢ ⎥
⎣0 0 0 1⎦
⎡ C2 − S 2 0 0 ⎤
⎢ 0 0 . ⎥
1 −0149
1
T2 = ⎢ ⎥ (2.127)
⎢− S 2 −C 2 0 0 ⎥
⎢ ⎥
⎣ 0 0 0 1 ⎦
⎡C 3 − S 3 0 0⎤
⎢ S 3 C 3 0 0⎥
2
T3 = ⎢ ⎥ (2.128)
⎢0 0 1 0⎥
⎢ ⎥
⎣0 0 0 1⎦
0
T3 = 0T1 1T2 2T3 (2.129)
⎡ X 4⎤ ⎡ x⎤
⎢ Y4 ⎥ ⎢ y⎥
⎢ ⎥ = 0T3 ⎢ ⎥ (2.130)
⎢ Z4 ⎥ ⎢z⎥
⎢ ⎥ ⎢ ⎥
⎣ 1 ⎦ ⎣1⎦
Pentru robotul Puma relaţia de mai sus devine :
⎡ X 4⎤ ⎡−0,02⎤
⎢ Y4 ⎥ ⎢ 0,432 ⎥
⎢ ⎥ = 0T3 ⎢ ⎥ (2.131)
⎢ Z4 ⎥ ⎢ 0 ⎥
⎢ ⎥ ⎢ ⎥
⎣ 1 ⎦ ⎣ 1 ⎦
Pentru a rezolva sistemul sistemul (2.131) , se va apela la
urmãtorul program în limbajul Mathematica 2.1.

q1[t_]=0.493936+0.597234 t;
q2[t_]=-1.44054+0.00656 t;
q3[t_]=-0.018476+0.228319 t;
t1={{Cos[q1[t]],-Sin[q1[t]],0,0},{Sin[q1[t]],Cos[q1[t]],0,0},
{0,0,1,0},{0,0,0,1}};
t2={{Cos[q2[t]],-Sin[q2[t]],0,0},{0,0,0,-0.149},
{-Sin[q2[t]],-Cos[q2[t]],0,0},{0,0,0,1}};
t3={{Cos[q3[t]],-
Sin[q3[t]],0,0.432},{Sin[q3[t]],Cos[q3[t]],0,0},
{0,0,1,0},{0,0,0,1}};
t123[t_]=t1 . t2 . t3;
b={{-0.02,0.432,0,1}};
a=Transpose[b];
t0=t123[t] . a;
x[t_]=t0[[1]];xk[t_]=x[t][[1]];
y[t_]=t0[[2]];yk[t_]=y[t][[1]];
z[t_]=t0[[3]];zk[t_]=z[t][[1]];
ParametricPlot3D[{xk[t],yk[t],zk[t]},{t,0,1}]

xk[t] are forma de mai jos :


0.432 Cos[1.44054 - 0.00656 t]
Cos[0.493936 + 0.597234 t] +
0.432 (Cos[1.44054 - 0.00656 t]
Cos[0.493936 + 0.597234 t]
Sin[0.018476 - 0.228319 t] +
Cos[0.018476 - 0.228319 t]
Cos[0.493936 + 0.597234 t]
Sin[1.44054 - 0.00656 t]) -
0.02 (Cos[0.018476 - 0.228319 t]
Cos[1.44054 - 0.00656 t]
Cos[0.493936 + 0.597234 t] -
Cos[0.493936 + 0.597234 t]
Sin[0.018476 - 0.228319 t]
Sin[1.44054 - 0.00656 t]) +
0.149 Sin[0.493936 + 0.597234 t]

Din motive de conciziune nu vom mai detalia expresiile


lui yk[t] şi zk[t] , care se vor determina analog.
Cunoscând xk[t] , yk[t] , zk[t] , am obţinut ecuaţiile
parametrice ale traiectoriei descrise de endefector când controlul
mişcãrii se realiazeazã în coordonate articulare şi putem obţine
reprezentarea parametricã a traiectoriei endefectorului când
deplasarea se efectueazã între punctele P1 şi P2 , iar controlul
mişcãrii se efectueazã în coordonta articulare. De asemeni
putem stabili dacã aceastã traiectorie se intersecteazã cu alte
obiecte şi obstacole din spaţiul de lucru al robotului industrial.
Dacã nu, atunci controlul mişcarii se poate efectua în coordonate
articulare fãrã a exista riscul coliziunii. Daca aceastã traiectorie
a endefectorului intersecteazã obiecte sau obstacole din spaţiul
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 M1 în M2.
Traiectoria sa este rezultanta compunerii mişcãrii pe cele
“N” grade de libertate. Una dintre cele mai importante probleme
care se pun în roboticã este cea a controlului mişcãrii
endefectorului. Acest control se poate realiza în coordonate
articulare ( interne ) sau operaţionale ( externe ). Controlul
mişcãrii în coordonate articulare este mai simplu , necesitã un
volum mai mic de calcule , dar nu se poate asigura controlul
traiectoriei între pozitia iniţialã şi cea finalã şi existã riscul
coliziunii. Controlul mişcãrii în coordonate operaţionale necesitã
un volum mai mare de calcule , dar asigurã deplasarea de-a
lungul unei traiectorii prescrise. În afara problemei deplasãrilor
pure se pune şi problema restricţiilor de ordin cinematic.
Bineinteles cã este de dorit ca deplasarea sã se realizeze într-un
interval de timp cât mai scurt, deci cu viteze şi acceleraţii cât
mai mari, dar nu trebuie pierdute din vedere consecinţele unor
valori mari ale vitezelor şi acceleraţiilor în planul dinamicii, şi
nici limitele fizice ale motoarelor de acţionare. Dacã controlul
mişcãrii se realizeazã în coordonate articulare prin însãşi
funcţiile care descriu legile de mişcare ale fiecãrei articulaţii se
respectã aceste limitari. Dacã însã controlul mişcãrii se
realizeazã în coordonate operaţionale, încadrarea în vitezele şi
acceleraţiile maxime este mai dificil de realizat, dar nu
imposibil.
Indiferent de modalitatea de control a mişcãrii aleasã ,
este de dorit ca mişcãrile pe fiecare grad de libertate sã fie
sincronizate, în sensul cã ele sã aibã aceeaşi duratã. Existã
numeroase modalitãţi de realizare a sincronizãrii mişcãrilor. În
cele ce urmeazã se va analiza deplasarea endefectorului de-a
lungul unei traiectorii rectilinii în interiorul spaţiului de lucru ,
cu respectarea restricţiilor cinematice ( de viteza şi acceleraţie ).
Poziţia punctului de intersecţie al celor trei axe
concurente este în funcţie numai de q1 , q2 , q2 deoarece vom lua
în considerare o structurã “decuplata”( foarte des întâlnitã ) care
permite separarea problemelor de poziţionare de cele de
orientare.
Coordonatele punctului caracteristic manipulat faţã de
sistemul de coordonate fix este :
Px = C1g1 - S1g2
Py = S1g1 + C1g2 (2.132)
Pz = g3 + r1
Vom aplica algoritmul pe un robot RIP 6,3 care are
caracteristicile enumerate anterior.
Inlocuind în (2.132) valorile coeficientilor H-D ale
robotului RIP 6,3 obţinem :
Px = Cos(t1) [ (0,46+0,67 Cos(t3) ) - 0,67 Sin(t2) Sin(t3) ]
Py = Sin(t1) [ (0,46+0,67 Cos(t3) ) - 0,67 Sin(t2) Sin(t3) ] (2.133)
Pz= -0,46+0,67 Cos(t3) - 0,67 Cos) Sin(t3)
Dar ,
D2 = Px2+Py2+Pz2 (2.134)
Inlocuind în (2.134) obţinem :
D2 =0,6605+0,6164 Cos(t3)
Pe de alta parte o traiectorie liniara P1 [x1,y1,z1], P2
[x2,y2,z2] este descrisa în spaţiu prin ecuaţii parametrice de tipul:
x(t)=x1+(x2-x1) u(t)
y(t)=y1+(y2-y1) u(t) (2.135)
z(t)=z1+(z2-z1) u(t)
unde , u(t) se determina prin interpolare cu polinoame de gradul
3 , tinind cont de urmatoarele conditii limita :
u(0)=0 , u(tm)=1 , u(0)=0 , u(tm)=0 (2.136)
unde tm reprezintã timpul maxim de manipulare. În final
obţinem :

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

Fie P1 [0,50 , 0,10 , 0,40] şi P2 [0,35 , 0,35 , 0,30] douã puncte


din interiorul spaţiului de lucru.
Pentru dreapta P1P2 , ecuaţiile parametrice au urmatoarea forma:
x(t)=0,50-0,15 u(t)
y(t)=0,10+0,25 u(t) (2.138)
z(t)=0,40-0,10 u(t)
D2=x(t)2+y(t)2+z(t)2 = 0,42 + 0,095 u2(t,tm) - 0,18 u(t,tm) (2.139)
t3(t,tm) = ArcTan [ 0,095 u2(t,tm)-0,18 u(t,tm) - 0,2405 ] (2.140)
Redãm mai jos reprezentarea grafica a legilor de mişcare
pe fiecare grad de libertate în funcţie de (t,tm).

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

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


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

Obţinem astfel legile de mişcare pe cele trei grade de


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

Fig.2.13. Graficul lui a1


Analog se obţin şi graficele lui v2 , v3 , a2 , a3 , care nu se mai
reproduc , din motive de spaţiu.
Pentru a obţine legea de mişcare optimã pe gradul de
libertate “1” va trebui sã impunem limitãri lui v1 şi a1 sub forma
unor plane orizontale care trec prin punctul de vitezã şi
acceleraţie maximã. Raţionamentul se repetã pentru fiecare grad
de libertate, în final obţinându-se valoarea minimã a lui tm care
ţine cont de limitãrile pe cele trei grade de libertate.
2.3.10. Controlul mişcãrii în coordonate interne şi externe

Marea majoritate a roboţilor industriali executã sarcini


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

a={0,0,0.432,0.02,0,0};
b={0,-0.149,0,-0.432,0,-0.056};
al={0,-Pi/2,0,Pi/2,-Pi/2,Pi/2};
p={0.5,0.1,0.4}
f1[t3]=a[[4]] Cos[t3]+b[[4]] Sin[t3] Sin[al[[4]]]+a[[3]];
f2[t3]=Cos[al[[3]]] (Sin[t3] a[[4]]-
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)
z(t) = 0,40 - 0,10 ( 3t2-2t3 )
Dacã controlul mişcãrii se efectueazã în coordonate
interne ( articulare ) , atunci funcţiile care descriu mişcarea vor
avea urmãtoarea formã :
t
q1(t) = q1 + (q`1-q1)
tm
t
q2(t) = q2 + (q`2-q2) (2.141)
tm
t
q3(t) = q3 + (q`3-q3)
tm
t∈[0,tm] , şi tm = 1 secundã.
Astfel (2.141) devine :
q1(t) = 0,493936 + 0,597234 t
q2(t) = -1,44054 + 0,00656 t (2.142)
q3(t) = -0,018476 + 0,228319 t

Metoda este simplã şi eficientã, dar între cele douã


puncte nu putem controla traiectoria endefectorului şi s-ar putea
sã avem probleme de coliziune. În figura 2.14 este reprezentatã
variaţia în funcţie de timp a coordonatelor articulare ale gradului
de libertate 2.
Fig.2.14. Variatia în funcţie de timp a coordonatelor articulare
ale modulului 3, când controlul mişcãrii se efectueazã în
coordonate articulare.
Dacã controlul mişcãrii se efectueazã în coordonate
externe ( operaţionale ) , atunci un punct oarecare M (Px, Py, Pz)
aparţinând traiectoriei P1P2 va satisface urmãtoarele conditii :
Px = x(t) ; Py = y(t) ; Pz = z(t) (2.143)
Conform metodei Khalil şi Pieper , avem :
Px = Cos[q1] Cos[q2] ( 0,02 Cos[q3] - 0,432 Sin[q3]+0,432 )-
Cos[q1] Sin[q2] ( 0,02 Sin[q3] + 0,432 Cos[q3] )- 0,149 Sin[q1]
Py = Sin[q1] Cos[q2] ( 0,02 Cos[q3]-0,432 Sin[q3]+0,432 ) -
- Sin[q1] Sin[q2] ( 0,02 Sin[q3] + 0,432 Cos[q3] )- 0,149 Cos[q1]
Pz = - 0,02 Sin[q2] Cos [q3]+ 0,432 Sin[q3] Sin[q2] - 0,432
Sin[q2] -- Cos[q2] ( 0,02 Sin[q3] + 0,432 Cos[q3] )
(2.144)
H1 = Px2 + Py2 + ( Pz - r1 )2 q (2.145)
2 2 2
H1 = x(t) + y(t) + z(t) q (2.146)
Px2 + Py2 + ( Pz - r1 )2 = x(t)2 + y(t)2 + z(t)2 (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 u2 - 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 :
r0 = 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 ,
δx δx δx
d(x)0 = dq1 + dq2 + .....+ dqn
δq1 δq 2 δqn
δy δy δy
d(y)0 = dq1 + dq2 + .....+ dqn (2.150)
δq1 δq 2 δqn
δz δz δz
d(z)0 = dq1 + dq2 + .....+ dqn
δq1 δq 2 δqn
|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 dqi.
Pe lângã aceşti factori, precizia de poziţionare mai depinde de
deformărarile elastice ale sistemului sub acţiunea piesei
manipulate , de influenţele termice, de vibraţii , etc. Abaterile
dqi se pot determina experimental, în regim normal de
exploatare, luând în considerare toate influenţele. Analiza
preciziei de poziţionare este utilă nu numai din punct de vedere
teoretic, ci permite ameliorarea acesteia prin introducerea unor
circuite de reacţie şi pentru elaborarea softului aferent.
Pentru determinarea preciziei de poziţionare vom
determina mai întâi ecuaţiile parametrice ale punctului material
caracteristic. Fie un robot industrial cu şase grade de libertate
având cuple cinematice de rotaţie şi/sau de translaţie. Indiferent
de arhitectura robotului industrial şi de sistemul de coordonate
adoptat (cartezian, cilindric, sferic, etc) putem calcula
coordonatele parametrice ale punctului material caracteristic.
Folosind notaţiile Hartemberg-Denavit vom nota prin qi
coordonatele generalizate ale modulului “i” qi=qi(t). In funcţie
de tipul cuplei cinematice, rotaţie R sau translaţie T, avem :

θi, dacă cupla cinematică este de tipul R


qi =
bi, dacă cupla cinematică este de tipul T

cu θi=θi(t) şi bi=bi(t).Vom nota prin [r ]i vectorul de poziţie al


punctului caracteristic manipulat M , faţã de triedrul”i”. In final
va trebui sã obţinem coordonatele parametrice exprimate faţă de
sistemul de referinţă fix “0”`,adica [r]1 :
[r]0 = [x1,y1,z1]T
Vom calcula pe [r]1 pornind de la [r]6. cu următoarea formulă :
[r]i-1 = ai + Qi [r]i (2.152)
i=1,2,...,5,iar ai este vectorul de poziţie al lui Oi+1 faţă de Oi
exprimat în coordonatele sistemului ”i”. şi Qi este matricea de
rotaţie a sistemului “i+1” faţã de ”i”. în coordonatele lui ”i”. şi
au urmãtoarele forme :
ai=[ai ,bi sinαi , -bi cosαi]T (2.153)

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

unde ai,bi,αi,θi, sunt parametri H-D.


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

Modulul αi ai bi θi iniţial
1 0 0 0 0
2 -90 0 -0.149 0
3 0 0.432 0 0
4 90 0.02 -0.432 0

Pentru simplificarea notaţiilor vom nota :


cosθi = ci şi sinθi = şi
Efectuând calculele conform metodologiei expuse mai
sus,obţinem :
−0.02
r3 = 0.432
0
[r]2 = a3+Q3 [r]3
⎡0,432⎤ ⎡cθ 3 − sθ 3 0⎤
r2 = ⎢ 0 ⎥ + ⎢ sθ 3 cθ 3 0⎥
⎢ ⎥ ⎢ ⎥
⎢⎣ 0 ⎥⎦ ⎢⎣ 0 0 1⎥⎦
⎡− 0,02⎤ ⎡0,432 − 0,02c3 − 0,432 s3⎤
⎢ 0,432 ⎥ = ⎢ − 0,02 s3 + 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.02s2c3+0.432s2s3-0.432c2+0.02c2c3+0.432c2s3
Deci :
x0 (t)= Cos(q1)(0.432Cos(q2)-0.02 Cos(q2) Cos(q3)-0.432
Cos(q2) Sin(q3)+0.02 Sin(q2) Sin(q3)-0.432 Sin(q2) Cos(q3))
y0 (t)= Sin(q1)(0.432 Cos(q2)-0.02 Cos(q2) Cos(q3)-0.432
Cos(q2) Sin(q3)+0.02 Sin(q2) Sin(q3)-0.432 Sin(q2) Cos(q3))
z0 (t)= -0.432Sin(q2)+0.02 Sin(q2) Cos(q3)+0.432 Sin(q2)
Sin(q3)-0.432 Cos(q2)+0.02 Cos(q2) Cos(q3)+0.432 Cos(q2)
Sin(q3)

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

∂x 0
=Cos(q1) (-0.432Sin(q2)+0.02 Sin(q2) Cos(q3)+0.432
∂q 2
Sin(q2) Sin(q3)+0.02 Cos(q2) Sin(q3)+0.432 Cos(q2) Cos(q3))

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

3.1. Ecuaţiile dinamice ale unui robot industrial de


tip serial

Un robot industrial de tip serial este un mecanism spaţial


care conţine cuple cinematice de rotaţie sau de translaţie.
Considerăm un set de coordonate generalizate{qi}n, pe care le
grupãm într-un vector n-dimensional al coordonatelor
generalizate,”q”. Vitezele generalizate se definesc ca fiind
derivată în raport cu timpul a coordonatelor generalizate q. Fie
ck şi ck vitezele şi acceleraţiile centrelor de greutate ale
elementelui “k”,iar wk şi wk vitezele şi acceleraţiile unghiulare
ale aceluiaşi element `k`. Astfel contribuţia elementului `k` la
forţa de inerţie generalizată se defineşte ca fiind :
δck δwk
∅k* = -( ⎯ )T mk ck - ( ⎯⎯ )T hk (3.1)
δq δq

∅k* este un vector n-dimensional, iar hk este derivata în raport


cu timpul a momentului unghiular al elementului “k” în raport
cu centrul sãu de greutate.
hk = Ik wk +wk x Ikwk (3.2)
unde, Ik este tensorul centroidal de inerţie al elementului “k”.
δck/δq şi δwk/δq sunt mtrici 3 x n. Vectorul n-dimensionl al
forţei de inerţie generalizată a sistemului este :
δck δwk
∅* = ∑ ∅k* = -∑ [( ⎯⎯ ) mk ck + ( ⎯⎯ )T hk].
T
(3.3)
δq δq

Pe de altă parte, dacă asupra elementului “k” se


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

δq δq
Astfel ecuaţia dinamicã a sistemului devine :
∅+∅*=0 (3.6)
Ecuaţia de mai sus este cunoscutã sub numele de ecuaţia “Kane”

3.1.1. Descrierea notaţiilor Hartemberg-Denavit

Sã presupunem că robotul industrial aflat în studiu


contine “n+1” elemente, dintre care “n” mobile şi una fixã
(baza), are “n” cuple cinematice de rotaţie sau translaţie cu un
grad de libertate. Cele “n+1” elemente sunt numerotate de la 0 la
n, începând cu baza care va fi notata cu “0” şi terminând cu
end-fectorul (EE). Cele “n” cuple cinematice ( articulaţii ) sunt
numerotate de la “1” la “n”, astfel încât articulaţia “i” face
lagãtura între elementul “i-1” şi “i”. Pentru a stabili relaţii de
calcul cinematice între diferitele elemente vom folosi în cele ce
urmează un sistem de relaţii Hartemberg-Denavit (H-D)
modificate. Fiecărui element “i” i se ataşeazã un triedru
triortogonal. In notaţiile H-D originale direcţia axei Zi se
defineşte de-a lungul axei cuplei cinematice, direcţia axei Xi se
defineste de-a lungul normalei la cele douã axe consecutive iar
axa Yi se defineşte după regulă şurubului drept.
In cele ce urmează vom folosi un sistem H-D modificat
care are avantajul de a simplifica considerabil calculele în cazul
roboţilor industriali. Astfel sistemul de coordonate”i’` este
solidar cu elementul “i” şi are originea în articulaţia “i”.
Sistemul XoYoZo va fi solidar cu baza, putând avea originea
oriunde. El va fi sistemul fix la care ne vom raporta în final.
Axele noului triedru H-D se definesc astfel :
• axa Zi se defineşte de-a lungul axei cuplei cinematice;
• axa Xi se defineşte ca având direcţia perpendicularei
comune ale axelor Zi şi Zi+1 îndreptatã de la prima spre
ultima;
• axa Yi se defineşte după regula şurubului drept faţă de
celelalte douã.
Bazându-ne pe aceste notaţii poziţiile relative şi orientările
elementului “i” fata de “i+1” se definesc complet prin patru
parametrii H-D, după cum urmează :
αi = unghiul dintre Zi-1 şi Zi, în sensul poziţiv al axei Xi-1;
ai = distanţa dintre Zi-1 şi Zi, luată în valoareabsolută;
bi = coordonata Zi a intersecţiei lui Xi-1 şi Zi;
θi = unghiul dintre Xi-1 şi Xi în direcţia axei Zi.
Xi-1 Xi

Oi
ai
Zi
bi
Yi

Yi-1
Oi-1

Zi-1 Fig.3.1. Triedrele Hartemberg-Denavit


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

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

ai
[ai]i-1 = bi sinαi (3.8)
• bi cosαi
Versorul axei cuplei cinematice “i” este definit astfel :
[ei]i=[0,0,1]T (3.9)

3.2. Calculul vitezelor unghiulare şi al acceleraţiilor

Viteza unghiulară şi acceleraţia elementului “i” se


calculează cu relaţiile :
wi-1+θ i ei, dacă cupla cinematică “I” este de rotaţie (R)
wi= (3.10)
wi-1 , dacă cupla cinematică “i” este de translaţie(T)

wi-1 +wi-1 x θi ei +θi ei , dacă cupla cinematică “i” este (R)


wi= (3.11)
wi-1 ,dacă cupla cinematică”i” este “T”
pentru i=1,2,....,n, unde wo şi wo sunt vitezele unghiulare şi
acceleraţiile bazei. In scopul reducerii complexitătii calculelor
toţi vectorii corespunzãtori elementului “i” se vor exprima în
funcţie de coordonatele sistemului “i”. Astfel vitezele şi
acceleraţiile unghiulare se vor exprima cu ajutorul urmãtoarelor
formule :
QiT[wi-1]i-1 + θi[ei]i, dacă cupla cinematică “i” este R
[wi]i = (3.12)
T
Qi [wi-1]i-1,dacă cupla cinematică “i”este T

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


cinematică “i” este R
[wi]i = (3.13)
T
Qi [wi-1]i-1 , dacă cupla cinematică “i”este T

Dacă sistemul de referinţa inerţial este ales cel al bazei, atunci,


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

3.3.Calculul vitezelor şi acceleraţiilor centrelor de


greutate

Fie ci vectorul de poziţie al centrului de greutate, Ci al


elementului “i”, ρi fiind vectorul direcţionat de la Oi la Ci (vezi
figurile 3.2 şi 3.3).
Vectorul de poziţie al distanţei dintre douã centre de
greutate succesive este dat de relaţia :
ci = ci-1-ρi-1 + ai +ρi (3.14)
sau, în coordonatele sistemului “i” :
[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. (3.19)

ei+1
element i
element i-1
ei

Oi-1
0i+1
ai
ai+1

ρi-1 Ci
ρi
Oi
Oo
Ci-1 ci
ci-1

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


ei+1
ei

elementul Oi+1
elementul i-1 Oi
ai
ρi
Ci
Oi-1
di bi

ci
ρi-1

Oo
Ci-1
ci-1

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


translaţie.
pentru i=1,2,....,n,,unde co şi co sunt respectiv viteza şi
acceleraţia centrului de greutate al bazei. Dacă baza este aleasă
ca sistem inerţial de referinţă, atunci :
[co]o = 0 şi [co]o =0.
In derivarea ecuaţiilor (3.76), am folosit următoarele formulele
de derivare ale vectorilor :

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


ai = (3.20)
wi-1 x ai-bi ei, dacă cupla cinematică “i” este de tip T
3.4. Calculul forţelor / momentelor motoare la un
robot de tip serial

Forţele active Ø se obţin însumând forţele gravitaţionale


Øg ,forţele disipative Ød, şi forţele motoare “τ” care sunt forţele
dezvoltate de elementele de execuţie ale fiecărui grad de
libertate. Deci :
∅ = ∅g + ∅d + τ, (3.21)
unde ∅g şi ∅d sunt vectori n-dimensionali având urmãtoarea
formă :
δck T
∅g = ∑ ( ) mk g (3.22)
δq
∅d = [ ∅d1, ∅d2, ∅d3,......∅dn ]T (3.23)
τ = [ τ1, τ2,..........,τn ]T (3.24)
iar “g” este acceleraţia gravitaţională. Forţele/momentele
disipative ∅d şi forţele / momentele motoare τi acţioneazã
asupra elementului (gradului de libertate) “i”. Ecuaţiile Kane
devin :
∅g + ∅d + τ + ∅* = 0 (3.25)
Explicitând în ecuaţia de mai sus obţinem :
τ = - ∅d - (∅g + ∅*) =
- ∅d + ∑ [ (δwj / δq )T hj + (δcj / δq )T mj (cj-g)] (3.26)
Bazându-ne pe definiţia triedrelor H-D, coordonatele
generalizate vor avea urmãtoarele forme:
θi, dacă cupla cinematica “i” este de tip R
qi = (3.27)
bi, dacă cupla cinematica “i” este de tip T.
Derivatele parţiale în rapor cu vectorul vitezelor generalizate ale
vitezelor unghiulare şi liniare au urmãtoarele forme :
δwj δcj
Aj = ⎯⎯ , Bj = ⎯⎯ , pentru j=1,2,.....,n (3.28)
δq δq
Aj şi Bj reprezintă matricile Jacobi asociate elementului “i” şi
sunt matrici 3 x n.
Dacă toate cuplele cinematice sunt de tip R atunci :
Aj = [ e1,e2,......,ej,0,.....,0] (3.29)
Bj = [ e1 x sj1,e2 x sj2,....,ej x sjj,0,...0]. (3.30)
Dacă cupla cinematică “i” este de tip T atunci pentru i=1,2,...,j
avem :
Aj = [ e1,e2,.....,ei-1,0,ei+1,....,ej,....,0] (3.31)
Bj = [e1 x sj1,...,ei-1 x sj,i-1,ei,ei+1 x sj,i+1,...,ej x sjj,0,...,0] (3.32)
unde “sji” este vectorul de poziţie al centrului de greutate al
elementului “j” Cj faţă de originea sistemului “i” Oi şi se
defineşte astfel :

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


sji = (3.33)
ρj , dacă i=j
Astfel, introducând expresiile de mao sus în (3.26) obţinem :
τ = -∅d + ∑ [ AjT hj + BjT mj (cj -g)]. (3.34)
Forţele disipative ∅d se compun din forţele de
rezistenţă la înaintare, care pentru roboţii industriali funcţionând
în atmosfera sau în spaţiu sunt practic neglijabile, ele fiind
demne de luat în considerare în cazul roboţilor subacvatici şi din
forţele de frecare. Acestea din urma sunt şi ele neglijabile
deoarece mecanismele care intrã în componenta roboţilor
industriali sunt cu frecare de rostogolire, randamentul acestor
mecanisme fiind foarte mare. Deci vom considera ∅d = 0.
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 :
n n
τi = ∑j =i
( ei ⋅ hj +ei x sji ⋅ mj pj ) = ei ⋅ ∑
j =i
( hj +sji x mj pj) ;

(3.36)
(ii) dacă cupla cinematică “i” este de tip T, atunci :
n n
τ i= ∑
j =i
ei ⋅ mj pj = ei ∑j =i
mj pj. (3.37)

Deoarece produsul scalar a doi vectori este independent de


sistemul de coordonate ales, τi se poate calcula în funcţie de
coordonatele sistemului de referinţă “i” astfel :
(i)dacă cupla cinematică “i” este de tip R,atunci :
n
τi = [ei]i ⋅ ∑
j =i
[hj +sji x mjpj]i ; (3.38)

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


n
τi = [ei ]i ⋅ ∑ mj[pj]i. (3.39)
j =i

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


n

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

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

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


Deci :
n n

∑j =i
[ hj +sji x mj pj ]i = ∑
j =i +1
[ hj +(sj,i+1 +ai+1) x mj pj ]i + [hi +
n n
sii x mi pi ]i = ∑
j =i +1
[hj +sj,i+1 + mj pj ]i+[ai+1]i x ∑
j =i +1
mj[pj]i + [hi
n
+ sii x mi pi]I = Qi+1 ∑
j =i +1
[ hj + sj,i+1 x mj pj ]i+1 + ki (3.40)

unde ki este definit astfel :


n
ki = [hi]i +[sii]i x mi[pi]i + [ai+1]i x ∑
j =i +1
mj [pj]i (3.41)

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

∑j =i
mj [pj]i = mi [pi]i +Qi+1 ∑
j =i +1
mj [pj]i+1. (3.42)

Pentru calculele recursive de mai sus am folosit relaţia de


transpunere a unui vector dintr-un sistem de coordonate intr-
altul.
[r]i = ai +Qi+1[r]i+1 (3.43)
Derivând expresia de mai sus obţinem :
[r]i = Qi+1 [r]i+1 (3.44)

3.5. Stabilirea ecuaţiilor dinamice ale unui robot


industrial
folosind ecuaţiile Lagrange de speţa a II a
Fie schema cinematică a unui R.I. de construcţie
modulară , având sşase grade de libertate , prezentat in figura
3.5.
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.

d ∂T ∂_T
( )- = Qk (3.45)
dt ∂qk ∂ _ qk
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 m2 q22
T3 = 1/2 J(3)Δ2 q21 + 1/2 m3 q22+ 1/2 J(3)Δ2 q23 (3.46)
T4 = 1/2 J Δ1 q 1 + 1/2 m4 q 2+ 1/2 J Δ2 q 3 +1/2 m4 q24
(4) 2 2 (4) 2

T5 = 1/2 J(5)Δ1 q21 + 1/2 m5 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) q22+ 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 Δ1 = J(5)O5,1 + m5 [(q4 + l3)2 + (l4+q5)2]
(5)

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 qk.
In aceste condiţii, energia cinetică T a sistemului ,având
în vedere relaţii (3.46) si (3.47) devine :
3 5 5
T = 1/2 {[ ∑i=1
J(i)Δ1 + ∑
i= 4
J(i)Oi,1 + J(6+7)O6,1 + ( ∑ mi ) ( q4 +
i= 4
l3 )2 + m5 (q5 + l4)2 + + ( m6 + m7 ) ( q5 + l4 +l5 )2 ] q21 +
7 4
( ∑ mi) q22 + [ ∑ J(i)Δ2 + J(i)O5,2 + J(6+7)O6,2 + (3.48)
i= 2 i= 3

7
+ m5 (q5 + l4 )2 + (m6 + m7 ) (q5 + l4 + l5 )2 ] q23 + ( ∑ mi ) q24
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 :
6 6
δWk = ∑k =1
Fk δrk + ∑
k =1
Mk δθk (3.50)

Se adoptă sistemul de referinţă O1xyz având axa O1z


dirijată după axa Δ1 , axa O1y paralelă cu poziţia iniţială a axei
Δ2. Conform figurii 3.6 avem :

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


M3 şi M6

r5 = O1O5 = [( q4+l3)sq1+(q5+l4)cq1 cq3 ] i + [ (q4+l3) cq1-( q5+l4)


sq1 cq3 ] j + + [l1+l2+q2-(q5+l4) sq3 ]k (3.51)

δr5 = O1O5 = [sq1δ q4+( q4+l3)cq1δq1+cq1cq3 δq5 - (q5+l4) (sq1


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

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


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 - ∑
i= 2
Pi

7 7
Q3 = M3+[( ∑
i= 5
Pi ) (q5+l4) + ( ∑ 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 5
[ ∑
i=1
J(i)Δ1 + ∑
i= 4
J(i)Oi,1 + J(6+7)O6,1 + ( ∑ mi ) ( q4 + l3 )2 + m5
i= 4
7
(q5 + l4)2 + + ( m6 + m7 ) ( q5 + l4 +l5 )2 ] 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 - ∑ Pi
i= 2 i= 2
4
[ ∑
i= 3
J(i)Δ2 + J(5)O5,2 + J(6+7)O6,2 + m5 (q5 + l4)2 + ( m6 + m7 ) ( q5
7 7
+ l4 +l5 .)2 ] q3 + 2[( ∑ mi) (q5+l4)q5+(m6+m7)l5q5]q3-[( ∑ Pi
i= 2 i= 5
7
)(q5+l4)+ ( ∑ Pi )l5+P7l6]cq3 = M3
i= 6
7 6
( ∑ mi) q4-[( ∑ mi) (q4+l3)q21 = F4 (3.53 )
i= 4 i= 4
7 6 7
( ∑ mi) q5 - [( ∑ mi) (q5+l4)+m6l5](q21+q23)- ( ∑ Pi) sq3 = F5
i= 5 i= 5 i= 5
(6+7)
J Δ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 xc , yc ,zc iar ψ , θ , ,ϕ
unghiurile lui Euler.
xc = xc(t) , yc = yc(t) , zc = zc(t)
ψ= ψ(t) , θ = θ(t) , ϕ = ϕ(t).
Deci qk = qk(xc , yc , zc , ψ , θ , ϕ )

3.6. Calculul tensorilor de inerţie

Tensorul de inerţie al fiecãrui modul de robot industrial


trebuieşte calculat , el intervenind în algoritmul de determinare
al cuplului motor al fiecărui element. Expresia generală a unui
tensor de inerţie este :
⎡ Jxx − Jxy − Jxz ⎤
J = ⎢⎢− Jyx Jyy − Jyz ⎥⎥ (3.54)
⎢⎣ − Jzx − Jzy Jzz ⎥⎦
unde :
Jxx , Jyy , Jzz reprezintă momentele de inerţie axiale , iar Jxy , Jyz ,
Jzx reprezintă momentele de inerţie centrifugale.
Momentele de inerţie axiale se determină cu ajutorul
relaţiilor :
Jxx = m ( y2+z2 )
Jyy = m ( z2+x2 ) (3.55)
Jzz = m ( x2+y2 )
Momentele de inerţie centrifugale se determină cu
relaţiile :
Jxy = m x y
Jyz = m y z (3.56)
Jzx = m z x
Aceste formule sunt valabile dacă axele la care ne raportăm şi
faţă de care calculăm momentele de inerţie trec prin centrul de
greutate al corpului. Variaţia momentelor de inerţie axiale se
studiaza atât faţă de un sistem de axe paralele, cât şi faţă de un
sistem de axe concurente.
Dacă d1 şi d 2 sunt doua axe paralele, d1 trecând prin
centrul de greutate al corpului, atunci conform Teoremei lui
Steiner :
Jd2 = Jd1 + M d2 (3.57)
M , fiind masa corpului , iar “d” distanţa dintre cele douã axe
paralele.

Analog , existã o teoremă care tratează cazul variaţiei


momentelor de inerţie centrifugale faţă de un sistem de axe
paralele.

Dacă momentul de inerţie centrifugal al unui corp faţă de un


sistem de coordonate OXYZ este Jxy , iar sistemul O1X1Y1Z1 are
axele paralele cu primul , atunci avem relaţia :

Jx1y1 = Jxy + Mab (3.58)

Interesant şi des întâlnit este şi cazul variaţiei


momentelor de inerţie axiale faţă de axe concurente.

Momentele de inerţie Jd faţã de o axă care trece prin O, are


componentele versorului “u” α , β ,γ se calculează cu ajutorul
relaţiilor de forma :
Jd = α2Jxx + β2Jyy + γ2Jzz - 2γβJyz-2βαJxy -2αγJxz (3.59)
Atât calculul momentelor de inerţie centrifugale cât şi al
celor axiale pentru un corp de forma oarecare este foarte
laborios. De aceea vom asimila diferitele structuri componente
ale roboţilor industriali cu corpuri cilindrice sau
paralelipipedice, ale căror momente de inerţie axiale şi
centrifugale se pot determina mai uşor.
Dacă axele sistemului de referinţă ataşat coincid cu axele
principale ale corpului, atunci toate cele şase produse de inerţie
sunt nule, iar celelate momente de inerţie se numesc momente
de inerţie principale ale corpului.

Calculul tensorului de inerţie pentru un corp cilindric plin

Fie un corp cilindric plin raportat la un sistem de axe


OXYZ , descris în figura 3.7.
R1
Z

h
Y
a

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θ (3.60)
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 1
Jzz = ∫ ( x ^ 2 + y ^ 2)dm (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 2 Pi H +h
Jzz = ρ ∫ ∫ ∫
0 0 h
[(b+rsinθ)2 + ( a+r cosθ)2]rdrdθdz = MR2/2 +
2 2
M(a +b ) (3.64)
Analog :
Jxx = ρ ∫∫∫ [( b+rsinθ )2+z2] rdrdθdz =
2 2 2 2
Mb +MR /4+MH /3+M(Hh+h ) (3.65)
Jyy = ρ ∫∫∫ [( a+rcosθ 2
) +z ] 2
rdrdθdz =
Ma2+MR2/4+MH2/3+M(Hh+h2) (3.66)
Jxy = ρ ∫∫∫ ( a+rcosθ ) (b+rsinθ) rdrdθdz = Mab (3.67)
Jxz = ρ ∫∫∫ ( a+rcosθ )z rdrdθdz = Ma(H+2h)/2 (3.68)
Jyz = ρ ∫∫∫ ( b+rsinθ )z rdrdθdz = Mb(H+2h)/2 (3.69)
unde , M este masa corpului.
MR2/4+MH2/3+M(Hh+h2) = E , şi -M(H+2h)/2 = A
obţinem expresia tensorului de inerţie :
⎡ E + Mb^ 2 − Mab Aa ⎤

J= ⎢ − Mab E + Ma ^ 2 Ab ⎥ (3.70)

⎢⎣ aA bA 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 :
- 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, qi şi qf


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

qj
qfj

tf
qij t

qj

(qfj-qij)tf

qj

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/tf2 ; a3=-2D/tf3
Deci : r(t) = 3(t/tf)2-2(t/tf)3 (4.8)
Graficele de variaţie ale coordonatelor articulare, vitezei şi
acceleratiei sunt redate în figura 4.2.
qj
f
qj

qij
tf t
qj

qj

3|Dj|/2tf

t
qj

6|Dj|ţf2

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+k1 (4.12)
Din (4.11) coroborând cu (4.9)-(4.11) rezultã cã :
qk(t) = amt2/2 (4.13)
Pentru intervalul (τ , tf-τ] condiţile limită sunt :
qk = 0 (4.14)
qk = vm (4.15)

Prin integrare se obţine :

qi(t) = vm t (4.16)

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

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

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

Deci ,

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

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


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

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

qk (tf) = -am (4.21)

qk (tf) = 0 (4.22)

Prin integrarea lui (4.21) se obţine :

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

Din (4.22) obţinem :

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

Integrând (4.23) se obţine :

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

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

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

Deci , pentru diagramele de variaţie a vitezelor şi acceleraţiilor


impuse gradului de libertate “k” se obţine :

amt2/2 pentru t ∈ [o, τ]

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

[-amt2+amtft]/2+[2amτ2-amtfτ+vmtf2-2vmtfτ]/2
pentru t ∈ (tf-τ,tf]

In acest exemplu am considerat o anumită alură a


graficelor de variaţie ale vitezelor şi acceleraţiilor şi timpi de
accelerare şi decelerare egali. Metoda expusă mai sus se
preteaza însă şi la o generalizare, putând lua în considerare timpi
de accelerare şi decelerare diferiţi (τ1 ≠ τ2) şi grafice de variaţie
ale vitezelor şi acceleraţiilor având o alta alură dată de o
expresie analitică oarecare.
In afara funcţiilor polinomiale se mai pot utiliza pentru a
descrie traiectoria în coorodnate articulare şi funcţii
cosinusoidale de tipul :
q(t) = ½(1-cos(πt)) t ∈ [0,1] (4.27)
sau funcţii de tip sinusoidal ,
q(t) = ½(1-sin(πt)) t ∈ [0,1] (4.28)

Legea Bang-Bang

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

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

- o fază de decelerare constantă.

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

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


discontinuă în acceleraţie.

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

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

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

Valoarile maxime ale vitezei şi acceleraţiei sunt :

Vmax = 2|Dj|/tf
amax = 4|Dj|/tf2 (4.31)

qj

qj

qj i

tf/2 tf t

qj

2|Dj|/tf

qj

4|Dj|/tf2

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.

0 ⎡Ai Pi ⎤
Tni = ⎢ (4.32)
⎣ 0 1 ⎥⎦

0 ⎡ Af Pf ⎤
Tnf = ⎢ (4.33)
⎣ 0 1 ⎥⎦

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

0 ⎡ A(t ) P(t ) ⎤
Tn(t) = ⎢ (4.34)
⎣ 0 1 ⎥⎦
La nivelul coordonatelor articulare qi ( i=1,2,...,n ) mişcarea este
descrisă prin ecuaţii de tipul :

qi = qi(t) (4.35)

Cum cea mai mare parte a robotilor industriali au o structură


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

x = u(t)

y = v(t) (4.36)

z = w(t)

Indiferent de structura mecanismului generator de traiectorii , fie


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

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

Pentru operativitatea calculelor se notează :

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

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

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

Punctul caracteristic se deplasează de-a lungul unie


drepte descrisă de ecuaţia (4.36). Pentru ca punctul caracteristic
să aparţină curbei impuse este necesar ca :

Px = u(t)

Py = v(t) (4.42)

Pz = w(t)

Din (4.36) si (4.42) va rezulta :

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

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

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

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

q1 = q1(t)

q2 = q2(t) (4.44)

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

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

Pentru fiecare poziţie `k` de pe traiectoria impusă se rezolvă


problemă cinematică inversă , obţinându-se coordonatele
articulare 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 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.


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 s-a folosit un calculator având
următoarea configuraţie :
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[i-
1]+D[g[x],x]e;
wi=w[i];aw=w[i-1];alt=D[g[x],x]e;
d1=wi[[2]] alt[[3]]-wi[[3]] alt[[2]];
d2=wi[[1]] alt[[3]]-wi[[3]] alt[[1]];
d3=wi[[1]] alt[[2]]-wi[[2]] alt[[1]];
expr1[i_]={d1,d2,d3};
dw[i_]=Q[i] . dw[i-
1]+D[g[x],{x,2}]e+expr1[i];adw=dw[i-1];dwa=dw[i];
di=a[i]-r[[i-1]];
exp1=adw[[2]] di[[3]]-adw[[3]] di[[2]];
exp2=adw[[1]] di[[3]]-adw[[3]] di[[1]];
exp3=adw[[1]] di[[2]]-adw[[2]] di[[1]];
expr2[i_]={exp1,exp2,exp3};
expa1=aw[[2]] di[[3]]-aw[[3]] di[[2]];
expa2=aw[[1]] di[[3]]-aw[[3]] di[[1]];
expa3=aw[[1]] di[[2]]-aw[[2]] di[[1]];
expr3[i_]={expa1,expa2,expa3};
aex=expr3[i];
expb1=aw[[2]] aex[[3]]-aw[[3]] aex[[2]];
expb2=aw[[1]] aex[[3]]-aw[[3]] aex[[1]];
expb3=aw[[1]] aex[[2]]-aw[[2]] aex[[1]];
expr4[i_]={expb1,expb2,expb3};
roi=r[[i]];
expc1=dwa[[2]] roi[[3]]-dwa[[3]] roi[[2]];
expc2=dwa[[1]] roi[[3]]-dwa[[3]] roi[[1]];
expc3=dwa[[1]] roi[[2]]-dwa[[2]] roi[[1]];
expr5[i_]={expc1,expc2,expc3};
expd1=wi[[2]] roi[[3]]-wi[[3]] roi[[2]];
expd2=wi[[1]] roi[[3]]-wi[[3]] roi[[1]];
expd3=wi[[1]] roi[[2]]-wi[[2]] roi[[1]];
expr6[i_]={expd1,expd2,expd3};
bex=expr6[i];
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.
Articulaţia αi ai bi θi
[gr] [m] [m] [gr]
1 0 0 -0.1 0
2 -90 0 -0.1 90
3 -90 0 0 0
4 0 0 -0.6 0
5 90 0 0 0
6 -90 0 0 0
Parametrii inerţiali ai celor şase grade de libertate sunt redaţi
mai jos :

⎡0⎤ ⎡0,02 0 0 ⎤
m1= 9,0 [ρ1]1= ⎢⎢ 0 ⎥⎥ [I1]1 = ⎢ 0
⎢ 0,01 0 ⎥⎥
⎢⎣0,1⎥⎦ ⎢⎣ 0 0 0,01⎥⎦
⎡0 ⎤ ⎡0,05 0 0 ⎤
m2= 6,0 [ρ2]2= ⎢⎢0⎥⎥ [I2]2 = ⎢ 0
⎢ 0,01 0 ⎥⎥
⎢⎣0⎥⎦ ⎢⎣ 0 0 0,06⎥⎦
⎡0 ⎤ ⎡0,03 0 0 ⎤
m3= 9,0 [ρ3]3= ⎢⎢0⎥⎥ [I3]3 = ⎢ 0
⎢ 0,4 0 ⎥⎥
⎢⎣0⎥⎦ ⎢⎣ 0 0 0,01⎥⎦
⎡0⎤ ⎡0,001 0 0⎤
m4= 1,0 [ρ4]4= ⎢⎢ 0 ⎥⎥ [I4]4 = ⎢ 0
⎢ 0,0005 0⎥⎥
⎢⎣0,1⎥⎦ ⎢⎣ 0 0 0⎥⎦
⎡ 0 ⎤ ⎡0,0005 0 0 ⎤
m5= 0,6 [ρ5]5= ⎢⎢0,06⎥⎥ [I5]5 = ⎢ 0
⎢ 0,0002 0 ⎥⎥
⎢⎣ 0 ⎥⎦ ⎢⎣ 0 0 0,0005⎥⎦
⎡0⎤ ⎡0,003 0 0 ⎤
m6= 0,5 [ρ6]6= ⎢⎢ 0 ⎥⎥ [I6]6 = ⎢ 0
⎢ 0,001 0 ⎥⎥
⎢⎣0,2⎥⎦ ⎢⎣ 0 0 0,002⎥⎦
Unităţile de măsurã pentru mi, ρi, Ii, sunt respectiv : (Ns2/m) ,
(m) , (N s2 m).
Z4
X3 Y3 Y4
Z5 X6

O4 X5 Z6
4
3
X4 5
2 O5 EE
X2 Z3
O3 O6 6
Y2
Z2

Y1
Z
1

X1
O1

Yo
Zo

Xo
Oo

Fig.5.1. Schema cinematică a robotul Stanford Arm

Traiectoriile celor şase articulaţii sunt descrise de


următoarele funcţii :

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


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

π /30 ,daca i=1,4,5,6


Ai = - π /60 ,daca i=2
0.01 ,daca i=3

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

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


elementul 6
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 ⎤ ⎡1,612 0 0 ⎤
m1=10,521 [ρ1]1= ⎢⎢− 0,054⎥⎥ [I1]1= ⎢⎢ 0 − 0,5091 0 ⎥⎥
⎢⎣ 0 ⎥⎦ ⎢⎣ 0 0 1,612⎥⎦
⎡0,14⎤ ⎡0,4898 0 0 ⎤
m2=15,781 [ρ2]2= ⎢⎢ 0 ⎥⎥ [I2]2 = ⎢⎢ 0 8,0783 0 ⎥⎥
⎢⎣ 0 ⎥⎦ ⎢⎣ 0 0 8,2672⎥⎦
⎡ 0 ⎤ ⎡3,3768 0 0 ⎤
m3=8,767 [ρ3]3= ⎢⎢− 0,19⎥⎥ [I3]3= ⎢⎢ 0 0,3009 0 ⎥⎥
⎢⎣ 0 ⎥⎦ ⎢⎣ 0 0 3,3768⎥⎦
⎡ 0 ⎤ ⎡0,1810 0 0 ⎤
m4=1,052 [ρ4]4= ⎢⎢ 0 ⎥⎥ [I4]4= ⎢⎢ 0 0,1810 0 ⎥⎥
⎢⎣0,057 ⎥⎦ ⎢⎣ 0 0 0,1273⎥⎦
m5=1,052
⎡ 0 ⎤ ⎡0,0735 0 0 ⎤
⎢ ⎥ ⎢
[ρ5]5= ⎢− 0,007⎥ [I5]5= ⎢ 0 0,0735 0 ⎥⎥
⎢⎣ 0 ⎥⎦ ⎢⎣ 0 0 0,1273⎥⎦
⎡0⎤ ⎡0,0071 0 0 ⎤
⎢ ⎥ ⎢
m6= 0,351 [ρ6]6= ⎢ 0 ⎥ [I6]6 = ⎢ 0 0,0071 0 ⎥⎥
⎢⎣0,2⎥⎦ ⎢⎣ 0 0 0,0141⎥⎦
Unităţile de măsurã pentru mi, ρi, Ii, sunt respectiv : (Ns2/m) ,
(m) , (N s2 m).
Parametrii H-D ai acestui robot industrial sunt redaţi mai jos :
articulaţia αi ai bi θi iniţial
[grd] [m] [m] [grd]
1 0 0 0 0
2 -90 0 -0.149 0
3 0 0.432 0 0
4 90 0.02 -0.432 0
5 -90 0 0 0
6 90 0 -0056
Traiectoriile celor 6 articulaţii sunt descrise de următoarele
curbe :
1 2π 2π
θi = ⎯ [ ⎯⎯ t - sin ( ⎯⎯ t)] pentru i=1,2,...,6
2 10 10
In urma rulării programului de simulare al
comportamentului dinamic al roboţilor industriali am obţinut
următoarele grafice de variaţie ale momentelor motrice în raport
cu timpul :

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


elementului 6 faţă de timp.
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.

Obstacole pe traiectoria robotului


Exista Lipsesc
Limitele Existã Planificarea Planificarea
pe autonomã a autonomã a
traiectoria traiectoriei ce traiectoriei
robotului 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
detectarea şi
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= tf , ieşiţi din procedurã;
Realizaţi ciclul :
Aici dt este intervalul de timp dintre douã momente succesive
ale corecţiei parametrilor de mişcare ai robotului.
Din algoritmul descris mai sus se observã cã toate
calculele se efectueazã pentru determinarea funcţiei h(t) a
traiectoriei care trebuie sã se înnoiascã în fiecare punct al
corecţiei parametrilor pentru mişcarea manipulatorului. Pe
traiectoria planificatã existã patru tipuri de limitãri :
1) punctele nodale ale traiectoriei trebuie sã se calculeze uşor
prin procedeul nerecurent;
2) poziţiile intermediare trebuie sã se determine cu o singurã
cifrã;
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 :
1) poziţia ( este datã );
2) viteza ( este datã de obicei egalã cu zero );
3) acceleraţia ( este datã de obicei zero );
Puncte intermediare :
4) poziţia în punctul de plecare ( pornire ) ( este datã );
5) poziţia în punctul iniţial ( se schimbã neîntrerupt la trecerea
între porţiunile succesive ale traiectoriei ) ;
6) viteza ( se schimbã neîntrerupt la trecerea între porţiunile
succesive ale traiectoriei ) ;
7) acceleraţia ( se schimba neîntrerupt la trecerea între porţiunile
succesive ale traiectoriei ) ;
8) poziţia în primul; punct de apropiere ( este datã ) ;
9) poziţia în punctul de apropiere ( se schimbã neîntrerupt la
trecerea între porţiunile succesive ale traiectoriei ) ;
10) viteza ( se schimbã neîntrerupt la trecerea între porţiunile
succesive ale traiectoriei ) ;
11) acceleraţia ( se schimba neîntrerupt la trecerea între
porţiunile succesive ale traiectoriei ) ;
Punctul final :
12) poziţia ( este datã )
13) viteza ( este datã , de obicei zero )
14) acceleraţia ( este datã , de obicei zero )
Una dintre modalitãţi constã în aceea cã se descrie
mişcarea articulaţiei “i” cu un polinom de gradul şapte:
qi(t) = a7t7+a6t6+....+ a2t2+a1t+a0
în care coeficienţii necunoscuţi ai se determinã din condiţiile
limitã date şi din condiţiile de continuitate. Totuşi folosirea unui
asemenea polinom de un grad mare are un sir de inconveniente.
Î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.

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 )/( τi - τi-1 ) ; τ ∈ [τi-1 - τi ] ; t∈[0,1].
Traiectoria de mişcare a variabilelor articulare `j` se
indicã sub forma unei succesiuni de polinoame hi(t). Pe fiecare
porţiune a traiectoriei, pentru fiecare variabilã articularã,
polinoamele folosite exprimate în timp normat au forma :
h1(t) = a14t4+a13t3+a12t2+a11t+a10 ( prima porţiune )
h2(t) = a23t3+a22t2+a21t+a20 ( a douã porţiune )
hn(t) = an4t4+an3t3+an2t2+an1t+an0 ( ultima porţiune )
Indexul variabilei ce se aflã în partea stângã a fiecãrei
egalitãţi indicã numãrul porţiunii traiectoriei, porţiunea “n” fiind
ultima. Indexul din notaţiile coeficienţilor necunoscuţi aij au
urmãtorul înteles :
- coeficientul `i` pentru porţiunea `j` a traiectoriei.
Condiţiile limitã pe care trebuie sã le satisfacã sistemul ales de
polinoame sunt urmãtoarele :
1) Poziţia iniţiala θ0 =θ(t0).
2) Valoarea vitezei iniţiale v0 ( de obicei este zero )
3) Valoarea acceleraţiei iniţiale a0 ( de obicei zero )
4) Poziţia în punctul de pornire θ1 = θ(t1)
5) Continuitatea în poziţie în momentul t1 , adica θ(t1)= θ(t1*)
6) Continuitatea în viteza în momentul t1 , adica v(t1)= v(t1*)
7) Continuitatea în acceleraţie în momentul t1 , adica
a(t1)= a(t1*)
8) Poziţia în punctul θ2 = θ(t2)
9) Continuitatea în poziţie în momentul t2 , adica θ (t2)= θ(t2*)
10) Continuitatea în viteza în momentul t2 , adica v(t2)= v(t2*)
11) Continuiotatea în acceleraţie în momentul t2 , adica
a(t2)= a(t2*)
12) Poziţia finala θf = θ (tf)
13) Valoarea vitezei finale vf ( de obicei nulã )
14) Valoarea acceleraţiei finale af ( de obicei nulã )

vi(t) = dhi(t)/dτ = dhi(t)/dt x dt/ dτ = [1/τi- τi-1 ] x dhi(t)/dt = 1/ti


dhi(t) /dt = [1/ti] fi(t) , i=1,2,..,n (6.1)

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


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

Pentru descrierea primei porţiuni a traiectoriei se


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

1). Pentru t=0 ( punctul iniţial al porţiunii date a traiectoriei )


Din condiţiile limitã în acest punct rezultã :
a10 = h1(0) = θ0 (θ0 dat ) (6.6)
v0 = h1(0)/t1 = {[ 4a14t3+3a13t2+2a12t+a11]/t1}i=0 = a11/t1
(6.7)
Din aceasta avem a11 = v0t1 şi
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 :
h2(0)/t2 = h1(1)/t1 şi 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 n 3 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:
t `3 +3a t `2 +2 a
vn ( t ) = ntn = n4
h` ( t `) 4a n3 n2 t `+ a n1
tn , (6.26)

an ( t`) = tnn 2 = n4 tn 2n3 n2 ,


h` ( t `) 12 a t `+6a t `+2 a
(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 =aftn2 / 2.
2. Pentru t`=1
In concordanţã cu condiţiile limitã din punctul de apropiere
obţinem :
hn(-1)=an4 - an3 + [ aftn2 / 2 ] -vf tn+ θf = θ2 (1) (6.31)

hn(-1)/tn= [ tn ]
4 an 4t `3 +3 ant `2 +2 an 2t `+ an1
t `= −1 =
−4 an 4 +3 an 3 − a f tn 2 + v f tn
tn
(6.32)
hn ( −1)
tn 2
= [ 12 an 4t Á 2 + 6 a3t Á + 2 an 2
tn 2
]
i = −1
=
12 an 4 −6 an 3 + a f t n 2
tn

(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 − 3 an 3 + a f t n 2 − v f t n 2
tn + 3at223 + 2 a22
t2 + a21
t2 = 0 , (6.35)
şi
−12 an 4 + 6 an 3 − a f t n 2 6 a23 2 a22
tn 2
+ t22
+ t2 2
= 0 (6.36)
δ1 = θ1 -θ0 = h1 (1)-h1(0) = a14 + a13 +[a0 t12 / 2]+ v0t1 , (6.37)
δ2 = θ2 -θ1 = h2 (1)-h2(0) = a23 + a22 + a21 , (6.38)
δn = θf -θ2 = hn (0)-hn (-1) =-an4 + an3 - [af tn2 / 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 − a0t1 − v0 t1 ,−a0 t1 − v0 ,−a0 , δ 2 ,− a f t n + v f ,⎤
2

y=⎢ ⎥ (6.41)
2

⎢, a , δ + a f tn 2 − v t ⎥
⎣ f n 2 f n ⎦
⎡1 1 0 0 0 0 0 ⎤
⎢3 −1
0 0 0 ⎥⎥
⎢ t1 t1 t2 0
4

⎢ 62 t122 0 t− 22 0 0 0 ⎥
⎢ t1 1 2

C = ⎢ 0 0 1 1 1 0 0 ⎥ , (6.42)
⎢0 0 1 2 3 −3 4 ⎥
⎢ t2 t2 t2 tn tn

⎢ 0 0 0 t222 t262 tn62 −tn122 ⎥
⎢ 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
yi = ∑ cij x j , (6.44)
j =1

sau x = C-1y. (6.45)


Structura matricei C permite sã se gaseascã uşor
coeficienţii necunoscuţi. Pe lângã aceasta , matricea inversã C
existã întotdeauna numai dacã intervalele de timp ti (când i =
1,2,...n ) sunt pozitive . Rezolvând ecuaţia (6.45) obţinem toţi
coeficienţii necunoscuţi ai polinoamelor care descriu traiectoria
coordonatei articulare “j” . Intrucât pentru polinomul ce descrie
ultima porţiune a traiectoriei a fost efectuatã înlocuirea ce
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 ]t4 +ot3 +[a0t12 / 2]t2
+(v0f1)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)-5vftn+(aftn2 / 2)]t4+[-
8δn+5vftn-(aftn2 / 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 )]-vft1 -
a0t1tn[(5/3)+(t1 / t2)+(2t1 / tn)+(5t2 / 2tn)]+aft1tn ,
g=(tn / t2)+(2tn / t1)+2+(3t2 / t1)

Calculul traiectoriei in cazul interpolãrii cu polinoame


pentru traiectoria 3-5-3 .

Prima porţiune a traiectoriei este deescrisã de :


h1(t)=[δ1 -v0t1 -(a0t12 / 2)]t3+[a0t12 / 2]t2+(v0t1 )t+θ0 ,
v1=[h`1(1) / t1]=(3δ1 / t1)-2v0 -(a0t1 / 2) , (6.49)
a1=[h`1(1) / t12] = (6δ1 / t12)-(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+(aftn / 2), (6.50)
2 2
a2=[h`2(1) /t2 ]=(-6δn / tn )+(6vf / tn)-2af.
Ultima porţiune a traiectoriei :
hn(t)=[δn-vftn+(aftn / 2)]t3+(-3δn+3vftn-aftn2)t2+[3δn-
2vftn+(aftn2 / 2)]t+θ2. (6.51)
Calculele analoage se utilizeaza la calcularea traiectoriei
în alte situaţii.

6.3.2.Descrierea traiectoriei cu funcţii “spline” cubice.

Interpolarea funcţiei date cu funcţii polinomiale cubice


care asigurã continuitatea primelor douã derivate în punctele
nodale se numeşte funcţie splinã cubicã. Un asemenea mijloc de
interpolare asigurã o precizie suficientã aproximaţiei şi
netezimea funcţiei de aproximare . În general splina este în
fiecare punct un polinom de gradul k cu derivatele “k-1”
continui în punctele nodale. În cazul “splinelor” cubice
continuitatea primei derivate asigurã continuitatea vitezei , iar
continuitatea celei de-a douã derivate semnificã continuitatea
acceleraţiei . Funcţiile splinele cubice au un şir întreg de calitãţi
. În primul rând acestea sunt polinoame de grad minim care
asigurã continuitatea vitezei şi acceleraţiei . În al doilea rând
gradul mic al polinoamelor utilizate scurteazã timpul de calcul.
La folosirea splinelor cubice fiecare din cele cinci
porţiuni ale traiectoriei se descrie cu un polinom ce are aspectul:
hj(t)=aj3t3+aj2t2+aj1t+aj0 , j=1,2,3,4,n (6.52)
când τj-1 ≤ τ ≤ τj t∈[0 , 1] , aij semnifica coeficientul
necunoscut i ce corespunde porţiunii j a traiectoriei, porţiunea n
a traiectoriei fiind ultima . Utilizarea funcţiilor splinelor cubice
presupune existenţa a cinci porţiuni ale traiectorii şi şase puncte
nodale . Totuşi în raţionamentele noastre anterioare noi am
folosit numai patru puncte nodale : punctul iniţial , punctul de
pornire , punctul de apropiere şi punctul final .
Pentru a asigura un numãr suficient de condiţii limitã
pentru determinarea coeficienţilor necunoscuti aji sunt necesare
încã douã puncte nodale. Aceste puncte nodale suplimentare se
pot alege pe segmentul traiectoriei între punctul de pornire şi
punctul de apropiere . Nu este necesar sã se cunoascã precis
valoarea coordonatei din aceste puncte , este suficient sã se
indice momentele de timp şi sã se cearã continuitatea vitezei şi
acceleraţiei. În acest mod sistemul ales de polinoame de
interpolare trebuie sã satisfacã urmãtoarele condiţii limita :
1) coordonata trebuie sã ia valorile date în punctul iniţial
, în punctul de plecare , în punctul de apropiere şi în punctul
final ;
2) viteza şi acceleraţia trebuie sã fie continui în toate
punctele nodale . Valorile acestor variabile sunt cunoscute pânã
la începerea calcului traiectorie planificate . Prima şi a doua
derivatã ale polinoamelor în raport cu timpul real sunt egale în
mod corespunzator cu :
vj(t)=[h`j(t) / tj]=3aj3t2+2aj2t+aj1 , j=1,2,3,4,n, (6.53)
2 2
aj(t)=[h`j(t) / tj ]=(6aj3t+2aj2) / tj , j=1,2,3,4,n, (6.54)
unde tj este intervalul de timp real consumat la parcurgerea
porţiunii j a traiectoriei . Poziţia, viteza şi acceleraţia ce au fost
date în punctul iniţial şi în cel final ale traiectoriei ca şi poziţia
din punctul de pornire şi de apropiere determinã pe deplin
coeficienţii polinoamelor h1 (t) şi hn (t) ce descriu porţiunea
iniţialã şi cea finalã a traiectoriei . Când se cunosc h1 (t) şi hn (t)
coeficienţii polinoamelor h2 (t) , h3 (t) , h4(t) se determinã din
condiţiile continuitãţii în punctele nodale .
Prima porţiune a traiectoriei este descrisã de polinomul :
h1(t)=a13t3+a12t2+a11t+a10 . (6.55)
Când t = 0 în concordanţã cu condiţiile iniţiale avem :
h1(0)=a10=θ0 (θ0 este dat ) , (6.56)

v0 =
h `1 ( 0 )
t1 = a11
t1 . (6.57)
De aici obţinem a11=v0t1. În continuare
a0 =
h1 ``( 0 )
t12
= 2 a12
t12 (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 :

⎡⎛ a t 2 ⎞ ⎤
3δ1 − ⎢ ⎜ 021 ⎟ ⎥ −2 v0t1
h1 (1)
t1 = v1 = ⎣⎝
t1
⎠⎦
= 3tδ11 − 2v0 − a20t1 ,
(6.62)
h Á1 (1) 6δ1 − 2 a0t12 −6 v0t1 6δ1
t12
= a1 = t12
= t12
− 6tv10 − 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)
[h`n(1) / tn2]= af= (6an3+2an2) / tn2 (6.68)
Rezolvând aceste ecuaţii în raport cu coeficienţii
necunoscuţi an3 , an2 , an1 , obţinem :
hn(t)=[δn -vftn +(aftn2 / 2)]t3 +(-3δn+3vftn-aftn2)t2+[3δn-
2vftn+(aftn2) / 2]t+θn ,
(6.69)
unde δn= θf - θn.
A douã porţiune a traiectoriei este descrisã de polinomul:
h2(t)=a23t3+a22t2+a21t+a20 . (6.70)
Din condiţiile continuitãţii pentru poziţie , viteza şi
acceleraţie în punctul de pornire gãsim :
h2(0)=a20=θ1 , (θ1 este cunoscut ) (6.71)
v1=h`2(0) / t2=a21 / t2 =h`1(1) / t1. (6.72)
De aici rezultã a21 = v1t2 ,
a1= h`2(0) / 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 , a1=(6δ1) /t1 -(6v0) /t1 -2a0
Rãmâne sã se determine coeficientul a23. Cu ajutorul
egalitatii (6.69) vom determina viteza şi acceleraţia când t = 1 ,
care trebuie sã coincidã în mod corespunzãtor cu viteza şi cu
acceleraţia din punctul iniţial al porţiunii urmãtoare a traiectoriei
:
h2(1)= θ2= a23+ (a1t22)/ 2+ v1t2+ θ1 , (6.75)
h`2(1) / t2= v2= (3a23+ a1t22+ 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 , a31 =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 + v3t4 + θ3= θ4 , (6.90)
h`4(1)/t4= (3a43) /t4 + a3 t4 + v3 = v4 =(3δn) / tn -2vf + (aftn)/ 2

(6.91)
h``4(1) / 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)
θ2= a23 +(a1t22) / 2 + v1t2+ θ1 , (6.97)
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)
θ3 = θ2 +v2t3 + [(a2t32) / 2]+ a33 , (6.101)
2
v3 = v2 + a2t3 + [(3a33) / t3]; a3 = a2+(6a33) / t3 , (6.102)
h4(t)= a43t3 + [(a3t42) / 2]t2+ (v3t4)t + θ3 , (6.103)
2 3 2 2
hn(t) = [δn -vftn +(aftn ) / 2]t + (-3δn+3vffn -aftn )t + [3δn -
2vftn+(aftn2) / 2]t + θ4 ,
(6.104)
v4 = [(3δn) / tn] -2vf+ [(aftn) / 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 = k1 (u-t2) + k2(t42-d) - k3 [(u-t4)d + t42(t4-t2)] , (6.107)
x2 = -k1 (u+t3) + k2(c-t42)+ k3 [(u-t4)c+ t42(u-t2)] , (6.108)
x3 = k1 (u-t4) + k2(d-c) +k3[(t4-t2)c -d(u-t2)] , (6.109)
D = u(u-t2)(u-t4) , (6.110)
u = t2 + t3 + t4 , (6.111)
k1 = θ4- θ1 -v1u -a1(u2/2) , (6.112)
k2 = [v4- v1 -a1 u -(a4-a1)u/2] / 3 (6.113)
k3 = (a4-a1) / 6 , (6.114)
c = 3u2 -3ut2 + t22 , (6.115)
d = 3t42 + 3t3t4 + t32 , (6.116)
În acest mod se demonstreazã cã dacã sunt cunoscute
poziţiile din punctul iniţial şi din cel final , din punctul de
pornire şi din cel de apropiere ca şi timpul mişcãrii pe fiecare
din porţiunile traiectoriei , cu acestea este definitã complet
funcţia splinã cubicã ce dã regula de variaţie a coordonatelor
articulare. In acest subcapitol am examinat constructia funcţiei
“splinei” cubice pentru o traiectorie cu cinci puncte nodale.

6.4. Planificarea traiectoriilor în coordonate


carteziene

În subcapitolul anterior au fost examinate modurile de


construcţie a traiectoriilor în spaţiul variabilelor articulare bazat
pe utilizarea polinoamelor de interpolare de ordin mic. Deşi
coordonatele articulare determinã complet poziţia şi orientarea
EE în spaţiul cartezian, coordonatele articulare nu sunt
întotdeauna utile. Aceasta este condiţionatã de faptul ca
majoritatea coordonatelor articulare ale manipulatorului nu sunt
ortogonale şi nu permit schimbarea independentã a poziţiei şi
orientãrii EE. Strategia de conducere a RI se prezintã de obicei
sub forma unei succesiuni a punctelor nodale în spaţiul
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 = 0Cbaza(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
Cbaza(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 0Cbaza(t) reprezintã o matrice unicã în oricare moment de
timp. Se poate observa cã partea stângã a ecuaţiei (6.117)
descrie poziţia şi orientarea EE în momentul apucãrii obiectului
, în timp ce partea dreaptã a acestei ecuaţii descrie poziţia şi
orientarea pãrţii din obiectul de manipulat supusã apucãrii. În
acest mod putem determina matricea 0T6 care stabileşte
configuraţia RI, necesarã pentru realizarea corectã a apucãrii
obiectului sub forma :
0
T6=0Cbaza(t) bazaPobiect [6Tunelata]-1 (6.118)
Dacã s-ar fi putut sã se calculeze destul de repede elementele
matricei 0T6 şi apoi sã se determine variabilele articulare,
aceasta ar fi fost suficient pentru realizarea conducerii
manipulatorului.

6.4.2. Traiectoria cu abateri limita

Modul descris mai sus de formare a traiectoriei în


coordonate carteziene cere un consum mare de timp pentru
calcul. Pe lângã aceasta în timp real este prea complicat sã se
realizeze evaluarea limitelor mişcãrii RI în spaţiul coordonatelor
interne. Existã un numãr de posibilitãţi pentru a înlãtura aceste
probleme. Este posibil ca din timp (pânã la realizarea mişcãrii )
sã se primeascã şi sã se înregistreze în memoria calculatorului
rezolvarea problemei cinematice inverse simulând funcţionarea
algoritmului.
Realizarea mişcãrii date, în acest caz, nu este dificilã
întrucât succesiunea punctelor de comandã va fi cititã din
memoria calculatorului . O altã cale posibila constã în calcularea
din timp a valorilor coordonatelor printr-o succesiune oarecare a
punctelor fiecãreia dintre porţiunile traiectoriei şi apoi sã se
realizeze interpolarea cu polinoame de grad inferior. Dificultatea
unei asemenea abordãri constã în faptul cã numãrul punctelor
intermediare necesare pentru realizarea mişcãrii ce este destul de
aproape de o mişcare rectilinie, depinde de mişcarea realizatã.
Alegerea aprioricã a intervalului este destul de micã pentru a
asigura mici abateri de la mişcarea rectilinie şi conduce la o
mare crestere a volumului calculelor preliminare şi a resurselor
folosite ale memoriei. Având în vedere toate acestea Tailor a
propus un mijloc de planificare a traiectoriilor în spaţiul
variabilelor articulare denumit traiectorii cu abateri limitate .
În etapa calculelor preliminare, aceastã metodã permite
alegerea unui numãr de puncte intermediare suficient pentru ca
abaterile traiectoriei planificate a EE de la mişcarea rectilinie sã
nu depãşeascã limitele stabilite .
În cazul unei asemenea abordãri mai întâi se calculeazã
vectorii coordonatelor articulare “q” , ce corespund punctelor
modale ale traiectorei date în spaţiul cartezian . Apoi vectorii
calculaţi se folosesc în calitate de puncte nodale în procedura de
construire a traiectoriei de schimbare a variabilelor analoagã cu
procedura folositã la construirea traiectoriei în coordonate
carteziene. Mişcarea din punctul [q0 ] în punctul [q1 ] este
descrisã cu ecuaţia :
q(t) = q1-(T1-1)/T1Δq1 (6.119)
iar la trecerea de la porţiunea dintre [qo]şi [q1] la porţiunea
dintre [q1] şi [q2] mişcarea se stabileşte cu formula
q(t`) = q1[(τ-t`)2/4τT2] Δq1+ [(τ-t`)2/4τT2] Δq2 (6.120)
unde Δq1= q1-q0 , Δq2= q2-q1 , T1 , T2 t` şi τ au acelaşi sens ca şi
mai sus. Aceste ecuaţii asigurã o viteza constantã pentru
mişcarea dintre punctele nodale în spaţiul coordonatelor
articulare şi o trecere linã cu acceleraţie constantã de la o
porţiune a traiectoriei la altã porţiune .
Totusi, în acest caz, sistemul de coordonate al EE poate
sã se abatã mult de la traiectoria rectilinie stabilitã. Mãrimea
abaterii se caracterizeazã prin diferenţa dintre Fj(t) ce descrie
poziţia EE şi care corespunde punctului qj(t) în spaţiul
variabilelor articulare şi Fd(t) ce descrie poziţia EE în momentul
t când al mişcãrii sale pe traiectoria rectilinie stabilitã în spaţiul
cartezian. Abaterile de la poziţie şi de la orientare se stabilesc
conform cu formulele:
δp = [Pj(t)-Pd(t)] (6.121)
δp = | partea unghiularã Rot(n,ϕ) | = |ϕ| ,
unde Rot(n,ϕ) = R-1d(t)Rj(t)
Stabilind abaterile maxime admise pentru poziţie şi orientare
δMAXR şi δMAXP vom cere realizarea condiţiilor :
δp<δMAXP şi δR<δMAXR (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 [qm] în spaţiul
variabilelor
qm = q1-0,5 Δq1
unde Δq1= q1-q0 şi calcularea poziţiri [Fm] a sistemului de
coordonate a EE care corespunde valorilor coordonatelor [qm] .
S3. Calcularea punctului mijlociu în spaţiul cartezian.
Calcularea punctul mijlociu corespunzãtor [Fc] al traiectoriei în
spaţiul cartezian.
Pc = (P0+P1)/2 , Rc
unde Rot(n,θ)=R-10R1
S6. Calcularea abaterii . Calcularea abaterii [Fm] de la
δp=|pm-pc| , δR = | partea unghiularã Rot(n,ϕ)=R-1cRm| = |ϕ| ( mai
corect este sã se scrie δR = | partea unghiularã Rot(n, ϕ)|=|ϕ| ,
unde Rot(n, ϕ) = R-1cRm
S5. Verificarea condiţiei abaterilor . Dacã δp<δMAX
încheiaţi funcţionarea algoritmului. În caz contrar calculaţi
vectorul [qc] al coordonatelor ce corespund punctului [Fc] al
traiectoriei carteziene şi realizati paşii S2-S5 succesiv pentru
douã subintervale înlocuind [F1]cu [Fc] şi [Fc] cu [F0]. Acest
algoritm are o convergenţã destul de rapidã .
De regulã la o singurã iteraţie abaterea maximã se
micşoreaza aproximativ de 4 ori . Tailor a cercetat viteza
convergentei algoritmului prezentat pentru un RI cilindric (douã
grade de libertate de translaţie şi douã de rotaţie ). S-a dovedit
cã la o singurã iteraţie abaterea maximã se micşoreazã de
maximum 4 ori . Astfel metoda de construire a traiectoriilor cu
abateri limitate constã în formarea unei succesiuni de puncte
intermediare în spaţiul variabilelor care sã asigure mişcarea EE
î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. Robotul RIP 6,3


Intrucât cercetãrile experimentale au fost efectuate pe un
robot de tip RIP 6,3 în cele ce urmeazã vom proceda la
descrierea acestuia.
Robotul industrial RIP 6,3 este destinat automatizării
proceselor tehnologice din industrie cu condiţii grele de muncă.
Acesta poate executa diverse operaţii tehnologice precum :
sudura continuă în mediu de gaz protector , deservire de maşini-
unelte şi utilaje , operaţii generale de manipilare piese sau scule.
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 ........................+5oC ...45oC
- umiditate relative...........................65 + 15% la 25 + 5%
- atmosfera neutră , lipsită de vapori sau agenţi chimici
corozivi
- funcţionare în condiţii fără şocuri
Caracteristicile robotului RIP 6,3 sunt :

Grad de mobilitate Unghiuri Viteza


maxime de maximă de
lucru lucru
o o
I. rotire corp -135 /+135 60o/sec.
o o
II. rotire braţ -40 /+40 45o/sec.
verticala
III. rotire braţ -20o/+40o 45o/sec.
orizontala
IV. balans mână -90o/+90o 90o/sec.
V. rotire mână -180o/+180o 180o/sec.

7.1.2. Echipamentul de conducere ``CONTROL RE``

Acesta are următoarele funcţiuni :


- comanda , supravegherea , diagnoza şi protecţia în caz de
avarie a robotului, prin intermedul subsistemului de comandă
numerică şi a modulului de comanda CAS.
- comanda şi supravegherea procesului tehnologic robotizat prin
intermediul intrărilor şi ieşirilor numerice.
Interfaţa cu operatorul uman este asigurată de panoul
operator al echipamentului şi modulul de instruire MIR.
Acţionarea directă a variatoarelor de turaţie şi supravegherea
avariilor din sistemul de acţionare sunt realizate de modulul
CAS. Cuplarea cu robotul se face prin intermediul unor cabluri
protejate în tub metalic flexibil tip copex. Cuplarea cu procesul
tehnologic se face prin intermediul canalelor de intrare-ieşire
numerice.
Caracteristicile sale tehnice sunt :

Subsistemul de conducere numericã are urmãtoarele


caracteristici :
- Tipul traiectoriei programate...................….....punct cu punct,
continuu
- Modul de programare ..........................…..învăţare ( teach-in ),
cu modulul de instruire MIR
- 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 X4
Z3 O5 Z5 EE
Y3 O4 4

Y2 X3
Y4
X2
O3 5
Z2
2
O2
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 40o 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ă , Pn , în W se defineşte ca fiind puterea
utilă disponibila la axul motorului la cuplu , turaţie şi tensiune
nominală , în regim continuu. Incărcat la puterea nominala ,
motorul nu trebuie să depăşească temperatura maximă admisã a
rotorului, 150oC.
Curentul nominal In , în A , se defineşte ca fiind curentul
necesar pentru obţinerea cuplului nominal Mn , la turaţia
nominală nn.
Pe lângă aceste mărimi se mai definesc următoarele
mărimi raportate şi interne :
- Cuplul pe amper , KT , în Ncm/A face legătura între
cuplul electromagnetic Me şi intensitatea curentului absorbit.
Me = KT I
- Cuplul electromagnetic Me este egal cu suma dintre
cuplul util disponibil la ax Mn şi cuplul corespunzător
pierderilor Mp.
Datorită vitezei de răspuns rapide , dictată de inerţia
redusă a rotorului, motoarele cu întrefier axial de tip SMU se
utilizează la acţionarea maşinilor-unelte şi a roboţilor industriali.
Servomotoarele SMU sunt alimentate prin intermediul unui
variator de turaţie , condus de regulă de un echipament numeric.
La funcţionarea în aceste condiţii apar ca foarte importante
procesele de pornire şi frânare , unde sunt necesare acceleraţii
mari , respectiv timpi de pornire şi frânare reduşi. Obţinerea de
valori de ordinul zecilor de milisecunde pentru acesti timpi este
posibilă datorită momentului de inerţie redus şi valorii ridicate a
cuplului impulsional , la care pot fi solicitate aceste motoare.
Variatorul de turaţie , care este prevăzut cu regulator de
turaţie şi cu regulator de curent , asigura posibilitatea realizării
valorilor prescrise pentru curentul impulsional prin motor ,
respectiv a valorilor cuplului impulsional în procesele de
accelerare şi decelerare , precum şi protecţia motorului în cazul
valorilor prohibite de curent şi depăşirii timpilor de accelerare şi
frânare.
Servomotoarele de 180 W şi 750 W sunt în constructie
închisă , fără ventilaţie forţată.

7.3. Metoda de mãsurare

Mãsurãtorile au fost efectuate utilizând schema de


mãsurare redatã în figura 7.3.
S-au efectuat următoarele măsuratori :
- Canalulu 1 al osciloscopului ( Input A ) a măsurat tensiunea
corespunzatoare referinţei de turaţie pe care variatorul de turaţie
o primeşte de la calculator prin intermediul interfeţei de
convertor numeric-analogic. Referinţa de turaţie este în gama de
+/- 10 V , standard pentru acţionările electrice.
- Canalul 2 ( Input B ) al osciloscopului a măsurat fie tensiunea
dată de tahogenerator , fie o tensiune proporţională cu curentul
injectat de variator în motor ( proporţional cu cuplul motor).
Din studiul diagramelor ( al formelor de undă ) se pot
trage următoarele concluzii :
1) Tine de “ deficienţa “ sistemului de comandă-acţionare
electricã, care prin treptele de referinţă determinã o solicitare
foarte mare a structurii mecanice.
2) Comportarea ansamblului variator-motor-manipulator este
cea a unui sistem integrativ , deoarece forma de undă a
tahogeneratorului ( elementul de reacţie ) diminuează sau face
să dispară şocurile din referinţă. Deoarece sistemul variator-
motor are un timp de răspuns foarte bun ( din datele
proiectantului) componenta integrativa dominantă este cea datã
de structura mecanicã.
3) Studiind ansamblului referinţă-reacţie , se poate trage
concluzia că manipulatorul mecanic în diferite zone ale spaţiului
de lucru are comportamente diferite ( forte de frecare , vibraţii ,
neliniarităţi ale forţelor de inerţie , etc. )
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

V(I)
VARIATO
R
V3
CONVERTO V1
R
NUMERIC-
ANALOG

INTERFATA
DE Calculat
MASURARE C2 or
C1
A

OSCILOSCOP

ROBOT RIP
6,3
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 C2
Y C7 C5

C6
X
Fig. 8.1. Cubul înscris în spaţiul de lucru al robotului

Mãsurarea caracteristicilor de poziţionare trebuie sã se


facã într-unuldin planurile :
C1C2C7C8
C2C3C8C5
C3C4C5C6
C4C1C6C7
Totuşi , planul în care se vor face mãsurãtoriler va fi cel
pentru care fabricantul a garantat caracteristicile în fişa tehnicã.
Planul în care s-au fãcut încercãrile trebuie specificat în raportul
de încercãri.
Cinci puncte , notate P1 , …, P5 , situate în planul ales ,
cu orientãrile specificate de cãtre proiectant sunt poziţiile de
încercare. P1 este intersecţia diagonalelor , fiind în acelaşi timp
şi centrul cubului. Punctele P2…P5 sunt situate la distanţe egale
faţã de vârfuri de 10 % din lungimea diagonalelor ± 2 % .
Punctele de încercare trebuie sã fie exprimate sub forma
coordonatelor de bazã.
Poziţiile de utilizare pentru caracteristicile de poziţionare
sunt indicate în tabelul de mai jos :

Caracteristici supuse Poziţii


încercãrii P1 P2 P3 P4 P5
Precizia şi repetabilitatea de x x x x x
poziţionare pe direcţia 1
Variaţia multidirecţionalã a x x x
preciziei de poziţionare
Precizia şi repetabilitatea x x
distanţei
Timpul de stabilizare a x x x x x
poziţiei
Deriva caracteristicilor de x
poziţionare

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 electro-
hidraulicã , care îmbinã avantajele celor douã tipuri de acţionãri.

9.3. Acţionarea pneumaticã


Acţionarea pneumaticã este cea mai puţin rãspânditã
datoritã în primul rând preciziei reduse şi a cuplurilor reduse pe
care le dezvoltã.

9.4. Comanda roboţilor industriali


Principala sarcină a structurii de comandă a mişcării
constă în a transfera structura mecanică dintr-o poziţie de stare
iniţială într-una finală. Aceasta implică :
- 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) q`(t)
Bloc de Sistem de Sistem de
Robot
calcul + - reglare acţionare

Traductor
de poziţie

Fig. 9.2. Structura de comandă a unui robot care foloseşte


modelul cinematic
Comanda în viteza ( cinematică ) este frecvent întâlnită
la roboţii industriali. In cazul unui robot industrial traiectoria
efectorului este descrisă într-un sistem cartezian fix , extern , de
către vectorul vitezelor operaţionale.
Unitatea de comandă calculează pentru fiecare perioadă de
eşantionare referinţele pentru cele “n” motoare ale sistemului de
acţionare. Fiecare motor posedă un circuit de reglare , numeric
sau analogic pe viteză şi unul pe poziţie. Structura de comandă a
unui robot care foloseşte modelul cinematic este redată în figura
de mai jos.
Există în spatiul poziţiilor şi puncte pentru care nu există
soluţie a problemei cinematice inverese, puncte care se numesc
puncte singulare. In aceste puncte mişcarea coordonată a
robotului nu este posibilă , dar nu se neagă posibilitatea mişcării
în general.
Alteori putem utiliza modelul dinamic pentru structura
de comadă a unui robot. Pentru a-l putea folosi modelul dinamic
ales trebuie să fie liniarizat. Liniarizarea se face în jurul
punctelor iniţiale , finale şi intermediare cu ajutorul unor
coeficienţi. Modelele liniare se pot considera invariante numai
în jurul punctului respectiv. Dacă se au în vedere deplasări mari
în spaţiul de lucru , trebuiesc efectuate mai multe liniarizări,
ceea ce măreşte volumul de calcule.
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

Fig. 10.2.

10.1. Calculul cinematic al roboţilor de topologie


paralelã
In vederea evaluării caracteristicilor unui astfel de robot se
impune un studiu teoretic aprofundat vizând:
•calculul cinematic
•calculul dinamic
•calculul spaţiului de lucru
•calculul vibraţiilor.
Poziţia unui punct material caracteristic al obiectului
manipulat este determinată prin lungimile celor şase tije. Cele
şase lungimi controlează astfel cele şase coordonate care
poziţionează şi orientează punctul în spaţiu (x, y, z, Yx, Yy, Yz).
Fie un sistem Oxyz cu centrul în centrul triunghiului
P1P2P3 şi cu P1 pe axa y în sensul ei pozitiv. Placa superioară
fixă este la momentul iniţial paralelă cu planul (P1P2P3) la o
distanţă "h" de acesta şi cu punctul B1 pe direcţia axei Ox în
sensul pozitiv.
In figura 10.1 este redatã schema cinematicã a unui robot
industrial de topologie paralelă.
Punctele Bk vor avea coordonatele
Bk = (Rb cos qn, Rb sin qn, h)k = 1, 2,....., 6 (10.1)
q1 = 0; q2 = 300º; q3 = 240º; q4 = 180º; q5 = 120º;
q6 = 60º;
în timp ce punctele
Pn = (Rp cos qn, Rp sin qn, 0) n = 1, 2, 3 (10.2)
q1 = 90º; q2 = 330º; q3 = 210º.
Orice mişcare poate fi descompusă într-o rotaţie şi o
translaţie. Dacă R reprezintă o rotaţie obţinută prin compunerea
rotaţiilor Rx, Ry, Rz în jurul axelor care transformă vectorul de
poziţie al punctului Pn în Pn', atunci
Pn' = R Pn (10.3)
Punctul Pn' poate fi translatat printr-o translaţie T în Pn"
C11 C12 C13
R = C21 C22 C23
C31 C32 C33 (10.4)
Pn" = Pn' + T T = (x, y, z) (10.5)
Coroborând (10.4) cu (10.5) obţinem:
Pn" = R. Pn + T (10.6)
Lungimile tijelor "ln" se obţin făcând diferenţa vectorilor
de poziţie ai punctelor Bk şi vectorii de poziţie ai punctelor Pn"
obţinute în urma roto-translaţiei. Aceste lungimi se calculează
cu relaţiile:
L1 = P1" - B1 ; L4 = P4" - B4
L2 = P2" - B2 ; L5 = P5" - B5 (10.7)
L3 = P3" - B3 ; L6 = P6" - B6
l n = x l 2 + y l 2 + z l 2 unde L = (x , y , z ) (10.8)
n l l l
Calculul lungimii tijelor pentru fiecare poziţie a spaţiului
de lucru ne permite poziţionarea punctului material
caracteristific în spaţiu.
Putem deci, defini ca şi în cazul roboţilor de topologie
serie, o problemă directă şi una inversă. Problema directă ar
consta din determinarea parametrilor axei mişcării roto-
translaţiei (x, y, z, Yx, Yy, Yz) când se cunosc poziţiile iniţială
şi finală a punctului caracteristic, în timp ca problema inversă ar
consta din determinarea uneia dintre poziţii când se cunosc
cealaltă şi parametrii axei mişcării de roto-translaţie.
C11 C12 C13
[x`, y`, z` ] = C21 C22 C23 [x, y,z ] + [x0, y0,z0 ]
C31 C32 C33
unde,
C11 = cos(Yy)cos(Yz)
C12 = cos(Yy)sin(Yz)
C13 = sin(Yz)
C21 = - sin(Yx)sin(Yy)cos(Yz) - cos(Yx)sin(Yz)
C22 = - sin(Yx)sin(Yy)sin(Yz) + cos(Yx)cos(Yz) (10.10)
C23 = sin(Yx)cos(Yy)
C31 = - cos(Yx)sin(Yy)cos(Yz) + sin(Yx)sin(Yz)
C32 = - cos(Yx)sin(Yy)sin(Yz) - sin(Yx)cos(Yz)
C33 = cos(Yx)cos(Yy)
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

P 4

5 Spaţiul de lucru
6

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
λ = s/T sau λ = s/(s+τ)
Stabilitatea statică necesită ca permanent cel puţin trei picioare
să fie în contact cu solul , ceea ce conduce la :
λ>3/n unde “n” este numărul total de picioare al robotului.
Pentru roboţii hexapozi aceasta înseamnă λ > 1/2 .Un mers se
consideră “regulat” dacă factorul de utilizare are aceeaşi valoare
pentru toate picioarele;
- Faza unui picior Φi , este fracţiunea de ciclu ce separă
începutul ciclului piciorului “ï” de cel al piciorului “1”, luat
ca referinţă ;
Un mers este considerat “simetric “ dacă perechile de
picioare stânga – dreapta au mişcările decalate cu ½ ciclu.
Un mers cu increment de fază constant este cel la care
diferenţele de fază dintre picioarele succesiv aflate de aceeaşi
parte a robotului sunt aceleaşi;
Φ3-Φ1 = Φ5-Φ3
- Pasul piciorului L este distanţa parcursă de centrul de masă
al robotului pe durata unui ciclu de locomoţie;
- Cursa C este distanţa parcursă de picior în fază de suport
( distanţa dintre poziţiile extreme );
- Pasul cursei P este distanţa dintre două picioare adiacente
de aceaşi parte a robotului.
Tipuri de mers

Mişcările picioarelor robotului trebuiesc coordonate


pentru a se asigura urmãtoarele deziderate:

5 Transfer Suport
Stânga
1
6

4 Dreapta

2
0 1/6 1/3 1/2 2/3 5/6 1(ciclu)
Fig. 8.3. Mers în unde ( λ = 5/6 )

5
3
1

6
4
2
0 1/6 1/3 1/2 2/3 5/6 1 (ciclu)
Fig. 8.4. Mers în unde ( λ = 2/3 )

1. Menţinerea robotului în echilibru ;


2. Deplasarea acestuia cu o anumită viteză.
Aceste deziderate se pot realiza utilizind mai multe tipuri de
mers , cum ar fi :
- Mersuri periodice = toate picioarele robotului au aceaşi
durată a unui ciclu complet ;
- 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 ) = realizează
aprovizionarea şi desfacerea asistată de calculator. Se asigură
lansarea de comenzi pentru materii prime, controlul produselor
finite şi planificarea şi distribuirea mijloacelor de transport.
C.A.P. (computer aided planning ) = realizaeză
pregătirea şi programarea fabricaţiei asistată de calculator.
C.F.P. ( computer financial planning ) = realizează
conducerea prin calculator a activităţii financiar-contabile.
In continuare vom analiza cel mai important proces care
se desfăşoară în cadrul sistemului de producţie , cel de
fabricaţie.
Sistemul C.A.M. (computer aided manufacturing )
face parte integrantă din .C.I.M şi este componenta sa esenţială.
Sistemul C.A.M. integrează următoarele activităţi proprii S.F. :
- stocarea şi urmărirea materialelor pe flux ;
- deplasarea materialelor pe flux ;
- conducerea directă a maşinilor , utilajelor şi roboţilor ;
- controlul calităţii.
Prin intermediul acestui sistem se asigură conexarea tuturor
maşinilor , utilajelor şi roboţilor din cadrul S.F. la calculatorul
central , conducerea şi coordonarea lor unitară. Dacă ar fi să
comparăm sistemul de producţie cu un organism atunci C.I.M.
poate fi asimilat sistemului nervos. Prin intermediul C.I.M. sunt
integrate taoate fluxurile informaţionale şi corelate cu cele
materiale şi energetice. In acest fel sistemele de fabricaţie
discrete capătă un caracter de continuitate.
N.C. ( numerical control ) = cuprinde acele sisteme de
comandă după program la care programul se memorează pe un
purtător adecvat , sub formă de date numerice , iar
echipamentele de comandă sunt în măsură să prelucreze datele
din program şi eventualele informaţii provenite de la maşina-
unealtă, prelucrare care se face exclusiv prin mărimi numerice.
Conţinutul acestei metode este definit prin însăşi numele ei :
comandă prin numere.
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 S.F.F. care îl


convenţional înlocuieşte
Număr de tipuri piese 182 182
produse
Număr de subsisteme fără 0 18
supraveghere
Număr de maşini-unelte 253 133
Număr de angajaţi în trei 601 129
schimburi
Gradul de utilizare al 61 84
capacităţii pe 2 schimburi
(%)

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 n-


axis general manipulator using Kane`s equations ,
Computers Math.Applic. Vol.17,No.12,1989.
[2] Angeles J., O.Ma - Dynamics simulation of n-axis serial
robotic manipulators using a natural orthogonal
complement, The international Journal of
RoboticResearch,Vol.7,Nr.5, Oct. 1988.
[3] Angeles J. - Iterativ Kinematic Inversion of General Five -
Axis Robot Manipulators, The International Journal of
Robotic Research,Vol.4. Nr.4,Winter 1986
[4] Angeles J. - On the Numerical Solution of the Inverse
Kinematic Problem, The International Journal of Robotic
Research,Vol 4,Nr.2,Summer 1985.
[5] Angeles J.A. Alivizatos and P.J.Zsombor-Murray - The
synthesis of smooth trajectory for pick-and-place operatons ,
IEEE Trans.Syst.Man Cybern. 18(1) , 173-178 (1988).
[6] Angeles J. , S.Lee - The formulation of dynamical ,
equations of holonomic mrchanical systems using a natural
orthogonasl complement , International Journal of Robotic
Research 4/1987.
[7] Atkenson C. , Chae H.A. , Hollerbach J. - Estimation of
inertial parameters of manipulator load and links , Cambridge ,
Massachuesetts , MIT Press. 1986.
[8] Angeles J. - Spatial kinematic chains : Analysis , synthesis ,
and optimization , Berlin : Springer verlag.
[9] Angeles J. , Rojas A. - On the use of condition-number
minimization and continuon in the iterative kinematic analysis
of robot manipulator , Proc.Fifth IASTED Symposium Robotics,
New Orleans1985.
[10] Baştiurea Gh. ş.a. – Comanda numericã a maşinilor-unelte,
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.
[62] Vâlcovici V., St. Bãlan, R. Voinea - Mecanica teoreticã,
Editura tehnicã,1968.
[63] Vukobratovic M. - Applied dynamics of manipulation
robots , New York , 1989.
[64] Walker M.W. and D.E.Orin - Efficient dynamic computer
simulation of robot mechanisms , J.Dynamic Syst. Meas.
Control 104 205-211 (1982).
[65] STAS R 12928/2-90.
[66] STAS R 12928/3-90.
[67] STAS R 12928/1-90.
[68] STAS 12938-91
[69] OIDICM - Actualitãţi în domeniul roboţilor industriali ,
Bucureşti 1987.
[70] OIDICM - Robotizarea proceselor tehnologice de ştanţare
şi matriţare , Nr. 1-45/1989.
[71] OIDICM , SID 69 - Noutãţi în robotica industrialã ,
Bucureşti , 1987.
[72] OIDICM , SID 53 - Utilizarea robotilor industriali la
sudarea metalelor şi la procese conexe , Bucureşti , 1985.
[73] IDAR Colecţie ( Informare - Documentare - Automatizare -
Robotizare - Calculatoare ) Bucureşti , 1980-1990.
[74] INID Colecţie , Buletine de informare şi documentare
tehnico-ştiinţifice , Bucureşti 1980-1990.