[go: up one dir, main page]

Academia.eduAcademia.edu

Basic Nonlinear Control Methods

Chapter 2 Basic Nonlinear Control Methods Overview This chapter gives a survey of the basic nonlinear control methods. First, the main classes of nonlinear systems are summarized, then some examples are presented how to find the dynamic model of simple systems and an overview of the stability methods is given. It is followed by an introduction to the concepts of some often used nonlinear control methods like input/output linearization, flatness control, backstepping and receding horizon control. 2.1 Nonlinear System Classes At the interface of a nonlinear system Σ , we can observe input and output signals. We can denote the input signal by u(·) and its value at time moment t by u(t). Similarly, y(·) is the output signal and y(t) is its value at time moment t. We can assume that the signals are elements of functions spaces which are usually linear spaces having an appropriate norm and some topological properties (convergence of Cauchy sequences of functions, existence of scalar product etc.). The chosen function space (Banach space, Hilbert space etc.) may depend on the control problem to be solved. The state x of the nonlinear dynamic system is an abstract information which represents the entire past signals of the system observed at the interface, that is, x(τ ) = x represents in abstract form all the signals u(σ ), y(σ ), ∀σ ≤ τ . The system can be characterized by the state transition function x(t) = φ(t, τ, x, u(·)) and the output mapping y(t) = g(t, x(t), u(t)) where t is the actual time, τ and x are the initial time and initial state respectively, and for causal systems u(·) denotes the input signal between τ and t. Specifically, for linear systems the transients can be written as x(t) = Φ(t, τ )x + Θ(t, τ )u(·) and y(t) = C(t)x(t) + D(t)u(t). The state transition for linear systems can be thought as the superposition of the initial state transient and the result of the input excitation. B. Lantos, L. Márton, Nonlinear Control of Vehicles and Robots, Advances in Industrial Control, DOI 10.1007/978-1-84996-122-6_2, © Springer-Verlag London Limited 2011 11 12 2 Basic Nonlinear Control Methods Fig. 2.1 Block scheme of the nonlinear system 2.1.1 State Equation of Nonlinear Systems If the state transition function satisfies some continuity conditions, then the state is the solution of the nonlinear state differential equation with appropriately chosen f (t, x, u) and the system is called continuous time smooth nonlinear system: ẋ = f (t, x, u), (2.1) y = g(t, x, u), where “dot” denote time derivative and we used short forms in notation instead of ẋ(t) = f (t, x(t), u(t)) and y(t) = g(t, x(t), u(t)). We shall consider dominantly smooth systems in the book therefore “smooth” will be omitted and the system is called continuous time nonlinear time variant system (NLTV). If f does not depend explicitly on t, that is, f (x, y), the nonlinear system is time invariant (NLTI). We shell usually assume that x ∈ R n , u ∈ R m , y ∈ R p . The block scheme of the nonlinear system is shown in Fig. 2.1. Linear systems are special cases of nonlinear ones. Continuous time linear time varying (LTV) systems have linear state differential equation: ẋ = A(t)x + B(t)u, y = C(t)x + D(t)u, (2.2) The solution of the state equation for LTV system can be expressed by the fundamental matrix Φ(t, τ ) which is the solution of the matrix differential equation Φ̇(t, τ ) = A(t)Φ(t, τ ), Φ(τ, τ ) = I. (2.3) The fundamental matrix has some important properties: Φ(t, τ )Φ(τ, θ ) = Φ(t, θ ), Φ(t, τ )Φ(τ, t) = I, dΦ(t, τ ) = −Φ(t, τ )A(τ ). dτ (2.4) Based on these properties, the solution of the state differential equation for linear systems can be expressed by the fundamental matrix:  t x(t) = Φ(t, τ )x + Φ(t, θ )B(θ )u(θ ) dθ. (2.5) τ The block scheme of the LTV system is shown in Fig. 2.2. 2.1 Nonlinear System Classes 13 Fig. 2.2 Block scheme of the LTV system Fig. 2.3 Mathematical scheme for solving nonlinear state equation For continuous time linear time invariant (LTI) systems, A, B, C, D are constant matrices and the fundamental matrix is the exponential matrix Φ(t, τ ) = eA(t−τ ) , moreover the initial time can be chosen τ = 0 because the system is time invariant. The LTI system has transfer function G(s). The solution of the state (“differential” will be omitted) equation and the transfer function are  t eA(t−θ) Bu(θ ) dθ, (2.6) x(t) = eAt x + 0 G(s) = C(sI − A)−1 B + D, (2.7) where (sI − A)−1 is the Laplace-transform of eAt . The state equation of nonlinear systems can usually be solved only numerically hence we show some numerical methods to find the approximate solution. Here, we assume that the control u(t) := u0 (t) is known therefore ẋ(t) = f (t, x(t), u0 (t)) =: f ⋆ (t, x(t)), and for simplicity we omit “star” in the notation. Assume x(tn ) is known and we want to determine x(tn + h), see Fig. 2.3. Euler method:   x(tn + h) ≈ x(tn ) + hx ′ (tn ) = x(tn ) + hf tn , x(tn ) . Second order Taylor series: h2 x(tn + h) ≈ x(tn ) + hx ′ (tn ) + x ′′ (tn ) 2   = x(tn ) + hf tn , x(tn ) (2.8) 14 2 + Basic Nonlinear Control Methods      h2  ′  fx tn , x(tn ) · f tn , x(tn ) + ft′ tn , x(tn ) . 2 (2.9) Unfortunately, higher order Taylor series are hard to determine hence Runge and Kutta developed such methods which differ from the n-th order Taylor series only in o(hn ). Now we show two of such methods. Second order Runge–Kutta method:     x(tn + h) ≈ x(tn ) + h a1 f tn , x(tn ) + a2 f tn + αh, x(tn )   + βf tn , x(tn ) , (2.10) where the unknowns are a1 , a2 , α, β. In order to guarantee o(h2 ) (small ordo) precision a1 = 1 − a2 , α = 2a12 , β = 2ah2 should be satisfied. For the remaining parameter, two methods are wide-spread: Heun’s trapezoidal algorithm: a2 = 21 . Modified Euler–Cauchy algorithm: a2 = 1. Fourth order Runge–Kutta method: The essence of the method is that the change of the function x(t) will be estimated from the values of the derivatives determined at four points of the function (once at the left end of the interval, twice in the middle and once at right end), and take the average of them with weights assuring o(h4 ) approximation at the right end point of the interval:   k1 = hf tn , x(tn ) ,   1 h k2 = hf tn + , x(tn ) + k1 , 2 2   1 h (2.11) k3 = hf tn + , x(tn ) + k2 , 2 2   k4 = hf tn + h, x(tn ) + k3 , 1 x(tn + h) ≈ x(tn ) + (k1 + 2k2 + 2k3 + k4 ). 6 The computation is usually performed with variable step size. The goal is to find the solution as quick as possible while guaranteeing the necessary precision for which simple step change strategies are available. Multistep methods: Other type of methods assume equidistant step size and try to find exact solution for polynomial form x(t). The solution is assumed in the form k k xn+1 = i=0 ai xn−i + bi hf (tn−i , xn−i ). i=−1 (2.12) 2.1 Nonlinear System Classes 15 Performing the normalization of the running time . . . , tn−1 , tn , tn+1 to normalized time . . . , −1, 0, 1 the following conditions appear: k k 1= i=0 ai (−i)j + bi j (−i)j −1 , i=−1 j ∈ [1, m], (2.13) k 1= ai . i=0 The accuracy can be influenced by m and k. Wide-spread methods are: • Adams–Bashforth method: k = m − 1, a1 = · · · = ak = 0, b−1 = 0. • Adams–Moulton method: k = m − 2, a1 = · · · = ak = 0, b−1 = 0. • Predictor–corrector method: The first Adams–Bashforth (predictor) step determines the estimation xn+1 because now b−1 = 0 and thus xn+1 does not appear on the right side of the equation system. After this, the last xn+1 can cyclically be applied on the right side of the Adams–Moulton (corrector) steps gradually improving the approximation. 2.1.2 Holonomic and Nonholonomic Systems Nonlinear systems have often to satisfy constraints that restrict the motion of the system by limiting the paths which the system can follow. For simplicity, we assume that the configuration space Q is an open subset of R n with coordinates q = (q1 , . . . , qn )T . More general configuration spaces can be handled by an appropriate choice of local coordinates. A simple example is the case of two particles attached by a massless rod. The configuration of each particle is described by a point ri ∈ R 3 , but all trajectories of the particles have to satisfy r1 − r2 2 = L2 , where L is the length of the rod. The constraints act through the application of constraint forces modifying the motion of the system such that the constraints are always satisfied. The constraint is an example of a holonomic constraint. In the sequel, we shall define holonomic and nonholonomic constraints according to Murray and Li, and Sastry, see [103]. Then we investigate how the motion equation can be simplified by using coordinate transformation. 2.1.2.1 Holonomic Constraints More generally, a constraint is called holonomic if it restricts the motion of the system to a smooth hypersurface in the unconstrained configuration space Q. Holo- 16 2 Basic Nonlinear Control Methods nomic constraints can be represented locally by algebraic constraints on the configuration space: hi (q) = 0, i = 1, . . . , k. (2.14) We shall assume that the constraints are linearly independent, that is, the matrix ∂h ∂q has full row rank. Since holonomic constraints define a smooth hypersurface in the configuration space, it is possible to eliminate the constraints by choosing a set of coordinates for this surface. These new coordinates parametrize all allowable motions of the system and are not subject to any further constraints. The constraint forces are linear combinations of the gradients of the constraint functions hi : Q → R. Let h : Q → R k represent the vector valued constraint function then the constraint forces can be written as Fc = ∂h ∂q T λ, (2.15) where λ ∈ R k is called Lagrange multiplier vector measuring the relative magnitudes of the constraint forces. No work is done if the system is moved along feasible trajectories since FcT q̇ = λT  ∂h d q̇ = λT h(q) = 0. ∂q dt A fundamentally more general constraint occurs in some robotics and mechanical applications (multifingered grasping, rolling disk etc.) where the constraint has the form AT (q)q̇ = 0. (2.16) Such constraint is called Pfaffian constraint. Notice that AT (q) is k × n and q̇ appears linearly in the constraint equations. This linearity gives chance to eliminate the constraints using a nonlinear coordinate transformation based on the fundamental results of differential geometry summarized in Appendix B. On the other hand, we shall consider mechanical systems and will also refer to the results in Appendix A, especially we shall use the Lagrange equation describing the dynamic model. Since Pfaffian constraints restrict the allowable velocity of the system but not necessarily the configurations, we cannot always represent it as an algebraic constraint on the configuration space. The Pfaffian constraint is called integrable if there exists a vector valued function h : Q → R k such that AT (q)q̇ = 0 ⇐⇒ ∂h q̇ = 0. ∂q (2.17) Thus, an integrable Pfaffian constraint is equivalent to a holonomic constraint. No∂h , but only that they define the same subspace tice that we do not require that AT = ∂q of the allowable velocities at every q ∈ Q. 2.1 Nonlinear System Classes 17 2.1.2.2 Nonholonomic Constraints Pfaffian constraint that is not integrable is an example of nonholonomic constraint. For such constraints, the instantaneous velocities of the system are constrained to an n − k dimensional subspace, but the set of reachable configurations is not restricted to some n − k dimensional hypersurface in the configuration space. Since not all Pfaffian constraints are integrable, hence the motion equations have to be extended to this case. It is still possible to speak about constraint forces. Such forces are generated by the Pfaffian constraints to insure that the system does not move in the directions given by the rows of the constraint matrix AT (q). The constraint forces at q ∈ Q are defined by Fc = A(q)λ, where the Lagrange multiplier λ ∈ R k is the vector of relative magnitudes of the constraint forces. If the constraints are integrable, then ∂h T this is identical to the holonomic case since A(q) and [ ∂q ] have the same range space. The constraint forces for Pfaffian constraints prevent motion of the system in directions which would violate the constraints. In order to include these forces in the dynamics, we have to add an additional assumption, namely forces generated by the constraints do no work on the system. This assumption is often referred as d’Alambert principle. By using the Lagrangian L(q, q̇) for the unconstrained system and assuming the constraints in the form AT (q)q̇ = 0 the equation of motion can be written in the form d ∂L ∂L − = A(q)λ + F, (2.18) dt ∂ q̇ ∂q where F represents the nonconservative and externally applied forces. For systems having Lagrangian L(q, q̇) = 12 q̇ T M(q)q̇ − P (q) (kinetic energy minus potential energy), the motion equations can be written as M(q)q̈ + C(q, q̇)q̇ + n(q, q̇) = A(q)λ + F, where n(q, q̇) denotes nonconservative and potential forces and F is the external force. Differentiating the constraint equation yields AT (q)q̈ + ȦT (q)q̇ = 0. (2.19) By solving the motion equation for q̈ and substituting it into the differentiated constraint equation, we obtain: q̈ = M −1 (Aλ + F − C q̇ − n), AT M −1 Aλ = AT M −1 (C q̇ + n − F ) − ȦT q̇, −1  T −1   A M (C q̇ + n − F ) − ȦT q̇ , λ = AT M −1 A where we suppressed the dependence on q and q̇. (2.20) 18 2 Basic Nonlinear Control Methods 2.1.2.3 Lagrange–d’Alambert Equations It is useful to derive the equations without solving for the instantaneous constraint forces present in the system. It means that we project the motion of the system onto the feasible directions by ignoring the forces in the constrained directions. The resulting dynamics is in a form well suited for closed-loop control. At a given configuration q the directions at which the system is allowed to move is given by the null space of AT (q). We adopt the classical notation of virtual displacement δq ∈ R n which satisfies AT (q)δq = 0. If F is a generalized force applied to the system, then we call δW = F · δq the virtual work due to F acting along a virtual displacement δq, where “dot” denotes scalar product. D’Alambert’s principle states that the constraint forces do no virtual work, hence   (2.21) A(q)λ · δq = 0 for AT (q)q̇ = 0. Notice that δq is not the same as q̇. The generalized velocity q̇ satisfies both the velocity constraints and the motion equations, while the virtual displacement only satisfies the constraints. In order to eliminate the constraint forces from the motion equations, we can project the motion onto the linear subspace generated by the null space of AT (q). Since (Aλ) · δq = 0, we obtain the so called Lagrange–d’Alambert equations:   d ∂L ∂L − − F · δq = 0, (2.22) dt ∂ q̇ ∂q AT (q)δq = 0. (2.23) Specifically, if q = (q1T , q2T )T and AT (q) = [AT1 (q) AT2 (q)], where AT2 (q) is square and invertible, then we can use the constraint q̇2 = −(AT2 )−1 AT1 q̇1 to eliminate q̇2 and q̈2 from the motion equations. The method is illustrated in the following example. 2.1.2.4 Dynamics of Rolling Disk Consider a disk rolling on the horizontal plane such that the disk plane remains orthogonal to the horizontal plane during motion. The configuration of the disk is given by the position (x, y) of the contact point, the heading angle θ , and the orientation of the disk with respect to the vertical, φ. We use the notation q = (x, y, θ, φ)T . Let R denote the radius of the disk. We assume as input the driving torque on the wheel, τθ , and the steering torque about the vertical axis, τφ . Let m be the mass of the disk, I1 its inertia about the horizontal (rolling) axis, and I2 its inertia about the vertical axis. We assume that the disk rolls without slipping hence the following velocity constraints have to be satisfied: ẋ − R φ̇Cθ = 0, ẏ − R φ̇Sθ = 0 ⇐⇒ AT (q)q̇ = 1 0 0 1 0 −RCθ q̇ = 0. 0 −RSθ 2.1 Nonlinear System Classes 19 These constraints assume that the disk rolls in the direction in which it is heading. It is evident that the constraints are everywhere linearly independent. The unconstrained Lagrangian is the kinetic energy associated with the disk:  1 1 1  L(q, q̇) = m ẋ 2 + ẏ 2 + I1 θ̇ 2 + I2 φ̇ 2 . 2 2 2 Denote δq = (δx, δy, δθ, δφ)T the virtual displacement of the system. The Lagrange–d’Alambert equations are given by ⎡ ⎤⎞ ⎛⎡ ⎤ m 0 0 0 0 ⎢ 0 ⎥⎟ ⎜⎢ 0 m 0 0 ⎥ 1 0 0 −RCθ ⎢ ⎥⎟ ⎜⎢ ⎥ ⎝⎣ 0 0 I1 0 ⎦ q̈ − ⎣ τθ ⎦⎠ · δq = 0, where 0 1 0 −RSθ δq = 0. 0 0 0 I2 τφ From the constraints, we can solve for δx and δy: δx = RCθ δφ, The scalar product can be written as  0 0 I ẍ + 1 0 mRCθ mRSθ ÿ δy = RSθ δφ. 0 I2 τ θ̈ − θ τφ φ̈  · δθ = 0, δφ and since δθ and δφ are free, we obtain the motion equation 0 mRCθ 0 mRSθ I ẍ + 1 0 ÿ 0 I2 τ θ̈ = θ . τφ φ̈ Differentiating the constraints, we obtain ẍ = RCθ φ̈ − RSθ θ̇ φ̇, ÿ = RSθ φ̈ + RCθ θ̇ φ̇, and substituting the results into the motion equation we obtain the system dynamics as follows: I1 0 0 I2 + mR 2 τ θ̈ = θ . τφ φ̈ Note that in this simple example the system of equations does not depend on x and y, but in general it is not valid. The motion of the x- and y-position of the contact point can be obtained from the first order differential equations ẋ = RCθ φ̇, ẏ = RSθ φ̇, which follow from the constraints. Thus, given the trajectory of θ and φ, we can determine the trajectory of the disk rolling on the horizontal plane. Dividing the motion equations into a set of second-order differential equations in a reduced set of variables plus a set of first-order differential equations representing the constraints is typical for many nonholonomic systems. 20 2 Basic Nonlinear Control Methods 2.1.2.5 Holonomic Property Related to Frobenius Theorem Consider the nonlinear system satisfying constraints in which beside the generalized coordinate q ∈ R n appears also its derivative q̇ ∈ R n : AT (q)q̇ = 0, rank AT (q) = k < n. (2.24) Assume that AT (q) is k × n and denote its null (kernel) space ker AT (q) at q0 . Let us define the function (q0 ) := ker AT (q0 ) which maps q0 into a linear subspace ker AT (q0 ), hence it is a distribution. If this distribution is involutive, that is, it ∂f ∂g is closed for Lie bracket defined by [f, g] = ∂q f − ∂q g for vector fields f (q), g(q) then, based on Frobenius theorem, we may find local coordinates q̄ = (q̄1 , . . . , q̄n )T such that (2.24) can be written as q̄˙ n−k+1 = · · · = q̄˙ n = 0 ⇔ q̄n−k+1 = cn−k+1 , . . . , q̄n = cn (2.25) for appropriately chosen constants cn−k+1 , . . . , cn determined by the initial conditions and thus we can eliminate the coordinates q̄n−k+1 , . . . , q̄n . Therefore, we call the constraints (2.24) holonomic if the distribution  is involutive, otherwise the constraints are nonholonomic. Notice that the application of Frobenius theorem needs to solve a set of partial differential equations which is a hard problem. Hence, we seek for other methods simplifying the motion equation in the presence of constraints. 2.1.2.6 Motion Equation in Hamiltonian Form The equation of motion for the constrained mechanical system can be assumed in Lagrange form     d ∂L ∂L − = A(q)λ, AT (q)q̇ = 0, (2.26) dt ∂ q̇ ∂q where A(q)λ describes the constrained forces, λ ∈ R k are the Lagrange multipliers. For simplicity of notation, the generalized external force was neglected. The Lagrangian L(q, q̇) is defined by L = K − P where K is the kinetic energy and P is the potential energy. The kinetic energy is the quadratic form K = 12 M(q)q̇, q̇. Here, M(q) is the generalized inertia matrix. We can assume that no simplifications were applied hence M(q) is positive definite and hence det ∂ 2L ∂ q̇i ∂ q̇j = 0. (2.27) In order to eliminate the Lagrange multipliers and find the state equation of the mechanical system, the Legendre transformation p := ∂L ∂ q̇ = M(q)q̇ and the Hamil- 2.1 Nonlinear System Classes 21 tonian H = K + P = 2K − L will be applied. Because of K = tonian can be written as n H (q, p) = i=1 pi qi − L(q, q̇), pi = ∂L , ∂ q̇i 1 2 p, q̇, the Hamil- i = 1, . . . , n. (2.28) It follows from the new form of the kinetic energy and the positive definiteness of M(q) that p is an independent system, hence the motion equation of the constrained mechanical system can be written in the Hamiltonian form q̇ = ∂H (q, p) , ∂p ṗ = − ∂H (q, p) + A(q)λ, ∂q ∂H (q, p) A (q) = 0. ∂p (2.29) T The constraint forces A(q)λ can be determined by differentiating the constraint equation by the time and expressing λ, that is, ∂AT (q) ∂H (q, p) ∂q ∂p + AT (q) T ∂H (q, p) ∂p ∂H (q, p) ∂ 2 H (q, p) + A(q)λ = 0. − 2 ∂q ∂p (2.30) Notice that here a matrix AT is differentiated by a vector q therefore it is a problem how to implement it. Fortunately not the derivative has to be determined but the derivative multiplied by a vector ∂H ∂p which is easier to obtain. Let us consider the following mathematical problem. Let A be any matrix of type m × n and the vector x have dimension n. Then A can be assumed as  A = i,j aij Eij where the only nonzero element of the matrix Eij is in the intersection of the i-th row and the j -th column. Hence, differentiating by aij and applying the result for the vector x we obtain Eij x which is a column vector with the only nonzero element in the i-th row which is xj . Repeating the process for all the elements of A we obtain ∂A ∂x x which is an m × (mn) type matrix each column containing the above result for one element of A. T Now we can apply this result for the matrix AT and the vector ∂H ∂p . Since rank A is k, hence it follows from (2.27) and (2.28) det AT (q) ∂ 2 H (q, p) A(q) = 0, ∂p 2 (2.31) thus λ can be expressed from (2.30) and put into (2.29) which results in the motion equation of the constrained (holonomic or nonholonomic) system. 22 2 Basic Nonlinear Control Methods 2.1.2.7 Coordinate Transformation of Constrained Motion Equations Here we try to eliminate the constraint equations without the solution of partial differential equations. The idea is to introduce a coordinate transformation p̃ = T (q)p and partition p̃ as p̃ = (p̃ 1T p̃ 2T )T where p̃ 2 = 0 suits to the constraints. Notice that this is only possible if the constraints are holonomic, otherwise we obtain the motion equation in the variables q and the new p̃ and the constraints are not eliminated. Of course the goal is to eliminate the constraints and assure p̃ 2 = 0. By the assumptions AT (q) has type k × n and rank AT (q) = k thus there exists a matrix S(q) of type n × (n − k) satisfying AT (q)S(q) = 0 and having rank S(q) = n − k. Hence, we are able to define the coordinate transformation according to   AT (q)S(q) = 0 ⇒ S(q) = S 1 (q) . . . S n−k (q) , (2.32) S T (q) , p̃ = T (q)p AT (q)   H̃ (q, p̃) = H q, T −1 (q)p̃ . T (q) = ⇔ p = T −1 (q)p̃, (2.33) (2.34) In order to find the transformed motion equations, we have to determine the derivatives of H̃ and the relations to the derivatives of H . During this process, we can apply the rule about the derivative of any inverse matrix A−1 by a scalar −1 −1 variable a: ∂A∂a = −A−1 ∂A ∂a A . Denote ei the i-th standard unit vector and T T a, b = a b = b a = b, a the scalar product of a and b, respectively. Then   −1 p̃j ej , H̃ (q, p̃) = H q, T (q) j     ∂H (q, p) −1 ∂ H̃ (q, p̃) ∂H (q, p) , T (q)ei = T −T (q) , ei , = ∂ p̃i ∂p ∂p ∂ H̃ (q, p̃) ∂H (q, p) ∂H (q, p) ∂ H̃ (q, p̃) = T −T (q) ⇔ = T T (q) , (2.35) ∂ p̃ ∂p ∂p ∂ p̃   ∂ H̃ (q, p̃) ∂H (q, p) ∂T (q) −1 ∂H (q, p) , −T −1 (q) = + T (q)p̃ , ∂qi ∂qi ∂p ∂qi   ∂ H̃ (q, p̃) ∂H (q, p) ∂H (q, p) ∂T (q) −T , = − T (q) p , ∂qi ∂qi ∂p ∂qi   ∂H (q, p) ∂ H̃ (q, p̃) ∂ H̃ (q, p̃) ∂T (q) , (2.36) = + p . ∂qi ∂qi ∂ p̃ ∂qi p̃ 2 Let us consider now the time derivative of p̃. Since p̃ = T (q)p, p̃ 1 = S T (q)p, = AT (q)p, therefore   dT (q) ∂H (q, p) p̃˙ = p + T (q) − + A(q)λ . (2.37) dt ∂q 2.1 Nonlinear System Classes 23 Since S T (q)A(q) = 0, thus the constraint forces AT (q)A(q)λ appear only in p̃˙ 2 . For simplicity of the next derivations, we suppress writing down the variables q, p. First, using (2.33) and (2.37), it follows dS iT ∂H p̃˙ i1 = p − S iT . dt ∂q (2.38) Second, if the constraints are satisfied then, using (2.35) and (2.38), it yields ∂H ∂ H̃ ∂ H̃ ∂ H̃ = AT [S A] = AT A 2 ⇔ = 0, (2.39) ∂p ∂ p̃ ∂ p̃ ∂ p̃ 2    ∂ H̃ dS iT ∂S i  1 ∂S i ∂H S (q) . . . S n−k (q) p = p, , (2.40) = pT dt ∂q ∂p ∂q ∂ p̃ 1   ∂ H̃ ∂T ∂S ∂A ∂ H̃ ∂S ∂ H̃ , = pT p = pT . (2.41) ∂ p̃ ∂ql ∂ql ∂ql ∂ p̃ ∂ql ∂ p̃ 1 0 = AT q̇ = AT Third, using (2.36) the second term in (2.38) can be determined: S iT S iT ∂H = ∂q ∂H = ∂q Sli l l ∂H = ∂ql ∂ H̃ Sli ∂ql Sli l +p T l   ∂ H̃ ∂S ∂ H̃ , + pT ∂ql ∂ql ∂ p̃ 1   ∂S 1 ∂S n−k i ∂ H̃ Sl ... . ∂ql ∂ql ∂ p̃ 1 (2.42)  ∂S 1 1 i It is easy to show that, for example, l ∂qll Sli = ∂S ∂q S which together with the appropriate term from (2.40) and (2.38) results in the Lie bracket with negative sign   1  i 1 ∂S i ∂S i 1 S − S − S ,S = − ∂q ∂q (2.43) and in the state equations of p̃i1 , i = 1, . . . , n − k,   ∂ H̃ ∂ H̃  T  i 1  + −p S , S · · · − p T S i , S n−k . p̃˙ i1 = −S iT ∂q ∂ p̃ 1 (2.44) Using similar steps the state equations of p̃i2 , i = 1, . . . , k can be obtained:   ∂ H̃ ∂ H̃  T  i 1  + −p A , S · · · − p T Ai , S n−k p̃˙ i2 = −AiT ∂q ∂ p̃ 1 + AiT (q)A(q)λ. (2.45) 24 2 Basic Nonlinear Control Methods Introducing the notation ⎞ ⎛ 0 S ⎛ ⎞ T 1 1 T 1 n−k ⎜ −p [S , S ] ··· −p [S , S ] ⎟ ⎟ ⎜ ⎟⎟ ⎜ −S T ⎜ .. .. .. ⎝ ⎠ ⎟ ⎜ . . . ⎟ ⎜ T n−k 1 T n−k n−k ⎜ , S ] · · · −p [S ,S ] ⎟ −p [S ⎟ ⎜ ˜ J (q, p̃) = ⎜ ⎟ ⎟ ⎜ ⎛ ⎞ T 1 1 T 1 n−k ⎟ ⎜ −p [A , S ] · · · −p [A , S ] ⎟ ⎜ ⎜ ⎜ ⎟ ⎟ .. .. .. ⎠ ⎝−AT ⎝ ⎠ . . . T k 1 T k n−k −p [A , S ] · · · −p [A , S ] the dynamic model will be ⎛ ⎞ ⎛ ⎛ ⎞ ⎞ ∂ H̃ (q,p̃) q̇ 0 ∂q ⎜ ⎟ ⎝ ⎜ ˙ 1⎟ ⎠, 0 ⎠+ ⎝p̃ ⎠ = J˜(q, p̃) ⎝ ∂ H̃ (q,p̃) T (q)A(q)λ 2 A ˙ p̃ ∂ p̃ 1 As can be seen, although ∂ H̃ (q,p̃) ∂ p̃ 2 ∂ H̃ (q, p̃) = 0. ∂ p̃ 2 (2.46) (2.47) = 0, that is, H̃ does not depend on p̃ 2 , there is no guarantee that by using the above transformation the derivative of p̃ 2 is zero and the constraint equation can be omitted. The reason is that, denoting by J˜r (q, p̃ 1 ) the upper part of J˜(q, p̃), ⎞ ⎛ 0 S ⎞ ⎛ −p T [S 1 , S 1 ] ··· −p T [S 1 , S n−k ] ⎟   ⎜ ⎟ ⎜ J˜r q, p̃ 1 := ⎜ T ⎜ ⎟⎟ , (2.48) . . .. .. .. ⎠⎠ ⎝ ⎝−S . −p T [S n−k , S 1 ] · · · −p T [S n−k , S n−k ] a bracket { , }r can be defined for scalar valued functions Fr , Gr mapping (q, p̃ 1 ) in R 1 by  ∂G r    ∂F T ∂F T  ∂q 1 1 r r ˜ {Fr , Gr }r q, p̃ := (q, p̃ ) J . (2.49) r 1 ∂G ∂q ∂ p̃ r ∂ p̃ 1 This bracket is skew-symmetric, satisfies the Leibniz rule, but usually does not satisfy the Jacobi identity. Is also the Jacobi identity satisfied then the bracket { , }r is a so called Poisson bracket, in which case the derivative of p̃ 2 is zero and the constraint equations can be omitted, see [128]. 2.1.3 Differentially Flat Systems In Appendix B, we have shown that under special conditions, perhaps locally, the nonlinear system can be linearized using static or dynamic feedback and then it can 2.1 Nonlinear System Classes 25 be further compensated by using well known linear control methods. However, it remains a serious problem to obtain the symbolic solution of a system of partial differential equations (Frobenius equations) for which no general and efficient methods are available. All these offer reason for seeking special solutions in which range the flatness control is a possible approach. The idea of differentially flat systems arose at the 90th years based on the works of David Hilbert and Elie Cartan at the beginning of the 20th century. We shall discuss differentially flat systems using the results of [39]. Fundamentals of differential geometry and novel results in flatness control can be found in [1] and [80], respectively. First, the idea of dynamic system will be extended to infinite dimensional manifolds which can be obtained from conventional systems through prolongation of vector fields. For infinite dimensional system, the so called Lie–Bäcklund transformation will be defined which is equivalent to an endogenous dynamic feedback and state transformation performed on an appropriate finite dimensional system. Based on this result, the class of differentially flat systems will be defined in such a way that the systems belonging to it can be converted to the trivial series of integrators by the help of the Lie–Bäcklund transformation. First of all, we start with a new interpretation of the vector field. In Appendix B, the idea of the manifold X ∈ R n , its tangent space T X and the Lie derivative Lf h of smooth scalar valued function to a vector field f have already been  h relative ∂h defined. Considering Lf h = ni=1 fi ∂x allow us to identify the vector field f by i n f = (f1 , . . . , fn )T ∼ fi i=1 ∂ ∂xi (2.50) which can be assumed the componentwise or differential operator expression of the vector field f . This interpretation can easily be generalized for infinite dimension. 2.1.3.1 Prolongation of Vector Fields, the Cartan Fields Let us consider the system given by the differential equation ẋ = f (x, u) (2.51) where x is a point of an n dimensional manifold M, u ∈ R m and f is C (∞) vector field on M which can be described by the local coordinates ∂x∂ i (i = 1, 2, . . . , n) in  the form f = ni=1 fi ∂x∂ i . It is assumed u(t) ∈ C (∞) . Let us introduce the infinite dimensional vector  T ξ(t) = [ξ1 ξ2 ξ3 · · · ]T = x(t)T u(t)T u̇(t)T · · · m = M̄, that is, ξ is a point of an infinite for which ξ ∈ M × R m × R m × · · · = M × R∞ m = M̄ derived from f dimensional manifold. Let f¯ be a vector field over M × R∞ 26 2 Basic Nonlinear Control Methods by using ⎡ ⎤ f (ξ1 , ξ2 ) ⎢ ξ3 ⎥ ⎥ ⎢ ξ̇ = f¯(ξ ) = ⎢ ξ4 ⎥ . ⎦ ⎣ .. . (2.52) Notice that, despite of the infinite dimensional vector field, every row depends only on a finite number of elements of ξ . The vector field f¯ can be written in local coordinates n f¯ = fi i=1 ∂ + ∂xi m ∂ (j +1) ui (j ) (2.53) ∂ui j ≥0 i=1 which will be called a Cartan field. It follows from the construction of the vector field f¯ that if a path t → (x(t), u(t)) is a solution of (2.51) then the path t → (x(t), u(t), u̇(t), ü(t), . . .) is a solution of (2.52). In what follows, we shall understand under control system the ordered pair (M̄, f¯) where M̄ is an infinite dimensional manifold and f¯ is a Cartan field of the form (2.53) over M̄. Now consider the linear dynamic system consisting of the series of integrators: (κ ) xr1 1 = u1 (κ ) xr2 2 = u2 .. . r1 = 1; ri = ri−1 + κi−1 ; i κi = n. (κ ) xrmm = um In the above form, ri denotes the dimension, κi is the order (number of integrators). The infinite dimensional vector field in local coordinates belonging to this system can be written in the form m f¯triv = (j +1) xi j ≥0 i=1 ∂ (j ) . (2.54) ∂xi This vector field will be called the trivial vector field. Notice that there is a one-toone relation between the integral curves t → (x(t), u(t)) of the trivial system and the properly regular (differentiable) time functions t → (xr1 (t), . . . , xrm (t)). 2.1.3.2 Lie–Bäcklund Transformation Consider the control systems (M̄, f¯) and (N̄ , ḡ) derived from the differential m equations ẋ = f (x, u) and ẏ = g(y, v) (dim u = dim v) where M̄ = M × R∞ 2.1 Nonlinear System Classes 27 m (dim N = l), that is, the traditional dimension num(dim M = n) and N̄ = N × R∞ ber of the two systems are different, while the number of inputs is the same. Furthermore consider an invertible C (∞) mapping which defines a coordinate transformation between M̄ and N̄ : ξ = Φ(ζ ), ξ ∈ M̄ and ζ ∈ N̄ . Denote Ψ the inverse coordinate transformation which is also C (∞) and let ζ = Ψ (ξ ). Only such coordinate transformations will be considered for which each of their components depends only on a finite number of coordinates, similarly to the prolonged vector fields. Thus ζ1 = ψ1 (ξ̄1 ), ζ2 = ψ2 (ξ̄2 ), . . . , ζi = ψi (ξ̄i ), . . . where ξ̄i = (ξi,1 , . . . , ξi,ri ) and ri are finite. Now consider an integral curve t → ξ(t) of the vector field f¯. Its image over the manifold N̄ is t → ζ (t) = Ψ (ξ(t)). Denote Ψ∗ f¯ that vector field over the manifold N̄ whose integral curve is t → ζ (t) = Ψ (ξ(t)). Differentiating the curve Ψ (ξ(t)) by the time yields  ∂Ψ d  Ψ ξ(t) = · f¯(ξ ) = Lf¯ Ψ (ξ ), dt ∂ξ but since Ψ∗ f¯ : N̄ → T N̄ thus     ∂ + Ψ∗ f¯ = Lf¯ Ψ ◦ Φ = Lf¯ ψ1 ◦ Φ ∂y j ≥0   ∂ Lf¯ ψj +1 ◦ Φ (j ) . ∂v (2.55) Notice that in the above expression all terms are finite since the transformation and each element of the vector field depend on finite number of coordinates. For transformation Ψ of general form, it is not satisfied that the resulting vector field (2.55) is a Cartan field, that is, (2.55) can be derived from a “traditional” form dynamic system over N̄ . To this it has to be required that the prolongation is a series of integrators, that is, dv (j ) = LΨ∗ f¯ v (j ) = v (j +1) = ψj +2 ◦ Φ, dt from which using (2.55) follows   ∂v (j ) LΨ∗ f¯ v (j ) = Lf¯ ψ1 ◦ φ + ∂y k≥0    ∂v (j )  Lf¯ ψk+1 ◦ Φ (k) = Lf¯ ψj +1 ◦ Φ. ∂v Comparing the right sides of the last two equations, we obtain that Ψ∗ f¯ is a Cartan field over N̄ , if and only if, Lf¯ ψj +1 = ψj +2 is guaranteed for every positive j . Coordinate transformations mapping integral curves of Cartan fields into integral curves of Cartan fields will be called Lie–Bäcklund transformations. The control systems (M̄, f¯) and (N̄ , ḡ) are called Lie–Bäcklund equivalent if there exists an invertible and C (∞) coordinate transformation Ψ : M̄ → N̄ , each element of which is function of only a finite number of coordinates and Ψ∗ f¯ = ḡ. The Lie–Bäcklund transformation saves the number of inputs and the equilibrium points. Consequently it follows that any two linear controllable systems of equal number of inputs are Lie–Bäcklund equivalent. 28 2 Basic Nonlinear Control Methods 2.1.3.3 Endogenous State Feedback The state feedback is dynamic if it has own state: ż = β(x, z, v), (2.56) u = α(x, z, v). We shall deal only with such feedback where the number of inputs of the original and fed-back system does not change, that is, dim u = dim v. Using (2.56) for the original system (2.51), the differential equation of the closed loop will be   ẋ = f x, α(x, z, v) , (2.57) ż = β(x, z, v). The dynamic feedback does not necessarily save the controllability properties. An example for this is the common use of state observer and state feedback for linear systems where the closed loop system obtained by using dynamic feedback because the states of the feedback are the state variables x̂ of the observer. The system obtained so is not state controllable since the observer was designed to assure exponential decaying the estimation error according to the differential equation (ẋ − ˙ = F (x − x̂) (where F is stable and quick), hence there is no input making the x̂) behavior of x̂ independent of x. In order to eliminate such phenomenon, we restrict the investigations to so-called endogenous dynamic feedback defined as follows. Let be given a system (M̄, f¯). The feedback given in the form (2.56) is called endogenous dynamic feedback if the prolongation of the closed loop system given by (2.57) is Lie–Bäcklund equivalent to the system (M̄, f¯). Theorem 2.1 Existence condition for endogenous state feedback. Consider the systems (M̄, f¯) and (N̄ , ḡ). If they are Lie–Bäcklund equivalent, then there exist an endogenous state feedback of type (2.56) and a traditional coordinate transformation (diffeomorphism) which transfer the system ẋ = f (x, u) into the system prolonged with finite number of integrators: ẏ = g(y, w), w (r+1) = v. 2.1.3.4 Flat Output Variable The system (M̄, f¯) is differentially flat if it is Lie–Bäcklund equivalent to the trivial system given by the vector field m f¯triv = (j +1) yi j ≥0 i=1 ∂ (j ) ∂yi . (2.58) 2.1 Nonlinear System Classes 29 The variables of the vector y (their number is equal to the number of inputs of (M̄, f¯)) will be called the flat outputs. Corollary Differentially flat systems can be linearized by dynamic state feedback and a coordinate transformation since (2.58) is arisen from a linear system prolonged with a series of integrators. According to this property, y is often called the linearizing output. Theorem 2.2 Differentially flat system can be characterized by the flat output variable. Consider the differentially flat system (M̄, f¯) arisen from the prolongation of the system ẋ = f (x, u). Denote Ψ the Lie–Bäcklund transformation which transfers (M̄, f¯) into a trivial system and denote Φ the inverse transformation. It follows from the definition of differential flatness that there is a finite q such that   x = φ1 y, ẏ, ÿ, . . . , y (q) ,   u = φ2 y, ẏ, ÿ, . . . , y (q+1) , (2.59) and x and u identically satisfy the equation ẋ = f (x, u) describing the system. Furthermore, there is a finite p yielding   y = ψ1 x, u, u̇, . . . , u(p) . (2.60) According to (2.59) and (2.60), the path of x and u can be determined from y and its derivatives and there is a one-to-one correspondence between the integral curves t → (x(t), u(t)) satisfying ẋ = f (x, u) and the properly regular time functions t → y(t). It means that in case of differentially flat systems there exists a set of variables inside of which the differential constraints defining the system disappear. The system (2.51) is differentially flat around a point ⇔ it is possible to find an output variable y, dim y = dim u = m, which smoothly depends around that point on x, u, and a finite number of derivatives of u, such that the resulting square system is left and right input–output invertible with trivial zero dynamics [39]. Corollary In order to admit the differential flatness property, it is “enough” to find the output y and the functions φ1 , φ2 and ψ1 appearing in (2.59) and (2.60). 2.1.3.5 Path Design for Differentially Flat Systems Beside the linearizability (which not always can be exploited because many times not all the components of the state vector can be measured), differential flatness can play important role for path design. Namely, the path design can be performed in the space of the variables of y. Then the path of the state and the inputs can simply be determined using the time derivatives according to (2.59), without the integration 30 2 Basic Nonlinear Control Methods of the differential equations. Hence, during path design it is sufficient to choose a properly regular path satisfying the goals of the control in the space of the variables of y using simple interpolation techniques (Lagrange polynomials etc.). 2.1.3.6 Application Possibilities for Different System Classes Recently, there are strong necessary and sufficient conditions to decide whether the system is differentially flat or not (see, for example, [80, Theorem 6.7]), however the steps to be performed are too complicated for general nonlinear systems. Exceptions are SISO nonlinear systems for which necessary and sufficient conditions are available [56] and the linearizing feedback remains static (if it exists). There are also necessary and sufficient conditions for some kind of driftless systems [90]. For people dealing with robotics, it has been known for a long time that open chain, rigid and in all degrees of freedom actuated mechanical systems can be linearized using static nonlinear feedback (called nonlinear decoupling in robotics) which, as mentioned above, is equivalent to the differential flatness property. On the other hand, there exist also differentially flat mechanical systems that are underactuated or nonholonomic. A counter example is the inverted pendulum which is not differentially flat. 2.2 Dynamic Model of Simple Systems Some simple examples will be shown for finding the dynamic model of simple mechanical systems using physical laws. We try to apply as simple knowledge as possible in the discussions. For example, the kinetic energy and the potential energy of a mass point are K = 21 mv 2 and P = mgh, respectively, where g is the gravity acceleration and h is the hight of the mass point over the horizontal plane. Similarly, the kinetic energy of a mass point rotating around an axis is K = 12 Θω2 where ω is the angular velocity, Θ = ml 2 is the inertia moment to the rotation axis and l is the length of the massless rod containing the mass point at its end. For a bit more complicated case of a single rigid body, we can apply the results in Appendix A. For example, for a rigid body having velocity vc , angular velocity ω and inertia matrix Ic belonging to the center of mass the kinetic energy is K = 21 vc , vc m + 21 Ic ω, ω. However, this result was also derived from the above relations because the rigid body is the limit of infinite many point masses. From the physical laws, we shall apply the Lagrange equations, see also Appendix A. 2.2.1 Dynamic Model of Inverted Pendulum Consider a pendulum mounted on a moving car (see Fig. 2.4). 2.2 Dynamic Model of Simple Systems 31 Fig. 2.4 The model of the inverted pendulum Let L be the length of the rod mounted on the car and M the mass of the rod then the inertial moment of the rod belonging to the center of mass: ! M l 3 !!L M 3 ML2 M Θ= dl = 2L = . = l dm = l 2L 3 !−L 6L 3 −L −L 2L  L 2  L 2 (2.61) The generalized coordinates are x and ϕ. The coordinates of the center of mass of the rod are xM and yM , its velocity is vM . For simplicity, let us introduce the usual notations in robotics: Sϕ = sin(ϕ), Cϕ = cos(ϕ). Then xM = x + LSϕ yM = LCϕ ⇒ ⇒ ẋM = ẋ + ϕ̇LCϕ , ẏM = −ϕ̇LSϕ , 2 2 2 vM = ẋM + ẏM = ẋ 2 + 2LCϕ ẋ ϕ̇ + L2 Cϕ2 ϕ̇ 2 + L2 Sϕ2 ϕ̇ 2 (2.62) = ẋ 2 + 2LCϕ ẋ ϕ̇ + L2 ϕ̇ 2 . The kinetic energy K and the potential energy P are respectively, 1 K = mẋ 2 + 2 1 = mẋ 2 + 2 P = MgLCϕ . 1 1 2 MvM + Θ ϕ̇ 2 2 2   1 1 M ẋ 2 + 2LCϕ ẋ ϕ̇ + L2 ϕ̇ 2 + Θ ϕ̇ 2 , 2 2 (2.63) 32 2 Basic Nonlinear Control Methods The derivatives, needed to Lagrange equations, are as follows: ∂K ∂ ẋ ∂K ∂x ∂P ∂x ∂K ∂ ϕ̇ = mẋ + M ẋ + MLCϕ ϕ̇, = 0, = 0, (2.64) = MLCϕ ẋ + ML2 ϕ̇ + Θ ϕ̇, ∂K = −MLSϕ ẋ ϕ̇, ∂ϕ ∂P = −MgLSϕ , ∂ϕ d dt d dt ∂K = (m + M)ẍ + MLCϕ ϕ̈ − MLSϕ ϕ̇ 2 , ∂ ẋ   ∂K = MLCϕ ẍ − MLSϕ ẋ ϕ̇ + Θ + ML2 ϕ̈. ∂ ϕ̇ (2.65) If the car is pulled with force F , then the Lagrange equations yield: d ∂K ∂K ∂P − + dt ∂ ẋ ∂x ∂x =F (m + M)ẍ + MLCϕ ϕ̈ − MLSϕ ϕ̇ 2 = F, ⇒ (2.66) d ∂K ∂K ∂P − + dt ∂ ϕ̇ ∂ϕ ∂ϕ =0 ⇒   MLCϕ ẍ + Θ + ML2 ϕ̈ − MgLSϕ = 0. (2.67) From here, it can be obtained firstly ẍ = F − MLCϕ ϕ̈ + MLSϕ ϕ̇ 2 , m+M then after some algebraical manipulations F − MLCϕ ϕ̈ + MLSϕ ϕ̇ 2 4 + ML2 ϕ̈ − MgLSϕ = 0, m+M 3   2 MCϕ Cϕ MLSϕ Cϕ ϕ̇ 2 4 ϕ̈ = gSϕ − L − F− , 3 m+M m+M m+M MLCϕ (2.68) 2.2 Dynamic Model of Simple Systems 33 Fig. 2.5 Simplified model of a car active suspension and finally ϕ̈ = gSϕ − Cϕ m+M (F L( 43 − + MLSϕ ϕ̇ 2 ) MCϕ2 m+M ) . (2.69) The state vector is (x, ẋ, ϕ, ϕ̇)T and the input signal is F . The two output signals are x and ϕ. The system is underactuated because there are two output signals and only one input signal. 2.2.2 Car Active Suspension Model Let us consider a vehicle (car, bus etc.) divided into 4 parts in case of 4 wheels, each part is a composite mechanical spring-damper system consisting of the quarter part of the mass of the body (together with the passengers) and the mass of the wheel. The vertical positions are described by upward directed x1 and x2 , see Fig. 2.5. The distance between the road surface and the wheel’s contact point is the disturbance w varying together with the road surface. The connections between the different parts are flexible modeled by viscous friction and spring constant. The suspension is active which means that the actuator produces the force F (control signal). A good suspension system should have satisfactory road holding stability, while providing good traveling comfort when riding over bumps and holes in the road. When the car is experiencing any road disturbance, it should not have large oscillations and the oscillations should dissipate quickly. 34 2 Basic Nonlinear Control Methods Denote m1 and m2 the mass of the (quarter) body and the wheel respectively, while the flexible connections are described by the viscous damping factors (b1 , b2 ) and the spring constants (k1 , k2 ). The motion equations, using also the actionreaction (d’Alambert) principle, are as follows: m1 ẍ1 = F − b1 (ẋ1 − ẋ2 ) − k1 (x1 − x2 ), m2 ẍ2 = −F + b1 (ẋ1 − ẋ2 ) + k1 (x1 − x2 ) − b2 (ẋ2 − ẇ) − k2 (x2 − w). As usual, the second derivatives will be expressed: ẍ1 = − b1 k1 1 (ẋ1 − ẋ2 ) − (x1 − x2 ) + F, m1 m1 m1 b1 k1 b2 k2 1 (ẋ1 − ẋ2 ) + (x1 − x2 ) − (ẋ2 − ẇ) − (x2 − w) − F, m2 m2 m2 m2 m2 y1 := x1 − x2 , ẍ2 = ẍ1 = − ẍ2 = b1 k1 1 ẏ1 − y1 + F, m1 m1 m1 k1 b2 k2 1 b1 ẏ1 + y1 − (ẋ2 − ẇ) − (x2 − w) − F, m2 m2 m2 m2 m2 ÿ1 = ẍ1 − ẍ2     b1 b2 k1 k2 ẏ1 − y1 =− + + m1 m2 m1 m2   k2 1 1 b2 F. (ẋ2 − ẇ) + (x2 − w) + + + m2 m2 m1 m2 In order to eliminate ẇ, the equation of ÿ1 will be integrated:   b1 b2 b2 ẏ1 = − y1 + + (x2 − w) m1 m2 m2   #   "  k1 k2 k2 1 1 − y1 + F dt . + + (x2 − w) + + m1 m2 m2 m1 m2 $ %& ' y2 Denote y2 the integral and let us differentiate it:     k1 k2 k1 1 1 ẏ2 = − y1 + F. + (x2 − w) + + m1 m2 m2 m1 m2 Perform the substitution x2 = x1 − y1 :     k2 k2 k1 k2 1 1 k1 y1 + F− ẏ2 = x1 − + + + w, m2 m1 m2 m2 m1 m2 m2 2.2 Dynamic Model of Simple Systems 35   b1 b2 b2 b2 b2 x1 − + + w, y1 + y2 − m2 m1 m2 m2 m2 # "   k1 b1 b1 b2 b2 1 − y1 + ẍ1 = − + (x1 − y1 − w) + y2 − y1 + F m1 m1 m2 m2 m1 m1  # "  k1 b1 b 2 b1 b1 b2 1 b1 b2 b1 b1 − y1 − = x1 + + + y2 + F+ w. m1 m2 m1 m1 m2 m2 m1 m1 m1 m1 m2 ẏ1 = State equation: x̄˙ = Ax̄ + Bu, y = C x̄, u = (F, w)T , x̄ := (x1 , ẋ1 , y1 , ẏ1 ) , ⎡ 0 1 0 ⎢− b1 b2 0 b1 ( b1 + b1 + b2 ) − ⎢ m1 m2 m1 m1 m2 m2 A=⎢ b1 b1 ⎢ b2 0 −( m1 + m2 + mb22 ) ⎣ m2 k2 m2 T 0 ⎡ −( mk11 + ⎤ k1 m2 + k1 m1 k2 m2 ) 0 0 ⎢ b1 b2 ⎥ 1 ⎢ m1 m1 m2 ⎥ ⎥, B =⎢ ⎢ 0 − mb22 ⎥ ⎣ ⎦ k2 1 1 ( m1 + m2 ) − m2   C= 0 0 1 0 . y = x1 − x2 = y1 , ⎤ 0 − mb11 ⎥ ⎥ ⎥, 1 ⎥ ⎦ 0 Some typical values for a bus in SI units: m1 = 2500, b1 = 350, m2 = 320, b2 = 15020, k1 = 80000, k2 = 500000. Typical requirements in case of bus: In order to assure the traveling comfort, settling time shorter than 10 s and overshoot less that 5% is usually necessary. For example, when the bus runs onto a 10 cm high step the body will oscillate within a range of ±5 mm (i.e., ±0.005 m) and should return to smooth ride within 5 s. 2.2.3 The Model of the 2 DOF Robot Arm Consider the two degree of freedom robot arm moving in the vertical plane, see the block scheme in Fig. 2.6. The generalized coordinates are q = (q1 , q2 )T := (ϕ1 , ϕ2 )T and the generalized forces are the driving torques τ := (τ1 , τ2 )T . The position vectors pointing from 36 2 Basic Nonlinear Control Methods Fig. 2.6 The model of a 2 DOF robot moving in vertical plane the origin of the fixed frame (coordinate system) K0 into the origins of the moving frames K1 and K2 are respectively, p01 = (l1 C1 , l1 S1 , 0)T , p02 = (l1 C1 + l2 C12 , l1 S1 + l2 S12 , 0)T , (2.70) where the notations C1 := cos(q1 ), . . . , S12 = sin(q1 + q2 ) are used. The velocities in the basis of the fixed frame K0 can be obtained by formal differentiation of the position vectors: ⎡ ⎤ −l1 S1 0 v1 = ⎣ l1 C1 ⎦ q̇1 , 0 ⎡ −l1 S1 − l2 S12 0 v2 = ⎣ l1 C1 + l2 C12 0 ⎤ −l2 S12   q̇1 l2 C12 ⎦ . q̇2 0 (2.71) The inertia matrix is constant in the frame of the moving body but is nonconstant in the fixed frame, hence we transform the velocities into the basis of the moving 2.2 Dynamic Model of Simple Systems 37 frame: ⎡ ⎤ ⎤ c0 C1 S 1 0 v1 := 1 v1 = ⎣−S1 C1 0⎦ 0 v1 = ⎣ l1 ⎦ q̇1 , 0 0 0 1 ⎡ ⎡ ⎤ C12 S12 0 l1 S 2 v2 := 2 v2 = ⎣−S12 C12 0⎦ 0 v2 = ⎣l1 C2 + l2 0 0 1 0 ⎡ ⎤ 0   q̇1 l2 ⎦ . q̇2 0 (2.72) If each moving frame will be parallelly transferred to the origin of the center of mass, then the velocity (vc ) and the inertia matrix belonging to the center of mass have to be used in the motion equation. In the block scheme, I1 and I2 are already the right lower elements of the inertia matrices Ic1 and Ic2 , respectively. The velocities vc1 , vc2 can be immediately written down using simple geometrical considerations: ⎡ 0 ⎤ vc1 = ⎣lc1 ⎦ q̇1 , 0 ⎡ ⎤ l1 S 2 0   q̇1 . vc2 = ⎣l1 C2 + lc2 lc2 ⎦ q̇2 0 0 (2.73) From the geometrical image, the angular velocities are simply ω1 = (0, 0, q̇1 )T , ω2 = (0, 0, q̇1 + q̇2 )T , which can also be written in matrix-vector form: ⎡ ⎤ 0 ω1 = ⎣0⎦ q̇1 , 1 ⎤ ⎡ 0 0   q̇1 . ω2 = ⎣0 0⎦ q̇2 1 1 (2.74) Hence, the kinetic and potential energy of the robot arm are respectively, 1 1 vc1 , vc1 m1 + I1 ω1 , ω1  2 2 1 1 + vc2 , vc2 m2 + I2 ω2 , ω2 , 2 2 P = m1 glc1 S1 + m2 g(l1 S1 + lc2 S12 ). K= (2.75) 38 2 Basic Nonlinear Control Methods After simple algebraic manipulations, the kinetic energy can be formulated in the quadratic form K= ) 1 1( H (q)q̇, q̇ = 2 2 Dj k q̇j q̇k , j k where D11 (q) D12 (q) D12 (q) , D22 (q)   2 2 D11 = m1 lc1 + m2 l12 + lc2 + 2l1 lc2 C2 + I1 + I2 , H (q) = (2.76) D12 = m2 (l1 C2 + lc2 )lc2 + I2 , 2 D22 = m2 lc2 + I2 . The dynamic model of the robot arm can be found using the Lagrange equations. Performing the differentiations and introducing the notations D112 (q) = −m2 l1 lc2 S2 , D1 (q) = ∂P = m1 glc1 C1 + m2 g(l1 C1 + lc2 C12 ), ∂q1 D2 (q) = ∂P = m2 glc2 C12 , ∂q2 (2.77) we obtain the following dynamic model of the two degree of freedom robot arm:   D11 (q)q̈1 + D12 (q)q̈2 + D112 (q) 2q̇1 q̇2 + q̇22 + D1 (q) = τ1 , D12 (q)q̈1 + D22 (q)q̈2 − D112 (q)q̇12 + D2 (q) = τ2 . (2.78) The state vector may be x := (q1 , q2 , q̇1 , q̇2 )T , the control signal (the input of the model) is u = (τ1 , τ2 )T . Since, from physical considerations, the matrix H (q) is positive definite, thus invertible, therefore q̈1 and q̈2 can be expressed from (2.77) and (2.78). Hence, the state equation can be written in the input affine form ẋ = f (x) + G(x)u. (2.79) 2.3 Stability of Nonlinear Systems The stability of nonlinear systems will be discussed in state space, in signal spaces and in the class of dissipative systems. The discussion is based on the classical work of Lyapunov [86] and more recent results of LaSalle and Lefschetz [77], Vidyasagar [152], Khalil [62] and van der Schaft [127]. 2.3 Stability of Nonlinear Systems 39 Fig. 2.7 Illustration of Lyapunov stability definition 2.3.1 Stability Definitions Let the state equation of the time varying nonlinear system be ẋ = f (t, x, u), y = g(t, x, u). (2.80) Assuming u(t) = 0 or u(t) = u0 (t) known input signal, the nonlinear system can be brought on the form ẋ = f (t, x). In what follows we shall assume f ∈ (0,1) Ct,x ([a, ∞) × Dx ), that is, f is continuous in t and differentiable in x, furthermore a ∈ R 1 and Dx ⊂ R n is open, for example a = 0 and Dx = R n . Although different stability definitions exist for nonlinear systems, the most widespread is the Lyapunov stability definition. Lyapunov stability Let ξ(t) be the solution of the differential equation ẋ = f (t, x). We say that the solution ξ(t) is stable in Lyapunov sense, if for every t0 ∈ [a, ∞) and for every ε > 0 there exists δ(ε, t0 ) > 0 such that if x(t0 ) − ξ(t0 ) < δ(ε, t0 ) and x(t) is the solution then x(t) − ξ(t) < ε for every t ∈ [t0 , ∞). The definition can also be illustrated so that small perturbing the initial condition everywhere with respect to ξ(t) and starting the system from the perturbed initial condition the new solution remains in the neighborhood of ξ(t). A clear interpretation is shown in Fig. 2.7. The solution ξ(t) may be an equilibrium point of the system, a limit cycle (periodical solution) or any other solution of the state equation (for example during chaos investigations). 40 2 Basic Nonlinear Control Methods The following terminology is usual: (i) The solution ξ(t) of the system is unstable if ξ(t) is not stable. (ii) The solution ξ(t) of the system is uniformly stable if ξ(t) is stable in Lyapunov sense and δ(ε, t0 ) = δ(ε) does not depend on t0 . (iii) The solution ξ(t) of the system is asymptotically stable if ξ(t) is stable in Lyapunov sense and for every t0 ∈ [a, ∞) there exists δ1 (t0 ) > 0 such that if x(t0 ) − ξ(t0 ) < δ1 (t0 ) and x(t) is the solution then limt→∞ x(t) − ξ(t) = 0. The definition of (for the practice particularly important) asymptotic stability means that small perturbing everywhere with respect to ξ(t) and starting the system from the perturbed initial condition then the new solution remains in the neighborhood of ξ(t) and actually approaches ξ(t) if t → ∞. We shall show that the stability investigation can be reduced to the stability investigation of ξ ≡ 0 (equilibrium point) of a modified system satisfying a special condition. Namely, let us introduce the notation x̃(t) := x(t) − ξ(t), that is, x(t) = ξ(t) + x̃(t), then       d x̃(t) dx(t) dξ(t) = − = f t, ξ(t) + x̃(t) − f t, ξ(t) =: f˜ t, x̃(t) , dt dt dt which means that the new form of the stability problem   d x̃(t) = f˜ t, x̃(t) , dt ξ̃ (t) ≡ 0 (equilibrium point) (2.81) ⇔ f˜(t, 0) ≡ 0. However, it should be stressed that the new system has to satisfy the condition f˜(t, 0) ≡ 0. Henceforth, we assume that the transformation has already been performed and omit the notation “ ˜ ”. The stability is a local property in the definition, see δ(ε, t0 ) > 0. It does not say anything directly about the region of attraction for the equilibrium point ξ ≡ 0. Further results are needed to answer what is the region around the equilibrium point from which choosing the initial condition the trajectory (solution) remains in the neighborhood of the equilibrium point or even more it does approach the equilibrium point. We shall speak about global stability if the domain of attraction is the whole space. According to these, we shall use the abbreviations GAS, UGAS etc. meaning that the system is globally asymptotically stable, uniformly globally asymptotically stable etc. 2.3.2 Lyapunov Stability Theorems In the stability investigations, the idea of positive definite function plays an important role, in the applications it serves as Lyapunov function candidate. 2.3 Stability of Nonlinear Systems 41 (i) The scalar valued function V (t, x) is positive definite, if there exists a scalar valued function W (x) ∈ C such that V (t, x) ≥ W (x) > 0 for every x =  0 and V (t, 0) ≡ W (0) = 0. (ii) V (t, x) is negative definite if −V (t, x) is positive definite. 2.3.2.1 Lyapunov’s Direct Method Theorem 2.3 Lyapunov’s first theorem, direct method. Let ξ ≡ 0 an equilibrium point, that is, dx = f (t, x), dt f (t, 0) ≡ 0, (0,1) f (t, x) ∈ Ct,x . (2.82) (1,1) 1. If ∃V (t, x) ∈ Ct,x ([a, ∞) × Dx ) positive definite function (so called Lyapunov function) such that for every x(t) solution along the trajectory yields V̇ (t, x) := dV (t, x(t)) ≤ 0 (V̇ negative semidefinite), dt (2.83) then the equilibrium point ξ ≡ 0 is stable in Lyapunov sense. 2. If additionally V̇ (t, x) := dV (t, x(t)) < 0 (V̇ negative definite), dt (2.84) then the equilibrium point ξ ≡ 0 is asymptotically stable in Lyapunov sense. Notice that dV ∂V dx ∂V ∂V ∂V = + = f (t, x) + . (2.85) dt ∂x dt ∂t ∂x ∂t The following simple proof can seldom be found in control books for this general time variant case. The proof is based on the fact that any continuous function over a compact (bounded and closed) set assumes its extremum value. Proof (Stability part) Let ε > 0 and consider the spherical surface Sε = {x : x = ε} that is evidently compact. Then W (x) ∈ C assumes its minimum over Sε , that is, ∃x ∗ ∈ Sε , such that infx∈Sε W (x) = W (x ∗ ) = α > 0. Let t0 ∈ (a, ∞), then, since V (t, x) is continuous and V (t, 0) = 0, hence ∃0 < δ(t0 , ε) < ε such that ∀{x : x < δ} yields 0 ≤ V (t, x) < α. Let x(t0 ) < δ and x(t) (not identically zero) solution of the state equation. It can be shown that the trajectory x(t) remains in the interior of the spherical surface Sε : x(t) < ε, ∀t ∈ [t0 , ∞). Otherwise, it would exist t1 ∈ [t0 , ∞), such that x(t0 ) < δ < ε, x(t) < ε, ∀t < t1 , but x(t1 ) = ε. This leads to contradiction because dv/dt := V̇ (t, x(t)) ≤ 0, thus v(t) is monotone nonincreasing along the trajectory, hence α ≤ W (x(t1 )) ≤ 42 2 Basic Nonlinear Control Methods V (t1 , x(t1 )) ≤ V (t0 , x(t0 )) < α. Therefore, x(t) < ε, ∀t ∈ [t0 , ∞), and thus the equilibrium point ξ ≡ 0 is stable.  Proof (Asymptotic stability part) We already know that ξ ≡ 0 is stable. Let x(t0 ) < δ1 (t0 ) sufficiently small and x(t) (not identically zero) solution. It has to be proven that limt→∞ x(t) = 0. Now we know that dV /dt < 0 (negative definite) along the trajectory. First, we shall prove that, using the notation limt→∞ V (t, x(t)) = inft V (t, x(t)) =: α, it cannot be satisfied α > 0. If, in contradiction, we would assume α > 0, then it would follow from α > 0 that x(t) ≥ β > 0, ∀t ∈ [t0 , ∞). Otherwise, that is, in case of β = 0, there would exist a sequence {t1 , t2 , . . . , tk , . . .} such that limtk →∞ V (tk , x(tk )) = 0, which would be a contradiction because of limt→∞ V (t, x(t)) = α > 0. Hence, α > 0 ⇒ x(t) ≥ β > 0, ∀t ∈ [t0 , ∞). After this, we shall show that α > 0 leads also to contradiction. Namely, we know that the equilibrium point is stable, thus we can assume there exists 0 < β ≤ x(t) < ε, ∀t ∈ [t0 , ∞). Since V̇ (t, x) < 0 (negative definite), there exists W1 (x) ∈ C positive definite and continuous function such that v̇(t) := V̇ (t, x(t)) ≤ −W1 (x(t)) < 0. Let γ := infβ≤x<ε W1 (x), then γ > 0 and by integration  t  t   v(t) = v(t0 ) + W1 (τ ) dτ ≤ v(t0 ) − γ (t − t0 ). V̇ τ, x(τ ) dτ ≤ v(t0 ) − t0 t0 Hence, ∃t, v(t) < 0 which is a contradiction since V is positive definite, and thus V (t, x(t)) ≥ 0 along the trajectory. Hence, in contradiction to the original assumption, α = 0 and therefore limt→∞ V (t, x(t)) = 0. It has yet to be shown that also the trajectory x(t) approaches zero. But this follows from the fact that V is positive definite, W ∈ C is continuous and positive definite, V (t, x(t)) ≥ W (x(t)) ≥ 0, thus 0 = limt→∞ V (t, x(t)) ≥ limt→∞ W (x(t)) ≥ 0 ⇒ limt→∞ W (x(t)) = 0, and since W ∈ C is positive definite thus limt→∞ x(t) = 0. Hence, the equilibrium point ξ ≡ 0 is asymptotically stable in Lyapunov sense.  In order to use Lyapunov’s direct method, an appropriate Lyapunov function candidate has to be found from which we can deduce the stability of the equilibrium point. Positive functions like norm, energy functions etc. can be suggested as Lyapunov function candidates. In some simple cases other possibilities exist, for example, the question arises whether is it possible to deduce the stability of the nonlinear system from the stability of the linearized system. 2.3.2.2 Lyapunov’s Indirect Method Theorem 2.4 Lyapunov’s second theorem, indirect method. Let ξ ≡ 0 be an equilibrium point, i.e. dx dt = f (t, x), f (t, 0) ≡ 0, f (t, x) ∈ (0,1) Ct,x , and let us introduce the notations A(t) := fx′ (t, x)|x=0 and f1 (t, x) := f (t, x) − A(t)x. 2.3 Stability of Nonlinear Systems 43 If it is satisfied (t,x) (i) limx→0 supt≥0 f1x = 0. (ii) A(·) is bounded. (iii) ẋ = A(t)x linear system is uniformly asymptotically stable, then the equilibrium point ξ ≡ 0 of the original nonlinear system is uniformly asymptotically stable. The sketch of the proof is as follows. Consider the linearized system ẋ = A(t)x and its fundamental matrix Φ(t, τ ). Let  ∞ Φ T (τ, t)Φ(τ, t) dτ, P (t) := t *∞ then P (t)x, x = t Φ(τ, t)x2 dτ > 0. Hence, P (t)x, x is a Lyapunov function candidate for which the following conditions are satisfied: (1) P (t) is positive definite and ∃α, β > 0, such that ∀t, x : αx2 ≤ P (t)x, x ≤ βx2 , furthermore it yields Ṗ (t) + P (t)A(t) + AT (t)P (t) = −I . (2) V (t, x) := P (t)x, x is positive definite function with W (x) := αx2 . (3) V̇ (t, x) = −x2 + 2 P (t)f1 (t, x), x < 0, since 2 P (t)f1 (t, x), x can be made less than x2 in some neighborhood of x = 0 because of assumption (i) and properties (1). Notice that Lyapunov’s indirect method does not give any information about the attraction domain of the equilibrium, hence only the local stability of the equilibrium has been proven. For LTI systems, the classical stability idea is strongly related to the poles of the transfer function which are equal to the eigenvalues of the state matrix. Stability was defined for such systems so that the transients are decaying if the initial conditions are changed from zero to nonzero value. The following theorem shows the connection between classical and Lyapunov stability. Theorem 2.5 Lyapunov equation characterizing stable LTI system. Consider the continuous time linear time invariant system ẋ = Ax for which evidently ξ ≡ 0 equilibrium point. Let P be a constant, symmetrical and positive definite matrix (P > 0) and let V (x) := P x, x be the Lyapunov candidate function. Perform the substitution ẋ = Ax in the derivative of V : V̇ = P ẋ, x + P x, ẋ = (P A + AT P )x, x. Then V̇ < 0 (negative definite), if ∃Q > 0 positive definite matrix such that the Lyapunov equation is satisfied: P A + AT P = −Q, P > 0, Q > 0. (2.86) The following statements are equivalent: (i) For all eigenvalues, si of the matrix A yields Re si < 0. (ii) For every Q > 0, the Lyapunov equation has the positive definite solution P := * ∞ AT t At Qe dt > 0. 0 e The proof is simple see, for example, [152]. 44 2 Basic Nonlinear Control Methods 2.3.2.3 LaSalle’s Method for Time Invariant Systems For the nonlinear time invariant (autonomous) system class ẋ = f (x), f (0) = 0 LaSalle [77] gave a stronger result than Lyapunov’s direct method which is based on the idea of positive limit set and invariant set. Positive limit set. The positive limit set of the trajectory x(t) is Γ + := {y : ∃{tn } sequence, tn → ∞ as n → ∞, such that limn→∞ x(tn ) = y}. The positive limit set of the trajectory x(t) may be for example a limit point limt→∞ x(t) (if it exists), or a limit cycle (isolated, closed and periodical curve) to which the trajectory converges. Invariant set. The set M is invariant if each trajectory (solution of the differential equation ẋ = f (x)) going through any point of M lies entirely in M. If the set E is not invariant then we can speak about its maximal invariant set M contained in E: M = max{H ⊂ E : x(0) ∈ H, x(t) solution ⇒ ∀t : x(t) ∈ H }. The positive limit set Γ + of a bounded trajectory x(t) is always nonempty, compact (bounded and closed) and invariant. Theorem 2.6 LaSalle’s maximal invariant set theorem for autonomous nonlinear system. Assume the system ẋ = f (x) has equilibrium point 0 = f (0) and f (x) ∈ Cx(1) . Assume there exists V (x) Lyapunov function which satisfies the following conditions for some fixed r > 0 over the compact set {x : |V (x)| ≤ r} =: Ωr : (i) V (x) is positive definite, i.e. V (x) ≥ 0 and V (x) = 0 ⇔ x = 0. (ii) V̇ (x) = grad V , f  ≤ 0 (negative semidefinite). (iii) V (x) ∈ Cx(1) (continuously differentiable). Let M be the maximal invariant set contained in E := {x ∈ Ωr : V̇ (x) = 0}. Then for every initial condition x(0) ∈ Ωr the resulting trajectory x(t) asymptotically approaches the maximal invariant set M. More detailed it means that for every ε > 0 there exists T , such that for every t > T the trajectory x(t) remains in the ε-neighborhood of M: There exist y(t, ε) ∈ M + {x : x < ε} such that x(t) − y(t, ε) < ε. Notice that Ωr is an attraction set of the equilibrium point although not necessarily the largest one. Corollary If M = {0} is the maximal invariant set contained in E = {x ∈ Ωr : V̇ (x) = 0}, then for every x(0) ∈ Ωr the corresponding x(t) trajectory asymptotically approaches the equilibrium point 0 = f (0). Corollary Let x = (y T , zT )T and assume that beside the conditions of LaSalle’s theorem it is additionally satisfied: (i) ẏ = ϕ(y, z) and ż = ψ(y, z). 2.3 Stability of Nonlinear Systems 45 (ii) V̇ (x) = V̇ (y, z) = 0 ⇒ y = 0. (iii) ϕ(0, z) = 0 ⇔ z = 0. Then the equilibrium point y = 0, z = 0 is asymptotically stable. It is evident namely, that according to (ii) and the definition of E in each point of M ⊂ E yields y = 0. Since M is an invariant set and y is constant zero over it, therefore ẏ = 0 for each trajectory running in M, and thus by (iii) yields also z = 0. Hence, M consists only of a single point and any trajectory x(t) starting in Ωr asymptotically approaches the equilibrium point. 2.3.2.4 K and KL Comparison Functions for Stability Investigations In order to sharpen the stability theorems in the direction of global asymptotic stability, some further definitions are necessary. (i) The function α : [0, a) → R + is called K-function if α(·) is strictly monotone increasing and α(0) = 0. Especially, if a = ∞ and α(r) → ∞ if r → ∞ then α(r) is a K∞ -function. (ii) The function β : [0, a) × R + → R + is called KL-function if β(r, s) satisfies that β(·, s) is a K-function in the first variable for every fixed s, while β(r, ·) is monotone decreasing in the second variable for every fixed r and β(r, s) → 0 if s → ∞. It is clear that, for example, α(r) = atan(r) is a K-function, but not a K∞ function, however α(r) = r c is a K∞ -function for c > 0, while β(r, s) = r c e−s is a KL-function for c > 0. The following theorems are valid for ẋ = f (t, x), the proofs can be found in [62]. Theorem 2.7 Relations between stability and comparison functions. The equilibrium point ξ ≡ 0 is (i) Uniformly stable ⇔ there exist α(r) K-function and c > 0 independent of t0 such that + + + + +x(t)+ ≤ α +x(t0 )+ , + + ∀t ≥ t0 ≥ 0, ∀+x(t0 )+ < c. (ii) Uniformly asymptotically stable ⇔ there exist β(r, s) KL-function and c > 0 independent of t0 such that + + +  + +x(t)+ ≤ β +x(t0 )+, t − t0 , + + ∀t ≥ t0 ≥ 0, ∀+x(t0 )+ < c. + + +  + +x(t)+ ≤ β +x(t0 )+, t − t0 , ∀t ≥ t0 ≥ 0, ∀x(t0 ) ∈ R n . (iii) Globally uniformly asymptotically stable ⇔ there exist β(r, s) KL-function such that 46 2 Basic Nonlinear Control Methods Theorem 2.8 Relations between Lyapunov function and qualified stability. Let D ⊂ R n be an open set, 0 ∈ D, V : [0, ∞) × D → R continuously differentiable function satisfying W1 (x) ≤ V (t, x) ≤ W2 (x), where W1 (x), W2 (x) are positive definite and continuous, ∂V ∂V f (t, x) + ≤ 0. ∂x ∂t Then the equilibrium point ξ ≡ 0 is (i) Uniformly stable. ∂V (ii) Uniformly asymptotically stable if ∂V ∂x f (t, x) + ∂t ≤ −W3 (x), where W3 (x) is positive definite and continuous. (iii) If beside the previous condition it is also satisfied that r and c are chosen so that Br := {x : x ≤ r} ⊂ D and 0 < c < minx=r W1 (x), then every trajectory starting in {x ∈ Br : W2 (x) ≤ c} satisfies + + + +  +x(t)+ ≤ β +x(t0 )+, t − t0 , ∀t ≥ t0 ≥ 0 for some class KL-function. Specifically, if D = R n and W1 (x) is radially unbounded then the equilibrium is globally uniformly asymptotically stable. Remark The proof of the strong result iii) needs the construction of the class K-functions α1 (x) ≤ W1 (x), W2 (x) ≤ α2 (x), α3 (x) ≤ W3 (x), then α = α3 ◦ α2−1 , y(t) =: σ (y0 , t − t0 ) is the solution of the scalar nonlinear differential equation ẏ = −α(y), y(t0 ) = V (t0 , x(t0 )) and finally β(x(t0 ), t − t0 ) := α1−1 (σ (α2 (x(t0 )), t − t0 )). Till now, the input signal has not appeared in the stability investigations, hence the discussion should be extended to the input-state stability of nonlinear systems. Consider the nonlinear system ẋ = f (t, x, u). We shall assume that the unexcited system has equilibrium point ξ ≡ 0, that is, f (t, 0, 0) ≡ 0, and we shall investigate the influence of the input signal u(t) on the stability. 2.3.2.5 Input-to-State Stability (ISS) The nonlinear system ẋ = f (t, x, u) is called input-to-state stable (ISS), if there exist β(r, s) class KL-function and γ (r) class K-function such that for every initial condition x(t0 ) and every bounded input u(t) there exits the solution x(t), ∀t ≥ t0 satisfying the following inequality:  + + + + + +  +x(t)+ ≤ β +x(t0 )+, t − t0 + γ sup +u(τ )+ . t0 ≤τ ≤t 2.3 Stability of Nonlinear Systems 47 Notice that the above condition assures the boundedness of the trajectory x(t) for every bounded input u(t). If t is increasing the solution x(t) is uniformly bounded by a K-function, in the argument of which stands supt≥t0 u(t), furthermore if t → ∞ yields u(t) → 0 then x(t) → 0 is also valid. Since for u(t) ≡ 0 the inequality reduces to x(t) ≤ β(x(t0 ), t − t0 ), hence the equilibrium point ξ(t) ≡ 0 of the unexcited system is globally uniformly asymptotically stable. The following theorem gives a condition of ISS, the proof can be found in [62]. Theorem 2.9 Sufficient condition for ISS stability. Let V : [0, ∞) × R n → R be a continuously differentiable function satisfying the conditions     α1 x ≤ V (t, x) ≤ α2 x , ∂V ∂V f (t, x, u) + ≤ −W3 (x), ∂x ∂t   ∀x ≥ ρ u > 0 for every (t, x, u) ∈ [0, ∞) × R n × R m , where α1 , α2 are class K∞ -functions, ρ is class K-function and W3 (x) is positive definite over R n . Then ẋ = f (t, x, u) is input-to-state stable with the choice γ := α1−1 ◦ α2 ◦ ρ. In the expressions, −1 denotes the inverse function and circle denotes the composition of functions. 2.3.3 Barbalat Lemmas Functions like sin(t), e−at , log(t) etc. and combinations thereof often appear in dynamic system responses. Unfortunately, it is not an easy thing to deduce system behavior from such signals. Against typical engineering feeling, if f˙ → 0 it does not follow that f (t) has a limit as t → ∞. For example, f (t) = sin(log(t)) has no limit as t → ∞ while f˙(t) = cos(log(t)) → 0 as t → ∞. Similarly, the fact that t limt→∞ f (t) exists, does not imply that limt→∞ f˙(t) = 0. For example, f (t) = e−t sin(e2t ) tends to zero while its derivative f˙(t) = −e−t sin(e2t ) + 2et cos(e2t ) is unbounded. On the other hand, if f (t) is lower bounded and decreasing (f˙(t) ≤ 0), then it converges to a limit. To find reliable results, consider first the definition of the limit value of a function. We know from standard calculus that limt→∞ f (t) = a if for every ε > 0 there exists T (ε) > 0 such that for all t ≥ T follows |f (t) − a| < ε. As a consequence, if limt→∞ f (t) = 0, then there exists a ε0 > 0 such that for all T > 0 we can find a T1 ≥ T satisfying |f (T1 )| ≥ ε0 . Uniformly continuous functions are especially important. We call f (t) uniformly continuous if for every ε > 0 there exists δ(ε) > 0 such that |f (t2 ) − f (t1 )| < ε if |t2 − t1 | < δ. According to the mean value theorem, if the function f : R → R is differentiable, then f (t2 ) − f (t1 ) = f˙(τ )(t2 − t1 ) where τ ∈ (t1 , t2 ). If f˙ ∈ L∞ , that is, f˙ is essentially bounded, then f is uniformly continuous and δ can be chosen ε/f˙∞ . 48 2 Basic Nonlinear Control Methods Lemma 2.1 (Barbalat lemmas) *t 1. Let f : R → R be uniformly continuous on [0, ∞). Suppose that limt→∞ 0 f (τ ) dτ exists and is finite. Then limt→∞ f (t) * t = 0. 2. Suppose that f ∈ L∞ , f˙ ∈ L∞ and limt→∞ 0 f (τ ) dτ exists and is finite. Then limt→∞ f (t) = 0. 3. If f (t) is differentiable and has finite limit limt→∞ f (t) < ∞, and if f˙ is uniformly continuous, then f˙(t) → 0 as t → ∞. Proof 1. If the first statement is not true, then there is a ε0 > 0 such that for all T > 0 we can find T1 ≥ T satisfying |f (T1 )| ≥ ε0 . Since f (t) is uniformly continuous, there is a positive constant δ > 0 such that |f (t + τ ) − f (t)| < ε0 /2 for all t > 0 and 0 < τ < δ. Hence, ! ! ! ! ! ! ! ! !f (t)! = !f (t) − f (T1 ) + f (T1 )! ≥ !f (T1 )! − !f (t) − f (T1 )! > ε0 − ε0 /2 = ε0 /2 for every t ∈ [T1 , T1 + δ]. Therefore, ! T +δ !  ! 1 ! ! != f (t) dt ! ! T1 T1 +δ ! T1 ! !f (t)! dt > ε0 δ/2 where the equality * t holds because f (t) does not change the sign for t ∈ [T1 , T1 + δ]. Thus, 0 f (t) dt cannot converge to a finite limit as t → ∞, which is a contradiction. Hence, the first statement is valid. 2. The second statement follows from the fact that if f˙ ∈ L∞ then f is uniformly continuous and the first statement can be applied. 3. The third statement follows from the fact that because of  ∞ f˙(t) dt f (∞) − f (0) = 0 the right side exists and is finite. Since f˙ is uniformly continuous, we can apply the first statement with f˙ instead of f .  The following lemma gives an immediate corollary of Barbalat’s lemma, which looks like an invariant set theorem in Lyapunov stability analysis of time varying systems. Lemma 2.2 (Lyapunov-like form of Barbalat’s lemma) If a scalar valued function V (x, t) satisfies the following three conditions: (i) V (x, t) is lower bounded. (ii) V̇ (x, t) is negative semidefinite. (iii) V̇ (x, t) is uniformly continuous in t. Then V̇ (x, t) → 0 as t → ∞. 2.3 Stability of Nonlinear Systems 49 Observe that V (x, t) can simply be a lower bounded function instead of being positive definite. Notice that V̇ (x, t) is uniformly continuous if V̈ (x, t) exists and is bounded. 2.3.4 Stability of Interconnected Passive Systems Stability problems can be considered also in function spaces for fixed (typically zero) initial conditions. For p ∈ [1, ∞), * ∞ the Lebesgue measurable function f : [0, ∞) → R 1 belongs to Lp [0, ∞) if 0 |f (t)|p dt < ∞ and then, with the norm *∞ f p = ( 0 |f (t)|p dt)1/p , the space Lp [0, ∞) is a Banach space (linear normed space in which the Cauchy sequences are convergent). If p = ∞, then with the norm f ∞ = ess sup |f (t)| < ∞ the space L∞ [0, ∞) is also a Banach space. The definition can easily be extended to vector valued functions  f = (f1 , . . . , fn )T , fi ∈ Lp [0, ∞), i = 1, . . . , n where, with the norm f p := ( ni=1 fi 2p )1/2 , the space Lnp [0, ∞) is also a Banach space. *∞ For p = 2, a scalar product f, g = 0 f (t), g(t) dt can be explained and the norm can be defined by f  = ( f, f )1/2 . Then Ln2 [0, ∞) is a Hilbert space. Further extensions are possible for functions which are not necessarily bounded but satisfy the above conditions for every finite T > 0 if the function is substituted by zero for ∀t > T . Such extended spaces are denoted by Lnpe . For simplicity, we shall consider only Lnp [0, ∞) signal spaces. 2.3.4.1 Lp -Stable Nonlinear Systems n Let G : Lnp → Lm p a nonlinear system mapping u ∈ Lp [0, ∞) input signals into m y ∈ Lp [0, ∞) output signals. Then the nonlinear system is (i) Lp -stable with finite gain (wfg) if there exist γp , βp ≥ 0 constants such that x ∈ Lnp ⇒ yp ≤ γp xp + βp . (ii) Lp -stable with finite gain without bias (wb) if there exist γp ≥ 0 constant such that x ∈ Lnp ⇒ yp ≤ γp xp . The gain of the nonlinear system is defined by γp (G) = inf{γp } satisfying (i) for wfg and (ii) for wb, respectively. Let us consider now interconnected stable nonlinear systems according to Fig. 2.8 and ask for the stability of the closed loop. The proofs of the following two theorems are simple, see also [152]. 50 2 Basic Nonlinear Control Methods Fig. 2.8 Scheme of nonlinear control system Theorem 2.10 Small gain theorem. Consider the closed loop system according to Fig. 2.8 and let p ∈ [1, ∞]. Assume that G1 , G2 are causal and Lp -stable wb (or wfg) nonlinear systems, γ1p := γ1p (G1 ) and γ2p := γ2p (G2 ). Then the closed loop system is Lp -stable, if γ1p · γ2p < 1. The inputs of nonlinear electrical circuits are voltage and current generators, the outputs are voltages and currents and the instantaneous power is y(t), u(t). The circuit is passive if the input energy (integral of the power) in the system does not exceed the change of the stored * ∞ energy. If the inductive and capacitive elements are initially chargeless, then 0 y(t), u(t) dt ≥ 0 for passive electrical circuits. Passive systems generalize this principle. Notice, scalar product needs that the dimension of input and output signals is the same. 2.3.4.2 Passive Systems Let G : Ln2 → Ln2 a nonlinear system. We say that *∞ (i) G is passive, if ∃β ∈ R 1 such that u, Gu = 0 u(t), (Gu)(t) dt ≥ β, ∀u ∈ L2 . (ii) G is strictly input passive, if ∃α > 0, β ∈ R 1 such that u, Gu ≥ αu22 + β, ∀u ∈ L2 . (iii) G is strictly output passive, if ∃α > 0, β ∈ R 1 such that u, Gu ≥ α(Gu)22 + β, ∀u ∈ L2 . Notice that since u ≡ 0 ∈ L2 thus 0 ≥ β. It can easily be shown that strictly output passive system is L2 -stable wfg. Theorem 2.11 Passivity theorem in Lp space. Consider the closed loop system in Fig. 2.8 with G1 , G2 ∈ Ln2 . (i) If both G1 and G2 are strictly output passive and both u1 and u2 are active then, for the output yy12 , the closed loop is strictly output passive and L2 -stable wfg. (ii) If G1 is strictly output passive, G2 is passive and u2 = 0 (i.e., only u1 is active), then for the output y1 , the closed loop is strictly output passive and L2 -stable wfg. (iii) If G1 is passive, G2 is strictly input passive and u2 = 0 (i.e., only u1 is active), then for the output y1 , the closed loop is strictly output passive and L2 -stable wfg. 2.3 Stability of Nonlinear Systems 51 2.3.4.3 Dissipative Systems Dissipativity can be seen as passivity in state space. The storage function serves as Lyapunov function. The number of inputs and outputs is the same, the input and output signals are from L2 . Consider the nonlinear system Σ : ẋ = f (x, u), y = h(x, u), x ∈ R n , u, y ∈ R m . The real valued function s(u, y) will be called supply rate. The system is called dissipative if there exist S : R n → R + so called storage function such that for every x(t0 ) ∈ R n and for every t1 ≥ t0 the following dissipative inequality yields:     S x(t1 ) ≤ S x(t0 ) +  t1 t0   s u(t), y(t) dt. (2.87) Specifically, if equality holds then the system is called lossless. As an example, consider the supply rate s(u, y) := u, y. Assuming S ≥ 0, then  0 T( )       u(t), y(t) dt ≥ S x(T ) − S x(0) ≥ −S x(0) (2.88) for every x(0), for every T > 0 and for every input u(·) which means that the input– output mapping Gx(0) is passive with the choice β = −S(x(0)). Here, S can be considered to be the stored energy motivating the following definitions. Passive dissipative systems Assume the nonlinear system has the form Σ : ẋ = f (x, u), y = h(x, u), x ∈ R n , u, y ∈ R m , then the system (i) Is passive, if it is dissipative with respect to the supply rate s(u, y) = u, y. (ii) Is strictly input passive if it is dissipative with respect to the supply rate s(u, y) = u, y − δu2 where δ > 0. (iii) Is strictly output passive if it is dissipative with respect to the supply rate s(u, y) = u, y − εy2 where ε > 0. (iv) Is conservative if it is lossless and s(u, y) = u, y. (v) Has L2 -gain ≤ γ if it is dissipative with respect to the supply rate s(u, y) = 1 2 1 2 2 2 γ u − 2 y where γ > 0. For example, in the last case 1 2  0 T +2 + +2  +       γ 2 +u(t)+ − +y(t)+ dt ≥ S x(T ) − S x(0) ≥ −S x(0) , from which after regrouping follows  0 T+ + +y(t)+2 dt ≤ γ 2  0 T+ +   +u(t)+2 dt + 2S x(0) , which is equivalent to Lp -stability wfg ≤ γ . 52 2 Basic Nonlinear Control Methods The dissipativity condition (2.87) can be substituted by its differentiated form which is sometimes easier to check. By dividing the inequality by t1 − t0 and letting t1 → t0 , we obtain the equivalent differential dissipation inequality   Sx′ (x)f (x, u) ≤ s u, h(x, u) , ∀x, u,   (2.89) ∂S ∂S ′ Sx (x) = (x) · · · (x) . ∂x1 ∂xn Specifically, in case of input affine nonlinear system, that is, Σa : ẋ = f (x) + g(x)u, y = h(x), and assuming the system is passive with respect to the supply rate s(u, y) = u, y = u, h(x), then the differential form for Σa amounts to Sx′ (x)[f (x) + g(x)u] ≤ uT h(x), ∀x, u, or equivalently (choosing first u = 0) to the Hill–Moylan conditions Sx′ (x)f (x) ≤ 0, (2.90) Sx′ (x)g(x) = hT (x). Special cases: (i) For LTI system, the conditions are equivalent to the Kalman–Yacubovitch– Popov conditions if the storage function is S(x) = 21 x T P x, where P = P T ≥ 0, namely AT P + P A ≤ 0 and B T P = C. (ii) If the input affine system Σa is strictly output passive with respect to the supply rate s(u, y) = u, y − εy2 where ε > 0, then (choosing first u = 0) yields Sx′ (x)f (x) ≤ −εhT (x)h(x), (2.91) Sx′ (x)g(x) = hT (x). (iii) If the input affine system Σa has finite L2 -gain with respect to the supply rate s(u, y) = 21 γ u2 − 12 y2 , then   1 Sx′ (x) f (x) + g(x)u − γ 2 u2 + 2 + 1+ +h(x)+2 ≤ 0, 2 ∀x, u. (2.92) (iv) The maximum of the left side in the inequality (2.92) is reached at u∗ = ′ 1 T g (x)SxT (x) and substituting it back we obtain the Hamilton–Jacobi– γ2 Bellman inequality Sx′ (x)f (x) + 1 1 ′ ′ Sx (x)g(x)g T (x)SxT (x) + hT (x)h(x) ≤ 0, 2 2 2γ ∀x. (2.93) Hence, Σa has L2 -gain ≤ γ if and only if (2.93) has continuously differentiable solution S ≥ 0. We remark that the equality form is in strong connection with the Hamilton–Jacobi–Bellman equality of dynamic programming. The following theorems were proven in [127]. 2.3 Stability of Nonlinear Systems 53 Theorem 2.12 Extremum property of Sa amongst storage functions. Consider the nonlinear system Σ . The system is dissipative with respect to the supply rate s(u, y) ⇔ for every initial condition x(0) = x yields  T   s u(t), y(t) dt < ∞. (2.94) Sa (x) = sup − u(·),T ≥0 0 Furthermore, every other storage function satisfies Sa (x) ≤ S(x), ∀x. Thus, Sa (x) can be considered the maximal energy which can be extracted from the system Σ if the initial condition is x. If each state x of Σ can be reached from x∗ within finite time, then Σ is dissipative ⇔ Sa (x∗ ) < ∞. Moreover, if Gx∗ is passive wb (β = 0), or has L2 -gain ≤ γ wb, then Sa (x∗ ) = 0. Zero-state detectability. The nonlinear system Σa is called zero-state detectable if u(t) ≡ 0, y(t) ≡ 0, ∀t ≥ 0 ⇒ limt→∞ x(t) = 0. Sa (x∗ ) = 0 is equivalent to the zero-state detectability condition. Theorem 2.13 Connection between passivity and asymptotic stability. Consider the zero-state detectable nonlinear system Σa . Let S ≥ 0 with S(0) = 0 be solution to (2.91) in case of strict output passivity, or (2.92) in case of finite L2 -gain. Then ξ ≡ 0 is asymptotically stable equilibrium point. Moreover if S(x) is proper, that is, {x : S(x) < c} is compact, ∀c > 0, then the equilibrium point is globally asymptotically stable. Consider the closed loop nonlinear system according to Fig. 2.8 but at the place of Gi stands the system Σi : ẋi = fi (xi , ei ), yi = hi (xi , ei ), i = 1, 2. Assume that the strict dissipative conditions  t1 +2  +      ei (t), yi (t) − εi +yi (t)+ dt, i = 1, 2 (2.95) Si xi (t1 ) ≤ Si xi (t0 ) + t0 are satisfied. Theorem 2.14 Stability of interconnected dissipative systems. (i) Suppose both Σ1 and Σ2 are passive (strictly output passive) and (u1 , u2 ) external inputs are active, then the closed loop system with outputs (y1 , y2 ) is output passive (strictly output passive). (ii) Suppose Si satisfies (2.95), is continuously differentiable and has (isolated) local minimum at xi∗ , i = 1, 2, furthermore no external inputs are active, that is, u1 = u2 = 0. Then (x1∗ , x2∗ ) is stable equilibrium point of the closed loop system. (iii) Suppose Σi is strictly output passive and zero-state detectable, Si satisfying (2.95), is continuously differentiable and has (isolated) local minimum at 54 2 Basic Nonlinear Control Methods xi∗ = 0, i = 1, 2, furthermore no external inputs are active, that is, u1 = u2 = 0. Then (0, 0) is asymptotically stable equilibrium point of the closed loop. If additionally Si has global minimum at xi∗ = 0, i = 1, 2, then (0, 0) is globally asymptotically stable equilibrium point of the closed loop system. Theorem 2.15 Small gain theorem for interconnected dissipative systems. (i) Suppose Σi is zero-state detectable, has finite gain γi , i = 1, 2, with γ1 · γ2 < 1. Suppose Si satisfies (2.95), is continuously differentiable and has (isolated) local minimum at xi∗ = 0, i = 1, 2, furthermore no external inputs are active, that is, u1 = u2 = 0. Then (0, 0) is asymptotically stable equilibrium point of the closed loop. If additionally Si has global minimum at xi∗ = 0 and is proper, i = 1, 2, then (0, 0) is globally asymptotically stable equilibrium point of the closed loop system. (ii) Suppose Σai is input affine system, has finite gain γi , i = 1, 2, with γ1 · γ2 < 1. Suppose Si satisfies (2.95), is continuously differentiable and Si (0) = 0 (therefore Si (x) is positive semidefinite), and let xi∗ = 0 be asymptotically stable equilibrium point of the unexcited system ẋi = fi (xi ), i = 1, 2, furthermore no external inputs are active, that is, u1 = u2 = 0. Then (0, 0) is asymptotically stable equilibrium point of the closed loop system. 2.4 Input–Output Linearization It is a meaningful idea to control the nonlinear system in such a way that first the nonlinear system is linearized then the linearized system is compensated by using attractive methods of linear control theory. For linearizing the nonlinear system, state feedback and output feedback can be suggested, called input/state linearization and input/output linearization, respectively. Their theories are well developed, see for example [56, 57, 152], however their attractiveness is limited for low dimensional systems because of computational problems, mainly because of the need for solving partial differential equations, the so called Frobenius equations. The basic results were also surveyed in Appendix B and we assume the reader became acquainted with the main techniques from there. Comparing the two approaches, input/state linearization has the advantage that the number of inputs and outputs may be different, but has the drawback that a large number of sets of Frobenius equations has to be solved. On the other hand, input/output linearization has the disadvantage that the number of inputs and outputs must be equal, but the solution of Frobenius equation can be evaded, which is a benefit, except for SISO system if the input should be eliminated from the zero dynamics. Notice that eliminating the input from the zero dynamics for MIMO nonlinear systems is usually not possible because the arising distribution spanned by the fix part of the nonlinear coordinate transformation needed for linearization is usually not involutive and the Frobenius equation cannot be applied. 2.4 Input–Output Linearization 55 In both cases, the remaining part of the computations can be performed automatically by using symbolic computation tools, like MATLAB Extended Symbolic Toolbox, Mathematica, etc. Now we summarize here the basic results regarding input/output linearization discussed in Appendix B. The system is assumed to be input affine, that is, m ẋ = f (x) + ui gi (x), i=1 yi (x) = hi (x), i = 1, . . . , m, h = (h1 , . . . , hm )T , f, gi ∈ V (X), hi ∈ S(X), i = 1, . . . , m, where f, gi are vector fields and hi are real valued functions, all appropriately smooth. As can be seen, the input does not appear in the output mappings hence the idea is to differentiate the outputs so many times that at the end the input appears in the results. This will define the components of the possible vector degree for the different outputs. For example, differentiating yi by the time yields , m m ẏi = ∇hi ẋ = dhi , f + i=1 gi ui = Lf hi + uj Lgj hi . j =1 If each Lgj hi is zero, then the differentiation is continued and we get , m m ÿi = ∇(Lf hi )ẋ = d(Lf hi ), f + i=1 gi ui = L2f hi + uj Lgj (Lf hi ). j =1 Let ri be the smallest integer for which m (ri ) yi = Lrfi hi + j =1   Lgj Lrfi −1 hi uj . The remaining problem is how to express the inputs from the formulas, which is related to the linear independence of the functions weighting the inputs after differentiation. The MIMO input affine nonlinear system is said to have the relative degree vector r = (r1 , . . . , rm )T at the point x0 if ∃U (x0 ) open set such that: (i) Lgj Lkf hi (x) ≡ 0, ∀x ∈ U, j = 1, . . . , m, k = 0, . . . , ri − 2. r −1 (ii) The matrix S(x) = [sij (x)]m×m is nonsingular at x0 where sij = Lgj Lfi i.e. ⎤ ⎡ Lg1 Lrf1 −1 h1 · · · Lgm Lrf1 −1 h1 ⎥ ⎢ .. .. .. ⎥. S(x) = ⎢ . . . ⎦ ⎣ rm −1 rm −1 Lg1 Lf hm · · · Lgm Lf hm hi , 56 2 Basic Nonlinear Control Methods Fig. 2.9 Block scheme of the MIMO input/output linearized system Since S(x0 ) is nonsingular hence S(x) is also nonsingular in a sufficiently small neighborhood of x0 . The components qi (x) = Lrfi hi (x), i = 1, . . . , m and the column vector q(x) will also be needed to internal compensation, see Fig. 2.9. Theorem 2.16 The MIMO nonlinear system can be input/output linearized in the neighborhood U (x0 ) if it has relative degree vector and S(x0 ) is invertible. There is a smooth nonlinear transformation z = T (x), where z = (z0T , zuT )T , zo is locally observable while zu is locally not observable. By using nonlinear static feedback u(x) = S −1 (v − q(x)), the observable part consists of decoupled integrators in Brunowsky canonical form. The not observable part remains nonlinear and has the form żu = bu (zo , zu ) + Au (zo , zu )u. The observable part can be further compensated by external linear feedback. The full system stability is influenced by the stability of the unobservable part that is called the zero dynamics of the nonlinear system. In Appendix B, formulas can be found for computing the normal form of the input affine system after coordinate transformation T (x). The system components of the observable and not observable parts are given in (B.51a) and (B.51b), respectively. The resulting observable system is given in (B.52a). The resulting zero dynamics is given in (B.52b) containing u and in (B.54) containing v, respectively. The fixed parts of the components of the coordinate transformation T (x) are given in (B.50), these have to be extended with further functions to make the transformation n-dimensional, that is, to a diffeomorphism. This step does not need the solution of any Frobenius equation, see Lemma B.1 in Appendix B, but the price is that the zero dynamics depends also on the input u. An exception may be the SISO case where the distribution  spanned by the single vector g is evidently involutive. Hence, by using Frobenius theorem there are η1 , . . . , ηn−1 ∈ S(X) functions whose differentials are independent at x0 and satisfy dηi , g(x) = 0, ∀x ∈ U . Taking n − r pieces from these functions, for example the first n − r, the coordinate transformation may be T (x) = T T T [dhT , . . . , (dLr−1 f h) , (dη1 ) , . . . , (dηn−r ) ]. By using this coordinate transformation, the input u will not appear in the zero dynamics, i.e. żu = fu (zo , zu ). Further details can also be found in Appendix B regarding the stability test of the zero dynamics and the extension of the minimum phase property to nonlinear systems based on the stability of the zero dynamics. Another possibility is the use of precompensator based on the dynamic extension algorithm if the vector relative 2.5 Flatness Control 57 degree does originally not exist. In this case, the compensator is a dynamic system, see (B.56) and (B.57). 2.5 Flatness Control We illustrate here how can the flatness property be exploited in the path design of underactuated systems, for which not every path is realizable. Assuming underactuated system, it means that for a separately designed path x(t) it may be possible that there is no appropriate control u(t) which can realize the path. On the other hand, for differentially flat systems we know that both the state and the control can be parametrized by the output variable and its derivatives. Hence, choosing a fine sequence of “corner points” for the path in the output variable and interpolating amongst them analytically, that is, determining also the derivatives in the necessary order, we can simultaneously find both the state trajectory and the corresponding nominal control. Flatness properties of cable-driven crane. We shall illustrate the flatness concept and its use in path design for a cable-driven crane. For simplicity, only the two dimensional (2D) planar version is considered. The scheme of the 2D crane is shown in Fig. 2.10. (Since the pulley’s mass in point B has been neglected, hence Ls and its actuator motor is omitted in the discussion.) The planar crane is a 3-DOF system which is underactuated because the only inputs are the two motor torques moving the ropes L1 and L2 + L3 . The model of the planar crane is differentially flat [69]. In simplified formulation, it means that if ẋ = f (x, u) is the dynamic model of the system then there exist a new variable y (the flat output) and finite integers q and p such that x = φ1 (y, ẏ, ÿ, . . . , y (q) ), u = φ2 (y, ẏ, ÿ, . . . , y (q+1) ), y = ψ1 (x, u, u̇, . . . , u(p) ). For the crane, y := (x, z)T where x, z are the coordinates of the load (point C) in the plane of the crane. The coordinates of point B will be denoted by xB , zB . The flatness relations for the 2D crane are summarized as follows:   θ = arctan −ẍ/(z̈ + g) , ẍ(z − (k + l)Cα ) − (z̈ + g)(x − (k + l)Sα ) , (z̈ + g)Sa − ẍCa   β = arcsin (1 − d/ l)Sα+θ ,   γ = π + β − (α + θ ) /2, d= L1 = lSβ /Sγ , L2 = lSγ −β /Sγ , xB = (k + l)Sα − L2 Sα−β , zB = (k + l)Cα − L2 Cα−β , (2.96) 58 2 Basic Nonlinear Control Methods Fig. 2.10 Block scheme of the cable-driven 2D crane . (x − xB )2 + (z − zB )2 ,   T3 = mload (z̈ + g)Cθ − ẍSθ , L3 = J1 L̈1 , ρ1  J2  u2 = T3 ρ2 − L̈2 + L̈3 . ρ2 u1 = T1 ρ1 − If y, ẏ, . . . , y (4) are known, then all system variables can be computed from them except singularities. For prescribed initial y0 and final y1 and transient time TF , five times differentiable y(t) polynomials can be found connecting the points with straight line in the space from which all the system states x(t) and inputs u(t) can be reconstructed. It follows from the equilibrium of the internal forces that the line AB in the direction of the horizontal rope L1 is the bysectrix of the angle 2γ between PB and 2.5 Flatness Control 59 BC. Hence, the magnitudes of the internal forces T3 for L2 and T1 for L1 are related by T1 = 2Cγ T3 . By using the flat output all the variables describing the 2D crane can be determined by (2.96). In order to avoid the first and second order symbolic differentiation of the nonlinear expressions for L1 , L2 , L3 , numerical differentiation can be applied (see spline, unmkpp, mkpp in MATLAB). Finally, the flatness based input torques u1 , u2 for the motors can be determined, where Ji and ρi denote the inertia and the radius of the winch, respectively. Assuming zero derivatives until order five in the initial and final positions, the 11th order polynomial connecting (x0 , z0 ) and (x1 , z1 ) has the form   x(τ ) = x0 + (x1 − x0 )τ 6 × a6 + a7 τ + a8 τ 2 + a9 τ 3 + a10 τ 4 + a11 τ 5 , (2.97) where τ = t/TF is the normalized time and the coefficients for both x(τ ) and z(τ ) are a6 = 0.462, a7 = −1.980, a9 = −3.080, a10 = 1.386, a8 = 3.465, a11 = −0.252. (2.98) Neglecting the feedforward compensated friction and the centripetal and Coriolis effects (because of the slow angular velocities of typical cranes) the basic equations of the underactuated system are J1 L̈1 = T1 ρ1 − u1 , ρ1  J2  L̈2 + L̈3 = T3 ρ2 − u2 . ρ2 (2.99) The system is submitted to constraints with respect to L1 and L2 hence Lagrange multipliers could have been used. Fortunately, instead of this relatively complicated method, the equilibrium between internal forces can be exploited, see Kiss [69], who developed a form of the dynamic model for the choice x = (γ , α − β, L3 , γ̇ , (α̇ − β̇), L̇3 )T where α = const. However, the measured outputs are L1 , L2 + L3 , L̇1 , L̇2 + L̇3 which depend on these state variables in a nonlinear way and would make necessary the use of nonlinear state estimation. Hence, a new model has been developed using x = (L1 , L2 , L3 , L̇1 , L̇2 , L̇3 )T , see [74]. The idea is the use of the cosine theorem by which Cγ = l 2 − L21 − L22 , 2L1 L2 Cβ = l 2 + L22 − L21 . 2lL2 (2.100) For L1 and L2 , the expressions in (2.96) can be used. By elementary geometry and using     ϕ = (π/2) − γ + (α − β) , θ = π − 2γ + (α − β) , it yields x = kSα + L1 Cϕ + L3 Sθ = kSα + L1 Sγ +(α−β) + L3 S2γ +(α−β) , z = kCα + L1 Sϕ − L3 Cθ = kCα + L1 Cγ +(α−β) + L3 C2γ +(α−β) . (2.101) 60 2 Basic Nonlinear Control Methods The main problem is the computation of T3 from the state variables which is needed in (2.99). This can be performed using mẍ = −T3 Sθ , m(z̈ + g) = T3 Cθ for the load, from which it follows   Cθ ẍ + Sθ (z̈ + g) = 0, m −Sθ ẍ + Cθ (z̈ + g) = T3 . (2.102) Notice that the presented flatness based method computes only the nominal path and the nominal (open loop) control but does not solve the feedback control problem. However, the results can be used for feedforward compensation or linearization along the path. 2.6 Backstepping Backstepping control is a popular method for controlling nonlinear systems given in strictly feedback form ẋ1 = G1 (x̄1 )x2 + f1 (x̄1 ), ẋ2 = G2 (x̄2 )x3 + f2 (x̄2 ), .. . (2.103) ẋn−1 = Gn−1 (x̄n−1 )xn + fn−1 (x̄n−1 ), ẋn = Gn (x̄n )u + fn (x̄n ), y = h(x1 ), where xi ∈ R m , i = 1, . . . , n are vector parts of the state vector, y ∈ R m is the output, x̄i = (x1T , . . . , xiT )T is a short notation, h is an invertible function (i.e. its Jacobian hx1 is an invertible matrix), Gi are invertible matrices, i = 1, . . . , n and all functions are appropriately smooth. We assume the task is to realize a prescribed path yd (θ ) ∈ R m for the output variable y. The path is parametrized in θ ∈ R 1 . Let vs (θ, t) ∈ R 1 be the prescribed speed of the path parameter to which a parameter speed error ωs (θ̇ , θ, t) = vs (θ, t) − θ̇ may exist. The result of the path design subtask is the path parameter θ , the path yd (θ ) and the desired path parameter speed vs (θ, t). An extra problem is to make the parameter speed error ωs going to zero using high level control. A special case is θ = t, vs = 1 in which case ωs ≡ 0 is already satisfied and the desired path is yd (t). We shall often need the total derivative by the time of parameters of the form αi−1 (x̄i−1 , θ, t), that is, ∂αi−1 dαi−1 ∂αi−1 ∂αi−1 = θ̇ ẋ1 + · · · + ẋi−1 + dt ∂x1 ∂xi−1 ∂θ θ θ =: σi−1 + αi−1 θ̇ = σi−1 + αi−1 (vs − ωs ). (2.104) 2.6 Backstepping 61 Observe that the derivatives ẋi can be substituted by the right side of the state equations. The first term σi−1 in the total time derivative α̇i−1 is that part which does not contain θ̇ . Notice that any variable in the upper index denote the partial derivative by the variable, see also hx1 . Now we present the backstepping compensation method similarly to Skjetne, Fossen and Kokotovich [130], but we neglect the disturbance effects for simplicity. At every level, we design the virtual control αi−1 , for stabilization purposes we choose Hurwitz matrix Ai , that is, matrix whose eigenvalues are on the open left complex plane, choose positive definite matrix Qi > 0 and solve the Lyapunov equation Pi Ai + ATi Pi = −Qi , Qi > 0, Pi > 0, Ai is Hurwitz, (2.105) to find the symmetric and positive definite matrix Pi > 0 which will be used in the construction of the Lyapunov function Vi . The Lyapunov function for the composite system will be V = Vn . During the process, the original variables xi will be changed to zi and the equilibrium point will be z = (z1T , . . . , znT )T = 0 whose stability has to be guaranteed. The backstepping algorithm consists of the following steps. Step i = 1 In the first step, let z1 = y − yd and z2 = x2 − α1 . Then ż1 = hx1 ẋ1 − ẏd = hx1 (G1 x2 + f1 ) − ẏd = hx1 G1 (z2 + α1 ) + hx1 f1 − ydθ (vs − ωs ). Define the first virtual control by   x −1  1 A1 z1 − hx1 f1 + ydθ vs . α1 := G−1 1 h (2.106) ż1 = hx1 G1 z2 + A1 z1 + ydθ ωs . (2.107) Substituting α1 into ż1 then ż1 = hx1 G1 z2 + hx1 G1 α1 − ydθ (vs − ωs ) and canceling the appropriate terms with positive and negative sign yields Define the first partial Lyapunov function by V1 = z1T P1 z1 and take into consideration that V̇1 = 2z1T P1 ż1 and then  ) (  2z1T P1 A1 z1 = 2 z1 , P1 A1 z1  = z1 , P1 A1 + AT1 P1 z1 = −z1T Q1 z1   V̇1 = 2z1T P1 hx1 G1 z2 + A1 z1 + ydθ ωs = −z1T Q1 z1 + 2z1T P1 hx1 G1 z2 + 2z1T P1 ydθ ωs , $ %& ' τ1 (2.108) 62 2 Basic Nonlinear Control Methods τ1 = 2z1T P1 ydθ . Step i = 2 Since the desired path appears only in the definition of z1 , therefore some differences will be in ż2 . In the second step, let z3 = x3 − α2 . Then ż2 = ẋ2 − α̇1 and thus ż2 = G2 (z3 + α2 ) + f2 − σ1 − α1θ (vs − ωs ) = G2 z3 + G2 α2 + f2 − σ1 − α1θ (vs − ωs ). Define the second virtual control by   −1 T  x1 T α2 := G−1 P1 z1 − f2 + σ1 + α1θ vs . 2 A2 z2 − P2 G1 h (2.109) Substituting α2 into ż2 and canceling the appropriate terms with positive and negative sign yields  T ż2 = G2 z3 + A2 z2 − P2−1 GT1 hx1 P1 z1 + α1θ ωs . (2.110) Define the second partial Lyapunov function by V2 = V1 + z2T P2 z2 and take into consideration that V̇2 = V̇1 + 2z2T P2 ż2 and 2z2T P2 A2 z2 = −z2T Q2 z2 then V̇2 = −z1T Q1 z1 + 2z1T P1 hx1 G1 z2 + τ1   T  + 2z2T P2 G2 z3 + A2 z2 − P2−1 GT1 hx1 P1 z1 + α1θ ωs   = −z1T Q1 z1 − z2T Q2 z2 + 2z2T P2 G2 z3 + τ1 + 2z2T P2 α1θ ωs , (2.111) %& ' $ τ2 τ2 = τ1 + 2z2T P2 α1θ . Steps i = 3, . . . , n − 1 Notice that α1 , ż1 , V̇1 , α2 , ż2 contain hx1 but V̇2 does not. Hence, in the next steps some modifications are necessary: zi = xi − αi−1 ,   θ αi = Gi−1 Ai zi − Pi−1 GTi−1 Pi−1 zi−1 − fi + σi−1 + αi−1 vs , θ żi = Gi zi+1 + Ai zi − Pi−1 GTi−1 Pi−1 zi−1 + αi−1 ωs , i Vi = zjT Pj zj , j =1 i V̇i = − j =1 zjT Qj zj + 2ziT Pi Gi zi+1 + τi ωs , θ τi = τi−1 + 2ziT Pi αi−1 . (2.112) 2.6 Backstepping 63 Step i = n θ , from which the In the last step, let zn = xn − αn−1 , żn = Gn u + fn − σn−1 − αn−1 control law can be determined:   θ −1 T u = G−1 n An zn − Pn Gn−1 Pn−1 zn−1 − fn + σn−1 + αn−1 vs , θ ωs , żn = An zn − Pn−1 GTn−1 Pn−1 zn−1 + αn−1 n Vn = zjT Pj zj , (2.113) j =1 n V̇n = − j =1 zjT Qj zj + τn ωs , θ τn = τn−1 + 2znT Pn αn−1 . The closed loop system can be brought on the form ż = A(x̄n , θ, t)z + b(x̄n−1 , θ, t)ωs , (2.114) where A(x̄n , θ, t) ⎡ A1 ⎢−P −1 GT (hx1 )T P1 1 ⎢ 2 ⎢ 0 =⎢ ⎢ .. ⎣ . 0 ⎛ ⎞ ydθ ⎜ θ ⎟ ⎜ α ⎟ ⎜ 1 ⎟ ⎜ ⎟ b(x̄n−1 , θ, t) = ⎜ α θ ⎟ . ⎜ 2 ⎟ ⎜ .. ⎟ ⎝ . ⎠ θ αn−1 hx1 G1 A2 −P3−1 GT2 P2 .. . 0 G2 A3 .. . 0 0 G3 .. . ··· ··· ··· .. . 0 0 0 .. . 0 ··· 0 −Pn−1 GTn−1 Pn−1 An ⎤ ⎥ ⎥ ⎥ ⎥, ⎥ ⎦ (2.115) Remark • The system stability depends on τn ωs where ωs is the speed error depending on the path parameter. However, if a high level controller makes ωs convergent to zero then the derivative of the Lyapunov function V̇ = V̇n becomes negative definite. • If the path is designed as function of the time, that is, θ = t and the path is yd (t), then ωs ≡ 0, and the closed loop is globally asymptotically stable. 64 2 Basic Nonlinear Control Methods θ θ̇ hides the complexity of the computation. In • The notation α̇i−1 = σi−1 + αi−1 reality, the formulas are early exploding with increasing n. The use of symbolic computation tools is suggested to find the derivatives for n > 2. 2.7 Sliding Control Sliding control is an important method in the class of variable structure control approaches [8, 150]. Its importance is justified by the fact that sliding controller does not need the precise model of the process to be controlled, it is enough to know a simplified model and some upper bounds of the modeling errors. On the other hand, important other methods exist which ever are not sliding controller but integrate in their algorithms the sliding control principle too. Such a method is for example self-tuning adaptive control. We try to introduce the sliding control concept as simple as possible. Assume the state variable is x = (y, y ′ , . . . , y (n−1) )T and the SISO system has input affine model and error signal y (n) = f (x) + g(x)u, (2.116) ỹ(t) = yd (t) − y(t), (2.117) respectively. Suppose xd (0) = x(0) otherwise the error will be composed by integration. The switching surface s(x, t) = 0, called sliding surface, is defined by the rule  n−1 d s(x, t) := ỹ(t), (2.118) +λ dt where λ > 0. It is evident that if the trajectory remains on the sliding surface (sliding mode) then the error goes exponentially to zero. Notice that 21 |s|2 can be considered as Lyapunov function hence it is useful to require 1 d 2 |s| = ss ′ ≤ −η|s|, 2 dt (2.119) where η > 0. If the above conditions are satisfied but in the beginning the trajectory is not on the sliding surface, that is, s(0) = 0, then (since, for example, in case of s(0) > 0 yields s ′ ≤ η) the trajectory surely reaches the sliding surface s = 0 within the time ts ≤ |s(0| . η (2.120) The time for approaching the sliding surface can be influenced by the parameter η while the time of decaying by the parameter λ, which simplify the design. In consequence, the main task of every control system, that is, eliminating the error, is conceptually fulfilled. 2.7 Sliding Control 65 2.7.1 Sliding Control of Second Order Systems The remaining question is how to choose the control law in order to satisfy the above conditions. We illustrate it through examples for second order systems of increasing complexity. 2.7.1.1 Proportional Control Let the system to be controlled ÿ = f (x) + u, the error signal is ỹ(t), n = 2, and by definition s = ỹ˙ + λỹ, (2.121) ˙ s ′ = ÿd − ÿ + λỹ˙ = ÿd − f − u + λỹ. (2.122) Assume that instead of f (x) only its estimation fˆ(x) is available. Let the form of the control u = û + k(x) sign(s). (2.123) It is clear that on the sliding surface s = 0, sign(0) = 0 by definition, hence u = û. Reaching the sliding surface the best concept is to remain on it since then the error goes exponentially to zero. But if s = 0 (constant), then s ′ = 0, too. The only information is fˆ(x) therefore the strategy may be s = 0, fˆ(x) ⇒ ˙ û = ÿd − fˆ(x) + λỹ. s ′ = 0, u = û, (2.124) (2.125) However, if the sliding surface has not been reached yet, that is, s = 0, then in order to reach the sliding surface within finite time, ss ′ ≤ −η|s| has to be satisfied, hence s ′ = fˆ − f − k(x) sign(s), ! !   ss ′ = f − fˆ s − k(x)|s| ≤ !f − fˆ!|s| − k(x)|s| ≤ −η|s|, ! ! k(x) ≥ !f (x) − fˆ(x)! + η. (2.126) (2.127) (2.128) Let the upper bound of the deviation between model and estimation be given by the known function F (x), ! ! !f (x) − fˆ(x)! ≤ F (x) (2.129) then k(x) can be chosen k(x) = F (x) + η. (2.130) 66 2 Basic Nonlinear Control Methods 2.7.1.2 Integral Control the system be again ÿ = f (x) + u, but now the error is given by the integral *Let t ỹ(τ ) dτ , for which formally n = 3 can be assumed. Then by definition 0 s=  d +λ dt 2  0 t ỹ(τ ) dτ = ỹ˙ + 2λỹ + λ2  t ỹ(τ ) dτ, (2.131) 0 s ′ = ÿd − ÿ + 2λỹ˙ + λ2 ỹ = ÿd − f − u + 2λỹ˙ + λ2 ỹ. (2.132) Hence, similarly to the previous case, the strategy may be s = 0, fˆ(x) ⇒ s ′ = 0, u = û yielding u = û + k(x) sign(s), û = ÿd − fˆ(x) + 2λỹ˙ + λ2 ỹ, k(x) = F (x) + η. (2.133) (2.134) (2.135) It is an advantage of integral control that s(0) = 0 can also be assured, that is, the control can already start on the sliding surface eliminating ts , if we choose  t 2 ˙ ˙ ỹ(τ ) dτ − ỹ(0) − 2λỹ(0). (2.136) s(x, t) := ỹ + 2λỹ + λ 0 Remark The difference between proportional and integral control is in the computation of s and û, however k(x) is the same. Henceforth, we shall deal only with proportional control, and in case of integral control we modify the final s and û according to the above results. 2.7.1.3 Proportional Control in Case of Variable Gain In the above examples, we had unit gain. Now, we consider again the second order system ÿ = f (x) + g(x)u but with state dependent gain having strictly positive sign. Suppose that the estimation ĝ(x) of the state dependent gain and a parameter β > 0 (may also be state dependent) is known, furthermore the relation between real and estimated gain satisfies the special condition β −1 ≤ ĝ ≤ β. g (2.137) By definition s=   d + λ ỹ = ỹ˙ + λỹ, dt ˙ s ′ = ÿd − ÿ + λỹ˙ = ÿd − f − gu + λỹ. (2.138) (2.139) 2.7 Sliding Control 67 Let the form of the controller   u = b̂−1 û + k(x) sign(s) , (2.140) û = ÿ − fˆ(x) + λỹ. (2.141) and derive û from the strategy s = 0, fˆ(x), b̂(x) ⇒ s ′ = 0, u = û, then Considering the general case s = 0 and supposing the sliding surface has not been reached yet, then   s ′ = fˆ − f + 1 − g ĝ −1 û − g ĝ −1 k(x) sign(s), (2.142) ! ! ! ! ss ′ ≤ !f − fˆ!|s| + !1 − g ĝ −1 !|û||s| − g ĝ −1 k(x)|s| ≤ −η|s|, (2.143) ! ! ! ! (2.144) k(x) ≥ ĝg −1 !f − fˆ! + !ĝg −1 − 1!|û| + ĝg −1 η. According to the bounds of ĝg −1 the nonlinear gain k(x) can be chosen k(x) = β(F + η) + (β − 1)|û|. (2.145) Now let us consider the more practical case if minimal and maximal bounds of the gain are known: gmin ≤ g ≤ gmax . (2.146) This case can be transformed to the previous one by using the geometric average of the minimal and maximal gains: √ ĝ := gmin · gmax , (2.147) / gmax β := , (2.148) gmin β −1 ≤ ĝ ≤ β. g (2.149) Notice that bmin , bmax may be state dependent. 2.7.2 Control Chattering Unfortunately, the realization of sliding control has an unpleasant problem. Since k(x) is usually nonzero on the sliding surface and ⎧ ⎪ ⎨+1, if s > 0, sign(x) = 0, if s = 0, ⎪ ⎩ −1, if s < 0 68 2 Basic Nonlinear Control Methods Fig. 2.11 Boundary layer for second order system hence the control is discontinuous, the jump is ±k(x). When the trajectory reaches the sliding surface s(x, t) = 0, the control should perform ±k(x) jump within zero time, which is impossible. The trajectory steps over to the other side of the sliding surface, then returns back to the sliding surface, but cannot stop within zero time there, hence steps over to the first side, and repeats the process. Meanwhile between the two sides of the sliding surface the change of the control is ±k(x) hence the control is chattering with high frequency (control chattering). This high frequency excitation may be harmfully, especially if the system has nonmodeled structural frequency ωstruct of resonance character near to the frequency of chattering, because the magnitude may be amplified which can damage the system. 2.7.2.1 Compensation of Control Chattering Using Boundary Layer For eliminating high frequency control chattering, first the sign function will be changed to the sat function: ⎧ ⎪ ⎨+1, if s > φ, sat(s/φ) = s/φ, if − φ ≤ s ≤ φ, ⎪ ⎩ −1, if s < −φ. The price is that a boundary layer neighboring should be formed around the sliding surface: !   ! B(x, t) = x : !s(x, t)! ≤ φ . Outside the boundary layer we save the original control while inside it u will be interpolated by sat(s/φ). For example, in case of known gain, proportional control and yd = const the boundary layer around the sliding surface s = −ẏ + λ(yd − y) can be characterized by its thickness φ and precision ε, see Fig. 2.11. 2.7 Sliding Control 69 From theoretical point of view, it is an important consequence that both ỹ and ỹ (i) are bounded within the boundary layer. Denoting the differential operator (Laplace d then for x(0) = 0 initial condition transform variable) by p = dt ỹ = ỹ (i) 1 s, (p + λ)n−1 i  λ pi 1 1− = s. s= (p + λ) (p + λ)n−1 (p + λ)n−1−i By repeated application of the convolution theorem, it follows within the boundary layer ! t ! ! ! ! e−λτ s(t − τ ) dτ ! ≤ φ/λ ⇒ |ỹ| ≤ φ =: ε, ! ! λn−1 0 ! !  t ! ! !1 − λe−λτ dτ !! ≤ 2, ! 0 ! (i) ! !ỹ ! ≤ φ 1 2i φ = (2λ)i n−1 = (2λ)i ε. λn−1−i λ If the initial conditions differ from zero, then the error remains still bounded because of the stability of the filter: x = xd + O(ε). Now consider the design of the controller if a boundary layer is present. The thickness φ of the boundary layer will be chosen time varying in order to decrease the tracking error ỹ. Hence, the condition for 12 s 2 will be modified to   1 d 2 |s| = ss ′ ≤ φ̇ − η |s|, 2 dt (2.150) which means that we prescribe stronger condition for φ̇ < 0 than for φ̇ ≥ 0. 2.7.2.2 Boundary Layer and Time Varying Filter for Second Order System Consider first proportional control with constant gain g = 1. Evidently φ̇ and η have opposite effects, hence, assuming k(x) belongs to η without boundary layer, then in case of boundary layer it needs k̃(x) = k(x) − φ̇, u = û + k̃(x) sat(s/φ). (2.151) (2.152) Therefore, within the boundary layer yields s ′ = fˆ − f − k̃(x)s/φ, (2.153) 70 2 Basic Nonlinear Control Methods from which it follows s ′ = −k̃(xd )s/φ + f (xd ) + O(ε). (2.154) Notice that s ′ behaves as a first order linear system along the trajectory xd (t) under the effect of bounded disturbance. Let choose the time constant equal to λ then we obtain the balance condition k̃(xd ) := λ, φ (2.155) from which it follows for the varying boundary layer φ̇ + λφ = k(xd ). (2.156) Consider now the case of state dependent gain. Then using (2.144) and η := η − φ̇, it follows ĝ k̃(x) ≥ k(x) − φ̇, g φ̇ > 0 : (2.157) k̃(x) ≥ k(x) −   ĝ φ̇ = k(x) − β −1 φ̇, g min k̃(xd ) = k(xd ) − β −1 φ̇,     ĝ φ̇ < 0 : k̃ ≥ k(x) + −φ̇ = k(x) − β φ̇, g max (2.158) k̃(xd ) = k(xd ) − β φ̇. Prescribe for variable gain the balance condition k̃(xd ) β := λ, φ (2.159) then we obtain for the thickness of the boundary layer the law φ̇ > 0 : φλ = k(xd ) − β −1 φ̇ β φ̇ < 0 : φλ = k(xd ) − β φ̇ β ⇒ ⇒ φ̇ + λφ = βk(xd ), λ 1 φ̇ + 2 φ = k(xd ). β β (2.160) 2.7.3 Sliding Control of Robot Sliding control elaborated for SISO system can be applied for robots considering each degree of freedom as a separate SISO system and modeling the coupling effects 2.8 Receding Horizon Control 71 as disturbances [8]. Robot: H q̈ + h = τ. Controller: τ = Ĥ u + ĥ, u = ? sliding control.   Closed loop: q̈ = H −1 ĥ − h + H −1 Ĥ u. All the functions are state dependent, x = (q T , q̇ T )T is the state, q is the joint variable. Suppose the estimation Ĥ , ĥ is good enough, especially the elements in the main diagonal of H −1 Ĥ = I + H −1 (Ĥ −1 − H ) are strictly positive (i.e., the gains are positive). Denote (H −1 )i the i-th row of H −1 , let h = ĥ − h and x + = (|x1 |, . . . , |xn |)T for any vector x. Develop for each subsystem a sliding controller:   −1     H Ĥ ij uj , q̈i = H −1 i h + H −1 Ĥ ii ui +  −1  ⎫ ⎪ ⎪ ⎪ ⎬ i=j gi,min ≤ H Ĥ ii ≤ gi,max . functions of q. βi = gi,max /gi,min ⎪ ⎪ ⎪ √ ⎭ Gi = ĝi−1 = 1/ gi,max · gi,min Then the control law for the integrating sliding controller yields   ui = Gi (q) ûi + k̃i (q, q̇) sat(si /φi ) , ûi = q̈di + 2λq̃˙i + λ2 q̃i ,  t si = q̃˙i + 2λq̃i + λ2 q̃i (θ ) dθ − q̃˙i (0) − 2λq̃i (0), 0 ki (q, q̇) ≥ βi "   +  1 − βi−1 |ûi | + H −1 i h+ + j =i # ! −1  ! ! ! Gj |q̈dj | H Ĥ ij + ηi . Notice that during the computation of ki the approximation u ≈ Gj q̈dj was applied in order to avoid the solution of an equation system. For computing k̃i and φi , the formulas elaborated above can be used. 2.8 Receding Horizon Control Model Predictive Control (MPC) is a popular method especially in the process industry where relatively slow process models allow online optimization. Linear predictive control is well elaborated both in frequency (operator) domain [25] and state space [87]. Depending on the type of constraints, optimal prediction leads to 72 2 Basic Nonlinear Control Methods Quadratic (QP) or Nonlinear Programming (NP) which are well supported by existing softwares (e.g., MATLAB Optimization Toolbox). 2.8.1 Nonlinear Receding Horizon Control For nonlinear systems, recent approaches are usually based on new optimum seeking methods suited for the predictive control problem or traditional analytical optimum conditions and gradient based optimization techniques [4, 65]. Basis for the later ones is a general form of the Lagrange multiplicator rule which is also valid in Banach spaces [73]. Here a version of the Receding Horizon Control (RHC) approach of model predictive control will be presented. Using RHC, the optimization is performed in the actual horizon in open loop, then the first element of the optimal control sequence will be performed in closed loop, the horizon is shifted to the right and the process is repeated for the new horizon. For simplification of the notation, the start of the moving horizon will be normalized to zero in every step. It follows from the RHC principle that stability problems can arise if the objective function does not contain any information about the behavior after the horizon. To improve the stability properties, the techniques of Frozen Riccati Equation (FRE) and Control Lyapunov Function (CLF) can be suggested [161]. From engineering point of view, the increase of the horizon length N can improve the stability chance however at the same time the real-time optimization problem will be more complex. Critical may be the presence of constraints in form of limited control set or even more in form of state variable constraints. Although efficient numerical optimization techniques exist for constrained optimization like for example, active set method or interior point method, however in real-time environment simpler gradient based techniques are more realistic. They apply penalty function and control projection instead of the constraints and use conjugate gradient or Davidon–Fletcher–Power (DFP) method for unconstrained optimization. They are especially important for quick systems like robots and vehicles where the necessary sampling time is typically in the order of 10–20 ms for the (high level) control system. Hence, we will concentrate here only on quadratic objective function however the system may be nonlinear. Typical finite horizon nonlinear predictive control problems in discrete time lead to optimization in finite dimensional space where the variables are x = {xi }N i=0 and N −1 u = {ui }i=0 , Qi ≥ 0 and Ri > 0 punish large states and control signals respectively, the optimality criterion to be minimized is 1 F0 (x, u) = 2 F0 (x, u) =: N−1 i=0 N −1 i=0   1 Qi xi , xi  + Ri ui , ui  + QN xN , xN , 2 Li (xi , ui ) + Φ(xN ), (2.161) 2.8 Receding Horizon Control 73 the constraints are the discrete time state equation ϕ(xi , ui ) − xi+1 = 0, (2.162) the control set ui ∈ M and the initial condition a − x0 = 0. If (x ∗ , u∗ ) is the optimal solution then Jx′ (x ∗ , u∗ )x + Ju′ (x ∗ , u∗ )u is the derivative of ( ) J (x, u) = F0 (x, u) + λ0 , a − x0  + λ1 , ϕ(x0 , u0 ) − x1 + · · · ) ( + λN , ϕ(xN−1 , uN−1 ) − xN . (2.163) By introducing the Hamiltonian functions ( ) Hi = λi+1 , ϕ(xi , ui ) + Li (xi , ui ), and using the results of [73] the necessary condition of the optimality are obtained as λN = QN xN , (2.164) λi = ∂Hi /∂xi = Qi xi + (∂ϕ/∂xi )T λi+1 , T ∂Hi /∂ui = Ri ui + (∂ϕ/∂ui ) λi+1 , dJ = N −1 i=0 ( ) ∂Hi /∂ui , u∗i − ui ≤ 0, (2.165) (2.166) ∀ui ∈ M. (2.167) For the control design within the actual horizon, first the initial condition x0 and the approximation of u are needed. The latter may be the solution in the previous horizon shifted to the left and supplying the missing term uN (for example, repeating the last term etc.). Notice that for the very first horizon no initial control sequence is present yet thus special method is necessary to supply it. The optimization repeats the following steps: • • • • Solution of the state equations in x = {xi }N i=0 . Computation of the Lagrange multipliers λi . Computation of the derivatives ∂Hi /∂ui . Numerical optimization based on gradient type methods (gradient, conjugate gradient, DFP etc.) to find u = {ui }N−1 i=0 . Nonpredictive design method should be used to find the initial approximation for the first horizon. If the original system is a continuous time one, then first it can be approximated by a discrete time one, for example, ẋ = fc (x, u) ⇒ xi+1 = xi + Tfc (xi , ui ) =: ϕ(xi , ui ), (2.168) 74 2 Basic Nonlinear Control Methods where T is the sampling time. If the full state can not be measured then x0 can be approximated by using extended Kalman filter or other state estimator/observer [30]. If y = Cx is the system output and ỹ = yd − y is the error, then the cost function can be modified as ỹ = yd − Cx, ( ) 2Li (xi , ui ) = Q̃i ỹi , ỹi + Si xi , xi  + Ri ui , ui , ) ( 2Φ(xN ) = Q̃N ỹN , ỹN , (2.169) (2.170) (2.171) and the derivatives can be computed by ∂Li /∂xi = −C T Q̃i ỹi + Si xi , (2.172) ∂Φ/∂xN = −C Q̃N ỹN . (2.173) T Input constraints are enforced by projecting ui into the constraints set. State constraints can be taken into consideration as an additional penalty added to L(xi , ui ) in the cost function. The weighting in the term Φ(xN ) has great influence on the stability and dynamic behavior of the system under predictive control. The appropriate weighting term can be chosen in experiments. The control design strategy can be summarized in the following steps: • Development of the nonlinear dynamic model of the system. • Optimal (suboptimal, flatness-based etc.) open loop control signal design used for initial approximation of the control sequence in the horizon. • Elaboration of the disturbance model reduced on the system input. • Development of the model based nonlinear predictive controller and its use in closed loop control. The first element of the control sequence in the actual horizon is completed by the feedforward compensations of the disturbance. Remark As can be seen from (2.165) and (2.166), ∂ϕ/∂xi and ∂ϕ/∂ui are needed during numerical optimization therefore their computation time has large influence to the real-time properties. In mechanical systems often appear terms of the form f (x) = A−1 (x)b(x) at the right side of the state equation. See, for example, robots where q̈ = −H −1 (q)h(q, q̇) + H −1 (q)τ . The following formula can speed up the computation: ∂f ∂A −1 ∂b = −A−1 A b + A−1 . ∂xi ∂xi ∂xi (2.174) 2.8.2 Nonlinear RHC Control of 2D Crane We can assume that the path and the nominal control for the differentially flat 2D crane have already been designed, see Sect. 2.1.3. Now we shall concentrate only 2.8 Receding Horizon Control 75 on the steps which can accelerate the RHC computation based on the above remark. Since ϕ(xi , ui ) = xi + Tfc (xi , ui ), hence it is enough to find fc (x, u) and then solve its differentiation. First, the Jacobian (dx) and Hessian (D2x) have to be found for which carefully performed symbolic differentiation can be suggested. By using them the derivatives, ẋ, ẍ, ż, z̈ can be determined. For example, in the case of x(t) yields  T ẋ = dx · L̇1 L̇2 L̇3 , T   T   ẍ = dx · L̈1 L̈2 L̈3 + L̇1 L̇2 L̇3 · D2x · L̇1 L̇2 L̇3 . (2.175) The resulting continuous time dynamic model in MATLAB convention for indexing is the following: A(1, :) = Cθ dx + Sθ dz,   T  b(1) = L̇1 L̇2 L̇3 (−Cθ D2x − Sθ D2z) L̇1 L̇2 L̇3 − Sθ g, A(2, :) = 2Cγ m(Sθ dx − Cθ dz)ρ1 , A(2, 1) = A(2, 1) + J1 /ρ1 ,   T  b(2) = L̇1 L̇2 L̇3 2Cγ m(−Sθ D2x + Cθ D2z)ρ1 L̇1 L̇2 L̇3 + 2Cγ mCθ gρ1 , A(3, :) = m(Sθ dx − Cθ dz)ρ2 , A(3, 2 : 3) = A(3, 2 : 3) + [J2 /ρ2 J2 /ρ2 ],   T  b(3) = L̇1 L̇2 L̇3 m(−Sθ D2x + Cθ D2z)ρ2 L̇1 L̇2 L̇3 + mCθ gρ2 , T  L̈1 L̈2 L̈3 = A−1 b − A−1 (0u1 u2 )T . For RHC A and b have to be differentiated once more, see the above remark. However, this can also be performed by using symbolic computation tools. Notice that symbolic computations can be performed offline, only the final formulas have to be implemented in real-time. An important question remains the appropriate choice of the sampling time T so that the approximation of the continuous time system by the discrete time one using Euler formula is accurate enough. Do not forget that the sampling time has influence on the horizon length because the effective horizon length in time units is N T which has to be fitted to the speed of the system. For large N , the use of basis functions (splines etc.) can be suggested in order to decrease the number of variables to be optimized. Numerical results with RHC control of a small size model of a real cable-driven crane of US Navy can be found in [74]. 76 2 Basic Nonlinear Control Methods 2.8.3 RHC Based on Linearization at Each Horizon Till now we discussed RHC based on the nonlinear dynamic model. Of course there exist the possibility to linearize the system at the beginning of each horizon if the linear approximation is accurate enough in the entire horizon. Applying RHC for the LTV or LTI model, valid in the horizon, simple control implementations can be found. Especially, if the objective function is quadratic and the constraints are linear equalities and/or linear inequalities then in each horizon a Quadratic Programming (QP) problem has to be solved for which efficient active set or interior point methods are available. Especially, if there are no constraints then analytical solution is possible which enormously simplifies the real-time conditions. 2.9 Closing Remarks The main goal of the chapter was to give a survey of the basic nonlinear control methods. Central question was the introduction of the main control ideas and the presentation of the results supporting the solutions of nonlinear control problems. In the presentation, a compromise was sought between theoretical precision and engineering view. Nonlinear control systems have to be tested before application for which simulation methods can be applied. During simulation, the real system is substituted by its model. For modeling of continuous time dynamic systems, nonlinear and linear models can be used. Important problem is the computation of the transients for which in case of nonlinear systems numerical methods should be used. For this purpose, simple (Euler) and more accurate (Runge–Kutta and predictor–corrector) methods were shown. For linear systems, the computation can be simplified by using the fundamental matrix (LTV systems) or the exponential matrix or transfer function (LTI systems). Nonlinear systems can be divided into different classes. Nonlinear systems often have to satisfy kinematic constraints in the space of generalized coordinates and their derivatives. The constraints can be divided into holonomic and nonholonomic ones. The kinematic constraints are usually given as a set of equations linear in the derivatives of the generalized coordinates but nonlinear in the generalized coordinates (Pfaffian constraints). If there exist a nonlinear coordinate transformation (diffeomorphism) after which the constraints can be eliminated and the number of variables can be reduced, then the system is holonomic, otherwise it is nonholonomic. In the dynamic model of nonholonomic system appear constraint forces, too, described by parts of the kinematic constraints and Lagrange multipliers. A method was shown how to determine the Lagrange multipliers from the dynamic model. Based on energy concept, the Hamiltonian form was introduced and an experiment was performed to simplify the Hamiltonian using a coordinate transformation which is related to the kernel space of the kinematic constraints. Conditions for omitting the kinematic constraints were given based on Poisson bracket. 2.9 Closing Remarks 77 An other nonlinear system class is the class of differentially flat systems which are Lie–Bäcklund equivalent to a trivial system. Differentially flat systems can be linearized by dynamic state feedback and a coordinate transformation. For such system, there is a flat output variable, having the same dimension as the system input, such that the state and the input can be expressed by the flat output variable and its derivatives of finite order. The resulting square system is left and right input–output invertible with trivial zero dynamics. Path design for differentially flat systems is a simple problem because it can be reduced to smooth interpolation between points in the space of the flat output variable. The result is not only the path but also the nominal control along the path. The nominal (open loop) control can be used for feedforward compensation or may be the basis for linearization along the path. The differential flatness property is especially useful for underactuated systems where not every path can be realized by control. Modeling nonlinear systems is an often arising problem. Three simple examples were considered to illustrate how to find the dynamic model of physical systems. The first example was the dynamic modeling of an inverted pendulum mounted on a moving car. To find the model the kinetic and potential energy was found and the Lagrange equations were applied. The inverted pendulum is an underactuated system. The second example was the dynamic model of a quarter car using active suspension. The flexible connections between body and wheel were described by viscous damping factors and spring constants. The resulting model is an LTI system with active force input. The third model was a 2 DOF robot having revolute joints and moving in vertical plane. First the position, velocity and angular velocity of the links were determined then the dynamic model was derived from the Lagrange equations. The coupling and centripetal effects were determined from the kinetic energy by using differentiation. The dynamic model is nonlinear. Stability is a central problem of every control system, especially for nonlinear ones. First the stability, uniform stability and asymptotic stability of any solution of the time varying nonlinear state equation were defined. Then the solution was transformed to the equilibrium point at zero satisfying some conditions. The idea of positive definite Lyapunov function was introduced and based on it Lyapunov’s first theorem (direct method) was formulated for stability and asymptotic stability. For time varying nonlinear systems, Lyapunov’s second theorem (indirect method) was formulated allowing to conclude from the asymptotic stability of the linearized system to the asymptotic stability of the nonlinear one. For LTI system, the stability is equivalent to the solvability of the Lyapunov equation. For time invariant nonlinear system, LaSalle’s theorem was formulated which gives also information about the attraction domain of the stability and brings into relation the asymptotic stability with the maximal invariant set. The classes of K and KL functions were introduced and two theorems were given for showing the relation to the uniformly asymptotically and the globally uniformly asymptotically stable systems. The input-to-state stability (ISS) was defined and a sufficient condition was formulated for ISS. Three forms of the Barbalat’s lemma were formulated which give sufficient conditions for zero limit value of scalar-valued time functions as the time goes to infinity. As an immediate corollary of Barbalat’s lemma, a Lyapunov-like condition 78 2 Basic Nonlinear Control Methods was given which looks like an invariant set theorem in Lyapunov stability analysis of time varying systems. The system behavior in Lp function spaces was characterized with the nonlinear gain. A small gain theorem was formulated for closed loop systems in such function spaces. The discussions implicitly assumed zero initial conditions. Passive systems, amongst them passive, strictly input passive and strictly output passive systems were introduced and a passivity theorem in Lp spaces was formulated which allows to conclude from the stability of the open loop subsystems to the stability of the closed loop if only one external input is active. Dissipative systems allow to integrate the Lyapunov theory and the stability in L2 spaces in some sense. Special is that the number of inputs and outputs must be equal because the scalar product plays a central role. Dissipativity is defined by using the idea of storage function and supply rate which have to satisfy the dissipativity inequality. Special classes of dissipative systems are the passive, the strictly input passive, the strictly output passive systems and the system having finite L2 gain. The dissipative property can be expressed also in differential form which can be checked easier. Three theorems were formulated giving connection between passivity and asymptotic stability, stability conditions of interconnected systems without external input, and a small gain theorem for interconnected dissipative systems without external inputs. These theorems will play important role in the stability investigations of multiagent systems moving in formation. The control of nonlinear dynamic systems is a complex problem. In order to simplify the problem, it is a useful idea to linearize the nonlinear system using appropriate nonlinear coordinate transformation and then compensate it further using linear control methods. Sufficient condition for the input–output linearization of the MIMO nonlinear input affine system is the existence of vector relative degree and the nonsingularity of a special matrix composed from repeated Lie derivatives. If the conditions are satisfied, then a nonlinear coordinate transformation has to be determined which can be formed by completing a set of functions appearing during the process. Then an internal static nonlinear state feedback can be applied which brings the system onto Brunovsky canonical form equivalent to decoupled integrators. However, beside of this linear system appears also a nonlinear one called zero dynamics which is not observable (has no influence on the output). The zero dynamics has to be stable in order to assure closed loop stability. For SISO system, the zero dynamics is independent from the system input, but in this case the Frobenius equation has to be solved in order to construct the nonlinear coordinate transformation. For MIMO systems, this process cannot be applied and the zero dynamics depends also on the system input. The number of inputs and outputs must be the same in the construction, however the output may differ from the physical system output. The weak point of the method is the large number of symbolic computations, the solution of the Frobenius (partial differential) equation in SISO case or the computation of the nonlinear coordinate transformation in the MIMO case, and the computation of the inverse coordinate transformation which is also needed to find the zero dynamics. Some other nonlinear control methods were also discussed in detail, especially because of the complexity of input–output linearization. In flatness control, only the 2.9 Closing Remarks 79 path planning problem for differentially flat underactuated systems was considered. It was demonstrated for the planar (2D) cable-driven crane. The flat output variable was determined and it was shown that the state and the control can be computed from the flat output and its derivatives. Then the path planning was reduced to polynomial interpolation. Backstepping control is a popular method for controlling nonlinear systems given in strictly feedback form. The dimension of the portions of the state vector, the input vector and the physical output must be the same and some invertability conditions have to be satisfied. It was assumed that the path was designed in the space and parametrized in a scalar path parameter which has to satisfy a parameter speed constraint, too. The design is decomposed in steps, in every step a nonlinear virtual control is developed, the state variable portion is changed to a new variable and a partial Lyapunov function is designed. At the end, the last Lyapunov function assures the closed loop stability, but high level control has to eliminate the parameter speed error. Especially, if the path is given as a function of time then the closed loop is already stable without high level control. Backstepping plays also important role in formation stabilization. Sliding control is a kind of variable structure control. The sliding variable is the output of a stable filter with equal time constants driven by the output error. The sliding surface belongs to the zero value of the sliding variable. If the system remains on the sliding surface, then the error goes exponentially to zero. If the sliding variable is initially not on the sliding surface, then the sliding surface can be reached within limited time. A method was presented for the design of sliding controller satisfying the above conditions for SISO systems including proportional and integral control with constant or state dependent gain. About the functions in the system model only upper bounds were assumed. Since the method can cause high frequency control chattering in the neighborhood of the sliding surface therefore a boundary layer was introduced whose thickness determines the precision. Hence, the thickness was chosen state dependent in order to decrease the error. It was shown that with some modifications the sliding control developed for SISO systems can also be applied for robots considering coupling effects amongst the joints as disturbances. Receding Horizon Control (RHC) is a kind of optimal control considered in discrete time in order to make the problem finite dimensional. Using RHC, the optimization is performed in the actual horizon in open loop, then the first element of the optimal control sequence is performed in closed loop, the horizon is shifted to the right and the process is repeated for the new horizon. It follows from the RHC principle that stability problems can arise if the objective function does not contain any information about the behavior after the horizon. It is clear that the increase of the horizon length can improve the stability chance however at the same time the real-time optimization problem becomes more complex. Critical is the presence of constraints for the control and/or state variables. In order to avoid time consuming constrained optimization in real-time, the method of penalty function, control projection and unconstrained optimization using gradient based techniques (conjugate gradient, DFP etc.) were suggested. Under these assumptions, the RHC algorithm for nonlinear discrete time system was elaborated. The critical steps of the compu- 80 2 Basic Nonlinear Control Methods tations were illustrated in the example of the RHC control of the planar (2D) crane which is differentially flat but underactuated. Another RHC strategy may be the linearization at the beginning of each horizon. The linear approximation should be accurate enough in the entire horizon. Considering the actual LTV or LTI model and assuming the objective function is quadratic and the constraints are linear equalities and/or linear inequalities, then in each horizon a Quadratic Programming (QP) problem has to be solved for which efficient numerical methods are available. This approach can also be applied in safety critical systems where high level RHC computes optimal reference signals for the low level control system. http://www.springer.com/978-1-84996-121-9