A Smartphone Application to Evaluate Driving ... - Semantic Scholar

Report 7 Downloads 42 Views
2012 Intelligent Vehicles Symposium Alcalá de Henares, Spain, June 3-7, 2012

Driving Coach: a Smartphone Application to Evaluate Driving Efficient Patterns ˆ Rui Ara´ujo, Angela Igreja, Ricardo de Castro, Rui Esteves Ara´ujo Faculdade de Engenharia da Universidade do Porto Rua Dr. Roberto Frias, 4200-465 Porto, Portugal {ee08281, ei08164, de.castro, raraujo}@fe.up.pt

Abstract—In spite of several technical advances made in recent years by the automotive industry, the driver’s behaviour still influences significantly the overall fuel consumption. With the rise of smartphones adoption, there are also new opportunities to increase the awareness to this issue. The main aim of this paper is to present a new smartphone application that will help drivers reduce the fuel consumption of their vehicles. This is accomplished by using the smartphone’s sensors and the vehicle state to detect the driving pattern and suggest new behaviours in real time that will lead to a more efficient driving experience. The preliminary results show the potential for significant energy savings and their relevance for changing the drivers’ behaviour.

I. I NTRODUCTION Nowadays, the efficient utilization of energy resources associated with the transportation of people and goods has been of great concern among government agencies, industry and society in general. The increasing costs of fossil fuels, together with environmental problems and atmospheric pollution, has encouraged the development and marketing of energy efficient vehicles, using strategies such as: (i) reducing the rolling resistance of tires, (ii) reducing mass and the aerodynamic drag factor of the vehicle, (iii) increase the energy efficiency of the vehicle powertrain (engine, transmission, etc.), (iv) hybridization of the vehicle through the electric propulsion, etc. In spite of these technical improvements, the efficiency of the vehicle is still highly dependent on the driver’s behaviour. For example, recent studies conducted by Toyota show that driving style could affect the vehicle’s energy consumption up to 20% [1]. Although the drivers have been alerted for these issues during their driving lessons [2], practical tools to monitor and classify the driving style from the point of view of energy consumption are still needed. Furthermore, it would be highly beneficial to the driver training if the identification of the incorrect behaviour is performed in real time. To fill this gap we propose in this paper the driving coach application, which is capable of advising and teaching the driver to follow efficient driving patterns. The always-increasing processing capacity of smartphones, coupled with its wireless communications features, has stimulated the recent development of new applications and services for the automobile. From the safety perspective, low-cost warning systems for lane departure [3] and identification of the driver aggressiveness [4] represent recent examples of how the smartphones capabilities can be used to reduce road casualties. 978-1-4673-2118-1/$31.00 ©2012 IEEE

For the cases where an incident is unavoidable, a black box like recorder [5] is helpful to estimate the accident severity, and to disseminate this information among other users to avoid traffic jams [6]. The increase of the vehicle energy efficiency is another area where mobile devices can be providential. For example, reference [7] exploits the information about the schedule of the traffic signals, acquired locally by cameras and shared with others drivers, to modify the vehicle speed and avoid the inefficient stop-and-go pattern. On the planning level, the smartphone can also be employed to devise fuel-efficient routes [8]. The application developed in this article shares the same goals as [7] and [8], but will put more emphasis on coaching the driver, and its behaviour, to systematically reduce the fuel consumption. II. OVERVIEW OF THE A PPLICATION As depicted in Figure 1, the driving coach application is divided into three main layers. On the lower level there is a block, called device driver, which is responsible for collecting the vehicle state (speed, fuel consumption, acceleration, etc.) through sensors embedded in the smartphone (e.g. GPS) and from the vehicle CAN bus. The acquired data will then be used to extract features and driving statistics, helpful to classify the vehicle’s fuel efficiency and the driver behaviour. Finally, the graphical interface provides to the driver the results of the driving evaluation, and suggests, in real-time, some hints for reducing the fuel consumption. A. Sensors Input The vehicle state is acquired from the CAN bus, through an OBD-II ( On-Board Diagnostics) Bluetooth adapter. Since the communication protocols with the vehicle are not the main aim of this project, we employed a low-cost application, called Torque Pro [9], to perform the data acquisition. The ultimate goal of this module is to obtain (over a given time window) the following variables:  D=

 v[i], a[i], h[i], t[i], c[i], r[i]

N (1) i=1

where v [km/h] is the speed, a [g] the acceleration, h [m] the altitude, t [%] the throttle signal, c [l/100km] the instant engine fuel consumption, r [rpm] the engine rotations; N represents the number of sampling instants. In practise, D may represent

1005

Android

(P1) Driving Condition: to properly evaluate the fuel efficiency is essential to identify the vehicle driving condition, which is carried out in this work through the mapping:

v

Driver Interface and “Coaching” t

i) Features extraction ii) Classification of driving efficiency iii) Generate driving hint

h1 : F −→ {U, H, C}

where U , H e C represents ”urban”, ”highway” and ”combined” driving conditions, respectively. (P2) Evaluation of the Fuel Consumption: employs the information on the driving condition, as well as the reference consumption metrics (c∗u , c∗h , c∗c ), to classify the fuel consumption of the vehicle in scale from 1 (very poor consumption) to 4 (very good consumption):

velocity, acceleration, fuel/ energy consumption, throttle, brake ACC. GPS

Device Driver

Bluetooth

UMI

Throttle, Brake, ...

Figure 1.

h2 : F × h1 (F) × (c∗u , c∗h , c∗c ) −→ [1, 4] ⊂ R

OBD-II

Vehicle

Motor Control Unit

(4)

(P3): Driving Hint: is responsible for providing the driver with a recommendation to reduce the fuel consumption of the vehicle:

CAN bus ...

Inertial measurement unit

h3 : F × h1 (F) × h2 (F) −→ {H1 , H2 , . . . , Hnh }

(5)

where H1 , H2 , . . . , Hnh represents a list of possible hints.

Block diagram of the proposed application.

III. M ETHODOLOGY This section will present the methodology adopted to solve the three classification problems (P1, P2 and P3) aforementioned.

Table I C ONSUMPTION METRICS PROVIDED BY THE VEHICLE MANUFACTURER . Consumption Indicator [l/100km] c∗u c∗h c∗c

(3)

Datalogging

Driving Condition urban highway combined

the state of the vehicle in a window of ∆ seconds of the vehicle operation (in this work we adopted ∆ = 200s). B. User Inputs For reasons that will be clear later on, the energy/fuel consumption metrics provided by the vehicle manufacturer (see Table I) are used in this work as benchmark values. In other words, these values serve as a basis of comparison to infer whether the vehicle is consuming too much or too little energy (or fuel). C. Feature Extraction Generally it is not very practical to work directly in the raw data D; it is more convenient to extract a set of properties to summarize\characterize the input data. Toward that aim, the raw data D is mapped to a set of feature through the relation: g : D −→ F, where F ∈ Rnf represents the set of nf characteristics: F = {hvi, v, v, hai, a, a, hci, c, c, hti, t, t, hri, r, r, Idl}, (2) hxi, x and x are the average, minimum and maximum operators, respectively; Idl is the percentage of time that the vehicle is stopped. D. Classification Stage Based on the information extracted from the above set of features, the driving coach application will employ the following classifiers:

A. Driving condition (P1) According to [10], the most important features for identifying the driving condition of the vehicle (problem P1) are: (hvi, a, a, Idl). In order to simplify the implementation of this classifier on the smartphone, where processing capabilities are limited, we will start by considering only a subset of the aforementioned features: hvi and Idl; the training set is based on the following well-known driving cycles [11]: • U (Urban): ECE15, Artemis Urban, NYCC, INRETS URB-FL3, INRETS URB1 • H (Highway): Artemis Motorway, INRETS AutoRoute1, INRETS AutoRoute2 • C (Combined): Artemis Road Next, these cycles were divided into sub-sections of 200s and the features F extracted. From these, the average speed and idle time are represented in Figure 2. Inspecting these results one can find a very reasonable degree of separation between the classes U and H; the distinction between C/U and C/H is also possible, even if some outliers may be present. Looking more closely to the two features under consideration, hvi and Idl, we can further conclude that the vehicle average speed represents enough information to identify the driving conditions of the vehicle. Accordingly, the implementation of h2 classifier is performed in this work through the following linear discriminant:   U if hvi ≤ vth1   h1 (F) = C if vth1 < hvi ≤ vth2 (6)    H if hvi > vth2 where vth1 = 45 km/h and vth2 = 85 km/h are thresholds.

1006

Degree of membership

[km/h]

150

100

VLOW

1

LOW

HIGH

VHIGH

80

100

0.8 0.6 0.4 0.2 0 0

50

20

40

60

0

0

20

40 60 % idle time

80

Degree of membership

idle [%]

100

VLOW

1

LOW

VHIGH

HIGH

LOW

0.8 0.6

VHIGH

0.4 0.2 0 1

VLOW 1

2

LOW

3 #S G

4

HIGH

5

6

VHIGH

0.8 0.6 0.4 0.2 0

0.4

0

1

2

3 #S A , #S B

0.2

4

5

6

0 0

0.5

1

1.5

NC VPOOR

1

POOR

(a) inputs GOOD

VGOOD

0.8

Degree of membership

Degree of membership

HIGH

0.6

0

Degree of membership

Degree of membership

Figure 2. Training data for P1 (blue=Urban, red=Highway, black=Combined) and possible decision surfaces.

VLOW 1 0.8

0.6 0.4 0.2 0 1

1.5

2

2.5 h

3

3.5

4

2

1

VUNLIKELY UNLIKELY

LIKELY

VLIKELY

0.8 0.6 0.4 0.2 0 0

20

40

60

80

100

p [%]

Figure 3. Membership functions for problem P2 (fuel consumption evaluation); NC=Normalized consumption, h2 is the evaluation of fuel consumption.

(b) hint likelihood Figure 4. Membership functions for problem P3 (driving hint). Idle = % of time the vehicle is stopped; #S G the number of excessive gearshifts, #S A and #S G represent the number of excessive accelerations and decelerations, respectively.

B. Fuel Consumption Evaluation (P2) After determining the driving conditions, we will build in this section a simple classifier to evaluate the fuel consumption of the vehicle. Given the complexity of the problem (note that the P2 classification depends on the type of vehicle, type of driving condition and many other factors difficult to model) the proposed approach will attempt to replicate the way a human evaluates the energy consumption of the vehicle. Since this evaluation is normally conducted taking into consideration the consumption data provided by the vehicle manufacturer, the normalized consumption (NC) metric will be used in this work as a benchmark value: hci N C = ∗ , k = h1 (F) (7) ck where k ∈ {U, H, C} represents the driving condition identified by classifier h1 , and c∗k the average consumption supplied by the manufacturer. Using NC as the main input, the fuel consumption evaluation will be performed in three steps. Firstly, the NC is converted into a fuzzy value, using for this purpose four membership functions: very low (VLOW), low, high and very high (VHIGH) fuel consumptions (see Figure 3). Secondly, the fuel consumption evaluation is carried out with the help of the following fuzzy logic: • R1: if (NC is VLOW) then (h2 is VGOOD) • R2: if (NC is LOW) then (h2 is GOOD) • R3: if (NC is HIGH) then (h2 is POOR) • R4: if (NC is VHIGH) then (h2 is VPOOR)

where the membership functions for output h2 , the fuel consumption rating, are defined as: very poor (VPOOR), poor, good and very good (VGOOD) consumption metric (see Figure 3). Finally, since the result of the h2 evaluation must be ultimate transmitted to the driver, a crisp value must be generated by the classifier; toward that aim, we adopted a center-average defuzzification [12]. C. Driving Hint (P3) The last problem, P3, aims to identify, in real time, hints that could help the driver improve his driving pattern and fuel consumption. As a starting point, consider a finite list of possible suggestions that can be shown to the driver: H1 , H2 , . . . , Hnh Based on the current vehicle state, driving conditions (h1 (.) ) and fuel consumption evaluation h2 (.), we intend to determine which of the hints Hi is the most pertinent. This decision will be performed in a two-step process. Firstly, the likelihood of each hint will be evaluated with fuzzy logic; for that purpose, four membership functions will be used: very likely (VLIKELY), likely, unlikely and very unlikely(VUNLIKELY) - see Figure 4(b). In the second step, the likelihood of each hint will be defuzzified into crisp values (pi ∈ [0, 1]), and the one with the highest (crisp) value will be shown to the driver.

1007

Table II F UZZY RULES FOR EVALUATING THE LIKELIHOOD OF THE DRIVING HINTS (a) Evaluation of hint H1 h2 H1 VGOOD LIKELY LIKELY GOOD POOR LIKELY VPOOR UNLIKELY

(b) Evaluation of hint H2 Idl H2 VHIGH VLIKELY UNLIKELY HIGH LOW VUNLIKELY VLOW VUNLIKELY

(c) Evaluation of hint H3 #S G H3 VHIGH VLIKELY HIGH VLIKELY LIKELY LOW VLOW VUNLIKELY

(d) Evaluation of hint H4 #S A H4 VHIGH VLIKELY HIGH VLIKELY UNLIKELY LOW VLOW VUNLIKELY

where ∆r is a constant ( 500 rpm/s in this work), and evaluate if the gear shift exceed the recommended limit r:  S G = j ∈ S, s.t. r[j] ≥ r (10)

(e) Evaluation of hint H5 #S B H4 VHIGH VLIKELY HIGH VLIKELY UNLIKELY LOW VLOW VUNLIKELY

Given the high number of hints that the driver can receive, in what follows we will concentrate our attention on the suggestions that are typically recommended during ecodriving courses [1], [2], [13], [14], such as: • H1 : none to point, perfect; • H2 : switch off engine, vehicle is stopped for more than x minutes [1], [2]; • H3 : shift gear earlier [1], [2], [13]; • H4 : accelerating too high [1], [15] • H5 : deceleration too high [1], [15] • H6 : use more coasting [2]; • H7 : too aggressive on throttle [13]; • H8 : reduce speed [1]. Due to space constraints, only the first five hints will be explained here. 1) H1 = ”nothing to point”: the likelihood of the first (non) hint, is relatively easy to evaluate, using, for example, the fuel consumption rating (see Table II(a)). 2) H2 = ”switch off engine”: this hint can be straightforwardly assessed using the idle time feature, calculated in (2), (see fuzzy logic in Table II(b) and the fuzzy sets considered for the Idl variable in Figure 4(a)) 3) H3 = ”shift gear early”: according to references [1], [2], gear shifting before the engine reaches r = 2500 rpms (r = 2000rpms in the case with diesel engines) is highly beneficial to improve the energy efficiency of vehicles with manual transmission. As the gear shift information is not available in all vehicles, it becomes necessary to infer this event using only the engine’s revs. To this end, consider the discrete derivative of the signal r: δr[k] =

r[k] − r[k − 1] , Ts

k = 2, . . . , N

observation, we can identify the time-instants where an ”up shift” happened:  S = j ∈ {2, . . . , N }, s.t. δr[j − 1] ≤ −∆r (9)

(8)

where Ts is the sampling rate. It is a well-known fact that a gear change introduces a significant discontinuity in the signal r, resulting in high values of |δr|. Based on this

Having the number of excessive gearshifts (#S G ) we can now employ simple fuzzy logic, described in Table II(c) and Figure 4(a), to infer the likelihood of hint H3 . 4) H4 = ”Accelerating too high”: another useful hint to improve the fuel economy is to smoothly accelerate the vehicle until it reaches the desired cruising speed [1], [2]. With this suggestion in mind, consider the existence of an upper acceleration value a, which is the limit for an efficient driving ( e.g. [15] suggests a = 2 m/s2 ). Furthermore, consider also the number of times the vehicle exceeded the threshold a, over windows of ∆T samples (15s in this work):  SA = k ∈ [∆T, 2∆T, . . . , N∆ ∆T } s.t. ∃j ∈ [k − ∆T, k], a[j] > a (11) where N∆ ∆T is temporal length of the evaluation. As shown in Table II(d), the number of excessive accelerations (#S A ) will be the main source of information to infer the (fuzzy) likelihood of hint H4 . 5) H5 = ”Deceleration too high”: this hint can be implemented similarly to H4 , but considering a lower threshold a, which is the deceleration limit for an efficient braking (e.g. [15] suggests a = −3m/s2 ). Table II(e) contains the fuzzy rules for evaluating this suggestion, where S B is the number of excessive decelerations, calculated similarly to (11). 6) Hint Selector: After evaluating the likelihood of each hint, the final step consists in selecting the most appropriate suggestion to show to the driver. To that end, the (fuzzy) likelihood values are defuzzified, with the help of a centeraverage method, generating a set of crisp values: p1 , p2 , . . . , pnh

(12)

where pi corresponds to the (crisp) likelihood of the hint Hi , i = 1, . . . , nh . Naturally, the suggestion with highest likelihood:   Hi∗ = arg maxi∈{1,...,nh } pi (13) will be the one shown to the driver. IV. I MPLEMENTATION AND E XPERIMENTAL E VALUATION The smartphone used to test and develop the application was a Samsung Nexus S paired with an unbranded Bluetooth OBDII adapter available in several online retailers for a low price. Developing for a smartphone is very different of developing for a general-purpose computer, as there are more constraints, such as, memory available for each application, processing power and energy consumption. An Android program is also different from a regular C/C++ program where there is usually

1008

Activities

stores profiles

report connection status

retrieves data for evaluation

Logger Service

report ECU data

Torque Service

stores logging data

SQLite DB

Figure 5.

Architecture of the Android application.

one entry point, in Android, applications are constituted by components, which the two most important for our use case are the Activity and the Service. The Activity class is the base for any graphical class, and the Service is used for background tasks, the main differences between these two is that while the Activity code stops executing as soon the user starts using another application, the Service is allowed to continue until explicitly stopped. The application was divided between services and several activities (see Figure 5). The activities were in charge of several secondary tasks, such as setting up the profile and checking the previous reports, and the main one as to advise the driver with helpful tips and useful data that may not be present on his dashboard. As these components are only active and running when the user has the application visible, they are not used to do the logging and to execute the evaluation algorithms (i.e. h1 , h2 and h3 classifiers). For these latter tasks, we created a service that runs in the background; it is responsible for requesting data at a fixed interval and to store it, in a way that is easily available to the graphical components. There is also another service provided by Torque Pro program [9] which is connected to our application and from which we request new data from the car’s ECU.

Figure 6.

(a)

(b)

(c)

(d)

Graphical interface provided by the driving coach application.

Reports, shows recent reports produced at the end of each trip, with a summary of the driving history.

A. Graphical Interface

B. Experimental Validation

In this section, it is presented the prototype of the application’s graphical interface, especially the design of the main features. There are four main views (see Figure 6): Profiles, Monitor, Stats and Reports. The first view, Profiles, has a list with the different profiles of the registered cars. The user can add a new profile using the icon in the upper right corner. The profile has relevant data for the classification of the car’s driving style, such as the consumption for each driving cycle supplied by the car manufacturer; only one profile can be active at the same time. The second view, Monitor, is the interface for the trip’s monitor. The classification and the tips for the driver, resulting from the classifiers h2 and h3 , respectively, are displayed here; in the bottom of the screen, there is a list with the instantaneous and average values of most important variables, which are updated in real time such as, speed, throttle and fuel consumption. The third view, Stats, presents the cumulative statistics of the several variables monitored by the application while travelling. The last view,

For preliminary evaluation of the proposed application, several driving tests were conducted in a minivan vehicle (Volkswagen Sharan) with diesel engine. From these results, a typical journey of 4000s was selected for analysis and depicted in Figure 7. As can be seen in the top plot, this representative journey covers different driving conditions (Urban, Combined and Highway), which are correctly recognized by the h1 classifier. Next, inspecting the normalized consumption N C of the vehicle, one can also find that, throughout the trip, this indicator presents frequently a low value, which induces good rating evaluations: the h2 classifier is often close to the maximum rating (four). The degradation in the fuel efficiency is mainly concentrated in the zones where the normalized consumption N C raises considerably above one (e.g. around 500, 1500, 3400s). It is interesting to note that during these periods, generally related with vehicle’s strong accelerations, the driving coach application recommends gear shifting with lower engine revs (hint 3), and to be more smooth on the

1009

V. C ONCLUSIONS speed [km/h]

150

v h1

100 h1=H

50 0

In this paper, a smartphone application for evaluating the driving fuel efficiency was presented. The proposed method relies on three fundamental modules. The first module is responsible for detecting the driving conditions of the vehicle using, for this purpose, a linear discriminant based on the vehicle velocity. This identified driving condition, together with the consumption metrics, serves as the main inputs for the second module: a fuzzy-evaluator of the vehicle fuel consumption. With the intention of improving the driver pattern behaviour and the vehicle fuel efficiency, the third module determines, in real-time, a useful suggestion to be shown to the driver. Implementation and experimental validation in an Android smartphone was also performed. As future work, we intend to evaluate the impact on the vehicle fuel consumption of coaching the driver with the fuel-efficient hints.

h1=U

h1=C 500

1000

1500

2000

2500

3000

3500

4000

500

1000

1500

2000

2500

3000

3500

4000

4000

r [rpm]

3000 2000 1000

comsump. [l/100km]

0

c ck*

20 15

R EFERENCES

10 5 0

500

1000

1500

2000 2500 time [s]

3000

3500

4000

NC h2 4

[−]

3 2 1 0

500

1000

1500

2000

2500

3000

3500

4000

likelihood

100

p1 p2 p3

50

p4 p5 0

500

1000

1500

2000

2500

3000

3500

4000

500

1000

1500

2000 2500 time [s]

3000

3500

4000

Hint Number

5 4 3 2 1

Figure 7.

Experimental validation of the driving coach application.

vehicle’s acceleration (hint 4). Although less common, the ”deceleration too high” warning (hint 5) is only shown once, while switch off engine (hint 2) is pointed out in the end of the journey.

[1] Toyota, “Numerous Benefits of Eco Driving,” 2009. [2] “Overview on the Status of Ecodriving Integration in Driver Education and Testing,” Ecodrive Project, Tech. Rep., 2010. [3] M. Lan, M. Rofouei, S. Soatto, and M. Sarrafzadeh, “SmartLDWS: A robust and scalable lane departure warning system for the smartphones,” in 12th International IEEE Conference on Intelligent Transportation Systems, 2009. [4] D. A. Johnson and M. M. Trivedi, “Driving style recognition using a smartphone as a sensor platform,” in 14th International IEEE Conference on Intelligent Transportation Systems (ITSC), 2011. [5] J. Zaldivar, C. T. Calafate, J. C. Cano, and P. Manzoni, “Providing accident detection in vehicular networks through OBD-II devices and Android-based smartphones,” in IEEE 36th Conference on Local Computer Networks (LCN), 2011. [6] C. Thompson, J. White, B. Dougherty, A. Albright, and D. C. Schmidt, “Using smartphones to detect car accidents and provide situational awareness to emergency responders,” in MOBILWARE, 2010. [7] E. Koukoumidis, L.-S. Peh, and M. Martonosi., “SignalGuru: Leveraging Mobile Phones for Collaborative Traffic Signal Schedule Advisory,” in The 9th International Conference on Mobile Systems, Applications, and Services (MobiSys), 2011. [8] N. D. Pham, R. K. Ganti, S. Nangia, T. Pongthawornkamol, S. Ahmed, T. F. Abdelzaher, M. Heo, Jin; Khan, and H. Ahmadi, “Fueoogle: A Participatory Sensing Fuel-Efficient Maps Application,” University of Illinois, Urbana-Champaign, Tech. Rep., 2009. [9] I. Hawkins, “Torque Pro,” in Android Market [https://market.android.com/details?id=org.prowl.torque], 2012. [10] H. Xi, T. Ying, and H. Xingui, “An Intelligent Multifeature Statistical Approach for the Discrimination of Driving Conditions of a Hybrid Electric Vehicle,” IEEE Transactions on Intelligent Transportation Systems, vol. 12, no. 2, pp. 453–465, 2011. [11] T. J. Barlow, S. Latham, I. S. McCrae, and P. G. Boulter, “A reference book of vehicle driving cycles for use in the measurments of road vehicles emissions,” TRL Limited, Tech. Rep., 2009. [12] J. T. Spooner, M. Maggiore, R. Ordonez, and K. M. Passino, Stable Adaptive Control and Estimation for Nonlinear Systems: Neural and Fuzzy Approximator Techniques. John Wiley and Sons, Inc., 2002. [13] J. Van Mierlo, G. Maggetto, E. Van de Burgwal, and R. Gense, “Driving style and traffic measures-influence on vehicle emissions and fuel consumption,” Proceedings of the Institution of Mechanical Engineers, Part D: Journal of Automobile Engineering, vol. 218, no. 1, pp. 43–50, 2004. [14] M. van der Voort, M. S. Dougherty, and M. van Maarseveen, “A prototype fuel-efficiency support tool,” Transportation Research Part C: Emerging Technologies, vol. 9, no. 4, pp. 279–296, 2001. [15] C. van Driel, F. Tillema, and M. van der Voort, “Directives for newgeneration Fuel Economy Devices,” Tech. Rep., 2002.

1010