[Control] Adaptive Control
- -
0. Adaptive control
이번 주제는 Adaptive control이다.
적응제어라고도 한다.
Sliding mode control와 같이 robust control의 경우 disturbance와 같이 모르는 term의 최댓값을 안다는 가정 하에 설계가 가능하다.
하지만 Adaptive control의 경우 모르는 term의 bound를 정확히 알기 어려울 때 사용한다.
1. System model
$$ \begin{align} \dot{y} = -a_{p}y + b_{p}u \end{align} $$
Assumption 1. Unknown term is a constant.
$ a_{p} $ : unknown
$ b_{p} $ : unknown, but the sign of $ b_{p} $ is known ($ b_{p} > 0 $)
모르는 term이 상수이어야 Adaptive control 설계가 가능하다.
이유는 추후에 안정도 이론에서 설명한다.
또한 일반적으로 $ b_{p} $를 양수라 가정하고 해석한다.
1-1. Reference model
$$ \dot{y}_{m} = -a_{m}y_{m} + b_{m}r $$
$ a_{m} > 0 $
2. Define error
$$ \begin{align} e &= y - y_{m}\\\\ \dot{e} &= \dot{y} - \dot{y}_{m}\\ &= -a_{p}y + b_{p}u + a_{m}y_{m} - b_{m}r \end{align} $$
3. 1st Lyapunov function candidate
Lyapunov 안정도 이론을 통해 제어기를 설계하기 위해 Lyapunov function 후보를 설정한다.
$$ \begin{align} V_{1} = \frac{1}{2}e^{2} \end{align} $$
이를 시간에 대해 미분하면
$$ \begin{align} \dot{V}_{1} &= e\dot{e}\\ &= e(-a_{p}y + b_{p}u_{1} + a_{m}y_{m} - b_{m}r) \end{align} $$
Negative definite을 만족하기 위한 제어기를 설계하면 다음과 같다.
$$ \begin{align} u_{1} = \frac{1}{b_{p}} \left( a_{p}y - a_{m}y_{m} + b_{m}r -ke \right) \end{align} $$
where $k$ is positive control gain, $e$ is error.
하지만 제어 입력 $u_{1}$에서 $b_{p}$와 $a_{p}$는 모르는 값이므로 입력이 될 수 없다.
이는 제어 입력을 통해 Lyapunov function이 negative definite함을 증명할 수 없다.
따라서 이를 해결하기 위해 Lyapunov function을 수정한다.
3-1. 2nd Lyapunov function candidate
$$ \begin{align} V_{2} = \frac{1}{2} \frac{e^{2}}{b_{p}} \end{align} $$
이를 다시 시간에 대해 미분하면
$$ \begin{align} \dot{V}_{2} &= \frac{e}{b_{p}} \dot{e}\\ &= e \left( -\frac{a_{p}}{b_{p}}y + u_{2} + \frac{a_{m}}{b_{p}}y_{m} - \frac{b_{m}}{b_{p}}r \right) \end{align} $$
여기서 모르는 값들을 간단하게 표현하기 위해 $\frac{a_{p}}{b_{p}} = a_{1}$, $\frac{1}{b_{p}} = a_{2}$라고 치환한다.
$a_{m}$과 $b_{m}$의 경우 reference이므로 우리가 알고 있는 값이다.
치환한 변수로 $\dot{V}_{2}$를 다시 표현하면 다음과 같다.
$$\begin{align} \dot{V}_{2} = e \left( -a_{1}y + u_{2} + a_{m}a_{2}y_{m} - b_{m}a_{2}r \right) \end{align}$$
아까와 같이 time derivative of Lyapunov function을 negative definite함을 만족하기 위한 제어기는 다음과 같다.
$$ u_{2} = a_{1}y - a_{m}a_{2}y_{m} + b_{m}a_{2}r - ke$$
where $k$ is positive control gain, $e$ is error.
하지만 당연하게도 제어 입력은 모두 알고 있는 값이 되어야 한다.
이를 해결하기 위해 모르는 값 $a_{1}$과 $a_{2}$에 대해 estimation 한다.
4. Estimation error
$$ \begin{align} \tilde{a}_{1} &= a_{1} - \hat{a}_{1}\\ \tilde{a}_{2} &= a_{2} - \hat{a}_{2} \end{align} $$
3-1의 마지막에 설계한 제어 입력 $u$에서 모르는 값은 모두 추정값으로 대입한다.
$$ u_{2} = \hat{a}_{1}y - a_{m}\hat{a}_{2}y_{m} + b_{m}\hat{a}_{2}r - ke$$
where $k$ is positive control gain, $e$ is error.
4-1. Lyapunov function
3-1에서 선정한 Lyapunov function의 time derivative에서 추정값으로 구성된 제어 입력을 대입하면 다음과 같다.
$$ u_{2} = \hat{a}_{1}y - a_{m}\hat{a}_{2}y_{m} + b_{m}\hat{a}_{2}r - ke$$
where $k$ is positive control gain, $e$ is error.
$$ \begin{align} \dot{V}_{2} &= e \left( -a_{1}y + u_{2} + a_{m}a_{2}y_{m} - b_{m}a_{2}r \right)\\ &= e \left( -a_{1}y + \hat{a}_{1}y - a_{m}\hat{a}_{2}y_{m} + b_{m}\hat{a}_{2}r - ke + a_{m}a_{2}y_{m} - b_{m}a_{2}r \right)\\ &= e \left( - \left( a_{1} - \hat{a}_{1} \right)y + \left( a_{2} - \hat{a}_{2} \right)a_{m}y_{m} - \left( a_{2} - \hat{a}_{2} \right)b_{m}r - ke \right)\\ &= e \left( -\tilde{a}_{1}y + \tilde{a}_{2}\left( a_{m}y_{m} - b_{m}r \right) - ke \right) \end{align} $$
하지만 이렇게 해도 time derivative of Lyapunov function이 negative definite함을 만족하지 못한다.
따라서 해당 Lyapunov function candidate는 Lyapunov function이라 할 수 없다.
마지막으로 Lyapunov function을 수정하여 다시 작성한다.
5. 3rd Lyapunov function candidate
$$ \begin{align} V_{3} &= \frac{1}{2b_{p}}e^{2} + \frac{1}{2} \left( \frac{1}{\gamma_{1}}\tilde{a}_{1}^{2} + \frac{1}{\gamma_{2}}\tilde{a}_{2}^{2} \right) \end{align} $$
where $\gamma_{1}$ and $\gamma_{2}$ are gain for adaptation law
여기서 time derivative of Lyapunoc function을 계산하면 $\frac{1}{2}\tilde{a}_{1}^{2}$과 $\frac{1}{2}\tilde{a}_{2}^{2}$으로 부터 $\dot{\tilde{a}}_{1}$과 $\dot{\tilde{a}}_{2}$가 튀어나온다.
먼저 이를 계산하면 다음과 같다.
$$ \begin{align} \dot{\tilde{a}}_{1} &= - \dot{\hat{a}}_{1}\\ \dot{\tilde{a}}_{2} &= - \dot{\hat{a}}_{2} \end{align} $$
Assumption 1. Unknown term is a constant.
여기서 system model에서 설명한 Assumption이 필요하다.
4. estimdation error에서 unknown term $a_{1}$과 $a_{2}$가 상수가 아니라 시간에 따라 변하는 term이라면 미분을 했을 때 사라지지 않는다.
그렇게 된다면 Adaptive control은 사용할 수 없다.
따라서 Adaptive control을 사용하기 위해서 해당 가정이 반드시 필요하다.
다시 3rd Lyapunov function의 time derivative를 계산하면 다음과 같다.
앞서 $\dot{V}_{2}$에서 estimation error를 활용하여 정리하였으므로 해동 부분에 대한 전개는 생략한다.
$$ \begin{align} \dot{V}_{3} &= \frac{e\dot{e}}{b_{p}} + \frac{\tilde{a}_{1}\dot{\tilde{a}}_{1}}{\gamma_{1}} + \frac{\tilde{a}_{2}\dot{\tilde{a}}_{2}}{\gamma_{2}}\\ &= e \left( -\tilde{a}_{1}y + \tilde{a}_{2} \left( a_{m}y_{m} - b_{m}r \right) - ke \right) - \frac{\tilde{a}_{1}}{\gamma_{1}}\dot{\hat{a}}_{1} - \frac{\tilde{a}_{2}}{\gamma_{2}}\dot{\hat{a}}_{2}\\ &= -ke^{2} - \tilde{a}_{1}ye + \tilde{a}_{2}e \left( a_{m}y_{m} - b_{m}r \right) - \frac{\tilde{a}_{1}}{\gamma_{1}}\dot{\hat{a}}_{a} - \frac{\tilde{a}_{2}}{\gamma_{2}}\dot{\hat{a}_{2}} \end{align}$$
이제 여기서 Adaptation law가 필요하다.
즉, $\dot{\hat{a}}_{1}$과 $\dot{\hat{a}}_{2}$를 설계하면 된다.
$$ \begin{align} \dot{\hat{a}}_{1} &= - \gamma_{1}ye\\ \dot{\hat{a}}_{2} &= - \gamma_{2}e \left( a_{m}y_{m} - b_{m}r \right) \end{align} $$
이렇게 설계된다면 $\dot{V}_{3}$은 negative definite함을 만족하게 된다.
# 마치며
$V_{3}$는 $e$와 $\tilde{a}_{1}$, $\tilde{a}_{2}$로 구성되어 있지만 이의 미분인 $\dot{V}_{3}$는 $e$로만 구성되어 있으므로 오차는 0으로 수렴한다.
하지만 estimation error는 0으로 수렴하지 않지만 bound되어있다.
우리는 $e$에 대해 $0$으로 수렴함을 보이면 되기 때문에 estimation error는 bound로 충분하다.
하지만 estimation error까지 모두 0으로 수렴하기 위해서는 sigma modification을 사용해야 한다.
'🔹Control' 카테고리의 다른 글
[Control] Mobile robot Control (2) | 2023.08.27 |
---|---|
[Control] Backstepping Control (0) | 2023.05.31 |
[Control] Sliding Mode Control (SMC) (5) | 2022.09.14 |
소중한 공감 감사합니다