Quote:
Originally Posted by AustinSchuh
The equation to minimize is:
(B * U - (R(n+1) - A R(n)))^T * Q * (B * U - (R(n+1) - A R(n)))
|
This cost function is just the state error part of LQR, correct?
Quote:
Originally Posted by AustinSchuh
Code:
return numpy.linalg.inv(B.T * Q * B) * B.T * Q.T
|
I noticed that this solution ends up evaluating to the (pseudo)inverse of B when Q is a constant multiple of the identity matrix, which is the solution to R(n+1)=A*R(n)+B*u when u=Kff*(R(n+1)-A*R(n)). What is the reasoning behind using the LQR weighted solution instead of the simpler version?