(57)【要約】【課題】プロペラシャフトの振動による推定誤差を低減して、車両の重量を高精度に推定する車両重量推定装置及び車両重量推定方法を提供する。【解決手段】車両重量推定装置３０は、ポジションセンサ２４、回転速度センサ２５、車速センサ２６、加速度センサ２７、制御部２８、及び車両重量演算部３１を備え、車両重量演算部３１が、パラメータ取得部３２、推定部３３、及び維持部３４を有しており、維持部３４により、プロペラシャフト１７に捻じれによる振動が生じている間は、その振動が生じる前に推定部３３により推定された発生前推定値ｍｘ（ｋ−１）を維持する構成にした。【選択図】図３
2018091755.tif 000002
【特許請求の範囲】
【請求項１】
動力源と、この動力源から入力された回転動力を変速して出力するトランスミッションと、変速されたその回転動力を伝達するプロペラシャフトと、伝達されたその回転動力を各駆動輪に分配するディファレンシャルギアと、を有している車両の重量を推定する車両重量推定装置において、
前記車両の走行中に変化するパラメータを取得するパラメータ取得手段と、
このパラメータ取得手段により取得したパラメータが入力されて、そのパラメータに基づいて推定した前記車両の重量の推定値を出力する推定手段と、
前記プロペラシャフトに捻じれによる振動が生じている間は、前記車両の重量としてその振動が生じる前に前記推定手段により推定された発生前推定値を維持する維持手段と、を備えたことを特徴とする車両重量推定装置。
【請求項２】
前記パラメータ取得手段により、前記振動による前記プロペラシャフトの回転変動に関する数値を取得し、その回転変動に関する数値が前記維持手段に入力されて、
前記維持手段により、その回転変動に関する数値に基づいて前記振動の開始を判定する構成にした請求項１に記載の車両重量推定装置。
【請求項３】
前記回転変動に関する数値が、前記駆動輪に伝達される駆動トルクの変化率であり、
前記振動の開始が、その変化率が予め設定した閾値を超えたときに設定された請求項２に記載の車両重量推定装置。
【請求項４】
前記振動の終了が、前記変化率が前記閾値を超えてから予め設定した時間が経過したときに設定された請求項３に記載の車両重量推定装置。
【請求項５】
前記変化率が、所定のサンプリング周期ごとに算出された前記駆動トルクの差分である請求項３又は４に記載の車両重量推定装置。
【請求項６】
前記推定手段により、前記パラメータ及びそのパラメータを取得するよりも前に推定した前回値に基づいて平滑化処理を用いて推定した前記推定値を出力する構成にし、
前記維持手段が、前記パラメータ取得手段及び前記推定手段の間に介在し、その維持手段により、前記振動が生じている間は、前記推定手段への前記パラメータ取得手段により取得したパラメータの入力を禁止して、前記発生前推定値を維持する構成にした請求項１〜５のいずれか１項に記載の車両重量推定装置。
【請求項７】
動力源から入力された回転動力をトランスミッションにより変速し、プロペラシャフトを介して伝達されたその回転動力をディファレンシャルギアにより各駆動輪に分配する車両の重量を推定する車両重量推定方法において、
前記車両の走行中に変化するパラメータを取得し、
そのパラメータに基づいて、前記プロペラシャフトに捻じれによる振動が生じた否かを判定し、
その振動が生じている間は、前記車両の重量としてその振動が生じる前に取得した前記パラメータに基づいて推定した発生前推定値を維持することを特徴とする車両重量推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両重量推定装置及び車両重量推定方法に関し、より詳細には、車両の重量を高精度に推定する車両重量推定装置及び車両重量推定方法に関する。
【背景技術】
【０００２】
車両の走行中に変化するパラメータに基づいて、車両の重量を推定する装置が提案されている（例えば、特許文献１参照）。この装置は、アクセルペダルの踏み込み量を示すアクセル開度が大きく変動した場合は、車両の重量を推定しないことで高精度の推定を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１３７５３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、プロペラシャフトに伝達される回転動力が急増すると、プロペラシャフトが捻られて、その捻りが戻ろうとする力が生じて、プロペラシャフトに振動が生じる。特に、その振動は、プロペラシャフトが長くなる程、プロペラシャフトの捩じり量が多くなり、大きくなる。従って、その振動は、バスやトラックなどのプロペラシャフトの軸方向の長さが普通乗用車に比して長くなる大型車両に顕著になる。
【０００５】
このような振動が生じると、上記の装置では、トランスミッションから出力される回転数が変動することになる。それ故、車両の重量の推定誤差が大きくなっていた。
【０００６】
本発明は、上記のことを鑑みてなされたものであり、その目的は、プロペラシャフトの振動による推定誤差を低減して、車両の重量を高精度に推定する車両重量推定装置及び車両重量推定方法を提供することである。
【課題を解決するための手段】
【０００７】
上記の目的を達成する本発明の車両重量推定装置は、動力源と、この動力源から入力された回転動力を変速して出力するトランスミッションと、変速されたその回転動力を伝達するプロペラシャフトと、伝達されたその回転動力を各駆動輪に分配するディファレンシャルギアと、を有している車両の重量を推定する車両重量推定装置において、前記車両の走行中に変化するパラメータを取得するパラメータ取得手段と、このパラメータ取得手段により取得したパラメータが入力されて、そのパラメータに基づいて推定した前記車両の重量の推定値を出力する推定手段と、前記プロペラシャフトに捻じれによる振動が生じている間は、前記車両の重量としてその振動が生じる前に前記推定手段により推定された発生前推定値を維持する維持手段と、を備えたことを特徴とするものである。
【０００８】
上記の目的を達成する本発明の車両重量推定方法は、動力源から入力された回転動力をトランスミッションにより変速し、プロペラシャフトを介して伝達されたその回転動力をディファレンシャルギアにより各駆動輪に分配する車両の重量を推定する車両重量推定方法において、前記車両の走行中に変化するパラメータを取得し、そのパラメータに基づいて、前記プロペラシャフトに捻じれによる振動が生じた否かを判定し、その振動が生じている間は、前記車両の重量としてその振動が生じる前に取得した前記パラメータに基づいて推定した発生前推定値を維持することを特徴とする方法である。
【発明の効果】
【０００９】
本発明によれば、プロペラシャフトに捻じれによる振動が生じている間は、車両の重量としてその振動が生じる前に推定した発生前推定値を維持するので、振動による誤差が少なくなるまでは、車両の重量として一定値を保持できる。これにより、プロペラシャフトに捻じれによる振動が生じた場合の推定誤差の低減には有利になり、車両の重量を高精度に推定することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の車両重量推定装置の実施形態を例示する説明図である。
【図２】図１の制御装置を例示するブロック図である。
【図３】図２の車両重量演算部を例示するブロック図であり、タイマがオフの状態を示す。
【図４】図２の車両重量演算部を例示するブロック図であり、タイマがオンの状態を示す。
【図５】本発明の車両重量推定方法の実施形態を例示するフロー図である。
【図６】エンジン回転速度及びアクセル開度と、エンジントルクとの関係を例示する関係図である。
【図７】経過時間とプロペラシャフトの回転変動との関係を例示する関係図である。
【発明を実施するための形態】
【００１１】
以下に、本発明の車両重量推定装置及び車両重量推定方法の実施形態について説明する。
【００１２】
図１〜図４に例示する実施形態の車両重量推定装置３０は、車両１０に搭載されて、その車両１０の走行中に変化するパラメータに基づいて車両１０の重量を推定する装置である。以下、符号にｘ、ｙが付随するものは変数であり、センサなどの検出値や推定値を示し、符号にｋが付随するものは時系列を示し、このｋはサンプリング周期ｔｓごとに「１」ずつ増加する。
【００１３】
図１に例示するように、車両重量推定装置３０が搭載される車両１０は、シャーシ１１の前方側に運転室（キャブ）１２が配置され、シャーシ１１の後方側にボディ１３が配置されている。
【００１４】
シャーシ１１には、エンジン１４、クラッチ１５、トランスミッション１６、プロペラシャフト１７、及びディファレンシャルギア１８が設置されている。エンジン１４の回転動力は、クラッチ１５を介してトランスミッション１６に伝達される。トランスミッション１６で変速された回転動力は、プロペラシャフト１７を通じてディファレンシャルギア１８に伝達され、後輪である一対の駆動輪１９にそれぞれ駆動力として分配される。エンジン１４とクラッチ１５との間にトルクコンバータを介在させてもよい。
【００１５】
制御装置２０は、エンジン１４、クラッチ１５、トランスミッション１６、及び各種センサに一点鎖線で示す信号線を介して電気的に接続されている。各種センサとして、運転室１２には、アクセルペダル２１の踏み込み量からアクセル開度Ａｘを検出するアクセル開度センサ２２、シフトレバー２３のレバーポジションＰｘを検出するポジションセンサ２４が設置されている。シャーシ１１には、エンジン１４の図示しないクランクシャフトの回転速度Ｎｘを検出する回転速度センサ２５、車速センサ２６、及び、加速度センサ２７が設置されている。
【００１６】
制御装置２０は、各種情報処理を行うＣＰＵ、その各種情報処理を行うために用いられ
るプログラムや情報処理結果を読み書き可能な内部記憶装置、及び各種インターフェースなどから構成されるハードウェアである。
【００１７】
図２に例示するように、制御装置２０は、エンジン１４、クラッチ１５、及びトランスミッション１６を制御する制御部２８と、車両１０の重量を演算する車両重量演算部３１と、を各機能要素として有している。この実施形態で、各機能要素は、プログラムとして内部記憶装置に記憶されているが、各機能要素が個別のハードウェアで構成されてもよい。
【００１８】
本発明の車両重量推定装置３０は、ポジションセンサ２４、回転速度センサ２５、車速センサ２６、加速度センサ２７、制御部２８、及び車両重量演算部３１から構成されている。そして、車両重量演算部３１は、パラメータ取得手段、推定手段、及び維持手段として機能して、それらのセンサの検出値や演算部の演算結果が入力され、各検出値や演算結果に基づいて演算した結果を出力値ｍｘとして出力する。
【００１９】
制御部２８は、パラメータ取得手段の一部として機能する機能要素であり、この実施形態では、サンプリング周期ｔｓごとにエンジン１４における燃料噴射量Ｑｘを取得する。燃料噴射量Ｑｘは、エンジン１４の図示しないインジェクタの噴射時間（駆動パルス）に比例することから噴射時間の合計値から求められる。
【００２０】
制御部２８は、アクセル開度センサ２２により検出したアクセル開度Ａｘが入力されて、そのアクセル開度Ａｘに基づいて、基準噴射時間を算出する。この基準噴射時間に基づいた燃料噴射量がインジェクタから噴射されると、エンジン１４から出力されるトルクとして目標トルクＴＥが出力される。次いで、制御部２８は、車両１０に搭載されてエンジン１４により駆動する車載装置の駆動の有無、エンジン１４から排出された排気ガスを浄化する排気ガス浄化装置の再生の有無などに基づいて、追加噴射時間を算出する。この追加噴射時間に基づいた燃料噴射量が噴射されると、車載装置の駆動力を補ったり、排気ガス浄化装置を再生したりする。次いで、制御部２８は、サンプリング周期ｔｓごとに基準噴射時間及び追加噴射時間の合計値に基づいて燃料噴射量Ｑｘを算出する。
【００２１】
制御部２８としては、エンジン１４における実際に噴射された燃料噴射量Ｑｘを取得できればよく、この構成に限定されない。制御部２８としては、図示しないインテークマニホールドの内圧、体積効率、及び要求空燃比から、あるいは、吸入空気量及びエンジン回転速度Ｎｘから基準噴射時間を算出してもよい。車載装置としては、エアコンプレッサやモータジェネレータなどが例示できる。排気ガス浄化装置としては、排気ガス中の粒子状物質を捕集する捕集フィルタが例示できる。
【００２２】
ポジションセンサ２４は、パラメータ取得手段の一部として機能する装置であり、車両１０の運転者によって操作されるシフトレバー２３の位置を電気的に検出することによって運転者が要求するレバーポジションＰｘを検出する。ポジションセンサ２４は、サンプリング周期ｔｓごとにレバーポジションＰｘに応じたトランスミッション１６のギア比ｉｘを検出する。レバーポジションＰｘとしては、駐車ポジション（Ｐポジション）、後進ポジション（Ｒポジション）、ニュートラルポジション（Ｎポジション）、前進ポジション（Ｄレンジ）などが例示できる。前進ポジションは、例えば、１速〜６速の複数段が設定されている。各前進ポジションには、１速から段数が上がるごとに小さくなるギア比ｉｘが設定されている。トランスミッション１６がＡＭＴで構成されている場合は、ポジションセンサ２４の代わりに、制御部２８で制御されたトランスミッション１６の変速段を読み取る機能を有したものを用いてもよい。また、制御部２８の制御信号からトランスミッション１６のギア比ｉｘを取得する場合に、そのギア比ｉｘは、車速ｖｘとエンジン回転速度Ｎｘとに基づいて求めることもできる。
【００２３】
車速センサ２６は、パラメータ取得手段の一部として機能する装置であり、プロペラシャフト１７の回転速度に比例したパルス信号を読み取り、制御装置２０の図示しない車速演算処理によりサンプリング周期ｔｓごとに車速ｖｘを取得するセンサである。車速センサ２６が回転速度に比例したパルス信号に基づいて車速ｖｘを取得することから、取得された車速ｖｘは、負ではなくゼロ以上の値になる。車速センサ２６としては、トランスミッション１６の図示しないアウトプットシャフト、駆動輪１９、従動輪などの回転速度から車速ｖｘを取得するセンサを用いてもよい。なお、駆動輪１９、従動輪などの回転速度から車速ｖｘを取得するセンサを用いる場合には、左右一対の車輪のそれぞれの回転速度を取得して、その平均値を車速ｖｘとするとよい。
【００２４】
加速度センサ２７は、パラメータ取得手段の一部として機能する装置であり、車両１０の前後方向での速度変化に伴う加速度成分と車両１０の姿勢変化に伴う重力加速度成分とによって動作する。加速度センサ２７は、サンプリング周期ｔｓごとに、それらを合成した路面に平行な加速度成分、すなわち車両１０の前後方向の加速度Ｇｘを取得するセンサである。加速度センサ２７としては、機械的変位測定方式、光学的方式、半導体方式などが例示できる。
【００２５】
図３、図４に例示するように、この実施形態で、車両重量演算部３１は、各機能要素として、パラメータ取得部３２、推定部３３、及び維持部３４を有している。車両重量演算部３１の各機能要素は、プログラムとして内部記憶装置に記憶されているが、各機能要素が個別のハードウェアで構成されてもよい。
【００２６】
なお、図３は、後述するチェックブロック３４ａから二値信号として「１」が出力されて、且つタイマがオフになった場合を示しており、図４は、チェックブロック３４ａから二値信号として「０」が出力されて、タイマブロック３４ｇによりタイマがオンになった状態を示している。
【００２７】
パラメータ取得部３２は、パラメータ取得手段として機能しており、制御部２８及び各センサの検出値が入力される。パラメータ取得部３２は、サンプリング周期ｔｓごとに車両１０が走行中に変化するパラメータとして第一パラメータΦｘと第二パラメータΦｙとを推定部３３に出力し、駆動トルクＴｗを維持部３４に出力する機能要素である。パラメータ取得部３２は、第一パラメータ算出ブロック３２ａ、第二パラメータ算出ブロック３２ｂ、及びエンジントルク算出ブロック３２ｃを有している。
【００２８】
第一パラメータ算出ブロック３２ａは、加速度Ｇｘが入力されて、第一パラメータΦｘを算出する機能要素である。第二パラメータ算出ブロック３２ｂは、車速ｖｘ、トランスミッション１６のギア比ｉｘ、及びエンジントルクＴｅが入力されて、第二パラメータΦｙを算出する機能要素である。エンジントルク算出ブロック３２ｃは、エンジン回転速度Ｎｘ及び燃料噴射量Ｑｘが入力されて、エンジン１４から実際に出力されるエンジントルクＴｅを算出する機能要素である。
【００２９】
推定部３３は、推定手段として機能しており、第一パラメータΦｘ、第二パラメータΦｙが入力されて、それらとサンプリング周期ｔｓにおける一つ前に推定した前回値ｍｘ（ｋ−１）とに基づいて、平滑化処理を用いて推定した推定値ｍｘ（ｋ）を出力する機能要素である。推定部３３は、ＲＬＳ推定ブロックから構成されている。ＲＬＳ推定ブロックは、推定演算における変数をサンプリング周期ｔｓごとに更新している。つまり、ＲＬＳ推定ブロックは、新たなパラメータが入力される時に、前回値ｍｘ（ｋ−１）、共分散行列Ｐ（ｋ−１）、ＲＬＳアルゴリズムで計算されるゲインＫ（ｋ−１）が記憶された状態になっている。
【００３０】
維持部３４は、維持手段として機能しており、パラメータ取得部３２と推定部３３との間に介在している。維持部３４は、サンプリング周期ｔｓごとに判定結果に基づいてパラメータ取得部３２で取得したパラメータを推定部３３に入力する機能要素であり、換言すると判定結果に基づいて、推定部３３における推定を許可及び禁止する機能要素である。具体的に、維持部３４は、各パラメータが入力されて、駆動トルクＴｗに基づいて、第一パラメータΦｘと第二パラメータΦｙとを推定部３３に出力するか否かを選択する。維持部３４は、チェックブロック３４ａ、アサーションブロック３４ｂ、スイッチブロック３４ｃ、変化率取得ブロック３４ｄ、トリガブロック３４ｅ、及びタイマブロック３４ｆを有している。
【００３１】
チェックブロック３４ａは、サンプリング周期ｔｓごとに変化率取得ブロック３４ｄから出力された変化率ΔＴｗが入力されて、変化率ΔＴｗに基づいて、プロペラシャフト１７に捻じれによる振動が生じたか否かを判定する機能要素である。具体的に、チェックブロック３４ａは、変化率ΔＴｗが予め設定した閾値ΔＴａ以下に収まっているか否かによって、振動発生の有無を判定する。チェックブロック３４ａは、振動が生じていない場合は、二値信号として「１」（真を示す信号）を出力する。一方で、チェックブロック３４ａは、振動が生じた場合は、二値信号として「０」（偽を示す信号）を出力する。
【００３２】
アサーションブロック３４ｂは、各パラメータとスイッチブロック３４ｃから出力された二値信号とが入力されて、サンプリング周期ｔｓごとにその二値信号に基づいて各パラメータを推定部３３に出力するか否かを判定する機能要素である。具体的に、アサーションブロック３４ｂは、二値信号が「１」の場合は、推定部３３への第一パラメータΦｘ及び第二パラメータΦｙの入力を許可する。一方、二値信号が「０」の場合は、推定部３３への第一パラメータΦｘ及び第二パラメータΦｙの入力を禁止する。
【００３３】
スイッチブロック３４ｃは、各二値信号が入力されて、タイマブロック３４ｇにより二値信号として「０」が入力された場合は、二値信号として「０」を出力し、それ以外の場合は、チェックブロック３４ａから出力された二値信号を出力する機能要素である。
【００３４】
変化率取得ブロック３４ｄは、サンプリング周期ｔｓごとにパラメータ取得部３２から出力された駆動トルクＴｗが入力されて、その駆動トルクＴｗの変化率ΔＴｗを算出してチェックブロック３４ａに出力する機能要素である。
【００３５】
トリガブロック３４ｅは、サンプリング周期ｔｓごとにチェックブロック３４ａから出力された二値信号が入力されて、二値信号が「０」の場合に二値信号として「１」を出力する機能要素である。
【００３６】
タイマブロック３４ｆは、トリガブロック３４ｅから出力された二値信号が入力されて、二値信号が「１」の場合にタイマがオンになり、予め設定した時間ｔａが経過するまで、サンプリング周期ｔｓごとに二値信号として「０」を出力する機能要素である。
【００３７】
次に、この実施形態の推定部３３による推定値ｍｘ（ｋ）の推定演算について説明する。推定部３３は、各パラメータ及び前回値ｍｘ（ｋ−１）に基づいて、車両１０の前後方向の運動方程式を伝達関数として見做して、平滑化処理として適応アルゴリズムを用いて推定値ｍｘ（ｋ−１）を推定する。適応アルゴリズムとしては、ＲＬＳアルゴリズム（逐次最小二乗法アルゴリズム）を用いている。
【００３８】
車両１０の前後方向の運動方程式は、下記の数式（１）で表される。数式（１）において、ｖｘ’は車速ｖｘを時間微分した微分値を、Ｔｗは駆動輪１９に伝達される駆動トル
クを、ｒｗは駆動輪１９の車輪径を、Δｍｘは後述する回転部分相当質量を、Ｂは定数を、ｇは重力加速度を、μは転がり抵抗係数をそれぞれ示している。定数Ｂは、「０．５」、空気密度ρ、車両１０の前面投影面積Ａｆ、及び空気抵抗係数Ｃｄを乗算した定数である。車輪径ｒｗ、定数Ｂ、転がり抵抗係数μは、車両１０に固有の値として求められる。
【数１】
2018091755.tif 000003
【００３９】
上記の数式（１）を変形すると、車両１０の重量ｍｘは、下記の数式（２）に表される。
【数２】
2018091755.tif 000004
【００４０】
上記の数式（２）は、第一パラメータΦｘを入力値、第二パラメータΦｙを出力値、推定値ｍｘを変数とした伝達関数として見做せる。そこで、その伝達関数（Φｙ（ｋ）＝Φｘ（ｋ）・ｍｘ（ｋ））を、ＲＬＳアルゴリズムに従って自己適応させて、推定値ｍｘ（ｋ）を推定する。推定値ｍｘ（ｋ）は以下の数式（３）〜（５）で表される。以下の数式で、ｍｘ（ｋ−１）はサンプリング周期ｔｓにおける一つ前に推定した推定値である前回値を、Ｋ（ｋ）はＲＬＳアルゴリズムで計算されるゲインを、Ｐ（ｋ）は共分散行列を、Ｉは単位行列を、「Ｔ」は転置行列をそれぞれ示している。
【数３】
2018091755.tif 000005
【数４】
2018091755.tif 000006
【数５】
2018091755.tif 000007
【００４１】
共分散行列Ｐ（ｋ）の初期値Ｐ（０）を定めれば、第一パラメータΦｘにより、上記の数式（５）に基づいて共分散行列Ｐ（ｋ）を、及び数式（４）に基づいてＲＬＳアルゴリズムで計算されるゲインＫ（ｋ）をそれぞれ算出できる。つまり、新しく第一パラメータΦｘ及び第二パラメータΦｙが得られる度に、共分散行列Ｐ（ｋ）とゲインＫ（ｋ）を新たに更新する。そして、それらと数式（３）に基づいて、直前に推定した前回値ｍｘ（ｋ−１）を修正していく方式で推定値ｍｘ（ｋ）を算出できる。
【００４２】
初期値Ｐ（０）は、定数αと単位行列Ｉとの積で表される。定数αとしては，通常１０００程度の値が用いられるが、ノイズが大きい場合には定数αを小さく設定するとよく、この定数αはノイズの大きさにより決定される。初期値ｍ（0）としては、例えば、運転者や荷を除いた空車時の車両重量、最大積載時の車両総重量、あるいは推定値ｍｘ（ｋ）の平均値を用いるとよい。
【００４３】
共分散行列Ｐ（ｋ）が大きくなると、推定値ｍｘ（ｋ）は真値から遠ざかり、共分散行列Ｐ（ｋ）が小さく収束すると、推定値ｍｘ（ｋ）は真値に近づく。
【００４４】
このように、上記の数式（２）を伝達関数として見做して、推定値ｍｘ（ｋ）を適応アルゴリズムにより推定することで、推定値ｍｘ（ｋ）を逐次、平滑化処理できる。これにより、真値への収束の高速化と、雑音、外乱、あるいは各センサの検出値の統計的性質の変化などに対するロバスト性の向上には有利になり、推定誤差を低減できる。これに伴い、車両１０の重量を高精度に推定できる。
【００４５】
この実施形態では、適応アルゴリズムのうちのＲＬＳアルゴリズムを用いることで、上記の数式（３）〜数式（５）により推定値ｍｘ（ｋ）を求めることができる。これにより、オンライン推定には有利になり、リアルタイムで推定値ｍｘ（ｋ）を算出できる。また、各センサで取得した検出値に対してローパスフィルタによりノイズを除去する方式と比して、車両１０の重量の推定の応答性の確保には有利になる。
【００４６】
加えて、サンプリング周期ｔｓごとに前回値ｍｘ（ｋ−１）、共分散行列Ｐ（ｋ−１）、ゲインＫ（ｋ−１）を更新するだけでよく、制御装置２０の内部記憶装置に記憶させる数値を最小限にできる。それ故、制御装置２０の内部記憶装置に車両１０の不確定な走行期間に対して無限の記憶領域を確保しなければならないオフライン推定（バッチ処理推定）による方式に比して、推定に要する記憶容量の削減には有利になる。なお、ここでいうオフライン推定とは、一括処理最小二乗法や、全ての推定値ｍｘ（０）〜ｍｘ（ｋ）の平均値を算出する方法などが例示できる。
【００４７】
さらに、ＲＬＳアルゴリズムを用いることで、サンプリング周期ｔｓごとに推定値ｍｘ（ｋ）を算出できる。これにより車両１０の状態（例えば、ギア比ｉｘや駆動トルクＴｗ）が変化したときや所定の距離を走行したときに推定する方式に比して、リアルタイムでの推定には有利になる。
【００４８】
次に、本発明の車両重量推定方法について、図５のフロー図を参照しながら、車両重量演算部３１の各機能として説明する。以下の車両重量推定方法は、車両１０の制御装置２０が通電すると開始されて、サンプリング周期ｔｓごとに繰り返し行われてリアルタイムに車両１０の重量を推定する。つまり、スタートからリターンまでを一つのサンプリング周期ｔｓで処理する。そして、制御装置２０が停電すると終了する。
【００４９】
スタートすると、車両重量演算部３１は、パラメータ取得部３２の機能により、車両１
０の走行中に変化するパラメータを取得する（Ｓ１１０）。パラメータは、第一パラメータΦｘ、第二パラメータΦｙ、及び駆動トルクＴｗである。
【００５０】
具体的に、パラメータ取得部３２は、制御部２８及び各センサにより検出した検出値からそれらのパラメータを取得する。まず、制御部２８により燃料噴射量Ｑｘを、ポジションセンサ２４によりトランスミッション１６のギア比ｉｘを、回転速度センサ２５によりエンジン回転速度Ｎｘを、車速センサ２６により車速ｖｘを、加速度センサ２７により加速度Ｇｘをそれぞれ取得する。
【００５１】
次いで、第一パラメータ算出ブロック３２ａは、各ブロックにより下記の数式（６）に示す第一パラメータΦｘを算出する。
【数６】
2018091755.tif 000008
【００５２】
加速度Ｇｘは、上述したとおり車両１０の前後方向での速度変化に伴う加速度成分と車両１０の姿勢変化に伴う重力加速度成分とを合成した路面に平行な加速度成分である。つまり、加速度Ｇｘは、微分値ｖｘ’と重力加速度成分ｇ・ｓｉｎβとを加算した値になる。したがって、数式（６）は、上記の数式（２）の分子と同義である。
【００５３】
第一パラメータΦｘの変数としては、上記の数式（２）に示すように、加速度Ｇｘの代わりに、車速ｖｘの微分値ｖｘ’と、車両１０の走行している路面勾配に基づいた重力加速度成分ｇ・ｓｉｎβとを用いてもよい。この場合は、加速度センサ２７の代わりに、車速センサ２６と車両１０が走行している路面勾配を取得する勾配センサや路面勾配を演算する機能要素を用いるとよい。
【００５４】
次いで、エンジントルク算出ブロック３２ｃは、燃料噴射量Ｑｘとエンジン回転速度Ｎｘとに基づいて、エンジン１４から出力される実際のエンジントルクＴｅを算出する。
【００５５】
図６に例示するように、エンジン１４から出力されるエンジントルクＴｅは、エンジン回転速度Ｎｘ及び燃料噴射量Ｑｘのそれぞれに対して正の関係にあり、エンジン回転速度Ｎｘが速く且つ燃料噴射量Ｑｘが大きいほど、大きくなる。このマップデータは予め実験や試験により求めておき、データブロックであるエンジントルク算出ブロック３２ｃに記憶させておく。
【００５６】
この実施形態では、エンジン回転速度Ｎｘ及び燃料噴射量Ｑｘの関係からエンジントルクＴｅを算出したが、燃料噴射量Ｑｘの代わりにアクセル開度センサ２２が取得したアクセル開度Ａｘを用いてもよいし、他の取得方法でもよい。
【００５７】
次いで、第二パラメータ算出ブロック３２ｂは、下記の数式（７）を用いて、駆動輪１９に伝達される駆動トルクＴｗを算出する。数式（７）において、ｉｆはディファレンシャルギア１８のギア比を、ηはギア比で異なる伝達効率をそれぞれ示している。駆動トルクＴｗはトルクセンサを用いて得てもよいし、他の方法で得てもよい。
【数７】
2018091755.tif 000009
【００５８】
次いで、第二パラメータ算出ブロック３２ｂは、ルックアップテーブルブロック３２ｄにより回転部分相当質量Δｍｘを算出する。
【００５９】
回転部分相当質量Δｍｘは、変数であるギア比ｉxに応じて決まる値である。ルックアップテーブルブロック３２ｄは、ギア比ｉｘごとの複数の回転部分相当質量Δｍｘが設定されており、ギア比ｉｘに応じたものを選択する。回転部分相当質量Δｍｘは、空車時の車両重量、ギア比ｉｘ、及び所定の係数との関係から算出してもよい。
【００６０】
次いで、第二パラメータ算出ブロック３２ｂは、各ブロックにより下記の数式（８）に示す第二パラメータΦｙを算出する。
【数８】
2018091755.tif 000010
【００６１】
この実施形態では、第二パラメータΦｙを上記の数式（８）で示したが、エンジン１４、クラッチ１５、トランスミッション１６、ディファレンシャルギア１８などに働く摩擦トルクＴｆを考慮してもよい。この場合は、駆動トルクＴｗから摩擦トルクＴｆを減算した値を駆動輪１９の車輪径ｒｗで除算するとよい。摩擦トルクＴｆを考慮すると、推定精度の向上には有利になる。
【００６２】
以上のように各パラメータを取得すると、車両重量演算部３１は、維持部３４の変化率取得ブロック３４ｄの機能により、変化率ΔＴｗを算出する（Ｓ１２０）。具体的に、変化率取得ブロック３４ｄでは、パラメータ取得部３２から出力された駆動トルクＴｗ（ｋ）と、サンプリング周期ｔｓが一つ分遅延した前回駆動トルクＴｗ（ｋ−１）との差分を変化率ΔＴｗとしてチェックブロック３４ａに出力する。なお、変化率ΔＴｗは、絶対値にしてもよく、絶対値にすると、変化率ΔＴｗが正になる場合と、負になる場合との両方に対応できる。また、Ｎつ分以上遅延した前回駆動トルクＴｗ（ｋ−Ｎ）との差分を変化率ΔＴｗとしてチェックブロック３４ａに出力してもよい。
【００６３】
次いで、車両重量演算部３１は、維持部３４のチェックブロック３４ａの機能により、変化率ΔＴｗが閾値ΔＴａ以下に収まっているか否かを判定する（Ｓ１３０）。
【００６４】
閾値ΔＴａは、プロペラシャフト１７に捻じれによる振動が発生したことを特定できる値に設定されている。プロペラシャフト１７の回転方向を正とし、その回転方向の逆方向を負とすると、閾値ΔＴａは正の値に設定されている。
【００６５】
なお、この実施形態では、変化率ΔＴｗが正になる場合と、変化率ΔＴｗが負になる場合とで、閾値を異ならせてもよい。変化率ΔＴｗが負になる場合の閾値は実験等により予め求めてもよいし、制動時に関して、ブレーキトルクが取得可能な場合は、そのブレーキトルクに基づいて設定してもよい。
【００６６】
このステップで変化率ΔＴｗが閾値ΔＴａ以下に収まっていると判定すると、車両重量演算部３１は、維持部３４のスイッチブロック３４ｃの機能により、タイマブロック３４ｆのタイマがオフになっているか否かを判定する（Ｓ１４０）。具体的に、スイッチブロック３４ｃでは、タイマブロック３４ｆからの二値信号が入力されず、スイッチがチェッ
クブロック３４ａの二値信号の出力に切り替わる。
【００６７】
このステップで、タイマがオフになっていると判定すると、車両重量演算部３１は、維持部３４のアサーションブロック３４ｂの機能により、第一パラメータΦｘ及び第二パラメータΦｙを推定部３３に入力する。具体的に、アサーションブロック３４ｂでは、変化率ΔＴｗが閾値ΔＴａ以下に収まっている場合に、チェックブロック３４ａから出力された二値信号である「１」がスイッチブロック３４ｃを経由して入力されて、第一パラメータΦｘ及び第二パラメータΦｙを推定部３３に出力する。
【００６８】
次いで、車両重量演算部３１は、推定部３３の上述した推定方法により、推定値ｍｘ（ｋ）を推定する（Ｓ１５０）。次いで、車両重量演算部３１は、入力された推定値ｍｘ（ｋ）を出力値ｍｘとして出力する（Ｓ１６０）。次いで、スタートへ戻る。
【００６９】
一方、上記のステップで変化率ΔＴｗが閾値ΔＴａを超えたと判定すると、車両重量演算部３１は、トリガブロック３４ｅの機能により、タイマブロック３４ｆのタイマをオンにする（Ｓ１７０）。このステップでタイマブロック３４ｆのタイマがオンになると、スイッチブロック３４ｃに、二値信号として「０」を入力して、スイッチが二値信号である「０」の出力に切り替わる。
【００７０】
次いで、車両重量演算部３１は、維持部３４のアサーションブロック３４ｂの機能により、第一パラメータΦｘ及び第二パラメータΦｙの出力を禁止する。具体的に、アサーションブロック３４ｂでは、変化率ΔＴｗが閾値ΔＴａを超えてタイマがオンになった場合に、スイッチブロック３４ｃから出力された二値信号である「０」が入力されて、第一パラメータΦｘ及び第二パラメータΦｙの出力を禁止する。
【００７１】
つまり、車両重量演算部３１は、維持部３４の機能により、推定部３３に第一パラメータΦｘ及び第二パラメータΦｙの入力が禁止されるので、サンプリング周期ｔｓを一つだけ遅延させておいた発生前推定値として前回値ｍｘ（ｋ−１）を出力値ｍｘとして出力する（Ｓ１８０）。
【００７２】
次いで、車両重量演算部３１は、維持部３４のタイマブロック３４ｆの機能により、タイマがオンになってからの経過時間ｔ（ｋ）にサンプリング周期ｔｓを加算（カウント）する（Ｓ１９０）。次いで、車両重量演算部３１は、維持部３４のタイマブロック３４ｆの機能により、経過時間ｔ（ｋ）が予め設定した時間ｔａ以上になったか否かを判定する（Ｓ２００）。
【００７３】
時間ｔａはプロペラシャフト１７に捻じれによる振動が発生してから、その捻じれが解消されて振動が停止するまでを判定可能な値に設定されている。時間ｔａは、車両１０の固有値であり、プロペラシャフト１７の軸方向の長さなどにより異なる。時間ｔａは、予め実験や試験により求めておくとよい。
【００７４】
このステップで、経過時間ｔ（ｋ）が時間ｔａ未満と判定すると、スタートへ戻る。一方、経過時間ｔ（ｋ）が時間ｔａ以上になったと判定すると、車両重量演算部３１は、タイマブロック３４ｆの機能により、タイマをオフする（Ｓ２１０）。そして、スタートへ戻る。
【００７５】
上記の推定方法によると、プロペラシャフト１７に捻じれによる振動が生じている間は、車両１０の重量としてその振動が生じる前に取得したパラメータに基づいて推定した発生前推定値として前回値ｍｘ（ｋ−１）を維持する。
【００７６】
図７に例示するように、時刻ｔ（０）までは、サンプリング周期ｔｓごとに推定値ｍｘ（ｋ）を車両１０の重量として出力する。時刻ｔ（０）で、変化率ΔＴｗが閾値ΔＴａを超えると、タイマが作動する。このときに、プロペラシャフト１７に捻じれによる振動が生じて、プロペラシャフト１７の回転速度は変動する（回転角速度の正負が繰り返し切り替わる）。次いで、時刻ｔ（０）でタイマがオンになってから時間ｔａ以上が経過すると、タイマがオフになる。この時刻ｔ（０）から時刻ｔ（ｎ）までの間は、維持部３４により発生前推定値である前回値ｍｘ（ｋ−１）を保持して、車両１０の重量として出力する。時刻ｔ（ａ）以降は、サンプリング周期ｔｓごとに推定値ｍｘ（ｋ）を車両１０の重量として出力する。
【００７７】
このように、駆動トルクＴｗの変化率ΔＴｗが閾値ΔＴａを超えてから、時間ｔａが経過するまでの間は、プロペラシャフト１７に捻じれによる振動が生じている間と見做して、その振動が生じる前に推定した発生前推定値として前回値ｍｘ（ｋ−１）を車両１０の重量として出力する。それ故、振動による誤差が少なくなるまでは、前回値ｍｘ（ｋ−１）を出力することで、車両１０の重量として一定値を保持できる。これにより、プロペラシャフト１７に捻じれによる振動が生じた場合の推定誤差の低減には有利になり、車両１０の重量を高精度に推定することができる。
【００７８】
また、変化率ΔＴｗと閾値ΔＴａとを比較する方式にすることで、車両重量演算部３１の計算負荷を低く抑えることができる。さらに、車両１０の種類や走行状態により様々に変化するパラメータにローパスフィルタなどのノイズ除去処理を施す方式に比して、応答性の確保にも有利になる。
【００７９】
特に、この実施形態では、維持部３４のチェックブロック３４ａ及びアサーションブロック３４ｂが、推定値ｍｘ（ｋ）の推定演算処理に対するアサーションチェックとして機能する。つまり、変化率ΔＴｗが閾値ΔＴａを超えた場合は、第一パラメータΦｘ及び第二パラメータΦｙをネゲートと見做して推定部３３に入力しない。一方、変化率ΔＴｗが閾値ΔＴａ以下に収まった場合は、第一パラメータΦｘ及び第二パラメータΦｙをアサートと見做して推定部３３に入力する。その結果として、各パラメータが有効な場合は、推定部３３で推定値ｍｘ（ｋ）を推定し、各パラメータが無効な場合は、推定部３３での推定を禁止できる。
【００８０】
このように、第一パラメータΦｘ及び第二パラメータΦｙと前回値ｍｘ（ｋ−１）とに基づいてＲＬＳアルゴリズムを用いて平滑化処理する際に、アサーションチェックを行うことで、推定値ｍｘ（ｋ）を平滑化処理する際の推定誤差の低減には有利になり、車両１０の重量を高精度に推定することができる。また、推定値ｍｘ（ｋ）を平滑化処理する際の真値ｍへの収束速度の高速化にも有利になり、推定値ｍｘ（ｋ）を速やかに真値ｍに収束することができる。
【００８１】
この実施形態では、駆動トルクＴｗの変化率ΔＴｗと閾値ΔＴａとを比較するので、プロペラシャフト１７に実際に捻じれによる振動が生じて推定誤差が大きくなる前に、推定部３３の推定を禁止できる。これにより、前回値ｍｘ（ｋ−１）の推定誤差の低減には有利になり、車両１０の重量を高精度に推定することができる。
【００８２】
このように、この実施形態では、振動によるプロペラシャフト１７の回転変動に関する数値として変化率ΔＴｗを用いたが、プロペラシャフトに捻じれによる振動が生じているか否かを判定できる数値であればよい。例えば、変化率ΔＴｗの代わりに、駆動トルクＴｗを時間微分した微分値を用いてもよい。また、プロペラシャフト１７の回転変動を直接取得可能なトルクセンサを用いてそのトルクセンサの検出値を用いてもよい。但し、駆動トルクＴｗ（ｋ）と前回駆動トルクＴｗ（ｋ−１）との差分を変化率ΔＴｗとして算出す
ることで、微分値を用いる場合と比して計算負荷を低減できる。また、トルクセンサを用いる場合と比して推定に掛かるコストを低減できる。
【００８３】
この実施形態では、変化率ΔＴｗが閾値ΔＴａを超えてからタイマがオンになり、時間ｔａが経過してタイマがオフになるまでは、プロペラシャフト１７に捻じれによる振動が生じていると見做している。これにより、振動の終了を複雑な計算を用いずに判定できるので、計算負荷の低減には有利になる。なお、上述したとおり、トルクセンサを用いる場合は、そのトルクセンサにより直接的に振動の開始と終了とを判定可能になる。
【００８４】
変化率ΔＴｗが大きい程、プロペラシャフト１７の捻じれは大きくなり、振動が解消するまでに要する時間が長期化する。振動が解消するまでに要する時間は、変化率ΔＴｗに対して正の関係にあり、変化率ΔＴｗの値が大きいほど、大きくなる。そこで、時間ｔａを変化率ΔＴｗに基づいて可変させてもよい。
【００８５】
この実施形態では、閾値ΔＴａをプロペラシャフト１７に捻じれによる振動が発生したことを特定できる値に設定した。捻じれによる振動は、車両１０の発進時や急加速時に発生する頻度が高い。そこで、閾値ΔＴａを車両１０の運転状態に応じて可変させてもよい。
【００８６】
この実施形態では、車両１０がトラックなどの大型車両を例に説明したが、本発明の車両重量推定装置３０は、バス、普通車両、牽引車（トラクタ）にも適用でき、車両１０の種類には限定されない。つまり、車両１０の動力源としては、エンジン１４の他に、モータジェネレータを例示できる。
【００８７】
この実施形態では、推定部３３が推定値ｍｘ（ｋ）を推定するための条件を定めていないが、以下のような条件が成立したときに、推定値ｍｘ（ｋ）を推定するとよい。条件としては、ブレーキが作動していない状態で、クラッチ１５が完接した場合に、車速ｖｘの微分値ｖｘ’が予め設定した閾値以上、且つ駆動トルクＴｗが閾値以上になったときが例示できる。変化率ΔＴｗ以外に、このような条件が成立した時にのみにＲＬＳアルゴリズムにより推定値ｍｘ（ｋ）を推定するようにすることで、推定精度を向上することができる。
【００８８】
この実施形態では、推定値ｍｘ（ｋ）の推定演算としてＲＬＳアルゴリズムを用いた例を説明したが、推定部３３としては、車両１０の重量を推定できればよく、推定演算はこれに限定されない。例えば、ＲＬＳアルゴリズムの代わりに、適応アルゴリズムとしてＬＭＳアルゴリズムやＮＬＭＳアルゴリズムなどを用いてもよい。また、適応アルゴリズムを用いずに、第二パラメータΦｙを第一パラメータΦｘで除算した値を推定値ｍｘ（ｋ）として出力してもよい。また、推定した全ての推定値ｍｘ（０）〜推定値ｍｘ（ｋ）の平均値を出力してもよい。また、車両の走行中に変化するパラメータとして変速の前後のトランスミッションに入力されるトルクとそのトランスミッションから出力される回転数の変化量とに基づいて、車両の重量を推定するものを用いてもよい。また、車両１０がエアサスペンションを搭載している場合は、車両１０の上下方向の変化に基づく方式を用いてもよい。また、積載量の変化に伴うボディ１３の重量をロードセルなどの重量センサで取得した値に空車時の車両重量を加算した値を仮推定値Ｍｘとしてもよい。いずれの場合でも、この実施形態と同様に、プロペラシャフト１７に捻じれによる振動が生じている間は、推定誤差が大きいと見做して、推定を禁止することが望ましい。
【００８９】
また、既述した実施形態では、車両重量推定装置３０が、車両重量演算部３１と各センサなどから構成された例を説明したが、本発明はこれに限定されない。例えば、車両重量推定装置３０がパラメータ取得手段及び推定手段として機能する一つのセンサと、維持手
段として機能するハードウェアとから構成されていてもよい。
【００９０】
維持部３４は、推定部３３における推定を禁止する他に、推定部３３により推定した推定値ｍｘ（ｋ）の出力を禁止するように構成してもよい。例えば、タイマブロック３４ｆからの二値信号が「１」の場合は、推定値ｍｘ（ｋ）を出力する一方で、二値信号が「０」の場合は、前回値ｍｘ（ｋ−１）を出力するように構成してもよい。但し、このように構成すると、上述した実施形態と比して推定部３３における推定が禁止されない。
【符号の説明】
【００９１】
１０  車両
２４  ポジションセンサ
２５  回転速度センサ
２６  車速センサ
２７  加速度センサ
２８  制御部
３０  車両重量推定装置
３１  車両重量演算部
３２  パラメータ取得部
３３  推定部
３４  維持部
Φｘ  第一パラメータ
Φｙ  第二パラメータ
ｍｘ（ｋ）  推定値
ｍｘ（ｋ−１）  前回値（発生前推定値）
【図１】
2018091755.tif 000011
【図２】
2018091755.tif 000012
【図３】
2018091755.tif 000013
【図４】
2018091755.tif 000014
【図５】
2018091755.tif 000015
【図６】
2018091755.tif 000016
【図７】
2018091755.tif 000017