(58)【調査した分野】(Int.Cl.,DB名)
前記リミット値算出部は、前記推定されたスリップ率が小さいほど前記推定された駆動トルクからの差が大きな値を前記リミット値として算出し、前記推定されたスリップ率が大きいほど前記推定された駆動トルクからの差が小さな値を前記リミット値として前記リミット値を算出する、ことを特徴とする請求項2に記載のトラクション制御装置。
前記リミット値算出部は、前記推定されたスリップ率に応じた値を前記推定された駆動トルクに乗じて、前記リミット値を算出する、ことを特徴とする請求項2に記載のトラクション制御装置。
モータによって駆動される駆動輪を有する移動体のトラクション制御装置が有するコンピュータに、請求項9に記載のトラクション制御方法を実行させる、ことを特徴とするトラクション制御プログラム。
モータによって駆動される駆動輪を有する移動体のトラクション制御装置が有するコンピュータにより読み取り可能に、請求項10に記載のトラクション制御プログラムが記録されている、ことを特徴とする記録媒体。
【発明を実施するための形態】
【0035】
以下、本発明の実施形態を、添付図面を参照して説明する。なお、以下の説明及び図面においては、同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
【0036】
[第1実施形態]
まず、本発明の第1実施形態について、
図5〜
図21を参照して説明する。
【0037】
<構成>
図5には、第1実施形態に係るトラクション制御装置700Aの位置付け及び構成が、ブロック図にて示されている。
【0038】
<トラクション制御装置700Aの位置付け>
図5に示されるように、トラクション制御装置700Aは、移動体MV内に配置される。この移動体MVには、トラクション制御装置700Aに加えて、トルク指令値生成部810、加速度検出部820、誤差推定部830及びモータ駆動系900が配置され、トラクション制御装置700Aに接続される。
【0039】
上記のトルク指令値生成部810は、不図示のアクセル開度センサ、ブレーキ量センサ、ステアリング角度センサ等によるトルク指令値T
cの生成に利用される検出結果に基づいて、トルク指令値T
cを生成する。こうして生成されたトルク指令値T
cは、トラクション制御装置700Aへ送られる。
【0040】
上記の加速度検出部820は、移動体MVの移動方向の加速度αを検出する。こうして検出された加速度αは、トラクション制御装置700Aへ送られる。
【0041】
上記の誤差推定部830は、トラクション制御装置700Aにおいて推定されたスリップ率(以下、「推定スリップ率」という)λ、及び、推定された駆動トルク(以下、「推定駆動トルク」という)T
dのそれぞれの誤差範囲を推定する。そして、誤差推定部830は、推定駆動トルクT
dの誤差範囲の下方側限界値の駆動トルクの真値に対する割合である推定誤差割合a(
図6(A)参照)を算出する。また、誤差推定部830は、推定スリップ率λの誤差範囲の上方側限界値のスリップ率の真値に対する割合である誤差推定割b(
図6(B)参照)を算出する。こうして算出された推定誤差割合a,bは、トラクション制御装置700Aへ送られる。
【0042】
なお、誤差推定部830による推定誤差割合a,bの算出については、後述する。
【0043】
上記のモータ駆動系900は、駆動制御部910と、インバータ920と、モータ930とを備えている。また、モータ駆動系900は、回転位置検出部940と、電流検出部950を備えている。
【0044】
上記の駆動制御部910は、トラクション制御装置700Aから送られたトルク設定値T
sを受ける。そして、駆動制御部910は、トルク設定値T
s、回転位置検出部940により検出された回転位置θ、及び、電流検出部950により検出された検出電流値I
Dに基づいて、駆動電圧を算出する。例えば、モータ930が3相モータの場合には、駆動制御部910は、駆動電圧として、3相電圧を算出する。こうして算出された駆動電圧は、インバータ920へ送られる。
【0045】
上記のインバータ920は、駆動制御部910から送られた駆動電圧を受ける。そして、インバータ920は、駆動電圧に対応する電流をモータ930に供給する。この結果、モータ930は、トルク設定値T
sに基づいてモータ回転運動を行い、駆動輪を回転させる。
【0046】
上記の回転位置検出部940は、レゾルバ又はエンコーダを備えて構成されている。この回転位置検出部940は、モータ930の回転位置θを検出する。こうして検出された回転位置θは、トラクション制御装置700A、駆動制御部910及び電流検出部950へ送られる。
【0047】
上記の電流検出部950は、モータ930を流れる電流値を検出する。例えば、モータ930が3相モータの場合には、電流検出部950は、モータ930を流れる3相電流のうちの少なくとも2種類の電流値を検出する。こうして検出された電流値は、検出電流値I
Dとして、トラクション制御装置700A及び駆動制御部910へ送られる。
【0048】
《推定誤差割合a,bの算出》
ここで、誤差推定部830による推定誤差割合a,bの算出について説明する。
【0049】
(推定誤差割合aの算出)
走行抵抗F
drは、転がり抵抗、空気抵抗及び勾配抵抗の総和である。このため、坂道でなければ、走行抵抗F
drは、転がり抵抗と空気抵抗の和となる。
【0050】
転がり抵抗は、次の(6)式の通りとなる。
転がり抵抗=μ
r・M・g …(6)
ここで、μ
rは転がり抵抗係数であり、gは重力加速度である。
【0051】
また、空気抵抗は、次の(7)式の通りとなる。
空気抵抗=ρ・C
d・S・v
2/2 …(7)
ここで、ρは空気密度であり、C
dは空気抵抗係数であり、Sは前面投影面積である。
【0052】
このため、転がり抵抗は移動速度に依存せず一定であり、かつ、空気抵抗は速度の2乗に比例する。この結果、坂道でなければ、走行抵抗F
drは、A,Bを定数として、次の(8)式で表される。
F
dr=A+B・v
2 …(8)
【0053】
そこで、アクセルペダルもブレーキペダルも踏まれていないときに惰性走行を行うようにすれば、その惰性走行中において上述した(2)式に基づいて得られる走行抵抗F
drの移動速度vに応じた変化に基づいて、定数A,Bを、最小二乗法により推定することができる。なお、定数A,Bを推定する際の移動速度としては、惰性走行においては、全ての駆動輪が駆動も制動も行われていない状態となっているので、スリップは生じないため、駆動輪の車輪速度(=r・ω)が採用される。
【0054】
こうして、定数A,Bが推定された後、弱い制動トルクによる擬似エンジンブレーキを、例えば、4輪車の前輪か後輪のいずれかに行う。そして、制動トルクをかけていない駆動輪の車輪速度(=r・ω)を車体速度vとして、(8)式より走行抵抗F
drを算出する。引き続き、(2)式の関係を利用して、駆動力F
dを算出した後、駆動トルクの真値(=r・F
d)を算出することができる。
【0055】
誤差推定部830は、上記の方法により駆動トルクの真値を算出する。引き続き、誤差推定部830は、当該駆動トルクの真値と、トラクション制御装置700Aにおいて、(3)式の関係を利用して推定されている推定駆動トルクT
dとを比較し、推定駆動トルクT
dの誤差範囲を求める、そして、誤差推定部830は、求められた推定駆動トルクT
dの誤差範囲の範囲を推定したうえで、推定誤差割合aを算出する。
【0056】
(推定誤差割合bの算出)
電気自動車の走行中にアクセルペダルやブレーキペダルの踏み込みがない場合、惰性運転にするか、あるいは、弱い制動トルクによる擬似エンジンブレーキをかける制御が行われるのが一般的である。そこで、4輪駆動車であったとしても、擬似エンジンブレーキをかけている間は、少なくても前輪か後輪のいずれかの駆動輪は制動トルクをかけないように設定することにより、その駆動輪の車輪速度(=r・ω)から移動速度の真値が算出できる。
【0057】
誤差推定部830は、上記の方法により移動速度の真値を算出する。引き続き、誤差推定部830は、当該移動速度の真値と、トラクション制御装置700Aにおいて、加速度αを時間積分して取得されている移動速度vを比較し、移動速度vの誤差範囲を求める、そして、誤差推定部830は、求められた移動速度vの誤差範囲に基づいて、推定スリップ率λの推定誤差の範囲を推定したうえで、推定誤差割合bを算出する。
【0058】
上記のような方法により、平坦路を走行中にアクセルペダルやブレーキペダルの踏み込みがない場合に、推定誤差割合a,bを算出することができる。これらの推定誤差割合a,bは、一旦求めたら、常に算出する必要はないが、算出頻度を高くできれば時間的な変化に対応できるようになる。
【0059】
<トラクション制御装置700Aの構成>
図5に示されるように、トラクション制御装置700Aは、移動速度取得部710と、回転速度取得部720と、実トルク値取得部730と、制御部740Aとを備えている。
【0060】
上記の移動速度取得部710は、加速度検出部820から送られた加速度αを受ける。そして、移動速度取得部710は、加速度αの時間積分を行って、移動速度vを取得する。こうして取得された移動速度vは、制御部740A及び誤差推定部830へ送られる。
【0061】
上記の回転速度取得部720は、回転位置検出部940から送られた回転位置θを受ける。そして、回転速度取得部720は、回転位置θの時間微分を行って、回転速度ωを取得する。こうして取得された回転速度ωは、制御部740A及び誤差推定部830へ送られる。
【0062】
上記の実トルク値取得部730は、電流検出部950から送られた検出電流値I
Dを受ける。引き続き、実トルク値取得部730は、検出電流値I
Dに基づいてモータ電流値I
mを算出する。なお、モータ電流値I
mは検出電流値I
Dの大きさを示しており、I
m=|I
D|である。
【0063】
次に、実トルク値取得部730は、上述した(1)式を利用して実トルク値T
mを算出することにより、実トルク値T
mを取得する。こうして取得された実トルク値T
mは、制御部740Aへ送られる。
【0064】
上記の制御部740Aは、トルク指令値生成部810から送られたトルク指令値T
c、及び、誤差推定部830から送られた推定誤差割合a,bを受ける。引き続き、制御部740Aは、移動速度v、回転速度ω及び実トルク値T
mに基づいて、トルク指令値T
cに対してトルク制御を行って、トルク設定値T
sを算出する。そして、制御部740Aは、算出されたトルク設定値T
sを駆動制御部910へ送る。
【0065】
なお、制御部740Aは、トラクション制御を行うべき旨が指定されていない場合には、トルク指令値T
cを、トルク設定値T
sとして、駆動制御部910へ送るようになっている。
【0066】
また、制御部740Aは、推定駆動トルクT
dを誤差推定部830へ送る。なお、制御部740Aは、トラクション制御を行うべき旨の指定の有無にかかわらず、推定駆動トルクT
dの算出を行い、算出された推定駆動トルクT
dを誤差推定部830へ送るようになっている。
【0067】
かかる機能を有する制御部740Aは、
図7に示されるように、制限部741と、フィードバック部742とを備えている。また、制御部740Aは、トルク設定値算出部743Aを備えている。
【0068】
上記の制限部741は、トルク指令値生成部810から送られたトルク指令値T
c、及び、誤差推定部830から送られた推定誤差割合a,bを受ける。そして、
制限部741は、移動速度v、回転速度ω及び実トルク値T
mに基づいて、トルク指令値T
cに対してリミッタ制御を行って、リミテッドトルク値T
Lを算出する。そして、制限部741は、算出されたリミテッドトルク値T
Lをトルク設定値算出部743Aへ送る。
【0069】
なお、制限部741は、トラクション制御を行うべき旨が指定されていない場合には、トルク指令値T
cを、リミテッドトルク値T
Lとして、トルク設定値算出部743Aへ送るようになっている。
【0070】
また、制限部741は、リミテッドトルク値T
Lの算出の中間段階で算出されたリミッタ係数k、及び、回転速度ωの時間微分値(dω/dt)をフィードバック部742へ送る。さらに、制限部741は、リミテッドトルク値T
Lの算出の中間段階で算出された推定駆動トルクT
dを誤差推定部830へ送る。
【0071】
なお、制限部741は、トラクション制御を行うべき旨の指定の有無にかかわらず、推定駆動トルクT
dの算出を行い、算出された推定駆動トルクT
dを誤差推定部830へ送る。
【0072】
かかる機能を有する制限部741の構成の詳細については、後述する。
【0073】
上記のフィードバック部742は、制限部741から送られたリミッタ係数k、及び、回転速度ωの時間微分値(dω/dt)、並びに、実トルク値取得部730から送られた実トルク値T
mを受ける。そして、フィードバック部742は、リミッタ係数k、当該時間微分値(dω/dt)及び実トルク値T
mに基づいて、フィードバックトルク値T
fを算出する。そして、フィードバック部742は、算出されたフィードバックトルク値T
fをトルク設定値算出部743Aへ送る。なお、フィードバック部742は、トラクション制御を行うべき旨が指定されていない場合には、フィードバックトルク値T
fとして、「0[Nm]」をトルク設定値算出部743Aへ送るようになっている。
【0074】
なお、フィードバック部742の構成の詳細については、後述する。
【0075】
上記のトルク設定値算出部743Aは、減算部751を備えて構成される。このトルク設定値算出部743Aは、制限部741から送られたリミテッドトルク値T
L、及び、フィードバック部742から送られたフィードバックトルク値T
fを受ける。そして、トルク設定値算出部743Aは、次の(9)式により、トルク設定値T
sを算出し、算出されたトルク設定値T
sをモータ駆動系900へ送る。
T
s=T
L−T
f …(9)
【0076】
《制限部741の構成》
次に、上述した制限部741の構成について説明する。
【0077】
制限部741は、
図8に示されるように、リミッタ係数算出部761と、スリップ率推定部762と、駆動トルク推定部763とを備えている。また、制限部741は、リミット値算出部764と、リミッタ部765とを備えている。
【0078】
リミッタ係数算出部761は、誤差推定部830から送られた推定誤差割合a,bを受ける。そして、リミッタ係数算出部761は、推定誤差割合a,bに基づいて、リミッタ係数kを算出する。こうして算出されたリミッタ係数kは、リミット値算出部764及びフィードバック部742へ送られる。
【0079】
なお、リミッタ係数算出部761によるリミッタ係数kの算出処理については、後述する。
【0080】
上記のスリップ率推定部762は、移動速度取得部710から送られた移動速度v、及び、回転速度取得部720から送られた回転速度ωを受ける。そして、スリップ推定部762は、上述した(5)式により、推定スリップ率λを算出することにより、スリップ率推定を行う。こうして算出された推定スリップ率λは、リミット値算出部764へ送られる。
【0081】
上記の駆動トルク推定部763は、回転速度取得部720から送られた回転速度ω、及び、実トルク値取得部730から送られた実トルク値T
mを受ける。引き続き、駆動トルク推定部763は、上述した(3)式を変形した次の(10)式により得られる値を、ローパスフィルタ(LPF)を介させて、推定駆動トルクT
dを算出することにより、駆動トルク推定を行う。
T
d=T
m−J
w・(dω/dt) …(10)
こうして算出された推定駆動トルクT
dは、リミット値算出部764及び誤差推定部830へ送られる。
【0082】
また、駆動トルク推定部763は、(10)式による推定駆動トルクT
dの算出の途中段階で算出される回転速度ωの時間微分値(dω/dt)を、フィードバック部742へ送る。
【0083】
上記のリミット値算出部764は、スリップ率推定部762から送られた推定スリップ率λ、及び、駆動トルク推定部763から送られた推定駆動トルクT
dを受ける。また、リミット値算出部764は、リミッタ係数算出部761から送られたリミッタ係数kを受ける。そして、リミット値算出部764は、リミッタ係数k、推定スリップ率λ及び推定駆動トルクT
dに基づいて、リミット値Lを算出する。こうして算出されたリミット値Lは、リミッタ部765へ送られる。
【0084】
なお、第1実施形態では、次の(11)式により、リミット値Lを算出する。
L=T
d・(p+k/λ) …(11)
ここで、定数pは、適切なトラクション制御を行うとの観点から、実験、シミュレーション等により、予め定められる。
【0085】
上記のリミッタ部765は、トルク指令値生成部810から送られたトルク指令値T
cを受ける。そして、リミッタ部765は、リミット値算出部764から送られたリミット値Lに従って、トルク指令値T
cに対してリミッタ制御を行って、リミテッドトルク値T
Lを算出する。
【0086】
かかるリミッタ制御に際して、トラクション制御をすべき旨が指定されていない場合、及び、トルク指令値T
cがリミット値L以下の場合には、リミッタ部765は、トルク指令値T
cをリミテッドトルク値T
Lとする。また、トラクション制御をすべき旨が指定されており、かつ、トルク指令値T
cがリミット値Lよりも大きな場合には、リミッタ部765は、リミット値Lをリミテッドトルク値T
Lとする。こうして算出されたリミテッドトルク値T
Lは、トルク設定値算出部743Aへ送られる。
【0087】
(リミッタ係数の算出処理)
ここで、上述したリミッタ係数算出部761によるリミッタ係数kの算出処理について説明する。
【0088】
((移動体のスリップ現象と駆動トルクの関係))
ここで、移動体のスリップ現象と駆動トルクの関係について述べる。
【0089】
上述した(3),(4)式より、T
d=r・F
d=r・μ・Nの関係が成り立つ。このため、駆動輪の半径rと垂直抗力Nに変化が無ければ、
図9において細線で示されるように、スリップ率と駆動トルクとは、
図2におけるスリップ率と摩擦係数との関係と同様となる。走行中の現在の駆動トルクの値に比べて、実トルク値T
mが大きいと、(3)式からわかるように回転速度ωが増加し、(5)式で示されるスリップ率も増加する。
【0090】
こうした場合、スリップ率の値によって動作が異なる。スリップ率が「0.2」以下であれば、
図9に示されるように駆動トルクも増加するので、駆動力F
dが増加する。このため、空気抵抗等によるF
drの変化が小さければ、(2)式により示されるように、移動速度vも増加する。よって、(5)式で表されるスリップ率の増加が緩和されるため安定に走行できる。しかし、スリップ率が「0.2」を超えてしまうと,
図9に示されるように、駆動トルクが増加しないので、駆動力F
dも増加せず、(2)式における移動速度vが増加しない。この結果、(5)式で表されるスリップ率の増加が進行してしまい、更にスリップ率が大きくなるため、走行が不安定になる。
【0091】
これは、駆動トルクの最大値と実トルク値T
mとの関係によって、どちらの動作になるかが決まる。駆動トルクの最大値よりも実トルク値T
mが余裕を持って小さければ、安定走行を維持できる。一方、駆動トルクの最大値よりも実トルク値T
mが多少大きな値のときに、不安定領域に入ってしまうのである。
【0092】
(11)式により求められるリミット値Lの算出例が、
図9に示されている。かかるリミット値Lによりトルク指令値T
cに対してリミッタ処理を施したリミテッドトルク値T
Lをトルク設定値T
sとした場合、スリップ率λが大きいほど、リミット値Lを駆動トルクに近い値とするとともに、スリップ率が小さいほど、リミット値Lを駆動トルクから離れた値とすることができる。
【0093】
したがって、推定スリップ率λが大きくなるほど、現在の推定駆動トルクT
dに近い値にトルク設定値T
sが制限される。また、推定スリップ率λが小さくなるほど、トルク制限が弱くなるため、現在の推定駆動トルクT
dよりも大きなトルク設定値T
sが許可される。
【0094】
なお、推定スリップ率λが大きいほど、リミット値Lを推定駆動トルクT
dに近い値とするため、定数pは、「1」に近い値とすることが好ましい。そこで、第1実施形態では、定数pとして「1」を採用した、次の(12)式により、リミット値Lを算出する。
L=T
d・(1+k/λ) …(12)
【0095】
また、リミッタ係数kを小さくするほど、強いリミッタをかけることができるため、推定スリップ率λが大きくなると強いトルク制限がかかり、結果としてスリップ率の増加を抑えることができる。しかし、推定スリップ率λが小さく安定領域内であれば、必要以上にトルク制限をかけたくないため、リミッタ係数kを小さくしすぎることは好ましくない。
【0096】
(12)式において、リミッタ係数kを「0.01」とした場合のリミテッドトルク値T
Lをトルク設定値T
sとした場合のアンチスリップ性能についての駆動時のシミュレーション結果が、
図10,11に示されている。なお、当該シミュレーションの条件としては、上述したリミッタ制御を行わない場合のシミュレーションと同様に、4輪駆動の電気自動車であって、車重:1800[kg]、駆動輪WHの慣性モーメント:1.2[kg・m
2]及びモータのトルク応答:5[ms]という条件を採用した。また、時刻t
1において乾燥路面から凍結路面に変化し、時刻t
2(>t
1)において凍結路面から乾燥路面に変化することを想定して、シミュレーションを行った。
【0097】
なお、
図10,11(後述する
図12,16〜21においても同様)には、リミッタ制御を行わない場合のシミュレーション結果として、上述した
図3,4で示した車体速度v、車輪速度(r・ω)、スリップ率及び摩擦係数に加えて、算出されたリミット値L、推定駆動トルクT
d、トルク設定値T
s及びリミテッドトルク値T
Lのシミュレーション結果が示されている。ここで、算出されたリミット値L(
図10〜12,16〜21においては「算出リミット値L」と記す)、トルク設定値T
s及びリミテッドトルク値T
Lについては、トルク指令値T
cとの比較が容易となるような図示となっている。
【0098】
図10,11により総合的に示されるように、乾燥路面でのリミット値Lはトルク指令値T
cよりも大きいため、トルク設定値T
sは制限されない。凍結路面に入ると,リミット値Lはトルク設定値T
sより低下するので、リミット値Lで瞬時に制限されたトルク設定値T
sとなる。この結果、スリップ率λの増加が抑制できていることが確認できる。すなわち、乾燥路面での十分な加速と、凍結路面でのスリップを防止した走行とが両立できることが確認できる。
【0099】
(スリップ率及び駆動トルクの推定誤差の影響)
次に、推定スリップ率λ及び推定駆動トルクT
dの推定誤差のアンチスリップ性能への影響について説明する。
【0100】
図12には、推定スリップ率λ及び推定駆動トルクT
dに推定誤差が含まれていた場合のシミュレーション結果が、誤差がない場合の比較例とともに示されている。なお、当該シミュレーションの条件は、上述した
図11(C)の場合と同様である。
【0101】
図12に示されるように、推定スリップ率λ及び推定駆動トルクT
dに誤差が含まれていると、乾燥路面でもリミッタ制御が行われて、トルク設定値T
sが低下してしまっていたり、凍結路面でのスリップ率の増加の抑制が不十分となってしまったりしている。したがって、推定スリップ率λ及び推定駆動トルクT
dの推定誤差が大きいと、トラクション制御の性能が悪化してしまうことがわかる。
【0102】
図13には、リミット値Lの算出に用いる推定スリップ率λや推定駆動トルクT
dに誤差が含まれている場合におけるリミット値Lの算出結果が、誤差がない場合の比較例とともに示されている。リミット値Lの算出に用いる推定スリップ率λや推定駆動トルクT
dに誤差が含まれている場合には、
図13(B)に示されるように、駆動トルクよりも小さいリミット値でリミットされるため、必要なトルクが得られなくなることがある。また、
図13(C)に示されるように、駆動トルクに対してゆるすぎるリミット値でリミットされるため、滑りやすい路面でのトルク低減が不十分となってしまう。こうした現象の発生は、上述したように
図12に示したシミュレーション結果にも現れている。
【0103】
(リミッタ係数の算出)
以上の推定スリップ率λ及び推定駆動トルクT
dの推定誤差の影響を考慮し、第1実施形態では、リミッタ係数算出部761が、リミッタ係数kを、推定スリップ率λ及び推定駆動トルクT
dの推定誤差に応じて算出するようにしている。
【0104】
かかるリミッタ係数kの算出に際して、リミッタ係数算出部761は、誤差推定部830から送られた推定誤差割合a,bを取得する。この推定誤差割合a,bの誤差がある場合には、リミット値Lは、次の(13)式により算出される。
L=a・T
d・(1+k/(b・λ)) …(13)
【0105】
この(13)式では、推定スリップ率λはスリップ率の真値のb倍、推定駆動トルクT
dは駆動トルクの真値のa倍として、誤差を含んだリミット値Lが算出される。
【0106】
(13)式が上述の(12)式と等しくなる条件は、推定スリップ率λ及び推定駆動トルクT
dの推定誤差がない場合のリミッタ係数を「k
*」と記すと、次の(14)式の通りとなる。
a・T
d・(1+k/(b・λ))=T
d・(1+k
*/λ) …(14)
【0107】
(14)式からリミッタ係数kを求めると、次の(15)式の通りとなる。
k=k
*・(b/a)+λ・((b/a)−b) …(15)
【0108】
ここで、推定スリップ率λ及び推定駆動トルクT
dの推定誤差がない場合には、上述した
図10,11におけるシミュレーション結果により示されるように、「0.01」がリミッタ係数k
*の適正値となっている。また、スリップ率については、上述した
図2に示されるように、「0.2」が安定領域と不安定領域との境界(すなわち、摩擦係数が最大となるスリップ率)となっている。そこで、第1実施形態では、リミッタ係数算出部761は、次の(16)式により、リミット値算出部764へ供給するリミッタ係数kを算出するようにしている。
k=0.01・(b/a)+0.2・((b/a)−b) …(16)
なお、(16)式は,k
*=0.01,λ=0.2を(15)式に代入して求められる。
【0109】
この(16)式で算出したリミッタ係数kを採用した場合に、(12)式により算出されたリミット値Lの例が、
図14に示されている。
図14(B)に示されるように、
図13(B)の場合と異なり、スリップ率が「0.2」以下の場合においてリミット値Lが小さくなりすぎておらず、必要以上に強いリミッタにはなっていない。つまり、推定スリップ率λや推定駆動トルクT
dに推定誤差が含まれていても、安定領域では必要以上に強いリミッタになることを回避することができている。
【0110】
なお、
図14(B)に示される場合と誤差の方向が逆である
図14(C)の場合には、弱いリミッタとなってしまう。この点については、制限部741による適応型リミッタ処理と、後述するフィードバック部742により行われるフィードバック処理とを併用することにより、克服されるようになっている。
【0111】
《フィードバック部742の構成》
次に、上述したフィードバック部742の構成について説明する。
【0112】
フィードバック部742は、
図15に示されるように、粘着モデル部771と、減算部772と、ローパスフィルタ(LPF)部773とを備えている。また、フィードバック部742は、フィードバックゲイン算出部774と、乗算部775とを備えている。
【0113】
上記の粘着モデル部771は、「P
n-1=J
w+M・r
2」として表される伝達関数として示すことができる。この粘着モデル部771は、制限部741から送られた回転速度ωの時間微分値(dω/dt)を受ける。そして、粘着モデル部771は、駆動輪にスリップが生じない仮想的なモデルである粘着モデルに従って、当該時間微分値(dω/dt)に対応するトルク値T
nを、次の(17)式により算出し、算出されたトルク値T
nを減算部772へ送る。
T
n=P
n-1・(dω/dt) …(17)
なお、トルク値T
nは、回転速度ωから粘着モデルを用いて逆算されるため、以下においては、トルク値T
nを、「逆算トルク値T
n」とも記す。
【0114】
上記の減算部772は、粘着モデル部771から送られた逆算トルク値T
n、及び、実トルク取得部730から送られた実トルク値T
mを受ける。そして、減算部772は、次の(18)式により差分トルク値T
hを算出し、算出された差分トルク値T
hをLPF部773へ送る。
T
h=T
n−T
m …(18)
【0115】
上記のLPF部773は、減算部772から送られた差分トルク値T
hを受ける。そして、LPF部773は、差分トルク値T
hに対してフィルタリング処理を施してフィルタ後トルク値T
afを算出し、算出されたフィルタ後トルク値T
afを乗算部775へ送る。
【0116】
上記のフィードバックゲイン算出部774は、制限部741から送られたリミッタ係数kを受ける。そして、フィードバックゲイン算出部774は、予め定められた定数cを利用して、次の(19)式により、フィードバックゲインk
pを算出し、算出されたフィードバックゲインk
pを乗算部775へ送る。
k
p=c・k …(19)
【0118】
上記の乗算部775は、LPF部773から送られたフィルタ後トルク値T
af、及び、フィードバックゲイン算出部774から送られたフィードバックゲインk
pを受ける。そして、乗算部775は、次の(20)式により、フィードバックトルク値T
fを算出し、算出されたフィードバックトルク値T
fをトルク設定値算出部743Aへ送る。
T
f=k
p・T
af …(20)
【0119】
(定数cについて)
ここで、フィードバックゲイン算出部774がフィードバックゲインk
pの算出に際して利用する定数cについて説明する。
【0120】
第1実施形態では、上述したように、制限部741において算出されたリミッタ係数kの値に応じてフィードバックゲインk
pを、上述した(19)式により算出している。このため、リミッタ係数kが小さくて強いリミッタの場合は、フィードバックゲインk
pが小さくて弱いフィードバック制御となる。一方、リミッタ係数kが大きく弱いリミッタの場合は、フィードバックゲインk
pが大きくて強いフィードバック制御となる。
【0121】
こうした制限部741における適応型リミッタ制御によるトルク低減と、フィードバック部742を利用したモデル追従制御でのトルク低減という2種類のトルク低減を経たものが適切なトルク設定値となるように検討した結果、定数cを「10」とする次の(21)式により、フィードバックゲインk
pを算出することが、最適であることが見出された。
k
p=10・k …(21)
【0122】
図16,17には、(21)式を用いてフィードバックゲインk
pを算出した場合のアンチスリップ性能のシミュレーション結果が示されている。なお、当該シミュレーションの条件は、上述した
図10,11の場合と同様であり、k=0.075,k
p=0.75としている。
【0123】
図16,17に示されるように、凍結路面の場所でリミッタがかかり、さらにトルク低減される。この結果、トルク設定値T
sが適切に設定されることにより、スリップ率の上昇が抑制されて、駆動輪の空転が防止される。
【0124】
図18には、推定スリップ率λ及び推定駆動トルクT
dに誤差が含まれている場合に、(21)式を用いてフィードバックゲインk
pを算出したときにおけるアンチスリップ性能のシミュレーション結果が、誤差がない場合の比較例とともに示されている。
図18と
図12とを比較してわかるように、(21)式を用いてフィードバックゲインk
pを算出したときには、推定スリップ率λ及び推定駆動トルクT
dに誤差が含まれていても、誤差が無いときのスリップ抑制と近い結果が得られている。なお、当該シミュレーションの条件は、上述した
図12の場合と同様である。
【0125】
図19,20には、(21)式の関係を満たすリミッタ係数kとフィードバックゲインk
pとの組み合わせのいくつかについてのアンチスリップ性能のシミュレーション結果が示されている。
図19,20からわかるように、トルク指令値T
cからリミテッドトルク値T
Lへの低減、及び、リミテッドトルク値T
Lからトルク設定値T
sへの低減という2段階の低減が行われる。そして、リミッタ係数kとフィードバックゲインk
pとの組み合わせの種類にかかわらず、最終的には同程度のトルク設定値T
sとなり、スリップ率も同程度となっている。なお、当該シミュレーションの条件は、上述した
図11(C)の場合と同様である。
【0126】
比較のために、(21)式の関係を満たさないリミッタ係数kとフィードバックゲインk
pとの組み合わせのいくつかについてのアンチスリップ性能のシミュレーション結果が、
図21(A),(B)に示されている。
図21(A),(B)に示されるように、(21)式の関係を満たさない場合には、トルク低減が強すぎて乾燥路面でのトルクが低下してしまったり、スリップ抑制が不十分であったりしてしまう。
【0127】
また、
図21(C)には、フィードバックゲインk
pを「10」という大きな値とした場合のアンチスリップ性能のシミュレーション結果が示されている。
図21(C)に示されるように、この場合には、凍結路面におけるスリップ率の抑制はできている。しかしながら、破線丸で囲まれた部分におけるトルク設定値T
sの変化からわかるように、乾燥路面において、トルク設定値T
sが大きく減少するようになってしまう。
【0128】
なお、
図21の結果を得たシミュレーションの条件は、上述した
図11(C)の場合と同様である。
【0129】
<動作>
次に、上記のように構成されたトラクション制御装置700Aの動作について、トラクション制御を行うべき旨が指定されている場合の制御部740Aにおける処理(以下、「トラクション制御モード処理」ともいう)に主に着目して説明する。
【0130】
なお、トルク指令値生成部810、加速度検出部820、誤差推定部830及びモータ駆動系900は、既に動作を開始しており、トルク指令値T
c、加速度α、推定誤差割合a,b、回転位置θ及び検出電流値I
Dが、逐次、トラクション制御装置700Aへ送られているものとする(
図5参照)。
【0131】
トラクション制御装置700Aでは、移動速度取得部710が、加速度検出部820から送られた加速度αの時間積分を行って、移動速度vを取得する。そして、移動速度取得部710は、取得された移動速度vを制御部740A及び誤差推定部830へ逐次送る(
図5参照)。
【0132】
また、回転速度取得部720が、回転位置検出部940から送られた回転位置θの時間微分を行って、回転速度ωを取得する。そして、回転速度取得部720は、取得された回転速度ωを制御部740A及び誤差推定部830へ逐次送る(
図5参照)。
【0133】
また、実トルク値取得部730が、電流検出部950から送られた検出電流値I
Dに基づいて実トルク値T
mを算出することにより、実トルク値T
mの取得を行う。そして、実トルク値取得部730は、取得された実トルク値T
mを制御部740Aへ逐次送る(
図5参照)。
【0134】
《トラクション制御モード処理》
トラクション制御モード処理では、制御部740Aにおいて、制限部741が、リミテッドトルク値T
Lを算出する。
【0135】
リミテッドトルク値T
Lの算出に際しては、リミッタ係数算出部761が、誤差推定部830から送られた推定誤差割合a,bに基づいて、上述した(16)式により、リミッタ係数kを算出する。そして、リミッタ係数算出部761は、算出されたリミッタ係数kをリミット値算出部764及びフィードバック部742へ送る(
図8参照)。
【0136】
また、スリップ率推定部762が、移動速度取得部710から送られた移動速度v、及び、回転速度取得部720から送られた回転速度ωに基づいて、上述した(5)式により、推定スリップ率λを算出することにより、スリップ率推定を行う。そして、スリップ率推定部762は、推定スリップ率λを、リミット値算出部764へ逐次送る(
図8参照)。
【0137】
また、駆動トルク推定部763が、回転速度取得部720から送られた回転速度ω、及び、実トルク値取得部730から送られた実トルク値T
mに基づいて、上述した(10)式により得られる値を、ローパスフィルタ(LPF)を介させて、推定駆動トルクT
dを算出することにより、駆動トルク推定を行う。そして、駆動トルク推定部763は、推定駆動トルクT
dをリミット値算出部764及び誤差推定部830へ逐次送る(
図8参照)。
【0138】
なお、駆動トルク推定部763は、推定駆動トルクT
dの算出の途中段階で算出された回転速度ωの時間微分値(dω/dt)をフィードバック部742へ送る(
図8参照)。
【0139】
リミット値算出部764は、リミッタ係数算出部761から送られたリミッタ係数k、スリップ率推定部762から送られた推定スリップ率λ、及び、駆動トルク推定部763から送られた推定駆動トルクT
dに基づいて、上述した(11)式により、リミット値Lを算出する。そして、リミット値算出部764は、算出されたリミット値Lをリミッタ部765へ逐次送る(
図8参照)。
【0140】
リミッタ部765は、リミット値算出部764から送られたリミット値Lに基づいて、上述したようにして、トルク指令値T
cに対してリミッタ制御を行って、リミテッドトルク値T
Lを算出する。そして、リミッタ部765は、算出されたリミテッドトルク値T
Lをトルク設定値算出部743Aへ逐次送る(
図8参照)。
【0141】
かかる制限部741におけるリミテッドトルク値T
Lの算出と並行して、フィードバック部742が、フィードバックトルク値T
fを算出する。
【0142】
フィードバックトルク値T
fの算出に際しては、粘着モデル部771が、制限部741から送られた回転速度ωの時間微分値(dω/dt)に基づいて、上述した(17)式により、逆算トルク値T
nを算出する。そして、粘着モデル部771は、算出された逆算トルク値T
nを減算部772へ送る(
図15参照)。
【0143】
引き続き、減算部772が、粘着モデル部771から送られた逆算トルク値T
n、及び、実トルク取得部730から送られた実トルク値T
mに基づいて、上述した(18)式により差分トルク値T
hを算出する。そして、減算部772は、算出された差分トルク値T
hをLPF部773へ送る(
図15参照)。
【0144】
次に、LPF部773が、減算部772から送られた差分トルク値T
hに対してフィルタリング処理を施してフィルタ後トルク値T
afを算出する。そして、LPF部773は、算出されたフィルタ後トルク値T
afを乗算部775へ送る(
図15参照)。
【0145】
かかるフィルタ後トルク値T
afの算出と並行して、フィードバックゲイン算出部774が、制限部741から送られたリミッタ係数kに基づいて、上述した(21)式により、フィードバックゲインk
pを算出する。そして、フィードバックゲイン算出部774は、算出されたフィードバックゲインk
pを乗算部775へ送る。
【0146】
次いで、乗算部775が、LPF部773から送られたフィルタ後トルク値T
af、及び、フィードバックゲイン算出部774から送られたフィードバックゲインk
pに基づいて、上述した(20)式により、フィードバックトルク値T
fを算出する。そして、乗算部775は、算出されたフィードバックトルク値T
fをトルク設定値算出部743Aへ送る。
【0147】
制限部741から送られたリミテッドトルク値T
L、及び、フィードバック部742から送られたフィードバックトルク値T
fを受けたトルク設定値算出部743Aは、上述した(9)式により、トルク設定値T
sを算出する。そして、トルク設定値算出部743Aは、算出されたトルク設定値T
sをモータ駆動系900へ送る(
図7参照)。
【0148】
《非トラクション制御モード処理》
非トラクション制御モード処理では、制限部741のリミッタ部765が、トルク指令値T
cをリミテッドトルク値T
Lとして、トルク設定値算出部743Aへ送る。なお、非トラクション制御モード処理の場合にも、制限部741の駆動トルク推定部763は、推定駆動トルクT
dの算出を行い、算出された推定駆動トルクT
dを誤差推定部830へ送る。
【0149】
また、非トラクション制御モード処理では、フィードバック部742が、フィードバックトルク値T
fを「0」として、トルク設定値算出部743Aへ送る。
【0150】
この結果、トルク設定値算出部743Aにより算出されるトルク設定値T
sは、トルク指令値T
cと同一となる。このため、非トラクション制御モード処理では、制御部740Aからは、トルク設定値T
sとして、トルク指令値T
cがそのまま、モータ駆動系900へ送られる。
【0151】
モータ駆動系900では、トラクション制御装置700Aから送られたトルク設定値T
sに基づいて、トルク設定値T
sに対応する電流をモータ930に供給する。この結果、モータ930は、トルク設定値T
sに対応するトルク値で駆動される。
【0152】
以上説明したように、第1実施形態では、モータ930によって駆動される駆動輪を有する移動体MVの移動速度v、移動体MVの駆動輪の回転速度ω、及び、モータ930が発生する実トルク値T
mを取得する。ここで、移動速度v、回転速度ω及び実トルク値T
mは、迅速な取得が可能である。
【0153】
引き続き、制御部740Aにおける制限部741が、移動速度v及び回転速度ωに基づいて、迅速な演算が可能な(5)式を利用して駆動輪の推定スリップ率λを推定する。また、制限部741が、回転速度ω及び実トルク値T
mに基づいて、迅速な演算が可能な(10)式を利用して駆動輪の推定駆動トルクT
dを推定する。
【0154】
次に、制限部741が、推定スリップ率λと推定駆動トルクT
dとに基づいて、迅速な演算が可能な(11)式を利用して、トルク指令値T
cに対するリミット値Lを算出する。そして、制限部741は、リミット値Lを用いてトルク指令値T
cに対する制限処理を行って、リミテッドトルク値T
Lを算出する。
【0155】
かかるリミテッドトルク値T
Lの算出と並行して、制御部740Aにおけるフィードバック部742が、各時点の回転速度ωの時間微分値(dω/dt)及び実トルク値T
mに基づいて、迅速な演算が可能な(17),(18),(20),(21)式を適宜利用してフィードバックトルク値T
fを算出する。なお、フィードバック部742は、粘着モデルに基づいて、フィードバックトルク値T
fを算出する。
【0156】
引き続き、トルク設定値算出部743Aが、リミテッドトルク値T
L及びフィードバックトルク値T
fに基づいて、(9)式により、トルク設定値T
sを算出する。そして、トルク設定値算出部743Aが、算出されたトルク設定値T
sをモータ駆動系900へ送る。
【0157】
このため、第1実施形態によれば、制限部741のフィードフォワード制御によるトルク設定値T
sの制限と、フィードバック部742のフィードバック制御とによるトルク設定値T
sの低減が行われる。したがって、第1実施形態によれば、凍結路面でのスリップ率λの増大防止と、乾燥路面での十分なトルク出力とを両立することができる。
【0158】
また、第1実施形態では、リミッタ係数kを、推定駆動トルクT
dの推定誤差割合aと、推定スリップ率λの推定誤差割合bとに基づいて、(16)式により算出する。そして、フィードバック部742におけるフィードバックゲインk
pを、(21)式により算出する。このため、推定駆動トルクT
d及び推定スリップ率λに誤差が含まれる場合であっても、適切なトラクション制御を行うことができる。
【0159】
[第2実施形態]
次に、本発明の第2実施形態を、
図22及び
図23を主に参照して説明する。
【0160】
図22には、第2実施形態に係るトラクション制御装置700Bの構成及び位置付けが示されている。この
図22に示されるように、トラクション制御装置700Bは、互いに独立に駆動可能な4つの駆動輪である左前側駆動輪WH
FL、右前側駆動輪WH
FR、左後側駆動輪WH
RL及び右後側駆動輪WH
RRの4個の駆動輪を有する移動体MV内に配置される。
【0161】
移動体MVには、トラクション制御装置700Bに加えて、トルク指令値生成部810、加速度検出部820、誤差推定部830及びモータ駆動系900
FL〜900
RRが配置されている。ここで、モータ駆動系900
j(j=FL〜RR)のそれぞれは、上述した第1実施形態において説明したモータ駆動系900と同様に構成されている。
【0162】
すなわち、モータ駆動系900
jは、上述した駆動制御部910と同様の機能を有する駆動制御部910
jと、上述したインバータ920と同様の機能を有するインバータ920
jと、上述したモータ930と同様の機能を有するモータ930
jとを備えている。また、モータ駆動系900
jは、上述した回転位置検出部940と同様の機能を有する回転位置検出部940
jと、上述した電流検出部950と同様の機能を有する電流検出部950
jを備えている。
【0163】
ここで、駆動制御部910
jは、トラクション制御装置700Bから送られたトルク設定値CT
s,j、回転位置検出部940
jにより検出された回転位置θ
j、及び、電流検出部950
jにより検出された検出電流値I
D,jに基づいて、駆動電圧を算出する。そして、駆動制御部910
jは、算出された駆動電圧を、インバータ920
jへ送る。
【0164】
また、回転位置検出部940
jは、モータ930
jの回転位置θ
jを検出する。そして、回転位置検出部940
jは、検出された回転位置θ
jを、トラクション制御装置700B及び駆動制御部910
jへ送る。
【0165】
また、電流検出部950
jは、モータ930
jを流れる電流値を検出する。そして、電流検出部950
jは、検出された電流値を、検出電流値I
D,jとして、トラクション制御装置700B及び駆動制御部910
jへ送る。
【0166】
なお、トルク指令値生成部810からは、4個の駆動輪WH
FL〜WH
RRに対応して、トルク指令値T
c,FL〜T
c,RRが、トラクション制御装置700Bへ送られる。
【0167】
また、誤差推定部830は、4個の駆動輪WH
FL〜WH
RRに対応して、推定誤差割合a
FL〜a
RR及び推定誤差割合b
FL〜b
RRを推定し、推定結果をトラクション制御装置700Bへ送る。
【0168】
<トラクション制御装置700Bの構成>
図22に示されるように、トラクション制御装置700Bは、上述した第1実施形態のトラクション制御装置700Aと比べて、制御部740Aに代えて制御部740Bを備える点が異なっている。以下、この相違点に主に着目して説明する。
【0169】
なお、第2実施形態における回転速度取得部720は、回転位置検出部940
jから送られた回転位置θ
jを受ける。そして、回転速度取得部720は、回転位置θの時間微分を行って、回転速度ω
jを取得する。こうして取得された回転速度ω
jは、制御部740B及び誤差推定部830へ送られる。
【0170】
また、第2実施形態における実トルク値取得部730は、電流検出部950
jから送られた検出電流値I
D,jを受ける。引き続き、実トルク値取得部730は、検出電流値I
D,jに基づいてモータ電流値I
m,jを算出する。なお、モータ電流値I
m jは検出電流値I
D,jの大きさを示しており、I
m,j=|I
D,j|である。
【0171】
次に、実トルク値取得部730は、上述した(1)式を利用して実トルク値T
m,jを算出することにより、実トルク値T
m,jを取得する。こうして取得された実トルク値T
m,jは、制御部740Bへ送られる。
【0172】
上記の制御部740Bは、
図23に示されるように、個別制御部781
FL〜781
RRと、共通トルク設定値算出部782とを備えている。
【0173】
上記の個別制御部781
j(j=FL〜RR)のそれぞれは、上述した制御部740Aと同様に構成される。個別制御部781
jは、トルク指令値生成部810から送られたトルク指令値T
c,j、及び、誤差推定部830から送られた推定誤差割合a
j,b
jを受ける。引き続き、個別制御部781
jは、移動速度v、回転速度ω
j及び実トルク値T
m,jに基づいて、トルク指令値T
c,jに対してリミッタ制御を行ってリミテッドトルク値T
L,jを算出する。また、個別制御部781
jは、実トルク値T
m,j、並びに、リミテッドトルク値T
L,jの算出の途中段階で得られた回転速度ω
jの時間微分値(dω
j/dt)及びリミッタ係数k
jに基づいて
フィードバックトルクT
f,jを生成する。そして、個別制御部781
jは、
フィードバックトルクT
f,j及びリミテッドトルク値T
L,jに基づいて個別トルク設定値T
s,jを算出し、算出された個別トルク設定値T
s,jを共通トルク設定値算出部782へ送る。
【0174】
なお、個別制御部781
jは、トラクション制御を行うべき旨が指定されていない場合には、トルク指令値T
c,jを、個別トルク設定値T
s,jとして、共通トルク設定値算出部782へ送るようになっている。
【0175】
また、個別制御部781
jは、推定駆動トルクT
d,jを誤差推定部830へ送る。なお、個別制御部781
jは、トラクション制御を行うべき旨の指定の有無にかかわらず、推定駆動トルクT
d,jの算出を行い、算出された推定駆動トルクT
d,jを誤差推定部830へ送るようになっている。
【0176】
上記の共通トルク設定値算出部782は、個別制御部781
jから送られた個別トルク設定値T
s,jを受ける。そして、共通トルク設定値算出部782は、トラクション制御を行うべき旨が指定されていない場合には、個別トルク設定値T
s,jを、トルク設定値CT
s,jとしてモータ駆動系900
jへ送る。
【0177】
一方、トラクション制御を行うべき旨が指定されている場合には、共通トルク設定値算出部782は、個別トルク設定値T
s,FL〜T
s,RRのうちの最小値を抽出する。引き続き、共通トルク設定値算出部782は、トルク設定値CT
s,FL〜CT
s,RRの全てを、抽出された最小値T
s,minに設定する。共通トルク設定値算出部782は、最小値T
s,minに設定されたトルク設定値CT
s,jをモータ駆動系900
jへ送る。
【0178】
<動作>
次に、上記のように構成されたトラクション制御装置700Bの動作について、トラクション制御を行うべき旨が指定されている場合の制御部740Bにおけるトラクション制御モード処理に主に着目して説明する。
【0179】
なお、トルク指令値生成部810、加速度検出部820、誤差推定部830及びモータ駆動系900
jは、既に動作を開始しており、トルク指令値T
c,j、加速度α、推定誤差割合a
j,b
j、回転位置θ
j及び検出電流値I
D,jが、逐次、トラクション制御装置700Bへ送られているものとする(
図22参照)。
【0180】
トラクション制御装置700Bでは、移動速度取得部710が、加速度検出部820から送られた加速度αの時間積分を行って、移動速度vを取得する。そして、移動速度取得部710は、取得された移動速度vを制御部740B及び誤差推定部830へ逐次送る(
図22参照)。
【0181】
また、回転速度取得部720が、回転位置検出部940
jから送られた回転位置θ
jの時間微分を行って、回転速度ω
jを取得する。そして、回転速度取得部720は、取得された回転速度ω
jを制御部740B及び誤差推定部830へ逐次送る(
図22参照)。
【0182】
また、実トルク値取得部730が、電流検出部950
jから送られた検出電流値I
D,jに基づいて実トルク値T
m,jを算出することにより、実トルク値T
m,jの取得を行う。そして、実トルク値取得部730は、取得された実トルク値T
m,jを制御部740Bへ逐次送る(
図22参照)。
【0183】
<トラクション制御モード処理>
トラクション制御モード処理では、制御部740Bにおいて、個別制御部781
jが、上述した制御部740Aと同様の処理を行って、個別トルク設定値T
s,jを算出する。そして、個別制御部781
jは、算出された個別トルク設定値T
s,jを共通トルク設定値算出部782へ送る。
【0184】
個別制御部781
FL〜781
RRから送られた個別トルク設定値T
s,FL〜T
s,RRを受けると、共通トルク設定値算出部782は、個別トルク設定値T
s,FL〜T
s,RRのうちの最小値を抽出する。引き続き、共通トルク設定値算出部782は、トルク設定値CT
s,FL〜CT
s,RRの全てを、抽出された最小値T
s,minに設定する。そして、共通トルク設定値算出部782は、最小値T
s,minに設定されたトルク設定値CT
s,jをモータ駆動系900
jへ送る。
【0185】
なお、個別制御部781
jは、個別トルク設定値T
s,jの算出の途中段階で算出された推定駆動トルクT
d,jを誤差推定部830へ送る。
【0186】
<非トラクション制御モード処理>
非トラクション制御モード処理では、制御部740Bにおいて、個別制御部781
jが、トルク指令値T
c,jをそのまま、個別トルク設定値T
s,jとする。そして、個別制御部781
jは、個別トルク設定値T
s,j(=T
c,j)を共通トルク設定値算出部782へ送る。
【0187】
個別制御部781
FL〜781
RRから送られた個別トルク設定値T
s,FL〜T
s,RRを受けると、共通トルク設定値算出部782は、個別トルク設定値T
s,FL〜T
s,RRをそのままトルク設定値CT
s,FL〜CT
s,RRとする。なお、非トラクション制御モード処理の場合にも、個別制御部781
jは、推定駆動トルクT
d,jの算出を行い、算出された推定駆動トルクT
d,jを誤差推定部830へ送る。
【0188】
個別制御部781
FL〜781
RRから送られた個別トルク設定値T
s,FL〜T
s,RRを受けると、共通トルク設定値算出部782は、個別トルク設定値T
s,jをそのまま、トルク設定値CT
s,jとしてモータ駆動系900
jへ送る。この結果、モータ駆動系900
jへは、トルク指令値T
c,jが、そのまま送られる。
【0189】
モータ駆動系900
jでは、トラクション制御装置700Bから送られたトルク設定値CT
s,jに基づいて、トルク設定値CT
s,jに対応する電流をモータ930
jに供給する。この結果、モータ930
jは、トルク設定値CT
s,jに対応する実トルク値で駆動される。
【0190】
以上説明したように、第2実施形態によれば、上述した第1実施形態の場合と同様に、必要な駆動力を確保しつつ安定な走行のための制御を、路面状態の変化に応じて迅速に実現することができる。
【0191】
また、第2実施形態では、複数の駆動輪のそれぞれについて算出された個別設定トルク値の中の最小値を、複数の駆動輪の全てのトルク設定値とする。この場合には、複数の駆動輪間におけるトルク設定値の差を抑制できるので、安定な走行を確保することができる。例えば、道路の左側のみ凍結しているような路面を走行する場合に、左側の駆動輪を対象として算出したトルク設定値が右側の駆動輪にも適応されるため、左右トルクのアンバランスが回避され、移動体の向きが変化することを防止できる。
【0192】
[実施形態の変形]
本発明は、上記の実施形態に限定されるものではなく、様々な変形が可能である。
【0193】
例えば、上記の第1及び第2実施形態では、移動速度の取得に際して加速度センサを利用するようにしたが、光学式対地センサを利用するようにしてもよい。
【0194】
また、上記の第1及び第2実施形態では、モータの実トルク値T
mを(1)式から求めたが、T
sにトルク応答特性を乗じる次の(22)式により、実トルク値T
mを算出するようにしてもよい。
T
m=T
s・(1/(τ
1・s+1)) …(22)
ここで、値τ
1は、トルク応答の時定数である。
【0195】
また、上記の第1及び第2実施形態では、トラクション制御装置が誤差推定部を備えない構成とした。これに対し、トラクション制御装置が誤差推定部を備えるようにしてもよい。
【0196】
また、上記の第1及び第2実施形態では、推定誤差範囲に基づいてリミッタ係数を算出するようにした。これに対して、推定スリップ率及び推定駆動トルクの誤差の変化が小さい場合には、リミッタ係数を固定値としてもよい。
【0197】
また、上記の第1実施形態における制御部740Aに代えて、
図24に示される構成の制御部740Cを採用してもよい。
【0198】
制御部740Cは、上述した制御部740Aと比べて、トルク設定値算出部743Aに代えてトルク設定値算出部743Cを備える点が異なっている。このトルク設定値算出部743Cは、減算部752,753,754を備えて構成されている。
【0199】
上記の減算部752は、トルク指令値生成部810から送られたトルク指令値T
c、及び、フィードバック部742から送られたフィードバックトルク値T
fを受ける。そして、減算部752は、第1差分値(T
c−T
f)を算出する。
【0200】
上記の減算部753は、トルク指令値生成部810から送られたトルク指令値T
c、及び、制限部741から送られたリミテッドトルク値T
Lを受ける。そして、減算部753は、第2差分値(T
c−T
L)を算出する。
【0201】
上記の減算部754は、減算部752から送られた第1差分値(T
c−T
f)、及び、減算部753から送られた第2差分値(T
c−T
L)を受ける。そして、減算部754は、次の(23)式により、トルク設定値T
sを算出し、算出されたトルク設定値T
sをモータ駆動系900へ送る。
T
s=(T
c−T
f)−(T
c−T
L) …(23)
【0202】
ここで、(23)式の右辺は、(T
L−T
f)となるので、制御部740Cにより算出されるトルク設定値は、制御部740Aにより算出されるトルク設定値と同一となる。このため、制御部740Cを制御部740Aに代えて採用したトラクション制御装置によれば、上述した第1実施形態の場合と同様に効果を奏することができる。
【0203】
なお、制御部740Aから制御部740Cへの変形と同様の変形を、第2実施形態に施してもよい。
【0204】
また、上記の第1及び第2実施形態では、インホイールモータのように、トルク設定値に対する駆動輪の駆動トルクの応答速度が速い場合を想定した。これに対し、トルク設定値に対する駆動輪の駆動トルクの応答が迅速とはいえない場合にも本発明を適用してもよい。
【0205】
なお、上記の実施形態のトラクション制御装置を、中央処理装置(CPU:Central Processing Unit)、DSP(Digital Signal Processor)等を備えた演算手段としてのコンピュータとして構成し、予め用意されたプログラムを当該コンピュータで実行することにより、上記の実施形態のトラクション制御装置の機能の一部又は全部を実行するようにしてもよい。このプログラムはハードディスク、CD−ROM、DVD等のコンピュータで読み取り可能な記録媒体に記録され、当該コンピュータによって記録媒体からロードされて実行される。また、このプログラムは、CD−ROM、DVD等の可搬型記録媒体に記録された形態で取得されるようにしてもよいし、インターネットなどのネットワークを介した配信の形態で取得されるようにしてもよい。
【実施例】
【0206】
次に、本発明の一実施例を、
図25〜
図29を主に参照して説明する。なお、以下の説明においては、上述した実施形態を含めて、同一又は同等の要素には同一の符号を付し、重複する説明を極力省略する。
【0207】
[構成]
図25には、一実施例に係るトラクション制御装置100の構成が概略的に示されている。このトラクション制御装置100は、上述した第2実施形態に係るトラクション制御装置700Bの一態様となっている。
【0208】
図25に示されるように、トラクション制御装置100は、移動体MVとしての車両CR内に配置される。なお、車両CRは、互いに独立に駆動可能な4つの駆動輪である左前側駆動輪WH
FL、右前側駆動輪WH
FR、左後側駆動輪WH
RL及び右後側駆動輪WH
RRの4個の駆動輪を備えている。
【0209】
車両CRには、トラクション制御装置100に加えて、トルク指令値生成部810、加速度検出部820、誤差推定部830及びモータ駆動系900
FL〜900
RRが配置されている。ここで、モータ駆動系900
j(j=FL〜RR)のそれぞれは、上述した第2実施形態において説明したモータ駆動系900
jと同様に構成されている。
【0210】
<トラクション制御装置100の構成>
トラクション制御装置100は、制御ユニット110と、記憶ユニット120とを備えている。
【0211】
上記の制御ユニット110は、演算手段としての中央処理装置(CPU)、DSP(Digital Signal Processor)を備えて構成される。この制御ユニット110は、プログラムを実行することにより、上述した第2実施形態における移動速度取得部710、回転速度取得部720、実トルク値取得部730及び制御部740Bとしての機能を果たすようになっている。
【0212】
制御ユニット110が実行するプログラムは、記憶ユニット120に記憶され、記録ユニットからロードされて実行される。このプログラムは、CD−ROM、DVD等の可搬型記録媒体に記録された形態で取得されるようにしてもよいし、インターネットなどのネットワークを介した配信の形態で取得されるようにしてもよい。
【0213】
なお、制御ユニット110が実行する処理については、後述する。
【0214】
上記の記憶ユニット120には、制御ユニット110が利用する様々な情報データが記憶される。こうした情報データには、制御ユニット110が実行するプログラムが含まれている。この記憶ユニット120には、制御ユニット110がアクセスできるようになっている。
【0215】
<駆動制御部910
j及び電流検出部950
jの構成>
ここで、本実施例の駆動制御部910
j及び電流検出部950
jについて、
図26を参照して、より詳しく説明する。なお、本実施例では、モータ930
jは、3相モータとなっている。
【0216】
まず、駆動制御部910
jについて説明する。この駆動制御部910
jは、ベクトル制御により、モータ930
jの駆動を制御する。かかる機能を有する駆動制御部910
jは、電流指令値生成部911と、減算部912
d,912
qと、比例及び積分(PI)演算部913
d,913
qとを備えている。また、駆動制御部910
jは、座標変換部914と、パルス幅変調(PWM)部915とを備えている。
【0217】
上記の電流指令値生成部911は、トラクション制御装置100から送られたトルク設定値CT
s,jを受ける。そして、電流指令値生成部911は、トルク設定値CT
s,jのモータトルクを発生させるべく、d軸電流指令値I
d,j*及びq軸電流指令値I
q,j*を生成する。こうして生成されたd軸電流指令値I
d,j*は、減算部912
dへ送られるとともに、q軸電流指令値I
q,j*は、減算部912
qへ送られる
【0218】
上記の減算部912
dは、電流指令値生成部911から送られたd軸電流指令値I
d,j*を受ける。そして、減算部912
dは、電流検出部950
jから送られたd軸検出電流値I
d,jを、d軸電流指令値I
d,j*から差し引く。減算部912
dによる減算結果は、PI演算部913
dへ送られる。
【0219】
上記の減算部912
qは、電流指令値生成部911から送られたq軸電流指令値I
q,j*を受ける。そして、減算部912
qは、電流検出部950
jから送られたq軸検出電流値I
q,jを、q軸電流指令値I
q,j*から差し引く。減算部912
qによる減算結果は、PI演算部913
qへ送られる。
【0220】
上記のPI演算部913
dは、減算部912
dから送られた減算結果を受ける。そして、PI演算部913
dは、当該減算結果に基づいて比例及び積分演算を行い、d軸電圧指令値V
d,j*を算出する。PI演算部913
dにより算出されたd軸電圧指令値V
d,j*は、座標変換部914へ送られる。
【0221】
上記のPI演算部913
qは、減算部912
qから送られた減算結果を受ける。そして、PI演算部913
qは、当該減算結果に基づいて比例及び積分演算を行い、q軸電圧指令値V
q,j*を算出する。PI演算部913
qにより算出されたq軸電圧指令値V
q,j*は、座標変換部914へ送られる。
【0222】
上記の座標変換部914は、PI演算部913
dから送られたd軸電圧指令値V
d,j*、及び、PI演算部913
qから送られたq軸電圧指令値V
q,j*を受ける。そして、座標変換部914は、回転位置検出部940
jから送られた回転位置θ
jを参照して、d軸電圧指令値V
d,j*及びq軸電圧指令値V
q,j*に対して座標変換を施して、u軸制御電圧値V
u,j*、v軸制御電圧値V
v,j*及びw軸制御電圧値V
w,j*を算出する。座標変換部914による算出結果は、PWM部915へ送られる。
【0223】
上記のPWM部915は、座標変換部914から送られた3相制御電圧を受ける。そして、PWM部915は、当該3相制御電圧に対してパルス幅変調を施して、3相PWM信号を生成する。こうして生成された3相PWM信号は、インバータ920
jへ送られる。
【0224】
次いで、電流検出部950
jについて説明する。この電流検出部950
jは、電流検出器951と、座標変換部952とを備えている。
【0225】
上記の電流検出器951は、モータ930
jを流れるu軸電流値及びv軸電流値を検出する。そして、電流検出器951は、検出結果を、u軸検出電流値I
u,j及びv軸検出電流値I
v,jとして、座標変換部952へ送る。なお、w軸電流値(I
w,j)を検出してもよいが、「I
u,j+I
v,j+I
w,j=0」との関係が成立しているため、w軸電流値(I
w,j)を検出しなくても済む。
【0226】
上記の座標変換部952は、電流検出器951から送られたu軸検出電流値I
u,j及びv軸検出電流値I
v,jを受ける。そして、座標変換部952は、回転位置検出部940
jから送られた回転位置θ
jを参照して、u軸検出電流値I
u,j及びv軸検出電流値I
v,jに対して座標変換を施して、d軸検出電流値I
d,j及びq軸検出電流値I
q,jを算出する。座標変換部952による算出結果は、検出電流値I
D,jとして、トラクション制御装置100及び駆動制御部910
jへ送られる。
【0227】
なお、I
D,jの大きさ|I
D,j|は、次の(24)式により算出される。
|I
D,j|=(I
d,j2+I
q,j2)
1/2 …(24)
【0228】
[動作]
次に、上記のように構成されたトラクション制御装置100によるトラクション制御の動作について、制御ユニット110による処理に着目して説明する。
【0229】
なお、トルク指令値生成部810、加速度検出部820、誤差推定部830及びモータ駆動系900
jは、既に動作を開始しており、トルク指令値T
c,j、加速度α、推定誤差割合a
j,b
j、回転位置θ
j及び検出電流値I
D,jが、逐次、トラクション制御装置100へ送られているものとする(
図22参照)。
【0230】
トラクション制御は、不図示の入力部を介して、利用者がトラクション制御の開始指令を入力することにより、開始される。かかるトラクション制御に際しては、
図27に示されるように、まず、ステップS11において、制御ユニット110が、当該入力部を介して、トラクション制御の中止指令を受けたか否かを判定する。ステップS11における判定の結果が否定的であった場合(ステップS11:N)には、処理はステップS12へ進む。
【0231】
ステップS12では、制御ユニット110が、4個の駆動輪WH
FL〜WH
RRのそれぞれに対応するリミット値L
FL〜L
RRを算出する。なお、ステップS12におけるリミット値L
FL〜L
RRの算出処理については、後述する。
【0232】
引き続き、ステップS13において、制御ユニット110が、算出されたリミット値L
FL〜L
RRを利用して、4個の駆動輪WH
FL〜WH
RRのそれぞれに対応するリミテッドトルク値T
L,FL〜T
L,RRを算出する。
【0233】
次に、ステップS14において、制御ユニット110が、4個の駆動輪WH
FL〜WH
RRのそれぞれに対応するフィードバックトルク値T
f,FL〜T
f,RRを算出する。なお、ステップS14におけるフィードバックトルク値T
f,FL〜T
f,RRの算出処理については、後述する。
【0234】
次いで、ステップS15において、制御ユニット110が、リミテッドトルク値T
L,FL〜T
L,RR及びフィードバックトルク値T
f,FL〜T
f,RRに基づいて、上述した(9)式により、個別トルク設定値T
s,FL〜T
s,RRを算出する。引き続き、ステップS16において、制御ユニット110が、個別トルク設定値T
s,FL〜T
s,RRのうちの最小値を抽出する。
【0235】
次に、制御ユニット110が、トルク設定値CT
s,FL〜T
s,RRの全てを、抽出された最小値T
s,minに設定する。そして、制御ユニット110は、最小値T
s,minに設定されたトルク設定値CT
s,jをモータ駆動系900
jへ逐次出力する(
図25参照)。
【0236】
ステップS17の処理が終了すると、処理はステップS11へ戻る。以後、ステップS11における判定の結果が肯定的となるまで、ステップS11〜S17の処理が繰り返される。
【0237】
トラクション制御の中止指令を受け、ステップS11における判定の結果が肯定的となると(ステップS11:Y)、処理はステップS18へ進む。このステップS18では、制御ユニット110が、リミッタ解除を行う。引き続き、ステップS19において、フィードバックトルク値のクリアを行う。そして、トラクション制御処理が終了する。この結果、トルク指令値T
c,jが、トルク設定値CT
s,jとして、モータ駆動系900
jへ出力されるようになる。
【0238】
<リミット値L
FL〜L
RRの算出処理>
次に、ステップS12におけるリミット値L
FL〜L
RRの算出処理について説明する。
【0239】
リミット値L
jの算出処理に際しては、
図28に示されるように、まず、ステップS21において、制御ユニット110が、加速度α、回転位置θ
j、検出電流値I
D,j及び推定誤差割合a
j,b
jを取得する。そして、制御ユニット110は、加速度αの時間積分を行って車速(移動速度)vを取得し、回転位置θ
jの時間微分を行って回転速度ω
jを取得するとともに、検出電流値I
D,jに基づいて実トルク値T
m,jを取得する。
【0240】
次に、ステップS22において、制御ユニット110が、車速v及び回転速度ω
jに基づき、上述した(5)式により、推定スリップ率λ
jを算出することにより、スリップ率推定を行う。引き続き、ステップS23において、制御ユニット110が、回転速度ω
j及び実トルク値T
m,jに基づき、上述した(10)式を利用して推定駆動トルクT
d,jを算出することにより、駆動トルク推定を行う。
【0241】
次いで、ステップS24において、制御ユニット110が、上述した(16)式に基づいて、リミッタ係数k
jを算出する。引き続き、ステップS25において、制御ユニット110が、リミッタ係数k
j、推定スリップ率λ
j及び推定駆動トルクT
d,jに基づき、上述した(12)式を利用して、リミット値L
jを算出する。
【0242】
ステップS25の処理が終了すると、ステップS12の処理が終了する。そして、処理は、上述した
図27のステップS13へ進む。
【0243】
<フィードバックトルク値T
f,FL〜T
f,RRの算出処理>
次に、ステップS14におけるフィードバックトルク値T
f,FL〜T
f,RRの算出処理について説明する。
【0244】
フィードバックトルク値T
f,FL〜T
f,RRの算出処理に際しては、
図29に示されるように、まず、ステップS31において、制御ユニット110が、回転速度ωに基づいて、上述した(17)式を利用して逆算トルク値T
n,jを算出する。引き続き、ステップS32において、制御ユニット110が、逆算トルク値T
n,j及び実トルク値T
m,jに基づいて、上述した(18)式を利用して差分トルク値T
h,jを算出する。そして、制御ユニット110は、差分トルク値T
h,jに対してフィルタリング処理を施してフィルタ後トルク値T
af,jを算出する。
【0245】
次に、ステップS33において、制御ユニット110が、リミッタ係数kに基づいて、上述した(21)式を利用してフィードバックゲインk
p,jを算出する。引き続き、ステップS34において、制御ユニット110が、フィルタ後トルク値T
af,j及びフィードバックゲインk
p,jに基づいて、上述した(20)式を利用してフィードバックトルク値T
f,jを算出する。
【0246】
ステップS34の処理が終了すると、ステップS14の処理が終了する。そして、処理は、上述した
図27のステップS15へ進む。
【0247】
以上説明したように、本実施例では、モータ930
jによって駆動される駆動輪を有する移動体MVの移動速度v、移動体MVの駆動輪の回転速度ω
j、及び、モータ930
jを駆動する実トルク値T
m,jを取得する。ここで、移動速度v、回転速度ω
j及び実トルク値T
m,jは、迅速な取得が可能である。
【0248】
引き続き、制御ユニット110が、移動速度v及び回転速度ω
jに基づいて、迅速な演算が可能な(5)式を利用して駆動輪の推定スリップ率λ
jを推定する。また、制御ユニット110が、回転速度ω
j及び実トルク値T
m,jに基づいて、迅速な演算が可能な(10)式を利用して駆動輪の推定駆動トルクT
d,jを推定する。
【0249】
次に、制御ユニット110が、推定スリップ率λ
jと推定駆動トルクT
d,jとに基づいて、迅速な演算が可能な(11)式を利用して、トルク指令値T
c,jに対するリミット値L
jを算出する。そして、制御ユニット110が、リミット値L
jを用いてトルク指令値T
c,jに対する制限処理を行って、リミテッドトルク値T
L,jを算出する。
【0250】
かかるリミテッドトルク値T
L,jの算出と並行して、制御ユニット110が、各時点の回転速度ω
j及び実トルク値T
m,jに基づいて、迅速な演算が可能な(17),(18),(20),(21)式を適宜利用してフィードバックトルク値T
f,jを算出する。なお、制御ユニット110は、粘着モデルに基づいて、フィードバックトルク値T
f,jを算出する。
【0251】
次に、制御ユニット110が、リミテッドトルク値T
L,j及びフィードバックトルク値T
f,jに基づいて、(9)式により、個別トルク設定値T
s,jを算出する。引き続き、制御ユニット110が、個別トルク設定値T
s,FL〜T
s,RRのうちの最小値を抽出し、トルク設定値CT
s,FL〜
CTs,RRの全てを、抽出された最小値T
s,minに設定する。そして、制御ユニット110が、最小値T
s,minに設定されたトルク設定値CT
s,jをモータ駆動系900
jへ送る。
【0252】
したがって、必要な駆動力を確保しつつ安定な走行のための制御を、路面状態の変化に応じて迅速に実現することができる。
【0253】
また、本実施例では、複数の駆動輪のそれぞれについて算出された個別設定トルク値の中の最小値を、複数の駆動輪の全てのトルク設定値とする。この場合には、複数の駆動輪間におけるトルク設定値の差を抑制できるので、安定な走行を確保することができる。例えば、道路の左側のみ凍結しているような路面を走行する場合に、左側の駆動輪を対象として算出したリミット値が右側の駆動輪にも適応されるため、左右トルクのアンバランスが回避され、車体の向きが変化することを防止できる。
【0254】
[実施例の変形]
本発明は、上記の実施例に限定されるものではなく、様々な変形が可能である。
【0255】
例えば、上記の実施例では、移動速度の取得に際して加速度センサを利用するようにしたが、光学式対地センサを利用するようにしてもよい。
【0256】
また、
図26で説明したように、d軸検出電流値I
d,j及びq軸検出電流値I
q,jは、それぞれd軸電流指令値I
d,j*及びq軸電流指令値I
q,j*と同じになるように制御が行われる。したがって、PI演算とモータ特性とによる応答時間の遅れがあるが、結果として実トルク値T
mは、トルク設定値CT
s,jと等しくなるように制御される。このため、上記の実施例では、モータの実トルク値T
m,jを(1)式から求めたが、トルク設定値CT
s,jにトルク応答特性を乗じる次の(25)式により、実トルク値T
m,jを算出するようにしてもよい。
T
m,j=CT
s,j・(1/(τ
1・s+1)) …(25)
ここで、値τ
1は、トルク応答の時定数である。
【0257】
また、上記の実施例では、トラクション制御装置が誤差推定部を備えない構成とした。これに対し、トラクション制御装置が誤差推定部を備えるようにしてもよい。
【0258】
また、上記の実施例では、推定誤差範囲に基づいてリミッタ係数を算出するようにした。これに対して、推定スリップ率及び推定駆動トルクの誤差の変化が小さい場合には、リミッタ係数を固定値としてもよい。
【0259】
また、制御部740Aから制御部740Cへの変形と同様の変形を、上記の実施例に対して施してもよい。