Professional Documents
Culture Documents
Izvjestaj LV1-Robotika
Izvjestaj LV1-Robotika
Izvjestaj LV1-Robotika
Robotika 1
Indeks: 16897
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.
( ) [ ]
Gdje su:
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
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 =
T =
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 =
>>my_fkine(DHtable,q,2)