ivr 30/10/2009 herrmann1 ivr: control theory overview: pid control steady-state error and the...
TRANSCRIPT
IVR 30/10/2009 Herrmann 1
IVR: 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
IVR 30/10/2009 Herrmann 2
PID 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
IVR 30/10/2009 Herrmann 3
Motor command
Robot in environment
Control Law
DisturbancesMeasurement
Proportional error control
• 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
Desired
output
Actual
output
IVR 30/10/2009 Herrmann 4
Steady state errorServo control law:
New process:
Battery voltage
VB
Vehicle speed
s?
ssgoal
)( goal ssKV pB
dt
ds
k
MRskKsK pp
21goal )(
gain=K
1
goal
kKsK
sp
p
With steady state (ds/dt=0):
Steady state error:
goal1
1
1
goalgoal1goal
1
goalgoalgoal
skK
k
kK
sKsksKkK
sKsss
p
p
pp
p
p
IVR 30/10/2009 Herrmann 5
Steady state error
k1 is determined by the motor physics: e= k1 s
Can choose Kp: to reach target want
But we can’t put an infinite voltage into our motor!
Battery voltage
VB
Vehicle speed
s?
ssgoal
gain=K
goal1
1goal s
kK
kss
p
pK
IVR 30/10/2009 Herrmann 6
Steady state error
For any sensible Kp the system will undershoot the target velocity.
t
s
sgoal
IVR 30/10/2009 Herrmann 7
Proportional 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.
)( goal ssKV pB
dtss )( goal
dtssKssKV ipB )()( goalgoal
IVR 30/10/2009 Herrmann 8
Motor command
Robot in environment
Control Law
DisturbancesMeasurement
Feedback with time delays
• Imagine trying to move a robot to some zero position with the simple control law:– If xt < -δ move forward at 1cm/second, – If xt > δ move backward at 1cm/second,– If -δ < xt < δ stop
• What happens if there is a 1 second delay in feedback?
Desired
output
Actual
output
IVR 30/10/2009 Herrmann 9
Feedback 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
IVR 30/10/2009 Herrmann 10
Central 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.
A B
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
IVR 30/10/2009 Herrmann 11
www.sarcos.comAuke Ijspeert: Bastian
IVR 30/10/2009 Herrmann 12
Feedback 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.
IVR 30/10/2009 Herrmann 13
Second order system
Want to move to desired postion θgoal
For a DC motor on a robot joint
where J = joint inertia, F = joint friction
Proportional control:
θgoal AmplificationK of current I
Output torque T
θerror
θ
dt
dF
dt
dJT
2
)( goal pKT
Need more sophisticated model for oscillations
IVR 30/10/2009 Herrmann 14
Second 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:
dt
dF
dt
dJK gp
2
)(
2
22
12 tttJ
F
ecece
where
J
K
J
F p42
2
0g
[May be complex]
IVR 30/10/2009 Herrmann 15
Over and Under Damping
22
21
2tttJ
Fecece
J
K
J
F p42
2
The system returns to the goal(critical damping)
JKF
p4
2 tJF
e 2
JKF
p4
2 The system returns to the goal with over-damping
JKF
p4
2 The system returns to the goal with under-damped, sinusoidal behaviour
IVR 30/10/2009 Herrmann 16
Steady 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
pKLT
IVR 30/10/2009 Herrmann 17
Proportional 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
dttKLt
i 0
goal
IVR 30/10/2009 Herrmann 18
Proportional 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
• Makedt
dF
dt
dJ
dt
dKKT dgp
2
)(
dt
dKF
dt
dJK dgp
2
)(Artificial friction:
IVR 30/10/2009 Herrmann 19
Combine as PID control
t
t
gidgp dttKdt
tdKtKtT
0
)()(
Kp
θ
errorθg
Ki
Kdd/dt
Torque
IVR 30/10/2009 Herrmann 20
PID control demo
dt
dF
dt
dJtT
dttKdt
tdKtKtT
t
t
gidgp
2
2
)(
)()(
0
Rearranging becomes (almost) solvable as:
JKdtKd
JKcJKFb
dcb
t
gpgi
pd
/])([
,/ ,/)(
0
0
where
IVR 30/10/2009 Herrmann 21
PID control demo IIPure proportional control with friction & inertiaOverdamped, overshoot, oscillateChoosing Kp, Kd, Ki a bit tricky
5.5g
IVR 30/10/2009 Herrmann 22
PID control demo IIIUse Kp=0.003Add integral controlLess overdamped, overshoot, oscillate
IVR 30/10/2009 Herrmann 23
PID control demo IV
Add derivative controlLess overdamped, overshoot, oscillate
IVR 30/10/2009 Herrmann 24
PID control demo VGoal: track oscillating goal position (red)Original Kp=0.003 gain lags, undershootsKp=0.006 ok, but lags.Kp=0.03 tracks better but overshoots
IVR 30/10/2009 Herrmann 25
Limitations of PID control
• Tuning: largely empirical e.g. by Ziegler–Nichols method
• Delays: Combine with Feedforward
• Non-linearities: gain scheduling, multi-point controller, fuzzy logic
• Noise: D-term particularly sensitive:use low-pass filter (May cancel out D → PI)
• Often PI or PD is sufficient
IVR 30/10/2009 Herrmann 26
Further 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.
IVR 30/10/2009 Herrmann 27
Bose suspension
IVR 30/10/2009 Herrmann 28
Next time: Bob Fisher