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