ivr 30/10/2009 herrmann1 ivr: control theory overview: pid control steady-state error and the...

28
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

Upload: frank-gibbs

Post on 17-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

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

Page 2: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

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

Page 3: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

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

Page 4: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

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

Page 5: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

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

Page 6: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

IVR 30/10/2009 Herrmann 6

Steady state error

For any sensible Kp the system will undershoot the target velocity.

t

s

sgoal

Page 7: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

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

Page 8: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

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

Page 9: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

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

Page 10: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

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

Page 11: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

IVR 30/10/2009 Herrmann 11

www.sarcos.comAuke Ijspeert: Bastian

Page 12: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

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.

Page 13: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

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

Page 14: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

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]

Page 15: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

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

Page 16: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

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

Page 17: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

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

Page 18: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

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:

Page 19: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

IVR 30/10/2009 Herrmann 19

Combine as PID control

t

t

gidgp dttKdt

tdKtKtT

0

)()(

Kp

θ

errorθg

Ki

Kdd/dt

Torque

Page 20: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

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

Page 21: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

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

Page 22: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

IVR 30/10/2009 Herrmann 22

PID control demo IIIUse Kp=0.003Add integral controlLess overdamped, overshoot, oscillate

Page 23: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

IVR 30/10/2009 Herrmann 23

PID control demo IV

Add derivative controlLess overdamped, overshoot, oscillate

Page 24: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

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

Page 25: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

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

Page 26: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

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.

Page 27: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

IVR 30/10/2009 Herrmann 27

Bose suspension

Page 28: IVR 30/10/2009 Herrmann1 IVR: Control Theory Overview: PID control Steady-state error and the integral method Overshoot and ringing in system with time

IVR 30/10/2009 Herrmann 28

Next time: Bob Fisher