MPC 기본 개념과 상태공간 모델
MPC(Model Predictive Control)는 Optimal Control의 한 방법으로, 로보틱스의 planning 및 제어에 많이 활용된다.
로봇의 속도·가속도 같은 dynamics와 주변 환경 조건을 cost function에 반영해 최적화된 제어 명령을 만들고, 이를 통해 안정적인 자율 항법이 가능하다.
이전부터 관심 있던 분야였는데, 이번 글에서는 이를 정리해본다.
✔️ 1. MPC에서 중요한 점
MPC의 핵심은 현재 스텝의 상태변수로부터 다음 스텝의 미래 출력을 예측하는 것이다.
따라서 시스템 dynamics 모델링이 필수적이다.
✔️ 2. 연속시간 LTI 상태공간 모델
LTI(Linear Time Invariant, 선형 시불변) 시스템의 연속시간 상태공간 방정식은 다음과 같다.
상태방정식:
ẋ(t) = A x(t) + B u(t)
출력방정식:
y(t) = C x(t)
✔️ 3. 이산시간 모델 (Discretization)
MPC는 디지털 환경에서 구현되므로 연속시간 모델을 이산화해야 한다.
상태방정식:
x(k+1) = A_d x(k) + B_d u(k)
출력방정식:
y(k) = C_d x(k)
✔️ 4. Difference State-Space Model
MPC에서는 상태변수 x 대신 상태변수의 변화량 Δx를 사용한다.
Δx(k+1) = A_d Δx(k) + B_d Δu(k)
y(k+1) = y(k) + C_d A_d Δx(k) + C_d B_d Δu(k)
✔️ 5. Augmented State-Space Model
이를 행렬 형태로 정리하면 discrete-time augmented state-space model을 얻을 수 있다.
상태 정의:
x(k) = [ Δx(k) , y(k) ]^T
(1)
확장 상태방정식:
[ Δx(k+1) ] = [ A_d 0 ] [ Δx(k) ] + [ B_d ] Δu(k)
[ y(k+1) ] [ C_d A_d I ] [ y(k) ] [ C_d B_d ]
(2)
출력방정식:
y(k) = [ 0 I ] [ Δx(k) , y(k) ]^T
(3)
여기서 상태변수 x는 단순히 Δx만이 아니라, Δx와 출력 y가 함께 포함된다는 점을 기억해야 한다.
참고: Kuo’s Digital Control Systems 교재 PDF