説明

状態量演算装置

【課題】
一方の演算処理部の演算結果を他方の演算処理部が非同期通信により入力し微分演算を行う状態量演算装置において、微分演算結果の精度の低下を防止する状態量演算装置を提供すること。
【解決手段】
ブレーキECU2とエンジンECU3が非同期の状態量演算装置において、エンジンECU3で車体加速度演算を行う際、前回ブレーキECU2から取得した車輪速と、今回ブレーキECU2から取得した車輪速を比較して同一か否か判断し(S14)、同一の場合は車輪速を入力とする車体加速度を前回の車体加速度演算時に演算した車体加速度とする(S26)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、状態量を演算する状態量演算装置に関するものである。
【背景技術】
【0002】
従来、状態量を演算する状態量演算装置として、外乱による振動成分を含まない高精度の状態量を得ることができる状態量演算装置が知られている(例えば、特許文献1)。この状態量演算装置は、車輪速センサが直接接続される車輪速度演算用ECUにて、車輪速およびその一次階差(車輪加速度)等の状態量の演算を行う。すなわち、情報を所定の周期で入力し、その情報に対して演算し、さらに演算結果を微分する演算を行う。
【特許文献1】特開平10−129450号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
このような装置にあっては、情報を所定の周期で入力し演算を行い、その演算結果に対して微分演算を行うため、情報を入力し演算する周期と微分演算の周期を同一にしなければ、微分演算結果の精度が低下する恐れがある。このため、演算処理と微分演算処理を分離して2つの演算処理部で実施する場合においては、演算処理部間で演算処理と微分演算処理の同期をとる必要がある。
【0004】
しかしながら、演算処理部間が非同期通信の場合は、演算処理部間で同期をとることができないため、微分演算結果の精度が低下することを回避できなかった。
【0005】
そこで本発明は、このような技術課題を解決するためになされたものであって、第1の演算処理手段の演算結果を第2の演算処理手段が入力し微分演算を行う状態量演算装置において、微分演算結果の精度の低下を防止することが可能な状態量演算装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
すなわち本発明に係る状態量演算装置は、所定データを第1の周期で取得して第1の状態量を算出する第1の演算処理手段と、算出した前記第1の状態量を前記第1の周期よりも短い第2の周期で取得して、第2の状態量を微分演算により算出する第2の演算処理手段と、を備え、前記第2の演算処理手段は、今回取得した前記第1の状態量を前回取得した前記第1の状態量と比較して、前記第1の状態量の変化を判断する取得データ変化判断手段を有し、前記取得データ変化判断手段により前記第1の状態量に変化がないと判断された場合、前記第2の状態量の微分演算を保留することを特徴として構成される。
【0007】
この発明によれば、第1の状態量を繰り返し取得して繰り返し微分演算をする際、今回取得した第1の状態量と前回取得した第1の状態量とを比較して同一か否か判断する。この時、取得した第1の状態量に変化がない場合としては、次の3つの場合が考えられる。(i)偶然にも第1の状態量が前回算出した第1の状態量と同一の場合、(ii)第1の演算処理手段において第1の状態量が更新されていない間に第2の演算処理手段が第1の状態量を取得した場合、そして、(iii)何らかの故障が生じて第1の状態量が更新されていない場合である。(ii)及び(iii)が発生している場合、更新されていない第1の状態量を入力とする第2の演算処理手段を行なわないことで、精度の低い第2の状態量を出力することを防ぐことができる。これによって、第2の状態量全体として精度低下を防ぐことができる。
【0008】
また、本発明に係る状態量演算装置において、前記第2の演算処理手段は、前記取得データ変化判断手段により前記第1の状態量に変化がないと判断された場合、前回算出した前記第2の状態量を今回の第2の状態量とすることが好適である。
【0009】
このようにすれば、(ii)及び(iii)が発生している場合、更新されていない第1の状態量を入力して演算し、第2の状態量が0となることを回避することができるため、第2の状態量全体として精度低下を防ぐことができる。
【0010】
さらに、本発明に係る状態量演算装置において、前記第2の演算処理手段は、前記取得データ変化判断手段による前記第1の状態量に変化がないとの判断が所定の回数以上続いた場合、前記第2の状態量を0とすることが好適である。
【0011】
第1の状態量に変化がない状態が発生する場合として、(i)、(ii)、(iii)の場合が考えられるが、(i)の場合は連続して長く続くことが想定し難く、(ii)の場合は少なくとも第1の周期よりも長い時間が経てばデータ更新されるため、ある一定値以上には連続して長く続くことはない。よって、第1の状態量に変化がない状態がある一定値以上連続して長く続く場合は、(iii)で示した何らかの故障が発生した場合であり、上記のように構成することで、故障が発生しているにも関わらず前回の第2の状態量を保持し続けることを防ぎ、第2の状態量を0とすることで安全側に作用させることができる。
【0012】
さらに、本発明に係る状態量演算装置において、前記第1の演算処理手段は、今回算出した前記第1の状態量を前回算出した前記第1の状態量と比較して、前記第1の状態量の変化を判断する算出データ変化判断手段と、前記算出データ変化判断手段により前記第1の状態量に変化がないと判断された場合、今回算出した前記第1の状態量を示す通信フレーム内のデータの下位側の特定ビットを反転させる反転手段と、を有することが好ましい。
【0013】
このようにすれば、(i)の場合が発生しても、新たに情報を通信に追加することなく第2の演算処理手段側で第1の状態量の更新が行なわれたことを検知することができる。よって、前回算出した第1の状態量が今回算出した第1の状態量とすべて一致した場合においても、今回の第2の状態量として前回の第2の状態量を採用することなく、正確な第2の状態量を求めることができる。また、下位側の特定ビットを反転させることで、演算精度の低下を抑制することができる。
【0014】
さらに、本発明に係る状態量演算装置において、前記通信フレーム内には、複数の第1の状態量を示すデータが含まれており、前記反転手段は、前記第2の演算処理手段において前記第2の状態量の演算に用いられない第1の状態量を示すデータの特定ビットを反転させることが好ましい。
【0015】
このようにすれば、(i)の場合が発生しても、第2の状態量の演算精度を低下させることなく第1の状態量の更新を検知することができる。
【0016】
本発明に係る状態量演算装置は、車輪速パルスを第1の周期で取得して車輪速を算出する第1の演算処理手段と、算出した前記車輪速を前記第1の周期よりも短い第2の周期で取得して、車体加速度を微分演算する第2の演算処理手段と、を備え、前記第2の演算処理手段は、今回取得した前記車輪速を前回取得した前記車輪速と比較して、前記車輪速の変化を判断する取得データ変化判断手段を有し、前記取得データ変化判断手段により前記車輪速に変化がないと判断された場合、前記車体加速度の微分演算を保留することを特徴として構成される。
【0017】
この発明によれば、車輪速を繰り返し取得して繰り返し車体加速度演算を行なう際、今回取得した車輪速と前回取得した車輪速とを比較して同一か否か判断する。取得した車輪速に変化がない場合としては、(iv)偶然にも第1の演算処理手段が算出した車輪速が前回算出した車輪速と同一の場合、(v)第1の演算処理手段において車輪速が更新されていない間に第2の演算処理手段が車輪速を取得した場合、そして、(vi)何らかの故障が生じて車輪速が更新されていない場合の三つの場合が考えられる。通常、車輪速は高精度で算出されているため(例えば、0.01[km/h])、前回取得した車体の4輪分の車輪速と今回取得した車体の4輪分の車輪速がすべて同一となることは極めて稀であり、(iv)の場合が発生しているとは想定し難い。よって、取得した車輪速に変化が無い場合は(v)または(vi)の場合と推定され、更新されていない車輪速を入力とする車体加速度演算を行なわないことで、精度の低い車体加速度演算処理結果を出力することを防ぐことができる。これによって、車体加速度処理全体として精度低下を防ぐことができる。
【0018】
さらに、本発明に係る状態量演算装置において、前記第2の演算処理手段は、前記取得データ変化判断手段により前記車輪速に変化がないと判断された場合、前回算出した前記車体加速度を今回の車体加速度とすることが好適である。
【0019】
このようにすれば、更新されていない車輪速を入力して演算し、車体加速度が0となることを回避することができるため、車体加速度全体の値として精度低下を防ぐことができる。
【0020】
さらに、本発明に係る状態量演算装置において、前記第2の演算処理手段は、前記取得データ変化判断手段による前記車輪速に変化がないとの判断が所定の回数以上続いた場合、前記車体加速度を0とすることが好ましい。
【0021】
車輪速に変化がない状態が発生する場合として、(iv)、(v)、(vi)の場合が考えられたが、(iv)の場合は連続して長く続くことが想定し難く、(v)の場合は少なくとも第1の演算処理手段の更新周期よりも長い時間が経てばデータ更新されるため、ある一定値以上には連続して長く続くことはない。よって、車輪速に変化がない状態がある一定値以上連続して長く続く場合は、(vi)で示した何らかの故障が発生した場合であり、上記のように構成することで、故障が発生しているにも関わらず前回の車体加速度を保持し続けることを防ぎ、車体加速度を0とすることで安全側に作用させることができる。
【0022】
さらに、本発明に係る状態量演算装置において、前記第1の演算処理手段は、今回算出した前記車輪速を前回算出した前記車輪速と比較して、前記車輪速の変化を判断する算出データ変化判断手段と、前記算出データ変化判断手段により前記車輪速に変化がないと判断された場合、今回算出した前記車輪速を示す通信フレーム内のデータの下位側の特定ビットを反転させる反転手段と、を有することが好ましい。
【0023】
このようにすれば、仮に(iv)の場合が発生しても、追加情報を通信に追加することなく第2の演算処理手段側で車輪速の更新が行なわれたことを検知することができる。よって、前回算出した車輪速が今回算出した車輪速とすべて一致した場合においても、今回の車体加速度として前回の車体加速度を採用することなく、正確な車体加速度を求めることができる。また、下位側の特定ビットを反転させることで、演算精度の低下を抑制することができる。
【0024】
さらに、本発明に係る状態量演算装置において、前記通信フレーム内には、複数の車輪について算出した複数の車輪速を示すデータが含まれており、前記反転手段は、前記第2の演算処理手段において前記車体加速度の演算に用いられない車輪速を示すデータの特定ビットを反転させることが好ましい。
【0025】
このようにすれば、仮に(iv)の場合が発生しても、車体加速度の演算精度を低下させることなく車輪速の更新を検知することができる。
【発明の効果】
【0026】
本発明によれば、一方の演算処理部の演算結果を他方の演算処理部が非同期通信により入力し微分演算を行う状態量演算装置において、微分演算結果の精度の低下を防止することができる。
【発明を実施するための最良の形態】
【0027】
以下、添付図面を参照して本発明の実施形態について説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
【0028】
(第一実施形態)
【0029】
図1は本発明の第一実施形態に係る状態量演算装置の構成図である。第一実施形態に係る状態量演算装置1は、物体の状態を表す物理量を演算する装置であり、具体的には車体速および車体加速度を演算する装置である。
【0030】
図1に示すように、この状態量演算装置1は、ブレーキECU(第1の演算処理手段)2およびエンジンECU(第2の演算処理手段)3を備えている。ここで、ECU(Electronic Control Unit)とは、電子制御する自動車デバイスのコンピュータであり、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、および入出力インターフェイスなどを備えて構成されている。
【0031】
このブレーキECU2とエンジンECU3は非同期通信によって接続されており、例えばCAN(Controller Area Network)通信で接続されている。また、ブレーキECU2とエンジンECU3との間は通信フレームを用いて通信され、ブレーキECU2の演算周期よりも短い周期で通信が行われる。
【0032】
状態量演算装置1に備わるブレーキECU2は、演算処理部21を備えている。この演算処理部21は、所定のデータを用いて状態量を算出する機能を備えており、具体的には、車輪速センサ4から得られた車輪速パルスを用いて車輪速を算出する機能である。この車輪速パルスを取得する周期は、例えば12[ms]であり、演算処理部21は同一の周期で車輪速を算出する。算出された車輪速は通信フレームに格納され、ECU3へ送信される。
【0033】
ECU3は、第二比較処理部(取得データ変化判断手段)31と、微分演算処理部32を備えている。第二比較処理部31は、ブレーキECU2から取得した演算結果とブレーキECU2から前回取得した演算結果とを比較する機能を備えている。具体的には、ブレーキECU2から今回取得した車輪速と、前回取得した車輪速とを比較する機能である。この車輪速を取得する周期は、例えば8[ms]である。また、第二比較処理部31は比較結果を微分演算処理部32へ出力する機能を備えている。
【0034】
微分演算処理部32は、第二比較処理部31から得られた状態量を微分演算する機能を備えている。具体的には、第二比較処理部31を介してECU2から取得した車輪速を微分演算して車体加速度を算出する機能である。この微分演算は、車輪速を取得する周期と同じ周期で実行され、例えば8[ms]である。また、第二比較処理部31の比較結果に応じて、演算処理を選択する機能を備えている。
【0035】
また、微分演算処理部32で算出した車体加速度は、さまざまなアプリケーションで使用される。例えば、TRC(Traction Control)、ACC(Adaptive Cruise Control)等の駆動側を制御するアプリケーションや、ABS(Anti-lock Brake System)等のブレーキを制御するアプリケーション、サスペンションを制御するアプリケーションなどである。
【0036】
次に第一実施形態に係る状態量演算装置の動作について説明する。
【0037】
図2は、本実施形態に係る状態量演算装置の動作を示すフローチャートである。図3は本実施形態に係る状態量演算装置で用いられる通信フレームの一例を示す図である。
【0038】
図2の制御処理は、エンジンECU3で実行され、例えばイグニッションオンされてから所定のタイミングで繰り返し実行される。なお、以下では図2の制御処理がk回目の処理を行う場合について説明する。
【0039】
図2の処理が開始されると、前回の処理、すなわち(k−1)回目にブレーキECU2から取得した通信データをエンジンECU3内のRAMに格納する処理が開始される(S10)。この通信データは、例えば図3に示す通信フレームのように、FR車輪速センサ異常フラグF1、FR輪の車輪速F2、FL車輪速センサ異常フラグF3、FL輪の車輪速F4、RR車輪速センサ異常フラグF5、RR輪の車輪速F6、RL車輪速センサ異常フラグF7、RL輪の車輪速F8が含まれたデータである。なお、読み込んだ通信データの格納先はエンジンECU3内のRAMに限られるものではなく、エンジンECU3が参照できるRAM以外の記憶領域に格納されても良い。S10の処理が終了すると、データ入力処理へ移行する(S12)。
【0040】
S12の処理は、ブレーキECU2から通信データを入力し、エンジンECU3内のRAMに格納する処理である。この通信データのフォーマット形式や格納先は、S10の処理と同様となる。S12の処理が終了すると、データ比較処理へ移行する(S14)。
【0041】
S14の処理は、S10で読み込んだ(k−1)回目の通信データと、S12で読み込んだ通信データを比較して値が同一か否かを判断する処理である。判断方法は、例えば、S10で読み込んだ通信データとS12で読み込んだ通信データの差分が0か否かを判断すればよい。(k−1)回目の通信データと入力した通信データが違うと判断された場合は、未更新カウンタ初期化処理へ移行する(S16)。(k−1)回目の通信データと入力した通信データが同一であると判断された場合は、未更新カウンタ更新処理へ移行する(S18)。
【0042】
S16の処理は、未更新カウンタを初期化する処理であり、例えば、カウンタ値に0を代入する処理である。S16の処理が終了すると車体速演算処理へ移行する(S20)。
【0043】
S18の処理は、更新されていないと判断した通信データが何回連続で入力されたかをカウントする処理であり、例えば、(k−1)回目の処理で求めた未更新カウンタに1を加算する処理である。S18の処理が終了すると、車体速演算処理へ移行する(S20)。
【0044】
S20の処理は、S12で得られた通信データから演算を行う処理であり、例えば、4輪分の車輪速から車体速を演算する処理である。車体速は、例えば、駆動輪の車輪速平均値や転動輪の車輪速平均値として算出される。S20の処理が終了すると、通信データ更新判断処理へ移行する(S22)。
【0045】
S22の処理は、通信データが(k−1)回目に入力した通信データと比べて更新されているか否かを判断する処理であり、例えば、未更新カウンタが0か否かを判断すればよい。未更新カウンタが0の場合、すなわちデータ更新がされていると判断された場合は、車体加速度演算処理へ移行する(S26)。未更新カウンタが0でない場合、すなわちデータ更新がされていない場合は、未更新状態の継続判断処理へ移行する(S24)。
【0046】
S26の処理は、S20で算出した算出結果を微分する処理であり、例えば、車体速を入力し車体加速度を算出する処理である。例えば、S20で算出した車体速をV(k)、前回の処理すなわち(k−1)回目の処理で算出した車体速をV(k−1)、ブレーキECU2の演算周期をh1とすると、算出される車体加速度V´(k)は、(1)式で表される。
´(k)=(V(k)−V(k−1))/h1 …(1)
S26の処理が終了すると、比較用データ更新処理へ移行する(S32)。
【0047】
S24の処理は、S18の処理で求めた未更新カウントが閾値以上か否かを判断する処理である。入力した通信データの未更新状態が連続して続いた場合は、ブレーキECU2で算出した車輪速が同一のため更新しても車輪速が同一となっている場合や、ブレーキECU2によって車輪速が更新されていない間にエンジンECU3が車輪速を取得した場合、さらに、ECU3が取得する車輪速が何らかの故障によって同一となっている場合の3つの場合が想定される。ここで、ブレーキECU2が算出した4つの車輪速が連続で同じ値となることは、その車輪速精度(例えば、0.01[km/s])を考慮すると極めて起こりにくいため、車輪速が連続して同一の場合において、車輪速が同じ値で更新されている可能性は低いといえる。また、エンジンECU3によって取得された車輪速が更新されていない場合は、少なくともブレーキECU3の更新周期よりも長い時間が経てばデータ更新されるため、連続して同一な車輪速が長く続くことは無い。よって、同一の車輪速が連続して続く場合は何らかの故障が発生していると考えられる。このような故障発生の判断は、連続で入力された回数がある閾値xを超えた否かで判断すればよい。この閾値xは、データ未更新の最大回数と、演算処理部と微分演算処理部の通信において発生する通信無効の許容発生回数によって決定され、例えば、演算処理部21の送信周期をs、微分演算処理部32の受信周期をsとし、通信無効の許容発生回数をαとすると、以下(2)式で表される。
x=s/s+α …(2)
ここで、許容できる通信無効の発生回数αは、適宜設定すればよい。例えば、αを大きく設定すると通信無効が発生しても微分値が急変しないが、故障などの異常が発生したことを検知しにくくなる。また、αを小さく設定すると、異常が発生したことを検知しやすくなるが、通信無効が発生した場合に微分値が急変しやすくなる。S24の処理において、未更新カウンタがxより小さい場合、つまり入力データが未更新であることが何らかの故障が原因では無い場合、車体加速度の前回値入力処理へ移行する(S28)。S24の処理において、未更新カウンタがx以上の場合、フェールセーフ処理へ移行する(S30)。
【0048】
S28の処理は、k回目の微分演算によって算出される車体加速度として(k−1)回目に微分演算した車体加速度を採用する処理である。これにより、ブレーキECU2によって車輪速が更新されていない間にエンジンECU3が車輪速を取得し、微分演算値が0になってしまう場合を回避することができる。S28の処理が終了すると、比較用データ更新処理へ移行する(S32)。
【0049】
S30の処理は、何らかの故障が発生したため取得したデータが連続して未更新となっている場合において、微分演算値を0とする処理を行う。これにより、故障が発生しているにも係らず前回の微分演算結果を保持し続けることを防ぐことが出来るため、誤った処理を連続して行なうことを避けることができる。S30の処理が終了すると、比較用データ更新処理へ移行する(S32)。
【0050】
S32の処理は、(k+1)回目の前回データとして、k回目に入力したデータを代入する処理である。S32の処理が終了すると、図2の制御処理は終了する。
【0051】
次に、第一実施形態に係る状態量演算装置の効果を図7および図9を用いて説明する。図7は、第一実施形態に係る状態量演算装置において、時間に依存した車輪速(点線)および車体加速度(実線)を示した図である。図9は、従来の状態演算装置において、時間に依存した車輪速(点線)および車体加速度(実線)を示した図である。図7および図9の(a)は、車輪速センサによって得られる真の車輪速および車体加速度を示し、(b)は、ブレーキECU2によって車輪速センサから取得された車輪速および算出した車体速加速度を示し、(c)は、エンジンECU3によってブレーキECU2から取得された車輪速および算出される車体速を示している。また、(b)および(c)の時間軸に記載された△記号はデータの取得タイミングおよび演算周期を表し、ブレーキECU2の演算周期を12[ms]、エンジンECU3の演算周期を8[ms]とした場合を例示している。
【0052】
図9に示すように従来の状態量演算装置において、車輪速センサによって得られる真の車体加速度(図9の(a)の実線)と、エンジンECU3において算出される車体加速度(図9の(c)の実線)とを比べると、大きな誤差が生じていた。
【0053】
これに対し、図7に示すように第一実施形態に係る状態量演算装置において、データが未更新の場合は先に算出した車体加速度を採用することで、従来の状態量演算装置のエンジンECU3における車体加速度(図9の(c)の実線)に比べて、連続的な車体加速度(図7の(c)の実線)となり、誤差を小さくすることができる。
【0054】
また、図7の(c)に示すように、故障が発生した場合においても同一の車輪速が入力され、先に算出した車体加速度を保持する動きとなる。ここで、同一の車輪速が何回連続で入力されたかをカウントする未更新カウンタが式(2)で示す閾値値x以上になった場合、車体加速度を0とする制御を行う。通信無効の許容回数をα=3とした場合、式(2)より未更新カウンタがx=4.5となり、x=4.5より大きくなった時に車体加速度を0とする。これによって、前回の車体加速度を保持し続けることを防ぐため、安全側に作用させることができる。
【0055】
以上のように、第一実施形態に係る状態量演算装置によれば、車輪速を繰り返し取得して繰り返し微分演算をする際、エンジンECU3が今回取得した車輪速と前回取得した車輪速とを比較して同一か否か判断する。同一の場合は、ブレーキECU2において車輪速が更新されていない間にエンジンECU3が車輪速を取得した場合、そして、何らかの故障が生じて車輪速が更新されていない場合が考えられ、更新されていない車輪速を入力とする第2の演算処理手段を行なわないことで、精度の低い車体加速度を出力することを防ぐことができる。これによって、車体加速度全体として精度低下を防ぐことができる。
【0056】
また、第一実施形態に係る状態量演算装置において、エンジンECU3が今回取得した車輪速と前回取得した車輪速とを比較して同一か否か判断し、同一の場合は、前回算出した車体加速度全体を今回の車体加速度全体として出力する。このようにすれば、ブレーキECU2において車輪速が更新されていない間にエンジンECU3が車輪速を取得した場合、そして、何らかの故障が生じて車輪速が更新されていない場合において、更新されていない車輪速を入力して演算し、車体加速度が0となることを回避することができるため、車体加速度の値として精度低下を防ぐことができる。
【0057】
さらに、第一実施形態に係る状態量演算装置において、エンジンECU3が今回取得した車輪速と前回取得した車輪速とを比較して同一か否か判断し、同一の場合が所定の回数以上続いた場合、車体加速度を0として出力する。この場合は、何らかの故障が発生した場合と判断し、故障が発生しているにも関わらず前回の車体加速度を保持し続けることを防ぎ、車体加速度を0とすることで安全側に作用させることができる。
【0058】
(第二実施形態)
【0059】
次に第二実施形態について説明する。
【0060】
図4は第二実施形態に係る状態量演算装置の構成図である。第二実施形態に係る状態量演算装置は、第一実施形態に係る状態量演算装置とほぼ同様に構成されるものであり、ブレーキECU2内に第一比較処理部(算出データ変化判断手段)22と反転処理部(反転手段)23を備えている点で異なっている。
【0061】
第一比較処理部22は、演算処理部21が出力した演算結果と演算処理部21が前回の演算処理時に出力した演算結果とを比較する機能を備えている。この機能は、例えば、演算処理部21が出力した車輪速を、前回の車輪速演算処理時に出力した車輪速と比較する機能である。また、比較処理部22は比較結果を反転処理部23へ出力する機能を備えている。
【0062】
反転処理部23は、比較処理部22が出力した比較結果に基づいて特定ビットを反転させる機能を備えている。この機能は、例えば、前回の演算処理時に演算した車輪速と比べて演算した車輪速に変化が無い場合、通信フレーム内の特定ビットを反転させる機能である。また、反転処理を行ったデータを第二比較処理部31へ出力する機能を備えている。
【0063】
このような構成により、第一実施形態では演算処理部21の演算結果が第二比較処理部31へ出力されていたが、第二実施形態では演算処理部21の演算結果は第一比較処理部22へ出力され、反転処理部23が第二比較処理部31へデータを出力する。
【0064】
次に図5を用いて、第二実施形態に係る状態量演算装置の動作について説明する。図5は、第二実施形態に係る状態量演算装置の動作を示すフローチャートである。第二実施形態に係る状態量演算装置の動作は、第一実施形態の状態量演算装置の動作にブレーキECU2側の制御処理の動作が付与されたものである。
【0065】
図5の制御処理は、ブレーキECU2で実行され、例えばイグニッションオンされてから所定のタイミングで繰り返し実行される。なお、以下では図5の制御処理がk回目の処理を行う場合について説明する。
【0066】
図5の処理が開始されると、前回算出した算出結果、すなわち(k−1)回目にブレーキECU2が算出した車輪速を含む通信データを参照し、ブレーキECU2内のRAMに格納する処理が開始される(S40)。この通信データのフォーマットは第一実施形態と同様である。なお、読み込んだデータの格納先はブレーキECU2内のRAMに限られるものではなく、ブレーキECU2が参照できるRAM以外の記憶領域に格納されても良い。S40の処理が終了すると、データ入力処理へ移行する(S42)。
【0067】
S42の処理は、第一演算処理部21から通信データを入力し、ブレーキECU2内のRAMに格納する処理である。通信データの形式や格納先はS40の処理で説明したものと同様となる。S42の処理が終了すると、データ比較処理へ移行する(S44)。
【0068】
S44の処理は、S40で読み込んだ(k−1)回目に算出した通信データと、S42で読み込んだk回目に算出した通信データを比較して値が同一か否かを判断する処理である。判断方法は、例えば、S40で読み込んだ通信データとS42で読み込んだ通信データの差分が0か否かを判断すればよい。(k−1)回目に算出した通信データとk回目に算出した通信データが同一と判断された場合は、特定ビット反転処理へ移行する(S46)。(k−1)回目に算出した通信データとk回目に算出した通信データが異なると判断された場合は、送信処理へ移行する(S48)。
【0069】
S46の処理は、通信フレーム内の特定ビットを反転させる処理である。特定ビットはデータに影響を与えないように最下位側のビットが採用され、例えば、図3に示す最下位ビットF8aを反転させる。これによって、取得した全データが一致した場合においても必ず違うデータとなる。S46の処理が終了すると、送信処理へ移行する(S48)。
【0070】
S48の処理は、通信データをエンジンECU3の第二比較処理部31へ送信する処理である。S48の処理が終了すると、前回データ更新処理に移行する(S50)。
【0071】
S50の処理は、(k+1)回目の前回データとして、k回目に入力した通信データを代入する処理である。S50の処理が終了すると、図5の制御処理は終了する。
【0072】
図5の制御処理が終了すると、第一実施形態で説明した図2の制御処理が行われる。第一実施形態においては、演算処理部21で演算した車輪速が連続して同じ場合、非同期通信のために車輪速が更新されていないのか、それとも同じ車輪速が新たに演算されたのかをエンジンECU3側で判断することができなかったが、第二実施形態において図5の制御が加わることで、エンジンECU3側で車輪速の更新を判断することが可能となる。よって、更新されている車輪速を更新されていないと判断して(k−1)回目に算出した車体加速度を採用することを防ぎ、正確な車体加速度を求めることができる。
【0073】
次に、第二実施形態に係る状態量演算装置の効果について図7および図8を用いて説明する。図8は、第二実施形態に係る状態量演算装置において、時間に依存した車輪速(点線)および車体加速度(実線)を示した図である。
【0074】
例えば、第一実施形態の状態量演算装置では、図7の(c)に示すように、同一の車輪速が連続して入力された場合は先に算出した車体加速度を保持するため、偶然にも演算結果が同一な車輪速が連続して出力された場合であっても、故障が発生した場合と同様に、先に算出した車体加速度を保持する動きをして、フェールセーフ処理によって正常化される。
【0075】
これに対し、第二実施形態に係る状態量演算装置では、図8の(c)に示すように、ブレーキECUで算出した車輪速が先に算出した車輪速と同一である場合は、送信する車輪速データの特定ビットを反転させるため、エンジンECU3において未更新カウンタが更新されず、正確な車体加速度を求めることができる(図8の(c))。これによって、第一実施形態よりも車体加速度全体の精度低下を防止することができる。
【0076】
以上のように、第二実施形態に係る状態量演算装置によれば、車体加速度演算の入力となる車輪速を繰り返し算出する演算処理部において、車輪速が前回の車輪速と同一であると判断された場合は、通信フレーム内の特定ビットを反転させて送信する。このようにすれば、偶然にも同じデータが演算された場合が発生しても、追加情報を通信に追加することなくエンジンECU3側で車輪速の更新が行なわれたことを検知することができる。よって、前回算出した車輪速が今回算出した車輪速とすべて一致した場合においても、今回の車体加速度として前回の車体加速度を採用することなく、正確な車体加速度を求めることができる。特に最下位ビットは車輪速の通信の分解能が非常に細く、ノイズの影響等で意味を持たない場合が多いため、最下位ビットを反転させることで、車体制御に影響を与えることなく車輪速の変化を検知させることができる。
【0077】
(第三実施形態)
【0078】
次に第三実施形態について説明する。
【0079】
第三実施形態に係る状態量演算装置の構成は第二実施形態と同一である(図4)。また、通信フレームのフォーマットも第一および第二実施形態と同様である(図3)。図6は、第三実施形態に係る状態量演算装置の動作を示すフローチャートである。第三実施形態に係る状態量演算装置は、第二実施形態の状態量演算装置とほぼ同様に動作し、不要データの選択処理を行う点で異なっている。
【0080】
不要データ選択処理は、図6のS66に示すように、演算処理部21において演算結果が同一である場合に行われ、通信フレーム内のデータのうち、微分演算処理部32で使用しないデータを選択する処理である。第二実施形態では、演算結果が同一である場合に特定ビットを反転させるビット反転処理を行っていたが(図5のS46)、第三実施形態では、ビット反転処理の前にS66の不要データ選択処理を行い、選択された不要データのビットを反転させる処理を行う(S68)。不要データの選択は、S66以降の処理では使用しないデータが採用され、エンジンECU3が演算処理結果を提供しているアプリケーションに依存する。これらのアプリケーションの例として、TRC、ACC、ABS、制振制御等がある。エンジンECU3の演算処理は、これらのアプリケーションに応じて変更され、例えば、通信フレーム内にある4輪の車輪速の中で最大値を車体速として選択するMaxセレクトや、最小値を車体速として選択するMinセレクト、4輪の車輪速の中央値に近い2つの車輪速のうち大きい方を選択するMid−Hiセレクト、中央値に近い2つの車輪速のうち小さい方を選択するMid−Loセレクト、駆動輪の平均値を車体速として選択する駆動輪平均、転動輪の平均値を車体速として選択する転動輪平均などがある。例えば、TRCやACCが使用する車体速であるならば、Mid−Hiセレクトの車輪速が必要であり、ABSが使用する車体速であるならば、Mid−Loセレクトの車輪速が必要となる。ここで、制振制御に使用される場合の不要データ選択方法について、図3を用いて説明する。エンジンECU3の演算処理結果が制振制御に使用される場合は駆動輪平均の車輪速が必要であるため、図3の通信フレームのうちF1〜F4のデータを用いて車体速を算出する(図2のS20)。よって、F5〜F8のデータが不要データとして選択される。このように、アプリケーションによって不要なデータを選択することで、後続の処理で使用しないビットを選択することができるため、後続処理に影響を与えずにデータ更新が行われたことを検知させることができる。
【0081】
以上のように、第三実施形態に係る状態量演算装置によれば、車体加速度の入力となる車輪速を繰り返し算出する演算処理部において、車輪速が前回の車輪速と同一であると判断された場合は、車体加速度演算で使用しないビットを通信フレーム内の特定ビットとして反転させて送信する。これにより、算出した車輪速が前回の車輪速とすべて一致した場合においても、車体加速度演算の演算精度を低下させることなく車輪速の更新が行なわれたことを検知することができる。
【0082】
なお、上述した各実施形態は本発明に係る状態量演算装置の一例を示すものである。本発明に係る状態量演算装置は、これらの各実施形態に係る状態量演算装置に限られるものではなく、各請求項に記載した要旨を変更しない範囲で、各実施形態に係る状態量演算装置を変形し、又は他のものに適用したものであってもよい。例えば、本発明に係る状態量演算装置は、実施例に挙げた速度と加速度に限られるものではなく、加速度と加速度微分値であっても、本発明の効果を得ることができる。
【図面の簡単な説明】
【0083】
【図1】第一実施形態に係る状態量演算装置の構成図である。
【図2】第一実施形態に係る状態量演算装置の動作を示すフローチャートである。
【図3】第一実施形態に係る状態量演算装置で用いられる通信フレームの一例を示す図である。
【図4】第二実施形態に係る状態量演算装置の構成図である。
【図5】第二実施形態に係る状態量演算装置の動作を示すフローチャートである。
【図6】第三実施形態に係る状態量演算装置の動作を示すフローチャートである。
【図7】第一実施形態に係る状態量演算装置における車輪速および車体加速度を示す図である。
【図8】第二実施形態に係る状態量演算装置における車輪速および車体加速度を示す図である。
【図9】従来の状態量演算装置における車輪速および車体加速度を示す図である。
【符号の説明】
【0084】
1…状態量演算装置、2…ブレーキECU、21…演算処理部、22…第一比較処理部、23…反転処理部、3…エンジンECU、31…第二比較処理部、32…微分演算処理部、4…車輪速センサ。

【特許請求の範囲】
【請求項1】
所定データを第1の周期で取得して第1の状態量を算出する第1の演算処理手段と、
算出した前記第1の状態量を前記第1の周期よりも短い第2の周期で取得して、第2の状態量を微分演算により算出する第2の演算処理手段と、を備え、
前記第2の演算処理手段は、今回取得した前記第1の状態量を前回取得した前記第1の状態量と比較して、前記第1の状態量の変化を判断する取得データ変化判断手段を有し、前記取得データ変化判断手段により前記第1の状態量に変化がないと判断された場合、前記第2の状態量の微分演算を保留する、
ことを特徴とする状態量演算装置。
【請求項2】
前記第2の演算処理手段は、前記取得データ変化判断手段により前記第1の状態量に変化がないと判断された場合、前回算出した前記第2の状態量を今回の第2の状態量とすることを特徴とする請求項1に記載の状態量演算装置。
【請求項3】
前記第2の演算処理手段は、前記取得データ変化判断手段による前記第1の状態量に変化がないとの判断が所定の回数以上続いた場合、前記第2の状態量を0とすることを特徴とする請求項1または2に記載の状態量演算装置。
【請求項4】
前記第1の演算処理手段は、
今回算出した前記第1の状態量を前回算出した前記第1の状態量と比較して、前記第1の状態量の変化を判断する算出データ変化判断手段と、
前記算出データ変化判断手段により前記第1の状態量に変化がないと判断された場合、今回算出した前記第1の状態量を示す通信フレーム内のデータの下位側の特定ビットを反転させる反転手段と、
を有することを特徴とする請求項1〜3の何れか一項に記載の状態量演算装置。
【請求項5】
前記通信フレーム内には、複数の第1の状態量を示すデータが含まれており、
前記反転手段は、前記第2の演算処理手段において前記第2の状態量の演算に用いられない第1の状態量を示すデータの特定ビットを反転させることを特徴とする請求項4に記載の状態量演算装置。
【請求項6】
車輪速パルスを第1の周期で取得して車輪速を算出する第1の演算処理手段と、
算出した前記車輪速を前記第1の周期よりも短い第2の周期で取得して、車体加速度を微分演算により算出する第2の演算処理手段と、を備え、
前記第2の演算処理手段は、今回取得した前記車輪速を前回取得した前記車輪速と比較して、前記車輪速の変化を判断する取得データ変化判断手段を有し、前記取得データ変化判断手段により前記車輪速に変化がないと判断された場合、前記車体加速度の微分演算を保留する、
ことを特徴とする状態量演算装置。
【請求項7】
前記第2の演算処理手段は、前記取得データ変化判断手段により前記車輪速に変化がないと判断された場合、前回算出した前記車体加速度を今回の車体加速度とすることを特徴とする請求項6に記載の状態量演算装置。
【請求項8】
前記第2の演算処理手段は、前記取得データ変化判断手段による前記車輪速に変化がないとの判断が所定の回数以上続いた場合、前記車体加速度を0とすることを特徴とする請求項6または7に記載の状態量演算装置。
【請求項9】
前記第1の演算処理手段は、
今回算出した前記車輪速を前回算出した前記車輪速と比較して、前記車輪速の変化を判断する算出データ変化判断手段と、
前記算出データ変化判断手段により前記車輪速に変化がないと判断された場合、今回算出した前記車輪速を示す通信フレーム内のデータの下位側の特定ビットを反転させる反転手段と、
を有することを特徴とする請求項6〜8の何れか一項に記載の状態量演算装置。
【請求項10】
前記通信フレーム内には、複数の車輪について算出した複数の車輪速を示すデータが含まれており、
前記反転手段は、前記第2の演算処理手段において前記車体加速度の演算に用いられない車輪速を示すデータの特定ビットを反転させることを特徴とする請求項9に記載の状態量演算装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2008−122197(P2008−122197A)
【公開日】平成20年5月29日(2008.5.29)
【国際特許分類】
【出願番号】特願2006−305553(P2006−305553)
【出願日】平成18年11月10日(2006.11.10)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】