(57)【要約】【課題】複数のセンサおよび複数のアクチュエータを有する車両のための車両制御システムを提供する。【解決手段】制御システムは、センサの値を読み出し送信するか、またはアクチュエータの目標値を受信すると共に、アクチュエータに対する制御信号を生成する、各センサおよび／またはアクチュエータと関連付けられたセンサ／アクチュエータ送受信機（ＳＡＴ）を含む。サーバは、少なくとも１つのセンサの関数としてアクチュエータの目標位置を決定する、ソフトウェア・イン・ザ・ループ・シミュレーションとして、各ＳＡＴに対してシミュレーションソフトウェアを実行する。次に、サーバにおける主要な送受信機は、信号をＳＡＴに送信して、アクチュエータを作動させて目標値を達成する。【選択図】図８
2015090708.tif 000002
【特許請求の範囲】
【請求項１】
各センサおよび／またはアクチュエータと関連付けられるセンサ／アクチュエータ送受信機（ＳＡＴ）であって、呼掛け信号に応答して、その関連したセンサの値を読み出し送信し、かつ／またはその関連したアクチュエータの位置を変更するようにそれぞれ構成された、センサ／アクチュエータ送受信機（ＳＡＴ）と、
各ＳＡＴに対して、少なくとも１つのセンサの値の関数としてアクチュエータの目標位置を決定する、シミュレーションソフトウェアを実行するように構成されたサーバと、
前記ＳＡＴに信号を送信して、前記アクチュエータを作動させて前記目標位置へと移動させると共に、前記ＳＡＴからセンサ出力データを受信するように構成された主要な送受信機とを備える、複数のセンサおよび複数のアクチュエータを有する車両のための車両制御システム。
【請求項２】
前記ＳＡＴが無線送信によって前記値を前記サーバに送信する、請求項１に記載の車両制御システム。
【請求項３】
前記主要な送受信機が無線送信によって前記ＳＡＴに送信する、請求項１に記載の車両制御システム。
【請求項４】
固有のＳＡＴ  ＩＤが各ＳＡＴに割り当てられ、前記主要な送受信機が、目標ＩＰアドレスを有するインターネットプロトコル（ＩＰ）パケットおよび前記ＳＡＴ  ＩＤを包含するＳＡＴデータパケットによって前記ＳＡＴと通信し、前記ＳＡＴ  ＩＤが、送信の宛先であるＳＡＴを識別するのに使用される、請求項１に記載の車両制御システム。
【請求項５】
前記サーバが、各ＳＡＴに対してソフトウェア・イン・ザ・ループ・シミュレーション（ＳＩＬＳ）を実行する、請求項１に記載の車両制御システム。
【請求項６】
各ＳＡＴに対する前記ＳＩＬＳが、前記サーバのための別個のメモリ分割を割り当てられる、請求項５に記載の車両制御システム。
【請求項７】
各ＳＩＬＳが、その関連したＳＡＴのためのアプリケーションソフトウェアおよび入出力ゲートウェイを備えて、前記アプリケーションソフトウェアによって使用される、その関連したＳＡＴに対する出力のデータまたはその関連したＳＡＴからのデータの入力を準備する、請求項５に記載の車両制御システム。
【請求項８】
前記サーバが、複数のＳＡＴに対して前記シミュレーションソフトウェアの連成シミュレーションを実行し、前記ＳＩＬＳそれぞれに対するデータが他のＳＩＬＳによってアクセス可能である、請求項５に記載の車両制御システム。
【請求項９】
各連成シミュレーションが、前記サーバにアクセス可能な別個のメモリ分割で実行される、請求項８に記載の車両制御システム。
【請求項１０】
前記サーバが、前記ＳＡＴに対する前記シミュレーションソフトウェア間の通信を制御するＳＩＬＳマネージャプログラムを実行する、請求項１に記載の車両制御システム。
【請求項１１】
前記ＳＡＴの少なくとも１つが、前記サーバに送信されるＳＡＴ識別子およびセンサデータを包含するデータパケットを生成する、請求項１に記載の車両制御システム。
【請求項１２】
前記データパケットがチェックサムを含む、請求項１１に記載の車両制御システム。
【請求項１３】
前記ＳＡＴの前記少なくとも１つが、トリガ信号に応答して前記データパケットの生成を開始する、請求項１１に記載の車両制御システム。
【請求項１４】
前記トリガ信号が前記サーバから受信される、請求項１３に記載の車両制御システム。
【請求項１５】
前記トリガ信号が、前記車両の操作者のアクションに応答して生成される、請求項１３に記載の車両制御システム。
【請求項１６】
各ＳＡＴが、その関連したセンサおよび／またはアクチュエータに対する、ドライブ入出力、アナログ／デジタル変換、およびスケーリングのみを行うプロセッサを含む、請求項１に記載の車両制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両制御システムに関し、より具体的には、複数のセンサおよび複数のアクチュエータを有する車両制御システムに関する。
【背景技術】
【０００２】
車両、特に自動推進車両は、一般的に、車両全体にわたって、数百とまではいかないものの数十のセンサを含み、それらはそれぞれ、ある条件を表す出力信号を生成する。例えば、かかる車両センサとしては、エンジン温度センサ、加速ペダル位置、ドア開放センサ、ブレーキペダル位置センサなどが挙げられる。
【０００３】
それに加えて、現代の自動推進車両は、車両全体にわたって分配された複数のアクチュエータも含む。これらのアクチュエータは、一般に、車両の動作を制御する。例えば、あるアクチュエータはエンジンのスロットル位置を制御するのに使用されてもよく、別のアクチュエータは車両ブレーキを作動させるのに使用されてもよく、その他も考えられる。
【０００４】
車両制御システムでは、プログラミングしたプロセッサを包含するＥＣＵが、各センサならびに各アクチュエータと関連付けられたセンサと関連付けられた各ＥＣＵの場合、ＥＣＵは、その関連したセンサから入力信号を受信し、そのセンサ値を処理し、次に、１つまたは複数のアクチュエータに対する出力値を生成して、車両の動作を制御する。同様に、各アクチュエータと関連付けられたＥＣＵもまた、受信したセンサ入力の関数として、それに関連したアクチュエータの目標位置を決定する、プログラミングしたプロセッサを包含する。そのＥＣＵは、次に、それらの入力を処理して、それに関連したアクチュエータの新しい目標位置を決定し、次に、アクチュエータに対する出力信号を生成して、その目標値を達成する。
【０００５】
自動推進車両における様々なＥＣＵ間の通信を可能にするために、ＣＡＮバスなどのワイヤバスが自動推進車両全体を通して延在し、センサおよびアクチュエータ用のＥＣＵを共に相互接続している。しかしながら、ＣＡＮバスは、ＥＣＵ間の信号の処理は行わず、それどころか、ＥＣＵを共に電気的に接続しているだけである。センサおよびアクチュエータに関するすべての処理は、それらのセンサおよびそれらのアクチュエータと関連付けられたＥＣＵによって行われる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
これらの車両制御システムはすべて、多数の共通した不利な点を有する。これまでに知られている車両制御システムの１つの不利な点は、各センサおよび各アクチュエータと関連付けられたＥＣＵが、かなり高価なマイクロプロセッサコントローラチップ、ならびに特注の特定用途向け集積回路（ＡＳＩＣ）を包含し、それらが共に、車両の総コストに大幅に影響している点である。
【０００７】
これらの車両制御システムの別のさらなる不利な点は、各ＥＣＵに包含されるマイクロプロセッサを別々にプログラミングしなければならない点である。さらに、任意の特定のＥＣＵを再プログラミングするには、ＥＣＵを完全に再設計するしかない場合が多い。これは当然ながら、高価であり、車両の総コストが増加する。
【０００８】
車両制御システムの別のさらなる不利な点は、センサおよびアクチュエータ用のＥＣＵが、車両全体を通して延在する電気的バスによって共に配線接続される点である。ＥＣＵの数が増加するにつれて、コントローラエリアネットワーク（ＣＡＮ）が必要とする配線の数および量が劇的に増加してきた。このことは、少なくとも３つの理由で不利である。
【０００９】
第一に、ＥＣＵを共に接続する配線の量が増加するにつれて、コントローラエリアネットワークを完成させるためのワイヤおよびそのコネクタの実際のコストが増大する。これによって車両の総コストが増加する。
【００１０】
第二に、ＥＣＵを共に接続するのにＣＡＮが必要とする配線の量が増加するにつれて、ＣＡＮが必要とする配線をすべて組み立てるための車両の組立てコストも増加する。これによっても車両の総コストが増加する。
【００１１】
次に、ＥＣＵを共に相互接続する配線全体の複雑さが増加するにつれて、電気雑音および電磁適合性（ＥＭＣ）も増加する。かかる電気雑音は、例えば、車両内に収容されたインフォテインメント機器の動作に干渉するだけでなく、深刻な場合、車両の実際の動作にも干渉する可能性がある。
【００１２】
最後に、ＣＡＮネットワークからの配線の量が増加するにつれて、車両の総重量に対するＣＡＮネットワークの実際の重量寄与分も増加する。このことは、ひいては、車両の性能を不利に低下させ、燃料消費量を増加させる。
【００１３】
本発明は、システムにおける上述の不利な点をすべて克服する車両制御システムを提供する。
【課題を解決するための手段】
【００１４】
概して、車両制御システムの各ＥＣＵは、ＥＣＵがアクチュエータと、もしくはセンサと、またはそれら両方のいずれと関連付けられるかに係わらず、低コストＣＰＵを有する低コストのセンサ／アクチュエータ送受信機（sensor-actuator-transceiver）（ＳＡＴ）と置き換えられる。低コストＣＰＵは、単に、センサからの受信データを処理し、送信されるデータを生成する。ＳＡＴ全体がＣＰＵと併せて標準化されてもよく、即ち、ＣＰＵに対するプログラミングが異なるとしても、同じＳＡＴが、車両全体にわたって異なるセンサおよび異なるアクチュエータに使用されてもよい。
【００１５】
各ＳＡＴは、１バイトなどの固有の識別情報を有する。それに加えて、各ＳＡＴは、ブルートゥース、ＩＰｖ４などの任意の標準プロトコルを使用して、送信機を通して無線でそのデータ値を受信ならびに通信する。
【００１６】
しかしながら、ＥＣＵとは異なり、ＳＡＴは、受信または送信されたデータを処理して、任意の値を決定することはしない。それよりもむしろ、センサと関連付けられたＳＡＴは単に、そのセンサ値を表すデータを送信し、アクチュエータと関連付けられたＳＡＴは単に、それに関連したアクチュエータの目標値を示すデータを受信する。
【００１７】
各ＳＡＴに対してＣＰＵの埋込みソフトウェアのアプリケーション層を実装するために、高性能サーバが車両内に収容される。この高性能サーバは、サーバ内で実行されるソフトウェア・イン・ザ・ループ・シミュレーション（ＳＩＬＳ）として、各センサおよびアクチュエータに対する制御ソフトウェアを実装する。好ましくは、車両内の各ＳＡＴには、サーバによって実行されるシミュレーションソフトウェアが同時に実行されても良いように、予め定められたメモリ分割がサーバによって割り当てられる。
【００１８】
様々なＳＡＴと通信するために、サーバは、データだけでなく目標ＳＡＴの識別情報も包含するデータパケットを作成する。次に、ＳＡＴは、データパケット形式で、ゲートウェイを通してサーバにデータを送信する。
【００１９】
サーバによって様々なメモリ分割で実行されるＳＩＬＳは、それらと関連したＳＡＴと無線で直接通信するが、状況によっては、１つのＳＩＬＳが異なるまたは複数のＳＡＴと通信することが必要である。これを遂行するために、サーバによって実行されるＳＩＬＳマネージャは、様々なＳＩＬＳ間の通信を確立すると共に、ＳＩＬＳが他のＳＩＬＳと通信し、それらが次いで、車両全体にわたる別のＳＡＴと通信するのを可能にする。
【００２０】
本発明の車両制御システムの主要な利点は、車両内の各センサおよびアクチュエータと関連付けられた複雑なＥＣＵが、車両全体にわたる低コストＳＡＴ、ならびにデータを処理しＳＡＴと通信する単一の高性能サーバに置き換えられる点である。このことにより、ひいては、車両制御システムの総コストが低下する。
【００２１】
それに加えて、サーバはＳＡＴと無線で通信するので、配線接続ＣＡＮシステムのワイヤコスト、設置コスト、および複雑さが排除される。同様に、別の方法ではＣＡＮシステムによって起こり得る、ＥＭＣおよび電気雑音も排除される。
【００２２】
さらに、車両毎に、または車両の年式毎にＳＡＴを再プログラミングする場合、そのセンサと関連付けられたＳＡＴに対する修正を要しない。より正確に言えば、必要とされることがある唯一の修正は、サーバに包含されるＳＩＬＳソフトウェアの修正である。サーバソフトウェアはＣ＋＋などの高水準言語でプログラミングされるので、ＳＡＴの任意の１つまたは複数のためのＳＩＬＳソフトウェアにおけるソフトウェア修正は、簡単かつ迅速に遂行されてもよい。
【００２３】
以下の詳細な説明を添付図面と併せて参照することにより、本発明についてのより十分な理解が得られるであろう。複数の図面を通して、同様の参照符号は同様の部分を指す。
【図面の簡単な説明】
【００２４】
【図１】無線車両制御システムを示す概略図である。
【図２】１つのセンサ／アクチュエータ送受信機（ＳＡＴ）を示す概略ブロック図である。
【図３】例示的なデータパケットを示す表である。
【図４】データパケット生成を示すフローチャートである。
【図５】サーバの概略ブロック図である。
【図６】センサ入力処理を示すフローチャートである。
【図７】アクチュエータ出力生成を示すフローチャートである。
【図８】ＳＡＴ−ＳＩＬＳ間インターフェースを示す概略ブロック図である。
【図９】サーバ起動を示すフローチャートである。
【図１０】ＳＩＬＳマネージャの動作を示すフローチャートである。
【図１１】サーバ入出力データ交換を示すフローチャートである。
【図１２】車両制御システムの一例を示す概略図である。
【発明を実施するための形態】
【００２５】
図１を参照すると、車両制御システムを備えた例示的な車両３０が示される。多くの現代の自動推進車両のように、この自動推進車両は、車両全体にわたって複数のセンサおよびアクチュエータを含む。
【００２６】
センサ／アクチュエータ送受信機（ＳＡＴ）３２は、車両全体にわたって各ＥＣＵと関連付けられる。実際には、１つのＳＡＴが、１つまたは複数のセンサならびに１つまたは複数のアクチュエータと関連付けられてもよい。あるいは、特定のＳＡＴが、単一のセンサまたは単一のアクチュエータのみと関連付けられてもよい。
【００２７】
次に図２を参照すると、１つのＳＡＴ  ３２の概略図が示される。図２に示されるＳＡＴ  ３２は、１つのセンサ３４および／または１つのアクチュエータ３６と関連付けられている。しかしながら、追加のセンサ３４ならびに追加のアクチュエータ３６も各ＳＡＴ  ３２と関連付けられても良い。同様に、ＳＡＴ  ３２は、単一のセンサ３４または単一のアクチュエータ３６のみと関連付けられているが、２つ以上のセンサ３４またはアクチュエータ３６と関連付けることができても良い。
【００２８】
ＳＡＴ  ３２は、読出し専用メモリ４０が包含するコンピュータプログラムによってプログラミングされる、ＰＩＣなどの低コストＣＰＵ  ３８を含む。ＣＰＵ  ３８はまた、ＲＯＭ  ４０が包含するプログラムによって要求される変数を一時的に格納するため、ランダムアクセスメモリ（ＲＡＭ）４２に対するアクセスを有する。
【００２９】
さらに図２を参照すると、ＳＡＴ  ３２はまた、入出力回路４４を通してセンサ３４と通信し、同様に、入出力回路４６を通してアクチュエータ３６と通信する。ＳＡＴは、無線送信プロトコルを通してデータの送受信両方を行う無線送受信機４８を包含する。
【００３０】
車両制御システムのＥＣＵとは異なり、ＳＡＴ  ３２は、車両の動作を制御するのに使用される最適値または目標値を決定するため、ＳＡＴ  ３２と関連付けられたそのセンサ３４またはアクチュエータ３６から受信するデータを処理することはしない。より正確に言えば、ＳＡＴ  ３２の唯一の機能は、特定のパラメータを、例えばエンジンオイル温度、エンジン回転数、空気圧などを測定し、送受信機４８によって後で送信されるＳＡＴデータパケットを作成するか、またはアクチュエータの目標値を表す、ひいてはその関連したアクチュエータをその目標値へと移動させる、データパケットを受信することである。
【００３１】
いくつかの例示的なＳＡＴデータパケットが図３に示される。例えば、アクセルペダルと関連付けられたＳＡＴ  ３２に対する１つのＳＡＴデータパケット５０が示される。エンジン回転数センサと関連付けられたＳＡＴ  ３２に対する更なるＳＡＴデータパケット５２が示され、タイヤ空気圧と関連付けられたＳＡＴに対するＳＡＴデータパケット５４が示される。最後に、この例では、ハイブリッド車両向けのモータ制御に対するＳＡＴデータパケット５６が示される。
【００３２】
さらに図３を参照すると、ＳＡＴデータパケット５０〜５６はそれぞれ、各ＳＡＴデータパケットのヘッダとして、少なくとも１データバイトを、好ましくは数データバイトを含む。０ｘＡＢ  ０ｘＢＡ  ０ｘＡＢ  ０ｘＢＡとして図３に示されるヘッダ値は、各データパケット５０〜５６に関して同じである。実際には、ヘッダバイト５８を含むことは単に、ヘッダバイト５８に続くデータがあることの指示である。
【００３３】
ヘッダバイトの後、ＳＡＴ  ＩＤバイト６０が各データパケット５０において送られる。各ＳＡＴ３２をＳＡＴ  ＩＤによって識別できるように、ＳＡＴ  ＩＤバイトは、車両に収容された各ＳＡＴ  ３２に対して固有のものである。ＳＡＴ  ＩＤ  ６０によって、ＳＡＴ  ３２の無線送受信機４８がその特定のＳＡＴ  ３２に送られたメッセージのみを受信し処理することができるだけでなく、送受信機４８が、ＳＡＴ  ３２による送信メッセージをＳＡＴ  ＩＤを用いて符号化することが可能になる。
【００３４】
ＳＡＴ  ＩＤバイト６０に続いて、１つまたは複数のデータバイト６２は、様々なＳＡＴ  ３２に送信された、またはそれらによって受信された実データを表す。実データは２バイトであってもよく、特定のＳＡＴに対して適切なデータを包含する。
【００３５】
最後に、データパケット５０〜５６はそれぞれ、好ましくはチェックサムバイト６４で終わる。チェックサムバイト６４は、データパケット中の他のバイトに応じて変わる。チェックサムバイト６４は、データパケットごとに変わり、送受信されたデータが有効であって破損していないことを検証するメカニズムを提供する。
【００３６】
次に図４を参照すると、ＳＡＴによるデータパケットの構築を示すフローチャートが示される。ステップ６６でＳＡＴを始動した後、ステップ６６はステップ６８に進む。ステップ６８で、マイクロプロセッサ３８（図２）は、センサ３４に対する測定プロセスが完了していることを示す適切なトリガを待機する。完了すると、ステップ６８はステップ７０に進む。
【００３７】
ステップ７０で、ＣＰＵ  ３８は、センサまたはアクチュエータ値のデフォルトのヘッダ値をＲＯＭ  ４０から読み出す。次に、ステップ７０はステップ７２に進み、ヘッダデータ（図３）をＲＡＭ  ４２が包含するデータレジスタにコピーする。次に、ステップ７２はステップ７４に進む。
【００３８】
ステップ７４で、ＣＰＵ  ３８は、ＳＡＴ  ＩＤ値６０をＲＯＭ  ４０から読み出し、次にステップ７６に進み、ＳＡＴ  ＩＤ値をＲＡＭ  ４２のデータレジスタが包含するヘッダ値に付加する。次に、ステップ７６はステップ７８に進む。
【００３９】
ステップ７８で、センサ／アクチュエータデータを、ＲＡＭ  ４２が包含するアナログ／デジタルメモリレジスタから読み出す。次に、ステップ７８はステップ８０に進み、センサ／アクチュエータからのデータ測定値を、ＳＡＴ  ＩＤ  ６０の後に、ＲＡＭ  ４２が包含するデータレジスタに付加する。次に、ステップ８０はステップ８２に進む。ステップ８２で、ヘッダバイト５８、ＳＡＴ  ＩＤバイト６０、およびデータバイト６２を使用して、チェックサムを計算する。次に、ステップ８２はステップ８４に進み、チェックサムを、ＲＡＭ  ４２が包含するデータレジスタのデータバイト６２の後に付加する。好ましくは、ＩＰｖ４などの標準伝送プロトコルを使用して、送受信機４８との間でメッセージが送信される。車両３０内のすべてのＳＡＴ  ３２に対するＩＰアドレスは同一であってもよく、例えば車両３０のＶＩＮ番号であってもよいが、あるいは、ＩＰアドレスは動的に割り当てられてもよく、異なるＳＡＴ  ３２に対して異なってもよい。この方法では、隣接車両などの他のソースから受信したメッセージは無視され、同じ車両３０内の送受信機１０８（図５）とＳＡＴ  ３２との間の安全な通信が保証されてもよい。
【００４０】
したがって、ステップ８６で、ＳＡＴ  ＩＤを含むステップ８４からのＳＡＴデータパケットを、ＲＡＭ  ４２が包含するデータレジスタ内のＩＰｖ４パケットデータフィールドに付加する。ＳＡＴのすべてのデータは、伝送プロトコルにおいてカプセル化されるので、ＳＡＴ  ＩＤが、ＩＰ（インターネットプロトコル）の送信先／送信元アドレスとは異なる各ＳＡＴを識別するのに使用される。いずれの場合も、チェックサムの計算および付加の後には、ＲＡＭ  ４２のデータレジスタ内のデータは、送受信機４８によって送信できる状態になっている。次に、ステップ８６はステップ６８に戻って、上述のプロセスが繰り返される。
【００４１】
図１および５を参照すると、ＳＡＴ  ３２はすべて、車両のトランク内など、車両３０の任意の適切な場所に収容されたサーバ１００と通信する。サーバ１００は、データを同時に処理することができるいくつかのコアを好ましくは利用する、高性能コンピュータサーバである。
【００４２】
サーバ１００は、サーバ１００の動作全体を制御する、オペレーティングシステム１０２のソフトウェア層を含む。サーバは、サーバ１００内のＳＩＬＳマネージャのソフトウェアレベル１０４を通して、各ＳＡＴ  ３２に対してソフトウェア・イン・ザ・ループ・シミュレーション（ＳＩＬＳ）を実行する。好ましくは、ＳＡＴ  ３２それぞれに対するＳＩＬＳは、異なるメモリ分割１０６内に配置される。その結果、ＳＩＬＳマネージャ１０４によって、１つのＳＡＴ  ３２からの値が必要に応じてシステムの他のＳＡＴ  ３２に対するＳＩＬＳに提供されても良いように、ＳＩＬＳ分割１０６が互いに通信することが可能になる。好ましくは、サーバ１００は、様々なＳＩＬＳ １０６に対する同時計算を可能にする、プログラミングされたマルチコアプロセッサを利用する。
【００４３】
次に、サーバ１００は、ブルートゥース、ＩＰｖ４などの標準プロトコルを使用して、無線送受信機１０８を通して様々なＳＡＴ  ３２と通信する。この方法では、サーバ１００は、ＳＡＴ  ３２から値を受信できるだけでなく、例えば、車両３０に収容された様々なアクチュエータの目標位置を変更するのに必要な値を、ＳＡＴ  ３２に対して返送することができる。
【００４４】
次に図６を参照すると、ＳＡＴ  ３２と関連付けられたセンサから値を取得する、ＳＡＴプロセッサのためのフローチャートが示される。ステップ１２０で始動した後、ステップ１２０はステップ１２２に進む。
【００４５】
ステップ１２２で、ＳＡＴプロセッサ３８（図２）は、ユーザアクションからのトリガ、またはサーバ送受信機１０８（図５）からの呼掛けを待機する。トリガまたは呼掛けを受信した後、ステップ１２２はステップ１２４に進む。
【００４６】
ステップ１２４で、プロセッサ３８は、ＳＡＴ  ３２と関連付けられたセンサパラメータを測定または更新する。次に、ステップ１２４はステップ１２６に進み、ＳＡＴプロセッサが、その関連したセンサからのアナログ信号のアナログ／デジタル変換を行う。プロセッサ３８はまた、必要であればスケーリングを行い、次にステップ１２８に進む。
【００４７】
複数のセンサが単一のＳＡＴ  ３２と関連付けられてもよい。したがって、ステップ１２８で、ＳＡＴプロセッサ３８は、センサ値がすべて測定または更新されているかを判断する。該当しない場合、ステップ１２８はステップ１２４に戻って、ＳＡＴ  ３２と関連付けられた各センサに対して上述のプロセスを繰り返す。ＳＡＴ  ３２と関連付けられたセンサがすべて測定されたら、ステップ１２８はステップ１３０に進む。
【００４８】
ステップ１３０で、プロセッサは、図４に示した上述のフローチャートにしたがって、ＳＡＴデータパケットを準備する。ＳＡＴデータパケットが形成された後、ステップ１３０はステップ１３２に進み、ＳＡＴデータパケットを、ＳＡＴ  ３２と関連付けられた送受信機４８によって送信する。次に、ステップ１３２はステップ１２２に戻り、上述のプロセスを繰り返す。
【００４９】
ＳＡＴによるデータ取得およびその後の送信を開始する実際のトリガは、どのセンサがＳＡＴと関連付けられるかに応じて変わる。例えば、加速ペダルの移動、ダッシュボードのファンクションキーの押下げ、制動などはすべてトリガを構成し、それによって最終的に、ＩＰｖ４メッセージ内に好ましくはカプセル化されたＳＡＴデータパケットが、ＳＡＴからサーバ１００の送受信機１０８へと送信される。
【００５０】
ＳＡＴデータパケットをＳＡＴ  ３２から受信すると、その特定のＳＡＴ  ３２と関連付けられたサーバ１００内のＳＩＬＳソフトウェアは、データを処理すると共に制御信号を生成し、その制御信号が、ＩＰｖ４メッセージ内に好ましくはカプセル化されたＳＡＴパケットとして、そのＳＡＴ  ３２に返送されるかまたは他のＳＡＴ  ３２に送信される。ＳＡＴデータパケットがＳＡＴ送受信機４８によって受信されると、ＳＡＴプロセッサ３８は受信データを処理し、入出力回路４６を通してアクチュエータ３６に至る適切な信号を生成して、アクチュエータ３６を目標値へと移動させる。
【００５１】
次に図７を参照すると、ＳＡＴ  ３２によるサーバからの受信信号の処理を示すフローチャートが示される。ステップ１４０でＳＡＴプロセッサ３８のためのソフトウェアを始動した後、ステップ１４０はステップ１４２に進む。ステップ１４２で、ＳＡＴプロセッサ３８のためのソフトウェアは、サーバ１００からの信号またはデータパケット送信を受信するのを待機する。サーバ１００からのデータパケット送信を受信すると、ステップ１４２はステップ１４４に進む。
【００５２】
ステップ１４４で、ＳＡＴプロセッサ３８は受信したデータパケットを検査し、ＳＡＴの受信ＩＤバイト６０（図３）を比較して、受信ＳＡＴ  ＩＤバイトがＳＡＴ  ３２に割り当てられたＳＡＴ  ＩＤと一致するかを判断する。一致しない場合、ステップ１４４はステップ１４６に進み、サーバ送受信機１０８からの次の送信を待機する。反対に、受信ＳＡＴ  ＩＤバイト６０がＳＡＴ  ３２に割り当てられたＳＡＴ  ＩＤバイトと一致する場合、ステップ１４４はその代わりにステップ１４８に進む。
【００５３】
ステップ１４８で、ＳＡＴプロセッサ３８は受信したＳＡＴデータパケットを復号化する。ステップ１４８におけるＳＡＴデータパケットのかかる復号化は、データバイト６２の抽出だけでなく、チェックサムバイト６４を計算しそれと比較して、受信データが破損していないことを担保することも含む。次に、ステップ１４８はステップ１５０に進み、データバイト６２をデータパケットから抽出する。ステップ１５０はステップ１５２に進み、デジタル／アナログ変換、および必要に応じてスケーリングを、ＳＡＴプロセッサ３８によって行う。Ｄ／Ａ変換およびスケーリングの後、アクチュエータ３６に対する適切な作動信号を作成する。次に、ステップ１５２はステップ１５４に進み、ＳＡＴプロセッサ３８が入出力回路４６を通して適切な出力信号３６を生成して、アクチュエータ３６を目標値へと移動させる。次に、ステップ１５４はステップ１５６に進み、サーバ送受信機１０８からの次の信号生成を待機する。
【００５４】
複数のＥＣＵを利用してセンサ出力を処理し、アクチュエータに対する目標値を計算し、次にそれらアクチュエータの作動を制御する車両制御システムとは異なり、ＥＣＵに代わるＳＡＴは単に、２つの基本機能のみを行う下位層ハードウェアドライバソフトウェアを実行する。第一に、下位層ＳＡＴソフトウェアは、センサからの測定値をデータとして受信し、そのデータをＳＡＴデータパケット内にパッケージ化し、次にそのデータパケットをサーバ１００に送信する。第二に、ＳＡＴプロセッサは、アクチュエータに対するＳＡＴデータパケットをサーバから受信し、アクチュエータに対する目標値を包含するデータパケットを復号化し、次に、アクチュエータの位置を制御するために、適切なデータ信号を、即ち可変電圧、ＰＷＭ、または他の信号を、アクチュエータに対して出力する。しかしながら、ＥＣＵを使用する車両制御システムとは異なり、ＳＡＴ  ３２は、アクチュエータに対する目標値を決定するためのデータ処理は行わない。同様に、ＳＡＴ  ３２は、ＣＡＮネットワークなどのネットワークを通して互いに直接通信しない。より正確に言えば、各ＳＡＴは単に、好ましくは無線送信によってサーバ１００と通信する。
【００５５】
反対に、サーバ１００は、ＳＡＴから受信したデータに対するデータ処理をすべて行って、車両アクチュエータに対する目標値を決定する。アプリケーションソフトウェアのこの上位層は、各ＳＡＴに異なるデータ分割が割り当てられたＳＩＬＳ環境で行われて、その特定のＳＡＴに対する入力および出力データが処理される。ＳＩＬＳの実際のプログラミングは、Ｃ＋＋などの高水準言語で行われる。
【００５６】
次に図８を参照すると、１つのＳＩＬＳ  １０６とその関連したＳＡＴ  ３２との間のインターフェースのブロック図が示される。１つのＳＩＬＳ  １０６が車両内の異なるＳＡＴ  ３２それぞれと関連付けられる。
【００５７】
ＳＩＬＳ  １６０は、ＣまたはＣ＋＋などの高水準言語で記述されたアプリケーションソフトウェア１６２を含む。アプリケーションソフトウェア１６２は、好ましくは、サーバ１００によって分配されたそれ自体のメモリ分割に包含され、ＳＡＴ  ３２に対する入力および出力データの必要な処理の複雑さに応じてサイズが変動する。このアプリケーションソフトウェア１６２は、更に、サーバ１００のオペレーティングシステムの制御下で、アプリケーション層でのみ動作する。アプリケーションソフトウェア１６２は、デバイスドライバなどの下位レベルのソフトウェア処理を含まない。アプリケーションソフトウェア１６２は、ＳＡＴ  ３２から受信した入力データまたはセンサデータの両方を処理し、サーバ１００の送受信機１０８によってＳＡＴ  ３２に送信される制御データを生成する。
【００５８】
アプリケーションソフトウェア１６２は、入出力ゲートウェイ１６４を通して、その関連したＳＡＴ  ３２と通信する。次に、入出力ゲートウェイモデル１６４は、サーバ１００内の無線送受信機１０８を通して、その関連付けられたＳＡＴ  ３２と通信する。
【００５９】
次に図５および９を参照すると、ＳＩＬＳマネージャ１０４は、サーバ１００のオペレーティングシステム１０２の制御下で動作して、ＳＩＬＳ［０］〜ＳＩＬＳ［Ｎ］間の通信を制御する（Ｎは、車両に収容されたＳＡＴ  ３２の数に等しい）。ＳＩＬＳマネージャ１０２を始動するために、ステップ１７０でサーバを始動した後、ステップ１７０はステップ１７２に進み、イグニッションスイッチがオンであるかを判断する。オンでない場合、ステップ１７２はステップ１７８で終わる。
【００６０】
反対に、イグニッションスイッチがオンである場合、ステップ１７２はステップ１７４に進み、無線送受信機１０８のためのハードウェアを初期化する。次に、ステップ１７４はステップ１７６に進み、サーバ１００のオペレーティングシステム１０２を始動するかまたは立ち上げ、また、連成シミュレーション（co-simulation）ツール１７８（図５）を起動する。この連成シミュレーションツール１７８によって、ＳＩＬＳ［０］〜ＳＩＬＳ［Ｎ］が互いに通信することができる。次に、ステップ１７６はステップ１８０に進む。ステップ１８０で、ＳＩＬＳマネージャ１０４を起動し、ＳＩＬＳ［０］〜ＳＩＬＳ［Ｎ］がすべて始動される。ステップ１８０におけるＳＩＬＳマネージャおよびＳＩＬＳの始動に続いて、サーバを完全に初期化する。
【００６１】
次に図１０を参照すると、ステップ１８０（図９）におけるＳＩＬＳマネージャの始動後の、ＳＩＬＳマネージャの動作を示すフローチャートが示される。ステップ１８２におけるＳＩＬＳマネージャの始動後、ステップ１８２はステップ１８４に進み、イグニッションスイッチがオンであるかを判断する。オンでない場合、ステップ１８４はステップ１８６に分岐し終了する。オンである場合、ステップ１８４はステップ１８８に進む。
【００６２】
ステップ１８８で、ＳＩＬＳマネージャ１０４は、ＳＡＴ（ｎ）からのトリガユーザアクションを待機する（ｎ＝０〜Ｎ、ＮはＳＡＴ  ３２の数）。トリガアクションを受信すると、ステップ１８８はステップ１９０に進み、データパケットを復号化してＳＡＴ  ＩＤバイト６０を決定し、そのようにして、ＳＡＴデータパケットを送信したＳＡＴ（ｎ）を識別する。次に、ステップ１９０はステップ１９２に進む。
【００６３】
ステップ１９２で、ＳＩＬＳマネージャは、データパケット５０〜５６（図３）の残りを復号化し、ステップ１９０で識別されたＳＩＬＳ  ＩＤバイトと関連付けられたＳＩＬＳソフトウェア１０６を起動する。ステップ１９２はまた、データバイト６２および他のデータペイロードを、ＳＡＴと関連付けられた、起動したＳＩＬＳ  １０６に転送する。次に、ステップ１９２はステップ１９４に進む。
【００６４】
ステップ１９４で、ＳＩＬＳマネージャ１０４は、ＳＩＬＳ  １０６がＳＡＴ（ｎ）から受信したデータパケットの処理を完了していることを示す、ＳＩＬＳ  １０６からのトリガを待機する。次に、ステップ１９４はステップ１９６に進み、ＳＩＬＳマネージャ１０４が、ステップ１９４で受信した出力またはデータペイロードを処理するＳＩＬＳソフトウェアを実行する。次に、ステップ１９６はステップ１９８に進み、処理したデータをデータパケット５０〜５６（図３）内へとパッケージ化する。次に、ステップ１９８はステップ２００に進み、サーバ１００に対する無線送受信機１０８を活性化して、適切なアクチュエータデータを１つまたは複数のＳＡＴ  ３２に送信する。ステップ２００におけるデータの送信は、ステップ１９０で識別されたＳＡＴ（ｎ）への返送、またはＳＡＴ（ｍ）など、システム内の別のＳＡＴ  ３２への返送であってもよい。
【００６５】
ＳＡＴデータパケットを適切なＳＡＴに送信した後、ステップ２００は分岐してステップ１８８に戻り、上述のプロセスを継続して反復する。
【００６６】
次に図１１を参照すると、サーバ入出力データ交換の全体フローを示す単純化されたフローチャートが示される。ステップ２０２における始動後、ステップ２０２はステップ２０４に進み、イグニッションスイッチがオンであるかを判断する。オンでない場合、プログラムはステップ２０６で終わる。オンである場合、ステップ２０４はステップ２０８に進む。
【００６７】
ステップ２０８で、ＳＡＴデータパケットをサーバ送受信機１０８によって受信する。次に、ステップ２０８はステップ２１０に進み、ＳＡＴデータパケットに包含される、かつ図１０を参照してさらに十分に記載した、識別情報またはＳＡＴ  ＩＤバイト６０（図３）に応じて、ＳＩＬＳマネージャ１０４が適切なＳＩＬＳ  １０６を初期化し実行する。次に、ステップ２１０はステップ２１２に進む。
【００６８】
ステップ２１２で、無線送受信機１０８は、ＳＩＬＳマネージャ１０４の制御下で、メッセージの対象であるＳＡＴ  ３２を識別するＳＡＴ  ＩＤと併せてそれぞれ符号化された、１つまたは複数のＳＡＴデータパケットを、ＳＡＴ  ３２に無線で送信する。次に、ステップ２１２は分岐してステップ２０８に戻り、上述のプロセスを繰り返す。
【００６９】
次に図１２を参照すると、ＳＡＴ ３２、即ちＳＡＴ［０］およびＳＡＴ［１］と、サーバ１００との間の通信の単純化した例が示される。この例の目的のため、ＳＡＴ［０］は、車両の加速ペダル２２４の位置を感知するセンサ２２２と関連付けられたＳＡＴを表す。第２のＳＡＴ［１］はエンジンスロットル２３０と関連付けられる。このＳＡＴ  ３２は、エンジンスロットル２３０を動かすことができるアクチュエータ２２８、ならびにスロットル２３０の位置を感知するセンサ２３２の両方を含む。それに加えて、この例の場合、サーバのオペレーティングシステム１０２およびＳＩＬＳマネージャ１０４、ならびにすべてのＳＡＴ  ３２が始動されており、動作可能であり、イグニッションスイッチがオンにされているものと仮定する。
【００７０】
加速ペダル２２４が押し下げられていると仮定すると、ＳＡＴ［０］は、トリガとしての加速ペダル２２４の移動を検出し、図６に示されるセンサ処理ソフトウェアを始動して、ＳＡＴ［０］に対するデータパケットを作成する。かかる例示的なデータパケットは、図３にデータパケット５０として示されている。
【００７１】
データパケット５０を構築する際、ＳＡＴ［０］が包含するプロセッサは単に、アナログ／デジタル変換およびスケーリングのため、センサ２２２からの信号の下位レベル処理を行っている。センサデータ２２のそれ以上の処理はＳＡＴ［０］によって行われない。
【００７２】
ＳＡＴ［０］に対するデータパケットが完成した後、ＳＡＴ［０］は、無線送受信機１０８を介して、ＳＡＴ［０］データパケットを受信するサーバ１００に、無線送信によってＳＡＴ［０］データパケット５０を送信する。ＳＡＴ［０］データパケットがサーバ１００によって受信されると、ＳＩＬＳマネージャ１０４は、図１０に示されるプログラムを実行し、それによって、データパケットを送信するＳＡＴ  ３２を、即ちＳＡＴ［０］を識別し、次に、ＳＡＴ［０］と関連付けられたソフトウェア分割に包含されるＳＩＬＳ［０］プログラムを実行する。ＳＩＬＳ［０］によるデータの処理中、ＳＩＬＳ［０］は、エンジンスロットル２３０の調節が必要であると判断する。しかしながら、異なるＳＡＴ［１］がエンジンスロットル２３０と関連付けられている。
【００７３】
したがって、ＳＩＬＳ［０］は、連成シミュレーションツール１７８を介して、ＳＡＴ［１］と関連付けられたそのデータ分割内のＳＩＬＳ［１］ソフトウェアと通信する。ＳＩＬＳ［１］による処理の後、ＳＩＬＳマネージャ１０４は、エンジンスロットル２３０を移動させるためのアクチュエータデータを包含するデータパケットを作成する。このデータパケットは、サーバ１００からのデータパケットを復号化するとともに、アクチュエータ２２８を作動させてエンジンスロットル２３０を目標位置へと移動させる、ＳＡＴ［１］に対するＳＡＴ  ＩＤセットと共に送信される。
【００７４】
それに加えて、ＳＡＴ［１］はまた、スロットル２３０に対する位置センサ２３２を包含する。その結果、ＳＡＴ［１］のプロセッサは、スロットル２３０の位置を表すデータを包含するデータパケットを作成し、アナログ／デジタル変換およびスケーリング後、任意に、このデータをフィードバックとしてサーバ１００に返送し、そこでデータが、ＳＩＬＳマネージャ１０４によって必要に応じて操作および／または格納される。
【００７５】
車両の動作中、ＳＡＴ［０］およびＳＡＴ［１］とサーバ１００との間の通信だけでなく、サーバ１００と車両内に収容された他のＳＡＴ  ３２すべてとの間の通信も継続的に発生する。サーバ送受信機１０８と様々なＳＡＴ  ３２との間の１つの無線通信のみが、任意の所定の瞬間に発生するが、サーバ送受信機１０８との間でのデータの送信は非常に迅速に、即ち数マイクロ秒程度で発生するので、複数のＳＡＴがほぼ同時にそれらのメッセージを送信しようと試みている場合であっても、車両性能の低下は生じない。
【００７６】
本発明の好ましい実施形態では、サーバ１００とＳＡＴ  ３２との間の通信は無線通信によるが、あるいは、ＳＡＴ  ３２はサーバ１００に配線接続されてもよい。
【００７７】
上述のことから、本発明は、車両全体にわたってアクチュエータおよびセンサの動作を制御するのに使用される電子制御装置（ＥＣＵ）に代わる、ＳＡＴが車両全体にわたって分配された、独自の車両制御システムを提供することが分かる。各ＳＡＴによって行われる処理は、下位レベルの処理のみ、即ちドライバソフトウェア、Ａ／Ｄ変換、およびスケーリングを構成するので、各ＳＡＴに対して非常に安価なプロセッサが使用されてもよく、それによって、従来使用されていたＥＣＵと比べてＳＡＴの総価格が大幅に低下する。さらに、各ＳＡＴは下位レベルの処理のみを行うので、ＳＡＴの全体構造は車両全体にわたって実質的に標準化されてもよい。
【００７８】
反対に、センサ入力の上位レベルの処理、ならびに車両全体にわたってアクチュエータを制御する、制御信号の計算および生成は、ＳＩＬＳマネージャ１０４の制御下でもっぱらサーバ１００によって行われる。ＳＩＬＳマネージャ１０４は、ＣまたはＣ＋＋などの高水準言語を使用してプログラミングされ、センサおよびアクチュエータのためのプログラミング、ならびにシステム全体のシミュレーションが大幅に単純化される。さらに、ＳＩＬＳマネージャ１０４は、各ＳＩＬＳに対して異なるデータ分割１０６を割り当てるので、各ＳＩＬＳはそれ自体の固有のＳＡＴと関連付けられ、ＳＩＬＳマネージャ１０４によるＳＩＬＳの実行は本質的にリアルタイムで発生する。
【００７９】
サーバ１００が必要とするハードウェアは、好ましくは上位レベルのハードウェアであり、したがって比較的高価である。しかしながら、エンジン制御システムのＥＣＵすべてを安価なＳＡＴに置き換えることによって、サーバ１００およびその関連したハードウェアの増加したコストが十分以上に相殺される。
【００８０】
上述のことから、本発明が、自動推進車両に特に適している独自の車両制御システムを提供することが分かる。本発明について記載してきたが、添付の請求項の範囲によって定義されるような発明の趣旨から逸脱することなく、本発明に対する多くの修正が当業者には明白となるであろう。
【符号の説明】
【００８１】
３０…車両、３２…センサ／アクチュエータ送受信機、３４…センサ、３６…アクチュエータ、１００…サーバ、１０８…無線送受信機、１６４…入出力ゲートウェイ。
【図１】
2015090708.tif 000003
【図２】
2015090708.tif 000004
【図３】
2015090708.tif 000005
【図４】
2015090708.tif 000006
【図５】
2015090708.tif 000007
【図６】
2015090708.tif 000008
【図７】
2015090708.tif 000009
【図８】
2015090708.tif 000010
【図９】
2015090708.tif 000011
【図１０】
2015090708.tif 000012
【図１１】
2015090708.tif 000013
【図１２】
2015090708.tif 000014