7.157 비선형 MPC의 정식화와 실시간 해법

7.157 비선형 MPC의 정식화와 실시간 해법

1. 비선형 MPC의 필요성

로봇 시스템의 동역학은 본질적으로 비선형이다. 선형 MPC는 동작점 주위의 선형화에 기반하므로, 대폭적인 상태 변화나 강한 비선형성을 포함하는 문제에서는 모델 정확도가 부족하다. 비선형 MPC(Nonlinear MPC, NMPC)는 비선형 동역학 모델을 직접 사용하여 예측과 최적화를 수행하며, 넓은 운용 범위에서 정확한 제어를 제공한다.

2. 비선형 MPC의 정식화

\min_{\mathbf{x}_0, \ldots, \mathbf{x}_N, \mathbf{u}_0, \ldots, \mathbf{u}_{N-1}} \quad \phi(\mathbf{x}_N) + \sum_{k=0}^{N-1} L(\mathbf{x}_k, \mathbf{u}_k)

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

\mathbf{x}_0 = \hat{\mathbf{x}}(t) \quad (\text{현재 상태 측정/추정})

\mathbf{h}(\mathbf{x}_k, \mathbf{u}_k) \leq \mathbf{0}, \quad k = 0, \ldots, N-1

\mathbf{x}_N \in \mathcal{X}_f

이 문제는 비선형 등식 제약(동역학)과 비선형 부등식 제약(경로 제약)을 갖는 NLP이다.

3. 실시간 해법

3.1 SQP(순차적 이차 계획법) 기반

각 SQP 반복에서 NLP를 현재 점 주위에서 선형화하여 QP 하위 문제를 풀어야 한다.

\min_{\Delta\mathbf{z}} \quad \frac{1}{2}\Delta\mathbf{z}^T\mathbf{H}_k\Delta\mathbf{z} + \nabla F_k^T\Delta\mathbf{z}

\text{s.t.} \quad \mathbf{A}_k\Delta\mathbf{z} + \mathbf{c}_k = \mathbf{0}, \quad \mathbf{G}_k\Delta\mathbf{z} + \mathbf{d}_k \leq \mathbf{0}

QP 하위 문제의 밴드 희소 구조를 활용하여 리카티 재귀로 효율적으로 풀 수 있다.

3.2 RTI(Real-Time Iteration)

NMPC에서 가장 널리 사용되는 실시간 해법이다. 핵심 아이디어는 SQP의 완전 수렴을 포기하고, 매 제어 주기에서 단일 SQP 반복만을 수행하는 것이다.

시간 분할:

  • 준비 단계: 이전 해에서 선형화, QP 구성, 행렬 분해를 수행한다. 상태 측정에 무관한 계산이므로 측정 이전에 수행 가능하다.
  • 피드백 단계: 새 상태 측정 \hat{\mathbf{x}}가 도착하면, 초기 상태만 갱신하여 QP를 풀고 제어 입력을 즉시 산출한다.

피드백 단계의 지연(feedback delay)이 최소화되어 고속 제어에 적합하다.

3.3 내점법 기반

IPOPT 등의 내점법 해법기를 비선형 MPC에 직접 적용할 수 있다. 내점법은 수렴이 안정적이지만, 반복당 비용이 SQP보다 높고 웜 스타트가 제한적이다. 오프라인 최적화나 비교적 느린 제어 주기(>100ms)에서 사용된다.

4. 대표적 소프트웨어 프레임워크

4.1 acados

실시간 NMPC를 위한 오픈 소스 프레임워크로, RTI-SQP, 밀집/희소 QP 해법, 자동 미분(CasADi 연동), 코드 생성을 통합적으로 제공한다. C로 생성된 코드가 임베디드 시스템에서 실행 가능하다.

4.2 CasADi + IPOPT

CasADi는 기호 미분(symbolic differentiation)과 자동 미분을 지원하는 프레임워크로, NMPC의 NLP를 구성하고 IPOPT로 풀어내는 파이프라인을 제공한다. 프로토타이핑에 적합하지만 실시간 성능은 acados에 미치지 못한다.

4.3 FORCES Pro

상용 코드 생성 도구로, NMPC 문제의 구조에 맞춘 최적화된 C 코드를 자동 생성한다. 확정적 실행 시간이 보장되어 안전 필수(safety-critical) 응용에 적합하다.

5. 로봇 공학에서의 NMPC 응용

멀티로터 비행 제어: 6자유도 비선형 강체 모델에 기반한 NMPC가 공격적(aggressive) 비행 기동에서 선형 MPC를 능가하는 성능을 보인다. 추력과 모멘트 제약이 직접 부과되며, 비선형 공기역학적 효과가 반영된다.

보행 로봇: 원심형(centroidal) 동역학 모델에 기반한 NMPC가 비선형 각운동량 역학을 포함하여 동적 보행 패턴을 생성한다.

자율 주행: 비선형 차량 모델(타이어 비선형성 포함)에 기반한 NMPC가 긴급 회피, 고속 주행, 미끄러운 노면에서의 안정적 제어를 달성한다.

매니퓰레이터 궤적 추종: 비선형 관절 동역학을 직접 포함하는 NMPC가 동역학 보상과 제약 처리를 통합적으로 수행한다.

6. 참고 문헌

  • Rawlings, J. B., Mayne, D. Q., & Diehl, M. (2017). Model Predictive Control: Theory, Computation, and Design (2nd ed.). Nob Hill Publishing.
  • 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.
  • Verschueren, R., et al. (2022). “acados — A Modular Open-Source Framework for Fast Embedded Optimal Control.” Mathematical Programming Computation, 14, 147–183.
  • Falcone, P., Borrelli, F., Asgari, J., Tseng, H. E., & Hrovat, D. (2007). “Predictive Active Steering Control for Autonomous Vehicle Systems.” IEEE Transactions on Control Systems Technology, 15(3), 566–580.

version: 1.0