dlqr

safe_learning.utilities.dlqr(a, b, q, r)

Compute the discrete-time LQR controller.

The optimal control input is u = -k.dot(x).

Parameters:
a : np.array
b : np.array
q : np.array
r : np.array
Returns:
k : np.array

Controller matrix

p : np.array

Cost to go matrix