IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ トヨタ自動車株式会社の特許一覧 ▶ 株式会社アドヴィックスの特許一覧

<>
  • 特開-重量算出装置 図1
  • 特開-重量算出装置 図2
  • 特開-重量算出装置 図3
  • 特開-重量算出装置 図4
  • 特開-重量算出装置 図5
  • 特開-重量算出装置 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024171448
(43)【公開日】2024-12-12
(54)【発明の名称】重量算出装置
(51)【国際特許分類】
   G01G 19/03 20060101AFI20241205BHJP
【FI】
G01G19/03
【審査請求】未請求
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2023088457
(22)【出願日】2023-05-30
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(71)【出願人】
【識別番号】301065892
【氏名又は名称】株式会社アドヴィックス
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】三宅 一城
(72)【発明者】
【氏名】内田 崇哉
(72)【発明者】
【氏名】田上 直樹
(57)【要約】
【課題】車両の重量を正確に算出する。
【解決手段】記憶部は、車両の走行速度を複数の速度範囲に区分した、複数の特定速度範囲を予め記憶しており、演算部は、車両の走行中、車両の走行速度、車両の加速度、及び車両の駆動力を取得することと、取得した加速度及び駆動力の組み合わせを特定速度範囲毎に区別して記憶部に記憶することと、取得した複数の加速度及び駆動力の組み合わせに基づいて、特定速度範囲毎に車両の重量を算出することと、を行う。
【選択図】図3
【特許請求の範囲】
【請求項1】
演算部と、記憶部と、を備え、
前記記憶部は、
車両の走行速度を複数の速度範囲に区分した、複数の特定速度範囲を予め記憶しており、
前記演算部は、
前記車両の走行中、前記車両の走行速度、前記車両の加速度、及び前記車両の駆動力を取得することと、
取得した前記車両の加速度及び前記車両の駆動力の組み合わせを、前記特定速度範囲毎に区別して前記記憶部に記憶することと、
取得した複数の前記車両の加速度及び前記車両の駆動力の組み合わせに基づいて、前記特定速度範囲毎に前記車両の重量を算出することと、を行う
重量算出装置。
【請求項2】
前記演算部は、
前記車両に対する駆動力の要求値である要求駆動力を取得することと、
前記車両に搭載されているセンサからの情報に基づいて、前記車両の実際の駆動力の推定値である推定駆動力を取得することと、
前記要求駆動力との差が予め定められた設定値以下である前記推定駆動力を対象駆動力としたとき、前記対象駆動力及び前記車両の加速度の組み合わせに基づいて、前記車両の重量を算出することと、を行う
請求項1に記載の重量算出装置。
【請求項3】
2以上の前記特定速度範囲で算出した前記車両の重量の平均値を、最終的な前記車両の重量として算出する
請求項1に記載の重量算出装置。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、重量算出装置に関する。
【背景技術】
【0002】
特許文献1に開示されている車両の制御システムは、複数の実行部と、運動マネージャと、アクチュエータと、を備えている。各実行部は、それぞれ個別のアプリケーションを実行する。運動マネージャは、複数のアプリケーションからの運動要求を受け付ける。運動マネージャは、受け付けた運動要求に基づいて、アクチュエータに対する指示値を生成する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-032894号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1のような技術において運動マネージャは、アクチュエータに対する指示値を生成する上で、車両の重量を考慮することがある。この場合、運動マネージャは、積載物の重量を含めた車両の重量を算出する必要がある。ここで、車両の重量は、車両の加速度、車両の駆動力、及び車両の走行抵抗に基づいて算出できる。そして、車両の走行抵抗は、当該走行抵抗と車両の走行速度との間に存在する一律の対応関係に基づいて算出できる。しかし、車両の重量によっては、この対応関係が変わり得る。この点を考慮せずに車両の走行抵抗、ひいては車両の重量を算出すると、車両の重量を正確に算出できないおそれがある。
【課題を解決するための手段】
【0005】
上記課題を解決するための重量算出装置は、演算部と、記憶部と、を備え、前記記憶部は、車両の走行速度を複数の速度範囲に区分した、複数の特定速度範囲を予め記憶しており、前記演算部は、前記車両の走行中、前記車両の走行速度、前記車両の加速度、及び前記車両の駆動力を取得することと、取得した前記車両の加速度及び前記車両の駆動力の組み合わせを、前記特定速度範囲毎に区別して前記記憶部に記憶することと、取得した複数の前記車両の加速度及び前記車両の駆動力の組み合わせに基づいて、前記特定速度範囲毎に前記車両の重量を算出することと、を行う。
【発明の効果】
【0006】
上記構成では、車両の重量を正確に算出できる。
【図面の簡単な説明】
【0007】
図1図1は、車両の概略構成図である。
図2図2は、車両の重量の算出原理を説明するグラフである。
図3図3は、特定速度範囲毎に車両の重量を算出する態様を表す模式図である。
図4図4は、車両の重量に応じた走行抵抗の違いを説明するグラフである。
図5図5は、重量算出処理の処理手順を表したフローチャートである。
図6図6は、実施形態の作用を説明するグラフである。
【発明を実施するための形態】
【0008】
<車両の全体構成>
以下、重量算出装置の一実施形態を、図面を参照して説明する。図1に示すように、車両1は、実行ECU50と、統括ECU10と、複数のアクチュエータユニット70と、を備えている。なお、図1では、複数のアクチュエータユニット70のうちの1つを代表で示している。アクチュエータユニット70の一例は、パワートレインである。パワートレインは、車両1の駆動源となる内燃機関と、内燃機関のトルクを駆動輪へと伝達する伝達機構と、を備えている。内燃機関では、吸入空気と燃料とが燃焼することでクランク軸が回転する。伝達機構は、クランク軸の回転速度を変速して出力する自動変速機、左右の駆動輪の回転速度の差を許容する差動装置等を含んでいる。なお、アクチュエータユニット70の他の例として、車両1に制動力を発生させるブレーキ装置、車両1の操舵輪の舵角を調整するステアリング装置等を挙げることができる。
【0009】
実行ECU50は、処理回路を備えたコンピュータである。処理回路は、CPUと、不揮発性のメモリと、揮発性のメモリと、を備えている。不揮発性のメモリは、CPUが実行するべき処理が記述された各種のプログラムと、CPUがプログラムを実行する上で必要な各種のデータとを予め記憶している。不揮発性のメモリが記憶しているプログラムの例は、車両1の運動を制御するための複数のアプリケーション50Pである。実行ECU50は、これらのアプリケーション50Pを実行することで、実行対象のアプリケーション50Pの運動要求を出力する。アプリケーション50Pの一例は、自動で前走車に追従する機能を実現するアプリケーションである。
【0010】
統括ECU10は、処理回路15を備えたコンピュータである。処理回路15は、CPU20と、不揮発性の第1メモリ21と、揮発性の第2メモリ22と、を備えている。第1メモリ21は、CPU20が実行するべき処理が記述された各種のプログラム10Pと、CPU20がプログラム10Pを実行する上で必要な各種のデータとを予め記憶している。統括ECU10は、リアルタイムクロック17を備えている。リアルタイムクロック17は、日時の情報を生成する回路である。統括ECU10は、重量算出装置である。CPU20は、演算部である。第1メモリ21は、記憶部である。
【0011】
統括ECU10のCPU20は、第1メモリ21が記憶しているプログラム10Pを実行することにより、車両1の運動を管理する運動マネージャとして機能する。この運動マネージャの機能として、CPU20は、車両1の重量Mを算出したり、算出した重量Mと実行ECU50からの運動要求とに基づいて各アクチュエータユニット70を制御したりする。
【0012】
車両1は、複数のセンサ及び複数のスイッチを備えている。例えば、車両1は、加速度センサ61を備えている。加速度センサ61は、車両1の加速度Qを検出する。本実施形態では、(式1)で示すように、車両1の進行に伴う車両前後方向の加速度Aと、重力加速度gに関する車両前後方向の成分との和を、車両1の加速度Qとして取り扱う。そして、本実施形態の加速度センサ61は、車両1の進行に伴う加速度Aについては、車両前方に向けて車両1が加速する場合に正、車両後方に向けて車両1が加速する場合に負の値を検出する。また、加速度センサ61は、重力加速度gの車両前後方向の成分については、登坂路において正、降坂路において負の値を検出する。なお、(式1)においてθは路面勾配である。
(式1)Q=A+g×sinθ
車両1は、速度センサ62を備えている。速度センサ62は、車両1の走行速度である車速Vを検出する。車両1は、アクセルセンサ63を備えている。アクセルセンサ63は、車両1におけるアクセルペダルの操作量であるアクセル操作量Cを検出する。車両1は、エアフロメータ64を備えている。エアフロメータ64は、内燃機関における吸入空気量Yを検出する。車両1は、クランクセンサ65を備えている。クランクセンサ65は、クランク軸の回転位置Nを取得する。車両1に搭載されている各センサは、自身が検出した情報に応じた信号を統括ECU10に出力する。車両1は、カーテシスイッチ66を備えている。カーテシスイッチ66は、車両1におけるドアの開閉状態Wを検出する。カーテシスイッチ66は、ドアの開閉状態Wに応じた信号を統括ECU10に出力する。なお、カーテシスイッチ66は、車両1のドア毎に設けられている。車両1は、スタートスイッチ67を備えている。スタートスイッチ67は、イグニッションスイッチ、又はシステム起動スイッチと呼称されることもある。スタートスイッチ67は、乗員の操作に応じてオン又はオフになる。スタートスイッチ67は、乗員の操作に応じたオンオフ情報Zを統括ECU10に出力する。統括ECU10は、以上の複数のセンサ及び複数のスイッチからの信号を繰り返し受信する。
【0013】
<車両の重量の算出原理について>
統括ECU10のCPU20が車両1の重量Mを算出することについて詳述する。
先ず、車両1の重量Mの推定原理を説明する。(式2)に示すように、車両1の加速度Qと、車両1の重量Mと、車両1の推進力Fとの間には次のような関係がある。すなわち、車両1の加速度Qは、車両1の重量Mの逆数と、車両1の推進力Fとの積に等しい。
(式2)Q=(1/M)×F
車両1の推進力Fは、(式3)に示すように、車両1の駆動力Fdから、車両1に作用する空気抵抗Faと、車両1に作用する路面抵抗Frとを減算した値である。空気抵抗Faは、基本的には、車速Vの2乗に比例する。路面抵抗Frは、定数として定められる。以下、空気抵抗Faと路面抵抗Frとの和を走行抵抗Fxと呼称する。
(式3)F=Fd-Fa-Fr
ここで、図2に示すように、横軸を車両1の推進力F、縦軸を車両1の加速度Qとした直交座標系である算出座標系を考える。車両1の走行中におけるあるタイミングでの加速度Qと推進力Fとの組み合わせを個別データ組DUと呼称する。図2の黒丸で示すように、上記算出座標系に対して複数の個別データ組DUをプロットしたとする。(式2)の関係によれば、理論的には、複数の個別データ組DUは、車両1の重量Mの逆数が傾きとなる直線上にプロットされることになる。この点を利用し、CPU20は、車両1の重量Mを算出するにあたり、複数の個別データ組DUのプロットに関する回帰直線Lの傾きを算出する。そしてCPU20は、この傾きの逆数を車両1の重量Mとして算出する。回帰直線Lは、複数の個別データ組DUに対して最小二乗法を適用することにより得られる直線である。
【0014】
<重量算出処理に係る各種情報>
CPU20は、車両1の重量Mを算出するための重量算出処理を実行可能である。この重量算出処理をCPU20が行う前提として、第1メモリ21は、複数の特定速度範囲を予め記憶している。特定速度範囲は、車両1が取り得る走行速度を複数の速度範囲に区分したものである。特定速度範囲の詳細は後述する。図3に示すように、CPU20は、重量算出処理では、これらの特定速度範囲毎に上記回帰直線Lを算出する。そのことでCPU20は、特定速度範囲毎に車両1の重量Mを算出する。なお、図3では、複数の特定速度範囲のうちの4つを代表で表しているが、特定速度範囲の数は4つに限定されない。
【0015】
第1メモリ21は、特定速度範囲と対応付けて車両1の重量Mを管理するための重量リストを記憶している。重量リストは、特定速度範囲と、各特定速度範囲における車両1の重量Mである暫定重量MAと、を対応付けた表である。この重量リストには、特定速度範囲毎の暫定重量MAとは別に、全ての車速V域を対象にした車両1の重量Mである最終重量MBが記述されている。CPU20は、この最終重量MBをアクチュエータユニット70の制御に反映させている。なお、CPU20は、重量リストにおける各暫定重量MA及び最終重量MBを、重量算出処理を通じて随時更新する。また、CPU20は、予め定められた次の2つのリセット条件のいずれかが満たされると、重量リストにおける各暫定重量MA及び最終重量MBを標準重量にリセットする。標準重量は、車両1の規格に応じて予め定められた車両1の重量Mである。この標準重量には、積載物を考慮した一定の重量値が加味されている。一方のリセット条件は、車両1のスタートスイッチ67がオフからオンに切り替わったことである。他方のリセット条件は、車両1のスタートスイッチ67がオンになっている間において、車両1におけるいずれかのドアが開状態から閉状態に切り替わったことである。
【0016】
第1メモリ21は、重量算出処理で利用する情報として、特定速度範囲毎の取得データリストを記憶している。ある1つの特定速度範囲を対象にした取得データリストは、複数の取得データ群を順に並べた表である。1つの取得データ群は、次の4つの情報を1セットにしたものである。取得データ群における第1の情報は、後述する第2~第4の情報の取得日時である。第2の情報は、車両1の加速度Qである。第3の情報は、車両1における実際の駆動力Fdの推定値である推定駆動力Fd1である。第4の情報は、後述の仮抵抗FxAである。なお、CPU20は、重量算出処理を通じて、各特定速度範囲の取得データリストに対して取得データ群を随時加えていく。CPU20は、上述した2つのリセット条件のいずれかが満たされると、各特定速度範囲の取得データリストの内容をその時点で一旦消去する。
【0017】
<特定速度範囲>
上述のとおり、走行抵抗Fxは、基本的には車速Vの2乗に比例する。こうした走行抵抗Fxと車速Vとの関係は、車両1の重量Mに応じて変わり得る。ここで、図4の実線で示す車両1が第1重量M1であるときと、図4の二点鎖線で示す車両1が第2重量M2であるときとを対象に、走行抵抗Fxと車速Vとの関係を比較する。第2重量M2は、第1重量M1より大きい。なお、図4に示す走行抵抗Fxは、実験又はシミュレーションから把握される、車両1の重量Mに応じた本来の走行抵抗Fxである。図4に示すように、例えば、車速Vが第1車速V1である場合、車両1が第2重量M2であるときの走行抵抗Fxである第2走行抵抗Fx2は、車両1が第1重量M1であるときの走行抵抗Fxである第1走行抵抗Fx1よりも大きい。こうした走行抵抗Fxの違いの傾向は、他の車速Vについても当てはまる。すなわち、他の車速Vについても、車両1が第2重量M2であるときには車両1が第1重量M1であるときよりも走行抵抗Fxが大きい。なお、図4の例では、車速Vが高いほど、第1重量M1に対応する走行抵抗Fxと第2重量M2に対応する走行抵抗Fxとの差は大きくなっている。
【0018】
さて、第1メモリ21は、走行抵抗Fxと車速Vとの関係を表した抵抗関係式を予め記憶している。この抵抗関係式は、車両1の重量Mがある特定の値である場合を対象にしたものである。本実施形態の特定の値は、上記第1重量M1である。本実施形態では、この1つの抵抗関係式を利用して、様々な重量Mに対応する走行抵抗Fxを算出する。以下、抵抗関係式を用いて算出した走行抵抗Fxを仮抵抗FxAと呼称する。ここで、上述のとおり、同じ車速Vであっても、車両1の重量Mに応じて、本来の走行抵抗Fxは異なる。そのため、1つの抵抗関係式のみを利用して様々な車両1の重量Mに対応する仮抵抗FxAを算出する場合、次の問題がある。すなわち、車両1の重量Mが第1重量M1以外の場合、抵抗関係式から定まる仮抵抗FxAは、車両1の重量Mに応じた本来の走行抵抗Fxとは異なる値になる。例えば、図4において車速Vが第1車速V1である場合を考える。このときに車両1が第2重量M2である場合の本来の走行抵抗Fxは、上記第2走行抵抗Fx2である。一方、車速Vが第1車速V1である場合に抵抗関係式から定まる仮抵抗FxAは、車両1が第1重量M1である場合の第1車速V1に対応する上記第1走行抵抗Fx1である。この第1走行抵抗Fx1は、第2走行抵抗Fx2よりも小さい。つまり、図4の実線の矢印範囲ΔFx1で示すように、抵抗関係式から定まる仮抵抗FxAは、本来の走行抵抗Fxに対して誤差ΔFxを持つ。
【0019】
上記の各特定速度範囲は、こうした誤差ΔFxとの関連で定められている。この点について説明する。ここで、図4に示すように、車両1が第2重量M2である場合について、車速Vが第1車速V1であるときの上記誤差ΔFxを第1誤差ΔFx1と呼称し、車速Vが第2車速V2であるときの上記誤差ΔFxを第2誤差ΔFx2と呼称する。第1車速V1と第2車速V2とが同程度である場合、第1誤差ΔFx1と第2誤差ΔFx2は同程度である。一方、第1車速V1と第2車速V2とが大きく異なる場合、第1誤差ΔFx1と第2誤差ΔFx2とは大きく異なる。第1誤差ΔFx1と第2誤差ΔFx2の違いは、第1車速V1と第2車速V2の違いが大きいほど大きくなる。このような、車速Vと誤差ΔFxとの関係を踏まえて、各特定速度範囲は次のように設定されている。すなわち、ある1つの特定速度範囲Kは、本来の走行抵抗Fxと、抵抗関係式から定まる仮抵抗FxAとの誤差ΔFxが概ね同程度とみなせる車速Vの範囲として定められている。特定速度範囲の更なる詳細は、後述の実施形態の作用の欄で説明する。なお、図4では、ある1つの特定速度範囲Kの例を示している。
【0020】
<重量算出処理の詳細>
CPU20は、車両1のスタートスイッチ67がオンになっている間、重量算出処理を繰り返し実行する。なお、重量算出処理とは別の処理として、CPU20は、スタートスイッチ67がオンになっている間、車両1に対する駆動力Fdの要求値である要求駆動力Fd2を繰り返し算出している。CPU20は、最新の車速Vとアクセル操作量Cとに基づいて要求駆動力Fd2を算出する。このときCPU20は、例えば、車速Vとアクセル操作量Cと要求駆動力Fd2との関係を表したマップを利用する。CPU20が車両1の要求駆動力Fd2を算出することは、CPU20が車両1の要求駆動力Fd2を取得することに相当する。CPU20は、車両1の実際の駆動力Fdがこの要求駆動力Fd2に一致するように各アクチュエータユニット70を制御している。
【0021】
図5に示すように、CPU20は、重量算出処理を開始すると、先ずステップS1の処理を実行する。ステップS1において、CPU20は、特定速度範囲毎の暫定重量MAを算出する上で必要な各種情報を取得する。先ずCPU20は、別処理で算出している要求駆動力Fd2の最新の値を取得する。また、CPU20は、車両1に搭載されている各センサから最新の情報を取得する。CPU20が各センサから取得する情報は、車両1の加速度Q、車速V、吸入空気量Y、及びクランク軸の回転位置Nである。CPU20は、これらの情報を取得すると、上記推定駆動力Fd1を算出する。CPU20は、推定駆動力Fd1を算出するにあたり、先ずクランク軸の回転位置Nに基づいて、クランク軸の回転速度を算出する。そしてCPU20は、クランク軸の回転速度と吸入空気量Yとに基づいて、内燃機関のトルクを算出する。CPU20は、内燃機関のトルクを算出する際、例えば、クランク軸の回転速度と吸入空気量Yと内燃機関のトルクとの関係を表したマップを利用する。CPU20は、内燃機関のトルクを算出すると、各必要変数を当該トルクに乗算することで推定駆動力Fd1を算出する。必要変数は、現時点での変速比を踏まえた伝達機構のギア比、車輪径の逆数等である。以上のように、CPU20は、エアフロメータ64とクランクセンサ65とから得た情報に基づいて推定駆動力Fd1を算出する。CPU20が推定駆動力Fd1を算出することは、CPU20が推定駆動力Fd1を取得することに相当する。CPU20は、推定駆動力Fd1を算出した後、仮抵抗FxAを算出する。このときCPU20は、抵抗関係式を利用する。具体的には、CPU20は、上で取得した最新の車速Vを抵抗関係式に適用することで仮抵抗FxAを算出する。CPU20が仮抵抗FxAを算出することは、CPU20が仮抵抗FxAを取得することに相当する。CPU20は、以上の処理により取得した各種情報のそれぞれを、一時的に第2メモリ22に記憶する。この後、CPU20は、処理をステップS2に進める。
【0022】
ステップS2において、CPU20は、差分値ΔFdが設定値J以下であるか否かを判定する。差分値ΔFdは、ステップS1で取得した推定駆動力Fd1と要求駆動力Fd2との差の絶対値である。ここで、エアフロメータ64とクランクセンサ65とを総称して機関センサと呼称する。これらの機関センサが正常に作動している場合、これらの機関センサの検出値は、基本的には、検出対象の実際の値に近くなる。そしてこの場合、推定駆動力Fd1は要求駆動力Fd2に近い値になる。したがって、差分値ΔFdは小さくなる。これに対して、2つの機関センサのうち少なくとも一方に例えば一時的な異常が生じている場合、異常が生じているセンサの検出値は、検出対象の実際の値から大きく乖離し得る。この場合、推定駆動力Fd1は要求駆動力Fd2から大きく乖離する。そして差分値ΔFdは大きくなる。設定値Jは、2つの機関センサの双方が正常である場合と、2つの機関の少なくとも一方が異常である場合とを切り分けるための閾値として例えば実験又はシミュレーションで予め定められている。設定値Jは、2つの機関センサの双方が正常である場合に取り得る差分値ΔFdの最大値ともいえる。設定値Jは、例えば固定値である。設定値Jは、例えば要求駆動力Fd2に応じて可変に設定できるように予め定められていてもよい。CPU20は、差分値ΔFdが設定値Jよりも大きい場合(ステップS2:NO)、重量算出処理の一連の処理を一旦終了する。そしてCPU20は、ステップS1の処理に戻る。一方、CPU20は、差分値ΔFdが設定値J以下の場合(ステップS2:YES)、処理をステップS3に進める。本ステップS2の処理により、CPU20は、暫定重量MAを算出する上での推定駆動力Fd1を、差分値ΔFdが設定値J以下となる推定駆動力Fd1である対象駆動力のみに絞ることになる。そしてその結果、CPU20は、後述のステップS4では、上記対象駆動力と車両1の加速度Qとの組み合わせに基づいて暫定重量MAを算出することになる。
【0023】
ステップS3において、CPU20は、第1メモリ21が記憶している取得データリストに対して新たな情報を追加する。具体的には、CPU20は、ステップS1で取得した車速Vを参照する。そしてCPU20は、参照した車速Vが、複数の特定速度範囲のうちのいずれに当てはまるかを判断する。そしてCPU20は、第1メモリ21が記憶している複数の取得データリストのうち、特定した特定速度範囲の取得データリストに対して次のことを行う。すなわちCPU20は、この取得データリストに対して、現時点の日時、ステップS1で取得した加速度Q、推定駆動力Fd1、及び仮抵抗FxAを書き加える。この処理により、CPU20は、ステップS1で取得した車両1の加速度Qと推定駆動力Fd1との組み合わせを、特定速度範囲毎に区別して第1メモリ21に記憶することになる。CPU20は、取得データリストに新たな情報を加えると、サンプル条件が満たされているか否かに応じてその後の処理の流れを決定する。サンプル条件は、ステップS3で情報を加えた取得データリストに関して、当該取得データリストに含まれている取得データ群の個数が所定値に達していることである。所定値は、回帰直線Lを算出する上で統計的に十分な取得データ群の個数として予め定められている。CPU20は、サンプル条件を満たしていない場合、重量算出処理の一連の処理を一旦終了する。そしてこの場合、CPU20は、ステップS1の処理に戻る。一方、CPU20は、サンプル条件が満たされている場合、処理をステップS4に進める。以下、ステップS3で特定した特定速度範囲を更新速度範囲と記す。
【0024】
ステップS4において、CPU20は、更新速度範囲を対象にした暫定重量MAを算出する。このときCPU20は、更新速度範囲の取得データリストに含まれている全ての加速度Qと推定駆動力Fd1との組の情報を利用する。すなわちCPU20は、取得データリストがリセットされた以降に取得した全ての加速度Qと推定駆動力Fd1との組み合わせに基づいて暫定重量MAを算出する。CPU20は、暫定重量MAを算出するにあたり、先ず、更新速度範囲の取得データリストに含まれている情報のうち、各日時における推定駆動力Fd1と仮抵抗FxAとを参照する。そしてCPU20は、(式3)を利用して、各日時における推定駆動力Fd1を推進力Fに変換する。すなわち、CPU20は、推定駆動力Fd1から仮抵抗FxAを減算した値を推進力Fとする。この後、CPU20は、図2の黒丸で示すように、各日時の加速度Qと推進力Fとの組である個別データ組DUを算出座標系にプロットする。この後、CPU20は、算出座標系を複数のエリアRに区分する。図2では、推進力Fの一定範囲毎に算出座標系を複数のエリアRに区分した例を示している。CPU20は、こうしたエリアR毎に次のことを行う。CPU20は、1つのエリアRに含まれる複数の加速度Qと推進力Fとの組を対象に、加速度Qの平均値と、推進力Fの平均値とを算出する。そしてCPU20は、加速度Qの平均値と、推進力Fの平均値との組である平均データ組DHを算出座標系にプロットする。CPU20は、1つのエリアRにつき1つの平均データ組DHをプロットすることになる。なお、CPU20は、加速度Qの平均値を算出する際、加速度Qを取得した日時に応じた重み付けを行う。具体的には、CPU20は、取得した日時が新しい加速度Qほど重みが大きくなるようにして加速度Qの平均値を算出する。CPU20は、同様の要領で、推進力Fの平均値についても、各推進力Fの取得日時を考慮する。CPU20は、各エリアRの平均データ組DHをプロットすると、これら複数の平均データ組DHを対象にした回帰直線Lを求める。このときCPU20は、第1メモリ21が予め記憶している、回帰直線Lの傾きと切片を算出するための公知の関係式を利用する。CPU20は、回帰直線Lの傾きと切片とを算出すると、傾きの逆数を暫定重量MAとして算出する。この後、CPU20は、重量リストのうち、更新速度範囲の暫定重量MAを新たな値に更新する。すなわち、CPU20は、更新速度範囲の暫定重量MAに関して、それまで記憶していた値を、新たな暫定重量MAによって上書きする。図5に示すように、CPU20は、重量リストを更新すると、処理をステップS5に進める。なお、上記ステップS4の処理に関して、CPU20は、推進力Fと加速度Qとの組み合わせに基づいて暫定重量MAを算出している。そして推進力Fは、推定駆動力Fd1から得られる値である。したがって、CPU20は、推定駆動力Fd1と加速度Qとの組み合わせに基づいて暫定重量MAを算出していることになる。
【0025】
ステップS5において、CPU20は、最終的な重量Mである最終重量MBを算出する。具体的には、CPU20は、重量リストにおける複数の特定速度範囲の暫定重量MAの平均値を最終重量MBとして算出する。CPU20は、最終重量MBを算出すると、重量リストにおける最終重量MBの値を新たな値に更新する。この後、CPU20は、重量算出処理の一連の処理を終了する。そしてCPU20は、ステップS1の処理に戻る。
【0026】
<実施形態の作用>
本実施形態では、図3に示すように、特定速度範囲毎に回帰直線Lの傾きひいては暫定重量MAを算出する。このことによる利点を説明する。
【0027】
前提として、特定速度範囲毎ではなく、全ての車速Vの範囲を一まとめにして車両1の重量Mを算出した場合の問題点を説明する。本実施形態では、車両1の推進力Fを算出する上での走行抵抗Fxを、1つの抵抗関係式を利用して算出している。上述のとおり、車両1が第1重量M1ではない場合、抵抗関係式から算出した走行抵抗Fxである仮抵抗FxAと、本来の走行抵抗Fxとの間には誤差ΔFxが存在する。このこととの関連で、全ての車速Vについての加速度Qと推進力Fとの組を同一の算出座標系にプロットして回帰直線Lを求めると、次のような問題が生じる。
【0028】
以下、車両1が第2重量M2であることを前提とする。図6に示すように、1つの算出座標系に対して、第1速度範囲と第2速度範囲という2つの特定速度範囲についての加速度Qと推進力Fとの組をプロットすることを考える。ここでは先ず、図6の白い三角で示すように、第1速度範囲を対象に、本来の走行抵抗Fxを反映した推進力Fと、加速度Qとの複数の組D1Aをプロットしたとする。さらに、図6の白い四角で示すように、第2速度範囲を対象に、本来の走行抵抗Fxを反映した推進力Fと、加速度Qとの複数の組D2Aをプロットしたとする。この場合、第1速度範囲を対象にした複数の組D1Aと、第2速度範囲を対象にした複数の組D2Aとは、理論上は同一の回帰直線LA上に並ぶ。次に、図6の黒い三角で示すように、第1速度範囲を対象に、仮抵抗FxAを反映した推進力Fと、加速度Qとの複数の組D1Bをプロットしたとする。さらに、図6の黒い四角で示すように、第2速度範囲を対象に、仮抵抗FxAを反映した推進力Fと、加速度Qとの複数の組D2Bをプロットしたとする。この場合、上記誤差ΔFxとの関連で、第1速度範囲を対象にした複数の組D1Bの分布と、第2速度範囲を対象にした複数の組D2Bの分布とは、互いに異なる傾向をもつ。すなわち、第1速度範囲での誤差ΔFxである第1値ΔFxSと、第2速度範囲での誤差ΔFxである第2値ΔFxTとが異なることから、第1速度範囲を対象にした複数の組D1Bと、第2速度範囲を対象にした複数の組D2Bとは、同一の回帰直線上には並ばない。したがって、これらの全てを一まとめにしたプロットからは、統計的に意味のある回帰直線を算出できない。
【0029】
その一方で、例えば第1速度範囲内という同一の特定速度範囲内であれば、本来の走行抵抗Fxと仮抵抗FxAとの誤差ΔFxは、常に、概ね同程度の第1値ΔFxSである。したがって、図6の黒い三角で示すように、第1速度範囲内であれば、仮抵抗FxAを反映した推進力Fと、加速度Qとの複数の組D1Bには、本来の推進力Fと加速度Qとの間に存在する相関関係が維持される。そして、この相関関係を特徴づける回帰直線L1は、本来の推進力Fに対応する回帰直線LAと傾きが同じであり、切片のみが異なる。この点、第2速度範囲を対象にした回帰直線L2についても同様である。以上を踏まえて特定速度範囲について改めて詳述する。各特定速度範囲は、次の点を満たすように例えば実験又はシミュレーションで予め定められている。その点は、ある1つの特定速度範囲では、仮抵抗FxAを反映した推進力Fと、加速度Qとの間に、本来の推進力Fと、加速度Qとの間の相関関係が維持されることである。
【0030】
以上の理由により、各特定速度範囲で個別に回帰直線L1,L2の傾きを算出した場合、仮抵抗FxAひいては推進力Fが本来の値に対して誤差ΔFxを含んでいたとしても、本来の回帰直線LAと同じ傾きを得ることができる。そしてこのことで、各特定速度範囲では正確な暫定重量MAを得ることができる。
【0031】
<実施形態の効果>
(1)上記作用に記載したとおり、本実施形態では、各特定速度範囲で個別に暫定重量MAを算出することで、当該暫定重量MAを正確に算出できる。
【0032】
(2)暫定重量MAを算出する上で利用する車両1の駆動力Fdとして、推定駆動力Fd1と要求駆動力Fd2とのうち、実際の駆動力Fdに近いであろう推定駆動力Fd1を利用することが好ましい。とはいえ、推定駆動力Fd1もセンサの状態に応じて実際の駆動力Fdから乖離し得る。そこで、本実施形態のように、推定駆動力Fd1が要求駆動力Fd2に近い場合に限って推定駆動力Fd1を暫定重量MAの算出に反映させることで、暫定重量MAを正確に算出できる。
【0033】
(3)本実施形態では、各特定速度範囲における暫定重量MAの平均値を最終重量MBとして算出する。この場合、特定速度範囲毎の暫定重量MAに含まれ得る誤差を相殺できる。したがって、より正確な車両1の重量Mとして最終重量MBを得ることができる。
【0034】
<変更例>
上記実施形態は、以下のように変更して実施することができる。上記実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【0035】
・回帰直線Lの傾きを算出するにあたり、上記エリアR毎の平均データ組DHを対象にして当該傾きを算出することは必須ではない。個別データ組DUを対象にして回帰直線Lの傾きを算出してもよい。
【0036】
・個別データ組DUの一要素である推進力Fに関して、当該推進力Fを算出するにあたり、要求駆動力Fd2から仮抵抗FxAを減算してもよい。すなわち、推定駆動力Fd1に代えて、要求駆動力Fd2に基づいて暫定重量MAを算出してもよい。この場合、取得データリストの内容の1つに要求駆動力Fd2を含めればよい。
【0037】
・回帰直線Lの傾きを算出するにあたり、推進力Fではなく、車両1の駆動力Fdそのものと、車両1の加速度Qとの組み合わせを対象にしてもよい。すなわち、駆動力Fdと加速度Qとの組み合わせを個別データ組DUとして取り扱ってもよい。実施形態の作用の欄で説明したとおり、特定速度範囲毎に回帰直線Lの傾きを算出する場合、各特定速度範囲において個別データ組DUを構成する2つのパラメータ間に相関関係が成り立っていれば、回帰直線Lの傾きを正確に算出できる。したがって、駆動力Fdと加速度Qとの組み合わせを個別データ組DUとして取り扱った場合でも、これら駆動力Fdと加速度Qとの間に相関関係が成り立っていれば、回帰直線Lの傾きを正確に算出できる。つまり、駆動力Fdと加速度Qとの間に相関関係が成り立つように各特定速度範囲が設定されていればよい。
【0038】
・各特定速度範囲の暫定重量MAを平均して最終重量MBを算出する際、暫定重量MAに対して、特定速度範囲に応じた重み付けを行ってもよい。ここで、車速Vが高い場合、車速Vが低い場合に比べて暫定重量MAの算出精度が高くなり得る。この点を考慮し、車速Vが高い特定速度範囲ほど重みを大きくすることが考えられる。
【0039】
・最終重量MBを得る上で、各特定速度範囲の暫定重量MAの平均値を算出することは必須ではない。例えば、更新速度範囲の暫定重量MAを最終重量MBとしてもよい。
・リセット条件の内容及び数は、上記実施形態の例に限らない。車両1の重量Mを算出する上で必要なサンプル数が得られるように、適切にリセット条件を設定すればよい。
【0040】
・重量算出処理の内容は、上記実施形態の例に限定されない。重量算出処理は、特定速度範囲毎に車両1の加速度Qと駆動力Fdとの複数の組み合わせに基づいて車両1の重量Mを算出できるように構成されていればよい。
【0041】
・車両1の重量Mを利用する用途は、上記実施形態の例に限らない。必要に応じて適宜当該重量Mを利用してよい。また、重量算出装置として機能する情報処理装置は、運動マネージャに限らない。上記実施形態と同様の重量算出の手法を実現できる演算部と記憶部とを備えた情報処理装置であれば、重量算出装置として機能し得る。
【0042】
・車両1の全体構成は、上記実施形態の例に限らない。例えば車両1の駆動源は、内燃機関に代えて、又は加えて、電動機であってもよい。車両1の駆動源が電動機である場合、電動機に流れる電流を検出する電流センサを車両1に搭載すればよい。このセンサの検出値に基づいて、電動機のトルクひいては推定駆動力Fd1を算出できる。
【符号の説明】
【0043】
1…車両 20…CPU 21…第1メモリ 22…第2メモリ
図1
図2
図3
図4
図5
図6