Introduction To Robotics (CS223A) Homework #3 Solution (Winter 2007/2008)
Introduction To Robotics (CS223A) Homework #3 Solution (Winter 2007/2008)
Introduction To Robotics (CS223A) Homework #3 Solution (Winter 2007/2008)
(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 effector.
c1 −s1 0 0 c1 c3 −c1 s3 −s1 L1 c1 − s1 d2
s1 c1 0 0 s1 c3 −s1 s3 c1 L1 s1 + c1 d2
0 0
1T = , 3T = ,
0 0 1 0 −s3 −c3 0 0
0 0 0 1 0 0 0 1
−s1 c1 s3 c1 c3 L1 c1 + L2 c1 c3 − s1 d2
c1 s1 s3 s1 c3 L1 s1 + L2 s1 c3 + c1 d2
0
ET =
0 c3 −s3 −L2 s3
0 0 0 1
Derive the basic Jacobian relating joint velocities to the end-effector’s linear and
angular velocities in frame {0}.
For Jv , we simply differentiate the position of the end-effector expressed in frame {0}, which
is the last column of 04 T . For Jω we take the z-vectors from 01 T and 03 T , and since joint 2 is
prismatic, it doesn’t contribute.
−L1 s1 − L2 s1 c3 − c1 d2 −s1 −L2 c1 s3 0 0 −s1
Jv = L1 c1 + L2 c1 c3 − s1 d2 c1 −L2 s1 s3 Jω = 0 0 c1
0 0 −L2 c3 1 0 0
(a) Find the origin of frame {3} expressed in terms of frame {0}, that is 0 P3org .
Tip: you can derive this geometrically, if you want to avoid going through
DH parameters.
It’s 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 L2 onto
the X̂0 axis and adding to L1 . Similarly, the z-coordinate is found by projecting L2 onto
the Ẑ0 axis and adding to the slider displacement d1 . Thus, in frame {0}:
" # " #
0 xtip L1 + L2 cos(θ2 )
P3org = =
ztip d1 + L2 sin(θ2 )
(b) Give the 2 × 2 Jacobian that relates the joint velocities to the linear velocity
of 0 P3org .
(c) For what joint values is the manipulator at a singularity? What motion is
restricted at this singularity?
The singularity occurs at a configuration when det(J) = 0.
θ2 = 0o or ± 180o
These two situations are portrayed below; either the arm is extended out completely or
folded over itself.
In both cases, the end-effector cannot move instantaneously in the X̂0 direction,
ie. the joints cannot produce a velocity component in the X̂0 direction.
1 1 1
Note: in the figure, 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 didn’t specifically ask for this extra row,
it’s not necessary to have it. After all, frame {4} is fixed wrt to frame {3} and the
transformation between the two can be found (if one so wishes) by inspection.
i αi−1 ai−1 θi di
1 0 0 θ1 0
2 −90 o 1 θ2 0
3 90o 1 θ3 0
4 −90o 1 0 0
c1 −s1 0 0
s1 c1 0 0
0
1T =
0 0 1 0
0 0 0 1
c2 −s2 0 1
0 0 1 0
1
2T =
−s2 −c2 0 0
0 0 0 1
c1 c2 −c1 s2 −s1 c1
s1 c2 −s1 s2 c1 s1
⇒02 T = 0 1
1 T2 T =
−s2 −c2 0 0
0 0 0 1
c3 −s3 0 1
0 0 −1 0
2
3T =
s3 c3 0 0
0 0 0 1
c1 c2 c3 − s1 s3 −c1 c2 s3 − s1 c3 c1 s2 c1 c2 + c1
s1 c2 c3 + c1 s3 −s1 c2 s3 + c1 c3 s1 s2 s1 c2 + s1
⇒03 T = 0 2
2 T3 T =
−s2 c3 s2 s3 c2 −s2
0 0 0 1
1 0 0 1
0 0 1 0
3
4T =
0 −1 0 0
0 0 0 1
c1 c2 c3 − s1 s3 −c1 s2 −c1 c2 s3 − s1 c3 c1 c2 c3 − s1 s3 + c1 c2 + c1
s1 c2 c3 + c1 s3 −s1 s2 −s1 c2 s3 + c1 c3 s1 c2 c3 + c1 s3 + s1 c2 + s1
⇒04 T = 0 3
3 T4 T =
−s2 c3 −c2 s2 s3 −s2 c3 − s2
0 0 0 1
1 1 0
Jv = 0 R Jv
c1 s1 0 −s1 c2 c3 − c1 s3 − s1 c2 − s1 −c1 s2 c3 − c1 s2 −c1 c2 s3 − s1 c3
= −s1 c1 0 c1 c2 c3 − s1 s3 + c1 c2 + c1 −s1 s2 c3 − s1 s2 −s1 c2 s3 + c1 c3
0 0 1 0 −c2 c3 − c2 s2 s3
−s3 −s2 c3 − s2 −c2 s3
= c2 c3 + c2 + 1 0 c3
0 −c2 c3 − c2 s2 s3
(e) Use the matrix that you found in part (d) to find 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 Jv is simpler in frame {1}, look at the determinant of 1 Jv :
¯ ¯
¯ −s3 −s2 c3 − s2 −c2 s3 ¯¯
¯
¯ ¯
det(1 Jv ) = ¯ c2 c3 + c2 + 1 0 c3 ¯
¯ ¯
¯ 0 −c2 c3 − c2 s2 s3 ¯
= (−s3 )(c2 c23 + c2 c3 ) − (c2 c3 + c2 + 1)(−s22 s3 c3 − s22 s3 − c22 s3 c3 − c22 s3 )
= s3 (c2 c3 + c2 + c3 + 1)
= s3 (1 + c3 )(1 + c2 )
sin(θ3 ) = 0 ⇒ θ3 = 0o or ± 180o
Setting the second term to zero gives the same result as above.
Setting the third term to zero gives:
cos(θ2 ) = −1 ⇒ θ2 = ±180o
(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 configu-
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.
Y1
X1
Z1 out
The singularity θ3 = ±180o 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-effector is overlapping with joint 2. As a result there is no motion
possible in the Ẑ1 direction.
Y1
X1
Z1 out
The singularity θ2 = ±180o 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 effect on the end-effector
– as if joint 3 doesn’t exist. The ensuing loss of motion can be see in frame {3}: there
is no motion possible in the X̂3 direction.
Z3 out
X3 Y3