Method for controlling a vehicle's engine system using airflow actuators

The use of a model predictive controller in engine control systems addresses the limitations of conventional systems by precisely controlling engine torque, enhancing responsiveness and accuracy, and improving engine performance.

DE102018108521B4Active Publication Date: 2025-05-08GM GLOBAL TECHNOLOGY OPERATIONS LLC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
DE102018108521
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2017-04-13
Filing Date
2018-04-10
Publication Date
2025-05-08
Estimated Expiration
2038-04-10

AI Technical Summary

Technical Problem

Conventional engine control systems lack the accuracy and responsiveness needed to precisely control engine output torque, particularly in responding to driver inputs and coordinating torque control across multiple devices.

Method used

A method utilizing a model predictive controller (MPC) to generate air torque requests based on driver inputs, identify sets of possible setpoints, determine predicted operating parameters, calculate cost values, and select the optimal set of target values to control the throttle valve, wastegate, and valve phasing.

Benefits of technology

This approach enhances the accuracy and speed of engine torque response, allowing for better coordination of torque control across engine components, thereby improving overall engine performance and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Method for controlling an engine system (100) of a vehicle, the method comprising: Generating an air torque request for an engine based on driver inputs; using model predictive control (MPC): Identifying a multitude of possible setpoints based on the air torque requirement, each of the multitude of possible setpoints including a target throttling range percentage; Determining a predicted set of operating parameters for each of the multitude of possible setpoints, in each case; Determining the cost values ​​for each of the multitude of possible setpoints based on the predicted set of operating parameters of each of the multitude of possible setpoints, respectively; Selecting one of the many sets of possible target values ​​based on the cost values; and Selecting a set of setpoints based on one of the multitude of possible setpoints, wherein the set of setpoints includes a target-effective throttling range percentage; Determining a target opening range of a throttle valve (112) based on the target effective throttle range percentage; and Control of the throttle valve (112) based on the target opening range; characterized by the fact that identifying a multitude of possible setpoints based on the air torque requirement, each of the multitude of possible setpoints with a possible effective throttle range percentage; furthermore, identifying a multitude of possible setpoints based on the air torque requirement, each of the multitude of possible setpoints with a possible effective throttle range percentage and a possible effective boost pressure control valve percentage; and / or that identifying a multitude of possible setpoints based on the air torque requirement, each of the multitude of possible setpoints with a possible target effective throttle range percentage, including a multitude of possible setpoints based on the air torque requirement, each multitude of possible setpoints with a possible target effective throttle range percentage, a possible maximum opening of the target exhaust cam (270) and a possible maximum opening of the target intake cam (269); and / or that determining a predicted set of operating parameters for each of the multitude of possible sets of setpoints, in each case, further comprising determining a predicted set of operating parameters for each of the multitude of possible sets of setpoints, in each case, based on a multitude of measured disturbances.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present invention relates to vehicles with internal combustion engines and in particular to a method according to the preamble of claim 1 for controlling an engine system of a vehicle, as is essentially known from DE 10 2016 120 144 A1.

[0002] Further state of the art can be found in the documents DE 10 2016 209 734 A1 and DE 10 2015 104 189 A1. BACKGROUND

[0003] Internal combustion engines burn a fuel-air mixture in cylinders to move the pistons and produce drive torque. The air supply to the engine is controlled by a throttle. More specifically, the throttle controls the throttle range, which increases or decreases the air supply to the engine. As the throttle range increases, the air supply to the engine also increases. A fuel control system adjusts the amount of fuel injected to supply the cylinders with a desired fuel-air mixture and / or to achieve a desired output torque. Supplying more fuel and air to the cylinders increases the engine's output torque.

[0004] In spark-ignition engines, an ignition spark triggers the combustion of an air-fuel mixture delivered to the cylinders. In compression-ignition engines, the air-fuel mixture delivered to the cylinders is ignited by compression within the cylinders. Ignition timing and air delivery can be the key factors controlling the torque output of spark-ignition engines, while fuel delivery can be the key factor controlling the torque output of compression-ignition engines.

[0005] Motor control systems are designed to control motor output torque and achieve a desired torque. However, conventional motor control systems do not control motor output torque with the required accuracy. For example, some response outputs used in control variable feedback loops are not updated quickly enough to provide a near-real-time feedback value that allows for accurate commands. Furthermore, conventional motor control systems do not provide a fast response to control signals or coordinate motor torque control among multiple devices that affect motor output torque. Therefore, there is a need for an improved motor control method that incorporates a faster response variable and improved control accuracy. SUMMARY

[0006] According to the invention, a method with the features of claim 1 is presented for controlling an engine system of a vehicle, comprising generating an air torque request for an engine based on driver inputs and using a model predictive controller (MPC) to identify a plurality of sets of possible setpoints based on the air torque request. Each of the plurality of sets of possible setpoints includes a possible target effective throttle range percentage. Using the MPC to determine a predicted set of respective operating parameters for each of the plurality of sets of possible setpoints. Using the MPC to determine cost values ​​for each of the plurality of sets of possible setpoints based on the respective predicted set of operating parameters of each of the plurality of sets of possible setpoints.Using the MPC to select one of the plurality of sets of possible setpoints based on the cost values, based on selecting one of the plurality of sets of possible setpoints, the set of setpoints including a target effective throttle range percentage. Determining a target opening range of the throttle valve based on the target effective throttle range percentage. Controlling the throttle valve based on the target opening range.

[0007] In another example of the present invention, selecting a set of possible setpoints based on one of the selected plurality of sets of possible setpoints having a possible target effective throttle range percentage, further comprising selecting a set of setpoints based on the selected one of the plurality of sets of possible setpoints, the set of possible setpoints including a target effective throttle range percentage and a target effective wastegate percentage.

[0008] In yet another example of the present invention, determining a predicted set of operating parameters for each of the plurality of sets of possible setpoints, each based on a plurality of measured disturbances, further comprising determining a predicted set of operating parameters for each of the plurality of sets of possible setpoints, each based on a plurality of measured disturbances and a plurality of feedback inputs.

[0009] In yet another example of the present invention, determining a predicted set of operating parameters for each of the plurality of sets of possible setpoints, each based on a plurality of measured disturbances and a plurality of feedback inputs, further comprising determining a predicted set of operating parameters for each of the plurality of sets of possible setpoints, each based on a plurality of measured disturbances, a current normalized knock-limited spark air torque, a current boost pressure, a current trap ratio, and a current normalized average effective pump pressure.

[0010] In yet another example of the present invention, determining a predicted set of operating parameters for each of the plurality of sets of possible setpoints, each based on a plurality of measured disturbances and a plurality of feedback inputs, further comprising determining a predicted set of operating parameters for each of the plurality of sets of possible setpoints, each based on a current half mass burn crank angle (CA50), a current cylinder deactivation state, and a scaled engine speed and a plurality of feedback inputs.

[0011] In yet another example of the present invention, the method further comprises determining a target boost valve opening range based on the target effective boost valve percentage and controlling a boost valve based on the target boost valve opening range and controlling each of an intake valve phasing and an exhaust valve phasing based on the maximum opening position of the target intake and exhaust cams.

[0012] Further objects, examples and advantages of the present invention will become apparent with reference to the following description and the accompanying drawings, wherein like reference numerals refer to like components, elements or features. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] The present invention will become more fully understood with the aid of the detailed description and the accompanying drawings, in which: Fig. 1 is a functional block diagram of an exemplary engine system according to the present invention; Fig. 2 is a functional block diagram of an exemplary engine control system according to the present invention; Fig. 3 is a functional block diagram of an exemplary engine system according to the present invention; Fig. 4 is a functional block diagram of an exemplary engine system according to the present invention; and Fig. 5 is a flowchart illustrating an exemplary method for controlling a throttle valve, an intake and exhaust valve phaser, and a turbocharger wastegate using model predictive control in accordance with the present invention. DETAILED DESCRIPTION

[0014] An engine control module (ECM) controls an engine's torque output. More specifically, the ECM controls the engine's actuators based on command values ​​derived from the requested torque. For example, the ECM controls intake and exhaust camshaft phasing based on the intake and exhaust camshafts' maximum opening position, a throttle valve based on a target throttle valve opening, and a turbocharger wastegate based on a target wastegate area percentage.

[0015] The ECM could determine the setpoints individually using multiple single-input, single-output (SISO) controllers, such as proportional-integral-derivative (PID) controllers. However, when multiple SISO controllers are used, the setpoints can only ensure system stability at the expense of potential fuel savings. Furthermore, the calibration and design of each SISO controller can be costly and time-consuming.

[0016] The ECM presented in the present invention generates the setpoints using a model predictive control (MPC) module. The MPC module identifies sets of possible setpoints and selects one of the sets of possible setpoints with the lowest cost. The MPC module adjusts the setpoints to the respective possible setpoints of the selected sets.

[0017] According to the present invention, the setpoints generated by the MPC module include a target throttle range percentage. Specifically, the MPC module determines sets of possible setpoints, including the possible maximum opening position of the intake and exhaust cams, the possible target throttle range percentage, and the possible target wastegate range percentage. The MPC module selects one of these sets of possible setpoints and sets the target throttle range percentage to the possible target throttle range percentage of the selected set.The MPC module also sets the possible intake cam opening position, the maximum exhaust cam opening position, and the target wastegate area percentage to the possible maximum intake cam opening position, possible maximum exhaust cam opening position, and the possible target wastegate area percentage of the respective selected set.

[0018] The ECM converts the target throttle range percentage into a desired throttle opening. The MPC module, which generates the target throttle range percentage and converts the target throttle range percentage into the desired throttle opening, can produce better torque response than the MPC module, which generates the desired throttle opening.

[0019] With reference to Fig. 1, a functional block diagram of an exemplary engine system 100 is shown. The engine system 100 includes an engine 102 that combusts a fuel-air mixture to generate drive torque for a vehicle based on driver inputs from a driver input module 104. The engine 102 may be a spark-ignition gasoline internal combustion engine.

[0020] Air is drawn through an intake manifold 110 via a throttle valve 112. For example only, the throttle valve 112 may include a throttle plate with a rotatable vane. An engine control module (ECM) 114 controls a throttle actuator module 116, which in turn controls the opening of the throttle plate 112 to regulate the amount of air drawn into the intake manifold 110.

[0021] Air from intake manifold 110 is drawn into the cylinders of engine 102. Although engine 102 may include multiple cylinders, only a single representative cylinder 118 is shown here for illustrative purposes. For example only, cylinder 102 may include 2, 3, 4, 5, 6, 8, 10, and / or 12 cylinders. ECM 114 may command a cylinder actuator module 120 to selectively deactivate specific cylinders, which may improve fuel efficiency under certain engine operating conditions.

[0022] The engine 102 is operable according to the four-stroke cycle principle. The four strokes described below may be referred to as the intake stroke, compression stroke, combustion stroke, and exhaust stroke. During each revolution of a crankshaft (not shown), two of the four strokes occur within cylinder 118. Accordingly, two revolutions of the crankshaft are required for cylinder 118 to complete all four strokes.

[0023] During the intake stroke, air is drawn from the intake manifold 110 through an intake valve 122 into the cylinder 118. The ECM 114 controls a fuel actuator module 124, which regulates fuel injection to achieve a specific desired air / fuel ratio. Fuel may be injected into the intake manifold 110 at a central location or multiple locations, such as near the intake valve 122 of each cylinder. In various implementations (not shown), fuel may be injected directly into the cylinders or into mixing chambers connected to the cylinders. The fuel actuator module 124 may stop injecting fuel into deactivated cylinders.

[0024] The injected fuel mixes with air to form a fuel / air mixture within cylinder 118. During the compression stroke, a piston (not shown) within cylinder 118 compresses the fuel / air mixture. Based on a signal from the ECM 114, a spark actuator module 126 applies voltage to a spark plug 128 within cylinder 118, which ignites the fuel / air mixture. The timing of the spark may be set so that the piston is at its uppermost position, known as top dead center (TDC).

[0025] The spark actuator module 126 may be controlled by a timing signal that determines how long before or after TDC the spark should be initiated. Because piston position is directly related to crankshaft rotation, the function of the spark actuator module 126 may be synchronized with the crankshaft angle. Generating the spark may be referred to as ignition. The spark actuator module 126 may have the ability to vary the ignition timing for each ignition event. The spark actuator module 126 may postpone the ignition timing for a next ignition if the ignition timing was changed between a last ignition and the next ignition. The spark actuator module 126 may disable ignition for deactivated cylinders.

[0026] During the combustion stroke, the combustion of the fuel / air mixture propels the piston away from TDC, thereby driving the crankshaft. The combustion stroke can be defined as the time between the moment the piston reaches TDC and the moment the piston reaches bottom dead center (BDC). During the exhaust stroke, the piston moves away from BDC and expels the combustion waste products through an exhaust valve 130. The combustion waste products are expelled from the vehicle via an exhaust system 134.

[0027] The intake valve 122 may be controlled by an intake camshaft 140, while the exhaust valve 130 may be controlled by an exhaust camshaft 142. In various applications, multiple intake camshafts (including the intake camshaft 140) may control multiple intake valves (including the intake valve 122) for the cylinder 118 and / or may control the intake valves (including the intake valve 122) of multiple cylinder banks (including the cylinder 118). Similarly, multiple exhaust camshafts (including the exhaust camshaft 142) may control multiple exhaust valves for the cylinder 118 and / or may control exhaust valves (including the exhaust valve 130) of multiple cylinder banks (including the cylinder 118). In various implementations, the intake valve 122 and / or the exhaust valve 130 may be controlled by devices other than camshafts, such asby camless valve actuators. The cylinder actuator module 120 may deactivate the cylinder 118 by disabling the opening of the intake valve 122 and / or the exhaust valve 130.

[0028] The timing of intake valve 122 opening may be varied relative to piston TDC by an intake cam phaser 148. The timing of exhaust valve 130 opening may be varied relative to piston TDC by an exhaust cam phaser 150. A phaser module 158 may control intake cam phaser 148 and exhaust cam phaser 150 based on signals from the ECM 114. If implemented, variable valve lift (not shown) may also be controlled by the phaser module 158.

[0029] The engine system 100 may include a turbocharger, which in turn includes a hot gas turbine 160-1 driven by the hot exhaust gases flowing through the exhaust system 134. The turbocharger also includes a cold air compressor 160-2 driven by the turbine 160-1. The compressor 160-2 compresses the air fed into the throttle valve 112. In various implementations, a crankshaft-driven turbocharger (not shown) may compress the air from the throttle valve 112 and deliver the compressed air into the intake manifold 110.

[0030] A wastegate 162 may direct exhaust gases past the turbine 160-1, thereby reducing the boost pressure (the amount of intake air compression) generated by the turbocharger. A boost actuator module 164 may regulate the boost pressure of the turbocharger by controlling the opening of the wastegate 162. In various implementations, two or more turbochargers may be used, which may be controlled by the boost actuator module 164.

[0031] An air cooler (not shown) may transfer heat from the compressed charge air to a cooling medium, such as engine coolant or air. An air cooler that cools the compressed charge air using engine coolant may be referred to as an intercooler. An air cooler that cools the compressed charge air using air may be referred to as a charge air cooler. The compressed charge air may be heated, for example, by compression and / or by other components of the exhaust system 134. Although shown separately for illustrative purposes, the turbine 160-1 and the compressor 160-2 may be connected to each other and direct the intake air near hot exhaust gases.

[0032] The engine system 100 may include an exhaust gas recirculation (EGR) valve 170 that selectively recirculates exhaust gas to the intake manifold 110. The EGR valve 170 may be located upstream of the turbocharger turbine 160-1. The EGR valve 170 may be controlled by an EGR actuator module 172 based on signals from the ECM 114.

[0033] A crankshaft position may be measured using a crankshaft position sensor 180. A crankshaft speed (engine speed) may be determined based on the crankshaft position. An engine coolant temperature may be measured using an engine coolant temperature (ECT) sensor 182. The ECT sensor 182 may be located within the engine 102 or at other locations where the coolant is circulated, such as a radiator (not shown).

[0034] The pressure within the intake manifold 110 may be measured using a manifold absolute pressure (MAP) sensor 184. In various implementations, engine vacuum, consisting of the difference between ambient air pressure and the pressure within the intake manifold 110, may be measured. The mass flow rate of air flowing through the intake manifold 110 may be measured using a mass airflow (MAF) sensor 186. In various implementations, the MAF sensor 186 may be positioned within a housing that also includes the throttle body 112.

[0035] The throttle actuator module 116 may monitor the position of the throttle valve 112 using one or more throttle position (TPS) sensors 190. The pressure of the air intake into the throttle valve 112 may be measured using a throttle inlet air pressure (TIAP) sensor 191. The temperature of the ambient air supplied to the engine 102 may be measured using an intake air temperature (IAT) sensor 192. The engine system 100 may also include one or more other sensors 193, such as an ambient humidity sensor, one or more knock sensors, a compressor outlet pressure sensor and / or a throttle inlet pressure sensor, a wastegate position sensor, an EGR position sensor, and / or one or more other suitable sensors. The ECM 114 may use signals from the sensors to make control decisions for the engine system 100.

[0036] The ECM 114 may communicate with a transmission control module 194 to coordinate gear shifting within a transmission (not shown). For example, the ECM 114 may reduce engine torque during a gear shift. The ECM 114 may communicate with a hybrid control module 196 to coordinate operation of the engine 102 and an electric motor 198.

[0037] The electric motor 198 can also operate as a generator and can be used to generate electrical energy for use by electrical systems and / or for storage in a battery. In various implementations, various functions of the ECM 114, the transmission control module 194, and the hybrid control module 196 can be integrated into one or more modules.

[0038] Any system that affects an engine parameter can be referred to as an engine actuator. For example, the throttle actuator module 116 can adjust the opening of the throttle valve 112 to achieve a desired throttle valve opening range. The ignition actuator module 126 controls the spark plugs to achieve a desired ignition timing relative to piston top dead center. The fuel actuator module 124 controls the injectors to achieve certain fuel delivery setpoints. The phaser actuator module 158 can control the intake and exhaust cam phasers 148 and 150 to achieve maximum opening positions for the intake and exhaust cams, respectively. The boost actuator module 164 controls the wastegate 162 to achieve a desired wastegate opening range.The cylinder actuator module 120 controls cylinder deactivation to achieve a desired number of activated and deactivated cylinders.

[0039] The ECM 114 generates the desired engine actuator values ​​to enable the engine 102 to produce a desired engine output torque. The ECM 114 generates the desired engine actuator values ​​using model predictive control, as discussed in more detail below.

[0040] With reference to Fig. 2, a functional block diagram of an exemplary engine control system is shown. An exemplary implementation of the ECM 114 includes a driver torque module 202, an axle torque arbitration module 204, and a propulsion torque arbitration module 206. The ECM 114 may include a hybrid optimization module 208. The ECM 114 may also include a reserve / load module 220, a torque request module 224, an air control module 228, an ignition control module 232, a displacement control module 236, and a fuel control module 240.

[0041] The driver torque module 202 may determine a driver torque request 254 based on a driver input 255 from the driver input module 104. The driver input 255 may be based on, for example, an accelerator or brake pedal position. The driver input 255 may also be based on cruise control, which may be an adaptive cruise control system that varies vehicle speed to maintain a predetermined following distance. The driver torque module 202 may store one or more mappings of accelerator pedal positions to desired torques and determine the driver torque request 254 based on a selected mapping. The driver torque module 202 may also apply one or more filters to estimate boundary changes in the driver torque request 254.

[0042] An axle torque arbitration module 204 arbitrates between the driver torque request 254 and other axle torque requests 256. Axle torque (torque at the wheels) may be generated from various sources, including an engine and / or an electric motor. For example, axle torque request 256 may include a torque reduction requested by a traction control system when positive wheel slip is detected. Positive wheel slip occurs when the axle torque overcomes the friction between the wheels and the road surface, and the wheels begin to slip on the road surface. Axle torque requests 256 may also include a torque increase request to counteract negative wheel slip, which occurs when a tire of the vehicle slips in the opposite direction relative to the road surface because the axle torque is negative.

[0043] Axle torque request 256 may also include brake management requests and vehicle overspeed torque requests. Brake management requests may reduce axle torque to ensure that the axle torque does not exceed the brakes' ability to stop the vehicle when the vehicle stops. Vehicle overspeed torque requests may reduce axle torque to prevent the vehicle from exceeding a predetermined speed. Axle torque requests 256 may also be generated by vehicle stability control systems.

[0044] The axle torque arbitration module 204 outputs a predicted torque request 257 and an instantaneous torque request 258 based on the result of the arbitration between the received torque requests 254 and 256. As described below, the predicted and instantaneous torque requests 257 and 258 from the axle torque arbitration module 204 may be selectively adjusted by other modules of the ECM 114 before being applied to control the engine actuators.

[0045] In general, the current torque request 258 may be an amount of currently desired axle torque, while the predicted torque request 257 may be an amount of axle torque that will soon be required. The ECM 114 controls the engine system 100 to produce an axle torque equal to the current torque request 258. However, different setpoint combinations may result in the same axle torque. The ECM 114 may therefore adjust the setpoints to enable a faster transition to the predicted torque request 257 while maintaining the axle torque at the current torque request 258.

[0046] In various implementations, the predicted torque request 257 may be set based on the driver torque request 254. The instantaneous torque request 258 may be set lower than the predicted torque request 257 under certain circumstances, for example, when the driver torque request 254 causes wheel slip on an icy surface. In such cases, a traction control system (not shown) may request a reduction above the instantaneous torque request 258, and the ECM 114 reduces the engine output torque to the instantaneous torque request 258. However, the ECM 114 performs the reduction so that the engine system 100 can quickly continue producing the predicted torque request 257 once the wheel slip ceases.

[0047] In general, the difference between the instantaneous torque request 258 and the (generally higher) predicted torque request 257 may be referred to as the fast torque reserve. The fast torque reserve may represent the amount of additional torque (above the instantaneous torque request 258) that the engine system 100 can begin producing with minimal delay, for example, by adjusting spark timing. Fast engine actuators are employed to increase or decrease the current axle torque with minimal delay. Fast engine actuators are defined in contrast to slow engine actuators.

[0048] In general, fast motor actuators can change the axis torque more quickly than slow motor actuators. Slow actuators can respond more slowly to changes in their respective setpoints than fast actuators. For example, a slow actuator may contain mechanical components that take time to change from one position to another in response to a setpoint change. A slow actuator can also be characterized by the amount of time it takes for the axis torque to change after the slow actuator begins to implement the changed setpoint. This time is generally longer for slow actuators than for fast actuators. In addition, it may also take longer for the axis torque to fully respond to the slow actuator change after the change process begins.

[0049] For example only, the ignition actuator module 126 may be a fast actuator. Spark-ignition engines may combust fuels such as gasoline and ethanol that are ignited by sparks. In contrast, the throttle actuator module 116 may be a slow actuator.

[0050] For example, the ignition actuator module 126 may vary the ignition timing for a next ignition if the ignition timing is changed between a last ignition and the next ignition. In contrast, changes in throttle opening may take longer to affect engine output torque. The throttle actuator module 116 changes the throttle opening by adjusting the angle of the vane of the throttle valve 112. Therefore, when the desired opening of the throttle valve 112 changes, the throttle valve 112 moves with a mechanical delay from its previous position to a new position in response to the change. Additionally, airflow changes based on the throttle opening are dependent on delays in airflow within the intake manifold 110.Furthermore, the increased airflow in the intake manifold 110 only becomes noticeable as an increase in engine output torque when the cylinder 118 receives additional air in the next intake stroke, compresses it, and the combustion stroke begins.

[0051] Using these actuators as an example, a quick torque reserve can be built by adjusting the throttle opening to a value that allows the engine 102 to produce the predicted torque request 257. Meanwhile, spark timing can be adjusted based on the instantaneous torque request 258, which is less than the predicted torque request 257. Although the throttle opening generates sufficient airflow for the engine 102 to produce the predicted torque request 257, spark timing is retarded (thus reducing torque) based on the instantaneous torque request 258. The engine output torque is therefore equal to the instantaneous torque request 258.

[0052] If additional torque is required, the spark timing may be adjusted based on the predicted torque request 257 or a torque between the predicted and current torque requests 257 and 258, respectively. At the following spark timing, the ignition actuator 126 may reset the spark timing to an optimal value, allowing the engine 102 to produce the full engine output torque possible with the available airflow. The engine output torque may therefore be rapidly increased to the predicted torque request 257 without experiencing delays due to the change in throttle opening.

[0053] The axle torque arbitration module 204 may output the predicted torque request 257 and the instantaneous torque request 258 to a propulsion torque arbitration module 206. In various implementations, the axle torque arbitration module 204 may output the predicted and instantaneous torque requests 257 and 258 to the hybrid optimization module 208.

[0054] The hybrid optimization module 208 may determine how much torque should be produced by the engine 102 and how much torque should be produced by the electric motor 198. The hybrid optimization module 208 then outputs modified predicted and instantaneous torque requests 259 and 260, respectively, to the propulsion torque arbitration module 206. In various implementations, the hybrid optimization module 208 may be implemented within the hybrid control module 196.

[0055] The predicted and instantaneous torque requests received by the propulsion torque arbitration module 206 are converted from an axle torque range (torque at the wheels) to a propulsion torque range (torque at the crankshaft). This conversion may occur before, after, as part of, or instead of the hybrid optimization module 208.

[0056] The propulsion torque arbitration module 206 arbitrates between propulsion torque requests 290, including the converted predicted and instantaneous torque requests. The propulsion torque arbitration module 206 generates an arbitrated predicted torque request 261 and an arbitrated instantaneous torque request 262. The arbitrated torque requests 261 and 262 may be generated by selecting a priority torque request from received torque requests. Alternatively or additionally, the arbitrated torque requests may be generated by changing one of the received requests based on one or more received torque requests.

[0057] For example, propulsion torque requests 290 may include torque reductions to protect against engine overspeed, torque increases to prevent stalling, and torque reductions requested by the transmission control module 194 to adjust gear changes. Propulsion torque requests 290 may also be a result of clutch fuel cutoff, which reduces engine output torque to prevent an increase in engine speed when the driver applies the clutch pedal in a manual transmission vehicle.

[0058] The propulsion torque requests 290 may also include an engine shutdown request initiated upon detection of a critical fault. For example only, critical faults may include detection of vehicle theft, stuck starter motor, electronic throttle control issues, and unexpected torque increases. In various implementations, the engine shutdown request is selected as the priority request when an engine shutdown request is present. When the engine shutdown request is present, the propulsion torque arbitration module 206 may output zero as the arbitrated predicted and instantaneous torque requests 261 and 262.

[0059] In various implementations, a motor shutdown request may simply shut down motor 102 separately from the arbitration process. The propulsion torque arbitration module 206 may still receive the motor shutdown request so that, for example, appropriate data can be sent as feedback to other torque requesters. For example, all other torque requesters may be informed that they have been ranked lower in the arbitration.

[0060] The reserve / load module 220 receives the arbitrated predicted and instantaneous torque requests 261 and 262. The reserve / load module 220 may adjust the arbitrated predicted and instantaneous torque requests 261 and 262 to create a quick torque reserve and / or compensate for one or more loads. The reserve / load module 220 then outputs the adjusted predicted and instantaneous torque requests 263 and 264 to the torque request module 224.

[0061] For example only, a catalyst ignition process or a cold-start emissions reduction process may require retarded spark timing. The reserve / load module 220 may therefore increase the adjusted predicted torque request 263 above the adjusted instantaneous torque request 264 to retard spark timing for the cold-start emissions reduction process. In another example, the engine air-fuel ratio and / or air mass flow rate may be directly altered, such as through intrusive diagnostic equivalence ratio testing and / or new engine purge. Before initiating these procedures, a quick torque reserve may be built or increased to quickly compensate for reductions in engine output torque caused by the stretching of the air-fuel mixture during these processes.

[0062] The reserve / load module 220 may also establish and increase a quick torque reserve in anticipation of a future load, such as the operation of a power steering pump or the engagement of an air conditioning (A / C) compressor clutch. The reserve for A / C compressor clutch engagement may be established when the driver initially turns on the air conditioning system. The reserve / load module 220 may increase the adjusted predicted torque request 263 to create the torque reserve while leaving the adjusted immediate torque request 264 unchanged. Then, when the A / C compressor clutch is engaged, the reserve / load module 220 may increase the adjusted immediate torque request 264 by the estimated A / C compressor clutch load.

[0063] The torque request module 224 receives the adjusted predicted and instantaneous torque requests 263 and 264. The torque request module 224 determines how to achieve the adjusted predicted and instantaneous torque requests 263 and 264. The torque request module 224 may be engine-type specific. For example, the torque request module 224 may be implemented in different ways or use different control mechanisms in spark-ignition engines than in compression-ignition engines.

[0064] In various implementations, the torque request module 224 may establish a boundary between engine-type-specific modules and modules common to all engine types. For example, engine types may include spark ignition and compression ignition. Modules upstream of the torque request module 224, such as the propulsion torque arbitration module 206, may be common to specific engine types, while the torque request module 224 and subsequent modules may be engine-type specific.

[0065] The torque request module 224 determines an air torque request 265 based on the adjusted predicted and current torque requests 263 and 264. The air torque request 265 may be a braking torque. The braking torque may be referred to as the torque at the crankshaft under the current operating conditions.

[0066] Setpoints for controlling airflow to the engine actuators are determined based on the air torque request 265. Specifically, the air control module 228 determines a target wastegate area percentage 266, a target throttle area percentage 267, a maximum intake cam opening position 269, and a maximum exhaust cam opening position 270 based on the air torque request 265. The air control module 228 determines the target wastegate area percentage 266, the target throttle area percentage 267, the maximum intake cam opening position 269, and the maximum exhaust cam opening position 270 using model predictive control, as discussed further below.

[0067] The boost actuator module 164 controls the wastegate 162 to achieve the target effective wastegate range percentage 266. For example, a first conversion module 272 may convert the target effective wastegate range percentage 266 into a desired duty cycle 274 applied to the wastegate 162, and the boost actuator module 164 may output a signal to the wastegate 162 based on the desired duty cycle 274. In various implementations, the first conversion module 272 may convert the target effective wastegate range percentage 266 into a desired wastegate position (not shown) and the desired wastegate position into the desired duty cycle 274.

[0068] The throttle actuator module 116 controls the throttle valve 112 to achieve the target effective throttle range percentage 267. For example, a second conversion module 276 may convert the target effective throttle range percentage 267 into a target duty cycle 278 applied to the throttle valve 112, and the throttle actuator module 116 may output a signal to the throttle valve 112 based on the target duty cycle 278. In various implementations, the second conversion module 276 may convert the target effective throttle range percentage 267 into a target throttle position (not shown) and the target throttle valve position into the target duty cycle 278.

[0069] The EGR actuator module 172 controls the EGR valve 170 to achieve the desired EGR opening area 268. For example, a third conversion module 280 may convert the desired EGR opening area 268 into a desired duty cycle 282 applied to the EGR valve 170, and the EGR actuator module 172 may output a signal to the EGR valve 170 based on the desired duty cycle 282. In various implementations, the third conversion module 280 may convert the desired EGR opening area 268 into a desired EGR position (not shown) and the desired EGR position into the desired duty cycle 282.

[0070] The phaser actuator module 158 controls the intake cam phaser 148 to achieve the maximum opening position of the intake cam 269. The phaser actuator module 158 also controls the exhaust cam phaser 150 to achieve the maximum opening position of the exhaust cam 270. In various implementations, a fourth conversion module (not shown) may be included and may convert the maximum opening position into desired intake and exhaust duty cycles, respectively. The phaser actuator module 158 may output the desired intake and exhaust duty cycles to the intake and exhaust cam phasers 148 and 150, respectively.In various implementations, the air control module 228 may determine a desired overlap factor and a desired effective displacement, and the phaser actuator module 158 may control the intake and exhaust cam phasers 148 and 150 to achieve the desired overlap factor and the desired effective displacement.

[0071] The torque request module 224 may also generate a spark torque request 283, a cylinder shutdown request 284, and a fuel torque request 285 based on the predicted and current torque requests 263 and 264. The ignition control module 232 may determine the retardation of spark timing from an optimal spark timing (which reduces engine output torque) based on the spark torque request 283. For example only, a torque ratio may be reversed to achieve a desired spark timing 286. For a given torque request (T Req) the target ignition timing (S T ) 286 with the following values: ST=f−1(TReq,APC,I,E,AF,OT,#), where APC is air per cylinder, I is an intake valve timing value, E is an exhaust valve timing value, AF is an air-fuel ratio, TDC is an oil temperature, and # is the number of activated cylinders. This relationship may be represented in an equation and / or lookup table. The air-fuel ratio (AF) may be the current air-fuel ratio indicated by the fuel control module 240.

[0072] When the ignition timing is set to the optimum ignition timing, the resulting torque can be set as close as possible to minimum ignition advance to achieve the best torque (MBT ignition timing). Best torque refers to the maximum engine output torque generated for a given airflow when the ignition timing is advanced, while using fuel with a higher octane rating than a predetermined octane rating and using stoichiometric fuel. The ignition timing at which this is most likely to occur is called MBT ignition timing. The optimum ignition timing may differ slightly from the MBT ignition timing due to, for example, inconsistent fuel quality (use of lower octane fuel) and environmental factors such as humidity. The engine output torque at the optimum ignition timing may therefore be lower than the MBT.By way of example only, a table of optimum ignition timing associated with specific engine operating conditions may be established during a calibration phase of vehicle design, and the optimum value is determined from the table based on the current operating conditions.

[0073] The cylinder deactivation torque request 284 may be used by the cylinder control module 236 to determine a desired number of cylinders to deactivate 287. In various implementations, a desired number of cylinders may be used for activation. The cylinder actuator module 120 selectively activates and deactivates the cylinder's valves based on the desired number 287.

[0074] The cylinder control module 236 may also instruct the fuel control module 240 to stop providing fuel to deactivate the cylinders and may instruct the ignition control module 232 to stop providing ignition to deactivate the cylinders. The ignition control module 232 may stop providing ignition to a cylinder when a fuel / air mixture already present in the cylinder has been combusted.

[0075] The fuel control module 240 may vary the amount of fuel provided to each cylinder based on the fuel torque request 285. In particular, the fuel control module 240 may generate desired fuel delivery parameters 288 based on the fuel torque request 285. The desired fuel delivery parameters 288 may include, for example, the desired fuel mass, the desired injection start timing, and the desired number of fuel injections.

[0076] During normal operation, the fuel control module 240 may operate in an air-determined mode, where the fuel control module 240 strives to maintain a stoichiometric air / fuel ratio by controlling fuel delivery based on airflow. For example, the fuel control module 240 may determine a desired air mass at which stoichiometric combustion occurs when combined with a current air mass per cylinder (APC).

[0077] With reference to Fig. 3, a functional block diagram of an exemplary implementation of an MPC module 312 and the engine 102 is shown and described. The MPC module 312 has a plurality of inputs, provides a plurality of commands to the air actuators of the engine 102, and receives measured engine outputs 102. The MPC module 312 provides air actuator commands to the respective actuators of the engine 102. More specifically, the various inputs include reference output setpoints 602, reference input setpoints 604, and measured disturbances 606. The reference output setpoints 602 include reference output parameters for normalized knock-limited spark air torque, normalized MAP, trap ratio, and normalized pump average effective pressure (PMEP).The measured engine outputs 608 include actual or estimated measurements of normalized knock-limited spark air torque, normalized MAP, trap ratio, and normalized PMEP.

[0078] The measured disturbances 606 include, for example, scaled engine speed, cylinder deactivation state, and CA50 (the crankshaft angle at which 50 percent of a mass of injected fuel for a particular cylinder has been burned). The measured disturbances are used in calculating the MPC to determine actuator commands. comto provide information that better predicts the model of engine 102 than the model engine alone. Air actuator commands 610 include air actuator duty cycle commands 612, 614, 616, 618 that achieve target effective throttle area percentage 267, target effective wastegate area percentage 266, exhaust cam maximum opening position 270, and intake cam maximum opening position 269.

[0079] Fig. 4 is a functional block diagram of an exemplary implementation of the air control module 228. Referring to Fig. 2 and Fig. 4, as discussed above, the air torque request 265 may be a braking torque. A torque conversion module 304 converts the air torque request 265 from braking torque to base torque. The torque request resulting from the conversion of the torque request 265 is referred to herein as the base air torque request 308.

[0080] Base torques may be referred to as the torque measured at the crankshaft during engine operation 102 using a torque meter while the engine 102 is warm and the engine 102 is not under torque loads from accessories such as an alternator or A / C compressor. The torque conversion module 304 may convert the air torque request 265 to the base air torque request 308, for example, using mapping or a function that maps brake torques to base torques. In various implementations, the torque conversion module 304 may convert the air torque request 265 to another appropriate torque type, such as indicated torque. Indicated torque may be referred to as torque at the crankshaft based on work performed during combustion in the cylinders.

[0081] An MPC module 312 generates the setpoints 266, 267, 269, 270 and a target pressure ratio 320 using model predictive control (MPC). The MPC module 312 can be a single module or comprise multiple modules. For example, the MPC module 312 can include a sequence determination module 316.

[0082] The sequence determination module 316 determines possible sequences of the setpoints that could be used together in future N control loops. Each of the possible sequences determined by the sequence determination module 316 includes a sequence of N target values. More specifically, each possible sequence includes a sequence of N values ​​for the target effective wastegate area percentage 266, a sequence of N values ​​for the target pressure ratio 320, a sequence of N values ​​for the maximum intake cam opening position 269, and a sequence of N values ​​for the maximum exhaust cam opening position 270. Each of the N values ​​represents a corresponding value of the future N control loops. N is an integer greater than or equal to one.

[0083] A prediction module 323 determines predicted responses of the engine 102 to the respective possible sequences of the setpoints based on a mathematical model 324 of the engine 102, measured disturbances 328, and feedback inputs 330. In particular, based on a possible sequence of the setpoints, the measured disturbances 328, and the feedback inputs 330 using the model 324, the prediction module 323 generates a sequence of N predicted torques of the engine 102 for N control loops, a sequence of N predicted APCs for N control loops, a sequence of N predicted capture ratios for the N control loops, a sequence of predicted combustion phaser values ​​for N control loops, and a sequence of predicted combustion quality values ​​for N control loops.

[0084] While an example of generating predicted torque, predicted APC, predicted capture ratio, predicted combustion phasing, and predicted combustion quality is described, the predicted parameters may include one or more predicted engine operating parameters. For example, an efficiency parameter may be predicted instead of the predicted APC, and the efficiency parameter may be predicted torque divided by the predicted APC.

[0085] For example, the model 324 may include one or more functions or a mapping calibrated based on characteristics of the engine 102. Purge air may refer to the phenomenon of inducted air flowing into intake valves and exhaust valves and then exiting through the intake stroke created by a positive pressure gradient between the intake and exhaust valves. Trap ratio may refer to the ratio between air trapped in a cylinder during the intake stroke and the total amount of air flowing through all intake valves during the same intake stroke. Combustion phasing may refer to a crankshaft position at which a predetermined amount of injected fuel combusts in a cylinder relative to a predetermined crankshaft position for combustion of the predetermined amount of injected fuel.For example, combustion phasing can be expressed as CA50 relative to a predetermined CA50. The predetermined CA50 can correspond to a CA50 at which a maximum amount of work is performed on the injected fuel and, in various implementations, can be approximately 8.5—approximately 10 degrees past TDC (top dead center). While combustion phasing is discussed using CA50 values, another suitable parameter representative of combustion phasing can be used. Furthermore, another suitable parameter representative of combustion quality can be applied, while combustion quality is discussed as the coefficient of variation (COV) of the indicated mean effective pressure (IMEP).

[0086] The measured disturbances 328 may include parameters that are not directly influenced by the throttle valve 112, turbocharger, intake cam phaser 148, and exhaust cam phaser 150. The measured disturbances 328 may include, for example, scaled engine speed, IAT, CA50, cylinder deactivation state (AFM), and / or one or more other parameters.

[0087] The feedback inputs 330 may include, for example, a normalized knock-limited spark air torque of the engine 102, an estimated or measured trap ratio, intake manifold pressure 184 normalized to barometric pressure, normalized pump average effective pressure (PMEP), and / or one or more suitable parameters. The feedback inputs 330 may be measured using sensors (e.g., MAP) and / or estimated based on one or more other parameters.

[0088] For example, the prediction module 323 may generate the predicted parameters for a given sequence of possible setpoints based on the following relationship: x(k+1)=Ax(k)+Bu(k); and y(k)=Cx(k), where x(k+1) is a vector with entries indicating the states of the motor 102 for a next control loop k+1, A is a matrix containing constant values ​​calibrated based on the characteristics of the motor 102, x(k) is a vector with entries indicating the states of the motor 102 for the k-th control loop, B is a matrix with constant values ​​calibrated based on the characteristics of the motor 102, u(k) is a vector containing entries for the possible setpoints for the k-th control loop, y(k) is a vector containing the predicted parameters for the k-th control loop, and C is a matrix containing constant values ​​calibrated based on the characteristics of the motor 102. The vector x(k+1) determined during the k-th control loop is used as the vector x(k) for the next control loop k+1.

[0089] The relationships could also be written as follows: x(k)=Ax(k−1)+Bu(k−1); and y(k)=Cx(k), where k is a control loop, x(k-1) is a vector with entries indicating the states of the motor 102 for a final control loop, A is a matrix containing constant values ​​calibrated based on the characteristics of the motor 102, x(k) is a vector with entries indicating the states of the motor 102 for the k-th control loop, B is a matrix with constant values ​​calibrated based on the characteristics of the motor 102, u(k-1) is a vector containing entries for the possible setpoints for the final control loop k-1.

[0090] The prediction module 323 generates the predicted parameters for each of the M of the N future control loops, where M is an integer greater than zero and less than or equal to N (i.e., k=0, 1, ... M). In other words, the number of control loops for which the predicted parameters are determined may be less than or equal to the number of control loops in the setpoints.

[0091] How the components of the above relationships can be rewritten for the example of predicted parameters, including predicted torque, predicted external dilution, predicted residual dilution, predicted combustion phasing, and predicted combustion quality, will now be described. The vector x(k+1) can be rewritten as: x(k+1)=[x1(k+1)x2(k+1)x3(k+1)x4(k+1)x5(k+1)x6(k+1)], where x1 (k+1) is a first state parameter of the motor 102 for the next control loop, x2 (k+1) is a second state parameter of the motor 102 for the next control loop, x3 (k+1) is a third state parameter of the motor 102 for the next control loop, x4 (k+1) is a fourth state parameter of the motor 102 for the next control loop, x5 (k+1) is a fifth state parameter of the motor 102 for the next control loop, and x6 (k+1) is a sixth state parameter of the motor 102 for the next control loop.

[0092] The matrix A can be rewritten as: A=[a11a12a13a14a15a16a21a22a23a24a25a26a31a32a33a34a35a36a41a42a43a44a45a46a51a52a53a54a55a56a61a62a63a64a65a66] where a11-a66 are constant values ​​calibrated based on the characteristics of the engine 102.

[0093] The vector x(k) can be rewritten as: x(k)=[x1(k)x2(k)x3(k)x4(k)x5(k)x6(k)], where x1(k) is a first state parameter of the motor 102 for the k-th control loop, x2(k) is a second state parameter of the motor 102 for the k-th control loop, x3(k) is a third state parameter of the motor 102 for the k-th control loop, x4(k) is a fourth state parameter of the motor 102 for the k-th control loop, x5(k) is a fifth state parameter of the motor 102 for the k-th control loop, and x6(k) is a sixth state parameter of the motor 102 for the k-th control loop. The entries of the vector x(k) are the entries of the vector x(k+1) calculated for the last control loop. The entries of the vector x(k+1) calculated for the k-th control loop are used as entries of the vector x(k) for the next control loop.

[0094] The matrix B can be rewritten as: B=[b11b12b13b14b15b21b22b23b24b25b31b32b33b34b35b41b42b43b44b45b51b52b53b54b55b61b62b63b64b65] where b11-b65 are constant values ​​calibrated based on the characteristics of the engine 102.

[0095] The vector u(k) can be rewritten as: u(k)=[PTTB(k)PTWG(k)PTICOP(k)PTECOP(k)], where PTTB(k) is a possible target throttle range percentage of a possible sequence for the k-th control loop, PTWG(k) is a possible target wastegate range percentage of the possible sequence for the k-th control loop, PTI-COP(k) is a possible maximum intake cam opening position for the k-th control loop, and PTECOP(k) is a possible maximum exhaust cam opening position for the k-th control loop.

[0096] The vector y(k) can be rewritten as: y(k)=[PT(k)PMAP(k)PTRAP(k)PPL(k)], where PT(k) is a predicted torque of engine 102 for the kth control loop, PMAP(k) is a predicted intake manifold pressure 184 normalized to a barometric pressure for the kth control loop, PTRAP(k) is a predicted trap ratio for the kth control loop, and PPL(k) is a predicted normalized average pump effective pressure (PMEP) for the kth control loop. The matrix C can be rewritten as: C=[c11c12c13c14c15c16c21c22c23c24c25c26c31c32c33c34c35c36c41c42c43c44c45c46] where c11-c46 are constant values ​​calibrated based on the characteristics of the engine 102.

[0097] The model 324 includes several different sets of A, B, and C matrices for different operating conditions. The prediction module 323 selects the set of A, B, and C matrices to use based on, for example, the current engine speed, the current engine load (e.g., torque), and / or one or more other parameters.

[0098] For the example of predicted parameters including predicted torque, predicted APC, predicted external dilution, predicted residual dilution, predicted combustion phasing, and predicted combustion quality, the above relationships can therefore be rewritten as: [x1(k+1)x2(k+1)x3(k+1)x4(k+1)x5(k+1)x6(k+1)]=[a11a12a13a14a15a16a21a22a23a24a2 5a26a31a32a33a34a35a36a41a42a43a44a45a46a51a52a53a54a55a56a61a62a63a64a65a66][x 1(k)x2(k)x3(k)x4(k)x5(k)x6(k)]+[b11b12b13b14b15b21b22b23b24b25b31b32b33b34b35b4 1b42b43b44b45b51b52b53b54b55b61b62b63b64b65][PTPR(k)PTWG(k)PTICOP(k)PTECOP(k)]; and [PT(k)PMAP(k)PTRAP(k)PPL(k)]=[c11c12c13c14c15c16c21c22c23c24c25c26c3 1c32c33c34c35c36c41c42c43c44c45c46][x1(k)x2(k)x3(k)x4(k)x5(k)x6(k)].

[0099] A cost module 332 determines a cost value for each of the possible sequences of target values ​​based on the predicted parameters determined for a possible sequence and output reference values ​​356. An example cost determination is discussed further below.

[0100] A selection module 344 selects one of the possible sequences of the target values ​​based on the respective costs of the possible sequences. For example, the selection module 344 may select the possible sequence with the lowest cost that simultaneously satisfies the target constraints 348 and the prediction constraints 352. In various embodiments, the model 324 may select one of the possible sequences with the lowest cost while satisfying the target constraints 348 and the prediction constraints 352.

[0101] In various embodiments, the fulfillment of the prediction targets 352 may be considered in determining the cost. In other words, the cost module 332 may determine the cost values ​​based on the prediction targets 352.

[0102] The selection module 344 can set the target values ​​266, 267, 269, 270 to the first N values ​​of the selected possible sequence. In other words, the selection module 344 may set the target wastegate area percentage 266 to the first of the N values ​​in the sequence of N values ​​for the target wastegate area percentage 266, the target throttle area percentage 267 to the first of the N values ​​in the sequence of N values ​​for the target throttle area percentage 267, the maximum intake cam opening position 269 to the first of the N values ​​in the sequence of N values ​​for the maximum intake cam opening position 269, and the maximum exhaust cam opening position 270 to the first of the N values ​​in the sequence of N values ​​for the desired intake cam phaser angle and the desired exhaust cam phaser angle 270.

[0103] In a next control loop, the MPC module 312 identifies possible sequences, generates the predicted parameters for the possible sequences, determines the cost for each of the possible sequences, selects one of the possible sequences, and sets the setpoints 266, 267, 269, 270 to the first set of setpoints in the selected possible sequence. This process continues for each control loop.

[0104] A target restriction module 360 ​​(see Fig. 2) sets the desired constraints 348 for the desired values ​​266, 267, 269, 270. In other words, the desired constraint module 360 ​​sets desired constraints for the target effective throttle range percentage 267, desired constraints for the target effective wastegate range percentage 266, desired constraints for the maximum intake cam opening position 269, and desired constraints for the maximum intake cam opening position 270.

[0105] The target constraints 348 for each target value 266, 267, 269, 270 may include a maximum value for an associated target value and a minimum value for that target value. In general, the target constraint module 360 ​​may set the target constraints 348 to predetermined operating ranges for the throttle valve 112, the charge air valve 162, the intake cam phaser 148, and the exhaust cam phaser 150, respectively. However, the target constraint module 360 ​​may vary one or more of the target constraints 348 under certain circumstances.

[0106] For the target effective throttle range percentage 267, the maximum value may correspond to a maximum possible throttle range percentage 267 of the throttle valve 112. For example only, the maximum value of the target effective throttle range percentage 267 may be approximately 100% or another suitable value.

[0107] A prediction constraint module 364 (see Fig. 2) sets the prediction constraints 352 for the predicted torque output of the engine 102, the predicted CA50, the predicted COV of the IMEP, and the predicted catch ratio. The prediction constraints 352 for each predicted value may include a maximum value for an associated predicted parameter and a minimum value for that predicted parameter. For example, the prediction constraints 352 may include a maximum torque, a minimum CA50 and a maximum CA50, a minimum IMEP COV and a maximum IMEP COV, and a minimum and a maximum catch ratio.

[0108] The prediction constraint module 364 may generally set the respective prediction constraints 352 to predetermined ranges for the associated predicted parameters. However, the prediction constraint module 364 may vary one or more prediction constraints 352 under certain conditions.

[0109] A reference module 368 (see Fig. 2) generates the reference values ​​356 for the respective setpoints 266, 267, 269, 270. The reference values ​​356 include a reference effective boost valve area percentage, a reference effective throttle area percentage of the throttle valve 112, a maximum opening position for a reference intake cam, and a maximum opening position for a reference exhaust cam.

[0110] The reference module 368 may determine the reference values ​​356 based, for example, on the air torque request 265 and / or the base air torque request 308. The reference values ​​356 provide references for setting the respective target values ​​266, 267, 269, 270. The reference values ​​356 may be used to determine the cost values ​​for possible sequences, as discussed further below. The reference values ​​356 may also be used for one or more other reasons, such as by the sequence determination module 316 to determine possible sequences.

[0111] Instead of, or in addition to, generating sequences of possible setpoints and determining the cost of each of those sequences, the MPC module 312 may identify a lowest-cost sequence of possible setpoints using convex optimization techniques. For example, the MPC module 312 may determine the setpoints 266, 267, 269, 270 using a quadratic program (QP) solver, such as the Dantzig QP solver. In another example, the MPC module 312 may generate a graph of the cost values ​​for the possible sequences of setpoints 266, 267, 269, 270 and identify a lowest-cost sequence of possible setpoints based on the curve steepness. The MPC module 312 may then examine the sequence of possible setpoints to determine whether the sequence of possible setpoints satisfies the setpoint constraints 348.If this is the case, the MPC module 312 can set the setpoints 266, 267, 269, 270 to the first of the N values ​​of this selected possible sequence, as described above.

[0112] If the target constraints 348 are not met, the MPC module 312 selects another sequence of possible target values ​​with the second-lowest cost and checks this sequence of possible target values ​​for satisfaction of the target constraints 348. The process of selecting a sequence and checking the sequence for satisfaction of the actuator constraints 348 may be referred to as an iteration. Multiple iterations may be performed within each control loop.

[0113] The MPC module 312 performs iterations until a lowest-cost sequence that satisfies the actuator constraints 348 is identified. In this way, the MPC module 312 selects the lowest-cost sequence of possible setpoints that satisfies the setpoint constraints 348 and the prediction constraints 352. If a sequence cannot be identified, the MPC module 312 may indicate that no solution is available.

[0114] The cost module 332 may determine the costs for the possible sequences of setpoints 266, 267, 269, 270 based on the relationships between: the predicted torque and the base air torque requirements, the possible setpoints and the corresponding setpoint constraints 348, the predicted parameters and the corresponding prediction constraints 352, and the possible setpoints and the corresponding reference values ​​356. The relationships may be weighted, for example, to control the impact of each relationship on the costs.

[0115] By way of example only, the cost module 332 may determine the cost for a possible sequence of target values ​​266, 267, 269, 270 based on the following equation: Cost=∑i=1Nρϵ2+‖wT∗(TPi−BATRi)‖2, dependent on the setpoint constraints 348 and the prediction constraints 352. Cost here is the cost for the possible sequence of setpoints 266, 267, 269, 270; TPi is the predicted torque of the engine 102 for an i-th of the N control loops, BATRi is the base air torque request for the i-th of the N control loops, and wT is a weighting value associated with the relationship between the predicted torque and the torque requests. BATR1 is Base Air Torque Request 308. In various applications, BATR BATR2 - BATR N can also be set to the base air torque request 308, or BATR2 - BATR N can be set based on the future engine torque requirement for the future of the N control loops.

[0116] ρ is a weight value associated with compliance with the prediction constraints 352. ε is a variable that the cost module 332 can set based on the satisfaction of the prediction constraints 352. For example, the cost module 332 can increase ε if a predicted parameter is greater than or less than the corresponding minimum or maximum value (e.g., by at least a predetermined amount). The cost module 332 can set ε to zero if all prediction constraints 352 are satisfied. ρ can be greater than the weight value wT and other weight values ​​discussed below (wTB, wWG, wIP, wEP), so that the cost determined for a candidate sequence is high if one or more prediction constraints 352 are not satisfied. This can help prevent the selection of a candidate sequence if one or more prediction constraints 352 are not satisfied.

[0117] The above equation can be extended, for example to: Cost=∑i=1Nρϵ2+≤‖wT∗(TPi−BATRi)‖2+‖wTB∗(PTTBi−TBRef)‖2+‖wWG∗( PTWGOi−EGORef)‖2+‖wIP∗(PTICPi−ICPRef)‖2+‖wEP∗(PTECPi−ECPRef)‖2, in turn dependent on the target constraints 348 and the prediction constraints 352. PTTBi is a possible target effective throttle range percentage of the throttle valve 112 for the i-th of the N control loops, TBRef is the reference effective throttle range percentage of the throttle valve 112, and wTB is a weighting value associated with the ratio between the possible target effective throttle range percentage and the reference effective throttle range percentage. PTWGOi is a possible target effective boost valve range percentage for the i-th of the N control loops, WGORef is the reference effective boost valve range percentage, and wWG is a weighting value associated with the ratio between the possible target effective boost valve range percentage and the reference effective boost valve range percentage.

[0118] PTICi is a possible maximum opening position of the intake cam for the i-th of the N control loops, ICPRef is the maximum opening position of the reference intake cam, and wIP is a weighting value associated with the ratio between the possible maximum opening position of the target intake cam and the maximum opening position of the reference intake cam. PTECi is a possible maximum opening position of the exhaust cam for the i-th of the N control loops, ECPRef is the maximum opening position of the reference exhaust cam, and wIP is a weighting value associated with the ratio between the possible maximum opening position of the target exhaust cam and the maximum opening position of the reference exhaust cam.

[0119] The weighting value can be larger than the weighting values ​​wPR, wWG, wIP, and wEP. Thus, the relationship between the predicted engine torque and the base air torque demand has a greater influence on the cost and therefore on the selection of a possible sequence, as discussed below. Costs increase as the difference between the predicted engine torque and the base air torque demand increases, and vice versa.

[0120] The weighting values ​​wTB, wWG, wIP, and wEP may be less than all other weighting values. Thus, during steady-state operation, the setpoints 266, 267, 269, and 270 may each be close to or at the reference values ​​356. However, during transient operation, the MPC module 312 may adjust the setpoints 266, 267, 269, and 270 farther from the reference values ​​356 to achieve the base air torque request 308 while satisfying the setpoint constraints 348 and the prediction constraints 352.

[0121] The throttle actuator module 116 controls the throttle valve 112 based on the throttle range percentage 267. The MPC module 312, which determines the target pressure ratio 320 and the throttle range percentage 267 based on the target pressure ratio 320, may provide better torque response (e.g., faster and with less over- and / or under-response) than applications where the MPC module 312 determines the throttle range percentage 267.

[0122] With reference to Fig. 5, a flowchart illustrating an example method for controlling the throttle valve 112, the intake cam phaser 148, the exhaust cam phaser 150, the wastegate 162 (and thus the turbocharger) using MPC (model predictive control). Control may begin at 504, where the torque request module 224 determines the air torque request 265 based on the adjusted predicted and actual torque requests 263 and 264.

[0123] At 508, the torque conversion module 304 may convert the air torque request 265 to the base air torque request 308 or to another suitable torque type for use by the MPC module 312.

[0124] At 512, the sequence determination module 316 determines possible sequences of the setpoints 266, 267, 269, 270. At 516, the prediction module 323 determines the predicted parameters for each of the possible sequences of the setpoints 266, 267, 269, 270. The prediction module 323 determines the predicted parameters for the possible sequences based on the model 324 of the engine 102, measured disturbances 328, and the feedback inputs 330.In particular, based on a possible sequence of the setpoints 266, 267, 269, 270, the measured disturbances 328, and the feedback inputs 330 using the model 324, the prediction module 323 may generate a sequence of N predicted torques of the engine 102 for N control loops, a sequence of N predicted APCs for N control loops, a sequence of N predicted amounts of external dilution for N control loops, a sequence of N predicted amounts of residual dilution for N control loops, a sequence of N predicted combustion phaser values ​​for N control loops, and a sequence of N predicted combustion quality values ​​for N control loops.

[0125] At 520, the cost module 332 determines the respective costs for the possible sequences. For example only, the cost module 332 can determine the costs for a possible sequence of target values ​​266, 267, 269, 270 using the following equation: Cost=∑i=1Nρϵ2+‖wT∗(TPi−BATRi)‖2, or the equation: Cost=∑i=1Nρϵ2+≤‖wT∗(TPi−BATRi)‖2+‖wTB∗(PTTBi−TBRef)‖2+‖wWG∗( PTWGOi−EGORef)‖2+‖wIP∗(PTICPi−ICPRef)‖2+‖wEP∗(PTECPi−ECPRef)‖2, depending on the target constraints 348 and the prediction constraints 352, as discussed above.

[0126] At 524, the selection module 344 selects one of the possible sequences of setpoints 266, 267, 269, 270 based on the respective costs of the possible sequences. For example, the selection module 344 may select the one of the possible sequences with the lowest cost. Instead of, or in addition to, determining possible sequences of setpoints at 524 and determining the cost for each of the sequences, the MPC module 312 may identify a sequence of possible setpoints with the lowest cost using convex optimization techniques, as discussed above.

[0127] At 528, the MPC module 312 may determine whether the sequence selected from among the possible sequences satisfies the target constraints 348. If 528 is true, control continues to 536. If 528 is false, the MPC module 312 may select another of the possible sequences with the second lowest cost at 532, and control may return to 528. In this way, the sequence with the lowest cost that satisfies the target constraints 348 is applied.

[0128] At 552, the first conversion module 272 converts the wastegate desired opening area 266 to the desired duty cycle 274 to be applied to the wastegate 162, the second conversion module 276 converts the throttle area percentage 267 to the desired duty cycle 278 to be applied to the throttle valve 112. The third conversion module may also convert the maximum opening positions for the intake and exhaust cam lobes 269 and 270 to the desired intake and exhaust duty cycles to be applied to the intake and exhaust cam phasers 148 and 150, respectively.

[0129] At 556, the throttle actuator module 116 controls the throttle valve 112 to achieve the throttle range percentage 267, and the phaser actuator module 158 controls the intake and exhaust cam phasers 148 and 150 to achieve the maximum opening positions of the intake and exhaust cams 269 and 270, respectively. For example, at the desired duty cycle 278, the throttle actuator module 116 may apply a signal to the throttle valve 112 to achieve the throttle range percentage 267.

[0130] Although Fig. 5 is shown as ending at 552, Fig. 5 can be illustrative of a control loop, and control loops can be started at a given rate.

[0131] The term "at least A, B, or C," as used herein, means (A OR B OR C), that is, it is a non-exclusive logical OR, and does not mean "at least A, at least B, and at least C." It should be noted that one or more steps within a method may be performed in a different order (or simultaneously) without altering the principles of the present invention.

[0132] In this application, including the following definitions, the term "circuit" may be replaced with the term "module" or "controller" where appropriate. The term "module" may refer to, be part of, or include: an application-specific integrated circuit (ASIC); a digital, analog, or mixed analog / digital discrete circuit; a digital, analog, or mixed analog / digital integrated circuit; a combinational logic circuit; a field-programmable gate array (FPGA); processor circuitry (shared, dedicated, or group) that executes code; memory circuitry (shared, dedicated, or group) that stores code executed by the processor circuitry; other suitable hardware components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-chip.

[0133] The module may include one or more interface circuits. In some examples, the interface circuits may include wired or wireless interfaces connected to a local area network (LAN), the Internet, a wide area network (WAN), or combinations thereof. The functionality of the modules mentioned in the present invention may be distributed among multiple modules connected via interface circuits. For example, multiple modules may allow for load balancing. In another example, functions determined by a server module (e.g., remote server or cloud) may be assumed by a server module.

[0134] The term code, as used above, may include software, firmware, and / or microcode and may refer to programs, routines, functions, classes, data structures, and / or objects. The term "common processor circuit" refers to a single processor circuit that executes identified or complete code from multiple modules. The term "grouped processor circuit" refers to a processor circuit that, in combination with additional processor circuits, executes identified or complete code from, if applicable, multiple modules. References to multiple processor circuits include multiple processor circuits on discrete arrays, multiple processor circuits on a single disk, multiple cores on a single processor circuit, multiple threads of a single processor circuit, or any combination of the above.The term "shared memory circuit" refers to a single memory circuit that stores the extracted or complete code from multiple modules. The term "grouped memory circuit" refers to a memory circuit that, in combination with additional memory, stores the extracted or complete code from potentially multiple modules.

[0135] The term memory circuit is subordinate to the term computer-readable medium. The term "computer-readable medium," as used herein, does not refer to transient electrical or electromagnetic signals propagated in a medium (e.g., in the case of a carrier wave); the term "computer-readable medium" is therefore to be understood as tangible and non-transitory. Non-limiting examples of a non-transitory tangible computer-readable medium include non-volatile memory circuits (e.g., flash memory circuits, erasable programmable read-only memory (ROM) circuits, or mask ROM circuits), volatile memory circuits (e.g., static or dynamic RAM circuits), magnetic storage media (e.g., analog or digital magnetic tape or a hard disk drive), and optical storage media (e.g., CD, DVD, or Blu-ray).

[0136] The devices and methods described in this application may be implemented, in part or in full, using a dedicated computer configured to execute identified computer program functions. The function blocks and flowchart elements described above serve as software specifications that can be implemented into computer programs by appropriately trained technicians or programmers.

[0137] The computer programs include processor-executable instructions stored on at least one non-transitory, tangible, computer-readable medium. The computer programs may also include stored data or be based on stored data. The computer programs may include a basic input / output system (BIOS) that interacts with the hardware of the particular computer, device drivers that interact with identified devices of the particular computer, one or more operating systems, user applications, background services, background applications, etc.

[0138] The computer programs may include: (i) descriptive text that is organized, such as HTML (Hypertext Markup Language) or XML (Extensible Markup Language), (ii) assembly code, (iii) object code generated from source code by a compiler, (iv) source code for execution by an interpreter, (v) source code for compilation and execution by a just-in-time compiler, etc. By way of example only, the source code may be written using syntax from languages ​​such as C, C++, C#, Objective C, Haskell, Go, SQL, R, Lisp, Java®, Fortran, Perl, Pascal, Curl, OCaml, Javascript®, HTML5, Ada, ASP (Active Server Pages), PHP, Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, Visual Basic®, Lua and Python®.

Claims

[1] A method for controlling an engine system (100) of a vehicle, the method comprising: Generating an air torque request for an engine based on driver inputs; using model predictive control (MPC): Identifying a plurality of sets of possible setpoints based on the air torque request, each of the plurality of sets of possible setpoints including a target effective throttle range percentage; Determining a predicted set of operating parameters for each of the plurality of sets of possible setpoints, respectively; Determining the cost values ​​for each of the plurality of sets of possible setpoints based on the predicted set of operating parameters of each of the plurality of sets of possible setpoints, respectively; Selecting one of the plurality of sets of possible target values ​​based on the cost values; and selecting a set of setpoints based on one of the plurality of sets of possible setpoints, the set of setpoints including a target effective throttle range percentage; Determining a target opening range of a throttle valve (112) based on the target effective throttle range percentage; and controlling the throttle valve (112) based on the target opening area; characterized by , that identifying a plurality of sets of possible setpoints based on the air torque request, each of the plurality of sets of possible setpoints having a possible target effective throttle range percentage, further comprising identifying a plurality of sets of possible setpoints based on the air torque request, each of the plurality of sets of possible setpoints having a possible target effective throttle range percentage and a possible target effective wastegate percentage; and / or that identifying a plurality of sets of possible setpoints based on the air torque request, each of the plurality of sets of possible setpoints having a possible target effective throttle range percentage, including a plurality of sets of possible setpoints based on the air torque request, each of the plurality of sets of possible setpoints having a possible target effective throttle range percentage, a possible maximum opening of the target exhaust cam (270), and a possible maximum opening of the target intake cam (269); and / or that determining a predicted set of operating parameters for each of the plurality of sets of possible setpoints, respectively, further comprising determining a predicted set of operating parameters for each of the plurality of sets of possible setpoints, respectively, based on a plurality of measured disturbances. [2] A method of controlling the engine system (100) of claim 1, wherein selecting a set of possible setpoints based on one of the selected plurality of sets of possible setpoints having a possible target effective throttle range percentage, further comprising selecting a set of setpoints based on the selected one of the plurality of sets of possible setpoints, the set of possible setpoints including a target effective throttle range percentage and a target effective wastegate percentage. [3] A method of controlling the engine system (100) of claim 1, wherein selecting a set of possible setpoints based on one of the selected plurality of sets of possible setpoints having a possible target effective throttle range percentage, further comprising selecting a set of setpoints based on the selected one of the plurality of sets of possible setpoints, the set of possible setpoints having a target effective throttle range percentage and a maximum opening position of the exhaust cam (270) and a maximum opening position of the intake cam (269). [4] A method of controlling the engine system (100) of claim 1, wherein determining a predicted set of operating parameters for each of the plurality of sets of possible setpoints, each based on a plurality of measured disturbances, further comprising determining a predicted set of operating parameters for each of the plurality of sets of possible setpoints, each based on a plurality of measured disturbances and a plurality of feedback inputs. [5] A method of controlling the engine system (100) of claim 4, wherein determining a predicted set of operating parameters for each of the plurality of sets of possible setpoints, each based on a plurality of measured disturbances and a plurality of feedback inputs, further comprising determining a predicted set of operating parameters for each of the plurality of sets of possible setpoints, each based on a plurality of measured disturbances, a current normalized knock-limited spark air torque, a current intake manifold pressure, a current trap ratio, and a current normalized effective pump pressure. [6] A method of controlling the engine system (100) of claim 4, wherein determining a predicted set of operating parameters for each of the plurality of sets of possible setpoints, each based on a plurality of measured disturbances and a plurality of feedback inputs, further comprising determining a predicted set of operating parameters for each of the plurality of sets of possible setpoints, each based on a current half mass combustion crank angle (CA50), a current cylinder deactivation state, and a scaled engine speed, as well as a plurality of feedback inputs. [7] A method of controlling the engine system (100) according to claim 6, further comprising: Determining a target opening range of a boost valve based on the target effective throttle range percentage; Controlling a boost valve based on the target boost valve opening range. Controlling an intake valve phasing and an exhaust valve phasing, each based on the maximum opening position of the target intake cam (269) and the maximum opening position of the target exhaust cam (270).

Citation Information

Patent Citations

  • Transitions from non-model prediction control to model prediction control

    DE102015104189A1

  • METHOD FOR ADJUSTING WEIGHT VALUES ASSOCIATED WITH ERRORS OF SETPOINT VALUES OF A CONTROL ELEMENT WHEN THE ENGINE IS CONTROLLED USING MODEL PREDICTIVE CONTROL

    DE102016120144A1

  • Method of controlling actuators of an engine to adjust intake air flow when the engine is started

    DE102016209734A1