일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 워크스페이스
- namespace
- MPC
- patch
- broad-phase
- Turtle
- optimization
- Package
- ROS
- 비동기적
- Publish
- Python
- gjk-epa
- QT
- separating axis theorem(sat)
- Turtlesim
- roslaunch
- Gradient
- remapping
- CONSTRAINTS
- unittest
- mock
- narrow-phase
- rospy.spin
- Service
- UV
- Topic
- convex
- subsribe
- gjk
- Today
- Total
똑바른 날개
[MPC책 공부 - 6] Finite Horizon문제의 한계와 Infitie Horzion의 장점 본문
Finite Horizon문제의 한계와 Infitie Horzion의 장점
- 유한한 시간 구간(Finite horizon)의 최적 제어 문제(LQ)는 항상 안정성(Stability)을 보장하지 않는다.
- 칼만(Kalman, 1960)이 지적한 바와 같이, 유한 구간에서 최적 해를 구하더라도 폐루프 시스템이 불안정해질 가능성이 있다.
예제
다음과 같은 선형 시스템을 고려하자.
\begin{align} x(k+1) &= A x(k) + B u(k) \\ y(k) &= C x(k) \end{align}
주어진 예제 시스템의 행렬은 다음과 같다.
\begin{align} A &= \begin{bmatrix} 1.25 & 0.75 \\ 0.75 & 1.25 \end{bmatrix}, \quad B = \begin{bmatrix} 1 \\ 1 \end{bmatrix}, \quad C = \begin{bmatrix}-\frac{2}{3} & 1\end{bmatrix} \end{align}
이 시스템은 의도적으로 불안정한 zero (unstable zero) 를 가지고 있다. 구체적으로 시스템 전달함수 \( G(z) \)의 zero가 \( z=3/2 \) (즉, 불안정한 zero)을 갖도록 설계하였다.
이 시스템에 대해서 다음의 LQ 제어 문제를 설정했다.
- 비용함수의 가중치 \( Q, R \) 및 시간 \( N \) 을 다음과 같이 설정하여 unstable behavior를 유도하도록 했다.
\begin{align} Q &= C^T C + 0.001 I = \begin{bmatrix}4/9 + 0.001 & -2/3 \\[6pt] 2/3 & 1.001\end{bmatrix} \\ R &= 0.001,\quad N = 5 \end{align}
이 조건에서 Riccati iteration을 계산한 후 얻어지는 최적 입력 피드백 제어기
\begin{align} u(k) = K(k) x(k),\quad K(k) = -(B^T \Pi(k+1) B + R)^{-1} B^T \Pi(k+1) A \end{align}
이때, 유한한 시간(예시에서는 \( N=5 \))을 설정하면, 결과적으로 얻어지는 폐루프 시스템의 eigenvalue는 다음과 같았다.
$$
\begin{aligned}
\text{eig}(A + B K(0)) &= \{1.307, \; 0.001\}
\end{aligned}
$$
즉, 시스템이 Unstable한 (eigenvalue가 1보다 큰 값 1.307을 갖는) 상태가 된다. 이로 인해 유한 시간 LQ 최적제어 문제를 풀었다고 해서 반드시 안정성을 보장하지 않는다는 것을 명확히 확인할 수 있다.
NN을 증가시킨 결과 (무한 수평선 문제의 중요성)
위의 예시에서 제어기의 horizon \( N \) 을 더 늘려서 \( N=7 \)로 하면 Riccati equation의 결과는
$$
\begin{aligned}
\text{eig}(A + B K(0)) = \{0.989,\;0.001\}
\end{aligned}
$$
가 되어서, 시스템이 안정화된다 (모든 고유값의 크기가 1 미만으로 떨어진다).
즉, 더 긴 시간구간을 고려할수록 시스템이 안정화되는 경향을 보이는데, 이는 무한 수평선 (Infinite horizon) 최적제어 문제를 다루어야 하는 이유가 된다.
무한 수평선 문제로의 일반화 (Infinite Horizon LQ problem)
따라서 안정성 보장을 위해 다음과 같이 무한 수평선(infinite horizon)을 고려한 문제가 등장한다.
무한한 시간 영역에서의 cost function는 다음과 같다.
\begin{align} V(x(0), u) = \frac{1}{2}\sum_{k=0}^{\infty}\left[ x(k)^T Q x(k) + u(k)^T R u(k)\right] \end{align}
위 문제에서 입력 시퀀스 \( u(k) \)에 의해 시스템 상태 \( x(k) \)는 무한히 진행한다.
이러한 Infinite Horizon 문제를 다룰 때, 안정성 (stability)과 같은 중요한 특성이 보장된다.
그러나 Infinite Horizon 문제또한 단점이 존재한다.
시스템 자체가 controllable 해야한다. 만약 \( B=0, A=I \)와 같은 시스템을 생각해보자. 이것은 controllable하지 않는다. stabilization을 확인하기 위해서, controllability, stabilizability observability detectability가 필요로 한다. 차후 다룰 예정
'제어 > mpc' 카테고리의 다른 글
[MPC책 공부 - 9] Moving Horizon Estimation (0) | 2025.03.20 |
---|---|
[MPC책 공부 - 7] LQR(Linear Quadratic Regulator)의 수렴 (0) | 2025.03.18 |
[MPC책 공부 - 5] Backward Dynamic Programming을 이용한 LQ 최적 제어(Riccati iteration) (0) | 2025.03.13 |
[MPC책 공부 - 4]LQ예제 문제 이차 함수의 합 (0) | 2025.03.13 |
[MPC책 공부 -3] LQ문제에서 Cost Function 유도 (0) | 2025.03.12 |