(57)【特許請求の範囲】
【請求項１】
モータによって駆動される駆動輪を有する移動体のトラクション制御装置であって、
前記移動体の移動速度を取得する移動速度取得部と；
前記駆動輪の回転速度を取得する回転速度取得部と；
前記モータが発生する実トルク値を取得する実トルク値取得部と；
前記モータの動作の制限制御を行う制御部と；を備え、
前記制御部は、
前記移動速度及び前記回転速度に基づいて、前記駆動輪のスリップ率を推定するスリップ率推定部と；
前記回転速度を微分した値に前記駆動輪の慣性モーメント値を乗じた値を、前記実トルク値から減算した値に基づいて、前記駆動輪の駆動トルクを推定する駆動トルク推定部と；
前記推定されたスリップ率と、前記推定された駆動トルクとに基づいて、前記モータに発生させようとするトルクに関するトルク設定値についてのリミット値を算出するリミット値算出部と；
前記算出されたリミット値に基づいて、前記トルク設定値を制限するリミッタ部と；を備え、
前記リミット値算出部は、前記推定されたスリップ率が小さいほど前記推定された駆動トルクからの差が大きな値を前記リミット値として算出し、前記推定されたスリップ率が大きいほど前記推定された駆動トルクからの差が小さな値を前記リミット値として算出する、
ことを特徴とするトラクション制御装置。
【請求項２】
前記リミット値算出部は、前記推定されたスリップ率に応じた値を前記推定された駆動トルクに乗じて、前記リミット値を算出する、ことを特徴とする請求項１に記載のトラクション制御装置。
【請求項３】
前記リミット値算出部は、前記推定された駆動トルクＴd、前記推定されたスリップ率λ、予め定められた定数ａ及びリミッタ係数ｋを用いて、下記の（Ｉ）式により、前記リミット値Ｌを算出する、
Ｌ＝Ｔd・（ａ＋ｋ／λ）          …（Ｉ）
ことを特徴とする請求項１に記載のトラクション制御装置。
【請求項４】
前記リミット値算出部は、前記推定された駆動トルクＴd、前記推定されたスリップ率λ、予め定められた定数ｂ及びリミッタ係数ｋ11を用いて、下記の（II）式により、前記リミット値Ｌを算出する、
Ｌ＝Ｔd・（ｂ＋ｋ11／λ2）        …（II）
ことを特徴とする請求項１に記載のトラクション制御装置。
【請求項５】
前記リミット値算出部は、前記推定された駆動トルクＴd、前記推定されたスリップ率λ、予め定められた定数ｃ及びリミッタ係数ｋ21，k22、並びに、前記推定されたスリップ率λの時間変化率（ｄλ／ｄｔ）を用いて、下記の（III）式により、前記リミット値Ｌを算出する、
Ｌ＝Ｔd・{（ｃ＋ｋ21／λ2−ｋ22・（ｄλ／ｄｔ）}…（III）
ことを特徴とする請求項１に記載のトラクション制御装置。
【請求項６】
前記駆動輪の数は複数であり、
前記リミッタ部は、前記複数の駆動輪のそれぞれについて算出されたリミット値の最小値に基づいて、前記複数の駆動輪の全てのトルク設定値を制限する、
ことを特徴とする請求項１〜５のいずれか一項に記載のトラクション制御装置。
【請求項７】
モータによって駆動される駆動輪を有する移動体のトラクション制御装置において使用されるトラクション制御方法であって、
前記移動体の移動速度、前記駆動輪の回転速度、及び、前記モータが発生する実トルク値を取得する取得工程と；
前記モータの動作の制限制御を行う制御工程と；を備え、
前記制御工程は、
前記移動速度及び前記回転速度に基づいて、前記駆動輪のスリップ率を推定するスリップ率推定工程と；
前記回転速度を微分した値に前記駆動輪の慣性モーメント値を乗じた値を、前記実トルク値から減算した値に基づいて、前記駆動輪の駆動トルクを推定する駆動トルク推定工程と；
前記推定されたスリップ率と、前記推定された駆動トルクとに基づいて、前記モータに発生させようとするトルクに関するトルク設定値についてのリミット値を算出するリミット値算出工程と；
前記算出されたリミット値に基づいて、前記トルク設定値を制限するリミッタ工程と；を備え、
前記リミット値算出工程では、前記推定されたスリップ率が小さいほど前記推定された駆動トルクからの差が大きな値を前記リミット値として算出し、前記推定されたスリップ率が大きいほど前記推定された駆動トルクからの差が小さな値を前記リミット値として算出する、
ことを特徴とするトラクション制御方法。
【請求項８】
モータによって駆動される駆動輪を有する移動体のトラクション制御装置が有するコンピュータに、請求項７に記載のトラクション制御方法を実行させる、ことを特徴とするトラクション制御プログラム。
【請求項９】
モータによって駆動される駆動輪を有する移動体のトラクション制御装置が有するコンピュータにより読み取り可能に、請求項８に記載のトラクション制御プログラムが記録されている、ことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トラクション制御装置、トラクション制御方法及びトラクション制御プログラム、並びに、当該トラクション制御プログラムが記録された記録媒体に関する。
【背景技術】
【０００２】
近年、環境負荷等の観点から、アクセルペダルやブレーキペダルの踏み込み量に応じた駆動及び制動を電気モータによって行う電気自動車が注目されている。ここで、電気モータは電気部品であるため、電気自動車における駆動及び制動の応答性及び線形性は、駆動及び制動をエンジン及び油圧機構によって行う内燃機関自動車と比べて、格段に優れている。【０００３】
すなわち、電気モータの応答速度は、油圧機構の１０倍程度速く、エンジンの１００倍程度速い。また、モータが発生する実トルク値Ｔ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の制限をかけることができない。この結果、乾燥路面から凍結路面に急に変化した場合における安全性の確保や、凍結路面から乾燥路面に急に変化した場合における運転者の意図に沿った運転を、迅速に実現可能とするとはいいがたかった。【００２３】
このため、路面状態が変化した場合に、迅速に、適切なトルク設定値ＴSの制限をかけることができる技術が望まれている。かかる要請に応えることが、本発明が解決すべき課題の一つとして挙げられる。【００２４】
本発明は、上記の事情を鑑みてなされたものであり、必要な駆動力を確保しつつ安定な走行のための制御を、路面状態の変化に応じて迅速に実現することができるトラクション制御装置及びトラクション制御方法を提供することを目的とする。
【課題を解決するための手段】
【００２５】
請求項１に記載の発明は、モータによって駆動される駆動輪を有する移動体のトラクション制御装置であって、前記移動体の移動速度を取得する移動速度取得部と；前記駆動輪の回転速度を取得する回転速度取得部と；前記モータが発生する実トルク値を取得する実トルク値取得部と；前記モータの動作の制限制御を行う制御部と；を備え、前記制御部は、前記移動速度及び前記回転速度に基づいて、前記駆動輪のスリップ率を推定するスリップ率推定部と；前記回転速度を微分した値に前記駆動輪の慣性モーメント値を乗じた値を、前記実トルク値から減算した値に基づいて、前記駆動輪の駆動トルクを推定する駆動トルク推定部と；前記推定されたスリップ率と、前記推定された駆動トルクとに基づいて、前記モータに発生させようとするトルクに関するトルク設定値についてのリミット値を算出するリミット値算出部と；前記算出されたリミット値に基づいて、前記トルク設定値を制限するリミッタ部と；を備え、前記リミット値算出部は、前記推定されたスリップ率が小さいほど前記推定された駆動トルクからの差が大きな値を前記リミット値として算出し、前記推定されたスリップ率が大きいほど前記推定された駆動トルクからの差が小さな値を前記リミット値として算出する、ことを特徴とするトラクション制御装置である。
【００２６】
請求項７に記載の発明は、モータによって駆動される駆動輪を有する移動体のトラクション制御装置において使用されるトラクション制御方法であって、前記移動体の移動速度、前記駆動輪の回転速度、及び、前記モータが発生する実トルク値を取得する取得工程と；前記モータの動作の制限制御を行う制御工程と；を備え、前記制御工程は、前記移動速度及び前記回転速度に基づいて、前記駆動輪のスリップ率を推定するスリップ率推定工程と；前記回転速度を微分した値に前記駆動輪の慣性モーメント値を乗じた値を、前記実トルク値から減算した値に基づいて、前記駆動輪の駆動トルクを推定する駆動トルク推定工程と；前記推定されたスリップ率と、前記推定された駆動トルクとに基づいて、前記モータに発生させようとするトルクに関するトルク設定値についてのリミット値を算出するリミット値算出工程と；前記算出されたリミット値に基づいて、前記トルク設定値を制限するリミッタ工程と；を備え、前記リミット値算出工程では、前記推定されたスリップ率が小さいほど前記推定された駆動トルクからの差が大きな値を前記リミット値として算出し、前記推定されたスリップ率が大きいほど前記推定された駆動トルクからの差が小さな値を前記リミット値として算出する、ことを特徴とするトラクション制御方法である。
【００２７】
請求項８に記載の発明は、モータによって駆動される駆動輪を有する移動体のトラクション制御装置が有するコンピュータに、請求項７に記載のトラクション制御方法を実行させる、ことを特徴とするトラクション制御プログラムである。
【００２８】
請求項９に記載の発明は、モータによって駆動される駆動輪を有する移動体のトラクション制御装置が有するコンピュータにより読み取り可能に、請求項８に記載のトラクション制御プログラムが記録されている、ことを特徴とする記録媒体である。
【図面の簡単な説明】
【００２９】
【図１】駆動輪モデルにおける変数を示す図である。
【図２】駆動時のスリップ率と摩擦係数との関係を示す図である。
【図３】制動時のスリップ率と摩擦係数との関係を示す図である。
【図４】トラクション制御を行わない場合のシミュレーション結果を示す図（その１）である。
【図５】トラクション制御を行わない場合のシミュレーション結果を示す図（その２）である。
【図６】本発明の一実施形態に係るトラクション制御装置の構成を概略的に示すブロック図である。
【図７】図６の装置の制御部の構成を示すブロック図である。
【図８】スリップ率と、駆動トルク及びリミット値との関係（駆動時）を説明するための図である。
【図９】スリップ率と、駆動トルク及びリミット値との関係（制動時）を説明するための図である。
【図１０】本発明の一実施例に係るトラクション制御装置の構成を概略的に示すブロック図である。
【図１１】図１０のモータ駆動系における駆動制御部及び電流検出部の構成を説明するためのブロック図である。
【図１２】図１０の装置によるトラクション制御のための処理を説明するためのフローチャートである。
【図１３】図１２の駆動輪のそれぞれのリミット値の算出の処理を説明するためのフローチャートである。
【図１４】図１０の装置による駆動時のトラクション処理のシミュレーション結果を示す図（その１）である。
【図１５】図１０の装置による駆動時のトラクション処理のシミュレーション結果を示す図（その２）である。
【図１６】図１０の装置による制動時のトラクション処理のシミュレーション結果を示す図（その１）である。
【図１７】図１０の装置による制動時のトラクション処理のシミュレーション結果を示す図（その２）である。
【図１８】リミット値算出の変形例１のトラクション制御の場合のシミュレーション結果を、比較例とともに示す図（その１）である。
【図１９】リミット値算出の変形例１のトラクション制御の場合のシミュレーション結果を、比較例とともに示す図（その２）である。
【図２０】リミット値算出の変形例１の有効性を説明するための図（その１）である。
【図２１】リミット値算出の変形例１の有効性を説明するための図（その２）である。
【図２２】リミット値算出の変形例２のトラクション制御の場合のシミュレーション結果を、比較例とともに示す図である。
【符号の説明】
【００３０】
１００  …  トラクション制御装置
１１０  …  制御ユニット（移動速度取得部、回転速度取得部、
実トルク値取得部、制御部）
７００  …  トラクション制御装置
７１０  …  移動速度取得部
７２０  …  回転速度取得部
７３０  …  実トルク値取得部
７４０  …  制御部
７４１  …  スリップ率推定部
７４２  …  駆動トルク推定部
７４３  …  リミット値算出部
７４４  …  リミッタ部
【発明を実施するための形態】
【００３１】
以下、本発明の一実施形態を、図６，７を参照して説明する。なお、以下の説明及び図面においては、同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
【００３２】
［構成］
図６には、一実施形態に係るトラクション制御装置７００の位置付け及び構成が、ブロック図にて示されている。
【００３３】
＜トラクション制御装置７００の位置付け＞
図６に示されるように、トラクション制御装置７００は、移動体ＭＶ内に配置される。この移動体ＭＶには、トラクション制御装置７００に加えて、トルク指令値生成部８１０、加速度検出部８２０及びモータ駆動系９００が配置され、トラクション制御装置７００に接続される。
【００３４】
上記のトルク指令値生成部８１０は、不図示のアクセル開度センサ、ブレーキ量センサ、ステアリング角度センサ等によるトルク指令値Ｔcの生成に利用される検出結果に基づいて、トルク指令値Ｔcを生成する。こうして生成されたトルク指令値Ｔcは、トラクション制御装置７００へ送られる。
【００３５】
上記の加速度検出部８２０は、移動体ＭＶの移動方向の加速度αを検出する。こうして検出された加速度αは、トラクション制御装置７００へ送られる。
【００３６】
上記のモータ駆動系９００は、駆動制御部９１０と、インバータ９２０と、モータ９３０とを備えている。また、モータ駆動系９００は、回転位置検出部９４０と、電流検出部９５０を備えている。
【００３７】
上記の駆動制御部９１０は、トラクション制御装置７００から送られたトルク設定値Ｔsを受ける。そして、駆動制御部９１０は、トルク設定値Ｔs、回転位置検出部９４０により検出された回転位置θ、及び、電流検出部９５０により検出された検出電流値ＩDに基づいて、駆動電圧を算出する。例えば、モータ９３０が３相モータの場合には、駆動制御部９１０は、駆動電圧として、３相電圧を算出する。こうして算出された駆動電圧は、インバータ９２０へ送られる。
【００３８】
上記のインバータ９２０は、駆動制御部９１０から送られた駆動電圧を受ける。そして、インバータ９２０は、駆動電圧に対応する電流をモータ９３０に供給する。この結果、モータ９３０は、トルク設定値Ｔsに基づいてモータ回転運動を行い、駆動輪を回転させる。
【００３９】
上記の回転位置検出部９４０は、レゾルバ又はエンコーダを備えて構成されている。この回転位置検出部９４０は、モータ９３０の回転位置θを検出する。こうして検出された回転位置θは、トラクション制御装置７００、駆動制御部９１０及び電流検出部９５０へ送られる。
【００４０】
上記の電流検出部９５０は、モータ９３０を流れる電流値を検出する。例えば、モータ９３０が３相モータの場合には、電流検出部９５０は、モータ９３０を流れる３相電流のうちの少なくとも２種類の電流値を検出する。こうして検出された電流値は、検出電流値ＩDとして、トラクション制御装置７００及び駆動制御部９１０へ送られる。
【００４１】
＜トラクション制御装置７００の構成＞
トラクション制御装置７００は、移動速度取得部７１０と、回転速度取得部７２０と、実トルク値取得部７３０と、制御部７４０とを備えている。
【００４２】
上記の移動速度取得部７１０は、加速度検出部８２０から送られた加速度αを受ける。そして、移動速度取得部７１０は、加速度αの時間積分を行って、移動速度ｖを取得する。こうして取得された移動速度ｖは、制御部７４０へ送られる。
【００４３】
上記の回転速度取得部７２０は、回転位置検出部９４０から送られた回転位置θを受ける。そして、回転速度取得部７２０は、回転位置θの時間微分を行って、回転速度ωを取得する。こうして取得された回転速度ωは、制御部７４０へ送られる。
【００４４】
上記の実トルク値取得部７３０は、電流検出部９５０から送られた検出電流値ＩDを受ける。引き続き、実トルク取得部７３０は、検出電流値ＩDに基づいてモータ電流値Ｉmを算出する。なお、モータ電流値Ｉmは検出電流値ＩDの大きさを示しており、Ｉm＝｜ＩD｜である。
【００４５】
次に、実トルク値取得部７３０は、上述した（１）式を利用して実トルク値Ｔmを算出することにより、実トルク値Ｔmを取得する。こうして取得された実トルク値Ｔmは、制御部７４０へ送られる。
【００４６】
上記の制御部７４０は、トルク指令値生成部８１０から送られたトルク指令値Ｔcを受ける。引き続き、制御部７４０は、移動速度ｖ、回転速度ω及び実トルク値Ｔmに基づいて、トルク指令値Ｔcに対してリミッタ制御を行って、トルク設定値Ｔsを算出する。そして、制御部７４０は、算出されたトルク設定値Ｔsを駆動制御部９１０へ送る。
【００４７】
かかる機能を有する制御部７４０は、図７に示されるように、スリップ率推定部７４１と、駆動トルク推定部７４２とを備えている。また、制御部７４０は、リミット値算出部７４３と、リミッタ部７４４とを備えている。
【００４８】
上記のスリップ率推定部７４１は、移動速度取得部７１０から送られた移動速度ｖ、及び、回転速度取得部７２０から送られた回転速度ωを受ける。そして、スリップ率推定部７４１は、上述した（５）式により、スリップ率λを算出することにより、スリップ率推定を行う。こうして算出されたスリップ率λは、リミット値算出部７４３へ送られる。
【００４９】
上記の駆動トルク推定部７４２は、回転速度取得部７２０から送られた回転速度ω、及び、実トルク値取得部７３０から送られた実トルク値Ｔmを受ける。引き続き、駆動トルク推定部７４２は、上述した（３）式を変形して得られる次の（６）式により得られる値を、ローパスフィルタ（ＬＰＦ）を介させて、駆動トルクＴdを算出することにより、駆動トルク推定を行う。
Ｔd＝Ｔm−Ｊw・(ｄω／ｄｔ)    …（６）
こうして推定された駆動トルクＴdは、リミット値算出部７４３へ送られる。
【００５０】
上記のリミット値算出部７４３は、スリップ率推定部７４１から送られたスリップ率λ、及び、駆動トルク推定部７４２から送られた駆動トルクＴdを受ける。そして、リミット値算出部７４３は、スリップ率λ及び駆動トルクＴdに基づいて、リミット値Ｌを算出する。こうして算出されたリミット値Ｌは、リミッタ部７４４へ送られる。
【００５１】
なお、本実施形態では、次の（７）式により、リミット値Ｌを算出する
Ｌ＝Ｔd・（ａ＋ｋ／λ）                …（７）
ここで、定数ａ及びリミッタ係数ｋは、適切なトラクション制御を行うとの観点から、実験、シミュレーション等により、予め定められる。
【００５２】
上記のリミッタ部７４４は、トルク指令値生成部８１０から送られたトルク指令値Ｔcを受ける。そして、リミッタ部７４４は、リミット値算出部７４３から送られたリミット値Ｌに従って、トルク指令値Ｔcに対してリミッタ制御を行って、トルク設定値Ｔsを算出する。
【００５３】
かかるリミッタ制御に際して、トルク指令値Ｔcがリミット値Ｌ以下の場合には、リミッタ部７４４は、トルク指令値Ｔcをトルク設定値Ｔsとする。また、トルク指令値Ｔcがリミット値Ｌよりも大きな場合には、リミッタ部７４４は、リミット値Ｌをトルク設定値Ｔsとする。こうして算出されたトルク設定値Ｔsは、モータ駆動系９００（より詳しくは、駆動制御部９１０）へ送られる。
【００５４】
ここで、移動体のスリップ現象と駆動トルクの関係について述べる。
【００５５】
上述した（３），（４）式より、Ｔd＝ｒ・Ｆd＝r・μ・Ｎの関係が成り立つ。このため、駆動輪の半径ｒと垂直抗力Ｎに変化が無ければ、図８，９において細線で示されるように、スリップ率λと駆動トルクＴdとは、図２，３におけるスリップ率λと摩擦係数μとの関係と同様となる。走行中の現在の駆動トルクＴdの値に比べて、実トルク値Ｔmが大きいと、（３）式からわかるように回転速度ωが増加し、（５）式で示されるスリップ率λも増加する。
【００５６】
こうした場合、スリップ率λの値によって動作が異なる。スリップ率λが「０．２」以下であれば、図８，９に示されるように駆動トルクＴdも増加するので駆動力Ｆdが増加する。このため、空気抵抗等によるＦdrの変化が小さければ、（２）式により示されるように、移動速度ｖも増加する。よって、（５）式で表されるスリップ率λの増加が緩和されるため安定に走行できる。しかし、スリップ率λが「０．２」を超えてしまうと，図８，９に示されるように、駆動トルクＴdが増加しないので、駆動力Ｆdも増加せず、（２）における移動速度ｖが増加しない。この結果、（５）式で表されるスリップ率λの増加が進行してしまい、更にスリップ率λが大きくなるため、走行が不安定になる。
【００５７】
これは、駆動トルクＴdの最大値と実トルク値Ｔmとの関係によって、どちらの動作になるか決まる。駆動トルクＴdの最大値よりも実トルク値Ｔmが余裕を持って小さければ、安定走行を維持できる。一方、駆動トルクＴdの最大値よりも実トルク値Ｔmが多少大きな値のときに、不安定領域に入ってしまうのである。
【００５８】
このため、本実施形態では、現在の駆動トルクＴdの値とスリップ率λの値とを推定する。そして、それらの推定値を用いた（７）式により求められるリミット値Ｌによって、トルク設定値Ｔsを制限することにより、実トルク値Ｔmが駆動トルクＴdの値に比べて大きすぎないようにするモータ制御を行う。
【００５９】
（７）式により算出されるリミット値Ｌを採用することにより、スリップ率λが大きいほど、リミット値Ｌを駆動トルクＴdに近い値とするとともに、スリップ率λが小さいほど、リミット値Ｌを駆動トルクＴdから離れた値とすることができる。図８，９には、（７）式によるリミット値Ｌの算出例が、太線にて示されている。
【００６０】
したがって、本実施形態では、スリップ率λが大きくなるほど、現在の駆動トルクＴdに近い値にトルク設定値Ｔsが制限される。また、スリップ率λが小さくなるほど、トルク制限が弱くなるため、現在の駆動トルクＴdよりも大きなトルク設定値Ｔsが許可される。
【００６１】
なお、スリップ率λが大きいほど、リミット値Ｌを駆動トルクＴdに近い値とするため、定数ａは、「１」に近い値とすることが好ましい。また、リミッタ係数ｋを小さくするほど、強いリミッタをかけることができるため、スリップ率λが大きくなると強いトルク制限がかかり、結果としてスリップ率λの増加を抑えることができる。しかし、スリップ率λが小さく安定領域内であれば、必要以上にトルク制限をかけたくないため、リミッタ係数ｋを小さくしすぎることは好ましくない。
【００６２】
［動作］
次に、上記のように構成されたトラクション制御装置７００の動作について説明する。
【００６３】
なお、トルク指令値生成部８１０、加速度検出部８２０及びモータ駆動系９００は、既に動作を開始しており、トルク指令値Ｔc、加速度α、回転位置θ及び検出電流値ＩDが、逐次、トラクション制御装置７００へ送られているものとする（図６参照）。
【００６４】
トラクション制御装置７００では、トラクション制御に際して、移動速度取得部７１０が、加速度検出部８２０から送られた加速度αの時間積分を行って、移動速度ｖを取得する。そして、移動速度取得部７１０は、取得された移動速度ｖを制御部７４０へ逐次送る（図６参照）。
【００６５】
また、回転速度取得部７２０が、回転位置検出部９４０から送られた回転位置θの時間微分を行って、回転速度ωを取得する。そして、回転速度取得部７２０は、取得された回転速度ωを制御部７４０へ逐次送る（図６参照）。
【００６６】
また、実トルク値取得部７３０が、電流検出部９５０から送られた検出電流値ＩDに基づいて実トルク値Ｔmを算出することにより、実トルク値Ｔmの取得を行う。そして、実トルク値取得部７３０は、取得された実トルク値Ｔmを制御部７４０へ逐次送る（図６参照）。
【００６７】
制御部７４０では、スリップ率推定部７４１が、移動速度取得部７１０から送られた移動速度ｖ、及び、回転速度取得部７２０から送られた回転速度ωに基づいて、上述した（５）式により、スリップ率λを算出することにより、スリップ率推定を行う。そして、スリップ率推定部７４１は、推定されたスリップ率λは、リミット値算出部７４３へ逐次送る（図７参照）。
【００６８】
また、駆動トルク推定部７４２が、回転速度取得部７２０から送られた回転速度ω、及び、実トルク値取得部７３０から送られた実トルク値Ｔmに基づいて、上述した（６）式により得られる値を、ローパスフィルタ（ＬＰＦ）を介させて、駆動トルクＴdを算出することにより、駆動トルク推定を行う。そして、駆動トルク推定部７４２は、推定された駆動トルクＴdをリミット値算出部７４３へ逐次送る（図７参照）。
【００６９】
リミット値算出部７４３は、スリップ率推定部７４１から送られたスリップ率λ、及び、駆動トルク推定部７４２から送られた駆動トルクＴdに基づいて、上述した（７）式により、リミット値Ｌを算出する。そして、リミット値算出部７４３は、算出されたリミット値Ｌをリミッタ部７４４へ逐次送る（図７参照）。
【００７０】
リミッタ部７４４は、リミット値算出部７４３から送られたリミット値Ｌに基づいて、上述したようにして、トルク指令値Ｔcに対してリミッタ制御を行って、トルク設定値Ｔsを算出する。そして、リミッタ部７４４は、算出されたトルク設定値Ｔsをモータ駆動系９００へ逐次送る（図７参照）。
【００７１】
モータ駆動系９００では、トラクション制御装置７００から送られたトルク設定値Ｔsに基づいて、トルク設定値Ｔsに対応する電流をモータ９３０に供給する。この結果、モータ９３０は、トルク設定値Ｔsに対応するトルク値で駆動される。
【００７２】
以上説明したように、本実施形態では、モータ９３０によって駆動される駆動輪を有する移動体ＭＶの移動速度ｖ、移動体ＭＶの駆動輪の回転速度ω、及び、モータ９３０が発生する実トルク値Ｔmを取得する。ここで、移動速度ｖ、回転速度ω及び実トルク値Ｔmは、迅速な取得が可能である。
【００７３】
引き続き、制御部７４０が、移動速度ｖ及び回転速度ωに基づいて、迅速な演算が可能な（５）式を利用して駆動輪のスリップ率λを推定する。また、制御部７４０が、回転速度ω及び実トルク値Ｔmに基づいて、迅速な演算が可能な（６）式を利用して利用して駆動輪の駆動トルクＴdを推定する。
【００７４】
次に、制御部７４０が、スリップ率λと駆動トルクＴdとに基づいて、迅速な演算が可能な（７）式を利用して、トルク指令値Ｔcに対するリミット値Ｌを算出する。そして、制御部７４０は、リミット値Ｌを用いてトルク指令値Ｔcに対する制限処理を行って、トルク設定値Ｔsと生成し、生成されたトルク設定値Ｔsをモータ駆動系９００へ送る。
【００７５】
したがって、本実施形態によれば、必要な駆動力を確保しつつ安定な走行のための制御を、路面状態の変化に応じて迅速に実現することができる。
【００７６】
［実施形態の変形］
本発明は、上記の実施形態に限定されるものではなく、様々な変形が可能である。
【００７７】
例えば、上記の実施形態では、駆動輪ごとにリミット値を算出するようにした。これに対し、移動体の駆動輪の数が複数である場合には、複数の駆動輪のそれぞれについて上記の実施形態の場合と同様にして得られたリミット値の最小値を、複数の駆動輪の全てのトルク指令値に対するリミット値とするようにしてもよい。この場合には、複数の駆動輪間におけるトルク設定値の差を抑制できるので、安定な走行を確保することができる。
【００７８】
また、上記の実施形態では、制御部７４０が、リミット値の算出を上述の（７）式によって算出するようにした。これに対し、スリップ率の値ごとに（７）式の右辺の括弧内の値を予め計算しておき、スリップ率と当該計算の結果とを関連付けた参照テーブルを作成しておく。そして、推定されたスリップ率に基づいて参照テーブルから読み出した値を、駆動トルクに乗じることでリミット値を算出するようにしてもよい。
【００７９】
また、上記の実施形態では、インホイールモータのように、トルク設定値に対する駆動輪の駆動トルクの応答速度が速い場合を想定した。これに対し、トルク設定値に対する駆動輪の駆動トルクの応答が迅速とはいえない場合には、次の（８）式又は（９）式により、リミット値Ｌを算出するようにしてもよい。
【００８０】
Ｌ＝Ｔd・（ｂ＋ｋ11／λ2）        …（８）
ここで、定数ｂ及びリミッタ係数ｋ11は、乾燥路面における駆動トルクの確保と、路面状態によらず安定な走行を実現するとの観点から、実験、シミュレーション等により予め定められる。
【００８１】
Ｌ＝Ｔd・{（ｃ＋ｋ21／λ2−ｋ22・（ｄλ／ｄｔ）}    …（９）
ここで、定数ｃ及びリミッタ係数ｋ21，k22は、乾燥路面における駆動トルクの確保と、路面状態によらず安定な走行を実現するとの観点から、実験、シミュレーション等により予め定められる。
【００８２】
なお、上記の実施形態のトラクション制御装置を、中央処理装置（ＣＰＵ：Central Processing Unit）、ＤＳＰ（Digital Signal Processor）等を備えた演算手段としてのコンピュータとして構成し、予め用意されたプログラムを当該コンピュータで実行することにより、上記の実施形態のトラクション制御装置の機能の一部又は全部を実行するようにしてもよい。このプログラムはハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、当該コンピュータによって記録媒体からロードされて実行される。また、このプログラムは、ＣＤ−ＲＯＭ、ＤＶＤ等の可搬型記録媒体に記録された形態で取得されるようにしてもよいし、インターネットなどのネットワークを介した配信の形態で取得されるようにしてもよい。
【実施例】
【００８３】
次に、本発明の一実施例を、図１０〜図１７を主に参照して説明する。なお、以下の説明においては、上述した実施形態を含めて、同一又は同等の要素には同一の符号を付し、重複する説明を極力省略する。【００８４】
［構成］
図１０には、一実施例に係るトラクション制御装置１００の構成が概略的に示されている。このトラクション制御装置１００は、上述した一実施形態に係るトラクション制御装置７００の一の変形例の一態様となっている。【００８５】
図１０に示されるように、トラクション制御装置１００は、移動体ＭＶとしての車両ＣＲ内に配置される。なお、車両ＣＲは、互いに独立に駆動可能な４つの駆動輪である左前側駆動輪ＷＨ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が、トラクション制御装置１００へ送られる。【００９２】
＜駆動制御部９１０j及び電流検出部９５０jの構成＞
ここで、駆動制御部９１０j及び電流検出部９５０jについて、図１１を参照して、より詳しく説明する。なお、本実施例では、モータ９３０jは、３相モータとなっている。【００９３】
まず、駆動制御部９１０jについて説明する。この駆動制御部９１０jは、ベクトル制御により、モータ９３０jの駆動を制御する。かかる機能を有する駆動制御部９１０jは、電流指令値生成部９１１と、減算部９１２d，９１２qと、比例及び積分（ＰＩ）演算部９１３d，９１３qとを備えている。また、駆動制御部９１０jは、座標変換部９１４と、パルス幅変調（ＰＷＭ）部９１５とを備えている。【００９４】
上記の電流指令値生成部９１１は、トラクション制御装置１００から送られたトルク設定値Ｔs,jを受ける。そして、電流指令値生成部９１１は、トルク設定値Ｔs,jのモータトルクを発生させるべく、d軸電流指令値Ｉd,j＊及びｑ軸電流指令値Ｉq,j＊を生成する。こうして生成されたd軸電流指令値Ｉd,j＊は、減算部９１２dへ送られるとともに、ｑ軸電流指令値Ｉq,j＊は、減算部９１２qへ送られる【００９５】
上記の減算部９１２dは、電流指令値生成部９１１から送られたｄ軸電流指令値Ｉd,j＊を受ける。そして、減算部９１２dは、電流検出部９５０jから送られたｄ軸検出電流値Ｉd,jを、d軸電流指令値Ｉ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          …（１０）【０１０５】
＜トラクション制御装置１００の構成＞
次に、トラクション制御装置１００の構成について説明する。【０１０６】
図１０に戻り、トラクション制御装置１００は、制御ユニット１１０と、記憶ユニット１２０とを備えている。【０１０７】
上記の制御ユニット１１０は、演算手段としての中央処理装置（ＣＰＵ）、ＤＳＰ（Digital Signal Processor）を備えて構成される。この制御ユニット１１０は、プログラムを実行することにより、上述した実施形態における移動速度取得部７１０、回転速度取得部７２０、実トルク値取得部７３０及び制御部７４０としての機能を果たすようになっている。【０１０８】
制御ユニット１１０が実行するプログラムは、記憶ユニット１２０に記憶され、記録ユニットからロードされて実行される。このプログラムは、ＣＤ−ＲＯＭ、ＤＶＤ等の可搬型記録媒体に記録された形態で取得されるようにしてもよいし、インターネットなどのネットワークを介した配信の形態で取得されるようにしてもよい。【０１０９】
なお、制御ユニット１１０が実行する処理については、後述する。【０１１０】
上記の記憶ユニット１２０には、制御ユニット１１０は利用する様々な情報データが記憶される。こうした情報データには、制御ユニット１１０が実行するプログラムが含まれている。この記憶ユニット１２０には、制御ユニット１１０がアクセスできるようになっている。【０１１１】
［動作］
次に、上記のように構成されたトラクション制御装置１００によるトラクション制御の動作について、制御ユニット１１０による処理に着目して説明する。【０１１２】
なお、トルク指令値生成部８１０、加速度検出部８２０及びモータ駆動系９００jは、既に動作を開始しており、トルク指令値Ｔc,j、加速度α、回転位置θj及び検出電流値ＩD,jが、逐次、トラクション制御装置７００へ送られているものとする（図１０参照）。【０１１３】
トラクション制御は、不図示の入力部を介して、利用者が適応型リミッタ制御の開始指令を入力することにより、開始される。かかるトラクション制御に際しては、図１２に示されるように、まず、ステップＳ１１において、制御ユニット１１０が、当該入力部を介して、適応型リミッタ制御の中止指令を受けたか否かを判定する。ステップＳ１１における判定の結果が否定的であった場合（ステップＳ１１：Ｎ）には、処理はステップＳ１２へ進む。【０１１４】
ステップＳ１２では、制御ユニット１１０が、４個の駆動輪ＷＨFL〜ＷＨRRのそれぞれについてのリミット値ＬFL〜ＬRRを算出する。なお、ステップＳ１２におけるリミット値ＬFL〜ＬRRの算出処理については、後述する。【０１１５】
次に、ステップＳ１３において、制御ユニット１１０が、算出されたリミット値ＬFL〜ＬRRにおける最小リミット値Ｌminを抽出する。そして、制御ユニット１１０が、抽出された最小リミット値Ｌminを、４個の駆動輪ＷＨFL〜ＷＨRRの全てに共通なリミット値とする。【０１１６】
次いで、ステップＳ１４において、制御ユニット１１０が、最小リミット値Ｌminに基づいて、トルク指令値生成部８１０から送られたトルク指令値Ｔc,FL〜Ｔc,RRに対してリミッタ制御を行って、トルク設定値Ｔs,FL〜Ｔs,RRを算出する。そして、ステップＳ１５において、制御ユニット１１０が、算出されたトルク設定値Ｔs,FL〜Ｔs,RRを、モータ駆動系９００FL〜９００RRへ逐次出力する（図１０参照）。【０１１７】
この結果、トルク指令値Ｔc,j（ｊ＝ＦＬ，ＦＲ，ＲＬ，ＲＲ）が最小リミット値Ｌmin以下の場合には、トルク指令値Ｔc,jが、トルク設定値Ｔs,jとして、モータ駆動系９００jへ出力される。また、トルク指令値Ｔc,jが最小リミット値Ｌminより大きい場合には、最小リミット値Ｌminが、モータ駆動系９００jへ出力される。【０１１８】
ステップＳ１５の処理が終了すると、処理はステップＳ１１へ戻る。以後、ステップＳ１１における判定の結果が肯定的となるまで、ステップＳ１１〜ステップＳ１５の処理が繰り返される。【０１１９】
適応型リミッタ制御の中止指令を受け、ステップＳ１１における判定の結果が肯定的となると（ステップＳ１１：Ｙ）、処理はステップＳ１６へ進む。このステップＳ１６では、制御ユニット１１０が、リミッタ解除を行う。この結果、トルク指令値Ｔc,jの大きさにかかわらず、トルク指令値Ｔc,jが、トルク設定値Ｔs,jとして、モータ駆動系９００jへ出力されるようになる。【０１２０】
＜リミット値ＬFL〜ＬRRの算出処理＞
次に、リミット値ＬFL〜ＬRRの算出処理について説明する。【０１２１】
ステップＳ１２におけるリミット値Ｌjの算出処理に際しては、図１３に示されるように、まず、ステップＳ２１において、制御ユニット１１０が、加速度α、回転位置θj及び検出電流値ＩD,jを収集する。そして、制御ユニット１１０は、加速度αの時間積分を行って車速（移動速度）ｖを取得し、回転位置θjの時間微分を行って回転速度ωjを取得する。【０１２２】
また、制御ユニット１１０は、検出電流値ＩD,jに基づいて、モータ電流値Ｉm,j（＝｜ＩD,j｜）を、上述した（１０）式を利用して算出する。そして、制御ユニット１１０は、上述した（１）式を利用して実トルク値Ｔm,jを算出することにより、実トルク値Ｔm,jを取得する。【０１２３】
次に、ステップＳ２２において、制御ユニット１１０が、車速ｖ及び回転速度ωjに基づき、上述した（５）式により、スリップ率λjを算出することにより、スリップ率推定を行う。引き続き、ステップＳ２３において、制御ユニット１１０が、回転速度ωj及び実トルク値Ｔm,jに基づき、上述した（６）式により得られる値を、ローパスフィルタ（ＬＰＦ）を介させて、駆動トルクＴd,jを算出することにより、駆動トルク推定を行う。【０１２４】
次いで、ステップＳ２４において、制御ユニット１１０が、スリップ率λj及び駆動トルクＴd,jに基づき、上述した（７）式において、定数ａを「１」とし、リミッタ係数ｋを「０．０１」とした次の（１１）式により、リミット値Ｌjを算出する
Ｌj＝Ｔd,j・（１＋０．０１／λj）                …（１１）【０１２５】
ステップＳ２４の処理が終了すると、ステップＳ１２の処理が終了する。そして、処理は、上述した図１２のステップＳ１３へ進む。【０１２６】
なお、図１４，１５には、本実施例によるアンチスリップ性能についての駆動時のシミュレーション結果が示されている。また、図１６，１７には、本実施例によるアンチスリップ性能についての制動時のシミュレーション結果が示されている。なお、当該シミュレーションの条件としては、上述したリミッタ制御を行わない場合のシミュレーションと同様に、４輪駆動の電気自動車であって、車重：１８００［ｋｇ］、駆動輪ＷＨの慣性モーメント：１．２［ｋｇ・ｍ2］及びモータのトルク応答：５［ｍｓ］という条件を採用した。また、時刻ｔ1において乾燥路面から凍結路面に変化し、時刻ｔ2（＞ｔ1）において凍結路面から乾燥路面に変化することを想定して、シミュレーションを行った。【０１２７】
なお、図１４〜１７（後述する図１８，１９，２２においても同様）には、リミッタ制御を行わない場合のシミュレーション結果として、上述した図４，５で示した車体速度ｖ、車輪速度（ｒω）、スリップ率λ及び摩擦係数μに加えて、算出されたリミット値Ｌ、推定された駆動トルクＴd及びトルク設定値Ｔsのシミュレーション結果が示されている。ここで、算出されたリミット値Ｌ（図１４〜１９，２２においては「算出リミット値Ｌ」と記す）、推定された駆動トルクＴd（図１４〜１９，２２においては「推定駆動トルク値Ｔd」と記す）及びトルク設定値Ｔsについては、トルク指令値Ｔcとの比較が容易となるような図示となっている。【０１２８】
図１４，１５により総合的に示されるように、乾燥路面でのリミット値はトルク指令値Ｔcよりも大きいため、トルク設定値Ｔsは制限されない。凍結路面に入ると，リミット値Ｌはトルク設定値Ｔsより低下するので、リミット値Ｌで瞬時に制限されたトルク設定値Ｔsとなる。この結果、スリップ率λの増加が抑制できていることが確認できる。すなわち、乾燥路面での十分な加速と、凍結路面でのスリップを防止した走行とが両立できることが確認できる。【０１２９】
また、図１６，１７により総合的に示されるように、乾燥路面でのリミット値はトルク指令値Ｔcよりも大きいため、トルク設定値Ｔsは制限されない。凍結路面に入ると，リミット値Ｌはトルク設定値Ｔsより低下するので、リミット値Ｌで瞬時に制限されたトルク設定値Ｔsとなる。この結果、スリップ率λの増加が抑制できていることが確認できる。すなわち、乾燥路面での十分な減速と、凍結路面でのスリップを防止した制動とが両立できることが確認できる。【０１３０】
以上説明したように、本実施例では、制御ユニット１１０が、モータ９３０jによって駆動される駆動輪を有する車両ＣＲの車速、車両ＣＲの駆動輪の回転速度、及び、モータ９３０jが発生する実トルク値を取得する。ここで、車速、回転速度及び実トルク値は、迅速な取得が可能である。【０１３１】
引き続き、制御ユニット１１０が、車速及び回転速度に基づいて、迅速な演算が可能な（５）式を利用して駆動輪のスリップ率を推定する。また、制御ユニット１１０が、回転速度及び実トルク値に基づいて、迅速な演算が可能な（６）式を利用して駆動輪の駆動トルクを推定する。【０１３２】
次に、制御ユニット１１０が、スリップ率と駆動トルクとに基づいて、迅速な演算が可能な（１１）式を利用して、トルク指令値に対するリミット値Ｌを算出する。そして、制御ユニット１１０は、リミット値に基づいてトルク指令値に対する制限処理を行って、トルク設定値を生成し、生成されたトルク設定値をモータ駆動系へ送る。【０１３３】
したがって、本実施例によれば、必要な駆動力を確保しつつ安定な走行のための制御を、路面状態の変化に応じて迅速に実現することができる。【０１３４】
また、本実施例では、複数の駆動輪のそれぞれについて算出されたリミット値の中の最小値を、複数の駆動輪の全てのトルク指令値に対するリミット値とする。この場合には、複数の駆動輪間におけるトルク設定値の差を抑制できるので、安定な走行を確保することができる。例えば、道路の左側のみ凍結しているような路面を走行する場合に、左側の駆動輪を対象として算出したリミット値が右側駆動輪にも適応されるため、左右トルクのアンバランスが回避され、車体の向きが変化することを防止できる。【０１３５】
［実施例の変形］
本発明は、上記の実施例に限定されるものではなく、様々な変形が可能である。【０１３６】
例えば、上記の実施例では、制御ユニット１１０が、リミット値の算出を上述の（１１）式によって算出するようにした。これに対し、スリップ率の値ごとに（１１）式の右辺の括弧内の値を予め計算しておき、スリップ率と当該計算の結果と関連付けた参照テーブルを記憶ユニット１２０に登録しておく。そして、制御ユニット１１０が、推定されたスリップ率に基づいて参照テーブルから読み出した値を、駆動トルクに乗じることでリミット値を算出するようにしてもよい。【０１３７】
また、上記の実施例では、車速の取得に際して加速度センサを利用するようにしたが、光学式対地センサを利用するようにしてもよい。【０１３８】
また、図１１で説明したように、ｄ軸検出電流値Ｉd,j及びｑ軸検出電流値Ｉq,jは、それぞれｄ軸電流指令値Ｉd,j＊及びｑ軸電流指令値Ｉq,j＊と同じになるように制御が行われる。したがって、ＰＩ演算とモータ特性とによる応答時間の遅れがあるが、結果として実トルク値Ｔmは、トルク設定値Ｔsと等しくなるように制御される。このため、上記の実施例では、モータの実トルク値Ｔｍを（１）式から求めたが、Ｔsにトルク応答特性を乗じる次の（１２）式により、実トルク値Ｔｍを算出するようにしてもよい。
Ｔｍ＝Ｔs・（１／（τ1ｓ＋１））            …（１２）
ここで、値τ1は、トルク応答の時定数である。【０１３９】
また、上記の実施例では、（１１）式を利用して、トルク指令値に対するリミット値を算出するようにした。これに対し、他の数式を利用してリミット値を算出するようにしてもよい。以下に、リミット値算出の変形例を示す。【０１４０】
＜リミット値算出の変形例１＞
オンボード型電気自動車のように、モータから駆動輪までの間に機構部品が介在する場合には、インホイール型電気自動車の場合と比べて、駆動輪で発生するトルク応答が遅くなる。例えば、トルク応答時間が５０［ｍｓ］であった場合には、駆動トルクＴdの推定に遅れが生じ、リミット値Ｌの算出にも遅れが生じる。この結果、上述した（７）式をそのまま利用した場合には、トルク応答時間が５［ｍｓ］の場合と比べて、トルク制限にも遅れが生じる。この結果、図１８（Ａ）に示されるシミュレーション結果（トルク応答時間：５［ｍｓ］）と、図１８（Ｂ）に示されるシミュレーション結果（トルク応答時間：５０［ｍｓ］）とを比べてわかるように、スリップ率λの増加の抑制度合いが小さくなってしまう。【０１４１】
このため、例えば、リミッタ係数ｋを「０．０１」から「０．００３」に減少させると、トルク制限が強くなり、スリップ率λの増加を抑制できる。しかしながら、スリップ率が小さい領域でもトルク制限がかかり、図１９（Ａ）に示されるシミュレーション結果からわかるように、乾燥路面に戻る際のトルク設定値Ｔsにも制限がかかってしまう。【０１４２】
そこで、スリップ率λが大きい時は強くトルク制限を行い、スリップ率λが小さい時はトルク制限を弱くするため、上述の（８）式を再掲する次の（１３）式により、リミット値Ｌを算出するようにしてもよい。
Ｌ＝Ｔd・（ｂ＋ｋ11／λ2）        …（１３）【０１４３】
（１３）式において、定数ｂを「１」とし、リミッタ係数ｋ11を「０．００１」とした場合のシミュレーション結果が、図１９（Ｂ）に示されている。図１９（Ｂ）からわかるように、凍結路面に入ったときにスリップ率λが一旦増加するものの、時間経過に伴ってスリップ率λが低下されるように動作している。また、乾燥路面に戻る際の不必要なトルク設定値Ｔsの低下も生じていない。【０１４４】
なお、図１８，１９に示される結果を得たシミュレーションの条件は、上記に明示したトルク応答時間を除いて、上述した図１５（Ｂ）に示される結果を得たシミュレーションの場合と同様とした。【０１４５】
（１３）式によるリミット値算出の有効性の理由を、図２０，２１を参照して説明する。ここで、図２０には、トルク応答時間が５０［ｍｓ］の場合に、（７）式で算出されるリミット値Ｌと、駆動トルクＴdとの関係が示されている。また、図２１には、トルク応答時間が５０［ｍｓ］の場合に、（１３）式で算出されるリミット値Ｌと、駆動トルクＴdとの関係が示されている。【０１４６】
（７）式で算出されるリミット値Ｌを用いると、図２０に示されるように、スリップ率λが「０．２」より小さい場合にも、比較的強いトルク制限が行われてしまう。これに対し、（１３）式で算出されるリミット値Ｌを用いると、スリップ率λが「０．２」よりも小さい領域では、図２０の場合と比べて、リミット値Ｌに大きな低下はなく弱いトルク制限になっている。これは、（１３）式では、リミッタ係数ｋ11をλ2で除算しているため、スリップ率λが小さくなると、値（ｋ11／λ2）が、値（ｋ／λ）よりも急激に大きくなるためである。したがって、リミッタ係数ｋ11を小さくし、スリップ率λが大きい時のリミッタを強くしても、スリップ率λが小さい時における不必要なトルク制限を防止することができる。【０１４７】
同様の考え方を用い、リミッタ係数をλ3で除算するようにしてもよい。【０１４８】
なお、（１３）式は、オンボード型電気自動車Vのようなトルク応答が遅い場合のみに限定されるものではなく、トルク応答が早い場合であっても使用することができる。すなわち、駆動輪のトルク応答時間に応じてリミッタ係数ｋ11の値を適切に設定することで、どのような応答時間であっても、（１３）式を適用することができる。【０１４９】
＜リミット値算出の変形例２＞
上述の（１３）式を用いた場合の結果では，凍結路面に入った瞬間にスリップ率λが一旦増加してしまう。かかる増加の後、できるだけ迅速にスリップ率λを低下させるため、上述の（９）式を再掲する次の（１４）式により、リミット値Ｌを算出するようにしてもよい。
Ｌ＝Ｔd・{（ｃ＋ｋ21／λ2−ｋ22・（ｄλ／ｄｔ）}    …（１４）【０１５０】
（１４）式において、定数ｃを「１」とし、リミッタ係数ｋ21を「０．００１」とし、リミッタ係数ｋ22を「１」とした場合のシミュレーション結果が、図２２（Ｃ）に示されている。なお、本変形例との効果の比較のために、図２２（Ａ）に、上記の実施例における図１５（Ｂ）のシミュレーション結果を再掲するとともに、図２２（Ｂ）に、上記のリミット値算出の変形例１における図１９（Ｂ）の場合のシミュレーション結果を再掲している。【０１５１】
図２２（Ｃ）に示される場合は、図２２（Ｂ）の場合と比べて、凍結路面に入った瞬間のスリップ率λの急増を若干抑制できている。また、その後の凍結路面上でのスリップ率λの低下も迅速に行えている。【０１５２】
なお、図２２に示される結果を得たシミュレーションの条件は、上記に明示したトルク応答時間を除いて、上述した図１８，１９に示される結果を得たシミュレーションの場合と同様とした。
【図１】
0005994192.tif 000002
【図２】
0005994192.tif 000003
【図３】
0005994192.tif 000004
【図４】
0005994192.tif 000005
【図５】
0005994192.tif 000006
【図６】
0005994192.tif 000007
【図７】
0005994192.tif 000008
【図８】
0005994192.tif 000009
【図９】
0005994192.tif 000010
【図１０】
0005994192.tif 000011
【図１１】
0005994192.tif 000012
【図１２】
0005994192.tif 000013
【図１３】
0005994192.tif 000014
【図１４】
0005994192.tif 000015
【図１５】
0005994192.tif 000016
【図１６】
0005994192.tif 000017
【図１７】
0005994192.tif 000018
【図１８】
0005994192.tif 000019
【図１９】
0005994192.tif 000020
【図２０】
0005994192.tif 000021
【図２１】
0005994192.tif 000022
【図２２】
0005994192.tif 000023