1. System
$$\begin{align} \dot{x}_{1} &= x_{2} \\\dot{x}_{2} &= u \end{align}$$
$\dot{x}_{1}$에 대해 제어 입력이 존재하지 않기 때문에 가상 제어기 $\alpha$를 설계해준다.
control objective
$$x \rightarrow x_{d}$$
2. Error
$$ \begin{align} e_{1} &= x_{1} - x_{d} \\ e_{2} &= x_{2} - \alpha \end{align}$$
$ e_{2} $에서 이를 $ x_{2} $에 대해 정리하면 다음과 같다.
$$ x_{2} = e_{2} + \alpha $$
$$\begin{align} \dot{e}_{1} &= x_{2} - \dot{x}_{d} \\ &= x_{2} - dot{x}_{d} \\ &= e_{2} + \alpha - \dot{x}_{d} \\\\ \dot{e}_{2} &= \dot{x}_{2} - \dot{\alpha} \\ &= u - \dot{\alpha} \end{align}$$
3. Lyapunov function candidate
$$ V = \frac{1}{2} \left( e_{1}^{2} + e_{2}^{2} \right) $$
$$ \begin{align} \dot{V} &= e\dot{e}_{1} + e_{2}\dot{e}_{2} \\ &= e_{1}\left(e_{2} + \alpha - \dot{x}_{d}\right) + e_{2}\left(u - \dot{\alpha} \right) \end{align}$$
Lyapunov function의 시간에 대한 도함수를 negative definite 하게 만족시키기 위한 제어기를 설계한다.
여기서 negative definite 하기 위해 방해가 되는 요소들을 제거하기 위한 제어 입력은 다음과 같다.
$$ \begin{align} u &= \dot{\alpha} - k_{2}e_{2} - e_{1} \\ \alpha &= \dot{x}_{d} - k_{1}e_{1} \end{align} $$
제어 입력에는 우리가 모르는 요소를 넣어줄 수 없다.
가상 제어기인 $\alpha$에서 $\dot{x}_{d}$와 $k_{1}$, $e_{1}$은 각각 desired value의 시간에 대한 도함수, 제어 이득, 우리가 정의한 오차로 구성되어 있으므로 모두 알 수 있는 요소이다.
또한 $u$를 구성하고 있는 $\dot{\alpha}$, $k_{2}$, $e_{1}$, $e_{2}$는 각각 가상 제어기의 시간에 대한 도함수, 제어 이득, 오차로 구성되어 이도 모두 알고있는 요소로 구성되어있다.
이를 Lyapunov function에 대입하면 다음과 같다.
$$ \begin{align} \dot{V} &= e_{1}\left(e_{2} + \alpha - \dot{x}_{d}\right) + e_{2}\left(u - \dot{\alpha} \right) \\ &= e_{1} \left( e_{2} + \dot{x}_{d} - k_{1}e_{1} - \dot{x}_{d} \right) + e_{2}\left(\dot{\alpha} - k_{2}e_{2} - e_{1} - \dot{\alpha}\right) \\ &= - k_{1}e_{1}^{2} - k_{2}e_{2}^{2} \end{align} $$
이렇게 간단하게 증명된다.
# 마치며
하지만 의문점
가상제어기 $\alpha$에서 $e_{2}$를 제거하면 안되는가?
다시말해 '굳이 실제 제어 입력 $u$에서 $e_{1}$을 통해 $e_{1}e_{2}$의 형태로 제거해야 하는가' 이다.
이는 아주 간단히 $e_{2}$의 정의에서 보면 알 수 있다.
$\alpha$에 $e_{2}$를 대입하게 된다면 $e_{2} = x_{2} - e_{2}$가 되어 말도 안되는 일이 발생한다.
이를 '순환문제' 라고 한다.
수식적으로 말도 안 될 뿐더러 모의 실험을 하려고 해도 당연히 '이게 되나?' 싶을것이다.
이런 문제만 조심하면 설계는 어렵지 않다.