(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0020】
以下、本発明の一実施形態を、
図1〜
図11を参照して説明する。なお、以下の説明及び図面においては、同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
【0021】
[トラクション制御系の構成]
まず、一実施形態におけるトラクション制御装置が実装する駆動輪のトラクション制御系の構成について説明する。なお、本実施形態では、駆動輪はモータによって駆動されるようになっている。
【0022】
図1には、本実施形態で採用するモデル追従制御系700を含むトラクション制御系が、ブロック線図にて示されている。この
図1に示されるように、モデル追従制御系700は、減算ブロック500と協働して、実車両600のトラクション制御、すなわち、スリップ率低減制御を行うようになっている。
【0023】
なお、減算ブロック500から送られるトルク命令値T
mに対応した実車両600における駆動輪の回転速度ωの出力までは、実車両のモデルに基づき、トルク伝達ブロック610(伝達関数:Q(s))と駆動輪応答ブロック620(伝達関数:P(s))とが直列接続されたモデルで表現されるものとしている。なお、「s」はラプラス演算子である。
【0024】
上記のトルク伝達ブロック610は、減算ブロック500から出力されるトルク命令値T
mが、実トルク値T
rとして駆動輪に付与されるまでのトルク伝達モデルに基づくブロックである。このトルク伝達ブロック610は、無駄時間ブロック611(伝達関数:e
-Ls)と、モータトルク応答ブロック612(伝達関数:1/(τ
1・s+1))とが直列接続されたものとして表現されるようになっている。
【0025】
上記の無駄時間ブロック611は、減算ブロック500からモータへのトルク命令値T
mの伝達に際しての遅延時間、モータが発生した駆動力の駆動輪への伝達に際しての遅延時間等の各種の遅延時間の総和時間Lが、モデル追従制御においては、無駄時間Lとして取り扱うことができることを表現したブロックである。なお、無駄時間Lは、実験により予め実測することができるし、シミュレーションにより予め算出することもできる。
【0026】
上記のモータトルク応答ブロック612は、トルク命令値T
mが伝達されたモータのトルク応答特性が、1次遅れ(時定数:τ
1)モデルで近似できることを表現したブロックである。かかるモータのトルク応答特性が1次遅れモデルで表現するようにしたのは、発明者が研究の結果から得た「モータのトルク応答特性は、1次遅れモデルにより、トラクション制御の際に必要とされる精度で近似することができる」との知見に基づいている。なお、時定数τ
1は、実験により予め実測することができるし、シミュレーションにより予め算出することもできる。
【0027】
以上のように無駄時間ブロック611とモータトルク応答ブロック612との直列接続により表現されるトルク伝達ブロック610の伝達関数Q(s)は、次の(1)式により表される。
Q(s)=e
-Ls/(τ
1・s+1) …(1)
【0028】
上記の駆動輪応答ブロック620(伝達関数:P(s))は、トルクの付与に対する実車両の応答として駆動輪の回転速度ωを考えた場合を表現したブロックである。この駆動輪応答ブロック620の伝達関数P(s)については、後述する。
【0029】
上記の減算ブロック500は、
図1においては図示していないトルク指令値生成部から送られたトルク指令値T
*m、及び、モデル追従制御系700から送られた補正量T
bを受ける。そして、減算ブロック500は、次の(2)式により、トルク命令値T
mを算出する。こうして算出されたトルク命令値T
mは実車両のモータへ向けて送られるとともに、モデル追従制御系700へ送られる。
T
m=T
*m−T
b …(2)
【0030】
上記のモデル追従制御系700は、減算ブロック500から送られたトルク命令値T
m、及び、駆動輪の回転速度ωを受ける。そして、モデル追従制御系700は、トルク命令値T
m及び回転速度ωに基づいて、補正量T
bを算出する。
【0031】
かかる機能を有するモデル追従制御系700は、トルク伝達ブロック710(伝達関数:Q(s))と、粘着モデルブロック720(伝達関数:P
n−1(s))と、減算ブロック730とを備えている。また、モデル追従制御系700は、1次遅れブロック740(伝達関数:R(s)=1/(τ・s+1))と、利得乗算ブロック750(利得係数:k)とを備えている。
【0032】
上記のトルク伝達ブロック710は、減算ブロック500から送られたトルク命令値T
mを受ける。そして、トルク伝達ブロック710は、トルク命令値T
mに基づいて、駆動輪に付与される実トルク値T
rを推定する。かかる機能を有するトルク伝達ブロック710は、無駄時間ブロック711(伝達関数:e
-Ls)と、モータトルク応答ブロック712(伝達関数:1/(τ
1・s+1))とを備えている。
【0033】
上記の無駄時間ブロック711は、上述した無駄時間ブロック611に対応して設けられたブロックである。この無駄時間ブロック711は、減算ブロック500から送られたトルク命令値T
mを受ける。そして、無駄時間ブロック711は、無駄時間Lに対応する処理をトルク命令値T
mに対して施す。なお、無駄時間Lとしては、上述したように、実測又はシミュレーションにより得られた値を採用する。
【0034】
上記のモータトルク応答ブロック712は、上述したモータトルク応答ブロック612に対応するブロックである。このモータトルク応答ブロック712は、無駄時間ブロック711から送られた無駄時間処理結果を受ける。そして、モータトルク応答ブロック712は、当該無駄時間処理結果に対して、時定数τ
1の1次遅れ処理を施して、駆動輪に付与される実トルク値T
rの推定値T
e(以下、単に「推定トルク値T
e」とも記す)を生成する。なお、時定数τ
1としては、上述したように、実測又はシミュレーションにより得られた値を採用する。
【0035】
以上のように構成されたトルク伝達ブロック710により、トルク命令値T
mから推定トルク値T
eが、次の(3)式により算出される。
T
e=Q(s)・T
m …(3)
【0036】
上記の粘着モデルブロック720は、回転速度ωを受ける。そして、粘着モデルブロック720は、駆動輪にスリップが生じない仮想的なモデルである粘着モデルに従って、回転速度ωに対応するトルク値T
nを、次の(4)式により算出する。
T
n=P
n−1(s)・ω …(4)
なお、トルク値T
nは、回転速度ωから粘着モデルを用いて逆算されるため、以下においては、トルク値T
nを、「逆算トルク値T
n」とも記す。
【0037】
上述したように、スリップ率がゼロよりも大きければ、逆算トルク値T
nは推定トルク値T
eよりも大きな値となる。なお、伝達関数P
n−1(s)については、後述する。
【0038】
上記の減算ブロック730は、トルク伝達ブロック710から送られた推定トルク値T
e、及び、粘着モデルブロック720から送られた逆算トルク値T
nを受ける。そして、減算ブロック730は、次の(5)式により差分トルク値T
hを算出する。
T
h=T
n−T
e …(5)
【0039】
上記の1次遅れブロック740は、減算ブロック730から送られた差分トルク値T
hを受ける。そして、1次遅れブロック740は、差分トルク値T
hに対して、時定数τの1次遅れ処理を施したトルク値T
fを、次の(6)式により算出する。
T
f=R(s)・T
h=T
h/(τ・s+1) …(6)
なお、1次遅れ処理がローパスフィルタであるため、以下においては、トルク値T
fを、「フィルタ後トルク値T
f」とも記す。
【0040】
上記の利得乗算ブロック750は、1次遅れブロック740から送られたフィルタ後トルク値T
fを受ける。そして、利得乗算ブロック750は、次の(7)式により、補正量T
bを算出し、算出された補正量T
bを減算ブロック500へ送る。
T
b=k・T
f …(7)
【0041】
<伝達関数P(s),P
n−1(s)について>
次に、駆動輪応答ブロック620の伝達関数P(s)、及び、粘着モデルブロック720の伝達関数P
n−1(s)について説明する。
【0042】
図2には、移動体MVが有する駆動輪WHの一輪モデル(以下、「駆動輪モデル」ともいう)における変数が示されている。
図2において、「M」は、移動体の重量であり、「F
d」は駆動輪WHの駆動力であり、「F
dr」は走行抵抗である。また、「T
r」は駆動輪WHに付与される実トルク値であり、「v」は移動体MVの速度(すなわち、駆動輪WHの並進速度)であり、「ω」は駆動輪WHの回転速度である。また、「N」は、駆動輪WHに作用する垂直抗力であり、「r」は駆動輪WHの半径である。
【0043】
図2に示される駆動輪モデルにおいては、移動体MVの運動方程式は、次の(8)式で与えられる。
M・(dv/dt)=F
d−F
dr …(8)
【0044】
また、駆動輪WHの運動方程式は、駆動輪WHの慣性モーメントを「J
w」として、次の(9)式で与えられる。
J
w・(dω/dt)=T
r−r・F
d …(9)
【0045】
駆動力F
dと垂直抗力Nとの関係は、駆動輪WHにとっての路面の摩擦係数をμとして、次の(10)式で表される。
μ=F
d/N …(10)
【0046】
ここで、垂直抗力Nは、例えば、駆動輪WHにかかる荷重を検出する荷重センサを用意することにより、迅速に、かつ、精度良く取得することができる。また、駆動力F
dは、実トルク値T
rと、回転速度ωに基づいて、既知の駆動力オブザーバにより、迅速に、かつ、精度良く取得することができる。このため、トルク指令値に忠実な実トルク値T
rを発生させることができる電気自動車の場合には、上述した荷重センサに加えて、例えば、駆動輪WHの回転速度を検出する回転速度センサを用意することにより、摩擦係数μを、迅速に、かつ、精度良く算出することができる。
【0047】
なお、駆動力オブザーバについては、例えば、特開2010−051160号公報等に記載されている。
【0048】
また、スリップ率λは、上述した駆動輪モデルにおいては、次の(11)式により表される。
λ=(r・ω−v)/Max(r・ω,v) …(11)
【0049】
上記の駆動輪モデルにおいて、摩擦係数μと、スリップ率λとは、一般に、駆動時においては
図3に示される関係があり、また、制動時には
図4に示される関係がある。なお、
図3に示される駆動時のスリップ率の増加に伴う摩擦係数μの変化において、摩擦係数μが最大となるスリップ率(一般的に「0.2」程度)以下である状態が、移動体MVが安定して走行できる状態(以下、「安定状態」という)となっている。一方、摩擦係数μが最大となるスリップ率よりも大きな状態が、駆動輪WHの空転やロック現象が発生する状態(以下、「不安定状態」という)となっている。
【0050】
また、
図4に示される制動時のスリップ率の増加に伴う摩擦係数μの変化において、摩擦係数μが最小となるスリップ率(一般的に「−0.2」程度)以上である状態が安定状態となっている。一方、摩擦係数μが最小となるスリップ率よりも小さな状態が不安定状態となっている。
【0051】
さて、上記の(8)式に半径rを乗じた後に、左辺同士及び右辺同士について(9)式との和をとると、次の(12)式となる。
M・r・(dv/dt)+J
w・(dω/dt)=T
r−r・F
dr …(12)
【0052】
この(12)式は、(r・ω>v)となる駆動時には、(11)式を考慮すると、次の(13)式のように変形される。
M・r・v・s+J
w・ω・s=M・r・(1−λ)・r・ω・s+J
w・ω・s
=ω・(J
w+M・r
2・(1−λ))・s=T
r−r・F
dr …(13)
【0053】
したがって、回転速度ωは、次の(14)式のように表される。
ω=(T
r−r・F
dr)/((J
w+M・r
2・(1−λ))・s) …(14)
【0054】
(14)式から判るように、走行抵抗F
drが小さくなると、回転速度ωが大きくなる。トラクション制御は、走行抵抗F
drが小さい場合でも回転速度ωが急増することを防止する制御であるため、走行抵抗F
drをゼロとした場合のモデルを採用する。この結果、実車両モデルの駆動時における実トルク値T
rから回転速度ωまでの伝達関数、すなわち、上述した駆動輪応答ブロック620の駆動時の伝達関数P(s)は、次の(15)式の通りとなる。
P(s)=ω/T
r=1/((J
w+M・r
2・(1−λ))・s) …(15)
【0055】
また、上述した粘着モデルは駆動輪WHにスリップが生じないモデルなので、スリップ率λをゼロとするモデルである。このため、粘着モデルブロック720の駆動時における伝達関数P
n−1(s)は、次の(16)式の通りとなる。
P
n−1(s)=T
r/ω=(J
w+M・r
2)・s …(16)
【0056】
なお、制動時も、上述した駆動時と同様にして、上述した駆動輪応答ブロック620の伝達関数P(s)、及び、上述した粘着モデルブロック720の伝達関数P
n−1(s)を導出することができる。以下、駆動時に着目して説明する。
【0057】
以上より、本実施形態のトラクション制御系におけるトルク指令値T
m*から回転速度ωまでの駆動時の伝達関数G(s)、及びトルク指令値T
m*から補正量T
bまでの一巡伝達関数G
O(s)は、次の(17),(18)式により表される。
【0060】
[トラクション制御系の安定性]
上述したトラクション制御系の安定性を評価するために、以下のようなシミュレーションを行った。なお、当該シミュレーションにおいては、移動体MVとして4輪駆動の車両を想定し、当該車両について一般的であると考えられる無駄時間L=20[msec]、モータのトルク応答の時定数τ
1=10[msec]、慣性モーメントJ
w=5.7[kg・m
2]、移動体MVの重量M=1650[kg]、及び、駆動輪WHの半径r=0.295[m]とした。
【0061】
<伝達関数G(s)に関するシミュレーション>
上述した1次遅れブロックの時定数τと、利得乗算ブロックの利得係数kとを変化させて、トルク指令値T
m*を400[Nm]とした場合の伝達関数G(s)に関するシミュレーションを行った。
【0062】
まず、
図3における凍結路面の走行を想定し、時定数τを4.0[sec]に固定しつつ、利得係数kを変化させた場合のスリップ率λ、摩擦係数μ、トルク命令値T
mの時間変化についてのシミュレーションを行った。
図5には、この場合のシミュレーションの結果が示されている。
【0063】
図5のシミュレーション結果により示されるように、利得係数kを大きくすると、スリップ率λを低下させる度合いが高まる。しかしながら、利得係数kを大きくしすぎると、制御が発振してしまい不安定になってしまう。
【0064】
次に、
図3における凍結路面の走行を想定し、利得係数kを10に固定しつつ、時定数τを変化させた場合のスリップ率λ、摩擦係数μ、トルク命令値T
mの時間変化についてのシミュレーションを行った。
図6には、このシミュレーションの結果が示されている。
【0065】
図6のシミュレーション結果により示されるように、時定数τを小さくすると、スリップ率λを迅速に低下させることができる。しかしながら、時定数τを小さくしすぎると制御が発振してしまい不安定になってしまう。
【0066】
上記の伝達関数G(s)に関する2種類のシミュレーション結果から、制御安定性とスリップ抑制性能との両立を図るためには、利得係数kと時定数τとを適切に連動させることが必要であることが確認された。
【0067】
<一巡伝達関数G
O(s)による制御安定性の評価>
上述した(18)式から、スリップ率λは一巡伝達関数G
O(s)の利得に関係することが判る。そして、スリップ率λが「1」に近付くほど一巡伝達関数G
O(s)の利得が大きくなる。このため、スリップ率λがどのような値になってもトラクション制御系の安定性を確保するには,最も利得が大きいスリップ率λが「1」の条件下で安定性を確保できればよい。
【0068】
そこで、次の(18)式においてスリップ率λを「1」とした一巡伝達関数の安定性を、Bode線図を描いてゲイン余裕と位相余裕を求めることで安定性を評価した。なお、一般的に言われているゲイン余裕10[dB]以上、かつ、位相余裕40[deg]以上を安定性確保の目安とした。
【0069】
なお、かかる安定性の評価のためにBode線図を描くに際しては、上述した伝達関数G(s)に関するシミュレーションの場合と同様に、移動体MVとして4輪駆動の車両を想定し、無駄時間L=20[msec]、モータのトルク応答の時定数τ
1=10[msec]とした。また、(18)式に登場する力学量について、駆動輪WHの慣性モーメントJ
w=5.7[kg・m
2]、移動体MVの重量M=1650[kg]、及び、駆動輪WHの半径r=0.295[m]とした。
【0070】
まず、時定数τを固定し、利得係数kを変化させてBode線図を作成した。この結果が、
図7(A)に示されている。この
図7(A)に示されるように、利得係数kが大きいほど利得が0[dB]となる交差周波数が高くなり、ゲイン余裕及び位相余裕の双方が小さくなる。
【0071】
図7(A)に示される具体的なBode線図は、時定数τを0.4[sec]に固定し、利得係数kを1,2,5,10と変化させた例である。
図7(A)に示される具体的な例では、利得係数kが1の場合には、ゲイン余裕が12.1[dB]であり、位相余裕が72.9[deg]となり安定であると評価できる。しかしながら、利得係数kが2,5,10の場合には、ゲイン余裕及び位相余裕が少なくなり、安定であるとは評価できない。
【0072】
次に、利得係数kを固定し、時定数τを変化させてBode線図を作成した。この結果が、
図7(B)に示されている。この
図7(B)に示されるように、時定数τが大きいほど利得が0[dB]となる交差周波数が低くなり、ゲイン余裕と位相余裕が大きくなる。
【0073】
図7(B)に示される具体的なBode線図は、利得係数kを10に固定し、時定数τを0.4,0.8,2.0,4.0[sec]と変化させた例である。
図7(B)に示される具体的な例では、時定数τが0.4,0.8,2.0[sec]では、ゲイン余裕と位相余裕が少なく安定であるとは評価できない。しかしながら、時定数τが4.0[sec]の場合には、ゲイン余裕が11.8[dB]であり、位相余裕が64.3[deg]となり安定であると評価できる。
【0074】
図7(A)及び
図7(B)の結果から、安定性の確保のためには、利得係数kを大きくする場合には、時定数τも大きくすることが必要であることが判る。そこで、次の(19)式で表される関係を用いて、利得係数kと時定数τとを変化させて、Bode線図を作成した。
τ=0.4×k …(19)
【0075】
この結果が
図8に示されている。この
図8に示されるように、(19)式で表される関係を用いて、利得係数kと時定数τとを変化させた場合には、利得が0[dB]を横切る周波数、及び、位相が−180[deg]を横切る周波数がほぼ一致する結果となった。すなわち、ゲイン余裕と位相余裕がほとんど変化しない結果となった。これは、利得係数kに合わせて時定数τを変えることにより、制御帯域を調整して安定性を確保できることを示している。
【0076】
そして、上記の結果は、制御帯域と安定性を確保するための利得係数kと時定数τとの関係を、次の(20)式により与えることができることを示している。
τ=a・k …(20)
【0077】
ここで、係数aは、上述した(18)式を参照して判るように、無駄時間L、モータのトルク応答の時定数τ
1、慣性モーメントJ
w、移動体MVの重量M、及び、駆動輪WHの半径rにより、最適な値が定まる。これらの値は、車両の設計仕様により定まっている値であるため、当該設計仕様が既知である場合には、把握することができる。当該設計仕様が未知である場合であっても、実測により推定又は把握が可能である。
【0078】
この結果、利得係数kを動的に変化させた場合でも、事前に推定又は把握が可能な値により定まる係数aを用いて、上述の(20)式に従って、時定数τを設定することにより、制御帯域と安定性を常に確保したトラクション制御を実現することができる。
【0079】
上述した具体的なBode線図を描く際に仮定したように、駆動輪WHの慣性モーメントJ
w=5.7[kg・m
2]、移動体MVの重量M=1650[kg]、及び、駆動輪WHの半径r=0.295[m]とした場合における無駄時間Lとモータのトルク応答の時定数τ
1との組み合わせの変化に応じた係数aの変化が、
図9に示されている。
【0080】
なお、係数aの決定に際しては、安定性の確保から多少のマージンを見込んで、当該最適値よりも多少大きな値を採用することが望ましい。例えば、
図9の例において、無駄時間L=20[msec]及びモータのトルク応答の時定数τ
1=10[msec]の場合には、係数aの最適値は0.33であるが、多少のマージンを確保するため、係数aとして0.4とすることが、上述した
図1のトラクション制御系の確実な安定性の確保からは好ましい。
【0081】
[路面状態に適応した利得係数k及び時定数τの決定]
次に、路面状態に適応した利得係数k及び時定数τの決定について説明する。
【0082】
上述した
図3に示されるように、駆動輪WHのスリップ率と、路面に対する駆動輪WHの摩擦係数との関係は、乾燥路面、湿潤路面、凍結路面等の路面状態によって大きく異なる。これは、上述したように、制御系に入力される外乱の変化が大きいということと等価である。
【0083】
そこで、乾燥路面及び凍結路面について、トルク指令値T
m*を400[Nm]とした場合の、スリップ率λ、摩擦係数μ、トルク命令値T
mの時間変化についてのシミュレーションを行った。なお、このシミュレーションに際しては、移動体MVとして4輪駆動の車両を想定し、当該車両について一般的であると考えられる無駄時間L=20[msec]、モータのトルク応答の時定数τ
1=10[msec]、慣性モーメントJ
w=5.7[kg・m
2]、移動体MVの重量M=1650[kg]、及び、駆動輪WHの半径r=0.295[m]とした。また、トラククション制御系の安定性が確保可能な上述の(19)式の関係を満たす(k,τ)として、(1,0.4[sec])及び(10,4[sec])の2組について、シミュレーションを行った。
【0084】
この場合のシミュレーション結果が、
図10に示されている。ここで、
図10(A)には、凍結路面の場合のシミュレーション結果が示され、
図10(B)には、乾燥路面の場合のシミュレーション結果が示されている。
図10(A)及び
図10(B)に示されるように、いずれの路面においても、利得係数kを大きくすると、スリップ率λが低下していることが判る。
【0085】
ところで、凍結路面では、駆動輪WHの空転を極力抑えたいため、できるだけ利得を高くしてスリップ率λを小さくしたい。しかし、
図10(B)に示されるように、利得を高くするために利得係数kを大きくすると、乾燥路面では摩擦係数μの値に余裕があるにもかかわらず、トルク命令値T
mを低下させてしまっている。不必要なトルク命令値T
mの低下は、駆動力を勝手に絞ることになり、ドライバの意図する加速ができないことになる。
【0086】
例えば、上述したように、乾燥路面を走行中、加速が必要になった場合、上り坂を走行する場合、高速で走行する場合等は、駆動力が必要となる。そのような場合、車両が持っている駆動能力をできるだけ発揮できるように、駆動力を必要以上に小さくすることは避けたい。つまり、単にスリップ率λを小さくすれば良いというわけではなく、必要な駆動力を確保しながら不安定領域にならないようにスリップ率λを制御することが必要である。
【0087】
このため、凍結路面のように滑りやすい路面の場合には利得係数kを大きくし、乾燥路面のように滑りにくい路面の場合には利得係数kを小さくするという、路面状態に適応して利得係数kを決定できることが望ましい。ところで、上述した
図3に示されるように、駆動輪WHのスリップ率と、路面に対する駆動輪WHの摩擦係数との関係は、路面状態に対応する変化態様によって、路面が滑りやすくなる程、スリップ率λに対して摩擦係数μが小さくなるという性質があることが判る。
【0088】
かかる性質を利用して、スリップ率λが大きいほど、又は、摩擦係数μが小さいほど、利得係数kを大きくする設定にすれば、滑りやすい路面では利得係数kが大きくなり、滑りにくい路面では利得係数kが小さくなる。この結果、滑りやすい路面ではスリップ抑制効果が高まるとともに、滑りにくい路面では不必要なトルク低下を防げる。
【0089】
そこで、次の(21)式により、利得係数kを算出するようにする。
k=b・(λ/μ) …(21)
【0090】
この(21)式によれば、利得係数kは、スリップ率λに比例し、摩擦係数に反比例するので、滑りやすい状態ほど大きな値となる。なお、時定数τを、上述した(20)式を利用して、利得係数kに応じて設定することにすれば、トラクション制御の安定性と制御帯域の維持とを両立できる。すなわち、利得係数kと時定数τとが、走行中の推定λ値と推定μ値とに応じて、適応的に設定されることになる。
【0091】
なお、係数bは、駆動輪WHの慣性モーメントJ
w、移動体MVの重量M、及び、駆動輪WHの半径rにより、適切な値が定まる。このため、係数bは、事前のシミュレーション及び実験により、適切な値に決定可能である。かかる係数bの決定に際しては、凍結路面での高利得と乾燥路面での低利得のバランスが考慮される。
【0092】
なお、無駄時間L=20[msec]、モータのトルク応答の時定数τ
1=10[msec]、慣性モーメントJ
w=5.7[kg・m
2]、移動体MVの重量M=1650[kg]、及び、駆動輪WHの半径r=0.295[m]とした場合には、シミュレーション及び実験により、係数bの好ましい値として、「4」が得られた。こうして得られた係数b(=4)を採用した場合に、(21)式を従って定まる利得係数kの例は、以下の通りである。
【0093】
例えば、
図3の凍結路面において、スリップ率λが0.25のときは、摩擦係数μが約0.1である。この動作点はスリップ率が増大し始める安定領域と不安定領域の境界であるため、スリップ抑制性能は高めておきたい。例えば、係数bを「4」とすれば、利得係数kは10となり、高利得設定となる。
【0094】
また、例えば、
図3の乾燥路面において、スリップ率λが0.05のときは、摩擦係数μが約0.4である。この動作点は摩擦係数μの最大値に対して余裕がある状態であるため、不必要なトルク低下は避けたい。例えば、係数bが「4」であれば、利得係数kは0.5となり、低利得設定となる。
【0095】
なお、乾燥路面での安定領域と不安定領域との境界である(スリップ率λ=0.2、摩擦係数μ≒0.8)の動作点では、係数bが「4」だと、利得係数kが1.0となる。境界の動作点にしては利得が低めに見えるが問題にはならない。その理由は以下の通りである。
【0096】
通常の車両においては、乾燥路面での摩擦係数μが最大となる駆動力よりも十分大きなトルクを発生できるようにはなっていない。なぜならば、駆動力よりも十分大きなトルクを出力することは不必要であり、モータ重量の増大やコストの増加となってメリットが無いからである。このため、摩擦係数μが最大となる駆動力よりもトルクが上回るとしても、その差は大きくはなく、制御によるトルク低減量は少しで済むため、利得係数kが1と小さめであっても十分である。
【0097】
一方、凍結路面の場合は、低いトルク指令値でも簡単にμの最大値となる駆動力が得られる。換言すると、アクセルペダルをあまり踏んでいなくても、たやすくスリップ状態に陥る。もし、アクセルペダルを強く踏んだ場合は大きなトルク指令値となるため、摩擦係数μが最大となる駆動力との差が大きく、トラクション制御によるトルク低減量は多くしなければならない。
【0098】
なお、凍結路面でのスリップ抑制を重視する場合は、係数bを大きくして利得を高めにするとよい。一方、乾燥路面での不必要なトルク低下の回避を重視する場合は、係数bを小さくして利得を低めにするとよい。
【0099】
また、乗車人数や積載荷物重量によって車重は変わるので、車重を検出可能であれば、検出結果に応じて係数bを設定することが可能である。例えば、慣性モーメントJ
w=5.7[kg・m
2]、移動体MVの重量M=1650[kg]、及び、駆動輪WHの半径r=0.295[m]、係数b=4の場合には、
図3の凍結路面におけるスリップ率λ=0.25、摩擦係数μ=0.1の動作点では、(18)式における利得は「2.57」である。もし、移動体MVの重量が400[kg]増加した場合、係数b=4のままだと当該利得は「2.85」となる。当該利得を、移動体MVの重量M=1650[kg]のときと同じ「2.57」としたい場合には、係数b=3.6とすることにより実現することができる。
【0100】
以上、駆動時に着目してトラクション制御系の説明を行ったが、制動時においても、駆動時と同様にして、モデル追従制御を採用したトラクション制御を行うことができる。
【0101】
[トラクション制御装置]
次に、
図11を主に参照して、本実施形態に係るトラクション制御装置300について説明する。なお、トラクション制御装置300は、移動体MV内に配置されるようになっている。
【0102】
<構成>
図11には、トラクション制御装置300の概略的な構成が、ブロック図にて示されている。この
図11に示されるように、トラクション制御装置300は、取得部310と、トルク命令値算出部320と、推定トルク値算出部330と、逆算トルク値算出部340とを備えている。また、トラクション制御装置300は、減算部350と、フィルタ部360と、利得乗算部370とを備えている。さらに、トラクション制御装置300は、記憶部380と、パラメータ算出部390とを備えている。
【0103】
上記の取得部310は、トルク指令値生成部910から送られたトルク指令値T
*mを取得する。そして、取得部310は、取得されたトルク指令値T
*mをトルク命令値算出部320へ送る。
【0104】
ここで、トルク指令値生成部910は、不図示のアクセル開度センサ、ブレーキ量センサ、角速度センサ等によるトルク指令値T
*mの生成に利用される検出結果に基づいて、トルク指令値T
*mを生成する。こうして生成されたトルク指令値T
*mが、トラクション制御装置300へ送られる。
【0105】
また、取得部310は、回転速度センサ920から送られた回転速度ωを取得する。そして、取得部310は、取得された回転速度ωを逆算トルク値算出部340へ送る。
【0106】
ここで、回転速度センサ920は、移動体MVの駆動輪WHの回転速度ωを検出する。こうして検出された回転速度ωが、トラクション制御装置300へ送られる。
【0107】
また、取得部310は、摩擦係数推定部930から送られた摩擦係数μを取得する。そして、取得部310は、取得された摩擦係数μをパラメータ算出部390へ送る。
【0108】
ここで、摩擦係数推定部930には、例えば、特開2010−051160号公報等に記載されている既知の駆動力オブザーバの機能が実装されている。この摩擦係数推定部930は、当該駆動力オブザーバの機能により、回転速度センサ920により検出された回転速度ωと、モータ960を流れる電流を検出する不図示の電流センサによる検出結果から推定される実トルク値T
rとに基づいて、駆動輪WHに対する駆動力F
dを推定する。そして、摩擦係数推定部930は、推定された駆動力F
dと、不図示の荷重センサ等により検出された駆動輪WHに作用する垂直抗力Nとに基づいて、上述した(10)式を利用して摩擦係数μを推定する。こうして推定された摩擦係数μが、トラクション制御装置300へ送られる。
【0109】
さらに、取得部310は、スリップ率推定部940から送られたスリップ率λを取得する。そして、取得部310は、取得されたスリップ率λをパラメータ算出部390へ送る。
【0110】
ここで、スリップ率推定部940は、不図示の加速度センサにより検出された加速度の時間積分を行う等して、移動体MVの速度vを推定する。そして、スリップ率推定部940は、推定された速度vと、回転速度センサ920により検出された回転速度ωとに基づいて、上述の(11)式を利用して、スリップ率λを推定する。こうして推定されたスリップ率λが、トラクション制御装置300へ送られる。
【0111】
上記のトルク命令値算出部320は、上述した減算ブロック500の機能を実行する。このトルク命令値算出部320は、取得部310から送られたトルク指令値T
*m、及び、利得乗算部370から送られた補正量T
bを受ける。そして、トルク命令値算出部320は、上述した(2)式を利用して、トルク命令値T
mを算出する。こうして算出されたトルク命令値T
mはインバータ950へ送られるとともに、推定トルク値算出部330へ送られる。
【0112】
ここで、インバータ950は、トラクション制御装置300から送られた、トルク命令値T
mに従ってモータ駆動信号を生成し、生成されたモータ駆動信号をモータ960へ送る。この結果、モータ960は、当該モータ駆動信号に基づいてモータ回転運動を行い、駆動輪を回転させる。
【0113】
上記の推定トルク値算出部330は、上述したトルク伝達ブロック710の機能を実行する。この推定トルク値算出部330は、無駄時間L及びモータ960のトルク応答の時定数τ
1を内部に保持している。
【0114】
推定トルク値算出部330は、トルク命令値算出部320から送られたトルク命令値T
mを受ける。そして、推定トルク値算出部330は、上述した(3)式を利用して、推定トルク値T
eを算出する。こうして算出された推定トルク値T
eは、減算部350へ送られる。
【0115】
上記の逆算トルク値算出部340は、上述した粘着モデルブロック720の機能を実行する。この逆算トルク値算出部340は、駆動輪WHの慣性モーメントJ
w、移動体MVの重量M、及び、駆動輪WHの半径rを保持している。
【0116】
逆算トルク値算出部340は、取得部310から送られた回転速度ωを受ける。そして、逆算トルク値算出部340は、上述した(4)式を利用して、逆算トルク値T
nを算出する。こうして算出された逆算トルク値T
nは、減算部350へ送られる。
【0117】
上記の減算部350は、上述した減算ブロック730の機能を実行する。この減算部350は、推定トルク値算出部330から送られた推定トルク値T
e、及び、逆算トルク値算出部340から送られた逆算トルク値T
nを受ける。そして、減算部350は、上述した(5)式を利用して、差分トルク値T
hを算出する。こうして算出された差分トルク値T
hは、フィルタ部360へ送られる。
【0118】
上記のフィルタ部360は、上述した1次遅れブロック740の機能を実行する。このフィルタ部360は、減算部350から送られた差分トルク値T
h、及び、パラメータ算出部390から送られた時定数τを受ける。そして、フィルタ部360は、上述した(6)式を利用して、差分トルク値T
hに対して時定数τの1次遅れ処理を施したフィルタ後トルク値T
fを算出する。こうして算出されたフィルタ後トルク値T
fは、利得乗算部370へ送る。
【0119】
上記の利得乗算部370は、上述した利得乗算ブロック750の機能を実行する。この利得乗算部370は、フィルタ部360から送られたフィルタ後トルク値T
f、及び、パラメータ算出部390から送られた利得係数kを受ける。そして、利得乗算部370は、上述した(7)式を利用して、補正量T
bを算出する。こうして算出された補正量T
bは、トルク命令値算出部320へ送られる。
【0120】
上記の記憶部380は、不揮発性の記憶素子を備えて構成されている。この記憶部380には、上述したように、無駄時間L、モータのトルク応答の時定数τ
1、慣性モーメントJ
w、移動体MVの重量M、及び、駆動輪WHの半径rにより定まり、上述した(20)式の利用に際して必要となる係数aが記憶される。また、記憶部380には、上述したように、無駄時間L、モータのトルク応答の時定数τ
1、慣性モーメントJ
w、移動体MVの重量M、及び、駆動輪WHの半径rにより定まり、上述した(21)式の利用に際して必要となる係数bが記憶される。
【0121】
なお、記憶部380には、パラメータ算出部390がアクセス可能となっている。
【0122】
上記のパラメータ算出部390は、取得部310から送られた摩擦係数μ及びスリップ率λを受ける。そして、パラメータ算出部390は、記憶部380に記憶されている係数bを参照し、上述した(21)式を利用して、利得係数kを算出する。引き続き、パラメータ算出部390は、記憶部380に記憶されている係数aを参照し、上述した(20)式を利用して、時定数τを算出する。
【0123】
こうして算出された利得係数kは、利得乗算部370へ送られる。また、算出された時定数τは、フィルタ部360へ送られる。
【0124】
なお、慣性モーメントJ
w、移動体MVの重量M、及び、駆動輪WHの半径rは既知であるが、無駄時間L及びモータのトルク応答の時定数τ
1のいずれか未知である場合には、係数aを定めることができない。こうした場合には、上述した
図9に例示されているような、係数aと、無駄時間Lと、時定数τ
1との関係をテーブルとして記憶部380内に登録しておく。そして、実測等により、無駄時間L及び時定数τ
1が既知となった時点で、当該テーブルを参照して係数aを決定し、決定された係数aを記憶部380内に記憶させるようにしてもよい。
【0125】
<動作>
次に、上記のように構成されたトラクション制御装置300によるトラクション制御の動作について説明する。なお、トラクション制御は、移動体MVの走行中に実行される。
【0126】
なお、トルク指令値生成部910からは、生成されたトルク指令値T
*mが、逐次、トラクション制御装置300へ送られているものとする。また、回転速度センサ920からは、回転速度ωが、逐次、トラクション制御装置300へ送られているものとする。また、摩擦係数推定部930からは、推定された摩擦係数μが、逐次、トラクション制御装置300へ送られているものとする。さらに、スリップ率推定部940からは、推定されたスリップ率λが、逐次、トラクション制御装置300へ送られているものとする。
【0127】
そして、取得部310は、取得されたトルク指令値T
*mを、逐次、トルク命令値算出部320へ送っているものとする。また、取得部310は、取得された回転速度ωを、逐次、逆算トルク値算出部340へ送っているものとする。さらに、取得部310は、取得された摩擦係数μ及びスリップ率λを、逐次、パラメータ算出部390へ送っているものとする。
【0128】
また、記憶部380内には、係数a,bが記憶されているものとする。
【0129】
こうした動作環境下において、移動体MVが走行している場合には、パラメータ算出部390は、取得部310から送られた摩擦係数μ及びスリップ率λ、並びに、記憶部380内の係数bに基づいて、上述した(21)式を利用して、利得係数kを算出する。引き続き、パラメータ算出部390は、当該利得係数k及び記憶部380内の係数aに基づいて、上述した(20)式を利用して、時定数τを算出する。
【0130】
そして、パラメータ算出部390は、算出された利得係数kを利得乗算部370へ送るとともに、算出された時定数τをフィルタ部360へ送る。この結果、利得乗算部370において、算出された利得係数kが設定されるとともに、フィルタ部360において、算出された時定数τが設定される。こうした設定が行われると、トルク命令値算出部320、推定トルク値算出部330、逆算トルク値算出部340、減算部350、フィルタ部360及び利得乗算部370が協働して、トルク指令値T
*m及び回転速度ωを入力とする当該設定によるモデル追従制御が実行される。
【0131】
以後、利得係数k及び時定数τの新たな算出及び新たな設定、並びに、当該トルク指令値T
*m及び回転速度ωを入力とする当該新たな設定によるモデル追従制御が繰り返される。かかる繰り返しにより、トラクション制御が行われる。
【0132】
以上説明したように、本実施形態では、取得部310が、駆動輪WHに対するトルク指令値T
*m、駆動輪WHの回転速度ω、駆動輪WHの路面に対する推定された摩擦係数μ、及び、駆動輪WHのスリップ率λを取得する。パラメータ算出部390が、取得部310から送られた摩擦係数μ及びスリップ率λ、並びに、記憶部380内の係数bに基づいて、走行路面状態に対して適応的な利得係数kを算出する。引き続き、パラメータ算出部390が、当該利得係数k及び記憶部380内の係数aに基づいて、トラクション制御の安定性を確保できる適応的な時定数τを算出する。そして、利得乗算部370において、当該算出された利得係数kが設定されるとともに、フィルタ部360において、当該算出された時定数τが設定される。こうした設定が行われると、当該設定に従って、駆動輪WHにスリップが生じない粘着モデルを規範モデルとするモデル追従制御が実行される。
【0133】
かかるモデル追従制御に際しては、トルク命令値算出部320が、トルク指令値T
*mと、補正量T
bとに基づいて、駆動輪WHを駆動するモータ960へ向けて出力するトルク命令値T
mを算出する。次に、推定トルク値算出部330が、算出されたトルク命令値と、駆動輪WHへのトルク伝達モデルとに基づいて、駆動輪WHに作用する推定トルク値T
eを算出する。かかる推定トルク値T
eの算出と並行して、逆算トルク値算出部340が、スリップが生じない粘着モデルに従って、取得された回転速度ωに対応する逆算トルク値T
nを算出する。
【0134】
次いで、減算部350が、推定トルク値T
nから逆算トルク値T
eを差し引いた差分トルク値T
hを算出する。引き続き、フィルタ部360が、差分トルク値T
hに対して、時定数τの1次遅れを付与したフィルタ後トルク値T
fを算出する。そして、利得乗算部370が、フィルタ後トルク値T
fに利得係数kを乗じて補正量T
bを算出し、算出された補正量T
bをトルク命令値算出部320へ帰還させる。
【0135】
したがって、本実施形態によれば、制御安定性を保ちつつスリップ抑制性能を高めるとともに、路面状態に応じて、必要な駆動力を確保しつつ安定な走行を実現することができるトラクション制御を行うことができる。
【0136】
[実施形態の変形]
本発明は、上記の実施形態に限定されるものではなく、様々な変形が可能である。
【0137】
例えば、上記の実施形態では、摩擦係数推定部930及びスリップ率推定部940を、トラクション制御装置300の外部に配置するようにした。これに対し、トラクション制御装置が、摩擦係数推定部及びスリップ率推定部を備える構成としてもよい。
【0138】
また、上記の実施形態の説明では、摩擦係数推定部930は、荷重センサによる検出結果に基づいて、駆動輪WHに作用する垂直抗力Nを推定するようにした。これに対し、移動体MVの重量M及び重心位置が既知である場合には、荷重センサを利用せずに、移動体MVに搭載された加速度センサ、角速度センサ及びジャイロセンサによる検出結果を適宜利用しつつ、垂直抗力Nを推定するようにしてもよい。
【0139】
また、上記の実施形態の説明では、スリップ率推定部940による速度vの推定に際して、加速度センサによる検出結果を時間積分する手法を例示した。これに対し、例えば、移動体MVと所定の位置関係にある路面領域を撮影し、撮影結果の時間変化を解析することにより、速度vを推定するようにしてもよい。
【0140】
また、上記の実施形態では、スリップ率λと摩擦係数μとの比に基づいて、上述した(21)により、利得係数kを算出することにした。これに対し、定数cの値を0以上とし、次の(22)式によって利得係数kを算出してもよい。
k=b・(λ/μ)+c …(22)
【0141】
この(22)式のように、定数cを加えることにより、適応的に計算される利得係数kに一定量の大きさを持たせることができる。スリップ率λや摩擦係数μがゼロに近いときの利得係数kの変化を和らげることができ、路面状態の変化に過剰に反応することを防ぐ効果がある。かかる定数cの適切な値は、実験、シミュレーションにより、予め定められる。なお、(21)式は、(22)式の定数cが0になった場合である。
【0142】
また、上記の実施形態では、スリップ率λと摩擦係数μとの比に基づいて利得係数kを算出することにした。これに対し、次の(23)式により、スリップ率λを参照せずに、利得係数kを算出するようにしてもよい。
k=d/μ …(23)
【0143】
これは、上述の(18)式においては、利得にスリップ率が影響しているため、既に、スリップ率に適応していると考えることもできるからである。このため、(18)式には現れない摩擦係数μのみを利用する(23)式により利得係数kを算出しても、(18)式における利得が、スリップ率λと摩擦係数μとの双方に適応した値に設定されることになる。この場合には、トラクション制御に際して、リアルタイムでスリップ率を推定する必要が無くなるので、速度vの検出のためのセンサ、及び、当該センサによる検出結果に基づく速度算出資源を省略することができる。なお、係数dは、シミュレーションや実験によって適切な値を決めることができる。
【0144】
さらに、次の(24)式によって利得係数kを算出してもよい。
k=d/μ+e・λ …(24)
【0145】
スリップ率λを算出できるものの、算出されたスリップ率λの精度が低い場合は、係数eを小さめにすることで、スリップ率λへの適応度合いを相対的に下げることができる。かかる定数eの適切な値は、実験、シミュレーションにより、予め定められる。なお、(23)式は、(24)式の係数eが0になった場合である。
【0146】
また、上記の実施形態では、係数bは、スリップ率λ及び摩擦係数μに依存した値とした。これに対し、スリップ率λ及び摩擦係数μに応じて利得係数kを決定するためのテーブルを作成するようにしてもよい。この場合には、スリップ率λ又は摩擦係数μの重み付け等の処理を行って利得係数kを決定したり、
図3,4における安定領域と不安定領域とで、路面状態に対する適応度を変化させたりすることを容易に行うことができる。
【0147】
なお、スリップ率λ及び摩擦係数μに応じて利得係数kを決定するためのテーブルの内容の例が、
図12に示されている。ここで、
図12(A)には、スリップ率λが増加するほど、利得係数kの増加度が大きくする例が示されている。また、
図12(B)には、
図3,4における安定領域と不安定領域との境界で、スリップ率λの増大に伴う利得係数kの増加度が変化する例が示されている。
【0148】
また、安定性を確保する目的のみであれば、(20)式の代わりに、次の(25)式を満たすように時定数τを設定すればよい。
τ≧a・k …(25)
【0149】
この(25)式の条件を満たす時定数τであれば、制御帯域は狭くなるものの、ゲイン余裕と位相余裕とが大きくなるため、より安定性は高くなる。したがって、凍結路面でのスリップ状態を想定して、利得係数kの値を求めるために用いている(21)式〜(24)式、あるいは
図12で示すようなテーブルから利得係数kの最大値を推定し、その最大値に係数aを乗じて算出した時定数τを固定値として設定することもできる。走行中に適応的に求められる利得係数kの値が小さい場合、利得係数kの最大値から計算された時定数τが用いられるため、安定性には問題ないが、制御帯域が狭くなる。しかし、利得係数kの値が小さいときは乾燥路面であまりスリップしていない状態のため、スリップ抑制の制御帯域が低くても問題にはならない。すなわち、適応的に生成される利得係数kが取り得る最大値を推定して計算した時定数τの値を固定値として設定することも可能である。
【実施例】
【0150】
次に、本発明の一実施例を、
図13〜
図17を主に参照して説明する。なお、以下の説明においては、上述した実施形態を含めて、同一又は同等の要素には同一の符号を付し、重複する説明を極力省略する。
【0151】
[構成]
図13には、一実施例に係るトラクション制御装置100の構成が概略的に示されている。この
図13に示されるように、トラクション制御装置100は、移動体MVとしての車両CR内に配置される。なお、車両CRは、互いに独立に駆動可能な4つの駆動輪である左前側駆動輪WH
FL、右前側駆動輪WH
FR、左後側駆動輪WH
RL及び右後側駆動輪WH
RRの4つの駆動輪を備えている。
【0152】
車両CRには、トルク指令値生成部910、回転速度センサ920
j(j=FL,FR,RL,RR)、インバータ950
j、モータ960
j、荷重センサ970
j、電流センサ975
j、加速度センサ980及び各種センサ990が搭載されている。ここで、回転速度センサ920
j、インバータ950
j、モータ960
j、荷重センサ970
j及び電流センサ975
jは、駆動輪WH
jに対応して設置されている。
【0153】
上記のトルク指令値生成部910は、各種センサ990に含まれるアクセル開度センサ、ブレーキ量センサ、角速度センサ等による検出結果に基づいて、駆動輪WH
jごとに対応するトルク指令値T
*m,jを生成する。こうして生成されたトルク指令値T
*m,jは、トラクション制御装置100へ送られる。
【0154】
上記の回転速度センサ920
jのそれぞれは、対応する駆動輪WH
jの回転速度ω
jを検出する。こうして検出された回転速度ω
jは、トラクション制御装置100へ送られる。
【0155】
上記のインバータ950
jのそれぞれは、トラクション制御装置100から送られた、トルク命令値T
m,jに対応するトルク発生信号を受ける。そして、インバータ950
jのそれぞれは、当該トルク発生信号に従ってモータ駆動信号を生成し、生成されたモータ駆動信号をモータ960
jへ送る。
【0156】
上記のモータ960
jのそれぞれは、対応するインバータから送られたモータ駆動信号を受ける。そして、モータ960
jのそれぞれは、当該モータ駆動信号に基づいてモータ回転運動を行い、駆動輪WH
jを回転させる。
【0157】
上記の荷重センサ970
jのそれぞれは、対応する駆動輪WH
jにかかる荷重、すなわち、垂直抗力N
jを検出する。こうして検出された垂直抗力N
jは、トラクション制御装置100へ送られる。
【0158】
上記の電流センサ975
jのそれぞれは、対応する駆動輪WH
jの駆動するモータを流れる電流I
jを検出する。こうして検出された電流I
jは、トラクション制御装置100へ送られる。
【0159】
上記の加速度センサ980は、車両CRの加速度αを検出する。こうして検出された加速度αは、トラクション制御装置100へ送られる。
【0160】
次に、トラクション制御装置100の構成について説明する。
図13に示されるように、トラクション制御装置100は、制御ユニット110と、記憶ユニット120とを備えている。そして、制御ユニット110には、トルク指令値生成部910と、回転速度センサ920
jと、荷重センサ970
jと、電流センサ975
jと、加速度センサ980とが接続されている。
【0161】
上記の制御ユニット110は、演算部としての中央処理装置(CPU)、DSP(Digital Signal Processor)を備えて構成される。この制御ユニット110は、プログラムを実行することにより、上述した実施形態における取得部310、トルク命令値算出部320、推定トルク値算出部330、逆算トルク値算出部340、減算部350、フィルタ部360、利得乗算部370、パラメータ算出部390、並びに、摩擦係数推定部930及びスリップ率推定部940としての機能を果たすようになっている。
【0162】
制御ユニット110が実行するプログラムは、記憶ユニット120に記憶され、記録ユニットからロードされて実行される。このプログラムは、CD−ROM、DVD等の可搬型記録媒体に記録された形態で取得されるようにしてもよいし、インターネットなどのネットワークを介した配信の形態で取得されるようにしてもよい。
【0163】
なお、制御ユニット110が実行する処理については、後述する。
【0164】
上記の記憶ユニット120は、上述したプログラム等の制御ユニット110が利用する様々な情報データが記憶される。こうした情報データには、駆動輪WH
jに対応する無駄時間L
j、駆動輪WH
jに対応するモータ960
jのトルク応答の時定数τ
1,j、駆動輪WH
jの慣性モーメントJ
w,j、駆動輪WH
jに対する分配質量M
j、及び、駆動輪WH
jの半径r
j、並びに、駆動輪WH
jに対応する係数a
j,b
jが含まれている。この記憶ユニット120には、制御ユニット110がアクセスできるようになっている。
【0165】
本実施例においては、停止時の車両CRが水平状態にある場合における荷重センサ970
jのそれぞれによる検出結果に基づいて分配質量M
jが把握され、把握された分配質量M
jが記憶ユニット120内に記憶されるようになっている。また、駆動輪WH
jに対応する無駄時間L
j、駆動輪WH
jに対応するモータ960
jのトルク応答の時定数τ
1,j、駆動輪WH
jの慣性モーメントJ
w,j、及び、駆動輪WH
jの半径r
j、並びに、係数a
j,b
jは、車両CRの既知の仕様に基づいて求められて、記憶ユニット120内に記憶されるようになっている。
【0166】
なお、駆動輪WH
jに対応する無駄時間L
j、駆動輪WH
jに対応するモータ960
jのトルク応答の時定数τ
1,j、駆動輪WH
jの慣性モーメントJ
w,j、及び、駆動輪WH
jの半径r
jのいずれかについて、車両CRの既知の仕様に基づいて求められない場合には、実測により求めるようにしてもよい。
【0167】
[動作]
次に、上記のように構成されたトラクション制御装置100によるトラクション制御の動作について、制御ユニット110による処理に着目して説明する。
【0168】
なお、トルク指令値生成部910からは、生成されたトルク指令値T
*m,jが、逐次、トラクション制御装置100へ送られているものとする。また、回転速度センサ920
jからは、検出された回転速度ω
jが、逐次、トラクション制御装置100へ送られているものとする。また、荷重センサ970
jからは、検出された垂直抗力N
jが、逐次、トラクション制御装置100へ送られているものとする。また、電流センサ975
jからは、検出された電流値I
jが、逐次、トラクション制御装置100へ送られているものとする。さらに、加速度センサ980からは、検出された加速度αが、逐次、トラクション制御装置100へ送られているものとする。
【0169】
また、駆動輪WH
jに対応する無駄時間L
j、駆動輪WH
jに対応するモータ960
jのトルク応答の時定数τ
1,j、駆動輪WH
jの慣性モーメントJ
w,j、駆動輪WH
jに対する分配質量M
j、及び、駆動輪WH
jの半径r
j、並びに、係数a
j,b
jは、既に記憶ユニット120内に記憶されているものとする。
【0170】
トラクション制御の処理に際しては、
図14に示されるように、まず、ステップS11において、制御ユニット110が、車両CRが走行中であるか否かを判定する。かかる判定は、駆動輪WH
jの回転速度ω
jの全てが「0」あるいは加速度αの時間積分値が「0」であるといえるか否かを判定することにより行われる。ステップS11における判定の結果が否定的であった場合(ステップS11:N)には、ステップS11の処理が繰り返される。
【0171】
ステップS11における判定の結果が肯定的であった場合(ステップS11:Y)には、処理はステップS12へ進む。このステップS12では、制御ユニット110は、その時点における回転速度ω
j、垂直抗力N
j、電流値I
j及び加速度αを取得する。
【0172】
次に、ステップS13において、制御ユニット110が、摩擦係数μ
j及びスリップ率λ
jを推定する。かかる摩擦係数μ
jの推定に際しては、制御ユニット110は、まず、上述した駆動力オブザーバの機能により、回転速度ω
jと、電流値I
jから推定される実トルク値T
r,jとに基づいて、駆動輪に対する駆動力F
d,jを推定する。そして、制御ユニット110は、駆動力F
d,jと、垂直抗力N
jとに基づいて、上述した(10)式を利用して摩擦係数μ
jを推定する。
【0173】
また、スリップ率λ
jの推定に際しては、制御ユニット110は、まず、加速度αの時間積分を行って、車両CRの速度vを推定する。そして、制御ユニット110は、推定された速度vと、回転速度ω
jとに基づいて、上述の(11)式を利用して、スリップ率λ
jを推定する。
【0174】
次いで、ステップS14において、制御ユニット110が、推定された摩擦係数μ
j及びスリップ率λ
j、並びに、記憶ユニット120内の係数a
j,b
jに基づいて、利得係数k
j及び時定数τ
jを算出する。かかる利得係数k
j及び時定数τ
jの算出に際して、制御ユニット110は、まず、摩擦係数μ
j、スリップ率λ
j及び係数b
jに基づいて、上述した(21)式を利用して、利得係数k
jを算出する。引き続き、制御ユニット110は、算出された利得係数k
j及び係数a
jに基づいて、上述した(20)式を利用して、時定数τ
jを算出する。
【0175】
次に、ステップS15において、制御ユニット110が、その時点におけるトルク指令値T
*m,jを取得する。そして、ステップS16において、制御ユニット110が、モデル追従制御の処理を実行する。
【0176】
かかるモデル追従制御の処理に際して、制御ユニット110は、取得されたトルク指令値T
*m,jと、その時点の補正量T
b,jとに基づいて、上述した(2)式を利用して、トルク命令値T
m,jを算出し、算出されたトルク命令値T
m,jに対応するトルク発生信号をインバータ950
jへ送る。この結果、インバータ950
jは、当該トルク発生信号に従ってモータ駆動信号を生成し、生成されたモータ駆動信号をモータ960
jへ送る。そして、モータ960
jは、当該モータ駆動信号に基づいて回転運動を行い、駆動輪WH
jを回転させる。
【0177】
上述したようにしてトルク命令値T
m,jを算出した制御ユニット110は、トルク命令値T
m,jに基づいて、上述した(3)式を利用して、推定トルク値T
e,jを算出する。かかる推定トルク値T
e,jの算出と相前後して、制御ユニット110は、スリップが生じない粘着モデルに従って、回転速度ω
jに対応する逆算トルク値T
n,jを、上述した(4)式を利用して算出する。
【0178】
次に、制御ユニット110は、逆算トルク値T
n,jから推定トルク値T
e,jを差し引いた差分トルク値T
h,jを、上述した(5)を利用して算出する。引き続き、制御ユニット110は、時定数τの1次遅れを付与したフィルタ後トルク値T
f,jを、上述した(6)式を利用して算出する。そして、制御ユニット110が、フィルタ後トルク値T
f,jに利得係数k
jを乗じて補正量T
b,jを算出する。
【0179】
こうして新たな補正量T
b,jが算出されると、ステップS16の処理が終了し、処理はステップS11へ戻る。以後、ステップS11〜S16の処理が繰り返されることにより、駆動輪WH
jに対するトラクション制御が行われる。
【0180】
上記のようにして行われるトラクション制御装置100によるトラクション制御についてのシミュレーション結果の例が
図15に示されている。なお、
図15には、利得係数k
jと時定数τ
jとを固定した場合が併せて示されている。
【0181】
このシミュレーション結果から判るように、利得係数k
jと時定数τ
jとを固定した場合と比較して、本実施例のように、路面状態に対して適応的に利得係数k
jと時定数τ
jとを生成した場合は、凍結路面でのスリップ抑制性能と、乾燥路面での不必要なトルク低下防止とが両立できている。また、路面状態の変化に対しても問題となるような不安定動作は生じていない。すなわち、路面状態に対する利得係数k
jと時定数τ
jとの適応的な生成は、スリップ抑制性能及び不必要なトルク低下防止の両立の観点から効果的であると言えることが、シミュレーションにより確認された。
【0182】
また、小型の模型車両を用いて、利得係数k
jと時定数τ
jとを固定した場合と、本実施例のように路面状態に対して適応的に利得係数k
jと時定数τ
jとを生成した場合との実験を行った。この実験結果が、
図16及び
図17に示されている。ここで、
図16には、滑りやすい路面の場合の実験例が示されている。また、
図17には、滑りにくい路面の場合の実験例が示されている。
【0183】
図16に示される滑りやすい路面の場合、発進直後の0.1〜0.6[sec]の期間において、低利得固定では車輪速度の増加を抑えられていないが、本実施例のように、適応的に利得係数k
jと時定数τ
jとを生成した場合には、高利得固定の場合と同様に、車輪速度の増加が抑えられている。なお、上記の
図16では、車体速度が遅いため、実験を行った3種の場合間におけるスリップ率λ
jについては差が見えにくいが、いずれの場合においてもスリップ抑制効果がはたらいているといえる。
【0184】
一方、
図17に示される滑りにくい路面の場合、発進直後の0.1〜0.5[sec]の期間において、高利得固定では、車輪速度の増加が抑えられている。そして、発進直後の0.3〜0.8[sec]の期間において、車体速度の上昇が少なくなっている。すなわち、高利得固定では、不必要な車輪速度の抑制が生じていると言える。しかしながら、本実施例のように適応的に利得係数k
jと時定数τ
jとを生成した場合には、低利得固定の場合と同様に、車輪速度が抑制されていないため、十分な加速が得られている。
【0185】
この結果、
図15に示されたシミュレーション結果と同様に、本実施例のように適応的に利得係数k
jと時定数τ
jとを生成することにより、滑りやすい状態ではスリップ抑制性能が高く、滑りにくい状態では不必要なトルク低下が無いという良好な結果が得られることが確認された。
【0186】
以上説明したように、本実施例では、制御ユニット110が、駆動輪WH
jの路面に対する摩擦係数μ
j及びスリップ率λ
j、並びに、駆動輪WH
jの慣性モーメントJ
w,j、駆動輪WH
jに対する分配質量M
j、及び、駆動輪WH
jの半径r
jに応じて適切な値が決定された係数b
jに基づいて、走行路面状態に対して適応的な利得係数k
jを算出する。引き続き、制御ユニット110が、車両CRにおける駆動輪WH
jの慣性モーメントJ
w,j、駆動輪WH
jに対する分配質量M
j、駆動輪WH
jの半径r
j、無駄時間L
j及びモータ960
jのトルク応答の時定数τ
1,jに応じて定まる係数a
jと、利得係数k
jとに基づいて、トラクション制御の安定性を確保できる適応的な時定数τ
jを算出する。そして、当該算出された利得係数k
jが設定されるとともに、当該算出された時定数τ
jが設定された状態で、駆動輪WH
jにスリップが生じない粘着モデルを規範モデルとするモデル追従制御が実行される。
【0187】
したがって、本実施例によれば、制御安定性を保ちつつスリップ抑制性能を高めるとともに、路面状態に応じて、必要な駆動力を確保しつつ安定な走行を実現することができるトラクション制御を行うことができる。
【0188】
[実施例の変形]
本発明は、上記の実施例に限定されるものではなく、様々な変形が可能である。
【0189】
例えば、上記の実施例では、移動体が、互いに独立して駆動可能な4個の駆動輪を有する車両CRであるについて、本発明を適用した。これに対し、移動体が1個以上の駆動輪を有する場合には、本発明を適用して、トラクション制御を行うことができる。なお、移動体が複数個の駆動輪を有する場合には、個々の駆動輪を独立して駆動可能であるか否かにかかわらず、本発明を適用して、トラクション制御を行うことができる。
【0190】
また、上記の実施例については、上述した実施形態に対する変形と同様の変形を適宜施すことができる。
【0191】
すなわち、上記の実施例では、荷重センサによる検出結果に基づいて、駆動輪に作用する垂直抗力Nを推定するようにした。これに対し、車両の重量M及び重心位置が既知である場合には、荷重センサを利用せずに、車両に搭載された加速度センサ、角速度センサ及びジャイロセンサによる検出結果を適宜利用しつつ、垂直抗力Nを推定するようにしてもよい。
【0192】
また、上記の実施例では、加速度センサによる検出結果を時間積分して速度vを推定するようにした。これに対し、例えば、車両と所定の位置関係にある路面領域を撮影し、撮影結果の時間変化を解析することにより、速度vを推定するようにしてもよい。また、非駆動輪は、制動時以外はスリップ率がほぼゼロであるため、非駆動輪の回転速度を検出して速度vを推定するようにしてもよい。
【0193】
また、上記の実施例では、上述した(21)式を利用して、スリップ率λ
jと摩擦係数μ
jとの比に基づいて利得係数k
jを算出することにした。これに対し、上述した(22)〜(24)式により、利得係数k
jを算出するようにしてもよい。
【0194】
また、上記の実施例では、係数b
jは、スリップ率λ
j及び摩擦係数μ
jに依存した値とした。これに対し、スリップ率λ
j及び摩擦係数μ
jに応じて利得係数k
jを決定するためのテーブルを作成するようにしてもよい。
【0195】
また、
図13の電流センサ975
jのそれぞれは、対応するモータ960
jを流れる電流I
jを検出するが、この検出した電流I
jは実際にモータを駆動するための電流であるため、この電流値にトルク定数K
t,jを乗ずることで、推定トルク値T
e,jを求めることができる。したがって、(3)式の代わりに、T
e,j=K
t,j・I
j という式から推定トルク値T
e,jを算出してもよい。
【0196】
また、上記の方法で求めた推定トルク値T
e,jと、トルク命令値T
m,jの信号とを時間軸上で比較すると、トルク命令値T
m,jから推定トルク値T
e,jまでの遅延により無駄時間Lの算出が可能となる。また、ステップ的にトルク命令値T
m,jを与えたときの推定トルク値T
e,jの立ち上がり特性によりトルク応答の時定数τ
1,jの算出が可能となる。
【0197】
また、上述した実施形態で述べたように、安定性を確保する目的のみであれば、(25)式を満たすように時定数τ
jを設定すればよい。