(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-17
(45)【発行日】2025-02-26
(54)【発明の名称】車両の重量推定装置
(51)【国際特許分類】
B60W 40/13 20120101AFI20250218BHJP
G01G 19/03 20060101ALI20250218BHJP
【FI】
B60W40/13
G01G19/03
(21)【出願番号】P 2021127490
(22)【出願日】2021-08-03
【審査請求日】2024-01-25
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110000213
【氏名又は名称】弁理士法人プロスペック特許事務所
(72)【発明者】
【氏名】加藤 佑一
【審査官】稲本 遥
(56)【参考文献】
【文献】特開2018-091754(JP,A)
【文献】特開2016-217851(JP,A)
【文献】特開2019-190852(JP,A)
【文献】特開2021-056110(JP,A)
【文献】特開平10-253430(JP,A)
【文献】韓国公開特許第2018-0127822(KR,A)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 10/00-10/30
30/00-60/00
G01G 1/00-99/00
(57)【特許請求の範囲】
【請求項1】
牽引車両と前記牽引車両に牽引される被牽引車両とを有する車両の重量推定装置であって、
所定の期間における前記車両の
駆動力および
加速度に基づいて前記車両の重量を推定し、
推定した前記車両の前記重量の推定の精度が登録されている前記車両の前記重量の推定の精度よりも高いことを示す特定条件が成立しているか否かを、前記駆動力の変動と前記加速度の変動と前記車両が走行している路面の勾配の変動との少なくとも1つに基づいて判定し、前記特定条件が成立している場合、登録されている前記車両の前記重量を、前記所定の期間における前記駆動力および前記加速度に基づいて推定した前記車両の前記重量に変更するように構成されている、
車両の重量推定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両の重量推定装置に関する。
【背景技術】
【0002】
従来、車両の駆動力と加速度に基づいて車両の重量を推定する車両の重量推定装置が知られている。しかしながら、車両の駆動力と加速度に基づいて車両の重量を推定する構成では、車両の重量を推定する際に駆動力および加速度の変動が大きいと、これらの変動に起因して車両の重量の推定の精度が低下するおそれがある。
【0003】
特許文献1に開示されている車両の重量推定装置は、車両が他車両をけん引しているか否かを判定し、他車両をけん引していると判定された場合、その判定から所定の時間が経過するまでは車両の重量の推定を実行しないように構成されている。さらに、この車両の重量推定装置は、車両の駆動力が基準駆動力以上であり、かつ、車両の加速度が基準加速度以上である場合、車両の重量を推定するように構成されている。特許文献1の車両の重量推定装置によれば、車両の発進直後に他車両との締結箇所にガタツキが発生した場合であっても、そのガタツキによる加速度の変動の影響を受けることなく、車両の重量を推定できる。また、特許文献1の車両の重量推定装置によれば、車両の駆動力が基準駆動力以上であり、かつ、車両の加速度が基準加速度以上である場合に、車両の重量を推定することで、車両の重量を適切に推定できる。
【0004】
しかしながら、特許文献1に記載の車両の重量推定装置によれば、車両の重量の推定が車両の発進直後のガタツキの影響を受けることは防止できるが、車両の走行中(すなわち、車両が発進してから所定の時間が経過した後)に車両の加速度が変動した場合には、車両の重量の推定の精度が低下するおそれがある。また、車両の駆動力が基準駆動力以上であり、かつ、車両の加速度が基準加速度以上である場合であっても、車両の駆動力と車両の加速度の変動が大きい場合には、これらの変動によって車両の重量の推定の精度が低下するおそれがある。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【0006】
本発明は、上述した課題に対応するためになされた。すなわち、本発明の目的の一つは、車両の重量の推定の精度を従来よりも高めることができる車両の重量推定装置を提供することである。
【0007】
上記課題を解決するため、本発明に係る車両の重量推定装置(100)は、
牽引車両(11)と前記牽引車両(11)に牽引される被牽引車両(12)とを有する車両(10)の重量推定装置(100)であって、
所定の期間における前記車両(10)の駆動力および加速度に基づいて前記車両(10)の重量を推定し、
推定した前記車両(10)の前記重量の推定の精度が登録されている前記車両(10)の前記重量の推定の精度よりも高いことを示す特定条件が成立しているか否かを、前記駆動力の変動と前記加速度の変動と前記車両が走行している路面の勾配の変動との少なくとも1つに基づいて判定し、前記特定条件が成立している場合、登録されている前記車両(10)の前記重量を、前記所定の期間における前記駆動力および前記加速度に基づいて推定した前記車両(10)の前記重量に変更するように構成されている。
【0008】
本発明によれば、推定した車両の重量が登録されている車両の重量よりも高い精度である場合(推定の精度が高い場合)、登録されている車両の重量を推定した重量に更新(置換)する。このため、現実に近い車両の重量を登録できる。
【0009】
上記説明においては、本発明の理解を助けるために、後述する実施形態に対応する発明の構成に対し、その実施形態で用いた名称及び/又は符号を括弧書きで添えている。しかしながら、本発明の各構成要素は、前記名称及び/又は符号によって規定される実施形態に限定されない。
【図面の簡単な説明】
【0010】
【
図2】
図2は、車両重量更新ルーチンを示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態に係る車両の重量推定装置について説明する。以下の説明では、車両の重量推定装置を「推定装置」と略して記すことがある。
【0012】
(推定装置の構成)
図1は、車両10の構成を示す図である。推定装置100は車両10に搭載されている。車両10は、牽引車両11と、牽引車両11に牽引される被牽引車両12とを有する。そして、本実施形態に係る推定装置100は、車両10の重量を推定する。なお、推定装置100が推定する車両10の重量は、牽引車両11の重量と被牽引車両12の重量の合計の重量である。
【0013】
図1に示すように推定装置100は、運転支援ECU101と、エンジンECU102と、ブレーキECU103と、ACCスイッチ104と、車速センサ105と、加速度センサ106と、エンジンアクチュエータ107と、アクセルセンサ108と、トランスミッション109と、ブレーキアクチュエータ110と、ブレーキセンサ111とを有している。運転支援ECU101、エンジンECU102およびブレーキECU103のそれぞれは、CPU、ROM、RAM、読み書き可能な不揮発性メモリおよびインターフェース等を含むコンピュータを有している。CPUは、所定のプログラム(ルーチン)を逐次実行することによって、データの読み込み、数値演算、および演算結果の出力等を行う。ROMには、CPUが実行するプログラムおよびルックアップテーブル(マップ)等があらかじめ格納されている。RAMは、データを一時的に記憶することができる。これらのECUは、CAN(Controller Area Network)を介して互いにデータ通信可能(データ交換可能)である。
【0014】
運転支援ECU101は、運転者に対する運転支援を行う中枢となる制御装置であり、後述する追従車間距離制御を実行可能に構成されている。運転支援ECU101には、ACCスイッチ104が接続されている。ACCスイッチ104は、運転者が後述するACCを開始させるためおよび終了させるに操作可能な操作機器である。運転支援ECU101は、ACCスイッチ104がON操作されたことを検出するとACCを開始し、ACCスイッチ104がOFF操作されたことを検出するとACCを終了する。さらに運転支援ECU101には、車速センサ105および加速度センサ106と接続されている。運転支援ECU101は、車速センサ105による車速の検出結果および加速度センサ106による加速度の検出結果を取得できる。さらに、運転支援ECU101は、エンジンECU102に対して駆動輪に伝達される駆動力(以下、「車両駆動力」と記す)の増減を指示する駆動力変更指令を送信できるとともに、ブレーキECU103に対して、車両10の制動力(以下、「車両制動力」と記す)の増減を指示する制動指令を送信できる。
【0015】
エンジンECU102には、エンジンアクチュエータ107、アクセルセンサ108、およびトランスミッション109が接続されている。エンジンアクチュエータ107は、エンジンのスロットル弁の開度を変更するスロットル弁アクチュエータを含む。アクセルセンサ108は、図略のアクセルペダルの操作量を取得できるように構成されている。エンジンECU102は、アクセルペダルの操作量に応じてエンジンアクチュエータ107を駆動することによって、車両10の駆動力源であるエンジンが発生する駆動力(トルク)を変更できる。エンジンが発生する駆動力は、トランスミッション109を介して駆動輪に伝達される。エンジンECU102は、取得したアクセルペダルの操作量に応じて変化する駆動力が車両10の駆動輪に伝達されるように、エンジンアクチュエータ107およびトランスミッション109を制御する。このように、エンジンECU102は、エンジンアクチュエータ107およびトランスミッション109を制御することによって、車両駆動力を制御できる。なお、車両10がハイブリッド車両である場合、エンジンECU102は、車両10の駆動力源としての「エンジンおよび電動機」の何れか一方または両方によって発生する車両駆動力を制御できる。更に、車両10が電気自動車である場合、エンジンECU102は、駆動力源としての電動機によって発生する車両駆動力を制御できる。
【0016】
更に、エンジンECU102は、運転支援ECU101からの駆動力変更指令を受信した場合、その駆動力変更指令の内容に応じて自動的にエンジンアクチュエータ107およびトランスミッション109を制御することにより、車両駆動力を増減させることができる。すなわち、エンジンECU102は、駆動力変更指令に応じてエンジンアクチュエータ107およびトランスミッション109を制御することにより、運転者によるアクセルペダルの操作を必要とせずに車両駆動力を変更する(換言すると、車両10を加速または減速させる)ことができる。
【0017】
ブレーキECU103は、ブレーキアクチュエータ110およびブレーキセンサ111に接続されている。ブレーキセンサ111は、図略のブレーキペダルの操作量を取得するように構成されている。ブレーキアクチュエータ110は、車輪のそれぞれに設けられた摩擦ブレーキ機構の作動油の油圧(マスタシリンダの圧力)を調整して、その油圧に応じた摩擦制動力を車輪のそれぞれに付与する。ブレーキECU103は、ブレーキセンサ111によって検出されたブレーキペダルの操作量に基づいて運転者要求減速度を決定し、車両10が運転者要求減速度にて減速するようにブレーキアクチュエータ110を制御する。運転支援ECU101は、ブレーキECU103を介してブレーキセンサ111によるブレーキペダルの操作量(換言すると、摩擦ブレーキ機構による車両制動力の大きさを表す情報)を取得できる。なお、車両10は、ブレーキセンサ111に代えて、またはブレーキセンサ111に加えて、摩擦ブレーキ機構の作動油の油圧(マスタシリンダの圧力)を検出する圧力センサを有していてもよい。この場合、運転支援ECU101は、摩擦ブレーキ機構による車両制動力の大きさを表す情報として、ブレーキECU103を介して圧力センサによる作動油の油圧の検出結果を取得できる。
【0018】
更に、ブレーキECU103は、運転支援ECU101から制動指令を受信した場合、その制動指令に含まれる要求減速度にて車両10が減速するようにブレーキアクチュエータ110の作動を制御する。すなわち、ブレーキECU103はブレーキ指令に応じてブレーキアクチュエータ110を駆動することにより、車両制動力を制御して車両10の速度を低下させることができる。このように、ブレーキECU103は、運転支援ECU101から制動指令を受信した場合、運転者によるブレーキペダルの操作を必要とせずに、車両制動力を制御できる。
【0019】
車速センサ105は、車速を所定の周期で繰り返し検出し、車速を表す信号を運転支援ECU101へ逐次送信するように構成されている。加速度センサ106は、車両10の加速度を所定の周期で繰り返し検出し、加速度を表す信号を運転支援ECU101へ逐次送信するように構成されている。
【0020】
(追従車間距離制御の概要)
運転支援ECU101は、追従車間距離制御を実行可能に構成されている。追従車間距離制御は、「アダプティブ・クルーズ・コントロール(Adaptive Cruise Control)」と称呼される場合がある。本実施形態では、追従車間距離制御を「ACC」と略して記すことがある。ACCには、定速走行モードの制御と追従走行モードの制御との2種類の制御が含まれる。定速走行モードは、運転者によるアクセルペダルおよびブレーキペダルの操作を要することなく、車両10の走行速度が目標速度(設定速度)と一致するように車両10の加速度を制御するモードである。追従走行モードは、車両10の直前を走行している先行車両と車両10との車間距離を目標車間距離に維持しながら先行車両に対して車両10を追従走行させる制御である。なお、ACCは周知である。ACCについては、例えば、特開2014-148293号公報、特開2006-315491号公報、特許第4172434号明細書、及び、特許第4929777号明細書等を参照。ACCを実行するためのコンピュータプログラムは、あらかじめ運転支援ECU101のROMに格納されている。そして、運転支援ECU101のCPUは、ROMに格納されているこのコンピュータプログラムを読み出し、RAMに展開して実行する。これにより、ACCが実現する。
【0021】
運転支援ECU101は、ACCスイッチ104がON操作されたことを検出すると、ACCを開始する。具体的には、運転支援ECU101は、ACCスイッチ104がON操作されたことを検出すると、車両10の前方を走行しかつ車両10が追従すべき先行車両が存在するか否かを判定する。そして、運転支援ECU101は、前記のような先行車両が存在しないと判定した場合には定速走行モードの制御を実行し、前記のような先行車両が存在すると判定した場合には追従走行モードの制御を実行する。運転支援ECU101は、定速走行モードの制御の実行中においては、車両10の車速が所定の目標速度に一致するように、目標加速度を決定する。一方、運転支援ECU101は、追従走行モードの制御の実行中においては、車両10が先行車両に対して所定の車間距離を維持しつつ追従して走行するように、「追従対象車両までの車間距離と目標車間距離の偏差」および「追従対象車両の車両10に対する相対速度」等に基づいて目標加速度を決定する。そして、運転支援ECU101は、車両10の実際の加速度が目標加速度と一致するように(または、車両10の実際の加速度と目標加速度との差が小さくなるように)、車両駆動力および車両制動力を制御する。
【0022】
(車両の重量の推定方法)
車両10の加速度は車両10の重量に反比例することから、車両10の現実の加速度と目標加速度とを一致させるためには、または、車両10の現実の加速度と目標加速度との差を小さくするためには、車両10の重量が既知でなければならない。このため、運転支援ECU101は、車両10の重量を推定するとともに、推定した車両10の重量を登録する。そして、運転支援ECU101は、登録された車両10の重量を参照して、車両駆動力および車両制動力を制御する。
【0023】
本実施形態においては、運転支援ECU101は、車両10の重量を、出力されている車両駆動力Fdvおよび車両10の前後方向の加速度A(以下、「前後加速度A」と記す)に基づいて推定する。なお、車両駆動力Fdvおよび車両10の前後加速度Aに基づく車両10の重量の算出方法は公知である。本実施形態では、運転支援ECU101は、下記式(1)を用いて車両10の重量を算出する。
M=(Fdv-Fair-Frl)/(A+g・sinθ) (式(1))
M:車両10の重量
Fdv:出力されている車両駆動力
Fair:車両10に掛かる空気抵抗
Frl:車両10の走行時における路面抵抗
A:駆動力による車両10の前後加速度
g:重力
θ:路面勾配(路面の水平方向に対する角度)
【0024】
車両駆動力Fdvは、エンジンが出力している駆動力(駆動トルク)とシフト機構のシフトポジションによって決まる。このため、運転支援ECU101は、エンジンが出力している駆動力(駆動トルク)およびシフト機構の現在のシフトポジションをエンジンECU102から所定の周期で繰り返し取得し、取得したエンジンが出力している駆動力とシフト機構のシフトポジションから車両駆動力Fdvを逐次算出する。なお、本実施形態では、運転支援ECU101は、エンジンが出力している駆動力を表す信号としてアクセルセンサによるアクセルペダルの操作量の検出結果を取得し、アクセルペダルの操作量に基づいてエンジンが出力している駆動力を算出する。ただし、車両10がエンジンの駆動力を検出するセンサ(例えばトルクセンサ)を有していてもよい。この場合、運転支援ECU101は、車両駆動力Fdvの算出に、このセンサによるエンジンの駆動力の検出結果を使用する。
【0025】
車両10にかかる空気抵抗Fairは車速の二乗に比例する。このため、運転支援ECU101は、車速センサ105から取得した車速およびあらかじめ決められている係数により空気抵抗Fairを算出する。車両10の走行時における路面抵抗Frlはほぼ一定である。このため、運転支援ECU101は、路面抵抗Frlの値として、あらかじめ決められている値(あらかじめ登録されている値)を使用する。車両10の前後加速度Aは、加速度センサ106から取得される。なお、運転支援ECU101は、車両10の前後加速度Aを、アクセルペダルの操作量およびブレーキペダルの操作量(マスタシリンダの圧力)に基づいて推定してもよい。路面勾配θは、加速度センサ106から取得した車両10の加速度(前後方向および路面に垂直な方向の加速度)に基づいて推定される。ただし、車両10が勾配センサを有してもよい。この場合、車両10の重量Mの算出にはこの勾配センサによる路面勾配θの検出結果が用いられる。
【0026】
なお、本実施形態では、運転支援ECU101は、上記式(1)を用いた車両10の重量Mの算出を複数回にわたって繰り返し行う。換言すると、運転支援ECU101は、所定の期間内に複数回にわたって取得したパラメータを使用し、前記所定の期間内の複数の時点のそれぞれにおける車両10の重量Mを算出する。そして、運転支援ECU101は、それらの算出結果の平均値を「推定された車両10の重量」とする。換言すると、所定の期間内に繰り返して算出および取得した車両駆動力Fdvおよび車両10の前後加速度Aに基づいて車両10の重量を推定する。説明の便宜上、上記式(1)により算出される車両10の重量M(すなわち、各時点における車両10の重量)を「瞬間重量M」と記すことにより、「推定された車両10の重量」と区別する。
【0027】
(車両重量更新処理)
次に、車両重量更新処理について説明する。車両10の現実の加速度と目標加速度とを一致させるためには、現実の車両10の重量と推定した車両10の重量とが一致していること(または差が小さいこと)が要求される。そこで、運転支援ECU101は、「車両10の重量を推定し、推定した車両10の重量の精度が登録されている車両10の重量の精度よりも高いと判定された場合、登録されている車両10の重量を推定された車両10の重量に変更(換言すると更新)する」という処理を、ACCの実行中に繰り返し実行する。これが車両重量更新処理の概要である。このような車両重量更新処理を実行することにより、登録されている車両10の重量の精度を高くすること(換言すると、登録されている車両10の重量と現実の車両10の重量との差を小さくすること)ができる。
【0028】
車両重量更新処理には、次の(1)~(4)の処理が含まれる。
(1)車両10の現在の走行環境が「車両10の重量を推定可能な環境」であるか否かを、所定の周期で繰り返し判定する環境判定処理
(2)環境判定処理により車両10の走行環境が「車両10の重量を推定可能な環境」であると判定された場合、上記式(1)を用いて車両10の瞬間重量Mを算出する瞬間重量算出処理
(3)「車両10の重量を推定可能な環境」が所定の期間にわたって継続したか否かを判定し、所定の期間にわたって継続した場合、当該所定の期間において複数回にわたって算出した車両10の瞬間重量M(すなわち、前記所定の期間内の複数の時点における車両10の瞬間重量M)を用いて車両10の重量を推定する重量推定処理
(4)前記所定の期間(「車両10の重量を推定可能な環境」が継続した期間)における車両10の走行安定性(以下、「第一の走行安定性」と記す)」が「登録されている車両10の重量の推定に使用されたパラメータ(すなわち、登録されている車両10の重量の推定に使用した瞬間重量Mの算出に使用したパラメータ)を取得した期間における車両10の走行安定性(以下、「第二の走行安定性」と記す)」よりも高いか否かを判定する走行安定性判定処理
(5)第一の走行安定性が所定の基準よりも高く、かつ、第一の走行安定性が第二の走行安定性よりも高いと判定された場合に、登録されている車両10の重量を、瞬間重量算出処理において算出された瞬間重量Mに基づいて推定される重量に変更(更新)する登録更新処理
【0029】
以下、(1)~(5)の各処理について説明する。
【0030】
(1)環境判定処理
上記式(1)を用いて車両10の瞬間重量Mを算出する方法によれば、車両10の走行環境が車両駆動力Fdvと前後加速度Aと路面勾配θとの少なくとも1つの変動(本実施形態では、「変動」とは「時間経過に伴う値の変化」を意味する)が大きい環境であると(換言すると、これらのうちの少なくとも1つの値が安定していない環境であると)、瞬間重量Mを正確に算出できないことがある。そこで、運転支援ECU101は、車両駆動力Fdvの変動、前後加速度Aの変動および路面勾配θの変動に基づいて、車両10の走行環境が「車両10の重量を推定可能な環境」であるか否かを判定する。本実施形態では、車両駆動力Fdv、前後加速度Aおよび路面勾配θのそれぞれの変動の大きさを示す指標として、車両駆動力Fdvの偏差、前後加速度Aの偏差、および路面勾配θの偏差が用いられる。運転支援ECU101は、車両駆動力Fdvの算出、前後加速度Aの取得、路面勾配θの算出を、所定の周期で繰り返し実行し、現在(現時点)および現在(現時点)から過去所定の期間内(または所定の回数)における車両駆動力Fdv、前後加速度Aおよび路面勾配θのそれぞれの偏差を算出する。そして、運転支援ECU101は、これらの偏差がいずれも所定値以下である場合、車両10の現在の走行環境が「車両10の重量を推定可能な環境」であると判定する。例えば、前後加速度Aの偏差の閾値には0.08m/sec2、車両駆動力Fdvの偏差の閾値には16N、路面勾配θの偏差の閾値には2°(deg)が適用できる。一方、運転支援ECU101は、算出したこれらの偏差のうちの少なくとも1つが閾値超である場合、車両10の現在(現時点)の走行環境が「車両10の重量を推定可能な環境」ではないと判定する。なお、前記「所定の期間(または所定の回数)」の具体的な長さ(または回数)は特に限定されるものではなく、適宜設定される。なお、これらの閾値は、車両10の現在の走行環境が「車両10の重量を推定可能な環境」であると判断できる最低条件であるということもできる。この場合、前後加速度Aの偏差が0m/sec2、車両駆動力Fdvの偏差が0N、路面勾配θの偏差の閾値が0°(deg)である場合が、車両10の現在の走行環境が「車両10の重量を推定可能な環境」であると判断できる最高条件であるということができる。
【0031】
また、運転支援ECU101は、車両駆動力Fdvの偏差、前後加速度Aの偏差、および路面勾配θの偏差のうちの2つを用いて、車両10の現在の走行環境が「車両10の重量を推定可能な環境」であるか否かを判定してもよい。この場合、運転支援ECU101は、車両10の走行安定性の判定に使用する2つの偏差の両方が所定の閾値以下である場合、車両10の現在の走行環境が「車両10の重量を推定可能な環境」であると判定する。一方、運転支援ECU101は、少なくとも一方の値の閾値が閾値超である場合、車両10の現在の走行環境が「車両10の重量を推定可能な環境」ではないと判定する。さらに、運転支援ECU101は、車両駆動力Fdvの偏差、前後加速度Aの偏差、および路面勾配θの偏差のうちのいずれか1つを用いて車両10の現在の走行環境が「車両10の重量を推定可能な環境」であるか否かを判定してもよい。
【0032】
(2)瞬間重量算出処理
運転支援ECU101は、車両10の瞬間重量Mの算出に用いるパラメータを所定の周期で繰り返し取得する。具体的には、運転支援ECU101は、これらのパラメータとして、エンジンが出力している駆動力(駆動トルク)およびシフト機構の現在のシフトポジションと、車速センサ105により検出された車速と、加速度センサ106により検出された加速度(重力)とを取得する。
【0033】
そして、運転支援ECU101は、取得したパラメータを用いて、車両10の現在の走行環境が「車両10の重量を推定可能な環境」であると判定されている間、車両10の瞬間重量Mを、前記式(1)を用いて所定の周期で繰り返し算出する。具体的には、運転支援ECU101は、エンジンが出力している駆動力(駆動トルク)およびシフト機構の現在のシフトポジションに基づいて車両駆動力Fdvを算出し、車速に基づいて車両10に掛かる空気抵抗Fairを算出し、前後加速度Aに基づいて路面勾配θを算出する。そして、運転支援ECU101は、算出した車両10の瞬間重量M、取得した前後加速度A、算出した車両駆動力Fdv、および算出した路面勾配θを、一時的に記憶する。
【0034】
(3)重量推定処理
運転支援ECU101は、車両10の走行状態が安定しているとみなす条件である安定条件が成立しているか否かを判定する。具体的には、運転支援ECU101は、車両10の走行環境が「車両10の重量を推定可能な環境」である状態が所定の期間にわたって継続したか否かを判定する。そして、運転支援ECU101は、車両10の走行環境が「車両10の重量を推定可能な環境」である状態が所定の期間にわたって継続した場合、安定条件が成立したと判定する。このように、本実施形態では、運転支援ECU101は、車両10の走行環境が「車両10の重量を推定可能な環境」であると判定された期間の長さに基づいて、安定条件が成立したか否かを判定する。なお、この所定の期間の長さは特に限定されないが、少なくとも、車両駆動力Fdv、前後加速度Aおよび路面勾配θのそれぞれの偏差の算出のために車両駆動力Fdvの算出、前後加速度Aの取得、および路面勾配θの算出を繰り返し実行した期間よりも長い期間である。また、説明の便宜上、「車両10の重量を推定可能な環境」が所定の期間にわたって継続した場合における当該所定の期間を「第一の期間」と記す。そして、運転支援ECU101は、安定条件が成立したと判定した場合、第一の期間内において繰り返し算出した瞬間重量Mの平均値を算出し、算出した瞬間重量Mの平均値を、車両10の重量の推定値とする。
【0035】
(4)走行安定性判定処理
運転支援ECU101は、車両10の重量の推定(第一の期間内において繰り返し算出した瞬間重量Mの平均値)の精度が、登録されている車両10の重量の推定の精度よりも高いことを示す(または、高いとみなすことができる)特定条件が成立しているか否かを判定する。なお、本実施形態では、運転支援ECU101は、「第一の走行安定性が第二の走行安定性よりも高い」と判定した場合、「推定した車両10の重量の推定の精度が登録されている車両10の重量の推定の精度よりも高い」と判定する(すなわち、特定条件が成立していると判定する)。
【0036】
特定条件の具体的な判定方法は次のとおりである。なお、現在「登録されている車両10の重量」は、現在よりも過去に実行された上記(1)~(3)の処理により推定された重量である。説明の便宜上、「現在登録されている車両10の重量を推定した際の第一の期間」を「第二の期間」と記して区別する。前後加速度Aの偏差、車両駆動力Fdvの偏差、および路面勾配θの偏差には優先順位があらかじめ設定されている。例えば、前後加速度Aの偏差の優先度が最も高く、2番目に車両駆動力Fdvの偏差の優先度が高く、路面勾配θの偏差の優先度が最も低い。運転支援ECU101は、まず、最も優先度の高い前後加速度Aの偏差どうしの値を比較する。そして、運転支援ECU101は、第一の期間における前後加速度Aの偏差が第二の期間における前後加速度Aの偏差より小さい場合、特定条件が成立していると判定し、第一の期間における前後加速度Aの偏差が第二の期間における前後加速度Aの偏差より大きい場合、特定条件は成立していないと判定する。そして、第一の期間における前後加速度Aの偏差と第二の期間における前後加速度Aの偏差とが同じである場合、運転支援ECU101は、2番目に優先度が高い車両駆動力Fdvの偏差どうしの値を比較する。そしてこの場合、運転支援ECU101は、第一の期間における車両駆動力Fdvの偏差が第二の期間における車両駆動力Fdvの偏差より小さい場合、特定条件が成立していると判定し、第一の期間における車両駆動力Fdvの偏差が第二の期間における車両駆動力Fdvの偏差より大きい場合、特定条件は成立していないと判定する。そして、第一の期間における車両駆動力Fdvの偏差と第二の期間における車両駆動力Fdvの偏差とが同じである場合、運転支援ECU101は、最も優先度が低い(3番目に優先度が高い)路面勾配θの偏差どうしの値を比較する。そしてこの場合、運転支援ECU101は、第一の期間における路面勾配θの偏差が第二の期間における路面勾配θの偏差より小さい場合、特定条件が成立していると判定し、第一の期間における路面勾配θの偏差が第二の期間における路面勾配θの偏差と同じかそれより大きい場合、特定条件は成立していないと判定する。
【0037】
なお、運転支援ECU101は、上記のように前後加速度Aの偏差と車両駆動力Fdvの偏差と路面勾配θの偏差のすべてに基づいて特定条件が成立しているか否かを判定してもよく、これらのうちの1つまたは2つに基づいて特定条件が成立しているか否かを判定してもよい。すなわち、運転支援ECU101は、前後加速度Aの偏差と車両駆動力Fdvの偏差と路面勾配θの偏差との少なくとも1つに基づいて特定条件が成立しているか否かを判定すればよい。
【0038】
(5)登録更新処理
運転支援ECU101は、車両10の走行安定性が安定条件を充足していると判定し、かつ、特定条件が成立している場合、登録されている車両10の重量を、瞬間重量算出処理において算出された車両10の瞬間重量Mに基づいて推定された重量に変更(更新)する。さらに、運転支援ECU101は、第一の走行安定性を、第二の走行安定性として登録する。すなわち、運転支援ECU101は、現在登録されている前後加速度Aの偏差、車両駆動力Fdvの偏差、および路面勾配θの偏差の値(第二の期間における前後加速度Aの偏差、車両駆動力Fdvの偏差、および路面勾配θの偏差)を、「第一の期間における前後加速度Aの偏差、車両駆動力Fdvの偏差、および路面勾配θの偏差」の値で置き換える。
【0039】
一方、運転支援ECU101は、車両10の走行安定性が安定条件を充足していないと判定した場合と、特定条件が成立していないと判定した場合との少なくとも一方である場合、登録されている車両10の重量および第二の走行安定性を変更しない。なお、登録更新処理が1回も実行されていない状態では、登録されている車両10の重量は初期値に保持される。なお、運転支援ECU101は、車両10の走行安定性が安定条件を充足していないと判定した場合、特定条件が成立しているか否かを判定しなくてもよい。
【0040】
そして、推定装置100は、特定条件が成立していると判定した場合、算出した車両10の瞬間重量Mの平均値を算出することにより車両10の重量を推定し、登録されている車両10の重量を、推定した車両10の重量に変更(更新)する。なお、登録されている車両10の重量が初期値である場合、「登録されている車両10の重量の推定に使用されたパラメータ」は存在しない。このため、この場合には、運転支援ECU101は、車両10の走行安定性が安定条件を充足した場合には特定条件が成立したとみなす。そして、運転支援ECU101は、登録されている車両10の重量を、推定した車両10の重量に更新(変更)するとともに、第一の走行安定性を第二の走行安定性として登録する。
【0041】
このように、運転支援ECU101は、登録されている車両10の重量よりも高い精度で車両10の重量を推定した場合には、登録されている車両10の重量を、高い精度で推定した車両10の重量に更新する。このため、現実に近い車両10の重量を登録できる。そして、運転支援ECU101は、このように登録された車両10の重量を用いてACCを実行することにより、車両10の実際の加速度を目標加速度に近づけることができる(換言すると、車両10の実際の加速度と目標加速度の差を小さくできる)。
【0042】
(具体的動作)
次に、運転支援ECU101の具体的な動作について説明する。運転支援ECU101のCPUは、
図2のフローチャートにより表された「車両重量更新ルーチン」を、所定の周期で繰り返し実行する。これにより、上述の車両重量更新処理が実現する。以下の説明では、運転支援ECU101のCPUを単に「CPU」と略して記すことがある。なお、運転支援ECU101の読み書き可能な不揮発性メモリには、ACCの実行の際に使用する車両10の重量の初期値があらかじめ格納されている。また、CPUは、車速センサ105により検出された車速と、加速度センサ106により検出された加速度(重力)とを、所定の周期で繰り返し取得する。さらに、CPUは、エンジンが出力している駆動力(駆動トルク)およびシフト機構の現在のシフトポジションを所定の周期で繰り返し取得し、取得した駆動力(駆動トルク)およびシフト機構の現在のシフトポジションに基づいて、車両駆動力F
dvを逐次算出している。すなわち、CPUは、車両重量更新ルーチンの実行中の各時点における車速、前後加速度Aおよび車両駆動力F
dvを取得している。
【0043】
ステップS101において、CPUは、ACCを実行中であるか否かを判定する。具体的には、CPUは、ACCスイッチ104がON操作されたか否かを判定する。そして、CPUは、ACCスイッチ104がON操作されたことを検出していない場合、または、ACCスイッチ104がOFF操作されたことを検出した場合、ACCを実行中ではないと判定する。これらの場合、CPUは、処理をステップS102に進める。一方、CPUは、ACCスイッチ104がON操作されたことを検出し、かつ、その後ACCスイッチ104がOFF操作されたことを検出していない場合、ACCを実行中であると判定する。この場合、CPUは、処理をステップS105に進める。
【0044】
ステップS102において、CPUは、イグニッションスイッチがONにされてから現在までの間に、後述するステップS110の処理を1回以上実行済みであるか否かを判定する。CPUは、ステップS110の処理をまだ1回も実行していないと判定した場合、処理をステップS103に進める。一方、CPUは、ステップS110の処理を既に1回以上実行していると判定した場合には、処理をステップS104に進める。
【0045】
ステップS103においては、CPUは、この車両重量更新ルーチンの開始前にあらかじめ登録された車両10の重量(すなわち、車両10の重量の初期値)をそのまま保持する。このためこの場合には、ACCの実行には、車両10の重量値の初期値が使用される。そして、CPUは、この車両重量更新ルーチンをいったん終了する。
【0046】
ステップS104において、CPUは、登録されている車両10の重量および第二の走行安定性、すなわち、前回のステップS110において更新された車両10の重量および前回のステップS107において「Y」と判定された車両10の走行安定性(第一の走行安定性)をそのまま保持する。このためこの場合には、ACCの実行には、前回のステップS110において更新された車両10の重量が使用される。そして、CPUは、この車両重量更新ルーチンをいったん終了する。
【0047】
ステップS105において、CPUは、現在の車両10の走行環境が、車両10の重量の推定が可能な環境であるか否かを判定する。そして、CPUは、現在の車両10の走行環境が車両10の重量を推定可能な環境ではないと判定した場合、処理をステップS102に進める。一方、CPUは、現在の車両10の走行環境が車両10の重量を推定可能な環境であると判定した場合、処理をステップS106に進める。なお、前記のとおり、車両10の走行環境が「車両10の重量の推定が可能な環境」であるか否かの判定に、前後加速度Aの偏差、車両駆動力Fdvの偏差、および路面勾配θの偏差が用いられる。このため、この車両重量更新ルーチンの繰り返し回数が所定回数未満の場合、車両10の走行環境が「車両10の重量の推定が可能な環境」であるか否かを判定できない。このためこの場合には、CPUは処理をステップS102に進める。
【0048】
ステップS106において、CPUは車両10の瞬間重量Mの算出および車両10の走行状態の安定性の判定に用いるパラメータを取得する。さらに、CPUは、取得したパラメータを用いて車両10の瞬間重量Mを算出する。これにより、ACCを実行中のある1つの時点における車両10の瞬間重量Mが算出される。そしてCPUは、処理をステップS107に進める。
【0049】
ステップS107において、CPUは、車両10の走行安定性が、安定条件を充足しているか否かを判定する。本実施形態では、CPUは、繰り返し実行されるこの車両重量更新ルーチンのステップS105において、連続して所定の回数にわたって車両10の走行状態が「車両10の重量を推定可能な環境」であると判定された場合(ステップS105において「Y」)、車両10の走行安定性が安定条件を充足していると判定する。一方、CPUは、連続して車両10の走行状態が「車両10の重量を推定可能な環境」であると判定された回数が所定の回数に達していない場合、車両10の走行安定性は安定条件を充足していないと判定する。そして、CPUは、車両10の走行安定性が安定条件を充足していないと判定した場合、処理をステップS102に進める。一方、CPUは、車両10の走行安定性が安定条件を充足していると判定した場合、処理をステップS108に進める。
【0050】
ステップS108において、CPUは、この車両重量更新ルーチンを繰り返していた間のステップS106において算出した車両10の瞬間重量Mの平均値を算出する。すなわち、CPUは、瞬間重量Mに基づいて車両10の重量を推定する。そして、CPUは、処理をステップS109に進める。
【0051】
ステップS109において、CPUは、特定条件が成立しているか否かを判定する。なお、第二の走行安定性は、読み書き可能な不揮発性メモリに格納されている。そして、CPUは、第一の走行安定性(今回のステップS107において「Y」と判定された車両10の走行安定性)と、第二の走行安定性とを比較することにより、特定条件が成立したか否かを判定する。CPUは、特定条件が成立していると判定した場合、処理をステップS110に進める。一方、CPUは、特定条件が成立していないと判定した場合、処理をステップS102に進める。
【0052】
ステップS110において、CPUは、登録されている車両10の重量を、今回のステップS108において推定した車両10の重量に変更する。併せて、CPUは、第一の走行安定性を、第二の走行安定性として登録する(読み書き可能な不揮発性メモリに格納する)。そして、CPUは、いったんこの車両重量更新ルーチンを終了する。
【0053】
このような車両重量更新ルーチンによれば、上述した車両重量更新処理が実現する。このため、登録されている車両10の重量よりも高い精度で車両の重量を推定した場合には(ステップS109において「Y」)、登録されている車両10の重量を、高い精度で推定した車両10の重量に更新する(ステップS110)。このため、現実に近い車両10の重量を登録できる。
【0054】
以上、本発明の実施形態を説明したが、本発明は上述の実施形態に限定されるものではない。
【0055】
例えば、前記実施形態では、前後加速度Aの偏差、車両駆動力Fdvの偏差および路面勾配θの偏差に基づいて車両10の走行安定性を判定する構成を示したが、本発明はこのような構成に限定されない。車両10の前後加速度Aおよび車両駆動力Fdvに基づいて車両10の重量を推定する構成であれば、前後加速度Aの変動、車両駆動力Fdvの変動、および路面勾配θの変動(重力の路面に平行な方向の成分の変動)が、車両10の重量の推定の際の外乱(精度の低下の要因)になりうる。したがって、これらの車両10の走行安定性の判定には、これらの値の変動の大きさまたはばらつきの大きさを示す指標を用いればよく、偏差に限定されるものではない。
【0056】
また、前記実施形態では、瞬間重量Mの平均を「推定された車両10の重量」とする構成を示したが、本発明はこのような構成に限定されない。例えば、瞬間重量Mの中央値または最頻値を「推定された車両10の重量」としてもよい。
【0057】
また、前記実施形態では、推定した車両10の重量をACCに用いる構成を示したが、推定した車両10の重量の用途は限定されるものではない。すなわち、前記実施形態では、車両重量更新処理をACCの実行中に実行する構成を示したが、車両重量更新処理を実行するタイミングは限定されるものではない。
【符号の説明】
【0058】
10…車両、100…推定装置、101…運転支援ECU、102…エンジンECU、103…ブレーキECU、104…ACCスイッチ、105…車速センサ、106…加速度センサ、107…エンジンアクチュエータ、108…アクセルセンサ、109…トランスミッション、110…ブレーキアクチュエータ、111…ブレーキセンサ