You are on page 1of 5

Introduction to Robotics (CS223A) Homework #3 Solution

(Winter 2007/2008)
1. You are given that a certain RPR manipulator has the following transformation
matrices, where {E} is the frame of the end eector.
0
1
T =

c
1
s
1
0 0
s
1
c
1
0 0
0 0 1 0
0 0 0 1

,
0
3
T =

c
1
c
3
c
1
s
3
s
1
L
1
c
1
s
1
d
2
s
1
c
3
s
1
s
3
c
1
L
1
s
1
+ c
1
d
2
s
3
c
3
0 0
0 0 0 1

,
0
E
T =

s
1
c
1
s
3
c
1
c
3
L
1
c
1
+ L
2
c
1
c
3
s
1
d
2
c
1
s
1
s
3
s
1
c
3
L
1
s
1
+ L
2
s
1
c
3
+ c
1
d
2
0 c
3
s
3
L
2
s
3
0 0 0 1

Derive the basic Jacobian relating joint velocities to the end-eectors linear and
angular velocities in frame {0}.
For J
v
, we simply dierentiate the position of the end-eector expressed in frame {0}, which
is the last column of
0
4
T. For J

we take the z-vectors from


0
1
T and
0
3
T, and since joint 2 is
prismatic, it doesnt contribute.
J
v
=

L
1
s
1
L
2
s
1
c
3
c
1
d
2
s
1
L
2
c
1
s
3
L
1
c
1
+ L
2
c
1
c
3
s
1
d
2
c
1
L
2
s
1
s
3
0 0 L
2
c
3

0 0 s
1
0 0 c
1
1 0 0

2. Consider the planar PR manipulator shown here:


(a) Find the origin of frame {3} expressed in terms of frame {0}, that is
0
P
3org
.
Tip: you can derive this geometrically, if you want to avoid going through
DH parameters.
Its simplest to do this geometrically. Note: I will often refer to the origin of frame {3}
as the tip.
In the base frame {0}, the x-coordinate of the tip is found by projecting the link L
2
onto
the

X
0
axis and adding to L
1
. Similarly, the z-coordinate is found by projecting L
2
onto
the

Z
0
axis and adding to the slider displacement d
1
. Thus, in frame {0}:
0
P
3org
=

x
tip
z
tip

L
1
+ L
2
cos(
2
)
d
1
+ L
2
sin(
2
)

(b) Give the 2 2 Jacobian that relates the joint velocities to the linear velocity
of
0
P
3org
.
J =

x
tip
d
1
x
tip

2
z
tip
d
1
z
tip

0 L
2
sin(
2
)
1 L
2
cos(
2
)

(c) For what joint values is the manipulator at a singularity? What motion is
restricted at this singularity?
The singularity occurs at a conguration when det(J) = 0.
det(J) = J
11
J
22
J
12
J
21
= L
2
sin(
2
)
So the singularity occurs whenever sin(
2
) = 0, which corresponds to:

2
= 0
o
or 180
o
These two situations are portrayed below; either the arm is extended out completely or
folded over itself.
In both cases, the end-eector cannot move instantaneously in the

X
0
direction,
ie. the joints cannot produce a velocity component in the

X
0
direction.
3. Consider the RRR manipulator shown here:
X
0,1
Z
0,
Z
1
out
1 1 1
Z
4
X
4
Note: in the gure, the numbers below the links represent the lengths.
(a) Find the DH parameters for this manipulator. Remember to assign the
interior frames of this manipulator using the conventions discussed in class.
Note: In preparation for part (b), one may add an extra row to the bottom of the table
corresponding to frame {4}. Since the question didnt specically ask for this extra row,
its not necessary to have it. After all, frame {4} is xed wrt to frame {3} and the
transformation between the two can be found (if one so wishes) by inspection.
i
i1
a
i1

i
d
i
1 0 0
1
0
2 90
o
1
2
0
3 90
o
1
3
0
4 90
o
1 0 0
(b) Derive the forward kinematics,
0
4
T, of this manipulator.
Use the above table to compute the DH transformation matrices. In preparation for
computing the Jacobian in part (c), one may also compute the
0
i
T for each frame {i}.
0
1
T =

c
1
s
1
0 0
s
1
c
1
0 0
0 0 1 0
0 0 0 1

1
2
T =

c
2
s
2
0 1
0 0 1 0
s
2
c
2
0 0
0 0 0 1

0
2
T =
0
1
T
1
2
T =

c
1
c
2
c
1
s
2
s
1
c
1
s
1
c
2
s
1
s
2
c
1
s
1
s
2
c
2
0 0
0 0 0 1

2
3
T =

c
3
s
3
0 1
0 0 1 0
s
3
c
3
0 0
0 0 0 1

0
3
T =
0
2
T
2
3
T =

c
1
c
2
c
3
s
1
s
3
c
1
c
2
s
3
s
1
c
3
c
1
s
2
c
1
c
2
+ c
1
s
1
c
2
c
3
+ c
1
s
3
s
1
c
2
s
3
+ c
1
c
3
s
1
s
2
s
1
c
2
+ s
1
s
2
c
3
s
2
s
3
c
2
s
2
0 0 0 1

3
4
T =

1 0 0 1
0 0 1 0
0 1 0 0
0 0 0 1

0
4
T =
0
3
T
3
4
T =

c
1
c
2
c
3
s
1
s
3
c
1
s
2
c
1
c
2
s
3
s
1
c
3
c
1
c
2
c
3
s
1
s
3
+ c
1
c
2
+ c
1
s
1
c
2
c
3
+ c
1
s
3
s
1
s
2
s
1
c
2
s
3
+ c
1
c
3
s
1
c
2
c
3
+ c
1
s
3
+ s
1
c
2
+ s
1
s
2
c
3
c
2
s
2
s
3
s
2
c
3
s
2
0 0 0 1

(c) Find the basic Jacobian, J


0
, for this manipulator.
Use the explicit form: take derivatives of the end-eector position (the last column of
0
4
T) for J
v
, and use the Z-axes of each frame (3rd column of each
0
i
T matrix calculated
above) for J
w
.
J
0
=


0
P
4org

0
P
4org

0
P
4org

3
0
Z
1
0
Z
2
0
Z
3

s
1
c
2
c
3
c
1
s
3
s
1
c
2
s
1
c
1
s
2
c
3
c
1
s
2
c
1
c
2
s
3
s
1
c
3
c
1
c
2
c
3
s
1
s
3
+ c
1
c
2
+ c
1
s
1
s
2
c
3
s
1
s
2
s
1
c
2
s
3
+ c
1
c
3
0 c
2
c
3
c
2
s
2
s
3
0 s
1
c
1
s
2
0 c
1
s
1
s
2
1 0 c
2

(d) Find
1
J
v
, the position Jacobian matrix expressed in frame {1}.
Compute
1
J
v
by rotating
0
J
v
(the top half of J
0
) from frame {0} to frame {1}. Note
that this rotation matrix is the inverse (or transpose, in this case) of what appears in
0
1
T (computed in part (b)), ie. we need to use
1
0
R, not
0
1
R.
1
J
v
=
1
0
R
0
J
v
=

c
1
s
1
0
s
1
c
1
0
0 0 1

s
1
c
2
c
3
c
1
s
3
s
1
c
2
s
1
c
1
s
2
c
3
c
1
s
2
c
1
c
2
s
3
s
1
c
3
c
1
c
2
c
3
s
1
s
3
+ c
1
c
2
+ c
1
s
1
s
2
c
3
s
1
s
2
s
1
c
2
s
3
+ c
1
c
3
0 c
2
c
3
c
2
s
2
s
3

s
3
s
2
c
3
s
2
c
2
s
3
c
2
c
3
+ c
2
+ 1 0 c
3
0 c
2
c
3
c
2
s
2
s
3

(e) Use the matrix that you found in part (d) to nd the singularities (with
respect to linear velocity) of this manipulator.
The singularities occur when the determinant of the Jacobian (in any frame) is zero.
Since J
v
is simpler in frame {1}, look at the determinant of
1
J
v
:
det(
1
J
v
) =

s
3
s
2
c
3
s
2
c
2
s
3
c
2
c
3
+ c
2
+ 1 0 c
3
0 c
2
c
3
c
2
s
2
s
3

= (s
3
)(c
2
c
2
3
+ c
2
c
3
) (c
2
c
3
+ c
2
+ 1)(s
2
2
s
3
c
3
s
2
2
s
3
c
2
2
s
3
c
3
c
2
2
s
3
)
= s
3
(c
2
c
3
+ c
2
+ c
3
+ 1)
= s
3
(1 + c
3
)(1 + c
2
)
Setting the rst term in the above expression to zero gives:
sin(
3
) = 0
3
= 0
o
or 180
o
Setting the second term to zero gives the same result as above.
Setting the third term to zero gives:
cos(
2
) = 1
2
= 180
o
(f) For each type of singularity that you found in part (e), explain the physical
interpretation of the singularity, by sketching the arm in a singular congu-
ration and describing the resulting limitation on its movement.
The singularity
3
= 0 is when the outer half of the arm is outstretched. In this position
there is no motion possible in the

X
3
axis.
Y
1
X
1
Z
1
out
The singularity
3
= 180
o
is when the outer link of the arm is folded in on itself.
There are two restrictions in this position. First, just as in the outstretched case, there
is no motion possible in the

X
3
direction. Second, because the last two links have the
same length, the end-eector is overlapping with joint 2. As a result there is no motion
possible in the

Z
1
direction.
X
1
Y
1
Z
1
out
The singularity
2
= 180
o
is when half the arm is folded in over itself, causing joints 1
and 3 to overlap. In this position, joints 1 and 3 have the same eect on the end-eector
as if joint 3 doesnt exist. The ensuing loss of motion can be see in frame {3}: there
is no motion possible in the

X
3
direction.
X
3
Z
3
out
Y
3