The disclosure of Japanese Patent Application No. 2019-152135 filed on Aug. 22, 2019 including the specification, drawings and abstract is incorporated herein by reference in its entirety.
The disclosure relates to a control apparatus for a vehicle, a learning system for a vehicle, and a control method for a vehicle.
For example, Japanese Unexamined Patent Application Publication No. 4-091348 (JP 4-091348 A) suggests an apparatus including a neural network that inputs a rotation variation that is a change in the amount of rotation speed and outputs values each indicating whether a misfire has occurred in an associated one of a plurality of cylinders of an internal combustion engine.
Generally, to improve the reliability of a trained model trained through machine learning, a neural network needs to be trained in advance by using training data in various situations. However, before the neural network is installed in a vehicle, the neural network cannot always obtain sufficient training data in various situations that can occur when the neural network is actually installed in a vehicle. When the neural network cannot obtain sufficient training data, it may be difficult to check whether the neural network outputs correct values in various situations when installed in a vehicle.
A first aspect of the disclosure relates to a control apparatus for a vehicle. The control apparatus includes a memory and a processor. The memory is configured to store map data. The map data includes data that defines a map and that have been trained through machine learning. The map is configured to input data based on a detected value of an in-vehicle sensor and output an output value having information about a prescribed status of the vehicle. The processor is configured to execute an acquisition process of acquiring the input data and related data different from the input data. The processor is configured to execute a calculation process of calculating the output value by using the input data, acquired through the acquisition process, as an input to the map. The processor is configured to execute a sending process of sending, to an outside of the vehicle, the input data used to calculate the output value and the related data acquired through the acquisition process together with the input data.
With the above configuration, in addition to the output value that is calculated by the processor as the vehicle travels, the related data different from the input data is sent to the outside of the vehicle. For this reason, the validity of the map can be checked while related data is used outside the vehicle.
In the control apparatus, the related data may include a value of a positional information variable that is a variable indicating positional information of the vehicle. A situation in which the vehicle is used varies among regions, and there are concerns that various factors affect the accuracy of the output value of the map. With the above configuration, by including the value of the positional information variable in the related data, the validity of the map can be checked based on various factors peculiar to regions.
In the control apparatus, the related data may include a value of an environment variable that is a variable indicating an environment around the vehicle. Depending on an environment around the vehicle, there are concerns that various factors affect the accuracy of the output value of the map. With the above configuration, by including the value of the environment variable in the related data, the validity of the map can be checked based on various factors due to an environment.
The vehicle may include an internal combustion engine. In the control apparatus, the prescribed status may be a status of the internal combustion engine. The environment variable may include an intake air temperature variable that is a variable indicating an intake air temperature.
A combustion state, or the like, of air-fuel mixture in a combustion chamber of the internal combustion engine varies according to an intake air temperature. With the above configuration, by including the value of the intake air temperature variable in the related data, the validity of the map can be checked based on an intake air temperature.
In the control apparatus, the prescribed status may be a status of the internal combustion engine. The environment variable may include an atmospheric pressure variable that is a variable indicating an atmospheric pressure.
Because the pressure in an exhaust passage varies with an atmospheric pressure and other reasons, an atmospheric pressure can affect a combustion state of air-fuel mixture in a combustion chamber. With the above configuration, by including the value of the atmospheric pressure variable in the related data, the validity of the map can be checked based on an atmospheric pressure.
The in-vehicle sensor may include a crank angle sensor. The input data may include a value of a rotation waveform variable that is a variable containing information about a difference between values of instantaneous speeds in different angular intervals that are less than an interval of appearance of a compression top dead center of the internal combustion engine. The instantaneous speeds each may be a rotation speed of a crankshaft of the internal combustion engine in an associated one of the angular intervals. The environment variable may include a road surface condition variable indicating a condition of a road surface on which the vehicle is traveling.
Because the rotation behavior of the crankshaft can vary depending on the condition of a road surface, the rotation waveform variable may be affected by the condition of a road surface. For this reason, the output value of the map may be affected by the condition of a road surface. With the above configuration, by including the value of the road surface condition variable in the related data, the validity of the map can be checked based on the condition of a road surface.
In the control apparatus, the related data may include a value of an operating status variable that is a variable indicating an operating status of the vehicle. With the above configuration, by including the value of the operating status variable in the related data, the validity of the map that outputs the output value having information about the prescribed status of the vehicle can be checked based on the operating status of the vehicle.
In the control apparatus, the operating status variable may include a mode variable that is a variable indicating a combustion control mode of the internal combustion engine. When the combustion control mode varies, the combustion state of air-fuel mixture in a combustion chamber of the internal combustion engine also varies, so this may affect the accuracy of the output value having information about the status of the internal combustion engine. With the above configuration, by including the value of the mode variable in the related data, whether the accuracy of the output value varies with the combustion control mode can be checked.
The vehicle may include a transmission configured to change a speed ratio that is a ratio of an output-side rotation speed to a rotation speed of a crankshaft of the internal combustion engine. In the control apparatus, the in-vehicle sensor may include a crank angle sensor. The operating status variable may include a speed ratio variable that is a variable indicating a speed ratio of the transmission.
Because the moment of inertia from the crankshaft to drive wheels varies according to a speed ratio, the rotation behavior of the crankshaft varies. For this reason, the accuracy of the output value of the map to which input data based on the output value of the crank angle sensor is input may vary according to a speed ratio. In this regard, with the above configuration, by including the value of the speed ratio variable in the related data, the validity of the map can be checked based on a speed ratio.
An internal combustion engine including a catalyst in an exhaust passage may be mounted on the vehicle. In the control apparatus, information about the prescribed status may be information about a temperature of the catalyst. The operating status variable may include a vehicle speed variable that is a variable indicating a travel speed of the vehicle.
Because the temperature of the catalyst is affected by air flow while traveling, the accuracy of the output value of the map having information about the temperature of the catalyst may be affected by a vehicle speed. In this regard, with the above configuration, by including the value of the vehicle speed variable in the related data, the validity of the map can be checked based on a vehicle speed.
In the control apparatus, the map may be a second map, the map data may be second map data, the input data may be second input data, the output value may be a second output value, the acquisition process may be a second acquisition process, and the calculation process may be a second calculation process. The memory may be configured to store first map data that is data that defines a first map. The first map may use first input data based on a detected value of the in-vehicle sensor as an input and output a first output value that is an output value containing information about the prescribed status. The processor may be configured to execute a first acquisition process of acquiring the first input data based on the detected value of the in-vehicle sensor. The processor may be configured to execute a first calculation process of calculating the first output value by using the first input data acquired through the first acquisition process as an input to the first map. The processor may be configured to execute a determination process of determining whether the first output value and the second output value match. The processor may be configured to execute the sending process when the processor determines through the determination process that the first output value and the second output value do not match.
In the above configuration, when the processor determines through the determination process that the first and second output values do not match, there is a high possibility that the validity of the output value of the second map is low as compared to when the processor determines that the first and second output values match. In this regard, with the above configuration, by executing the sending process when the processor determined through the determination process that the first and second output values do not match, the sending process can be executed when it is particularly desired to check the validity of the second output value while a communication load is reduced.
A second aspect of the disclosure relates to a learning system for a vehicle. The learning system includes the above-described processor that is a first processor, the memory, and a second processor different from an in-vehicle device. The second processor is configured to execute a reception process of receiving data sent by the first processor through the sending process. The second processor is configured to execute a re-training data generation process of generating re-training data based on the data received through the reception process. The re-training data is data for re-training the map. The second processor is configured to execute a re-training process of re-training the map data based on the re-training data generated through the re-training data generation process.
With the above configuration, by re-training map data based on new input data that occurs as the vehicle travels, the map data can be brought close to map data that can deal with various situations in which the vehicle travels.
The fact that the second processor is different from an in-vehicle device means that the second processor is not an in-vehicle device.
In the learning system, the second processor may be configured to execute a map data sending process of sending the map data re-trained through the re-training process to the vehicle. The first processor may be configured to execute a map data reception process of receiving the map data sent by the second processor through the map data sending process.
With the above configuration, by receiving map data re-trained in the vehicle, map data that is used to calculate the output value can be updated in the vehicle.
A third aspect of the disclosure relates to a control method for a vehicle. The control method includes: storing map data by a memory, the map data including data that defines a map and that have been trained through machine learning, the map being configured to use input data based on a detected value of an in-vehicle sensor as an input and output an output value having information about a prescribed status of a vehicle; storing map data by a memory, the map data including data that defines a map and that have been trained through machine learning, the map being configured to use input data based on a detected value of an in-vehicle sensor as an input and output an output value having information about a prescribed status of a vehicle; executing, by the processor, a calculation process of calculating the output value by using the input data, acquired through the acquisition process, as an input to the map; and executing, by the processor, a sending process of sending, to an outside of the vehicle, the input data used to calculate the output value and the related data acquired through the acquisition process together with the input data.
In the control method, the related data may include a value of a positional information variable that is a variable indicating positional information of the vehicle.
In the control method, the related data may include a value of an environment variable that is a variable indicating an environment around the vehicle.
In the control method, the map may be a second map, the map data may be second map data, the input data may be second input data, the output value may be a second output value, the acquisition process may be a second acquisition process, and the calculation process may be a second calculation process. The control method may further include: storing, by the memory, first map data that is data that defines a first map, the first map uses first input data based on a detected value of the in-vehicle sensor as an input and outputs a first output value that is an output value containing information about the prescribed status; executing, by the processor, a first acquisition process of acquiring the first input data based on the detected value of the in-vehicle sensor; executing, by the processor, a first calculation process of calculating the first output value by using the first input data acquired through the first acquisition process as an input to the first map; executing, by the processor, a determination process of determining whether the first output value and the second output value match; and executing, by the processor, the sending process when the processor determines through the determination process that the first output value and the second output value do not match.
Features, advantages, and technical and industrial significance of exemplary embodiments of the disclosure will be described below with reference to the accompanying drawings, in which like signs denote like elements, and wherein:
Hereinafter, a first embodiment of a learning system for a vehicle will be described with reference to the accompanying drawings.
In an internal combustion engine 10 mounted on a vehicle VC1 shown in
An input shaft 56 of a transmission 54 can be coupled to the crankshaft 24 of the internal combustion engine 10 via a torque converter 50. The torque converter 50 includes a lockup clutch 52. When the lockup clutch 52 is engaged, the crankshaft 24 and the input shaft 56 are coupled to each other. Drive wheels 60 are mechanically coupled to an output shaft 58 of the transmission 54.
A crank rotor 40 is connected to the crankshaft 24. The crank rotor 40 has tooth portions 42 that respectively indicate multiple rotation angles of the crankshaft 24. In the present embodiment, the number of the tooth portions 42 illustrated is 34. The crank rotor 40 basically has the tooth portions 42 at an interval of 10° CA; however, the crank rotor 40 has a toothless portion 44 that is a portion at which the interval between the adjacent tooth portions 42 is 30° CA. This is to indicate a reference rotation angle of the crankshaft 24.
A control apparatus 70 controls the internal combustion engine 10 as a controlled object and operates operating parts of the internal combustion engine 10 such as the throttle valve 14, the fuel injection valves 20, the ignition devices 22, and the EGR valve 34 to control torque, exhaust component ratio, and the like, as controlled variables of the internal combustion engine 10. The control apparatus 70 controls the torque converter 50 as a controlled object and operates the lockup clutch 52 to control the engagement status of the lockup clutch 52 as a controlled variable of the torque converter 50. The control apparatus 70 controls the transmission 54 as a controlled object and operates the transmission 54 to control a gear ratio as a controlled variable of the transmission 54.
When the control apparatus 70 controls the controlled variables, the control apparatus 70 reads an output signal Scr of a crank angle sensor 80, an intake air volume Ga, and the temperature of intake air (intake air temperature Ta) that is taken into the intake passage 12. The crank angle sensor 80 outputs a pulse at every angular interval between any adjacent tooth portions 42 provided at intervals of 10° CA except the toothless portion 44. The intake air volume Ga is detected by an air flow meter 82. The intake air temperature Ta is detected by an intake air temperature sensor 84. The control apparatus 70 reads the temperature of exhaust gas (exhaust gas temperature Tex) that flows into the catalyst 30, an upstream air-fuel ratio Afu, and a downstream air-fuel ratio Afd. The exhaust gas temperature Tex is detected by an exhaust gas temperature sensor 86. The upstream air-fuel ratio Afu is detected by an upstream air-fuel ratio sensor 88 provided upstream of the catalyst 30. The downstream air-fuel ratio Afd is detected by a downstream air-fuel ratio sensor 90 provided downstream of the catalyst 30. The control apparatus 70 reads the temperature of coolant (coolant temperature THW) in the internal combustion engine 10, the shift position Vsft of the transmission 54, and an atmospheric pressure Pa. The coolant temperature THW is detected by a coolant temperature sensor 92. The shift position Vsft is detected by a shift position sensor 94. The atmospheric pressure Pa is detected by an atmospheric pressure sensor 96. The control apparatus 70 reads the travel speed of the vehicle VC1 (vehicle speed V), an acceleration Gy in the up-down direction of the vehicle VC1, and position data Pgps. The vehicle speed V is detected by a vehicle speed sensor 98. The acceleration Gy is detected by an acceleration sensor 100. The position data Pgps is provided by a global positioning system (GPS) 102.
The control apparatus 70 includes a CPU 72, a ROM 74, a memory 76 that is an electrically rewritable nonvolatile memory, a communication instrument 77, and a peripheral circuit 78, which are communicable through a local network 79. The peripheral circuit 78 includes a circuit that generates a clock signal regulating internal operations, a power supply circuit, a reset circuit, and the like. The memory 76 stores service map data 76a and evaluation map data 76b. The service map data 76a is data that is actually used to keep a watch on the internal combustion engine 10 for a misfire. In contrast to this, the evaluation map data 76b is data of which the reliability is to be evaluated and is not used to keep a watch on the internal combustion engine 10 for a misfire. The evaluation map data 76b is installed in the control apparatus 70 in a state where the evaluation map data 76b has been trained to a certain degree through machine learning.
The control apparatus 70 controls the controlled variables by the CPU 72 running a program stored in the ROM 74. For example, the CPU 72 operates the fuel injection valves 20 such that the upstream air-fuel ratio Afu becomes a target value. For example, depending on the operating status of the internal combustion engine 10, the CPU 72 operates the EGR valve 34 to perform open loop control over the flow rate of exhaust gas (EGR amount) flowing from the exhaust passage 28 to the intake passage 12 via the EGR passage 32. The ROM 74 stores a misfire detection program 74a and a re-training sub-program 74b. The re-training sub-program 74b is a program for re-training the evaluation map data 76b.
The communication instrument 77 is a device for communicating with a data analysis center 120 via a network 110 outside the vehicle VC1. The data analysis center 120 analyzes data that is sent from a plurality of vehicles VC1, VC2, . . . . The data analysis center 120 includes a CPU 122, a ROM 124, a memory 126, a communication instrument 127, and a peripheral circuit 128, which are communicable through a local network 129. The ROM 124 stores a re-training main program 124a that defines a process of re-training the evaluation map data 76b based on data sent from the vehicles VC1, VC2, . . . . The memory 126 stores re-training data 126a that is data sent from the vehicles VC1, VC2, . . . for re-training a map defined by the evaluation map data 76b.
In a series of step shown in
Subsequently, the CPU 72 determines whether the minute rotation time T30 acquired in S10 is a time required to rotate an angular interval from a point 30° CA before the compression top dead center to the compression top dead center in any one of the cylinders #1, #2, #3, #4 (S14). When the CPU 72 determines that the minute rotation time T30 is a time required to rotate the angular interval to the compression top dead center (YES in S14), the CPU 72 substitutes “T30[0]-T30[6]” into a rotation variation Δω(i) of the target cylinder #i to determine the presence or absence of misfire in the cylinder reaching the compression top dead center (S16). In other words, a rotation variation Δω is quantified by subtracting a time required to rotate an angular interval from a point 30° CA before the compression top dead center to the compression top dead center of the cylinder that reaches the compression top dead center previously to the target cylinder for determination as to a misfire from a time required to rotate an angular interval from a point 30° CA before the compression top dead center to the compression top dead center of the target cylinder.
Subsequently, the CPU 72 determines whether the rotation variation Δω(i) is greater than or equal to a prescribed amount Δωth (S18). This step is a step of determining whether a misfire has occurred in the target cylinder. The CPU 72 variably sets the prescribed amount Δωth based on a rotation speed NE and a charging efficiency η that define an operating point of the internal combustion engine 10.
More specifically, in a state where map data that uses the rotation speed NE and the charging efficiency η as input variables and uses the prescribed amount Δωth as an output variable is prestored in the memory 76, the prescribed amount Δωth is obtained through map computation of the CPU 72. Map data is dataset of discrete values of input variables and values of output variables respectively associated with the values of the input variables. In map computation, for example, when the value of an input variable coincides with any one of the values of the input variables of the map data, the associated value of the output variable of the map data may be used as a computed result; whereas, when the value of an input variable does not coincide with any one of the values of the input variables, a value obtained through interpolation using a plurality of the values of the output variables included in the map data may be used as a computed result.
A rotation speed NE is calculated by the CPU 72 based on the output signal Scr of the crank angle sensor 80. A rotation speed NE is an average of rotation speed when the crankshaft 24 rotates an angular interval greater than the interval of appearance of the compression top dead center (in the present embodiment, 180° CA). A rotation speed NE is desirably an average of rotation speed when the crankshaft 24 rotates a rotation angle greater than or equal to one revolution of the crankshaft 24. An average is not limited to a simple average and may be, for example, obtained as an exponential moving average. In short, a low-frequency component obtained by excluding higher-order components that fluctuate in about the interval of appearance of the compression top dead center may be calculated as an average. A charging efficiency η is calculated by the CPU 72 based on a rotation speed NE and an intake air volume Ga.
In S16 and S18, the service map data 76a is used. In other words, the service map data 76a defines a map that uses the minute rotation time T30[0] and the minute rotation time T30[6] as inputs and outputs a logical value indicating whether a misfire has occurred in the target cylinder as an output value. The logical value is a value on whether the proposition that the rotation variation Δω(i) is greater than or equal to the prescribed amount Δωth is true or false.
When the CPU 72 determines that the rotation variation Δω(i) is greater than or equal to the prescribed amount Δωth (YES in S18), the CPU 72 determines that a misfire has occurred in the cylinder #i (S20). Subsequently, the CPU 72 increments a misfire counter CN(i) of the cylinder #i (S22). After that, the CPU 72 determines whether the logical OR of a lapse of a predetermined period from when S18 is executed for the first time in a state where the misfire counter CN(i) is initialized and a lapse of a predetermined period from when S28 (described later) is executed (S24). When the CPU 72 determines that the logical OR is true (YES in S24), the CPU 72 determines whether the misfire counter CN(i) is greater than or equal to a threshold CNth (S26). When the CPU 72 determines that the misfire counter CN(i) is less than the threshold CNth (NO in S26), the CPU 72 initializes the misfire counter CN(i) (S28).
In contrast to this, when the CPU 72 determines that the misfire counter CN(i) is greater than or equal to the threshold CNth (YES in S26), the CPU 72 notifies a user of occurrence of an abnormality by operating an alarm lamp 104 shown in
When the CPU 72 completes S28 or S30 or when the CPU 72 makes negative determination in S14 or S24, the CPU 72 once ends the series of steps shown in
In a series of steps shown in
Subsequently, the CPU 72 substitutes the values acquired in S40 into the input variables x(1), x(2), x(3), x(4), x(5), x(6), x(7), x(8), x(9), x(10), x(11), x(12), x(13), x(14), x(15), x(16), x(17), x(18), x(19), x(20), x(21), x(22), x(23), x(24), x(25), x(26) of the map defined by the evaluation map data 76b (S42). More specifically, the CPU 72 substitutes the minute rotation times T30(s) into the input variables x(s) where s=1 to 24. In other words, the input variables x(1), x(2), x(3), x(4), x(5), x(6), x(7), x(8), x(9), x(10), x(11), x(12), x(13), x(14), x(15), x(16), x(17), x(18), x(19), x(20), x(21), x(22), x(23), x(24) are time-series data of the minute rotation time T30. The CPU 72 substitutes the rotation speed NE into the input variable x(25) and substitutes the charging efficiency Y into the input variable x(26).
Subsequently, the CPU 72 calculates misfire variables P(1), P(2), P(3), P(4), P(5) by inputting input variables x(1), x(2), x(3), x(4), x(5), x(6), x(7), x(8), x(9), x(10), x(11), x(12), x(13), x(14), x(15), x(16), x(17), x(18), x(19), x(20), x(21), x(22), x(23), x(24), x(25), x(26) to the map defined by the evaluation map data 76b (S44). Where i=1 to 4, the misfire variable P(i) is a variable that takes on a greater value in the case of a high probability that a misfire has occurred in the cylinder #i than in the case of a low probability. The misfire variable P(5) is a variable that takes on a greater value in the case of a high probability that no misfire has occurred in any of the cylinders #1, #2, #3, #4 than in the case of a low probability.
More specifically, the map defined by the evaluation map data 76b is a neural network having a single intermediate layer. The neural network contains coefficients w(1)ji (j=0 to n, i=0 to 26) and an activation function hl(x). The activation function hl(x) serves as a nonlinear map that nonlinearly transforms outputs of a linear map defined by the coefficients w(1)ji. In the present embodiment, a hyperbolic tangent is illustrated as the activation function hl(x). w(1)j0, and the like, are bias parameters, and the input variable x(0) is defined as “1”.
The neural network contains coefficients w(2)kj (k=1 to 5, j=0 to n) and a softmax function. The softmax function uses original variable y(1), y(2), y(3), y(4), y(5) as inputs and outputs the misfire variables P(1), P(2), P(3), P(4), P(5). The original variable y(1), y(2), y(3), y(4), y(5) are outputs of a linear map defined by coefficients w(2)kj.
Subsequently, the CPU 72 identifies the maximum one of the misfire variables P(1), P(2), P(3), P(4), P(5) (S46). Then, the CPU 72 determines whether the maximum misfire variable P(q) is any one of the misfire variables P(1), P(2), P(3), P(4) or the misfire variable P(5) (S48). When the CPU 72 determines that the maximum misfire variable P(q) is any one of the misfire variables P(1), P(2), P(3), P(4) (YES in S48), the CPU 72 determines that a misfire has occurred in the cylinder #q (S50).
When the CPU 72 completes S50 or when the CPU 72 makes negative determination in S48, the CPU 72 once ends the series of steps shown in
In a series of steps shown in (a) of
(I) Period During which Coolant Temperature THW is Lower than Predetermined Temperature
When the coolant temperature THW is low, combustion easily becomes unstable, and it is difficult to improve the accuracy of misfire detection as compared to when the coolant temperature THW is high. Therefore, this period is included in the checking period.
(II) Period During which Intake Air Temperature Ta is Lower than or Equal to Prescribed Temperature
When the intake air temperature Ta is low, combustion easily becomes unstable, and it is difficult to improve the accuracy of misfire detection as compared to when the intake air temperature Ta is high. Therefore, this period is included in the checking period.
(III) Period During which Process of Warming Up Catalyst 30 is being Executed
During a period in which the process of warming up the catalyst 30 is being executed, combustion is performed at a low combustion efficiency, so combustion easily becomes unstable, and it is difficult to improve the accuracy of misfire detection as compared to after warm-up of the catalyst 30. Therefore, this period is included in the checking period.
(IV) Period During which Charging Efficiency η is Lower than or Equal to Predetermined Value
Under a light load, combustion easily becomes unstable as compared to under a high load, and it is difficult to improve the accuracy of misfire detection as compared to under an intermediate or high load. Therefore, this period is included in the checking period.
(V) Period During which Among of Change ΔNE Per Predetermined Time in Rotation Speed NE is Greater than or Equal to Predetermined Value
During transitional operation, the accuracy of misfire detection easily decreases as compared to during steady operation. Therefore, this period is included in the checking period.
When the CPU 72 determines that it is in the checking period (YES in S60), the CPU 72 determines whether a flag F is “1” (S62). The flag F is set to “1” when the misfire determination result made through the process of
When the CPU 72 determines that both the determination results do not match (NO in S64), the CPU 72 substitutes “1” into the flag F (S66). After that, the CPU 72 increments the counter C (S68). In contrast to this, when the CPU 72 determines that the flag F is “1” (YES in S62), the CPU 72 determines whether the misfire determination result made through the process shown in
More specifically, the rotation time group GrT30 is a group of the minute rotation times T30(1), T30(2), T30(3), T30(4), T30(5), T30(6), T30(7), T30(8), T30(9), T30(10), T30(11), T30(12), T30(13), T30(14), T30(15), T30(16), T30(17), T30(18), T30(19), T30(20), T30(21), T30(22), T30(23), T30(24), T30(25), T30(26), T30(27), T30(28), T30(29), T30(30), T30(31), T30(32), T30(33), T30(34), T30(35), T30(36), T30(37), T30(38), T30(39), T30(40), T30(41), T30(42), T30(43), T30(44), T30(45), T30(46), T30(47), T30(48), T30(49), T30(50), T30(51), T30(52), T30(53), T30(54), T30(55), T30(56), T30(57), T30(58), T30(59), T30(60), T30(61), T30(62), T30(63), T30(64), T30(65), T30(66), T30(67), T30(68), T30(69), T30(70), T30(71), T30(72) for three combustion cycles, as shown in
The extra information group GrE includes the rotation speed NE, the charging efficiency q, a combustion control mode value MC, the intake air temperature Ta, the atmospheric pressure Pa, the shift position Vsft of the transmission 54, an engagement status value Vrc, the value of a variable indicating the condition of a road surface on which the vehicle VC1 is traveling (road surface condition value SR), and the value of a position variable (position data Pgps) that is a variable indicating the position of the vehicle VC1. The engagement status value Vrc is a logical value of a variable indicating the engagement status of the lockup clutch 52. The engagement status value Vrc is “1” when the lockup clutch 52 is engaged; otherwise, the engagement status value Vrc is “0”. The road surface condition value SR is “1” when the irregularities of a road surface on which the vehicle VC1 travels is remarkable; otherwise the road surface condition value SR is “0”. The road surface condition value SR may be set to “1” when an average of the absolute value of the acceleration Gy during a predetermined period is higher than or equal to a predetermined value. The pieces of data that make up the extra information group GrE are desirably values in the combustion cycle before the combustion cycle in which the CPU 72 makes affirmative determination in S70.
Referring back to
In contrast to this, as shown in (b) of
When an expert inputs a judgement result by operating an interface 114 shown in
When the CPU 122 makes negative determination in S96 or when the CPU 122 completes S98, the CPU 122 once ends a series of steps shown in (b) of
In a series of steps shown in (b) of
This step is to check whether the accuracy of determining a misfire varies depending on a difference in situation in which the vehicle VC is located for each region. In other words, it is checked whether the accuracy of the determination process using the evaluation map data 76b in a specific region becomes lower than the other region, for example, depending on regionality of properties of fuel that is supplied to the internal combustion engine 10 or any unexpected regionality.
The CPU 122 determines whether there is any region of which the output error rate is higher than or equal to a threshold Rth1 of the regions divided in S100 (S102). When the CPU 122 determines that there is an area of which the output error rate is higher than or equal to the threshold Rth1 (YES in S102), the CPU 122 divides the region in which the evaluation map data 76b is used into a region of which the output error rate is higher than or equal to the threshold Rth1 and the other regions (S104). In other words, the CPU 122 determines to separately update the evaluation map data 76b that is used in the region of which the output error rate is higher than or equal to the threshold Rth1 and the evaluation map data 76b that is used in the other regions.
Referring back to
This step is to check whether the accuracy of determining a misfire varies depending on a difference in intake air temperature Ta or atmospheric pressure Pa. In other words, when the intake air temperature Ta is low, combustion of the internal combustion engine 10 easily becomes unstable as compared to when the intake air temperature Ta is high. Therefore, it is checked whether the accuracy of misfire detection decreases. When the atmospheric pressure Pa varies, the pressure in the exhaust passage 28 varies. Therefore, even when the opening degree of the EGR valve 34 is the same, the flow rate of exhaust gas flowing from the exhaust passage 28 to the intake passage 12 via the EGR passage 32 varies. For this reason, as in the case of the present embodiment, when the EGR valve 34 is operated to perform open loop control over the flow rate of exhaust gas flowing from the exhaust passage 28 to the intake passage 12 via the EGR passage 32, the flow rate of exhaust gas flowing from the exhaust passage 28 to the intake passage 12 via the EGR passage 32 varies according to the atmospheric pressure Pa, so the combustion state varies. It is checked whether the accuracy of misfire detection decreases depending on the combustion state.
The CPU 122 determines whether there is any area of which the output error rate is higher than or equal to a threshold Rth2 of the areas divided based on the intake air temperature Ta and the atmospheric pressure Pa (S108). When the CPU 122 determines that there is an area of which the output error rate is higher than or equal to the threshold Rth2 (YES in S108), the CPU 122 divides the area in which the evaluation map data 76b is used into an area of which the output error rate is higher than or equal to the threshold Rth2 and the other areas (S110). In other words, the CPU 122 determines to separately update the evaluation map data 76b that is used in the area of which the output error rate is higher than or equal to the threshold Rth2 and the evaluation map data 76b that is used in the other areas.
For example, as shown in
Referring back to
This step is to check whether the accuracy of determining a misfire varies depending on the rotation speed NE or the combustion control mode. In other words, for example, in a control mode for warming up the catalyst 30, control for increasing the exhaust gas temperature by decreasing the combustion efficiency, so it is checked whether the accuracy of determining a misfire decreases because combustion easily becomes unstable as compared to when such control is not executed. For example, when the rotation speed NE is low, rotation easily becomes unstable because of small inertial energy of the crankshaft 24, and various operating parts are operated based on the rotation speed NE and the charging efficiency q, so it is checked whether the accuracy of determining a misfire decreases according to the rotation speed NE.
When the CPU 122 has already executed S104, the CPU 122 creates output error distribution data separately in the region of which the output error rate is determined to be higher than or equal to the threshold Rth1 in S102 and the other regions. When the CPU 122 has already executed S110, the CPU 122 creates output error distribution data separately in the area of which the output error rate is determined to be higher than or equal to the threshold Rth2 in S108 and the other areas.
Referring back to
This step is to check whether the accuracy of misfire detection varies according to the speed ratio of the transmission 54, the engagement status of the lockup clutch 52, the charging efficiency r, or the presence or absence of irregularities of a road surface on which the vehicle VC1 travels. In other words, the moment of inertia from the crankshaft 24 to the output shaft 58 of the transmission 54 varies according to the speed ratio of the transmission 54 or the engagement status of the lockup clutch 52, so the rotation behavior of the crankshaft 24 varies, and it is checked whether the accuracy of determining a misfire decreases at a predetermined moment of inertia. The rotation behavior of the crankshaft 24 varies depending on the irregularities of a road surface, so it is checked whether the accuracy of determining a misfire significantly decreases when the irregularities are remarkable as compared to when the vehicle travels on a flat road surface. When the charging efficiency η is small, the rotation behavior of the crankshaft 24 easily becomes unstable due to small combustion energy in the combustion chambers 18 as compared to when the charging efficiency η is large, so it is checked whether the accuracy of determining a misfire significantly decreases.
The CPU 122 divides the area in which the evaluation map data 76b is used into the area of which the output error rate is higher than or equal to the threshold Rth3 and the other areas (S118). Specifically, the CPU 122 determines to separately update the evaluation map data 76b that is used in the area of which the output error rate is higher than or equal to the threshold Rth3 and the evaluation map data 76b that is used in the other areas.
Referring back to
Specifically, the CPU 72 updates the coefficients w(1)ji, w(2)kj that are the trained parameters of the evaluation map data 76b by selectively using the appropriate re-training data 126a as training data. In other words, the CPU 72 calculates the misfire variables P(l), P(2), P(3), P(4), P(5) y using the minute rotation times T30, the rotation speed NE, the charging efficiency η of the training data as the input variables x(1), x(2), x(3), x(4), x(5), x(6), x(7), x(8), x(9), x(10), x(11), x(12), x(13), x(14), x(15), x(16), x(17), x(18), x(19), x(20), x(21), x(22), x(23), x(24), x(25), x(26), and also generates teaching data on the judgement result as to whether a misfire has occurred, made by an expert. For example, when the expert judges that a misfire has occurred in the cylinder #1, the CPU 72 sets P(1) to 1 and sets P(2) to P(5) to 0. For example, when the expert judges that combustion is normal, the CPU 72 sets P(1) to P(4) to 0 and sets P(5) to 1. Then, the CPU 72 updates the coefficients w(1)ji, w(2)kj with a known technique such that the absolute value of the difference between the teaching data and the misfire variables P(1), P(2), P(3), P(4), P(5) output by the neural network reduces.
For the process of calculating the misfire variables P(1), P(2), P(3), P(4), P(5) in the data analysis center 120, information of the coefficients w(1)ji, w(2)kj, the activation function h, and information that the softmax function is used in the output layer of the neural network are required. In this regard, for example, the CPU 122 may output an instruction to send data on these pieces of information to the control apparatus 70 in advance of the process of (b) of
The CPU 122 sends the updated coefficients w(1)ji, w(2)kj as the re-trained parameters to the intended one(s) of the vehicles VC1, VC2, . . . by operating the communication instrument 127 (S122). In other words, for example, of the updated evaluation map data 76b, the area A1-specific coefficients w(1)ji, w(2)kj illustrated in
On the other hand, as shown in (a) of
When the CPU 72 completes S134 or when the CPU 72 makes negative determination in S130, the CPU 72 once ends a series of steps shown in (a) of
The CPU 72 keeps a watch on the internal combustion engine 10 for a misfire by executing the process shown in
In contrast to this, the CPU 122 displays the input data, and the like, sent from the CPU 72 on the display device 112. Thus, an expert judges whether a misfire has occurred based on the waveform data, or the like, that represents the rotation behavior of the crankshaft 24 and, based on the judgement, judges whether the determination as to the presence or absence of misfire using the evaluation map data 76b is wrong. When the judgement result of the expert indicates that the determination as to the presence or absence of misfire using the evaluation map data 76b is wrong, the CPU 122 stores at least part of the data sent from the vehicle in the memory 126 as the re-training data 126a.
When the re-training data 126a becomes larger than or equal to the predetermined amount, the CPU 122 determines whether the accuracy of the determination process using the evaluation map data 76b is particularly low in a specific area of the areas partitioned based on the position data Pgps, the intake air temperature Ta, the atmospheric pressure Pa, and the like. When there is an area in which the accuracy of the determination process is particularly low, the CPU 122 generates specific evaluation map data 76b that is used when a vehicle enters the area by updating the evaluation map data 76b using only training data on that area. Thus, the accuracy of determining a misfire is improved without a complicated structure of the map defined by the evaluation map data 76b.
In other words, for example, when the accuracy of determining a misfire is particularly low in the area A1 illustrated in
The CPU 122 sends the updated coefficients w(1)ji, w(2)kj as the re-trained data to the intended ones of the vehicles VC1, VC2, . . . For example, the CPU 122 sends the area A1-specific coefficients w(1)ji, w(2)kj to the vehicles located in the area A1. Thus, in the vehicles located in the area A1, the evaluation map data 76b is updated with the evaluation map data 76b of which the evaluation accuracy in the area A1 is improved.
After that, in judgement of the expert at the time when both the determination results do not match through the process of
Hereinafter, a second embodiment will be described with reference to the accompanying drawing with a focus on the difference from the first embodiment.
The service map data 76a and the evaluation map data 76b according to the present embodiment are data that defines a map that outputs a value of an imbalance variable Inb. The imbalance variable Inb is a variable indicating an imbalance that is variations among actual air-air-fuel ratios when the fuel injection valves 20 are operated to control the air-fuel ratios of air-fuel mixtures in the cylinders #1, #2, #3, #4 to an equal air-fuel ratio.
An imbalance detection process M10(1) is a process of calculating the value of an imbalance variable Inb(1) by using the service map data 76a. The imbalance detection process M10(1) includes a process of calculating the value of the imbalance variable Inb(1) at the time when the imbalance variable Inb(1) indicates a rich-side value, based on the amount of change in upstream air-fuel ratio Afu per predetermined time. The imbalance detection process M10(1) also includes a process of calculating the value of the imbalance variable Inb(1) at the time when the imbalance variable Inb(1) indicates a lean-side value, based on a variation in minute rotation time T30.
An imbalance detection process M10(2) is a process of calculating the value of an imbalance variable Inb(2) by using the evaluation map data 76b. The imbalance detection process M10(2) is a process of calculating the value of the imbalance variable Inb(2) by using a neural network that uses time-series data made up of the minute rotation times T30(1), T30(2), T30(3), T30(4), T30(5), T30(6), T30(7), T30(8), T30(9), T30(10), T30(11), T30(12), T30(13), T30(14), T30(15), T30(16), T30(17), T30(18), T30(19), T30(20), T30(21), T30(22), T30(23), T30(24) and time-series data of the upstream air-fuel ratio Afu in that period as inputs and outputs the value of the imbalance variable Inb(2).
A re-training sub-process M12 includes a process of, when the absolute value of the difference between the imbalance variable Inb(1) and the imbalance variable Inb(2) is greater than or equal to a predetermined value, determining that the determination result using the service map data 76a and the determination result using the evaluation map data 76b do not match. The re-training sub-process M12 includes a process of sending predetermined data to the data analysis center 120. Data to be sent includes not only the minute rotation times T30 and the upstream air-fuel ratios Afu used to calculate the imbalance variable Inb(2) at the time when both the determination results do not match but also adjacent time-series data of the minute rotation time T30 and adjacent time-series data of the upstream air-fuel ratio Afu. This is for an expert to be able to accurately judge whether the imbalance variable Inb(2) is a correct value based on the rotation behavior of the crankshaft 24 or the behavior of the upstream air-fuel ratio Afu.
Data to be sent includes the rotation speed NE and the charging efficiency 9 as the values of operating point variables that are variables indicating the operating point of the of the internal combustion engine 10 at the time when both the determination results do not match. The values of the operating point variables are data for an expert to be able to further accurately judge whether the imbalance variable Inb(2) is a correct value and are data for checking whether the accuracy of the imbalance variable Inb(2) varies according to the operating point.
Date to be sent includes the combustion control mode value MC. In the present embodiment, a value for identifying a mode based on the value of a target air-fuel ratio or a mode to increase the exhaust gas temperature for the process of regenerating the catalyst 30 or the other modes is illustrated as the combustion control mode value MC. This takes into consideration a difference in the influence of variations in actual air-fuel ratio among the cylinders on the rotation behavior of the crankshaft 24 or the upstream air-fuel ratio Afu depending on a difference in combustion control mode. For this reason, the combustion control mode value MC is data for an expert to be able to further accurately judge whether the imbalance variable Inb(2) is a correct value and is data for checking whether the accuracy of the imbalance variable Inb(2) varies depending on the value.
Data to be sent includes the intake air temperature Ta, the atmospheric pressure Pa, the shift position Vsft, the engagement status value Vrc, the road surface condition value SR, and the position data Pgps. Significance of these pieces of data is similar to that of the above-described first embodiment.
The CPU 122 executes processes similar to
Hereinafter, a third embodiment will be described with reference to the accompanying drawing with a focus on the difference from the first embodiment.
The service map data 76a and the evaluation map data 76b according to the present embodiment are pieces of data that define a map that outputs the value of a degradation variable RD indicating the degree of degradation of the catalyst 30.
A catalyst degradation detection process M20(1) is a process of calculating the value of a degradation variable RD(1) by using the service map data 76a. The catalyst degradation detection process M20(1) is a process of, at the timing at which the downstream air-fuel ratio Afd reverses from a lean side to a rich side, executing active control such that oxygen is excessively present in exhaust gas flowing into the catalyst 30 and calculating the value of the degradation variable RD(1) based on the amount of oxygen flowing into the catalyst 30 until the downstream air-fuel ratio Afd reverses from a rich side to a lean side.
A catalyst degradation detection process M20(2) is a process of calculating the value of a degradation variable RD(2) by using the evaluation map data 76b. The catalyst degradation detection process M20(2) is a process of calculating the value of the degradation variable RD(2) by using a neural network that uses time-series data of the upstream air-fuel ratio Afu of the catalyst 30, time-series data of the downstream air-fuel ratio Afd, the rotation speed NE, the charging efficiency η and the temperature of the catalyst 30 (catalyst temperature Teat) as inputs and outputs the degradation variable RD(2).catalyst The catalyst temperature Tcat may be, for example, a first-order lag value of the exhaust gas temperature Tex.
A re-training sub-process M22 includes a process of, when the absolute value of the difference between the value of the degradation variable RD(1) and the value of the degradation variable RD(2), calculated in the same trip, is greater than or equal to a predetermined value, determining that the determination result using the service map data 76a and the determination result using the evaluation map data 76b do not match. The re-training sub-process M22 includes a process of sending predetermined data to the data analysis center 120. Data to be sent includes the values of the input variables used to calculate the degradation variable RD at the time when both the determination results do not match. Data to be sent includes the upstream air-fuel ratios Afu and downstream air-fuel ratios Afd used to calculate the degradation variable RD at the time when both the determination results do not match and adjacent time-series data of the upstream air-fuel ratio Afu and adjacent time-series data of the downstream air-fuel ratio Afd. This is to make it possible to further accurately judge whether the degradation variable RD(2) is a correct value based on the behaviors of the upstream air-fuel ratio Afu and downstream air-fuel ratio Afd in the data analysis center 120.
Data to be sent includes the intake air volume Ga. This is because the behavior of the downstream air-fuel ratio Afd is susceptible to the intake air volume Ga, and is to check whether the accuracy of the degradation variable RD(2) significantly decreases depending on the value of the intake air volume Ga.
Data to be sent includes the amount of change Δη that is the difference between the local maximum and local minimum of the charging efficiency η in a predetermined time. This is because the air-fuel ratio of air-fuel mixture to be subjected to combustion in the combustion chambers 18 changes with a change in charging efficiency η and is to check whether the accuracy of the degradation variable RD(2) significantly decreases depending on the amount of change Δη.
Data to be sent includes the position data Pgps. This is because fuel properties, such as the concentration of alcohol in fuel, vary among regions and is to check whether the accuracy of the value of the degradation variable RD(2) significantly decreases depending on a region.
The CPU 122 executes processes similar to
Hereinafter, a fourth embodiment will be described with reference to the accompanying drawing with a focus on the difference from the first embodiment.
In the present embodiment, the catalyst 30 includes a filter that traps particulate matter (PM) is illustrated, and the service map data 76a and the evaluation map data 76b are data that defines a map that outputs a PM deposit amount DPM that is the amount of PM deposited in the filter.
A deposition amount estimation process M30(1) is a process of calculating the PM deposit amount DPM(1) by using the service map data 76a. The deposition amount estimation process M30(1) is a process of calculating a PM deposit amount DPM(1) by using map that determines the relationship between a base value of the PM deposit amount DPM and a pair of the rotation speed NE and the charging efficiency η, map data that determines the relationship between ignition timing aig and a correction amount for the PM deposit amount DPM, and map data that determines the relationship between a coolant temperature THW and a correction amount for the PM deposit amount DPM.
A deposition amount estimation process M30(2) is a process of calculating a PM deposit amount DPM(2) by using the evaluation map data 76b. The deposition amount estimation process M30(2) is a process of calculating the PM deposit amount DPM(2) by using a neural network that uses the rotation speed NE, the charging efficiency η, the upstream air-fuel ratio Afu, the catalyst temperature Tcat, the ignition timing aig, and the coolant temperature THW as inputs and outputs the amount of change in the PM deposit amount DPM(2).
A re-training sub-process M32 includes a process of, when the absolute value of the difference between the PM deposit amount DPM(1) and the PM deposit amount DPM(2) is greater than or equal to a predetermined value, determining that the determination result using the service map data 76a and the determination result using the evaluation map data 76b do not match. The re-training sub-process M32 also includes a process of sending time-series data, or the like, made up of input data used to calculate the PM deposit amount DPM(2) in a period from the startup of the internal combustion engine 10 to the time point at which a mismatch occurs, as data to be sent. The reason why time-series data is sent is to calculate a PM deposit amount DPM based on the time-series data and determine the validity of the PM deposit amount DPM(2) in the data analysis center 120.
The data to be sent includes the combustion control mode value MC. In the present embodiment, a value for identifying a mode based on the value of a target air-fuel ratio or a mode to increase the exhaust gas temperature for the process of regenerating the filter or the other modes is illustrated as the combustion control mode value MC. This is to check whether the accuracy of estimating the PM deposit amount DPM(2) varies depending on a difference in combustion control mode.
Data to be sent includes an elapsed time Ts from the startup of the internal combustion engine 10. This is because fuel easily adheres to a cylinder wall surface, or the like, and PM is easily produced just after the startup and is to check whether the accuracy of estimating the PM deposit amount DPM(2) varies between a period just after the startup and the other period.
Data to be sent includes the position data Pgps and the intake air temperature Ta. The reason to send these pieces of data is similar to the reason to send these pieces of data through the re-training sub-process M12. The CPU 122 executes processes similar to (b) of
Hereinafter, a fifth embodiment will be described with reference to the accompanying drawing with a focus on the difference from the first embodiment.
The service map data 76a and the evaluation map data 76b according to the present embodiment are pieces of data that define a map that outputs the temperature of the catalyst 30 (catalyst temperature Tcat).
A catalyst temperature estimation process M40(1) is a process of calculating a catalyst temperature Tcat(1) by using the service map data 76a. The catalyst temperature estimation process M40(1 is a process of executing first-order lag filtering that uses the exhaust gas temperature Tex as an input and uses the output value of the first-order lag filtering as the catalyst temperature Tcat(1).
A catalyst temperature estimation process M40(2) is a process of calculating a catalyst temperature Tcat(2) by using the evaluation map data 76b. The catalyst temperature estimation process M40(2) is a process of calculating the catalyst temperature Tcat(2) by using a neural network that uses time-series data of each of the exhaust gas temperature Tex, the rotation speed NE, the charging efficiency η, and the upstream air-fuel ratio Afu, and a last value of the catalyst temperature Tcat(2) as inputs.
A re-training sub-process M42 includes a process of, when the absolute value of the difference between the catalyst temperature Tcat(1) and the catalyst temperature Tcat(2) is greater than or equal to a predetermined value, determining that the determination result using the service map data 76a and the determination result using the evaluation map data 76b do not match. The re-training sub-process M42 includes a process of sending data to the data analysis center 120.
Data to be sent includes time-series data made up of input data used to calculate the catalyst temperature Tcat(2) in a period from the startup of the internal combustion engine 10 to the time point at which a mismatch occurs. The reason why time-series data is sent is to calculate a catalyst temperature Tcat based on the time-series data and determine the validity of the catalyst temperature Tcat(2) in the data analysis center 120.
Data to be sent includes the combustion control mode value MC. In the present embodiment, a value for identifying a mode based on the value of a target air-fuel ratio or a mode to increase the exhaust gas temperature for the process of regenerating the catalyst 30 or the other modes is illustrated as the combustion control mode value MC. This is to check the influence of a difference in combustion control mode on the accuracy of estimating the catalyst temperature Tcat(2).
Data to be sent includes the intake air volume Ga. This is because the amount of heat that the catalyst 30 and air exchange varies depending on the intake air volume Ga and is to check the influence of the intake air volume Ga on the accuracy of estimating the catalyst temperature Tcat(2).
Data to be sent includes the vehicle speed V. This is to check the influence of air flow while traveling on the accuracy of estimating the catalyst temperature Tcat(2). Data to be sent includes the intake air temperature Ta. The intake air temperature Ta is a substitute for an outside air temperature. This is because a heat gradient between the catalyst 30 and outside air varies according to an outside air temperature and is to check the influence of the outside air temperature on the accuracy of estimating the catalyst temperature Tcat(2).
The CPU 122 executes processes similar to (b) of
Matters in the above-described embodiments may be regarded as the matters described in SUMMARY as follows. The processor may be regarded as the CPU 72 and the ROM 74. The memory may be regarded as the memory 76. The map data may be regarded as the evaluation map data 76b. The acquisition process may be regarded as S40 and S76. The calculation process may be regarded as S44 and S46. The sending process may be regarded as S82. The value of the position variable may be regarded as the position data Pgps. The value of the environment variable may be regarded as the intake air temperature Ta, the atmospheric pressure Pa, and the road surface condition value SR. The instantaneous speed may be regarded as the minute rotation time T30. The value of the rotation waveform variable may be regarded as the minute rotation times T30(1), T30(2), T30(3), T30(4), T30(5), T30(6), T30(7), T30(8), T30(9), T30(10), T30(11), T30(12), T30(13), T30(14), T30(15), T30(16), T30(17), T30(18), T30(19), T30(20), T30(21), T30(22), T30(23), T30(24). The value of the road surface condition variable may be regarded as the road surface condition value SR. The value of the operating status variable may be regarded as the combustion control mode value MC, the shift position Vsft, the vehicle speed V, or the rotation speed NE and the charging efficiency η in
The present embodiments may be modified as follows. The present embodiments and the following modifications may be implemented in combination without any technical contradiction.
The prescribed status of the vehicle, of which information is included in the outputs of the map, is not limited to the ones illustrated in the above-described embodiments. For example, the status of the internal combustion engine may be as follows.
In this case, for a degradation determination process using the service map data 76a as the first map data, active control for significantly changing the air-fuel ratio alternately to a lean side and a rich side out of normal air-fuel ratio feedback control may be used. Then, the service map data 76a may be data to calculate the value of the degradation variable based on, for example, a time required for the upstream air-fuel ratio Afu to reverse from a rich side to a lean side or from a lean side to a rich side under active control. The evaluation map data 76b as the second map data may be data that defines a neural network that uses time-series data of the injection amount and time-series data of the upstream air-fuel ratio Afu as inputs and outputs the value of the degradation variable indicating the presence or absence of degradation. In this case, the process of calculating the value of the degradation variable by using the second map may be executed while active control is not being executed. Data to be sent from the vehicle to the data analysis center 120, other than input data, may include the rotation speed NE and the charging efficiency η. Thus, the data analysis center 120 is able to check whether there is a pair of operating point variables of which the output error rate is high.
In this case, the service map data 76a as the first map data may be map data that uses the difference between an average of the upstream air-fuel ratio Afu and an average of the downstream air-fuel ratio Afd as an input variable and uses the value of a storage amount variable that is a variable indicating an oxygen storage amount as an output variable. The evaluation map data 76b as the second map data may be data that defines a neural network that uses an integrated value of an excess and deficiency of an actual amount of fuel to an amount of fuel that reacts with oxygen in just proportion in a predetermined period, an integrated value of the temperature of the catalyst in the predetermined period, and a last value of the storage amount variable as inputs and outputs the value of the storage amount variable. Data to be sent from the vehicle to the data analysis center 120, other than input data, may include the flow rate of fluid inside the catalyst 30. Thus, the data analysis center 120 is able to check whether there is a flow rate of which the output error rate is high.
In this case, the service map data 76a as the first map data may be data that defines a map that outputs a logical value indicating whether there is knocking by comparing an integrated value of a detected value of a knocking sensor with a determination value. The evaluation map data 76b as the second map data may be data that defines a neural network that uses time-series data of a detected value of the knocking sensor as inputs and outputs a peak value of the pressure in each combustion chamber 18. In this case, when the peak value is higher than or equal to a threshold, it may be determined that knocking has occurred. Data to be sent from the vehicle to the data analysis center 120, other than input data, may include, for example, the rotation speed NE and the charging efficiency r. With this configuration, the CPU 122 is able to check whether there is an operating point area of which the output error rate is high.
(d) Status Regarding Temperature of Fuel that is Supplied to Fuel Injection Valves 20
In this case, the service map data 76a as the first map data may be map data that uses the rotation speed NE, the charging efficiency r, and the coolant temperature THW as input variables and uses the temperature of fuel as an output variable. The evaluation map data 76b as the second map data may be a map that defines a neural network that uses the rotation speed NE, the charging efficiency q, the amount of fuel injected by the fuel injection valves 20, the intake air temperature Ta, the vehicle speed V, and a last value of the temperature of fuel as inputs and outputs the temperature of fuel. Data to be sent from the vehicle to the data analysis center 120 may be the output values and input data of the neural network from the startup of the internal combustion engine 10. Thus, the data analysis center 120 is able to estimate changes in the temperature of fuel with time. Furthermore, data to be sent may include, for example, the ignition timing, the coolant temperature THW, or the like. With this configuration, the CPU 122 is able to check whether the output error rate is high in a specific area partitioned based on the ignition timing and the coolant temperature THW. Even when the output values and input data of the neural network from the startup of the internal combustion engine 10 are sent, the data analysis center 120 is able to check whether the output error rate is high in a specific area partitioned based on the operating point variables.
In a purge system including a canister that traps fuel vapor in a fuel tank and a purge valve that adjusts the flow sectional area of a purge passage between the canister and the intake passage, it is conceivable that a map determines an abnormality when there is a hole in the purge passage. In this case, the service map data 76a as the first map data may be data that defines a map that outputs a logical value indicting an abnormality when the rate of increase in pressure at the time when the purge valve is closed after the pressure in the canister is decreased by opening the purge valve is higher than or equal to a threshold. The evaluation map data 76b as the second map data may be data that defines a neural network that uses time-series data of the pressure in the canister and the atmospheric pressure Pa as inputs and outputs an output value according to the presence or absence of a hole. Data to be sent from the vehicle to the data analysis center 120 may be not only the output value and input data of the neural network but also a fuel level in the fuel tank. Thus, the influence of the fuel level on the accuracy of the output value can be checked.
An EGR rate is the percentage of the flow rate of fluid flowing from the EGR passage 32 to the intake passage 12 to the flow rate of fluid flowing from the intake passage 12 to the combustion chambers 18. In this case, the service map data 76a as the first map data may be map data that uses the rotation speed NE and the charging efficiency r as input variables and uses the EGR rate as an output variable. The evaluation map data 76b as the second map data may be data that defines a neural network that uses the rotation speed NE, the charging efficiency r, the pressure in the intake passage 12, and the intake air volume Ga as input variables and outputs the EGR rate.
In this case, data to be sent from the vehicle to the data analysis center 120 may include, for example, not only input data used to calculate the EGR rate at the time when a mismatch occurs but also the atmospheric pressure Pa, the intake air temperature Ta, and the coolant temperature THW. Thus, the influence of the atmospheric pressure Pa, the intake air temperature Ta, or the coolant temperature THW on the accuracy of the output value can be checked.
(g) Status regarding Presence or Absence of Leakage of from Blow-by Gas Delivery Passage
Here, it is assumed that a blow-by gas delivery passage that connects the crankcase and intake passage 12 of the internal combustion engine 10 is provided. In this case, a pressure sensor may be provided in the blow-by gas delivery passage, and the service map data 76a as the first map data may be data that outputs a value indicating the presence or absence of an abnormality by comparing the pressure detected by the pressure sensor with a determination value based on the rotation speed NE and the charging efficiency q. The evaluation map data 76b as the second map data may be data that defines a neural network that uses the rotation speed NE, the charging efficiency r, and the difference between the intake air volume Ga and the amount of intake air passing through the throttle valve 14 as input variables and outputs a value indicating the presence or absence of an abnormality.
In this case, by sending the input data used to calculate the value indicating the presence or absence of an abnormality at the time when a mismatch occurs from the vehicle to the data analysis center 120, for example, the influence of the pair of operating point variables on the accuracy of the output value can be checked. Data to be sent may include data adjacent in time series to the input data used to calculate the value indicating the presence or absence of an abnormality at the time when a mismatch occurs. Thus, the validity of the output value can be highly accurately checked.
The prescribed status of the vehicle is not limited to the status of the internal combustion engine. For example, as described in the following section “Vehicle”, for a vehicle including a rotating electrical machine, the prescribed status of the vehicle may be the status of a battery that stores an electric power that is supplied to the rotating electrical machine.
In the process of
In the process of
Of time-series data to be sent, time-series data of the minute rotation time T30 after a transition into the state where it is determined as matching is not limited to time-series data for one combustion cycle. For example, as described in the section “Second Map Data”, when an output value resulting from an input once is only the value of a misfire variable of one of the cylinders and input data itself is time-series data of the minute rotation time T30 in a period shorter than one combustion cycle, time-series data of an amount appropriate for the time-series data may be sent. It is not indispensable that time-series data of the minute rotation time T30, which make up the input variables to the map, and time-series data of the minute rotation time T30 after a transition into the state where it is determined as matching both are the minute rotation times T30 in a section having the same length.
In the process of
Of data to be sent, data other than the input data to the map and the minute rotation times T30 is not limited to the ones illustrated in the extra information group GrE.
Data on the output value of the second map defined by the second map data at the time when it is determined as not matching, which is to be sent, is not limited to the output value of the second map itself. For example, in the process of
In
A function approximator as a trained model trained through machine learning is not limited to a neural network. For example, when information about a status is expressed by three or more values, regression equation, or the like, may be used. When a determination value indicating that a normal state or an abnormal state is output, a discriminant function may be used. A regression equation here is not limited to the one equivalent to the neural network from which the intermediate layer is omitted and may be the one using, for example, a kernel function. A discriminant function may be the one that uses an output value of a logistic sigmoid function, which uses an output of the regression equation as an independent variable, as an output value.
The evaluation map data 76b as the second map data is not limited to data that defines a neural network having a single intermediate layer. For example, the second map data may be data that defines a neural network having two or more intermediate layers. The activation function hl is not limited to a hyperbolic tangent and may be, for example, a logistic sigmoid function or an ReLU. The ReLU is a function that outputs a value that is not a smaller one of an input value and “0”.
A function approximator as a trained model trained through machine learning is not limited to a neural network. For example, when information about a status is expressed by three or more values, regression equation, or the like, may be used. When a determination value indicating that a normal state or an abnormal state is output, a discriminant function may be used. A regression equation here is not limited to the one equivalent to the neural network from which the intermediate layer is omitted and may be the one using, for example, a kernel function. A discriminant function may be the one that uses an output value of a logistic sigmoid function, which uses an output of the regression equation as an independent variable, as an output value.
The number of nodes, that is, dimensions, of the output layer of the neural network is not limited to “(Number of cylinders)+1”. For example, the number of nodes of the output layer may be equal to the number of the cylinders, and, it may be determined that a misfire has occurred when any one of output values exceeds a threshold. Alternatively, for example, the number of cylinders to be determined as to the presence or absence of misfire based on a single output of the neural network may be one, and the number of nodes of the output layer may be one. In this case, the output layer is desirably configured such that the range of a value that the output value can take on is normalized by a logistic sigmoid function, or the like.
In the above-described embodiments, when the evaluation map data 76b that is used only in a certain area is trained, only training data for that area is used; however, the configuration is not limited thereto. For example, at the time of re-training the evaluation map data 76b that is used in the areas other than the area A1 of
In the above-described embodiments, divided areas of which the output error rate is lower than a threshold may be united as one common area. In other words, for example, when the output error rate is lower than the threshold Rth1 in the areas other than the area A2 of
For example, the order of creating the distribution of the output error rate is not limited to the ones illustrated in the above-described embodiments. Furthermore, for example, when an area is divided based on the values of some variables, it may be determined whether the output error rate is higher than or equal to a threshold for each divided areas, and finally the variables that provide the minimum number of the sum of the areas of which the output error rate is higher than or equal to the threshold and the areas of which the output error rate is not higher than or equal to the threshold may be employed.
In the above-described configuration, classification of the output error rate based on the position data Pgps is performed by countries or prescribed regions divided from a country; however, the configuration is not limited thereto. For example, classification may be performed by countries only or, for example, classification may be performed by regions larger than countries. Conversely, classification may be performed by regions divided from countries only.
Furthermore, for example, division may be performed by using a statistical method. For example, classification may be performed by using a clustering method, such as K-means. Alternatively, for example, an output error distribution may be approximated by a mixture gaussian distribution that is a linear combination of gaussian distributions of which the average is the center of an output error distribution, and an area may be divided by using the mixture gaussian distribution. In other words, a mixing coefficient, average, and variance of the mixture gaussian distribution is trained based on position data Pgps from which an error is output, and an area may be divided by areas of which the value of one gaussian distribution is greater than the others. An application target of the statistical method is not limited to classification of the output error rate based on the position data Pgps and may be, for example, classification of the output error rate based on the value of the environment variable such as the intake air temperature Ta or classification of the output error rate based on the value of the operating status variable such as the combustion control mode value MC.
In the above-described embodiments, the description does not refer to at what percentage of areas of which the output error rate is higher than or equal to the threshold, a dividing process is executed. When the percentage of areas of which the output error rate is higher than or equal to the threshold is high, the value of the variable may not contribute to a decrease in output error rate, so the dividing process is desirably executed when the percentage is lower than or equal to a predetermined value. The distribution of output error rate, which is referenced at the time of the dividing process, may be a histogram that represents a relative output error rate of each rank where divided areas are ranks, instead of quantification as the percentage of the absolute number of output errors.
The configuration is not limited to the case where map data to be used, which has not been divided by areas, is newly divided. For example, when map data to be used has been divided by areas from the beginning, the validity of the division may be checked. In this case, the area may be changed based on the checked result.
The configuration is not limited to the configuration in which the area in which map data is used is changed. For example, data may be added to input variables to the map. In other words, for example, in the process of
Furthermore, it is not indispensable that the evaluation map data 76b is divided or an input variable is added to the map defined by the data. Only a single set of the evaluation map data 76b may be updated by using all the re-training data 126a without increasing the dimensions of the input variables.
The environment variable that is used to check the validity of the map defined by the evaluation map data 76b is not limited to the ones illustrated in the above-described embodiments. For example, the environment variable may be a variable that indicates the weather around the vehicle VC1, or a wind speed. Particularly, for the catalyst temperature Tcat, or the like, the heat radiation condition of the catalyst 30 is affected by a wind speed, so it is effective to those variables. The value of a variable that indicates the weather or the value of a variable that indicates a wind speed may be sent from the vehicle VC1. Alternatively, the data analysis center 120 may acquire the values of those variables from an institution that provides information, or the like, on the weather based on the position data Pgps of the vehicle VC1.
The variable that indicates an operating status that is used to check the validity of the map defined by the evaluation map data 76b is not limited to the ones illustrated in the above-described embodiments. Particularly, for the combustion control mode value MC, not limited to the above-described partitions, for example, partitions used in one of the above-described embodiments may be applied to the other embodiments.
The method of using the related data different from the input data is not limited to dividing an area in which the evaluation map data 76b is used or being set as a candidate to be added to input variables. For example, the related data may be only used to determine the validity of the output value of the map defined by the evaluation map data 76b. This is, for example, implemented by incorporating an in-vehicle sensor that detects the value of a variable related to the output value of the map defined by the evaluation map data 76b into the in-vehicle sensors. Specifically, for the map that outputs the peak value of the pressure in each combustion chamber 18, described in (c) of “Prescribed Status of Vehicle”, a sensor that detects the pressure in each combustion chamber 18 may be included in the in-vehicle sensors.
For example, as will be described in the section “Process of Determining Validity of Output Value of Map”, a method of using the related data is implemented by using the related data as an input to a map having a higher accuracy than the map defined by the service map data 76a.
The notification process of operating the alarm lamp 104 installed in the vehicle is illustrated as the operation process of operating predetermined hardware based on the output value of the map defined by the first map data in the above-described embodiments; however, the notification process is not limited thereto. The notification process may be, for example, a process of operating the communication instrument 77 to cause a user's mobile terminal to display information that an abnormality has occurred.
The operation process is not limited to the notification process. The operation process may be, for example, a process of operating the operating parts for controlling combustion of air-fuel mixture in the combustion chambers 18 of the internal combustion engine 10 according to information that a misfire has occurred. Alternatively, for example, as shown in
The checking period in S60 is not limited to the ones illustrated in the above-described embodiments. In the process of
In
It is not indispensable that the re-trained parameters do not need to be provided to the vehicle that has provided data to be used for re-training. The evaluation map data 76b may be updated by using the re-trained parameters, and the updated evaluation map data 76b may be only installed in a newly developed vehicle. In this case, in the case of the map that outputs the output value indicating information about the status of the internal combustion engine 10, the difference between the displacement of an internal combustion engine mounted on the newly developed vehicle and the displacement of the internal combustion engine mounted on the vehicle that has sent data for re-training is desirably less than or equal to a predetermined amount. As in the case of the above-described embodiments, when evaluation map data outputs a misfire variable based on the probability that a misfire has occurred in each of the cylinders, the number of cylinders of an internal combustion engine mounted on the newly developed vehicle is desirably the same as the number of cylinders of the internal combustion engine mounted on the vehicle that has sent data for re-training.
Furthermore, in
In the above-described embodiments, the display device 112 is located in the data analysis center 120; however, the location of the display device 112 is not limited thereto. The display device 112 may be located at a hub different from a hub in which the memory 126, and the like, are located.
In
It is not indispensable that the validity of the determination result of the map defined by the evaluation map data 76b is judged by using a subject having a higher accuracy than the map defined by the evaluation map data 76b or the service map data 76a. For example, the validity of the determination result of the map defined by the evaluation map data 76b may be judged based on majority rule among the determination result defined by the evaluation map data 76b and the determination results made by two or more other maps. Alternatively, for example, one of the determination results made by the two or more other maps may be replaced with a judgement made by an expert.
In the process of
After the process of determining whether the output value of the map defined by the service map data 76a as the first map data and the output value of the map defined by the evaluation map data 76b match, when it is determined as not matching, the validity is checked by using another method; however, the configuration is not limited thereto. For example, with the process of determining whether the output value of the map defined by the service map data 76a or the output value of a map having a higher accuracy than that map and the output value of the map defined by the evaluation map data 76b match, when it is determined as not matching, it may be determined that the output value of the map defined by the evaluation map data 76b is not valid.
For example, the service map data 76a as the first map data is stored in the memory 76, but the evaluation map data 76b as the second map data may be stored in the memory 126, and the CPU 122 may execute the process of
1. The CPU 72 sends input data to the map defined by the evaluation map data 76b to the CPU 122. The CPU 122 sends the output value of the map to the CPU 72. The CPU 72 determines whether the output value of the map defined by the service map data 76a and the output value of the map defined by the evaluation map data 76b match. When the CPU 72 determines that the output values do not match, the CPU 72 sends related data.
2. The CPU 72 sends, to the CPU 122, the output value of the map defined by the service map data 76a in addition to the input data to the map defined by the evaluation map data 76b. The CPU 122 determines whether the output value of the map defined by the service map data 76a and the output value of the map defined by the evaluation map data 76b match. When the CPU 122 determines that the output values do not match, the CPU 122 may make a request of the CPU 72 to send the related data other than the input data.
For example, a learning system for a vehicle may be made up of not only the CPU 122 and the ROM 124 but also a CPU and a ROM provided in a mobile terminal. This is, for example, implemented by executing the process of
A learning apparatus for a vehicle may be made up of a mobile terminal instead of the data analysis center 120. This is, for example, implemented by storing data, or the like, that defines a map having a higher accuracy than service map data described in the section “Process of Determining Validity of Output Value of Map” in a memory of the mobile terminal and executing a process similar to (b) of
The processor is not limited to the one that includes the CPU 72 (102) and the ROM 74 (104) and that executes software processing. The processor may include, for example, an exclusive hardware circuit (for example, an ASIC, or the like) that performs hardware processing on at least part of the one subjected to software processing in the above-described embodiments. In other words, the processor may be configured as any one of the following (a) to (c).
(a) The processor includes a processing unit that executes all the processes in accordance with a program and a program storage device, such as a ROM, that stores the program.
(b) The processor includes a processing unit that executes part of the processes in accordance with a program, a program storage device that stores the program, and an exclusive hardware circuit that executes the remaining processes.
(c) The processor includes an exclusive hardware circuit that executes all the processes. A plurality of the software processors each including a processing unit and a program storage device, or a plurality of the exclusive hardware circuits may be provided.
In the above-described embodiments, the memory 76 in which the evaluation map data 76b and the service map data 76a are stored and the ROM 74 that is a memory in which the re-training sub-program 74b is stored are different memories; however, the configuration is not limited thereto. For example, the memory 126 in which the re-training data 126a is stored and the ROM 124 that is a memory in which the re-training main program 124a is stored are different memories; however, the configuration is not limited thereto.
In the above-described embodiments, a direct injection valve that injects fuel into an associated one of the combustion chambers 18 is illustrated as the fuel injection valve; however, the configuration is not limited thereto. For example, a port injection valve that injects fuel into the intake passage 12 may be used instead. Alternatively, for example, both the port injection valve and each direct injection valve may be provided.
The internal combustion engine is not limited to a spark-ignition internal combustion engine and may be, for example, a compression-ignition internal combustion engine that uses light oil, or the like, as fuel. It is not indispensable that the internal combustion engine makes up part of a drivetrain. The internal combustion engine may be, for example, mounted on a so-called series hybrid vehicle in which a crankshaft is mechanically coupled to an in-vehicle generator and transmission of power is disconnected from the drive wheels 60.
The vehicle is not limited to a vehicle of which a device that generates propelling force for the vehicle is only an internal combustion engine and may be, for example, a parallel hybrid vehicle or a series-parallel hybrid vehicle other than the series hybrid vehicle described in the section “Internal Combustion Engine”. In addition, the vehicle may be an electric vehicle on which no internal combustion engine is mounted.
A drivetrain device interposed between the crankshaft and the drive wheels is not limited to a stepped transmission and may be, for example, a continuously variable transmission.
Number | Date | Country | Kind |
---|---|---|---|
2019-152135 | Aug 2019 | JP | national |