혼성예측자(Hybrid Predictor)를 이용한 모델예측제어

윤진규, 조성일, 신준호, 백기황

선경건설(주) 연구소

Model Predictive Controller Using the Hbrid Predictor

J.K. Yoon, S.I. Cho, J.H. Shin, K.H. Baek

R&D Technology Center, SKEC

서론

모델예측제어는 공정의 동특성(Dynamics)을 갖는 모델을 사용하여 공정의 미래 출력을 예측하고 미리 설정된 출력값과의 오차가 최소가 되도록 제어기 출력값을 계산하여 공정의 입력으로 주어 공정의 제어를 수행하는 방법이다. 이러한 모델예측제어는 Fig.1에서와 같이 설정치 제공자(Setpoints Setter), 모델 제공자(Model Setter), 예측자(Predictor) 그리고 최적 계산자(Optimum Calculator)로 구성된다. 여기서 예측자(Predictor)는 공정 모델을 통하여 공정의 미래 예측구간(Prediction Horizon)에서의 공정 출력값을 나타내는 예측벡터를 제공한다. 이러한 예측자(Predictor)의 형태에 따라 모델예측제어의 형태는 여러 가지로 달라지게 된다((1),(2),(3)).

특히 문헌 (3)에서는 다음과 같은 상태 공간 모델(State-Space Model)을 이용한 예측자를 사용였다.

[eqn: rm Y(k/k-1) ~=~ M `Y(k-1/k-1) ~+~ S^u `TRIANGLE u(k-1) ~+~ S^d `triangle d(k-1)]

여기에서

[eqn: rm M ~=~ &bmatrix{ 0 & 1 & 0 & cdots & 0 & 0 ## 0 & 0 & 1 & ddots & 0 & 0 ## vdots & vdots & ddots & ddots & ddots & vdots ## 0 & 0 & 0 & ddots & 1 & 0 ## 0 & 0 & 0 & ddots & 0 & 1 ## 0 & 0 & 0 & cdots & 0 & 1 } ~~~~~~ S^u `,` S^d ~ =~ bmatrix{ s_1 ## s_2 ## vdots ## s_{n-2} ## s_{n-1} ## s_n }]

이 모델은 모델 절단 차수가 커지면 컴퓨터상의 메모리를 많이 차지하게 되고 계산 속도도 느려지게 되는 단점이 있다. 또한 예측 구간에 맞게 예측자를 다시 구성해야 하며 공정 조업 조건이 바뀔 때 온라인(On-line)으로 상황변화에 적응(Adaptation)하여 모델을 바꿀 수 없는 단점이 있다.

본 논문에서는 이러한 단점들을 보완할 수 있는 혼성예측자(Hybrid Predictor)를 제안하고자 한다.

이론

Fig.2의 (a)는 문헌(3)의 예측자(Predictor)에 의한 예측 과정을 그래프로 나타낸 것이다. 그래프는 입력u의 변화가[eqn: rm TRIANGLE u(k-1) = 1],[eqn: rm TRIANGLE u(k) ~=~] [eqn: rmtriangle u(k+1) =][eqn: CDOTS CDOTS ~=~ 0]일때의 출력 y의 미래의 변화를 예측하는 것을 나타낸 것이다. 이때 현재 측정값 y(k)로 보정한 출력의 미래의 동적 상태Y(k/k))는 Y(k/k) = [ y(k), y(k+1), ……, y(k+n-2), y(k+n-1) ]로 나타내어지며 다음 단계의 미래 동적 상태 Y(k+1/k)는  Y(k+1/k) = [y(k+1), y(k+2), ……, y(k+n-1), y(k+n-1)]로 주어진다. 여기서 모델 절단 차수 n은  y(k+n-1) = y(k+n) = y(k+n+1) = …… 로 쓸 수 있도록 공정이 충분히 안정될 때의 값으로 정하게 된다. 또한 모델 절단 차수 n과 예측 구간 P는 크기가 같지 않으므로 구해진 Y(k+1/k)를 예측 구간 P에 맞게 다시 배열하는 작업이 필요하게 된다.

Fig.2의 (b)는 혼성예측자에 의한 예측 과정을 그래프로 나타내었다. 이때 현재 측정값 y(k)로 보정한 출력의 미래의 동적 상태Y(k/k)는 Y(k/k) = [ y(k), y(k+1), ……, y(k+P-2), y(k+P-1) ]로 나타내어지며 다음 단계의 미래 동적 상태 Y(k+1/k)는  Y(k+1/k) = [y(k+1), y(k+2), ……, y(k+P-1), y(k+P)]로 주어진다. 여기서 P는 예측 구간으로 모델 절단 차수 n보다는 작은 값이다.

이때의 y(k+P) 값을 구하기 위해서 본 연구에서는 ARMA 모델을 사용한다.

[eqn: rm A(q^-1 ) `y(k) ~=~ B(q^-1 )`u(k)]

여기에서 [eqn: rm q^-1]는 backwards shift operator이고 A, B는 다음과 같다.

[eqn: rm &A(q^-1 ) ~=~ 1 ~+~ a_1`q^-1 &+~ cdots cdots ~+~ a_na `q^-na #rm &B(q^-1 ) ~=~ b_1 ~+~ b_2`q^-1 &+~ cdots cdots ~+~ b_nb `q^-nb]

여기서 [eqn: rm n_a ~,~ n_b]는 모델 차수로서 모델 절단 차수 n보다는 매우 작은 값이 사용된다. 그러면 y(k+P)는 다음과 같이 구해질 수 있다.

[eqn: rm y(k+P) =& - a_1` y(k+P-1) ~, CDOTS CDOTS`, -a_na `y(k+P-na)~##rm&+~b_1 `u(k-1) ~,cdots cdots,`+`b_nb~ u(k-1)]

이것을 이용하여 다음과 같은 본 연구의 혼성예측자(Hybrid Predictor)를 구성할 수 있다.

[eqn: rm Y(k/k-1) ~=&~ M_a `Y(k-1/k-1) ~+~M_b `u(k-1)~ ##rm&+~ S^u `TRIANGLE u(k-1) ~+~ S^d `triangle d(k-1)]

이 경우 계단 응답 계수(Step Response Coefficient)들은 다음과 같이 구한다.

[eqn: rm s_1 ~=~ b_1]

[eqn: rm s_i ~=~ - sum_j=1 ^na `a_j `s_{i-j} ~+~ sum_{j=1}^nb `b_j] ,  i = 1, 2, …, P

여기서 [eqn: rm M_a]와[eqn: rm M_b]는 다음과 같다.

[eqn: rm M_a `=` &bmatrix{ 0 & 1 & 0 & cdots & 0 & 0 ## vdots & vdots & ddots & ddots & vdots &vdots ## 0 & 0 & 0 & ddots & 1 & 0 ## 0 & 0 & 0 & ddots & 0 & 1 ## 0 & 0 & -a_na & cdots & -a_2 & -a_1 } rm~ M_b `=~ &bmatrix{ & 0 ## & vdots ## & 0 ## & 0 ## & sum_i^nb ~b_i ~} ~ S^u `,` S^d = bmatrix{ s_1 ## s_2 ## vdots ## s_{p-1} ## s_p }]

모사

이상에서 얻어진 혼성예측자를 이용한 모델예측제어기로서 다음과 같은 공정의 제어 모사(Simulation)를 수행하였다.

[eqn: bmatrix{ X_D (s) # X_B (s) } = bmatrix{ {{0.0747 e^{-3s}} over {12s+1}} {{-0.0667 e^{-2s}} over {15s+1}} # {{0.1173 e^{-3.3s}} over {11.75s+1}} {{-0.1253 e^{-2s}} over {10.2s+1}} } bmatrix{ F_R (s) # F_V (s) } + bmatrix{ {{0.7 e^{-5s}} over {14.4s+1}} # {{1.3 e^{-3s}} over {12s+1}} } X_F(s)]

시간 t=0에서 XD의 설정치가 0.98에서 0.985로 바뀔때의 PI Multi-loop와 QDMC 그리고 본 논문의 혼성예측자를 이용한 모델예측제어기의 성능을 Fig.3에 나타내었다. Multi-loop PI보다는 좋은 성능을 보이며 QDMC보다는 빠른 속도로 계산을 해내는 결과를 얻을 수 있었다.

결과 및 토론

이상에서 혼성예측자(Hybrid Predictor)를 유도하고 이를 이용한 모델예측제어기의 성능을 살펴보았다. 혼성예측자를 이용한 모델예측제어기는 기존의 모델예측제어기에 비해 계산속도가 빠르며 컴퓨터 사용 메모리도 적게 들었다. 이는 점차 모델예측제어기가 PC상에서 실행되는 추세에 있어서 바람직한 결과이다. 또한 파라미터 모델을 사용하기때문에 적응예측(Adaptive Prediction)도 가능하였다. 그렇지만 외란 제거 성능을 향상시켜야할 필요성이 제기되었다.

참고문헌

(1) Garcia, C.E. and Morshedi A.M.: "Quadratic Programming Solution of Dynamic

Matrix Control(QDMC)", Chem. Eng. Commun., 46, pp. 279-293(1986)

(2) Clarke, D.W. and Mohtadi C.: "Properties of Generalized Predictive Control",

Automatica, 25(6), p. 859(1989)

(3) Lee, J.H., Morari M., and Garcia, C.E.: "State-space Interpretation of

Model Predictive Control", Automatica, 30(4), pp. 707-717(1994).

Fig. 1 모델예측제어기의 구성

(a)                                     (b)

Fig. 2 (a) 기존의 예측자에 의한 예측방법 (b) 혼성예측자에 의한 예측방법

Fig. 3 혼성예측자를 이용한 모델예측제어기 HMPC의 설정치 추종 과정