# Systematic Analysis and Design of Control Systems Based on [PERSON]'s Direct Method
## 1 Introduction  
Stability is one of the most important properties of control systems. When designing a controller, the stability must be maintained in the case of a stable system and an unstable system must be stabilized via feedback.  
In the case of nonlinear systems, stability cannot always be decided based on linearization. In addition, a stability statement based on linearization is only locally valid at most. For global and semi-global stability statements, one typically employs [PERSON]'s second method [1, 2]. The difficulty of this approach is finding a suitable Lyapunov candidate function and proving the corresponding definiteness conditions. This proof is typically established through adept estimations, which, nonetheless, requires significant expertise.  
In its basic form, [PERSON]'s second method allows statements about the stability of equilibrium points of an autonomous system [3, 4, 5]. Input-state stability extended this approach to systems with inputs [6, 7, 8]. While the (classical) Lyapunov function allows statements about stability, a control Lyapunov function makes statements about stabilizability [9, 10].  
In applying [PERSON]'s direct method as well as its control generalizations, one is confronted, as mentioned above, with difficulties, namely, the choice of an appropriate candidate function and the proof of appropriate definiteness.  
Nevertheless, there are some methods with the help of which it is possible to determine Lyapunov functions under certain circumstances. Such methods are, for example, the Krasovskii method, the variable gradient method, or the choice of physically motivated Lyapunov candidates. For more detailed information and examples, the reader is referred to [3, 4]. A comprehensive introduction to passivity and its use for finding Lyapunov functions can be found in [11].  
Part of the difficulties associated with [PERSON]'s direct method can be circumvented by using vector Lyapunov functions [12; 13; 14]. In control engineering applications, cascaded or recursive design approaches, such as backstepping, have become established [11; 15]. Instead of analytical computations, numerical approximation methods [16] or neural networks in conjunction with machine learning can sometimes be used to determine control Lyapunov functions [17; 18].  
In recent years, two methods have been developed that systematically address the Lyapunov definiteness check. Hence, it could be shown that both sum-of-squares decomposition and quantifier elimination are suitable to find the appropriate Lyapunov functions. These results could then be extended to different problems, such as other stability properties [19], passivity [20], static output feedback [21; 22; 23], or determination of the region of attraction [24] and invariant sets [25; 26]. However, both methods are only suitable for systems with polynomial descriptions, so a large number of problems cannot be considered in the first step. To circumvent this circumstance, a polynomializing transformation can be introduced to significantly increase the class of systems that can be studied. In this paper, we want to recapitulate the results on stability and input-to-state stability, respectively, and show how control Lyapunov function approaches can be used to generate stable and input-to-state stable closed-loop systems.  
For that purpose, the paper is organized as follows: Section 2 outlines the mathematical methods used. Section 3 is devoted to stability analysis. The following Section 4 deals with control Lyapunov functions that can be directly applied to the design of stabilizing state feedback. The procedure for determining a Lyapunov function for the non-polynomial Furuta pendulum and that of a control Lyapunov function using a chemical process as an example is illustrated in Section 5. In Section 6, the results are summarized and discussed. In addition, we provide an outlook for possible follow-up research. Finally, we draw some conclusions in Section 7.