(57)【要約】【課題】  一方の演算処理部の演算結果を他方の演算処理部が非同期通信により入力し微分演算を行う状態量演算装置において、微分演算結果の精度の低下を防止する状態量演算装置を提供すること。【解決手段】  ブレーキＥＣＵ２とエンジンＥＣＵ３が非同期の状態量演算装置において、エンジンＥＣＵ３で車体加速度演算を行う際、前回ブレーキＥＣＵ２から取得した車輪速と、今回ブレーキＥＣＵ２から取得した車輪速を比較して同一か否か判断し（Ｓ１４）、同一の場合は車輪速を入力とする車体加速度を前回の車体加速度演算時に演算した車体加速度とする（Ｓ２６）。【選択図】  図２
2008122197.tif 000002
【特許請求の範囲】
【請求項１】
所定データを第１の周期で取得して第１の状態量を算出する第１の演算処理手段と、
算出した前記第１の状態量を前記第１の周期よりも短い第２の周期で取得して、第２の状態量を微分演算により算出する第２の演算処理手段と、を備え、
前記第２の演算処理手段は、今回取得した前記第１の状態量を前回取得した前記第１の状態量と比較して、前記第１の状態量の変化を判断する取得データ変化判断手段を有し、前記取得データ変化判断手段により前記第１の状態量に変化がないと判断された場合、前記第２の状態量の微分演算を保留する、
ことを特徴とする状態量演算装置。
【請求項２】
前記第２の演算処理手段は、前記取得データ変化判断手段により前記第１の状態量に変化がないと判断された場合、前回算出した前記第２の状態量を今回の第２の状態量とすることを特徴とする請求項１に記載の状態量演算装置。
【請求項３】
前記第２の演算処理手段は、前記取得データ変化判断手段による前記第１の状態量に変化がないとの判断が所定の回数以上続いた場合、前記第２の状態量を０とすることを特徴とする請求項１または２に記載の状態量演算装置。
【請求項４】
前記第１の演算処理手段は、
今回算出した前記第１の状態量を前回算出した前記第１の状態量と比較して、前記第１の状態量の変化を判断する算出データ変化判断手段と、
前記算出データ変化判断手段により前記第１の状態量に変化がないと判断された場合、今回算出した前記第１の状態量を示す通信フレーム内のデータの下位側の特定ビットを反転させる反転手段と、
を有することを特徴とする請求項１〜３の何れか一項に記載の状態量演算装置。
【請求項５】
前記通信フレーム内には、複数の第１の状態量を示すデータが含まれており、
前記反転手段は、前記第２の演算処理手段において前記第２の状態量の演算に用いられない第１の状態量を示すデータの特定ビットを反転させることを特徴とする請求項４に記載の状態量演算装置。
【請求項６】
車輪速パルスを第１の周期で取得して車輪速を算出する第１の演算処理手段と、
算出した前記車輪速を前記第１の周期よりも短い第２の周期で取得して、車体加速度を微分演算により算出する第２の演算処理手段と、を備え、
前記第２の演算処理手段は、今回取得した前記車輪速を前回取得した前記車輪速と比較して、前記車輪速の変化を判断する取得データ変化判断手段を有し、前記取得データ変化判断手段により前記車輪速に変化がないと判断された場合、前記車体加速度の微分演算を保留する、
ことを特徴とする状態量演算装置。
【請求項７】
前記第２の演算処理手段は、前記取得データ変化判断手段により前記車輪速に変化がないと判断された場合、前回算出した前記車体加速度を今回の車体加速度とすることを特徴とする請求項６に記載の状態量演算装置。
【請求項８】
前記第２の演算処理手段は、前記取得データ変化判断手段による前記車輪速に変化がないとの判断が所定の回数以上続いた場合、前記車体加速度を０とすることを特徴とする請求項６または７に記載の状態量演算装置。
【請求項９】
前記第１の演算処理手段は、
今回算出した前記車輪速を前回算出した前記車輪速と比較して、前記車輪速の変化を判断する算出データ変化判断手段と、
前記算出データ変化判断手段により前記車輪速に変化がないと判断された場合、今回算出した前記車輪速を示す通信フレーム内のデータの下位側の特定ビットを反転させる反転手段と、
を有することを特徴とする請求項６〜８の何れか一項に記載の状態量演算装置。
【請求項１０】
前記通信フレーム内には、複数の車輪について算出した複数の車輪速を示すデータが含まれており、
前記反転手段は、前記第２の演算処理手段において前記車体加速度の演算に用いられない車輪速を示すデータの特定ビットを反転させることを特徴とする請求項９に記載の状態量演算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、状態量を演算する状態量演算装置に関するものである。
【背景技術】
【０００２】
従来、状態量を演算する状態量演算装置として、外乱による振動成分を含まない高精度の状態量を得ることができる状態量演算装置が知られている（例えば、特許文献１）。この状態量演算装置は、車輪速センサが直接接続される車輪速度演算用ＥＣＵにて、車輪速およびその一次階差（車輪加速度）等の状態量の演算を行う。すなわち、情報を所定の周期で入力し、その情報に対して演算し、さらに演算結果を微分する演算を行う。
【特許文献１】特開平１０−１２９４５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このような装置にあっては、情報を所定の周期で入力し演算を行い、その演算結果に対して微分演算を行うため、情報を入力し演算する周期と微分演算の周期を同一にしなければ、微分演算結果の精度が低下する恐れがある。このため、演算処理と微分演算処理を分離して２つの演算処理部で実施する場合においては、演算処理部間で演算処理と微分演算処理の同期をとる必要がある。
【０００４】
しかしながら、演算処理部間が非同期通信の場合は、演算処理部間で同期をとることができないため、微分演算結果の精度が低下することを回避できなかった。
【０００５】
そこで本発明は、このような技術課題を解決するためになされたものであって、第１の演算処理手段の演算結果を第２の演算処理手段が入力し微分演算を行う状態量演算装置において、微分演算結果の精度の低下を防止することが可能な状態量演算装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
すなわち本発明に係る状態量演算装置は、所定データを第１の周期で取得して第１の状態量を算出する第１の演算処理手段と、算出した前記第１の状態量を前記第１の周期よりも短い第２の周期で取得して、第２の状態量を微分演算により算出する第２の演算処理手段と、を備え、前記第２の演算処理手段は、今回取得した前記第１の状態量を前回取得した前記第１の状態量と比較して、前記第１の状態量の変化を判断する取得データ変化判断手段を有し、前記取得データ変化判断手段により前記第１の状態量に変化がないと判断された場合、前記第２の状態量の微分演算を保留することを特徴として構成される。
【０００７】
この発明によれば、第１の状態量を繰り返し取得して繰り返し微分演算をする際、今回取得した第１の状態量と前回取得した第１の状態量とを比較して同一か否か判断する。この時、取得した第１の状態量に変化がない場合としては、次の３つの場合が考えられる。（i）偶然にも第１の状態量が前回算出した第１の状態量と同一の場合、（ii）第１の演算処理手段において第１の状態量が更新されていない間に第２の演算処理手段が第１の状態量を取得した場合、そして、（iii）何らかの故障が生じて第１の状態量が更新されていない場合である。（ii）及び（iii）が発生している場合、更新されていない第１の状態量を入力とする第２の演算処理手段を行なわないことで、精度の低い第２の状態量を出力することを防ぐことができる。これによって、第２の状態量全体として精度低下を防ぐことができる。
【０００８】
また、本発明に係る状態量演算装置において、前記第２の演算処理手段は、前記取得データ変化判断手段により前記第１の状態量に変化がないと判断された場合、前回算出した前記第２の状態量を今回の第２の状態量とすることが好適である。
【０００９】
このようにすれば、（ii）及び（iii）が発生している場合、更新されていない第１の状態量を入力して演算し、第２の状態量が０となることを回避することができるため、第２の状態量全体として精度低下を防ぐことができる。
【００１０】
さらに、本発明に係る状態量演算装置において、前記第２の演算処理手段は、前記取得データ変化判断手段による前記第１の状態量に変化がないとの判断が所定の回数以上続いた場合、前記第２の状態量を０とすることが好適である。
【００１１】
第１の状態量に変化がない状態が発生する場合として、（i）、（ii）、（iii）の場合が考えられるが、（i）の場合は連続して長く続くことが想定し難く、（ii）の場合は少なくとも第１の周期よりも長い時間が経てばデータ更新されるため、ある一定値以上には連続して長く続くことはない。よって、第１の状態量に変化がない状態がある一定値以上連続して長く続く場合は、（iii）で示した何らかの故障が発生した場合であり、上記のように構成することで、故障が発生しているにも関わらず前回の第２の状態量を保持し続けることを防ぎ、第２の状態量を０とすることで安全側に作用させることができる。
【００１２】
さらに、本発明に係る状態量演算装置において、前記第１の演算処理手段は、今回算出した前記第１の状態量を前回算出した前記第１の状態量と比較して、前記第１の状態量の変化を判断する算出データ変化判断手段と、前記算出データ変化判断手段により前記第１の状態量に変化がないと判断された場合、今回算出した前記第１の状態量を示す通信フレーム内のデータの下位側の特定ビットを反転させる反転手段と、を有することが好ましい。
【００１３】
このようにすれば、（i）の場合が発生しても、新たに情報を通信に追加することなく第２の演算処理手段側で第１の状態量の更新が行なわれたことを検知することができる。よって、前回算出した第１の状態量が今回算出した第１の状態量とすべて一致した場合においても、今回の第２の状態量として前回の第２の状態量を採用することなく、正確な第２の状態量を求めることができる。また、下位側の特定ビットを反転させることで、演算精度の低下を抑制することができる。
【００１４】
さらに、本発明に係る状態量演算装置において、前記通信フレーム内には、複数の第１の状態量を示すデータが含まれており、前記反転手段は、前記第２の演算処理手段において前記第２の状態量の演算に用いられない第１の状態量を示すデータの特定ビットを反転させることが好ましい。
【００１５】
このようにすれば、（i）の場合が発生しても、第２の状態量の演算精度を低下させることなく第１の状態量の更新を検知することができる。
【００１６】
本発明に係る状態量演算装置は、車輪速パルスを第１の周期で取得して車輪速を算出する第１の演算処理手段と、算出した前記車輪速を前記第１の周期よりも短い第２の周期で取得して、車体加速度を微分演算する第２の演算処理手段と、を備え、前記第２の演算処理手段は、今回取得した前記車輪速を前回取得した前記車輪速と比較して、前記車輪速の変化を判断する取得データ変化判断手段を有し、前記取得データ変化判断手段により前記車輪速に変化がないと判断された場合、前記車体加速度の微分演算を保留することを特徴として構成される。
【００１７】
この発明によれば、車輪速を繰り返し取得して繰り返し車体加速度演算を行なう際、今回取得した車輪速と前回取得した車輪速とを比較して同一か否か判断する。取得した車輪速に変化がない場合としては、（iv）偶然にも第１の演算処理手段が算出した車輪速が前回算出した車輪速と同一の場合、（v）第１の演算処理手段において車輪速が更新されていない間に第２の演算処理手段が車輪速を取得した場合、そして、（vi）何らかの故障が生じて車輪速が更新されていない場合の三つの場合が考えられる。通常、車輪速は高精度で算出されているため（例えば、０．０１[km/h]）、前回取得した車体の４輪分の車輪速と今回取得した車体の４輪分の車輪速がすべて同一となることは極めて稀であり、（iv）の場合が発生しているとは想定し難い。よって、取得した車輪速に変化が無い場合は（v）または（vi）の場合と推定され、更新されていない車輪速を入力とする車体加速度演算を行なわないことで、精度の低い車体加速度演算処理結果を出力することを防ぐことができる。これによって、車体加速度処理全体として精度低下を防ぐことができる。
【００１８】
さらに、本発明に係る状態量演算装置において、前記第２の演算処理手段は、前記取得データ変化判断手段により前記車輪速に変化がないと判断された場合、前回算出した前記車体加速度を今回の車体加速度とすることが好適である。
【００１９】
このようにすれば、更新されていない車輪速を入力して演算し、車体加速度が０となることを回避することができるため、車体加速度全体の値として精度低下を防ぐことができる。
【００２０】
さらに、本発明に係る状態量演算装置において、前記第２の演算処理手段は、前記取得データ変化判断手段による前記車輪速に変化がないとの判断が所定の回数以上続いた場合、前記車体加速度を０とすることが好ましい。
【００２１】
車輪速に変化がない状態が発生する場合として、（iv）、（v）、（vi）の場合が考えられたが、（iv）の場合は連続して長く続くことが想定し難く、（v）の場合は少なくとも第１の演算処理手段の更新周期よりも長い時間が経てばデータ更新されるため、ある一定値以上には連続して長く続くことはない。よって、車輪速に変化がない状態がある一定値以上連続して長く続く場合は、（vi）で示した何らかの故障が発生した場合であり、上記のように構成することで、故障が発生しているにも関わらず前回の車体加速度を保持し続けることを防ぎ、車体加速度を０とすることで安全側に作用させることができる。
【００２２】
さらに、本発明に係る状態量演算装置において、前記第１の演算処理手段は、今回算出した前記車輪速を前回算出した前記車輪速と比較して、前記車輪速の変化を判断する算出データ変化判断手段と、前記算出データ変化判断手段により前記車輪速に変化がないと判断された場合、今回算出した前記車輪速を示す通信フレーム内のデータの下位側の特定ビットを反転させる反転手段と、を有することが好ましい。
【００２３】
このようにすれば、仮に（iv）の場合が発生しても、追加情報を通信に追加することなく第２の演算処理手段側で車輪速の更新が行なわれたことを検知することができる。よって、前回算出した車輪速が今回算出した車輪速とすべて一致した場合においても、今回の車体加速度として前回の車体加速度を採用することなく、正確な車体加速度を求めることができる。また、下位側の特定ビットを反転させることで、演算精度の低下を抑制することができる。
【００２４】
さらに、本発明に係る状態量演算装置において、前記通信フレーム内には、複数の車輪について算出した複数の車輪速を示すデータが含まれており、前記反転手段は、前記第２の演算処理手段において前記車体加速度の演算に用いられない車輪速を示すデータの特定ビットを反転させることが好ましい。
【００２５】
このようにすれば、仮に（iv）の場合が発生しても、車体加速度の演算精度を低下させることなく車輪速の更新を検知することができる。
【発明の効果】
【００２６】
本発明によれば、一方の演算処理部の演算結果を他方の演算処理部が非同期通信により入力し微分演算を行う状態量演算装置において、微分演算結果の精度の低下を防止することができる。
【発明を実施するための最良の形態】
【００２７】
以下、添付図面を参照して本発明の実施形態について説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
【００２８】
（第一実施形態）
【００２９】
図１は本発明の第一実施形態に係る状態量演算装置の構成図である。第一実施形態に係る状態量演算装置１は、物体の状態を表す物理量を演算する装置であり、具体的には車体速および車体加速度を演算する装置である。
【００３０】
図１に示すように、この状態量演算装置１は、ブレーキＥＣＵ（第１の演算処理手段）２およびエンジンＥＣＵ（第２の演算処理手段）３を備えている。ここで、ＥＣＵ（Electronic  Control  Unit）とは、電子制御する自動車デバイスのコンピュータであり、ＣＰＵ（Central  Processing  Unit）、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）、および入出力インターフェイスなどを備えて構成されている。
【００３１】
このブレーキＥＣＵ２とエンジンＥＣＵ３は非同期通信によって接続されており、例えばＣＡＮ（Controller  Area  Network）通信で接続されている。また、ブレーキＥＣＵ２とエンジンＥＣＵ３との間は通信フレームを用いて通信され、ブレーキＥＣＵ２の演算周期よりも短い周期で通信が行われる。
【００３２】
状態量演算装置１に備わるブレーキＥＣＵ２は、演算処理部２１を備えている。この演算処理部２１は、所定のデータを用いて状態量を算出する機能を備えており、具体的には、車輪速センサ４から得られた車輪速パルスを用いて車輪速を算出する機能である。この車輪速パルスを取得する周期は、例えば１２[ms]であり、演算処理部２１は同一の周期で車輪速を算出する。算出された車輪速は通信フレームに格納され、ＥＣＵ３へ送信される。
【００３３】
ＥＣＵ３は、第二比較処理部（取得データ変化判断手段）３１と、微分演算処理部３２を備えている。第二比較処理部３１は、ブレーキＥＣＵ２から取得した演算結果とブレーキＥＣＵ２から前回取得した演算結果とを比較する機能を備えている。具体的には、ブレーキＥＣＵ２から今回取得した車輪速と、前回取得した車輪速とを比較する機能である。この車輪速を取得する周期は、例えば８[ms]である。また、第二比較処理部３１は比較結果を微分演算処理部３２へ出力する機能を備えている。
【００３４】
微分演算処理部３２は、第二比較処理部３１から得られた状態量を微分演算する機能を備えている。具体的には、第二比較処理部３１を介してＥＣＵ２から取得した車輪速を微分演算して車体加速度を算出する機能である。この微分演算は、車輪速を取得する周期と同じ周期で実行され、例えば８[ms]である。また、第二比較処理部３１の比較結果に応じて、演算処理を選択する機能を備えている。
【００３５】
また、微分演算処理部３２で算出した車体加速度は、さまざまなアプリケーションで使用される。例えば、ＴＲＣ（Traction  Control）、ＡＣＣ（Adaptive  Cruise  Control）等の駆動側を制御するアプリケーションや、ＡＢＳ（Anti-lock  Brake  System）等のブレーキを制御するアプリケーション、サスペンションを制御するアプリケーションなどである。
【００３６】
次に第一実施形態に係る状態量演算装置の動作について説明する。
【００３７】
図２は、本実施形態に係る状態量演算装置の動作を示すフローチャートである。図３は本実施形態に係る状態量演算装置で用いられる通信フレームの一例を示す図である。
【００３８】
図２の制御処理は、エンジンＥＣＵ３で実行され、例えばイグニッションオンされてから所定のタイミングで繰り返し実行される。なお、以下では図２の制御処理がｋ回目の処理を行う場合について説明する。
【００３９】
図２の処理が開始されると、前回の処理、すなわち（ｋ−１）回目にブレーキＥＣＵ２から取得した通信データをエンジンＥＣＵ３内のＲＡＭに格納する処理が開始される（Ｓ１０）。この通信データは、例えば図３に示す通信フレームのように、ＦＲ車輪速センサ異常フラグＦ１、ＦＲ輪の車輪速Ｆ２、ＦＬ車輪速センサ異常フラグＦ３、ＦＬ輪の車輪速Ｆ４、ＲＲ車輪速センサ異常フラグＦ５、ＲＲ輪の車輪速Ｆ６、ＲＬ車輪速センサ異常フラグＦ７、ＲＬ輪の車輪速Ｆ８が含まれたデータである。なお、読み込んだ通信データの格納先はエンジンＥＣＵ３内のＲＡＭに限られるものではなく、エンジンＥＣＵ３が参照できるＲＡＭ以外の記憶領域に格納されても良い。Ｓ１０の処理が終了すると、データ入力処理へ移行する（Ｓ１２）。
【００４０】
Ｓ１２の処理は、ブレーキＥＣＵ２から通信データを入力し、エンジンＥＣＵ３内のＲＡＭに格納する処理である。この通信データのフォーマット形式や格納先は、Ｓ１０の処理と同様となる。Ｓ１２の処理が終了すると、データ比較処理へ移行する（Ｓ１４）。
【００４１】
Ｓ１４の処理は、Ｓ１０で読み込んだ（ｋ−１）回目の通信データと、Ｓ１２で読み込んだ通信データを比較して値が同一か否かを判断する処理である。判断方法は、例えば、Ｓ１０で読み込んだ通信データとＳ１２で読み込んだ通信データの差分が０か否かを判断すればよい。（ｋ−１）回目の通信データと入力した通信データが違うと判断された場合は、未更新カウンタ初期化処理へ移行する（Ｓ１６）。（ｋ−１）回目の通信データと入力した通信データが同一であると判断された場合は、未更新カウンタ更新処理へ移行する（Ｓ１８）。
【００４２】
Ｓ１６の処理は、未更新カウンタを初期化する処理であり、例えば、カウンタ値に０を代入する処理である。Ｓ１６の処理が終了すると車体速演算処理へ移行する（Ｓ２０）。
【００４３】
Ｓ１８の処理は、更新されていないと判断した通信データが何回連続で入力されたかをカウントする処理であり、例えば、（ｋ−１）回目の処理で求めた未更新カウンタに１を加算する処理である。Ｓ１８の処理が終了すると、車体速演算処理へ移行する（Ｓ２０）。
【００４４】
Ｓ２０の処理は、Ｓ１２で得られた通信データから演算を行う処理であり、例えば、４輪分の車輪速から車体速を演算する処理である。車体速は、例えば、駆動輪の車輪速平均値や転動輪の車輪速平均値として算出される。Ｓ２０の処理が終了すると、通信データ更新判断処理へ移行する（Ｓ２２）。
【００４５】
Ｓ２２の処理は、通信データが（ｋ−１）回目に入力した通信データと比べて更新されているか否かを判断する処理であり、例えば、未更新カウンタが０か否かを判断すればよい。未更新カウンタが０の場合、すなわちデータ更新がされていると判断された場合は、車体加速度演算処理へ移行する（Ｓ２６）。未更新カウンタが０でない場合、すなわちデータ更新がされていない場合は、未更新状態の継続判断処理へ移行する（Ｓ２４）。
【００４６】
Ｓ２６の処理は、Ｓ２０で算出した算出結果を微分する処理であり、例えば、車体速を入力し車体加速度を算出する処理である。例えば、Ｓ２０で算出した車体速をＶｘ（ｋ）、前回の処理すなわち（ｋ−１）回目の処理で算出した車体速をＶｘ（ｋ−１）、ブレーキＥＣＵ２の演算周期をｈ1とすると、算出される車体加速度Ｖｘ´（ｋ）は、（１）式で表される。
Ｖｘ´（ｋ）＝（Ｖｘ（ｋ）−Ｖｘ（ｋ−１））／ｈ1  …（１）
Ｓ２６の処理が終了すると、比較用データ更新処理へ移行する（Ｓ３２）。
【００４７】
Ｓ２４の処理は、Ｓ１８の処理で求めた未更新カウントが閾値以上か否かを判断する処理である。入力した通信データの未更新状態が連続して続いた場合は、ブレーキＥＣＵ２で算出した車輪速が同一のため更新しても車輪速が同一となっている場合や、ブレーキＥＣＵ２によって車輪速が更新されていない間にエンジンＥＣＵ３が車輪速を取得した場合、さらに、ＥＣＵ３が取得する車輪速が何らかの故障によって同一となっている場合の３つの場合が想定される。ここで、ブレーキＥＣＵ２が算出した４つの車輪速が連続で同じ値となることは、その車輪速精度（例えば、０．０１[km/s]）を考慮すると極めて起こりにくいため、車輪速が連続して同一の場合において、車輪速が同じ値で更新されている可能性は低いといえる。また、エンジンＥＣＵ３によって取得された車輪速が更新されていない場合は、少なくともブレーキＥＣＵ３の更新周期よりも長い時間が経てばデータ更新されるため、連続して同一な車輪速が長く続くことは無い。よって、同一の車輪速が連続して続く場合は何らかの故障が発生していると考えられる。このような故障発生の判断は、連続で入力された回数がある閾値ｘを超えた否かで判断すればよい。この閾値ｘは、データ未更新の最大回数と、演算処理部と微分演算処理部の通信において発生する通信無効の許容発生回数によって決定され、例えば、演算処理部２１の送信周期をｓ１、微分演算処理部３２の受信周期をｓ２とし、通信無効の許容発生回数をαとすると、以下（２）式で表される。
ｘ＝ｓ１／ｓ２＋α  …（２）
ここで、許容できる通信無効の発生回数αは、適宜設定すればよい。例えば、αを大きく設定すると通信無効が発生しても微分値が急変しないが、故障などの異常が発生したことを検知しにくくなる。また、αを小さく設定すると、異常が発生したことを検知しやすくなるが、通信無効が発生した場合に微分値が急変しやすくなる。Ｓ２４の処理において、未更新カウンタがｘより小さい場合、つまり入力データが未更新であることが何らかの故障が原因では無い場合、車体加速度の前回値入力処理へ移行する（Ｓ２８）。Ｓ２４の処理において、未更新カウンタがｘ以上の場合、フェールセーフ処理へ移行する（Ｓ３０）。
【００４８】
Ｓ２８の処理は、ｋ回目の微分演算によって算出される車体加速度として（ｋ−１）回目に微分演算した車体加速度を採用する処理である。これにより、ブレーキＥＣＵ２によって車輪速が更新されていない間にエンジンＥＣＵ３が車輪速を取得し、微分演算値が０になってしまう場合を回避することができる。Ｓ２８の処理が終了すると、比較用データ更新処理へ移行する（Ｓ３２）。
【００４９】
Ｓ３０の処理は、何らかの故障が発生したため取得したデータが連続して未更新となっている場合において、微分演算値を０とする処理を行う。これにより、故障が発生しているにも係らず前回の微分演算結果を保持し続けることを防ぐことが出来るため、誤った処理を連続して行なうことを避けることができる。Ｓ３０の処理が終了すると、比較用データ更新処理へ移行する（Ｓ３２）。
【００５０】
Ｓ３２の処理は、（ｋ＋１）回目の前回データとして、ｋ回目に入力したデータを代入する処理である。Ｓ３２の処理が終了すると、図２の制御処理は終了する。
【００５１】
次に、第一実施形態に係る状態量演算装置の効果を図７および図９を用いて説明する。図７は、第一実施形態に係る状態量演算装置において、時間に依存した車輪速（点線）および車体加速度（実線）を示した図である。図９は、従来の状態演算装置において、時間に依存した車輪速（点線）および車体加速度（実線）を示した図である。図７および図９の（ａ）は、車輪速センサによって得られる真の車輪速および車体加速度を示し、（ｂ）は、ブレーキＥＣＵ２によって車輪速センサから取得された車輪速および算出した車体速加速度を示し、（ｃ）は、エンジンＥＣＵ３によってブレーキＥＣＵ２から取得された車輪速および算出される車体速を示している。また、（ｂ）および（ｃ）の時間軸に記載された△記号はデータの取得タイミングおよび演算周期を表し、ブレーキＥＣＵ２の演算周期を１２[ms]、エンジンＥＣＵ３の演算周期を８[ms]とした場合を例示している。
【００５２】
図９に示すように従来の状態量演算装置において、車輪速センサによって得られる真の車体加速度（図９の（ａ）の実線）と、エンジンＥＣＵ３において算出される車体加速度（図９の（ｃ）の実線）とを比べると、大きな誤差が生じていた。
【００５３】
これに対し、図７に示すように第一実施形態に係る状態量演算装置において、データが未更新の場合は先に算出した車体加速度を採用することで、従来の状態量演算装置のエンジンＥＣＵ３における車体加速度（図９の（ｃ）の実線）に比べて、連続的な車体加速度（図７の（ｃ）の実線）となり、誤差を小さくすることができる。
【００５４】
また、図７の（ｃ）に示すように、故障が発生した場合においても同一の車輪速が入力され、先に算出した車体加速度を保持する動きとなる。ここで、同一の車輪速が何回連続で入力されたかをカウントする未更新カウンタが式（２）で示す閾値値ｘ以上になった場合、車体加速度を０とする制御を行う。通信無効の許容回数をα＝３とした場合、式（２）より未更新カウンタがｘ＝４．５となり、ｘ＝４．５より大きくなった時に車体加速度を０とする。これによって、前回の車体加速度を保持し続けることを防ぐため、安全側に作用させることができる。
【００５５】
以上のように、第一実施形態に係る状態量演算装置によれば、車輪速を繰り返し取得して繰り返し微分演算をする際、エンジンＥＣＵ３が今回取得した車輪速と前回取得した車輪速とを比較して同一か否か判断する。同一の場合は、ブレーキＥＣＵ２において車輪速が更新されていない間にエンジンＥＣＵ３が車輪速を取得した場合、そして、何らかの故障が生じて車輪速が更新されていない場合が考えられ、更新されていない車輪速を入力とする第２の演算処理手段を行なわないことで、精度の低い車体加速度を出力することを防ぐことができる。これによって、車体加速度全体として精度低下を防ぐことができる。
【００５６】
また、第一実施形態に係る状態量演算装置において、エンジンＥＣＵ３が今回取得した車輪速と前回取得した車輪速とを比較して同一か否か判断し、同一の場合は、前回算出した車体加速度全体を今回の車体加速度全体として出力する。このようにすれば、ブレーキＥＣＵ２において車輪速が更新されていない間にエンジンＥＣＵ３が車輪速を取得した場合、そして、何らかの故障が生じて車輪速が更新されていない場合において、更新されていない車輪速を入力して演算し、車体加速度が０となることを回避することができるため、車体加速度の値として精度低下を防ぐことができる。
【００５７】
さらに、第一実施形態に係る状態量演算装置において、エンジンＥＣＵ３が今回取得した車輪速と前回取得した車輪速とを比較して同一か否か判断し、同一の場合が所定の回数以上続いた場合、車体加速度を０として出力する。この場合は、何らかの故障が発生した場合と判断し、故障が発生しているにも関わらず前回の車体加速度を保持し続けることを防ぎ、車体加速度を０とすることで安全側に作用させることができる。
【００５８】
（第二実施形態）
【００５９】
次に第二実施形態について説明する。
【００６０】
図４は第二実施形態に係る状態量演算装置の構成図である。第二実施形態に係る状態量演算装置は、第一実施形態に係る状態量演算装置とほぼ同様に構成されるものであり、ブレーキＥＣＵ２内に第一比較処理部（算出データ変化判断手段）２２と反転処理部（反転手段）２３を備えている点で異なっている。
【００６１】
第一比較処理部２２は、演算処理部２１が出力した演算結果と演算処理部２１が前回の演算処理時に出力した演算結果とを比較する機能を備えている。この機能は、例えば、演算処理部２１が出力した車輪速を、前回の車輪速演算処理時に出力した車輪速と比較する機能である。また、比較処理部２２は比較結果を反転処理部２３へ出力する機能を備えている。
【００６２】
反転処理部２３は、比較処理部２２が出力した比較結果に基づいて特定ビットを反転させる機能を備えている。この機能は、例えば、前回の演算処理時に演算した車輪速と比べて演算した車輪速に変化が無い場合、通信フレーム内の特定ビットを反転させる機能である。また、反転処理を行ったデータを第二比較処理部３１へ出力する機能を備えている。
【００６３】
このような構成により、第一実施形態では演算処理部２１の演算結果が第二比較処理部３１へ出力されていたが、第二実施形態では演算処理部２１の演算結果は第一比較処理部２２へ出力され、反転処理部２３が第二比較処理部３１へデータを出力する。
【００６４】
次に図５を用いて、第二実施形態に係る状態量演算装置の動作について説明する。図５は、第二実施形態に係る状態量演算装置の動作を示すフローチャートである。第二実施形態に係る状態量演算装置の動作は、第一実施形態の状態量演算装置の動作にブレーキＥＣＵ２側の制御処理の動作が付与されたものである。
【００６５】
図５の制御処理は、ブレーキＥＣＵ２で実行され、例えばイグニッションオンされてから所定のタイミングで繰り返し実行される。なお、以下では図５の制御処理がｋ回目の処理を行う場合について説明する。
【００６６】
図５の処理が開始されると、前回算出した算出結果、すなわち（ｋ−１）回目にブレーキＥＣＵ２が算出した車輪速を含む通信データを参照し、ブレーキＥＣＵ２内のＲＡＭに格納する処理が開始される（Ｓ４０）。この通信データのフォーマットは第一実施形態と同様である。なお、読み込んだデータの格納先はブレーキＥＣＵ２内のＲＡＭに限られるものではなく、ブレーキＥＣＵ２が参照できるＲＡＭ以外の記憶領域に格納されても良い。Ｓ４０の処理が終了すると、データ入力処理へ移行する（Ｓ４２）。
【００６７】
Ｓ４２の処理は、第一演算処理部２１から通信データを入力し、ブレーキＥＣＵ２内のＲＡＭに格納する処理である。通信データの形式や格納先はＳ４０の処理で説明したものと同様となる。Ｓ４２の処理が終了すると、データ比較処理へ移行する（Ｓ４４）。
【００６８】
Ｓ４４の処理は、Ｓ４０で読み込んだ（ｋ−１）回目に算出した通信データと、Ｓ４２で読み込んだｋ回目に算出した通信データを比較して値が同一か否かを判断する処理である。判断方法は、例えば、Ｓ４０で読み込んだ通信データとＳ４２で読み込んだ通信データの差分が０か否かを判断すればよい。（ｋ−１）回目に算出した通信データとｋ回目に算出した通信データが同一と判断された場合は、特定ビット反転処理へ移行する（Ｓ４６）。（ｋ−１）回目に算出した通信データとｋ回目に算出した通信データが異なると判断された場合は、送信処理へ移行する（Ｓ４８）。
【００６９】
Ｓ４６の処理は、通信フレーム内の特定ビットを反転させる処理である。特定ビットはデータに影響を与えないように最下位側のビットが採用され、例えば、図３に示す最下位ビットＦ８ａを反転させる。これによって、取得した全データが一致した場合においても必ず違うデータとなる。Ｓ４６の処理が終了すると、送信処理へ移行する（Ｓ４８）。
【００７０】
Ｓ４８の処理は、通信データをエンジンＥＣＵ３の第二比較処理部３１へ送信する処理である。Ｓ４８の処理が終了すると、前回データ更新処理に移行する（Ｓ５０）。
【００７１】
Ｓ５０の処理は、（ｋ＋１）回目の前回データとして、ｋ回目に入力した通信データを代入する処理である。Ｓ５０の処理が終了すると、図５の制御処理は終了する。
【００７２】
図５の制御処理が終了すると、第一実施形態で説明した図２の制御処理が行われる。第一実施形態においては、演算処理部２１で演算した車輪速が連続して同じ場合、非同期通信のために車輪速が更新されていないのか、それとも同じ車輪速が新たに演算されたのかをエンジンＥＣＵ３側で判断することができなかったが、第二実施形態において図５の制御が加わることで、エンジンＥＣＵ３側で車輪速の更新を判断することが可能となる。よって、更新されている車輪速を更新されていないと判断して（ｋ−１）回目に算出した車体加速度を採用することを防ぎ、正確な車体加速度を求めることができる。
【００７３】
次に、第二実施形態に係る状態量演算装置の効果について図７および図８を用いて説明する。図８は、第二実施形態に係る状態量演算装置において、時間に依存した車輪速（点線）および車体加速度（実線）を示した図である。
【００７４】
例えば、第一実施形態の状態量演算装置では、図７の（ｃ）に示すように、同一の車輪速が連続して入力された場合は先に算出した車体加速度を保持するため、偶然にも演算結果が同一な車輪速が連続して出力された場合であっても、故障が発生した場合と同様に、先に算出した車体加速度を保持する動きをして、フェールセーフ処理によって正常化される。
【００７５】
これに対し、第二実施形態に係る状態量演算装置では、図８の（ｃ）に示すように、ブレーキＥＣＵで算出した車輪速が先に算出した車輪速と同一である場合は、送信する車輪速データの特定ビットを反転させるため、エンジンＥＣＵ３において未更新カウンタが更新されず、正確な車体加速度を求めることができる（図８の（ｃ））。これによって、第一実施形態よりも車体加速度全体の精度低下を防止することができる。
【００７６】
以上のように、第二実施形態に係る状態量演算装置によれば、車体加速度演算の入力となる車輪速を繰り返し算出する演算処理部において、車輪速が前回の車輪速と同一であると判断された場合は、通信フレーム内の特定ビットを反転させて送信する。このようにすれば、偶然にも同じデータが演算された場合が発生しても、追加情報を通信に追加することなくエンジンＥＣＵ３側で車輪速の更新が行なわれたことを検知することができる。よって、前回算出した車輪速が今回算出した車輪速とすべて一致した場合においても、今回の車体加速度として前回の車体加速度を採用することなく、正確な車体加速度を求めることができる。特に最下位ビットは車輪速の通信の分解能が非常に細く、ノイズの影響等で意味を持たない場合が多いため、最下位ビットを反転させることで、車体制御に影響を与えることなく車輪速の変化を検知させることができる。
【００７７】
（第三実施形態）
【００７８】
次に第三実施形態について説明する。
【００７９】
第三実施形態に係る状態量演算装置の構成は第二実施形態と同一である（図４）。また、通信フレームのフォーマットも第一および第二実施形態と同様である（図３）。図６は、第三実施形態に係る状態量演算装置の動作を示すフローチャートである。第三実施形態に係る状態量演算装置は、第二実施形態の状態量演算装置とほぼ同様に動作し、不要データの選択処理を行う点で異なっている。
【００８０】
不要データ選択処理は、図６のＳ６６に示すように、演算処理部２１において演算結果が同一である場合に行われ、通信フレーム内のデータのうち、微分演算処理部３２で使用しないデータを選択する処理である。第二実施形態では、演算結果が同一である場合に特定ビットを反転させるビット反転処理を行っていたが（図５のＳ４６）、第三実施形態では、ビット反転処理の前にＳ６６の不要データ選択処理を行い、選択された不要データのビットを反転させる処理を行う（Ｓ６８）。不要データの選択は、Ｓ６６以降の処理では使用しないデータが採用され、エンジンＥＣＵ３が演算処理結果を提供しているアプリケーションに依存する。これらのアプリケーションの例として、ＴＲＣ、ＡＣＣ、ＡＢＳ、制振制御等がある。エンジンＥＣＵ３の演算処理は、これらのアプリケーションに応じて変更され、例えば、通信フレーム内にある４輪の車輪速の中で最大値を車体速として選択するＭａｘセレクトや、最小値を車体速として選択するＭｉｎセレクト、４輪の車輪速の中央値に近い２つの車輪速のうち大きい方を選択するＭｉｄ−Ｈｉセレクト、中央値に近い２つの車輪速のうち小さい方を選択するＭｉｄ−Ｌｏセレクト、駆動輪の平均値を車体速として選択する駆動輪平均、転動輪の平均値を車体速として選択する転動輪平均などがある。例えば、ＴＲＣやＡＣＣが使用する車体速であるならば、Ｍｉｄ−Ｈｉセレクトの車輪速が必要であり、ＡＢＳが使用する車体速であるならば、Ｍｉｄ−Ｌｏセレクトの車輪速が必要となる。ここで、制振制御に使用される場合の不要データ選択方法について、図３を用いて説明する。エンジンＥＣＵ３の演算処理結果が制振制御に使用される場合は駆動輪平均の車輪速が必要であるため、図３の通信フレームのうちＦ１〜Ｆ４のデータを用いて車体速を算出する（図２のＳ２０）。よって、Ｆ５〜Ｆ８のデータが不要データとして選択される。このように、アプリケーションによって不要なデータを選択することで、後続の処理で使用しないビットを選択することができるため、後続処理に影響を与えずにデータ更新が行われたことを検知させることができる。
【００８１】
以上のように、第三実施形態に係る状態量演算装置によれば、車体加速度の入力となる車輪速を繰り返し算出する演算処理部において、車輪速が前回の車輪速と同一であると判断された場合は、車体加速度演算で使用しないビットを通信フレーム内の特定ビットとして反転させて送信する。これにより、算出した車輪速が前回の車輪速とすべて一致した場合においても、車体加速度演算の演算精度を低下させることなく車輪速の更新が行なわれたことを検知することができる。
【００８２】
なお、上述した各実施形態は本発明に係る状態量演算装置の一例を示すものである。本発明に係る状態量演算装置は、これらの各実施形態に係る状態量演算装置に限られるものではなく、各請求項に記載した要旨を変更しない範囲で、各実施形態に係る状態量演算装置を変形し、又は他のものに適用したものであってもよい。例えば、本発明に係る状態量演算装置は、実施例に挙げた速度と加速度に限られるものではなく、加速度と加速度微分値であっても、本発明の効果を得ることができる。
【図面の簡単な説明】
【００８３】
【図１】第一実施形態に係る状態量演算装置の構成図である。
【図２】第一実施形態に係る状態量演算装置の動作を示すフローチャートである。
【図３】第一実施形態に係る状態量演算装置で用いられる通信フレームの一例を示す図である。
【図４】第二実施形態に係る状態量演算装置の構成図である。
【図５】第二実施形態に係る状態量演算装置の動作を示すフローチャートである。
【図６】第三実施形態に係る状態量演算装置の動作を示すフローチャートである。
【図７】第一実施形態に係る状態量演算装置における車輪速および車体加速度を示す図である。
【図８】第二実施形態に係る状態量演算装置における車輪速および車体加速度を示す図である。
【図９】従来の状態量演算装置における車輪速および車体加速度を示す図である。
【符号の説明】
【００８４】
１…状態量演算装置、２…ブレーキＥＣＵ、２１…演算処理部、２２…第一比較処理部、２３…反転処理部、３…エンジンＥＣＵ、３１…第二比較処理部、３２…微分演算処理部、４…車輪速センサ。
【図１】
2008122197.tif 000003
【図２】
2008122197.tif 000004
【図３】
2008122197.tif 000005
【図４】
2008122197.tif 000006
【図５】
2008122197.tif 000007
【図６】
2008122197.tif 000008
【図７】
2008122197.tif 000009
【図８】
2008122197.tif 000010
【図９】
2008122197.tif 000011