forked from harryzhangOG/Deep-RL-Notes
-
Notifications
You must be signed in to change notification settings - Fork 0
/
lqr.tex
23 lines (23 loc) · 1.01 KB
/
lqr.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
\begin{algorithm}[t!]
\caption{Solving for Linear Quadratic Regulator (LQR)}
\begin{algorithmic}[1]
\label{alg:lqr}
\STATE Backward Recursion
\FOR{$t = T$ to 1}
\STATE $Q_t = C_t + F_t^TV_{t+1}F_t$
\STATE $q_{t} = c_{t} + F^T_{t}V_Tf_{t} + F^T_{t}v_{t+1}$
\STATE $Q(x_{t}, u_{t}) = \text{const} +\frac{1}{2} \begin{bmatrix}x_{t}\\u_{t}\end{bmatrix}^TQ_{t}\begin{bmatrix}x_{t}\\u_{t}\end{bmatrix} + \begin{bmatrix}x_{t}\\u_{t}\end{bmatrix}^Tq_{t}$
\STATE $u_t\leftarrow \argminA_{u_t}Q(x_t,u_t) = K_tx_t + k_t$
\STATE $K_{t} = -Q^{-1}_{u_{t},u_{t}}Q_{u_{t},x_{t}}$
\STATE $k_{t} = -Q_{u_{t},u_{t}}q_{u_{t}}$
\STATE $V_t = Q_{x_t,x_t} + Q_{x_t,u_t}K_t + K^T_tQ_{u_t,x_t} + K_t^TQ_{u_t,u_t}K_t$
\STATE $v_t = q_{x_t} + Q_{x_t,u_t}k_t + K_t^TQ_{u_t} + K^T_tQ_{u_t,u_t}k_t$
\STATE $V(x_t) = \text{const} + \frac{1}{2}x_t^TV_tx_t + x_t^Tv_t$
\ENDFOR
\STATE Forward Recursion
\FOR{$t=1$ to T}
\STATE $u_t = K_tx_t + k_t$
\STATE $x_{t+1} = f(x_t,u_t)$
\ENDFOR
\end{algorithmic}
\end{algorithm}