Izvjestaj LV1-Robotika

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

Izvještaj za laboratorijsku vježbu 1

Robotika 1

Student: Mandžuka Nejra

Indeks: 16897

Sarajevo, mart, 2017.


Zadatak 3.

Kreirati funkciju: T = my_fkine(DHtable, q, draw)

koja uzima kao ulazni argument DH parametre od interesa (npr. u formatu kao u Tabeli 1)
proizvoljnog robota, a vraća matricu homogene transformacije s obzirom na vrh manipulatora i
zadanu konfiguraciju q. Ukoliko ulazni parametar draw ima vrijednost različitu od nule, funkcija
treba ujedno i nacrtati pojednostavljenog robota u datoj konfiguraciji q. Uporediti rezultate sa
onim koji se dobiju primjenom funkcija iz Robotics Toolbox-a.

Denavit-Hartenbergov postupak daje transformaciju koordinata iz sistema ( )


u sistem , opisanu matricom homogene transformacije :

( ) [ ]

Gdje su:

( ) ( ) ( ) ( )

Neka manipulator ima segmenata povezanih pomoću zglobova. Matricu homogene


transformacije koordinata ortonormiranog sistema vrha manipulatora u koordinate
ortonormiranog koordinatnog sistema baze možemo dobiti množenjem matrica homogenih
transformacija između koordinatnih sistema pojedinih segmenata u otvorenom kinematičkom
lancu na sljedeći način:

( ) ( ) ( ) ( )

function T = my_fkine( DHtable, q, draw )

T=eye(4);
for i=1:1:size(DHtable,1)
a=DHtable(i,1);
alpha=DHtable(i,2);
d=DHtable(i,3);
theta=q(1, i);
A=[cos(theta) -sin(theta)*cos(alpha) sin(theta)*sin(alpha) a*cos(theta);
sin(theta) cos(theta)*cos(alpha) -cos(theta)*sin(alpha) a*sin(theta);
0 sin(alpha) cos(alpha) d ;
0 0 0 1];
T=T*A;
L=Link('d', d, 'alpha', alpha, 'a', a);
linkovi(i,:)=L;
end
if draw ~=0
Robot=SerialLink(linkovi);
Robot.plot(q);
end
end

Potom je kreirana tabela DH parametara koja će biti proslijeđena funkciji, a koja odgovara DH
tabeli postojeće varijable robota Puma560:
DHtable =

0 1.5710 0
0.4318 0 0
0.0203 -1.5710 0.1500
0 1.5710 0.4318
0 -1.5710 0
0 0 0
Kreirana je matrica-red konfiguracije robota (proizvoljne vrijednosti):
q =

0 1.5708 1.0472 0 0.7854 0

Zatim je pozvana funkcija my_fkine:


>>T=my_fkine(DHtable,q,0)

T =

-0.9659 -0.0001 0.2588 -0.2335

0.0001 1.0000 0.0004 -0.1499

-0.2588 0.0004 -0.9659 0.0680

0 0 0 1.0000

Za provjeru, pozvana je metoda fkine nad varijablom p560(Puma 560) koja je vratila sljedeću
matricu homogene transformacije:
>>p560.fkine(q)

ans =

-0.9659 0.0000 0.2588 -0.2335


-0.0000 1.0000 -0.0000 -0.1501
-0.2588 -0.0000 -0.9659 0.0680
0 0 0 1.0000
Može se primjetiti da se ove dvije matrice transformacije skoro identične, pojavljuje se razlika na
četvrtoj decimali pojedinih članova matrice.

Na je prikazan je robot u datoj konfiguraciji q. Slika je dobijena pozivom funkcije

>>my_fkine(DHtable,q,2)

You might also like