서두르지 말고 쉬지 말자

[로보틱스 제어 입문] ➀ LQR — HJB 방정식으로 Riccati 방정식 유도하기 본문

제어

[로보틱스 제어 입문] ➀ LQR — HJB 방정식으로 Riccati 방정식 유도하기

philos 2026. 7. 8. 16:00

 연속 시스템에 대한 동적 계획법(dynamic programming) 문제를 푸는 것은 일반적으로 매우 어렵지만, 해가 매우 접근하기 쉬운 몇 가지 중요한 특수 사례들이 있다. 이러한 사례들 대부분은 선형 동역학(linear dynamics)과 볼록(convex) 비용(예: 양의 이차 비용)의 변형과 관련이 있다. 가장 간단한 사례는 선형 이차 조절기(linear quadratic regulator, LQR)라고 불리며, 이는 시불변(time-invariant) 선형 시스템을 원점으로 안정화시키는 문제로 정식화된다.

 

LQR은 최적 제어 문제의 한 종류다. 최적 제어는 시스템의 제약조건(동역학)을 지키면서 비용함수를 최소화하는 입력을 찾는 것이다.

쉬운 설명 :
로봇 같은 연속적인 시스템을 최적으로 제어하려고 할 때, 이론적으로는 동적계획법(HJB 방정식)을 풀면 되는데, 이게 일반적으로는 너무 어려워서 손으로 풀 수 없음. (numerical method 사용).

그런데 시스템이 선형이고, 비용함수가 볼록(대표적으로 이차함수)일 때는 쉽게 문제가 풀림.

이 조건들 중에서도 가장 기본적이고 단순한 형태가 LQR인데, 이건 'linear time-invariant system을, 원점(평형상태)으로 안정화시키는 문제'를 말함.

8.1. Basic Derivation

 Linear time-invariant system을 state-space form으로 나타내면 다음과 같고,

$$\dot{\mathbf{x}} = \mathbf{A}\mathbf{x} + \mathbf{B}\mathbf{u}$$

 이때 infinite-horizon cost function(무한 구간 비용함수)는 다음과 같다.

$$J = \int_0^{\infty} \left[ \mathbf{x}^T \mathbf{Q} \mathbf{x} + \mathbf{u}^T \mathbf{R} \mathbf{u} \right] dt, \quad \mathbf{Q} = \mathbf{Q}^T \succeq 0, \; \mathbf{R} = \mathbf{R}^T \succ 0.$$

 

 우리의 목표는 HJB(Hamilton-Jacobi-Bellman) 방정식을 만족하는 최적 cost-to-go 함수 $J^*(\mathbf{x})$를 찾는 것이다:

$$\forall \mathbf{x}, \quad 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}} (\mathbf{A}\mathbf{x} + \mathbf{B}\mathbf{u}) \right]$$

 여기서 중요한 단계가 하나 있다 — 이 문제에서는 최적(optimal) cost-to-go 함수가 이차형식(quadratic)이라는 것이 잘 알려져 있다. 이는 쉽게 확인할 수 있다. 다음과 같은 형태를 선택하자:

$$J^*(\mathbf{x}) = \mathbf{x}^T \mathbf{S} \mathbf{x}, \quad \mathbf{S} = \mathbf{S}^T \succeq 0$$

 

 이 함수의 gradient는

$$\frac{\partial J^*}{\partial x} = 2x^TS$$

이다.

 

 우리는 min 안에 있는 항들을 볼록한(convex) 이차함수로 설정했기 때문에 (R ≻ 0), 그 항들의 그래디언트(gradient)가 0이 되는 지점을 찾아서 최솟값을 구할 수 있다.

$$\frac{\partial}{\partial u} = 2u^TR + 2x^TSB = 0$$

 

 이걸로 우리는 optimal policy(최적 규칙)을 구할 수 있다.

$$u^* = \pi^*(x) = -R^{-1}B^TSx = -Kx$$

 

 u*을 다시 HJB에 대입하고 정리하면 다음이 나온다

$$0 = x^T\left[Q - SBR^{-1}B^TS + 2SA\right]x$$

 

 여기 있는 항들은 모두 대칭(symmetric)이지만 2SA는 그렇지 않다. 하지만 $x^TSAx = x^TA^TSx$이므로, 다음과 같이 쓸 수 있다:

$$0 = x^T\left[Q - SBR^{-1}B^TS + SA + A^TS\right]x$$

 

이 조건은 모든 x에 대해 성립해야 하므로 이렇게만 고려하면 된다

$$0 = SA + A^TS - SBR^{-1}B^TS + Q$$

이 방정식은 Algebraic Riccati Equation의 한 형태이고 매우 중요한 방정식이다.

 

 Algebraic Riccati Equation은 에 대해 2차식(quadratic)이라 solution을 구하는 것이 non-trivial(자명하지 않음)하다. 그래도 알려진 사실은, 이 방정식은 system이 stabilizable할 때, 그리고 오직 그때만(if and only if) 유일한 positive-definite solution을 갖는다.

 고차원 문제에서도 솔루션을 찾는 수치적 방법들이 존재한다. optimal policy 와 optimal cost-to-go function 둘 다 Drake(http://drake.mit.edu) 에서 다음 명령어로 찾을 수 있다. (K,S) = LinearQuadraticRegulator(A,B,Q,R).

 

 cost-to-go function이 quadratic form인 것이 의아할 수 있지만, linear system $\dot{x} = (A - BK)x$의 solution이 $x(t) = e^{(A-BK)t}x(0)$ 형태인 것을 참고해서, 이를 cost function의 적분식에 대입하고 정리해 보면 $J=x^T(0) S x(0)$ 형태인 것을 확인할 수 있다.

 

 최적 정책의 형태를 조금 더 자세히 들여다볼 가치가 있다. 가치함수(value function)가 cost-to-go, 즉 "여기서부터 끝까지 최적으로 갔을 때 남은 비용"을 나타낸다는 걸 떠올려보면, 최적 행동이란 결국 이 비용의 지형(landscape)을 가장 빠르게 내려가는 방향으로 움직이는 것과 같다.

 

 실제로 $-\mathbf{S}\mathbf{x}$는 가치함수의 가장 가파른 하강방향(steepest descent)이다. 상태공간 $\mathbf{x}$ 위에서 $J^*(\mathbf{x})=\mathbf{x}^T\mathbf{S}\mathbf{x}$라는 언덕을 그려봤을 때, 그 언덕이 가장 가파르게 낮아지는 방향이 바로 $-\mathbf{S}\mathbf{x}$라는 뜻이다.

 

 하지만 문제가 하나 있다. 상태공간에서 원하는 모든 방향으로 움직일 수 있는 게 아니라는 점이다. 우리가 실제로 조절할 수 있는 건 상태 $\mathbf{x}$가 아니라 입력 $\mathbf{u}$뿐이고, $\mathbf{u}$가 상태에 영향을 미치는 통로는 오직 $\dot{\mathbf{x}}=\mathbf{A}\mathbf{x}+\mathbf{B}\mathbf{u}$의 $\mathbf{B}$뿐이다. 그래서 $-\mathbf{B}^T\mathbf{S}\mathbf{x}$는 정확히, 이상적인 최급강하 방향을 우리가 실제로 도달 가능한 행동공간(action space)에 투영(projection)한 결과이며, 이것이 곧 제어입력 $\mathbf{u}$로 실제 달성 가능한 최급강하 방향이다.

 

 마지막으로, 여기에 행렬 $\mathbf{R}^{-1}$을 앞에 곱해주는 이유는, 서로 다른 제어입력들에 우리가 부여한 상대적 비용 가중치를 반영해서 하강 방향을 조정(bias)해주기 위함이다. 어떤 입력을 아끼고 싶은지(=그 입력의 $\mathbf{R}$ 값이 큰지)에 따라, 실제로 사용하는 방향과 크기가 미세하게 조정되는 것이다.

 

 이 해석 자체는 직관적이고 단순해 보이지만, 한 가지는 꼭 짚고 넘어가야 한다. 우리가 지금 내려가고 있는 그 "경사"($\mathbf{S}$로 표현되는 가치함수의 기울기)는 결코 눈앞의 즉흥적인 기울기가 아니라는 점이다. 이 경사는 HJB 방정식을 풀어서 얻어진 값으로, 장기적인 동역학과 비용까지 이미 전부 계산에 반영된 결과다. 즉 LQR의 최적 제어는 단순히 "지금 당장 손해를 줄이는" 근시안적(greedy) 선택이 아니라, 무한한 미래까지 내다본 뒤 그걸 압축해서 만들어낸 "가장 똑똑한 하강"이라고 할 수 있다.

 

출처 : Russ Tedrake, Underactuated Robotics, MIT, 2024. https://underactuated.csail.mit.edu

반응형