(57)【特許請求の範囲】
【請求項１】
前後の駆動輪の一方をエンジンで駆動し、他方を電気モータで駆動する前後輪駆動車両の駆動力制御装置であって、
アクセル開度を検出するアクセル開度検出手段と、
車速を検出する車速検出手段と、
前記検出されたアクセル開度および車速に基づいて前記車両の目標駆動力を算出する目標駆動力算出手段と、
前記目標駆動力に基づいて前記電気モータの目標駆動力を算出するモータ目標駆動力算出手段と、
前記目標駆動力および前記モータ目標駆動力に基づいて前記エンジンの目標駆動力を算出するエンジン目標駆動力算出手段と、
前記モータ目標駆動力に基づいて前記電気モータを駆動制御するモータ駆動制御手段と、
前記エンジン目標駆動力に基づいて前記エンジンを駆動制御するエンジン駆動制御手段と、
前記前後の駆動輪間の差回転数を検出する差回転数検出手段と、
前記車両の走行状態を表すパラメータに基づいて目標差回転数を設定する目標差回転数設定手段と、
前記検出された差回転数および前記目標差回転数に基づいて前記エンジン側の駆動輪のスリップ状態を判定するスリップ判定手段と、
当該スリップ判定手段により前記エンジン側の駆動輪にスリップが発生していると判定されたときに、前記差回転数を前記目標差回転数に維持するように前記エンジン目標駆動力を減少補正するための補正値を、積分項を含むフィードバック制御量を用いて算出するエンジン駆動力補正手段と、
前記差回転数の変化量を検出する差回転数変化量検出手段と、を備え、
前記エンジン駆動力補正手段は、前記検出された差回転数変化量に基づいて、前記フィードバック制御量の前記積分項を算出することを特徴とする前後輪駆動車両の駆動力制御装置。
【請求項２】
前記フィードバック制御量は比例項を含み、前記エンジン駆動力補正手段は、前記差回転数と前記目標差回転数との偏差に基づいて前記比例項を算出することを特徴とする、請求項１に記載の前後輪駆動車両の駆動力制御装置。
【請求項３】
前記走行状態を表すパラメータは、路面勾配、操舵角、車速およびアクセル開度の少なくとも１つを含むことを特徴とする、請求項１または２に記載の前後輪駆動車両の駆動力制御装置。
【請求項４】
前後の駆動輪の一方をエンジンで駆動し、他方を電気モータで駆動する前後輪駆動車両の駆動力制御装置であって、
アクセル開度を検出するアクセル開度検出手段と、
車速を検出する車速検出手段と、
前記検出されたアクセル開度および車速に基づいて前記車両の目標駆動力を算出する目標駆動力算出手段と、
前記目標駆動力に基づいて前記電気モータの目標駆動力を算出するモータ目標駆動力算出手段と、
前記目標駆動力および前記モータ目標駆動力に基づいて前記エンジンの目標駆動力を算出するエンジン目標駆動力算出手段と、
前記モータ目標駆動力に基づいて前記電気モータを駆動制御するモータ駆動制御手段と、
前記エンジン目標駆動力に基づいて前記エンジンを駆動制御するエンジン駆動制御手段と、
前記前後の駆動輪間の差回転数を検出する差回転数検出手段と、
前記車両の走行状態を表すパラメータに基づいて目標差回転数を設定する目標差回転数設定手段と、
前記検出された差回転数および前記目標差回転数に基づいて前記エンジン側の駆動輪のスリップ状態を判定するスリップ判定手段と、
当該スリップ判定手段により前記エンジン側の駆動輪にスリップが発生していると判定されたときに、前記差回転数を前記目標差回転数に維持するように前記エンジン目標駆動力を減少補正するエンジン駆動力補正手段と、を備え、
前記車両の走行状態を表すパラメータは操舵角を含み、
前記目標差回転数設定手段は、前記操舵角が値０を含む所定範囲にあるときには、当該操舵角が大きいほど、前記目標差回転数をより小さな値に設定し、前記操舵角が前記所定範囲にないときには、当該操舵角が大きいほど、前記目標差回転数をより大きな値に設定することを特徴とする前後輪駆動車両の駆動力制御装置。
【請求項５】
前記スリップ判定手段により前記エンジン側の駆動輪にスリップが発生していると判定されたときに、前記モータ目標駆動力を増大補正するモータ駆動力補正手段をさらに備えていることを特徴とする、請求項１ないし４のいずれかに記載の前後輪駆動車両の駆動力制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、前輪および後輪の一方をエンジンで駆動し、他方を電気モータで駆動するタイプの前後輪駆動車両の駆動力制御装置に関する。
【０００２】
【従来の技術】
従来のこの種の駆動力制御装置として、例えば特開２０００−７９８３１号公報に開示されたものが知られている。この前後輪駆動車両は、前輪をエンジンで駆動し、後輪をモータで駆動するタイプのものである。この制御装置では、雪道などの低摩擦路での発進時などにおいて前輪がスリップしたときには、そのスリップ制御を行うために、前輪の駆動力が低減される。また、このような前輪スリップの制御中に、車速などから車両の前進が可能であると予想される走行状態と判定されたときに、モータの作動が禁止されるようになっており、それによって省エネルギを図るようにしている。
【０００３】
【発明が解決しようとする課題】
しかし、この従来の駆動力制御装置では、前輪スリップ制御中に、車両が前進可能と判定されたときに、モータの作動を単純に禁止して、それによるアシストを完全に停止するので、車両全体としての駆動力が不足がちになるとともに、前輪スリップが増加しやすくなる。また、車両が前進可能か否かの判定を、そのときの車速などからの予測によって行っているにすぎないので、その後のアクセルペダルの操作状況などによっては、前輪スリップが過大になる場合があるなど、前輪を最適なスリップ状態に維持できず、その結果、低摩擦路などでの安定した走行性を確保できないという問題がある。
【０００４】
本発明は、このような課題を解決するためになされたものであり、エンジンにより駆動される駆動輪がスリップした場合に、電気モータによるアシストを停止することなく、エンジンの駆動力を適切に制御することにより、低摩擦路においても、駆動輪を最適なスリップ状態に維持でき、それにより、安定した走行性を確保することができる前後輪駆動車両の駆動力制御装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
この目的を達成するため、本発明の請求項１に係る発明は、前後の駆動輪の一方（実施形態における（以下、本項において同じ）前輪ＷＦＬ、ＷＦＲ）をエンジン３で駆動し、他方（後輪ＷＲＬ、ＷＲＲ）を電気モータ４で駆動する前後輪駆動車両の駆動力制御装置であって、アクセル開度θＡＰを検出するアクセル開度検出手段（アクセル開度センサ１６）と、車速Ｖｃａｒを検出する車速検出手段（車輪回転数センサ１２、ＥＣＵ１１）と、検出されたアクセル開度θＡＰおよび車速Ｖｃａｒに基づいて車両２の目標駆動力ＦＣＭＤを算出する目標駆動力算出手段（ＥＣＵ１１、図３のステップ３１）と、目標駆動力ＦＣＭＤに基づいて電気モータ４の目標駆動力（後輪目標駆動力ＦＣＭＤ＿ＭＯＴ）を算出するモータ目標駆動力算出手段（ＥＣＵ１１、図３のステップ３３）と、目標駆動力ＦＣＭＤおよびモータ目標駆動力に基づいてエンジン３の目標駆動力（前輪目標駆動力ＦＣＭＤ＿ＥＮＧ）を算出するエンジン目標駆動力算出手段（ＥＣＵ１１、図１２のステップ６９）と、モータ目標駆動力に基づいて電気モータ４を駆動制御するモータ駆動制御手段（モータドライバー１０）と、エンジン目標駆動力に基づいてエンジン３を駆動制御するエンジン駆動制御手段（アクチュエータ２４）と、前後の駆動輪ＷＦＬ、ＷＦＲ、ＷＲＬ、ＷＲＲ間の差回転数（前後輪差回転数Ｎ＿ＳＰＬＴ＿ｗｈｅｅｌ、Ｎ＿ＳＰＬＴ＿ｍｏｔ）を検出する差回転数検出手段（車輪回転数センサ１２、カウンタシャフト回転数センサ１４、モータ回転数センサ１５、ＥＣＵ１１）と、車両２の走行状態を表すパラメータに基づいて目標差回転数（目標前後輪差回転数ＤＮ＿Ｆ＿Ｒ）を設定する目標差回転数設定手段（ＥＣＵ１１、図６のステップ４８、５２）と、検出された差回転数および目標差回転数に基づいてエンジン３側の駆動輪（前輪ＷＦＬ、ＷＦＲ）のスリップ状態を判定するスリップ判定手段（ＥＣＵ１１、図６のステップ５１、５５、５６）と、スリップ判定手段によりエンジン３側の駆動輪にスリップが発生していると判定されたときに、差回転数を目標差回転数に維持するようにエンジン目標駆動力を減少補正するための補正値（前輪目標駆動力補正量ＦＣＭＤ＿ＥＮＧ＿ＴＣＳ）を、積分項（Ｉ項ＫＩＦＳＬＰ）を含むフィードバック制御量（ＰＩＤ制御量ＫＦＳＬＰＭＡＩＮ）を用いて算出するエンジン駆動力補正手段（ＥＣＵ１１、図１３のステップ８１、８６、８７）と、差回転数の変化量（前後輪差回転数変化量ｄＥＮ＿Ｆ＿Ｒ）を検出する差回転数変化量検出手段（ＥＣＵ１１、図１２のステップ７４、７５）と、を備え、エンジン駆動力補正手段は、検出された差回転数変化量に基づいて、フィードバック制御量の積分項を算出する（図１２のステップ７６）ことを特徴とする。
【０００６】
この前後輪駆動車両の駆動力制御装置によれば、検出されたアクセル開度および車速に基づいて、車両の目標駆動力が算出され、この目標駆動力に基づいて電気モータの目標駆動力が算出されるとともに、さらに、これらの目標駆動力およびモータ目標駆動力に基づいて、エンジンの目標駆動力が算出される。また、前後の駆動輪間の差回転数を検出するとともに、車両の走行状態を表すパラメータに基づいて目標差回転数を設定する。そして、検出された差回転数と目標差回転数に基づいてエンジン側の駆動輪のスリップ状態を判定するとともに、スリップが発生したと判定されたときに、差回転数を目標差回転数に維持するようにエンジン目標駆動力を減少補正する。
【０００７】
このように、本発明によれば、エンジン側の駆動輪がスリップしているか否かを、前後の駆動輪間の実際の差回転数と目標差回転数に基づいて判定するとともに、このエンジン側の駆動輪のスリップ中、エンジン駆動力を減少補正することによって、実際の差回転数を目標差回転数に維持する。すなわち、エンジン側の駆動輪がスリップした場合に、電気モータによるアシストを停止することなく、前後の差回転数を目標差回転数に維持するようにエンジン駆動力が適切に制御されるので、低摩擦路においても、エンジン側の駆動輪を最適なスリップ状態に維持でき、したがって、安定した走行性を確保することができる。また、スリップ発生中におけるエンジン目標駆動力の減少補正のための補正値を、積分項を含むフィードバック制御量を用いて算出するとともに、この積分項を、検出された差回転数と目標差回転数との偏差ではなく、前後の駆動輪間の差回転数変化量に基づいて算出するので、目標差回転数への差回転数の収束性を高めることができる。
また、請求項２に係る発明は、請求項１の駆動力制御装置において、フィードバック制御量は比例項（Ｐ項ＫＰＦＳＬＰ）を含み、エンジン駆動力補正手段は、差回転数と目標差回転数との偏差（実／目標前後輪差回転数偏差ＥＮ＿Ｆ＿Ｒ）に基づいて比例項を算出する（図６のステップ５１、５５、図１３のステップ８１）ことを特徴とする。
この構成では、フィードバック制御量の積分項が前後の差回転数変化量に基づいて算出されるのに対し、比例項は、差回転数と目標差回転数との偏差に基づいて算出される。
【０００８】
請求項３に係る発明は、請求項１または２の駆動力制御装置において、走行状態を表すパラメータは、路面勾配（登坂角ＳＬＯＰＥ＿ＡＮＧ）、操舵角θＳＴＲ、車速Ｖｃａｒおよびアクセル開度θＡＰの少なくとも１つを含むことを特徴とする。
【０００９】
この構成によれば、目標差回転数を、車両の実際の走行状態や運転者の意志に応じて、適切に設定することができる。
【００１０】
また、前記目的を達成するため、本発明の請求項４に係る発明は、前後の駆動輪の一方（前輪ＷＦＬ、ＷＦＲ）をエンジン３で駆動し、他方（後輪ＷＲＬ、ＷＲＲ）を電気モータ４で駆動する前後輪駆動車両の駆動力制御装置であって、アクセル開度θＡＰを検出するアクセル開度検出手段（アクセル開度センサ１６）と、車速Ｖｃａｒを検出する車速検出手段（車輪回転数センサ１２、ＥＣＵ１１）と、検出されたアクセル開度θＡＰおよび車速Ｖｃａｒに基づいて車両２の目標駆動力ＦＣＭＤを算出する目標駆動力算出手段（ＥＣＵ１１、図３のステップ３１）と、目標駆動力ＦＣＭＤに基づいて電気モータ４の目標駆動力（後輪目標駆動力ＦＣＭＤ＿ＭＯＴ）を算出するモータ目標駆動力算出手段（ＥＣＵ１１、図３のステップ３３）と、目標駆動力ＦＣＭＤおよびモータ目標駆動力に基づいてエンジン３の目標駆動力（前輪目標駆動力ＦＣＭＤ＿ＥＮＧ）を算出するエンジン目標駆動力算出手段（ＥＣＵ１１、図１２のステップ６９）と、モータ目標駆動力に基づいて電気モータ４を駆動制御するモータ駆動制御手段（モータドライバー１０）と、エンジン目標駆動力に基づいてエンジン３を駆動制御するエンジン駆動制御手段（アクチュエータ２４）と、前後の駆動輪ＷＦＬ、ＷＦＲ、ＷＲＬ、ＷＲＲ間の差回転数（前後輪差回転数Ｎ＿ＳＰＬＴ＿ｗｈｅｅｌ、Ｎ＿ＳＰＬＴ＿ｍｏｔ）を検出する差回転数検出手段（車輪回転数センサ１２、カウンタシャフト回転数センサ１４、モータ回転数センサ１５、ＥＣＵ１１）と、車両２の走行状態を表すパラメータに基づいて目標差回転数（目標前後輪差回転数ＤＮ＿Ｆ＿Ｒ）を設定する目標差回転数設定手段（ＥＣＵ１１、図６のステップ４８、５２）と、検出された差回転数および目標差回転数に基づいてエンジン３側の駆動輪（前輪ＷＦＬ、ＷＦＲ）のスリップ状態を判定するスリップ判定手段（ＥＣＵ１１、図６のステップ５１、５５、５６）と、スリップ判定手段によりエンジン３側の駆動輪にスリップが発生していると判定されたときに、差回転数を目標差回転数に維持するようにエンジン目標駆動力を減少補正するエンジン駆動力補正手段と、を備え、車両の走行状態を表すパラメータは操舵角θＳＴＲを含み、目標差回転数設定手段は、操舵角θＳＴＲが値０を含む所定範囲にあるときには、操舵角θＳＴＲが大きいほど、目標差回転数をより小さな値に設定し、操舵角θＳＴＲが所定範囲にないときには、操舵角θＳＴＲが大きいほど、目標差回転数をより大きな値に設定する（図５のステップ４５、図６のステップ４８、５２、図９）ことを特徴とする。
【００１１】
この構成によれば、請求項１と同様、エンジン側の駆動輪がスリップしているか否かを、前後の駆動輪間の実際の差回転数と目標差回転数に基づいて判定するとともに、このエンジン側の駆動輪のスリップ中、エンジン駆動力を減少補正することによって、実際の差回転数を目標差回転数に維持する。すなわち、エンジン側の駆動輪がスリップした場合に、電気モータによるアシストを停止することなく、前後の差回転数を目標差回転数に維持するようにエンジン駆動力が適切に制御されるので、低摩擦路においても、エンジン側の駆動輪を最適なスリップ状態に維持でき、安定した走行性を確保することができる。また、上述した目標差回転数は、操舵角が値０を含む所定範囲にあるときには、操舵角が大きいほど、より小さな値に設定される。これは、直進走行の場合には、多少のスリップは許容できるのに対し、ハンドルが切られている状態でスリップが発生すると、タイヤの横力が減少するので、目標前後輪差回転数をより小さな値に設定することで、タイヤの横力を確保するためである。さらに、目標差回転数は、操舵角が所定範囲にないときには、操舵角が大きいほど、より大きな値に設定される。これは、そのような大きな操舵角が現れるのは、運転者が雪道などでタイヤを路面にグリップさせようとしているのではなく、むしろ意図的にハンドルを大きく操作している状況と推定されるので、その意志を尊重するためである。
【００１２】
さらに、請求項５に係る発明は、請求項１ないし４のいずれかの駆動力制御装置において、スリップ判定手段によりエンジン３側の駆動輪にスリップが発生していると判定されたときに、モータ目標駆動力ＦＣＭＤ＿ＭＯＴを増大補正するモータ駆動力補正手段（ＥＣＵ１１）をさらに備えていることを特徴とする。
【００１３】
この構成によれば、エンジン側の駆動輪のスリップ発生中、エンジン目標駆動力が減少補正されるのと並行して、モータ目標駆動力が増大補正されるので、前後の差回転数を目標差回転数に早期に収束させることができる。
【００１４】
【発明の実施の形態】
以下、図面を参照しながら、本発明の好ましい実施形態を説明する。図１は、本発明による駆動力制御装置１を適用した前後輪駆動車両（以下「車両」という）２の概略構成を示している。同図に示すように、この車両２は、左右の前輪ＷＦＬ、ＷＦＲをエンジン３で駆動するとともに、左右の後輪ＷＲＬ、ＷＲＲを電気モータ（以下「モータ」という）４で駆動するものである。
【００１５】
エンジン３は、車両２の前部に横置きに搭載されており、トルクコンバータ５ａを有する自動変速機５、および減速ギヤ（図示せず）を有するフロントディファレンシャル６を介して、前輪ＷＦＬ、ＷＦＲに接続されている。
【００１６】
モータ４は、その駆動源であるバッテリ７に接続されるとともに、電磁クラッチ８、および減速ギヤ（図示せず）を有するリヤディファレンシャル９を介して、後輪ＷＲＬ、ＷＲＲに接続されている。モータ４がバッテリ７で駆動されており（駆動モード）、かつ電磁クラッチ８が接続されているときに、後輪ＷＲＬ、ＷＲＲが駆動され、このとき、車両２は四輪駆動状態になる。なお、モータ４の出力は、最大１２ｋＷの範囲内で任意に変更することが可能である。一方、モータ４は、車両２の制動エネルギにより回転駆動されているとき（回生モード）に発電を行い、発電した電力（回生エネルギ）をバッテリ７に充電するジェネレータとしての機能を有している。このバッテリ７の充電残量ＳＯＣは、検出されたバッテリ７の電流・電圧値に基づき、後述するＥＣＵ１１によって算出される。
【００１７】
モータ４は、モータドライバー１０を介して、後述するＥＣＵ１１に接続されており、モータ４の駆動モードおよび回生モードの切換え、駆動モード時における最大出力の設定や駆動トルク、ならびに回生モード時における回生量などは、ＥＣＵ１１で制御されるモータドライバー１０によって、制御される。電磁クラッチ８の接続・遮断もまた、そのソレノイド（図示せず）への電流の供給・停止がＥＣＵ１１で制御されることによって、制御される。
【００１８】
左右の前輪ＷＦＬ、ＷＦＲおよび後輪ＷＲＬ、ＷＲＲには、磁気ピックアップ式の車輪回転数センサ１２がそれぞれ設けられており、これらの車輪回転数センサ１２から、各車輪回転数Ｎ＿ＦＬ、Ｎ＿ＦＲ、Ｎ＿ＲＬ、Ｎ＿ＲＲを表すパルス信号がＥＣＵ１１にそれぞれ出力される。ＥＣＵ１１は、これらのパルス信号から、左右前輪回転数平均値Ｎ＿Ｆｗｈｅｅｌ、左右後輪回転数平均値Ｎ＿Ｒｗｈｅｅｌや、車速Ｖｃａｒなどを算出する。また、エンジン３のクランクシャフト（図示せず）には、所定のクランク角ごとにクランクパルス信号ＣＲＫを出力するクランク角センサ１３が、自動変速機５のメインシャフト５ｂおよびカウンタシャフト（図示せず）には、それらの回転数Ｎｍ、Ｎｃｏｕｎｔｅｒを表すパルス信号を出力する磁気ピックアップ式のメイン・カウンタシャフト回転数センサ１４ａ、１４ｂが、それぞれ設けられており、これらの信号もまた、ＥＣＵ１１に出力される。ＥＣＵ１１は、クランクパルス信号ＣＲＫに基づいてエンジン回転数ＮＥを算出するとともに、このエンジン回転数ＮＥとメインシャフト回転数Ｎｍから、トルクコンバータ５ａの速度比ｅを算出する（ｅ＝Ｎｍ／ＮＥ）。また、モータ４にはその回転数Ｎｍｏｔを表すパルス信号を出力するレゾルバによるモータ回転数センサ１５が設けられており、この信号もＥＣＵ１１に出力される。
【００１９】
また、ＥＣＵ１１には、アクセル開度センサ１６からアクセルペダル１７のＯＮ／ＯＦＦを含む開度（アクセル開度）θＡＰを表す検出信号が、充電量センサ１８からバッテリ７の充電残量ＳＯＣを表す検出信号が、それぞれ入力される。ＥＣＵ１１にはさらに、ブレーキのマスタシリンダ（図示せず）に取り付けたブレーキ圧センサ１９からブレーキ圧ＰＢＲを表す検出信号が、操舵角センサ２０からハンドル（図示せず）の操舵角θＳＴＲを表す検出信号が、シフト位置センサ２１から自動変速機５のシフトレバー位置ＰＯＳＩを表す検出信号が、加速度センサ２２、２３から前後の車輪の加速度ＧＦ、ＧＲを表す検出信号が、それぞれ入力される。
【００２０】
上記ＥＣＵ１１は、ＲＡＭ、ＲＯＭ、ＣＰＵおよびＩ／Ｏインターフェースなどからなるマイクロコンピュータ（いずれも図示せず）で構成されている。ＥＣＵ１１は、上述した各種センサからの検出信号に基づいて、車両２の走行状態を検出し、制御モードを判定するとともに、その結果に基づいて、車両２の目標駆動力ＦＣＭＤ、前輪目標駆動力ＦＣＭＤ＿ＥＮＧおよび後輪目標駆動力ＦＣＭＤ＿ＭＯＴを算出する。そして、算出した前輪目標駆動力ＦＣＭＤ＿ＥＮＧに基づく駆動信号ＤＢＷ＿ＴＨを、ＤＢＷ式のアクチュエータ２４に出力することで、スロットル弁２５の開度（スロットル弁開度θＴＨ）を制御し、エンジン３の駆動力を制御する。また、後輪目標駆動力ＦＣＭＤ＿ＭＯＴに基づくモータ要求トルク信号ＴＲＱ＿ＭＯＴをモータドライバー１０に出力することで、モータ４の駆動力を制御する。
【００２１】
図２は、ＥＣＵ１１で実行される制御処理のメインフローを示すフローチャートである。このプログラムは、所定時間（例えば１０ｍｓ）ごとに実行される。この制御処理ではまず、ステップ２１（「Ｓ２１」と図示。以下同じ）において車両２の状態を検出する。具体的には、前述した各種センサで検出されたパラメータ信号を読み込み、これらに基づき、車速Ｖｃａｒの算出や登坂角ＳＬＯＰＥ＿ＡＮＧの推定などの所定の演算を行うとともに、車両２が前進、後退および停止のいずれの走行状態にあるかを判定する。また、各車輪回転数センサ１２からの車速パルス信号などに基づき、前後輪差回転数Ｎ＿ＳＰＬＴ＿Ｗｈｅｅｌやその目標差回転数ＤＮ＿Ｆ＿Ｒなどを後述するようにして算出し、これらに基づき、後述する前輪ＷＦＬ、ＷＦＲのスリップ状態を判定するとともに、その判定結果に従って、モータ４の出力特性の算出などを行う。
【００２２】
次いで、ステップ２１で検出された、自動変速機５のシフトレバー位置ＰＯＳＩおよびアクセルペダル（以下「ＡＰ」という）１７のＯＮ／ＯＦＦ状態、ならびに車両２の走行状態から、車両２の制御モードを判定する（ステップ２２）。具体的には、制御モードを、車両２が前進状態でかつＡＰ１７がＯＮのときには前進駆動モードと判定し、車両２が前進状態でかつＡＰ１７がＯＦＦのときには前進回生モードと判定し、車両２が停止状態のときには停止モードと判定し、車両２が後退状態でかつＡＰ１７がＯＮのときおよびＯＦＦのときには、後退駆動モードおよび後退回生モードとそれぞれ判定する。
【００２３】
次に、ステップ２２で判定された制御モードに応じて、車両２全体の目標駆動力ＦＣＭＤ、前輪目標駆動力ＦＣＭＤ＿ＥＮＧおよび後輪目標駆動力ＦＣＭＤ＿ＭＯＴを算出する（ステップ２３）。これについては後述する。
【００２４】
次いで、電磁クラッチ８のＯＮ／ＯＦＦ制御を実行する（ステップ２４）。具体的には、車速Ｖｃａｒ、およびモータ４と後輪ＷＲＬ、ＷＲＲとの差回転数に基づいて、電磁クラッチ８をＯＮまたはＯＦＦするかを判定するとともに、その判定結果に基づいて電磁クラッチ８をＯＮ／ＯＦＦ制御する。
【００２５】
次に、ステップ２３で算出した後輪目標駆動力ＦＣＭＤ＿ＭＯＴと、ステップ２４で制御した電磁クラッチ８のＯＮ／ＯＦＦ状態に基づいて、モータ４の要求トルクＴＲＱ＿ＭＯＴを算出し（ステップ２５）、これに基づく駆動信号をモータドライバー１０に出力して、モータ４の駆動力を制御する。
【００２６】
次いで、ステップ２３で算出した前輪目標駆動力ＦＣＭＤ＿ＥＮＧに基づいて、アクチュエータ出力値ＤＢＷ＿ＴＨを算出し（ステップ２６）、これに基づく駆動信号をアクチュエータ２４に出力し、スロットル弁開度θＴＨを制御することで、エンジン３の駆動力を制御し、本プログラムを終了する。
【００２７】
図３は、図２のステップ２３で実行される駆動力算出サブルーチンを示す。この制御処理ではまず、判定された制御モードに従い、駆動モードおよび回生モードにおける車両２全体の目標駆動力ＦＣＭＤを演算する（ステップ３１）。
【００２８】
駆動モード時の目標駆動力ＦＣＭＤは、検出された車速ＶｃａｒおよびＡＰ開度θＡＰに応じ、図４に一例を示すテーブルを検索することによって、算出される。図４には、ＡＰ開度θＡＰが０ｄｅｇ、５ｄｅｇおよび８０ｄｅｇのときのテーブル値が代表的に示されており、目標駆動力ＦＣＭＤは、アクセル開度θＴＨが大きいほど大きく、また車速Ｖｃａｒが大きいほど小さくなるように設定されている。なお、ＡＰ開度θＡＰ＝０ｄｅｇのときのテーブル値は、シフトレバー位置がＤ４相当のラインを表しており、この場合、目標駆動力ＦＣＭＤは、負値として設定される。
【００２９】
また、回生モード時の目標駆動力ＦＣＭＤは、車速Ｖｃａｒ、その変化量、ブレーキ圧ＰＢＲ、操舵角θＳＴＲ、および電磁クラッチ８の接続状態に基づき、計算によって求められる。
【００３０】
次に、充電モード要求判定を実行する（ステップ３２）。具体的には、車速Ｖｃａｒおよびバッテリ７の充電残量ＳＯＣに応じて、充電走行の基準駆動力を求めるとともに、この基準駆動力とステップ３１で算出した目標駆動力ＦＣＭＤとの関係から、バッテリ７を充電する発電走行を行うべきか否かを判定し、その判定結果が肯定のときに、制御モードが充電モードとされる。
【００３１】
次いで、後輪目標駆動力ＦＣＭＤ＿ＭＯＴを演算する（ステップ３３）。この演算は、図２のステップ２２および上記ステップ３２で判定された制御モード（駆動、回生、充電および停止のいずれか）に従い、制御モード別に行われる。例えば、駆動モード時（アシスト時）の後輪目標駆動力ＦＣＭＤ＿ＭＯＴは、次のようにして算出される。まず、駆動力の前後輪配分を、車両停止時の重量配分（例えば、前輪側５７％：後輪側４３％）と登坂角ＳＬＯＰＥ＿ＡＮＧに基づいて、算出する。なお、この登坂角ＳＬＯＰＥ＿ＡＮＧは、前後輪の車輪回転数Ｎ＿ＦＬ、Ｎ＿ＦＲおよびＮ＿ＲＬ、Ｎ＿ＲＲがともに値０で、かつブレーキペダルが操作されている場合に、次式（１）により、前後の加速度センサ２２、２３の出力を積分することによって算出・推定される。
0004064042.tif 000002
【００３２】
次いで、駆動モード時の後輪目標駆動力ＦＣＭＤ＿ＭＯＴを、次式（２）により算出する。
0004064042.tif 000003
なお、モータ引きずり分はモータ４の回転抵抗である。また、算出された後輪目標駆動力ＦＣＭＤ＿ＭＯＴが、モータ４の最大出力によって定まる上限トルクを上回る場合、後輪目標駆動力ＦＣＭＤ＿ＭＯＴはこの上限値に設定される。
【００３３】
次に、ステップ３４に進み、上記ステップ３３で算出した後輪目標駆動力ＦＣＭＤ＿ＭＯＴに所定のフィルタ処理を施した後、ステップ３５において、前輪目標駆動力ＦＣＭＤ＿ＥＮＧを演算し、本プログラムを終了する。後述するように、この前輪目標駆動力ＦＣＭＤ＿ＥＮＧは、基本的には、目標駆動力ＦＣＭＤから後輪目標駆動力ＦＣＭＤ＿ＭＯＴを差し引いた値として設定される。また、前輪スリップが発生している場合には、前輪目標駆動力ＦＣＭＤ＿ＥＮＧは、実際の前後輪差回転数と目標差回転数ＤＮ＿Ｆ＿Ｒなどに基づき、後述するようにしてフィードバック制御により減少補正される。
【００３４】
図５および図６は、図２のステップ２１で実行される前輪スリップの判定サブルーチンを示している。この制御処理では、まず車両２の制御モードが駆動モードであるか否かを判別する（ステップ４１）。この答がＮＯ、すなわち駆動モード以外のときには、前輪スリップフラグＦ＿ｆｒｏｎｔＳＬＰを「０」にセットし（ステップ４２）、本プログラムを終了する。
【００３５】
前記ステップ４１の答はＹＥＳ、すなわち制御モードが駆動モードのときには、ステップ４３〜４６において、目標前後輪差回転数ＤＮ＿Ｆ＿Ｒを設定するためのパラメータ値を、それぞれのテーブルを検索することによって求める。なお、後述するように、これらのパラメータ値のうち、目標スリップ率ＤＲＶ＿Ｓｌｉｐ＿ｒａｔｉｏは、目標前後輪差回転数ＤＮ＿Ｆ＿Ｒの基本値であり、他のパラメータ値は、目標スリップ率ＤＲＶ＿Ｓｌｉｐ＿ｒａｔｉｏに乗算される補正係数である。
【００３６】
まず、ステップ４３では、登坂角ＳＬＯＰＥ＿ＡＮＧに応じて目標スリップ率ＤＲＶ＿Ｓｌｉｐ＿ｒａｔｉｏを検索する。図７は、目標スリップ率テーブルの一例を示しており、このテーブルでは、目標スリップ率ＤＲＶ＿Ｓｌｉｐ＿ｒａｔｉｏは、登坂角ＳＬＯＰＥ＿ＡＮＧが５ｄｅｇ以上２５ｄｅｇ以下の範囲では、ＳＬＯＰＥ＿ＡＮＧ値が大きいほど、より小さくなるように設定されている。これは、勾配が急になるほど、車両２の重量が後輪ＷＲＬ、ＷＲＲ側に加わり、前輪ＷＦＬ、ＷＦＲが滑りやすくなるので、目標スリップ率ＤＲＶ＿Ｓｌｉｐ＿ｒａｔｉｏをより小さな値に設定することで、前輪ＷＦＬ、ＷＦＲのスリップを早期に抑制し、登坂しやすくするためである。
【００３７】
次に、車速Ｖｃａｒに応じて車速補正係数ＫＶＳｌｉｐを検索する（ステップ４４）。図８は、車速補正係数テーブルの一例を示しており、このテーブルでは、車速補正係数ＫＶＳｌｉｐは、車速Ｖｃａｒが所定の低車速以上のときに値１．０に設定され、この低車速未満では、車速Ｖｃａｒが小さいほどより小さい、１．０未満の値として設定されている。これは、車速Ｖｃａｒが小さい発進時には、目標前後輪差回転数ＤＮ＿Ｆ＿Ｒを若干、減少補正することで、スリップを抑制する一方、車速Ｖｃａｒが上昇した場合には、多少のスリップは許容できるとともに、車両２がすでに動いていることから、減少補正を停止することで、運転者の意志に反しないようにするためである。
【００３８】
次いで、操舵角θＳＴＲに応じて操舵角補正係数ＫＳＴＲ＿Ｓｌｉｐを検索する（ステップ４５）。図９は、操舵角補正係数テーブルの一例を示しており、このテーブルでは、操舵角補正係数ＫＳＴＲ＿Ｓｌｉｐは、操舵角θＳＴＲが値０、すなわち直進走行時には値１．０に設定され、操舵角θＳＴＲが所定の低舵角までの範囲では、操舵角θＳＴＲが大きいほど、より小さな値になるように設定されている。これは、直進走行の場合には、多少のスリップは許容できるのに対し、ハンドルが切られている状態でスリップが発生すると、タイヤの横力が減少するので、目標前後輪差回転数ＤＮ＿Ｆ＿Ｒを減少補正することで、タイヤの横力を確保するためである。また、操舵角補正係数ＫＳＴＲ＿Ｓｌｉｐは、操舵角θＳＴＲが所定の低舵角以上の範囲では、それが大きくなるにつれて、漸増するように設定されている。これは、このような大きな操舵角θＳＴＲが現れるのは、運転者が雪道などでタイヤを路面にグリップさせようとしているのではなく、むしろ意図的にハンドルを大きく操作している状況と推定されるので、その意志を尊重するためである。
【００３９】
次に、ＡＰ開度θＡＰに応じてＡＰ開度補正係数ＫＡＰ＿Ｓｌｉｐを検索する（ステップ４６）。図１０は、ＡＰ開度補正係数テーブルの一例を示しており、このテーブルでは、ＡＰ開度補正係数ＫＡＰ＿Ｓｌｉｐは、ＡＰ開度θＡＰが２０ｄｅｇ以下では値１．０に設定され、２０ｄｅｇと５０ｄｅｇの間では、ＡＰ開度θＡＰが大きくなるにつれて漸増するように設定されるとともに、５０ｄｅｇ以上では１．０よりも大きな所定値５に設定されている。これは、ＡＰ開度θＡＰが大きい場合には、運転者が意図的にスリップを許容していると推定されるので、目標前後輪差回転数ＤＮ＿Ｆ＿Ｒを増大補正することで、その意志を尊重するためである。
【００４０】
次いで、図６のステップ４７に進み、左右前輪回転数平均値Ｎ＿Ｆｗｈｅｅｌおよび左右後輪回転数平均値Ｎ＿Ｒｗｈｅｅｌのいずれもが、第１切換回転数Ｖｎ＿ｃｈａｎｇｅ１（例えば車速１０ｋｍ／ｈ相当）よりも大きいか否かを判別する。この判別は、次に実行する前後輪差回転数の算出に用いるパラメータを、車速Ｖｃａｒの大小に応じて、車輪回転数センサ１２で検出される車輪パルス系と、カウンタシャフト回転数センサ１４およびモータ回転数センサ１５で検出されるモータ回転パルス系とに切り換えるためのものである。これは、これらのセンサ１２、１４、１５が、いずれも磁気ピックアップ式のもので構成されていて、低回転域では回転数を正確に検出できないという特性を有することから、車速Ｖｃａｒが小さい場合には、減速される前の、より高回転のモータ回転パルス系を用いる一方、車速Ｖｃａｒが大きい場合には、互いに同じ入力周期の車輪パルス系を用いることで、差回転数の算出精度を高めるためである。なお、モータ回転パルス系を用いる場合、カウンタシャフト回転数Ｎｃｏｕｎｔｅｒおよびモータ回転数Ｎｍｏｔは、それぞれの減速比に応じて車輪回転数に換算される。
【００４１】
したがって、ステップ４７の答がＹＥＳ、すなわちＮ＿Ｆｗｈｅｅｌ値およびＮ＿Ｒｗｈｅｅｌ値がいずれも、第１切換回転数Ｖｎ＿ｃｈａｎｇｅ１よりも大きいときには、後輪回転数として左右後輪回転数平均値Ｎ＿Ｒｗｈｅｅｌを用いるとともに、前記ステップ４３〜４６で求めたパラメータ値を用い、次式（３）によって目標前後輪差回転数ＤＮ＿Ｆ＿Ｒを算出する。
0004064042.tif 000004
ここで、Ｓｌｉｐ＿ｒａｔｉｏ＿ｚｅｒｏは、前輪と後輪のタイヤ径が異なる場合などにこれを補正するための後輪スリップ率零点補正値であり、例えば、発進時に検出され、ＥＣＵ１１に記憶されているものである。
【００４２】
次に、上記ステップ４８で算出した目標前後輪差回転数ＤＮ＿Ｆ＿Ｒが、その第１下限値ＤＮ＿Ｆ＿Ｒ＿ＭＩＮ１（例えば車速１ｋｍ／ｈ相当）以下であるか否かを判別する（ステップ４９）。この答がＹＥＳのときには、目標前後輪差回転数ＤＮ＿Ｆ＿Ｒを第１下限値ＤＮ＿Ｆ＿Ｒ＿ＭＩＮ１に設定する（ステップ５０）一方、ＮＯのときにはステップ５０をスキップすることで、目標前後輪差回転数ＤＮ＿Ｆ＿Ｒを保持した後、ステップ５１に進む。
【００４３】
このステップ５１では、実際の前後輪差回転数Ｎ＿ＳＰＬＴ＿ｗｈｅｅｌと上記目標前後輪差回転数ＤＮ＿Ｆ＿Ｒとの偏差（Ｎ＿ＳＰＬＴ＿ｗｈｅｅｌ−ＤＮ＿Ｆ＿Ｒ）を、実／目標前後輪差回転数偏差ＥＮ＿Ｆ＿Ｒとして算出し、後述するステップ５６に進む。ここで、前後輪差回転数Ｎ＿ＳＰＬＴ＿ｗｈｅｅｌは、左右前輪回転数平均値Ｎ＿Ｆｗｈｅｅｌと左右後輪回転数平均値Ｎ＿Ｒｗｈｅｅｌとの差（＝Ｎ＿Ｆｗｈｅｅｌ−Ｎ＿Ｒｗｈｅｅｌ）である。
【００４４】
一方、前記ステップ４７の答がＮＯ、すなわちＮ＿Ｆｗｈｅｅｌ値またはＮ＿Ｒｗｈｅｅｌ値のいずれかが第１切換回転数Ｖｎ＿ｃｈａｎｇｅ１以下のときには、モータ回転パルス系を用いて、前記ステップ４８〜５１と同様の演算を行う。すなわち、まず前記式（３）において、後輪回転数として、左右後輪回転数平均値Ｎ＿Ｒｗｈｅｅｌに代えてモータ回転数Ｎｍｏｔを用いることによって、目標前後輪差回転数ＤＮ＿Ｆ＿Ｒを算出する（ステップ５２）。次いで、算出した目標前後輪差回転数ＤＮ＿Ｆ＿Ｒが、前記ＤＮ＿Ｆ＿Ｒ＿ＭＩＮ１よりも大きな第２下限値ＤＮ＿Ｆ＿Ｒ＿ＭＩＮ２（例えば車速３ｋｍ／ｈ相当）以下であるか否かを判別する（ステップ５３）。
【００４５】
この答がＹＥＳのときには、目標前後輪差回転数ＤＮ＿Ｆ＿Ｒを第２下限値ＤＮ＿Ｆ＿Ｒ＿ＭＩＮ２に設定する（ステップ５４）一方、ＮＯのときにはステップ５４をスキップすることで、目標前後輪差回転数ＤＮ＿Ｆ＿Ｒを保持する。次いで、ステップ５５において、実際の前後輪差回転数としてＮ＿ＳＰＬＴ＿ｍｏｔを用い、上記目標前後輪差回転数ＤＮ＿Ｆ＿Ｒとの偏差（Ｎ＿ＳＰＬＴ＿ｍｏｔ−ＤＮ＿Ｆ＿Ｒ）を、実／目標前後輪差回転数偏差ＥＮ＿Ｆ＿Ｒとして算出し、ステップ５６に進む。ここで、前後輪差回転数Ｎ＿ＳＰＬＴ＿ｍｏｔは、カウンタシャフト回転数Ｎｃｏｕｎｔｅｒとモータ回転数Ｎｍｏｔとの差（＝Ｎｃｏｕｎｔｅｒ−Ｎｍｏｔ）である。
【００４６】
次いで、ステップ５６において、前記ステップ５１またはステップ５５で算出した実／目標前後輪差回転数偏差ＥＮ＿Ｆ＿Ｒが０未満であるか否かを判別する。この答がＹＥＳ、すなわちＥＮ＿Ｆ＿Ｒ＜０であって、実際の前後輪差回転数（Ｎ＿ＳＰＬＴ＿ｗｈｅｅｌまたはＮ＿ＳＰＬＴ＿ｍｏｔ）が目標前後輪差回転数ＤＮ＿Ｆ＿Ｒよりも小さいときには、前輪スリップが発生していないとして、前輪スリップフラグＦ＿ｆｒｏｎｔを「０」にセットし（ステップ５７）、本プログラムを終了する。
【００４７】
一方、ステップ５６の答がＮＯ、すなわちＥＮ＿Ｆ＿Ｒ≧０であって、実際の前後輪差回転数が目標前後輪差回転数ＤＮ＿Ｆ＿Ｒ以上のときには、前輪スリップが発生しているとして、前輪スリップフラグＦ＿ｆｒｏｎｔを「１」にセットし（ステップ５８）、本プログラムを終了する。
【００４８】
このように前輪スリップの発生が検出されると、モータ４の最大出力が４ｋＷから８ｋＷに増大されるとともに、モータ４により後輪ＷＲＬ、ＷＲＲを駆動（アシスト）する駆動モードが実行される。また、以下に述べるように、前輪目標駆動力ＦＣＭＤ＿ＥＮＧが、実際の前後輪差回転数と目標前後輪差回転数ＤＮ＿Ｆ＿Ｒなどに基づき、フィードバック制御により減少補正される。
【００４９】
図１１〜図１３は、図３のステップ３５で実行される前輪目標駆動力ＦＣＭＤ＿ＥＮＧの算出サブルーチンを示す。この制御処理ではまず、車両２の制御モードが回生モードまたは停止モードであるか否かを判別する（ステップ６１）。この答がＮＯのときには、前輪目標駆動力計算値ＦＣＭＤ＿ＥＮＧ＿ｃａｌを、エンジン引きずり分ＦＥＮＧ＿ＯＦＦ（Ｄ４相当、負値）に設定する（ステップ６２）とともに、このＦＣＭＤ＿ＥＮＧ＿ｃａｌ値を前輪目標駆動力ＦＣＭＤ＿ＥＮＧとして決定する（ステップ６３）。次いで、後述するフィードバック制御時に用いられる制御ゲイン（ＦＲ＿ＴＣＳゲイン）、具体的にはＰ項、Ｉ項、Ｄ項およびＰＩＤ制御量を、値０にリセットし（ステップ６４）、本プログラムを終了する。
【００５０】
一方、前記ステップ６１の答がＮＯ、すなわち制御モードが駆動モードまたは充電モードのときには、そのうちの充電モードであるか否を判別する（ステップ６５）。充電モードのときには、前記ステップ３１およびステップ３３でそれぞれ算出した目標駆動力ＦＣＭＤ、後輪目標駆動力ＦＣＭＤ＿ＭＯＴを用い、次式（４）によって、前輪目標駆動力計算値ＦＣＭＤ＿ＥＮＧ＿ｃａｌを算出する（ステップ６６）。
0004064042.tif 000005
前述したように、エンジン引きずり分ＦＥＮＧ＿ＯＦＦは、それ自体は負値であることから、式（４）で減算項として用いられることで、その分が駆動力に加算されることになる。次いで、前記ステップ６３、６４と同様、このＦＣＭＤ＿ＥＮＧ＿ｃａｌ値を前輪目標駆動力ＦＣＭＤ＿ＥＮＧとして決定する（ステップ６７）とともに、ＦＲ＿ＴＣＳゲインを値０にリセットし（ステップ６８）、本プログラムを終了する。
【００５１】
一方、前記ステップ６５の答がＮＯ、すなわち制御モードが駆動モードであるときには、ステップ６９以降において、駆動モード時用の前輪目標駆動力ＦＣＭＤ＿ＥＮＧを算出する。まず、前記ステップ６７と同様、前輪目標駆動力計算値ＦＣＭＤ＿ＥＮＧ＿ｃａｌを、式（４）によって算出する（ステップ６９）。次いで、前輪スリップフラグＦ＿ｆｒｏｎｔＳＬＰが「０」であるか否かを判別する（ステップ７０）。この答がＹＥＳ、すなわち前輪スリップが発生していないときには、ステップ６９で算出した前輪目標駆動力計算値ＦＣＭＤ＿ＥＮＧ＿ｃａｌを、そのまま前輪目標駆動力ＦＣＭＤ＿ＥＮＧとして決定した（ステップ７１）後、ＦＲ＿ＴＣＳゲインを値０にリセットし（ステップ７２）、本プログラムを終了する。このように、前輪スリップが発生していない場合、駆動モード時の前輪目標駆動力ＦＣＭＤ＿ＥＮＧは、基本的に、目標駆動力ＦＣＭＤから後輪目標駆動力ＦＣＭＤ＿ＭＯＴを差し引いた値として決定される。
【００５２】
一方、前記ステップ７０の答がＮＯ、すなわちＦ＿ｆｒｏｎｔＳＬＰ＝１であって、前輪スリップが発生しているときには、次のステップ７３以降で、前輪目標駆動力ＦＣＭＤ＿ＥＮＧを、ＰＩＤフィードバック制御によって算出する。まず、左右前輪回転数平均値Ｎ＿Ｆｗｈｅｅｌおよび左右後輪回転数平均値Ｎ＿Ｒｗｈｅｅｌのいずれもが、前記ステップ４７で用いた第１切換回転数Ｖｎ＿ｃｈａｎｇｅ１よりも大きな第２切換回転数Ｖｎ＿ｃｈａｎｇｅ２（例えば車速１５ｋｍ／ｈ相当）よりも大きいか否かを判別する（ステップ７３）。この判別もまた、前述したステップ４７の判別と同じ理由から、次に実行する前後輪差回転数変化量の算出に用いるパラメータを、車速Ｖｃａｒの大小に応じて、車輪パルス系とモータ回転パルス系に切り換えるためのものである。また、第２切換回転数Ｖｎ＿ｃｈａｎｇｅ２が第１切換回転数Ｖｎ＿ｃｈａｎｇｅ１よりも大きな値に設定されるのは、前後輪差回転数の変化量を算出する関係上、その範囲をより大きくするためである。
【００５３】
したがって、上記ステップ７３の答がＹＥＳ、すなわちＮ＿Ｆｗｈｅｅｌ値およびＮ＿Ｒｗｈｅｅｌ値がいずれも、第２切換回転数Ｖｎ＿ｃｈａｎｇｅ２よりも大きいときには、車輪パルス系を用い、図６のステップ５１で算出した前後輪差回転数Ｎ＿ＳＰＬＴ＿ｗｈｅｅｌの今回値と前回値との差ｄＮ＿ＳＰＬＴ＿ｗｈｅｅｌを求め、この値を前後輪差回転数変化量ｄＥＮ＿Ｆ＿Ｒとして設定する（ステップ７４）。一方、ステップ７３の答がＮＯのときには、モータ回転パルス系を用い、図６のステップ５５で算出した前後輪差回転数Ｎ＿ＳＰＬＴ＿ｍｏｔの今回値と前回値との差ｄＮ＿ＳＰＬＴ＿ｍｏｔを求め、この値を前後輪差回転数変化量ｄＥＮ＿Ｆ＿Ｒとして設定する（ステップ７５）。
【００５４】
次に、ステップ７４またはステップ７５で算出した前後輪差回転数変化量ｄＥＮ＿Ｆ＿Ｒを用い、次式（５）によってＩ（積分）項ＫＩＦＳＬＰを算出する（ステップ７６）。
ＫＩＦＳＬＰ＝ＫＩＦＳＬＰ−ｄＥＮ＿Ｆ＿Ｒ＊ＫＩＦＳＬＰＫ・・・（５）
ここで、右辺のＫＩＦＳＬＰはＩ項前回値、ＫＩＦＳＬＰＫはＩ項係数である。
【００５５】
このように、このＰＩＤフィードバック制御では、Ｉ項ＫＩＦＳＬＰが、実／目標前後輪差回転数偏差ＥＮ＿Ｆ＿Ｒではなく、前後輪差回転数変化量ｄＥＮ＿Ｆ＿Ｒに基づいて算出される。これは、このＰＩＤフィードバック制御が、前輪スリップが発生している場合のみ、すなわち実際の前後輪差回転数が目標前後輪差回転数ＤＮ＿Ｆ＿Ｒよりも大きい場合にのみ、実行されることから、Ｉ項ＫＩＦＳＬＰを実／目標前後輪差回転数偏差ＥＮ＿Ｆ＿Ｒに基づいて算出すると、Ｉ項ＫＩＦＳＬＰが増える一方となって過成長するとともに、前輪スリップ制御の解除時に、過成長したＩ項が急に無くなってしまうことで、前輪駆動力が急激に変化することから、そのような事態を回避するためである。また、Ｉ項ＫＩＦＳＬＰを、前後輪差回転数変化量ｄＥＮ＿Ｆ＿Ｒに基づいて算出することによって、フィードバック制御の収束性を向上させることができる。
【００５６】
次に、ステップ７７〜８０において、上記のように算出したＩ項ＫＩＦＳＬＰのリミット処理を行う。すなわち、Ｉ項ＫＩＦＳＬＰがその上限値である値０よりも大きいか否かを判別し（ステップ７７）、ＫＩＦＳＬＰ＞０のときには、Ｉ項ＫＩＦＳＬＰを値０に設定する（ステップ７８）。また、ステップ７７の答がＮＯのときには、Ｉ項ＫＩＦＳＬＰがその下限値ＫＩＦＳＬＰＬＭＴＬ（例えば−３００ｋｇｆ）よりも小さいか否かを判別し（ステップ７９）、ＫＩＦＳＬＰ＜ＫＩＦＳＬＰＬＭＴＬのときには、Ｉ項ＫＩＦＳＬＰをに設定する（ステップ８０）。ステップ７９の答がＮＯのとき、すなわちＫＩＦＳＬＰＬＭＴＬ≦ＫＩＦＳＬＰ≦０のときには、Ｉ項ＫＩＦＳＬＰを保持する。以上のリミット処理により、Ｉ項ＫＩＦＳＬＰは、下限値ＫＩＦＳＬＰＬＭＴＬで規定される０以下の値として設定される。
【００５７】
次いで、ステップ８１に進み、Ｐ（比例）項ＫＰＦＳＬＰおよびＤ（微分）項ＫＤＦＳＬＰを、次式（６）（７）でそれぞれ算出する。
ＫＰＦＳＬＰ＝  −ＥＮ＿Ｆ＿Ｒ＊ＫＰＦＳＬＰＫ  ・・・（６）
ＫＤＦＳＬＰ＝−ｄＥＮ＿Ｆ＿Ｒ＊ＫＤＦＳＬＰＫ  ・・・（７）
ここで、ＫＰＦＳＬＰＫ、ＫＤＦＳＬＰＫは、それぞれＰ項係数、Ｄ項係数である。また、次式（８）により、これらのＰ項ＫＰＦＳＬＰおよびＤ項ＫＤＦＳＬＰとＩ項ＫＩＦＳＬＰを加算することによって、ＰＩＤ制御量ＫＦＳＬＰＭＡＩＮを算出する。
ＫＦＳＬＰＭＡＩＮ＝ＫＰＦＳＬＰ＋ＫＩＦＳＬＰ＋ＫＤＦＳＬＰ・・・（８）
【００５８】
次に、ステップ８２〜８５において、上記のようにして算出したＰＩＤ制御量ＫＦＳＬＰＭＡＩＮのリミット処理を行う。すなわち、ＰＩＤ制御量ＫＦＳＬＰＭＡＩＮがその上限値である値０よりも大きいか否かを判別し（ステップ８２）、この答がＹＥＳのときには、ＰＩＤ制御量ＫＦＳＬＰＭＡＩＮを値０に設定する（ステップ８３）。また、ステップ８２の答がＮＯ、すなわちＫＦＳＬＰＭＡＩＮ≦０のときには、ＰＩＤ制御量ＫＦＳＬＰＭＡＩＮが、前記ステップ６９で算出した前輪目標駆動力計算値ＦＣＭＤ＿ＥＮＧ＿ｃａｌ×（−１）に制御量制限値ＫＦＳＬＰＬＭＴ（例えば１５０ｋｇｆ）を加算した値（−ＦＣＭＤ＿ＥＮＧ＿ｃａｌ＋ＫＦＳＬＰＬＭＴ）よりも小さいか否かを判別し（ステップ８４）、小さいときには、この値をＰＩＤ制御量ＫＦＳＬＰＭＡＩＮとして設定する（ステップ８５）。ステップ８４の答がＮＯのときには、ＰＩＤ制御量ＫＦＳＬＰＭＡＩＮを保持する。以上のリミット処理により、ＰＩＤ制御量ＫＦＳＬＰＭＡＩＮは、０以下の値として設定される。
【００５９】
次いで、上記のようにして算出したＰＩＤ制御量ＫＦＳＬＰＭＡＩＮを、前輪目標駆動力補正量ＦＣＭＤ＿ＥＮＧ＿ＴＣＳとして決定する（ステップ８６）。そして、この前輪目標駆動力補正量ＦＣＭＤ＿ＥＮＧ＿ＴＣＳを前輪目標駆動力計算値ＦＣＭＤ＿ＥＮＧ＿ｃａｌに加算した値を、前輪スリップ中の前輪目標駆動力ＦＣＭＤ＿ＥＮＧとして決定し（ステップ８７）、本プログラムを終了する。これまでの演算処理内容から明らかなように、前輪目標駆動力補正量ＦＣＭＤ＿ＥＮＧ＿ＴＣＳは、値０または負値として設定されるので、この値の分だけ、前輪スリップ中の前輪目標駆動力ＦＣＭＤ＿ＥＮＧは、前輪目標駆動力計算値ＦＣＭＤ＿ＥＮＧに対して減少補正された値となる。また、この場合の前輪目標駆動力ＦＣＭＤ＿ＥＮＧは、制御量制限値ＫＦＳＬＰＬＭＴ以上の値に設定される。
【００６０】
以上のようにして算出された前輪目標駆動力ＦＣＭＤ＿ＥＮＧは、図２のステップ２６において、例えば図１４に示すＤＢＷ＿ＴＨテーブルを検索することにより、車速Ｖｃａｒに応じたアクチュエータ出力値ＤＢＷ＿ＴＨに換算される。そして、これに基づく駆動信号がアクチュエータ２４に出力され、スロットル弁開度θＴＨが制御されることで、エンジン３の駆動力が制御される。
【００６１】
以上のように、本実施形態によれば、前輪ＷＦＬ、ＷＦＲのスリップの発生を、実際の前後輪差回転数が目標前後輪差回転数ＤＮ＿Ｆ＿Ｒを超えているか否かによって判定するとともに、この前輪ＷＦＬ、ＷＦＲのスリップ中、前輪目標駆動力ＦＣＭＤ＿ＥＮＧを、前後輪差回転数が目標前後輪差回転数ＤＮ＿Ｆ＿Ｒになるように、ＰＩＤフィードバック制御により減少補正する。したがって、前輪がスリップした場合に、前後輪差回転数を目標差回転数ＤＮ＿Ｆ＿Ｒに維持するように前輪目標駆動力ＦＣＭＤ＿ＥＮＧを適切に制御できるので、低摩擦路においても、前輪ＷＦＬ、ＷＦＲを最適なスリップ状態に維持でき、安定した走行性を確保することができる。また、前輪スリップが発生した場合には、前輪目標駆動力ＦＣＭＤ＿ＥＮＧの減少補正と並行して、モータ４によるアシストが行われるので、前後輪差回転数を目標前後輪差回転数ＤＮ＿Ｆ＿Ｒに早期に収束させることができる。
【００６２】
また、この目標前後輪差回転数ＤＮ＿Ｆ＿Ｒは、登坂角ＳＬＯＰＥ＿ＡＮＧ、操舵角θＳＴＲ、車速Ｖｃａｒおよびアクセル開度θＡＰをパラメータとして決定されるので、車両２の実際の走行状態や運転者の意志に応じて、これを適切に設定することができる。さらに、前輪目標駆動力ＦＣＭＤ＿ＥＮＧのＰＩＤフィードバック制御において、Ｉ項ＫＩＦＳＬＰを、実／目標前後輪差回転数偏差ＥＮ＿Ｆ＿Ｒではなく、前後輪差回転数変化量ｄＥＮ＿Ｆ＿Ｒに基づいて算出するので、フィードバック制御の収束性を向上させることができる。また、Ｉ項ＫＩＦＳＬＰの過成長を回避できるとともに、その過成長に起因する、前輪スリップ制御の解除時における前輪目標駆動力ＦＣＭＤ＿ＥＮＧの急激な変化を防止することができる。
【００６３】
なお、本発明は、説明した実施形態に限定されることなく、種々の態様で実施することができる。例えば、実施形態では、モータ４と後輪ＷＲＬ、ＷＲＲの間を接続・遮断するクラッチとして、電磁クラッチ８を用いているが、伝達容量を制御可能なクラッチであればよく、例えば油圧式多板クラッチを採用してもよい。また、実施形態は、前輪をエンジンで駆動し、後輪をモータで駆動するタイプの前後輪駆動車両に、本発明を適用した例であるが、本発明は、これに限らず、エンジンおよびモータによる駆動を前後輪逆に行う車両にも、同様に適用することが可能である。
【００６４】
【発明の効果】
以上のように、本発明の前後輪駆動車両の駆動力制御装置によれば、エンジン側の駆動輪がスリップした場合に、前後の差回転数を目標差回転数に維持するようにエンジン目標駆動力が減少補正され、適切に制御されるので、低摩擦路においても、エンジン側の駆動輪を最適なスリップ状態に維持でき、安定した走行性を確保することができる。また、エンジン目標駆動力の減少補正と並行して、モータ目標駆動力が増大補正されるので、前後の差回転数を目標差回転数に早期に収束させることができる。さらに、エンジン目標駆動力の減少補正を、前後の差回転数変化量に応じて行うので、目標差回転数への差回転数の収束性を高めることができる。また、路面勾配、操舵角、車速およびアクセル開度の少なくとも１つを含む走行状態を表すパラメータに応じて、目標差回転数を設定するので、目標回転数を、車両の実際の走行状態や運転者の意志に応じて、適切に設定することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態による駆動力制御装置を適用した前後輪駆動車両の概略構成図である。
【図２】駆動力制御のメインフローを示すフローチャートである。
【図３】駆動力算出サブルーチンのフローチャートである。
【図４】目標駆動力テーブルの一例を示す図である。
【図５】前輪スリップの判定サブルーチンのフローチャートである。
【図６】図５の判定サブルーチンの残りの部分を示すフローチャートである。
【図７】目標スリップ率テーブルの一例を示す図である。
【図８】車速補正係数テーブルの一例を示す図である。
【図９】操舵角補正係数テーブルの一例を示す図である。
【図１０】ＡＰ開度補正係数テーブルの一例を示す図である。
【図１１】前輪目標駆動力の算出サブルーチンのフローチャートである。
【図１２】図１１の算出サブルーチンの続きの部分を示すフローチャートである。
【図１３】図１１および図１２の算出サブルーチンの残りの部分を示すフローチャートである。
【図１４】アクチュエータ出力値テーブルの一例を示す図である。
【符号の説明】
１  駆動力制御装置
２  車両（前後輪駆動車両）
３  エンジン
４  電気モータ
１１  ＥＣＵ（車速検出手段、目標駆動力算出手段、モータ目標駆動力算出手段、エンジン目標駆動力算出手段、差回転数検出手段、目標差回転数設定手段、スリップ判定手段、エンジン駆動力補正手段、モータ駆動力補正手段、差回転数変化量検出手段）
１２  車輪回転数センサ（車速検出手段）
１４  カウンタシャフト回転数センサ（差回転数検出手段）
１５  モータ回転数センサ（差回転数検出手段）
１６  アクセル開度センサ（アクセル開度検出手段）
ＷＦＬ、ＷＦＲ  前輪
ＷＲＬ、ＷＲＲ  後輪
θＡＰ  アクセル開度
Ｖｃａｒ  車速
ＳＬＯＰＥ＿ＡＮＧ  登坂角（路面勾配）
θＳＴＲ  操舵角
ＦＣＭＤ  目標駆動力
ＦＣＭＤ＿ＭＯＴ  後輪目標駆動力（モータ目標駆動力）
ＦＣＭＤ＿ＥＮＧ  前輪目標駆動力（エンジン目標駆動力）
Ｎ＿ＳＰＬＴ＿ｗｈｅｅｌ  前後輪差回転数（差回転数）
Ｎ＿ＳＰＬＴ＿ｍｏｔ  前後輪差回転数（差回転数）
ＤＮ＿Ｆ＿Ｒ  目標前後輪差回転数（目標差回転数）
ｄＥＮ＿Ｆ＿Ｒ  前後輪差回転数変化量（差回転数変化量）
【図１】
0004064042.tif 000006
【図２】
0004064042.tif 000007
【図３】
0004064042.tif 000008
【図４】
0004064042.tif 000009
【図５】
0004064042.tif 000010
【図６】
0004064042.tif 000011
【図７】
0004064042.tif 000012
【図８】
0004064042.tif 000013
【図９】
0004064042.tif 000014
【図１０】
0004064042.tif 000015
【図１１】
0004064042.tif 000016
【図１２】
0004064042.tif 000017
【図１３】
0004064042.tif 000018
【図１４】
0004064042.tif 000019