Sunteți pe pagina 1din 8

ROMÂNIA

MINISTERUL EDUCAŢIEI, CERCETĂRII, TINERETULUI ŞI SPORTULUI


Universitatea Tehnică „Gheorghe Asachi” din Iaşi

FACULTATEA DE CONSTRUCTII
DE MASINI SI MANAGEMET
INDUSTRIAL
DEPARTAMENTUL DE MASINI
UNELTE SI SISTEME DE
PRODUCTIE
URL: www.mec.tuiasi.ro * E-mail: decanat@mail.tuiasi.ro
Tel./fax. +40 232 232337 * str.prof. Dimitrie Mangeron, nr.43, 700050, Iaşi

Proiect Robotica

Coordonator:
Prof.Dr.Ing. Eugen Carata
Student:
Roca Madalin,
Grupa 4402 MUSP

Iasi 2016
Sa se determine modelul geometric direct pentru robotul
industrial ABB IRB 6400/200kg ,pentru care se defines datele
de intrare pentru coordonatele generalizare de la nivelul
articulatiilor robotului.

Determinarea vectorului z al coordonatelor operationale


x,y,z
Roll,pitch,yaw.

Etape:
1. Determinarea parametrilor D-H pentru robotul din
tema.
α ai θ di
π/2 0.24 3.13 0.80
0 1050 3.30 0
-π/2 0.225 2.75 0
π/2 0 -5.90 1175
-π/2 0 27.45 0
0 0 6.81 0.20

2. Determinarea matricilor D-H folosind rutinele matlab.

function t = mdh(a, b, c, d)

if nargin==4,
alpha=a;
an=b;
theta=c;
dn=d;
else
if numcols(a)<4,
end
alpha=a(1);
an=a(2);
if numcols(a)>4,
if a(5)==0,
theta = b;
dn = a(4);
else
theta = a(3);
dn = b;
end
else
theta = b;
dn = a(4);
end
end
sa = sin(alpha); ca = cos(alpha);
st = sin(theta); ct = cos(theta);

t = [ ct -st*ca st*ca a*ct


st ct*ca -ct*sa a*st
0 sa ca d
0 0 0 1];

A1=mdh(pi/2, 0.24, 3.13*pi/180, 0.80)

A1 =

0.9985 -0.0000 0.0000 1.5685


0.0546 0.0000 -0.9985 0.0858
0 1.0000 0.0000 0.8000
0 0 0 1.0000

A2=mdh(0, 1050, 3.30*pi/180, 0)

A2 =

0.9983 -0.0576 0.0576 0


0.0576 0.9983 0 0
0 0 1.0000 0
0 0 0 1.0000

A3=mdh(-pi/2, 0.225, 2.75*pi/180, 0)

A3 =

0.9988 -0.0000 0.0000 -1.5690


0.0480 0.0000 0.9988 -0.0754
0 -1.0000 0.0000 0
0 0 0 1.0000

A4=mdh(pi/2, 0, -5.90*pi/180, 1.175)


A4 =

0.9947 0.0000 -0.0000 1.5625


-0.1028 0.0000 -0.9947 -0.1615
0 1.0000 0.0000 1.1750
0 0 0 1.0000

A5=mdh(-pi/2, 0, 27.45*pi/180, 0)

A5 =

0.8874 -0.0000 0.0000 -1.3939


0.4610 0.0000 0.8874 -0.7241
0 -1.0000 0.0000 0
0 0 0 1.0000

A6=mdh(0, 0, 6.81*pi/180, 0.20)

A6 =

0.9929 -0.1186 0.1186 0


0.1186 0.9929 0 0
0 0 1.0000 0.2000
0 0 0 1.0000
3. Determinarea matricii A06 ca produs al matricilor
intermediare.

A=(A1*A2*A3*A4*A5*A6)
A=

0.8425 -0.1582 0.0505 0.1484


0.0734 0.9884 -0.0080 -0.0100
0.5488 -0.0655 0.9505 1.2796
0 0 0 1.0000

>> x=A(1,4)

x=

0.1484

>> y=A(2,4)

y=

-0.0100

>> zz=A(3,4)

zz =

1.2796
function rpy =tr2rpy(m)
rpy=zeros(1,3);
if abs(m(1,1))<eps&&abs(m(2,1))<eps,
rpy(1)=0;
rpy(2)=atan2(-m(3,1),m(1,1));
rpy(3)=atan2(-m(2,3),m(2,2));
else
rpy(1)= atan2(m(2,1),m(1,1));
sp=sin(rpy(1));
cp=cos(rpy(1));
rpy(2)=atan2(-m(3,1),cp*m(1,1)+sp*m(2,1));
rpy(3)=atan2(sp*m(1,3)-cp*m(2,3),cp*m(2,2)-sp*m(1,2));
end
rpy(1) = rpy(1) * 180/pi;
rpy(2) = rpy(2) * 180/pi;
rpy(3) = rpy(3) *180/pi;

>> tr2rpy(A)

ans =

4.9794 -32.9832 0.7111

Roll=4.9794
Pitch= -32.9832
Yaw=0.7111

4. Determinarea vectorului z.

>> z = [A(1:3,4);tr2rpy(A)']

z=
0.1484
-0.0100
1.2796
4.9794
-32.9832
0.7111