 Consider the robot arm illustrated in the following figure (the same as we did in class).
 Using this program, verify the following "rules of thumb" for PID control using the definitions of ise time, peak time, overshoot, settling time and steady state error from the following figure. Be sure to submit your program and graphs to support your demonstration that the rules are correct.
 For proportional control, i.e., kp > 0, kd = 0 and kI=0, the solutions are oscillatory, and increasing kp increases the frequency of oscillation (which decreases the rise time and peak time) but decreases the mean steady state error. The settling time is infinite. Hint pick a starting value of kp=5.
 If derivative control is added to the proportional controller, i.e., kp > 0, kd > 0 and kI=0, then
 for small kd the solutions are decaying oscillations;
 increasing kd decreases the settling time;
 increasing kd sufficiently eliminates the oscillatory behavior completely, resulting in an solution which exponentially decays to the final, steady state value;
 increasing kp decreases the final steady state error;
 increasing kp decreases the rise time.
 Adding integral control (PID control)
 eliminates the steady state error, even for small values of kp,
 increasing kI generally increases the overshoot and settling time;
 increasing kp decreases rise time, but may increase overshoot;
 increasing kd increases damping and stability.
 Determine the region in the complex plane where the poles for a second order system should be located so that
 the maximum overshoot is less than 5%
 the 1% settling time is less than 4 seconds
 both of the above.
 At this point we have a good grip on second order systems. Unfortunately, the world isn't entirely composed of second order systems. In order to apply what we know to second order systems, it will be useful to determine the approximate effect of poles and zeros in addition to a complex conjugate pair for a second order system. Most, but not all of this problem will be done using matlab.
 Effect of additional poles far to the left. Consider
 Add a zero to G(s) far to the left. What is the effect on the step response?
 Add a zero to G(s) in the left half plane relatively close to the imaginary axis. What is the effect on the step response?
 Add a zero to G(s) in the right half plane relatively close to the imaginary axis. What is the effect on the step response?
 Add a pole to G(s) in the left half plane relatively close to the imaginary axis. What is the effect on the step response?
 Without computing or plotting anything, what will be the effect of adding a pole to G(s) near the imaginary axis near the imaginary axis in the right half plane?
 Add a zero to G(s) at s=1 and a pole to G(s) at s=0.95. What is the effect on the step response? What can you say in general about a pole and zero that are close together?
 Effect of additional poles far to the left. Consider
 Extra credit. Do the partial fraction expansion for the step response of the second order system, G(s) in the previous problem. Also do the partial fraction expansion for the second order system with an added zero (hint: put 1/r*(s+r) in the numerator). Based on these, prove your conclusions from the previous problem by considering the cases when r is positive and large, positive and small and negative and small.
 Match the plots of the location of the poles and zeros of a transfer function with the plots of the unit step response. In each case, justify your answer.
Homework 8, due Wednesday April 11.

 Site Admin
 Posts: 1596
 Joined: Tue Aug 24, 2004 4:54 pm
 Location: 376 Fitzpatrick
 Contact:
Homework 8, due Wednesday April 11.
Warning. This page has some big images. If you print it without comparing it with the page on the computer, you may be missing some parts of the figures. Perhaps you will need to sketch the figures near the end.
Last edited by goodwine on Wed Apr 04, 2007 2:15 pm, edited 5 times in total.
Bill Goodwine, 376 Fitzpatrick

 Site Admin
 Posts: 1596
 Joined: Tue Aug 24, 2004 4:54 pm
 Location: 376 Fitzpatrick
 Contact:
You must use numerical values unless you know how to either solve a nonlinear second order equation or to write a computer program that can handle leaving them unspecified. I want you to just pick a value and then change it in the manner specified and confirm that the expected result happens.mattstorey wrote:for problem 1 are we supposed to use real values for kd, ki, and kp or leave them as variables, and in reference to the same problem is the mgl term suppossed to go away when we use a derivative of both sides to reduce the integral component of error?
The mgl term will go away if its derivative is zero. If it's not zero, it won't go away. What happens specifically to that term depends on whether or not you are using the linear or nonlinear equation. In the latter case mgl may be multiplied by something that does not go away.
Bill Goodwine, 376 Fitzpatrick

 Site Admin
 Posts: 1596
 Joined: Tue Aug 24, 2004 4:54 pm
 Location: 376 Fitzpatrick
 Contact:

 Site Admin
 Posts: 1596
 Joined: Tue Aug 24, 2004 4:54 pm
 Location: 376 Fitzpatrick
 Contact:
Re: question 3
Yes.alam2 wrote:question 3 is independent from question 1 and 2 right?
Bill Goodwine, 376 Fitzpatrick
ch8 notes typo?
on pdf page 250, notes page 230:
the right hand side of the equation at the top ends in ...(k_d)(x_2)  (k_p)(x_2)
should this be (k_p)(x_1) ?
it states 9 pages earlier that torque is directly proportional to the theta position value.
the right hand side of the equation at the top ends in ...(k_d)(x_2)  (k_p)(x_2)
should this be (k_p)(x_1) ?
it states 9 pages earlier that torque is directly proportional to the theta position value.

 Site Admin
 Posts: 1596
 Joined: Tue Aug 24, 2004 4:54 pm
 Location: 376 Fitzpatrick
 Contact:
Re: ch8 notes typo?
Yes, you are right. Thanks for pointing that out.wmcleod wrote:on pdf page 250, notes page 230:
the right hand side of the equation at the top ends in ...(k_d)(x_2)  (k_p)(x_2)
should this be (k_p)(x_1) ?
it states 9 pages earlier that torque is directly proportional to the theta position value.
Bill Goodwine, 376 Fitzpatrick

 Site Admin
 Posts: 1596
 Joined: Tue Aug 24, 2004 4:54 pm
 Location: 376 Fitzpatrick
 Contact:
I think the step() function is part of the controls system toolbox. It is on the afs version of matlab installed on the cluster machines for sure. If it's not on your own computer, that indicates to me that the controls toolbox doesn't come with the student version of matlab and is something you would have to purchase separately.slane2 wrote:I was working on question 4 and found that my MATLAB does not have the step.m function. Is there anywhere we can get the code for this function? I looked online but could not find the right function.
Bill Goodwine, 376 Fitzpatrick