多代理程序合作車輛故障診斷系統和相關聯的方法
2023-05-18 13:47:31 5
多代理程序合作車輛故障診斷系統和相關聯的方法
【專利摘要】一種控制單元執行車輛第一子系統的第一代理程序,所述第一代理程序包括故障檢測代理程序和通信代理程序。所述故障檢測代理程序為了識別在所述第一子系統中的問題而監視所述第一子系統的性能數據,在第一存儲器中存儲所述第一子系統所對應的若干第一候選故障診斷過程,以及從所述若干第一候選故障診斷過程當中搜索對引起所述第一子系統中所述問題的故障進行識別的故障診斷過程。當所述故障檢測代理程序的搜索未能找到識別所述故障的所述故障診斷過程時所述通信代理程序與第二代理程序合作。所述合作包括對存儲著若干第二候選故障診斷過程的第二存儲器進行搜索,向所述第二代理程序發送所述監視的性能數據以及在所述第一與第二代理程序之間交換搜索結果數據。
【專利說明】多代理程序合作車輛故障診斷系統和相關聯的方法
[0001]相關申請的交叉引用
[0002]本申請要求2011年4月29日提交的美國序列號13/097,703的優先權,其全部內容在此引用作為參考。
【技術領域】
[0003]本申請涉及診斷車輛故障的方法、系統、算法和過程,更確切地說,使用智能代理程序診斷車輛。其應用包括在沒有診斷故障碼(DTC)時高效地識別和診斷當前的和潛在的未來的車輛故障。
【背景技術】
[0004]車載診斷(OBD)系統協助技術人員診斷和保養計算機化車輛系統,比如發動機和制動系統。OBD系統用於診斷子系統組件故障和失靈,並且用於檢測子系統組件損壞。當組件的損壞達到危急程度時,能夠產生DTC以及/或者車輛的儀錶板上的報警燈能夠亮起以向駕駛員通報此錯誤。
[0005]車輛的若干組件的損壞程度由許多因素影響,包括駕駛員的行為、天氣、駕駛條件和裡程/時間。損壞的這種程度一般稱為車輛的健康狀況。為了確保DTC由技術人員以及時的間隔檢查並且為了避免車輛組件中的危急故障,勸告駕駛員定期地、固定的裡程後或固定的時段後保養其車輛,以便檢查和維護。
[0006]典型情況下,進行OBD的方式為由有經驗的技術人員尋找已知問題。在這些情況下,已知問題已經被記錄為車輛上的DTC,因此能夠容易地識別和修理。
[0007]不過,只是遵循推薦的日程表進行當前的基於裡程的和基於時間的檢查可能有問題。例如,定期檢查不考慮影響車輛組件壽命的多種因素,比如駕駛員行為、天氣、駕駛條件和其他有影響的因素。所以,這樣的檢查對於防止車輛組件的附加損害可能太遲了,引起昂貴的修理或傷害。同樣,在最優條件下駕駛車輛時,可能不必要地對車輛維護,引起車主無謂的成本。
[0008]此外,當前的車輛診斷一般依賴於可獲得的DTC。當DTC不可獲得時,對於車輛故障確定,車輛檢查和診斷漫長而昂貴。
【發明內容】
[0009]本申請書涉及的系統和相關聯方法在定期維護中考慮了車輛子系統的性能和車輛駕駛條件,在DTC不可用時識別潛在的車輛故障。因此能夠快速地識別車輛故障的原因同時避免不必要的維護。
[0010]示範控制單元包括處理器,被配置為執行車輛的第一子系統的第一代理程序。所述第一代理程序包括故障檢測代理程序和通信代理程序。所述故障檢測代理程序被配置為為了識別在所述第一子系統中的問題而監視所述第一子系統的性能數據,在第一存儲器中存儲所述第一子系統所對應的若干第一候選故障診斷過程,以及從所述若干第一候選故障診斷過程當中搜索對引起所述第一子系統中所述問題的故障進行識別的故障診斷過程。所述通信代理程序被配置為當所述故障檢測代理程序的搜索未能找到識別所述故障的所述故障診斷過程時與第二代理程序合作。與所述第二代理程序的所述合作包括對存儲著若干第二候選故障診斷過程的第二存儲器進行搜索,向所述第二代理程序發送所述監視的性能數據以及在所述第一與第二代理程序之間交換搜索結果數據。
[0011]所述控制單元可以包括網絡接口控制器,被配置為與所述第二代理程序的所述合作未能引起找到識別所述故障的所述故障診斷過程時建立所述第一代理程序與伺服器代理程序之間的通信連結。注意,所述通信代理程序被配置為從所述伺服器代理程序接收伺服器候選故障診斷過程。在某示範方面,所述伺服器代理程序由遠離所述控制器單元運行的伺服器執行。
[0012]在一個方面,所述通信代理程序被配置為把所述伺服器候選故障診斷過程分配到所述第一代理程序和所述第二代理程序的所述故障檢測代理程序。所述通信代理程序可以接收所述第二代理程序應用所述伺服器候選故障診斷過程的結果,而所述故障檢測代理程序可以把所述故障檢測代理程序應用所述伺服器候選故障診斷過程的結果與所述第二代理程序應用所述伺服器候選故障診斷過程的結果進行對比以識別所述故障。在某些方面,所述故障的所述識別事件記錄被存儲在所述第一存儲器中。
[0013]在另一個方面,所述網絡接口控制器被配置為通過網絡創建所述第一代理程序、所述第二代理程序與所述伺服器代理程序之間的通信連結,以及所述通信代理程序被配置為從所述伺服器代理程序接收所述伺服器候選故障診斷過程以響應:(I)所述伺服器代理程序連接到所述網絡,以及(2)所述通信代理程序響應所述伺服器代理程序連接到所述網絡,向所述伺服器代理程序傳送所述受監視的性能數據以及在所述第一和第二代理程序之間交換的所述搜索結果數據。注意,所述通信代理程序可以進一步被配置為向所述伺服器代理程序發送所述受監視的性能數據的統計和概率模型。
[0014]在又一個方面,所述第二代理程序對應於所述車輛的第二子系統,以及所述第二代理程序被配置為監視所述第二子系統的性能數據。在這個方面,所述第一代理程序被配置為識別所述第一與第二子系統的所述受監視性能數據之間的相關性,以及所述第一代理程序在所述第二存儲器中搜索根據所述相關性識別所述故障的所述故障診斷過程。在替代方面,所述控制單元包括存儲器模塊,包括所述第一和第二存儲器作為離散的存儲體,其中所述處理器進一步被配置為執行所述第二代理程序。在另一個替代方面,所述控制單元包括網絡接口控制器,被配置為把所述第一代理程序與所述第二代理程序通信地連結,其中所述第二代理程序由另一個控制單元的處理器執行。
[0015]所述第一代理程序可以包括匯聚代理程序,被配置為從所述受監視性能數據產生統計模型和概率模型以預測未來問題的概率。所述故障檢測代理程序被配置為把所述第一子系統的所述受監視性能數據與來自所述匯聚代理程序的所述統計和概率模型的數據進行對比以識別在所述第一子系統中的所述問題。
[0016]所述搜索結果數據可以包括向所述受監視性能數據的至少一部分應用候選故障診斷過程的至少一部分的結果。所述候選故障診斷過程包括以下至少其一:(I)讀取所述受監視子系統性能數據的選定部分,(2)對比所述受監視子系統性能數據和閾值,(3)檢驗所述受監視子系統性能數據的計時要求,以及(4)報告或記錄所述受監視子系統性能數據。所述第一代理程序可以進一步包括學習代理程序,在健康的性能數據上進行訓練,並且被配置為通過對比所述受監視性能數據和所述健康的性能數據而識別所述問題。
[0017]附圖簡要說明
[0018]通過參考附圖可以獲得本公開的更全面理解,其中:
[0019]圖1是多代理程序診斷系統的示範構架框圖;
[0020]圖2A是智能代理程序的特徵表;
[0021]圖2B是智能代理程序的分解表;
[0022]圖3A是顯示駕駛地理位置信息的表;
[0023]圖3B是顯示車輛信息的表;
[0024]圖3C是溫度隨時間變化的曲線;
[0025]圖3D是溼度隨時間變化的曲線;
[0026]圖4展示了從給定數據集產生模型的剖析器;
[0027]圖5是流程圖,展示了由目標代理程序和伺服器代理程序執行的算法過程;
[0028]圖6是流程圖,展示了故障診斷模型的功能塊算法的串行執行;
[0029]圖7是流程圖,展示了以狀態機確定的順序執行的功能塊算法;
[0030]圖8是流程圖,展示了功能塊算法的並行執行;
[0031]圖9是流程圖,展示了功能塊算法的條件執行;
[0032]圖10是流程圖,展示了功能塊算法的串行和並行執行;
[0033]圖11是流程圖,展示了功能塊算法由兩個代理程序並行執行;
[0034]圖12是代理程序軟體框架的展示;
[0035]圖13是代理程序通信協議的展示;
[0036]圖14是實例消息幀的展示;
[0037]圖15是連接到區域網並包括代理程序集的遠程代理程序的框圖;
[0038]圖16是由數據匯聚代理程序產生的數據密度直方圖,作為統計模型;
[0039]圖17是由數據匯聚代理程序利用的理想高斯分布,作為測量誤差的示範概率模型;
[0040]圖18是學習系統的學習代理程序的框圖;
[0041]圖19是框圖,展示了圖15所示遠程代理程序的代理程序集的算法互動;
[0042]圖20是框圖,展示了遠程代理程序從車輛制動模塊接收數據;
[0043]圖21是直方圖,展示的統計模型定義了制動踏板壓力量與正常車輛的車輛響應之間的關係;
[0044]圖22是由數據匯聚代理程序通過積累統計模型比如圖21展示的直方圖的許多事例逐步形成的概率模型;
[0045]圖23是智能代理程序的診斷算法的流程圖;
[0046]圖24是智能代理程序的故障識別和緩解算法的流程圖;
[0047]圖25A-2?展示了採用多個合作智能代理程序的故障檢測算法。
【具體實施方式】
[0048]車輛包括由電子控制單元(E⑶)控制的多個計算機化子系統。E⑶可以在OBD系統中運行或與其一起運行以監視子系統的性能以便檢測車輛狀態,比如失靈或其他異常運行狀態。作為保養特徵,車輛包括與保養終端連接的接口以從OBO系統讀出數據,識別故障和推薦要進行的保養。
[0049]從OBD系統讀出的數據包括識別故障的DTC,它與來自技術人員的視覺檢查結合,體現了常規診斷實踐。本申請針對得不到DTC假設下運行的多代理程序系統。
[0050]在某些方面,系統登錄全車數據(即涉及不止一個車輛子系統的數據)以便建立子系統間信號的相關性,通過執行實施為車內代理程序的奇異檢測、匯聚和機器學習算法而進行快速的初步車載分析,以確定可能的故障位置和嚴重性。當車載分析不確定時可以由數據中心(在商品特許經銷商的服務終端處的伺服器)請求更複雜的分析。
[0051]不僅如此,利用這樣的系統運行在得不到DTC的假設下,有可能搶先地識別可能的未來故障。所以,駕駛員能夠受到警告和更好的準備,並且經銷商/服務中心能夠削減前置時間以使得車輛更快地修理。常規診斷慣例為「後修」或反應性方式,其中在子系統顯示故障跡象或顧客抱怨性能後進行保養。
[0052]本申請的若干方面針對「前修」即預示方式。也就是,本申請介紹的若干方面監視全車信號並建立不僅彼此而且與多種歷史信息的互相關,如車輛使用模式(即駕駛風格、環境條件),所以進行多個子系統的代理程序之間的協作以識別車輛故障,可以包括預測車輛故障。
[0053]在流程圖中的任何過程、描述或塊都應當被理解為表示若干模塊、分段、代碼部分,它們包括一條或多條可執行指令,用於實施這些過程/算法中的特定邏輯功能或步驟,並且替代實施方案包括在示範實施例的範圍內,其中若干功能可以不以所示和討論的順序執行,包括實質上同時發生或以倒序執行,取決於所涉及的功能,正如本領域技術人員會理解。
[0054]不僅如此,正如本領域技術人員接受了本公開的教導後將認識到,在不脫離附帶的權利要求書所包含的本公開範圍的情況下也能夠設想所呈現實施例的幾種結合和修改。因此,按照以上教導,權利要求書的許多修改和變種是可能的,所以應當理解,在附帶的權利要求書的範圍內,以本文專門介紹的方式以外的方式也可以實踐若干實施例。
[0055]現在參考附圖,其中在幾幅圖中相同附圖標記始終指明一致或對應部分/步驟,圖1描述了系統100的示範構架,利用伺服器104和控制單元106的智能代理程序診斷車輛102中的故障。系統100包括若干智能代理程序如伺服器代理程序104和目標代理程序106。
[0056]伺服器104包括處理器106,比如英特爾公司生產的至強微處理器,連接到存儲器108和資料庫110以執行智能代理程序,伺服器代理程序112。伺服器104可以實施為個人計算機並配備伺服器接口 114,比如網絡控制器,以建立經由網絡116與控制單元106的通信。網絡116可以包括區域網(LAN)或車輛區域網(通常稱為VLAN)。LAN可以是基於乙太網的網絡,而VLAN可以基於LIN (局部互連網)。在一個方面,網絡116被配置為使用流行的汽車通信協議的網絡層,比如CAN、TCP/IP、Flexray和MOST。
[0057]網絡116也可以包括連接到網際網路的LAN或VLAN,在此情況下,伺服器104和控制單元106通過無線電發射機執行無線通信任務。示範無線電發射機包括基於行動電話的發射機,比如基於GSM、CDMA和LTE標準的發射機。[0058]控制單元106是車輛102的控制單元,並把車輛102的VLAN通信地連結到車輛102的多個其他其他控制單元。在某些方面,控制單元106是在車輛112中配置的E⑶或其組件。E⑶是在車輛中配置的計算機,並且控制單元106包括遠程接口 118經由網絡116通信,而處理器120連接到相關聯的存儲器122以執行智能代理程序、目標代理程序。在一些方面,處理器120執行多個目標代理程序124、126和128,如圖1所示。在其他方面,在圖1中未顯示,目標代理程序124、126和128的每一個都由車輛102的離散、分開的E⑶運行。
[0059]與目標代理程序124 (和126或128)相比,伺服器代理程序112關於可訪問資源比如存儲器和處理能力的限制更少。目標代理程序124從車輛102的一個或多個子系統接收實時數據流,並且與伺服器代理程序112相比通常處理能力和存儲器有限。因此,在某些方面,目標代理程序124僅僅以高效代碼執行緊湊的算法,並且僅僅在存儲器122中存儲有限數量的資料庫集和功能庫集。
[0060]在其他方面,目標代理程序124實時地執行適度複雜的算法,以下將討論其進一步細節。目標代理程序124、126和128的每一個都為特定任務而構造和採用,比如診斷制動問題,並且在示範實施例中經由VLAN與在車輛102中其他配置的其他目標代理程序通信地連結,以便協同診斷車輛故障。
[0061]圖2A顯示了智能代理程序的屬性,比如目標代理程序124。智能代理程序對於故障早期檢測在採取某些行動時是自主的、反應性的、搶先的,並且與其他智能代理程序是共同存在的。智能代理程序在可靠和不可靠環境中都是能夠做出合理決策的理性實體。
[0062]圖2B顯示了智能代理程序的示範結構,包括資料庫集、功能庫集、模型庫集、通信通道、剖析器和狀態機。資料庫集是存儲在例如資料庫或存儲器中的數據結構的集合。數據結構被劃分為相關數據的若干小集合、即數據集,它們使用關係標籤彼此發生關係並與大量數據連結在一起。
[0063]數據集可以包括如車輛、氣候、天氣和駕駛習慣信息。某些數據集,比如車輛信息和主要地理位置是靜態的,而其他數據集,比如溫度、溼度和道路條件是動態的,即隨時間變化。
[0064]圖3A和3B顯示了存儲在表中的示範數據。如圖3A所示,車輛的駕駛位置一般是靜態的或不經常改變,駕駛位置的海拔被設置為500英尺而道路條件被標識為『0K』,它是相對的測量結果。這種信息也能夠例如關於時間動態地存儲。另一方面,如圖3B所示,車輛信息比如型號/製造商是靜態的。也就是,車輛的製造商、車型、發動機類型和驅動是恆定的並不改變。
[0065]圖3C和3D以曲線圖顯示了示範動態數據,關於時間繪製。圖3C是隨時間的溫度直方圖而圖3D是隨時間的溼度直方圖。正如以上指出,當信息是動態時在圖3A所示表中列出的信息也可以類似地繪出。
[0066]在示範車輛制動系統中,目標代理程序收集關於該制動系統的數據的不同集合或類別。例如目標代理程序收集的第一數據集包括與車輛有關的數據,比如製造商、型號、傳動系統類型和制動類型,而第二數據集為駕駛員操作車輛時隨時間收集的駕駛習慣數據。目標代理程序還收集氣候信息的第三數據集,比如天氣、溫度和溼度以及比如經由車輛懸掛系統收集的道路條件數據的第四數據集。這些數據流/元素能夠通過與不同於目標代理程序的各種各樣的智能代理程序通信而收集。[0067]智能代理程序的功能庫集包括若干功能塊或單元,每一個都被設計為執行多部分任務(算法或過程)的特定部分。功能塊是可重入的函數。也就是,它們在任何組合中使用而彼此沒有依賴性。在示範實施例中,功能塊通過應用多種算法實現了數據收集、數據操縱和數據理解,並且執行轉換、對比(如,與閾值)、歸一化和記錄的功能。這些功能塊進一步具有唯一的ID並由代理程序運行時間環境指定。
[0068]智能代理程序的剖析器是引擎,它執行時使用來自智能代理程序的功能庫集的若干功能塊和資料庫集的若干數據集產生故障診斷模型。一般來說,剖析器是伺服器代理程序112的組件。剖析器考慮了與比如駕駛行為、道路條件和氣候有關的數據集。
[0069]在圖4描繪的實例中,剖析器根據圖3A至圖3D描繪的靜態和動態數據集逐步形成了新的故障診斷模型,並且進一步考慮了也被存儲在智能代理程序的資料庫集中的關於某些故障類型的車輛歷史。如圖4實例所示,剖析器使得這些模型相關到可能問題410和實際問題420的區域中。
[0070]例如,剖析器首先使用與車輛製造商/型號有關的數據集執行多個算法,以檢測該車輛的具體製造商/型號是否具有制動問題的歷史。如果剖析器確定所述車輛的製造商/型號具有制動問題的歷史,那麼剖析器就把該信息添加到製造商/型號作為已知問題。
[0071]剖析器然後結合製造商/型號信息相關的數據集和駕駛習慣信息相關的數據集,並且執行算法以確定駕駛員的駕駛習慣對該車輛製造商/型號的制動系統的潛在影響。如果剖析器確定某潛在影響存在,那麼剖析器就將該潛在影響添加到該車輛的製造商/型號作為已知問題。
[0072]取以上討論的制動系統作為實例,制動系統具有在不同氣候下反應和表現不同的機械部件。具體地說,與寒冷氣候相比,制動襯塊的腐蝕在炎熱氣候可能更快地發生。因此,剖析器還評估氣候特徵的影響,比如溼度、溫度和幾種其他環境因素,方式為根據製造商/型號、駕駛習慣和氣候相關的數據集逐步形成若干模型並且運行算法以確定相關因子。
[0073]如果剖析器確定影響存在,那麼剖析器就把適當信息存儲在智能代理程序的型號庫集中作為已知問題。最後,剖析器使用一切可用數據執行多種算法以檢測可能的車輛故障,並且在模型庫集中存儲這些結果作為制動系統的智能代理程序的故障診斷模型。在一個方面,以上討論的實例把伺服器代理程序112描繪為執行剖析的智能代理程序而目標代理程序124為對制動系統監視制動系統性能數據的智能代理程序。
[0074]如以上討論,剖析器根據對每個目標代理程序可用的數據集和功能塊建立故障診斷模型。因此例如,目標代理程序具有相關聯的故障診斷模型,它也被稱為目標代理程序具有的有關該車輛的已知問題或置信集。例如,示範制動系統的目標代理程序具有相關聯的故障診斷模型,它是為了檢查和檢測潛在的制動系統問題專門逐步形成的,從而包括對檢測故障制動器所必要的全部信息。
[0075]通信通道為智能代理程序之間的通信提供了定義明確的網絡協議。開發標準的通信協議是為了改進通信效率,以下將關於示範代理程序軟體框架進行討論。
[0076]狀態機是有限數量的狀態以及這些狀態與動作之間轉換的行為模型(算法)(類似於流程圖,其中能夠檢查在某些條件滿足時邏輯如何進行)。在一個方面,狀態機是if-then-else語句的集合,它響應事件,尤其是同步和異步事件,並且確定要執行的適當算法及其執行的適宜時間,以獲得最好的可能解決方案。狀態機不知道由伺服器代理程序或目標代理程序所執行的診斷類型,這便利了多個智能代理程序的開發和部署。
[0077]在一個方面,狀態機不是伺服器狀態機就是目標狀態機。伺服器狀態機把適當的功能塊排序以創建功能塊算法,並且存取大量的歷史數據以逐步形成互相關表,按照車輛故障描述車輛子系統對彼此的相對影響。
[0078]多代理程序系統執行若干一般算法,它們以順序的、並行的或混合的次序執行選定的目標代理程序以實現所期望的多步驟診斷過程。不過,由於目標代理程序的存儲器和處理能力相對有限,所以目標代理程序必須把問題分解為更多的可管理程序塊或子問題,以便使它能夠通過代理程序的合作求解。
[0079]圖5展示了目標代理程序與伺服器代理程序之間的示範算法互動。在步驟510和512,開始執行目標代理程序和伺服器代理程序。在步驟514,目標代理程序監視並收集來自車輛子系統的適當數據用於臨時車載存儲器。在步驟516,目標代理程序通過應用無損壓縮技術處理該數據並包裝到壓縮數據集之中。目標代理程序然後把該壓縮數據發送到伺服器代理程序。
[0080]伺服器代理程序在步驟520接收該壓縮數據並對該壓縮數據採取適當的動作,例如執行多個算法比如無監督學習、匯聚和分類。伺服器代理程序然後在步驟522執行ID剖析並建立用於目標代理程序的適當數據和功能塊。這種數據在步驟524被包裝到壓縮格式中並發送到目標代理程序。
[0081]目標代理程序在步驟526從伺服器代理程序接收這種數據。在步驟528,目標代理程序的狀態機執行收到的功能塊以執行診斷在步驟530識別車輛故障。
[0082]功能塊算法包括串行地、並行地或混合地執行功能塊,取決於當前情況和需要。在圖6展示的串行執行算法中,功能塊Fl讀取信號,F2對比在Fl讀取的信號與閾值,F3檢驗計時需求而F4報告和存入這些結果。圖7至圖11顯示了其他過程的多個實施例。
[0083]在圖7中,狀態機已經隨機化了若干功能塊的執行順序或者功能塊的順序以實現最佳的解決方案。注意,Fl讀取信號,F13讀取另一個信號,F24對比Fl與F13的結果,而F2對比Fl對F13的影響。
[0084]圖8展示了功能塊算法的並行執行。因此,功能塊的兩個序列,即F2/F3/F4序列和F13/F24/F2序列的結果都被求值,並且(在D)確定了最好的可能解決方案並使用。如果狀態機判定因為來自單一算法的結果太缺乏說服力,所以確定車輛故障需要多個算法,如D所表明,該狀態機便產生並行執行算法。例如,與數據信號相關聯的誤差或概率模型可能導致狀態機判定結果是不確定的。
[0085]在圖9描繪的示範功能塊算法中,若干功能塊有條件地執行並且執行路徑根據條件功能塊的結果而確定。有條件執行向系統增添了靈活性並且被用於單一預定義算法將不充分時。在圖9的實例中,功能塊Fl讀取信號,而執行路徑——即不是F3就是F24——根據該信號的值確定——它可以使用若干閾值或若干範圍。
[0086]狀態機可以進一步評估一切可能解決方案的結合以確定最佳解決方案。圖10展示了既有串行執行又有並行執行的示範功能執行算法。混合執行算法用在檢測故障的可能性非常低時。如圖10描述,這種算法並行地執行多個嵌套的功能塊算法,向每個嵌套算法的結果分配權重,並且根據每個嵌套算法的增益——即權重值與結果的乘積——確定車輛故障。例如,以功能塊Fl開始的嵌套算法與以F2開始的嵌套算法被並行執行,並且每個嵌套算法的結果都被分配了權重,它與結果相乘以確定車輛故障。
[0087]正如先前介紹,系統100可以包括多個目標代理程序,它們共享若干資源。例如,目標代理程序124能夠與目標代理程序126共享其若干功能塊併合作。正如圖11展示,目標代理程序Al和A2在一起合作/工作以實現共同的目標。目標代理程序Al和A2並行地執行不同算法並對比這些結果。這樣的實施例可以使用不止兩個目標代理程序。
[0088]為了便利執行多個智能代理程序,系統100支持一組應用程式編程接口(API)。如圖12描述,這些API組成了代理程序軟體框架(ASF) 1200,它具有分層體系結構。ASF1200具有硬體1202,由設備驅動程序1204和作業系統層1206支持。ASF120還包括在設備驅動程序1204和作業系統層1206上建立的代理程序運行時間環境(ARE) 1208。代理程序探測協議(APP) 1210和代理程序通信協議(ACP) 1212支持ARE1208。ACP1212由代理程序消息傳遞協議(AMPP)1214支持。智能代理程序A1-A9支持APP層1210和AMPP層1214。此外,有能力運行本文介紹的代理程序系統的車輛子系統支持ARE1208。
[0089]ARE1208是預定義的軟體框架,能夠遠程地和安全地接受智能代理程序並提供智能代理程序的運行時間執行。ARE1208在資料庫中註冊若干智能代理程序並為每個智能代理程序提供唯一 ID。ARE1208進一步為在同一子系統中和車輛中的其他智能代理程序提供代理程序掃描特徵。
[0090]APP1210提供了若干功能,目標代理程序經由其監視和收集數據,比如預定義的探測功能以及監視和記錄功能。ACP1212提供了不依賴網絡的消息傳遞服務並且基於ARE1208的每個智能代理程序具有唯一 ID (如A1-A9)的特徵。ACP1212進一步提供了在伺服器代理程序與目標代理程序之間實現通信的一組接口,並且被配置為使用流行汽車通信協議的網絡層,比如圖13描繪的CAN、TCP/IP、Flexray和MOST。
[0091]AMPP1214使用ARE1208的ACP1212特徵與其他智能代理程序通信。具體地說,AMPP1214把消息包裝為幀,如圖14展示,包括幀頭1410和消息體1412。幀頭1410存儲著關於源和目的地代理程序、通信類型比如發送或接收以及消息長度的信息。消息體1412存儲著要被發送或接收的消息。雖然圖14展示的消息具有8位元組的尺寸,但是消息長度/尺寸可以按照需要變化並且可以進一步由消息幀頭編碼。
[0092]本公開的示範實施例包括執行車輛診斷相對更複雜和更自主的遠程代理程序。遠程代理程序對應於以上討論的目標代理程序,但是包括進一步的特徵。圖15把示範遠程代理程序1510描述為智能代理程序的集合,為了識別難以檢測的故障在一起運行。遠程代理程序1510是廣泛覆蓋的代理程序,即能夠與儘可能多的車輛子系統互動,它能夠觀察到車輛子系統之間的交叉連接,對於原因-結果分析往往是關鍵的。
[0093]遠程代理程序1510連接到車輛區域網(VLAN/LAN) 1512——車輛通信主要總線,智能代理程序經由其從車輛子系統收集數據,並且消息經由其在多個車輛模塊之間被發送和接收,它們包括其他的遠程代理程序(圖15中未顯示)。不過,為了與車輛模塊通信,遠程代理程序1510對經由LAN1512接收/發送的消息進行解碼和編碼。
[0094]遠程代理程序1510的示範實施例包括數據收集代理程序(DCA) 1514,它經由LAN1512監視和收集數據。LAN1512傳送三種類型的數據:周期數據、異步數據和請求的即隨選數據。典型情況下周期數據表示車輛子系統的健康和狀態並經由LAN1512周期地廣播,如每10/100mS ;當車輛子系統出現異常事件或故障時發送異步數據;而請求的數據是由另一個車輛子系統從一個車輛子系統請求的數據。在周期或請求的數據的情況下,DCA1514選擇所期望的數據信號並實施適當的數據收集模式,如不變的採樣率或可變的採樣率。
[0095]遠程代理程序1510還包括數據預處理代理程序(DPA) 1516,它立即作用於由DCA1514收集的數據以從消息中除去數據頭信息,並且如果消息以多幀發送,便等待到收集了整條消息或數據。由DPA1516進行的預處理可以包括簡單的以及適度複雜的操作,比如移動平均計算或子波分解而且是針對信號的。然後使處理後數據作為「特徵」對其他代理程序可用。
[0096]數據匯聚代理程序1518根據從DPA1516收到的數據產生統計和概率模型,並且可以進一步產生高級匯聚算法對數據加以分類。不過,大多數數據很可能保持未標註和未分類直到連接了伺服器代理程序並根據詳盡得多的分析提供了分類標註信息,使錯誤的概率足夠小。
[0097]由數據匯聚代理程序1518產生的統計模型表示數據的快照並可以包括例如與圖16中描述的數據直方圖類似的數據直方圖。另一方面,由數據匯聚代理程序1518產生的概率模型從更大量的數據逐步形成並被用於以統計方面顯著的方式預測故障的概率。圖17中描述的高斯分布是有關測量誤差的示範概率模型和流行假設。
[0098]回顧圖15,遠程代理程序1510的數據記錄代理程序1520存儲一定時段的特定數據(如停幀數據)。具體地說,數據記錄代理程序1520選擇來自DCA1514的期望信號並對給定時段記錄這些信號值,如從旅途的起點到終點。
[0099]學習代理程序1522實施人工智慧和機器學習算法。圖18描述了示範學習代理程序1522,它展示由學習代理程序1522把一組數據映射到另一組,如把若干輸入變量映射到若干輸出。
[0100]故障/奇異檢測代理程序1524從數據匯聚代理程序1518、數據記錄代理程序1520和學習代理程序1522接收數據,並且把(特徵空間中的)處理後數據對照已知數據進行對比,對不尋常和/或異常行為進行車載檢測和分類。處理後數據例如經由數據記錄代理程序1520從DPA1516收到,並且在所述問題的危險程度需要快速糾正行動時也可以由通信代理程序1526發送到伺服器代理程序對車載完成的分析進行補充分析或確認。通信代理程序1526包括發送代理程序1528、接收代理程序1530和數據記錄器代理程序1532。
[0101]當新車輛從銷售商或工廠離開時就採集已知數據(基線數據),並且遠程代理程序1510假設這種初始數據是無故障的,並且表示車輛子系統和健康的性能數據的特徵值。也就是,遠程代理程序1510假設每輛車在離開工廠時都具有獨特的特徵傳感器值,從其建立獨特的基線以體現車輛子系統健康的模型。
[0102]正如以上討論,故障/奇異檢測代理程序1524使用來自數據匯聚代理程序1518、數據記錄代理程序1520和學習代理程序1522的數據檢測奇異性。例如,故障/奇異檢測代理程序1522使用來自數據匯聚代理程序1518的數據來區分由於如操作模式變化或環境變化在數據值中造成的自然變化與由於車輛故障造成的變化。圖19顯示了用於遠程代理程序1510的示範算法過程。
[0103]正如以上指出,在圖15中,通信代理程序1526包括發送代理程序1528、接收代理程序1530和數據記錄器代理程序1532。通信代理程序1526控制遠程代理程序1510與連接到LAN1512的伺服器代理程序(比如伺服器代理程序122)和其他遠程代理程序(未顯示)之間的通信。例如,發送代理程序1528使用無損失壓縮算法壓縮要傳輸的數據,接收代理程序1530接收來自伺服器代理程序的數據,而數據記錄器代理程序1532實現遠程代理程序1510存儲車載數據,建立了與伺服器代理程序的通信後向伺服器代理程序廣播(或者當通信中斷時作為臨時存儲器)。
[0104]在一個示範通信情景下,由遠程代理程序監視的子系統的一切性能數據都經由專用通道被注入到伺服器代理程序。這種情景需要高帶寬和恆定的車輛/伺服器連接。這種情景對於在工廠的初始化或經銷商訪問期間是理想的,並且將更及時地可存取,比如經由下一代WiMax或認知無線電。
[0105]在另一個示範通信情景下,只有選中的數據如最關鍵信號或車載處理結果才被發送到伺服器代理程序。這種情況需要的帶寬小得多。這種情景實施了選擇過程以選擇所期望的高優先級數據和信息用於向伺服器代理程序發送。
[0106]正如以上討論,本公開的若干方面能夠實施在車輛制動系統中,機械和電子組件它都有。車輛制動系統是最關鍵的安全系統之一,所以一般建議每年檢查兩次。對制動系統中故障的早期檢測不僅節省了金錢而且預防了致命事故。參考以上討論的制動系統討論本公開的進一步方面。
[0107]在示範實施例中,正如圖20描述,遠程代理程序1510經由LAN1512與車輛制動模塊通信,其中DCA1514收集了兩種信號:制動踏板壓力和車輛速度,被用於如確定該車輛的減速度速率(車輛響應)。DCA1514連續地監視這些輸入信號。
[0108]DPA1516通過應用適當的濾波器降低信號中的噪聲量,把來自DCA1514的數據預處理為濾波後的制動踏板壓力和濾波後的車輛速度。數據匯聚代理程序1518逐步形成統計模型,比如圖21所示的模型,以便使用DPA1516的結果對健康的車輛定義制動踏板壓力量與車輛響應之間的關係。數據匯聚代理程序1518逐步形成概率模型,比如圖22所示的模型,方式為累積如在許多不同旅途上的統計模型的許多實例。
[0109]數據記錄代理程序1520為可以由起點/終點GPS位置確定的給定旅途存儲了一組新鮮數據。隨著時間流逝,制動系統的性能不可避免地開始下降,這由數據匯聚代理程序1518檢測為統計模型(數據快照)與概率模型之間的統計上的顯著差異,其中統計差異由比如方差分析(ANOVA)或X檢驗法準則確定(概率模型使用比統計模型多得多的平均)。如果統計上的顯著差異在幾幅數據快照上持續,那麼數據匯聚代理程序1518就發出奇異性(問題)存在的信號,並且懷疑有故障。圖22描述的示範概率模型包括子系統性能的健康區和故障區二者,其中「問題」區在圖22中被識別為從μ增加的距離。
[0110]學習代理程序1522也用於對比預期的故障制動行為與實際的故障制動行為,其中學習代理程序1522把基於物理的制動模型表示為按照不同等級的性能下降,比如剎車墊磨損,如以上討論它可以考慮氣候因素。學習代理程序1522能夠由伺服器代理程序根據來自共同模型的多臺車輛的數據逐步形成,然後部署到遠程代理程序1510以輔助把數據匯聚到特定的制動下降分類中。因此,學習代理程序1522不需要從目標車輛所特有的數據起源,而是能夠由伺服器發送到目標車輛以便最好地匹配實際車輛數據,「最佳地」預測車輛響應的輸出。這種「最佳」預測能夠利用實際數據與模型數據之間的均方根誤差描述制動下降的等級。類似方法使用已知正常模型與故障行為(已知問題)的對比的類似方式也可以用於查明制動問題的源頭(如剎車墊磨損、制動靴磨損或液壓問題)以確定車輛故障的根本原因。
[0111]另外,對多代理程序設置的診斷可以採用高等級的算法,其中每個算法塊自身都可以是實施以上討論的過程之一的代理程序或代理程序系列。
[0112]圖23展示了示範智能診斷算法,它包括監視數據集、識別可能的問題以及採取適當的動作。正如先前陳述,當車輛初始離開工廠或經銷商時,系統假設該車輛的全部模塊都工作正常而且僅僅在某段時間後車輛的若干模塊才將開始顯示異常行為的徵兆。因此,在圖23中算法的第一步驟2302,信號受到監視。不過,因為無法在車輛的車載系統中存儲或向伺服器代理程序廣播全部的可能記錄的數據,所以由DCA1518實施匯聚模式以監視原始輸入並逐步形成統計模型比如直方圖以識別故障。無監督學習代理程序1522與DCA1518並排地執行並使用健康的數據訓練,使得一旦故障發生,學習代理程序1522就能夠檢測出故障。
[0113]一旦車輛開始顯示異常行為,在步驟2304故障檢測代理程序1524就把輸入信號特徵對照由DCA1518逐步形成的統計模型對比以識別問題。正如以上討論,在步驟2304學習代理程序1522也能夠識別問題。在以上討論的制動模型中,受監視的數據集包括車輛滑移,制動器響應所花的時間以及幾個其他因素。在步驟2306通過執行算法識別出導致在步驟2304所識別問題的故障。
[0114]圖24的流程圖展示了檢測車輛中故障的算法,其中智能代理程序系統100進一步發現解決方案以緩解故障。步驟2402和2404與圖23的步驟類似。一旦在步驟2404識別了問題,便在步驟2406識別故障,它可以包括執行對該故障進行識別的算法。
[0115]在步驟2408,對該故障是否已知做出判斷。已知時,已知解決方案通常可用於緩解故障,在步驟2410應用它。否則,在步驟2412找到緩解該故障的解決方案。步驟2412可以包括與伺服器代理程序或其他智能代理程序通信。一旦找到了解決方案,便在步驟2414應用該解決方案以緩解所述故障。
[0116]圖25A是展示多代理程序算法的算法流程圖,用於由車輛的目標或遠程代理程序所執行的故障檢測。在步驟2502,子系統的性能數據(數據集)受到監視並在步驟2504識別問題。當在步驟2504識別出問題時,便執行算法搜尋以識別導致問題的故障。注意,所述問題是指奇異數據集或異常數據集,而故障是導致該奇異數據集或異常數據集的機械/電氣問題。未找到適當的算法時,便在步驟2510執行與該車輛的其他目標(或遠程)代理程序的合作。
[0117]在步驟2512與其他目標代理程序的合作未能找到識別故障的算法時,便在步驟2514執行與伺服器代理程序的合作。正如以上討論,由於伺服器代理程序具有多得多的資源,所以這通常將引起的適當的算法要被發現。不過,未找到算法時,便在步驟2518存入該算法的若干事件。找到算法時,便在步驟2520應用該算法。
[0118]在圖25B進一步詳細地顯示了若干目標代理程序之間在步驟2510的合作。注意,在步驟2522識別可用代理程序後跟隨的過程在步驟2524搜索可用代理程序的資料庫集以及在步驟2526交換此目標代理程序與其他目標代理程序之間的數據/結果。儘管以步驟2524然後步驟2526的次序顯示,但是應當認識到,合作過程能夠重複其部分或全部,或者以不同的次序進行(步驟2526先於步驟2524)。[0119]圖25C進一步詳細顯示了目標代理程序與伺服器代理程序之間在步驟2514的合作。注意,在步驟2528與伺服器代理程序的啟動通信(LAN初始化)後跟隨的過程在步驟2530與伺服器代理程序共享受監視數據集和初步結果(失敗的結果/失敗算法的結果)。然後伺服器代理程序建立或找到識別該故障的算法,它在步驟2532收到。
[0120]在以上搜索適當算法(步驟2508、2512和2516)中任何一次成功,都在步驟2520應用該算法,如圖25A所示。在圖2?中進一步詳細顯示了算法應用步驟2520。注意,在步驟2534向涉及的目標代理程序分發由伺服器代理程序收到的算法後跟隨的過程在步驟2536在每個目標代理程序處應用該算法。在步驟2538對比了被應用的算法的結果,並且在步驟2540識別出故障。從而能夠識別出該問題的根源。
【權利要求】
1.一種控制單元,包括: 處理器,被配置為執行車輛的第一子系統的第一代理程序,所述第一代理程序包括故障檢測代理程序和通信代理程序, 所述故障檢測代理程序被配置為為了識別在所述第一子系統中的問題而監視所述第一子系統的性能數據,在第一存儲器中存儲所述第一子系統所對應的若干第一候選故障診斷過程,以及從所述若干第一候選故障診斷過程當中搜索對引起所述第一子系統中所述問題的故障進行識別的故障診斷過程,以及 所述通信代理程序被配置為當所述故障檢測代理程序的搜索未能找到識別所述故障的所述故障診斷過程時與第二代理程序合作,與所述第二代理程序的所述合作包括對存儲著若干第二候選故障診斷過程的第二存儲器進行搜索,向所述第二代理程序發送所述監視的性能數據以及在所述第一與第二代理程序之間交換搜索結果數據。
2.根據權利要求1的控制單元,進一步包括: 網絡接口控制器,被配置為與所述第二代理程序的所述合作未能引起找到識別所述故障的所述故障診斷過程時建立所述第一代理程序與伺服器代理程序之間的通信連結, 所述通信代理程序,被配置為從所述伺服器代理程序接收伺服器候選故障診斷過程。
3.根據權利要求2的控制單元,其中,所述通信代理程序被配置為把所述伺服器候選故障診斷過程分配到所述第一代理程序和所述第二代理程序的所述故障檢測代理程序。
4.根據權利要求3的控制單元,其中, 所述通信代理程序接收所述第二代理程序應用所述伺服器候選故障診斷過程的結果,以及 所述故障檢測代理程序把所述故障檢測代理程序應用所述伺服器候選故障診斷過程的結果與所述第二代理程序應用所述伺服器候選故障診斷過程的結果進行對比以識別所述故障。
5.根據權利要求4的控制單元,其中,所述故障的識別事件記錄被存儲在所述第一存儲器中。
6.根據權利要求2的控制單元,其中,所述伺服器代理程序由所述控制器單元遠程操作的伺服器執行。
7.根據權利要求2的控制單元,其中, 所述網絡接口控制器被配置為通過網絡創建所述第一代理程序、所述第二代理程序與所述伺服器代理程序之間的通信連結,以及 所述通信代理程序被配置為從所述伺服器代理程序接收所述伺服器候選故障診斷過程以響應:(I)所述伺服器代理程序連接到所述網絡,以及(2)所述通信代理程序響應所述伺服器代理程序連接到所述網絡,向所述伺服器代理程序傳送所述受監視的性能數據以及在所述第一和第二代理程序之間交換的所述搜索結果數據。
8.根據權利要求7的控制單元,其中,所述通信代理程序進一步被配置為向所述伺服器代理程序發送所述受監視的性能數據的統計和概率模型。
9.根據權利要求1的控制單元,其中, 所述第二代理程序對應於所述車輛的第二子系統,以及 所述第二代理程序被配置為監視所述第二子系統的性能數據。
10.根據權利要求9的控制單元,其中, 所述第一代理程序被配置為識別所述第一子系統與第二子系統的所述受監視性能數據之間的相關性,以及 所述第一代理程序在所述第二存儲器中搜索根據所述相關性識別所述故障的所述故障診斷過程。
11.根據權利要求9的控制單元,進一步包括: 存儲器模塊,包括所述第一存儲器和第二存儲器作為離散的存儲體,其中,所述處理器進一步被配置為執行所述第二代理程序。
12.根據權利要求1的控制單元,其中,所述第一代理程序進一步包括匯聚代理程序,被配置為從所述受監視性能數據產生統計模型和概率模型以預測未來問題的概率。
13.根據權利要求12的控制單元,其中,所述故障檢測代理程序被配置為把所述第一子系統的所述受監視性能數據與來自所述匯聚代理程序的所述統計和概率模型的數據進行對比以識別和預測在所述第一子系統中的問題。
14. 根據權利要求1的控制單元,其中,所述搜索結果數據包括向所述受監視性能數據的至少一部分應用候選故障診斷過程的至少一部分的結果。
15.根據權利要求14的控制單元,其中,所述候選故障診斷過程包括以下至少其一:(I)讀取所述受監視子系統性能數據的選定部分,(2)對比所述受監視子系統性能數據和閾值,(3)檢驗所述受監視子系統性能數據的計時要求,以及(4)報告或記錄所述受監視子系統性能數據。
16.根據權利要求1的控制單元,其中,所述第一代理程序進一步包括學習代理程序,在健康的性能數據上進行訓練,並且被配置為通過對比所述受監視性能數據和所述健康的性能數據而識別問題。
17.根據權利要求1的控制單元,進一步包括: 網絡接口控制器,被配置為通信地連結所述第一代理程序與所述第二代理程序,其中,所述第二代理程序由另一個控制單元的處理器執行。
18.—種車輛,包括根據權利要求1的控制單元。
19.一種計算機可讀介質,存儲著診斷車輛故障的程序,其由計算機執行時,執行用於識別導致車輛子系統中問題的故障的方法,所述方法包括: 執行車輛第一子系統的第一代理程序,所述第一代理程序包括故障檢測代理程序和通信代理程序; 由所述故障檢測代理程序為了識別在所述第一子系統中的問題而監視所述第一子系統的性能數據; 由所述故障檢測代理程序從第一存儲器中存儲的與所述第一子系統對應的若干第一候選故障診斷過程當中搜索對引起所述第一子系統中問題的故障進行識別的故障診斷過程;以及 當所述故障檢測代理程序的所述搜索未能找到識別所述故障的所述故障診斷過程時由所述通信代理程序與第二代理程序合作,所述合作包括對存儲著若干第二候選故障診斷過程的第二存儲器進行搜索,向所述第二代理程序發送所述監視的性能數據以及在所述第一代理程序與第二代理程序之間交換搜索結果數據。
20.一種方法,用於識別導致車輛子系統中問題的故障,所述方法包括: 執行車輛第一子系統的第一代理程序,所述第一代理程序包括故障檢測代理程序和通信代理程序; 由所述故障檢測代理程序為了識別在所述第一子系統中的問題而監視所述第一子系統的性能數據; 由所述故障檢測代理程序從第一存儲器中存儲的與所述第一子系統對應的若干第一候選故障診斷過程當中搜索對引起所述第一子系統中的問題的故障進行識別的故障診斷過程;以及 當所述故障檢測代理程序的所述搜索未能找到識別所述故障的所述故障診斷過程時由所述通信代理程序與第二代理程序合作,所述合作包括對存儲著若干第二候選故障診斷過程的第二存儲器進行搜索,向所述第二代理程序發送所述監視的性能數據以及在所述第一代理程序與第二代理程序之`間交換搜索結果數據。
【文檔編號】G06F11/00GK103493019SQ201280018506
【公開日】2014年1月1日 申請日期:2012年1月23日 優先權日:2011年4月29日
【發明者】S·吉麥爾, D·普羅科霍爾夫 申請人:豐田自動車工程及製造北美公司