+ All Categories
Home > Documents > Cinematic A Robotului RB 4 EV

Cinematic A Robotului RB 4 EV

Date post: 16-Jul-2015
Category:
Upload: laurita-maracine
View: 143 times
Download: 0 times
Share this document with a friend

of 34

Transcript

Universitatea Tehnica, Cluj-Napoca

Proiect la Roboti Industriali

Coordonator :

Studenti :

1

CINEMATICA ROBOTULUI RB 4 EVRobotul RB 4 EV are menirea de a fi folosit numai in scopuri educationale sau ca hobby. Nu are precizia si robustetea necesara unui robot industrial. Are 6 axe, fiecare dintre ele fiind actionata de un motor pas cu pas. Robotul are 5 grade de libertate; rotatia corpului, a umarului, a cotului si a incheieturii. Al 5-lea grad de libertate il reprezinta indoirea incheieturii. Robotul este controlat prin manipularea individuala a unghiurilor articulatiilor. In termeni mai tehnici, acestea se refera la miscarea in spatiu pe care o pot efectua aceste articulatii. Nu exista un feedback intre robot si calculatorul care-l controleaza. Limitarile soft sunt calculate si mentinute de sistemul de control astfel incat sa protejeze robotul. Acest lucru este departe de ideal si prezinta o multime de probleme. De exemplu, daca alimentarea spre robot este intrerupta, in momentul in care sistemul este repornit, nu putem stii pozitia curenta a robotului.

Figura 1 (d1 = 214mm, a2 = 200mm, a3 = 150mm, d5 = 85mm) MISCARE Rotirea corpului Rotirea umarului Rotirea cotului Indoirea incheieturii Rotirea incheieturii LIMITA 240 grade 150 grade (75 inainte, 75 inapoi) 120 grade (75 inainte, 75 inapoi) 180 grade 360 grade

Cele 6 axe sunt controlate simultan. Aceasta inseamna ca daca o operatiune complexa este programata, toate cele 6 axe se vor misca intr-o maniera coordonata, astfel ca toate cele 6 axe vor ajunge la destinatia lor finala simultan. Aceasta inseamna o miscare coordonata. Din Figura 1: (1) Desenati o schita a robotului in pozitia ZERO si identificati si construiti axele corespunzatoare (2) Construiti tabela cu parametrii Denavit-Hartenberg

2

(3) Determinati matricile T individuale 0 (4) Obtineti ecuatia cinematica directa 5T pentru RM-101 (5) Dezvoltati un algoritm simbolic fara erori pentru cinematica inversa folosind limitarile impuse de articulatiile de mai sus Pentru punctele (4) si (5), scrieti doua programe folosind MATLAB-ul care sa rezolve problema. De exemplu, daca introduceti valorile incheieturilor, cinematica 0 directa sa furnizeze ca rezultat elementele 5T . Determinati daca rezultatul este corect.0 Apoi luand rezultatul 5T ca date initiale, solutia inversa ar trebui sa aiba ca rezultat unghiurile de start initiale. Aceasta procedura va demonstra ca algoritmul dumneavoastra functioneaza corect. Pentru problema de cinematica inversa solutia ar trebui sa intercepteze si sa identifice corect cauza atunci cand avem date initiale eronate.

(6) Comparati rezultatele obtinute prin programul scris in MATLAB cu functiile ikine si fkine din Toolbox-ul Robotics. Care dintre ele necesita mai putine calcule? (Indicatie: puteti determina acest lucru cu ajutorul functiei MATLAB flops). Dimensiuni pentru robotul RB 4 EV: Inaltimea articulatiei umarului deasupra mesei = 214mm Lungimea bratului superior = 200mm Lungimea bratului inferior = 150mm Distanta dintre incheietura si centrul palmii = 85mm

3

4

CINEMATICA ROBOTULUI RB 4 EV Parametrii DHMai jos este schitat un robot EV4 RB in pozitia ZERO (toate unghiurile theta ale articulatiilor = 0)

Exista mai multe variante posibile a acestei pozitii. Am ales-o astfel incat rotatia pozitiva in jurul axei articulatiei orizontale sa ridice incheietura (in loc sa o coboare). Se observa ca toate axele X sunt paralele. Din schita, putem obtine parametrii DH dupa cum urmeaza: legatura 1 2 3 4 5 unghi - theta variabil variabil variabil variabil variabil offset - d d1 0 0 0 d5 lungimea - a 0 a2 a3 0 0 rasucirea - alpha 90 0 0 90 0

Pentru acesti parametrii se obtin urmatoarele matrici A:

Constantele (toate in mm): d1 = 214mm; a2 = 200mm; a3 = 200mm; d5 = 85mm

5

Cinematica directaInmultind rezultatele matricilor A, rezulta urmatoarele elemente in T5:

Pentru toate unghiurile din incheieturi egale cu 0, rezulta urmatoarea matrice de transformare a efectorului final. Comparati rezultatul cu figura de mai sus - ne indica directia axelor sistemului 5 si pozitia originii fata de sistemul 0.

Mai mult, urmatoarele verificari laborioase pot fi facute pentru elementele T5:

Alte verificari computerizate ar trebui de asemenea efectuate. Acestea sunt discutate mai jos cand cinematica directa este implementata in MATLAB.

Cinematica inversaIncepand cu:

rezultatul inmultirii matricilor este:

6

si

Din elementele (3,3) si (3,4) se obtine:

de unde:

sau

Cea mai buna solutie este sa se foloseasca px si py, in cazul in care ambele sunt diferite de zero. Altfel vom folosi ax si ay. Daca si acestea sunt zero, atunci pozitia in T5 se afla pe axa Z0, cu mana indreptata in sus. In acest caz setam theta_1=0. A doua solutie (la 180 grade diferenta) poate fi folosita daca limitele incheieturilor sunt mai mari decat a primei solutii. Din elementele (1,3) si (2,3) se obtine:

de unde (din moment ce theta_1 este cunoscut)

Acuma, comparand elementele (1,4) si (2,4) si folosind variabile auxiliare:

7

avem sistemul de ecuatii:

Daca ridicam la patrat ambele ecuatii si le adunam, si ne folosim de identitatea trigonometrica cos(A+B)-A)=cos(B), vom obtine:

In acest moment suntem blocati, deoarece nu putem gasi o expresie independenta pentru S3. Suntem nevoiti sa folosim:

Pentru Mitsubishi, unghiul cotului trebuie sa fie intotdeauna negativ, astfel incat sa putem extrage radicalul. Daca C3 este mai mare decat 1 (radicalul nu ar mai avea solutii reale), indica faptul ca pozitia dorita nu poate fi atinsa (t1 si/sau t2, care depind de px si py, sunt prea mari). Ne putem intoarce acum la sistemul de ecuatii de mai sus. Daca exprimam termenii in C23 si S23 vom obtine:

Se poate rezolva folosind regula lui Cramer, pentru a obtine expresiile pentru S2 si C2. Folosim aceste valori cu functia atan2, si se obtine:

Deoarece stim theta_2 si theta_3 rezulta:

Ultimul unghi al articulatiei se obtine din elementele (3,1) si (3,2)

astfel incat

8

Cu aceasta se incheie cinematica inversa. De-a lungul rezolvarii ar trebui sa verificam operatiile ilegale (de exemplu extragerea radicalului dintr-un numar negativ). Este interesant de observat ca am obtinut toate relatiile necesare solutiei, din inmultirea primei matrici de mai sus. Acesta nu este cazul general am fost norocosi!

Control Computerizat al Robotilor

Analiza Vitezei Folosind Iacobianul Proiect RI 2005Avem in figura de mai jos, un manipulator 3R. Articulatia umarului este la o distanta de 0.5 m deasupra planului XY. Legaturile umarului si cotului sunt de 1.0 m respectiv 0.8 m lungime.

Proiectul trateaza unele analize din punct de vedere cinematic ale acestui robot. Se poate lua in considerare conceperea un program de calculator cu ajutorul caruia sa executati o parte din calcule. Fiti atenti la parametrii DH si matricile A ale acestui robot, ele fiind identice cu primele trei legaturi ale Mitsubishi, sau cotul manipulator discutat in clasa. 1. Gasiti ecuatiile reprezentand cinematica inaintarii robotului. Puteti face aceasta prin inspectia sau prin utilizarea produsului de A-matrici (sau ambele pentru a va verifica munca!).

9

2. Gasiti Iacobianul manipulatorului. Fiti atenti ca aceasta implica numai primele trei randuri si coloane, fiind disponibila doar pozitia varfului (nu si orientarea). Trebuie sa o faceti simbolic de mana daca este necesar, desi MATLAB are o cale de a determina Iacobianul simbolic al unui set de ecuatii exprimat ca si coarde simbolice. Se poate folosi si ROBSYM daca este disponibil. 3. Gasiti viteza varfului in coordonate Carteziene pentru urmatoarele conditii (ex. completati coloanele libere din tabel). Verificati raspunsurile unde se poate face cu usurinta.

4. Gasiti vitezele unghiulare ale articulatiei, necesare sa dea urmatoarele viteze de varf la pozitia robotului indicata. Comentati rezultatele in ultimele sase randuri ale tabelului.

5. Determinati pozitia unica (pozitiile unice) a (ale) manipulatorului examinand Iacobianul. Descrieti semnificatia fizica a pozitiei unice (pozitiilor unice). 6. Considerati o traiectorie a varfului care porneste de la (X,Y,Z)=(0.8, 0, 0.6) si se misca in linie dreapta paralela cu axa +Y la o viteza constanta de 0.2 m/s.

10

Calculati pozitiile necesare si vitezele unghiulare ale articulatiei pentru aceasta traiectorie la intervale de 0.025 m parcurse. Trasati aceste viteze unghiulare ale articulatiei cat mai mult posibil. Memorati valorile det(J) de-a lungul traiectoriei si trasati-le. Comentati rezultatele acestei simulari. 7. Considerati o alta traiectorie incepand de la (X,Y,Z)=(0.1, -1.0, 0.8) deplasandu-se in sensul pozitiv al axei Y la viteza constanta de 0.2 m/s. Calculati pozitiile si vitezele unghiulare necesare ale articulatiei pentru aceasta traiectorie la intervale de 0.025 m parcursi. Trasati aceste viteze unghiulare ale articulatiei cat mai mult posibil. Memorati valorile det(J) de-a lungul traiectoriei si trasati-le. Comentati rezultatele simularii.

Analiza vitezei utilizand Iacobianul Partea 1: Cinematica directaDin figura robotului 3R vom avea urmatorii parametrii D.H.:

Din acesti parametrii matricile A sunt aceleasi ca si la primele trei studiate la robotul Mitsubishi in tema anterioara. Inmultind matricile A vom obtine elementele matricii T3 care dau pozitia efectorului final

Doar aceste elemente ne intereseaza aici deoarece nu avem articulatii care sa afecteze sau sa controleze orientarea efectorului final. Pozitia elementelor putea fi usor gasita prin investigarea mai atenta a acestui robot , fara a recurge la calcule cu matrici.

Partea a 2-a: IacobianulLuand in considerare derivatele corespunzatoare Iacobianul va fi urmatorul:

11

Vezi in sectiunea de mai jos cum realizam aceasta in Matlab. Evaluarea numerica a Iacobianului a fost programata in jacob3r.m . Acesta foloseste un vector care contine valorile din articulatie si returneaza in dimensiune 3X3 Iacobianul.

Capitolul 3: Tipuri de vitezeProgramul kinem3r.m a fost scris pentru a afla rezultatele necesare acestei teme ,plus o multime de alte lucruri interesante descries mai jos.Viteza efectorului final este aflata de evaluarea:

Aici este o parte a fisierului:>kinem3r PART 3 : TIP SPEEDS: % pozitia articulatiei in grade tdeg = 0 0 90.0000 30.0000 0 0 0 60.0000 0 90.0000 90.0000 -40.0000 % joint rates in rad/sec tdot = 1.0000 0 -1.0000 0.5000 0 1.0000 1.0000 -0.2000 0 -1.0000 1.0000 0.6000 % world velocity components XDOT = 0 0 1.0000 -0.2577 1.8000 0 -1.6000 0.5739 0 1.0000 1.0000 0.2007

Fiecare coloana din aceste iesiri contine data pe fiecare rand a tabelului din tema.notati ca am folosit valori pentru viteza unghiulara in radian/secunda.Primele doua coloane sunt simple verificari ca totul merge bine-aceste viteze pot fi verificate usor printr-o geometrie simpla.

Capitolul 4: Cererea pozitiei articulatieiAceste viteze unghiulare sunt obtinute prin gasirea Iacobianului si apoi evaluand:

12

Continuand cu MATLAB vom gasi urmatoarele :PART 4 : JOINT RATES are: % joint positions (degrees) tdeg = 0 30.0000 30.0000 30.0000 30.0000 30.0000 30.0000 0 30.0000 30.0000 10.0000 5.0000 2.0000 1.0000 0 90.0000 -30.0000 -10.0000 -5.0000 -2.0000 -1.0000 % desired velocities (m/s) XDOT = 1 0 1 1 1 1 1 0 1 1 1 1 1 1 0 -1 0 0 0 0 0 % required joint rates (rad/sec) tdot = NaN 1.8583 0.2197 0.2051 0.2038 0.2034 0.2034 NaN -1.1160 -2.7321 -7.8666 -15.6734 -39.1417 -78.2715 NaN 1.1998 5.6896 17.5505 35.1906 88.0390 176.0959

Se dovedeste ca atunci cand theta_3 este zero Iacobianul este singular (o sa vedem un pic mai incolo de ce) - datele vitezelor unghiulare in prima coloana sunt NaN.De fapt, in aceata pozitie,robotul nu este capabil sa se miste in directia +X deloc, asa ca stabilind o viteza de 1 este pic prosteste.Cerand o viteza de -1 in directia X conduce la o alta problema interesanta robotul poate sa se retraga din aceasta pozitie fie cu cotul sus sau cotul jos.Aceasta este numita (Teoria Mecanismului) un punct de bifurcatie,din moment ce sunt doua moduri posibile de a parasi configuratia.In teoria mecanismului,un indicator de bifurcatie a punctului este aceea ca Iacobianul mecanismului este singular.Ultimele 5 coloane ne arata aceea ca atunci cand bratul se apropie de o configuratie stransa aceea ca vitezele unghiulare cerute pentru a obtine acelasi Cartezian viteza creste foarte mult,foarte repede.Vom vedea aceasta mai detaliat in partea a 6a.Ceea ce se intampla este aceea ca atunci cand robotul se apropie de aceasta pozitie Iacobianul incepe sa devina singular sis a creasca foarte mult vitezele unghiulare cerute.

Capitolul 5:Pozitiile singulareExaminand Determinantul Iacobian dat symbolic mai deasupra vom gasi aceea ca det(j)=0 cere urmatoarele:

Aceasta indica ca atunci cand theta_3 este egal cu zero J este singular.Aceasta este suprafata exterioara a zonei de lucru pentru acest robot si are forma unei sfere cu centrul in articulatia umarului.Alta posibilitate esca ca daca theta_3 este + sau - 180 de grade umarul este retras in spate din reflex.aceasta este suprafata interioara a zonei de lucru-de asemenea o sfera centrata in articulatia umarului.Ultimas posibilitate implica termenul din paranteza.Aceasta reprezinta distanta radiala a punctului din multimea de pe axa Z.Chiar, daca acesta tinde la zero cu un punct situat oriunde pe axa Z, Iacobianul va fi singular.

Capitolul 6 : Analiza Traiectoriei

13

Pentru a face aceasta parte a laboratorului , avem nevoie sa facem o reprezentatie a solutiei cinematice inverse. Aceasta in esenta este asemanatoare celei de la Mitsubishi, avand insa legatura doar cu primele 3 articulatii. Avand in vedere faptul ca este foarte similara nu va fi repetata aici.(vezi solutie la tema Nr. 2). O solutie MATHLAB este in cadrul fisierului invkin3r.m. aceasta verifica o eventuala pozitie nepermisa cauzata de specificarea unui punct inafara celor de functionare normala, insa nu impune limitari de articulatie. Programul ofera doar solutia Cot SUS (theta_3


Recommended