SIMULTANEOUS SYSTEM IDENTIFICATION AND DISTURBANCE ESTIMATION FOR LINEAR TIME VARYING SYSTEM WITH APPLICATION TO ACTIVE SUSPENSION SYSTEM By Dhruv Pramod Ghiya A THESIS Submitted to Michigan State University in partial fulfillment of the requirements for the degree of Mechanical Engineering-Master of Science 2019 ABSTRACT SIMULTANEOUS SYSTEM IDENTIFICATION AND DISTURBANCE ESTIMATION FOR LINEAR TIME VARYING SYSTEM WITH APPLICATION TO ACTIVE SUSPENSION SYSTEM By Dhruv Pramod Ghiya Various control techniques have been developed in order to improve the suspension performance since late 20th century. Controllers have been developed to reject the road disturbance in case of time invariant suspension systems. Although some of these researches give good results for non- linear suspension systems with parameter uncertainties, there is not much research done which treats a time varying system. I propose here an approach based on output tracking state feedback controller with disturbance rejection for linear time varying system to tackle this problem in case of a quarter car suspension model. The proposed controller works even in case of completely unknown plants. This algorithm, combined with a pole placement controller, can be used to ensure ride comfort and to avoid dam- age to vehicle components. If a nominal model is known, it can also estimate time varying road disturbances which can be written as a summation of sinusoids and this estimate can be used as a preview to enhance the control performance of other vehicles. We compare the proposed algorithm with LQR tracking algorithm in simulation and superior performance is demonstrated. Bounds on the time varying parameters are derived in terms of norm of the states, within which the proposed algorithm is guaranteed to work. ACKNOWLEDGMENTS Firstly, I would like to express my deepest thanks to my advisor, Dr Zhaojian Li, for his patience, motivation and guidance throughout this work. He was always there to help me whenever I was stuck on some problem. He has been a great mentor to me. I would also like to thank my committee members, Prof Guoming Zhu and Prof Ranjan Mukherjee, for their valuable time and assistance. I am really grateful to Prof Ranjan Mukherjee for giving me an amazing opportunity of o↵-campus thesis during my undergraduate studies. If not for him, I would not even have started my studies at MSU in the first place. Special thanks to Prof Hassan Khalil for sharing his knowledge with me and guiding me through- out the project. His wisdom and expertise in this field has been very inspiring and I am honored to have been trained under him during my graduate studies. Finally I would like to thank my Mom and Dad for their love and everlasting support in my endeavors. I could not have done anything without you. iii TABLE OF CONTENTS LIST OF FIGURES KEY TO SYMBOLS 1 Introduction 1.1 Literature review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Motivation and approach towards the problem . . . . . . . . . . . . . . . . . . . . . 1.2.1 Active suspension system constraints . . . . . . . . . . . . . . . . . . . . . . . 2 Parameter Estimation vi ix 1 1 2 3 6 3 State Tracking State Feedback Controller 11 3.1 Without Disturbance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.1.1 Algorithm for Known Plant: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.1.2 Algorithm for Unknown Plant: . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.1.3 Controller for Suspension System . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2 With Disturbance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4 Output Tracking State Feedback Algorithm 4.2 With Disturbance: 17 4.1 Without Disturbance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.1.1 Algorithm for Known Plant: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.1.2 Algorithm for Unknown Plant: 4.1.3 Controller for Suspension System: . . . . . . . . . . . . . . . . . . . . . . . . 20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2.1 Algorithm for Constant Disturbance . . . . . . . . . . . . . . . . . . . . . . . 23 4.2.2 Algorithm for Sinusoidal Disturbance . . . . . . . . . . . . . . . . . . . . . . 24 4.2.3 Algorithm for Non-sinusoidal Disturbance . . . . . . . . . . . . . . . . . . . . 25 4.2.4 Known Plant and Unknown Disturbance . . . . . . . . . . . . . . . . . . . . . 25 4.2.5 Unknown Plant and Disturbance . . . . . . . . . . . . . . . . . . . . . . . . . 27 5 Time Varying Case 29 5.1 State Tracking State Feedback Controller with Slowly Varying Parameters . . . . . . 29 5.2 Output Tracking State Feedback Controller with Slowly Varying Parameters . . . . 31 5.3 Stability under Slowly Varying Parameters . . . . . . . . . . . . . . . . . . . . . . . . 33 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.3.1 Vanishing Perturbations: 5.3.2 Non-vanishing Perturbations: 6 Implementation of Pole Placement controller 38 6.1 Pole placement controller suspension system tracking a constant reference . . . . . . 39 6.2 Time Invariant System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 6.2.1 Results in Absence of Disturbance . . . . . . . . . . . . . . . . . . . . . . . . 41 6.2.2 Results in Presence of Disturbance . . . . . . . . . . . . . . . . . . . . . . . . 42 6.3 Time Variant System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 6.3.1 Results in Presence of Disturbance . . . . . . . . . . . . . . . . . . . . . . . . 43 iv 7 Tracking Comparison With LQR Tracking Controller 44 7.1 LQR Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 8 Discussion and Conclusion APPENDIX REFERENCES 46 50 57 v LIST OF FIGURES Figure 1 Schematics illustrating the flow of the state feedback algorithm. . . . . . . . . . 4 Figure 2 Image on the left hand side is a photo of the actual suspension system manufac- tured by ‘Quanser Technologies’, while the image on the right hand side is the representation of the system [1]. Parameters ms and mus being the masses for sprung mass and unsprung mass, ks and kus the spring constants, bs and bus damping constants, Fc control force, x1, x2 and zr the position vectors of sprung mass, unsprung mass and road profile respectively. Here sprung mass represents the vehicle body and unsprung mass is the wheel, ks and bs represent the actual suspension parameters of the vehicle while kus and bus represent the sti↵ness and damping in the tire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Figure 3 The figure illustrates the error convergence for the parameter estimation of Eq. 11. 10 Figure 4 The figure illustrates the convergence of error for all the four states when state tracking controller was used. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 The figure on left illustrates the convergence of state 1 (zs zus) with respect Figure 5 to time steps (0.001 sec per step) which tracks the reference within 100 time steps. The figure on right illustrates the convergence of state 2 ( ˙zs) which tracks the reference within 150 time steps. The blue signal is the plant state and yellow is the reference state. . . . . . The figure on left illustrates the convergence of state 3 (zus zr) which tracks Figure 6 the reference within 100 time steps. The figure on right illustrates the convergence of state 4 ( ˙zus) which tracks the reference within 150 time steps. The blue signal is the plant state and yellow is the reference state. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 7 The figure on right illustrates the convergence of the parameter k1 which is converged to [5.2348, -82.4405,0.0053,-0.4662] within 150 time steps. The right side figure shows the convergence of the parameter k2 which is converged to 36.7169 within 150 time steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The figure illustrates the output tracking controller performance for unknown Figure 8 plant model when initial conditions for the adaptive law are chosen according to nominal model. The plot on the left is the tracking error and the plot on right is the simulated plant and reference output tracking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 9 The figure illustrates significance of knowing the nominal model of the system. The results obtained here are when the initial conditions are taken to be 0 for all the parameters. The plot on the left is the tracking error and the plot on right is the simulated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . plant and reference output tracking. 14 15 15 21 22 Figure 10 The figure illustrates the output tracking controller performance in presence of disturbance when the plant is assumed to be completely known. The plot on the left is the tracking error and the plot on right is the simulated plant and reference output tracking. . 26 vi Figure 11 The figure illustrates the convergence of the disturbance parameters. As ex- pected, the coecients c1, c2, c3, c4 converged to 0.03, 0.05, 0.02, 0 respectively. The convergence for all the parameters was within 400 time steps. . . . . . . . . . . . . . . . . Figure 12 The figure illustrates the disturbance estimation performance of the controller when the plant is assumed to be completely known. The plot on the left is the error between true and estimated disturbance and the plot on right is the true and estimated disturbance profile for a period of 10 time steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 13 The figure on the left illustrates the output tracking the given reference in presence of disturbance. The figure on right illustrates the error convergence. . . . . . . . . Figure 14 The figure on left illustrates the convergence of the error for all the four states when slowly varying system is controlled using the state tracking feedback control. The figure on right illustrates the tracking performance of the controller for suspension deflection (x1). Figure 15 The results plotted here are for lower variation in the system. The figure on left illustrates the convergence of the error for all the four states when slowly varying system is controlled using the state tracking feedback control. The figure on right illustrates the tracking performance of the controller for suspension deflection (x1). . . . . . . . . . . . . . Figure 16 The results are for the case where A0 = 0.01,! = 5. The figure on the right illustrates the tracking of the plant output to the reference output when slowly varying system is controlled using the output tracking feedback control. The figure on left illustrates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . the convergence of the output error. Figure 17 The results are for the case where A0 = 0.05,! = 5. The figure on the right illustrates the tracking of the plant output to the reference output when slowly varying system is controlled using the output tracking feedback control. The figure on left illustrates the convergence of the output error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 18 The results are for the case where A0 = 0.005,! = 5. The figure on the right illustrates the tracking of the plant output to the reference output when slowly varying system is controlled using the output tracking feedback control. The figure on left illustrates the convergence of the output error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 19 The results are for the case where A0 = 0.005,! = 10. The figure on the right illustrates the tracking of the plant output to the reference output when slowly varying system is controlled using the output tracking feedback control. The figure on left illustrates the convergence of the output error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 20 The figure illustrates the performance of output tracking combined with pole placement controller. The plot on the left is the tracking error and the plot on right is the simulated plant and reference output tracking with the reference model’s output is made to track a constant reference 0.05 using pole placement. . . . . . . . . . . . . . . . . . . . . . 26 27 28 30 30 31 31 32 32 41 vii Figure 21 The results are for the case where r(t) = 0.05 and disturbance as 0.1sin(25t). The figure on the right illustrates the tracking of the plant output to the reference output when system is controlled using the output tracking feedback control with pole placement. The figure on left illustrates the convergence of the output error. . . . . . . . . . . . . . . . Figure 22 The result is for the case where r(t) = 0.05 and disturbance as 0.1sin(25t). The figure illustrates the convergence of the estimation error. . . . . . . . . . . . . . . . . . . . . 42 42 Figure 23 The results are for the case where A0 = 0.01,! = 5, r(t) = 0.05 and disturbance as 0.1sin(25t). The figure on the right illustrates the tracking of the plant output to the reference output when slowly varying system is controlled using the output tracking feedback control with pole placement. The figure on left illustrates the convergence of the output error. 43 Figure 24 The results are for the case where A0 = 0.01,! = 5, r(t) = 0.05 and disturbance as 0.1sin25t. The figure on the right illustrates the tracking of the true and estimated road profiles when slowly varying system is controlled using the output tracking feedback control with pole placement. The figure on left illustrates the convergence of the estimation error. . Figure 25 The comparison between output tracking and LQR tracking algorithms for the case where A0 = 0.0001,! = 5, r(t) = 0.01. The figure on the on the left is the comparison for the constant disturbance of 0.01 while figure on the right is for time varying disturbance of 0.01sin10t. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 26 The results are for the case where A0 = 0.0001,! = 5, r(t) = 0.01. The figure on the on the left is for the constant disturbance of 0.01 while figure on the right is for time varying disturbance of 0.01sin10t. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 44 45 viii KEY TO SYMBOLS ms : sprung mass mus : unsprung mass ks : spring constant for sprung mass kus : spring constant for unsprung mass bs : damping constant for sprung mass kus : damping constant for unsprung mass Fc : control force x : states y : output u : control zr : road disturbance zs : change of variable for position vector of sprung mass zus : change of variable for position vector of unsprung mass ✓ : vector of parameters : regressor vector ⇤ : Hurwitz polynomial defined as per the algorithm in use Pr : parameter projection : scalar gain : vector gain ✏ : error vector r : reference signal k1, k2 : parameters used to define matching condition in state tracking controller d : disturbance du : disturbance in input signal dy : disturbance in output signal ci : coecients of the disturbance signal G(s) : transfer function Z(s) : zeros of a transfer function ix P (s) : poles of a transfer function ⇢, !, ⇠, ⇣, m : parameters used to define the output tracking adaptive law t : time g(t, x) : perturbation : bound on perturbation V : Lyapunov function Rn : vector space of n dimension || : norm | : mod || | m : model reference parameter ⇤ : true parameter ˆ: estimated parameter ˜: di↵erence in true and estimated parameter x 1 Introduction 1.1 Literature review Automotive suspension systems play an important role in ride comfort and are the reason behind a smooth drive. As such, many researchers and practitioners have been working on new designs and control methodologies to improve the performance. Automotive suspension systems can be cate- gorized as passive [2], semi-active [3–5] and active suspension systems [6–17]. Passive systems are those without any control implementation. In semi-active systems the suspension parameters (e.g. spring or damping constants) are varied according to the requirement, while active systems involve separate actuators to implement the control. Due its obvious advantages over passive suspension systems, active and semi-active suspension systems have attracted much research attention since late 20th century. In the initial period, more straightforward, simpler controllers were used. For example linear parameter varying control combined with non-linear backstepping technique [18], lin- ear quadratic regulator (LQR) [6], optimal linear state feedback based [19] controllers were studied. Studies have been going on to enhance these control techniques and develop new, novel controllers in order to improve the suspension performance. In recent years more advanced control techniques like ADRC (active disturbance rejection control), H1 based, neural network based [17] robust con- trol and variations of sliding mode, backstepping controls [7,9,11,14,15] have been used to improve ride comfort in complex, non-linear situations like half [20] or full car [21] suspension systems in presence of road disturbance. In [22], sliding mode control is used to estimate car body mass for a quarter car system. In [12], an electromagnetic active suspension system is proposed which can provide stability during cornering, braking and in presence of road disturbances. Although such a suspension system is costly to make and has more volume as compared to the conventional systems. In [17], the neural network based controller gives good performance in adapting to random road disturbance but it assumes that the system model is fully known and time invariant. [23] deals with a quarter car system with time varying loadings when the nominal loading is known. [24] proposes a Disturbance observer (DOB) based sliding mode controller which works under various loading conditions and road profiles. Even though it provides a robust control over the system, it does not guarantee the convergence (of either suspension deflection or body acceleration) if the load has changed significantly. Even in [25], a DOB based optimal control is designed for a quarter 1 car model. Both these models work well in presence of road disturbances, although they don’t seem to handle model uncertainties or time varying parameters quite well. In [26], the authors have developed a control law based on feedback linearizion which adapts to the parameters whose values change based on state space region within a given bound. However, the algorithm requires an accurate model of the suspension system. In [27], the authors use adaptive sliding mode based controller with Takagi-Sugeno Fuzzy approach which takes care of the uncertain parameters and non-linearity for half-car model. They also proposed a bound on the unknown non-linear parameter uncertainty which ensures asymptotic stability. In [13], authors have proposed an adaptive control for nonlinear uncertain suspension system which seemed to handle the model uncertainties quite well even in presence of unknown disturbances, but the control is only on the vertical suspension displacement. They did not consider controlling the body acceleration which in fact is highly im- portant in order to make the drive comfortable. The adaptive tracking control designed in [10] was probably the best controller I came across which dealt with all the problems discussed above. But then what if we can design a controller which can not only overcome all the above stated issues and also estimate the road profile online? With the road profile now known, it can be used to enhance suspension control and enable comfort-based route planning [28]. Controllers have been developed to estimate the road disturbance [28, 29] but they are for the case of time invariant systems and don’t tackle some of the issues mentioned earlier. 1.2 Motivation and approach towards the problem For a highly nonlinear system (e.g. a full car suspension model), neural network based control or other approximation based techniques might work. When there is model uncertainty or when the parameters are time varying, some of the adaptive controllers might work. Robust controllers like DOB might work when we need good accuracy in presence of road disturbance. But to satisfy all the constraints, we need a better design. For instance, a combination of the above mentioned algorithms or an adaptive controller with disturbance rejection will do the job if it could estimate the road disturbance while dealing with model uncertainties and time varying parameters. For this reason, we first developed a DOB based controller which estimates road disturbance. We assumed the road disturbance as a summation of sinusoids for this. The simulations gave really good results and we were able to estimate a highly nonlinear road disturbance for a time invariant 2 system when an accurate model of the system was known. But the results were pretty bad when we performed experiments. The estimation were not accurate, and some times used to blow up. Even after trying a bunch of alternate methods to tackle this issue, we could not estimate the road disturbance. This might have been due to the uncertainties in parameters of the suspension system under consideration. Due to this, we switched to adaptive control considering it would work for the given system and realized that a simple adaptive state feedback law with disturbance rejection could do the job. These laws, while dealing with the uncertainties and rejecting the disturbance, can even estimate this disturbance when certain conditions are satisfied. Specifically we designed ‘State and Output Tracking’ algorithm for the given suspension system which deals with controlling states and output, mainly suspension deflection and body acceleration. 1.2.1 Active suspension system constraints According to [14] for the full car model of an active vehicle suspension system, following four constraints should be satisfied, 1. Suspension Deflection: In order to avoid damaging vehicle components, the suspension space must less than the allowable upperbounds on deflection. 2. Road Holding: Dynamic tire loads should be less than static tire loads for four wheels to ensure firm uninterrupted contact of wheels with the road 3. Actuator Saturation: Saturating the control at the maximum amplitude of the actuators. 4. Ride Comfort: Stabilizing roll, pitch, heave motions and avoiding disturbance forces transmitted to passengers, which could be possible when the body acceleration is minimum In this report, I designed a State and Output tracking state feedback law for a quarter car model, which can satisfy all theses constraints and also estimate the road disturbance. The controllers were designed to work in case of completely unknown systems. I showed that with the use of nominal model, the performance of these controllers can be improved. These controllers can actually find the the nominal model of the system, but for this we need to make sure that the Persistently Excitation (PE) conditions of the regressor vector is satisfied [30]. There are certain rules to select the reference signal for the controllers which can make sure that the PE conditions are satisfied. Although, research has been done only in case of linear parametric models to define these rules, there is no general rule which can be applied straight away to the state feedback laws described 3 in the report. For this purpose, I designed a parameter estimation algorithm to find the nominal model of the system. This algorithm uses a linear parametric model while designing the adaptive law and that’s why we can ensure the true convergence of the parameters with the appropriate reference signal. I. ur(t) Road Disturbance u(t) Reference Model Plant Adaptive Law Estimated Disturbance i.c. State Feedback Control 9 II. ur(t) Road Disturbance u(t) Pole Placement Reference Model Plant Adaptive Law Estimated Disturbance i.c. State Feedback Control Reference Plant Tracking Nominal Model Parameter Estimation System Identification Desired reference signal Reference Plant Tracking Nominal Model Parameter Estimation System Identification 11 Figure 1 Schematics illustrating the flow of the state feedback algorithm. The approach towards addressing this problem of satisfying the ‘four constraints’ was simple. As shown in the block digram in Fig. 1, the state feedback algorithm is based on a specific reference model which we choose such that the state (and output) tracking controller makes the plant state 4 (and output) track the reference model state (and output). Now, we can use a pole placement controller to make this reference model (and in turn our plant) track the desired signal. With this combined ‘State/ Output Tracking and Pole Placement Controller’, we can be make the body acceleration track a zero reference, in turn making the drive smooth. It can also be used in restricting the states within a certain bounds which ensures the safety of the suspension system (by controlling the suspension deflection given by zs zus) and also satisfies road holding condition (by restricting zus zr which is the third state in my model). By saturating the control signal according the requirements, we can make sure that the actuators use can provide the desired control. Although, I never tested this in my results as I did not have the actuator information. Also, I dealt with a quarter car model, there was no need to consider roll, pitch motions and therefore the ride could be made comfortable just by controlling the body acceleration using the tracking algorithm. Then with the addition of time varying parameters (as a perturbation from the nominal model) and time varying disturbance, I used the same algorithm with some modifications to estimate the disturbance and reject it to give desired tracking of states (and output). I also gave a bound on this perturbation by considering it first as vanishing perturbation, then for non vanishing perturbation. In the end, results were simulated and compared with LQR tracking to confirm that the proposed algorithm performs better. 5 2 Parameter Estimation The following suspension system was used in the project; Figure 2 Image on the left hand side is a photo of the actual suspension system manufactured by ‘Quanser Technologies’, while the image on the right hand side is the representation of the system [1]. Parameters ms and mus being the masses for sprung mass and unsprung mass, ks and kus the spring constants, bs and bus damping constants, Fc control force, x1, x2 and zr the position vectors of sprung mass, unsprung mass and road profile respectively. Here sprung mass represents the vehicle body and unsprung mass is the wheel, ks and bs represent the actual suspension parameters of the vehicle while kus and bus represent the sti↵ness and damping in the tire. Before designing the controller we need to first identify our system. For this, we need equations of motion for the system to derive a state space model. These equations were derived using the free body diagrams of the system and are shown in Eq.1 and Eq.2. ¨x1 = g + Fc ms + ¨x2 = g Fc mus (bs + bus) ˙x1 mus + bs ˙x1 ms bs ˙x2 mus + bs ˙x2 ms + bus ˙zr mus ksx2 ms ksx1 ms (kus + ks)x1 mus + ksx2 mus + kuszr mus (1) (2) By taking zs and zus (refer Eq.3) such that the gravity terms form the equations of motion are removed we get Eq.4. zs = x2 + msg ks + g(ms + mus) kus , zus = x1 + g(ms + mus) kus (3) 6 mus¨zus = (bs + bus) ˙zus Fc + bs ˙zs + bus ˙zr (zus + zs)ks (zus zr)kus ms¨zs = bs ˙zus + Fc bs ˙zs (zs zus)ks The state space model is given by Eq.5. ˙x = Ax + Bu, y = Cx + Du where A, B, C, D matrices are given by A = 266666664 0 1 ks/ms bs/ms 0 0 0 0 0 1 bs/ms 1 ks/mus bs/mus kus/mus (bs + bus)/ms C =264 1 0 0 0 ks/ms bs/ms 0 bs/ms and the states are 266666664 0 0 1 0 1/ms 0 bus/mus 1/mus 377777775 , B = 377777775 375 , D =264 0 0 0 1/ms 375 x = 266666664 zs zus ˙zs zus zr ˙zus , 377777775 u =264 ˙zr Fc 375 , y =264 zs zus ¨zs 375 (4) (5) (6) (7) Now, with zero road disturbance, we can use parameter projection method described in the appendix (refer section 8). The transfer function from Fc to suspension deflection (zs zus) is given by the following equation, (zs zus)(s) Fc(s) =✓ 1 msmus◆ (mus + ms)s2 + sbus + kus P (s) (8) 7 where P (s) = s4 + (msbus + bsmus + bsms) msmus s3 + (kusms + bsbus + ksmus + ksms) s2+ msmus (ksbus + bskus) msmus (9) s + kskus msmus which implies its a 4th order system. Therefore taking ⇤(s) as (s + 1)4 we get the linear parametric model as y(t) = ✓⇤(t) where ✓⇤ = , (t) = (10) where Z0 to Z2 are the coecients of numerator and P0 to P3 are of the denominator of the transfer function given by Eq.8. Similarly we get a linear parametric model for the Fc to body acceleration (¨zs) case as shown in Eq.11. ¨zs(s) Fc(s) =✓ 1 msmus◆ s2(muss2 + buss + kus) P (s) ✓⇤ = (11) 2666666666666666664 26666666666666666666666664 u(t) ⇤(s) su(t) ⇤(s) s2u(t) ⇤(s) y(t) ⇤(s) sy(t) ⇤(s) s2y(t) ⇤(s) s3y(t) ⇤(s) u(t) ⇤(s) su(t) ⇤(s) s2u(t) ⇤(s) s3u(t) ⇤(s) s4u(t) ⇤(s) y(t) ⇤(s) sy(t) ⇤(s) s2y(t) ⇤(s) s3y(t) ⇤(s) 3777777777777777775 37777777777777777777777775 2666666666666666664 26666666666666666666666664 Z0 Z1 Z2 1 P0 4 P1 6 P2 4 P3 0 0 Z2 Z3 Z4 1 P0 4 P1 6 P2 4 P3 3777777777777777775 37777777777777777777777775 , (t) = 8 where Z2 to Z4 are now the coecients of numerator of the transfer function given in Eq.11. Now using the above linear parametric models we can formulate adaptive laws to estimate required parameters. The manufacturer of the suspension system, ‘Quanser Technologies’ has given a range within which all the physical parameters are bounded. This range can be utilized to develop parameter projection algorithm. The derivation of this algorithm is given in Sec. 8. The gradient algorithm for the suspension system was developed based on this derivation and is given by, ˙✓i = iPri✏i, 1  i  number of parameters with ✏(t) = y⇤(t) y(t) and (12) (13) Pri = 1 + ✓b i✓i 1 + ✓i✓a i if ✓i >✓ b i and ✏i < 0 if ✓i <✓ a i and ✏i > 0 1 otherwise 8>>>>>><>>>>>>: and & i are decided according to the parameter bounds, the need of accuracy and convergence speed of the respective parameters. Now, with the input of richness order 8, we can guarantee that we will get true parameter convergence. For a linear parametric model, the PE condition can be found in [30], according to which the input signal should at least be rich of order 1 more than that of the total number of unknown coecients of the transfer function in order to achieve true parameter convergence. From Eq. 8 and 11, as there are 7 unknown coecients, we need input signal of richness order 8. 9 Figure 3 The figure illustrates the error convergence for the parameter estimation of Eq. 11. 10 3 State Tracking State Feedback Controller 3.1 Without Disturbance Plant: Reference Model: ˙x = Ax + Bu, x 2 Rn, u 2 R ˙xm = Amxm + Bmr, xm 2 Rn, r 2 R (14) (15) Here Am is Hurwitz and r(t) is piecewise continuous and bounded. 3.1.1 Algorithm for Known Plant: Take k⇤1 2 Rn, k⇤2 2 R such that A + B(k⇤1) = Am, B(k⇤2) = Bm (16) with u = (k⇤1)T x + k⇤2r and e = x xmwe get ˙x = [A + B(k⇤1)T ]x + B(k⇤2)r = Amx + Bmr ) ˙e = Ame As Am is Hurwitz limt!1 e(t) = 0. 3.1.2 Algorithm for Unknown Plant: Let k1(t), k2(t) be the estimates of the true parameters. Take Q = QT > 0. We have P = P T > 0 as the solution of the Lyapunov equation P Am + AT mP = Q, Q = QT > 0 (17) 11 with u = kT 1 (t)x(t) + kT 2 (t)r(t) and k⇤1 = k1 ˜k1, k⇤2 = k2 ˜k2 we get with the Lyapunov function and the adaptive law ˙e = Ame + Bm 1 k⇤2 (˜kT 1 x + ˜k2r) V = eT P e + ˜kT 1 1˜k1 + 1 |k⇤2| ˜k2 2 1 |k⇤2| ˙k1 = xeT P Bm ˙k2 = reT P Bm (18) (19) we get ˙V = eT Qe < 0 and hence global asymptotic stability such that limt!1 e(t) = 0. 3.1.3 Controller for Suspension System Our plant is already in the form given in Eq. 14, so we can choose the reference model in the form given in Eq. 15. Assuming we have access to all the states, we can design the adaptive state feedback controller designed here will be such that all closed loop signals are bounded and limt!1[x(t) xm(t)] = 0 [30]. (Although if the we don’t have access to the states, we can use high gain observers to estimate the states first and then use the estimates to design the feedback law. In this case we might have to face other issues like peaking phenomenon caused due to the high gain, but with saturating the control and some additional modification in the control law this issue can be resolved [31].) The state model of the plant for the active suspension system without any disturbance is as follows, x = 266666664 zs zus ˙zs zus zr ˙zus 377777775 , u =Fc , y = x 12 (20) A = 266666664 0 1 ks/ms bs/ms 0 0 0 0 0 1 bs/ms 1 ks/mus bs/mus kus/mus (bs + bus)/ms , B = 377777775 266666664 0 1/ms 0 1/mus 377777775 C = eye(4), D = 0 (21) (22) Using the information of the nominal model of given suspension system, the reference model is chosen such that Am is Hurwitz and the matching condition can be satisfied with some k1 and k2. Am = 266666664 0 1 0 100 10 100 0 0 0 0 10 1 245 24.5 2255 29.5 377777775 , Bm = 266666664 Matching condition is given by, Cm = eye(4), Dm = 0 A + B(k⇤1)T = Am, Bk⇤2 = Bm 0 4.0816 377777775 0 10 (23) (24) (25) where k⇤1 and k⇤2 are the true parameters which are to be estimated. With k1(t) and k2(t) being the estimates take u such that we get from Eq. 14 u = k1(t)T x + k2(t)r ˙x = Amx + Bmr Now, as described in the algorithm in the previous section, with e = x xm ˙e = Ame 13 (26) (27) (28) As Am is Hurwitz, limt!1[x(t)xm(t)] = 0. With P = P T > 0 being the solution of the Lyapunov equation given in 17, the adaptive law is given by (refer to Sec. 3.1 for detailed proof) ˙k1 = xeT P Bm ˙k2 = reT P Bm (29) The convergence results are as follows, Figure 4 The figure illustrates the convergence of error for all the four states when state tracking controller was used. Figure 5 The figure on left illustrates the convergence of state 1 (zs zus) with respect to time steps (0.001 sec per step) which tracks the reference within 100 time steps. The figure on right illustrates the convergence of state 2 ( ˙zs) which tracks the reference within 150 time steps. The blue signal is the plant state and yellow is the reference state. 14 Figure 6 The figure on left illustrates the convergence of state 3 (zuszr) which tracks the reference within 100 time steps. The figure on right illustrates the convergence of state 4 ( ˙zus) which tracks the reference within 150 time steps. The blue signal is the plant state and yellow is the reference state. Figure 7 The figure on right illustrates the convergence of the parameter k1 which is converged to [5.2348, -82.4405,0.0053,-0.4662] within 150 time steps. The right side figure shows the convergence of the parameter k2 which is converged to 36.7169 within 150 time steps. 15 3.2 With Disturbance Plant: ˙x = Ax + B(u + d), d(t) = d0 + [djfj(t)] qXj=1 (30) Where fj are known bounded continuous functions and d0 & dj are the unknown part of the disturbance. In case of the given suspension system, we can not satisfy the necessary matching condition B = Bd for the disturbance and the equation is rather of the form ˙x = Ax + Bu + Bdd. Therefore a di↵erent method is required for the estimation of disturbance. In the next section, Output Tracking State Feedback controller is described. 16 4 Output Tracking State Feedback Algorithm 4.1 Without Disturbance 4.1.1 Algorithm for Known Plant: Plant: ˙x = Ax + Bu, y = Cx, x 2 Rn, u, y 2 R with the transfer function given by G(s) = C(sI A)1B = kp Z(s) P (s) , kp 6= 0 (31) (32) P (s) = det(sI A), Z(s) is monic and Hurwitz, deg(P ) = n, deg(Z) = m < n. A, B, C stabilizable and detectable. Reference Model: ˙x = Amxm + Bmr, ym = Cmxm (33) such that, Gm(s) = 1 Pm u = (k⇤1)T x + k⇤2r gives the close loop transfer function as i.e. ym = 1 Pm r and degPm = n m and Pm is monic and Hurwitz. With G1(s) = C(sI A B(k⇤1)T )1Bk⇤2 (34) As state feedback does not change the numerator polynomial of the transfer function we get from Eq. 34 and 32 we get (35) G1(s) = [C(sI A B(k⇤1)T )1B]k⇤2 = k⇤2 kpZ(s) det[sI A B(k⇤1)T ] 17 choose k⇤1, k⇤2 to satisfy det[sI A B(k⇤1)T ] = Pm(s)Z(s), k⇤2 = 1 kp such that G1(s) = 1 Pm(s) (36) 4.1.2 Algorithm for Unknown Plant: Assumptions: deg(Z) and sign(kp) is known. Let k1(t), k2(t) be the estimates of the true parameters. With ˜k1 = k1 k⇤1, ˜k2 = k2 k⇤2 and u = kT 1 (t)x + k2(t)r our system becomes; ˙x = [A + B(k⇤1)T ]x + Bk⇤2r + B(˜k1)T x + B˜k2r (37) The solution of this, given the initial condition at t = 0 as x(0), and therefore y(t) is given by exp(A+B(k⇤1 )T )(t⌧ )[Bk⇤2r + B(˜k1)T x + B˜k2r](⌧ ) d⌧ 0 y(t) = Cx(t) x(t) = exp(A+B(k⇤1 )T )t x(0) +Z t = C exp(A+B(k⇤1 )T )t x(0) +Z t = C exp(A+B(k⇤1 )T )t x(0) +Z t C exp(A+B(k⇤1 )T )(t⌧ )[Bk⇤2r + B(˜k1)T x + B˜k2r](⌧ ) d⌧ C exp(A+B(k⇤1 )T )(t⌧ ) Bk⇤2[r + kp(˜k1)T x + kp˜k2r](⌧ ) d⌧ 0 0 Now, L(Z t 0 C exp(A+B(k⇤1 )T )(t⌧ ) Bk⇤2v(⌧ ) d⌧) = C[sI A B(k⇤1)T ]1Bk⇤2v(s) = 1 Pm(s) v(s) in hybrid notation we can write y(t) = C exp(A+B(k⇤1 )T )t x(0) + 1 Pm(s) [r + kp(˜k1)T x + kp˜k2r](t) (38) 18 with ym = 1 Pm(s) r, e(t) = y(t) ym(t) and ⇢⇤ = kp we get e(t) = ⇢⇤ Pm(s)⇥˜kT 1 x + ˜k2r(t)⇤ + C exp(A+B(k⇤1 )T )t x(0) From Eq. 36 we know that A + B(k⇤1)T is Hurwitz therefore limt!1 C exp(A+B(k⇤1 )T )t x(0) = 0. Now we design the adaptive law to ensure that the remaining terms of e(t) go to 0. For that define !, ✓, ✓⇤ and ˜✓ as !(t) =264 x(t) r(t) 375 ,✓ (t) =264 k1(t) k2(t) 375 ,✓ ⇤(t) =264 k⇤1 k⇤2 375 , ˜✓(t) = ✓ ✓⇤ =264 ˜k1 ˜k2 375 (39) Therefore, e(t) = ⇢⇤ Pm(s) ˜✓T (t)!(t) ⇢⇤ ⇢⇤ ⇢⇤ Pm(s)⇥✓T (t)!(t) (✓⇤)T !(t)⇤ ✓T (t)!(t) ⇢⇤(✓⇤)T ✓T (t)!(t) ⇢⇤✓T (t) Pm(s) Pm(s) 1 1 Pm(s) Pm(s) !(t) (since ✓⇤ is constant) !(t) ⇢⇤ ˜✓T 1 Pm(s) !(t) = = = Let, ⇣(t) = 1 Pm(s) !(t) 1 ✓T (t)!(t) ⇠(t) = ✓T (t)⇣(t) Pm(s) ˜⇢ = ⇢ ⇢⇤ ⇢(t) = kp(t), e(t) = ⇢⇤ ˜✓T (t)⇣(t) ⇢⇤⇠(t) ✏(t) = e(t) + ⇢(t)⇠(t) (40) with a positive definite function V = |⇢⇤|˜✓T 1 ˜✓ + 1 as, ˜⇢2 we make ˙V < 0 by taking the adaptive law ˙✓ = sign(⇢⇤)⇣✏ m2 , ˙⇢ = ⇠✏ m2 , m2 = 1 + ⇣T ⇣ + ⇠2, u = ✓T ! (41) With this we make ensure that ✓(t) 2 L1,⇢ (t) 2 L1, ✏(t) m(t) 2 L2 \ L1, ˙✓(t) 2 L2 \ L1 and ˙⇢(t) 2 19 L2 \ L1 which in turn gives limt!1 e(t) = 0 as shown in [30]. 4.1.3 Controller for Suspension System: As shown in the previous section, take the plant as with ˙x = Ax + Bu, y = Cx, x 2 Rn, u 2 R G(s) = C(sI A)1B = kp Z(s) P (s) , kp 6= 0 (42) (43) with monic Z(s). From Eq. 21 we know that {A, B, C} is controllable and observable and Z(s) is Hurwitz, therefore we can design output tracking controller using the method given in Sec. 4.1.2. We choose the reference model according to the conditions given in the Sec. 4.1.2. In case of the given suspension system, we chose Pm = s2 + 69s + 69 which gives the reference model transfer function as shown below, Gm(s) = 1 s2 + 69s + 69 and therefore the reference model can be designed to be the following. 1 0 375 , Bm =264 Am =264 Cm =1 0 , Dm = 0 69 69 0 1 375 (44) (45) This reference model is chosen according to those conditions and the nominal model of the suspension system along with the parameter values given by the manufacturer of the suspension system (in general we don’t need to consider the parameter values ahead of time but if we have a general idea about the parameter range, we can locally restrict our estimation near the true parameters, this improves our convergence). It is chosen such that there exist parameters k⇤1 and k⇤2 which satisfy the equations given in Eq. 36. By taking !, ✓, ⇢, ⇠, ⇣, ✏, m according to the 20 definitions given in the previous section, we can develop adaptive law as follows, ˙✓ = sign(⇢⇤)⇣✏ m2 , ˙⇢ = ⇠✏ m2 (46) The ✓ and ⇢ values were calculated analytically using the given parameter values and this solution was used to decide the initial conditions for the adaptive law. The results based on this can be seen the following figures. Figure 8 The figure illustrates the output tracking controller performance for unknown plant model when initial conditions for the adaptive law are chosen according to nominal model. The plot on the left is the tracking error and the plot on right is the simulated plant and reference output tracking. Making use of the nominal model to analytically solve for the unknown parameters gives a faster convergence as the least square solution does not get stuck in some local optima. To illustrate this, we can take the initial conditions as 0 for all the unknown parameters. The result based on this is shown in fig. 9. Compared to the convergence results obtained above, these results showed that even after a significant amount of time, the solution did not converge completely. Even though the error was small in this case, the solution was not the optimal solution. 21 Figure 9 The figure illustrates significance of knowing the nominal model of the system. The results obtained here are when the initial conditions are taken to be 0 for all the parameters. The plot on the left is the tracking error and the plot on right is the simulated plant and reference output tracking. 22 4.2 With Disturbance: 4.2.1 Algorithm for Constant Disturbance Plant: ˙x = Ax + Bu + Bddu, y = Cx + dy, G(s) = C(sIA)1B = kP x 2 Rn, u, y, du, dy 2 R Z(s) P (s) , kp 6= 0 (47) P (s) = det(sI A) In case of known plant and disturbance, disturbance rejection algorithm for constant disturbance du(t) = du0 and dy(t) = dy0 is designed as follows, u(t) = (k⇤1)T x(t) + k⇤2r(t) + k⇤3 ˙x = [A + B(k⇤1)T ]x + Bk⇤2r + Bk⇤3 + Bddu choose k⇤1 and k⇤2 as before such that (refer Eq. 35) C(sI A B(k⇤1)T )1Bk⇤2 = 1 Pm(s) (48) (49) Now using the adaptive law designed in section 4.1.1 the Eq.38 will get modified due to the distur- bance as follows y(s) = 1 Pm(s) r(s) + C[sI A B(k⇤1)T )1B k⇤3 s + C[sI A B(k⇤1)T )1Bd du0 s + dy0 (50) Let (s) = C[sI A B(k⇤1)T )1B k⇤3 det[sI A B(k⇤1)T ] are in LHS of the real axis, applying final value theorem [30] we get s + C[sI A B(k⇤1)T )1Bd du0 s + dy0. Since all zeros of lim t!1 (t) = lim s!1 s(s) = c1k⇤3 + c2 + dy0 c1 def= C[A B(k⇤1)T ]1B 6= 0, c2 def= C[A B(k⇤1)T ]1Bddu0 Now choose k⇤3 as k⇤3 = c2 + dy0 c1 so that limt!1 (t) = 0 and therefore limt!1⇥y(t) ym(t)⇤ = 0. 23 (51) (52) For unknown plant and disturbance we take the estimates of true parameters as k1(t), k2(t), k3(t) with ˜k1 = k1 k⇤1, ˜k2 = k2 k⇤2 , ˜k3 = k3 k⇤3 and u = kT 1 (t)x + k2(t)r + k3(t) our system becomes, ˙x = [A + B(k⇤1)T ]x + Bk⇤2r + Bk⇤3 + Bddu0 + B⇥(˜k1)T x + ˜k2r + ˜k3⇤ y(t) = Cx(t) + dy0 Now adaptive law can be defined as shown in section 4.1.2 with !(t) =266664 x(t) r(t) 1 377775 ,✓ (t) =266664 k1(t) k2(t) k3(t) 377775 ,✓ The adaptive law is given by Eq. 40 and Eq. 41. ⇤(t) =266664 k⇤1 k⇤2 k⇤3 377775 , ˜✓(t) = ✓ ✓⇤ =266664 ˜k1 ˜k2 ˜k3 377775 (53) (54) 4.2.2 Algorithm for Sinusoidal Disturbance Similar to constant disturbance case, adaptive law can also be designed for sinusoidal disturbances with known frequency components as given in [30]. For the disturbances of the form du(t) = du0 + dy(t) = dy0 + quXj=1 qyXj=1 (↵ujsin!ujt + ujcos!ujt) (↵yjsin!yjt + yjcos!yjt) (55) where all the frequencies are known and amplitudes are unknown. Taking k3 of the form k3(t) = k30 + quXj=1 (k3↵jsin!ujt + k3j cos!ujt) + qyXj=1 (k3↵(qu+j)sin!yjt + k3(qu+j)cos!yjt) (56) The addition of new parameters will alter the definition of !, ✓ and ✓⇤ (which can be found in [30]) and the adaptive law will again be defined as shown in Eq. 40 and Eq. 41. 24 4.2.3 Algorithm for Non-sinusoidal Disturbance If the disturbance is of the form du(t) = d0 + djfj(t) qXj=1 dy(t) = 0, B = Bd where fj are known bounded continuous functions and d0&dj are the unknown part of the distur- bance, then we can define the adaptive law as shown in [30]. Although, in the suspension system case, the matching condition B = Bd is not satisfied so we can’t use this algorithm. 4.2.4 Known Plant and Unknown Disturbance For simplicity, the disturbance case was first studied when the plant was known (nominal plant case). In the next section, we will deal with the case where the system is time varying. The adaptive law was designed as shown in Sec. 4.2. For the suspension system, we assume that there is no noise or disturbance in the output signal. With this we can take dy(t) = 0. The unknown road disturbance was taken to be du(t) = 0.03 + 0.05sin(6t) + 0.02sin(10t) (57) The algorithm described in Sec. 4.2 requires the disturbance frequencies to be known. In our case it is not possible to know the road disturbance frequencies in advance. For this, if we assume the road disturbance to be a summation of sinusoids with a known range of frequencies, we can take a set of frequencies in the given range and estimate the disturbance by using the adaptive law for unknown disturbance. The accuracy of this estimation can be increased by increasing the number of frequencies taken. For example, if the frequency range is given as t to 10t, we can assume the a set {t, 2t, ..., 10t} and take ˆd = c1 + c2sin(t) + c3sin(2t) + ... + c11sin(10t) and use the adaptive law to estimate all the coecients c1 to c11. 25 In the simulations, for simplicity the set of frequencies was taken to be {5t, 6t, 10t} so that the estimated disturbance was ˆd = c1 + c2sin(6t) + c3sin(10t) + c4sin(5t). The result of the simulations is shown in following figures. Figure 10 The figure illustrates the output tracking controller performance in presence of distur- bance when the plant is assumed to be completely known. The plot on the left is the tracking error and the plot on right is the simulated plant and reference output tracking. Figure 11 The figure illustrates the convergence of the disturbance parameters. As expected, the coecients c1, c2, c3, c4 converged to 0.03, 0.05, 0.02, 0 respectively. The convergence for all the parameters was within 400 time steps. 26 Figure 12 The figure illustrates the disturbance estimation performance of the controller when the plant is assumed to be completely known. The plot on the left is the error between true and estimated disturbance and the plot on right is the true and estimated disturbance profile for a period of 10 time steps. 4.2.5 Unknown Plant and Disturbance Now, let’s consider the case when the plant is completely unknown. In this case, even though the above designed algorithm gives good tracking of the outputs (see Fig. 13), in order to get accurate disturbance estimation we need to ensure the persistently excitation (PE) condition is satisfied. This condition states that if the regressor vector is persistently excited (i.e. all its modes are excited), then we can guarantee that all unknown parameters are going to converge to their true values. For a linear parametric model, this condition is equivalent to saying that the reference signal is suciently rich [30]. Although there is no such rule of checking the PE condition for a general system. In case of our system, if we know that with some reference signal, the PE conditions is satisfied for the regressor vector, we can ensure that we will get true convergence for the unknown parameters and in turn we can estimate the true disturbance. Here although the output is tracking the reference signal, as the PE conditions have not been satisfied we can’t estimate the true road disturbance. For solving such a problem, if we know the nominal model of the system, we can make use of it to estimate the disturbance with some variance. Instead of considering the entire system as unknown, we can take the nominal model and add a time varying component to it and then use this model to estimate the disturbance. This is done in the following section where this time varying component is assumed to be a perturbation from the nominal system and then error bounds are estimated for the vanishing and non-vanishing 27 Figure 13 The figure on the left illustrates the output tracking the given reference in presence of disturbance. The figure on right illustrates the error convergence. disturbances. 28 5 Time Varying Case Both the state feedback controllers are designed only for the time invariant systems. As shown in Sec. 3 and 4), when we show that the derivative of the Lyapunov function is less than zero by designing the adaptive laws such that the non-negative term in the equation will become zero, we make use of the fact that the system is time invariant. This simplifies the derivation and makes it easy to define those adaptive laws. Although, as shown by the author in [32], there is a way we can prove that the same adaptive laws can work for time varying systems with some additional constraints. If we assume that the time varying parameters (✓(t)) of the system are slowly changing with respect to time and their norms are bounded, we can prove that the controller developed for the time invariant system can still work in for the time varying case if ✓(t) is continuously di↵erentiable and || ˙✓(t)|| is suciently small [32]. Before checking if these assumptions work in our case, first we will check if our controllers will work for the time varying system when the change in system is small with respect to time. 5.1 State Tracking State Feedback Controller with Slowly Varying Parameters The system was analyzed by adding a time dependent component ✓(t) it such that the {A, B} matrices will change as shown below, 377777777775 (58) A = 266666666664 1 bs ms + A0sin(!t) 1 A0sin(!t) 0 1 ks ms A0sin(!t) bs ms A0sin(!t) 0 0 0 0 0 ks mus + A0sin(!t) bs mus + A0sin(!t) kus mus A0sin(!t) (bs+bus) ms B = 266666666664 377777777775 0 1 ms + A0sin(!t) 0 1 mus A0sin(!t) 29 Here the amplitude A0 and frequency ! were chosen according the nominal values of the parameters so that the variation in the parameter is comparable to its nominal value. Value of ! depends on how slow we want the system to vary with respect to time. For the results shown below, ! was taken to be 5. As ✓(t) here can be considered as a non vanishing perturbation in the system due to which the convergence is ultimately bounded by a certain bound which depends on the upperbound of the norm of the perturbation. This bound can be found by Lyapunov analysis shown in [32] and [31]. Figure 14 The figure on left illustrates the convergence of the error for all the four states when slowly varying system is controlled using the state tracking feedback control. The figure on right illustrates the tracking performance of the controller for suspension deflection (x1). Figure 15 The results plotted here are for lower variation in the system. The figure on left illustrates the convergence of the error for all the four states when slowly varying system is controlled using the state tracking feedback control. The figure on right illustrates the tracking performance of the controller for suspension deflection (x1). 30 5.2 Output Tracking State Feedback Controller with Slowly Varying Parame- ters The controller designed in Sec. 4 for the time invariant system was used for the time varying system described in the previous section. The results obtained from simulations are shown below. Figure 16 The results are for the case where A0 = 0.01,! = 5. The figure on the right illustrates the tracking of the plant output to the reference output when slowly varying system is controlled using the output tracking feedback control. The figure on left illustrates the convergence of the output error. Figure 17 The results are for the case where A0 = 0.05,! = 5. The figure on the right illustrates the tracking of the plant output to the reference output when slowly varying system is controlled using the output tracking feedback control. The figure on left illustrates the convergence of the output error. 31 Figure 18 The results are for the case where A0 = 0.005,! = 5. The figure on the right illustrates the tracking of the plant output to the reference output when slowly varying system is controlled using the output tracking feedback control. The figure on left illustrates the convergence of the output error. Figure 19 The results are for the case where A0 = 0.005,! = 10. The figure on the right illustrates the tracking of the plant output to the reference output when slowly varying system is controlled using the output tracking feedback control. The figure on left illustrates the convergence of the output error. From the results shown in Fig. 16 to Fig. 19, we can see that as the amplitude or the frequency is increased, the upper bound on output tracking error is also increasing. When the frequency is increased from 5 to 10, the upper bound on error has also doubled. When the amplitude is increase from 0.005 to 0.05, the upper bound is not increasing by the same proportion, but the tracking is not as smooth as that of the lower amplitude case. There is obviously a relation between these two parameters and the upper bound on the error. In the next section, we will discuss about this relationship. 32 5.3 Stability under Slowly Varying Parameters The time varying parameters ✓(t) can be considered to be a perturbation from the nominal system. For example, let us consider a system ˙x = f (t, x) + g(t, x) (59) where functions f and g are in the domain [0,1] X D ! Rn are piecewise continuous in t and locally Lipschitz in x in the given domain with D ⇢ Rn is a domain that contains the origin. Such a system can be considered to be perturbed from the nominal model ˙x = f (t, x) with perturbation g(t, x). This perturbation term can be a result of disturbance, model uncertainty, modeling error [32]. In our case, we consider g(t, x) = ✓(t). These perturbations can either be vanishing or non-vanishing. For both the cases, there is a way we can find bounds on ||g(x, t)|| as described in [32]. 5.3.1 Vanishing Perturbations: For vanishing perturbations where the perturbations vanish at the origin x = 0, we have g(t, 0) = 0. For such case, if g(t, x) is locally Lipschitz in x and piecewise continuous in t, in a bounded neighborhood of origin, it satisfies linear growth bound [32] such that, ||g(t, x)||  ||x||, 8t 0, 8x 2 D, 0 (60) Let the origin of the system be an exponentially stable equilibrium point of the nominal system ˙x = f (t, x). By the Converse Lyapunov Theorem [31], we can find a Lyapunov function, V (t, x) such that, (61) c1||x||2  V (t, x)  c2||x||2 @V @V f (t, x)  c3||x||2 @x @t @V + @x  c4||x|| 33 For such a system, we can show that f (t, x) + g(t, x) @V @x ˙V = @V @t + @V @x  c3||x||2 +  c3||x||2 + c4||x||2 @V @x ||g(t, x)|| If is small enough, < c3 c4 (62) (63) we get ˙V  (c3 c4)||x||2 making the system exponentially stable in presence of the perturba- tions. In our case, since it is a linear system and as A matrix is Hurwitz, the origin is exponentially stable. Now, we can design the Lyapunov function by solving the Lyapunov equation as similar to Eq. 17. With Q = I4X4 we get a positive definite matrix by using the matlab command P = lyap(A0, Q). With this P we define the Lyapunov function as V = xT P x. As this is a quadratic in x, with this choice of Lyapunov function we can find out all the coecients c1 to c4 as shown below therefore Now, (64) (65) (66) min(P )||x||2  V  max(P )||x||2 c1 = min(P ) = 0.0360 c2 = max(P ) = 201.0587 @V @x = 2xT P  2max(P )||x|| ) c4 = 2max(P ) = 402.1174 34 Finding c3 is a little tedious process. But with some calculations we can show that @V @t + @V @x f (t, x)  || x||2 with this we get c3 = 1. Therefor the bound on g(t, x) can be given by g(t, x)  ||x||,< c3 c4 = 0.0025 (67) (68) This bound can be improved with a better choice of Lyapunov function which satisfies all the conditions. 5.3.2 Non-vanishing Perturbations: For a non-vanishing perturbation, we cannot guarantee that the origin will be a stable equilibrium point. We cannot also say that the states will converge to 0 as t ! 1. find, if there exist, a small bound within which the states will be ultimately bounded when the In this case, we can perturbations themselves are bounded by certain bound. In [32], the author has shown this for an exponentially stable nominal system. As our system is also exponentially stable in absence of any disturbance, this formulation applies to our system as well. If we know that the states x belong to a domain C =x 2 Rn ||x|| < r we can find an upper bound on g(t, x) such that ||g(t, x)||  < ✓r, 8t 0 (69) c3 c4r c1 c2 where ✓ is some positive constant less than 1. For such system, for all initial condition such that ||x(t0)|| 0 i  ✓⇤  ✓b where ˙✓i = iPri✏i, 1  i  p 1 + ✓b i✓i 1 + ✓i✓a i if ✓i >✓ b i and ✏i < 0 if ✓i <✓ a i and ✏i > 0 1 otherwise Pri = 8>>>>>><>>>>>>: (89) (90) 52 Polynomial Approach for Pole Placement Control This method comes under one of the indirect adaptive control algorithms, where plant parameters are first estimated which are used to ‘indirectly’ estimate the control parameters. As I have only used this method for a known plant, I have only described a part of the adaptive control which deals with known plants. For the complete algorithm refer [30]. Consider a linear time-invariant plant given by, G(s) = Z(s) P (s) (91) such that P (s) = sn + pn1sn1 + ... + p1s + p0 and Z(s) = zmsm + zm1sm1 + ... + z1s + z0, and m < n. The goal is to design feedback control such that limt!1(y(t) ym(t)) = 0. For this, we take a monic polynomial Qm(s) that has zeros on the imaginary axis such that the reference signal satisfies Qm(s)ym(s) = 0. For example, if the reference signal is ym(s) = 0 or a constant, we take Qm(s) to be 1 or s respectively. For the regulation case that is when ym(s) = 0 & Qm(s) = 1, let the feedback control be u = D(s) C(s) y where C(s) is monic. With this control we have y = Z(s) P (s) u = D(s)Z(s) C(s)P (s) y (92) (93) that gives us [C(s)P (s) + D(s)Z(s)]y = 0. So when the closed-loop characteristic polynomial C(s)P (s) + D(s)Z(s) has roots with poles on the left half of the plane our output will track zero reference. 53 Now for the case where ym(s) 6= 0 that is Qm(s) 6= 1 we do the following, Qm(s)ym = 0 ) Qm(s)P (s)ym = 0 also sinceP (s)y = Z(s)u (94) Qm(s)P (s)y = Z(s)Qm(s)u ) Qm(s)P (s)(y ym) = Z(s)Qm(s)u with e = y ym and ¯u = Qm(s)u we can convert this into regulation problem given by Qm(s)P (s)e = Z(s)¯u (95) With this, we can make limt!1 e(t) = 0 by taking the control as shown in Eq. 92. For implementing this algorithm, we use the polynomial approach as described in [30]. We first choose a monic polynomial A⇤(s) such that deg(A⇤) = deg(P ) + deg(Qm) + deg(C) such that its roots are in left half plane. Then we solve the Diophantine equation C(s)Qm(S)P (S) + D(s)Z(s) = A⇤(s) (96) (97) for monic polynomial C(s) with degree n1 and polynomial D(s) such that it follows the condition deg(D) = deg(P ) + deg(Qm) 1 . With this the controller is given by u = e (98) D(s) C(s)Qm(s) 54 Linear Quadratic Regulator Tracking For a linear dynamic system given by ˙x = Ax + Bu (99) one of the ways to find the optimal control is by minimizing the cost function given by J = K(x(tf ), tf ) +Z tf t0 L(x(t), u(t))dt (100) where K is the terminal cost, L is the incremental cost, t0, tf the initial and terminal time respectively. Suppose the initial time is 0 and final time is 1. Also, the terminal cost is zero and the incremental cost is a quadratic function in x and u given by L = xT Qx + uT Ru + 2xT N u In this case the cost function would be J =Z 1 0 [xT Qx + uT Ru + 2xT N u]dt (101) (102) This can be minimized if pair (A, B) is stabilizable, R is positive definite and Q N R1N T is positive semidefinite. For this we use a state feedback control u = Kx where the gain K is given by K = R1(BT S + N T ) where S is the solution of the Riccati equation given by AT S + SA (SB + N )R1(BT S + N T ) + Q = 0 Now, let say the output of the system is given by y = Cx(t) + Du(t) (103) (104) (105) and we want it to track a constant reference r(t) = c. For this we define e(t) = y(t) r and 55 z = [e ˙x]T . Therefore we have where With the choice of Q, R and N as given below (106) (107) (108) (109) (110) 0 C 0 A 0 C 0 A e ˙x B D D 375 ˙u = ˜Az + ˜Bµ 375 , 375 264 375 +264 375 , ˜B =264 375 , Q1 0, R > 0, N = 0 ˙u = µ B ˙e ¨x ˙z =264 375 =264 ˜A =264 Q =264 J =Z 1 0 0 Q1 0 0 we can get the cost function as [eT (t)Q1e(t) + µT (t)Rµ(t)]dt. With this we use control µ = KT z = K1e K2 ˙x to get limt!1 e(t) = 0, which will make the output of the system track the constant reference. 56 REFERENCES 57 REFERENCES [1] Quanser, “Active suspension.” [2] J. Tamboli and S. Joshi, “Optimum design of a passive suspension system of a vehicle subjected to actual random road excitations,” Journal of Sound and Vibration, vol. 219, no. 2, pp. 193 – 205, 1999. [3] S. M. Savaresi and C. Spelta, “A single-sensor control strategy for semi-active suspensions,” IEEE Transactions on Control Systems Technology, vol. 17, pp. 143–152, Jan 2009. [4] M. Zapateiro, F. Pozo, H. R. Karimi, and N. Luo, “Semiactive control methodologies for suspension control with magnetorheological dampers,” IEEE/ASME Transactions on Mecha- tronics, vol. 17, pp. 370–380, April 2012. [5] X. Yin, L. Zhang, Y. Zhu, C. Wang, and Z. Li, “Robust control of networked systems with variable communication capabilities and application to a semi-active suspension system,” IEEE/ASME Transactions on Mechatronics, vol. 21, pp. 2097–2107, Aug 2016. [6] Y. M. Sam, M. R. H. A. Ghani, and N. Ahmad, “Lqr controller for active car suspension,” in 2000 TENCON Proceedings. Intelligent Systems and Technologies for the New Millennium (Cat. No.00CH37119), vol. 1, pp. 441–444 vol.1, Sep. 2000. [7] Y. Xia, Y. Xu, F. Pu, and M. Fu, “Active disturbance rejection control for active suspension system of tracked vehicles,” in 2016 IEEE International Conference on Industrial Technology (ICIT), pp. 1760–1764, March 2016. [8] M. Zheng, S. Zhou, and M. Tomizuka, “A design methodology for disturbance observer with application to precision motion control: An h-infinity based approach,” in 2017 American Control Conference (ACC), pp. 3524–3529, May 2017. [9] W. Sun, H. Gao, and O. Kaynak, “Finite frequencyh1control for vehicle active suspension systems,” IEEE Transactions on Control Systems Technology, vol. 19, pp. 416–422, March 2011. [10] H. Pan, W. Sun, X. Jing, H. Gao, and J. Yao, “Adaptive tracking control for active suspension systems with non-ideal actuators,” Journal of Sound and Vibration, vol. 399, pp. 2 – 20, 2017. [11] Y. M. Sam, J. H. Osman, and M. A. Ghani, “A class of proportional-integral sliding mode control with application to active suspension system,” Systems & Control Letters, vol. 51, no. 3, pp. 217 – 223, 2004. [12] B. L. J. Gysen, J. J. H. Paulides, J. L. G. Janssen, and E. A. Lomonova, “Active electro- magnetic suspension system for improved vehicle dynamics,” IEEE Transactions on Vehicular Technology, vol. 59, pp. 1156–1163, March 2010. [13] Y. Huang, J. Na, X. Wu, X. Liu, and Y. Guo, “Adaptive control of nonlinear uncertain active suspension systems with prescribed performance,” ISA Transactions, vol. 54, pp. 145 – 155, 2015. 58 [14] X. Zheng, H. Zhang, H. Yan, F. Yang, Z. Wang, and L. Vlacic, “Active full-vehicle suspension control via cloud-aided adaptive backstepping approach,” IEEE Transactions on Cybernetics, pp. 1–12, 2019. [15] W. Sun, H. Gao, and O. Kaynak, “Adaptive backstepping control for active suspension systems with hard constraints,” IEEE/ASME Transactions on Mechatronics, vol. 18, pp. 1072–1079, June 2013. [16] H. Gao, J. Lam, and C. Wang, “Multi-objective control of vehicle active suspension systems via load-dependent controllers,” Journal of Sound and Vibration, vol. 290, no. 3, pp. 654 – 675, 2006. [17] ˙Ikbal Eski and S¸ahin Yıldırım, “Vibration control of vehicle active suspension system using a new robust neural network control system,” Simulation Modelling Practice and Theory, vol. 17, no. 5, pp. 778 – 793, 2009. [18] I. Fialho and G. J. Balas, “Road adaptive active suspension design using linear parameter- varying gain-scheduling,” IEEE Transactions on Control Systems Technology, vol. 10, pp. 43– 54, Jan 2002. [19] A. G. THOMPSON, “An active suspension with optimal linear state feedback,” Vehicle System Dynamics, vol. 5, no. 4, pp. 187–203, 1976. [20] L. Yan and L. Shaojun, “Preview control of an active vehicle suspension system based on a four-degree-of-freedom half-car model,” in 2009 Second International Conference on Intelligent Computation Technology and Automation, vol. 1, pp. 826–830, Oct 2009. [21] R. Darus and Y. M. Sam, “Modeling and control active suspension system for a full car model,” in 2009 5th International Colloquium on Signal Processing Its Applications, pp. 13–18, March 2009. [22] E. Alvarez-S´anchez, “A quarter-car suspension system: Car body mass estimator and sliding mode control,” Procedia Technology, vol. 7, pp. 208 – 214, 2013. 3rd Iberoamerican Conference on Electronics Engineering and Computer Science, CIIECC 2013. [23] P.-C. Chen and A.-C. Huang, “Adaptive sliding control of non-autonomous active suspension systems with time-varying loadings,” Journal of Sound and Vibration, vol. 282, no. 3, pp. 1119 – 1135, 2005. [24] V. S. Deshpande, B. Mohan, P. Shendge, and S. Phadke, “Disturbance observer based sliding mode control of active suspension systems,” Journal of Sound and Vibration, vol. 333, no. 11, pp. 2281 – 2296, 2014. [25] M. Sever and H. Yazici, “Disturbance observer based optimal controller design for active suspension systems,” IFAC-PapersOnLine, vol. 49, no. 9, pp. 105 – 110, 2016. 6th IFAC Symposium on System Structure and Control SSSC 2016. [26] A. Alleyne and J. K. Hedrick, “Nonlinear adaptive control of active suspensions,” IEEE Trans- actions on Control Systems Technology, vol. 3, pp. 94–101, March 1995. [27] H. Li, J. Yu, C. Hilton, and H. Liu, “Adaptive sliding-mode control for nonlinear active suspen- sion vehicle systems using t–s fuzzy approach,” IEEE Transactions on Industrial Electronics, vol. 60, pp. 3328–3338, Aug 2013. 59 [28] Z. Li, I. V. Kolmanovsky, E. M. Atkins, J. Lu, D. P. Filev, and Y. Bai, “Road disturbance estimation and cloud-aided comfort-based route planning,” IEEE Transactions on Cybernetics, vol. 47, pp. 3879–3891, Nov 2017. [29] J. C. Tud´on-Mart´ınez, S. Fergani, O. Sename, J. J. Martinez, R. Morales-Menendez, and L. Dugard, “Adaptive road profile estimation in semiactive car suspensions,” IEEE Transac- tions on Control Systems Technology, vol. 23, pp. 2293–2305, Nov 2015. [30] G. Tao, Adaptive Control Design and Analysis (Adaptive and Learning Systems for Signal Processing, Communications and Control Series). New York, NY, USA: John Wiley & Sons, Inc., 2003. [31] H. Khalil, Nonlinear Control. Pearson Education, 2014. [32] H. Khalil, Nonlinear Systems. Pearson Education, Prentice Hall, 2002. 60