(57)【要約】【課題】路面の状態によらず常に運転者の要求する車両挙動を実現する。【解決手段】車両駆動装置は、駆動源を有し車両を駆動することができる車輪駆動機構Ａと、少なくとも１つの電気モータを備え、左右車輪にトルクを発生させて車両を駆動および回生制動させる状態１と、右側車輪と左側車輪に逆向きの同じ大きさのトルクを発生させて車両の旋回をアシストする状態２の２つの状態を車両速度に応じて機械的に切替えて使用する左右輪駆動機構Ｂと、路面の摩擦状態を推定する路面摩擦状態推定手段と、路面摩擦状態推定手段に基づいて、状態１と状態２のいずれがより車両挙動を安定化させるかを判断する状態判断手段と、状態判断手段の判断結果に応じて、左右輪駆動機構Ｂの状態１と状態２との切替えを行なう手段と、から構成されている。【選択図】  図２
2004345575.tif 000002
【特許請求の範囲】
【請求項１】
駆動源を有し車両を駆動することができる車輪駆動機構Ａと、
少なくとも１つの電気モータを備え、左右車輪にトルクを発生させて車両を駆動および回生制動させる状態１と、右側車輪と左側車輪に逆向きの同じ大きさのトルクを発生させて車両の旋回をアシストする状態２の２つの状態を車両速度に応じて機械的に切替えて使用する左右輪駆動機構Ｂと、
路面の摩擦状態を推定する路面摩擦状態推定手段と、
路面摩擦状態推定手段に基づいて、状態１と状態２のいずれがより車両挙動を安定化させるかを判断する状態判断手段と、
状態判断手段の判断結果に応じて、左右輪駆動機構Ｂの状態１と状態２との切替えを行なう手段と、から構成される車輪駆動装置。
【請求項２】
路面摩擦状態推定手段は、路面摩擦係数を推定するものであり、状態判断手段は、推定した路面摩擦係数が小さいほど、より高い車速領域まで状態１と判断することを特徴とする請求項１に記載の車輪駆動装置。
【請求項３】
状態判断手段は、路面摩擦係数が小さいほど、運転者の要求する車両駆動トルクがより小さい値まで状態１と判断することを特徴とする請求項２に記載の車輪駆動装置。
【請求項４】
ステアリングの回転角を検出するステアリング角検出手段を有し、
状態判断手段は、路面摩擦係数が小さいほど、より小さなステアリング角領域まで状態１と判断することを特徴とする請求項２または３に記載の車輪駆動装置。
【請求項５】
路面摩擦状態推定手段は、左右輪駆動機構Ｂの車輪を空転させない範囲で左右輪に加えることができる最大粘着トルクを推定するものであり、状態判断手段は、車速に応じて定まる状態１で左右輪に独立に発生できる電気モータによる最大トルクが、推定した最大粘着トルクより大きいときには状態１と判断することを特徴とする請求項１に記載の車輪駆動装置。
【請求項６】
電気モータにより発生できる最大トルクは、電気モータもしくは当該電気モータの駆動回路の状態に応じて補正されていることを特徴とする請求項５に記載の車輪駆動装置。
【請求項７】
路面摩擦状態推定手段は、車輪駆動機構Ａの駆動側及び制動側の車輪スリップ率を検出するものであり、
状態判断手段は、車輪スリップ率が所定値以上となった場合に状態１と判断することを特徴とする請求項１に記載の車輪駆動装置。
【請求項８】
状態判断手段は、状態２で所定値トルク以上の旋回アシストを行なっているときに、引き続き状態２と判断することを特徴とする請求項１〜７のいずれかに記載の車輪駆動装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、車両の左右の車輪を電動モータにより駆動する装置に関する。
【０００２】
【従来の技術】
特許文献１には、左右１対の遊星歯車機構と、１対の小型電動モータと、ブレーキ手段とからなる左右輪駆動装置が開示されている。各遊星歯車機構のキャリアは車両の左右従動輪に連結され、各遊星歯車機構のサンギアはそれぞれ小型電動モータに連結され、各遊星歯車機構のリンクギアは中間軸によって互いに連結されている。ブレーキ手段は、中間軸の回転を拘束するようになっている。
【０００３】
【特許文献１】
特開平９−７９３４８号公報（第３−５頁、第２図）
この左右駆動装置において、ブレーキ手段で中間軸の回転を拘束すると、各遊星歯車機構は単なる減速機として機能する。この状態で２つの小型電動モータを同一方向へ回転駆動すると、左右従動輪に前進あるいは後進方向のトルクが伝達され、車両の発進をアシストすることができる。また、中間軸の回転を許容しつつ２つの小型電動モータを互いに反対方同へ回転駆動すると、左右従動輪に反対方向のトルクが伝達され、車両の旋回をアシストすることができる。
【０００４】
上記のような発進アシストおよび旋回アシストは、車両の左右従動輪に直接電動モータを連結することでも達成可能であるが、その場合電動モータの回転速度が車速の上昇につれて上昇するため、高車速時に効果的な旋回アシストを行うことができない。この問題は、電動モータのトルク特性（低速域では一定の最大トルクが得られ、中高速域では回転速度に反比例して最大トルクが低下する）に起因して発生するが、上記の従来装置では、中間軸の回転を許容するとモータ回転速度が車輪回転速度と無関係になり、かつその状態で２つの小型電動モータを反対方向へ回転駆動すると車輪ヘモータトルクを伝達することができる。従って、旋回アシストを行う場合は車速に関係なく電動モータの高トルク回転域（低速域）を使用することが可能となり、小型の電動モータを使用しても十分な旋回アシストを行うことができる。
【０００５】
【発明が解決しようとする課題】
しかしながら上記の特許文献１に開示された構成おいては、車速に応じて発進アシストと旋回アシストを切替える方式が示されているものの、路面状態に応じて車両の挙動が変化する現象を考慮して切替えるものとなっていない。従って例えば、旋回アシストの状態にあって、路面摩擦係数（以下μ）が小さいために駆動輪で十分な路面反力を受けられない場合には、運転者の要求する駆動力を実現できず、運転者の意図する車両挙動を実現できない虞がある。またこのような場合に、旋回アシストから発進アシストへ切替えて、従動輪で駆動力を補助することも考えられるが、発進アシストに切替えるまでの時間遅れ（中間軸の回転を止め、ブレーキ手段で拘束し、拘束状態を確認後にはじめて発進アシストできる）の間は駆動力補助を実施できないという課題が残る。
【０００６】
そこで、本発明はこのような課題を鑑み、路面の状態によらず常に運転者の要求する車両挙動を実現することを目的とする。
【０００７】
【課題を解決するための手段】
本発明の車両駆動装置は、駆動源を有し車両を駆動することができる車輪駆動機構Ａと、少なくとも１つの電気モータを備え、左右車輪にトルクを発生させて車両を駆動および回生制動させる状態１と、右側車輪と左側車輪に逆向きの同じ大きさのトルクを発生させて車両の旋回をアシストする状態２の２つの状態を車両速度に応じて機械的に切替えて使用する左右輪駆動機構Ｂと、を備え、路面摩擦状態に基づいて、状態１と状態２のいずれがより車両挙動を安定化させるかを判断し、左右輪駆動装置Ｂの状態１と状態２との切替えを行なう。
【０００８】
【発明の効果】
本発明によれば、路面状態に応じて、適正に状態１と状態２とを切替えておくことができるようになり、旋回アシストと発進アシストとの切替え遅れにより一時的に車両挙動が不安定化することも回避できるようになった。
【０００９】
【発明の実施の形態】
以下、本発明の一実施形態を図面に基づいて詳細に説明する。
【００１０】
図１は、エンジン３５により変速機３６を介して左右の前輪３１Ｌ，３１Ｒを駆動する前輪駆動車両を示しており、各前輪３１Ｌ，３１Ｒは両端に等速ジョイント３２Ｌ，３３Ｌ，３２Ｒ，３３Ｒを有する各ドライブシャフト３４Ｌ，３４Ｒを介して変速機３６に連結されている。左右の後輪１Ｌ，１Ｒには夫々等速ジョイント２Ｌ，３Ｌ，２Ｒ，３Ｒを有する連結軸４Ｌ，４Ｒが連結され、両連結軸４Ｌ，４Ｒ間に減速歯車５Ｌ，６Ｌ，５Ｒ，６Ｒを介して連結装置２０が配置されている。ここで、図１において、車両走行用の駆動源であるエンジン３５を具備する前輪機構Ａ′が車輪駆動機構Ａに相当し、エンジン３５を具備しない後輪機構Ｂ′が左右輪駆動機構Ｂに相当する。
【００１１】
連結装置２０には、図２に示すように、アウターロータ９Ｌ，９Ｒとが機械的に連結された、電気モータとしてのクラッチモータ４１Ｒ，４１Ｌとが配置されている。
【００１２】
クラッチモータ４１Ｒ，４１Ｌは、インナーロータ８Ｌ，８Ｒおよびアウターロータ９Ｌ，９Ｒがそれぞれベアリング（不図示）によってケース２５に対して回転自在に支持される三相同期電動モータである。
【００１３】
インナーロータ８Ｌ，８Ｒは、薄板状の電磁鋼板を積層して形成した円筒形状のロータであり、外周面に複数の永久磁石（不図示）を固定支持してある。アウターロータ９Ｌ，９Ｒは、インナーロータ８Ｌ，８Ｒの外周と所定間隔を隔てて筒状に配置されており、内周面に薄板の電磁鋼板を積層して形成したリング状のコアを有し、当該コアに形成されたスロットには複数のコイルが配置されている。アウターロータ９Ｌ，９Ｒのコイルに回転磁界を発生させることにより、インナーロータ８Ｌ，８Ｒに対するトルクを発生させることができる。
【００１４】
アウターロータ９Ｌ，９Ｒのロータ軸には、それぞれスリップリング（不図示、それぞれ３本ずつ）が配置されており、本スリップリングを通じて駆動回路１０Ｌ，１０Ｒとアウターロータ９Ｌ，９Ｒのコイル間で電力の送受が可能である。また、駆動回路１０Ｌ，１０Ｒはバッテリ１３と電気的に接続されているため、バッテリ１３の電力を用いてクラッチモータ４１Ｒ，４１Ｌにトルクを発生させることも、クラッチモータ４１Ｒ，４１Ｌでトルクを吸収することにより発生する回生電力をバッテリ１３に蓄電することも可能である。クラッチモータ４１Ｒ，４１Ｌに発生（吸収も含む）させるトルクの指令値は後述するコントローラ１４にて演算され、その演算値を受け、駆動回路１０Ｒ，１０Ｌは、クラッチモータ４１Ｒ，４１Ｌのトルクがそれぞれの指令値に一致するようにクラッチモータ４１Ｒ，４１Ｌへの電流を制御する。このような実施形態により、コントローラ１４にて演算する指令トルク通りに、クラッチモータ４１Ｒ，４１Ｌのトルクをそれぞれ独立に調整することができる。
【００１５】
尚、バッテリ１３には、リチウム・イオン電池、ニッケル・水素電池、鉛電池などの各種電池や、電機二重層キャパシターいわゆるパワーキャパシターを用いることができる。また、クラッチモータ４１Ｒ，４１Ｌを三相同期電動モータとしたが、インナーロータとアウターロータがともに回転自在なモータであれば良く、ＤＣモータなどでも構わない。
【００１６】
連結装置２０は、両アウターロータ９Ｌ，９Ｒの車体に対する回転を拘束するブレーキ手段としての油圧式のブレーキ１１を備えている。コントローラ１４からのＯＮ／ＯＦＦ指令に応じて、駆動回路１２は油圧回路を調整し、ブレーキ１１のＯＮ／ＯＦＦ（ＯＮ：アウターロータ９Ｌ，９Ｒの回転を拘束する。ＯＦＦ：拘束しない）を切替える。なお、ブレーキ１１は、油圧クラッチや電磁クラッチなどで構成することも可能である。いずれにせよ、コントローラ１４からのＯＮ／ＯＦＦ指令に応じて、アウターロータ９Ｌ，９Ｒの回転の拘束／非拘束を切替えられる形態であればよい。
【００１７】
後輪１Ｌ、１Ｒには摩擦ブレーキ（不図示）が備え付けられている。摩擦ブレーキは、運転者のブレーキペダル操作に応じて増圧される油圧の力で、ブレーキバッドをブレーキディスクに押し付け、ブレーキ力を発生する機構となっている。また、コントローラ１４からの指令に応じて、油圧弁を調整することで油圧を任意に減圧できる、つまり、摩擦ブレーキ力を任意に弱めることができる構成となっている。
【００１８】
エンジンコントローラ（不図示）は、エンジン３５の出力トルクを調整するコントローラである。運転者が要求する前輪分車両駆動トルクｔＴｄを実現するように、車両の速度、アクセルの踏込み量、変速機の変速状態に応じてエンジン３５の出力トルクを調整する。また、駆動輪３１Ｌ、３１Ｒの空転を避けるため駆動輪３１Ｌ、３１Ｒのスリップ率が所定値（例えば０．１）を越えないようにエンジン３５のトルクを制限するとともに、本制限によりカットされる駆動トルク値Ｔｏｖｅｒ（運転者が要求する駆動トルクから実際に発生できる駆動トルクを差し引いた値であり、制限がかかっていないときには０、かかっているときには正の値）を算出する。
【００１９】
また、エンジンコントローラは、路面摩擦係数（路面摩擦係数の推定値μｅ）も推定する。路面摩擦係数の推定方法としては、例えば特開平５−８５３３９号公報などに開示されている。特開平５−８５３３９号公報には、ハンドルを操作して車両が旋回する場合に、舵角センサにより検出した操舵角の変化から、従動内外輪の回転速度に基づいて検出される横加速度が発生するまでの遅れ時間を求め、その遅れ時間を基に路面摩擦係数を検出する方法が開示されている。他の例としては、特開平５−２３８４０４号公報などもあり、そこではハンドル操舵に対する路面反力を検出するとともに、この捩れ量とハンドル舵角とに応じて路面摩擦係数を推定する方法も示されている。他にも操舵システムの信号を用いない方式として、車輪速の振動から推定する特開２００２−１７８９０３号公報など、多数の方式が開示されており、本実施例においてもそれらのいずれかの方式を適用すればよいので説明は省略する。エンジンコントローラで演算したＴｏｖｅｒおよび運転者が要求する前輪分車両駆動トルクｔＴｄおよび路面摩擦係数の推定値μｅは、シリアル通信にてコントローラ１４へ送信する。
【００２０】
コントローラ１４には、ドライバが操作するアクセルの踏み込み量を検出するポテンショ式センサ４０と、ステアリングの回転角を検出するステアリング角（操舵角）センサ４２と、オートマティックトランスミッションの走行レンジ（Ｐ，Ｒ，Ｎ，Ｄレンジ）を検出するスイッチからなる走行レンジセンサ４３と、車両の速度を検出する車速センサ４４、車両の起動を検出するイグニションスイッチ４５、バッテリの蓄電量を検出するＳＯＣ（Ｓｔａｔｅ  Ｏｆ  Ｃｈａｒｇｅ）センサ４６、アウターロータ９Ｌ，９Ｒの回転速度を検出するアウターロータ回転速度センサ４７、インナーロータ８Ｌの回転速度を検出する左ロータ回転速度センサ４８、インナーロータ８Ｒの回転速度を検出する右ロータ回転速度センサ４９、ブレーキペダルの踏み込み量を検出するブレーキ踏力センサ７０の信号が入力されている。また、車両の右前輪３１Ｒの回転速度を検出する回転速度センサ１７１、車両の左前輪３１Ｌの回転速度を検出する回転速度センサ１７２、従動輪である後左輪１Ｌの回転速度を検出する回転速度センサ１７３、後右輪１Ｒの回転速度を検出する回転速度センサ１７４の信号も入力されている。また、上述したエンジンコントローラからは、カットされる駆動トルク値Ｔｏｖｅｒおよび要求車両駆動トルクｔＴｄおよび路面摩擦推定値μｅを受信する（不図示）。さらに、クラッチモータ４１Ｌ、４１Ｒおよびその駆動回路１０Ｌ、１０Ｒにはそれぞれ温度センサが内蔵されており、それらのセンサ信号も入力されている（不図示）。
【００２１】
コントローラ１４は、マイクロコンピュータのほかにＲＡＭ／ＲＯＭなどの周辺部品を備えており、前述の入力信号を受けて、ブレーキ１１のＯＮ／ＯＦＦを判断し、クラッチモータ４１Ｒ，４１Ｌへの指令トルクを演算する。ブレーキ１１のＯＮ／ＯＦＦ判断、およびクラッチモータ４１Ｒ，４１Ｌへの指令トルク演算は、一定時間（例えば１０ｍｓ）ごとに図４に示すフローチャートの制御を実行することで実現する。即ち、図４のＳ４０１にてコントローラ１４に入力される信号を変数に格納し、Ｓ４０２ではブレーキ１１のＯＮ／ＯＦＦ判断を行ないｆｌａｇ＿ｂに代入するとともに、連結装置２０の状態をあらわす変数ｓｔａｔｅの決定を行なう。続いてＳ４０３ではクラッチモータ４１Ｌ，４１Ｒへの指令トルクＴＬ，ＴＲをそれぞれ演算し、摩擦ブレーキの油圧の減圧指令値Ｔｂｒも演算する。Ｓ４０４でブレーキＯＮ／ＯＦＦ指令、ＴＬ，ＴＲをコントローラ１４から駆動回路１０Ｌ，１０Ｒ，１２へ出力する。そしてＳ４０５にて、摩擦ブレーキの油圧の減圧指令値を出力する。
【００２２】
ここで、ブレーキＯＮ／ＯＦＦ判定フラグｆｌａｇ＿ｂは、ブレーキ１１を締結（ＯＮ）すべきと判断したときに１、開放（ＯＦＦ）すべきと判定したときには０の値とする。連結装置２０の状態をあらわす変数ｓｔａｔｅは次のように定義する（図７参照）。ブレーキ１１が完全に締結し、車両を駆動または回生制動できる状態（状態１）にあるときに１とし、ブレーキ１１が完全に開放し、車両を旋回アシストできる状態（状態２）にあるとき２とする。また、状態１から状態２へ移行する際の過渡状態として、ブレーキ１１の開放動作中状態（状態６）であるときに６とし、状態２への移行準備状態（状態４）のときに４とする。さらに、状態２から状態１へ移行する際の過渡状態として、ブレーキ１１締結の為の準備状態（状態３）のときに３とし、ブレーキ１１の締結動作中状態（状態５）であるときに５とする。また、指令トルクＴＬ，ＴＲは、ブレーキ１１をＯＮした状況において、車両を前に駆動する向きを正にとり、車両を後ろに駆動する向きを負にとるものとする。
【００２３】
ブレーキＯＮ／ＯＦＦ指令は、ｓｔａｔｅ＝１またはｓｔａｔｅ＝５のときにＯＮ指令し、ｓｔａｔｅ値がそれ以外の時にＯＦＦ指令する（ｆｌａｇ＿ｂをそのまま出力するわけではない）。摩擦ブレーキの油圧の減圧指令値Ｔｂｒは、ブレーキ１１締結時のクラッチモータ４１Ｒ，４１Ｌ軸換算のトルク値であり、０または負の値をとる。負の値のときに、クラッチモータ軸換算で−Ｔｂｒの制動を左右輪各輪で実現するという関係とする。また、これらの値は、イグニッションスイッチＯＮ時に図３に示すフローチャートの制御を実行することで初期化しておく。つまり、ブレーキＯＮ／ＯＦＦ判定フラグｆｌａｇ＿ｂの初期値は１、指令トルクＴＬ，ＴＲの初期値は０、減圧指令値Ｔｂｒの初期値は０、状態ｓｔａｔｅの初期値は１、となるようそれぞれ初期化される。
【００２４】
以下、ブレーキ１１のＯＮ／ＯＦＦ判断ｆｌａｇ＿ｂに続いて状態ｓｔａｔｅの決定を行なうＳ４０２と、クラッチモータ４１Ｒ，４１Ｌへの指令トルクおよび摩擦ブレーキの油圧の減圧指令値Ｔｂｒを演算するＳ４０３について順に説明する。
【００２５】
本発明のポイントとなるブレーキ１１のＯＮ／ＯＦＦ判定フラグｆｌａｇ＿ｂは、車速Ｖｓｐなどをもとに決定する。状態ｓｔａｔｅは、レンジ信号がＰ，Ｎ，Ｒのいずれかの場合には１とし、Ｄの場合には図７に従って決定する。ここで状態ｓｔａｔｅは、ｆｌａｇ＿ｂを演算後に決定する。
【００２６】
まずフローチャート図５に従って、ｆｌａｇ＿ｂが１か否かを判断する方法を説明する。
【００２７】
Ｓ５０１では、レンジ信号がＤであるか否かを判断し、ＤであればＳ５１０へ移行する。Ｄでなければ、Ｓ５０２に進み、ｆｌａｇ＿ｂを１にセットして本ルーチンを終了する。
【００２８】
Ｓ５１０では、最大路面反力トルク（最大粘着トルク）Ｔａを演算する。最大路面反力トルクＴａは、後輪１Ｌ、１Ｒを空転させない範囲で、後輪１Ｌ、１Ｒに加えることができる最大トルクであり、路面摩擦係数の推定値μｅをもとに、テーブルＴＢＬ＿Ｔａ（μｅ）を表引きすることで演算する。テーブルＴＢＬ＿Ｔａ（μｅ）は、車両諸元（後輪荷重など）に応じた最大路面反力トルク値に設定しておく。例えば図８に示す特性であり、１以下はμｅにほぼ比例する値、１以上は固定値となるように設定しておく。
【００２９】
Ｓ５１１では、状態１においてＴａをモータで出力できる車速の上限値Ｖｓｐ＿ＵＬを演算する。演算は、テーブルＴＢＬ＿ＶＳＰＵＬ（Ｔａ）を表引きすることで行なう。テーブルＴＢＬ＿ＶＳＰＵＬ（Ｔａ）は、例えば図９のように設定しておく。この図９は後述する図２４の縦軸と横軸とを入れ替えた特性としておく。
【００３０】
Ｓ５１２では、Ｓ５１１で演算したＶｓｐ＿ＵＬおよび後輪分の制駆動トルク指令値Ｔｄｒｖもとにｆｌａｇ＿ｂを設定する。まず後輪軸分の制駆動トルク指令値Ｔｄｒｖを次式（１）のように演算する。
【００３１】
【数１】
Ｔｄｒｖ＝ＭＡＰ＿ＴＤ（Ｖｓｐ，Ａｐｓ）＋ＭＡＰ＿ＢＲＫ（Ｖｓｐ，ＢＲＫ）  …（１）
ここで、マップＭＡＰ＿ＴＤは、予め車速Ｖｓｐとアクセル踏み込み量Ａｐｓに対応付けられてＲＯＭに格納されているデータであり、例えば図１０の特性である。アクセルの踏み込み量が大きいほど、クラッチモータ４１Ｒ、および、４１Ｌによる駆動力が大きくなるように、アクセルの踏み込み量Ａｐｓが大きいほど大きな値に設定してある。特にアクセルの踏み込み量Ａｐｓが０のとき、クラッチモータ４１Ｒ、および、４１Ｌが回生動作を行うように負の値に設定するとよい。マップＭＡＰ＿ＢＲＫは、予め車速Ｖｓｐとブレーキ踏力ＢＲＫに対応付けられてＲＯＭに格納されているデータであり、例えば図１１の特性である。ブレーキ踏力ＢＲＫに応じて回生制動する値を設定する。値は全て負の値であり、ブレーキ踏力ＢＲＫが大きいほど、値が小さくなるように設定しておく。
【００３２】
そして、図１２に示すように、車速がＶｓｐ＿ＵＬ以上かつＴｄｒｖ＞＝０の時にｆｌａｇ＿ｂ＝０とし、それ以外の時にはｆｌａｇ＿ｂ＝１とする。
【００３３】
Ｓ５１０〜Ｓ５１２により、次のようにｆｌａｇ＿ｂが演算される。後輪分の駆動トルクが負または車速がＶｓｐ＿ＵＬ未満のときに状態１をとり、それ以外では状態２をとるように設定される。ここでＶｓｐ＿ＵＬ値は、路面摩擦係数が小さいほど大きな値になるので、路面摩擦係数が小さいほど、状態１の領域が高車速方向へ広がる。
【００３４】
なお、Ｖｓｐ＿ＵＬ値は、クラッチモータの最大トルク（状態１のときにクラッチモータ４１Ｌ，４１Ｒが左右輪に独立に発生させることができる最大トルク）が最大路面反力トルク（最大粘着トルク）Ｔａと一致するときの車速を表す値であり、クラッチモータの最大トルクは車速が低いときほど大きくなるので、実際の車速がＶｓｐ＿ＵＬ値未満のときに状態１と判断することは、クラッチモータの最大トルクが最大粘着トルクより大きいときに状態１と判断することと同義である。
【００３５】
ここでＳ５１１では、クラッチモータ４１Ｌ、４１Ｒの温度ＴＭＰｍからクラッチモータ４１Ｌ、４１Ｒの出力できるトルクの状態を推定し、その推定に基づいてＶｓｐ＿ＵＬを演算する方法とするとなお良い。この場合まず、（１）クラッチモータが最良の状況で出せるトルクの最大値に対する、温度ＴＭＰｍのときに出せるトルクの最大値の割合ＲＴＯ（０＝＜ＲＴＯ＜＝１）を温度ＴＭＰｍから割り出す。そして（２）その割合を考慮した上で状態１において出せるクラッチモータのトルクと最大粘着トルクとから車速Ｖｓｐ＿ＵＬを演算する。
【００３６】
（１）については、ＲＴＯを温度ＴＭＰｍに対する特性として予めテーブルとしてＲＯＭ内に格納しておき、そのテーブルを参照することで演算できる。テーブルの例は、図１３である。ある温度までは１であり、それ以上は温度上昇に対して０まで減少する特性としておく。なお、クラッチモータの駆動回路の状態も考慮する場合には、駆動回路の温度ＴＭＰｄに対して同様にＲＴＯを演算し、いずれか小さい値をＲＴＯ値として使用すればよい。
【００３７】
（２）については、Ｓ５１１における表引きＴＢＬ＿ＶＳＰＵＬ（Ｔａ）をＴＢＬ＿ＶＳＰＵＬ（Ｔａ／ＲＴＯ）に置き換えればよい。温度ＴＭＰｐあるいはＴＭＰｄが高いほどＲＴＯは小さくなり、したがってＶｓｐ＿ＵＬは小さくなり、状態１の領域が低車速方向へ狭まる関係になる。つまり、温度ＴＭＰｐあるいはＴＭＰｄが高いほど、状態で同一車速における旋回アシストトルクの最大値は小さくなる為、状態１の領域が低車速方向へ狭まる機能を実現できる。
【００３８】
さてＳ５１３では、状態１へ移行判断する要求駆動トルク値ｔＴｄ＿ｍａｘを演算する。要求駆動トルク値ｔＴｄ＿ｍａｘは、ステアリング角Ｓｔｒの絶対値ａｂｓ（Ｓｔｒ）と路面摩擦係数の推定値μｅをもとに、マップＭＡＰ＿ＴＴＤＴＨ（ａｂｓ（Ｓｔｒ），μｅ）を表引きすることで演算する。マップ値は、略前輪の最大粘着トルクに設定するものとし、例えば図１４に示す特性である。路面摩擦係数が小さいほど、またステアリング角が大きいほど最大粘着トルクが小さい特性を鑑み、μｅが大きいほど、またａｂｓ（Ｓｔｒ）が小さいほど大きい値に設定する。
【００３９】
Ｓ５１４では、エンジンの前輪分要求駆動トルクｔＴｄとｔＴｄ＿ｍａｘとを比較する。ｔＴｄの方が大きい場合には、前輪が空転する可能性が高いと判断し、状態１に移行させるべく、Ｓ５０２でｆｌａｇ＿ｂ＝１をして本ルーチンを終了する。
【００４０】
Ｓ５１５では、前輪のスリップ状態をＴｏｖｅｒ値から判断し、Ｔｏｖｅｒ＞０、つまりスリップ率が所定値以上であるときには、Ｔｏｖｅｒ分を後輪で補償すべく、Ｓ５０２でｆｌａｇ＿ｂ＝１をして本ルーチンを終了する。
【００４１】
以上のｆｌａｇ＿ｂ更新プログラムは、任意に取捨選択してよく、それらの組み合わせて、ｆｌａｇ＿ｂを更新するようにしてもよい。
【００４２】
以上の手続きによりｆｌａｇ＿ｂを演算するが、例外的に後述する図６のステップＳ６１２ａにて判定する”状態１への移行禁止判定”結果が、”移行禁止”である場合には、ｆｌａｇ＿ｂ＝０からｆｌａｇ＿ｂ＝１への変化を禁止するものとする。即ち旋回アシスト量が所定以上の場合には、旋回アシストモードから駆動・回生制動モードへの移行を禁止する。
【００４３】
続いて、状態ｓｔａｔｅの決定方法を図７に従って説明する。ここでｓｔａｔｅの初期値は、図３のフローチャートに従って１に設定されている。
（ｓｔａｔｅ＝１のとき）
状態１は、ブレーキ１１が完全に締結し、車両を駆動または回生制動できる状態である。前述の演算によりｆｌａｇ＿ｂ＝０となったらｓｔａｔｅ＝６とし、それ以外のときにはｓｔａｔｅ＝１を保持する。
（ｓｔａｔｅ＝６のとき）
状態６は、ブレーキ１１の開放動作中状態である。ブレーキ１１が完全に開放したと判断したら、ｓｔａｔｅ＝４とし、まだ完全には開放していないと判断したらｓｔａｔｅ＝６を保持する。ただし、ｆｌａｇ＿ｂ＝１となったら、ｓｔａｔｅ＝５とし状態５へ移行する。ブレーキ１１が完全に開放したことは、ｓｔａｔｅ＝６が時間Ｔｄ１継続したことをもって判断する。時間Ｔｄ１は、図４のステップＳ４０４にてブレーキ開放指令してから、実際にブレーキ１１が完全に開放されるまでの時間遅れ、例えば０．２ｓと予め決めておく。
（ｓｔａｔｅ＝４のとき）
状態４は、状態１から状態２へ移行する際の過渡状態であり、後述（図６を参照）するようにアウターロータ９Ｒ、９Ｌ回転速度とインナーロータ８Ｒ，８Ｌ回転速度を略一致させる制御を実施する状態である。アウターロータ９Ｒ、９Ｌ回転速度とインナーロータ８Ｒ，８Ｌ回転速度が略一致したら、ｓｔａｔｅ＝２とする。アウターロータ９Ｒ、９Ｌ回転速度とインナーロータ８Ｒ，８Ｌ回転速度が略一致したことは、回転速度ＲｏｕｔとＲＬｉｎの差が例えば１０ｒｐｍ以内であることをもって判断する。ｓｔａｔｅ＝２とする前に、ｆｌａｇ＿ｂ＝１となったら、ｓｔａｔｅ＝３とし、状態３へ移行する。それ以外の場合は、ｓｔａｔｅ＝４を保持する。
（ｓｔａｔｅ＝２のとき）
状態２は、ブレーキ１１が完全に開放し、車両を旋回アシストできる状態である。ｆｌａｇ＿ｂ＝１となったら、ｓｔａｔｅ＝３とし、状態３へ移行する。それ以外の場合は、ｓｔａｔｅ＝２を保持する。
（ｓｔａｔｅ＝３のとき）
状態３は、状態２から状態１へ移行する際の過渡状態であり、後述（図６を参照）するようにアウターロータ９Ｒ、９Ｌ回転速度をほぼ０にさせる制御を実施する状態である。アウターロータ９Ｒ、９Ｌ回転速度Ｒｏｕｔがほぼ０になったら、ｓｔａｔｅ＝５とする。アウターロータ９Ｒ、９Ｌ回転速度がほぼ０になったことは、回転速度が例えば−１０ｒｐｍ〜＋１０ｒｐｍ内であることをもって判断する。ｓｔａｔｅ＝５とする前に、ｆｌａｇ＿ｂ＝０となったら、ｓｔａｔｅ＝４とし、状態４へ移行する。それ以外の場合は、ｓｔａｔｅ＝３を保持する。（ｓｔａｔｅ＝５のとき）
状態５は、ブレーキ１１の締結動作中状態である。ブレーキ１１が完全に締結したら、ｓｔａｔｅ＝１とし、完全に締結するまでは、ｓｔａｔｅ＝５を保持する。ただし、ｆｌａｇ＿ｂ＝０となったら、ｓｔａｔｅ＝６として状態６へ移行する。ブレーキ１１が完全に締結したことは、ｓｔａｔｅ＝５が時間Ｔｄ２継続したことをもって判断する。時間Ｔｄ２は、図４のステップＳ４０４にてブレーキ締結指令してから、実際にブレーキ１１が完全に締結されるまでの時間遅れ、例えば０．１ｓと予め決めておく。
【００４４】
続いて、クラッチモータ４１Ｒ，４１Ｌへの指令トルクＴＲ，ＴＬおよび摩擦ブレーキの油圧の減圧指令値Ｔｂｒを演算する方法を、図６に示すフローチャートに従って説明する。
【００４５】
まず、Ｓ６０１にて走行レンジ（Ｒｎｇ）がＤレンジ（前進走行レンジ）であるか、ｓｔａｔｅの値が、５または６であるかを判定する。ここでＤレンジでなければ、つまり、Ｐレンジ（パーキングレンジ）またはＲレンジ（後退走行レンジ）またはＮレンジ（ニュートラルレンジ）のいずれかであればＳ６０２へ進み、Ｓ６０２にてＴＲ＝０、ＴＬ＝０、Ｓ６１３にて摩擦ブレーキの油圧の減圧指令値Ｔｂｒ＝０として本ルーチンを終了する。ｓｔａｔｅの値が、５または６である場合も同じである。この場合、クラッチモータ４１Ｌ，４１Ｒは共にトルクを発生せず、車両の運動特性に何ら影響を与えない。走行レンジがＤレンジでありかつｓｔａｔｅの値が４以下であれば、Ｓ６１０へ進む。
【００４６】
Ｓ６１０では、状態ｓｔａｔｅが２であればＳ６１１へ進み、それ以外の状態であればＳ６２０へ進む。
【００４７】
Ｓ６１１へ進んだ場合には、クラッチモータ４１Ｌへの指令トルクＴＬは、アウターロータの回転速度Ｒｏｕｔと左インナーロータの回転速度ＲＬｉｎとが一致するように演算する。例えば、次式で示すように、アウターロータの回転速度Ｒｏｕｔと左インナーロータの回転速度ＲＬｉｎとの差が０となるようにフィードバック制御（ＰＩ制御）をする方法がある。
【００４８】
【数２】
ＴＬ＝Ｋｐ＊（Ｒｏｕｔ−ＲＬｉｎ）＋∫Ｋｉ＊（Ｒｏｕｔ−ＲＬｉｎ）ｄｔ…（２）
ここで、この式（２）中の∫Ｋｉ＊（Ｒｏｕｔ−ＲＬｉｎ）ｄｔは時間積分項であり、また、Ｋｐ（比例ゲイン）及びＫｉ（積分ゲイン）は予めフィードバック系が所望のレギュレーション特性を有するように決定されている正の固定値である。また、ＲｏｕｔおよびＲＬｉｎは、それぞれ車両が前進しているときのインナーロータ８Ｌ、８Ｒの回転の向きを正にとるものとする。
【００４９】
このようにすることで、アウターロータの回転速度Ｒｏｕｔは左インナーロータの回転速度ＲＬｉｎと一致するようにフィードバック制御される。
【００５０】
Ｓ６１２では、クラッチモータ４１Ｒへの指令トルクＴＲをマップＭＡＰ＿ＴＹ１の表引きにより演算する。マップＭＡＰ＿ＴＹ１は、予め車速Ｖｓｐとステアリング角Ｓｔｒに応じて対応付けられてＲＯＭに格納されているデータであり、例えば図１５に示すように、車速とステアリング角に応じて値が変わるように設定しておく。ステアリングが左に切られている（車両挙動は左旋回）状況において、左旋回へのヨーモーメントを発生させるように、すなわち、車輪１Ｒに車両を駆動させる向きのトルクが発生するように、正の値を割り付けておく。逆にステアリングが右に切られている（車両挙動は右旋回）状況において、車輪１Ｒに車両を制動させる向きのトルクが発生するように、負の値を割り付けておく。
【００５１】
ここで、クラッチモータ４１Ｌ，４１Ｒの作用とその作用による車両挙動について補足しておく。理解を容易にするため、車両がほぼ直進に進行している状況、つまり、クラッチモータ４１Ｌ，４１Ｒのインナーロータ８Ｌと８Ｒがほぼ同一回転速度の状況を用いて補足する。
【００５２】
クラッチモータ４１Ｒに正のトルクＴＲを発生させると、車輪１Ｒからの反力によりアウターロータ９Ｒ，９Ｌには回転速度Ｒｏｕｔを減速させる反作用（トルクの大きさはＴＲに等しい）が生じる。一方クラッチモータ４１Ｌは、アウターロータ９Ｒ，９Ｌの回転速度Ｒｏｕｔをインナーロータ８Ｌと同一（インナーロータ８Ｒともほぼ同一）にすべくフィードバック制御を行っているので、アウターロータ９Ｒ，９Ｌの回転速度Ｒｏｕｔを加速させるように作用する。このとき、クラッチモータ４１Ｌのトルクは−ＴＲ（負値）となる。クラッチモータ４１Ｌのトルク−ＴＲは車輪１Ｌに対して車両を制動させる向きに車輪１Ｌにトルクを発生させる。
【００５３】
即ちクラッチモータ４１Ｒへ正のトルクを指令すると、車両を駆動させる向きのトルクが車輪１Ｒに加わると同時に、同じ大きさの車両を制動させる向きのトルクが車輪１Ｌに加わり、両者のトルク差により車両に左旋回のヨーモーメントを発生させ、左旋回の性能を向上させる効果を実現する。逆にクラッチモータ４１Ｒへ負のトルクを指令すると、車両を制動させる向きのトルクが車輪１Ｒに加わると同時に、同じ大きさの車両を駆動させる向きのトルクが車輪１Ｌに加わり、両者のトルク差により車両に右旋回のヨーモーメントを発生させ、右旋回の性能を向上させる効果を実現する。
【００５４】
Ｓ６１２実行後は、Ｓ６１２ａにて、状態１への移行禁止判定を行なう。判定は、車速テーブル値ＴＨ＿ＹとマップＭＡＰ＿ＴＹ１の表引き値とに基づいて行なう。車速テーブル値ＴＨ＿Ｙは、状態１のときに、クラッチモータ４１Ｒ、４１Ｌで実現し得る最大トルク値を元に、旋回アシストをやめたときに車両挙動が大きな影響を受けない範囲で、例えば図１６のような特性として、予めＲＯＭに持たせておく。状態１では車速とクラッチモータ４１Ｒ、および、４１Ｌの回転速度（つまりインナーロータとアウターロータとの回転速度差）がほぼ反比例する為、クラッチモータの基底回転数以上の車速においては、テーブル値はほぼ車速に反比例する特性とする。
（１）車速テーブルＴＨ＿Ｙ参照値＝＜マップＭＡＰ＿ＴＹ１表引き値の絶対値なら、状態１への移行を”禁止”すると判定し、
（２）車速テーブルＴＨ＿Ｙ参照値＞マップＭＡＰ＿ＴＹ１表引き値の絶対値なら、状態１への移行を”禁止しない”と判定する。
本判定結果は、前述のフローチャート図４のステップＳ４０２で使用する。なお、本判定結果を使用するのは次回の定時割り込みルーチン実行時である。
【００５５】
Ｓ６１３では、摩擦ブレーキの油圧の減圧指令値Ｔｂｒを０として本ルーチンを終了する。
【００５６】
さて、Ｓ６１０にてＮｏと判断した場合には、Ｓ６２０へ進む。
【００５７】
Ｓ６２０では、状態ｓｔａｔｅが１であればＳ６２１へ進み、それ以外の状態であればＳ６３０へ進む。
【００５８】
Ｓ６２１では、車両制駆動分の指令トルク値の基本値ｔｍｐをマップＭＡＰ＿ＴＤおよびマップＭＡＰ＿ＢＲＫの表引きの和に、エンジンコントローラから受信したＴｏｖｅｒを加算した値として求める。このようにすることで、前輪の粘着トルク不足により運転者の要求する駆動トルクを前輪だけで実現できない場合に、後輪で足りない分を補償できるようになる。前述したように、マップＭＡＰ＿ＴＤは例えば図１０の特性であり、マップＭＡＰ＿ＢＲＫは例えば図１１の特性である。
【００５９】
Ｓ６２２では、バッテリのＳＯＣ値Ｂａｔが、予め設定されているＳＯＣ許容下限値ＢＡＴ＿Ｌ（例えば４０％）以下か否かを判定し、ＢＡＴ＿Ｌ以下ならＳ６２３へ進み、ＢＡＴ＿Ｌ以下でないならＳ６２４へ進む。
【００６０】
Ｓ６２３では、指令トルク値の基本値ｔｍｐの値としてｔｍｐと０との小さいほうを新たなｔｍｐ値として代入する。このように、Ｓ６２２にてバッテリ１３の蓄電量が少ないと判定した場合には、トルク指令値の基本値ｔｍｐを０または負値に限定することで、車両を駆動するために使用するバッテリ電力を抑制する機能を実現する。
【００６１】
Ｓ６２４では、バッテリ１３のＳＯＣ値Ｂａｔが、予め設定されているＳＯＣ許容上限値ＢＡＴ＿Ｈ（例えば７０％）以下か否かを判定し、ＢＡＴ＿Ｈ以上ならＳ６２５へ進み、ＢＡＴ＿Ｈ以上でないならＳ６２６へ進む。
【００６２】
Ｓ６２５では、指令トルク値の基本値ｔｍｐの値としてｔｍｐと０との大きいほうを新たなｔｍｐ値として代入する。このように、Ｓ６２４にてバッテリ１３の蓄電量が多いと判定した場合には、指令トルク値の基本値ｔｍｐを０または正値に限定することで、回生によるバッテリ充電を抑制する機能を実現する。
【００６３】
Ｓ６２６では、車輪１Ｒと車輪１Ｌの駆動トルク差となって現れる分のクラッチモータトルク指令値ｔｍｐ２をマップＭＡＰ＿ＴＹ１の表引き値によって演算する。ここで、マップＭＡＰ＿ＴＹ１は、ステップＳ６１２で説明したものであり、その特性例は図１５である。
【００６４】
Ｓ６２７では、制駆動分トルクｔｍｐに対して、ｔｍｐが負値（回生制動要求）であるときにｔｍｐ２の左右トルク差を実現できる範囲で制限をかける。つまり、ｔｍｐからｔｍｐ２の絶対値を差し引いたトルク値が、指令トルクＴＬおよび最小値ｔｍｐ１よりも大きくなるようにｔｍｐの値を次式で制限する。
【００６５】
【数３】
ｔｍｐ１＝ＴＢＬ＿ＬＭＴ（Ｖｓｐ）  …（３）
【００６６】
【数４】
ｔｍｐ＝ｍａｘ（ｔｍｐ，ｔｍｐ１＋ａｂｓ（ｔｍｐ２））  …（４）
ここで、指令トルクＴＬ、ＴＲの最小値（負値）ｔｍｐ１は、図１７のように車速テーブル値ＴＢＬ＿ＬＭＴとして予めＲＯＭに持たせておく。状態１では、クラッチモータ４１Ｒ、および、４１Ｌのインナーロータとアウターロータ回転速度差が、車速とほぼ比例する為、クラッチモータの基底回転数以上の車速においては、テーブル値はほぼ車速に反比例する形とする。
【００６７】
Ｓ６２８では、クラッチモータ４１Ｌへの指令トルクＴＬ、および、クラッチモータ４１Ｒへの指令トルクＴＲ、および、摩擦ブレーキの油圧の減圧指令値Ｔｂｒを次のように演算する。
【００６８】
【数５】
ＴＲ＝ｔｍｐ＋ｔｍｐ２  …（５）
【００６９】
【数６】
ＴＬ＝ｔｍｐ−ｔｍｐ２  …（６）
【００７０】
【数７】
Ｔｂｒ＝ｍｉｎ（ｔｍｐ，０）  …（７）
さて、Ｓ６２０にて状態ｓｔａｔｅが１でないと判定された場合には、Ｓ６３０に進む。
【００７１】
Ｓ６３０にて、状態ｓｔａｔｅが３であればＳ６３１に、それ以外の状態（つまり状態ｓｔａｔｅ＝４）であればＳ６３２に進む。
【００７２】
Ｓ６３１へ進んだ場合には、クラッチモータ４１Ｌへの指令トルクＴＬは、アウターロータの回転速度Ｒｏｕｔが０に一致するように演算する。例えば、次式（８）で示すように、アウターロータの回転速度Ｒｏｕｔが０となるようにフィードバック制御（ＰＩ制御）をする方法がある。
【００７３】
【数８】
ＴＬ＝Ｋｐ＊（Ｒｏｕｔ）＋∫Ｋｉ＊（Ｒｏｕｔ）ｄｔ  …（８）
ここで、この式（８）中の∫Ｋｉ＊（Ｒｏｕｔ）ｄｔは時間積分項であり、また、Ｋｐ（比例ゲイン）及びＫｉ（積分ゲイン）は予めフィードバック系が所望のレギュレーション特性を有するように決定されている正の固定値である。また、Ｒｏｕｔは、車両が前進しているときのＲＬｉｎの回転の向きを正にとるものとする。このようにすることで、アウターロータの回転速度Ｒｏｕｔは０となるようにフィードバック制御される。
【００７４】
その後、Ｓ６３３にてクラッチモータ４１Ｒの指令トルクＴＲを０とし、Ｓ６３４にて摩擦ブレーキの油圧の減圧指令値Ｔｂｒを０として本ルーチンを終了する。
【００７５】
Ｓ６３２に進んだ場合には、クラッチモータ４１Ｌへの指令トルクＴＬは、アウターロータの回転速度Ｒｏｕｔと左インナーロータの回転速度ＲＬｉｎとの回転速度が一致するように演算する。演算方法は、Ｓ６１１と同じにすればよいので説明は省略する。その後、Ｓ６３３でクラッチモータ４１Ｒへの指令トルクＴＲを０とし、Ｓ６３４にて摩擦ブレーキの油圧の減圧指令値Ｔｂｒを０として本ルーチンを終了する。
【００７６】
尚、本実施形態においては、Ｓ６１１及びＳ６３２に進んだ場合に、クラッチモータ４１Ｌへの指令トルクＴＬを、アウターロータの回転速度Ｒｏｕｔと左インナーロータの回転速度ＲＬｉｎとが一致するように演算しているが、クラッチモータ４１Ｒへの指令トルクＴＲをアウターロータの回転速度Ｒｏｕｔと右インナーロータの回転速度ＲＲｉｎとが一致するように演算するようにしてもよい。この場合には、Ｓ６１２ではクラッチモータ４１Ｌへの指令トルクＴＬをマップの表引きにより演算するようにし、Ｓ６３３ではクラッチモータ４１Ｌへの指令トルクＴＬを０とすることになる。
【００７７】
以上の実施形態により、走行レンジがＤレンジの時に次の機能を実現することができる。
【００７８】
１）状態２のとき：車速およびステアリング角に応じて左右輪１Ｌと１Ｒとに駆動トルク差を発生させ、車両の旋回性能を向上させることができる。特にクラッチモータ４１Ｌ，４１Ｒのアウターロータ９Ｌ，９Ｒとインナーロータ８Ｌ，８Ｒとの回転速度差が車速によらずほぼ０に保たれるため、モータの定トルク領域が使用でき、小型モータで左右輪１Ｌと１Ｒとに駆動トルク差を効果的に発生させることができるという特長を有している。
【００７９】
２）状態１のとき：アクセル踏み込み量に応じて車両を制駆動動作させることができると共に、ステアリング角に応じて左右輪１Ｌと１Ｒとに駆動トルク差をつけることで旋回性能を向上させることもできる。その際、バッテリの蓄電状態に応じてバッテリ１３の放電・充電を制限する機能も有する。
【００８０】
３）状態３のとき：状態１への移行に備えて、予めクラッチモータ４１Ｌ，４１Ｒのアウターロータ９Ｌ，９Ｒの回転速度差をほぼ０するように備えておくことができる。状態５でブレーキ１１のＯＮ操作を行った場合に、クラッチモータ４１Ｌ，４１Ｒのアウターロータ９Ｌ，９Ｒの回転を、速やかに、かつ、ブレーキ１１のＯＮ時のショックが少なくブレーキの経年劣化を抑えるように固定させることができる。
【００８１】
４）状態４のとき：状態２への移行に備えて、予めクラッチモータ４１Ｌ，４１Ｒのアウターロータ９Ｌ，９Ｒとインナーロータ８Ｌ，８Ｒとの回転速度差を車速によらずほぼ０するように備えておくことができる。
【００８２】
５）状態５または６のとき：ブレーキ１１の締結動作中あるいは開放動作中の状態である。クラッチモータ４１Ｌ，４１Ｒのトルクを０とすることで、安定にブレーキ１１の締結および開放動作を実現できる。
【００８３】
６）特に、クラッチモータ４１Ｌ，４１Ｒによる回生制動は、状態が１のとき（ブレーキ１１が完全に締結しているとき）に限定されるので、安定した回生制動が実現できる。
【００８４】
７）図６のＳ６２１からＳ６２８のステップにより、クラッチモータ４１Ｌ，４１Ｒによる回生制動分は、摩擦ブレーキが減らさせることになるので、回生動作・非動作によらず、常に運転者の意図した車両制動力を実現することができる。
８）状態２にあって、左右輪に所定値以上のトルク差を発生させているときには、状態１への状態遷移を禁止するようにした。これにより、左右輪の駆動力差がなくなることで車両挙動が不安定化することを回避できる。この機能は、前述の図６のステップＳ６１２ａおよび、図４のステップＳ４０２にて実現している。
【００８５】
９）  路面状態に応じて、ｆｌａｇ＿ｂを演算することによって、適正に状態１と状態２とを切替えておくことができ、旋回アシストと発進アシストとの切替え遅れにより一時的に車両挙動が不安定化することも回避できる。また、路面状態としての路面摩擦係数の推定値μｅが小さいほど、より高い車速領域まで状態１と判断するようにしたことで、旋回アシスト能力を低下させることなく、μｅに応じて状態１に保持するようにでき、状態１から状態２への機構的切替え遅れによる旋回アシスト遅れが発生する状況を少なくできる。
【００８６】
別の実施形態としては、クラッチモータ４１Ｌと４１Ｒのいずれかに対して、インナーロータとアウターロータとの回転速度差を０に拘束するクラッチを備える形態もある。例えばクラッチは電磁式クラッチとし、クラッチモータ４１Ｌに配置すると共に、コントローラ１４からそのＯＮ／ＯＦＦ指令を行うようにする。
【００８７】
この実施形態の場合、コントローラ１４の演算フローを以下のように変更することで実現可能である。
【００８８】
１）図３の初期化ルーチンにおいて、クラッチＯＮ／ＯＦＦ指令フラグｆ＿ｃｌｕｔｈを０に初期化する。ここで、０をＯＦＦ指令、１をＯＮ指令に割り当てる。
【００８９】
２）図６において、Ｓ６０１の前段、すなわち、図６のルーチン開始時にｆ＿ｃｌｕｔｈに０を代入する。
【００９０】
３）図６のＳ６１１に代わり、ＴＬ＝０、ｆ＿ｃｌｕｔｈ＝１を実行する。
【００９１】
４）図４のＳ４０４にてクラッチＯＮ／ＯＦＦ指合ｆ＿ｃｌｕｔｈを出力する。
【００９２】
なおここまでは、クラッチモータ４１Ｌと４１Ｒとが一体成形されている形態を示したが、それぞれを車輪の近傍に配置し、アウターロータ同士を回転軸を介して機械的に連結した実施形態（例えば図１８）でももちろんよい。
【００９３】
また、上述した実施例は、図２に示したように、クラッチモータ４１Ｌと４１Ｒはそれぞれアウターロータ軸同士を機械的に連結しインナーロータをそれぞれ左右輪に連結する形態を示したが、インナーロータ軸同士を機械的に連結しアウターロータをそれぞれ左右輪に連結する形態でももちろん構わないし、クラッチモータ４１Ｌのアウターロータとクラッチモータ４１Ｒのインナーロータを機械的に連結し、クラッチモータ４１Ｌのインナーロータとクラッチモータ４１Ｒのアウターロータとをそれぞれ左右輪に連結する形態でももちろん構わないし、その逆の形態でも勿論構わない。即ち、アウターロータとインナーロータが共に回転自在となっている電動モータＲと電動モータＬとを有し、電動モータＲのアウターロータあるいはインナーロータと電動モータＬのアウターロータあるいはインナーロータとが機械的に連結されており、電動モータＬに連結されていない電動モータＲのアウターロータあるいはインナーロータが車両右側の車輪に連結され、電動モータＲに連結されていない電動モータＬのアウターロータあるいはインナーロータが車両左側の車輪に連結されており、さらに電動モータＲと電動モータＬの連結部位の回転を拘束するブレーキ手段からなる構成であれば良い。
【００９４】
したがって、図１８に示すようにクラッチモータが車輪１Ｌ，１Ｒ寄りに配置され、アウターロータ９Ｌのロータ軸１５０Ｌとアウターロータ９Ｒのロータ軸１５０Ｒとが連結装置１５１を介して連結されている形態であってもよい。さらにいえば車輪１Ｌ，１Ｒのホイール内に電動モータＬ，Ｒが配置されている形態でも良い。また、ブレーキの取り付け位置についても、図２および図１８に示すように車両の左右の真中に配置する必要は必ずしも無い。
【００９５】
また、上述した実施形態においては、前輪をエンジンにて駆動しているが、前輪を駆動する手段として、エンジン以外にもモータなどの駆動源を用いてもよい。勿論、後輪をそのような駆動源にて駆動し、前輪に上述した連結装置を配置した構成でも良い。
【００９６】
続いて、本発明の第２実施形態について説明する。この第２実施形態は、図１の後輪機構である図２にかわって、図１９の形態を適用することで実現する例を示す。以下、図１９について説明する。
【００９７】
右後輪５１Ｒには、等速ジョイント５２Ｒ，５３Ｒを有する連結軸５４Ｒが連結され、連結軸５４Ｒには減速歯車５５Ｒ，５６Ｒを介してクラッチモータ６３のインナーロータ６１が連結されている。左後輪５１Ｌには、等速ジョイント５２Ｌ，５３Ｌを有する連結軸５４Ｌが連結されており、連結軸５４Ｌは更にクラッチ板７２と連結されている。７１はクラッチ機構であり、ソレノイド７５によってクラッチ板７２をディスク７３もしくはディスク７４に締結させる。ここでディスク７３は、回転軸５７に連結されており、ディスク７４は、ケースが車体に固定された歯車機構５０の作用により、ディスク７３と逆回転に回転するようになっている。回転軸５７には、減速歯車５５Ｌ，５６Ｌを介してクラッチモータ６３のアウターロータ６２が連結されている。
【００９８】
クラッチモータ６３にはその駆動回路６４が接続されている。クラッチモータ６３およびその駆動回路６４およびバッテリ１３の構造および作用については、先の実施形態で説明したのでここでは説明を省略する。
【００９９】
クラッチ機構７１は、コントローラ６７からの指令を受けて駆動回路６５がソレノイド７５を調整することにより、クラッチ板７２をディスク７３もしくはディスク７４に締結したり、ディスク７３、ディスク７４ともに非締結の状態にしたりする。
【０１００】
後輪５１Ｌ、５１Ｒには摩擦ブレーキ（不図示）が備え付けられている。摩擦ブレーキは、運転者のブレーキペダル操作に応じて増圧される油圧の力で、ブレーキバッドをブレーキディスクに押し付け、ブレーキ力を発生する機構となっている。また、コントローラ６７からの指令に応じて、油圧弁を調整することで油圧を任意に減圧できる、つまり、摩擦ブレーキ力を任意に弱めることができる構成となっている。
【０１０１】
コントローラ６７には、ドライバが操作するアクセルの踏み込み量を検出するポテンショ式センサ４０と、ステアリングの回転角を検出するステアリング角センサ４２と、オートマティックトランスミッションの走行レンジ（Ｐ、Ｒ、Ｎ、Ｄレンジ）を検出するスイッチからなる走行レンジセンサ４３と、車両の速度を検出する車速センサ４４、車両の起動を検出するイグニッションスイッチ４５、バッテリの蓄電量を検出するＳＯＣ（Ｓｔａｔｅ  Ｏｆ  Ｃｈａｒｇｅ）センサ４６、アウターロータ６２の回転速度を検出するアウターロータ回転速度センサ４７、インナーロータ６１の回転速度を検出するインナーロータ回転速度センサ４８、ブレーキペダルの踏み込み量を検出するブレーキ踏力センサ７０の信号が入力されている。また、車両の右前輪３１Ｒの回転速度を検出する回転速度センサ１７１、車両の左前輪３１Ｌの回転速度を検出する回転速度センサ１７２、従動輪である後左輪５１Ｌの回転速度を検出する回転速度センサ１７３、後右輪５１Ｒの回転速度を検出する回転速度センサ１７４の信号も入力されている。またエンジンコントローラからは、カットされる駆動トルク値Ｔｏｖｅｒおよび要求車両駆動トルクｔＴｄおよび路面摩擦推定値μｅを受信する（不図示）。さらに、クラッチモータおよびその駆動回路にはそれぞれ温度センサが内蔵されており、それらのセンサ信号も入力されている（不図示）。
【０１０２】
コントローラ６７は、マイクロコンピュータのほかにＲＡＭ／ＲＯＭなどの周辺部品を備えており、前述の入力信号を受けて、クラッチ板７２の締結を判断し、クラッチモータ６３への指令トルクを演算し、摩擦ブレーキの油圧の減圧指令値も演算する。クラッチ板７２の締結判断、およびクラッチモータ６３への指令トルク演算は、一定時間（例えば  １０ｍｓ）ごとに、図２０に示すフローチャートを実行することで実現する。即ち、図２０のＳ１３０１にてコントローラ６７に入力される信号を変数に格納し、Ｓ１３０２ではクラッチ板７２をディスク７３に締結すべきかディスク７４に締結すべきかを判断し、その結果をｆｌａｇ＿Ｃに代入する。また、クラッチ板７２の締結状態をあらわす変数ｓｔａｔｅの決定も行なう。続いてＳ１３０３ではクラッチモータ６３の指令トルクＴＣを演算し、摩擦ブレーキの油圧の減圧指令値Ｔｂｒも演算する。Ｓ１３０４にてクラッチ板７２の締結指令およびクラッチモータ６３の指令トルクＴＣをコントローラ６７から駆動回路６４，６５へ出力する。最後にＳ１３０５で、摩擦ブレーキの油圧の減圧指令値を出力する。
【０１０３】
ｆｌａｇ＿Ｃはクラッチ板７２をディスク７４に締結すべきと判断した時に１、ディスク７３に締結すべきと判断した時に０と演算する。クラッチ板７２の締結状態をあらわす変数ｓｔａｔｅは、１〜８の整数をとる。状態１（ｓｔａｔｅ＝１）は、クラッチ板７２がディスク７４に完全に締結し、車両を駆動または回生制動できる状態である。また、状態２（ｓｔａｔｅ＝２）は、クラッチ板７２がディスク７３に完全に締結し、車両を旋回アシストできる状態である。その他の状態は、状態１および状態２の間を状態遷移する際にとる状態でであり、後述する。指令トルクＴＣは、クラッチ板７２をディスク７４に締結した状況において、車両を前に駆動する向きを正にとり、車両を後ろに駆動する向きを負にとるものとする。Ｓ１３０４のクラッチ板７２の締結指令は、ｓｔａｔｅ＝１またはｓｔａｔｅ＝５の時にディスク７４に締結すると指令し、ｓｔａｔｅ＝２またはｓｔａｔｅ＝８の時にディスク７３に締結すると指令し、それ以外のときには、どちらにも締結しないように指令する。
また、これらの値は、イグニッションスイッチＯＮ時に、図２１に示すフローチャートの制御を実行することで初期化しておく。つまり、締結方向判断フラグｆｌａｇ＿Ｃの初期値は１、指令トルクＴＣの初期値は０、減圧指令値Ｔｂｒの初期値は０、状態ｓｔａｔｅの初期値は１、となるようそれぞれ初期化される。
【０１０４】
以下、クラッチ板７２の締結方向判断フラグｆｌａｇ＿Ｃと状態ｓｔａｔｅを決定するＳ１３０２と、クラッチモータ６３への指令トルクと摩擦ブレーキの油圧の減圧指令値Ｔｂｒを演算するＳ１３０３について順に説明する。
【０１０５】
クラッチ板７２の締結方向判定フラグｆｌａｇ＿Ｃは、前述したｆｌａｇ＿ｂと同じ方法で決定する。ただし、本実施形態では状態１のときに旋回アシストを行なうことができないので、図９のテーブル値は全て０として実現する。また、後述する図２２のステップＳ１４１２ａにて判定する”状態１への移行禁止判定”結果が、”移行禁止”である場合には、ｆｌａｇ＿Ｃ＝０からｆｌａｇ＿Ｃ＝１への変化を禁止するものとする。
【０１０６】
状態ｓｔａｔｅは、レンジ信号がＰ，Ｎ，Ｒのいずれかの場合には１とし、Ｄの場合には図２３に従って決定する。ここで状態ｓｔａｔｅは、ｆｌａｇ＿Ｃを演算後に決定する。なおｓｔａｔｅの初期値は、図２１のフローに従って１に設定されている。
（ｓｔａｔｅ＝１のとき）
クラッチ板７２がディスク７４に完全に締結し、車両を駆動または回生制動できる状態である。前述の演算によりｆｌａｇ＿Ｃ＝０となったらｓｔａｔｅ＝６とし、それ以外のときにはｓｔａｔｅ＝１を保持する。
（ｓｔａｔｅ＝６のとき）
状態６は、クラッチ板７２の開放動作中状態である。クラッチ板７２が完全に離れたと判断したら、ｓｔａｔｅ＝４とし、まだ完全には離れていないと判断したらｓｔａｔｅ＝６を保持する。ただし、ｆｌａｇ＿Ｃ＝１となったら、ｓｔａｔｅ＝５とし状態５へ移行する。クラッチ板７２が完全に開放したことは、ｓｔａｔｅ＝６が時間Ｔｄ３継続したことをもって判断する。時間Ｔｄ３は、図２０のステップＳ１３０４にてクラッチ開放指令してから、実際にクラッチ板７２が完全に開放されるまでの時間遅れ、例えば０．２ｓと予め決めておく。
（ｓｔａｔｅ＝４のとき）
状態４は、状態１から状態２へ移行する際の過渡状態であり、後述（図２２を参照）するようにクラッチモータ６３のアウターロータ回転速度とインナーロータ回転速度を略一致させる制御を実施する状態である。両者の回転速度が略一致したら、ｓｔａｔｅ＝８とする。両者の回転速度が略一致したことは、回転速度ＲｏｕｔとＲｉｎの差が例えば１０ｒｐｍ以内であることをもって判断する。ｓｔａｔｅ＝８とする前に、ｆｌａｇ＿Ｃ＝１となったら、ｓｔａｔｅ＝３とし、状態３へ移行する。それ以外の場合は、ｓｔａｔｅ＝４を保持する。
（ｓｔａｔｅ＝８のとき）
状態８は、クラッチ板７２の締結動作中状態である。クラッチ板７２がディスク７３に完全に締結したと判断したら、ｓｔａｔｅ＝２とし、まだ完全には締結していないと判断したらｓｔａｔｅ＝８を保持する。ただし、ｆｌａｇ＿Ｃ＝１となったら、ｓｔａｔｅ＝７とし状態７へ移行する。クラッチ板７２が完全に締結したことは、ｓｔａｔｅ＝８が時間Ｔｄ４継続したことをもって判断する。時間Ｔｄ４は、図２０のステップＳ１３０４にてクラッチ締結指令してから、実際にクラッチ板７２が完全に締結されるまでの時間遅れ、例えば０．１ｓと予め決めておく。
（ｓｔａｔｅ＝２のとき）
状態２は、クラッチ板７２がディスク７３に完全に締結し、車両を旋回アシストできる状態である。ｆｌａｇ＿Ｃ＝１となったら、ｓｔａｔｅ＝７とし、状態７へ移行する。それ以外の場合は、ｓｔａｔｅ＝２を保持する。
（ｓｔａｔｅ＝７のとき）
状態７は、クラッチ板７２の開放動作中状態である。クラッチ板７２が完全に離れたと判断したら、ｓｔａｔｅ＝３とし、まだ完全には離れていないと判断したらｓｔａｔｅ＝７を保持する。ただし、ｆｌａｇ＿Ｃ＝０となったら、ｓｔａｔｅ＝８とし状態８へ移行する。クラッチ板７２が完全に開放したことは、ｓｔａｔｅ＝７が時間Ｔｄ５継続したことをもって判断する。時間Ｔｄ５は、図２０のステップＳ１３０４にてクラッチ開放指令してから、実際にクラッチ板７２が完全に開放されるまでの時間遅れ、例えば０．２ｓと予め決めておく。
（ｓｔａｔｅ＝３のとき）
状態３は、状態２から状態１へ移行する際の過渡状態であり、後述（図２２を参照）するようにアウターロータ回転速度がインナーロータ回転速度とほぼ逆（Ｒｏｕｔが−Ｒｉｎとほぼ一致。つまりクラッチ板７２とディスク７４の回転速度がほぼ一致。）するように制御を実施する状態である。Ｒｏｕｔが−Ｒｉｎとほぼ一致したら、ｓｔａｔｅ＝５とする。ほぼ一致したことは、（Ｒｏｕｔ＋Ｒｉｎ）が例えば−１０ｒｐｍ〜＋１０ｒｐｍ内であることをもって判断する。ｓｔａｔｅ＝５とする前に、ｆｌａｇ＿Ｃ＝０となったら、ｓｔａｔｅ＝４とし、状態４へ移行する。それ以外の場合は、ｓｔａｔｅ＝３を保持する。
（ｓｔａｔｅ＝５のとき）
状態５は、クラッチ板７２の締結動作中状態である。クラッチ板７２がディスク７４に完全に締結したと判断したら、ｓｔａｔｅ＝１とし、まだ完全には締結していないと判断したらｓｔａｔｅ＝５を保持する。ただし、ｆｌａｇ＿Ｃ＝０となったら、ｓｔａｔｅ＝６とし状態６へ移行する。クラッチ板７２が完全に締結したことは、ｓｔａｔｅ＝５が時間Ｔｄ４継続したことをもって判断する。時間Ｔｄ４は、図２０のステップＳ１３０４にてクラッチ締結指令してから、実際にクラッチが完全に締結されるまでの時間遅れ、例えば０．１ｓと予め決めておく。
【０１０７】
続いて、クラッチモータ６３への指令トルクＴＣを演算する方法を、図２２に示すフローチャートに従って説明する。
【０１０８】
まず、Ｓ１４０１にて走行レンジ（Ｒｎｇ）がＤレンジ（前進走行レンジ）であるか、ｓｔａｔｅの値が、５以上であるかを判定する。ここでＤレンジでなければ、つまり、Ｐレンジ（パーキングレンジ）またはＲレンジ（後退走行レンジ）またはＮレンジ（ニュートラルレンジ）のいずれかであればＳ１４０２へ進み、Ｓ１４０２にてＴＣ＝０、Ｓ１４１３にて摩擦ブレーキの油圧の減圧指令値Ｔｂｒ＝０として本ルーチンを終了する。ｓｔａｔｅの値が、５以上である場合も同じである。この場合、クラッチモータ６３はトルクを発生せず、車両の運動特性に何ら影響を与えない。走行レンジがＤレンジ、かつ、ｓｔａｔｅの値が、４以下であれば、Ｓ１４１０へ進む。
【０１０９】
Ｓ１４１０では、ｓｔａｔｅの値が２か否かを判定し、２であればＳ１４１２へ進み、２でなければＳ１４２０へ進む。
【０１１０】
Ｓ１４１２へ進んだ場合には、クラッチモータ６３へのトルク指令値ＴＣをマップＭＡＰ＿ＴＹ１の表引きにより演算する。マップＭＡＰ＿ＴＹ１は、予め車速Ｖｓｐとステアリング角Ｓｔｒに応じて対応付けられてＲＯＭに格納されているデータであり、例えば図１５に示すように、車速とステアリング角に応じて値が変わるように設定しておく。ステアリングが左に切られている（車両挙動は左旋回）状況において、左旋回へのヨーモーメントを発生させるように、すなわち、車輪５１Ｒに車両を駆動させる向きのトルクが発生するように、正の値を割り付けておく。逆にステアリングが右に切られている（車両挙動は右旋回）状況において、車輪５１Ｒに車両を制動させる向きのトルクが発生するように、負の値を割り付けておく。
【０１１１】
ここで、クラッチモータ６３の作用による車両挙動について補足しておく。理解を容易にするため、車両がほぼ直進に進行している状況を用いて補足する。クラッチモータ６３に正のトルクＴＲを発生させると、車輪５１Ｒには駆動の向きに力が発生し、その反作用で車輪５１Ｌに対しては車両を制動させる向きに車輪５１Ｌにトルクを発生する。即ちクラッチモータ６３へ正のトルクを指令すると、車両を駆動させる向きのトルクが車輪５１Ｒに加わると同時に、同じ大きさの車両を制動させる向きのトルクが車輪５１Ｌに加わり、両者のトルク差により車両に左旋回のヨーモーメントを発生させ、左旋回の性能を向上させる効果を実現する。逆にクラッチモータ６３へ負のトルクを指令すると、車両を制動させる向きのトルクが車輪５１Ｒに加わると同時に、同じ大きさの車両を駆動させる向きのトルクが車輪５１Ｌに加わり、両者のトルク差により車両に右旋回のヨーモーメントを発生させ、右旋回の性能を向上させる効果を実現する。
【０１１２】
Ｓ１４１２ａでは、状態１への移行禁止判定を行なう。判定は、図６のＳ６１２ａと同じなので省略する。ただし、図１９の構成では状態１にて旋回アシストすることが不可能であるので、車速テーブル値ＴＨ＿Ｙの値としては、車両挙動が大きく変化しない程度の小さい値としておく。
【０１１３】
Ｓ１４１３では、摩擦ブレーキの油圧の減圧指令値Ｔｂｒを０として本ルーチンを終了する。
【０１１４】
さて、Ｓ１４１０にてＮｏと判断した場合には、Ｓ１４２０へ進む。Ｓ１４２０では、ｓｔａｔｅの値が１か否かを判定し、１であればＳ１４２１へ進み、１でなければＳ１４３０へ進む。
【０１１５】
Ｓ１４２１からＳ１４２５までは、図６のＳ６２１からＳ６２５までと同じであるので、説明は省略する。
【０１１６】
Ｓ１４２６では、制駆動分トルクｔｍｐに対して、ｔｍｐが負値（回生制動要求）であるときに制限をかける。つまり、ｔｍｐのトルク値が、トルク指令値ＴＬ、ＴＲの最小値（負値）ｔｍｐ１よりも大きくなるようにｔｍｐの値を次式で制限する。
【０１１７】
【数９】
ｔｍｐ１＝ＴＢＬ＿ＬＭＴ（Ｖｓｐ）  …（９）
【０１１８】
【数１０】
ｔｍｐ＝ｍａｘ（ｔｍｐ，ｔｍｐ１）  …（１０）
ここで、トルク指令値ＴＣの最小値ｔｍｐ１は、図１７のように車速テーブル値ＴＢＬ＿ＬＭＴとして予めＲＯＭに持たせておく。
【０１１９】
続いてＳ１４２７では、クラッチモータ６３のトルク指令値ＴＣ、摩擦ブレーキの油圧の減圧指令値Ｔｂｒを次のように演算する。
【０１２０】
【数１１】
ＴＣ＝ｔｍｐ  …（１１）
【０１２１】
【数１２】
Ｔｂｒ＝ｍｉｎ（ｔｍｐ，０）  …（１２）
さて、Ｓ１４２０にてｓｔａｔｅの値が１でないと判定された場合には、Ｓ１４３０に進む。
【０１２２】
Ｓ１４３０にて、ｓｔａｔｅの値が３であるかを判定し、ｙｅｓであればＳ１４３１に、ｎｏであればＳ１４３２に進む。
【０１２３】
Ｓ１４３２に進んだ場合には、クラッチモータ６３へのトルク指令値ＴＣは、アウターロータの回転速度Ｒｏｕｔとインナーロータの回転速度Ｒｉｎとの回転速度が一致するように演算する。演算方法としては例えば、次式で示すように、アウターロータの回転速度Ｒｏｕｔとインナーロータの回転速度Ｒｉｎとの差が０となるようにフィードバック制御（ＰＩ制御）をする方法がある。
【０１２４】
【数１３】
ＴＣ＝Ｋｐ＊（Ｒｏｕｔ−Ｒｉｎ）＋∫Ｋｉ＊（Ｒｏｕｔ−Ｒｉｎ）ｄｔ  …（１３）
ここで、この式（１３）中の∫Ｋｉ＊（Ｒｏｕｔ−Ｒｉｎ）ｄｔは時間積分項であり、また、Ｋｐ（比例ゲイン）及びＫｉ（積分ゲイン）は予めフィードバック系が所望のレギュレーション特性を有するように決定されている正の固定値である。また、ＲｏｕｔおよびＲｉｎは、クラッチ板７２がディスク７３に締結されている状態で車両が前進しているときのＲｏｕｔおよびＲｉｎの回転の向きをそれぞれ正にとるものとする。このようにすることで、アウターロータの回転速度Ｒｏｕｔはインナーロータの回転速度Ｒｉｎと一致するようにフィードバック制御される。
【０１２５】
Ｓ１４３１に進んだ場合には、クラッチモータ６３へのトルク指令値ＴＣは、アウターロータの回転速度Ｒｏｕｔがインナーロータの回転速度Ｒｉｎの符号反転値となるように演算する。演算方法としては例えば、次式で示すように、アウターロータの回転速度Ｒｏｕｔとインナーロータの回転速度Ｒｉｎの符号反転値との差が０となるようにフィードバック制御（ＰＩ制御）をする方法がある。
【０１２６】
【数１４】
ＴＣ＝Ｋｐ＊（Ｒｏｕｔ＋Ｒｉｎ）＋∫Ｋｉ＊（Ｒｏｕｔ＋Ｒｉｎ）ｄｔ  …（１４）
このようにすることで、アウターロータの回転速度Ｒｏｕｔはインナーロータの回転速度Ｒｉｎの符号反転値と一致するようにフィードバック制御される。
【０１２７】
ここで、Ｓ１４３１とＳ１４３２は次のような意味を持つ。ｓｔａｔｅの値が３であるときは、クラッチ板７２をディスク７４に締結するのに備えて、Ｓ１４３１の操作によりクラッチ板７２とディスク７４との回転数を合わせておき、ディスク７４に締結する際のショックを抑えることができる。また、ｓｔａｔｅの値が４のときは、クラッチ板７２をディスク７３に締結するのに備えて、Ｓ１４３２の操作によりクラッチ板７２とディスク７３との回転数を合わせておき、ディスク７３に締結する際のショックを抑えることができる。
【０１２８】
Ｓ１４３４では、摩擦ブレーキの油圧の減圧指令値Ｔｂｒを０として本ルーチンを終了する。
【０１２９】
以上の実施形態により、走行レンジがＤレンジの時に次の機能を実現することができる。
【０１３０】
１）状態２のとき：車速およびステアリング角に応じて左右輪５１Ｌと５１Ｒとに駆動トルク差を発生させ、車両の旋回性能を向上させることができる。特にクラッチモータ６３のアウターロータ６２とインナーロータ６１との回転速度差が車速によらずほぼ０に保たれるため、モータの定トルク領域が使用でき、小型モータで左右輪５１Ｌと５１Ｒとに駆動トルク差を効果的に発生させることができるという特長を有している。
【０１３１】
２）状態１のとき：アクセル踏み込み量に応じて車両を制駆動動作させることができる。その際、バッテリの蓄電状態に応じてバッテリの放電・充電を制限する機能も有する。
【０１３２】
３）状態３〜状態８のとき：クラッチ板７２をディスク７３もしくは７４に締結させるのに備えて、締結側の回転数を合わせておくことで、締結時のショックを抑えることができる。ショックによる運転性悪化を抑えられると共に、クラッチの耐久性を高めることができる。
【０１３３】
４）特に、クラッチモータ６３による回生制動は、状態が１のとき（クラッチ５２が完全にをクラッチ５３に締結しているとき）に限定されるので、安定した回生制動が実現できる。
【０１３４】
５）図２２のＳ１４２１からＳ１４２７のステップにより、クラッチモータ６３による回生制動分は、摩擦ブレーキが減らさせることになるので、回生動作・非動作によらず、常に運転者の意図した車両制動力を実現することができる。
【０１３５】
６）状態２にあって、左右輪に所定値以上のトルク差を発生させているときには、状態１への状態遷移を禁止するようにした。これにより、左右輪の駆動力差がなくなることで車両挙動が不安定化することを回避できる。この機能は、前述の図２２のステップＳ１４１２ａおよび、図２０のステップＳ１３０２にて実現している。
【０１３６】
７）路面状態に応じて、ｆｌａｇ＿ｂを演算することによって、適正に状態１と状態２とを切替えておくことができ、旋回アシストと発進アシストとの切替え遅れにより一時的に車両挙動が不安定化することも回避できる。また、路面状態としての路面摩擦係数の推定値μｅが小さいほど、より高い車速領域まで状態１と判断するようにしたことで、旋回アシスト能力を低下させることなく、μｅに応じて状態１に保持するようにでき、状態１から状態２への機構的切替え遅れによる旋回アシスト遅れが発生する状況を少なくできる。
【０１３７】
尚、この第２実施形態においては、車両の駆動源をエンジンとした実施形態を示したが、エンジン以外にもモータなどの駆動源を用いてもよい。勿論、後輪をそのような駆動源にて駆動し、前輪に上述した連結装置を配置した構成でも良い。
【０１３８】
また、他の実施形態として、特開平９−７９３４８号公報に示されるように、クラッチモータを使わずに構成されている左右輪連結装置にも適用することができる。すなわち、少なくとも１つの電気モータを備え、その電気モータにより右側車輪と左側車輪に逆向きのトルクを発生させて車両の旋回をアシストする車両の左右輪駆動装置であればよい。
【０１３９】
上述した各実施形態から把握し得る本発明の技術的思想について、その効果とともに列記する。
【０１４０】
（ａ）  車輪駆動装置は、駆動源を有し車両を駆動することができる車輪駆動機構Ａと、少なくとも１つの電気モータを備え、左右車輪にトルクを発生させて車両を駆動および回生制動させる状態１と、右側車輪と左側車輪に逆向きの同じ大きさのトルクを発生させて車両の旋回をアシストする状態２の２つの状態を車両速度に応じて機械的に切替えて使用する左右輪駆動機構Ｂと、路面の摩擦状態を推定する路面摩擦状態推定手段と、路面摩擦状態推定手段に基づいて、状態１と状態２のいずれがより車両挙動を安定化させるかを判断する状態判断手段と、状態判断手段の判断結果に応じて、左右輪駆動機構Ｂの状態１と状態２との切替えを行なう手段と、から構成される。これにより路面状態に応じて、適正に状態１と状態２とを切替えておくことができ、旋回アシストと発進アシストとの切替え遅れにより一時的に車両挙動が不安定化することを回避できる。
【０１４１】
（ｂ）  上記（ａ）に記載の構成において、路面摩擦状態推定手段は、路面摩擦係数を推定するものであり、状態判断手段は、推定した路面摩擦係数が小さいほど、より高い車速領域まで状態１と判断する。
【０１４２】
状態１で車輪に発生させることができるトルクの最大値は、一般的に図２４の形状となる。即ち、最大トルクがほぼ一定値（Ｔｄｍａｘ）である定トルク領域と、最大トルクがモータ回転速度にほぼ反比例する定出力領域とに区分できる。状態１においては、左右モータは独立に左右輪にトルクを発生できる為、左に駆動トルクを発生させ、右輪に制動トルクを発生させるといった具合に旋回アシストを行なうこともできる。このときの旋回アシストトルクの最大値は、車速に依存し、図２４の値に制限される。
【０１４３】
これに対して、状態２で車輪に発生させることができるトルクの最大値は、車速によらず一定値（Ｔｄｍａｘ）である。
【０１４４】
一方で、車輪が受けられる反力の最大値（最大粘着トルク）は、路面摩擦係数μの低下に応じて、おおよそ破線のように下がってくる（図２４には、μ＝１，０．７，０．４のときの例を描いている）という関係がある。
【０１４５】
これらの特徴を総合すると次のことが言える。例えばμ＝０．７のとき、車速Ｖｓｐ０７以下の車速領域においては、状態１であっても最大粘着トルクまで旋回アシストを実施できる。つまり、状態２と同じ能力の旋回アシストを実現できる。さらに路面摩擦係数が低い状況、例えばμ＝０．４のときには、車速Ｖｓｐ０４（Ｖｓｐ０４＞Ｖｓｐ０７）以下の車速領域において、状態１であっても最大粘着トルクまで旋回アシストを実施できる。つまりμが低いほど、状態１であっても最大粘着トルクまで旋回アシストを実施できる車速領域が広がる。言い換えれば、μが低いほど、状態１であっても状態２と同程度に旋回アシストを実施できる車速領域が広がる。
【０１４６】
発明者らはこのような点に着目し、路面摩擦係数が小さいほど、より高い車速領域まで「状態１」と判断するようにした。これによって、車速などに応じて状態２としていた領域を、旋回アシスト能力を低下させることなく、μに応じて状態１に保持するようにできる。したがって、状態１から状態２への機構的切替え遅れによる旋回アシスト遅れが発生する状況を少なくできる。
【０１４７】
（ｃ）  上記（ｂ）に記載の構成において、状態判断手段は、路面摩擦係数が小さいほど、運転者の要求する車両駆動トルクがより小さい値まで状態１と判断する。駆動輪の最大粘着トルクが不足する事態を路面摩擦係数μの推定値から予め判断し、「状態１」に切替えておくようにできる。実際にスリップ率上昇を検出する以前に「状態１」に切替えておくことができるので、運転者の要求する駆動トルク（制動トルクも含む）をより安定に実現できる機会を増やすことができる。
【０１４８】
（ｄ）  上記（ｂ）または（ｃ）に記載の構成において、ステアリングの回転角を検出するステアリング角検出手段を有し、状態判断手段は、路面摩擦係数が小さいほど、より小さなステアリング角領域まで状態１と判断する。
【０１４９】
ステアリング角が大きくなるほど、駆動輪の最大粘着トルクが小さくなることを鑑みたものであり、状態１への切替え条件をステアリング角に対して適切に設定できるようになり、いっそう、運転者の要求する駆動トルク（制動トルクも含む）を実現できる。また、前輪駆動の車両が駆動しながら旋回するとき、タイヤが発生できる横力最大値は駆動力分だけ小さくなるため、特に大きな横力を実現したい状態であるステアリング角の大きな状態ではオーバーステアの特性が運転性悪化をもたらすことがあるが、このような課題に対しても、ステアリング角に応じて状態１に切替えて後輪へ駆動力を分配できるようにし、前輪の駆動力を減らすことで駆動輪の最大横力を大きくすることができるようになったので、オーバーステア特性を軽減することができる。
【０１５０】
（ｅ）  上記（ａ）に記載の構成において、路面摩擦状態推定手段は、左右輪駆動機構Ｂの車輪を空転させない範囲で左右輪に加えることができる最大粘着トルクを推定するものであり、状態判断手段は、車速に応じて定まる状態１で左右輪に独立に発生できる電気モータによる最大トルクが、推定した最大粘着トルクより大きいときには状態１と判断する。
【０１５１】
図２４の最大トルクを推定し、そのトルクを用いて状態１への切替えを行なうようにしたため、上述した（ｂ）の構成と同様の効果を得ることができる。
【０１５２】
（ｆ）  上記（ｅ）に記載の構成において、電気モータにより発生できる最大トルクは、電気モータもしくは当該電気モータの駆動回路の状態に応じて補正されている。
【０１５３】
最大トルクをモータやモータ駆動回路の状態（例えばそれぞれの温度）に応じて最大トルクを演算し、最大粘着トルクと比較することによって、モータやモータへ電力を供給する電源などの状態に適するように、上記（ｂ）に記載の構成の効果を実現できるようになった。
【０１５４】
（ｇ）  上記（ａ）に記載の構成において、路面摩擦状態推定手段は、車輪駆動機構Ａの駆動側及び制動側の車輪スリップ率を検出するものであり、状態判断手段は、車輪スリップ率が所定値以上となった場合に状態１と判断する。駆動源が接続された駆動輪により、運転者の要求する駆動トルク（制動トルクも含む）を実現できない、あるいは、できなくなることがスリップ率から予想される場合には、「状態１」に切替えておき、左右輪駆動装置Ｂにより、駆動トルク（制動トルク）を補償するようにした。これにより、駆動輪の最大粘着トルク不足が生じた場合であっても、運転者の要求する駆動トルク（制動トルクも含む）を実現できる機会を増やすことができる。
【０１５５】
（ｈ）  上記（ａ）〜（ｇ）のいずれかに記載の構成において、状態判断手段は、状態２で所定値トルク以上の旋回アシストを行なっているときに、引き続き状態２と判断する。状態２で大きな旋回アシスト中には、継続して旋回アシストできるようにしたので、旋回アシストが急になくなることで車両が不安定化することを回避でき、上述した（ａ）〜（ｈ）の構成の効果を実現しつつ、旋回アシストも安定に実現できる。
【図面の簡単な説明】
【図１】本発明の一実施の形態を示す説明図。
【図２】本発明の一実施の形態を示す説明図。
【図３】本発明に係る車輪駆動装置の制御の流れを示すフローチャート。
【図４】本発明に係る車輪駆動装置の制御の流れを示すフローチャート。
【図５】本発明に係る車輪駆動装置の制御の流れを示すフローチャート。
【図６】本発明に係る車輪駆動装置の制御の流れを示すフローチャート。
【図７】本発明に係る車輪駆動装置における制御の流れを模式的に示す説明図。
【図８】本発明に係る実施形態において使用するＲＯＭデータの特性図。
【図９】本発明に係る実施形態において使用するＲＯＭデータの特性図。
【図１０】予め車速Ｖｓｐとアクセル踏み込み量Ａｐｓに応じて対応付けられてＲＯＭに格納されているデータであるマップＭＡＰ＿ＴＤのマップ図。
【図１１】予め車速Ｖｓｐとブレーキ踏力に応じて対応付けられてＲＯＭに格納されているデータであるマップＭＡＰ＿ＢＲＫのマップ図。
【図１２】ｆｌａｇ＿ｂの演算方法を模式的に示した説明図。
【図１３】本発明に係る実施形態において使用するＲＯＭデータの特性図。
【図１４】本発明に係る実施形態において使用するＲＯＭデータの特性図。
【図１５】予め車速Ｖｓｐとステアリング角Ｓｔｒに応じて対応付けられてＲＯＭに格納されているデータであるマップＭＡＰ＿ＴＹ１のマップ図。
【図１６】本発明に係る実施形態において使用するＲＯＭデータの特性図。
【図１７】本発明に係る実施形態において使用するＲＯＭデータの特性図。
【図１８】本発明の係る他の実施の形態を示す説明図。
【図１９】本発明に係る第２実施形態を示す説明図。
【図２０】本発明の第２実施形態に係る車輪駆動装置の制御の流れを示すフローチャート。
【図２１】本発明の第２実施形態に係る車輪駆動装置の制御の流れを示すフローチャート。
【図２２】本発明の第２実施形態に係る車輪駆動装置の制御の流れを示すフローチャート。
【図２３】本発明の第２実施形態に係る車輪駆動装置の制御の流れを模式的に示す説明図。
【図２４】本発明の効果を模式的に示す説明図。
【符号の説明】
８Ｌ…インナーロータ
８Ｒ…インナーロータ
９Ｌ…アウターロータ
９Ｒ…アウターロータ
１１…ブレーキ
２０…連結装置
４１Ｌ…クラッチモータ
４１Ｒ…クラッチモータ
【図１】
2004345575.tif 000003
【図２】
2004345575.tif 000004
【図３】
2004345575.tif 000005
【図４】
2004345575.tif 000006
【図５】
2004345575.tif 000007
【図６】
2004345575.tif 000008
【図７】
2004345575.tif 000009
【図８】
2004345575.tif 000010
【図９】
2004345575.tif 000011
【図１０】
2004345575.tif 000012
【図１１】
2004345575.tif 000013
【図１２】
2004345575.tif 000014
【図１３】
2004345575.tif 000015
【図１４】
2004345575.tif 000016
【図１５】
2004345575.tif 000017
【図１６】
2004345575.tif 000018
【図１７】
2004345575.tif 000019
【図１８】
2004345575.tif 000020
【図１９】
2004345575.tif 000021
【図２０】
2004345575.tif 000022
【図２１】
2004345575.tif 000023
【図２２】
2004345575.tif 000024
【図２３】
2004345575.tif 000025
【図２４】
2004345575.tif 000026