(57)【特許請求の範囲】
【請求項１】
モータによって駆動される駆動輪にかかる力の指令値、前記駆動輪の回転速度、前記駆動輪のスリップ率情報、及び、路面に対する摩擦係数情報を取得する取得部と；
規範モデルに従って算出された前記回転速度に対応する逆算値と、前記取得された指令値に基づいて算出された推定値との差分に対し、１次遅れの付与及び利得係数の乗算を行った結果を乗じたものを前記指令値に対する補正量とするネガティブフィードバック制御を行う制御部と；を備え、
前記利得係数は、前記取得された摩擦係数情報に対応する摩擦係数が大きくなるほど小さくなり、かつ、前記取得されたスリップ率情報に対応するスリップ率が大きくなるほど大きくなる態様で適応的に設定された値である、
ことを特徴とするトラクション制御装置。
【請求項２】
前記制御部は、前記差分に前記１次遅れを付与するフィルタ部を備え、
前記フィルタ部の時定数は、前記取得された摩擦係数情報、及び、前記取得されたスリップ率情報を利用して適応的に設定された値、又は、前記利得係数が取り得る推定される最大値に基づいて定まる値である、ことを特徴とする請求項１に記載のトラクション制御装置。
【請求項３】
前記制御部は、移動体の重量、並びに、前記駆動輪の慣性モーメント及び半径に応じ、前記取得された摩擦係数情報に対応する摩擦係数μの逆数及び前記取得されたスリップ率情報に対応するスリップ率λを利用して、前記利得係数を設定する利得係数設定部を更に備え、
前記利得係数設定部は、前記移動体の重量、並びに、前記駆動輪の慣性モーメント及び半径に応じて予め定められた定数ｄと、予め定められた定数ｅとに基づく次の（Ｉ）式、又は、前記移動体の重量、並びに、前記駆動輪の慣性モーメント及び半径に応じて予め定められた定数ｂと、予め定められた定数ｃとに基づく次の（II）式により、前記利得係数ｋを算出する、ことを特徴とする請求項１又は２の何れか一項に記載のトラクション制御装置。
ｋ＝ｄ／μ＋ｅ・λ              …（Ｉ）
ｋ＝ｂ・（λ／μ）＋ｃ          …（II）
【請求項４】
前記規範モデルは、前記駆動輪にスリップが生じない粘着モデルである、ことを特徴とする請求項１〜３の何れか一項に記載のトラクション制御装置。
【請求項５】
前記取得された指令値はトルク指令値であり、前記推定値は推定トルク値であり、かつ、前記逆算値は逆算トルク値であり、
前記制御部は、
前記トルク指令値と前記補正量に基づいて、前記駆動輪を駆動するモータへ向けて出力するトルク命令値を算出するトルク命令値算出部と；
前記算出されたトルク命令値と、前記駆動輪へのトルク伝達モデルとに基づいて、前記推定トルク値を算出する推定トルク値算出部と；
前記逆算トルク値を算出する逆算トルク値算出部と；
を備えることを特徴とする請求項１〜４の何れか一項に記載のトラクション制御装置。
【請求項６】
モータによって駆動される駆動輪を有する移動体のトラクション制御を行うトラクション装置によって利用されるトラクション制御方法であって、
前記駆動輪にかかる力の指令値、前記駆動輪の回転速度、前記駆動輪のスリップ率情報、及び、路面に対する摩擦係数情報を取得する取得工程と；
規範モデルに従って算出された前記回転速度に対応する逆算値と、前記取得された指令値に基づいて算出された推定値との差分に対し、１次遅れの付与及び利得係数の乗算を行った結果を乗じたものを前記指令値に対する補正量とするネガティブフィードバック制御を行う制御工程と；を含み、
前記利得係数は、前記取得された摩擦係数情報に対応する摩擦係数が大きくなるほど小さくなり、かつ、前記取得されたスリップ率情報に対応するスリップ率が大きくなるほど大きくなる態様で適応的に設定された値である、
ことを特徴とするトラクション制御方法。
【請求項７】
請求項６に記載のトラクション制御方法を演算部に実行させる、ことを特徴とするトラクション制御プログラム。
【請求項８】
請求項７に記載のトラクション制御プログラムが、演算部により読み取り可能に記録されている、ことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トラクション制御装置、トラクション制御方法及びトラクション制御プログラム、並びに、当該トラクション制御プログラムが記録された記録媒体に関する。
【背景技術】
【０００２】
従来から、四輪車両等の駆動輪を有する移動体におけるタイヤの空転状態を解消するため、トラクション制御に関する様々な技術が提案されている。こうした提案技術の一つとして、モデル追従制御という手法を用いて、走行中にスリップ率の増加を抑制するようにトルクを制御する技術が提案されている（特許文献１（特に、図１２及びその関連記載）参照：以下、「従来例」という）。
【０００３】
この従来例の技術では、駆動輪と路面とが完全に粘着している状態、つまりスリップが全く生じていない状態の車両モデルを規範モデルとして制御プログラム内に仮想的に作成する。そして、実車両の駆動輪を規範モデルに追従するように制御（以下、「モデル追従制御」と呼ぶ）する。
【０００４】
具体的には、従来例の技術では、実車両の駆動輪の回転速度の検出結果から、当該規範モデルに従って逆算したトルクと、当該検出された回転速度を発生させたトルクとの差分である差分トルクを算出する。そして、ローパスフィルタを介させることにより、算出された差分に１次遅れを付与した後、正値である所定の利得係数を乗じたものを補正量とするネガティブフィードバック制御を行う。この結果、駆動輪のトルクを低下させて、スリップ率の増加を抑制するようになっている。かかるネガティブフィードバック制御によりスリップ率の増加を抑制することができるのは、次の理由による。
【０００５】
タイヤが空転していると、駆動輪のみの回転であるため軽い慣性となるが、駆動輪が路面に粘着していると、駆動輪だけでなく車体も駆動するため重い慣性となる。すなわち、スリップ率が増えると駆動輪の回転速度が速くなる。
【０００６】
したがって、スリップ率がゼロよりも大きければ、駆動輪の回転速度を用いて粘着状態の慣性で逆算すると、実際に駆動輪に付与されたトルクよりも大きな値のトルクとなる。このため、当該逆算されたトルクから、実際に駆動輪に付与されたトルクを差し引いた差分トルク値は正となる。この結果、当該差分トルク値と、上述したように正値である所定の利得係数の乗算結果である補正量は正値となるので、当該補正量によるネガティブフィードバック制御を行うと、駆動輪に付与されるトルクが下がり、スリップ率を低下させる作用となる。
【０００７】
なお、従来例１では、いわゆる無駄時間を考慮するために利得係数を調整する必要があることが指摘されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】国際公開第２００８／０２９５２４号
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、実際の車両システムにおいては、トルク制御部から駆動輪を駆動するモータへのトルク命令値の伝達に際しての遅延時間、モータのトルク応答特性、及び、モータの駆動力の駆動輪への伝達に際しての遅延時間等が存在する。ここで、前述のように例示した遅延時間は、モデル追従制御においては、いわゆる無駄時間として取り扱われることになる。
【００１０】
なお、トルク制御部からモータへのトルク命令値の伝達の遅延は、当該伝達に際して、例えば、ＣＡＮ（Controller Area Network）プロトコルを採用する通信を行う場合には、ＣＡＮ通信周期に対応して発生する。
【００１１】
こうした無駄時間及びモータのトルク応答特性は、モデル追従制御系の安定性や制御性能に影響を及ぼす。このため、上述した従来例における無駄時間の考慮に加えて、モータの応答特性を更に考慮して、制御系としての安定性と制御性能とを両立させる必要がある。
【００１２】
また、駆動輪のスリップ率と、路面に対する駆動輪の摩擦係数との関係は、乾燥路面、湿潤路面、凍結路面等の路面状態によって大きく異なる。これは、制御系に入力される外乱の変化が大きいということと等価である。このため、モデル追従制御系には、路面状態が大きく変化する外乱に適応したトラクション制御を行うことが求められる。
【００１３】
例えば、凍結路面を走行中には、駆動輪の空転を迅速に抑制することが求められる。また、乾燥路面を走行中において、加速が必要になった場合、上り坂を走行する場合、高速で走行する場合等には、駆動輪の空転の抑制及び駆動力の確保の両立が求められる。
【００１４】
本発明は、上記の事情に鑑みてなされたものであり、制御安定性を保ちつつスリップ抑制性能を高めるとともに、路面状態に応じて、必要な駆動力を確保しつつ安定な走行を実現することができるトラクション制御装置及びトラクション制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
請求項１に記載の発明は、モータによって駆動される駆動輪にかかる力の指令値、前記駆動輪の回転速度、前記駆動輪のスリップ率情報、及び、路面に対する摩擦係数情報を取得する取得部と；規範モデルに従って算出された前記回転速度に対応する逆算値と、前記取得された指令値に基づいて算出された推定値との差分に対し、１次遅れの付与及び利得係数の乗算を行った結果を乗じたものを前記指令値に対する補正量とするネガティブフィードバック制御を行う制御部と；を備え、前記利得係数は、前記取得された摩擦係数情報に対応する摩擦係数が大きくなるほど小さくなり、かつ、前記取得されたスリップ率情報に対応するスリップ率が大きくなるほど大きくなる態様で適応的に設定された値である、ことを特徴とするトラクション制御装置である。
【００１６】
請求項６に記載の発明は、モータによって駆動される駆動輪を有する移動体のトラクション制御を行うトラクション装置によって利用されるトラクション制御方法であって、前記駆動輪にかかる力の指令値、前記駆動輪の回転速度、前記駆動輪のスリップ率情報、及び、路面に対する摩擦係数情報を取得する取得工程と；規範モデルに従って算出された前記回転速度に対応する逆算値と、前記取得された指令値に基づいて算出された推定値との差分に対し、１次遅れの付与及び利得係数の乗算を行った結果を乗じたものを前記指令値に対する補正量とするネガティブフィードバック制御を行う制御工程と；を含み、
前記利得係数は、前記取得された摩擦係数情報に対応する摩擦係数が大きくなるほど小さくなり、かつ、前記取得されたスリップ率情報に対応するスリップ率が大きくなるほど大きくなる態様で適応的に設定された値である、ことを特徴とするトラクション制御方法である。
【００１７】
請求項７に記載の発明は、請求項６に記載のトラクション制御方法を演算部に実行させる、ことを特徴とするトラクション制御プログラムである。
【００１８】
請求項８に記載の発明は、請求項７に記載のトラクション制御プログラムが、演算部により読み取り可能に記録されている、ことを特徴とする記録媒体である。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態で採用するモデル追従制御系のブロック線図である。
【図２】駆動輪モデルにおける変数を示す図である。
【図３】駆動時のスリップ率と摩擦係数との関係を示す図ある。
【図４】制動時のスリップ率と摩擦係数との関係を示す図ある。
【図５】図１のモデル追従制御系において、時定数τを一定としつつ利得係数ｋを変化させて、凍結路面に適用した場合のシミュレーション結果を示す図である。
【図６】図１のモデル追従制御系において、利得係数ｋを一定としつつ時定数τを変化させて、凍結路面に適用した場合のシミュレーション結果を示す図である。
【図７】図１のモデル追従制御系の一巡伝達関数についてのＢｏｄｅ線図を示す図（その１）である。
【図８】図１のモデル追従制御系の一巡伝達関数についてのＢｏｄｅ線図を示す図（その２）である。
【図９】無駄時間Ｌ及びトルク応答の時定数τ1の変化に対応した係数ａの最適値の変化を示す図である。
【図１０】図１のモデル追従制御系で利得係数ｋ及び時定数τを一定値としたときにおける凍結路面及び乾燥路面の場合のシミュレーション結果を示す図である。
【図１１】本発明の一実施形態に係るトラクション制御装置の構成を概略的に示すブロック図である。
【図１２】スリップ率λ及び摩擦係数μに基づく利得係数ｋの決定の変形例を説明するための図である。
【図１３】本発明の一実施例に係るトラクション制御装置の構成を概略的に示すブロック図である。
【図１４】図１３の装置によるトラクション制御のための処理を説明するためのフローチャートである。
【図１５】図１３の装置によるトラクション制御のシミュレーション結果を示す図である。
【図１６】図１３の装置の模型による実験結果を示す図（その１）である。
【図１７】図１３の装置の模型による実験結果を示す図（その２）である。
【発明を実施するための形態】
【００２０】
以下、本発明の一実施形態を、図１〜図１１を参照して説明する。なお、以下の説明及び図面においては、同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
【００２１】
［トラクション制御系の構成］
まず、一実施形態におけるトラクション制御装置が実装する駆動輪のトラクション制御系の構成について説明する。なお、本実施形態では、駆動輪はモータによって駆動されるようになっている。
【００２２】
図１には、本実施形態で採用するモデル追従制御系７００を含むトラクション制御系が、ブロック線図にて示されている。この図１に示されるように、モデル追従制御系７００は、減算ブロック５００と協働して、実車両６００のトラクション制御、すなわち、スリップ率低減制御を行うようになっている。
【００２３】
なお、減算ブロック５００から送られるトルク命令値Ｔmに対応した実車両６００における駆動輪の回転速度ωの出力までは、実車両のモデルに基づき、トルク伝達ブロック６１０（伝達関数：Ｑ（ｓ））と駆動輪応答ブロック６２０（伝達関数：Ｐ（ｓ））とが直列接続されたモデルで表現されるものとしている。なお、「ｓ」はラプラス演算子である。
【００２４】
上記のトルク伝達ブロック６１０は、減算ブロック５００から出力されるトルク命令値Ｔmが、実トルク値Ｔrとして駆動輪に付与されるまでのトルク伝達モデルに基づくブロックである。このトルク伝達ブロック６１０は、無駄時間ブロック６１１（伝達関数：ｅ-Ls）と、モータトルク応答ブロック６１２（伝達関数：１／（τ1・ｓ＋１））とが直列接続されたものとして表現されるようになっている。
【００２５】
上記の無駄時間ブロック６１１は、減算ブロック５００からモータへのトルク命令値Ｔmの伝達に際しての遅延時間、モータが発生した駆動力の駆動輪への伝達に際しての遅延時間等の各種の遅延時間の総和時間Ｌが、モデル追従制御においては、無駄時間Ｌとして取り扱うことができることを表現したブロックである。なお、無駄時間Ｌは、実験により予め実測することができるし、シミュレーションにより予め算出することもできる。
【００２６】
上記のモータトルク応答ブロック６１２は、トルク命令値Ｔmが伝達されたモータのトルク応答特性が、１次遅れ（時定数：τ1）モデルで近似できることを表現したブロックである。かかるモータのトルク応答特性が１次遅れモデルで表現するようにしたのは、発明者が研究の結果から得た「モータのトルク応答特性は、１次遅れモデルにより、トラクション制御の際に必要とされる精度で近似することができる」との知見に基づいている。なお、時定数τ1は、実験により予め実測することができるし、シミュレーションにより予め算出することもできる。
【００２７】
以上のように無駄時間ブロック６１１とモータトルク応答ブロック６１２との直列接続により表現されるトルク伝達ブロック６１０の伝達関数Ｑ（ｓ）は、次の（１）式により表される。
Ｑ（ｓ）＝ｅ-Ls／（τ1・ｓ＋１）            …（１）
【００２８】
上記の駆動輪応答ブロック６２０（伝達関数：Ｐ（ｓ））は、トルクの付与に対する実車両の応答として駆動輪の回転速度ωを考えた場合を表現したブロックである。この駆動輪応答ブロック６２０の伝達関数Ｐ（ｓ）については、後述する。
【００２９】
上記の減算ブロック５００は、図１においては図示していないトルク指令値生成部から送られたトルク指令値Ｔ*m、及び、モデル追従制御系７００から送られた補正量Ｔbを受ける。そして、減算ブロック５００は、次の（２）式により、トルク命令値Ｔmを算出する。こうして算出されたトルク命令値Ｔmは実車両のモータへ向けて送られるとともに、モデル追従制御系７００へ送られる。
Ｔm＝Ｔ*m−Ｔb                              …（２）
【００３０】
上記のモデル追従制御系７００は、減算ブロック５００から送られたトルク命令値Ｔm、及び、駆動輪の回転速度ωを受ける。そして、モデル追従制御系７００は、トルク命令値Ｔm及び回転速度ωに基づいて、補正量Ｔbを算出する。
【００３１】
かかる機能を有するモデル追従制御系７００は、トルク伝達ブロック７１０（伝達関数：Ｑ（ｓ））と、粘着モデルブロック７２０（伝達関数：Ｐｎ−１（ｓ））と、減算ブロック７３０とを備えている。また、モデル追従制御系７００は、１次遅れブロック７４０（伝達関数：Ｒ（ｓ）＝１／（τ・ｓ＋１））と、利得乗算ブロック７５０（利得係数：ｋ）とを備えている。
【００３２】
上記のトルク伝達ブロック７１０は、減算ブロック５００から送られたトルク命令値Ｔmを受ける。そして、トルク伝達ブロック７１０は、トルク命令値Ｔmに基づいて、駆動輪に付与される実トルク値Ｔrを推定する。かかる機能を有するトルク伝達ブロック７１０は、無駄時間ブロック７１１（伝達関数：ｅ-Ls）と、モータトルク応答ブロック７１２（伝達関数：１／（τ1・ｓ＋１））とを備えている。
【００３３】
上記の無駄時間ブロック７１１は、上述した無駄時間ブロック６１１に対応して設けられたブロックである。この無駄時間ブロック７１１は、減算ブロック５００から送られたトルク命令値Ｔmを受ける。そして、無駄時間ブロック７１１は、無駄時間Ｌに対応する処理をトルク命令値Ｔmに対して施す。なお、無駄時間Ｌとしては、上述したように、実測又はシミュレーションにより得られた値を採用する。
【００３４】
上記のモータトルク応答ブロック７１２は、上述したモータトルク応答ブロック６１２に対応するブロックである。このモータトルク応答ブロック７１２は、無駄時間ブロック７１１から送られた無駄時間処理結果を受ける。そして、モータトルク応答ブロック７１２は、当該無駄時間処理結果に対して、時定数τ1の１次遅れ処理を施して、駆動輪に付与される実トルク値Ｔrの推定値Ｔe（以下、単に「推定トルク値Ｔe」とも記す）を生成する。なお、時定数τ1としては、上述したように、実測又はシミュレーションにより得られた値を採用する。
【００３５】
以上のように構成されたトルク伝達ブロック７１０により、トルク命令値Ｔmから推定トルク値Ｔeが、次の（３）式により算出される。
Ｔe＝Ｑ（ｓ）・Ｔm                  …（３）
【００３６】
上記の粘着モデルブロック７２０は、回転速度ωを受ける。そして、粘着モデルブロック７２０は、駆動輪にスリップが生じない仮想的なモデルである粘着モデルに従って、回転速度ωに対応するトルク値Ｔnを、次の（４）式により算出する。
Ｔn＝Ｐｎ−１（ｓ）・ω                …（４）
なお、トルク値Ｔnは、回転速度ωから粘着モデルを用いて逆算されるため、以下においては、トルク値Ｔnを、「逆算トルク値Ｔn」とも記す。
【００３７】
上述したように、スリップ率がゼロよりも大きければ、逆算トルク値Ｔnは推定トルク値Ｔeよりも大きな値となる。なお、伝達関数Ｐｎ−１（ｓ）については、後述する。
【００３８】
上記の減算ブロック７３０は、トルク伝達ブロック７１０から送られた推定トルク値Ｔe、及び、粘着モデルブロック７２０から送られた逆算トルク値Ｔnを受ける。そして、減算ブロック７３０は、次の（５）式により差分トルク値Ｔhを算出する。
Ｔh＝Ｔn−Ｔe                                …（５）
【００３９】
上記の１次遅れブロック７４０は、減算ブロック７３０から送られた差分トルク値Ｔhを受ける。そして、１次遅れブロック７４０は、差分トルク値Ｔhに対して、時定数τの１次遅れ処理を施したトルク値Ｔfを、次の（６）式により算出する。
Ｔf＝Ｒ（ｓ）・Ｔh＝Ｔh／（τ・ｓ＋１）      …（６）
なお、１次遅れ処理がローパスフィルタであるため、以下においては、トルク値Ｔfを、「フィルタ後トルク値Ｔf」とも記す。
【００４０】
上記の利得乗算ブロック７５０は、１次遅れブロック７４０から送られたフィルタ後トルク値Ｔfを受ける。そして、利得乗算ブロック７５０は、次の（７）式により、補正量Ｔbを算出し、算出された補正量Ｔbを減算ブロック５００へ送る。
Ｔb＝ｋ・Ｔf                              …（７）
【００４１】
＜伝達関数Ｐ（ｓ），Ｐｎ−１（ｓ）について＞
次に、駆動輪応答ブロック６２０の伝達関数Ｐ（ｓ）、及び、粘着モデルブロック７２０の伝達関数Ｐｎ−１（ｓ）について説明する。
【００４２】
図２には、移動体ＭＶが有する駆動輪ＷＨの一輪モデル（以下、「駆動輪モデル」ともいう）における変数が示されている。図２において、「Ｍ」は、移動体の重量であり、「Ｆd」は駆動輪ＷＨの駆動力であり、「Ｆdr」は走行抵抗である。また、「Ｔr」は駆動輪ＷＨに付与される実トルク値であり、「ｖ」は移動体ＭＶの速度（すなわち、駆動輪ＷＨの並進速度）であり、「ω」は駆動輪ＷＨの回転速度である。また、「Ｎ」は、駆動輪ＷＨに作用する垂直抗力であり、「ｒ」は駆動輪ＷＨの半径である。
【００４３】
図２に示される駆動輪モデルにおいては、移動体ＭＶの運動方程式は、次の（８）式で与えられる。
Ｍ・(ｄｖ／ｄｔ)＝Ｆd−Ｆdr              …（８）
【００４４】
また、駆動輪ＷＨの運動方程式は、駆動輪ＷＨの慣性モーメントを「Ｊw」として、次の（９）式で与えられる。
Ｊw・(ｄω／ｄｔ)＝Ｔr−ｒ・Ｆd          …（９）
【００４５】
駆動力Ｆdと垂直抗力Ｎとの関係は、駆動輪ＷＨにとっての路面の摩擦係数をμとして、次の（１０）式で表される。
μ＝Ｆd／Ｎ                              …（１０）
【００４６】
ここで、垂直抗力Ｎは、例えば、駆動輪ＷＨにかかる荷重を検出する荷重センサを用意することにより、迅速に、かつ、精度良く取得することができる。また、駆動力Ｆdは、実トルク値Ｔrと、回転速度ωに基づいて、既知の駆動力オブザーバにより、迅速に、かつ、精度良く取得することができる。このため、トルク指令値に忠実な実トルク値Ｔrを発生させることができる電気自動車の場合には、上述した荷重センサに加えて、例えば、駆動輪ＷＨの回転速度を検出する回転速度センサを用意することにより、摩擦係数μを、迅速に、かつ、精度良く算出することができる。
【００４７】
なお、駆動力オブザーバについては、例えば、特開２０１０−０５１１６０号公報等に記載されている。
【００４８】
また、スリップ率λは、上述した駆動輪モデルにおいては、次の（１１）式により表される。
λ＝(ｒ・ω−ｖ)／Ｍａｘ(ｒ・ω，ｖ)         …（１１）
【００４９】
上記の駆動輪モデルにおいて、摩擦係数μと、スリップ率λとは、一般に、駆動時においては図３に示される関係があり、また、制動時には図４に示される関係がある。なお、図３に示される駆動時のスリップ率の増加に伴う摩擦係数μの変化において、摩擦係数μが最大となるスリップ率（一般的に「０．２」程度）以下である状態が、移動体ＭＶが安定して走行できる状態（以下、「安定状態」という）となっている。一方、摩擦係数μが最大となるスリップ率よりも大きな状態が、駆動輪ＷＨの空転やロック現象が発生する状態（以下、「不安定状態」という）となっている。
【００５０】
また、図４に示される制動時のスリップ率の増加に伴う摩擦係数μの変化において、摩擦係数μが最小となるスリップ率（一般的に「−０．２」程度）以上である状態が安定状態となっている。一方、摩擦係数μが最小となるスリップ率よりも小さな状態が不安定状態となっている。
【００５１】
さて、上記の（８）式に半径ｒを乗じた後に、左辺同士及び右辺同士について（９）式との和をとると、次の（１２）式となる。
Ｍ・ｒ・(ｄｖ／ｄｔ)＋Ｊw・(ｄω／ｄｔ)＝Ｔr−ｒ・Ｆdr    …（１２）
【００５２】
この（１２）式は、(ｒ・ω＞ｖ)となる駆動時には、（１１）式を考慮すると、次の（１３）式のように変形される。
Ｍ・ｒ・ｖ・ｓ＋Ｊw・ω・ｓ＝Ｍ・ｒ・(１−λ)・ｒ・ω・ｓ＋Ｊw・ω・ｓ
＝ω・(Ｊw＋Ｍ・ｒ2・(１−λ))・ｓ＝Ｔr−ｒ・Ｆdr    …（１３）
【００５３】
したがって、回転速度ωは、次の（１４）式のように表される。
ω＝(Ｔr−ｒ・Ｆdr)／((Ｊw＋Ｍ・ｒ2・(１−λ))・ｓ)       …（１４）
【００５４】
（１４）式から判るように、走行抵抗Ｆdrが小さくなると、回転速度ωが大きくなる。トラクション制御は、走行抵抗Ｆdrが小さい場合でも回転速度ωが急増することを防止する制御であるため、走行抵抗Ｆdrをゼロとした場合のモデルを採用する。この結果、実車両モデルの駆動時における実トルク値Ｔrから回転速度ωまでの伝達関数、すなわち、上述した駆動輪応答ブロック６２０の駆動時の伝達関数Ｐ（ｓ）は、次の（１５）式の通りとなる。
Ｐ（ｓ）＝ω／Ｔr＝１／((Ｊw＋Ｍ・ｒ2・(１−λ))・ｓ)          …（１５）
【００５５】
また、上述した粘着モデルは駆動輪ＷＨにスリップが生じないモデルなので、スリップ率λをゼロとするモデルである。このため、粘着モデルブロック７２０の駆動時における伝達関数Ｐｎ−１（ｓ）は、次の（１６）式の通りとなる。
Ｐｎ−１（ｓ）＝Ｔr／ω＝(Ｊw＋Ｍ・ｒ2)・ｓ                  …（１６）
【００５６】
なお、制動時も、上述した駆動時と同様にして、上述した駆動輪応答ブロック６２０の伝達関数Ｐ（ｓ）、及び、上述した粘着モデルブロック７２０の伝達関数Ｐｎ−１（ｓ）を導出することができる。以下、駆動時に着目して説明する。
【００５７】
以上より、本実施形態のトラクション制御系におけるトルク指令値Ｔm*から回転速度ωまでの駆動時の伝達関数Ｇ（ｓ）、及びトルク指令値Ｔm*から補正量Ｔbまでの一巡伝達関数ＧO（ｓ）は、次の（１７），（１８）式により表される。
【００５８】
【数１】
0006302505.tif 000002
【００５９】
【数２】
0006302505.tif 000003
【００６０】
［トラクション制御系の安定性］
上述したトラクション制御系の安定性を評価するために、以下のようなシミュレーションを行った。なお、当該シミュレーションにおいては、移動体ＭＶとして４輪駆動の車両を想定し、当該車両について一般的であると考えられる無駄時間Ｌ＝２０［ｍｓｅｃ］、モータのトルク応答の時定数τ1＝１０［ｍｓｅｃ］、慣性モーメントＪw＝５．７［ｋｇ・ｍ2］、移動体ＭＶの重量Ｍ＝１６５０［ｋｇ］、及び、駆動輪ＷＨの半径ｒ＝０．２９５［ｍ］とした。
【００６１】
＜伝達関数Ｇ（ｓ）に関するシミュレーション＞
上述した１次遅れブロックの時定数τと、利得乗算ブロックの利得係数ｋとを変化させて、トルク指令値Ｔm*を４００［Ｎｍ］とした場合の伝達関数Ｇ（ｓ）に関するシミュレーションを行った。
【００６２】
まず、図３における凍結路面の走行を想定し、時定数τを４．０［ｓｅｃ］に固定しつつ、利得係数ｋを変化させた場合のスリップ率λ、摩擦係数μ、トルク命令値Ｔmの時間変化についてのシミュレーションを行った。図５には、この場合のシミュレーションの結果が示されている。
【００６３】
図５のシミュレーション結果により示されるように、利得係数ｋを大きくすると、スリップ率λを低下させる度合いが高まる。しかしながら、利得係数ｋを大きくしすぎると、制御が発振してしまい不安定になってしまう。
【００６４】
次に、図３における凍結路面の走行を想定し、利得係数ｋを１０に固定しつつ、時定数τを変化させた場合のスリップ率λ、摩擦係数μ、トルク命令値Ｔmの時間変化についてのシミュレーションを行った。図６には、このシミュレーションの結果が示されている。
【００６５】
図６のシミュレーション結果により示されるように、時定数τを小さくすると、スリップ率λを迅速に低下させることができる。しかしながら、時定数τを小さくしすぎると制御が発振してしまい不安定になってしまう。
【００６６】
上記の伝達関数Ｇ（ｓ）に関する２種類のシミュレーション結果から、制御安定性とスリップ抑制性能との両立を図るためには、利得係数ｋと時定数τとを適切に連動させることが必要であることが確認された。
【００６７】
＜一巡伝達関数ＧO（ｓ）による制御安定性の評価＞
上述した（１８）式から、スリップ率λは一巡伝達関数ＧO（ｓ）の利得に関係することが判る。そして、スリップ率λが「１」に近付くほど一巡伝達関数ＧO（ｓ）の利得が大きくなる。このため、スリップ率λがどのような値になってもトラクション制御系の安定性を確保するには，最も利得が大きいスリップ率λが「１」の条件下で安定性を確保できればよい。
【００６８】
そこで、次の（１８）式においてスリップ率λを「１」とした一巡伝達関数の安定性を、Ｂｏｄｅ線図を描いてゲイン余裕と位相余裕を求めることで安定性を評価した。なお、一般的に言われているゲイン余裕１０［ｄＢ］以上、かつ、位相余裕４０［ｄｅｇ］以上を安定性確保の目安とした。
【００６９】
なお、かかる安定性の評価のためにＢｏｄｅ線図を描くに際しては、上述した伝達関数Ｇ（ｓ）に関するシミュレーションの場合と同様に、移動体ＭＶとして４輪駆動の車両を想定し、無駄時間Ｌ＝２０［ｍｓｅｃ］、モータのトルク応答の時定数τ1＝１０［ｍｓｅｃ］とした。また、（１８）式に登場する力学量について、駆動輪ＷＨの慣性モーメントＪw＝５．７［ｋｇ・ｍ2］、移動体ＭＶの重量Ｍ＝１６５０［ｋｇ］、及び、駆動輪ＷＨの半径ｒ＝０．２９５［ｍ］とした。
【００７０】
まず、時定数τを固定し、利得係数ｋを変化させてＢｏｄｅ線図を作成した。この結果が、図７（Ａ）に示されている。この図７（Ａ）に示されるように、利得係数ｋが大きいほど利得が０［ｄＢ］となる交差周波数が高くなり、ゲイン余裕及び位相余裕の双方が小さくなる。
【００７１】
図７（Ａ）に示される具体的なＢｏｄｅ線図は、時定数τを０．４［ｓｅｃ］に固定し、利得係数ｋを１，２，５，１０と変化させた例である。図７（Ａ）に示される具体的な例では、利得係数ｋが１の場合には、ゲイン余裕が１２．１［ｄＢ］であり、位相余裕が７２．９［ｄｅｇ］となり安定であると評価できる。しかしながら、利得係数ｋが２，５，１０の場合には、ゲイン余裕及び位相余裕が少なくなり、安定であるとは評価できない。
【００７２】
次に、利得係数ｋを固定し、時定数τを変化させてＢｏｄｅ線図を作成した。この結果が、図７（Ｂ）に示されている。この図７（Ｂ）に示されるように、時定数τが大きいほど利得が０［ｄＢ］となる交差周波数が低くなり、ゲイン余裕と位相余裕が大きくなる。
【００７３】
図７（Ｂ）に示される具体的なＢｏｄｅ線図は、利得係数ｋを１０に固定し、時定数τを０．４，０．８，２．０，４．０［ｓｅｃ］と変化させた例である。図７（Ｂ）に示される具体的な例では、時定数τが０．４，０．８，２．０［ｓｅｃ］では、ゲイン余裕と位相余裕が少なく安定であるとは評価できない。しかしながら、時定数τが４．０［ｓｅｃ］の場合には、ゲイン余裕が１１．８［ｄＢ］であり、位相余裕が６４．３［ｄｅｇ］となり安定であると評価できる。
【００７４】
図７（Ａ）及び図７（Ｂ）の結果から、安定性の確保のためには、利得係数ｋを大きくする場合には、時定数τも大きくすることが必要であることが判る。そこで、次の（１９）式で表される関係を用いて、利得係数ｋと時定数τとを変化させて、Ｂｏｄｅ線図を作成した。
τ＝０．４×ｋ                          …（１９）
【００７５】
この結果が図８に示されている。この図８に示されるように、（１９）式で表される関係を用いて、利得係数ｋと時定数τとを変化させた場合には、利得が０［ｄＢ］を横切る周波数、及び、位相が−１８０［ｄｅｇ］を横切る周波数がほぼ一致する結果となった。すなわち、ゲイン余裕と位相余裕がほとんど変化しない結果となった。これは、利得係数ｋに合わせて時定数τを変えることにより、制御帯域を調整して安定性を確保できることを示している。
【００７６】
そして、上記の結果は、制御帯域と安定性を確保するための利得係数ｋと時定数τとの関係を、次の（２０）式により与えることができることを示している。
τ＝ａ・ｋ                              …（２０）
【００７７】
ここで、係数ａは、上述した（１８）式を参照して判るように、無駄時間Ｌ、モータのトルク応答の時定数τ1、慣性モーメントＪw、移動体ＭＶの重量Ｍ、及び、駆動輪ＷＨの半径ｒにより、最適な値が定まる。これらの値は、車両の設計仕様により定まっている値であるため、当該設計仕様が既知である場合には、把握することができる。当該設計仕様が未知である場合であっても、実測により推定又は把握が可能である。
【００７８】
この結果、利得係数ｋを動的に変化させた場合でも、事前に推定又は把握が可能な値により定まる係数ａを用いて、上述の（２０）式に従って、時定数τを設定することにより、制御帯域と安定性を常に確保したトラクション制御を実現することができる。
【００７９】
上述した具体的なＢｏｄｅ線図を描く際に仮定したように、駆動輪ＷＨの慣性モーメントＪw＝５．７［ｋｇ・ｍ2］、移動体ＭＶの重量Ｍ＝１６５０［ｋｇ］、及び、駆動輪ＷＨの半径ｒ＝０．２９５［ｍ］とした場合における無駄時間Ｌとモータのトルク応答の時定数τ1との組み合わせの変化に応じた係数ａの変化が、図９に示されている。
【００８０】
なお、係数ａの決定に際しては、安定性の確保から多少のマージンを見込んで、当該最適値よりも多少大きな値を採用することが望ましい。例えば、図９の例において、無駄時間Ｌ＝２０［ｍｓｅｃ］及びモータのトルク応答の時定数τ1＝１０［ｍｓｅｃ］の場合には、係数ａの最適値は０．３３であるが、多少のマージンを確保するため、係数ａとして０．４とすることが、上述した図１のトラクション制御系の確実な安定性の確保からは好ましい。
【００８１】
［路面状態に適応した利得係数ｋ及び時定数τの決定］
次に、路面状態に適応した利得係数ｋ及び時定数τの決定について説明する。
【００８２】
上述した図３に示されるように、駆動輪ＷＨのスリップ率と、路面に対する駆動輪ＷＨの摩擦係数との関係は、乾燥路面、湿潤路面、凍結路面等の路面状態によって大きく異なる。これは、上述したように、制御系に入力される外乱の変化が大きいということと等価である。
【００８３】
そこで、乾燥路面及び凍結路面について、トルク指令値Ｔm*を４００［Ｎｍ］とした場合の、スリップ率λ、摩擦係数μ、トルク命令値Ｔmの時間変化についてのシミュレーションを行った。なお、このシミュレーションに際しては、移動体ＭＶとして４輪駆動の車両を想定し、当該車両について一般的であると考えられる無駄時間Ｌ＝２０［ｍｓｅｃ］、モータのトルク応答の時定数τ1＝１０［ｍｓｅｃ］、慣性モーメントＪw＝５．７［ｋｇ・ｍ2］、移動体ＭＶの重量Ｍ＝１６５０［ｋｇ］、及び、駆動輪ＷＨの半径ｒ＝０．２９５［ｍ］とした。また、トラククション制御系の安定性が確保可能な上述の（１９）式の関係を満たす（ｋ，τ）として、（１，０．４［ｓｅｃ］）及び（１０，４［ｓｅｃ］）の２組について、シミュレーションを行った。
【００８４】
この場合のシミュレーション結果が、図１０に示されている。ここで、図１０（Ａ）には、凍結路面の場合のシミュレーション結果が示され、図１０（Ｂ）には、乾燥路面の場合のシミュレーション結果が示されている。図１０（Ａ）及び図１０（Ｂ）に示されるように、いずれの路面においても、利得係数ｋを大きくすると、スリップ率λが低下していることが判る。
【００８５】
ところで、凍結路面では、駆動輪ＷＨの空転を極力抑えたいため、できるだけ利得を高くしてスリップ率λを小さくしたい。しかし、図１０（Ｂ）に示されるように、利得を高くするために利得係数ｋを大きくすると、乾燥路面では摩擦係数μの値に余裕があるにもかかわらず、トルク命令値Ｔmを低下させてしまっている。不必要なトルク命令値Ｔmの低下は、駆動力を勝手に絞ることになり、ドライバの意図する加速ができないことになる。
【００８６】
例えば、上述したように、乾燥路面を走行中、加速が必要になった場合、上り坂を走行する場合、高速で走行する場合等は、駆動力が必要となる。そのような場合、車両が持っている駆動能力をできるだけ発揮できるように、駆動力を必要以上に小さくすることは避けたい。つまり、単にスリップ率λを小さくすれば良いというわけではなく、必要な駆動力を確保しながら不安定領域にならないようにスリップ率λを制御することが必要である。
【００８７】
このため、凍結路面のように滑りやすい路面の場合には利得係数ｋを大きくし、乾燥路面のように滑りにくい路面の場合には利得係数ｋを小さくするという、路面状態に適応して利得係数ｋを決定できることが望ましい。ところで、上述した図３に示されるように、駆動輪ＷＨのスリップ率と、路面に対する駆動輪ＷＨの摩擦係数との関係は、路面状態に対応する変化態様によって、路面が滑りやすくなる程、スリップ率λに対して摩擦係数μが小さくなるという性質があることが判る。
【００８８】
かかる性質を利用して、スリップ率λが大きいほど、又は、摩擦係数μが小さいほど、利得係数ｋを大きくする設定にすれば、滑りやすい路面では利得係数ｋが大きくなり、滑りにくい路面では利得係数ｋが小さくなる。この結果、滑りやすい路面ではスリップ抑制効果が高まるとともに、滑りにくい路面では不必要なトルク低下を防げる。
【００８９】
そこで、次の（２１）式により、利得係数ｋを算出するようにする。
ｋ＝ｂ・（λ／μ）                      …（２１）
【００９０】
この（２１）式によれば、利得係数ｋは、スリップ率λに比例し、摩擦係数に反比例するので、滑りやすい状態ほど大きな値となる。なお、時定数τを、上述した（２０）式を利用して、利得係数ｋに応じて設定することにすれば、トラクション制御の安定性と制御帯域の維持とを両立できる。すなわち、利得係数ｋと時定数τとが、走行中の推定λ値と推定μ値とに応じて、適応的に設定されることになる。
【００９１】
なお、係数ｂは、駆動輪ＷＨの慣性モーメントＪw、移動体ＭＶの重量Ｍ、及び、駆動輪ＷＨの半径ｒにより、適切な値が定まる。このため、係数ｂは、事前のシミュレーション及び実験により、適切な値に決定可能である。かかる係数ｂの決定に際しては、凍結路面での高利得と乾燥路面での低利得のバランスが考慮される。
【００９２】
なお、無駄時間Ｌ＝２０［ｍｓｅｃ］、モータのトルク応答の時定数τ1＝１０［ｍｓｅｃ］、慣性モーメントＪw＝５．７［ｋｇ・ｍ2］、移動体ＭＶの重量Ｍ＝１６５０［ｋｇ］、及び、駆動輪ＷＨの半径ｒ＝０．２９５［ｍ］とした場合には、シミュレーション及び実験により、係数ｂの好ましい値として、「４」が得られた。こうして得られた係数ｂ（＝４）を採用した場合に、（２１）式を従って定まる利得係数ｋの例は、以下の通りである。
【００９３】
例えば、図３の凍結路面において、スリップ率λが０．２５のときは、摩擦係数μが約０．１である。この動作点はスリップ率が増大し始める安定領域と不安定領域の境界であるため、スリップ抑制性能は高めておきたい。例えば、係数ｂを「４」とすれば、利得係数ｋは１０となり、高利得設定となる。
【００９４】
また、例えば、図３の乾燥路面において、スリップ率λが０．０５のときは、摩擦係数μが約０．４である。この動作点は摩擦係数μの最大値に対して余裕がある状態であるため、不必要なトルク低下は避けたい。例えば、係数ｂが「４」であれば、利得係数ｋは０．５となり、低利得設定となる。
【００９５】
なお、乾燥路面での安定領域と不安定領域との境界である(スリップ率λ＝０．２、摩擦係数μ≒０．８)の動作点では、係数ｂが「４」だと、利得係数ｋが１．０となる。境界の動作点にしては利得が低めに見えるが問題にはならない。その理由は以下の通りである。
【００９６】
通常の車両においては、乾燥路面での摩擦係数μが最大となる駆動力よりも十分大きなトルクを発生できるようにはなっていない。なぜならば、駆動力よりも十分大きなトルクを出力することは不必要であり、モータ重量の増大やコストの増加となってメリットが無いからである。このため、摩擦係数μが最大となる駆動力よりもトルクが上回るとしても、その差は大きくはなく、制御によるトルク低減量は少しで済むため、利得係数ｋが１と小さめであっても十分である。
【００９７】
一方、凍結路面の場合は、低いトルク指令値でも簡単にμの最大値となる駆動力が得られる。換言すると、アクセルペダルをあまり踏んでいなくても、たやすくスリップ状態に陥る。もし、アクセルペダルを強く踏んだ場合は大きなトルク指令値となるため、摩擦係数μが最大となる駆動力との差が大きく、トラクション制御によるトルク低減量は多くしなければならない。
【００９８】
なお、凍結路面でのスリップ抑制を重視する場合は、係数ｂを大きくして利得を高めにするとよい。一方、乾燥路面での不必要なトルク低下の回避を重視する場合は、係数ｂを小さくして利得を低めにするとよい。
【００９９】
また、乗車人数や積載荷物重量によって車重は変わるので、車重を検出可能であれば、検出結果に応じて係数ｂを設定することが可能である。例えば、慣性モーメントＪw＝５．７［ｋｇ・ｍ2］、移動体ＭＶの重量Ｍ＝１６５０［ｋｇ］、及び、駆動輪ＷＨの半径ｒ＝０．２９５［ｍ］、係数ｂ＝４の場合には、図３の凍結路面におけるスリップ率λ＝０．２５、摩擦係数μ＝０．１の動作点では、（１８）式における利得は「２．５７」である。もし、移動体ＭＶの重量が４００［ｋｇ］増加した場合、係数ｂ＝４のままだと当該利得は「２．８５」となる。当該利得を、移動体ＭＶの重量Ｍ＝１６５０［ｋｇ］のときと同じ「２．５７」としたい場合には、係数ｂ＝３．６とすることにより実現することができる。
【０１００】
以上、駆動時に着目してトラクション制御系の説明を行ったが、制動時においても、駆動時と同様にして、モデル追従制御を採用したトラクション制御を行うことができる。
【０１０１】
［トラクション制御装置］
次に、図１１を主に参照して、本実施形態に係るトラクション制御装置３００について説明する。なお、トラクション制御装置３００は、移動体ＭＶ内に配置されるようになっている。
【０１０２】
＜構成＞
図１１には、トラクション制御装置３００の概略的な構成が、ブロック図にて示されている。この図１１に示されるように、トラクション制御装置３００は、取得部３１０と、トルク命令値算出部３２０と、推定トルク値算出部３３０と、逆算トルク値算出部３４０とを備えている。また、トラクション制御装置３００は、減算部３５０と、フィルタ部３６０と、利得乗算部３７０とを備えている。さらに、トラクション制御装置３００は、記憶部３８０と、パラメータ算出部３９０とを備えている。
【０１０３】
上記の取得部３１０は、トルク指令値生成部９１０から送られたトルク指令値Ｔ*mを取得する。そして、取得部３１０は、取得されたトルク指令値Ｔ*mをトルク命令値算出部３２０へ送る。
【０１０４】
ここで、トルク指令値生成部９１０は、不図示のアクセル開度センサ、ブレーキ量センサ、角速度センサ等によるトルク指令値Ｔ*mの生成に利用される検出結果に基づいて、トルク指令値Ｔ*mを生成する。こうして生成されたトルク指令値Ｔ*mが、トラクション制御装置３００へ送られる。
【０１０５】
また、取得部３１０は、回転速度センサ９２０から送られた回転速度ωを取得する。そして、取得部３１０は、取得された回転速度ωを逆算トルク値算出部３４０へ送る。
【０１０６】
ここで、回転速度センサ９２０は、移動体ＭＶの駆動輪ＷＨの回転速度ωを検出する。こうして検出された回転速度ωが、トラクション制御装置３００へ送られる。
【０１０７】
また、取得部３１０は、摩擦係数推定部９３０から送られた摩擦係数μを取得する。そして、取得部３１０は、取得された摩擦係数μをパラメータ算出部３９０へ送る。
【０１０８】
ここで、摩擦係数推定部９３０には、例えば、特開２０１０−０５１１６０号公報等に記載されている既知の駆動力オブザーバの機能が実装されている。この摩擦係数推定部９３０は、当該駆動力オブザーバの機能により、回転速度センサ９２０により検出された回転速度ωと、モータ９６０を流れる電流を検出する不図示の電流センサによる検出結果から推定される実トルク値Ｔrとに基づいて、駆動輪ＷＨに対する駆動力Ｆdを推定する。そして、摩擦係数推定部９３０は、推定された駆動力Ｆdと、不図示の荷重センサ等により検出された駆動輪ＷＨに作用する垂直抗力Ｎとに基づいて、上述した（１０）式を利用して摩擦係数μを推定する。こうして推定された摩擦係数μが、トラクション制御装置３００へ送られる。
【０１０９】
さらに、取得部３１０は、スリップ率推定部９４０から送られたスリップ率λを取得する。そして、取得部３１０は、取得されたスリップ率λをパラメータ算出部３９０へ送る。
【０１１０】
ここで、スリップ率推定部９４０は、不図示の加速度センサにより検出された加速度の時間積分を行う等して、移動体ＭＶの速度ｖを推定する。そして、スリップ率推定部９４０は、推定された速度ｖと、回転速度センサ９２０により検出された回転速度ωとに基づいて、上述の（１１）式を利用して、スリップ率λを推定する。こうして推定されたスリップ率λが、トラクション制御装置３００へ送られる。
【０１１１】
上記のトルク命令値算出部３２０は、上述した減算ブロック５００の機能を実行する。このトルク命令値算出部３２０は、取得部３１０から送られたトルク指令値Ｔ*m、及び、利得乗算部３７０から送られた補正量Ｔbを受ける。そして、トルク命令値算出部３２０は、上述した（２）式を利用して、トルク命令値Ｔmを算出する。こうして算出されたトルク命令値Ｔmはインバータ９５０へ送られるとともに、推定トルク値算出部３３０へ送られる。
【０１１２】
ここで、インバータ９５０は、トラクション制御装置３００から送られた、トルク命令値Ｔmに従ってモータ駆動信号を生成し、生成されたモータ駆動信号をモータ９６０へ送る。この結果、モータ９６０は、当該モータ駆動信号に基づいてモータ回転運動を行い、駆動輪を回転させる。
【０１１３】
上記の推定トルク値算出部３３０は、上述したトルク伝達ブロック７１０の機能を実行する。この推定トルク値算出部３３０は、無駄時間Ｌ及びモータ９６０のトルク応答の時定数τ1を内部に保持している。
【０１１４】
推定トルク値算出部３３０は、トルク命令値算出部３２０から送られたトルク命令値Ｔmを受ける。そして、推定トルク値算出部３３０は、上述した（３）式を利用して、推定トルク値Ｔeを算出する。こうして算出された推定トルク値Ｔeは、減算部３５０へ送られる。
【０１１５】
上記の逆算トルク値算出部３４０は、上述した粘着モデルブロック７２０の機能を実行する。この逆算トルク値算出部３４０は、駆動輪ＷＨの慣性モーメントＪw、移動体ＭＶの重量Ｍ、及び、駆動輪ＷＨの半径ｒを保持している。
【０１１６】
逆算トルク値算出部３４０は、取得部３１０から送られた回転速度ωを受ける。そして、逆算トルク値算出部３４０は、上述した（４）式を利用して、逆算トルク値Ｔnを算出する。こうして算出された逆算トルク値Ｔnは、減算部３５０へ送られる。
【０１１７】
上記の減算部３５０は、上述した減算ブロック７３０の機能を実行する。この減算部３５０は、推定トルク値算出部３３０から送られた推定トルク値Ｔe、及び、逆算トルク値算出部３４０から送られた逆算トルク値Ｔnを受ける。そして、減算部３５０は、上述した（５）式を利用して、差分トルク値Ｔhを算出する。こうして算出された差分トルク値Ｔhは、フィルタ部３６０へ送られる。
【０１１８】
上記のフィルタ部３６０は、上述した１次遅れブロック７４０の機能を実行する。このフィルタ部３６０は、減算部３５０から送られた差分トルク値Ｔh、及び、パラメータ算出部３９０から送られた時定数τを受ける。そして、フィルタ部３６０は、上述した（６）式を利用して、差分トルク値Ｔhに対して時定数τの１次遅れ処理を施したフィルタ後トルク値Ｔfを算出する。こうして算出されたフィルタ後トルク値Ｔfは、利得乗算部３７０へ送る。
【０１１９】
上記の利得乗算部３７０は、上述した利得乗算ブロック７５０の機能を実行する。この利得乗算部３７０は、フィルタ部３６０から送られたフィルタ後トルク値Ｔf、及び、パラメータ算出部３９０から送られた利得係数ｋを受ける。そして、利得乗算部３７０は、上述した（７）式を利用して、補正量Ｔbを算出する。こうして算出された補正量Ｔbは、トルク命令値算出部３２０へ送られる。
【０１２０】
上記の記憶部３８０は、不揮発性の記憶素子を備えて構成されている。この記憶部３８０には、上述したように、無駄時間Ｌ、モータのトルク応答の時定数τ1、慣性モーメントＪw、移動体ＭＶの重量Ｍ、及び、駆動輪ＷＨの半径ｒにより定まり、上述した（２０）式の利用に際して必要となる係数ａが記憶される。また、記憶部３８０には、上述したように、無駄時間Ｌ、モータのトルク応答の時定数τ1、慣性モーメントＪw、移動体ＭＶの重量Ｍ、及び、駆動輪ＷＨの半径ｒにより定まり、上述した（２１）式の利用に際して必要となる係数ｂが記憶される。
【０１２１】
なお、記憶部３８０には、パラメータ算出部３９０がアクセス可能となっている。
【０１２２】
上記のパラメータ算出部３９０は、取得部３１０から送られた摩擦係数μ及びスリップ率λを受ける。そして、パラメータ算出部３９０は、記憶部３８０に記憶されている係数ｂを参照し、上述した（２１）式を利用して、利得係数ｋを算出する。引き続き、パラメータ算出部３９０は、記憶部３８０に記憶されている係数ａを参照し、上述した（２０）式を利用して、時定数τを算出する。
【０１２３】
こうして算出された利得係数ｋは、利得乗算部３７０へ送られる。また、算出された時定数τは、フィルタ部３６０へ送られる。
【０１２４】
なお、慣性モーメントＪw、移動体ＭＶの重量Ｍ、及び、駆動輪ＷＨの半径ｒは既知であるが、無駄時間Ｌ及びモータのトルク応答の時定数τ1のいずれか未知である場合には、係数ａを定めることができない。こうした場合には、上述した図９に例示されているような、係数ａと、無駄時間Ｌと、時定数τ1との関係をテーブルとして記憶部３８０内に登録しておく。そして、実測等により、無駄時間Ｌ及び時定数τ1が既知となった時点で、当該テーブルを参照して係数ａを決定し、決定された係数ａを記憶部３８０内に記憶させるようにしてもよい。
【０１２５】
＜動作＞
次に、上記のように構成されたトラクション制御装置３００によるトラクション制御の動作について説明する。なお、トラクション制御は、移動体ＭＶの走行中に実行される。
【０１２６】
なお、トルク指令値生成部９１０からは、生成されたトルク指令値Ｔ*mが、逐次、トラクション制御装置３００へ送られているものとする。また、回転速度センサ９２０からは、回転速度ωが、逐次、トラクション制御装置３００へ送られているものとする。また、摩擦係数推定部９３０からは、推定された摩擦係数μが、逐次、トラクション制御装置３００へ送られているものとする。さらに、スリップ率推定部９４０からは、推定されたスリップ率λが、逐次、トラクション制御装置３００へ送られているものとする。
【０１２７】
そして、取得部３１０は、取得されたトルク指令値Ｔ*mを、逐次、トルク命令値算出部３２０へ送っているものとする。また、取得部３１０は、取得された回転速度ωを、逐次、逆算トルク値算出部３４０へ送っているものとする。さらに、取得部３１０は、取得された摩擦係数μ及びスリップ率λを、逐次、パラメータ算出部３９０へ送っているものとする。
【０１２８】
また、記憶部３８０内には、係数ａ，ｂが記憶されているものとする。
【０１２９】
こうした動作環境下において、移動体ＭＶが走行している場合には、パラメータ算出部３９０は、取得部３１０から送られた摩擦係数μ及びスリップ率λ、並びに、記憶部３８０内の係数ｂに基づいて、上述した（２１）式を利用して、利得係数ｋを算出する。引き続き、パラメータ算出部３９０は、当該利得係数ｋ及び記憶部３８０内の係数ａに基づいて、上述した（２０）式を利用して、時定数τを算出する。
【０１３０】
そして、パラメータ算出部３９０は、算出された利得係数ｋを利得乗算部３７０へ送るとともに、算出された時定数τをフィルタ部３６０へ送る。この結果、利得乗算部３７０において、算出された利得係数ｋが設定されるとともに、フィルタ部３６０において、算出された時定数τが設定される。こうした設定が行われると、トルク命令値算出部３２０、推定トルク値算出部３３０、逆算トルク値算出部３４０、減算部３５０、フィルタ部３６０及び利得乗算部３７０が協働して、トルク指令値Ｔ*m及び回転速度ωを入力とする当該設定によるモデル追従制御が実行される。
【０１３１】
以後、利得係数ｋ及び時定数τの新たな算出及び新たな設定、並びに、当該トルク指令値Ｔ*m及び回転速度ωを入力とする当該新たな設定によるモデル追従制御が繰り返される。かかる繰り返しにより、トラクション制御が行われる。
【０１３２】
以上説明したように、本実施形態では、取得部３１０が、駆動輪ＷＨに対するトルク指令値Ｔ*m、駆動輪ＷＨの回転速度ω、駆動輪ＷＨの路面に対する推定された摩擦係数μ、及び、駆動輪ＷＨのスリップ率λを取得する。パラメータ算出部３９０が、取得部３１０から送られた摩擦係数μ及びスリップ率λ、並びに、記憶部３８０内の係数ｂに基づいて、走行路面状態に対して適応的な利得係数ｋを算出する。引き続き、パラメータ算出部３９０が、当該利得係数ｋ及び記憶部３８０内の係数ａに基づいて、トラクション制御の安定性を確保できる適応的な時定数τを算出する。そして、利得乗算部３７０において、当該算出された利得係数ｋが設定されるとともに、フィルタ部３６０において、当該算出された時定数τが設定される。こうした設定が行われると、当該設定に従って、駆動輪ＷＨにスリップが生じない粘着モデルを規範モデルとするモデル追従制御が実行される。
【０１３３】
かかるモデル追従制御に際しては、トルク命令値算出部３２０が、トルク指令値Ｔ*mと、補正量Ｔbとに基づいて、駆動輪ＷＨを駆動するモータ９６０へ向けて出力するトルク命令値Ｔmを算出する。次に、推定トルク値算出部３３０が、算出されたトルク命令値と、駆動輪ＷＨへのトルク伝達モデルとに基づいて、駆動輪ＷＨに作用する推定トルク値Ｔeを算出する。かかる推定トルク値Ｔeの算出と並行して、逆算トルク値算出部３４０が、スリップが生じない粘着モデルに従って、取得された回転速度ωに対応する逆算トルク値Ｔnを算出する。
【０１３４】
次いで、減算部３５０が、推定トルク値Ｔnから逆算トルク値Ｔeを差し引いた差分トルク値Ｔhを算出する。引き続き、フィルタ部３６０が、差分トルク値Ｔhに対して、時定数τの１次遅れを付与したフィルタ後トルク値Ｔfを算出する。そして、利得乗算部３７０が、フィルタ後トルク値Ｔfに利得係数ｋを乗じて補正量Ｔbを算出し、算出された補正量Ｔbをトルク命令値算出部３２０へ帰還させる。
【０１３５】
したがって、本実施形態によれば、制御安定性を保ちつつスリップ抑制性能を高めるとともに、路面状態に応じて、必要な駆動力を確保しつつ安定な走行を実現することができるトラクション制御を行うことができる。
【０１３６】
［実施形態の変形］
本発明は、上記の実施形態に限定されるものではなく、様々な変形が可能である。
【０１３７】
例えば、上記の実施形態では、摩擦係数推定部９３０及びスリップ率推定部９４０を、トラクション制御装置３００の外部に配置するようにした。これに対し、トラクション制御装置が、摩擦係数推定部及びスリップ率推定部を備える構成としてもよい。
【０１３８】
また、上記の実施形態の説明では、摩擦係数推定部９３０は、荷重センサによる検出結果に基づいて、駆動輪ＷＨに作用する垂直抗力Ｎを推定するようにした。これに対し、移動体ＭＶの重量Ｍ及び重心位置が既知である場合には、荷重センサを利用せずに、移動体ＭＶに搭載された加速度センサ、角速度センサ及びジャイロセンサによる検出結果を適宜利用しつつ、垂直抗力Ｎを推定するようにしてもよい。
【０１３９】
また、上記の実施形態の説明では、スリップ率推定部９４０による速度ｖの推定に際して、加速度センサによる検出結果を時間積分する手法を例示した。これに対し、例えば、移動体ＭＶと所定の位置関係にある路面領域を撮影し、撮影結果の時間変化を解析することにより、速度ｖを推定するようにしてもよい。
【０１４０】
また、上記の実施形態では、スリップ率λと摩擦係数μとの比に基づいて、上述した（２１）により、利得係数ｋを算出することにした。これに対し、定数ｃの値を０以上とし、次の（２２）式によって利得係数ｋを算出してもよい。
ｋ＝ｂ・（λ／μ）＋ｃ                      …（２２）
【０１４１】
この（２２）式のように、定数ｃを加えることにより、適応的に計算される利得係数ｋに一定量の大きさを持たせることができる。スリップ率λや摩擦係数μがゼロに近いときの利得係数ｋの変化を和らげることができ、路面状態の変化に過剰に反応することを防ぐ効果がある。かかる定数ｃの適切な値は、実験、シミュレーションにより、予め定められる。なお、（２１）式は、（２２）式の定数ｃが０になった場合である。
【０１４２】
また、上記の実施形態では、スリップ率λと摩擦係数μとの比に基づいて利得係数ｋを算出することにした。これに対し、次の（２３）式により、スリップ率λを参照せずに、利得係数ｋを算出するようにしてもよい。
ｋ＝ｄ／μ                              …（２３）
【０１４３】
これは、上述の（１８）式においては、利得にスリップ率が影響しているため、既に、スリップ率に適応していると考えることもできるからである。このため、（１８）式には現れない摩擦係数μのみを利用する（２３）式により利得係数ｋを算出しても、（１８）式における利得が、スリップ率λと摩擦係数μとの双方に適応した値に設定されることになる。この場合には、トラクション制御に際して、リアルタイムでスリップ率を推定する必要が無くなるので、速度ｖの検出のためのセンサ、及び、当該センサによる検出結果に基づく速度算出資源を省略することができる。なお、係数ｄは、シミュレーションや実験によって適切な値を決めることができる。
【０１４４】
さらに、次の（２４）式によって利得係数ｋを算出してもよい。
ｋ＝ｄ／μ＋ｅ・λ                      …（２４）
【０１４５】
スリップ率λを算出できるものの、算出されたスリップ率λの精度が低い場合は、係数ｅを小さめにすることで、スリップ率λへの適応度合いを相対的に下げることができる。かかる定数ｅの適切な値は、実験、シミュレーションにより、予め定められる。なお、（２３）式は、（２４）式の係数ｅが０になった場合である。
【０１４６】
また、上記の実施形態では、係数ｂは、スリップ率λ及び摩擦係数μに依存した値とした。これに対し、スリップ率λ及び摩擦係数μに応じて利得係数ｋを決定するためのテーブルを作成するようにしてもよい。この場合には、スリップ率λ又は摩擦係数μの重み付け等の処理を行って利得係数ｋを決定したり、図３，４における安定領域と不安定領域とで、路面状態に対する適応度を変化させたりすることを容易に行うことができる。
【０１４７】
なお、スリップ率λ及び摩擦係数μに応じて利得係数ｋを決定するためのテーブルの内容の例が、図１２に示されている。ここで、図１２（Ａ）には、スリップ率λが増加するほど、利得係数ｋの増加度が大きくする例が示されている。また、図１２（Ｂ）には、図３，４における安定領域と不安定領域との境界で、スリップ率λの増大に伴う利得係数ｋの増加度が変化する例が示されている。
【０１４８】
また、安定性を確保する目的のみであれば、（２０）式の代わりに、次の（２５）式を満たすように時定数τを設定すればよい。
τ≧ａ・ｋ                              …（２５）
【０１４９】
この（２５）式の条件を満たす時定数τであれば、制御帯域は狭くなるものの、ゲイン余裕と位相余裕とが大きくなるため、より安定性は高くなる。したがって、凍結路面でのスリップ状態を想定して、利得係数ｋの値を求めるために用いている（２１）式〜（２４）式、あるいは図１２で示すようなテーブルから利得係数ｋの最大値を推定し、その最大値に係数ａを乗じて算出した時定数τを固定値として設定することもできる。走行中に適応的に求められる利得係数ｋの値が小さい場合、利得係数ｋの最大値から計算された時定数τが用いられるため、安定性には問題ないが、制御帯域が狭くなる。しかし、利得係数ｋの値が小さいときは乾燥路面であまりスリップしていない状態のため、スリップ抑制の制御帯域が低くても問題にはならない。すなわち、適応的に生成される利得係数ｋが取り得る最大値を推定して計算した時定数τの値を固定値として設定することも可能である。
【実施例】
【０１５０】
次に、本発明の一実施例を、図１３〜図１７を主に参照して説明する。なお、以下の説明においては、上述した実施形態を含めて、同一又は同等の要素には同一の符号を付し、重複する説明を極力省略する。
【０１５１】
［構成］
図１３には、一実施例に係るトラクション制御装置１００の構成が概略的に示されている。この図１３に示されるように、トラクション制御装置１００は、移動体ＭＶとしての車両ＣＲ内に配置される。なお、車両ＣＲは、互いに独立に駆動可能な４つの駆動輪である左前側駆動輪ＷＨFL、右前側駆動輪ＷＨFR、左後側駆動輪ＷＨRL及び右後側駆動輪ＷＨRRの４つの駆動輪を備えている。
【０１５２】
車両ＣＲには、トルク指令値生成部９１０、回転速度センサ９２０j（ｊ＝ＦＬ，ＦＲ，ＲＬ，ＲＲ）、インバータ９５０j、モータ９６０j、荷重センサ９７０j、電流センサ９７５j、加速度センサ９８０及び各種センサ９９０が搭載されている。ここで、回転速度センサ９２０j、インバータ９５０j、モータ９６０j、荷重センサ９７０j及び電流センサ９７５jは、駆動輪ＷＨjに対応して設置されている。
【０１５３】
上記のトルク指令値生成部９１０は、各種センサ９９０に含まれるアクセル開度センサ、ブレーキ量センサ、角速度センサ等による検出結果に基づいて、駆動輪ＷＨjごとに対応するトルク指令値Ｔ*m,jを生成する。こうして生成されたトルク指令値Ｔ*m,jは、トラクション制御装置１００へ送られる。
【０１５４】
上記の回転速度センサ９２０jのそれぞれは、対応する駆動輪ＷＨjの回転速度ωjを検出する。こうして検出された回転速度ωjは、トラクション制御装置１００へ送られる。
【０１５５】
上記のインバータ９５０jのそれぞれは、トラクション制御装置１００から送られた、トルク命令値Ｔm,jに対応するトルク発生信号を受ける。そして、インバータ９５０jのそれぞれは、当該トルク発生信号に従ってモータ駆動信号を生成し、生成されたモータ駆動信号をモータ９６０jへ送る。
【０１５６】
上記のモータ９６０jのそれぞれは、対応するインバータから送られたモータ駆動信号を受ける。そして、モータ９６０jのそれぞれは、当該モータ駆動信号に基づいてモータ回転運動を行い、駆動輪ＷＨjを回転させる。
【０１５７】
上記の荷重センサ９７０jのそれぞれは、対応する駆動輪ＷＨjにかかる荷重、すなわち、垂直抗力Ｎjを検出する。こうして検出された垂直抗力Ｎjは、トラクション制御装置１００へ送られる。
【０１５８】
上記の電流センサ９７５jのそれぞれは、対応する駆動輪ＷＨjの駆動するモータを流れる電流Ｉjを検出する。こうして検出された電流Ｉjは、トラクション制御装置１００へ送られる。
【０１５９】
上記の加速度センサ９８０は、車両ＣＲの加速度αを検出する。こうして検出された加速度αは、トラクション制御装置１００へ送られる。
【０１６０】
次に、トラクション制御装置１００の構成について説明する。図１３に示されるように、トラクション制御装置１００は、制御ユニット１１０と、記憶ユニット１２０とを備えている。そして、制御ユニット１１０には、トルク指令値生成部９１０と、回転速度センサ９２０jと、荷重センサ９７０jと、電流センサ９７５jと、加速度センサ９８０とが接続されている。
【０１６１】
上記の制御ユニット１１０は、演算部としての中央処理装置（ＣＰＵ）、ＤＳＰ（Digital Signal Processor）を備えて構成される。この制御ユニット１１０は、プログラムを実行することにより、上述した実施形態における取得部３１０、トルク命令値算出部３２０、推定トルク値算出部３３０、逆算トルク値算出部３４０、減算部３５０、フィルタ部３６０、利得乗算部３７０、パラメータ算出部３９０、並びに、摩擦係数推定部９３０及びスリップ率推定部９４０としての機能を果たすようになっている。
【０１６２】
制御ユニット１１０が実行するプログラムは、記憶ユニット１２０に記憶され、記録ユニットからロードされて実行される。このプログラムは、ＣＤ−ＲＯＭ、ＤＶＤ等の可搬型記録媒体に記録された形態で取得されるようにしてもよいし、インターネットなどのネットワークを介した配信の形態で取得されるようにしてもよい。
【０１６３】
なお、制御ユニット１１０が実行する処理については、後述する。
【０１６４】
上記の記憶ユニット１２０は、上述したプログラム等の制御ユニット１１０が利用する様々な情報データが記憶される。こうした情報データには、駆動輪ＷＨjに対応する無駄時間Ｌj、駆動輪ＷＨjに対応するモータ９６０jのトルク応答の時定数τ1,j、駆動輪ＷＨjの慣性モーメントＪw,j、駆動輪ＷＨjに対する分配質量Ｍj、及び、駆動輪ＷＨjの半径ｒj、並びに、駆動輪ＷＨjに対応する係数ａj，ｂjが含まれている。この記憶ユニット１２０には、制御ユニット１１０がアクセスできるようになっている。
【０１６５】
本実施例においては、停止時の車両ＣＲが水平状態にある場合における荷重センサ９７０jのそれぞれによる検出結果に基づいて分配質量Ｍjが把握され、把握された分配質量Ｍjが記憶ユニット１２０内に記憶されるようになっている。また、駆動輪ＷＨjに対応する無駄時間Ｌj、駆動輪ＷＨjに対応するモータ９６０jのトルク応答の時定数τ1,j、駆動輪ＷＨjの慣性モーメントＪw,j、及び、駆動輪ＷＨjの半径ｒj、並びに、係数ａj，ｂjは、車両ＣＲの既知の仕様に基づいて求められて、記憶ユニット１２０内に記憶されるようになっている。
【０１６６】
なお、駆動輪ＷＨjに対応する無駄時間Ｌj、駆動輪ＷＨjに対応するモータ９６０jのトルク応答の時定数τ1,j、駆動輪ＷＨjの慣性モーメントＪw,j、及び、駆動輪ＷＨjの半径ｒjのいずれかについて、車両ＣＲの既知の仕様に基づいて求められない場合には、実測により求めるようにしてもよい。
【０１６７】
［動作］
次に、上記のように構成されたトラクション制御装置１００によるトラクション制御の動作について、制御ユニット１１０による処理に着目して説明する。
【０１６８】
なお、トルク指令値生成部９１０からは、生成されたトルク指令値Ｔ*m,jが、逐次、トラクション制御装置１００へ送られているものとする。また、回転速度センサ９２０jからは、検出された回転速度ωjが、逐次、トラクション制御装置１００へ送られているものとする。また、荷重センサ９７０jからは、検出された垂直抗力Ｎjが、逐次、トラクション制御装置１００へ送られているものとする。また、電流センサ９７５jからは、検出された電流値Ｉjが、逐次、トラクション制御装置１００へ送られているものとする。さらに、加速度センサ９８０からは、検出された加速度αが、逐次、トラクション制御装置１００へ送られているものとする。
【０１６９】
また、駆動輪ＷＨjに対応する無駄時間Ｌj、駆動輪ＷＨjに対応するモータ９６０jのトルク応答の時定数τ1,j、駆動輪ＷＨjの慣性モーメントＪw,j、駆動輪ＷＨjに対する分配質量Ｍj、及び、駆動輪ＷＨjの半径ｒj、並びに、係数ａj，ｂjは、既に記憶ユニット１２０内に記憶されているものとする。
【０１７０】
トラクション制御の処理に際しては、図１４に示されるように、まず、ステップＳ１１において、制御ユニット１１０が、車両ＣＲが走行中であるか否かを判定する。かかる判定は、駆動輪ＷＨjの回転速度ωjの全てが「０」あるいは加速度αの時間積分値が「０」であるといえるか否かを判定することにより行われる。ステップＳ１１における判定の結果が否定的であった場合（ステップＳ１１：Ｎ）には、ステップＳ１１の処理が繰り返される。
【０１７１】
ステップＳ１１における判定の結果が肯定的であった場合（ステップＳ１１：Ｙ）には、処理はステップＳ１２へ進む。このステップＳ１２では、制御ユニット１１０は、その時点における回転速度ωj、垂直抗力Ｎj、電流値Ｉj及び加速度αを取得する。
【０１７２】
次に、ステップＳ１３において、制御ユニット１１０が、摩擦係数μj及びスリップ率λjを推定する。かかる摩擦係数μjの推定に際しては、制御ユニット１１０は、まず、上述した駆動力オブザーバの機能により、回転速度ωjと、電流値Ｉjから推定される実トルク値Ｔr,jとに基づいて、駆動輪に対する駆動力Ｆd,jを推定する。そして、制御ユニット１１０は、駆動力Ｆd,jと、垂直抗力Ｎjとに基づいて、上述した（１０）式を利用して摩擦係数μjを推定する。
【０１７３】
また、スリップ率λjの推定に際しては、制御ユニット１１０は、まず、加速度αの時間積分を行って、車両ＣＲの速度ｖを推定する。そして、制御ユニット１１０は、推定された速度ｖと、回転速度ωjとに基づいて、上述の（１１）式を利用して、スリップ率λjを推定する。
【０１７４】
次いで、ステップＳ１４において、制御ユニット１１０が、推定された摩擦係数μj及びスリップ率λj、並びに、記憶ユニット１２０内の係数ａj，ｂjに基づいて、利得係数ｋj及び時定数τjを算出する。かかる利得係数ｋj及び時定数τjの算出に際して、制御ユニット１１０は、まず、摩擦係数μj、スリップ率λj及び係数ｂjに基づいて、上述した（２１）式を利用して、利得係数ｋjを算出する。引き続き、制御ユニット１１０は、算出された利得係数ｋj及び係数ａjに基づいて、上述した（２０）式を利用して、時定数τjを算出する。
【０１７５】
次に、ステップＳ１５において、制御ユニット１１０が、その時点におけるトルク指令値Ｔ*m,jを取得する。そして、ステップＳ１６において、制御ユニット１１０が、モデル追従制御の処理を実行する。
【０１７６】
かかるモデル追従制御の処理に際して、制御ユニット１１０は、取得されたトルク指令値Ｔ*m,jと、その時点の補正量Ｔb,jとに基づいて、上述した（２）式を利用して、トルク命令値Ｔm,jを算出し、算出されたトルク命令値Ｔm,jに対応するトルク発生信号をインバータ９５０jへ送る。この結果、インバータ９５０jは、当該トルク発生信号に従ってモータ駆動信号を生成し、生成されたモータ駆動信号をモータ９６０jへ送る。そして、モータ９６０jは、当該モータ駆動信号に基づいて回転運動を行い、駆動輪ＷＨjを回転させる。
【０１７７】
上述したようにしてトルク命令値Ｔm,jを算出した制御ユニット１１０は、トルク命令値Ｔm,jに基づいて、上述した（３）式を利用して、推定トルク値Ｔe,jを算出する。かかる推定トルク値Ｔe,jの算出と相前後して、制御ユニット１１０は、スリップが生じない粘着モデルに従って、回転速度ωjに対応する逆算トルク値Ｔn,jを、上述した（４）式を利用して算出する。
【０１７８】
次に、制御ユニット１１０は、逆算トルク値Ｔn,jから推定トルク値Ｔe,jを差し引いた差分トルク値Ｔh,jを、上述した（５）を利用して算出する。引き続き、制御ユニット１１０は、時定数τの１次遅れを付与したフィルタ後トルク値Ｔf,jを、上述した（６）式を利用して算出する。そして、制御ユニット１１０が、フィルタ後トルク値Ｔf,jに利得係数ｋjを乗じて補正量Ｔb,jを算出する。
【０１７９】
こうして新たな補正量Ｔb,jが算出されると、ステップＳ１６の処理が終了し、処理はステップＳ１１へ戻る。以後、ステップＳ１１〜Ｓ１６の処理が繰り返されることにより、駆動輪ＷＨjに対するトラクション制御が行われる。
【０１８０】
上記のようにして行われるトラクション制御装置１００によるトラクション制御についてのシミュレーション結果の例が図１５に示されている。なお、図１５には、利得係数ｋjと時定数τjとを固定した場合が併せて示されている。
【０１８１】
このシミュレーション結果から判るように、利得係数ｋjと時定数τjとを固定した場合と比較して、本実施例のように、路面状態に対して適応的に利得係数ｋjと時定数τjとを生成した場合は、凍結路面でのスリップ抑制性能と、乾燥路面での不必要なトルク低下防止とが両立できている。また、路面状態の変化に対しても問題となるような不安定動作は生じていない。すなわち、路面状態に対する利得係数ｋjと時定数τjとの適応的な生成は、スリップ抑制性能及び不必要なトルク低下防止の両立の観点から効果的であると言えることが、シミュレーションにより確認された。
【０１８２】
また、小型の模型車両を用いて、利得係数ｋjと時定数τjとを固定した場合と、本実施例のように路面状態に対して適応的に利得係数ｋjと時定数τjとを生成した場合との実験を行った。この実験結果が、図１６及び図１７に示されている。ここで、図１６には、滑りやすい路面の場合の実験例が示されている。また、図１７には、滑りにくい路面の場合の実験例が示されている。
【０１８３】
図１６に示される滑りやすい路面の場合、発進直後の０．１〜０．６［ｓｅｃ］の期間において、低利得固定では車輪速度の増加を抑えられていないが、本実施例のように、適応的に利得係数ｋjと時定数τjとを生成した場合には、高利得固定の場合と同様に、車輪速度の増加が抑えられている。なお、上記の図１６では、車体速度が遅いため、実験を行った３種の場合間におけるスリップ率λjについては差が見えにくいが、いずれの場合においてもスリップ抑制効果がはたらいているといえる。
【０１８４】
一方、図１７に示される滑りにくい路面の場合、発進直後の０．１〜０．５［ｓｅｃ］の期間において、高利得固定では、車輪速度の増加が抑えられている。そして、発進直後の０．３〜０．８［ｓｅｃ］の期間において、車体速度の上昇が少なくなっている。すなわち、高利得固定では、不必要な車輪速度の抑制が生じていると言える。しかしながら、本実施例のように適応的に利得係数ｋjと時定数τjとを生成した場合には、低利得固定の場合と同様に、車輪速度が抑制されていないため、十分な加速が得られている。
【０１８５】
この結果、図１５に示されたシミュレーション結果と同様に、本実施例のように適応的に利得係数ｋjと時定数τjとを生成することにより、滑りやすい状態ではスリップ抑制性能が高く、滑りにくい状態では不必要なトルク低下が無いという良好な結果が得られることが確認された。
【０１８６】
以上説明したように、本実施例では、制御ユニット１１０が、駆動輪ＷＨjの路面に対する摩擦係数μj及びスリップ率λj、並びに、駆動輪ＷＨjの慣性モーメントＪw,j、駆動輪ＷＨjに対する分配質量Ｍj、及び、駆動輪ＷＨjの半径ｒjに応じて適切な値が決定された係数ｂjに基づいて、走行路面状態に対して適応的な利得係数ｋjを算出する。引き続き、制御ユニット１１０が、車両ＣＲにおける駆動輪ＷＨjの慣性モーメントＪw,j、駆動輪ＷＨjに対する分配質量Ｍj、駆動輪ＷＨjの半径ｒj、無駄時間Ｌj及びモータ９６０jのトルク応答の時定数τ1,jに応じて定まる係数ａjと、利得係数ｋjとに基づいて、トラクション制御の安定性を確保できる適応的な時定数τjを算出する。そして、当該算出された利得係数ｋjが設定されるとともに、当該算出された時定数τjが設定された状態で、駆動輪ＷＨjにスリップが生じない粘着モデルを規範モデルとするモデル追従制御が実行される。
【０１８７】
したがって、本実施例によれば、制御安定性を保ちつつスリップ抑制性能を高めるとともに、路面状態に応じて、必要な駆動力を確保しつつ安定な走行を実現することができるトラクション制御を行うことができる。
【０１８８】
［実施例の変形］
本発明は、上記の実施例に限定されるものではなく、様々な変形が可能である。
【０１８９】
例えば、上記の実施例では、移動体が、互いに独立して駆動可能な４個の駆動輪を有する車両ＣＲであるについて、本発明を適用した。これに対し、移動体が１個以上の駆動輪を有する場合には、本発明を適用して、トラクション制御を行うことができる。なお、移動体が複数個の駆動輪を有する場合には、個々の駆動輪を独立して駆動可能であるか否かにかかわらず、本発明を適用して、トラクション制御を行うことができる。
【０１９０】
また、上記の実施例については、上述した実施形態に対する変形と同様の変形を適宜施すことができる。
【０１９１】
すなわち、上記の実施例では、荷重センサによる検出結果に基づいて、駆動輪に作用する垂直抗力Ｎを推定するようにした。これに対し、車両の重量Ｍ及び重心位置が既知である場合には、荷重センサを利用せずに、車両に搭載された加速度センサ、角速度センサ及びジャイロセンサによる検出結果を適宜利用しつつ、垂直抗力Ｎを推定するようにしてもよい。
【０１９２】
また、上記の実施例では、加速度センサによる検出結果を時間積分して速度ｖを推定するようにした。これに対し、例えば、車両と所定の位置関係にある路面領域を撮影し、撮影結果の時間変化を解析することにより、速度ｖを推定するようにしてもよい。また、非駆動輪は、制動時以外はスリップ率がほぼゼロであるため、非駆動輪の回転速度を検出して速度ｖを推定するようにしてもよい。
【０１９３】
また、上記の実施例では、上述した（２１）式を利用して、スリップ率λjと摩擦係数μjとの比に基づいて利得係数ｋjを算出することにした。これに対し、上述した（２２）〜（２４）式により、利得係数ｋjを算出するようにしてもよい。
【０１９４】
また、上記の実施例では、係数ｂjは、スリップ率λj及び摩擦係数μjに依存した値とした。これに対し、スリップ率λj及び摩擦係数μjに応じて利得係数ｋjを決定するためのテーブルを作成するようにしてもよい。
【０１９５】
また、図１３の電流センサ９７５jのそれぞれは、対応するモータ９６０jを流れる電流Ｉjを検出するが、この検出した電流Ｉjは実際にモータを駆動するための電流であるため、この電流値にトルク定数Ｋt,jを乗ずることで、推定トルク値Ｔe,jを求めることができる。したがって、（３）式の代わりに、Ｔe,j＝Ｋt,j・Ｉj という式から推定トルク値Ｔe,jを算出してもよい。
【０１９６】
また、上記の方法で求めた推定トルク値Ｔe,jと、トルク命令値Ｔm,jの信号とを時間軸上で比較すると、トルク命令値Ｔm,jから推定トルク値Ｔe,jまでの遅延により無駄時間Ｌの算出が可能となる。また、ステップ的にトルク命令値Ｔm,jを与えたときの推定トルク値Ｔe,jの立ち上がり特性によりトルク応答の時定数τ1,jの算出が可能となる。
【０１９７】
また、上述した実施形態で述べたように、安定性を確保する目的のみであれば、（２５）式を満たすように時定数τjを設定すればよい。
【符号の説明】
【０１９８】
１００  …  トラクション制御装置
１１０  …  制御ユニット（取得部、トルク命令値算出部、推定トルク値算出部、
逆算トルク値算出部、フィルタ部、利得乗算部）
３００  …  トラクション制御装置
３１０  …  取得部
３２０  …  トルク命令値算出部（制御部の一部）
３３０  …  推定トルク値算出部（制御部の一部）
３４０  …  逆算トルク値算出部（制御部の一部）
３６０  …  フィルタ部（制御部の一部）
３７０  …  利得乗算部（制御部の一部）
【図１】
0006302505.tif 000004
【図２】
0006302505.tif 000005
【図３】
0006302505.tif 000006
【図４】
0006302505.tif 000007
【図５】
0006302505.tif 000008
【図６】
0006302505.tif 000009
【図７】
0006302505.tif 000010
【図８】
0006302505.tif 000011
【図９】
0006302505.tif 000012
【図１０】
0006302505.tif 000013
【図１１】
0006302505.tif 000014
【図１２】
0006302505.tif 000015
【図１３】
0006302505.tif 000016
【図１４】
0006302505.tif 000017
【図１５】
0006302505.tif 000018
【図１６】
0006302505.tif 000019
【図１７】
0006302505.tif 000020