강인한 차수감소 모델예측제어기의 설계

김상훈, 이광순

서강대학교 화학공학과

Design of reduced-order Robust Model Predictive Control

Sang Hoon Kim, Kwang Soon Lee,

Department of Chemical Engineering, Sogang University

서론

지난 15여년간 모델예측제어는 공정산업에서 다중 입출력 공정제어의 표준으로 자리잡아 왔다. 일반적인 모델예측제어의 알고리즘은 매 샘플링시간마다 목적함수를 최소화시키는 최적의 제어입력을 구하기 위해서 QP를 풀어야 한다. 이로 인해 입력의 차수와 제어구간이 증가할수록 계산량이 기하급수적으로 증가하게 되었다. 이런 문제점을 해결하기 위해서 Lee et al.(1992), Palavajjahala et al.(1994)는 웨이블릿(wavelet)을 이용하여 계산량을 줄일 것을 제안하였다. 이것은 신호 근사의 관점에서 본 것이다. 또한 Marchetti et al.(1983)와 Maurath et al.(1988)는 공정 근사의 측면에서 동적 행렬(Dynamic matrix)의 특이치 분해(SVD)를 이용할 것을 제안하였다.

본 연구에서는 계산량 감소를 위해 펄스 응답 계수로 구성한 순환행렬(Circulant matrix)을 특이치 분해할 것을 제안한다. 또한 이 방법은 실제 공정의 주파수 응답과 상관관계가 있기 때문에 강건한 모델예측제어기를 설계하는데 도움이 된다.

본론

실제 공정은 차수가 높은 다중 입출력 공정이기 때문에 모델예측제어에서 결정해야 할 입력변수의 수가 매우 많다. 따라서 온라인 최적화 문제를 풀기 위해서는 계산량을 감소시키는 것이 필수적이라 할 수 있다. 게다가 모델에 중요한 오차가 있으면, 그것에 근거하여 계산된 입력으로는 우리가 원하는 방향으로 제어를 하기가 어렵다. 이런 문제점을 해결하기 위해서는 제어성능이 유지되는 범위내에서, 결정해야 할 입력변수의 차원은 줄이고 원하지 않는 주파수 영역의 입력변수는 제거해야 한다.

입력변수 [eqn: DELTA U(t)]는 다음과 같이 크기가 1인 수직 기초 벡터의 선형 조합으로 나타낼수 있다.

[eqn: DELTA U(t) = DELTA u_1^* (t) b_1 + DELTA u_2^* (t) b_2 + CDOTS + DELTA u_c^* (t) b_c = B DELTA U^* (t)] [eqn: B = BMATRIX { {b_1}&{b_2}&{cdots}&{b_c} }, ~~ DELTA U ^* (t) = {BMATRIX{{DELTA u_1^*}&{DELTA u_2^*}&{CDOTS}&{DELTA u_c^*}}}^T `]

(1)

여기서 [eqn: b_i]가 수직 기초 벡터이고 차원은 [eqn: (m times n_u `)times 1]이고 [eqn: m]과 [eqn: n_u `]는 각각 제어구간과 입력변수의 개수이다. (1)식을 목적함수와 예측기에 대입하면, 최적화 문제에서 결정해야 할 변수의 개수는 [eqn: m times n_u]에서 수직 기초 벡터 계수의 개수인 [eqn: c`]개로 줄어들게 된다. [eqn: c`]가 [eqn: m times n_u`]보다 작을수록 모델예측제어의 계산량은 그만큼 줄어들게 된다.

이와 같이 차원이 줄어든 모델예측제어기의 성능은 전적으로 수직 기초 벡터에 의존한다. 즉 입력변수 신호가 기초 벡터에 의해 얼마나 잘 근사되느냐에 따라 제어기의 성능이 결정된다고 볼 수 있다. 지금까지의 연구결과를 보면 기초 벡터를 선택하는데는 크게 두가지 관점에서 볼 수 있다. 하나는 신호 근사 관점에서 보는것이고 다른 하나는 공정 근사 관점에서 보는 것이다. 웨이블릿에 의한 근사(Lee et al.(1992), Palavajjahala et al.(1994))가 전자에 해당하고, 동적 행렬의 특이치 분해에 의한 근사(Marchetti et al.(1983), Maurath et al.(1988))가 후자에 해당한다. 웨이블릿은 시간과 주파수성분에 대한 분해능이 동시에 있는 반면, 어느 하나에 대해서도 명확한 분해능을 갖지는 못한다. 또한 다중 입출력 공정의 경우 방향성 문제에 효과적으로 대처할 수 없다. 동적 행렬의 특이치 분해에 의한 방법은 동적 행렬이 공정 자체를 나타내는 것이 아니라 공정이 적분된 형태를 나타내는 것이므로 실제 공정을 정확히 묘사한다고 볼 수 없다.

위의 고찰을 바탕으로, 일반적인 다중 입출력 공정에 대한 향상된 모델예측제어는 펄스 응답 계수로 구성한 순환행렬의 특이치 분해를 통해 구현될 수 있다.

일반적으로 입출력 관계식은 다음과 같이 쓰여질 수 있다.

[eqn: bold {rm y}_k = Sum_{i=1}^{inf} bold {rm h}_i bold {rm u}_{k-i}]  만약 주기 [eqn: N`]인 유한한 입력에 대해 같은 주기의 출력을 내보내는 공정의 입출력 관계식을 표현하면 다음과 같이 나타낼 수 있다.

(2)

[eqn: BMATRIX { {y_k} # {y_k+1} # {vdots} # {y_k+N-1} } = BMATRIX { {h_0 }& {h_N-1 }& {cdots }&{h_1}# {h_1 }& {h_0 }& {cdots }&{h_2}# {vdots }& {vdots }& {ddots }&{vdots}# {h_N-1}&{h_N-2}&{cdots}&{h_0} } BMATRIX { {u_k} # {u_k+1} # {vdots} # {u_k+N-1} }`` Rarrow`` bold{rm Y_N} = bold{rm H_N}` bold{rm U_N}]  여기서 [eqn: bold {rm H_N}]를 펄스 응답 순환행렬이라고 정의하면, 이것은 펄스 응답 계수로 구성되었기 때문에 공정 자체를 나타낼 뿐만 아니라 순환행렬의 형태로 인해 과거의 입력의 영향도 고려하게 된다.

(3)

펄스 응답 순환행렬에 대한 특이치 분해는 다음과 같다.

[eqn: bold{rm H_N} = bold{rm W_N} bold{rm D_N} bold{rm V_N}^T`]

(4)

여기서 [eqn: N`]이 무한대가 되면 [eqn: bold{rm D_N}]에 나오는 특이치는 각 주파수에서의 공정의 방향성 이득을 나타낸다. 이에 대한 증명은 [5]를 참고하라.[eqn: bold{rm W_N}]과[eqn: bold{rm V_N}]은 각각 출력과 입력의 해당되는 주파수를 갖는 sine형태의 행벡터들이 있는 행렬이다. 따라서 제어 구간과 예측 구간을 공정의 차원과 비슷하게 선택하면 펄스 응답 순환행렬은 거의 정확하게 실제 공정의 동특성을 나타내며, 그것의 특이치 분해는 공정의 중요한 모드를 구별할 수 있도록 해준다. (4)식을 공정의 중요한 모드와 그렇지 않은 모드로 구별하여 다시 표현하면

[eqn: bold{rm H_N} = BMATRIX{{bold{rm W_1}}& {bold{rm W_2}}} BMATRIX { {bold{rm D_1} }& {bold 0 }# {bold 0 }& {bold{rm D_2}}} { BMATRIX{{bold{rm V_1}}& {bold{rm V_2}}}}^T `,``` bold{rm D_1}>> bold{rm D_2}]  즉, 다음과 같이 근사될 수 있다.

(5)

[eqn: bold{rm Y_N}`` approx bold{rm W_1} bold{rm D_1}bold{rm V_1}^T ` bold{rm U_N}]

(6)

여기서[eqn: bold {rm V_1}`]의 행벡터가 서로 수직이며 크기가 1이므로 이것을 (1)식의 [eqn: B`]행렬로 선택할 수 있다. 이로써 공정의 중요한 모드만 선택하고 계산량은 현저하게 줄일수 있게 된다. 또한[eqn: bold{rm V_N}]의 행벡터는 명확한 주파수 분해능을 나타내므로 강건한 모델예측제어기를 설계할 수 있다. 만약 어떤 주파수 영역에 심각한 모델 오차가 있다고 하면,[eqn: bold {rm V_1}`]을 선택할 때 해당하는 주파수 성분들을 포함시키지 않음으로써 공정의 그 영역을 자극시키지 않게 된다.

위에서 제시한 방법에 근거하여 두가지 수치예를 들어보자.

수치예

1. 모델 오차가 없는 경우

♠공정=모델          [eqn: G_p = PMATRIX{ {12.8e^{-s} over 16.7s+1 }& {-18.9e^{-3s} over 21s+1 }# { 6.6e^{-7s} over 10.9s+1}& {-19.4e^{-3s} over 14.4s+1 } }]

delt=1, N=80, p=m=70, Q=R=I, Kf=0

이 경우는 모델이 실제 공정과 일치할 때 제어성능을 비교한 것이다. 그림 2는 140개(2□2공정이고 p=m=70이므로)중 40개를 선택한 것이다.

그림 2. 특이치 분해 알고리즘 c=40

그림 1. 계산량을 줄이지 않은 알고리즘

2. 고주파 영역에 모델 오차가 있는 경우

♠공정      [eqn: G_p = PMATRIX {{2 OVER {(10s+1)(10s^2 +s+1)}} &{2 over 30s+1}#{2 over 20s+1}&{2 OVER {(10s+1)(5s^2 +s+1)}}}]

♠모델	[eqn: G_m = pmatrix {{2 over 10s+1 }&{2 over 30s+1}#{2 over 20s+1}&{2 over 10s+1}}]

delt=2, N=100, p=m=90, Q=R=I, Kf=I

이 경우는 대각항에 있는 전달함수가 위의 Bode plot에서 보는 바와 같이 crossover frequency부근에서 중요한 모델 오차가 있는 경우를 본 것이다.

그림 3. 계산량을 줄이지 않은 알고리즘

그림 4. 특이치 분해 알고리즘 c=6

결론

본 연구에서는 펄스 응답 순환행렬의 특이치 분해를 통해 모델예측제어의 계산량을 감소시키고 강건한 제어기를 설계할 것을 제안하였다. 수치예에서도 볼 수 있듯이, 모델 오차가 없는 경우 제안한 방법을 이용하면 계산량은 줄이면서 만족스러운 제어성능을 얻을 수 있었다. 더구나 입력을 보면 특이치 분해 알고리즘을 이용함으로써 약한 방향(weak direction)을 제거하기 때문에 과도한 입력신호가 들어가는 것을 막을 수 있었다. 모델 오차가 있는 경우에는 특이치 분해의 명확한 주파수 분해능을 이용하여 심각한 모델 오차가 있는 주파수 영역의 입력신호를 제거함으로써 강건한 모델 예측 제어 알고리즘을 얻을 수 있었다.

참고문헌

1. J.H. Lee, Y. Chikkula, Zheng Yu and J.C. Kantor, "Improving Computational Efficiency of a Model Predictice Control Algorithm for Multi-Time Scale Plants Using Wavelet Transformation", Int. J. Control, 1992.

2. Srinivas Palavajjhala, Rodolphe L. Motard and Babu Joseph, "Blocking and Condensing Design for Quadratic Dynamic Matrix Control Using Wavelets", Ind. Eng. Chem. Res., 1994.

3. Jacinto L. Marchetti, Duncan A. Mellichamp and Dale E. Seborg, "Predictive Control Based on Discrete Convolution Models", Ind. Eng. Chem. Res., 1983.

4. Paul R. Maurath, Alan J. Laub, Dale E. Seborg and Duncan A. Mellichamp, "Predictive Controller Design by Principal Components Analysis", Ind. Eng. Chem. Res., 1988.

5. Ali N. Akansu, Richard A. Hadded, Multiresolution Signal Decomposition, Academic Press, Inc. 1992.