선형-이차 조절기

최적 제어 이론은 동적 시스템을 최소 비용으로 작동하는 것과 관련된다. 시스템 다이내믹스가 선형 미분 방정식 집합으로 기술되고 비용이 이차 범함수로 기술되는 경우를 LQ 문제라고 한다. 이 이론의 주요 결과 중 하나는 아래에 방정식이 제시된 피드백 제어기인 **선형-이차 조절기**(, **LQR**)에 의해 해가 제공된다는 것이다.

LQR 제어기는 보장된 이득 여유 및 위상 여유와 함께 내재된 견고성을 가지고 있으며, LQG (선형-이차-가우시안) 문제의 해의 일부이다. LQR 문제 자체와 마찬가지로 LQG 문제는 제어이론에서 가장 근본적인 문제 중 하나이다.

## 일반 설명
비행기나 화학 반응기와 같은 기계 또는 프로세스를 제어하는 (조절) 제어기의 설정은 운용자가 제공하는 가중치 인자를 사용하여 손실 함수를 최소화하는 수학적 알고리즘을 통해 찾는다. 비용 함수는 고도나 공정 온도와 같은 주요 측정값의 원하는 값으로부터의 편차의 합으로 정의되는 경우가 많다. 따라서 알고리즘은 원치 않는 편차를 최소화하는 제어기 설정을 찾는다. 제어 동작 자체의 크기도 비용 함수에 포함될 수 있다.

LQR 알고리즘은 제어 시스템 엔지니어가 제어기를 최적화하는 데 필요한 작업량을 줄인다. 그러나 엔지니어는 여전히 비용 함수 매개변수를 지정하고 결과를 지정된 설계 목표와 비교해야 한다. 이는 종종 제어기 구성이 시뮬레이션을 통해 생성된 "최적" 제어기를 엔지니어가 판단하고 설계 목표와 더 일치하는 제어기를 생성하기 위해 매개변수를 조정하는 반복적인 프로세스임을 의미한다.

LQR 알고리즘은 본질적으로 적절한 상태 피드백 제어기를 찾는 자동화된 방법이다. 따라서 제어 엔지니어가 제어기 매개변수와 제어기 동작 간에 더 명확한 관계가 있는 폴 배치(pole placement)라고도 하는 전체 상태 피드백과 같은 대체 방법을 선호하는 것은 드문 일이 아니다. 올바른 가중치 인자를 찾는 데 어려움이 있어 LQR 기반 제어기 합성의 적용이 제한된다.

## 버전
### 유한 시간, 연속 시간
 정의된 연속 시간 선형 시스템의 경우:

\dot{\mathbf{x}} = A\mathbf{x} + B\mathbf{u}

여기서 \mathbf{x} \in \mathbb{R}^{n} (즉, \mathbf{x}는 n-차원 실수 값 벡터)는 시스템의 상태이고 \mathbf{u} \in \mathbb{R}^{m}는 제어 입력이다. 시스템에 대해 다음과 같이 정의된 이차 비용 함수가 주어지면:

J = \mathbf{x}^\mathsf{T}\!(t_1) F(t_1) \mathbf{x}(t_1)  + \int_{t_0}^{t_1} \left( \mathbf{x}^\mathsf{T} Q \mathbf{x} + \mathbf{u}^\mathsf{T} R \mathbf{u} + 2 \mathbf{x}^\mathsf{T} N \mathbf{u} \right) dt

여기서 F는 최종 비용 행렬, Q는 상태 비용 행렬, R은 제어 비용 행렬, N은 교차항(제어 및 상태) 비용 행렬이며, 비용 값을 최소화하는 피드백 제어 법칙은 다음과 같다.

\mathbf{u} = -K \mathbf{x} 

여기서 K는 다음으로 주어진다.

K = R^{-1} \left(B^\mathsf{T} P(t) + N^\mathsf{T}\right) 

그리고 P는 연속 시간 리카티 미분 방정식을 풀어 찾는다.

A^\mathsf{T} P(t) + P(t) A - \left[P(t) B + N\right] R^{-1} \left[B^\mathsf{T} P(t) + N^\mathsf{T}\right] + Q = - \dot{P}(t) 

경계 조건은 다음과 같다.

P(t_1) = F(t_1).

J_\min에 대한 1차 조건은 다음과 같다.

# **상태 방정식** \dot{\mathbf{x}} = A\mathbf{x} + B\mathbf{u}
# **[[공동 상태 방정식]]** -\dot{\boldsymbol\lambda} = Q\mathbf{x} + N\mathbf{u} + A^\mathsf{T} \boldsymbol\lambda 
# **정지 방정식**  \mathbf{0} = R \mathbf{u} + N^\mathsf{T} \mathbf{x} + B^\mathsf{T} \boldsymbol\lambda
# **경계 조건**  \mathbf{x}(t_0) = \mathbf{x}_0 및  \boldsymbol\lambda(t_1) = F(t_1) \mathbf{x}(t_1)

### 무한 시간, 연속 시간
다음과 같이 기술되는 연속 시간 선형 시스템의 경우:

\dot{\mathbf{x}} = A\mathbf{x} + B\mathbf{u}

다음과 같이 정의된 비용 함수가 주어졌을 때:

J = \int_0^\infty \left( \mathbf{x}^\mathsf{T} Q \mathbf{x} + \mathbf{u}^\mathsf{T} R \mathbf{u} + 2 \mathbf{x}^\mathsf{T} N \mathbf{u} \right) dt

비용 값을 최소화하는 피드백 제어 법칙은 다음과 같다.

\mathbf{u} = -K \mathbf{x} 

여기서 K는 다음으로 주어진다.

K = R^{-1} \left(B^\mathsf{T} P + N^\mathsf{T}\right) 

그리고 P는 연속 시간 대수 리카티 방정식을 풀어 찾는다.

A^\mathsf{T} P + P A - \left(P B + N\right) R^{-1} \left(B^\mathsf{T} P + N^\mathsf{T}\right) + Q = 0 

이는 다음과 같이도 쓸 수 있다.

\mathcal A^\mathsf{T} P + P \mathcal A - P B R^{-1} B^\mathsf{T} P + \mathcal Q = 0 

여기서

\mathcal A = A - B R^{-1} N^\mathsf{T}, \qquad  \mathcal Q = Q - N R^{-1} N^\mathsf{T} 

### 유한 시간, 이산 시간
다음과 같이 기술되는 이산 시간 선형 시스템의 경우:

\mathbf{x}_{k+1} = A \mathbf{x}_k + B \mathbf{u}_k 

다음과 같이 정의된 성능 지수가 주어졌을 때:

J = \mathbf{x}_{H_p}^\mathsf{T} Q_{H_p} \mathbf{x}_{H_p} + \sum_{k=0}^{H_p-1} \left( \mathbf{x}_k^\mathsf{T} Q \mathbf{x}_k + \mathbf{u}_k^\mathsf{T} R \mathbf{u}_k + 2 \mathbf{x}_k^\mathsf{T} N \mathbf{u}_k \right),
여기서  H_p 는 시간 지평선이다.

성능 지수를 최소화하는 최적 제어 시퀀스는 다음으로 주어진다.

\mathbf{u}_k = -F_k \mathbf{x}_k 

여기서

F_k = {\left(R + B^\mathsf{T} P_{k+1} B\right)}^{-1} \left(B^\mathsf{T} P_{k+1} A + N^\mathsf{T}\right) 

그리고 P_k는 동적 리카티 방정식에 의해 시간을 거꾸로 반복적으로 찾는다.

P_{k-1} = A^\mathsf{T} P_k A - \left(A^\mathsf{T} P_k B + N\right) \left( R + B^\mathsf{T} P_k B \right)^{-1} \left(B^\mathsf{T} P_k A + N^\mathsf{T}\right) + Q 

종단 조건 P_{H_p} = Q_{H_p}로부터. \mathbf{u}_{H_p}는 x가 A \mathbf{x}_{H_p-1} + B \mathbf{u}_{H_p-1}에 의해 최종 상태 \mathbf{x}_{H_p}로 구동되므로 정의되지 않는다.

### 무한 시간, 이산 시간
다음과 같이 기술되는 이산 시간 선형 시스템의 경우:

\mathbf{x}_{k+1} = A \mathbf{x}_k + B \mathbf{u}_k 

다음과 같이 정의된 성능 지수가 주어졌을 때:

J = \sum_{k=0}^{\infty} \left( \mathbf{x}_k^\mathsf{T} Q \mathbf{x}_k + \mathbf{u}_k^\mathsf{T} R \mathbf{u}_k + 2 \mathbf{x}_k^\mathsf{T} N \mathbf{u}_k \right)

성능 지수를 최소화하는 최적 제어 시퀀스는 다음으로 주어진다.

\mathbf{u}_k = -F \mathbf{x}_k 

여기서:

F = {\left(R + B^\mathsf{T} P B\right)}^{-1} \left(B^\mathsf{T} P A + N^\mathsf{T}\right) 

그리고 P는 이산 시간 대수 리카티 방정식 (DARE)의 유일한 양의 정부호 해이다.

P = A^\mathsf{T} P A - \left(A^\mathsf{T} P B + N\right) \left( R + B^\mathsf{T} P B \right)^{-1} \left(B^\mathsf{T} P A + N^\mathsf{T}\right) + Q .

이는 다음과 같이도 쓸 수 있다.

P = \mathcal A^\mathsf{T} P \mathcal A - \mathcal A^\mathsf{T} P B \left( R + B^\mathsf{T} P B \right)^{-1} B^\mathsf{T} P \mathcal A + \mathcal Q 

여기서:

 \mathcal A = A - B R^{-1} N^\mathsf{T}, \qquad \mathcal Q = Q - N R^{-1} N^\mathsf{T} .

대수 리카티 방정식을 푸는 한 가지 방법은 유한 시간 경우의 동적 리카티 방정식을 수렴할 때까지 반복하는 것이다.

## 제약 조건
실제로는 모든 \mathbf{x}_k, \mathbf{u}_k 값이 허용되지 않을 수 있다. 한 가지 일반적인 제약 조건은 선형 조건이다.
C \mathbf{x} + D\mathbf{u} \leq \mathbf{e}.

이것의 유한 시간 버전은 볼록 최적화 문제이므로 문제는 후퇴 지평선(receding horizon)으로 반복적으로 해결되는 경우가 많다. 이는 모델 예측 제어의 한 형태이다.

## 관련 제어기
### 이차-이차 조절기
상태 방정식이 이차인 경우 이 문제는 이차-이차 조절기(QQR)로 알려져 있다. 알브레흐트 알고리즘을 적용하여 이 문제를 텐서 기반 선형 솔버를 사용하여 효율적으로 풀 수 있는 문제로 줄일 수 있다.

### 다항식-이차 조절기
상태 방정식이 다항식인 경우 이 문제는 다항식-이차 조절기(PQR)로 알려져 있다. 다시 알브레흐트 알고리즘을 적용하여 이 문제를 바르텔스-스튜어트 알고리즘의 일반화를 사용하여 풀 수 있는 큰 선형 문제로 줄일 수 있다. 이는 다항식의 차수가 너무 높지 않으면 가능하다.

### 모델 예측 제어

모델 예측 제어 (MPC)와 선형-이차 조절기는 최적화 비용을 설정하는 데 다른 접근 방식을 사용하는 두 가지 유형의 최적 제어 방법이다. 특히, 후퇴 지평선으로 LQR을 반복적으로 실행하면 MPC의 한 형태가 된다. 그러나 일반적으로 MPC는 선형 시스템에 국한되지 않으며 제약 조건을 자연스럽게 통합할 수 있다.

## 각주


* 
* 

## 외부 링크
* MATLAB function for Linear Quadratic Regulator design 
* Mathematica function for Linear Quadratic Regulator design

분류:제어이론