2.1 LQR 제어기 소개
본 논문에서는 시스템 파라미터 추정을 위해 아래 시스템에 대한 LQR 제어기 설계 방법을 활용한다.
식 (1)에서 $x\in ℝ^{n}$는 시스템 상태, $u\in ℝ^{m}$는 시스템 입력, $y\in ℝ^{r}$는 시스템 출력이고 $A\in ℝ^{n\times
n}$, $B\in ℝ^{n\times m}$, $C\in ℝ^{r\times n}$는 각각 시스템 행렬, 입력 행렬, 출력 행렬이다. 시스템은 제어
가능하고 관측 가능하다고 가정한다.
LQR 제어기는 아래와 같은 성능 지수 $J$를 최소화하는 상태 궤환 제어 이득을 찾는 최적 제어 기법이다(14).
위 식의 행렬 $Q$는 positive semi-definite하고 $R$은 positive definite한 행렬이며 $(A,\:\sqrt{Q})$는
관측 가능하게 정한다. 이때 $J$를 최소화하는 최적 이득 $K^{*}$ 및 입력 $u^{*}$를 다음과 같이 얻을 수 있다.
위 식의 행렬 $P^{*}$는 positive definite하고 아래 식과 같은 algebraic Riccati equation(ARE)의 유일해로
주어진다(14).
또한 행렬 $A-BK^{*}$가 Hurwitz하므로 행렬 $P^{*}$는 아래 Lyapunov 행렬식을 만족하게 된다.
최근까지 다양한 방식으로 LQR 문제의 해를 찾기 위한 시도가 있었으며 그 중 Lewis(15)는 강화학습 기반의 ADP를 활용한 policy iteration을 통해 LQR 문제를 해결하였고, Silva(18)는 Data-Driven 방식을 이용하여 LQR 문제를 해결하였다. 이때 시스템 파라미터는 사용되지 않으며 상태 정보만을 사용한다. Jiang은 강화학습
알고리즘과 Kleinman(13)의 알고리즘을 반복적으로 이용하여 최적 제어 LQR 문제의 해를 제시하였다(16,17). 이때 iteration 변수 $k = 0$에서부터 아래의 과정을 반복한다:
1. $A-BK_{0}$가 Hurwitz 하도록 하는 행렬 $K_{0}\in ℝ^{{m}\times{n}}$를 정한다.
2. $A_{k}:= A-BK_{k}$로 정하고 아래의 Lyapunov 행렬식을 풀어서 행렬 $P_{k}$를 구한다.
3. 위에서 구한 $P_{k}$가 수렴할 때까지 아래와 같이 $K_{k+1}$를 정하고 2번으로 돌아간다 ($k a rrow k+1$).
위의 과정을 반복하여 $k\ge 0$인 모든 $k$에 대해서 Hurwitz한 행렬 $A-BK_{k}$를 얻을 수 있으며 이때 $P_{k}\ge P_{k+1}\ge
P^{*}$가 만족되어 최적의 제어 이득 $\lim_{k\to\infty}K_{k}= K^{*}$를 구할 수 있다(16).
강화학습 알고리즘 기반 LQR 제어기는 위에서 설명한 알고리즘을 바탕으로 최적의 $P^{*}$와 $K^{*}$를 구하는 방법이다. 이때 최적 제어
이득을 계산하는 방법은 On-policy learning과 Off- policy learning이 있다(16). 이 중 Off-policy learning은 이득 $K_{0}$를 사용한 첫 제어 입력을 인가하여 일정 시간 동안 얻은 상태변수 데이터를 반복적으로
사용하여 최적의 제어 이득을 구하는 방법이다. 업데이트되는 $K_{k}$를 제어 입력에 사용하지 않기 때문에 본 논문에서는 Off-policy learning를
이용하여 LQR 이득을 결정하는 방식을 파라미터 추정에 활용한다.
2.2 Off-policy 학습 기반 LQR
식 (1)의 시스템에 대해서 일정 시간 동안 인가하는 제어 입력으로 아래 식을 고려한다 ($k\ge 0$).
위 식에서 $K_{k}$는 식 (7)로 구한 상태 궤환 이득이고 $e$는 의도적으로 주입하는 학습 노이즈 신호이다(16). 식 (8)을 식 (1)의 시스템에 인가하면 아래 식을 얻을 수 있다.
최적의 제어 이득을 구하기 위한 policy를 결정하기 위해 Lyapunov 함수를 $V = x^{T}P_{k}x$와 같이 정의하고 미분하면 다음
식을 얻을 수 있다.
위 식에서 $Q_{k}= Q + K_{k}^{T}RK_{k}$이다. 식 (10)의 아래 식에 행렬 $A$와 $B$가 없으므로 이는 두 행렬을 모르는 상황에서도 최적 제어 이득 $K^{*}$를 구할 수 있음을 의미한다.
우변의 $2e^{T}RK_{k+1}x$항을 이항하여 양변을 시간 $\delta$만큼 적분하면 아래 식을 얻을 수 있다.
Off-policy learning은 첫 제어 입력($u_{0}$)으로 얻은 상태변수 데이터를 반복해서 사용하기 때문에 $k$번째 시행마다 식 (11)의 학습 노이즈 $e$에 새로운 신호를 인가하는 것처럼 바꿔줘야 한다. 이를 위해 아래 식과 같이 변형한 입력을 생각한다.
위 식에서 $e_{k}$는 $k$번째 시행의 학습 노이즈로 식 (8)의 학습 노이즈 $e$ 대신 $(K_{k}x+u_{0})$가 인가된 것으로 간주할 수 있다.
행렬 $P_{k}$와 $K_{k+1}$를 구하기 위해 행렬을 열벡터로 바꿔주는 vec 연산자를 식 (11)의 양변에 적용하고 Kronecker Product 연산자를 이용하여 정리하면 아래와 같다. 이때 임의의 세 행렬 $M,\: N,\: L$의 곱에
관한 아래 성질을 활용한다(17).
위와 같은 policy를 반복적으로 풀기 위해 정한 시간 수열 $\left\{t_{i}:i = 1,\:2,\: ... ,\: l,\: 0\le t_{1}<t_{2}<...<t_{l}\right\}$에
대해 식 (14)를 나열하고 이를 간단히 표현하기 위해 아래 행렬들을 정의한다.
위를 통해서 $\Theta_{k}:=\left[\delta_{xx},\: -2\theta_{xx}(I_{n}\otimes K_{k}^{T}R)-2\theta_{xu}(I_{n}\otimes
R)\right]$, $\Xi_{k}:= -\theta_{xx}vec{(}Q_{k})$라고 정의하면 아래 식을 얻을 수 있다.
위 식의 해가 유일하기 위해서는 $\Theta_{k}$의 rank가 $\dfrac{n(n+1)}{2}+nm$ 이상 되도록 해야 한다(16). 이러한 policy iteration 과정은 충분히 작은 $\epsilon >0$에 대해서 $\left\|P_{k}-P_{k-1}\right\|<\epsilon$이
만족될 때까지 이루어진다 ($k\ge 1$).
위와 같은 방법으로 시스템의 모델 정보 $A$와 $B$ 없이 구한 $P_{k}$와 $K_{k+1}$ 행렬을 이용하여 시스템의 파라미터를 추정하는 기법을
다음 절에서 소개한다.
2.3 Off-policy 학습 기반 파라미터 추정
본 절에서는 Off-policy 학습 기반 LQR을 이용하여 파라미터를 추정하는 방법을 설명한다. 앞 절에서 시스템 정보 $A$와 $B$ 없이 Off-policy
학습 기반 LQR을 통해 성능 지수 $J$를 최소화하는 행렬 $P_{k}$와 제어 이득 $K_{k+1}$을 찾을 수 있음을 확인하였다. 이를 이용하여
식 (7)로부터 매 $k$번째 시행에서 입력 행렬 추정치 $\bar{B}_{k}$는 아래와 같이 구할 수 있다. 이때 $P_{k}$는 positive definite하므로
항상 역행렬이 존재한다.
다음으로 행렬 $A$를 추정하기 위해 식 (17)에서 구한 $\bar{B}_{k}$를 이용하여 식 (5)를 아래와 같이 다시 정리한다.
위 식에서 가중치 행렬 $Q$와 $R$ 그리고 Off-policy 학습으로 구한 $P_{k}$와 $K_{k}$는 아는 값이다. 위 식으로부터 행렬
$A$를 계산하기 위해 아래와 같이 식을 정리한다.
위 식에서 $\Psi\in ℝ^{(n\times n)\times j}$는 $P_{k}$의 원소들로 이루어진 행렬이고 $\Pi\in ℝ^{j\times
1}$는 추정해야할 $A$의 원소들로 이루어진 열벡터로 $j$는 추정하는 파라미터 개수를 의미한다. 행렬 $\Gamma$는 괄호 안의 행렬들로 계산된다.
$A^{T}P_{k}+P_{k}A$는 대칭 행렬이므로 행렬 $\Psi$의 rank는 최대 $\dfrac{n(n+1)}{2}$를 가진다. 이때 추정하려고
하는 행렬 $A$의 파라미터의 수가 $\dfrac{n(n+1)}{2}$개를 초과하면 행렬 $A$를 추정할 수 없다.
예를 들어 시스템 $(A,\: B)$가 제어가능하고 아래와 같이 미지의 원소들로 구성된 2차 시스템을 고려한다. 이때 출력 행렬 $C$ = $\begin{bmatrix}1&
0\end{bmatrix}$으로 가정한다.
위 식에 대해 Off-policy 학습 기반 LQR을 이용하여 얻은 positive definite 행렬 $P_{k}$는 다음과 같다.
$A^{T}P_{k}+P_{k}A$를 계산하여 정리하면 아래와 같고 이를 식 (19)의 행렬 $\Psi\Pi$ 형태로 나타내면 식 (23)과 같다.
위 식으로부터 행렬 $\Psi$의 행 계수는 3이므로 유일해 $\Pi$를 구할 수 없다. 이를 해결하기 위해 Off-policy 학습 기반 LQR
단계에서 아래의 식과 같이 출력의 적분 항이 추가된 확장된 시스템을 고려한다.
위 식에서 $z$는 출력의 적분 항인 $\xi$로 확장된 상태 $[\xi x_{1}x_{2}]^{T}$이고 $A_{e}$와 $B_{e}$는 각각 확장된
시스템 행렬과 입력 행렬이다.
확장된 시스템에 Off-policy 학습 기반 LQR을 적용하기 위한 제어 가능성 확인을 위해 PBH test를 활용한다(25).
식 (26)의 $s\ne 0$일 때 시스템 $(A,\: B)$의 가제어성에 의해 준 행렬은 항상 full row rank를 가진다. 한편 $s=0$일 때 full
row rank를 갖는 조건은 $a_{12}b_{2}-a_{22}b_{1}ne 0$이다. 이 값이 0이 되는 경우는 시스템 (20)의 영점이 원점에
존재하는 경우이므로 원 시스템이 원점에 영점을 갖지 않을 때 아래 조건을 만족하게 되어 확장된 시스템은 제어가능하다.
확장된 시스템에 대해서 Off-policy 학습 기반 LQR을 적용하면 새로운 $P_{e,\: k}$와 $K_{e,\: k+1}$을 구할 수 있고
이때 시스템 행렬 $A_{e}$를 추정하는 과정에서 행렬 $\Psi_{e}$는 full rank를 가질 수 있게 된다.
시스템 (25)에 대해 Off-policy 학습 기반 LQR을 이용하여 얻은 행렬 $P_{e,\: k}$는 아래와 같다.
행렬 $A_{e}^{T}P_{e,\: k}+P_{e,\: k}A_{e}$를 계산하여 정리하면 아래와 같고 이때 $\nu$와 $\eta$는 각각 $\nu
= p_{13}+a_{11}p_{23}+a_{12}p_{22}+a_{21}p_{33}+a_{22}p_{23}$와 $\eta =p_{11}+p_{12}+2a_{11}p_{22}+a_{21}(p_{23}+p_{33})$이다.
식 (29)에서 알려진 값들을 분리하여 우변으로 이항한 후에 정리한 좌변을 행렬 $\Psi_{e}\Pi$ 형태로 나타내면 아래와 같다.
식 (30)의 행렬 $\Psi_{e}$가 full column rank를 갖지 않는 경우는 $p_{12}=p_{13}$과 $p_{22}=p_{23}=p_{33}$이
동시에 만족될 때이며 $P_{e,\: k}$는 positive definite 성질에 의해 가역행렬이므로 이 조건은 성립하지 않는다. 따라서 행렬
$\Psi_{e}$는 항상 full column rank를 가지므로 유일해를 구할 수 있고 결과적으로 행렬의 추정치 $\bar{A}_{k}$를 결정할
수 있다.
본 절에서 제안한 파라미터 추정 과정을 순서도로 정리하면 그림 1과 같다.
다음 장에서는 제안하는 파라미터 추정 기법을 통해 전력 시스템의 동기 탈조 판별을 위한 외란 관측기를 설계하고 그 성능을 모의한다.
그림. 1. 제안하는 파라미터 추정 알고리즘 순서도
Fig. 1. Flow Chart of Proposed Parameter Estimation Algorithm