System and method for generating a diagnostic routine for a vehicle fault based on the most likely cause

By identifying the diagnostic trouble codes of vehicle faults and their associated costs and probabilities, and using the optimal and suboptimal diagnostic program modules to determine the sequence of diagnostic steps, the problems of high cost and low efficiency in the vehicle fault diagnosis process are solved, and efficient and economical fault diagnosis is achieved.

CN115407743BActive Publication Date: 2025-09-30GM GLOBAL TECHNOLOGY OPERATIONS LLC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202210595683.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-05-28
Filing Date
2022-05-27
Publication Date
2025-09-30
Estimated Expiration
2042-05-27

AI Technical Summary

Technical Problem

In the prior art, the vehicle fault diagnosis process may result in high costs and low efficiency, especially when there are multiple diagnostic fault codes. Technicians need to perform unnecessary tasks and cannot solve the problem at the lowest cost and in the fastest time.

Method used

A diagnostic trouble code for a fault is identified through a diagnostic step module, associated costs and probabilities are identified, and a sequence of diagnostic steps is determined using an optimal diagnostic procedure module and a suboptimal diagnostic procedure module to minimize fault diagnosis cost and time.

Benefits of technology

It achieves the diagnosis of the root cause of vehicle failure at the lowest cost and shortest time, improves diagnostic efficiency and economy, and reduces unnecessary task execution.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115407743B_ABST
    Figure CN115407743B_ABST
Patent Text Reader

Abstract

The present invention relates to a system and method for generating a diagnostic procedure for a vehicle fault based on the most likely cause. The system includes a diagnostic steps module and an optimal diagnostic procedure module. The diagnostic steps module is configured to identify diagnostic steps of a repair procedure to be performed to diagnose the root cause of the fault on the vehicle based on a diagnostic trouble code identified for the fault, and to identify a cost associated with performing each of the diagnostic steps. The optimal diagnostic procedure module is configured to determine an order in which to perform the diagnostic steps to minimize the cost of diagnosing the fault and to output an optimal diagnostic procedure indicating the diagnostic steps and the order in which to perform the diagnostic steps.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application is related to U.S. Patent Application No. [17 / 333,344] (Attorney Docket No. P054062-US-NP), filed on [same date], entitled “System and Method for Determining Most Probable Cause of Vehicle Fault Using Multiple Diagnostic Techniques.” The entire disclosure of the above-referenced application is incorporated herein by reference.

[0003] introduction

[0004] The information provided in this section is for the purpose of generally presenting the context of the present disclosure. To the extent described in this section, the works of the presently named inventors and aspects of the description that may not constitute prior art at the time of filing are neither explicitly nor impliedly admitted to be prior art to the present disclosure. Technical Field

[0005] The present disclosure relates to systems and methods for generating a diagnostic routine for a vehicle fault based on a most probable cause. Background Art

[0006] The vehicle's controller typically sets a diagnostic trouble code and activates a service indicator (e.g., a check engine light) when there is a problem with the vehicle. The controller determines that there is a problem with the vehicle when one or more operating parameters of the vehicle are within a predetermined range. The service indicator notifies the vehicle user to take the vehicle to a repair shop for service. A service technician connects a service tool to the controller to retrieve the set diagnostic trouble code and identifies the problem based on the diagnostic trouble code. Summary of the Invention

[0007] An example system according to the present disclosure includes a diagnostic steps module and an optimal diagnostic procedure module. The diagnostic steps module is configured to identify diagnostic steps of a repair procedure to be performed to diagnose the root cause of a fault on a vehicle based on a diagnostic trouble code identified for the fault, and to identify a cost associated with performing each of the diagnostic steps. The optimal diagnostic procedure module is configured to determine an order in which to perform the diagnostic steps to minimize the cost of diagnosing the fault and to output an optimal diagnostic procedure indicating the diagnostic steps and the order in which to perform the diagnostic steps.

[0008] In one aspect, the diagnostic step module is configured to identify a plurality of preparatory steps in common with each other in the diagnostic steps, and the optimal diagnostic procedure module is configured to determine an order in which to perform the diagnostic steps based on the common preparatory steps.

[0009] In one aspect, the diagnostic steps module is configured to identify those of the diagnostic steps that are prerequisites to other diagnostic steps, and the optimal diagnostic procedure module is configured to determine an order in which to perform the diagnostic steps based on the prerequisite diagnostic steps.

[0010] In one aspect, if the diagnostic step involves replacing a part on the vehicle, the diagnostic step module is configured to include the cost of the part in the cost of performing the diagnostic step.

[0011] In one aspect, the optimal diagnostic procedure module is configured to determine an order in which to perform the diagnostic steps based on a cost of performing the diagnostic steps and a probability that performing the diagnostic steps will resolve the fault.

[0012] In one aspect, the service routine groups diagnostic steps into tests, and the optimal diagnostic routine module is configured to determine an order in which to perform the tests to minimize the cost of diagnosing the fault.

[0013] In one aspect, the optimal diagnostic procedure module is configured to: select different tests from among the tests to be performed first; determine the cost of performing the diagnostic steps of the selected test; determine the minimum cost of performing the diagnostic steps of each of the other tests; determine the sum of the cost of performing the diagnostic steps of the selected test and the minimum cost of performing the diagnostic steps of the other tests; and set the order in which the tests are performed so that the selected test is performed first when the sum is less than the sum of the cost of performing any one of the other tests first and the minimum cost of performing the selected test and the remainder of the other tests.

[0014] Another example of a system according to the present disclosure includes a diagnostic step module and a suboptimal diagnostic procedure module. The diagnostic step module is configured to identify a diagnostic step of a repair procedure to be performed to diagnose the root cause of a fault on a vehicle based on a diagnostic trouble code identifying the fault. The suboptimal diagnostic procedure module is configured to: divide the diagnostic steps into groups based on a probability associated with each of the diagnostic steps; determine an order in which to perform the diagnostic steps in each of the groups and an order in which to perform the diagnostic steps of each group based on the probability of the diagnostic steps in each of the groups; and output a suboptimal diagnostic procedure indicating the diagnostic steps and the order in which to perform the diagnostic steps. The probability indicates the likelihood that performing the corresponding diagnostic step will resolve the fault.

[0015] In one aspect, the diagnostic steps module is configured to identify a cost associated with performing each of the diagnostic steps, and for each of the groups, the suboptimal diagnostic procedure module is configured to determine an order for performing the diagnostic steps to minimize the cost of diagnosing the fault.

[0016] In one aspect, for each of the groups, the suboptimal diagnostic procedure module is configured to determine an order in which to perform the diagnostic steps based on a cost of performing the diagnostic steps and a probability that performing the diagnostic steps will resolve the fault.

[0017] In one aspect, the suboptimal diagnostic procedure module is configured to divide the diagnostic steps into groups based on the probabilities of the diagnostic steps and a predetermined group size.

[0018] In one aspect, the suboptimal diagnostic procedure module is configured to identify preconditions for diagnostic steps and to divide the diagnostic steps into groups based on their probabilities while ensuring that all preconditions for each of the groups are met.

[0019] In one aspect, the suboptimal diagnostic procedure module is configured to: rank diagnostic steps based on their probabilities; divide the diagnostic steps into groups based on the rankings; and adjust the rankings so that all preconditions of each of the groups are satisfied.

[0020] Another example of a system according to the present disclosure includes a diagnostic step module and a suboptimal diagnostic procedure module. The diagnostic step module is configured to identify a diagnostic step of a repair procedure to be performed to diagnose the root cause of a fault on a vehicle based on a diagnostic trouble code of the identified fault. The suboptimal diagnostic procedure module is configured to: identify preconditions for the diagnostic step; divide the diagnostic steps into groups based on the preconditions; determine an order in which to perform the diagnostic steps in each of the groups and an order in which to perform the diagnostic steps in each group based on a probability associated with each of the diagnostic steps; and output a suboptimal diagnostic procedure indicating the diagnostic steps and the order in which to perform the diagnostic steps. The probability indicates the likelihood that performing the corresponding diagnostic step will resolve the fault.

[0021] In one aspect, the diagnostic steps module is configured to determine a cost associated with performing each of the diagnostic steps, and for each of the groups, the suboptimal diagnostic procedure module is configured to determine an order in which to perform the diagnostic steps to minimize the cost of diagnosing the fault.

[0022] In one aspect, the suboptimal diagnostic procedure module is configured to divide the diagnostic steps into subgroups such that all diagnostic steps having the same precondition are in the same subgroup.

[0023] In one aspect, the suboptimal diagnostic procedure module is configured to determine a probability that executing each of the diagnostic steps in the subset will resolve the fault based on the probability of each of the diagnostic steps in the subset, and to determine an order in which to execute the diagnostic steps of the subsets based on the probabilities of the subsets.

[0024] In one aspect, the suboptimal diagnostic procedure module is configured to divide subsets of diagnostic steps into groups such that at least one of: (i) the difference between the probability of the first subset in each of the groups and the probability of the first subset in the next group is greater than a first threshold, and (ii) the ratio of the probability of the first subset in each of the groups to the probability of the first subset in the previous group is less than a second threshold.

[0025] In one aspect, the diagnostic steps module is configured to identify a cost associated with performing each of the diagnostic steps, and the suboptimal diagnostic procedure module is configured to determine a cost associated with each subgroup based on the cost of performing each of the diagnostic steps in the subgroup, and to determine an order in which to perform the diagnostic steps of each subgroup based on the probabilities of the subgroups and the costs of the subgroups.

[0026] In one aspect, the suboptimal diagnostic procedure module is configured to rank each subgroup based on a product of the probability of the subgroup and the cost of the subgroup and determine an order to perform diagnostic steps for each subgroup based on the ranking of the subgroups.

[0027] The present invention provides the following technical solutions.

[0028] Technical Solution 1. A system comprising:

[0029] A diagnostic step module configured to:

[0030] identifying diagnostic steps of a repair procedure to be performed based on the diagnostic trouble code identifying the fault to diagnose a root cause of the fault on the vehicle; and

[0031] identifying a cost associated with performing each of said diagnostic steps; and

[0032] An optimal diagnostics module configured to:

[0033] determining an order for performing the diagnostic steps to minimize the cost of diagnosing the fault; and

[0034] An optimal diagnostic program is output, the optimal diagnostic program indicating the diagnostic steps and an order in which the diagnostic steps are performed.

[0035] Technical Solution 2. The system according to Technical Solution 1, wherein:

[0036] The diagnosis step module is configured to identify a plurality of common preparatory steps in the diagnosis steps; and

[0037] The optimal diagnostic procedure module is configured to determine an order in which to perform the diagnostic steps based on the common preparation steps.

[0038] Technical Solution 3. The system according to Technical Solution 1, wherein:

[0039] The diagnostic steps module is configured to identify those of the diagnostic steps that are prerequisites to other of the diagnostic steps; and

[0040] The optimal diagnostic procedure module is configured to determine an order in which to perform the diagnostic steps based on the prerequisite diagnostic steps.

[0041] Technical Solution 4. The system according to Technical Solution 1, wherein, if the diagnostic step involves replacing a part on the vehicle, the diagnostic step module is configured to include the cost of the part in the cost of performing the diagnostic step.

[0042] Technical Solution 5. The system according to Technical Solution 1, wherein the optimal diagnostic procedure module is configured to determine the order in which the diagnostic steps are executed based on the cost of executing the diagnostic steps and the probability that executing the diagnostic steps will resolve the fault.

[0043] Technical Solution 6. The system according to Technical Solution 1, wherein:

[0044] The maintenance procedure groups the diagnostic steps into tests; and

[0045] The optimal diagnostic procedure module is configured to determine an order in which to perform the tests to minimize the cost of diagnosing the fault.

[0046] Technical Solution 7. The system according to Technical Solution 6, wherein the optimal diagnostic program module is configured to:

[0047] selecting a different one of said tests to be performed first;

[0048] determining a cost of performing said diagnostic step of said selected test;

[0049] determining a minimum cost of performing said diagnostic step for each of said other tests;

[0050] determining a sum of the cost of performing the diagnostic step of the selected test and the minimum cost of performing the diagnostic steps of the other tests; and

[0051] The order in which the tests are executed is set so that the selected test is executed first when the sum is less than the sum of the cost of executing any one of the other tests first and the minimum cost of executing the selected test and the rest of the other tests.

[0052] Technical Solution 8. A system comprising:

[0053] a diagnostic step module configured to identify a diagnostic step of a service procedure to be performed to diagnose a root cause of the fault on the vehicle based on a diagnostic trouble code identifying the fault; and

[0054] A suboptimal diagnostic program module configured to:

[0055] dividing the diagnostic steps into groups based on a probability associated with each of the diagnostic steps, wherein the probability indicates a likelihood that performing the corresponding diagnostic step will resolve the fault;

[0056] determining an order in which to perform the diagnostic steps in each of the groups and an order in which to perform the diagnostic steps of the groups based on the probabilities of the diagnostic steps for each of the groups; and

[0057] A suboptimal diagnostic routine is output that indicates the diagnostic steps and an order in which to perform the diagnostic steps.

[0058] Technical Solution 9. The system according to Technical Solution 8, wherein:

[0059] The diagnostic steps module is configured to identify a cost associated with performing each of the diagnostic steps; and

[0060] For each of the groups, the suboptimal diagnostic procedure module is configured to determine an order for performing the diagnostic steps to minimize the cost of diagnosing the fault.

[0061] Technical Solution 10. A system according to Technical Solution 9, wherein, for each of the groups, the suboptimal diagnostic program module is configured to determine the order in which the diagnostic steps are executed based on the cost of executing the diagnostic steps and the probability that executing the diagnostic steps will resolve the fault.

[0062] Technical Solution 11. The system according to Technical Solution 8, wherein the suboptimal diagnostic program module is configured to divide the diagnostic steps into the groups based on the probabilities of the diagnostic steps and a predetermined group size.

[0063] Technical Solution 12. A system according to Technical Solution 8, wherein the suboptimal diagnostic program module is configured to identify the prerequisites of the diagnostic steps and divide the diagnostic steps into the groups based on the probabilities of the diagnostic steps, while ensuring that all the prerequisites of each of the groups are met.

[0064] Technical Solution 13. The system according to Technical Solution 12, wherein the suboptimal diagnostic program module is configured to:

[0065] ranking the diagnostic steps based on their probabilities;

[0066] dividing the diagnostic steps into the groups based on the ranking; and

[0067] The ranking is adjusted so that all of the preconditions for each of the groups are satisfied.

[0068] Technical Solution 14. A system comprising:

[0069] a diagnostic step module configured to identify a diagnostic step of a service procedure to be performed to diagnose a root cause of the fault on the vehicle based on a diagnostic trouble code identifying the fault; and

[0070] A suboptimal diagnostic program module configured to:

[0071] determining the prerequisites for the diagnostic steps;

[0072] dividing the diagnostic steps into the groups based on the preconditions;

[0073] determining an order in which to perform the diagnostic steps in each of the groups and an order in which to perform the diagnostic steps in the groups based on a probability associated with each of the diagnostic steps, wherein the probability indicates a likelihood that performing the corresponding diagnostic step will resolve the fault; and

[0074] A suboptimal diagnostic routine is output that indicates the diagnostic steps and an order in which to perform the diagnostic steps.

[0075] Technical Solution 15. The system according to Technical Solution 14, wherein:

[0076] The diagnostic steps module is configured to determine a cost associated with performing each of the diagnostic steps; and

[0077] For each of the groups, the suboptimal diagnostic procedure module is configured to determine an order for performing the diagnostic steps to minimize the cost of diagnosing the fault.

[0078] Technical Solution 16. The system according to Technical Solution 14, wherein the suboptimal diagnostic program module is configured to divide the diagnostic steps into subgroups such that all the diagnostic steps with the same prerequisite are in the same subgroup.

[0079] Technical Solution 17. The system according to Technical Solution 16, wherein the suboptimal diagnostic program module is configured to:

[0080] determining a probability that performing each of the diagnostic steps in the subset will resolve the fault based on the probability of each of the diagnostic steps in the subset; and

[0081] An order in which the diagnostic steps of the subset are performed is determined based on the probabilities of the subset.

[0082] Technical Solution 18. The system according to Technical Solution 17, wherein the suboptimal diagnostic program module is configured to divide the diagnostic steps of the subset into the groups so that at least one of the following:

[0083] A difference between the probability of a first subset in each of the groups and the probability of the first subset in the next group is greater than a first threshold; and

[0084] A ratio of the probability of the first subgroup in each of the groups to the probability of the first subgroup in the previous group is less than a second threshold.

[0085] Technical Solution 19. The system according to Technical Solution 18, wherein:

[0086] The diagnostic steps module is configured to identify a cost associated with performing each of the diagnostic steps; and

[0087] The suboptimal diagnostics module is configured to:

[0088] determining the cost associated with each of the subset based on the cost of performing each of the diagnostic steps in the subset; and

[0089] An order in which the diagnostic steps of the subset are performed is determined based on the probabilities of the subset and the costs of the subset.

[0090] Technical Solution 20. The system according to Technical Solution 19, wherein the suboptimal diagnostic program module is configured to:

[0091] ranking each of the subgroups based on a product of the probability of the subgroup and the cost of the subgroup; and

[0092] An order in which the diagnostic steps of the subgroups are performed is determined based on the ranking of the subgroups.

[0093] Further areas of applicability of the present disclosure will become apparent from the detailed description, claims and drawings.The detailed description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0094] The present disclosure will become more fully understood from the detailed description and accompanying drawings, in which:

[0095] Figure 1 is a functional block diagram of an example vehicle and an example diagnostic system according to the present disclosure;

[0096] Figure 2 is a functional block diagram of an example diagnostic program module according to the present disclosure;

[0097] Figure 3 is a flow chart illustrating an example method of identifying diagnostic steps, costs of diagnostic steps, and relationships between diagnostic steps according to the principles of the present disclosure;

[0098] Figure 4 is a table containing example diagnostic steps, example relationships between diagnostic steps, example labor codes corresponding to the diagnostic steps, and example costs of the diagnostic steps according to the present disclosure;

[0099] Figure 5 is included according to the present disclosure Figure 4 A table of example labor codes and example probabilities of the labor codes;

[0100] Figure 6 It is a diagram according to the present disclosure Figure 4 a flowchart of example diagnostic step costs and relationships and example probabilities of diagnostic steps;

[0101] Figure 7 is a flow chart illustrating an example method of determining an optimal diagnostic procedure according to the present disclosure; and

[0102] Figure 8 and Figure 9 is a flow chart illustrating an example method of determining a suboptimal diagnostic procedure according to the present disclosure.

[0103] In the drawings, reference numerals may be repeated to identify similar and / or identical elements. DETAILED DESCRIPTION

[0104] Vehicle manufacturers typically create a repair procedure for each diagnostic trouble code, which may be specific to each vehicle model. Each repair procedure contains a list of tasks to be performed to resolve the problem identified by the corresponding diagnostic trouble code, along with a labor code identifying the task. In many cases, a vehicle controller may set more than one diagnostic trouble code. In these cases, a service technician must perform each repair procedure until the problem is resolved. This approach may result in performing certain tasks with a lower probability of resolving the problem than other tasks and may not be an efficient method for diagnosing problems.

[0105] Diagnostic technologies have been developed to help repair technicians diagnose problems on vehicles more efficiently, rather than simply performing a repair procedure corresponding to a (multiple) diagnostic trouble code that identifies the problem. For example, U.S. Patent Publication No. 2020 / 0184742 describes a method for diagnosing vehicle faults that involves using field repair data and machine learning to determine the probability of a vehicle fault. Each vehicle fault can be identified by performing one of the tasks identified by the labor code. Therefore, one can rank the labor codes according to their corresponding probabilities to obtain diagnostic procedures. However, doing so may not diagnose the vehicle fault in the lowest cost manner.

[0106] The system and method according to the present disclosure identifies diagnostic steps of a repair procedure to be performed to diagnose a vehicle fault and identifies the costs and probabilities of the diagnostic steps. The system and method then uses the costs and probabilities of the diagnostic steps to determine the order in which to perform the diagnostic steps to minimize the cost of diagnosing the vehicle fault. The costs of the diagnostic steps may include labor costs and parts costs. By considering the costs of the diagnostic steps when determining the order in which to perform the diagnostic steps, the system and method obtains a diagnostic procedure that diagnoses the vehicle fault in a cost-effective manner.

[0107] Now refer to Figure 1 The vehicle 10 includes an engine 12, a transmission 14, a front differential 16, a rear differential 18, wheels 20, friction brakes 22, a fuel system 24, a heating, ventilation, and air conditioning (HVAC) system 26, and an exhaust system 28. The engine 12 combusts a mixture of air and fuel to generate drive torque. The transmission 14 transfers the torque generated by the engine 12 to the front differential 16 and the rear differential 18 at multiple gear ratios.

[0108] The front differential 16 transfers torque from the transmission 14 to the front wheels 20 of the vehicle 10 while allowing the front wheels 20 to rotate at different speeds. The rear differential 18 transfers torque from the transmission 14 to the rear wheels 20 of the vehicle 10 while allowing the rear wheels 20 to rotate at different speeds. When the friction brakes 22 are applied, the friction brakes 22 reduce the speed of the vehicle 10. In the example shown, the friction brakes 22 are disc brakes, and each friction brake 22 includes a rotor 30 at a caliper 32. When the friction brakes 22 are applied, the caliper 32 presses a pair of brake pads (not shown) against the rotor 30 to generate friction and thereby reduce the rotational speed of the wheels 20. The friction brakes 22 collectively constitute the braking system of the vehicle 10.

[0109] Fuel system 24 supplies fuel to engine 12. HVAC system 26 regulates the temperature of the air within cabin 34 of vehicle 10. Additionally, HVAC system 26 may regulate the temperature of the fluid circulating through engine 12 and transmission 14. Exhaust system 28 reduces emissions in the exhaust produced by engine 12 before releasing the exhaust into the atmosphere.

[0110] The vehicle 10 also includes a vehicle control module 36 that controls the engine 12, transmission 14, friction brakes 22, fuel system 24, HVAC system 26, and exhaust system 28 based on user input and sensor input. The user input indicates target operating parameters of the vehicle 10, such as target vehicle acceleration, target vehicle deceleration, target vehicle speed, and target cabin temperature. The sensor input indicates the actual values ​​of the operating parameters of the vehicle 10 measured by sensors (not shown) on the vehicle 10. The vehicle control module 36 controls the engine 12, transmission 14, friction brakes 22, fuel system 24, HVAC system 26, and exhaust system 28 by outputting control signals to them.

[0111] In addition, when the vehicle 10 experiences a fault, the vehicle control module 36 sets one or more diagnostic trouble codes identifying the fault and records one or more operating parameters of the vehicle 10 when the fault occurred. The vehicle control module 36 may record the vehicle operating parameters measured by the sensors when the fault occurred. Additionally or alternatively, the vehicle control module 36 may estimate the vehicle operating parameters based on other vehicle operating parameters measured when the fault occurred and record the estimated vehicle operating parameters. The vehicle control module 36 outputs (multiple) diagnostic trouble codes and vehicle operating parameters.

[0112] The diagnostic procedure module 38 identifies the diagnostic steps of a repair procedure to be performed based on the diagnostic trouble code(s) to diagnose the root cause of the fault. The diagnostic procedure module 38 determines the order in which the diagnostic steps should be performed to minimize the cost of diagnosing the fault. The diagnostic procedure module 38 outputs a diagnostic procedure indicating the diagnostic steps and the order in which they should be performed. In the illustrated example, the diagnostic procedure module 38 is part of a repair tool 40 that also includes a user interface device 42. In other examples, the diagnostic procedure module 38 and / or the user interface device 42 may be included in the vehicle 10.

[0113] The diagnostic program module 38 can determine the order in which to perform diagnostic steps based on the cost associated with each diagnostic step and the probability associated with each diagnostic step. The diagnostic program module 38 can determine the cost and probability of the diagnostic steps based on the repair procedure and / or vehicle repair data. The diagnostic program module 38 can receive the vehicle repair data from the cloud module 44 via a wired or wireless signal. The cloud module 44 can be a remote server and / or can be located at the global repair headquarters of the manufacturer of the vehicle 10. In the example shown, the diagnostic program module 38 and the cloud module 44 communicate with each other using wireless signals represented by dashed lines.

[0114] The diagnostic program module 38 can control the user interface device 42 to generate a message indicating the diagnostic program. The user interface device 42 is operable to generate a visual message (e.g., text, light, and / or symbol), an audible message (e.g., a chime), and / or a tactile message (e.g., vibration). The user interface device 42 may include an electronic display (e.g., a touch screen), a speaker, and / or a vibration motor.

[0115] Now refer to Figure 2 An example implementation of the diagnostic procedure module 38 includes a diagnostic step module 46, an optimal diagnostic procedure module 48, and a suboptimal diagnostic procedure module 50. The diagnostic step module 46 identifies the diagnostic steps of one or more repair procedures to be performed to diagnose the root cause of the fault on the vehicle 10 based on the one or more diagnostic trouble codes that identify the fault. In addition, the diagnostic step module 46 identifies a cost associated with each diagnostic step and a probability associated with each diagnostic step. The probability indicates the likelihood that performing the corresponding diagnostic step will resolve the fault.

[0116] The optimal diagnostic procedure module 48 determines the order in which to perform diagnostic steps to minimize the cost of diagnosing the fault. The optimal diagnostic procedure module 48 determines the order in which to perform diagnostic steps based on the cost of each diagnostic step within the probability of each diagnostic step. The optimal diagnostic procedure module 48 outputs an optimal diagnostic procedure indicating the diagnostic steps to be performed and the order in which to perform the diagnostic steps. The optimal diagnostic procedure module 48 may control the user interface device 42 to generate (e.g., display) a message indicating the optimal diagnostic procedure.

[0117] The suboptimal diagnostic procedure module 50 divides the diagnostic steps into groups and determines an order to execute the diagnostic steps in each group based on the probabilities of the diagnostic steps in each group. Furthermore, for each group, the suboptimal diagnostic procedure module 50 determines an order to execute the diagnostic steps to minimize the cost of diagnosing the fault. The suboptimal diagnostic procedure module 50 outputs a suboptimal diagnostic procedure indicating the diagnostic steps to be executed and the order in which they should be executed. While the optimal diagnostic procedure may require less cost to execute than the suboptimal diagnostic procedure, the suboptimal diagnostic procedure requires less time and / or processing power to generate. The suboptimal diagnostic procedure module 50 may control the user interface device 42 to generate a message indicating the suboptimal diagnostic procedure.

[0118] Now refer to Figure 3 The example method of identifying the relationship between the diagnostic steps, the costs of the diagnostic steps, and the diagnostic steps begins at step 52. In the description of the method set forth below, Figure 2 The modules of the method perform the steps of the method. However, the specific modules that perform the steps of the method may be different from the description below. Additionally or alternatively, one or more steps of the method can be performed independently of any module.

[0119] At step 54, for a given diagnostic trouble code and vehicle model (e.g., the model of vehicle 10), the diagnostic steps module 46 also identifies all diagnostic steps and their associated conditions and labor costs in the repair procedure. A diagnostic step is an action taken to diagnose the root cause of the fault. The conditions of a diagnostic step can be vehicle operating parameters or characteristics measured or observed when performing the diagnostic step. The condition may be met when the operating parameter or characteristic meets certain criteria (e.g., falls within a predetermined range). Otherwise, the condition may not be met. The labor cost of the diagnostic step is the cost of the labor required to perform the diagnostic step.

[0120] Diagnostic procedure module 46 may store multiple service procedures for one or more vehicle models, and each service procedure may correspond to one of the diagnostic trouble codes that may be set in the corresponding vehicle model. Each service procedure may specify a series of diagnostic steps to be performed when the corresponding diagnostic trouble code is set, as well as labor costs and conditions for the diagnostic steps. The service procedures may be created by the vehicle manufacturer during the design phase of the vehicle model. Additionally or alternatively, the service procedures may be created or modified during the production phase of the vehicle model, and diagnostic procedure module 46 may retrieve the service procedures from cloud module 44.

[0121] At step 56, diagnostic step module 46 identifies preparatory steps common to the diagnostic steps identified in step 54. Furthermore, diagnostic step module 46 identifies labor costs associated with the preparatory steps. Preparatory steps are actions to be taken before performing a diagnostic step. The actions specified in the preparatory steps may not diagnose the root cause of the fault identified by the diagnostic trouble code. Diagnostic step module 46 obtains the preparatory steps and their associated costs from the repair procedure. Diagnostic step module 46 may designate the preparatory steps as prerequisites for the corresponding diagnostic step(s).

[0122] At step 58 , for diagnostic steps involving replacement of vehicle parts, diagnostic step module 46 adds the cost of the vehicle part to the labor cost of the corresponding diagnostic step to obtain a total cost for the diagnostic step. Diagnostic step module 46 may store the cost of all parts that can be replaced when using the repair procedure to diagnose the root cause of a fault on the vehicle. Diagnostic step module 46 may receive the part cost from cloud module 44 .

[0123] At step 60, the diagnostic step module 46 identifies dependencies between diagnostic steps in the service procedure and represents these dependencies as preconditions. For example, depending on the service procedure, a condition in one diagnostic step may need to be met before another diagnostic step can be executed. Thus, meeting a condition in one diagnostic step may be a precondition for another diagnostic step. If a precondition is not met, the service procedure may specify that a different diagnostic step be executed.

[0124] At step 62, the diagnostic steps module 46 stores the diagnostic steps for a given diagnostic trouble code and vehicle model, along with the costs, preparatory steps, and prerequisites associated with the diagnostic steps. The method ends at step 62. Figure 3 method.

[0125] Now refer to Figure 4 Table 65 shows an example of diagnostic steps that may be identified by the diagnostic step module 46 to diagnose the root cause of a fault, as well as preconditions, conditions, and costs associated with the diagnostic steps. The leftmost column of Table 65 lists a first diagnostic step 66, a second diagnostic step 68, and a third diagnostic step 70. The header row of Table 65 lists a precondition 72, a first condition 74, a second condition 76, and a cost 78.

[0126] The number listed below a prerequisite 72 identifies the diagnostic step that serves as a prerequisite for the diagnostic step listed in the same row. Thus, first diagnostic step 66 is a prerequisite for second diagnostic step 68. The numbers listed below first condition 74 and second condition 76 indicate work codes, which identify tasks that can be performed if the first and second conditions of the diagnostic step listed in the same row, respectively, are met. Work codes include first work code 80, second work code 82, third work code 84, and fourth work code 86. Thus, if the first condition of first diagnostic step 66, second diagnostic step 68, or third diagnostic step 70 is met, the tasks identified by first work code 80, fourth work code 86, and second work code 82, respectively, can be performed. If the second condition of first diagnostic step 66, second diagnostic step 68, or third diagnostic step 70 is met, multiple tasks identified by two or more of second work code 82, third work code 84, and fourth work code 86 can be performed. For example, if second condition 76 of second diagnostic step 68 is met, the tasks identified by second work code 82 and third work code 84 can be performed.

[0127] The numbers listed below cost 78 indicate the cost of performing the diagnostic step in the same row (e.g., in time units such as minutes). Thus, the costs for first diagnostic step 66, second diagnostic step 68, and third diagnostic step 70 are 10, 15, and 20, respectively. Cost 78 may include only the labor costs for the corresponding diagnostic step. Additionally, if the corresponding diagnostic step involves replacing a vehicle part, cost 78 may also include the cost of the vehicle part.

[0128] Now refer to Figure 5, Table 67 lists the labor codes of Table 65 and examples of probabilities indicating the likelihood that performing the task identified by the labor code will resolve the fault. The labor codes and their corresponding probabilities can be referred to as the most probable causes of the fault and can be derived using the techniques described in the patent application referenced above and entitled "System and Method for Determining Most Probable Cause of Vehicle Fault using Multiple Diagnostic Techniques." Column 69 lists a first labor code 80, a second labor code 82, a third labor code 84, and a fourth labor code 86. Column 71 lists the probabilities that performing the tasks identified by the labor codes in the same row will resolve the fault. Thus, there is a fifty percent (50%) probability that performing the task identified by the first labor code 80 will resolve the fault, a 25% probability that performing the task identified by the fourth labor code 86 will resolve the fault, a 15% probability that performing the task identified by the second labor code 82 will resolve the fault, and a 10% probability that performing the task identified by the third labor code 84 will resolve the fault.

[0129] Now refer to Figure 6 , flowchart 87 illustrates Figure 4 , and shows the relationship between the diagnostic steps shown in FIG. 7 , and the costs 78 associated with the diagnostic steps and the probabilities 88 associated with the labor codes. If the first condition of the first diagnostic step 66 is met, the task identified by the first labor code 80 is performed, and the probability 88 that the task will resolve the fault is equal to 50%. If the second condition of the first diagnostic step 66 is met, the second diagnostic step 68 is performed, and the probability that the second diagnostic step 68 and the third diagnostic step 70 (associated with the second labor code 82, the third labor code 84, and the fourth labor code 86) will resolve the fault is equal to the sum of 25%, 15%, and 10%, or 50%.

[0130] If the first condition of the second diagnostic step 68 is met, the task identified by the fourth labor code 86 is performed, and the probability 88 that the fault will be resolved by performing the task is equal to 25%. If the second condition of the second diagnostic step 68 is met, the third diagnostic step 70 is performed, and the probability that the fault will be resolved by performing the third diagnostic step 70 (associated with the second labor code 82 and the third labor code 84) is equal to the sum of 15% and 10%, that is, 25%.

[0131] If the first condition of the third diagnostic step 70 is met, the task identified by the second labor code 82 is performed, and the probability 88 that the failure will be resolved by performing the task is equal to 15%. If the second condition of the third diagnostic step 70 is met, the task identified by the third labor code 84 is performed, and the probability 88 that the failure will be resolved by performing the task is equal to 10%.

[0132] Now refer to Figure 7 The method for determining the best diagnostic procedure begins at step 90. At step 92, the diagnostic procedure module 46 obtains diagnostic steps, labor codes with probability distributions, tests, prerequisites, labor code group splits for conditions, and costs. The diagnostic procedure module 46 can obtain diagnostic steps, tests, prerequisites, labor code group splits for conditions, and costs from the repair procedures for a given diagnostic trouble code and vehicle model. In one example, the diagnostic procedure module 46 obtains a diagnostic trouble code with probability distributions {p(LC1), (pLC2) ... p(LC n )}Labor Code Group (LC g = LC1, LC2, ...LC n ), test or diagnostic step set (T h , h = 1, 2, ... n), the precondition test set {h-pre}, the labor code group split for condition (1,2) (LCg m , LCg n ) and cost C(T h ).

[0133] A maintenance program may group diagnostic steps into tests. The labor codes obtained by the diagnostic step module 46 may include labor codes to be executed when the conditions of the diagnostic step are met. The probability distribution includes the probability that executing the task identified by the labor code will resolve the fault identified by the diagnostic trouble code. The prerequisites may include preparatory steps and / or some of the diagnostic steps to be executed before executing other diagnostic steps. For each diagnostic step, the labor code group split includes a list of labor codes that can be executed if one condition of the diagnostic step is met and another list of labor codes that can be executed if another condition of the diagnostic step is met.

[0134] At step 94, the optimal diagnostic program module 48 recursively finds the minimum cost of executing the tasks identified by all labor codes in each test in the test set having the same prerequisites while satisfying one or more constraints. The optimal diagnostic program module 48 may use dynamic programming to determine the minimum cost for the test set. In one example, to obtain the minimum cost for the test set including the labor code group (LCg k ) of the test set T = {T k, k = 1, 2, ...} the minimum cost V(T h , LC g ), the optimal diagnostic program module 48 selects the test T of the test set to be executed first h , determine the cost C(T h ), determine the minimum cost of executing the diagnostic steps of each of the other tests, and determine the sum of the cost of executing the diagnostic steps of the selected test and the minimum cost of executing the diagnostic steps of the other tests using a relationship such as

[0135] (1)

[0136] Among them, T h is the first test, C(T h ) is the cost of testing T h , T i Is to meet the test T h The test is carried out under the conditions of V(T i , LCg i ) is from the test T i Start of implementation with Labor Code Group LCg m The minimum cost of all associated tasks, T j Is to meet the test T h The test is carried out under the condition 2, V(T j , LCg m ) is from the test T j Start of implementation with Labor Code Group LCg m The minimum cost of all associated tasks, p(LCg m ) is the labor code group LCg m The probability, p(LCg n ) is the labor code group LCg n The probability that p(LCg k ) is the labor code group LCg including all labor codes of the test set k probability.

[0137] The constraints may include a first constraint, a second constraint and / or a third constraint. h The first constraint is satisfied if all the preconditions of the diagnostic steps in the test set are completed before. h The task of identifying the associated labor code enables the first test T to be performed first h The second constraint is satisfied when the tasks identified by all labor codes in the test set are completed. The third constraint is satisfied when no further diagnosis is required if the cost is set to zero.

[0138] Reference Figures 4 to 6 The example shown in FIG can better understand the relationship (1). In this example, the first labor code 80, the second labor code 82, the third labor code 84 and the fourth labor code 86 can form a test set (T) including the first, second, third and fourth tests. h , T i , T j , T k ) labor code group LCg k . First test T h is executed first and consists of executing the first diagnostic step 66. Thus, the first test T h The cost is 10. If the first test T is satisfied h If the first condition 74 is met and no further diagnosis is required, the repair indicated by the labor code 80 is performed. Therefore, the second test T i The cost of testing T is zero because i Is empty (ie, does not include any diagnostic steps).

[0139] If the first test T is satisfied h (ie, the second condition 76 of the first diagnostic step 66), then the second test T is performed. j (i.e., the second diagnostic step 68). If the first condition 74 of the second diagnostic step 68 is satisfied after performing this step, the repair represented by the fourth labor code 86 is performed and no further diagnosis is required. If the second condition 76 of the second diagnostic step 68 is satisfied, the third test T is performed. k (i.e., the third diagnostic step 70). Based on whether the first condition 74 or the second condition 76 of the third diagnostic step 70 is satisfied, the repair indicated by the second labor code 82 and the third labor code 84 will be performed accordingly. No additional diagnosis is required in either case. Therefore, Figures 4 to 6 The probability and cost of can be inserted into the relation (1) to obtain the cost of the test set as follows:

[0140] V(66, {80, 82, 84, 86}) = 10 + (p(82) + p(84) + p(86)) / (p(80) + p(82)+ p(84) + p(86)) * V(68, {82, 84, 86})

[0141] V(68, {82, 84, 86}) = 15 + (p(82) + p(84)) / (p(82) + p(84) + p(86)) *V(70, {82, 84}) = 15 + 25% / 50% * V(70, {82, 84})

[0142] V(70, {82, 84}) = 20

[0143] Cost=V(66, {80, 82, 84, 86}) = 10+50% * (15 + 25% / 50%*20) = 22.5.

[0144] The optimal diagnostic program module 48 may select different tests in the test set to execute first, determine the sum of the cost of the selected test and the minimum cost of the other tests in the test set, and set the order in which the tests are executed so that the selected test is executed first when the sum is less than the sum of the cost of executing any one of the other tests first and the minimum cost of executing the selected test and the rest of the other tests. For example, the optimal diagnostic program module 48 may set the test T h 、T i 、T j 、T k order so that when the test T is first executed h The cost obtained by using relation (1) is less than that obtained by first performing the test T i 、T j or T k When any of the above is the cost obtained using equation (1), first perform the test T h .

[0145] Now refer to Figure 8 , the method for determining a suboptimal diagnostic procedure begins at step 102. Figure 8 Prior to the method, the diagnostic step module 46 may identify the diagnostic steps of the repair procedure to be performed for a given diagnostic trouble code and the prerequisites, costs, and probabilities of the diagnostic steps. In step 104, the suboptimal diagnostic procedure module 50 ranks the diagnostic steps based on the probabilities of the diagnostic steps. For example, the suboptimal diagnostic procedure module 50 may assign the highest ranking to the diagnostic step with the highest probability and the lowest ranking to the diagnostic step with the lowest probability. The suboptimal diagnostic procedure module 50 may use the ranking to determine the order in which the diagnostic steps are to be performed. For example, the suboptimal diagnostic procedure module 50 may arrange the diagnostic steps in ascending order from the diagnostic step with the highest ranking (e.g., number 1) to the diagnostic step with the lowest ranking (e.g., number 50).

[0146] In step 106, the suboptimal diagnostic program module 50 adjusts the ranking of the diagnostic steps so that the preconditions of the diagnostic steps are met when the diagnostic steps are executed in ascending order according to their rankings. In step 108, the suboptimal diagnostic program module 50 divides the ranked diagnostic steps into groups of predetermined sizes (e.g., 10 diagnostic steps per group). In addition, the suboptimal diagnostic program module 58 determines the order in which to execute each group based on the probabilities of the diagnostic steps in the group. For example, the group of diagnostic steps with the highest probability may be executed first, and the group of diagnostic steps with the lowest probability may be executed last. In step 110, the suboptimal diagnostic program module 50 adjusts the diagnostic steps across the different groups to ensure that the preconditions of each group are met. The preconditions may include preparatory steps and / or other diagnostic steps to be performed before the diagnostic steps in each group.

[0147] At step 112, the suboptimal diagnostic program module 50 uses Figure 7 The method finds the optimal procedure for each group. In other words, for each group, the suboptimal diagnostic procedure module 50 determines the order in which to perform diagnostic steps to minimize the cost of diagnosing the fault. At step 114, the suboptimal diagnostic procedure module 50 integrates the procedures from all groups according to the order of all groups to obtain a suboptimal diagnostic procedure. At step 116, the suboptimal diagnostic procedure module 50 outputs the suboptimal diagnostic procedure. The method ends at step 118.

[0148] Now refer to Figure 9 Another method for determining a suboptimal diagnostic procedure begins at step 120. Figure 9 Prior to executing the method, the diagnostic steps module 46 may identify the diagnostic steps of the repair procedure to be performed for a given diagnostic trouble code, as well as the prerequisites, costs, and probabilities of the diagnostic steps. At step 122, the suboptimal diagnostic procedure module 50 divides the diagnostic steps into subgroups based on their prerequisites. For example, the suboptimal diagnostic procedure module 50 may place all diagnostic steps with the same prerequisites into the same subgroup. The prerequisites may include preparatory steps and / or other diagnostic steps to be performed before the diagnostic steps in the subgroup.

[0149] At step 124, the suboptimal diagnostic program module 50 determines the total probability for each subgroup. For example, the suboptimal diagnostic program module 50 may determine the sum of the diagnostic steps and the probability for each subgroup to obtain the total probability for the subgroup. At step 126, the suboptimal diagnostic program module 50 uses Figure 7The method finds the optimal procedure and associated total cost for each subgroup. In other words, for each subgroup, the suboptimal diagnostic procedure module 50 determines the order in which to perform diagnostic steps to minimize the cost of diagnosing the fault. At step 128, the suboptimal diagnostic procedure module 50 ranks the subgroups according to their total probability, such that the subgroup with the highest total probability is ranked first in the order and the subgroup with the lowest total probability is ranked last in the order.

[0150] At step 130, the suboptimal diagnostic program module 50 divides the subgroups into groups based on a decrease in probability from one subgroup to another. In one example, the suboptimal diagnostic program module 50 divides the subgroups into groups such that the difference between the probability of the first subgroup in each group and the probability of the first subgroup in the next group is greater than a first threshold (e.g., 60%). In another example, the suboptimal diagnostic program module 50 divides the subgroups into groups such that the ratio of the probability of the first subgroup in each group to the probability of the first subgroup in the previous group is less than a second threshold (e.g., 10%). The first and second thresholds may be predetermined.

[0151] At step 132, within each of the groups, the suboptimal diagnostic procedure module 50 reorders the subgroups based on their total probability and their total cost. In one example, the suboptimal diagnostic procedure module 50 subtracts the total probability of each subgroup from 1 and multiplies the difference by the total cost of the subgroup to obtain the rank of the subgroup. The suboptimal diagnostic procedure module 58 then orders the subgroups within each group based on their rankings, with the lowest-ranked subgroup being first in the order and the highest-ranked subgroup being last in the order. The resulting order for each subgroup is the diagnostic procedure for that subgroup.

[0152] At step 134, the suboptimal diagnostic program module integrates the diagnostic programs from all groups according to the order of the groups. When the subgroups are divided into groups, the suboptimal diagnostic program module 50 can assign an order to each group. For example, the suboptimal diagnostic program module 50 can rank each group based on the total probability of its subgroups by assigning the highest rank to the group with the highest total probability and the lowest rank to the group with the lowest total probability. The suboptimal diagnostic program module 50 can then assign an order to each group so that the group with the lowest rank is first in the order and the group with the highest rank is last in the order to obtain the suboptimal diagnostic program. At 136, the suboptimal diagnostic program module 50 outputs the suboptimal diagnostic program. The method ends at step 138.

[0153] The foregoing description is merely illustrative in nature and is in no way intended to limit the present disclosure, its application or use. The broad teachings of the present disclosure can be implemented in many forms. Therefore, although the present disclosure includes specific examples, the true scope of the present disclosure should not be so limited, because other modifications will become apparent after studying the drawings, the description and the appended claims. It should be understood that one or more steps in the method can be performed in a different order (or simultaneously) without changing the principles of the present disclosure. In addition, although each embodiment is described above as having certain features, any one or more of those features described with respect to any embodiment of the present disclosure can be implemented in any other embodiment and / or combined with the features of any other embodiment, even if the combination is not explicitly described. In other words, the described embodiments are not mutually exclusive, and the arrangement of one or more embodiments with respect to each other is still within the scope of the present disclosure.

[0154] Spatial and functional relationships between elements (e.g., between modules, circuit elements, semiconductor layers, etc.) are described using various terms, including "connected," "engaged," "coupled," "adjacent," "immediately next to," "on top of," "above," "below," and "disposed on." Unless explicitly described as "directly," when describing a relationship between a first element and a second element in the above disclosure, the relationship can be a direct relationship with no other intervening elements between the first element and the second element, but can also be an indirect relationship with one or more intervening elements (spatially or functionally) between the first element and the second element. As used herein, the phrase "at least one of A, B, and C" should be interpreted to mean a logical (A or B or C) using a non-exclusive logical "OR" and should not be interpreted to mean "at least one of A, at least one of B, and at least one of C."

[0155] In the accompanying drawings, the direction of the arrow generally indicates the flow of information (such as data or instructions) of interest to the diagram. For example, when component A and component B exchange various information, but the information transmitted from component A to component B is relevant to the diagram, the arrow may point from component A to component B. This unidirectional arrow does not mean that no other information is transmitted from component B to component A. In addition, for information transmitted from component A to component B, component B may send a request for the information to component A or confirm receipt of the information.

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

[0157] The module may include one or more interface circuits. In some examples, the interface circuit may include a wired or wireless interface connected to a local area network (LAN), the Internet, a wide area network (WAN), or a combination thereof. The functionality of any given module of the present disclosure may be distributed across multiple modules connected via the interface circuits. For example, multiple modules may allow for load balancing. In another example, a server (also referred to as a remote or cloud) module may perform some functions on behalf of a client module.

[0158] As used above, the term "code" may include software, firmware, and / or microcode, and may refer to programs, routines, functions, classes, data structures, and / or objects. The term "shared processor circuitry" encompasses a single processor circuit that executes some or all code from multiple modules. The term "group processor circuitry" encompasses a processor circuit that, in combination with additional processor circuits, executes some or all code from one or more modules. References to multiple processor circuits encompass multiple processor circuits on discrete dies, multiple processor circuits on a single die, multiple cores of a single processor circuit, multiple threads of a single processor circuit, or combinations of the foregoing. The term "shared memory circuitry" encompasses a single memory circuit that stores some or all code from multiple modules. The term "group processor circuitry" encompasses a memory circuit that, in combination with additional memory, stores some or all code from one or more modules.

[0159] The term "memory circuit" is a subset of the term computer-readable medium. As used herein, the term "computer-readable medium" does not encompass transient electrical or electromagnetic signals propagated through a medium such as a carrier wave; thus, the term computer-readable medium may be considered to be both tangible and non-transitory. Non-limiting examples of non-transitory tangible computer-readable media are non-volatile memory circuits (such as flash memory circuits, erasable programmable read-only memory circuits, or mask read-only memory circuits), volatile memory circuits (such as static random access memory circuits or dynamic random access memory circuits), magnetic storage media (such as analog or digital magnetic tape or hard drives), and optical storage media (such as CDs, DVDs, or Blu-ray discs).

[0160] The apparatus and methods described in this application may be implemented in part or in whole by a special-purpose computer, which is created by configuring a general-purpose computer to perform one or more specific functions embodied in a computer program. The functional blocks, flow chart components, and other elements described above serve as software specifications that can be translated into computer programs by a skilled technician or programmer through routine work.

[0161] A computer program includes processor-executable instructions stored on at least one non-transitory, tangible computer-readable medium. A computer program may also include or rely on stored data. A computer program may include a basic input / output system (BIOS) for interacting with the hardware of a special-purpose computer, device drivers for interacting with specific devices of the special-purpose computer, one or more operating systems, user applications, background maintenance, background applications, etc.

[0162] A computer program may include: (i) descriptive text to be parsed, such as HTML (Hypertext Markup Language), XML (Extensible Markup Language), or JSON (JS Object Notation), (ii) assembly code, (iii) object code generated by a compiler from source code, (iv) source code executed by an interpreter, (v) source code compiled and executed by a just-in-time compiler, etc. By way of example only, the source code may be written using the syntax of a language including: C, C++, C#, Objective-C, Swift, Haskell, Go, SQL, R, Lisp, Java®, Fortran, Perl, Pascal, Curl, OCaml, Javascript®, HTML5 (Hypertext Markup Language Version 5), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, Visual Basic®, Lua, MATLAB, SIMULINK, and Python®.

Claims

1. A system comprising: A diagnostic step module configured to: identifying diagnostic steps of a repair procedure to be performed based on the diagnostic trouble code identifying the fault to diagnose a root cause of the fault on the vehicle; and identifying a cost associated with performing each of said diagnostic steps; and An optimal diagnostics module configured to: The order of executing the diagnostic steps is determined by recursive calculation to minimize the cost of diagnosing the fault, wherein the recursive calculation is based on the following relationship: Among them, T h is the first test, C(T h ) is the test T h The cost, T i Is to meet the test T h The test is carried out under the conditions of V(T i ,LCg i ) is from the test T i Start of implementation with Labor Code Group LCg m The minimum cost of all associated tasks, T j Is to meet the test T h The test is carried out under the condition 2, V(T j ,LCg m ) is from the test T j Start of implementation with Labor Code Group LCg m The minimum cost of all associated tasks, p(LCg m ) is the labor code group LCg m The probability, p(LCg n ) is the labor code group LCg n The probability that p(LCg k ) is the labor code group LCg including all labor codes of the test set k the probability of An optimal diagnostic program is output, the optimal diagnostic program indicating the diagnostic steps and an order in which the diagnostic steps are performed.

2. The system of claim 1, wherein: The diagnosis step module is configured to identify a plurality of common preparatory steps in the diagnosis steps; and The optimal diagnostic procedure module is configured to determine an order in which to perform the diagnostic steps based on the common preparation steps.

3. The system of claim 1 , wherein: The diagnostic steps module is configured to identify those of the diagnostic steps that are prerequisites to other of the diagnostic steps; and The optimal diagnostic procedure module is configured to determine an order in which to perform the diagnostic steps based on the prerequisite diagnostic steps.

4. The system according to claim 1, wherein: If the diagnostic step involves replacing a part on the vehicle, the diagnostic step module is configured to include the cost of the part in the cost of performing the diagnostic step.

5. The system according to claim 1, wherein The optimal diagnostic procedure module is configured to determine an order in which to perform the diagnostic steps based on the cost of performing the diagnostic steps and a probability that performing the diagnostic steps will resolve the fault.

6. The system of claim 1 , wherein: The maintenance procedure groups the diagnostic steps into tests; and The optimal diagnostic procedure module is configured to determine an order in which to perform the tests to minimize the cost of diagnosing the fault.

7. The system according to claim 6, wherein: The optimal diagnostic program module is configured to: selecting a different one of said tests to be performed first; determining the cost of performing said diagnostic steps of the selected test; determining a minimum cost of performing said diagnostic step for each of the other tests; determining a sum of the cost of performing the diagnostic step of the selected test and a minimum cost of performing the diagnostic steps of the other tests; and The order in which the tests are executed is set so that the selected test is executed first when the sum is less than the sum of the cost of executing any one of the other tests first and the minimum cost of executing the selected test and the rest of the other tests.

8. A system comprising: a diagnostic step module configured to identify a diagnostic step of a service procedure to be performed to diagnose a root cause of the fault on the vehicle based on a diagnostic trouble code identifying the fault; and A suboptimal diagnostic program module configured to: dividing the diagnostic steps into groups based on a probability associated with each of the diagnostic steps, wherein the probability indicates a likelihood that performing the corresponding diagnostic step will resolve the fault; determining an order in which to perform the diagnostic steps in each of the groups and an order in which to perform the diagnostic steps of the groups based on the probabilities of the diagnostic steps for each of the groups; The order of executing the diagnostic steps is determined by recursive calculation to minimize the cost of diagnosing the fault, wherein the recursive calculation is based on the following relationship: Among them, T h is the first test, C(T h ) is the test T h The cost, T i Is to meet the test T h The test is carried out under the conditions of V(T i ,LCg i ) is from the test T i Start of implementation with Labor Code Group LCg m The minimum cost of all associated tasks, T j Is to meet the test T h The test is carried out under the condition 2, V(T j ,LCg m ) is from the test T j Start of implementation with Labor Code Group LCg m The minimum cost of all associated tasks, p(LCg m ) is the labor code group LCg m The probability, p(LCg n ) is the labor code group LCg n The probability that p(LCg k ) is the labor code group LCg including all labor codes of the test set k the probability of ; and A suboptimal diagnostic routine is output that indicates the diagnostic steps and an order in which to perform the diagnostic steps.

9. The system of claim 8, wherein: The diagnostic steps module is configured to identify a cost associated with performing each of the diagnostic steps; and For each of the groups, the suboptimal diagnostic procedure module is configured to determine an order for performing the diagnostic steps to minimize the cost of diagnosing the fault.

10. The system according to claim 9, wherein: For each of the groups, the suboptimal diagnostic procedure module is configured to determine an order in which to perform the diagnostic steps based on the cost of performing the diagnostic steps and a probability that performing the diagnostic steps will resolve the fault.

11. The system according to claim 8, wherein The suboptimal diagnostic procedure module is configured to divide the diagnostic steps into the groups based on probabilities of the diagnostic steps and a predetermined group size.

12. The system according to claim 8, wherein: The suboptimal diagnostic procedure module is configured to identify preconditions of the diagnostic steps and divide the diagnostic steps into the groups based on the probabilities of the diagnostic steps while ensuring that all of the preconditions in each of the groups are satisfied.

13. The system according to claim 12, wherein: The suboptimal diagnostics module is configured to: ranking the diagnostic steps based on their probabilities; dividing the diagnostic steps into the groups based on the ranking; and The ranking is adjusted so that all of the preconditions for each of the groups are satisfied.

14. A system comprising: a diagnostic step module configured to identify a diagnostic step of a service procedure to be performed to diagnose a root cause of the fault on the vehicle based on a diagnostic trouble code identifying the fault; and A suboptimal diagnostic program module configured to: determining the prerequisites for the diagnostic steps; dividing the diagnostic steps into groups based on the preconditions; determining an order in which to perform the diagnostic steps in each of the groups and an order in which to perform the diagnostic steps in the groups based on a probability associated with each of the diagnostic steps, wherein the probability indicates a likelihood that performing the corresponding diagnostic step will resolve the fault; The order of executing the diagnostic steps is determined by recursive calculation to minimize the cost of diagnosing the fault, wherein the recursive calculation is based on the following relationship: Among them, T h is the first test, C(T h ) is the test T h The cost, T i Is to meet the test T h The test is carried out under the conditions of V(T i ,LCg i ) is from the test T i Start of implementation with Labor Code Group LCg m The minimum cost of all associated tasks, T j Is to meet the test T h The test is carried out under the condition 2, V(T j ,LCg m ) is from the test T j Start of implementation with Labor Code Group LCg m The minimum cost of all associated tasks, p(LCg m ) is the labor code group LCg m The probability, p(LCg n ) is the labor code group LCg n The probability that p(LCg k ) is the labor code group LCg including all labor codes of the test set k the probability of A suboptimal diagnostic routine is output that indicates the diagnostic steps and an order in which to perform the diagnostic steps.

15. The system of claim 14, wherein: The diagnostic steps module is configured to determine a cost associated with performing each of the diagnostic steps; and For each of the groups, the suboptimal diagnostic procedure module is configured to determine an order for performing the diagnostic steps to minimize the cost of diagnosing the fault.

16. The system of claim 14, wherein: The suboptimal diagnostic procedure module is configured to divide the diagnostic steps into subgroups such that all the diagnostic steps having the same precondition are in the same subgroup.

17. The system according to claim 16, wherein: The suboptimal diagnostics module is configured to: determining a probability that performing each of the diagnostic steps in the subset will resolve the fault based on the probability of each of the diagnostic steps in the subset; and An order in which the diagnostic steps of the subset are performed is determined based on the probabilities of the subset.

18. The system according to claim 17, wherein: The suboptimal diagnostic procedure module is configured to divide the diagnostic steps of the subset into the groups such that at least one of the following: A difference between the probability of a first subset in each of the groups and the probability of the first subset in the next group is greater than a first threshold; and A ratio of the probability of the first subgroup in each of the groups to the probability of the first subgroup in the previous group is less than a second threshold.

19. The system of claim 18, wherein: The diagnostic steps module is configured to identify a cost associated with performing each of the diagnostic steps; and The suboptimal diagnostics module is configured to: determining the cost associated with each of the subset based on the cost of performing each of the diagnostic steps in the subset; and An order in which the diagnostic steps of the subset are performed is determined based on the probabilities of the subset and the costs of the subset.

20. The system of claim 19, wherein: The suboptimal diagnostics module is configured to: ranking each of the subgroups based on a product of the probability of the subgroup and the cost of the subgroup; and An order in which the diagnostic steps of the subgroups are performed is determined based on the ranking of the subgroups.

Citation Information

Patent Citations

  • Vehicle fault root cause diagnosis

    US20200184742A1

  • System and method for determining most probable cause of vehicle fault using multiple diagnostic techniques

    US20220383670A1

  • Diagnosis method, device and system for building electromechanical fault

    CN110221592A

  • Diagnostic test sequence optimization method and apparatus

    US20070294000A1