서론

최적 제어 기법은 제어 시스템에서 성능 지표를 최적화하는 방법론을 다룬다. 주어진 시스템에서 원하는 성능을 달성하기 위해, 시스템의 동역학을 고려한 비용 함수(cost function)를 최소화하는 제어 입력을 찾는 것이 핵심이다. 최적 제어는 일반적으로 시스템의 상태 및 입력에 대한 제약 조건을 포함하며, 다양한 응용 분야에서 사용된다. 수소 연료 전지 시스템에서도 효율성 극대화와 제어 성능 향상을 위해 최적 제어 기법을 활용할 수 있다.

시스템 동역학

최적 제어 기법을 적용하려면 우선 시스템의 동역학을 수식으로 정의해야 한다. 일반적으로 상태 방정식은 다음과 같은 형태를 갖는다.

\mathbf{\dot{x}}(t) = \mathbf{A}(t)\mathbf{x}(t) + \mathbf{B}(t)\mathbf{u}(t)

여기서: - \mathbf{x}(t)는 시스템의 상태 벡터이다. - \mathbf{u}(t)는 제어 입력 벡터이다. - \mathbf{A}(t)는 시스템 행렬로, 상태 변수가 시간에 따라 어떻게 변하는지 설명한다. - \mathbf{B}(t)는 제어 입력이 시스템에 미치는 영향을 나타내는 입력 행렬이다.

이 상태 방정식은 선형 시간 불변 시스템을 기반으로 설명하였지만, 실제 응용에서는 비선형 시스템의 동역학도 자주 사용된다.

비용 함수

최적 제어 문제는 비용 함수를 최소화하는 것을 목표로 한다. 비용 함수는 일반적으로 다음과 같은 형태를 갖는다.

J = \int_{t_0}^{t_f} \left[ \mathbf{x}^\top(t)\mathbf{Q}\mathbf{x}(t) + \mathbf{u}^\top(t)\mathbf{R}\mathbf{u}(t) \right] dt

여기서: - J는 비용 함수이다. - \mathbf{Q}는 상태 벡터에 대한 가중치 행렬이다. - \mathbf{R}는 제어 입력 벡터에 대한 가중치 행렬이다. - t_0는 초기 시간, t_f는 최종 시간을 나타낸다.

이 비용 함수는 시스템의 성능을 최적화하기 위해 상태 벡터와 제어 입력의 크기를 최소화하는 방향으로 제어를 설계하는 역할을 한다.

해밀턴 함수

최적 제어 문제는 해밀턴 함수(Hamiltonian)를 사용하여 풀 수 있다. 해밀턴 함수는 다음과 같이 정의된다.

\mathcal{H}(\mathbf{x}, \mathbf{u}, \mathbf{\lambda}, t) = \mathbf{x}^\top(t)\mathbf{Q}\mathbf{x}(t) + \mathbf{u}^\top(t)\mathbf{R}\mathbf{u}(t) + \mathbf{\lambda}^\top(t)\left[\mathbf{A}(t)\mathbf{x}(t) + \mathbf{B}(t)\mathbf{u}(t)\right]

여기서: - \mathbf{\lambda}(t)는 공액 변수(혹은 코스테이트 변수)로, 상태 변화에 대한 라그랑지 승수 역할을 한다.

해밀턴 함수는 최적 조건을 찾기 위한 Euler-Lagrange 방정식의 역할을 하며, 이 함수에 대한 편미분을 통해 최적 제어 입력을 도출할 수 있다.

해밀턴 함수의 최적 조건

해밀턴 함수 \mathcal{H}(\mathbf{x}, \mathbf{u}, \mathbf{\lambda}, t)를 이용해 최적 제어 문제를 풀기 위해서는, 다음의 최적 조건을 만족해야 한다.

  1. 상태 방정식:
\mathbf{\dot{x}}(t) = \frac{\partial \mathcal{H}}{\partial \mathbf{\lambda}} = \mathbf{A}(t)\mathbf{x}(t) + \mathbf{B}(t)\mathbf{u}(t)
  1. 코스테이트 방정식:
\mathbf{\dot{\lambda}}(t) = -\frac{\partial \mathcal{H}}{\partial \mathbf{x}} = -\mathbf{Q}(t)\mathbf{x}(t) - \mathbf{A}^\top(t)\mathbf{\lambda}(t)
  1. 최적 제어 입력:
\frac{\partial \mathcal{H}}{\partial \mathbf{u}} = \mathbf{R}(t)\mathbf{u}(t) + \mathbf{B}^\top(t)\mathbf{\lambda}(t) = 0

이를 정리하면 최적 제어 입력은 다음과 같이 표현된다.

\mathbf{u}(t) = -\mathbf{R}^{-1}(t)\mathbf{B}^\top(t)\mathbf{\lambda}(t)

이 세 가지 조건을 만족하는 해를 구하면 최적 제어 문제를 해결할 수 있다. 이 해는 코스테이트 변수 \mathbf{\lambda}(t)와 상태 변수 \mathbf{x}(t)를 함께 고려하여 제어 입력 \mathbf{u}(t)를 결정하는 방식이다.

리카티 방정식

최적 제어 문제를 푸는 과정에서 리카티 방정식(Riccati equation)이 중요한 역할을 한다. 선형 이차 조절기(LQR) 문제를 다룰 때, 상태 피드백 이득 행렬을 구하기 위해 리카티 방정식을 사용한다.

리카티 방정식은 다음과 같이 주어진다.

-\mathbf{\dot{P}}(t) = \mathbf{A}^\top(t)\mathbf{P}(t) + \mathbf{P}(t)\mathbf{A}(t) - \mathbf{P}(t)\mathbf{B}(t)\mathbf{R}^{-1}(t)\mathbf{B}^\top(t)\mathbf{P}(t) + \mathbf{Q}(t)

여기서: - \mathbf{P}(t)는 대칭 행렬로, 최적 성능 지수를 최소화하기 위한 상태 가중치 행렬의 변화를 설명한다.

최종 시간 t_f에서의 종결 조건은 다음과 같다:

\mathbf{P}(t_f) = \mathbf{Q}_f

이 리카티 방정식을 풀면 상태 피드백 이득 \mathbf{K}(t)를 구할 수 있다:

\mathbf{K}(t) = \mathbf{R}^{-1}(t)\mathbf{B}^\top(t)\mathbf{P}(t)

따라서 최적 제어 입력은 상태 피드백 형태로 나타낼 수 있다:

\mathbf{u}(t) = -\mathbf{K}(t)\mathbf{x}(t)

선형 이차 조절기(LQR)

LQR(Linear Quadratic Regulator)은 최적 제어 기법 중 하나로, 시스템의 동작을 제어하기 위해 상태 피드백을 활용하여 비용 함수 J를 최소화한다. LQR 문제는 선형 시스템을 기반으로 하며, 비용 함수는 다음과 같은 이차형으로 정의된다.

J = \int_{0}^{\infty} \left( \mathbf{x}^\top(t)\mathbf{Q}\mathbf{x}(t) + \mathbf{u}^\top(t)\mathbf{R}\mathbf{u}(t) \right) dt

여기서: - \mathbf{Q}는 상태 변수에 대한 가중치 행렬로, 시스템의 상태를 제어할 때 중요한 상태를 더 크게 고려하는 역할을 한다. - \mathbf{R}는 제어 입력에 대한 가중치 행렬로, 제어 입력의 크기나 에너지 소비를 제한하는 요소를 고려한다.

LQR 문제의 해는 리카티 방정식으로부터 도출된 상태 피드백 이득 \mathbf{K}를 사용하여 상태 피드백 제어 법칙을 따른다:

\mathbf{u}(t) = -\mathbf{K}\mathbf{x}(t)

여기서: - \mathbf{K} = \mathbf{R}^{-1} \mathbf{B}^\top \mathbf{P}이며, \mathbf{P}는 리카티 방정식을 풀어 얻은 대칭 행렬이다.

LQR 해의 직관적 해석

LQR은 시스템의 동적 성능과 제어 비용 사이의 균형을 찾는 데 중점을 둔다. \mathbf{Q}\mathbf{R}의 값을 설정하는 방식에 따라, 시스템의 상태 변화를 더 엄격하게 제어하거나 제어 입력을 최소화하는 방향으로 조정할 수 있다.

확장된 LQR (Extended LQR)

선형 시스템에서 LQR은 매우 효율적인 방법이지만, 실제로는 비선형 시스템이 많이 존재한다. 따라서 비선형 시스템에 대해 LQR을 확장하는 방법이 필요하다. 확장된 LQR은 일반적으로 비선형 시스템을 부분적으로 선형화(linearization)하여 적용한다.

비선형 시스템의 상태 방정식은 다음과 같은 형태를 갖는다.

\mathbf{\dot{x}}(t) = \mathbf{f}(\mathbf{x}(t), \mathbf{u}(t), t)

이러한 비선형 방정식을 선형화하여 다음과 같은 선형 근사 모델을 도출한다.

\delta \mathbf{\dot{x}}(t) = \mathbf{A}(t)\delta \mathbf{x}(t) + \mathbf{B}(t)\delta \mathbf{u}(t)

여기서 \mathbf{A}(t)\mathbf{B}(t)는 상태 및 제어 입력에 대한 시스템의 부분 도함수로 정의된다.

이 선형 근사 모델에 대해 LQR을 적용하여 최적 제어 입력을 구할 수 있으며, 이를 반복적으로 계산하여 비선형 시스템에서의 최적 제어를 구현할 수 있다.

제약 조건을 고려한 최적 제어

실제 제어 시스템에서는 제어 입력과 상태 변수에 대한 제약 조건이 필수적으로 존재한다. 이러한 제약 조건을 고려한 최적 제어 기법은 모델 예측 제어(Model Predictive Control, MPC)를 사용하여 해결할 수 있다.

MPC는 시스템의 미래 동작을 예측하고, 그 예측에 기반해 최적의 제어 입력을 계산한다. MPC는 기본적으로 제약 조건을 포함한 최적 제어 문제를 반복적으로 해결하는 방식이다.

최적 제어의 실제 적용

최적 제어 기법은 다양한 실제 응용에서 중요한 역할을 한다. 수소 연료 전지 제어 시스템의 경우, 연료 소비를 최소화하면서 성능을 최적화하는 것이 목표이다. 여기서 최적 제어는 연료 전지의 출력과 배터리의 사용을 균형 있게 조정하여 전체 시스템 효율을 극대화하는 데 기여할 수 있다. 또한, 연료 전지와 관련된 열 관리 및 전력 관리에서도 최적 제어 기법을 적용하여 시스템의 안전성과 성능을 향상시킬 수 있다.