Digitizor 3d Utilizat Si Pentru Comanda de Tip Master Slave a Robotului Abb Irb 1600
DIGITIZOR 3D UTILIZAT ȘI PENTRU COMANDA DE TIP MASTER-SLAVE A ROBOTULUI ABB IRB 1600
CUPRINS
Introducere
Analiza stadiului actual al temei
Evoluția sistemelor de tip Master-Slave. Teleoperarea
Exemple de sisteme robotice de tip Master-Slave
Determinarea poziției și orientării efectorului final în funcție de pozițiile relative ale elementelor Dispozitivului de Ghidare. Cinematica directă.
Modelul Geometric
Stabilirea sistemelor de coordonate
Deducerea relațiilor matriciale de la un sistem de coordonate la altul.
Deducerea matricelor de transformare aferente unui robot
Matricile de transformare omogenă ale robotului RRRRRR
Exprimarea orientării efectorului final prin unghiurile RPY
Analiza cinematică de ordin zero directă și inversă
Cinematica directă
Analiza de ordin zero directă în cazul robotului de tip RRRRRR
Sinteza mecanismului de ghidare a digitizorului și modelul matematic al acestuia
Considerații generale despre digitizorul 3D
Modelul matematic al digitizorului 3D
Concepția constructivă a digitizorului 3D
Sistemul mecanic
Sistemul senzorial
Sistemul de achiziții de date
Dezvoltarea unei aplicații de simulare a unui digitizor 3D cu 5 grade de mobilitate.x
Concluzii
INTRODUCERE
Există literalmente mii de aplicații în industrie implementate cu ajutorul roboților industriali. Cu mai mult de un milion de roboți care sunt utilizați pe toate continentele lumii, aceștia au devenit un standard în automatizările industriale. Motivul pentru care au un domeniu de utilizare atât de larg este versatilitatea, adică faptul că nu au fost optimizați pentru o singură sarcină, putând fi configurați pentru o multitudine de funcții. Spre deosebire de alte mașini de lucru conduse cu ajutorul computerelor (ex: CNC), mașini orientate pe sarcini specifice, roboții industriali sunt capabili să execute atât rutine substractive cat si aditive. Între operațiile pe care le poate executa un robot industrial avem: manipulare, pozitionare, taiere, slefuire, debavurare, sudura, vopsire, prelucrare, etc.
Totuși, roboții industriali nu au fost concepuți pentru a fi ușor de utilizat sau altfel spus “user friendly” pentru că dimensiunea, infrastructura necesară la instalare și tehnicile avansate prin care se programează necesită ingineri bine instruiți. De asemenea roboții industriali pot fi periculoși, motiv pentru care în practică au spații dedicate care sunt izolate de restul platformei de fabricație, tocmai pentru a proteja lucrătorii umani.
În ciuda progresului considerabil făcut în domeniul pachetelor software de control și conducere al roboților din ultimii ani de cele mai multe ori partea cea mai complexă a punerii în execuție a unui produs este tocmai armonizarea proceselor de fabricație care curg de la proiectarea produsului până la programarea și configurarea diferitelor mașini de lucru, în cazul nostru, robotul industrial, tocmai pentru că acesta, după cum spuneam mai sus, necesită cunoștințe solide multidisciplinare pentru a putea fi utilizat.
Prezenta lucrare de licență își propune analiza și dezvoltarea unui sistem mecatronic pe care îl vom numi “digitizor 3d cu 5 grade de libertate” și care are ca scop principal simplificarea interacțiunii dintre robotul industrial și om. Prin simplificarea interacțiunii înțelegem o nouă abordare în programarea acestor mașini unelte, utilizând un dispozitiv conceput pentru a fi simplu, intuitiv și cu costuri reduse.
OBIECTUL ȘI SCOPUL LUCRĂRII
Analiza stadiului actual al temei
Sinteza mecanismului de ghidare a digitizorului si modelul matematic al acestuia.
Dezvoltarea unei aplicatii de simulare a unui digitizor 3d cu 5 grade de mobilitate.
Conceptia constructiva a digitizorului
Concluzii
ANALIZA STADIULUI ACTUAL AL TEMEI.
EVOLUTIA SISTEMELOR DE TIP MASTER-SLAVE. TELEOPERAREA.
Teleoperatorul este un manipulator care necesită comanda sau supervizarea unui operator uman. Brațul manipulator are multe probleme de design în comun cu brațul unui robot autonom. Cu toate acestea, spre deosebire de robotul autonom, teleoperatorul are un om implicat la execuția fiecărei comenzi. Drept urmare, interfața umană a teleoperatorului este mai importantă decât la majoritatea roboților autonomi.
Teleprezența se referă la o îmbunătățire extremă a feedback-ului senzorial pentru a oferi cât mai realistic posibil operatorului uman idea de “prezență de la distanță”. Astfel operatorul poate judeca și rezolva sarcini chiar și pus în fața unor situații neprevăzute. Linia dintre un robot și un teleoperator este încețoșată când operatorul uman doar supervizează operarea teleoperatorului sau când robotul este condus de un om printr-o serie de mișcări cu scopul de a fi programat. Telerobotica se extinde pe tărâmul manipulării prin control partajat între mașină și om.
Aplicațiile industriale pentru sistemele de tip master slave sunt numeroase. De obicei implică condiții de muncă neadecvate pentru oameni. Mediul înconjurător poate fi periculos sau neplăcut, sau pentru rezolvarea unei anumite sarcini ste nevoie de forțe, rază de acțiune sau acuratețe în mișcări mai mare decât este capabil să ofere un om. Dacă sarcina dată este repetitivă și predictibilă, atunci un robot autonom este mai recomandat. Dacă judecata și priceperea unui om este necesară atunci un teleoperator trebuie luat în considerare.
Istoria teleoperării începe cu un mecanism relativ simplu, poligraful (fig2.1), care produce copierea scrisului simultan cu crearea originalului, folosind stiloul și cerneala și care a fost inventat în anul 1921 de către un student medicinist de la Universitatea Berkley pe nume Jhon Augustus Larson. Acesta are un mecanism pantograf cu patru bare paralele astfel că mișcarea dintr un punct este reprodusă în alt punct.
Fig 2.1 Poligraf
Un dispozitiv care răspunde la comenzile unui alt dispozitiv este denumit “slave” iar dispozitivul care comandă acest dispozitiv este denumit “master”.
Primul manipulator master-slave a fost creat în anul 1948 de către Ray Goertz de la Departamentul de Energie Atomică al SUA având ca scop protecția muncitorilor de radiațiile emise de difersele materiale radioactive și în același timp manipularea cât mai precisă a acestor materiale.
Fig 2.2 primul dispozitiv de tip master-slave
În prima fază de dezvoltare a acestui manipulator au fost utilizate doar dublări de comenzi mecanice, la fel ca la poligraful amintit mai sus, în anul 1954 dezvoltându-se o versiune nouă a manipulatorului care a fost dotată cu servomecanisme electrice și hidraulice, iar mai apoi în 1960 s-au adăugat sisteme de televiziune cu circuit închis.
Odată cu ieșirea oamenilor în spațiu, sistemele de teleoperare master-slave și au gasit întrebuințarea în cadrul misiunilor spațiale: în anul 1967 nava telecomandată Surveyor III a aselenizat, timpul de transmitere al comenzilor d epe pamânt fiind de doar câteva secunde; în anul 1976 nava Viking aterizează pe planeta Marte primind indicații de pe pământ cu privire la sarcinile care trebuie să le indeplinească autonom; în 1995 se pune în funcțiune sistemul SRMS ( Shuttle Remote Manipulator System) cunoscut și sub numele de Canadarm care are rolul de a manipula obiecte din jurul navetelor spațiale ale SUA, acest braț robotic fiind manipulat din interiorul navetei
Fig 2.3 SRMS Canadarm
În anii următori NASA dezvoltă și un robot umanoid pe nume Robonaut care este controlat cu ajutorul unor dispozitive avansate cum ar fi cască VR pentru a percepe mediul din jurul robotului în realitate virtuală și mănușă VR pentru a manipula mainile robotului și de a primi feedback tactil de pe senzorii dispuși în mâna acestuia.
Fig 2.4 Robonaut
Exemple de sisteme robotice de tip master-slave.
Determinarea poziției și orientării efectorului final în funcție de pozițiile relative ale elementelor Dispozitivului de Ghidare. Cinematica directă.
În conducerea unui robot, situarea efectorului final, adică poziția și orientarea acestuia este exprimată prin matricea de situare RTEF, unde cu EF s-a notat un sistem de coordonate legat de efectorul final, iar cu R un sistem de coordonate legat de baza robotului (adică de elementul fix, notat în general cu 0).
Matricea de situare exprimă în cazul general (fig 2.3.1.) situarea unui sistem de coordonate triortogonale “i” cu originea în Oi față de un sistem de coordonate triortogonale “i-1” caz în care se notează cu i-1Ti.
Fig 2.3.1. matrice de situare fig explicativă
Ea este de :
Poziția sistemului de coordonate “i” față de sistemul de coordonate “i-1” este exprimată prin proiecțiile rx,ry,rz ale vectorului de poziție r pe axele sistemului de coordonate i-1.
Orientarea sistemului de coordonate i, față de sistemul de coordonate i-1, se exprimă prin cosinusurile directoare aij ale unghiurilor dintre axele celor două sisteme de coordonate.
În cazul unui robot industrial, matricea de situare a efectorului final RTEF are forma:
unde:
Px,py,pz sunt proiecțiile vectorului de poziție P, al punctului caracteristic al sculei (tool control point) pe axele X0, Y0, Z0 ale sistemului de coordonate R legat de baza robotului, iar
Nx, ny, nz, ox, oy, oz, ax, ay, az sunt componentele versorilor n, o și a ai sistemului de coordonate legat de EF adică proiecțiile acestora pe axele sistemului de coordonate R legat de baza robotului.
Pentru fiecare etapă a procesului tehnologic, trebuie determinată câte o matrice de situare RTEF. O matrice de situare RTEF, determinată pentru o anumitp etapă a procesului tehnologic, va indica în ce situare trebuie adus efectorul final.
Pe a ilusta modul de determinare a matricii de situare RTEF pentru o anumitp etapă, se consideră un proces tehnologic mai simplu, în care un robot industrial, prin intermediul unei scule atașate, trebuie să acționeze asupra unu i obiect.
Fig 2.3.2. exprimarea poziției și orientării efectorului final.
Pentru determinarea de situare RTEF pentru o anumită etapă a procesului tehnologic este necesară descrierea matematică a situării efectorului final, respectiv a obiectelor din mediul de lucru a robotului pentru acea etapă. În acest scop se alege în mod convenabil un sistem de coordonate universal U, legat de hala industrială. Se atașează bazei robotului un sistem de coordonate R, efectorului final un sistem de coordonate EF, iar sculei sistemul de coordonate SC. De asemenea se atașează sisteme de coordonate legate de dispozitivul de fizare DF, obiectului propriuzis DF și găurii sistemul de coordonate H.
Se presupune că se cunoaște situarea sculei în raport cu efectorul final(adică situarea sculei apucată prin intermediul dispozitivului de prehensiune față de sistemul de coordonate a efectorului final ) exprimat prin EFTSC,respectiv situarea bazei robotului în hala industrială adică față de sistemul de coordonate universal UTR. De asemenea se cunoaște poziția găurii în raport cu sistemul de coordonate legat de obiect OBTH, poziția obiectului față de dispozitivul de fixare DFTOB respectiv poziția dispozitivului de fixare față de hală adică față de sistemul de coordonate universal.
Fig 2.3.3 poziționarea sculei în timpul procesului de lucru.
Se consideră etapa în care scula atinge obiectul în poziția în care urmează a fi realizată gaura. În această situare axa sculei trebuie să coincidă cu axa găurii adică axa z a sistemului de coordonate SC trebuie să fie coliniară cu axa z a sistemului de coordonate H.
Pe baza celor prezentate mai sus se poate exprima situarea găurii față de sistemul de coordonate U în 2 moduri:
UTH = UTDF*DFTOB*OBTH
UTH= UTR*RTEF*EFTSC
Din relațiile de mai sus rezultă egalitatea următoare:
UTR*RTEF*EFTSC = UTDF*DFTOB*OBTH
Această ecuație matricială exprimă o etapăa procesului tehnologic și anume etapa în care scula atinge obiectul în vederea realizării găurii amintite.
Interesează situarea în care trebuie adus efectorul final (raportat la baza robotului) cu scopul de a atinge obiectul prin intermediul sculei. Această situare se calculează cu următoarea ecuație:
RTEF = UTR-1*UTDF*DFTOB*OBoordonate legat de obiect OBTH, poziția obiectului față de dispozitivul de fixare DFTOB respectiv poziția dispozitivului de fixare față de hală adică față de sistemul de coordonate universal.
Fig 2.3.3 poziționarea sculei în timpul procesului de lucru.
Se consideră etapa în care scula atinge obiectul în poziția în care urmează a fi realizată gaura. În această situare axa sculei trebuie să coincidă cu axa găurii adică axa z a sistemului de coordonate SC trebuie să fie coliniară cu axa z a sistemului de coordonate H.
Pe baza celor prezentate mai sus se poate exprima situarea găurii față de sistemul de coordonate U în 2 moduri:
UTH = UTDF*DFTOB*OBTH
UTH= UTR*RTEF*EFTSC
Din relațiile de mai sus rezultă egalitatea următoare:
UTR*RTEF*EFTSC = UTDF*DFTOB*OBTH
Această ecuație matricială exprimă o etapăa procesului tehnologic și anume etapa în care scula atinge obiectul în vederea realizării găurii amintite.
Interesează situarea în care trebuie adus efectorul final (raportat la baza robotului) cu scopul de a atinge obiectul prin intermediul sculei. Această situare se calculează cu următoarea ecuație:
RTEF = UTR-1*UTDF*DFTOB*OBTH*EFTSC-1 (nr ec)
Prin intermediul ecuației () se obțin deci valori concrete pentru elementele matricei de situare RTEF.
În mod asemănător poate fi determinată câte o matrice de situare RTEF , separat pentu fiecare etapă din procesul tehnologic.
Cunoscând matricea de situare RTEF, corespunzătoare unei etape a procesului tehnologic, pot fi determinate poyițiile relative în care trebuie aduse elementele Dispozitivului de Ghidare (DG) astfel încât EF să ajungă în situarea dată de matrice.
Pozițiile relative ale elementelor DG, sunt descrise în cazul unui robot cu m grade de mobilitate prin intermediul parametrilor generalizați de ordin zero q1,q2,……,qm ai articulațiilor (cuplelor cinematice conducătoare). Un parametru potițional qi indică poziția (lineară sau unghiulară ) relativă a elementului i al DG, față de o poziție de referință (origine) a elementului respectiv, ales în mod covenabil.
În conducere, pentru indicarea coordonatelor pozițiilor relative curente sau în care trebuie să ajungă elementele DG, se utilizează termenul de coordonate ale cuplelor cinematică conducătoare, care se notează cu abrevierea c.c.c. în locul termenului de parametri generalizați de ordin zero.
Fig 2.3.4. reprezentarea parametrilor generalizați de ordin zero.
Determinarea valorilor numerice ale parametrilor generalizați de ordin zero, adică c.c.c., pentru o anumită etapă a procesului tehnologic, se realizează prin așa-numitul calcul de analiză de ordin zero inversă din valorile numerice ale elementelor matricei de situare RTEF. Astfel se poate determina cum trebuie comandat fiecare actuator al DG și în esență cu cât trebuie comandat fiecare c.c.c. pentru ca EF să ajungă din situarea curentă în situarea țintă.
Calculele cinematice de bază utilizate în conducerea roboților industriali sunt:
Calculul de analiză cinematică de ordin zero directă
Calculul de analiză cinematică de ordin zero inversă
Calculul de analiză cinematică de ordin zero directă se utilizează pentru obținerea coordonatelor c.c.c. din coordonatele carteziene ale situării EF, exprimat prin matricea de situare RTEF, din coordonatele c.c.c.
Calculul de analiză cinematică de ordin zero inversă se utilizează pentru obținerea coordonatelor c.c.c. din coordonatele carteziene ale situării EF, exprimat prin matricea de situare RTEF.
Pentru efectuarea calculelor de mai sus este necesar a elabora modelul geometric al robotului industrial. Acest model înfățișează o reprezentare matematică în memoria controllerului robotului, a structurii cinematice.
Modelul Geometric.
Stabilirea sistemelor de coordonate.
În vederea stabilirii modelului geometric al unui robot industrial, se stabilesc sisteme de coordonate legate fiecare element în parte. Stabilirea sistemelor de coordonate atașate elementelor robotului se face pe baza convenției Denavit-Hartenberg.
Se consideră pentru un robot industrial elemente consecutive i-2,i-1,i,i+1 respectiv cuplele cinematice prin care sunt legate între ele (fig2.4.1.1.). se exemplifică modul de stabilire a sistemelor de coordonate legate de elementul i-1 și i.
Fig 2.4.1.1. stabilirea sistemelor de coordonate
Convenția Denavit-Hartenberg constă în:
Alegerea axei Zi-1 de-a lungul axei cuplei cinematice care leagă elementul i-1 de elementul i.
Alegerea axei Xi-1 legată de elementul i-1 și ca perpendiculară comună a axelor Zi-1 și Zi-2 orientată de la Oi-2 la Oi-1.
Similar se alege axa Xi ca perpendiculară comună a axelor de rotație Zi-1 și Zi orientată de la Oi-1 la Oi.
Originile sistemelor de coordonate se alege în punctele de intersecție al perpendicularei comune cu axa cuplei de rotație, sensul poyitiv fiind de la axa cu indice mai mic la cel cu indice mai mare.
Denumirea cuplei este dată de elementul cu cifra mai mare care intră în componența ei.
Axele OY sunt alese altfel pentru a forma un triedru ortonormat,
Reținem că pentru aceste reguli, avem libertatea de de a alege originea O0 a sistemului de coordonate O0X0Y0Z0 oriunde în baza robotului, cu condiția ca axa Z0 să coincidă cu axa de mișcare a primei cuple cinematice.
Ultimul sistem de coordonate O6X6Y6Z6 (în cazul unui robot cu 6 grade de libertate) legat de efectorul final poate fi, la fel, plasat oriunde în “mâna” robotului atât timp cât axa X6 este perpendiculară pe axa Z5.
Parametrii geometrici care descriu complet orice articulație de rotație sau prismatică se stabilesc conforifigurii 2.4.1.1.
De asemenea este de reținut că la o articulație de rotație di, ai și reprezintă parametrii articulației și rămân constanți pentru un robot , iar reprezintă variabila articulației “i”.
În conducerea variabilă a articulației este denumită coordonata cuplei cinematice conducătoare (în continuare c.c.c)
Deducerea relațiilor matriceale de la un sistem de coordonate la altul.
Determinarea modelului geometric al robotului, presupune deducerea relațiilor matriceale de trecere de la sistemul de coordonate fix (legat de baza robotului) la sistemul de coordonate al efectorului final. Aceasta presupune trecerea consecutivă prin toate sistemele de coordonate atașate fiecarui element în parte.
Pentru descrierea matematică a trecerii de la un sistem de coordonate la altul se utilizează matricile de transformare omogenă.
Având în vedere faptul că în general trecerea de la sistemul de coordonate i-1 la sistemul de coordonate i presupune o serie de transformări elementare (de rotație și de translație ), în continuare se prezintă formele particulare ale matricii de transformare care indică doar o rotație sau o translație elementară în jurul sau de-a lungul unei axei de coordonate. Aceste matrici sunt denumite matrici de transformare omogene de bază.
Pentru mișcare de rotație în jurul axei X cu un unghi :
Pentru mișcarea de rotație în jurul axei Y cu unghiul :
Pentru o mi;care de rota’ie ]n jurul axei Z cu unghiul :
Matricile de mai sus sunt numite matrici de rotație omogene de bază.
Pentru o mișcare de translație de-a lungul axei X cu mărimea a:
Pentru o mișcare de translație de-a lungul axei Y cu mărimea b:
Pentru o mișcare de translație de-a lungul axei Z cu mărimea d:
Matricile de mai sus sunt numite matrici de translație omogene de bază.
Cunoscându-se expresiile matricilor elementare de rotație și de translație de mai sus, strategia de trecere de la sistemul de coordonate i-1 la sistemul de coordonate i constă:
Intr-o rotație în jurul axei Zi-1 cu unghiul în vederea suprapunerii axei Xi-1 cu Xi
O translație de-a lungul axei Zi-1 cu distanța di, ce aduce originea Oi-1 în punctul intermediar Hi-1 (veyi figura 2.4.1.1.)
O nouă translație în lungul axei Xi-1 cu distanța ai, suprapunând astfel originea Oi-1 cu Oi.
În final a 2-a rotație în jurul axei Xi cu unghiul în vederea suprapunerii axei Zi-1 cu Zi
Astfel trecerea de la sistemul de axe cu originea în Oi se realizează cu ajutorul a patru mărimi scalare, pentru fiecare mărime fiind exprimabilă o matrice elementară de rotație sau de translație a căror produs este:
i-1A = Rot(Zi-1,)*Trans(Zi-1,di)*Trans(Xi-1,ai)*Rot(Xi,) (rel…)
De reținut este fapul că matricea i-1A se numește matricea de transformare omogenă pentru sisteme de coordonate adiacente sau mai simplu matrice de trecere.
Deducerea matricelor de transformare omogenă aferente unui robot.
Considerându-se un robot industrial cu 6 grade de libertate, la care fiecărui element în parte i se atașează câte un sistem de coordonate astfel încât sistemul de coordonate O0X0Y0Z0 este atașat bazei robotului și O6X6Y6Z6 este atașat efectorului final, pot fi deduse matricile de trecere i-1A de pentru i=1…6.
Prin rou matricilor i-1Ai, se obține matricea de transformare omogenă 0T6 care reprezintă forma matematică a trecerii de la sistemul de coordonat fix, legat de elementul 0 la sistemul de coordonate atașat efectorului final legat de elementul 6.
Elementele fij ale matricii 0T6 astfel obținute sunt niște expresii trigonometrice în care intervin lungimi de translație d și unghiuri de rotație aferente fiecărei translații sau rotații realizate la nivelul unei c.c.c.
Conform relației de mai sus 0T3 = este matricea transformării omogene aferentă mecanismului generator de traiectorie, iar expresia 3T6 = este matricea transformării omogene aferentă mecanismului de orientare.
Matricile de transformare omogenă ale robotului RRRRRR.
În figura 2.5.1 a și b s-a reprezentat robotul industrial de tip RRRRRRavând mecanism generator de treiectorie de tip RRR, respectiv mecanismul de orientare de tip RRR. Variabilele articulațiilor sunt notate cu ,,,, , , corespunzător celor 6 grade de mobilitate. S-au notat cu d1,a2,d4, și d6 parametrii constanți ai articulațiilor care au valori constante pentru un anumit robot.
a.
b.
fig 2.5.1.
pentru deducerea matricilor de transformare omogenă s-au stabilit sistemele de coordonate legate de fiecare element în parte pe baza convenției Denavit-Hartenberg, astfel încât sistemul de coordonate fix O0X0Y0Z0 este legat de baza robotului, iar sistemul de coordonate O6X6Y6Z6 este legat deefectorul final, având origineaîn punctul caracteristic.
Pe baza metodologiei descrise în paragrafele anterioare, respectiv pe figura 2.5.1. rezultă următoarele matrici de transformare omogenă i-1Ai legate de sisteme de coordonate adiacente:
Matricea de transformare omogenă pentru mecanismul generator de traiectorie este:
Matricea de transformare omogenă aferentă mecanismului de orientare:
Exprimarea orientării efectorului final prin unghiurile RPY.
Unghiurile Roll, Pitch și Yaw definesc complet orientarea efectorului final în raport cu sistemul de coordonate fix.
ROLL () – rotire cu în jurul axei Z0
PITCH() – rotire în jurul axei Y0
YAW () – rotire în jurul axei X0
Reprezentând fiecare rotație de mai sus cu câte o matrice de rotație de bază de 3×3 se obține matricea de orientare a efectorului finalexprimat în funcție de unghiurile .
Rezultă:
Fig 2.6.1. Rotațiile roll, pitch, yaw.
Astfel s-au obținut 2 reprezentări () și () pentru matricea de orientare a efectorului final.
Din egalitatea:
Se exprimă valoarea unghiurilor în funcție de componentele versorilor n, o și a. pentru simplificarea relațiilor, expresiile unghiurilor de mai sus se vor deduce din relația:
După efectuarea înmulțirilor se obține:
Egalând termen cu termen cele 2 matrici obținute, rezultă un sistem de 9 ecuații din care se aleg următoarele:
Din a doua ecuație rezultă:
Soluția de mai sus va fi extinsă pentru domeniul .
Unghiul rezultă din prima și a treia ecuație:
Soluția de mai sus va fi extinsă pentru domeniul .
Din ultimele două ecuații rezultă unghiul :
Soluția de mai sus va fi extinsă pentru domeniul .
Astfel am putut observa că fiecare orientare a efectorului final se poate descrie și prin unghiurile .
Analiza cinematică de ordin zero directă și inversă.
Mai sus s-a prezentat modalitatea de obținere a matricilor de transformare omogenă 0T3 și 3T6. Astfel matricea de transformare omogenă a dispozitivului de ghidare se obține conform relației:
unde elementele fij sunt niște expresii trigonometrice în care intervin lungimi de translație dsau unghiuri de rotație aferente fiecărei translații sau rotații realizate la nivelul câte uneia din c.c.c.
matricea 0T6 pe lângă faptul că indică trecerea de la sistemul de coordonate legat de elementul 0 la sistemul de coordonate legat de elementul 6, indică și situarea efectorului final față de baza robotului și implicit față de axele sistemului de coordonate fix. Deci conform definiției matricii de situare, rezultă următoarea egalitate:
unde px,py,pz sunt componentele vectorului de poziție al punctului caracteristic, iar nx,nz,ny,ox,oy,oz,ax,ay,az sunt componentele versorilor n,o,a care exprimă orientareaobiectului manipulat în raport cu sistemul de coordonate O0X0Y0Z0.
În practică apar două situații:
Se cunosc valorile translațiilor di și valorile rotațiilor de la nivelul fiecărei c.c.c., adică cunoaștem cu câte grade s-a învârtit fiecare motor al robotului. Astfel se pot calculaelementele matricilor i-1Ai și inclusiv elementele matricilor de transformareomogenă 0T3 și respectiv 3T6.. din relația () rezultă expresia numerică pentru 0T6 și se află valorile px,py,pz,nx,ny,nz,ox,oy,oz,ax,ay,az adică se determină poziția și orientarea obiectului manipulat, în raport cu sistemul de coordonate fix legat de baza robotului.
Acest calcul de cinematică directă este practic o transformare a coordonatelor c.c.c. (q1,q2,q3,q4,q5,q6) în coordonate ale situării indicate prin px,py,pz respectiv nx,ny,nz,ox,oy,oz,ax,ay,az.
Cel mai frecvent,însă, se întâlnește situația în care se cunoaște unde anume trebuie adus efectorul final, adică se cunosc valorile numerice pentru poziția și orientarea piesei în poziția țintă și trebuie determinat cu cât trebuie comandat fiecare motor al robotului pentru a se realiza situarea impusă. Practic se egalează element cu element matricile din expresia () și pentru că elementele fij sunt niște expresii algebro-trigonometrice se obține un număr de ecuații din care se obțin valorile di și de translație și de rotație pentru fiecare c.c.c.
În concluzie prin calculul de cinematică inversă se obțin coordonatele carteziene ale situării efectorului final, și în final coordonatele carteziene necesare pentru conducerea nemijlocită a robotului.
Calculul de cinematică directă și cel de cinematică inversă reprezintă principalele transformări de coordonateutilizate în general în robotică. Ele reprezintă esența calculelor cinematice care intervin în conducerea unui robot industrial.
Având în vedere că pentru prezentul proiect avem nevoie de cinematica directă, în continuare se prezintă modalitățile de soluționare ale problemelor de cinematică directă.
Cinematica directă.
La rezolvarea problemei de cinematică directă se consideră cunoscute dimensiunile dispozitivului de ghidare (DG) și variabilele articulațiilor q1,q2,q3,q4,q5,q6 unde qi=1,6 reprezintă fie lungimi de translație, fie unghiuri de rotație în funcție de natura cuplei cinematice conducătoare i (de translație sau de rotație).
Se urmărește determinarea poziției și orientarea efectorului final în raport cu sistemul de coordonate fix, adică se determină componentele vectorului de poziție (px,py,pz) respectiv componentele versorilor n,o și a ce definesc orientarea piesei. Aceste componente reprezintă coeficienții matricei de situare T.
Pentru rezolvarea problemei de cinematică directă se parcurd următoarele etape:
Se deduc matricile de trecere i-1Ai , i=1,2,…..,6 conform relației ().
Se deduc matricile de transformare omogenă 0T3 și 3T6 conform relațiilor:
0T3 = 3T6 =
Se înmulțește matricea 0T3 cu 3T6 și se obține matricea de transformare omogenă 0T6.
Matricea obținută se egalează termen cu termen cu matricea de situare T conform relației ().
Elementele matricei de situare T se determină din relația:
Reținem că în metoda prezentată mai sus privind obținerea relațiilor de calcul ale elementelor px,py,pz,nx,ny,nz,ox,oy,oz,ax,ay,az este nevoie de un volum mare de muncă necesar pentru înmulțirea manuală a matricilor prezentateînsă relațiile obținute sunt direct aplicate în software-ul de conducere al robotului și necesită un timp minim de calcul, astfel obținând comanda cuplelor aproape în timp real.
2.9 Analiza de ordin zero în cazul robotului de tip RRRRRR.
Având în vedere că proiectul de față are ca scop crearea unui digitizor 3d pentru comanda de tip master-slave al unui robot ABB IRB 1600, care este un robot industrial cu 6 axe de mobilitate în și care are 6 cuple cinematice de rotație, în continuare, se analizează problema de ordin zero directă la un robot RRRRRR.
nx=(S1C2S3+S1S2C3) (C4C5C6-S4S6)+C1(S4C5C6+C4S6)-S5C6(-S1C2C3+S1S2S3)
nY=(-C1C2S3-C1S2C3)(C4C5C6-S4S6)+S1(S4C5C6+C4S6)-S5S6(C1C2C3-C1S2S3)
nZ=(-S2S3+C2C3)(C4C5C6-S4S6)-S5S6(S2C3+C2S3)
ox=(S1C2S3+S1S2C3)(-C4C5S6-S4C6)+C1(-S4C5C6+C4C6)-S5S6(-S1C2C3+S1S2S3)
oy=(-C1C2S3-C1S2C3)(-C4C5S6-S4C6)+S1(-S4C5S6+C4C6)-S5S6(C1C2C3-C1S2S3)
oz=(-S2S3+C2C3)(-C4C5S6)-S5S6(S2C3+C2S3)
ax=(S1C2S3+S1S2C3)(C4S5)+C1(S4S5)+(-S1C2C3+S1S2S3)C5
ay=(-C1C2S3+C1S2C3)(C4S5)+S1(S4S5)+(C1C2C3-C1S2S3)C5
az=(-S2S3+C2C3)(C4S5)+C5(S2C3+C2S3)
px=(S1C2S3+S1S2C3)(C4S5d6)+C1(S4S5d6)+(-S1C2C3+S1S2S3)(C5d6+d4)-S1C2a2
py=(-C1C2S3-C1S2C3)(C4S5d6)+S1(S4S5d6)+(C1C2C3-C1S2S3)(C5d6+d4)+C1C2a2
pz=(-S2S3+C2C3)(C4S5d6)+(S2C3+C2S3)(C5d6+d4)+S2a2+d1
SINTEZA MECANISMULUI DE GHIDARE A DIGITIZORULUI ȘI MODELUL MATEMATIC AL ACESTUIA.
Considerații generale despre digitizorul 3D.
Această lucrare dorește să prezinte un concept al digitizorului 3D și a interfeței parametrice (interfața pentru achiziție de date) proiectat special pentru ușurarea și dezvoltarea unor noi tehnici de programare a roboților industriali. Una dintre cerințele principale pentru realizarea digitizorului este un cost scăzut al compoentelor.
Având în vedere că scopul lucrării este crearea unui digitizor 3D utilizat pentru comanda de tip Master-Slave a unui robot industrial ABB IRB 1600 am pornit prin a construi digitizorul cu aceeași configurație de cuple și axe de rotație ca și robotul ABB IRB 1600 1.2 6Kg, astfel pemițând conversia informației digitizate în mișcări ale robotului real.
Digitizorul are 5 axe de rotație, fiecare corespunzând unei cuple de pe robotul ABB, respectiv de la cupa nr 1 la 5, astfel cupla nr 6 a robotului este ignorată.
a)
b)
Fig. 3.1. Robotul ABB IRB 1600 1.2 6Kg a) și schema cinematică a digitizorului 3D b)
Pentru a putea rezolva problema de cinematică directă a robotului ABB IRB 1600 avem de luat în calcul mai mulți parametri fizici ai robotului (fig 3.2) cum ar fi lungimile fiecărui braț al robotului, limitele unghiurilor de rotire a fiecărei cuple cinematice de pe robotul real (tabelul 3.1), acești parametri fiind numiți parametri Denavit-Hartenberg.
Fig 3.2 dimensiunile robotului IRB 1600 pana la cupla nr 5
Am ales ca digitizorul 3D să fie la scara 1:5 față de robotul real, astfel toate dimensiunile elementelor de legătură vor fi împărțite cu cinci. Astfel rezultă dimensiunile digitizorului din tabelul următor.
Limitele de rotație ale unghiurilor cuplelor cinematice rămân identice cu cele ale robotului, scrise în tabelul 3.1.
Modelul matematic al digitizorului 3D.
Mecanismul manipulatorului 3D este un mecanism antropomorf cu cinci grade de mobilitate reprezentate prin cinci elemente cinematice legate succesiv prin cinci articulații. După cum se observă din figură, pozițiile relative dintre axele articulațiilor succesive sunt de paralelism sau de ortogonalitate. Aceste valori particulare ale parametrilor unghiulari face mai simplă determinarea matricelor de transformare parțiale.
Particularizând expresia generală a matricei de transformare omogenă pe baza parametrilor Denavit-Hartenberg, se vor determina matricele de poziție relativă ale elementelor succesive ale mecanismului, iar expresiile se vor vedea în tabelul următor:
Produsul consecutiv al celor cinci matrice va reprezenta modelul matematic direct al mecanismului manipulator, model exprimat prin matricea de transformare:
Aceste matrici sunt implementate în software ul de simulare al digitizorului prin care se corelează situarea robotului real cu situarea digitizorului 3D.
CONCEPȚIA CONSTRUCTIVĂ A DIGITIZORULUI 3D.
Sistemul mecanic.
Structura digitizorului este, de fapt, un sistem compus din mai multe subsisteme. Sistem este un ansamblu de părți componente, elemente, și legăturile dintre acestea. Elementele care compun acest sistem se numesc subsisteme. La rândul lor subsistemele pot avea și ele subsisteme, din acest motiv există o ierarhizare și anume sistemul principal se numește sistem de rangul 1, subsistemele se numesc sisteme de rangul 2, etc.
Modul cum se compune un sistem din subsisteme și legăturile dintre aceste subsisteme definesc structura unui sistem. Aceasta compunere a sistemelor din subsisteme se evidențiază prin scheme bloc, iar legăturile dintre subsisteme, prin matrici de cuplare (care definesc legăturile dintre "intrările" și "ieșirile") și matrici de structură (care ne arată care subsisteme sunt în legătură).
Sistemul digitizorului comunică cu mediul și este compus din următoarele:
Sistemul mecanic al digitizorului 3D care are rolul scheletului uman, astfel definește natura și amplitudinea mișcărilor ce se pot realiza.
Sistemul senzorial al digitizorului 3D, care măsoară poziția unghiulară a cuplelor cinematice
Sistemul de achiziții de date care preia informații despre situarea sistemului mecanic, în format analogic și le prelucrează, transmițându-le mai apoi PC-ului, care la rândul să le transmite mai departe controllerului IRC5 al robotului real, ABB IRB 1600.
Legăturile dintre componentele digitizorului 3D și a componentei (fig xx),prezentată în figura de mai jos, adică punctul caracteristic al efectorului final, care realizează legăturile cu mediu este o legătură directă.
Fig xx. Vârful digitizorului. Punctul caracteristic al efectorului final.
Legăturile directe la sistemul de comandă, transmit comenzi la sistemul de acționare ale robotului ABB IRB 1600, iar acesta acționează asupra cuplelor cinematice conducătoare care la rândul lor acționează asupra mediului prin intermediul efectorului final.
În cazul general Digitizorul 3D trebuie să realizeze:
Percepție pentru a culege informații din mediul de lucru în principal pentru reperarea unor puncte în spațiu sau pentru reproducerea unor mișcări de către robotul real, cu ajutorul senzorilor.
Comunicare, pentru transmiterea informațiilor preluate, spre prelucrare
Decizie în scopul realizării unor sarcini.
Pentru realizarea acestor funcții sistemul mecanic al digitizorului, prezentat în figura de mai jos (fig xx), este alcătuit din:
Fig xx. Sistemul mecanic al digitizorului 3D
Picior de susținere – 1
Placa de baza a digitizorului 3D – 2
Mecanism de susținere cu bila a primei cuple cinematice de rotație – 3
Prima cuplă cinematică de rotație – 4
Primul element de legătură – 5
A doua cuplă cinematică – 6
Al doilea element de legătură – 7
A treia cuplă cinematică – 8
Al trilea element de legătură – 9
A patra cuplă cinematică – 10
Al cincelea element de legătură – 11
A cincea cuplă cinematică – 12
Elementul final care reprezintă punctul caracteristic al efectorului final – 13
După cum se poate observa, elementul final (13) este prevăzut cu o tijă filetată, reglabilă, pentru a putea adapta dimenziunea acestui element la dimenziunile, efectorului final real, instalat pe robot.
La fel ca la orice structură de robot antropomorf, structura digitizorului 3d poate fi asimilată ca fiind 2 mecanisme independente și anume: mecanismul de ghidare și mecanismul de orientare. Mecanismul de ghidare, numit și mecanismul generator de traiectorie MGT, și mecanismul de orientare (MO).
Mecanismul generator de traiectorie (MGT) este format din cuplele cinematice care fac posibilă deplasarea punctului caracteristic pe traiectoria impusă. Pentru generarea traiectorie sunt necesare și totodata suficiente 3 grade de mobilitate. Astfel primele 3 cuple ale digitizorului 3D (4,6,8 pe fig xx) reprezintă MGT al digitizorului 3D.
Mecanismul de orientare (MO) este format din cuplele cinematice care asigură orientarea în spațiu a obiectului de lucru. Pe schema digitizorului 3d aceste sunt notate cu 10 respectiv 12.
Cum s-a precizat în capitolul anterior elementele sistemului mecanic au fost dimensionate în mod proporțional cu dimensiunile robotului ABB IRB 1600 1.2 6kg, păstrându-se o proporție de 1:5 (fig xx) acestea fiind trecute în tabelul xx.
Fig xx. Dimensiunile elementelor robotului ABB IRB 1600 și a digitizorului 3D.
Având în vedere că digitizorul 3D este operat de un operator uman, nu este supus unor forțe excesive, astfel nu se consideră necesară realizarea unor calcule de rezistență.
Sistemul senzorial
Denumirea senzorului provine din cuvântul latin „sensus”, care însemnă simț și înainte de a fi adoptat pentru sisteme tehnice, a fost și este utilizat pentru a desemna capacitățile organelor de simț ale oamenilor și ale organismelor vii, de a culege și prelucra informații din mediul înconjurător și a le transmite creierului. În acest proces mărimile fizice, neelectrice, sunt convertite în semnale electrice, pe care creierul le poate prelua și interpreta și pe baza cărora coordonează acțiunile mușchilor. Modelul din biologie îl întâlnim, în mare măsură, la sistemele mecatronice, astfel că nu este inutilă o scurtă trecere în revistă a sistemelor senzoriale ale omului, cu unele comentarii privind contribuția acestora în supervizarea proceselor de producție de către om.
Senzorul este un dispozitiv care sesizează un fenomen. Termenul de senzor este folosit pe scară largă și este asociat acelei componente electronice care permite măsurarea unei mărimii fizice. Dar atunci când se încercă să se clarifice noțiuni de senzor nu se poate, să nu se amintească și de noțiunea de traductor. Cele două componente, senzor și traductor de cele mai multe ori se folosesc cu același înțeles, dispozitiv care permite măsurarea unei mărimii fizice. De fapt, senzorul sesizează (simte) un anumit fenomen, recepționează și răspunde la un stimul fizic.
Sistemul care conține unul sau mai mulți senzori dar și sistemul electronic de prelucrare și interpretare a informația de la senzor/i este denumit sistem senzorial. Sistemele senzoriale îndeplinesc diferite funcții într-un proces complex. Un exemplu de Senzori, Sisteme Senzoriale
Un exemplu de sistem senzorial este robotul. Robotul execută un număr mare de acțiuni într-un mediu de lucru. Realizarea acțiunilor se poate face pe baza informațiilor primare obținute de la senzorii care caracterizează mediul de lucru. Ansamblul dispozitivelor și echipamentelor care oferă robotului posibilitatea executării unei funcții tehnologice se numește sistem senzorial.
Există astăzi senzori pentru mai mult de 100 de mărimi fizice, iar dacă se iau în considerare și senzorii pentru diferite substanțe chimice, numărul lor este de ordinul sutelor. Se pot pune în evidență circa 2000 de tipuri distincte de senzori, oferite în 100.000 de variante, pe plan mondial
Senzorii pot fi clasificați în funcție de tehnologiile utilizate pentru realizarea lor:
Tehnologii ale materialelor feromagnetice;
Tehnologii ale materialelor piezo-ceramice;
Tehnologii ale microeelectronicii și microsistemelor;
Tehnologii ale staturilor subțiri;
Tehnologii ale staturilor groase;
Tehnologii pentru materiale sinterizate;
Tehnologii ale foliilor etc.
În funcție de tipul mărimii fizice de intrare senzorii pot fi clasificați în: § absoluți, când semnalul electric de ieșire poate reprezenta toate valorile posibile ale mărimii fizice de intrare, raportate la o origine (referință) aleasă;
incrementali, când nu poate fi stabilită o origine pentru toate punctele din cadrul domeniului de măsurare, ci fiecare valoare măsurată reprezintă originea pentru cea următoare.
Foarte importantă este clasificarea în funcție de tipul mărimii de ieșire, în:
senzori analogici, pentru care semnalul de ieșire este în permanență proporțional cu
mărimea fizică de intrare;
senzori numerici (digitali), la care semnalul de ieșire poate lua numai un număr limitat
de valori discrete, care permit cuantificarea semnalului fizic de intrare.
Privind problema semnalului de ieșire din punctul de vedere al numărului de valori
posibile, pot fi puse în evidență alte două clase distincte:
senzori binari, care prezintă la ieșire numai două valori distincte;
senzori cu un număr mare de valori, pentru măsurarea unei mărimi într-o anumită plajă; pot fi analogici sau numerici.
Alegerea și aprecierea unui anumit tip de senzor are la bază o serie întreagă de parametri dintre cei mai diferiți, cum ar fi: dimensiunile, greutatea, costul, gradul de protecție electrică, domeniul de măsurare, consumul de energie, natura semnalelor de ieșire și complexitatea lanțului de prelucrare a acestora, sensibilitatea, rezoluția, precizia, fidelitatea, repetabilitatea.
În cazul de față pentru a determina poziția unghiulară a cuplelor cinematice cu ajutorul căreia putem determina situarea și orientarea efectorului final se vor folosi senzori de poziție sau deplasare aceștia reprezentând elementul esențial în vederea rezolvării celor două probleme cinematice: directă și inversă.
Fig. Xx schema bloc a unui senzor cu semnale de intrare/ieșire
Clasificarea și caracteristicile senzorilor
Clasificarea acestor senzori se poate face după mai multe criterii, astfel:
După modul de exprimare a mărimii deplasării:
senzori de poziție (absoluți) care furnizează valoarea absolută a deplasării, ce
corespunde poziției curente a elementului mobil al cuplei cinematice considerată față de originea unui sistem de coordonate atașat cuplei;
senzori de deplasare (relativi) care dau mărimea relativă a deplasării, rezultată ca o diferență a valorilor corespunzătoare coordonatelor finale și inițiale ale elementului mobil.
După natura semnalului furnizat de senzor:
senzori numerici incrementali care transformă deplasarea reală, care este o mărime continuă, într-o succesiune de impulsuri;
senzori numerici absoluți la care deplasarea reală este exprimată cu ajutorul unui grup de semnale binare ce corespund unui număr codificat în binar;
senzori analogici la care deplasarea reală este transformată într-o mărime continuă,
modulată în amplitudine sau în fază.
După natura mărimii de intrare:
senzori liniari pentru măsurarea deplasărilor rectilinii;
senzori rotativi care măsoară deplasările unghiulare.
O schemă a principalelor tipuri de senzori de poziție/deplasare este redată în figura xx , a, iar în figura xx, b sunt prezentate formele semnalelor de ieșire aferente.
Pentru a păstra costurile de realizare a digitizorului reduse, se vor utiliza senzori analogici, respectiv un sistem senzorial format din potențiometre, care vor fi prezentați în continuare.
Principiul măsurării analogice a deplasării este prezentat în figura xx.
a. b.
Fig. xx Principiul măsurării analogice a deplasărilor; a) semnale liniare; b) semnale sinusoidale
Senzorul emite un semnal electric dependent de deplasare, materializat printr-o tensiune electrică, având o variație liniară (xx, a) sau sinusoidală (xx, b). Dacă se consideră amplitudinea semnalului pornind din punctul d0 (fig.xx, a) și până în punctul df , se constată că există o corespondență biunivocă între deplasare și mărimea tensiunii la ieșirea senzorului; în mod similar se petrec lucrurile și în cazul sinusoidei din fig.4.8, b, în condițiile în care se lucrează cu arcele de sinusoidă corespunzătoare domeniului -T/4 – T/4, sau T/4 – 3T/4. În fiecare asemenea domeniu, unei anumite mărimi a tensiunii îi corespunde un singur punct pe axa deplasărilor și numai unul (metoda analogic-absolută).
Ca urmare senzorul funcționează ca senzor de poziție. În cazul în care mărimea deplasării ce trebuie măsurată o depășește pe cea corespunzătoare perioadei T, semnalul la ieșirea senzorului va repeta dreapta sau sinusoida din figura xx de mai multe ori, până la acoperirea distanței de măsurat. Astfel tensiunea U1 determină poziția punctului d1 i numai dacă se cunoaște numărul, i, de perioade pe care le-a furnizat senzorul până în acel moment (metoda ciclic absolută). În aceste condiții senzorul funcționează ca senzor de deplasare.
Principiul de funcționare al potențiometrelor rotative poate fi explicat cu fig xx.
El este constituit dintr-o rezistență fixă Rt, de-a lungul căreia se deplasează un cursor, solidar cu elementul a cărui deplasare se măsoară și izolat electric față de acesta; cursorul asigură contactul cu rezistența fixă.
Schema unui potentiometru rotativ.
Valoarea rezistenței Rx, măsurată între cursor și una dintre extremitățile rezistenței fixe, depinde de poziția cursorului și, implicit, de deplasarea elementului mobil; presupunând că rezistența Rt are o configurație uniformă, Rx poate fi exprimată cu relațiile:
pentru un potențiometru liniar (fig.xx, a), respectiv:
pentru un potențiometru rotativ, pentru care înfășurarea este dispusă de-a lungul unui arc de cerc, și are o variație liniară în funcție de deplasare.
Rezistența Rt poate fi materializată fizic cu ajutorul unui fir bobinat sau printr-un strat conductiv. La potențiometrele bobinate eroarea minimă corespunde saltului de la o spiră la alta, respectiv lățimii cursorului. Potențiometrele de precizie permit o rezoluție maximă ΔR/R de ordinul de mărime 10-3. Straturile conductive sunt realizate pe un suport izolator din plastic, pe care se aplică o pulbere conducătoare de carbon sau metalică, constituită din granule cu mărimi de ordinul a 10-2 μm. Și această structură granulară implică o variație discontinuă a rezistenței măsurate, însă rezoluțiile acestor potențiometre (valori de circa 0,3 μm) sunt net superioare celor ale potențiometrelor cu rezistențe bobinate.
Dezavantajul principal al potențiometrelor cu contact rezidă în uzura mecanică, determinată de frecarea dintre cursor și rezistență, care limitează durata de funcționare la maxim 106 – 107 cicluri, insuficientă pentru cerințele impuse de servosistemele sistemelormecatronice, motiv care a împiedicat implementarea senzorilor de acest tip în construcția unor echipamente de înaltă precizie.
Dezvoltarea unor senzori potențiometrici performanți a contribuit substanțial la creștereaponderii lor în diverse domenii, cum ar fi robotica. Astfel, firma Midori Precision (PEWATRON – Elveția), a dezvoltat seria BLUE-POT [PEWATRON], care cuprinde potențiometre fără contact, ce se bazează pe interacțiunea dintre un magnet permanent și un strat magnetorezistiv aplicat pe o placă de bază (fig.xx, b). Caracteristica de ieșire este dependentă de mișcarea magnetului. Este un potențiometru ideal pentru o funcționare fără uzură și întreținere, care asigură durate de funcționare mai mari de 500 milioane de cicluri.
Caracteristica termică a acestor potențiometre poate fi corectată prin diferite metode de compensare: montaje cu rezistențe de compensare; compensare cu termistor. Rezultă o stabilitate de 0,2% FS (Full Scale)în poziția centrală (50% din valoarea ieșirii) și 1..2% în celelalte poziții.
În final se vor prezenta câteva considerații privind influența diferitelor elemente asupra montajului de măsurare. Potențiometrul este alimentat de la o sursă de c.c., Es, având o rezistență internă Rs. Tensiunea Vm, culeasă la ieșirea rezistenței variabile Rx și măsurată cu un dispozitiv având rezistența internă Ri, poate fi exprimată cu relația:
Cazul ideal presupune o expresie de forma:
impunând două condiții limită: Rs = 0 și Ri = .
După cum se poate observa în figura de mai jos, digitizorul dispune de 5 potențiometre lineare, axiale, multitură cu următoarele caracteristici:
Amplasarea senzorilor potențiometrici pe digitizorul 3D
Potențiometrul utilizat la realizarea digitizorului 3d.
Potențiometrele transmit pozițiile unghiulare ale cuplelor cinematice sistemului deachiziții de date spre interpretare, împreună cu placa de achiziție formând sistemul senzorial al digitizorului.
Sistemul de achiziții de date.
Sistemul de achiziții de date al digitizorului 3d are rolul de a prelua semnalele analogice de poziție preluate de la senzori, respectiv potențiometrele axiale, și de a le transforma în semnale digitale, care sunt mai apoi transmise computerului. Cu ajutorul computerului, mai apoi, semnalele sunt prelucrate si interpretate cu ajutorul limbajului de programare parametric numit GrasshopperTM. Limbajul de programare Grasshopper, prin intermediul unui modul de simulare dedicat, transmite către controllerul real al robotului instrucțiuni deja transformate în limbajul nativ al roboților ABB care se numește RAPID.
Schema de principiul al sistemului de achiziții de date ca parte integrantă a digitizorului 3D este prezentată în figura (xx)
Fig. xx . Schema de principiu a sistemului de achiziții de date
Pentru a realiza achiziția de date furnizată de senzorii potențiometrici amplasați pe fiecare cuplă cinematică a digitizorului, de așa cum am arătat în subcapitolul anterior s-a ales utilizarea unei plăci dezvoltare open-source bazată pe microcontrollerul ATmega328, respectiv placa de dezvoltare Arduino UNO v3.
Fig xx. Placa de dezvoltare Arduino uno.
Arduino UNO este o placă de dezvoltare bazată pe microcontrollerul Atmega328. Acesta placă dispune de 14 pini de intrare ieșire digitali, din care 6 pot fi utilizați ca ieșiri PWM(pulse width modulation), 6 intrări analogice, un cristal oscilator de 16 Mhz, conector USB, mufă pentru alimentare de la sursă externă(transformator AC-DC sau acumulator). Mai multe detalii despre Arduino UNO sunt trecute ăn tabelul de mai jos.
Alimentarea plăcii de dezvoltare se poate realiza ăn 2 moduri, prin conectorul USB, când placa este conectată la PC sau prin mufa de 2,1 mm, care se poate conecta la un transformator AC-DC sau la bornele unui acumulator. Când placa este conectată la o sursă externă trebuie să fie alimentată cu o tensiune între 6-20 V. Dacă tensiunea este sub 7V, pinul de 5 volți nu va furniza voltaj corespunzător, astfel placa ar putea deveni instabilă. Dacă placa este alimentată cu mai mult de 12 V, regulatorul de tensiune s-ar putea supraîncălzi și consecvent deteriora. Tensiuniea recomandată pentru alimentarea încondiții optime este între 7 și 12 V.
Memoria microcontrollerului este de 32KB din care 0,5 KB este utilizată de către bootloader, memoria bootloaderului fiind folosită la inițializarea plăcii. De asemenea ATmega 328 mai dispune de 2KB de memorie SRAM și 1 KB EEPROM, care poate fi citită și scrisă cu ajutorul librăriei EEPROM.
Fiecare din cei 14 pini digitali de pe Arduino UNO poate fi folosit fie ca pin de intrare, fie ca pin de ieșire. Acești pini pot fi mutați între modul intrare și modul ieșire, la inițializarea plăcii, prin comenzi de programare cum ar fi pinMode(), digitalWrite sau digitalRead(). Acești pini operează la tensiunea de 5 V.
Arduino UNO mai dispune și de 6 intrări digitale, care sunt utilizați pentru a prelua semnalele de la digitizorul 3D, aceștia sunt marcați de la A0 la A5, fiecare având o rezoluție de 10 biți (adică pot lua 1024 de valori). Intrările Analogice pot măsura de la 0V la 5V.
Ca facilități pentru cominicații cu PC-ul sau alte microcontrollere sau dispozitive, Arduino UNO dispune de comunicație seriala UART TTL 5V, care este disponibilă pe pini 0 (RX) și 1 (TX). Un circuit intregrat dedicat, ATmega16U2, redirecționează acest canal de comunicație prin intermediul portului USB și apare pe PC ca port virtual pentru pachetele software care rulează pe PC.
Placa de dezvoltare poate fi programată cu mediul de dezvoltare software, bazat pe limbajul de programare orientat pe obiecte C++, oferit în mod gratuit de Arduino. Microcontrollerul ATmega328 are bootloader preinstalat, astfel pentru programarea lui nu este nevoie de programator extern dedicat.
Fig xx. Mediul de dezvoltare Arduino
În vederea processării semnalelor analogice Arduino Uno, la fel ca celelalte microcontrollere are integrat un convertor analog-digital(ADC) sau convertor analogic-numeric(CAN) . Convertorul analog-digital (ADC) este o caracteristică importantă a microcontrollerului care convertește o tensiune analogică la un număr digital.
După cum am amintit mai sus, nu toți pinii de pe placa de dezvoltare sunt capabili să facă conversie analog-digitală, pe placa Arduino UNO aceștia fiind notați cu A în față.
Convertoarele analog-digitală pot varia de la microcontroller la microcontroller. ADC-ul de pe Arduino UNO este un ADC pe 10 biti, însemnând că are capacitatea de a detecta 1024 (210) de niveluri discrete. Unele microcontrollere au ADC pe 8 biți (28 = 256 niveluri discrete), iar altele pot avea ADC pe 16 biți adică 216 = 65535 niveluri discrete.
Modul de funcționare al unui ADC este destul de complex. Există mai multe variante de realizare a conversiei analog-digitale, dar una din cele mai comune tehnici folosește tensiunea analogică pentru a încărca un capacitor intern pentru ca apoi să se măsoare timpul necesar pentru descărcarea capacitorului pe un rezistor intern. Microcontrollerul monitorizează numărul ciclurilor de tact care trec înainte ca acest capacitor să se descarce. Acest număr fiind rezultatul conversiei analog-digitale.
Convertorul analog-digital returnează o valoare proporțională. Asta înseamnă că ADC ul consideră că o tensiune de 5V este 1023 și orice valoare a tensiunii mai mică de 5V va fi o proporție între 5V și 1023. Astfel numărul returnat de ADC se poate deduce din ecuația următoare:
Spre exemplu dacă valoarea tensiunii pe intrarea analogică este 2,12 V, numărul returnat de ADC va fi:
Pentru a demonstra cum funcționează în mod real transformarea semnalelor analogice furnizate de sistemul senzorial al digitizorului 3D se prezintă montajul din figura de mai jos:
Fig xx. Montaj ADC cu preluare semna analogic de la potentiometru linear, axial de 10Kohm
La început pentru a respecta diagrama de montaj din figura de mai sus trebuie să definim pinul A3 ca fiind intrare:
pinMode(A3, INPUT);
mai apoi prin comanda analogRead(); se face conversia analog-digitală
int x = analogRead(A3); //Citește valoarea de pe pinul A3 în variabila x
după citirea valorii se trece la afișarea acesteia
Serial.print(“Analog value: “);
Serial.println(x);
Numărul ADC este returnat și stocat în variabila x și este un număr între 0 și 1023. Având în vedere că Arduino are un ADC pe 10 biți (210 = 1024) se stochează variabila x ca și int, pentru simplul fapt că x (10 biți) este mai mare decât se poate stoca într-un byte (8 biți).
Pe măsură ce învârtim potențiometrul și se schimbă valoarea tensiunii de pe pinul analogic, valoarea lui x se schimbă corespunzător.
Realizarea tuturor acestor operații în cadrul aplicației care face obiectul acestei lucrări este posibilă prin crearea unui firmware (program C++ specific microcontrollerelor) special al cărui cod sursă se anexează lucrării la ANEXA X. Firmware ul programează microcontrollerul să citească valorile celor 5 potențiometre de pe cuplele digitizorului, face conversia analog-digitală ale acestor valori, care sunt citite apoi cu ajutorul componentei Firefly a limbajului de programare parametrică GrasshopperTM care rulează pe PC. De aici, limbajul Grasshopper, prin intermediul unui modul de simulare a robotului ABB IRB 1600, face transformările omogene necesare pentru simularea mișcărilor robotului în funcție de semnalele redate de sistemul senzorial al digitizorului 3D.
Aceste componente, precum și limbajul de programare Grasshopper vor fi prezentate detaliat în capitolul ce urmează.
DEZVOLTAREA UNEI APLICAȚIIDE SIMULARE A UNUI DIGITIZOR 3D CU 5 GRADE DE MOBILITATE.
În ultimii 15 ani, a avut loc o migrare a practicilor de proiectare către utilizarea modelării parametrice. Termenul se referă la o tehnică de modelare digitală a unei serii de variante de design ale căror relații între ele sunt definite printr-unul sau mai mulți parametri care apoi formează un spațiu parametric care poate conține duzine sau mii de forme legate sau distincte (Lagios 2010). Deși modelarea parametrică a început ca un mijloc de a dezvolta noi tehnici de animație în cadrul industriei filmelor/jocurilor în mijlocul anilor 1990, a avut loc o confluență a disciplinelor în anii recenți care a îmbrățișat acest tip de metodologie a proiectării în primul rând datorită abilității sale de a crea proiecte ce pot fi rapid adaptate sau modificate.
Un exemplu recent este GrasshopperTM – un limbaj de programare vizual creat de David Rutten la Robert McNeel & Associates care furnizează o interfață parametrică intuitivă pentru aplicația Rhino CAD. În Grasshopper, programele sunt create prin tragerea componentelor pe editor (numit pânza). Datele de ieșire ale acestor componente sunt apoi legate de datele de intrare ale componentelor următoare – creând un grafic aciclic al fluxului informației (Figura 4). Grasshopper aduce proiectanților un mod de a privi problemele de proiectare ca un set de relații complexe și de a trece pe hartă aceste relații în mod grafic și programatic într-un sistem ce le permite să se joace în mod interactiv cu alternative (Day 2009).
Ca instrument de modelare generativă, Grasshopper oferă capabilități fără precedent, dar în mod predefinit, nu are abilitatea de a comunica cu dispozitive hardware, cum ar fi microcontrolori programabili sau alte interfețe haptice. Firefly este un set de instrumente care fac legătura între lumea digitală și cea fizică prin permiterea comunicării directe în serie între dispozitive hardware și plug-in-ul Grasshopper. Firefly permite accesul în timp real la fiecare dintre senzorii montați pe brațul de digitalizare, formând baza parametrică pentru simularea cinematică robotică.
Simularea cinematică a roboților industriali a devenit un mijloc important pentru mărirea eficacității fabricării robotice. Cinematica privește mișcarea corpurilor într-un mecanism robotic fără să se ia în considerare forțele/cuplurile care provoacă respectiva mișcare (Siciliano 2008). Deoarece majoritatea instrumentelor CAM de simulare încep cu introducerea unuia sau mai multe puncte țintă (sau obiective), deseori utilizează o soluție cinematică inversă – sau procesul de determinare a tuturorunghiurilor și configurațiilor ale articulațiilor pentru a ajunge la poziția dorită. Procedura inversă se numește cinematică înainte. Dacă i se dă toate unghiurile relative fiecărei articulații și lungimile fiecărui picior, vârful de instrument (cunoscut și ca efectorul de capăt) poate fi găsit făcând o serie de transformări de matrice asupra fiecărui corp din mecanismul robotic. Un script VB.NET personalizat în Grasshopper utilizează fiecare din valorile potențiometrilor de la brațul de digitalizare pentru a crea o simulare cinematică înainte a robotului ABB. Pe măsură ce utilizatorul mișcă spațiul digitalizator – trasând obiecte fizice sau creând propriile trasee pentru instrumente – ei pot observa o simulare imediată a robotului îndeplining aceleași acțiuni (Figura 5). Unul din butoanele aflate pe vârful brațului de digitalizare permite utilizatorilor să înregistreze informațiile traseului de instrument care este tradus direct în cod RAPID – limbajul de programare folosit de toți roboții ABB. Celălalt buton resetează sau șterge datele înregistrate.
Un aspect important al fluxului de lucru propus a fost de a putea extrage codurile de programare robotică pentru a încerca repede modelele de mișcare înregistrate cu robotul industrial mai mare. RAPID este limbajul de programare de nivel înalt folosit pentru a manevra toți roboții ABB, iar întregi cărți au fost scrise despre cum să vă generați propriile programe. Această secțiune nu încearcă să reproducă literatura existentă; dimpotrivă încearcă să rezume trăsăturile care au fost aplicate în acest proiect.
Asemenea altor mașini controlate de calculator, roboții au nevoie de instrucțiuni pentru a funcționa corect. Deși există diverse tipuri de date, operatori și funcții care pot fi incluse într-o serie de coduri, există două declarații principale în fiecare program: 1) o declarație care definește unul sau mai multe puncte țintă (numite robtargets) pentru a localiza cu precizie efectorul de capăt în spațiu și 2) un set de comenzi de mișcare ce comunică robotului cum să se miște către pozițiile respective. Fiecare tip de date compozit cere propriul set de parametri sau argumente – după cum se vede în Figurile 6 și 7. Toate aceste definiții au fost create pe loc în timp ce brațul de digitalizare era mânuit de utilizator.
Un robtarget este un tip de date compozit compus dintr-un număr predefinit de valori. Fiecare robtarget este definit de numele său, poziția sa absolută sub forma coordonatelor XYZ, rotația sau orientarea sub forma a patru valori cuaternion, configurațiile articulațiilor pentru axele #1, 4, 6 și cfx, și în final orice configurații externe în plus ale axelor (Figura 6).
Fiecare robtarget primește o identificare unică de fiecare dată când soluția este recalculată. Informația poziției poate fi calculată prin îndeplinirea transformărilor de matrice asupra tuturor articulațiilor pentru a determina poziția vârfului de instrument în spațiu. Cuaternioni furnizează o notație matematică convenabilă pentru reprezentarea orientării și rotației obiectelor în trei dimensiuni. Spațiul nu va putea permite derivarea întreagă a matematicii cuaternione folosite în acest proiect, dar dacă se dă rotația în jurul axei longitudinale = φ, transversale = θ și verticale = ψ al vârfului instrumentului; astfel cele patru valori cuaternione pot fi găsite utilizând următoarele ecuații:
–
–
–
–
Datele de configurare sunt folosite pentru a identifica cvadrantul curent al axei robotice pentru articulațiile 1, 4 și 6. Ultimul număr de configurare este folosit pentru a alege una din cele opt configurații de robot predefinite. În sfârșit, orice configurație de axă externă poate fi furnizată pentru a localiza poziția oricărei axe externe. Valoarea 9E9 este definită pentru axele care nu sunt legate.
Instrucțiuni de mișcare comunică robotului cum să se miște de la poziția curentă către robtarget-ul indicat (Figura 7). Dotat cu șase sau mai multe DOF, robotul se poate mișca în orice fel, iar primul argument în comanda de mișcare indică tipul de mișcare dorit. În acest exemplu, robotul va încerca să se miște în mod linear către următorul robtarget. Viteza efectorului de capăt se măsoară în mm/s și poate fi determinată luând distanța de la poziția curentă a instrumentului la poziția anterioară și împărțind-o cu intervalul de timp între înregistrări. Datele de zonă descriu exactitatea poziției, în timp ce obiectele de instrument și de lucru ce urmează să fie folosite sunt definite în altă parte a programului.
CONCLUZII.
Această lucrare prezintă un nou controlor tangibil și flux de lucru optimizat pentru fabricare robotică. Deși s-au făcut progrese considerabile în domeniul instrumentelor digitale folosite pentru a manipula roboții, există o problemă identificabilă la procesul existent de proiectare și fabricare. Articulația fizică a intrării și ieșirii reprezentate folosind unelte special construite pentru fabricare poate permite adoptarea răspândită și noi ocazii creative pentru proiectanți. Aceasta va ajuta la restabilirea relației dintre proiectanți și procesul de fabricare fizică. Sistemul propus permite un mod rapid și intuitiv de a crea căi de instrument personalizate, simula cinematica robotică și producerea codului RAPID pentru manipularea robotului industrial ABB-IRB 1600.
BIBLIOGRAFIE
Radu Cătălin Țarcă: Introducere în Robotică, Editura Universității din Oradea, 2003
Shimon Y. Nof: Industrial Robotics Handbook , Jhon Wiley and Sons, 1999
https://learn.sparkfun.com/tutorials/analog-to-digital-conversion/all
BIBLIOGRAFIE
Radu Cătălin Țarcă: Introducere în Robotică, Editura Universității din Oradea, 2003
Shimon Y. Nof: Industrial Robotics Handbook , Jhon Wiley and Sons, 1999
https://learn.sparkfun.com/tutorials/analog-to-digital-conversion/all
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Digitizor 3d Utilizat Si Pentru Comanda de Tip Master Slave a Robotului Abb Irb 1600 (ID: 162353)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
