一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于最可能原因生成车辆故障的诊断程序的系统和方法与流程

2022-11-30 08:02:11 来源:中国专利 TAG:
基于最可能原因生成车辆故障的诊断程序的系统和方法
1.相关申请的交叉引用本技术涉及[同一天]提交并且名称为“system and method for determining most probable cause of vehicle fault using multiple diagnostic techniques”的美国专利申请no. [17/333344](代理人案卷号p054062-us-np)。以上引用的申请的整个公开内容以引用方式并入本文。
[0002]
引言在此部分中提供的信息是为了一般地呈现本公开的上下文的目的。在此部分中描述的程度上,当前署名的发明人的著作以及在提交时可能不构成现有技术的描述的各方面,既不明示地也不暗示地被认为是本公开的现有技术。
技术领域
[0003]
本公开涉及用于基于最可能原因生成车辆故障的诊断程序的系统和方法。


背景技术:

[0004]
车辆的控制器典型地设置诊断故障代码并在车辆有问题时激活维修指示器(例如,检查发动机灯)。当车辆的一个或多个操作参数在预定范围内时,控制器确定车辆有问题。维修指示器通知车辆用户将车辆带到修理厂进行维修。维修技术人员将维修工具连接到控制器,以检索设置的诊断故障代码,并基于诊断故障代码识别问题。


技术实现要素:

[0005]
根据本公开的系统的示例包括诊断步骤模块和最佳诊断程序模块。诊断步骤模块被配置成基于识别故障的诊断故障代码来识别要执行的维修程序的诊断步骤以诊断车辆上的故障的根本原因,并识别与执行诊断步骤中的每一个相关联的成本。最佳诊断程序模块被配置成确定执行诊断步骤的顺序以使诊断故障的成本最小化并输出指示诊断步骤和执行诊断步骤的顺序的最佳诊断程序。
[0006]
在一个方面,诊断步骤模块被配置成识别诊断步骤中的多个彼此共有的准备步骤,并且最佳诊断程序模块被配置成基于共有的准备步骤确定执行诊断步骤的顺序。
[0007]
在一个方面,诊断步骤模块被配置成识别诊断步骤中作为其它诊断步骤的先决条件的那些步骤,并且最佳诊断程序模块被配置成基于先决条件诊断步骤确定执行诊断步骤的顺序。
[0008]
在一个方面,如果诊断步骤涉及更换车辆上的零件,则诊断步骤模块被配置成将零件的成本包括在执行诊断步骤的成本中。
[0009]
在一个方面,最佳诊断程序模块被配置成基于执行诊断步骤的成本和执行诊断步骤将解决故障的概率来确定执行诊断步骤的顺序。
[0010]
在一个方面,维修程序将诊断步骤分组为测试,并且最佳诊断程序模块被配置成确定执行测试的顺序以使诊断故障的成本最小化。
[0011]
在一个方面,最佳诊断程序模块被配置成:选择要首先执行的测试中的不同测试;确定执行所选测试的诊断步骤的成本;确定执行其它测试中的每一个的诊断步骤的最小成本;确定执行所选测试的诊断步骤的成本和执行其它测试的诊断步骤的最小成本的总和;并且设置执行测试的顺序,使得当总和小于首先执行其它测试中的任一个的成本和执行所选测试和其它测试的其余部分的最小成本的总和时,首先执行所选测试。
[0012]
根据本公开的系统的另一个示例包括诊断步骤模块和次优诊断程序模块。诊断步骤模块被配置成基于识别故障的诊断故障代码来识别要执行的维修程序的诊断步骤,以诊断车辆上的故障的根本原因。次优诊断程序模块被配置成:基于与诊断步骤中的每一个相关联的概率将诊断步骤划分为组;基于组中的每一个中的诊断步骤的概率确定执行组中的每一个中的诊断步骤的顺序和执行各组的诊断步骤的顺序;并且输出指示诊断步骤和执行诊断步骤的顺序的次优诊断程序。概率指示执行对应的诊断步骤将解决故障的可能性。
[0013]
在一个方面,诊断步骤模块被配置成识别与执行诊断步骤中的每一个相关联的成本,并且对于组中的每一个,次优诊断程序模块被配置成确定行诊断步骤的顺序以使诊断故障的成本最小化。
[0014]
在一个方面,对于组中的每一个,次优诊断程序模块被配置成基于执行诊断步骤的成本和执行诊断步骤将解决故障的概率来确定执行诊断步骤的顺序。
[0015]
在一个方面,次优诊断程序模块被配置成基于诊断步骤的概率和预定组大小将诊断步骤划分为组。
[0016]
在一个方面,次优诊断程序模块被配置成识别诊断步骤的前提条件并基于诊断步骤的概率将诊断步骤划分为组,同时确保满足组中的每一个的所有前提条件。
[0017]
在一个方面,次优诊断程序模块被配置成:基于诊断步骤的概率对诊断步骤进行排名;基于排名将诊断步骤划分为组;并且调整排名以使得组中的每一个的所有前提条件都被满足。
[0018]
根据本公开的系统的另一个示例包括诊断步骤模块和次优诊断程序模块。诊断步骤模块被配置成基于识别故障的诊断故障代码来识别要执行的维修程序的诊断步骤,以诊断车辆上的故障的根本原因。次优诊断程序模块被配置成:识别诊断步骤的前提条件;基于前提条件将诊断步骤划分为组;基于与诊断步骤中的每一个相关联的概率确定执行组中的每一个中的诊断步骤的顺序和执行各组诊断步骤的顺序;并且输出指示诊断步骤和执行诊断步骤的顺序的次优诊断程序。概率指示执行对应的诊断步骤将解决故障的可能性。
[0019]
在一个方面,诊断步骤模块被配置成确定与执行诊断步骤中的每一个相关联的成本,并且对于组中的每一个,次优诊断程序模块被配置成确定执行诊断步骤的顺序以使诊断故障的成本最小化。
[0020]
在一个方面,次优诊断程序模块被配置成将诊断步骤划分为子组,使得具有相同前提条件的所有诊断步骤都在相同的子组中。
[0021]
在一个方面,次优诊断程序模块被配置成基于在该子组中的诊断步骤中的每一个的概率来确定执行子组中的每一个的诊断步骤将解决故障的概率,并基于子组的概率来确定执行各子组的诊断步骤的顺序。
[0022]
在一个方面,次优诊断程序模块被配置成将诊断步骤的子组划分为组,使得下列中的至少一者:(i)组中的每一个中的第一子组的概率与下一组中的第一子组的概率之间
的差大于第一阈值,以及(ii)组中的每一个中的第一子组的概率与前一组中的第一子组的概率的比率小于第二阈值。
[0023]
在一个方面,诊断步骤模块被配置成识别与执行诊断步骤中的每一个相关联的成本,而次优诊断程序模块被配置成基于执行该子组中的诊断步骤中的每一个的成本来确定与每个子组相关联的成本,并基于子组的概率和子组的成本来确定执行各子组的诊断步骤的顺序。
[0024]
在一个方面,次优诊断程序模块被配置成基于该子组的概率和该子组的成本的乘积对每个子组进行排名并基于子组的排名确定执行各子组的诊断步骤的顺序。
[0025]
本发明提供下列技术方案。
[0026]
技术方案1. 一种系统,包括:诊断步骤模块,其被配置成:基于识别故障的诊断故障代码来识别要执行的维修程序的诊断步骤,以诊断车辆上的所述故障的根本原因;和识别与执行所述诊断步骤中的每一个相关联的成本;和最佳诊断程序模块,其被配置成:确定执行所述诊断步骤的顺序以使诊断所述故障的所述成本最小化;并且输出最佳诊断程序,所述最佳诊断程序指示所述诊断步骤和执行所述诊断步骤的顺序。
[0027]
技术方案2. 根据技术方案1所述的系统,其中:所述诊断步骤模块被配置成识别所述诊断步骤中的多个彼此共有的准备步骤;并且所述最佳诊断程序模块被配置成基于所述共有准备步骤确定执行所述诊断步骤的顺序。
[0028]
技术方案3. 根据技术方案1所述的系统,其中:所述诊断步骤模块被配置成识别作为所述诊断步骤中其它步骤的先决条件的所述诊断步骤中的那些诊断步骤;并且所述最佳诊断程序模块被配置成基于所述先决条件诊断步骤来确定执行所述诊断步骤的顺序。
[0029]
技术方案4. 根据技术方案1所述的系统,其中,如果所述诊断步骤涉及更换所述车辆上的零件,则所述诊断步骤模块被配置成将所述零件的成本包括在执行所述诊断步骤的所述成本中。
[0030]
技术方案5. 根据技术方案1所述的系统,其中,所述最佳诊断程序模块被配置成基于执行所述诊断步骤的所述成本和执行所述诊断步骤将解决所述故障的概率来确定执行所述诊断步骤的顺序。
[0031]
技术方案6. 根据技术方案1所述的系统,其中:所述维修程序将所述诊断步骤分组为测试;并且所述最佳诊断程序模块被配置成确定执行所述测试的顺序以使诊断所述故障的所述成本最小化。
[0032]
技术方案7. 根据技术方案6所述的系统,其中,所述最佳诊断程序模块被配置成:
选择要首先执行的所述测试中的不同测试;确定执行所述所选测试的所述诊断步骤的成本;确定执行所述其它测试中的每一个的所述诊断步骤的最小成本;确定执行所述所选测试的所述诊断步骤的所述成本和执行所述其它测试的所述诊断步骤的最小成本的总和;并且设置执行所述测试的顺序,使得当所述总和小于首先执行所述其它测试中的任一个的所述成本和执行所述所选测试和所述其它测试的其余部分的最小成本的总和时,首先执行所述所选测试。
[0033]
技术方案8. 一种系统,包括:诊断步骤模块,其被配置成基于识别故障的诊断故障代码来识别要执行的维修程序的诊断步骤,以诊断车辆上的所述故障的根本原因;和次优诊断程序模块,其被配置成:基于与所述诊断步骤中的每一个相关联的概率将所述诊断步骤划分成组,其中,所述概率指示执行对应的诊断步骤将解决所述故障的可能性;基于所述组中的每一个的所述诊断步骤的所述概率,确定执行在所述组中的每一个中的所述诊断步骤的顺序和执行所述组的所述诊断步骤的顺序;和输出指示所述诊断步骤和执行所述诊断步骤的顺序的次优诊断程序。
[0034]
技术方案9. 根据技术方案8所述的系统,其中:所述诊断步骤模块被配置成识别与执行所述诊断步骤中的每一个相关联的成本;并且对于所述组中的每一个,所述次优诊断程序模块被配置成确定执行所述诊断步骤的顺序以使诊断所述故障的所述成本最小化。
[0035]
技术方案10. 根据技术方案9所述的系统,其中,对于所述组中的每一个,所述次优诊断程序模块被配置成基于执行所述诊断步骤的所述成本和执行所述诊断步骤将解决所述故障的概率来确定执行所述诊断步骤的顺序。
[0036]
技术方案11. 根据技术方案8所述的系统,其中,所述次优诊断程序模块被配置成基于所述诊断步骤的概率和预定组大小将所述诊断步骤划分为所述组。
[0037]
技术方案12. 根据技术方案8所述的系统,其中,所述次优诊断程序模块被配置成识别所述诊断步骤的前提条件并基于所述诊断步骤的概率将所述诊断步骤划分为所述组,同时确保满足所述组中的每一个的所有所述前提条件。
[0038]
技术方案13. 根据技术方案12所述的系统,其中,所述次优诊断程序模块被配置成:基于所述诊断步骤的概率对所述诊断步骤进行排名;基于所述排名将所述诊断步骤划分为所述组;并且调整所述排名以使得所述组中的每一个的所有所述前提条件都被满足。
[0039]
技术方案14. 一种系统,包括:诊断步骤模块,其被配置成基于识别故障的诊断故障代码来识别要执行的维修程序的诊断步骤,以诊断车辆上的所述故障的根本原因;和次优诊断程序模块,其被配置成:
确定所述诊断步骤的前提条件;基于所述前提条件将所述诊断步骤划分为所述组;基于与所述诊断步骤中的每一个相关联的概率确定执行所述组中的每一个中的所述诊断步骤的顺序和执行所述组的所述诊断步骤的顺序,其中,所述概率指示执行所述对应的诊断步骤将解决所述故障的可能性;并且输出指示所述诊断步骤和执行所述诊断步骤的顺序的次优诊断程序。
[0040]
技术方案15. 根据技术方案14所述的系统,其中:所述诊断步骤模块被配置成确定与执行所述诊断步骤中的每一个相关联的成本;并且对于所述组中的每一个,所述次优诊断程序模块被配置成确定执行所述诊断步骤的顺序以使诊断所述故障的所述成本最小化。
[0041]
技术方案16. 根据技术方案14所述的系统,其中,所述次优诊断程序模块被配置成将所述诊断步骤划分为子组,使得具有相同前提条件的所有所述诊断步骤都在相同的子组中。
[0042]
技术方案17. 根据技术方案16所述的系统,其中,所述次优诊断程序模块被配置成:基于所述子组中的所述诊断步骤中的每一个的概率,确定执行所述子组中的每一个的所述诊断步骤将解决所述故障的概率;并且基于所述子组的概率确定执行所述子组的所述诊断步骤的顺序。
[0043]
技术方案18. 根据技术方案17所述的系统,其中,所述次优诊断程序模块被配置成将所述子组的所述诊断步骤划分为所述组,以使得下列中的至少一者:所述组中的每一个中的第一子组的概率与下一组中的所述第一子组的概率之间的差大于第一阈值;和所述组中的每一个中的所述第一子组的概率与前一组中的所述第一子组的概率的比率小于第二阈值。
[0044]
技术方案19. 根据技术方案18所述的系统,其中:所述诊断步骤模块被配置成识别与执行所述诊断步骤中的每一个相关联的成本;并且所述次优诊断程序模块被配置成:基于执行所述子组中的所述诊断步骤中的每一个的所述成本来确定与所述子组中的每一个相关联的所述成本;和基于所述子组的概率和所述子组的所述成本来确定执行所述子组的所述诊断步骤的顺序。
[0045]
技术方案20. 根据技术方案19所述的系统,其中,所述次优诊断程序模块被配置成:基于所述子组的概率和所述子组的所述成本的乘积对所述子组中的每一个进行排名;并且基于所述子组的所述排名确定执行所述子组的所述诊断步骤的顺序。
[0046]
从详细描述、权利要求书和附图中,本公开的其他应用领域将变得显而易见。详细
描述和具体示例仅仅旨在用于说明的目的,而并不旨在限制本公开的范围。
附图说明
[0047]
本公开将从详细描述和附图中变得更全面地被理解,其中:图1是根据本公开的示例车辆和示例诊断系统的功能框图;图2是根据本公开的示例诊断程序模块的功能框图;图3是图示根据本公开的原理的识别诊断步骤、诊断步骤的成本和诊断步骤之间的关系的示例方法的流程图;图4是包含根据本公开的示例诊断步骤、诊断步骤之间的示例关系、对应于诊断步骤的示例劳动代码和诊断步骤的示例成本的表;图5是包含根据本公开的图4的示例劳动代码和劳动代码的示例概率的表;图6是图示根据本公开的图4的示例诊断步骤成本和关系以及诊断步骤的示例概率的流程图;图7是图示根据本公开的确定最佳诊断程序的示例方法的流程图;和图8和图9是图示根据本公开的确定次优诊断程序的示例方法的流程图。
[0048]
在附图中,附图标记可以被重复使用来标识相似和/或相同的元件。
具体实施方式
[0049]
车辆制造商典型地为每个诊断故障代码创建维修程序,每个诊断故障代码可以针对每个车辆型号进行设置。每个维修程序包含为了解决由对应的诊断故障代码识别的问题而要执行的任务的列表以及识别任务的劳动代码。在许多情况下,车辆控制器设置多于一个诊断故障代码。在这些情况下,维修技术人员必须执行每个维修程序,直到问题被解决。这种方法可能导致执行具有比其它任务更小的解决问题的概率的某些任务,并且可能不是诊断问题的高效方法。
[0050]
已经开发了诊断技术来帮助维修技术人员更高效地诊断车辆上的问题,而不是简单地执行对应于识别问题的(多个)诊断故障代码的维修程序。例如,美国专利公布no.2020/0184742描述了一种诊断车辆故障的方法,该方法涉及使用现场修理数据和机器学习来确定车辆故障的概率。每个车辆故障可以通过执行由劳动代码识别的任务中的一个来识别。因此,人们可以根据其对应的概率对劳动代码进行排名,以获得诊断程序。然而,这样做可能无法以最低成本的方式诊断车辆故障。
[0051]
根据本公开的系统和方法识别要执行的维修程序的诊断步骤以诊断车辆故障并识别诊断步骤的成本和概率。然后,该系统和方法使用诊断步骤的成本和概率来确定执行诊断步骤的顺序以使诊断车辆故障的成本最小化。诊断步骤的成本可以包括人工成本和零件成本。通过在确定执行诊断步骤的顺序时考虑诊断步骤的成本,该系统和方法获得以最低成本的方式诊断车辆故障的诊断程序。
[0052]
现在参考图1,车辆10包括发动机12、变速器14、前差速器16、后差速器18、车轮20、摩擦制动器22、燃料系统24、暖通空调(hvac)系统26和排气系统28。发动机12燃烧空气和燃料的混合物以产生驱动扭矩。变速器14以多个传动比将由发动机12产生的扭矩传递到前差速器16和后差速器18。
[0053]
前差速器16将扭矩从变速器14传递到车辆10的前车轮20,同时允许前车轮20以不同的速度旋转。后差速器18将扭矩从变速器14传递到车辆10的后车轮20,同时允许后车轮20以不同的速度旋转。当摩擦制动器22被施加时,摩擦制动器22降低车辆10的速度。在所示的示例中,摩擦制动器22是盘式制动器,并且每个摩擦制动器22包括在卡钳32处的转子30。当摩擦制动器22被施加时,卡钳32将一对制动片(未示出)压靠在转子30上以产生摩擦,并且由此降低车轮20的旋转速度。摩擦制动器22共同构成车辆10的制动系统。
[0054]
燃料系统24向发动机12供应燃料。hvac系统26调节车辆10的座舱34内的空气的温度。此外,hvac系统26可以调节循环通过发动机12和变速器14的流体的温度。排气系统28在将排气释放到大气中之前减少由发动机12产生的排气中的排放物。
[0055]
车辆10还包括车辆控制模块36,其基于用户输入和传感器输入来控制发动机12、变速器14、摩擦制动器22、燃料系统24、hvac系统26和排气系统28。用户输入指示车辆10的目标操作参数,诸如目标车辆加速度、目标车辆减速度、目标车辆速度和目标座舱温度。传感器输入指示由车辆10上的传感器(未示出)测量的车辆10的操作参数的实际值。车辆控制模块36通过向它们输出控制信号来控制发动机12、变速器14、摩擦制动器22、燃料系统24、hvac系统26和排气系统28。
[0056]
此外,当车辆10经历故障时,车辆控制模块36设置识别故障的一个或多个诊断故障代码并记录当故障发生时车辆10的一个或多个操作参数。车辆控制模块36可以记录当故障发生时由传感器测量的车辆操作参数。附加地或备选地,车辆控制模块36可以基于当故障发生时测量的其它车辆操作参数来估计车辆操作参数并记录估计的车辆操作参数。车辆控制模块36输出(多个)诊断故障代码和车辆操作参数。
[0057]
诊断程序模块38基于(多个)诊断故障代码来识别要执行的维修程序的诊断步骤,以诊断故障的根本原因。诊断程序模块38确定执行诊断步骤的顺序以使诊断故障的成本最小化。诊断程序模块38输出指示诊断步骤和执行诊断步骤的顺序的诊断程序。在所示的示例中,诊断程序模块38是还包括用户接口设备42的维修工具40的一部分。在其它示例中,诊断程序模块38和/或用户接口设备42可以包括在车辆10中。
[0058]
诊断程序模块38可以基于与每个诊断步骤相关联的成本和与每个诊断步骤相关联的概率来确定执行诊断步骤的顺序。诊断程序模块38可以基于维修程序和/或车辆修理数据来确定诊断步骤的成本和概率。诊断程序模块38可以经由有线或无线信号从云模块44接收车辆修理数据。云模块44可以是远程服务器和/或可以位于车辆10的制造商的全球维修总部中。在所示的示例中,诊断程序模块38和云模块44使用用虚线表示的无线信号彼此通信。
[0059]
诊断程序模块38可以控制用户接口设备42以生成指示诊断程序的消息。用户接口设备42可操作以生成视觉消息(例如,文本、光和/或符号)、可听消息(例如,钟声)和/或触觉消息(例如,振动)。用户接口设备42可以包括电子显示器(例如,触摸屏)、扬声器和/或振动马达。
[0060]
现在参考图2,诊断程序模块38的示例实现方式包括诊断步骤模块46、最佳诊断程序模块48和次优诊断程序模块50。诊断步骤模块46基于识别故障的一个或多个诊断故障代码来识别要执行的一个或多个维修程序的诊断步骤,以诊断车辆10上的故障的根本原因。此外,诊断步骤模块46识别与每个诊断步骤相关联的成本和与每个诊断步骤相关联的概
率。概率指示执行对应的诊断步骤将解决故障的可能性。
[0061]
最佳诊断程序模块48确定执行诊断步骤的顺序以使诊断故障的成本最小化。最佳诊断程序模块48基于每个诊断步骤的概率中的每个诊断步骤的成本来确定执行诊断步骤的顺序。最佳诊断程序模块48输出指示要执行的诊断步骤和执行诊断步骤的顺序的最佳诊断程序。最佳诊断程序模块48可以控制用户接口设备42以生成指示(例如,显示)最佳诊断程序的消息。
[0062]
次优诊断程序模块50将诊断步骤划分成组,并基于每个组中的诊断步骤的概率来确定执行各组诊断步骤的顺序。此外,对于每个组,次优诊断程序模块50确定执行诊断步骤的顺序以使诊断故障的成本最小化。次优诊断程序模块50输出指示要执行的诊断步骤和执行诊断步骤的顺序的次优诊断程序。虽然最佳诊断程序可能需要比次优诊断程序更少的成本来执行,但次优诊断程序需要更少的时间和/或处理能力来生成。次优诊断程序模块50可以控制用户接口设备42以生成指示次优诊断程序的消息。
[0063]
现在参考图3,识别诊断步骤、诊断步骤的成本和诊断步骤之间的关系的示例方法开始于步骤52。在下面阐述的方法的描述中,图2的模块执行方法的步骤。然而,执行方法的步骤的特定模块可能与下面的描述不同。附加地或备选地,可以独立于任何模块执行方法的一个或多个步骤。
[0064]
在步骤54,对于给定的诊断故障代码和车辆型号(例如,车辆10的型号),诊断步骤模块46还识别所有诊断步骤以及它们在维修程序中的相关联的条件和人工成本。诊断步骤是为诊断故障的根本原因而采取的行动。诊断步骤的条件可以是在执行诊断步骤时测量或观察到的车辆操作参数或特性。当操作参数或特性满足某些准则(例如,落在预定范围内)时,可以满足该条件。否则,可能不满足该条件。诊断步骤的人工成本是执行诊断步骤所需的劳动的成本。
[0065]
诊断步骤模块46可以存储用于一个或多个车辆型号的多个维修程序,并且每个维修程序可以对应于可以在对应的车辆型号中设置的诊断故障代码中的一个。每个维修程序可以指定当设置对应的诊断故障代码时要执行的一系列诊断步骤以及诊断步骤的人工成本和条件。维修程序可以由车辆制造商在车辆型号的设计阶段期间创建。附加地或备选地,维修程序可以在车辆型号的生产阶段期间创建或修改,并且诊断步骤模块46可以从云模块44检索维修程序。
[0066]
在步骤56,诊断步骤模块46识别在步骤54中识别的诊断步骤彼此共有的准备步骤。此外,诊断步骤模块46识别与准备步骤相关联的人工成本。准备步骤是在执行诊断步骤之前要采取的行动。在准备步骤中指定的行动可能无法诊断由诊断故障代码识别的故障的根本原因。诊断步骤模块46从维修程序中获得准备步骤及其相关联的成本。诊断步骤模块46可以将准备步骤表示为(多个)对应的诊断步骤的前提条件。
[0067]
在步骤58,对于涉及更换车辆零件的诊断步骤,诊断步骤模块46将车辆零件的成本与对应的诊断步骤的人工成本相加,以获得该诊断步骤的总成本。诊断步骤模块46可以存储当使用维修程序诊断车辆上的故障的根本原因时可以更换的所有零件的成本。诊断步骤模块46可以从云模块44接收零件成本。
[0068]
在步骤60,诊断步骤模块46识别维修程序中诊断步骤之间的依赖性,并将依赖性表示为前提条件。例如,根据维修程序,在执行诊断步骤中的另一个之前,可能需要满足诊
断步骤中的一个的条件。因此,满足一个诊断步骤的条件可以是另一个诊断步骤的前提条件。如果不满足前提条件,则维修程序可以指定执行不同的诊断步骤。
[0069]
在步骤62,诊断步骤模块46存储用于给定诊断故障代码和车辆型号的诊断步骤以及与诊断步骤相关联的成本、准备步骤和前提条件。该方法在步骤62结束。可以对可以由车辆控制模块36设置的每个诊断故障代码执行图3的方法。
[0070]
现在参考图4,表65示出了可以由诊断步骤模块46识别以诊断故障的根本原因的诊断步骤以及与诊断步骤相关联的前提条件、条件和成本的示例。表65的最左边列列出第一诊断步骤66、第二诊断步骤68和第三诊断步骤70。表65的标题行列出前提条件72、第一条件74、第二条件76和成本78。
[0071]
在前提条件72下面列出的数字识别作为同一行中列出的诊断步骤的前提条件的诊断步骤。因此,第一诊断步骤66是第二诊断步骤68的前提条件。在第一条件74和第二条件76下面列出的数字指示劳动代码,该劳动代码识别了如果分别满足在同一行中列出的诊断步骤的第一和第二条件则可以执行的任务。劳动代码包括第一劳动代码80、第二劳动代码82、第三劳动代码84和第四劳动代码86。因此,如果满足第一诊断步骤66、第二诊断步骤68或第三诊断步骤70的第一条件,则可以执行分别由第一劳动代码80、第四劳动代码86和第二劳动代码82识别的任务。如果满足第一诊断步骤66、第二诊断步骤68或第三诊断步骤70的第二条件,则可以执行由第二劳动代码82、第三劳动代码84和第四劳动代码86中的两个或更多个识别的多个任务。例如,如果满足第二诊断步骤68的第二条件76,则可以执行由第二劳动代码82和第三劳动代码84识别的任务。
[0072]
成本78下面列出的数字指示执行在同一行中的诊断步骤的成本(例如,以诸如分钟的时间单位计)。因此,第一诊断步骤66、第二诊断步骤68和第三诊断步骤70的成本分别为10、15和20。成本78可以仅包括对应的诊断步骤的人工成本。此外,如果对应的诊断步骤涉及更换车辆零件,则成本78可以包括车辆零件的成本。
[0073]
现在参考图5,表67列出了表65的劳动代码和指示执行由劳动代码识别的任务将解决故障的可能性的概率的示例。劳动代码及其对应的概率可以被称为故障的最可能原因,并且可以使用上面引用并且名称为“system and method for determining most probable cause of vehicle fault using multiple diagnostic techniques”的专利申请中描述的技术导出。列69列出了第一劳动代码80、第二劳动代码82、第三劳动代码84和第四劳动代码86。列71列出了执行由同一行中的劳动代码识别的任务将解决故障的概率。因此,执行由第一劳动代码80识别的任务将解决故障的概率为百分之五十(50%),执行由第四劳动代码86识别的任务将解决故障的概率为25%,执行由第二劳动代码82识别的任务将解决故障的概率为15%,并且执行由第三劳动代码84识别的任务将解决故障的概率为10%。
[0074]
现在参考图6,流程图87图示了图4中所示的诊断步骤之间的关系,并且示出了与诊断步骤相关联的成本78和与劳动代码相关联的概率88。如果满足第一诊断步骤66的第一条件,则执行由第一劳动代码80识别的任务,并且执行该任务将解决故障的概率88等于50%。如果满足第一诊断步骤66的第二条件,则执行第二诊断步骤68,并且执行第二诊断步骤68和第三诊断步骤70(与第二劳动代码82、第三劳动代码84和第四劳动代码86相关联)将解决故障的概率等于25%和15%和10%的总和,即50%。
[0075]
如果满足第二诊断步骤68的第一条件,则执行由第四劳动代码86识别的任务,并
且执行该任务将解决故障的概率88等于25%。如果满足第二诊断步骤68的第二条件,则执行第三诊断步骤70,并且执行第三诊断步骤70(与第二劳动代码82和第三劳动代码84相关联)将解决故障的概率等于15%和10%的总和,即25%。
[0076]
如果满足第三诊断步骤70的第一条件,则执行由第二劳动代码82识别的任务,并且执行该任务将解决故障的概率88等于15%。如果满足第三诊断步骤70的第二条件,则执行由第三劳动代码84识别的任务,并且执行该任务将解决故障的概率88等于10%。
[0077]
现在参考图7,确定最佳诊断程序的方法开始于步骤90。在步骤92,诊断步骤模块46获得诊断步骤、具有概率分布的劳动代码、测试、前提条件、针对条件的劳动代码组拆分以及成本。诊断步骤模块46可以从用于给定诊断故障代码和车辆型号的维修程序中获得诊断步骤、测试、前提条件、针对条件的劳动代码组拆分以及成本。在一个示例中,诊断步骤模块46获得具有概率分布{p(lc1), (plc2) ... p(lcn)}的劳动代码组(lc
g = lc1, lc2, ... lcn)、测试或诊断步骤集(th, h = 1, 2, ... n)、前提条件测试集{h-pre}、针对条件(1, 2)的劳动代码组拆分(lcgm, lcgn)和成本c(th)。
[0078]
维修程序可以将诊断步骤分组到测试中。由诊断步骤模块46获得的劳动代码可以包括当满足诊断步骤的条件时要执行的劳动代码。概率分布包括执行由劳动代码识别的任务将解决由诊断故障代码识别的故障的概率。前提条件包括准备步骤和/或在执行其它诊断步骤之前要执行的诊断步骤中的一些。对于每个诊断步骤,劳动代码组拆分包括劳动代码的列表,如果满足诊断步骤的一个条件,则可以执行该劳动代码的列表,并且如果满足诊断步骤的另一个条件,则可以执行另一个劳动代码的列表。
[0079]
在步骤94,最佳诊断程序模块48递归地找到在满足一个或多个约束的同时在具有相同前提条件的测试集中的每个测试中执行由所有劳动代码识别的任务的最小成本。最佳诊断程序模块48可以使用动态规划来确定测试集的最小成本。在一个示例中,为了获得包括劳动代码组(lcgk)的测试集t = {tk, k = 1, 2, ...}的最小成本v(th, lcg),最佳诊断程序模块48选择首先要执行的测试集的测试th,确定执行所选测试的成本c(th),确定执行其它测试中的每一个的诊断步骤的最小成本,并使用诸如下列的关系确定执行所选测试的诊断步骤的成本和执行其它测试的诊断步骤的最小成本的总和(1)其中,th是第一测试,c(th)是测试的成本th,ti是在满足测试th的条件一时进行的测试,v(ti, lcgi)是从测试ti开始执行与劳动代码组lcgm相关联的所有任务的最小成本,tj是在满足测试th的条件二时进行的测试,v(tj, lcgm)是从测试tj开始执行与劳动代码组lcgm相关联的所有任务的最小成本,p(lcgm)是劳动代码组lcgm的概率,p(lcgn)是劳动代码组lcgn的概率,并且p(lcgk)是包括测试集的所有劳动代码的劳动代码组lcgk的概率。
[0080]
约束可以包括第一约束、第二约束和/或第三约束。如果在执行第一测试th之前完成测试集中的诊断步骤的所有前提条件,则满足第一约束。如果执行由与第一测试th相关联的劳动代码识别的任务使得能够在首先执行第一测试th时完成由测试集中的所有劳动代码识别的任务,则满足第二约束。当不需要进一步诊断时,如果成本设置为零,则满足第
三约束。
[0081]
参照图4至图6中图示的示例,可以更好地理解关系式(1)。在该示例中,第一劳动代码80、第二劳动代码82、第三劳动代码84和第四劳动代码86可以组成包括第一、第二、第三和第四测试的测试集(th, ti, tj, tk)的劳动代码组lcgk。第一测试th首先被执行并由执行第一诊断步骤66组成。因此,第一测试th的成本是10。如果满足第一测试th的第一条件74,并且不需要进一步诊断,则执行由劳动代码80表示的修理。因此,第二测试ti的成本为零,因为测试ti是空的(即,不包括任何诊断步骤)。
[0082]
如果满足第一测试th(即,第一诊断步骤66)的第二条件76,则执行第二测试tj(即,第二诊断步骤68)。如果在执行该步骤之后满足第二诊断步骤68的第一条件74,则执行由第四劳动代码86表示的修理,并且不需要进一步诊断。如果满足第二诊断步骤68的第二条件76,则执行第三测试tk(即,第三诊断步骤70)。基于是否满足第三诊断步骤70的第一条件74或第二条件76,将相应地执行由第二劳动代码82和第三劳动代码84表示的修理。任一种情况都不需要额外的诊断。因此,图4至图6的概率和成本可以插入关系式(1)中,以获得测试集的成本,如下所示: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})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})v(70, {82, 84}) = 20成本=v(66, {80, 82, 84, 86}) = 10 50% * (15 25%/50%*20) = 22.5。
[0083]
最佳诊断程序模块48可以选择测试集中的不同测试来首先执行,确定所选测试的成本与测试集中的其它测试的最小成本的总和,并且设置执行测试的顺序,使得当该总和小于首先执行其它测试中的任一个的成本与执行所选测试和其它测试的其余部分的最小成本的总和时,首先执行所选测试。例如,最佳诊断程序模块48可以设置测试th、ti、tj、tk的顺序,使得当在首先执行测试th时使用关系式(1)获得的成本小于在首先执行测试ti、tj或tk中的任一个时使用关系式(1)获得的成本时,首先执行测试th。
[0084]
现在参考图8,确定次优诊断程序的方法开始于步骤102。在执行图8的方法之前,诊断步骤模块46可以识别针对给定的诊断故障代码要执行的维修程序的诊断步骤以及诊断步骤的前提条件、成本和概率。在步骤104,次优诊断程序模块50基于诊断步骤的概率对诊断步骤进行排名。例如,次优诊断程序模块50可以将最高排名分配给具有最高概率的诊断步骤,并将最低排名分配给具有最低概率的诊断步骤。次优诊断程序模块50可以使用排名来确定要执行诊断步骤的顺序。例如,次优诊断程序模块50可以从具有最高排名的诊断步骤(例如,编号1)到具有最低排名的诊断步骤(例如,编号50)的升序排列诊断步骤。
[0085]
在步骤106,次优诊断程序模块50调整诊断步骤的排名,使得当诊断步骤根据其排名以升序执行时,满足诊断步骤的前提条件。在步骤108,次优诊断程序模块50将排名的诊断步骤划分为预定大小的组(例如,每组10个诊断步骤)。此外,次优诊断程序模块58基于该组中的诊断步骤的概率来确定执行每个组的顺序。例如,可以首先执行具有最高概率的诊断步骤的组,并且可以最后执行具有最低概率的诊断步骤的组。在步骤110,次优诊断程序模块50跨不同组调整诊断步骤,以确保满足每个组的前提条件。前提条件可以包括准备步
骤和/或在每个组中的诊断步骤之前要执行的其它诊断步骤。
[0086]
在步骤112,次优诊断程序模块50使用图7的方法为每个组找到最佳程序。换句话说,对于每个组,次优诊断程序模块50确定执行诊断步骤的顺序以使诊断故障的成本最小化。在步骤114,次优诊断程序模块50根据所有组的顺序集成来自所有组的程序,以获得次优诊断程序。在步骤116,次优诊断程序模块50输出次优诊断程序。该方法在步骤118结束。
[0087]
现在参考图9,确定次优诊断程序的另一方法开始于步骤120。在执行图9的方法之前,诊断步骤模块46可以识别针对给定的诊断故障代码要执行的维修程序的诊断步骤以及诊断步骤的前提条件、成本和概率。在步骤122,次优诊断程序模块50基于诊断步骤的前提条件将诊断步骤划分为子组。例如,次优诊断程序模块50可以将具有相同前提条件的所有诊断步骤置于相同子组中。前提条件可以包括准备步骤和/或在该子组中的诊断步骤之前要执行的其它诊断步骤。
[0088]
在步骤124,次优诊断程序模块50确定每个子组的总概率。例如,次优诊断程序模块50可以确定诊断步骤和每个子组的概率的总和,以获得该子组的总概率。在步骤126,次优诊断程序模块50使用图7的方法为每个子组找到最佳程序和相关联的总成本。换句话说,对于每个子组,次优诊断程序模块50确定执行诊断步骤的顺序以使诊断故障的成本最小化。在步骤128,次优诊断程序模块50根据子组的总概率对子组进行排名,使得具有最高总概率的子组在顺序中排名第一,并且具有最低总概率的子组在顺序中排名最后。
[0089]
在步骤130,次优诊断程序模块50基于从子组中的一个到子组中的另一个的概率的下降将子组划分为组。在一个示例中,次优诊断程序模块50将子组划分为组,使得每个组中的第一子组的概率与下一组中的第一子组的概率之间的差大于第一阈值(例如,60%)。在另一个示例中,次优诊断程序模块50将子组划分为组,使得每个组中的第一子组的概率与前一组中的第一子组的概率的比率小于第二阈值(例如,10%)。第一和第二阈值可以是预定的。
[0090]
在步骤132,在组中的每一个内,次优诊断程序模块50基于它们的总概率和它们的总成本对子组重新排序。在一个示例中,次优诊断程序模块50从1中减去每个子组的总概率,并将该差乘以该子组的总成本,以获得该子组的排名。然后,次优诊断程序模块58基于子组的排名对每个组内的子组进行排序,排名最低的子组在顺序中是第一个,并且排名最高的子组在顺序中是最后一个。每个子组的所得顺序是该子组的诊断程序。
[0091]
在步骤134,次优诊断程序模块根据组的顺序集成来自所有组的诊断程序。当将子组划分为组时,次优诊断程序模块50可以将顺序分配给每个组。例如,通过将最高排名分配给具有最高总概率的组并将最低排名分配给具有最低总概率的组,次优诊断程序模块50可以基于其子组的总概率对每个组进行排名。然后,次优诊断程序模块50可以将顺序分配给每个组,使得具有最低排名的组在顺序中是第一个,并且具有最高排名的组在顺序中是最后一个,以获得次优诊断程序。在136,次优诊断程序模块50输出次优诊断程序。该方法在步骤138结束。
[0092]
先前的描述本质上仅仅是说明性的,决不旨在限制本公开、其应用或用途。本公开的广泛教导可以以多种形式实现。因此,虽然本公开包括特定的示例,但是本公开的真实范围不应该被如此限制,因为在研究附图、说明书和所附权利要求后,其它修改将变得显而易见。应当理解,方法中的一个或多个步骤可以以不同的顺序(或同时)执行,而不改变本公开
的原理。此外,尽管每个实施例在上面被描述为具有某些特征,但是关于本公开的任何实施例描述的那些特征中的任何一个或多个可以在任何其它实施例中实施和/或与任何其它实施例的特征组合,即使该组合没有被明确描述。换句话说,所描述的实施例不是互斥的,并且一个或多个实施例彼此的排列仍然在本公开的范围内。
[0093]
元件之间(例如,模块、电路元件、半导体层等之间)的空间和功能关系使用各种术语来描述,包括“连接的”、“接合的”、“联接的”、“相邻的”、“紧挨着的”、“在...的顶部上”、“在...上方”、“在...下方”和“设置在”。除非明确描述为“直接”,否则当在上述公开中描述第一元件和第二元件之间的关系时,该关系可以是在第一元件和第二元件之间不存在其它中间元件的直接关系,但是也可以是在第一元件和第二元件之间存在一个或多个中间元件(空间上或功能上)的间接关系。如本文所用,短语“a、b和c中的至少一个”应该被解释为使用非排他性逻辑“或”来表示逻辑(a或b或c),并且不应该被解释为表示“a中的至少一个、b中的至少一个和c中的至少一个”。
[0094]
在附图中,箭头所指的箭头方向通常表示图示感兴趣的信息流(诸如数据或指令)。例如,当元件a和元件b交换各种信息,但是从元件a传送到元件b的信息与图示相关时,箭头可以从元件a指向元件b。这个单向箭头并不意味着没有其它信息从元件b传送到元件a。此外,对于从元件a传送到元件b的信息,元件b可以向元件a发送对信息的请求或收到确认。
[0095]
在本技术中,包括下面的定义,术语“模块”或术语“控制器”可以用术语“电路”代替。术语“模块”可以指、是其一部分或包括:专用集成电路(asic);数字、模拟或混合模拟/数字离散电路;数字、模拟或混合模拟/数字集成电路;组合逻辑电路;现场可编程门阵列(fpga);执行代码的处理器电路(共享、专用或组);存储由处理器电路执行的代码的存储器电路(共享、专用或组);提供所描述功能的其它合适的硬件部件;或上述的一些或全部的组合,诸如在片上系统中。
[0096]
模块可以包括一个或多个接口电路。在一些示例中,接口电路可以包括连接到局域网(lan)、互联网、广域网(wan)或它们的组合的有线或无线接口。本公开的任何给定模块的功能可以分布在经由接口电路连接的多个模块中。例如,多个模块可以允许负载平衡。在另一示例中,服务器(也称为远程或云)模块可以代表客户端模块完成一些功能。
[0097]
如上文所使用,术语“代码”可以包括软件、固件和/或微码,并且可以指程序、例程、函数、类、数据结构和/或对象。术语“共享处理器电路”涵盖执行来自多个模块的一些或全部代码的单个处理器电路。术语“组处理器电路”涵盖与附加的处理器电路结合来执行来自一个或多个模块的一些或全部代码的处理器电路。对多个处理器电路的引用涵盖分立管芯上的多个处理器电路、单个管芯上的多个处理器电路、单个处理器电路的多个内核、单个处理器电路的多个线程或者上述的组合。术语“共享存储器电路”涵盖存储来自多个模块的一些或全部代码的单个存储器电路。术语“组处理器电路”涵盖与附加的存储器结合来存储来自一个或多个模块的一些或全部代码的存储器电路。
[0098]
术语“存储器电路”是术语计算机可读介质的子集。如本文所用,术语“计算机可读介质”不涵盖通过介质(诸如载波)传播的暂时电信号或电磁信号;因此,术语计算机可读介质可以被认为是有形的和非暂时性的。非暂时性有形计算机可读介质的非限制性示例是非易失性存储器电路(诸如闪存电路、可擦除可编程只读存储器电路或掩模只读存储器电
路)、易失性存储器电路(诸如静态随机存取存储器电路或动态随机存取存储器电路)、磁存储介质(诸如模拟或数字磁带或硬盘驱动器)和光存储介质(诸如cd、dvd或蓝光光盘)。
[0099]
本技术中描述的装置和方法可以部分或全部由专用计算机实施,该专用计算机通过配置通用计算机来执行体现在计算机程序中的一个或多个特定功能而创建。上面描述的功能框、流程图组件和其它元件用作软件规范,其可以通过熟练的技术人员或程序员的日常工作翻译成计算机程序。
[0100]
计算机程序包括存储在至少一个非暂时性、有形的计算机可读介质上的处理器可执行指令。计算机程序也可以包括或依赖于存储的数据。计算机程序可以涵盖与专用计算机的硬件交互的基本输入/输出系统(bios)、与专用计算机的特定设备交互的设备驱动程序、一个或多个操作系统、用户应用程序、后台维修、后台应用程序等。
[0101]
计算机程序可以包括:(i)要被解析的描述性文本,诸如html(超文本标记语言)、xml(可扩展标记语言)或json (js对象简谱),(ii)汇编代码,(iii)由编译器从源代码生成的目标代码,(iv)由解释器执行的源代码,(v)由即时编译器编译和执行的源代码,等等。仅作为示例,源代码可以使用包括下列在内的语言的语法编写:c、c 、c#、objective-c、swift、haskell、go、sql、r、lisp、java
®
、fortran、perl、pascal、curl、ocaml、javascript
®
、html5(超文本标记语言第5版)、ada、asp(活动服务器页面)、php (php:超文本预处理器)、scala、eiffel、smalltalk、erlang、ruby、flash
®
、visual basic
®
、lua、matlab、simulink和python
®

再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献