A vehicle fault diagnosis method, device, equipment and medium

By using a database and a vehicle diagnostic expert system, and leveraging the Pyke open-source library for automated fault location, the problem of relying on personal experience in existing technologies is solved, enabling rapid and efficient vehicle fault diagnosis.

CN115220433BActive Publication Date: 2025-12-16HOZON NEW ENERGY AUTOMOBILE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210917362.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-01
Publication Date
2025-12-16
Estimated Expiration
2042-08-01

AI Technical Summary

Technical Problem

Existing vehicle fault diagnosis methods rely on the personal experience of repair personnel, resulting in heavy workloads and difficulty in sharing experience among multiple repair personnel.

Method used

By utilizing the combination of fault types and operating parameters stored in the database, automated fault location is achieved through a vehicle diagnostic expert system, including forward and backward reasoning logic programming, and intelligent fault diagnosis is realized by combining the Pyke open-source library.

Benefits of technology

It enables rapid and efficient fault location, reduces the workload of technicians, and improves the efficiency and accuracy of fault diagnosis.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115220433B_ABST
    Figure CN115220433B_ABST
Patent Text Reader

Abstract

The embodiment of the application provides a vehicle fault diagnosis method, device, equipment and medium, the method comprises the following steps: receiving the instruction of carrying out fault diagnosis on a target vehicle, collecting the operation parameter of the target vehicle; based on the operation parameter of the target vehicle, querying the fault type matched with the value of the operation parameter from the database; based on the queried fault type, querying the candidate fault reason corresponding to the fault type and the fault code corresponding to each candidate fault reason from the database, and determining whether the target vehicle exists the fault code corresponding to any candidate fault reason; when it is determined that the target vehicle exists the fault code corresponding to any candidate fault reason, the candidate fault reason corresponding to the fault code is determined as the fault reason of the target vehicle, and the above method can quickly locate the fault reason of the target vehicle.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of vehicle diagnosis, in particular to a vehicle fault diagnosis method, device, equipment and medium. BACKGROUND

[0002] When a vehicle has a problem and needs to be checked for faults, the maintenance personnel often measure various operating parameters of the vehicle on site, determine the fault type and cause of the vehicle according to their own experience, but this fault checking method leads to heavy work for the maintenance personnel and strong dependence on the experience of the maintenance personnel.

[0003] At the same time, the experience accumulation of each maintenance personnel in fault checking is only personal experience of the maintenance personnel, and it is difficult to realize the mutual understanding of the experience of multiple maintenance personnel, so a vehicle diagnosis system is needed which can make full use of the experience of vehicle technical experts and actual cases of after-sales maintenance to provide fault diagnosis help for each maintenance personnel. SUMMARY

[0004] The present application provides a vehicle fault diagnosis method, device, equipment and medium, which uses various fault types corresponding to operating parameters and fault causes stored in the database to quickly and efficiently locate the fault cause of the vehicle.

[0005] The first aspect of the embodiment of the present application provides a vehicle fault diagnosis method, comprising:

[0006] receiving an instruction to diagnose a fault of a target vehicle, and collecting operating parameters of the target vehicle;

[0007] querying, based on the operating parameters of the target vehicle, a fault type matching the value of the operating parameters from a database;

[0008] querying, based on the queried fault type, candidate fault causes corresponding to the fault type and fault codes corresponding to each candidate fault cause from the database, and determining whether the target vehicle has a fault code corresponding to any candidate fault cause;

[0009] when it is determined that the target vehicle has a fault code corresponding to any candidate fault cause, determining the candidate fault cause corresponding to the fault code as the fault cause of the target vehicle.

[0010] The above method determines the fault type matching the collected operating parameters from the database, then queries the corresponding fault cause and associated fault code from the database according to the fault type, and determines the fault cause of the target vehicle according to whether the target vehicle has the above fault code, which realizes the quick positioning of the fault cause, and reduces the workload of the technical personnel since manual diagnosis by the technical personnel is not needed.

[0011] An optional implementation is that the database stores operation parameter combinations corresponding to various fault types, and the fault type matching the operation parameters is queried from the database based on the operation parameters of the target vehicle, including:

[0012] Each operation parameter combination corresponding to various fault types in the database is traversed, and whether there is an operation parameter combination corresponding to any fault type in the collected operation parameters is queried;

[0013] When the operation parameter combination corresponding to the fault type is queried, the fault type corresponding to the queried operation parameter combination is determined as the fault type of the target vehicle.

[0014] An optional implementation is that when the candidate fault causes corresponding to the fault type and the fault codes corresponding to each candidate fault cause are queried from the database, further including:

[0015] According to the judgment order of the candidate fault causes corresponding to various fault types pre-stored in the database, the judgment order of the candidate fault causes corresponding to the fault type is queried from the database;

[0016] Determining whether the target vehicle has a fault code corresponding to any candidate fault cause includes:

[0017] According to the judgment order, whether the target vehicle has a fault code corresponding to the candidate fault is determined in sequence, until it is determined that the target vehicle has a fault code corresponding to any candidate fault cause or it is determined that the target vehicle does not have a fault code corresponding to the candidate fault.

[0018] An optional implementation is that determining whether the target vehicle has a fault code corresponding to any candidate fault cause includes at least one of the following steps:

[0019] By comparing the values of the operation parameters of the target vehicle with the values of the operation parameters corresponding to various fault codes, it is determined whether the target vehicle has a fault code corresponding to any candidate fault cause;

[0020] By feeding back the fault codes corresponding to each candidate fault cause to the user, receiving the fault code confirmation information input by the user, it is determined whether the target vehicle has a fault code corresponding to any candidate fault cause.

[0021] An optional implementation is that after collecting the operation parameters of the target vehicle, further including:

[0022] Determining whether the database has been modified;

[0023] When it is determined that the database has been modified, the data stored in the database is re-acquired and compiled according to a preset format.

[0024] An optional implementation further comprises the following steps after determining whether the target vehicle has the fault code corresponding to any candidate fault cause:

[0025] When it is determined that the target vehicle does not have the fault code corresponding to the candidate fault, the user is fed back fault information that the fault of the target vehicle is not detected.

[0026] In a second aspect, the embodiment of the application provides a vehicle fault diagnosis device, comprising:

[0027] The acquisition module is configured to receive an instruction for performing fault diagnosis on the target vehicle, and acquire an operation parameter of the target vehicle.

[0028] The query module is configured to query, based on the operation parameter of the target vehicle, a fault type matching a value of the operation parameter from a database.

[0029] The fault code determination module is configured to query, based on the queried fault type, a candidate fault cause corresponding to the fault type and a fault code corresponding to each candidate fault cause from the database, and determine whether the target vehicle has the fault code corresponding to any candidate fault cause.

[0030] The fault cause determination module is configured to determine, when the target vehicle has the fault code corresponding to any candidate fault cause, the candidate fault cause corresponding to the fault code as the fault cause of the target vehicle.

[0031] In a third aspect, the embodiment of the application provides a vehicle fault diagnosis device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the following steps when executing the computer program:

[0032] The instruction for performing fault diagnosis on the target vehicle is received, and the operation parameter of the target vehicle is acquired.

[0033] Based on the operation parameter of the target vehicle, a fault type matching a value of the operation parameter is queried from a database.

[0034] Based on the queried fault type, a candidate fault cause corresponding to the fault type and a fault code corresponding to each candidate fault cause are queried from the database, and it is determined whether the target vehicle has the fault code corresponding to any candidate fault cause.

[0035] When the target vehicle has the fault code corresponding to any candidate fault cause, the candidate fault cause corresponding to the fault code is determined as the fault cause of the target vehicle.

[0036] In a fourth aspect, the embodiment of the application provides a computer readable storage medium, which stores computer program instructions, and the computer program instructions are executed by a processor to implement the steps of any one of the above vehicle fault diagnosis methods.

[0037] In addition, the technical effects brought by the implementation manners of any one of the second to fourth aspects described above can refer to the technical effects brought by the different implementation manners of the vehicle fault diagnosis method described above, which will not be repeated here. BRIEF DESCRIPTION OF DRAWINGS

[0038] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the embodiment description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can also be obtained without creative labor on the basis of these drawings.

[0039] Figure 1 A flowchart of a vehicle fault diagnosis method provided by the embodiment of the present application is shown in the figure.

[0040] Figure 2 A structural diagram of a vehicle diagnosis expert system provided by the embodiment of the present application is shown in the figure.

[0041] Figure 3 A schematic diagram of an interactive interface provided by the embodiment of the present application is shown in the figure.

[0042] Figure 4 A flowchart of a vehicle fault diagnosis process provided by the embodiment of the present application is shown in the figure.

[0043] Figure 5 A structural diagram of a vehicle fault diagnosis device provided by the embodiment of the present application is shown in the figure.

[0044] Figure 6 A structural diagram of a vehicle fault diagnosis device provided by the embodiment of the present application is shown in the figure. DETAILED DESCRIPTION

[0045] In order to make the purpose, technical solutions and advantages of the present application more clear, the present application will be further described in detail below with reference to the drawings.

[0046] The application scenarios described in the embodiments of the present application are used to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application. Those skilled in the art can know that as new application scenarios appear, the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems. In the description of the present application, unless otherwise specified, the meaning of "multiple" is two or more.

[0047] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily describe a specific order or sequence. It should be understood that the data thus used can be interchanged under appropriate circumstances, so that the embodiments of the application described herein can be implemented in an order other than that illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of the present application as detailed in the appended claims. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative labor are within the scope of protection of the present application.

[0048] Vehicle fault diagnosis is an important link to ensure normal operation of the vehicle. The current vehicle fault diagnosis is usually diagnosed by artificial diagnosis, that is, the vehicle technician diagnoses the fault by personal experience and skill. This troubleshooting method has strong dependence on the experience of the technician, and the experience accumulation of each troubleshooting result is only the personal experience of the technician, and the experience of multiple technicians cannot be shared.

[0049] Although there are some vehicle diagnosis systems and devices at present, most of the diagnosis is still completed by people when using the vehicle diagnosis system or device to diagnose faults, so it still relies on personal experience and skill, and therefore there is still a risk of using people in this vehicle fault diagnosis method.

[0050] To solve the above problems, the present application provides a vehicle fault diagnosis method, please refer to Figure 1 The flowchart of the vehicle fault diagnosis method is shown in Figure 1 The fault diagnosis method provided by the embodiments of the present application comprises the following steps:

[0051] Step 101, receiving an instruction for fault diagnosis of a target vehicle, collecting running parameters of the target vehicle.

[0052] Step 102, based on the running parameters of the target vehicle, querying the fault type matched with the value of the running parameters from the database.

[0053] The above database stores various fault type corresponding running parameter combination, that is, the running parameter corresponding to the fault type and the value of each running parameter.

[0054] After obtaining the running parameters of the target vehicle, the fault type matched with the running parameters is queried from the database according to the running parameters, and the fault type is determined as the fault type of the target vehicle.

[0055] Step 103: Based on the queried fault type, query the database for the candidate fault causes corresponding to the fault type and the fault codes corresponding to each candidate fault cause, and determine whether the target vehicle has a fault code corresponding to any candidate fault cause.

[0056] The database also stores candidate fault causes corresponding to various fault types, as well as fault codes associated with each candidate fault cause. It should be noted that the fault codes are associated not only with the candidate fault causes but also with the fault types.

[0057] After identifying the candidate fault causes and their corresponding fault codes corresponding to the fault types found in the database, it is determined whether the target vehicle has the aforementioned fault codes.

[0058] Step 104: When it is determined that the target vehicle has a fault code corresponding to any candidate fault cause, the candidate fault cause corresponding to the fault code is determined as the fault cause of the target vehicle.

[0059] Once the corresponding fault code is identified, it can be determined that the target vehicle has a corresponding fault, and the cause of the fault can also be determined.

[0060] As an optional implementation, if it is determined that the target vehicle does not have a fault code corresponding to the candidate fault, the user is informed that no fault information was detected in the target vehicle.

[0061] The above method determines the fault type that matches the collected operating parameters based on the database, then queries the database for the corresponding fault cause and associated fault code based on the fault type, and determines the fault cause of the target vehicle based on whether the target vehicle has the above fault code. This achieves rapid fault cause location and reduces the workload of technicians because it eliminates the need for manual diagnosis.

[0062] In practical implementation, the above-mentioned vehicle fault diagnosis method can be achieved through... Figure 2 The vehicle diagnostic expert system shown is an implementation of this system. A vehicle diagnostic expert system is an intelligent computer program system containing a wealth of knowledge and experience at the level of vehicle domain experts. It can utilize the experience of vehicle technical experts and practical after-sales repair cases to handle problems in this field, and can continuously iterate and upgrade its diagnostic knowledge base and reasoning system to achieve efficient vehicle diagnostic services.

[0063] The vehicle diagnostic expert system provided in this application embodiment is developed based on Pyke, an open-source Python library. Pyke is a rule engine mainly used in expert systems. It is a knowledge-based reasoning engine and is implemented entirely in Python.

[0064] Pyke's inference engine supports both forward-chaining rules, i.e. the process of deriving new facts by applying rules to facts, and backward-chaining rules, i.e. the process of asking Pyke an inference engine a question that needs to be proven, and the inference engine figures out what subgoals need to be proven in order to prove the original goal.

[0065] The version used in the embodiments of the present application is the python version: version 2.7.18, and the Pyke library version is v1.1, but the vehicle diagnostic expert system provided in the embodiments of the present application does not limit the used version, and in actual application, a suitable version can be selected according to the actual needs.

[0066] The detailed structure of the vehicle diagnostic expert system provided in the embodiments of the present application is shown in Figure 2 The vehicle diagnostic expert system mainly includes the following five parts: an expert system program 201, a Pyke inference engine 202, a rule file library 203 (i.e. the above-mentioned database), a Pyke driver program 204 and a user display module 205, in addition, a running parameter library 206 can also be included.

[0067] The rule file library includes the rule files for troubleshooting designed according to the experience of technical experts, and supports real-time modification, the system can automatically judge the cause of the fault in combination with the reading of the rule files in the rule file library, improve the work efficiency of troubleshooting, and the system can be directly deployed on a single computer, which is low in cost and convenient to use.

[0068] The parts of the vehicle diagnostic expert system provided in the embodiments of the present application are described in detail as follows.

[0069] 1. Expert system program 201.

[0070] The expert system program 201 is the main program of the vehicle diagnostic expert system, and mainly performs the following operations:

[0071] Firstly, a data reading module (Diagnostic_Data_Read module) is called to read the running parameters of the target vehicle.

[0072] Specifically, the running parameters are usually in csv format, and in specific implementation, other data formats such as ASC format, txt format, etc. can also be extended.

[0073] When the vehicle diagnosis expert system includes the running parameter library 206, after the running parameters of the target vehicle are collected, the running parameters are stored in the running parameter library 206 in a preset format, and when the data reading module is called to read data, the corresponding record file is read from the running parameter library 206 through an interface, and part of the code in the reading process is as follows:

[0074] #Load vehicle raw data

[0075] signal_dictionary=Diagnostic_Data_Read.read_vehicle_data('vehicle_raw_data.csv');

[0076] Then, the forward reasoning module in the Pyke driver (Diagnostic_driver) is called to perform preliminary problem positioning, that is, to determine the fault type of the target vehicle.

[0077] Specifically, the forward reasoning module (fc_test) is called, and based on the running parameters of the target vehicle, the fault type matching the value of the running parameters is queried from the database, and part of the code is as follows:

[0078] PreJudgeIssue=Diagnostic_driver.fc_test(Data_List1[i],Data_List2[i],Data_List3[i]);

[0079] Finally, the backward reasoning module in the Pyke driver is called to reason the cause of the problem.

[0080] Specifically, after the fault type is determined, the backward reasoning module (bc_test) is called to analyze the fault cause corresponding to the fault type according to the corresponding backward reasoning rules, and part of the code is as follows:

[0081] Diagnostic_driver.bc_test(PreJudgeIssue);

[0082] For example, if the forward reasoning module determines that the fault type of the target vehicle is a lostReady fault, the backward reasoning module automatically calls the backward reasoning rule file corresponding to the lostReady (lostReady fault).

[0083] 2、Pyke reasoning engine 202.

[0084] Pyke inference engine 202, i.e. Pyke open source library, is called by the embodiment of the present application from the Pyke driver 204, and the Pyke inference engine 202 contains a compiler for automatically compiling relevant rule files into python files and executing these files to complete the inference process.

[0085] It should be noted that the above-mentioned compiler will compile the rule files in the rule file library 203 into python files when the vehicle diagnosis expert system is started. In each vehicle fault diagnosis, it is determined whether the rule files in the rule file library are modified, and when it is determined that the rule files are modified, the rule files stored in the rule file library are reacquired and recompiled according to the preset format, and when it is determined that the rule files in the rule file library are not modified, the rule files are not recompiled.

[0086] 3. Rule file library 203 (i.e. the above-mentioned database).

[0087] The rule file library 203 includes a series of files related to problem reasoning, and the rule file library 203 provided in the embodiment of the present application mainly includes the following four types of rule files:

[0088] a. Forward reasoning rule file, such as Diagnostic_prejudge_forward_chain_base.krb;

[0089] b. Fact base file, such as Diagnostic_fact_base.kfb;

[0090] c. Reverse reasoning rule file, such as Diagnostic_lost_ready_backward_chain_base.krb;

[0091] d. Question base file, such as questions.kqb.

[0092] The extension of the above-mentioned inference rule file (forward reasoning rule file and reverse reasoning rule file) is usually krb, the extension of the fact base is usually kfb, and the extension of the question base is usually kqb.

[0093] The above-mentioned four types of rule files will be recompiled by the Pyke inference engine 202 when they are called for the first time, and the corresponding python format files are generated and executed, and the original rule files are still retained in the initial format.

[0094] If it is necessary to modify the contents of the rule file, the original rule file (i.e., the rule file in the format of krb / kfb / kqb) can be directly updated, and in the subsequent use process, the Pyke inference engine 202 will recompile the rule file.

[0095] The following will introduce the above four types of rule files in detail:

[0096] The first type, the forward reasoning rule file, is used to preliminarily locate the fault type, i.e., reading the running parameter combinations of various fault types in the fact base, and determining whether there is a combination corresponding to the running parameter combination in the fact base from the read running parameters, to infer the possible fault type of the target vehicle, and part of the example code is as follows:

[0097] PreJudge_lost_Ready

[0098] Foreach

[0099] Diagnostic_fact_base.lost_ready_precheck($PreJudgeIssue,$GearPosition,$DriverDoorAjar,$ReadyLight)

[0100] check$GearPosition in(0x08,0x0B,0x0D)

[0101] check$DriverDoorAjar==0x00

[0102] check$ReadyLight==0x00

[0103] assert

[0104] Diagnostic_fact_base.PreJudge_lost_Ready($GearPosition,$DriverDoorAjar,$ReadyLight,$PreJudgeIssue);

[0105] The above code example shows that when the above combination occurs (the gear signal value is in (0x08, 0x0B, 0x0D), the door opening state signal value is 0x00, and the Ready indicator light signal is 0x00), the fault type of the current target vehicle can be judged as a lost Ready fault, and the reasoning rule of the lost Ready fault needs to be called for further analysis.

[0106] The second type, fact base file, contains various conditions when the fault type is determined, i.e. various fault types corresponding to the operating parameter combination, specifically including each fault type corresponding to the operating parameter and the specific value of the operating parameter, which is called by the forward reasoning module in the forward reasoning process (fault type determination process), part of the case code is shown as follows:

[0107] lost_ready_precheck(lostReady, 0x08, 0x00, 0x00);

[0108] lost_ready_precheck(lostReady, 0x0B, 0x00, 0x00);

[0109] lost_ready_precheck(lostReady, 0x0D, 0x00, 0x00);

[0110] The above code shows the fault type "lost ready" corresponding to all signal combinations (operating parameter combinations) stored in the fact base.

[0111] The third type, backward reasoning rule file, is used to further determine the cause of the fault after the fault type is initially determined, so as to locate the corresponding parts of the target vehicle fault, part of the case code is shown as follows:

[0112] BMSFault_caused_lost_ready / BMS battery management module fault

[0113] use caused_failure($Failure_result, $Failure_cause)

[0114] when

[0115] questions.get_BMSFault_signal_DTC($DTC_ID)

[0116] check$DTC_ID==True

[0117] $Failure_result=Failure_result(1)

[0118] $Failure_cause=Failure_cause(5);

[0119] ThermalFault_caused_lost_ready / Battery thermal management fault

[0120] use caused_failure($Failure_result, $Failure_cause)

[0121] when

[0122] questions.get_ThermalFault_signal_DTC($DTC_ID)

[0123] check $DTC_ID == True

[0124] $Failure_result = Failure_result(1)

[0125] $Failure_cause = Failure_cause(6);

[0126] The inference process of analyzing BMS battery management module failure and battery thermal management failure is exemplified above. After inferring that the target vehicle has a Ready failure (failure type), it is determined whether the BMS failure or the battery thermal management failure is the cause of the Ready failure by confirming whether there is a related DTC failure code. Among them, the question library file may be used to prompt the user to confirm whether the DTC failure code exists.

[0127] The fourth type, the question library file, contains various types of failure codes corresponding to failure codes and user interaction information (each failure cause corresponding to the failure code needs to be confirmed by the user whether it exists). When performing fault diagnosis, the failure codes corresponding to each candidate failure cause can be fed back to the user, the user's input failure code confirmation information is received, and it is determined whether the target vehicle has a failure code corresponding to any candidate failure cause. Part of the example code is shown below:

[0128] get_BMSFault_signal_DTC($DTC_ID)

[0129] DTC_ID: P1A4100, P1B0300, P1B0500, …

[0130] Does any DTC_ID (BMS Fault) above occurred?

[0131] $DTC_ID = y / n;

[0132] get_ThermalFault_signal_DTC($DTC_ID)

[0133] DTC_ID: P1C8000, P1B7B00, P1B1E00

[0134] Does any DTC_ID(Thermal Fault)above occurred?

[0135] $DTC_ID=y / n;

[0136] The above illustrates the fault confirmation information related to the BMS fault and the battery thermal management fault. When performing fault diagnosis, the interactive interface can prompt the user whether there is a DTC diagnostic code related to the BMS fault and the thermal management fault, and accept the feedback information of the user.

[0137] In a specific implementation, in addition to determining whether there is a corresponding fault code through user feedback, the running parameters of the target vehicle can be compared with the values of the running parameters corresponding to various fault codes to determine whether the target vehicle has a fault code corresponding to any candidate fault reason.

[0138] It should be noted that, during the fault code confirmation process, the running parameters related to the fault code can not be collected. At this time, the above two fault code confirmation methods can be combined for use.

[0139] 4. Pyke driver 204.

[0140] The Pyke driver 204 loads the Pyke inference engine 202 and calls the related rule files in the rule file library 203 to implement functions such as preliminary judgment of fault types and analysis of problem causes.

[0141] Specifically, the Pyke driver 204 first imports the Pyke inference engine 202.

[0142] The Pyke driver includes a forward reasoning module, which provides a main program call and is used to query a fault type matching the values of the running parameters from the rule file library based on the running parameters of the target vehicle. That is, the running parameters of the target vehicle are input, and the judgment result of the fault type is output, such as PreJudgeIssue='lostReady' fault.

[0143] The above query of the fault type matching the values of the running parameters from the rule file library based on the running parameters of the target vehicle specifically includes:

[0144] Traverse the running parameter combinations corresponding to various fault types in the rule file library (the fact base in the rule file library), and query from the collected running parameters whether there is a running parameter combination corresponding to any fault type;

[0145] When the running parameter combination corresponding to the fault type is queried, the fault type corresponding to the running parameter combination is determined as the fault type of the target vehicle.

[0146] It should be noted that the user can set the condition for ending the query, for example, stopping the query when the running parameter combination corresponding to any fault type is queried, or stopping the query after the running parameter combination corresponding to all fault types is queried, that is, stopping the query when the result is queried or stopping the query after all queries are completed.

[0147] The Pyke driver further comprises a reverse reasoning module, which provides a main program call for querying the candidate fault causes corresponding to the fault type and the fault codes corresponding to each candidate fault cause from the rule file library based on the queried fault type, and determining whether the target vehicle has a fault code corresponding to any candidate fault cause. That is, the input fault type is Failure_result='lostReady', and the possible fault cause of the fault type is Failure_cause='Thermal Fault', that is, the battery thermal management fault.

[0148] The above-mentioned querying the candidate fault causes corresponding to the fault type and the fault codes corresponding to each candidate fault cause from the rule file library further comprises:

[0149] According to the judgment order of the candidate fault causes corresponding to various fault types pre-stored in the rule file library (the reverse reasoning rule file in the rule file library), the judgment order of the candidate fault causes corresponding to the fault type is queried from the rule file library;

[0150] The above-mentioned determining whether the target vehicle has a fault code corresponding to any candidate fault cause comprises:

[0151] According to the judgment order, it is determined in turn whether the target vehicle has a fault code corresponding to the candidate fault, until it is determined that the target vehicle has a fault code corresponding to any candidate fault cause or it is determined that the target vehicle does not have a fault code corresponding to the candidate fault.

[0152] In a specific implementation, the stopping condition for determining whether the target vehicle has a fault code corresponding to the candidate fault can be set by the user, and since the fault cause corresponding to the vehicle fault is usually only one in the implementation process, the default setting is that when it is determined that the target vehicle has a fault code corresponding to any candidate fault cause, the subsequent confirmation work is no longer performed.

[0153] 5、User display module 205.

[0154] The vehicle diagnosis expert system provided by the embodiments of the present application can display various information such as system running state information, user input prompt, user input result display, reasoning running result display and the like through a python default command line in an interactive interface, as shown in Figure 3 The system displays user input prompts, i.e., whether the DTC diagnosis code exists, on the interactive interface, and the user inputs yes or no (y / n) according to the prompt information, and the system determines the next step according to the user input fault code confirmation information.

[0155] In addition to the display mode of the python default command line, the vehicle diagnosis expert system provided by the embodiments of the present application can also support third-party interface editing tools of python, such as PyQt GUI toolkits, to customize the system interactive interface.

[0156] Please refer to Figure 4 The process of vehicle fault diagnosis (i.e., the workflow of the vehicle diagnosis expert system) provided by the embodiments of the present application is described in detail as follows:

[0157] Step 401, receiving an instruction of performing fault diagnosis on a target vehicle.

[0158] Step 402, acquiring running parameters of the target vehicle.

[0159] Specifically, the running parameters of the target vehicle are collected and stored in a running parameter library (optionally), and a data reading module is called to read the running parameters of the target vehicle (from the running parameter library).

[0160] Step 403, loading a Pyke reasoning engine.

[0161] Step 404, reading a rule file in a rule file library (through the Pyke reasoning engine).

[0162] Step 405, determining whether the rule file is modified.

[0163] If the rule file is modified, step 406 is performed, and if the rule file is not modified, step 407 is performed.

[0164] Step 406, reacquiring the rule file stored in the rule file library and recompiling the rule file according to a preset format.

[0165] Step 407, calling a forward reasoning module to determine a fault type.

[0166] Specifically, the running parameter combinations of various fault types in a fact library file are read, and it is determined whether there is a combination corresponding to the running parameter combinations in the fact library from the read running parameters, so as to infer the possible fault type of the target vehicle.

[0167] Step 408, calling the reverse reasoning module to determine the fault cause, specifically including the following sub-steps:

[0168] Step 4081, calling the problem library file.

[0169] Determining the candidate fault causes corresponding to the fault type and the fault codes corresponding to each candidate fault cause from the problem library file, and feeding back the fault codes corresponding to each candidate fault cause to the user, so as to determine whether the target vehicle has the above fault codes.

[0170] Step 4082, receiving the fault code confirmation information input by the user.

[0171] Step 4083, determining the fault cause.

[0172] According to the fault code confirmation information input by the user, the fault cause corresponding to the fault code existing in the target vehicle is determined, and the fault cause is determined as the fault cause of the target vehicle.

[0173] Step 409, outputting the fault cause of the target vehicle.

[0174] Based on the same disclosed concept, the embodiments of the present application also provide a vehicle fault diagnosis device. Since the device is the device in the method of the embodiments of the present application, and the principles of solving problems of the device are similar to those of the method, the implementation of the device can be referred to the implementation of the method, and the repeated parts will not be described here.

[0175] Figure 5 For the structure diagram of a vehicle fault diagnosis device provided by the embodiments of the present application, please refer to Figure 5 The embodiments of the present application provide a vehicle fault diagnosis device, which comprises:

[0176] The collection module 501 is configured to receive an instruction of diagnosing a fault of a target vehicle, and collect an operation parameter of the target vehicle.

[0177] The query module 502 is configured to query a fault type matching the value of the operation parameter from a database based on the operation parameter of the target vehicle.

[0178] The fault code determination module 503 is configured to query candidate fault causes corresponding to the fault type and fault codes corresponding to each candidate fault cause from the database based on the queried fault type, and determine whether the target vehicle has a fault code corresponding to any candidate fault cause.

[0179] The fault cause determination module 504 is configured to determine the candidate fault cause corresponding to the fault code as the fault cause of the target vehicle when the target vehicle has a fault code corresponding to any candidate fault cause.

[0180] Optionally, the database stores combinations of operating parameters corresponding to various fault types, and the query module 502 is configured to query, based on the operating parameters of the target vehicle, from the database, a fault type matching the values of the operating parameters, including:

[0181] traversing the combinations of operating parameters corresponding to various fault types in the database, and querying whether there is a combination of operating parameters corresponding to any fault type in the collected operating parameters;

[0182] when a combination of operating parameters corresponding to a fault type is queried, determining the fault type corresponding to the queried combination of operating parameters as the fault type of the target vehicle.

[0183] Optionally, when the fault code determination module 503 is configured to query, from the database, candidate fault causes corresponding to the fault type and fault codes corresponding to each candidate fault cause, the fault code determination module 503 further includes:

[0184] querying, from the database, a judgment order of candidate fault causes corresponding to the fault type according to the judgment order of candidate fault causes corresponding to various fault types pre-stored in the database;

[0185] determining whether the target vehicle has a fault code corresponding to any candidate fault cause, including:

[0186] according to the judgment order, sequentially determining whether the target vehicle has a fault code corresponding to the candidate fault, until determining that the target vehicle has a fault code corresponding to any candidate fault cause or determining that the target vehicle does not have a fault code corresponding to the candidate fault.

[0187] Optionally, the fault code determination module 503 is configured to determine whether the target vehicle has a fault code corresponding to any candidate fault cause, including at least one of the following steps:

[0188] by comparing the values of the operating parameters of the target vehicle with the values of the operating parameters corresponding to various fault codes, determining whether the target vehicle has a fault code corresponding to any candidate fault cause;

[0189] by feeding back the fault codes corresponding to each candidate fault cause to the user, receiving fault code confirmation information input by the user, and determining whether the target vehicle has a fault code corresponding to any candidate fault cause.

[0190] Optionally, the collection module 501 is further configured to, after collecting the operating parameters of the target vehicle:

[0191] determining whether the database has been modified;

[0192] Determine that the database is modified, reacquire the data stored in the database and compile according to the preset format.

[0193] Optionally, the fault code determination module 503 is further configured to:

[0194] When it is determined that the target vehicle does not have the fault code corresponding to the candidate fault, the user is fed back the fault information that the fault of the target vehicle is not detected.

[0195] Based on the same disclosure concept, the present application also provides a vehicle fault diagnosis device. Since the device is the device in the method of the present application, and the device solves the problem in a similar way to the method, the implementation of the device can be referred to the implementation of the method, and the repeated parts will not be described here.

[0196] Those skilled in the art can understand that each aspect of the present application can be implemented as a system, a method or a program product. Therefore, each aspect of the present application can be specifically implemented as a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software aspects, which can be collectively referred to as "circuit", "module" or "system" here.

[0197] In some possible implementation, the device according to the present application can include at least one processor and at least one memory. The memory stores program code, and when the program code is executed by the processor, the processor executes the steps of the vehicle fault diagnosis method according to various exemplary embodiments of the present application described above in the specification.

[0198] The device 600 according to this embodiment of the present application will be described below with reference to Figure 6 . Figure 6 The device 600 shown is only an example, and should not limit the functions and use range of the embodiments of the present application.

[0199] As Figure 6 shown, the device 600 is in the form of a general device. The components of the device 600 can include but are not limited to the above-mentioned at least one processor 601, the above-mentioned at least one memory 602, a bus 603 connecting different system components (including the memory 602 and the processor 601), wherein the memory stores program code, and when the program code is executed by the processor, the processor executes the following steps:

[0200] Receiving an instruction to diagnose the fault of the target vehicle, collecting the operating parameters of the target vehicle;

[0201] query, from the database, a fault type matching a value of the operation parameter of the target vehicle;

[0202] based on the queried fault type, query, from the database, a candidate fault cause corresponding to the fault type and a fault code corresponding to each candidate fault cause, and determine whether the target vehicle has the fault code corresponding to any candidate fault cause;

[0203] when it is determined that the target vehicle has the fault code corresponding to any candidate fault cause, determine the candidate fault cause corresponding to the fault code as the fault cause of the target vehicle.

[0204] Bus 603 represents one or more of several possible bus structures, including a memory bus or memory controller, a peripheral bus, a processor or local bus using any of a variety of bus architectures.

[0205] Memory 602 can include read-only memory (ROM) 6023 in the form of flash memory or other suitable technology, and can also include random access memory (RAM) 6021 and / or cache memory 6022 in the form of volatile memory.

[0206] Memory 602 can also include, inter alia, a program / utility 6025 having a set (at least one) of program modules 6024, including an operating system and microinstruction code (which can be included in firmware, such as in an EFI storage of a first class (02F1) of the computer). Each of the operating systems, one or more application programs, other program modules, and program data can include an implementation for a networking environment. Program modules 6024 generally carry out the functions and / or methodologies of embodiments of the application as described herein.

[0207] Device 600 can also communicate with one or more external devices 604 such as a keyboard or pointing device, through I / O interface 605. Device 600 can also communicate to one or more devices that enable user interaction with device 600, such as a display, through I / O interface 605. Additionally, device 600 can communicate with one or more devices that enable communications of device 600 with other devices, such as a router, modem, etc. through network adapter 606. Device 600 can communicate to one or more networks such as a local area network (LAN), a wide area network (WAN), and / or the Internet through network adapter 606. As depicted, network adapter 606 communicates to the other components of device 600 through bus 603. It should be understood that although not shown, other hardware and / or software components could be used in conjunction with device 600. These include, but are not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems, etc.

[0208] Optionally, the database stores combinations of operating parameters corresponding to various fault types, and the processor is configured to query, from the database, a fault type corresponding to a value of the operating parameter of the target vehicle, including:

[0209] traversing the combinations of operating parameters corresponding to various fault types in the database, and querying whether there is a combination of operating parameters corresponding to any fault type in the collected operating parameters;

[0210] when a combination of operating parameters corresponding to a fault type is queried, determining the fault type corresponding to the queried combination of operating parameters as the fault type of the target vehicle.

[0211] Optionally, when the processor queries, from the database, candidate fault causes corresponding to the fault type and fault codes corresponding to each candidate fault cause, the processor further includes:

[0212] querying, from the database, an order of determining candidate fault causes corresponding to the fault type according to an order of determining candidate fault causes corresponding to various fault types pre-stored in the database;

[0213] determining whether the target vehicle has a fault code corresponding to any candidate fault cause, including:

[0214] according to the order, sequentially determining whether the target vehicle has a fault code corresponding to the candidate fault, until determining that the target vehicle has a fault code corresponding to any candidate fault cause or determining that the target vehicle does not have a fault code corresponding to the candidate fault.

[0215] Optionally, the processor determines whether the target vehicle has a fault code corresponding to any candidate fault cause by at least one of the following steps:

[0216] by comparing values of the operating parameters of the target vehicle with values of operating parameters corresponding to various fault codes, determining whether the target vehicle has a fault code corresponding to any candidate fault cause;

[0217] by feeding back the fault codes corresponding to each candidate fault cause to the user, receiving fault code confirmation information input by the user, and determining whether the target vehicle has a fault code corresponding to any candidate fault cause.

[0218] Optionally, after the processor collects the operating parameters of the target vehicle, the processor further includes:

[0219] determining whether the database has been modified;

[0220] when it is determined that the database has been modified, re-acquiring data stored in the database and compiling the data according to a preset format.

[0221] Optionally, after the processor determines whether the target vehicle has a fault code corresponding to any candidate fault cause, the processor further determines whether the target vehicle has a fault code corresponding to any candidate fault cause, and if not, the processor feeds back fault information that the target vehicle has no fault to the user.

[0222] When it is determined that the target vehicle has no fault code corresponding to the candidate fault, the processor feeds back fault information that the target vehicle has no fault to the user.

[0223] In some possible implementation, various aspects of the vehicle fault diagnosis method provided by the present application can also be implemented in the form of a program product, which includes program codes for causing a computer device to perform the steps of the vehicle fault diagnosis method according to various exemplary embodiments of the present application described above in the specification when the program product is run on the computer device.

[0224] The program product can adopt any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium may, for example, be but is not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or apparatus, or any combination thereof. More specific examples (a non-exhaustive list) of the readable storage medium include an electrical connection having one or more wires, a portable disc, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.

[0225] The program product for monitoring of the embodiments of the present application can adopt a portable compact disc read-only memory (CD-ROM) and include program codes, and can be run on a device. However, the program product of the present application is not limited thereto, and in the present document, the readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, device or apparatus.

[0226] The readable signal medium can include a data signal carried in a baseband or as a part of a carrier wave, in which readable program codes are borne. Such a propagated data signal can take on many forms, including but not limited to electro-magnetic signal, optical signal or any suitable combination thereof. The readable signal medium can also be any readable medium that is not a readable storage medium and that can transmit, propagate or transport program for use by or in connection with an instruction execution system, device or apparatus.

[0227] The program codes contained on the readable medium can be transmitted by any suitable medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination thereof.

[0228] The program code, when executed, can implement the processes that are discussed herein in connection with the provision of the methodologies discussed herein. The various operations of methods according to embodiments of the application can be performed, at least partially, by one or more processors that are temporarily configured (e.g., by a software application) by one or more computer programs. Program code can be implemented in any of one or more programming languages, including an object-oriented programming language such as Java, C++, or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's device, partly on the user's device, as a stand-alone software package, partly on the user's device and partly on a remote device or entirely on the remote device or server. In the latter scenario, the remote device can be connected to the user's device through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external device (for example, through the Internet using an Internet Service Provider). The application is related to the use of computer program code, some or all of which can be implemented in an apparatus such as a general purpose computer, a server, a client or a combination of both or in any other computing device. One should appreciate the application can be implemented in software and / or in firmware in any general purpose computer or server and / or in a predetermined control logic, software modules or any other computer programs executed on such a computer or server. Any of the disclosed computer functional programs, routines, methods or techniques can be implemented in a special purpose computer, a server or other computing device or any other programmable processing apparatus to produce the machine, such that the computer functional programs, routines, methods or techniques, when executed by the processing apparatus, enable the processing apparatus to implement the functions / acts specified in the flowcharts and / or block diagrams.

[0229] It should be noted that, although in the foregoing detailed description several units or sub-units of the apparatus are mentioned, such division is merely exemplary and not mandatory. Indeed, according to an embodiment of the application, the features and functionalities of two or more units described above can be embodied in one unit. Conversely, the features and functionalities of one unit described above can be further divided into several units.

[0230] Moreover, although the operations of the method(s) herein can be described in a particular, sequential order, this order is not meant to be a limitation and is not intended to imply that the described operations must be performed in the order described nor that all operations must be performed. Certain steps can be performed in an order other than the described order, or can be performed concurrently with one another. Additionally or alternatively, certain steps can be combined with one another, divided into further steps, or omitted into other steps without departing from the scope of the application.

[0231] As will be appreciated by one skilled in the art, embodiments of the present application can be provided as a method, system, or computer program product. Accordingly, the present application can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application can take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROMs, optical storage devices, and the like) embodying computer readable program code. A detailed description of one or more embodiments of the application is provided above.

[0232] The computer program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.Figure 1 one or more processes and blocks Figure 1 one or more blocks that carry out a function specified in the flow

[0233] These computer program instructions can also be stored in a computer- readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the Figure 1 one or more processes and blocks Figure 1 one or more blocks that carry out a function specified in the flow

[0234] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the Figure 1 one or more processes and blocks Figure 1 one or more blocks that carry out a function specified in the flow

[0235] While the preferred embodiments of the application have been described, additional variations and modifications can be made to the embodiments by those skilled in the art once they learn of the basic inventive concepts. Therefore, the appended claims are intended to cover all such additional variations and modifications as fall within the scope of the application.

[0236] Obviously, numerous modifications and variations of the present application are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims and their equivalents, the application can be practiced otherwise than as specifically described.

Claims

1. A vehicle fault diagnosis method, characterized in that, include: Receive instructions to diagnose faults in the target vehicle and collect the operating parameters of the target vehicle; Iterate through the database for the combinations of operating parameters corresponding to various fault types, and query the collected operating parameters to see if there is an operating parameter combination that corresponds to any fault type; when an operating parameter combination that corresponds to a fault type is found, the fault type corresponding to the found operating parameter combination is determined as the fault type of the target vehicle. Based on the queried fault type, the database is used to query the candidate fault causes corresponding to the fault type and the fault codes corresponding to each candidate fault cause. The database also includes a problem database file, which contains fault codes corresponding to each type of fault. The system determines whether the target vehicle has a fault code corresponding to any candidate fault cause by at least one of the following steps: comparing the values ​​of the operating parameters of the target vehicle with the values ​​of the operating parameters corresponding to various fault codes to determine whether the target vehicle has a fault code corresponding to any candidate fault cause; and feeding back the fault codes corresponding to each candidate fault cause to the user and receiving the fault code confirmation information input by the user to determine whether the target vehicle has a fault code corresponding to any candidate fault cause. When it is determined that the target vehicle has a fault code corresponding to any candidate fault cause, the candidate fault cause corresponding to the fault code is determined as the fault cause of the target vehicle.

2. The method according to claim 1, characterized in that, When querying the database for candidate fault causes corresponding to the fault type and fault codes corresponding to each candidate fault cause, the process further includes: Based on the judgment order of candidate fault causes corresponding to various fault types pre-stored in the database, the judgment order of candidate fault causes corresponding to the fault type is queried from the database. Determining whether the target vehicle has a fault code corresponding to any candidate fault cause includes: According to the judgment order, it is determined in turn whether the target vehicle has a fault code corresponding to the candidate fault, until it is determined that the target vehicle has a fault code corresponding to any candidate fault cause or that the target vehicle does not have a fault code corresponding to the candidate fault.

3. The method according to claim 1, characterized in that, After collecting the operating parameters of the target vehicle, the following is also included: Determine whether the database has been modified; If the database is found to have been modified, the data stored in the database is retrieved again and compiled according to a preset format.

4. The method according to claim 1, characterized in that, After determining whether the target vehicle has a fault code corresponding to any candidate fault cause, the method further includes: If it is determined that the target vehicle does not have a fault code corresponding to the candidate fault, feedback is sent to the user that no fault information was detected in the target vehicle.

5. A vehicle fault diagnosis device, characterized in that, include: The data acquisition module is used to receive instructions for fault diagnosis of the target vehicle and to acquire the operating parameters of the target vehicle. The query module is used to traverse the combination of operating parameters corresponding to various fault types in the database, and query whether there is a combination of operating parameters corresponding to any fault type from the collected operating parameters; when a combination of operating parameters corresponding to a fault type is found, the fault type corresponding to the found combination of operating parameters is determined as the fault type of the target vehicle. The fault code determination module is used to query the database for candidate fault causes corresponding to the fault type and fault codes corresponding to each candidate fault cause based on the queried fault type. The database also includes a problem database file, which includes fault codes corresponding to various fault types. The system determines whether the target vehicle has a fault code corresponding to any candidate fault cause by at least one of the following steps: comparing the values ​​of the operating parameters of the target vehicle with the values ​​of the operating parameters corresponding to various fault codes to determine whether the target vehicle has a fault code corresponding to any candidate fault cause; and feeding back the fault codes corresponding to each candidate fault cause to the user and receiving the fault code confirmation information input by the user to determine whether the target vehicle has a fault code corresponding to any candidate fault cause. The fault cause determination module is used to determine the candidate fault cause corresponding to any candidate fault cause as the fault cause of the target vehicle when the target vehicle has a fault code corresponding to any candidate fault cause.

6. A vehicle fault diagnosis device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 4.

7. A computer-readable storage medium having computer program instructions stored thereon, characterized in that, When executed by a processor, the computer program instructions implement the steps of the method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Vehicle fault diagnosis method

    CN108958227A

  • Fault diagnosis method and device and electronic equipment

    CN114330138A