Title: IVR: Control Theory
 1IVR Control Theory
- Overview 
 - PID control 
 - Steady-state error and the integral method 
 - Overshoot and ringing in system with time delay 
 - Overshoot and ringing in second order systems 
 - The derivative method
 
  2PID control
- P  Proportional error 
 - I  Integral 
 - D  Derivative
 
A standard and very useful method for augmenting 
simple feedback control E.g. used in - wheel 
position/speed control in the Khepera 
 3Proportional error control
Motor command
Robot in environment
Control Law
Desired output
Disturbances
Actual output
Measurement
- Same as servo, i.e. using a control signal 
proportional to the difference between the actual 
(measured) output and the desired (target) 
output.  - I.e. want to make large change when error is 
large, small change if error is small 
  4Steady state error
- Servo control law 
 - New process
 
gainK
s
sgoal
With steady state (ds/dt0) Steady state error 
 5Steady state error
gainK
s
sgoal
- k1 is determined by the motor physics e k1 s 
 - Can choose Kp to reach target want 
 - But we cant put an infinite voltage into our 
motor! 
  6Steady state error
- For any sensible Kp the system will undershoot 
the target velocity. 
s
sgoal
t 
 7Proportional Integral (PI) Control
- If we could estimate this error we could add it 
to the control signal  - The best way to estimate it is to integrate the 
error over time  - Obtain new control law 
 - Basically, this sums some fraction of the error 
until the error is reduced to zero.  - With careful choice of Kp and Ki this can 
eliminate the steady state error. 
  8Feedback with time delays 
Motor command
Robot in environment
Control Law
Desired output
Disturbances
Actual output
Measurement
- Imagine trying to move a robot to some zero 
position with the simple control law  - If xt lt -d move forward at 1cm/second, 
 - If xt gt d move backward at 1cm/second, 
 - If -d lt xt lt d stop 
 - What happens if there is a 1 second delay in 
feedback?  
  9Feedback with time delays 
- In general, a time-lag in a feedback loop will 
result in overshoot and oscillation.  - Depending on the dynamics, the oscillation could 
fade out, continue or increase.  - Sometimes we want oscillation, e.g. CPG 
 
  10Central Pattern Generators
- Many movements in animals, and robots, are 
rhythmic, e.g. walking  - Rather than explicitly controlling position, can 
exploit an oscillatory process, e.g.  
If A is tonically active, it will excite B When 
B becomes active it inhibits A When A is 
inhibited, it stops exciting B When B is 
inactive it stops inhibiting A 
 11www.sarcos.com
Auke Ijspeert Bastian 
 12Feedback with time delays 
- In general, a time-lag in a feedback loop will 
result in overshoot and oscillation.  - Depending on the dynamics, the oscillation could 
fade out, continue or increase.  - Sometimes we want oscillation, e.g. CPG 
 - Note that integration introduces a time delay. 
 - Time delays are equivalent to energy storage e.g. 
inertia will cause similar effects.  
  13Second order system
Need more sophisticated model for oscillations
?goal
- Want to move to desired postion ?goal 
 - For a DC motor on a robot joint 
 -  where J  joint inertia, F  joint friction 
 - Proportional control 
 
  14Second order system solution
- For simplicity let 
 - Then the system process is 
 - The solution to this equation has the form 
 - The system behaviour depends on J, F, Kp as 
follows 
May be complex
where 
 15Over and Under Damping
The system returns to the goal(critical damping)
The system returns to the goal with over-damping
The system returns to the goal with under-damped, 
 sinusoidal behaviour 
 16Steady state error  Load Droop
- If the system has to hold a load against gravity, 
it requires a constant torque  - But P controller cannot do this without error, as 
torque is proportional to error (so, needs some 
error)  - If we knew the load L could use 
 - But in practice this is not often possible
 
  17Proportional integral (PI) control
- As before, we integrate the error over time, i.e. 
 - Effectively this gradually increases L until it 
produces enough torque to compensate for the load  - PI copes with Load Droop 
 
  18Proportional derivative (PD) control
- Commonly, inertia is large and friction small 
 - Consequently the system overshoots, reverses the 
error and control signal, overshoots again  - To actively brake the motion, we want to apply 
negative torque when error is small and velocity 
high  - Make
 
Artificial friction 
 19Combine as PID control 
 20PID control demo
 Rearranging becomes (almost) solvable as
where 
 21PID control demo II
Pure proportional control with 
friction  inertia Overdamped, overshoot, 
oscillate Choosing Kp, Kd, Ki a bit tricky 
 22PID control demo III
Use Kp0.003 Add integral control Less 
overdamped, overshoot, oscillate 
 23PID control demo IV
Add derivative control Less overdamped, 
overshoot, oscillate 
 24PID control demo V
Goal track oscillating goal position 
(red) Original Kp0.003 gain lags, 
undershoots Kp0.006 ok, but lags. Kp0.03 tracks 
better but overshoots 
 25Limitations of PID control
- Tuning largely empirical e.g. by ZieglerNichols 
method  - Delays Combine with Feedforward 
 - Non-linearities gain scheduling, multi-point 
controller, fuzzy logic  - Noise D-term particularly sensitiveuse 
low-pass filter (May cancel out D ? PI)  - Often PI or PD is sufficient
 
  26Further reading Most standard control textbooks 
discuss PID control. For the research on robot 
juggling see Rizzi, A.A.  Koditschek, D.E. 
(1994) Further progress in robot juggling 
Solvable mirror laws. IEEE International 
Conference on Robotics and Automation 2935-2940 
 S. Schaal and C.G. Atkeson. Open Loop Stable 
Control Strategies for Robot Juggling. In Proc. 
IEEE Conf. Robotics and Automation, pages 913 -- 
918, Atlanta, Georgia, 1993. CPGs are used in 
many more recent examples of walking robots. 
 27Bose suspension 
 28