(57)【特許請求の範囲】
【請求項１】
電気自動車の各駆動輪を個別に駆動するための複数のモータ各々に対し、その出力に関する指令を個別に与えることにより、当該電気自動車の走行を制御する駆動制御装置において、車両走行開始前に実車試験又は模擬演算結果に基づき加減速要求及び車体運動状態に応じた上記指令の生成に関し学習済で、車両走行中は加減速要求及び車体運動状態を示す入力信号に応じた上記指令を生成出力する制御用ニューラルネットワークと、車両走行開始前に実車試験又は模擬演算結果に基づき加減速要求及び車体運動状態に応じた上記指令の生成に関し学習済で、車両走行中も上記入力信号及び上記制御用ニューラルネットワークの出力に基づき上記学習を続け、その結果に基づき上記制御用ニューラルネットワークの組織を更新する更新用ニューラルネットワークと、上記入力信号及び上記制御用ニューラルネットワークの出力に基づき車両走行中に上記更新用ニューラルネットワークに教師信号を与える走行中学習管理手段と、を備えることを特徴とする駆動制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、各駆動輪に対応してモータを設けた電気自動車に搭載され、当該電気自動車の走行安定性が高まるよう各モータを制御する駆動制御装置に関する。
【０００２】
【従来の技術】
在来エンジン車に関しては、加減速、旋回、レーンチェンジ等をスムーズに実行できるという性能即ち走行安定性の達成及び改善のために、いわゆる四輪操舵（４ＷＳ）が開発されている。しかし、現状の４ＷＳでは、ステアリングに関わる機構やそれを制御するための電子制御系（場合によっては更に油圧制御系）が若干大規模かつ複雑であり、そのため、大きな実装スペースを必要とする、応答が若干遅い、故障が発生しやすい等の問題が存している。他方、車載のモータにて推進される車両である電気自動車に対しても、走行安定性が要求される。在来エンジン車用の４ＷＳを電気自動車に搭載することも考えられるが、その場合も、上述の各問題を避け得ない。また、特に、車両の推進力源としてはモータしか搭載していない純粋な電気自動車では、在来エンジン車のそれよりはるかに大きなバッテリを搭載するのが一般的であり、従って実装スペースの問題は更に顕著になる。
【０００３】
このような事情があるため、電気自動車に搭載実装できる走行安定性制御手段乃至方法が、各種検討されている。例えば特開平１−２９８９０３号、特開平１−２９８９０４号、特開平１−２９８９０５号及び特開平５−１７６４１８号には、左右の各駆動輪を各々独立に回転駆動できるよう複数のモータを配置したタイプの電気自動車即ち左右駆動輪独立駆動型電気自動車に関し、左右各駆動輪の走行軌跡差に応じたモータトルク制御又は速度制御を行う手法が、開示されている。左右駆動輪独立駆動型電気自動車では、左右各駆動輪において相互に異なるトルクを発生させることができるため、在来ガソリン車における４ＷＳと類似の効果を、４ＷＳのような大規模かつ複雑な機構及び制御系なしで、達成できる。なお、上記各公報に記載の制御を実施可能なタイプの典型例としては、車両走行用のモータを左右各駆動輪に埋め込んだ或いは一体化したタイプの電気自動車即ちホイルインモータ型電気自動車がある。ホイルインモータ型電気自動車は、駆動輪毎にモータを設けているためディファレンシャルギア等の分配機構が不要で従って低伝達ロス低エネルギ消費であるから車載バッテリを小型化できる、対応する駆動輪のみを駆動できればよいため通常のいわゆるワンモータ型電気自動車に比べモータを小さくできる、モータが駆動輪にビルトインされているため集積性が高く車室空間が広がる等の利点を有している。
【０００４】
【発明が解決しようとする課題】
しかし、左右各駆動輪の走行軌跡差のみでは、重心回りでの車体の回転運動、横方向への車体の運動、駆動輪のすべり等に十分対処できず、走行安定性を十分に達成できない。例えば、旋回のため操舵を行うと車体にヨーレイト、横加速度、すべり角度等の諸量が発生する。これらは、コーナリングフォース、横方向の力、路面摩擦係数等に加え車体速度や車輪速度等に応じその値が定まる量であり、その値を走行軌跡差から一意に推定し得べきものではない。
【０００５】
かかる不備を解消するため、本願出願人は舵角に対するヨーレイト又はすべり角度の応答が目標応答に一致するよう、各モータの出力（トルク）を制御する技術を、既に提案している（特願平９−８６９３号）。かかる制御手法、即ち目標ヨーレイト適合制御やすべり角度適合制御（例えばすべり角度ゼロ制御）を用いることにより、回転運動、横方向運動等に好適に対処可能になり、車両の走行安定性を改善できる。また、舵角は車両操縦者による操舵に伴い直ちに発生する量であり、先提案ではこの舵角に基づく制御を行っているため、車両操縦者によるペダル操作頻度の低減等の効果も生じる。即ち、アクセルペダルを踏んで走行している最中に車両操縦者が操舵を行いその結果走行が不安定になりかけたとしても、車両操縦者がそれを察知してブレーキペダルを踏み始める前に、目標ヨーレイト適合制御や目標すべり角度適合制御が起動して走行不安定性を解消乃至低減するから、車両操縦者によるブレーキペダル操作は不要になりアクセルペダルを踏んだままの走行が可能になる。
【０００６】
発明者は、この先提案に係る駆動制御装置に更に改善を加えるべく、検討を続けてきた。この検討の結果明らかになった要改善点の一つは、専ら舵角のみに基づき制御を行うと、舵角の過大過小、操舵後に受ける外乱（路面、横風等）、制御系の遅れ等に起因して、車体運動に予想外の乱れ（制御誤差）が生じることである。要改善点の他の一つは、車体の基礎運動方程式という形で車体運動をモデル化し、このモデルに基づき導き出した制御論理に従い目標ヨーレイト適合制御や目標すべり角度適合制御を行うのでは、実際の車両とこのモデルとの差による制御誤差を解消できず、また実使用環境下における様々な変動要因（車両特性の経時変化、積載重量の変化等）に対処できない。
【０００７】
本発明の第１の目的は、ホイルインモータ型電気自動車に代表される左右駆動輪独立駆動型電気自動車において、車両の走行安定性を維持改善するための制御即ち走行安定性制御にニューラルネットワークを導入することにより、車体の基礎運動方程式のみでは表現できず従って制御論理に反映させることができない制御誤差要因をも含め、各種の制御誤差要因に対処できるようにし、以て制御の信頼性や精度を向上させることにある。本発明の第２の目的は、ニューラルネットワークを用いた走行安定性制御とこのニューラルネットワークの組織更新とを並列分散処理することにより、走行安定性制御の信頼性、精度、応答性等を更に高めることにある。本発明の第３の目的は、走行中に実際に発生した加減速要求や車体運動状態から学んだ結果に基づき、走行安定性制御用のニューラルネットワークの組織更新を行うことにより、制御の信頼性や精度を更に向上させることにある。
【０００８】
【課題を解決するための手段】
本発明の好適な実施形態は、電気自動車の各駆動輪を個別に駆動するための複数のモータ各々に対し、その出力に関する指令を個別に与えることにより、当該電気自動車の走行を制御する駆動制御装置に係る実施形態であり、加減速要求及び車体運動状態に応じた上記指令の生成に関し、実車試験又は模擬演算結果に基づき車両走行開始前に学習済の制御用ニューラルネットワーク及び更新用ニューラルネットワークと、加減速要求及び車体運動状態を示す入力信号並びに制御用ニューラルネットワークの出力に基づき車両走行中に更新用ニューラルネットワークに教師信号を与える走行中学習管理手段とを備えることを特徴とする。制御用ニューラルネットワークは、車両走行中は、上記複数のモータ各々に対し個別に与えるべき指令を上記入力信号に応じ生成し出力する。更新用ニューラルネットワークは、車両走行中も、加減速要求及び車体運動状態を示す入力信号と、制御用ニューラルネットワークの出力即ちモータへの指令とに基づき、加減速要求及び車体運動状態に応じた指令の生成に関し学習する。更新用ニューラルネットワークは、学習の結果に基づき、制御用ニューラルネットワークの組織を更新する。この組織更新は、更新用ニューラルネットワークにおけるシナプス結合係数及びニューロンしきい値を制御用ニューラルネットワークに送信し、制御用ニューラルネットワークにおけるシナプス結合係数及びニューロンしきい値をこれにより少なくとも部分的に更新・置換する等の態様で、車両走行中でも実行できる。
【０００９】
このように、本実施形態では、車体運動をモデル化した車体の基礎運動方程式ではなく、実車試験又は模擬演算結果に基づき制御用ニューラルネットワークが予め学んでいる内容に基づきモータに対する指令が生成されるため、車体運動をモデル化したときにそのモデルと実際の車体運動との間に生じるであろう差に起因した制御誤差は、生じない。また、車両走行中も制御用ニューラルネットワークの組織更新が可能であるため、実使用環境下における舵角の過大過小、操舵後に受ける外乱、制御系の遅れその他様々な要因に迅速かつ的確に対処できる。従って、制御の信頼性、精度、応答性等が向上する。
【００１０】
なお、本発明は「駆動制御装置」としてのみならず「駆動制御方法」「ニュートラルネットワーク使用方法」「電気自動車」等としても表現できる。かかる表現への変更は、本願の開示を参照した当事者には、容易になし得るものである。
【００１１】
【発明の実施の形態】
以下、本発明の好適な実施形態に関し図面に基づき説明する。
【００１２】
（１）システム構成
図１に、本発明を実施するのに適する電気自動車のシステム構成を示す。この電気自動車は後輪駆動であり、右後輪１０ＲＲ及び左後輪１０ＲＬが駆動輪、右前輪１０ＦＲ及び左前輪１０ＦＬが従動輪である。但し、本発明は前輪駆動車や四輪駆動車にも適用できる。
【００１３】
また、図１の電気自動車はホイルインモータ型である。即ち、図中右側の車両走行用モータ１２Ｒは右後輪１０ＲＲの内部に、左側の車両走行用モータ１２Ｌは左後輪１０ＲＬの内部に、各々組み込まれている。図２に、右後輪１０ＲＲを例として、組込方の例を示す。この図では、タイヤ１４と一体に回転できるようホイル１６の内側にロータ１８を固定する一方で、モータ軸２０を介しリアアクスル２２にステータ２４を固定し、ベアリング等を介してステータ２４をロータ１８と継合している。更に、ロータ１８の内壁面にステータ２４と微小間隙を以て対向するようロータマグネット（永久磁石）２６を固定する一方で、ステータ２４にはステータ巻線２８を捲回しており、ステータ巻線２８に電流を流すためのケーブル３０をモータ軸２０内を介してステータ巻線２８に接続している。このような構造において、ケーブル３０を介しステータ巻線２８に交流電流を供給することにより、ロータ１８は回転し、車両の推進力を生む。なお、本発明の実施に際しては、他種の構造を用いても構わないし、また、左右各駆動輪に対応してモータが設けられている他種の構造を用いてもよい。
【００１４】
図１に示されるバッテリ３２は、モータ１２Ｒ及び１２Ｌへの駆動電力供給源であり、その放電出力はインバータ３４Ｒを介してモータ１２Ｒに、またインバータ３４Ｌを介してモータ１２Ｌに、各々供給されている。インバータ３４Ｒ及び３４Ｌは、電力変換器の一種である。即ち、インバータ３４Ｒはモータ制御部３６Ｒの制御の下にバッテリ３２の放電出力（直流）をモータ１２Ｒに適する電力形式（この図では三相交流）に変換し、インバータ３４Ｌはモータ制御部３６Ｌの制御の下にバッテリ３２の放電出力をモータ１２Ｌに適する電力形式に変換する。モータ制御部３６Ｒは、車両制御部３８からのトルク指令ＴＲに応じてインバータ３４Ｒを制御することにより、トルク指令ＴＲに相当するトルクをモータ１２Ｒから出力させる。同様に、モータ制御部３６Ｌは、車両制御部３８からのトルク指令ＴＬに応じてインバータ３４Ｌを制御することにより、トルク指令ＴＬに相当するトルクをモータ１２Ｌから出力させる。モータ制御部３６Ｒ及び３６Ｌは、この他、インバータ３４Ｒ及び３４Ｌのうち対応するものと車両制御部３８との間を絶縁分離する機能等を併有している。また、モータ制御部３６Ｒ及び３６Ｌによるインバータ３４Ｒ及び３４Ｌの制御は、図示しない電流センサから得たモータ１２Ｒ及び１２Ｌの各相電流検出値に基づき、或いはロータ角度位置等から求めたモータ１２Ｒ及び１２Ｌの各相電流推定値に基づき行う。なお、本発明は、純粋な電気自動車のみならずいわゆるハイブリッド車にも適用できる。
【００１５】
車両制御部３８は、モータ１２Ｒ及び１２Ｌの出力トルクの制御、車載各コンポーネントの状態監視・制御、車両乗員への車両状態の報知その他の機能を担う制御部材であり、従来から用いられている電子制御ユニット（ＥＣＵ）の主にソフトウエア的な改変にて実現できる。車両制御部３８には車両各部に設けたセンサ類の出力が入力され、車両制御部３８はセンサ類の出力をモータ出力制御や車両状態監視に利用する。
【００１６】
例えば、右後輪１０ＲＲのホイル（図２では１６）に設けられている車輪速センサ４０ＲＲ（例えばレゾルバ）は、右後輪１０ＲＲの車輪速ＶＲＲを示す信号（例えば微小角度位置変位毎のパルス信号）を生成し、また左後輪１０ＲＬのホイルに設けられている車輪速センサ４０ＲＬは、左後輪１０ＲＬの車輪速ＶＲＬを示す信号を生成する。同様に、右前輪１０ＦＲのホイルに設けられている車輪速センサ４０ＦＲは右前輪１０ＦＲの車輪速ＶＦＲを示す信号を、左前輪１０ＦＬのホイルに設けられている車輪速センサ４０ＦＬは左前輪の車輪速ＶＦＬを示す信号を、それぞれ生成する。また、アクセルセンサ４２は、アクセルペダル（図示せず）の踏込量即ちアクセル開度ＶＡを示す信号を、ブレーキセンサ４４は、ブレーキペダル５６の踏込量即ちブレーキ力ＦＢを示す信号を、シフトポジションスイッチ４６は、シフトレバー（図示せず）の投入レンジ（及びエンジンブレーキレンジ等では当該レンジ内でのシフトレバー位置）即ちシフトポジションを示す信号を、それぞれ発生させる。更に、舵角センサ４８はステアリングホイル（図示せず）の操作に応じて変化する舵角δｔを示す信号を、ヨーレイトセンサ５０は車体に作用するヨーレイトγｔを示す信号を、横加速度センサ５４は車体に作用する横加速度Ｇｙを示す信号を、それぞれ発生させる。これらのセンサの出力は、各々、車両制御部３８に入力されるに当たって車両制御部３８にて処理可能な形式のデータに変換される。車両制御部３８は、変換後のデータを用いて、トルク指令ＴＲ及びＴＬの決定、制御方法の切換等を実行する。
【００１７】
また、図１では、前輪を油圧制動し、後輪を回生制動する制動システムが用いられている。即ち、ブレーキペダル５６が踏まれると、これに応じてマスタシリンダ５８にて発生した油圧が左右のホイルシリンダ６０Ｒ及び６０Ｌに伝達され、左右のブレーキホイル６２Ｒ及び６２Ｌに作用し、左右前輪に制動トルクが付与される一方で、ブレーキセンサ４４を用いて検出されたブレーキ力（例えばマスタシリンダ５８の油圧）ＦＢに応じ車両制御部３８が回生に係るトルク指令ＴＲ及びＴＬを発生させる。従って、図１の車両における制動力配分は、図３に示されるようにブレーキ力ＦＢ（横軸の“ペダル入力”）の増大に伴い油圧回生双方が増大する配分となる。このように油圧系統と回生系統がブレーキセンサ４４以降は分離しているため、油圧及び回生のいずれか一方がフェイルしたとしても他方にて車両を退避させることができる。また、油圧系統にバルブやポンプ等の機構やその駆動・制御のための電気系統を設けていないため、例えば、回生にてまかなえる間は油圧を遮断するシステム等に比べて、システム構成が簡素になる。なお、油圧系統にバルブやポンプ等の機構やその駆動・制御のための電気系統を設ける必要がない理由の一つは、後述のようにモータ１２Ｒ及び１２Ｌの出力トルクの制御を利用して走行安定性制御を行うという、本実施形態の特徴的構成にある。
【００１８】
（２）車両制御部の全体機能
図４に、本実施形態における車両制御部３８の機能構成を示す。なお、本発明は、ハードロジックによってもまたソフトウエアによっても実施することが可能であるが、以下の説明では機能構成の明示のためブロック図を使用している。車両制御部３８は、トルク指令仮確定部１００、ＴＲＣ／ＡＢＳ相当制御部２００、走行安定制御部３００、制御切換部４００、切換制御部５００及び学習管理部６００を有している。トルク指令仮確定部１００は、車両操縦者からの要求を示す情報としてアクセルセンサ４２、ブレーキセンサ４４、シフトポジションスイッチ４６等の出力を取り込む一方で、制御対象たるモータ１２Ｒ及び１２Ｌの回転数ＮＲ及びＮＬに関する情報を車輪速センサ４０ＲＲ及び４０ＲＬから取り込み、車両操縦者からの加速、減速等の要求に応じた出力を現在のモータ回転数下で発生させるために必要なトルクを、これらの情報に基づき左右各駆動輪１０ＲＲ及び１０ＲＬそれぞれについて求め、求めたトルクをトルク指令ＴＲ及びＴＬとする。但し、この段階では、トルク指令ＴＲ及びＴＬは最終的に確定したわけではなく、まだ「仮確定」しただけである。トルク指令仮確定部１００は、更に、車体速ＶＳに基づき定めたトルク指令Ｔ（後述）も生成する。
【００１９】
ＴＲＣ／ＡＢＳ相当制御部２００は、仮確定したトルク指令ＴＲ及びＴＬに特定の条件下で補正を施すことにより、在来エンジン車におけるＴＲＣ／ＡＢＳに相当する効果を奏する動作を実行する。走行安定制御部３００は、トルク指令仮確定部１００からのトルク指令Ｔや各センサの出力に基づきトルク指令ＴＲ及びＴＬを発生させ、このトルク指令によって車体にその重心回りのモーメントＭを発生させ、操舵中に走行が不安定になることを防ぐ。学習管理部６００は、走行中に走行安定制御部３００内のニュートラルネットワークを組織更新する。ＴＲＣ／ＡＢＳ相当制御部２００及び走行安定制御部３００は、いずれも、左右のモータ１２Ｒ及び１２Ｌに対して個々別々にトルク指令を与えられるという左右輪独立駆動型電気自動車の特質を利用して、かかる動作を実行している。従って、本実施形態では、油圧制御系や複雑な電子制御系なしで、在来エンジン車におけるＴＲＣ／ＡＢＳに相当する機能を含め、車両の走行安定性に資する機能を提供できる。
【００２０】
制御切換部４００及び切換制御部５００は、車両状態又は運転状態に応じて、制御論理を選択的に切り換える。制御切換部４００はＴＲＣ／ＡＢＳ相当制御部２００及び走行安定制御部３００の後段に配されており、切換制御部５００は制御切換部４００に制御信号を与える。即ち、トルク指令仮確定部１００にて仮確定されＴＲＣ／ＡＢＳ相当制御部２００にて補正されたトルク指令ＴＲ及びＴＬを出力させるのか、それとも走行安定制御部３００にて生成されたトルク指令ＴＲ及びＴＬを出力させるのかが、切換制御部５００からの制御信号により制御切換部４００にて決定される。
【００２１】
（３）トルク指令仮確定部の機能
図５に示すように、トルク指令仮確定部１００は、アクセルペダルが踏まれたか否かをアクセルセンサ４２の出力に基づき判定するオン／オフ判定部１０２を有している。オン／オフ判定部１０２にてアクセルオン即ちアクセルペダルが踏まれていると判定されたときには、アクセル開度演算部１０４がアクセルセンサ４２の出力に基づきアクセル開度ＶＡを演算し、アクセルオフ即ちアクセルペダルが踏まれていないと判定されたときには、ブレーキ力演算部１０６がブレーキセンサ４４の出力に基づきブレーキ力（踏力）ＦＢを演算する。その際、シフトポジションスイッチ４６にて設定されるシフトポジションがアクセル開度演算部１０４及びブレーキ力演算部１０６によって参照され、そのときのシフトポジションに応じてアクセル開度ＶＡやブレーキ力ＦＢが演算決定される。演算決定されたアクセル開度ＶＡは力行トルク演算部１０８、１１０及び１１２に供給され、ブレーキ力ＦＢは回生トルク演算部１１４、１１６及び１１８に供給される。
【００２２】
他方、車輪速演算部１２２は、車輪速センサ４０ＲＲからの信号例えばパルス信号を車輪速ＶＲＲを示すデータに変換し、車輪速演算部１２４は、車輪速センサ４０ＲＬからの信号を車輪速ＶＲＬを示すデータに変換し、車輪速演算部１２６は、車輪速センサ４０ＦＲからの信号を車輪速ＶＦＲを示すデータに変換し、車輪速演算部１２８は、車輪速センサ４０ＦＬからの信号を車輪速ＶＦＬを示すデータに変換する。車輪速演算部１２２の後段に配されている回転数演算部１３０は、６０／（２πＲ）を乗ずることにより車輪速ＶＲＲを回転数ＮＲに変換し、車輪速演算部１２４の後段に配されている回転数演算部１３２は、６０／（２πＲ）を乗ずることにより車輪速ＶＲＬを回転数ＮＬに変換する。車輪速演算部１２６及び１２８の後段に配されている車体速演算部１３４は、車体速
【数１】
ＶＳ＝（ＶＦＲ＋ＶＦＬ）／２
を求め、車体速演算部１３４の後段に配されている回転数演算部１３６は、６０／（２πＲ）を乗ずることにより車体速ＶＳを回転数Ｎに変換する。尚、ここでは、回転数をｒｐｍ単位で、車輪速をｍ／ｓｅｃ単位で表している。また、Ｒは車輪半径である。
【００２３】
このようにして得られる回転数情報のうち、右側のモータ１２Ｒの回転数ＮＲは力行トルク演算部１０８及び回生トルク演算部１１４に、また左側のモータ１２Ｌの回転数ＮＬは力行トルク演算部１１０及び回生トルク演算部１１６、そして車体速ＶＳに相当する平均的な回転数Ｎは力行トルク演算部１１２及び回生トルク演算部１１８に、それぞれに入力される。
【００２４】
右側の力行トルク演算部１０８は、右側のモータ１２Ｒの回転数ＮＲをキーとして力行トルクマップ１３８を参照することにより、そのときの回転数ＮＲにおいて右側のモータ１２Ｒから出力可能な最大力行トルクを求め、この最大力行トルクをアクセル開度ＶＡにて案分することにより、右側のモータ１２Ｒに対するトルク指令ＴＲを決定する。ここで用いている力行トルクマップ１３８は、図６に示すように、力行領域（回転数＞０かつトルク＞０の領域）における回転数対最大トルク特性を保持する手段であり、これを上述のように回転数ＮＲをキーとして参照することにより、その回転数ＮＲにおける最大力行トルク（図６中のＶＡ＝１００％のカーブ上の点）が得られる。更に、そのときのアクセル開度ＶＡがｘ％であるとするならば、求めた最大力行トルクにｘ／１００を乗ずる案分処理によって、出力すべき力行トルク即ちそのときのアクセル開度ＶＡ及び回転数ＮＲに即したトルク指令ＴＲ（図６中のＶＡ＝ｘ％のカーブ上の点）を得ることができる。左側の力行トルク演算部１１０も、同様の手順にて、出力すべき力行トルク即ちそのときのアクセル開度ＶＡ及び回転数ＮＬに即したトルク指令ＴＬを求める。力行トルク演算部１１２も、同様の手順にて、そのときのアクセル開度ＶＡ及び回転数Ｎに即したトルク指令Ｔ即ち車体速ＶＳをトルク指令に換算した情報を生成する。
【００２５】
右側の回生トルク演算部１１４は、右側のモータ１２Ｒの回転数ＮＲをキーとして回生トルクマップ１４０を参照することにより、そのときの回転数ＮＲにおいて右側のモータ１２Ｒから出力可能な最大回生トルクを求め、この最大回生トルクをブレーキ力ＦＢにて案分することにより、右側のモータ１２Ｒに対するトルク指令ＴＲを決定する。ここで用いている回生トルクマップ１４０は、図７に示すように、回生領域（回転数＞０かつトルク＜０の領域）における回転数対最大トルク特性を保持する手段であり、これを上述のように回転数ＮＲをキーとして参照することにより、その回転数ＮＲにおける最大回生トルク（図７中のＦＢ＝１００％のカーブ上の点）が得られる。更に、そのときのブレーキ力ＦＢがｘ％であるとするならば、求めた最大回生トルクにｘ／１００を乗ずる案分処理によって、出力すべき回生トルク即ちそのときのブレーキ力ＦＢ及び回転数ＮＲに即したトルク指令ＴＲ（図７中のＦＢ＝ｘ％のカーブ上の点）を得ることができる。左側の回生トルク演算部１１６も、同様の手順にて、出力すべき回生トルク即ちそのときのブレーキ力ＦＢ及び回転数ＮＬに即したトルク指令ＴＬを求める。回生トルク演算部１１８も、同様の手順にて、そのときのブレーキ力ＦＢ及び回転数に基づきトルク指令Ｔ即ち車体速ＶＳをトルク指令に換算した情報を生成する。
【００２６】
力行／回生切換部１２０は、オン／オフ判定部１０２の出力に応じ、力行トルクを指令するのかそれとも回生トルクを指令するのかを切り換える。即ち、力行トルク演算部１０８、１１０及び１１２にて決定されたトルク指令ＴＲ、ＴＬ及びＴを後段に供給するのか、それとも回生トルク演算部１１４、１１６及び１１８にて決定されたトルク指令ＴＲ、ＴＬ及びＴを後段に供給するのかを、アクセルのオン／オフに応じて切り換える。以下、説明の便宜のため、トルク指令仮確定部１００にて決定されたトルク指令ＴＲ及びＴＬを、“仮確定された”トルク指令ＴＲ及びＴＬと呼ぶ。また、Ｔはモータに対する指令そのものではないが、便宜上、トルク指令とよぶ。
【００２７】
なお、図５では左右で力行トルクマップ１３８及び回生トルクマップ１４０を共有しているが、これは、左右のモータ１２Ｒ及び１２Ｌが同一特性の場合の例であり、同一特性でない場合等には左右で個別のマップを利用する。また、図６及び図７の例では最大力行トルク又は最大回生トルクのみをマップ化しているが、アクセル開度ＶＡ又はブレーキ力ＦＢをパラメタとして多数のトルク曲線をマップ化しておくようにしてもよい。そのようなマップ化が行われていれば、回転数とアクセル開度又はブレーキ力との対にてマップを参照することによりトルク指令を求められるから、力行又は回生トルク演算部１０８〜１１８にて案分処理を実行する必要がなくなる。反面、回転数対最大トルク特性のみをマップ化する方が、マップ保持のための記憶空間を節約できる。更に、トルク指令ＴＲ及びＴＬの演算を左右個別の機能・演算部材によって同時並行的に実行するのではなく、単一の演算部にて時分割で実行する方が、簡素な構成になる。そのような構成を採るには、例えば、左側の駆動輪に関する演算の実行タイミング及び右側の駆動輪に関する演算の実行タイミングを交互に与えるタイミングクロックを発生させ、これに同期した演算を実行するようにすればよい。この点は、後述する各種の係数や補正量の演算に関しても同様である。
【００２８】
（４）切換制御部の機能
先に図４に示した制御切換部４００は、具体的には、走行安定制御部３００で生成されたトルク指令ＴＲ及びＴＬをモータ制御部３６Ｒ及び３６Ｌに出力するのか、それともトルク指令仮確定部１００で仮確定されＴＲＣ／ＡＢＳ相当制御部２００により補正されたトルク指令ＴＲ及びＴＬを出力するのかを、切り換える。すなわち、仮確定されたトルク指令ＴＲ及びＴＬは、車輪角加速度が所定条件を満たす場合にのみ、ＴＲＣ／ＡＢＳ相当制御部２００にて補正が施され、モータ制御部３６Ｒ及び３６Ｌに出力される。この制御論理の切換は、切換制御部５００から供給される制御切換信号に応じて実行される。
【００２９】
【表１】
0003584669.tif 000002
切換制御部５００にて採用されている制御切換信号生成論理を、表１に示す。この表に示すように、切換制御部５００は、右後輪１０ＲＲの角加速度ｄωＲ／ｄｔ及び左後輪１０ＲＬの角加速度ｄωＬ／ｄｔのいずれかでも所定のしきい値ＴＨ以上になったら、少なくとも左右いずれかの駆動輪にスリップ又はその傾向が生じていると見なし、ＴＲＣ／ＡＢＳ相当制御部２００にて補正されたトルク指令ＴＲ及びＴＬがモータ制御部３６Ｒ及び３６Ｌに出力されるよう、制御切換信号を発生させる。角加速度ｄωＲ／ｄｔ及びｄωＬ／ｄｔがいずれもしきい値ＴＨを下回っているときには、切換制御部５００は、走行安定制御部３００にて生成されたトルク指令ＴＲ及びＴＬがモータ制御部３６Ｒ及び３６Ｌに出力されるよう、制御切換信号を発生させる。本実施形態では、従って、在来エンジン車におけるＴＲＣやＡＢＳに相当する機能を、車輪速ＶＲＲ及びＶＲＬの検出からモータ制御部３６Ｒ及び３６Ｌへのトルク指令出力に至る電気情報処理にて実現できるため、油圧を制御する機構等は不要である。
【００３０】
上述の制御切換論理を実現するには、例えば、角加速度ｄωＲ／ｄｔ及びｄωＬ／ｄｔを検出及び判定する手段、並びにこの判定の結果に基づき且つ表１の論理に従い制御切換信号を発生させる手段があればよい。これらの手段を備えた切換制御部５００の一例を、図８に示す。この図では、車輪加速度演算部５０６は車輪速演算部１２２にて検出された右後輪１０ＲＲの車輪速ＶＲＲを微分することにより右後輪１０ＲＲの加速度ｄＶＲＲ／ｄｔを求め、角加速度演算部５１０は加速度ｄＶＲＲ／ｄｔを車輪半径Ｒにて除すことにより右後輪１０ＲＲの角加速度ｄωＲ／ｄｔを求め、スリップ判定部５１４は角加速度ｄωＲ／ｄｔをしきい値ＴＨと比較している。同様に、車輪加速度演算部５０８は車輪速演算部１２４にて検出された車輪速ＶＲＬを微分することにより左後輪１０ＲＬの加速度ｄＶＲＬ／ｄｔを求め、角加速度演算部５１２は加速度ｄＶＲＬ／ｄｔを車輪半径Ｒにて除すことにより左後輪１０ＲＬの角加速度ｄωＬ／ｄｔを求め、スリップ判定部５１６は角加速度ｄωＬ／ｄｔをしきい値ＴＨと比較している。制御動作選択部５１８は、スリップ判定部５１４及び５１６における判定結果に基づきかつ表１の論理に従い、制御切換信号を生成する。このような構成により、前述の論理に従う制御切換が実現される。
【００３１】
（５）ＴＲＣ／ＡＢＳ相当制御部の機能
【表２】
0003584669.tif 000003
ＴＲＣ／ＡＢＳ相当制御部２００は、角加速度ｄωＲ／ｄｔ及びｄωＬ／ｄｔに基づき右後輪１０ＲＲに係るフィードバックトルクΔＴＲ及び左後輪１０ＲＬに係るフィードバックトルクΔＴＬを表２の論理に従い求め、仮確定されたトルク指令ＴＲからフィードバックトルクΔＴＲを、また仮確定されたトルク指令ＴＬからフィードバックトルクΔＴＬを減ずる。表２の左半分に現れているしきい値ＴＨω１〜ＴＨω３や、右半分に現れているゲインＧ１及びＧ２並びに補正項Ｓ１及びＳ２は、モータ１２Ｒ及び１２Ｌの状態に応じ且つ特性に従い、ＴＲＣ／ＡＢＳ相当制御部２００が設定する。しきい値ＴＨω１〜ＴＨω３、ゲインＧ１及びＧ２並びに補正項Ｓ１及びＳ２をモータ１２Ｒ及び１２Ｌの状態及び特性に従属させることにより、本実施形態においては、モータ１２Ｒ及び１２Ｌの出力トルクが広範囲に亘って変化する例えば市街地走行向けの車両であっても、好適なタイミングでＴＲＣ／ＡＢＳ相当制御を起動できまたＴＲＣ／ＡＢＳ相当制御に適するトルクを発生させることができる。即ち、特開平２―２９９４０２号公報や特開平３―２７７０１号公報に記載のフォークリフト等に比べ、スリップを好適に抑制乃至解消可能な電気自動車が得られる。なお、ＴＲＣ／ＡＢＳ相当制御部２００の機能、作用及び効果に関しては、本願と同じ出願人に係る特開平８―１８２１１９号公報や、特願平９−８６９３号をも参照されたい。
【００３２】
図９に、ＴＲＣ／ＡＢＳ相当制御部２００の一例構成を示す。図中、右の角加速度判定部２０２は、角加速度ｄωＲ／ｄｔをしきい値ＴＨω１〜ＴＨω３（但しＴＨω１＞ＴＨω２＞０＞ＴＨω３）と比較することにより、角加速度ｄωＲ／ｄｔが、ＴＨω１超、ＴＨω１以下ＴＨω２超、ＴＨω２以下ＴＨω３超、及びＴＨω３以下のうち、どの領域に属しているかを判定する。フィードバックトルク演算部２０４は角加速度ｄωＲ／ｄｔがＴＨω１超の領域に属しているときに、フィードバックトルク演算部２０６は角加速度ｄωＲ／ｄｔがＴＨω１以下ＴＨω２超の領域に属しているときに、フィードバックトルク演算部２０８は角加速度ｄωＲ／ｄｔがＴＨω２以下ＴＨω３超の領域に属しているときに、フィードバックトルク演算部２１０は角加速度ｄωＲ／ｄｔがＴＨω３以下の領域に属しているときに、それぞれ、右後輪１０ＲＲに係るフィードバックトルクΔＴＲを演算する。フィードバックトルク演算部２０４〜２１０にて使用される演算式は、それぞれ、表２の右半分の上から１番目、２番目、３番目及び４番目の式である（符号同順）。加算器２１２は、仮確定されたトルク指令ＴＲからフィードバックトルクΔＴＲを減ずることにより、補正されたトルク指令ＴＲを生成し、これをモータ制御部３６Ｒに出力する。
【００３３】
同様に、図中、左の角加速度判定部２１４は、角加速度ｄωＬ／ｄｔをしきい値ＴＨω１〜ＴＨω３と比較することにより、角加速度ｄωＬ／ｄｔが、ＴＨω１超、ＴＨω１以下ＴＨω２超、ＴＨω２以下ＴＨω３超、及びＴＨω３以下のうち、どの領域に属しているかを判定する。フィードバックトルク演算部２１６は角加速度ｄωＬ／ｄｔがＴＨω１超の領域に属しているときに、フィードバックトルク演算部２１８は角加速度ｄωＬ／ｄｔがＴＨω１以下ＴＨω２超の領域に属しているときに、フィードバックトルク演算部２２０は角加速度ｄωＬ／ｄｔがＴＨω２以下ＴＨω３超の領域に属しているときに、フィードバックトルク演算部２２２は角加速度ｄωＬ／ｄｔがＴＨω３以下の領域に属しているときに、それぞれ、左後輪１０ＲＬに係るフィードバックトルクΔＴＬを演算する。フィードバックトルク演算部２１６〜２２２にて使用される演算式は、それぞれ、表２の右半分の上から５番目、６番目、７番目及び８番目の式である（符号同順）。加算器２２４は、仮確定されたトルク指令ＴＬからフィードバックトルクΔＴＬを減ずることにより、補正されたトルク指令ＴＬを生成し、これをモータ制御部３６Ｌに出力する。
【００３４】
しきい値ＴＨω１〜ＴＨω３、ゲインＧ１及びＧ２並びに補正項Ｓ１及びＳ２を決定しているのは、回転数判定部２２６及び２２８、係数決定部２３０及び２３２並びにしきい値演算部２３４及び２３６である。また、その際には係数決定用マップ２３８が使用される。これらのうち回転数判定部２２６は、回転数演算部１３０にて演算されたモータ１２Ｒの回転数ＮＲをベース回転数ＮＢと比較する。ここでいうベース回転数ＮＢは、図６、図７及び図１０に示されるように、モータ１２Ｒ（及び１２Ｌ）のトルクが定トルク線により制約される定トルク領域と、モータ１２Ｒ（及び１２Ｌ）のトルクが定パワー線により制約される定パワー領域との境を示す回転数である。係数決定部２３０は、アクセルがオンしているかオフしているかに関する情報をオン／オフ判定部１０２から入力すると共に、回転数ＮＲがベース回転数ＮＢを上回っているか否かに関する情報を回転数判定部２２６から入力し、これらの入力に基づき、現在のモータ１２Ｒの動作点が図１０中の領域１〜４のうちどの領域に属しているかを判定する。領域１は定トルク力行領域、２は定パワー力行領域、３は定トルク回生領域、４は定パワー回生領域である。同様に、回転数判定部２２８は、回転数演算部１３２にて演算されたモータ１２Ｌの回転数ＮＬをベース回転数ＮＢと比較する。係数決定部２３２は、アクセルがオンしているかオフしているかに関する情報をオン／オフ判定部１０２から入力すると共に、回転数ＮＬがベース回転数ＮＢを上回っているか否かに関する情報を回転数判定部２２８から入力し、これらの入力に基づき、現在のモータ１２Ｌの動作点が領域１〜４のうちどの領域に属しているかを判定する。
【００３５】
係数決定部２３０は、モータ１２Ｒの動作点が現在所属している領域にて用いるべき係数値を、係数決定用マップ２３８から獲得する。係数決定部２３２は、モータ１２Ｌの動作点が現在所属している領域にて用いるべき係数値を、係数決定用マップ２３８から獲得する。係数決定用マップ２３８は、各種の係数をモータ動作点の所属領域に対応づけて記憶している。より具体的には、係数決定用マップ２３８上では、図１０に示されるように、しきい値ＴＨω１〜ＴＨω３を決定するための係数ａ１〜ａ３、ｂ１〜ｂ３、ｃ１〜ｃ３及びｄ１〜ｄ３並びにフィードバックゲインＧ１及びＧ２を決定するための係数Ａ１、Ａ２、Ｂ１、Ｂ２、Ｃ１、Ｃ２、Ｄ１及びＤ２が、各領域毎に一般に異なる値に設定される。また、補正項Ｓ１及びＳ２は力行か回生かに応じ一般に異なる値に設定される。右のしきい値演算部２３４は、決定された係数を用いて
【数２】
（アクセルオン時）
ＴＨω１＝ａ１×ｅｘｐ（ｂ１×ＶＡ＋ｃ１×ＶＲＲ＋ｄ１×ＶＡ×ＶＲＲ）
ＴＨω２＝ａ２×ｅｘｐ（ｂ２×ＶＡ＋ｃ２×ＶＲＲ＋ｄ２×ＶＡ×ＶＲＲ）
ＴＨω３＝ａ３×ｅｘｐ（ｂ３×ＶＡ＋ｃ３×ＶＲＲ＋ｄ３×ＶＡ×ＶＲＲ）
Ｇ１    ＝Ａ１×ｅｘｐ（Ｂ１×ＶＡ＋Ｃ１×ＶＲＲ＋Ｄ１×ＶＡ×ＶＲＲ）
Ｇ２    ＝Ａ２×ｅｘｐ（Ｂ２×ＶＡ＋Ｃ２×ＶＲＲ＋Ｄ２×ＶＡ×ＶＲＲ）
（アクセルオフ時）
ＴＨω１＝ａ１×ｅｘｐ（ｂ１×ＦＢ＋ｃ１×ＶＲＲ＋ｄ１×ＦＢ×ＶＲＲ）
ＴＨω２＝ａ２×ｅｘｐ（ｂ２×ＦＢ＋ｃ２×ＶＲＲ＋ｄ２×ＦＢ×ＶＲＲ）
ＴＨω３＝ａ３×ｅｘｐ（ｂ３×ＦＢ＋ｃ３×ＶＲＲ＋ｄ３×ＦＢ×ＶＲＲ）
Ｇ１    ＝Ａ１×ｅｘｐ（Ｂ１×ＦＢ＋Ｃ１×ＶＲＲ＋Ｄ１×ＦＢ×ＶＲＲ）
Ｇ２    ＝Ａ２×ｅｘｐ（Ｂ２×ＦＢ＋Ｃ２×ＶＲＲ＋Ｄ２×ＦＢ×ＶＲＲ）
の演算を実行することにより、しきい値ＴＨω１〜ＴＨω３及びフィードバックゲインＧ１及びＧ２を決定する。同様に、左のしきい値演算部２３６は、次の式中のＶＲＲに代えてＶＲＬを用いた式にて、しきい値ＴＨω１〜ＴＨω３及びフィードバックゲインＧ１及びＧ２を決定する。尚、ＶＲＲは車輪速演算部１２２から、ＶＲＬは車輪速演算部１２４から、ＶＡはアクセル開度演算部１０４から、ＦＢはブレーキ力演算部１０６から入力する。
【００３６】
このように、モータ１２Ｒ及び１２Ｌの特性に従い決定したしきい値、フィードバックゲイン及び補正項を用いてフィードバックトルクΔＴＲ及びΔＴＬを決定しているため、モータ１２Ｒ及び１２Ｌの特性を広い領域に亘って使用する用途でも、モータ１２Ｒ及び１２Ｌの状態や車両操縦者の要求に応じた適切なフィードバックトルクΔＴＲ及びΔＴＬを発生させることができる。また、このフィードバックトルクΔＴＲ及びΔＴＬを用いて補正したトルク指令ＴＲ及びＴＬを、角加速度ｄωＲ／ｄｔ及びｄωＬ／ｄｔのうち少なくとも一方がしきい値ＴＨ以上であるときにモータ制御部３６Ｒ及び３６Ｌに出力するようにしているため、スリップ又はその傾向を好適に防止又は抑制できる。なお、本実施形態では左右のモータ１２Ｒ及び１２Ｌが同一特性であることを仮定しているため、左右で係数決定用マップ２３８を共用しているが、同一特性でない場合等には、別々のマップとしてもよい。
【００３７】
なお、本実施形態では、角加速度ｄωＲ／ｄｔ及びｄωＬ／ｄｔをしきい値判定しているが、スリップ率＝｜（駆動輪の車輪速−車体速）／（駆動輪の車輪速）｜をしきい値判定してもよい。但し、ＴＲＣ／ＡＢＳ相当制御への切換を実行する実施形態においては、ＴＲＣ／ＡＢＳ相当制御において駆動輪の角加速度を使用するから、演算負担軽減等の点では駆動輪の角加速度の方が好ましい。なお、車輪速は、左右の従動輪の車輪速を検出しその平均値を求めることにより得ることができる。
【００３８】
（６）走行安定制御部及び学習管理部の機能
図１１に、走行安定制御部３００及び学習管理部６００の機能構成を示す。走行安定制御部３００は、車両走行中に車体に走行不安定性が発生しないようあるいは走行不安定性が軽減されるよう、力行トルク演算部１１２又は回生トルク演算部１１８にて求められたトルク指令Ｔに基づき、モータ制御部３６Ｒ及び３６Ｌに供給すべきトルク指令ＴＲ及びＴＬを生成する機能を有している。
【００３９】
かかる機能を実現すべく、走行安定制御部３００は、上述のようにトルク指令Ｔを入力する一方で、ヨーレイトセンサ５０、横加速度センサ５４及び舵角センサ４８の出力や、車体速演算部１３４にて求められた車体速ＶＳを入力する。走行安定制御部３００は、ヨーレイトセンサ５０の出力信号をヨーレイトγｔを示すデータに変換するヨーレイト演算部３０２、横加速度センサ５４の出力信号を横加速度Ｇｙを示すデータに変換する横加速度演算部３０４、及び舵角センサ４８の出力信号を舵角δｔを示すデータに変換する舵角演算部３０６を有している。更に、横加速度Ｇｙ、ヨーレイトγｔ及び車体速ＶＳに基づき次の式
【数３】
ｄβ／ｄｔ＝Ｇｙ／ＶＳ−γｔ
に基づきすべり角速度ｄβ／ｄｔを求めるすべり角速度演算部３０８や、すべり角速度演算部３０８にて得られたすべり角速度ｄβ／ｄｔを時間で積分することによりすべり角度βを求めるすべり角度演算部３１０が、設けられている。このようにして得られる各種の情報、すなわち車体の運動状態を示すヨーレイトγｔ及びすべり角度β、車両操縦者からの旋回要求を示す舵角γｔ、並びに車両操縦者からの加減速要求を示すトルク指令Ｔは、走行安定制御部３００内に設けられている制御用ニューラルネットワーク３１２及び学習管理部６００内に設けられている更新用ニューラルネットワーク６０２にそれぞれ入力される。これら、制御用ニューラルネットワーク３１２及び更新用ニューラルネットワーク６０２は、いずれも、車両走行開始前に予め、γｔ、β、δｔ及びＴに応じたトルク指令ＴＲ及びＴＬの生成に関し学習しており、車両走行中は、入力信号であるγｔ、β、δｔ及びＴに基づき出力信号たるＴＲ及びＴＬを生成する。
【００４０】
制御用ニューラルネットワーク３１２にて生成されたトルク指令ＴＲ及びＴＬは、原則としてそのままモータ制御部３６Ｒ及び３６Ｌに供給される。ただし、制御用ニューラルネットワーク３１２にて生成されるトルク指令ＴＲ及びＴＬがモータ１２Ｒ及び１２Ｌの出力可能範囲外となることを防ぐべく、制御用ニューラルネットワーク３１２の後段にはトルク制限演算部３１４が設けられており、走行安定制御部３００からモータ制御部３６Ｒ及び３６Ｌへのトルク指令供給はこのトルク制限演算部３１４による制限を受ける。トルク制限演算部３１４は、例えば、図１２に示す内容を有するマップを用いて実現することができる。なお、走行安定制御部３００から出力されるトルク指令ＴＲ及びＴＬに代え、前述の如く、ＴＲＣ／ＡＢＳ相当制御部２００の出力が用いられることがあることは、いうまでもない。
【００４１】
制御用ニューラルネットワーク３１２にて生成されたトルク指令ＴＲ及びＴＬは、このようにしてモータ制御部３６Ｒ及び３６Ｌに出力される一方で、学習管理部６００内に設けられている学習制御部６０４にも入力される。学習制御部６０４は、後述のように、トルク指令ＴＲ及びＴＬや、各ニューラルネットワークへの入力信号γｔ、β、δｔ及びＴに基づき、教師信号たるトルク指令ＴＲＳ及びＴＬＳを生成し、更新用ニューラルネットワーク６０２に与える。更新用ニューラルネットワーク６０２は、この教師信号により、車両走行中に、入力信号γｔ、β、δｔ及びＴに応じたトルク指令ＴＲ及びＴＬの生成に関し学習する。更新用ニューラルネットワーク６０２は、更に、この学習の結果得られるシナプス結合係数Ｗｊｉ及びＶｋｊ並びにニューロンしきい値θｊ及びλｋを制御用ニューラルネットワーク３１２に送信し、制御用ニューラルネットワーク３１２におけるシナプス結合係数及びニューロンしきい値をこれをもって更新する。
【００４２】
図１３に、制御用ニューラルネットワーク３１２及び更新用ニューラルネットワーク６０２の機能構成を概念的に示す。この図に示すように、制御用ニューラルネットワーク３１２及び更新用ニューラルネットワーク６０２は、それぞれ、入力層３１２ａ又は６０２ａ、中間層３１２ｂ又は６０２ｂ及び出力層３１２ｃ又は６０２ｃを有している。なお、また、この図では、ｉ番目（ｉ＝１〜４）の入力層ニューロン３１２ｄ又は６０２ｄからｊ番面（ｊ＝１〜５）の中間層ニューロン３１２ｅ又は６０２ｅに至るシナプス結合３１２ｇ又は６０２ｇの係数がＷｊｉとあらわされており、また、ｊ番目の中間層ニューロン３１２ｅ又は６０２ｅからｋ番目（ｋ＝１又は２）の出力層ニューロン３１２ｆ又は６０２ｆに至るシナプス結合３１２ｈ又は６０２ｈの係数がＶｋｊとあらわされている。
【００４３】
本実施形態では、入力信号が４種類であり出力信号が２種類であるため、入力層３１２ａ又は６０２ａに設けられているニューロン３１２ｄ又は６０２ｄの個数は４個、出力層３１２ｃ又は６０２ｃに設けられているニューロン３１２ｆ又は６０２ｆの個数は２個である。ただし、本発明を実施するに際しては、本実施形態で使用している４種類の入力信号のうちいずれかを省略したり、あるいは他の種類の入力信号を付加することも可能である。また、本実施形態では、中間層３１２ｂ又は６０２ｂの個数が一層でありかつ中間層３１２ｂ又は６０２ｂ内のニューロン３１２ｅ又は６０２ｅの個数が５個であるが、本発明を実施するに際し、中間層の層数や中間層ニューロンの個数に格別の限定を施す必要はない。更に、この図では、自己の出力を入力のひとつとするニューロンは用いられていないが、本発明を実施するに際してはそのようなニューロンを用いても構わない。
【００４４】
図１４に、車両走行開始前に制御用ニューラルネットワーク３１２及び更新用ニューラルネットワーク６０２が図示しない装置の管理の下に車両走行開始前（出荷前等）に実行する学習の手順を示す。この図に示すように、学習に際しては、まずシナプス結合係数Ｗｊｉ及びＶｋｊや、中間層ニューロン３１２ｅ又は６０２ｅのしきい値θｊや、出力層ニューロン３１２ｆ又は６０２ｆのしきい値ηｋが、初期的に乱数設定される（７００）。ただし、この初期化に用いる乱数は、比較的小さな範囲内で発生させる。
【００４５】
初期化を行った後に、制御用ニューラルネットワーク３１２及び更新用ニューラルネットワーク６０２は、図示しない外部の装置から学習パターンを入力する（７０２）。ここでいう学習パターンは、入力信号γｔ、β、δｔ及びＴの組み合わせと、この入力に応じて出力層３１２ｃ又は６０２ｃから得られるべきトルク指令ＴＲ及びＴＬとを対応付けたものである。制御用ニューラルネットワーク３１２及び更新用ニューラルネットワーク６０２は、ステップ７００にて初期化されたシナプス結合係数及びニューロンしきい値並びにステップ７０２にて入力した学習パターンを構成する入力信号γｔ、β、δｔ及びＴに基づき、次の式
【数４】
Ｕｊ＝ΣＷｊｉ・Ｉｉ＋θｉ
Ｈｊ＝ｆ（Ｕｊ）
の式に従い中間層ニューロン３１２ｅ及び６０２ｅの出力Ｈｊを計算する（７０４）。ただし、上の式中、Σはｉについての総和をあらわしており、ｆはシグモイド関数
【数５】
ｆ（ｘ）＝１／｛１＋ｅｘｐ（−ｘ）｝
である。制御用ニューラルネットワーク３１２及び更新用ニューラルネットワーク６０２は、続いて、次の式
【数６】
Ｓｋ＝ΣＶｋｊ・Ｈｊ＋ηｋ
Ｏｋ＝ｆ（Ｓｋ）
の式に従い、出力層ニューロン３１２ｆ又は６０２ｆの出力Ｏｋを計算する（７０６）。ただし、上の式中、Σはｊについての総和である。
【００４６】
このようにして出力層ニューロン３１２ｆ又は６０２ｆの出力Ｏｋを計算した後、制御用ニューラルネットワーク３１２及び更新用ニューラルネットワーク６０２は、ステップ７０２にて入力した学習パターンを構成するトルク指令ＴＲ及びＴＬを教師信号Ｔｋとして、次の式
【数７】
λｋ＝（Ｏｋ−Ｔｋ）・Ｏｋ・（１−Ｏｋ）
に従い、出力層ニューロン３１２ｆ又は６０２ｆの出力誤差λｋを計算する（７０８）。制御用ニューラルネットワーク３１２又は更新用ニューラルネットワーク６０２は、続いて、次の式
【数８】
σｊ＝Σλｋ・Ｖｋｊ・Ｈｊ・（１−Ｈｊ）
に従い、中間層ニューロン３１２ｅ又は６０２ｅの出力誤差σｊを計算する（７１０）。ただし、上の式中、Σはｋについての総和である。
【００４７】
制御用ニューラルネットワーク３１２及び更新用ニューラルネットワーク６０２は、このようにして得られた出力誤差λｋ及びσｊを用いて、シナプス結合係数Ｗｊｉ及びＶｋｊ並びにニューロンしきい値θｊ及びηｋを更新する。すなわち、次の式
【数９】
Ｖｋｊ＝Ｖｋｊ＋ε・λｋ・Ｈｊ
ηｋ＝ηｋ＋φ・λｋ
に従いシナプス結合係数Ｖｋｊ及びニューロンしきい値λｋを更新し（７１２）、また、次の式
【数１０】
Ｗｊｉ＝Ｗｊｉ＋ε・σｊ・Ｉｉ
θｊ＝θｊ＋φ・σｊ
に従いシナプス結合係数Ｗｊｉ及びニューロンしきい値θｊを更新する（７１４）。ただし、ε及びφは定数である。
【００４８】
このようにしてシナプス結合係数Ｗｊｉ及びＶｋｊ並びにニューロンしきい値θｊ及びηｋを更新した後、制御用ニューラルネットワーク３１２及び更新用ニューラルネットワーク６０２は、ステップ７０２にて入力した学習パターンとは異なる学習パターンを選択し（７１６）、再度、ステップ７０２以降の動作を実行する。このようにして学習パターンを更新しながらステップ７０２〜７１４の動作が繰り返し実行された結果、予め準備されている全ての学習パターンに関する学習が終了するに至ると（７１８）、制御用ニューラルネットワーク３１２及び更新用ニューラルネットワーク６０２は、一通りの学習が終了したことを記憶し、改めて、全ての学習パターンに関する学習を実行する（７２０）。すべての学習パターンについての学習の繰り返し回数が所定の制限回数に至ると（７２２）、制御用ニューラルネットワーク３１２及び更新用ニューラルネットワーク６０２は、車両走行開始前に実行すべき学習の手順を終了する。
【００４９】
なお、制御用ニューラルネットワーク３１２及び更新用ニューラルネットワーク６０２双方に関し上述した学習手順を実行するようにしてもよいが、制御用ニューラルネットワーク３１２及び更新用ニューラルネットワーク６０２のうちいずれかのみが学習を実行し、ステップ７００〜７２２に至る学習が終了した段階で残りの１個のニューラルネットワークにその結果を転送するようにしてもよい（７２４）。このようにすれば、車両走行開始時におけるシナプス結合係数Ｗｋｊ及びＶｋｊ並びにニューロンしきい値θｊ及びηｋに関し、車両走行開始時点（出荷時点）での両ニューラルネットワーク間の相違をなくすことができる。
【００５０】
また図１４中のステップ７００〜７２２による学習の手法は、誤差逆伝搬法（バックプロパゲーション法）と呼ばれている。すなわち、ニューラルネットワークに対しある組み合わせにかかる入力信号を与えておいて得られた出力信号を、予め想定しておいた出力信号すなわち教師信号と比較し、教師信号に対する出力信号の差
【数１１】
Ｅ＝Σ（Ｔｋ−Ｏｋ）２／２
を最小とするようシナプス結合係数やニューロンしきい値を更新していく手法である。なお、上の式中Σはｋについての総和をあらわしている。教師信号Ｔｋに対する出力信号Ｏｋの誤差Ｅをシナプス結合係数Ｖｋｊに関して最小化するには、
【数１２】
0003584669.tif 000004
が小さくなるようＶｋｊを更新していけばよい。前述の数９は、数１２の右辺にあらわれるＨｊの係数をλｋとおいたものである。同様に、シナプス結合係数Ｗｊｉに関し誤差Ｅを最小化するには、
【数１３】
0003584669.tif 000005
を最小化すればよい。上の式中、Σはｋに関する総和をあらわしている。前述の数８は、数１３の右辺にあらわれるＩｉの係数をσｊとおいたものである。
【００５１】
図１５〜図１７に、制御用ニューラルネットワーク３１２、更新用ニューラルネットワーク６０２及び学習制御部６０４の、車両走行中における動作の流れを示す。これらの手順は、対応する部材によって所定周期毎に繰り返し実行されるものである。また、本実施形態の特徴の一つは、次に述べるように、車両走行開始前に行った学習の結果に基づき制御用ニューラルネットワーク３１２が車両走行中にトルク指令ＴＲ及びＴＬを実行する一方で、更新用ニューラルネットワーク６０２が、学習制御部６０４の管理の下に実際の入力信号に基づく学習を行い、制御用ニューラルネットワーク３１２の組織例えばシナプス結合係数やニューロンしきい値を、学習により得られた更新用ニューラルネットワーク６０２の組織例えばシナプス結合係数やニューロンしきい値によって逐次更新していく点にある。
【００５２】
まず、図１５に示されるように、制御用ニューラルネットワーク３１２は、ヨーレイトγｔ、すべり角度β、舵角δｔ及びトルク指令Ｔを入力し（８００）、ステップ７０４及び７０６と同様の原理にて中間層ニューロン３１２ｅの出力Ｈｊや出力層ニューロン３１２ｆの出力Ｏｋを順に計算する（８０２，８０４）。制御用ニューラルネットワーク３１２は、計算により得られた出力Ｏｋすなわちトルク指令ＴＲ及びＴＬを、トルク制限演算部３１４を介しモータ制御部３６Ｒ及び３６Ｌに供給する一方で、学習制御部６０４に供給する。学習制御部６０４は、図１７に示されるように、制御用ニューラルネットワーク３１２にて生成されたトルク指令ＴＲ及びＴＬのほか、ヨーレイトγｔ、すべり角度β、舵角δｔ及びトルク指令Ｔを入力し（１０００）、トルク指令ＴＲにかかる教師信号ＴＲＳ及びトルク指令ＴＬに係る教師信号ＴＬＳを次の式
【数１４】
ＴＲＳ＝ＦＲ（γｔ，β、δｔ，Ｔ）
ＴＬＳ＝ＦＬ（γｔ，β、δｔ，Ｔ）
を発生させ（１００４）、この教師信号ＴＲＳ及びＴＬＳを更新用ニューラルネットワーク６０２に供給する（１００６）。
【００５３】
更新用ニューラルネットワーク６０２は、ヨーレイトγｔ、すべり角度β、舵角δｔ及びトルク指令Ｔに加え、この教師信号ＴＲＳ及びＴＬＳを入力する（図１６：９００）。更新用ニューラルネットワーク６０２は、ステップ７０４〜７１０と同様の手順によって、中間層ニューロン６０２ｅの出力Ｈｊ、出力層ニューロン６０２ｆの出力Ｏｋ、出力層ニューロン６０２ｆの出力誤差λｋ、中間層ニューロン６０２ｅの出力誤差σｊを、順に計算する（９０２〜９０８）。更新用ニューラルネットワーク６０２は、ステップ７１２及び７１４と同様の手順によって、シナプス結合係数Ｗｊｉ及びＶｋｊ並びにニューロンしきい値θｊ及びλｋを更新する（９１０，９１２）。更新用ニューラルネットワーク６０２は、更新後のシナプス結合係数Ｗｊｉ及びＶｋｊ並びにニューロンしきい値θｊ及びλｋ、制御用ニューラルネットワーク３１２に転送する（９１４）。制御用ニューラルネットワーク３１２は、シナプス結合係数Ｗｊｉ及びＶｋｊ並びにニューロンしきい値θｊ及びλｋが更新用ニューラルネットワーク６０２から転送されてきたとき（８０６）、転送されてきたこれらの情報に基づき、自らのシナプス結合係数Ｗｊｉ及びＶｋｊ並びにニューロンしきい値θｊ及びλｋを更新する（８０８）。
【００５４】
従って、本実施形態では、入力信号たるヨーレイトγｔ、すべり角度β、舵角δｔ及びトルク指令Ｔに基づき、制御用ニューラルネットワーク３１２を用いてトルク指令ＴＲ及びＴＬが生成され、車輪角加速度が大きくない限り（すなわちスリップ又はその傾向が生じていないとみなせる限り）このトルク指令ＴＲ及びＴＬを用いてモータ１２Ｒ及び１２Ｌの制御が行われる。また、制御用ニューラルネットワーク３１２の組織は、先に図１４に示した手順によって、車両走行開始前に形成されている。従って、図１４に示す手順を実行するに際し、実車の走行により得られたデータや数値シミュレーション（模擬演算）により得られたデータを学習パターンに設定しておけば、車体の基礎運動方程式のみでは十分に制御モデルに取り込むことができない要因にも対処することができ、従って従来に比べ制御の信頼性や精度が向上する。また、車両走行中に、制御用ニューラルネットワーク３１２にて生成されたトルク指令ＴＲ及びＴＬと実走行環境下での入力信号γｔ、φ、δｔ及びＴとに基づき学習制御部６０４が教師信号ＴＲＳ及びＴＬＳを発生させ、更新用ニューラルネットワーク６０２がこの教師信号ＴＲＳ及びＴＬＳに基づき行った学習の結果を制御用ニューラルネットワーク３１２に転送しその組織を更新するようにしたため、車両走行中に実際に発生した加減速要求や車体運動状態に応じて制御用ニューラルネットワーク３１２の組織を更新することができ、より信頼性の高い制御が実現されることになる。更に、制御用ニューラルネットワーク３１２によるトルク指令生成処理と更新用ニューラルネットワーク６０２による学習とが同時並列的に実行されるため、処理の効率化による制御の迅速化という面も生ずる。
【００５５】
さらに、本実施形態において各ニューラルネットワークへの入力信号として用いられている量は、いずれも、車体の基礎運動方程式にあらわれている量又はその量から導出できる量である。まず、車輪に左右差がなく、コーナリングフォースにも左右差がないと考えると、車体の基礎運動方程式は、
【数１５】
0003584669.tif 000006
となる。変数名とその意味に関しては、図１８を参照されたい。他方、各車輪の回転の運動方程式は、車輪に左右差がなく、また指令したトルクがそのまま正確に実出力になると仮定すると、
【数１６】
0003584669.tif 000007
となる。変数名とその意味に関しては、図１９を参照されたい。更に、コーナリングフォースは、
【数１７】
0003584669.tif 000008
と表される。従って、数１６及び数１７を数１５に代入して整理すると、
【数１８】
0003584669.tif 000009
という連立微分方程式が得られる。式中、ｓはラプラス演算子である。
【００５６】
本実施形態において入力信号として用いている量のうち、ヨーレイトγｔ、すべり角度β及び舵角δｔは、数１８に示されている連立微分方程式にあらわれている。また、トルク指令Ｔは、車体速ＶＳ及びモーメントＭの形で、同式にあらわれている。従って、γｔ、φ、δｔ及びＴを各ニューラルネットワークへの入力信号として用いている本実施形態によれば、車体の基礎運動方程式によって表現されている加減速要求や操舵要求と車体の運動状態との関係を走行安定制御に好適に反映させることができ、従来に比べ正確な制御を実現することができる。更に、制御用ニューラルネットワーク３１２を用いたトルク指令ＴＲ及びＴＬの生成に関しては、車体が旋回しているか否かといった状態の如何による適用制限は存在しない。従って、車両が直進しているときであっても、スリップ等によるすべり角度βやヨーレートγｔの変化を抑制することが可能である。
【００５７】
また、前述したように、４種類述べた入力信号のうちいずれかを省略することも可能であるし、また他の量に置き換えることも可能である。その際には、比較的感度の低いヨーレイトγｔの他に、それよりも感度が高い量を入力信号として用いるのが好ましい。すなわち、本実施形態のごとく、比較的感度の低いヨーレイトγｔの他に比較的感度の高いすべり角度βを用いるようにすれば、例えば特開平５−９１６０７号公報にて開示されているヨーレイトの目標制御に比べ、正確で信頼性の高い制御を実現することができる。更に、学習制御部６０４にて教師信号ＴＲＳ及びＴＬＳを生成する際に、制御用ニューラルネットワーク３１２や更新用ニューラルネットワーク６０２への入力信号としても用いられているヨーレイトγｔ、すべり角度β、舵角δｔ及びトルク指令Ｔを用いることにより、比較的信頼性の高い教師信号ＴＲＳ及びＴＬＳを生成することができる。例えば、本願出願人が特願平９−６８５７１号にて提案したフィードバック制御論理に従い教師信号ＴＲＳ及びＴＬＳを生成するようにすれば、走行中の学習に際しても車体の基礎運動方程式によるモデルを反映させることができるため、制御用ニューラルネットワーク３１２の出力に基づき更新用ニューラルネットワーク６０２が学習しその結果に基づき制御用ニューラルネットワーク３１２の組織を更新するという学習／組織更新のループが不安定になることはない。
【００５８】
【発明の効果】
以上説明したように、本発明の好ましい実施形態においては、車体運動をモデル化した車体の基礎運動方程式ではなく、実車試験又は模擬演算結果に基づき制御用ニューラルネットワークが予め学んでいる内容に基づきモータに対する指令を生成すると共に、加減速要求、車体運動状態、制御用ニューラルネットワーク出力等に基づき車両走行中に学習する更新用ニューラルネットワークを設け車両走行中も制御用ニューラルネットワークの組織更新を行えるようにしたため、基礎運動方程式に基づく車体運動のモデル化に内在する問題点を解消でき、また、実使用環境下における舵角の過大過小、操舵後に受ける外乱、制御系の遅れその他様々な制御誤差要因に対処できる。その結果、制御の信頼性、精度、応答性等が向上する。
【図面の簡単な説明】
【図１】本発明を実施するのに適する電気自動車のシステム構成を示すブロック図である。
【図２】ホイルインモータの構造の一例を示す断面図であり、図中右上の円内は一部拡大図である。
【図３】図１のシステムにおける制動力配分を示す図である。
【図４】車両制御部の機能構成を示すブロック図である。
【図５】トルク指令仮確定部の機能構成を示すブロック図である。
【図６】力行トルクマップの内容を示す図である。
【図７】回生トルクマップの内容を示す図である。
【図８】切換制御部の機能構成を示すブロック図である。
【図９】ＴＲＣ／ＡＢＳ相当制御部の機能構成を示すブロック図である。
【図１０】係数決定用マップの内容を示す図である。
【図１１】走行安定制御部及び学習管理部の機能構成を示すブロック図である。
【図１２】トルク制限演算部の機能を示すマップである。
【図１３】制御用及び更新用ニューラルネットワークの機能構成を概念的に示す図である。
【図１４】車両走行開始前に制御用及び更新用ニューラルネットワークが実行する学習の手順を示すフローチャートである。
【図１５】車両走行中に制御用ニューラルネットワークが実行する指令生成及び組織更新の手順を示すフローチャートである。
【図１６】車両走行中に更新用ニューラルネットワークが実行する学習及びその結果の転送の手順を示すフローチャートである。
【図１７】車両走行中に学習制御部が実行する教師信号生成手順を示すフローチャートである。
【図１８】車体の運動を既述するための所定数及び変数を定義する平面的概念図である。
【図１９】車輪の回転運動を既述するための所定数及び変数を定義する概念図である。
【符号の説明】
１０ＲＲ  右後輪、１０ＲＬ  左後輪、１２Ｒ，１２Ｌ  モータ、３４Ｒ，３４Ｌ  インバータ、３６Ｒ，３６Ｌ  モータ制御部、３８  車両制御部、４０ＲＲ，４０ＲＬ，４０ＦＲ，４０ＦＬ  車輪速センサ、４２  アクセルセンサ、４４  ブレーキセンサ、４６  シフトポジションスイッチ、４８  舵角センサ、５０  ヨーレイトセンサ、５４  横加速度センサ、１００  トルク指令仮確定部、２００  ＴＲＣ／ＡＢＳ相当制御部、３００  走行安定制御部、３０２  ヨーレイト演算部、３０４  横加速度演算部、３０６  舵角演算部、３０８  すべり角速度演算部、３１０  すべり角度演算部、３１２  制御用ニューラルネットワーク、３１４  トルク制限演算部、４００  制御切換部、５００  切換制御部、６００  学習管理部、６０２  更新用ニューラルネットワーク、６０４  学習制御部、ＴＲ，ＴＬ，Ｔ  トルク指令、φ  車体すべり角度、γｔ  ヨーレイト、δｔ  舵角、Ｗｉｊ，Ｖｋｊ  シナプス結合係数、θｊ，λｋ  ニューロンしきい値。
【図１】
0003584669.tif 000010
【図２】
0003584669.tif 000011
【図３】
0003584669.tif 000012
【図４】
0003584669.tif 000013
【図５】
0003584669.tif 000014
【図６】
0003584669.tif 000015
【図７】
0003584669.tif 000016
【図８】
0003584669.tif 000017
【図９】
0003584669.tif 000018
【図１０】
0003584669.tif 000019
【図１１】
0003584669.tif 000020
【図１２】
0003584669.tif 000021
【図１３】
0003584669.tif 000022
【図１４】
0003584669.tif 000023
【図１５】
0003584669.tif 000024
【図１６】
0003584669.tif 000025
【図１７】
0003584669.tif 000026
【図１８】
0003584669.tif 000027
【図１９】
0003584669.tif 000028