This application is based on Japanese Patent Application No. 2010-275899 filed on Dec. 10, 2010, the disclosure of which is incorporated herein by reference.
The present invention relates to a control apparatus which controls a control object based on a control parameter. The control parameter is computed by interpolating previously learned control parameters, so that the control parameter corresponds to current environment.
JP-2009-57924A shows that an injection time delay “td” is defined as the control parameter. The injection time delay “td” represents a time period from when a fuel injection command is generated toward a fuel injector until when a fuel is actually injected into a cylinder of an internal combustion engine. A fuel pressure sensor provided to the fuel injector detects a time point at which the fuel pressure starts to decrease due to a fuel injection, whereby the injection time delay “td” is measured. This measured injection time delay “td” is successively learned and an output timing of the fuel injection command is controlled based on the learned time delay “td”.
The injection time delay “td” depends on a fuel pressure supplied to the fuel injector at the time of fuel injection. According to the present inventor's study, the injection time delay “td” (control parameter) is learned in association with the fuel pressure (variable)
That is, as shown in
In a case that the relationship between the fuel pressure and the time delay “td” is indicated by a curved line “R” in
JP-2011-1916A published on Jan. 6, 2011, which corresponds to US-2010-0324702A1 published on Dec. 23, 2010, shows a learning device in which the time delay “td” and the fuel pressure are stored as vector values and a measurement vector consisting of measured values of the time delay “td” and the fuel pressure are computed. Then, a stored learning vector is updated based on the measurement vector. Thereby, it can be restricted that the updated learning vector causes a hunting.
In a case that multiple variables (for example, fuel pressure and fuel injection quantity) are correlated with a control parameter (time delay “td”), the learning map is a three-dimensional map. In such a three-dimensional map, when the control parameter corresponding to a current variable is computed by interpolating the learning vectors, it is likely that following problems may occur.
That is, in an initial stage of learning, it is likely that the stored learning value may deviate from an actual value because the stored learning value is an initial value. In a case that successive learning values are a newest learning value and an initial value, these values significantly deviate from each other. This tendency appears on a vector map.
For example, in a case of maps (usual map) shown in
In a three-dimensional vector map, when an intersection between a surface including multiple (four or more) learning vectors and current variables (fuel pressure and fuel injection quantity) is computed as a control parameter (time delay “td”) by interpolating, since the adjacent learning vectors significantly deviate from each other, the surface for interpolation becomes a skew surface greatly twisted. Thus, a complicated interpolation by spline is necessary, whereby an interpolation processing load becomes huge.
It should be noted that the dates of publication of the above JP-2011-1916A and US-2010-0324702A1 are later than a priority date (Dec. 10, 2010) of the present application.
The present invention is made in view of the above matters, and it is an object of the present invention to provide a control apparatus for an internal combustion engine which is able to restrict a hunting of a learning value and to reduce an interpolation processing load.
According to the present invention, the control apparatus includes a learning portion which learns a control parameter in association with a plurality of variables; an interpolation portion which computes the control parameter corresponding to current variables which represent a current environmental condition by interpolating the control parameter learned by the learning portion; and a control portion which controls a control object based on the control parameter computed by the interpolation portion.
The learning portion executes a learning by correcting the learning vector consisting of the variables and the control parameter based on a measurement vector consisting of measured values of the variables and a measured value of the control parameter. The interpolating portion includes a selecting portion which selects three learning vectors from a plurality of learning vectors learned by the learning portion. Further, the interpolating portion computes the control parameter corresponding to the current variables by interpolating the control parameters on a flat surface including said three learning vectors.
In an initial stage of learning, it is likely that the stored learning vector may deviate from an actual vector because the stored learning vector is an initial vector. If the interpolation is executed on a surface including four or more learning vectors unlike the present invention, the surface includes a learning vector which significantly deviates from the actual vector and the surface becomes a skew surface twisted greatly. However, according as the learning process advances enough, the number of the learning vector deviating from the actual vector decreases, whereby the curve of the surface used for interpolation is decreased to be a flat surface. Consequently, there is no significant difference in interpolation accuracy between the case where the interpolation is executed on a surface including three learning vectors and a case where the interpolation is executed on a surface including four or more learning vectors. In other words, when the learning procedure advances well enough, sufficient interpolation accuracy is obtained by interpolating on a surface including three learning vectors. It is unnecessary to execute a complicate interpolation by means of a skew surface including four or more learning vectors.
In view of the above, according to the present invention, the control parameter corresponding to the current variables is computed by interpolating the control parameters on a flat surface including three learning vectors, whereby an interpolation processing load can be reduced. Furthermore, since the vector consisting of the control parameter and the variables are learned, it can be restricted that the learning value causes a hunting.
According to another aspect of the invention, the selecting portion selects three learning vectors in such a manner that the current variables are positioned inside of a triangle connecting said three learning vectors.
If one of three learning vectors deviates from an actual vector and the current variables exist outside of the triangle, the interpolated control parameter may deviate from an appropriate value. Meanwhile, according to the present invention, since the interpolated control parameter less receives an influence from improper values, it can be avoided that the control parameter deviates from the appropriate value.
According to another aspect of the invention, the selecting portion preferentially selects the learning vector of which variable is close to the current variable. If the relationship between the control parameter and variables is indicated by a curved line, the interpolation on a flat surface based on the learning vector of variables deviating from the current variables deteriorates its interpolation accuracy. Meanwhile, according to the present invention, since the learning vector of which variable is close to the current variable is selected for the interpolation on a flat surface, the deterioration in interpolation accuracy can be restricted.
According to another aspect of the present invention, the learning portion stores the control parameter on a map in which the variables are divided into a plurality of regions in a lattice manner. In a case that a region in which the current variables exist is referred to as an existing region, a region which is in contact with a side of the existing region is referred to as an adjacent region, and a region which is in contact with a corner of the existing region is referred to as an oblique region, the selecting portion selects the learning vector in the existing region, the learning vector in the adjacent region and the learning vector in the oblique region as said three learning vector.
As above, since the learning vectors in the existing region, the adjacent region and the oblique region are used for the interpolation, it is easily realized that the current variables exist inside of the triangle and the learning vector of which variable is close to the current variable is selected.
According to another aspect of the present invention, the control object is a fuel injector which injects a fuel into a combustion chamber of an internal combustion engine, and the fuel injector is provided with a fuel pressure sensor which detects a fuel pressure. The control apparatus further includes: a fuel pressure waveform detecting portion which detects a variation in the fuel pressure as a fuel pressure waveform based on the detection value of the fuel pressure sensor; and a fuel-injection-rate parameter computing portion which computes a fuel-injection-rate parameter required for identifying a fuel-injection-rate waveform corresponding to the fuel pressure waveform. The measured value of the control parameter is the fuel-injection-rate parameter computed by the fuel-injection-rate parameter computing portion.
The fuel-injection-rate parameter includes a fuel-injection start time delay “td”, for example. That is, since the fuel pressure detected by the fuel pressure sensor starts to decrease due to a fuel injection, the actual fuel injection start time can be detected based on the detection of the fuel pressure decrease. Therefore, the time delay “td” from when the fuel injection start command signal is outputted to the fuel injector until when the fuel injection is actually started can be detected. It should be noted that since the time delay “td” varies according to the fuel pressure and the fuel injection quantity, the time delay “td” (control parameter) is learned in association with the furl pressure (variable) and the fuel injection quantity (variable) and the output timing of the fuel injection command signal is controlled based on the learned time delay “td”.
Other objects, features and advantages of the present invention will become more apparent from the following description made with reference to the accompanying drawings, in which like parts are designated by like reference numbers and in which:
Hereafter, an embodiment of the present invention will be described. A control apparatus is applied to an internal combustion engine (diesel engine) having four cylinders #1-#4.
First, a fuel injection system of the engine including the fuel injector 10 will be explained. A fuel in a fuel tank 40 is pumped up by a high-pressure fuel pump 41 and is accumulated in a common-rail (accumulator) 42 to be supplied to each fuel injector 10 (#1-#4). The fuel injectors 10 (#1-#4) perform fuel injection sequentially in a predetermined order. The high-pressure fuel pump 41 is a plunger pump which intermittently discharges high-pressure fuel.
The fuel injector 10 is comprised of a body 11, a needle valve body 12, an actuator 13 and the like. The body 11 defines a high-pressure passage 11a and an injection port 11b. The needle valve body 12 is accommodated in the body 11 to open/close the injection port 11b.
The body 11 defines a backpressure chamber 11c with which the high-pressure passage 11a and a low pressure passage 11d communicate. A control valve 14 switches between the high-pressure passage 11a and the low pressure passage 11d, so that the high-pressure passage 11a communicates with the backpressure chamber 11c or the low pressure passage 11d communicates with the backpressure chamber 11c. When the actuator 13 is energized and the control valve 14 moves downward in
The ECU 30 controls the actuator 13 to drive the valve body 12. When the needle valve body 12 opens the injection port 11b, high-pressure fuel in the high-pressure passage 11a is injected to a combustion chamber (not shown) of the engine through the injection port 11b.
The fuel pressure sensor 20 includes a stem 21 (load cell), a pressure sensor element 22 and a molded IC 23. The stem 21 is provided to the body 11. The stem 21 has a diaphragm 21a which elastically deforms in response to high fuel pressure in the high-pressure passage 11a. The pressure sensor element 22 is disposed on the diaphragm 21a to output a pressure detection signal depending on an elastic deformation of the diaphragm 21a.
The molded IC 23 includes an amplifier circuit which amplifies a pressure detection signal transmitted from the pressure sensor element 22 and includes a transmitting circuit which transmits the pressure detection signal. A connector 15 is provided on the body 11. The molded IC 23, the actuator 13 and the ECU 30 are electrically connected to each other through a harness 16 (signal line) connected to the connector 15. The amplified pressure detection signal is transmitted to the ECU 30. Such a signal communication processing is executed with respect to each cylinder.
The ECU 30 has a microcomputer which computes a target fuel injection condition, such as a number of fuel injection, a fuel-injection-start timing, a fuel-injection-end timing, and a fuel injection quantity. For example, the microcomputer stores an optimum fuel-injection condition with respect to the engine load and the engine speed as a fuel-injection condition map. Then, based on the current engine load and engine speed, the target fuel-injection condition is computed in view of the fuel-injection condition map. The fuel injection command signals “t1”, “t2”, “Tq” (
It should be noted that the actual fuel-injection condition varies relative to the fuel-injection-command signal due to aging deterioration of the fuel injector 10, such as abrasion and clogging of the injection port 11b. Hence, based on the detection value of the fuel pressure sensor 20, a variation in fuel pressure is illustrated by a fuel pressure waveform (refer to
A learning portion 32 learns the computed injection rate parameters and stores the updated parameters in a memory of the ECU 30. Since the injection rate parameters vary according to the supplied fuel pressure (fuel pressure in the common rail 2), it is preferable that the injection rate parameters are learned in correlation with the supplied fuel pressure or a reference pressure Pbase. Further, the fuel-injection-rate parameters other than the maximum fuel-injection-rate Rmax is preferably learned in correlation with the fuel injection quantity. The fuel-injection-rate parameters corresponding to the fuel pressure is stored in a fuel-injection-rate parameter map M.
An establishing portion (control portion) 33 obtains the fuel-injection-rate parameter (learning value) corresponding to the current fuel pressure from the fuel-injection-rate parameter map M. Then, based on the obtained fuel-injection-rate parameter, the portion 33 establishes the fuel-injection-command signals “t1”, “t2”, “Tq” which correspond to the target fuel injection condition. When the fuel injector 10 is operated according to the above fuel-injection-command signals, the fuel pressure sensor 20 detects the fuel pressure waveform. Based on this the fuel pressure waveform, the injection-rate-parameter computing portion 31 computes the fuel-injection-rate parameters “td”, “te”, Rα, Rβ, Rmax.
That is, the actual fuel injection condition (injection rate parameters “td”, “te”, Rα, Rβ, Rmax) corresponding to the fuel injection command signal is detected and learned. Based on this learning value, the fuel injection command signal correspond to the target injection condition is established. Therefore, the fuel injection command signal is feedback controlled based on the actual injection condition, whereby the actual fuel injection condition is accurately controlled in such a manner as to agree with the target injection condition even if the deterioration with age is advanced.
A learning processing of the fuel-injection-start delay “td” in the learning portion 32 will be described hereinafter.
An injection-rate-parameter computing portion 31 defines a measurement vector TD(p, C, Td) based on the measured time delay “td”, the fuel pressure “p” and the fuel injection quantity C. In a case that the fuel pressure “p” of the measurement vector TD(p, C, td) corresponds to the region “i”, the learning vector TDi(pi, C, tdi) in the region “i” is corrected based on the measurement vector TD(p, C, td) to be stored.
Referring to a flowchart shown in
In step S10, which corresponds to a measurement vector obtaining portion, the detected fuel pressure from the fuel pressure sensor 20 and the fuel pressure waveform indicating variation in the fuel pressure are obtained. In step S11, which corresponds to a measurement vector obtaining portion, the injection-rate-parameter computing portion 31 computes the fuel-injection-rate parameter (td, te), the fuel pressure “p” and the fuel injection quantity “Q” of the time when the fuel injection is started. An example in which the time delay “td” is the fuel-injection-rate parameter will be described hereinafter. In step S12, it is determined whether the number of learning of the time delay “td” is less than a specified number.
When the answer is NO in step S12, it is determined that more learning is unnecessary, so that the processing is terminated. So, the learning processing load of ECU 30 can be reduced. When the answer is YES in step S12, the learning of the time delay “td” is executed in steps S13 to S16.
In step S13, a vector consisting of the time delay “td”, the fuel pressure “p” and the fuel injection quantity “Q” computed in step S11 is defined as a measurement vector TD(p, Q, Td). That is, the measurement vector TD(p, Q, Td) is obtained based on the fuel pressure measured by the fuel pressure sensor 20.
In step S14, based on the fuel pressure “p” and the fuel injection quantity “Q” computed in step S11, a learning vector which should be updated is searched. That is, it is searched which region “i−1”, “i”, “i+1” corresponds to the fuel pressure “P”, and it is searched which region “j−1”, “j”, “j+1” corresponds to the fuel injection quantity “Q”. Then, the learning vector in the searched region is updated.
In step S15 (correction vector computing), a correction vector is computed based on the learning vector TDij(pi, Qj, tdij) and the measurement vector TD(p, Q, td). Specifically, the learning vector TDij(pi, Qj, tdij) is subtracted from the measurement vector TD(p, Q, td). This obtained vector is multiplied by a specified ratio G (0<G<1) to compute a correction vector TDijam.
TDijam={TD(p,Q,td)−TDij(pi,Qj,tdij)}×G
The specified ratio G is constant in any regions. Alternatively, the specified ratio D may have different value in each region. For example, as the number of learning is less, the specified ratio G is set larger, so that the learning vector is brought into an actual value early and a hunting of the learning vector is restricted.
In step S16, which corresponds to a correction portion, the correction vector TDijam computed in step S15 is added to the learning vector TDi(pi, Qj, tdij) to update and store the learning vector TDij(pi, Qj, tdij).
Updated learning vector TDijnew(pinew,Qjnew,tdijnew)=TDij(pi,Qj,tdij)+TDijam
In step S17, a counter which counts the number of learning in step S12 is counted up. It should be noted that the number of learning may be determined with respect to each region in step S12. In such a case, the number of learning is counted up with respect to the region in which the learning vector is updated in step S16.
When the establishing portion 33 establishes the fuel injection command signal, it is necessary that the fuel-injection-rate parameter corresponding to the current fuel pressure “p” and the fuel injection quantity “Q” (variables) is computed by interpolating the learning vector and then the fuel injection command signal is established based on the above fuel-injection-rate parameter (interpolation vector TD(h)). In
Referring to a flowchart shown in
In step S20, the current fuel pressure “p” and the current fuel injection quantity “Q” are obtained as the current variables. For example, the reference pressure Pbase and the fuel injection quantity “Q” computed by the injection-rate-parameter computing portion 31 are used as the current variables. In
In step S21, which corresponds to a selecting portion, the existing region “A” is determined based on the current variables “p”, “Q” obtained in step S20. In step S22, which corresponds to the selecting portion, one oblique surface for computing a flat surface “Flat” is determined among four oblique regions “B1”-“B4”. Specifically, according to a rule shown in
That is, as shown in
Then, two adjacent regions which are adjacent to the region “A2” are selected from four adjacent regions “C1”-“C4”, as shown in
The position of the interpolation vector TD(h) relative to the lines “Lbot” and “Llef” is determined according to the rule shown in
Referring back to
That is, a line “L2” connecting the learning vector TD(B2) and the learning vector TD(A) is defined. Then, the position of the interpolation vector TD(h) relative to the line “L2” is determined according to the rule shown in
By executing the processes in steps S20-S23, the existing region “A”, the oblique region “B2” and the adjacent region “C2” are determined for computing the surface “Flat”. The current variables “p” and “Q” (that is, the interpolation vector TD(h)) are positioned inside of a triangle connecting the learning vectors TD(A), TD(B2) and TD(C2) in the regions “A”, “B2”, and “C2”, as shown in
In step S24, the surface “Flat” including the learning vectors TD(A), TD(B2), and TD(C2) is computed. Since the surface “Flat” is computed based on the learning vectors TD(A), TD(B2) and TD(C2), the surface “Flat” is always a flat surface. In step S25, which corresponds to an interpolation portion, based on the current variables “P”, “Q” and the surface “Flat”, the time delay “td” (control parameter) is computed with respect to the interpolation vector Td(h). That is, the time delay “td” of the point corresponding to the current variables “p” and “Q” on the surface “Flat” is computed as the time delay “td” of the interpolation vector TD(h). As above, the control parameter corresponding to the current variables “p” and “Q” is computed and the establishing portion 33 establishes a fuel injection command signal by means of the control parameter.
In an initial stage of learning shown in
Consequently, there is no big difference in interpolation accuracy between the case where the interpolation is executed on a surface including three learning vectors and a case where the interpolation is executed on a surface including four or more learning vectors. In other words, when the learning procedure advances well enough, the sufficient interpolation accuracy is obtained by interpolating on a surface including three learning vectors. It is unnecessary to execute a complicate interpolation by means of a skew surface including four or more learning vectors. In view of the above, according to the present embodiment, the control parameter of the interpolation vector TD(h) corresponding to the current variables “p” and “Q” is computed by executing an interpolation on the surface “Flat” including three learning vectors TD(A), TD(B2), and TD(C2). Thus, an interpolation processing load of the ECU 30 can be reduced.
Furthermore, according to the present embodiment, instead of storing the control parameters (td(30), td(50), td(80) in
Furthermore, since the correction vector TDiam is computed by multiplying the difference between the measurement vector “td” and the learning vector TDi by a specified ratio G (0<G<1), it can be restricted that the updated learning vector causes a hunting more than a case where the difference is added to the learning vector TD1 to be corrected.
In the embodiment shown in
Also, when the portion 33 establishes the fuel injection command signals t1, t2, Tq by means of the learned injection rate parameters (td, te, Rmax and the like), the frequency of the case where the learning vector “td” stored in the map M is used for establishing the fuel injection command signal depends on the region. The region may be divided at irregular intervals according to the frequency of the case. For example, the learning vector is frequently used with respect to the fuel pressure “p” when the engine is at idle state. In such a region, its width is set narrower.
The present invention is not limited to the embodiments described above, but may be performed, for example, in the following manner. Further, the characteristic configuration of each embodiment can be combined.
In the above embodiment, the learning vectors TD(A), TD(B2) and TD(C2) are defined in such a manner that the interpolation vector TD(h) is positioned inside of the triangle connecting the learning vectors TD(A), TD(B2) and TD(C2). According to another embodiment, the interpolation vector TD(h) may be positioned outside of the triangle.
When defining three learning vectors for computing the surface “Flat”, three learning vectors may be defined in an order that the variables “p” and “Q” of the learning vector are more close to the current variables “p” and Q.
The region corresponding to three learning vectors may be selected from two oblique region and the existing region “A”, or two adjacent regions and the existing region “A”.
In the above embodiment, an arbitrary injection-rate parameter (for example, fuel injection start time delay “td”) is stored in correlation with the two variables “p” and “Q”. According to another embodiment, an arbitrary injection-rate parameter “td” may be stored in association with another injection-rate parameter (for example, fuel injection end time delay “te”) and one variable.
The specified ratio G may be set to “1”. That is, a vector obtained by subtracting the learning vector TDi(pi, Qi, tdi) from the measurement vector TD(p, Q, td) may be defined as the correction vector TDiam.
In the above embodiment, when it is determined that the number of learning of the time delay “td” is greater than or equal to a specified number in step S12, the learning procedure is terminated. Alternatively, when a learning period of the learning vector exceeds a specified time period, the learning procedure may be terminated.
Number | Date | Country | Kind |
---|---|---|---|
2010-275899 | Dec 2010 | JP | national |