# Robotics Manipulators 1: Mechanics

**Topics:**MATLAB, Computer algebra system, Kinematics

**Pages:**7 (347 words)

**Published:**December 2, 2013

MATLAB EXERCISE #3:

GIVEN DATA:-

Kinematic transformation for the 3 DOF and 3R robot as shown in the below figure.

a) Derive the DH parameters 3R robot

i

1

0

0

0

2

0

4

0

3

0

3

0

Link twist (angle from to measured about).

Link twist (angle from to measured about).

Link twist (angle from to measured about).

Link twist (angle from to measured about).

b) Derive the neighboring homogeneous transformation

We know the formula

(For i =1)

(For i =2)

(For i =3)

= .

=

=

=

(Where origin of is in the center of the gripper finger and the orientation of is Always the same as the orientation of)

=

c) Using symbolic MATLAB to derive the forward – pose kinematics solution :-

MATLAB Program:

%use MATLAB derive the forward-pose kinematics solutions

clear

clc

%input DH parameters

alpha0=0

a0=0

d1=0

theta1=0

%theta1=pi/18

%theta1=pi/2

alpha1=0

a1=4

d2=0

theta2=0

%theta2=pi/9

%theta2=pi/2

alpha2=0

a2=3

d3=0

theta3=0

%theta3=pi/6

%theta3=pi/2

%calculate the solutions

T10=rotx(alpha0)*transl(a0,0,0)*rotz(theta1)*transl(0,0,d1)

T21=rotx(alpha1)*transl(a1,0,0)*rotz(theta2)*transl(0,0,d2)

T32=rotx(alpha2)*transl(a2,0,0)*rotz(theta3)*transl(0,0,d3)

T30=T10*T21*T32

Th3=transl(2,0,0)

Th0=T30*Th3

Result:

1） when

T30 =

1 0 0 7

0 1 0 0

0 0 1 0

0 0 0 1

Th0 =

1 0 0 9

0 1 0 0

0 0 1 0

0 0 0 1

2） when

T30 =

0.5000 -0.8660 0 6.5373

0.8660 0.5000 0 2.1946

0 0 1.0000 0

0 0 0 1.0000

Th0 =

0.5000 -0.8660 0 7.5373

0.8660 0.5000 0 3.9266

0 0 1.0000 0

0 0 0 1.0000

3） when

T30 =

-0.0000 1.0000 0 -3.0000

-1.0000 -0.0000 0 4.0000

0 0 1.0000 0

0 0 0 1.0000

Th0 =

-0.0000 1.0000 0 -3.0000

-1.0000 -0.0000 0 2.0000

0 0 1.0000 0

0 0 0 1.0000

d) Check the results by means of Robotics Toolbox

MATLAB Program:

% Use Link()to set up 3R robot Model

clear

clc

L0=link([0 0 0 0 0],'mod');

L1=link([0 4 0 0 0],'mod');

L2=link([0 3 0 0 0],'mod');

L3=link([0 2 0 0 0],'mod');

H=transl(2,0,0)

%Use Robot() and Fkine()to Plot 3R robot

plot3(0,0,0);

axis([0 8 0 1 0 1]);

title('3R Robot'), xlabel('X'), ylabel('Y'), zlabel('Z')

axis square

r1=robot({L0,L1,L2});

r2=robot({L0,L1,L2,L3});

r2.name='3R Robot';

%p1=plot(r2,[0 0 0 0]);hold on

%T1=fkine(r1,[0 0 0]);

%H1=T1*H;

%T1

%H1

%p2=plot(r2,[10*pi/180 20*pi/180 30*pi/180 0 ]);

%hold on

%T2=fkine(r1,[10*pi/180 20*pi/180 30*pi/180]);

%H2=T2*H;

%T2

%H2

p3=plot(r2,[pi/2 pi/2 pi/2 0]);

hold on

T3=fkine(r1,[pi/2 pi/2 pi/2]);

H3=T3*H;

T3

H3

Result:

T1 =

1 0 0 7

0 1 0 0

0 0 1 0

0 0 0 1

H1 =

1 0 0 9

0 1 0 0

0 0 1 0

0 0 0 1

T2 =

0.5000 -0.8660 0 6.5373

0.8660 0.5000 0 2.1946

0 0 1.0000 0

0 0 0 1.0000

H2 =

0.5000 -0.8660 0 7.5373

0.8660 0.5000 0 3.9266

0 0 1.0000 0

0 0 0 1.0000

T3 =

-0.0000 1.0000 0 -3.0000

-1.0000 -0.0000 0...

Please join StudyMode to read the full document