以下に、本発明の車両重量推定装置及び車両重量推定方法の実施形態について説明する。
図1〜図3に例示する第一実施形態の車両重量推定装置30は、車両10に搭載されて、その車両10の走行中に変化するパラメータに基づいて車両10の重量を推定する装置である。以下、符号にx、yが付随するものは変数であり、センサなどの検出値や推定値を示し、符号にkが付随するものは時系列を示し、このkはサンプリング周期tsごとに「1」ずつ増加する。
図1に例示するように、車両重量推定装置30が搭載される車両10は、シャーシ11の前方側に運転室(キャブ)12が配置され、シャーシ11の後方側にボディ13が配置されている。
シャーシ11には、エンジン14、クラッチ15、トランスミッション16、プロペラシャフト17、及びディファレンシャルギア18が設置されている。エンジン14の回転動力は、クラッチ15を介してトランスミッション16に伝達される。トランスミッション16で変速された回転動力は、プロペラシャフト17を通じてディファレンシャルギア18に伝達され、後輪である一対の駆動輪19にそれぞれ駆動力として分配される。エンジン14とクラッチ15との間にトルクコンバータを介在させてもよい。
制御装置20は、エンジン14、クラッチ15、トランスミッション16、及び各種センサに一点鎖線で示す信号線を介して電気的に接続されている。各種センサとして、運転室12には、アクセルペダル21の踏み込み量からアクセル開度Axを検出するアクセル開度センサ22、シフトレバー23のレバーポジションPxを検出するポジションセンサ24が設置されている。シャーシ11には、エンジン14の図示しないクランクシャフトの回転速度Nxを検出する回転速度センサ25、車速センサ26、及び、加速度センサ27が設置されている。
制御装置20は、各種情報処理を行うCPU、その各種情報処理を行うために用いられ
るプログラムや情報処理結果を読み書き可能な内部記憶装置、及び各種インターフェースなどから構成されるハードウェアである。
図2に例示するように、制御装置20は、エンジン14、クラッチ15、及びトランスミッション16を制御する制御部28と、車両10の重量を演算する車両重量演算部31と、を各機能要素として有している。この実施形態で、各機能要素は、プログラムとして内部記憶装置に記憶されているが、各機能要素が個別のハードウェアで構成されてもよい。
本発明の車両重量推定装置30は、ポジションセンサ24、回転速度センサ25、車速センサ26、加速度センサ27、制御部28、及び車両重量演算部31から構成されている。そして、車両重量演算部31は、パラメータ取得手段、推定手段、仮推定手段、及び維持手段として機能して、それらのセンサの検出値や演算部の演算結果が入力され、各検出値や演算結果に基づいて演算した結果を出力値mxとして出力する。
制御部28は、パラメータ取得手段の一部として機能する機能要素であり、この実施形態では、サンプリング周期tsごとにエンジン14における燃料噴射量Qxを取得する。燃料噴射量Qxは、エンジン14の図示しないインジェクタの噴射時間(駆動パルス)に比例することから噴射時間の合計値から求められる。
制御部28は、アクセル開度センサ22により検出したアクセル開度Axが入力されて、そのアクセル開度Axに基づいて、基準噴射時間を算出する。次いで、制御部28は、車両10に搭載されてエンジン14により駆動する車載装置の駆動の有無、エンジン14から排出された排気ガスを浄化する排気ガス浄化装置の再生の有無などに基づいて、追加噴射時間を算出する。この追加噴射時間に基づいた燃料噴射量が噴射されると、車載装置の駆動力を補ったり、排気ガス浄化装置を再生したりする。次いで、制御部28は、サンプリング周期tsごとに基準噴射時間及び追加噴射時間の合計値に基づいて燃料噴射量Qxを算出する。
制御部28としては、エンジン14における実際に噴射された燃料噴射量Qxを取得できればよく、この構成に限定されない。制御部28としては、図示しないインテークマニホールドの内圧、体積効率、及び要求空燃比から、あるいは、吸入空気量及びエンジン回転速度Nxから基準噴射時間を算出してもよい。車載装置としては、エアコンプレッサやモータジェネレータなどが例示できる。排気ガス浄化装置としては、排気ガス中の粒子状物質を捕集する捕集フィルタが例示できる。
ポジションセンサ24は、パラメータ取得手段の一部として機能する装置であり、車両10の運転者によって操作されるシフトレバー23の位置を電気的に検出することによって運転者が要求するレバーポジションPxを検出する。ポジションセンサ24は、サンプリング周期tsごとにレバーポジションPxに応じたトランスミッション16のギア比ixを検出する。レバーポジションPxとしては、駐車ポジション(Pポジション)、後進ポジション(Rポジション)、ニュートラルポジション(Nポジション)、前進ポジション(Dレンジ)などが例示できる。前進ポジションは、例えば、1速〜6速の複数段が設定されている。各前進ポジションには、1速から段数が上がるごとに小さくなるギア比ixが設定されている。トランスミッション16がAMTで構成されている場合は、ポジションセンサ24の代わりに、制御部28で制御されたトランスミッション16の変速段を読み取る機能を有したものを用いてもよい。また、制御部28の制御信号からトランスミッション16のギア比ixを取得する場合に、そのギア比ixは、車速vxとエンジン回転速度Nxとに基づいて求めることもできる。
車速センサ26は、パラメータ取得手段の一部として機能する装置であり、プロペラシャフト17の回転速度に比例したパルス信号を読み取り、制御装置20の図示しない車速演算処理によりサンプリング周期tsごとに車速vxを取得するセンサである。車速センサ26が回転速度に比例したパルス信号に基づいて車速vxを取得することから、取得された車速vxは、負ではなくゼロ以上の値になる。車速センサ26としては、トランスミッション16の図示しないアウトプットシャフト、駆動輪19、従動輪などの回転速度から車速vxを取得するセンサを用いてもよい。なお、駆動輪19、従動輪などの回転速度から車速vxを取得するセンサを用いる場合には、左右一対の車輪のそれぞれの回転速度を取得して、その平均値を車速vxとするとよい。
加速度センサ27は、パラメータ取得手段の一部として機能する装置であり、車両10の前後方向での速度変化に伴う加速度成分と車両10の姿勢変化に伴う重力加速度成分とによって動作する。加速度センサ27は、サンプリング周期tsごとに、それらを合成した路面に平行な加速度成分、すなわち車両10の前後方向の加速度Gxを取得するセンサである。加速度センサ27としては、機械的変位測定方式、光学的方式、半導体方式などが例示できる。
図3に例示するように、この実施形態で、車両重量演算部31は、各機能要素として、パラメータ取得部32、仮推定部35、推定部33、及び維持部34を有している。車両重量演算部31の各機能要素は、プログラムとして内部記憶装置に記憶されているが、各機能要素が個別のハードウェアで構成されてもよい。
パラメータ取得部32は、パラメータ取得手段として機能しており、制御部28及び各センサの検出値が入力される。パラメータ取得部32は、サンプリング周期tsごとに車両10が走行中に変化するパラメータとして第一パラメータΦxと第二パラメータΦyとを仮推定部35と推定部33とに出力する機能要素である。パラメータ取得部32は、第一パラメータ算出ブロック32a、第二パラメータ算出ブロック32b、及びエンジントルク算出ブロック32cを有している。
第一パラメータ算出ブロック32aは、加速度Gxが入力されて、第一パラメータΦxを算出する機能要素である。第二パラメータ算出ブロック32bは、車速vx、トランスミッション16のギア比ix、及びエンジントルクTeが入力されて、第二パラメータΦyを算出する機能要素である。エンジントルク算出ブロック32cは、エンジン回転速度Nx、燃料噴射量Qxが入力されて、エンジン14から実際に出力されるエンジントルクTeを算出する機能要素である。
仮推定部35は、仮推定手段として機能しており、パラメータ取得部32により取得した第一パラメータΦx、第二パラメータΦyが入力されて、仮推定した仮推定値Mx(k)を維持部34に出力する機能要素である。仮推定部35は、プロダクトブロックから構成されている。
推定部33は、推定手段として機能しており、第一パラメータΦx、第二パラメータΦyが入力されて、それらとサンプリング周期tsにおける一つ前に推定した前回値mx(k−1)とに基づいて、平滑化処理を用いて推定した推定値mx(k)を出力する機能要素である。推定部33は、RLS推定ブロックから構成されている。RLS推定ブロックは、推定演算における変数をサンプリング周期tsごとに更新している。つまり、RLS推定ブロックは、新たなパラメータが入力される時に、前回値mx(k−1)、共分散行列P(k−1)、RLSアルゴリズムで計算されるゲインK(k−1)が記憶された状態になっている。
維持部34は、維持手段として機能しており、パラメータ取得部32と推定部33との間に介在している。維持部34は、サンプリング周期tsごとに仮推定値Mx(k)の判定結果に基づいてパラメータ取得部32で取得したパラメータを推定部33に入力する機能要素である。具体的に、維持部34は、各パラメータ、及び仮推定値Mx(k)が入力されて、仮推定値Mx(k)に基づいて、第一パラメータΦxと第二パラメータΦyとを推定部33に出力するか否かを選択する。維持部34は、チェックブロック34a、及びアサーションブロック34bを有している。
チェックブロック34aは、仮推定部35から出力された仮推定値Mx(k)が入力されて、仮推定値Mx(k)が予め設定した範囲Raに収まっているか否かを判定する機能要素である。具体的に、チェックブロック34aは、仮推定値Mx(k)が範囲Raに収まった場合は、二値信号として「1」(真を示す信号)を発信する。一方、仮推定値Mx(k)が範囲から外れた場合は、二値信号として「0」(偽を示す信号)を発信する。
アサーションブロック34bは、各パラメータとチェックブロック34aから発信された二値信号とが入力されて、サンプリング周期tsごとにその二値信号に基づいて各パラメータを推定部33に出力するか否かを判定する機能要素である。具体的に、アサーションブロック34bは、二値信号が「1」の場合は、推定部33への第一パラメータΦx及び第二パラメータΦyの入力を許可する。一方、二値信号が「0」の場合は、推定部33への第一パラメータΦx及び第二パラメータΦyの入力を禁止する。
次に、この実施形態の推定部33による推定値mx(k)の推定演算について説明する。推定部33は、各パラメータ及び前回値mx(k−1)に基づいて、車両10の前後方向の運動方程式を伝達関数として見做して、平滑化処理として適応アルゴリズムを用いて推定値mx(k−1)を推定する。適応アルゴリズムとしては、RLSアルゴリズム(逐次最小二乗法アルゴリズム)を用いている。
車両10の前後方向の運動方程式は、下記の数式(1)で表される。数式(1)において、vx’は車速vxを時間微分した微分値を、Twは駆動輪19に伝達される駆動トルクを、rwは駆動輪19の車輪径を、Δmxは後述する回転部分相当質量を、Bは定数を、gは重力加速度を、μは転がり抵抗係数をそれぞれ示している。定数Bは、「0.5」、空気密度ρ、車両10の前面投影面積Af、及び空気抵抗係数Cdを乗算した定数である。車輪径rw、定数B、転がり抵抗係数μは、車両10に固有の値として求められる。
上記の数式(1)を変形すると、車両10の重量mxは、下記の数式(2)に表される。
上記の数式(2)は、第一パラメータΦxを入力値、第二パラメータΦyを出力値、推定値mxを変数とした伝達関数として見做せる。そこで、その伝達関数(Φy(k)=Φx(k)・mx(k))を、RLSアルゴリズムに従って自己適応させて、推定値mx(k)を推定する。推定値mx(k)は以下の数式(3)〜(5)で表される。以下の数式で、mx(k−1)はサンプリング周期tsにおける一つ前に推定した推定値である前回値を、K(k)はRLSアルゴリズムで計算されるゲインを、P(k)は共分散行列を、Iは単位行列を、「T」は転置行列をそれぞれ示している。
共分散行列P(k)の初期値P(0)を定めれば、パラメータΦxにより、上記の数式(5)に基づいて共分散行列P(k)を、及び数式(4)に基づいてゲインK(k)をそれぞれ算出できる。つまり、新しく第一パラメータΦx及び第二パラメータΦyが得られる度に、共分散行列P(k)とゲインK(k)を新たに更新する。そして、それらと数式(3)に基づいて、直前に推定した前回値mx(k−1)を修正していく方式で推定値mx(k)を算出できる。
初期値P(0)は、定数αと単位行列Iとの積で表される。定数αとしては、通常1000程度の値が用いられるが、ノイズが大きい場合には定数αを小さく設定するとよい。この定数αは、ノイズの大きさにより決定される。また、初期値m(0)としては、例えば、運転者や荷を除いた空車時の車両重量、最大積載時の車両総重量、あるいは推定値mx(k)の平均値を用いるとよい。
共分散行列P(k)が大きくなると、推定値mx(k)は真値から遠ざかり、共分散行
列P(k)が小さく収束すると、推定値mx(k)は真値に近づく。
このように、上記の数式(2)を伝達関数として見做して、推定値mx(k)を適応アルゴリズムにより推定することで、推定値mx(k)を逐次、平滑化処理できる。これにより、真値への収束の高速化と、雑音、外乱、あるいは各センサの検出値の統計的性質の変化などに対するロバスト性の向上には有利になり、推定誤差を低減できる。これに伴い、車両10の重量を高精度に推定できる。
この実施形態では、適応アルゴリズムのうちのRLSアルゴリズムを用いることで、上記の数式(3)〜数式(5)により推定値mx(k)を求めることができる。これにより、オンライン推定には有利になり、リアルタイムで推定値mx(k)を算出できる。また、各センサで取得した検出値に対してローパスフィルタによりノイズを除去する方式と比して、車両10の重量の推定の応答性の確保には有利になる。
加えて、サンプリング周期tsごとに前回値mx(k−1)、共分散行列P(k−1)、ゲインK(k−1)を更新するだけでよく、制御装置20の内部記憶装置に記憶させる数値を最小限にできる。それ故、制御装置20の内部記憶装置に車両10の不確定な走行期間に対して無限の記憶領域を確保しなければならないオフライン推定(バッチ処理推定)による方式に比して、推定に要する記憶容量の削減には有利になる。なお、ここでいうオフライン推定とは、一括処理最小二乗法や、全ての推定値mx(0)〜mx(k)の平均値を算出する方法などが例示できる。
さらに、RLSアルゴリズムを用いることで、サンプリング周期tsごとに推定値mx(k)を算出できる。これにより車両10の状態(例えば、ギア比ixや駆動トルクTw)が変化したときや所定の距離を走行したときに推定する方式に比して、リアルタイムでの推定には有利になる。
次に、本発明の車両重量推定方法について、図4のフロー図を参照しながら、車両重量演算部31の各機能として説明する。以下の車両重量推定方法は、車両10の制御装置20が通電すると開始されて、サンプリング周期tsごとに繰り返し行われてリアルタイムに車両10の重量を推定する。つまり、スタートからリターンまでを一つのサンプリング周期tsで処理する。そして、制御装置20が停電すると終了する。
スタートすると、車両重量演算部31は、パラメータ取得部32の機能により、車両10の走行中に変化するパラメータを取得する(S110)。パラメータは、第一パラメータΦx、及び第二パラメータΦyである。
具体的に、パラメータ取得部32は、制御部28及び各センサにより検出した検出値からそれらのパラメータを取得する。まず、制御部28により燃料噴射量Qxを、ポジションセンサ24によりトランスミッション16のギア比ixを、回転速度センサ25によりエンジン回転速度Nxを、車速センサ26により車速vxを、加速度センサ27により加速度Gxをそれぞれ取得する。
次いで、第一パラメータ算出ブロック32aは、各ブロックにより下記の数式(6)に示す第一パラメータΦxを算出する。
加速度Gxは、上述したとおり車両10の前後方向での速度変化に伴う加速度成分と車両10の姿勢変化に伴う重力加速度成分とを合成した路面に平行な加速度成分である。つまり、加速度Gxは、微分値vx’と重力加速度成分g・sinβとを加算した値になる。したがって、数式(6)は、上記の数式(2)の分子と同義である。
第一パラメータΦxの変数としては、上記の数式(2)に示すように、加速度Gxの代わりに、車速vxの微分値vx’と、車両10の走行している路面勾配に基づいた重力加速度成分g・sinβとを用いてもよい。この場合は、加速度センサ27の代わりに、車速センサ26と車両10が走行している路面勾配を取得する勾配センサや路面勾配を演算する機能要素を用いるとよい。
次いで、エンジントルク算出ブロック32cは、燃料噴射量Qxとエンジン回転速度Nxとに基づいて、エンジン14から出力される実際のエンジントルクTeを算出する。
図5に例示するように、エンジン14から出力されるエンジントルクTeは、エンジン回転速度Nx及び燃料噴射量Qxのそれぞれに対して正の関係にあり、エンジン回転速度Nxが速く且つ燃料噴射量Qxが大きいほど、大きくなる。このマップデータは予め実験や試験により求めておき、データブロックであるエンジントルク算出ブロック32cに記憶させておく。
この実施形態では、エンジン回転速度Nx及び燃料噴射量Qxの関係からエンジントルクTeを算出したが、燃料噴射量Qxの代わりにアクセル開度センサ22が取得したアクセル開度Axを用いてもよいし、他の取得方法でもよい。
次いで、第二パラメータ算出ブロック32bは、下記の数式(7)を用いて、駆動輪19に伝達される駆動トルクTwを算出する。数式(7)において、ifはディファレンシャルギア18のギア比を、ηはギア比で異なる伝達効率をそれぞれ示している。駆動トルクTwはトルクセンサを用いて得てもよいし、他の方法で得てもよい。
次いで、第二パラメータ算出ブロック32bは、ルックアップテーブルブロック32dにより回転部分相当質量Δmxを算出する。
回転部分相当質量Δmxは、変数であるギア比ixに応じて決まる値である。ルックアップテーブルブロック32dは、ギア比ixごとの複数の回転部分相当質量Δmxが設定されており、ギア比ixに応じたものを選択する。回転部分相当質量Δmxは、空車時の車両重量、ギア比ix、及び所定の係数との関係から算出してもよい。
次いで、第二パラメータ算出ブロック32bは、各ブロックにより下記の数式(8)に示す第二パラメータΦyを算出する。
この実施形態では、第二パラメータΦyを上記の数式(8)で示したが、エンジン14、クラッチ15、トランスミッション16、ディファレンシャルギア18などに働く摩擦トルクTfを考慮してもよい。この場合は、駆動トルクTwから摩擦トルクTfを減算した値を駆動輪19の車輪径rwで除算するとよい。摩擦トルクTfを考慮すると、推定精度の向上には有利になる。
以上のように各パラメータを取得すると、車両重量演算部31は、仮推定部35の機能により、仮推定値Mx(k)を算出する(S120)。具体的に、仮推定部35では、上記の数式(2)に示す車両10の前後方向の運動方程式のみを用いて、第二パラメータΦyを第一パラメータΦxで除算して仮推定値Mx(k)を仮推定する。
次いで、車両重量演算部31は、維持部34のチェックブロック34aの機能により、仮推定値Mx(k)が予め設定した範囲Raに収まっているか否かを判定する(S130)。
図6に例示するように、範囲Raは、最小値Mx(min)と最大値Mx(max)との間の領域を示しており、仮推定値Mx(k)のノイズ等の影響により誤差の大きさを判定可能な範囲に設定されている。図6では、傾きが重量を示しており、mが真値を示している。
最小値Mx(min)は車両10の最小重量minに、最大値Mx(max)は最大重量maxに、それぞれ基づいて設定されている。この実施形態で、最小重量minは、空車時の車両10の重量である車両重量、つまり、車両10の本体(シャーシ11、運転室12、ボディ13)の重量(エンジン14なども含む)を示している。車両重量としては、燃料、オイル、冷却水、スペアタイヤ及び工具などの重量を含めてもよい。最大重量maxは、車両総重量、つまり、車両重量に、最大乗車定員の合計体重と最大積載量の荷の重量とを合計した重量を示している。
最小値Mx(min)及び最小重量minと、最大値Mx(max)及び最大重量maxとの間には予め設定した差分Δmaが設けられており、範囲Raを最小重量minと最大重量maxとの間の範囲よりも拡大している。つまり、最小値Mx(min)は最小重量minから差分Δmaを減算した値になり、最大値Mx(max)は最大重量maxに差分Δmaを加算した値になる。
差分Δmaは、予め実験や試験により車両重量推定装置30の出力値mxと真値mとの推定誤差に基づいて設定されている。上述したとおり、この実施形態の推定演算においては、RLSアルゴリズムを用いることで、推定値mx(k)を真値mに速やかに収束することができる。一方で、収束するまでの間には推定誤差が生じる場合がある。差分Δmaはその推定誤差の平均値に設定される。
このステップで仮推定値Mx(k)が範囲Raに収まっていると判定すると、車両重量演算部31は、維持部34のアサーションブロック34bの機能により、第一パラメータΦx及び第二パラメータΦyを推定部33に入力する。具体的に、アサーションブロック
34bでは、仮推定値Mx(k)が範囲Raに収まった場合に、チェックブロック34aから発信された二値信号である「1」が入力されて、第一パラメータΦx及び第二パラメータΦyを推定部33に出力する。
同時に、車両重量演算部31は、維持部34のスイッチブロック34cの機能により、推定値mx(k)の出力を許可する。具体的に、スイッチブロック34cでは、チェックブロック34aから発信された二値信号である「1」が入力されて、スイッチが推定値mx(k)の出力に切り替わる。
次いで、車両重量演算部31は、推定部33の上述した推定方法により、推定値mx(k)を推定する(S140)。次いで、車両重量演算部31は、入力された推定値mx(k)を出力値mxとして出力する(S150)。次いで、スタートへ戻る。
一方、上記のステップで仮推定値Mx(k)が範囲Raから外れたと判定すると、車両重量演算部31は、維持部34のアサーションブロック34bの機能により、第一パラメータΦx及び第二パラメータΦyの出力を禁止する。具体的に、アサーションブロック34bでは、仮推定値Mx(k)が範囲Raから外れた場合に、チェックブロック34aから発信された二値信号である「0」が入力されて、第一パラメータΦx及び第二パラメータΦyの出力を禁止する。
つまり、車両重量演算部31は、推定部33に第一パラメータΦx及び第二パラメータΦyの入力が禁止されるので、サンプリング周期tsを一つだけ遅延させておいた範囲内推定値として前回値mx(k−1)を出力値mxとして出力する(S160)。そして、スタートへ戻る。
上記の推定方法によると、仮推定値Mx(k)が範囲Raから外れた場合は、仮推定値Mx(k)を仮推定するよりも前に、その範囲Raに収まった仮推定値Mx(k−1)を仮推定した時のパラメータに基づいて推定した範囲内推定値として前回値mx(k−1)を車両10の重量として出力する。
図6に例示するように、仮推定値Mx(2)、Mx(5)、Mx(6)が、範囲Raから外れている。このとき、推定値mx(2)、mx(5)、mx(6)としては、範囲内推定値として前回値mx(1)、mx(4)が出力値mxとして出力される。これら仮推定値Mx(2)、Mx(5)、Mx(6)は、パラメータの誤差が大きいと見做して、推定部33における平滑化処理からは除外する。
このように、パラメータに基づいて仮推定した仮推定値Mx(k)が範囲Raから外れた場合は、車両10の重量として仮推定値Mx(k−1)が範囲Raに収まった時に平滑化処理を用いて推定した範囲内推定値として前回値mx(k−1)を出力する。つまり、パラメータの誤差が大きいと見做せる場合は、そのパラメータを除外し、前回値mx(k−1)を出力することで、車両10の重量として一定値を保持できる。これにより、ノイズ等の影響による推定誤差の低減及び平滑化処理における誤差の排除による真値mへの収束速度の高速化には有利になり、車両10の重量を速やか且つ高精度に推定することができる。
また、仮推定値Mx(k)と範囲Raとを比較する方式にすることで、車両重量演算部31の計算負荷を低く抑えることができる。さらに、車両10の種類や走行状態により様々に変化するパラメータにローパスフィルタなどのノイズ除去処理を施す方式に比して、応答性の確保にも有利になる。
特に、この実施形態では、維持部34のチェックブロック34a及びアサーションブロック34bが、推定値mx(k)の推定演算処理に対するアサーションチェックとして機能する。つまり、仮推定値Mx(k)が範囲Raから外れた場合は、第一パラメータΦx及び第二パラメータΦyをネゲートと見做して推定部33に入力しない。一方、仮推定値Mx(k)が範囲Raに収まった場合は、第一パラメータΦx及び第二パラメータΦyをアサートと見做して推定部33に入力する。その結果として、各パラメータが有効な場合は、推定部33で推定値mx(k)を推定し、各パラメータが無効な場合は、推定部33での推定を禁止できる。
このように、第一パラメータΦx及び第二パラメータΦyと前回値mx(k−1)とに基づいてRLSアルゴリズムを用いて平滑化処理する際に、アサーションチェックを行うことで、推定値mx(k)を平滑化処理する際の推定誤差の低減には有利になり、車両10の重量を高精度に推定することができる。また、推定値mx(k)を平滑化処理する際の真値mへの収束速度の高速化にも有利になり、推定値mx(k)を速やかに真値mに収束することができる。
この実施形態では、範囲Raを車両10の最小重量minと最大重量maxとに基づいて設定するので、仮推定値Mx(k)が車両10の重量としては現実的にはあり得ない値になったか否かを判定できる。これにより、ノイズ等の影響により誤差が大きくなる場合の推定誤差の低減には有利になる。
また、車両10に予め設定されている最小重量min及び最大重量maxに基づいて、範囲Raを設定することで、閾値の設定を簡易にでき、且つ、車両10の状態や走行状態などに基づいてチューニングする必要もなくなる。
真値mが最小重量minや最大重量maxの近傍に存在する場合は、少しのノイズが生じても仮推定値Mx(k)が範囲Raを外れる頻度が多くなることに伴って推定値mx(k)の更新頻度が低下するおそれがある。また、真値mが最小重量minや最大重量maxである場合、計測値は真値m±誤差をもつ。そこで、この実施形態では、推定誤差に基づいた差分Δmaを設けることで、範囲Raを最小重量minよりも軽く、且つ最大重量maxよりも重い範囲に拡大している。これにより、真値mが最小重量minや最大重量maxの近傍に存在する場合の推定値mx(k)の更新頻度の低下の抑制には有利になり、推定精度を向上できる。
このように、範囲Raはノイズ等の影響により誤差が大きい仮推定値Mx(k)を除去可能な範囲であればよい。範囲Raは、車両10によっては、最大値Mx(max)をより重くしたり、最小値Mx(min)をより重くしたりしてもよく、例えば、実験や試験により最小値Mx(min)及び最大値Mx(max)を求めてもよい。
この実施形態では、仮推定値Mx(k)をパラメータに基づいて上記の数式(2)で示す車両10の前後方向の運動方程式のみを用いて算出し、推定値mx(k)を平滑化処理を用いて算出する。これにより、平滑化処理に対して簡易的にアサーションチェックを行うことができる。
このように、仮推定値Mx(k)は簡易的な方法で算出することができればよく、上記の数式(2)で示す車両10の前後方向の運動方程式のみを用いる方式に限定しない。例えば、車両10がエアサスペンションを搭載している場合は、車両10の上下方向の変化に基づく方式を用いてもよい。また、変速の前後のトランスミッションに入力されるトルクとそのトランスミッションから出力される回転数の変化量とに基づく方式を用いてもよい。また、積載量の変化に伴うボディ13の重量をロードセルなどの重量センサで取得し
た値に空車時の車両重量を加算した値を仮推定値Mxとしてもよい。
図7、図8に例示する第二実施形態の車両重量推定装置30は、第一実施形態の構成に加えて、維持部34によりエラーチェックを行う点が異なっている。
図7に例示するように、維持部34は、比較ブロック34c、34d、カウンタブロック34e、及びディスプレイブロック34fを有している。
比較ブロック34cはチェックブロック34aから出力された二値信号が「0」か否かをチェックする機能要素である。比較ブロック34dは、チェックブロック34aから出力された二値信号が「1」か否かをチェックする機能要素である。
カウンタブロック34eは、比較ブロック34cから出力された二値信号が入力されて、その二値信号のカウント数に基づいてエラー信号を出力する機能要素である。また、カウンタブロック34eは、比較ブロック34dから出力された二値信号によりカウント数がリセットされる機能要素である。
具体的に、カウンタブロック34eは、比較ブロック34cから出力された二値信号が「1」の場合に、つまり、チェックブロック34aから出力された二値信号が「0」の場合にカウントする。カウンタブロック34eは、上限値が設定されており、カウント数が上限値に達したらエラー信号を出力する。したがって、カウンタブロック34eは、仮推定値mx(k−1)が範囲Raを外れた回数が連続して上限値に達した時に、エラー信号を出力する。上限値は、各センサ及びパラメータ取得部32の故障を判定可能な値に設定されており、予め実験や試験により求めておく。
図8に例示するように、仮推定値Mx(5)〜仮推定値Mx(8)までが連続して範囲Raから外れている。カウンタブロック34eの上限値を「4」に設定した場合に、仮推定値Mx(8)が範囲Raから外れたことが判明すると、ディスプレイブロック34fにエラーが表示される。
このように、この実施形態では、仮推定値Mx(k)が範囲Raから外れた回数が連続的に発生した場合に、エラーを表示するので、各センサの故障を判定することができる。これにより、各センサの故障の早期の発見には有利になり、運転者にそのエラーを報知することで、早期の修理が可能になる。
既述した実施形態では、車両10がトラックなどの大型車両を例に説明したが、本発明の車両重量推定装置30は、バス、普通車両、牽引車(トラクタ)にも適用でき、車両10の種類には限定されない。つまり、車両10の動力源としては、エンジン14の他に、モータジェネレータを例示できる。
既述した実施形態では、推定部33が推定値mx(k)を推定するための条件を定めていないが、以下のような条件が成立したときに、推定値mx(k)を推定するとよい。条件としては、ブレーキが作動していない状態で、クラッチ15が完接した場合に、車速vxの微分値vx’が予め設定した閾値以上、且つ駆動トルクTwが閾値以上になったときが例示できる。仮推定値Mx(k)と範囲Raとの比較以外に、このような条件が成立した時にのみにRLSアルゴリズムにより推定値mx(k)を推定するようにすることで、推定精度を向上することができる。
既述した実施形態では、推定値mx(k)の推定演算としてRLSアルゴリズムを用いた例を説明したが、推定部33としては、車両10の重量を推定できればよく、推定演算
はこれに限定されない。例えば、RLSアルゴリズムの代わりに、適応アルゴリズムとしてLMSアルゴリズムやNLMSアルゴリズムなどを用いてもよい。また、推定した全ての推定値mx(0)〜推定値mx(k)の平均値を出力する平均化処理を施してもよい。なお、平均化処理は、平滑化処理の特定のパターンである。いずれの場合でも、この実施形態と同様に、仮推定値Mx(k)が範囲Raを外れた場合は、推定誤差が大きいと見做して、推定を禁止することが望ましい。
また、既述した実施形態では、車両重量推定装置30が、車両重量演算部31と各センサなどから構成された例を説明したが、本発明はこれに限定されない。例えば、車両重量推定装置30がパラメータ取得手段及び仮推定手段として機能する一つのセンサと、推定手段及び維持手段として機能するハードウェアとから構成されていてもよい。
維持部34は、推定部33における推定を禁止する他に、推定部33により推定した推定値mx(k)の出力を禁止するように構成してもよい。例えば、チェックブロック34aからの二値信号が「1」の場合は、推定値mx(k)を出力する一方で、二値信号が「0」の場合は、前回値mx(k−1)を出力するように構成してもよい。但し、このように構成すると、上述した実施形態と比して推定部33における推定が禁止されない。