lecture 7: anti-windup and friction compensation · lecture 7: anti-windup and friction...
TRANSCRIPT
![Page 1: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/1.jpg)
Lecture 7: Anti-windup and friction compensation
◮ Compensation for saturations (anti-windup)◮ Friction models◮ Friction compensation
Material
◮ Lecture slides
![Page 2: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/2.jpg)
Course Outline
Lecture 1-3 Modelling and basic phenomena(linearization, phase plane, limit cycles)
Lecture 2-6 Analysis methods(Lyapunov, circle criterion, describing functions)
Lecture 7-8 Common nonlinearities(Saturation, friction, backlash, quantization)
Lecture 9-13 Design methods(Lyapunov methods, Backstepping, Optimal control)
Lecture 14 Summary
![Page 3: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/3.jpg)
Last lecture: Stable periodic solution
r e u y
− G(s)
−5 −4 −3 −2 −1 0−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
0.2
G(iω )
−1/N(A)
G(s) = (s+ 10)2(s+ 1)3 with feedback u = −sgn y
gives one stable and one unstable limit cycle. The left mostintersection corresponds to the stable one.
![Page 4: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/4.jpg)
Periodic Solutions in Relay System
The relay gain N(A) is higher for small A:
orbit
Growing amplitudes
Shrinking relay gain
Stable
periodic
orbit
Unstable
periodic
Growing relay gain
One encirclement
Shrinking amplitudes
Growing relay gain
Small amplitudes
High relay gain
No encirclement
Shrinking amplitudes
Big amplitudes
Small relay gain
No encirclement
![Page 5: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/5.jpg)
Today’s Goal
◮ To be able to design and analyze antiwindup schemes for◮ PID◮ state-space systems◮ and Kalman filters (observers)
◮ To understand common models of friction◮ To design and analyze friction compensation schemes
![Page 6: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/6.jpg)
Windup – The Problem
replacementsv u
G(s)
C(s)
The feedback path is broken when u saturates
The controller C(s) is a dynamic system
Problems when controller is unstable (or stable but not AS)
Example: I-part in PID-controller
![Page 7: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/7.jpg)
Example-Windup in PID Controller
0 20 40 60 800
1
2
Output
0 20 40 60 80
-0.1
0
0.1
Time
Input
Dashed line: ordinary PID-controller
Solid line: PID-controller with anti-windup
![Page 8: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/8.jpg)
Anti-windup for PID-Controller (“Tracking”)
Anti-windup (a) with actuator output available and (b) without
∑
∑1
s
1
T t
es
− y
v ue
− +
∑ ∑
− y
e uv
− +
es
1
T t
1
s
Actuator model Actuator
Actuator
∑
K
KTds
K
K
Ti
KTds
K
Ti
∑
(a)
(b)
![Page 9: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/9.jpg)
Choice of Tracking Time Tt
0 10 20 300
1
0 10 20 30
-0.1
0
0.1
yset-point Tt = 3Tt = 2
Tt = 0.1,Tt = 1
Tt = 3Tt = 2
Tt = 1Tt = 0.1
With very small Tt (large gain 1/Tt), spurious errors cansaturate the output, which leads to accidental reset of theintegrator. Too large Tt gives too slow reaction (little effect).
The tracking time Tt is the design parameter of the anti-windup.
Common choices: Tt = Ti or Tt =√TiTd.
![Page 10: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/10.jpg)
State feedback with Observer
y
Σ
xm
− ˆ x L
Observer State feedback Actuatorsat(v)
˙x = Ax + B sat(v) + K (y− Cx)v = L(xm − x)
x is estimate of process state, xm desired (model) state.Need model of saturation if sat(v) is not measurable
![Page 11: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/11.jpg)
Antiwindup – General State-Space Controller
State-space controller:
xc(t) = Fxc(t) + Gy(t)u(t) = Cxc(t) + Dy(t)
Windup possible if F is unstable and u saturates.
ySA
yu u
SB
(a) (b)
Idea:Rewrite representation of control law from (a) to (b) such that:
(a) and (b) have same input-output relation
(b) behaves better when feedback loop is broken, if SB stable
![Page 12: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/12.jpg)
Antiwindup – General State-Space Controller
Mimic the observer-based controller:
xc = Fxc + Gy+ K (u− Cxc − Dy)︸ ︷︷ ︸=0
= (F − KC)xc + (G − KD)y+ Ku= F0xc + G0y+ Ku
Design so that F0 = F − KC has desired stable eigenvalues
Then use controller
xc = F0xc + G0y+ Kuu = sat (Cxc + Dy)
![Page 13: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/13.jpg)
State-space controller without and with anti-windup:
y u∑∑
∑∑ satu
G − KDy v
s − 1
K
F − KC
C
D
G
F
s − 1 C
D
xc
xc
![Page 14: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/14.jpg)
5 Minute Exercise
How would you do antiwindup for the following state-feedbackcontroller with observer and integral action ?
yre f1s −Li
−L
u
x
−
yProcess
Estimator
![Page 15: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/15.jpg)
Saturation
Optimal control theory (later)
Multi-loop Anti-windup (Cascaded systems):
Difficult problem, several suggested solutions
Turn off integrator in outer loop when inner loop saturates
![Page 16: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/16.jpg)
Friction
Present almost everywhere
◮ Often bad◮ Friction in valves and mechanical constructions
◮ Sometimes good◮ Friction in brakes
◮ Sometimes too small◮ Earthquakes
Problems
◮ How to model friction◮ How to compensate for friction
![Page 17: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/17.jpg)
Stick-slip Motion
0 10 200
1
2
0 10 200
0.2
0.4
0 10 200
1
Time
Time
Time
F
k(y− x)
yx
![Page 18: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/18.jpg)
Position Control of Servo with Friction – Hunting
Friction
ux r
v
x
F
1s
ΣPID1ms
−
0 20 40 60 80 1000
0.5
1
0 20 40 60 80 100-0.2
0.2
0 20 40 60 80 100
-1
0
1
Time
Time
Time
![Page 19: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/19.jpg)
3 Minute Exercise
What are the signals in the previous plots? What model offriction has been used in the simulation?
![Page 20: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/20.jpg)
Friction
N N
F
F F
![Page 21: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/21.jpg)
LubricationR
egimesV
elocity
Friction
Sticking
Boundary lubrication
Full fluid lubrication
Mixed lubrication
Hard
togetgood
modelat
v=0
![Page 22: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/22.jpg)
Stribeck Effect
For low velocity: friction increases with decreasing velocity
Stribeck (1902)
-0.04 -0.03 -0.02 -0.01 0 0.01 0.02 0.03 0.04
-200
-150
-100
-50
0
50
100
150
200
Steady state friction: Joint 1
Velocity [rad/sec]
Fric
tion
[Nm
]
![Page 23: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/23.jpg)
Frictional Lag
Dynamics are important also outside sticking regime
Hess and Soom (1990)
Experiment with unidirectional motion v(t) = v0 + a sin(ω t)Hysteresis effect!
Velocity
Friction
![Page 24: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/24.jpg)
Classical Friction Models
F
F
F
F
v
v
v
v
a) b)
c) d)
c) F(t) ={Fc sign v(t) + Fvv(t) v(t) ,= 0max(min(Fe(t), Fs),−Fs) v(t) = 0
Fe(t) = external applied force , Fc, Fv, Fs constants
![Page 25: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/25.jpg)
Advanced Friction Models
See PhD-thesis by Henrik Olsson
◮ Karnopp model◮ Armstrong’s seven parameter model◮ Dahl model◮ Bristle model◮ Reset integrator model◮ Bliman and Sorine◮ Wit-Olsson-Åström
![Page 26: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/26.jpg)
Demands on a model
To be useful for control the model should be
◮ sufficiently accurate,◮ suitable for simulation,◮ simple, few parameters to determine.◮ physical interpretations, insight
Pick the simplest model that does the job! If no stiction occursthe v = 0-models are not needed.
![Page 27: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/27.jpg)
Friction Compensation
◮ Lubrication◮ Integral action (beware!)◮ Dither◮ Non-model based control◮ Model based friction compensation◮ Adaptive friction compensation
![Page 28: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/28.jpg)
Integral Action
• The integral action compensates for any external disturbance
• Good if friction force changes slowly (v ( constant).
• To get fast action when friction changes one must use muchintegral action (small Ti)
• Gives phase lag, may cause stability problems etc
![Page 29: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/29.jpg)
Deadzone - Modified Integral Action
Modify integral part to I = KTi
∫ t0e(t)dτ
where input to integrator e =
e(t) −η e(t) > η
0 pe(t)p < η
e(t) +η e(t) < −η
e(t)
e(t)η
Advantage: Avoid that small static error introduces limit cycle
Disadvantage: Must accept small error (will not go to zero)
![Page 30: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/30.jpg)
Mechanical Vibrator–Dither
Avoids sticking at v = 0 where there usually is high friction byadding high-frequency mechanical vibration (dither )
+ ++
−
−PID
1ms
Friction
1su
F
vxr
x
Cf., mechanical maze puzzle(labyrintspel)
![Page 31: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/31.jpg)
Adaptive Friction Compensation
Coulomb Friction F = a sgn(v)
uPID 1ms
Frictionestimator
Friction
v++
−
Ffriction
Ffriction
x1s
Assumption: v measurable.Friction estimator:
z = kuPID sgn(v)a = z− kmpvp
Ffriction = a sgn(v)
![Page 32: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/32.jpg)
Result: e = a− a→ 0 as t→∞,
since
de
dt= −da
dt= −dz
dt+ km d
dtpvp
= −kuPID sgn(v) + kmv sgn(v)= −k sgn(v)(uPID −mv)= −k sgn(v)(F − F)= −k(a− a)= −ke
Remark: Careful with ddtpvp at v = 0.
![Page 33: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/33.jpg)
The KnockerCombines Coulomb compensation and square wave dither
0 1 2 3 4 5 6 7 8 9 10−0.5
0
0.5
1
1.5
2
2.5
Tore Hägglund, Innovation Cup winner + patent 1997
![Page 34: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/34.jpg)
Example–Friction Compensation
Velocity control with
a) P-controller
b) PI-controller
c) P + Coulomb estimation
![Page 35: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/35.jpg)
Results
0 1 2 3 4 5 6 7 8−1
−0.5
0
0.5
1
0 1 2 3 4 5 6 7 8−10
−5
0
5
10
vre f
v
u
P-controller
0 1 2 3 4 5 6 7 8−1
−0.5
0
0.5
1
0 1 2 3 4 5 6 7 8−10
−5
0
5
10
PI-controller
0 1 2 3 4 5 6 7 8−1
−0.5
0
0.5
1
0 1 2 3 4 5 6 7 8−10
−5
0
5
10
P-controller with Coulomb estimation
![Page 36: Lecture 7: Anti-windup and friction compensation · Lecture 7: Anti-windup and friction compensation ... Lecture slides. Course Outline Lecture 1-3 Modelling and basic phenomena (linearization,](https://reader034.vdocuments.us/reader034/viewer/2022052303/5b39e98d7f8b9a310e8efc50/html5/thumbnails/36.jpg)
Next Lecture
◮ Backlash◮ Quantization