Look Ahead Cruise Control: Road Slope Estimation and - DiVA

October 30, 2017 | Author: Anonymous | Category: N/A
Share Embed


Short Description

use of recorded road slope data in combination with GPS, in. hanne RTEX_0524_ERMIN KOZICA.pdf ......

Description

Look Ahead Cruise Control: Road Slope Estimation and Control Sensitivity

ERMIN

KOZICA

Master's Degree Project Stockholm, Sweden 2005

IR-RT-EX-0524

Abstract Look ahead cruise control is a relatively new concept. It deals with the possibility of making use of recorded road slope data in combination with GPS, in order to improve vehicle cruise control. This thesis explores the possibility of estimating road slope as well as investigating the sensitivity of two look ahead controllers, with respect to errors in estimation of mass, wheel radius and road slope. A filter using GPS and standard vehicle sensors is used for estimation of road slope. The filter is robust to losses in data since redundant information is available. Possible errors in estimation caused by the filter are identified. Two previously published look ahead controllers using different strategies to control a heavy vehicle are investigated. A description of controller behaviour in perfect conditions is presented. Sensitivity analysis is performed identifying erroneous control behaviour inflicted by errors in the used vehicle model and road slope. Further, effects on controllers caused by errors in road slope estimation estimation are detected. Conclusions about the two look ahead strategies are drawn.

i

Acknowledgments This thesis finalizes my undergraduate studies at the Royal Institute of Technology. Many persons have helped me in completing the masters project and I would hereby like to extend my thanks to all of them. The project was conducted at Scania CV AB, where my supervisors have been Per Salholm and Henrik Jansson. I want to thank you for your continuous supervision and shown enthusiasm. You have guided me through the project in a superb fashion. I would like to thank Michael Blackenfelt considering the employment position of the master’s project, which was appointed to me. It has given me a truly appreciated insight into the affairs of a successful company like Scania. I owe my gratitude to Karl-Henrik Johansson for your views on the problem— providing with a different approach and a more mature thinking of my own. Your comments on report writing are unequaled. Anna Wingren och Erik Hellstr¨ om have developed the algorithms that a part of this thesis is based on. Your work is entitled to acknowledgment and I thank you for sharing it with me. I am grateful to Dino Kapetanovic for valuable comments on the thesis manuscript. Employees at Scania like Dino Kapetanovic, Jon Andersson, Jonny Andersson, Ola Larses, Erik Brakenhielm and several others, have all made my stay very memorable, whether our encounters have dealt with work or not: Thank you most sincerely! Special thanks go to my family for your never ending support and commitment. I truly appreciate you.

ii

Contents Abstract

i

Acknowledgments

ii

Contents

iv

1 Introduction 1.1 Look Ahead Cruise Control . . . . . . . . . . . . . . . . . . . . . 1.2 System Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Thesis Objectives and Outline . . . . . . . . . . . . . . . . . . . .

1 1 2 3

2 Vehicle Modeling 2.1 Powertrain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 SHTL Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Basic Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 5 9 11

3 Road Slope Estimation 3.1 Kalman Filter . . . . . . . . . . . . 3.2 Vehicle and Environment Model . 3.3 Filter Design and Results . . . . . 3.3.1 Steady Driving . . . . . . . 3.3.2 Satellite Availability . . . . 3.3.3 Shifting Gears and Braking 3.4 Conclusions . . . . . . . . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

13 14 15 16 17 18 20 21

4 Look Ahead Control 4.1 Optimal Look Ahead . . . . . . . 4.2 Expert Cruise Control . . . . . . 4.2.1 Control Algorithm . . . . 4.2.2 Simulation Results . . . . 4.3 Model Predictive Cruise Control 4.3.1 Control Algorithm . . . . 4.3.2 Simulation Results . . . . 4.4 Conclusions . . . . . . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

22 22 24 24 25 28 28 29 32

. . . . . . . .

5 Sensitivity Analysis 33 5.1 Sources of Disturbances . . . . . . . . . . . . . . . . . . . . . . . 33 5.1.1 Model Inflicted Errors . . . . . . . . . . . . . . . . . . . . 34 5.1.2 Road Slope Inflicted Errors . . . . . . . . . . . . . . . . . 35 iii

5.2

5.3

Simulation Results . . . . . . . . . . . . 5.2.1 Expert Cruise Control . . . . . . 5.2.2 Model Predictive Cruise Control Conclusions . . . . . . . . . . . . . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

35 35 38 41

6 Conclusions

42

7 Future Work and Extensions

43

Bibliography

44

iv

Chapter 1

Introduction Computerized control systems for vehicles have increased rapidly over the last two decades. The existence of embedded controllers has provided a solid ground for implementation of ideas that in theory have existed for a long time, but not been implementable due to performance limitations of mechanical and analog realizations. Systems such as fuel injection, ABS (Anti-lock Braking System) and cruise control are today a matter of course. ESP (Electronic Stability Program) has been around for a while and is becoming a standard feature on new vehicles. New systems that are designed to assist the driver in various situations are under development. Functions such as Adaptive Cruise Control (AiCC) and Look Ahead Cruise Control (LACC) are investigating the possibility of controlling vehicle behaviour on a higher level, mimicking commands that a good driver would implement. AiCC is among other things designed to keep appropriate distance to vehicles ahead. LACC uses information about the road ahead, e.g. topography and speed limits, in order to improve vehicle behaviour and reduce fuel consumption. Motivation for implementing control systems in vehicles is hardly needed. Issues as safety and environmental awareness have been driving functionality in new cars for a long time. Emission requirements are more strict as time passes and to keep up with the competition new solutions have to be found. One obvious approach to the problem of reducing emissions and preserving the environment is reducing fuel consumption itself. This solution has, besides the environmental effects, the huge advantage of reducing vehicle ownership costs.

1.1

Look Ahead Cruise Control

Cruise controllers (CC) used in heavy truck vehicles today are mostly based on PID control designed to maintain a reference velocity. An extension to basic PID is that the CC allows the vehicle to travel with certain velocities up to a maximum value before braking. This design has been made in order to preserve kinetic energy when driving downhill. However, since only velocity error is fed back to the CC, it can never control the vehicle as cleverly as a human driver. One example is speeding up before uphill slopes in order to make use of the momentum that is significant for heavy vehicles.

1

Look ahead controllers use, as the name suggests, extra information about the situation ahead of the vehicle. This information has in most cases been road slope. With the knowledge of what the road slope ahead of the vehicle will be, look ahead controllers should be able to outperform standard cruise controllers. Two main aspects that to some extent are correlated are taken into consideration. These are mimicking behaviour of a skilled driver with respect to adjacent slopes and reducing fuel consumption. Predictive Cruise Control (PCC), see [1], is a system that Daimler Chrysler has developed. It uses road topography information to calculate an optimal velocity profile for the vehicle up to a certain horizon. Fuel consumption, time and deviation from reference velocity are weighed together in a cost function that is minimized over the horizon. The velocity profile is communicated to the vehicle via a standard cruise controller. A reduction of 5 % has been demonstrated for selected vehicle and road. An algorithm for calculating a velocity profile has been studied at Scania, see [2], and will in this report be referred to as Expert Cruise Control (ECC). The main idea in ECC is dividing the road into several sections, describing uphill and downhill slopes along the road. Different control strategies are implemented for different section types. Up to 3.4 % lower fuel consumption has been obtained in simulations. Model predictive control (MPC) has been used in [3] for calculation of velocity profiles. It resembles PCC to some extent. A cost function consisting of several addends is minimized over a horizon and desired fuel injection amount, gear and brake level are obtained. Fuel savings of 2.5 % on a chosen road are the results of simulations. The mentioned works give promising results. Fuel savings of several percent mean a great deal to haulage contractors in terms of expenses as well as reputation for environmental thinking. However, implementation of look ahead control involves among other things the assumption of knowledge of the road slope ahead. Since no such information is available today, there are certain issues that have to be dealt with before look ahead control is possible.

1.2

System Overview

The general system in which a look ahead cruise controller operates is assumed to consist of three separate subsystems. These are controller C, vehicle S and filter F that estimates environment variables. These three subsystems are assumed to be dependent of vehicle position s along a road. Disturbance to the system is introduced with environment variable e. Figure 1.1 illustrates the general look ahead system. Variable e represents the surrounding environment of the vehicle. It consists of variables that are position dependent. Examples of such variables are altitude z and road slope α. For each position s there is a vector e(s) representing the current vehicle environment, hence e(s) = [z(s), α(s), . . . ]T .

(1.1)

Filter F predicts what the environment variables will be over a horizon interval, reaching from current position s to a prediction horizon sh . This

2

e ?

F vref

-

eˆ ? C

?

u

-

6

S

δ v

-

q

Figure 1.1: Look ahead controller system overview.

interval is quantized in steps of Δs . Filter F uses environment variables e(s) as input and produces the estimate eˆ as [ˆ e(s), eˆ(s + Δs ), . . . , eˆ(s + sh )]T = F (e(s)).

(1.2)

The vehicle is represented by a dynamic system denoted S. Inputs to the system are environment variables e and a control signal u. The meaning of u can differ depending on what vehicle model is used. One example is a set velocity that the vehicle should try to keep. The system output states are velocity v, representing velocity of the vehicle, and current fuel injection amount δ. Hence a general representation is [v(s), δ(s)]T = S(u(s), e(s))

(1.3)

Controller C calculates a control signal u from current velocity v, reference velocity vref and predicted environment variables eˆ as u(s) = C(v(s), vref (s), eˆ(s), eˆ(s + Δs ), . . . , eˆ(s + sh ), q).

(1.4)

Vehicle parameters that in reality have to be estimated are denoted q and are assumed to be known to the controller. Examples are vehicle mass and wheel radius.

1.3

Thesis Objectives and Outline

ECC and MPC are two look ahead cruise controllers that use road slope data and have been developed at Scania, [2], and Link¨ oping University, [3], respectively. 3

This thesis defines a general look ahead problem and describes how mentioned controllers attempt to solve it. Further, the thesis addresses two problems probable in an implementation of a look ahead system, namely road slope estimation and control sensitivity. Road slope estimation is based on GPS data and sensors that are available in a Scania truck and is designed to perform well even when unexpected events, such as satellite loss, occur. Control sensitivity is investigated with respect to probable errors in estimated vehicle parameters and road slope. Models of errors are presented and controller behaviour caused by these errors are detected. Results of control sensitivity are based on simulations and not actual implementation. Chapter 2 presents models for different parts of a vehicle and describes the vehicle models that are used in the thesis. Road slope estimation is introduced in Chapter 3 and a method for estimating road slope is presented. Road slope estimation results are presented. Chapter 4 defines the optimal look ahead problem and describes two controllers that attempt to solve it, ECC and MPC. A detailed explanation of the controllers is left out, being out of the scope of this thesis. Instead, the strategy of each controller is described, giving a the reader the background needed for comprehension of coming chapters. Simulation results of the controllers are presented. In Chapter 5 sources of error in an implementation are identified and their impact on the two controllers is investigated. Conclusions from the sensitivity analysis are drawn. Thesis conclusions are presented in Chapter 6, while Chapter 7 discusses future work.

4

Chapter 2

Vehicle Modeling As stated in thesis objectives, two different solutions to an optimal look ahead problem will be investigated. These two solutions use different models for vehicle S in the general look ahead system, see Figure 1.1. Modeling of the vehicle is presented in this chapter and has the following outline. A general time dependent model for a vehicle powertrain is presented in Section 2.1. Sections 2.2 and 2.3 use the general model as background and describe subsystem S as it is implemented in mentioned solutions.

2.1

Powertrain

For the purposes of keeping track of velocity changes in the vehicle, its powertrain needs to be modeled. General powertrain modeling can be found in [4]. The model described here is restricted to modeling vehicle functionality that is used in this thesis. A powertrain consists of a number of vehicle components that provide different functionality. The components that are considered are depicted in Figure 2.1 and described below.  Wheel   Drive shaft Clutch

Retarder Final drive Propeller shaft

Transmission Engine   Figure 2.1: Vehicle engine and drivetrain.

5



Engine: The powertrain of a vehicle starts with the engine that is modeled as dynamic and described as Je ϑ¨e = T − Tloss − Tc .

(2.1)

Combustion results in an engine torque T —where engine friction is included— that drives the system with engine angle ϑe , mass moment of inertia Je and output torques Tloss and Tc . Engine torque, T = T map (δ, ϑ˙ e ),

(2.2)

is looked up in an engine map, T map , which depends on engine fueling δ and current engine speed ϑ˙ e . Figure 2.2 illustrates a typical Scania engine map. Engine torque map

2500

Engine torque [Nm]

2000 1500 1000 500 0 −500 2500 250

2000 200

1500

150 100

1000 50 Engine speed [rpm]

500

0

Fueling [mg/stroke]

Figure 2.2: Fueling and engine speed mapped to engine torque. Fueling δ is an input from a controller and is limited to δmax , which in turn is looked up in a map dependent of engine speed. This yields ∈

δ

[0, δmax ] map ˙ = δmax (ϑe ).

δmax

(2.3) (2.4)

Clutch: It is assumed that the clutch is engaged and stiff at all times. Neutral gear is not modeled. Hence, torque Tt passed to transmission equals clutch torque Tc , according to Tt

= Tc = ϑc .

ϑe

6

(2.5) (2.6)

Transmission: Inertia of transmission is not modeled. A gear number G is mapped to a conversion ratio it and an efficiency ηt giving Tp ϑc

= it ηt Tt = it ϑt .

(2.7) (2.8)

Propeller shaft: The propeller shaft is assumed stiff and has a retarder connected that consumes torque Tr according to = Tp − Tr = ϑp = ϑr .

Tf ϑt

(2.9) (2.10)

Final drive: The final drive is modeled as the transmission with constant conversion ratio if and efficiency ηf . This yields Td ϑp

= if ηf Tf = if ϑf .

(2.11) (2.12)

Drive shafts: The vehicle is assumed to be traveling fairly straight forward, having equal velocity on both wheels. With this assumption, the drive shafts can be modeled as one stiff drive shaft with equations Tw

= Td = ϑd .

ϑf

(2.13) (2.14)

Wheel: Wheels are modeled as Jw ϑ¨w = Tw − Tb − rw Fw ,

(2.15)

where Jw denotes mass moment of inertia, ϑw denotes wheel angle, rw denotes wheel radius, Tb denotes foundation brake torque and Fw denotes resulting friction force. The vehicle is affected by longitudinal forces acting on it. These are depicted in Figure 2.3 and modeled as follows.

Fa



m



Fr



j

j

Fg

j

Fw

-

α

Figure 2.3: Longitudinal forces acting on the vehicle.

7

Air resistance: Air resistance, Fa , is modeled as proportional to the front area Aa and the square of vehicle velocity v with a proportionality constant cw . The model equation is 1 (2.16) Fa = cw Aa ρa v 2 , 2 where ρa denotes air density. Rolling resistance: Rolling resistance, Fr , is modeled with a rolling resistance coefficient cr , vehicle mass m and road slope α as Fr = cr mg cos α.

(2.17)

Gravitational force: Longitudinal component Fg of the gravitational force is defined as Fg = mg sin α. (2.18) Vehicle velocity is directly connected to engine speed via wheel radius rw and conversion ratios it and if according to v=

rw ˙ ϑe . it if

(2.19)

Using Equations (2.1–2.19) and Newton’s second law for vehicle propulsion, mv˙ = Fw − Fa − Fr − Fg ,

(2.20)

a state evolution equation for vehicle velocity is obtained as  rw ηt it ηf if (T (v, δ) − Tloss ) − it if Tr − Tb − v˙ = 2 + η i2 η i2 J Jw + mrw t t f f e  1 − rw cw Aa ρa v 2 − rw cr mg cos α − rw mg sin α . (2.21) 2 As shown, the powertrain is affected by several vehicle parameters and environment variables. Vehicle mass m, wheel radius rw and road slope α are in most cases estimated with a great uncertainty. For this reason, the following equalities q

=

[m, rw ]T

e = α, will be assumed throughout the rest of the report. Equation (2.21) is time dependent. Since road slope α is assumed to be position dependent, as described in the introduction, position dependent vehicle models are desired. A rewrite of velocity differentiation yields dv dv ds dv = = v, dt ds dt ds giving 1 dv dv = . ds v dt 8

2.2

Scania Heavy Truck Library Model

Scania Heavy Truck Library (SHTL) is a model library for heavy trucks developed at Scania. SHTL is used for testing of different vehicle configurations and in development of new vehicle functionality. A summary of the SHTL based model of S is presented below. More information can be found in [5] and [6]. The SHTL model of vehicle S is depicted in Figure 2.4. As can be seen, a cruise controller SCC controls the vehicle powertrain Spt by means of fueling δ, gear number G and braking signal B. The environment variable that is considered is road slope α, while considered vehicle parameters are mass m and wheel radius rw . Differences from the general powertrain in the previous section are described below, followed by a short presentation of the cruise controller SCC . e ?

S

u

vset δ - cut

-

SCC

δ G B

-

-

δ -

-

v -

α ? v Spt m, rw

? q ? Figure 2.4: Subsystem S as modeled in the SHTL model.

Engine: SHTL models the engine as static, hence Je = 0. Tloss is used to model an exhaust brake Texh and auxiliary units Taux . This gives 0 = T − Texh − Taux − Tc , where Texh is looked up in a map and activated by SCC via a boolean control signal βexh according to map ˙ (ϑe ). Texh = βexh Texh

9

Taux represents torque loss to auxiliary units such as air condition and servo steering and is assumed to be constant. Retarder: Retarder torque Tr depends on propeller shaft speed ϑ˙ p , which is directly dependent of vehicle velocity v. A map is used for lookup of Tr , Tr = βr Trmap (ϑ˙ p ), which is activated by SCC via another boolean variable βr . Wheel: Foundation brake torque Tb is calculated with cruise controller signal βb and brake constant kb as Tb = βb kb . Rolling resistance: The rolling resistance cr is in SHTL dependent of vehicle velocity, giving Fr = cr (v, v 2 )mg cos α With these differences from Section 2.1 identified, the state evolution equation changes to v˙ =

   rw ηt it ηf if T (v, δ) − Texh (v, βexh ) − Taux − it if Tr (v, βr )− 2 Jw + mrw  1 − Tb (βb ) − rw cw Aa ρa v 2 − rw cr (v, v 2 )mg cos α − rw mg sin α . (2.22) 2

SHTL includes a model of the cruise controller implemented in Scania trucks. SCC represents this controller—based on PID control—and controls fueling δ, gears G and braking B = [βexh , βr , βb ]. A general description is given as [δ, G, B] = SCC (u, v).

(2.23)

Constraints on control signals are δ G βexh βr βb

∈ [0, δmax ] ∈ {1, 2, . . . , 12} ∈ {0, 1} ∈ {0, 1} ∈ [0, 1].

Input u to SCC from controller C in Figure 1.1 is a set velocity vset and a binary fueling signal δcut that cuts all fueling when set to one. u = [vset , δcut ]T Constraints on u are vset δcut

> 0 ∈ {0, 1}.

10

(2.24)

2.3

Basic Model

Modeling of a more basic vehicle model is obtained if cruise controller SCC and some powertrain components are neglected or assumed inactive. This is done in [3] and is summarized here. An overview of subsystem S for the basic model is depicted in Figure 2.5. As can be seen, input u contains three signals that correspond to cruise controller signals in the SHTL model. e ?

S

u

-

P GB-

α ? Spt

-

δ v -

m, rw

? q ? Figure 2.5: Subsystem S as modeled in the basic model.

Engine: The basic model engine is modeled as dynamic, but Tloss has been neglected. This gives Je ϑ¨e = T − Tc . Fueling is modeled with a control signal P ∈ [0, 1] such that map ˙ δ = P δmax (ϑe ),

where δmax , as earlier, is looked up in a map. Retarder: The basic model assumes that the vehicle does not have a retarder or does not use it. This means that propeller shaft torque equals final drive torque as Tf = Tp Wheel: Foundation brake torque Tb is calculated with input signal B and brake constant kb according to Tb = Bkb 11

Rolling resistance: The rolling resistance cr is modeled as constant, giving Fr = cr mg cos α. The basic model has the state evolution equation v˙ =

 rw ηt it ηf if T (v, P ) − Tb (B)− 2 + η i2 η i2 J Jw + mrw t t f f e

 1 2 − rw cw Aa ρa v − rw cr mg cos α − rw mg sin α . (2.25) 2

There is no cruise controller for the basic model in the sense of SCC . Instead, look ahead controller C has to calculate inputs to powertrain in terms of fueling P , gear G and braking B. This means that input signal u to subsystem S is a vector, expressed as u = [P, G, B]T . Constraints on input signal u are P G B

∈ [0, 1] ∈ {1, 2, . . . , 12} ∈ [0, 1].

12

Chapter 3

Road Slope Estimation Look ahead control utilizes environment variable prediction, which reaches over a horizon ahead of the vehicle. The environment variable that is of most importance is road slope since it has the biggest impact on the vehicle. The characteristics of road slope—and the fact that it varies randomly— makes prediction over a long horizon difficult. That is why road maps have to be used in order to get data good enough for implementation in a look ahead controller. The system that has been described in the introduction includes a filter F that predicts the environment. In reality, prediction is replaced by a road map and F outputs road slope lookup [α(s), ˆ α ˆ (s + Δs ), . . . , α ˆ (s + sh )]T from current position s. Figure 3.1 illustrates the look up procedure of road slope over a horizon. e

F

? s ? P P

ˆ (s + sh )]T [ˆ α(s), α ˆ (s + Δs ), . . . , α ? [ˆ e(s), eˆ(s + Δs ), . . . , eˆ(s + sh )]T ? Figure 3.1: Road slope lookup from current vehicle position. However, there are no road maps that contain road altitude or slope information. In order to make such maps measurements have to be taken. Hence, there is a problem of obtaining good measurements of the road slope. This problem can be approached in different ways. Use of GPS and barometer are investigated in [7] and [8]. Vehicle models used to obtain road slope from Kalman filters are 13

described in [9] and [8]. Laser scanning is another method, presented in [10]. This chapter discusses one approach to road slope estimation. The method used is described and estimation results of a road segment are presented. Probable errors when estimating road slope are discussed and will later be used in sensitivity analysis in Chapter 5 providing realistic road slope noise.

3.1

Kalman Filter

Assume there is a time discrete system with states x described by xk yk

= f (xk−1 , ωk−1 ) = h(xk , wk ),

where xk is equivalent to x(k). Inputs to the system are zero mean white process noise ω and measurement noise w. The noise sources have time varying covariance matrices Qk and Rk . An observer of the system is given in xk−1 , 0) + K(yk − h(ˆ xk−1 , 0)), x ˆk = f (ˆ with gain K weighing difference between measurement yk and prediction of the measurement h(ˆ xk−1 , 0). The linear Kalman filter, see [11], assumes that evolution function f and observation function h are linear in states x and in noise ω and w. Gain K is then chosen such that it minimizes E[(xk − x ˆk )2 ]. However, evolution function f in road slope estimation is non-linear and the linear Kalman filter cannot be applied. Instead, there is an extension to the linear Kalman filter that handles non-linearities in the system. This is the extended Kalman filter (EKF) and is described in detail in [8]. EKF state observation can be described in two steps. First a time update is calculated with estimate x ˆk|k−1 and estimate error covariance Pk|k−1 as x ˆk|k−1

= f (ˆ xk−1 , 0)

Pk|k−1

= Fk Pk FkT + Ωk Qk ΩTk ,

where Fk and Ωk are the partial derivative matrices of f with respect to x and ω respectively, defined as ∂f (ˆ xk−1 , 0) ∂x ∂f Ωk = (ˆ xk−1 , 0). ∂ω The second step in EKF is the measurement update with gain Kk , estimate x ˆk and estimate error covariance Pk according to  −1 Kk = Pk|k−1 HkT Hk Pk|k−1 HkT + Wk Rk WkT   x ˆk = x ˆk|k−1 + Kk yk − h(ˆ xk|k−1 , 0)   Pk = I − Kk Hk Pk|k−1 , Fk

=

14

where Hk and Wk are partial derivative matrices of h with respect to x and w, defined as

3.2

Hk

=

Wk

=

∂h (ˆ xk−1 , 0) ∂x ∂h (ˆ xk−1 , 0). ∂w

Vehicle and Environment Model

When estimating road slope, a time discrete state space model representing vehicle and environment is used, characterized by xk yk

= f (xk−1 , ωk−1 ) = h(xk , wk ).

(3.1)

Process noise ω and measurement noise w are assumed zero mean and white with diagonal covariance matrices Qk and Rk . State vector x is defined as x = [ Te Tf α v s z pw pz ]T and contains eight states representing vehicle and environment. States of the vehicle are engine torque Te , engine friction torque Tf and velocity v. Environment states represent position s, altitude z, road slope α and the outside pressure, which is divided into two components. pz is the part of the outside pressure which changes with altitude, while pw represents pressure caused by weather changes. The states in (3.1) are assumed to evolve in discrete time according to the following equations, where T is sampling time. Te,k+1 Tf,k+1 αk+1 vk+1 sk+1 zk+1 pw,k+1 pz,k+1

= = = = = = = =

Te,k + ω1 Tf,k + ω2 αk + ω3 vk + T c1 (c3 (Te,k + Tf,k ) − c2 vk2 − c6 sin(αk + c7 )) + ω4 sk + T vk + ω5 zk + Δzk + w6 = zk + T vk sin(αk ) + ω6 pw,k + ω7 pz,k + μ1 Δzk + μ2 Δzk (2zk + Δzk ) + ω8

Both engine torque and engine friction torque are hard to model and are for that reason assumed to be white processes. The reason for having both states is that they have different noise variance, especially when the driving conditions change e.g. when braking. Road slope α is assumed to be constant with additive white noise as input. Vehicle velocity state evolution is the same as in the basic vehicle model except for the brake torque which has been omitted. Brake torque is hard to estimate and for that reason a model that is valid only when not braking has been chosen. Note that the constants c1 , . . . , c7 have replaced natural vehicle constants for easier overview. As vehicle constants should, they change with different gears. 15

Position on road is an integration of the velocity state. Altitude evolution is also an integration where Δzk equals the distance traveled in height last T seconds. Pressure is divided into two parts. Weather caused pressure is assumed to vary slowly and is modeled as constant with small noise variance. Altitude caused pressure is affected by the altitude change Δzk , according to a second order approximation of the standard altitude pressure function. Observation vector y in (3.1) is y = [ Te Tf vGP S vtacho vABS sGP S stacho zGP S p ]T , containing engine torque Te , engine friction torque Tf , GPS velocity signal vGP S , tachometer velocity measurement vtacho , ABS velocity signal vABS , GPS distance signal sGP S , tachometer distance measurement stacho and GPS altitude signal zGP S . Observation function h(xk , wk ) describes how states xs and measurement variance wk produce a measurement yk . The relationships are Te,k

=

Tf,k

=

vGP S,k vtacho,k vABS,k sGP S,k stacho,k zGP S,k pk

= = = = = = =

100 Te,k + w1 Tmax 100 Tf,k + w2 Tmax 3.6 vk + w3 3.6 vk + w4 3.6 vk + w5 sk − sGP S (0) + w6 sk − stacho (0) + w7 zk + w8 pw,k + pz,k + w9 .

As can be seen in the equations, engine torque and engine friction torque are measured in percent of maximum torque Tmax . All three velocity measurements are obtained in the unit m/s. Further, distance measurements are corrected with their initial value so that the starting point equals position zero. GPS altitude data is mapped to the altitude state directly, while barometer pressure data corresponds to the sum of weather and altitude caused pressure.

3.3

Filter Design and Results

Road slope estimation is performed by applying the extended Kalman filter in Section 3.1 to the vehicle and environment system in Section 3.2. The implementation is straight forward, with the exception of choosing noise covariance. As described earlier, covariance matrices Qk and Rk are designed to get desired filter behaviour. The design procedure of noise covariance is described below. Also corresponding results are presented. The correctness of the results is hard to establish since the true road slope is not known. Instead, focus is put on getting the same results even when unexpected events occur. The first step in designing covariance matrices is to assume that they are diagonal, which simplifies the relation between input noise and output. The 16

covariance matrices are ⎛ 2 σω1,k 0 0 2 ⎜ 0 0 σ ω 2,k ⎜ Qk = ⎜ 0 0 σω2 3,k ⎝ .. .. .. . . .

0 0 0 .. .



⎞ ⎟ ⎟ ⎟, ⎠

⎜ ⎜ Rk = ⎜ ⎝

2 σw 1,k 0 0 .. .

0 2 σw 2,k 0 .. .

0 0 2 σw 3,k

.. .

0 0 0 .. .

⎞ ⎟ ⎟ ⎟, ⎠

where diagonal elements σi2 represent noise variance of each noise source i. Next, events that occur in the system, e.g. satellite loss, have to be handled. This is done by making the covariance matrices dependent of such events. Each possible event is described below.

3.3.1

Steady Driving

From the system equations in Section 3.2 it is realized that there are three different ways of obtaining road slope estimation. The GPS and the barometer both provide altitude estimates that can be differentiated in order to obtain road slope. Also, the velocity evolution equation implicitly gives a value of road slope. These three sources of information have to be weighed so that the most accurate information shows in the estimate. When driving at a steady pace and all sensors are active, Qk and Rk are chosen so that road altitude and slope vary smoothly. Values of covariance matrices are chosen with variances

T σω2 k = 5 × 102 , 5 × 103 , 1 × 10−5 , 1, 1, 1 × 10−3 , 1 × 10−4 , 1 × 10−1 T  3 1 × 103 1 × 103 2 3 1 × 10 −4 σw = 1, 1 × 10 , , 1, 1, , 1, , 1 × 10 , k γsats γsats γsats where γsats denotes number of available satellites. As seen, more satellites give less measurement variance. Estimation on Swedish road E20 from Str¨ angn¨ as to Kjula gives the results depicted in Figure 3.2.

17

Steady est.

Altitude [m]

80 60 40 20 0

0.5

1

1.5

2

2.5

Slope [%]

3 4

10

x 10

0

−10

0

0.5

1

1.5

2

2.5

3

Velocity [km/h]

4

x 10

80 60 40 20 0

0.5

1

1.5

2

2.5

Satellites

3 4

10

x 10

5

0

0

0.5

1

1.5 Position [m]

2

2.5

3 4

x 10

Figure 3.2: Road E20, Str¨ angn¨ as - Kjula. Steady driving most part of the road with all sensors enabled.

3.3.2

Satellite Availability

At least four satellites are needed for the GPS data to be valid. When there are less than four satellites available, measurement variance of GPS signals is increased to a large value. Road slope has to be obtained from other sensors and covariance values are changed to σω2 k 2 σw k



T 5 × 102 , 5 × 103 , 5 × 10−7 , 0, 1, 1 × 10−3 , 0, 1 × 10−5

T = 1, 1 × 103 , 1 × 1012 , 1, 1, 1 × 1012 , 1, 1 × 1012 , 1 × 10−3 . =

Figure 3.3 depicts simulated GPS data loss in position interval 10 − 20 km.

18

Steady est. No GPS est.

90

Altitude [m]

80 70 60 50 40 30 20 0

0.5

1

1.5

2

2.5

3 4

x 10 10

Slope [%]

5

0

−5

−10

0

0.5

1

1.5 Position [m]

2

2.5

3 4

x 10

Figure 3.3: Road E20, Str¨ angn¨ as - Kjula. No GPS data is used in the interval 10 - 20 km, simulating satellite connection loss. Barometer data is relied on to a greater extent giving a more quantized estimation of road altitude. One can argue that the barometer does not provide much information about road slope since it outputs a quantized signal. Figure 3.4 shows estimation result when both GPS and barometer data are neglected. It is obvious that road altitude and slope are estimated lower than they are when barometer data is used.

19

80

Altitude [m]

60 40 20 0

Steady est. No GPS & bar est.

−20 0

0.5

1

1.5

2

2.5

3 4

x 10 10

Slope [%]

5

0

−5

−10

0

0.5

1

1.5 Position [m]

2

2.5

3 4

x 10

Figure 3.4: Road E20, Str¨ angn¨ as - Kjula. No GPS or barometer data used in the interval 10 - 20 km. Estimation results illustrate the importance of a barometer in the case when satellite connection is lost. Road altitude and slope estimates differ from true values significantly.

3.3.3

Shifting Gears and Braking

No torque is delivered to the wheels when shifting gears. This event is handled by simply setting a very high variance on engine torque and engine friction torque noise. Also variance of road slope is reduced to assure that it does not change too much while shifting. When a gear is in place again, process variance is restored to its initial value and constants c1 , . . . , c7 are updated to appropriate values. Braking adds another torque to the velocity evolution equation, and is very hard to estimate correctly. That is why brake torque has not been modeled and why the equation is not valid when braking. Hence, all braking is handled exactly the same way as when shifting gears. The covariance values used when shifting gears or braking are σω2 k 2 σw k



T 1 × 1015 , 1 × 1015 , 1 × 10−5 , 1, 1, 1 × 10−3 , 1 × 10−4 , 1 × 10−1 T  1 × 103 1 × 103 1 × 103 = 1, 1 × 103 , , 1, 1, , 1, , 1 × 10−4 . γsats γsats γsats =

To obtain realistic gear shifts and braking jerky drive data were recorded on the same road as previously. Figure 3.5 depicts how the estimation changed.

20

Altitude [m]

Steady est. Jerky est.

80 60 40 20

0

0.5

1

1.5

2

2.5

Slope [%]

3 4

10

x 10

0

−10

0

0.5

1

1.5

2

2.5

3

Velocity [km/h] Gear number

4

80

10

x 10

60 40 20 0

0.5

1

1.5

2

2.5

3 4

x 10

5 0

0

0.5

1

1.5 Position [m]

2

2.5

3 4

x 10

Figure 3.5: Road E20, Str¨ angn¨ as - Kjula. Jerky driving is detected in gear changes and swift velocity changes. The effects of jerky driving are seen in road altitude and slope estimation.

3.4

Conclusions

The road slope estimation filter that has been designed uses data from standard vehicle sensors and GPS. Road altitude and slope have been estimated for a Swedish road segment and results look satisfying. Noise covariances are used as filter design parameters adjusted so that the filter gives a good estimate even when parts of input data are not available. However, full confidence in the filter will be gained only when there is a true road profile available and filter performance can be evaluated more rigorously.

21

Chapter 4

Look Ahead Control The look ahead control problem is discussed in this chapter. Section 4.1 defines the optimal look ahead problem in a general way. Solutions to approximate problems are presented in Sections 4.2 and 4.3. Also, simulations are presented for chosen roads that illustrate controller behaviour and fuel consumption savings.

4.1

Optimal Look Ahead

Look ahead control is studied in order to improve the cruise controller. For that reason one should expect that its performance is at least as good as that of its predecessor. How to verify this is not straight forward. There is a question of driver approval of control behaviour, e.g. no jerky control. A more easy to define requirement is reduced fuel consumption compared to a cruise controller. These two controller properties are discussed below. Consider the general look ahead system in Figure 1.1. Assume that the environment is fully represented by road slope α and that the road slope is known. Also assume that vehicle parameters m and rw are estimated perfectly. The system changes to that in Figure 4.1 and an optimization problem can be formulated as follows. Find a controller u = C(v, vref , α, m, rw ), that minimizes the cost function



s+sh

min J = min u

u

δ ds,

(4.1)

s

for the following system [v δ]T

= S(u, α) 1 t˙ = , v

(4.2)

with initial conditions v(0) = vref t(0) = t0 22

(4.3)

α

vref

-

?

C

?

u

-

S

6

δ v

-

m, rw

Figure 4.1: Look ahead controller system assuming that road slope is known.

and constraints s ∈ [0, sh ] v(s) ∈ [vmin , vmax ] v(s + sh ) > 0 sh t(s + sh ) = − t0 . vref

(4.4)

A solution to this optimal control problem results in a velocity profile v that the vehicle represented by system S should hold in order to minimize fuel consumption J while respecting the time constraint t(s + sh ) and set minimum and maximum velocities, vmin and vmax . However, there are cases when a solution to the problem does not exit, e.g. an uphill slope steep and long enough that vmin cannot be respected. Note that system S that represents the vehicle can be chosen freely. The optimal look ahead controller will, by solving the optimal problem for a realistic vehicle model S, fulfill the following requirements when there exists a solution. These requirements are such that if a controller fulfills them, the driver has no reason not to trust it. Hence, they are a must for an implementation. 1. Vehicle speed must not be greater than vmax . 2. Vehicle speed must not be lower than vmin . 3. Vehicle velocity is vref , unless some smart control is implemented to handle altitude variations. 4. Driving a distance on a typical road takes an amount of time that is comparable to that of a cruise controller. 23

5. Fuel consumption is better than that of a cruise controller, at worst comparable.

4.2

Expert Cruise Control

Expert cruise control (ECC), is a control strategy which relies on logical reasoning of how a driver should control the vehicle in order to solve the optimization problem. It is thoroughly described in [2].

4.2.1

Control Algorithm

Assume that a vehicle [v(s), δ(s)]T = S(u(s), α(s)) is modeled with the SHTL model in Section 2.2 with control signal u(s) = [vset (s), δcut (s)]T . From experience it is known that fuel savings can be made when driving up or down slopes that are steep and long. For this reason, driving is divided into three main states. These are driving on a fairly plain road and driving up and down hills. Distinction between the three states is made with precalculated vehicle and mass specific values for road slope. Plain road: When driving on a flat road much cannot be done to save fuel. Hence the vehicle cruise controller SCC is allowed to control the vehicle. u = (vref , 0) Uphill slope: An uphill slope is defined such that it causes the vehicle to lose speed, even though maximum fueling is applied. This means that if the slope is long enough, velocity drops below vmin . A good driver counteracts this behaviour by increasing the speed before the slope. ECC applies the same strategy.

u = (vref , 0) u = (vmax , 0)

u = (vref , 0) Figure 4.2: Two distinct positions are calculated when approaching an uphill slope. The control signal changes at these positions.

A position before the slope is calculated, at which ECC starts to accelerate the vehicle by requesting vmax as set speed for the cruise controller. This 24

position is such that vmax is reached in the beginning of the slope. vmax is kept as set velocity until the slope ends, from where the reference velocity is used again. Downhill slope: In a downhill slope that is steep enough the vehicle acceleration will increase due to gravity, even without fueling. Lowering speed ahead of the slope will have the effect of lower fuel consumption for that part of the road. The low speed will be compensated for once the vehicle starts to accelerate by itself. If the speed exceeds vmax , braking is necessary, which in sense is bad usage of potential energy. With this reasoning, the optimal control strategy would have to be to stop fueling at a certain distance from the downhill slope.

u = (vref , 0)

u = (−, 1)

u = uT

u = (vref , 0)

Figure 4.3: Three distinct positions are calculated when approaching a downhill slope. The control signal changes at these positions.

ECC calculates a position at which fueling is cut. This position is such that the velocity is vmin when the vehicle starts to accelerate. No fueling is applied throughout the whole slope and CC is inactive. The transition to reference velocity can be done in different ways. ECC applies a constant torque, control signal uT , that has been chosen as a result of simulations. ECC identifies positions along the road at which it needs to cut fueling or set a higher set velocity. These calculations are not done continuously, but as each slope is approached. The SHTL model is used for this purpose. Important to notice is that the ECC has no feedback when driving downhill with fueling cut. The CC is not used and only when next calculated position is reached is feedback regained. The ECC algorithm is a control algorithm that relies on the experience of the control designer. It solves the optimal look ahead problem to some extent, but is in no way optimal. Also, it does not guarantee that mean velocity over a road segment will equal the reference velocity.

4.2.2

Simulation Results

Simulations have been performed on three artificial road profiles and the estimated road profile from Chapter 3. The artificial road profiles have been chosen so that controller behaviour in often occurring situations is demonstrated. ECC simulation results are compared to those of CC. Comparison is done with respect to obtained velocity profiles and differences in fuel consumption and time,

25

defined as Δf uel

=

Δtime =

f uelECC − f uelCC f uelCC timeECC − timeCC . timeCC

A plain road is characterized by zero road slope. The controller of a vehicle should at all times hold set reference velocity, even look ahead controllers. When driving on a plain road the ECC will use the CC, meaning that the vehicle will hold the reference speed. An illustration of such a simulation is omitted because of its simplicity. A 500 m uphill slope of 3 % is simulated with results in Figure 4.4. As described earlier, the ECC accelerates the vehicle at a distinct position giving the desired behaviour. More fuel than with CC is actually used, but the mean velocity is higher and overall closer to the reference. Δfuel: 0.67 % Δtime: −1.15 %

Altitude [m]

15 10 5 0 0

500

1000

1500

2000

2500

Velocity [km/h]

90

ECC CC −− vref

85

80 0

500

1000

1500

2000

2500

Fueling [mg/stroke]

250 ECC CC

200 150 100 50 0

0

500

1000

1500 Position [m]

2000

2500

Figure 4.4: Simulation of ECC algorithm on road with a 500 m 3 % uphill slope and a 40 ton SHTL model vehicle. Simulations on a road with a 500 m 3 % downhill slope give the results depicted in Figure 4.5. A position where fueling is cut is calculated and no fuel is injected until the end of the slope. A transition period of 300 meters is seen and then the vehicle cruise controller retains control. 12.21 % of fuel is saved over a distance of 3 km with a negligible difference in time. A simulation of a drive on the estimated road segment from Str¨ angn¨ as to Kjula gives the results depicted in Figure 4.6. It can be seen that the ECC identifies five slope segments where a strategy different from CC is applied. Fuel savings are 1.43 %. 26

Δfuel: −12.21 % Δtime: 0.91 %

Altitude [m]

0 −5 −10 −15 0

500

1000

1500

2000

2500

Velocity [km/h]

90

ECC CC −− v

85

ref

80 0

500

1000

1500

2000

2500

Fueling [mg/stroke]

150 ECC CC

100 50 0

0

500

1000

1500 Position [m]

2000

2500

Figure 4.5: Simulation of ECC algorithm on road with a 500 m 3 % downhill slope and a 40 ton SHTL model vehicle.

Altitude [m]

Δfuel = −1.43 % Δtime = 0.07 % 40 20 0 0

0.5

1

1.5

2

2.5 4

Slope [%]

5

x 10

0

−5

0

0.5

1

1.5

2

2.5

Velocity [km/h]

4

x 10 ECC CC

90 85 80

Fueling [mg/stroke]

0

0.5

1

1.5

2

2.5 4

x 10 ECC CC

200 100 0

0

0.5

1

1.5 Position [m]

2

2.5 4

x 10

Figure 4.6: Road E20, Str¨ angn¨ as - Kjula. Simulation of ECC algorithm with a 40 ton SHTL vehicle. 27

4.3

Model Predictive Cruise Control

Model predictive control (MPC) is a control strategy that solves optimal control problems. A controller based on MPC has been implemented in [3] in an attempt to solve the optimal look ahead problem. The control algorithm and simulation results are described below.

4.3.1

Control Algorithm

Assume that a vehicle [v(s), δ(s)]T = S(u(s), α(s)) is modeled with the basic model in Section 2.3 with control signal u(s) = [P (s), G(s), B(s)]T . A cost function J is defined as s+sh Δs

J(s) =



Q1 δk + Q2 κ(ek )e2k + Q3 |vk − vk+1 | + Q4 κ(|Gk − Gk+1 |) + Q5 Bk

k=s

where ek = vk − vref,k and κ is a step function  1 x>0 κ(x) = 0 x≤0 and xk = x(k). For each position step s of Δs meters, the MPC algorithm 1. Finds the optimal control signal u∗ (s), u∗ (s + Δs ), ..., u∗ (s + sh ) that minimizes the cost function J(s). Optimization is handled with dynamic programming and is described in detail in [3]. Important to know is that it includes many simulations of vehicle model S. 2. Implements the control signal u∗ (s) for Δs meters. 3. Starts from 1 when position s + Δs is reached. Since prediction of output of vehicle model S has to be done for a big number of possible control signals, the model has to be simplified. A great deal of time can be saved if engine and fueling maps can be approximated by functions. An approximation Sˆ of the vehicle model is obtained with function approximations of T map and δ map and is used in the MPC algorithm. ˆ α(s)) [v(s), δ(s)]T = S(u(s), The strategy of MPC is to use the control signal that minimizes a cost function depending on all possible future control signals and corresponding predicted system outputs. An optimization problem is in fact solved each Δs meters. However, this optimization problem is different from the general optimization problem defined in Section 4.1 in several points. There are no constraints on final velocity and time states, as in (4.4), meaning that mean velocity does not necessarily have to equal the reference velocity. Also, the cost function is different giving the controller a behaviour that is not always desired. 28

4.3.2

Simulation Results

Simulation results of the MPC algorithm are performed on the same roads as for the ECC. Comparison of MPC results is done with those of a PI controller implemented on the basic vehicle model. Comparison is as earlier done with respect to obtained velocity profiles and differences in fuel consumption and time, this time defined as Δf uel

f uelM P C − f uelP I f uelP I timeM P C − timeP I . timeP I

=

Δtime =

Simulation results with the MPC algorithm on a plain road are shown in Figure 4.7. Clearly the MPC algorithm does not manage to keep the reference velocity of 85 km/h. This is a result of the approximation of engine and fueling maps. A somewhat higher mean velocity is held and the control is not constant. This results in higher fuel consumption (0.70 %) and faster travel time (0.19 %). Δfuel = 0.70 % Δtime = −0.19 %

Altitude [m]

1 0.5 0 −0.5 −1

0

200

400

600

800

1000

1200

1400

1600

1800

Velocity [km/h]

86 MPC PI

85.5

−− vref

85 84.5 84

0

200

400

600

800

1000

1200

1400

1600

1800

Pedal level [%]

100 MPC PI 50

0 0

200

400

600

800

1000 1200 Position [m]

1400

1600

1800

Figure 4.7: Simulation of MPC algorithm on plain road with a 40 ton basic model vehicle.

29

Simulations on a road with a 500 m uphill slope of 3 % have been carried out. Results are shown in Figure 4.8. The MPC algorithm increases the fueling amount ahead of the slope in order to get a greater velocity when reaching it. This behaviour resembles the one of an experienced driver and is expected from look ahead controllers. The fueling amount is held at a high level throughout the slope. The controller does not manage to restore vehicle velocity to the reference one kilometer after the slope, but stabilizes at a lower velocity. Δfuel = −0.39 % Δtime = −0.69 %

Altitude [m]

15 10 5 0 0

500

1000

1500

2000

2500

Velocity [km/h]

90

MPC PI −− vref

85 80

0

500

1000

1500

2000

2500

Pedal level [%]

100 MPC PI 50

0 0

500

1000

1500 Position [m]

2000

2500

Figure 4.8: Simulation of MPC algorithm on road with a 500 m 3 % uphill slope and a 40 ton basic model vehicle.

30

Simulations with a 500 m downhill slope of 3 % have been performed. The results are presented in Figure 4.9. A decrease in velocity is noted ahead of the downhill slope. The MPC algorithm behaves correctly, reacting on the approaching slope. Fuel savings compared to a PI controller are 8.61 %. Δfuel = −8.61 % Δtime = 0.52 %

Altitude [m]

0 −5 −10 −15 0

500

1000

1500

2000

2500

Velocity [km/h]

90

MPC PI −− vref

85

80 0

500

1000

1500

2000

2500

Pedal level [%]

100 MPC PI 50

0 0

500

1000

1500 Position [m]

2000

2500

Figure 4.9: Simulation of MPC algorithm on road with a 500 m 3 % downhill slope and a 40 ton basic model vehicle.

31

The MPC algorithm has been simulated on the same estimated road segment as ECC. Results are shown in Figure 4.10 and it is clear that controller behaviour seen in previous simulations is present even here. However, the MPC algorithm does not manage to save any fuel for this particular road segment, but uses 2.10 % more than a PI controller. The reasons for this have not been investigated since they fall out of the scope of this thesis.

Altitude [m]

Δfuel = 2.10 % Δtime = −0.04 % 40 20 0 0

0.5

1

1.5

2

2.5 4

Slope [%]

5

0

−5 Velocity [km/h]

x 10

0

1

1.5

2

2.5 4

x 10 MPC PI−− v

85

ref

80 75 0

Pedal level [%]

0.5

90

0.5

1

1.5

2

2.5 4

100

x 10 MPC PI

50

0

0

0.5

1

1.5 Position [m]

2

2.5 4

x 10

Figure 4.10: Road E20, Str¨ angn¨ as - Kjula. Simulation of MPC algorithm with a 40 ton basic model vehicle.

4.4

Conclusions

Two different strategies implemented in order to solve a problem that resembles the optimal look ahead problem have been described. Both have demonstrated fuel savings when simulations on isolated slopes have been performed in their respective simulation environments. However, when simulations on an estimated road slope are performed the MPC algorithm fails to reduce fuel consumption. It is important to notice that fuel savings figures cannot be compared between the two environments since they use different vehicle models. Even though the strategies differ it is clear that obtained velocity profiles in the two implementations are alike. This gives a confidence in the presented solution. A disadvantage that the MPC algorithm has is that it fails in keeping a reference velocity on a plain road and takes long to recover after uphill slopes. The ECC on the other hand sometimes totally lacks feedback, which shows in the sensitivity analysis presented in the following chapter.

32

Chapter 5

Sensitivity Analysis Performance of the presented controllers in perfect conditions has been thoroughly described in [2] and [3]. Good controller behaviour and fuel savings have been demonstrated. The sensitivity analysis in this chapter is a natural step before actual implementation of a look ahead controller that is based on either strategy. Sources of disturbances in a look ahead implementation are identified and realistic values of their magnitude are given in Section 5.1. Effects on controller behaviour caused by disturbances are presented and discussed in Section 5.2. Finally, conclusions are drawn in Section 5.3 in the light of the results.

5.1

Sources of Disturbances

Reality is not perfect and there is no such thing as perfect conditions. The aim of the sensitivity analysis is to identify realistic disturbances which have a big impact on the system and how the impact shows. Several disturbances will be a factor in an implementation. These can be divided into two types, differences between vehicle model and vehicle and errors in available road slope data. These two types are discussed in this chapter and procedures of testing their impact on the results are described. Figure 5.1 provides an illustration of the system with possible error sources. It is good to refer to in order to get a more intuitive understanding.

33

α

α ˜ vref

-? g

α ˆ

-

?

C

?

u

-

6 m, ˆ rˆw m, ˜ r˜w- g

S

δ v

-

m, rw

6

Figure 5.1: Look ahead controller system overview with error sources.

5.1.1

Model Inflicted Errors

Differences between the model that a controller uses and the real system cause model inflicted erroneous behaviour. Look ahead controllers described in Chapter 4 assume that vehicle mass and wheel radius are known parameters. However, in reality they cannot be estimated precisely and are for this reason obvious sources for errors. Several papers discuss mass estimation, e.g. [9], and the general understanding is that mass is hard to estimate if road slope is not known, and vice versa. This is a result of the fact that it is hard to distinguish mass from slope in estimation. A look at the gravity force equation reveals the reason. Fˆg = mg ˆ sin α = (m + m)g ˜ sin α = (1 + Δ)mg sin α As seen, a relative error Δ in mass might as well be a relative error in sin α, which for small slopes approximates to α. Thus, an error in mass might as well be considered as an error in road slope. Mass estimation can be off by as much as ten percent.   m   ˜  ≤ 10% m Another error that is highly probable, is error in wheel radius. A truck tyre has an approximate wheel radius of 50 cm. An error of two percent, or one centimeter, is analyzed.    r˜w    ≤ 2%  rw 

34

5.1.2

Road Slope Inflicted Errors

Look ahead controllers have the advantage of having information about the road slope ahead. If that information is not correct it inflicts errors. There are several reasons why this information could be wrong. When performing analysis a model for the error is needed. Assuming the error is additive, α ˆ =α+α ˜, α ˜ can be modeled in several ways. The most obvious model for α ˜ is white Gaussian noise with different variances. Motivation for this model is simply that it excites all frequencies in the system. Its impact will be tested on a plain road, a constant uphill slope and a constant downhill slope for different noise variances. α ˜ σα

∈ N (0, σα2 ) = 0.005 rad

Lags and errors in GPS data can result in wrong position parameters, which reflects in road slope. If the controller gets an input on position saying that the vehicle is 50 meters further down the road, control will be implemented with a lag of 50 meters. These types of errors can be seen as a delay in road slope data, either positive or negative. Simulations will be done on a plain road, a constant uphill slope and a constant downhill slope with delays up to 50 meters. α ˆ (s) Δs

= α(s + Δs ) ∈ {−50, −25, 0, 25, 50}

Braking and jerky driving is known to cause bad estimation of road slope. In particular, there is sometimes a question of whether velocity decrease is caused by braking or an uphill slope. For this reason, the impact of bad estimation due to jerky driving will be simulated, using the estimated road slope in Chapter 3.

5.2

Simulation Results

Simulations with disturbances stated above have been performed. Main differences from behaviour of the controllers in perfect conditions are presented below with corresponding plots.

5.2.1

Expert Cruise Control

Expert cruise control is made up in two steps. The first is identification of slopes where some other strategy than maintaining the reference velocity will be used. The other is calculation of positions along the road where another control signal will be applied. Simulations with disturbances mentioned above affect both steps in the controller. If the road slope at a certain point along the road has such a value that it lies close to the limit deciding whether a slope will be treated or not, a small error in road slope will have a big effect on the controller. This is illustrated in Figure 5.2 where two simulations are compared. A simulation of a drive on a road estimated with data from a steady drive is compared to a drive on the same 35

road with the exception that the controller has access to road slope estimated from data of a jerky drive. It is obvious that different strategies are chosen at several points along the road, as an effect of different road slope estimation. For example, the jerky drive slope estimate around position 15 km is higher than the steady drive estimate, why the ECC decides to keep a higher velocity when approaching the slope.

Altitude [m]

ECC Steady est. Jerky est.

40 20 0 0

0.5

1

1.5

2

2.5 4

Slope [%]

5

x 10

0

−5

0

0.5

1

1.5

2

2.5

Velocity [km/h]

4

x 10

90 85 80

Fueling [mg/stroke]

0

0.5

1

1.5

2

2.5 4

x 10 200 100 0

0

0.5

1

1.5 Position [m]

2

2.5 4

x 10

Figure 5.2: Road E20, Str¨ angn¨ as - Kjula. Comparison between simulations of ECC when road slope is estimated from a steady drive and a jerky drive. Small differences in road slope lead to big differences in control strategy.

36

When a slope where strategy change will be implemented has been located, simulations with the SHTL model are performed in order to decide where to switch control. Incorrect data on vehicle mass and/or road slope will make these simulations inaccurate giving points that are not where they should be. The effect is most visible in a simulation plot of a drive on a downhill slope. Figure 5.3 illustrates how the strategy switch points are moved when the position value is 50 meters off in either direction. Two effects that are not acceptable can be seen. If the controller changes control signal too early the limit on minimum velocity is not respected, since no feedback is present in this controller state. If the control signal is changed too late the velocity of the vehicle will be lower when returning to the reference and a jerky behaviour is obtained, characterized by an impulse in fueling. ECC

Altitude [m]

0 −5 −10 −15 0

500

1000

1500

2000

2500

Velocity [km/h]

90

Δs = 0m Δs = 50m Δs=−50m

85

80

Fueling [mg/stroke]

0

500

1000

1500

2000

2500 Δs = 0m Δs = 50m Δs=−50m

200

100

0

0

500

1000

1500 Position [m]

2000

2500

Figure 5.3: Comparison of three simulations of ECC algorithm on road with a 500 m 3 % downhill slope and a 40 ton SHTL model vehicle. Road slopes in the simulations are shifted in position by 50 meters in each direction, causing unwanted controller behaviour.

37

5.2.2

Model Predictive Cruise Control

The model predictive cruise controller calculates a new output every time it is run with current velocity as input. There is however no feedback to the controller on how well it has performed earlier. This makes the controller sensitive to errors in slope data as well as errors in the model. Figure 5.4 illustrates how erroneous estimates of vehicle mass and road slope affect simulations on a plain road. MPC

Altitude [m]

1 0.5 0 −0.5 −1

0

200

400

600

800

1000

1200

1400

1600

0

200

400

600

800

1000

1200

1400

1600

Velocity [km/h]

86 85.5 85 84.5 84

1800

2000

Perfect cond. Δm=−10% σ =0.005rad α

100 Pedal level [%]

1800 2000 Perfect cond. Δm=−10% σα=0.005rad

50

0 0

200

400

600

800

1000 1200 Position [m]

1400

1600

1800

2000

Figure 5.4: Simulation of MPC algorithm on a plain road with different disturbances. When conditions are perfect, the MPC algorithm fails to keep the reference velocity. A mass underestimation of 10 % leads to fast oscillations, while white road slope noise has an even bigger impact on velocity.

38

No feedback in form of earlier performance also leads to the possibility of stabilizing at another solution than what is intended. Figure 5.5 shows how an error in mass or position can lead to a stable solution with a velocity other than the reference when the road ahead is plain. MPC

Altitude [m]

15 10 5 0 0

500

1000

1500

2000

Velocity [km/h]

90

2500

Perfect cond. Δm=−10% Δs=50m

85

80 0

500

1000

1500

2000

2500

Pedal level [%]

100 Perfect cond. Δm=−10% Δs=50m 50

0 0

500

1000

1500 Position [m]

2000

2500

Figure 5.5: The MPC algorithm has problems returning to reference velocity after an uphill slope. When an underestimation in mass of 10 % or a miscalculation in position of 50 meters is present, the velocity settles 2 km/h below reference.

39

As with the ECC, the MPC makes distinctions between different slopes and applies different strategies. However, the MPC does not commit to a decision but has the ability to alter the control signal every new iteration. The effect of this is that strategy changes due to erroneous road slope estimation are more seldom as can be seen in Figure 5.6.

Altitude [m]

MPC Steady est. Jerky est.

40 20 0 0

0.5

1

1.5

2

2.5 4

Slope [%]

5

0

Velocity [km/h]

−5

Pedal level [%]

x 10

0

0.5

1

1.5

2

2.5 4

x 10

90

−− vref

85 80 75

0

0.5

1

1.5

2

2.5 4

100

x 10

50

0

0

0.5

1

1.5 Position [m]

2

2.5 4

x 10

Figure 5.6: Road E20, Str¨ angn¨ as - Kjula. Comparison between simulations of MPC when road slope is estimated from a steady drive and a jerky drive. Small differences in road slope lead to difficulties in following the reference as well as differences in strategy.

40

5.3

Conclusions

The results from the sensitivity analysis show that both investigated controllers are in a pre development state and that a lot of work needs to be done in order to make them worthy of an implementation. Besides this enlightenment, the sensitivity analysis has resulted in a number of interesting conclusions about the strategies that the controllers implement. Feedback is important in all control systems. It is also important to be aware of what type of feedback that is necessary. The ECC has no feedback on certain road segments and this leads to violation of problem constraints. The MPC gets feedback all the time. However, it is not used to correct the previous control signal, why unwanted settling points can occur. Errors in estimated vehicle mass and road slope affect control performance. Expected vehicle behaviour is not true and control that is not suited for the road is implemented. This is shown in clear strategy changes for both ECC and MPC.

41

Chapter 6

Conclusions This thesis has looked into two implementation aspects of look ahead cruise controllers. These are road slope information and control sensitivity. Road slope estimation is an important part of look ahead since there currently are no road maps containing such information. A road slope estimation filter using standard heavy vehicle sensors and GPS data has been designed. Importance has been attached to designing a robust filter that can deal with losses in input data as well as events giving an invalid model. Satisfying results have been obtained. The filter has also been used as a realistic noise source, differences in estimations have been considered as probable road slope estimation errors. Sensitivity analysis of look ahead cruise controllers is an important step before an implementation. Two controllers that use different control strategies have been tested with errors in estimated vehicle parameters and road slope. The differences in control strategy give control errors that are direct results of chosen approaches. Designing a controller based on experience has proven to work well, although two main design aspects have shown to be sensitive. Lack of feedback when driving down a hill gives velocities that do not respect given bounds and even jerky fuel injection. Small differences in slope that lie around certain limit values give distinct differences in control. Such vehicle behaviour is not desirable since drivers might experience it as indecisive. Look ahead cruise control based on model prediction has advantages as well as disadvantages. Constant feedback giving updated control signals is a feature that is essential for several reasons. Primarily, interaction with other systems that might have inputs like time dependent reference or maximum velocities. A drawback with the considered version is that feedback is not used in order to correct previous control signals as much as it could, making the controller very sensitive to vehicle model and road slope errors. Consequences caused by this are oscillating velocity and stabilization on speeds other than the reference.

42

Chapter 7

Future Work and Extensions The developed filter has been tuned so that the road estimation is preserved when partial data is not available. A tuning with respect to a true road profile would give confidence in the presented solution. The Swedish Road Administration is performing measurements on a number of selected roads in Sweden. This data could provide a base for tuning and a more rigorous validation of the filter. The investigated controllers clearly need to be improved before an implementation is carried out. One topic that is important is the interface between the controller and the vehicle. Using a simple cruise controller that is controlled by a look ahead algorithm is preferable out of several reasons. Most importantly, it gives a clear limit between different levels of control in the system. Integration of Look Ahead Cruise Control with Adaptive Cruise Control is the next step in vehicle cruise control. Using the knowledge of presence of vehicles ahead and their velocity is a source of information that needs to be included in the calculation in order to get a cruise controller that behaves as good as any skilled driver.

43

Bibliography [1] Lattemann. F et al. (2004). The Predictive Cruise Control - A System to Reduce Fuel Consumption of Heavy Duty Trucks. SAE Paper, 2004-012616. [2] Wingren, A. (2005). Fordonsreglering med framf¨ orh˚ allning. M.Sc. Thesis. Link¨ oping, Link¨ oping University. [3] Hellstr¨ om, E. (2005). Explicit use of road topography for model predictive cruise control in heavy trucks. M.Sc. Thesis. Link¨ oping, Link¨ oping University. [4] Kiencke, U. & Nielsen, L. (2005). Automotive Control Systems - For Engine, Driveline, and Vehicle. Berlin: Springer-Verlag. [5] Bengtsson, P. (2004). Simulation of Models Intended for Complete Vehicle Simulation. M.Sc. Thesis. Uppsala, Uppsala University. [6] Sandberg, T. (2001). Heavy Truck Modeling for Fuel Consumption Simulations and Measurements. Lic. Thesis. Link¨ oping, Link¨ oping University. [7] Seo, J., Lee, J. G. & Park, C. G. (2004). Bias Suppression of GPS Measurement in Inertial Navigation System Vertical Channel. Position Location and Navigation Symposium, pp. 143-147. [8] Johansson, K. (2005). Road Slope Estimation with Standard Truck Sensors. M.Sc. Thesis. Stockholm, Royal Institute of Technology. [9] Lingman, P. & Schmidtbauer, B. (2002). Road Slope and Vehicle Mass Estimation Using Kalman Filtering. Vehicle System Dynamics Supplement, 37, pp. 12-23. [10] Ahlin, K., Granlund J. & Lindstr¨ om F. (2004). Comparing Road Profiles with Vehicle Perceived Roughness. International Journal of Vehicle Design. Vol. 36, No. 2/3. [11] Hjalmarsson H. & Ottersten B. (2002). Lecture Notes in Adaptive Signal Processing. Course material. Stockholm, Royal Insitute of Technology.

44

View more...

Comments

Copyright © 2017 PDFSECRET Inc.