Claims
- 1. A method for controlling a multivariable system including the steps of:
a) Receiving a plurality of sensor signals indicating current conditions of the system, which are sampled; b) Receiving a plurality of commands; c) Determining a desired dynamic response of the system based upon the commands and the sensor signals; d) in each of a plurality of time steps, formulating a problem of controlling the system to achieve the desired dynamic response as a solution to a quadratic programming problem; e) solving the quadratic programming problem in each time step using an iterative algorithm which searches for an optimal active set; f) in each subsequent time step of the plurality of time steps, initializing a search for the best active set with a final active set of a prior time step of the plurality of time steps.
- 2. The method of claim 1 wherein the active set comprises a set of constraints that are binding at an optimized solution.
- 3. The method of claim 2 wherein said step e) further includes the procedure of dropping at least one constraint with a negative Lagrange multipliers.
- 4. The method of claim 3 wherein said step e) further includes the procedure of dropping all constraint with negative Lagrange multipliers.
- 5. The method of claim 1 further including the step of using a QR factorization to improve robustness in the event of degeneracy.
- 6. The method of claim 1 where a total number of iterations of the iterative algorithm is fixed in order to be time predictable.
- 7. The method of claim 1 further including the step of formulating the quadratic program at every iteration in a manner so that the next iterate is an improvement on a previous iterate.
- 8. The method of claim 1 further including the step of:
precomputing a Cholesky factorization of H; and using the precomputed Cholesky factorization of H in a plurality of iterations of the iterative algorithm of step e).
- 9. The method of claim 1 furthering including determining the Cholesky factorization via a QR factorization of a generalized square root matrix of H.
- 10. A multivariable control system comprising:
A plurality of sensors indicating current conditions of the system; A plurality of effectors for changing dynamics of the system in response to effector commands; A dynamic feed forward module determining a desired dynamic response; A dynamic model follower comparing desired and actual system responses to adjust an output change command as needed; A dynamic inversion module determining the effector commands in order to change the system output based upon the determination by the dynamic feed forward and dynamic model follower modules by formulating a problem of controlling the system to achieve the desired dynamic response as a solution to a quadratic programming problem in each of a plurality of time steps; and A quadratic programming module finding an optimized solution to the quadratic programming problem in each time step using an iterative algorithm which searches for an optimal active set, the quadratic programming module initializing a search for the best active set in each subsequent time step with a final active set of a prior time step.
- 11. The system of claim 10 wherein the quadratic programming module guesses the active set based upon Lagrange multipliers of a subset of the constraints.
- 12. The system of claim 11 wherein the quadratic programming module drops all constraints with negative Lagrange multipliers.
- 13. The system of claim 10 wherein the active set comprises a set of constraints that are binding at an optimized solution.
- 14. A computer readable medium storing a computer program, which when executed by a computer performs the steps of:
a) Receiving a plurality of sensor signals indicating current conditions of the system, which are sampled; b) Receiving a plurality of commands; c) Determining a desired dynamic response of the system based upon the commands and the sensor signals; d) in each of a plurality of time steps, formulating a problem of controlling the system to achieve the desired dynamic response as a solution to a quadratic programming problem; e) solving the quadratic programming problem in each time step using an iterative algorithm which searches for an optimal active set; f) in each subsequent time step of the plurality of time steps, initializing a search for the best active set with a final active set of a prior time step of the plurality of time steps.
- 15. The computer readable medium of claim 14 wherein the active set comprises a set of constraints that are binding at the optimized solution.
- 16. The computer readable medium of claim 15 wherein said step f) further includes the step of guessing the active set based upon Lagrange multipliers of a subset of the constraints.
- 17. The computer readable medium of claim 16 wherein said step f) further includes the step of dropping all constraints with negative Lagrange multipliers.
Government Interests
[0001] This invention was conceived in performance of work under U.S. Government Contract N00421-01-2-0131.