U.S. Department of Transportation
Federal Highway Administration
1200 New Jersey Avenue, SE
Washington, DC 20590
202-366-4000


Skip to content
Facebook iconYouTube iconTwitter iconFlickr iconLinkedInInstagram

Federal Highway Administration Research and Technology
Coordinating, Developing, and Delivering Highway Transportation Innovations

 
SUMMARY REPORT
This summary report is an archived publication and may contain dated technical, contact, and link information
Back to Publication List        
Publication Number:  FHWA-HRT-18-037    Date:  September 2017
Publication Number: FHWA-HRT-18-037
Date: September 2017

 

Eco-Drive Experiment on Rolling Terrain for Fuel Consumption Optimization

Chapter 3. Vehicle Control Formulation and Design

This section introduces the two speed controllers used in our experiment. The first is an upper-level controller that is responsible for trajectory planning to generate optimal speed profiles. The other is a secondary controller that adjusts speed commands in real time for enhanced performance and contains a classic proportional-integral-derivative (PID) controller for vehicle speed following. The recommended speed profiles generated from the upper-level controller will be filtered by the secondary controller and sent to the vehicle for execution.

UPPER-LEVEL CONTROLLER – TRAJECTORY PLANNING FOR OPTIMAL SPEED PROFILES

This section describes the formulation of the vehicle upper-level controller. The controller optimizes vehicle fuel efficiency, mobility, and comfort. The inputs for this controller are the vehicle’s current speed and location together with the future road’s altitude and dynamic speed limit. The output of this controller is an optimal acceleration/speed trajectory.

State Explanation

In this experiment, a system of one single vehicle is considered. The system’s state vector x is defined as a vector consisting of the distance from the trip origin and the vehicle’s instant speed, as seen in equation 1.

This equation gives the state vector of the vehicle as a function of time, or bold x of t. Bold x of t consists of two elements. The first element of bold x of t is the vehicle's distance from the origin as a function of time (x subscript one of t). The second element of bold x of t is the vehicle's instantaneous speed as a function of time (x subscript two of t). The elements are arranged in a row vector in brackets and the transpose is taken (open bracket x subscript one of t and x subscript two of t close bracket superscript T).

(1)

Where:

x1(t) = the distance from the origin (m).

x2(t) = the vehicle’s instant speed (m/s).

The state dynamics are defined in equation 2.

This equation gives the state dynamics as a function of time, or bold x dot of t, which is a function of the state vector and the vehicle's acceleration, or f of bold x, u subscript one. Bold x dot of t consists of two elements. The first element of bold x dot of t is the vehicle's instantaneous speed as a function of time, (x subscript two of t). The second element of bold x dot of t is the vehicle's acceleration as a function of time (u subscript one of t). The elements are arranged in a row vector and the transpose is taken (open bracket x subscript two of t and u subscript one of t close bracket superscript T).

(2)

Where

u1(t) = the controlled acceleration for the test vehicle.

Cost Function

The cost function J is defined in equation 3.

This equation gives the cost function for the system, or J. To calculate J, the terminal cost as a function of the vehicle state vector at the end of the route (Psi of bold x of capital T) is added to the integral of the running cost as a function of the vehicle state vector and the vehicle acceleration taken over the time of the experiment (integral from t subscript zero to t subscript zero plus capital T of L of bold x, u subscript one times dt).

(3)

Where

ψ(x(T)) = terminal cost.

L(x,u1) = running cost.

Equation 4 describes the terminal cost and equation 5 describes the running cost.

This equation gives the terminal cost of the system as a function of the system state vector as a function of the duration of the experiment, or Psi of bold x of capital T. To calculate Psi as a function of bold x as a function of capital T, the product of the test road speed limit (v subscript l) and the sum of the initial time (t subscript zero) and the duration of the experiment (capital T) is subtracted from the distance from the origin as a function of the initial time and the duration of the experiment (x subscript 1 of t subscript zero plus capital T). That quantity is squared and multiplied by the first weighting factor (w subscript one) and added to the product of the second weighting factor (w subscript two) and the square of the test road speed limit (v subscript l) subtracted from the vehicle's instantaneous speed as a function of the initial time plus the duration of the experiment (x subscript two of t subscript zero plus capital T).

(4)

This equation gives the running cost of the system as a function of the system state vector and the vehicle acceleration, or capital L as a function of bold x, u subscript one. To calculate capital L as a function of bold x, u subscript one, the product of the third weighting factor (w subscript three) and the sum of the zeroth linear curve fitting coefficient (Beta subscript zero) and the product of the first linear curve fitting coefficient (Beta subscript one) and the requested power as a function of time (P subscript req of t) is added to the product of the fourth weighting factor (w subscript four) and the square of the test road speed limit (v subscript l) subtracted from the vehicle's instantaneous speed as a function of time (x subscript two of t). This quantity is added to the square of the vehicle's acceleration as a function of time (u subscript one of t).

(5)

Where

w1 and w2 and = large positive numbers that are used to limit vehicle’s final state.

w3, w4 = weighting factors, greater than 0, balancing mobility and fuel efficiency.

v1 = the test road’s speed limit (m/s).

With the inclusion of w1 and w2, the final cost ψ(x(T)) serves as a constraint on vehicle mobility. Therefore, the optimized speed profile is the most fuel efficient among all vehicle trajectories that have the same mobility as vehicles traveling at the speed limit. CostMobility, which is the squared difference between the desired speed profile and the speed limit, prevents the speed from deviating significantly from the speed limit. CostComfort encourages minimal speed change for drivability.

Costpower defines fuel consumption associated with a given vehicle power request Preq, as defined in equation 6.

This equation gives the vehicle power request as a function of time, or P subscript req of t. To calculate P subscript req of t, find the sum of the acceleration resistance, grade resistance, rolling resistance, and wind resistance. Acceleration resistance is the product of the mass of the vehicle (m) and the controlled acceleration of the vehicle as a function of time (u subscript 1 of t). Grade resistance is the product of the mass of the vehicle (m), gravity (g), and the sine of the terrain slope as a function of time (phi of t). Rolling resistance is the product of the rolling resistance coefficient (mu subscript r), the mass of the vehicle (m), gravity (g), and the cosine of the terrain slope as a function of time (phi of t). Wind resistance is half of the product of the drag coefficient (C subscript D), the density of air (rho subscript a), the vehicle frontal area (A), and the square of the vehicle speed as a function of time (x subscript two of t superscript two). The sum is multiplied by the vehicle speed as a function of time (x subscript 2 of t).

(6)

Where

m = mass of the vehicle.

g = gravity.

φ(t) = terrain slope (rad).

μr = rolling resistance coefficient.

CD = drag coefficient.

ρa = density of air (kg/m3).

A = the vehicle frontal area (m2).

ζ = the constant describing drag (kg/m).

When positive, Preq represents the summation of power spent on vehicle state change. When negative, Preq describes the power dissipated by the brakes or, in the case of a hybrid or electric vehicle, used to charge the battery. The coefficients (β0 and β1) of the Costpower model were acquired by fitting a linear equation representing power request against fuel consumption (Hu et al., 2016).

Vehicle Dynamic Model

The longitudinal vehicle dynamics model is shown in equation 7.

This equation gives the acceleration resistance of the vehicle as a function of time, or m u subscript one of t. To calculate m u subscript one of t, the sum of the grade resistance, rolling resistance, and wind resistance is subtracted from the thrust force (F subscript t). The grade resistance is the product of the mass of the vehicle (m), gravity (g), and the sine of the terrain slope as a function of time (phi of t). The rolling resistance is the product of the rolling resistance coefficient (mu subscript r), the mass of the vehicle (m), gravity (g), and the cosine of the terrain slope as a function of time (phi of t). The wind resistance is half of the product of the drag coefficient (C subscript D), the density of air (rho subscript a), the vehicle frontal area (A), and the square of the vehicle speed as a function of time (x subscript two of t superscript two).

(7)

Where

Ft is the thrust force.

Constraints and Initial Conditions

Acceleration constraint: To ensure the feasibility of acceleration commands given the brake condition and engine maximum power constraints, the maximum acceleration is set as (Fmax - FR)/m m/s2, and maximum deceleration is set as -5 m/s2. Fmax is the maximum thrust force of the powertrain and FR is the summation of the three resistant forces (see equation 7). Note that this acceleration constraint is solely for the eco-drive controller. When a safety hazard arises, collision prevention applications can overrule this constraint and provide much greater deceleration. This constraint can be expressed as a permissible set of acceleration, shown in equation 8.

This equation gives the acceleration constraint for the eco-drive controller, or U subscript v. U subscript v is equal to the vehicle acceleration (u subscript 1) such that the acceleration as a function of time (u subscript 1 of t) is greater than the minimum acceleration (u subscript min) and is less than the maximum acceleration (u subscript max) for all values of time (t) between the initial time (t subscript zero) and the initial time (t subscript zero) plus the duration of the experiment (capital T).

(8)

Speed constraint: Due to safety considerations, the speed change range is predetermined. In this study, maximum speed is 4.48 m/s (10 mph) above the speed limit and minimum speed is 4.48 m/s (10 mph) below the speed limit. This constraint is specified in equation 9.

This equation gives the speed constraint for the eco-drive controller, or V subscript v. V subscript v is equal to the vehicle speed (x subscript two) such that the speed as a function of time (x subscript 2 of t) is greater than the minimum speed (v subscript min) and is less than the maximum speed (v subscript max) for all values of time (t) between the initial time (t subscript zero) and the initial time (t subscript zero) plus the duration of the experiment (capital T).

(9)

Vehicle dynamic constraints: The dynamics of the vehicle should follow the laws of physics, specifically those defined in equation 2.

The initial conditions are shown in equations 10 and 11.

This equation gives the initial condition for the vehicle distance from the origin at time zero, or x subscript one of t subscript zero. x subscript one of t subscript zero simply equals the initial position of the vehicle (x subscript zero).

(10)

This equation gives the initial condition for the vehicle speed at time zero, or x subscript two of t subscript zero. x subscript two of t subscript zero simply equals the initial velocity of the vehicle (v subscript zero).

(11)

Solution Based on Pontryagin’s Minimum Principle (PMP)

In general, PMP entails defining the Hamiltonian H as shown in equation 12.

This equation gives the Hamiltonian as a function of the current state vector of the vehicle, the controlled acceleration vector of the vehicle, the gradient vector of the total cost-to-go of the state, and time, or H of bold x, bold u, bold lambda, t. To calculate H of bold x, bold u, bold lambda, t, the product of the gradient vector of the total cost-to-go (bold lambda superscript T) and the function of the current state vector, the controlled acceleration vector, and time (f of bold x, bold u, t) is added to the running cost as a function of the current state vector, the controlled acceleration vector, and time (L of bold x, bold u, t).

(12)

Where

λ = the gradient of the total cost-to-go of the state x.

In other words, λ is the extra cost of J caused by a small change ∂x on the state x. λ is also known as the co-state. According to PMP, for all control values that fall within the parameters of permissible controls set U, the optimal control u* must satisfy the requirements in equation 13.

This inequality gives the Hamiltonian law for the system as a function of the optimal state vector, the optimal control vector, the optimal co-state vector, and time, or H of bold x star, bold u star, bold lambda star, t. H of bold x star, bold u star, bold lambda star, t is less than or equal to the Hamiltonian of bold x star, bold u, bold lambda star, t for all values of bold u that are members of capital U and for all values of t that are members of the set from open bracket t subscript zero to t subscript 0 plus capital T close bracket.

(13)

The above Hamiltonian law could be expressed alternatively as the necessary conditions in equation 14.

Equation 14i: This equation gives the first necessary condition based on the Hamiltonian law, or zero equals the partial derivative of H with respect to u prime. Equation 14ii: This equation gives the second necessary condition based on the Hamiltonian law, or bold lambda dot equals the negative of the partial derivative of H with respect to x prime. Equation 14iii: This equation gives the third necessary condition based on the Hamiltonian law, or bold x dot equals the partial derivative of H with respect to lambda.

(14)

Equation 14(iii) is equivalent to the vehicle dynamics. Equations 14(i) and 14(ii) serve to solve for optimal control. For vehicle-level optimization, substitute Hamiltonian H with the cost function of this study, shown in equation 15.

This equation gives the Hamiltonian law with substitutions for vehicle-level optimization, or H. H equals bold lambda superscript T times bold x dot of t plus L. This also equals the product of lambda subscript one of t and x subscript two of t plus the product of lambda subscript two of t and u subscript one of t plus the product of w subscript three and open bracket open parenthesis product of m and u subscript 1 of t; plus the product of m, g, and sine of phi; plus the product of m, g, cosine of phi, and mu subscript r; plus the product of zeta and the square of x subscript two of t, close parenthesis, times the product of beta subscript one and x subscript two of t, plus beta subscript zero close bracket, plus the product of w subscript four and the square of open parenthesis x subscript two of t minus v subscript l close parenthesis, plus the square of u subscript one of t.

(15)

Applying the condition in equation 14(i) to the cost function gives equation 16.

This equation gives the cost function with the first necessary condition applied as a function of the state vector, vehicle acceleration and the co-state vector, or del H over del u of bold x, u subscript one, bold lambda). Del H over del u of bold x, u subscript one, bold lambda equals lambda subscript two of t plus the product of w subscript three, m, beta subscript one, and x subscript two of t, plus the product of two and u subscript one of t. This also equals zero.

(16)

Equation 16 can be rearranged to provide the control law in equation 17.

This equation gives the vehicle acceleration as a function of time, or u subscript one of t. U subscript one of t equals half of the negative of the sum of lambda subscript two of t and the product of w subscript three, m, beta subscript one, and x subscript two of t.

(17)

Applying the condition in equation 14(ii) to the cost function gives equations 18 and 19.

This equation gives the cost function with the second necessary condition applied to the first co-state variable, or lambda dot subscript one. Lambda dot subscript one equals lambda subscript one of t plus dt minus lambda subscript one of t. This equals the negative of del H over del x subscript one as a function of bold x, u subscript one, and bold lambda, times dt. This equals zero.

(18)

This equation gives the cost function with the second necessary condition applied to the second co-state variable, or lambda dot subscript two. Lambda dot subscript two equals lambda subscript two of t plus dt minus lambda subscript two of t. This equals the negative of del H over del x subscript two as a function of bold x, u subscript one, and bold lambda times dt. This equals the negative of lambda subscript one of t times dt minus open curly bracket w subscript three times open bracket beta subscript one times open parenthesis the product of m and u subscript one of t plus the product of m, g, and sine of phi, plus the product of m, g, cosine phi, and mu subscript r, close parenthesis, plus the product of three, beta subscript one, zeta, and the square of x subscript two of t close bracket, minus two times w subscript four times open parenthesis x subscript two of t minus v subscript l close parenthesis, close curly bracket, times dt.

(19)

To enforce the desired final state x(t0 + T) to ensure the mobility of the optimized vehicle, the final condition for λ (defined in equation 20) needs to be met.

This equation gives the desired final condition of the co-state vector, or bold lambda of t subscript zero plus capital T. Bold lambda of t subscript zero plus capital T equals the partial derivative with respect to bold x of Psi as a function of bold x as a function of t subscript zero plus capital T.

(20)

Expanding equation 20 gives equations 21 and 22.

This equation gives the final condition for the first co-state, or lambda subscript one of t subscript zero plus capital T. Lambda subscript one of t subscript zero plus capital T equals the product of two, w subscript one, and open parenthesis x subscript one of t subscript zero plus capital T minus v subscript l of t subscript zero plus T, close parenthesis.

(21)

This equation gives the final condition for the second co-state, or lambda subscript two of t subscript zero plus capital T. Lambda subscript two of t subscript zero plus capital T equals the product of two, w subscript two, and open parenthesis x subscript two of t subscript zero plus T minus v subscript l, close parenthesis.

(22)

Iterative PMP Solving Process

To solve the aforementioned problem for optimal vehicle speed control, a numerical solution is adopted here (Hoogendoorn et al., 2012). The main idea is to find state x in a forward pass (utilizing the λ from the previous iteration) and then find λ in a backward pass. The procedure is summarized in the following:

  1. Assume the initial state of co-state Λ(0)(t) = 0 for t ∈[ti,ti+1].
  2. Start the iteration loop.
  3. Solve the state dynamic equations forward in time for x(n)(t) using Λ(n-1) computed from the previous iteration. All constraints apply. Altitude and speed limit are updated according to the vehicle’s actual speed and position.
  4. Solve for the co-state λ(n)(t) backward in time utilizing x(n)(t) from the previous step.
  5. Update the co-state Λ(n), given in equation 23, based on the co-state λ(n)(t) and the prior co-state Λ(n-1) from the previous iteration. Λ is a weighting factor that smooth the co-state updating process.
This equation gives the co-state for the system, or capital Lambda superscript n. To calculate capital Lambda superscript n, the weighting factor (alpha) is subtracted from one and the result is multiplied by the co-state for the system from the previous iteration (capital Lambda superscript n minus one). The result is added to the product of the weighting factor (alpha) and the gradient of the total cost-to-go of the state (lowercase lambda superscript n).

(23)

  1. Check for error magnitude. Stop the iteration until ‖Λ(n)λ(n)‖ < ∈max, otherwise loop back to step 3. ∈max is a preset error tolerance level.

SECONDARY SPEED CONTROLLER

The optimal trajectory obtained from the last section will be converted to a recommended speed profile and input into the vehicle secondary speed controller, as illustrated in figure 2. The vehicle secondary speed controller contains three main components: brake reduction, speed limit, and PID control.

This shows the block diagram of the secondary speed controller. The secondary speed controller takes three inputs, all at the far left of the graphic: test profile speed commands (labeled 1), current vehicle speed (labeled 2), and an enable signal (labeled 3). Arrows show how inputs flow through the controller (from left to right). The current vehicle speed is subtracted from the speed command to produce an error signal. This result is fed to a limiter block (labeled Overspeed coast). In parallel, an allowed overage of 5 is added to the speed command and the current speed is subtracted from the result and fed to a limiter block (labeled Overspeed brake). The output of the two limiter blocks is summed and the result is fed to a PID controller. The enable signal is fed into a comparison block (labeled antiWindup), compared with zero, and fed into the PID controller. The output of the PID block is the wrench effort command (labeled 1, far right of the graphic).

Source: FHWA
Figure 2. Vehicle secondary speed controller diagram.

Brake Reduction

It is very difficult for vehicles to precisely follow the recommended optimal speed profile, and thus it occurs quite frequently that the recommended speed is slightly less than the current speed. If no additional control logic is added, vehicles may brake frequently when going downhill, and this wastes a lot of the energy that should be transferred to kinetic energy as the speed increases. Some testing results even show negative benefits compared with cruise control because of the frequent braking. Therefore, additional control logic is included in figure 2 such that when the recommended speed is higher than the current actual speed, the actual speed is used as the updated speed command. This is implemented by limiting the error term that is used by the PID controller to only positive values.

Speed Limit

The reduction in braking may also lead to higher vehicle speeds. To reduce the possibility of unsafe speeds, the speed limit component restricts the maximum speed by a preset overage. This value can be any value as long as safe vehicle operation is guaranteed. In the case shown in figure 2, the allowed overage was set to 5 mph. Permitting a tolerant value above the speed limit may increase the benefits of eco-drive because it allows for the full transformation between potential and kinetic energy while maintaining an acceptable safety margin. The possibility of increased benefits is also based on the assumption that an automated vehicle has a shorter reaction time, and thus is able to travel faster. This limit on speed is implemented by allowing negative values for the error term that is used by the PID controller, but only if those values are more than the allowed overage below zero.

PID Control

Initial testing revealed that a badly tuned PID controller is detrimental to eco-drive effectiveness, and even consumes more fuel than cruise control in some cases. This is because poorly tuned PID parameters may cause frequent acceleration and deceleration as the controller attempts to drive the vehicle at the target speed. Energy is wasted while braking and more fuel is wasted during accelerations.

The parameters to be tuned are the proportional, integral, and derivative gains set in the Simulink PID block. The PID controller uses an error term that is the difference between the actual vehicle speed and the desired vehicle speed. The PID gains—kP, kI, and kD—are applied within the PID control block and a wrench effort command is generated. This command is applied to the lower-level vehicle controller. The wrench effort is a percentage between -100 and +100, where -100 to 0 percent loosely relates to braking in the range of -2.5 to 0 m/s2 and 0 to +100 percent loosely relates to acceleration in the range of 0 to 2.5 m/s2.

To estimate the PID gains, a Simulink model is constructed and used to develop an initial set of values. Further PID tuning is performed through a manual tuning process during the field experiment. The first step is to gradually increase kP until an oscillation is observed in the output, then this value of kP is halved. Next, kI is increased enough to minimize the steady-state output error. Finally, kD is increased until the step response of the loop is acceptable. These parameters are usually particular to the dynamics of the experimental vehicle system, and different studies need to tune their own PID gains because of different vehicular dynamics.

In a PID controller with nonzero kI, errors can accumulate while the PID controller is inactive, but the error signal is nonzero. This integrator windup is eliminated with an enable signal that is applied to the PID block. While the vehicle controller is inactive, the PID block is disabled and the output remains at zero. When the vehicle controller is activated, the PID operates normally.

During the field experiment, each speed command is associated with a GPS coordinate and corresponding circular geofence along the roadway. The vehicle PC constantly checks to see if the current location is within a geofence. If so, the vehicle will execute the new speed command. If not, the vehicle will keep following the last speed command. The interval between these commands and the size of the geofence need to be predetermined. Also, there is delay between the time when GPS data are received by the antenna and the time when the vehicle finishes executing the speed command (including vehicle response delay). It is necessary to account for this delay by advancing the time at which commands are sent to the vehicle. The question is how far in advance a speed command should be given to the vehicle such that the vehicle’s speed can be close to the optimal speed (i.e. speed command) when arriving at certain location. Another parameter that needs to be determined is maximum acceleration (a required input for the vehicle control system). Initial experiments were conducted, and multiple scenarios with combinations of these parameters were tested.

Federal Highway Administration | 1200 New Jersey Avenue, SE | Washington, DC 20590 | 202-366-4000
Turner-Fairbank Highway Research Center | 6300 Georgetown Pike | McLean, VA | 22101