Patent Publication Number: US-2023150477-A1

Title: Internal combustion engine torque optimization subject to constraints in hybrid-electric powertrains

Description:
FIELD 
     The present application generally relates to vehicles having hybrid-electric powertrains and, more particularly, to internal combustion engine torque optimization subject to constraints in hybrid-electric powertrains. 
     BACKGROUND 
     A vehicle hybrid-electric powertrain typically includes an internal combustion engine and at least one electric motor. In some configurations, a hybrid-electric powertrain could include an engine and two or more electric motors. Various components of the powertrain, e.g., clutches, drive belts, electric motors, etc. offer a limited capacity to transmit torque. A physics-based analysis determines the inequalities that link the minimum and maximum torque limits of mechanical components to the motor and engine torque levels. If the physics-based analysis shows that a constrained variable (e.g., clutch torque) depends on the torque levels of both electric motors, then this is referred to as “sloped constraints,” with the horizontal constraints only depending on the torque level of one of the electric motors and vertical constraints only depending on the torque level of the other electric motor. In contrast, if the constrained variable were not sloped, it would depend on only one electric motor torque level, and thus there would be fewer variables to solve for when the constraints and minimum and maximum values are calculated. The challenge of working with sloped constraints is that they lead to more complex constraint equations to solve. Some of these equations, or even systems of equations, are so complex, that a vehicle controller could lack the processor execution speed and memory to handle them with the required update frequency. Accordingly, while such conventional hybrid-electric powertrain control systems do work for their intended purpose, there exists an opportunity for improvement in the relevant art. 
     SUMMARY 
     According to one example aspect of the present invention, a control system for a hybrid-electric powertrain of a vehicle, the hybrid-electric powertrain including an internal combustion engine, two electric motors, a battery system, and an optional transmission comprising a plurality of clutches, is presented. In one exemplary implementation, the control system comprises a set of sensors configured to measure a set of operating parameters of a set of components of the hybrid-electric powertrain, wherein each component of the set of components is a constraint on minimum/maximum motor torque limits for the electric motors thereby collectively forming a set of constraints, and a controller configured to perform a linear optimization to find the best engine torque values that are attainable subject to a set of constraint inequalities as defined by current vehicle state and as monitored by the set of sensors, and control the hybrid-electric powertrain based on the best engine torque values to avoid excessive torque commands that could damage physical components of the hybrid-electric powertrain and/or could cause undesirable noise/vibration/harshness (NVH) characteristics. 
     In some implementations, there is a plurality of constraints depending on a configuration of the hybrid-electric powertrain and operation mode. In some implementations, the plurality of constraints includes at least two of engine torque, drive belt slip torque, torque of the electric motors, clutch and/or transmission gear states, and a state of the battery system. In some implementations, the operation mode includes at least one of whether the engine participates in a series hybrid operating mode or a parallel hybrid operating mode, electric motor generator or motor mode, battery system depletion, charge sustaining, or recharging modes, clutch pack slippage, disengaged/open, or lock operation, dog clutch engaged or disengaged operation, and transmission gear selection. 
     In some implementations, the controller is configured to take two constraint plane pairs at a time and determine the intersections between them and the motor torque minimum/maximum limits for all currently active constraint plane pair combinations, and then the best engine torque levels are chosen. In some implementations, the controller first determines four intersection lines between the two pairs of constraint planes and then finds the intersection points of these lines with the planes of the motor minimum/maximum torque levels with a three-dimensional geometric approach. 
     In some implementations, the controller determines the intersection points of two of the constraint plane pairs with the slab, and then the best engine torque levels are chosen. In some implementations, the controller is configured to first find the four vertical edges of the motor minimum/maximum torque slab and then find the intersection points of two constraint plane pairs at a time with the four vertical edges leading to at most sixteen intersection points. 
     In some implementations, the controller is configured to take two constraint plane pairs at a time and determine the intersections between them and the motor torque minimum/maximum limits for all currently active constraint plane pair combinations and determine the intersection points of two of the constraint plane pairs with the slab, and then the best engine torque levels are chosen. In some implementations, the controller determines four intersection lines between the two pairs of constraint planes and then finds the intersection points of these lines with the planes of the motor minimum/maximum torque levels with a three-dimensional geometric approach, and finds the four vertical edges of the motor minimum/maximum torque slab and then finds the intersection points of two constraint plane pairs at a time with the four vertical edges leading to at most sixteen intersection points. 
     According to another example aspect of the invention, a method for controlling for a hybrid-electric powertrain of a vehicle, the hybrid-electric powertrain including an internal combustion engine, two electric motors, a battery system, and an optional transmission comprising a plurality of clutches, is presented. In one exemplary implementation, the method comprises receiving, by a controller of the vehicle and from a set of sensors of the hybrid-electric powertrain, a set of operating parameters of a set of components of the hybrid-electric powertrain, wherein each component of the set of components is a constraint on minimum/maximum motor torque limits for the electric motors thereby collectively forming a set of constraints, performing, by the controller, a linear optimization to find the best engine torque values that are attainable subject to a set of constraint inequalities as defined by current vehicle state and as monitored by the set of sensors, and controlling, by the controller, the hybrid-electric powertrain based on the best engine torque values to avoid excessive torque commands that could damage physical components of the hybrid-electric powertrain and/or could cause undesirable noise/vibration/harshness (NVH) characteristics. 
     In some implementations, there is a plurality of constraints depending on a configuration of the hybrid-electric powertrain and operation mode. In some implementations, the plurality of constraints includes at least two of engine torque, drive belt slip torque, torque of the electric motors, clutch and/or transmission gear states, and a state of the battery system. In some implementations, the operation mode includes at least one of whether the engine participates in a series hybrid operating mode or a parallel hybrid operating mode, electric motor generator or motor mode, battery system depletion, charge sustaining, or recharging mode, clutch pack slippage, disengaged/open, or lock operation, dog clutch engaged or disengaged operation, and transmission gear selection. 
     In some implementations, the controller is configured to take two constraint plane pairs at a time and determine the intersections between them and the motor torque minimum/maximum limits for all currently active constraint plane pair combinations, and then the best engine torque levels are chosen. In some implementations, the controller first determines four intersection lines between the two pairs of constraint planes and then finds the intersection points of these lines with the planes of the motor minimum/maximum torque levels with a three-dimensional geometric approach. 
     In some implementations, the controller determines the intersection points of two of the constraint plane pairs with the slab, and then the best engine torque levels are chosen. In some implementations, the controller is configured to first find the four vertical edges of the motor minimum/maximum torque slab and then find the intersection points of two constraint plane pairs at a time with the four vertical edges leading to at most sixteen intersection points. 
     In some implementations, the controller is configured to take two constraint plane pairs at a time and determine the intersections between them and the motor torque minimum/maximum limits for all currently active constraint plane pair combinations and determine the intersection points of two of the constraint plane pairs with the slab, and then the best engine torque levels are chosen. In some implementations, the controller determines four intersection lines between the two pairs of constraint planes and then finds the intersection points of these lines with the planes of the motor minimum/maximum torque levels with a three-dimensional geometric approach, and finds the four vertical edges of the motor minimum/maximum torque slab and then finds the intersection points of two constraint plane pairs at a time with the four vertical edges leading to at most sixteen intersection points. 
     Further areas of applicability of the teachings of the present application will become apparent from the detailed description, claims and the drawings provided hereinafter, wherein like reference numerals refer to like features throughout the several views of the drawings. It should be understood that the detailed description, including disclosed embodiments and drawings referenced therein, are merely exemplary in nature intended for purposes of illustration only and are not intended to limit the scope of the present disclosure, its application or uses. Thus, variations that do not depart from the gist of the present application are intended to be within the scope of the present application. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG.  1    is a functional block diagram of a vehicle having an example hybrid-electric powertrain according to the principles of the present application; 
         FIG.  2    is a functional block diagram of an example minimum/maximum torque limit determination architecture according to the principles of the present application; 
         FIG.  3    is an example three-dimensional graph illustrating hybrid-electric powertrain system constraints according to the principles of the present application; 
         FIG.  4    is an example three-dimensional graph illustrating pairs of minimum/maximum linear inequality constraints according to the principles of the present application; 
         FIG.  5    is an example three-dimensional graph illustrating four intersecting lines of two constraint plane pairs according to the principles of the present application; 
         FIG.  6    is an example three-dimensional graph illustrating four vertical edges intersecting with at most four constraint planes according to the principles of the present application; and 
         FIG.  7    is a flow diagram of an example method of determining minimum/maximum motor torque limits based on linear constraints according to the principles of the present application. 
     
    
    
     DESCRIPTION 
     As discussed above, a specific hybrid-electric powertrain configuration having an internal combustion engine, two electric motors, and a transmission comprising a plurality of clutches. The primary challenge in working with a set of constraints that depend on one or both motor torque levels and the engine torque level is that they lead to more complex constraint equations to solve, e.g., due to different powertrain operation modes: series or parallel hybrid operating modes, electric motor generator or motor mode, battery system charging, discharging, or charge sustaining mode, and clutch pack slipping, locked or disengaged operation, dog clutch engaged or disengaged operation, transmission gear selection. Some constraint equations could be so complex that existing processors could lack the speed and/or memory to solve them within the update frequency required, which could result in the requirement of a more expensive and more powerful processor. As a result, improved control systems and methods for this configuration of hybrid-electric powertrain are presented. These control systems and methods are capable of solving three-dimensional constraint equations in a unique and novel manner that does not require additional processor speed/memory. 
     Referring now to  FIG.  1   , a functional block diagram of a vehicle  100  having an example hybrid-electric powertrain  104  according to the principles of the present application is illustrated. The hybrid-electric powertrain  104  is configured to generate drive torque for vehicle propulsion or regenerative braking torque at a driveline  108 . The hybrid-electric powertrain  104  generally comprises an optional transmission  112  comprising a plurality of clutches  116 , an internal combustion engine  120 , two electric motors  124   a ,  124   b , a battery system  128 , and a set of one or more sensors  132 . Non-limiting examples of the sensor(s) include clutch hydraulic pressure sensor(s), transmission gear state sensor(s), shaft speed sensors, and battery system state sensor(s). While the electric motors  124   a ,  124   b  are shown separately from the transmission  112 , it will be appreciated that the transmission  112  could be a hybrid transmission that includes one or both of the electric motors  124   a ,  124   b . A controller  136  controls operation of the hybrid-electric powertrain  104 , such as to achieve or generate a desired amount of drive torque or regenerative braking torque based on driver input or torque request via a driver interface  140 . 
     Referring now to  FIG.  2   , a functional block diagram of an example minimum/maximum engine torque level determination architecture  200  according to the principles of the present application is illustrated. The torques of the electric motors  124   a ,  124   b  (also referred to as “motor A” and “motor B,” respectively) and the engine  120  are considered to be independent variables when describing the hybrid-electric powertrain  104 : T a =torque of motor A  124   a , T b =torque of motor B  124   b , and T i =torque of engine  120  (e.g., all in Newton-meters, or Nm). The mathematical modeling of some of the hybrid-electric powertrain components becomes more straightforward and uniform across different vehicle powertrain architectures if a coordinate transformation is applied to motor A and motor B torques according to the following equations: 
         Tx=A   1   *T   a   +A   2   (1)
 
         Ty=B   1   *T   b   +B   2   (2),
 
     where A 1 , B 1 , A 2 , and B 2  are known scalars, Tx (√W) represents transformed motor A torque, and Ty (√W) represents transformed motor B torque. This coordinate transformation, however, is not a key aspect of the present application. A linear objective function Tm 1  is described in the following equation: 
         f   objective ( Tx,Ty,Ti )= Tm   1   =k   Tx,o   *Tx+k   Ty,o   *Ty+k   Ti,o   *Ti+D   (3)
 
     where Tm 1  is to be optimized, k Tx,o , k Ty,o , and K Ti,o  are known scalar coefficients, and D is a known scalar constant. Optimization in this context means finding the minimum or maximum (or both) values of Tm 1  while honoring the constraint inequalities. The objective function Tm 1  can be powertrain output torque or the angular acceleration of some component in the powertrain, and so on, depending on the driving situation and powertrain architecture. 
     The k Tx,o , k Ty,o , K Ti,o  and D values are calculated based on differential equations of motion of the hybrid-electric powertrain  104  written out for a specific operation mode, clutch configuration, and gear configuration. Optimization in this context means finding the minimum or maximum value of Tm 1  as a function of Tx, Ty, and Ti. The search for the minimum or maximum value of Tm 1  starts within a slab-shaped domain (see  FIG.  3   ) determined by other software routines upstream from these routines of the present application. Three minimum/maximum inequality constraints forming the slab in three-dimensions are defined by Tx (motor A torque) and Ty (motor B torque) and Ti engine torque minimum/maximum inequality constraints as described below. These minimum/maximum inequality constraints incorporate motor torque capabilities. 
         Tx   min   ≤T≤TX   max   (4)
 
         Ty   min   ≤Ty≤Ty   max   (5)
 
         Ti   min   ≤Ti≤Ti   max   (6).
 
     After the Tx min , Tx max , Ty min , Ty max , Ti min , and Ti max  limits of the slab are calculated, a plurality of, for instance five linear minimum/maximum inequality constraints are imposed. These are denoted Tm 2  through Tm 6 . 
     Each of the Tm 2  through Tm 6  constraints are described generally in the following pair of inequalities where n=2, . . . , 6. 
         Tm   min,n   ≤k   Tx,n   *Tx+k   Ty,n   *Ty+k   Ti,n   *Ti+Mn≤Tm   max,n   (7).
 
     The following scalar coefficients k Tx,n , k Ty,n , and k Ti,n  and constant scalar term M n  are determined based on the differential equations of motion of the powertrain and some powertrain parameters, such as damping, inertia, and gear ratio values. Tm min,n  and Tm max,n  are known minimum/maximum values for the n th  constraint. Additionally, the n th  minimum inequality constraint plane is parallel to the n th  maximum inequality constraint plane and the minimum/maximum constraints are imposed together as minimum/maximum sets. The Tm 2  through Tm 6  linear constraints each limit the space available for the minimum or maximum point. From a geometric standpoint, these constraint planes (see  FIGS.  3 - 4   ) each may cut across the slab and leave a smaller domain available for searching for the maximum or minimum point. Descending priority is assigned to each minimum/maximum constraint, with constraint Tm 2  having the highest priority and constraint Tm 6  having the lowest priority. 
     If two or more constraint inequalities contradict one another, then the constraint inequality with the higher priority will be considered. More specifically, if, for instance, a domain (e.g., domain 3) is already constrained by Tm 2  and Tm 3 , and no part of domain 3 satisfies Tm 4 , then, within domain 3, the geometric feature that falls the closest to the Tm 4  planes will be chosen as the result of applying Tm 4 . If the planes of Tm 4  are parallel with the closest plane of domain 3, then that plane of domain 3 will be selected as domain 4. If domain 3 has a straight edge that runs parallel with the Tm 4  planes, and is the closest domain 3 geometric feature to Tm 4 , then that straight edge will be selected as domain 4. If the domain 3 feature falling the closest to the planes of Tm 4  is a point, then that point will become domain 4. Imposing the Tm 2  through Tm 6  constraints on the Tx min , Ty max , Ty min , Ty max , Ti min , and Ti max  slab and finding the Ti min  and Ti max  values under those constraints is a key objective of the present application. 
     A summary of the hybrid-electric powertrain constraints can be seen in Table 1 below: 
     
       
         
           
               
               
               
             
               
                 TABLE 1 
               
               
                   
               
               
                 Constraint 
                 Constraint 
                 Constraint 
               
               
                 Description 
                 Type 
                 Expression 
               
               
                   
               
             
            
               
                 Tx Min 
                 Slab, Tx min/max set 
                 Tx min  ≤ Tx 
               
               
                 Tx Max 
                 Slab, Tx min/max set 
                 Tx ≤ Txmax 
               
               
                 Ty Min 
                 Slab, Ty min/max set 
                 Ty min  ≤ Ty 
               
               
                 Ty Max 
                 Slab, Ty min/max set 
                 Ty ≤ Ty max   
               
               
                 Ti Min 
                 Slab, Ti min/max set 
                 Ti min  ≤ Ti 
               
               
                 Ti Max 
                 Slab, Ti min/max set 
                 Ti ≤ Ti max   
               
               
                 n = 2, Min 
                 Tm 2  min plane, 
                 Tm min, 2  ≤ k Tx, 2 *Tx + 
               
               
                   
                 part of the Tm 2  min, 
                 k Ty, 2 *Ty + k Ti, 2 *Ti + M 2   
               
               
                   
                 Tm 2  max plane pair 
               
               
                 n = 2, Max 
                 Tm 2  max plane, 
                 k Tx, 2 *Tx + k Ty, 2 *Ty + 
               
               
                   
                 part of the Tm 2  min, 
                 k Ti, 2 *Ti + M 2  ≤ Tm max, 2   
               
               
                   
                 Tm 2  max plane pair 
               
               
                 n = 3, Min 
                 Tm 3  min plane, 
                 Tm min, 3  ≤ k Tx, 3 *Tx + 
               
               
                   
                 part of the Tm 3  min, 
                 k Ty, 3 *Ty + k Ti, 3 *Ti + M 3   
               
               
                   
                 Tm 3 max plane pair 
               
               
                 n = 3, Max 
                 Tm 3  max plane, 
                 k Tx, 3 *Tx + k Ty, 3 *Ty + 
               
               
                   
                 part of the Tm 3  min, 
                 k Ti, 3 *Ti + M 3  ≤ Tm max, 3   
               
               
                   
                 Tm 3  max plane pair 
               
               
                 n = 4, Min 
                 Tm 4  min plane, 
                 Tm min, 4  ≤ k Tx, 4 *Tx + 
               
               
                   
                 part of the Tm 4  min, 
                 k Ty, 4 *Ty + k Ti, 4 *Ti + M 4   
               
               
                   
                 Tm 4 max plane pair 
               
               
                 n = 4, Max 
                 Tm 4  max plane, 
                 k Tx, 4 *Tx + k Ty, 4 *Ty + 
               
               
                   
                 part of the Tm 4  min, 
                 k Ti, 4 *Ti + M 4  ≤ Tm max, 4   
               
               
                   
                 Tm 4  max plane pair 
               
               
                 n = 5, Min 
                 Tm 5  min plane, 
                 Tm min, 5  ≤ k Tx, 5 *Tx + 
               
               
                   
                 part of the Tm 5  min, 
                 k Ty, 5 *Ty + k Ti, 5 *Ti + M 5   
               
               
                   
                 Tm 5  max plane pair 
               
               
                 n = 5, Max 
                 Tm 5  max plane, 
                 k Tx, 5 *Tx + k Ty, 5 *Ty + 
               
               
                   
                 part of the Tm 5  min, 
                 k Ti, 5 *Ti + M 2  ≤ Tm max, 5   
               
               
                   
                 Tm 5  max plane pair 
               
               
                 n = 6, Min 
                 Tm 6  min plane, 
                 Tm min, 6  ≤ k Tx, 6 *Tx + 
               
               
                   
                 part of the Tm 6  min, 
                 k Ty, 6 *Ty + k Ti, 6 *Ti + M 6   
               
               
                   
                 Tm 6  max plane pair 
               
               
                 n = 6, Max 
                 Tm 6  max plane, 
                 k Tx, 6 *Tx + k Ty, 6 *Ty + 
               
               
                   
                 part of the Tm 6  min, 
                 k Ti, 6 *Ti + M 6  ≤ Tm max, 6   
               
               
                   
                 Tm 6  max plane pair 
               
               
                   
               
            
           
         
       
     
     The hybrid-electric powertrain constraints described in Table 1 and the linear objective function Tm 1  give rise to a three-dimensional optimization problem. As shown in  FIG.  3   , this includes hybrid-electric powertrain minimum/maximum linear inequality constraint planes, Tx and Ty electric motor torque inequality constraints, and Ti engine torque minimum/maximum constraints. In  FIG.  3   , the hatched, parallelogram-shaped cross-section between the Tm i , Tm j  constraint planes indicates the overlap of the Tm i , Tm j  constraints. This is an infinitely long bar that has the indicated parallelogram-shaped cross-section. The overlap bar extends behind the plane of  FIG.  3    and also protrudes out of it, towards the viewer. The [Tx, Ty, Ti] operating points inside the bar satisfy both the Tm i  and the Tm j  constraint pairs, a total of four constraint planes. The determination of a Tx and Ty value that satisfies the above-described hybrid-electric powertrain constraints is performed by an already existing software routine, outside of the scope of the present application. The present application is instead systems and methods to determine a Ti value that satisfies all above-described hybrid-electric powertrain constraints and achieve its minimum or maximum value within those constraints. 
     As discussed in some detail above, the above-described three-dimensional optimization problem is characterized by a plurality of minimum/maximum linear inequality constraints (equation 7), electric motor torque Tx and Ty minimum/maximum inequality constraints (equations 4-5), and engine torque Ti minimum/maximum inequality constraints (equation 6). The proposed technique used to determine a satisfactory minimum/maximum engine torque Ti is executed by analyzing pairs of minimum/maximum linear inequality constraints giving consideration to priority as previously described herein and as shown in  FIG.  4   . The minimum/maximum linear inequality constraint of a higher priority is referred to as constraint Tm 1 . The hybrid-electric powertrain  104  shown in  FIG.  1    and specifically described herein gives rise to the novel problem of analyzing the following pairs of minimum/maximum linear inequality constraints in three dimensions: (1) one constraint depends on Tx and Ti and the other depends on Ty and Ti, (2) one constraint depends on Tx, Ty, and Ti and the other depends on Tx and Ti, (3) one constraint depends on Tx, Ty, and Ti and the other depends on Ty and Ti, and (4) both constraints depend on Tx, Ty, and Ti. Scenarios when both constraints depend only on Tx and on Ti or when both constraints depend only on Ty and on Ti are managed by already-existing software routines. Those routines are outside of the scope of the present application. Scenarios when only one or no constraint depends on Ti are also handled in other software routines that are also outside of the scope of the present application. According to linear programming theory, on a domain constrained by linear constraints, a linear objective function will reach its minimum or maximum value in a point where at least three constraint planes intersect. The proposed technique for finding this point will now be discussed in greater detail. While there are a multitude of, for instance five constraint plane pairs, they will be analyzed only two at a time, thereby saving on processor throughput and memory. The Tm and Tm 1  constraints are selected in block  208  of  FIG.  2    from a set of constraints determined at block  204 . Each possible combinations of constraint plane pairs are selected and analyzed. The order of execution of these pairwise analyses is irrelevant. After all pairs are analyzed in block  224  (comparison of at most 24 Ti values for minimum/maximum), the results will be synthesized in block  208  (also referred to as “running arbitration”) and the final results for TiMin and TiMax are sent out in block  228  for use in controlling the hybrid-electric powertrain  204 . 
     According to the proposed technique, first the TiMin, TiMax constraint is removed. From here on, it is assumed that the Tx, Ty, Ti constraint slab is infinitely tall and deep in the Ti direction. On this extended domain, all intersection points will be identified and logged. There are two types of intersection points. For the first type of intersection point, the location of the points where the constraint plane intersection lines poke into and out of the constraint slab is determined at blocks  212  and  216  of  FIG.  2   . The two pairs of constraint planes have up to four intersection lines, which can be seen in  FIG.  5   . The parameters of the intersection lines are determined in block  212 . The points where each of the four intersection lines enter and exit the slab will be located. Each of the four lines can have at most two such points on it, so this can yield a maximum of eight points, which are found in block  216 . This process will now be described in greater detail. 
     These points can lie along the line formed by the intersection of two constraint planes or intersections of constraint planes and the slab formed by the Tx, Ty, and Ti inequality constraints. First, the four lines formed by intersections of the constraint planes must be computed. The following equations describe the four constraint planes: 
         k   Tx,i ( Tx )+ K   Ty,i ( Ty )+ K   Ti,i ( Ti )+ M   i   ≥Tm   min,i    
         k   Tx,j ( Tx )+ K   Ty,j ( Ty )+ K   Ti,j ( Ti )+ M   j   ≥Tm   min,j    
         k   Tx,i ( Tx )+ K   Ty,i ( Ty )+ K   Ti,i ( Ti )+ M   i   ≤Tm   max,i    
         k   Tx,j ( Tx )+ K   Ty,j ( Ty )+ K   Ti,j ( Ti )+ M   j   ≤Tm   max,j.    
     The M i  and M j  variables are scalar constants, and so are the Tm min,i , Tm min,j , Tm max,i , and Tm max,j  values. Thus, scalar constants Q min,i , Q min,j , Q max,i , and Q max,j  can be defined as follows: 
     
       
      
       Q 
       min,i 
       =Tm 
       min,i 
       −M 
       i  
      
     
     
       
      
       Q 
       min,j 
       =Tm 
       min,j 
       −M 
       j  
      
     
     
       
      
       Q 
       max,i 
       =Tm 
       max,i 
       −M 
       i  
      
     
         Q   max,j   =Tm   max,j   −M   j . 
     Thus, the four constraint planes can be expressed generally as the following intermediate equations: 
         k   Tx,i ( Tx )+ K   Ty,i ( Ty )+ K   Ti,i ( Ti )≥ Q   min,i   (8a)
 
         k   Tx,j ( Tx )+ K   Ty,j ( Ty )+ K   Ti,j ( Ti )≥ Q   min,j   (8b)
 
         k   Tx,i ( Tx )+ K   Ty,i ( Ty )+ K   Ti,i ( Ti )≤ Q   max,i   (9a)
 
         k   Tx,j ( Ty )+ K   Ty,j ( Ty )+ K   Ti,j ( Ti )≤ Q   max,i .  (9b)
 
     Since minimum inequality constraint plane i is parallel to the maximum inequality constraint plane i and minimum inequality constraint plane j is parallel to the maximum inequality constraint plane j, intersections are only found between the i and j planes and not the i and i or j and j planes. The procedure described below provides a technique to find one intersection line and is eventually expanded to four intersection lines (see  FIGS.  4 - 5   ). 
     A line formed by the intersection of two linear inequality constraint planes is expressed generally in the following equation: 
         {right arrow over (r)} (λ)= P   0   +λ{right arrow over (d)}   (10)
 
     where λ is an introduced scalar parameter, P 0 = Tx 0 ,Ty 0 ,Ti 0    is a point that lies on both linear inequality constraint planes, and {right arrow over (d)}={right arrow over (N)} Tm,i ×{right arrow over (N)} Tm,j  is the direction vector of the line of intersection, {right arrow over (N)} Tm,i = k Tx,i ,k Ty,i ,k Ti,i    and {right arrow over (N)} Tm,j = k Tx,j ,k Ty,j ,k Ti,j    are the normal vectors to the linear inequality constraint planes. The cross-product of the two normal vectors is the direction vector of the intersection line. Because there are two pairs of parallel planes, the four direction vectors of the four lines will be parallel. It is sufficient to calculate only one of them. P 0  is an arbitrary point along the line. To find P 0 , consider that the intersection line will cross at least two of the following three planes: Tx=0, Ty=0, and Ti=0. P 0  can be found by setting one of the three variables (Tx, Ty, or Ti) to be zero and solving the system of two linear equations for the other two remaining variables. The selection of which of the three variables that is set to zero depends on the direction of the intersection line. If the line is known to intersect the Tx=0 plane, then solve the equations for a P 0  point on the Tx=0 plane. If the line is known to intersect the Ty=0 plane, then solve the equations for Ty=0. If the line is known to intersect the Ti=0 plane, then solve the equations for Ti=0. Every line intersects a combination of two or all three of these planes, so in every case it will be possible to choose one plane and solve for P 0  on that plane. 
     In the following equations, for instance, Ty 0 =0 was chosen. To find a point P 0,i_min,j_max  along the intersection line of the Tm i,min  and Tm j,max  constraint planes, the following equations must be solved: 
     
       
         
           
             
               
                 
                   
                     
                       [ 
                       
                         
                           
                             
                               k 
                               
                                 Tx 
                                 , 
                                 i 
                               
                             
                           
                           
                             
                               k 
                               
                                 Ti 
                                 , 
                                 i 
                               
                             
                           
                         
                         
                           
                             
                               k 
                               
                                 Tx 
                                 , 
                                 j 
                               
                             
                           
                           
                             
                               k 
                               
                                 Ti 
                                 , 
                                 j 
                               
                             
                           
                         
                       
                       ] 
                     
                     [ 
                     
                       
                         
                           
                             Tx 
                             
                               
                                 @ 
                                 Ty 
                               
                               = 
                               0 
                             
                           
                         
                       
                       
                         
                           
                             Ti 
                             
                               
                                 @ 
                                 Ty 
                               
                               = 
                               0 
                             
                           
                         
                       
                     
                     ] 
                   
                   = 
                   
                     [ 
                     
                       
                         
                           
                             Q 
                             
                               i 
                               , 
                               min 
                             
                           
                         
                       
                       
                         
                           
                             Q 
                             
                               j 
                               , 
                               max 
                             
                           
                         
                       
                     
                     ] 
                   
                 
               
               
                 
                   ( 
                   
                     11 
                     ⁢ 
                     a 
                   
                   ) 
                 
               
             
           
         
       
       
         
           
             
               
                 
                   
                     [ 
                     
                       
                         
                           
                             Tx 
                             
                               
                                 @ 
                                 Ty 
                               
                               = 
                               0 
                             
                           
                         
                       
                       
                         
                           
                             Ti 
                             
                               
                                 @ 
                                 Ty 
                               
                               = 
                               0 
                             
                           
                         
                       
                     
                     ] 
                   
                   = 
                   
                     
                       
                         [ 
                         
                           
                             
                               
                                 k 
                                 
                                   Tx 
                                   , 
                                   i 
                                 
                               
                             
                             
                               
                                 k 
                                 
                                   Ti 
                                   , 
                                   i 
                                 
                               
                             
                           
                           
                             
                               
                                 k 
                                 
                                   Tx 
                                   , 
                                   j 
                                 
                               
                             
                             
                               
                                 k 
                                 
                                   Ti 
                                   , 
                                   j 
                                 
                               
                             
                           
                         
                         ] 
                       
                       
                         - 
                         1 
                       
                     
                     [ 
                     
                       
                         
                           
                             Q 
                             
                               i 
                               , 
                               min 
                             
                           
                         
                       
                       
                         
                           
                             Q 
                             
                               j 
                               , 
                               max 
                             
                           
                         
                       
                     
                     ] 
                   
                 
               
               
                 
                   ( 
                   
                     11 
                     ⁢ 
                     b 
                   
                   ) 
                 
               
             
           
         
       
       
         
           
             
               
                 
                   
                     
                       Tx 
                       0 
                     
                     = 
                     
                       
                         
                           
                             ( 
                             
                               Q 
                               
                                 i 
                                 , 
                                 min 
                               
                             
                             ) 
                           
                           ⁢ 
                           
                             ( 
                             
                               k 
                               
                                 Ti 
                                 , 
                                 j 
                               
                             
                             ) 
                           
                         
                         - 
                         
                           
                             ( 
                             
                               Q 
                               
                                 j 
                                 , 
                                 max 
                               
                             
                             ) 
                           
                           ⁢ 
                           
                             ( 
                             
                               k 
                               
                                 Ti 
                                 , 
                                 i 
                               
                             
                             ) 
                           
                         
                       
                       
                         
                           
                             ( 
                             
                               k 
                               
                                 Tx 
                                 , 
                                 i 
                               
                             
                             ) 
                           
                           ⁢ 
                           
                             ( 
                             
                               k 
                               
                                 Ti 
                                 , 
                                 j 
                               
                             
                             ) 
                           
                         
                         - 
                         
                           
                             ( 
                             
                               k 
                               
                                 Ti 
                                 , 
                                 i 
                               
                             
                             ) 
                           
                           ⁢ 
                           
                             ( 
                             
                               k 
                               
                                 Tx 
                                 , 
                                 j 
                               
                             
                             ) 
                           
                         
                       
                     
                   
                   ⁢ 
                   
 
                   
                     
                       Ty 
                       0 
                     
                     = 
                     0 
                   
                   ⁢ 
                   
 
                   
                     
                       Ti 
                       0 
                     
                     = 
                     
                       
                         
                           
                             - 
                             
                               ( 
                               
                                 Q 
                                 
                                   i 
                                   , 
                                   min 
                                 
                               
                               ) 
                             
                           
                           ⁢ 
                           
                             ( 
                             
                               k 
                               
                                 Tx 
                                 , 
                                 j 
                               
                             
                             ) 
                           
                         
                         + 
                         
                           
                             ( 
                             
                               Q 
                               
                                 j 
                                 , 
                                 max 
                               
                             
                             ) 
                           
                           ⁢ 
                           
                             ( 
                             
                               k 
                               
                                 Tx 
                                 , 
                                 i 
                               
                             
                             ) 
                           
                         
                       
                       
                         
                           
                             ( 
                             
                               k 
                               
                                 Tx 
                                 , 
                                 i 
                               
                             
                             ) 
                           
                           ⁢ 
                           
                             ( 
                             
                               k 
                               
                                 Ti 
                                 , 
                                 j 
                               
                             
                             ) 
                           
                         
                         - 
                         
                           
                             ( 
                             
                               k 
                               
                                 Ti 
                                 , 
                                 i 
                               
                             
                             ) 
                           
                           ⁢ 
                           
                             ( 
                             
                               k 
                               
                                 Tx 
                                 , 
                                 j 
                               
                             
                             ) 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   12 
                   ) 
                 
               
             
           
         
       
     
     The equations above determine the coordinates Tx 0 , Ty 0 , Ti 0  of the point P 0,i_min,j_max . The coordinates of the point P 0,i_min,j_min  along the intersection line of Tm 1 ,min and Tm 1 ,min and the point P 0,i_max,j_max  along the intersection line of Tm i_max  and Tm j_max  and P 0,i_max,j_min  along the intersection of Tm i_max  and Tm j_min  can be calculated similarly. These procedures take place in block  212  of  FIG.  2   . An analogous procedure can be followed if the starting assumption is Tx=0 or Ti=0. 
     Generally, the line of intersection between two minimum/maximum linear inequality constraint planes is shown in the following equation: 
         {right arrow over (r)} (λ)= P   0   +λ{right arrow over (d)}=     Tx   0   +λd   Tx   ,Ty   0   +λd   Ty   ,Ti   0   +λd   Ti     (13)
 
     where Ty 0 =0 and the parameter λ can be found by setting the Tx and Ty components of the line described in the equations below equal to the extreme values of the inequality constraints described in equations 4-6 that make up the slab in three dimensions. These A values will eventually be used to compute Ti at these points, as shown in the equations below: 
     
       
         
           
             
               
                 
                   
                     Tx 
                     ⁢ 
                     Min 
                   
                   = 
                   
                     
                       Tx 
                       0 
                     
                     + 
                     
                       
                         λ 
                         TxMin 
                       
                       · 
                       
                         d 
                         Tx 
                       
                     
                   
                 
               
               
                 
                   ( 
                   
                     14 
                     ⁢ 
                     a 
                   
                   ) 
                 
               
             
           
         
       
       
         
           
             
               
                 
                   
                     
                       λ 
                       TxMin 
                     
                     = 
                     
                       
                         
                           Tx 
                           ⁢ 
                           Min 
                         
                         - 
                         
                           Tx 
                           0 
                         
                       
                       
                         d 
                         Tx 
                       
                     
                   
                   ⁢ 
                   
 
                   
                     
                       Tx 
                       ⁢ 
                       Max 
                     
                     = 
                     
                       
                         Tx 
                         0 
                       
                       + 
                       
                         
                           λ 
                           TxMax 
                         
                         · 
                         
                           d 
                           Tx 
                         
                       
                     
                   
                   ⁢ 
                   
 
                   
                     
                       λ 
                       TxMax 
                     
                     = 
                     
                       
                         
                           Tx 
                           ⁢ 
                           Max 
                         
                         - 
                         
                           Tx 
                           0 
                         
                       
                       
                         d 
                         Tx 
                       
                     
                   
                 
               
               
                 
                   ( 
                   
                     14 
                     ⁢ 
                     b 
                   
                   ) 
                 
               
             
           
         
       
     
     where λ TxMin  corresponds to the point where one of the four constraint intersection lines pokes through the Tx=Tx Min  plane on the constraint slab and λ TxMax  corresponds to the point where one of the four constraint intersection lines pokes through the Tx=Tx Max  plane on the constraint slab. Continuing the same logic for the remaining two planes of the slab: 
         Ty Min= Ty   0 +λ TyMin   ·d   Ty  
 
     P 0  can be solved for on the Ty=0 plane in the present example. Ty 0 =0 is the Ty coordinate of the P 0  point used to create the equation of this intersection line, so: 
     
       
         
           
             
               
                 
                   
                     
                       Ty 
                       ⁢ 
                       Min 
                     
                     = 
                     
                       
                         λ 
                         TyMin 
                       
                       · 
                       
                         d 
                         Ty 
                       
                     
                   
                   ⁢ 
                   
 
                   
                     
                       λ 
                       TyMin 
                     
                     = 
                     
                       
                         
                           Ty 
                           ⁢ 
                           Min 
                         
                         
                           d 
                           Ty 
                         
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   
                     14 
                     ⁢ 
                     c 
                   
                   ) 
                 
               
             
           
         
       
     
     Similarly: 
     
       
         
           
             
               
                 
                   
                     λ 
                     TyMax 
                   
                   = 
                   
                     
                       
                         Ty 
                         ⁢ 
                         Max 
                       
                       
                         d 
                         Ty 
                       
                     
                     . 
                   
                 
               
               
                 
                   ( 
                   
                     14 
                     ⁢ 
                     d 
                   
                   ) 
                 
               
             
           
         
       
     
     After the λ TxMin , λ TxMax , λ TyMin , and λ TyMax  values are found, equation 13 is used to determine the four Ti values for one of the intersection lines. After finding the points, each must be checked against the slab constraints described in equations 4-6. The following inequality verifies if an intersection point on the Ty=Ty Min  plane satisfies the Tx Min  and Tx Max  constraints: 
         Tx Min≤ Tx   0 +λ TyMin   ·d   Tx   ≤Tx Max  (15a).
 
     Similarly, the following inequality verifies if an intersection point on the Ty=Ty Max  plane satisfies the Tx Min  and Tx Max  constraints: 
         Tx Min≤ Tx   0 +λ TyMax   ·d   Tx   ≤Tx Max  (15b).
 
     Similarly, for the Ty Min &lt;Ty and the Ty&lt;Ty Max  constraints, with Ty 0  still being set to zero: 
         Ty Min≤λ Txmin   ·d   Ty   ≤Ty Max  (15c)
 
         Ty Min≤λ TxMax   ·d   Ty   ≤Ty Max  (15d).
 
     Only those points are kept for further analysis that satisfy the constraints. As done in the following equations, Ti is calculated using each A that satisfies the above constraints imposed by the slab described in equations 4-6: 
         Ti   1   =Ti   0 +λ 1   d   Ti   (16a)
 
         Ti   2   =Ti   0 +λ 2   d   Ti   (16b).
 
     The above procedure is executed for intersection lines 1, 2, 3, and 4 formed by the pairs of Tm i , Tm j  constraint plane pairs, leading to a total of at most 8 Ti values. This procedure is carried out in block  216  of  FIG.  2   . 
     For the second type of intersection point, the points where the vertical edges of the slab intersect with the four constraint planes are located in block  220  of  FIG.  2   . The four edges of the Tx, Ty, Ti limit slab form the four contour lines that run parallel with the Ti axis and are defined as “vertical edges” and can be seen in  FIG.  6   . These four edges may each poke through some or all of the four constraint planes, leading to a total of at most 16 intersection points. For instance, “Vertical Edge 2” is at Tx=Tx Max , Ty=Ty Min . To obtain the intersection point of “Vertical Edge 2” with the Tm j,max  plane, the coordinates: Tx=TxMax and Ty=TyMin are substituted into the equation of the Tm j,max  plane. The equation of the Tm j,max  plane is rearranged to calculate the Ti coordinate of the intersection point. After these points are determined, they are individually checked if they fall within the hatched overlap volume of the Tm and Tm 1  constraints, as shown in  FIG.  4   . Those points that do are kept for further processing. After finding these at most 8+16=24 points, the points with the minimum and maximum Ti values are selected in blocks  224  and  208  as described in greater detail below. 
     If the current TiMin is smaller than the previously stored TiMin, then this current TiMin is kept. Otherwise, the previously stored TiMin is kept. Similarly, if the current TiMax is larger than the previously stored TiMax, then the current TiMax is kept. Otherwise, we keep the previously stored TiMax. As described in greater detail below, this procedure is carried out for all possible combinations of two of the multiplicity of constraint plane pairs, and then the minimum and maximum Ti values are chosen from all the calculated values. This repetitive process runs around the feedback loop labeled “TiMin &amp; TiMax from constraints” in  FIG.  2   . 
     Referring now to  FIG.  7   , a flow diagram of an example method  700  of determining minimum and maximum engine torque limits based on three-dimensional constraints and controlling a hybrid-electric powertrain according to the principles of the present application is illustrated. While the components of the hybrid-electric powertrain  104  are specifically referenced for illustrative purposes, it will be appreciated that the method  700  could be applicable to other suitable hybrid-electric powertrain configurations. At  704 , the controller  136  of the vehicle  100  and from a set of sensors  132  of the hybrid-electric powertrain  104 , a set of operating parameters of a set of components of the hybrid-electric powertrain  104 , wherein each component of the set of components may impose a constraint on the motor and engine torque levels for the electric motors  124   a ,  124   b  and engine  120 . At  708 , the algorithm shown in  FIG.  2    is executed. At  712 , the controller  136  accesses a three-dimensional graph including a slab representing various minimum/maximum motor torque limits for the engine  120  and the electric motors  124   a ,  124   b . At  712 , based on the engine torque limits determined at  708  are further processed and the torque command signals to the motors and the engine are sent out. At  712 , the controller  136  controls the hybrid-electric powertrain  104  based on the final minimum and maximum engine torque values to avoid excessive torque commands that could damage physical components of the hybrid-electric powertrain and/or could cause undesirable noise/vibration/harshness (NVH) characteristics. The method  700  then ends or returns to  704  for one or more additional cycles. 
     It should also be understood that the mixing and matching of features, elements, methodologies and/or functions between various examples may be expressly contemplated herein so that one skilled in the art would appreciate from the present teachings that features, elements and/or functions of one example may be incorporated into another example as appropriate, unless described otherwise above.