Robotics1 09.06.10
Robotics1 09.06.10
Consider the planar PRP robot with n = 3 joints in the figure above. The world reference frame
RFw = (xw , y w , z w ) and the end-effector frame RFe = (xe , y e , z e ) are also shown.
• Assign the robot reference frames according to the Denavit-Hartenberg (DH) convention and
write down the associated table of parameters. Moreover, specify the (constant) transforma-
tion matrices w T0 , between the world frame and frame 0 of DH, and 3 Te , between frame 3
of DH and the end-effector frame.
• Based on the variables q defined in the Denavit-Hartenberg convention, compute the analyt-
ical Jacobian J (q) for a task involving only the end-effector position in the plane of motion,
and analyze its singular configurations. With the robot in a singular configuration q 0 , define
a set of base vectors for each of the following four linear subspaces:
R J (q 0 ) N J (q 0 ) R J T (q 0 ) N J T (q 0 ) .
• For a motion task of dimension m = 3 specified for the robot end-effector, consider the use
of a kinematic control law in the task space,
q̇ = J −1 (q) (ṙ d + K P (r d − f (q)) , (1)
where r ∈ R3 includes the position (in the plane) as well as the orientation of the end-effector
(i.e., the angle φ between the horizontal axis xw and the axis xe ) and f (q) is the direct
kinematic function associated to these task variables. Assume that the (positive definite)
gain matrix K P is chosen as diagonal, and let the joint velocities be bounded as |q̇i | ≤ Vi ,
with given values Vi > 0 (i = 1, 2, 3).
T
a) With the desired task velocity being ṙ d = 0 0 −1 , determine a joint configura-
tion q ∗ which is nonsingular for the task (and ‘matched’ to it, i.e., e = r d −f (q ∗ ) = 0 for
a suitable r d ) and is such that the desired task can never be realized without violating
one of the bounds on the joint velocities.
T
b) Let the robot initial configuration be q(0) = 1.2 π/2 1 , and let r d (0) =
T T
1.5 1.5 −π/4 and ṙ d (0) = 0 1 0 be the specified task at time t = 0.
Define the numerical values of the diagonal matrix K P in the control law (1) so that the
initial task error e(0) will be reduced as fast as possible without violating the following
bounds on the joint velocities: V1 = 5 [m/s], V2 = π [rad/s], and V3 = 4 [m/s].
A possible assignment of the Denavit-Hartenberg frames is shown in the figure below, together
with the associated table of parameters.
i αi ai di θi
π
1 0 q1 0
2
π
2 0 0 q2
2
3 0 0 q3 0
From this, it is easy to obtain the general expression of the direct kinematics for this robot:
0
R3 (q) 0 p3 (q)
0
T 3 (q) = = 0A1 (q1 ) 1A2 (q2 ) 2A3 (q3 )
0T 1
cos q2 0 sin q2 q3 sin q2
0 −1 0 0
= .
sin q2 0 − cos q2 q1 − q3 cos q2
0 0 0 1
Use of the additional transformations between the frames defined in the problem text leads to
1 0 0 0 0 1 0 0
0 0 1 0 0 0 1 0
w
T e (q) = w T 0 0 T 3 (q)3 T e =
0
T 3 (q)
0 −1 0 0
1 0 0 0
0 0 0 1 0 0 0 1
sin q2 cos q2 0 q3 sin q2
− cos q sin q2 0 q1 − q3 cos q2
w w
2 Re (q) pe (q)
= = ,
0 0 1 0 0T 1
0 0 0 1
2
from which one can obtain the kinematic functions of interest (which could be derived also by direct
inspection, once the joint variables have been defined according to the Denavit-Hartenberg con-
vention). To this end, note that the final rotation matrix w Re (q) takes the form of an elementary
rotation matrix by an angle φ = q2 − π/2 around the world axis z w . In fact, it is
π π
cos q2 − − sin q2 − 0
cos φ − sin φ 0 2 2 sin q2 cos q2 0
w
sin φ cos φ 0 = π π − cos q2 sin q2 0
0= = Re (q2 ).
sin q2 − cos( q2 −
0 0 1 2 2 0 0 1
0 0 1
For the (first) task involving only the end-effector position on the plane, it is
! !
w
px q3 sin q2
r 1 = f 1 (q) = w = ,
py q1 − q3 cos q2
Analyzing the three minors of J 1 (q), this matrix looses rank if and only if sin q2 = 0 and q3 = 0, i.e.,
when the third robot link is oriented along the vertical direction and the third joint is completely
retracted. In such a configuration, the Jacobian becomes
!
0 0 0
J 1 (q 0 ) = ,
1 0 ∓1
where the upper sign corresponds to the case q2 = 0 and the lower sign to the case q2 = π. The
four linear subspaces indicated in the text are spanned by the following basis vectors:
0 −1 1
N J (q 0 ) = 1 , 0 R J T (q 0 ) = 0 in R3 ,
0 ∓1 ∓1
0 1
R J (q 0 ) = N J T (q 0 ) = in R2 .
1 0
For the end-effector planar positioning and orientation task (of dimension m = 3), it is
w
px q3 sin q2
r = f (q) = w py = q1 − q3 cos q2 . (2)
φ q2 − π/2
3
Under the condition of question a), namely with sin q2∗ 6= 0, it is
cos q2∗ sin q2∗ −q3∗ q3∗
0
1 1
q̇ = J −1 (q ∗ )ṙ d = 0 0 sin q2∗ 0 = − sin q2∗ .
sin q2∗ sin q ∗
2
1 0 −q3∗ cos q2∗ −1 q3∗ cos q2∗
It is then easy to see that, by sufficiently extending the prismatic joint 3, the robot will violate the
velocity bound at the first joint for any assigned value V1 > 0. More specifically, it is
q3∗ > V1 · | sin q2∗ | > 0 ⇒ |q̇1 | > V1 .
Under the condition of question b), the robot is not in a singularity at the initial time t = 0.
Thus, using the problem data and eq. (2), the initial control velocity can be computed as
q̇(0) = J −1 (q(0)) ṙ d (0) + K P (r d (0) − f (q(0))
π
0 1 −1 0 0.5 Kr1 1 + 0.3 Kr2 + Kr3
4
π
= 0 0 1
1 + 0.3 Kr2 = − K ,
r
π 4 3
1 0 0 0 − Kr3
4 0.5 Kr1
having set K P = diag{Kr1 , Kr2 , Kr3 }. From these expressions, one can directly choose two out of
the three control gains:
|q̇3 (0)| ≤ V3 ⇒ 0.5 Kr1 ≤ V3 = 4 ⇒ Kr1 = 8 > 0,
π
|q̇2 (0)| ≤ V2 ⇒ Kr ≤ V2 = π ⇒ Kr3 = 4 > 0.
4 3
Finally, using this definition, also the remaining gain is chosen:
π 10
|q̇1 (0)| ≤ V1 ⇒ 1 + 0.3 Kr2 + Kr = 1 + 0.3 Kr2 + π ≤ V1 = 5 ⇒ Kr2 = (4 − π) > 0.
4 3 3
With the selected gains, all joint velocities will saturate at time t = 0 (the second joint velocity
being at its negative limit −V2 = −π) and, as a result, the fastest decrease of the initial task error
e(0) = r d (0) − f (q(0)) will be realized (with the task error converging anyway exponentially to
zero, in a decoupled way for each task component). The situation at time t = 0 is depicted in the
following figure, where the desired initial robot configuration is the lightly shaded one.
∗∗∗∗∗