Method and apparatus for determining virtual fault code of vehicle controller

KR103000886B1Active Publication Date: 2026-08-05HYUNDAI MOTOR CO LTD +1
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
HYUNDAI MOTOR CO LTD
Filing Date
2020-12-09
Publication Date
2026-08-05

Smart Images

  • Figure R1020200171548_ABST
    Figure R1020200171548_ABST
Patent Text Reader

Abstract

The present invention relates to a method and apparatus for determining a virtual fault code of a vehicle controller, and aims to provide a method and apparatus for determining a virtual fault code of a vehicle controller that can determine whether a fault code generated from a controller within a vehicle is a virtual fault code caused by an intentional operation rather than an actual fault of the controller.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present invention relates to a method and apparatus for determining a virtual fault code of a vehicle controller, and more specifically, to a method and apparatus for determining a virtual fault code of a vehicle controller that can easily determine whether a fault code generated in a vehicle controller is a virtual fault code. Background Technology

[0003] Due to the integration of autonomous driving, electrification, and connectivity technologies, numerous Electric Control Units (ECUs) are being installed in vehicles compared to the past.

[0004] In-vehicle controllers operate in cooperative control via various communication methods rather than independently to implement complex functions and ensure stability; however, as this complexity increases, errors and failures are occurring frequently during the development phase and in the field after mass production.

[0005] Accordingly, in-vehicle controllers define standard or independent fault codes based on the nature of each fault to monitor normal operation; if the controller's operation meets the conditions for generating a fault code, the code is generated and stored in the controller's internal memory, and when a request command is issued by internal or external diagnostic equipment, the fault code is transmitted from the controller to the diagnostic equipment.

[0006] The occurrence of the above fault code indicates that the controller is not operating normally, and if the controller does not operate normally, it may affect the safety of the vehicle and occupants.

[0007] Accordingly, while the completeness of the controller is being enhanced through activities such as monitoring the occurrence of fault codes by conducting simulations based on various verifiable scenarios and identifying and improving the causes when fault codes occur, there are limitations to improving the completeness of the controller due to its increasing complexity.

[0008] In addition, although specialized logging equipment exists that stores fault codes, communication logs before and after their occurrence, and vehicle sensor data to identify the causes of fault codes, such equipment has the disadvantage of requiring significant investment due to its high cost.

[0009] Therefore, if specialized logging equipment is unavailable, a simple form of general logging equipment capable of collecting only fault codes and some vehicle sensor data is used.

[0010] However, since general logging equipment does not store communication logs before and after the occurrence of a fault code, it is difficult to determine whether the collected fault code was actually caused by a problem with the controller or by intentional work (rework) or the detachment of a connector due to some reason.

[0011] In particular, when a small number of personnel manage dozens or hundreds of vehicles simultaneously, it takes an enormous amount of time to identify the cause of the fault codes as described above.

[0012] Therefore, it is necessary to distinguish whether the fault code is a real fault code caused by actual software errors in the controller, or a virtual fault code generated by intentional operation or the detachment of the connector for some reason. The problem to be solved

[0014] The present invention has been devised in consideration of the above points, and aims to provide a method and apparatus for determining a virtual fault code of a vehicle controller that can determine whether a fault code generated from a controller within a vehicle is a virtual fault code generated by an intentional operation rather than an actual fault of the controller. means of solving the problem

[0016] Accordingly, the present invention provides a method for determining a virtual fault code of a vehicle controller, comprising: a first step of determining whether the vehicle status information received from the vehicle controller contains fault code data of the controller; a second step of determining whether the fault code data is a virtual fault code of a first controller based on vehicle speed information and engine room hood status information detected at the time the fault code data occurs, if the vehicle status information received from the controller contains the fault code data of the controller; and a third step of determining that the fault code data is a virtual fault code of a first controller if the vehicle speed information is zero (0) and the engine room hood status information is in an open state.

[0017] Here, the first controller is characterized as being a controller among the vehicle's controllers that is mounted in the vehicle's engine room.

[0018] According to one embodiment of the present invention, the virtual fault code determination method further comprises the step of generating an outlier label on the fault code data when the fault code data is determined to be a virtual fault code of the first controller.

[0019] In addition, according to another embodiment of the present invention, the virtual fault code determination method further comprises: a step of comparing the fault code data with a predetermined error fault code when the fault code data is determined to be a virtual fault code of a first controller; and a step of generating an outlier label on the fault code data when the fault code data matches the error fault code.

[0020] In the second step above, if the vehicle speed information is zero (0) and the engine room hood status information is closed, the fault code data is determined not to be a virtual fault code of the first controller.

[0021] In addition, in the second step above, if the vehicle speed information is not zero (0) and the engine room hood status information is closed, the fault code data is determined not to be a virtual fault code of the first controller.

[0022] In addition, in the second step above, if the vehicle speed information is not zero (0) and the engine room hood status information is open, the fault code data is determined not to be a virtual fault code of the first controller.

[0023] Meanwhile, the present invention also provides a virtual fault code determination device for a vehicle controller comprising: vehicle controllers that, when fault code data is generated, store vehicle speed information and engine room hood status information detected at the time the fault code data is generated by matching them with the fault code data; and a vehicle data collector that, if the fault code data is included in the vehicle status information transmitted from the controllers, determines whether the fault code data is a virtual fault code of a first controller based on the vehicle speed information and engine room hood status information detected at the time the fault code data is generated, and determines that the fault code data is a virtual fault code of a first controller if the vehicle speed information is zero (0) and the engine room hood status information is in an open state. Effects of the invention

[0025] According to the means for solving the above-mentioned problem, the present invention makes it easy to determine whether a fault code generated in a vehicle controller is a virtual fault code caused by intentional connector removal or the like, rather than an actual failure of the controller, by utilizing vehicle sensor data. Accordingly, by identifying fault code data that is treated as an outlier during big data analysis for controller quality improvement in advance, the time required to identify the cause of the fault code can be shortened, and the accuracy, reliability, and ease of data analysis can be maximized. Brief explanation of the drawing

[0027] FIG. 1 is a drawing illustrating an example of a system configuration for executing a virtual fault code determination method for a vehicle controller according to the present invention. FIG. 2 is a graph for explaining a method for determining a virtual fault code of a vehicle controller according to the present invention. FIG. 3 is a drawing illustrating, as an example, another system configuration for performing a virtual fault code determination method of a vehicle controller according to the present invention. FIG. 4 is a flowchart illustrating, as an example, a method for determining a virtual fault code of a vehicle controller according to the present invention. Specific details for implementing the invention

[0028] Preferred embodiments of the present invention will be described below with reference to the accompanying drawings. The details depicted in the accompanying drawings are schematic drawings intended to facilitate the explanation of embodiments of the present invention and may differ from the actual implemented form.

[0029] Throughout the specification, when a part is described as "including" a certain component, this means that, unless specifically stated otherwise, it does not exclude other components but may include additional components.

[0031] The present invention relates to a method for determining a virtual fault code of a vehicle controller, and provides a method for determining whether a fault code generated in a controller installed in a vehicle is caused by an actual error in the controller that is likely to cause a fault code.

[0032] Figure 1 attached illustrates the configuration of a system for executing a virtual fault code determination method for a vehicle controller according to the present invention.

[0033] As illustrated in FIG. 1, a vehicle is equipped with a plurality of controllers (10). Each controller (10) is configured to independently perform operations such as perception, control, and judgment to operate the functions intended to be implemented in the vehicle, and it is also possible to perform cooperative control by exchanging signals with each other.

[0034] The controllers (10) inside the vehicle can be electrically connected to each other to perform cooperative control, etc., and can exchange electrical signals with each other through a wiring harness.

[0035] Controllers (10) existing in different domains within the vehicle are connected through a gateway (13). In other words, the gateway (13) serves to route signals from controllers (10) existing in different domains within the vehicle. Most controllers (10) mounted in the vehicle are connected to the gateway (13) to route signals as needed. The gateway (13) can be mounted in the vehicle together with the controllers (10).

[0036] The above controller (10) and gateway (13) are also connected by a wiring harness to transmit and receive signals to and from each other, and connectors for electrical connection are provided at both ends of the wiring harness.

[0037] Here, the controller (10) can be divided into a first controller (11) and a second controller (12). Specifically, among the controllers in the vehicle, the powertrain controller is assumed to be the first controller (11), and among the controllers in the vehicle, a controller other than the powertrain controller is assumed to be the second controller (12).

[0038] The powertrain is a device for transmitting power generated by the engine to the wheels, and specifically refers collectively to the clutch, torque converter, transmission, propeller shaft, drive shaft, differential, etc.

[0039] Here, powertrain controllers refer to controllers for controlling the overall operation of the powertrain, and said powertrain controllers are mounted and positioned within the engine compartment of the vehicle.

[0040] Accordingly, the first controller (11) may refer to a controller mounted in the engine room among the controllers in the vehicle, and the second controller (12) may refer to a controller mounted outside the engine room among the controllers in the vehicle. Specifically, the first controller (11) may be an engine controller (ECU), a transmission controller (TCU), etc.

[0041] The in-vehicle controller (10) is connected to the vehicle data collector (20) so as to be able to communicate through the gateway (13).

[0042] The vehicle data collector (20) is configured to collect vehicle status information including fault code data from the controller (10), is configured to determine whether the fault code data received from the controller (10) is a virtual fault code, and is also configured to communicate with a server (30) outside the vehicle.

[0043] Specifically, the vehicle data collector (20) may be configured to include a collector communication unit (21), a collector memory unit (22), and a collector control unit (23).

[0044] The collector communication unit (21) is connected to the vehicle's gateway (13) via wired or wireless communication. By communicating with the gateway (13), the collector communication unit (21) can receive fault code data generated by the vehicle's controller (10) and various data output from the vehicle's sensors, and, if necessary, transmits control signals from the collector control unit (23) to the gateway (13).

[0045] The above collector communication unit (21) can communicate with the vehicle gateway (13) at a predetermined interval by the user.

[0046] The collector control unit (23) determines whether to generate an outlier label in the fault code data by operating a predetermined control algorithm.

[0047] Specifically, the collector control unit (23) determines whether the fault code data is a virtual fault code based on the vehicle status information received from the controller (10), and if the fault code of the controller (10) is determined to be a virtual fault code, it performs the task of selectively generating an outlier label on the fault code data.

[0048] The collector memory device (22) can store various data received through the collector communication unit (21) and data output from the collector control unit (23). Specifically, the collector memory device (22) is configured to temporarily store fault code data for which an outlier label has been generated among the data output from the collector control unit (23).

[0049] In addition, the vehicle data collector (20) also includes a collector power supply unit (24) that supplies power necessary for operation.

[0050] The vehicle data collector (20, 20') can be provided separately from the vehicle as a type of terminal as shown in FIG. 1, or mounted inside the vehicle as a type of controller as shown in FIG. 3. When the vehicle data collector (20') is mounted inside the vehicle, a separate communication unit becomes unnecessary because the gateway (13) can be used.

[0051] In addition, it is also possible to provide a separate controller capable of performing the roles of a vehicle data collector (20) and a gateway (13) within the vehicle.

[0052] Meanwhile, the above vehicle status information includes controller fault code data and vehicle sensor data detected and output by various sensors installed in the vehicle.

[0053] As shown in FIG. 1, the sensor data includes output information of a hood switch sensor (15) that detects the opening and closing operation of the hood for opening and closing the engine room of the vehicle, and output information of a vehicle speed sensor (14) that detects the vehicle speed.

[0054] As illustrated in FIG. 1, the server (30) may be configured to include a server communication unit (31), a server memory unit (32), and a server control unit (33).

[0055] The server communication unit (31) is configured to communicate with the collector communication unit (21). The server communication unit (31) receives fault code data, etc., stored in the collector memory device (22) by communicating with the collector communication unit (21), and, if necessary, also transmits a control signal of the server control unit (33) to the collector communication unit (21).

[0056] The server control unit (33) performs various judgments, analyses, and control signal generation required by the user based on data stored in the server memory (32). For example, when the server control unit (33) analyzes controller fault codes stored in the server memory (32), it excludes fault code data for which outlier labels have been generated and performs the fault code analysis.

[0057] The server memory device (32) stores actual fault code data and virtual fault code data transmitted from the vehicle data collector (20), and also stores various databases built in advance. The virtual fault code data includes fault code data for which outlier labels have been generated.

[0058] In order to monitor whether the vehicle controllers (10) are operating normally, a standard fault code or an independent fault code is determined according to each fault, and the fault code generated by each controller (10) is transmitted to and stored in a server memory device (32).

[0059] When a fault corresponding to a predetermined condition occurs, the vehicle controllers (10) can generate a fault code themselves and store it in internal memory, and transmit the fault code data to the vehicle data collector (20) upon the request of the vehicle data collector (20). The vehicle data collector (20) can transmit the fault code data received from the controllers (10) to the server (30) for storage.

[0060] In addition, the server (30) also includes a server power supply unit (34) that supplies power necessary for operation.

[0061] Meanwhile, in order to rework the first controller (11) mounted in the engine room of the vehicle, the connector connected to the first controller (11) must be removed, and after the rework of the first controller (11) is completed, the connector is reinstalled on the first controller (11).

[0062] To be more specific, in order to perform the rework of the first controller (11), the driver's door is opened while the vehicle is stopped with the vehicle speed at zero (0), and the engine room hood is opened by operating the engine room hood switch inside the vehicle. Next, the connector is disconnected from the first controller (11), and when the rework of the first controller (11) is finished, the connector is reconnected to the first controller (11) and the engine room hood is closed.

[0063] Accordingly, the collector control unit (23) can primarily determine whether the fault code of the first controller (11) is the fault code caused by a rework situation, based on the vehicle speed information and engine room hood condition information collected together at the time the fault code of the first controller (11) occurs, as shown in FIG. 2.

[0064] Referring to Fig. 2, in the case of fault codes (DTC2, DTC3, DTC4) that occur when the vehicle speed is zero (0) and the engine room hood is open, it can be determined that they are virtual fault codes.

[0065] When storing a fault code, the vehicle controller (10) stores the vehicle speed information and engine room hood condition information at the time the fault code occurred by matching them with the fault code. At this time, the controller (10) may receive the vehicle speed information and engine room hood condition information from the vehicle speed sensor (14) and hood switch sensor (15) mounted on the vehicle, respectively, or receive the vehicle speed information and engine room hood condition information from another controller that collects the information of the vehicle speed sensor (14) and hood switch sensor (15). The engine room hood condition information can be determined based on the output value of the hood switch sensor (15) that detects the engine room hood switch condition value.

[0066] For example, when the first controller (11) generates a predetermined fault code (i.e., the first fault code), the first controller (11) receives vehicle speed information and / or engine room hood status information from the vehicle speed sensor (14) and the hood switch sensor (15), or receives vehicle speed information and / or engine room hood status information from the second controller (12), and the first controller (11) matches the vehicle speed information and engine room hood status information to the first fault code and stores them in the internal memory of the first controller (11). At this time, when the first controller (11) stores the first fault code, vehicle speed information, and engine room hood status information, it stores them in a manner identifiable with other fault codes and vehicle status information that occurred at other times.

[0067] The collector control unit (23) determines the virtual fault code primarily determined as above as an error in the server memory device (32). By comparing with the error fault code stored in the fault code database, it can be finally determined whether to generate an outlier label in the fault code data of the first controller (11).

[0068] Since the fault codes generated when disconnecting and reconnecting the controller connector are mainly related to communication errors or circuit errors, the error fault codes of the controller (10) can be stored in a database in the server memory (32).

[0069] Therefore, the accuracy of whether an outlier label is generated can be increased by comparing the fault code generated in the first controller (11) with the error fault code stored in the server memory (32).

[0070] Whether to generate the above label can also be determined by the server control unit (33). To this end, the server (30) can receive vehicle status information from the vehicle data collector (20) and store it in the server memory device (32). That is, it is possible to transmit all vehicle status information collected by the vehicle data collector (20) to the server (30), determine whether to generate an outlier label in the fault code at the server (30), and perform the task of selectively generating an outlier label according to the result of the determination.

[0071] The collector control unit (23) can determine that if the vehicle speed data or engine room hood condition data does not meet the specified conditions, it cannot be determined that the situation is normal and therefore there is a high probability of an actual error occurring in the controller, and can determine that it is necessary to identify the clear cause and make improvements through actual vehicle inspection.

[0072] Additionally, the collector control unit (23) may determine that the driving condition is abnormal if the engine room hood is open while driving. In this case, a continuous visual or auditory warning message may be delivered to the driver through a vehicle display device such as a cluster or a vehicle speaker.

[0073] Meanwhile, the fault code generated by the controller (10) is a code having a predetermined number of digits, and the fault code may consist of a standard fault code with a predetermined number of digits and an additional information fault code placed after the standard fault code. The standard fault code defines and displays the same fault content of the controllers (10), and the additional information fault code defines and displays the fault content individually for debugging each controller (10).

[0074] For example, assuming the fault code is P123456, P1234 is the standard fault code and 56 is the additional information fault code.

[0075] The collector control unit (23) determines whether there is a match by comparing the fault code of the controller (10) with the error fault code stored in the server memory (32) sequentially starting from the highest position.

[0076] The collector control unit (23) immediately generates an outlier label if there is an error fault code that completely matches the fault code of the first controller (11), and if there is no error fault code that completely matches the fault code of the first controller (11) in the server memory (32), it compares only the standard fault code with the standard fault code of the error fault code.

[0077] The collector control unit (23) generates an outlier label in the controller fault code if there is a matching error fault code based on the result of comparing only standard fault codes.

[0078] In other words, the collector control unit (23) can generate an outlier label in the controller fault code even if the code from the highest position to a predetermined position of the controller fault code is the same as the error fault code.

[0080] Hereinafter, a method for determining a virtual fault code of a vehicle controller according to the present invention will be explained with reference to FIG. 4.

[0081] As illustrated in FIG. 4, the vehicle data collector (20) periodically collects vehicle status information through communication with the in-vehicle gateway (13) (S100).

[0082] In the above step S100, the vehicle data collector (20) may request fault code data and vehicle sensor data from the in-vehicle controller (10), and the controllers (10) that receive the request from the vehicle data collector (20) may each transmit the fault code data and vehicle sensor data they have stored to the vehicle data collector (20). At this time, the vehicle data collector (20) may receive the fault code data and vehicle sensor data, etc., through the collector communication unit (21) and store them in the collector memory device (22).

[0083] Next, the collector control unit (23) of the vehicle data collector (20) determines whether there is fault code data of the controller (10) among the received vehicle status information (S110). If there is no fault code data of the controller (10), the above step S100 is repeated.

[0084] If there is fault code data of the controller (10), it is determined whether the vehicle speed among the vehicle sensor data is zero (0) (S120).

[0085] The collector control unit (23) determines whether the engine room hood is open based on the information from the hood switch sensor (15) when the vehicle speed is zero (S130).

[0086] When the collector control unit (23) determines that the engine room hood is open in step S130, it first determines that the fault code of the controller (10) is not an actual fault code but a virtual fault code, and determines whether the fault code of the controller (10) determined to be a virtual fault code matches the error fault code stored in the server memory (32) (S140). At this time, the collector control unit (23) determines that the fault code of the controller (10) is a virtual fault code of the first controller (11) and compares it with the error fault code of the first controller (11) stored in the server memory (32).

[0087] Next, the collector control unit (23) generates an outlier label on the fault code data of the controller (10) if the fault code data of the controller (10) matches an error fault code stored in the server memory (32) (S150). In the case of a fault code for which an outlier label has been generated, it is treated as an outlier when analyzing the controller fault code.

[0088] The collector control unit (23), when the fault code data of the controller (10) in step S140 is inconsistent with the error fault code stored in the server memory (32), classifies the fault code data of the controller (10) as data requiring precise inspection in the actual vehicle, even though it was initially determined to be a virtual fault code in step S130 (S190).

[0089] The collector control unit (23) determines that if the engine room hood is closed as a result of the determination in step S130, the fault code data of the controller (10) is not a virtual fault code of the first controller (11) (S160). In this case, since the fault code of the controller (10) may be a virtual fault code caused by the rework situation of the second controller (12) or a progressive fault code caused in a stationary state, the fault code data of the controller (10) is determined to be data to be analyzed and classified (S190).

[0090] In addition, the collector control unit (23) determines whether the engine room hood is open (S170) if it is determined that the vehicle speed is not zero (0) in step S120.

[0091] The collector control unit (23) determines that if the engine room hood is closed in step S170, the fault code data of the controller (10) is not a virtual fault code of the first controller (11) (S180). In this case, since the fault code of the controller (10) may be a progressive fault code that occurred during driving, the fault code data of the controller (10) is determined to be data to be analyzed and classified (S190).

[0092] In addition, the collector control unit (23) determines that if the engine room hood is open in step S170, the fault code data of the controller (10) is not a virtual fault code of the first controller (11) and simultaneously determines that it is an abnormal driving state (S200).

[0094] As embodiments of the present invention have been described in detail above, the terms and words used in this specification and claims should not be interpreted as being limited to their ordinary or dictionary meanings. Furthermore, since the embodiments described in this specification and the configurations illustrated in the drawings are merely preferred embodiments of the present invention, the scope of the present invention is not limited to the above-described embodiments. Various modifications and improvements by those skilled in the art using the basic concepts of the present invention as defined in the following claims are also included within the scope of the present invention. Explanation of the symbols

[0096] 10: Controller 11: First controller 12: Second Controller 13: Gateway 14: Vehicle speed sensor 15: Hood switch sensor 20,20' : Vehicle data collector 21 : Collector communication unit 22 : Collector memory 23 : Collector control unit 24 : Collector Power Supply 30 : Server 31 : Server communication unit 32 : Server memory 33: Server Control Unit 34: Server Power Unit

Claims

Claim 1 A method for determining a virtual fault code of a vehicle controller, comprising: a first step of determining whether the vehicle status information received from the vehicle controller contains fault code data of the controller; a second step of determining whether the fault code data is a virtual fault code of a first controller based on vehicle speed information and engine room hood status information detected at the time the fault code data occurs, wherein the first controller is a controller mounted in the vehicle engine room among the vehicle controllers, and the second step comprises: a step of determining that the fault code data is a virtual fault code of the first controller if the vehicle speed is zero (0) and the engine room hood is open; and a step of determining that the fault code data is not a virtual fault code of the first controller if the vehicle speed is zero (0) and the engine room hood is closed, or if the vehicle speed is not zero (0) and the engine room hood is closed, or if the vehicle speed is not zero (0) and the engine room hood is open. Claim 2 delete Claim 3 A method for determining a virtual fault code of a vehicle controller according to claim 1, further comprising the step of generating an outlier label on the fault code data when the fault code data is determined to be a virtual fault code of the first controller. Claim 4 A method for determining a virtual fault code of a vehicle controller according to claim 1, further comprising: a step of comparing the fault code data with a predetermined error fault code when the fault code data is determined to be a virtual fault code of a first controller; and a step of generating an outlier label on the fault code data when the fault code data matches the error fault code. Claim 5 delete Claim 6 delete Claim 7 delete Claim 8 A virtual fault code determination device for a vehicle controller, comprising: vehicle controllers that, when fault code data is generated, store vehicle speed information and engine room hood status information detected at the time the fault code data is generated by matching them with the fault code data; and a vehicle data collector that, if the fault code data is included in the vehicle status information received from the controllers, determines whether the fault code data is a virtual fault code of a first controller based on the vehicle speed information and engine room hood status information detected at the time the fault code data is generated, wherein the first controller is a controller mounted in the vehicle engine room among the vehicle controllers, and the vehicle data collector determines that the fault code data is a virtual fault code of the first controller if the vehicle speed is zero (0) and the engine room hood is open, and determines that the fault code data is not a virtual fault code of the first controller if the vehicle speed is not zero (0) or the engine room hood is not open. Claim 9 delete Claim 10 A virtual fault code determination device for a vehicle controller according to claim 8, wherein the vehicle data collector generates an outlier label on the fault code data when the fault code data is determined to be a virtual fault code of the first controller. Claim 11 A virtual fault code determination device for a vehicle controller according to claim 8, wherein the vehicle data collector compares the fault code data with a predetermined error fault code when the fault code data is determined to be a virtual fault code of the first controller, and generates an outlier label on the fault code data when the fault code data matches the error fault code. Claim 12 delete

Citation Information

Patent Citations

  • Vehicular control apparatus

    JP2017105337A

  • Connected services for vehicle diagnostics and repairs

    US20170011561A1

  • Fault diagnostic system for vehicles using identification and program codes

    US5491631A

  • System and method for cooperative vehicle diagnostics

    US20100057290A1

  • Adaptive Handling of Operating Data

    US20160155315A1