(57)【特許請求の範囲】
【請求項１】
補助機器を接続し、当該補助機器から得られる情報に基づいて制御を行う制御装置であって、
前記補助機器を動作させるための変数及びＡＰＩ名を示すコンフィギュレーションファイルを有するとともに、前記補助機器を動作させるために必要な変数及びＡＰＩのシンボルが記載されたシンボル情報を生成するドライバ部と、
前記補助機器が接続された際に、前記ドライバ部から前記コンフィギュレーションファイルを取得するとともに、前記ドライバ部からの前記シンボル情報を参照して、前記コンフィギュレーションファイルと前記シンボル情報との整合性を確認し、前記コンフィギュレーションファイルと前記シンボル情報との整合性が確認できた場合に、前記シンボル情報に記載された変数及びＡＰＩを使用して、前記補助機器を動作させるミドルウェア部と、を備えること
を特徴とする制御装置。
【請求項２】
前記補助機器から得られる情報を用いて処理を行う上位機能部をさらに備え、
前記ミドルウェア部は、
前記補助機器が接続された際に、前記ドライバ部から前記コンフィギュレーションファイルを取得し、
前記上位機能部からの登録命令に応じて、前記ドライバ部から前記シンボル情報を参照して、前記コンフィギュレーションファイルと前記シンボル情報との整合性を確認し、
前記コンフィギュレーションファイルと前記シンボル情報との整合性が確認できた場合に、前記上位機能部からの開始命令に応じて、前記シンボル情報に記載された変数及びＡＰＩを使用して、前記補助機器を動作させて、前記補助機器から得られた情報を前記上位機能部に与えること
を特徴とする請求項１に記載の制御装置。
【請求項３】
前記ミドルウェア部は、前記上位機能部からの書き込み命令に応じて、前記上位機能部からの制御情報を前記ドライバ部に与えること
を特徴とする請求項２に記載の制御装置。
【請求項４】
前記コンフィギュレーションファイルには、前記補助機器の実行ファイルのパスが含まれており、
前記ミドルウェア部は、前記コンフィギュレーションファイルに含まれているパスから前記実行ファイルを読み込むこと
を特徴とする請求項１から３の何れか一項に記載の制御装置。
【請求項５】
接続された補助機器を制御する制御方法であって、
前記補助機器が接続された際に、前記補助機器を動作させるための変数及びＡＰＩ名を示すコンフィギュレーションファイルを取得し、
前記補助機器を動作させるために必要な変数及びＡＰＩのシンボルが記載されたシンボル情報を生成し、
前記コンフィギュレーションファイルと前記シンボル情報との整合性を確認し、
前記コンフィギュレーションファイルと前記シンボル情報との整合性が確認できた場合に、前記シンボル情報に記載された変数及びＡＰＩを使用して、前記補助機器を動作させること
を特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、補助機器を接続し、その補助機器から得られる情報に基づいて制御を行う制御装置及び補助機器を制御する制御方法に関する。
【背景技術】
【０００２】
特許文献１には、車両ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）装置を介して車両データを送受信する車両データ通信部と、車両データ及び変換テーブルを記憶する記憶部と、変換テーブルに基づいて車両独自の形式である車両データをアプリケーションで利用可能な実用データ形式に変換するとともに、アプリケーションで算出された実用データ形式の車両データを変換テーブルに基づいて車両独自の形式の車両データに変換する車両データ変換部と、アプリケーションが車両データにアクセスする車両情報Ｉ／Ｆとを備える車載端末が記載されている。特許文献１に記載された車載端末は、センサ等の機器からの車両データを、変換テーブルを用いて、アプリケーションで利用可能な実用データに変換している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特願２００１−１３８０７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、従来例では、例えば、センサ等の補助機器を新たに設置した場合には、新たに設置された機器の車両データを実用データ形式のデータに変換するための変換テーブルを別に用意しなければならない。車両データを実用データ形式のデータに変換する変換テーブルの作成は、煩雑である。さらに、車両データ毎に、このような変換テーブルの作成を行わなければならない。
このため、従来例では、新たにセンサ等の補助機器を設置する場合に、この補助機器を使用することができるようにするために、多くの労力が必要となる。【０００５】
そこで、本発明は、新たにセンサ等の補助機器を設置した場合に、新たな補助機器を容易に使用できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る制御装置は、補助機器を接続し、当該補助機器から得られる情報に基づいて制御を行う制御装置であって、前記補助機器を動作させるための変数及びＡＰＩ名を示すコンフィギュレーションファイルを有するとともに、前記補助機器を動作させるために必要な変数及びＡＰＩのシンボルが記載されたシンボル情報を生成するドライバ部と、前記補助機器が接続された際に、前記ドライバ部から前記コンフィギュレーションファイルを取得するとともに、前記ドライバ部からの前記シンボル情報を参照して、前記コンフィギュレーションファイルと前記シンボル情報との整合性を確認し、前記コンフィギュレーションファイルと前記シンボル情報との整合性が確認できた場合に、前記シンボル情報に記載された変数及びＡＰＩを使用して、前記補助機器を動作させるミドルウェア部と、を備えることを特徴とする。【０００７】
本発明の一態様に係る制御方法は、接続された補助機器を制御する制御方法であって、前記補助機器が接続された際に、前記補助機器を動作させるための変数及びＡＰＩ名を示すコンフィギュレーションファイルを取得し、前記補助機器を動作させるために必要な変数及びＡＰＩのシンボルが記載されたシンボル情報を生成し、前記コンフィギュレーションファイルと前記シンボル情報との整合性を確認し、前記コンフィギュレーションファイルと前記シンボル情報との整合性が確認できた場合に、前記シンボル情報に記載された変数及びＡＰＩを使用して、前記補助機器を動作させることを特徴とする。
【発明の効果】
【０００８】
本発明の一態様によれば、センサ等の補助機器が新たに設置された場合に、新たな補助機器からの入力を吸収する吸収層を設けることで、上位のアプリケーションを変更することなく、新たな補助機器を容易に使用することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１〜４に係る車両制御システムの構成の一例を示すブロック図である。
【図２】実施の形態１〜４における、Ｆ／Ｅボード、Ｂ／Ｅボード及びナビボードの構成の一例を示すブロック図である。
【図３】実施の形態１〜４における補助機器を自動車に搭載した一例を示す概略図である。
【図４】実施の形態１〜４におけるＣＳＭＷの周辺ソフトウェアスタックの一例を示す概略図である。
【図５】実施の形態１〜４におけるＣＳＭＷにて参照するコンフィギュレーションファイルの一例を示す概略図である。
【図６】実施の形態１〜４において、ＣＦＧファイルの受け渡しを説明するための概略図である。
【図７】（Ａ）及び（Ｂ）は、Ｆ／Ｅボード、Ｂ／Ｅボード及びナビボードのそれぞれのハードウェア構成の一例を示す概略図である。
【図８】実施の形態１において、ＣＳＭＷを介して、データを下位機能部から上位機能部に渡す処理の一例を示すステートチャート図である。
【図９】実施の形態２において、ＣＳＭＷを介して、機器制御データを上位機能部から下位機能部に渡す処理の一例を示すステートチャート図である。
【図１０】実施の形態３において、ＣＳＭＷを介して、機器データを下位機能部から上位機能部に渡す処理の一例を示すステートチャート図である。
【図１１】実施の形態４において、ＣＳＭＷを介して、機器制御データを上位機能部から下位機能部に渡す処理の一例を示すステートチャート図である。
【発明を実施するための形態】
【００１０】
実施の形態１．
図１は、実施の形態１〜４に係る車両制御システム１００の構成の一例を示すブロック図である。
車両制御システム１００は、補助機器１と、フロントエンドボード（以下、Ｆ／Ｅボードという）１１０と、車両の挙動判断等を行うバックエンドボード（以下、Ｂ／Ｅボードという）１４０と、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）１３からの入力データに基づいて動作するナビボード１５０とを備える。
そして、Ｆ／Ｅボード１１０及びＢ／Ｅボード１４０により、車両の制御を行う制御装置１０５が構成される。制御装置１０５は、補助機器１を接続し、補助機器１から得られる情報に基づいて制御を行う。
【００１１】
Ｆ／Ｅボード１１０には、補助機器１として、単眼カメラ２と、ステレオカメラ３と、側方ソナー４と、ミリ波レーダ５と、ソナー６と、ＬＩＤＡＲ（Ｌａｓｅｒ  Ｉｍａｇｉｎｇ  Ｄｅｔｅｃｔｉｏｎ  ａｎｄ  Ｒａｎｇｉｎｇ）７とが接続されている。ここでは、補助機器１は、単眼カメラ２及びステレオカメラ３といったカメラと、側方ソナー４、ミリ波レーダ５、ソナー６及びＬＩＤＡＲ７といったセンサとを含む。
【００１２】
単眼カメラ２及びステレオカメラ３は、撮像を行い、その映像データを取得する。
側方ソナー４は、車体の側方から１５ｍ程度の遠距離までの間で、他車等の障害物が近づいて来るか否かを判断するため、アナログオーディオ（音波）を用いて計測する。なお、側方ソナー４とＦ／Ｅボード１１０との間には、データのやり取りを行うために必要なアナログデジタル変換器（以下、ＡＤ／ＤＡという）８が設けられている。
ミリ波レーダ５は、電波を自動車周囲に向けて発射し障害物からの反射波を測定することで障害物までの距離及び方向を測り、この障害物までの距離及び方向等の情報を取得する。なお、ミリ波レーダ５は、図示してはいないが、データを取得するミリ波レーダ本体と、そのデータをやり取りするミリ波レーダＥＣＵとを備える。
ソナー６は、音波を用いて車両周辺の障害物を検知する。
ＬＩＤＡＲ７は、レーザー光を用いて車両周辺の障害物を検知する。
【００１３】
また、Ｆ／Ｅボード１１０は、Ｖ２Ｐモジュール９と、Ｖ２Ｉモジュール１０と、ＧＰＳ受信機１１と、ＩＮＳ（Ｉｎｅｒｔｉａｌ  Ｎａｖｉｇａｔｉｏｎ  Ｓｙｓｔｅｍ：慣性航法装置）１２と、データのやり取りを行う。
【００１４】
Ｖ２Ｐは、Ｖｅｈｉｃｌｅ  ｔｏ  Ｐｅｒｓｏｎの略で、Ｖ２Ｐモジュール９は、自車周辺の歩行者を検知して、その検知結果を示す歩行者動向情報を取得する。Ｖ２Ｉは、Ｖｅｈｉｃｌｅ  ｔｏ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅの略で、Ｖ２Ｉモジュール１０は、自動車と、インフラとして設定してある路側器との通信結果を示す路側器情報を取得する。Ｖ２Ｐモジュール９及びＶ２Ｉモジュール１０を合わせてＶ２Ｘモジュールともいう。
【００１５】
ＧＰＳ受信機１１は、ＧＰＳの各種情報を受信する。
ＩＮＳ１２は、地上の航法援助施設からの電波又は地磁気等に頼らずに、移動する自動車の加速度から、移動方向、速度及び距離を求め、位置を特定するための搭載用航法装置である。
【００１６】
Ｂ／Ｅボード１４０は、ＳＰＩ（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）を介して、Ｆ／Ｅボード１１０とデータのやり取りを行う。
【００１７】
図２は、実施の形態１〜４における、Ｆ／Ｅボード１１０、Ｂ／Ｅボード１４０及びナビボード１５０の構成の一例を示すブロック図である。
単眼カメラ２及びステレオカメラ３は、ＬＶＤＳ（Ｌｏｗ  Ｖｏｌｔａｇｅ  Ｄｉｆｆｅｒｅｎｔｉａｎ  Ｓｉｇｎａｌｉｎｇ）で映像データをＦ／Ｅボード１１０のカスタマイザブルミドルウェア（以下、ＣＳＭＷという）１１１を介して、センサフュージョン１１２に伝送する。ＬＶＤＳは、短距離用のデジタル有線伝送技術で、小振幅及び低消費電力で比較的高速な差動インタフェースである。ＬＶＤＳは、グラフィックスカードからビデオモニタへの映像データ等のデータの伝送に使用される。
側方ソナー４における計測結果は、ＡＤ／ＤＡ８でデジタル変調され、ＣＳＭＷ１１１を介してセンサフュージョン１１２に伝送される。
なお、ＣＳＭＷ１１１をミドルウェア部ともいう。
【００１８】
Ｆ／Ｅボード１１０には、補助機器１を動作させるためのドライバ部１０６が設けられている。例えば、ドライバ部１０６は、補助機器１を動作させるための変数及びＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）名を示すコンフィギュレーションファイル（ＣＦＧファイルという）を保持する。また、ドライバ部１０６は、ＣＳＭＷ１１１からの指示に応じて、補助機器１を動作させるために必要な変数及びＡＰＩのシンボルが記載されたシンボル情報を生成し、生成されたシンボル情報をＣＳＭＷ１１１に与える。なお、図２には、ドライバ部１０６は１つしか示されていないが、ドライバ部１０６は、補助機器１の各々に設けられているものとする。
そして、ＣＳＭＷ１１１は、補助機器１が接続された際に、ドライバ部１０６からＣＦＧファイルを取得するとともに、ドライバ部１０６からのシンボル情報を参照して、ＣＦＧファイルとシンボル情報との整合性を確認する。例えば、ＣＦＧファイルに記載されている変数及びＡＰＩ名に対応する全てのアドレスがシンボル情報に記載されているか否かを確認する。ＣＦＧファイルとシンボル情報との整合性が確認できた場合、言い換えると、ＣＦＧファイルに記載されている変数及びＡＰＩ名に対応する全てのアドレスがシンボル情報に記載されている場合に、ＣＳＭＷ１１１は、シンボル情報に記載された変数及びＡＰＩを使用して、補助機器１を動作させる。
【００１９】
ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０１は、耐ノイズ性強化を考慮して設計された、接続機器相互間のデータ伝送に使用される通信経路である。ＣＡＮ１０１は、機器の制御情報の伝送用として普及しており、自動車においてはセンサとの情報のやり取り、エンジン又はブレーキの状態及び故障診断情報等の情報の伝送に使用されている。
ミリ波レーダ５は、障害物までの距離及び方向等の情報を、ＣＡＮ１０１及びＣＳＭＷ１１１を介して、センサフュージョン１１２に伝送する。
ソナー６からの情報は、ＣＡＮ１０１及びＣＳＭＷ１１１を介して、センサフュージョン１１２に伝送される。
Ｖ２Ｐモジュール９は、路側器情報を、ＣＡＮ１０１及びＣＳＭＷ１１１を介して、座標変換部１１３に伝送する。
Ｖ２Ｉモジュール１０は、歩行者動向情報を、ＣＡＮ１０１及びＣＳＭＷ１１１を介して、ダイナミックマップ部１１４に伝送する。
【００２０】
イーサネット（登録商標）１０２は、コンピュータネットワーク規格の１つであるが、車載の場合、自動車の周辺監視用のセンサのデータを伝送する通信ネットワークとして採用される。
ＬＩＤＡＲ７からの情報は、イーサネット１０２及びＣＳＭＷ１１１を介して、センサフュージョン１１２に伝送される。
【００２１】
ＧＰＳ受信機１１及びＩＮＳ１２からの情報は、ＣＳＭＷ１１１を介して、ロケータ部１１５に伝送される。
【００２２】
ナビボード１５０は、ＨＭＩ（Ｈｕｍａｎ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｒｆａｃｅ）１５１と、ナビゲーション部１５２とを備える。
ＨＭＩ１５１は、ユーザからの指示の入力を受け付ける入力部である。
ナビゲーション部１５２は、ＧＰＳ１３からのシリアル信号と、ＨＭＩ５１からの情報に基づいて動作し、Ｆ／Ｅボード１１０とデータのやり取りを行っている。
ＧＰＳ１３からの信号は、シリアル通信ケーブル１０４を介して、ナビボード１５０上のナビゲーション部１５２に伝送される。
【００２３】
上述の通り、補助機器１からの種々のデータ、例えば、単眼カメラ２からの映像データ、ステレオカメラ３からの映像データ、ミリ波レーダ５からの電波情報、及び、ソナー６からの音波情報等は、ＣＳＭＷ１１１を介して、センサフュージョン１１２に伝送される。補助機器１からの種々のデータは、センサフュージョン１１２により、統合的に処理され互いに協調されたデータとなってシンクロナイズされる。シンクロナイズされたデータは、センサフュージョン１１２からその上位アプリであるマップ生成部１１６に伝送される。
【００２４】
Ｖ２Ｐモジュール９からＣＳＭＷ１１１を介して座標変換部１１３に伝送されたデータは、座標変換部１１３からマップ生成部１１６に伝送される。
Ｖ２Ｉモジュール１０からＣＳＭＷ１１１を介してダイナミックマップ部１１４に伝送されたデータは、ダイナミックマップ部１１４から地図情報としてマップ生成部１１６及びレーンレベルルート生成部１１７に伝送される。
単眼カメラ２の映像データは、ＬＶＤＳ及びＣＳＭＷ１１１を介して、ロケータ部１１５にも入力され、また、ＧＰＳ受信機１１及びＩＮＳ１２からのデータもロケータ部１１５に入力される。さらに、マップ生成部１１６からの道路障害物情報が、ロケータ部１１５に入力される。これらロケータ部１１５に伝送されたデータは、自車位置情報として、マップ生成部１１６、レーンレベルルート生成部１１７及びナビゲーション部１５２に伝送される。
【００２５】
ナビゲーション部１５２からの誘導情報は、イーサネット１０２経由でレーンレベルルート生成部１１７に入力される。その他のＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）１６０からは、自車速度情報、自車加速度情報、操舵角情報、アクセル／ブレーキ情報及びウィンカ操作情報が、ＣＡＮ１０１経由で運転操作特性部１１８に入力される。この内、自車速度情報は、ＣＡＮ１０１を介して、マップ生成部１１６にも入力される。
マップ生成部１１６からは、３Ｄマップ情報が、リスクマップ生成部１１９の死角検出部１１９ａ、移動予測部１２０に伝送され、また、３Ｄマップ情報は、イーサネット１０２を介して、ナビボード１５０のＨＭＩ１５１に伝送される。
【００２６】
運動モデルデータベース１２１は、データベース内の情報を運動モデル更新部１２２からの更新情報で更新し、運動モデル情報を移動予測部１２０に入力する。
移動予測部１２０は、マップ生成部１１６からの３Ｄマップ情報と運動モデルデータベース１２１からの運動モデル情報とから移動予測情報を生成し、これをリスクマップ生成部１１９のリスク推定部１１９ｂに入力する。
【００２７】
レーンレベルルート生成部１１７は、地図情報及びレーンレベルルート情報をパス生成部１２３に入力する。
運転操作特性部１１８は、運転操作特性データベース１２４と運転操作特性情報をやり取りし、更新された運転操作特性情報をパス生成部１２３に入力する。
パス生成部１２３は、パス情報を、イーサネット１０２を介して、ナビボード１５０のＨＭＩ１５１に入力する。また、パス生成部１２３は、パス情報をＳＰＩ通信経路１０３経由で、Ｂ／Ｅボード１４０の判断部１４１に入力する。
ＨＭＩ１５１は、ＣＡＮ１０１からＦ／Ｅ故障情報及びＢ／Ｅ故障情報を取得すると共に、ＣＡＮ１０１に運転モード及び緊急停止情報を送信する。
【００２８】
Ｂ／Ｅボード１４０の判断部１４１は、自車位置情報、道路勾配情報、カーブ曲率情報をＣＡＮ経由で取得する。また、判断部１４１は、車両制御情報及びＢ／Ｅ故障情報をＣＡＮ１０１に送信すると共に、車両制御情報及びＢ／Ｅ故障情報を車両制御判断部１４２に入力する。
車両制御判断部１４２は、ＣＡＮ１０１から運転モード及びＦ／Ｅ故障情報を取得すると共に、ＣＡＮ１０１からセンシング情報を取得した緊急制御部１４３から緊急制御情報を取得する。
【００２９】
図３は、実施の形態１〜４における補助機器１を自動車に搭載した一例を示す概略図である。
自動車ＭＯには、車両制御システム１００が搭載されている。
単眼カメラ２は、自動車ＭＯの前方中央と後方中央に取り付けられており、夫々前方及び後方の物体を認識する。
ステレオカメラ３は、自動車ＭＯのフロントガラス上部に取り付けられ、前方の物体を認識する。
側方ソナー４は、自動車ＭＯの側方に取り付けられ、夫々右側方及び左側方を認識する。
ミリ波レーダ５は、自動車ＭＯの前方左右に取り付けられ、夫々前方の左右を走査する。
ソナー６は、自動車ＭＯの前方左右に取り付けられ、夫々前方の左右を走査する。
ＬＩＤＡＲ７は、自動車ＭＯの屋根中央に取り付けられ、自動車ＭＯの周囲全てを走査する。
【００３０】
図４は、実施の形態１〜４におけるＣＳＭＷ１１１の周辺ソフトウェアスタックの一例を示す概略図である。
図４では、単眼カメラ２、ステレオカメラ３、ミリ波レーダ５、ソナー６及びＬＩＤＡＲ７がＦ／Ｅボード１１０に接続されているものとして説明する。
【００３１】
単眼カメラ２の映像データは、ＬＶＤＳ及びＣＳＭＷ１１１を介して属性判別部２ａに入力される。
ステレオカメラ３の映像データは、ＬＶＤＳ経由でステレオ測距部３ａに入力される。ステレオ測距部３ａからの情報は、ＣＳＭＷ１１１を介して第１物体抽出部３ｂと、カメラベースでの第１道路特徴抽出部３ｃに入力される。
【００３２】
ミリ波レーダ５からの情報は、ＣＡＮ１０１経由で第１測距部５ａに入力される。第１測距部５ａからの情報は、ＣＳＭＷ１１１を介して、第２物体抽出部５ｂに入力される。
ソナー６からの情報は、ＣＡＮ１０１経由で第２測距部６ａに入力される。第２測距部６ａからの情報は、ＣＳＭＷ１１１を介して、第３物体抽出部６ｂに入力される。
ＬＩＤＡＲ７からの情報は、イーサネット１０２経由で第３測距部７ａに入力される。第３測距部７ａからの情報は、ＣＳＭＷ１１１を介して、第４物体抽出部７ｂとレーザーベースの第２道路特徴抽出部７ｃに入力される。
【００３３】
ここで、属性判別部２ａ、ステレオ測距部３ａ、第１物体抽出部３ｂ、第１道路特徴抽出部３ｃ、第１測距部５ａ、第２物体抽出部５ｂ、第２測距部６ａ、第３物体抽出部６ｂ、第３測距部７ａ、第４物体抽出部７ｂ、第２道路特徴抽出部７ｃ、同一物体合成部１１２ａ及び協調センシング部１１２ｂを機能部と言う総称で呼ぶ。
【００３４】
また、単眼カメラ２から属性判別部２ａにＣＳＭＷ１１１を介して情報を渡す場合、ステレオ測距部３ａから第１物体抽出部３ｂ及び第１道路特徴抽出部３ｃにＣＳＭＷ１１１を介して情報を渡す場合、第１測距部５ａから第２物体抽出部５ｂにＣＳＭＷ１１１を介して情報を渡す場合、第２測距部６ａから第３物体抽出部６ｂにＣＳＭＷ１１１を介して情報を渡す場合、及び、第３測距部７ａから第４物体抽出部７ｂ及び第２道路特徴抽出部７ｃにＣＳＭＷ１１１を介して情報を渡す場合、ＣＳＭＷ１１１は、各情報にタイムスタンプを付与する。
【００３５】
次に各機能部からＣＳＭＷ１１１を介してセンサフュージョン１１２にデータを入力する例を説明する。
属性判別部２ａは、ＣＳＭＷ１１１を介して、物体属性情報をセンサフュージョン１１２内の同一物体合成部１１２ａに入力する。
第１物体抽出部３ｂは、ＣＳＭＷ１１１を介して、相対位置情報、サイズ情報及び相対速度情報をセンサフュージョン１１２内の同一物体合成部１１２ａに入力する。
第１道路特徴抽出部３ｃは、ＣＳＭＷ１１１を介して、自車位置情報及び自車姿勢情報をセンサフュージョン１１２内の協調センシング部１１２ｂに入力する。
第２物体抽出部５ｂは、ＣＳＭＷ１１１を介して、相対位置情報、サイズ情報及び相対速度情報をセンサフュージョン１１２内の同一物体合成部１１２ａに入力する。
【００３６】
第３物体抽出部６ｂは、ＣＳＭＷ１１１を介して、相対位置情報、サイズ情報及び相対速度情報をセンサフュージョン１１２内の同一物体合成部１１２ａに入力する。
第４物体抽出部７ｂは、ＣＳＭＷ１１１を介して、相対位置情報、サイズ情報及び相対速度情報をセンサフュージョン１１２内の同一物体合成部１１２ａに入力する。
第２道路特徴抽出部７ｃは、ＣＳＭＷ１１１を介して、自車位置情報及び自車姿勢情報をセンサフュージョン１１２内の協調センシング部１１２ｂに入力する。
【００３７】
センサフュージョン１１２内の同一物体合成部１１２ａは、下位の機能部から収集した相対位置情報、サイズ情報、相対速度情報及び物体属性情報をセンサフュージョン１１２の上位アプリ１３０に渡す。ここでの上位アプリ１３０は、図２のマップ生成部１１６に相当する。
また、センサフュージョン１１２内の協調センシング部１１２ｂは、下位の機能部から収集した自車位置情報及び自車姿勢情報をセンサフュージョン１１２の上位アプリ１３０に渡す。
【００３８】
ここで、属性判別部２ａから同一物体合成部１１２ａにＣＳＭＷ１１１を介して情報を渡す場合、第１物体抽出部３ｂから同一物体合成部１１２ａにＣＳＭＷ１１１を介して情報を渡す場合、第１道路特徴抽出部３ｃから協調センシング部１１２ｂにＣＳＭＷ１１１を介して情報を渡す場合、第２物体抽出部５ｂから同一物体合成部１１２ａにＣＳＭＷ１１１を介して情報を渡す場合、第３物体抽出部６ｂから同一物体合成部１１２ａにＣＳＭＷ１１１を介して情報を渡す場合、第４物体抽出部７ｂから同一物体合成部１１２ａにＣＳＭＷ１１１を介して情報を渡す場合、第２道路特徴抽出部７ｃから協調センシング部１１２ｂにＣＳＭＷ１１１を介して情報を渡す場合には、ＣＳＭＷ１１１は、センサフュージョン１１２が受け取れる情報に成型し直してセンサフュージョン１１２にデータを渡す。
【００３９】
図５は、実施の形態１〜４におけるＣＳＭＷ１１１にて参照するＣＦＧファイルの一例を示す図である。
Ｆ／Ｅボード１１０に接続する１つの補助機器１に対して１つのＣＦＧファイルが必要である。図５に示されているＣＦＧファイル１７０は、ミリ波レーダ５を接続する際のものである。
【００４０】
接続するミリ波レーダ５の機種名はＭＷ−Ｒａｄｅｒであり、それに対応するＣＦＧファイル名は「ＭＷ−Ｒａｄｅｒ．ｉｎｉ」である。
ＣＦＧファイル１７０は、セクションと呼ばれるデータ領域で幾つかのブロックに区切られる。セクションは[]で括られた文字列で定義され、予め名称が規定された機能セクションと、任意の名称を持つデータ内容定義セクションがある。機能セクションは、どの補助機器１が接続されても共通して使用される名称を有する。例えば、図５に示された例では、［ＩＮＴＥＲＦＡＣＥ］、［ＳＴＲＵＣＴＵＲＥ］及び［ＤＡＴＡ＿ＳＰＥＣ］が機能セクションである。データ内容定義セクションは、接続された補助機器１毎にコーディングする必要があり、そのコード上に表れる変数の名称を示す。例えば、図５に示された例では、［Ｔｉｍｅｓｔａｍｐ］、［Ｖｅｌｏｃｉｔｙ］及び［ＲａｎｇｅＤｉｓｔａｎｃｅ］がデータ内容定義セクションである。
【００４１】
ＣＦＧファイル１７０にて最初に記載されているのは、インタフェース情報セクション［ＩＮＴＥＲＦＡＣＥ］である。
「ＳｅｎｓｏｒＮａｍｅ」は、接続される補助機器１の名称を示す。ここでは、ミリ波レーダ５の名称「ＭＷ−Ｒａｄｅｒ」が定義されている。
「ＵｐＩｎｄＭｏｄｅ」は、補助機器１のドライバ部が上位機能部にデータを渡す際のデータ通知方式を示す。例えば、データ通知方式は、「０」〜「２」の整数で定義されている。図５の例では、「０」が選択され、データが生成されたら、逐一、上位機能部に通知することが示されている。上位機能部は、例えば、ＣＳＭＷ１１１である。
【００４２】
「ＩＦＴｙｐｅ」は、補助機器１から上位機能部にデータを渡す際のインタフェースの種別を示す。例えば、インタフェースの種別は、「０」〜「６」の整数で定義されている。「０」は「ＩＰＣ（ＩｎｔｅｒＰｒｏｃｅｓｓ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）」であり、「１」は「メモリ」であり、「２」は「ＣＡＮ」であり、「３」は「Ｅｔｈｅｒｎｅｔ」であり、「４」は「ＬＶＤＳ」であり、「５」は「ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）」であり、「６」は「ＵＡＲＴ（Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ  Ｔｒａｎｓｍｉｔｔｅｒ）」である。ここでは、「２」が選択され、ＣＡＮ１０１を用いて通信することが示されている。
「ＣａｎＭｓｇＩＤ」は、補助機器１のドライバ部がデータをフィルタリングする際に使用する「Ｃａｎ  ＩＤ」を示す。なお、「ＣａｎＭｓｇＩＤ」は、「ＩＦＴｙｐｅ」で「ＣＡＮ」が選択されたために定義されており、「ＩＦＴｙｐｅ」で別の種別が選択された場合には、選択された種別に応じた項目で値が定義される。
【００４３】
「ＤｎＭｏｄＰａｔｈ」は、使用するドライバオブジェクト本体があるパス名を示す。このパス名で示されるパスから、ＣＳＭＷ１１１は、補助機器１の実行ファイルを読み込む。
【００４４】
「ＤｎＡｐｉＯｐｅｎ」は、ドライバ部が使用する伝送路のＯｐｅｎ処理の関数名を示す。
「ＤｎＡｐｉＣｌｏｓｅ」は、ドライバ部が使用する伝送路のＣｌｏｓｅ処理の関数名を示す。
「ＤｎＡｐｉＲｅａｄ」は、ドライバ部が使用する伝送路の読み込み処理の関数名を示す。
「ＤｎＡｐｉＷｒｉｔｅ」は、ドライバ部が使用する伝送路の書き込み処理の関数名を示す。
「ＤｎＡｐｉｉｏｃｔｒｌ」は、ドライバ部が使用する伝送路のプロパティ設定処理の関数名を示す。
「ＤｎＡｐｉＳｅｅｋ」は、ドライバ部が使用する伝送路のＳｅｅｋ処理の関数名を示す。
「ＤｎＡｐｉＯｐｅｎ」、「ＤｎＡｐｉＣｌｏｓｅ」、「ＤｎＡｐｉＲｅａｄ」、「ＤｎＡｐｉＷｒｉｔｅ」、「ＤｎＡｐｉｉｏｃｔｒｌ」及び「ＤｎＡｐｉＳｅｅｋ」では、ドライバコード上の関数名（ＡＰＩ名）が定義されている。ＣＳＭＷ１１１は、「ＤｎＡｐｉＯｐｅｎ」、「ＤｎＡｐｉＣｌｏｓｅ」、「ＤｎＡｐｉＲｅａｄ」、「ＤｎＡｐｉＷｒｉｔｅ」、「ＤｎＡｐｉｉｏｃｔｒｌ」又は「ＤｎＡｐｉＳｅｅｋ」のフォーマットにより、その後に続く「ドライバコード上の関数名」を認識する。その後に、ＣＳＭＷ１１１は、フィルタ設定でシンボル情報からその関数名とそれに割り当てられているアドレスを認識する。これにより、ＣＳＭＷ１１１は、ドライバ部における関数をコールすることができる。
【００４５】
次に、［ＳＴＲＵＣＴＵＲＥ］セクションは、上位提供データ構造定義セクションであり、補助機器１からＣＳＭＷ１１１に渡すデータの構造を定義する。
図５では、補助機器１からＣＳＭＷ１１１に渡すデータのメンバとして、「Ｔｉｍｅｓｔａｍｐ（タイムスタンプ）」、「Ｖｅｌｏｃｉｔｙ（速度）」、「ＲａｎｇｅＤｉｓｔａｎｃｅ（物体距離）」、「ＲａｎｇｅＲａｔｅ（物体速度）」及び「Ａｎｇｌｅ（物体角度）」が含まれており、それぞれ、３２ビットで構成されている。
【００４６】
次に、［ＤＡＴＡ＿ＳＰＥＣ］セクションは、［ＳＴＲＵＣＴＵＲＥ］セクションで定義されたメンバの詳細を示す。
例えば、図５の例では、［Ｔｉｍｅｓｔａｍｐ］セクションでは、「Ｆ」は変数そのものを示し、ここでは、「＿ＴＩＭＥＳＴＡＭＰ＿」という変数名の値がタイムスタンプの値であることを示している。
［Ｖｅｌｏｃｉｔｙ］セクションでは、「ＩｄＦ」は、データを取得するインタフェースの種別を示し、図５の例では、ＣＡＮ１０１からデータを取得することが示されている。「Ｉｄ」は、ＣＡＮ  ＩＤを示し、「Ｏｘ７３０」のＣＡＮ  ＩＤで送られてきたデータが速度を格納していることを示している。「Ｆ」は、上述のように変数そのものを示し、「＃２」は、データの２バイト目の１バイトが変数の値であることを示している。
【００４７】
以上のように、ＣＦＧファイル１７０には、補助機器１のＳ／Ｗの実行ファイルのパス、使用するＡＰＩ群の定義、メンバ変数の宣言及び定義等の情報が記載される。
【００４８】
図６は、実施の形態１〜４におけるＣＦＧファイル１７０の受け渡しを説明するための概略図である。
補助機器１のドライバ部１０６は、補助機器１が接続された際に、ＣＳＭＷ１１１にＣＦＧファイル１７０を与える。ＣＳＭＷ１１１は、ＣＦＧファイル１７０を参照することで、上位機能部１３１が補助機器１を制御できるようにする。
【００４９】
以上に記載されたＦ／Ｅボード１１０、Ｂ／Ｅボード１４０及びナビボード１５０のそれぞれの一部又は全部は、例えば、図７（Ａ）に示されているように、メモリ１８０と、メモリ１８０に格納されているプログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のプロセッサ１８１とにより構成することができる。このようなプログラムは、ネットワークを通じて提供されてもよく、また、記録媒体に記録されて提供されてもよい。
【００５０】
また、Ｆ／Ｅボード１１０、Ｂ／Ｅボード１４０及びナビボード１５０のそれぞれの一部又は全部は、例えば、図７（Ｂ）に示されているように、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ）又はＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の処理回路１８２で構成することもできる。
【００５１】
なお、図６に示されているドライバ部１０６についても、メモリ１８０及びプロセッサ１８１、又は、処理回路１８２で構成することができる。
【００５２】
図８は、実施の形態１において、ＣＳＭＷ１１１を介して、データを下位機能部１３３から上位機能部１３１に渡す処理の一例を示すステートチャート図である。ＣＳＭＷ１１１は、機能部又はドライバ部との間で機器データの入出力を行う。具体的には、機能部にデータを提供する「機器データ通知」と、デバイスドライバ抽象化層からデータを取り込む「機器データ受信」の２つがあるが機能は同じである。ＡＰＩとしては同期方式と非同期方式の両方が提供されるが、実施の形態１では同期方式で機器データを下位機能部１３３から上位機能部１３１へ渡す例を説明する。また、同期方式については、ＣＳＭＷ１１１に機器データが蓄積されていない場合の挙動として機器データを受信するまで待つ「ブロック」、指定時間まで待つ「タイムアウト（Ｔ/Ｏ）付きブロック」、待たずに即座にデータなしを返す「ブロック無し」の３つの挙動がある。
なお、ここでの下位機能部１３３は、図６に示したドライバ部１０６に相当する。
【００５３】
同期方式で機器データを下位機能部１３３から上位機能部１３１へ渡すにあたって、まず、ＣＳＭＷ１１１は、Ｆ／Ｅボード１１０に接続されている各種補助機器１の構成を把握するため、機器構成情報取得処理を行う。この際、接続されている各種補助機器１毎にＣＦＧファイル１７０が用意されており、下位機能部１３３は、対応するＣＦＧファイル１７０をロードする（Ｓ１０）。
【００５４】
そしてＣＳＭＷ１１１が実体を提供する機器登録処理を上位機能部１３１がコールし（Ｓ１１）、機器登録メッセージ（登録命令）をＣＳＭＷ１１１が受信する（Ｓ１２）。
【００５５】
下位機能部１３３は、ＣＳＭＷ１１１がインタフェース仕様を提示したフィルタ設定処理をコールし（Ｓ１３）、機器動作に必要なメンバ変数及びＡＰＩのシンボルが記載されたシンボル情報を取得する（Ｓ１４）。シンボル情報は、変数及びＡＰＩ名とそのアドレスとを対応付けた情報である。
ＣＳＭＷ１１１は、このシンボル情報を取得して（Ｓ１５）、取得されたシンボル情報とロードされたＣＦＧファイル１７０とを比較して、機器動作に必要なメンバ変数及びＡＰＩを把握することが可能となる。例えば、ＣＳＭＷ１１１は、ＣＦＧファイル１７０で把握された変数及びＡＰＩ名と、シンボル情報に含まれている変数及びＡＰＩ名とを比較し、これらが一致した場合には、対応するアドレスから変数及びＡＰＩを呼び出すことができるようになる。
【００５６】
続いて、ＣＳＭＷ１１１が実体を提供する機器開始処理を上位機能部１３１がコールし（Ｓ１６）、機器開始メッセージ（開始命令）をＣＳＭＷ１１１が受信する（Ｓ１７）。
【００５７】
下位機能部１３３は、ＣＳＭＷ１１１がインタフェース仕様を提示した機器受信開始処理をコールし（Ｓ１８）、補助機器１からのデータ受信を開始するのに必要な処理を行う（Ｓ１９）。
【００５８】
ＣＳＭＷ１１１は、ＦＩＦＯバッファ生成処理を行い、上りＦＩＦＯバッファ１３４を生成する（Ｓ２０）。
【００５９】
そして、機器受信開始処理（Ｓ１９）を行った下位機能部は、機器データＤＤを受信してフィルタリング処理を行い（Ｓ２１）、バッファ１３５に機器データＤＤをＰＵＳＨする（Ｓ２２）。
【００６０】
さらに、ＣＳＭＷ１１１は、機器データリード処理をコールし（Ｓ２３）、下位機能部のバッファ１３５にＰＵＳＨされた機器データＤＤをＰＵＬＬして読み込み、機器データＤＤをＣＳＭＷ１１１が取り込む（Ｓ２４）。
【００６１】
所望の機器データＤＤを取り込んだＣＳＭＷ１１１は、データ変換処理を行い（Ｓ２５）、ステップＳ２０で生成された上りＦＩＦＯバッファ１３４に機器データＤＤをＰＵＳＨする（Ｓ２６）。
【００６２】
ここで上位機能部１３１は、ＣＳＭＷ１１１が実体を提供する機器データリード処理をポーリングで行い（Ｓ２７）、上りＦＩＦＯバッファ１３４からＰＵＬＬして機器データＤＤを取得する（Ｓ２８）。
【００６３】
以上説明した実施の形態１によれば、下記（１）の効果が得られる。
（１）実施の形態では、車両制御システム１００は、自動車ＭＯに搭載された単眼カメラ２、ステレオカメラ３、ミリ波レーダ５、ソナー６又はＬＩＤＡＲ７といった各種補助機器１、これら各種補助機器１を動作させる機能部、及び、下位の機能部から上位の機能部へデータを受け渡すＣＳＭＷ１１１から構成される。各種補助機器１は、自動車ＭＯに搭載されているが、常に同じ機器に置換されるとは限らず、異なるバージョンの機器又は仕様の異なる他社の機器に置換されることもある。例えば、ミリ波レーダ５が他社製のミリ波レーダに置き換えられることもある。この場合、この補助機器１のＣＦＧファイルに、この補助機器１を動作させるための構造体及びＡＰＩを定義すれば、ＣＳＭＷ１１１は、起動時にそのＣＦＧファイルを読み込むだけで、ＣＳＭＷ１１１及びその上位のセンサフュージョン１１２を変更することなく、上位機能部は下位機能部からの機器データを、同期方式で取得することができる。なお、この場合、この補助機器１のドライバ部に相当する下位機能部のみを改修するだけで、補助機器１の置換ができ、ＣＳＭＷ１１１の上位アプリケーションは変える必要がないため、様々な開発現場でドライバ部に相当する機能部のみを開発するだけで済む。このため、車両制御システム１００は、アプリケーションサポートパッケージとして製品化することが可能である。
【００６４】
実施の形態２．
以下、実施の形態２における車両制御システム１００の説明を行う。実施の形態２における車両制御システム１００は、Ｆ／Ｅボード１１０と、Ｆ／Ｅボード１１０に接続された各種補助機器１と、Ｂ／Ｅボード１４０と、ナビボード１５０とを備え、実施の形態１と同様に構成されている。
但し、実施の形態２における車両制御システム１００は、その処理において、実施の形態１と異なっている。
【００６５】
図９は、実施の形態２において、ＣＳＭＷ１１１を介して、機器制御データ（制御情報）を上位機能部１３１から下位機能部１３３に渡す処理の一例を示すステートチャート図である。
ＣＳＭＷ１１１は、機能部及びデバイスドライバとの間で機器制御データの入出力を行う。具体的には、上位機能部１３１から機器制御データを受け取って下位機能部１３３に渡す「制御データ受信」と、ＣＳＭＷ１１１内部で共通データフォーマット変換した機器制御データを機能部又はデバイスドライバ抽象化層に出力する「制御データ出力」の２つがあるが機能は同じである。ＡＰＩとしては、ＣＳＭＷ１１１は、上位機能部１３１には非同期方式を、下位機能部１３３には同期方式及び非同期方式の両方を提供するが、実施の形態２では同期方式で機器制御データを上位機能部１３１から下位機能部１３３へ渡す例を説明する。また、機器制御データは機器データの場合と異なり少量かつ低頻度であることが想定されるため、データ受け渡し方式はデータ保証方式のみとなる。
【００６６】
同期方式で機器制御データを上位機能部１３１から下位機能部１３３へ渡すにあたって、まず、ＣＳＭＷ１１１は、Ｆ／Ｅボード１１０に接続されている各種補助機器１の構成を把握するため、機器構成情報取得処理を行う。この際、接続されている各種補助機器１毎にＣＦＧファイル１７０が用意されており、下位機能部１３３は、対応するＣＦＧファイル１７０をロードする（Ｓ３０）。
【００６７】
そしてＣＳＭＷ１１１が実体を提供する機器登録処理を上位機能部１３１がコールし（Ｓ３１）、機器登録メッセージをＣＳＭＷ１１１が受信する（Ｓ３２）。
【００６８】
下位機能部１３３は、ＣＳＭＷ１１１がインタフェース仕様を提示したフィルタ設定処理をコールし（Ｓ３３）、機器動作に必要なメンバ変数及びＡＰＩのシンボルが記載されたシンボル情報を取得する（Ｓ３４）。
ＣＳＭＷ１１１は、このシンボル情報を取得して（Ｓ３５）、取得されたシンボル情報とロードされたＣＦＧファイル１７０とを比較して、機器動作に必要なメンバ変数及びＡＰＩを把握することが可能となる。
【００６９】
続いて、ＣＳＭＷ１１１が実体を提供する機器開始処理を上位機能部１３１がコールし（Ｓ３６）、機器開始メッセージをＣＳＭＷ１１１が受信する（Ｓ３７）。
【００７０】
下位機能部１３３は、ＣＳＭＷ１１１がインタフェース仕様を提示した機器受信開始処理をコールし（Ｓ３８）、補助機器１からのデータ受信を開始するのに必要な処理を行う（Ｓ３９）。
【００７１】
上位機能部１３１は、ＣＳＭＷ１１１が実体を提供する機器制御データライト処理を行い、ＣＳＭＷ１１１は機器制御データＤＣＤを書き込むメッセージ（書き込み命令）を受信する（Ｓ４０）。
【００７２】
このようなメッセージを受信したＣＳＭＷ１１１は、データ変換処理を行い（Ｓ４１）、下りＦＩＦＯバッファ１３６に機器制御データＤＣＤをＰＵＳＨする（Ｓ４２）。
【００７３】
さらに、下位機能部１３３は、機器制御データリード処理をコールし（Ｓ４３）、ＣＳＭＷ１１１は、下りＦＩＦＯバッファ１３６にＰＵＳＨされた機器制御データＤＣＤをＰＵＬＬして読み込み（Ｓ４４）、機器制御データＤＣＤを下位機能部１３３がポーリングして取り込む（Ｓ４５）。
【００７４】
以上説明した実施の形態２によれば、上記（１）の効果の他に、下記（２）の効果が得られる。
（２）実施の形態２では、各種補助機器１は、自動車ＭＯに搭載されているが、常に同じ機器に置換されるとは限らず、異なるバージョンの機器又は仕様の異なる他社の機器に置換されることもある。この場合、置換された機器のＣＦＧファイル１７０にその機器を制御させるための構造体及びＡＰＩを定義すれば、ＣＳＭＷ１１１は、起動時にこのＣＦＧファイルを読み込むだけで、ＣＳＭＷ１１１及びその上位のセンサフュージョン１１２を変更することなく、下位機能部１３３は、上位機能部１３１からの機器制御データを、同期方式で取得することができる。なお、この場合、補助機器１のドライバ部に相当する下位機能部１３３のみを改修するだけで、補助機器１の置換ができ、ＣＳＭＷ１１１の上位アプリケーションは変える必要がないため、様々な開発現場でドライバ部に相当する機能部のみを開発するだけで済む。このため、車両制御システム１００は、アプリケーションサポートパッケージとして製品化することが可能である。
【００７５】
実施の形態３．
以下、実施の形態３における車両制御システム１００の説明を行う。実施の形態３における車両制御システム１００は、Ｆ／Ｅボード１１０と、Ｆ／Ｅボード１１０に接続された各種補助機器１と、Ｂ／Ｅボード１４０と、ナビボード１５０とを備え、実施の形態１と同様に構成されている。
但し、実施の形態３における車両制御システム１００は、その処理において、実施の形態１と異なっている。
【００７６】
図１０は、実施の形態３において、ＣＳＭＷ１１１を介して、機器データを下位機能部１３３から上位機能部１３１に渡す処理の一例を示すステートチャート図である。ＣＳＭＷ１１１は、機能部及びデバイスドライバとの間で機器データの入出力を行う。具体的には、機能部にデータを提供する「機器データ通知」と、デバイスドライバ抽象化層からデータを取り込む「機器データ受信」の２つがあるが機能は同じである。ＣＳＭＷ１１１は、ＡＰＩとしては同期方式と非同期方式の両方を提供するが、実施の形態３では非同期方式で機器データを下位機能部１３３から上位機能部１３１へ渡す例を説明する。また、非同期方式については、データ取得毎に通知を行う逐次通知型と、周期的に複数のタイミングで受信したデータを一括して通知する周期型とが用意される。更にデータの受け渡し方式として、データの実体をデータ提供先が用意したメモリにコピーして渡すデータ保証型と、データ提供元が確保したメモリのアドレスを渡す速度優先型との２つの方式がある。速度優先型の場合、機器データの受信によりＣＳＭＷ１１１内部のバッファが周回するまでが提供データの存続期間となる。
【００７７】
非同期方式で機器データを下位機能部１３３から上位機能部１３１へ渡すにあたって、まず、ＣＳＭＷ１１１は、Ｆ／Ｅボード１１０に接続されている各種補助機器１の構成を把握するため、機器構成情報取得処理を行う。この際、接続されている各種補助機器１毎にＣＦＧファイル１７０が用意されており、下位機能部１３３は、対応するＣＦＧファイル１７０をロードする（Ｓ５０）。
【００７８】
そしてＣＳＭＷ１１１が実体を提供する機器登録処理を上位機能部１３１がコールし（Ｓ５１）、機器登録メッセージをＣＳＭＷ１１１が受信する（Ｓ５２）。
【００７９】
下位機能部１３３は、ＣＳＭＷ１１１がインタフェース仕様を提示したフィルタ設定処理をコールし（Ｓ５３）、機器動作に必要なメンバ変数及びＡＰＩのシンボルが記載されたシンボル情報を取得する（Ｓ５４）。
ＣＳＭＷ１１１は、このシンボル情報を取得して（Ｓ５５）、取得されたシンボル情報とロードされたＣＦＧファイル１７０とを比較して、機器動作に必要なメンバ変数及びＡＰＩを把握することが可能となる。
【００８０】
続いて、ＣＳＭＷ１１１が実体を提供する機器開始処理を上位機能部１３１がコールし（Ｓ５６）、機器開始メッセージをＣＳＭＷ１１１が受信する（Ｓ５７）。
【００８１】
下位機能部１３３は、ＣＳＭＷ１１１がインタフェース仕様を提示した機器受信開始処理をコールし（Ｓ５８）、補助機器１からのデータ受信を開始するのに必要な処理を行う（Ｓ５９）。
【００８２】
ＣＳＭＷ１１１は、ＦＩＦＯバッファ生成処理を行い、上りＦＩＦＯバッファ１３４を生成する（Ｓ６０）。
【００８３】
そして、ステップＳ５９で機器受信開始処理を行った下位機能部１３３は、機器データを受信してフィルタリング処理を行う（Ｓ６１）。
【００８４】
さらに、ＣＳＭＷ１１１は、ＣＳＭＷ１１１が実体を提供するコールバック通知処理をコールし、下位機能部１３３から機器データＤＤをＣＳＭＷ１１１が取得する（Ｓ６２）。
【００８５】
所望の機器データＤＤを取得したＣＳＭＷ１１１は、データ変換処理を行い（Ｓ６３）、ステップＳ６０で生成された上りＦＩＦＯバッファ１３４に、機器データＤＤをＰＵＳＨする（Ｓ６４）。
【００８６】
ここで上位機能部１３１は、ＣＳＭＷ１１１がインタフェース仕様を提示するコールバック通知処理を行い、上りＦＩＦＯバッファ１３４からＰＵＬＬして機器データＤＤを取得する（Ｓ６５）。
【００８７】
以上説明した実施の形態３によれば、上記（１）及び（２）の効果の他に、下記（３）の効果が得られる。
（３）各種補助機器１は、自動車ＭＯに搭載されているが、常に同じ機器に置換されるとは限らず、異なるバージョンの機器又は仕様の異なる他社の機器に置換されることもある。この場合、置換された補助機器１のＣＦＧファイル１７０にこの補助機器１を動作させるための構造体及びＡＰＩを定義すれば、ＣＳＭＷ１１１は、起動時にＣＦＧファイル１７０を読み込むだけで、ＣＳＭＷ１１１及びその上位のセンサフュージョン１１２を変更することなく、上位機能部１３１は、下位機能部１３３からの機器データを、非同期方式で取得することが可能となる。なお、この場合、この補助機器１のドライバ部に相当する下位機能部１３３のみを改修するだけで補助機器１の置換ができ、ＣＳＭＷ１１１の上位アプリケーションは変える必要がないため、様々な開発現場でドライバ部に相当する機能部のみを開発するだけで済む。このため、車両制御システム１００は、アプリケーションサポートパッケージとして製品化することが可能である。
【００８８】
実施の形態４．
以下、実施の形態４における車両制御システム１００の説明を行う。実施の形態４における車両制御システム１００は、Ｆ／Ｅボード１１０と、Ｆ／Ｅボード１１０に接続された各種補助機器１と、Ｂ／Ｅボード１４０と、ナビボード１５０とを備え、実施の形態１と同様に構成されている。
但し、実施の形態４における車両制御システム１００は、その処理において、実施の形態１と異なっている。
【００８９】
図１１は、実施の形態４において、ＣＳＭＷ１１１を介して、機器制御データを上位機能部１３１から下位機能部１３３に渡す処理の一例を示すステートチャート図である。
ＣＳＭＷ１１１は、機能部及びデバイスドライバとの間で機器制御データの入出力を行う。具体的には、ＣＳＭＷ１１１は、機能部から機器制御データを受け取って機能部に渡す「制御データ受信」と、ＣＳＭＷ１１１内部で共通データフォーマット変換した機能制御データを機能部やデバイスドライバ抽象化層に出力する「制御データ出力」の２つがあるが機能は同じである。ＣＳＭＷ１１１は、ＡＰＩとしては上位機能部１３１には非同期方式を、下位機能部１３３には同期方式及び非同期方式の両方を提供するが、実施の形態４では非同期方式で機器制御データを上位機能部１３１から下位機能部１３３へ渡す例を説明する。また、機器制御データは、機器データの場合と異なり少量かつ低頻度であることが想定されるため、データ受け渡し方式は、非同期方式についても逐次型のみとなる。
【００９０】
非同期方式で機器制御データを上位機能部１３１から下位機能部１３３へ渡すにあたって、まず、ＣＳＭＷ１１１は、Ｆ／Ｅボード１１０に接続されている各種補助機器１の構成を把握するため、機器構成情報取得処理を行う。この際、接続されている各種補助機器１毎にＣＦＧファイル１７０が用意されており、下位機能部１３３は、対応するＣＦＧファイル１７０をロードする（Ｓ７０）。
【００９１】
そしてＣＳＭＷ１１１が実体を提供する機器登録処理を上位機能部１３１がコールし（Ｓ７１）、機器登録メッセージをＣＳＭＷ１１１が受信する（Ｓ７２）。
【００９２】
下位機能部１３３は、ＣＳＭＷ１１１がインタフェース仕様を提示したフィルタ設定処理をコールし（Ｓ７３）、機器動作に必要なメンバ変数及びＡＰＩのシンボルが記載されたシンボル情報を取得する（Ｓ７４）。
ＣＳＭＷ１１１は、このシンボル情報を取得して（Ｓ７５）、取得されたシンボル情報とロードされたＣＦＧファイル１７０とを比較して、機器動作に必要なメンバ変数及びＡＰＩを把握することが可能となる。
【００９３】
続いて、ＣＳＭＷ１１１が実体を提供する機器開始処理を上位機能部１３１がコールし（Ｓ７６）、機器開始メッセージをＣＳＭＷ１１１が受信する（Ｓ７７）。
【００９４】
下位機能部１３３は、ＣＳＭＷ１１１がインタフェース仕様を提示した機器受信開始処理をコールし（Ｓ７８）、補助機器１からのデータ受信を開始するのに必要な処理を行う（Ｓ７９）。
【００９５】
上位機能部１３１は、ＣＳＭＷ１１１が実体を提供する機器制御データライト処理を行い、ＣＳＭＷ１１１は機器制御データＤＣＤを書き込むメッセージを受信する（Ｓ８０）。
【００９６】
このようなメッセージを受信したＣＳＭＷ１１１は、データ変換処理を行い（Ｓ８１）取得した機器制御データＤＣＤを逐次方式で通知する（Ｓ８２）。
【００９７】
さらに、下位機能部１３３は、機器制御データライト処理をコールし、通知された機器制御データＤＣＤを自身に書き込んで取得する（Ｓ８３）。
【００９８】
以上説明した実施の形態４によれば、上記（１）〜（３）の効果の他に、下記（４）の効果が得られる。
（４）各種補助機器１は、自動車ＭＯに搭載されているが、常に同じ機器に置換されるとは限らず、異なるバージョンの機器又は仕様の異なる他社の機器に置換されることもある。この場合、置換された補助機器１のＣＦＧファイル１７０にこの補助機器１を制御させるための構造体及びＡＰＩを定義すれば、ＣＳＭＷ１１１は、起動時にＣＦＧファイル１７０を読み込むだけで、ＣＳＭＷ１１１及びその上位のセンサフュージョン１１２を変更することなく、下位機能部１３３は、上位機能部１３１からの機器制御データを、非同期方式で取得することが可能となる。なお、この場合、補助機器１のドライバ部に相当する下位機能部１３３のみを改修するだけで補助機器１の置換ができ、ＣＳＭＷ１１１の上位アプリケーションは変える必要がないため、様々な開発現場でドライバ部に相当する機能部のみを開発するだけで済む。このため、車両制御システム１００は、アプリケーションサポートパッケージとして製品化することが可能である。
【００９９】
なお、本発明は、上記実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の態様で実施することが出来る。
【符号の説明】
【０１００】
１  補助機器、  ２  単眼カメラ、  ３  ステレオカメラ、  ４  側方ソナー、  ５  ミリ波レーダ、  ６  ソナー、  ７  ＬＩＤＡＲ、  １００  車両制御システム、  １０１  ＣＡＮ、  １０２  イーサネット、  １０５  制御装置、  １０６  ドライバ部、  １１０  Ｆ／Ｅボード、  １１１  ＣＳＭＷ、  １１２  センサフュージョン、  １４０  Ｂ／Ｅボード、  １５０  ナビボード、  １８０  メモリ、  １８１  プロセッサ、  １８２  処理回路。
【図１】
0006559350.tif 000002
【図２】
0006559350.tif 000003
【図３】
0006559350.tif 000004
【図４】
0006559350.tif 000005
【図５】
0006559350.tif 000006
【図６】
0006559350.tif 000007
【図７】
0006559350.tif 000008
【図８】
0006559350.tif 000009
【図９】
0006559350.tif 000010
【図１０】
0006559350.tif 000011
【図１１】
0006559350.tif 000012