똑바른 날개

[MPC책 공부 - 2] LQ(Linear Quadratic) 본문

제어/mpc

[MPC책 공부 - 2] LQ(Linear Quadratic)

Upright_wing 2025. 3. 12. 23:39

1.3.1 Linear Quadratic Problem (LQ 문제)

이 섹션에서는 선형 이차 (Linear Quadratic, LQ) 문제를 정의하고 이를 해결하는 방법을 다룬다. 주어진 시스템을 원점(0)으로 이동시키는 제어기를 설계하는 것이 목표이다. 만약 목표 상태(setpoint)가 원점이 아니라면, 이를 고려하여 문제를 수정해야 하며, 시간이 변화하는 setpoint를 따라가야 하는 경우에도 이에 맞게 제어 전략을 조정해야 한다.


시스템 모델

LQ 문제에서 다루는 시스템은 다음과 같은 선형 상태공간 모델로 표현된다.

$$
\begin{align}
x(k+1) &= A x(k) + B u(k) \\
y(k) &= C x(k)
\end{align}
$$

여기서:

  • \( x(k) \) : 시스템의 상태 벡터 (예: 로봇의 위치 및 속도)
  • \( u(k) \) : 입력 벡터 (예: 로봇의 힘 또는 토크)
  • \( y(k) \) : 출력 벡터 (예: 측정 가능한 위치 센서 값)
  • \( A \) : 상태 행렬 (시스템의 동적 특성을 나타냄)
  • \( B \) : 입력 행렬 (입력이 시스템에 미치는 영향을 나타냄)
  • \( C \) : 출력 행렬 (측정 가능한 값과 상태의 관계를 정의)

이 문제에서는 상태가 완전히 측정 가능하다고 가정하므로 \( C = I \)로 놓는다. 즉, \( y(k) = x(k) \)로 가정하여 상태를 직접 사용할 수 있다고 본다.


미래 예측 및 입력 시퀀스

MPC에서는 향후 \( N \) 스텝 동안 시스템을 예측하며, 각 스텝에서 적용할 입력을 결정해야 한다. 이를 위해 입력 시퀀스를 다음과 같이 정의한다.

$$
\begin{align}
u = { u(0), u(1), \dots, u(N-1) }
\end{align}
$$

즉, 앞으로 \( N \) 단계 동안 입력 \( u(k) \)을 어떻게 설정할지를 최적화하는 것이 목표이다.


목적 함수 (Objective Function)

LQ 문제에서 목표는 시스템의 상태를 원점으로 수렴시키는 것이다. 이를 위해 상태 \( x(k) \)와 입력 \( u(k) \)의 크기를 최소화하는 비용 함수(cost function)를 정의한다.

$$
\begin{align}
V(x(0), u) = \frac{1}{2} \sum_{k=0}^{N-1} \left( x(k)^T Q x(k) + u(k)^T R u(k) \right) + \frac{1}{2} x(N)^T P_f x(N)
\end{align}
$$

여기서:

  • \( Q \) : 상태 \( x(k) \)에 대한 가중치 행렬 (상태를 0으로 수렴시키기 위한 비용)
  • \( R \) : 입력 \( u(k) \)에 대한 가중치 행렬 (너무 큰 제어 입력을 방지)
  • \( P_f \) : 최종 상태 \( x(N) \)에 대한 가중치 행렬 (종료 조건을 위한 추가적인 패널티)

이 비용 함수는 상태가 원점에서 멀어질수록 비용이 커지고, 입력이 클수록 비용이 증가하는 구조를 가진다. 따라서 최적화 과정에서 시스템은 입력을 최소화하면서 상태를 빠르게 0으로 만들려 한다.


가중치 \( Q \)와 \( R \)의 역할

LQ 문제에서 가중치 \( Q \)와 \( R \)은 시스템의 동작을 결정하는 중요한 요소이다.

  • \( Q \)가 크면: 상태를 빠르게 원점으로 수렴시키려는 경향이 강해진다. 하지만 그만큼 큰 입력이 필요할 수 있다.
  • \( R \)가 크면: 입력의 크기를 줄이려는 경향이 강해진다. 하지만 입력을 제한하면 상태가 천천히 원점으로 이동할 수 있다.

따라서 \(Q\)와 \( R \)을 어떻게 설정하느냐에 따라 시스템의 응답 속도와 입력 크기가 달라진다. 

 

LQ 문제와 MPC의 차이점

LQ 문제와 MPC는 모두 최적 제어 기법이지만, 몇 가지 차이점이 있다.

  1. LQ 문제는 제약 조건을 고려하지 않는다
    • 입력 값\(( u )\)에 대한 물리적 한계(예: 모터 토크 제한)를 적용할 수 없다.
    • 상태가 특정 영역을 벗어나지 않도록 하는 제약을 추가하기 어렵다.
  2. MPC는 제약 조건을 고려하여 입력을 최적화한다
    • MPC는 \( u(k) \)와 \( x(k) \)에 대한 제약을 추가할 수 있다.
    • 예를 들어, 로봇의 속도가 \( -v_{\max} \leq v \leq v_{\max} \) 범위를 유지하도록 설정할 수 있다.

즉, LQ 문제는 제약이 없는 최적화 문제이고, MPC는 제약이 있는 최적화 문제라고 볼 수 있다.


정리

LQ 문제는 선형 시스템을 최적 제어하는 방법 중 하나이며, MPC의 기본 개념을 이해하는 데 중요한 역할을 한다.

핵심 개념

  • 목표: 시스템의 상태를 원점으로 이동시키는 것
  • 수식: 선형 상태공간 모델을 사용하며, 목적 함수는 상태 및 입력의 크기를 최소화하도록 설계됨
  • 가중치 조정: \( Q \)를 크게 하면 상태를 빠르게 원점으로 이동하지만, \( R \)을 크게 하면 제어 입력을 최소화할 수 있음
  • LQ와 MPC 차이: MPC는 LQ의 개념을 확장하여 제약 조건을 추가할 수 있음