티스토리 뷰

이번에는 Full State Feedback 제어와 Linear Quadratic 제어기에 대해 수식적으로 알아보겠다. 

이전 글에서 Pure Pursuit과 Stanley 기법은 목표 경로와의 기하학적 관계를 이용한 제어기였다면 이번에는 상태 공간 모델을 기반으로 한다. 이 방법은 차량을 수학적인 모델로 표현하고 상태를 이용해 시스템의 안정성과 성능을 향상시키기 위한 기법이다. 

특히 Full State Feedback 제어는 원하는 동특성을 갖도록 극점을 배치하는 방식이고,
LQ 제어는 여기에 더해 오차와 입력을 고려한 최적화 문제로 제어 이득을 결정하는 방식이다. 


Full State Feedback 제어기

 

Full State Feedback 제어기는 상태변수를 이용한 제어 방식이다.
시스템의 모든 상태변수($ \mathbf{x}$)를 이용하여 피드백 구조($u = -Kx$)를 만들어 제어하는 방식이다
.

Full State Feedback 제어기 설계 및 안정성 확인:

  • 시스템의 상태공간모델은 $\dot{\mathbf{x}} = A \mathbf{x} + B \mathbf{u}$, $ \mathbf{y}=C \mathbf{x}+D \mathbf{u}$로 나타낸다. D는 0으로 가정한다.

x 부분에서 피드백 구조를 만든다. 
이때 이득값을 K로 한다. K도 마찬가지로 행렬이다 

  • 혹은 상태방정식에 제어 입력 $u = -Kx$를 대입한 것으로 해석할 수도 있다.
  • 폐루프(Closed-loop) 시스템 행렬은 $A_{cl} = A - BK$가 된다.

K는 어떻게 정할 수 있을까

안정된 시스템을 판별해보자. 

 

  • 상태방정식에 u=-Kx를 대입해본다
  • $\dot{\mathbf{x}} = A \mathbf{x} + B K\mathbf{x}$
  • 안정한 상태에 있기 위해서는 행렬의 고유값의 실수부분이 음의 영역에 있어야한다.
  • 즉 시스템이 안정해지려면 시스템 행렬($A - BK$) 고유값(Eigenvalue)의 실수 부분이 반드시 음수 영역(LHP, Left Half Plane)에 존재해야 한다.

Pole Placement (극점 배치법):

앞서 $A_cl$의 고유값을 확인해야 한다고 했다.
이때 우리가 원하는 특정 고유값을 가지도록 하는 방법이 있다. 

  • 상태공간에서의 시스템 행렬 고유값은 전달함수의 극점(Pole)과 같은 역할을 한다.
  • Pole Placement는 사용자가 원하는 특정 고유값(안정적인 시스템 성능을 돕는 위치)을 가지도록 이득 값 행렬 $K$를 선정하는 매커니즘이다.
  • 매스-스프링-댐퍼 시스템을 예시로 알아보자
    • $\dot{\mathbf{x}} = A \mathbf{x} + B \mathbf{u}$ 에 u=-Kx 를 대입한다.
    • $
      \begin{bmatrix}
      \dot{x}_1 \\
      \dot{x}_2
      \end{bmatrix}
      =
      \begin{bmatrix}
      0 & 1 \\
      -1 & -1
      \end{bmatrix}
      \begin{bmatrix}
      x_1 \\
      x_2
      \end{bmatrix}
      -
      \begin{bmatrix}
      0 \\
      1
      \end{bmatrix}
      \begin{bmatrix}
      k_1 & k_2
      \end{bmatrix}
      \begin{bmatrix}
      x_1 \\
      x_2
      \end{bmatrix}
      $
    • $A_cl$을 구할 수 있다.$
      \begin{bmatrix}
      \dot{x}_1 \\
      \dot{x}_2
      \end{bmatrix}
      =
      \begin{bmatrix}
      0 & 1 \\
      -1-k_1 & -1-k_2
      \end{bmatrix}
      \begin{bmatrix}
      x_1 \\
      x_2
      \end{bmatrix}$
    •  특성 방정식을 구하면 $\lambda( \lambda +1+k_2)+(1+k_1)= \lambda ^2 +(1+k_2) \lambda +1+k_1$이다.
    • 이때 원하는 Pole을 먼저 선정해준다.
    • 예를들어 상태공간 방정식에 에서 원하는 극점의 위치를 $-1, -5$로 설정한다.
    • 특성화 방정식은 $(\lambda+1)(\lambda+5) = \lambda^2 + 6\lambda + 5$가 되며, 이를 시스템 특성 방정식과 비교하여 제어기 이득 $k_1=4, k_2=5$를 산출할 수 있다.

Linear Quadratic (LQ) 제어기

LQ제어기는 최적화 방식을 이용한 제어기 중 대표적인 방식이다. 위에서 살펴봤던 Full State Feedback 제어기에 이득($K$)을 선정하는 기법이다.

LQ제어기 설계 단계

  1. 시스템의 상태방정식을 구한다.
  2. 비용함수, 또는 Performance Index를 정의한다.
  3. 대수 리카티 방정식(Algebraic Riccati Equation, ARE)을 풀어 $K$값을 선정한다.

비용함수 (Cost Function):

  • 최적화하고자 하는 변수들의 상관관계를 나타내는 함수이다.
    • 예를 들어 노력과 시간, 돈을 투자해 성과를 얻는다고 해보자.
    • 최고의 성과를 위해 노력, 시간, 돈은 얼마나 필요할까?
    • 성과가 각 요소와 연관관계를 가질 때 성과=f(노력, 시간, 돈) 처럼 함수로 표현할 수 있다. 
    • 이러한 함수가 1차 함수나 2차 함수(제곱 형태)라고 생각해보자
    • 2차 함수일 때 미분 값이 0이 되는 지점에서 최대 또는 최소값을 가지므로 최적화에 적합하다.
    • 이처럼 비용함수가 최대나 최소가 되는 변수값을 찾는 과정을 최적화라고 한다. 
    • LQ 제어 방식도 제곱 형태의 비용함수를 사용한다.
  • 비용함수 수식: $J = \int_{0}^{\infty} (x^T Q x + u^T R u) dt$
    • Q와 R은 변수의 가중치
    • 오차를 0으로 만드는 제어에서는 x를 오차라고 볼 수 있다? 
    • 비용함수를 해석하자면 시간이 무한대로 흘러갔을 때 오차와 입력의 T제곱을 시간에 따라 누적, 이 비용함수가 최소가 되는 u를 찾ㄴ는ㄴ다?  

가중치 매트릭스 ($Q, R$):

  • $Q$는 오차를 줄이는 시스템 성능 관련 가중치이고
  • $R$은 시스템의 제어 입력(에너지, 연비 등) 관련 가중치이다. $Q$를 높이고 $R$을 낮추면 오차는 빠르게 줄어들지만 입력 변화가 커져 연비가 저하될 수 있으며, 반대로 $Q$를 낮추고 $R$을 높이면 조향 입력은 완만해지나 오차가 천천히 줄어든다.
  • 자동차에서 목표와 실제 속력 차이가 x이다. 입력은 u
    • 속력 오차를 줄이고자 Q를 크게 잡으면 오차는 줄지만 입력은 커진다.
    • R이 크면 입력은 작게 사용할 수 있지만 속력 오차가 늦게 줄어들 것이다.
    • 적절한 Q, R 선정이 필요하다. 

ARE (Algebraic Riccati Equation):

LQ제어기 설계 시 1)시스템 안정, 2)비용함수 최적화 문제를 동시에 푸는 수식이다. 

  • 수식: $PA + A^T P - PBR^{-1}B^T P + Q = 0$
    • 이때 A와 B는 상태공간 모델로 얻을 수 있는 행렬이다. 
    • Q와 R은 비용함수 선정 시 정의하는 행렬이다.
    • 미지수 P 해가 존재한다면 설계 가능 
  • 이 방정식을 만족하는 해 $P$가 존재하면
    • 최적의 제어 입력 $u = -R^{-1}B^T Px$를 얻을 수 있으며,
    • 이때 제어기 이득은 $K = R^{-1}B^T P$가 된다[cite: 1].

다음 글에서 상태 관측기 기반 제어와 모델 예측 제어에 대해 알아보겠다. 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함