(57)【要約】【課題】角加速度に基づいてスリップを検出する際にスリップの誤検出により駆動輪の駆動トルクが制限されるのを防止する。【解決手段】モータ要求トルクＴｍ＊のトルク変化量ΔＴｍが大きいときには、そのトルク変化によって車両の振動や揺れが発生し、それによって角加速度αが一時的に大きくなり、角加速度αに基づくスリップ判定（ステップＳ１１２）において、スリップ未発生にもかかわらず角加速度αが閾値αｓｌｉｐを越えてスリップ発生と誤判定するおそれがある。このため、ステップＳ１０８でトルク変化量ΔＴｍが閾値Ｔｔｈｒを越えるときにはスリップ未発生にもかかわらずスリップ発生と誤判定するおそれがあると判断して、トルク制限の処理つまりスリップ発生時制御ルーチン（ステップＳ１２０）を行うことなく、ステップＳ１１６のグリップ時制御ルーチンを行う。【選択図】　　図２
2004112973.tif 000002
【特許請求の範囲】
【請求項１】
車両の駆動輪に接続された駆動軸に動力を出力可能な原動機を制御するスリップ制御装置であって、
前記駆動軸の角加速度を検出する角加速度検出手段と、
前記角加速度検出手段により検出された角加速度に基づいて前記駆動輪のスリップを検出するスリップ検出手段と、
前記スリップ検出手段によりスリップが検出されたとき該スリップを抑制するように前記駆動輪の駆動トルクを制限するトルク制限手段と、
車両運転状態がスリップに依存せずに前記角加速度が変動する状態にあるか否かを判定する状態判定手段と、
前記状態判定手段により車両運転状態がスリップに依存せずに前記角加速度が変動する状態にあると判定されたときには前記トルク制限手段による前記駆動輪の駆動トルクの制限を禁止するトルク制限禁止手段と
を備えた車両のスリップ制御装置。
【請求項２】
車両の駆動輪に接続された駆動軸に動力を出力可能な原動機を制御する車両のスリップ制御装置であって、
前記駆動軸の角加速度を検出する角加速度検出手段と、
該検出された角加速度に基づいて前記駆動輪のスリップを検出するスリップ検出手段と、
前記スリップ検出手段によりスリップが検出されたとき該スリップを抑制するように前記駆動輪の駆動トルクを制限するトルク制限手段と、
アクセル操作に基づいて得られる前記駆動輪のトルク指令値の変化量が所定範囲内か否かを判定するトルク変化量判定手段と、
前記トルク変化量判定手段により前記トルク指令値の変化量が所定範囲外と判定されたときには前記トルク制限手段による前記駆動輪の駆動トルクの制限を禁止するトルク制限禁止手段と
を備えた車両のスリップ制御装置。
【請求項３】
車両の駆動輪に接続された駆動軸に動力を出力可能な原動機であるモータとエンジンの少なくとも一方を制御する車両のスリップ制御装置であって、
前記駆動軸の角加速度を検出する角加速度検出手段と、
該検出された角加速度に基づいて前記駆動輪のスリップを検出するスリップ検出手段と、
前記スリップ検出手段によりスリップが検出されたとき該スリップを抑制するように前記駆動輪の駆動トルクを制限するトルク制限手段と、
前記エンジンの起動時の振動を検出するエンジン振動検出手段と、
前記エンジン振動検出手段によりエンジン起動時の振動が検出されたときには前記トルク制限手段による前記駆動輪の駆動トルクの制限を禁止するトルク制限禁止手段と
を備えた車両のスリップ制御装置。
【請求項４】
請求項１〜３のいずれかに記載の車両のスリップ制御装置であって、
前記スリップ検出手段は、前記角加速度検出手段により検出された角加速度が所定の閾値を越えたときにスリップを検出する
車両のスリップ制御装置。
【請求項５】
車両の駆動輪に接続された駆動軸に動力を出力可能な原動機を制御する車両のスリップ制御装置であって、
前記駆動軸の角加速度を検出する角加速度検出手段と、
該検出された角加速度が所定の閾値を越えたときに前記駆動輪のスリップを検出するスリップ検出手段と、
前記スリップ検出手段によりスリップが検出されたとき該スリップを抑制するように前記駆動輪の駆動トルクを制限するトルク制限手段と、
前記角加速度検出手段により検出された角加速度が前記所定の閾値を超えたあとの時間変化が機械共振に起因するものか否かを判定する時間変化判定手段と、
前記時間変化判定手段により前記角加速度が前記所定の閾値を越えたあとの時間変化が機械共振に起因していると判定されたときには前記トルク制限手段による前記駆動輪の駆動トルクの制限を禁止するトルク制限禁止手段と
を備えた車両のスリップ制御装置。
【請求項６】
請求項５に記載の車両のスリップ制御装置であって、
前記時間変化判定手段は、前記角加速度が前記所定の閾値を越えた時点から減少し始める時点までの時間幅が機械共振に起因しているか否かを判定する
車両のスリップ制御装置。
【請求項７】
請求項４〜６のいずれかに記載の車両のスリップ制御装置であって、
前記トルク制限禁止手段は、前記角加速度検出手段により検出された角加速度が前記所定の閾値よりも大きな値に設定された非スリップ上限値を越えたときには前記トルク制限手段による前記駆動輪の駆動トルクの制限を禁止しない
車両のスリップ制御装置。
【請求項８】
請求項１〜７のいずれかに記載の車両のスリップ制御装置であって、
前記トルク制限禁止手段は、前記トルク制限手段による前記駆動輪の駆動トルクの制限を禁止するにあたり、前記トルク制限手段を機能させないようにするか又は前記スリップ検出手段における前記所定の閾値を通常採り得ない大きな値に設定して前記トルク制限手段の実効性をなくす
車両のスリップ制御装置。
【請求項９】
請求項１〜８のいずれかに記載の車両のスリップ制御装置であって、
前記トルク制限禁止手段は、前記トルク制限手段による前記駆動輪の駆動トルクの制限を所定の制限禁止期間だけ禁止する
車両のスリップ制御装置。
【請求項１０】
車両の駆動輪に接続された駆動軸に動力を出力可能な原動機を制御する車両のスリップ制御方法であって、
（ａ）前記駆動軸の角加速度を検出するステップと、
（ｂ）該検出された角加速度に基づいて前記駆動輪のスリップを検出するステップと、
（ｃ）前記ステップ（ｂ）によりスリップが検出されたとき該スリップを抑制するように前記駆動輪の駆動トルクを制限するステップと、
（ｄ）車両運転状態がスリップに依存せずに前記角加速度が変動する状態か否かを判定するステップと、
（ｅ）前記ステップ（ｄ）により車両運転状態がスリップに依存せずに前記角加速度が変動する状態であると判定されたときには前記ステップ（ｃ）による前記駆動輪の駆動トルクの制限を禁止するステップと、
を含む車両のスリップ制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、車両のスリップ制御装置及びその方法に関し、詳しくは車両の駆動輪に接続された駆動軸に動力を出力可能な原動機を制御する車両のスリップ制御装置及びその制御方法に関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
従来、この種の車両のスリップ制御装置としては、モータからのトルクの出力により駆動輪にスリップが発生したときに、モータから駆動輪に出力するトルクを制限するものが提案されている（例えば、特許文献１参照）。この装置では、駆動輪の角加速度が所定の閾値を上回ったときにスリップを検出し、スリップを検出したときにモータから出力するトルクを低下することにより、スリップを抑制している。しかしながら、スリップが発生していないときでも例えばエンジン起動時の振動や大きなトルク変化が生じたときには、駆動輪の角加速度が所定の閾値を上回ることがありスリップを誤検出することがある。
【０００３】
一方、アクセル開度が急増したときつまりアクセル開度の時間変化率が大きいときには、駆動輪のスリップ状態の閾値を大きくしてスリップ制御の実効性をなくすことも提案されている（例えば、特許文献２参照）。しかしながら、ここではアクセル開度が急増したときの車体の反応性を損なわないことを目的としており、そもそもスリップの誤検出により駆動トルクが制限されるのを防止することを目的とするものではない。
【０００４】
本発明は上述した課題に鑑みなされたものであり、角加速度に基づいてスリップを検出する際にスリップの誤検出により駆動トルクが制限されるのを防止する車両のスリップ制御装置及びその方法を提供することを目的とする。
【０００５】
【特許文献１】
特開平１０−３０４５１４号公報
【特許文献２】
特開平３−１５６１３５号公報
【０００６】
【課題を解決するための手段及びその作用・効果】
本発明の車両のスリップ制御装置及びその方法は、上述の目的を達成するために以下の手段を採った。
【０００７】
本発明の一つは、車両の駆動輪に接続された駆動軸に動力を出力可能な原動機を制御する車両のスリップ制御装置であって、
前記駆動軸の角加速度を検出する角加速度検出手段と、
前記角加速度検出手段により検出された角加速度に基づいて前記駆動輪のスリップを検出するスリップ検出手段と、
前記スリップ検出手段によりスリップが検出されたとき該スリップを抑制するように前記駆動輪の駆動トルクを制限するトルク制限手段と、
車両運転状態がスリップに依存せずに前記角加速度が変動する状態にあるか否かを判定する状態判定手段と、
前記状態判定手段により車両運転状態がスリップに依存せずに前記角加速度が変動する状態にあると判定されたときには前記トルク制限手段による前記駆動輪の駆動トルクの制限を禁止するトルク制限禁止手段と
を備えたものである。
【０００８】
この車両のスリップ制御装置では、駆動輪に接続された駆動軸の角加速度に基づいて駆動輪のスリップが検出されたとき、このスリップを抑制するように駆動輪の駆動トルクを制限する。しかし、車両運転状態がスリップに依存せずに角加速度が変動する状態にあるときには、仮に角加速度に基づいて駆動輪のスリップが検出されたとしてもそれはスリップ以外の原因によることが考えられるため、駆動輪の駆動トルクを制限するのを禁止する。したがって、角加速度に基づいてスリップを検出する際に、スリップの誤検出により駆動トルクが制限されるのを防止することができる。
【０００９】
ここで、「原動機」は、駆動軸に動力を出力可能な機器であれば特に限定されず、例えばモータであってもよいしエンジンであってもよいしモータとエンジンの両方であってもよい。また、「原動機」を複数備える場合には、本発明の車両のスリップ制御装置はそれらのうちの少なくとも一つを制御するように構成されていてもよく、例えば原動機としてモータとエンジンの両方を搭載している場合には少なくともモータを制御するようにしてもよい。また、「車両運転状態がスリップに依存せずに角加速度が変動する状態にある」ときとしては、例えばトルク変化量が大きく変化するときとか、エンジンが起動するときなどが挙げられる。
【００１０】
本発明の一つは、車両の駆動輪に接続された駆動軸に動力を出力可能な原動機を制御する車両のスリップ制御装置であって、
前記駆動軸の角加速度を検出する角加速度検出手段と、
該検出された角加速度に基づいて前記駆動輪のスリップを検出するスリップ検出手段と、
前記スリップ検出手段によりスリップが検出されたとき該スリップを抑制するように前記駆動輪の駆動トルクを制限するトルク制限手段と、
アクセル操作に基づいて得られる前記駆動輪のトルク指令値の変化量が所定範囲内か否かを判定するトルク変化量判定手段と、
前記トルク変化量判定手段により前記トルク指令値の変化量が所定範囲外と判定されたときには前記トルク制限手段による前記駆動輪の駆動トルクの制限を禁止するトルク制限禁止手段と
を備えたものである。
【００１１】
この車両のスリップ制御装置では、駆動輪に接続された駆動軸の角加速度に基づいて駆動輪のスリップが検出されたとき、このスリップを抑制するように駆動輪の駆動トルクを制限する。しかし、アクセル操作に基づいて得られる駆動輪のトルク指令値の変化量が所定範囲外のとき（例えば所定量より大きいとき）には、そのトルク変化によって発生する振動や揺れ等で角加速度が変動することがある。このような状況下では、仮に角加速度に基づいて駆動輪のスリップが検出されたとしてもそれはトルク変化によって発生する振動や揺れ等によることが考えられるため、駆動輪の駆動トルクを制限するのを禁止する。したがって、角加速度に基づいてスリップを検出する際に、スリップの誤検出により駆動トルクが制限されるのを防止することができる。
【００１２】
本発明の一つは、車両の駆動輪に接続された駆動軸に動力を出力可能な原動機であるモータとエンジンの少なくとも一方を制御する車両のスリップ制御装置であって、
前記駆動軸の角加速度を検出する角加速度検出手段と、
該検出された角加速度に基づいて前記駆動輪のスリップを検出するスリップ検出手段と、
前記スリップ検出手段によりスリップが検出されたとき該スリップを抑制するように前記駆動輪の駆動トルクを制限するトルク制限手段と、
前記エンジンの起動時の振動を検出するエンジン振動検出手段と、
前記エンジン振動検出手段によりエンジン起動時の振動が検出されたときには前記トルク制限手段による前記駆動輪の駆動トルクの制限を禁止するトルク制限禁止手段と
を備えたものである。
【００１３】
この車両のスリップ制御装置では、駆動輪に接続された駆動軸の角加速度に基づいて駆動輪のスリップが検出されたとき、このスリップを抑制するように駆動輪の駆動トルクを制限する。しかし、エンジンの起動時の振動を検出したときには、その振動で角加速度が変動することがある。このような状況下では、仮に角加速度に基づいて駆動輪のスリップが検出されたとしてもそれはエンジンの起動時の振動によることが考えられるため、駆動輪の駆動トルクを制限するのを禁止する。したがって、角加速度に基づいてスリップを検出する際に、スリップの誤検出により駆動トルクが制限されるのを防止することができる。
【００１４】
本発明の一つは、車両の駆動輪に接続された駆動軸に動力を出力可能な原動機を制御する車両のスリップ制御装置であって、
前記駆動軸の角加速度を検出する角加速度検出手段と、
該検出された角加速度が所定の閾値を越えたときに前記駆動輪のスリップを検出するスリップ検出手段と、
前記スリップ検出手段によりスリップが検出されたとき該スリップを抑制するように前記駆動輪の駆動トルクを制限するトルク制限手段と、
前記角加速度検出手段により検出された角加速度が前記所定の閾値を越えたあとの時間変化が機械共振に起因するものか否かを判定する時間変化判定手段と、
前記時間変化判定手段により前記角加速度が前記所定の閾値を越えたあとの時間変化が機械共振に起因していると判定されたときには前記トルク制限手段による前記駆動輪の駆動トルクの制限を禁止するトルク制限禁止手段と
を備えたものである。
【００１５】
この車両のスリップ制御装置では、駆動輪に接続された駆動軸の角加速度が所定の閾値を越えたことにより駆動輪のスリップが検出されたとき、このスリップを抑制するように駆動輪の駆動トルクを制限する。しかし、角加速度が所定の閾値を越えたあとの時間変化が機械共振に起因するものと判定されたときには、仮に角加速度に基づいて駆動輪のスリップが検出されたとしてもそれは機械共振によるため、駆動輪の駆動トルクを制限するのを禁止する。したがって、角加速度に基づいてスリップを検出する際に、スリップの誤検出により駆動トルクが制限されるのを防止することができる。
【００１６】
このとき、前記時間変化判定手段は、前記角加速度が前記所定の閾値を越えた時点から減少し始める時点までの時間幅が機械共振に起因しているか否かを判定してもよい。角加速度が所定の閾値を超えたあとの時間変化が機械共振に起因するものか否かを判定する場合、その判定結果が出るまではトルク制限を禁止できないため、できるだけ早期に判定結果が出るようにするべく、角加速度が所定の閾値を越えた時点から減少し始める時点までの時間幅が機械共振に起因しているか否かを判定することが好ましい。
【００１７】
本発明の各車両のスリップ制御装置において、前記スリップ検出手段は、前記角加速度検出手段により検出された角加速度が所定の閾値を越えたときにスリップを検出する手段であってもよい。こうすれば、スリップの検出を簡単かつ確実に行うことができる。このとき、前記トルク制限禁止手段は、前記角加速度検出手段により検出された角加速度が前記所定の閾値よりも大きな値に設定された非スリップ上限値を越えたときには前記トルク制限手段による前記駆動輪の駆動トルクの制限を禁止しないようにしてもよい。こうすれば、スリップが発生しているにもかかわらず誤検出であるとして駆動トルクの制限を禁止してしまうことがない。なお、非スリップ上限値は、例えばスリップ時しか採り得ない値とすればよい。
【００１８】
本発明の各車両のスリップ制御装置において、前記トルク制限禁止手段は、前記トルク制限手段による前記駆動輪の駆動トルクの制限を禁止するにあたり、前記トルク制限手段を機能させないようにするか、又は、前記スリップ検出手段における前記所定の閾値を通常採り得ない大きな値に設定して前記トルク制限手段の実効性をなくしてもよい。いずれにしても、トルク制限手段による駆動輪の駆動トルクの制限を禁止することができる。
【００１９】
本発明の各車両のスリップ制御装置において、前記トルク制限禁止手段は、前記トルク制限手段による前記駆動輪の駆動トルクの制限を所定の制限禁止期間だけ禁止してもよい。こうすれば、所定の制限禁止期間が経過したあとスリップが発生したときにはスリップを抑制することができる。
【００２０】
本発明の一つは、車両の駆動輪に接続された駆動軸に動力を出力可能な原動機を制御する車両のスリップ制御方法であって、
（ａ）前記駆動軸の角加速度を検出するステップと、
（ｂ）前記角加速度検出手段により検出された角加速度に基づいて前記駆動輪のスリップを検出するステップと、
（ｃ）前記ステップ（ｂ）によりスリップが検出されたとき該スリップを抑制するように前記駆動輪の駆動トルクを制限するステップと、
（ｄ）車両運転状態がスリップに依存せずに前記角加速度が変動する状態か否かを判定するステップと、
（ｅ）前記ステップ（ｄ）により車両運転状態がスリップに依存せずに前記角加速度が変動する状態であると判定されたときには前記ステップ（ｃ）による前記駆動輪の駆動トルクの制限を禁止するステップと、
を含むものである。
【００２１】
この車両のスリップ制御方法では、駆動輪に接続された駆動軸の角加速度に基づいて駆動輪のスリップが検出されたとき、このスリップを抑制するように駆動輪の駆動トルクを制限する。しかし、車両運転状態がスリップに依存せずに角加速度が変動する状態のときには、仮に角加速度に基づいて駆動輪のスリップが検出されたとしてもそれはスリップ以外の原因によることが考えられるため、駆動輪の駆動トルクを制限するのを禁止する。したがって、角加速度に基づいてスリップを検出する際に、スリップの誤検出により駆動トルクが制限されるのを防止することができる。
【００２２】
【発明の実施の形態】
［第１実施形態］
図１は、スリップ制御装置として機能する電子制御ユニット４０を備える電気自動車１０の構成の概略を示す構成図である。この電気自動車１０は、図示するように、バッテリ１６からインバータ回路１４を介して供給された電力を用いて駆動輪１８ａ，１８ｂに接続された駆動軸に動力の出力が可能なモータ１２を駆動制御する装置として構成されており、モータ１２の回転軸の回転角θを検出する回転角センサ２２と、電気自動車１０の走行速度を検出する車速センサ２４と、運転者からの各種操作を検出する各種センサ（例えば、シフトレバー３１のポジションを検出するシフトポジションセンサ３２や，アクセルペダル３３の踏み込み量（アクセル開度）を検出するアクセルペダルポジションセンサ３４，ブレーキペダル３５の踏み込み量（ブレーキ開度）を検出するブレーキペダルポジションセンサ３６など）と、装置全体をコントロールする電子制御ユニット４０とを備える。なお、１９ａ，１９ｂは従動輪を表す。
【００２３】
モータ１２は、例えば、電動機として機能すると共に発電機としても機能する周知の同期発電電動機として構成され、インバータ回路１４は、バッテリ１６からの電力をモータ１２の駆動に適した電力に変換する複数のスイッチング素子により構成されている。こうしたモータ１２やインバータ回路１４の構成そのものは周知であり、本発明の中核をなさないから、これ以上の詳細な説明は省略する。
【００２４】
電子制御ユニット４０は、ＣＰＵ４２を中心としたマイクロプロセッサとして構成されており、ＣＰＵ４２の他に処理プログラムを記憶したＲＯＭ４４と、一時的にデータを記憶するＲＡＭ４６と、入出力ポート（図示せず）とを備える。この電子制御ユニット４０には、回転角センサ２２により検出されたモータ１２の回転軸の回転角θや、車速センサ２４により検出された車速Ｖ、シフトポジションセンサ３２により検出されたシフトポジション、アクセルペダルポジションセンサ３４により検出されたアクセル開度Ａｃｃ、ブレーキペダルポジションセンサ３６により検出されたブレーキ開度などが入力ポートを介して入力されている。また、電子制御ユニット４０からは、モータ１２を駆動制御するインバータ回路１４のスイッチング素子へのスイッチング制御信号などが出力ポートを介して出力されている。
【００２５】
こうして構成された電気自動車１０の動作、特に、駆動輪１８ａ，１８ｂにスリップが発生したときのモータ１２の駆動制御について説明する。図２は、電子制御ユニット４０により実行されるモータ駆動制御プログラムの一例を示すフローチャートである。このプログラムは、所定時間毎（ここでは８ｍｓｅｃ毎）にＲＯＭ４４から読み出されて実行される。
【００２６】
このモータ駆動制御プログラムが開始されると、電子制御ユニット４０のＣＰＵ４２は、まず、アクセルペダルポジションセンサ３４からのアクセル開度Ａｃｃや車速センサ２４からの車速Ｖ、回転角センサ２２の回転角θなどを入力する処理を行う（ステップＳ１００）。次に、入力したアクセル開度Ａｃｃと車速Ｖとに基づいて駆動輪１８ａ、１８ｂのトルク指令値、本実施形態ではモータ１２の要求トルクＴｍ＊を設定する（ステップＳ１０２）。モータ要求トルクＴｍ＊の設定は、ここでは、アクセル開度Ａｃｃと車速Ｖとモータ要求トルクＴｍ＊との関係を予め求めてマップとしてＲＯＭ４４に記憶しておき、アクセル開度Ａｃｃと車速Ｖとが与えられると、マップから対応するモータ要求トルクＴｍ＊を導出するものとした。このマップの一例を図３に示す。
【００２７】
続いて、トルク制限禁止フラグＦ０が値１にセットされているか否かを判定する（ステップＳ１０４）。このトルク制限禁止フラグＦ０は、トルク制限を行うことが許容されているときには値０、トルク制限を行うことが禁止されているときには値１にセットされるフラグである。なお、トルク制限の処理とは、後述するステップＳ１２０のスリップ発生時制御ルーチンやステップＳ１２４のスリップ収束時制御ルーチンをいう。ステップＳ１０４でトルク制限禁止フラグＦ０が値０のときには、モータ要求トルクＴｍ＊の変化量ΔＴｍを計算する（ステップＳ１０６）。この変化量ΔＴｍの計算は、今回導出したモータ要求トルクＴｍ＊から前回導出したモータ要求トルクＴｍ＊を減じる（今回のモータ要求トルクＴｍ＊−前回のモータ要求トルクＴｍ＊）ことにより行う。本プログラムは８ｍｓｅｃごとに繰り返し実行されるため、この変化量ΔＴｍは８ｍｓｅｃごとの変化量ということになる。次いで、モータ要求トルクＴｍ＊の変化量ΔＴｍと予め定められたトルクの閾値Ｔｔｈｒとを比較し（ステップＳ１０８）、変化量ΔＴｍが閾値Ｔｔｈｒ以下のときにはステップＳ１１０へ進み、変化量ΔＴｍが閾値Ｔｔｈｒを越えるときにはトルク制限禁止フラグＦ０に値１をセットし（ステップＳ１２６）、後述するグリップ時制御ルーチン（ステップＳ１１６）を行ったあと、このプログラムを終了する。また、ステップＳ１０４でトルク制限禁止フラグＦ０が値１のときにも、後述するグリップ時制御ルーチン（ステップＳ１１６）を行ったあと、このプログラムを終了する。
【００２８】
ところで、閾値Ｔｔｈｒは、ドライバのアクセル踏み増し操作に起因して発生するモータ要求トルクＴｍ＊の変化量ΔＴｍを予め経験的に求め、その経験値に基づいて定められている。アクセル踏み増し時のようにモータ要求トルクＴｍ＊の変化量ΔＴｍが大きいときには、そのトルク変化によって車両の振動や揺れが発生し、それによって角加速度αが一時的に大きくなり、角加速度αに基づくスリップ判定（ステップＳ１１２）において、スリップ未発生にもかかわらず角加速度αが閾値αｓｌｉｐを越えてスリップ発生と誤判定するおそれがある。このため、ステップＳ１０８でモータ要求トルクＴｍ＊の変化量ΔＴｍと閾値Ｔｔｈｒとを比較し、変化量ΔＴｍが閾値Ｔｔｈｒを越えるときにはスリップ未発生にもかかわらずスリップ発生と誤判定するおそれがあると判断して、トルク制限の処理つまりスリップ発生時制御ルーチン（ステップＳ１２０）やスリップ収束時制御ルーチン（ステップＳ１２４）に進む可能性のあるステップＳ１１２等を行うことなく、ステップＳ１１６のグリップ時制御ルーチンを行うようにしている。
【００２９】
さて、ステップＳ１０８でモータ要求トルクＴｍ＊の変化量ΔＴが閾値Ｔｔｈｒ以下のときには、ステップＳ１００で入力した回転角θに基づいてモータ回転数Ｎｍを算出し、このモータ回転数Ｎｍに基づいて角加速度αを計算する（ステップＳ１１０）。ここでは、角加速度αの計算は、今回得られた回転数Ｎｍから前回得られた回転数Ｎｍを減じる（今回の回転数Ｎｍ−前回の回転数Ｎｍ）ことにより行うものとする。なお、角加速度αの単位は、回転数Ｎｍの単位を１分間あたりの回転数［ｒｐｍ］で示すと、本プログラムの実行時間間隔は８ｍｓｅｃであるから、［ｒｐｍ／８ｍｓｅｃ］となる。勿論、回転速度の時間変化率として示すことができれば、如何なる単位を採用するものとしても構わない。また、角加速度αは、誤差を小さくするために今回から過去数回（例えば、３回）に亘って計算された角加速度の平均を用いるものとしても構わない。
【００３０】
こうして角加速度αが計算されると、この角加速度αに基づいて駆動輪１８ａ，１８ｂのスリップ状態を判定する（ステップＳ１１２）。ここでは、角加速度αと、空転によるスリップが発生したとみなすことのできる閾値αｓｌｉｐとを比較し、角加速度αが閾値αｓｌｉｐを越えていると判定されたときには、駆動輪１８ａ，１８ｂにスリップが発生したと判断して、スリップの発生を示すスリップ発生フラグＦ１を値１にセットし（ステップＳ１１８）、後述するスリップ発生時制御ルーチン（ステップＳ１２０）を行ったあと、このプログラムを終了する。
【００３１】
一方、ステップＳ１１２で角加速度αが閾値αｓｌｉｐを越えていないと判定されたときには、次にスリップ発生フラグＦ１の状態を判定する（ステップＳ１１４）。スリップ発生フラグＦ１が値１であると判定されたときには、角加速度αが負の値であり且つそれが所定時間継続しているというスリップ収束条件を満足するか否かを判定し（ステップＳ１２２）、このスリップ収束条件を満足したときには駆動輪１８ａ，１８ｂに発生したスリップは収束したと判断して後述するスリップ収束時制御ルーチン（ステップＳ１２４）を行ったあと、このプログラムを終了する。一方、ステップＳ１２２でスリップ収束条件を満足しなかったときには、発生したスリップは未だ収束していないと判断して、スリップ発生時制御ルーチン（ステップＳ１２０）を行い、その後このプログラムを終了する。また、ステップＳ１１４でスリップ発生フラグＦ１が値１でないと判定されたときには、駆動輪１８ａ，１８ｂは路面をグリップしていると判断して、後述するグリップ時制御ルーチン（ステップＳ１１６）を行い、その後このプログラムを終了する。
【００３２】
次に各制御ルーチン、つまりステップＳ１１６のグリップ時制御ルーチン、ステップＳ１２０のスリップ発生時制御ルーチン、ステップＳ１２４のスリップ収束時制御ルーチンについて説明する。
【００３３】
グリップ時制御は、通常のモータ１２の駆動制御であると同時にトルク制限が禁止されているときのモータ１２の駆動制御であり、図４のグリップ時制御ルーチンに基づいて行われる。このルーチンが開始されると、電子制御ユニット４０のＣＰＵ４２は、まず、モータ要求トルクＴｍ＊に基づいてモータ１２から要求トルクＴｍ＊に見合うトルクが出力されるようモータ１２を駆動制御する（ステップＳ１３０）。続いて、トルク制限禁止フラグＦ０が値１か否かを判定し（ステップＳ１３２）、フラグＦ０が値０のときつまりトルク制限が禁止されていないときには、そのままこのルーチンを終了する。一方、フラグＦ０が値１のときつまりトルク制限が禁止されているときには、このフラグＦ０が値１になってから所定の制限禁止時間が経過したか否かを判定し（ステップＳ１３４）、制限禁止時間が経過していないときにはそのままこのルーチンを終了し、制限禁止時間が経過したときにはフラグＦ０を値０にリセットし（ステップＳ１３６）、このルーチンを終了する。ここで、制限禁止時間は、トルク制限を禁止する時間幅として予め定められた値である。具体的には、ドライバのアクセル踏み増し操作に起因して発生するモータ要求トルクＴｍ＊の変化量ΔＴｍが閾値Ｔｔｈｒより大きくなるとそのトルク変化によって車両に振動や揺れが発生して角加速度αが変動することがあるが、そのように角加速度αが変動し始めてからその変動が収まるまでの時間を経験的に求め、その経験値に基づいて制限禁止時間が定められている。このグリップ時制御ルーチンにより、駆動輪１８ａ，１８ｂが路面をグリップしているときやトルク制限が禁止されている期間中は、モータ１２からモータ要求トルクＴｍ＊に見合うトルクが出力されることになる。
【００３４】
スリップ発生時制御は、スリップにより角加速度αが上昇したときにその角加速度αを低下させるために行うモータ１２の駆動制御であり、図５のスリップ発生時制御ルーチンに基づいて行われる。このルーチンが実行されると、電子制御ユニット４０のＣＰＵ４２は、まず、角加速度αがピーク値αｐｅａｋを越えているか否かを判定し（ステップＳ１５０）、角加速度αがピーク値αｐｅａｋを越えていると判定されたときにはピーク値αｐｅａｋの値を角加速度αに更新する処理を行う（ステップＳ１５２）。ここで、ピーク値αｐｅａｋは、基本的には、スリップにより角加速度αが上昇してピークを示すときの角加速度の値であり、初期値として値０が設定されている。したがって、角加速度αが上昇してピークに達するまでの間はピーク値αｐｅａｋを角加速度αの値に順次更新していき、角加速度αがピークに達した時点でその角加速度αがピーク値αｐｅａｋとして固定されることになる。こうしてピーク値αｐｅａｋが設定されると、このピーク値αｐｅａｋに基づいてモータ１２が出力できるトルクの上限であるトルク上限値Ｔｍａｘを設定する処理を行う（ステップＳ１５４）。この処理は、ここでは、図６に例示するマップを用いて行われる。図６は、角加速度αとトルク上限値Ｔｍａｘとの関係を示すマップであり、トルク上限値Ｔｍａｘは角加速度αの関数ｇ（α）として表される。このマップでは、図示するように、角加速度αが大きくなるほどトルク上限値Ｔｍａｘは小さくなる特性を有している。したがって、角加速度αが上昇してピーク値αｐｅａｋが大きくなるほど、即ちスリップの程度が大きいほど、トルク上限値Ｔｍａｘとして小さな値が設定され、その分モータ１２から出力されるトルクが制限されることになる。
【００３５】
トルク上限値Ｔｍａｘが設定されると、モータ要求トルクＴｍ＊が、設定されたトルク上限値Ｔｍａｘを越えているか否かを判定し（ステップＳ１５６）、モータ要求トルクＴｍ＊がトルク上限値Ｔｍａｘを越えていると判定されたときにはモータ要求トルクＴｍ＊をトルク上限値Ｔｍａｘに修正する（ステップＳ１５８）。そして、トルクＴｍ＊を目標トルクとしてモータ１２から目標トルクＴｍ＊に見合うトルクが出力されるようモータ１２を駆動制御して（ステップＳ１６０）、本ルーチンを終了する。これにより、スリップ発生時においてモータ１２から出力されるトルクは、スリップを抑制するための低いトルク（具体的には、図６のマップにおいて角加速度のピーク値αｐｅａｋに対応するトルク上限値Ｔｍａｘ）に制限されるので、スリップを効果的に抑制することができる。
【００３６】
スリップ収束時制御は、スリップ発生時制御によるトルクの制限により角加速度αが低下したときに、制限したトルクを復帰させるために行うモータ１２の駆動制御である。ここでは、トルク上限値Ｔｍａｘを所定の待機時間の経過ごとに段階的に上昇させていき、モータ要求トルクＴｍ＊がトルク上限値Ｔｍａｘを越えるときにはモータ要求トルクＴｍ＊をトルク上限値Ｔｍａｘとしてモータ１２を駆動制御する。トルク上限値Ｔｍａｘの設定については、まず、角加速度αが閾値αｓｌｉｐを上回った時点から閾値αｓｌｉｐを下回った時点までの角加速度αの時間積分値αｉｎｔを求め、その時間積分値αｉｎｔの関数としてガード値δ（単位は、角加速度と同じ単位の［ｒｐｍ／８ｍｓｅｃ］）を算出し、図６のマップを用いてこのガード値δに対応するトルク上限値Ｔｍａｘを求め、この値をスリップ収束時開始当初のトルク上限値Ｔｍａｘとする。その後所定の待機時間が経過するごとに、ガード値δを一定量Δδずつ減少させて新たなガード値δとし、図６のマップを用いてそのガード値δに対応するトルク上限値Ｔｍａｘを新たなトルク上限値Ｔｍａｘとする。そして、最終的にガード値δがゼロ以下になった時点で各フラグＦ０，Ｆ１をリセットし、このスリップ収束時制御を終了する。
【００３７】
図７は、アクセル開度の時間変化、角加速度αの時間変化、モータ１２から出力されるトルクの時間変化、各フラグの時間変化を示す説明図であり、図８は、角加速度αの時間変化に基づいてトルク上限値Ｔｍａｘが設定される様子を示す説明図である。ここでは、時刻ｔｎと時刻ｔｎ−１との時間間隔は４０ｍｓｅｃ（図２のプログラムは８ｍｓｅｃごとに実行されるのでこの間に５回実行される）とした。
【００３８】
図７に示すように、時刻ｔ０において、車両停止時又は低速時にドライバがアクセルを踏み込み、その踏み込んだ状態が少なくとも時刻ｔ２３まで継続されたとする。このアクセルの踏み込みに応じて、モータ要求トルクＴｍ＊は、図７に点線で示すように、時刻ｔ０から時刻ｔ７に至るまでの期間において当初は急激に立ち上がりその後なだらかに増加していき、時刻ｔ７以降において一定値で推移する。ここでは、モータ要求トルクＴｍ＊が時刻ｔ０から時刻ｔ１になったときの変化量ΔＴｍが閾値Ｔｔｈｒを越えており、時刻ｔ１においてトルク制限禁止フラグＦ０が値１に設定される。
【００３９】
時刻ｔ０から時刻ｔ１ではトルク制限禁止フラグＦ０とスリップ発生フラグＦ１は共に値０のためグリップ時制御が実行されモータ要求トルクＴｍ＊に見合ったトルクがモータ１２から出力され、また、時刻ｔ１から時刻ｔ６ではトルク制限禁止フラグＦ０が値１のためここでもグリップ時制御が実行され、時刻ｔ６でトルク制限禁止時間（ここでは２００ｍｓｅｃとした）が経過するとトルク制限禁止フラグＦ０が値０に設定される。この時刻ｔ１から時刻ｔ６の間、角加速度αは大きなトルク変化によって変動して一時的に閾値αｓｌｉｐを越えているが、スリップ発生時制御を行うことがないため、トルク制限を受けることはない。したがって、モータ要求トルクＴｍ＊とモータ１２から出力されるトルクとが一致している。
【００４０】
時刻ｔ７では、トルク制限禁止フラグＦ０は値０でありトルク制限が禁止されていないため、角加速度αに基づくスリップ判定が行われ、このときの角加速度αは閾値αｓｌｉｐを越えているため、スリップ発生フラグＦ１は値１に設定され、スリップ発生時制御が実行される。そして、時刻ｔ９で角加速度αがピークに達するまでは図６のマップから角加速度αに応じたトルク上限値Ｔｍａｘが適時設定される（図８（ａ）参照）。この間、モータ要求トルクＴｍ＊はトルク上限値Ｔｍａｘを越えているため、モータ１２から出力されるトルクはトルク上限値Ｔｍａｘに制限される。また、時刻ｔ１０から時刻ｔ１３までは、角加速度αのピーク値αｐｅａｋに対応するトルク上限値Ｔｍａｘにトルクが制限される（図８（ｂ）参照）。この間、モータ要求トルクＴｍ＊はトルク上限値ｍａｘを越えているため、モータ１２から出力されるトルクはトルク上限値Ｔｍａｘに制限される。
【００４１】
時刻ｔ１４は、角加速度αが負の値であり且つそれが所定時間継続しているというスリップ収束条件を満たした時点であり、この時点でスリップは収束したと判断される。このため、時刻ｔ１４以降は、スリップ収束時制御が実行され、上述した時間積分値αｉｎｔを求め、その時間積分値αｉｎｔの関数としてガード値δを算出し、図６のマップを用いてこのガード値δに対応するトルク上限値Ｔｍａｘを求め（図８（ｃ）参照）、この値をスリップ収束時開始当初のトルク上限値Ｔｍａｘとする。その後所定の待機時間が経過するごとに、ガード値δを一定量Δδずつ減少させて新たなガード値δとし、図６のマップを用いてそのガード値δに対応するトルク上限値Ｔｍａｘを新たなトルク上限値Ｔｍａｘとする（図８（ｄ）参照）。そして、最終的にガード値δがゼロ以下になった時刻ｔ２３で各フラグＦ０，Ｆ１をリセットし、このスリップ収束時制御を終了する。この結果、時刻ｔ２３以降は、モータ要求トルクＴｍ＊とモータ１２から出力されるトルクとが一致する。
【００４２】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態の電子制御ユニット４０のＣＰＵ４２が、本発明の角加速度検出手段、スリップ検出手段、トルク制限手段、状態判定手段、トルク制限禁止手段に相当する。また、ＣＰＵ４２が実行するステップＳ１１０が角加速度検出手段の処理に相当し、ステップＳ１１２がスリップ検出手段の処理に相当し、ステップＳ１２０のスリップ発生時制御ルーチンやステップＳ１２４のスリップ収束時制御ルーチンがトルク制限手段の処理に相当し、ステップＳ１０４やステップＳ１０８が状態判定手段の処理に相当し、トルク制限禁止フラグＦ０が値１のときにステップＳ１１６のグリップ時制御ルーチンを実行する処理がトルク制限禁止手段の処理に相当する。また、ＣＰＵ４２はトルク変化量判定手段にも相当し、ステップＳ１０８がトルク変化量判定手段の処理に相当する。ステップＳ１０８がトルク変化量判定手段の処理に相当する。更に、モータ要求トルクＴｍ＊の変化量ΔＴｍが閾値Ｔｔｈｒを越えていると判定されたときが、駆動輪１８ａ，１８ｂのトルク指令値の変化量が所定範囲外と判定されたときに相当する。
【００４３】
以上詳述した本実施形態では、駆動輪１８ａ，１８ｂに接続された駆動軸の角加速度αに基づいてスリップが検出されたとき、このスリップを抑制するようにモータ１２の出力トルクを制限することにより駆動輪１８ａ、１８ｂの駆動トルクを制限する。しかし、アクセル操作に基づいて得られるモータ要求トルクＴｍ＊の変化量ΔＴｍが閾値Ｔｔｈｒを越えているときのように、車両運転状態がスリップに依存せずに角加速度が変動する状態にあるときには、仮に角加速度αに基づいてスリップが検出されたとしてもそれはスリップ以外の原因によることが考えられるため、モータ１２の出力トルクを制限するのを禁止する。したがって、角加速度αに基づいてスリップを検出する際に、スリップの誤検出により出力トルクが制限されるのを防止することができる。また、モータ要求トルクＴｍ＊の変化量ΔＴｍを用いてトルク制限を禁止するか否かを判定しているため、一旦出力トルクの制限を行ったあとその制限を禁止するのではなく、出力トルクの制限を行う前にその制限を禁止することができる。更に、スリップの検出は角加速度αが閾値αｓｌｉｐを越えたときにスリップを検出するため、スリップの検出を簡単かつ確実に行うことができる。更にまた、モータの出力トルクの制限を禁止するのは所定の制限禁止時間だけであるため、その制限禁止期間が経過したあとスリップが発生したときには迅速にそのスリップを抑制することができる。
【００４４】
［第２実施形態］
図９は、スリップ制御装置として機能する電子制御ユニット４０を備えるハイブリッド車１１０の構成の概略を示す構成図である。図９において、第１実施形態と同じ構成要素については同じ符号を付し、その説明を省略する。このハイブリッド車１１０は、図示するように、エンジン１１１と、エンジン１１１に接続されエンジン１１１の動力を駆動輪１８ａ，１８ｂとジェネレータ１１３とに分割するプラネタリギヤ１１７と、プラネタリギヤ１１７に接続された発電可能なジェネレータ１１３と、同じくプラネタリギヤ１１７に接続されると共に駆動輪１８ａ，１８ｂに接続された駆動軸に直接動力を出力可能なように接続されたモータ１１２とを備えている。モータ１１２はインバータ回路１１４を介してバッテリ１１６に接続され、ジェネレータ１１３はインバータ回路１１５を介してバッテリ１１６に接続されている。電子制御ユニット４０は、これらのインバータ回路１１４，１１５のスイッチング素子へのスイッチング制御信号を出力する。また、電子制御ユニット４０は、駆動輪１８ａ，１８ｂにスリップが発生したときには、駆動輪１８ａ、１８ｂの駆動トルクを制限することによりスリップを抑制するように制御する。
【００４５】
こうして構成されたハイブリッド車１１０の動作について説明する。図示しないハイブリッドＥＣＵは、エンジン１１１とモータ１１２の一方又は両方を動力源として走行するようハイブリッド制御を行う。例えば、発進時や低速走行時のようにエンジン効率が低くなる領域では、エンジン１１１を停止させ、モータ１１２の動力で駆動輪１８ａ，１８ｂを駆動させて走行するよう制御する。また、通常走行時には、エンジン１１１を起動させてそのエンジン１１１の動力をプラネタリギヤ１１７で駆動輪１８ａ，１８ｂとジェネレータ１１３とに分割し、ジェネレータ１１３に発電させてその発電電力でモータ１１２を駆動して駆動輪１８ａ，１８ｂの駆動を補助するよう制御する。全開加速等の高負荷時には、これに加えてバッテリ１１６からもモータ１１２にパワーが供給され、更に駆動力が追加される。
【００４６】
次に、ハイブリッド車１１０の動作のうち、特に、駆動輪１８ａ，１８ｂにスリップが発生したときの駆動制御について説明する。図１０は、電子制御ユニット４０により実行される駆動制御プログラムの一例を示すフローチャートである。このプログラムは、所定時間毎（ここでは８ｍｓｅｃ毎）にＲＯＭ４４から読み出されて実行される。
【００４７】
この駆動制御プログラムが開始されると、電子制御ユニット４０のＣＰＵ４２は、まず、アクセル開度Ａｃｃや車速Ｖや駆動輪１８ａ，１８ｂに接続された駆動軸の回転角θなどを入力する処理を行う（ステップＳ２００）。次に、駆動輪１８ａ、１８ｂに接続された駆動軸のトルク指令値Ｔ＊を設定する（ステップＳ２０２）。具体的には、アクセル開度Ａｃｃと車速Ｖとに基づいて、アクセル開度Ａｃｃと車速Ｖとトルク指令値Ｔ＊との関係を表す図３に類似のマップからトルク指令値Ｔ＊を求める。続いて、トルク制限禁止フラグＦ０が値１にセットされているか否かを判定する（ステップＳ２０４）。ステップＳ２０４でトルク制限禁止フラグＦ０が値０つまりトルク制限が禁止されていないときには、駆動輪１８ａ、１８ｂの駆動軸の角加速度αを計算し（ステップＳ２０６）、その角加速度αと閾値αｓｌｉｐとを比較した結果に基づいて駆動輪１８ａ，１８ｂのスリップ状態を判定する（ステップＳ２０８）。角加速度αの計算やスリップ状態の判定は、第１実施形態と同様であるため、説明を省略する。
【００４８】
ステップＳ２０８で角加速度αが閾値αｓｌｉｐを越えていると判定されたときには、スリップ発生フラグＦ１が値１か否かを判定し（ステップＳ２１４）、スリップ発生フラグＦ１が値０のとき、つまり前回まで角加速度αが閾値αｓｌｉｐを越えていなかったのに今回閾値αｓｌｉｐを越えたときには、スリップ発生フラグＦ１に値１を設定し（ステップＳ２１６）、時間計測を開始するとともに計測フラグＦ２に値１を設定する（ステップＳ２１８）。この計測フラグＦ２は時間計測をしていないときには値０、時間計測中のときには値１にセットされる。その後、角加速度αをピーク値αｐｅａｋに設定し（ステップＳ２２２）、スリップ発生時制御ルーチン（ステップＳ２３４）を行ったあと、このプログラムを終了する。本実施形態のスリップ発生時制御ルーチンは、図１１に示すスリップ発生時制御ルーチンのフローチャートにしたがって実行される。即ち、駆動輪１８ａ、１８ｂの駆動トルクのトルク上限値Ｔｍａｘを図６と類似のグラフを用いてピーク値αｐｅａｋの関数として算出することにより設定し（ステップＳ３００）、ステップＳ２０２で求めたトルク指令値Ｔ＊がこのトルク上限値Ｔｍａｘを越えるか否かを判定し（ステップＳ３１０）、トルク指令値Ｔ＊がトルク上限値Ｔｍａｘを越えないときにはステップＳ３３０に進み、トルク指令値Ｔ＊がトルク上限値Ｔｍａｘを越えるときにはトルク指令値Ｔ＊をトルク上限値Ｔｍａｘに制限し（ステップＳ３２０）、ステップＳ３３０に進む。そして、ステップＳ３３０では、トルク指令値Ｔ＊に基づいてエンジン１１１やモータ１１２やジェネレータ１１３の目標トルクや目標回転数を設定し、各々の目標値に応じてこれらを制御し、このルーチンを終了する。
【００４９】
ここで、各々の目標値を設定する具体例として、バッテリ１１６の充電が不要で駆動輪１８ａ，１８ｂへの要求動力Ｐ＊のすべてがエンジン１１１で賄われる場合をとりあげて説明する。まず、トルク指令値Ｔ＊と駆動輪１８ａ，１８ｂに接続された駆動軸の回転数Ｎ（回転角θから算出）とに基づいてその駆動軸に出力すべき要求動力Ｐ＊（＝Ｔ＊×Ｎ）を求める。ここでは、要求動力Ｐ＊はエンジン１１１の目標トルクＴｅ＊と目標回転数Ｎｅ＊との積になるが、エンジン１１１の高効率な運転が可能な組合せをマッピングした図示しないマップから目標トルクＴｅ＊と目標回転数Ｎｅ＊を設定する。そして、駆動輪１８ａ，１８ｂのトルク指令値Ｔ＊とエンジンの目標トルクＴｅ＊とプラネタリギヤ１１７のギヤ比とに基づいてモータ１１２の目標トルクＴｍ＊を設定し、エンジンの目標回転数Ｎｅ＊と駆動軸の回転数Ｎとに基づいてジェネレータ１１３の目標回転数を設定する。
【００５０】
さて、ステップＳ２１４でスリップ発生フラグＦ１が値１のとき、つまり前回も今回も角加速度αが閾値αｓｌｉｐを越えていたときには、加速度αがピーク値αｐｅａｋを越えているか否かを判定し（ステップＳ２２０）、角加速度αがピーク値αｐｅａｋを越えていると判定されたときにはピーク値αｐｅａｋの値を角加速度αに更新する処理を行い（ステップＳ２２２）、その後スリップ発生時制御ルーチン（ステップＳ２３４）を行い、このプログラムを終了する。一方、ステップＳ２２０で角加速度αがピーク値αｐｅａｋを越えていなかったときには、そのときのピーク値αｐｅａｋが角加速度αのピークとして固定される。つまり、そのときのピーク値αｐｅａｋが、角加速度αが閾値αｓｌｉｐを越えて増加したあと減少し始めた点となる。そして、計測フラグＦ２が値１か否かを判定し（ステップＳ２２４）、計測フラグＦ２が値１のときには時間計測を終了すると共に計測フラグＦ２を値０に設定し（ステップＳ２２６）、続いて計測した時間に基づいて角加速度αが閾値αｓｌｉｐを越えたのがエンジン１１１の起動に起因する機械共振によるものかスリップによるものなのかを判定する（ステップＳ２２８）。そして、機械共振によるものだったときには、トルク制限禁止フラグＦ０に値１を設定すると共にスリップ発生フラグＦ１に値０を設定し（ステップＳ２３０）、その後グリップ時制御ルーチン（ステップＳ２１２）を行ったあと、このプログラムを終了する。なお、グリップ時制御ルーチンは、第１実施形態と同じ（図４参照、但しステップＳ１３０では、トルク指令値Ｔ＊に基づいてエンジン１１１やモータ１１２やジェネレータ１１３の目標トルクや目標回転数を設定し、各々の目標値に応じてこれらを制御する）であるため、その説明を省略する。また、ステップＳ２０４でトルク制限禁止フラグＦ０が値１のときにも、グリップ時制御ルーチン（ステップＳ２１２）を行ったあと、このプログラムを終了する。
【００５１】
ところで、機械共振とは、エンジン１１１の起動時の振動等によって発生するものである。この機械共振によって角加速度αが一時的に大きくなり、スリップ未発生にもかかわらず角加速度αが閾値αｓｌｉｐを越えてスリップ発生と誤判定するおそれがある。ここで、機械共振によって角加速度αが閾値αｓｌｉｐを越えたときには短時間で角加速度αがピークに達するのに対して、スリップによって角加速度αが閾値αｓｌｉｐを越えたときには長時間かかって角加速度αがピークに達する。このため、ステップＳ２２８で、計測した時間が機械共振によるものと同様に短時間だったときには、トルク制限の処理つまりスリップ発生時制御ルーチン（ステップＳ２３４）やスリップ収束時制御ルーチン（ステップＳ２３６）を行うことなく、ステップＳ２１２のグリップ時制御ルーチンを行うようにしている。
【００５２】
さて、ステップＳ２２８で、計測した時間に基づいて角加速度αが閾値αｓｌｉｐを越えたのがスリップによるものだと判定されたときには、引き続きスリップ発生時制御ルーチン（ステップＳ２３４）を行い、その後このプログラムを終了する。また、ステップＳ２２４で計測フラグＦ２が値０だったときにも、スリップ発生時制御ルーチン（ステップＳ２３４）を行い、その後このプログラムを終了する。なお、ステップＳ２１０におけるスリップ発生フラグＦ１の値の判定や、ステップＳ２３２におけるスリップ収束条件を満たすか否かの判定については、第１実施形態のステップＳ１１４，Ｓ１２２と類似の処理のため、その説明を省略する。また、ステップＳ２３６のスリップ収束時制御では、駆動輪１８ａ，１８ｂのトルク上限値Ｔｍａｘを所定の待機時間の経過ごとに段階的に上昇させていき、トルク指令値Ｔ＊がトルク上限値Ｔｍａｘを越えるときにはトルク指令値Ｔ＊をトルク上限値Ｔｍａｘとし、トルク指令値Ｔ＊に基づいてエンジン１１１やモータ１１２やジェネレータ１１３の目標トルクや目標回転数を設定し、各々の目標値に応じてこれらを制御する。トルク上限値Ｔｍａｘの設定については、第１実施形態のスリップ収束時制御と同様にしてガード値δを算出し、図６に類似のマップを用いてこのガード値δに対応するトルク上限値Ｔｍａｘを求め、この値をスリップ収束時開始当初のトルク上限値Ｔｍａｘとし、その後所定の待機時間が経過するごとに、ガード値δを一定量Δδずつ減少させて新たなガード値δとし、図６に類似のマップを用いてそのガード値δに対応するトルク上限値Ｔｍａｘを新たなトルク上限値Ｔｍａｘとする。そして、最終的にガード値δがゼロ以下になった時点で各フラグＦ０，Ｆ１をリセットし、このスリップ収束時制御を終了する。
【００５３】
図１２は、角加速度αの時間変化と各フラグの時間変化を示す説明図である。ここでは、時刻ｔｎと時刻ｔｎ−１との時間間隔は１６ｍｓｅｃ（図１０のプログラムは８ｍｓｅｃごとに実行されるのでこの間に２回実行される）とした。
【００５４】
図１２の角加速度αの時間変化のグラフは、時刻ｔ０においてエンジン１１１が起動され、それにより車両に振動や揺れ等が発生し、角加速度αがスリップしていないにもかかわらず変動して一時的に閾値αｓｌｉｐを越えたときの様子を表したものである。時刻ｔ１〜時刻ｔ３では、角加速度αは閾値αｓｌｉｐを越えていないため、グリップ時制御が実行され、トルク指令値Ｔ＊に見合ったトルクが駆動輪１８ａ，１８ｂの駆動軸に出力される。
【００５５】
時刻ｔ４では、角加速度αが閾値αｓｌｉｐを越えたためスリップ発生フラグＦ１が値１に設定され、時間計測が開始されると共に計測フラグＦ２が値１に設定される。また、このときの角加速度αをピーク値αｐｅａｋとし、このピーク値αｐｅａｋに対応するトルク上限値Ｔｍａｘを図６と同様のマップから読み出し、駆動輪１８ａ、１８ｂの駆動軸のトルク指令値Ｔ＊がこのトルク上限値Ｔｍａｘを越えるときにはトルク指令値Ｔ＊をトルク上限値Ｔｍａｘに制限する。
【００５６】
時刻ｔ５では、前回と同じく角加速度αが閾値αｓｌｉｐを越えており、前回に比べて角加速度αが大きいため今回の角加速度αをピーク値αｐｅａｋとし、このピーク値αｐｅａｋに対応するトルク上限値Ｔｍａｘを図６と類似のマップから読み出し、駆動輪１８ａ、１８ｂのトルク指令値Ｔ＊がこのトルク上限値Ｔｍａｘを越えるときにはトルク指令値Ｔ＊をトルク上限値Ｔｍａｘに制限する。
【００５７】
時刻ｔ６では、前回と同じく角加速度αが閾値αｓｌｉｐを越えているが、前回に比べて角加速度αが小さいため、前回の角加速度αがピーク値αｐｅａｋとして確定し、また、時間計測を終了すると共に計測フラグＦ２が値０に設定される。そして、計測時間（ここでは角加速度αが閾値αｓｌｉｐを越えた時刻ｔ４からピークに達した時刻ｔ５まで）に基づいて、角加速度αが閾値αｓｌｉｐを越えたのが機械共振によるものかスリップによるものなのかを判定する。ここでは、機械共振による角加速度αの時間変化の様子を予め経験的に求め、角加速度αが閾値αｓｌｉｐを越えてからピークに達するまでの時間を算出し、その時間に基づいて閾値Ｔｃを定め、この閾値Ｔｃ以下のときには機械共振によるものと判定し、この閾値Ｔｃを越えるときにはスリップによるものと判定することにした。ここでは、計測時間はこの閾値Ｔｃ以下であったとし、この結果、トルク制限禁止フラグＦ０に値１を設定すると共にスリップ発生フラグＦ１に値０を設定し、その後グリップ時制御が行われる。
【００５８】
時刻ｔ７以降、トルク制限禁止フラグＦ０が値１であるため、グリップ時制御が行われ、トルク制限禁止フラグＦ０が値１になってから所定の制限禁止時間が経過した時刻ｔ１５において、トルク制限禁止フラグＦ０が値０に設定される。
【００５９】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態の電子制御ユニット４０のＣＰＵ４２が、本発明の角加速度検出手段、スリップ検出手段、トルク制限手段、状態判定手段、トルク制限禁止手段に相当する。また、ＣＰＵ４２が実行するステップＳ２０６が角加速度検出手段の処理に相当し、ステップＳ２０８がスリップ検出手段の処理に相当し、ステップＳ２３４のスリップ発生時制御ルーチンやステップＳ２３６のスリップ収束時制御ルーチンがトルク制限手段の処理に相当し、ステップＳ２２８が状態判定手段の処理に相当し、トルク制限禁止フラグＦ０が値１のときにステップＳ２１２のグリップ時制御ルーチンを実行する処理がトルク制限禁止手段の処理に相当する。また、ＣＰＵ４２はエンジン振動検出手段にも相当し、ステップ２２８がエンジン振動検出手段の処理に相当する。
【００６０】
以上詳述した本実施形態では、駆動輪１８ａ，１８ｂに接続された駆動軸の角加速度αに基づいてスリップが検出されたとき、このスリップを抑制するように駆動輪１８ａ、１８ｂの駆動トルクを制限する。しかし、車両運転状態がスリップに依存せずに角加速度αが変動する状態にあるとき、具体的には角加速度αが閾値αｓｌｉｐを越えて増加したあと減少し始めるまでの時間がエンジン１１１の起動時の振動による共振に起因するときには、仮に角加速度αに基づいてスリップが検出されたとしてもそれはスリップ以外の原因によることが考えられるため、駆動輪１８ａ、１８ｂの駆動トルクを制限するのを禁止する。したがって、角加速度αに基づいてスリップを検出する際に、スリップの誤検出により駆動トルクが制限されるのを防止することができる。また、本実施形態では、一旦駆動トルクが制限されたあとその制限が禁止されることになるが、角加速度αが所定の閾値αｓｌｉｐを越えて増加したあと減少し始めるまでの時間に基づいて駆動トルクの制限が禁止されるため、駆動トルクが一旦制限されるとしても時間的には僅かである。更に、角加速度αが閾値αｓｌｉｐを越えたときにスリップを検出するため、スリップの検出を簡単かつ確実に行うことができる。更にまた、駆動トルクの制限を禁止するのは所定の制限禁止時間だけであるため、その制限禁止期間が経過したあとスリップが発生したときには迅速にそのスリップを抑制することができる。
【００６１】
なお、本発明は上述した実施形態に何等限定されるものではなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【００６２】
例えば、上述した実施形態では、車両運転状態がスリップに依存せずに角加速度が変動する状態にある場合として、モータ要求トルクＴｍ＊の変化量ΔＴｍが大きいことにより角加速度αが変動する場合（第１実施形態）と、エンジン１１１が起動した時の振動の共振により角加速度αが変動する場合（第２実施形態）を例に挙げて説明したが、スリップに依存せずに角加速度αが変動するのであればこれら以外の車両運転状態であってもよい。
【００６３】
また、上述した第１実施形態では、電気自動車１０について説明したが、駆動軸に直接的に動力の出力が可能なモータを備える車両であれば、どのような構成の車両にこの第１実施形態の駆動制御を適用してもよい。例えば、第２実施形態のハイブリッド車１１０に適用してもよいし、シリーズ型やパラレル型などのハイブリッド車に適用してもよく、その場合には駆動輪１８ａ、１８ｂのトルク指令値Ｔ＊を制限するにあたりモータのトルク制限を行ってもよいしモータとエンジンのトルク制限を行ってもよい。
【００６４】
更に、上述した第２実施形態では、ハイブリッド車１１０について説明したが、駆動軸に直接的に動力の出力が可能なモータに加えてエンジンを備える車両であれば、どのような構成の車両にこの第２実施形態の駆動制御を適用してもよい。例えば、シリーズ型やパラレル型などのハイブリッド車に適用してもよい。
【００６５】
更にまた、上述した実施形態では、スリップ発生時制御ルーチンやスリップ収束時制御ルーチンにおいて駆動輪１８ａ、１８ｂの駆動トルクを制限したが、駆動トルクの制限は特にこれらのルーチンに限定されずどのように行ってもよい。
【００６６】
そしてまた、上述した実施形態において、閾値αｓｌｉｐに加えてこの閾値αｓｌｉｐよりも大きな値の非スリップ上限値αｍａｘを設定しておき、トルク制限禁止フラグＦ０が値１のときつまりトルク制限が禁止されているときであっても角加速度αが非スリップ上限値αｍａｘを越えたときにはスリップが発生したと判定してトルク制限禁止フラグＦ０を値０に設定してもよい。こうすれば、スリップが発生しているにもかかわらず誤検出であるとして駆動輪１８ａ、１８ｂの駆動トルクの制限を禁止してしまうことがない。なお、非スリップ上限値αｍａｘは、例えばスリップ時しか採り得ない値とすればよい。
【００６７】
そして更に、上述した実施形態では、トルク制限禁止フラグＦ０が値１のときつまりトルク制限が禁止されているときには、スリップ発生時制御やスリップ収束時制御といったトルク制限処理を行わないようにしたが、その代わりに、トルク制限禁止フラグＦ０が値１の間は閾値αｓｌｉｐを通常採り得ないほど大きな値に設定してもよい。こうすれば、スリップ判定処理（ステップＳ１１２やステップＳ２０８）で角加速度αが閾値αｓｌｉｐを越えることがないので、スリップが発生したと判定されることがなく、したがってトルク制限処理が行われることがない。
【図面の簡単な説明】
【図１】電気自動車の構成の概略を表す構成図である。
【図２】電気自動車で実行されるモータ駆動制御のフローチャートである。
【図３】車速とアクセル開度とモータ要求トルクとの関係を示すマップである。
【図４】グリップ時制御ルーチンのフローチャートである。
【図５】スリップ発生時制御ルーチンのフローチャートである。
【図６】モータの角加速度とトルク上限との関係を示すマップである。
【図７】アクセル開度、トルク、角加速度、各フラグの時間変化の様子を表す説明図である。
【図８】角加速度に基づいてモータのトルク上限値が設定される様子を示す説明図である。
【図９】ハイブリッド車の構成の概略を表す構成図である。
【図１０】ハイブリッド車で実行されるモータ駆動制御のフローチャートである。
【図１１】スリップ発生時制御ルーチンのフローチャートである。
【図１２】角加速度、各フラグの時間変化の様子を表す説明図である。
【符号の説明】
１０　電気自動車、１２　モータ、１４　インバータ回路、１６　バッテリ、１８ａ，１８ｂ　駆動輪、２２　回転角センサ、２４　車速センサ、４０　電子制御ユニット、４２　ＣＰＵ、４４　ＲＯＭ、４６　ＲＡＭ、１１０　ハイブリッド車、１１１　エンジン、１１２　モータ、１１３　ジェネレータ、１１４，１１５　インバータ回路、１１６　バッテリ、１１７　プラネタリギヤ、Ｆ０　トルク制限禁止フラグ、Ｆ１　スリップ発生フラグ、Ｆ２　計測フラグ。
【図１】
2004112973.tif 000003
【図２】
2004112973.tif 000004
【図３】
2004112973.tif 000005
【図４】
2004112973.tif 000006
【図５】
2004112973.tif 000007
【図６】
2004112973.tif 000008
【図７】
2004112973.tif 000009
【図８】
2004112973.tif 000010
【図９】
2004112973.tif 000011
【図１０】
2004112973.tif 000012
【図１１】
2004112973.tif 000013
【図１２】
2004112973.tif 000014