Sie sind auf Seite 1von 8

EE 483 Midterm Exam Solution

1. (25 pts) A cylindrical robotic arm is shown. It comprises a revolute base with angle
around the z axis, a vertical prismatic joint with 0.1 < l < 0.5 m, and a horizontal prismatic
joint with 0.1 < r < 0.5 m. It is to be programmed to carry
out a repetitive pick and place task in which the end
effector is moved back and forth between point [p x py pz]T
and point [qx qy qz]T. Assume = 0 when the horizontal
link (length r) is oriented as shown (aligned with the x axis).
a. What are the three inverse kinematic equations
necessary to position the robot hand at any point
[qx qy qz]T? From lecture or the book:

1
= tan

qy
qx

( )

l = qz

r=

qx
q
r = y r = q2x +q 2y
cos
sin

b. Let point q = [0.3 0.2 0.3]T. Use your design equations to find , l, and r
necessary to position the hand at this location.

1 0.2
= tan 0.3 =33.7

( )

l = qz = 0.3

r=

qx
0.3
=
=0.36
cos cos 33.7

c. Suppose the initial point p = [0.2 0.0 0.2]T such that r = 0.2, l = 0.2 and = 0.
The orientation of the hand at point p is given by:

1 0
0
[ n o a ]= 0 1 0
0 0 1

Prove that this hand orientation represents a legitimate orthogonal coordinate system.
We will use the cross product to prove orthogonality:

| |
| |

^j
i^
n x o= 1 0
0 1

k^
0 =k^ which checks for a
0

^j
i^
k^
o x a= 0 1 0 =i^ which checks for n
0 0 1

d. What will be the orientation of the hand after the end effector is moved from point p
to point q = [0.3 0.2 0.3]T? Be sure to show the transformation and hand frame
matrices necessary to carry out this computation.
We actually only need the 3x3 version of the matrices for this:

][

][

][

cos sin 0 1 0
0
cos sin
0
0.83 0.55
0
sin cos 0 0 1 0 = sin cos 0 0.55 0.83 0
0
0
1 0 0 1
0
0
1
0
0
1

Note that the resulting orientation vectors are still approximately unit vectors and
still form an orthogonal space.
e. Extra credit (3 pts): Let the hand of this robot be located at p = [0.2 0.0 0.2] with
noa axes in parallel with the robot xyz axes and pointing in the same directions (i.e,
the identity matrix). Further, let the end effector be a 2DOF system with revolute
joints that are essentially colocated at the hand frame origin and rotate about the a
axis (angle a) and the o axis (o). You may assume a = 0 when the a axis is
aligned with the robot z axis and o = 0 when the n axis is aligned with the robot x
axis. For a given move of the robot arm from point p to a new point q, what are the
equations for a and o so that the end effector is again aligned to the robot xyz axes
at the end of the move. What is the practical limit to this realignment?
Because the cylindrical robot is limited to only revolution around the robot z axis,
we only need to worry about the hand axis parallel to z, which is represented by a.
In fact, the angle needed to correct a is simply (this is stated in the book at the
bottom of p. 62).

a = . The practical limit of this is + 90.

2. (25 pts) For the cylindrical arm described in problem 1, a constant angular velocity
profile is to be employed when moving the revolute base joint back and forth. An actuator
with a DC motor is used, and the transfer function relating angular velocity , in radians
per second, to input voltage V, in volts, is:
G ( s )=

( s) 0.1(s+20)
=
V (s) s2 +2 s+ 17

Currently, both the settling time and overshoot associated with this open loop setup are
unacceptable.
a. What are the pole locations, settling time and percent overshoot for the open loop
system described by G(s)?
Poles are at -1 + j4; this gives = 1 s and settling time is 4 = 4 seconds
1

Damping ratio = 17 =0.243 ; %OS=100 exp

=45.5
1 2

b. It is desired to use closed loop PD (proportional plus derivative) control to improve


the performance. Find a suitable set of new pole locations so that the settling time is
less than or equal to 1 second and the overshoot is 4.32% ( = 0.7071). For
simplicity, you may use a settling time of exactly 1 second if it is possible.
To obtain a 1 second settling time, the real part must be at -4; we will start with pole
locations at -4 + j4, which gives = 0.707.
c. Design the PD controller to accomplish this by finding the location of an additional
zero and the gain K required.
To find the location of the new zero, we must first add up the angles from the
existing poles and zeros to the desired target pole position in the 2 nd quadrant:
1+ j 4=tan 1

( 30 )=180 ;

1 j 4

=tan 1

( 38 )=110.56 ;

20

=tan 1

( 164 )=14.04

We need a new zero angle such that the sum of the zero angles minus the sum of the
pole angles is -180:
new +14.04 180 110.56 =180 ; new =96.52 ; z=4

4
=3.54
tan 96.52

This produces a new closed loop transfer function as follows:


T ( s )=

0.1 K ( s 2 +2.354 s+7.08 )

( [

( 1+0.1 K ) s2 +

2+2.354 K
17+7.08 K
s+
1+0.1 K
1+ 0.1 K

The denominator s term has a coefficient of 8 to give us the desired poles. Thus:
2+2.354 K
=8 ; this is solved for K 3.86
1+ 0.1 K

d. For the closed loop system with the PD controller installed, what is the final value of
the angular velocity, assuming a step input voltage to the actuator of 4.8V is used. If
you were not able to find a gain K in part c., just leave it as an unknown in this
expression.
( )=4.8 T ( 0 ) =

0.1 ( 4.8 )( 7.08 K )


=0.296 rad / sec
17 +7.08 K

e. Extra credit (2 pts): sketch the root locus for the original system assuming
proportional (closed loop with gain K only) control. Examining the locus, would it
be possible to meet the desired specifications with gain only? If so, why would it be
more advisable in this case to use PD control?
See the proportional control (K only) locus below. As you can see, there is a point
where = 0.707 but there are two problems the settling time is very fast (although
it meets the criterion) and the gain is very high. This would not be desirable.

3. (25 pts) Suppose the cylindrical robot described in question 1. is now going to be used
for a different task in which the revolute base angle must move from 10 to -50 in 3
seconds. Because of a task performed just before the move, the angular velocity at the start
of the move is 0 = -10/sec. Because of the next task after the move, the final velocity f
must also be -10/sec. A third order polynomial trajectory plan is called for to accomplish
this move.
a. Set up the matrices and vectors necessary to solve for coefficients a 0, a1, a2, and a3 in
the third order polynomial for angle (t). Here is the general form:

[ ][ ] [ ]
2
t 30 a0
1 t0 t0
0
2
0 1 2 t 0 3 t 0 a1

= 0
2
3
f
t f a2
1 tf tf
2
f
0 1 2t f 3 t f a3

Populating with the values we know:

1
0
1
0

0 0 0
1 0 0
3 9 27
1 6 27

][ ] [ ]
a0
10
a1 10
=
a 2 50
a 3 10

b. Solve the linear system proposed in a. to find the coefficients.


This system can be solved to find: a0 = 10; a1 = -10; a2 = -10; a3 = 2.222
c. Find the angles, angular velocities and angular accelerations of the joint at times t =
1 and t = 2 seconds.
Here are the final equations for angle, velocity and acceleration:
(t) = 10 10t 10t2 + 2.222t3; (t) = -10 20t + 6.666t2; acc(t) = -20 + 13.332t
We will set up a table that shows the values for t = 0, 1, 2, and 3 seconds:
t
0
1
2
3

10.000
-7.778
-32.224
-50.000

-10.000
-23.334
-23.336
-10.000

acc
-20.000
-6.668
6.664
20.000

d. What is the maximum magnitude of angular acceleration the joint actuator will have
to produce and when will it occur?
The maximum is 20/sec2 and occurs at t=0 and t=3.
e. Extra credit (2 pts): describe briefly what you would have to do if the maximum
angular acceleration is too much for the joint actuator. In other words, what steps
would be taken to modify the trajectory plan if there were a maximum angular
acceleration that had to be accommodated?
Putting a constraint on maximum acceleration means we have to use a fifth order
polynomial, setting initial and final acceleration as boundary conditions, in addition
to initial and final angles and velocities. This generates a 6x6 system to solve.

4. (25 pts) Consider the cylindrical arm described in question 1.


a. Write the forward kinematic equations for the location of the end effector, q x, qy and
qz, in terms of , l and r. From the discussion in Chapter 2 (p. 62-63):
qx = r cos
qy = r sin
qz = l
b. Find the 3x3 Jacobian that represents the partial derivatives of q x, qy and qz with
respect to , l and r. Simplify any trigonometric functions in the Jacobian by
replacing them with their approximations for small angle movements.
The Jacobian is (first in general form, then applied to our case, then approximated):

[ ]

qx

qy
J=

qz

qx
l
qy
l
qz
l

qx
r
r sin 0 cos r
q y
= r cos 0 sin r
r
0
1
0
0
qz
r

][

0 1
0
1 0

c. Suppose the starting position of the end effector is p = [0.2 0.0 0.2] as before. It is
desired to evaluate a small incremental move of d = 0.1 radians, dl = 0.01 m and
dr = 0.01 m. Evaluate your Jacobian found in b. at point p and use it to estimate the
new location of the end effector after the incremental move.
Referring to equation 3.5 on page 115, we use the fact that the Jacobian, multiplied
by the differential movement of the joints, gives us the differential movement of the
point. Therefore,

[ ] [

][ ] [ ]

0.1
r 0 1 0.1
0.2
q=J 0.001 + p= r
0 0.001 + 0.0
0.001
0
1 0 0.001 0.2

Substituting the information we have at the starting point, r = 0.2 and = 0.

][ ] [ ] [ ]

0 0 1 0.1
0.2
0.201
+
=
0.2 0 0 0.001 0.0
0.020
0 1 0 0.001 0.2
0.201

d. Extra credit (2 pts): use exact kinematics for the move prescribed in part c. above
to find the exact new location of the end effector. Compare to the estimated new
location found in c. and characterize the errors in x, y and z.
This requires us to use the forward kinematics equations directly. For this move, r =
0.201, = 0.1 (radians), and l = 0.201.
qx = r cos = (0.201)(0.995) = 0.199995 vs 0.201 0.5% error
qy = r sin = (0.201)(0.0998) = 0.02006 vs 0.020 0.3% error
qz = l = 0.201 0% error