# 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

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

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...