Pachet Programe Pentru Modelarea Si Simularea Conducerii Unui Robot cu 2 Grade de Libertate

Proiect de diplomă

Pachet programe pentru modelarea si simularea conducerii unui robot cu 2 grade de libertate

Content

1. Introducere

1.1. Introducere în robotică

1.2. Introducere în lucrare

2. Aspecte teoretice pentru modelarea și simularea conducerii unui robot cu două grade de libertate

2.1. Sisteme robotice

2.2. Sstructuri robotice

2.3. Cinematica robotului

2.3.1. Problema cinematicii directe

2.3.2. Rezolvarea problemei cinematice inverse

2.4. Conventia DENAVIT- HARTENBERG(D-H)

2.5. Problema vitezelor

2.6. Generarea Traiectoriilor

2.7. Sistem de conducere

3. Pachet software pentru modelare si simularea unui robot cu două grade de libertate

3.1. Introducere in matlab

3.2. Structura robotică cu 2 grade de libertare RR

3.2.1. Aplicarea reguli D-H

3.2.2. Cinematica directă

3.2.3. Cinematica inversă

3.2.4. Generarea traiectoriilor în spațiul articular

3.3. Utilizarea si funcționarea aplicatie

3.3.1. Înțelegerea interfeței

3.4. Funcțiile folosite in aplicație și explicarea acestora

4. Concluzii

5. Referințe

Introducere

Introducere în robotică

Robotul este un manipulator multifuncțional reprogramabil , proiectat în scopul manipulării unor obiecte , dispozitive specializate sau unelte , prin mișcări programate variate , în vederea realizării unor sarcini predefinite .

Cuvântul robot provine din latină , de la robotica , care înseamnă sclav , sau cel care face munca grea .

În acest sens a apărut robotul industrial care este un manipulator/braț robotic , acesta fiind folosit pentru automatizarea proceselor și dezvoltatea domeniilor precum exploatarea , explotarea , industria construcțiilor de mașini , întreținere și reparare de echipamente de lucru , utilizarea în laboratoare si multe ale domenii bazate pe automatizare .

Automatizarea cu ajutorul roboțiilor a inceput în 1905 , în cadrul companiei Ford Motor Company , unde 200 de muncitori sudori au fost inlocuiți cu 50 roboți . Aceștia fiind folosiți pentru vopsirea , asamblarea , debavurarea , taierea sau sudura a diferite componente . Acest fapt a determinat o creștere a producției cu 20% . Evident datorită utilizări roboțiilor s-au creat noi job-uri în crearea , instalarea , întreținerea , depanarea și programarea roboților .

Un robot / braț robotic poate avea 1 sau mai multe grade de libertate . Gradele de libertate sunt date în acest caz de numărul de articulați . Articulațiile fiind asociate cu articulațiile brațului uman , respectiv umăr , cot și încheieturi . Cu ajutorul acestor articulații robotul poate efectua mișcării de translație si rotație . De asemenea brațul poate poate fi înclinat la anumite unchiuri si poate avea diferite lungimi care pot ajuta și influența folosirea acestuia .

Clasificarea roboților

1. Din punctul de vedere al gradului de mobilitate se cunosc roboți fixi și roboți mobili.

2. După domeniul de aplicare: a) sector primar (agricultură, minerit); b) sector secundar,

producție materială (procese continue și procese discontinue); c) sector terțiar (medicină,

domeniul nuclear); d) sectoare speciale (explorări spațiale, subacvatice, etc.).

8

3. Din punct de vedere al sistemului de coordonate roboții funcționează în sistem de

coordonate carteziene (18%), cilindrice (33%), sferice (40%) și structura robotului

antropomorf.

4. Din punct de vedere al sistemului de comandă: comanda punct cu punct (unde nu

interesează traiectoria propriu-zisă); comanda multipunct (implică coordonarea mișcării

axelor); comanda pe traiectorie continuă (implică toți parametrii de mișcare).

5. Din punct de vedere al sarcinii manipulate.

6. Din punct de vedere al sistemului de acționare: hidraulică (40%), electrică (30%),

pneumatică (21%), mixtă.

7. Din punct de vedere al preciziei de poziționare.

8. Din punctul de vedere al sistemului de comandă (generație): a) roboți din generația Ia

– acești roboți sunt practic manipulatoare și roboți programabili (neadaptivi); b) roboți din

generația a II-a – roboți adaptivi; c) roboți din generația a-III-a – roboți inteligenți.

„Robotica se ocupă de cercetări fundamentale și fundamental orientate privind automatizarea operațiilor de manipulare a obiectelor în mediu industrial obișnuit, în medii inaccesibile sau greu accesibile operatorilor umani, în medicină și îngrijirea / recuperarea bolnavilor, în activități de servicii și casnice, în activități militare. Latura aplicativă a roboticii vizează: construcția, funcționarea și repararea instalațiilor pentru automatizarea operațiilor humanoide și a instalațiilor aducătoare / de evacuare; corelarea funcționarii utilajelor, mașinilor, centrelor de prelucrare cu instalații aducătoare / de evacuare și instalațiile pentru automatizarea operațiilor humanoide; conceperea proceselor de fabricație de grup flexibile automate; conceperea, construcția și implementarea sistemelor și metasistemelor de fabricație flexibilă automată (FMS, FAS, CIM); construcția și funcționarea dispozitivelor de control; diagnosticarea și repararea automată a componentelor sistemelor de fabricație automată; aplicații industriale ale inteligenței artificiale” (Prof C. Alexandru , Universitatea Oradea).

Introducere în lucrare

În acestă lucrare v-a fi prezentat , studiat și interpretat un robot cu două grade de libertate cu întreg ansamblu de mișcării și modalități de funcționare .

Astfel se va analiza cele patru opțiuni de miscare a robotului in funcție de cuplele pe care le conține , respectiv : mișcare translație-translație , mișcare translație-rotație , mișcare rotațdeie-translație și mișcare rotație-rotație .

Robotul sau brațul robotic va fi analizat din punct de vedere al cinematicii , problema vitezelor , sisteme de conducere , generarea traiectori și scheme ale robotului .

Pentru interpretarea mișcărilor , traiectoriilor , precum și modelarea și simularea unui întreg ansamblu robotic real am creat un pachet de programe cuprinse într-o interfață matlab . De asemenea vor fi explicate toate procedurile și tehnicile utilizări programului matlab .

Pentru o înțelegere mai bună a lucrări , în cele ce urmează vor fi prezentate câteva definiții referitoare la cuvinte cheie care sunt utilizare în această lucrare :

Cuplu – sistem compus din 2 forțe antiparalele

Articulație – legătură mobilă dintre corpuri solide

Translație – deplasare a unei figuri plane sau a unui corp astfel încât toate punctele acestora să aibă în orice moment viteze egale și paralele și să descrie traiectorii identice

Rotație – mișcare în jurul unui punct fix sau a unei axe , în care toate punctele rămân la aceeși distanță în timpul mișcării

Aspecte teoretice pentru modelarea și simularea conducerii unui robot cu două grade de libertate

Sisteme robotice

Sistemul poate fi acționat electric și/sau hidraulic .

Roboții, prin structura și funcțiile lor reprezintă o clasă de sisteme ce sintetizează elemente de vârf dintr-o serie de domenii tehnico – științifice. De fapt, prin atribuțiile sale robotul imită sau substituie funcțiile de locomoție, manipulare și de intelect ale omului.

Sistemul roboților corespunde brațului și mâinii umane (figura). Sistemul mecanic este constituit dintr-un lanț cinematic format din elemente rigide interconectate prin cuple de rotație sau translație care permit mișcarea lor relativă. Capătul inferior al lanțului cinematic este fixat în batiu, iar capul superior susține mâna robotului respectiv dispozitivul de prehensiune sau sculă sau gripper.

Se urmărește ca structura mecanică să asigure:

O mobilitate cât mai mare (determinat de antropomorfism); Antropomorfismul se definește ca fiind asemănarea dintre caracteristicile brațului robotic și brațul omului.

Greutate cât mai mică,

Suplețe;

Randament energetic ridicat.

Efectorul final solidarizează obiectul manipulat de un element al lanțului cinematic de ghidare.

Lanțul cinematic de ghidare realizează deplasarea efectorului final dintr-o poziție în alta, generează o anumită traiectorie în concordanță cu cerințele procesului tehnologic în care se integrează.

Controlul robutului in general functioneaza dupa următoarea schema :

Clasificarea roboților :

După domeniul de aplicație : sector

– primar : agricol , minerit

– secundar : procese

– terțiar : medicină

– special

După generație : – neadaptivi

– adaptive

– inteligenți

Dupa S.C. în care lucrează : – cartezian

– cilindric

– sferic

– altele

După metoda de conducere : – cu servocomandă : conducere continua

– fără servocomandă : open-loop

După sistemul de acționare : – electrice

– pneumatice

– hidraulice

– mixte

După gradul de mobilitate : – fixi

– mobile

Scheme robotice

Sstructuri robotice

În spațiul tridimensional un corp material are 6 grade de libertate. Deplasarea dintr-o poziție în alta, bine determinată, este posibilă prin modificarea convenabilă a tuturor celor 6 parametri scalari. Lanțul cinematic de ghidare ar trebui să aibă 6 grade de mobilitate. Lanțul cinematic de ghidare este un lanț cinematic deschis (figura 2.4). Toate părțile din care este construită structura mecanică a unui robot se consideră generică de elemente presupuse solide rigide (numerotate de la 0 la 4). Posibilitatea mișcărilor relative ale elementelor se asigură prin legăturile dintre acestea numite cuple cinematice (notate cu A; B; C și D). Se poate considera că numărul gradelor de libertate (identic cu numărul gradelor de mobilitate) este egal cu numărul cuplelor cinematice de rotație sau de translație.

Cinematica robotului

Cinematica robotului studiază analitic geometria mișcării în funcție de timp , în raport cu un sistem de referință . Cinematica poate fi de doua tipuri : directă și inversă .

Problema cinematicii directe

La cinematica directă pe baza parametrilor cinematici ai elementelor se determină poziția și orientarea elementului efector .

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 ] (1)

Variabilele articulare sunt definite astfel :

q = [ q1 , q2 , …. , qn ]T (2)

Problema cinematică directă se exprimă prin relația :

X = f(q) (3)

iar problema cinematică inversă prin relația :

q = f-1(X)

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 (4)

În cele mai multe cazuri , calculul lui „X” implică calculul matricei de transformare a endefectorului.

Utilizând triedrele și notațiile „Hartenberg-Denavit” , matricea de transformare a coordonatelor triedrului „i” în coordonate „i-1”, se definește ca fiind i-1Ti

i-1Ti = (5)

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.

La cinematica inversă se specifică o anumită poziție și orientare , și cunoscând parametri cinematici ai elementelor se determina configurația vectorului care sa atingă poziția si orientarea prescrisă .

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 cinematică inversă are soluție, ea se constituie în modelul geometric endefectorului.

Utilizând triedrele și notațiile „Hartenberg-Denavit” , matricea de transformare a coordonatelor triedrului „i” în coordonate „i-1”, se definește ca fiind i-1Ti

i-1Ti = (5)

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.

La cinematica inversă se specifică o anumită poziție și orientare , și cunoscând parametri cinematici ai elementelor se determina configurația vectorului care sa atingă poziția si orientarea prescrisă .

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 cinematică 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ă metodă este metoda Newton-Raphson.

Există o varietate de metode de rezolvare a problemei cinematice inverse ( Pieper 68 , Paul 81 , Lee 83 , Elgazaar 85 , Pieper și Khalil 88 ).

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,q3”.

Un alt avantaj al structurii decuplate este că permite disocierea și tratarea separată a poziționării și a orientării.

Mai există și alte metode, ca cea a lui „Lee și Elgazaar” care însă nu au un mare grad de generalitate și nu suportă generalizari.

Spunem că un robot are soluție la problema cinematică inversă dacă putem să-i calculãm toate configurațiile care permit atingerea unei poziții date.

Nu toate mecanismele articulate satisfac aceasta 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ă doua 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 numărului de soluții existã trei cazuri :

I. Problema cinematică inversă nu are soluții, ca în cazul când ținta se află în afara spațiului de lucru al robotului.

II. Problema cinematică inversă are o infinitate de soluții atunci când :

robotul este redundant vis a vis de misiunea încredințată;

robotul se află într-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 fară ambiguitate. Numărul 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.

Numarul de soluții mai depinde și de marimea curselor articulațiilor.

Rezolvarea problemei cinematice inverse

Fie un robot industrial a cărui matrice de transformare omogenă are expresia :

0Tn = 0T11T2…..n-1Tn (15)

Vom nota

U0 = 0T11T2……n-1Tn (16)

unde U0 = (17)

Matricea „U0” face parte din datele inițiale ale problemei. Ea descrie poziția finală pe care endefectorul trebuie să o atingă.

Rezolvarea problemei cinematice inverse constă în determinarea variabilelor articulare pornind de la relația (1.15) , în funcție de „s , n , a și P”.

Conventia DENAVIT- HARTENBERG(D-H)

simplifica modul in care se determina ecuatia sistemului , descrie translatia si rotatia intre elementele adiacente , permite determinarea matricei = =

1. Se numeroteaza cuplele cinematice de la 1 la n , începând de la bază și finalizând la efectorul final , cupla i se gaseste între elementele i și i-1

2. Se fixează axele ale sistemului , unde i=0,n-i după direcțiile axelor cuplelor cinematice i+1

3. Se fixează sistemul atașat bazzei : originea se fixează oriunde de-a lungul axei , axele , se aleg astfel încât să avem un sistem drept

4. Originea se fixează în punctul de intersecție al axelor cu , ( )={ } ,

dacă , atunci punctul se fixează la intersecția axei cu normala comună a ,

5. Axa se alege astefel încât să fie perpendiculară pe ;

dacă , se alege astefel încât să se îndepărteze de

6. Axa y se alege după RHR (regula mâinii drepte)

7. Se alege , atașat efectorului final ,

se alege pentru cel mai semnificativ punct al griperului , de obicei ultima cuplă e de rotație : se alege în lungul , se alege pe direcția de închidere a griperului , axa se alege astfel încât sistemul să fie drept

8. Se formează matricea omogenă = ;

()T

()R

9.*…..Raportează coordonatele unui punct din în

Problema vitezelor

Viteza unghiulară și accelerația elementului "i"  se calculează cu relatiile :

            wi =                           

wi =       

Pentru:

 i=1,2,.,n,

unde:

wo si wo sunt vitezele unghiulare si acceleratiile bazei. in scopul reducerii complexitatii calculelor, toti vectorii  corespunzatori elementului "i" se vor exprima in functie de coordonatele sistemului "i".

Astfel vitezele si acceleratiile unghiulare se vor exprima cu ajutorul urmatoarelor formule :

QiT[wi-1]i-1 + i[ei]i, daca cupla cinematica "i" este "R"

[wi]i = QiT[wi-1]i-1, daca cupla cinematica "i"este "T"                           

QiT[wi-1]i-1 + [wi x iei + iei]i , daca cupla cinematica "i" este  "R"

            [wi]i = QiT[wi-1]i-1 , daca cupla  cinematica "i"este "T"                          

Daca sistemul de referinta inertial este ales cel al bazei, atunci:

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

Conve

Generarea Traiectoriilor

Miscarile unei articulați ale robotului pot fi de translație sau rotatie .

Roboții industriali realizează trei mari grupe de operații :

– deplasări pure;

– eforturi statice pure;

– sarcini complexe rezultate din combinarea deplasărilor și a eforturilor.

În cele ce urmează va fi analizată numai prima categorie de operații, deplasarile pure.

În timpul unei deplasări un robot trebuie să parcurgă o anumită traiectorie după o anumită lege orară. Această traiectorie este definită prin pozițiile și orientările 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ă.

Traiectoria endefectorului se realizează prin compunerea mișcării tuturor gradelor de libertate.

Practic, mișcarea endefectorului se descompune în mișcări ale gradelor de libertate, pozițiilor inițiale și finale ale endefectorului din spațiul coordonatelor operaționale le corespund poziții în spațiul coordonatelor articulare.

Generarea mișcării la nivelul unui grad de libertate se poate realiza în două moduri :

1) În coordonate articulare (interne).

2) În coordonate operaționale (externe).

1) În 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.

2) Generarea mișcării la nivelul unui grad de libertate î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 modalitățile de generare a mișcării între doua puncte există:

a) Deplasarea între două puncte din spațiul de lucru al robotului, fără a i se impune nici o restricție. În 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 evitarii 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 impuse.

În 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șcarii î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șcarea 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 elecetrice, hidraulice, etc.). În 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 traiectoriei dar are și unele dezavantaje, cum ar fi:

– este necesară în permanență conversia coordonatelor din spațiul operațional în cel al articulațiilor, „on line”;

– metoda nu se poate aplica în cazul punctelor singulare sau a celor care nu aparțin spațiului de lucru al robotului;

– limitele de viteză și cuplu fiind definite în spațiul articulatiilior, nu se pot utiliza direct în cel operational. În 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.

Sistem de conducere

Roboții, prin structura și funcțiile lor reprezintă o clasă de sisteme ce sintetizează elemente de vârf dintr-o serie de domenii tehnico – științifice. De fapt, prin atribuțiile sale robotul imită sau substituie funcțiile de locomoție, manipulare și de intelect ale omului. Este evident, deci, că robotul reprezintă un sistem extrem de complex, descris prin modele matematice sofisticate definite prin sisteme de ecuații diferențiale neliniare, cu parametrii variabili, deterministe sau stohastice, cuprinzând un număr mare de variabile de intrare și ieșire.

Funcția de bază a robotului este reprezentată de mișcarea acestuia în spațiu, deci regimurile statice și dinamice ale structurii mecanice vor reprezenta punctul de plecare în definirea robotului ca obiect de conducere.

Analiza ca obiect condus impune, totodată, definirea vectorului de stare al robotului. În general, acest vector este determinat de coordonatele generalizate stabilite în articulații (unghiuri sau deplasări) și de derivatele acestora (vitezele generalizate ale mișcării). Relațiile intrare – stare – ieșire specifice robotului sunt date prin ecuații diferențiale, neliniare, obținute pe baza regimurilor dinamice ale acestuia

Măsurarea informațiilor de deplasare precum și toate celelalte date care restricționează mișcarea în spațiul de operare este realizată într-un bloc senzorial. El este format practic din sisteme de traductoare specializate pentru măsurători unghiulare sau liniare precum și din senzori specializați de tip tactil, de forță – moment sau vizuali care oferă robotului o mai completă adaptabilitatea la modificările mediului de operare.

Pachet software pentru modelare si simularea unui robot cu două grade de libertate

Introducere in matlab

MATLAB(de la Matrix Laboratory) este un mediu de dezvoltare pentru calcul numeric si analiză statistică care conține limbajul de programare cu acelaș nume, creat de MathWorks. MATLAB permite manipularea matricilor, vizualizarea funcțiilor, implementarea algoritmilor, crearea de interfețe si poate interacționa cu alte aplicații. Chiar daca e specializat in calcul numeric, exista pachete [2] care îi permit sa interacționeze cu motoarele de calcul simbolic gen Maple. Un pachet adițional, Simulink, oferă posibilitatea de a realiza simulări ale sistemelor dinamice și îmbarcate utilizând modele matematice. MATLAB e utilizat pe larg in industrie, în universitați și e disponibil cross-platform, sub diverse sisteme de operare: Windows, GNU/Linux, UNIX și Mac OS

Limbajul MATLAB este un limbaj matrice/vector de înalt nivel ce include instrucțiuni de control al buclelor, funcții, structuri de date, comenzi de intrare/ieșire și instrucțiuni de programare orientată pe obiecte. Limbajul MATLAB permite atât ”programarea superficială” pentru crearea rapidă a unor mici programe de calcul specifice, cât și “programarea în detaliu” în vederea dezvoltării unor programe complexe de nivel superior.

Expresii fundamentale

MATLAB-ul lucrează cu expresii matematice ca și celelalte limbaje de programare, dar spre deosebire de majoritatea acestor limbaje, aceste expresii implică la scară largă lucrul cu matrici.

Expresiile sunt alcătuite cu ajutorul următoarelor tipuri:

Variabile

Numere

Operatori

Funcții

Variabile

MATLAB-ul nu necesită declararea dimensiunii variabilelor, deoarece la întâlnirea unui nou nume de variabilă generează automat variabila respectivă și alocă spațiul necesar de memorie.

Numele unei variabile este o literă, urmată de un număr oricât de mare de litere, cifre sau simboluri. Din acest număr “oricât de mare” sunt oprite primele 31 de caractere.

MATLAB-ul este case sensitive – face distincție între literele mici și cele mari.

Exemplu:

» a = 30

creează o matrice 1 x 1 cu numele a și stochează valoarea acesteia 30 într-o singură locație corespunzătoare singurului element al matricei.

Numere

MATLAB-ul utilizează notația zecimală, cu punct zecimal opțional și cu semn + sau -. Se utilizează și notația științifică cu litera e pentru a specifica o putere a lui 10. Reprezentarea numerelor imaginare este realizată cu litera i sau j ca sufix.

Exemple:

3              -99            0.0001

9.6397238      1.60210e-20    6.02252e23

1i             -3.14159j      3e5i

Toate numerele sunt stocate intern utilizând formatul long specificat de standardul IEEE în virgulă mobilă (precizie de 16 zecimale semnificative în domeniul 10-308 la 10+308).

Operatori

Expresiile utilizează operatori aritmetici uzuali:

Funcții

MATLAB-ul furnizează un mare număr de funcții matematice elementare standard (abs, sqrt, exp, sin …).

Există și funcții matematice avansate (funcții Bessel, gama etc.), multe dintre acestea acceptând argumente complexe.

Toolbox

Matlab-ul poate conține toolbox-uri în care avem deja implementate anumite funcții , pe care le apelăm doar folosind numele lor .

Spre exemplu în lucrarea mea am folosit un toolbox de robotică , unde sunt deja implementate funcți precum transx , rotx , ja , fkine și multe altele , cu ajutorul cărora se scurtează numărul de linii de cod și utilizarea funcțiilor devine mai ușoară

Structura robotică cu 2 grade de libertare RR

Aplicarea reguli D-H

Dacă există există articulați cu mai multe grade de libertate , , atunci se descompune în n articulații conectate prin n-1 elemente nule .

Metoda D-H permite determinarea poziției și orientării relative a două elemente consecutive cărola li s-au asociat 2 sisteme de coordonate {Si-n} și {Si} , respectiv au fost identificați parametri elementelor și articulațiilor .

Zi-1

Art i art i+1

Art i

el i-1

Paramettri se definesc în funcție de poziția și orientarea axelor de la extremitățile elementului .

Parametri se definesc în funcție de orientare și poziția a 2 elemente interconectate prin articulașie .

– distanța masurată pe normala comună dintre axele celor 2 articulații (lungimea elementului , din zi în zi-1 în lungul lui x) .

– unghiul dintre cele două axe de la extremitățile elementului măsurat în plan perpendicular pe normala comună (unghi de răsucire , unghi zi la zi-1 perpendicular în jurul lui xi) .

– distanța dintre cele două normale măsurată de-a lungul articulației (distanță de articulație , distanță de la Oi-1 până la intersecția zi-1 cu xi) .

– unghiul dintre două normale măsurat perpendicular la axa articulației (unghiul dintre elemente , unghiul de rotire , unghi xi-1 la xi în jurul zi-1)

Minirobotul cu 2 grade de libertate

Exemplu de calcul pentru minirobotul cu 2 grade de libertate :

A=

Din tabel am înlocuit cu parametrii pentru sistemul 1 și am obținut :

Din tabel am înlocuit parametrii pentru sistemul 2 și am obținut :

Cinematica directă

La cinematica directă se vor afla poziția și orientarea efectorului final în funcție de poziția și orientarea cuplelor cinematice .

Înmulțind cele 2 matrici ale sistemelor 1 și 2 obținem matricea finală a sistemului de unde extragem poziția și orientarea efectorului final .

– orientarea efectorului final

– poziția efectorului final pe axele x, y și z

În urma calculelor în exemplu precedent :

=

– orientarea efectorului final

– poziția efectorului final pe axele x, y și z

Cinematica inversă

Pentru cinematica inversă aflăm poziția și orientarea cuplelor cinematice în funcșie de poziția și orientarea efectorului final .

Asftel din poziția efectorului final și din orientarea efecotului final am obținut în urma aplicării regulilor cinematicii inverse / metoda geometrică parametrii teta 1 si teta 2 pentru robotul tratat în acest caz cu mișcare de rotație-rotație .

S1=

S1=

După înmulțirea datelor celor 2 sisteme obținem :

=

Generarea traiectoriilor în spațiul articular

In cadrul mișcari punct cu punct manipulatorul robotic trebuie sa se deplaseze dintr-o configurație (postură) inițială într-una finală , într-un interval de timp specificat . În acest caz , traseul pe care îl urmează efectorul final nu este important .

Algoritmul genereaza o traiectorie care , in raport cu cerințele prezentate mai sus , se obține optimizarea unui anumit criteriu de performanță atunci când articulația se mișca dintr-o poziție in alta .

O sugestie în alegerea acestui gen de mișcare rudimentară derivă din analiza problemei mișcări incrementale . Vom nota cu I momentul de inerție al unui corp rigid , considerat după axa sa de rotație . Se considera acum ca deplasarea de unghiul q , de la valoarea initiala qi , la valoarea finala qf , se executa intrun interval t . Este evident ca aceasta problemă prezinta o infinitate de soluții .

Presupunând ca rotația este efecutata sub acțiunea unui cuplu generat de un servo-motor de curent continuu CMMC , se poate găsi o soluție care minimizeze energia disipată de servo-motor . Problema optimizării în acest caz se poate formula astfel : cunoscând unghiul se cere sa se determine solutia ecuației diferențiale astfel încât sa diminueze indexul de performanta .

Mișcarea unui manipulator este un mod tipic legată de spațiul operațional prin acei parametri ai traiectoriei care specifică locația inițială si finală a efectorului final , eventual posibilele intermediare , precum si timpul de deplasare de-a lungul căi geometrice .

Utilizarea si funcționarea aplicatie

Explicarea funcționalitățiilor și posibilităților pe care le ofera aplicația

În această aplicație se poate calcula cinematica inversă și cinematica directă .

Pentru cinematica directă vom avea un tabel in care să introducem parametri pentru care vrem sa aflam construcția robotului și mișcarea acestuia , după introducerea datelor in tabel se apasă butonul culege date pentru memorarea datelor introduse în tabelul parametrilor . După aceasta se apasă butonul de cinematică directă pentru calcularea acesteia , la apăsarea acestui buton se vor afișa coordonatele pe axele x , y și z in tabelul cu coordonatele efectorului final ; de asemenea se va afișa totodata si un grafic de mișcare a robotului .

Pentru cinematica inversă se va calcula cinematica inversă pe baza parametrilor introduși in tabelul pentru coordonatele efectorului final . Pe baza parametrilor introduși se va calcula teta 1 și teta 2 , deoarece este un robot cu mișcate de rotație – rotație , aceștia vor fi afișați in tabelul cu valori pentru teta .

De asemenea vor fi afișați și parametri fixi precum și un desen cu robotul în starea inițială cu parametri fixi .

Înțelegerea interfeței

PAS 1 : introducerea parametrilor pentru cele două cuple

PAS 2 : colectarea datelor

PAS 3 : selectarea tipurilor de miscare

Pentru o mai buna înțelegere a aplicatției am explicat fiecare componentă a interfeței :

Robotul inițial de la care se pornesc calculele creat cu mișcare de rotație-rotație

Locul în care va fi desenat graficul și buton de ștergere

Afișarea parametrilor calculatii

Butoane pentru calcularea cinematicii inverse si cinematicii directe

Butonul culege date pentru culegerea și memorarea parametrilor pentru calcul

Buton pentru deschidere manual de utilizareIntroducere parametri

Funcțiile folosite in aplicație și explicarea acestora

Prima funcție care se deschide în aplicație e funcția de creare a acesteia :

function varargout = panoumain(varargin)

Aceasta generează automat condiții și variabile pentru desfășurarea lucrări :

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, …

'gui_Singleton', gui_Singleton, …

'gui_OpeningFcn', @panoumain_OpeningFcn, …

'gui_OutputFcn', @panoumain_OutputFcn, …

'gui_LayoutFcn', [] , …

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

function panoumain_OpeningFcn(hObject, eventdata, handles, varargin)

Aceasta funcție este folosită pentru deschiderea interfeței și conține date care vor fi afișate o data cu deschiderea interfeței .

Aceasta m-ai conține în acest caz :

axes(handles.axes3) – pentru selectarea câmpului axes3

imshow('rr2.png') – pentru afișarea imagini selectate

guidata(hObject, handles); – implementarea datelor în aceasta

function varargout = panoumain_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

returnează datele de la ieșirea funcției

function teta1_CreateFcn(hObject, eventdata, handles)

Creaza funcția teta 1 care este folosită pentru definirea valori unghiului teta în prima articulație .

De asemenea se generează automat condițiile de funcționare și preferințe șegate de această variabilă (exemplu culoarea):

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function teta1_Callback(hObject, eventdata, handles)

Aici se introduc alte condiții și acțiuni pe care dorim să le facem cu ajutorul funcției teta 1

function teta2_CreateFcn(hObject, eventdata, handles)

Creaza funcția teta 2 care este folosită pentru definirea valori unghiului teta în a doua articulație .

De asemenea se generează automat condițiile de funcționare și preferințe șegate de această variabilă (exemplu culoarea):

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function teta2_Callback(hObject, eventdata, handles)

Aici se introduc alte condiții și acțiuni pe care dorim să le facem cu ajutorul funcției teta 2

function alfa1_CreateFcn(hObject, eventdata, handles)

Creaza funcția alfa 1 care este folosită pentru definirea valori unghiului alfa de înclinare/îndoire în prima articulație .

De asemenea se generează automat condițiile de funcționare și preferințe șegate de această variabilă (exemplu culoarea):

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function alfa1_Callback(hObject, eventdata, handles)

Aici se introduc alte condiții și acțiuni pe care dorim să le facem cu ajutorul funcției alfa 1

function alfa2_CreateFcn(hObject, eventdata, handles)

Creaza funcția alfa 2 care este folosită pentru definirea valori unghiului alfa de înclinare/îndoire în a doua articulație .

De asemenea se generează automat condițiile de funcționare și preferințe șegate de această variabilă (exemplu culoarea):

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function alfa2_Callback(hObject, eventdata, handles)

Aici se introduc alte condiții și acțiuni pe care dorim să le facem cu ajutorul funcției alfa 2

function a1_CreateFcn(hObject, eventdata, handles)

Creaza funcția a 1 care este folosită pentru definirea valorii distanței a bratului în primul sistem .

De asemenea se generează automat condițiile de funcționare și preferințe șegate de această variabilă (exemplu culoarea):

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function a1_Callback(hObject, eventdata, handles)

Aici se introduc alte condiții și acțiuni pe care dorim să le facem cu ajutorul funcției a 1

function a2_CreateFcn(hObject, eventdata, handles)

Creaza funcția a 2 care este folosită pentru definirea valorii distanței a bratului în al doilea sistem .

De asemenea se generează automat condițiile de funcționare și preferințe șegate de această variabilă (exemplu culoarea):

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function a2_Callback(hObject, eventdata, handles)

Aici se introduc alte condiții și acțiuni pe care dorim să le facem cu ajutorul funcției a 2 .

function d1_CreateFcn(hObject, eventdata, handles)

Creaza funcția d 1 care este folosită pentru definirea valorii distanței de translație a bratului în primul sistem .

De asemenea se generează automat condițiile de funcționare și preferințe șegate de această variabilă (exemplu culoarea):

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function d1_Callback(hObject, eventdata, handles)

Aici se introduc alte condiții și acțiuni pe care dorim să le facem cu ajutorul funcției d 1 .

function d2_CreateFcn(hObject, eventdata, handles)

Creaza funcția d 1 care este folosită pentru definirea valorii distanței de translație a bratului în al doilea sistem .

De asemenea se generează automat condițiile de funcționare și preferințe șegate de această variabilă (exemplu culoarea):

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function d2_Callback(hObject, eventdata, handles)

Aici se introduc alte condiții și acțiuni pe care dorim să le facem cu ajutorul funcției d 2 .

function RR_Callback(hObject, eventdata, handles)

Definirea funcției cinematică directă care are tag-ul RR aceasta este crează funcția de callback în care se definește legile și condițiile de desfășurare .

În această funcție am introdus urmatoarele formule matematice și condiții :

global d1 d2 teta1 teta2 alpha1 alpha2 x0 y0 z0; – am definit valorile globale pe care le voi folosi în calcule

T1=trotz(teta1); – valori pe teta 1

T2=transl(0,0,d1); – valori pe d 1

T3=transl(0,0,0); – valori pe a 1

T4=trotx(alpha1); – valori alfa 1

A1=T1*T2*T3*T4; – calculul primei articulați

T1=trotz(teta2); – valori pe teta 2

T2=transl(0,0,d2); – valori pe d 2

T3=transl(0,0,0); – valori pe a 2

T4=trotx(alpha2); – valori pe alfa 2

A2=T1*T2*T3*T4; – calculul celei de-a doua articulație

s0=[x0,y0,z0]; – calculul sistemului initial 0

s1=A1; – calculul sistemului 1

s2=A1*A2; – calculul sistemului 2

x=[0 s1(1,2) s2(1,2)]; – valori pe x a efectorului final

y=[0 s1(2,2) s2(2,2)]; – valori pe y a efectorului final

z=[0 s1(3,2) s2(3,2)]; – valori pe z a efectorului final

xf1 = x(1,2); – afișare valori de pe rândul 1 coloana 2 a vectorului x

xf2 = x(1,3); – afișare valori de pe rândul 1 coloana 3 a vectorului x

set(handles.art2x,'String',xf2) – afișarea valori x la tag-ul respectiv

yf1 = y(1,2); – afișare valori de pe rândul 1 coloana 2 a vectorului y

yf2 = y(1,3); – afișare valori de pe rândul 1 coloana 3 a vectorului y

set(handles.art2y,'String',yf2) – afișarea valori lui y pe tag-ul respectiv

zf1 = z(1,2); – afișare valori de pe rândul 1 coloana 2 a vectorului z

zf2 = z(1,3); – afișare valori de pe rândul 1 coloana 3 a vectorului z

set(handles.art2z,'String',zf2) – afișarea valori lui z pe tag-ul respectiv

axes(handles.axes1)

plot3(x,y,z,'black'); – desenare x,y,z pe axes1 cu culoarea negru

plot3(0,0,0,'bX'); – desenare punct inițial cu coordonatele 0 pe toate axele cu marcatorul ‚X’ de culoare negru

plot3(xf1,yf1,zf1,'ro'); – desenarea articulației 1 cu marcatorul ‚o’ de culoare rosu

plot3(xf2,yf2,zf2,'r*'); – desenarea articulației finale cu marcatorul ‚*’ de culoare rosu

hold on; – așteaptă și păstrează desenul

function stergegrafic_Callback(hObject, eventdata, handles)

Această funcție are tag-ul stergegrafic , iar în aceasta se va defini datele butonului sterge grafic .

Aceasta mai conține :

cla; – stergere tot

grid on; – grid activat

hold on; – așteptare

function culegedate_Callback(hObject, eventdata, handles)

Aceată funcție se activează la acționarea butonului culege date .

Aceasta conține tag-urile pe care le modifică și le memorează datele :

global a1 a2 d1 d2 teta1 teta2 alpha1 alpha2 x0 y0 z0;

Mai conține inițializarea valorilor inițiale cu 0 :

x0=0;

y0=0;

z0=0;

De asemenea mai conține transformarea variabilelor de tip ‚string’ in varialbile de tip ‚double’ :

d1=str2double(get(handles.d1,'String'));

a1=str2double(get(handles.a1,'String'));

alpha1=str2double(get(handles.alpha1,'String'));

teta1=str2double(get(handles.teta1,'String'));

d2=str2double(get(handles.d2,'String'));

a2=str2double(get(handles.a2,'String'));

alpha2=str2double(get(handles.alpha2,'String'));

teta2=str2double(get(handles.teta2,'String'));

function Ajutor_Callback(hObject, eventdata, handles)

Prin această funcție am creat un buton in meniu prin care se introduce un fisier de tip pdf numit ‚ajutor’ . Acest fișier descrie modul de operare în aplicație și instrucțiuni de folosire corectă a aplicației .

Această funcție conține :

open 'ajutor.pdf';

prin care se introduce fisierul folosit .

function xi_CreateFcn(hObject, eventdata, handles)

function xi_Callback(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

Aceste funcții crează funcția și calback-ul funcției , precum și funcționalitățile acestei acesteia . Xi aici reprezentând tag-ul textbox-ului unde va fi introdusă valoarea lui x la cinematica inversă .

function yi_CreateFcn(hObject, eventdata, handles)

function yi_Callback(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

Aceste funcții crează funcția și calback-ul funcției , precum și funcționalitățile acestei acesteia . Yi aici reprezentând tag-ul textbox-ului unde va fi introdusă valoarea lui y la cinematica inversă .

function zi_CreateFcn(hObject, eventdata, handles)

function zi_Callback(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

Aceste funcții crează funcția și calback-ul funcției , precum și funcționalitățile acestei acesteia . Zi aici reprezentând tag-ul textbox-ului unde va fi introdusă valoarea lui z la cinematica inversă .

function cininv_Callback(hObject, eventdata, handles)

Definește algoritmi de calcul pecum si execută instrcuțiunile pentru cinematica inversă la apăsarea butonului ‚cinematică inversă’ .

În această funcție s-au introdus următoarele comenzi :

global xi yi zi; – definește valorile globale care vor fi folosite care vor fi introduse pentru calcularea cinematicii inverse

teta=[0 0]; – inițializează valorile pentru teta 1 și teta 2

alfa=[10 30]; – inițializează valorile pentru alfa 1 și alfa 2

a=[0 0]; – inițializează valorile pentru a 1 și a 2

d=[0 0]; – inițializează valorile pentru d 1 si d 2

L1=link([alfa(1) a(1) teta(1) d(1) 0],'standard'); – calculul pentru sistemul 1

L2=link([alfa(2) a(2) teta(2) d(2) 1],'standard'); – calculul pentru sistemul 2

r=robot({L1 L2}); – crearea matricei de calcul a poziției și orientării robotului

q=[30 45]; – parametri predefiniți introduși

Transformarea valorilor de tip ‚double’ în variabile de tip ‚string’ se face în următoarele lini de cod :

xi=str2double(get(handles.xi,'String')); – pentru valoarea xi introdusă

yi=str2double(get(handles.yi,'String')); – pentru valoarea yi introdusă

zi=str2double(get(handles.zi,'String')); – pentru valoarea zi introdusă

T=[1 0 0 xtest ; 0 1 0 ytest; 0 0 1 ztest; 0 0 0 1] – Introducerea matrici inițiale a sistemului robotic

Q = ikine(r,T); – Calcularea teta-urilor folosind funcția ‚ikine’ de cinematică inversă din toolbox-ul de robotică

Selectarea valorilor obținute din calcule :

t1i=Q(1,1) – selectarea valori lui teta 1 din vectorul Q de pe linia 1 , coloana 1

t2i=Q(1,2) – selectarea valori lui teta 1 din vectorul Q de pe linia 1 , coloana 2

Selectarea valorilor teta și afișarea lor în textbox-urile pentru teta 1 si teta 2 pentru cinematica inversă :

set(handles.teta1i,'String',t1i); – colectarea valori teta 1 în căsuța de texbox

set(handles.teta2i,'String',t2i); – colectarea valori teta 1 în căsuța de texbox

Concluzii

Această aplicație poate simula mișcarea unui robot cu 2 grade de libertate , pentru o mișcare de rotașie – rotație . Aceasta efectuează simularea mișcării întregului ansamblu robotic precum și calculează cinematica directă și cinematica inversă , și probleme legate de viteză , accelerație și dinamică .

Pe viitor se poate implementa o aplicație care să includă toate tipurile de mișcare posibile , să includă un robot cu mai multe grade de libertate . De asemenea să se implementeze și un program care să conecteze aplicația la un robot sau braț robotic real să controleze robotul , și să afișeze mișcările , unghiurile , toate mărimile precum și toate toate calculele legate de cinematică inversă , directă , problema de dinamică , problema vitezelor , problema accelerației și altele care pot fi cercetate pe robot .

De asemenea se poate îmbunătății interfața , pentru a se crea o interfața mult mai explicivă , cu mai multe funcții , detalii , aplicați incluse precum și mult mai colorată și cu un design cât mai ușor accesibil și plăcut ochilui .

În concluzie pornind de la această aplicație se poate realiza o aplicație adaptivă pentru orice tip de mișcare și pentru orice număr de grade de libertate .

Se mai poate utiliza și alte programe pentru crearea de aplicați asemănătoare , în funcție de cerințe și preferințele mediului de lucru .

Referințe

Ingineria roboților , cinematică, dinamică si control ; Cluj-Napoca , 2001 Călin Rusu

Curs robotică , http://cs.engineering.upm.ro/Aquila/

Baștiurea Gh. ș.a. – Comanda numericã a mașinilor-unelte, Editura tehnică , București 1976

Chircor M. – Asupra volumului spațiului de lucru al roboților industriai , Sesiunea de Comunicãri Stiintifice, Braila,1993.

Chircor M. – Noutãți în cinematica șî dinamica roboților industriali , Editura Fundației Andrei Saguna , Constanța , 1997.

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.

Chircor M. – Calculul deplasãrilor roboților industriali folosind notațiile Hartemberg-Denavit , Acta Universitatis Cibiniensis , Sibiu ,1995.

Chircor M.- Calculul energiei consumate de robotul industrial la manipularea unei sarcini , Acta Universitatis Cibiniensis , Sibiu ,1995.

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.

Chircor M. – A limit of the Serial Topology , International Symposium on Systems atheory , Robotics , Computers and Process Informatics , Craiova , 6-7 june 1996.

Chircor M. – Cercetãri privind construcția modularã a roboților industriali – Tezã de doctorat , Universitatea Politehnicã București , 1997.

Cojocaru G., Fr.Kovaci – Roboții în acțiune, Ed.Facla, Timișoara,1998./

Davidoviciu A., G.Drãgãnoiu , A.Moanga , Modelarea , simularea și comanda manipulatoarelor și roboților industriali , Ed.Tehnica , București 1986.

Drimer D.,A.Oprea,Al. Dorin – Roboți industriali și manipulatoare, Ed. Tehnicã 1985.

Dombre E., Wisama Khalil – Modelisation et commande des robots , Editions Hermes , Paris 1988.

Doroftei Ioan – Introducere în roboții pășitori , Editura CERMI , Iași 1998.

Dorn W.S., D.D.McCracken – Metode numerice cu programare in FORTRAN, Editura Tehnicã, București 1973.

Hartemberg R.S. and J.Denavit – A kinematic notation for lower pair mechanisms , J. appl.Mech. 22,215-221 (1955).

Hasegawa , Matsushita , Kanedo – On the study of standardisation and symbol related to industrial robot in Japan , Industrial Robot Sept.1980.

HollerbachJ.M. – Wrist-partitioned inverse kinematic accelerations and manipulator dynamics. , International Journal of Robotic Research 2,61-76 (1983)

Ispas V.,I.Pop,M.Bocu – Roboți industriali, Ed.Dacia, Cluj, 1985.

Ispas V. – Aplicațiile cinematicii în construcția manipulatoarelor și a roboților industriali , Ed.Academiei Române 1990.

Kazerounian K. , Gupta K.C. , Manipulator dynamics using the extended zero reference position description , IEEE Journal of Robotic and Automation RA-2/1986.

Kovacs Fr., G.Cojocaru – Manipulatoare, roboți și aplicațiile lor industriale, Ed.Facla,Timișoara,1982.

Kovacs Fr , C. Rãdulescu – Roboți industriali , Reprografia Universitãții Timișoara , 1992.

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.

Larionescu D. – Metode numerice , Editura Tehnicã, București 1989.

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

Ma O.- Dynamics of serial – typen-axis robotic manipulators, Thesis, Department of Mechanical Engineering,McGill University,Montreal,1987.

Monkam G. – Parallel robots take gold in Barcelona, ,Industrial Robot,4/1992.

Olaru A. – Dinamica roboților industriali , Reprografia Universitãții Politehnice București , 1994.

Platon V. – Sisteme avansate de producție , Editura tehnică, București , 1990.

Panã C. , Drimer D. – Probleme ale construcției modulare a manipulataoarelor și roboților , I Simpozion National de Roboți Industriali , București 1981.

Pandrea N. – Determinarea spațiului de lucru al roboților industriali , Simpozion National de Roboți Industriali , București 1981.

Pandrea N. – Asupra echilibrãrii statice a mecanismelor RRT pentru roboți industriali , Simpozion National de Roboți Industriali , București 1981.

Păunescu T. – Celule flexibile de prelucrare , Editura Universității “Transilvania “ Brașov , 1998.

Paul R. , Shimano B. – Kinematic control equations for simple manipulators , IEEE Trans. Systems , Man and Cybernetics SMC-11.

INID Colecție , Buletine de informare și documentare tehnico-științifice , București 1980-1990.

Curs de control al robotiilor , Facultatea de petrol si gaze , Sibiu

Bazele Roboticii , Gacsadi Alexandru , Oradea

Referințe

Ingineria roboților , cinematică, dinamică si control ; Cluj-Napoca , 2001 Călin Rusu

Curs robotică , http://cs.engineering.upm.ro/Aquila/

Baștiurea Gh. ș.a. – Comanda numericã a mașinilor-unelte, Editura tehnică , București 1976

Chircor M. – Asupra volumului spațiului de lucru al roboților industriai , Sesiunea de Comunicãri Stiintifice, Braila,1993.

Chircor M. – Noutãți în cinematica șî dinamica roboților industriali , Editura Fundației Andrei Saguna , Constanța , 1997.

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.

Chircor M. – Calculul deplasãrilor roboților industriali folosind notațiile Hartemberg-Denavit , Acta Universitatis Cibiniensis , Sibiu ,1995.

Chircor M.- Calculul energiei consumate de robotul industrial la manipularea unei sarcini , Acta Universitatis Cibiniensis , Sibiu ,1995.

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.

Chircor M. – A limit of the Serial Topology , International Symposium on Systems atheory , Robotics , Computers and Process Informatics , Craiova , 6-7 june 1996.

Chircor M. – Cercetãri privind construcția modularã a roboților industriali – Tezã de doctorat , Universitatea Politehnicã București , 1997.

Cojocaru G., Fr.Kovaci – Roboții în acțiune, Ed.Facla, Timișoara,1998./

Davidoviciu A., G.Drãgãnoiu , A.Moanga , Modelarea , simularea și comanda manipulatoarelor și roboților industriali , Ed.Tehnica , București 1986.

Drimer D.,A.Oprea,Al. Dorin – Roboți industriali și manipulatoare, Ed. Tehnicã 1985.

Dombre E., Wisama Khalil – Modelisation et commande des robots , Editions Hermes , Paris 1988.

Doroftei Ioan – Introducere în roboții pășitori , Editura CERMI , Iași 1998.

Dorn W.S., D.D.McCracken – Metode numerice cu programare in FORTRAN, Editura Tehnicã, București 1973.

Hartemberg R.S. and J.Denavit – A kinematic notation for lower pair mechanisms , J. appl.Mech. 22,215-221 (1955).

Hasegawa , Matsushita , Kanedo – On the study of standardisation and symbol related to industrial robot in Japan , Industrial Robot Sept.1980.

HollerbachJ.M. – Wrist-partitioned inverse kinematic accelerations and manipulator dynamics. , International Journal of Robotic Research 2,61-76 (1983)

Ispas V.,I.Pop,M.Bocu – Roboți industriali, Ed.Dacia, Cluj, 1985.

Ispas V. – Aplicațiile cinematicii în construcția manipulatoarelor și a roboților industriali , Ed.Academiei Române 1990.

Kazerounian K. , Gupta K.C. , Manipulator dynamics using the extended zero reference position description , IEEE Journal of Robotic and Automation RA-2/1986.

Kovacs Fr., G.Cojocaru – Manipulatoare, roboți și aplicațiile lor industriale, Ed.Facla,Timișoara,1982.

Kovacs Fr , C. Rãdulescu – Roboți industriali , Reprografia Universitãții Timișoara , 1992.

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.

Larionescu D. – Metode numerice , Editura Tehnicã, București 1989.

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

Ma O.- Dynamics of serial – typen-axis robotic manipulators, Thesis, Department of Mechanical Engineering,McGill University,Montreal,1987.

Monkam G. – Parallel robots take gold in Barcelona, ,Industrial Robot,4/1992.

Olaru A. – Dinamica roboților industriali , Reprografia Universitãții Politehnice București , 1994.

Platon V. – Sisteme avansate de producție , Editura tehnică, București , 1990.

Panã C. , Drimer D. – Probleme ale construcției modulare a manipulataoarelor și roboților , I Simpozion National de Roboți Industriali , București 1981.

Pandrea N. – Determinarea spațiului de lucru al roboților industriali , Simpozion National de Roboți Industriali , București 1981.

Pandrea N. – Asupra echilibrãrii statice a mecanismelor RRT pentru roboți industriali , Simpozion National de Roboți Industriali , București 1981.

Păunescu T. – Celule flexibile de prelucrare , Editura Universității “Transilvania “ Brașov , 1998.

Paul R. , Shimano B. – Kinematic control equations for simple manipulators , IEEE Trans. Systems , Man and Cybernetics SMC-11.

INID Colecție , Buletine de informare și documentare tehnico-științifice , București 1980-1990.

Curs de control al robotiilor , Facultatea de petrol si gaze , Sibiu

Bazele Roboticii , Gacsadi Alexandru , Oradea

Similar Posts