Semi-Active Suspension for Heavy Trucks

Comfort and Handling Analysis

NILS LANDIN

Master’s Degree Project Stockholm, Sweden 2013

XR-EE-RT 2013:021 Abstract

Truck suspension technology has traditionally comprised more or less passive elements that possibly are adjusted slowly compared to the suspension dynamics. In attempts to overcome the inherent comfort-handling trade off, departures from fully passive designs have been made in the past. Fully active suspensions have successfully been implemented in private but have gained little ground in the truck industry because of their large energy consumption and high cost. Semi-active suspensions take a middle-ground with lower performance potential but also with considerably lower power requirements and cost of implementation. Effective controller design for a semi- includes con- sideration of the passivity constraints imposed on the control force. In this thesis an optimisation algorithm was written in MATLAB in a way that allows for embedded code- generation and was then used for designing a Model Predictive Controller (MPC) with switched passivity constraints. The resulting controller was tested on a 3D truck-trailer model and evaluated, together with other controllers as well as the passive system against both comfort and handling metrics. Non-convexity generally makes an MPC less useful for high sampling rates but with a switched linear approximation of the passivity constraints the resulting controller was shown to still be effective. Contents

1 Introduction 3 1.1 Background ...... 3 1.1.1 Goals of Suspension Design ...... 3 1.1.2 Passive Suspension and Conflicting Criteria ...... 3 1.1.3 Human Sensitivity to Whole Body Vibrations ...... 5 1.1.4 Handling during ...... 5 1.1.5 Semi-Active Suspensions ...... 5 1.1.6 Semi-Active Control Methodologies ...... 7 1.2 Problem definition ...... 8 1.3 Outline ...... 9

2 Modeling 10 2.1 Plant ...... 10 2.1.1 Virtual Truck Modeling Library ...... 10 2.1.2 Model of Semi-Active Damper ...... 11 2.2 Simplified Model ...... 12 2.2.1 Simplifications ...... 12 2.2.2 Model Structure ...... 13 2.2.3 Modifications for Semi-Active Dampers ...... 14 2.2.4 System Matrices ...... 15 2.2.5 Outputs ...... 16 2.2.6 State Transformation and Exact State Measurement ...... 17 2.2.7 System Identification ...... 18

3 Model Predictive Control 23 3.1 Mathematical Formulation ...... 23 3.1.1 Discretization of System Dynamics ...... 23 3.1.2 Dynamic Constraints ...... 24 3.1.3 Suspension Constraints ...... 25 3.1.4 Sampling Time and Prediction Horizons ...... 27 3.1.5 State Elimination ...... 29 3.1.6 The Optimization Objective ...... 29 3.1.7 Complete MPC Problem ...... 30 3.2 Interior Point Solver ...... 30 3.2.1 Augmented Objective Function and Newton Equations ...... 30

1 3.2.2 Initial Feasible Solution ...... 31 3.2.3 Switching the Passivity Constraint ...... 32 3.2.4 Adaptive Rattle-Space Constraint ...... 33 3.2.5 Complete Algorithm ...... 35 3.2.6 Algorithmic Details ...... 35 3.2.7 Stability ...... 36 3.2.8 Parameter Tuning ...... 36

4 Simulations 41 4.1 Load Cases ...... 41 4.1.1 Road Irregularities ...... 41 4.1.2 Lateral and Longitudinal Disturbances ...... 42 4.2 Results ...... 43 4.2.1 Road Irregularities ...... 43 4.2.2 Lateral and Longitudinal Disturbances ...... 44 4.2.3 Summary ...... 45

5 Discussion and Conclusions 46 5.1 Practical Utility of Proposed Control System ...... 46 5.1.1 Impact on Performance ...... 46 5.1.2 Realizability of Implementation ...... 46 5.2 Future Work ...... 47 5.2.1 Technical ...... 47 5.2.2 Political ...... 47

A Graphs of Simulations 48

B Variables and Parameters 58

2 Chapter 1

Introduction

1.1 Background

1.1.1 Goals of Suspension Design The purpose of a vehicle suspension system is largely two-fold. First, a relative motion between the and the rest of the vehicle allows for a certain level of isolation of the driver from bumps and roughness in the road. Second, the same relative motion can mitigate the changes in the normal forces exterted by the onto the road. As the vehicle moves along a bumpy road these forces change as the tires compress and decompress. A simple yet well-established and fairly accurate model of the is a simple linear . As a consequence, when the tire is compressed, the road-tire contact force is increased and when decompressed the contact force is decreased. Under normal conditions a decrease in contact force implies a decrease in available friction force, traction, hence limiting the manoeuvrability of the vehicle. Changes in these road-tire contact forces are known as dynamic tire forces, ytf . Maintaining low dynamic tire forces is of particular importance for the front wheel-pair since it is responsible for steering the vehicle, which is entirely relying on lateral traction forces. Moreover, researches have also established a strong correlation between between dynamic tire forces and road wear. A study conducted by the U.S. government reports that the road-wear of a single 40 ton tractor-trailer is equivalent to that of approximately 9600 personal cars [1], why a mitigation of the dynamic tire forces is even more important for trucks. Lastly, a good suspension design also enables a desirable response to steering inputs, e.g. it does not promote oversteering.

1.1.2 Passive Suspension and Conflicting Criteria The traditional suspension can be said to in principle consist of a spring and a damper element acting in parallel. The physical coefficients of these elements are selected by the design engineer after considering the dynamics of the rest of the vehicle. As suggested by the previous section this design should aim at minimizing the accelerations experienced by the driver as well as the dynamic tire forces. However, these two criteria are conflicting in that if the dynamic tire force is decreased at some frequencies, the driver is simultaneously also experiencing more accelerations at other frequencies. To illustrate the trade off in a simple way it is informative to consider a commonly occurring model within the field

3 c

mc

k c w

mw r t

Figure 1.1: A schematic diagram of the commonly used quarter model. of suspension design, namely the quarter car. The quarter car is often used due to its simplicity while still possessing the main qualitative features of a suspension system. The degrees of freedom associated with a quarter car are due to the vertical motion of two masses representing a wheel and a part (quarter) of a vehicle chassi. The two masses are interconnected by a spring and a damper in parallel and the wheel mass is connected, through a spring, to a time varying point r representing the road profile. The model is illustrated in figure 1.1. The equations of motion of the quarter car can now be written as { mcz¨c = k (zw − zc) + c (z ˙w − z˙c)

mwz¨w = k (zc − zw) + c (z ˙c − z˙w) + kt (r − zw)

0 Road Dist. to Chassi Acc. 7 Road Dist. to Tire Force 10 10 c = 300 c = 1150 −1 c = 2000 10

6 10 −2 - - - -

10 ) w ˜ z - - - - c − ˜ ˜ r r ¨ ˜ z r - - - - (˜ −3 t k

10 - - - - 5 10

−4 10

−5 4 10 10 −1 0 1 −1 0 1 10 10 10 10 10 10 Frequency [Hz] Frequency [Hz] − (a) Transmissibility from r to z¨c. (b) Transmissibility from r to kt (r zw).

Figure 1.2: Transmissibility plots of the quarter car model for mc = 325, mw = 65, 5 kt = 2.33·10 , k = 500 and c = 300, 1150, 2000 with arrows indicating trends for increasing suspension damping.

4 Varying the suspension damping while inspecting the transfer functions from road distur- bance to chassi acceleration and tire forces, reveals the trade-off between reducing tire forces and reducing chassi accelerations. Transmissibility plots of the system for different values of the suspension damping are shown in Figures 1.2a-1.2b. For increasing damping it is seen that the resonance peak at ten Hz is decreased in both transfer functions but the chassi accelerations are increased at frequencies between approximately 0.15Hz and 7.5Hz. This simultaneous increase-decrease epitomizes the inevitable compromise in all suspen- sion design. Worth mentioning is also another criteria one must consider though it is of a different character. The rattle-space is the allowed range of motion of the suspension. If the suspension deflection, y∆, exceeds the rattle-space the suspension will bottom out with significant dynamic deterioration as a result. The criteria is different in that there is no benefit in mitigating the suspension deflection as long as it remains within the bounds set by the rattle-space. It constitutes a hard constraint in the suspension design.

1.1.3 Human Sensitivity to Whole Body Vibrations In Figures 1.2a-1.2b it can be seen that for increasing c the resonance peak at 10 Hz is substantially mitigated in both transmissibility functions, while the chassi acceleration transmissibility, though increased, remains comparatively small at lower frequencies. This would suggest that increased damping values have largely a positive impact on the suspen- sion design. However, the sensitivity of the human body to vibrations is frequency depen- dent and is high at frequencies where chassi accelerations are increased for higher damping values. Moreover, the sensitivity has also a directional dependence why researchers have differentiated vertical and horizontal vibrations. The human sensitivity to whole-body vi- brations in the vertical and horizontal directions have been treated quantitatively in the standard ISO 2631-1 [2]. Figure 1.3 shows the frequency dependent sensitivity to whole body vibrations in the horizontal and vertical direction.

1.1.4 Handling during Steering When a vehicle is entering a road curve it would ideally follow the steering commands exactly. However, lateral tire dynamics enables tires to slightly slip or deform laterally, making the truck deviate from the ideal trajectory by either oversteering or understeering. Oversteering leads to an excessive rate of rotation around a vertical axis, while under- steering leads to the opposite. Given the distance between the front and rear wheel pairs, lt1 + lt2, a longitudinal velocity, vx and a steering angle β, simple geometry yields the ideal yaw rate as expressed by Equation (1.1). · ˙ vx tan β ψideal = (1.1) lt1 + lt2 ˙ When evaluating the yaw rate resulting from the control law, it will be compared to ψideal.

1.1.5 Semi-Active Suspensions Limitations inherent to a passive suspension system, such as the one described in Sec- tion 1.1.2, have urged researchers to depart from purely passive designs. Active suspension

5 systems include actuators that either replace or, more commonly, act in parallel with pas- sive springs and dampers. In this configuration control laws can readily be designed using any of the many standard tools modern control theory offers. Although the potential per- formance is comparatively high, it comes also with high cost, complex actuators and high energy consumption. While popular in high-end personal cars such systems have, to the best of the author’s knowledge, never been used in commercial heavy vehicles. The semi- active suspension offers an attractive compromise with a power consumption of one to two orders of magnitude lower [3], lower actuator cost and higher robustness but with lower potential performance. The principal difference between active and semi-active suspensions is best illustrated in terms of suspension velocity, yd∆, and actuator force, u. If u, yd∆ > 0 corresponds to forces and velocities expanding the suspension, the ideal semi-active force obeys at all times u · yd∆ < 0. (1.2) This means that the actuator force always acts in the opposite direction of the suspension velocity and thus can only resist motion. In practice, semi-active forces are realized by dif- ferent types of variable dampers. Examples include magnetorheological (MR) and variable orifice dampers. MR-dampers function through the application of a controlled magnetic field over a damper fluid that contains suspended magnetic particles [4, 5]. These particles order themselves in structured patterns when subjected to a magnetic field, effectively in- creasing the viscosity of the damper fluid and thus also the damper force for any non-zero damper velocity. The variable orifice damper function by varying the size of orifices the damper fluid must pass through in order to allow for the suspension to move. Since its introduction a little more than a decade ago, the MR-damper has come down in price

Perceptual Frequency Weights of Whole Body Vibrations 1.4 Vertical 1.2 Horizontal

1

0.8

0.6

Perceptual0.4 Weight

0.2

0 0 5 10 15 20 25 30 Frequency [Hz]

Figure 1.3: Frequency weighting of human sensitivity to whole body vibrations in horizontal and vertical directions, according to ISO 2631-1.

6 Semi-Active Damper Force-Velocity Map Active Damper Force-Velocity Map 1 1

0.8 0.8

0.6 0.6

0.4 0.4

0.2 0.2

0 0 u u max max u u

−0.2 −0.2

−0.4 −0.4

−0.6 −0.6

−0.8 −0.8

−1 −1 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 yd∆ yd∆ yd∆,max yd∆,max (a) Ideal (blue) and real (red) Semi-Active force- (b) Active force-velocity map showing no restrictions velocity map. on the damper force.

Figure 1.4: Force-velocity damper maps of semi-active (left) and active (right) suspensions. and enjoyed increasing popularity due to its high bandwidth and mechanical robustness (it contains no moving parts other than the suspension itself). The variable orifice damper is generally considered cheaper but has smaller bandwidth as well as a dependence on additional moving mechanical parts. The ideal together with a more realistic semi-active damper force-velocity map is shown in Figure 1.4a. The shape of the passivity region is of course device dependent but typical characteristics include a linear lower limit and a saturating high-damping behavior. These characteristics are presented in [6, 7, 8]. Fig- ure 1.4 also serves as a conceptual comparison between damper-velocity maps of semi-active suspensions and the unconstrained active suspensions (Figure 1.4b).

1.1.6 Semi-Active Control Methodologies The main challange in control design for semi-active suspensions lies in the passivity con- straint illustrated by Figure 1.4a. The region is both nonlinear and nonconvex which makes control design challanging. The most straight-forward approach would be to more or less ignore Inequality (1.2) in the design phase and then simulate and possibly tune the design against a model with the passivity constraint enforced. One of the more common designs following this paradigm is known as clipped-LQ [9] where the controller computes a desired control force based on linear-quadratic theory, which is then independently saturated by the passivity constraint. A more advanced design penalizes, at each time instant, the vio- lation of the passivity constraint through a gain-scheduled H∞-approach [6]. The de-facto standard control approach for semi-active suspensions is the hybrid skyhook groundhook

7 controller that inherently honors the ideal passivity constraint. Though simple and not of- fering much freedom in tuning, it needs only a few sensor measurements and does not rely on a model to function. A by now well-established method, employed by the Multi-Parametric Toolbox (MPT), consists of partitioning the state space into a number of polytopes and designing a linear feedback controller for each polytope. This allows for a close to optimal design even with respect to the passivity constraints. For each polytope the optimization problem is reduced to a simple evaluation of a matrix-vector product. While this approach possesses many enviable properties it still suffers from computational issues: the time re- quired to even offline compute the linear feedback gains for a number of polytopes that grows exponentially with the state dimension and the online problem of detecting what polytope the present state belongs to and consequently choosing what linear feedback to use both become prohibitive even when dealing with systems of moderate dimension. A somewhat different approach is adopted in [7], where the optimal non-linear control law is approximated using a set-membership approach. Since the online control law still is com- puted via a polytope selection, it is not different from the algorithms of the MPT in that respect. The original formulation of MPC algorithms was discarded early on, for applica- tions requiring high sampling rates, due to its high computational complexity. However, with faster hardware and specialized algorithms, MPC has experienced a resurgence for fast applications [10]. Performing the optimization online offers several advantages: it enables adaptation since no lookup table needs to be recomputed for new design parameters and it can be applied to higher dimensional systems as long as the number of inputs remains small. It is the control law chosen in this thesis.

1.2 Problem definition

With the points made in Section 1.1.6 in mind, the choice made in this thesis is to focus on control design for a semi-active suspension system. A controller is to be designed for a truck-trailer configuration and a semi-active damper. The derived control law should perform such that both comfort and handling are improved while the control force is constrained by the passivity constraint. This project is at an early stage so it is still unclear what kind of semi-active actuator to use, therefore only constraints of a fairly general nature will be considered: the control signal is restricted to some subset of the second and fourth quadrant of the u-yd∆ plane. Under this constraint the control signal is to be chosen such that a perceptually weighted acceleration of the cab and the dynamical tire forces are reduced. It is also desirable though not entirely necessary at this point to make the algorithm feasible to be run in real-time. To verify the effectiveness of the final control algorithm, it is then to be implemented in Simulink and evaluated against a nonlinear 3D rigid body model developed in SimMechanics. Whatever states are necessary for the controller to function are assumed measurable, hence observer design will not be considered. Moreover, to be able to readily implement the controller in prototypes, c-code should be available or generatable.

8 1.3 Outline

In Chapter 2, a SimMechanics model, considered the real plant throughout this thesis, is described and a simplified linear model is derived. This chapter concludes with a model validation through comparison of the main frequency responses of the SimMechanics model and the reduced order linear model. Section 3.1 introduces the principles of Model Pre- dictive Control (MPC) and its application to the control problem at hand. Section 3.2 describes two different procedures in solving the MPC optimization problems. In Chap- ter 4 simulation scenarios and results therefrom with the working controller implemented on the SimMechanics model are presented. Chapter 5 discusses the results and gives sug- gestions on directions of future work.

9 Chapter 2

Modeling

2.1 Plant

2.1.1 Virtual Truck Modeling Library This thesis will consider two models, of which the first will be described in this section. It is part of a collection of models developed at Volvo in SimMechanicsTM which is called Virtual Truck Modeling Library (VTM). The chosen model, henceforth referred to as the VTM-model, represents a truck-semitrailer, depicted in Figure 2.1, with nonlinearly and viscoelastically interconnected rigid bodies, where each rigid body has a maximum of three translational and three rotational degrees of freedom (DoFs). The nonlinear tire behaviour is modeled with the Magic Formula [11] that is considered state-of-the-art for modeling tire-road interaction in vehicle applications. The tire acts as a spring and damper element in the direction normal to the road while for motions in the road plane the tire develops reaction forces based on the relative motion with respect to the road surface. Figure 2.2 shows schematically the DoFs of the interconnections. Note that both the truck and the trailer possess considerable torsional compliance which is reflected in the modeling by representing each with two bodies interconnected by torsional viscoelasticity. Along with showing the structure of the VTM-model, Figure 2.2 also allows for easy enumeration of its DoFs. One rigid body has six DoFs and counting the DoFs of the connections amount

Figure 2.1: Illustration of a truck-semitrailer configuration.

10 Truck Trailer

Cab φ

φ,θ,z θ,ψ φ, z φ, z φ, z

Chassi, front ϕ Chassi, rear

φ, z φ, z z,ψ

x,φ Axle Axle

y,θ

Figure 2.2: Schematic diagram of the DoFs of the interconnections of the VTM-model. to 17, giving the complete vehicle 23 DoFs. Each connection is linearly viscoelastic in the stated DoFs. This model will be used for simulation and verification of the control design.

2.1.2 Model of Semi-Active Damper Depending on the kind of semi-active damper being used, slightly different models should be employed in simulation. Common for most dampers is a confinement of the damper forces to a subset of the second and fourth quadrant of the damper velocity-force plane. In this thesis a simple damper force saturation is employed. An expression that is derived purely heuristically but is found to match the velocity-force map presented in [6, 7, 8] is given by Equation (2.1). This is the equality displayed in Figure 1.4a on page 7. ( ) ( ) ( ) 2 4 · 2 ≤ yd∆ − u − yd∆ − u vgeom,max 2 0 + pt . (2.1) ugeom,max ugeom,max vwidth vwidth · ugeom,max

In brief, the parametrization of inequality (2.1) relates to its geometry as follows.

1. (ugeom,max, vgeom,max) exactly determines the location of the maximum damper force in the u,yd∆-plane. Note that they only should be interpreted as geometric design parameters and that the actual maximum damper velocity and force both are lower.

ugeom,max 2. vwidth influences the width of each branch. For instance, determines vgeom,max−vwidth the larger slope at vwidth = 0.

3. pt determines the thickness of the throat at yd∆ = 0. If pt = 0 the region resides entirely in the second and fourth quadrant of the velocity-force plane.

11 The parameters used are ugeom,max = 2.5; vwidth = 29.9; vgeom,max = 30, pt = 0. From a simulation stand point the above representation is less useful since finding the saturation level for each damper velocity requires the solution of a fourth order polynomial equation, which would slow down the simulation. Instead Inequality (2.1) is sampled over a range of (normalized) damper velocities producing a number of linear inequalities, yd∆ · c1,SA + u · c2,SA ≥ bSA,which are then used in place of the nonlinear inequality. Due to antisymmetry, only the positive side needs to be sampled. The saturation is executed as follows.

Algorithm 1 Damper force saturation

Require: yd∆, udes ∈ R v ← yd∆ vmax u ← udes des umax bin ← sgn(yd∆) yd∆ ← bin · yd∆ ← · udes { bin udes } − · − · I = i :(bSA yd∆ c1,SA udes c2,SA)i > 0 if I = ∅ then return u = bin · umax · udes else ( ) bSA−yd∆·c1,SA−udes·c2,SA tcand,i = , i ∈ I c2,SA i imax = arg max (|tcand,i|) i∈I · · return u = bin umax (udes + tcand,imax ) end if

2.2 Simplified Model

The nonlinear and high dimensional VTM-model of Section 2.1.1 does not easily lend itself directly for model based control design. Therefore a linear and comparatively low dimensional model is presented in this section.

2.2.1 Simplifications The model can be seen as a linearization of the part referred to as the truck, as depicted in Figure 2.2. The simplifications associated with this model are summerized as follows:

1. The only translational DoFs preserved are the vertical.

2. Translational displacements due to rotations are affine in the angles.

3. The effect of the trailer dynamics on the truck is neglected.

The first point is motivated by the fact that a suspension system mainly affects the vertical dynamics of a vehicle. The second point is illustrated by Figure 2.3 and is a result of the linearization. The third point is realized by neglecting all connections with compliance between the truck and the trailer and including the moment of the inertia of the front body

12 z + rφ z φ

z − rφ 0 r Figure 2.3: Generic body illustrating linearized displacements being affine in the vertical coordinate of the center of the body and the angle(s) by which the body is rotated.

lc

zc lt1 t2

θ φc c z w t

θ φtf w t φtr

φ φ12 34

r2 r4 z z 12 34

r1 r3

Figure 2.4: Diagram of the simplified model. of the trailer in that of the rear body of the truck. This also implies that the connection in roll between the trailer bodies is neglected. The reason to not further simplify the model by neglecting the torsional flexibility of the truck is that the roll of the chassis has large influence on the damper deflections and deflection velocities. These are of course central in the passivity and rattle-space constraints. If these are to be applied to both the front and rear suspensions the same chassis roll cannot be used.

2.2.2 Model Structure With the assumptions set, a schematic diagram of the simplified model can be constructed. This is illustrated in Figure 2.4. For compactness only the elastic elements are considered even though they are accompanied by viscous elements in parallel at all instances. Rather than cluttering Figure 2.4 with various stiffness coefficients it is simply stated that the stiffness coefficients of the springs connecting two bodies are indexed according to the bodies they connect or when applicable, to the body that uniquely identifies them. The indexing used is c for the cab; t for the truck chassi; and 1-4 for the . Since the truck chassis consists of two bodies, f and r, denoting front and rear, are appended to the indices where relevant. Then the vectors defining the degrees of freedom, controlled

13 b t34 2 b b t 34 t34φ b t34 2 w s

w s

Figure 2.5: Rear axle with both the purely linear and the linear-rotational (dashed) damper configuration. The value of ws is determined by letting the two configurations be equivalent for small pertubations.

inputs, disturbances as well as their intermutual order, x˜DoF , u and r respectively can be written as T x˜DoF = [z12, ϕ12, z34, ϕ34, zt, ϕtf , ϕtr, θt, zc, ϕc, θc] T u = [u1, u2, u3, u4] . (2.2) T r = [r1, r2, r3, r4]

The indexing also results in a vector of stiffness coefficients, kpars, given by equation (2.3).

T kpars = [k1, k2, k3, k4, kt12, kt12ϕ, kt34, kt34ϕ, ktϕ, kcz, kcϕ, kcθ] (2.3)

2.2.3 Modifications for Semi-Active Dampers To accommodate the implementation of semi-active dampers, passivity constrained forces were added to translational spring dampers that were inserted between the and the chassi. Since the passive suspension is represented by one translational and one torsional spring-damper in series, two variable translational dampers were added to connect the axle to the chassis at y = ws and y = −ws. To determine an appropriate value of ws the passive system was imitated. The front axle has two degrees of freedom, ϕ12 and z12. For infinitesimal perturbations in these DoFs the torque in the x-direction and the force in the z-direction are to be equal for the two configurations. Figure 2.5 illustrates the situation. Equating the torques in the two systems yields Equation (2.4). √ bt34ϕ ws = (2.4) bt34

This value moves the mounting points slightly outside of the truck. Since this is the position at which the actual semi-active damper would be positioned, a meaningful exact equivalence could not be achieved. The maximum allowable value was chosen instead. The same principle was applied to the front axle. When the system is run with semi- active damping, the damping coefficients bt12, bt12ϕ, bt34, bt34ϕ were all set to zero and all suspension damping is supplied by the semi-active damper.

14 2.2.4 System Matrices

Let the vector bpars be defined equivalently to Equation (2.3) by the corresponding damping coefficients. Now let the matrix Skb(s) define a matrix with a vector argument s such that Skb (s = kpars) and Skb (s = bpars) define the stiffness and damping matrices of the mechanical system illustrated by Figure 2.4. Then Skb (s) is given by Equation (2.5).  −s1 − s2 − s5 w (s2 − s1) 0 0 s5  − −  s2 s6 0 0 0   −s3 − s4 − s7 (s4 − s3) w s7  2  −s8 − (s3 + s4) w 0   −s5 − s9 − s10  Skb (s) =    Symm.     

 (2.5) 0 0 −lt1s5 0 0 0  s6 0 0 0 0 0   0 0 lt2s7 0 0 0   0 s8 0 0 0 0   0 0 lcs10 + lt1s5 − lt2s7 s10 0 0   −s6 − s9 − s11 s9 0 0 s11 0   −s8 − s9 0 0 0 0  2 2 2  −lt1s5 − lt2s7 − lc s10 − s12 −lcs10 0 s12   −s10 0 0   Symm. −s11 0 −s12

The inertia matrix M is given by M = diag (m12,I12,ϕ, m34,I34,ϕ, mt,Itfϕ,Itrϕ,Itθ, mc,Icϕ,Icθ). The forcing vector can be written as a linear combination of the controlled inputs ui and disturbances ri as Guu + Grr where Gu,Gr are given by Equation (2.6).     −1 −1 0 0 k k 0 0    1 2   −w w 0 0   k w −k w 0 0   s s   1 2   0 0 −1 −1   0 0 k k     3 4   0 0 −w w   0 0 k w −k w   s s   3 4       1 1 1 1   0 0 0 0   −    Gu =  ws ws 0 0  ,Gr =  0 0 0 0  (2.6)  −     0 0 ws ws   0 0 0 0   − −     lt1 lt1 lt2 lt2   0 0 0 0       0 0 0 0   0 0 0 0   0 0 0 0   0 0 0 0  0 0 0 0 0 0 0 0

Now, using Euler’s first and second laws of motion, the equations of motion can be written in matrix form as in Equation (2.7).

Mx˜¨DoF = Skb (kpars)x ˜DoF + Skb (bpars) x˜˙ DoF + Guu + Grr (2.7)

15 In a controls framework a set of first order differential equations, known as the state space formulation, is more appropriate. Introducing x˜1 =x ˜DoF and x˜2 = x˜˙ DoF we obtain Equation (2.8). [ ] [ ][ ] x˜˙ 0[11×11] I[11×11] x˜ 1 = 1 x˜˙ M −1S (k ) M −1S (b ) x˜ [2 ] [kb pars ] kb pars 2 0[11×4] 0[11×4] (2.8) + −1 + u −1 r M Gu M Gr

⇔ x˜˙ = Ax˜ + Buu + Brr For reasons of confidentiality the values of the parameters cannot be listed. The repre- sentation of each variable used in the linear model is listed in Table B.3 and the represena- tion of each geometric parameter of the linear model is listed in Table B.4, both appearing in Appendix B.

2.2.5 Outputs Since knowledge of the full state vector is assumed the outputs are chosen only according to what is needed in the MPC-optimization problem. Those that are to be minimized and consequently appear in the MPC-objective function and those that appear in the constraints. 1. Constrained outputs

(a) Suspension Deflection, y1−4, is constrained by the suspension rattle space. (b) Suspension Velocity, y5−8, is directly related to the passivity constraints. 2. Outputs to be minimized

(a) Dynamic Tire Forces, y9−12, influences road holding. (b) Vertical Cab Displacement, Velocity and Acceleration, y13−15, influence comfort. (c) Cab Roll and Pitch, y16−17, influence comfort and should be kept mitigated though their effects are not quantified.

Rather than writing out the full output matrices as in y = Cx˜+Duu+Drr the expressions can be more condensely written as in Equation (2.9).   −z12 − wsϕ12 + zt + wsϕtf − lt1θt    −z12 + wsϕ12 + zt + wsϕtf − lt1θt  y1−4 =   , y5−8 =y ˙1−4 −z34 − wsϕ34 + zt + wsϕtr + lt2θt −z + w ϕ + z + w ϕ + l θ  34 s 34 t s tr t2 t k1 (r1 − z12 − ϕ12w)  −   k2 (r2 z12 + ϕ12w)  (2.9) y9−12 =   k3 (r3 − z34 − ϕ34w) k (r − z + ϕ w)  4 4 34 34  zc [ ]   ϕc y13−15 =  z˙c  , y16−17 = ˙ kc(zt−lcθt−zc)+bc(z˙t−lcθt−z˙c) θc mc

16 2.2.6 State Transformation and Exact State Measurement Since the model is based on a linearization of nonlinear dynamics mainly due to non- linear geometry, certain outputs are not exactly reprsentened by linear combinations of the system states, as defined by Equations (2.2), (2.8). This means that for instance the inputs will be constrained by an inaccurately computed suspension velocity. Performing a state transformation allows for, in addition to exact suspension velocity and deflection representation, the use of relative states rather than absolute states. For instance, it is much easier to measure the relative angle between the chassis and the cab rather then measure the absolute angles and computing the difference. Also, the forces due to internal system dynamics are almost exclusively due to relative displacements and velocities which means that the future states also will be more accurately predicted. We set the new states according to Equation (2.10).

x = [y − , z − z + l θ , ϕ − ϕ , θ − θ , ϕ − ϕ , z , ϕ , z ] DoF[ 1 4 c ] t c t c tf c t tf tr 12 12 34 x = xT , x˙ T DoF DoF (2.10) ⇔ x = T x˜ The system dynamics can then be expressed in terms of the new states as −1 x˙ = T AT x + TBuu + TBrr −1 y = CT x + Duu + Drr Given Equation (2.10), the transformation matrix, T , is trivial and will not be explicitly stated. Rather than using separate notation for the systems appearing in the intermediate steps the system matrices are updated when appropriate. The system matrices are thus updated according to Equation (2.11). A ← T AT −1, B ← TB , u/r u/r (2.11) C ← CT −1, Du/r ← Du/r

System Normalization A related transformation, performed to ease the tuning of the controller and to improve numerical conditioning, is a system normalization. This has the effect that inputs and outputs are scaled to lie largely within the same range, typically between -1 and 1. The maximum values of the system outputs were obtained through simulation of the VTM- model with a large bump exciting one side of the truck. The load case is described in Section 4.1.1. Unlike the previous state transformation, this transformation leaves the states unaffected but scales the inputs and outputs. Let Su,Sy be matrices with maximum inputs and outputs on as diagonal elements. Then the system matrices used for control design are updated according to (2.12).

Bu/r ← Bu/rSu, ← −1 . C Sy C, (2.12) ← −1 Du/r Sy Du/rSu

17 zt, F zɶ z t R s θ θ , M s t m I m I s, sθ t , tθ R l l l 1 2 3 ∆l

Figure 2.6: Simplified free body diagram of the truck and trailer chassis in heave and pitch.

The maximum values for each input and output are presented in Appendix B. Note that accuracy of the maxima is not critical but should only scale the outputs so that they all lie within roughly the same order of magnitude.

2.2.7 System Identification In this section parameter adaptions of the simplified model and the main frequency re- sponses of the both models are presented to provide a simple verification of Equation (2.8).

Parameter Adaption The simplified model is neglecting the impact of the trailer on the tractor dynamics. In order to compensate for this simplification, parameters of the tractor are adapted as to in some sense project the simplified model onto a model incorporating the trailer. For small perturbations we aim for equivalent accelerations in the degrees of freedom for given moments and forces. Assuming that disturbances acting on the trailer and thus also that trailer wheel dynamics are not propagating to the tractor one can consider the model in Figure 2.6. Let F and M be the sum of the forces and torques acting on the chassis in the z- and y directions respectively, excluding forces transfered from the trailer onto the tractor. Let R be the vertical contact force between the tractor and the trailer, mediated by the fifth wheel. Then the following equations can be derived again using Euler’s first and second laws of motion. mtz¨t = F − R ¨ Itθθt = M − l2R

msz¨s = R ¨ Isθθt = −l3R We also have a geometric constraint due to the pivot point connecting the two bodies. It is given by Equation (2.13) z¨t + θ¨tl2 =z ¨s − θ¨sl3 (2.13)

18 Now, solving for F,M with z¨t, θ¨t as variables yields ( ) I m I l m F = m + sθ s z¨ + sθ t2 s θ¨ t m l2 + I t m l2 + I t s t3 sθ( s t3 sθ) 2 (2.14) Isθlt2ms Isθlt2ms ¨ M = 2 z¨t + 2 + Itθ θt mslt3 + Isθ mslt3 + Isθ

By carefully choosing ∆l and letting zt =z ˜t − ∆lθt we can transform Equation (2.14) into Equation (2.15). ( ) I m F = m + sθ s z˜¨ t m l2 + I t s t3 sθ( ) 2 (2.15) Isθlt2ms ¨ Isθmsmtlt2 ¨ M = 2 z˜t + 2 + Itθ θt mslt3 + Isθ msmtlt3 + Isθ (ms + mt) The value of ∆l that achieves Equation (2.15) is given by Equation (2.16).

( Isθlt2m)s ∆l = 2 (2.16) mt mslt3 + Isθ + Isθms

Now the apparent tractor mass can be identified as the coefficient for z˜¨t in the first row of Equation (2.15) while the apparent moment of inertia can be identified as the coefficient for θ¨t in the second row. They, together with geometric parameters and zt, are updated according to (2.17). ← Isθms mt mt + 2 mslt3 + Isθ 2 ← Isθmsmtlt2 Itθ 2 + Itθ msmtlt3 + Isθ (ms + mt) (2.17) lt1 ← lt1 + ∆l

lt2 ← lt2 − ∆l

lc ← lc + ∆l

zt ← z˜t One should note that this operation has not resulted in that a moment yields a pure rotation. It gives however, a better picture of the simplifications resulting from removing the trailer as well as better estimates of the inertias of the tractor. It is found that the apparent center of gravity is shifted back by 2.3 meters while the apparent tractor mass and pitch moment of inertia is increased by a factor of 2.8 and 1.7, respectively, due to the presence of the trailer. The increases in inertias are intuitive: a moment or force acting on the tractor inevitably moves the trailer as well.

Model Verification Since the model is symmetric around the x-axis it is sufficient to look at responses from disturbances and controlled inputs applied to only e.g. the left wheels/suspensions. The input excitation signal used in the estimation of the frequency responses of the nonlinear

19 From u 1 to su sp . d e fl .

−6 nl 10 lin

0 1 10 10 From u 1 to tire force 0 10

0 1 10 10 From u 1 to c ab ac c .

−4 10

0 1 10 10 Frequency [Hz]

Figure 2.7: Frequency response from front left input to front left suspension deflection, tireforce and cab acceleration. system is a white noise signal passed through a Butterworth low-pass filter of order two and cut-off frequency of 50Hz. The variance of the white noise was 9 · 10−6 when used as road disturbance and 2.25 · 104 when used as a damper force. The low-pass filtering was done since the tire forces quickly saturate for higher frequency. The saturation is indirectly due to damping being present in the tire model causing the tires to occasionally lose contact with the ground. The responses considered are from

1. Road Disturbance on Left Front Wheel

2. Semi-Active Damping Force in Left Front Suspension

3. Road Disturbance on Left Rear Wheel

4. Semi-Active Damping Force in Left Rear Suspension to

1. Suspension Deflection Left Front Wheel

2. Tire Force Left Front Wheel

3. Cab Vertical Acceleration

Not all combinations of inputs and outputs are represented but rather each wheel/suspension individually. The responses are presented graphically in Figures 2.7-2.10.

20 From w 1 to su sp . d e fl . 0 10 nl lin

0 1 10 10 From w 1 to tire force

5 10

0 1 10 10 From w 1 to c ab ac c . 2 10

0 1 10 10 Frequency [Hz]

Figure 2.8: Frequency response from front left disturbance to front left suspension deflec- tion, tireforce and cab acceleration.

From u 3 to su sp . d e fl .

−6 10 nl lin

0 1 10 10 From u 3 to tire force 0 10

0 1 10 10 From u 3 to c ab ac c .

−6 10 0 1 10 10 Frequency [Hz]

Figure 2.9: Frequency response from rear left input to rear left suspension deflection, tireforce and cab acceleration.

21 From w 3 to su sp . d e fl .

0 10 nl lin

0 1 10 10 From w 3 to tire force

6 10

0 1 10 10 From w 3 to c ab ac c .

0 10

0 1 10 10 Frequency [Hz]

Figure 2.10: Frequency response from rear left disturbance to rear left suspension deflection, tireforce and cab acceleration.

Discussion One can see that the matching for low frequencies is poor in general. This is of minor importance since the transmissability from road disturbances to the relevant outputs ap- proach zero at low frequencies. Moreover, the accelerations resulting from inputs and disturbances on the rear wheels are poorly represented as well. This is also a non-issue since rear disturbances mainly influence the suspension deflection and tireforces and has a comparatively small effect on the cab acceleration. The influence of the front disturbance on the cab acceleration is roughly 6-10 times larger than that of the rear disturbance. Similarly the influence of the front damper force on cab acceleration is roughly 20 times larger than that of the rear damper force.

22 Chapter 3

Model Predictive Control

3.1 Mathematical Formulation

The idea behind Model Predictive Control (MPC) is to optimize some quantity related to the performance of the controlled system, while at the same time honoring additional con- straints imposed on system inputs and/or outputs. The typical MPC algorithm is based in discrete time and is optimizing the system over finite horizons, i.e. over a finite number of future time instances. Since this chapter will almost exclusively deal with sampled systems (T,c ) (T,c ) (T,c ) the matrices b A, b Bu, b Br will be denoting the discretized matrices of Equa- tion (2.8) with sampling time T and passive suspension damping coefficients multiplied by cb. Throughout this chapter vectors are denoted by lower-case letters, matrices with upper-case letters. Passivity constraints constraining individual forces or damper deflec- tions at individual time instances will be denoted by lowercase subscripts while aggregate constraints will be denoted by uppercase subscripts.

3.1.1 Discretization of System Dynamics At the core of MPC lies a quadratic programming (QP) solver. At each time step a new QP problem is to be solved. The problem and its solution is a function of the present state and possibly also disturbances unless they are assumed to be zero. Introducing some variables and parameters relevant to this section, let ti be the time at the i:th sampling time and let Ny and Nu define the number of future time instances at which the outputs and inputs are optimized. MPC is relatively computationally complex and brings a non-negligable computational delay, τc > 0. This is illustrated in Figure 3.1. Instead of what is done in [12] where the model is adapted to the time delay so that the states still are optimized at the sampling points, here the underlying process is continous and it is of little importance whether the process is optimized at ti or at ti + τc. When computing the optimal input ui, the state at ti + τc must therefore be predicted based on xi, ui−1 and possibly ri. Also, let Nr be the number of future time instances the disturbance is known, i.e. the disturbance preview length. The prediction matrices needed corresponds to a discretization of the continuous system but with sampling time τc. This can be done offline using any standard software, e.g. through the command c2d in MATLAB, why the details will not be covered here. Naturally, we also need the system discretized with Ts = ti+1 − ti to predict system

23 t τ t τ ti i + c ti+1 i+1 + c ti+2

u w u , w u w i−1, i−1 i i i+1, i+1

Figure 3.1: Diagram illustrating the timing of the state sampling, actuation of computed input and disturbances and computation time.

states beyond ti + τc. Over the input optimization horizon the semi active system is used, i.e. zero damping according to Section 2.2.3. For k = Nu + 1, ...Ny the model with the passive damping parameters is used. The passive suspension damping parameters will be used if cb = 1, while the zero suspension damping parameters will be used if cb = 0. To summerize we have three different discretized systems, |[ ] (A, Bu,Br) T =τc cb=0 |[ ] (A, Bu,Br) T =Ts . cb=0 |[ ] (A, Bu,Br) T =Ts cb=1 Note that an implementational detail is left out here and needs to be decided on after consideration of the available hardware. Since the actuated force is dependent on the actual damper velocity and not the predicted, one should sample the damper force (or damper velocity and estimate the damper force) at ti, along with the state and disturbance and predict the state of the system at ti +τc. Furthermore, if a disturbance preview is available, the preview instances are assumed to be sampled at ti+k + τc, k = 0, ...Nr. If a constant sampling rate is used this must be achieved through interpolation, since the preview sensors typically are rigidly attached to the chassi meaning that the preview length and sampling instances in future times vary with the truck velocity. This means that for lower truck speeds the aggregate preview vector will not be filled but will be for typical velocities for which it is designed.

3.1.2 Dynamic Constraints For an optimization of the system to be useful, consideration must be paid to the dynamics of the system. A linear model of the system, while often only approximate, allows for a simple discretization and with that a simple and efficient representation of the constraints 0 imposed by the dynamics. Let xi be the state measured at time instance ti, then the states at ti + τc, denoted yi, can be expressed as |[ ] xi = (Axi + Buui−1 + Brri−1) T =τc (3.1) cb=0

The outputs at t = ti+k + τc can consequently be expressed recursively as |[ ] xi+k = (Axi+k−1 + Buui+k−1 + Brri+k−1) T =Ts { cb=cb,k (3.2) 0, k = 1, ..., Nu cb,k = 1, k = Nu + 1, ..., Ny

24 Common choices for the input beyond the input optimization horizon are zero or the last optimized input. Neither of these are attractive alternatives in this case. Since the suspension is naturally oscillating around zero deflection velocity neither a constant input nor zero input, with cd = 0, would be representative of the situation. Although still a heuristic choice offering no guarantee of optimality, the passive system with cd = 1 is assumed to handle the sign-changing damping velocity better than the other two options. Equations (3.1)-(3.2) can be written in matrix form as Equation (3.3).

Yi = Mxi xi + MU Ui + MRRi, (3.3) where [ ] T ··· T T Yi = y i y i+N [ y ] T T T Ui = u i ··· u i+N . [ u ] T ··· T T Ri = r i r i+Nr−1

For completeness, the structure of Mxi ,MU are shown in Equation (3.4), for Nu = Ny and for a general time varying system.   0C  1 0   C A  Mx =  .  i  .  ∏N −1 Ny C y kA  k=0  0 Du  1 0 1   C Bu Du     2 1 0 2 1 ..   C A Bu C Bu .     3 2 1 ..  MU =  C A Bu .     . ..   . .   N∏y−1 N∏y−1  Ny k 0 Ny k 1 Ny Ny−1 Ny−2 Ny Ny−1 Ny C A Bu C A Bu ··· C A Bu C Bu Du k=1 k=2 (3.4) When a disturbance measurement and preview is available, i.e. at least ri is known at t = ti + τ, the corresponding matrix MW has the same structure as MU presented above.

3.1.3 Suspension Constraints As mentioned in Chapter 1, two main physical constraints are dominating a semi-active suspension design: the rattle space constraint and the passivity constraint. Their mathe- matical representations will here be covered. It is important to remember to only introduce constraints that are absolutely necessary to the problem since each constraint increases the complexity of the optimization and its solution time.

Rattle-Space The rattle-space constraint intends to prevent the suspension from bottoming out. When a suspension is bottoming out it means that the truck chassi and an axle are colliding, causing

25 a substantial increase in local mechanical stress, chassi vibration and driver discomfort. For natural reasons the primary concern is that the suspension bottoms out due to compression and not extension. This allows the rattle-space constraints to be simplified into compression constraints, i.e., y1−4 > −drs, (3.5) where drs is the maximum increase from its natural length the suspension can undergo before bottoming out.

Static Nonlinear Passivity Constraint Using Equation (2.1) the passivity constraint can be expressed with only one equation per damper and time instance. In an optimization context this means that each passivity con- straint gives rise to only one dual variable per damper and time step, should a optimization method utilizing dual variables be used. However, since the passivity region is nonconvex, the Hessian of the constraint is indefinite. This risks producing an indefinite Hessian of the Lagrangian function, which in turn may result in indeterminate solutions. It is found that the eigenvalues of the Hessian is depending only on the damper force. The indefinite- ness is illustrated in Figure 3.2, where the eigenvalues are plotted as a function of damper force. Though an attractive formulation due to the compact representation of the passivity constraints, difficulties were encountered due to the nonlinearity and nonconvexity. The nonlinearity makes it difficult to efficiently compute the distance to the constraints during line searches. Furthermore, the nonconvexity calls for a regularization of the Hessian of the Lagrangian, which is a nontrivial subject in its own right [13, 14]. A regularization is needed since the constraint Hessian becomes indefinite for nonconvex constraints, which means that the sum of the constraint Hessian and the Hessian of the objective function risks becoming singular or indefinite. As will be seen in Section 3.2 this will serve as the coefficient matrix in a linear system of equations making its definiteness crucial to the usefulness of the solution. Therefore a different approach was adopted in this thesis, com- bining the maturity of interior point methods for convex quadratic programming with a switching heuristic.

Switching Linear Passivity Constraint The idea is to divide the nonconvex passivity constraint into two linear and convex passivity constraints and select which one to use based on predicted damping velocities. Each MPC problem can be solved to global optimality by letting binary decision variables choose the used constraint at each predicted time. However, this procedure calls for binary program- ming, taking the computational requirements to yet a higher level. However, in the context of MPC the input prediction horizon is often chosen shorter than the output horizon. Since the nonconvexity exists only in the inputs, this suggests that little optimality is lost if the used convex passivity constraints are based on the damper velocities resulting from the passive configuration or a clipped LQ. These two options can be efficiently simulated in order to obtain initial solutions for the convex optimization algorithm to proceed from: the passive system has a closed form solution since it satisfies the passivity constraints while an LQ needs to be iteratively simulated because of the saturated inputs. The two sets of con- straints are displayed in Figure 3.3. The keen reader notices that there is a slight overlap

26 Eigenvalues of constraint Hessian 0.05 left−most right−most

0

−0.05 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 u u m a x Figure 3.2: Eigenvalues of Hessian of the nonlinear passivity constraint. between the blue and red regions. This is done in order to avoid numerical ill-conditioning when obtaining an initial feasible solution, as no overlap would for zero damping velocities yield an initial solution at the boundary. Even though the constraints in Figure 3.3 are used for constraining the damper force, it is important to realize that they also constrain the damper velocity. This is not desirable as it hinders descent. Similarly to Algorithm 1 but with fewer rows (constraints) the linear approximative passivity constraints can be expressed as Equation (3.6).

x4+l · pbin,l · c1,sa + pbin,l · ul · c2,sa ≥ bsa,c, l = 1, ..., 4, { (3.6) 1, ∀x4+l ≥ 0 pbin,l = −1, ∀x4+l < 0

3.1.4 Sampling Time and Prediction Horizons Inspecting Figure 2.7-2.10 reveals that most transfer functions, except the tire forces, roll off past 10Hz. Although [15] suggests a a sampling frequency of fs = 100Hz for a similar system, it was found that performance was considerably improved when raising it to 200Hz, which consequently was chosen. In order for an MPC algorithm to be effective it is desirable to predict beyond system transients. Inspecting the normalized step responses in Figure 3.4 suggests that a prediction horizon of a two seconds would cover most of the transient. This implies a preliminary output prediction horizon of approximately 400 time steps. This was also verified in tuning simulations.

27 Linear Passivity Constraints 1

0.8

0.6

0.4

0.2 m a x u 0 u

−0.2

−0.4

−0.6

−0.8

−1 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 y d ∆ y d ∆ , m a x

Figure 3.3: Linear passivity constraints for use in the MPC algorithm. Regions in red and blue are used for negative and positive damper velocities, respectively.

f rom u 1 f rom w 1 0.4 0.4

0.2 0.2

0 susp. vel. 1 0 tire force 1 −0.2 cab acc. −0.2 cab roll −0.4 cab pitch

−0.4 −0.6 1 2 3 4 5 1 2 3 4 5 tim e [s] tim e [s]

Figure 3.4: Normalized step responses of the linear truck model.

28 3.1.5 State Elimination Regardless of the optimization solver chosen, there are two different approaches to repre- sent the MPC problem presented in Sections 3.1.2-3.1.3. The first preserves the dynamic constraints of Equation (3.2) and utilizes the sparse structure of the constraints in Equa- tions (3.5)-(3.6). The second approach uses Equation (3.3) to eliminate the output variables at the cost of making the other constraint matrices as well as the objective function penalty matrix dense. Optimization algorithms involve factorizations of the afformentioned matri- ces and the decision of what approach to use comes down to whether it is more efficient to factorize a small but dense matrix or a larger but sparse matrix. Guidelines aiding this decision are presented in [12]. Roughly speaking, the sparse approach is worth considering if Ddense > Dsparse where ( ) 3 2 nc Ddense = Ny nu + , ( 2 ) n 3 D = 2n + 3n + c sparse x u 2 and nu is the number of inputs to be optimized, nx is the number of states of the model and nc is the number of constraints in the MPC problem. However, [12] also notes that the criteria assumes Nu = Ny. This is rarely the case, meaning it can only conservatively suggest the dense approach. The dense approach is chosen for three reasons: first, it is algorithmically simpler as it eliminates the need for special factorization routines not available in Simulink Coder; second, even if the ouput prediction horizon turns out to be fairly large the convex passivity constraints impose constraints on the damper velocity, limiting the positive impact of the additional optimized variables, meaning that the input optimization horizon should be set fairly short; third, the system has comparatively many states compared to inputs. Consequently, the outputs are eliminated in favour of the inputs, according to Equation (3.3).

3.1.6 The Optimization Objective The objective function can be written as

i∑+Ny ( ) i∑+Nu ( ) ′ T · 2 · T · 2 · V = yk Qy yk + uk Qu uk (3.7) k=i k=i Expressed in terms of only the aggregate input vector, U, we get

′ T T V = U QU 2 U + (Mxi xi + MU U + MRR) QY 2 (Mxi xi + MU U + MRR) , (3.8)

2 2 where QY and QU are the aggregate penalty matrices, i.e. blockmatrices with Qu and Qy as their diagonal elements. When neglecting the constant terms, which cannot be optimized anyway, Equation (3.8) simplifies into Equation (3.9). ( ) T T T V = U QU 2 + MU QY 2 MU U + 2(Mxi xi + MRR) QY 2 MU U (3.9)

29 3.1.7 Complete MPC Problem In order to reveal structure as well as to introduce some notation, the complete optimization problem is presented here. ( ) T ˜ T ˜ T ˜ min V = Ui QU 2 Ui + xi QU,xi + Ri QU,R Ui s.t. , (3.10) AIP (xi,Ri) Ui ≥ bIP (xi,Ri) where [ ] A A (x ,R ) = SA , IP i i A [ RS ] . bSA + (BSA,xi xi + BSA,RRi) bIP (xi,Ri) = bRS + BRS,xi xi + BRS,RRi The different matrices of Equation (3.10) can all be derived by using Equation (3.3) to sub- stitute x4+m, m = 1, ..., 4 in Equation (3.6), y1−4 in Equation (3.5) and y in Equation (3.7) for expressions in Ui,Ri, xi.

3.2 Interior Point Solver

Rather than computing a Newton- or steepest descent direction of the objective function and, when a constraint is found to be active, project the computed direction onto the constraint(s), an interior point method typically takes into account all constraints at all times. This is done by adding to the objective function a summation of nonlinear functions that approach infinity near the boundary of the feasible region and in that way preventing the iterates from approaching the boundary too fast.

3.2.1 Augmented Objective Function and Newton Equations A common choice of barrier function is the logarithmic function, with the sum of the elements of the constraint vector as argument, which in our case yields Equation (3.11) ( ) T ˜ T ˜ T ˜ − ∥ − ∥ Vµ = Ui QU 2 Ui + xi QU,xi + Ri QU,R Ui µ ln (AIP Ui bIP ) 1 . (3.11) As µ → 0, the augmented objective function of Equation (3.11) approaches the original objective function of Equation (3.9) [16].

arg min (Vµ) = arg min (V ) µ→0 U AIP U≥bIP Following the methodology of elementary optimization, searching for a minimum of Equa- tion (3.11) amounts to finding points where its gradient vanishes. Consequently, computing the gradient of Equation (3.11) and setting it to the zero vector yields Equation (3.12). ( ) T T T −1 ∇ ˜ 2 ˜ ˜ − · − · Vµ = 2QU Ui + QU,xi xi + QU,RRi µ AIP diag(AIP Ui bIP ) 1 = 0 (3.12) Though ill-conditioning has been reported [17] when solving Equation (3.12) using e.g. Newton’s method, this method has successfully been used in e.g. [10]. Numerical ill- conditioning arises primarily close to the optimum, where µ ≈ 0 [16]. In the context of

30 online optimization of MPC problems the realtime requirements supersede the desire to attain exact optimality. Therefore the mentioned ill-conditioning is only a minor drawback in this context. With the goal of solving Equation (3.12) with Newton’s method, the Hessian is also needed. It is computed in Equation (3.13).

∇2 ˜ · T · − −2 · Vµ = 2QU 2 + µ AIP diag(AIP Ui bIP ) AIP (3.13)

Having computed the gradient and Hessian of the augmented objective function, search s directions, ∆Ui, can now be computed from Newton iterations on Equation (3.12) as in Equation (3.14) [16]. ( ) ˜ s T s − −2 s 2QU 2 + µAIP diag(AIP Ui bIP ) AIP ∆Ui = ( ) (3.14) s T T T −1 −2Q˜ 2 U − Q˜ x + Q˜ R + µ · A diag(A U − b ) · 1 U i U,xi i U,R i IP IP i IP

At this point another superscript, s, has been introduced to index the iterates in the optimization algorithm. The optimization method presented in this section requires all s s iterates, Ui, to be strictly feasible which means that the interpretation of ∆Ui is that s+1 s of a search direction rather than an actual step. The next iterate is chosen as Ui = s Ui + α · ∆Ui. The computation of α will be covered in Section 3.2.3.

3.2.2 Initial Feasible Solution Rather than computing an intial feasible point via a phase-1 search [17], which involves solving an additional optimization problem to optimality, it is obvious from Figure 3.3 that an emulation of passive dampers would satisfy the passivity constraints. Extracting only the rows corresponding to damper velocities over the input optimization horizon, one can write

Yd∆ = Md∆,xi xi + Md∆,U Ui + Md∆,RRi (3.15) In the VTM model described in Section 2.1.1 the vertical dampers connecting the chassi to the front and real axle both had the same damping coefficient, i.e. 2bpass = bt12 = bt34. To emulate the passive damper with a semi-active damper one could therefore set ( ) 0 − − 0 Ui = bpassYd∆ = bpass Md∆,xi xi + Md∆,U Ui + Md∆,RRi

0 0 Solving for Yd∆, Ui yields

0 −1 · · Yd∆ = (I + bpassMd∆,U ) (Md∆,xi xi + Md∆,Ri R) 0 · 0 · = M d∆,xi xi + M d∆,R Ri, (3.16) 0 0 Ui = −bpass Yd∆

A straight-forward way of ensuring that also the rattle-space constraint is being fulfilled the passive damping coefficient can be increased. However, selecting a too large damping coefficient could cause a violation of the passivity constraints even for very small damper speeds. An iterative simulation of the discretized system with large saturated damping forces could be a simple solution that avoids the need to solve a phase-1 problem. However, this would lead to a initial feasible solution close to the boundary, which is undesirable

31 in the context of interior point methods and is thus a poor way of ’warm-starting’ the optimization solver [10]. This is left as an open question in this thesis. The initial feasible solution is therefore computed according to Equation (3.16). The initial feasible point also initiates the variable pbin,l in Equation (3.6) over the input horizon. More specifically, for 0 each entry of Ui that is larger than zero, the corresponding pbin,l is -1 and 1 when smaller than zero.

3.2.3 Switching the Passivity Constraint In order not to cause unmotivated stagnation in the optimization due to the convex passiv- ity constraints also inadvertently constraining the damper velocity, the passivity constraint must, when appropriate, be switched from red to blue and vice versa, referencing Fig- ure 3.3. The right hand side of the passivity constraint can be split in two parts, bSA and s s s ∆bSA = bSA,xi xi + bSA,RRi, the latter has rows changing sign depending on what side of the passivity constraint is being used in the current iteration. In order to simplify the exposition, the passivity constraints for each input, l, at each time index, k are expressed individually as in Equation (3.17).

s (k,l) · s (k,l) · s (k,l) · s ≥ s (k,l) Asa Ui + α Asa ∆Ui bsa,c + ∆bsa (3.17)

Whenever a switch of the constraint with indices (k, l) = (kpc, lpc) is deemed advantageous (and feasible), an update is performed according to Equation (3.18).

s+1 (kpc,lpc) ← −s (kpc,lpc) s+1 (kpc,lpc) ← −s (kpc,lpc) Asa Asa , ∆bsa ∆bsa (3.18)

For simplicity only one constraint per iteration is allowed to be switched. Let ∗αk,l be given by Equation (3.19). ( ) s (k,l) s (k,l) s bsa,c + ∆bsa − Asa · Ui ∗α(k,l) = min ( ) m ≥ 0 (3.19) m s (k,l) s Asa · ∆Ui m

The interpretation is that passivity constraint (k, l) is binding at α(k,l) = ∗αk,l ≥ 0. If any one passivity constraint is to be switched, it must be the first binding constraint, i.e. for the smallest ∗α(k,l), thus (kpc, lpc) = arg min∗α(k,l). (3.20) k,l Since the number of switched passivity constraints per iteration is limited to one, α is still ¯pc ¯pc bounded by the remaining constraints. Therefore the bound ∗α(k ,l ) is also introduced and computed analogously to ∗α(k,l) but for all other constraints than the passivity con- straint (kpc, lpc). Since the computation is completely equivalent to Equations (3.19)-(3.20) it will not be explicitly stated. In order to perform the switch the switched passivity con- s s straint needs to be satisfied at Ui + α · ∆Ui. The task of finding the interval in which α satisfies the switched passivity constraint amounts to finding the intersection of a line with

32 a convex set. For this purpose two sets Iν and Iσ and the vector β are defined as follows: { ( ) } pc pc pc pc σ s (k ,l ) s s (k ,l ) ν σ I = m : − Asa · Ui ≥ bsa,c − ∆bsa ,I = \I ( ) m pc pc pc pc s (k ,l ) s (k ,l ) s bsa,c− ∆bsa + Asa · Ui ( ) m β = − pc pc m s (k ,l ) s Asa · ∆Ui m s s In order to satisfy the switched passivity constraint at Ui+α· ∆Ui the following conditions ν σ must be fulfilled: α ≥ βm ≥ 0, m ∈ I ; α ≤ βm, m ∈ {m : βm ≥ 0} ∩ I . Note that the second condition can fail to yield a bound on α in which case the search direction is a + direction of unboundedness of the switched constraint. The upper limit, αsw and the lower − limit αsw can easily be extracted from these conditions. One should note that the interval − ≤ ≤ + αsw α αsw may be empty in which case no switch is to take place. Consequently sα = max α, α{∈D1∪(D2 { })} − ¯pc ¯pc D = α : αsw ≤ α ≤ min η · α+ , η · ∗α(k ,l ), 1 , 1 { η { sw}} (3.21) ∗ (kpc,lpc) D2 = α : α ≤ min η · α , 1 , 0 ≤ η ≤ 1

s Whenever α ∈ D1 the passivity constraints are updated according to Equation (3.18). The parameter η is included to avoid iterates at the boundary, mitigating numerical ill- conditioning among other things. The geometry of the switching is illustrated in Figure 3.5.

3.2.4 Adaptive Rattle-Space Constraint As mentioned in Section 3.1, limiting the number of constraints used in the optimization is advantageous for efficient computations. Thus it makes sense to include rattle space constraints only at time instances when there is a risk of violating them. Extracting only the rows of Equation (3.3) that correspond to damper deflections we obtain Equation (3.22).

Y∆ = Mxi,∆xi + MU,∆Ui + MR,∆Ri. (3.22)

Using Equation (3.16) together with Equation (3.22) allows us to predict the damper deflection over the output optimization horizon, as in Equation (3.23).

− Y = M x − b · M (I + b · M ) 1 (M x + M R ) + M R ∆ xi,∆ i U,∆ U,∆ xi,∆ i R,∆ i R,∆ i (3.23) 0 · 0 · = Mxi, ∆ xi + MR, ∆ Ri

Only rattle-space constraints corresponding to entries of Y∆ ≤ −κ · drs, 0 ≤ κ ≤ 1 are included. The parameter κ was set to 0.9. Thus we can write ( ) 0 bRS = bRS Ui (, ) 0 BRS,xi = BRS,xi( Ui) , (3.24) 0 BRS,R = BRS,R Ui .

Finding an initial feasible solution through emulation of the passive system ensures feasi- bility only with respect to the passivity constraints but not to the rattle space constraints.

33 Linear Passivity Constraints

"#$

α + p()sw "##

"#"

"#! m a x u " u α − p()sw pc pc *α ()k ,l !"#! p()

!"#" p()α = 0

!"##

!"#$

! ! !"#$ !"## !"#" !"#! " "#! "#" "## "#$ y d ∆ y d ∆ , m a x

Figure 3.5: The values of α that appear in the switching conditions. Note that the relative ¯pc ¯pc magnitudes of ∗α(k ,l ) and 1 cannot be determined beforehand, why they do not appear in the figure.

34 A simple or closed form approach was not found for this case and resorting to a phase-1 search (complicated by the fact that it is unknown which side of the passivity constraint to use in that search) seemed necessary. This route was avoided and a solution that ensured feasibility was instead found by altering the rattle-space constraint. Instead the rattle space constraint is loosened as much as needed to make the initial point strictly feasible and then the barrier function is relied upon to move the solution away from rattle-space violation. This is a simple solution that ensures algorithmic integrity. The rattle space constraint is consequently updated according to (3.25).

· − − − vRS = min (ARS U([ bRS BRS,x]) i xi BRS,RRi) ← 1 (3.25) bRS bRS + η min 0 vRS

3.2.5 Complete Algorithm The complete algorithm can now be stated. The term dynamic is used in order to reflect that constraints are allowed to switch between iterations and/or that the constraints are initialized based on the present state. Note that even though the number of iterations are fixed the algorithm termination is written as a general convergence condition to reflect that it could be triggered by some measure of optimality just as well.

Algorithm 2 Primal Interior Point Algorithm with Dynamic Constraints 0 Require: xi and if available Wi 1: Compute xi from Equation (3.1). 0 2: Compute Ui from Equation (3.16).

3: Compute bRS,BRS,xi ,BRS,W from Equation (3.24). 0 (k,l) 0 (k,l) 4: Initialize Asa , bsa using Equations (3.6), (3.15) and (3.16). 5: convergence ← 0 6: while convergence = 0 do s 7: Solve Equation (3.14) for ∆Ui. 8: Compute sα from Equation (3.21). s 9: if α ∈ D1 then 10: Execute Equation (3.18). 11: end if s+1 s s s 12: Ui ← Ui + α ∆Ui 13: s ← s + 1 14: if s > nmax then 15: convergence ← 1 16: end if 17: end while

3.2.6 Algorithmic Details All high-level commands used in this algorithm are supported by Simulink Encoder, al- lowing the algorithm to be converted into optimized C-code, employable on embedded hardware.

35 1. linsolve A linear system of equations solver that can use additional information about the coefficient matrix. For the primal interior point method, the coefficient matrix is symmetric and positive definite. The solver takes advantage of this by employing a Cholesky factorization, reducing the complexity of matrix inversion from (O)(2n3/3 + 2n2) to (O)(n3/3 + 2n2).

2. Logical Indexing E.g., to extract all positive elements of a, execute a(a > 0). This can of course be done in other ways but logical indexing greatly simplifies coding and improves readability.

3. min,max Find the smallest and largest elements in an array.

4. reshape Changes the dimensions and with that the indexing of an array.

3.2.7 Stability A stability analysis of a the resulting control system is in this case trivial. Since the actuators used were semi-active dampers subject to passivity constraints, energy could only be dissipated by actuators acting on an already passive and stable system. This guarantees input-output stability of the control system. Second, since all states were assumed to be measurable the controller contains no internal dynamics which means that input-output stability also guarantees internal stability.

3.2.8 Parameter Tuning With the control algorithm set, what remains is tuning its parameters. As a first measure the parameter µ is tuned. As noted in [10] reaching absolute optimality is not crucial in obtaining a control law with good performance. Therefore, as an initial step, the system was simulated against the load cases described in Section 4.1 while simultaneously monitoring the average descent of the penalty function. All parameters are found in Appendix B.

Prediction Horizons

The output prediction horizon was kept at Ny = 400 as an increase was not found to result in significant improvements. Neither was it lowered, as the computational complexity of the current formulation does not depend on Ny. The input horizon on the other hand should be kept as low as possible and as no significant improvements for higher than Nu > 7, an input prediction horizon of Nu = 7 was chosen.

Interior-Point Solver 1. The centering parameter, µ was varied with the performance checked against µ = 0.001, 0.01, ...100. Note that it was not allowed to vary from iteration to iteration, i.e. it was independent of s, again inspired by [10]. The best perfomance both with respect to objective function decrease and system outputs was found in the neighbourhood of µ = 0.1.

36 Qz¨c tf1 tf2 tf3 tf4 x¨c y¨c z¨c 6.1 -11.1 -12.0 -9.63 -12.9 -42.5 54.2 -13.9 10.1 -11.7 -12.1 -9.60 -13.7 -44.9 52.3 -15.5 14.1 -11.7 -11.3 -9.5 -13.0 -44.7 49.0 -16.5 18.1 -10.1 -10.9 -11.0 -13.9 -46.9 49.4 -16.7 22.1 -8.9 -9.2 -10.9 -14.5 -47.9 50.6 -17.0 26.1 -8.13 -8.82 -11.3 -14.5 -49.2 49.2 -16.1

Table 3.1: Percentage changes in RMS values of tireforces and perceptually weighted cab accelerations for varying penalty weight for vertical cab acceleration, for the load case random road profile described in Section 4.1.1.

2. The number of iterations, nmax was found to have a surprisingly small impact on the system performance, with considerable degradation only for iteration counts smaller than 4, but the objective function leveled out after around eight iterations for all scenarios. Hence the number of iterations was set to eight.

3. The multiplicative distance to the boundary, η, was not subjected to extensive refine- ment but set to η = 0.95. This is within a range typical for interior point methods, where η = 0.95 is considered fairly low and values closer to η = 0.999 are considered aggressive [16]. Having in mind that primal interior point methods (or barrier meth- ods) are prone to be numerically ill-conditioned close to the constraint boundary, a value closer to the lower end of the range deemed appropriate.

Penalty Matrices Since the system was normalized a reasonable starting point was to assign a unity penalty coefficient for all outputs, except for the suspension deflection and velocity which were assigned zero penalty coefficients. One should note that the vertical cab displacement, velocity as well as acceleration was included in the penalized outputs as that allowed for a crude frequency weighting of the acceleration penalty. This section will cover the tuning of the most important penalty coefficients.

1. Vertical Cab Acceleration Penalty Coefficient, Qz¨c . The first penalty coefficient to

be tuned was that of the vertical acceleration, Qz¨c . After inspecting the spectra of Figures 3.6-3.7 and the corresponding changes in Root-Mean-Square (RMS) values compared to the passive system, the coefficient for the vertical acceleration in the

MPC penalty function was set to Qz¨c = 18.1. The reasons are threefold. It achieves a significant decrease in tire force RMS compared to the passive configuration; it avoids inducing a spectral peak in the tire forces at around 5-6Hz; and it achieves a close to maximal decrease of longitudinal and vertical acceleration RMS-values. The percentage changes of RMS-values, as compared to the passive system, of the tire forces (denoted tfi, i = 1, ..., 4) and cab accelerations are presented in Table 3.1.

2. Front Tire Forces Penalty Coefficients, Qtfi , i = 1, 2. Next, the penalty coefficients for the front tire forces were tuned. Rather then listing the table for each tuning general trends are described. It is found that both the RMS of the tire forces and

37 Front, le f t Front, right Passiv e

Q z¨ c = 6.1

Q z¨ c = 10.1 H z H z Q z¨ c = 14.1 / / 2 2

N N Q z¨ c = 18.1

Q z¨ c = 22.1

Q z¨ c = 26.1

0 1 0 1 10 10 10 10 Frequency (Hz) Frequency (Hz) R e ar, le f t R e ar, right

8 10 8 H z H z 10 / / 2 2 N N

7 10

0 1 0 1 10 10 10 10 Frequency (Hz) Frequency (Hz)

Figure 3.6: The power spectral densities (PSDs) of tire forces, during random road excita- tion, for different weighting coefficient for the vertical acceleration.

38 Passiv e L on g. ac c Q z¨ c = 6.1 0 Q ¨ = 10.1 10 z c /H z 4 ¨ − Q z c = 14.1 s 2 Q z¨ c = 18.1 m

0 1 Q z¨ = 22.1 10 10 c Q ¨ = 26.1 f (H z ) z c L at. ac c . 0

H z 10 / 4 − s 2 m

0 1 10 10 f (H z ) Ve rt. ac c . 0 H z 10 / 4 − s 2 m

0 1 10 10 f (H z )

Figure 3.7: The perceptually weighted power spectral densities (PSDs) of cab accelera- tions, during random road excitation, for different weighting coefficient for the vertical acceleration.

39 the vertical cab acceleration decrease for increasing front tire force penalty up to

Qtf1,2 = 2.0. Thereafter the tire forces continue a slight decrease while the cab

accelerations start to increase. A reasonable tradeoff is found for Qtf1,2 = 2.5.

3. Rear Tire Forces Penalty Coefficients, Qtfi , i = 3, 4. Though the improvement for

rear tire forces reached a maximum for Qtfi = 0.75, i = 3, 4 the front tire forces had already started to deteriorate the performance by then. As a compromise, the default

value of Qtfi = 1, i = 3, 4 was chosen. The cab accelerations were largely unaffected by this tuning.

4. Chassi Pitch and Roll Acceleration Penalty Coefficients, Q ,Q . The system perfor- θ¨t ϕ¨t mance was surprisingly unaffected by the tuning of these coefficients with an impact of only one percentage point in any of the performance indices. The value used was the default value of 1.

5. Cab Pitch and Roll Penalty Coefficients, Qθc ,Qϕc . It can be seen from e.g. Table 3.1 that the lateral cab accelerations have in fact so far been substantially worsened by the control strategy so far. As previously mentioned the anticipated impact of Q ,Q defaulted. However, a relatively aggressive tuning of the cab roll penalties θ¨t ϕ¨t had a significant effect on the perceptually weighted lateral cab accelerations. The percentage change in RMS as compared to the passive configuration for the random road load case dropped from a 50 percent increase to 4 percent increase. The value

achieving this was Qϕc = 10. The value of Qθc had little impact and was set to the deafult value of 1.

40 Chapter 4

Simulations

To evaluate the vehicle performance with semi-active front axle dampers, the responses of the vehicle with this kind of damper are compared to that of the vehicle with passive damper under various driving scenarios including straight ahead driving on stochastic and transient road disturbances and emergency braking. In all cases the inputs and distur- bances are applied after five seconds of simulation in order to discard any initial transients that are due to non-stationary initial states. The acceleration is measured at a point known as the b-pillar, located to the left of the driver’s head. At Volvo this is the preferred mea- surement point for comfort evaluation. Here, a note on the simulation settings in Simulink deserves mentioning. At Volvo the preferred simulation mode is using the fixed step solver, ODE3 (Bogacki-Shampine) with a step size of 1/400 seconds. However, it was recognized that this simulation mode brought high frequency oscillations at around 200Hz, i.e. half the simulation sampling rate. This raised suspicions that the oscillations were due to system stiffness combined with solver inaccuracies rather than an actual property of the simulated system. Increasing the solver order to ODE4 (Runge-Kutta) largely eliminated the men- tioned oscillations. This simulation mode was therefore used in all of the simulations. The 1 computational delay appearing was assumed to be τc = Ts = 200 seconds and was the value used in the simulations. This value together with other parameter values associated with the controller can be found in Appendix B.

4.1 Load Cases

The different load cases are presented here.

4.1.1 Road Irregularities Random Road Profile A random road is represented by a 50 second long stochastic and stationary input according to the standard ISO 8608 [18]. Its spectrum together with a segment of its time profile is shown in figure 4.1. The left and right tires are excited by separate profiles.

41 −2 10 0.1 le f t track right track 0.05 −4 10 /H z m 2 0 m −6 10 −0.05

−8 10 −0.1 0 1 10 10 5 5.5 6 6.5 7 s frequency (Hz) tim e ( )

Figure 4.1: Spectra (left) and a segment of the time profile (right) of left and right tracks of a random road, according to ISO 8608.

0.1

m 0.05

0 8.6 8.7 8.8 8.9 9 9.1 9.2 9.3 9.4 9.5 9.6 tim e (s)

Figure 4.2: Time profile of large bump in the road.

Road Bump Another typical load case is the impulse-like transient disturbance of a large bump in the road. It is represented by a raised half-period cosine with peak-to-peak amplitude of 80mm. This load case consists of two parts: the bump excites the tires in one track (single); the bump excites the tires in both tracks simultaneously (double). The second scenario represents a case where the truck is traversing a long object lying across the path of the truck. This excitation is shown in Figure 4.2.

4.1.2 Lateral and Longitudinal Disturbances While road irregularities test the ability of the system to mitigate the impact of vertical disturbances acting on the tires, lateral and longitudinal load cases include braking and steering. The braking scenario represents a case where the driver engages an emergency braking causing the truck to decelerate from 70km/h to stand still in 3.6 seconds, in- troducing longitudinal forces through the road-tire contact patch. The lateral load case represents a case where the driver is avoiding an object on the road by steering the truck

42 20 0.1

10 0 rad m /s

0 −0.1 6 8 10 6 8 10 tim e (s) tim e (s)

Figure 4.3: Time profile of velocity during braking (left) and of steering angle during the steering scenario (right). to the side with a sinusoidal steering input. The velocity profile of the braking scenario and the steering angle of the steering scenario are showed in Figure 4.3.

4.2 Results

This section presents the results from the load cases of Section 4.1 and provides brief comments on them. The results will be presented in the form of a summary of performance indices in Tables 4.1-4.2 at the end of this section and as a set of graphs in Appendix A.

4.2.1 Road Irregularities Random Road Profile As this is a load case with a disturbance modeled as a stationary stochastic process, the importance of RMS values should be emphasized over maximum absolute (MA) values. This favors the controller as MA values of dynamic tire forces are somewhat increased in the semi-active case. The RMS values of tire forces along with the longitudinal and vertical cab accelerations are significantly improved mostly due to an effective supression of a resonance at around 1Hz, as shown in Figures A.1-A.2. Also the cab pitch is significantly reduced, most easily conveyed by Figures A.2 and A.5. Another notable effect is that the spectrum of the dynamic tire forces is flattened, virtually eliminating any dominant frequency.

Single Sided Bump The pitch mode is effectively dampened, as shown Figure A.8. The initial peak in roll angle is effectively supressed but is followed by a larger crest than in the passive case. Moderate improvements in comfort are seen from Figure A.7, especially in longitudinal accelerations, likely related to the previously observed supression of the pitch mode of the truck, which is again confirmed by Figure A.8. While the initial peak in roll is supressed it is followed by a larger second swing than that of the passive case. While the tire forces are more quickly attenuated, the initial peak is amplified with the controller active, as is seen in Figure A.9.

43 Double Sided Bump Due to symmetry the lateral cab accelerations as well as the cab roll remain zero in the passive case. The symmetry is broken by the controller, why the lateral acceleration and cab roll should not be compared in percent to the passive case as any finite acceleration results in an infinite percentage increase. This is clearly seen in Figure A.10. It is again seen that the pitch mode is effectively dampened, showing significant improvements in both RMS and max values in Figures A.10 and A.11

4.2.2 Lateral and Longitudinal Disturbances Emergency Braking Again, roll and lateral cab acceleration should not be compared. The cab pitch, suspension deflection and longitudinal accelerations are the outputs that are of importance here. They are mostly successfully dampened by the controller. The Although the maximum vertical cab acceleration is somewhat increased, these peaks are very brief. The RMS values are significantly reduced except for the dynamic tire forces, which slightly increases.

Emergency Steering In the most important outputs significant decreases are seen as well. The roll and lateral acceleration are both significantly decreased in both RMS and MA values. Moreover the MA and RMS deviation from the ideal yaw rate is changed by -3.8 percent and -5.7 per- cent. Although these are not tremendous improvements, these decreases are still indicative of that handling in terms of under- or oversteering is not sacrificed by the control strategy.

44 4.2.3 Summary Tables 4.1-4.2 show performance indicators for the different load cases.

Scenario tf1 tf2 tf3 tf4 x¨c y¨c z¨c ϕc θc Random Road -17 -17 -6 -7 -26 4.0 -28 16 -26 Road Bump (single) -19 -10 1 -19 -29 -15 -33 -2 -34 Road Bump (double) -24 -25 -4 -3 -24 — -25 — -33 Braking -2.5 -2.4 -5 -4.8 -22 — -19 — -17 Steering 0 0 -1 -1 0 -5 -10 -1 -1.5

Table 4.1: Percentage changes in RMS values for tire forces, perceptually weighted cab accelerations and cab roll and pitch. When not applicable, the value is replaced with —.

Scenario tf1 tf2 tf3 tf4 x¨c y¨c z¨c ϕc θc ∆imax Random Road 1.5 13 1 -10 -20 -5.8 -28 6 -19 47 Road Bump (single) -13 51 -1 -34 -16 -40 -12 -28 -11 24 Road Bump (double) -1 -1 -10 -8 -20 — -17 — -10 12 Braking -4 -4 7 6 -23 — -19 — -27 7 Steering 4 1 2 -1 -3 -3 62 -2 -3 5

Table 4.2: Percentage changes in MA values for tire forces, perceptually weighted cab accelerations and cab roll and pitch. When not applicable, the value is replaced with —.

45 Chapter 5

Discussion and Conclusions

5.1 Practical Utility of Proposed Control System

5.1.1 Impact on Performance The objective of this thesis was to develop a controller for a semi-active suspension of a heavy truck and to evaluate it together with a SimMechanics model under different load cases. Results from simulations show that the controller achieved a reduction in RMS of the vertical and longitudinal cab accelerations by as much as 28 and 20 percent (this was fairly consistent throughout the different scenarios), respectively; a reduction in RMS of the dynamic tire forces by as much as 13 percent, compared to the passive system. All the while not sacrificing truck handling in steering. The significant decreases in cab accelerations contribute to driver comfort and the decreases in dynamic tireforces keep both the road- tire contact forces more constant, both decreasing road damage and increasing available traction, thus increasing handling. One point of worry is that while the RMS value of the dynamic tire forces are decreased for the random road, there are slightly increased maximum values. Inspecting the spectral peaks of Figure A.3 shows that they are all decreased, suggesting the increases in maximum values are merely statistical anomalies. However, the existance of increased maximum values in tire forces is fairly consistently across the load cases.

5.1.2 Realizability of Implementation Mechanical and Electrical Hardware The considered control system assumes full state measurability. Although this is never achievable the system under consideration possesses properties that makes this assumption not too far removed from reality. As is indicated by Figures 2.7-2.10 the system gain from all relevant inputs to outputs approach zero for low frequencies. This means that the controller gain also can approach zero for low frequencies, accomodating the use of high-pass filtered sensors. This means that and gyroscopes, prone to low-frequency drift, can be used without loss in performance. Accelerometers and gyroscopes are cheap, robust and can be placed such that each state of the truck can be measured. Moreover, since all states of the simplified model belong to the tractor, the system enjoys a functionality

46 independent of the connected trailer in the sense that the trailer need not be equipped with a system communicating with the semi-active control system of the tractor. The typical MR-damper is compact in its design and can be mounted in a truck without significant redesign of the chassi-axle geometry.

Computational Hardware The requirements on computational power are obviously large compared to many other control strategies and its feasibility likely comes down to implementational details. The most computationally demanding operation is solving for the Newton search direction, i.e. Equation (3.14). Since the coefficient matrix is symmetric the Conjugate-Gradient (CG) method [17] can be applied to obtain an approximate solution. The main operation in this method is several matrix-vector multiplications which can easily be parallelized. With increasingly cheap Field Programmable Gate Arrays (FPGAs) these operations can be carried out extremely fast, allowing for sampling rates of a few kHz, as reported in [19]. The same authors report that, similarly to keeping µ fixed between iterations, it is sufficient to obtain (very) approximate solutions to the Newton equations with only a few CG-iterations and still achieve high quality control signals.

5.2 Future Work

5.2.1 Technical Though a system allowing for a preview or a measurement of the road profile could prove expensive there are other options: during emergency braking the decelerating force could be estimated from the braking system or accelerometers and with that the induced pitching torque on the tractor cab; in the case of emergency steering, rolling moments can be deduced from the steering angle; the effect from the road profile on the front tires can be measured and used to estimate the upcoming disturbance for the rear tires. All of the mentioned estimations of disurbances could be used in the semi-active control system to improve its performance. As has been noted, the penalty on cab roll required to suppress rolling motion was generally larger than other penalties. This may hint on modeling deficiencies in the roll dynamics which would call for refinements in this respect. As far as the dynamic tire forces are concerned, inspecting Figure A.6 reveals that for most peaks the controller achieves an improvement but for a few the opposite happens. The author is not certain of why this is other than simply a robustness issue with the controller. The dynamic tire forces might benefit from a min-max optimization instead, where the maximum absolute value over the horizon is being minimized, rather than the RMS value.

5.2.2 Political Though the control system improves both comfort and road holding it may be difficult to financially motivate the extra cost such a system brings. However, the correlation between road wear and dynamic tire forces could give ground for lobbying for tax reductions and public subventions, similar to what fuel efficient cars have enjoyed in the past few years.

47 Appendix A

Graphs of Simulations

48 L on g. ac c

0 10 /H z 4 − s 2 m

0 1 10 10 L at. ac c . 0 10 H z / 4 − s 2 m

0 1 10 10 Ve rt. ac c . 0 P

H z 10 SA / 4 − s 2 m

0 1 10 10 f (H z )

Figure A.1: Spectrum of perceptually weighted cab acceleration during random road exci- tation.

PSD Cab Pitch Angle

0 10 H z / 2 d e g

−5 10

0 1 10 10 Frequency (Hz) PSD Cab Roll Angle

P SA 0 10 H z / 2

d e g −2 10

0 1 10 10 f (H z )

Figure A.2: Spectrum of cab pitch and roll during random road excitation.

49 Front, le f t Front, right H z H z / / 2 2 N N

0 1 0 1 10 10 10 10 Frequency (Hz) Frequency (Hz) R e ar, le f t R e ar, right

P SA

8 10 8 H z H z 10 / / 2 2 N N

7 10

0 1 0 1 10 10 10 10 Frequency (Hz) Frequency (Hz)

Figure A.3: Spectrum of vertical tire forces during random road excitation.

L on g. ac c 1 2 − 0 m s

−1 43 43.5 44 44.5 45 45.5 46 46.5 47 47.5 48 t (s) L at. ac c . 0.5 2 − 0 m s

−0.5 43 43.5 44 44.5 45 45.5 46 46.5 47 47.5 48 t (s) Ve rt. ac c . 1

2 P

− SA 0 m s

−1 43 43.5 44 44.5 45 45.5 46 46.5 47 47.5 48 t (s)

Figure A.4: Time segment of cab accelerations during random road excitation.

50 Cab Pitch Angle 4 P SA 2

0 (d e g) θ −2

−4 43 43.5 44 44.5 45 45.5 46 46.5 47 47.5 48 t (s) Cab Roll Angle 2 P SA 1

0 (d e g) φ −1

−2 43 43.5 44 44.5 45 45.5 46 46.5 47 47.5 48 t (s)

Figure A.5: Time segment of cab attitude during random road excitation.

Front, le f t Front, right 6000 6000

4000 4000

2000 2000

F(N) 0 F(N) 0

−2000 −2000

−4000 −4000 43 44 45 46 47 48 43 44 45 46 47 48 t (s) t (s) 4 4 x 10 R e ar, le f t x 10 R e ar, right 1 1 P SA 0.5 0.5

0 0 F(N) F(N)

−0.5 −0.5

−1 −1 43 44 45 46 47 48 43 44 45 46 47 48 t (s) t (s)

Figure A.6: Time segment of dynamic tire forces during random road excitation.

51 L on g. ac c 2 2 − 0 m s

−2 8 8.5 9 9.5 10 10.5 11 11.5 12 t (s) L at. ac c . 2 2 − 0 m s

−2 8 8.5 9 9.5 10 10.5 11 11.5 12 t (s) Ve rt. ac c . 5

2 P

− SA 0 m s

−5 8 8.5 9 9.5 10 10.5 11 11.5 12 t (s)

Figure A.7: Cab acceleration during single sided bump.

Cab Pitch Angle 10 P SA 5 (d e g)

θ 0

−5 8 8.5 9 9.5 10 10.5 11 11.5 12 t (s) Cab Roll Angle 10 P SA 5 (d e g)

φ 0

−5 8 8.5 9 9.5 10 10.5 11 11.5 12 t (s)

Figure A.8: Cab roll and pitch during single sided bump.

52 4 x 10 Front, le f t Front, right 2 5000

1 0 0 F(N) F(N) −5000 −1

−2 −10000 8 9 10 11 12 8 9 10 11 12 t (s) t (s) 4 4 x 10 R e ar, le f t x 10 R e ar, right 4 1 P 0.5 SA 2 0 0

F(N) F(N)−0.5 −2 −1

−4 −1.5 8 9 10 11 12 8 9 10 11 12 t (s) t (s)

Figure A.9: Vertical tire forces during single sided bump.

L on g. ac c 5 2 − 0 m s

−5 8 8.5 9 9.5 10 10.5 11 11.5 12 t (s) L at. ac c . 0.02 2 − 0 m s

−0.02 8 8.5 9 9.5 10 10.5 11 11.5 12 t (s) Ve rt. ac c . 5

2 P

− SA 0 m s

−5 8 8.5 9 9.5 10 10.5 11 11.5 12 t (s)

Figure A.10: Perceptually weighted cab acceleration during double sided bump.

53 Cab Pitch Angle 15 P 10 SA

5 (d e g)

θ 0

−5

−10 8 8.5 9 9.5 10 10.5 11 11.5 12 t (s) Cab Roll Angle 0.1 P SA 0.05

0 (d e g) φ −0.05

−0.1 8 8.5 9 9.5 10 10.5 11 11.5 12 t (s)

Figure A.11: Cab roll and pitch during double sided bump.

4 4 x 10 Front, le f t x 10 Front, right 2 2

1 1

0 0 F(N) F(N)

−1 −1

−2 −2 8 9 10 11 12 8 9 10 11 12 t (s) t (s) 4 4 x 10 R e ar, le f t x 10 R e ar, right 4 4 P SA 2 2

0 0 F(N) F(N)

−2 −2

−4 −4 8 9 10 11 12 8 9 10 11 12 t (s) t (s)

Figure A.12: Vertical tire forces during double sided bump.

54 L on g. ac c 10 2 − 0 m s

−10 5 6 7 8 9 10 11 12 13 14 15 t (s) L at. ac c . 0.05 2 − 0 m s

−0.05 5 6 7 8 9 10 11 12 13 14 15 t (s) Ve rt. ac c . 2

2 P

− SA 0 m s

−2 5 6 7 8 9 10 11 12 13 14 15 t (s)

Figure A.13: Perceptually weighted cab acceleration during emergency braking.

Cab Pitch Angle 20 P SA 10

0 (d e g) θ −10

−20 5 6 7 8 9 10 11 12 13 14 15 t (s) Cab Roll Angle 0.2 P 0.1 SA

0 (d e g)

φ −0.1

−0.2

−0.3 5 6 7 8 9 10 11 12 13 14 15 t (s)

Figure A.14: Cab pitch and roll during emergency braking.

55 Front, le f t Front, right 0.1 0.1

0.05 0.05

(m ) 0 (m ) 0 ∆ ∆ y y −0.05 −0.05

−0.1 −0.1 5 10 15 5 10 15 t (s) t (s) R e ar, le f t R e ar, right 0.1 0.1 P SA 0.05 0.05

(m ) 0 (m ) 0 ∆ ∆ y y −0.05 −0.05

−0.1 −0.1 5 10 15 5 10 15 t (s) t (s)

Figure A.15: Suspension deflection during emergency braking.

Cab Pitch Angle 5 P SA 0 (d e g)

θ −5

−10 5 6 7 8 9 10 11 12 13 14 15 t (s) Cab Roll Angle 20 P 10 SA

0 (d e g)

φ −10

−20

−30 5 6 7 8 9 10 11 12 13 14 15 t (s)

Figure A.16: Cab pitch and roll during emergency steering.

56 Front, le f t Front, right 0.1 0.1

0.05 0.05

(m ) 0 (m ) 0 ∆ ∆ y y −0.05 −0.05

−0.1 −0.1 5 10 15 5 10 15 t (s) t (s) R e ar, le f t R e ar, right 0.05 0.06 P 0.04 SA

0.02 (m ) 0 (m ) ∆ ∆

y y 0

−0.02

−0.05 −0.04 5 10 15 5 10 15 t (s) t (s)

Figure A.17: Suspension deflection during emergency steering.

Yaw R ate s ψ˙ t 1 P SA 0.5 id e al

0 rad /s

−0.5

−1 5 6 7 8 9 10 11 12 13 14 15 tim e (s) Yaw Rates Errors 0.2 P 0.1 SA

0

rad /s −0.1

−0.2

−0.3 5 6 7 8 9 10 11 12 13 14 15 tim e (s)

Figure A.18: Simulated and ideal yaw rates of tractor chassi during emergency steering.

57 Appendix B

Variables and Parameters

Parameter Value Description µ 0.1 Centering parameter scaling the logarithmic barrier in Equation (3.11). η 0.95 Multiplicative distance to the constraint boundary in Equation (3.21). κ 0.9 Minimum multiplicative distance to rattle space constraint for inclusion. nmax 8 Maximum number of Newton iterations. Ts 5 ms Sampling time. τc 5 ms (= Ts) Computational delay. Nu 7 Input prediction horizon. Ny 400 Output prediction horizon.

Qui 1, i = 1, ..., 4 Input penalty weights.

Q∆i 0, i = 1, ..., 4 Suspension deflection penalty weights.

Qd∆i 0, i = 1, ..., 4 Suspension deflection velocity penalty weights.

Qtfi 2.5, 2.5, 1, 1 Dynamic tire force penalty weights.

Qzc 0.3 Vertical cab displacement penalty weight.

Qz˙c 1.0 Vertical cab velocity penalty weight.

Qz¨c 18 Vertical cab acceleration penalty weight.

Qϕc 10 Cab roll penalty weight.

Qθc 1 Cab pitch penalty weight. Q ¨ 1 Front chassi roll acceleration penalty weight. ϕtf Q 1 Chassi pitch acceleration penalty weight. θ¨c Table B.1: Parameter values in the Model Predictive Controller.

58 Parameter Value ui,max 2250 N,i = 1, ..., 4 ri,max 5 cm,i = 1, ..., 4 ytf,i,max 5000 N,i = 1, ..., 4 y∆,i,max 0.15 m,i = 1, ..., 4 −1 yd∆,i,max 1 m s ,i = 1, ..., 4 zc,max 0.05 m −1 z˙c,max 0.3 m s −2 z¨c,max 1 m s ϕc,max 0.05 rad θc,max 0.05 rad ¨ −2 ϕtf,max 2 rad s −2 θ¨t,max 2 rad s

Table B.2: Parameter values related to the linear model.

Variable Explanation y∆ Suspension deflection. yd∆ Suspension velocity. ytf Dynamic tire forces. ϕ12 Roll of front axle. ϕ34 Roll of rear axle. ϕc Roll of cab. ϕtf Roll of front chassi body. ϕtr Roll of rear chassi body. θc Pitch of cab. θt Pitch of chassi. z12 Vertical displacement of front axle. z34 Vertical displacement of rear axle. zc Vertical displacement of cab center of gravity. zt Vertical displacement of chassi (effective) center of gravity. ui Controlled force in damper i. ri Uncontrolled disturbance acting on tire i.

Table B.3: Short explanation of each variable in linear model.

Parameter Explanation ws Distance in y-direction from chassi CoG to semi-active damper mounting point. w Distance in y-direction from chassi CoG to the effective tire-road contact point. lc Distance in x-direction from effective chassi CoG to cab CoG. lt1 Distance in x-direction from effective chassi CoG to front axle CoG. lt2 Distance in x-direction from effective chassi CoG to rear axle CoG. ∆l Change, due to trailer, in x-coordinate of effective CoG of chassi.

Table B.4: Short explanation of each parameter in linear model.

59 Bibliography

[1] The Controller General, Excessive truck weight: an expensive burden we can no longer support, (1979).

[2] International Organization for Standardization, Mechanical Vibration and Shock - Evaluation of Human Exposure to Whole-body Vibration, ISO 2631-1 (1997).

[3] D. Fischer and R. Isermann, Mechatronic semi-active and active vehicle suspensions, Control Engineering Practice 12 (2004), pp. 1353–1367.

[4] M. Unsal, C. Niezrecki, and C.D.C. III, Multi-axis Semi-active Vibration Control using Magnetorheological Technology, Intell. Mat. Sys. & Struct. 19 (2008), pp. 1463–1470.

[5] G. Yao, F. Yap, G. Chen, W. Li, and S. Yeo, MR damper and its application for semi-active control of vehicle suspension system, , School of Mechanical & Production Engineering, Nanyang Technological University, 2002.

[6] C. Poussot-Vassal, O. Sename, L. Dugard, P. Gáspár, Z. Szabó, and J. Bokor, A new semi-active suspension control strategy through LPV technique, Control Engineering Practice 16 (2008), pp. 1519–1534.

[7] M. Canale, M. Milanese, and C. Novara, Semi-active suspension control using ’fast’ model-predictive techniques, IEEE Transactions on Control Systems Technology 14 (2006), pp. 1034–1046.

[8] X. Song, Design of adaptive vibration control systems with applicaion to magneto- rheological dampers, Ph.D. dissertation, Mechanical Engineering, Virginia Tech., 1999.

[9] D. Hrovat, Survey of advanced suspension developments and related optimal control applications, Automatica 33 (1997), pp. 1780–1817.

[10] Y. Wang and S. Boyd, Fast model predictive control using online optimization, IEEE Transactions on Control Systems Technology 18 (2010), pp. 267–278.

[11] H.B. Pacejka Tyre and , 2nd edition, Butterworth-Heinemann is an imprint of Elsevier, 2006.

[12] J.M. Maciejowski Predictive control with constraints, Prentice Hall, Essex, England, 2002.

60 [13] C. Mészáros, Regularization techniques in interior point methods, J. Comput. Appl. Math. 236 (2012), pp. 3704–3709.

[14] M. Friedlander and D. Orban, A primal–dual regularized interior-point method for convex quadratic programs, Mathematical Programming Computation 4 (2012), pp. 71–107.

[15] E. Guglielmino Semi-Active Suspension Control: Improved Vehicle Ride and Road Friendliness, Springer London, Limited, 2008.

[16] I. Griva, S.G. Nash, and A. Sofer Linear and nonlinear optimization, 2nd edition, SIAM, 2008.

[17] S. Boyd and L. Vandenberghe Convex Optimization, Cambridge University Press, 2009.

[18] International Organization for Standardization, Mechanical vibration - Road surface profiles - Reporting of measured data, ISO 8608:1995 (1995).

[19] A. Wills, A. Mills, and B. Ninness, FPGA Implementation of an Interior-Point So- lution for Linear Model Predictive, in 18th IFAC World Congress 2011, Milan, Italy, mar, , 2011, pp. 1–9.

61