1. Introduction to MRAC
Model Reference Adaptive Control (MRAC) is a class of adaptive control strategies where the control system is designed to make the output of the plant follow a desired reference model.
-
Objective: Ensure that the plant output y(t)y(t) follows the reference model output ym(t)y_m(t) despite unknown or varying plant parameters.
2. System Description
Plant (Unknown Parameters):
xË™(t)=Ax(t)+Bu(t)dot{x}(t) = A x(t) + B u(t)
or for SISO (Single Input Single Output) system:
y˙(t)=ay(t)+bu(t),a,b unknowndot{y}(t) = a y(t) + b u(t), quad a, b text{ unknown}
Reference Model:
y˙m(t)=amym(t)+bmr(t)dot{y}_m(t) = a_m y_m(t) + b_m r(t)
where:
-
r(t)r(t) is the reference input.
-
ym(t)y_m(t) is the desired output.
-
am,bma_m, b_m are known constants.
3. Control Law (Adaptive Controller Structure)
Define the adaptive control law as:
u(t)=θ1(t)r(t)+θ2(t)y(t)u(t) = theta_1(t) r(t) + theta_2(t) y(t)
where θ1(t)theta_1(t) and θ2(t)theta_2(t) are time-varying adaptive parameters to be tuned.
4. Tracking Error Definition
Define the tracking error:
e(t)=y(t)−ym(t)e(t) = y(t) – y_m(t)
The goal is to design adaptation laws for θ1(t)theta_1(t) and θ2(t)theta_2(t) such that e(t)→0e(t) rightarrow 0 as t→∞t rightarrow infty.
5. Error Dynamics
Substitute control law into the plant model and subtract the reference model:
eË™(t)=yË™(t)−yË™m(t)dot{e}(t) = dot{y}(t) – dot{y}_m(t)
Using plant:
y˙=ay+b(θ1r+θ2y)dot{y} = a y + b (theta_1 r + theta_2 y)
Using reference model:
y˙m=amym+bmrdot{y}_m = a_m y_m + b_m r
Hence:
eË™=ay+b(θ1r+θ2y)−amym−bmrdot{e} = a y + b(theta_1 r + theta_2 y) – a_m y_m – b_m r
Since e=y−ym⇒y=e+yme = y – y_m Rightarrow y = e + y_m, substitute:
eË™=a(e+ym)+b(θ1r+θ2(e+ym))−amym−bmrdot{e} = a(e + y_m) + b(theta_1 r + theta_2 (e + y_m)) – a_m y_m – b_m r
Simplify to:
eË™=ae+aym+bθ1r+bθ2e+bθ2ym−amym−bmrdot{e} = a e + a y_m + b theta_1 r + b theta_2 e + b theta_2 y_m – a_m y_m – b_m r
Grouping terms:
eË™=(a+bθ2)e+(aym+bθ2ym−amym)+(bθ1r−bmr)dot{e} = (a + b theta_2) e + (a y_m + b theta_2 y_m – a_m y_m) + (b theta_1 r – b_m r)
Let’s define:
θ~1=θ1−θ1∗,θ~2=θ2−θ2∗tilde{theta}_1 = theta_1 – theta_1^*, quad tilde{theta}_2 = theta_2 – theta_2^*
where:
θ1∗=bmb,θ2∗=am−abtheta_1^* = frac{b_m}{b}, quad theta_2^* = frac{a_m – a}{b}
Then error dynamics simplify to:
e˙=(a+bθ2∗+bθ~2)e+bθ~1rdot{e} = (a + b theta_2^* + b tilde{theta}_2) e + b tilde{theta}_1 r
But with substitution:
a+bθ2∗=am⇒e˙=ame+bθ~1r+bθ~2ya + b theta_2^* = a_m Rightarrow dot{e} = a_m e + b tilde{theta}_1 r + b tilde{theta}_2 y
6. Lyapunov Candidate Function
Choose a Lyapunov function:
V(e,θ~1,θ~2)=12e2+12γ1θ~12+12γ2θ~22V(e, tilde{theta}_1, tilde{theta}_2) = frac{1}{2} e^2 + frac{1}{2 gamma_1} tilde{theta}_1^2 + frac{1}{2 gamma_2} tilde{theta}_2^2
where γ1,γ2>0gamma_1, gamma_2 > 0 are adaptation gains.
7. Time Derivative of Lyapunov Function
V˙=ee˙+1γ1θ~1θ~˙1+1γ2θ~2θ~˙2dot{V} = e dot{e} + frac{1}{gamma_1} tilde{theta}_1 dot{tilde{theta}}_1 + frac{1}{gamma_2} tilde{theta}_2 dot{tilde{theta}}_2
Substitute e˙=ame+bθ~1r+bθ~2ydot{e} = a_m e + b tilde{theta}_1 r + b tilde{theta}_2 y:
V˙=e(ame+bθ~1r+bθ~2y)+1γ1θ~1θ~˙1+1γ2θ~2θ~˙2dot{V} = e (a_m e + b tilde{theta}_1 r + b tilde{theta}_2 y) + frac{1}{gamma_1} tilde{theta}_1 dot{tilde{theta}}_1 + frac{1}{gamma_2} tilde{theta}_2 dot{tilde{theta}}_2 V˙=ame2+beθ~1r+beθ~2y+1γ1θ~1θ˙1+1γ2θ~2θ˙2dot{V} = a_m e^2 + b e tilde{theta}_1 r + b e tilde{theta}_2 y + frac{1}{gamma_1} tilde{theta}_1 dot{theta}_1 + frac{1}{gamma_2} tilde{theta}_2 dot{theta}_2
To make V˙≤0dot{V} leq 0, choose adaptation laws:
8. Adaptation Laws
θ˙1=−γ1erdot{theta}_1 = – gamma_1 e r θ˙2=−γ2eydot{theta}_2 = – gamma_2 e y
Substituting into V˙dot{V}:
VË™=ame2+beθ~1r+beθ~2y−beθ~1r−beθ~2y=ame2dot{V} = a_m e^2 + b e tilde{theta}_1 r + b e tilde{theta}_2 y – b e tilde{theta}_1 r – b e tilde{theta}_2 y = a_m e^2
If am<0a_m < 0, then V˙<0⇒dot{V} < 0 Rightarrow system is stable.
9. Summary of MRAC Design Using Lyapunov
Component | Description |
---|---|
Plant | yË™=ay+budot{y} = a y + b u |
Reference Model | y˙m=amym+bmrdot{y}_m = a_m y_m + b_m r |
Control Law | u=θ1r+θ2yu = theta_1 r + theta_2 y |
Tracking Error | e=y−yme = y – y_m |
Lyapunov Function | V=12e2+12γ1θ~12+12γ2θ~22V = frac{1}{2} e^2 + frac{1}{2gamma_1} tilde{theta}_1^2 + frac{1}{2gamma_2} tilde{theta}_2^2 |
Adaptation Laws | θ˙1=−γ1er,  θ˙2=−γ2eydot{theta}_1 = -gamma_1 e r, ; dot{theta}_2 = -gamma_2 e y |
10. Simulation/Block Diagram (Optional for Visuals)
A MATLAB/SIMULINK model can be constructed with:
-
Plant block.
-
Reference model block.
-
Adaptive controller block (implementing θ1,θ2theta_1, theta_2 and their updates).
-
Error calculator e=y−yme = y – y_m.