*4.2. Implementing A-ECMS and Hardware-in-the-Loop Experiments*

In the hardware-in-the-loop experiments the engine and the PSS are the physical hardware, and the vehicle, the driver, and the battery are models coded in RPECSTM. The AC dynamometer is programmed to play the role of the vehicle body and follow a drive cycle speed profile. In these experiments the driver model issues an accelerator or brake pedal based on the vehicle velocity tracking error. From this command the energy management system and the low-level controllers compute the actuator positions for the engine, dynamometer, and the PSS, including the throttle position (*u<sup>d</sup> θ* ), motor torque (*τ<sup>d</sup> m*), the PSS brake command (*u<sup>d</sup>* br), the supercharger bypass command (*u<sup>d</sup>* bp), and the engine speed (*ω<sup>d</sup> <sup>e</sup>* ). The produced crankshaft torque (*τ*ˆcrk) is measured and fed back into the vehicle longitudinal dynamics to calculate the next vehicle speed. This feedback system, presented also in Figure 10, permits velocity tracking and an accurate drive cycle fuel economy measurement. Note that the AC dynamometer can track either a desired speed or a desired torque profile. The torque tracking mode is not always safe because, in this case, the crankshaft speed is determined by the torque balance between the engine and the dynamometer. Operating in this mode in case of a subsystem failure, communication delay, or software bug can result in over speeding the engine, damage, or complete destruction. Therefore, in this work the dynamometer was always used in the speed control mode, and as shown later in the experimental results, the dynamometer controller did an impeccable job in tracking the engine speed set point. The following sections present HIL implementation for the two propulsion modes, locked and unlocked torque converter. All models and the energy management system are implemented in a 5 ms loop in RPECSTM.

**Figure 10.** Hardware-in-the-loop (HIL) implementation.

#### 4.2.1. Hardware-in-the-Loop Implementation for Locked Torque Converter

When the torque converter (TC) is locked, the vehicle speed is computed from the longitudinal vehicle dynamics and the measured crankshaft torque as follows:

$$M\frac{d}{dt}\upsilon = F\_t - F\_b - F\_l\tag{10}$$

$$F\_t = \frac{1}{R\_w} (i\_\mathcal{J}\hat{\mathbf{r}}\_{\text{crk}} - \eta\_{\text{loss}}) \tag{11}$$

$$
\omega\_{\varepsilon}^{d} = \frac{v}{i\_{\S} R\_{w}} \tag{12}
$$

where *M* is the vehicle mass, *v* is the vehicle velocity, *Ft* is the traction force, *Fb* is the braking force, *Fl* is the road load, *ig* is the gear ratio, *τ*loss is torque loss in the transmission, *Rw* is the wheel radius, and *ω<sup>d</sup> <sup>e</sup>* is the engine speed computed from the vehicle speed and fed back into the dynamometer. The details of the vehicle and transmission models are presented elsewhere [14].

The requested tractive torque, *τ<sup>d</sup>* trc, when the accelerator pedal is active is linearly mapped to the pedal position, *u*acc:

$$
\tau\_{\rm trc}^d = \mu\_{\rm acc} (\tau\_{\rm c,B}^{\rm max} - \tau\_{\rm c}^{\rm min}) + \tau\_{\rm c}^{\rm min} \tag{13}
$$

where *τ*min *<sup>e</sup>* is the minimum engine torque, and *τ*max *<sup>e</sup>*,B is from Figure 4. The requested braking torque on the gearbox inlet shaft, *τ<sup>d</sup>* brk, is computed from the brake pedal position, *u*brk produced by the driver model:

$$
\tau\_{\text{brk}}^d = \frac{u\_{\text{brk}} \tau\_{\text{brk}}^{\text{max}}}{i\_\%} \tag{14}
$$

where *τ*max brk is the maximum braking torque on the wheels.

The PSS optimal mode, *u<sup>d</sup>* br, during traction (which is *<sup>τ</sup><sup>d</sup>* crk > 0) and the optimum motor torque in torque assist mode, *τd*,TA *<sup>m</sup>* , are computed offline and stored in look up tables based on the requested crank torque, the measured engine speed, and the equivalence factor:

$$
\mu\_{\rm br}^d = \Gamma \left( \tau\_{\rm crk}^d, \hat{\omega}\_{\varepsilon}, a\_{\rm cq} \right) \tag{15}
$$

$$
\pi\_{\rm m}^{d, \rm TA} = \Lambda(\pi\_{\rm crk}^d, \hat{\omega}\_{\rm c}, a\_{\rm eq}) \tag{16}
$$

The desired engine torque is

$$\tau\_{\mathbf{c}}^{d} = \begin{cases} \tau\_{\text{crk}}^{d} & \text{if} \quad u\_{\text{br}}^{d} = 0\\ \tau\_{\text{crk}}^{d} - \tau\_{m}^{d, \text{TA}} \frac{(\mathcal{g}\_{\text{R}} + \mathcal{g}\_{\text{S}}) n\_{\text{im}} n\_{\text{ri}}}{\mathcal{g}\_{\text{R}}} & \text{if} \quad u\_{\text{br}}^{d} = 1. \end{cases} \tag{17}$$

Finally, the desired intake manifold pressure is computed from the engine speed and the desired engine torque:

$$p\_{\rm im}^d = \Xi(\tau\_\varepsilon^d, \omega\_\varepsilon). \tag{18}$$

When the desired manifold pressure is less than the ambient pressure the supercharger is bypassed (*u<sup>d</sup>* bp = 1) and the intake throttle is used to control the intake manifold pressure, while when the desired intake manifold pressure is higher than the ambient pressure the throttle is wide open and the supercharger speed is controlled by the motor to achieve the desired intake manifold pressure. Both the throttle controller and the supercharger speed controller are feedforward PI controllers. The supercharger speed controller has an inner PI controller to manipulate the motor torque to achieve the desired supercharger speed. The details of the low-level controllers are presented elsewhere [14].

The motor torque during regenerative braking, *τd*,Reg *<sup>m</sup>* , is computed by

$$\tau\_{m}^{d, \text{Reg}} = \max(\tau\_{crk}^{d} \frac{\mathcal{S}\mathcal{R}}{(\mathcal{g}\_{\mathcal{R}} + \mathcal{g}\_{\mathcal{S}})n\_{\text{im}}n\_{\text{ri}}}, \tau\_{m}^{\text{min}}) \tag{19}$$

where *τ*min *<sup>m</sup>* is the minimum motor torque shown in Figure 5. The PSS mode is set to torque assist mode during braking. Note that Equation (19) is the solution to Optimization (2) since simultaneous generation from the engine and regenerative braking is prohibited in here (*τ<sup>e</sup>* = *τ*min *<sup>e</sup>* during braking). Finally, the commanded motor torque, *τ<sup>d</sup> m*, comes from either the PI controller (*τd*,PI *<sup>m</sup>* ), regenerative braking, or the torque assist (from A-ECMS) depending the PSS mode and the requested tractive torque sign:

$$\tau\_{\mathsf{m}}^{d} = \begin{cases} \tau\_{\mathsf{m}}^{d, \mathsf{Pl}} & \text{if } \qquad \mathsf{u}\_{\mathsf{br}}^{d} = 0 \\ \tau\_{\mathsf{m}}^{d, \mathsf{TA}} & \text{if } \quad \mathsf{u}\_{\mathsf{br}}^{d} = 1, \tau\_{\mathsf{trc}}^{d} \ge 0 \\ \tau\_{\mathsf{m}}^{d, \mathsf{CGen}} & \text{if } \quad \mathsf{u}\_{\mathsf{br}}^{d} = 1, \tau\_{\mathsf{trc}}^{d} < 0 \end{cases} \tag{20}$$

4.2.2. Hardware-in-the-Loop Implementation for Unlocked Torque Converter

When the torque converter is unlocked, there is no mechanical coupling between the engine and the wheels. However, in order to use the dynamometer in the speed control mode with an unlocked torque converter, it is assumed that the engine speed is equal to its idling speed when the TC unlocks (*ω<sup>d</sup> <sup>e</sup>* = *ωe*,idle). The minimum engine torque to hold the idle speed is calculated from the torque converter K-factor (*K*) and torque ratio (TR), which are functions of turbine to pump speed ratio (SR):

$$\text{SR} = \frac{\omega\_{\text{bct}}}{\omega\_{\text{tcp}}} \tag{21}$$

$$
\pi\_{\rm cp} = \left(\frac{\omega\_{\rm tcp}}{K}\right)^2 \tag{22}
$$

$$
\tau\_{\text{tct}} = \tau\_{\text{tcp}} \times \text{TR} \tag{23}
$$

where *ω*tct is the torque converter turbine speed, *τ*tct is the turbine torque, *τ*tcp is the pump torque, and *ω*tcp is the pump speed. Given that *ω*tcp is equal to the engine idling speed when the torque converter unlocks, the minimum torque on the crankshaft when the turbine speed drops to less than engine idling speed can be computed as a function of turbine speed, *τ*∗ tcp(*ω*tct). Accordingly, the minimum torque on the crankshaft, *τ*min crk , is computed by

$$
\tau\_{\rm crk}^{\rm min} = \begin{cases}
\quad \tau\_{\rm tcp}^{\*} (\omega\_{\rm bct}) & \text{if} \quad \omega\_{\rm bct} \le \omega\_{\rm c, \rm jdle} \\
& -\infty & \text{otherwise.}
\end{cases}
\tag{24}
$$

The requested torque on the crankshaft is

$$
\tau\_{\rm crk}^d = \max \left( \tau\_{\rm trc}^d, \tau\_{\rm brk}^d, \tau\_{\rm crk}^{\rm min} \right). \tag{25}
$$

Equation (25) imposes some positive torque demand on the crankshaft at low vehicle speed to maintain the engine idling speed, and it disables regenerative braking under these conditions. Similar to the locked torque converter case, Equations (15)–(18) and (20) are used to determine *u<sup>d</sup> θ* , *τd <sup>m</sup>*, *u<sup>d</sup>* bp, and *<sup>u</sup><sup>d</sup>* br in this mode. The engine speed is set equal to the idling speed, *<sup>ω</sup><sup>d</sup> <sup>e</sup>* = *ωe*,idle, and (11) has to be corrected to include the torque converter torque ratio,

$$F\_t = \frac{1}{R\_w} (i\_\text{\textdegree\textdegree\textdegree TR} \times \text{TR} - \text{\textdegree\textdegree\textdegree TR}\_{\text{loss}}).\tag{26}$$

#### 4.2.3. Engine Start-Stop

In a vehicle the engine is connected to the transmission, and the transmission clutch is open during engine starts. On the engine dynamometer the engine is permanently connected to the dynamometer with a large inertia. Therefore, it is not possible to mimic the engine start-stops with a dynamometer. To emulate the start-stop behavior, the stopped portions of the drive cycle, where the engine is turned off, are removed from the velocity profile for the vehicle with the PSS, and a fuel penalty is added for each start-stop event. The next section shows the resulted velocity profiles in addition to other experimental results.

#### **5. Experimental Results**

Figure 11 shows the velocity tracking for FTP75 drive cycle from the HIL experiments for the baseline turbocharged engine and the engine when the PSS replaces the turbocharger. In addition to the vehicle speed and reference speed, *v*ref, the standard minimum velocity threshold , *v*min, is also plotted, showing that both engines successfully follow the cycle profile. The following sections document the fuel consumption and PSS operation details during the HIL experiments.

**Figure 11.** Velocity tracking during hardware-in-the-loop experiments, (**a**) vehicle with turbocharged engine, (**b**) vehicle with the PSS, stopped portions of the cycle removed to emulate start-stop.

#### *5.1. Fuel Consumption Reduction with PSS*

Table 1 summarizes the experimental fuel consumption (FC) results along with the predicted global minimum fuel consumption, produced with DP and a simplified vehicle model. The gearshifts of the baseline turbocharged engine are also optimized by DP in results shown in the first row of Table 1. The same gearshift strategy is used for the turbocharged engine and the engine with PSS during experiments. DP predicts that the engine with the PSS consumes 22.8% less fuel compared to the turbocharged engine. The HIL experiments were repeated three times for the PSS and two times for the baseline turbocharged engine, and the mean FC values are reported in the table. The FC values varied from 5.92 to 5.99 l/100 km for the engine with PSS and from 7.20 to 7.37 l/100 km for the turbocharged engine. The HIL experiments show that the engine with the PSS consumed 18.4% less fuel compared to the baseline turbocharged engine on average, which is only 4.4% higher than the global minimum FC from DP. This result substantiates the effectiveness of the implemented energy management system considering that A-ECMS does not use any preview information and only minimizes its cost function at a current time step. There is some offset between the absolute values of FC in simulations versus experiments. The reason is that the simulations use a fuel consumption map produced by GT-Power simulations, which is shown to accurately predict the fuel consumption variation with load and speed and between different engine configurations, but has a constant offset compared to the experimentally measured fuel consumption [14].

Figure 12a shows the battery state of charge (SoC) variation during the HIL experiment. Starting from 50% SoC, the battery SoC maintained between 44% to 51% during the experiment, showing the possibility of further battery size and system cost reduction. Figure 12b shows the equivalence factor. The adaptation rule (9) can keep the SoC between 40% and 60%, but still the initial value of *α*eq(0) was tuned to get a final SoC value close to 50%. Finally, the fuel mass was corrected as follows to account for the small ΔSoC between the start and end of the cycle,

$$\mathcal{W}\_f^{\text{cor}} = \mathcal{W}\_f + lIC\_n\hbar\_{\text{eq}}\Delta SoC \tag{27}$$

where *Wf* is the fuel mass, *W*cor *<sup>f</sup>* is the corrected fuel mass, *U* is the battery open circuit voltage, *Cn* is the battery capacity, and *α*¯ eff is the average equivalence factor during the experiment from Figure 12b.

**Figure 12.** The battery state of charge and A-ECMS equivalence factor variation during experiments, (**a**) state of charge, (**b**) equivalence factor.
