제어법칙의 정의
제어법칙이란 제어 시스템에서 주어진 목표를 달성하기 위해 사용되는 수학적 규칙 또는 알고리즘을 의미한다. 주로 시스템의 상태를 관찰하고, 입력 신호를 계산하여 시스템을 원하는 방향으로 제어하는 방식으로 사용된다. 이러한 법칙은 시스템의 동작을 안정적으로 유지하고, 목표값을 따르도록 하는 데 중요한 역할을 한다.
제어법칙은 보통 시스템의 상태 벡터 \mathbf{x}(t)와 제어 입력 \mathbf{u}(t) 사이의 관계를 설명하는 수학적 함수로 나타낸다. 여기서 \mathbf{x}(t)는 시스템의 현재 상태를 나타내며, \mathbf{u}(t)는 제어 신호이다.
제어법칙은 다음과 같은 형태로 일반화할 수 있다:
여기서, - \mathbf{u}(t): 제어 입력 벡터 - \mathbf{x}(t): 시스템의 상태 벡터 - \mathbf{r}(t): 레퍼런스 신호 또는 목표 상태 - \mathbf{p}: 시스템의 파라미터 집합
이 수식은 시스템의 상태와 목표값을 고려하여 제어 입력을 생성하는 제어법칙의 일반적인 구조를 나타낸다.
피드백 제어법칙
피드백 제어법칙은 시스템의 출력과 목표값 간의 차이를 기반으로 제어 입력을 결정하는 방식이다. 피드백은 시스템이 불안정하거나 목표에 도달하지 못할 때 이를 수정할 수 있도록 한다. 피드백 제어법칙은 다음과 같은 수식으로 표현될 수 있다:
여기서, - \mathbf{u}(t): 제어 입력 벡터 - \mathbf{K}: 피드백 이득 행렬 - \mathbf{x}(t): 시스템의 상태 벡터
이 수식에서 피드백 이득 \mathbf{K}는 시스템의 상태에 따라 제어 입력을 조정하는 역할을 한다. 이를 통해 시스템이 목표 상태로 수렴하도록 만든다.
상태 궤환 제어법칙
상태 궤환 (State Feedback) 제어법칙은 시스템의 모든 상태 변수를 측정하여 제어 입력을 결정하는 방법이다. 상태 궤환은 시스템 모델을 기반으로 설계되며, 시스템의 동특성을 변경하거나 안정화하는 데 주로 사용된다. 상태 궤환 제어법칙은 다음과 같은 수식으로 정의된다:
여기서 \mathbf{K}는 상태 궤환 이득 (State Feedback Gain) 행렬로, 시스템의 각 상태에 얼마나 큰 제어 신호를 가할지를 결정한다.
또한, 목표 상태 \mathbf{r}(t)를 고려하여 보정된 상태 궤환 제어법칙은 다음과 같이 표현된다:
이 수식은 시스템의 현재 상태 \mathbf{x}(t)와 목표 상태 \mathbf{r}(t) 간의 차이를 제어 신호로 변환하여 시스템이 목표 상태로 수렴하도록 한다.
비례-적분-미분 (PID) 제어법칙
PID 제어법칙은 제어 시스템에서 가장 널리 사용되는 제어법칙 중 하나로, 비례 (Proportional), 적분 (Integral), 미분 (Derivative)의 세 가지 요소를 결합하여 시스템의 제어 신호를 생성한다. PID 제어법칙의 수식은 다음과 같다:
여기서, - e(t) = \mathbf{r}(t) - \mathbf{y}(t): 목표값 \mathbf{r}(t)와 출력값 \mathbf{y}(t) 간의 오차 - K_p: 비례 이득 - K_i: 적분 이득 - K_d: 미분 이득
이 법칙은 시스템의 오차를 기반으로 제어 신호를 생성하며, 각 요소가 제어 시스템의 동작에 미치는 영향을 조정한다.
선형 이차 제어법칙 (Linear Quadratic Control Law)
선형 이차 제어법칙 (Linear Quadratic Regulator, LQR)은 제어 시스템에서 비용 함수를 최소화하는 제어 입력을 구하는 최적 제어법 중 하나이다. 여기서 비용 함수는 시스템의 상태 및 제어 입력의 크기를 고려하여 정의된다. LQR의 목표는 시스템의 안정성을 유지하면서 제어 신호를 최소화하는 것이다.
비용 함수 J는 다음과 같이 정의된다:
여기서, - \mathbf{x}(t): 상태 벡터 - \mathbf{u}(t): 제어 입력 벡터 - \mathbf{Q}: 상태 벡터에 대한 가중치 행렬 (양의 준정수 행렬) - \mathbf{R}: 제어 입력 벡터에 대한 가중치 행렬 (양의 정수 행렬)
LQR의 목적은 이 비용 함수를 최소화하는 제어 입력 \mathbf{u}(t)를 찾는 것이다. 제어 입력은 다음과 같이 상태 피드백 형태로 정의된다:
여기서 \mathbf{K}는 최적의 상태 피드백 이득 행렬이며, 리카티 방정식 (Riccati Equation)을 통해 계산된다.
리카티 방정식은 다음과 같은 형태를 갖는다:
여기서, - \mathbf{A}, \mathbf{B}: 시스템의 상태 공간 행렬 - \mathbf{P}: 리카티 방정식의 해
LQR 제어법칙을 통해 시스템의 상태를 안정적으로 유지하고, 제어 신호의 크기를 최소화할 수 있다.
적응형 제어법칙
적응형 제어법칙은 시스템의 동적 특성이 시간이 지남에 따라 변화하거나 미리 정확히 알 수 없는 경우에 사용된다. 적응형 제어법칙은 시스템의 동작을 실시간으로 모니터링하고, 제어법칙의 파라미터를 자동으로 조정하여 시스템 성능을 최적화한다.
적응형 제어법칙은 주로 파라미터 추정 기법을 사용하며, 다음과 같은 형태로 정의될 수 있다:
여기서 \mathbf{K}(t)는 시간에 따라 변화하는 이득 행렬이다. \mathbf{K}(t)는 시스템의 상태나 외부 환경 변화에 따라 적응적으로 조정된다.
적응형 제어에서 파라미터 추정은 다음과 같은 일반적인 적응 법칙에 의해 이루어진다:
여기서, - \hat{\theta}(t): 추정된 파라미터 - \gamma: 학습률 (Learning Rate) - \mathbf{e}(t): 오차 벡터, \mathbf{e}(t) = \mathbf{r}(t) - \mathbf{y}(t)
이 수식은 제어법칙의 파라미터를 적응적으로 조정함으로써 시스템의 성능을 지속적으로 향상시킬 수 있음을 보여준다.
슬라이딩 모드 제어법칙 (Sliding Mode Control Law)
슬라이딩 모드 제어법칙은 비선형 제어 시스템에서 널리 사용되는 기법으로, 시스템의 동적 모델이 불확실하거나 외란이 존재할 때 시스템을 제어하는 방법이다. 슬라이딩 모드 제어는 상태 공간에서 슬라이딩 면 (Sliding Surface)을 정의하고, 시스템을 해당 면에 강제로 수렴시키는 방식으로 동작한다.
슬라이딩 면 \sigma(\mathbf{x})는 다음과 같이 정의된다:
여기서 \mathbf{C}는 슬라이딩 면을 정의하는 행렬이다.
슬라이딩 모드 제어의 제어 입력은 다음과 같은 형태를 갖는다:
여기서, - \mathbf{u}_{eq}(t): 시스템의 균형 제어 입력 (Equivalent Control) - \mathbf{u}_{sw}(t): 스위칭 제어 입력 (Switching Control)
스위칭 제어 입력은 슬라이딩 면으로의 수렴을 보장하기 위해 다음과 같이 설정된다:
여기서 k는 양의 상수이고, \text{sign} 함수는 슬라이딩 면을 기준으로 시스템을 스위칭하는 역할을 한다.
슬라이딩 모드 제어는 외란에 강인하고, 모델링 오차에 민감하지 않은 특성을 지닌다.
최적 제어법칙 (Optimal Control Law)
최적 제어법칙은 주어진 목표를 달성하기 위해 시스템의 성능 지표를 최적화하는 제어 기법이다. 최적 제어는 비용 함수 또는 성능 지표를 최소화하거나 최대화하는 방식으로 제어 입력을 설계한다. 비용 함수는 시스템의 상태와 제어 입력의 크기를 포함하며, 시스템의 특정 목표에 도달하는 데 필요한 리소스를 최소화하는 데 중점을 둔다.
최적 제어 문제는 다음과 같이 정의된다:
여기서, - J: 비용 함수 - \mathbf{x}(t): 시스템의 상태 벡터 - \mathbf{u}(t): 제어 입력 벡터 - L(\mathbf{x}(t), \mathbf{u}(t), t): 상태 및 제어 입력의 함수로 정의된 라그랑지언 (Lagrangian) - T: 제어 기간
최적 제어는 해밀턴 함수 (Hamiltonian)를 사용하여 상태와 제어 입력의 최적 경로를 찾는다. 해밀턴 함수는 다음과 같이 정의된다:
여기서, - H: 해밀턴 함수 - \mathbf{\lambda}(t): 코스테이트 벡터 (Costate Vector) - \mathbf{f}(\mathbf{x}(t), \mathbf{u}(t), t): 시스템의 상태 변화 함수
최적 제어 문제를 해결하기 위해 포노트리아겐 최대화 원리 (Pontryagin’s Maximum Principle)를 사용하여 상태 및 코스테이트 방정식을 풀어야 한다. 제어 입력 \mathbf{u}(t)는 해밀턴 함수 H를 최대화하는 값으로 설정된다.
비선형 제어법칙 (Nonlinear Control Law)
비선형 제어법칙은 시스템의 동특성이 선형이 아닌 경우에 사용되는 제어 기법이다. 비선형 시스템은 선형 시스템과 달리 단순한 선형 행렬로는 표현할 수 없는 복잡한 동작을 보이며, 이러한 시스템을 제어하기 위해 비선형 제어법칙이 설계된다.
비선형 제어의 일반적인 방법 중 하나는 피드백 선형화 (Feedback Linearization)이다. 피드백 선형화는 비선형 시스템을 선형 시스템처럼 보이도록 변환하여 기존의 선형 제어법칙을 적용할 수 있게 한다.
비선형 시스템의 상태 방정식은 다음과 같이 표현될 수 있다:
여기서, - \mathbf{f}(\mathbf{x}(t)): 비선형 시스템의 자유 운동 (Free Motion) - \mathbf{g}(\mathbf{x}(t)): 비선형 제어 입력에 대한 계수
피드백 선형화를 통해 시스템의 동작을 선형 시스템처럼 변환할 수 있으며, 이를 통해 상태 궤환 제어 등 선형 제어법칙을 적용할 수 있다. 변환된 시스템은 다음과 같이 나타낼 수 있다:
여기서 \mathbf{z}(t)는 상태 변수의 변환된 벡터이며, \mathbf{v}(t)는 변환된 제어 입력이다. 이때 새로운 제어 입력 \mathbf{v}(t)는 선형 시스템에 적합한 제어법칙을 사용하여 제어된다.
모델 예측 제어법칙 (Model Predictive Control Law)
모델 예측 제어법칙 (Model Predictive Control, MPC)은 미래의 시스템 동작을 예측하고, 그 예측을 바탕으로 현재의 최적 제어 입력을 결정하는 제어 기법이다. MPC는 시스템의 미래 상태와 제어 입력을 미리 계산하여 최적의 제어 결정을 내리며, 매 시간마다 예측을 업데이트하고 새로운 제어 입력을 적용한다.
모델 예측 제어는 시간 구간 t에서 t+N까지의 예측된 상태와 제어 입력을 기반으로 비용 함수를 최소화하는 제어 입력을 구한다. 제어 문제는 다음과 같이 정의된다:
여기서, - N: 예측 구간 (Prediction Horizon) - \mathbf{x}(t+k): k 시간 이후의 상태 벡터 - \mathbf{u}(t+k): k 시간 이후의 제어 입력 벡터 - \mathbf{Q}: 상태 벡터에 대한 가중치 행렬 - \mathbf{R}: 제어 입력에 대한 가중치 행렬
MPC의 기본 원리는 예측된 미래의 동작을 바탕으로 제어 입력을 결정하고, 각 시간 단계에서 최적의 제어 신호를 찾아 적용하는 것이다. 제어 신호는 시간 구간마다 반복적으로 계산되며, 시스템의 예측된 미래 동작을 지속적으로 업데이트하여 제어 성능을 극대화한다.
MPC는 시스템의 제약 조건을 고려하여 제어 신호를 계산할 수 있으며, 특히 다변수 시스템이나 복잡한 제어 문제에서 매우 효과적이다. 시스템의 상태 및 제어 입력에 대한 제약 조건은 다음과 같이 추가된다:
이러한 제약 조건을 만족하면서 비용 함수를 최소화하는 제어 입력을 구하는 것이 MPC의 핵심이다.