INTERNAL COMBUSTION ENGINE TORQUE OPTIMIZATION SUBJECT TO CONSTRAINTS IN HYBRID-ELECTRIC POWERTRAINS

20230150477 · 2023-05-18

    Inventors

    Cpc classification

    International classification

    Abstract

    Hybrid-electric powertrain control systems and methods include a set of sensors configured to measure a set of operating parameters of a set of components of the hybrid-electric powertrain that are each 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.

    Claims

    1. 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 a transmission comprising a plurality of clutches, the control system comprising: 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.

    2. The control system of claim 1, wherein there are a plurality of constraints depending on a configuration of the hybrid-electric powertrain and operation mode.

    3. The control system of claim 2, wherein 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.

    4. The control system of claim 2, wherein 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.

    5. The control system of claim 1, wherein 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.

    6. The control system of claim 5, wherein 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.

    7. The control system of claim 1, wherein 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.

    8. The control system of claim 7, wherein 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.

    9. The control system of claim 1, wherein 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.

    10. The control system of claim 9, wherein 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.

    11. 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 a transmission comprising a plurality of clutches, the method comprising: 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.

    12. The method of claim 11, wherein there are a plurality of constraints depending on a configuration of the hybrid-electric powertrain and operation mode.

    13. The method of claim 12, wherein 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.

    14. The method of claim 12, wherein 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.

    15. The method of claim 11, wherein 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.

    16. The method of claim 15, wherein 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.

    17. The method of claim 11, wherein 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.

    18. The method of claim 17, wherein 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.

    19. The method of claim 11, wherein 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.

    20. The method of claim 19, wherein 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.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0014] FIG. 1 is a functional block diagram of a vehicle having an example hybrid-electric powertrain according to the principles of the present application;

    [0015] FIG. 2 is a functional block diagram of an example minimum/maximum torque limit determination architecture according to the principles of the present application;

    [0016] FIG. 3 is an example three-dimensional graph illustrating hybrid-electric powertrain system constraints according to the principles of the present application;

    [0017] FIG. 4 is an example three-dimensional graph illustrating pairs of minimum/maximum linear inequality constraints according to the principles of the present application;

    [0018] 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;

    [0019] 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

    [0020] 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

    [0021] 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.

    [0022] 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 124a, 124b, 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 124a, 124b 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 124a, 124b. 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.

    [0023] 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 124a, 124b (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.sub.a=torque of motor A 124a, T.sub.b=torque of motor B 124b, and T.sub.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.sub.1*T.sub.a+A.sub.2  (1)


    Ty=B.sub.1*T.sub.b+B.sub.2  (2),

    where A.sub.1, B.sub.1, A.sub.2, and B.sub.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.sub.1 is described in the following equation:


    f.sub.objective(Tx,Ty,Ti)=Tm.sub.1=k.sub.Tx,o*Tx+k.sub.Ty,o*Ty+k.sub.Ti,o*Ti+D  (3)

    where Tm.sub.1 is to be optimized, k.sub.Tx,o, k.sub.Ty,o, and K.sub.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.sub.1 while honoring the constraint inequalities. The objective function Tm.sub.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.

    [0024] The k.sub.Tx,o, k.sub.Ty,o, K.sub.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.sub.1 as a function of Tx, Ty, and Ti. The search for the minimum or maximum value of Tm.sub.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.sub.min≤T≤TX.sub.max  (4)


    Ty.sub.min≤Ty≤Ty.sub.max  (5)


    Ti.sub.min≤Ti≤Ti.sub.max  (6).

    After the Tx.sub.min, Tx.sub.max, Ty.sub.min, Ty.sub.max, Ti.sub.min, and Ti.sub.max limits of the slab are calculated, a plurality of, for instance five linear minimum/maximum inequality constraints are imposed. These are denoted Tm.sub.2 through Tm.sub.6.

    [0025] Each of the Tm.sub.2 through Tm.sub.6 constraints are described generally in the following pair of inequalities where n=2, . . . , 6.


    Tm.sub.min,n≤k.sub.Tx,n*Tx+k.sub.Ty,n*Ty+k.sub.Ti,n*Ti+Mn≤Tm.sub.max,n  (7).

    The following scalar coefficients k.sub.Tx,n, k.sub.Ty,n, and k.sub.Ti,n and constant scalar term M.sub.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.sub.min,n and Tm.sub.max,n are known minimum/maximum values for the n.sup.th constraint. Additionally, the n.sup.th minimum inequality constraint plane is parallel to the n.sup.th maximum inequality constraint plane and the minimum/maximum constraints are imposed together as minimum/maximum sets. The Tm.sub.2 through Tm.sub.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.sub.2 having the highest priority and constraint Tm.sub.6 having the lowest priority.

    [0026] 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.sub.2 and Tm.sub.3, and no part of domain 3 satisfies Tm.sub.4, then, within domain 3, the geometric feature that falls the closest to the Tm.sub.4 planes will be chosen as the result of applying Tm.sub.4. If the planes of Tm.sub.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.sub.4 planes, and is the closest domain 3 geometric feature to Tm.sub.4, then that straight edge will be selected as domain 4. If the domain 3 feature falling the closest to the planes of Tm.sub.4 is a point, then that point will become domain 4. Imposing the Tm.sub.2 through Tm.sub.6 constraints on the Tx.sub.min, Ty.sub.max, Ty.sub.min, Ty.sub.max, Ti.sub.min, and Ti.sub.max slab and finding the Ti.sub.min and Ti.sub.max values under those constraints is a key objective of the present application.

    [0027] A summary of the hybrid-electric powertrain constraints can be seen in Table 1 below:

    TABLE-US-00001 TABLE 1 Constraint Constraint Constraint Description Type Expression Tx Min Slab, Tx min/max set Tx.sub.min ≤ Tx Tx Max Slab, Tx min/max set Tx ≤ Txmax Ty Min Slab, Ty min/max set Ty.sub.min ≤ Ty Ty Max Slab, Ty min/max set Ty ≤ Ty.sub.max Ti Min Slab, Ti min/max set Ti.sub.min ≤ Ti Ti Max Slab, Ti min/max set Ti ≤ Ti.sub.max n = 2, Min Tm.sub.2 min plane, Tm.sub.min, 2 ≤ k.sub.Tx, 2*Tx + part of the Tm.sub.2 min, k.sub.Ty, 2*Ty + k.sub.Ti, 2*Ti + M.sub.2 Tm.sub.2 max plane pair n = 2, Max Tm.sub.2 max plane, k.sub.Tx, 2*Tx + k.sub.Ty, 2*Ty + part of the Tm.sub.2 min, k.sub.Ti, 2*Ti + M.sub.2 ≤ Tm.sub.max, 2 Tm.sub.2 max plane pair n = 3, Min Tm.sub.3 min plane, Tm.sub.min, 3 ≤ k.sub.Tx, 3*Tx + part of the Tm.sub.3 min, k.sub.Ty, 3*Ty + k.sub.Ti, 3*Ti + M.sub.3 Tm.sub.3max plane pair n = 3, Max Tm.sub.3 max plane, k.sub.Tx, 3*Tx + k.sub.Ty, 3*Ty + part of the Tm.sub.3 min, k.sub.Ti, 3*Ti + M.sub.3 ≤ Tm.sub.max, 3 Tm.sub.3 max plane pair n = 4, Min Tm.sub.4 min plane, Tm.sub.min, 4 ≤ k.sub.Tx, 4*Tx + part of the Tm.sub.4 min, k.sub.Ty, 4*Ty + k.sub.Ti, 4*Ti + M.sub.4 Tm.sub.4max plane pair n = 4, Max Tm.sub.4 max plane, k.sub.Tx, 4*Tx + k.sub.Ty, 4*Ty + part of the Tm.sub.4 min, k.sub.Ti, 4*Ti + M.sub.4 ≤ Tm.sub.max, 4 Tm.sub.4 max plane pair n = 5, Min Tm.sub.5 min plane, Tm.sub.min, 5 ≤ k.sub.Tx, 5*Tx + part of the Tm.sub.5 min, k.sub.Ty, 5*Ty + k.sub.Ti, 5*Ti + M.sub.5 Tm.sub.5 max plane pair n = 5, Max Tm.sub.5 max plane, k.sub.Tx, 5*Tx + k.sub.Ty, 5*Ty + part of the Tm.sub.5 min, k.sub.Ti, 5*Ti + M.sub.2 ≤ Tm.sub.max, 5 Tm.sub.5 max plane pair n = 6, Min Tm.sub.6 min plane, Tm.sub.min, 6 ≤ k.sub.Tx, 6*Tx + part of the Tm.sub.6 min, k.sub.Ty, 6*Ty + k.sub.Ti, 6*Ti + M.sub.6 Tm.sub.6 max plane pair n = 6, Max Tm.sub.6 max plane, k.sub.Tx, 6*Tx + k.sub.Ty, 6*Ty + part of the Tm.sub.6 min, k.sub.Ti, 6*Ti + M.sub.6 ≤ Tm.sub.max, 6 Tm.sub.6 max plane pair

    [0028] The hybrid-electric powertrain constraints described in Table 1 and the linear objective function Tm.sub.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.sub.i, Tm.sub.j constraint planes indicates the overlap of the Tm.sub.i, Tm.sub.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.sub.i and the Tm.sub.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.

    [0029] 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.sub.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.sub.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.

    [0030] 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.

    [0031] 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.sub.Tx,i(Tx)+K.sub.Ty,i(Ty)+K.sub.Ti,i(Ti)+M.sub.i≥Tm.sub.min,i


    k.sub.Tx,j(Tx)+K.sub.Ty,j(Ty)+K.sub.Ti,j(Ti)+M.sub.j≥Tm.sub.min,j


    k.sub.Tx,i(Tx)+K.sub.Ty,i(Ty)+K.sub.Ti,i(Ti)+M.sub.i≤Tm.sub.max,i


    k.sub.Tx,j(Tx)+K.sub.Ty,j(Ty)+K.sub.Ti,j(Ti)+M.sub.j≤Tm.sub.max,j.

    [0032] The M.sub.i and M.sub.j variables are scalar constants, and so are the Tm.sub.min,i, Tm.sub.min,j, Tm.sub.max,i, and Tm.sub.max,j values. Thus, scalar constants Q.sub.min,i, Q.sub.min,j, Q.sub.max,i, and Q.sub.max,j can be defined as follows:


    Q.sub.min,i=Tm.sub.min,i−M.sub.i


    Q.sub.min,j=Tm.sub.min,j−M.sub.j


    Q.sub.max,i=Tm.sub.max,i−M.sub.i


    Q.sub.max,j=Tm.sub.max,j−M.sub.j.

    Thus, the four constraint planes can be expressed generally as the following intermediate equations:


    k.sub.Tx,i(Tx)+K.sub.Ty,i(Ty)+K.sub.Ti,i(Ti)≥Q.sub.min,i  (8a)


    k.sub.Tx,j(Tx)+K.sub.Ty,j(Ty)+K.sub.Ti,j(Ti)≥Q.sub.min,j  (8b)


    k.sub.Tx,i(Tx)+K.sub.Ty,i(Ty)+K.sub.Ti,i(Ti)≤Q.sub.max,i  (9a)


    k.sub.Tx,j(Ty)+K.sub.Ty,j(Ty)+K.sub.Ti,j(Ti)≤Q.sub.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).

    [0033] A line formed by the intersection of two linear inequality constraint planes is expressed generally in the following equation:


    {right arrow over (r)}(λ)=P.sub.0+λ{right arrow over (d)}  (10)

    where λ is an introduced scalar parameter, P.sub.0=custom-characterTx.sub.0,Ty.sub.0,Ti.sub.0custom-character is a point that lies on both linear inequality constraint planes, and {right arrow over (d)}={right arrow over (N)}.sub.Tm,i×{right arrow over (N)}.sub.Tm,j is the direction vector of the line of intersection, {right arrow over (N)}.sub.Tm,i=custom-characterk.sub.Tx,i,k.sub.Ty,i,k.sub.Ti,icustom-character and {right arrow over (N)}.sub.Tm,j=custom-characterk.sub.Tx,j,k.sub.Ty,j,k.sub.Ti,jcustom-character 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.sub.0 is an arbitrary point along the line. To find P.sub.0, consider that the intersection line will cross at least two of the following three planes: Tx=0, Ty=0, and Ti=0. P.sub.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.sub.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.sub.0 on that plane.

    [0034] In the following equations, for instance, Ty.sub.0=0 was chosen. To find a point P.sub.0,i_min,j_max along the intersection line of the Tm.sub.i,min and Tm.sub.j,max constraint planes, the following equations must be solved:

    [00001] [ 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.sub.0, Ty.sub.0, Ti.sub.0 of the point P.sub.0,i_min,j_max. The coordinates of the point P.sub.0,i_min,j_min along the intersection line of Tm.sub.1,min and Tm.sub.1,min and the point P.sub.0,i_max,j_max along the intersection line of Tm.sub.i_max and Tm.sub.j_max and P.sub.0,i_max,j_min along the intersection of Tm.sub.i_max and Tm.sub.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.

    [0035] Generally, the line of intersection between two minimum/maximum linear inequality constraint planes is shown in the following equation:


    {right arrow over (r)}(λ)=P.sub.0+λ{right arrow over (d)}=custom-characterTx.sub.0+λd.sub.Tx,Ty.sub.0+λd.sub.Ty,Ti.sub.0+λd.sub.Ticustom-character  (13)

    where Ty.sub.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:

    [00002] Tx Min = Tx 0 + λ TxMin .Math. d Tx ( 14 a ) λ TxMin = Tx Min - Tx 0 d Tx Tx Max = Tx 0 + λ TxMax .Math. d Tx λ TxMax = Tx Max - Tx 0 d Tx ( 14 b )

    where λ.sub.TxMin corresponds to the point where one of the four constraint intersection lines pokes through the Tx=Tx.sub.Min plane on the constraint slab and λ.sub.TxMax corresponds to the point where one of the four constraint intersection lines pokes through the Tx=Tx.sub.Max plane on the constraint slab. Continuing the same logic for the remaining two planes of the slab:


    TyMin=Ty.sub.0+λ.sub.TyMin.Math.d.sub.Ty

    P.sub.0 can be solved for on the Ty=0 plane in the present example. Ty.sub.0=0 is the Ty coordinate of the P.sub.0 point used to create the equation of this intersection line, so:

    [00003] Ty Min = λ TyMin .Math. d Ty λ TyMin = Ty Min d Ty . ( 14 c )

    [0036] Similarly:

    [00004] λ TyMax = Ty Max d Ty . ( 14 d )

    After the λ.sub.TxMin, λ.sub.TxMax, λ.sub.TyMin, and λ.sub.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.sub.Min plane satisfies the Tx.sub.Min and Tx.sub.Max constraints:


    TxMin≤Tx.sub.0+λ.sub.TyMin.Math.d.sub.Tx≤TxMax  (15a).

    Similarly, the following inequality verifies if an intersection point on the Ty=Ty.sub.Max plane satisfies the Tx.sub.Min and Tx.sub.Max constraints:


    TxMin≤Tx.sub.0+λ.sub.TyMax.Math.d.sub.Tx≤TxMax  (15b).

    Similarly, for the Ty.sub.Min<Ty and the Ty<Ty.sub.Max constraints, with Ty.sub.0 still being set to zero:


    TyMin≤λ.sub.Txmin.Math.d.sub.Ty≤TyMax  (15c)


    TyMin≤λ.sub.TxMax.Math.d.sub.Ty≤TyMax  (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.sub.1=Ti.sub.0+λ.sub.1d.sub.Ti  (16a)


    Ti.sub.2=Ti.sub.0+λ.sub.2d.sub.Ti  (16b).

    The above procedure is executed for intersection lines 1, 2, 3, and 4 formed by the pairs of Tm.sub.i, Tm.sub.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.

    [0037] 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.sub.Max, Ty=Ty.sub.Min. To obtain the intersection point of “Vertical Edge 2” with the Tm.sub.j,max plane, the coordinates: Tx=TxMax and Ty=TyMin are substituted into the equation of the Tm.sub.j,max plane. The equation of the Tm.sub.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.sub.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.

    [0038] 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 & TiMax from constraints” in FIG. 2.

    [0039] 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 124a, 124b 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 124a, 124b. 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.

    [0040] 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.