(57)【特許請求の範囲】
【請求項１】
モータによって駆動される駆動輪を有する移動体のトラクション制御装置であって、
前記移動体の移動速度を取得する移動速度取得部と；
前記駆動輪の回転速度を取得する回転速度取得部と；
前記モータが発生する実トルク値を取得する実トルク値取得部と；
前記移動速度と前記回転速度とに基づいて推定した前記駆動輪のスリップ率と、前記回転速度及び前記実トルク値から推定された駆動トルクとに応じたリミテッドトルク値に基づいて、前記モータの動作に制限をかける制限部と；
前記回転速度を微分した値に前記駆動輪がスリップしていない仮想的な状態を表す特性値を乗じて得られる逆算トルク値を前記実トルク値から減算した第１減算値に対して、前記推定された駆動トルクに基づいて推定された走行路面と前記駆動輪との間の摩擦係数と、前記推定されたスリップ率との組み合わせに応じたフィードバックゲイン及び１次遅れの時定数を利用した加工を施して得られるフィードバックトルク値により、前記モータの動作にフィードバックをかけるフィードバック部と；
を備えることを特徴とするトラクション制御装置。
【請求項２】
前記モータに発生させようとするトルクに関するトルク設定値を算出するトルク設定値算出部を更に備え、
前記制限部は、
前記移動速度と前記回転速度とに基づいて、前記スリップ率を推定するスリップ率推定部と；
前記駆動輪の回転速度を微分した値に前記駆動輪の慣性モーメント値を乗じた値を、前記実トルク値から減算した値に基づいて、前記駆動輪の駆動トルクを推定する駆動トルク推定部と；
前記推定されたスリップ率と、前記推定された駆動トルクとに基づいて、トルク指令値に対するリミッタ処理を行うためのリミット値を算出するリミット値算出部と；
前記算出されたリミット値を用いて、前記トルク指令値に対して前記リミッタ処理を施し、前記リミテッドトルク値を算出するリミッタ部と；を備え、
前記フィードバック部は、
前記推定された駆動トルクに基づいて、前記摩擦係数を推定する摩擦係数推定部と；
前記推定されたスリップ率と前記推定された摩擦係数とに基づいて、前記フィードバックゲインと前記１次遅れの時定数とを算出するパラメータ算出部と；を備え、
前記フィードバック部は、
前記逆算トルク値を、前記実トルク値から減算して前記第１減算値を算出し、
前記第１減算値に対して、前記算出された時定数に基づく１次遅れを付与した後に、前記算出されたフィードバックゲインを乗じて、前記フィードバックトルク値を算出し、
前記トルク設定値算出部は、前記リミテッドトルク値から前記フィードバックトルク値を減算した第２減算値を、前記トルク設定値として算出する、
ことを特徴とする請求項１に記載のトラクション制御装置。
【請求項３】
前記リミット値算出部は、前記推定されたスリップ率が小さいほど前記推定された駆動トルクからの差が大きな値を前記リミット値として算出し、前記推定されたスリップ率が大きいほど前記推定された駆動トルクからの差が小さな値を前記リミット値として算出する、ことを特徴とする請求項２に記載のトラクション制御装置。
【請求項４】
前記リミット値算出部は、前記推定されたスリップ率に応じた値を前記推定された駆動トルクに乗じて、前記リミット値を算出する、ことを特徴とする請求項２に記載のトラクション制御装置。
【請求項５】
前記リミット値算出部は、前記推定された駆動トルクＴd、前記推定されたスリップ率λ、定数ｐ及びリミッタ係数ｋを用いて、下記の（Ｉ）式により、前記リミット値Ｌを算出する、
Ｌ＝Ｔd・（ｐ＋ｋ／λ）          …（Ｉ）
ことを特徴とする請求項２に記載のトラクション制御装置。
【請求項６】
前記リミッタ係数ｋは、前記推定された駆動トルクＴdの誤差範囲の下方側限界値の前記駆動トルクの真値に対する割合の推定値ａと、前記推定されたスリップ率λの誤差範囲の上方側限界値の前記スリップ率の真値に対する割合の推定値ｂとを用いて、下記の（II）式により算出される、
ｋ＝ｋ*・（ｂ／ａ）＋λ0・（（ｂ／ａ）−ｂ）      …（II）
ここで、値ｋ*は、前記推定された駆動トルクＴd、及び、前記推定されたスリップ率λの誤差が小さなとき、前記定数ｐを「１」とした前記（Ｉ）式により算出されるリミット値を用いて得られる前記リミテッドトルク値を前記トルク設定値とした場合に、適切なトルク設定値を得ることができる前記リミッタ係数ｋの値であり、前記値λ0は、前記駆動輪の路面に対する摩擦係数が最大となる場合のスリップ率の値である、
ことを特徴とする請求項５に記載のトラクション制御装置。
【請求項７】
前記パラメータ算出部は、
前記リミッタ係数ｋ及び予め定められた定数ｃに基づいて、適応ゲイン係数ｄを、次の（III）式により算出し、
ｄ＝ｃ・ｋ                          …（III）
前記算出された適応ゲイン係数ｄ、前記推定されたスリップ率λ、及び、前記推定された摩擦係数μに基づいて、前記フィードバックゲインｋpを、次の（IV）式により算出し、
ｋp＝ｄ・（λ／μ）                  …（IV）
前記算出されたフィードバックゲインｋp及び予め定められた定数ｅに基づいて、前記１次遅れ時定数τを、次の（Ｖ）式により算出する、
τ＝ｅ・ｋp                         …（Ｖ）
ことを特徴とする請求項５に記載のトラクション制御装置。
【請求項８】
前記駆動輪の数は複数であり、
前記複数の駆動輪のそれぞれについて算出されたトルク設定値の最小値を、前記複数の駆動輪の全ての共通トルク設定値とする共通トルク設定値算出部を更に備える、
ことを特徴とする請求項２〜７のいずれか一項に記載のトラクション制御装置。
【請求項９】
モータによって駆動される駆動輪を有する移動体のトラクション制御装置において使用されるトラクション制御方法であって、
前記移動体の移動速度、前記駆動輪の回転速度、及び、前記モータが発生する実トルク値を取得する取得工程と；
前記移動速度と前記回転速度とに基づいて推定した前記駆動輪のスリップ率と、前記回転速度及び前記実トルク値から推定された駆動トルクとに応じたリミテッドトルク値に基づいて、前記モータの動作に制限をかける制限工程と；
前記回転速度を微分した値に前記駆動輪がスリップしていない仮想的な状態を表す特性値を乗じて得られる逆算トルク値を前記実トルク値から減算した第１減算値に対して、前記推定された駆動トルクに基づいて推定された走行路面と前記駆動輪との間の摩擦係数と、前記推定されたスリップ率との組み合わせに応じたフィードバックゲイン及び１次遅れの時定数を利用した加工を施して得られるフィードバックトルク値により、前記モータの動作にフィードバックをかけるフィードバック工程と；
を備えることを特徴とするトラクション制御方法。
【請求項１０】
モータによって駆動される駆動輪を有する移動体のトラクション制御装置が有するコンピュータに、請求項９に記載のトラクション制御方法を実行させる、ことを特徴とするトラクション制御プログラム。
【請求項１１】
モータによって駆動される駆動輪を有する移動体のトラクション制御装置が有するコンピュータにより読み取り可能に、請求項１０に記載のトラクション制御プログラムが記録されている、ことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トラクション制御装置、トラクション制御方法及びトラクション制御プログラム、並びに、当該トラクション制御プログラムが記録された記録媒体に関する。
【背景技術】
【０００２】
近年、環境負荷等の観点から、アクセルペダルやブレーキペダルの踏み込み量に応じた駆動及び制動を電気モータによって行う電気自動車が注目されている。ここで、電気モータは電気部品であるため、電気自動車における駆動及び制動の応答性及び線形性は、駆動及び制動をエンジン及び油圧機構によって行う内燃機関自動車と比べて、格段に優れている。【０００３】
すなわち、電気モータの応答速度は、油圧機構の１０倍程度速く、エンジンの１００倍程度速い。また、モータが発生する実トルク値Ｔmとモータ電流値（以下、「駆動電流値」ともいう）Ｉmとの関係は、次の（１）式で表される。
Ｔm＝Ｋt・Ｉm            …（１）【０００４】
ここで、トルク定数Ｋtは、事前測定により求めることができる。なお、トルク定数Ｋtは、モータのタイプによって、固定値であったり、モータ電流値Ｉmや回転速度に応じて変化するものであったりする。したがって、電気モータの作動中にモータ電流値Ｉmを電流センサ等で検出することにより、実トルク値Ｔmを正確に把握できる。また、モータ電流値Ｉmを制御することにより、実トルク値Ｔmに対する制御を容易に行うことができる。このため、エンジン制御やブレーキ油圧制御と比べて、安全性及び快適性が高いトラクション制御を電気自動車で実現するための様々な技術が提案されている。【０００５】
こうした提案技術の第１の例として、走行中にスリップ率λ及び摩擦係数μを検出し、検出されたスリップ率λ及び摩擦係数μに基づいて、電気モータの駆動トルクの増減の幅を制御する技術（特許文献１参照：以下、「従来例１」という）がある。この従来例１の技術では、スリップ率λに対する摩擦係数μの比の平均値を算出して、走行している路面の状態を把握する。そして、滑りやすい路面では、駆動トルクの立ち上がりや立ち下りに制限を加えるようになっている。【０００６】
提案技術の第２の例として、（ｉ）走行中にスリップ率λ及び摩擦係数μを計算により求め、（ii）計算されたスリップ率λ及び摩擦係数μから推定された最大摩擦係数に基づいて最大駆動トルクを算出して、要求トルクに制限を加える技術（特許文献２参照：以下、「従来例２」という）がある。この従来例２の技術では、現在までに計算されたスリップ率λと摩擦係数μとの相関関係に基づいて、走行路面のμ−λ特性カーブを選定して、最大摩擦係数を推定するようになっている。【０００７】
提案技術の第３の例として、（ｉ）走行中におけるスリップ率λ及び駆動トルクＴの推定、（ii）推定されたスリップ率λ及び駆動トルクＴに基づく摩擦係数μの推定、及び（iii）推定された摩擦係数μ及び現在の上下方向の荷重における許容最大トルクの導出を順次行った後、導出された許容最大トルクに基づいて駆動トルクを制限する技術（特許文献３参照：以下、「従来例３」という）がある。この従来例３の技術では、スリップ率λ及び駆動トルクＴと、摩擦係数μとの関係を示す第１テーブルを参照して、摩擦係数μを推定するとともに、上下方向の荷重ごとに摩擦係数μと許容最大トルクとの関係を示す第２テーブルを参照して、許容最大トルクを求めるようになっている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−０３４０１２号公報
【特許文献２】特開２００８−１６７６２４号公報
【特許文献３】特開２０１２−１８６９２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
路面を走行している車両の駆動輪のそれぞれの運動は、一輪モデル（以下、「駆動輪モデル」ともいう）に準じて表すことができる。図１には、当該駆動輪モデルにおける変数が示されている。図１において、「Ｍ」は移動体の重量であり、「Ｆd」は駆動輪ＷＨの駆動力であり、「Ｆdr」は走行抵抗である。また、「Ｔm」はモータが発生し、駆動輪ＷＨに付与される実トルク値であり、「ｖ」は移動体ＭＶの移動速度（以下、「車体速度」、又は、「車速」ともいう）であり、「ω」は駆動輪ＷＨの回転速度である。また、「Ｎ」は、駆動輪ＷＨに作用する垂直抗力であり、「ｒ」は駆動輪ＷＨの半径である。【００１０】
図１に示される駆動輪モデルにおいては、移動体ＭＶの運動方程式は、次の（２）式で与えられる。
Ｍ・(ｄｖ／ｄｔ)＝Ｆd−Ｆdr              …（２）【００１１】
また、駆動輪ＷＨの運動方程式は、駆動輪ＷＨの慣性モーメントを「Ｊw」、駆動トルクを「Ｔd」として、次の（３）式で与えられる。
Ｊw・(ｄω／ｄｔ)＝Ｔm−ｒ・Ｆd＝Ｋt・Ｉm−Ｔd    …（３）【００１２】
駆動力Ｆdと垂直抗力Ｎとの関係は、駆動輪ＷＨにとっての路面の摩擦係数をμとして、次の（４）式で表される。
μ＝Ｆd／Ｎ                              …（４）【００１３】
また、スリップ率λは、上述した駆動輪モデルにおいては、次の（５）式により表される。
λ＝(ｒ・ω−ｖ)／Ｍａｘ(ｒ・ω，ｖ)         …（５）【００１４】
ここで、Ｍａｘ(ｒ・ω，ｖ)は、（ｒ・ω）とｖとの数値の大きな方を示す。駆動時には、（ｒ・ω）がｖよりも大きいため、Ｍａｘ(ｒ・ω，ｖ)＝ｒ・ωである。一方、制動時には、ｖが（ｒ・ω）よりも大きいため、Ｍａｘ(ｒ・ω，ｖ)＝ｖである。【００１５】
上記の駆動輪モデルにおいて、摩擦係数μとスリップ率λとの関係（すなわち、μ―λ特性）は、一般に、駆動時においては図２に示される通りである。なお、図２においては、乾燥路面におけるμ―λ特性が実線にて示され、湿潤路面におけるμ―λ特性が一点鎖線にて示されるとともに、凍結路面におけるμ―λ特性が二点鎖線にて示されている。【００１６】
図２に示される駆動時のスリップ率の増加に伴う摩擦係数μの変化において、摩擦係数μが最大となるスリップ率以下である状態が、移動体ＭＶが安定して走行できる状態（以下、「安定状態」という）となっている。一方、摩擦係数μが最大となるスリップ率よりも大きな状態が、駆動輪ＷＨの空転やロック現象が発生する状態（以下、「不安定状態」という）となっている。以下、安定状態となる領域を「安定領域」と呼び、不安定状態となる領域を「不安定領域」と呼ぶ。【００１７】
なお、制動時のスリップ率の増加に伴う摩擦係数μの変化においては、摩擦係数μが最小となるスリップ率以上である状態が安定状態となっている。一方、摩擦係数μが最小となるスリップ率よりも小さな状態が不安定状態となる。【００１８】
こうしたμ―λ特性を有している路面において、ある車両が、乾燥路面→凍結路面→乾燥路面という走行を行う場合を考える。こうした場合に、アクセルペダルの踏み込み量に応じたトルク指令値ＴCをそのままトルク設定値ＴSとしてモータ駆動系に入力した場合のシミュレーションの結果が、図３及び図４に示されている。これらの図３及び図４には、車体速度ｖ、車輪速度（ｒ・ω）、スリップ率λ及び摩擦係数μのシミュレーション結果が示されている。【００１９】
なお、当該シミュレーションの条件としては、４輪駆動の電気自動車であって、車重：１８００［ｋｇ］、駆動輪ＷＨの慣性モーメント：１．２［ｋｇ・ｍ2］及びモータのトルク応答：５［ｍｓ］（インホイールモータの場合を想定）という条件を採用した。また、時刻ｔ1において乾燥路面から凍結路面に変化し、時刻ｔ2（＞ｔ1）において凍結路面から乾燥路面に変化することを想定して、シミュレーションを行った。【００２０】
この図３及び図４において総合的に示されるように、トルク指令値ＴCをそのままトルク設定値ＴSとする場合には、トルク設定値ＴS（＝ＴC）が大きくなるにつれ、凍結路面上でのスリップ率λが大きくなっていく。そして、ある値を超えたトルク設定値ＴS（＝ＴC）となると、スリップ率λが増大して０．２以上となり、上述した図２で示した不安定領域に入ってしまう。これは、凍結路面では摩擦係数μが小さいためにグリップ力も小さく、そのグリップ力を超えてしまう程のトルク設定値ＴSとなると、不安定領域に入ってしまうことを示している。【００２１】
こうした不安定領域に入ってしまう事態の発生を回避するために、トルク指令値ＴCに対して何らかの制限(リミッタ)処理を行うことで、トルク設定値ＴSを制限する方法が考えられる。上述した従来例１〜３の技術は、いずれも、この方法を採用している。すなわち、従来例１〜３の技術は、いずれも、路面状態、すなわち、μ−λ特性の推定結果に応じてトルク設定値ＴSの制限を可変させることにより、凍結路面ではトルク設定値ＴSを制限し、乾燥路面では必要以上にトルク設定値ＴSを制限しないという方法である。【００２２】
しかしながら、従来例１〜３の技術は、μ−λ特性を推定するために、平均化処理（従来例１）、最小二乗法推定処理（従来例２）、及び、テーブルマッチング処理（従来例３）を行っており、複数のデータを用いる必要があるため、トルク設定値ＴSに適切な制限をかけるまでに、少なくても数秒程度の時間を必要としてしまう。このため、路面状態が変化した場合に、迅速に、適切なトルク設定値ＴSの制限をかけることができない。この結果、乾燥路面から凍結路面に急に変化した場合における安全性の確保や、凍結路面から乾燥路面に急に変化した場合における運転者の意図に沿った運転を、迅速に実現可能とするとはいいがたかった。【００２３】
そこで、現在値の迅速な検出が可能な移動速度ｖ、回転速度ω及びモータ電流値Ｉmから推定可能なスリップ率及び駆動トルクの現時点における推定結果に基づいて、適応的に、トルク設定値ＴSに制限をかける手法を採用することが考えられる。ここで、適切にトルク設定値ＴSに制限をかけるには、精度の良いスリップ率及び駆動トルクの現在値の推定を行うことができることが前提となる。【００２４】
かかるスリップ率及び駆動トルクの現在値の精度の良い迅速な推定には、移動速度ｖ、回転速度ω及びモータ電流値Ｉmの現在値の全てについて精度の良い迅速な検出が必要となる。しかしながら、移動速度ｖ、回転速度ω及びモータ電流値Ｉmの全ての現在値の精度の良い検出は、移動の全期間にわたって可能であるとは限らない。【００２５】
このため、スリップ率及び駆動トルクの現在値の推定精度が高いとはいえない場合であっても、路面状態に応じて、「適切に」かつ「迅速に」トルク設定値ＴSを制限することができる技術が望まれている。かかる要請に応えることが、本発明が解決すべき課題の一つとして挙げられる。【００２６】
本発明は、上記の事情を鑑みてなされたものであり、必要な駆動力を確保しつつ安定な走行のための適切な制御を、路面状態の変化に応じて迅速に実現することができる新たなトラクション制御装置及びトラクション制御方法を提供することを目的とする。
【課題を解決するための手段】
【００２７】
請求項１に記載の発明は、モータによって駆動される駆動輪を有する移動体のトラクション制御装置であって、前記移動体の移動速度を取得する移動速度取得部と；前記駆動輪の回転速度を取得する回転速度取得部と；前記モータが発生する実トルク値を取得する実トルク値取得部と；前記移動速度と前記回転速度とに基づいて推定した前記駆動輪のスリップ率と、前記回転速度及び前記実トルク値から推定された駆動トルクとに応じたリミテッドトルク値に基づいて、前記モータの動作に制限をかける制限部と；前記回転速度を微分した値に前記駆動輪がスリップしていない仮想的な状態を表す特性値を乗じて得られる逆算トルク値を前記実トルク値から減算した第１減算値に対して、前記推定された駆動トルクに基づいて推定された走行路面と前記駆動輪との間の摩擦係数と、前記推定されたスリップ率との組み合わせに応じたフィードバックゲイン及び１次遅れの時定数を利用した加工を施して得られるフィードバックトルク値により、前記モータの動作にフィードバックをかけるフィードバック部と；を備えることを特徴とするトラクション制御装置である。
【００２８】
請求項９に記載の発明は、モータによって駆動される駆動輪を有する移動体のトラクション制御装置において使用されるトラクション制御方法であって、前記移動体の移動速度、前記駆動輪の回転速度、及び、前記モータが発生する実トルク値を取得する取得工程と；前記移動速度と前記回転速度とに基づいて推定した前記駆動輪のスリップ率と、前記回転速度及び前記実トルク値から推定された駆動トルクとに応じたリミテッドトルク値に基づいて、前記モータの動作に制限をかける制限工程と；前記回転速度を微分した値に前記駆動輪がスリップしていない仮想的な状態を表す特性値を乗じて得られる逆算トルク値を前記実トルク値から減算した第１減算値に対して、前記推定された駆動トルクに基づいて推定された走行路面と前記駆動輪との間の摩擦係数と、前記推定されたスリップ率との組み合わせに応じたフィードバックゲイン及び１次遅れの時定数を利用した加工を施して得られるフィードバックトルク値により、前記モータの動作にフィードバックをかけるフィードバック工程と；を備えることを特徴とするトラクション制御方法である。
【００２９】
請求項１０に記載の発明は、モータによって駆動される駆動輪を有する移動体のトラクション制御装置が有するコンピュータに、請求項９に記載のトラクション制御方法を実行させる、ことを特徴とするトラクション制御プログラムである。
【００３０】
請求項１１に記載の発明は、モータによって駆動される駆動輪を有する移動体のトラクション制御装置が有するコンピュータにより読み取り可能に、請求項１０に記載のトラクション制御プログラムが記録されている、ことを特徴とする記録媒体である。
【図面の簡単な説明】
【００３１】
【図１】駆動輪モデルにおける変数を示す図である。
【図２】駆動時のスリップ率と摩擦係数との関係を示す図である。
【図３】トラクション制御を行わない場合のシミュレーション結果を示す図（その１）である。
【図４】トラクション制御を行わない場合のシミュレーション結果を示す図（その２）である。
【図５】本発明の第１実施形態に係るトラクション制御装置の構成を概略的に示すブロック図である。
【図６】推定誤差割合ａ，ｂを説明するための図である。
【図７】図５の制御部の構成を示すブロック図である。
【図８】図７の制限部の構成を示すブロック図である。
【図９】スリップ率と、駆動トルク及びリミット値との関係（駆動時）を説明するための図である。
【図１０】推定スリップ率及び推定駆動トルクに誤差がない場合のトラクション処理のシミュレーション結果を示す図（その１）である。
【００３２】
【図１１】推定スリップ率及び推定駆動トルクに誤差がない場合のトラクション処理のシミュレーション結果を示す図（その２）である。
【図１２】推定スリップ率及び推定駆動トルクに誤差がある場合のトラクション処理のシミュレーション結果を示す図である。
【図１３】図１２のシミュレーション結果に対応するスリップ率と、駆動トルク及びリミット値との関係を説明するための図である。
【図１４】推定誤差割合ａ，ｂに基づいてリミッタ係数を算出した場合のスリップ率と、駆動トルク及びリミット値との関係を説明するための図である。
【図１５】図７のフィードバック部の構成を示すブロック図である。
【図１６】図１５のフィードバック部におけるフィードバック制御の安定性を説明するためのＢｏｄｅ線図である。
【図１７】推定スリップ率及び推定駆動トルクに誤差がない場合における図５のトラクション制御装置によるトラクション制御のシミュレーション結果を示す図（その１）である。
【図１８】推定スリップ率及び推定駆動トルクに誤差がない場合における図５のトラクション制御装置によるトラクション制御のシミュレーション結果を示す図（その２）である。
【図１９】推定スリップ率及び推定駆動トルクに誤差がある場合における図５のトラクション制御装置によるトラクション制御のシミュレーション結果を示す図である。
【図２０】リミッタ係数及びフィードバックゲインとの関係を第１実施形態の場合としたときのトラクション制御のシミュレーション結果を示す図（その１）である。
【図２１】リミッタ係数及びフィードバックゲインとの関係を第１実施形態の場合としたときのトラクション制御のシミュレーション結果を示す図（その２）である。
【００３３】
【図２２】リミッタ係数及びフィードバックゲインとの関係を第１実施形態の場合と異なるようにときのトラクション制御のシミュレーション結果を示す図である。
【図２３】本発明の第２実施形態に係るトラクション制御装置の構成を概略的に示すブロック図である。
【図２４】図２３の制御部の構成を示すブロック図である。
【図２５】変形例の制御部の構成を示すブロック図である。
【図２６】本発明の一実施例に係るトラクション制御装置の構成を概略的に示すブロック図である。
【図２７】図２６のモータ駆動系における駆動制御部及び電流検出部の構成を説明するためのブロック図である。
【図２８】図２６の装置によるトラクション制御のための処理を説明するためのフローチャートである。
【図２９】図２８の駆動輪のそれぞれに対応するリミット値の算出の処理を説明するためのフローチャートである。
【図３０】図２８の駆動輪のそれぞれに対応するフィードバックトルク値の算出の処理を説明するためのフローチャートである。
【符号の説明】
【００３４】
１００            …トラクション制御装置
１１０            …制御ユニット（移動速度取得部、回転速度取得部、
実トルク値取得部、制限部、フィードバック部、
トルク設定値算出部、共通トルク設定値算出部）
７００Ａ，７００Ｂ…トラクション制御装置
７１０            …移動速度取得部
７２０            …回転速度取得部
７３０            …実トルク値取得部
７４１            …制限部
７４２            …フィードバック部
７４３Ａ，７４３Ｃ…トルク設定値算出部
７６２            …スリップ率推定部
７６３            …駆動トルク推定部
７６４            …リミット値算出部
７６５            …リミッタ部
７７４            …摩擦係数推定部
７７５            …パラメータ算出部
７８２            …共通トルク設定値算出部
【発明を実施するための形態】
【００３５】
以下、本発明の実施形態を、添付図面を参照して説明する。なお、以下の説明及び図面においては、同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
【００３６】
［第１実施形態］
まず、本発明の第１実施形態について、図５〜図２２を参照して説明する。
【００３７】
＜構成＞
図５には、第１実施形態に係るトラクション制御装置７００Ａの位置付け及び構成が、ブロック図にて示されている。
【００３８】
＜トラクション制御装置７００Ａの位置付け＞
図５に示されるように、トラクション制御装置７００Ａは、移動体ＭＶ内に配置される。この移動体ＭＶには、トラクション制御装置７００Ａに加えて、トルク指令値生成部８１０、加速度検出部８２０、誤差推定部８３０及びモータ駆動系９００が配置され、トラクション制御装置７００Ａに接続される。
【００３９】
上記のトルク指令値生成部８１０は、不図示のアクセル開度センサ、ブレーキ量センサ、ステアリング角度センサ等によるトルク指令値Ｔcの生成に利用される検出結果に基づいて、トルク指令値Ｔcを生成する。こうして生成されたトルク指令値Ｔcは、トラクション制御装置７００Ａへ送られる。
【００４０】
上記の加速度検出部８２０は、移動体ＭＶの移動方向の加速度αを検出する。こうして検出された加速度αは、トラクション制御装置７００Ａへ送られる。
【００４１】
上記の誤差推定部８３０は、トラクション制御装置７００Ａにおいて推定されたスリップ率（以下、「推定スリップ率」という）λ、及び、推定された駆動トルク（以下、「推定駆動トルク」という）Ｔdのそれぞれの誤差範囲を推定する。そして、誤差推定部８３０は、推定駆動トルクＴdの誤差範囲の下方側限界値の駆動トルクの真値に対する割合である推定誤差割合ａ（図６（Ａ）参照）を算出する。また、誤差推定部８３０は、推定スリップ率λの誤差範囲の上方側限界値のスリップ率の真値に対する割合である誤差推定割ｂ（図６（Ｂ）参照）を算出する。こうして算出された推定誤差割合ａ，ｂは、トラクション制御装置７００Ａへ送られる。
【００４２】
なお、誤差推定部８３０による推定誤差割合ａ，ｂの算出については、後述する。
【００４３】
上記のモータ駆動系９００は、駆動制御部９１０と、インバータ９２０と、モータ９３０とを備えている。また、モータ駆動系９００は、回転位置検出部９４０と、電流検出部９５０を備えている。
【００４４】
上記の駆動制御部９１０は、トラクション制御装置７００Ａから送られたトルク設定値Ｔsを受ける。そして、駆動制御部９１０は、トルク設定値Ｔs、回転位置検出部９４０により検出された回転位置θ、及び、電流検出部９５０により検出された検出電流値ＩDに基づいて、駆動電圧を算出する。例えば、モータ９３０が３相モータの場合には、駆動制御部９１０は、駆動電圧として、３相電圧を算出する。こうして算出された駆動電圧は、インバータ９２０へ送られる。
【００４５】
上記のインバータ９２０は、駆動制御部９１０から送られた駆動電圧を受ける。そして、インバータ９２０は、駆動電圧に対応する電流をモータ９３０に供給する。この結果、モータ９３０は、トルク設定値Ｔsに基づいてモータ回転運動を行い、駆動輪を回転させる。
【００４６】
上記の回転位置検出部９４０は、レゾルバ又はエンコーダを備えて構成されている。この回転位置検出部９４０は、モータ９３０の回転位置θを検出する。こうして検出された回転位置θは、トラクション制御装置７００Ａ、駆動制御部９１０及び電流検出部９５０へ送られる。
【００４７】
上記の電流検出部９５０は、モータ９３０を流れる電流値を検出する。例えば、モータ９３０が３相モータの場合には、電流検出部９５０は、モータ９３０を流れる３相電流のうちの少なくとも２種類の電流値を検出する。こうして検出された電流値は、検出電流値ＩDとして、トラクション制御装置７００Ａ及び駆動制御部９１０へ送られる。
【００４８】
《推定誤差割合ａ，ｂの算出》
ここで、誤差推定部８３０による推定誤差割合ａ，ｂの算出について説明する。
【００４９】
（推定誤差割合ａの算出）
走行抵抗Ｆdrは、転がり抵抗、空気抵抗及び勾配抵抗の総和である。このため、坂道でなければ、走行抵抗Ｆdrは、転がり抵抗と空気抵抗の和となる。
【００５０】
転がり抵抗は、次の（６）式の通りとなる。
転がり抵抗＝μr・Ｍ・ｇ            …（６）
ここで、μrは転がり抵抗係数であり、ｇは重力加速度である。
【００５１】
また、空気抵抗は、次の（７）式の通りとなる。
空気抵抗＝ρ・Ｃｄ・Ｓ・ｖ2／２      …（７）
ここで、ρは空気密度であり、Ｃｄは空気抵抗係数であり、Ｓは前面投影面積である。
【００５２】
このため、転がり抵抗は移動速度に依存せず一定であり、かつ、空気抵抗は速度の２乗に比例する。この結果、坂道でなければ、走行抵抗Ｆdrは、Ａ，Ｂを定数として、次の（８）式で表される。
Ｆdr＝Ａ＋Ｂ・ｖ2                    …（８）
【００５３】
そこで、アクセルペダルもブレーキペダルも踏まれていないときに惰性走行を行うようにすれば、その惰性走行中において上述した（２）式に基づいて得られる走行抵抗Ｆdrの移動速度ｖに応じた変化に基づいて、定数Ａ，Ｂを、最小二乗法により推定することができる。なお、定数Ａ，Ｂを推定する際の移動速度としては、惰性走行においては、全ての駆動輪が駆動も制動も行われていない状態となっているので、スリップは生じないため、駆動輪の車輪速度（＝ｒ・ω）が採用される。
【００５４】
こうして、定数Ａ，Ｂが推定された後、弱い制動トルクによる擬似エンジンブレーキを、例えば、４輪車の前輪か後輪のいずれかに行う。そして、制動トルクをかけていない駆動輪の車輪速度（＝ｒ・ω）を車体速度ｖとして、（８）式より走行抵抗Ｆdrを算出する。引き続き、（２）式の関係を利用して、駆動力Ｆdを算出した後、駆動トルクの真値（＝ｒ・Ｆd）を算出することができる。
【００５５】
誤差推定部８３０は、上記の方法により駆動トルクの真値を算出する。引き続き、誤差推定部８３０は、当該駆動トルクの真値と、トラクション制御装置７００Ａにおいて、（３）式の関係を利用して推定されている推定駆動トルクＴdとを比較し、推定駆動トルクＴdの誤差範囲を求める、そして、誤差推定部８３０は、求められた推定駆動トルクＴdの誤差範囲の範囲を推定したうえで、推定誤差割合ａを算出する。
【００５６】
（推定誤差割合ｂの算出）
電気自動車の走行中にアクセルペダルやブレーキペダルの踏み込みがない場合、惰性運転にするか、あるいは、弱い制動トルクによる擬似エンジンブレーキをかける制御が行われるのが一般的である。そこで、４輪駆動車であったとしても、擬似エンジンブレーキをかけている間は、少なくても前輪か後輪のいずれかの駆動輪は制動トルクをかけないように設定することにより、その駆動輪の車輪速度（＝ｒ・ω）から移動速度の真値が算出できる。
【００５７】
誤差推定部８３０は、上記の方法により移動速度の真値を算出する。引き続き、誤差推定部８３０は、当該移動速度の真値と、トラクション制御装置７００Ａにおいて、加速度αを時間積分して取得されている移動速度ｖを比較し、移動速度ｖの誤差範囲を求める、そして、誤差推定部８３０は、求められた移動速度ｖの誤差範囲に基づいて、推定スリップ率λの推定誤差の範囲を推定したうえで、推定誤差割合ｂを算出する。
【００５８】
上記のような方法により、平坦路を走行中にアクセルペダルやブレーキペダルの踏み込みがない場合に、推定誤差割合ａ，ｂを算出することができる。これらの推定誤差割合ａ，ｂは、一旦求めたら、常に算出する必要はないが、算出頻度を高くできれば時間的な変化に対応できるようになる。
【００５９】
＜トラクション制御装置７００Ａの構成＞
図５に示されるように、トラクション制御装置７００Ａは、移動速度取得部７１０と、回転速度取得部７２０と、実トルク値取得部７３０と、制御部７４０Ａとを備えている。
【００６０】
上記の移動速度取得部７１０は、加速度検出部８２０から送られた加速度αを受ける。そして、移動速度取得部７１０は、加速度αの時間積分を行って、移動速度ｖを取得する。こうして取得された移動速度ｖは、制御部７４０Ａ及び誤差推定部８３０へ送られる。
【００６１】
上記の回転速度取得部７２０は、回転位置検出部９４０から送られた回転位置θを受ける。そして、回転速度取得部７２０は、回転位置θの時間微分を行って、回転速度ωを取得する。こうして取得された回転速度ωは、制御部７４０Ａ及び誤差推定部８３０へ送られる。
【００６２】
上記の実トルク値取得部７３０は、電流検出部９５０から送られた検出電流値ＩDを受ける。引き続き、実トルク値取得部７３０は、検出電流値ＩDに基づいてモータ電流値Ｉmを算出する。なお、モータ電流値Ｉmは検出電流値ＩDの大きさを示しており、Ｉm＝｜ＩD｜である。
【００６３】
次に、実トルク値取得部７３０は、上述した（１）式を利用して実トルク値Ｔmを算出することにより、実トルク値Ｔmを取得する。こうして取得された実トルク値Ｔmは、制御部７４０Ａへ送られる。
【００６４】
上記の制御部７４０Ａは、トルク指令値生成部８１０から送られたトルク指令値Ｔc、及び、誤差推定部８３０から送られた推定誤差割合ａ，ｂを受ける。引き続き、制御部７４０Ａは、移動速度ｖ、回転速度ω及び実トルク値Ｔmに基づいて、トルク指令値Ｔcに対してトルク制御を行って、トルク設定値Ｔsを算出する。そして、制御部７４０Ａは、算出されたトルク設定値Ｔsを駆動制御部９１０へ送る。
【００６５】
なお、制御部７４０Ａは、トラクション制御を行うべき旨が指定されていない場合には、トルク指令値Ｔcを、トルク設定値Ｔsとして、駆動制御部９１０へ送るようになっている。
【００６６】
また、制御部７４０Ａは、推定駆動トルクＴdを誤差推定部８３０へ送る。なお、制御部７４０Ａは、トラクション制御を行うべき旨の指定の有無にかかわらず、推定駆動トルクＴdの算出を行い、算出された推定駆動トルクＴdを誤差推定部８３０へ送るようになっている。
【００６７】
かかる機能を有する制御部７４０Ａは、図７に示されるように、制限部７４１と、フィードバック部７４２とを備えている。また、制御部７４０Ａは、トルク設定値算出部７４３Ａを備えている。
【００６８】
上記の制限部７４１は、トルク指令値生成部８１０から送られたトルク指令値Ｔc、及び、誤差推定部８３０から送られた推定誤差割合ａ，ｂを受ける。そして、制限部７４１は、移動速度ｖ、回転速度ω及び実トルク値Ｔmに基づいて、トルク指令値Ｔcに対してリミッタ制御を行って、リミテッドトルク値ＴLを算出する。そして、制限部７４１は、算出されたリミテッドトルク値ＴLをトルク設定値算出部７４３Ａへ送る。
【００６９】
なお、制限部７４１は、トラクション制御を行うべき旨が指定されていない場合には、トルク指令値Ｔcを、リミテッドトルク値ＴLとして、トルク設定値算出部７４３Ａへ送るようになっている。
【００７０】
また、制限部７４１は、リミテッドトルク値ＴLの算出の中間段階で算出されたリミッタ係数ｋ、推定スリップ率λ、推定駆動トルクＴd、及び、回転速度ωの時間微分値（ｄω／ｄｔ）をフィードバック部７４２へ送る。さらに、制限部７４１は、推定駆動トルクＴdを誤差推定部８３０へ送る。
【００７１】
なお、制限部７４１は、トラクション制御を行うべき旨の指定の有無にかかわらず、推定駆動トルクＴdの算出を行い、算出された推定駆動トルクＴdを誤差推定部８３０へ送る。
【００７２】
かかる機能を有する制限部７４１の構成の詳細については、後述する。
【００７３】
上記のフィードバック部７４２は、制限部７４１から送られたリミッタ係数ｋ、推定スリップ率λ、推定駆動トルクＴd、及び、回転速度ωの時間微分値（ｄω／ｄｔ）、並びに、実トルク値取得部７３０から送られた実トルク値Ｔmを受ける。そして、フィードバック部７４２は、リミッタ係数ｋ、推定スリップ率λ、推定駆動トルクＴd、当該時間微分値（ｄω／ｄｔ）及び実トルク値Ｔmに基づいて、路面状態と走行状態とも組み合わせに適応したフィードバックトルク値Ｔfを算出する。そして、フィードバック部７４２は、算出されたフィードバックトルク値Ｔfをトルク設定値算出部７４３Ａへ送る。なお、フィードバック部７４２は、トラクション制御を行うべき旨が指定されていない場合には、フィードバックトルク値Ｔfとして、「０［Ｎｍ］」をトルク設定値算出部７４３Ａへ送るようになっている。
【００７４】
なお、フィードバック部７４２の構成の詳細については、後述する。
【００７５】
上記のトルク設定値算出部７４３Ａは、減算部７５１を備えて構成される。このトルク設定値算出部７４３Ａは、制限部７４１から送られたリミテッドトルク値ＴL、及び、フィードバック部７４２から送られたフィードバックトルク値Ｔfを受ける。そして、トルク設定値算出部７４３Ａは、次の（９）式により、トルク設定値Ｔsを算出する。
Ｔs＝ＴL−Ｔf                  …（９）
こうして算出されたトルク設定値Ｔsは、モータ駆動系９００へ送られる。
【００７６】
《制限部７４１の構成》
次に、上述した制限部７４１の構成について説明する。
【００７７】
制限部７４１は、図８に示されるように、リミッタ係数算出部７６１と、スリップ率推定部７６２と、駆動トルク推定部７６３とを備えている。また、制限部７４１は、リミット値算出部７６４と、リミッタ部７６５とを備えている。
【００７８】
リミッタ係数算出部７６１は、誤差推定部８３０から送られた推定誤差割合ａ，ｂを受ける。そして、リミッタ係数算出部７６１は、推定誤差割合ａ，ｂに基づいて、リミッタ係数ｋを算出する。こうして算出されたリミッタ係数ｋは、リミット値算出部７６４及びフィードバック部７４２へ送られる。
【００７９】
なお、リミッタ係数算出部７６１によるリミッタ係数ｋの算出処理については、後述する。
【００８０】
上記のスリップ率推定部７６２は、移動速度取得部７１０から送られた移動速度ｖ、及び、回転速度取得部７２０から送られた回転速度ωを受ける。そして、スリップ推定部７６２は、上述した（５）式により、推定スリップ率λを算出することにより、スリップ率推定を行う。こうして算出された推定スリップ率λは、リミット値算出部７６４及びフィードバック部７４２へ送られる。
【００８１】
上記の駆動トルク推定部７６３は、回転速度取得部７２０から送られた回転速度ω、及び、実トルク値取得部７３０から送られた実トルク値Ｔmを受ける。引き続き、駆動トルク推定部７６３は、上述した（３）式を変形した次の（１０）式により得られる値を、ローパスフィルタ（ＬＰＦ）を介させて、推定駆動トルクＴdを算出することにより、駆動トルク推定を行う。
Ｔd＝Ｔm−Ｊw・(ｄω／ｄｔ)    …（１０）
こうして算出された推定駆動トルクＴdは、リミット値算出部７６４、フィードバック部７４２及び誤差推定部８３０へ送られる。
【００８２】
また、駆動トルク推定部７６３は、（１０）式による推定駆動トルクＴdの算出の途中段階で算出される回転速度ωの時間微分値(ｄω／ｄｔ)を、フィードバック部７４２へ送る。
【００８３】
上記のリミット値算出部７６４は、スリップ率推定部７６２から送られた推定スリップ率λ、及び、駆動トルク推定部７６３から送られた推定駆動トルクＴdを受ける。また、リミット値算出部７６４は、リミッタ係数算出部７６１から送られたリミッタ係数ｋを受ける。そして、リミット値算出部７６４は、リミッタ係数ｋ、推定スリップ率λ及び推定駆動トルクＴdに基づいて、リミット値Ｌを算出する。こうして算出されたリミット値Ｌは、リミッタ部７６５へ送られる。
【００８４】
なお、第１実施形態では、次の（１１）式により、リミット値Ｌを算出する。
Ｌ＝Ｔd・（ｐ＋ｋ／λ）                …（１１）
ここで、定数ｐは、適切なトラクション制御を行うとの観点から、実験、シミュレーション等により、予め定められる。
【００８５】
上記のリミッタ部７６５は、トルク指令値生成部８１０から送られたトルク指令値Ｔcを受ける。そして、リミッタ部７６５は、リミット値算出部７６４から送られたリミット値Ｌに従って、トルク指令値Ｔcに対してリミッタ制御を行って、リミテッドトルク値ＴLを算出する。
【００８６】
かかるリミッタ制御に際して、トラクション制御をすべき旨が指定されていない場合、及び、トルク指令値Ｔcがリミット値Ｌ以下の場合には、リミッタ部７６５は、トルク指令値Ｔcをリミテッドトルク値ＴLとする。また、トラクション制御をすべき旨が指定されており、かつ、トルク指令値Ｔcがリミット値Ｌよりも大きな場合には、リミッタ部７６５は、リミット値Ｌをリミテッドトルク値ＴLとする。こうして算出されたリミテッドトルク値ＴLは、トルク設定値算出部７４３Ａへ送られる。
【００８７】
（リミッタ係数の算出処理）
ここで、上述したリミッタ係数算出部７６１によるリミッタ係数ｋの算出処理について説明する。
【００８８】
((移動体のスリップ現象と駆動トルクの関係))
まず、移動体のスリップ現象と駆動トルクの関係について述べる。
【００８９】
上述した（３），（４）式より、Ｔd＝ｒ・Ｆd＝r・μ・Ｎの関係が成り立つ。このため、駆動輪の半径ｒと垂直抗力Ｎに変化が無ければ、図９において細線で示されるように、スリップ率と駆動トルクとは、図２におけるスリップ率と摩擦係数との関係と同様となる。走行中の現在の駆動トルクの値に比べて、実トルク値Ｔmが大きいと、（３）式からわかるように回転速度ωが増加し、（５）式で示されるスリップ率も増加する。
【００９０】
こうした場合、スリップ率の値によって動作が異なる。スリップ率が「０．２」以下であれば、図９に示されるように駆動トルクも増加するので、駆動力Ｆdが増加する。このため、空気抵抗等による走行抵抗Ｆdrの変化が小さければ、（２）式により示されるように、移動速度ｖも増加する。よって、（５）式で表されるスリップ率の増加が緩和されるため安定に走行できる。しかし、スリップ率が「０．２」を超えてしまうと，図９に示されるように、駆動トルクが増加しないので、駆動力Ｆdも増加せず、（２）式における移動速度ｖが増加しない。この結果、（５）式で表されるスリップ率の増加が進行してしまい、更にスリップ率が大きくなるため、走行が不安定になる。
【００９１】
これは、駆動トルクの最大値と実トルク値Ｔmとの関係によって、どちらの動作になるかが決まる。駆動トルクの最大値よりも実トルク値Ｔmが余裕を持って小さければ、安定走行を維持できる。一方、駆動トルクの最大値よりも実トルク値Ｔmが多少大きな値のときに、不安定領域に入ってしまうのである。
【００９２】
（１１）式により求められるリミット値Ｌの算出例が、図９に示されている。かかるリミット値Ｌによりトルク指令値Ｔcに対してリミッタ処理を施したリミテッドトルク値ＴLをトルク設定値Ｔsとした場合、スリップ率λが大きいほど、リミット値Ｌを駆動トルクに近い値とするとともに、スリップ率が小さいほど、リミット値Ｌを駆動トルクから離れた値とすることができる。
【００９３】
したがって、推定スリップ率λが大きくなるほど、現在の推定駆動トルクＴdに近い値にトルク設定値Ｔsが制限される。また、推定スリップ率λが小さくなるほど、トルク制限が弱くなるため、現在の推定駆動トルクＴdよりも大きなトルク設定値Ｔsが許可される。
【００９４】
なお、推定スリップ率λが大きいほど、リミット値Ｌを推定駆動トルクＴdに近い値とするため、定数ｐは、「１」に近い値とすることが好ましい。そこで、第１実施形態では、定数ｐとして「１」を採用した、次の（１２）式により、リミット値Ｌを算出する。
Ｌ＝Ｔd・（１＋ｋ／λ）                …（１２）
【００９５】
また、リミッタ係数ｋを小さくするほど、強いリミッタをかけることができるため、推定スリップ率λが大きくなると強いトルク制限がかかり、結果としてスリップ率の増加を抑えることができる。しかし、推定スリップ率λが小さく安定領域内であれば、必要以上にトルク制限をかけたくないため、リミッタ係数ｋを小さくしすぎることは好ましくない。
【００９６】
（１２）式において、リミッタ係数ｋを「０．０１」とした場合のリミテッドトルク値ＴLをトルク設定値Ｔsとした場合のアンチスリップ性能についての駆動時のシミュレーション結果が、図１０，１１に示されている。なお、当該シミュレーションの条件としては、上述したリミッタ制御を行わない場合のシミュレーションと同様に、４輪駆動の電気自動車であって、車重：１８００［ｋｇ］、駆動輪ＷＨの慣性モーメント：１．２［ｋｇ・ｍ2］及びモータのトルク応答：５［ms］という条件を採用した。また、時刻ｔ1において乾燥路面から凍結路面に変化し、時刻ｔ2（＞ｔ1）において凍結路面から乾燥路面に変化することを想定して、シミュレーションを行った。
【００９７】
なお、図１０，１１（後述する図１２，１６〜２１においても同様）には、リミッタ制御を行わない場合のシミュレーション結果として、上述した図３，４で示した車体速度ｖ、車輪速度（ｒ・ω）、スリップ率及び摩擦係数に加えて、算出されたリミット値Ｌ、推定駆動トルクＴd、トルク設定値Ｔs及びリミテッドトルク値ＴLのシミュレーション結果が示されている。ここで、算出されたリミット値Ｌ（図１０〜１２，１７〜２２においては「算出リミット値Ｌ」と記す）、トルク設定値Ｔs及びリミテッドトルク値ＴLについては、トルク指令値Ｔcとの比較が容易となるような図示となっている。
【００９８】
図１０，１１により総合的に示されるように、乾燥路面でのリミット値Ｌはトルク指令値Ｔcよりも大きいため、トルク設定値Ｔsは制限されない。凍結路面に入ると，リミット値Ｌはトルク設定値Ｔsより低下するので、リミット値Ｌで瞬時に制限されたトルク設定値Ｔsとなる。この結果、スリップ率λの増加が抑制できていることが確認できる。すなわち、乾燥路面での十分な加速と、凍結路面でのスリップを防止した走行とが両立できることが確認できる。
【００９９】
((スリップ率及び駆動トルクの推定誤差の影響))
次に、推定スリップ率λ及び推定駆動トルクＴdの推定誤差のアンチスリップ性能への影響について説明する。
【０１００】
図１２には、推定スリップ率λ及び推定駆動トルクＴdに推定誤差が含まれていた場合のシミュレーション結果が、誤差がない場合の比較例とともに示されている。なお、当該シミュレーションの条件は、上述した図１１（Ｃ）の場合と同様である。
【０１０１】
図１２に示されるように、推定スリップ率λ及び推定駆動トルクＴdに誤差が含まれていると、乾燥路面でもリミッタ制御が行われて、トルク設定値Ｔsが低下してしまっていたり、凍結路面でのスリップ率の増加の抑制が不十分となってしまったりしている。したがって、推定スリップ率λ及び推定駆動トルクＴdの推定誤差が大きいと、トラクション制御の性能が悪化してしまうことがわかる。
【０１０２】
図１３には、リミット値Ｌの算出に用いる推定スリップ率λや推定駆動トルクＴdに誤差が含まれている場合におけるリミット値Ｌの算出結果が、誤差がない場合の比較例とともに示されている。リミット値Ｌの算出に用いる推定スリップ率λや推定駆動トルクＴdに誤差が含まれている場合には、図１３（Ｂ）に示されるように、駆動トルクよりも小さいリミット値でリミットされるため、必要なトルクが得られなくなることがある。また、図１３（Ｃ）に示されるように、駆動トルクに対してゆるすぎるリミット値でリミットされるため、滑りやすい路面でのトルク低減が不十分となってしまう。こうした現象の発生は、上述したように図１２に示したシミュレーション結果にも現れている。
【０１０３】
((リミッタ係数の算出))
以上の推定スリップ率λ及び推定駆動トルクＴdの推定誤差の影響を考慮し、第１実施形態では、リミッタ係数算出部７６１が、リミッタ係数ｋを、推定スリップ率λ及び推定駆動トルクＴdの推定誤差に応じて算出するようにしている。
【０１０４】
かかるリミッタ係数ｋの算出に際して、リミッタ係数算出部７６１は、誤差推定部８３０から送られた推定誤差割合ａ，ｂを取得する。この推定誤差割合ａ，ｂの誤差がある場合には、リミット値Ｌは、次の（１３）式により算出される。
Ｌ＝ａ・Ｔd・（１＋ｋ／（ｂ・λ））            …（１３）
【０１０５】
この（１３）式では、推定スリップ率λはスリップ率の真値のｂ倍、推定駆動トルクＴdは駆動トルクの真値のａ倍として、誤差を含んだリミット値Ｌが算出される。
【０１０６】
（１３）式が上述の（１２）式と等しくなる条件は、推定スリップ率λ及び推定駆動トルクＴdの推定誤差がない場合のリミッタ係数を「ｋ*」と記すと、次の（１４）式の通りとなる。
ａ・Ｔd・（１＋ｋ／（ｂ・λ））＝Ｔd・（１＋ｋ*／λ）    …（１４）
【０１０７】
（１４）式からリミッタ係数ｋを求めると、次の（１５）式の通りとなる。
ｋ＝ｋ*・（ｂ／ａ）＋λ・（（ｂ／ａ）−ｂ）      …（１５）
【０１０８】
ここで、推定スリップ率λ及び推定駆動トルクＴdの推定誤差がない場合には、上述した図１０，１１におけるシミュレーション結果により示されるように、「０．０１」がリミッタ係数ｋ*の適正値となっている。また、スリップ率については、上述した図２に示されるように、「０．２」が安定領域と不安定領域との境界（すなわち、摩擦係数が最大となるスリップ率）となっている。そこで、第１実施形態では、リミッタ係数算出部７６１は、次の（１６）式により、リミット値算出部７６４へ供給するリミッタ係数ｋを算出するようにしている。
ｋ＝０．０１・（ｂ／ａ）＋０．２・（（ｂ／ａ）−ｂ）  …（１６）
なお、（１６）式は，ｋ*＝０．０１，λ＝０．２を（１５）式に代入して求められる。
【０１０９】
この（１６）式で算出したリミッタ係数ｋを採用した場合に、（１２）式により算出されたリミット値Ｌの例が、図１４に示されている。図１４（Ｂ）に示されるように、図１３（Ｂ）の場合と異なり、スリップ率が「０．２」以下の場合においてリミット値Ｌが小さくなりすぎておらず、必要以上に強いリミッタにはなっていない。つまり、推定スリップ率λや推定駆動トルクＴdに推定誤差が含まれていても、安定領域では必要以上に強いリミッタになることを回避することができている。
【０１１０】
なお、図１４（Ｂ）に示される場合と誤差の方向が逆である図１４（Ｃ）の場合には、弱いリミッタとなってしまう。この点については、制限部７４１による適応型リミッタ処理と、後述するフィードバック部７４２により行われるフィードバック処理とを併用することにより、克服されるようになっている。
【０１１１】
《フィードバック部７４２の構成》
次に、上述したフィードバック部７４２の構成について説明する。
【０１１２】
フィードバック部７４２は、図１５に示されるように、粘着モデル部７７１と、減算部７７２と、ローパスフィルタ（ＬＰＦ）部７７３とを備えている。また、フィードバック部７４２は、摩擦係数推定部７７４と、パラメータ算出部７７５と、乗算部７７６とを備えている。
【０１１３】
上記の粘着モデル部７７１は、「Ｐn-1＝Jw＋Ｍ・ｒ２」として表される伝達関数として示すことができる。この粘着モデル部７７１は、制限部７４１から送られた回転速度ωの時間微分値（ｄω／ｄｔ）を受ける。そして、粘着モデル部７７１は、駆動輪にスリップが生じない仮想的なモデルである粘着モデルに従って、当該時間微分値（ｄω／ｄｔ）に対応するトルク値Ｔnを、次の（１７）式により算出する。
Ｔn＝Ｐn-1・（ｄω／ｄｔ）                  …（１７）
こうして算出されたトルク値Ｔnは、減算部７７２へ送られる。
【０１１４】
なお、トルク値Ｔnは、回転速度ωから粘着モデルを用いて逆算されるため、以下においては、トルク値Ｔnを、「逆算トルク値Ｔn」とも記す。
【０１１５】
上記の減算部７７２は、粘着モデル部７７１から送られた逆算トルク値Ｔn、及び、実トルク値取得部７３０から送られた実トルク値Ｔmを受ける。そして、減算部７７２は、次の（１８）式により差分トルク値Ｔhを算出する。
Ｔh＝Ｔn−Ｔm                                …（１８）
こうして算出された差分トルク値Ｔhは、ＬＰＦ部７７３へ送られる。
【０１１６】
上記のＬＰＦ部７７３は、減算部７７２から送られた差分トルク値Ｔh、及び、パラメータ算出部７７５から送られた時定数τを受ける。このＬＰＦ部７７３の伝達関数ＧLP（ｓ）は、次の（１９）式で表されるようになっている。
ＧLP（ｓ）＝１／（τ・ｓ＋１）            …（１９）
【０１１７】
ＬＰＦ部７７３は、差分トルク値Ｔhに対して１次遅れを付与するフィルタリング処理を行って、フィルタ後トルク値Ｔafを算出する。こうして算出されたフィルタ後トルク値Ｔafは、乗算部７７６へ送られる。
【０１１８】
上記の摩擦係数推定部７７４は、制限部７４１から送られた推定駆動トルクＴdを受ける。そして、摩擦係数推定部７７４は、推定駆動トルクＴd及び駆動輪半径ｒに基づいて、次の（２０）式により推定摩擦係数μを算出する。
μ＝Ｔd／（Ｎ・ｒ）                        …（２０）
こうして算出された推定摩擦係数μは、パラメータ算出部７７５へ送られる。
【０１１９】
なお、第１実施形態では、（２０）式における垂直抗力Ｎとして、移動体ＭＶの重量Ｍを駆動輪の数で除算した値を採用するようにしている。
【０１２０】
上記のパラメータ算出部７７５は、制限部７４１から送られたリミッタ係数ｋ及び推定スリップ率λ、並びに、摩擦係数推定部７７４から送られた推定摩擦係数μを受ける。そして、パラメータ算出部７７５は、リミッタ係数ｋ、推定スリップ率λ及び推定摩擦係数μに基づいて、フィードバックゲインｋp及び時定数τを算出する。かかる機能を有するパラメータ算出部７７５は、乗算部７８１と、除算部７８２と、乗算部７８３，７８４とを備えている。
【０１２１】
上記の乗算部７８１は、制限部７４１から送られたリミッタ係数ｋを受ける。そして、乗算部７８１は、予め定められた定数ｃ及びリミッタ係数ｋに基づいて、次の（２１）式により、適応ゲイン係数ｄを算出する。
ｄ＝ｃ・ｋ                                  …（２１）
こうして算出された適応ゲイン係数ｄは、乗算部７８３へ送られる。
【０１２２】
なお、定数ｃについては、後述する。
【０１２３】
上記の除算部７８２は、制限部７４１から送られた推定スリップ率λ、及び、摩擦係数推定部７７４から送られた推定摩擦係数μを受ける。そして、除算部７８２は、推定スリップ率λ及び推定摩擦係数μに基づいて、次の（２２）式により、推定スリップ率λと推定摩擦係数μとの比の値ＲＴを算出する。
ＲＴ＝λ／μ                                  …（２２）
こうして算出された値ＲＴは、乗算部７８３へ送られる。
【０１２４】
上記の乗算部７８３は、乗算部７８１から送られた適応ゲイン係数ｄ、及び、除算部７８２から送られた値ＲＴを受ける。そして、乗算部７８３は、適応ゲイン係数ｄ及び値ＲＴに基づいて、次の（２３）式により、フィードバックゲインｋpを算出する。
ｋp＝ｄ・ＲＴ（＝ｄ・（λ／μ））              …（２３）
こうして算出されたフィードバックゲインｋpは、乗算部７８４及び乗算部７７６へ送られる。
【０１２５】
上記の乗算部７８４は、乗算部７８３から送られたフィードバックゲインｋpを受ける。そして、乗算部７８４は、予め定められた定数ｅ及びフィードバックゲインｋpに基づいて、次の（２４）式により、時定数τを算出する。
τ＝ｅ・ｋp                                    …（２４）
こうして算出された時定数τは、ＬＰＦ部７７３へ送られる。
【０１２６】
なお、定数ｅについては、後述する。
【０１２７】
上記の乗算部７７６は、ＬＰＦ部７７３から送られたフィルタ後トルク値Ｔaf、及び、パラメータ算出部７７５から送られたフィードバックゲインｋpを受ける。そして、乗算部７７６は、次の（２５）式により、フィードバックトルク値Ｔfを算出し、算出されたフィードバックトルク値Ｔfをトルク設定値算出部７４３Ａへ送る。
Ｔf＝ｋp・Ｔaf                                …（２５）
【０１２８】
（定数ｃ及び定数ｅについて）
ここで、パラメータ算出部７７５が適応ゲイン係数ｄの算出に際して利用する定数ｃ、及び、パラメータ算出部７７５が時定数τの算出に際して利用する定数ｅについて説明する。
【０１２９】
上述した図２のμ−λ特性からわかるように、スリップしている状態が進むほどスリップ率が大きくなる。また、滑りやすい路面ほど、スリップ率と摩擦係数との比の値（＝（スリップ率）／（摩擦係数））が大きいという特徴がある。このため、上述した（２３）式によりフィードバックゲインｋpを算出すれば、フィードバックゲインｋpが大きくなりスリップ抑制効果が高まる。
【０１３０】
また、（２１）式によって適応ゲイン係数ｄを算出することにより、リミッタ係数ｋが小さくて強いリミッタの場合には、適応ゲイン係数ｄも小さくなり、(２３)式から算出されるフィードバックゲインｋpも小さくなり、弱いフィードバック制御となる。一方、リミッタ係数ｋが大きくて弱いリミッタの場合には、適応ゲイン係数ｄも大きくなり、フィードバックゲインｋpも大きくなり、強いフィードバック制御となる。
【０１３１】
かかるフィードバック部７４２が実行する適応型モデル追従制御でのトルク低減と、制限部７４１が実行する適応型リミッタ制御によるトルク低減との２段階のトルク低減を経たものが、第１実施形態におけるトルク設定値Ｔsとなる。当該トルク設定値Ｔsが適切なトルク設定値となるように検討した結果、上述した（２１）式における定数ｃを「４」とすることが適切であることが見出された。
【０１３２】
そこで、第１実施形態では、乗算部７８１は、次の（２６）式により、適応ゲイン係数ｄを算出するようにしている。
ｄ＝４・ｋ                                  …（２６）
【０１３３】
また、第１実施形態におけるトラクション制御系の安定性について検討を行った。具体的には、トルク指令値Ｔcからフィードバックトルク値Ｔfまでの一巡伝達関数を用いてＢｏｄｅ線図を描き、ゲイン余裕と位相余裕とからシステムの安定性を判断するようにした。なお、第１実施形態の場合には、次の（２７）式が一巡伝達関数ＧO（ｓ）となる。
【０１３４】
【数１】
0005994194.tif 000002
ここで、（２７）式中において新たに登場した文字Ｌ，τm，ｎの意味は、以下の通りである。
Ｌ ：無駄時間
τm：モータのトルク応答の時定数
ｎ ：駆動輪の数
【０１３５】
かかる制御系の安定性について検討の結果、上述した（２４）式における定数ｅを「４」とすることが適切であることが見出された。そこで、第１実施形態では、乗算部７８４は、次の（２８）式により、時定数τを算出するようにしている。
τ＝４・ｋp                                 …（２８）
【０１３６】
図１６（Ａ）には、時定数τを「０．４［ｓ］」に固定し、フィードバックゲインｋpを変化させた場合のＢｏｄｅ線図が示されている。また、図１６（Ｂ）には、時定数τとフィードバックゲインｋpとの関係が、上述した（２８）式の関係を満たすようにした場合の、Ｂｏｄｅ線図が示されている。なお、図１６（Ａ）においては、「ｋp＝１０」の場合が実線で示され、「ｋp＝１」の場合が破線で示されるとともに、「ｋp＝０．１」の場合が２点鎖線で示されている。
【０１３７】
図１６（Ａ）に示されるように、時定数τが固定だと、フィードバックゲインｋpが大きくなるにつれて利得が「０［ｄＢ］」を横切る周波数が高くなるため、ゲイン余裕と位相余裕が少なくなり不安定になる。一方、図１６（Ｂ）に示されるように、（２８）式により時定数τを算出するようにした場合には、フィードバックゲインｋpが変わっても、利得が「０［ｄＢ］」を横切る周波数と、位相が「−１８０［ｄｅｇ］」を横切る周波数がほぼ一致し、ゲイン余裕と位相余裕がほとんど変化しないようにできる。そして、ゲイン余裕が「１２［ｄＢ］」程度であり、位相余裕が「６０［ｄｅｇ］」程度の値となり、安定度を維持できる。
【０１３８】
図１７，１８には、（２６）式を用いて適応ゲイン係数ｄを算出するとともに、（２８）式を用いて時定数τを算出した場合のアンチスリップ性能のシミュレーション結果が示されている。なお、当該シミュレーションの条件は、上述した図１０，１１の場合と同様であり、ｋ＝０．０７５，ｄ＝０．３としている。
【０１３９】
図１７，１８に示されるように、凍結路面の場所でリミッタがかかり、さらにトルク低減される。この結果、トルク設定値Ｔsが適切に設定されることにより、スリップ率の上昇が抑制されて、駆動輪の空転が防止される。
【０１４０】
図１９には、推定スリップ率λ及び推定駆動トルクＴdに誤差が含まれている場合に、（２６）式を用いて適応ゲイン係数ｄを算出するとともに、（２８）式を用いて時定数τを算出したときにおけるアンチスリップ性能のシミュレーション結果（図１９（Ｂ），（Ｃ））が、誤差がない場合の比較例（図１９（Ａ））とともに示されている。なお、当該シミュレーションの条件は、上述した図１２の場合と同様であり、ｋ＝０．０７５，ｄ＝０．３としている。
【０１４１】
図１９（Ｂ），（Ｃ）と図１９（Ａ）とを比較してわかるように、（２６）式を用いて適応ゲイン係数ｄを算出するとともに、（２８）式を用いて時定数τを算出したときには、図１２の結果と異なり、推定スリップ率λ及び推定駆動トルクＴdに誤差が含まれていても、誤差が無いときのスリップ抑制と近い結果が得られている。
【０１４２】
図２０，２１には、（２６）式の関係を満たすリミッタ係数ｋと適応ゲイン係数ｄとの組み合わせのいくつかについてのアンチスリップ性能のシミュレーション結果が示されている。図２０，２１からわかるように、トルク指令値Ｔcからリミテッドトルク値ＴLへの低減、及び、リミテッドトルク値ＴLからトルク設定値Ｔsへの低減という２段階の低減が行われる。そして、リミッタ係数ｋと適応ゲイン係数ｄとの組み合わせの種類にかかわらず、最終的には同程度のトルク設定値Ｔsとなり、スリップ率も同程度となっている。なお、当該シミュレーションの条件は、上述した図１１（Ｃ）の場合と同様である。
【０１４３】
比較のために、（２６）式の関係を満たさないリミッタ係数ｋと適応ゲイン係数ｄとの組み合わせのいくつかについてのアンチスリップ性能のシミュレーション結果が、図２２（Ａ），（Ｂ）に示されている。図２２（Ａ），（Ｂ）に示されるように、（２６）式の関係を満たさない場合には、トルク低減が強すぎてスリップ率が非常に低くなってしまったり、スリップ抑制が不十分になったりしてしまう。
【０１４４】
また、図２２（Ｃ）には、適応ゲイン係数ｄを「４」という大きな値とし、適応型リミッタ制御を行わなかった場合のアンチスリップ性能のシミュレーション結果が示されている。図２２（Ｃ）に示されるように、この場合には、凍結路面におけるスリップ率の抑制はできている。しかしながら、破線丸で囲まれた部分におけるトルク設定値Ｔsの変化からわかるように、乾燥路面において、トルク設定値Ｔsが減少するようになってしまう。
【０１４５】
なお、図２２の結果を得たシミュレーションの条件は、上述した図１１（Ｃ）の場合と同様である。
【０１４６】
＜動作＞
次に、上記のように構成されたトラクション制御装置７００Ａの動作について、トラクション制御を行うべき旨が指定されている場合の制御部７４０Ａにおける処理（以下、「トラクション制御モード処理」ともいう）に主に着目して説明する。
【０１４７】
なお、トルク指令値生成部８１０、加速度検出部８２０、誤差推定部８３０及びモータ駆動系９００は、既に動作を開始しており、トルク指令値Ｔc、加速度α、推定誤差割合ａ，ｂ、回転位置θ及び検出電流値ＩDが、逐次、トラクション制御装置７００Ａへ送られているものとする（図５参照）。
【０１４８】
トラクション制御装置７００Ａでは、移動速度取得部７１０が、加速度検出部８２０から送られた加速度αの時間積分を行って、移動速度ｖを取得する。そして、移動速度取得部７１０は、取得された移動速度ｖを制御部７４０Ａ及び誤差推定部８３０へ逐次送る（図５参照）。
【０１４９】
また、回転速度取得部７２０が、回転位置検出部９４０から送られた回転位置θの時間微分を行って、回転速度ωを取得する。そして、回転速度取得部７２０は、取得された回転速度ωを制御部７４０Ａ及び誤差推定部８３０へ逐次送る（図５参照）。
【０１５０】
また、実トルク値取得部７３０が、電流検出部９５０から送られた検出電流値ＩDに基づいて実トルク値Ｔmを算出することにより、実トルク値Ｔmの取得を行う。そして、実トルク値取得部７３０は、取得された実トルク値Ｔmを制御部７４０Ａへ逐次送る（図５参照）。
【０１５１】
《トラクション制御モード処理》
トラクション制御モード処理では、制御部７４０Ａにおいて、制限部７４１が、リミテッドトルク値ＴLを算出する。
【０１５２】
リミテッドトルク値ＴLの算出に際しては、リミッタ係数算出部７６１が、誤差推定部８３０から送られた推定誤差割合ａ，ｂに基づいて、上述した（１６）式により、リミッタ係数ｋを算出する。そして、リミッタ係数算出部７６１は、算出されたリミッタ係数ｋをリミット値算出部７６４及びフィードバック部７４２へ送る（図８参照）。
【０１５３】
また、スリップ率推定部７６２が、移動速度取得部７１０から送られた移動速度ｖ、及び、回転速度取得部７２０から送られた回転速度ωに基づいて、上述した（５）式により、推定スリップ率λを算出することにより、スリップ率推定を行う。そして、スリップ率推定部７６２は、推定スリップ率λを、リミット値算出部７６４及びフィードバック部７４２へ逐次送る（図８参照）。
【０１５４】
また、駆動トルク推定部７６３が、回転速度取得部７２０から送られた回転速度ω、及び、実トルク値取得部７３０から送られた実トルク値Ｔmに基づいて、上述した（１０）式により得られる値を、ローパスフィルタ（ＬＰＦ）を介させて、推定駆動トルクＴdを算出することにより、駆動トルク推定を行う。そして、駆動トルク推定部７６３は、推定駆動トルクＴdをリミット値算出部７６４、フィードバック部７４２及び誤差推定部８３０へ逐次送る（図８参照）。
【０１５５】
なお、駆動トルク推定部７６３は、推定駆動トルクＴdの算出の途中段階で算出された回転速度ωの時間微分値(ｄω／ｄｔ)をフィードバック部７４２へ送る（図８参照）。
【０１５６】
リミット値算出部７６４は、リミッタ係数算出部７６１から送られたリミッタ係数ｋ、スリップ率推定部７６２から送られた推定スリップ率λ、及び、駆動トルク推定部７６３から送られた推定駆動トルクＴdに基づいて、上述した（１１）式により、リミット値Ｌを算出する。そして、リミット値算出部７６４は、算出されたリミット値Ｌをリミッタ部７６５へ逐次送る（図８参照）。
【０１５７】
リミッタ部７６５は、リミット値算出部７６４から送られたリミット値Ｌに基づいて、上述したようにして、トルク指令値Ｔcに対してリミッタ制御を行って、リミテッドトルク値ＴLを算出する。そして、リミッタ部７６５は、算出されたリミテッドトルク値ＴLをトルク設定値算出部７４３Ａへ逐次送る（図８参照）。
【０１５８】
かかる制限部７４１におけるリミテッドトルク値ＴLの算出と並行して、フィードバック部７４２が、フィードバックトルク値Ｔfを算出する。
【０１５９】
フィードバックトルク値Ｔfの算出に際しては、粘着モデル部７７１が、制限部７４１から送られた回転速度ωの時間微分値(ｄω／ｄｔ)に基づいて、上述した（１７）式により、逆算トルク値Ｔnを算出する。そして、粘着モデル部７７１は、算出された逆算トルク値Ｔnを減算部７７２へ送る（図１５参照）。
【０１６０】
引き続き、減算部７７２が、粘着モデル部７７１から送られた逆算トルク値Ｔn、及び、実トルク値取得部７３０から送られた実トルク値Ｔmに基づいて、上述した（１８）式により差分トルク値Ｔhを算出する。そして、減算部７７２は、算出された差分トルク値ＴhをＬＰＦ部７７３へ送る（図１５参照）。
【０１６１】
次に、ＬＰＦ部７７３が、減算部７７２から送られた差分トルク値Ｔhに対して、パラメータ算出部７７５により指定されている時定数τの１次遅れを付与するフィルタリング処理を施してフィルタ後トルク値Ｔafを算出する。そして、ＬＰＦ部７７３は、算出されたフィルタ後トルク値Ｔafを乗算部７７６へ送る（図１５参照）。
【０１６２】
かかるフィルタ後トルク値Ｔafの算出と並行して、摩擦係数推定部７７４が、制限部７４１から送られた推定駆動トルクＴdに基づいて、上述した（２０）式により、推定摩擦係数μを逐次算出する。そして、摩擦係数推定部７７４は、算出された推定摩擦係数μをパラメータ算出部７７５へ送る（図１５参照）。
【０１６３】
次に、パラメータ算出部７７５が、制限部７４１から送られたリミッタ係数ｋ及び推定スリップ率λ、並びに、摩擦係数推定部７７４から送られた推定摩擦係数μに基づいて、フィードバックゲインｋp及び時定数τを逐次算出する。
【０１６４】
かかるフィードバックゲインｋp及び時定数τの算出に際して、パラメータ算出部７７５は、まず、リミッタ係数ｋに基づいて、上述した（２６）式により、適応ゲイン係数ｄを算出する。引き続き、パラメータ算出部７７５は、算出された適応ゲイン係数ｄ、並びに、推定スリップ率λ及び推定摩擦係数μに基づいて、上述した（２２），（２３）式の計算を順次行うことにより、フィードバックゲインｋpを逐次算出する。そして、パラメータ算出部７７５は、算出されたフィードバックゲインｋpを乗算部７７６へ送る（図１５参照）。
【０１６５】
また、パラメータ算出部７７５は、算出されたフィードバックゲインｋpに基づいて、上述した（２８）式により時定数τを逐次算出する。そして、パラメータ算出部７７５は、算出された時定数τをＬＰＦ部７７３へ送る（図１５参照）。
【０１６６】
次いで、乗算部７７６が、ＬＰＦ部７７３から送られたフィルタ後トルク値Ｔaf、及び、パラメータ算出部７７５から送られたフィードバックゲインｋpに基づいて、上述した（２５）式により、フィードバックトルク値Ｔfを算出する。そして、乗算部７７６は、算出されたフィードバックトルク値Ｔfをトルク設定値算出部７４３Ａへ送る（図１５参照）。
【０１６７】
制限部７４１から送られたリミテッドトルク値ＴL、及び、フィードバック部７４２から送られたフィードバックトルク値Ｔfを受けたトルク設定値算出部７４３Ａは、上述した（９）式により、トルク設定値Ｔsを算出する。そして、トルク設定値算出部７４３Ａは、算出されたトルク設定値Ｔsをモータ駆動系９００へ送る（図７参照）。
【０１６８】
《非トラクション制御モード処理》
非トラクション制御モード処理では、制限部７４１のリミッタ部７６５が、トルク指令値Ｔcをリミテッドトルク値ＴLとして、トルク設定値算出部７４３Ａへ送る。なお、非トラクション制御モード処理の場合にも、制限部７４１の駆動トルク推定部７６３は、推定駆動トルクＴdの算出を行い、算出された推定駆動トルクＴdを誤差推定部８３０へ送る。
【０１６９】
また、非トラクション制御モード処理では、フィードバック部７４２が、フィードバックトルク値Ｔfを「０」として、トルク設定値算出部７４３Ａへ送る。
【０１７０】
この結果、トルク設定値算出部７４３Ａにより算出されるトルク設定値Ｔsは、トルク指令値Ｔcと同一となる。このため、非トラクション制御モード処理では、制御部７４０Ａからは、トルク設定値Ｔsとして、トルク指令値Ｔcがそのまま、モータ駆動系９００へ送られる。
【０１７１】
モータ駆動系９００では、トラクション制御装置７００Ａから送られたトルク設定値Ｔsに基づいて、トルク設定値Ｔsに対応する電流をモータ９３０に供給する。この結果、モータ９３０は、トルク設定値Ｔsに対応するトルク値で駆動される。
【０１７２】
以上説明したように、第１実施形態では、モータ９３０によって駆動される駆動輪を有する移動体ＭＶの移動速度ｖ、移動体ＭＶの駆動輪の回転速度ω、及び、モータ９３０が発生する実トルク値Ｔmを取得する。ここで、移動速度ｖ、回転速度ω及び実トルク値Ｔmは、迅速な取得が可能である。
【０１７３】
引き続き、制御部７４０Ａにおける制限部７４１が、移動速度ｖ及び回転速度ωに基づいて、迅速な演算が可能な（５）式を利用して駆動輪の推定スリップ率λを推定する。また、制限部７４１が、回転速度ω及び実トルク値Ｔmに基づいて、迅速な演算が可能な（１０）式を利用して駆動輪の推定駆動トルクＴdを推定する。
【０１７４】
次に、制限部７４１が、推定スリップ率λと推定駆動トルクＴdとに基づいて、迅速な演算が可能な（１１）式を利用して、トルク指令値Ｔcに対するリミット値Ｌを算出する。そして、制限部７４１は、リミット値Ｌを用いてトルク指令値Ｔcに対する制限処理を行って、リミテッドトルク値ＴLを算出する。
【０１７５】
かかるリミテッドトルク値ＴLの算出と並行して、制御部７４０Ａにおけるフィードバック部７４２が、各時点の回転速度ωの時間微分値(ｄω／ｄｔ)及び実トルク値Ｔm、並びに、各時点の回転速度ω及び移動速度ｖから得られた推定スリップ率λに基づいて、迅速な演算が可能な（１７）〜（２０），（２２），（２３），（２６），（２８）式を適宜利用してフィードバックトルク値Ｔfを算出する。なお、フィードバック部７４２は、粘着モデルに基づいて、路面状態と走行状態とも組み合わせに対して適応的にフィードバックトルク値Ｔfを算出する。
【０１７６】
引き続き、トルク設定値算出部７４３Ａが、リミテッドトルク値ＴL及びフィードバックトルク値Ｔfに基づいて、（９）式により、トルク設定値Ｔsを算出する。そして、トルク設定値算出部７４３Ａが、算出されたトルク設定値Ｔsをモータ駆動系９００へ送る。
【０１７７】
このため、第１実施形態によれば、制限部７４１のフィードフォワード制御によるトルク設定値Ｔsの制限と、フィードバック部７４２のフィードバック制御とによるトルク設定値Ｔsの低減が行われる。したがって、第１実施形態によれば、凍結路面でのスリップ率λの増大防止と、乾燥路面での十分なトルク出力とを両立することができる。
【０１７８】
また、第１実施形態では、リミッタ係数ｋを、推定駆動トルクＴdの推定誤差割合ａと、推定スリップ率λの推定誤差割合ｂとに基づいて、（１６）式により算出する。そして、フィードバック部７４２におけるフィードバックゲインｋp及び１次遅れの時定数τを、（２０），（２２），（２３），（２６），（２８）式を適宜利用して算出する。このため、推定駆動トルクＴd及び推定スリップ率λに誤差が含まれる場合であっても、適切なトラクション制御を行うことができる。
【０１７９】
［第２実施形態］
次に、本発明の第２実施形態を、図２３及び図２４を主に参照して説明する。
【０１８０】
図２３には、第２実施形態に係るトラクション制御装置７００Ｂの構成及び位置付けが示されている。この図２３に示されるように、トラクション制御装置７００Ｂは、互いに独立に駆動可能な４つの駆動輪である左前側駆動輪ＷＨFL、右前側駆動輪ＷＨFR、左後側駆動輪ＷＨRL及び右後側駆動輪ＷＨRRの４個の駆動輪を有する移動体ＭＶ内に配置される。
【０１８１】
移動体ＭＶには、トラクション制御装置７００Ｂに加えて、トルク指令値生成部８１０、加速度検出部８２０、誤差推定部８３０及びモータ駆動系９００FL〜９００RRが配置されている。ここで、モータ駆動系９００j（ｊ＝ＦＬ〜ＲＲ）のそれぞれは、上述した第１実施形態において説明したモータ駆動系９００と同様に構成されている。
【０１８２】
すなわち、モータ駆動系９００jは、上述した駆動制御部９１０と同様の機能を有する駆動制御部９１０jと、上述したインバータ９２０と同様の機能を有するインバータ９２０jと、上述したモータ９３０と同様の機能を有するモータ９３０jとを備えている。また、モータ駆動系９００jは、上述した回転位置検出部９４０と同様の機能を有する回転位置検出部９４０jと、上述した電流検出部９５０と同様の機能を有する電流検出部９５０jを備えている。
【０１８３】
ここで、駆動制御部９１０jは、トラクション制御装置７００Ｂから送られたトルク設定値ＣＴs,j、回転位置検出部９４０jにより検出された回転位置θj、及び、電流検出部９５０jにより検出された検出電流値ＩD,jに基づいて、駆動電圧を算出する。そして、駆動制御部９１０jは、算出された駆動電圧を、インバータ９２０jへ送る。
【０１８４】
また、回転位置検出部９４０jは、モータ９３０jの回転位置θjを検出する。そして、回転位置検出部９４０jは、検出された回転位置θjを、トラクション制御装置７００Ｂ及び駆動制御部９１０jへ送る。
【０１８５】
また、電流検出部９５０jは、モータ９３０jを流れる電流値を検出する。そして、電流検出部９５０jは、検出された電流値を、検出電流値ＩD,jとして、トラクション制御装置７００Ｂ及び駆動制御部９１０jへ送る。
【０１８６】
なお、トルク指令値生成部８１０からは、４個の駆動輪ＷＨFL〜ＷＨRRに対応して、トルク指令値Ｔc,FL〜Ｔc,RRが、トラクション制御装置７００Ｂへ送られる。
【０１８７】
また、誤差推定部８３０は、４個の駆動輪ＷＨFL〜ＷＨRRに対応して、推定誤差割合ａFL〜ａRR及び推定誤差割合ｂFL〜ｂRRを推定し、推定結果をトラクション制御装置７００Ｂへ送る。
【０１８８】
＜トラクション制御装置７００Ｂの構成＞
図２３に示されるように、トラクション制御装置７００Ｂは、上述した第１実施形態のトラクション制御装置７００Ａと比べて、制御部７４０Ａに代えて制御部７４０Ｂを備える点が異なっている。以下、この相違点に主に着目して説明する。
【０１８９】
なお、第２実施形態における回転速度取得部７２０は、回転位置検出部９４０jから送られた回転位置θjを受ける。そして、回転速度取得部７２０は、回転位置θの時間微分を行って、回転速度ωjを取得する。こうして取得された回転速度ωjは、制御部７４０Ｂ及び誤差推定部８３０へ送られる。
【０１９０】
また、第２実施形態における実トルク値取得部７３０は、電流検出部９５０jから送られた検出電流値ＩD,jを受ける。引き続き、実トルク値取得部７３０は、検出電流値ＩD,jに基づいてモータ電流値Ｉm,jを算出する。なお、モータ電流値Ｉm jは検出電流値ＩD,jの大きさを示しており、Ｉm,j＝｜ＩD,j｜である。
【０１９１】
次に、実トルク値取得部７３０は、上述した（１）式を利用して実トルク値Ｔm,jを算出することにより、実トルク値Ｔm,jを取得する。こうして取得された実トルク値Ｔm,jは、制御部７４０Ｂへ送られる。
【０１９２】
上記の制御部７４０Ｂは、図２４に示されるように、個別制御部７８１FL〜７８１RRと、共通トルク設定値算出部７８２とを備えている。
【０１９３】
上記の個別制御部７８１j（ｊ＝ＦＬ〜ＲＲ）のそれぞれは、上述した制御部７４０Ａと同様に構成される。個別制御部７８１jは、トルク指令値生成部８１０から送られたトルク指令値Ｔc,j、及び、誤差推定部８３０から送られた推定誤差割合ａj，ｂjを受ける。引き続き、個別制御部７８１jは、移動速度ｖ、回転速度ωj及び実トルク値Ｔm,jに基づいて、トルク指令値Ｔc,jに対してリミッタ制御を行ってリミテッドトルク値ＴL,jを算出する。また、個別制御部７８１jは、実トルク値Ｔm,j、並びに、リミテッドトルク値ＴL,jの算出の途中段階で得られた回転速度ωjの時間微分値（ｄωj／ｄｔ）及びリミッタ係数ｋjに基づいてフィードバックトルクＴf,jを生成する。そして、個別制御部７８１jは、フィードバックトルクＴf,j及びリミテッドトルク値ＴL,jに基づいて個別トルク設定値Ｔs,jを算出し、算出された個別トルク設定値Ｔs,jを共通トルク設定値算出部７８２へ送る。
【０１９４】
なお、個別制御部７８１jは、トラクション制御を行うべき旨が指定されていない場合には、トルク指令値Ｔc,jを、個別トルク設定値Ｔs,jとして、共通トルク設定値算出部７８２へ送るようになっている。
【０１９５】
また、個別制御部７８１jは、推定駆動トルクＴd,jを誤差推定部８３０へ送る。なお、個別制御部７８１jは、トラクション制御を行うべき旨の指定の有無にかかわらず、推定駆動トルクＴd,jの算出を行い、算出された推定駆動トルクＴd,jを誤差推定部８３０へ送るようになっている。
【０１９６】
上記の共通トルク設定値算出部７８２は、個別制御部７８１jから送られた個別トルク設定値Ｔs,jを受ける。そして、共通トルク設定値算出部７８２は、トラクション制御を行うべき旨が指定されていない場合には、個別トルク設定値Ｔs,jを、トルク設定値ＣＴs,jとしてモータ駆動系９００jへ送る。
【０１９７】
一方、トラクション制御を行うべき旨が指定されている場合には、共通トルク設定値算出部７８２は、個別トルク設定値Ｔs,FL〜Ｔs,RRのうちの最小値を抽出する。引き続き、共通トルク設定値算出部７８２は、トルク設定値ＣＴs,FL〜ＣＴs,RRの全てを、抽出された最小値Ｔs,minに設定する。共通トルク設定値算出部７８２は、最小値Ｔs,minに設定されたトルク設定値ＣＴs,jをモータ駆動系９００jへ送る。
【０１９８】
＜動作＞
次に、上記のように構成されたトラクション制御装置７００Ｂの動作について、トラクション制御を行うべき旨が指定されている場合の制御部７４０Ｂにおけるトラクション制御モード処理に主に着目して説明する。
【０１９９】
なお、トルク指令値生成部８１０、加速度検出部８２０、誤差推定部８３０及びモータ駆動系９００jは、既に動作を開始しており、トルク指令値Ｔc,j、加速度α、推定誤差割合ａj，ｂj、回転位置θj及び検出電流値ＩD,jが、逐次、トラクション制御装置７００Ｂへ送られているものとする（図２３参照）。
【０２００】
トラクション制御装置７００Ｂでは、移動速度取得部７１０が、加速度検出部８２０から送られた加速度αの時間積分を行って、移動速度ｖを取得する。そして、移動速度取得部７１０は、取得された移動速度ｖを制御部７４０Ｂ及び誤差推定部８３０へ逐次送る（図２３参照）。
【０２０１】
また、回転速度取得部７２０が、回転位置検出部９４０jから送られた回転位置θjの時間微分を行って、回転速度ωjを取得する。そして、回転速度取得部７２０は、取得された回転速度ωjを制御部７４０Ｂ及び誤差推定部８３０へ逐次送る（図２３参照）。
【０２０２】
また、実トルク値取得部７３０が、電流検出部９５０jから送られた検出電流値ＩD,jに基づいて実トルク値Ｔm,jを算出することにより、実トルク値Ｔm,jの取得を行う。そして、実トルク値取得部７３０は、取得された実トルク値Ｔm,jを制御部７４０Ｂへ逐次送る（図２３参照）。
【０２０３】
＜トラクション制御モード処理＞
トラクション制御モード処理では、制御部７４０Ｂにおいて、個別制御部７８１jが、上述した制御部７４０Ａと同様の処理を行って、個別トルク設定値Ｔs,jを算出する。そして、個別制御部７８１jは、算出された個別トルク設定値Ｔs,jを共通トルク設定値算出部７８２へ送る。
【０２０４】
個別制御部７８１FL〜７８１RRから送られた個別トルク設定値Ｔs,FL〜Ｔs,RRを受けると、共通トルク設定値算出部７８２は、個別トルク設定値Ｔs,FL〜Ｔs,RRのうちの最小値を抽出する。引き続き、共通トルク設定値算出部７８２は、トルク設定値ＣＴs,FL〜ＣＴs,RRの全てを、抽出された最小値Ｔs,minに設定する。そして、共通トルク設定値算出部７８２は、最小値Ｔs,minに設定されたトルク設定値ＣＴs,jをモータ駆動系９００jへ送る。
【０２０５】
なお、個別制御部７８１jは、個別トルク設定値Ｔs,jの算出の途中段階で算出された推定駆動トルクＴd,jを誤差推定部８３０へ送る。
【０２０６】
＜非トラクション制御モード処理＞
非トラクション制御モード処理では、制御部７４０Ｂにおいて、個別制御部７８１jが、トルク指令値Ｔc,jをそのまま、個別トルク設定値Ｔs,jとする。そして、個別制御部７８１jは、個別トルク設定値Ｔs,j（＝Ｔc,j）を共通トルク設定値算出部７８２へ送る。
【０２０７】
個別制御部７８１FL〜７８１RRから送られた個別トルク設定値Ｔs,FL〜Ｔs,RRを受けると、共通トルク設定値算出部７８２は、個別トルク設定値Ｔs,FL〜Ｔs,RRをそのままトルク設定値ＣＴs,FL〜ＣＴs,RRとする。なお、非トラクション制御モード処理の場合にも、個別制御部７８１jは、推定駆動トルクＴd,jの算出を行い、算出された推定駆動トルクＴd,jを誤差推定部８３０へ送る。
【０２０８】
個別制御部７８１FL〜７８１RRから送られた個別トルク設定値Ｔs,FL〜Ｔs,RRを受けると、共通トルク設定値算出部７８２は、個別トルク設定値Ｔs,jをそのまま、トルク設定値ＣＴs,jとしてモータ駆動系９００jへ送る。この結果、モータ駆動系９００jへは、トルク指令値Ｔc,jが、そのまま送られる。
【０２０９】
モータ駆動系９００jでは、トラクション制御装置７００Ｂから送られたトルク設定値ＣＴs,jに基づいて、トルク設定値ＣＴs,jに対応する電流をモータ９３０jに供給する。この結果、モータ９３０jは、トルク設定値ＣＴs,jに対応する実トルク値で駆動される。
【０２１０】
以上説明したように、第２実施形態によれば、上述した第１実施形態の場合と同様に、必要な駆動力を確保しつつ安定な走行のための制御を、路面状態の変化に応じて迅速に実現することができる。
【０２１１】
また、第２実施形態では、複数の駆動輪のそれぞれについて算出された個別設定トルク値の中の最小値を、複数の駆動輪の全てのトルク設定値とする。この場合には、複数の駆動輪間におけるトルク設定値の差を抑制できるので、安定な走行を確保することができる。例えば、道路の左側のみ凍結しているような路面を走行する場合に、左側の駆動輪を対象として算出したトルク設定値が右側の駆動輪にも適応されるため、左右トルクのアンバランスが回避され、移動体の向きが変化することを防止できる。
【０２１２】
［実施形態の変形］
本発明は、上記の実施形態に限定されるものではなく、様々な変形が可能である。
【０２１３】
例えば、上記の第１及び第２実施形態では、移動速度の取得に際して加速度センサを利用するようにしたが、光学式対地センサを利用するようにしてもよい。
【０２１４】
また、上記の第１及び第２実施形態では、モータの実トルク値Ｔｍを（１）式から求めたが、上述したモータのトルク応答の時定数τmを利用して、トルク設定値Ｔsにトルク応答特性を乗じる次の（２９）式により、実トルク値Ｔｍを算出するようにしてもよい。
Ｔｍ＝Ｔs・（１／（τｍ・ｓ＋１））            …（２９）
【０２１５】
また、上記の第１及び第２実施形態では、トラクション制御装置が誤差推定部を備えない構成とした。これに対し、トラクション制御装置が誤差推定部を備えるようにしてもよい。
【０２１６】
また、上記の第１及び第２実施形態では、推定誤差範囲に基づいてリミッタ係数を算出するようにした。これに対して、推定スリップ率及び推定駆動トルクの誤差の変化が小さい場合には、リミッタ係数を固定値としてもよい。
【０２１７】
また、上記の第１実施形態における制御部７４０Ａに代えて、図２５に示される構成の制御部７４０Ｃを採用してもよい。
【０２１８】
制御部７４０Ｃは、上述した制御部７４０Ａと比べて、トルク設定値算出部７４３Ａに代えてトルク設定値算出部７４３Ｃを備える点が異なっている。このトルク設定値算出部７４３Ｃは、減算部７５２，７５３，７５４を備えて構成されている。
【０２１９】
上記の減算部７５２は、トルク指令値生成部８１０から送られたトルク指令値Ｔc、及び、フィードバック部７４２から送られたフィードバックトルク値Ｔｆを受ける。そして、減算部７５２は、第１差分値（Ｔc−Ｔｆ）を算出する。
【０２２０】
上記の減算部７５３は、トルク指令値生成部８１０から送られたトルク指令値Ｔc、及び、制限部７４１から送られたリミテッドトルク値ＴLを受ける。そして、減算部７５３は、第２差分値（Ｔc−ＴL）を算出する。
【０２２１】
上記の減算部７５４は、減算部７５２から送られた第１差分値（Ｔc−Ｔf）、及び、減算部７５３から送られた第２差分値（Ｔc−ＴL）を受ける。そして、減算部７５４は、次の（３０）式により、トルク設定値Ｔsを算出し、算出されたトルク設定値Ｔsをモータ駆動系９００へ送る。
Ｔs＝（Ｔc−Ｔf）−（Ｔc−ＴL）        …（３０）
【０２２２】
ここで、（３０）式の右辺は、（ＴL−Ｔf）となるので、制御部７４０Ｃにより算出されるトルク設定値は、制御部７４０Ａにより算出されるトルク設定値と同一となる。このため、制御部７４０Ｃを制御部７４０Ａに代えて採用したトラクション制御装置によれば、上述した第１実施形態の場合と同様に効果を奏することができる。
【０２２３】
なお、制御部７４０Ａから制御部７４０Ｃへの変形と同様の変形を、第２実施形態に施してもよい。
【０２２４】
また、上記の第１及び第２実施形態では、インホイールモータのように、トルク設定値に対する駆動輪の駆動トルクの応答速度が速い場合を想定した。これに対し、トルク設定値に対する駆動輪の駆動トルクの応答が迅速とはいえない場合にも本発明を適用してもよい。
【０２２５】
なお、上記の実施形態のトラクション制御装置を、中央処理装置（ＣＰＵ：Central Processing Unit）、ＤＳＰ（Digital Signal Processor）等を備えた演算手段としてのコンピュータとして構成し、予め用意されたプログラムを当該コンピュータで実行することにより、上記の実施形態のトラクション制御装置の機能の一部又は全部を実行するようにしてもよい。このプログラムはハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、当該コンピュータによって記録媒体からロードされて実行される。また、このプログラムは、ＣＤ−ＲＯＭ、ＤＶＤ等の可搬型記録媒体に記録された形態で取得されるようにしてもよいし、インターネットなどのネットワークを介した配信の形態で取得されるようにしてもよい。
【実施例】
【０２２６】
次に、本発明の一実施例を、図２６〜図３０を主に参照して説明する。なお、以下の説明においては、上述した実施形態を含めて、同一又は同等の要素には同一の符号を付し、重複する説明を極力省略する。【０２２７】
［構成］
図２６には、一実施例に係るトラクション制御装置１００の構成が概略的に示されている。このトラクション制御装置１００は、上述した第２実施形態に係るトラクション制御装置７００Ｂの一態様となっている。【０２２８】
図２６に示されるように、トラクション制御装置１００は、移動体ＭＶとしての車両ＣＲ内に配置される。なお、車両ＣＲは、互いに独立に駆動可能な４つの駆動輪である左前側駆動輪ＷＨFL、右前側駆動輪ＷＨFR、左後側駆動輪ＷＨRL及び右後側駆動輪ＷＨRRの４個の駆動輪を備えている。【０２２９】
車両ＣＲには、トラクション制御装置１００に加えて、トルク指令値生成部８１０、加速度検出部８２０、誤差推定部８３０及びモータ駆動系９００FL〜９００RRが配置されている。ここで、モータ駆動系９００j（ｊ＝ＦＬ〜ＲＲ）のそれぞれは、上述した第２実施形態において説明したモータ駆動系９００jと同様に構成されている。【０２３０】
＜トラクション制御装置１００の構成＞
トラクション制御装置１００は、制御ユニット１１０と、記憶ユニット１２０とを備えている。【０２３１】
上記の制御ユニット１１０は、演算手段としての中央処理装置（ＣＰＵ）、ＤＳＰ（Digital Signal Processor）を備えて構成される。この制御ユニット１１０は、プログラムを実行することにより、上述した第２実施形態における移動速度取得部７１０、回転速度取得部７２０、実トルク値取得部７３０及び制御部７４０Ｂとしての機能を果たすようになっている。【０２３２】
制御ユニット１１０が実行するプログラムは、記憶ユニット１２０に記憶され、記録ユニットからロードされて実行される。このプログラムは、ＣＤ−ＲＯＭ、ＤＶＤ等の可搬型記録媒体に記録された形態で取得されるようにしてもよいし、インターネットなどのネットワークを介した配信の形態で取得されるようにしてもよい。【０２３３】
なお、制御ユニット１１０が実行する処理については、後述する。【０２３４】
上記の記憶ユニット１２０には、制御ユニット１１０が利用する様々な情報データが記憶される。こうした情報データには、制御ユニット１１０が実行するプログラムが含まれている。この記憶ユニット１２０には、制御ユニット１１０がアクセスできるようになっている。【０２３５】
＜駆動制御部９１０j及び電流検出部９５０jの構成＞
ここで、本実施例の駆動制御部９１０j及び電流検出部９５０jについて、図２７を参照して、より詳しく説明する。なお、本実施例では、モータ９３０jは、３相モータとなっている。【０２３６】
まず、駆動制御部９１０jについて説明する。この駆動制御部９１０jは、ベクトル制御により、モータ９３０jの駆動を制御する。かかる機能を有する駆動制御部９１０jは、電流指令値生成部９１１と、減算部９１２d，９１２qと、比例及び積分（ＰＩ）演算部９１３d，９１３qとを備えている。また、駆動制御部９１０jは、座標変換部９１４と、パルス幅変調（ＰＷＭ）部９１５とを備えている。【０２３７】
上記の電流指令値生成部９１１は、トラクション制御装置１００から送られたトルク設定値ＣＴs,jを受ける。そして、電流指令値生成部９１１は、トルク設定値ＣＴs,jのモータトルクを発生させるべく、ｄ軸電流指令値Ｉd,j＊及びｑ軸電流指令値Ｉq,j＊を生成する。こうして生成されたｄ軸電流指令値Ｉd,j＊は、減算部９１２dへ送られるとともに、ｑ軸電流指令値Ｉq,j＊は、減算部９１２qへ送られる【０２３８】
上記の減算部９１２dは、電流指令値生成部９１１から送られたｄ軸電流指令値Ｉd,j＊を受ける。そして、減算部９１２dは、電流検出部９５０jから送られたｄ軸検出電流値Ｉd,jを、ｄ軸電流指令値Ｉd,j＊から差し引く。減算部９１２dによる減算結果は、ＰＩ演算部９１３dへ送られる。【０２３９】
上記の減算部９１２qは、電流指令値生成部９１１から送られたｑ軸電流指令値Ｉq,j＊を受ける。そして、減算部９１２qは、電流検出部９５０jから送られたｑ軸検出電流値Ｉq,jを、ｑ軸電流指令値Ｉq,j＊から差し引く。減算部９１２qによる減算結果は、ＰＩ演算部９１３qへ送られる。【０２４０】
上記のＰＩ演算部９１３dは、減算部９１２dから送られた減算結果を受ける。そして、ＰＩ演算部９１３dは、当該減算結果に基づいて比例及び積分演算を行い、ｄ軸電圧指令値Ｖd,j＊を算出する。ＰＩ演算部９１３dにより算出されたｄ軸電圧指令値Ｖd,j＊は、座標変換部９１４へ送られる。【０２４１】
上記のＰＩ演算部９１３qは、減算部９１２qから送られた減算結果を受ける。そして、ＰＩ演算部９１３qは、当該減算結果に基づいて比例及び積分演算を行い、ｑ軸電圧指令値Ｖq,j＊を算出する。ＰＩ演算部９１３qにより算出されたｑ軸電圧指令値Ｖq,j＊は、座標変換部９１４へ送られる。【０２４２】
上記の座標変換部９１４は、ＰＩ演算部９１３dから送られたｄ軸電圧指令値Ｖd,j＊、及び、ＰＩ演算部９１３qから送られたｑ軸電圧指令値Ｖq,j＊を受ける。そして、座標変換部９１４は、回転位置検出部９４０jから送られた回転位置θjを参照して、ｄ軸電圧指令値Ｖd,j＊及びｑ軸電圧指令値Ｖq,j＊に対して座標変換を施して、ｕ軸制御電圧値Ｖu,j＊、ｖ軸制御電圧値Ｖv,j＊及びｗ軸制御電圧値Ｖw,j＊を算出する。座標変換部９１４による算出結果は、ＰＷＭ部９１５へ送られる。【０２４３】
上記のＰＷＭ部９１５は、座標変換部９１４から送られた３相制御電圧を受ける。そして、ＰＷＭ部９１５は、当該３相制御電圧に対してパルス幅変調を施して、３相ＰＷＭ信号を生成する。こうして生成された３相ＰＷＭ信号は、インバータ９２０jへ送られる。【０２４４】
次いで、電流検出部９５０jについて説明する。この電流検出部９５０jは、電流検出器９５１と、座標変換部９５２とを備えている。【０２４５】
上記の電流検出器９５１は、モータ９３０jを流れるｕ軸電流値及びｖ軸電流値を検出する。そして、電流検出器９５１は、検出結果を、ｕ軸検出電流値Ｉu,j及びｖ軸検出電流値Ｉv,jとして、座標変換部９５２へ送る。なお、ｗ軸電流値（Ｉw,j）を検出してもよいが、「Ｉu,j＋Ｉv,j＋Ｉw,j＝０」との関係が成立しているため、ｗ軸電流値（Ｉw,j）を検出しなくても済む。【０２４６】
上記の座標変換部９５２は、電流検出器９５１から送られたｕ軸検出電流値Ｉu,j及びｖ軸検出電流値Ｉv,jを受ける。そして、座標変換部９５２は、回転位置検出部９４０jから送られた回転位置θjを参照して、ｕ軸検出電流値Ｉu,j及びｖ軸検出電流値Ｉv,jに対して座標変換を施して、ｄ軸検出電流値Ｉd,j及びｑ軸検出電流値Ｉq,jを算出する。座標変換部９５２による算出結果は、検出電流値ＩD,jとして、トラクション制御装置１００及び駆動制御部９１０jへ送られる。【０２４７】
なお、ＩD,jの大きさ｜ＩD,j｜は、次の（３１）式により算出される。
｜ＩD,j｜＝（Ｉd,j２+Ｉq,j２）1/2          …（３１）【０２４８】
［動作］
次に、上記のように構成されたトラクション制御装置１００によるトラクション制御の動作について、制御ユニット１１０による処理に着目して説明する。【０２４９】
なお、トルク指令値生成部８１０、加速度検出部８２０、誤差推定部８３０及びモータ駆動系９００jは、既に動作を開始しており、トルク指令値Ｔc,j、加速度α、推定誤差割合ａj，ｂj、回転位置θj及び検出電流値ＩD,jが、逐次、トラクション制御装置１００へ送られているものとする（図２３参照）。【０２５０】
トラクション制御は、不図示の入力部を介して、利用者がトラクション制御の開始指令を入力することにより、開始される。かかるトラクション制御に際しては、図２８に示されるように、まず、ステップＳ１１において、制御ユニット１１０が、当該入力部を介して、トラクション制御の中止指令を受けたか否かを判定する。ステップＳ１１における判定の結果が否定的であった場合（ステップＳ１１：Ｎ）には、処理はステップＳ１２へ進む。【０２５１】
ステップＳ１２では、制御ユニット１１０が、４個の駆動輪ＷＨFL〜ＷＨRRのそれぞれに対応するリミット値ＬFL〜ＬRRを算出する。なお、ステップＳ１２におけるリミット値ＬFL〜ＬRRの算出処理については、後述する。【０２５２】
引き続き、ステップＳ１３において、制御ユニット１１０が、算出されたリミット値ＬFL〜ＬRRを利用して、４個の駆動輪ＷＨFL〜ＷＨRRのそれぞれに対応するリミテッドトルク値ＴL,FL〜ＴL,RRを算出する。【０２５３】
次に、ステップＳ１４において、制御ユニット１１０が、４個の駆動輪ＷＨFL〜ＷＨRRのそれぞれに対応するフィードバックトルク値Ｔf,FL〜Ｔf,RRを算出する。なお、ステップＳ１４におけるフィードバックトルク値Ｔf,FL〜Ｔf,RRの算出処理については、後述する。【０２５４】
次いで、ステップＳ１５において、制御ユニット１１０が、リミテッドトルク値ＴL,FL〜ＴL,RR及びフィードバックトルク値Ｔf,FL〜Ｔf,RRに基づいて、上述した（９）式により、個別トルク設定値Ｔs,FL〜Ｔs,RRを算出する。引き続き、ステップＳ１６において、制御ユニット１１０が、個別トルク設定値Ｔs,FL〜Ｔs,RRのうちの最小値を抽出する。【０２５５】
次に、制御ユニット１１０が、トルク設定値ＣＴs,FL〜ＣＴs,RRの全てを、抽出された最小値Ｔs,minに設定する。そして、制御ユニット１１０は、最小値Ｔs,minに設定されたトルク設定値ＣＴs,jをモータ駆動系９００jへ逐次出力する（図２６参照）。【０２５６】
ステップＳ１７の処理が終了すると、処理はステップＳ１１へ戻る。以後、ステップＳ１１における判定の結果が肯定的となるまで、ステップＳ１１〜Ｓ１７の処理が繰り返される。【０２５７】
トラクション制御の中止指令を受け、ステップＳ１１における判定の結果が肯定的となると（ステップＳ１１：Ｙ）、処理はステップＳ１８へ進む。このステップＳ１８では、制御ユニット１１０が、リミッタ解除を行う。引き続き、ステップＳ１９において、フィードバックトルク値のクリアを行う。そして、トラクション制御処理が終了する。この結果、トルク指令値Ｔc,jが、トルク設定値ＣＴs,jとして、モータ駆動系９００jへ出力されるようになる。【０２５８】
＜リミット値ＬFL〜ＬRRの算出処理＞
次に、ステップＳ１２におけるリミット値ＬFL〜ＬRRの算出処理について説明する。【０２５９】
リミット値Ｌjの算出処理に際しては、図２９に示されるように、まず、ステップＳ２１において、制御ユニット１１０が、加速度α、回転位置θj、検出電流値ＩD,j及び推定誤差割合ａj，ｂjを取得する。そして、制御ユニット１１０は、加速度αの時間積分を行って車速（移動速度）ｖを取得し、回転位置θjの時間微分を行って回転速度ωjを取得するとともに、検出電流値ＩD,jに基づいて実トルク値Ｔm,jを取得する。【０２６０】
次に、ステップＳ２２において、制御ユニット１１０が、車速ｖ及び回転速度ωjに基づき、上述した（５）式により、推定スリップ率λjを算出することにより、スリップ率推定を行う。引き続き、ステップＳ２３において、制御ユニット１１０が、回転速度ωj及び実トルク値Ｔm,jに基づき、上述した（１０）式を利用して推定駆動トルクＴd,jを算出することにより、駆動トルク推定を行う。【０２６１】
次いで、ステップＳ２４において、制御ユニット１１０が、上述した（１６）式に基づいて、リミッタ係数ｋjを算出する。引き続き、ステップＳ２５において、制御ユニット１１０が、リミッタ係数ｋj、推定スリップ率λj及び推定駆動トルクＴd,jに基づき、上述した（１２）式を利用して、リミット値Ｌjを算出する。【０２６２】
ステップＳ２５の処理が終了すると、ステップＳ１２の処理が終了する。そして、処理は、上述した図２８のステップＳ１３へ進む。【０２６３】
＜フィードバックトルク値Ｔf,FL〜Ｔf,RRの算出処理＞
次に、ステップＳ１４におけるフィードバックトルク値Ｔf,FL〜Ｔf,RRの算出処理について説明する。【０２６４】
フィードバックトルク値Ｔf,j（ｊ＝ＦＬ〜ＲＲ）の算出処理に際しては、図３０に示されるように、まず、ステップＳ３１において、制御ユニット１１０が、実トルク値Ｔm,j、並びに、リミット値Ｌjの算出の途中段階で得られた回転速度ωjの微分値（ｄωj／ｄｔ）、推定スリップ率λj、推定駆動トルクＴd,j及びリミッタ係数ｋjを取得する。引き続き、ステップＳ３２において、制御ユニット１１０が、差分トルクＴh,jを算出する。【０２６５】
かかる差分トルクＴh,jの算出に際しては、制御ユニット１１０は、まず、微分値（ｄωj／ｄｔ）に基づき、上述した（１７）式を利用して逆算トルク値Ｔn,jを算出する。引き続き、制御ユニット１１０が、逆算トルク値Ｔn,j及び実トルク値Ｔm,jに基づいて、上述した（１８）式を利用して差分トルク値Ｔh,jを算出する。【０２６６】
次に、ステップＳ３３において、制御ユニット１１０が、推定駆動トルクＴd,jに基づいて、上述した（２０）式を利用して推定摩擦係数μjを算出する。引き続き、ステップＳ３４において、制御ユニット１１０が、リミッタ係数ｋjに基づき、上述した（２６）式を利用して適応ゲイン係数ｄjを算出する。【０２６７】
次いで、ステップＳ３５において、制御ユニット１１０が、適応ゲイン係数ｄ、推定スリップ率λ及び推定摩擦係数μに基づいて、上述した（２２），（２３）式の計算を順次行うことにより、フィードバックゲインｋp,jを算出する。引き続き、ステップＳ３６において、制御ユニット１１０が、フィードバックゲインｋp,jに基づき、上述した（２８）式を利用して時定数τjを算出する。【０２６８】
次に、ステップ３７において、制御ユニット１１０が、差分トルク値Ｔh,j、時定数τj及びフィードバックゲインｋp,jに基づいて、フィードバックトルク値Ｔf,jを算出する。かかるフィードバックトルク値Ｔf,jの算出に際して、制御ユニット１１０は、まず、差分トルク値Ｔh,jに対して、時定数τjの１次遅れを付与することにより、フィルタ後トルク値Ｔaf,jを算出する。引き続き、制御ユニット１１０は、フィルタ後トルク値Ｔaf,j及びフィードバックゲインｋp,jに基づき、上述した（２５）式を利用してフィードバックトルク値Ｔf,jを算出する。【０２６９】
ステップＳ３７の処理が終了すると、ステップＳ１４の処理が終了する。そして、処理は、上述した図２８のステップＳ１５へ進む。【０２７０】
以上説明したように、本実施例では、モータ９３０jによって駆動される駆動輪を有する移動体ＭＶの移動速度ｖ、移動体ＭＶの駆動輪の回転速度ωj、及び、モータ９３０jを駆動する実トルク値Ｔm,jを取得する。ここで、移動速度ｖ、回転速度ωj及び実トルク値Ｔm,jは、迅速な取得が可能である。【０２７１】
引き続き、制御ユニット１１０が、移動速度ｖ及び回転速度ωjに基づいて、迅速な演算が可能な（５）式を利用して駆動輪の推定スリップ率λjを推定する。また、制御ユニット１１０が、回転速度ωj及び実トルク値Ｔm,jに基づいて、迅速な演算が可能な（１０）式を利用して駆動輪の推定駆動トルクＴd,jを推定する。【０２７２】
次に、制御ユニット１１０が、推定スリップ率λjと推定駆動トルクＴd,jとに基づいて、迅速な演算が可能な（１１）式を利用して、トルク指令値Ｔc,jに対するリミット値Ｌjを算出する。そして、制御ユニット１１０が、リミット値Ｌjを用いてトルク指令値Ｔc,jに対する制限処理を行って、リミテッドトルク値ＴL,jを算出する。【０２７３】
かかるリミテッドトルク値ＴL,jの算出と並行して、制御ユニット１１０が、各時点の回転速度ωj及び実トルク値Ｔm,jに基づいて、迅速な演算が可能な（１７）〜（２０），（２２），（２３），（２６），（２８）式を適宜利用してフィードバックトルク値Ｔf,jを算出する。なお、制御ユニット１１０は、粘着モデルに基づいて、フィードバックトルク値Ｔf,jを算出する。【０２７４】
次に、制御ユニット１１０が、リミテッドトルク値ＴL,j及びフィードバックトルク値Ｔf,jに基づいて、（９）式により、個別トルク設定値Ｔs,jを算出する。引き続き、制御ユニット１１０が、個別トルク設定値Ｔs,FL〜Ｔs,RRのうちの最小値を抽出し、トルク設定値ＣＴs,FL〜ＣＴs,RRの全てを、抽出された最小値Ｔs,minに設定する。そして、制御ユニット１１０が、最小値Ｔs,minに設定されたトルク設定値ＣＴs,jをモータ駆動系９００jへ送る。【０２７５】
したがって、必要な駆動力を確保しつつ安定な走行のための制御を、路面状態の変化に応じて迅速に実現することができる。【０２７６】
また、本実施例では、複数の駆動輪のそれぞれについて算出された個別設定トルク値の中の最小値を、複数の駆動輪の全てのトルク設定値とする。この場合には、複数の駆動輪間におけるトルク設定値の差を抑制できるので、安定な走行を確保することができる。例えば、道路の左側のみ凍結しているような路面を走行する場合に、左側の駆動輪を対象として算出したリミット値が右側の駆動輪にも適応されるため、左右トルクのアンバランスが回避され、車体の向きが変化することを防止できる。【０２７７】
［実施例の変形］
本発明は、上記の実施例に限定されるものではなく、様々な変形が可能である。【０２７８】
例えば、上記の実施例では、移動速度の取得に際して加速度センサを利用するようにしたが、光学式対地センサを利用するようにしてもよい。【０２７９】
また、図２７で説明したように、ｄ軸検出電流値Ｉd,j及びｑ軸検出電流値Ｉq,jは、それぞれｄ軸電流指令値Ｉd,j＊及びｑ軸電流指令値Ｉq,j＊と同じになるように制御が行われる。したがって、ＰＩ演算とモータ特性とによる応答時間の遅れがあるが、結果として実トルク値Ｔm,jは、トルク設定値ＣＴs,jと等しくなるように制御される。このため、上記の実施例では、モータの実トルク値Ｔm,jを（１）式から求めたが、上述したモータのトルク応答の時定数τm,jを利用して、トルク設定値ＣＴs,jにトルク応答特性を乗じる次の（３２）式により、実トルク値Ｔm,jを算出するようにしてもよい。
Ｔm,j＝ＣＴs,j・（１／（τm,j・ｓ＋１））            …（３２）
ここで、値τm,jは、トルク応答の時定数である。【０２８０】
また、上記の実施例では、トラクション制御装置が誤差推定部を備えない構成とした。これに対し、トラクション制御装置が誤差推定部を備えるようにしてもよい。【０２８１】
また、上記の実施例では、推定誤差範囲に基づいてリミッタ係数を算出するようにした。これに対して、推定スリップ率及び推定駆動トルクの誤差の変化が小さい場合には、リミッタ係数を固定値としてもよい。【０２８２】
また、制御部７４０Ａから制御部７４０Ｃへの変形と同様の変形を、上記の実施例に対して施してもよい。
【図１】
0005994194.tif 000003
【図２】
0005994194.tif 000004
【図３】
0005994194.tif 000005
【図４】
0005994194.tif 000006
【図５】
0005994194.tif 000007
【図６】
0005994194.tif 000008
【図７】
0005994194.tif 000009
【図８】
0005994194.tif 000010
【図９】
0005994194.tif 000011
【図１０】
0005994194.tif 000012
【図１１】
0005994194.tif 000013
【図１２】
0005994194.tif 000014
【図１３】
0005994194.tif 000015
【図１４】
0005994194.tif 000016
【図１５】
0005994194.tif 000017
【図１６】
0005994194.tif 000018
【図１７】
0005994194.tif 000019
【図１８】
0005994194.tif 000020
【図１９】
0005994194.tif 000021
【図２０】
0005994194.tif 000022
【図２１】
0005994194.tif 000023
【図２２】
0005994194.tif 000024
【図２３】
0005994194.tif 000025
【図２４】
0005994194.tif 000026
【図２５】
0005994194.tif 000027
【図２６】
0005994194.tif 000028
【図２７】
0005994194.tif 000029
【図２８】
0005994194.tif 000030
【図２９】
0005994194.tif 000031
【図３０】
0005994194.tif 000032