以下、本発明の実施の形態を説明する。
図1は、本実施形態の四輪独立駆動車の概略構成図である。
バッテリ9からは、インバータ31〜34を介してモータ11〜14に電力が供給され、このバッテリ9より供給される電力によりモータ11が左前輪1を、モータ12が右前輪2を、モータ13が左後輪3を、モータ14が右後輪4を独立に駆動しあるいは独立に制動する。電力を供給するバッテリ9としてはニッケル水素電池あるいはリチウムイオン電池が望ましい。
上記各モータ11〜14(各輪1〜4を駆動または制動するアクチュエータ)は三相同期電動機や三相誘導電動機等の力行運転及び回生運転ができる交流機である。
上記インバータ31〜34はモータ1〜4で発電された交流電流を直流電流に変換しバッテリ9に充電する、あるいはバッテリ9が放電した直流電流を交流電流に変換しモータ1〜4に供給する。
各輪1〜4の回転半径は所定値Rで全て等しく、各モータ11〜14と各車輪1〜4間は減速比1つまり直接連結されている。またさらに、各輪1〜4の輪荷重と横滑り角と路面摩擦係数が四輪で等しい場合には、制駆動力とタイヤ横力との関係は四輪で同一となる。つまり、四輪とも同じタイヤ特性を有する。
前輪1,2は、ステアリングギヤ15を介してステアリング5の操舵により転舵可能であり、その舵角は運転者によるステアリング5の操舵によりステアリングギヤ15を介して機械的に調整される。ここで、前輪1,2の舵角変化量はステアリング5の操舵角変化量に対して1/16になるように設定されている。一方、後輪3,4の舵角は、コントローラ8から送信された指令値に追従するようステアリングアクチュエータ16によって調整される。
CPU、ROM、RAM、インターフェース回路及びインバータ回路等からなるコントローラ8には、車輪速センサ21〜24によって検出される各輪1〜4の速度、ステアリング角センサ25によって検出される運転者によるステアリング5の回転角、アクセルストロークセンサ26によって検出されるアクセルペダル6の踏込量、ブレーキストロークセンサ27によって検出されるブレーキペダル7の踏込量、舵角センサ41〜44によって検出される各輪1〜4の舵角、車両重心位置に取り付けられた加速度センサ100によって検出される車両の横方向加速度、ヨーレートセンサ101によって検出される車両のヨーレート等の信号が、各モータ11〜14に内蔵されている温度センサ(図示しない)によって検出される各モータ11〜14の温度の信号と共に入力され、これらの信号に基づいて各モータ11〜14にトルク配分を行う等の制御を行う。
このような四輪独立駆動車において、各輪1〜4のスリップや各モータ11〜14の過熱等によって、いずれか一輪の制駆動力が変化した場合あるいはいずれか一輪の制駆動力を任意に変化させる場合に、車両前後方向及び横方向の各加速度と車両重心周りのヨーモーメントとが変化しないように残り三輪の制駆動力補正量を求める技術(先願装置)を本発明者が既に提案している。この先願装置における制駆動力補正量の求め方について図2を用いて先に説明する。
図2は図1に示した四輪独立駆動車をモデル化したものである。すなわち、左前輪1、右前輪2、左後輪3、右後輪4をそれぞれ独立に駆動できる車両において、各輪1〜4の制駆動力と、タイヤ横力と、舵角、そして車両重心周りのヨーモーメントを表した図である。当該車両ではサスペンションに加わる力によって発生するホイールアライメント変化や舵角変化等は十分小さいものと仮定し、これらサスペンション特性は無視している。
図2において、各輪1〜4それぞれの舵角δ1,δ2,δ3,δ4[rad]は車両を鉛直上方から見た場合に反時計回りを正とし、各舵角δ1,δ2,δ3,δ4は、各輪1〜4の回転方向が車両前後方向と一致している状態をゼロとする。各輪1〜4の制駆動力Fx1,Fx2,Fx3,Fx4[N]は各舵角δ1,δ2,δ3,δ4が全てゼロのときに車両を前方に加速させる方向を正とし、各輪1〜4のタイヤ横力Fy1,Fy2,Fy3,Fy4[N]は各舵角δ1,δ2,δ3,δ4が全てゼロのときに車両を左方向に加速させる方向を正とする。
なお、各輪1〜4の舵角をδi(i=1〜4)、各輪1〜4の制駆動力をFxi(i=1〜4)、各輪1〜4のタイヤ横力をFyi(i=1〜4)と表すことがあり、記号δ,Fx,Fyに添える整数iについては左前輪を1で、右前輪2で、左後輪を3で、右後輪を4で表すものとする。記号に付す整数iは他の記号についても同じ意味で使用する。
また、車両のヨー回転方向の車両重心位置から前輪車軸までの距離をLf[m]、ヨー回転方向の車両重心位置から後輪車軸までの距離をLr[m]、前後輪のトレッド長さを共にLt[m]とする。従って、車両のホイールベース長さLl[m]はLl=Lf+Lrである。
ここで、まず各輪1〜4で発生する制駆動力とタイヤ横力の合力(つまりタイヤ力)の車体前後方向成分Fx’i(i=1〜4)及び車体横方向成分Fy’i(i=1〜4)を考える。すると、図3のように各輪1〜4の舵角をδi(i=1〜4)だけ切った場合におけるタイヤ力の車体前後方向成分Fx’iとタイヤ力の車体横方向成分Fy’iは次の式(1)及び式(2)で表される。ただし、タイヤ力の車体前後方向成分Fx’iは車両を前方に加速させる方向を、タイヤ力の車体横方向成分Fy’iは車両を左方向に加速させる方向をそれぞれ正とする。
Fx’i=Fxicosδi−Fyisinδi …(1)
Fy’i=Fxisinδi+Fyicosδi …(2)
従って、各輪1〜4の制駆動力が微小な量であるΔFxi(i=1〜4)だけ変化したときのタイヤ横力の変化量をΔFyi(i=1〜4)とすると、車体前後方向成分Fx’iの変化量ΔFx’i(i=1〜4),車体横方向成分Fy’iの変化量ΔFy’i(i=1〜4)は次の式(3)及び式(4)で表される。
ΔFx’i=ΔFxicosδi−ΔFyisinδi …(3)
ΔFy’i=ΔFxisinδi+ΔFyicosδi …(4)
ここで、さらに各輪1〜4について制駆動力とタイヤ横力の関係は図4に示す関係にある。図4は輪荷重と路面摩擦係数に変化が無いとしたときの制駆動力(図では「駆動力」で略記。)とタイヤ横力の関係を表した図で、制駆動力を横軸に、タイヤ横力を縦軸にとっている。この図4の関係を利用して、各輪1〜4の現在の制駆動力Fxi(i=1〜4)とタイヤ横力Fyi(i=1〜4)における、制駆動力変化ΔFxi(i=1〜4)に対するタイヤ横力の感度をki(i=1〜4)とおく。つまり、制駆動力変化に対するタイヤ横力の感度kiは図4に示すように車体前後方向成分の変化量ΔFxi及び車体横方向成分の変化量ΔFyi(i=1〜4)が微小のときの次の式(5)により定義される値である。
ki=ΔFyi/ΔFxi …(5)
すると、車体前後方向成分の変化量ΔFxi及び車体横方向成分の変化量ΔFyiが微小で、この式(5)の近似が十分成り立つとすると、ΔFyi=ki・ΔFxiとおけるので、各輪1〜4の制駆動力Fxiが十分微小なΔFxiだけ変化したときの車体前後方向成分Fx’iの変化量ΔFx’iと車体横方向成分Fy’iの変化量ΔFy’iとは次の式(6)及び式(7)へと変形される。
ΔFx’i=(cosδi−kisinδi)ΔFxi=piΔFxi …(6)
ΔFy’i=(sinδi+kicosδi)ΔFxi=qiΔFxi …(7)
ここで、式(6)、式(7)の係数pi,qi(i=1〜4)は、舵角δiと、制駆動力変化に対するタイヤ横力の感度kiにより表される次の値である。
pi=cosδi−ki・sinδi、 …(補1)
qi=sinδi+ki・cosδi、 …(補2)
さて、上記の各輪1〜4の車体前後方向成分Fx’i及び車体横方向成分Fy’iを用いると、図2の状態において、タイヤ力の総和の車体前後方向成分Fxと、タイヤ力の総和の車体横方向成分Fyと、各輪のタイヤ力によって発生する車両重心周りのヨーモーメントの総和Mとは、次の式(8)〜(10)により表すことができる。ただし、各輪1〜4のタイヤ力によって発生する車両重心周りのヨーモーメントの総和Mは、図2のように車両を鉛直上方からみたときに反時計回りを正とする。
Fx=Fx’1+Fx’2+Fx’3+Fx’4 …(8)
Fy=Fy’1+Fy’2+Fy’3+Fy’4 …(9)
M={(Fx’2+Fx’4)−(Fx’1+Fx’3)}×Lt/2
+{(Fy’1+Fy’2)×Lf−(Fy’3+Fy’4)×Lr}
…(10)
従って、各輪1〜4の制駆動力Fxiがそれぞれ微小な量であるΔFxiだけ変化したときのタイヤ力の総和の車体前後方向成分Fx,タイヤ力の総和の車体横方向成分Fy,各輪のタイヤ力によって発生する車両重心周りのヨーモーメントの総和Mの各変化量ΔFx,ΔFy,ΔMは上記の式(補1)及び式(補2)の係数pi,qiを用いて、次の式(11)〜(13)により表される。
ΔFx=ΔFx’1+ΔFx’2+ΔFx’3+ΔFx’4
=p1ΔFx1+p2ΔFx2+p3ΔFx3+p4ΔFx4
…(11)
ΔFy=ΔFy’1+ΔFy’2+ΔFy’3+ΔFy’4
=q1ΔFx1+q2ΔFx2+q3ΔFx3+q4ΔFx4
…(12)
ΔM={(ΔFx’2+ΔFx’4)−(ΔFx’1+ΔFx’3)}×Lt/2
+{(ΔFy’1+ΔFy’2)×Lf−(ΔFy’3+ΔFy’4)×Lr}
=(−p1Lt/2+q1Lf)ΔFx1
+(p2Lt/2+q2Lf)ΔFx2
+(−p3Lt/2+q3Lf)ΔFx3
+(p4Lt/2+q4Lf)ΔFx4 …(13)
これら3つの式(11)〜(13)をまとめると次の行列式(14)で表すことができる。
上記の行列式(14)の左辺、つまりタイヤ力の総和の車体前後方向成分の変化量ΔFx、タイヤ力の総和の車体横方向成分の変化量ΔFy、各輪のタイヤ力によって発生する車両重心周りのヨーモーメントの総和の変化量ΔMをすべてゼロとした次の行列式(15)を満たす制駆動力の変化量ΔFx2,ΔFx3,ΔFx4は、行列式(15)をΔFx2,ΔFx3,ΔFx4に関する連立方程式と見立てて解くと、左前輪1の制駆動力の変化量ΔFx1を用いて次の式(16)〜式(18)により表される。
ΔFx2=[{q1(p4q3−p3q4)L1+p4(p3q1−p1q3)Lt}
/{q2(p3q4−p4q3)Ll+p3(p2q4−p4q2)Lt}]
・ΔFx1
…(16)
ΔFx3=[{q4(p2q1−p1q3)Ll+p1(p4q2−p2q4)Lt}
/{q2(p3q4−p4q3)Ll+p3(p2q4−p4q2)Lt}]
・ΔFx1
…(17)
ΔFx4=[{q3(p1q2−p2q1)Ll+p2(p1q3−p3q1)Lt}
/{q2(p3q4−p4q3)Ll+p3(p2q4−p4q2)Lt}]
・ΔFx1
…(18)
従って、これら3つの式(16)〜式(18)から明らかなように、各輪1〜4の制駆動力の変化量ΔFx1,ΔFx2,ΔFx3,ΔFx4が次の式(19)の比となる場合には、タイヤ力の総和の車体前後方向成分の変化量ΔFx、タイヤ力の総和の車体横方向成分の変化量ΔFy、各輪のタイヤ力によって発生する車両重心周りのヨーモーメントの総和の変化量ΔMが全てゼロとなる。
ΔFx1:ΔFx2:ΔFx3:ΔFx4
=q2(p3q4−p4q3)Ll+p3(p2q4−p4q2)Lt
:q1(p4q3−p3q4)Ll+p4(p3q1−p1q3)Lt
:q4(p2q1−p1q2)Ll+p1(p4q2−p2q4)Lt
:q3(p1q2−p2q1)Ll+p2(p1q3−p3q1)Lt
={(Lt/Ll)(h4−h2)+h2(h4−h3)}
/(cosδ1−k1sinδ1)
:{−(Lt/Ll)(h3−h1)−h1(h4−h3)}
/(cosδ2−k2sinδ2)
:{−(Lt/Ll)(h4−h2)−h4(h2−h1)}
/(cosδ3−k3sinδ3)
:{(Lt/Ll)(h3−h1)+h3(h2−h1)}
/(cosδ4−k4sinδ4)
…(19)
ここで、式(19)の係数h1,h2,h3,h4は、各輪1〜4の舵角δ1,δ2,δ3,δ4と、制駆動力変化に対するタイヤ横力の感度k1,k2,k3,k4とから次の式(補3a)〜式(補3d)により表される値である。
h1=(sinδ1+k1cosδ1)/(cosδ1−k1sinδ1) …(補3a)
h2=(sinδ2+k2cosδ2)/(cosδ2−k2sinδ2) …(補3b)
h3=(sinδ3+k3cosδ3)/(cosδ3−k3sinδ3) …(補3c)
h4=(sinδ4+k4cosδ4)/(cosδ4−k4sinδ4) …(補3d)
また、各輪1〜4の舵角δ1,δ2,δ3,δ4が十分小さい場合には、式(19)において各輪の舵角δ1≒0,δ2≒0,δ3≒0,δ4≒0とすることにより、各輪1〜4の制駆動力変化量ΔFx1,ΔFx2,ΔFx3,ΔFx4の比を式(19)に代えて次の式(20)のように求めることができる。
ΔFx1:ΔFx2:ΔFx3:ΔFx4
=(Lt/Ll)(k4−k2)+k2(k4−k3)
:−(Lt/Ll)(k3−k1)−k1(k4−k3)
:−(Lt/Ll)(k4−k2)−k4(k2−k1)
:(Lt/Ll)(k3−k1)+k3(k2−k1)
…(20)
このように先願装置では、四輪1〜4のうちいずれか一輪の制駆動力が各輪1〜4のスリップや各モータ11〜14の故障等で変化した場合あるいは四輪1〜4のうちいずれか一輪の制駆動力を任意に変化させた場合に、制駆動力補正量ΔFx1,ΔFx2,ΔFx3,ΔFx4がこれら式(19)あるいは式(20)に表した比となるように制御する装置を提案している。即ち、サスペンション特性を無視した車両の平面運動において、一輪例えば左前輪1の制駆動力補正量ΔFx1を用い、上記の式(19)あるいは式(20)に従って残り三輪の制駆動力補正量ΔFx2,ΔFx3,ΔFx4を算出し、これら制駆動力補正量ΔFx1,ΔFx2,ΔFx3,ΔFx4で制駆動力Fx1,Fx2,Fx3,Fx4を補正することにより、タイヤ力の総和の車体前後方向成分Fxと、タイヤ力の総和の車体横方向成分Fyと、各輪のタイヤ力によって発生する車体重心周りのヨーモーメントの総和Mの変化をすべてゼロにすることができる装置を創出している。
さて、先願装置では、四輪1〜4のうちいずれか一輪の制駆動力が各輪1〜4のスリップや各モータ11〜14の過熱等で変化した場合あるいは四輪1〜4のうちいずれか一輪の制駆動力を任意に変化させた場合のみ考えており、四輪1〜4のうち二輪以上の制駆動力がともに変化した場合あるいは四輪1〜4のうち二輪以上の制駆動力を任意に変化させた場合には対応できない。
これについて説明すると、先願装置の適用対象としているサスペンション特性を無視した四輪独立駆動車の平面運動について再考してみる。
四輪独立駆動車は4つの独立な駆動輪1〜4を有するので、自由度は4つである。これに対して、平面運動では車両の運動の方向は3つ(車両前後方向,車両横方向,ヨー回転方向)であるから、自由度は3つである。これは上記の式(8)〜式(10)において、制駆動力配分{Fx1,Fx2,Fx3,Fx4}によってタイヤ力の総和の車体前後方向成分Fx、タイヤ力の総和の車体横方向成分Fy、各輪1〜4のタイヤ力によって発生する車両重心周りのヨーモーメントの総和Mが決定されることと同意である。ここで、車両挙動は、タイヤ力の総和の車体前後方向成分Fx、タイヤ力の総和の車体横方向成分Fy及び各輪1〜4のタイヤ力によって発生する車両重心周りのヨーモーメントの総和Mの3つによって一義的に決まるので、これらFx、Fy及びMの3つを以下「車両挙動」で総称する。
従って、上記の式(8)〜式(10)を、4つの制駆動力Fx1,Fx2,Fx3,Fx4を未知数とした連立方程式と見立てると、その拡大係数行列のサイズは3行5列になるので、階数は必ず未知数Fx1,Fx2,Fx3,Fx4の数である4より小さい。これは、つまり、上記の式(8)〜式(10)によって一つの車両挙動Fx,Fy,Mが定まるとき、その定まる車両挙動と同じ車両挙動Fx,Fy,Mを実現する制駆動力配分{Fx1,Fx2,Fx3,Fx4}は無数に存在することを意味する。
一方、先願装置で対象としている各輪1〜4のスリップや各モータ11〜14の過熱等によって各輪1〜4の制駆動力が変化した場合あるいは各輪1〜4の制駆動力を変化させる場合を考える。
例えば左前輪1にスリップが発生して、路面に伝達できる制駆動力が所定値a[N](a>0)減少した場合に、先願装置では左前輪1のスリップを収束させるためにこの減少代aを左前輪1の制駆動力補正量ΔFx1として(ΔFx1=−a)、残り三輪の制駆動力補正量ΔFx2,ΔFx3,ΔFx4を上記の式(19)を用いて算出し、これら各輪1〜4の制駆動力補正量ΔFx1,ΔFx2,ΔFx3,ΔFx4で対応する各輪1〜4の制駆動力Fx1,Fx2,Fx3,Fx4を補正することとなる。
しかしながら、左前輪1のスリップを収束させるためには、この減少代a以上に左前輪1の制駆動力を減少させてもよい。つまり、左前輪1のスリップを収束させるためには左前輪1の制駆動力Fx1を先願装置のようにFx1+ΔFx1=Fx1−aに設定するのではなく、Fx1−a以下にすればよいので、例えば左前輪1の制駆動力補正量ΔFx1をΔFx1=−b(b>a)のようにおいて残り三輪2〜4の制駆動力補正量ΔFx2,ΔFx3,ΔFx4を上記の式(19)を用いて求めても本来の目的である左前輪1のスリップを収束させながら車両挙動の変化をゼロとすることが可能である。
ここで、左前輪1の制駆動力補正量ΔFx1をΔFx1=−aとしたときと、左前輪1の制駆動力補正量ΔFx1をΔFx1=−bとしたときとでは、残り三輪2〜4の制駆動力補正量ΔFx2,ΔFx3,ΔFx4が異なる。つまり、制駆動力配分{Fx1,Fx2,Fx3,Fx4}が、左前輪1の制駆動力補正量ΔFx1をΔFx1=−aとしたときと、左前輪1の制駆動力補正量ΔFx1をΔFx1=−bとしたときとで異なる。
すると、左前輪1がスリップする上記のケースにおいて、さらに左前輪1以外のもう一輪つまり右前輪2、左後輪3、右後輪4のうちのいずれか一輪がスリップしてそのスリップしたもう一輪の制駆動力を減少させる必要がある場合には、左前輪1の制駆動力補正量ΔFx1をΔFx1=−aとしたときの制駆動力配分{Fx1,Fx2,Fx3,Fx4}では、このもう一輪のスリップを収束させることができないが、左前輪1の制駆動力補正量ΔFx1をΔFx1=−bとしたときの制駆動力配分{Fx1,Fx2,Fx3,Fx4}では、このもう一輪のスリップをも収束させ得るケースが存在する可能性がある。即ち、二輪のスリップや二つのモータの過熱等を抑えるためには、スリップやモータ過熱等が発生した二輪以上の車輪の制駆動力を適当な範囲に制限すればよいことから、四輪1〜4のうち二輪以上の制駆動力が変化した場合あるいは四輪1〜4のうち二輪以上の制駆動力を変化させる場合においても、無数に存在する同じ車両挙動を実現する制駆動力配分{Fx1,Fx2,Fx3,Fx4}の中に、この左前輪1ともう1輪との複数輪の制駆動力制限を満たす制駆動力配分{Fx1,Fx2,Fx3,Fx4}が存在する可能性があるのである。
しかしながら、このような複数輪の制駆動力制限を満たす制駆動力配分{Fx1,Fx2,Fx3,Fx4}が存在する場合においても、先願装置によれば車両挙動の変化をゼロにすることができない。
そこで本発明は、四輪1〜4のうちスリップやモータの過熱等で二輪以上の制駆動力が変化した場合あるいは四輪1〜4のうち二輪以上の制駆動力を変化させる場合においても、車両挙動の変化をゼロにすることが可能である場合には、車両挙動の変化をゼロとするように制駆動力の再配分を行う装置を提案するものである。
本発明によるこの制駆動力再配分を行う方装置の概要を次に説明する。
本発明によって制御される四輪独立駆動車は、まず要求された車両挙動(目標となる車両挙動)を実現する四輪の制駆動力配分の集合を求めるかあるいは予め求めておく。そして、スリップやモータの過熱等が発生し、四輪1〜4のうち二輪以上の制駆動力が変化した場合あるいは四輪1〜4のうち二輪以上の制駆動力を変化させる場合に、変化したあるいは変化させる複数の車輪の各輪が出力可能な制駆動力の範囲をそれぞれ求め、先に求めておいた制駆動力配分{Fx1,Fx2,Fx3,Fx4}の集合の中で、各輪の出力可能な制駆動力範囲を満たす一つの制駆動力配分{Fx1,Fx2,Fx3,Fx4}を選択することにより、制駆動力の再配分後の車両挙動が制駆動力の再配分前の車両挙動と同じになるように制駆動力を再配分する。
この要求された車両挙動を実現する制駆動力配分{Fx1,Fx2,Fx3,Fx4}の集合は、次のようにして求める(演算する)ことができる。
まず、要求された車両挙動を実現する制駆動力配分{Fx1,Fx2,Fx3,Fx4}を少なくとも一つみつけるかあるいは設定する。次に、この一つみつけたか設定した制駆動力配分{Fx1,Fx2,Fx3,Fx4}に対し、いずれか一輪例えば左前輪1の制駆動力Fx1を十分微小な量であるΔFx1だけ変化させ、各輪1〜4の制駆動力変化に対するタイヤ横力の感度k1,k2,k3,k4から残り三輪2〜4の制駆動力補正量Fx2,Fx3,Fx4を上記の式(19)あるいは式(20)を用いて算出し、現在と同じ車両挙動Fx,Fy,Mを実現する別の制駆動力配分{Fx1,Fx2,Fx3,Fx4}を求める。この左前輪1の制駆動力をさらに微少に変化させて上記の式(19)あるいは式(20)による制駆動力配分{Fx1,Fx2,Fx3,Fx4}の補正処理を繰り返すことによって、要求された車両挙動を実現する制駆動力配分{Fx1,Fx2,Fx3,Fx4}の集合を求めることができる。
この方法に従って求めた現在と同じ車両挙動を実現する制駆動力配分{Fx1,Fx2,Fx3,Fx4}の集合の一例を図5に示すと、図5は前輪1,2のみを転舵する四輪独立駆動車において、前輪1,2を左方向に転舵し、走行抵抗に釣り合う制駆動力を輪荷重比で制駆動力配分を行うことによって左方向に定速旋回している走行状態での制駆動力配分として、丸印で表された制駆動力配分{Fx1(0),Fx2(0),Fx3(0),Fx4(0)}を設定し、この定速旋回を実現する制駆動力配分の集合を本発明の上記方法に従って求めた結果である。
図5では左前輪1の制駆動力を横軸に採り、この左前輪1の制駆動力に対する四輪1〜4それぞれの制駆動力を縦軸に採って表している(図では制駆動力を「駆動力」と略記。)。図示のように、左前輪1の制駆動力の集合の軌跡は直線であるのに対して、残り三輪である右前輪2、左後輪3、右後輪4の制駆動力の集合の軌跡はいずれも閉じた輪になっている。
ここで、図5では、丸印の制駆動力配分{Fx1(0),Fx2(0),Fx3(0),Fx4(0)}から、各輪1〜4の制駆動力を上記の式(19)の比が維持されるように微小に変化させながら求めている。従って、左前輪1の制駆動力Fx1がFx1=Fx1(0)の場合に、この定速旋回を実現する制駆動力配分としては、丸印で表された制駆動力配分{Fx1(0),Fx2(0),Fx3(0),Fx4(0)}のほかに、三角印で表された制駆動力配分{Fx1(0),Fx2(1),Fx3(1),Fx4(1)}が存在することがわかる。左前輪1の制駆動力Fx1がFx1=Fx1(0)の場合に、この定速旋回を実現する制駆動力配分が、このように2つの制駆動力配分のみとなるのは、Fx1(0)における一本の縦軸と、残り三輪の制駆動力配分の集合の軌跡を表す各閉じた輪との交点が最大2つになるためである。
ただし、例えば{Fx1(0),Fx2(1),Fx3(0),Fx4(1)}といった制駆動力配分ではこの定速旋回を実現することはできないことに注意すべきである。
そして、スリップやモータの過熱等で四輪のうち二輪以上の制駆動力が変化した場合あるいは四輪のうち二輪以上の制駆動力を変化させる場合には、この現在と同じ車両挙動を実現する制駆動力配分の集合の中から、各輪の出力可能な制駆動力範囲を満たす一つの制駆動力配分を選択すればよい。
例えば、図5において四角印の制駆動力配分{Fx1(2),Fx2(2),Fx3(2),Fx4(2)}で定速旋回中に、左前輪1と右前輪2がともにスリップした場合を考える。このとき、左前輪1のスリップを収束させるためには左前輪1の制駆動力Fx1を所定の範囲、例えば−η≦Fx1≦η(η[N]>0)の範囲で制限し、かつ右前輪2のスリップを収束させるためには右前輪2の制駆動力Fx2を所定の範囲、例えば−ζ≦Fx2≦ζ(ζ[N]>0)の範囲で制限しなければならない。ここで、所定値ηは左前輪1の制駆動力上限を、−ηは左前輪1の制駆動力下限を表す。また、所定値ζは右前輪2の制駆動力上限を、−ζは右前輪2の制駆動力下限を表している。
この場合に、次のようにして一つの制駆動力配分を選択する。
まず、図6に示すように、左前輪1の制駆動力制限−η≦Fx1≦ηを満たす制駆動力配分の集合を求めると、この集合の軌跡は図6において太線で示した範囲(A)の線分及び弧となる。同様にして、図7に示すように右前輪2の制駆動力制限−ζ≦Fx2≦ζを満たす制駆動力配分の集合を求めると、この集合の軌跡は図7において太線で示した範囲(B)の線分及び弧となる。従って、左前輪1の制駆動力制限−η≦Fx1≦ηと、右前輪2の制駆動力制限−ζ≦Fx2≦ζとを同時に満たす制駆動力配分の集合の軌跡は図8において太線で示した範囲(C)の線分及び弧となるので、この太線で示した範囲(C)の中から任意の制駆動力配分を一つ選択すればよい。選択方法としては、例えば四輪をすべてモータで駆動しているような場合には、モータの総消費電力を最小化するような制駆動力配分を選択すればよい。
このように、本発明を用いることによってスリップやモータの過熱等で四輪のうち二輪以上の制駆動力が変化した場合あるいは四輪のうち二輪以上の制駆動力を変化させる場合においても、車両挙動の変化をゼロにすることが可能である場合には、車両挙動の変化をゼロとするような制駆動力の再配分を行うことが可能となることがわかる。
コントローラ8で実行されるこの制御を以下のフローチャートを参照して詳述する。
図9(A)及び図9(B)は各モータ11〜14へのトルク配分制御を実行するためのもので、操作の手順を記載している。一定時間毎に実行するものではない。
図9(A)においてステップ10では、車輪速センサ21〜24で各輪1〜4の回転速度ω1,ω2,ω3,ω4[rad/s]をそれぞれ検出し、各輪1〜4の半径Rを乗じて各車輪速度V1,V2,V3,V4[m/s]を得る。
また、アクセルストロークセンサ26によってアクセルペダル6の踏込量AP[%]を、ブレーキストロークセンサ27によってブレーキペダル7の踏込量BP[%]を、ステアリング角センサ25によってステアリング5の回転角θ[rad]を、加速度センサ100によって車両の前後方向加速度Xg[m/s2]と横方向加速度Yg[m/s2]を、ヨーレートセンサ101によってヨーレートγ[rad/s]を、各モータ内蔵の温度センサによって各輪1〜4のモータ11〜14の各温度T1,T2,T3,T4[℃]をそれぞれ検出する。
ここで、各車輪速度V1,V2,V3,V4は車両前進方向を正とし、ステアリングの回転角θは反時計回りを正とし、車両前後方向加速度Xgは車両が前方に加速する方向を正とし、車両横方向加速度Ygは車両が左旋回時に車両重心位置から旋回中心に向かう方向を正とし、ヨーレートγは車両を鉛直上方からみたときに反時計回りを正とする。
ステップ20では、車体速度V[m/s]を次の式(21)により算出する。車体速度Vは車両前進方向を正とする。
V=(V1+V2+V3+V4)÷4 …(21)
ステップ30では、各輪1〜4の輪荷重W1,W2,W3,W4[N]を次の式(22)〜式(25)により算出する。
W1=mLrg/2Ll−mhXg/2Ll−mhYg/2Lt
…(22)
W2=mLrg/2Ll−mhXg/2Ll+mhYg/2Lt
…(23)
W3=mLrg/2Ll+mhXg/2Ll−mhYg/2Lt
…(24)
W4=mLrg/2Ll+mhXg/2Ll+mhYg/2Lt
…(25)
ここで、上記の式(22)〜式(25)においてmは車両の質量[kg]、hは車両の重心高さ[m]、gは重力加速度[m/s2]である。各輪1〜4の輪荷重W1,W2,W3,W4の算出方法は特開2002−211378公報に記載されており、ここでは当該公報に従って求めている。
ステップ40では、後輪3,4の舵角δ3,δ4がステアリング5の回転角θに対して次の式(26)の応答となるようにステアリングアクチュエータ16を制御する。
δ3=δ4=(1/16)[k0/(1+Tes)
−(Kf/Kr)Tes/(1+Tes)]θ
…(26)
ここで、式(26)のTe、k0は次の値である。
Te=IV/(2LlLfKf+mLrV2) …(26a)
k0=−{Lr+(mLf/2LlKr)KfV2}
/{Lf+(mLr/2LlKf)KrV2}
…(26b)
なお、上記の式(26)のmは車両の質量[kg]、Iは車体重心周りのヨー慣性モーメント[kgm2]であり、Kf,Krは前輪1,2及び後輪3,4の横滑り角が十分小さいときの単位横滑り角あたりのコーナーリングフォース[N/rad]である。また、式(26)右辺の左端の1/16はステアリング5の回転角θの変化に対する前輪舵角の感度であることは既に述べた通りである。
またこのとき、舵角センサ41〜44で各輪1〜4の舵角δ1,δ2,δ3,δ4[rad]を検出する。各輪1〜4の舵角δ1,δ2,δ3,δ4は、前述したように各輪1〜4の向きが車体前後方向と一致している状態をゼロとし、車両を鉛直上方からみたときに反時計回りを正とする。
このように後輪3,4の舵角δ3,δ4の目標応答をステアリング5の回転角θに対して決定することによって、車体速度Vの変化や各輪1〜4の舵角δ1,δ2,δ3,δ4が十分小さく、左右輪の制駆動力差がゼロの場合に、車体横滑り角βをゼロにできることが知られている(安部正人著,「自動車の運動と制御」,第二版,株式会社山海堂,平成15年4月,第8章8.3.1節)。
ステップ50では、車両に対する運転者の要求制駆動力tF’[N]を次の式(27)により算出する。
tF’=tFa+tFb …(27)
式(27)右辺第1項のtFa[N]はアクセルペダル6の踏込量AP及び車体速度Vに対応した要求駆動力を要求駆動力マップに基づいて、また右辺第2項のtFb[N]はブレーキペダル7の踏込量BPに対応した要求制動力(ゼロ及び負の値)を要求制動力マップに基づいてそれぞれ算出したものである。ここで、要求駆動力マップはアクセルペダル6の踏込量AP及び車体速度Vに対応する要求駆動力を、要求制動力マップはブレーキペダルの踏込量BPに対応する要求制動力をそれぞれコントローラ8のROMに予め記憶させておいたものであり、要求駆動力tFa、要求制動力tFbはそれぞれ例えば図10及び図11のように設定している。
このようにして設定した要求制駆動力tF’に対して、次の式(27a)によりなまし処理を行い、なまし処理後の値を目標制駆動力tF[N]とする。
tF={Ns×tF’(k)+(1−Ns)×tF’(k-1)}÷2 …(27a)
実際には、式(27a)におけるなまし処理の係数Ns(ただし、0<Ns<1)を用いて、式(27)で求めた要求制駆動力の現在値であるtF’(k)と、同じく式(27)で求めた要求制駆動力の前回値であるtF’(k-1)の平均値を演算する。なまし処理の係数Nsは制駆動力変動による加減速が運転者の不快感を招かないように本実施形態ではNsとして0.5を設定している。
上記の要求制駆動力tF’,目標制駆動力tF,要求駆動力tFa,要求制動力tFbはいずれも車両を前方に加速させる向きを正とする。要求制動力tFbはゼロまたは負の値である(図11参照)。
ステップ60では、まずステアリング5の回転角θと車両速度Vから、基本左右輪制駆動力差ΔF’[N]を基本左右輪制駆動力差マップに基づいて算出する。基本左右輪制駆動力差マップは、ステアリング回転角θと車両速度Vに対応する左右輪制駆動力差ΔF’を予めコントローラ8のROMに記憶しておいたものであり、基本左右輪制駆動力差ΔF’は例えば図12のように設定している。
そして、この基本左右輪制駆動力差ΔF’に対して次の式(27b)によりなまし処理を行うことによって目標左右輪制駆動力差ΔF[N]を求める。
ΔF={Nss×ΔF’(k)+(1−Nss)×ΔF’(k-1)}÷2
…(27b)
実際には上記の式(27a)と同様に、式(27b)におけるなまし処理の係数Nss(但し、0<Nss<1)を用いて、基本左右輪制駆動力差の現在値であるΔF’(k)と、基本左右輪駆動力差の前回値であるΔF’(k-1)の平均値を演算する。なまし処理の係数Nssは左右輪制駆動力差の変動によるヨーレートや横Gの変化が運転者の不快感を招かないように本実施形態ではNssとして0.5を設定している。
ステップ70では、目標制駆動力tFと目標左右輪制駆動力差ΔFとから各輪1〜4の制駆動力Fx1,Fx2,Fx3,Fx4を次の式(28)及び式(29)により算出する。各輪1〜4の制駆動力Fx1,Fx2,Fx3,Fx4は、前述したように車両を前進させる方向に働く力を正とする。
Fx1=Fx3=tF/4−ΔF/4 …(28)
Fx2=Fx4=tF/4+ΔF/4 …(29)
例えば、ステアリング5の回転角θが正、つまりステアリング5を中立位置より図2のように反時計方向に回したとき、基本左右輪駆動力差ΔF’(従って目標左右輪駆動力差ΔF)が正の値となり(図12参照)、式(28)あるいは式(29)より左車輪1,3の制駆動力Fx1,Fx3が右車輪2,4の制駆動力Fx2,Fx4より小さくなる。この状態が図2に示されている。
ここで、式(28)及び式(29)の4つの制駆動力からなる制駆動力配分{Fx1,Fx2,Fx3,Fx4}が、要求された車両挙動(目標となる車両挙動)を実現する四輪の制駆動力配分である。
ステップ80では、各輪1〜4の横滑り角β1,β2,β3,β4[rad]を推定する。この各輪1〜4の横滑り角(スリップ角ともいう)とは、車両の進行方向とタイヤの前後方向のなす現時点における車輪のスリップ角(現状スリップ角)のことである。推定方法については種々あるが、ここでは一例として次の方法を用いる(特開平10-329689号公報参照)。
即ち、ステップ10で読み込んだ横方向加速度Yg及びヨーレートγと、ステップ20で求めている車体速度Vとから車体横滑り角βをまず推定する。その上で、この車体横滑り角β,ヨーレートγ,車体速度V,操舵角θから各輪1〜4の横滑り角β1,β2,β3,β4を推定する。具体的には先ず、車体横滑り角β[rad]を次の式(補4)により算出する。
β=∫(Yg/V−γ)dt …(補4)
次いで、前輪1,2の横滑り角β1,β2を次の式(補5)により及び後輪3,4の横滑り角β3,β4を次の式(補6)によりそれぞれ算出する。
β1=β2=β+θ/Gs−γ×Lf/V …(補5)
β3=β4=β+γ×Lr/V …(補6)
ここで、Gsはステアリングギヤ15のギヤ比である。
各輪1〜4の横滑り角β1,β2,β3,β4の符号は、各輪1〜4の前後方向から車輪速度の方向までの角度が鉛直上方から見て反時計回りになっている場合を正とする。車体横滑り角βの符号も、各輪1〜4の横滑り角β1,β2,β3,β4の符号と同様である。
ステップ90では、各車輪1〜4の路面摩擦係数μ1,μ2,μ3,μ4を推定する。推定方法については種々あるが、ここでは一例として次の方法(特開平6−98418号公報参照)を用いる。この方法は、各車輪1〜4が路面から受ける路面反力F1,F2,F3,F4を推定し、この路面反力F1,F2,F3,F4とステップ20で求めた輪荷重W1,W2,W3,W4とから各車輪1〜4の路面摩擦係数μ1,μ2,μ3,μ4を推定するものである。
簡単に概説すると、一輪についてモータに電磁トルクTmが加えられ、車輪には路面反力Fに車輪半径Rを乗じた路面反力トルクF×Rがモータによるトルクと逆方向に加えられているとする。そして、モータと車輪とは直結状態であり、車軸のねじり剛性κが十分に大きいと仮定でき(車軸のねじり変形を無視する)、モータの回転速度と車輪の回転速度とは同一の回転速度ω[rad/s]であるとの関係が成り立つとすると、モータと車輪との回転系の運動方程式は次の式(補7)にまとめることができる。
(Jm+Jw)dω/dt=Tm−Cm・ω−Rm・ω−F・R …(補7)
ここで、Jmはモータの慣性モーメント、Jwは車輪の慣性モーメント、Cmはモータの回転系の粘性減衰定数、Cwは車輪の回転系の粘性減衰定数、Rmはモータの回転系の個体摩擦、Rwは車輪の回転系の個体摩擦である。
その結果、路面反力Fを、上記の式(補7)を変形した次の式(補8)より算出することができる。
F={Tm−(Jm+Jw)dω/dt−Cm・ω−Rm・ω}/R
…(補8)
従って、この式(補8)を用いて、各輪1〜4についての路面反力F1,F2,F3,F4を次の式(補9a)〜式(補9d)により算出する。
F1={Tm−(Jm+Jw)dω1/dt−Cm・ω1−Rm・ω1}/R
…(補9a)
F2={Tm−(Jm+Jw)dω2/dt−Cm・ω2−Rm・ω2}/R
…(補9b)
F3={Tm−(Jm+Jw)dω3/dt−Cm・ω3−Rm・ω3}/R
…(補9c)
F4={Tm−(Jm+Jw)dω4/dt−Cm・ω4−Rm・ω4}/R
…(補9d)
このようにして算出した各輪1〜4の路面反力F1,F2,F3,F4と、各輪1〜4の輪荷重W1,W2,W3,W4とにより、次の式(補10a)〜式(補10d)を用いて路面摩擦係数μ1、μ2、μ3、μ4を算出する。
μ1=F1/W1 …(補10a)
μ2=F2/W2 …(補10b)
μ3=F3/W3 …(補10c)
μ4=F4/W4 …(補10d)
ステップ100では、ステップ70で求められた制駆動力配分{Fx1,Fx2,Fx3,Fx4}により実現される車両挙動(タイヤ力の総和の車体前後方向成分Fxと、タイヤ力の総和の車体横方向成分Fyと、各輪のタイヤ力によって発生する車体重心周りのヨーモーメントMの総和との3つ)を求める。
具体的にはステップ70で算出されている各輪1〜4の制駆動力Fx1,Fx2,Fx3,Fx4と、各輪1〜4のタイヤ横力Fy1,Fy2,Fy3,Fy4と、ステップ40で算出されている各輪1〜4の舵角δ1,δ2,δ3,δ4とから、次式により各輪1〜4で発生するタイヤ力の車体前後方向成分Fx’1,Fx’2,Fx’3,Fx’4と、各輪1〜4で発生するタイヤ力の車体横方向成分Fy’1,Fy’2,Fy’3,Fy’4とを算出する。
Fx’1=Fx1cosδ1−Fy1sinδ1 …(補11a)
Fx’2=Fx2cosδ2−Fy2sinδ2 …(補11b)
Fx’3=Fx3cosδ3−Fy3sinδ3 …(補11c)
Fx’4=Fx4cosδ4−Fy4sinδ4 …(補11d)
Fy’1=Fx1sinδ1+Fy1cosδ1 …(補12a)
Fy’2=Fx2sinδ2+Fy2cosδ2 …(補12b)
Fy’3=Fx3sinδ3+Fy3cosδ3 …(補12c)
Fy’4=Fx4sinδ4+Fy4cosδ4 …(補12d)
ここで、式(補11a)〜式(補12d)は前述の式(1),式(2)と同じ式である。
そして、式(補11a)〜式(補12d)により算出したタイヤ力の車体前後方向成分Fx’1,Fx’2,Fx’3,Fx’4,タイヤ力の車体横方向成分Fy’1,Fy’2,Fy’3,Fy’4を次の式(補13)〜式(補15)に代入して、タイヤ力の総和の車体前後方向成分Fx、タイヤ力の総和の車体横方向成分Fy、各輪1〜4のタイヤ力によって発生する車両重心周りのヨーモーメントの総和Mをそれぞれ算出する。
Fx=Fx’1+Fx’2+Fx’3+Fx’4 …(補13)
Fy=Fy’1+Fy’2+Fy’3+Fy’4 …(補14)
M={(Fx’2+Fx’4)−(Fx’1+Fx’3)}×Lt/2
+{(Fy’1+Fy’2)×Lf−(Fy’3+Fy’4)×Lr}
…(補15)
ここで、式(補13)〜式(補15)は上記の式(8)〜式(10)と同じ式である。
上記の式(補11a)〜式(補12d)のタイヤ横力Fy1,Fy2,Fy3,Fy4は次のようにして求める。例えば、左前輪1の場合を例にとって説明すると、コントローラ8のROMに、左前輪1の輪荷重W1,横滑り角β1毎に、左前輪1の制駆動力とタイヤ横力との関係を表すタイヤ特性マップを複数用意しておく。この複数のタイヤ特性は、図14のように設定されている。すなわち、図14において上段に左前輪1の輪荷重W1が大きい場合、中段に左前輪1の輪荷重W1が中位の場合、下段に左前輪1の輪荷重W1が小さい場合の各タイヤ特性の内容を示しており、左前輪1の輪荷重W1が大きくなるほど、つまり下段、中段、上段の順にタイヤ特性を表す曲線が全体的に膨らんでいる。また、上段、中段、下段の3つの各場合ではさらに左前輪1の代表的な6つの横滑り角α1,α2,α3,α4,α5,α6(|α1|<|α2|<|α3|<|α4|<|α5|<|α6|)のときのタイヤ特性を重ねて示しており、同じ輪荷重W1でも横滑り角の絶対値が|α1|より|α4|へと大きくなるほど上方への膨らみが増した後に、|α5|、|α6|となれば今度は全体的に縮んでいる。従って、今かりに、左前輪1の輪荷重W1が大きく、左前輪1の横滑り角β1がα2であったとすれば、図14に示す複数のタイヤ特性のうち上段のα2のタイヤ特性を選択し、その選択したタイヤ特性から左前輪1の制駆動力Fx1に対応するタイヤ横力Fy1を求めることができる。
残りの三輪2〜4についても同様に、各輪2〜4の輪荷重Wi,横滑り角βi(i=2〜4)に対応した複数のタイヤ特性を図14と同様に用意しておき、各輪2〜4の制駆動力Fxiに対応するタイヤ横力Fyiを、各輪2〜4毎の複数のタイヤ特性のうち輪荷重Wi、横滑り角βiのときのタイヤ特性を選択して求める。
ステップ101では、現在の各輪1〜4のタイヤ特性において図9(A)のステップ100で求めたと同じ車両挙動(Fx,Fy,M)を実現する制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}(j=1,2,…)を求める。ここで、{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}は、{Fx1,Fx2,Fx3,Fx4}={Fx1(1),Fx2(1),Fx3(1),Fx4(1)}、{Fx1,Fx2,Fx3,Fx4}={Fx1(2),Fx2(2),Fx3(2),Fx4(2)}、{Fx1,Fx2,Fx3,Fx4}={Fx1(3),Fx2(3),Fx3(3),Fx4(3)}、{Fx1,Fx2,Fx3,Fx4}={Fx1(4),Fx2(4),Fx3(4),Fx4(4)}、…といった制駆動力配分{Fx1,Fx2,Fx3,Fx4}の集合を表している。
ここで、現在の各輪1〜4のタイヤ特性において図9(A)のステップ100で求めたと同じ車両挙動(Fx,Fy,M)を実現する制駆動力配分の集合の演算方法として次に2つを挙げる。
<1>制駆動力配分の集合の演算方法1(請求項2に記載の発明)
現在の各輪1〜4のタイヤ特性において図9(A)のステップ100で求めたと同じ車両挙動を実現する制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}を、ステップ50で求めている目標制駆動力tFと、ステップ60で求めている目標左右輪制駆動力差ΔFと、ステップ30で求めている各輪1〜4の輪荷重W1,W2,W3,W4と、ステップ80で求めている各輪1〜4の横滑り角β1,β2,β3,β4とから、図13に示すフローで求めたマップに基づいて求める。
ここで、図13に示すフローで求めたマップとは、目標制駆動力tFと、目標左右輪制駆動力差ΔFと、輪荷重W1,W2,W3,W4と、横滑り角β1,β2,β3,β4とから、図9(A)のステップ100で求めたと同じ車両挙動を実現する制駆動力配分の集合を求めるマップである。なお、図13のフローによる制駆動力配分の集合の求め方については後述する。
ここではさらに、図14に示すような各輪1〜4の制駆動力とタイヤ横力との関係を表すタイヤ特性を、ステップ90で推定した各輪1〜4の路面摩擦係数μ1,μ2,μ3,μ4毎に求めてマップにしておくことにすれば、制駆動力配分の集合をより高精度に求めることができる。
<2>制駆動力配分の集合の算出方法2(請求項3、4に記載の発明)
現在の各輪1〜4のタイヤ特性において図9(A)のステップ100で求めたと同じ車両挙動を実現する制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}を、上記の式(20)または式(19)を用いた図15に示すフローに従って求める。図15に示すフローを用いた制駆動力配分の集合の求め方については後述する。
これで制駆動力配分の集合の算出方法の説明を終える。
ステップ110では、各輪1〜4の制駆動力上限Fmaxi[N](i=1〜4)及び各輪1〜4の制駆動力下限Fmini[N](i=1〜4)を求める。
この各輪1〜4の制駆動力上限Fmaxi及び制駆動力下限Fminiの算出方法として次に3つを挙げる。
<3>制駆動力上限、制駆動力下限の算出方法1(請求項5、6に記載の発明)
各輪1〜4において、スリップあるいは車輪ロックを起こさない各輪1〜4の制駆動力上限Fsmaxi[N](i=1〜4)及び制駆動力下限Fsmini[N](i=1〜4)を求め、このうちスリップあるいは車輪ロックを起こさない各輪1〜4の制駆動力上限Fsmaxiを制駆動力上限Fmaxiに、スリップあるいは車輪ロックを起こさない各輪1〜4の制駆動力下限Fsminiを制駆動力下限Fminiにする。
ここで、スリップあるいは車輪ロックを起こさない各輪1〜4の制駆動力上限Fsmaxi及び制駆動力下限Fsminiの求め方としては、例えば、上記の式(補9a)〜式(補9d)により算出している各輪1〜4の路面反力Fi(i=1〜4)を、スリップあるいは車輪ロックを起こさない各輪1〜4の制駆動力上限Fsmaxiと、また−Fiを、スリップあるいは車輪ロックを起こさない各輪1〜4の制駆動力下限Fsminiとする。
<4>制駆動力上限、制駆動力下限の算出方法2(請求項7、8に記載の発明)
各モータ11〜14が過熱しまたは破損しないようにする各輪1〜4の制駆動力上限Fdmaxi[N](i=1〜4)及び制駆動力下限Fdmini[N](i=1〜4)を求め、このうち各モータ11〜14が過熱しまたは破損しないようにする各輪1〜4の制駆動力上限Fdmaxiを制駆動力上限Fmaxiに、各モータ11〜14が過熱しまたは破損しないようにする各輪1〜4の制駆動力下限Fdminiを制駆動力下限Fminiにする。
ここで、各モータ11〜14が過熱しまたは破損しないようにする各輪1〜4の制駆動力上限Fdmaxi及び制駆動力下限Fdminiの求め方としては、例えば、各モータ11〜14の温度Ti(i=1〜4)から、現在のモータ温度とモータ過熱を抑えることができる最大出力Ptmax[W]との関係を求めたマップに基づいて、各モータ11〜14の最大出力Ptmaxi(i=1〜4)[W]を求め、この各モータ11〜14の最大出力Ptmaxiと、ステップ10で検出している各輪1〜4の回転速度ωiとから次の式(30)及び式(31)により、各モータ11〜14が過熱しまたは破損しないようにする各輪1〜4の制駆動力上限Fdmaxi及び制駆動力下限Fdminiを各輪1〜4毎に求める。
Fdmaxi=Ptmaxi÷ωi …(30)
Fdmini=−Ptmaxi÷ωi …(31)
現在のモータ温度とモータ過熱を抑えることができる最大出力Ptmaxとの関係を求めたマップでは例えば図16のようにモータ温度とPtmaxとの関係を設定している。
ここで、各輪1〜4のメカブレーキによる制動力と各モータ11〜14の制駆動力を協調制御できる四輪独立駆動車であれば、各モータ11〜14が過熱しまたは破損しないようにする各輪1〜4の制駆動力下限Fdminiに、各輪1〜4のメカブレーキの最大制動力を加算することによって各輪1〜4の制動性能の限界を向上させることができる。
<5>制駆動力上限、制駆動力下限の算出方法3
上記<4>で算出した制駆動力上限Fdmaxiと、上記<3>で算出した制駆動力上限Fsmaxiとを比較して小さい方の値を駆動力上限Fmaxiに設定し、同様に上記<4>で算出した制駆動力下限Fdminiと、上記<3>で算出した制駆動力下限Fsminiとを比較して大きい方の値を制駆動力下限Fminiに設定する。この方法によれば、路面に伝達可能な駆動力制限と、モータ過熱による出力低下とを同時に考慮できるので、なおよい。
これで制駆動力上限、制駆動力下限の算出方法の説明を終える。
図9(B)に移り、ステップ120では、必要制駆動力補正量ΔFsiの絶対値|ΔFsi|が、閾値Fthより大きい車輪が一輪以上あるか否かをみる。必要制駆動力補正量ΔFsiの絶対値|ΔFsi|が、閾値Fthより大きい車輪が一輪以上ある場合にはステップ130に進む。そうでない場合にはステップ300に進む。
ここで、必要制駆動力補正量ΔFsi(i=1〜4)は各輪1〜4毎に次のように設定している。すなわち、各輪1〜4について制駆動力Fxiが制駆動力下限Fminiを超えかつ制駆動力上限Fmaxi未満(Fmini<Fxi<Fmaxi)の領域にあれば必要制駆動力補正量ΔFsi[N]=0である。各輪1〜4について制駆動力Fxiが制駆動力上限Fmaxi以上(Fxi≧Fmaxi)のとき必要制駆動力補正量ΔFsi[N]=Fmaxi−Fxiであり、各輪1〜4について制駆動力Fxiが制駆動力下限Fmini以下(Fxi≦Fmini)のとき必要制駆動力補正量ΔFsi=Fmini−Fxiである。これより、各輪1〜4の必要制駆動力補正値ΔFsiとは、各輪1〜4の制駆動力Fxiを各輪1〜4が出力可能な制駆動力にするために最低限どれだけ補正しなければならないかを表す値である。
また、上記の閾値Fthは、例えば路面反力Fiと制駆動力Fxiとの差が大きくなる、つまりスリップの傾向が強くなっていることや、モータ11〜14の過熱が進行している等の現象を判断するための閾値である。本実施形態では車両重量W[N]の1%(つまり0.01W)を閾値Fthとしている。
ステップ130では、ステップ101で求めた制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}をステップ110で求めた制駆動力上限Fmaxi及び制駆動力下限Fminiで各輪1〜4毎に制限する。制限する方法について次に説明する。
まず、左前輪1の制駆動力Fx1(j)がFmin1≦Fx1(j)≦Fmax1の条件を満たす整数jを全て抽出し、配列Stに記憶する。次に、配列Stに記憶された整数jの中から右前輪2の制駆動力Fx2(j)がFmin2≦Fx2(j)≦Fmax2の条件を満たす整数jをさらに抽出する。この作業をさらに、左後輪3、右後輪4の順番で行い、最終的に実現可能な制駆動力配分を指し示す整数jの集合を配列Stという形で得る。また、実現可能な制駆動力配分を指し示す整数jの数を配列数Stnumに設定する。
このように制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}を制駆動力上限Fmaxi及び制駆動力下限Fminiで制限することによって、現在の各輪1〜4のタイヤ特性において図9(A)のステップ100で求めたと同じ車両挙動を実現する制駆動力配分の集合より、スリップやモータ過熱等の制駆動力制限によって実現不可能な制駆動力配分{Fx1,Fx2,Fx3,Fx4}を除外することができる。
ステップ140では、配列数Stnumがゼロでない場合、つまりステップ100で求めたと同一の車両挙動を実現する制駆動力配分{Fx1,Fx2,Fx3,Fx4}が存在する場合にはステップ150に進み、ステップ130で得られた実現可能な制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}の中から、一つの制駆動力配分{Fx1,Fx2,Fx3,Fx4}を選択する(制駆動力の再配分を行う)。
ステップ150におけるこの一つの制駆動力配分の選択方法として次に3つを挙げる。
<6>一つの制駆動力配分の選択1
配列Stに記録された各整数jに対応する制駆動力配分と、ステップ70で設定している各輪1〜4の制駆動力Fx1,Fx2,Fx3,Fx4とから次の式(32)の評価関数J(j)を配列Stに記録された整数j毎に計算し、それら計算した評価関数J(j)のうち、評価関数J(j)の値を最小とする制駆動力配分を選ぶ。
J(j)=(Fx1−Fx1(j))+(Fx2−Fx2(j))
+(Fx3−Fx3(j))+(Fx4−Fx4(j))
…(32)
例えば、配列Stに記録された整数jが1,3,5であったとすると、次の式(補16a)〜式(補16c)により評価関数J(1),J(3),J(5)を計算する。
J(1)=(Fx1−Fx1(1))+(Fx2−Fx2(1))
+(Fx3−Fx3(1))+(Fx4−Fx4(1))
…(補16a)
J(3)=(Fx1−Fx1(3))+(Fx2−Fx2(3))
+(Fx3−Fx3(3))+(Fx4−Fx4(3))
…(補16b)
J(5)=(Fx1−Fx1(5))+(Fx2−Fx2(5))
+(Fx3−Fx3(5))+(Fx4−Fx4(5))
…(補16c)
そして、J(1)>J(3)>J(5)であれば、{Fx1(5),Fx2(5),Fx3(5),Fx4(5)}を求めるべき制駆動力配分{Fx1,Fx2,Fx3,Fx4}として選択する。
このように、評価関数J(j)の値を最小とする制駆動力配分{Fx1,Fx2,Fx3,Fx4}を選択することは、スリップやモータ過熱等による制駆動力制限によって制駆動力を再配分する場合に、再配分しない場合との各輪1〜4の制駆動力差を最小にする方法の一つであり、制駆動力の急変によるショックを抑制する効果がある。
<7>一つの制駆動力配分の選択2(請求項9に記載の発明)
配列Stに記録された各整数jに対応する制駆動力配分の中でモータ11〜14の総消費電力が最小となる制駆動力配分を選択する。選択の方法としては以下の通り。
モータ11〜14が消費する電力と、実際に制駆動力として得られる出力との差、つまり制駆動トルクと回転速度とをパラメータとして予め求めておいたモータロス(モータ11〜14の損失エネルギ)のマップから、配列Stに記録された各整数jに対応する制駆動力配分毎に、各輪1〜4のモータロスPlossi(j)[W](i=1〜4)を求め、これらモータロスPlossi(j)の和Ploss(j)[W]を次式(補17)により算出し、この算出した総モータロスPloss(j)が最小となる制駆動力配分を選択する。
Ploss(j)=Ploss1(j)+Ploss2(j)+Ploss3(j)+Ploss4(j)
…(補17)
各輪1〜4のモータロスは、図17のように制駆動トルク[Nm]と回転速度[rad/s]とに応じ、回転速度が同じであれば制駆動トルク(=制駆動力×R)が正の値であるいは負の値で増えるほどモータロスが大きくなるように、また制駆動トルクが同じであれば回転速度が高くなるほどモータロスが大きくなるように予め設定している。図17において、図示の5つのα1〜α5が値の異なるモータロスであり、α1よりα2のほうが、α2よりα3のほうが、α3よりα4のほうが、α4よりα5のほうがモータロスが大きくなっている(α5>α4>α3>α2>α1)。なお、図17でもαを用いているが、図14のαとは異なる。例えば、左前輪1の制駆動力Fx1と回転速度ω1から、左前輪1のモータロスPloss1(j)を求めるには次のようにする。すなわち、図17において横軸がω1、縦軸がFx1×RのときのモータロスPlossは所定値α5であるので、この所定値α5を左前輪1のモータロスPloss1(j)とする。
具体的に考えてみる。配列Stに記録された整数jが1,3,5であったとすると、次の式(補18a)〜式(補18c)により総モータロスPloss(1),Ploss(3),Ploss(5)を計算する。
Ploss(1)=Ploss1(1)+Ploss2(1)+Ploss3(1)+Ploss4(j)
…(補18a)
Ploss(3)=Ploss1(3)+Ploss2(3)+Ploss3(3)+Ploss4(3)
…(補18b)
Ploss(5)=Ploss1(5)+Ploss2(5)+Ploss3(5)+Ploss4(5)
…(補18c)
そして、Ploss(1)>Ploss(3)<Ploss(5)であれば、{Fx1(3),Fx2(3),Fx3(3),Fx4(3)}を求めるべき制駆動力配分{Fx1,Fx2,Fx3,Fx4}として選択する。
<8>一つの制駆動力配分の選択3(請求項10に記載の発明)
配列Stに記録された各整数jに対応する制駆動力配分の中で、各輪1〜4のタイヤ横力と制駆動力との合力であるタイヤ力を輪荷重W1,W2,W3,W4で除した値であるタイヤ摩擦円使用率H1(j),H2(j),H3(j),H4(j)の最大値と最小値の差が最も小さくなる制駆動力配分を選択する。選択の方法は次の通り。
配列Stに記録された各整数jに対応する制駆動力配分毎に、各輪1〜4のタイヤ横力Fy1(j),Fy2(j),Fy3(j),Fy4(j)を推定(算出)し、このタイヤ横力Fy1(j),Fy2(j),Fy3(j),Fy4(j)と、ステップ30で求めている輪荷重W1,W2,W3,W4とから各輪1〜4のタイヤ摩擦円使用率H1(j),H2(j),H3(j),H4(j)を次の式(33a)〜式(33d)により算出する。
H1(j)={(Fx1(j)2+Fy1(j)2)}1/2/W1 …(33a)
H2(j)={(Fx2(j)2+Fy2(j)2)}1/2/W2 …(33b)
H3(j)={(Fx3(j)2+Fy3(j)2)}1/2/W3 …(33c)
H4(j)={(Fx4(j)2+Fy4(j)2)}1/2/W4 …(33d)
ここで、各輪1〜4のタイヤ横力Fy1(j),Fy2(j),Fy3(j),Fy4(j)の算出方法の一例はステップ100で説明済みであるので、ここでの説明は省略する。
そして配列Stに記録された整数jに対応する各制駆動力配分毎に、四輪1〜4のタイヤ摩擦円使用率H1(j),H2(j),H3(j),H4(j)のうちの最大値Hmax(j)と、タイヤ摩擦円使用率H1(j),H2(j),H3(j),H4(j)のうちの最小値Hmin(j)とを求め、その差であるΔH(j)=Hmax(j)−Hmin(j)が最も小さくなる整数jを採る制駆動力配分を選択する。
ここでも、配列Stに記録された整数jが1,3,5であったとする場合で具体的に考えてみると、次の式(補19a)〜式(補21d)により各輪のタイヤ摩擦円使用率H1(1),H2(1),H3(1),H4(1)、H1(3),H2(3),H3(3),H4(3)、H1(5),H2(5),H3(5),H4(5)を計算する。
H1(1)={(Fx1(1)2+Fy1(1)2)}1/2/W1 …(補19a)
H2(1)={(Fx2(1)2+Fy2(1)2)}1/2/W2 …(補19b)
H3(1)={(Fx3(1)2+Fy3(1)2)}1/2/W3 …(補19c)
H4(1)={(Fx4(1)2+Fy4(1)2)}1/2/W4 …(補19d)
H1(3)={(Fx1(3)2+Fy1(3)2)}1/2/W1 …(補20a)
H2(3)={(Fx2(3)2+Fy2(3)2)}1/2/W2 …(補20b)
H3(3)={(Fx3(3)2+Fy3(3)2)}1/2/W3 …(補20c)
H4(5)={(Fx4(3)2+Fy4(5)2)}1/2/W4 …(補20d)
H1(5)={(Fx1(5)2+Fy1(5)2)}1/2/W1 …(補21a)
H2(5)={(Fx2(5)2+Fy2(5)2)}1/2/W2 …(補21b)
H3(5)={(Fx3(5)2+Fy3(5)2)}1/2/W3 …(補21c)
H4(5)={(Fx4(5)2+Fy4(5)2)}1/2/W4 …(補21d)
そして、H1(1),H2(1),H3(1),H4(1)のうちの最大値と最小値の差ΔH(1)、H1(3),H2(3),H3(3),H4(3)のうちの最大値と最小値の差ΔH(3)、H1(5),H2(5),H3(5),H4(5)のうちの最大値と最小値の差ΔH(5)を求めたところ、ΔH(1)<ΔH(3)<ΔH(5)であったとすれば、{Fx1(1),Fx2(1),Fx3(1),Fx4(1)}を求めるべき制駆動力配分{Fx1,Fx2,Fx3,Fx4}として選択する。
このように一つの制駆動力配分{Fx1,Fx2,Fx3,Fx4}を選択することによって、各輪1〜4の路面摩擦係数が急激に低下しても、各輪1〜4のタイヤ摩擦円が飽和しにくくなり車両の操縦安定性をより向上させることができる。
<9>一つの制駆動力配分の選択4
車両の操縦安定性が重視される急旋回中には上記<8>で述べた選択方法を、これに対して燃費を重視する直進・緩旋回中は上記<6>や<7>で述べた選択方法を採ることもできる。
選択方法の例としては、例えばステップ10で検出した横方向加速度Ygの絶対値が閾値Ygth(本実施形態では3.0 m/s2)以下のときに燃費を重視する直進・緩旋回中と判断し、上記の式(32)の評価関数J(j)を最小化する制駆動力配分を、これに対してステップ10で検出した横方向加速度Ygの絶対値が閾値Ygthより大きければ車両の操縦安定性が重視される急旋回中と判断し、配列Stに記録された整数jに対応する各制駆動力配分毎に、四輪1〜4のタイヤ摩擦円使用率H1(j),H2(j),H3(j),H4(j)の最大値Hmax(j)と最小値Hmin(j)を求め、その最大値と最小値の差であるΔH(j)=Hmax(j)−Hmin(j)が最も小さくなる制駆動力配分をそれぞれ選択する。
これで制駆動力の再配分の説明を終える。
一方、ステップ140で配列数Stnumがゼロである場合、つまり、現在の各輪1〜4のタイヤ特性において図9(A)のステップ100で求めたと同じ車両挙動を実現する制駆動力配分が各輪1〜4の制駆動力制限により存在しない場合には、ステップ210〜270に進む。
ステップ210〜270は、必要制駆動力補正量の絶対値|ΔFsi|(i=1〜4)が最も大きくなっている車輪の制駆動力を出力可能な範囲に再設定しながら、車両挙動(前後方向の加速度Xg、横方向の加速度Yg、車両重心周りのヨーモーメントM)をなるべく乱さない各輪1〜4の制駆動力補正量ΔFx1,ΔFx2,ΔFx3,ΔFx4を用いて、各輪の制駆動力Fx1,Fx2,Fx3,Fx4を求める部分である。言い換えると、ステップ210,220,230,240,250,260,270は、制駆動力上限Fmaxi(FdmaxiまたはFsmaxi)、制駆動力下限Fmini(FdminiまたはFsmini)によって制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}が制限され、ステップ70で定まっている制駆動力配分{Fx1,Fx2,Fx3,Fx4}を連続的に変化させることができない場合に、各輪1〜4の制駆動力変化が不連続となることを許可し、ステップ70で定まっている制駆動力配分とは連続しない制駆動力配分を求める部分である。
なお、ステップ210よりステップ270までの間で、前述の式(19)を用いて制駆動力の再配分を行っているが、これは車両挙動変化をゼロとする制駆動力再配分が行えないときの対策の一例であり、本発明が必ずステップ210〜270の制御を用いなければならないということではない。
まずステップ210では、必要制駆動力補正量の絶対値|ΔFsi|が最も大きくなっている車輪の必要制駆動力補正量ΔFsiを制駆動力補正量最大値ΔFkとする。
ステップ220では、この制駆動力補正量最大値の絶対値|ΔFk|が閾値Fthb以下の場合にフラグflg=1に設定し、仮の制駆動力補正量ΔFkrにこの制駆動力補正量最大値ΔFkを設定する。また、制駆動力補正量最大値の絶対値|ΔFk|が閾値Fthbを超えている場合にフラグflg=0に設定し、かつこのとき制駆動力補正量最大値ΔFkが正の値(ゼロである場合を含む)であれば仮の制駆動力補正量ΔFkr=Fthbとし、これに対して制駆動力補正量最大値ΔFkが負の値であれば仮の制駆動力補正量ΔFkr=−Fthbとする。
上記のフラグflg及び閾値Fthbについて次に説明する。
四輪1〜4のうちいずれか一輪の制駆動力が変化した場合あるいは四輪1〜4のうち任意に一輪の制駆動力を変化させた場合に、車両挙動(Fx,Fy,M)を乱さない残り三輪の制駆動力補正量ΔFxiを求めるため上記の式(19)を用いる際には、各輪1〜4の制駆動力変化量が微小であるということが前提条件になっている。従って、この制駆動力補正量最大値ΔFkが十分微小であると仮定できないほど大きな場合には上記の式(19)を用いて残り三輪の制駆動力補正量ΔFxiを正確に求めることが難しくなる。これを判断するフラグが上記のフラグflgであり、制駆動力補正量最大値ΔFkが十分微小であると仮定できないほど大きな変化である場合にフラグflg=0に、またそうでない(つまり制駆動力補正量最大値ΔFkが十分微小であると仮定できるほど小さな変化である)場合にフラグflg=1に設定している。
また、この十分微小であると仮定できる制駆動力変化量最大値の絶対値が閾値Fthbであり、制駆動力補正量最大値ΔFkがこの閾値Fthb以上の場合には、必要制駆動力補正量の絶対値|ΔFsi|が最も大きくなっている車輪の制駆動力が閾値Fthbだけ変化したと仮置きして、後述するステップ250で各輪1〜4の制駆動力Fx1,Fx2,Fx3,Fx4を補正すると共に、ステップ270で制駆動力補正量最大値ΔFkが正の値(ゼロである場合を含む)であるならΔFk←ΔFk−Fthbとし、制駆動力補正量最大値ΔFkが負の値であるならΔFk←ΔFk+Fthbとすることによって制駆動力補正量最大値ΔFkを小さくする。
ステップ220〜270でのこれらの操作を制駆動力補正量最大値ΔFkが十分小さくなる(つまりステップ220で|ΔFk|≦Fthbとなる)まで繰り返すことによって、制駆動力補正量最大値ΔFkが十分微小であると仮定できないほど大きい場合でも、残り三輪の制駆動力補正量ΔFxiを得ることができる。本実施形態では上記の閾値Fthbを車両重量W[N]の4%(つまり0.04W)としている。
ステップ230では、ステップ30,80で推定(算出)した各輪1〜4の輪荷重W1,W2,W3,W4と各輪1〜4の横滑り角β1,β2,β3,β4から、各輪1〜4の制駆動力変化に対するタイヤ横力の感度k1,k2,k3,k4を求める。
ここで、各輪1〜4の制駆動力変化に対するタイヤ横力の感度k1,k2,k3,k4の求め方を左前輪1の場合を例にとって説明する。
まず、前提としてコントローラ8には左前輪1の輪荷重W1,横滑り角β1毎に、左前輪1の制駆動力とタイヤ横力との関係を表す複数のタイヤ特性のマップを用意しておく。この複数のタイヤ特性は、ステップ100のところで既に述べた通り、図14のように設定されている。
左前輪1の制駆動力Fx1に対応するタイヤ横力Fy1と、左前輪1の制駆動力Fx1+dFx1に対応するタイヤ横力Fy1+dFy1とを、複数のタイヤ特性のうち輪荷重W1、横滑り角β1のときのタイヤ特性を選択して求め、左前輪1の制駆動力変化に対するタイヤ横力の感度k1を次の式(34a)により求める。
k1={(Fy1+dFy1)−Fy1}/{(Fx1+dFx1)−Fx1}
=dFy1/dFx1 …(34a)
式(34a)は上記の式(5)と基本的に同じ式である。式(34a)右辺の分母のdFx1は左前輪1の輪荷重W1と比較して十分微小な制駆動力変化量[N](dFx1>0)であり、予め与えておく。つまり、左前輪1の制駆動力Fx1+dFx1に対応するタイヤ横力Fy1+dFy1のマップ値から、左前輪1の制駆動力Fx1に対応するタイヤ横力Fy1のマップ値を差し引いて、左前輪1の制駆動力Fx1が微小な変化量dFx1だけ変化したときのタイヤ横力の変化量dFy1を求めることによって、左前輪1の制駆動力Fx1の変化に対するタイヤ横力Fy1の感度k1を上記の式(34a)により求めることができる。
残り3つの車輪2〜4についても同様に、各輪2〜4の輪荷重Wi,横滑り角βiに対応した複数のタイヤ特性のマップを用意しておき、各輪2〜4の輪荷重W2,W3,W4と比較して十分微小な変化量dFx2,dFx3,dFx4を定義して、各輪2〜4の制駆動力Fx2,Fx3,Fx4が微小な変化量dFx2,dFx3,dFx4だけ変化したときのタイヤ横力の感度k2,k3,k4を次の式により求める。
k2=dFy2/dFx2 …(34b)
k3=dFy3/dFx3 …(34c)
k4=dFy4/dFx4 …(34d)
このときさらにタイヤ特性を、各輪1〜4の輪荷重W1,W2,W3,W4、各輪1〜4の横滑り角β1,β2,β3,β4に加えて、各輪1〜4の路面摩擦係数μ1,μ2,μ3,μ4毎に用意することによって各輪1〜4の制駆動力変化に対するタイヤ横力の感度k1,k2,k3,k4をさらに高精度に求めることができる。
ステップ240では、現在の各輪1〜4のタイヤ特性において図9(A)のステップ100で求めた車両挙動を乱さない各輪1〜4の制駆動力補正量ΔFx1,ΔFx2,ΔFx3,ΔFx4を求める。
具体的には各輪1〜4の制駆動力補正量ΔFx1,ΔFx2,ΔFx3,ΔFx4の比を次の式(35)の通りにすれば、車両挙動の変化をゼロに抑えることができるので、例えば、左前輪1の必要制駆動力補正量の絶対値|ΔFs1|が4つの必要制駆動力補正量の絶対値|ΔFs1|,|ΔFs2|,|ΔFs3|,|ΔFs4|の中で最も大きい場合には、各輪1〜4の制駆動力補正量ΔFx1,ΔFx2,ΔFx3,ΔFx4を、ステップ230で求めた各輪1〜4の制駆動力変化に対するタイヤ横力の感度k1,k2,k3,k4と、ステップ40で求めている各輪1〜4の舵角δ1,δ2,δ3,δ4とから、次の4つの式(36)〜式(39)により求める。
ΔFx1:ΔFx2:ΔFx3:ΔFx4
={(Lt/Ll)(h4−h2)+h2(h4−h3)}
/(cosδ1−k1sinδ1)
:{(−Lt/Ll)(h3−h1)−h1(h4−h3)}
/(cosδ2−k2sinδ2)
:{(−Lt/Ll)(h4−h2)−h4(h2−h1)}
/(cosδ3−k3sinδ3)
:{(Lt/Ll)(h3−h1)+h3(h2−h1)}
/(cosδ4−k4sinδ4)
…(35)
ΔFx1=ΔFkr …(36)
ΔFx2=[{−(Lt/Ll)(h3−h1)−h1(h4−h3)}
/{(Lt/Ll)(h4−h2)+h2(h4−h3)}]
・{(cosδ1−k1sinδ1)/(cosδ2−k2sinδ2)}ΔFkr
…(37)
ΔFx3=[{−(Lt/Ll)(h4−h2)−h4(h2−h1)}
/{(Lt/Ll)(h4−h2)+h2(h4−h3)}]
・{(cosδ1−k1sinδ1)/(cosδ3−k3sinδ3)}ΔFkr
…(38)
ΔFx4=[{(Lt/Ll)(h3−h1)+h3(h2−h1)}
/{(Lt/Ll)(h4−h2)+h2(h4−h3)}]
・{(cosδ1−k1sinδ1)/(cosδ4−k4sinδ4)}ΔFkr
…(39)
ここで、式(35)、式(37)〜式(39)において係数h1,h2,h3,h4は次の値であるので、これらの係数h1,h2,h3,h4も、ステップ230で求めた各輪1〜4の制駆動力変化に対するタイヤ横力の感度k1,k2,k3,k4と、ステップ40で求めている各輪1〜4の舵角δ1,δ2,δ3,δ4とから算出する。
h1=(sinδ1+k1cosδ1)/(cosδ1−k1sinδ1) …(補22a)
h2=(sinδ2+k2cosδ2)/(cosδ2−k2sinδ2) …(補22b)
h3=(sinδ3+k3cosδ3)/(cosδ3−k3sinδ3) …(補22c)
h4=(sinδ4+k4cosδ4)/(cosδ4−k4sinδ4) …(補22d)
式(35)は前述の式(19)と同じである。また、3つの式(37)〜式(39)は前述の3つの式(16)〜式(18)と基本的に同じものである。式(補22a)〜式(補22d)は前述の式(補3a)〜式(補3d)と同じである。
残り三輪2〜4のうちのいずれか一輪の必要制駆動力補正量の絶対値|ΔFsi|(i=2〜4)が4つの必要制駆動力補正量の絶対値|ΔFs1|,|ΔFs2|,|ΔFs3|,|ΔFs4|の中で最も大きい場合についても、同様にして各輪1〜4の制駆動力補正量ΔFx1,ΔFx2,ΔFx3,ΔFx4を求める。
なお、本実施形態では各輪1〜4の舵角δ1,δ2 ,δ3 ,δ4をステップ40で直接計測し、4つの制駆動力補正量ΔFx1,ΔFx2,ΔFx3,ΔFx4の比を与える式(35)及び各制駆動力補正量ΔFx1,ΔFx2,ΔFx3,ΔFx4を与える式(36)〜式(39)に基づいて各輪1〜4の制駆動力補正量ΔFx1,ΔFx2,ΔFx3,ΔFx4を求めている。これは即ち、各輪1〜4の制駆動力やタイヤ横力等がサスペンションに加わることによって発生する舵角変化(コンプライアンスステア,ロールステア等)を考慮して各輪1〜4の制駆動力補正量ΔFx1,ΔFx2,ΔFx3,ΔFx4を求めていることに他ならない。従って、各輪1〜4の舵角を、直接検出する手段を有さないためにステアリング5の回転角θとステアリングギア比等から推定するような車両では、このサスペンション特性から舵角変化量を推定し、各輪1〜4の舵角の推定値を補正することによって各輪1〜4の制駆動力補正量ΔFx1,ΔFx2,ΔFx3,ΔFx4をより高精度に求めることができる。
ステップ250では、ステップ240で求めた各輪1〜4の制駆動力補正量ΔFx1,ΔFx2,ΔFx3,ΔFx4で各輪1〜4の制駆動力Fx1,Fx2,Fx3,Fx4を補正する、つまり次の式(40)〜式(43)により各輪の制駆動力Fx1,Fx2,Fx3,Fx4を算出する。
Fx1←Fx1+ΔFx1 …(40)
Fx2←Fx2+ΔFx2 …(41)
Fx3←Fx3+ΔFx3 …(42)
Fx4←Fx4+ΔFx4 …(43)
ステップ260では、フラグflgをみる。フラグflg=1(制駆動力補正量最大値ΔFkが十分微小であると仮定できるほど小さな変化である)ならばステップ300へ進む。
フラグflg=0(制駆動力補正量最大値ΔFkが十分微小であると仮定できないほど大きな変化である)ときには制駆動力補正量最大値ΔFkを小さくするため、ステップ270に進み、そのときの制駆動力補正量最大値ΔFkが正の値(ゼロである場合を含む)であれば、制駆動力補正量最大値ΔFkより閾値Fthbだけ差し引いた値を改めて制駆動力補正量最大値ΔFkとした後、ステップ220の操作を実行する。これに対して、そのときの制駆動力補正量最大値ΔFkが負の値であれば、制駆動力補正量最大値ΔFkに閾値Fthbを加算した値を改めて制駆動力補正量最大値ΔFkとした後、ステップ220の操作を実行する。
2度目のステップ220において、制駆動力補正量最大値の絶対値|ΔFk|が閾値Fthb以下に収まりフラグflg=0となれば制駆動力補正量最大値ΔFkが十分微小であると仮定できるほど小さな変化になったと判断し、ステップ230、240、250で各輪1〜4の制駆動力補正量ΔFx1,ΔFx2,ΔFx3,ΔFx4を求めて各輪1〜4の制駆動力Fx1,Fx2,Fx3,Fx4を補正した後、ステップ260よりステップ300に進む。
一方、2度目のステップ220においても制駆動力補正量最大値の絶対値|ΔFk|が閾値Fthb以下に収まらずフラグflg=1となったときには、再びステップ230、240、250で制駆動力補正量ΔFx1,ΔFx2,ΔFx3,ΔFx4を求めて制駆動力Fx1,Fx2,Fx3,Fx4を補正した後、ステップ260よりステップ270へと進み、制駆動力補正量最大値ΔFkを閾値Fthbの分だけさらに小さくしてステップ220に戻る。こうしたステップ270、220の操作の繰り返しによりやがて制駆動力補正量最大値の絶対値|ΔFk|が閾値Fthb以下に収まりフラグflg=0となるので、そのときにはステップ230、240、250で制駆動力補正量ΔFx1,ΔFx2,ΔFx3,ΔFx4を求めて制駆動力Fx1,Fx2,Fx3,Fx4を補正した後、ステップ260よりステップ300に進む。
ステップ300では、このようにして求めた制駆動力Fx1,Fx2,Fx3,Fx4にそれぞれ各輪1〜4の半径Rを乗じた値、即ちトルク指令値(Fx1×R,Fx2×R,Fx3×R,Fx4×R)が得られるようにモータ11〜14を制御する。
次に、図13のフローチャートに基づき、ステップ50で求めている要求制駆動力tFと、ステップ60で求めている目標左右輪制駆動力差ΔFと、ステップ30で求めている各輪1〜4の輪荷重W1,W2,W3,W4と、ステップ80で求めている各輪1〜4の横滑り角β1,β2,β3,β4とから、図9(A)のステップ100で求めたと同じ車両挙動を実現する制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}を決定するマップを求める方法について説明する。
ステップ510では、10個の変数ht,hΔ,hw1,hw2,hw3,hw4,hβ1,hβ2,hβ3,hβ4にそれぞれ最小値の1を設定する。
ステップ520では目標制駆動力の関数tF(ht)を次の式(51)により設定する。
tF(ht)=(tFmax−tFmin)÷100×ht+tFmin …(51)
ここで、式(51)右辺のtFmaxは図9(A)のステップ50において目標制駆動力tFが採り得る最大値[N]、式(51)右辺のtFminは図9(A)のステップ50において要求制駆動力tFが採り得る最小値[N]で、図10、図11より予め分かっている。従って、目標制駆動力の関数tF(ht)はhtを変数として最小値tFminから最大値tFmaxまでを動く直線となる。
ステップ530では目標左右輪制駆動力差の関数tF(hΔ)を次の式(52)により設定する。
ΔF(hΔ)=(ΔFmax−ΔFmin)÷100×hΔ+ΔFmin…(52)
ここで、式(52)右辺のΔFmaxは図9(A)のステップ60において目標左右輪制駆動力差ΔFが採り得る最大値[N]、式(52)右辺のΔFminは図9(A)のステップ60において目標左右輪制駆動力差ΔFが採り得る最小値[N]で、図12より予め分かっている。従って、目標左右輪制駆動力差の関数tF(hΔ)はhΔを変数として最小値ΔFminから最大値ΔFmaxまでを動く直線となる。
ステップ540では左前輪1の輪荷重の関数W1(hw1)を次の式(53)により設定する。
W1(hw1)=(W1max−W1min)÷100×hw1+W1min …(53)
ここで、式(53)右辺のW1maxは本車両の左前輪1が採り得る輪荷重の最大値[N]、式(53)右辺のW1minは本車両の左前輪1が採り得る輪荷重の最小値[N]で、予め定めている。従って、左前輪1の関数W1(hw1)はhw1を変数として最小値W1minから最大値W1maxまでを動く直線となる。
ステップ550〜570では残り三輪2,3,4の輪荷重の関数W2(hw2),W3(hw3),W4(hw4)を左前輪1と同じく次の式(54)〜式(56)により設定する。
W2(hw2)=(W2max−W2min)÷100×hw2+W2min …(54)
W3(hw3)=(W3max−W3min)÷100×hw3+W3min …(55)
W4(hw4)=(W4max−W4min)÷100×hw4+W4min …(56)
ここで、式(54)〜式(56)右辺のW2max,W3max,W4maxは各輪2,3,4が採り得る輪荷重の最大値[N]、式(54)〜式(56)右辺のW2min,W3min,W4minは各輪2,3,4が採り得る輪荷重の最小値[N]で、これらも予め定めている。従って、残り三輪2〜4の関数W2(hw2),W3(hw3),W4(hw4)はhw2,hw3,hw4を変数として最小値W2min,W3min,W4minから最大値W2max,W3max,W4maxまでを動く直線となる。
ステップ580では左前輪1の横滑り角の関数β1(hβ1)を次の式(57)により設定する。
β1(hβ1)=(β1max−β1min)÷100×hβ1+β1min …(57)
ここで、式(57)右辺のβ1maxは本車両の左前輪1が採り得る横滑り角の最大値[rad]、式(57)右辺のβ1minは本車両の左前輪1が採り得る横滑り角の最小値[rad]で、予め定めている。従って、左前輪1の横滑り角の関数β1(hβ1)はhβ1を変数として最小値β1minから最大値β1maxまでを動く直線となる。
ステップ590〜610では残り三輪2,3,4の横滑り角の関数β2(hβ2),β3(hβ3),β4(hβ4)を左前輪1と同じく次の式(58)〜式(60)により設定する。
β2(hβ2)=(β2max−β2min)÷100×hβ2+β2min …(58)
β3(hβ3)=(β3max−β3min)÷100×hβ3+β3min …(59)
β4(hβ4)=(β4max−β4min)÷100×hβ4+β4min …(60)
ここで、式(58)〜式(60)右辺のβ2max,β3max,β4maxは残り三輪2,3,4が採り得る輪荷重の最大値[N]、式(58)〜式(60)右辺のβ2min,β3min,β4minは、残り三輪2,3,4が採り得る輪荷重の最小値[N]で、これらも予め定めている。従って、残り三輪の関数β2(hβ2),β3(hβ3),β4(hβ4)はhβ2,hβ3,hβ4を変数として最小値β2min,β3min,β4minから最大値β2max,β3max,β4maxまでを動く直線となる。
ステップ620では、目標制駆動力の関数tF(ht)と、目標左右輪制駆動力差の関数ΔF(hΔ)とから、各輪1〜4の制駆動力配分{Fx1,Fx2,Fx3,Fx4}を、図9(A)のステップ70と同じく、上記の式(28)及び式(29)と同様の式である次式(補23)、(補24)を用いて求める。
Fx1=Fx3=tF(ht)/4−ΔF(hΔ)/4 …(補23)
Fx2=Fx4=tF(ht)/4+ΔF(hΔ)/4 …(補24)
ステップ630では、後述する図15のフローチャートに従って、ステップ540〜620で設定した各輪1〜4の輪荷重の関数W1(hw1),W2(hw2),W3(hw3),W4(hw4)と、各輪1〜4の横滑り角の関数β1(hβ1),β2(hβ2),β3(hβ3),β4(hβ4)において、図9(A)のステップ100で求めたと同じ車両挙動を実現する制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}(j=1,2,…)を求める。
ステップ640〜830は10個の変数ht,hΔ,hw1,hw2,hw3,hw4,hβ1,hβ2,hβ3,hβ4の一つ一つを1ずつ101まで増やす部分であり、ステップ650において変数hβ4が101となったときにステップ660へ、ステップ670において変数hβ3が101となったときにステップ680へ、ステップ690において変数hβ2が101となったときにステップ700へ、ステップ710において変数hβ1が101となったときにステップ720へ、ステップ730において変数hw4が101となったときにステップ740へ、ステップ750において変数hw3が101となったときにステップ760へ、ステップ770において変数hw2が101となったときにステップ780へ、ステップ790において変数hw1が101となったときにステップ800へ、ステップ810において変数hΔが101となったときにステップ820へとそれぞれ進み、ステップ830において変数htが101となったときに図13の処理を終了する。これを逆に言えば、ステップ640〜830を経ることによって、ステップ630を必ず通る。ということは、各変数が1より100までの数を採りうる10個の変数ht,hΔ,hw1,hw2,hw3,hw4,hβ1,hβ2,hβ3,hβ4の全ての組み合わせに対してステップ630の操作が実行されることを意味する。
このように、図13のフローによって、本車両が採り得る、値の異なる100個の目標制駆動力tFと、値の異なる100個の目標左右輪制駆動力差ΔFと、値の異なる100個の輪荷重W1,W2,W3,W4と、値の異なる100個の横滑り角β1,β2,β3,β4の全ての組み合わせに対して、図9(A)のステップ100で求めたと同じ車両挙動を実現する制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}を全て求めてマップ化することができる。なお、100という数値は一つの例であり、これに限定されるものでない。
次に、図15のフローチャートに基づき、現在の各輪1〜4のタイヤ特性において図9(A)のステップ100で求めたと同じ車両挙動(Fx,Fy,M)を実現する制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}(j=1,2,…)を求める方法について説明する。
ステップ1010では、まず現在の制駆動力配分{Fx1,Fx2,Fx3,Fx4}(図13のステップ620で求めている)を最初の探索ステップ数lの制駆動力配分{Fx1(l),Fx2(l),Fx3(l),Fx4(l)}に設定すると共に、探索ステップ数lに初期値の1を入れる。これで、探索ステップ数lが初期値の1のときの制駆動力配分、つまり最初の制駆動力配分{Fx1(1),Fx2(1),Fx3(1),Fx4(1)}が定まる。この最初の制駆動力配分{Fx1(1),Fx2(1),Fx3(1),Fx4(1)}は後述するステップ1048において必要になるので、コントーラ8のメモリに記憶しておく。ステップ1010ではまた、制駆動力補正基準量Δ[N]に0.2Nを設定する。
ここで、探索ステップ数lは、現在の各輪1〜4のタイヤ特性において図9(A)のステップ100で求めたと同じ車両挙動を実現する制駆動力配分をいくつ求めたかを表す数である。制駆動力補正基準量Δは、後述するステップ1022,1034において上記の式(19)あるいは式(20)を用いて車両挙動を変化させない制駆動力補正量ΔFx1,ΔFx2,ΔFx3,ΔFx4を求める際に使用する。
ステップ1012では、各輪1〜4の制駆動力変化量が十分微小であると仮定したときにおける車両挙動を変化させない制駆動力補正量の比ΔFx1:ΔFx2:ΔFx3:ΔFx4を求め、左前輪1の制駆動力補正量ΔFx1の絶対値と閾値thを比較する。これは、左前輪1の制駆動力補正量ΔFx1(l)を基準として探索ステップ数lを1増やしたときの値である制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}を求めることができるか否かをみる部分である。
左前輪1の制駆動力補正量ΔFx1の絶対値が閾値th以上の場合には左前輪1の制駆動力補正量ΔFx1(l)を基準として探索ステップ数lを1増やしたときの値である制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}を求めることができると判断し、ステップ1014に進んでフラグFl=1とし、これに対して左前輪1の制駆動力補正量ΔFx1の絶対値が閾値th未満の場合には左前輪1の制駆動力補正量ΔFx1(l)を基準として探索ステップ数lを1増やしたときの値である制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}を求めることができないと判断し、ステップ1012よりステップ1016に進んでフラグFl=4とする。
ここで、上記の制駆動力補正量の比ΔFx1:ΔFx2:ΔFx3:ΔFx4は次のようにして求める。
まず、ステップ1010で設定している制駆動力配分{Fx1(1),Fx2(1),Fx3(1),Fx4(1)}における各輪1〜4の制駆動力変化に対するタイヤ横力の感度k1,k2,k3,k4を求める。求め方は図9(B)のステップ230で既に述べているので、ここでの説明は省略する。
そして、求めた各輪1〜4の制駆動力変化に対するタイヤ横力の感度k1,k2,k3,k4から上記の式(20)を用いて、あるいは求めた各輪1〜4の制駆動力変化に対するタイヤ横力の感度k1,k2,k3,k4と、各輪1〜4の舵角δ1,δ2,δ3,δ4(図9(A)のステップ40で算出されている)とから上記の式(19)を用いて制駆動力補正量の比ΔFx1:ΔFx2:ΔFx3:ΔFx4を求めることができる。
上記の閾値thを導入した理由は次の通りである。上記の式(20)あるいは上記の式(19)を用いて得られるのは制駆動力補正量の比ΔFx1:ΔFx2:ΔFx3:ΔFx4であるので、いずれか一輪の制駆動力補正量を基準にして、残り三輪の制駆動力補正量を求めなくてはならない。従って、この制駆動力補正量の比ΔFx1:ΔFx2:ΔFx3:ΔFx4がゼロに近い値となる車輪の制駆動力補正量を基準とすると、ゼロ割(ゼロで割ること)等が発生し、コントローラ8での演算が不正確になる。そこで、閾値thを導入し、制駆動力補正量の比ΔFx1:ΔFx2:ΔFx3:ΔFx4がゼロに近い値となる車輪の制駆動力補正量を基準としないように制御を行うのである。具体的には本実施形態では閾値thとして0.01を設定している。
ステップ1018では、ステップ1010で求めている制駆動力配分{Fx1(l),Fx2(l),Fx3(l),Fx4(l)}における各輪1〜4の制駆動力変化に対するタイヤ横力の感度k1,k2,k3,k4を求める。求め方はステップ1012でも説明したように、図9(B)のステップ230と同様である。
ステップ1020ではフラグFlをみる。フラグFl=4の場合(つまり左前輪1の制駆動力補正量ΔFx1(l)を基準として探索ステップ数lを1増やしたときの値である制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}を求めることができないと判断している場合)には、ステップ1022に進む。
ステップ1022では、右後輪4の駆動力Fx4(1)に制駆動力補正基準量Δを加算したときに、図9(A)のステップ100で求めたと同じ車両挙動を実現する制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}を求める。
この探索ステップ数lを1増やしたときの値である制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}の求め方を次に説明する。
まず、ステップ1018で求めているタイヤ横力の感度k1,k2,k3,k4から上記の式(20)を用いて、あるいはステップ1018で求めているタイヤ横力の感度k1,k2,k3,k4と、各輪1〜4の舵角δ1,δ2,δ3,δ4(図9(A)のステップ40で算出されている)とから上記の式(19)を用いて制駆動力補正量の比ΔFx1:ΔFx2:ΔFx3:ΔFx4を求める。
その上で、ステップ1010で設定している制駆動力配分{Fx1(l),Fx2(l),Fx3(l),Fx4(l)}、この制駆動力補正量の比ΔFx1:ΔFx2:ΔFx3:ΔFx4及び制駆動力補正基準値Δを用いて、探索ステップ数lを1増やしたときの値である制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}を次の式(101)〜式(104)により求め、求めた制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}をコントローラ8のメモリに記憶する。
Fx1(l+1)=Fx1(l)+(ΔFx1/ΔFx4)×Δ …(101)
Fx2(l+1)=Fx2(l)+(ΔFx2/ΔFx4)×Δ …(102)
Fx3(l+1)=Fx3(l)+(ΔFx3/ΔFx4)×Δ …(103)
Fx4(l+1)=Fx4(l)+Δ …(104)
ステップ1024では、ステップ1022で求めた探索ステップ数lを1増やしたときの値である右後輪4の制駆動力補正量ΔFx4(l+1)の絶対値と閾値thを比較する。これは、ステップ1022では右後輪4の制駆動力補正量ΔFx4(l)を基準として探索ステップ数lを1増やしたときの値である制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}を求めたが、次回にも右後輪4の制駆動力補正量ΔFx4(l)を基準として探索ステップ数lを1増やしたときの値である制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}を求めることができるか否かをみる部分である。
探索ステップ数lを1増やしたときの右後輪4の制駆動力補正量ΔFx4(l+1)の絶対値が閾値th以上の場合には、次回にも右後輪4の制駆動力補正量ΔFx4(l)を基準として探索ステップ数を1増やしたときの値である制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}を求めることができると判断し、ステップ1026、1028、1030、1032を飛ばしてステップ1046に進み、探索ステップ数lを1増やす。
これに対して、ステップ1024において、ステップ1022で求めた探索ステップ数lを1増やしたときの値である右後輪4の制駆動力補正量ΔFx4(l+1)の絶対値が閾値th未満となった場合には、次回に右後輪4の制駆動力補正量ΔFx4(l)を基準として探索ステップ数lを1増やしたときの値である制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}を求めることができないと判断し、今度は左前輪1の制駆動力補正量ΔFx1(l)を基準として探索ステップ数lを1増やしたときの値である制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}を求めさせるため、ステップ1026、1028、1030、1032に進む。
ステップ1026では、探索ステップ数lを1増やしたときの値である左前輪1の制駆動力Fx1(l+1)と探索ステップ数lを1増やす前の値である左前輪1の制駆動力Fx1(l)の差であるFx1(l+1)−Fx1(l)とゼロを比較する。Fx1(l+1)とFx1(l)の差が正の値(ゼロの場合を含む)であればステップ1030に進み、制駆動力補正基準値Δ=|Δ|とする(制駆動力補正基準値Δの符号を正とする)。これに対して、Fx1(l+1)とFx1(l)の差が負の値であればステップ1028に進み、制駆動力補正基準値Δ=−|Δ|とする(制駆動力補正基準値Δの符号を負とする)。
ステップ1032では次回に左前輪1の制駆動力補正量ΔFx1(l)を基準として、探索ステップ数lを1増やしたときの値である制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}を求めるためフラグFl=1とした後、ステップ1046に進んで探索ステップ数lを1増やす。
一方、ステップ1020でフラグFl=1の場合(つまり左前輪1の制駆動力補正量ΔFx1(l)を基準として探索ステップ数lを1増やしたときの値である制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}を求めることができると判断している場合)には、ステップ1034に進む。
ステップ1034〜1044の操作はステップ1022〜1032の操作と対をなす操作であるが、操作の内容そのものは同じである。
ステップ1034では、左前輪1の制駆動力Fx1(l)に制駆動力補正基準量Δを加算したときに図9(A)のステップ100で求めたと同じ車両挙動を実現する制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}を求める。
この探索ステップ数lを1増やしたときの値である制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}の求め方を次に説明する。
まず、ステップ1018で求めているタイヤ横力の感度k1,k2,k3,k4から上記の式(20)を用いて、あるいはステップ1018で求めているタイヤ横力の感度k1,k2,k3,k4と、各輪1〜4の舵角δ1,δ2,δ3,δ4(図9(A)のステップ40で算出されている)とから上記の式(19)を用いて制駆動力補正量の比ΔFx1:ΔFx2:ΔFx3:ΔFx4を求める。
その上で、ステップ1010で設定している制駆動力配分{Fx1(l),Fx2(l),Fx3(l),Fx4(l)}、この制駆動力補正量の比ΔFx1:ΔFx2:ΔFx3:ΔFx4及び制駆動力補正基準値Δを用いて、探索ステップ数lを1増やしたときの値である制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}を次の式(105)〜式(108)により求め、求めた制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}をコントローラ8のメモリに記憶する。
Fx1(l+1)=Fx1(l)+Δ …(105)
Fx2(l+1)=Fx2(l)+(ΔFx2/Fx1)×Δ …(106)
Fx3(l+1)=Fx3(l)+(ΔFx3/Fx1)×Δ …(107)
Fx4(l+1)=Fx4(l)+(ΔFx4/Fx1)×Δ …(108)
ステップ1036では、ステップ1034で求めた探索ステップ数lを1増やしたときの値である左前輪1の制駆動力補正量ΔFx1(l+1)の絶対値と閾値thを比較する。これは、ステップ1034では左前輪1の制駆動力補正量ΔFx1(l)を基準として探索ステップ数lを1増やしたときの値である制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}を求めたが、次回にも左前輪1の制駆動力補正量ΔFx1(l)を基準として探索ステップ数lを1増やしたときの値である制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}を求めることができるか否かをみる部分である。
探索ステップ数lを1増やしたときの左前輪1の制駆動力補正量ΔFx1(l+1)の絶対値が閾値th未満の場合には、次回にも左前輪1の制駆動力補正量ΔFx1(l)を基準として探索ステップ数を1増やしたときの値である制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}を求めることができると判断し、ステップ1038、1040、1042、1044を飛ばしてステップ1046に進み、探索ステップ数lを1増やす。
これに対して、ステップ1036において、ステップ1034で求めた探索ステップ数lを1増やしたときの値である左前輪1の制駆動力補正量ΔFx1(l+1)の絶対値が閾値th未満となった場合には、次回に左前輪1の制駆動力補正量ΔFx1(l)を基準として探索ステップ数lを1増やしたときの値である制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}を求めることができないと判断し、今度は右後輪4の制駆動力補正量ΔFx4(l)を基準として探索ステップ数lを1増やしたときの値である制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}を求めさせるため、ステップ1038、1040、1042、1044に進む。
ステップ1038では、探索ステップ数lを1増やしたときの値である右後輪4の制駆動力Fx4(l+1)と探索ステップ数lを1増やす前の値である右後輪4の制駆動力Fx4(l)の差であるFx4(l+1)−Fx4(l)とゼロを比較する。Fx4(l+1)とFx4(l)の差が正の値(ゼロの場合を含む)であればステップ1042に進み、制駆動力補正基準値Δ=|Δ|とする(制駆動力補正基準値Δの符号を正とする)。これに対して、Fx4(l+1)とFx4(l)の差が負の値であればステップ1040に進み、制駆動力補正基準値Δ=−|Δ|とする(制駆動力補正基準値Δの符号を負とする)。
ステップ1044では次回に右後輪4の制駆動力補正量ΔFx4(l)を基準として、探索ステップ数lを1増やしたときの値である制駆動力配分{Fx1(l+1),Fx2(l+1),Fx3(l+1),Fx4(l+1)}を求めるためフラグFl=4とし、ステップ1046に進んで探索ステップ数lを1増やす。
ステップ1048では、探索ステップ数lと100を比較する。探索ステップ数lが100未満であるときにはステップ1018に戻ってステップ1018〜1046の操作を繰り返す。すなわち、ステップ1022とステップ1034のいずれか一方の操作が100回繰り返されるので、探索ステップ数lが100に達したときには、100組の制駆動力配分{Fx1(l),Fx2(l),Fx3(l),Fx4(l)}(l=1〜100)が得られる。
また、探索ステップ数lが100に達したときには、最初の制駆動力配分{Fx1(1),Fx2(1),Fx3(1),Fx4(1)}と、探索ステップ数lが100であるときの制駆動力配分{Fx1(l),Fx2(l),Fx3(l),Fx4(l)}とを用いて次の式(109)の評価関数Pを計算し、この評価関数Pと1を比較する。
P=(Fx1(l)−Fx1(1))2+(Fx2(l)−Fx2(1))2
+(Fx3(l)−Fx3(1))2+(Fx4(l)−Fx4(1))2
…(109)
式(109)の評価関数Pが1以下になっていれば、現在の各輪1〜4のタイヤ特性において図9(A)のステップ100で求めたと同じ車両挙動を実現する制駆動力配分の集合が一通り求められたと判断し図15のフローを終了する。このとき、制駆動力配分{Fx1(l),Fx2(l),Fx3(l),Fx4(l)}の集合はちょうど100組である。
一方、探索ステップ数lが100に達しても上記の式(109)の評価関数Pが1を超えていればなおもステップ1018〜1048の操作を繰り返す。
やがて、ステップ1048で探索ステップ数lが100を超えておりかつ上記の式(109)の評価関数Pが1以下となれば、現在の各輪1〜4のタイヤ特性において図9(A)のステップ100で求めたと同じ車両挙動を実現する制駆動力配分の集合が一通り求められたと判断し図15のフローを終了する。この場合には、制駆動力配分{Fx1(l),Fx2(l),Fx3(l),Fx4(l)}の集合は100組を超えている。
ここで、ステップ1048において上記の式(109)の評価関数Pが1以下となったとき、つまり最初の制駆動力配分{Fx1(1),Fx2(1),Fx3(1),Fx4(1)}と、探索ステップ数lが100以上のときの制駆動力配分{Fx1(l),Fx2(l),Fx3(l),Fx4(l)}とがほぼ同じになったときに、現在の各輪1〜4のタイヤ特性において図9(A)のステップ100で求めたと同じ車両挙動を実現する制駆動力配分の集合が一通り求められたとしたのは次の理由による。
図14に示すようなタイヤ特性を有する車輪を4つ備える四輪独立駆動車において、現在の各輪1〜4のタイヤ特性において図9(A)のステップ100で求めたと同じ車両挙動を実現する制駆動力配分は、ある一輪(例えば左前輪1)の制駆動力を横軸に採ると、図5のように残り三輪(右前輪2、左後輪3、右後輪4)の制駆動力の軌跡は閉じた輪となる、つまり、図15のフローチャートのように各輪1〜4の制駆動力、例えば左前輪1または右後輪4の制駆動力を制駆動力補正基準値Δずつ変化させて、図9(A)のステップ100で求めたと同じ車両挙動を実現する制駆動力配分を求めていくと、制駆動力補正基準値Δが十分微小であれば最初の制駆動力配分に戻ることがシミュレーション上で確認されている。
そこで本実施形態では、図15のフローチャートによって現在の各輪1〜4のタイヤ特性において図9(A)のステップ100で求めたと同じ車両挙動を実現する制駆動力配分を求めていき、最初の制駆動力配分{Fx1(1),Fx2(1),Fx3(1),Fx4(1)}と、探索ステップ数lが100以上のときの制駆動力配分{Fx1(l),Fx2(l),Fx3(l),Fx4(l)}とがほぼ同じになったときを、現在の各輪1〜4のタイヤ特性において図9(A)のステップ100で求めたと同じ車両挙動を実現する制駆動力配分の集合が一通り求められたものと判断しているのである。
ここで、本実施形態の作用を説明する。
本実施形態(請求項1に記載の発明)によれば、図9(A)のステップ100において要求される車両挙動(車両の平面運動での目標となる車両挙動)を決定し、この要求される車両挙動を実現する四輪の制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}を図9(A)のステップ101で演算し、図9(B)のステップ120、150において、この演算された制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}の中から、一つの制駆動力配分{Fx1,Fx2,Fx3,Fx4}を選択するように構成したので、スリップやモータ過熱等によって四輪のうち二輪以上の制駆動力が変化した場合あるいは四輪のうち二輪以上の制駆動力を変化させる場合においても、従来技術より車両挙動の変化を抑えることができる。
各輪1〜4の制駆動力変化に対するタイヤ横力の感度k1,k2,k3,k4を求めるために必要な、制駆動力Fx1,Fx2,Fx3,Fx4とタイヤ横力Fy1,Fy2,Fy3,Fy4の関係を表すタイヤ特性は、図14に示したように主に輪荷重と横すべり角によって変化することに対応して、本実施形態(請求項2に記載の発明)によれば、目標となる車両挙動を実現する制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}を、図9(A)のステップ101において各輪1〜4の輪荷重W1,W2,W3,W4と、横すべり角β1,β2,β3,β4とに基づいて演算するので(上記の<1>参照)、各輪1〜4のタイヤ特性の変化がより精密に得られる。これにより、目標となる車両挙動を実現する制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}をより精密に求めることができ、スリップやモータ過熱等によって四輪のうち二輪以上の制駆動力が変化した場合あるいは四輪のうち二輪以上の制駆動力を変化させる場合における車両挙動変化を抑えることができる。
本実施形態(請求項3に記載の発明)によれば、目標となる車両挙動を実現する制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}を、図9(A)のステップ101において各輪1〜4の制駆動力変化に対するタイヤ横力の感度k1,k2,k3,k4に基づいて演算するので(上記の<2>参照)、各輪1〜4のタイヤ特性の変化がより直接的に得られる。これにより、目標となる車両挙動を実現する制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}をより直接的に求めることができ、各輪1〜4のスリップや各モータ11〜14の過熱等によって特に二輪以上の制駆動力が変化した場合あるいは特に二輪以上の制駆動力を変化させる場合における車両挙動変化を抑えることができる。
本実施形態(請求項4に記載の発明)によれば、目標となる車両挙動を実現する制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}を、車両の平面運動での車両挙動(Fx,Fy,M)の変化をゼロとする各輪1〜4の制駆動力補正量ΔFx1,ΔFx2,ΔFx3,ΔFx4の比を求める上記の式(35)、式(補22a)〜式(補22d)に基づいて演算するので、不要な車両挙動の変化を抑えて車体横滑り角βをゼロにすることができる。
本実施形態(請求項5、6に記載の発明)によれば、図9(A)のステップ110で各輪1〜4が路面に伝達可能な制駆動力上限Fsmaxiを推定し(上記<3>参照)、制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}を、図9(B)のステップ130においてこの各輪1〜4が路面に伝達可能な制制駆動力上限Fsmaxiに制限するか、または図9(A)のステップ110で各輪1〜4が路面に伝達可能な制駆動力下限Fsminiを推定し(上記<3>参照)、制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}を、図9(B)のステップ130においてこの各輪1〜4が路面に伝達可能な制制駆動力下限Fsminiに制限するので、各輪1〜4がスリップやロック等によって路面に伝達できる制駆動力Fx1,Fx2,Fx3,Fx4が変化した場合においても、実現可能な制駆動力配分{Fx1,Fx2,Fx3,Fx4}を選択することができる。
本実施形態(請求項7、8に記載の発明)によれば、図9(A)のステップ110で各モータ11〜14(各輪1〜4を駆動または制動するアクチュエータ)が出力可能な制駆動力上限Fdmaxiを推定し(上記<4>参照)、制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}を、図9(B)のステップ130においてこの各モータ11〜14が出力可能な制駆動力上限Fdmaxiに制限するか、または図9(A)のステップ110で各モータ11〜14が出力可能な制駆動力下限Fdminiを推定し(上記<4>参照)、制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}を、図9(B)のステップ130においてこの各モータ11〜14が出力可能な制駆動力下限Fdminiに制限するので、各モータ11〜14の異常等によって各輪1〜4が出力できる制駆動力が変化した場合においても、実現可能な制駆動力配分{Fx1,Fx2,Fx3,Fx4}を選択することができる。
本実施形態(請求項9に記載の発明)によれば、図9(B)のステップ150において、配列Stに記録された各整数jに対応する制駆動力配分毎に、各輪1〜4のモータロス(各輪1〜4を駆動するときに発生する各エネルギー損失)Ploss1(j),Ploss2(j),Ploss3(j),Ploss4(j)を求め(推定)し、各輪1〜4のエネルギーロスの和Ploss(j)が最小となる制駆動力配分{Fx1,Fx2,Fx3,Fx4}を選択するので(上記<7>参照)、各モータ11〜14で各輪1〜4を独立に駆動する車両では、バッテリ9の消費電力を最小化することができ、車両の航続距離の増大等の効果を得ることができる。
本実施形態(請求項10に記載の発明)によれば、図9(B)のステップ150において、配列Stに記録された各整数jに対応する制駆動力配分の中で、タイヤ横力と制駆動力との合力であるタイヤ力を輪荷重で除したタイヤ摩擦円使用率H1(j),H2(j),H3(j),H4(j)を各輪1〜4毎に求め、この求めた各輪1〜4のタイヤ摩擦円使用率H1(j),H2(j),H3(j),H4(j)のうち最大値と最小値の差が最も小さくなる制駆動力配分{Fx1,Fx2,Fx3,Fx4}を選択するので(上記<8>参照)、各輪1〜4の路面摩擦係数が急激に低下しても、各輪1〜4のタイヤ摩擦円が飽和しにくくなり車両の操縦安定性をより向上させることができる。
本実施形態(請求項11に記載の発明)によれば、制駆動力配分が変化する過渡状態で各輪1〜4の制駆動力変化が連続となる制駆動力配分{Fx1,Fx2,Fx3,Fx4}を選択するので、過渡状態において各輪1〜4の制駆動力Fx1,Fx2,Fx3,Fx4が不連続となることによって発生する不要な衝撃をなくすことができ、車両の操縦性を高めることができる。
本実施形態(請求項12、13に記載の発明)によれば、図9(B)のステップ210〜270において、各輪1〜4において、スリップあるいは車輪ロックを起こさない各輪1〜4の制駆動力上限Fsmaxiまたはスリップあるいは車輪ロックを起こさない各輪1〜4の制駆動力下限Fsminiにより制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}が制限され、制駆動力配分{Fx1,Fx2,Fx3,Fx4}を連続的に変化させることができない場合に、各輪1〜4の制駆動力変化が不連続となることを許可し、ステップ70で定まっている制駆動力配分とは連続しない制駆動力配分を求める(つまり各輪1〜4の制駆動力変化が不連続とできるようにする)か、または各モータ11〜14が過熱しまたは破損しないようにする各輪1〜4の制駆動力上限Fdmaxiまたは各モータ11〜14が過熱しまたは破損しないようにする各輪1〜4の制駆動力下限Fdminiにより制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}が制限され、制駆動力配分{Fx1,Fx2,Fx3,Fx4}を連続的に変化させることができない場合に、各輪1〜4の制駆動力変化が不連続となることを許可し、ステップ70で定まっている制駆動力配分とは連続しない制駆動力配分を求める(つまり各輪1〜4の制駆動力変化が不連続とできるようにする)ので、スリップやモータ過熱などによって各輪1〜4の制駆動力配分の集合が制限され、四輪1〜4の制駆動力配分を連続的に変化させることができない場合においても、車両挙動の変化を抑えることができる。
図18は第2実施形態の四輪独立駆動車の概略構成図で、第1実施形態の図1と置き換わるものである。図1と同一部分には同一の番号をつけている。
図18において図1と相違するのは、ジェネレータ51、エンジン52、コンバータ53からなる発電装置を追加した点にある。ジェネレータ51とエンジン52とは直接的または間接的に連結され、ジェネレータ51はエンジン52により駆動されて発電し、発電した電力は直接的に各モータ11〜14に供給されるようになっている。
図19(A)及び図19(B)は第2実施形態の各モータ11〜14へのトルク配分を実行するためのもので、第1実施形態の図9(A)及び図9(B)と置き換わるものである。図19(A)及び図19(B)も操作の手順を示し、一定時間毎に実行するものではない。図19(A)、図19(B)において第1実施形態の図9(A)、図9(B)と同一部分には同一のステップ番号を付している。
第2実施形態は、ステップ101で得られている実現可能な制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}の中から、各制駆動力配分を実現するための総消費電力が車両の出力可能な電力を上回ることない一つの制駆動力配分{Fx1,Fx2,Fx3,Fx4}を選択するようにしたものである。
第1実施形態の図19(A)及び図19(B)との違いを主に説明すると、図19(A)においては第1実施形態の図9(A)に対してステップ11、91、102、103を新たに加えている。また、図19(B)においては第1実施形態の図9(B)のステップ120に代えてステップ111、112、113、114、115、116、117で、また第1実施形態の図9(B)のステップ210、220、230、240、250、260、270に代えてステップ211、221、231、241、251で置き換えている。
具体的に説明すると、図19(A)においてステップ11ではジェネレータ51の発電電力Pg[W]を検出し、電流センサ(図示しない)により検出されるバッテリ9の電流値を積算することによりバッテリ9の蓄電量Bc[%]を算出する。
ステップ91ではエンジン52の目標運転点(目標回転速度と目標トルク)を設定し、その目標運転点でエンジン52を運転する。エンジン52の目標運転点の設定方法を次に述べる。
まず、エンジン52の目標出力パワーtPe[W]を、ステップ50で求めている目標制駆動力tF(車両前後方向力の目標値)と、ステップ10で求めている車体速度Vとを用いて、次の(110)により算出する。
tPe=tF×V−100×eSOC …(110)
式(110)右辺のeSOC[%]はステップ11で検出しているバッテリ9の蓄電量Bcから50%を引いた値である。すなわち、蓄電量eSOC(=Bc−50)が50%より小さくなると充電、大きくなると放電するように目標出力パワーtPeを定めている。
そして、この目標出力パワーtPeから図20を内容とするマップを参照してエンジン52の目標回転速度と目標トルクを定める。図20においてEf1〜Ef6[cm3/min]はエンジンの燃料消費率(Ef6>Ef5>Ef4>Ef3>Ef2>Ef1)、Pe eq1〜Pe eq3[Nm/s]はエンジンの出力(Pe eq1>Pe eq2>Pe eq3)で、太実線はエンジン52が同じ出力パワーを得るのに最も燃料消費率が少ない点を結んだ線(最良燃費線)である。この最良燃費線上で目標出力パワーtPeの得られる運転点を探索し、その探索した運転点に対するエンジン回転速度及びエンジントルクを目標回転速度及び目標トルク(つまり目標運転点)として設定する。
ステップ102では、ステップ101で求めている制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}(j=1,2,…,n)のうちの各制駆動力配分を各モータ11〜14が出力したときの総消費電力Pout(j)[W](j=1,2,…,n)を推定する。
各制駆動力配分を各モータ11〜14が出力したときの総消費電力Pout(j)(各制駆動力配分を実現するための総エネルギー必要量)の推定方法として次に4つを挙げる。
<10>総消費電力Pout(j)の推定方法1(請求項14に記載の発明)
各制駆動力配分を各モータ11〜14が出力したときの総消費電力Pout(j)を、ステップ20で求めている車体速度Vを用いて次の式(111)により算出する。
Pout(j)=V×(Fx1(j)+Fx2(j)+Fx3(j)+Fx4(j))
…(111)
<11>総消費電力Pout(j)の推定方法2(請求項15に記載の発明)
各制駆動力配分を各モータ11〜14が出力したときの総消費電力Pout(j)を各車輪速度V1,V2,V3,V4を用いて次の式(112)により算出する。
Pout(j)=Fx1(j)×V1+Fx2(j)×V2+Fx3(j)×V3+Fx4(j)×V4
…(112)
<12>総消費電力Pout(j)の推定方法3(請求項16に記載の発明)
各制駆動力配分を各モータ11〜14が出力したときの総消費電力Pout(j)を、各輪1〜4のモータロスPlossi(j)[W](i=1〜4)を考慮した次の式(113)により算出する。
Pout(j)=(Fx1(j)×V1+Ploss1(j))
+(Fx2(j)×V2+Ploss2(j))
+(Fx3(j)×V3+Ploss3(j))
+(Fx4(j)×V4+Ploss4(j)) …(113)
各輪1〜4のモータロスPlossi(j)(各輪1〜4を駆動する時に発生する各エネルギー損失)は、第1実施形態で前述したように各輪1〜4毎に図17のマップを参照して求めればよい。図17のマップは各モータ駆動時の電気的,機械的なロスを制駆動トルクと車輪の回転速度毎に予め求めておいたマップである。
<13>総消費電力Pout(j)の推定方法4
上記<10>〜<12>において総消費電力Pout(j)を求める際に、電力を使用する他の車載機器(エアコン,カーオーディオ,ヘッドライト等),エンジン補機,モータ冷却装置等の消費電力を上乗せする。
これで各制駆動力配分を各モータ11〜14が出力したときの総消費電力Pout(j)の推定方法の説明を終える。
ステップ103では、ステップ11で検出しているジェネレータ51の発電電力Pgとバッテリ9の放電可能最大電力Pb max[W]とを用いてバッテリ9とジェネレータ51が供給できる電力の上限Ps max[W]を、同じくステップ11で検出しているジェネレータ51の発電電力Pgとバッテリ9の充電可能最大電力Pb min[W]とを用いてバッテリ9とジェネレータ51が供給できる電力の下限Ps min[W]を、つまり次の式(114)及び式(115)により供給電力上限Ps max[W]と供給電力下限Ps min[W]を算出する。
Ps max=Pg+Pb max …(114)
Ps min=Pg+Pb min …(115)
ここで、式(114)の放電可能最大電力Pb max,式(115)の充電可能最大電力Pb minは全て放電側を正の値とする。
式(114)の放電可能最大電力Pb max,式(115)の充電可能最大電力Pb minは、バッテリ9の蓄電量Bcから図21の上段、下段を内容とするテーブルを参照して求める。図21上段のPb m max[W]及び図21下段のPb m min[W]は、バッテリ9が充分に充放電できる状態(本実施形態では蓄電量BSが50%の状態)で、バッテリ9が破損や急速な劣化を起こさない最大放電可能電力及び最大充電可能電力である。
図19(B)に移りステップ111では、ステップ102で求めている総消費電力Pout(j)のうち1番目の総消費電力Pout(1)とステップ103で求めている供給電力上限Ps max及び供給電力下限Ps minを比較する。なお、ここでは、1番目の総消費電力Pout(1)を採用しているが、これに限定されるものでなく、2番目,3番目,…の総消費電力Pout(2),Pout(3),…でもかまわない。
1番目の総消費電力Pout(1)が供給電力上限Ps max以下でかつ供給電力下限Ps min以上(Ps min≦Pout(1)≦Ps max)であればステップ112に進んでフラグfp=1とする。一方、1番目の総消費電力Pout(1)が供給電力上限Ps maxを超えているかまたは供給電力下限Ps min未満であるときにはステップ111よりステップ113に進んでフラグfp=0とする。
ここで、1番目の総消費電力Pout(1)は、ステップ70で設定している駆動力配分{Fx1,Fx2,Fx3,Fx4}を各モータ11〜14で出力するのに必要な総消費電力である。すなわち、ステップ111はステップ70で設定している制駆動力配分{Fx1,Fx2,Fx3,Fx4}が、ジェネレータ51とバッテリ9が供給可能な電力で実現可能か否かでフラグfpの値を変えるものである。
言い換えると、ステップ111は、1番目の総消費電力Pout(1)(制駆動力配分の集合のうちの各制駆動力配分を実現するための総エネルギー必要量)が車両の出力可能な電力(車両の出力可能なエネルギー)の範囲内にあるか否かを判定する部分である。すなわち、1番目の総消費電力Pout(1)が供給電力上限Ps max以下でかつ供給電力下限Ps min以上であれば車両の出力可能な電力の範囲内にあると、これに対して、1番目の総消費電力Pout(1)が供給電力上限Ps maxを超えているかまたは供給電力下限Ps min未満であるときには車両の出力可能な電力の範囲内にないと判定している。
ステップ114では、必要制駆動力補正量ΔFsi[N]の絶対値|ΔFsi|とゼロを比較する。必要制駆動力補正量の絶対値|ΔFsi|がゼロより大きい車輪が一輪もない場合にはステップ115に進んでフラグft=1とする。一方、必要制駆動力補正量の絶対値|ΔFsi|がゼロより大きい車輪が一輪以上ある場合にはステップ114よりステップ116に進んでフラグft=0とする。
必要制駆動力補正量ΔFsi(i=1〜4)は、第1実施形態で前述したように制駆動力Fx1,Fx2,Fx3,Fx4から各輪1〜4毎に次のように設定している。すなわち、各輪1〜4について制駆動力Fxiが制駆動力下限Fminiを超えかつ制駆動力上限Fmaxi未満(Fmini<Fxi<Fmaxi)の領域にあれば必要制駆動力補正量ΔFsi[N]=0である。各輪1〜4について制駆動力Fxiが制駆動力上限Fmaxi以上(Fxi≧Fmaxi)のとき必要制駆動力補正量ΔFsi[N]=Fmaxi−Fxiであり、各輪1〜4について制駆動力Fxiが制駆動力下限Fmini以下(Fxi≦Fmini)のとき必要制駆動力補正量ΔFsi[N]=Fmini−Fxiである。
従って、必要制駆動力補正量ΔFsiがゼロでない車輪がある(フラグft=0)ということは、ステップ70で設定している制駆動力配分{Fx1,Fx2,Fx3,Fx4}を出力できない車輪が存在することを意味している。
ステップ117では、フラグfpとフラグftが共に1であるか否かをみる。フラグfp=1かつフラグft=1の場合、つまりステップ70で設定している制駆動力配分{Fx1,Fx2,Fx3,Fx4}がジェネレータ51とバッテリ9が供給可能な電力で実現可能でありかつステップ70で設定している制駆動力配分{Fx1,Fx2,Fx3,Fx4}を出力できない車輪が存在しない場合にはステップ130以降に進むことなく、ステップ300に進み、ステップ101で求めている制駆動力配分の集合のうちの一つの制駆動力配分{Fx1,Fx2,Fx3,Fx4}を選択し、その選択した制駆動力Fx1,Fx2,Fx3,Fx4にそれぞれ各輪1〜4の半径Rを乗じた値、即ちトルク指令値(Fx1×R,Fx2×R,Fx3×R,Fx4×R)が得られるようにモータ11〜14を制御する。
一方、フラグfp=0またはフラグft=0の場合、つまりステップ70で設定している制駆動力配分{Fx1,Fx2,Fx3,Fx4}がジェネレータ51とバッテリ9が供給可能な電力で実現不可能である場合またはステップ70で設定している制駆動力配分{Fx1,Fx2,Fx3,Fx4}を出力できない車輪が存在する場合にはステップ117よりステップ130に進み、ステップ101で求めている制駆動力配分の集合{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}の中で、各輪1〜4の制駆動力制限を満たし、かつジェネレータ51とバッテリ9が供給可能な電力で実現可能なものを選び出す。
ここではまず、ステップ101で求めている制駆動力配分の集合のうちの各制駆動力配分を、ステップ103で求めている供給電力上限Ps max,供給電力下限Ps min及びステップ110で求めている制駆動力上限Fmaxi及び制駆動力下限Fminiを用いて各輪1〜4毎に制限する方法について次に説明する。
まず、図22に示すような配列St2を考える。配列St2の列数はステップ101で求めている制駆動力配分の集合の数nと同じ数で、行数は7である。
まず整数j(j=1,2,…,n)を1から順にnまで変化させつつ、j番目の総消費電力Pout(j)が供給電力下限Ps min以上かつ供給電力上限Ps max以下(Ps min≦Pout(j)≦Ps max)にある場合に、対応するjの列の第2行目(j×2)に1を、これに対してj番目の総消費電力Pout(j)が供給電力下限Ps min未満または供給電力上限Ps maxを超えている場合に、対応するjの列の2行目にゼロを設定する。例えば図22では整数j=1,2,3,4のとき1が、整数j=5,6のときゼロが設定されているので、1,2,3,4番目の総消費電力Pout(1),Pout(2),Pout(3),Pout(4)は供給電力下限Ps min以上かつ供給電力上限Ps max以下にあるのに対して、5,6番目の総消費電力Pout(5),Pout(6)は供給電力下限Ps min以上かつ供給電力上限Ps max以下にないことがわかる。
次にまた整数jを1から順にnまで変化させつつ、j番目の左前輪1の制駆動力であるFx1(j)が制駆動力下限Fmin1以上かつ制駆動力上限Fmax1以下(Fmin1≦Fx1(j)≦Fmax1)にある場合に、対応するjの列の第3行目(j×3)に1を、これに対してj番目の左前輪1の制駆動力であるFx1(j)が制駆動力下限Fmin1未満である場合または制駆動力上限Fmax1を超えている場合に、対応するjの列の第3行目にゼロを設定する。これは、各駆動力配分がそれぞれ左前輪1の駆動力制限を満たすか否かをチェックするものである。例えば図22では整数j=1,2,3のとき1が、整数j=4,5,6のときゼロが設定されているので、1,2,3番目の左前輪1の制駆動力Fx1(1),Fx1(2),Fx1(3)は制駆動力下限Fmin1以上かつ制駆動力上限Fmax1以下にあるのに対して、4,5,6番目の左前輪1の制駆動力Fx1(4),Fx1(5),Fx1(6)は制駆動力下限Fmin1以上かつ制駆動力上限Fmax1以下にないことがわかる。
同様にして、右前輪2,左後輪3,右後輪4についても制駆動力制限を満たす場合には1を、これに対して制駆動力制限を満たさない場合にはゼロを上記の配列St2の第4、第5、第6行目に設定する(右前輪2の場合はj×4に、左後輪3の場合はj×5に、右後輪4の場合はj×6に設定する)。
そして最後に、また整数jを1から順にnまで変化させつつ、各j列の第2行目〜第6行目までの要素のANDを採り第7行目にその結果を記録する。この配列St2の第7行目が1である列のjは、対応する制駆動力配分{Fx1,Fx2,Fx3,Fx4}が各輪1〜4の制駆動力制限を満たし、かつジェネレータ51とバッテリ9が供給可能な電力で実現可能であることを示している。例えば図22では整数j=1〜6の中では2,3番目の制駆動力配分{Fx1,Fx2,Fx3,Fx4}のみが各輪1〜4の制駆動力制限を満たし、かつジェネレータ51とバッテリ9が供給可能な電力で実現可能であることを示している。
また、ステップ130では配列St2の第7行目の和を配列数Stnum2に設定する。従って、配列数Stnum2は実現可能な制駆動力配分の数を示すこととなる。
ステップ140では、この配列数Stnum2とゼロを比較する。配列数Stnum2≠0の場合(つまりステップ101で求めている制駆動力配分の集合の中に実現可能な制駆動力配分が存在する)にはステップ150に進み、ステップ130で求めている実現可能な制駆動力配分の集合の中から、一つの制駆動力配分{Fx1,Fx2,Fx3,Fx4}を選択し、ステップ70で設定している制駆動力配分{Fx1,Fx2,Fx3,Fx4}にこの選択した制駆動力配分{Fx1,Fx2,Fx3,Fx4}を上書きする。
ステップ150におけるこの一つの制駆動力配分の選択方法として次に3つを挙げる。
<14>一つの制駆動力配分の選択1
配列St2の第7行目が1となるjに対応する制駆動力配分{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}と、ステップ70で設定している各輪1〜4の制駆動力Fx1,Fx2,Fx3,Fx4とから次の式(116)の評価関数J(j)をそれぞれ計算し、それら計算した評価関数J(j)のうち、評価関数J(j)を最小とする制駆動力配分を選択する。
J(j)=(Fx1−Fx1(j))2+(Fx2−Fx2(j))2
+(Fx3−Fx3(j))2+(Fx4−Fx4(j))2
…(116)
<15>一つの制駆動力配分の選択2
配列St2の第7行目が1となるjに対応する総消費電力Pout(j)のうち、総消費電力Pout(j)が最小となる制駆動力配分を選ぶ。
<16>一つの制駆動力配分の選択3
配列St2の第7行目が1となるjに対応する制駆動力配分の中で、各輪1〜4のタイヤ横力と駆動力の合力であるタイヤ力を輪荷重W1,W2,W3,W4で除した値であるタイヤ摩擦円使用率H1(j),H2(j),H3(j),H4(j)の最大値と最小値の差が最も小さくなる制駆動力配分を選択する。選択の方法は次の通り。
まず、配列St2の第7行目が1となるjに対応する制駆動力配分{Fx1(j),Fx2(j),Fx3(j),Fx4(j)}を用いて、各輪1〜4のタイヤ摩擦円使用率H1(j),H2(j),H3(j),H4(j)を次の式(117a)〜式(117d)により算出する。
H1(j)=(Fx1(j)2+Fy1(j)2)1/2/W1 …(117a)
H2(j)=(Fx2(j)2+Fy2(j)2)1/2/W2 …(117b)
H3(j)=(Fx3(j)2+Fy3(j)2)1/2/W3 …(117c)
H4(j)=(Fx4(j)2+Fy4(j)2)1/2/W4 …(117d)
そして次に、各j毎にH1(j),H2(j),H3(j),H4(j)のうちの最大値Hmax(j)と最小値Hmin(j)とを求め、その差であるΔH(j)=Hmax(j)−Hmin(j)を計算し、この差ΔH(j)が最小となるjに対応する制駆動力配分を選択する。
式(117a)〜式(117d)の各輪1〜4のタイヤ横力Fy1(j),Fy2(j),Fy3(j),Fy4(j)の算出方法の一例は第1実施形態においてステップ100で説明済みであるので、ここでの説明は省略する。
これでステップ150における一つの制駆動力配分の選択方法の説明を終える。
一方、ステップ140で配列数Stnum2=0の場合(つまりステップ101で求めている制駆動力配分の集合の中に実現可能な制駆動力配分が存在しない)には制駆動力配分を再設定するためステップ211以降に進む。
ステップ211では、フラグftとゼロを比較する。フラグft=0の場合(つまりステップ70で設定している制駆動力配分{Fx1,Fx2,Fx3,Fx4}を出力できない車輪が存在する)にはステップ221に進み、ステップ70で設定している制駆動力配分{Fx1,Fx2,Fx3,Fx4}を、ステップ110で求めている制駆動力上限Fmaxiと制駆動力下限Fminiとの間に収まるように再設定する。この制駆動力配分の再設定方法について次に述べる。
まず、各車輪1〜4についてステップ110で求めている制駆動力上限Fmaxi、制駆動力下限Fminiを用い、制駆動力Fxiの値(正、負、ゼロ)に応じて次の式(118)〜式(120)により減少比率Qi[無名数]を算出する。
制駆動力Fxi>0の場合:Qi=Fmaxi/Fxi …(118)
制駆動力Fxi<0の場合:Qi=Fmini/Fxi …(119)
制駆動力Fxi=0の場合:Qi=1 …(120)
ここで、制駆動力上限Fmaxi≧0、制駆動力下限Fmini≦0であるので、制駆動力Fxi>0の場合、制駆動力Fxi<0の場合とも減少比率Qiは正またはゼロの値となる。
次に、各輪1〜4の減少比率Qiの中で最も小さい値を改めて減少比率Qとして採用し、ステップ70で設定している制駆動力配分{Fx1,Fx2,Fx3,Fx4}を次の式(121)〜式(124)により再設定する。
Fx1←Q×Fx1 …(121)
Fx2←Q×Fx2 …(122)
Fx3←Q×Fx3 …(123)
Fx4←Q×Fx4 …(124)
式(121)〜式(124)は、各輪1〜4の制駆動力Fx1,Fx2,Fx3,Fx4の絶対値を同じ割合(減少比率Q)で減少させることにより、各輪1〜4の制駆動力制限を満たすようにしたものである。
ステップ231では、ステップ221で再設定している制駆動力配分{Fx1,Fx2,Fx3,Fx4}を各モータ11〜14で出力する際に必要とされる総消費電力Pout’を、上記のステップ102と同じ手順で推定する。
ステップ241では、この推定した総消費電力Pout’が供給電力上限Ps max以下にありかつ供給電力下限Ps min以上にある(Ps min≦Pout’≦Ps max)か否か、つまりステップ221で再設定している制駆動力配分{Fx1,Fx2,Fx3,Fx4}がバッテリ9とジェネレータ51で供給できる電力で実現可能か否かをチェックする。総消費電力Pout’が供給電力上限Ps max以下にありかつ供給電力下限Ps min以上にある場合には、ステップ221で再設定している制駆動力配分{Fx1,Fx2,Fx3,Fx4}がバッテリ9とジェネレータ51で供給できる電力で実現可能であると判断しステップ300に進んでステップ300の操作を実行する。
一方、総消費電力Pout’が供給電力上限Ps maxを超えている場合(Pout’>Ps max)または供給電力下限Ps min未満である場合(Pout’<Ps min)には、ステップ221で再設定している制駆動力配分{Fx1,Fx2,Fx3,Fx4}はバッテリ9とジェネレータ51で供給できる電力では実現不可能であると判断し、上記の総消費電力Pout(1)にこの総消費電力Pout’を再設定してステップ251に進む。
また、ステップ211でフラグft=1の場合(つまりステップ70で設定している制駆動力配分{Fx1,Fx2,Fx3,Fx4}を出力できない車輪が存在しない)にもステップ221、231、241を飛ばしてステップ251に進む。
ステップ251では、ステップ70で設定している制駆動力配分{Fx1,Fx2,Fx3,Fx4}がバッテリ9とジェネレータ51が供給可能な電力制限内に収まるように、ステップ103で求めている供給電力上限Ps max,供給電力下限Ps minを用いて、ステップ70で設定している制駆動力配分{Fx1,Fx2,Fx3,Fx4}を次の式(125a)〜式(125d)、式(126a)〜式(126d)により再設定する。
総消費電力Pout(1)>供給電力上限Ps maxの場合:
Fx1←(Ps max/Pout(1))×Fx1×τ …(125a)
Fx2←(Ps max/Pout(1))×Fx2×τ …(125b)
Fx3←(Ps max/Pout(1))×Fx3×τ …(125c)
Fx4←(Ps max/Pout(1))×Fx4×τ …(125d)
総消費電力Pout(1)<供給電力下限Ps minの場合:
Fx1←(Ps min/Pout(1))×Fx1×τ …(126a)
Fx2←(Ps min/Pout(1))×Fx2×τ …(126b)
Fx3←(Ps min/Pout(1))×Fx3×τ …(126c)
Fx4←(Ps min/Pout(1))×Fx4×τ …(126d)
式(125a)〜式(125d)、式(126a)〜式(126d)において、係数τを省略した次の式は、バッテリ9とジェネレータ51のパワー不足を解消するように、各輪1〜4の制駆動力Fx1,Fx2,Fx3,Fx4を、(不足したパワー)÷(回転速度)だけ単純に減少させたものである。
総消費電力Pout(1)>供給電力上限Ps maxの場合:
Fx1←(Ps max/Pout(1))×Fx1 …(補25a)
Fx2←(Ps max/Pout(1))×Fx2 …(補25b)
Fx3←(Ps max/Pout(1))×Fx3 …(補25c)
Fx4←(Ps max/Pout(1))×Fx4 …(補25d)
総消費電力Pout(1)<供給電力下限Ps minの場合:
Fx1←(Ps min/Pout(1))×Fx1 …(補26a)
Fx2←(Ps min/Pout(1))×Fx2 …(補26b)
Fx3←(Ps min/Pout(1))×Fx3 …(補26c)
Fx4←(Ps min/Pout(1))×Fx4 …(補26d)
式(補25a)〜式(補25d)、式(補26a)〜式(補26d)によれば、各モータ11〜14の運転点(トルク,回転速度)の変化に伴って各モータ11〜14の損失が増加し、パワー不足が解消されない場合がある。そこでこのような現象を回避するために、係数τ(0<τ<1)を用いた上記の式(125a)〜式(125d)、式(126a)〜式(126d)により制駆動力配分{Fx1,Fx2,Fx3,Fx4}を再設定するものである。つまり、係数τは、制駆動力変化に伴い各モータ損失が増加する場合等を考慮したもので、本実施形態では係数τとして0.8を設定している。
ステップ300では、このようにして再設定した制駆動力Fx1,Fx2,Fx3,Fx4にそれぞれ各輪1〜4の半径Rを乗じた値、即ちトルク指令値(Fx1×R,Fx2×R,Fx3×R,Fx4×R)が得られるようにモータ11〜14を制御する。
第2実施形態(請求項14、15、16に記載の発明)によれば、ステップ101で求めている制駆動力配分の集合のうちの各制駆動力配分を各モータ11〜14で出力するのに必要な総消費電力Pout(j)(総エネルギー必要量)を推定し、この総消費電力Pout(j)がジェネレータ51とバッテリ9が供給可能な電力(車両の出力可能なエネルギー)の範囲内(Ps min≦Pout(1)≦Ps max)にある制駆動力配分を選択するので(図19(B)のステップ111、112、114、115、117、300参照)、ステップ101で求めている制駆動力配分の集合のうちの各制駆動力配分{Fx1,Fx2,Fx3,Fx4}を各モータ11〜14で出力するのに必要な総消費電力(Pout(j))が、ジェネレータ51とバッテリ9が供給可能な電力(車両の発電能力)を超えることがなく、車両の操縦安定性をより向上させることができる。
実施形態では、前輪転舵機構に加えて後輪転舵機構を有する四輪独立駆動車で説明したが、後輪転舵機構を有さず前輪のみ転舵する四輪独立駆動車に対しても本発明を適用することができる。この四輪独立駆動車に本発明を適用する場合には、例えば図9(A),図9(B)において後輪3,4の舵角δ3,δ4の値を定数(通常はδ3,δ4=0)とすればよい。
また、ジェネレータ51とエンジン52の代りに、燃料電池を備える四輪独立駆動車への適用も可能である。この燃料電池を備える四輪独立駆動車に本発明を適用する場合には、図19(A)、図19(B)のステップ103においてジェネレータ51の発電電力Pgに代えて、この燃料電池の発電電力を用いるようにすればよい。
実施形態では、各輪1〜4を駆動または制動するアクチュエータがモータ11〜14である場合で説明したが、各輪1〜4を制動する際に、各モータ11〜14に加えてメカブレーキを併用するものにも本発明を適用することができる。
請求項1に記載の目標車両挙動決定手段の機能は図9(A)のステップ100により、制駆動力配分集合演算手段の機能は図9(A)のステップ101、図13、図15により、制駆動力配分選択手段の機能は図9(B)のステップ150によりそれぞれ果たされている。