(57)【特許請求の範囲】
【請求項１】
監視対象から出力される出力結果に基づいて一つまたは複数のイベントからなるイベント列を生成するイベント列生成部と、
予め既知のイベント列を記憶する既知イベント列記憶部と、
前記イベント列生成部で生成されたイベント列と前記既知のイベント列とを比較するイベント列比較部と、
生成されたイベント列の中から前記既知のイベント列と一致しない未知のイベント列を抽出して報告する報告部とを備え、
車両の走行状態に変更があり、制御アプリケーションの変更された場合には、各制御アプリケーションごとに異なる初期化処理を行うことを特徴とする車両制御装置。
【請求項２】
前記既知イベント列記憶部は、既知のイベント列と、該既知のイベント列を識別する識別情報とを記憶し、
前記報告部は、生成されたイベント列が既知のイベント列と一致した場合は、前記既知のイベント列に関する識別情報を報告する、請求項１に記載の車両制御装置。
【請求項３】
前記未知のイベント列が抽出された場合、前記監視対象からの出力結果のうち該未知のイベント列に関する出力結果を報告する、請求項１に記載の車両制御装置。
【請求項４】
前記未知イベント列の報告結果を保持し識別情報を付与する未知イベント列パターン記憶部を持つことを特徴とする、請求項１に記載の車両制御装置。
【請求項５】
未知のイベント列が抽出された場合、前記未知のイベント列が前記未知イベント列の報告結果を保持し識別情報を付与する未知イベント列パターン記憶部に登録されているかを判定し、登録されている場合は未知イベント列を前記未知イベント列パターン記憶部に記載されている識別情報へと置き換える同一未知イベント列判定部を備える、請求項１に記載の車両制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動車の車両制御装置に関する。
【背景技術】
【０００２】
本技術分野の背景技術として、特開２０１０−２６７２０７号公報（特許文献１）がある。この公報には、「観測データの特異性を判定することができても、観測データがどの程度基準パターンから外れているか、すなわち、どの程度非日常的なデータであるかを知ること」を課題とし、解決手段として、「ユーザの行動によって得られるイベントデータ系列について、ユーザの日常的な行動を表す基準パターンに対してどの程度日常的でないかを評価することのできる非日常性評価装置、非日常性評価方法及びコンピュータプログラムを提供する」と記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２８７０９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
車両制御装置においても、得られたデータ系列と車両の正常な動作を示すパターンとの乖離を評価することで、どれだけ異常な動作をしているかを評価することができる。もし、車両制御装置では異常なパターンを発見した場合は、異常時のデータ系列が不具合に繋がるかを分析し、もし不具合に繋がるのであれば、制御を修正し製品に反映させなければならない。しかしながら、特許文献１では、非日常時のデータ系列を出力することができない。
【０００５】
本発明は、顕在化していない不具合を解析できるデータ収集を可能とすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、監視対象から出力される出力結果に基づいて一つまたは複数のイベントからなるイベント列を生成するイベント列生成部と、予め既知のイベント列を記憶する既知イベント列記憶部と、前記イベント列生成部で生成されたイベント列と前記既知のイベント列とを比較するイベント列比較部と、生成されたイベント列の中から前記既知のイベント列と一致しない未知のイベント列を抽出して報告する報告部と、を備える。
【発明の効果】
【０００７】
本発明によれば、顕在化していない不具合を解析できるデータ収集が可能な車両制御装置を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】実施例１の車両制御システムである。
【図２】実施例１のＥＣＵである。
【図３】実施例１のソフトウェア構造である。
【図４】実施例１のログ収集部の構成である。
【図５】実施例１のログ収集部のイベント列生成部の構成である。
【図６】実施例１のイベント列生成に用いるデータ列である。
【図７】実施例１のイベント列生成に用いる生成条件である。
【図８】実施例１のイベント列である。
【図９】実施例１の既知イベント列である。
【図１０】実施例２のログ収集部の構成である。
【図１１】実施例２の報告用イベント列である。
【図１２】実施例３のログ収集部の構成である。
【図１３】実施例３の未知イベント列テーブルである。
【図１４】実施例４の報告用イベント列である。
【図１５】実施例４における構成である。
【図１６】実施例５における構成である。
【発明を実施するための形態】
【０００９】
以下、本発明に好適な実施形態の例（実施例）を説明する。本実施例は、主には車両システムにおける車両制御システムについて説明しており、車両システムにおける実施に好適であるが、車両システム以外への適用を妨げるものではない。
【実施例１】
【００１０】
＜車両の概要＞
図１に、本実施例の車両制御システムが有する車両制御装置を用いたシステム構成を示す。車両制御システム１は、複数のＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ等）２が接続された車載ネットワーク３（ＣＡＮ：Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、ＣＡＮＦＤ：ＣＡＮ  ｗｉｔｈ  Ｆｌｅｘｉｂｌｅ  Ｄａｔａ−ｒａｔｅ、Ｅｔｈｅｒｎｅｔ（登録商標）、等）とで構成される。車載ネットワーク３は、車両制御システム外のネットワークと社外通信経路４（例えば携帯電話の通信、無線ＬＡＮ、ＷＡＮ、等のプロトコルを使用した通信）で接続されており、ＥＣＵ２で計算された情報を車外へ送信したり、車外のデータを受信し、車内ネットワーク３へと通知することができる。
【００１１】
＜車両ＥＣＵの概要＞
図２にＥＣＵ２の構成を示す。ＥＣＵ２には、車載ネットワーク３へと接続する通信装置２０１と、プログラムおよび不揮発性のデータを保存するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、揮発性のデータを保存するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、キャッシュやレジスタなどの記憶素子を持ち、制御を実行するＣＰＵなどのプロセッサ２０４と、専用線で接続された駆動装置または／および認識装置６に対してデータの送受信やセンサなどから観測値を取得する入出力装置２０５で構成される。
【００１２】
＜ソフトウェアの概要＞
次にプロセッサ２０３で動作するソフトウェアモジュール５の構成について図３に示す。アプリケーション５０１はソフトウェアに１以上存在するソフトウェアモジュールである。アプリケーション５０１は、駆動装置の制御量や、センサから得られた情報の加工や、センサから得られた情報から推測するドライバの操作量の計算や、故障診断などの、車両制御部品のソフトウェアが計算する機能を計算する。アプリケーション間は相互にデータ送受信しており、ＲＴＥ５０２や車載ネットワーク３を介したデータの交換や、アプリケーション同士のデータの交換を行う。
【００１３】
ＲＴＥ（Ｒｕｎ  Ｔｉｍｅ  Ｅｎｖｉｒｏｎｍｅｎｔ）５０２は、アプリケーション５０１に対してデータ送受信のためのインタフェースを提供する。アプリケーション５０１は、ＲＴＥを用いてデータ送受信を行うことで、ＥＣＵ２の構成に依存するＢＳＷ５０４に依存することなくデータの送受信が可能となる。ＲＴＥ５０２はソフトウェアに存在しなくともよく、その場合は各アプリケーションはデータの送受信先モジュールに応じたデータ送受信をプログラミングする必要がある。
【００１４】
ＢＳＷ５０３は、ＥＣＵ２のハードウェア構成に依存する機能を実装するソフトウェア部である。例えば、オペレーティングシステムや通信ソフトウェア、各種入出力装置から得られる電流値がＢＳＷに相当する。
【００１５】
ログ収集部６はアプリケーション５０１の一種である。図４にログ収集部６の構造を示す。イベント列生成部６０１は後述するルールにより、後述するデータ列を後述するイベント列に変換する。イベント列とは、いわば、複数のイベントの集まりである。イベント列生成部６０１は、後述する監視対象Ｘからデータを入手しデータ列を構成する。既知イベント列記憶部６０２は、事前に収集した正常な既知イベント列を予め記憶している。イベント列比較部６０３は既知イベント列に保存された既知イベント列と、イベント列生成部６０１で構成されたイベント列と比較し、得られたイベント列が既知であるかを判定し判定結果を出力する。報告部６０４は、イベント列比較部から得られた判定結果と、判定に用いたイベント列を、ログ収集部の出力として出力する。具体的には、報告部６０４は、生成されたイベント列の中から既知イベント列と一致しない未知イベント列を抽出して報告する。未知イベント列とは、既知イベント列記憶部６０２に予め登録されていないイベント列である。
【００１６】
監視対象は、同じＥＣＵ内のアプリケーション５０１やＢＳＷ５０３や、異なるＥＣＵや、モータなどの駆動装置や、入出力装置２０５に繋がるセンサなど、後述するデータ列を構成可能なデータを計算するものがあてはまる
図７にイベント列生成部６０１の構造を示す。イベント列生成部６０１は、データ取得部６０１１と、イベント生成部６０１２と、イベント列構成部６０１３、とで構成されている。データ取得部６０１１は、監視対象Ｘから得られたデータを取得し、後述するデータ列を構成する。イベント生成部６０１２は、後述するイベントを後述するイベント生成条件に照らし合わせて生成する。イベント列構成部６０１３は、イベント生成部６０１２で構成されたイベントを、後述するイベント列形式に形成する。
【００１７】
＜データ列＞
図６にデータ列の例を示す。データ列を構成するデータは、アプリケーションの計算結果や、センサのデータや、ＢＳＷやＯＳの状態や、プロセッサの命令や、時間情報といった制御装置が計算し取得する値を示す。データ列は得られたデータを時系列や、受信した順序で並べたデータの列を表す。
【００１８】
＜イベント列＞
図７に、イベント列の例を示す。イベント列を構成するイベントは、データ列を構成するデータが変化した場合の情報を表す。ここでのデータが変化した場合とは、例えばセンサが取得した、車体の速度が一定の値から減少に転じた場合、「速度が減少に転じたこと」がイベントとなる。この場合には、「速度が減少に転じたこと」を表すイベントＩＤが得られる。また、別の例として、ＥＣＵの電源が入り、初期化が開始された場合は「初期化開始」を表わすイベントＩＤが得られる。また、別の例として、ドライバーがブレーキペダルを踏んだ際に、ブレーキペダルの踏み込み量が一定以上になったことを検知し「ブレーキ踏み有り」のイベントＩＤが得られる。
【００１９】
イベントは連続する物理値の変化以外にも、フラグの切り替わりをイベントとして取得しできる。例えば、モータの連続動作時間が一定時間異常になった場合、高温になり過ぎないようにモータの動作を制限する制御がある、「連続動作時間一定以上」などを表すイベントＩＤが得られる。また別の例として、ドライバーがＡＣＣ（Ａｃｃｅｌ  Ｃｒｕｉｓｅ  Ｃｏｎｔｒｏｌ）のスイッチをＯＮにした情報を取得し、「ＡＣＣフラグＯＮ」を示すイベントＩＤが得られる。
【００２０】
イベントはその他にも、タスクの切り替わりや関数の終了などの処理の切り替わりをイベントとして取得できる。このように、イベントとは、例えば、単一の制御値の変化内容を指すものである。
【００２１】
イベントＩＤは、イベントを一意に識別できる値で表現される。例えば、数字を用いて番号を振る、又は複数のアルファベットを用いて表現できる。
【００２２】
イベント列生成部は、データ列から、各イベントＩＤに関連したデータを抜粋し、イベントを判定する。データ列は、イベントごとに個別にデータを集めてもよいし、複数のイベントに関連する複数のデータを同時に収集してよい。図３にデータ列の例を示す。図３（ａ）が示すデータ列は、速度を時系列順に取得している。
【００２３】
データは速度以外の物理値や、カウンタなどの連続した数値を使用しても良い。また、同じ物理値を表現した、異なる変数を収集する場合、変数毎に収集しデータ列を構成しても良い。
【００２４】
時間は、秒や分や時間といった単位によって表現できる。整数だけでなく、少数で時間を表現してよい。また、秒や分や時間などの時間情報は、データを取得した日時を表す絶対時間や、基準となるデータの取得時間からの相対時間での表現も可能である。例えば、１０ｍｓ毎など周期的に取得可能なデータは、時間情報ではなく、取得した順番（１、２、３、４・・・）で表現しても良い。
【００２５】
図７に、データ列をイベントに変換するための変換情報の例を示す。各イベントは、イベントＩＤと、監視するデータ情報を変換情報として持つ。監視するデータ情報は、図４に示すデータを指定する。イベント生成条件については、後述する。
【００２６】
図８に、イベント列の例を示す。イベント列は、イベント列の順序を表すＮｏとイベントＩＤで構成される。イベント列生成部は、取得したデータ列からイベントを生成し、集約する。
【００２７】
集約したイベントを時系列順に並べ替えイベント列を構成する。ここで、イベントを生成した時間とは、イベント生成条件を達成した直後のデータの時間情報を表す。
【００２８】
＜既知イベント列＞
図９に、既知イベント列の例を示す。既知イベント列は、各既知イベントごとに、既知イベントＩＤとイベント列を持つ。既知イベントＩＤはイベントを一意に識別できる値で表現される。例えば、数字を用いて番号を振る、又は複数のアルファベットを用いて表現できる。
【００２９】
既知イベント列を構成するイベント列は、イベントＩＤで構成される。また、イベントＩＤと既知イベント列ＩＤが重複しない場合、イベントＩＤ以外に既知イベント列ＩＤを用いて、既知イベント列を構成しても良い。
【実施例２】
【００３０】
本発明にかかる第２の実施例における車両制御システムについて説明する。第１の実施例と異なる点は、報告するイベント列の一部を既知イベント列と置き換えることで、既知イベント列を簡略化可能な点である。なお、先に説明した実施例と同様の構成は符号を同じくして説明を省略する。
【００３１】
図１０に本実施例における、報告部の構成を示す。実施例１に記載の報告部に、既知イベント列報告部６０４１と、未知イベント列報告部６０４２を備える。
【００３２】
既知イベント報告部６０４１は、イベント列比較部６０３での比較結果が、一致していた場合、イベント列生成部より得られたイベント列の一致部分を既知イベント列ＩＤで置換する。
【００３３】
図１１に、既知イベント列で置換後のイベント列を示す。図１１の置換後イベント列は、図８のイベント列と図９の既知イベント列を用いて作成した。
【００３４】
本実施例において、イベント列比較部は、一致・不一致を示す判定結果と、一致した場合の既知イベント列ＩＤを通知する。既知イベント列報告部６０４１は、イベント列生成部６０１から得られたイベント列から、イベント列生成部から得られた既知イベント列ＩＤに一致する既知イベント列を探索する。探索後、見つかった既知イベント列をイベント列ＩＤへと置換し、置換後イベント列を作成する。既知イベント列報告部６０４１は、未知イベント列報告部６０４２へ置換後イベント列を通知する。未知イベント列報告部６０４２は、あらかじめ決められた分量の未知イベント列を集約し、一括して、報告部６０４の報告結果として出力する。
【００３５】
本実施例を用いることで、報告するイベント列は既知イベント列ＩＤを用いて簡略化されるため、解析者の解析作業の負担が軽減する。また、既知イベント列ＩＤを用いたことで、イベント列のデータ量を削減する効果も得られる。
【実施例３】
【００３６】
本発明にかかる第３の実施例における車両制御システムについて説明する。第２の実施例と異なる点は、複数回出現する未知イベント列を収集し、未知イベント列ＩＤをつけることで、報告するイベント列の未知イベント列ＩＤを既知イベント列と置き換えることで、既知イベント列を簡略化可能な点である。なお、先に説明した実施例と同様の構成は符号を同じくして説明を省略する。
【００３７】
図１２に本実施例における、ログ収集部６の構成を示す。本実施例では、未知イベント列パターン記憶部６０５を備え、未知イベント列パターン記憶部６０５は、未知イベント報告部６０４２より得られた置換済みイベント列を取得する。そして、未知イベント列パターンを生成する。即ち、未知イベント列パターンとは、複数回登場することを条件としてＩＤが付与された未知イベント列である。未知イベント列パターン比較部６０６は、未知イベント列パターン記憶部６０５から得られた未知イベント列パターンＩＤと、置換後イベント列とを比較する。未知イベント列パターン比較部は、一致・不一致を示す比較結果と、一致した場合は未知イベント列パターンＩＤを送信する。
【００３８】
未知イベント列報告部６０４２は、得られた未知イベント列パターンＩＤを、置換後イベント列から探索し、置換する。
【００３９】
図１３に、未知イベント列パターンテーブルを示す。未知イベント列パターンテーブルは、図９の既知イベント列ＩＤと同じ情報を持つ。ここで未知イベント列パターンＩＤは、イベント列ＩＤ，既知イベント列ＩＤと同様に、数字やアルファベットを用いて表現する。ただし、イベント列ＩＤ及び既知イベント列ＩＤと重複してはいけない。また、未知イベント列パターンには既知イベント列ＩＤを含めても良い。図１４に、図１１の置換後イベント列に対して、未知イベント列パターンＩＤで置換した例を示す。
【００４０】
報告部は、未知イベント列パターンで置換した置換後イベント列を報告する。
【００４１】
本実施例により、イベント列は良く出る未知イベント列パターンＩＤを用いて更に簡素化でき、解析担当者の負担が減少する。また、イベント列パターン記憶部のイベント列パターンテーブルを解析することで、既知イベント列を更に増やすことができる。
【実施例４】
【００４２】
本発明にかかる第４の実施例における車両制御システムについて説明する。第１の実施例と異なる点は、報告した未知イベント列をトリガとして、より詳細なデータを取得可能な点である。
【００４３】
図１５に、ログ収集部６と、ログ収集部６が示す詳細ログ収集部７を示す。詳細ログ収集部は、ＥＣＵ５に備えられた機能であり、ＥＥＰＲＯＭやアプリケーション５０１を用いて保存できる。
【００４４】
本実施例において、報告部６０４は、イベント列比較部から比較結果を受け取り、既知イベント列と不一致であった場合、未知イベント列を発見したとして、詳細ログ収集部へと報告する。報告には、未知イベント列発見フラグなどの送付のほか、イベント列を送付することで報告としても良い。
【００４５】
詳細ログ収集部７は、ＥＣＵのデータログを取得する機能を有しており、普段からデータを受信し、一定期間もしくは１周期分のデータを保持している。詳細ログ収集部７は、ログ収集部６から、未知イベント発見のデータを受信した際に、受信時からの一定期間のデータを、ログ保存部に保存する。
【００４６】
一定期間とは、未知イベント列報告時から、数秒前から数秒後を指す。秒単位だけではなく、分・時間で指定しても良い。
【００４７】
本実施例を用いることで、未知イベント列が発見されたときのみデータを収集することができ、解析者はより正確なデータ解析が可能になる。また、ログ取得部７は、未知イベント列を元にログ取得することにより、解析が必要そうな箇所に絞って詳細なログが取得可能になり、詳細ログの収集量を削減できる。
【実施例５】
【００４８】
本発明にかかる第５の実施例における車両制御システムについて図１６を用いて説明する。第１の実施例と異なる点は、外部のトリガを用いて、ログ収集部が動作を始めることで、定常動作時に計算負荷をかけずに行うことができる点である。
イベント収集トリガ８は、ＥＣＵ２の一機能、又はアプリケーション５０１によって実装される。イベント収集トリガ８は、毎周期データを取得しており、取得したデータがイベント収集するタイミングであった場合に、ログ収集部６にイベント収集トリガを送付する。ログ収集部６は、イベント収集トリガを取得した後、実施例１から４に記載の動作を行う。また、イベント収集トリガ８はイベント収集タイミングではないとき、ログ取得禁止の要求を出力し、ログ収集部６はログ取得禁止の要求受信後、実施例１から４に記載の動作を取りやめる。
【００４９】
本実施例におけるイベントを収集するタイミングの例を示す。第一の例は、ＥＣＵの状態遷移時を示す。ＥＣＵの状態とは、起動、初期化、通常、異常、終了、などを表し、アプリケーションによらず必要な状態を表す。イベント収集トリガは、ＥＣＵの状態を表す変数を常に取得しており、起動、初期化、異常、終了などの通常動作と電源停止状態との過渡期にある状態のとき、イベント収集トリガをログ収集部６に送信する。
【００５０】
第二の例として、アプリケーションの制御モード変更時の例を示す。ここでの制御モードとは、通常の走行状態以外に、坂道発進時、ＡＣＣ（Ａｃｔｉｖｅ  Ｃｒｕｉｓｅ  Ｃｏｎｔｒｏｌ）、急ブレーキ時、など通常の走行時とは異なる機能が動作する計算方式の切替をさす。制御モード変更は、ユーザのボタン操作又は、カメラなどのセンサの取得データを基に行われる。制御モード変更直後は各制御モード特有の初期処理などが行われるため、ログ収集部にてその初期処理時のログ収集を行う。イベント収集トリガ８は、各アプリケーション５０１の制御モードを示すフラグを毎周期取得しており、制御モードの変更があった際にログ収集部６にイベント収集トリガを送信する。イベント収集トリガ８は、制御モード変更からあらかじめ指定された期間を過ぎた後に、ログ収集停止トリガを送信する。
【００５１】
第３の例として、制御指令値急変時の例を示す。制御指令値の急変とは、運転手の操作量、例えばブレーキやアクセルやハンドルなどの操作を急激に行った場合を指す。イベント収集トリガ８は、常にドライバーの操作量を取得しておき、値の急変を察知した場合にログ収集部６へとイベント収集トリガを送付する。イベント収集トリガ８は、イベント収集トリガ送付からあらかじめ指定された期間を過ぎた後に、ログ収集停止トリガを送信する。
【００５２】
本実施例により、定常とは異なる制御が行われた際の、ログを集中して収集することで、不具合などの異常を発見しやすいログに絞った収集が可能になる。
【符号の説明】
【００５３】
１  車両制御システム
２  ＥＣＵ
３  車載ネットワーク
４  車両制御システム
５  ソフトウェアモジュール
６  ログ収集部
７  出力装置
８  入力装置
２０１  通信装置
２０２  ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）
２０３  ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）
２０４  ＣＰＵ
２０５  入出力装置
５０１  アプリケーション
５０２  ＲＴＥ
５０３  ＢＳＷ
６０１  イベント列生成部
６０２  既知イベント列記憶部
６０３  イベント列比較部
６０４  報告部
６０１１  データ取得部
６０１２  イベント生成部
６０１３  イベント列構成部
６０４１  既知イベント列報告部
６０４２  未知イベント列報告部
６０５  未知イベント列パターン記憶部
６０６  未知イベント列比較部
Ｘ  監視対象
【図１】
0006655416.tif 000002
【図２】
0006655416.tif 000003
【図３】
0006655416.tif 000004
【図４】
0006655416.tif 000005
【図５】
0006655416.tif 000006
【図６】
0006655416.tif 000007
【図７】
0006655416.tif 000008
【図８】
0006655416.tif 000009
【図９】
0006655416.tif 000010
【図１０】
0006655416.tif 000011
【図１１】
0006655416.tif 000012
【図１２】
0006655416.tif 000013
【図１３】
0006655416.tif 000014
【図１４】
0006655416.tif 000015
【図１５】
0006655416.tif 000016
【図１６】
0006655416.tif 000017