<<

A ROBUST QFT CONTROL APPROACH FOR AUTOMOBILE SYSTEMS: MODELING, DESIGN AND SIMULATION

by

TONY JOY

Submitted in partial fulfillment of the requirements for the degree of

Master of Science

Electrical Engineering and Computer Science

CASE WESTERN RESERVE UNIVERSITY

August, 2016

CASE WESTERN RESERVE UNIVERSITY

SCHOOL OF GRADUATE STUDIES

We hereby approve the thesis/dissertation of

Tony Joy

candidate for the degree of Master of Science *.

Committee Chair

Mario Garcia-Sanz

Committee Member

Vira Chankong

Committee Member

Marija Prica

Date of Defense

05/05/2016

*We also certify that written approval has been obtained for any

proprietary material contained therein.

1

Table of Contents

LIST OF FIGURES ...... 4

LIST OF TABLES ...... 6

NOMENCLATURE ...... 7

ABSTRACT ...... 9

ACKNOWLEDGEMENTS ...... 10

CHAPTER 1: INTRODUCTION ...... 11

1.1 MOTIVATION ...... 11

1.2 INTERNAL COMBUSTION ENGINE ...... 11

1.2.1 Engine Operation ...... 13

1.2.2 Engine Sensors ...... 15

1.2.3 Engine Control Loops ...... 18

1.2.4 Engine Operating Modes ...... 21

1.2.5 Engine Management Systems ...... 22

1.2.6 Maps and Look-up tables ...... 24

1.3 IDLE SPEED CONTROL PROBLEM ...... 26

1.3.1 Control Variables ...... 27

1.3.2 Disturbances ...... 29

CHAPTER 2: MODELING ...... 31

2.1 HISTORY ...... 31

CHAPTER 3: SIMULATOR DESIGN ...... 36

2

CHAPTER 4: ROBUST CONTROL DESIGN...... 39

4.1 QUANTITATIVE ROBUST CONTROL...... 41

4.2 DESIGN PROCESS ...... 42

4.2.1 Plant Definition ...... 42

4.2.2 Specifications: ...... 43

4.2.3 Controller Design: ...... 45

4.2.4 Analysis: ...... 46

4.3 CONTROL HIERARCHY ...... 49

CHAPTER 5 SIMULATION ...... 51

5.1 PERFORMANCE SPECIFICATIONS ...... 51

5.2 NO - LOAD CONDITION ...... 51

5.3 LOAD CONDITIONS ...... 56

5.4 ...... 59

5.5 HIGHER SPEED TO IDLE MODE...... 60

CHAPTER 6: CONCLUSION ...... 63

CHAPTER 7: FUTURE WORK...... 64

7.1 ENGINE START STOP SYSTEM ...... 64

7.2 HYBRID / ALL ELECTRIC VEHICLES ...... 65

REFERENCES ...... 66

3

List of Figures

Figure 1 mechanism ...... 13

Figure 2 Four strokes of the engine ...... 14

Figure 3 Basic Components of an EMS ...... 23

Figure 4 Example of engine maps ...... 25

Figure 5 Typical Idle Speed Control System ...... 26

Figure 6 body ...... 27

Figure 7 Piston positions ...... 28

Figure 8 Inputs, outputs and disturbances to the idle speed system...... 29

Figure 9 Mean-value engine model ...... 31

Figure 10 Engine model in Simulink ...... 36

Figure 11 Change in engine speed with throttle angle ...... 36

Figure 12 Change in engine speed with angle ...... 37

Figure 13 Change in engine speed with AFR ratio ...... 38

Figure 14 Control systems with noise and uncertainties ...... 40

Figure 15 linearizing the model ...... 42

Figure 16 Plant definition window ...... 43

Figure 17 Nichols plot in Specification window ...... 44

Figure 18 Bode diagram of output disturbance rejection ...... 45

Figure 19 Controller design window ...... 46

Figure 20 Stability Analysis in frequency domain ...... 47

Figure 21 Analysis of disturbance rejection in frequency domain ...... 48

Figure 22 Time domain analysis: Unit step response ...... 49

4

Figure 23 Controller hierarchy ...... 50

Figure 24 PID Control Design ...... 52

Figure 25 Engine output speed with PID Control ...... 53

Figure 26 Engine speed output with PID, AFR and ignition timing ...... 54

Figure 27 Controller design with anti - windup ...... 55

Figure 28 Engine output speed with anti -windup ...... 55

Figure 29 Engine output speed under no load ...... 56

Figure 30 Engine speed drop with load ...... 57

Figure 31 PID control with Load map ...... 58

Figure 32 Engine output speed with Load map ...... 58

Figure 33 Proportional control for ignition timing ...... 59

Figure 34 Engine speed output with Ignition map ...... 60

Figure 35 High speed to Idle speed mode ...... 61

Figure 36 Engine speed output from high RPM to idle mode under load ...... 62

Figure 37 Mazda I-Stop system...... 64

5

List of Tables

Table 1 Engine control loops………………………………………………………….20

6

Nomenclature

EGR recirculation

SI Spark ignition

TDC Top Dead Center

BDC Bottom Dead Center

BTDC Before Top Dead Center

ATDC After Top Dead Center

TPS

ECU

MAF Mass air flow

MAP Manifold absolute pressure

BSFC specific fuel consumption

EGO Exhaust gas oxygen

MBT Maximum brake torque

EMS Engine management system

NOx Mono-nitrogen oxides

HC Hydrocarbons

CO Carbon monoxide

7

CPU Central processing unit

ISC Idle speed control

NVH Noise, vibration, and harshness

BPAV Bypass air valve

RPM Revolutions per minute

AFR Air to fuel ration

KP Proportional gain

KI Integral gain

KD Derivative gain

Kb Back-calculation gain

PID Proportional-integral-derivative

ABS Anti -lock braking system

PCM Powertrain control module

OBD On-board diagnostics

QFT Quantitative feedback theory

8

A Robust QFT Control Approach for Automobile Engine Idle Speed Systems: Modeling, Design and Simulation Abstract

by

TONY JOY

Idle speed control remains one of the most challenging problems in automotive controls due to its multi-input, multi-output structure and the nature of its disturbances. A lower idle speed means better fuel economy. Various control techniques have been developed over the years to bring down the idle speed while meeting the noise, vibration and harshness specifications.

In this study, the initial focus is on understanding an engine model, more

specifically modeling engine components that would have a significant impact on idle

speed dynamics. Based on these mathematical models we build a nonlinear multi-input

multi-output MATLAB based simulator and design the control system. The controllers

are developed with robust quantitative feedback techniques, feedforward components

and a hierarchical switching control structure to deal with different engine state

conditions and model uncertainty. In the last part, we focus on simulating various driving

conditions, along with some guidelines on how the current design can be improved.

9

Acknowledgements

I would like to express my appreciation to my advisor professor Mario Garcia-

Sanz. Thanks for giving me the opportunity to take this project and thanks for his time, patience and support. I would also thank to my family and my friends for their understanding and encouragement.

10

Chapter 1: Introduction

1.1 Motivation

The engine idle speed control problem represents a typical challenge to

automotive control researchers and practitioners. This is due to the fact that it is truly a

multi-objective control problem involving signal tracking, disturbance rejection, and

robustness with various time and frequency domain constraints.

There are several well-known challenges in this control problem, one of the most important of which is the time-delay between the event and combustion event of the engine. This time delay limits the achievable performance in the electronic throttle control loop. The second challenge is that the controller performance must be robust to changes in the idle speed set-point, to changes in operating conditions (varying altitude, engine temperature and/or ambient temperature, etc.) and to part-to-part and aging caused variability. Finally, obtaining an accurate and simple model which is appropriate for control design can be both difficult and time-consuming.

1.2 Internal Combustion Engine

The piston engine is known as an internal-combustion engine heat engine. The concept of the piston engine is that a supply of air-and –fuel mixture is fed to the inside of the cylinder where it is compressed and then burnt. This internal combustion releases heat energy

11 which is then converted into useful mechanical work as the high gas pressures generated force the piston to move along its in the cylinder. It can be said, therefore, that a heat-engine is merely an energy transformer.

To enable the piston movement to be harnessed, the driving on the piston is transmitted by means of a connecting-rod to a whose function is to convert linear piston motion in the cylinder to a rotary crankshaft movement. The piston can thus be made to repeat its movement to and fro, due to the constraints of the crankshaft ’s circular path and the guiding cylinder. The backward-and-forward displacement of the piston is generally referred to as the reciprocating motion of the piston, so these power units are also known as reciprocating . The engine is not only the most crucial component for automobile performance; its emission performance also significantly affects the environment. Engine-control systems may include fuel- injection control (i.e., air–fuel ratio control), ignition or spark-timing control, antiknock- control systems, idle-speed control, EGR control, and control. The goal of engine-control systems is to ensure that the engine operates at near-optimal conditions at all times in terms of drivability, fuel economy, and emissions.

Overall, engine-control systems are complex due to the nonlinearity of many of the components and the interactions among the several related control functions: air–fuel ratio control, idle-speed control, knock (or spark-timing) control, EGR control, and transmission control

12

1.2.1 Engine Operation

The operation of a four-stroke, spark ignition (SI), Otto gasoline engine can be divided

into several key phases. The piston has to go through four strokes in order to complete

the cyclic thermodynamic process. Figure 1 shows a typical cylinder mechanism [3]

Figure 1 Cylinder piston mechanism [3]

During each crankshaft revolution, there are two strokes of the piston and a total of four strokes as shown in figure 2

a) Induction (or Intake) Stroke. The intake valve is opened and the piston travels down

the cylinder and draws in a charge of air (or a charge of premixed fuel and air).

b) Compression Stroke. Both valves are closed and the piston travels up the cylinder.

As the piston approaches TDC, SI occurs

13

c) Expansion (or Power) Stroke. Combustion propagates throughout the charge, raising

the pressure and temperature, thereby forcing the piston down. At the end of the

power stroke, the exhaust valve opens and the irreversible expansion of the exhaust

gases is termed blow-down. d) Exhaust Stroke. The exhaust valve remains open and as the piston travels up the

cylinder. The remaining gases are expelled. At the end of the exhaust stroke, the

exhaust valve closes. Some exhaust gases remain and dilute the next charge

Figure 2 Four strokes of the engine [19]

14

Because this cycle is completed only once every two crankshaft revolutions (i.e., 720 degrees), the valve (and fuel-injection) gear must be driven (usually by a ) at half the engine speed. In a single-cylinder engine, power is produced only during the power stroke, which is only one quarter of the cycle. During other parts of the cycle, crankshaft rotation is maintained by power stored in a mechanical . In a multi- cylinder engine, the power strokes are staggered so that power is produced during a larger fraction of the cycle than for a single-cylinder engine. For satisfactory SI and flame propagation, the air–fuel mixture must be stoichiometric (i.e., chemically balanced). This is important for emissions. Spark timing is important for performance, emissions, and prevention of engine knock (i.e., spontaneous self-ignition)

1.2.2 Engine Sensors

A sensor is a device that measures a physical quantity and outputs an

electronic signal in proportion to the measured quantity. Engine sensors are responsible

for measuring and reporting several important quantities to the ECU. These sensors

include throttle position sensor, mass airflow sensor, temperature sensor, manifold

pressure sensor, crank angle sensor, and knock sensor. Brief explanation

follows for each of these sensors

a) Throttle position sensor (TPS): As the name implies, a throttle position sensor

provides the ECU with information on the throttle rotation. This information produces

the angle of throttle rotation as well as the driver’s intention to accelerate the vehicle

from the rate of changing the angle. The ECU will use this information to control the fuel

delivery and ignition timing. Three examples are idle, heavy throttle input and braking.

15

In idle conditions, the throttle is closed for a time period, so that the ECU will notice it

is idle. In a sudden acceleration the accelerator pedal will be depressed rapidly. The ECU

receives two signals: throttle angle and rate of change of throttle angle. Therefore, it

determines the situation is acceleration and the combustion timing will usually be

advanced more than under a light throttle input. In braking circumstances, the accelerator

pedal is released suddenly and the signal will be to close the throttle and thus, the ECU

will issue an injection cut-off command. b) Mass air flow sensor (MAF): The amount of fuel needed for a perfect combustion is proportional to the amount of air entering the engine. The measurement of the mass flow rate of air into the engine, therefore, is necessary to try and optimize the operation of an engine. There are different ways of measuring the amount of air entering the intake manifold. Hot wire sensors use electric current variations to keep the temperature of wire constant. Other methods include the vane system and the heated film method.

c) Temperature sensors: The optimum spark advance on intake manifold temperature.

The air temperature sensor measures the temperature of the air and the ECU modifies the fuel flow to suit the ambient air temperature. In some engines, the air temperature information is combined with information from the pressure sensor to calculate the intake air mass flowrate. The coolant temperature sensor is used to report to the ECU the operating temperature of the engine, allowing it to modify the fuel flow as the engine temperature changes, and to assist with warm-up and for maximum fuel economy at normal engine operating temperatures.

16 d) Voltage sensors: Monitors the system voltage in the so the ECU can raise the idle speed if voltage is dropping (which would indicate a high electrical load) e) Manifold absolute pressure sensor (MAP): The pressure drop in intake manifold is an indication of air flow rate. The pressure drop is higher at lower throttle openings. This information is useful for the ECU to tailor fuel delivery and combustion timing for different operating conditions. The manifold absolute pressure (MAP) sensor (also called a vacuum sensor) measures the degree of vacuum in the engine’s intake manifold. This type of sensor is used with some types of systems. f) Angle/Speed sensors: These sensors provide information to the ECU regarding the crankshaft turning position and speed respectively. The camshaft rotation may also be measured to obtain ignition timing. This information is used by the ECU to control fuel flow and ignition. g) Oxygen sensor: An oxygen sensor (also called a Lambda sensor) is placed in the to measure the amount of oxygen leaving the engine together with combustion products. This quantity is used in a feedback loop to allow the ECU to control the fuel delivery system to provide a proper fuel-air ratio. With this information the ECU will continually correct itself in small time steps. h) Knock sensor: The knock sensor detects knocking and sends a signal to ECU to gradually retard ignition timing or to enrich the air-fuel mixture

17

1.2.3 Engine Control Loops

a) Air-Fuel Ratio Control: There are various performance metrics that vehicles must adhere to like emissions (i.e., CO, NOx, and HC), fuel consumption (i.e., BSFC), and output power (i.e., torque). Most (but not all) are optimized, in conjunction with a , at or near stoichiometry (i.e., air–fuel ratio = 14.7). A key actuation mechanism for the air–fuel ratio function is the fuel injector(s). The throttle-angle setting from the driver determines the mass airflow rate, measured by a MAS, and the fuel flow is proportional to this rate. The MAP also is measured. The critical sensor for closed-loop air–fuel ratio control is the EGO sensor, which detects oxygen in the exhaust.

b) Exhaust Gas Recirculation (EGR): The percentage of exhaust gas in the charge is controlled by the EGR valve based on readings from the MAP sensor and engine temperature and speed. Higher percentages of EGR lower NOx; however, other performance metrics (e.g., BSFC and HC) deteriorate with higher EGR. The EGR and air–fuel-ratio loops are highly coupled.

c) Spark Timing: The combustion in the cylinder is initiated by the spark-plug firing, typically a few degrees of crank angle before TDC. The so-called MBT is used to maximize torque while also maintaining a margin of safety to prevent engine knock.

Advancing spark timing can increase torque and reduce fuel consumption. However, this is usually associated with increased emissions and the danger of engine knocks occurring.

To achieve good spark control, the crankshaft angle must be measured or estimated

18 accurately. Spark timing interacts with the idle-speed control and air–fuel-ratio control loops.

d) Idle-Speed Control: The goal is to measure and control engine speed at idle by adjusting airflow rate using the throttle or an idle-speed control valve (which provides better precision compared to the throttle). Maintaining consistent engine speed at idling despite load variations is important for perceived vehicle quality and to ensure low emissions and improved fuel economy. This control function requires measurement of the crankshaft angular position and engine speed.

e) Transmission Control: The main purpose of a transmission is to match the engine and vehicle speeds so that the engine can work in a more efficient region. Therefore, the gear selection for the transmission is said to be a mechanism for “engine control.” Usually, a

“shift map” with two independent variables is constructed, which then is used to determine up-shift and down-shift points. To implement the shift map, vehicle-speed and throttle- angle measurements are necessary. In addition to determining the gear position, it is important to ensure that shifting from one gear ratio to the next is executed smoothly. This entails precise coordination of the friction torques of various clutches.

19

Control Controlled Control Control Sensors Loops variable Input Algorithm and actuators Fuel Control Air – fuel Injected Smith Airflow, ration fuel Predictor EGO, fuel injector EGR Control EGR rate EGR Optimal Valve valve control position, opening EGR valve Spark Spark timing Primary Rule-based, Crank Timing current optimal angle, Control control vibration Idle–Speed Idle speed Airflow PI, linear Engine Control rate quadratic speed, regulator idle speed control valve, throttle Cruise Vehicle speed Airflow PI, adaptive Vehicle Control rate PI speed, throttle Transmission Gear ratio Pressure, Rule based Vehicle current speed, MAP All-wheel Torque Pressure, Rule-based, Engine drive, Four– distribution current P,PI,PID speed, wheel drive steering angle, stepper motor Four-wheel Wheel angle Stepper Feedforward Vehicle steering motor , PI speed, wheel angle , stepper motor ABS Slip ratio Pressure, Rule-based, Vehicle current sliding speed, mode wheel speed, control valve Table 1 Engine control loops [6]

20

1.2.4 Engine Operating Modes

a) Engine Crank (Start): The primary goal is reliable engine start-up; less emphasis is

placed on fuel economy and emissions, and EGR is not used. Typically, the engine

speed is low, the air–fuel ratio is low, and the spark is retarded. b) Engine Warm-Up: The primary goal is a rapid and smooth engine warm-up.

Typically, the EGR is off, the air–fuel ratio is low, and fuel economy and emissions

are not primary concerns. c) Open-Loop Control: The primary goal is to control the engine until the EGO sensor

reaches the correct operating temperature and produces reliable output. d) Closed-Loop Control: The primary goal is tight control of performance, fuel

economy, and emissions under closed-loop control using the EGO sensor. e) Hard Acceleration: The primary goal is high performance, with less emphasis on fuel

economy and emissions. The air–fuel ratio is rich, EGR is off, and EGO is not in the

loop f) Deceleration and Idling: The primary goal is high performance, with less emphasis

on fuel economy and emissions. The air–fuel ratio is rich, EGR is off, and EGO is

not in the loop.

21

1.2.5 Engine Management Systems

In the past, the engine functions such as fuel-air mixture and ignition control were achieved by mechanical devices like and advancing mechanisms (e.g. centrifugal advance units). An engine control unit, or ECU for short, is an electronic control system for engines that is responsible for monitoring and managing the engine functions that once were performed mechanically. Over the past three decades, the control of a few parameters for engine ignition has developed into the management of several variables that govern the performance of an engine. For this reason, the term ‘Engine

Management System’ (EMS) is becoming increasingly popular. EMS is responsible for monitoring and controlling additional parameters such as exhaust-gas recirculation (EGR) and fuel evaporative emissions to ensure better fuel economy, much lower pollution, more power, easier cold start, smoother idling, and consistently good performance under all circumstances. Electronic engine management has also made possible sophisticated engine monitoring functions and provides diagnostics and warning information. Modern engine management systems incorporate information from other vehicle systems by receiving inputs from other sources to control the engine performance. Examples are control of variable systems, communication with transmission control units and traction control systems. For engine maintenance and repair purposes, the ECU stores diagnostic codes based on sensor information. In conditions where the engine faces a problem, the ECU displays warning lights for the attention of the driver.

22

Figure 3 Basic Components of an EMS [3]

The engine management system in general includes an ECU that receives information from several sensors to control the ignition process of the engine. Fuel delivery system is responsible for working with the ECU and supplying sufficient fuel to the engine. The receives commands from the ECU for accurate control of the combustion.

The sensors provide feedback to the ECU to indicate the way engine is running so that the ECU can make the necessary adjustments to the operation of the fuel delivery and/or ignition system for emission control, fuel economy and good drivability. Figure 3[3] illustrates the main components of an EMS. The ECU uses a microprocessor which can process the inputs from the engine sensors in real time and compute the necessary instructions. The hardware consists of electronic components based on a microcontroller chip (CPU). Memory is also needed in order to store the reference information and.

23

1.2.6 Maps and Look-up tables

When controlling slow systems with few influencing parameters, the microprocessor can be provided with a mathematical control function to evaluate the best conditions for each set of input data and to generate an appropriate actuator drive signal.

For complex, high-speed systems like engines, however, this method does not work since the control of an engine requires the high speed evaluation of several complicated non- linear equations, each with a large number of variables. The solution to this problem is to use engine maps that are sets of pre-calculated results that cover all of the engine’s possible operating conditions.[3]

During the engine operation the ECU receives sensor signals, calculates the preferred output values and passes them to the output driver circuits. The process of obtaining engine map data is called mapping and involves operating a fully instrumented test engine on a dynamometer throughout its entire speed and load range. While quantities such as the fuel air ratio and the spark control are varied in a systematic manner, the fueling and timing for maximum power and lowest emissions are obtained. Once the preliminary map data have been obtained, the engine is run in a test vehicle to calibrate the map for higher efficiency and performance in various working conditions.

24

Figure 4 Example of engine maps [17]

The advantages of maps are that they are computationally efficient, easy to implement, and straightforward to obtain if an engine is available. The major disadvantage is that they don’t offer extrapolation; when an engine is redesigned the maps might have to be recalibrated which is a time-consuming process. Using maps is sometimes called map- based control. Figure 4 [17] shows an example of engine map.

Another paradigm is model-based control where models are used to describe the

functions and the complex interactions between inputs and outputs. Model-based

methods are currently being implemented to replace and reduce maps, since they offer

the benefit of extrapolation and can reduce the calibration effort. In the end, models can

on the other hand be implemented as maps in the final control implementation. For

example, if a function is too complex to be executed on the controller hardware, then the

lookup table can be generated from the model offline, which in the end can save

calibration and execution time. [17]

25

1.3 Idle Speed Control Problem

The Idle Speed control (ISC) represents one of the most generic and basic automotive control problems for researchers and practitioners. The ISC performance has significant impact on many vehicle design attributes such as fuel economy, emissions, combustion stability, and NVH (noise, vibration, and harshness) quality.

Figure 5 Typical Idle Speed Control System [7]

The ISC problem is formulated as a tracking and disturbance rejection problem in its simplest form. The tracking requirement is to ensure that the engine speed follows a reference set point while the disturbance rejection requirement is to ensure that the engine speed does not deviate too much from the set point in the presence of load torque disturbances. The reference engine speed is set the minimum value that yields acceptable combustion quality, accessory performance, and NVH characteristics in order to achieve the best fuel economy by the engine designer. The figure 5 [7] shows a typical ISC

26

In the modern automotive engine there are three control variables that may be used to increase combustion generated torque and hence reject torque disturbances. These are air-fuel ratio (AFR) of the charge mixture, manifold absolute pressure (MAP) and spark advance.

1.3.1 Control Variables

a) Manifold Pressure: The manifold pressure can be adjusted by altering the airflow

from the environment to the intake manifold through adjustment of the nearly closed

throttle or around the closed throttle. The air flow around the throttle may be maintained

by a bypass air valve (BPAV) or through the use of electronic throttle as in newer

vehicles. The duty cycle of the control signal for BPAV dictates the airflow into the

cylinder and thus controls the manifold pressure. While the air control path can provide

large control authority, its disadvantage is that it’s relatively slow, due to the intake

manifold dynamics and subsequent intake-to-power delays.

Figure 6 Throttle body [18]

Figure 6 shows a typical throttle body that regulates manifold pressure. The throttle plate

°. angle α allows maximum air flow at 90 The throttle plate rest angle α0 is larger than zero

to prevent wall binding

27

b) Spark Advance: The number of degrees before top dead center (BTDC) is called

advance. This is done mechanically or by a computer or a combination. Advance

increases with engine RPM and decreases as the engine goes under a load. The

spark advance offers a much faster control response. The figure 7 shows TDC,

BTDC and ATDC positions

Before top dead Top dead center After top dead center (BTDC) (TDC) center (ATDC)

Figure 7 Piston positions [20]

28 c) Air fuel ratio: The air fuel ratio (AFR) is generally used as a last resort.

Emissions regulations require the AFR to be kept at or close to stoichiometry.

1.3.2 Disturbances

Disturbances that cause a significant drop in speed can measured. Figure 8 [2]

Figure 8 Inputs, outputs and disturbances to the idle speed system [2]

29

shows various disturbance acting on the engine. Some of the measured

disturbances are given below.

a) Accessory Loads: In a vehicle the disturbances are mostly due to electrical loads

(switching on of air conditioning, window heating, lighting etc.) These are events

which can cause the engine to stall. Since these are mostly know disturbances the

solution to the problem requires several feedforward control loops using accessory

load information, and other ad hoc compensation schemes for temperature ,

barometric pressure and other environmental conditions. These would act on the

BPAV or spark advance. b) Entry and Exit: A step change from a high-speed level to the set point idle speed can

cause a speed undershoot and the engine to stall.[2] c) Pedal Movements: The driver can play with the pedal when the engine is idling.[5]

.This modulates the actuation variable in competition to the control actuator, which

also varies the same variable. For example, when the driver slowly increases the

mass air flow in the engine, the controller will reduce its actuator signal in order to

regulate the speed to the reference level. If in the next step the driver would release

the gas pedal, the control actuation take some time to adapt to this change. The

engine can stall if the system is not designed to handle these changes.

30

Chapter 2: Modeling

2.1 History

Some of the first engine models for ISC studies were developed in the late 1970s based in part on prior simple, albeit fundamental, models. Typically, the model development starts with a nonlinear description of average engine combustion torque dynamics. Such a model is derived by a mix of first-principle, physical laws, and identification techniques using empirically obtained dynamics setup response and steady- state data for engine mass flow (MAF) rate and torque as functions of rpm, throttle or bypass valve opening area, manifold pressure (MAP), air-fuel ratio and spark.

With the possible exception of neural network and fuzzy-logic based controllers, most control techniques used for the ISC design require models of the relevant plant dynamics. The main plant of interest for the ISC problem is the engine itself. Figure 9

Figure 9 Mean-value engine model [7]

31

shows a mean –value engine model with the throttle body, intake manifold and cylinders[7].The arrows show the air intake into the engine. We also see torque generated by the engine and torque acting on the engine (load).

The engine model for our study here is based on published results by Crossley and Cook [1], and also from the Simulink example (sldemo_engine, scdspeed), which itself was based on several studies [10], [11],[12],[13].It describes the simulation of a four–cylinder spark ignition internal combustion engine. The ensuing sections (listed below) analyze the key elements of the engine of the model that were identified by the study.

a) Throttle Mass-Flow

The equation (1) through (7) models the air mass flow through throttle as well as the pressure drop. The control input is the angle of the throttle plate. The rate at which the model introduces air into the intake manifold can be expressed as the product of function of throttle angle f(θ) and manifold pressure Pm..

Assumption: Air is a perfect gas, throttle is isenthalpic

 mai f( ) gP ( m ) (1)

2 dth cos( )  f ()1    (2) 4 cos( ,0) 

For our study we use equation (3) which was obtained by linear regression of steady state engine dynamometer data [1]

f ( ) 2.821 0.05231   0.102992  0.00063 3 (3)

32

The pressure function, equation (4) through (7) was developed by Prabhakar [8]

gP()1;ifm PP m  amb /2 (4)

2 2 gP()m PPP m amb  m ;if/2 P amb  PP m amb (5) Pamb

2 2 gP(m ) PPP m amb  amb ; if PPP amb  m 2 amb (6) Pamb

gP()1;ifm PP m  2 amb (7)

m ai mass flow rate into the manifold (g/s);

throttle angle (deg);

,0 throttle angle when fully closed (deg);

dth throttle diameter (m);

downstream manifold pressure (bar);

upstream ambient pressure (bar);

b) Intake Manifold

The equation (8) describes emptying and filling dynamics of the manifold. The simulation models the intake manifold as a differential equation for the manifold pressure. The difference in the incoming and outgoing mass flow rates represents the net rate of change of air mass with respect to time. This quantity, according to the ideal gas law, is proportional to the time derivative of the manifold pressure. We assume a lumped- parameter model with isothermal conditions.

33

 RT   Pm mm ai  ao  (8) Vm

R specific gas constant;

T air temperature in manifold (K);

manifold volume (m );

mass flow rate of air out of the manifold (g/s);

rate of change of manifold pressure (bar/s);

c) Intake Mass Flow Rate

The equation (9) models the mass flow the engine inducts, which is equal to the air mass flow that exits the intake manifold.

 Pm VN d mao v (9) RT 4

Equation (10) shows the mass flow rate as a regressed function of the sum of the partial pressures and engine speed [1] which is used in this study

 mao0.366  0.08979 NP m 2 2 0.0337NPm  0.0001 NP m (10)

N engine angular speed (rad/s);

manifold pressure (bar)

v

Vd displacement volume (m );

34 d) Torque Generation

Engine torque is a function of the mass of the air charge, the air/fuel mixture ratio, the spark advance, and engine speed

A Teng fNm( , a , , ) (11) F

The equation (12) shows regression engine torque, which we will use in this study

2 A  A Teng181.3 379.36 m a  21.91  0.85  F  F 2 2 0.26 0.0028   0.027N  0.000107 N 2 0.00048N  2.55  ma  0.05  m a (12)

mass of air in cylinder for combustion (g);

air to fuel ratio;

σ spark advance (degrees before top-down-center);

e) Acceleration

The engine angular acceleration is depended on the inertia and difference between torque generated by the engine and load of auxiliaries.

 1 N( Teng  T load ) (13) J

torque produced by engine (Nm);

torque produced by various accessories (Nm);

J engine rotational moment of inertia (kg. m);

engine angular acceleration ( rad /s);

35

Chapter 3: Simulator Design

The model was put together in Simulink based on the equations in the previous chapter.

Figure 10 Engine model in Simulink

The main control variable is the throttle, which regulates the air flow into the engine.

Figure 11 Change in engine speed with throttle angle

36

Figure 11 shows the change in RPM at various throttle positions (1° to 10°).The Air to Fuel ratio (AFR) is at stoichiometric (1/14.6) and the crank angle is 15°.There is also no load attached to the shaft.

Figure 12 Change in engine speed with crank angle

Figure 12 shows the change in RPM at various crank angle positons, or spark timings.

(5° to 32°).The Air to Fuel ratio (AFR) is at stoichiometric (1/14.6) and the throttle position is kept constant at 5°.There is also no load attached to the shaft.

37

Figure 13 Change in engine speed with AFR ratio

Figure 13 shows the change in RPM at various Air/Fuel ratios (1/13 to 1/15.4).The crank angle is kept constant at 15°, and the throttle position at 5°.There is also no load attached to the shaft.

38

Chapter 4: Robust control design.

Robust means strong, healthy and unlikely to break or fail. All mathematical models of a physical system suffer from inaccuracies that result from non-exact measurements or from the general inability to capture all phenomena that are involved in the dynamics of the considered system [15]. Even if it is possible to accurately model a system, the resulting descriptions are often too complex to allow for a subsequent analysis, not to speak of the design of a controller. Hence one rather chooses for a simple model and takes a certain error between the simplified and the more complex model into account. Therefore, there is always a mismatch between the model and the system to be investigated. A control engineer calls this mismatch uncertainty. Note that this is an abuse of notation since neither the system nor the model are uncertain; it is rather our knowledge about the actual physical system that we could call uncertain. The main goal of robust control techniques is to take these uncertainties in a systematic fashion into account when analyzing a control system or when designing a controller for it. In order to do so, one has to arrive at a mathematical description of the uncertainties. Sometimes it is pretty obvious what to call an uncertainty (such as parameter variations in a good physical model), but sometimes one just has to postulate a certain structure of the uncertainty.

Clearly, the key issue with robust control systems is uncertainty and how the control system can deal with this problem. . Figure 14[16] below shows an expanded view of the simple control loop. Uncertainty is shown entering the system in three places. There is uncertainty in the model of the plant.

39

There are disturbances that occur in the plant system. Also there is noise which is read on the sensor inputs.

Figure 14 Control systems with noise and uncertainties [16]

Each of these uncertainties can have an additive or multiplicative component. It is important to understand that the control system designer has little control of the uncertainty in the plant. The designer creates a control system that is based on a model of the plant. However, the implemented control system must interact with the actual plant, not the model of the plant.

40

4.1 Quantitative Robust Control.

Quantitative feedback theory (QFT) is an engineering control design methodology that explicitly emphasizes the use of feedback to simultaneously and quantitatively reduce the effects of plant uncertainty and satisfy performance specifications. It is deeply rooted in classical frequency response analysis involving

Bode diagrams, template manipulations, and Nichols charts. It relies on the observation that the feedback is needed principally when the plant presents model uncertainty or when there are uncertain disturbances acting on the plant.

The use of CAD tools has made control engineering design much simpler.

The book [9] introduces the new interactive object –oriented CAD tool for QFT controller design which can be downloaded from Control & Energy System Center

(http://cesc.case.edu)[14] at Case Western Reserve University. It includes the latest technical quantitative robust control achievements within a user-friendly and interactive environment. The tool runs under MATLAB and shows a special architecture based on four windows (W1: Plant Modeling; W2: Control

Specifications; W3: Controller Design; W4: Analysis) and a common memory. It also includes a library of basic and advanced functions to be selected in the corresponding

Windows, allows multitasking /threading operating system, offers a user-friendly and interactive environment by using object – oriented programming. The toolbox has been developed at the Public University of Navarra and Case Western Reserve

University under a research project for the European Space Agency, ESA-ESTEC.

41

4.2 Design Process

The engine model is highly non-linear and there is a real need to design controllers at various operating points point in order to satisfy various NVH specs. We start with linearizing the plant at various operating points. The points chosen for our study here are from 800 RPM to 1600 RPM.

Figure 15 linearizing the model

Linearization can be done from the MATLAB Command Line or using Linear

Analysis Tool in MATLAB Simulink. In this study we have used the Linear Analysis

Tool to linearize the model at various operating points. The model of the linearized plant can then be exported to the MATLAB workspace for designing controllers.

4.2.1 Plant Definition

We linearize the engine model at 1500 RPM (the idle reference speed in this case) and equation (14) is obtained, which is the transfer function of the plant model. This is

Ys( ) 2623 s2  7.868 es 05  7.868 e 07  (14) Uss( )4 304.9 s 3 3.184 es 04 2  1.436 es 05  2.694 e 05

42 then introduced into the QFT toolbox as shown in figure 16.A parametric uncertainty k , with a upper bound of 180 and lower bound of 170 is also introduced. The frequency range is from 0.001 rad/sec to 1000 rad/sec. The QFT toolbox [14] has also other options when it comes to introducing the plant model, like state space representation, gain/zero/ pole etc.

Figure 16 Plant definition window

4.2.2 Specifications:

After introducing the plant we define the Stability and Output disturbance rejection specifications. The robust stability specification can be entered as a constant (Ws),

43 gain margin (GM) or phase margin (PM) form. The toolbox can automatically converts from one from to the other. In this case we entered as a constant ,Ws = 1.45, and toolbox gave us the GM and PM. Figure 17 shows us the Nichols chart with the stability specs we used.

Figure 17 Nichols plot in Specification window

The output disturbance rejection specifications can be entered as a constant, a vector of constants of the same length as the specification frequency vector, or a transfer function. In this case it is introduced in the transfer function form which describes the measurement noise to process output as in equation (15)

Ys( ) 1.439 es 053 2.708 es 05 2  2.694 es 03  (15) Ds( ) 1.386 es 053 7.953 es 05 2  6.584 es 05  7.868 e 05

44

The frequency vector (0.001 to 2 rad/s) here is a subset of the plant frequency (0.001

to 1000 rad/s). The transfer function can also be called the sensitivity ‘S’.

Figure 18 Bode diagram of output disturbance rejection

4.2.3 Controller Design:

Once the user has introduced the information about the plant and the control

specifications, and the templates and bounds have been calculated, the next step

involves controller design or loop shaping. This involves changing the gain and

adding the poles and zeros, either real or complex, until the nominal loop lies near its

bounds, more specifically above the solid-line bounds. The final control design is

shown in figure 19, with the various frequency points also shown. The controller can

also be exported to MATLAB workspace. The controller transfer function in this case

is

45

0.00405s2  0.00506 s  0.006 C  (16) 100s2  s

Figure 19 Controller design window 4.2.4 Analysis:

Once the controller design is done, the Analysis window is active in the QFT toolbox.

The analysis is performed in both, the frequency domain and time domain. The frequency domain analysis panel helps us to do an analysis of the closed-loop system response of the control system with respect to a specification defined in the

46 specification window. In figure 20 the dashed line is desired specification and solid line the worst case of the control system over the plant uncertainty at each frequency.

Figure 20 Stability Analysis in frequency domain

Figure 21 shows the frequency domain analysis for output disturbance rejection. The dotted line represents the upper boundary of the specs and we see from the figure that all the plants in the worst case scenario are within the bounds for frequency ranges

47

0.001 rad/s to 2 rad/s. For higher frequencies, from 2 rad/s to 100 rad/s we see that it is out of specs.

Figure 21 Analysis of disturbance rejection in frequency domain

The time domain panel analyses the time response of the control system, with many plants over the plant uncertainty. The toolbox lets us apply a unit step and unit impulse signal. Figure 22 shows the time domain analysis for a unit step where 5 plants are analyzed. The number of plants analyzed (number of lines plotted) depends on the

48 values introduced in the “Parametric uncertainty” panel in the plant definition window.

Figure 22 Time domain analysis: Unit step response 4.3 Control Hierarchy

The control system development for engine would start with performing simulations for various driving conditions. Using these simulation data a basic controller is designed which is then tested on a real engine in a fully instrumented test cell or vehicle. The data obtained this way is then used to fine tune the original control design.

49

The engine model in our study can be linearized at other operating points (engine speeds) and the QFT toolbox can be used to design controllers. As there can be a range of idle speeds depending upon on the environmental and load conditions, the

ECU should contain an array of controllers. Figure 23 shows a representation of this control hierarchy. The sensor inputs (temperature, engine speed etc.) would help pick the right idle reference speed and also populate the controller values (gains, ignition timing, AFR etc.).

Figure 23 Controller hierarchy

50

Chapter 5 Simulation

The design process followed in chapter 4 can used to design controllers for other engine speeds. In this chapter we simulate various driving conditions. Before we begin we need to talk about performance specifications.

5.1 Performance specifications

The performance specifications or NVH (noise, vibration and harshness) specs depends from vehicle to vehicle, and is a measure of smoothness. In this case study we assume a maximum error that is computed by max (Engine Output Speed –

Reference Speed) [2] to be 50 RPM. This value indicates the band around the idle reference speed within which the idle speed is maintained. In the case of low idle speed, this band is critical as a large drop from reference speed could cause the engine to stall. The NVH is more than just RPM and depends on other factors which are beyond the scope of this study

5.2 No - Load condition

The QFT controller can be implemented in the PID parallel form as in equation (17)

K s CK I  K (17) p D 1 s s 1 N

51

The reference speed in this case is set at 1000 RPM, which means our NVH limits are between (950- 1050) RPM. The controller settings are as follows. KP = 0.004, KI =

0.006, KD = 0.005, Filter Coefficient (N) = 100.

Figure 24 PID Control Design

The Figure 25 shows the engine speed output with above controller settings. The AFR in this case is kept at stoich (1/14.6) and spark timing at 15°.From the graph we see that there is an offset (about 134 RPM). There is clearly a need to look into other variables to meet the desired performance.

52

Figure 25 Engine output speed with PID Control

The AFR ratio was changed from (1\14.6) to (1\14.9) and spark timing changed from

15° to 8° while keeping the PID Control settings same. The speed output obtained as in Fig 26 is a great improvement over Fig 25.

53

Figure 26 Engine speed output with PID, AFR and ignition timing The controller can be improved by using Anti Windup along with PID Control. The back-calculation anti-windup method uses a feedback loop to discharge the PID controller’s internal integrator when the controller hits the specified saturation limits.

The controller structure is shown in Fig 27.Simulation results with back-calculation gain (Kb) = 6 and saturation limits (0.5 to 10) are shown in Fig 28.

54

Figure 27 Controller design with anti - windup

Figure 28 Engine output speed with anti -windup

55

5.3 Load Conditions

The various loads (switching on of air conditioning, window heating, lighting, etc.) acting on the engine can be measured for the most part. For this study we are considering load in multiples of 5 Nm.

The engine speed under no load conditions with a PID Controller is shown in Fig 29.

Figure 29 Engine output speed under no load

The controller meets the NVH specifications. Fig 30 shows the engine speed when a load (5 Nm) is introduced at time (t=2 seconds) using the same settings as above.

56

There is a significant drop in speed at the same time in the engine speed which can be outside the NVH limits.

Figure 30 Engine speed drop with load

To decrease the sudden drop in speed when a load is introduced we need more than a

PID controller. There should be some kind of feedforward control to compensate for the drop in the speed. We start with designing a load map for various load conditions.

This has to be done experimentally and the final results has to be put in a look-up table. The controller design would look like in Fig 31.

57

Figure 31 PID control with Load map

The speed output for same conditions as in Fig 30 is shown in Fig 32

Figure 32 Engine output speed with Load map

58

From the graph we see that the drop in speed in less which would help meet the NVH specs and well as any possible stall.

5.4 Ignition Timing.

Although varying the throttle angle is the best way to raise or lower speed, it isn’t the fastest. There are delays caused by the dynamics of throttle and intake manifold system. Ignition timing is another manipulated variable in the idle speed control system and is faster than throttle control. Ignition timing or spark timing changes as you drive and to get most power out of a motor the spark has to happen a bit before it gets to the top of the cylinder. As the engine goes faster the spark need to happen earlier and earlier. This is called “Spark Advance”.

Figure 33 Proportional control for ignition timing

59

When a load is introduced there will definitely be a drop in speed. Changing the ignition timing can help compensate for this along with the main PID controller. The ignition timing control is shown in Fig 33.We take the difference between reference speed and measure engine speed and then use a load map to arrive at the spark advance needed to compensate for the speed drop. The engine speed output for a load of 5 Nm

Figure 34 Engine speed output with Ignition map is shown in Fig 34. This is an improvement over Fig 32 in terms or drop in speed.

5.5 Higher Speed to Idle Mode.

So far we have been looking at designs that were meant to be operating at fixed speeds. In this section we will design controllers that can transition from higher

60 engine speed to lower engine speed (Idle mode).Figure 35 shows the design of a system

Figure 35 High speed to Idle speed mode that can transition the engine from a higher speed to idle speed. The controller also has feedforward design to schedule the gains of the PID structure based on the load.

Figure 34 shows the engine speed transition from 1500 RPM to 1000 RPM, which is our idle reference speed in this case. It is assumed that the driver would take the pedal off the accelerator, press the brake and downshift (in case of ) to get the idle speed mode. The PCM would also get inputs from various sensors and would therefore lean the AFR ratio to achieve this. The figure 36 also shows a load

61

acting on the engine at time T=10 sec. The controller design in figure 35 incorporates

a feedforward mechanism to schedule different gains for PID controller based on the

load (10 Nm in this case) and thereby keeping the system in NVH limits and also

preventing undershoots that can stall the engine at lower speeds. The controller

design also keeps the system from undershoots during downshifting, form 1500

RPM

Figure 36 Engine speed output from high RPM to idle mode under load

to 1000 RPM (idle speed mode).

62

Chapter 6: Conclusion

Almost all real system have some kind of uncertainties (parametric,

dynamic, structured etc.).The robust control approach is the best way to deal with

these problems, because it helps designers / engineers to do analyses of worst case

scenarios for various specifications. This is very important when it comes to

applications in industries like aerospace and automotive where safety is always a

major concern.

In the first part of this study we focused on engine modeling and built a

MATLAB based simulator. Later a Robust QFT toolbox[14] was used to design the

controller with a set of specifications. Due to the non-linear nature of the engine

model we had to design a controller for every operating point (engine speed).During

simulation we found out that varying the throttle angle alone wouldn’t help us meet

our specifications, especially under load conditions. At higher idle speeds it would

be just exceeding NVH limits, but at lower idle speeds it could mean the engine

stalling. The control action by the throttle actuator doesn’t act fast enough to

compensate for engine load due to the inherent delays in the system.

Varying the ignition timing can produce immediate changes in the engine torque as there are no delays and this is verified in the simulations we did. The engine designer could easily create an ignition map based on the engine loads for each operating condition. We also simulate a feedforward gain scheduling design which can handle engine loads very well.

63

Chapter 7: Future Work

Engine Idle speed have gotten lower over the years due to improved design. This has translated to better fuel economy. Automakers are still continuing to do significant research in this area, few of which are discussed here.

7.1 Engine Start Stop system

Engine start stop systems which have been in use in hybrid vehicles is now making its way towards non-hybrid vehicles as well. These systems save gas by shutting down engine when a vehicle comes to a halt. with these systems are sometimes called mild hybrid. Although they aren’t technically hybrid cars, the battery in these cars are a part of the idle-stop system that shuts off the gasoline engine when a mild hybrid is at rest, coasting or slowing

Figure 37 Mazda I-Stop system [21]

64 down. For instance, a stop at a red light at an intersection will cause the engine to cut off.

When the car is idle, no gas will burn inside the engine. Once the light turns green and the driver applies pressure to the gas pedal, the engine should switch back on seamlessly, as though it hadn't been turned off at all. Figure 37 shows the Mazda I-stop system.

There are essentially three main parts involved in an idle-stop system: the gasoline engine, an electric /generator and a battery. The transfer of energy works in that order, both forwards and backwards -- it just depends on what state the car is in.

When the car's engine is on and you're just about to brake, stop-start systems use regenerative braking, where rotational energy from the wheels turns the and creates electricity. The generator sends electricity to the battery where it can be stored for later use. When the driver applies the , however, the generator shuts off the gasoline engine. Pressing the accelerator pedal starts the engine once again by taking the stored energy from the battery and running it through an electric starter.

The start –stop systems require a battery stout enough to to withstand the dramatically increased on-off cycling. A heartier battery is also required to satisfy the car’s entire electrical needs with its engine off. European-designed cars are presently the most common non-hybrids to use stop-start because of higher gas prices.

There can be up to 12% increase in fuel economy.

7.2 Hybrid / All Electric Vehicles

The growing popularity of hybrid and all electric vehicles would make the traditional idle speed control system obsolete. These cars have powerful batteries that can provide energy for the air conditioning and accessories while the engine idles at stoplights or in traffic

65

References

[1] P.R. Crossley and J.A. Cook, IEEE® International Conference 'Control 91',

Conference Publication 332, vol. 2, pp. 921-925, 25-28 March, 1991, Edinburgh,

U.K.

[2] M. Thornhill, S. Thompson and H. Sindano. A comparison of idle speed control

schemes, Control Engineering Practice, vol. 8, issue 5, May 2000, Pages 519 –

530.

[3] Mashadi, Behrooz and D.A. Crolla (2012). Vehicle Powertrain Systems, John

Wiley & Sons, Ltd, United Kingdom

[4] Crolla, David A (2009). Automotive engineering: powertrain, system and

vehicle body, Elsevier Inc., United Kingdom

[5] Kiencke , Uwe and L. Nielsen (2000). Automotive control systems: engine,

driveline, and vehicle., Springer, New York

[6] Ulsoy, Ali Galip; H. Peng; M. Çakmakci (2012). Automotive control systems.,

Cambridge University Press , New York.

[7] Guzzella, L; Onder, Christopher H (2010). Introduction to modeling and control

of internal combustion engine systems. Springer, New York.

[8] Prabhakar,R, Optimal and Suboptimal Control of Automotive Engine Efficeincy

and Emissions, Ph.D .Thesis, Purdue University,IN

66

[9] M. Garcia-Sanz, C.H. Houpis, (2012). Wind Energy Systems: Control

Engineering Design, CRC Press, Taylor & Francis.

[10] The Simulink Model. Developed by Ken Butts, . Modified

by Paul Barnard, Ted Liefeld and Stan Quinn, MathWorks®, 1994-7.

[11] J. J. Moskwa and J. K. Hedrick, "Automotive Engine Modeling for Real Time

Control Application," Proc.1987 ACC, pp. 341-346.

[12] B. K. Powell and J. A. Cook, "Nonlinear Low Frequency Phenomenological

Engine Modeling and Analysis," Proc. 1987 ACC, pp. 332-340.

[13] R. W. Weeks and J. J. Moskwa, "Automotive Engine Modeling for Real-Time

Control Using Matlab/Simulink," 1995 SAE Intl. Cong. paper 950417.

[14] Mario Garcia-Sanz, "The QFT Control Toolbox (QFTCT) for Matlab",

CWRU, UPNA and ESA-ESTEC, Version 9.30, May 2016,

http://cesc.case.edu

[15] Carsten Scherer. Theory of Robust Control. Lecture Note, Mechanical

Engineering Systems and Control Group, Delft University of Technology, The

Netherlands, April 2001

[16] Chandrasekharan, P. C, (1996). Robust Control of Linear Dynamical Systems,

Academic Press

[17] Eriksson, Lars; Nielsen, Lars (2014).Modeling and control of engines and

drivelines. John Wiley & Sons Inc.

67

[18] Carlsson, Per (2007). Flow Through a Throttle Body: A comparative study of

Heat Transfer, Wall Surface Roughness and Discharge Coefficient. Linköping

University, Sweden.

[19] http://www.thermopedia.com/content/880/).

[20] http://www.waybuilder.net/sweethaven/MechTech/Automotive01

[21] Car and Driver, April 2011 issue.

68