bazele sistemelor flexibile inteligente

Upload: mihaela-catana

Post on 14-Jul-2015

199 views

Category:

Documents


12 download

TRANSCRIPT

CAPITOLUL I . Schema bloc a unui robot

Fig.nr.1.1.Sistemul robot Defini ie : sistemul este un ansamblu de elemente interconectate astfel nct performan ele ansamblului sunt superioare sumei performan elor individuale ale elementelor componente. P r ile componente ale unui sistem robot (vezi fig.1.1) sunt : - sistemul de comand ; - sistemul de ac ionare; - sistemul mecanic. Sistemul de comand i cel de ac ionare constituie sistemul de conducere. Sistemul mecanic n ac iune asupra mediului se nume te sistem condus. Procesul robotizat este procesul condus. Observa ie : blocurile componente ale unui robot se afl ntr-o leg tur bidirec ional i se comport mpreun tot ca un sistem, denumit sistem robot. Observa ie : unii autori includ n sistemul de conducere i sistemul de percep ie.

Din punctul de vedere al circuitului informa ional, care se stabile te ntr-un sistem robot, este valabil schem bloc din figura 1.2 . ntregul echipament este organizat n jurul calculatorului central aflat n dialog( prin intermediul circuitului de interfa ) cu senzorii, traductoarele i circuitele de ac ionare.

Fig.nr.1.2. Schema bloc informa ional pentru sitemul robot fig.1.1 Observa ie : vezi coresponden a dintre blocurile celor dou scheme din i fig.1.2 : sistem de comand = calculator; sistem de percep ie = senzori i traductoare; sistem de ac ionare = sistem de ac ionare.

CAPITOLUL II. Schema bloc a p r ii electrice a unui robot n fig.2.1. se arat o variant ce descrie sistemul robot, reprezentnd mai multe detalii din structura un echipament de conducere uzual. Elementul central din schema informa ional din fig.nr.1.2 este denumit n schema din fig.2.1 calculator pentru c are toate caracteristicile calculatorului obi nuit compatibil IBM PC. n realitate exist anumite deosebiri fa de o structur clasic da calculator: - uneori sistemul de conducere al robotului are mai multe calculatoare; - blocul calculator con ine i circuite ( de interfa ) specifice aplica iilor de robotic ;

- sistem de vedere artificial (care e un alt calculator extern dotat cu camer de luat vederi, capabil s culeag informa ii din mediu, s le analizeze, s le n eleag i s le transfere calculatorului central).Calculatorul central comand unul sau mai multe microprocesoare/ microcontrolere care, la rndul lor, comand sistemul de ac ionare.

Sistemul de ac ionare se compune din sisteme de conducere locale (S.C.L.) realizate la nivelul fiec rei cuple cinematice conduc toare n jurul cte unui motor de ac ionare. S.C.L.-urile sunt realizate cu o structur de sistem de reglare automat (S.R.A.). . Observa ie :S.C.L.-urile asigur conducerea nemijlocit a axelor unui robot. Terminologia conducere nemijlocit are semnifica ia de conducere direct , propriuzis , f r intermediar. n schema bloc din figura 1.2, un S.C.L. (cu structur de S.R.A.) s-a reprezentat prin grupurile: comand elementul de ac ionare, elemente de ac ionare, interfa , traductor; elementul de ac ionare se compune din motor, transmisie i frne. Observa ie : n utimul timp se utilizeaz termenul de actuator,care provine de la verbul to actuate din limba englez .Traducerea acestuia in limba romn este a potrivi,a ajusta.Prin actuator,n func ie de context, se n elege motorul cu cel pu in o parte din transmisie i/sau frn .Uneori n actuator se subn elege ca fiind inclus i o parte electronic (de comand sau senzor). Toate aceste elemente lucreaz n bucl nchis (exist leg turi de reac ie invers - de feed-back) i se constituie ntr-un S.R.A. Pentru fiecare cupl cinematic conduc toare este prev zut cte un S.C.L . Cea de-a doua schem reprezint n detaliu partea electric a unui robot. Sistemul de conducere al unui robot este implementat fizic cu echipamente electrice i electronice care,n majoriatea lor, sunt introduse ntr-un dulap denumit dulap cu echipamente electrice i electronice. Nu toate echipamentele electrice se afl n acest dulap: - motoarele de ac ionare i traductoarele sunt amplasate pe sistemul mecanic; - senzorii sunt amplasa i n mediul de lucru al robotului; - panoul de nv are este exterior dulapului; - panoul operator se afl pe u a dulapului Specific pentru un echipament de conducere a unui robot este panoul de nv are, pentru care n literatura de specialitate se folosesc mai multe denumiri: panou de instruire, modul de instruire, teaching pendant.

Surs de energie

Motor Electronic de putere Controler (regulator local) Interpolator Generator de traiectorie Calculator

Transmisie i frn

Elemente, cuple cinematice conduc toare

Mediu

Traductor

Sistem de Conducere Local (Sistem Reglare Automat ) Panou nv are

X 6 = Sistem de ac ionare Senzori

Impuneri OU (panou operator)

Regulator global

IA- inteligen artificial Descompunere TASK-URI Etapizare proces tehnologic Sistem de comand

Fig.nr.2.1.Schema bloc detaliat a unui sistem robot Cu ajutorul panoului de nv are operatorul uman ( O.U.) poate conduce manual robotul spre situ rile convenabile execut rii opera iilor tehnologice. Observa ie : prin situare se n elege n robotic pozi ia i orientarea unui element mecanic sau unui obiect. Dup ce a deplasat manual robotul, OU poate comanda depunerea n memoria calculatorului a coordonatelor int atinse de c tre elementele sistemului mecanic. Panoul de nv are este prev zut cu o tastatur alfanumeric (litere i cifre) i un afi aj alfanumeric. De regul este dotat i cu un joystick cu care se pot comanda mi c rile sistemului mecanic. Este folosit n faza de programare a robotului

cnd operatorul uman nva robotul ce are de f cut i ntocme te programul nscriind instruc iune dup instruc iune. Panoul operator (P.O.) este amplasat pe u a dulapului i este compus din butoane pentru comenzi i becuri de semnalizare. Exemple de butoane: - pornire re ea cu cheie; - ciuperc de avarie; - butoane pentru stabilirea regimului manual / automat. n dulap se afl calculatorul central pentru care exist display, tastatur si unitate de disc. Dac robotul este unul evoluat, atunci el are un calculator capabil s lucreze cu elemente de inteligen artificial .Lucreaz cu programe elaborate la nivel task , fiind capabil s i autogenereze programul direct executabil. Exemplu : un robot inteligent n elege o instruc iune de tipul du-te i apuc bol ul, pe cnd unul mai pu in inteligent va n elege numai o succesiune de instruc iuni de forma: 1. determin unde se afl bol ul; 2. deplaseaz -te pn n dreptul bol ului; 3. apropie efectorul final de bol ; 4. condu efectorul final spre o situare optim pentru apucarea bol ului; 5. apuc bol ul. Observatie: cuvntul task din limba englez se traduce,n acest context, cu treab de f cut, sarcin . Pentru robotii obi nui i calculatorul trebuie s realizeze modelarea mediului i generarea traiectoriei (modelarea mediului nseamn reprezentarea prin ecua ii matematice a evenimentelor i obiectelor din proces). Blocul generator de traiectorie transmite semnale de comand (m rimi de prescriere): pozi ii, viteze, accelera ii c tre sistemul de ac ionare. Senzorii fac parte din sistemul de percep ie i sunt amplasa i n mediul n care lucreaz robotul. Exemple : exista senzori de proximitate, de gabarit, de contact i/sau for /moment , senzori optici,etc.

Sistemul de ac ionare La nivelul fiec rei cuple cinematice conduc toare este amplasat cte un motor de ac ionare. Motorul poate fi electric, hidraulic sau pneumatic. Observatie: dup tipul de motoare cu care este dotat i robotul prime te denumirea de robot ac ionat electric, hidraulic, pneumatic sau mixt. Motorul genereaz mi carea elementelor mecanice. Mi carea este transmis ( prin blocul transmisie) la elementele cuplelor cinematice conduc toare ac ionate.

Motorul este comandat de un circuit electronic i prime te energie de la o surs de alimentare. ntregul ansamblu,compus din motor i circuitele electronice care l comand , constituie un sistem de conducere local (S.C.L.). ntr-un robot exist attea S.C.L.uri cte cuple cinematice conduc toare trebuie comandate. S.C.L.-urile sunt realizate cu o structur de sistem de reglare automat (S.R.A). Observa ie: S.R.A. este un sistem n care reglarea se face automat,adic f r interven ie din exterior ,spre scopul final urm rit. Sistemul de ac ionare se compune din mai multe S.C.L.-uri n func ie de num rul de grade de mobilitate ale sistemului mecanic. Observa ie: n fig.3 s-a reprezentat un singur S.C.L. (S.R.A.) i s-a indicat cu 6v6 faptul c n sistemul de ac ionare exist 6 astfel de S.C.L.-uri deoarece s-a presupus c robotul are 6 axe. ntregul S.C.L. este condus de c tre un controler realizat cu microprocesor sau microcontroler. Acesta realizeaz func ia de regulator: 1. preia m rimea de prescriere (pozi ie, vitez , accelera ie) de la generatorul de traiectorie; 2. preia informa ia cu privire la mi carea executat n realitate de elementele mecanice (care este m rimea de reac ie) , de la traductorul aferent; 3. calculeaz abaterea ( eroarea) dintre m rimea de prescriere i cea de reac ie; 4. calculeaz m rimea de comand cu care se corecteaz abaterea; calculul se efectueaz cu o formul numit algoritm de reglare ( proiectat de inginerii automati ti) utiliznd valoarea curent a abaterii ; 5. transmite m rimea de comand electronicii de putere i prin aceasta motorului, pentru a imprima elementelor cuplelor cinematice conduc toare o mi care n sensul anul rii abaterii. Observa ii: 1. cele cinci puncte men ionate anterior se constituie n problema conducerii nemijlocite a elementelor unei cuple cinematice conduc toare ( conducere nemijlocit nsemnnd conducere direct , f r intermediar); 2. n unele cazuri intervine i blocul interpolator care genereaz puncte prescrise suplimentar; 3. o parte din transmisie i frn ( electromecanic ) se consider incluse n sistemul de ac ionare. Astfel, prima roat din at ,prima fa a unui ambreiaj,fulia conduc tare a unei curele,etc.dup caz, se consider c fac parte din sistemul de ac ionare ( de aceea s-a f cut i delimitarea respectiv pe fig.2.1).

Ideal ar fi ca un robot s poat fi condus folosind un regulator global care s controleze simultan toate mi c rile de pe toate axele. Acest mod de conducere nu se implementeaz deocamdat deoarece: a). traductoarele carteziene care pot urm ri mi carea punctului caracteristic in spa iu sunt extrem de scumpe la preciziile pretinse de aplica iile din roboric ; b). leg turile dintre mi c rile pe diferite axe se exprim prin ecua ii complicate ( profund neliniare). c). volumul de calcule necesar pentru realizarea unei regl ri globale este foarte mare i nu se poate realiza n timp real cu nici un calculator convenabil ca i cost la momentul actual. Din aceste motive, indiferent de modul n care se realizeaz conducerea robotului, mi carea propriu-zis a sistemului mecanic se conduce cu S.C.L.-uri dispuse la nivelul fiec rei cuple cinematice conduc toare. Este utilizat metoda de conducere distribuit a mi c rilor pe axe. Blocuri,de tip S.C.L.,construite anume pentru conducerea unei singure axe mecanice sunt ast zi bine puse la punct . Sisteme de acest fel precum i senzorii/ traductoarele aferente se produc la pre uri accesibile. 2.1. Func ii ale sistemului de conducere al unui robot Sistemul de conducere al unui robot a c rui schema bloc s-a prezentat n figura 2.1 are de efectuat mai multe seturi de calcule i de opera ii: - calcule de cinematic prin care se determin elementele unei traiectorii: pozi ii, viteze accelera ii (termenul determin are aici semnifica ia se afl i acestea impun); - calcule de dinamic ; - interpretarea informa iilor de la senzori i traductoare; - calcule aferente reprezent rii interne n calculator a lumii nconjur toare; - calcule aferente conducerii robotului , impuse de algoritmele de reglare, n care se ine seam i de calculele de cinematic i dinamic ; - comanda sistemelor de ac ionare i realizarea conducerii nemijlocite a elementelor robotului; - dialogul cu operatorul uman , realizat cu ajutorul unor dispozitive adecvate (display,tastatur ,unitate de disc) i folosind programe corespunz toare. Opera iile i calculele mai sus enun ate sunt efectuate ntr-o anumit ordine i dup anumite priorit i, n func ie de condi iile unei aplica ii concrete. Pentru fiecare grup de calcule pot exista calculatoare dedicate sau blocuri software ( pachete de programe) specializate. Grupele de calcule i comenzi enun ate anterior se pot mp r i principial n trei grupe mari de sarcini ale unui sistem de conducere al robotului.

A. Modelarea mediului. B. Specificarea, Generarea i Controlul mi c rilor. C. Dialogul cu operatorul uman.

A. Modelarea mediului Reprezentarea cu rela ii matematice a mediului de lucru, a elementelor bra ului robotului i completarea acestor reprezent ri cu informa ii furnizate de senzori nseamn modelarea mediului. Cu aceasta grup de sarcini se face reprezentarea succesiv a etapelor procesului tehnologic ( P.T.). i se determin configura ia dispozitivului de ghidare ( D.G.) n fiecare etap de proces. La robo ii mai pu in evolua i modelarea mediului se face prin nv are. B. Specificarea, Generarea si Controlul mi c rii Reprezint grupa principal de sarcini ale sistemului de conducere al robotului. Scopul conducerii unui robot este acela de a determina sistemul mecanic s se deplaseze unde i cum pretinde P.T. i eventuale impuneri suplimentare. Observa ie: efectorul final ( E.F.) al unui robot trebuie condus n anumite locuri cu o anumit orientare ( conteaz i pozi ia i orientarea sa, deci conteaz situarea E.F.). Conducerea presupune o etapa de specificare a mi c rilor, pornind da la condi iile ini iale date, i o etap de comand si reglare a acestora n vederea execut rii lor corecte.

C. Dialogul cu operatorul uman

Aceast func ie apare ca de la sine n eleas ntruct toate comenzile i opera iile efectuate de c tre sistemul de conducere se efectueaz pe baza unui dialog cu operatorul uman. Dialogul este mijlocit de dispozitive hardware adecvate (tastatur , display, unitate de disc) i se implementeaz cu limbajul de programare. Programele prin care se realizeaz modelarea mediului ( grupa A ) i specificarea , generarea i controlul mi c rilor ( grupa B) presupun dezvolt ri software laborioase, utilizndu-se limbaje de programare de nivel nalt ( Pascal, C++,). Controlul mi c rilor presupune, in plus, elaborarea unor programe pentru controlerele de ax ( microprocesoare). Acestea se programeaz n limbaj de asamblare ( cel mai pu in evoluat limbaj de calculator). Pentru scrierea acestor programe trebuiesc cunoscute n detaliu caracteriicile componentelor( microprocesor / microcontroler) care constituie controlerul. Realizarea programelor pentru grupele A i B de sarcini revine numai programatorului cu experien care concepe o structur software prin care robotul devine func ional. Ansamblul acestor programe constituie software-ul de baz al robotului. Utilizatorul direct al robotului are la dispozi ie un um r de instruc iuni ( de programare a robotului) compus ,de regul ,din cca 25-30 instruc iuni. Acestea sunt date n cartea tehnic a robotului i sunt, de fapt, numai ni te func ii i proceduri ale software-ului de baz . Un program de lucru const din nsu irea logic a unora dintre instruc iunile din cartea tehnic a roborului i nu presupune cuno tin e nalte de programare. Aceste programe de lucru, prin care de fapt se realizeaz dialogul cu operatorul uman ( grupa C), sunt preluate, prelucrate i executate apoi de software-ul de baz .

CAPITOLUL III. MODELAREA MEDIULUI. Grupa A de sarcini a conducerii unui robot Reprezint prima grup de sarcini pentru un sistem de conducere al unui robot. Prin aceast grup se reprezint , n calculator,obiectele din mediul de lucru al

robotului, p r i ale obiectelor, dispunerea lor relativ , situarea relativ a sistemului mecanic al robotului n raport cu obiectele din mediu. n ceea ce prive te modelarea mediului exist o deosebire important ntre robo ii simplii i cei evolua i.

3.1.Programarea prin nv are Robo ii simplii lucreaz n procese tehnologice rigide, n care opera iile se repet mereu ntr-un mod binecunoscut i neflexibil.n aceste situa ii nu este necesar dezvoltarea unui software specializat n reprezentarea mediului n care opereaz robotul, respectiv pentru reprezentarea succesiunii etapelor procesului tehnologic. n aceste cazuri se procedeaz la nv area prin instruire a robotului ( uneori se folose te termenul de programare prin nv are). n literatura de limb englez se folosesc termenii: - teaching by doing - teaching by showing - teaching by learning - teach and play back, toate cu n elesul de programare prin nv are n limba romn . nv area prin instruire se folose te n faza de ntocmire a programului de lucru al robotului i ncepe prin a deplasa manual ( cu comenzi prin butoane) sistemul mecanic al robotului, pn n punctele din spa iu n care acesta trebuie s opereze. inta este s se ob in n punctele impuse de P.T. o orientare optim pentru elementele dispozitivului de ghidare, astfel ca opera ia respectiv s se execute corect.Urmeaz apoi memorarea coordonatelor relative ale elementelor cuplelor cinematice conduc toare. Exemple de nv are prin instruire: Sudura n puncte a caroseriei unui automobil. Se realizeaz din lemn sau din material plastic caroseria unui tip de autoturism. Pe machet se reprezint toate punctele n care trebuie aplicat cte un punct de sudur ( de obicei sunt 500-600 astfel de puncte). n faza de nv are se alimenteaz cu energie ntregul echipament. Un operator uman deplaseaz sistemul mecanic cu ajutorul panoului de nv are (folosind butoanele aferente punerii n mi care a elementelor mecanice), succesiv la fiecare dintre punctele marcate pe machet . n fiecare dintre puncte, OU trebuie s fie atent ca efectorul final ( tip cap de for cu cle te de sudur ) s se situeze n punctul respectiv astfel nct sudura s

se efectueze corect (evident, n aceast faz de nv are, cle tele de sudur nu este alimentat). n momentul n care sistemul mecanic se configureaz n situarea corect aferent opera iei din punctul respectiv, OU apas pe butonul de memorare de pe panoul de nv are i toate coordonatele transmise de traductoarele de pe robot sunt depuse n memoria calculatorului s u. Dup memorarea coordonatelor aferente unui punct se trece la punctul urm tor .a.m.d. La ncheierea fazei de nv are, se trece robotul n regimul de func ionare automat i, f r a se alimenta capul de sudur , se genereaz mi c rile spre punctele anterior nv ate. Acum se aplic corecturile eventual necesare. n etapa de verificare operatorul uman poate interveni de la panoul de nv are pentru a opri robotul sau pentru a corecta configura ia, dac acest lucru se impune. Observa ie: de cele mai multe ori etapa de verificare se execut n slow motion (mi care cu ncetinitorul) pentru a urm ri acurate ea mi c rilor robotului Dup etapa de verificare i corectare, cnd punctele au fost corect memorate i reproduse, se nregistreaz pe un disc toate coordonatele atinse, pentru ca acestea s poat fi utilizate ori de cte ori este nevoie. Observa ii: de cele mai multe ori, n faza de nv are, operatorul uman realizeaz simultan i ntocmirea programului de lucru propriu-zis. Pe panoul de instruire sunt prev zute taste speciale (cu litere sau cuvinte) cu care operatorul uman poate nscrie instruc iuni ale programului, pe care apoi le completeaz cu coordonatele memorate. Astfel, la sfr itul fazei de nv are, dup verificare, OU ob ine pe disc ntregul program de lucru pentru procesul nv at. Vopsirea prin pulverizare.Se folose te n cazul vopsirii unor suprafe e plane i suficient de mari. Un OU,vopsitor cu experien , particip direct la etapa de nv are.Se leag , n sensul propriu al cuvntului, mna OU de efectorul final al robotului i se alimenteaz cu energie partea electric a robotului. Operatorul uman execut opera ia de vopsire, iar sistemul mecanic al robotului execut n tandem cu OU mi carea respectiv . n acest caz butonul de memorare a coordonatelor de pe panoul de instruire se trece pe pozi ia memorare automat i, la anumite intervale de timp, coordonatele atinse n mi care de c tre dispozitivul de ghidare sunt memorate (automat). Frecven a de memorare este cuprins ntre 20 i 200 Hz, n func ie de viteza de operare a calculatorului . Cu ct calculatorul este mai rapid se nregistreaz puncte mai des, deci memorarea se face cu o frecven mai mare ob inndu-se o precizie mai bun . nva area cu utilizarea unei structuri master-slave.Exist situa ii n care dimensiunile de gabarit ale robotului nu permit legarea fizic cu OU .De pild la

robo ii cu gabarite mari sau foarte mari i la microrobo i. n aceste cazuri se realizeaz un robot pilot care reproduce la scar ( mai mic sau mai mare,dup caz) robotul adev rat. Operatorul uman se leag de efectorul final al pilotului i execut opera iile impuse de procesul tehnologic. n timpul nv rii, att robotul pilot ct i cel nv at se men in alimenta i cu tensiune i execut mi c rile n tandem cu OU. Se comand memorarea ( automat sau manual ) a coordonatelor atinse de robotul adev rat. Leg tura electric dintre pilot i robot poate fi realizat prin fire sau wireless. i n acest caz se procedeaz la verificarea i corectarea mi c rilor nv ate impunnd robotului mi c ri slow- motion. nv area prin instruire nu este o modelare a mediului n sensul propriu al cuvntului, ci este o metod prin care se evit ,de fapt, utilizarea de rela ii matematice ( uneori sofisticate), ntruct nivelul de inteligen al robotului este sc zut ( calculatorul s u nu este performant). La nv are, se depun succesiv n memoria calculatorului coordonatele situ rilor elementelor mecanice necesare n fiecare etap a procesului tehnologic. Astfel se economise te substan ial timp i putere de calcul. De i nv area prin instruire este caracteristic robo ilor mai pu in evolua i, metoda se utilizeaz i la robo i evolua i pentru cazul proceselor sau etapelor de proces neflexibile. Scopul model rii mediului este de a determina ( de a afla) n fiecare etap de proces configura ia sistemului mecanic cu care se efectueaz corect opera ia tehnologic din etapa respectiv .Configura ia dispozitivului de ghidare determinat cu metodele de modelare a mediului este transmis apoi blocului care nf ptuie te conducerea propriu-zis a sistemului mecanic. n cele ce urmeaz se prezint mijloacele matematice utilizate n robotic pentru a se implementa o modelare propriu-zis . 3.2. Reprezent ri matematice pentru mediul n care ac ioneaz robotul Exist situa ii n care procesul tehnologic nu este complet cunoscut nainte de a se derula: - evenimente din anumite etape ale procesului tehnologic care depind de evenimente petrecute n etapele precedente; - apar situa ii neprev zute sau imprevizibile;

- survin situa ii n care trebuie luate decizii de genul: dac .. atunci..altfel (if..then ..else). Pentru astfel de cazuri, ehipamentul de conducere al robotului trebuie dotat cu un anumit nivel de inteligen pentru a deveni capabil s ia decizii. n procese tehnologice de tipul indicat mai sus nu se poate folosi nv area prin instruire deoarece desf urarea procesului tehnologic nu este apriori complet cunoscut ; etapele procesului tehnologic nu se succed ntr-o ordine cunoscut ; traiectoriile nu pot fi planificate dinainte i / sau pot suferi modific ri. Pentru aceste situa ii echipamentul de conducere al robotului trebuie dotat cu posibilitatea de a- i reprezenta obiectele din mediu i de a stabili ordinea de desf urare a etapelor de proces.

3.3. Reprezent ri matriciale n robotic Metoda folosit n robotic pentru modelarea mediului este cea de reprezentare matriceal a situ rii relative ntre obiecte. Mai nti obiectele primesc un nume (name). n program aceste nume se reprezint prin simboluri ( de obicei litere). Exemple: P pin; H gaur ; CAM camer de luat vederi. De multe ori primesc nume i p r i ale obiectelor sau anumite situ ri relative ale acestora. Apoi fiec rui obiect, p r i sau situ ri care a primit nume i este ata at cte un sistem de coordonate ( S.C.) triortogonal. Acest sistem de coordonate ata at prime te i el numele obiectului aferent. Fie cazul unui efector final tip dispozitiv de prehensiune cu dou degete (fig.3.1). n punctul de scul ( T.P.- tool point ) se ata eaz EF un sistem de coordonate format din versorii n, o, a Cei trei versori au urm toarele orient ri: - a versorul apropiere (approach) este orientat dup direc ia i sensul apropierii efectorului final de obiectul asupra c ruia trebuie s se opereze; - o versorul orientare (orientation) are orientarea dup direc ia liniei de unire a degetelor efectorului final; - n versorul normal (normal) n ! o v a ; este perpendicular pe o i a cu sensul determinat de regula burghiului, pentru a completa un sistem de 3 axe ortogonale.

z0

O0

_ p

TP _ o

_ n

_ a

x0

y0

Fig.nr.3.1. SC ata at EF tip DP cu dou degete Pozi ia originii acestui sistem de coordonate n raport cu sistemul de coordonate de referin ( S.C. de Ref. ) este dat de vectorul de pozi ie p . Pozi ia i orientarea sistemului de coordonate ata at efectorului final, n raport cu un alt sistem de coordonate ( cel de referin , de pild ) se reprezint cu matricea de situare numit i matrice de transformare sau matrice transformare. n x n y T ! n z 0 ox oy oz 0 ax ay az 0 px py pz 1

(3.1)

unde: - nx, ny, nz sunt componentele versorului n al SC ata at EF ( sau n general unui obiect) n raport cu un alt sistem de coordonate ( cel de referin , de pild ); - ox, oy, oz sunt componentele versorului o al SC ata at EF ( unui obiect ) n raport cu un alt sistem de coordonate ( cel de referin ); - ax, ay, az sunt componentele versorului a al SC ata at EF ( unui obiect ) n raport cu un alt sistem de coordonate ( cel de referin );

- px, py, pz sunt componentele versorului de pozi ie care exprim pozi ia originii sistemului de coordonate ata at efectorului final ( unui obiect n general) n raport cu axele unui alt SC ( cel de referin , de pild ). Matricea T se compune din:n x n T ! y n z 0 ox oy oz 0 ax ay az 0 px px pz 1

(3.2)

submatricea de orientare submatricea de pozi ie

Submatricea de pozi ie exprim n acela i timp i o transla ie (dup vectorul p) ne arat la ce transla ie trebuie supus originea sistemului de coordonate (cel de referin , de pild ) pentru a ajunge n originea altui SC; Submatricea de orientare ne arat la ce rota ii trebuie supu i versorii triortogonali ai unui sistem de coordonate pentru a ob ine orient rile versorilor triortogonali ai altui SC. Matricea T poate fi interpretat n trei moduri: - ca matrice de situare care exprim situarea relativ ( pozi ie i orientare) a dou sisteme de coordonate; - ca transformare la care trebuie supus un sistem de coordonate pentru a deveni altul ( de aici i numele); - un operator care aplicat unui sistem de coordonate l transform ntr-un altul. Observa ie: de fiecare dat expresia matricii T este aceea i, dar interpretarea semnifica iei acesteia este diferit .

3.3. Reprezentarea etapelor unui proces tehnologic

Pentru a reprezenta obiectele implicate ntr-un proces tehnologic se stabile te un sistem de coordonate de referin , considerat absolut i numit sistem de coordonate universal ( sau universul U). De obicei U este legat rigid de hala n care i desf oar activitatea robotul industrial i se alege convenabil, astfel nct situ rile obiectelor din mediu i ale elementelor robotului s se poat exprima ct mai simplu. Exemplu: Fie cazul unui proces tehnologic PT n care un robot industrial RI cu efectorul final EF tip dispozitiv de prehensiune DP, cu dou degete, are prins n efectorul final o scul S. Dispozitivul de ghidare al robotului i efectorul final cu scula prins trebuie s opereze asupra unui obiect O situat ntr-o hal ( de exemplu s -l g ureasc ). Obiectul , la rndul s u, este fixat rigid de podeaua halei printr-un dispozitiv de lucru DL. (fig. nr.3.2.) Se alege un sistem de coordonate universal U ( cu o situare oarecare). Se ata eaz bazei robotului un sistem de coordonate numit R. De asemenea se ata eaz sisteme de coordonate efectorului final, sculei, obiectului, dispozitivului de lucru i g urii (ca parte a obiectului). Se presupune c ntr-o anumit etap a procesului tehnologic se cunoa te situarea sculei n raport cu gaura situare impus de modul n care trebuie efectuat opera ia tehnologic aferent etapei respective de proces. Din punct de vedere matematic, acest lucru nseamn c se cunoa te matricea[sTH ], matricea de situare a g urii H fa de scula S. Observa ie: n nota iile pentru matricea T se folosesc, de regul , doi indici: a). indicele dreapta jos, care exprim numele sistemului de coordonate a c rui pozi ie i orientare o descrie ( pe cine); b). indicele din stnga sus care exprim numele sistemului de coordonate fa de care se exprim pozi ia i orientarea (fa de cine); Indicii pot fi cifre sau litere, iar dac cel din stnga sus este 0 nu se mai scrie. Problema de modelare const n a exprima (matematic) pozi ia i orientarea ntregului robot (cu scula prins ) pentru a efectua o opera ie tehnologic i de a exprima situ rile relative ale obiectelor n etapa respectiv de proces. De exemplu, pentru a exprima situarea g urii n raport cu efectorul final se procedeaz la urm toarea succesiune de transform ri matriceale:

?

EF

TH !

A ? T Av ? T AEF S S H

(3.3)

EF S O H

DL R U

Fig.nr.3.2.Exemplu de proces tehnologic robotizat Aceast rela ie ne arat la ce transform ri succesive trebuie supus sistemul de coordonate al EF al robotului pentru ca situarea efectorului final al robotului s ajung s coincid cu sistemul de coordonate al g urii. n acest exemplu, transformarea [STH] este cunoscut din modul cum trebuie efectuat opera ia tehnologic , iar transformarea [EFTS] se cunoa te ntruct se tie cum anume este prins scula n efectorul final. n consecin , transformarea [EFTH] este complet determinat . n continuare situarea g urii n raport cu baza robotului industrial se determin cu rela ia:

? T A! ? T Av ? T Av ? T AR R EF S H EF S H

(3.4)

Observa ie: ordinea de aplicare a transform rilor nu se poate inversa ( nmul irea matricilor nu este comutativ ).

n general n toate aplica iile de robotic exprimarea situ rilor se face n raport cu universul U. n acest caz situarea g urii n raport cu universul este:

? T A! ? T Av ? T Av ?U U R H R EF

EF

TS v S TH

A? A

(1E)

n rela ia de mai sus s-a descris pozi ia i orientarea g urii n raport cu universul, alegnd un traseu legat de robot. Aplicnd [UTH] sistemului de coordonate universal se ajunge la sistemul de coordonate ata at g urii, pe traseul legat de robot. Situarea g urii n raport cu universul U poate fi exprimat i pe un traseu legat de celelalte obiecte din mediul de lucru al robotului (f r robotul industrial). Folosind un ra ionament similar cu cel precedent ob inem:

? T A! ? T Av ?U U H DL

DL

TO v

A ?T AO H

(2E)

Ultimele dou rela ii exprim acela i lucru, astfel c rezult egalitatea:

? T A! ? T Av ?U U H DL

DL

TO Av ?O TH A! ?U TR Av ?R TEF Av ?EF TS Av ?S TH A

(E) Aceast ecua ie exprim o etap a procesului tehnologic i se nume te ecua ia fundamental n modelarea mediului.Fiecare etap a procesului tehnologic robotizat se exprim prin cte o ecua ie de acest gen. Situ rile relative ntre obiecte i transform rile succesive aplicate sistemelor de coordonate ata ate acestora, exprimate cu ecua ii ca cele de mai sus, pot fi reprezentate i grafic ca n figura nr.3.3.

EF SEF

O

TH

O H H

TSS

R

TH

TEF

DL

TO

U

TDL

R

U

DL

TR

U

Fig.nr.3.3. Reprezentarea grafic a ecua iei fundamentale de modelare a unei etape de proces Observa ii : 1). O transformare poate fi reprezentat i prin graful transform rii. Graful unei transform ri este o s geat cu originea n sistemul de coordonate folosit ca referin i cu vrful n sistemul de coordonate a c rui situare o exprim .

RT EF

Baza robotului Efectorul final

Fig.nr.3.4.Graful unei transform ri 2). Folosind graful transform rilor i ecua iile de exprimare a transform rilor, o etap a procesului tehnologic poate fi reprezentat ca n figura nr.3.5.

UUTDL

UTR

RT EF DLT O EFTS OT H ST H

H H Fig.nr.3.5.Reprezentarea unei etape de proces cu grafuri

Reprezentarea cu graful transform rilor este util nu numai pentru c este sugestiv ci i pentru c permite utilizarea graficii pe calculator. Cu o astfel de dotare, utilizatorul poate reprezenta pe ecranul calculatorului o etap a procesului tehnologic cu s ge i. Calculatorul preia informa iile introduse n grafic, le n elege i le traduce n ecua ii matriceale corespondente. 3). n ecua ia fundamental pentru modelarea mediului (E) se cunosc toate situ rile cu excep ia lui [RTEF] - [UTR] se cunoa te din amplasamentul robotului n hal ; - [EFTS] se cunosc din forma i dimensiunile geometrice ale sculei i din modul de prindere al efectorului final; - [STH] se cunoa te din modul de efectuare al opera iilor tehnologice ( este impus de proces ); - [UTDL] se cunoa te din dispunerea dispozitivului de lucru n hala de lucru; - [DLTO] se cunoa te din modul de prindere al obiectelor n dispozitivul de lucru; - [OTH] se cunoa te deoarece se tie unde trebuie efectuat aura n obiect. [RTEF]R EF

Din ecua ia fundamental pentru modelarea mediului se poate calcula cu rela ia:U 1 O DL O S 1 EF 1 R DL O H H S

? T A! ? T A v ? T Av ? T Av ? T Av ? T A v ? T A

(E1)

1). Din fiecare ecua ie de reprezentare a cte unei etape de proces se calculeaz matricea [RTEF] care exprim de fapt configura ia bra ului robotului fa de baza robotului n etapa respectiv de proces. 2). Scopul scrierii ecua iilor fundamentale este tocmai acela de a se calcula, din ele, configura ia sistemului mecanic n fiecare etap de proces. Valorile ob inute pentru [RTEF] n fiecare etap de proces sunt apoi supuse analizei cinematice inverse i transmise blocului (calculatorului) pentru specificarea i generarea mi c rilor, care efectueaz dup aceea conducerea robotului spre configura iile necesare efectu rii opera iei din etapa respectiv a procesului tehnologic.

3.4. Etapele de realizare a model rii mediului La modelarea mediului trebuie parcurse urm toarele etape: 1 Obiectele din mediu, p r i ale obiectelor i situ ri importante pentru desf urarea procesului tehnologic primesc cte un nume; 2 Fiec rui nume i se ata eaz cte un sistem de coordonate triortogonal reprezentabil n raport cu un alt sistem de coordonate prin matricea de transformare (situare); 3 Se alc tuiesc structuri de date specifice pentru reprezentarea sistemelor de coordonate i a situ rilor relative; 4 Se procedeaz la etapizarea procesului tehnologic. Procesul tehnologic este defalcat n etape distincte, succesive i f r echivoc; acest sarcin i revine inginerului tehnolog; 5 Se exprim etapele procesului tehnologic cu ecua ii matriceale; 6 Se construiesc structuri de date specifice pentru reprezentarea, n bloc, a fiec rei etape; 7 Se adaug suplimentar comenzi i decizii pe baza informa iilor furnizate de senzori; 8 Se extrag valorile situ rilor[RTEF] n fiecare etap de proces i se transmit blocului / calculatorului care nf ptuie te conducerea propriu-zis . 3.5. Exemplu de modelare a mediului pentru un proces tehnologic

Fig.3.6. Recunoa terea i culegerea unor pini de pe o curea transportoare Este cazul unui bra de robot care trebuie s introduc ni te pini n g urile unui obiect cubic. Pinii sosesc pe cureaua transportoare a unui conveior, comandat de calculatorul robotului.De altfel, se consider c ntregul proces este comandat de c tre calculatorul robotului. Pozi ia i orientarea pinilor de pe curea este sesizat de o camer de luat vederi ( fig.3.6). Observa ii: Camera face parte dintr-un sistem de prelucrare a imaginilor sistem de sine st t tor dotat cu un calculator separat care proceseaz imaginile preluate de camera de luat vederi. Procesarea imaginilor presupune urm toarele etape: - achizi ie de imagini cu camera; - mbog ire (enhacement) i refacerea p r ilor deteriorate n timpul achizi iei; - analiza imaginilor ,ce nseamn determinarea obiectelor c utate, determinarea pozi iei i orient rii acesteia, recunoa terea de forme .a. Echipamentul de procesare a imaginii, fiind dotat cu calculator, este capabil s prelucreze foarte multe date i s transfere calculatorului robotului informa iile cerute de acesta n form adecvat . Fiecare obiect din procesul tehnologic prime te cte un nume. i p r i de interes ale obiectelor primesc cte un nume. De exemplu: P - pin;H gaur (parte a obiectului); CAM camer de luat vederi. De asemenea, se atribuie cte un nume i situ rilor importante din procesul tehnologic. De pild : - PA - (Pin Approach) pozi ia i orientarea efectorului final n raport cu pinul ntrun moment anterior apuc rii ( pozi ia apropiat de pin convenabil apuc rii); - PHA ( Pin Hole Approach) - situarea efectorului final, cu pinul apucat, n apropierea g urii n care se face inserarea. Fiec rui nume i se ata eaz cte un sistem de coordonate triortogonal de versori unitate, de tip n, o, a . Procesul tehnologic robotizat, dup concep ie, trebuie scris ntr-o form ct mai adecvat reprezent rii sale prin programe pentru calculator. Inginerului mecanic tehnolog i revine sarcina de a descrie procesul tehnologic n etape de opera ii distincte,succesive, f r echivoc. Etapizarea procesului tehnologic robotizat

reprezint un pas foarte important n modelarea mediului ntruct ea are implica ie direct asupra eficien ei robotiz rii procesului , respectiv asupra fidelit ii modelului pe calculator al procesului. n exemplul ales, etapele procesului tehnologic se succed astfel: 1 conveiorul prime te de la calculatorul robotului industrial un semnal de pornire i se opre te n momentul n care sistemul de prelucrare a imaginilor i semnaleaz c un pin a fost detectat pe cureaua transportoare. Sistemul de prelucrare a imaginilor determin pozi ia i orientarea pinului pe curea. 2 folosind informa ia furnizat de sistemul de prelucrare a imaginilor, se comand deplasarea sistemului mecanic astfel nct dispozitivul de prehensiune s se apropie pn deasupra pinului,n situarea de apucare optimal a acestuia. 3 dispozitivul de prehensiune apuc pinul. 4 se ridic pinul de pe cureaua transportoare. 5 se comand deplasarea dispozitivului de ghidare pn cnd dispozitivul de prehensiune, cu pinul apucat, ajunge n dreptul primei g uri a obiectului cubic. 6 se opre te mi carea dispozitivului de ghidare n momentul contactului pinului ( apucat n dispozitivul de prehensiune) cu gaura. 7 se aliniaz pinul dup direc ia axei g urii. 8 se insereaz pinul n gaur . 9 se elibereaz pinul din dispozitivul de prehensiune. 10-se ndep rteaz dispozitivul de ghidare de obiectul cubic. n continuare se repet acelea i opera ii pentru inserarea celui de-al doilea pin, cu observa ia c opera ia 1 pentru pinul 2 poate fi executat n timpul efectu rii opera iilor 2-10 pentru pinul 1 ( multiplexare n execu ie). Numele folosite n acest proces sunt: CAM situarea camerei de luat vederi n raport cu universul; PC situarea pinului n raport cu camera de luat vederi; P situarea pinului n raport cu universul; Z situarea bazei robotului n raport cu universul; T6 situarea cap tului mecanismului generator de traiectorie n raport cu baza robotului ndustrial ( de fapt, configura ia bra ului de robot f r efectorul final); E situarea efectorului final n raport cu cap tul final al mecanismului generator de traiectorie; PG Pin Grasp - situarea dispozitivului de prehensiune n raport cu pinul la strngere ( apucarea pinului); PA Pin Approach situarea efectorului final n raport cu pinul n apropierea acestuia ( nainte i dup apucare);

PD Pin Departure situarea efectorului final n raport cu vechea pozi ie a pinului n momentul dep rt rii( plec rii) sale; H situarea obiectului cubic n hal ; HRi i=1,2 situarea g urii i n raport cu obiectul cubic; PHA Pin Hole Approach situarea pinului apucat de dispozitivul de prehensiune n apropierea unei g uri; PCH Pin Contact Hole situarea pinului, apucat n dispozitivul de prehensiune, la contactul cu gaura; PAL Pin ALigned situarea pinului n raport cu axa g urii n pozi ia de aliniere cu aceasta; PH Pin Hole situarea pinului inserat n gaur . Cu aceste denumiri etapele procesului tehnologic se reprezint cu ecua ii matriceale ecua ii de transformare i/sau graful acestora. Fie etapa a 3-a din procesul tehnologic considerat, cnd dispozitivul de prehensiune apuc pinul. Graful transform rilor este reprezentat n figura 3.7 i 3.8 :

E T6 Z

PG P U ( univers)

Fig.nr.3.7.Graful transform rilor n etapa a 3-a a procesului

E PG P U x0 z0

TG

Z y0

Fig.nr.3.8.Reprezentarea grafic a etapei a 3-a a procesului Pentru etapele enun ate n procesul ales, grafurile transform rilor sunt: 1. P PC CAM P=CAMyPC 2. Z T6 E P PA

ZyT6yE=PyPA 3. Z T6 E P PG

ZyT6yE=PyPG 4. Z T6 E P PD PG

ZyT6yE=PyPDyPG 5. Z T6 E H HRI PHA PG

ZyT6yE=HyHRIyPHAyPG 6. . Z T6 E H HRI PCH PG

ZyT6yE=HyHRIyPCHyPG 7. . Z T6 E H HRI PAL PG

ZyT6yE=HyHRIyPALyPG 8. Z T6 E H HRI PH PG

ZyT6yE=HyHRIyPHyPG

10

Z

T6

E

H

HRI PH PA

ZyT6yE=HyHRIyPHyPA 3.6. Structuri de date specifice model rii mediului Programele de modelare a mediului opereaz cu matrici de transformare ( de situare). Pentru ca viteza de calcul s sporeasc i pentru corelarea mai comod a datelor se realizeaz structuri de date compacte care s con in : - elementele variabile ale matricii transformare; - leg turi ntre transform ri; - date suplimentare ( eventual). 3.6.1. Reprezentarea unui vector de pozi ie Observa ie: se vor prezenta variabile implementate n limbajul PASCAL pentru c n robotic s-a folosit de mult vreme acest limbaj i pentru acest limbaj se considr foarte cunoscut. n PASCAL structurile de date sunt definite folosind tipuri de date. Un tip ( de variabile) mai evoluat este tipul articol (type record), prin care se n elege un pachet de informa ii cu privire la variabile. Localizarea unui tip articol n memoria calculatorului se face cu ajutorul unor indicatori ( pointeri). Observa ie: un pointer este un index care specific adresa la care se afl tipul respectiv n memorie ( n PASCAL adresa concret nu este transparent ,adic direct vizibil de programator). Pentru definirea unui vector se folose te tipul vector ca o variabil de tip articol cu trei elemente reale: type vector = record x,y,z: real end. Aceast variabil este de tip articol ( record) i permite p strarea mpreun n memoria calculatorului a tuturor elementelor componente ( reale) la un loc. Se spune c : tipul vector este un articol compus din trei elemente reale. Elementele x, y i z sunt proiec iile dup axele unui sistem de coordonate de referin ale unui vector. Schematic tipul vector se reprezint ca n figura nr.3.9: X Y z

Fig.nr.3.9 Tipul vector

3.6.2. Tipul transformare Se folose te la reprezentarea unei matrici transformare. Observa ie: specific pentru modelarea mediului este operarea cu tipuri. Deocamdat acestea sunt tipuri geometrice. n reprezentarea obiectelor folosind tipuri geometrice sunt p strate mpreun informa ii cu privire la dimensiunile geometrice ale obiectului. Ideal, pentru robotic ar fi dac s-ar crea tipuri fizice n care s se memoreze la un loc informa iile cu privire i la alte propriet i fizice cum ar fi: mase, culori, rigidit i, rugozit i ale suprafe elor,. Deocamdat astfel de tipuri fizice nu au fost puse la punct. Un important tip geometric este tipul transformare: type transpointer = transformare transformare = record n, o, a, p: vector; inversa: transpointer; valid: boolean; inversap: boolean end. Tipul transformare este o variabil de tip articol ( record) ce con ine 4 vectori i 3 cmpuri suplimentare de memorie. Accesul la tipul transformare este printr-un pointer ( ) , numit transpointer ( pointer de transformare). Variabila tip transformare este un pachet de date de forma reprezentat n figura 3.10. pointer la transformare T-1

inversa n o a p valid inversap

Fig.nr.3.10.Reprezentarea con inutului pentru tipul transformare

n figura 3.10. semnifica ia nota iilor este : - n, o, a, p sunt variabile de tip vector ( fiecare con ine cte trei numere reale) care se p streaz mpreun . Acestea sunt elementele unei matrici T; - inversa este un pointer care indic la tipul aferent transformatei inverse. Acest pointer se include n pachetul de date memorat la un loc, pentru se a g si rapid unde anume n memorie se afl depus matricea invers , deorece n rezolvarea ecua iilor matriceale apar frecvent i matricile inverse; - valid este o variabil de tip logic ( care poate avea valorile true sau false adev rat sau fals variabile de tip boolean). Valid ia valoarea false dac asupra transform rii respective s-au operat modific ri. Aceast variabil se folose te la verificarea rapid cu privire la modific rile situ rilor obiectelor din mediul n care opereaz robotul industrial; - inversap este tot o variabil boolean care are valoarea true dac structura de date este aferent unei transform ri inverse ( ajut la parcurgerea rapid a listelor de date). 3.6.3. Tipul termen Este o structur de date folosit pentru reprezentarea unui termen dintr-o ecua ie matricial ( ecua ie care descrie o etap din procesul tehnologic).De exemplu n ecua ia ZyT6yE=PyPA , P este un termen potrivit pentru a fi reprezentat cu tipul decris n acest paragraf. Tipul termen este un grup de trei pointeri p stra i mpreun n memorie i folose te la reprezentarea modului n care un tip transformare este inclus ntr-o ecua ie matriceal ( ce descrie o etap de proces). type termpointer = termen termen = record urm tor, inv: termpointer; trans: transpointer end.

urm tor trans inv tipul

inversa n o a p valid inversap tipul

termen

transformare

Fig.nr.3.11.Reprezentarea con inutului unui tip termen i a conexiunii sale cu tipul transformare aferent La grupul de trei indicatori , ce alc tuiesc tipul termen (fig.3.11.), indic pointerul transpointer : - urm tor este un pointer care indic la o alt variabil de tip termen i anume la cea care corespunde urm torului termen din membrul ecua iei ( termenul urm tor n dreapta). - trans este un pointer care indic la variabila transformare propriuzis ( indic unde anume se afl tipul transformare unde este de fapt depus matricea). - inv e un pointer care indic la variabile de tip termen aferent transform rii inverse ( pentru c i matricea invers apare ntr-o ecua ie matriceal ).

Z

T6

Fig.nr.3.12.Conexiunea ntre dou tipuri termen i tipurile transformare aferente

3.6.4.Tipul membru al ecua iei. Pentru a spori mai mult viteza de calcul se procedeaz la construc ia unui ntreg membru al ecua iei transformare.De exemplu, pentru ecua ia ZyT6yE=PyPA membrul stng se realizeaz ca un pachet de date ob inute prin nl n uirea tipurilor termen. Ultimul termen al acestui membru are cmpul urm tor = NIL. n PASCAL acest lucru nseamn c pointerul respectiv nu indic nic ieri (termenul reprezentat este ultimul termen).

Fiecare dintre tipurile termen incluse n aceast structur de date con ine cte un pointer trans ( nota i pe fig.3.14. Z, T6, E, Z-1, T6-1, E-1 indic la transformarea aferent propriu-zis ).

Fig.nr. 3.13. Doi termeni i conexiunile realizate la inversele acestora Z T6

Z-1

tip termen u Z t i T6 NIL E

pointer ce nu mai indic spre alt termen

Z-1

T6-1

E-1

Fig.nr.3.14. Reprezentarea unui membru al unei ecua ii transformare 3.6.5.Reprezentarea unei ecua ii transformare Datele aferente unei ecua ii matriciale, care define te o situare a robotului n mediu ntr-o anume etap din procesul tehnologic, se pot reprezenta i ele grupat. Mai nti se define te tipul pozi ie (fig.3.15), tot ca o variabil de tip articol: type pozi iepointer = pozi ie pozi ie = record t6ptr, scul ptr: termpointer end.

pozi ie pointer

t6ptr scul ptr Fig.nr.3.15.Tipul poz ie

n fig.3.15. : - t6ptr este pointerul care arat unde anume se afl tipul termen aferent lui T6. - scul ptr este un pointer care indic la tipul termen aferent extremit ii sculei. Apoi se construie te o structur de date tip pozi ie , cu care se reprezint o etap a procesului tehnologic robotizat . Se constituie o nl n uire de tipuri termen: mbs membrul stng i mbd membrul drept. Tipul pozi ie este compus in doi pointeri ( t6ptr i scul ptr). Ace ti doi pointeri indic n interiorul unui lan de tipuri termen ( lan pozi ie-fig.3.16.), construit corespunz tor unei ecua ii ce descrie o etap a PT.Fiecare tip termen este legat de un altul dup modul n care el se situeaz n ecua ia respectiv . Observa ie: termenii aferen i transform rilor inverse sunt lega i ntre ei pe dos deoarece n rezolvarea ecua iei matriceale inversele se nmul esc n ordine invers dect cele directe.

Fiecare tip termen din acest lan con ine cte un pointer ( cel din mijloc - t ) care indic locul unde se afl tipul transformare aferent ( matricea propriu-zis ).

mbs u Z t i

t6ptr scul pt r T6 E

Z-1

T6-1

E-1

mbd T6 E

T6-1

E-1

Fig.nr.3.16.Lan ul pozi ie

3.7.Cuaternioni 3.7.1 Introducere n mod obi nuit , modelarea transla iilor i rota iilor n spa iul tridimensional se face folosind transform ri omogene. O alt alternativ de abordare a model rii n robotic este aceea de a utiliza perechi cuaternion-vector. Teoria cuaternionilor a fost introdus pentru prima dat n matematic n anul 1853 de Hamilton. Motivele pentru care cuaternionii au fost defini i sunt : - pentru a g si o modalitate de a defini mp r irea vectorilor; - pentru a se defini un tip de produs vectorial. Hamilton a demonstrat c un ct al doi vectori nu se poate reprezenta printrun vector descris cu numai trei parametrii reali. Este necesar s se adauge un al patrulea parametru real.Deci,trebuie utilizate entit i cuadruple,pe care Hamilton le-a numit cuaternioni. n 1979 Taylor a remarcat pentru prima dat c dac la un robot se reprezint rota iile cu cuaternioni calculul este mai eficient ,iar mi carea sistemului mecanic este mai lin . Metoda prezentat a fost denumit Controlul traiectoriei carteziene , utilizeaz metoda de conducere cunoscut ( R.P.Paul ) dar folose te cuaternioni la reprezentarea rota iilor. 3.7.2.Elemente de algebra cuaternionilor Un cuaternion poate fi definit ca : - un cuadruplu de numere reale; - un vector cu patru dimensiuni; - o entitate hipercomplex . Modul cel mai simplu de reprezentare al unui cuaternion este ca un cuadruplu de numere reale.Dac p i q sunt doi cuaternioni :

p ! p 0 , p1 , p 2 , p 3 q ! q 0 , q1 , q 2 , q 3

p i , i ! 0 z 3 q i , i ! 0 z 3

(3.5)

Hamilton a definit urm toarele propriet i ale cuaternionilor : - Adunarea (sc derea) :

p s q ! p 0 s q 0 , p1 s q1 , p 2 s q 2 , p 3 s q 3

(3.6)

- nmul irea cu un scalar :

sp ! s p 0 , s p1 , s p 2 , s p 3 ! ps- nmul irea a doi cuaternioni ( produsul cuaternional ) :

(3.7)

pq ! [p 0 q 0 p1q1 p 2 q 2 p 3q 3 ,

p 0q1 p1q 0 p 2q 3 p 3q 2 , p 0q 2 p1q 3 p 2q 0 p 3q1 , p 0q 3 p1q 2 p 2q1 p 3q 0 ]

(3.8)

Observa ie : produsul cuaternional se scrie pq f r a se utiliza vreun simbol v sau ntre termenii produsului. - Produsul cuaternional este asociativ :

pq n ! pqn pq s n ! pq s pn- Produsul cuaternional este, n general, necomutativ :

(3.9)

- Produsul cuaternional este distributiv fa de adunare i sc dere : (3.10)

pq { qp

(3.11),

Hamilton a definit , n cmpul cuaternionilor, o baz de patru elemente e1, e2, e3, e4 pe care i-a notat ,respectiv, cu 1, i , j, k :

1 ! ,0,0,0 i ! 0,1,0,0 1 , , k ! 0,0,0,1

j ! 0,0,1,0 ,(3.12)

Totodat a definit i o algebr A (n cmpul K), prin urm torul tabel de nmul ire al elementelor bazei :

e1 e2 e3 e4

e1 e1 e2 e3 e4

e2 e2 - e1 - e4 e3

e3 e3 e4 - e1 - e2

e4 e4 - e3 e2 - e1

Urm rind tabelul i utiliznd nota iile (3.12 ) rezult :

12 ! 1, i 2 ! j 2 ! k 2 ! 1 ij ! ji ! k , jk ! kj ! i, ki ! ik ! j

(3.13)

Notnd i, j, k cu i, j, k, unit ile i, j, k ale bazei cmpului cuaternionilor pot fi interpretate ca trei vectori ai unei baze de axe carteziene. Cu acestea,un cuaternion q poate fi scris ca avnd o parte scalar s i o parte vectorial v :

q ! s, a, b, c ! s 1 a i b j c k ! s vsau :

(3.14) (3.15)

q ! ?s, v A , unde

s , v 3

Astfel, un cuaternion poate fi definit ca un vector cu patru dimensiuni,ob inut prin combinarea unui scalar cu un vector (tridimensional) real. Propriet ile de baz din algebra cuaternionilor sunt : Partea scalar a lui q Partea vectorial a lui q Conjugata lui q Norma lui q Reciproca lui q Cuaternionul unitate s ai + bj+ ck

s i bj ck as 2 a 2 b2 c 2

(3.16)

s ai bj ck s 2 a2 b2 c 2

s ai bj ck , unde s 2 a 2 b 2 c 2 ! 1

Observa ie : Cuaternionii includ i numerele reale ( s, 0, 0, 0) ,cu o singur unitate 1, numerele complexe ( s, a, 0, 0) cu dou unit i 1 i i i vectorii din spa iul tridimensional ( 0, a, b, c). Acesta din urm avnd s= 0 a fost denumit vectorcuaternion sau ternion i reprezint imaginea unui vector real n spa iul cuadridimensional de baz ( 1, i, j, k). nmul irea cuaternionilor poate fi scris i n forma : (3.17)

q1q 2 ! s1 a1i b1 j c1k s2 a2 i b2 j c2k ! ! s1s2 v 1 v 2 s2 v1 s1 v 2 v1 v v 2

n caz general , produsul vectorial al doi vectori reprezenta i ca i cuaternioni nu este un vector ci un cuaternion.Astfel, fie doi vectori

q1 ! ? , v1 A! 0, a1 , b1 , c1 0

i

q 2 ! ? , v 2 A! 0, a2 , b2 , c2 0

(3.18) (3.19)

q 1q 2 ! v 1 v 2 v 1 v v 2n rela iile de mai sus :

s1s2 - este produsul cuaternional scalar-scalar ( identic cu produsul a doi termeni reali);

s1v 2 , s2 v1 - sunt produse cuaternionale scalar-vector ( identice cu cte un produs scalar-vector real);

v 1 v 2 v1 v v 2 - este produsul cuaternional vector-vector.

Produsul scalar a doi cuaternioni se noteaz cu i :

q1 q 2 ! s1 s2 v 1 v 2

(3.20)

Cele dou rezultate (3.18) i (3.20 ) se ob in aplicnd regula (3.8) de nmul ire dat de Hamilton. Mai nti nmul im cei doi cuaternioni q1 i q2 ob innd rezultatul :

q 1q 2 ! s1 a1 i b1 j c1 k s 2 a 2 i b2 j c 2 k ! ! s1 s 2 a1 a 2 b1 b2 c1 c 2 s1 a 2 a1 s 2 b1 c 2 c1 b2 i s1 b2 a1 c 2 b1 s 2 c1 a 2 j s1 c 2 a 1 b2 b1 a 2 c1 s 2 kApoi nmul im cei doi scalari s1 , s2 considerndu-i cuaternion-scalari. Adic , pentru scalarii : s1 ! s1 ,0,0,0 i s 2 ! s 2 ,0,0,0 (3.22) aplic m regula (3.8) de nmul ire a lui Hamilton: (3.21)

s1s 2 ! s1s2 0i 0 j 0k

(3.23)

n continuare nmul im ,cu aceea i regul , s1 v 2 i s 2 v1 considernd termenii produsului ca i cuaternion-scalari ,respectiv ternioni ,adic :

s1v 2 ! s1 1 0i 0 j 0k 0 a2i b2 j c2k ! ! 0 s1a2 i s1b2 j s1c2k s2 v1 ! ? , s2 a1 , s 2b1 , s2 c1 A 0Se mai calculeaz i produsul ternional v1v2 , cu regula (3.8) :

(3.24) (3.25)

0 a1 i b1 j c1 k 0 a2 i b2 j c2 k ! ! a1 a2 b1 b2 c1 c2 b1 c2 c1 b2 i c1 a2 a1 c2 j a1 b2 b1 a2 kutiliznd i rela iile (3.13).

(3.26)

n final, nsumnd (3.23), (3.24),(3.25) i (3.26) se ob ine acela i rezultat ca n (3.21).q.e.d. Observa ie : rezultatul (3.19) este acela i cu (3.26), dup cum i rezultatul (3.17) este echivalent cu (3.21). Conform (3.19) produsul a doi vectori-cuaternion (ternioni) este :

q 1q 2 ! v1 v 2 v1 v v 2Se observ c dac doi vectori sunt ortogonali v1 v 2 ! 0 i produsul cuaternional este un vector. De asemenea, este important de observat c produsul dintre un cuaternion i un vector este ,n cazul general, un cuaternion. Fiind dat un cuaternion : q ! s ai bj ck ! s v ! q?s, v A i un vector : (3.27) (3.28) (3.29)

r ! xi yj zk qr ! s ai bj ck xi yj zk ! v r v v r srparte scalar parte vectorial

n consecin , dac parte vectorial v a unui cuaternion este ortogonal cu un vector r produsul cuaternional qr este un vector r. Acest r se afl ntr-un plan care-l con ine pe r i este perpendicular pe v. n figura 3.17 se arat c ,a a cum rezult din rela ia (3.29), vectorul r ini ial este rotit n jurul lui v i alungit.

r' ! v v r s r

(3.30)

Concluzie : Un cuaternion poate fi utilizat la reprezentare unei rota ii, dac se g se te o modalitate de a se evita alungirea.

v=(a,b,c) r' r r r'

Fig.1 qr product when v r

(fig 3.17)

3.7.3. Reprezentarea rota iilor cu cuaternioni Fie un cuaternion unitate de forma :q ! cos U l sin U i m sin U j n sin U k ! ! cos U sin U u

(3.31)

unde u = [l,m,n]T este un vector unitate (versor) , adic :

l 2 m2 n2 ! 1

(3.32)

nmul ind acest vector unitate cu un vector oarecare r , perpendicular pe un altul u , se ob ine : qr ! cosU sin U u x i y j z k ! (3.33) ! sin U u v r cosU r Acest rezultat este un vector situat ntr-un plan perpendicular pe un plan ce-l con ine pe u i formeaz unghiul cu r .

Observa ie : Utilizarea produsului qr la reprezentarea rota iilor se limiteaz doar la cazurile n care u i r sunt ortogonali. Expresia reciprocei cuaternionului unitate q considerat este :q 1 ! cos U l sin U i m sin U j n sin U k ! cos 2 U sin 2 U l 2 m 2 n 2 ! cos U sin U u

(3.34) i

Reciproca lui q este egal cu conjugata sa, ntruct u este un vector unitate sin2U +cos2U = 1.

S consider m acum un alt cuaternion unitate q : q = s + v .Reciproca sa este : q-1 = s v Fie un i un vector-cuaternion arbitrar r = [0, r] i ,cu acesta, calcul m produsul cuaternional :

qrq 1 ! qr 1 qFolosind regula (3.17), calcul m nti :q r ! s v 0 r ! 0 v r s r v v r ! ! v r s r v v r

(3.35)

(3.36)

n continuare,folosind tot regula (3.17) :

qr q 1 ! v r s r v v r s v ! ! sv r s r v v r v ss r v v r v r v sr v v r v v ! ! sv r srv v v r v s 2r sv v r v r v s r v v v v r v vn aceast ultim rela ie se observ c :

(3.37)

sv r sr v ! 0

v v r v ! 0 - orthogonal vectors product sv v r ! sr v v v v r v v ! v v v v r Astfel :

(3.38)

qr q 1 ! s 2r 2s v v r v r v v v v v r ! ! s 2 r 2 sv v r v r v 2?v v v v r A v v v v r

(3.39)

Aplicnd regula lui Gibbs de transformare a produsului vectorial n produs scalar a doi vectori :

v v v v r ! v r v v v rOb inem :

(3.40)

qr q 1 ! s 2 r 2sv v r v r v 2 v v v v r v r v v 2 r ! 2 v 2 2 sv v r 2 v v v v r s rntuct q este un cuaternion unitate, s2+v2=1, se ob ine n final : qrq 1 ! r 2 sv v r 2 v v v v r

(3.41)

(3.42)

Se poate demonstra acum c , dac q este un cuaternion unitate de forma :

q ! cos U l sin U i m sin U j n sin U k ! ! cos U sin U u

(3.43)

cu sin2U +cos2U = 1 , rela ia (3.42) exprim rota ia unui vector r f r nici o alungire. Pentru aceasta, se consider un cuaternion cu forma anume aleas :

q ! cos

U U sin u 2 2

(3.44)

unde : u ! li mj nk este un vector unitate, adic l 2 + m2 + n2 = 1 Utiliznd acest cuaternion, rela ia : (3.45) exprim rota ia oric rui vector r n jurul axei de versor u cu un unghi .u r'

qrq-1

r o Fig.2 Rotation of r vector about v by angle

(fig. 3.18)

Observa ie : Prin utilizarea cuaternionului de forma particular

U U sin u 2 2 -1 , au fost eliminate att condi ia de ortogonalitae dintre r si a produsului qrq i u ct i alungirea ce se producea ini ial. q ! cos Exemplu : O rota ie cu 90r n jurul axei carteziene k ,urmat de o rota ie cu 90r n jurul axei j se poate reprezenta cu produsul cuaternional

q 1q 2 ! cos 45r j sin 45r cos 45r k sin 45rAlicnd regula (3.17) de nmul ire a cuaternionilor :

(3.46)

q1q 2 ! s1 s2 v 1 v 2 s 2 v 1 s1 v 2 v 1 v v 2se ob ine :

q 1q 2 ! cos 45r cos 45r 0 cos 45r sin 45r j cos 45r sin 45rk sin 2 45r i ! ! ! 2 2 2 2 2 2 1 0 j k i! 2 2 2 2 2 2 2 1 i j k 1 i j k 3 ! ! 2 2 2 2 3 i jk 3 i jk sin 60r p Rot ,120r 3

(3.47)

! cos 60r

Rezult , astfel, o rota ie cu 120r n jurul unei axe egal nclinat cu cte 54r 44 8 n raport cu fiecare dintre axele i, j, k . 3.7.4. Reprezentarea matricial a rota iilor folosind cuaternioni Fiind un vector cu patru dimensiuni, cuaternionul poate fi reprezentat i n form matricial :

v q! sunde v este vectorul n spa iul tridimensional, iar s este scalarul.

(3.48)

Respectnd regulile (3.8) i (3.17), mai ales, produsul cuaternional se define te matricial cu :

s v s v v1 v v 2 q1q 2 ! 2 1 1 2 s1 s 2 v1 v 2 Cuaternionul unitate : U U q ! cos sin u 2 2 u ! li mj nk cu vectorrul unde l 2 + m2 + n2 = 1 U i cu scalarul s ! cos 2

(3.49)

(3.50)

se scrie n forma (3.48) astfel :U l sin 2 a U v ! b ! m sin 2 c U n sin 2

i: l u ! m ! ? m nAT l n l 2 m2 n2 ! 1

(3.51)

Cu acest cuaternion se poate calcula vectorul r ob inut prin rotirea unui vector r n jurul unei axe (, de vesor u, cu unghiul U.

( )

z1 k1i O

z ru k j r'

j

II( ) 1

y1y

i1x

x1(fig.3.19)

Fig.3 Rotation of r vector and of the coordinate frame

Conform rela iei (3.45) ,vectorul rotit se calculeaz cu :

r ' 0 ! q

r 1 0 q

(3.52)

unde membrul drept al rela iei este constituit din produsul cuaternional scris n form matricial . n figura nr.3.19 este reprezentat i rota ia sistemului de coordonate fix xOyz n jurul unei axe paralele cu (, cu acela i unghi U . Sitemul de axe rotit este x1Oy1z1. Observa ie : componentele vectorului r n raport cu axele x1Oy1z1 sunt acelea i cu proiec iile vectorului r dup axele xOyz ,ntruct rota ia n jurul axei ( nu le modific .Astfel :r'xOyz r'x1Oy1 z1 1 !q q 0 0

(3.53)

A a cum s-a v zut n rela ia (3.42) produsul qrq-1 nu are parte scalar .La fel, ambii membrii ai ecua iei de mai sus (3.53) au scalarul nul. nlocuind q i q-1 cu valorile lor particulare se aujunge, efectund un calcul laborios, la o form ce poate fi scis astfel :

r ' xOyz ! R v r ' x1Oy1 z1

(3.54)

unde R este o matrice 3v3 care poate fi privit ca fiind echivalent cu o matrice de rota ie Rot(u,U). Detaliind calculele pentru Rot(u,U) se ob ine forma ce o not m cu (3.55) : Rot u, U ! cos U l 2 cos U 1 ! lm cos U n sin U 1 nl cos U m sin U 1 lm cos U n sin U nl cos U m sin U 1 1 cos U m 2 cos U mn cos U l sin U 1 1 mn cos U l sin U cos U n 2 cos U 1 1

Observa ie : Calculele ce se efectueaz pentru a ajunge de la forma (3.53) la forma (3.54) demonstreaz faptul c produsul qrq-1 , utiliznd forma particular (3.51 )

pentru cuaternionul unitate q, reprezint o rota ie de unghi unei axe de versor u .

a unui vector, n jurul

De regul , in literatura de specialitate se folose te o alt form de reprezentare pentru Rot(u,U) : Din rela ia (3.51) avem c elementele cuaternionului

q?s, v A! qs, a, b, c

(3.56)

sunt :

U 2 U a ! l sin 2 U b ! m sin 2 U c ! n sin 2 s ! cos

(3.57)

Se urm re te ca expresia (3.55) s se scrie numai utilznd s, a, b i c .De pild : U U cosU l 2 cosU ! cos 2 sin 2 1 2 2 U U l 2 1 cos 2 sin 2 ! 2 2 U U U ! cos 2 sin 2 l 2 1 cos 2 2 2 2 U l 2 sin 2 1 1 ! 2 U U U (3.58) ! cos 2 sin 2 l 2 sin 2 2 2 2 U U U l 2 sin 2 1 cos 2 sin 2 ! 2 2 2 U U ! 2 cos 2 2l 2 sin 2 1 ! 2s 2 2a 2 1 2 2

Efectund toate calculele se ob ine in final :

2 a 2 s 2 1 2ab cs 2ac bs Rotu,U ! 2ab cs 2 b 2 s 2 1 2bc as 2ac bs 2bc as 2 c 2 s 2 1

(3.59)

unde a 2 b 2 c 2 s 2 ! 1 i sunt numi i parametrii Euler . Rezumat : Dac se utilizeaz un cuaternion de forma :

q ! s ai bj ck ! cos m sincu

U U l sin i 2 2(3.50)

U U j n sin k 2 2

l 2 m2 n2 ! 1

Produsul cuaternional qrq-1 este echivalent cu o rota ie ce poate fi exprimat forma : 2 a 2 s 2 1 2ab cs 2ac bs Rotu,U ! 2ab cs 2 b 2 s 2 1 2bc as 2ac bs 2bc as 2 c 2 s 2 1

i sub

(3.59)

sau (3.55) :

Rot u, U ! cos U l 2 cos U 1 ! lm cos U n sin U 1 nl cos U m sin U 1 1 1 lm cos U n sin U nl cos U m sin U cos U m 2 cos U mn cos U l sin U 1 1 1 1 mn cos U l sin U cos U n 2 cos U

3.7.5. Determinarea elementelor unui cuaternion pentru o matrice de rota ie dat

n cele de mai sus s-a prezentat modul n care se pot calcula elementele unei matrici de rota ie echivalente, pornind de la elementele unui cuaternion unitate folosit pentru a reprezenta o aceea i rota ie.Este ns la fel de important de ar tat i modul de echivalare n sens invers. Astfel,fiind dat o matrice de rota ie 3v3 ,n forma general :

a11 a 21 a31

a12 a 22 a32

a13 a 23 a33

(3.60)

se pune problema de a calcula elementele corespondente ale cuaternionului ; q ! cos U U U U l sin i m sin j n sin k 2 2 2 2

(3.50)

Acestea se ob in egalnd (3.60) = (3.55) : a11 a12 a 21 a22 a31 a32 a13 a23 ! a33 1 lm cos U n sin U cos U m 2 cos U 1 1 mn cos U l sin U 1 nl cos U m sin U 1 mn cos U l sin U cos U n 2 cos U 1 (3.61)

cos U l 2 cos U 1 ! lm cos U n sin U 1 nl cos U m sin U 1

Din aceast egalitate se ob ine :a11 a 22 a33 ! 3 cosU l 2 m 2 n 2 cosU 1

(3.61.1)

ntruct l 2 m 2 n 2 trebuie s fie 1 :

a11 a 22 a33 ! 1 2 cosU cosU !n continuare urmeaz :

(3.61.1b) (3.62)

1 a11 a22 a33 1 2

a32 a 23 ! sl sin U a13 a31 ! 2m sin U a21 a12 ! 2n sin URidicnd la patrat i adunnd :

(3.61.2) (3.61.3) (3.61.4)

sin U ! s

1 2

a31 a23 2 a13 a31 2 a21 a12 2

(3.63)

Solu ia pozitiv a ecua iei corespunde unei rota ii de unghi pozitiv U e 180r, iar solu ia negativ nseamn U > 180r. De obicei se consider U e 180r. Cu scopul de a se ob ine o mai bun precizie n calcul i pentru a se evita degener ri ale mecanismelor ,unghiul nu se calculeaz din ecua iile (3.62) i (3.63) ci se folose te o nota ie intermediar t :

t!

a32 a23 2 a13 a31 2 a21 a12 2a11 a 22 a33 1

(3.64)

Cu aceasta se ob ine :

a tan t a tan t T U ! T 2 0

for cosU " 0 for cosU 0 for cosU ! 0 for cosU ! 1(3.65)

Dac

1 0 0 U = 0 se ob ine matricea 0 1 0 0 0 1

i nu este definit vreun cuaternion

echivalent. Nici parametrii l , m i n nu se calculeaz din ecua iile (3.61) deoarece n cazurile in care are valori apropiate de 180r sau 0r se ob ine o acurate e sc zut . De aceea se continu calculul egalnd termenii diagonalelor principale ale celor dou matrici :

1 a11 ! l 2 cos U cos U a22 ! m 2 cos U cos U 1

(3.66.1) (3.66.2) (3.66.3)

a33 ! n 2 cosU cosU 1Se ob ine n final :l!s a11 cosU a cosU ; ; m ! s 22 1 cosU 1 cosU

a cosU n ! s 33 1 cosU

(3.67)

Considernd cazul sinU > 0 , parametrii l , m , n vor avea semnul acela i cu cel al diferen elor dintre termenii aferen i din membrul stng ai ecua iilor (3.61). Astfel : l >0 dac dac

l

0

a32 a 23 " 0 a32 a 23 0

.a.m.d.

Se calculeaz nti valorile (3.67) pentru l, m, n i se g se te care dintre acestea are cea mai mare valoare absolut . Pentru a se ob ine cea mai bun acurate e, calculul se continu dup cum urmeaz :

a 21 a12 ! 2lm cosU 1

(3.68.1) (3.68.2) (3.68.3)

a31 a13 ! 2nl cos U 1a32 a23 ! 2mn cos U 1

Dac l are cea mai mare valoare absolut valorile lui m i n se calculeaz cu :a21 a12 2l cosU 1

m!

n!

a31 a13 2l cos U 1

(3.69)

Dac m are cea mai mare valoare absolut :

l!

a21 a12 2m cos U 1

n!

a32 a23 2m cosU 1

(3.70)

Dac n are cea mai mare valoare absolut :

l!

a31 a13 2n cos U 1

m!

a32 a23 2n cos U 1

(3.71)

3.7.6. Cuaternionii i unghiurile Euler Dupa cum s-a ar tat , cuaternionul de forma particular :

U U sin u (3.44) 2 2 se utilizeaz pentru a reprezenta rotirea unui vector r n jurul unei axe de versor u cu un unghi , calculnd produsul cuaternional qrq-1 . q ! cosDac u este chiar chiar versorul axei Ox al unui sistem de coordonate, adic u = i, atunci cuaternionul (3.44) devine : U U q x ! cos sin i (3.44.1) 2 2 Acest cuaternion poate fi utilizat la reprezentarea rota iilor n jurul axei Ox a unui sitem de coordonate. n mod analog cuaternionii :

q y ! cos

U U sin j 2 2

(3.44.2)

U U sin k (3.44.3) 2 2 sunt cei care se folosesc pentru a reprezenta rota iile n jurul axelor Oy respectiv Oz. q z ! cosn acela i timp, n produsul cuaternional qrq-1 r este un vector arbitrar. Acesta poate fi i unul dintre versorii i, j, k ai axelor unui sitem de coordonate xOyz. De aceea in figura nr. 3.19 se prezint al turi de rota ia vectorului r i rota iile axelor sistemului de coordonate. De aici rezult o foarte important concluzie : Matricile (3.55) i (3.59) Rot (u,U ) pot reprezenta totodat i rota iile axelor sistemului de coordonate xOyz n jurul unei axe ( paralele cu ) de versor u cu un unghi . Rota ia complet (orientarea) axelor unui sistem de coordonate se ob ine prin trei rota ii succesive, de unghiuri Euler, definite fie n raport cu axele sistemului de coordonate fix, fie n raport cu sistemul de axe rotit. Astfel, ntre matricea compus Euler (E,F,K ) i matricile (3.55) sau (3.59) trebuie s fie o egalitate. Observa ie : Din acest motiv elementele matricii (3.59) sunt numite parametrii Euler. Cu aceste considera ii, s exprim m cazul sitemului de unghiuri Euler de spe a I (sau unghiurile Euler Z-X-Z ) folosind cuaternioni.Cei trei cuaternioni unitate care vor exprima cele trei rota ii succesive de unghiuri J, U, respectiv], sunt :

J J sin k 2 2 U U qU ! cos sin i 2 2 ] ] q] ! cos sin k 2 2 qJ ! cos

(3.72)

Nu trebuie sc pat din vedere faptul c , dac rota iile se exprim n raport cu axele sistemului de coordonate care se rote te ele se efectueaz n ordinea Rot (z,J ), Rot (x1,U ), Rot (z2,] ). Dac rota iile se exprim n raport cu axele sistemului fix de

coordonate ele trebuie efectuate n succesiune invers , adic Rot (z ,] ), Rot (x,U ), Rot (z,J ). Pentru simplicitate se va considera acest al doile caz.

(fig.3.20)

Ca exerci iu se va utiliza reprezentarea matricial a cuaternionilor.

T ] cos 2 T U U 0 0 cos qU ! sin 2 2 T J J cos qJ ! 0 0 sin 2 2 ] q] ! 0 0 sin 2 Prima rota ie n jurul oric ruia dintre versorii i, j , k este dat de r1 ! q] r q]1

(3.73)

(3.74)

Cea de a doua rota ie se exprim cu :

r2 ! qU r1 qU 1 ! qU q] r q]1 qU 1

?

A

(3.75)

n final, cea de a treia rota ie este dat de :

r3 ! qJ qU q] r q]1 qU 1 qJ 1

? ?

A A

(3.76)

ntruct produsul cuaternional este asociativ, se poate scrie : r3 ! qJ qU q] r q]1qU 1qJ 1

(3.77)

sau :1 r3 ! q Euler rq Euler

(3.78)

unde s-a notat cu q Euler produsul cuaternional final : (3.79) nlocuind valorile elementelor cuaternionului unitate (3.72) i utiliznd regula (3.49) de efectuare a produsului cuaternional n forma matricial se ob ine, dup efectuarea calculelor :

q Euler ! qJ qU q]

q Euler

] J U sin cos 2 2 U ] J sin sin 2 2 ! cos U sin ] J 2 2 U ] J cos cos 2 2

(3.80)

sau :

q Euler ! cos

U ] J U ] J i cos sin cos 2 2 2 2 U ] J U ] J j cos sin k sin sin 2 2 2 2

(3.81)

unde termenii :

U ] J cos 2 2 U ] J a ! sin cos 2 2 U ] J b ! sin sin 2 2 U ] J c ! cos sin 2 2 s ! cos

(3.82)

sunt a a numi ii parametrii Rodriguez-Hamilton, componentele cuaternionului echivalent pentru unghiurile Euler. Desigur c i n acest caz a2 + b2 + c2 +s2 = 1. Observa ie : Trebuie semnalat deosebirea dintre semnifica iile lui utilizat n U U expresiile q cos 2 , sin 2 u (3.44) , Rot (u,U ) (3.55) , respectiv unghiul Euler din qEuler (3.80). Dac se face o compara ie ntre reprezentarea orient rilor cu cuaternioni i cea clasic cu unghiuri Euler de spe a I : A. n reprezentarea cu cuaternioni se utilizeaz matricea qEuler :] J U sin 2 cos 2 U ] J sin sin 2 2 ! cos U sin ] J 2 2 U ] J cos cos 2 2

q Euler

(3.80)

i se efectueaz produsul cuaternional :1 r * ! q Euler r q Euler

(3.53)

scris n form matricial . b. Modul clasic de reprezentare este acela de a utiliza matricile de rota ie cu unghiuri Euler de spe a I , (3.83) :

Euler ,U ,] ! J cos J cos] sin J cosU sin ] ! sin J cos] cos J cos U sin ] sin U sin] cos J sin ] sin J cosU cos] sin J sin ] cos J cos U cos] sin U cos] sin J sin U cos J sin U cosU

i cu aceasta se efectueaz produsul matricial :

r * ! Euler , U ,] v r Junde r este , n ambele cazuri , unul dintre versorii i, j , k.

(3.84)

3.7.7.Analiz comparativ ntre volumul de calcule aferent utiliz rii transform rilor omogene, respectiv a perechilor vector- cuaternion.

Cea mai des utilizat metod de reprezentare a transform rilor spa iale este aceea de a utiliza transform rile omogene, adic a matricilor cu 4v4 elemente reale.Acest mod de reprezentare a fost pentru prima oar utilizat de Denavit-Hartemberg, iar n robotic a fost introdus de R.P.Paul. Tranform rile omogene sunt mai bine cunoscute i prezint avantajul utiliz rii lor facile i eficiente pe calculator. Situarea (pozi ia i orientarea) se exprim cu matrice transformare T :

n x n y T! n z 0

ox oy oz 0

ax ay az 0

px py pz 1

(3.1)

notat n form restrns T = [n o a p].Acest tip de matrici con in termeni redundan i pentru reprezentarea a ase grade de libertate independente.Ultima linie a matricii con ine chiar numai 0-uri i 1. O astfel de redundan implic un surplus nejustificat de volum de memorie i un timp de calcul crescut. Cu toate aceste dezavantaje, reprezentarea cu matrici continu s r mn cea mai frecvent alegere n aplica iile din robotic Cuaternionii au fost intridu i n matematic de Hamilton,iar n robotic de Taylor. Funda, Taylor i Paul au pus i problema de a g si o alternativ cuaternional pentru reprezent rile cu matrici de tip T, denumindu-le perechi cuaternion-vector. Folosind un cuaternion unitate q de forma : U U q ! ?s, v A! cos , sin u 2 2 o pereche cuaternion-vector reprezentnd o rota ie q forma : Q = (q,p) (3.44) i o transla ie p se scrie n (3.85)

O astfel de entitate se memoreaz n calculator ca o tiplet (s,v,p),necesitnd memorarea a apte numere reale. Numero i autori sunt de p rere c reprezentarea rota iilor n spa iul tridimensional utiliznd cuaternioni spore te eficien a calculelor. Cu privire la timpul de calcul sunt i publicate analize comparative ntre metoda de reprezentare matricial i cea care utilizeaz cuaternioni. a).Reprezent ri interne i termeni de compara ie n evaluarea avantajelor relative ale diferitelor metode de reprezentare trebuie avute n vedere att gradul n care datele necesare pot fi compactate, precum i eficien a n efectuarea calculelor aferente opera iilor de baz . Determinant se consider , de regul , timpul de calcul. M surat cu num rul de cicluri ma in ale unit ii centrale a procesorului, timpul de calcul cre te dac gradul de

compactare al datelor este sc zut, datorit cre terii duratei necesare pentru transferarea unui operand din/ n memorie. n cazul utiliz rii perechilor vector-cuaternion Q = (q,p) este necesar memorarea a apte variabile reale. O transformare T = [n o a p] con ine un num r semnificativ de termani redundan i. De aceea reprezentarea ei poate fi compactat : Submatricea de rota ie con ine trei vectori ortogonali n, o, a i se procedeaz numai la memorarea elementelor aferente lui o i a.Elementele lui n se calculeaz efectund produsul vectorial n = o v a. Astfel, sunt memorate n mod explicit numai elementele tripletei de vectori (o, a, p) i, ori de cte ori este necesar matricea T, n se recalculeaz .Sequential Execution T * 15 33 15 30 45 63 45 + 12 24 9 16 28 40 25 0 0 0 2 2 2 2 * 15 31 15 8 23 39 23 Parallel Execution T 0 0 0 1 1 1 1 PEs 9 24 6 6 9 24 6 cyc 4 4 5 12 16 16 17

Operation Spatial Trans Composition Inverse Normalization Spatial Trans Composition Inverse

Norm

Q + 15 27 12 3 18 30 15

Q

PEs cyc 9 6 22 6 9 5 4 5 9 11 22 11 9 10

Tabelul I prezint o compara ie n ceea ce prive te timpii de calcul aferen i opera iilor efectuate utiliznd transform rile omogene ,respectiv cuaternionii la :tranformarea spa ial a unui vector, compunerea a doi vectori i calculul inversei unui operator spa ial. Observa ii : a.Simbolul din coloana Norma indic faptul c nu este inclus timpul de calcul pentru a calculula apriori norma. b. Simbolul are semnifica ia c timpul de calcul aferent calcul rii normei a fost inclus n timpul de calcul total aferent efectu rii opera iei. c. PE semnific num rul de elemente care sunt procesate, iar cyc este num rul de cicluri de ma in . d. Simbolurile * , + , au semnifica ia principalelor opera ii matematice. e. n tabel sunt indica i timpii de calcul att pentru cazul proces rii secven iale, ct i pentru cazul proces rii paralele.

b).Rezumatul compara iei cu privire la timpul de calcul Din tabelul I cele dou modalit i de reprezentare sunt echivalente n ceea ce prive te calculul,n modul de lucru secven ial i dac nu este necesar calculul normei. Observa ie : prin secven ial se n elege aici calculul cu un singur procesor. n cazul modului de procesare paralel , i f r utilizarea normei, calculul este mai rapid folosind transform ri omogene.Dac ns este necesar i calculul normei, utilizarea perechilor cuaternion-vector este mai eficient . Avnd ns n vedere faptul c norma unui cuaternion se calculeaz relativ rapid, calculul matricilor omogene de rota ie necesit un efort mai mare de calcul. Cu toate c diferen a dintre cele dou moduri de reprezentare, n ceea ce prive te eficien a n efectuarea calculelor, nu este semnificativ , perechile cuaternion-vector au nevoie de un volum de memorie mai restrns. Transferul de date din/ n memorie se face cu o important economie de cicluri ma in la execu ia n timp real.

3.8.Integrarea cu senzorii, sarcin fundamental n leg tura cu modelarea mediului (sensor integration) n modelarea mediului un aspect deosebit de important este acela al interac iunii hardware i software cu diver i senzori amplasa i pe robot sau n mediu de la care se culeg informa ii cu care se complecteaz modelul mediului. Informa iile de la senzori se culeg n general prin monitorizare ( polling se traduce cu urm rirea st rilor de la senzori ntr-un mod invizibil pentru programul principal ). Un senzor transmite o informa ie electric un semnal logic de 1 sau 0 semnal care este citit pe linie de intrare a caLculatorului i apoi se interpreteaz prin program starea citit . Citirea i interpretarea se execut n paralel cu execu ia programului principal. Exist situa ii n care n programul principal sunt incluse instruc iuni specifice pentru declan area de ac iuni n func ie de o anumit stare citit la un moment dat de la un anumit senzor. n func ie de rezultatul prelucrat din informa iile furnizate de senzori, programul principal execut opera ii de tipul dac .atunci.altfel (if...then...else).

Cel mai frecvent cita i pentru robo i sunt senzorii de vedere, de gabarit, de proximitate, de for -moment.

3.8.1. No iuni fundamentale despre Sistemul de Achizi ii de Date(SAD) La utilizarea curent a unui calculator personal achizi ia de date se realizeaz direct la intr rile acestuia : - prin portul serial ,utiliznd interfe e de tip RS 232, RS 485 .a. - prin portul paralel; - pe magistralele intrare-ie ire standard ca USB,ISA,PC MCIA. Observa ii : Prin magistral se n elege un set de conductori de leg tur pe care se transmit informa ii care au sursa i destina ia comune la un moment dat. Prin port se n elege un set de conexiuni electrice care face leg tura ntre dou sisteme distincte. La un calculator uzual prin conexiunile cu exteriorul se asigur dialogul cu dispozitivele ce sunt absolut necesare la utilizarea sa (tastatura,display-ul,mouseul,etc.).Dac ns calculatorul este utilizat la conducerea unui proces,mai ales n cazul proceselor complexe, trebuie achizi ionate multe sau chiar foarte multe date i trebuie utilizat un SAD. n figura 3.21 se prezint schema bloc a unui SAD.

Fig.nr.3.21.Schema bloc a unui SAD

Un SAD (fig. 3.21) se compune din urm toarele blocuri : senzori i traductoare; blocul de formatare a semnalelor; placa SAD; calculator; pachetul software.

Rolul SAD este de a gestiona schimbul de informa ii dintre senzori/traductoare i calculator: preia informa iile de la senzori i traductoare , le transmite c tre calculator n forma i la momentele potrivite,transmite comenzile de la calculator c tre senzori i traductoare,asigur alimentatrea senzorilor (dac este cazul).SAD este coordonatorul sistemului de percep ie din sistemul robot.

3.8.2. Senzori,traductoare i formatarea semnalelor (fig.3.21)

Observa ie: n ceea ce prive te denumirile senzor i traductor, se constat o neconcordan n utilizarea acestora la autori diferi i.n robotic se consider c dispozitivele care transmit informa ii cu privire la parametrii cinematici ai mi c rilor (pozi ii ,viteze,accelera ii) sunt traductoare, iar toate celelalte sunt numite senzori (de gabarit, de apropiere,tactili,de alunecare etc.) 3.8.3. Blocul formator al semnalelor Includerea acestui bloc n structura unui SAD ( fig.3.21) este absolut necesar pentru a asigura urm toarele func iuni : a. Amplificarea semnalele culese de la senzori i traductoare sunt , n majoritatea lor, semnale de mic amplitudine,mai ales dac varia ia m rimii urm rite este mic . De cele mai multe ori amplitudinea acestor semnale trebuie m rit pentru a fi apoi prelucrat . b. Izolarea n toate aplica iile se procedeaz la separarea galvanic (izolare electric ) ntre circuitele de comand ( de curen i slabi ) i circuitele de putere (de

curen i tari), n general ntre circuitele ce func ioneaz nemijlocit n proces i cele de comand .Izolarea este necesar pentru c senzorii i traductoarele sunt amplasate pe partea de proces unde pot exista tensiuni/curen i mari,iar n caz de avarie ,dac nu ar exista izolare, apare pericolul de a se transmite avaria i la SAD i calculator. Izolarea galvanic se asigur prin optocuploare, transformatoare de separare sau folosind transmisia prin unde ultrasonice,radio,infraro ii.Semnalele sunt transmise de la circuitul de comand c tre cicuitele de putere din proces (sau invers ) f r leg tur electric . n figura nr.3.22 sunt prezentate dou variante de circuite care asigur separarea galvanic ntre circuite.

Fig.nr.3.22.Exemple de circuite de izolare galvanic Observa ie : Ca principiu niciodat masa de la circuitul de comand nu se leag electric la masa circuitului ce func ioneaz nemijlocit n proces. c. Multiplexarea din motive economice,ast zi nu se mai folose te cte un fir conductor pentru a transmite cte un singur semnal.Pe acela i fir se transmit,de regul mai multe semnale.Principiul utilizat este acela c fiecare semnal este transmis pe fir n momentele n care celelalte semnale nu trebuie transmise sau lipsesc.Tendin a de ast zi este de a folosi acela i fir de leg tur pentru a transmite ct mai multe semnale. Oberva ie : Dac se analizeaz foaia de catalog a oric rui microprocesor/ microcontroler existent pe pia se constat c la fiecare pin al acestora sunt indicate mai multe func iuni.Asta nseamn c un acela i pin este folosit pentru a transmite semnale diferite n momente sau situa ii diferite.

Multiplexarea se realizeaz implementndu-se chei electronice care comut accesul cte unui circuit la conductorul de leg tur n momente convenabile sau dorite. n cazul unui SAD, multiplexarea se folose te cel mai convenabil n cazul oper rii cu semnale lent variabile n timp.De pild , la monitorizarea temperaturii mai multe traductoare de temperatur sunt legate la cte un canal de intrare al blocului formator,iar placa SAD comut pe rnd fiecare canal de intrare la sistemul s u de m surare i memorare a informa iei citite. d. Filtrarea (fig.3.23) - este necesar pentru eliminarea semnalelor nedorite ce se suprapun peste semnale utile. n mediul industrial se produc multe zgomote de natur electromagnetic ,care induc n circuite semnale parazite ce se suprapun peste semnalele utile.Gama de zgomote industriale este cuprins ,obi nuit, ntre 4 Hz i 10 kHz. Filtrarea se realizeaz cu circuite i/sau tehnici de filtrare.

Fig.nr.3.23. Filtrarea unui semnal e. Excita ia exist suficiente cazuri n care senzorii/traductoarele necesit curen i i/sau tensiuni de alimentare, f r de care nu pot func iona. Sunt unele cazuri n care alimentarea se face cu tensiune continu ,respectiv alte cazuri n care tensiunea de alimentare este alternativ , cu diferite frecven e.

f. Liniarizarea - majoritatea traductoarelor au o caracteristic de tranfer (intrare-ie ire ) neliniar .Aceast neliniaritate influen eaz negativ rezultatul m sur rii.Pentru a corecta efectele de neliniaritate se procedeaz la liniarizarea caracteristicii traductoarelor nc la nivelul blocului de intrare al SAD.

3.8.4. Hardware-ul SAD Suportul hardware al unui sistem de achizi ie de date este implementat pe placa SAD ( fig.3.21) ,denumit curent placa de achizi ie. Astfel de pl ci se produc ast zi ca produse de firm . O plac SAD este ntotdeauna construit n jurul unui microprocesor/microcontroler care coordoneaz ntregul proces de achizi ie. Principalele dot ri pentru o plac SAD sunt : a. Intr ri analogice sunt pinii de intrare ai pl cii, pe care sosesc semnale cu diverse forme de vari ie n timp,cu frecven a i amplitudinea oarecare.Uneori se utilizeaz pentru acestea i denumirea de intr ri nedigitale. Avnd n vedere faptul c datele se prelucreaz , dup achizi ie, numeric (pe calculator),semnalele analogice achizi ionate trebuie s treac printr-o conversie analog-numeric .Circuitul care realizeaz conversia semnalului analogic ntr-un num r( binar) este denumit convertor analog-numeric (CAN).n figura nr.3.24. se prezint simbolul utilizat pentru reprezentarea unui CAN. Pe o plac de achizi ie se afl mai multe circuite integrate care, la rndul lor, con in fiecare mai multe canale de conversie.

Fig.nr.3.24.Simbolul CAN Calit ile intr rilor analogice se apreciaz cu c iva parametrii caracteristici,dintre care mai importan i sunt : - Domeniul de valori pe care o accept o intrare analogic . Orice astfelde intrare are o valoare maxim admis , respectiv minim acceptat , pentru

amplitudinea semnalelor analogice ce pot fi achizi ionate.Exemple de valori mai frecvent ntlnite sunt : s 5 V , s 12 V , s 24 V , 0- 220 V. Unele pl ci sunt prev zute chiar cu intr ri pentru microsemnale,adecvate achizi iei de semnale analogice de la tipurile mai noi de senzori cocepute anume ca s fie slab consumatoare de energi de alimentare. Pe traseul de transmisie a astfel de micosemnale trebuie luate m suri speciale de protec ie mpotriva zgomotelor(fire de leg tur scurte, fire torsadate , fire ecranate). - Num rul de canale o plac de achizi ie este mai performant sau nu n func ie de num rul de canale analogice de intrare disponibile. Canalele de intrare analogice pot fi de tip : - Canal singular : pe un astfel de canal poate fi transmis un singur semnal (conectat la un fir conductor); - Canal diferen ial : pe care se transmit dou semnale ( dou fire),deoarece intereseaz numai diferen a dintre cele dou semnale. Observa ie : Intr rile diferen iale sunt necesare pentru eliminarea zgomotelor; dac dou puncte apropiate, de prelevare prin semnale analogice a unei informa ii,din proces sunt afectate de zgomotul industrial, semnalul de zgomot este acela i n ambele puncte; amplificnd numai diferen a dintre cele dou semnale zgomotul este eliminat; se procedeaz astfel la rejec ia semnalului comun. - Frecven a (Rata ) de e antionare - principiul de achizi ie discret a unui semnal continual este acela c n momente dicrete se preleveaz cte un e antion din semnalul original (vezi fig.3. 25). Cu ct num rul de e antioane este mai mare semnalul achizi ionat n form discret reproduce mai fidel semnalul analogic de origine.Cu ct num rul de e antioane prelevate este mai mic cu att semnalul dicret achizi ionat este mai eronat. O plac SAD este mai performant sau nu dup cum poate achizi iona sau nu mai multe e antioane dintr-un semnal analogic de o anumit de frecven . Calitatea achizi iei este mai mare dac rata achizi iei este mai mare, iar aceasta depinde direct de viteza de lucru a procesorului pl cii. De asemenea, cu ct capacitatea memoriei de pe plac este mai mare poate fi memorat un num r mai mare de e antioane i calitatea achizi iei cre te.Evident c performan ele superioare presupun i costuri de fabrica ie mai mari.

Fig.nr. 3.25. Discretizarea unui semnal analogic - Rezolu ia n figura nr.3.26 se reprezint modul n care un semnal analogic sinusoidal este convertit ntr-un num r binar.n exemplul prezentat, prin conversie se ob ine un num r binar reprezentat pe 3 bi i.Valoarea cea mai sc zut a semnalului sinusoidal are ca i corespondent num rul binar 000,iar valoarea cea mai mare (amplitudinea) sa corespunde valorii numerice 111. Rezolu ia este valoarea analogic (exprimat n vol i de exemplu ) cu care trebuie s se schimbe semnalul analogic de intrare, pentru ca num rul binar rezultat n urma conversiei s se schimbe cu un bit. Observa ie : Cu ct num rul de bi i de reprezentare a m rimi de ie ire este mai mare rezolu ia este mai fin .

Fig.nr. 3.26. Rezolu ia la o conversie analog-nu