(57)【要約】【課題】車両に坂を走行させる際に車両の前後方向に作用する力である外力の影響を、精度よく抑制する技術を提供する。【解決手段】ＥＣＵは、Ｓ２１０では、自車両の前輪側及び後輪側の少なくとも一方における荷重をくり返し取得する。Ｓ２３０では、荷重の時間に伴う変化が、荷重が増加した後に減少に転じる状態である増減状態を示した場合に、前輪側及び後輪側のうち増減状態を示した荷重が取得された側が下で他方の側が上となる向きを、車体における傾きの向きとして推定する。Ｓ２６０では、車体における傾きの向きに基づいて自車両の前後方向に作用する力である外力を打ち消すための自車両における制御量を算出する。【選択図】図５
2017132370.tif 000002
【特許請求の範囲】
【請求項１】
自車両の前輪側及び後輪側の少なくとも一方における荷重をくり返し取得する荷重取得部（Ｓ２１０）と、
前記荷重の時間に伴う変化が、前記荷重が増加した後に減少に転じる状態である増減状態を示した場合に、前記前輪側及び後輪側のうち前記増減状態を示した荷重が取得された側が下で他方の側が上となる向きを、車体における傾きの向きとして推定する傾き推定部（Ｓ２１５）と、
前記車体における傾きの向きに基づいて自車両の前後方向に作用する力である外力を打ち消すための自車両における制御量を算出する制御量算出部（Ｓ２６０）と、
を備える車両制御装置（３０）。
【請求項２】
請求項１に記載の車両制御装置であって、
自車両が平坦な場所に位置し且つ停止している状態である平坦停止状態であるか否かを表す状態情報を取得する状態取得部（Ｓ１４５）と、
前記状態情報が平坦停止状態であることを表す場合に、前記荷重を基準荷重として記録部（３２）に保存する基準保存部（Ｓ１５５、Ｓ１５６）と、
を更に備え、
前記傾き推定部は、前記荷重の時間に伴う変化が、前記荷重が前記基準荷重よりも増加した後に減少に転じる状態を、前記増減状態とする
車両制御装置。
【請求項３】
請求項２に記載の車両制御装置であって、
前記荷重が前記増減状態となり、この際に前記荷重が前記基準荷重よりも小さくなった場合に、前記荷重の前記基準荷重に対する割合に基づいて、車体における傾きの大きさを推定する大きさ推定部（Ｓ２５０）と、
前記傾き推定部および前記大きさ推定部により推定された車体における傾きの向き及び大きさに基づいて、前記外力の向き及び大きさを推定する外力推定部（Ｓ２５５）と、
を更に備え、
前記制御量算出部は、前記外力推定部により推定された大きさの外力を打ち消すための自車両における制御量を算出する
車両制御装置。
【請求項４】
請求項２または３に記載の車両制御装置であって、
前記状態取得部は前記状態情報を繰り返し取得し、
前記基準保存部は、前記状態取得部により前記平坦停止状態であることを表す状態情報が取得される毎に、前記荷重を基準荷重として前記記録部に上書き保存する、
車両制御装置。
【請求項５】
請求項１から請求項４のいずれか一項に記載の車両制御装置であって、
前記荷重取得部は、自車両の後輪側の荷重を繰り返し取得し、
前記傾き推定部は、前記後輪側の荷重の時間に伴う変化が前記増減状態を示した場合に、自車両が坂を上る向きを、車体における傾きの向きとして推定する
車両制御装置。
【請求項６】
請求項５に記載の車両制御装置であって、
前記制御量算出部は、前記傾き推定部が前記坂を上る向きを前記車体における傾きの向きとして推定した場合に、前記車体を後方側に引く力を打ち消すための制御量を算出する
車両制御装置。
【請求項７】
請求項１から請求項６のいずれか一項に記載の車両制御装置であって、
前記荷重取得部は、自車両の前輪側の荷重を繰り返し取得し、
前記傾き推定部は、前記前輪側の荷重の時間に伴う変化が前記増減状態を示した場合に、自車両が坂を下る向きを、車体における傾きの向きとして推定する
車両制御装置。
【請求項８】
請求項７に記載の車両制御装置であって、
前記制御量算出部は、前記傾き推定部により前記自車両が坂を下る向きを車体における傾きの向きとして推定された場合に、前記外力を打ち消すための自車両における制御量を算出しない
車両制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両の制御を行う技術に関する。
【背景技術】
【０００２】
従来、車両に坂を走行させる際に、車両に作用する外力の影響を考慮して、車両を進行方向に駆動させる力である駆動力を調整する技術が知られている。外力とは、例えば、坂において車両の進行方向又は進行方向と逆の方向（以下、車両の前後方向）に作用する力をいう。
【０００３】
特許文献１では、電動車両に坂を走行させる際に、電動車両の車速に基づいて、電動車両に作用する外力を打ち消すように駆動力を調整するための制御量を算出する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−１９７６１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
車両においては、タイヤの回転数に基づいて車速を検出する技術が周知である。
しかしながら、タイヤの回転数に基づいて車速を検出する場合、例えば、坂の路面上に存在する水たまりや小石等によって、タイヤのスリップが生じると、車速を正確に検出することができない。
【０００６】
つまり、特許文献１に記載の技術では、坂の路面がタイヤのスリップが生じるような状況であると、駆動力を調整するための制御量が誤って算出され得るため、外力の影響を精度よく抑制することができない、という問題が生じ得る。
【０００７】
本発明は、こうした問題にかんがみてなされたものであり、車両に坂を走行させる際に車両の前後方向に作用する力である外力の影響を、精度よく抑制する技術を提供すること、を目的としている。
【課題を解決するための手段】
【０００８】
本発明の車両制御装置は、荷重取得部（Ｓ２１０）と、傾き推定部（Ｓ２３０、Ｓ２３２）と、制御量算出部（Ｓ２６０）と、を備える。
荷重取得部は、自車両の前輪側及び後輪側の少なくとも一方における荷重をくり返し取得する。傾き推定部は、前記荷重の時間に伴う変化が、前記荷重が増加した後に減少に転じる状態である増減状態を示した場合に、前記前輪側及び後輪側のうち前記増減状態を示した荷重が取得された側が下で他方の側が上となる向きを、車体における傾きの向きとして推定する。制御量算出部は、前記車体における傾きの向きに基づいて自車両の前後方向に作用する力である外力を打ち消すための自車両における制御量を算出する。
【０００９】
すなわち、本発明の車両制御装置は、坂を走行中に、車両の前輪側と後輪側との少なくとも一方における荷重に基づき、車両に作用する外力を打ち消すための自車両における制御量を算出する。
【００１０】
これによれば、タイヤのスリップによって変化が生じにくい荷重に基づき制御量を算出するので、車両に坂を走行させる際に、車速に基づき制御量を算出する従来技術よりも、車両の前後方向に作用する外力の影響を精度よく抑制することができる。
【００１１】
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１２】
【図１】制御システム及びＥＣＵの構成を示すブロック図。
【図２】要求トルク演算処理のフローチャート。
【図３】車両が坂に位置するとき、及び平坦な場所に停止しているとき、に検出される前荷重値及び後荷重値について説明する図。
【図４】第１実施形態の基準設定処理のフローチャート。
【図５】第１実施形態の補正トルク演算処理のフローチャート。
【図６】補正後トルク演算処理のフローチャート。
【図７】要求トルク演算処理に基づく作動の一例を説明する図。
【図８】第２実施形態の基準設定処理のフローチャート。
【図９】第２実施形態の補正トルク演算処理のフローチャート。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら、発明を実施するための形態を説明する。
［１．第１実施形態］
［１−１．構成］
図１に示すように、本実施形態の制御システム１は、車両に搭載され、車両が坂を走行する際に、車両に搭載された内燃機関（以下、エンジン）２０にて発生するトルクの大きさを制御するためのものである。制御システム１は、クランク角センサ１１、車速センサ１２、アクセルセンサ１３、前輪側車重センサ１４、後輪側車重センサ１５、内燃機関２０、電子制御装置（以下、ＥＣＵ）３０と、を備える。
【００１４】
クランク角センサ１１は、エンジン回転数ＮＥを演算する際に必要とされるクランク角度に応じた検出信号を出力する。車速センサ１２は、自車両の車速に応じた検出信号を出力する。アクセルセンサ１３は、自車両の運転者によるアクセルペダルの操作量を表すアクセル開度Ａｃｐに応じた検出信号を出力する。
【００１５】
前輪側車重センサ１４、後輪側車重センサ１５は、圧電素子歪計を備える。前輪側車重センサ１４は前輪側の荷重に応じた検出信号を出力し、後輪側車重センサ１５は、後輪側の荷重に応じた検出信号を出力する。前輪側の荷重とは、前側の車輪に対する荷重をいい、後輪側の荷重とは、後側の車輪に対する荷重をいう。なお、前側とは、車両の長手方向において運転席が備えられている側をいい、以下では、前側、または前輪側という。後側及び後輪側とは、その反対側をいう。また、以下において、前後方向という場合には、前側から後側への方向または後側から前側へ方向をいう。
【００１６】
前輪側車重センサ１４、後輪側車重センサ１５による検出信号は、電圧値として出力される。一例として、前輪側車重センサ１４は、前輪側における左右の車輪に対する荷重の平均値を表す電圧値を前輪側の荷重を表す電圧値として出力する。また、後輪側車重センサ１５は、後輪側における左右の車輪に対する荷重の平均値を表す電圧値を後輪側の荷重を表す電圧値として出力する。
【００１７】
以下では、前輪側車重センサ１４により検出され、前輪側の荷重を表す電圧値を前荷重値Ｖｆといい、後輪側車重センサ１５によって検出され、後輪側の荷重を表す電圧値を後荷重値Ｖｒという。
【００１８】
エンジン２０は、ＥＣＵ３０からの要求に応じてトルクを発生させ、発生したトルクを車輪軸へ出力する。これにより、車輪軸に連結されている車輪に、ＥＣＵ３０からの要求に応じたトルクが伝達される。そして、車輪に伝達されたトルクにより、車両の加速及び減速が実現される。
【００１９】
ＥＣＵ３０は、エンジン２０に対して要求信号を出力することにより、要求トルクをエンジン２０に発生させる。要求トルクとは、ＥＣＵ３０がエンジン２０に対して要求する、要求信号に応じた大きさのトルクをいう。なお、要求信号は、例えば、要求トルクの大きさに応じた信号であってもよい。また、要求信号は、要求トルクを発生させるように、エンジン２０が有するインジェクタ２１に燃料噴射を実施させる際の燃料噴射量を表す信号であってもよい。ただし、これらに限るものではない。
【００２０】
つまり、ＥＣＵ３０は、要求トルクに応じて、車両の加速及び減速の制御を行う。
ＥＣＵ３０は、ＣＰＵ３１と、ＲＡＭ、ＲＯＭ、フラッシュメモリ等の半導体メモリ（以下、メモリ３２）と、を有する周知のマイクロコンピュータを中心に構成される。ＥＣＵ３０の各種機能は、ＣＰＵ３１が非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、メモリ３２が、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムの実行により、プログラムに対応する方法が実行される。なお、ＥＣＵ３０を構成するマイクロコンピュータの数は１つでも複数でもよい。
【００２１】
ＥＣＵ３０は、ＣＰＵ３１がプログラムを実行することで、各種の機能を実現する。なお、ＥＣＵ３０における各種の機能を実現する手法はソフトウェアに限るものではなく、その一部又は全部の要素を、論理回路やアナログ回路等を組み合わせたハードウェアを用いて実現してもよい。
【００２２】
メモリ３２が有するＲＯＭには、ＣＰＵ３１によって実行されるプログラムの他に、プログラムの実行時に参照されるデータ等が記録されている。
［１−２．処理］
［１−２−１．要求トルク演算処理］
ＥＣＵ３０が実行する要求トルク演算処理について、図２のフローチャートを用いて説明する。要求トルク演算処理は、ＥＣＵ３０の電源がオンされている間、繰り返し実行される。
【００２３】
要求トルク演算処理は、車両に坂を走行させる際に、外力の影響を抑制して車両を走行させるように、要求トルクを演算するための処理である。
外力とは、一例として図３における（ａ）に示すように、自車両が勾配を有する道路（以下、坂）を走行するときに、車体における傾きの向きに基づいて、自車両の車輪に対して、自車両の前後方向に作用する力Ｆｇをいう。以下では、一例として、車体における傾きの向きに基づいて自車両の前輪側に作用する力を外力Ｆｇとして説明する。
【００２４】
車体における傾きの向きとは、車両における前側が向いている向き、をいう。前側車体の後側が下で前側が上となるときは坂を上る向きであり、反対であるときは坂を下る向きであるものとする。なお、ここでいう「上」とは、「下」よりも、水平面に対して高い位置であることをいう。
【００２５】
坂の傾きの大きさは勾配角φによって表される。勾配角φの単位は［度］である。勾配角φは、坂における路面の、水平面からのずれを角度で表したものである。なお、以下でいう車体における傾きの大きさθとは、水平面に対する車体の前後方向における傾きの大きさであって、坂の勾配角φに等しいものとする。勾配角φと同様に、車体における傾きの大きさθの単位は［度］である。
【００２６】
例えば、外力Ｆｇは、図３における（ａ）に示すように車両が坂を上る場合、車両の進行方向と逆向きに、車両の走行を妨げるように作用する。つまり、車体を後方の側（以下、後方側）に引く力として作用する。また、外力Ｆｇは、図示していないが、車両が坂を下る場合、車両の進行方向と同じ向きに作用する。つまり、車体を前方の側（以下、前方側）に引く力として作用する。
【００２７】
要求トルク演算処理は、このような外力Ｆｇの影響を抑制するように要求トルクを演算する。なお、以下の説明において、主語が省略されている場合、ＣＰＵ３１を主語とする。
【００２８】
はじめに、Ｓ１０では、ＣＰＵ３１は、基準設定処理を実行する。基準設定処理は、基準荷重を設定する処理である。基準荷重とは、図３における（ｂ）に示すように、車両が平坦な場所に停止しているときに検出される、前輪側の荷重、後輪側の荷重をいう。基準設定処理では、車両が平坦な場所に停止しているときに検出される前荷重値Ｖｆを前側基準値ＶＢｆとして設定し、後後荷重値Ｖｒを後側基準値ＶＢｒとして設定する。
【００２９】
Ｓ２０では、ＣＰＵ３１は、補正トルク演算処理を実行する。補正トルク演算処理は、前荷重値ＶｆとＳ１０にて設定された前側基準値ＶＢｆとの比較、及び、後荷重値ＶｒとＳ１０にて設定された後側基準値ＶＢｒとの比較に基づいて、車両が坂を走行するときに作用する外力Ｆｇの影響を抑制するための補正トルクを演算する処理である。なお、本実施形態では、ＣＰＵ３１は、補正トルク演算処理にて、車両が坂を上るときに作用する外力Ｆｇの影響を抑制するための補正トルクを演算する。
【００３０】
Ｓ３０では、ＣＰＵ３１は、補正後トルク演算処理を実行する。補正後トルク演算処理は、Ｓ２０にて算出された補正トルクに基づいて、車両が坂を上るときに作用する外力Ｆｇの影響を抑制するように要求トルクを算出する処理である。ＣＰＵ３１は、本ステップにて要求トルクを算出すると、本要求トルク演算処理を終了する。
【００３１】
［１−２−２．基準設定処理］
次に、要求トルク演算処理のＳ１０にて実行される基準設定処理について、図４に示すフローチャートを用いて説明する。
【００３２】
Ｓ１１０では、メモリ３２に記録されている車速ＳＰＤiを前回の車速ＳＰＤi-1として、メモリ３２に上書きして記録する。
Ｓ１１５では、ＣＰＵ３１は、車速センサ１２から車速を取得し、車速ＳＰＤiとして、メモリ３２に上書きして記録する。
【００３３】
Ｓ１２０では、ＣＰＵ３１は、取得した車速ＳＰＤiが０であるか否かを判断する。そして、ＣＰＵ３１は、車速ＳＰＤiが０である場合は処理をＳ１３０へ移行させ、０でない場合は処理をＳ１２５へ移行させる。
【００３４】
Ｓ１２５では、ＣＰＵ３１は、演算フラグＦｓをリセットし、処理をＳ１６０へ移行させる。以下では、一例として、フラグをリセットするとは、フラグを０に設定することをいい、フラグをセットするとは、フラグを１に設定することをいう。ただし、これに限定されるものではない。
【００３５】
演算フラグＦｓは、状態情報の一例である。状態情報とは、自車両が平坦停止状態にあるか否かを表す情報である。ただし、状態情報は演算フラグＦｓに限定されるものではない。状態情報は、自車両が平坦停止状態にあるか否かを表すことができれば、どのように設定された情報であってもよい。演算フラグＦｓをリセットすることは、自車両が平坦停止状態にないことを表すように状態情報を設定することを意味する。状態情報はメモリ３２に記録されている。
【００３６】
なお、平坦停止状態とは、自車両が平坦な場所に位置し、且つ、停止している状態をいう。平坦な場所とは、坂では無く、水平である場所をいう。ここで「水平」とは、厳密な意味での水平に限るものではなく、目的とする効果を奏するのであれば厳密に水平でなくてもよい。言い換えれば、平坦な場所とは、勾配角φが０度である場所をいう。なお、ここで「０」とは、厳密な意味での０に限るものではなく、目的とする効果を奏するのであれば厳密に水平でなくてもよい。
【００３７】
Ｓ１３０では、ＣＰＵ３１は、メモリ３２から前回の車速ＳＰＤi-1を読み出し、前回の車速ＳＰＤi-1が０であるか否かを判断する。前回の車速ＳＰＤi-1が０である場合は、車両が継続して停止していると判断し、処理をＳ１４５へ移行させる。前回の車速ＳＰＤi-1が０でない場合は、車両が停止を開始した判断し、処理をＳ１３５へ移行させる。
【００３８】
Ｓ１３５では、ＣＰＵ３１は、前輪側車重センサ１４、後輪側車重センサ１５から、前荷重値Ｖｆ、後荷重値Ｖｒを取得し、停止している場所が平坦な場所であるか否かを判断する。具体的には、前荷重値Ｖｆが前基準値ＶＢｆと等しく、且つ、後荷重値Ｖｒが後側基準値ＶＢｒと等しい場合に、平坦な場所であると判断する。前側基準値ＶＢｆ、後側基準値ＶＢｒは、メモリ３２に記録されている。
【００３９】
前輪側車重センサ１４及び後輪側車重センサ１５は、圧力素子に対して垂直に作用する荷重を検出するようになっている。つまり、図３における（ａ）に示すように、車両が停止している場所が坂である場合は、前荷重値Ｖｆが前側基準値ＶＢｆ未満となり、且つ後荷重値Ｖｒが後側基準値ＶＢｒ未満となる。これに対して、図３における（ｂ）に示すように、車両が停止している場所が平坦な場所である場合は、前荷重値Ｖｆは前側基準値ＶＢｆと等しく、且つ、後荷重値Ｖｒは後側基準値ＶＢｒと等しくなる。
【００４０】
ＣＰＵ３１は、このように、前荷重値Ｖｆと前側基準値ＶＢｆとの比較、及び、後荷重値Ｖｒと後側基準値ＶＢｒとの比較に基づいて、車両が停止している場所が平坦な場所であるか否かを判断している。
【００４１】
なお、ここで「等しい」とは、厳密な意味での等しいに限るものではなく、目的とする効果を奏するのであれば厳密に等しくなくてもよい。
ＣＰＵ３１は、停止している場所が平坦な場所である場合は処理をＳ１４０へ移行させ、平坦な場所でない場合は処理をＳ１６０へ移行させる。
【００４２】
Ｓ１４０では、演算フラグＦｓをセットし、処理をＳ１６０へ移行させる。演算フラグＦｓをセットすることは、自車両が平坦停止状態にあることを表すように状態情報を設定すること、を意味する。
【００４３】
Ｓ１４５では、ＣＰＵ３１は、演算フラグＦｓを取得する。
Ｓ１５０では、ＣＰＵ３１は、自車両が平坦停止状態であることが継続されているか否かを判断する。具体的には、ＣＰＵ３１は、演算フラグＦｓがセットされている場合に、平坦停止状態が継続されていると判断する。ＣＰＵ３１は、平坦停止状態が継続されていない場合に処理をＳ１６０へ移行させ、継続されている場合に処理をＳ１５５へ移行させる。
【００４４】
Ｓ１５５では、ＣＰＵ３１は、演算フラグＦｓがセットされている場合に、前輪側車重センサ１４から前荷重値Ｖｆを取得し、取得した前荷重値Ｖｆを前側基準値ＶＢｆとしてメモリ３２に保存する。また、後輪側車重センサ１５から後荷重値Ｖｒを取得し、取得した後荷重値Ｖｒを後側基準値ＶＢｒとしてメモリ３２に保存する。
【００４５】
なお、本実施形態では、セットされた演算フラグＦｓがＳ１４５にて取得される毎に、前荷重値Ｖｆを前側基準値ＶＢｆとして、後荷重値Ｖｒを後側基準値ＶＢｒとして、メモリ３２に上書き保存する。
【００４６】
Ｓ１６０では、ＣＰＵ３１は、前側基準値ＶＢｆを用いて、車両の重量Ｍを推定する。具体的には、前側基準値ＶＢｆと係数Ｃとを乗算することによって、車両の重量Ｍを推定する。係数Ｃは、前側基準値ＶＢｆと乗算されることによって車両の重量Ｍを表すように予め定められており、メモリ３２に記録されている。ＣＰＵ３１は、車両が平坦停止状態にあるときに推定した車両の重量Ｍをメモリ３２に記録し、本基準設定処理を終了する。
【００４７】
［１−２−３．補正トルク演算処理］
次に、図５に示すフローチャート、及び、図７を用いて、補正トルク演算処理について説明する。
【００４８】
Ｓ２１０では、ＣＰＵ３１は、前輪側車重センサ１４及び後輪側車重センサ１５から、前荷重値Ｖｆ及び後荷重値Ｖｒの両方を取得する。なお以下では、前荷重値Ｖｆ及び後荷重値Ｖｒに共通の内容を説明する場合は、前荷重値Ｖｆ及び後荷重値Ｖｒを単に「荷重」といい、前側基準値ＶＢｆ及び後側基準値ＶＢｒを単に「基準値」という。
【００４９】
Ｓ２１５では、ＣＰＵ３１は、車体の傾きの向きが、自車両が坂を上る向きであるか否かを判断する。ＣＰＵ３１は、後荷重値Ｖｒの時間に伴う変化が、増減状態を示した場合に、増減状態を示した後荷重値Ｖｒが取得された後側が下で他方の前側が上となる向きを、車体における傾きの向きとして推定する。
【００５０】
本ステップでは、増減状態とは、後荷重値Ｖｒの時間に伴う変化が、後荷重値Ｖｒが後側基準値ＶＢｒよりも増加した後に減少に転じる状態をいう。自車両が坂に位置する場合、後側が下で前側が上となる向きは、自車両が坂を上る向きに相当する。
【００５１】
一例として図７における時刻ｔ１に示すように、車両が坂を上り始める場合、後荷重値Ｖｒの時間に伴う変化は増減状態を示すことが知られている。なお、図７に示す路面イメージにおける（ａ）の部分は、車両が坂を上る場合の上り始めの位置を示している。そこで、ＣＰＵ３１は、後荷重値Ｖｒの増減状態の有無に基づいて、車体の傾きの向きを推定している。
【００５２】
なお、本実施形態では、ＣＰＵ３１は、前荷重値Ｖｆの増減状態の有無を検出する一例として、後荷重値Ｖｒが後側基準値ＶＢｒよりも増加したことを検出し、このよう増加が検出された場合に、車体の傾きの向きが坂を上る向きであると推定している。坂を上り始める際には、まず、前荷重値Ｖｆが前側基準値ＶＢｆより大きくなる現象が生じるためである。これにより、簡易な処理で増減状態の有無が検出される。
【００５３】
但し、これに限定されるものではなく、例えば、ＣＰＵ３１は、後荷重値Ｖｒが、後側基準値ＶＢｒよりも増加し、且つ、増加した後に減少に転じる状態を検出した場合に、車体の傾きの向きが坂を上る向きであると推定してもよい。
【００５４】
Ｓ２２０では、ＣＰＵ３１は、上り坂フラグＦｃをセットし、処理をＳ２４５へ移行させる。上り坂フラグＦｃは、車体の傾きの向きが、坂を上る向きであるときにセットされ、坂を下る向きであるときにリセットされるフラグである。
【００５５】
Ｓ２２５では、ＣＰＵ３１は、上り坂フラグＦｃがセットされているか否かを判断する。ここで、上り坂フラグＦｃがセットされている場合、ＣＰＵ３１は、車体の傾きの向きが坂を上る向きであるとして、処理をＳ２３０へ移行させる。一方、上り坂フラグＦｃがセットされていない場合、ＣＰＵ３１は、車体の傾きの向きが坂を下る向きであるとして、処理をＳ２４５へ移行させる。
【００５６】
Ｓ２３０では、ＣＰＵ３１は、車両が坂に位置しているか否かを判断する。以下、位置するとは、車両が走行している場合及び停止している場合の両方を含む。なお、本ステップにおいて、車両が坂に位置していない場合とは、車両が坂を下り始めた場合、または、車両が平坦な場所に位置している場合をいう。
【００５７】
具体的には、ＣＰＵ３１は、前荷重値Ｖｆが前側基準値ＶＢｆ未満であり、且つ、後荷重値Ｖｒが後側基準値ＶＢｒ未満である場合に、車両が坂に位置していると判断する。ＣＰＵ３１は、車両が坂に位置している場合に処理をＳ２５０へ移行させ、坂に位置していない場合に処理をＳ２３５へ移行させる。
【００５８】
Ｓ２３５では、ＣＰＵ３１は、車体の傾きの向きが、自車両が坂を下る向きであるか否かを判断する。ＣＰＵ３１は、前荷重値Ｖｆの時間に伴う変化が、増減状態を示した場合に、増減状態を示した前荷重値Ｖｆが取得された前側が下で他方の後側が上となる向きを、車体における傾きの向きとして推定する。
【００５９】
本実施形態では、増減状態とは、前荷重値Ｖｆの時間に伴う変化が、前荷重値Ｖｆが前側基準値ＶＢｆよりも増加した後に減少に転じる状態をいう。自車両が坂に位置する場合、前側が下で後側が上となる向きは、自車両が坂を下る向きに相当する。
【００６０】
一例として図７における時刻ｔ４に示すように、車両が坂を下り始める場合、前荷重値Ｖｆの時間に伴う変化は増減状態を示すことが知られている。なお、図７に示す路面イメージにおける（ｂ）の部分は、車両が坂を下る場合の下り始めの位置を示している。そこで、ＣＰＵ３１は、前荷重値Ｖｆの増減状態の有無に基づいて、車体の傾きの向きを推定している。
【００６１】
なお、本実施形態では、ＣＰＵ３１は、前荷重値Ｖｆの増減状態の有無を検出する一例として、前荷重値Ｖｆが前側基準値ＶＢｆよりも増加したことを検出し、このよう増加が検出された場合に、車体の傾きの向きが坂を下る向きであると推定している。坂を下り始める際には、まず、前荷重値Ｖｆが前側基準値ＶＢｆより大きくなる現象が生じるためである。これにより、簡易な処理で増減状態の有無が検出される。
【００６２】
但し、これに限定されるものではなく、例えば、ＣＰＵ３１は、前荷重値Ｖｆが、前側基準値ＶＢｆよりも増加し、且つ、増加した後に減少に転じる状態を検出した場合に、車体の傾きの向きが坂を下る向きであると推定してもよい。
【００６３】
Ｓ２４０では、ＣＰＵ３１は、上り坂フラグＦｃをリセットする。そして、処理をＳ２４５へ移行させる。
Ｓ２４５では、ＣＰＵ３１は、補正トルクＴｃを０に設定する。そして、本補正トルク演算処理を終了する。
【００６４】
Ｓ２５０では、ＣＰＵ３１は、荷重の基準荷重に対する割合に基づいて、車体における傾きの大きさθを推定する。すなわち、本実施形態では、ＣＰＵ３１は、Ｓ２１５により後荷重値Ｖｒが増減状態となったと判断され、この際にＳ２３０に示すように、後荷重値Ｖｒが後側基準値ＶＢｒよりも小さくなり、且つ前荷重値Ｖｆが前側基準値ＶＢｆよりも小さくなった場合に、車体における傾きの大きさθを推定する。
【００６５】
具体的には、ＣＰＵ３１は、前荷重値Ｖｆの前基準値ＶＢｆに対する割合をｃｏｓθとして、車体における傾きの大きさθを推定する。
Ｓ２５５では、ＣＰＵ３１は、外力Ｆｇの向き及び大きさを推定する。本実施形態では、ＣＰＵ３１は、Ｓ２１５にて推定された車体における傾きの向き、及びＳ２５０にて推定された車体における傾きの大きさθに基づいて、外力Ｆｇの向き及び大きさを推定する。
【００６６】
ＣＰＵ３１は、車体における傾きの向きが坂を上る向きである場合、車体を後方に引く向きに外力Ｆｇが作用すると推定し、坂を下る向きである場合、車体を前方に引く向きに外力Ｆｇが作用すると推定する。本ステップでは、ＣＰＵ３１は、車体における傾きの向きが坂を上る向きであるため、車体を後方に引く向きに外力Ｆｇが作用すると推定する。
【００６７】
ＣＰＵ３１は、外力Ｆｇの大きさを、Ｍｇｓｉｎθとして算出する。ここで、Ｍは基準設定処理のＳ１６０にて推定した車両の重量であり、ｇは重力加速度であり、θは車体における傾きの大きさ、である。
【００６８】
Ｓ２６０では、ＣＰＵ３１は、車体における傾きの向きに基づいて自車両の前後方向に作用する力である外力Ｆｇを打ち消すための、自車両における制御量を算出する。本実施形態では、制御量とは、一例として、要求トルクを補正するためのトルクの値である補正トルクＴｃをいう。ただし、これに限るものではなく、制御量は、例えば、インジェクタ２１における燃料噴射量や燃料噴射量に応じた電流値等のように、エンジン２０にて発生させるトルクを制御可能な物理量であればよい。
【００６９】
特に、本実施形態では、ＣＰＵ３１は、Ｓ２５５により推定された大きさの外力Ｆｇを打ち消すように、自車両における制御量である補正トルクＴｃを算出する。
具体的には、ＣＰＵ３１は、補正トルクＴｃの大きさを、ＭｇＲｓｉｎθとして算出する。ここで、Ｒはタイヤの半径である。
【００７０】
また、本実施形態では、坂を上る向きを車体における傾きの向きとして推定した場合に、車体を後方側に引くように作用する外力Ｆｇを打ち消すように、補正トルクＴｃを算出する。つまり、補正トルクＴｃは、車体における傾きの向きが坂を上る向きである場合は正の符号を有する。
【００７１】
ＣＰＵ３１は、このように算出した制御量である補正トルクＴｃをメモリ３２に記録し、本補正トルク演算処理を終了する。
［１−２−３．補正後トルク演算処理］
次に、要求トルク演算処理のＳ３０にて実行される補正後トルク演算処理について、図６に示すフローチャートを用いて説明する。
【００７２】
Ｓ３１０では、ＣＰＵ３１は、エンジン回転数ＮＥとアクセル開度Ａｃｐに基づいて、要求トルクＴを特定する。要求トルクＴは、トルクマップに基づいて算出される。トルクマップとは、例えば、エンジン回転数ＮＥを横軸とし、発生させる要求トルクの推定値を縦軸として、これらの関係が、複数とおりのアクセル開度Ａｃｐについて記録されたマップのことである。トルクマップはメモリ３２に記録されている。
【００７３】
Ｓ３２０では、ＣＰＵ３１は、Ｓ３１０で特定した要求トルクＴと補正トルクＴｃとを加算した値を、新たな要求トルクＴとしてメモリ３２に記録する。そして、本補正後トルク処理を終了する。
【００７４】
次に、このように構成されたＥＣＵ３０の作動について、図７を用いて説明する。
［１−３．作動］
（１）時刻ｔ１において、後荷重値Ｖｒにて増減状態が検出されると、ＣＰＵ３１は、車両が坂を上り始めたと判断し、車両を後方側に引くように作用する外力Ｆｇを打ち消すように補正トルクＴｃを算出する。要求トルクＴは補正トルクＴｃが加算された値に更新される。
【００７５】
（２）時刻ｔ２において、車両が平坦な場所を走行するようになると、ＣＰＵ３１は、前側基準値ＶＢｆと等しい値の前荷重値Ｖｆ、後側基準値ＶＢｒと等しい後荷重値Ｖｒを検出する。
【００７６】
（３）時刻ｔ３において、車両が平坦な場所に停止しているときに車両の重量Ｍが変化すると、この変化に応じて、前側基準値ＶＢｆ、後側基準値ＶＢｒが更新される。
（４）時刻ｔ４において、前荷重値Ｖｆにて増減状態が検出されると、ＣＰＵ３１は、車両が坂を下り始めたと判断する。ただし、本実施形態では、ＣＰＵ３１は、車体の傾きの向きが坂を下る向きであるので、補正トルクＴｃの算出を行わない。つまり、補正トルクＴｃは０である。
【００７７】
（５）時刻ｔ５〜時刻ｔ６において、仮にタイヤのスリップが生じ、運転者がアクセルペダルを踏み込んだとしても、ＣＰＵ３１は、図７における（ｄ）に示すように、補正トルクＴｃの算出を行わない。つまり、補正トルクＴｃは０である。
【００７８】
（６）時刻ｔ６において、後荷重値Ｖｒにて増減状態が検出されると、ＣＰＵ３１は、車両が坂を上り始めたと判断し、補正トルクＴｃを算出する。ただし、時刻ｔ３において車両の重量Ｍが変化しているので、図７における（ｅ）に示すように、車両の重量Ｍの変化に応じた補正トルクＴｃが算出される。
【００７９】
［１−４．効果］
以上詳述した第１実施形態によれば、以下の効果が得られる。
（１ａ）ＥＣＵ３０は、例えばＳ２１０のように、前輪側及び後輪側の少なくとも一方における荷重をくり返し取得する。また、ＥＣＵ３０は、例えばＳ２１５のように、荷重の時間に伴う変化が、荷重が増加した後に減少に転じる状態である増減状態を示した場合に、前輪側及び後輪側のうち増減状態を示した荷重が取得された側が下で他方の側が上となる向きを、車体における傾きの向きとして推定する。更に、ＥＣＵ３０は、例えばＳ２６０のように、車体における傾きの向きに基づいて自車両の前後方向に作用する力である外力Ｆｇを打ち消すための自車両における制御量を算出する。
【００８０】
これによれば、タイヤのスリップによって変化が生じにくい荷重に基づき制御量を算出するので、車両に坂を走行させる際に、車速に基づき駆動力を調整する従来技術よりも、車両の前後方向に作用する外力Ｆｇの影響を精度よく抑制することができる。
【００８１】
（１ｂ）ＥＣＵ３０は、更に、例えばＳ１４５のように、自車両が平坦な場所に位置し且つ停止している状態である平坦停止状態であるか否かを表す状態情報を取得してもよい。また、ＥＣＵ３０は、例えばＳ１５５のように、状態情報が平坦停止状態であることを表す場合に、荷重を基準荷重として記録部に保存してもよい。また、ＥＣＵ３０は、例えばＳ２１５のように、荷重の時間に伴う変化が、荷重が基準荷重よりも増加した後に減少に転じる状態を、増減状態としてもよい。
【００８２】
これによれば、増減状態を判断する基準が基準荷重であることが明確であるので、車体の傾きの向きを精度よく推定することができる。
（１ｃ）ＥＣＵ３０は、更に、例えばＳ２５０のように、荷重が増減状態となり、この際に荷重が基準荷重よりも小さくなった場合に、荷重の基準荷重に対する割合に基づいて、車体における傾きの大きさθを推定してもよい。また、ＥＣＵ３０は、例えばＳ２５５のように、Ｓ２１５およびＳ２５０により推定された、車体における傾きの向き及び大きさに基づいて、外力Ｆｇの向き及び大きさを推定してもよい。そして、ＥＣＵ３０は、推定された大きさの外力Ｆｇを打ち消すための自車両における制御量を算出してもよい。
【００８３】
これによれば、車体における傾きの向き及び大きさに基づいて推定した外力Ｆｇの大きさを用いて制御量を設定するので、制御量が予め定められた値に設定されているような場合よりも、外力Ｆｇの影響を精度よく抑制することができる。
【００８４】
（１ｄ）ＥＣＵ３０は、例えばＳ１４５のように、状態情報を繰り返し取得してもよい。また、ＥＣＵ３０は、例えばＳ１５５のように、状態取得部により平坦停止状態であることを表す状態情報が取得される毎に、つまり、セットされた演算フラグＦｓが取得されるたびに、荷重を基準荷重としてメモリ３２に上書き保存してもよい。
【００８５】
これによれば、仮に、車両が平坦な場所に停止しているときに、荷物の積み下ろしや乗員の乗り降り等が行われて車両の重量が変化したとしても、基準荷重が更新されるので、車両の傾きの向きと大きさとを精度よく推定することができる。
【００８６】
（１ｅ）ＥＣＵ３０は、例えばＳ２１０のように、自車両の後輪側の荷重を繰り返し取得してもよい。また、例えばＳ２１５のように、後輪側の荷重の時間に伴う変化が増減状態を示した場合に、自車両が坂を上る向きを、車体における傾きの向きとして推定してもよい。これによれば、ＥＣＵ３０は、後輪側の荷重に基づいて、自車両が坂を上る向きを検出することができる。
【００８７】
（１ｆ）ＥＣＵ３０は、例えばＳ２６０のように、Ｓ２１５にて坂を上る向きを車体における傾きの向きとして推定した場合に、車体を後方側に引く外力を打ち消すための制御量を算出してもよい。これによれば、制御量の向きが明確となるので、外力Ｆｇによる影響を精度よく抑制することができる。
【００８８】
（１ｇ）ＥＣＵ３０は、Ｓ２１０において、自車両の前輪側の荷重を繰り返し取得するよう構成されてもよい。また、ＥＣＵ３０は、Ｓ２３５のように、前輪側の荷重の時間に伴う変化が増減状態を示した場合に、自車両が坂を下る向きを、車体における傾きの向きとして推定してもよい。これによれば、ＥＣＵ３０は、前輪側の荷重に基づいて、自車両が坂を下る向きを検出することができる。
【００８９】
（１ｈ）ＥＣＵ３０は、Ｓ２６０に示すように、例えばＳ２３５により自車両が坂を下る向きを車体における傾きの向きとして推定された場合には、外力Ｆｇを打ち消すための自車両における制御量を算出しない。これによれば、下りのときは制御量を算出しないので、ＥＣＵ３０の処理負荷が低減される。
【００９０】
なお、上記実施形態では、ＥＣＵ３０が制御装置に相当し、メモリ３２が記録部に相当する。また、ＥＣＵ３０が、荷重取得部、傾き推定部、制御量算出部、状態取得部、基準保存部、大きさ推定部、外力推定部に相当する。また、Ｓ１４５が状態取得部としての処理に相当し、Ｓ１５５が基準保存部としての処理に相当する。また、Ｓ２１０が荷重取得部としての処理に相当し、Ｓ２１５が傾き推定部としての処理に相当し、Ｓ２５０が大きさ推定部としての処理に相当し、Ｓ２５５が外力推定部としての処理に相当し、Ｓ２６０が制御量算出部としての処理に相当する。
【００９１】
また、前荷重値Ｖｆが前輪側の荷重に相当し、後荷重値Ｖｒが後輪側の荷重に相当する。また、前側基準値ＶＢｆ、後側基準値ＶＢｒが基準荷重に相当する。
［２．第２実施形態］
［２−１．第１実施形態との相違点］
第２実施形態は、基本的な構成は第１実施形態と同様であるため、共通する構成については説明を省略し、相違点を中心に説明する。なお、第１実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【００９２】
前述した第１実施形態では、車両における前側と後側とにおいて、不均一に重量が分布しているものと想定し、前荷重値Ｖｆと前側基準値ＶＢｆとの比較、及び後荷重値Ｖｒと後側基準値ＶＢｒとの比較の両方を用いて、車体の傾きの向きと大きさとを推定し、補正トルクＴｃを算出した。これに対し、第２実施形態では、車両における前側と後側とにおいて、均一に重量が分布しているものと想定し、前荷重値Ｖｆ及び後荷重値Ｖｒと比較する対象として、前側基準値ＶＢｆ及び後側基準値ＶＢｒの一方のみを用いて、車体の傾きの向きと大きさとを推定する点で、第１実施形態と相違する。
【００９３】
［２−２．処理］
次に、第２実施形態のＥＣＵ３０が、第１実施形態の図４、図５に示す処理に代えて実行する基準設定処理、補正トルク演算処理について、図８、図９のフローチャートを用いて説明する。本実施形態では、前荷重値Ｖｆ及び後荷重値Ｖｒと比較する対象として、前側基準値ＶＢｆのみを用いるものとする。
【００９４】
本実施形態の基準設定処理では、図８に示すように、図４におけるＳ１５５及びＳ１３５が、Ｓ１５６、Ｓ１３６に置換される。
すなわち、ＣＰＵ３１は、Ｓ１５０にて平坦停止状態であると判断された場合に移行するＳ１５６では、前荷重値Ｖｆを前側基準値ＶＢｆとしてメモリ３２に保存する処理のみを実行してもよい。
【００９５】
また、ＣＰＵ３１は、Ｓ１３０にて前回の車速ＳＰＤi-1が０でないと判断された場合に移行するＳ１３６において、前輪側車重センサ１４、後輪側車重センサ１５から、前荷重値Ｖｆ、後荷重値Ｖｒを取得し、前荷重値Ｖｆが前基準値ＶＢｆと等しく、且つ、後荷重値Ｖｒが前側基準値ＶＢｆと等しい場合に、平坦な場所であると判断してもよい。
【００９６】
また、本実施形態の補正トルク演算処理では、図９に示すように、図５におけるＳ２３０が、Ｓ２３１に置換される。
すなわち、ＣＰＵ３１は、Ｓ２２５にて上り坂フラグＦｃがセットされていると判断された場合に移行するＳ２３１において、前荷重値Ｖｆが前側基準値ＶＢｆ未満であることのみに基づいて、車両が坂に位置していると判断してもよい。
【００９７】
［２−３．効果］
以上詳述した第２実施形態によれば、車両における前側と後側とにおいて均一に重量が分布している場合には、前述した第１実施形態と同様の効果が得られる。
【００９８】
なお、本実施形態では、Ｓ１５５が基準保存部としての処理に相当する。
［２−４．変形例］
（１）第２実施形態では、ＣＰＵ３１は、前荷重値Ｖｆ及び後荷重値Ｖｒと比較する対象として、前側基準値ＶＢｆのみを用いて車体の傾きの向き及び大きさを推定したが、これに限定されるものではない。ＣＰＵ３１は、比較する対象として、後側基準値ＶＢｒのみを用いて、車体の傾きの向き及び大きさを推定してもよい。
【００９９】
（２）ＣＰＵ３１は、補正トルク演算処理のＳ２１６に代えて、後荷重値Ｖｒ＞前荷重値Ｖｆである場合に、車体の傾きの向きが坂を上る向きであると判定してもよい。
（３）ＣＰＵ３１は、補正トルク演算処理のＳ２３５に代えて、前荷重値Ｖｆ＞後荷重値Ｖｒである場合に、車体の傾きの向きが坂を下る向きであると判定してもよい。
【０１００】
［３．他の実施形態］
以上、本発明を実施するための形態について説明したが、本発明は上述の実施形態に限定されることなく、種々変形して実施することができる。
【０１０１】
（３ａ）上記実施形態では、ＣＰＵ３１は、前荷重値Ｖｆ、及び後荷重値Ｖｒを繰り返し取得していたが、これに限るものではない。例えば、ＣＰＵ３１は、後荷重値Ｖｒだけを繰り返し取得し、後荷重値Ｖｒの時間に伴う変化が前述の増減状態を示した場合に、坂を上る向きを、車体における傾きの向きとして推定してもよい。また例えば、ＣＰＵ３１は、前荷重値Ｖｆだけを繰り返し取得し、前荷重値Ｖｆの時間に伴う変化が増減状態を示した場合に、坂を下る向きを、車体における傾きの向きとして推定してもよい。
【０１０２】
（３ｂ）上記実施形態では、ＣＰＵ３１は、補正トルク演算処理にて、車両が坂を上るときに作用する外力Ｆｇの影響を抑制するための補正トルクを演算したが、これに限定されるものではない。例えば、ＣＰＵ３１は、車両が坂を下るときに作用する外力の影響を抑制するための補正トルクを演算してもよい。この場合、ＣＰＵ３１は、坂を下る向きを車体における傾きの向きとして推定した場合に、車体を前方側に引くように作用する外力を打ち消すように、補正トルクＴｃを算出してもよい。
【０１０３】
補正トルクＴｃは、坂を下る向きである場合は負の符号を有するように、算出されてもよい。これにより、坂を上る向きである場合と同様に、トルクマップから特定された要求トルクＴに補正トルクＴｃを加算することにより、補正後の要求トルクＴを算出することができる。
【０１０４】
（３ｃ）上記実施形態では、セットされた演算フラグＦｓがＳ１４５にて取得される毎に、前側基準値ＶＢｆ、後側基準値ＶＢｒをメモリ３２に上書き保存していたが、これに限定されるものではない。例えば、ＣＰＵ３１は、セットされた演算フラグＦｓが取得された回数が予め定められた回数を超える毎に、前側基準値ＶＢｆ、後側基準値ＶＢｒをメモリ３２に上書き保存してもよい。
【０１０５】
（３ｄ）上記実施形態では、増減状態とは、荷重の時間に伴う変化が、基準荷重よりも増加した後に減少に転じる状態を意味したが、これに限るものではない。増減状態を判定する基準は、基準荷重以外の予め定められた値であってもよい。
【０１０６】
（３ｅ）上記実施形態では、ＣＰＵ３１は、Ｓ２５０では、Ｓ２１５にて推定された車体における傾きの向き及び大きさθに基づいて外力Ｆｇの大きさを推定し、該外力Ｆｇを打ち消すように補正トルクＴｃを算出していたが、これに限定されるものではない。
【０１０７】
例えば、ＣＰＵ３１は、Ｓ２１５にて車体の傾きの向きが推定された場合に、外力の大きさとしてメモリ３２に予め設定されている値を取得し、このような予め設定された大きさの外力を打ち消すように補正トルクＴｃを算出してもよい。また例えば、ＣＰＵ３１は、Ｓ２１５にて車体の傾きの向きが推定された場合に、補正トルクＴｃの大きさとしてメモリ３２に予め設定されている値を取得し、このような予め定められた値を補正トルクＴｃの値として用いてもよい。
【０１０８】
（３ｆ）上記実施形態では、図７における（ｃ）に示すように、補正トルクＴｃを要求トルクＴに加算して新たな要求トルクＴを算出していたが、これに限るものではない。ドライバビリティを考慮して、図７における（ｃ）に示すように、補正トルクＴｃよりも小さい値のトルクを時間の経過と共に徐々に加算することにより、補正後の要求トルクＴを算出するようにしてもよい。
【０１０９】
（３ｇ）上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
【０１１０】
（３ｆ）上述したＣＰＵ３１、ＥＣＵ３０、制御システム１他、当該ＥＣＵ３０を機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、車両制御方法など、種々の形態で本発明を実現することもできる。
【符号の説明】
【０１１１】
３０  ＥＣＵ、３１  ＣＰＵ、３２  メモリ。
【図１】
2017132370.tif 000003
【図２】
2017132370.tif 000004
【図３】
2017132370.tif 000005
【図４】
2017132370.tif 000006
【図５】
2017132370.tif 000007
【図６】
2017132370.tif 000008
【図７】
2017132370.tif 000009
【図８】
2017132370.tif 000010
【図９】
2017132370.tif 000011