Streamlining of the state-dependent Riccati equation controller algorithm for an embedded implementation

In many practical control problems the dynamics of the plant to be controlled are nonlinear. However, in most cases the controller design is based on a linear approximation of the dynamics. One of the reasons for this is that, in general, nonlinear control design methods are difficult to apply to practical problems. The State Dependent Riccati Equation (SDRE) control approach is a relatively new practical approach to nonlinear control that has the simplicity of the classical Linear Quadratic control method. This approach has been recently applied to control experimental autonomous air vehicles with relative success. To make the SDRE approach practical in applications where the computational resources are limited and where the dynamic models are more complex it would be necessary to re-examine and streamline this control algorithm. The main objective of this work is to identify improvements that can be made to the implementation of the SDRE algorithm to improve its performance. This is accomplished by analyzing the structure of the algorithm and the underlying functions used to implement it. At the core of the SDRE algorithm is the solution, in real time, of an Algebraic Riccati Equation. The impact of the selection of a suitable algorithm to solve the Riccati Equation is analyzed. Three different algorithms were studied. Experimental results indicate that the Kleinman algorithm performs better than two other algorithms based on Newton’s method. This work also demonstrates that appropriately setting a maximum number of iterations for the Kleinman approach can improve the overall system performance without degrading accuracy significantly. Finally, a software implementation of the SDRE algorithm was developed and benchmarked to study the potential performance improvements of a hardware implementation. The test plant was an inverted pendulum simulation based on experimental hardware. Bottlenecks in the software implementation were identified and a possible hardware design to remove one such bottleneck was developed.

[1]  Stamatis Vassiliadis,et al.  Parallel Computer Architecture , 2000, Euro-Par.

[2]  Rob Williams,et al.  Real-Time Systems Development , 2005 .

[3]  B. Anderson,et al.  Optimal control: linear quadratic methods , 1990 .

[4]  A. Laub,et al.  Generalized eigenproblem algorithms and software for algebraic Riccati equations , 1984, Proceedings of the IEEE.

[5]  Stephen P. Boyd,et al.  Linear controller design: limits of performance , 1991 .

[6]  A. Laub A schur method for solving algebraic Riccati equations , 1978, 1978 IEEE Conference on Decision and Control including the 17th Symposium on Adaptive Processes.

[7]  Jr. N. Sandell On Newton's method for Riccati equation solution , 1974 .

[8]  S. I. Lyashko Generalized Optimal Control of Linear Systems with Distributed Parameters , 2002 .

[9]  Gene F. Franklin,et al.  Feedback Control of Dynamic Systems , 1986 .

[10]  Evrin Bilge Erdem Analysis and Real-Time Implementation of State -Dependent Riccati Equation Controlled Systems , 2001 .

[11]  D. Kleinman Stabilizing a discrete, constant, linear system with application to iterative methods for solving the Riccati equation , 1974 .

[12]  Introduction to Feedback , 1997 .

[13]  Sadaf R. Alam,et al.  Scientific Computing Beyond CPUs: FPGA implementations of common scientific kernels , 2005 .

[14]  Naim A. Kheir,et al.  Control system design , 2001, Autom..

[15]  J. R. Cloutier,et al.  The state-dependent nonlinear regulator with state constraints , 2001, Proceedings of the 2001 American Control Conference. (Cat. No.01CH37148).

[16]  Graham C. Goodwin,et al.  Control System Design , 2000 .

[17]  Peter Benner,et al.  An exact line search method for solving generalized continuous-time algebraic Riccati equations , 1998, IEEE Trans. Autom. Control..

[18]  Sabine Van Huffel,et al.  SLICOT—A Subroutine Library in Systems and Control Theory , 1999 .

[19]  D. Kleinman On an iterative technique for Riccati equation computations , 1968 .

[20]  JUDITH D. GARDINER,et al.  A Stabilized Matrix Sign Function Algorithm for Solving Algebraic Riccati Equations , 1997, SIAM J. Sci. Comput..

[21]  P. K. Menon,et al.  Real-time computational methods for SDRE nonlinear control of missiles , 2002, Proceedings of the 2002 American Control Conference (IEEE Cat. No.CH37301).

[22]  J. Cloutier State-dependent Riccati equation techniques: an overview , 1997, Proceedings of the 1997 American Control Conference (Cat. No.97CH36041).

[23]  Jie Yu,et al.  Comparison of nonlinear control design techniques on a model of the Caltech ducted fan , 2001, at - Automatisierungstechnik.

[24]  K. Dharmarajan,et al.  Parallel VLSI algorithm for stable inversion of dense matrices , 1989 .

[25]  David E. Cox,et al.  State-Dependent Riccati Equation Regulation of Systems with State and Control Nonlinearities , 2004 .

[26]  Tung-Sang Ng,et al.  A fast Newton/Smith algorithm for solving algebraic Riccati equations and its application in model order reduction , 2004, 2004 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[27]  Hitay Özbay,et al.  Introduction to Feedback Control Theory , 1999 .

[28]  Alan J. Laub,et al.  A collection of benchmark examples for the numerical solution of algebraic Riccati equations I: Continuous-time case , 1998 .

[29]  Guisheng Zhai,et al.  Nonlinear control design method based on state-dependent Riccati equation (SDRE) via quasi-Newton method , 2004, 2004 43rd IEEE Conference on Decision and Control (CDC) (IEEE Cat. No.04CH37601).

[30]  D. T. Stansbery,et al.  State-dependent Riccati equation solution of the toy nonlinear optimal control problem , 1998, Proceedings of the 1998 American Control Conference. ACC (IEEE Cat. No.98CH36207).

[31]  John Hunt,et al.  State-Dependent Riccati Equation Control of a Small Unmanned Helicopter , 2003 .

[32]  Kelly D. Hammett,et al.  Controllability Issues in Nonlinear State-Dependent Riccati Equation Control , 1998 .