(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-12
(45)【発行日】2024-11-20
(54)【発明の名称】故障診断システム
(51)【国際特許分類】
G01M 17/007 20060101AFI20241113BHJP
B60R 16/02 20060101ALI20241113BHJP
【FI】
G01M17/007 J
B60R16/02 650J
(21)【出願番号】P 2020150675
(22)【出願日】2020-09-08
【審査請求日】2023-08-29
(73)【特許権者】
【識別番号】000005348
【氏名又は名称】株式会社SUBARU
(74)【代理人】
【識別番号】110000936
【氏名又は名称】弁理士法人青海国際特許事務所
(72)【発明者】
【氏名】小室 正樹
(72)【発明者】
【氏名】鈴木 広行
(72)【発明者】
【氏名】大伴 洋祐
(72)【発明者】
【氏名】星 拓実
(72)【発明者】
【氏名】河野 孝史
(72)【発明者】
【氏名】牧野 和輝
(72)【発明者】
【氏名】吉野 雅和
(72)【発明者】
【氏名】瀬田 至
(72)【発明者】
【氏名】佐川 晋也
【審査官】中村 圭伸
(56)【参考文献】
【文献】特開2010-137644(JP,A)
【文献】特開2019-206193(JP,A)
【文献】特開2017-216580(JP,A)
【文献】特開2015-158421(JP,A)
【文献】特開2008-001233(JP,A)
【文献】特開2019-153291(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B60R 16/00 - 16/08
G01M 17/00 - 17/10
G06Q 50/10
(57)【特許請求の範囲】
【請求項1】
故障診断の対象となる対象車両における、少なくとも運転操作を示す運転操作データを含む走行環境データと、前記走行環境データに基づく実際の走行結果を示す実走行結果データとを関連付けて取得するデータ取得部と、
前記対象車両と車種が等しい車両における、前記走行環境データに基づく実際の走行結果の適正範囲を導出する適正範囲設定部と、
前記実走行結果データが、前記適正範囲に含まれるか否かを判断することで前記対象車両の故障の有無を判断する故障判断部と、
車両の動作をコンピュータ上で模擬した車両シミュレーションモデルと、
前記故障判断部によって前記対象車両に故障があると判断された場合、前記走行環境データを前記車両シミュレーションモデルの入力データとしたシミュレーションを行って仮想の走行結果を示す仮想走行結果データを導出することを、前記車両シミュレーションモデルのパラメータを変更しつつ繰り返し、前記仮想走行結果データが前記実走行結果データと一致したときの、前記車両シミュレーションモデルの変更したパラメータに関する部分を故障部分と特定する故障部分特定部と、
を備える故障診断システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、故障診断システムに関する。
【背景技術】
【0002】
例えば、特許文献1には、車両において発生した故障を診断する故障診断装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、車両には、製造に起因する個体差などがある。このため、車両の故障診断時に、車両によっては、誤診断が行われることがあった。
【0005】
そこで、本発明は、車両の故障診断の精度を向上させることが可能な故障診断システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明の一形態に係る故障診断システムは、故障診断の対象となる対象車両における、少なくとも運転操作を示す運転操作データを含む走行環境データと、走行環境データに基づく実際の走行結果を示す実走行結果データとを関連付けて取得するデータ取得部と、対象車両と車種が等しい車両における、走行環境データに基づく実際の走行結果の適正範囲を導出する適正範囲設定部と、実走行結果データが、適正範囲に含まれるか否かを判断することで対象車両の故障の有無を判断する故障判断部と、車両の動作をコンピュータ上で模擬した車両シミュレーションモデルと、故障判断部によって対象車両に故障があると判断された場合、走行環境データを車両シミュレーションモデルの入力データとしたシミュレーションを行って仮想の走行結果を示す仮想走行結果データを導出することを、車両シミュレーションモデルのパラメータを変更しつつ繰り返し、仮想走行結果データが実走行結果データと一致したときの、車両シミュレーションモデルの変更したパラメータに関する部分を故障部分と特定する故障部分特定部と、を備える。
【発明の効果】
【0008】
本発明によれば、車両の故障診断の精度を向上させることが可能となる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本実施形態に係る故障診断システムの構成を示す概略図である。
【
図2】
図2は、実走行結果データの適正範囲および故障の有無の判断について説明する図である。
図2Aは、他車両の実走行結果データの一例を示す。
図2Bは、適正範囲の一例を示す。
図2Cは、対象車両の実走行結果データの一例を示す。
【
図3】
図3は、車両から受信したデータの処理についての流れを説明するフローチャートである。
【
図4】
図4は、故障判断部の動作の流れを説明するフローチャートである。
【
図5】
図5は、車両シミュレーションモデルについて説明する図である。
【
図6】
図6は、車両シミュレーションモデルと車両の故障との関係を説明する図である。
図6Aおよび
図6Bは、対象車両に故障がない場合の実走行結果データと仮想走行結果データとの関係を示す。
図6Cおよび
図6Dは、対象車両に故障がある場合の実走行結果データと仮想走行結果データとの関係を示す。
【
図7】
図7は、車両シミュレーションモデルと故障部分の特定との関係を説明する図である。
図7Aおよび
図7Bは、故障部分を特定する過程の一例を示す。
図7Cおよび
図7Dは、故障部分が特定された一例を示す。
【
図8】
図8は、故障部分特定部の動作の流れを説明するフローチャートである。
【発明を実施するための形態】
【0010】
以下に添付図面を参照しながら、本発明の実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易にするための例示に過ぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【0011】
図1は、本実施形態に係る故障診断システム1の構成を示す概略図である。故障診断システム1は、複数の車両10および管理サーバ12を含む。車両10は、エンジン車であってもよいし、電気自動車であってもよいし、ハイブリッド車であってもよい。
図1では、複数の車両10として4台の車両10a、10b、10c、10dを例示している。以後、車両10a、10b、10c、10dを総称して、車両10と呼ぶ場合がある。車両10の台数は、4台に限らず、複数台であればよく、2台、3台または5台以上であってもよい。
【0012】
故障診断システム1は、複数の車両10のうち所定の車両10が故障しているか否かの故障診断を行うものである。以後、故障診断の対象となる車両10を、対象車両と呼ぶ場合がある。また、対象車両とは異なる他の車両、すなわち、故障診断の対象となっていない車両を、単に、他車両と呼ぶ場合がある。例えば、
図1において、対象車両は車両10aであり、他車両は車両10b、10c、10dである。なお、対象車両は、車両10aに限らず、複数の車両10のうちから任意に選択されてもよい。
【0013】
車両10は、車両制御部20および車両通信部22を含む。車両制御部20は、中央処理装置、プログラム等が格納されたROM、ワークエリアとしてのRAM等を含む半導体集積回路から構成される。
【0014】
車両制御部20は、不図示のアクセルセンサ、ブレーキセンサ、シフトセンサまたは操舵角センサなどを通じて、自車両の加速、減速または操舵などの運転操作を示すデータを取得する。また、車両制御部20は、例えば、レーダー、赤外線センサ、カメラまたは温度センサなど各種の検出装置を通じて、車外環境を示すデータを取得する。車外環境は、例えば、勾配、路面状態、天候、風向、風速、外気温または気圧など自車両の運転に影響を及ぼす各種の要素とされてもよい。
【0015】
以後、運転操作を示すデータを運転操作データと呼ぶ場合がある。また、車外環境を示すデータを車外環境データと呼ぶ場合がある。また、運転操作データおよび車外環境データを総合して走行環境データと呼ぶ場合がある。走行環境データは、少なくとも運転操作データが含まれていればよく、車外環境データが省略されてもよい。
【0016】
車両制御部20は、走行環境データに基づいて、駆動、制動または操舵など、車両10全体を制御する。また、車両制御部20は、不図示の回転数センサなど各種のセンサを通じて、実際の走行結果を示すデータを取得することができる。以後、実際の走行結果を示すデータを実走行結果データと呼ぶ場合がある。実走行結果データの一例としては、例えば、車輪の回転数、車両10の速度または車両10の加速度などがある。また、実走行結果データは、例えば、エンジン回転数のような車両10における中間的な出力結果であってもよい。車両制御部20は、走行環境データと、走行環境データに基づいて取得される実走行結果データとを関連付ける。
【0017】
車両通信部22は、管理サーバ12などの車外の通信機器と無線通信が可能である。車両制御部20は、走行環境データと、実走行結果データと、車両識別データとを、車両通信部22を通じて定期的に管理サーバ12に送信する。車両識別データは、自車両を識別可能なデータである。車両識別データには、自車両の型式を示す車種データが含まれる。
【0018】
管理サーバ12は、例えば、故障診断システム1の管理者によって設置される。管理サーバ12は、サーバ通信部30、データ記憶部32、サーバ制御部34および車両シミュレーションモデル36を含む。サーバ通信部30は、例えば、複数の車両10の各々と無線通信が可能である。データ記憶部32は、不揮発性の記憶素子から構成される。
【0019】
サーバ制御部34は、中央処理装置、プログラム等が格納されたROM、ワークエリアとしてのRAM等を含む半導体集積回路から構成される。サーバ制御部34は、プログラムを実行することで、データ取得部40、適正範囲設定部42、故障判断部44および故障部分特定部46として機能する。
【0020】
データ取得部40は、サーバ通信部30を通じて、各々の車両10から送信される走行環境データ、実走行結果データ、車両識別データを各々関連付けて取得する。データ取得部40は、対象車両を含む全ての車両10について、走行環境データと、走行環境データに基づく実走行結果データとを関連付けて取得する。データ取得部40は、取得した走行環境データ、実走行結果データ、車両識別データをデータ記憶部32に記憶させる。
【0021】
適正範囲設定部42は、1または複数の車両の走行環境データおよび実走行結果データに基づいて、走行環境データごとの実走行結果データの適正範囲を導出する。適正範囲設定部42は、走行環境データおよび実走行結果データが取得されるごとに、適正範囲を更新する。実走行結果データの適正範囲は、対象車両の故障の有無を判断する基準となる。適正範囲については、後に詳述する。
【0022】
故障判断部44は、対象車両の実走行結果データが適正範囲に含まれるか否かを判断することで対象車両の故障の有無を判断する。故障判断部44については、後に詳述する。
【0023】
故障部分特定部46は、対象車両に故障があると判断された場合、車両シミュレーションモデル36を利用して故障部分を特定する。車両シミュレーションモデル36は、車両10の動作をコンピュータ上で模擬したソフトウェアである。車両シミュレーションモデル36は、不図示の記憶媒体に格納されている。車両シミュレーションモデル36は、サーバ制御部34などのハードウェアで実行されることで、車両10の動作のシミュレーションを行うことができる。車両シミュレーションモデル36および故障部分特定部46については、後に詳述する。
【0024】
図2は、実走行結果データの適正範囲および故障の有無の判断について説明する図である。
図2Aは、他車両の実走行結果データの一例を示す。
図2Aにおいて、実線A10bは車両10bの実走行結果データ、実線A10cは車両10cの実走行結果データ、実線A10dは車両10dの実走行結果データを示す。
図2Bは、適正範囲の一例を示す。
図2Cは、対象車両の実走行結果データの一例を示す。
図2A~
図2Cでは、実走行結果データの一例として、エンジン始動時におけるエンジン回転数の時間推移を示している。
【0025】
データ取得部40は、車両10から取得した走行環境データおよび実走行結果データを、その車両10の車種毎に分類し、逐次、データ記憶部32に蓄積する。また、データ取得部40は、取得した走行環境データおよび実走行結果データを、シチュエーション毎に分類し、逐次、データ記憶部32に蓄積する。
【0026】
シチュエーションは、例えば、エンジン始動時、または、低速の一定速度で走行しているときなど、故障が生じ易いと推測される状況を示す。シチュエーションは、管理サーバ12の管理者などによって車両10の車種毎に予め設定される。設定されたシチュエーションには、走行環境データの代表例を示す所定条件が、シチュエーション毎に関連付けられる。この所定条件は、走行環境データをシチュエーションごとに区別するための判断基準となる。データ取得部40は、取得した走行環境データが上述の所定条件を満たした場合、その所定条件を満たした所定時間範囲の走行環境データおよび実走行結果データを、その所定条件に対応するシチュエーションに分類する。
【0027】
図2Aは、車種が対象車両と同じであり、かつ、エンジン始動時の走行環境データに関連付けられた実走行結果データの一例を示す。
図2Aでは、エンジン始動時の実走行結果データを、車両10a、10b、10cで時間を揃えて示している。
図2Aで示すように、複数の車両10の実走行結果データは、車種および走行環境データが共通しているため、相互に近似した傾向を示す。
【0028】
適正範囲設定部42は、車種および走行環境データが共通する複数の実走行結果データを統計処理して実走行結果データの適正範囲を導出する。適正範囲設定部42は、実走行結果データの適正範囲を車種および走行環境データごとに導出する。
図2Bの破線A20aは適正範囲の上限値の一例を示し、破線A20bは適正範囲の下限値の一例を示す。適正範囲は、破線A20aと破線A20bとで挟まれる領域である。適正範囲設定部42は、例えば、複数の実走行結果データの平均値に3σを加算した値を適正範囲の上限値とし、平均値に3σを減算した値を適正範囲の下限値としてもよい。σは標準偏差を示す。
【0029】
なお、適正範囲の上限値および下限値は、平均値を基準とした3σの加減算に限らず、任意の導出方法によって導出されてもよい。また、適正範囲設定部42は、車種または走行環境データごとに、3σの値を、例えば、2σまたは4σなどに変更して、適正範囲の広さを車種または走行環境データごとに異ならせてもよい。
【0030】
図2Cで示すように、故障判断部44は、実線A10aで例示する、対象車両における、エンジン始動時等、所定のシチュエーションの走行環境データに関連付けられた実走行結果データと、同シチュエーションの走行環境データに基づく実走行結果データの適正範囲とを比較する。故障判断部44は、対象車両の実走行結果データが適正範囲データに含まれれば対象車両に故障がないと判断する。一方、故障判断部44は、対象車両の実走行結果データが、シチュエーションに対応する所定時間範囲において、少なくとも一部が適正範囲から外れた場合、対象車両に故障があると判断する。
図2Cの例では、対象車両の実走行結果データが適正範囲の上限値を超える部分があるため、故障判断部44は、対象車両に故障があると判断する。
【0031】
図3は、車両10から受信したデータの処理についての流れを説明するフローチャートである。データ取得部40は、いずれかの車両10から走行環境データおよび実走行結果データを受信すると、
図3の一連の処理を行う。
【0032】
まず、データ取得部40は、走行環境データおよび実走行結果データとともに受信した車種データに基づいて、受信した走行環境データおよび実走行結果データを車種毎に分類する(S100)。
【0033】
次に、データ取得部40は、受信した走行環境データおよび実走行結果データを、所定のシチュエーションの走行環境データ毎に分類する(S110)。具体的には、データ取得部40は、走行環境データがシチュエーション毎の所定条件を満たすか否かを所定条件毎に判断することで分類する。
【0034】
次に、データ取得部40は、分類された車種および走行環境データ毎に、走行環境データおよび実走行結果データをデータ記憶部32に記憶させる(S120)。
【0035】
次に、適正範囲設定部42は、分類された車種および走行環境データでの実走行結果データの適正範囲を導出する(S130)。具体的には、適正範囲設定部42は、分類された車種および走行環境データに関連付けられた複数の実走行結果データを読み出して統計処理を行い、適正範囲を導出する。次に、適正範囲設定部42は、導出した適正範囲をデータ記憶部32に記憶させて、適正範囲を更新する(S140)。
【0036】
図4は、故障判断部44の動作の流れを説明するフローチャートである。例えば、管理サーバ12の管理者は、故障診断を行いたい車両10を対象車両に設定し、サーバ制御部34に故障診断の開始指示を行う。故障判断部44は、診断開始の指示を受信すると、
図4の一連の処理を行う。
【0037】
まず、故障判断部44は、対象車両における、所定のシチュエーションの走行環境データ毎の実走行結果データをデータ記憶部32から読み出す(S200)。なお、故障判断部44は、データ記憶部32から実走行結果データを読み出す態様に限らず、対象車両から新たに取得した実走行結果データを用いて後続の処理を行ってもよい。
【0038】
次に、故障判断部44は、対象車両と同じ車種における、所定のシチュエーションの走行環境データ毎の適正範囲をデータ記憶部32から読み出す(S210)。次に、故障判断部44は、対象車両の実走行結果データが、対象車両と同じ車種および走行環境データの適正範囲に含まれるか否かを判断する(S220)。
【0039】
実走行結果データが適正範囲内である、つまり、実走行結果データが適正範囲から逸脱していない場合(S220におけるNO)、故障判断部44は、対象車両に故障がないとみなし、故障がない旨を報知させる(S230)。これに対し、実走行結果データが適正範囲から逸脱している場合(S230におけるYES)、故障判断部44は、対象車両に故障があるとみなし、故障がある旨を報知させる(S240)。故障判断部44は、例えば、管理サーバ12の不図示のディスプレイなどに故障の有無を表示させてもよい。
【0040】
図5は、車両シミュレーションモデル36について説明する図である。車両シミュレーションモデル36は、例えば、エンジンモデル、トランスミッションモデルまたはハイブリッドモデルなど、車両10の各機能を模擬したモデルを含む。また、これら各機能を模擬したモデルは、制御モデルおよびプラントモデルのいずれか一方または双方を含む。制御モデルは、実際の車両10で使用されている制御プログラムと同様のソフトウェアである。プラントモデルは、アクチュエータの動作など、物理現象または機構などを模擬したソフトウェアである。車両シミュレーションモデル36は、走行環境データを入力の供試データ、実走行結果データを出力の供試データとする機械学習によって作られてもよい。
【0041】
車両シミュレーションモデル36には、車両10の走行環境データが入力データとして入力される。走行環境データは、上述のように、運転操作を示す運転操作データおよび車外環境を示す車外環境データを含む。車両シミュレーションモデル36は、走行環境データが入力されると、内部で各機能のシミュレーションを行って、仮想の走行結果を示す仮想走行結果データを出力する。
【0042】
また、車両シミュレーションモデル36には、各種のパラメータが設定されている。パラメータは、走行環境データから仮想走行結果データを導出する過程で、直接的または間接的に利用されるデータである。パラメータは、走行環境データに応じて変わる変数であってもよいし、車両10に固有の定数であってもよい。パラメータの一例としては、スロットル開度、エンジン点火タイミング、燃料噴射量、EGR流量、または、クラッチ摩擦係数などがある。
【0043】
パラメータは、具体的なパラメータの種類によって、車両10の具体的な部分に関連付けられる。以後、パラメータに関連する車両10の部分を、パラメータ関連部分と呼ぶ場合がある。なお、パラメータは、1種類に対して複数のパラメータ関連部分が関連付けられてもよい。
【0044】
パラメータ関連部分は、機構、部位、部品、部材、回路またはソフトウェアなど、車両10を構成する各要素である。例えば、パラメータがクラッチ摩擦係数であれば、パラメータ関連部分はクラッチである。また、例えば、パラメータがエンジン点火タイミングであれば、パラメータ関連部分は点火プラグである。
【0045】
図6は、車両シミュレーションモデル36と車両10の故障との関係を説明する図である。
図6Aおよび
図6Bは、対象車両に故障がない場合の実走行結果データと仮想走行結果データとの関係を示す。
図6Cおよび
図6Dは、対象車両に故障がある場合の実走行結果データと仮想走行結果データとの関係を示す。
【0046】
図6Aで示すように、車両シミュレーションモデル36は、故障がない、すなわち、正常な車両10を模擬している。この状態では、車両シミュレーションモデル36のパラメータは、正常な値となっている。走行環境データに正常なパラメータが反映されるため、車両シミュレーションモデル36は、正常な仮想走行結果データを出力する。
【0047】
対象車両に故障がない場合、対象車両から実際に取得される実走行結果データは、正常な値となっているはずである。このため、対象車両に実際に与えられる走行環境データと、車両シミュレーションモデルに入力される走行環境データとが同じであれば、
図6Aで示すように、仮想走行結果データと実走行結果データとが一致する。
【0048】
例えば、
図6Bで示すように、エンジン始動時の走行環境データに対して、実線B10で示す正常な対象車両の実走行結果データと、破線C10で示す仮想走行結果データとが一致する。
【0049】
なお、仮想走行結果データと実走行結果データとの一致については、実際の車両10における測定誤差または車両シミュレーションモデル36における演算誤差を許容できる程度の所定範囲内で差異があってもよい。
【0050】
図6Cの車両シミュレーションモデル36は、
図6Aの車両シミュレーションモデル36と同様、パラメータが正常な値となっており、正常な仮想走行結果データを出力する。しかし、
図6Cでは、対象車両に故障があるとする。この場合、対象車両から実際に取得される実走行結果データは、正常なデータとは異なるはずである。このため、対象車両に実際に与えられる走行環境データと、車両シミュレーションモデル36に入力される走行環境データとが同じであっても、
図6Cで示すように、仮想走行結果データと実走行結果データとが一致しない。
【0051】
例えば、
図6Dで示すように、エンジン始動時の走行環境データに対して、実線A10aで示す故障がある対象車両の実走行結果データと、破線C10で示す正常な仮想走行結果データとが一致しない。
【0052】
これらを踏まえると、仮に、仮想走行結果データを、故障がある対象車両の実走行結果データに一致させることができれば、故障している対象車両を車両シミュレーションモデル36で模擬することができる。そうすると、後述するが、故障がある対象車両の故障部分を特定することが可能となる。
【0053】
図7は、車両シミュレーションモデル36と故障部分の特定との関係を説明する図である。
図7Aおよび
図7Bは、故障部分を特定する過程の一例を示す。
図7Cおよび
図7Dは、故障部分が特定された一例を示す。
図7A~
図7Dにおいて、車両シミュレーションモデル36に入力される走行環境データは、故障がある対象車両に実際に与えられる走行環境データと同じであるとする。
【0054】
図7Aで示すように、故障部分特定部46は、車両シミュレーションモデル36の任意のパラメータを、正常な状態から意図的に変更する。パラメータの変更は、車両シミュレーションモデル36に正常とは異なる車両10の状態を模擬させることに相当する。そうすると、車両シミュレーションモデル36は、変更後のパラメータを反映した仮想走行結果データを出力する。変更後のパラメータが反映された仮想走行結果データは、正常な仮想走行結果データとは異なる値を示す。
【0055】
故障部分特定部46は、パラメータを変更後の仮想走行結果データが、故障がある対象車両の実走行結果データと一致するか否かを判断する。
図7Bの破線C20は、任意のパラメータを変更後の仮想走行結果データの一例を示す。
図7Bでは、任意のパラメータを変更したものの、破線C20で示す仮想走行結果データが、実線A10aで示す実走行結果データと、まだ一致していない。
【0056】
そこで、故障部分特定部46は、
図7Cで示すように、パラメータをさらに変更させる。また、故障部分特定部46は、他のパラメータを変更させてもよい。パラメータをさらに変更させると、仮想走行結果データもさらに変わる。そして、故障部分特定部46は、再度、パラメータを変更後の仮想走行結果データが、故障がある対象車両の実走行結果データと一致するか否かを判断する。
【0057】
図7Cのように、パラメータを変更後の仮想走行結果データが、実走行結果データに一致したとする。例えば、
図7Dで示すように、破線C30で示す仮想走行結果データが、実線A10aで示す実走行結果データと一致したとする。この場合、車両シミュレーションモデル36は、故障がある対象車両を模擬しているとみなせる。そうすると、車両シミュレーションモデル36の変更したパラメータは、故障によって変化したパラメータに相当する。
【0058】
そこで、故障部分特定部46は、車両シミュレーションモデル36のパラメータを変更して仮想走行結果データを導出することを、仮想走行結果データが対象車両の実走行結果データに一致するまで繰り返す。そして、故障部分特定部46は、仮想走行結果データが対象車両の実走行結果データと一致したときの、車両シミュレーションモデル36の変更したパラメータに関する部分を故障部分と特定する。
【0059】
仮想走行結果データと実走行結果データとの一致については、例えば、対象車両における測定誤差または車両シミュレーションモデル36における演算誤差を許容できる程度の所定範囲内で差異があってもよい。
【0060】
なお、故障部分特定部46は、仮想走行結果データから実走行結果データを減算した値の絶対値の推移が所定範囲内に収まった場合、仮想走行結果データと実走行結果データとが一致したと判断してもよい。また、故障部分特定部46は、仮想走行結果データから実走行結果データを減算した値の二乗値を所定時間範囲で平均した二乗平均値が所定値未満である場合、仮想走行結果データと実走行結果データとが一致したと判断してもよい。
【0061】
故障診断システム1では、サーバ制御部34に予め多数のテストケースが設定されている。テストケースは、想定され得る故障モード毎に設定されている。テストケースには、車両シミュレーションモデル36における変更するパラメータの種類および変更量が関連付けられている。
【0062】
故障部分特定部46は、故障があると判断された実走行結果データ、および、その元となる走行環境データに基づいて、テストケースの優先順位を決定する。例えば、故障部分特定部46は、走行環境データに基づいて、対象車両の故障を、駆動系の故障であるか、操舵系の故障であるか、電装系の故障であるかなど、大項目で概略的に分類する。例えば、エンジン始動時の走行環境データであれば、故障部分特定部46は、駆動系の故障であると分類する。
【0063】
大項目には、複数の中項目が関連付けられている。例えば、駆動系の故障には、伝達故障、変速故障およびトルク変動故障などが関連付けられている。故障部分特定部46は、故障があると判断された実走行結果データを分析し、対象車両の故障を中項目で分類する。
【0064】
例えば、故障部分特定部46は、対象車両の実走行結果データにおいて、動力源から車軸の各部位の回転数に不整合があると推定した場合、伝達故障であると分類する。また、故障部分特定部46は、伝達故障ではなく、かつ、変速機構の前後で回転変動が生じていると推定した場合、変速故障であると分類する。また、故障部分特定部46は、伝達故障および変速故障のいずれにも該当しないと推定した場合、トルク変動故障であると分類する。
【0065】
中項目には、複数の小項目が関連付けられている。例えば、トルク変動故障には、スロットル、点火、燃料、EGRおよび可変バルブタイミングなどが関連付けられている。故障部分特定部46は、対象車両の実走行結果データにおける物理量の変化速度と、小項目において物理的に生じ得る変化速度とを比較する。故障部分特定部46は、小項目における変化速度が、対象車両における変化速度に近い順に、小項目に優先順位をつける。
【0066】
例えば、対象車両の実走行結果データにおける物理量の変化速度は、回転数の変化速度であり、3500rpm/secであるとする。また、スロットルに関連する発生トルクの変化で生じる回転数の変化速度は、1000rpm/secあるとする。点火に関連する回転数の変化速度は、4000rpm/secであるとする。燃料に関連する回転数の変化速度は、2500rpm/secであるとする。EGRに関連する回転数の変化速度は、2000rpm/secであるとする。可変バルブタイミングに関連する回転数の変化速度は、1000rpm/secであるとする。この例では、故障部分特定部46は、点火、燃料、EGR、可変バルブタイミング、スロットルの順に優先順位を決定する。
【0067】
これら小項目は、テストケースに関連付けられている。つまり、故障部分特定部46は、小項目に優先順位をつけることで、結果的に、テストケースの優先順位を決定する。先の例では、故障部分特定部46は、点火についてのテストケースの優先順位を最も高くする。
【0068】
故障部分特定部46は、優先順位の高いテストケースから順に実行する。具体的には、故障部分特定部46は、優先順位の高いテストケースで示されるパラメータを、車両シミュレーションモデル36において変更する。例えば、故障部分特定部46は、点火についてのテストケースで示されるパラメータである点火タイミングを変更する。これにより、故障部分特定部46は、パラメータをランダムに変更する態様に比べ、早期に故障部分を特定することができる。
【0069】
図8は、故障部分特定部46の動作の流れを説明するフローチャートである。故障部分特定部46は、故障判断部44によって対象車両に故障があると判断された場合、
図8の一連の処理を行う。
【0070】
まず、故障部分特定部46は、故障があると判断された実走行結果データ、および、その元となる走行環境データに基づいて、テストケースの優先順位を決定する(S300)。次に、故障部分特定部46は、テストケースの優先順位の最も高いテストケースを、実行するテストケースに決定する(S310)。次に、故障部分特定部46は、車両シミュレーションモデル36におけるパラメータのうち、ステップS310で決定されたテストケースに対応するパラメータを変更する(S320)。
【0071】
次に、故障部分特定部46は、ステップS320でパラメータが変更された状態の車両シミュレーションモデル36に、対象車両の走行環境データを入力して、仮想走行結果データを導出する(S330)。次に、故障部分特定部46は、対象車両の走行環境データが、導出された仮想走行結果データに一致するか否かを判断する(S340)。
【0072】
対象車両の走行環境データが仮想走行結果データに一致する場合(S340におけるYES)、故障部分特定部46は、ステップS320で変更したパラメータに関する部分を故障部分として特定し(S350)、一連の処理を終了する。
【0073】
対象車両の走行環境データが仮想走行結果データに一致しない場合(S340におけるNO)、故障部分特定部46は、実行中のテストケースが終了となるか否かを判断する(S360)。実行中のテストケースが終了ではない場合(S360におけるNO)、故障部分特定部46は、ステップS320に戻り、パラメータをさらに変更する(S320)。
【0074】
実行中のテストケースが終了となる場合(S360におけるYES)、故障部分特定部46は、次のテストケースがあるか否かを判断する(S370)。次のテストケースがある場合(S370におけるYES)、故障部分特定部46は、ステップS310の処理に戻り、優先順位が次に高いテストケースを、実行するテストケースに決定する(S310)。
【0075】
次のテストケースがない場合(S370におけるNO)、故障部分特定部46は、故障部分を特定できなかった旨を報知させ(S370)、一連の処理を終了する。
【0076】
以上のように、本実施形態に係る故障診断システム1の適正範囲設定部42は、対象車両と車種が等しい車両における、走行環境データに基づく実際の走行結果の適正範囲を導出する。そして、故障判断部44は、対象車両の実走行結果データが適正範囲に含まれるか否かを判断することで対象車両の故障の有無を判断している。本実施形態の故障診断システム1では、対象車両の実走行結果データが適正範囲内に収まれば故障と判断されないため、車両10の製造に起因する個体差があるとしても、故障の誤診断を抑制することができる。
【0077】
したがって、本実施形態の故障診断システム1によれば、車両10の故障診断の精度を向上させることが可能となる。
【0078】
また、本実施形態の故障診断システム1の故障部分特定部46は、対象車両に故障があると判断された場合、車両シミュレーションモデルのパラメータを変更しつつ仮想走行結果データの導出を繰り返す。そして、故障部分特定部46は、仮想走行結果が実走行結果データと一致したときの、車両シミュレーションモデルの変更したパラメータに関する部分を故障部分と特定する。
【0079】
このため、本実施形態の故障診断システム1では、故障の有無だけでなく故障部分も特定することができるため、故障診断の精度を、より向上させることが可能となる。
【0080】
なお、本実施形態の適正範囲設定部42は、いずれかの車両10から走行環境データおよび実走行結果データが取得されたタイミングで、逐次、適正範囲を導出していた。しかし、適正範囲設定部42は、走行環境データおよび実走行結果データが取得されたタイミングでは適正範囲の導出を省略し、故障診断の開始指示を受信したタイミングで適正範囲の導出を行ってもよい。
【0081】
また、本実施形態の適正範囲設定部42は、対象車両を含む全ての車両10を対象として、車種および走行環境データごとの適正範囲を導出していた。適正範囲を導出するための母集団が大きいため、適正範囲の導出に対象車両の実走行結果データが反映されていても、適正範囲を精度よく導出することができる。また、適正範囲設定部42は、対象車両が予め分かっている場合、対象車両を除く他車両を対象として、車種および走行環境データごとの適正範囲を導出してもよい。
【0082】
以上、添付図面を参照しながら本発明の実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0083】
1 故障診断システム
10、10a、10b、10c、10d 車両
36 車両シミュレーションモデル
40 データ取得部
42 適正範囲設定部
44 故障判断部
46 故障部分特定部