7.112 모델 예측 제어에서의 이차 계획법

7.112 모델 예측 제어에서의 이차 계획법

1. 모델 예측 제어의 최적화 구조

모델 예측 제어(Model Predictive Control, MPC)는 매 제어 주기에서 유한 시간 지평(finite horizon)의 최적 제어 문제를 온라인으로 풀고, 최적 제어 입력의 첫 번째 요소만을 시스템에 적용하는 이동 지평(receding horizon) 전략이다. 선형 시스템과 이차 비용 함수의 조합에서 MPC의 최적화 문제는 이차 계획 문제(QP)로 정식화된다.

2. 선형 MPC의 QP 정식화

2.1 시스템 모델

이산 시간 선형 시스템을 고려하라.

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

여기서 \mathbf{x}_k \in \mathbb{R}^{n_x}는 상태, \mathbf{u}_k \in \mathbb{R}^{n_u}는 제어 입력이다.

2.2 비용 함수

N 단계 예측 지평에서의 이차 비용 함수는 다음과 같다.

J = \frac{1}{2}\mathbf{x}_N^T\mathbf{P}\mathbf{x}_N + \frac{1}{2}\sum_{k=0}^{N-1} (\mathbf{x}_k^T\mathbf{Q}\mathbf{x}_k + \mathbf{u}_k^T\mathbf{R}\mathbf{u}_k)

여기서 \mathbf{Q} \succeq 0, \mathbf{R} \succ 0, \mathbf{P} \succeq 0은 가중 행렬이다.

2.3 제약 조건

상태 제약과 입력 제약이 부과된다.

\mathbf{x}_{\min} \leq \mathbf{x}_k \leq \mathbf{x}_{\max}, \quad \mathbf{u}_{\min} \leq \mathbf{u}_k \leq \mathbf{u}_{\max}

2.4 밀집 형식(Dense Formulation)

동역학 제약을 이용하여 모든 상태 변수를 초기 상태 \mathbf{x}_0와 제어 입력 시퀀스 \mathbf{U} = [\mathbf{u}_0^T, \ldots, \mathbf{u}_{N-1}^T]^T의 함수로 소거하면, 제어 입력만을 결정 변수로 갖는 QP를 얻는다.

\min_{\mathbf{U}} \quad \frac{1}{2}\mathbf{U}^T\mathbf{H}\mathbf{U} + \mathbf{x}_0^T\mathbf{F}\mathbf{U}

\text{s.t.} \quad \mathbf{G}\mathbf{U} \leq \mathbf{w} + \mathbf{E}\mathbf{x}_0

결정 변수의 수는 N \cdot n_u이다. 헤시안 \mathbf{H}는 밀집(dense) 행렬이며, 문제 규모가 작을 때 효율적이다.

2.5 희소 형식(Sparse Formulation)

상태와 입력을 모두 결정 변수로 유지하고 동역학을 등식 제약으로 명시적으로 포함하는 형식이다.

\min_{\mathbf{X}, \mathbf{U}} \quad \frac{1}{2}\sum_{k=0}^{N-1}(\mathbf{x}_k^T\mathbf{Q}\mathbf{x}_k + \mathbf{u}_k^T\mathbf{R}\mathbf{u}_k) + \frac{1}{2}\mathbf{x}_N^T\mathbf{P}\mathbf{x}_N

\text{s.t.} \quad \mathbf{x}_{k+1} = \mathbf{A}\mathbf{x}_k + \mathbf{B}\mathbf{u}_k, \quad k = 0, \ldots, N-1

\mathbf{x}_{\min} \leq \mathbf{x}_k \leq \mathbf{x}_{\max}, \quad \mathbf{u}_{\min} \leq \mathbf{u}_k \leq \mathbf{u}_{\max}

결정 변수의 수는 N \cdot (n_x + n_u)로 밀집 형식보다 크지만, KKT 시스템이 밴드 구조(banded structure)를 갖는다. 이 희소 구조를 활용하면 리카티 재귀(Riccati recursion)를 통해 O(N \cdot (n_x + n_u)^3)에 풀 수 있으며, 이는 지평 길이 N에 선형이다.

3. 리카티 재귀에 의한 효율적 해법

희소 QP의 KKT 시스템은 블록 삼대각(block tridiagonal) 구조를 갖는다. 이 구조는 시간 역방향 리카티 재귀로 효율적으로 분해된다.

시각 k = N, N-1, \ldots, 0에 대해 역방향으로 다음의 리카티 재귀를 수행한다.

\mathbf{K}_k = -(\mathbf{R} + \mathbf{B}^T\mathbf{P}_{k+1}\mathbf{B})^{-1}\mathbf{B}^T\mathbf{P}_{k+1}\mathbf{A}

\mathbf{P}_k = \mathbf{Q} + \mathbf{A}^T\mathbf{P}_{k+1}(\mathbf{A} + \mathbf{B}\mathbf{K}_k)

제약이 없는 경우 이 재귀가 정확한 해를 산출하며, 제약이 있는 경우에는 능동집합법 또는 내점법의 내부에서 KKT 시스템 분해의 핵심 루틴으로 사용된다.

4. 실시간 요구 사항

로봇 MPC에서 QP는 매 제어 주기(통상 1~10ms)에 풀어야 한다. 이를 위한 핵심 전략은 다음과 같다.

웜 스타트: 이전 시간 단계의 최적 제어 시퀀스를 한 단계 이동(shift)하여 초기 추정으로 사용한다. 연속적인 QP 사이의 변화가 작으므로 소수의 반복으로 수렴한다.

조기 종료: 정해진 시간 내에 수렴하지 못하면 현재까지의 근사 해를 사용한다. 안정성 보장을 위해 부정확한 해에 대한 견고성이 필요하다.

코드 생성: CVXGEN, FORCES Pro 등의 도구가 특정 MPC 문제의 구조에 맞춘 최적화된 C 코드를 자동 생성한다. 분기 없는(branch-free) 코드가 생성되어 최악 경우 실행 시간이 보장된다.

5. 로봇 공학에서의 MPC-QP 응용

이동 로봇 궤적 추종: 선형화된 차량 모델에 기반한 MPC에서 횡방향 제어 QP를 실시간으로 풀어 조향각을 결정한다.

보행 로봇의 보행 안정화: 선형 도립 진자 모델에 기반한 MPC에서 무게 중심 궤적을 실시간으로 최적화한다. ZMP(Zero Moment Point) 제약이 선형 부등식으로 부과된다.

매니퓰레이터 제어: 선형화된 관절 동역학에 기반한 MPC에서 토크 한계와 관절 한계를 만족하는 최적 제어를 QP로 계산한다.

6. 참고 문헌

  • Rawlings, J. B., Mayne, D. Q., & Diehl, M. (2017). Model Predictive Control: Theory, Computation, and Design (2nd ed.). Nob Hill Publishing.
  • Borrelli, F., Bemporad, A., & Morari, M. (2017). Predictive Control for Linear and Hybrid Systems. Cambridge University Press.
  • Mattingley, J., & Boyd, S. (2012). “CVXGEN: A Code Generator for Embedded Convex Optimization.” Optimization and Engineering, 13(1), 1–27.
  • Diehl, M., Bock, H. G., & Schlöder, J. P. (2005). “A Real-Time Iteration Scheme for Nonlinear Optimization in Optimal Feedback Control.” SIAM Journal on Control and Optimization, 43(5), 1714–1736.

version: 1.0