This paper investigates the supervisory-level, fault tolerant control of a 2004 Prius powertrain. The fault considered is an interturn short circuit (ITSC) fault in the traction drive (a surface mount permanent magnet synchronous machine (SPMSM) for which its rotor is part of the vehicle's driveline). ITSC faults arise from electrical insulation failures in the stator windings where part of a phase winding remains functional while the remaining decoupled windings form a self-contained loop. Because the permanent magnets on the rotor (driveline) shaft are able to induce very large eddy currents in this self-contained loop if its rotational velocity is left unchecked, the maximum allowable driveline speed, and consequently, vehicle speed, must be reduced to avoid exceeding the drive's operational thermal limits. A method for detecting these ITSC faults and the induced eddy current in an SPMSM using a moving horizon observer (MHO) is reviewed. These parameters then determine which previously computed, fault-level-dependent SPMSM input–output power efficiency map and maximum safe operating speed is utilized by the supervisory-level controller. The fault tolerant control is demonstrated by simulating a Prius over a 40 s drive velocity profile with fault levels of 0.5%, 1%, 2%, and 5% detected at the midpoint of the profile. For comparison, the Prius is also simulated without a traction motor fault. Results show that the control reduces vehicle velocity upon detection of a fault to an appropriate safe value.

## Introduction

Hybrid electric vehicles, such as the Toyota Prius, use both an internal combustion engine (ICE) and electric machine, e.g., permanent magnet synchronous machine (PMSM), for propulsion. When a fault occurs in a PMSM, it commonly is an interturn short circuit (ITSC) in the stator windings [1]. Continued electrical excitation of the PMSM during a fault results in hot spots that may lead to fire [2,3]. Electrical excitation can result from the PMSM inverter as well as rotor spin due to vehicle movement. In the latter case, stopping the vehicle to eliminate excitation may leave the driver far from service or in an unsafe location.

A review of pertinent PMSM fault detection work is in Refs. [2,3]. With regards to PMSM fault mitigation after fault detection, actions are dividable into hardware reconfiguration and fault tolerant control [4]. Hardware reconfiguration usually requires some redundancy or additional component features that can be activated during a fault to reduce/bypass its effect. This approach requires additional hardware cost [5,6]. Fault tolerant control can be classified as either passive or active [5]. In the passive case, the control is designed to be robust to certain faults. In contrast, active control, initiated by a fault detection capability, modifies component operation to mitigate the effects of the fault. Past work in active fault tolerant control is primarily focused on using observers to replace information from faulty motor sensors [7–10]. However, modification of hybrid electric vehicle control strategies during a motor fault is considered in Phillips et al. [11] and Xu et al. [12]. In both works, vehicle operation is restricted in some way with respect to the fault, as for example, by reducing maximum allowable motor power. Neither of these works specify how variations in the level of motor fault are incorporated into the vehicle powertrain control.

Herein, a moving horizon observer is used to identify the presence of a fault and the fault level in a 2004 Toyota Prius traction PMSM. Given this fault information, the next objective is to develop fault mitigation controller strategies that allow PMSM-based hybrid vehicles to continue operation albeit at a substantially reduced level. Fault mitigation is carried out at the so-called supervisory level. A supervisory-level controller coordinates vehicle control by determining optimized power flows to the individual subsystems such as was explored in Refs. [13–15]. For example, for a diverse set of situations, the supervisory-level controller would determine how best to utilize the electric drive system in coordination with the ICE to meet driving objectives.

For efficient and feasible numerical optimization strategies, supervisory-level subsystem models are power flow based; specifically, the subsystem models are low granularity power flow component models that utilize efficiency maps as opposed to high-granularity models based on the underlying physics. In the case of the PMSM, such an efficiency map depends on whether or not the motor has a fault as well as on the degree of fault. An advantage of the “online” supervisory-level control is that it can adapt the controls to different fault levels as they occur without requiring an exhaustive library of precomputed controls.

This paper investigates: (i) the hybrid, i.e., switched system, supervisory control problem in the Toyota Prius; (ii) construction of efficiency maps and constraints for a PMSM with ITSC faults; (iii) work for PMSM ITSC fault detection using a moving horizon observer; and (iv) a high-level vehicle power flow control optimization strategy during both normal and ITSC fault operation.

## Prius Supervisory-Level Powertrain Description

Figure 1 shows the architecture of the 2004 Toyota Prius's hybrid powertrain with a 57 kW Atkinson-cycle ICE, a 21 kW nickel metal hydride (NiMH) battery pack, two SPMSMs,^{2} and a power split device (PSD) consisting of a planetary gear system that connects the power flow pathways of the ICE and SPMSMs. One SPMSM is for power generation and engine starting, labeled “SPMSM1,” with a maximum mechanical power of 30 kW and the other SPMSM is for traction and regenerative braking, labeled “SPMSM2,” with a maximum mechanical power of 50 kW.

Due to differing efficiency maps for SPMSM1 and SPMSM2 propelling and generating, the Prius architecture is modeled as a switched system with a finite set of “modes of operation.” Each mode represents a fixed configuration of power flow directions and is characterized by potentially different efficiency maps and dynamics: (i) SPMSM1 propelling (ICE start-up)-SPMSM2 propelling-battery discharging-ICE off; (ii) SPMSM1 generating-SPMSM2 propelling-battery discharging-ICE on; (iii) SPMSM1 generating-SPMSM2 propelling-battery charging-ICE on; and (iv) SPMSM1 generating-SPMSM2 generating-battery charging-ICE on or off.

In the remainder of this paper, we will consider an ITSC fault only occurring in SPMSM2, i.e., no faults occur in SPMSM1. SPMSM1, and SPMS2 models are developed in Sec. 4 and SPMSM2 fault detection is presented in Sec. 5. Section 6 describes the simulation results of the control and interturn short circuit fault. Section 7 concludes the paper. In the Appendix, the supervisory-level models are constructed for the ICE, battery, vehicle, power split device, and electrical bus. The Appendix also describes the interconnection structure and other modeling issues associated with the Prius.

## Supervisory-Level Power Flow Control

As mentioned, a supervisory-level controller specifies power flows in and out of the subsystems/components. The low-granularity power flow control oriented models (as opposed to first principles high-granularity models) allow for feasible and more efficient numerical optimizations.

To notationally identify the modes set forth in Sec. 2, let *α _{i}* ∈ {0, 1},

*i*= 1, 2, 3, 4 denote the active (

*α*= 1) or nonactive (

_{i}*α*= 0) state of each mode. Since only one mode can be physically active at a time, we impose the constraint

_{i}*α*

_{1}+

*α*

_{2}+

*α*

_{3}+

*α*

_{4}= 1. We note that values of

*α*vary over time and can change instantaneously; a minimum dwell time is assumed to avoid the possibility of infinitely fast mode switching.

_{i}In the problem statement:

$J\alpha (x0,xref,tp,0,tp,f,x,u,\alpha \xaf)$ is a convex performance index, wherein

*x*_{0}is the state at the current time*t*_{p}_{,0},*t*_{p}_{,}is the final prediction horizon time,_{f}*t*_{p}_{,}−_{f}*t*_{p}_{,0}is the prediction horizon length, $x(\xb7)\u2208\mathbb{R}n$ is the supervisory-level state consisting of all pertinent dynamic subsystem variables,*x*_{ref}(*t*) is a reference state trajectory to be tracked over $[tp,0,tp,f],\u2009u(\xb7)\u2208\mathbb{R}m\xd74$ is the composite of the mode-specific continuous control input vectors, and $\alpha \xaf=[\alpha 1,\alpha 2,\alpha 3,\alpha 4]\u22a4$ is the aggregate of mode values such that at each instant of time the entries of $\alpha \xaf$ sum to one and there is at most one nonzero entry.$x=[Pfuel,Pice,\Omega ice,W\xafbat,\u03d2v]\u22a4$ is the state vector, where

*P*_{fuel}is the fuel power delivered to the engine,*P*_{ice}is the ICE output power, Ω_{ice}is the square of the ICE angular speed, $W\xafbat$ is the normalized battery state of charge (SOC), and ϒis an energy function equal to the square of the vehicle velocity. The speed variables are squared to represent energy, which is ordinarily proportional to the square of speed. Further details can be found in the Appendix._{v}$ui=[ufueli,u1i,u2i,ubrki]\u22a4$, wherein $ufueli$ is the commanded normalized fuel in the

*i*th mode of operation; $u1i$ is the commanded fraction of maximum speed-dependent power for SPMSM1 in the mode of operation, which is electrical in mode 1 and mechanical in the remaining modes; $u2i$ is the commanded fraction of maximum speed-dependent power for SPMSM2 in the mode of operation, which is electrical in modes 1, 2, 3, and mechanical in 4; and $ubrki$ is the commanded fraction of maximum speed-dependent frictional braking power in the*i*th mode.- The performance index (PI),
*J*(⋅), is one of two expressions depending on whether the engine is on or off (note that the engine on or engine off is a fuel dependent control action and does not represent two distinct modes of operation)$J(\xb7)={Joff(\xb7),ICE\u2009off\u2003(2a)Jon(\xb7),ICE\u2009on\u2003(2b)$$Joff(\xb7)=\u222btp,0tp,fCv(\u03d2v\u2212\u03d2v,ref)2+\u2211i=14Cbrki\alpha i(Pbrki)2+Cu1\u2211i=14\alpha i(u1i)2+Cu2\u2211i=14\alpha i(u2i)2dt$where ϒ$Jon(\xb7)=Joff(\xb7)+\u222btp,0tp,fCSOC(W\xafbat\u2212W\xafbat,ref)2+Cfuel(Pfuel)2dt$_{v}_{,ref}is the squared reference velocity or energy to track, $W\xafbat,ref$ is the desired battery state of charge,*C*is the penalty weight on the vehicle energy error (and implicitly vehicle tracking error), $Cbrki$ is the mode-dependent penalty weight on frictional braking use to promote battery regenerative braking,_{v}*C*_{u}_{1}and*C*_{u}_{2}are the penalty weights on SPMSM1 and SPMSM2 usage to encourage bang-bang solutions in the numerical optimization described shortly,^{3}*C*_{SOC}is the penalty weight on deviation of the battery state of charge from a desired value, and*C*_{fuel}is the penalty weight on ICE engine fuel consumption. - $x\u02d9=\u221144\alpha ifi(t,x,ui)$ represents a composite of the mode specific subsystem dynamics without interconnections. Specificallywherein $Pice,psdi$ is the ICE power routed into the power split device in the$[P\u02d9fuelP\u02d9ice\Omega \u02d9iceW\xaf\u02d9bat\u03d2\u02d9v]=\u2211i=14\alpha i[ffueli(Pfuel,\Omega ice,ufueli)ficei(Pfuel,Pice,\Omega ice)f\Omega icei(Pice,Pice,psdi)fbati(W\xafbat,Pbati)fvi(Pbrki,Pwhl,psdi,P2,Li,\u03d2v)]$(3)
*i*th mode, $Pbati$ is the*i*th mode battery discharge or charge power, $Pbrki$ is the*i*th mode frictional braking power, $Pwhl,psdi$ is the*i*th mode power delivered to the drive wheels from the power split split device, $P2,Li$ is the*i*th mode SPMSM2 power to the drive wheels, and $ffueli(\xb7),\u2009ficei(\xb7),\u2009f\Omega icei(\xb7),\u2009fbati(\xb7)$, and $fvi(\xb7)$ are the right-hand sides of Eqs. (A1), (A2), and (A6)–(A8), respectively, in the Appendix. Also, for reference $yi=[Pbati,Pbrki,P1,ei,P1,Li,P2,ei,P2,Li,Pice,psdi,Pwhl,psdi]\u22a4,\u2009i=1,2,3,4$ is the vector of mode-specific algebraic variables that depend upon states and continuous control inputs. 0 =

*h*(_{i}*t*,*x*,*u*) describes the^{i}*i*th mode interconnections of the subsystem models and any other equality constraints pertinent to the optimization problem. Specifically, the constraints are described by Eqs. (A28)–(A35) in the Appendix.0 ≥

*g*(_{i}*t*,*x*,*u*) represents the^{i}*i*th mode inequality constraints pertinent to the optimization problem, for example, bounds on states, inputs, algebraic variables, etc.

### Comments on the Numerical Solution of the Optimization Problem.

Observe the embedded problem state is denoted as *x _{e}* to distinguish it from the original problem state and the algebraic constraints, Eqs. (4

*e*) and (4

*f*), are now satisfied in every mode. The distinguishing aspect of the embedded optimization problem relative to the original optimization problem is the latter's requirement

*α*∈ {0, 1} is relaxed to

_{i}*α*∈ [0, 1]. This relaxation transforms the original problem with combinatorial complexity into a traditional nonlinear optimization. When

_{i}*α*= 1 for some

_{i}*i*, then the embedded problem solution in Eq. (4) reduces to the switched problem solution in Eq. (1). When

*α*∈ (0, 1), one must project the modal solution onto the nearest physically realizable mode of operation using techniques described in Refs. [17–19]. However, the basic idea is to project the embedded fractional value of

_{i}*α*onto the nearest integer value, while maintaining the constraint Eq. (4

_{i}*c*).

It was proven in Ref. [19] that the switched state trajectories of *x* of Eq. (1) are dense in the set of embedded system trajectories *x _{e}* in Eq. (4), so a given embedded trajectory can be approximated by a switched system trajectory to any degree of desired accuracy. Thus, Eq. (4) provides a numerically viable nonlinear optimization problem whose solution can be used to generate approximate solutions to Eq. (1). For additional details concerning the embedded optimal control problem, we refer the reader to Ref. [19].

The specific numerical solution uses *fmincon* within matlab, which requires the optimization problem to be discretized. Briefly, the performance metric is discretized using trapezoidal numerical integration and the dynamics are discretized using collocation. The reader is referred to earlier works for details [17].

## Surface Mount Permanent Magnet Synchronous Machine Supervisory-Level Modeling

Because there has been no supervisory-level, efficiency-based modeling development of the SPMSM that accounts for ITSC faults in the literature, its development is presented here. The remainder of the models are presented in the Appendix.

### SPMSM1.

where *P*_{1,}* _{L}* is the mechanical power,

*P*

_{1,inv}is the inverter power,

*η*denotes efficiencies, which depend on the input power, and the rotational speed of the rotor,

*ω*

_{1,}

*, which depends on the SPMSM1 parameters and powertrain operation as set forth in the Appendix.*

_{m}where $\omega 1,m,sc=\omega 1,m/(1000\pi /3),\u2009P1,inv,sc=P1,inv/3\xd7104,\u2009P1,L,sc=P1,L/3\xd7104$, and the coefficients *a*_{1},…, *e*_{2} are set forth in the Appendix.

### SPMSM2.

*σ*as follows:

*P*

_{2,}

*is the mechanical power,*

_{L}*P*

_{2,inv}is the inverter power, and

*ω*

_{2,}

*is the rotor rotational speed, which depends upon the vehicle speed. The fault-level-dependent efficiencies have a form similar to Eqs. (7) and (8)*

_{m}where $\omega 2,m,sc=\omega 2,m/(200\pi ),\u2009P2,inv,sc=P2,inv/5\xd7104,\u2009P2,L,sc=P2,L/5\xd7104$. SPMSM2 parameters and efficiency fit coefficients *a*_{1},…, *e*_{2} are given in the Appendix.

Any ITSC fault results in an eddy current, *i _{fs}*, induced in the faulted coils by the permanent magnets on the spinning rotor shaft. The magnitude of

*i*depends on the fault level,

_{fs}*σ*. The $ifs2R$ losses can cause overheating that exceeds the maximum thermal limits for safe operation. Thus, the specific fault level,

*σ*, constrains the maximum safe vehicle speed. This limit then induces a constraint on the supervisory-level control strategy as evidenced through the safe operating regions of Fig. 2. The fault level of SPMSM2 as well as the induced eddy current,

*i*, must be estimated from a dynamic observer, which is implemented in this work as a moving horizon observer (MHO) [21]. The estimated

_{fs}*σ*is used to determine which efficiency map is now applied at the supervisory level.

## Interturn Short Circuit Fault Moving Horizon Observer

As mentioned, an MHO is used to estimate the fault level *σ* and current *i _{fs}*. We assume for convenience a single fault in phase-a.

^{4}To do this effectively, one needs to explicate the underling mathematical model of SPMSM2 as a function of the fault level. The model set forth does not include saturation effects that can be incorporated as an additional mode of operation; this inclusion is beyond the scope of this paper.

### SPMSM2 Component Level Model.

*v*and

_{ζs}*i*denote the stator voltage and current in phase

_{ζs}*ζ*=

*a*,

*b*,

*c*. The back emf terms are given by

*θ*=

_{r}*θ*

_{2,}

*/2 is the electrical angular position of the rotor and*

_{m}n_{p}*n*is the number of motor poles. Note that the fault loop back emf,

_{p}*e*, has the same phase angle as the back emf in the faulted phase-a. Finally, by Kirchoff's current law

_{f}*i*are sinusoidal with the form

_{ζs}where *I _{qζ}* and

*I*are the current amplitudes determined by the inverter. Controlling currents of the form in Eqs. (17)–(19) has the advantage that the derivatives of the currents are known in Eq. (13), making the computation of

_{dζ}*v*algebraic. This observation is exploited in the development of the MHO in Sec. 5.2.

_{ζs}### SPMSM2 Fault Moving Horizon Observer.

^{5}over the time interval [

*t*−

_{k}*T*,

*t*]:

_{k}*Q*is a weighting matrix and $v\u0302fs$

^{6}is the estimated fault loop voltage that must be driven to (approximately) zero during the estimation process;

*y*is a vector of measured voltages and currents and $y\u0302$ is the estimates of those voltages and currents. Specifically

^{M}Henceforth, the superscript *M* indicates a measured variable and hatted variables are estimates. All the terms in $y\u0302$ depend upon the fault level, sinusoids in Eqs. (17)–(19), the time derivatives of Eqs. (13) and (17)–(19). Hence, the minimization of Eq. (20) can be taken over the fault level $\sigma \u0302$ and the associated piecewise constant magnitudes of the sinusoidal currents—$I\u0302qa,\u2009I\u0302da,\u2009I\u0302qb,\u2009I\u0302db,I\u0302qc$, and $I\u0302dc$—subject to Eqs. (13)–(19), (21), and (22).

### Observer Implementation.

The minimization of the performance index, Eq. (20), is over a 50 ms horizon with two partitions, each of 25 ms. Successive minimizations have an overlap of one partition. The forward most partition of the current minimization becomes the trailing partition in the next optimization. Optimal values from the forward most partition of the current minimization are used to initialize both partitions in the next optimization.

The steps in the optimization over each horizon are: (i) obtain the measured values at each partition's boundaries over the horizon; (ii) generate initial estimates of *I _{qζ}*,

*I*, and the fault level

_{qζ}*σ*; (iii) compute values of the estimated currents using Eqs. (17)–(19) and the their derivatives evaluated at the appropriate time points; (iv) evaluate Eqs. (14)–(15); (v) determine the estimates of line-to-neutral voltages

*v*from Eq. (13); (vi) set $v\u0302fs$ equal to the last row of the right-hand side of Eq. (13); (vii) form $y\u0302$ using Eq. (22); and (viii) use a discrete-time approximation of the integral in the performance index to compute the cost. Steps (iii)–(viii) are performed and repeated until a minimal cost is achieved within a nonlinear optimization solver, such as

_{ζs}*fmincon*within matlab. To continue, the horizon is incremented forward in time and the optimization steps are repeated.

For this application, the MHO observer correctly identified the fault which begins at the 20 s mark in the simulations detailed in Sec. 6. Fault detection was achieved within 50 ms. Subsequent fault and fault current estimates are then used to switch between precomputed efficiency maps and maximum safe operating speed limits, which modifies the supervisory-level power management optimization problem. Results follow in Sec. 6.

## Control and Interturn Short Circuit Fault Simulation Results

This section reviews the performance of the Prius over a 40 s trapezoidal drive profile subject to an ITSC fault at 20 s. The trapezoidal profile consists of: (i) a constant acceleration increase in velocity from rest to 20.12 m/s (45 mph) over [0,10)s, (ii) constant velocity over [10, 30)s, and (iii) constant deceleration to rest over [30, 40]s. Figure 3 shows the commanded trapezoidal and the simulated unfaulted vehicle response on a level road, i.e., *θ _{v}* = 0.

Drive profile control simulations are performed using techniques set forth in Ref. [17]. The optimization problem is discretized with a *T _{c}* = 0.25 s interval time partition according to the methods in Ref. [17]. In the PI, Eq. (2

*a*), the prediction horizon is 0.5 s (two partitions) and the penalty weights are

*C*= 100, $Cbrki=1000/(50)2$ for

_{v}*i*= 1, 2, 3, $Cbrk4=100/(50)2,\u2009Cu1=2,\u2009Cu2=2,\u2009Cfuel=10/(383.5)2$, and

*C*

_{SOC}= 1000, when $W\xafbat<W\xafbat,ref=0.58$ and zero otherwise.

*kT*becomes the commanded velocity to achieve at (

_{c}*k*+ 1)

*T*, i.e.,

_{c}*v*

_{ref}((

*k*+ 1)

*T*). In the optimization, at time

_{c}*kT*, the present, the desired velocity at (

_{c}*k*+ 1)

*T*is known. The value at (

_{c}*k*+ 2)

*T*is unknown and is estimated linearly as

_{c}The reference velocity is extrapolated from known current and past values that leads to the extrapolated reference, ϒ_{v}_{,ref,est}, in Eq. (26). We use extrapolated values because we do not assume that future values of the drive profile are known. This linear extrapolation assumption is meant to approximate a driver but does add a small error to the tracking of reference signals that are nonpiecewise linear or have “corners.”

The Prius model is simulated again over the trapezoidal drive profile now with ITSC faults of 0.5% (*σ* = 0.005), 1% (*σ* = 0.01), 2% (*σ* = 0.02), and 5% (*σ* = 0.05) from 20 s onward. Figure 4 shows the vehicle velocity tracking achieved for each fault level. Every fault is considered to have been detected by the observer of Sec. 5 at *t* = 20 s. At 20 s, ϒ_{v}_{,ref} is chosen to decelerate the vehicle at −2 m/s^{2} until ϒ_{v}_{,ITSC,max} (the square of 95% of the maximum fault operation velocity) is reached. Then, the reference is the minimum of ϒ_{v}_{,ref} and ϒ_{v}_{,ITSC,max} until the fault is removed. During the deceleration phase, SPMSM2 is unpowered to avoid exacerbating thermal runaway and hence unsafe operating conditions. This velocity modification behavior during faults is exhibited in Fig. 4 for all of the fault cases.

Figure 5 shows the mechanical power (positive if propelling and negative if generating) of SPMSM1 and SPMSM2 over the drive profile with the 5% ITSC fault. Similar SPMSM1 and SPMSM2 responses are displayed with the other fault levels. SPMSM1 is off until it is used to start the engine from 3 to 3.5 s. Thereafter, SPMSM1 is driven by the ICE and sends power to the electrical bus to drive SPMSM2 and recharge the battery. After the fault occurs, SPMSM1 is on for the next 2 s, while the vehicle speed decreases and then remains off for the remainder of the drive profile. We note from 20.25 s onward that the ICE is off as well. SPMSM1 is still able to provide battery charge power from 20.25 to 22 s, during which the ICE is off, by consuming the ICE inertia energy. SPMSM2 propels the vehicle during the initial commanded acceleration from 0 to 10 s and both propel and recharge the battery from 10 to 20 s during the commanded constant velocity. Upon the detection of the fault, SPMSM2 is off, while the vehicle speed is decreased to the maximum safe fault operation velocity. Next, the drive is used to propel the vehicle at constant velocity from 26.5 s until the commanded deceleration to rest is encountered at 38 s, and then the drive provides battery regenerative braking to 39.75 s.

## Conclusions

In this paper, we have reviewed a moving horizon observer to detect ITSC faults in a SPMSM, set forth the process to develop efficiency maps for an SPMSM with and without an ITSC fault and demonstrated how the knowledge of the presence and degree of ITSC faults can be used by supervisory-level control to implement fault tolerant control. Results show that upon detection of a fault in the traction motor and its degree, the control takes appropriate steps, i.e., switching to the applicable traction input–output power efficiency map and gradually reducing the speed of the vehicle if it exceeds a predefined limit. These steps ensure that continued operation of the vehicle has a lesser risk of electrical system damage and fire than if the vehicle is allowed to continue on without any fault mitigation. The converse to continued, fault tolerant operation during an ITSC fault is to shut down the traction motor and render the vehicle immobile. However, there are safety issues associated with this as well, e.g., the motorist may be stranded in dangerous traffic or in a remote area. Further, we note the moving horizon observer is implicitly robust; however, in the presence of noisy measurements it may be necessary to increase the number of observer partitions and correspondingly decrease the partition time frame. In this case, because of the sinusoidal nature of the voltages and currents, the moving horizon observer will naturally “average” the estimated magnitudes. Future work will explore this aspect and other robustness aspects of the moving horizon observer. Additional future work includes performing control strategy verification experiments with a physically realized powertrain and reducing the computational time of the supervisory-level control and moving horizon observer. In part, the latter requires optimizing the number of horizons, horizon width, and the search algorithm. This is a dual formulation to the problem in model predictive control of determining optimal horizon parameters.

As computational power in vehicles continues to increase and processor prices decrease, we expect that using moving horizon observers for fault detection will become an increasingly attractive solution to improving electric machine safety, reliability, and repair costs.

## Acknowledgment

The authors would also like to acknowledge the support of Greg Shaver and the Hoosier Heavy Hybrid Center of Excellence.

## Funding Data

U.S. Department of Energy (Grant No. DE-EE0005568).

### Appendix

In this section, details of the 2004 Toyota Prius ICE, battery pack, vehicle dynamics, mechanical power split device, maximum drive power, and electrical bus component models are described. Also, the conditions for ICE operation transitions from on and off are set forth.

##### Internal Combustion Engine.

*P*

_{fuel}, delivery dynamics, where $Pfuelmax(\omega ice)$ is the maximum available fuel power for a given engine angular velocity

*ω*

_{ice},

*u*

_{fuel}∈ [0, 1] modulates $Pfuelmax$, and

*τ*

_{fuel}= 0.04 s is the fuel delivery system lag [15,23]. In Eq. (A2),

*P*

_{ice}is the engine mechanical output power,

*τ*

_{ice}= 0.26 s is the average engine power lag due to combustion delay and crankshaft and flywheel inertias [15,23,24], and

*η*

_{ice}(

*P*

_{ice},

*ω*

_{ice}) is the combined efficiency of the combustion and engine mechanical power delivery in which

*η*

_{ice}(

*P*

_{ice},

*ω*

_{ice})

*P*

_{fuel}(

*ω*

_{ice}) represents the indirectly commanded engine output power through the operation of the fuel delivery system. It follows that

*η*

_{ice}are determined by least squares fits of appropriate engine data in Ref. [22]. Here, the functions

are sufficient, where $\omega \xafice=\omega ice/max(\omega ice)$ and $P\xafice=Pice/max(Picemax)$ are normalized by their maximum values for numerical solution purposes. Table 1 lists the fit coefficients.

Parameter | Value |
---|---|

α_{1} | 61.609 |

α_{0} | −4.0470 |

β_{20} | −0.98686 |

β_{11} | 0.25973 |

β_{10} | 0.88661 |

β_{01} | −0.27567 |

β_{00} | 0.26627 |

Parameter | Value |
---|---|

α_{1} | 61.609 |

α_{0} | −4.0470 |

β_{20} | −0.98686 |

β_{11} | 0.25973 |

β_{10} | 0.88661 |

β_{01} | −0.27567 |

β_{00} | 0.26627 |

Note $\Omega ice=\omega ice2$ defines a Lyapunov energy function *P*_{ice,psd} is the soon to be developed power routed through the power split device, and *J*_{ice} = 0.13 kg/m^{2} [25] is the estimated rotational inertia of the engine; $\omega ice=+\Omega ice$ because the engine turns in only one direction.

##### Battery.

In Eq. (A7), *P*_{bat} is the battery power input, $Wbatmax$ is the battery's maximum rated storage energy; *n _{b}* is the number of battery modules in the pack;

*v*=

_{b}*d*,

*P*

_{bat}≥ 0, for discharge;

*v*=

_{b}*c*,

*P*

_{bat}≤ 0, for charge; and $cb,id/cb,ic,\u2009i={1,2,3,4}$ are discharge/charge coefficients obtained by the least-squares fit of instantaneous power efficiencies produced using NiMH module battery data in Refs. [27,28] and efficiency relationships in Ref. [29]. Table 2 lists the battery model parameters, which includes $Pbatvb,bnd$, the discharge and charge power bounds. Further, the Prius battery state of charge is restricted to $W\xafbat\u2208[0.4,0.8]$ [30].

Parameter | Discharge (v = _{b}d) | Charge (v = _{b}c) |
---|---|---|

$Wbatmax$ | 1.6848 × 10^{2 }kJ | 1.6848 × 10^{2 }kJ |

$Pbatvb,bnd$ | 21 kW | −21 kW |

n_{b} | 28 | 28 |

$cb,1vb$ | 4.5077 | 49.511 |

$cb,2vb$ | −0.84091 | 0.29369 |

$cb,3vb$ | 2.7023 | 4.9132 |

$cb,4vb$ | 3.6526 | 0.10087 |

Parameter | Discharge (v = _{b}d) | Charge (v = _{b}c) |
---|---|---|

$Wbatmax$ | 1.6848 × 10^{2 }kJ | 1.6848 × 10^{2 }kJ |

$Pbatvb,bnd$ | 21 kW | −21 kW |

n_{b} | 28 | 28 |

$cb,1vb$ | 4.5077 | 49.511 |

$cb,2vb$ | −0.84091 | 0.29369 |

$cb,3vb$ | 2.7023 | 4.9132 |

$cb,4vb$ | 3.6526 | 0.10087 |

##### Vehicle.

*=*

_{v}*v*

^{2}, where

*v*is velocity. Thus, the conservation of power to vehicle motion results in the power flow dynamical model

where $v=+\u03d2v$ considering only forward motion, *P _{d}* is the drag force power,

*P*

_{rr}is the rolling resistance,

*P*is the body force power due to gravity,

_{b}*P*

_{whl,psd}is the wheel power from/to the power split device defined shortly,

*P*

_{brk}is the frictional braking power,

*ρ*

_{air}is the ambient air density,

*m*is the total vehicle mass,

_{v}*A*

_{fr}is the vehicle frontal area,

*C*is the drag coefficient,

_{d}*C*

_{rr}is the tire rolling resistance coefficient, and

*θ*is the road grade angle. Table 3 lists the Prius vehicle parameters.

_{v}Parameter | Symbol | Value |
---|---|---|

Frontal area | A_{fr} | 2.33 m^{2} [30] |

Drag coefficient | C_{d} | 0.26 [30] |

Rolling resistance | C_{rr} | 0.00475 [31] |

Vehicle mass | m_{v} | 1469 kg^{a} [30] |

Air density | ρ_{air} | 1.225 kg/m^{3} |

Parameter | Symbol | Value |
---|---|---|

Frontal area | A_{fr} | 2.33 m^{2} [30] |

Drag coefficient | C_{d} | 0.26 [30] |

Rolling resistance | C_{rr} | 0.00475 [31] |

Vehicle mass | m_{v} | 1469 kg^{a} [30] |

Air density | ρ_{air} | 1.225 kg/m^{3} |

The vehicle mass includes two 79 kg occupants.

*P*

_{brk}, is equal to a maximum velocity-dependent braking power modulated by

*u*

_{brk}∈ [0, 1]; the maximum braking power depends upon a smooth function that increases with velocity until a maximum of 50 kW braking power is achieved. Specifically

##### Mechanical Power Split Device.

The PSD mechanically connects the ICE, generator electric drive (SPMSM1), and traction electric drive system (SPMSM2) via a planetary gear system, displayed in Fig. 9, to propel the vehicle, charge the battery, and start the ICE. Specifically, the planetary carrier is affixed to the output of the ICE; the SPMSM1 rotor is attached to the sun gear; and the ring gear is connected to the SPMSM2 rotor, which is linked (via additional gears) to the drive wheels. The planetary gear system dynamics are analyzed to develop the aforementioned *P*_{ice,psd} and *P*_{whl,psd} in Eqs. (A6) and (A8), respectively,

*r*is the sun gear radius,

_{s}*r*is the radius of the ring gear,

_{r}*ω*

_{1,}

*is the angular velocity of the sun gear and SPMSM1 (which are directly coupled),*

_{m}*ϵ*is a small constant ≪ 1 to prevent division by zero, and

_{s}*γ*relates the vehicle velocity to the ring gear angular velocity, i.e.,

*ω*=

_{r}*γv*. To begin developing Eqs. (A10) and (A11), the dynamics of the PSD with the ring gear connected to the drive wheels are set forth in the context of Fig. 9, where the four planet gears are assumed to experience the same forces and thus can be replaced with a single-planet gear with combined mass and inertia

*T*;

_{s}*T*is the torque supplied by the ICE;

_{c}*J*,

_{s}*J*, and

_{p}*J*are the rotational inertias of the sun gear, planet gear, and planet carrier, respectively;

_{c}*ω*and

_{p}*v*are the planet gear angular and translational velocities, respectively; and

_{p}*F*

_{ps},

*F*

_{pr}, and

*F*

_{pc}are the forces at the interface of the sun and planet gears, ring and planet gears, and carrier and planet gear, respectively. Equation (A16) is based on knowledge that the force transferred to the ring gear is that which propels the vehicle (along with SPMSM2) and the assumption that the ring gear inertia is negligible compared to the overall vehicle. We note (i)

*r*= (

_{p}*r*−

_{r}*r*)/2, (ii) the planet carrier has the same angular velocity as the ICE, i.e.,

_{s}*ω*=

_{c}*ω*

_{ice}, and (iii) the planet carrier inertia includes the carrier itself plus that of the ICE, since they are joined together and we assume that the planet inertia is small compared to that of the engine, and thus, the totality can be described with

*J*

_{ice}. Further, we take

*J*,

_{p}*m*,

_{p}*J*as negligible compared to the vehicle and ICE inertias. After applying the previous and algebraic manipulations, we obtain

_{s}*P*

_{1,}

*is divided by the absolute value of*

_{L}*ω*

_{1,}

*to obtain the expected response of the ICE and vehicle given that both*

_{m}*P*

_{1,}

*and*

_{L}*ω*

_{1,}

*can take positive and negative values. For example, (i) if*

_{m}*P*

_{1,}

*is negative, power is being consumed by SPMSM1 and one expects the ICE speed to go down regardless of the sign of*

_{L}*ω*

_{1,}

*(assuming*

_{m}*T*is constant), and (ii) if

_{c}*P*

_{1,}

*is positive, SPMSM1 is starting the ICE and its speed is expected to increase regardless of the sign of*

_{L}*ω*

_{1,}

*. Finally, applying the expression for*

_{m}*T*, recognizing

_{s}*T*=

_{c}ω_{c}*P*

_{ice}, recasting Eqs. (A17) and (A18) into power flow equations and employing Lyapunov energy functions, $\Omega ice=\omega ice2$ and ϒ

*=*

_{v}*v*

^{2}, results in

*ω*

_{1,}

*is needed to determine*

_{m}*P*

_{ice,psd}and

*P*

_{whl,psd}. Gears sharing a point of contact have the same tangential velocity at that point, thus

*ω*

_{1,}

*is available from*

_{m}Table 4 displays the PSD parameters used herein. The PSD gear radii are given in terms of number of gear teeth rather than length, because the gear pitch is unknown and the pitch cancels out of the *P*_{ice,psd} and *P*_{whl,psd} expressions under the assumption all the gears have the same pitch.

##### SPMSM1 and SPMSM2.

Section 4 describes the SPMSM1 and SPMSM2 efficiency maps development for power flow modeling. This section provides the SPMSM1 and SPMSM2 efficiency map coefficients and maximum power expressions.

###### SPMSM1 Parameters, Efficiency Map Coefficients, and Maximum Power.

Table 5 lists the SPMSM1 parameters. The SPMSM1 efficiency fit coefficients are given in Table 6. Additionally, SPMSM1's maximum mechanical and electrical power are needed. The maximum SPMSM1 mechanical power during propelling and generating is modeled from given maximum torque versus angular velocity information with the maximum power modified by mildly extending the zero speed power to 1 kW, so engine start up is possible from zero speed and adding a curve segment centered at the torque region boundary at 60*π* rad/s to obtain a continuous first derivative function of *ω*_{1,}_{m}

Parameter | Symbol | Value |
---|---|---|

Self inductance | L | 0.1899 mH |

Mutual inductance | M | −0.09497 mH |

Magnet strength | λ_{m} | 113 mV s |

Stator resistance | R_{s} | 39.81 mΩ |

Poles | n_{p} | 8 |

Parameter | Symbol | Value |
---|---|---|

Self inductance | L | 0.1899 mH |

Mutual inductance | M | −0.09497 mH |

Magnet strength | λ_{m} | 113 mV s |

Stator resistance | R_{s} | 39.81 mΩ |

Poles | n_{p} | 8 |

Parameter | a_{i} | b_{i} | c_{i} | d_{i} | e_{i} | R^{2} |
---|---|---|---|---|---|---|

Propel | 0.9296 | 0.2191 | −0.1648 | −0.1969 | 0.2227 | 0.9985 |

Generate | 0.941 | 0.2243 | −0.175 | 0.2759 | −0.2843 | 0.9991 |

Parameter | a_{i} | b_{i} | c_{i} | d_{i} | e_{i} | R^{2} |
---|---|---|---|---|---|---|

Propel | 0.9296 | 0.2191 | −0.1648 | −0.1969 | 0.2227 | 0.9985 |

Generate | 0.941 | 0.2243 | −0.175 | 0.2759 | −0.2843 | 0.9991 |

###### SPMSM2 Parameters, Efficiency Map Coefficients, and Maximum Power.

Table 7 lists the SPMSM2 parameters. The SPMSM2 efficiency fit coefficients are given in Table 8. Further, expressions for SPMSM2's maximum mechanical and electrical power are needed for the no-fault and ITSC-faulted cases. When there is no fault, the maximum mechanical power during propelling and generating is modeled from given maximum torque versus angular velocity information where the maximum power is modified by mildly extending the zero speed power to 3 kW, so vehicle movement is possible from zero speed and adding a curve segment centered at the torque region boundary at 40*π* rad/s to obtain a continuous first derivative function of *ω*_{2,}_{m}

Parameter | Symbol | Value |
---|---|---|

Self inductance | L | 0.21407 mH |

Mutual inductance | M | −0.10703 mH |

Magnet strength | λ_{m} | 184 mV s |

Stator resistance | R_{s} | 30.5 mΩ |

Poles | n_{p} | 8 |

Parameter | Symbol | Value |
---|---|---|

Self inductance | L | 0.21407 mH |

Mutual inductance | M | −0.10703 mH |

Magnet strength | λ_{m} | 184 mV s |

Stator resistance | R_{s} | 30.5 mΩ |

Poles | n_{p} | 8 |

Parameter | σ | a_{i} | b_{i} | c_{i} | d_{i} | e_{i} | R^{2} |
---|---|---|---|---|---|---|---|

Propel (i = 1) | 0 | 0.8903 | 0.4123 | −0.4701 | −0.0906 | 0.2086 | 0.9985 |

0.005 | 0.6983 | 3.411 | −11.05 | −0.337 | 1.476 | 0.9985 | |

0.01 | 0.7917 | 3.624 | −28.67 | −1.894 | 23.13 | 0.9964 | |

0.02 | 0.9296 | 0.2191 | −0.1648 | −0.1969 | 0.2227 | 0.9985 | |

0.05 | 0.5619 | 14.44 | −158.4 | −2.412 | 33.52 | 0.9976 | |

Generate (i = 2) | 0 | 0.9215 | 0.3676 | −0.4195 | 0.1217 | −0.2032 | 0.9995 |

0.005 | 0.5709 | 5.475 | −18.56 | 0.7304 | −3.514 | 0.9963 | |

0.01 | 0.7302 | 4.732 | −26.14 | 1.771 | −13.57 | 0.9942 | |

0.02 | 0.3138 | 18.33 | −123 | 3.585 | −37.28 | 0.9961 | |

0.05 | 0.3327 | 26.34 | −323.5 | 9.353 | −154.9 | 0.9865 |

Parameter | σ | a_{i} | b_{i} | c_{i} | d_{i} | e_{i} | R^{2} |
---|---|---|---|---|---|---|---|

Propel (i = 1) | 0 | 0.8903 | 0.4123 | −0.4701 | −0.0906 | 0.2086 | 0.9985 |

0.005 | 0.6983 | 3.411 | −11.05 | −0.337 | 1.476 | 0.9985 | |

0.01 | 0.7917 | 3.624 | −28.67 | −1.894 | 23.13 | 0.9964 | |

0.02 | 0.9296 | 0.2191 | −0.1648 | −0.1969 | 0.2227 | 0.9985 | |

0.05 | 0.5619 | 14.44 | −158.4 | −2.412 | 33.52 | 0.9976 | |

Generate (i = 2) | 0 | 0.9215 | 0.3676 | −0.4195 | 0.1217 | −0.2032 | 0.9995 |

0.005 | 0.5709 | 5.475 | −18.56 | 0.7304 | −3.514 | 0.9963 | |

0.01 | 0.7302 | 4.732 | −26.14 | 1.771 | −13.57 | 0.9942 | |

0.02 | 0.3138 | 18.33 | −123 | 3.585 | −37.28 | 0.9961 | |

0.05 | 0.3327 | 26.34 | −323.5 | 9.353 | −154.9 | 0.9865 |

where Table 9 lists the fit coefficients found for each fault level.

σ | a | b | c × 10^{3} | d × 10^{5} |
---|---|---|---|---|

0.005 | 4.663 × 10^{−10} | 0.3241 | 1.048 | −1.272 |

0.01 | 1.985 × 10^{−9} | 0.3057 | 2.105 | −2.956 |

0.02 | 5.445 × 10^{−9} | 0.2713 | 3.862 | −6.438 |

0.05 | 0.7528 | 0.2301 | 7.251 | −16.85 |

σ | a | b | c × 10^{3} | d × 10^{5} |
---|---|---|---|---|

0.005 | 4.663 × 10^{−10} | 0.3241 | 1.048 | −1.272 |

0.01 | 1.985 × 10^{−9} | 0.3057 | 2.105 | −2.956 |

0.02 | 5.445 × 10^{−9} | 0.2713 | 3.862 | −6.438 |

0.05 | 0.7528 | 0.2301 | 7.251 | −16.85 |

##### Electrical Bus.

where *P*_{1,}* _{e}* and

*P*

_{2,}

*are the SPMSM1 and SPMSM2 electrical power values that include inverter efficiency, respectively.*

_{e}##### Interconnection Equations.

with *ω*_{1,}* _{m}* available from Eq. (A21) and inverter efficiency,

*η*

_{1,inv}, of 0.98. Note that the maximum electrical power here is the inverter power divided by the inverter efficiency, i.e., $P1,emax(\xb7)=P1,invmax(\xb7)/\eta 1,inv$.

where the inverter efficiency is *η*_{2,inv} = 0.98. Note that the maximum electrical power here is the inverter power divided by the inverter efficiency, i.e., $P2,emax(\xb7)=P2,invmax(\xb7)/\eta 2,inv$.

##### Engine Operation.

The engine is turned off if all of the following conditions are satisfied:

- EO1)Either the battery SOC has reached the nominal valueor the reference velocity is decreasing at a rate below a threshold over a time interval$W\xafbat(tp,0)\u2265W\xafbatnom=0.58$(A38)where Δ$dvref(\Delta t)dt<aice-off=\u22120.5\u2009m/s2$(A39)
*t*∈ [*t*_{p}_{,0},*t*_{p}_{,}]._{f} - EO2)The estimated power needed to meet the reference velocity is less than or equal to what can be supplied by SPMSM2 over a time intervalwhere$P2,Lmax(\omega r,ref(\Delta t))\u2265P\u0302whl(\Delta t)$(A40)
*ω*_{r}_{,ref}(Δ*t*) =*γv*_{ref}(Δ*t*). The estimated power, $P\u0302whl$ is assumed to be piecewise-constant over Δ*t*. It is obtained from Eq. (A8) by making $P\u0302whl=P2,L+Pwhl,psd$ and then solving for $P\u0302whl$ using the shooting method such that the output of Eq. (A8) tracks the square of the reference velocity within a negligible error. - EO3)The estimated electrical power needed by SPMSM2 is less than or equal to what can be supplied by the battery alone over a time intervalConsequent to the ICE off, Eq. (A37) is enforced; the power values immediately go to zero because the fuel from which power is derived is no longer input.$P2,e(\omega r,ref(\Delta t))\u2264Pbatd,bnd=21\u2009kW$(A41)

The engine is started if the reference velocity is nonzero and nondecreasing and any of the following conditions are met:

- ES1)The battery SOC is below a threshold at
*t*_{p}_{,0}$W\xafbat(tp,0)<W\xafbat,ice\u2212on=0.50$(A42) - ES2)The estimated wheel power power needed to meet the reference velocity is greater than what can be supplied by the traction motor, SPMSM2, alone from
*t*_{p}_{,0}to*t*_{p}_{,}_{f}$P2,Lmax(\omega r,ref(\Delta t))<P\u0302whl(\Delta t)$(A43) - ES3)The estimated electrical power needed by SPMSM2 exceeds that can be supplied by the battery alone over Δ
*t*$P2,e(\omega r,ref(\Delta t))>Pbatd,bnd=21\u2009kW$(A44)

*π*/3 rad/s after a certain time, Δ

_{ice,start}= 0.25 s, i.e.,

and allowing $ufueli,Pfuel,Pice\u22650$. Once the engine has started and reached minimum operating speed, mode 1 is no longer permitted, *α*_{1} = 0, until the engine is off again.

The 2004 Toyota Prius uses two interior PMSMs (IPMSM). In this work, we substitute SPMSMs with comparable power capabilities for the IPMSMs to take advantage of existing fault models as per Refs. [2,3], and [16], which are briefly reviewed in the next section. Although the focus here is on SPMSMs, this work serves as a baseline for any future work which uses IPMSMs.

This is similar to the penalty weight on electric drive system use to promote bang-bang solutions in Ref. [17].

We note that the MHO, first set forth in Ref. [21], is dual to a model predictive control implementation of the LQR problem.

$v\u0302fs$ is equal to the last row of the right-hand side of Eq. (13).