以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
図1は、車両制御ECU、姿勢制御ECU、及び車高調節部の動作連携を説明する機能ブロック図である。姿勢制御ECUや車両制御ECUは、ハードウェア構成としてはコンピュータのCPUやメモリをはじめとする素子や回路で実現され、ソフトウェア構成としてはコンピュータプログラム等によって実現されるが、図1ではそれらの連携によって実現される機能ブロックとして描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによって色々なかたちで実現できることは、当業者には理解されるところである。
車両姿勢制御装置としての姿勢制御ECU100は、車両300の傾斜角度調節を制御する装置である。本実施の形態における車両300の傾斜角度は、車両300のピッチ方向における傾斜角度を意味する。姿勢制御ECU100は、受信部102、制御部104、送信部106、メモリ108、及び傾斜センサとしての加速度センサ110を備える。姿勢制御ECU100は、例えば車両300のダッシュボード付近に設置される。なお、姿勢制御ECU100の設置位置は特に限定されない。加速度センサ110は、姿勢制御ECU100の外に設けられていてもよい。加速度センサ110等の傾斜センサは、ポテンションメータ等の車高センサに比べて、軽量且つ安価なセンサである。
姿勢制御ECU100には、車両300に搭載された車両制御ECU302や、スイッチ304等が接続される。車両制御ECU302には、ステアリングセンサ310、車速センサ312、ナビゲーションシステム314等が接続されており、これらのセンサ等から各種情報を取得して、姿勢制御ECU100等に送信することができる。例えば、車両制御ECU302は、車速センサ312の出力値を姿勢制御ECU100に送信する。これにより、姿勢制御ECU100は、車両300の走行状態を検知することができる。スイッチ304は、運転者の操作内容に応じて、前照灯ユニット210の点消灯を指示する信号や、前照灯ユニット210によって形成すべき配光パターンを指示する信号、後述する車両オートレベリング制御や光軸オートレベリング制御の実行を指示する信号、車両姿勢や車高の目標位置を決定する信号等を、電源306や、車両制御ECU302、姿勢制御ECU100等に送信する。
車両制御ECU302やスイッチ304から姿勢制御ECU100に出力される信号は、受信部102によって受信される。また、受信部102は、加速度センサ110の出力値を受信する。受信部102が受信した信号は、制御部104に送信される。制御部104は、演算部1041、調節指示部1042、軸情報生成部1043、及び軸情報補正部1044を有する。演算部1041は、受信部102から送られてきた加速度センサ110の出力値をもとに車両300の傾斜角度を算出する。調節指示部1042は、演算部1041で算出された傾斜角度を用いて車高調節部316を駆動させる駆動信号を生成する。制御部104は、調節指示部1042が生成した駆動信号を送信部106から出力する。駆動信号は、車高調節部316に出力される。なお、制御部104は、加速度センサ110の出力値を定期的に受信し、所定期間分の出力値あるいはその出力値から得られた車両300の傾斜角度を保持する。
軸情報生成部1043は、後述する車両の初期化処理において、加速度センサ110が車両300に搭載された状態におけるセンサ側の軸と、車両300の姿勢を決める車両側の軸と、車両300が位置する路面の角度との位置関係を示す基準軸情報を生成する。前記「車両300が位置する路面」とは、初期化処理時に車両300が載置される基準路面である。生成された基準軸情報は、情報保持部としてのメモリ108に保持される。メモリ108は不揮発性メモリである。軸情報補正部1044は、初期化処理の後、車両前後方向の加速度を第1軸に設定し車両上下方向の加速度を第2軸に設定した座標に、車両走行中に得られる加速度センサ110の出力値をプロットし、プロットした複数点から得られる直線又はベクトルの傾きを用いて、基準軸情報におけるセンサ側の軸及び車両側の軸の少なくとも一方と、路面の角度との位置関係を補正する。制御部104が有する各部の動作については、後に詳細に説明する。
車高調節部316は、例えばエアサスペンション等のサスペンション装置で構成される。車高調節部316は、一端が車体側に、他端が車輪側に連結され、制御部104が生成する駆動信号に基づいて上下に伸縮することで、車輪に対する車体の上下位置を変位させることができる。本実施形態では、車高調節部316が前輪側及び後輪側の両方に設けられる。したがって、各車高調節部316の駆動により、車両300を前傾させることも後傾させることもでき、また、車両300の傾斜角度を変えずに車高を上下させることもできる。
前照灯ユニット210は、灯具ユニット212、レベリングアクチュエータ214、電源回路216等を有する。灯具ユニット212は、その光軸を上下左右方向に調整可能である。灯具ユニット212は、シェード機構や光源等を備える。シェード機構は、例えばロータリーシェード等で構成される。灯具ユニット212は、シェード機構を用いて所定の配光パターンを形成することができる。レベリングアクチュエータ214は、制御部104から送られる光軸制御信号に基づいて駆動し、灯具ユニット212の光軸をピッチ角度方向に変位させる。電源回路216は、電源306から送られる電力を灯具ユニット212に供給する。供給される電力は、光源の点灯や、シェード機構あるいはレベリングアクチュエータ214の駆動に用いられる。
車両300には、姿勢制御ECU100、車両制御ECU302、車高調節部316及び前照灯ユニット210に電力を供給する電源306が搭載される。例えば、スイッチ304の操作により前照灯ユニット210の点灯が指示されると、電源306から電源回路216を介して灯具ユニット212に電力が供給され、これにより灯具ユニット212が点灯する。
続いて、上述の構成を備えた姿勢制御ECU100の動作について詳細に説明する。図2は、車両に生じる加速度ベクトルと、加速度センサで検出可能な車両の傾斜角度を説明するための模式図である。
例えば、車両後部の荷室に荷物が載せられたり後部座席に人等が乗車した場合、車両姿勢は後傾姿勢となり、荷物が下ろされたり後部座席の乗員が下車した場合、車両姿勢は後傾姿勢の状態から前傾する。そこで、姿勢制御ECU100は、車両のレベリングをリアルタイムで行う車両オートレベリング制御を実施する。具体的には、加速度センサ110の出力値から車両の傾斜角度又はその変化を導出し、車高調節部316を駆動させて車両の傾斜角度が所望の目標角度に保たれるように制御する。この目標角度は、運転者等が車内に設けられたスイッチ304等を用いて任意に設定することが可能である。
加速度センサ110は、例えば互いに直交するX軸、Y軸、Z軸(センサ側の軸)を有する3軸加速度センサである。加速度センサ110は、任意の姿勢で車両300に取り付けられ、車両300に生じる、車両前後方向、車両左右方向及び車両上下方向の加速度を検出可能である。走行中の車両300には、重力加速度と車両300の移動により生じる運動加速度とが生じる。そのため、加速度センサ110は、図2に示すように、重力加速度ベクトルGと運動加速度ベクトルαとが合成された合成加速度ベクトルβを検出することができる。また、車両300の停止中、加速度センサ110は、重力加速度ベクトルGを検出することができる。加速度センサ110は、検出した加速度ベクトルの各軸成分の数値を出力する。
加速度センサ110は車両300に対して任意の姿勢で取り付けられるため、加速度センサ110のX軸、Y軸、Z軸は、車両300の姿勢を決める車両300の前後軸、左右軸及び上下軸(車両側の軸)と必ずしも一致しない。このため、制御部104は、加速度センサ110から出力される3軸の成分、すなわちセンサ座標系の成分を、車両300の3軸の成分、すなわち車両座標系の成分に変換する必要がある。加速度センサ110の軸成分を車両300の軸成分に変換して車両300の傾斜角度を算出するためには、車両300に取り付けられた状態の加速度センサ110の軸と車両300の軸と路面角度との位置関係を示す基準軸情報が必要である。そこで、軸情報生成部1043は、例えば以下のようにして基準軸情報を生成する。
まず、例えば車両メーカの製造工場やディーラの整備工場などで、車両300が水平面に対して平行になるよう設計された路面(以下では適宜、この路面を基準路面という)に置かれ、第1基準状態とされる。この基準状態では、車両300は運転席に1名乗車した状態とされる。そして、工場の初期化処理装置のスイッチ操作やCAN(Controller Area Network)システムの通信等により、初期化信号が送信される。制御部104は、初期化信号を受けると所定の初期化処理を実行する。初期化処理では、初期エイミング調整が実施され、灯具ユニット212の光軸が初期設定値に合わせられる。また、軸情報生成部1043は、加速度センサ110の座標系と車両300の座標系と車両300が位置する基準路面(言い換えれば水平面)との位置関係を対応付ける。
すなわち、軸情報生成部1043は、第1基準状態における加速度センサ110の検出値を、第1基準ベクトルS1=(X1,Y1,Z1)として、制御部104内のRAMあるいはメモリ108に記録する。これにより、加速度センサ側の軸と、基準路面との位置関係が対応付けられる。次に、車両300は、ピッチ角度のみが第1状態と異なる第2状態とされる。例えば、第1状態にある車両300の前部又は後部に荷重が掛けることで、車両300を第2状態とすることができる。軸情報生成部1043は、車両300が第2状態にあるときの加速度センサ110の検出値を第2基準ベクトルS2=(X2,Y2,Z2)としてRAMあるいはメモリ108に記録する。
第1基準ベクトルS1を取得することで、加速度センサ110のZ軸と車両300の上下軸とのずれを把握することができる。また、第1基準ベクトルS1に対する第2基準ベクトルS2の成分の変化から、車両300の前後、左右軸と加速度センサ110のX、Y軸のずれを把握することができる。これにより、加速度センサ側の軸と車両側の軸の位置関係が対応付けられ、その結果、車両側の軸と基準路面の位置関係が対応付けられる。軸情報生成部1043は、加速度センサ110の軸と、車両300の軸と、基準路面の角度との位置関係を対応付けた変換テーブルを、基準軸情報としてメモリ108に記録する。
加速度センサ110から出力されるX軸、Y軸、Z軸の各成分の数値は、演算部1041が基準軸情報を用いて車両300の前後軸、左右軸、上下軸の成分に変換する。
車両停止中の加速度センサ110の出力値からは、重力加速度ベクトルGに対する車両300の傾きを導出することができる。すなわち、加速度センサ110から出力される加速度からは、水平面に対する路面の傾斜角度である路面角度θr、及び路面に対する車両300の傾斜角度である車両姿勢角度θvを含む、水平面に対する車両300の傾斜角度である合計角度θを導出可能である。なお、路面角度θr、車両姿勢角度θv及び合計角度θは、それぞれ車両300の前後軸の上下方向の角度、言い換えれば車両300のピッチ方向の角度である。
上述した車両オートレベリング制御は、車両姿勢の変化を吸収して、車両の傾斜角度を最適に保つことを目的とするものである。したがって、この車両オートレベリング制御に必要とされる角度は、車両姿勢角度θvである。すなわち、車両オートレベリング制御では、車両姿勢角度θvが変化した場合に車高調節部316が駆動され、路面角度θrが変化した場合に車高調節部316の駆動が回避されることが望まれる。このため、加速度センサ110を用いた車両オートレベリング制御では、合計角度θから、車両姿勢角度θvについての情報を抽出する必要がある。
これに対し、制御部104は、車両走行中の合計角度θの変化を路面角度θrの変化と推定し、車両停止中の合計角度θの変化を車両姿勢角度θvの変化と推定して、合計角度θから車両姿勢角度θvを導出する。車両走行中は、積載荷量や乗車人数が増減して車両姿勢角度θvが変化することは稀であるため、車両走行中の合計角度θの変化を路面角度θrの変化と推定することができる。また、車両停止中は、車両300が移動して路面角度θrが変化することは稀であるため、車両停止中の合計角度θの変化を車両姿勢角度θvの変化と推定することができる。
例えば、上述した初期化処理において、演算部1041は、基準軸情報を生成した後、第1基準状態における加速度センサ110の出力値を車両300の3軸成分に変換し、これらの値を路面角度θrの基準値(θr=0°)、車両姿勢角度θvの基準値(θv=0°)としてRAMに記憶して保持する。また、必要に応じてこれらの基準値をメモリ108に書き込む。
車両300が実際に使用される状況において、制御部104は、車両走行中の合計角度θの変化に対して車高調節部316の駆動を回避する。制御部104は、調節指示部1042が駆動信号の出力を回避するか車高調節部316へ駆動禁止信号を出力することで、車高調節部316の駆動を回避することができる。駆動信号の出力の回避には、駆動信号を生成しないことで出力を回避することも含まれる。そして、演算部1041が、車両停止時に加速度センサ110の出力値から、現在(車両停止時)の合計角度θを演算する。次いで、演算部1041は、現在の合計角度θから、車両姿勢角度θvの基準値を減算して、路面角度θrを得る(θr=θ−θv基準値)。そして、得られた路面角度θrを、新たな路面角度θrの基準値として、RAMに保持している路面角度θrの基準値を更新する。
あるいは、演算部1041は、車両停止時に走行前後での合計角度θの差分Δθ1(合計角度θの変化量)を算出する。そして、路面角度θrの基準値に得られた差分Δθ1を算入して新たな路面角度θrの基準値を算出し(新θr基準値=θr基準値+Δθ1)、路面角度θrの基準値を更新する。演算部1041は、次のようにして差分Δθ1を算出することができる。すなわち、演算部1041は、車両300の発進直後に、発進直前の合計角度θを合計角度θの基準値として保持する。そして、演算部1041は、車両停止時に、現在(車両停止時)の合計角度θから合計角度θの基準値を減算して差分Δθ1を算出する。
これにより、路面角度θrの変化と推定される車両走行中の合計角度θの変化が、路面角度θrの基準値に取り込まれる。前記「車両走行中」は、例えば車速センサ312の検出値が0を越えたときから、車速センサ312の検出値が0になるまでの間である。また、前記「車両停止時」は、例えば車速センサ312の検出値が0となった後、加速度センサ110の出力値が安定したときである。前記「発進直後」は、例えば車速センサ312の検出値が0を超えたときからの所定期間である。前記「発進直前」は、例えば車速センサ312の検出値が0を超えたときから所定時間前の時間である。前記「車両走行中」、「車両停止時」、「発進直後」及び「発進直前」は、設計者による実験やシミュレーションに基づき適宜設定することが可能である。
車両停止中、演算部1041は、現在の合計角度θから路面角度θrの基準値を減算して、車両姿勢角度θvを得る(θv=θ−θr基準値)。そして、得られた車両姿勢角度θvを新たな車両姿勢角度θvの基準値として、RAMに保持している車両姿勢角度θvの基準値を更新する。
あるいは、演算部1041は、車両停止中に現在の合計角度θと保持している合計角度θの基準値との差分Δθ2(合計角度θの変化量)を算出する。このとき用いられる合計角度θの基準値は、例えば、車両300の停止後最初の差分Δθ2の算出では差分Δθ1の算出時に得られた合計角度θ、すなわち車両停止時の合計角度θであり、2回目以降の場合は前回の差分Δθ2の算出時に得られた合計角度θである。そして、演算部1041は、車両姿勢角度θvの基準値に得られた差分Δθ2を算入して新たな車両姿勢角度θvの基準値を算出し(新θv基準値=θv基準値+Δθ2)、車両姿勢角度θvの基準値を更新する。
これにより、車両姿勢角度θvの変化と推定される車両走行中の合計角度θの変化が、車両姿勢角度θvの基準値に取り込まれる。前記「車両停止中」は、例えば加速度センサ110の検出値が安定したときから車速センサ312の検出値が0を越えたときである。前記「車両停止中」は、設計者による実験やシミュレーションに基づき適宜設定することが可能である。
また、調節指示部1042は、算出された車両姿勢角度θvあるいは更新された新たな車両姿勢角度θvの基準値を用いて、車両姿勢角度θvを予め定められる目標角度に近づける駆動信号を生成する。駆動信号は送信部106から車高調節部316へ出力される。例えば、予め定められる目標角度が初期化処理時に得られる基準値(θv=0°)である場合、調節指示部1042は、新たな車両姿勢角度θvの基準値を初期の基準値に近づけるように駆動信号を生成する。あるいは、差分Δθ2を小さくするように駆動信号を生成する。これにより、車両姿勢角度θvを所望の角度に保つことができる。前記「初期の基準値に近づける」は、車両姿勢角度θvの基準値を初期の基準値と一致させることを含む。前記「差分Δθ2を小さくする」は、差分Δθ2を0にすることを含む。
なお、姿勢制御ECU100は、車高調節部316の駆動量と車両姿勢角度θvの変位量とを対応付けた変換テーブルを予め保持しており、当該変換テーブルを用いて、車両姿勢角度θvの変化に応じた車高調節部316の駆動量を決定することができる。
(基準軸情報の補正)
上述した初期化処理において、第1基準状態をとるために車両300が載置される基準路面は、理論上は水平路面である。すなわち、初期化処理では、基準路面が水平面であるとの前提のもとに座標系と基準路面との位置関係が対応付けられる。よって、基準軸情報において、第1基準状態にあるときの加速度センサ110のX軸あるいは車両300の前後軸が水平面に対して平行となり、Z軸あるいは上下軸が水平面に対して鉛直となるように設定される。
しかしながら、実際には、基準路面であっても水平面に対して傾いている場合があり得る。基準路面が水平面に対して傾いていた場合、基準軸情報における加速度センサ110のX軸及びZ軸は、理想的な水平路面で初期化処理が行われた場合のX軸及びZ軸に対して、基準路面が水平面に対して傾いた角度だけずれる。車両300の前後軸及び上下軸についても同様である。このように基準軸情報にずれが含まれる場合、初期化処理後の車両300が、実際の車両姿勢角度θvが0°の状態で水平路面(θr=0°)を走行したとしても、加速度センサ110の出力値から得られる合計角度θは0°にならない。このため、目標角度が0°であったとしても、車両姿勢角度θvが上方あるいは下方に変位するように、車高調節部316が駆動されてしまう。
そこで、軸情報補正部1044は、初期化処理の後、車両オートレベリング制御を実行する前に、以下に説明する基準軸情報の補正処理を実行する。図3(A)及び図3(B)は、車両の運動加速度ベクトルの方向と車両姿勢角度との関係を説明するための模式図である。図3(A)は、車両姿勢角度θvが0°の状態を示し、図3(B)は、車両姿勢角度θvが0°から変化した状態を示している。また、図3(A)及び図3(B)において、車両300が加速したときに生じる運動加速度ベクトルα及び合成加速度ベクトルβを実線矢印で示し、車両300が減速したときに生じる運動加速度ベクトルα及び合成加速度ベクトルβを破線矢印で示している。図4は、車両前後方向の加速度と車両上下方向の加速度との関係を表すグラフである。
通常、車両300は路面に対して平行に移動する。よって、運動加速度ベクトルαは、車両姿勢によらず路面に対して平行なベクトルとなる。また、図3(A)に示すように、車両姿勢が路面に対して平行であり、車両姿勢角度θvが0°である場合、車両300の前後軸Lは路面に対して平行となるため、運動加速度ベクトルαは前後軸Lに対して平行なベクトルとなる。よって、車両300の加減速によって運動加速度ベクトルαの大きさが変化した際の合成加速度ベクトルβの先端の軌跡は、車両300の前後軸Lに対して平行な直線となる。
一方、図3(B)に示すように、車両姿勢が路面に対して傾いており、車両姿勢角度θvが0°でない場合、車両300の前後軸Lは路面に対して斜めにずれるため、運動加速度ベクトルαは、前後軸Lに対して斜めに延びるベクトルとなる。よって、車両の加減速によって運動加速度ベクトルαの大きさが変化した際の合成加速度ベクトルβの先端の軌跡は、前後軸Lに対して傾いた直線となる。
そこで、軸情報補正部1044は、初期化処理後の所定期間、図4に示すように車両前後方向の加速度を第1軸(x軸)に設定し車両上下方向の加速度を第2軸(z軸)に設定した座標に、車両走行中に得られる加速度センサ110の出力値を経時的にプロットする。図4において、点tA1〜tAnは、図3(A)に示す状態で且つ基準軸情報にずれがない場合での時間t1〜tnにおける加速度センサ110の出力値である。点tB1〜tBnは、図3(B)に示す状態で且つ基準軸情報にずれがない場合での時間t1〜tnにおける加速度センサ110の出力値である。
そして、軸情報補正部1044は、プロットした少なくとも2点から直線又はベクトルを導出し、その傾きを得る。例えば、プロットされた複数点tA1〜tAn,tB1〜tBnに対して最小二乗法などを用いて直線近似式A,Bを求め、直線近似式A,Bの傾きを導出する。基準軸情報に上述したずれが含まれない場合、車両姿勢角度θvが0°の状態では、加速度センサ110の出力値からx軸に平行な直線近似式Aが得られる。すなわち、直線近似式Aの傾きは0となる。これに対し、車両姿勢角度θvが0°でない状態では、加速度センサ110の出力値から車両姿勢角度θvに応じた傾きを有する直線近似式Bが得られる。したがって、直線近似式Aと直線近似式Bとがなす角度(図4におけるθAB)、あるいは直線近似式Bの傾きそのものが、車両姿勢角度θvとなる。
また、車両姿勢角度θvが0°の状態で車両300が走行していても、基準軸情報に上述したずれが含まれる場合には、加速度センサ110の出力値をプロットして得られる直線近似式は、図4における直線近似式Bとなる。この場合、直線近似式Bの傾きが、基準軸情報に含まれるずれを表す。また、車両300の一般的な使用状況において、車両300は、上述した第1基準状態に近い状態、すなわち車両姿勢角度θvが略0°の状態で走行することが多い。このため、初期化処理後に車両300の走行を繰り返すことで、理想的な基準路面で初期化処理が実施された場合に得られる座標系、すなわち路面に対してX軸(前後軸)が平行に延びる座標系において、X軸(前後軸)に対して平行となるべき直線又はベクトルを導出することができる。
したがって、車両走行中の加速度センサ110の出力値をプロットして得られる直線又はベクトルの傾きから、基準軸情報におけるセンサ座標系及び/又は車両座標系と路面との位置関係が、理想的な基準路面(水平面)で初期化処理が行われた場合に得られるセンサ座標系及び/又は車両座標系と路面との位置関係からどの程度ずれているかを推定可能である。
軸情報補正部1044は、得られる直線又はベクトルの傾きを用いて、基準軸情報におけるセンサ側の軸及び車両側の軸の少なくとも一方と、路面の角度との位置関係を補正する。例えば、軸情報補正部1044は、直線又はベクトルの導出を繰り返し、複数の傾きの平均値を補正用傾きとして用いる。あるいは、複数の直線の傾きにおける最大値と最小値の中間値を補正用傾きとしてもよい。軸情報補正部1044は、補正用傾きが小さくなるように、例えば補正用傾きが0になるように基準軸情報を補正する。軸情報補正部1044は、基準軸情報の補正処理が終了すると、補正処理終了信号を演算部1041に送信する。演算部1041は、補正処理終了信号を受信すると、軸情報補正部1044によって補正された基準軸情報を用いて、加速度センサ110の出力値を用いた車両オートレベリング制御を実行する。これにより、車両オートレベリング制御の精度を高めることができる。
基準軸情報の補正処理の開始は、初期化処理の終了や、初期化処理後になされたイグニッションのオン/オフ切り替えの回数、走行距離、任意の開始信号の受信等をトリガとすることができる。補正用傾きの導出は、補正処理の開始からの経過時間、走行距離、補正処理が開始されてからのイグニッションスイッチのオン/オフ切り替えの回数等をトリガとすることができる。経過時間、走行距離、イグニッションスイッチの切り替え回数は、例えば、精度よく補正用傾きが導出されたことが推定される時間、距離、回数に設定される。補正処理の開始、補正用傾き導出のトリガとなる経過時間、走行距離及びイグニッションの切り替え回数は、設計者による実験やシミュレーションに基づき適宜設定することが可能である。なお、姿勢制御ECU100のライフタイム中は所定のタイミングで補正用傾きが繰り返し更新されるようにしてもよい。また、車両オートレベリング制御と基準軸情報の補正処理とは並行して実行されてもよい。
(第1の基準値補正処理)
上述のように、演算部1041は、合計角度θから車両姿勢角度θvあるいは路面角度θrの基準値を減算して、基準値を繰り返し更新している。あるいは合計角度θの変化の差分Δθ1,Δθ2を合計角度θに参入して、基準値を繰り返し更新している。このため、加速度センサ110の検出誤差が基準値に累積していき、車両オートレベリング制御の精度が低下していくおそれがある。
そこで、演算部1041は、車両オートレベリング制御において、車両前後方向の加速度を第1軸に設定し車両上下方向の加速度を第2軸に設定した座標に、車両走行中に得られる加速度センサ110の出力値をプロットする。そして、プロットした複数点から得られる直線又はベクトルの傾きに基づいて、車両姿勢角度θvの基準値を補正する。例えば、演算部1041は、当該傾きに応じた車両姿勢角度θvを新たな基準値として更新する。また、調節指示部1042は、直線又はベクトルの傾き、言い換えれば補正した車両姿勢角度θvの基準値が車両姿勢の目標角度に近づくように駆動信号を出力する。これにより、路面角度θrの基準値及び車両姿勢角度θvの基準値を繰り返し書き換えることで加速度センサ110の検出誤差等が基準値に積み重なって、車両オートレベリング制御の精度が低下してしまうことを抑制することができる。
図5は、実施の形態に係る姿勢制御ECUにより実行される車両オートレベリング制御を示すフローチャートである。このフローは、例えばスイッチ304によって車両オートレベリング制御モードの実行指示がなされている状態において、イグニッションスイッチがオンにされた場合に制御部104により所定のタイミングで繰り返し実行され、イグニッションスイッチがオフにされた場合に終了する。
まず、制御部104は、車両300が停車しているか判断する(S101)。車両300が停車していない場合(S101のN)、すなわち車両300が走行中である場合、制御部104は、上述した第1の基準値補正処理を実行し(S108)、本ルーチンを終了する。車両300が停車している場合(S101のY)、制御部104は、前回のルーチンのステップS101における停車判定において車両300が走行中(S101のN)であったか判断する(S102)。前回の判定が走行中であった場合(S102のY)、制御部104は、現在の合計角度θから車両姿勢角度θvの基準値を減算して路面角度θrを算出する(S103)。制御部104は、合計角度θの差分Δθ1を算出し、路面角度θrの基準値に差分Δθ1を算入して新たな路面角度θrを算出してもよい。そして、得られた路面角度θrを新たな路面角度θrの基準値として更新し(S104)、本ルーチンを終了する。
前回の判定が走行中でなかった場合(S102のN)、制御部104は、現在の合計角度θから路面角度θrの基準値を減算して、車両姿勢角度θvを算出する(S105)。制御部104は、合計角度θの差分Δθ2を算出し、車両姿勢角度θvの基準値に差分Δθ2を算入して新たな車両姿勢角度θvを算出してもよい。そして、得られた車両姿勢角度θvを新たな車両姿勢角度θvの基準値として更新する(S106)。また、得られた車両姿勢角度θvあるいは車両姿勢角度θvの基準値を用いて車両姿勢を調節し(S107)、本ルーチンを終了する。
(第2の基準値補正処理)
路面角度θrの基準値及び車両姿勢角度θvの基準値を繰り返し書き換えることで起こり得る車両オートレベリング制御の精度低下を抑制するために、制御部104は、上述した第1の基準値補正処理に加えて、又は第1の基準値補正処理に代えて、第2の基準値補正処理を実行することができる。第2の基準値補正処理において、制御部104の演算部1041は、車高調節部316がその可動範囲の限界に達した場合に、車両姿勢角度θvの基準値を、当該限界時に車両300が取る設計上の車両姿勢角度θvに更新する。
加速度センサ110の検出誤差の累積等によって、車高調節部316が可動範囲の限界に達することが起こり得る。車高調節部316は、可動範囲の限界に達した場合に、限界に達したことを示す信号を車両制御ECU302あるいは姿勢制御ECU100に送信する。演算部1041は、車両制御ECU302あるいは車高調節部316から当該信号を受信することで、車高調節部316が可動範囲の限界に達したことを把握することができる。また、メモリ108には、車高調節部316が可動範囲の限界に達したときに車両300が取る車両姿勢角度θvが予め記憶される。この車両姿勢角度θvは、車両設計図等に基づいて定められる設計値である。車高調節部316が可動範囲の限界に達した状態には、前輪側の車高調節部316が伸びきり後輪側の車高調節部316が縮みきった状態、後輪側の車高調節部316が伸びきり前輪側の車高調節部316が縮みきった状態、及び、前輪側及び後輪側の車高調節部316が伸びきった状態若しくは縮みきった状態が含まれる。
このように、車高調節部316が可動範囲の物理的限界に達したときに、車両姿勢角度θvの基準値を、その状態で車両300が取る設計上の車両姿勢角度θvに更新することで、加速度センサ110の検出誤差の基準値への累積を解消することができる。これにより、車両オートレベリング制御の精度が低下することを抑制することができる。
制御部104は、所定の指示信号を受信したとき、駆動信号を出力して車高調節部316を可動範囲の限界に到達させ、第2の基準値補正処理を実行してもよい。所定の指示信号は、例えばイグニッションスイッチの特定のオン/オフ切り替え等を挙げることができる。これにより、運転者や整備者等が、所望のタイミングで第2の基準値補正処理を実行させることができる。
(車高制御)
制御部104は、車両姿勢角度θvの制御に加え、加速度センサ110により検出される車両上下方向の加速度の変化量に基づいて車両300の車高を制御することができる。具体的には、演算部1041は、加速度センサ110の出力値から得られる車両上下方向の加速度の変化量から、車両300の上下位置の変位量を算出することができる。調節指示部1042は、演算部1041が算出した上下位置の変位量に基づいて、車両300の上下位置が予め定められる目標位置に近づくように、車高調節部316に対して駆動信号を出力する。例えば演算部1041は、車高調節部316の伸縮位置情報に基づいて駆動信号を生成しても、伸縮量情報に基づいて駆動信号を生成してもよい。すなわち、制御部104は、車高調節部316の伸縮位置が車高の目標位置に対応する位置となる駆動信号を生成してもよいし、車高を目標位置に到達させるために必要な車高変位量ΔHとなる駆動信号を生成してもよい。これにより、車両300の車高を、所望の高さに調節することができる。車高の目標位置は、運転者等がスイッチ304を操作することで所望の位置に設定することができる。
車高制御においても、加速度センサ110の検出誤差の累積によって、その精度が低下し得る。そこで、制御部104は、車高補正処理を実行する。車高補正処理において、演算部1041は、車高調節部316がその可動範囲の限界に達した場合に、当該限界時に車両300が取る設計上の上下位置を基準として、当該設計上の上下位置から目標位置に近づくように駆動信号を出力する。これにより、加速度センサ110の検出誤差の累積を解消することができる。メモリ108には、車高調節部316が可動範囲の限界に達したときに車両300が取る車高が予め記憶される。この車高は、車両設計図等に基づいて定められる設計値である。車高調節部316が可動範囲の限界に達した状態には、前輪側及び後輪側の車高調節部316が伸びきった状態若しくは縮みきった状態が含まれる。また、上述した第2の基準値補正処理と同様に、制御部104は、所定の指示信号を受信したとき、駆動信号を出力して車高調節部316を可動範囲の限界に到達させ、車高補正処理を実行してもよい。
(イグニッションスイッチのオン/オフ移行時の制御)
制御部104は、バッテリから供給される電力で駆動する。このため、イグニッションスイッチがオフになってバッテリからの電力供給が停止すると、RAMに保持している路面角度θrの基準値及び車両姿勢角度θvの基準値が消えてしまう。そこで、イグニッションスイッチがオフ状態に移行した場合、制御部104は、少なくともRAMに保持している路面角度θrの基準値を、不揮発性メモリであるメモリ108に書き込む。これにより、姿勢制御ECU100は、イグニッションスイッチがオフになってバッテリからの給電が解除されても、路面角度θrの基準値を保持することができる。
イグニッションスイッチがオフの状態では、車両300が移動して路面角度θrが変化することは稀である。このため、イグニッションスイッチのオフからオンまでの間の合計角度θの変化を、車両姿勢角度θvの変化と推定することができる。そこで、演算部1041は、イグニッションスイッチがオン状態に移行した場合、起動後の最初の制御として、現在の加速度センサ110の出力値から得られる合計角度θから、メモリ108から読み出した路面角度θrの基準値を減算して、現在の車両姿勢角度θvを得る。そして、得られた車両姿勢角度θvを基準値としてRAMに保持する。また、得られた車両姿勢角度θvを用いて車高調節部316の駆動信号を生成する。これにより、イグニッションスイッチがオフにされている間の車両姿勢角度θvの変化を基準値に取り込むことができる。なお、制御部104は、車両姿勢角度θvの基準値もメモリ108に書き込んでもよい。また、制御部104は、車両300の車高に関する情報をRAMに保持している場合には、当該情報もメモリ108に書き込んでもよい。
(光軸オートレベリング制御)
車両が後傾姿勢や前傾姿勢になると、灯具ユニット212の照射方向も上下に変動し、前方照射距離が長くなったり短くなったりする。そこで、姿勢制御ECU100は、上述した車両オートレベリング制御と、光軸オートレベリング制御とを協調して実施することができる。光軸オートレベリング制御とは、加速度センサ110の出力値から車両300の傾斜角度の変化を導出し、リアルタイムで灯具ユニット212の光軸を車両姿勢に応じた角度とする制御である。
光軸オートレベリング制御は、車両の傾斜角度の変化にともなう灯具ユニット212の前方照射距離の変化を吸収して、照射光の前方到達距離を最適に保つことを目的とするものである。よって、光軸オートレベリング制御に必要とされる車両の傾斜角度は、車両姿勢角度θvである。したがって、光軸オートレベリング制御では、車両姿勢角度θvが変化した場合に灯具ユニット212の光軸位置が調節され、路面角度θrが変化した場合に灯具ユニット212の光軸位置が維持されることが望まれる。
そこで、上述した車両オートレベリング制御において演算部1041により車両姿勢角度θvが算出されると、調節指示部1042は、当該車両姿勢角度θvを用いて、灯具ユニット212の光軸調節を指示する光軸制御信号を生成する。制御部104は、調節指示部1042が生成した光軸制御信号を送信部106からレベリングアクチュエータ214に出力する。これによりレベリングアクチュエータ214が駆動して、灯具ユニット212の光軸が車両姿勢角度θvに対応した角度に調節される。
光軸オートレベリング制御においても、上述した第1の基準値補正処理や第2の基準値補正処理を実施することで、光軸オートレベリング制御の精度が低下してしまうことを抑制することができる。
(他の制御システムへの情報の提供)
車両300には、車両オートレベリング制御システムや光軸オートレベリング制御システムに加えて、他のシステムが搭載されている。姿勢制御ECU100は、加速度センサ110の出力値、車両姿勢角度θv、路面角度θr、合計角度θ、基準軸情報、及び傾斜角度の演算過程で生成される中間生成値などの情報を、当該他のシステムのECUやこれらのECUが有する関数に、変数として提供することができる。これらの情報は、姿勢制御ECU100が有する、車両姿勢や光軸以外の対象を制御するための関数に提供されてもよい。このように、姿勢制御ECU100が生成する情報を他のシステムの制御に利用することで、他のシステムに搭載される車高センサや傾斜センサを省略することができる。
他のシステムとしては、例えば緊急ブレーキシステム、アダプティブフロントライティングシステム(AFS)、ヒルスタートアシストシステム、エアバッグシステム、ボディコントロールシステム、イモビライザシステム等が例示される。
緊急ブレーキシステムは、車両の減速時に、車両前後方向の加速度に応じてブレーキランプを点滅あるいは明度調整し、後続車両に車両の急停車を報知するシステムである。AFSは、車両のコーナリング時に、灯具ユニットの光軸を曲線道路のカーブの先に向けて、運転者の前方視認性を向上させるシステムである。ヒルスタートアシストシステムは、坂道上にある車両の発進時に、所定時間車両を停止状態に維持することで、運転者の足がブレーキペダルからアクセルペダルに踏み換えられる際に車両がずり下がることを防止するシステムである。エアバッグシステムは、車両の加速度に基づいて車両の衝突を検知してエアバッグを作動させるシステムである。ボディーコントロールシステムは、車両の加速度に基づいて車両の走行状態を検知し、車両の横滑り等を防止するシステムである。イモビライザシステムは、駐車中の車両の不正な振動を検知し、警報器あるいは通報装置を作動させることで車上荒らしや盗難等を防ぐためのシステムである。
例えば、車両姿勢角度θvや路面角度θrから、車両の重心や荷重が係る位置、大きさの推定が可能である。また、停車中の路面角度θrに基づいて、ヒルスタートアシスト時の前後輪の駆動力バランスを調整することができる。
(車両姿勢角度θvの他の算出方法)
上述したように、演算部1041は、車両走行中の合計角度θの変化を路面角度θrの変化と推定し、車両停止中の合計角度θの変化を車両姿勢角度θvの変化と推定して、合計角度θから車両姿勢角度θvを導出している。一方で、第1の基準値補正処理で算出する直線又はベクトルの傾きに基づいて車両姿勢角度θvを把握することができるため、当該傾きを用いて車両オートレベリング制御を実行することもできる。
そこで、制御部104は、加速度センサ110が検出する加速度から得られる、車両300の前後方向の加速度及び上下方向の加速度を用いて、次のように車両姿勢角度θvを導出してもよい。すなわち、制御部104は、車両前後方向の加速度を第1軸に設定し車両上下方向の加速度を第2軸に設定した座標に、車両走行中に得られる加速度センサ110の出力値をプロットする。そして、プロットした複数点から得られる直線又はベクトルの傾きが、車両姿勢角度θvについて予め定められる目標角度に近づくように、車高調節部316へ駆動信号を出力する。これにより、車両オートレベリング制御を実現することができる。
以上説明したように、本実施の形態に係る姿勢制御ECU100は、路面角度θr及び車両姿勢角度θvを含む合計角度θを導出可能な傾斜センサの出力値を受信する受信部102と、加速度センサ110の出力値に基づいて車高調節部316の駆動を制御する制御部104とを備える。制御部104は、車両停止中の合計角度θの変化を車両姿勢角度θvの変化とし、車両姿勢角度θvが予め定められる目標角度に近づくように車高調節部316へ駆動信号を出力する。また、制御部104は、車両走行中の合計角度θの変化を路面角度θrの変化とし、駆動信号の出力を回避するか車高調節部316へ駆動禁止信号を出力する。あるいは、制御部104は、車両前後方向の加速度を第1軸に設定し車両上下方向の加速度を第2軸に設定した座標に加速度センサ110の出力値をプロットし、プロットから得られる直線又はベクトルの傾きが、車両姿勢角度θvについて予め定められる目標角度に近づくように、車高調節部316へ駆動信号を出力する。このため、本実施の形態に係る姿勢制御ECU100によれば、従来の車両姿勢制御に用いられていた車高センサを省略することができるため、車両の軽量化を図ることができる。また、車両の低コスト化や車両設計工数の低減を図ることができる。
また、姿勢制御ECU100は、車両前後方向の加速度を第1軸に設定し車両上下方向の加速度を第2軸に設定した座標に加速度センサ110の出力値をプロットして得られる直線又はベクトルの傾きを用いて、基準軸情報の補正処理を実行することができる。このため、車両オートレベリング制御の精度を高めることができる。また、姿勢制御ECU100は、上述した座標に加速度センサ110の出力値をプロットして得られる直線又はベクトルの傾きに基づいて、車両姿勢角度θvの基準値と、車両300が実際にとる車両姿勢角度θvとを補正する第1の基準値補正処理を実行することができる。このため、車両オートレベリング制御の精度を高めることができる。
さらに、姿勢制御ECU100は、車高調節部316がその可動範囲の限界に達した場合に、車両姿勢角度θvの基準値を、当該限界時に車両300が取る設計上の車両姿勢角度θvに更新する第2の基準値補正処理を実行することができる。このため、車両オートレベリング制御の精度を高めることができる。また、姿勢制御ECU100は、所定の指示信号を受信したとき、駆動信号を出力して車高調節部316を可動範囲の限界に到達させる。これにより、任意のタイミングで第2の基準値補正処理を実行することができるため、車両オートレベリング制御の精度をより高めることができる。
また、姿勢制御ECU100は、車両上下方向の加速度の変化量から車両300の上下位置の変位量を算出し、車両300の上下位置が目標位置に近づくように車高調節部316に駆動信号を出力する車高制御を実行することができる。また、車高制御において、車高調節部316がその可動範囲の限界に達した場合に、当該限界時に車両300が取る設計上の上下位置を基準として、当該設計上の上下位置から目標位置に近づくように駆動信号を出力する車高補正処理を実行することができる。これにより、車高制御の精度を高めることができる。さらに、姿勢制御ECU100は、所定の指示信号を受信したとき、駆動信号を出力して車高調節部316を可動範囲の限界に到達させることができるため、任意のタイミングで車高補正処理を実行することができる。
本発明は、上述した実施の形態に限定されるものではなく、当業者の知識に基づいて各種の設計変更などの変形を加えることも可能であり、そのような変形が加えられた実施の形態も本発明の範囲に含まれる。
車高調節部316は、前輪側のみ、あるいは後輪側のみに設けられていてもよい。この場合であっても、上述した車両オートレベリング制御を実現することができる。
また、上述した実施の形態では、傾斜センサとして加速度センサ110を用いているが、車両姿勢角度θvの変化を検出するのみであれば、傾斜センサとしてジャイロセンサや地磁気センサ等を用いることもできる。