| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- LeggedRobot
- baekjoon problem solving
- baekjoon
- 전국 대학생 수학 경시대회
- MIT opencourse
- 실버 4
- 6.042j
- mit
- 최적제어
- BOJ
- std::sort
- 구현
- 다리로봇
- C++
- 자료구조
- lqr
- 백준
- 텔레스코픽로봇
- 논문리뷰
- 정렬
- mathematics for computer science
- HJB방정식
- 문자열
- 집합과 맵
- 로봇공학
- 큐
- 대수경
- 실버 5
- 수학
- 로보틱스
- Today
- Total
서두르지 말고 쉬지 말자
[로봇 제어 입문] 유한 구간 LQR 본문
1. Finite-Horizon LQR
유한 구간 문제(Finite horizon problem)의 cost-to-go function은 시간에 외존(time dependent)한다. 따라서 이 경우에는 HJB의 충분조건으로 $\frac{\partial J}{\partial t}$ 항이 추가된다.
$$\forall \mathbf{x}, \forall t \in [t_0, t_f], 0 = \min_{\mathbf{u}} \left[ \ell(\mathbf{x},\mathbf{u}) + \frac{\partial J^*}{\partial \mathbf{x}} f(\mathbf{x},\mathbf{u}) + \frac{\partial J^*}{\partial t} \right]$$
LTI state-space equation으로 표현할 수 있는 시스템이 있다고 하자.
$$\dot{\mathbf{x}} = \mathbf{A}\mathbf{x} + \mathbf{B}\mathbf{u}$$
유한구간 비용함수는 $J = h(\mathbf{x}(t_f)) + \int_0^{t_f} \ell(\mathbf{x}(t), \mathbf{u}(t))\, dt$이고
이때,
$$h(\mathbf{x}) = \mathbf{x}^T \mathbf{Q}_f \mathbf{x}, \quad \mathbf{Q}_f = \mathbf{Q}_f^T \succeq \mathbf{0}$$
$$\ell(\mathbf{x},\mathbf{u}) = \mathbf{x}^T \mathbf{Q} \mathbf{x} + \mathbf{u}^T \mathbf{R} \mathbf{u}, \quad \mathbf{Q} = \mathbf{Q}^T \succeq 0,\ \mathbf{R} = \mathbf{R}^T \succ 0$$
이다.
HJB는 다음과 같다.
$$0 = \min_{\mathbf{u}} \left[ \mathbf{x}^T \mathbf{Q} \mathbf{x} + \mathbf{u}^T \mathbf{R} \mathbf{u} + \frac{\partial J^*}{\partial \mathbf{x}} \left( \mathbf{A}\mathbf{x} + \mathbf{B}\mathbf{u} \right) + \frac{\partial J^*}{\partial t} \right].$$
$u$가 positive definite한 이차형식이므로 gradient가 0이라고 놓아서 비용함수의 최소지점을 찾을 수 있다.
$$\frac{\partial}{\partial \mathbf{u}} = 2\mathbf{u}^T \mathbf{R} + \frac{\partial J^*}{\partial \mathbf{x}} \mathbf{B} = 0$$
$$\mathbf{u}^* = \pi^*(\mathbf{x}, t) = -\frac{1}{2}\mathbf{R}^{-1}\mathbf{B}^T \frac{\partial J^*}{\partial \mathbf{x}}^T$$
이제 inifinte horizon에서 한 것처럼 cost-to-go function이 이차형식이라고 가정하자.
$$J^*(\mathbf{x}, t) = \mathbf{x}^T \mathbf{S}(t) \mathbf{x}, \quad \mathbf{S}(t) = \mathbf{S}^T(t) \succ \mathbf{0}$$
이때 우리는
$$\frac{\partial J^*}{\partial \mathbf{x}} = 2\mathbf{x}^T \mathbf{S}(t), \quad \frac{\partial J^*}{\partial t} = \mathbf{x}^T \dot{\mathbf{S}}(t) \mathbf{x}$$
을 알 수 있다.
대입하면,
$$\mathbf{u}^* = \pi^*(\mathbf{x},t) = -\mathbf{R}^{-1}\mathbf{B}^T\mathbf{S}(t)\mathbf{x}$$
$$0 = \mathbf{x}^T \left[ \mathbf{Q} - \mathbf{S}(t)\mathbf{B}\mathbf{R}^{-1}\mathbf{B}^T\mathbf{S}(t) + \mathbf{S}(t)\mathbf{A} + \mathbf{A}^T\mathbf{S}(t) + \dot{\mathbf{S}}(t) \right]\mathbf{x}$$
즉, ${\mathbf{S}}(t)$는 반드시 다음 조건을 만족해야 한다.
$$-\dot{\mathbf{S}}(t) = \mathbf{S}(t)\mathbf{A} + \mathbf{A}^T\mathbf{S}(t) - \mathbf{S}(t)\mathbf{B}\mathbf{R}^{-1}\mathbf{B}^T\mathbf{S}(t) + \mathbf{Q}$$
위 식을 우리는 continuous-time differential Riccati equation 이라고 하며, 종결조건은
$$\mathbf{S}(t_f) = \mathbf{Q}_f$$
이다.
최소화 정책(minimizing policy)으로 HJB를 만족시킬 수 있었다. 이는 HJB의 충분조건을 충족한 것이다. 따라서, 우리가 가정한 $J^*$가 최적 cost-to-go 함수이고, 이때 쓰인 정책이 최적 정책이다.
앞에서 한 Infinite-horizon LQR해는 differentail riccati equation의 정상상태(steady-state)해, 즉 $ \dot{\mathbf{S}}(t)=0$으로 정의되는 해와 일치한다. 실제로 안정화 가능한(stabilizable) 시스템에 대해서는 이 방정식이 (시간을 거꾸로 볼 때) 안정적이며, 유한 구간 해는 구간의 길이(horizon time)이 무한대로 갈수록 무한 구간해로 수렴한다.
differential Riccati equation을 만족하는 $S(t)$는 수치적분(numerical integration)으로 얻어진다. 다만, 약하게 안정화 가능한(weekly stabilizable) 시스템에서는 오차 제어 적분을 써도 대칭성(symmetry)이나 양의 정부호성(positive definiteness)이 깨지는 등의 치명적인 수치적 오류가 발생할 수 있다. 좀 더 견고한 수치 해법을 위하서는 그대로 $S$를 적분하는 대신 분해된 형태를 적분해서 대칭성이나 양의 정부호성이 유지되게 할 수 있다.
$S(t)=P(t)P^T(t)$로 놓고 $\mathbf{x}^T\mathbf{P}\dot{\mathbf{P}}^T\mathbf{x} = \mathbf{x}^T\dot{\mathbf{P}}\mathbf{P}^T\mathbf{x}$를 이용한 Riccati 미분방정식의 제곱근 형태(square-root form)을 다음처럼 쓸 수 있다.
$$-\dot{\mathbf{P}}(t) = \mathbf{A}^T\mathbf{P}(t) - \frac{1}{2}\mathbf{S}(t)\mathbf{B}\mathbf{R}^{-1}\mathbf{B}^T\mathbf{P}(t) + \frac{1}{2}\mathbf{Q}\mathbf{P}^{-T}(t), \quad \mathbf{P}(t_f) = \mathbf{Q}_f^{\frac{1}{2}}.$$
이 형태는 $\mathbf{P}(t)$가 가역(invertible)이어야 하며 $\mathbf{Q}_f \succ 0$를 요구한다.
2. Time-varying LQR
Finite-horizon LQR에서의 유도방법은 A와 B가 시간에 따라 변화해도 성립한다.
$$ \dot{x} =A(t)x+B(t)u$$
같은 맥락으로 cost function의 비용함수 $Q$와 $R$도 시변(time-varying)으로 둘 수 있다. 이는 시변 선형 시스템(time-varying linear systems)은 시간에 따라 어떻게 변하든 상관없이 폭넓게 성립하기 때문이다. 다만, $A$또는 $B$가 시간에 대해 불연속이라면, 미분방정식을 정확히 적분하기 위해 적절한 기법을 사용해야 할 수도 있다는 점만 예외다.
'제어' 카테고리의 다른 글
| [로봇 제어 입문] 비선형 시스템을 위한 국소적 궤적 안정화 (0) | 2026.07.16 |
|---|---|
| [로봇 제어 입문] LQR을 통한 비선형 시스템의 국소 안정화 (0) | 2026.07.13 |
| [로보틱스 제어 입문] ➀ LQR — HJB 방정식으로 Riccati 방정식 유도하기 (0) | 2026.07.08 |
