以下、本発明に係る複数駆動源の駆動力制御装置について実施の形態を挙げ、添付の図1〜図43を参照しながら説明する。
図1に示すように、本実施の形態に係る駆動力制御装置20は、車両10に搭載されているものとする。車両10は、左の前輪12Lをモータ14Lで駆動し、右の前輪12Rとモータ14Rで駆動し、左の後輪16Lをモータ18Lで駆動し、右の後輪16Rをモータ18Rで駆動するものとする。以下、前輪12L、前輪12R、後輪16L及び後輪16Rは、必要に応じて車輪とも呼ぶ。
モータ14L、14R、18L及び18Rは、例えばインホイールモータである。各モータ(駆動源)と車輪との間には減速機や操舵機が介在していてもよい。駆動力制御装置20を各モータとの間には、図示しないモータドライバ(インバータ等)が設けられている。この車両10は、4輪を個別に駆動することができる。モータ14L、14R、18L及び18Rに対する電力供給源は、リチウムイオン電池等のバッテリ、エンジンに接続された発電機、又は燃料電池等が挙げられる。
駆動力制御装置20は、4輪構成に限らず、前後左右の4箇所に少なくとも1輪以上(例えば、2輪ずつ)設けられた形式の車両に適用可能である。
モータ14L、14R、18L及び18Rは、駆動力制御装置20によって駆動制御されている。説明を簡便にするため、モータ14L、14R、18L及び18Rは全て同機能とする。
駆動力制御装置20は、外部制御装置22と接続されている。外部制御装置22は、VSA(vehicle stability assist)、ABS(anti-lock brake system)及びTCS(traction control system)等の車両状態の制御手段であり、前輪12、後輪16R及び16Lについての各トルク制限に関する情報を駆動力制御装置20に供給する。
VSAは、ABS及びTCSを含み得るシステムであり、さらに車両10の横すべり抑制制御等を加えた車両安定化制御システムである。ABSは、急ブレーキ時等で、タイヤがロックして路面上をスリップする場合に、自動的にポンピングブレーキを行い、車輪のロックを防止するシステムである。TCSは、急発進等で起こる駆動輪のタイヤスピンをコンピュータが検知し、トルクを制御することでタイヤと路面とのグリップを回復してスピンを防ぐシステムである。
また、外部制御装置22では、走行路面のμ値の判断を行い、スプリットμ路面を走行していると判断するときには該情報を駆動力制御装置20に供給する。ここで、スプリットμ路面とは、車両の右側車輪と左側車輪で路面の滑り易さが異なる状況の路面の事である。例えば、右側車輪が水たまりで左側車輪が乾いたアスファルト上にあればこれはスプリットμ路面に相当する。極端な場合としては、片側が氷で反対側がアスファルトの場合もあり得る。このような場合、左右輪で同じ駆動力を発生させると、路面μの高い側の車輪はしっかりグリップしているものの路面μの低い側の車輪が滑り出すということが起こり得る。この場合、結果的に車両にヨーモーメントが働く事になり、運転者の意図とは関係なく車は曲がろうとする。駆動力制御装置20と外部制御装置22は、一部又は全部が共通であってもよい。
駆動力制御装置20では、先ず、車両10を前方へ駆動するための要求車両駆動トルク(要求車両駆動力)Treq0と、車両10を左右へ旋回させるための要求旋回トルク(要求旋回駆動力)Nreq0とを微小時間毎に決定し、諸条件によってモータ14L、14R、18L及び18Rに対する実際のトルク配分を調整・設定する。
駆動力制御装置20の説明に先立ち、記号の定義、モータ14L、14R、18L及び18Rの特性、駆動力制御装置20の制御において用いられる後輪トルク四角形(後輪駆動力範囲)30、後輪反映四角形30a及び前輪トルク四角形31(前輪駆動力範囲)について説明する。
駆動力制御装置20の制御において用いる記号を次のように定義する。すなわち、
左の前輪12L及びモータ14Lで発生するトルクをTfl、
右の前輪12R及びモータ14Rで発生するトルクをTfr、
左の後輪16L及びモータ18Lで発生するトルクをTrl、
右の後輪16R及びモータ18Rで発生するトルクをTrr、
アクセルペダル等から算出される車両10全体としての総トルク要求を要求車両駆動トルクTreq0、
Treq0を駆動力制御装置20において調整した後の調整後総トルク要求を要求車両駆動トルクTreq、
アクセルペダルやハンドル等から算出される車両10を旋回させる旋回要求を要求旋回トルクNreq0、
Nreq0を駆動力制御装置20において調定した後の調定後旋回要求(差分駆動力)をNreq、
Treq0又はTreqを駆動力制御装置20において調整した後の前輪合計モータトルク(前輪合計駆動力)をTf_req、
Treq0又はTreqを駆動力制御装置20において調整した後の後輪合計モータトルク(後輪合計駆動力)をTr_req、
Nreq0又はNreqを駆動力制御装置20において調整した後の前輪旋回トルク(前輪差分駆動力)をNf_req、
Nreq0又はNreqを駆動力制御装置20において調整した後の後輪旋回トルク(後輪差分駆動力)をNr_req、
とする。また、それぞれの最大値には添え字maxを付し、最小値(マイナス値)には添え字minを付して表す。
前輪合計モータトルクTf_reqは、Tf_req=Tfr+Tflとして求められる。
後輪合計モータトルクTr_reqは、Tr_req=Trr+Trlとして求められる。
前輪旋回トルクNf_reqは、Nf_req=Tfr−Tflとして求められる。
後輪旋回トルクNr_reqは、Nr_req=Trr−Trlとして求められる。
調整後総トルクTreqは、Treq=Tfr+Tfl+Trr+Trlとして求められる。
調整後旋回Nreqは、前輪側の旋回力と後輪側の旋回力の和であることから、Nreq=(Tfr−Tfl)+(Trr−Trl)として求められる。
図2に示すように、駆動力制御装置20は、総トルク要求演算部(要求車両駆動力演算手段)100と、旋回要求演算部(要求旋回駆動力演算手段)104と、駆動力調整部(駆動力調整手段)106と、各モータトルク演算部108と、トルク四角形作成部110と、消費電力演算部111とを有する。トルク四角形作成部110は、後述する図4に規定されるモータ特性を記録したマップ110aを有する。
総トルク要求演算部100は、乗員による操作、あるいは車両10の状態(例えば、アクセルペダル開度及びモータ回転数等)に応じて、要求される車両10の前後方向の駆動力である要求車両駆動トルクTreq0を求めて出力する。要求車両駆動トルクTreq0は、車両10の全体としての前後方向のトルク要求であり、モータ14L、14R、18L及び18Rの合計要求トルクとなる。
旋回要求演算部104は、乗員による操作、あるいは車両の状態(例えば、横方向加速度、ヨーレート、ハンドル舵角及び車速等)に応じて、要求される車両10の旋回方向の駆動力である要求旋回トルクNreq0を演算して出力する。アクセルペダル開度、モータ回転数、車速等は図示しない所定のセンサによって検出され、又は所定の演算手段によって求められる。
なお、車両10の状態とは広義であり、車速、加減速、横G等の走行状態の他、外気温や車両10における他の機器(例えば、エアコンディショナ)のエネルギ消費状況等を含み得る。
Treq0、及びNreq0は、駆動力制御装置20以外の1以上の制御装置で設定して、該駆動力制御装置20に供給されるようにしてもよい。駆動力制御装置20は、物理的に1つのユニットに構成されている必要はなく、複数のユニットから構成されていてもよく、実質的には駆動制御システムであってもよい。
トルク四角形作成部110は、外部制御装置22から得られる情報に基づいて後輪トルク四角形30等を作成して駆動力調整部106に供給する。
駆動力調整部106は、前輪トルク四角形31、後輪トルク四角形30及び後輪反映四角形30a等を用い、Treq0及びNreq0の実現性、妥当性について検討し、調整、調定を行い、Tf_req、Nf_req、Tr_req及びNr_reqを求める。
各モータトルク演算部108では、Tf_req、Nf_req、Tr_req及びNr_reqに基づいて各モータのトルクTfr、Tfl、Trr及びTrlを求める。
消費電力演算部111は、マップ176(図22参照)を保持しており、解平面150(図23A、図23B参照)を複数領域に区分し、該複数領域毎に、マップ176に基づいて各モータのトルクに応じた消費電力及びその総和を求める。消費電力演算部111は、各モータの消費電力を求める手段であって、電流及び電圧のいずれに基づく判断でもよく、電力を直接的に判断してもよい。例えば、一定電圧を用いるシステムの場合には電流値に基づいた判断を行ってもよい。マップ176は、前記のマップ110a(図2参照)と統合した構成にしてもよい。
外部制御装置22は、ABS/TCS112、VSA114、エネルギマネジメントシステム116(バッテリシステム等)、路面μ推定部118を含み、後輪トルク四角形30を作成するのに必要な情報をトルク四角形作成部110に供給する。便宜上、ABS/TCS112、VSA114、エネルギマネジメントシステム116及び路面μ推定部118を1つの外部制御装置22として表しているが、これらのシステムは分離していても構わないことはもちろんである。
図3に示すように、駆動力調整部106は、事前調整部120と、調整・調定部122と、解平面演算部124と、動作点選択部126とを有する。
事前調整部120はTreq0及びNreq0の事前調整を行う。事前調整部120ではTreq0及びNreq0を変更する場合があるが、図3及び図36では、事前調整した出力結果も便宜上Treq0及びNreq0と表している。調整・調定部122は、Treq0及びNreq0の調整・調定を行いTreq及びNreqを求める。解平面演算部124では、Treq及びNreqに基づき、後述する解平面150や線状、点状の解を求める。動作点選択部126は求められた解から1つの動作点を選択し、Tf_req、Nf_req、Tr_req及びNr_reqを求める。
図4に示すように、モータ18L、18Rの特性は、回転数Nに対して発揮可能な最大トルク値は決まっており、それ以上のトルクはバッテリ電源や温度特性等種々の理由により発揮できないように設定されている。回転数Nに対して正負で同じ大きさのトルク(トルク=0の線に対して上下対称のトルク曲線)を出力することが可能である。低回転時には一定且つ最大のトルクを発揮でき、それ以上の領域では略反比例的にトルクが減少する。このようなトルク特性は一般的なモータの特性であることは容易に理解されよう。前のモータ14L、14Rも同様の特性である。各モータ14L、14R、18L及び18Rはそれぞれ最大で±120Nmのトルクを発生し得るものとする。これらのモータ特性は、マップ化してトルク四角形作成部110に記録されている(図2参照)。
次に、後輪トルク四角形30について説明する。後輪トルク四角形30は、制御上用いられる仮想の座標上に設定され、後輪のモータ18L及び18Rで発生させるトルクについて表すものであり、図5に示すように、後輪要求トルクTr_reqを横軸(X軸)、後輪旋回要求トルクNr_reqを縦軸(Y軸)にとって表す。
なお、前輪トルク四角形31(図6参照)は、前輪のモータ14L及び14Rで発生させるトルクについて表したものであり、後輪トルク四角形30と同様の構成であることから、ここでは後輪トルク四角形30を例にして説明する。
後輪トルクTr_req(二輪合計駆動力)は、車両全体としての前方への駆動トルクTreqから前輪12において分担するトルクTf_reqを差し引いたトルクである。X軸の後輪トルクTr_reqは、図5の右方向が前方へ向かうトルクで、左方向が後方へ向かうトルクである。Y軸の旋回トルクNr_reqは、図5の上方が左旋回トルクであり、下方が右旋回トルクである。
X軸の後輪駆動トルクTr_reqは、右のモータ18Rで発生するトルクTrrと左のモータ18Lで発生するトルクTrlを加算した値であり、次の(1)式が成り立つ。
Tr_req=Trr+Trl …(1)
例えば、前方向への後輪車両駆動トルクTr_reqの最大値は、モータ18Rのプラスの最大トルク120Nmとモータ18Lのプラスの最大トルク120Nmを加算して、120+120=240Nmとなる。これを図5における点P1で示す。逆に後方への後輪駆動トルクTr_reqの最大値を点P2で示す。
Y軸の旋回トルクNr_reqは、右のモータ18Rで発生するトルクTrrから左のモータ18Lで発生するトルクTrlを減算した値であり、次の(2)式が成り立つ。
Nr_req=Trr−Trl …(2)
例えば、左方向への旋回トルクNr_reqの最大値は、モータ18Rのプラスの最大トルク120Nmからモータ18Lのマイナスの最大トルク−120Nmを減算して、120−(−120)=240Nmとなる。これを図5における点P3で示す。逆に右方向への旋回トルクNr_reqの最大値を点P4で示す。
また、X−Y座標上の所定の動作点に対しては、Trr及びTrlが一意に求まる。すなわち、前記の(1)式及び(2)式から次の(3)式及び(4)式が導き出せる。
Trr=1/2(Tr_req+Nr_req) …(3)
Trl=1/2(Tr_req−Nr_req) …(4)
なお、前輪についても同様に、基礎式として次の(5)式及び(6)式が成り立つ。
Tf_req=Tfr+Tfl …(5)
Nf_req=Tfr−Tfl …(6)
この(5)式及び(6)式から次の(7)式及び(8)式が導き出せる。
Tfr=1/2(Tf_req+Nf_req) …(7)
Tfl=1/2(Tf_req−Nf_req) …(8)
モータ18Lの発生するプラスの最大トルクが大きくなると、直線32cは座標上におけるいわゆる第4象限の領域を斜め45°に移動することになり、この方向を矢印L(+)で示す。モータ18Lの発生するマイナスの最大トルクが大きくなると、逆に直線32dが矢印L(−)の方向に移動する。矢印L(+)及び矢印L(−)で規定される直線は、モータ18Lの発生するトルクTrl軸に相当する。
同様に、モータ18Rの発生するプラスの最大トルクが大きくなると、直線32aは座標上におけるいわゆる第1象限の領域を斜め45°に移動することになり、この方向を矢印R(+)で示す。モータ18Rの発生するマイナスの最大トルクが大きくなると、逆に直線32bが矢印R(−)の方向に移動する。矢印R(+)及び矢印R(−)で規定される直線は、モータ18Rの発生するトルクTrr軸に相当する。
後輪トルク四角形30の表現形式は、設計条件に基づいて変更可能であり、例えば、矢印R(+)、R(−)、L(+)、L(−)で規定される座標で表してもよい。後輪トルク四角形30を表す座標は、必ずしも直交座標でなくてもよい。
図7では、後輪トルク四角形30の点P1〜点P4において、車両10のモータ18R、モータ18Lが発生するトルクをベクトルでそれぞれ模式的に示している。X軸に関しては、プラス値が大きくなるほど車両10を前へ押し出す力が大きくなり、マイナス値が大きくなるほど後ろへ押し出す力が大きくなる。Y軸に関しては、プラス値が大きくなるほど車両10を左へ旋回させる力が大きくなり、マイナス値が大きくなるほど右へ旋回させる力が大きくなる。
図5に戻り、後輪トルク四角形30は、4つの直線32a、32b、32c及び32dで囲まれる四角形であり、この後輪トルク四角形30の範囲内(枠線上を含む)が後輪のモータ18L及び18Rによって協調的に出力することのできるトルクである。
4つの直線32a、32b、32c及び32dは45°の傾きを維持しながら(つまり、直角の四角形を維持して、正方形又は長方形になる。)諸条件によりシフトする。諸条件とは、上記の通り、各モータの回転数、バッテリ電源、温度特性に基づく条件である。
図5に示す状態の後輪トルク四角形30は、モータ18L及び18Rがプラス及びマイナス方向に最大トルク(±120Nm)を発揮できる状態であり、換言すれば最大の面積の状態を示している。
直線32aは、点P1と点P3とを通り、モータ18Rがプラス方向で最大の120Nmを発生する範囲を示し、他方のモータ18Lが発生するトルクに応じて点P1から点P3を移動することになる。例えば、モータ18Lのトルクが0であるときには点P1と点P3との中点P5をとることになる。中点P5は、モータ18Rの発生する120NmのトルクがそのままX方向、つまり車両駆動トルクになるとともに、Y方向、つまり左方向への旋回トルクとなる点である。
直線32bは、点P2と点P4とを通る直線であり、モータ18Rがマイナス方向で最大(換言すれば最小駆動力)の−120Nmを発生する範囲を示し、他方のモータ18Lが発生するトルクに応じて点P2から点P4を移動することになる。
同様に、直線32cは、点P1と点P4とを通る直線であり、モータ18Lがプラス方向で最大の120Nmを発生する範囲を示し、直線32dは、点P2と点P3とを通る直線であり、モータ18Lがマイナス方向で最大(換言すれば最小駆動力)の−120Nmを発生する範囲を示す。
参考に、各直線32a〜32dがシフトした直線33a〜33dを併記する。直線33aはモータ18Rが60Nmのトルクを発生させる範囲を示し、直線33bはモータ18Rが−60Nmのトルクを発生させる範囲を示し、直線33cはモータ18Lが60Nmのトルクを発生させる範囲を示し、直線33dはモータ18Lが−60Nmのトルクを発生させる範囲を示す。したがって、各モータ18L、18Rが±60Nmのトルクしか発生し得ない場合には、後輪トルク四角形30は、直線33a〜33dで囲まれる範囲に縮小することになる。
また、外部制御装置22からのトルク制限指令によっても後輪トルク四角形30は狭められる。TCS機能により左のモータ18Lのプラス方向のトルクが制限される場合には、図8に示すように、直線32cが原点方向に近づいて直線34cに移る。このとき、モータ18Lのプラスのトルクは幅50aで示される値に制限される。また、ABS機能により左のモータ18Lのマイナス方向のトルクが制限される場合には、図8に示すように、直線32dが原点方向に近づいて直線34dに移る。このとき、モータ18Lのマイナスのトルクは幅50bで示される値に制限される。元の直線32c及び32dが他の要因により原点の近くまで移動していて、幅50a及び50bが直線32c及び32dよりも原点から遠い箇所となっている場合には、外部制御装置22による実質的なトルク制限はなされないことはもちろんである。
換言すれば、モータ特性による現在の回転数の最大トルク値(図4から取得される。)と外部制御装置22からの最大トルク値の全ての中から最小値を選択して四角形の2辺を作成すればよい。
右のモータ18Rについても、外部制御装置22からのトルク制限指令があった場合には、同様に直線32a及び32bが原点方向に移動をする。
上述したように、モータ18L及び18Rは回転数等に応じて発揮可能な最大トルクが決まっていることから、動作要求を無制限に実現できる訳ではなく、後輪トルク四角形30の範囲内の動作点にしか対応ができないのである。また、後輪トルク四角形30は、直交座標系では必然的に45°傾斜の線による四角形となる。
このような後輪トルク四角形30を仮想の座標平面上に設定することにより、簡便且つ正確に車両の挙動要求値を満たす値を求めることができ、又は同時に全てを満たすことができない場合には、適切な動作点へ調定することができる。
次に、後輪トルク四角形30の領域内における動作点について説明する。
今、後輪要求トルクTr_req0が120Nmであるとする。該要求を図9の座標上に示すと縦方向の直線130となる。直線130は後輪トルク四角形30と交わっていることから、動作点を直線130上で且つ後輪トルク四角形30の範囲内に設定すれば、モータ18L及び18Rは要求の出力を発生させることができる。この要求を維持しながら、例えば、旋回力を0にしたければ点132aを動作点とし、左方向への旋回トルクを最大限に発生させたければ点132bを動作点とすればよい。
後輪旋回トルクNr_reqが180Nmであるとすると、該要求は横方向の直線134となる。直線130と直線134の交点132dは、後輪トルク四角形30の範囲外にある。この場合、動作点を後輪トルク四角形30の範囲内のいずれかの箇所から選択しなければならず、基本的には交点132dの近傍の点が望ましい。例えば、点132bを選択すると要求旋回トルクNreq0が満たされず、点132cを選択すると後輪要求トルクTr_req0が満たされないことになる。これは、モータトルクの限界や外部制御装置22からのトルク制限に起因して後輪トルク四角形30の面積が不十分なためである。このような場合には、後輪トルク四角形30の範囲内からいずれの点を選択するのかが重要である。この選択の処理(調定)については後述する。
次に、図10に基づき、後輪トルク四角形30の頂点座標P1〜P4の求め方について説明する。後輪トルク四角形30の頂点座標P1〜P4は、所定の選択点が該後輪トルク四角形30の範囲内にあるか否かを判断することに用いられる。
頂点座標P1〜P4が図10に示すように配置されているとする。頂点座標P1〜P4は(X、Y)=(Tr_req、Nr_req)で表される。Tr_req=Trr+Trlであり、Nr_req=Trr−Trlであることから、頂点座標P1〜P4は、
P1(Trr_max+Trl_max、Trr_max−Trl_max)、
P2(Trr_min+Trl_min、Trr_min−Trl_min)、
P3(Trr_max+Trl_min、Trr_max−Trl_min)、
P4(Trr_min+Trl_max、Trr_min−Trl_max)、
と表される。
後輪トルク四角形30の演算をする時点では各モータの発生可能な最大、最小トルクは既知であるので、4つの頂点座標P1〜P4は上式によって求められる。
次に、前輪トルク四角形31と、後輪トルク四角形30とを組み合わせて、車両10の全体として挙動の要求、Treq0及びNreq0をどのように反映させるかについて説明する。Treq0及びNreq0は、以下(9)式及び(10)式で表される。
Treq0=Tf_req+Tr_req=Tfl+Tfr+Trr+Trl … (9)
Nreq0=Nf_req+Nr_req=Tfr−Tfl+Trr−Trl … (10)
これらの(9)式及び(10)式は4元1次連立方程式であり、2式しか存在しないことから、解は座標平面上において、点や線ではなく、所定面積の平面となり得る。つまり、Treq0とNreq0の要求を満たす点は1点ではなく、平面状に広がり、数学的にはどの点を選択するかについて2つの自由度がある。
例えば、Treq0=100Nm、Nreq0=50Nmという要求があったとすると、(9)式及び(10)式に代入して得られる解は平面状となる。この解は、例えば第1解として、図11Aに模式的に示すように、Tfr=50Nm、Tfl=0Nm、Trr=25Nm、Trl=25Nmとなる。第2解としては、図11Bに模式的に示すように、Tfr=75Nm、Tfl=25Nm、Trr=0Nm、Trl=0Nmとなる。第3解としては、図11Cに模式的に示すように、Tfr=50Nm、Tfl=50Nm、Trr=25Nm、Trl=−25Nmとなる。
仮に、図12に示すように、前輪トルク四角形31上で動作点をB点(240、0)に設定し、Treq0=300(=240+60)Nm、Nreq0=60(=0+60)Nmとすると、Treq0とNreq0とを同時に満足する後輪トルク四角形30上の動作点はB’点(60、60)となる。逆に、後輪トルク四角形30上でB’点を動作点に設定しても前輪トルク四角形31上ではB点が動作点になる。
次に、前輪トルク四角形31内で動作点をF’点(60、60)に設定すると、Treq0とNreq0から後輪トルク四角形30上の動作点はF点(240、0)となる。逆に、後輪トルク四角形30上でF点を動作点に設定すると、前輪トルク四角形31上ではF’点が動作点になる。
つまり、Treq0とNreq0が既知であれば、前輪トルク四角形31が設けられる座標上の点と、後輪トルク四角形30上が設けられる座標上の点は1対1で対応している。
次に、後輪トルク四角形30上で動作点をO(0、0)に仮設定する。すると、前輪トルク四角形31での動作点は、Treq0とNreq0からO’点(300、60)となる。O’点は前輪トルク四角形31の外にあることから動作点として適当でない。このように、無計画に後輪トルク四角形30の領域内に動作点を設定しても、対応する動作点が前輪トルク四角形31の領域内に含まれない場合があり、前輪トルク四角形31及び後輪トルク四角形30のそれぞれの領域内に対応するように考慮して動作点を設定する必要がある。
ここで、図13に示すように、後輪反映四角形30aを設定する。後輪反映四角形30aは、後輪トルク四角形30に対応しており、前輪トルク四角形31と同じ座標上に設定される。後輪反映四角形30aは、後輪トルク四角形30を原点を中心にして点対称となるように座標変換した四角形であり、換言すればX軸(Tr_req)及びY軸(Nr_req)とも逆向きに設定したものである。
後輪反映四角形30aの原点O’のX座標はTreq0(ここでは300Nm)、Y座標はNreq0(ここでは60Nm)の位置に設定する。つまり、図12におけるO点とO’点が一致する。B点とB’点や、F点とF’点も一致することになり、後輪トルク四角形30と前輪トルク四角形31とを同じ座標上で扱うことが可能になる。後輪トルク四角形30を基準として、該後輪トルク四角形30が設けられた座標平面上に前輪トルク四角形31を反映させてもよいことはもちろんである。
ところで、前輪トルク四角形31及び後輪反映四角形30aがそれぞれある程度の大きさを有し、且つ、Treq0及びNreq0があまり大きくなければ、前輪トルク四角形31と後輪反映四角形30aが重なる解平面150が得られる。解平面150は通常は直角四角形であるが、条件によっては直線となり又は点となる。解平面150は、その時点のモータ14L、14R、18L、18Rの駆動能力の範囲内で前記の(9)式と(10)式を成立させることのできる解の範囲である。このことは、前輪トルク四角形31がモータ14L及び14Rのトルクの発揮範囲であり、後輪反映四角形30a及び後輪トルク四角形30がモータ18L及び18Rのトルク発揮範囲であることから明らかであろう。前輪トルク四角形31と後輪反映四角形30aが重ならない場合には解平面150は存在せず、その時点のモータ14L、14R、18L、18Rの駆動能力では要求のTreq0及びNreq0を両立させることはできない。
解平面150を求めた後、そのまま図13に示す状態で前輪トルク四角形31と後輪反映四角形30aとを用いて処理をしてもよいが、後輪反映四角形30aを図14に示す元の後輪トルク四角形30に戻す変換をしてから処理をしてもよい。
次に、図15に基づいて、解平面150における頂点座標P、R、S、Bの求め方について説明する。図15、図16、表1及びそれに関係する説明において、Tfr_max、Tfr_min、Tfl_max、Tfl_minについて、前輪トルク四角形31に係るものは添え字α、後輪反映四角形30aに係るものは添え字βを付けて区別する。
図15に示すように、解平面150は、4本の定トルク線で囲まれた領域である。そして各頂点の座標は定トルク線の交点の座標となる。つまり、解平面150を形成する4本の定トルク線を特定できれば、以下の演算により解平面150の頂点座標を求めることができる。
例えば、P点は、Tfr_maxαとTfl_minβの交点であるので、P点座標は、P((Tfr_maxα+Tfl_minβ)、(Tfr_maxα−Tfl_minβ))となる。これらの各パラメータは既知であることから、P点座標は容易に求まる。他のR、S、Bについても同様に求まる。
ところで、図16に示すように、前輪トルク四角形31及び後輪反映四角形30aはそれぞれ4本の定トルク線からなり、合計8本の定トルク線があるうち、解平面150を形成する4本を特定する必要がある。この8本の定トルク線を次の表1にまとめる。この表1は、図16の8本の定トルク線を左右のトルクに分けて大きい順番に並べたものである。
表1において解平面150を構成する4本の定トルク線を太枠で囲って示す。表1を見て分かるようにも解平面150は右トルク定トルク線の2番目と3番目、左トルク定トルク線の2番目と3番目の4本で構成されている。これは前輪トルク四角形31と後輪反映四角形30aがどのように重なり合っても常に成り立つ。つまり8本ある定トルク線のうち解平面150を形作る4本の定トルク線は、左右に分けた定トルク線を大きい順番に並べた時に、2番目と3番目の定トルク線である。ただし、解平面150が存在しない場合にはこの考え方は適用されないことはもちろんである。
次に、駆動力制御装置20において行う制御内容について図17を参照しながら説明する。駆動力制御装置20では、先ずアクセルペダル、ハンドル、車速、加速度、各モータの回転数、バッテリ電圧、バッテリ温度等を検出し、これらのパラメータに基づいて、少なくとも2つの走行要求条件を設定する。すなわち、要求車両駆動トルクTreq0、要求旋回トルクNreq0のパラメータである。
ここで、Treq0=150Nm、Nreq0=90Nmであるとする。また、バッテリが十分に充電されていて、外部制御装置22からのトルク制限がなく、且つ低速(各モータが低回転)で走行している状態について説明する。
図17のステップS1において、駆動力制御装置20のトルク四角形作成部110では、その時点の各モータ14L、14R、18L、18Rが発生し得るトルク(この場合、±120Nm)を演算して、前輪トルク四角形31及び後輪トルク四角形30を設定し、さらに後輪トルク四角形30を投影した後輪反映四角形30aを設定する。ここでは、各モータ14L、14R、18L、18Rは、それぞれ±120Nmを発生し得ることから、後輪トルク四角形30、後輪反映四角形30a及び前輪トルク四角形31はそれぞれ最大面積となり、X軸及びY軸について、±240Nmの点を結ぶ四角形となる。
ステップS2において、次に、図18に示すように、Treq0=150Nm及びNreq0=90Nmの条件に基づいて、前輪トルク四角形31に対して後輪反映四角形30aを適正な位置に配置する。つまり、後輪反映四角形30aの原点を前輪トルク四角形31を基準としたX(Tf_req)−Y(Nf_req)座標における(150、90)の位置に原点が合うように、後輪反映四角形30aを配置する。
ステップS3において、前輪トルク四角形31と後輪反映四角形30aとの重なる解平面150が存在するか否かを判断する。解平面150が存在する場合には、次のステップS5へ移り、解平面150が存在しないときには、ステップS4における調定処理を行う。調定処理については後述する。
ステップS5において、解平面150における4つの頂点160p、160q、160r及び160sを前記の手順により求める。
ステップS6において、解平面150における4つの頂点160p、160q、160r及び160sの情報を保持したまま後輪反映四角形30aを元の後輪トルク四角形30に戻す。図19A及び図19Bに解平面150の情報を含む前輪トルク四角形31及び後輪トルク四角形30を示す。後輪トルク四角形30においては、前輪トルク四角形31における頂点160p、160q、160r及び160sと区別するために、対応する順に頂点160p’、160q’、160r’及び160s’と表す。
ステップS7において、解選択平面(解選択領域)164(図20A参照)を抽出する。解選択平面164は、解平面150から動作点として適当でない領域を除外した平面である。具体的には、解選択平面164は、前輪側の合計駆動力(つまりTf_req)又は後輪側の合計駆動量(つまり、Tr_req)の符号がTreq0の符号と異なる領域、及び、前輪側の旋回駆動力(つまり、Nf_req)又は後輪側の旋回駆動力(つまり、Nr_req)の符号がNreq0の符号と異なる領域を前記重畳部から除外した残余の領域である。
上記の通り、解平面150は、Treq0及びNreq0の要求を満足する領域であることから、理論上ではこの解平面150におけるいずれの箇所を動作点として選んでもよいのだが、実際には動作点としてあまり適切でない箇所もある。このことについて説明する。
例えば、前輪で最大のトルクを発揮させたいという要求があった場合には、なるべくその要求に近づけるため、前輪トルク四角形31において、Tf_reqが最大になる点を動作点に選択するということであるから、図19Aの頂点160q(及び図19Bの頂点160q’)が選択され、Tfl=Tfr=120Nm、Trl=−90Nm、Trr=0Nmとなる。
後輪で最大のトルクを発揮させたいという要求があった場合には、なるべくその要求に近づけるため、後輪トルク四角形30において、Tr_reqが最大になる点を動作点に選択するということであるから、図19Bの頂点160s’(及び図19Aの頂点160s)が選択され、Tfl=−90Nm、Tfr=0Nm、Trl=Trr=120Nmとなる。
前輪で最大の旋回トルクを発揮させたいという要求があった場合には、前輪トルク四角形31において、Nf_reqが最大になる点を動作点に選択するということであるから、図19Aの頂点160p(及び図19Bの頂点160p’)が選択され、Tfl=−90Nm、Tfr=120Nm、Trl=120Nm、Trr=0Nmとなる。
後輪で最大の旋回トルクを発揮させたいという要求があった場合には、後輪トルク四角形30において、Nr_reqが最大になる点を動作点に選択するということであるから、図19Bの頂点160r’(及び図19Aの頂点160r)が選択され、Tfl=120Nm、Tfr=0Nm、Trl=−90Nm、Trr=120Nmとなる。
ところで、今、Treq0=150Nm>0であることから、車両10としては前方に進む要求となっているが、図19Aの頂点160s(及び図19Bの頂点160s’)では、前のモータ14Lがマイナスのトルク、つまり制動力を発生させており、それを補うために他のモータがより大きいトルクを発生させており、適当ではない。換言すれば、前輪が制動力を発揮するのは、図19Aで、Y軸を基準としてX(Tf_req)<0である除外範囲162aであり、該除外範囲162aは動作点として適当でない。除外範囲162aを右下がりの密のハッチングで示す。
同様に、図19Bの頂点160q’(及び図19Aの頂点160q)では、後ろのモータ18Lが制動力を発生させており、それを補うために他のモータがより大きいトルクを発生させており、適当ではない。換言すれば、後輪が制動力を発揮するのは、図19Bで、Y軸を基準としてX(Tr_req)<0である除外範囲162bであり、該除外範囲162bは動作点として適当でない。除外範囲162bを右下がりの粗いハッチングで示す。
さらに、今、Nreq0=90Nm>0であることから、車両10としては左に旋回する要求となっているが、図19Aの頂点160r(及び図19Bの頂点160r’)では、前のモータ14L及び14Rは、右旋回方向のトルクを発生させており、それを補うために後ろのモータ18L及び18Rがより大きい旋回トルクを発生させており適当でない。換言すれば、前輪が右旋回力を発揮するのは、図19Aで、X軸を基準としてY(Nf_req)<0である除外範囲162cであり、該除外範囲162cは動作点として適当でない。除外範囲162cを右上がりの密のハッチングで示す。
同様に、図19Bの頂点160p’(及び図19Aの頂点160p)では、後ろのモータ18L及び18Rが右旋回方向のトルクを発生させており、それを補うために前のモータ14L及び14Rがより大きいトルクを発生させており、適当ではない。換言すれば、後輪が右旋回力を発揮するのは、図19Bで、X軸を基準としてY(Nr_req)<0である除外範囲162dであり、該除外範囲162dは動作点として適当でない。除外範囲162dを右上がりの粗いハッチングで示す。
このような除外範囲162a〜162dは、解平面150内に含まれていても、動作点として適当ではないことから、該除外範囲以外から動作点を選択すればよい。
図20Aには、前輪トルク四角形31の解平面150において、除外範囲162a及び162cに加えて、除外範囲162b及び162dを反映させた状態を示し、図20Bには、後輪トルク四角形30の解平面150において、除外範囲162b及び162dに加えて、除外範囲162a及び162cを反映させた状態を示す。図20A及び図20Bに示すように、解平面150から、除外範囲162a〜162dを除外した残余は、解選択平面164となり、該解選択平面164の範囲(枠線を含む)内から動作点を選択すればよい。このような解選択平面164では、駆動力のロスやモータへの負荷を減らすことができる。図20A及び図20Bでは、解選択平面164は四角形であるが、条件によっては多角形になり得る。
このようにしてステップS7において解選択平面164を求めた後、ステップS8へ移る。
ステップS8において、付帯要求に基づいて解選択平面164を制限する。付帯要求とは、例えば、左右の前輪12において最低でも60Nmを発生させたいという要求であり、この場合、図20A及び図20Bにおける付帯要求線166を設定し、付帯要求除外範囲164bを除外すると残余の解選択平面164aが得られることから、以下の処理では該解選択平面164aを解選択の範囲とすればよい。付帯要求がないときには、ステップS8を省略してよい。以下の説明では、理解を容易にするため付帯要求はないものとする。
なお、前輪と後輪とのトルクの要求前後配分比は、付帯要求線166と同様の縦線で表すことができる。したがって、Treq0、Nreq0及び要求前後配分比の3つの要求を満足するのは、解平面150と該要求前後配分比を示す縦線との重畳部(図示せず)であり、この重畳部から動作点を選択してもよい。解選択平面164と要求前後配分比を示す縦線との重畳部から動作点を選択するとさらによい。
ステップS9において、動作点の選択条件の有無について判断し、該動作点の選択条件がある場合にはステップS10へ移り、ない場合にはステップS11へ移る。
ステップS10において、選択条件に基づいて解選択平面164から動作点を一点選択する。例えば、前輪で最大のトルクを発揮させたいという選択条件があった場合には、なるべくその要求に近づけるため、図21Aに示すように、前輪トルク四角形31の解選択平面164においてX軸(Tf_req)が最も大きい縦直線分170a上の任意の一点を選択する。なお、前輪トルク四角形31の図21Aと後輪トルク四角形30の図21Bでは対応する箇所を同符号で表している。
この場合、仮に、前輪12では旋回アシストを行わない(Nf_req=0)という選択条件があると、動作点はX軸と縦直線分170aとの交点である点172aとなる。
また、仮に、前輪12において最大の旋回アシストを行うという選択条件があると、縦直線分170a上でNf_reqの最も大きい点172bが動作点となる。
一方、後輪で最大のトルクを発揮させたいという選択条件があった場合には、なるべくその要求に近づけるため、図21Bに示すように、後輪トルク四角形30の解選択平面164においてX軸(Tr_req)が最も大きい縦直線分170b上の任意の一点を選択する。
この場合、仮に、後輪では旋回アシストを行わない(Nr_req=0)という選択条件があると、動作点はX軸と縦直線分170bとが重なる点172cとなる。
また、仮に、後輪において最大の旋回アシストを行うという選択条件があると、縦直線分170b上でNr_reqの最も大きい点172dが動作点となる。
図21A及び図21Bには、点172a〜172dに対応して、各モータの発生するトルクをベクトルで模式的に示す。これらのベクトルの絶対値を図19A及び図19Bにおけるベクトルの絶対値と比較すると全体的に相当に小さくなっていることが理解されよう。ステップS10では、一般的には解選択平面164を構成する枠上の一点又はいずれかの頂点が選択されることになる。ステップS10の後、ステップS12へ移る。
一方、ステップS11においては、選択条件が存在しないことから解選択平面164内の任意の点を選択可能なのであるが、ここでは、解平面150から最も使用電力が少ない箇所を選び出して動作点とする方法について説明する。
図22に示すように、モータは回転数と出力トルクに応じてエネルギー効率が変化する。一般的には、低回転域や高回転域ではエネルギ効率が低い。したがって、図22の効率に基づいて、各モータをなるべく高効率の箇所で運転するとエネルギ消費量が少なくなり、好適である。このため、駆動力制御装置20は、図22に示す効率を示すマップ176を有しており、所望の回転数及びトルクに応じたエネルギ効率を検索可能となっている。マップ176は所定の記録部に記録されている。マップ176は、モータ単体のエネルギ効率を示すものに限らず、周辺装置(例えばインバータや減速機)等を含めた効率のマップでもよい。マップ176は、各モータ14L、14R、18L、18Rに個別に設けておくとよい。これにより、走行状態に応じて適切に4つのモータの出力配分を決定することができる。
マップ176は、実験、計算及びシミュレーション等によって得られる。マップ176は、各モータの駆動時のエネルギ効率を示すが、回生時のエネルギ効率のマップについても同様に設けておく。
図23Aに示すように、前輪トルク四角形31における解平面150を、該解平面150の面積に応じて、直交する複数の45°の線で格子状に区分けする。
次に、格子の枡毎に前輪のモータ14L及び14RのトルクTfl及びTfrを求める。これらのトルクTfl及びTfrは、前記の(7)式及び(8)式によって求めてもよいし、斜め45°の直交座標R(+)及びL(+)(図5参照)に基づいて読み取ってもよい。
さらに、各枡のトルクTfl及びTfrに基づいて、モータ14L及び14Rのエネルギ効率をマップ176から求める。マップ176の横軸の回転数は、モータ14L及び14Rの現在の回転数又は微小時間後の推定回転数とすればよい。マップ176を参照して求められたモータ14L及び14Rの電力消費量を各枡に対応する記録部に記録する。なお、トルクTfl及びTfrの符号と、現在のモータ14L及び14Rの回転方向に基づいて判断を行い、モータ14L及び14Rが回生を行う場合には回生用のマップを参照し、消費電力ではなく回生電力を求める。この場合対応する枡にはマイナス値が記録される。
一方、図23Bに示すように、後輪トルク四角形30における解平面150についても同様に格子状の区分けを行い、さらに上記と同様の処理を行う。すなわち、枡毎に後輪のモータ18L及び18RのトルクTrl及びTrrを求め、モータ18L及び18Rのエネルギ効率をマップ176から求める。回生時についても同様である。
この後、図23Aの前輪トルク四角形31における解平面150に対応したモータ14L及び14Rについての消費電力の記録と、図23Bの後輪トルク四角形30における解平面150に対応したモータ18L及び18Rについての消費電力の記録とを、対応する枡毎に加算する。例えば、図23Aにおける頂点160pに対応した枡のモータ14L及び14Rの消費電力の和と、図23Bにおける頂点160p’に対応した枡のモータ18L及び18Rの消費電力の和とを足し合わせる。この加算は全枡について行う。
このようにして、解平面150における各枡の全てについて、モータ14L、14R、18L及び18Rの合計消費電力が求められるので、このうち最も値が小さい点を動作点として選択すればよい。
なお、この例では、解平面150全体を対象としてエネルギ効率を求めているが、例えば、解選択平面164に限定して同様の処理をしてもよいことはもちろんである。解選択平面164は、もともとエネルギ効率の高い箇所を抽出することを1つの目的として得られた平面だからである。この場合、予め求めた解選択平面164が有効利用されるとともに、処理範囲が限定されて処理速度が向上する。
また、上記の例では、予め解平面150を相当に細かく区分けしてから消費電力を求めるようにしているが、例えば、当初はある程度粗い区分けにして、粗い枡毎の代表的な合計消費電力を求め、その値が最も小さい枡、又は値の小さいいくつかの枡についてさらに細分化して合計消費電力を求めてもよい。これにより、処理の高速化を図ることができる。このステップS11の後、ステップS12へ移る。
なお、最終的な動作点の選択は、基本的には上述した各ルールに基づいて選択すればよいが、時間的連続性を考慮して、前回出力値又は所定時間の出力平均値に対する変動制限処理又は適当なフィルタ処理等を設けてもよい。
ステップS12においては、各モータトルク演算部108(図2参照)において、動作点に基づいて各モータ14L、14R、18L、18Rに対するトルクTfl、Tfr、Trl及びTrrを求める。すなわち、前輪トルク四角形31上で設定された動作点に基づき、前記の(7)式及び(8)式からトルクTfl及びTfrを求め、後輪トルク四角形30上で設定された動作点に基づき、前記の(3)式及び(4)式からトルクTrl及びTrrを求める。
このようにして求められた、トルクTfl、Tfr、Trl及びTrrは、各モータのドライバに対して出力し、図17に示す今回の処理を終了する。
一方、前記のステップS4では、解平面150が存在しないことから、2つの要求Treq0、Nreq0の少なくとも一方は満たされないことになり、いずれかの動作点で代用させる必要が生じるのである。本願ではこの処理を調定と呼び、ステップS4の処理を行う。調定では、基本的には、後輪反映四角形30aを移動させて、前輪トルク四角形31との重畳部を設けるが、諸条件に応じてその選択手順が異なる。
以下、前記ステップS4における調定の手順について図24〜図29を参照しながら説明する。調定については第1調定から第5調定があり、順番に判断をする。
図24のステップS101において、事前調整の必要性有無の判断を行う。事前調整が不要である場合には、ステップS103へ移り、事前調整が必要である場合にはステップS102において事前調整を行う。ステップS102の事前調整については後述する。
この後の調定処理では、先ず最初に2つの要求のうちTreq0を優先し、Nreq0についてはある程度の変更を許容する(ステップS103〜S106)。これは、Treq0は車両10の前後方向の加減速に関わり、乗員が最も知覚し易く、しかも要求の程度が高いことが多いからである。これに対して、Nreq0は旋回要求であり、Treq0に比較すれば要求の度合いが低いことが多い。また、車両10は左右輪でトルク差を設けて旋回性能を向上させる機能を有しているが、そのような機能のない他の車両では操舵により前輪又は後輪の向きを変えて旋回をさせているのである。
つまり、左右輪にトルク差を設けることは、車両10の旋回にとって必ずしも必須の要件ではないのであり、Nreq0に対する変更は許容される。もっとも、Nreq0についても変更量が小さくなるように考慮する。
ステップS103の第1調定処理では、外部制御装置22から供給される情報を確認し、スプリットμ路面の走行中であるか否かを判断する。スプリットμ路面の走行中であるときには、例外的な第1調定処理として、該路面から可及的速やかに抜けてトラクションを確保するために要求車両駆動トルクTreq0を満足するように設定をする(ステップS104)。スプリットμ路面の走行中でないときには、ステップS105へ移る。
ステップS105の判断処理では、Treq0を維持させた場合におけるNreqの変化を調べ、該Nreqが同符号で絶対値が減少しているときにはステップS106へ移り、それ以外のとき(Nreqが同符号で絶対値が増加し、又は符号が反転しているとき)にはステップS107へ移る。
Treq0を維持させる場合とは、図25、図26、図27及び図28に示すように、後輪反映四角形30aをY軸方向に平行移動させることに相当する。図25及び図26のような場合には、Nreqが同符号(0を含む)であり且つ絶対値が減少していることからステップS106へ移り、図27及び図28のような場合には、Nreqの値が符号反転し、若しくはNreqの値の絶対値が増加しているのでステップS107へ移る。
具体的には、後輪反映四角形30aを前輪トルク四角形31に接するまでY軸方向に平行に移動させたときに、後輪反映四角形30aがX軸に接近していることを確認する。つまり、|Nreq0|≧|Nf_req+Nr_req|で、且つNreq0と(Nf_req+Nr_req)が同符号であればステップS106へ移り、|Nreq0|<|Nf_req+Nr_req|であり、又は、Nreq0と(Nf_req+Nr_req)の符号が異なればステップS107へ移る。
|Nreq0|≧|Nf_req+Nr_req|で、且つNreq0と(Nf_req+Nr_req)が同符号の場合(つまり、図25及び図26に示す場合)には、当初要求のNreq0を実現することはできないが、旋回トルクの変更は減少方向且つ同符号を維持した(又は0になる)変更であり、乗員にとってほとんど違和感がない場合であり、ステップS106へ移り第2調定処理とする。
一方、図27は、外部制御装置22の作用下にモータ14Lのプラス方向のトルクが制限されて、直線32cが直線34cに移り、前輪トルク四角形31が長方形となる場合で、Nreq0がマイナス(右旋回要求)のときである。このようなときにはNreq0と(Nf_req+Nr_req)が異符号となることがある。つまり、移動前後の後輪反映四角形30aの原点OがX(Tr_req)軸に関して上下に分かれている場合である。このような場合には、乗員の旋回要求と逆向きの旋回トルクを発生させることになり妥当ではなく、ステップS107以降の処理を行うことになる。
また、図28は、外部制御装置22の作用下にモータ14Lのプラス方向のトルクが制限されていて、直線32cが直線34cに移り、前輪トルク四角形31が長方形となる場合で、Nreq0が比較的小さいときである。このようなときには、旋回要求であるNreq0よりも大きい旋回力が発生してしまうことになり妥当でなく、ステップS107以降の処理を行うことになる。
ステップS106の第2調定処理では、図25に示すように、後輪反映四角形30aをY軸方向に平行に移動させて、該後輪反映四角形30aの一辺を前輪トルク四角形31の一辺に当接させ、重畳部としての線分180を得るので、該線分180上の任意の一点を動作点として選択すればよい。例えば、線分180の両端点のいずれか一方を選択すると、選択処理が簡便である。前輪で最大トルクを発揮させたい要求があるときは、X軸の大きい点180aを選択し、後輪で最大トルクを発揮させたい要求があるときは、X軸の小さい点180bを選択するとよい。また、前記ステップS11の処理に準じて、線分180を複数区分に分割し、各区分のエネルギ消費量の最も少ない箇所を動作点として選択してもよい。
ここで、X軸方向に関しては前輪トルク四角形31と後輪反映四角形30aとの相対位置が変わらないことからTreq0(=Tf_req+Tr_req)は維持される。一方、Y軸方向に関しては、後輪反映四角形30aがNyだけ移動をしていることから、当初の要求であるNreq0は維持されず、線分180の動作点で得られる旋回トルクは、Nreq=Nreq0−Nyとなる。
前輪トルク四角形31と後輪反映四角形30aとの重畳部は、線状である必要はなく、条件(例えば、前記のステップS102における事前調整を行った場合)によっては、図26に示すように点であってもよい。つまり、後輪反映四角形30aのいずれかの頂点と後輪反映四角形30aのいずれかの頂点とを一致させ、その点182を動作点として選択すればよい。
このように、後輪反映四角形30aを移動させるのは、Treq0とNreq0を同時に4つのモータで満足する事ができない場合であり、そのような場合はTreq0かNreq0のどちらか一方若しくは両方を(4つのモータで満足できるように)変更する必要がある。換言すれば、変更する必要があるのはあくまでTreq0とNreq0であり、ここで反映四角形の原点が(Treq0、Nreq0)であることを利用している。
つまり、Treq0を減らすという事は後輪反映四角形30aの原点を座標平面上で左に移動するということに相当し、Nreq0を減らすという事は後輪反映四角形30aの原点を座標平面上で下方に移動するということに相当する。すなわち、後輪反映四角形30aを移動する事自体が目的ではなく、Treq0とNreq0を変更することが目的であって(変更量は解平面ができるように)、後輪反映四角形30aを移動するのは、説明の便宜上、解平面150ができるか否かを視覚的に確認し易くするためである。
なお、第1調定処理及び第2調定処理までは、要求車両駆動トルクTreq0を確実に維持することになる。
ステップS107の判断処理では、Treq0を維持させた場合におけるNreqの変化を調べ、該Nreqの符号が反転しているとき(例えば、図27に示す場合)にはステップS108へ移り、それ以外のとき(つまり、Nreqが同符号で増加しているときで、例えば図28に示す場合)にはステップS109へ移る。
具体的には、後輪反映四角形30aを前輪トルク四角形31に接するまでY軸方向に平行移動させたときに、該後輪反映四角形30aの移動後のNreq=Nf_req+Nr_reqとNreq0とを比較し両者が同符号であることを確認する。つまり、Nreq0>0、且つ、Nreq>0であるか、若しくは、Nreq0<0、且つ、Nreq<0であればよい。符号判断方法はこれに限らず、例えば、Nreq0×Nreq>0を判断基準としてもよい。 ステップS108においては、第3調定処理として、Nreq=0として保持する。つまり、図29の矢印B1で示すように、先ず、Treq0を維持したままNreq0=0となるように、後輪反映四角形30aの原点がX軸に達するまでY軸に平行に移動する。この状態でも、前輪トルク四角形31と後輪反映四角形30aとは重畳部が存在しないことから、さらに矢印B2で示すように、その時点のNreqを維持したまま後輪反映四角形30aをX軸方向に平行に移動させて、該後輪反映四角形30aの一辺を前輪トルク四角形31の一辺に当接させ、重畳部としての線分190を得る。
ステップS109の判断処理では、Nreq0を維持させた場合(つまり、後輪反映四角形30aを前輪トルク四角形31に接するまでX軸方向に平行に移動させた場合)のTreqの変化を調べる。このとき、Treqが同符号で絶対値が減少していればステップS110へ移り、それ以外のときにはステップS111へ移る。
ステップS110は第4調定処理である。このステップS110では、図28のように、Treqを維持させるとNreqが大きくなってしまう場合を対象としており、2つの要求のうちNreq0を優先し、Treq0については変更を許容する調定をする。つまり、図30に示すように、後輪反映四角形30aをX軸方向に平行に移動させて、該後輪反映四角形30aの一辺を前輪トルク四角形31の一辺に当接させ、重畳部としての線分186を得るので、該線分186上の任意の一点を動作点として選択すればよい。
ステップS111では、Treq0維持でNreqが増加し、且つNreq0維持でTreqが増加若しくは符号が反転する場合である。このような組合わせは、実際にはあり得ないので、第5調定処理として、無条件にTreq=0及びNreq=0と設定する。
ステップS104、S106、S108、S110及びS111の後、図24に示す一連の調定処理が終了し、図17のステップS5へ移ればよい。
次に、前記ステップS102の事前調整について説明する。事前調整では、例えば、図31に示すように、前輪トルク四角形31と当初の位置の仮想線で示す後輪反映四角形30aがX軸方向に相対的に相当に離れている場合に適用する。上記の調定では、Treq0を可及的に維持させるために後輪反映四角形30aをY方向に移動させて前輪トルク四角形31に対する重畳部を設けた。しかしながら、図31に示す場合には、仮想線の後輪反映四角形30aをY軸方向に平行に移動させても、前輪トルク四角形31と重畳しない。このような場合には、矢印A1で示すように、事前調整として後輪反映四角形30aをX軸方向に平行に移動させ、後輪反映四角形30aの左頂点178a’が前輪トルク四角形31の右頂点178bの上方の頂点178aに達するまで移動させておく。
また、図32に示すように、例えば、当初の位置の実線で示す後輪反映四角形30aが前輪トルク四角形31に対して右下方向に相対的に相当に離れている場合にも事前調整を適用する。なぜなら、後輪反映四角形30aを矢印A2で示すようにY軸と平行に移動させて仮想線の位置に配置させても、矢印A3で示すようにX軸と平行に移動させて破線の位置に移動させても前輪トルク四角形31に重畳しないからである。
この場合、図33の矢印A4で示すように、事前調整として後輪反映四角形30aを当初の位置(図32参照)よりも左上方向の適正位置まで移動させておく。これにより、後輪反映四角形30aを矢印A5で示すようにY軸と平行に(つまり、その時点のTreqを維持させて)移動させて仮想線の位置に配置させても、矢印A6で示すようにX軸と平行に(つまり、その時点のNreqを維持させて)移動させて破線の位置に移動させても前輪トルク四角形31に対して少なくとも頂点同士を重畳させることができる。ステップS102の後、ステップS103へ移る。
上述したように車両10は、4輪に対して個別のモータ14L、14R、18L、18Rを有しており、各輪に対して発生可能なトルクの範囲内で自由にトルク設定をすることができ、制御自由度が高い。一方、モータを用いる車両としては、車両10のように4輪を4つのモータで独立的に制御をするものに限らず、3以下のモータを用いるものも開発研究がなされている。本発明及び本実施の形態は、このような3以下のモータを用いる車両についても適用が可能であるので、以下いくつかの例について説明する。
先ず、第1変形例として、本実施の形態を3つのモータを備える車両200について適用した例について説明する。以下の例では、車両10や駆動力制御装置20における構成要素と同様の要素については同符号を付して、その詳細な説明を省略する。
図34に示すように、車両200は、左右の前輪12L、12Rを前モータ14で駆動し、左の後輪16Lをモータ18Lで駆動するとともに、右の後輪16Rをモータ18Rで駆動するものとする。この車両200は、前記の車両10と同様に、後輪については左右輪に対してトルク配分をして旋回力を発生し得るが、前輪12L、12Rについては左右輪が同じトルクを発生させるので、操舵効果以外に旋回力を生じ得ない。この車両200は、機構的には前記の車両910(図45参照)と同様である。
つまり、図35に示すように、Nf_reqは常に0になり、前モータ14で発生するトルク範囲は、X軸(Tf_req)に一致する線分202で表される。図35では、対比用に前記車両10における前輪トルク四角形31を仮想線で示している。後輪反映四角形30aは前記の場合と同様である。ここでは、前モータ14を仮想的に同トルクを発生する2つのモータに分け、前輪12L及び12Rを個別に駆動するように考える。例えば前モータ14が±120Nmのトルクを発生するとき、仮想の2つのモータは、同トルクで±60Nmのトルクを発生するものと仮定する。
この場合、図35に示すように、先ず仮に、前輪トルク四角形31と後輪反映四角形30aを用いて前記と同様の処理(調定処理を含む)を行い、解の範囲を示す、解平面150(又は、解選択平面164、線分180、又は点182)を求める。
この後、選択された解平面150(又は、解選択平面164、線分180、点182)に対して、図36に示すように、「2モータ/3モータ/4モータ切替信号」に基づく信号が「3モータ」であるとき、動作点選択部126において解の限定を行えばよい。つまり、動作点選択部126では、単に「Nf_req=0」という条件を付加して、解を限定すればよい。図35では、解平面150とNf_req=0を示す線分202との重畳部である限定線分204(図35では、線分202と重ならないようにややシフトして示す。)がTreq0及びNreq0を満足する領域となる。
したがって、動作点としては限定線分204の任意の点を選択すればよく、例えば、前輪で最大トルクを発揮させたい要求に応じて端点204aを選択し、又は、前記ステップS11の処理に準じて、エネルギ消費量の最も少ない箇所を選択すればよい。
この後、後輪反映四角形30aは再変換して、図37に示す後輪トルク四角形30に戻して処理をするとよい。
ここで、前輪の左右輪が発生する合計トルクつまり、前モータ14が発生するトルクをTfとすると、Tf、Trr及びTrlは、次の(11)式及び(12)式で表される。
Treq=Tf+Trr+Trl …(11)
Nreq=Trr−Trl …(12)
これは、3元連立方程式であり、2つの式しかないので解は直線となり、図35及び図37における限定線分204に相当することが理解されよう。
また、動作点選択ロジックでNf_reqの動作点を選択するためには、解平面150の中にNf_req=0の動作点が必ず存在することを保証しなければならない。これは、Nreq0の要求は全て後輪で負担できるようにしておき、前輪Nreq(つまり、Nf_req)を0にできるようにしておかなければならない。つまり、図36に示すように、Nreq0リミッタ206を設けておき、Nreq0をNr_reqの最大値以下となるように予め調整しておけばよい。
なお、Treq0及びNreq0を満足する領域は、線分状ではなく点となる場合もある。
なお、車両200は、前輪側が共通の前モータ14を用いているが、逆に、後輪側に共通モータを適用して、左右の前輪を個別のモータで駆動する車両(図示せず)についても本発明が適用可能であることはもちろんである。この場合、後輪反映四角形30aをX軸に平行な線分で置き換えて適用すればよい。
次に、第2変形例として、本実施の形態を2つのモータを備える車両210について適用した例について説明する。
図38に示すように、車両210は、左右の後輪16L、16Rには駆動源がなく、左の前輪12Lをモータ14Lで駆動するとともに、右の前輪12Rをモータ14Rで駆動するものとする。この車両210は、前記の車両10と同様に、前輪については左右輪に対してトルク配分をして旋回力を発生し得るが、後輪16L、16Rについては前後方向の駆動力及び旋回力(操舵効果を除く)を生じ得ない。
つまり、図39に示すように、Tr_req及びNr_reqは常に0になり、形式上は、後輪16L、16Rで発生するトルク範囲は、後輪反映四角形30aの原点である点212で表され、実際にはトルクを発生しない。この点212のX軸値がTreq0、Y軸値がNreq0を示す。図39では、対比用に前記車両10における後輪反映四角形30a及び解平面150を仮想線で示している。前輪トルク四角形31は前記の場合と同様である。
この場合、前記の車両10における制御手法で動作点を決定することができる。これにより、後輪反映四角形30aはなくなる。また、Tf_req=Treq0、Nf_req=Nreq0となることから、前輪トルク四角形31だけを考慮すればよく、しかもTreq0とNreq0だけで動作点が1点に限定されるため、調定処理は必要なものの、動作点選択ロジックは不要になる。
ここで、車両210におけるTfr及びTflは、次の(13)式及び(14)式で表される。
Treq=Tfr+Tfl …(13)
Nreq=Tfr−Tfl …(14)
これは、2元連立方程式であり、2つの式が存在することから、解は点となり、図39における点212に相当することが理解されよう。
なお、車両210は、前輪側にモータ14L、14Rが設けられているが、逆に、後輪側にモータ18L、18Rを適用して、左右の前輪の駆動源を省略した車両(図示せず)についても本発明が適用可能であることはもちろんである。この場合、前輪トルク四角形31原点にある点と置き換えて適用すればよい。
次に、第3変形例として、本実施の形態を2つのモータが対角状に配置された車両220について適用した例について説明する。
図40に示すように、車両220は、左前の車輪12L、及び右後ろの車輪16Rには駆動源がなく、右前の前輪12Rをモータ14Rで駆動するとともに、左後ろの車輪16Lをモータ18Lで駆動するものとする。
この車両220の場合、図41に示すように、モータ14Rのトルク発生範囲は、前輪トルク四角形31における原点を通る右上がり45°の線分222で表され、モータ18Lのトルク発生範囲は、後輪反映四角形30aにおける原点を通る右下がり45°の線分224で表され、Treq0及びNreq0は、後輪反映四角形30aの原点226で表される。選択する動作点は線分222と線分224の交点228になる。
次に、第4変形例として、本実施の形態を3つのモータが配置された車両230について適用した例について説明する。
図42に示すように、車両230は、左前の車輪12Lには駆動源がなく、右前の車輪12Rをモータ14Rで駆動し、後ろの車輪16L及び16Rをモータ18L及び18Rで駆動するものとする。
この車両230の場合、図43に示すように、モータ14Rのトルク発生範囲は、前輪トルク四角形31における原点を通る右上がり45°の線分222で表され、モータ18L及び18Rのトルク発生範囲は、後輪反映四角形30aで表され、Treq0及びNreq0は、後輪反映四角形30aの原点226で表される。選択する動作点は線分222と後輪反映四角形30aの重畳部の線分232(図43では、線分222と重ならないようにややシフトして示す。)上のいずれか1点である。
上記した駆動力制御の方法は、前輪又は後輪を駆動するモータを少なくとも1つ有するとともに、前輪の左右輪又は後輪の左右輪の少なくとも一方の組が前後方向の駆動力及び旋回方向の駆動力を発生させる車両に対して適用可能であり、基本的には、同じ駆動力制御装置20、及び同じソースプログラムを利用することができる。例えば、所定の状況判断によるプログラム自身による機能切換、スイッチ切換指示、ジャンパ線による切換指示、又は条件変更による再コンパイルにより、各種の車両に適用できる。
ところで、前記の車両10等において、不測の事態により1以上のモータが動作しなくなり、又はモータから車輪に動力伝達がなされなくなった場合に、車両220及び230等を想定した制御に切り換えることにより、走行を継続させるようにしてもよい。また、前記の外部制御装置22によるトルク制限と同じ手法により、車輪に駆動力が伝達されなくなった箇所のモータに対するトルク制限を0としてもよい。
上述したように、本実施の形態に係る駆動力制御装置20によれば、前後、左右で独立にモータが設けられた場合においても、乗員による操作や車両状態に基づく挙動要求Treq0とNreq0が与えられた場合に、該挙動要求を満足する駆動力を出力を適切に設定することができる。
また、2つの要求(要求車両駆動トルクTreq0、左右配分要求Nreq0)を同時に受け入れ、且つ各モー夕のそれぞれのトルク制限値を考慮しながら、各モータの発揮トルクを算出することができる。
また、XY座標平面上の後輪トルク四角形30を用いて、簡便且つ正確に車両挙動要求値を満たす値を求めることができ、又は同時に全てを満たすことができない場合には、適切な動作点へ調定することができる。
さらに、いずれかのモー夕が、何らかの理由(車両状態の制御手段からのトルク制限やバッテリ電圧低下等)で発生可能トルクが制限されても、乗員の望む車両挙動を満たすように各モ−夕のトルクが自動的に演算される。
さらにまた、乗員の望む車両挙動を満足できない場合は、あらかじめ決められた調定手法に則り、各モー夕のトルクを適切に決定することができる。
上述したように、本実施の形態に係る駆動力制御装置20によれば、前輪又は後輪を駆動する駆動源を少なくとも1つ有するとともに、前輪の左右輪又は後輪の左右輪の少なくとも一方の組が前後方向の駆動力及び旋回方向の駆動力を発生させる車両において、乗員による操作や車両状態に基づく2つの挙動要求Treq0とNreq0が与えられた場合に、該要求を満足するトルク指令を適切に求めて出力することができる。
また、Treq0とNreq0とを同時に満足する各モータの駆動力の組合わせを全て把握することができ、その中から車両の状態に応じて適切な解を選択できる。
さらに、Treq0とNreq0が与えられた時に、該要求を満足し得る各モータのトルクの組み合わせの全て(解平面150等)を前輪トルク四角形31及び後輪反映四角形30aとを用いて簡便に求めることができる。前輪トルク四角形31及び後輪反映四角形30aによれば、要求を満足する解の有無を確認することができ、解が存在しない時には、調定処理に移行させることができる。
解が存在する場合には、解平面150又は解を示す線分の形状及び位置に基づき、より好適な動作点を求めることができる。この場合、例えば、使用電力の小さい箇所を選択してエネルギ効率を向上させることができる。
同様の制御手法で、前輪又は後輪を駆動する駆動源を少なくとも1つ有するとともに、前輪の左右輪又は後輪の左右輪の少なくとも一方の組が前後方向の駆動力及び旋回方向の駆動力を発生させる車両で、合計2モータ、3モータ及び4モータの車両への適用が可能であるとともに、いくつかのモータが車輪に駆動力を伝達しなくなった場合にも残余のモータで走行を継続させることができる。
さらに、いずれかのモー夕が、何らかの理由(車両状態の制御手段からのトルク制限やバッテリ電圧低下等)で発生可能トルクが制限されても、乗員の望む車両挙動を満たすように各モ−夕のトルクが自動的に演算される。また、他の手段によりトルクを制限する必要はなく、駆動力制御装置20で一括して車両10全体の駆動力制御を行うことができ、効率的である。
なお、各輪の駆動源は必ずしもモータである必要はなく、トルク調整が可能であればよく、例えば左右輪共通の駆動源はエンジンであってもよい。
本発明に係る複数駆動源の駆動力制御装置は、上述の実施の形態に限らず、本発明の要旨を逸脱することなく、種々の構成を採り得ることはもちろんである。