(58)【調査した分野】(Int.Cl.,DB名)
前記判断部は、前記推定された路面摩擦係数が所定値以下になったときに前記実施を有効とすべきと判断する、ことを特徴とする請求項3に記載のトラクション制御装置。
前記判断部においては、前記実施を有効としている状態において前記実施を無効とすべきと判断される際の前記推定部による第1推定値と、前記実施を無効としている状態において前記実施を有効とすべきと判断する際の前記推定部による第2推定値とが異なる、ことを特徴とする請求項4又は5に記載のトラクション制御装置。
モータによって駆動される駆動輪を有する移動体のトラクション制御装置が有するコンピュータに、請求項8に記載のトラクション制御方法を実行させる、ことを特徴とするトラクション制御プログラム。
モータによって駆動される駆動輪を有する移動体のトラクション制御装置が有するコンピュータにより読み取り可能に、請求項9に記載のトラクション制御プログラムが記録されている、ことを特徴とする記録媒体。
【発明の概要】
【発明が解決しようとする課題】
【0009】
路面を走行している車両の駆動輪のそれぞれの運動は、一輪モデル(以下、「駆動輪モデル」ともいう)に準じて表すことができる。
図1には、当該駆動輪モデルにおける変数が示されている。
図1において、「M」は移動体の重量であり、「F
d」は駆動輪WHの駆動力であり、「F
dr」は走行抵抗である。また、「T
m」はモータが発生し、駆動輪WHに付与される実トルク値であり、「v」は移動体MVの移動速度(以下、「車体速度」、又は、「車速」ともいう)であり、「ω」は駆動輪WHの回転速度である。また、「N」は、駆動輪WHに作用する垂直抗力であり、「r」は駆動輪WHの半径である。
【0010】
図1に示される駆動輪モデルにおいては、移動体MVの運動方程式は、次の(2)式で与えられる。
M・(dv/dt)=F
d−F
dr …(2)
【0011】
また、駆動輪WHの運動方程式は、駆動輪WHの慣性モーメントを「J
w」、駆動トルクを「T
d」として、次の(3)式で与えられる。
J
w・(dω/dt)=T
m−r・F
d=K
t・I
m−T
d …(3)
【0012】
駆動力F
dと垂直抗力Nとの関係は、駆動輪WHにとっての路面摩擦係数(以下、単に「摩擦係数」ともいう)をμとして、次の(4)式で表される。
μ=F
d/N …(4)
【0013】
また、スリップ率λは、上述した駆動輪モデルにおいては、次の(5)式により表される。
λ=(r・ω−v)/Max(r・ω,v) …(5)
【0014】
ここで、Max(r・ω,v)は、(r・ω)とvとの数値の大きな方を示す。駆動時には、(r・ω)がvよりも大きいため、Max(r・ω,v)=r・ωである。一方、制動時には、vが(r・ω)よりも大きいため、Max(r・ω,v)=vである。
【0015】
上記の駆動輪モデルにおいて、摩擦係数μとスリップ率λとの関係(すなわち、μ―λ特性)は、一般に、駆動時においては
図2に示される通りである。なお、
図2においては、乾燥路面におけるμ―λ特性が実線にて示され、湿潤路面におけるμ―λ特性が一点鎖線にて示されるとともに、凍結路面におけるμ―λ特性が二点鎖線にて示されている。
【0016】
なお、
図2に示される駆動時のスリップ率の増加に伴う摩擦係数μの変化において、摩擦係数μが最大となるスリップ率以下である状態が、移動体MVが安定して走行できる状態(以下、「安定状態」という)となっている。一方、摩擦係数μが最大となるスリップ率よりも大きな状態が、駆動輪WHの空転やロック現象が発生する状態(以下、「不安定状態」という)となっている。以下、安定状態となる領域を「安定領域」と呼び、不安定状態となる領域を「不安定領域」と呼ぶ。
【0017】
こうしたμ―λ特性を有している路面において、ある車両が、乾燥路面→凍結路面→乾燥路面という走行を行う場合を考える。こうした場合に、アクセルペダルの踏み込み量に応じたトルク指令値T
cをそのままトルク設定値T
sとしてモータ駆動系に入力した場合のシミュレーションの結果が、
図3,4に示されている。これらの
図3及び
図4には、車体速度v、車輪速度(r・ω)、スリップ率λ及び摩擦係数μのシミュレーション結果が示されている。
【0018】
なお、当該シミュレーションの条件としては、4輪駆動の電気自動車であって、車重:1800[kg]、駆動輪WHの慣性モーメント:1.2[kg・m
2]及びモータのトルク応答:5[ms](インホイールモータの場合を想定)という条件を採用した。また、時刻t
1において乾燥路面から凍結路面に変化し、時刻t
2(>t
1)において凍結路面から乾燥路面に変化することを想定して、シミュレーションを行った。
【0019】
この
図3,4において示されるように、トルク指令値T
Cをそのままトルク設定値T
Sとする場合には、トルク設定値T
s(=T
c)が大きくなるにつれ、凍結路面上でのスリップ率λが大きくなっていく。そして、ある値を超えたトルク設定値T
s(=T
s)となると、スリップ率λが増大して0.2以上となり、上述した
図2で示した不安定領域に入ってしまう。これは、凍結路面では摩擦係数μが小さいためにグリップ力も小さく、そのグリップ力を超えてしまう程のトルク設定値T
sとなると、不安定領域に入ってしまうことを示している。
【0020】
こうした不安定領域に入ってしまう事態の発生を回避するために、従来例1の技術が採用するフィードバック制御系980が、
図5に示されている。この
図5に示されるように、フィードバック制御系980は、トルク指令値生成部810及びモータ駆動系900と接続されている。
【0021】
上記のトルク指令値生成部810は、不図示のアクセル開度センサ、ブレーキ量センサ、ステアリング角度センサ等によるトルク指令値T
cの生成に利用される検出結果に基づいて、トルク指令値T
cを生成する。こうして生成されたトルク指令値T
cが、フィードバック制御系980へ送られる。
【0022】
上記のモータ駆動系900は、駆動制御部910と、インバータ920と、モータ930とを備えている。また、モータ駆動系900は、回転位置検出部940と、電流検出部950を備えている。
【0023】
上記の駆動制御部910は、フィードバック制御系980から送られたトルク設定値T
sを受ける。そして、駆動制御部910は、トルク設定値T
s、回転位置検出部940により検出された回転位置θ、及び、電流検出部950により検出された検出電流値I
Dに基づいて、駆動電圧を算出する。例えば、モータ930が3相モータの場合には、駆動制御部910は、駆動電圧として、3相電圧を算出する。こうして算出された駆動電圧は、インバータ920へ送られる。
【0024】
上記のインバータ920は、駆動制御部910から送られた駆動電圧を受ける。そして、インバータ920は、駆動電圧に対応する電流をモータ930に供給する。この結果、モータ930は、トルク設定値T
sに基づいてモータ回転運動を行い、駆動輪を回転させる。
【0025】
上記の回転位置検出部940は、レゾルバ又はエンコーダを備えて構成されている。この回転位置検出部940は、モータ930の回転位置θを検出する。こうして検出された回転位置θが駆動制御部910及び電流検出部950へ送られる。なお、回転位置θを時間微分して得られた回転速度ωが、フィードバック制御系980へ送られる。
【0026】
上記の電流検出部950は、モータ930を流れる電流値を検出する。例えば、モータ930が3相モータの場合には、電流検出部950は、モータ930を流れる3相電流のうちの少なくとも2種類の電流値を検出する。こうして検出された電流値I
Dから得られたモータ電流値I
mが、フィードバック制御系980へ送られる。なお、モータ電流値I
mは検出電流値I
Dの大きさを示しており、I
m=|I
D|である。
【0027】
<フィードバック制御系980の構成>
図5に示されるように、フィードバック制御系980は、減算部981と、乗算部983と、補正値算出部990とを備えている。ここで、減算部981は、トルク指令値生成部810から送られたトルク指令値T
c、及び、補正値算出部990から送られた比例系フィードバック値T
pを受ける。そして、減算部981は、次の(6)式によりトルク設定値T
sを算出し、算出されたトルク設定値T
sをモータ駆動系900へ送る。
T
s=T
c−T
p …(6)
【0028】
上記の乗算部983は、モータ電流値I
mを受ける。そして、乗算部983は、上述した(1)式を利用して、実トルク値T
mを算出する。こうして算出された実トルク値T
mは、補正値算出部990へ送られる。
【0029】
上記の補正値算出部990は、微分部991と、粘着モデル部992と、減算部993とを備えている。また、補正値算出部990は、ローパスフィルタ(LPF)部994と、乗算部995とを備えている。
【0030】
上記の微分部991は、回転速度ωを受ける。そして、微分部991は、回転速度ωの時間微分値(dω/dt)を算出する。こうして算出された時間微分値(dω/dt)は、粘着モデル部992へ送られる。
【0031】
上記の粘着モデル部992は、「P
n-1=J
w+M・r
2」として表される伝達関数として示すことができる。この粘着モデル部992は、微分部991から送られた回転速度ωの時間微分値(dω/dt)を受ける。そして、粘着モデル部992は、駆動輪にスリップが生じない仮想的なモデルである粘着モデルに従って、回転速度ωの時間微分値(dω/dt)に対応するトルク値T
nを、次の(7)式により算出し、算出されたトルク値T
nを減算部993へ送る。
T
n=P
n-1・(dω/dt) …(7)
なお、トルク値T
nは、回転速度ωの時間微分値(dω/dt)から粘着モデルを用いて逆算されるため、以下においては、トルク値T
nを、「逆算トルク値T
n」とも記す。
【0032】
上記の減算部993は、粘着モデル部992から送られた逆算トルク値T
n、及び、乗算部983から送られた実トルク値T
mを受ける。そして、減算部993は、次の(8)式により差分トルク値T
hを算出し、算出された差分トルク値T
hをLPF部994へ送る。
T
h=T
n−T
m …(8)
【0033】
上記のLPF部994は、減算部993から送られた差分トルク値T
hを受ける。そして、LPF部994は、差分トルク値T
hに対してフィルタリング処理を施してフィルタ後トルク値T
afを算出し、算出されたフィルタ後トルク値T
afを乗算部995へ送る。
【0034】
上記の乗算部995は、LPF部994から送られたフィルタ後トルク値T
afを受ける。そして、乗算部995は、フィードバックゲイン値k
pを用い、次の(9)式により比例系フィードバック値T
pを算出し、算出された比例系フィードバック値T
pを減算部981へ送る。
T
p=k
p・T
af …(9)
【0035】
図5の示される構成の従来のモデル追従制御において、フィードバックゲイン値k
pを変化させた場合のシミュレーションの結果が、
図6に示されている。なお、当該シミュレーションの条件は、上述したフィードバック制御を行わない場合のシミュレーションと同様とするとともに、トルク指令値T
cを「700[Nm]」とした。
【0036】
図6からわかるように、フィードバックゲイン値k
pを大きくするほどスリップ率λが抑制される。凍結路面でのタイヤの空転を極力抑えたいため、できるだけフィードバックゲイン値k
pを大きくしてスリップ率λを小さくしたい。しかしながら、フィードバックゲイン値k
pを大きくすると、乾燥路面では摩擦係数μの値に余裕があるにもかかわらずトルク設定値を低下させてしまっている。不必要なトルク設定値の低下は、駆動トルクを勝手に絞ることになり、ドライバの意図する加速ができないことになる。
【0037】
例えば、乾燥路面を走行中において、加速が必要な場合、上り坂を走行する場合、及び、高速で走行する場合等には、大きな駆動トルクが必要となる。そのようなときは車両が持っている駆動能力をできるだけ発揮できるように、駆動トルクを必要以上に小さくすることは避けたい。
【0038】
一方、フィードバックゲイン値k
pを小さくすると、乾燥路面での不必要なトルク設定値の低下は防止できるが、逆に凍結路面でのスリップ抑制が不十分となってしまう。このため、従来のモデル追従制御では、凍結路面でのスリップ抑制性能と乾燥路面での十分な駆動性能とはトレードオフの関係にあるので、どちらかを犠牲にするか、あるいは、どちらも中途半端な性能にするという方法が採用されていた。
【0039】
このため、モデル追従制御の利点を活かしつつ、路面状態が変化した場合に、迅速に、適切なトルク設定値T
Sの制限をかけることができる技術が望まれている。かかる要請に応えることが、本発明が解決すべき課題の一つとして挙げられる。
【0040】
本発明は、上記の事情を鑑みてなされたものであり、必要な駆動力を確保しつつ安定な走行のための制御を、路面状態の変化に応じて迅速に実現することができる新たなトラクション制御装置及びトラクション制御方法を提供することを目的とする。
【課題を解決するための手段】
【0041】
請求項1に記載の発明は、モータによって駆動される駆動輪を有する移動体のトラクション制御装置であって、前記移動体の移動速度を取得する移動速度取得部と;前記駆動輪の回転速度を取得する回転速度取得部と;前記モータが発生する実トルク値を取得する実トルク値取得部と;前記回転速度と前記実トルク値とに基づいて、前記モータの動作にフィードバックをかける補正値を算出する補正値算出部と;前記補正値を積分した積分信号を生成する積分部と;前記回転速度と、前記移動速度又は前記実トルク値とに基づき、前記積分信号を前記補正値に加算する加算部と;を備えることを特徴とするトラクション制御装置である。
【0042】
請求項8に記載の発明は、モータによって駆動される駆動輪を有する移動体のトラクション制御装置において使用されるトラクション制御方法であって、前記移動体の移動速度、前記駆動輪の回転速度及び前記モータが発生する実トルク値を取得する取得工程と;前記回転速度と前記実トルク値とに基づいて、前記モータの動作にフィードバックをかける補正値を算出する補正値算出工程と;前記補正値を積分した積分信号を生成する積分工程と;前記回転速度と、前記移動速度又は前記実トルク値とに基づき、前記積分信号を前記補正値に加算する加算工程と;を備えることを特徴とするトラクション制御方法である。
【0043】
請求項9に記載の発明は、モータによって駆動される駆動輪を有する移動体のトラクション制御装置が有するコンピュータに、請求項8に記載のトラクション制御方法を実行させる、ことを特徴とするトラクション制御プログラムである。
【0044】
請求項10に記載の発明は、モータによって駆動される駆動輪を有する移動体のトラクション制御装置が有するコンピュータにより読み取り可能に、請求項9に記載のトラクション制御プログラムが記録されている、ことを特徴とする記録媒体である。
【発明を実施するための形態】
【0046】
以下、本発明の一実施形態を、添付図面を参照して説明する。なお、以下の説明及び図面においては、上述した内容を含めて、同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
【0047】
[第1実施形態]
まず、本発明の第1実施形態を、
図7〜
図14を参照して説明する。
【0048】
<構成>
図7には、一実施形態に係るトラクション制御装置700Aの構成が、ブロック図にて示されている。
【0049】
図7に示されるように、トラクション制御装置700Aは、移動体MV内に配置される。この移動体MVには、トラクション制御装置700Aに加えて、トルク指令値生成部810、加速度検出部820及びモータ駆動系900が配置され、トラクション制御装置700Aに接続される。
【0050】
トラクション制御装置700Aは、移動速度取得部710と、回転速度取得部720と、実トルク値取得部730と、制御部740Aとを備えている。
【0051】
上記の移動速度取得部710は、加速度検出部820から送られた加速度αを受ける。そして、移動速度取得部710は、加速度αの時間積分を行って、移動速度vを取得する。こうして取得された移動速度vは、制御部740Aへ送られる。
【0052】
上記の回転速度取得部720は、回転位置検出部940から送られた回転位置θを受ける。そして、回転速度取得部720は、回転位置θの時間微分を行って、回転速度ωを取得する。こうして取得された回転速度ωは、制御部740Aへ送られる。
【0053】
上記の実トルク値取得部730は、電流検出部950から送られた検出電流値I
Dを受ける。引き続き、実トルク値取得部730は、検出電流値I
Dに基づいてモータ電流値I
mを算出する。なお、モータ電流値I
mは、上述したように、検出電流値I
Dの大きさを示しており、I
m=|I
D|である.
【0054】
次に、実トルク値取得部730は、上述した(1)式を利用して実トルク値T
mを算出することにより、実トルク値T
mを取得する。こうして取得された実トルク値T
mは、制御部740Aへ送られる。
【0055】
上記の制御部740Aは、トルク指令値生成部810から送られたトルク指令値T
cを受ける。そして、制御部740Aは、移動速度v、回転速度ω及び実トルク値T
mに基づいて、トルク設定値T
sを算出する。こうして算出されたトルク設定値T
sは、モータ駆動系900へ送られる。
【0056】
かかる機能を有する制御部740Aは、
図8に示されるように、上述した補正値算出部990(
図5参照)と、積分部741とを備えている。また、制御部740Aは、加算部742と、トルク設定値算出部743とを備えている。
【0057】
なお、補正値算出部990は、比例系フィードバック値T
pを積分部741及び加算部742へ送るようになっている。
【0058】
また、第1実施形態では、補正値算出部990において採用されるフィードバックゲイン値k
pは、乾燥路面の不必要なトルク低下をできるだけ少なくしつつ、凍結路面に入った瞬間の速応性を確保するとの観点から、実験、シミュレーション、経験等に基づいて、予め定められる。
【0059】
上記の積分部741は、移動速度取得部710から送られた移動速度v、回転速度取得部720から送られた回転速度ω、補正値算出部990から送られた比例系フィードバック値T
p、及び、実トルク値取得部730から送られた実トルク値T
mを受ける。そして、積分部741は、移動速度v、回転速度ω、比例系フィードバック値T
p及び実トルク値T
mに基づいて、積分補償値T
iを算出する。こうして算出された積分補償値T
iは、加算部742へ送られる。
【0060】
なお、積分部741の構成の詳細については、後述する。
【0061】
上記の加算部742は、補正値算出部990から送られた比例系フィードバック値T
p、及び、積分部741から送られた積分補償値T
iを受ける。そして、加算部742は、次の(10)式によりフィードバックトルク値T
fを算出し、算出されたフィードバックトルク値T
fをトルク設定値算出部743へ送る。
T
f=T
p+T
i …(10)
【0062】
上記のトルク設定値算出部743は、減算部751を備えて構成される。このトルク設定値算出部743は、トルク指令値生成部810から送られたトルク指令値T
c、及び、加算部742から送られたフィードバックトルク値T
fを受ける。そして、トルク設定値算出部743は、次の(11)式により、トルク設定値T
sを算出し、算出されたトルク設定値T
sをモータ駆動系900へ送る。
T
s=T
c−T
f …(11)
【0063】
<積分部741の構成>
次に、上述した積分部741の構成について説明する。
【0064】
積分部741は、
図9に示されるように、スリップ率推定部761と、摩擦係数推定部762とを備えている。また、積分部741は、積分補償部763を備えている。
【0065】
上記のスリップ推定部761は、移動速度取得部710から送られた移動速度v、及び、回転速度取得部720から送られた回転速度ωを受ける。そして、スリップ推定部761は、上述した(5)式により、スリップ率λを算出することにより、スリップ率推定を行う。こうして算出されたスリップ率λは、積分補償部763へ送られる。
【0066】
上記の摩擦係数推定部762は、回転速度取得部720から送られた回転速度ω、及び、実トルク値取得部730から送られた実トルク値T
mを受ける。そして、摩擦係数推定部762は、回転速度ω及び実トルク値T
mに基づいて、摩擦係数μを算出することにより、摩擦係数推定を行う。
【0067】
かかる摩擦係数推定に際して、摩擦係数推定部762は、まず、回転速度ω及び実トルク値T
mに基づいて、上述した(3)式を変形して得られる次の(12)式により駆動トルクT
dを算出する。
T
d=T
m−J
w・(dω/dt) …(12)
【0068】
引き続き、摩擦係数推定部762は、算出された駆動トルクT
d及び駆動輪の半径rに基づいて、次の(13)式により、駆動力F
dを算出する。
F
d=T
d/r …(13)
【0069】
次に、摩擦係数推定部762は、算出された駆動力F
dに基づいて、上述した(4)式により算出された値に対して、ローパスフィルタ(LPF)によるフィルタリング処理を施して、摩擦係数μを算出する。こうして算出された摩擦係数μは、積分補償部763へ送られる。
【0070】
なお、第1実施形態では、(4)式における垂直抗力Nとして、移動体MVの重量Mを駆動輪の数で除算した値を採用するようにしている。
【0071】
上記の積分補償部763は、補正値算出部990から送られた比例系フィードバック値T
p、スリップ率推定部761から送られたスリップ率λ、及び、摩擦係数推定部762から送られた摩擦係数μを受ける。そして、積分補償部763は、比例系フィードバック値T
p、スリップ率λ及び摩擦係数μに基づいて、積分補償値T
iを算出する。
【0072】
かかる機能を有する積分補償部763は、判断部766と、積分演算部767とを備えている。また、積分補償部763は、積分ゲイン算出部768と、乗算部769とを備えている。
【0073】
上記の判断部766は、スリップ率推定部761から送られたスリップ率λを受ける。そして、判断部766は、スリップ率λの値に基づいて、「ON」又は「OFF」の2値情報を担う積分イネーブルENを生成する。こうして生成された積分イネーブルENは、積分演算部767へ送られる。
【0074】
なお、第1実施形態では、判断部766は、積分イネーブルENが「OFF」である状態では、スリップ率λが第1所定値(λ
THH)より大きくなったときに、「ON」とする。また、判断部766は、積分イネーブルENが「ON」である状態では、スリップ率λが第2所定値(λ
THL<λ
THH)より小さくなったときに、「OFF」とする。すなわち、第1実施形態では、判断部766は、スリップ率λの変化に対してヒステリシス特性を有するように、積分イネーブルENの値を変化させるようになっている。
【0075】
上記の積分演算部767は、補正値算出部990から送られた比例系フィードバック値T
pを受ける。そして、積分演算部767は、積分イネーブルENが「ON」である期間にわたって、比例系フィードバック値T
pの積分演算を行う。また、積分イネーブルENが「OFF」である期間には、比例系フィードバック値T
pの積分演算を中止する。積分演算部767による演算結果T
Iは、乗算部769へ送られる。
【0076】
なお、第1実施形態では、積分イネーブルENが「ON」から「OFF」に変化すると、積分値を「0」にクリアするようになっている。
【0077】
上記の積分ゲイン算出部768は、スリップ率推定部761から送られたスリップ率λ、及び、摩擦係数推定部762から送られた摩擦係数μを受ける。そして、積分ゲイン算出部768は、スリップ率λ及び摩擦係数μに基づいて、次の(14)式により積分ゲイン値k
iを算出し、算出された積分ゲイン値k
iを乗算部769へ送る。
k
i=d・(λ/μ)+e …(14)
【0078】
なお、定数d,eは、補正値算出部990により算出される比例系フィードバックトルク値T
pのみを利用する比例系フィードバックで残ってしまう残留偏差を少なくするとの観点から、実験、シミュレーション等に基づいて、予め定められる。
【0079】
上記の乗算部769は、積分演算部767から送られた演算結果T
I、及び、積分ゲイン算出部768から送られた積分ゲイン値k
iを受ける。そして、乗算部769は、演算結果T
I及び積分ゲイン値k
iに基づいて、次の(15)式により積分補償値T
iを算出し、算出された積分補償値T
iを加算部742へ送る。
T
i=k
i・T
I …(15)
【0080】
<第1実施形態により実現される制御系について>
ここで、第1実施形態のトラクション制御装置700Aにより実現される制御系について説明する。
【0081】
《従来の制御系》
上述した
図5に示される従来の制御系では、移動体MVの駆動輪が粘着モデルの動作に近づくようにトルク設定値T
sが制御されるため、スリップ率λの増加が抑えられる。ここで、モータにより駆動される車両の伝達関数P(s)及び粘着モデルの伝達関数P
n(s)は、次の(16),(17)式により表される。
【0084】
したがって、従来の制御系におけるトルク指令値T
cからフィードバックトルク値T
fまでの一巡伝達関数G
oは、次の(18)式で与えられる。
【0086】
ここで、値Lは無駄時間であり、値τ
1は、トルク設定値T
sから実トルク値T
mまでのトルク応答時間を意味する時定数である。
【0087】
(18)式から、スリップ率λが小さいとゲインが小さくなり、スリップ率λが大きいとゲインが大きくなることがわかる。このため、滑っている状態が強い、すなわち、スリップ率λが大きいほど、フィードバックトルク値T
fが大きくなり、トルク設定値T
sを低下させる働きが強くなる。
【0088】
(18)式中のスリップ率λが関係している項を「G
λ」として、スリップ率λが変化した場合のG
λ値の変化を、
図10に示す。
図10(A)から、スリップ率λが大きいほど、G
λ値が大きくなることがわかる。ここで、スリップ率λが「0.8」以上となると、G
λ値が大きく増大し、フィードバック量を多くすることができる。しかしながら、スリップ率λが「0.8」以下の範囲では、G
λ値の変化度合いは小さい。このため、スリップ率λが「0.8」以下の範囲では、スリップを十分に抑制するだけのゲインが得られない場合が起こり得る。
【0089】
スリップ率λが「0.8」以下の範囲においてスリップを十分に抑制するだけのゲインが得るためには、
図10(B)に示されるように、フィードバックゲイン値k
pを大きくして、G
λ値をk
p倍して、トータルゲインを大きくすれば良いのだが、当然ながらG
λ値がスリップ率λの全範囲にわたってk
p倍されることになる。このため、安定領域であるスリップ率λが「0.2」以下のトータルゲインも大きくなってしまう。かかる理由によって、上述した
図3,4に示されるように、乾燥路面を走行中であり、スリップ率λが小さい場合であってもフィードバック量が多くなり、不必要なトルク低下が生じてしまうのである。
【0090】
《第1実施形態の制御系》
そこで、第1実施形態では、従来からの比例系フィードバックと、積分補償とを組み合わせてフィードバックトルク値T
fを算出する構成としている。具体的には、フィードバックゲイン値k
pを小さな値としつつ、スリップ率λの値から滑りやすい状態と判断した場合には、積分補償を有効にする(すなわち、積分イネーブルENを「ON」とする)。また、スリップ率λの値から滑りにくい状態と判断した場合には、積分補償を無効にする(すなわち、積分イネーブルENを「OFF」とする)。
【0091】
かかる積分補償を行うことにより、第1実施形態の制御系では、スリップ率λが大きく、駆動輪が滑っている状態と判断した場合は、フィードバックトルク値T
fが大きくなり、十分なスリップ抑制を行うようにしている。また、スリップ率λが小さく、駆動輪が滑っていない状態と判断した場合は、フィードバックトルク値T
fが少なくなって不必要なトルク低下を防止するようにしている。
【0092】
第1実施形態で実現される制御系を採用した場合におけるアンチスリップ性能についてのシミュレーション結果を、
図11に示す。なお、当該シミュレーションの条件は、上述した
図3,4の場合と同様である。また、フィードバックゲイン値k
pを「0.2」とし、LPF部994の時定数τを「1.0[s]」とし、積分ゲイン値k
iを「5.0」とした。
【0093】
図11に示されるように、乾燥路面におけるトルク設定値T
sは、トルク指令値T
cが「700[Nm]」と大きい値であっても、20[Nm]弱の低下で済んでおり、不必要なトルク低下がほとんど生じてない。また、凍結路面に入ると、迅速にトルク設定値T
sが低下し、スリップ率λの増加を抑制できている。その後、乾燥路面に戻ると、トルク設定値T
sは、トルク指令値T
cに近い値に迅速に復帰している。
【0094】
上述したように、第1実施形態では、上述した従来からの比例系フィードバックにより、瞬時な路面変化に対応が可能となるような速応性を向上するとともに、積分補償により、比例系フィードバックで残ってしまう残留偏差を少なくするようにしている。かかる比例系フィードバックの役割、及び、積分補償の役割のそれぞれを十分に果たせるように、第1実施形態では、フィードバックゲイン値k
p及び積分ゲイン値k
iを適宜設定することにより、フィードバックトルク値T
fが適切となるようにしている。
【0095】
図12(A)は、フィードバックゲイン値k
p及び積分ゲイン値k
iが適切に設定された場合のシミュレーション結果である。比例系フィードバック値T
pと積分補償値T
iを加算したフィードバックトルク値T
fは、乾燥路面では小さく、かつ、凍結路面では十分な値が算出されている。したがって、乾燥路面での不必要なトルク低下が発生せず、凍結路面での十分なスリップ抑制が行われる。
【0096】
図12(B)は、積分ゲイン値k
iが小さいときはどうなるのかを検証するため、極端な例としてフィードバックゲイン値k
pのみ設定し、積分ゲイン値k
iを「0」とした場合のシミュレーション結果である。凍結路面でのスリップ率λを抑制するためにフィードバックゲイン値k
pを大きくする必要があるため、乾燥路面でのフィードバックトルク値T
fが無視できない大きさで生成されてしまっている。これが、乾燥路面での不必要なトルク低下を生じさせるのである。
【0097】
図13(A)は、逆に、フィードバックゲイン値k
pを小さくし、積分ゲイン値k
iを大きくした場合のシミュレーション結果である。比例系フィードバック値T
pが小さいため、トータルのフィードバックトルク値T
fの立ち上がりが鈍化しているのがわかる。その結果、
図13(B)に示すように、凍結路面に入った後のスリップ率が一旦大きくなってしまっている。比例系フィードバックは制御の速応性に役立つため、フィードバックゲイン値k
pを小さくしすぎることは好ましくないことがわかる。
【0098】
第1実施形態では、積分補償を行うか否かを、積分イネーブルENを「ON」とするか、「OFF」とするかによって制御している。この場合の制御系の安定性について検討を行った。具体的には、トルク指令値T
cからフィードバックトルク値T
fまでの一巡伝達関数を用いてBode線図を描き、ゲイン余裕と位相余裕とからシステムの安定性を判断するようにした。
【0099】
なお、積分補償を行わない場合は、上述した(18)式が一巡伝達関数となる。また、積分補償を行う場合には、次の(19)式が一巡伝達関数となる。
【0101】
図14に、積分補償を行わない場合及び積分補償を行う場合のそれぞれのBode線図を示す。なお、
図14では、積分補償を行わない場合が2点鎖線により示され、積分補償を行う場合が実線鎖線により示されている。
【0102】
図14に示されるように、積分補償を行わない場合及び積分補償を行う場合で、ゲイン特性及び位相特性のどちらも途中からカーブが重なり、ゲイン特性が「0[dB]」を横切る周波数と、位相特性が「−180[deg]」を横切る周波数が一致している。このため、ゲイン余裕及び位相余裕はほぼ同じであり、それぞれ「11.4[dB]」及び「65.4[deg]」であり十分な安定性を保持している。すなわち、積分補償を加えても、システムの安定性は変化しないことが示されている。また、制御帯域を示すゲイン交差周波数も変わらないため、速応性も変化しないことが示されている。その一方で、低域のゲインは十分大きくなっているため、残留偏差を抑圧する能力が高まり、凍結路面でのスリップ率λの上昇を抑制する性能が確保されることが確認できる。
【0103】
<動作>
次に、上記のように構成されたトラクション制御装置700Aの動作について説明する。
【0104】
なお、トルク指令値生成部810、加速度検出部820及びモータ駆動系900は、既に動作を開始しており、トルク指令値T
c、加速度α、回転位置θ及び検出電流値I
Dが、逐次、トラクション制御装置700Aへ送られているものとする(
図7参照)。
【0105】
トラクション制御装置700Aでは、トラクション制御に際して、移動速度取得部710が、加速度検出部820から送られた加速度αの時間積分を行って、移動速度vを取得する。そして、移動速度取得部710は、取得された移動速度vを制御部740Aへ逐次送る(
図7参照)。
【0106】
また、回転速度取得部720が、回転位置検出部940から送られた回転位置θの時間微分を行って、回転速度ωを取得する。そして、回転速度取得部720は、取得された回転速度ωを制御部740Aへ逐次送る(
図7参照)。
【0107】
また、実トルク値取得部730が、電流検出部950から送られた検出電流値I
Dに基づいて実トルク値T
mを算出することにより、実トルク値T
mの取得を行う。そして、実トルク値取得部730は、取得された実トルク値T
mを制御部740Aへ逐次送る(
図7参照)。
【0108】
制御部740Aでは、補正値算出部990における微分部991が、回転速度ωの時間微分値(dω/dt)を算出する。そして、粘着モデル部992が、当該時間微分値(dω/dt)に基づいて、上述した(7)式により逆算トルク値T
nを算出する(
図5参照)。
【0109】
次に、減算部993が、逆算トルク値T
n及び実トルク値T
mに基づいて、(8)式により差分トルク値T
hを算出した後、LPF部994が、差分トルク値T
hに対してフィルタリング処理を施してフィルタ後トルク値T
afを算出する。引き続き、乗算部995が、フィードバックゲイン値k
pを用い、上述した(9)式により比例系フィードバック値T
pを算出する。そして、乗算部995が、算出された比例系フィードバック値T
pを、積分部741及び加算部742へ送る(
図5,8参照)。
【0110】
なお、補正値算出部990は、上述のようにして算出された実トルク値T
mを、積分部741へ送る(
図8参照)。
【0111】
かかる補正値算出部990による比例系フィードバック値T
pの算出と並行して、制御部740Aでは、積分部741におけるスリップ率推定部761が、移動速度v及び回転速度ωに基づいて、上述した(5)式により、スリップ率λを算出することにより、スリップ率推定を行う。また、摩擦係数推定部762が、回転速度ω及び実トルク値T
mに基づいて、上述した(4),(12),(13)式を適宜利用して、摩擦係数μを算出することにより、摩擦係数推定を行う(
図9参照)。
【0112】
引き続き、積分部741では、積分補償部763が、比例系フィードバック値T
p、スリップ率λ及び摩擦係数μに基づいて、積分補償値T
iを算出する。かかる積分補償値T
iの算出に際して、積分補償部763では、判断部766が、スリップ率λに基づいて、「ON」又は「OFF」の2値情報を担う積分イネーブルENを生成する。そして、積分演算部767が、積分イネーブルENが「ON」である期間にわたって、比例系フィードバック値T
pの積分演算を行う(
図9参照)。
【0113】
また、積分ゲイン算出部768が、スリップ率λ及び摩擦係数μに基づいて、上述した(14)式により積分ゲイン値k
iを算出する。そして、乗算部769は、積分演算部767から送られた演算結果T
I、及び、積分ゲイン値k
iに基づいて、上述した(15)式により積分補償値T
iを算出し、算出された積分補償値T
iを加算部742へ送る(
図9参照)。
【0114】
補正値算出部990から送られた比例系フィードバック値T
p、及び、積分部741から送られた積分補償値T
iを受けると、加算部742が、比例系フィードバック値T
p及び積分補償値T
iに基づいて、上述した(10)式によりフィードバックトルク値T
fを算出する。そして、加算部742は、算出されたフィードバックトルク値T
fをトルク設定値算出部743へ送る(
図8,9参照)。
【0115】
トルク指令値生成部810から送られたトルク指令値T
c、及び、加算部742から送られたフィードバックトルク値T
fを受けると、トルク設定値算出部743は、上述した(11)式により、トルク設定値T
sを算出する。そして、トルク設定値算出部743は、算出されたトルク設定値T
sをモータ駆動系900へ送る(
図8参照)。
【0116】
モータ駆動系900では、トラクション制御装置700Aから送られたトルク設定値T
sに基づいて、トルク設定値T
sに対応する電流をモータ930に供給する(
図7参照)。この結果、モータ930は、トルク設定値T
sに対応するトルク値で駆動される。
【0117】
以上説明したように、第1実施形態では、モータ930によって駆動される駆動輪を有する移動体MVの移動速度v、移動体MVの駆動輪の回転速度ω、及び、モータ930が発生する実トルク値T
mを取得する。引き続き、制御部740Aの補正値算出部990が、各時点の回転速度ω及び実トルク値T
mに基づいて、比例系フィードバック値T
Pを算出する。
【0118】
また、制御部740Aの積分部741におけるスリップ率推定部761が、移動速度v及び回転速度ωに基づいてスリップ率λを算出することにより、スリップ率推定を行う。また、積分部741における摩擦係数推定部762が、回転速度ω及び実トルク値T
mに基づいて摩擦係数μを算出することにより、摩擦係数推定を行う。
【0119】
引き続き、積分部741では、積分補償部763が、比例系フィードバック値T
p、スリップ率λ及び摩擦係数μに基づいて、積分補償値T
iを算出する。かかる積分補償値T
iの算出に際して、積分補償部763では、判断部766が、スリップ率λに基づいて、「ON」又は「OFF」の2値情報を担う積分イネーブルENを生成する。そして、積分演算部767が、積分イネーブルENが「ON」である期間にわたって、比例系フィードバック値T
pの積分演算を行う。
【0120】
また、積分補償部763では、積分ゲイン算出部768が、スリップ率λ及び摩擦係数μに基づいて、積分ゲイン値k
iを算出する。そして、乗算部769は、積分演算部767から送られた演算結果T
I、及び、積分ゲイン値k
iに基づいて積分補償値T
iを算出し、算出された積分補償値T
iを加算部742へ送る。
【0121】
次に、加算部742が、比例系フィードバック値T
p及び積分補償値T
iに基づいて、フィードバックトルク値T
fを算出する。そして、加算部742は、算出されたフィードバックトルク値T
fをトルク設定値算出部743へ送る。
【0122】
次いで、トルク設定値算出部743が、トルク指令値T
c及びフィードバックトルク値T
fに基づいて、トルク設定値T
sを算出する。そして、トルク設定値算出部743は、算出されたトルク設定値T
sをモータ駆動系900へ送る。
【0123】
すなわち、第1実施形態では、迅速な取得が可能な移動体MVの移動速度v、移動体MVの駆動輪の回転速度ω、及び、モータ930が発生する実トルク値T
mを取得する。そして、比例系フィードバックと、積分補償とを組み合わせてフィードバックトルク値T
fを算出し、算出されたフィードバックトルク値T
fを利用して、トルク設定値T
sを算出する。
【0124】
したがって、第1実施形態によれば、滑りやすい路面での十分なスリップ抑制の迅速な実現と、滑りにくい路面での不必要なトルク低下防止とを両立することができる。
【0125】
また、第1実施形態では、積分イネーブルの変化にヒステリシス特性を持たせるようにした。このため、スリップ率の推定結果の微妙な変化による積分イネーブルの頻繁な変化を回避することができる。
【0126】
[第2実施形態]
次に、本発明の第2実施形態を、
図15及び
図16を主に参照して説明する。
【0127】
図15には、第2実施形態に係るトラクション制御装置700Bの構成及び位置付けが示されている。この
図15に示されるように、トラクション制御装置700Bは、互いに独立に駆動可能な4つの駆動輪である左前側駆動輪WH
FL、右前側駆動輪WH
FR、左後側駆動輪WH
RL及び右後側駆動輪WH
RRの4個の駆動輪を有する移動体MV内に配置される。
【0128】
移動体MVには、トラクション制御装置700Bに加えて、トルク指令値生成部810、加速度検出部820及びモータ駆動系900
FL〜900
RRが配置されている。ここで、モータ駆動系900
j(j=FL〜RR)のそれぞれは、上述した第1実施形態において説明したモータ駆動系900と同様に構成されている。
【0129】
すなわち、モータ駆動系900
jは、上述した駆動制御部910と同様の機能を有する駆動制御部910
jと、上述したインバータ920と同様の機能を有するインバータ920
jと、上述したモータ930と同様の機能を有するモータ930
jとを備えている。また、モータ駆動系900
jは、上述した回転位置検出部940と同様の機能を有する回転位置検出部940
jと、上述した電流検出部950と同様の機能を有する電流検出部950
jを備えている。
【0130】
ここで、駆動制御部910
jは、トラクション制御装置700Bから送られたトルク設定値CT
s,j、回転位置検出部940
jにより検出された回転位置θ
j、及び、電流検出部950
jにより検出された検出電流値I
D,jに基づいて、駆動電圧を算出する。そして、駆動制御部910
jは、算出された駆動電圧を、インバータ920
jへ送る。
【0131】
また、回転位置検出部940
jは、モータ930
jの回転位置θ
jを検出する。そして、回転位置検出部940
jは、検出された回転位置θ
jを、トラクション制御装置700B、駆動制御部910
j及び電流検出部950
jへ送る。
【0132】
また、電流検出部950
jは、モータ930
jを流れる電流値を検出する。そして、電流検出部950
jは、検出された電流値を、検出電流値I
D,jとして、トラクション制御装置700B及び駆動制御部910
jへ送る。
【0133】
なお、トルク指令値生成部810からは、4個の駆動輪WH
FL〜WH
RRに対応して、トルク指令値T
c,FL〜T
c,RRが、トラクション制御装置700Bへ送られる。
【0134】
<トラクション制御装置700Bの構成>
図15に示されるように、トラクション制御装置700Bは、上述した第1実施形態のトラクション制御装置700Aと比べて、制御部740Aに代えて制御部740Bを備える点が異なっている。以下、この相違点に主に着目して説明する。
【0135】
なお、第2実施形態における回転速度取得部720は、回転位置検出部940
jから送られた回転位置θ
jを受ける。そして、回転速度取得部720は、回転位置θの時間微分を行って、回転速度ω
jを取得する。こうして取得された回転速度ω
jは、制御部740Bへ送られる。
【0136】
また、第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|である。
【0137】
次に、実トルク値取得部730は、上述した(1)式を利用して実トルク値T
m,jを算出することにより、実トルク値T
m,jを取得する。こうして取得された実トルク値T
m,jは、制御部740Bへ送られる。
【0138】
上記の制御部740Bは、
図16に示されるように、個別制御部781
FL〜781
RRと、共通トルク設定値算出部782とを備えている。
【0139】
上記の個別制御部781
j(j=FL〜RR)のそれぞれは、上述した制御部740Aと同様に構成される。個別制御部781
jは、トルク指令値生成部810から送られたトルク指令値T
c,jを受ける。引き続き、個別制御部781
jは、移動速度v、回転速度ω
j及びモータ電流値I
m,jに基づいて、個別トルク設定値T
s,jを算出する。そして、個別制御部781
jは、算出された個別トルク設定値T
s,jを共通トルク設定値算出部782へ送る。
【0140】
なお、個別制御部781
jは、トラクション制御を行うべき旨が指定されていない場合には、トルク指令値T
c,jを、個別トルク設定値T
s,jとして、共通トルク設定値算出部782へ送るようになっている。
【0141】
上記の共通トルク設定値算出部782は、個別制御部781
jから送られた個別トルク設定値T
s,jを受ける。そして、共通トルク設定値算出部782は、トラクション制御を行うべき旨が指定されていない場合には、個別トルク設定値T
s,jを、トルク設定値CT
s,jとしてモータ駆動系900
jへ送る。この結果、トラクション制御を行うべき旨が指定されていない場合には、トルク指令値T
c,jが、トルク設定値CT
s,jとしてモータ駆動系900
jへ送られることになる。
【0142】
一方、トラクション制御を行うべき旨が指定されている場合には、共通トルク設定値算出部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へ送る。
【0143】
<動作>
次に、上記のように構成されたトラクション制御装置700Bの動作について、トラクション制御を行うべき旨が指定されている場合の制御部740Bにおけるトラクション制御モード処理に主に着目して説明する。
【0144】
なお、トルク指令値生成部810、加速度検出部820及びモータ駆動系900
jは、既に動作を開始しており、トルク指令値T
c,j、加速度α、回転位置θ
j及び検出電流値I
D,jが、逐次、トラクション制御装置700Bへ送られているものとする(
図15参照)。
【0145】
トラクション制御装置700Bでは、移動速度取得部710が、加速度検出部820から送られた加速度αの時間積分を行って、移動速度vを取得する。そして、移動速度取得部710は、取得された移動速度vを制御部740Bへ逐次送る(
図15参照)。
【0146】
また、回転速度取得部720が、回転位置検出部940
jから送られた回転位置θ
jの時間微分を行って、回転速度ω
jを取得する。そして、回転速度取得部720は、取得された回転速度ω
jを制御部740Bへ逐次送る(
図15参照)。
【0147】
また、実トルク値取得部730が、電流検出部950
jから送られた検出電流値I
D,jに基づいて実トルク値T
m,jを算出することにより、実トルク値T
m,jの取得を行う。そして、実トルク値取得部730は、取得された実トルク値T
m,jを制御部740Bへ逐次送る(
図15参照)。
【0148】
<トラクション制御モード処理>
トラクション制御モード処理では、制御部740Bにおいて、個別制御部781
jが、上述した制御部740Aと同様の処理を行って、個別トルク設定値T
s,jを算出する。そして、個別制御部781
jは、算出された個別トルク設定値T
s,jを共通トルク設定値算出部782へ送る。
【0149】
個別制御部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へ送る。
【0150】
<非トラクション制御モード処理>
非トラクション制御モード処理では、制御部740Bにおいて、個別制御部781
jが、トルク指令値T
c,jをそのまま、個別トルク設定値T
s,jとする。そして、個別制御部781
jは、個別トルク設定値T
s,j(=T
c,j)を共通トルク設定値算出部782へ送る。
【0151】
個別制御部781
FL〜781
RRから送られた個別トルク設定値T
s,FL〜T
s,RRを受けると、共通トルク設定値算出部782は、個別トルク設定値T
s,FL〜T
s,RRをそのままトルク設定値CT
s,FL〜CT
s,RRとする。
【0152】
個別制御部781
FL〜781
RRから送られた個別トルク設定値T
s,FL〜T
s,RRを受けると、
共通トルク設定値算出部782は、個別トルク設定値T
s,jをそのまま、トルク設定値CT
s,jとしてモータ駆動系900
jへ送る。この結果、モータ駆動系900
jへは、トルク指令値T
c,jが、そのまま送られる。
【0153】
モータ駆動系900
jでは、トラクション制御装置700Bから送られたトルク設定値CT
s,jに基づいて、トルク設定値CT
s,jに対応する電流をモータ930
jに供給する。この結果、モータ930
jは、トルク設定値CT
s,jに対応する実トルク値で駆動される。
【0154】
以上説明したように、第2実施形態によれば、上述した第1実施形態の場合と同様に、必要な駆動力を確保しつつ安定な走行のための制御を、路面状態の変化に応じて迅速に実現することができる。
【0155】
また、第2実施形態では、複数の駆動輪のそれぞれについて算出された個別設定トルク値の中の最小値を、複数の駆動輪の全てのトルク指令値とする。この場合には、複数の駆動輪間におけるトルク設定値の差を抑制できるので、安定な走行を確保することができる。例えば、道路の左側のみ凍結しているような路面を走行する場合に、左側の駆動輪を対象として算出したトルク設定値が右側の駆動輪にも適応されるため、左右トルクのアンバランスが回避され、移動体の向きが変化することを防止できる。
【0156】
[実施形態の変形]
本発明は、上記の実施形態に限定されるものではなく、様々な変形が可能である。
【0157】
例えば、上記の第1及び第2実施形態では、移動速度の取得に際して加速度センサを利用するようにしたが、光学式対地センサを利用するようにしてもよい。
【0158】
また、上記の第1及び第2実施形態では、モータの実トルク値T
mを(1)式から求めたが、T
sにトルク応答特性を乗じる次の(20)式により、実トルク値T
mを算出するようにしてもよい。
T
m=T
s・(1/(τ
1・s+1)) …(20)
ここで、値τ
1は、トルク応答の時定数である。
【0159】
また、上記の第1及び第2実施形態では、移動体MVの重量Mを駆動輪の数で除算した値を、垂直抗力Nとして採用するようにした。これに対し、駆動輪の荷重を検出する荷重センサを配置するようにし、当該荷重センサによる検出結果を、垂直抗力Nとして採用するようにしてもよい。
【0160】
また、上記の第1及び第2実施形態では、積分ゲイン値を、スリップ率及び摩擦係数の推定結果に対して適応的に算出するようにした。これに対し、積分ゲイン値を、比例系フィードバックで残ってしまう残留偏差を少なくするとの観点から、実験、シミュレーション等に基づいて予め定められた固定値としてもよい。
【0161】
また、上記の第1及び第2実施形態では、スリップ率の推定値に基づいて積分イネーブルを「ON」から「OFF」へ変化させるようにした。これに対し、摩擦係数の推定値に基づいて積分イネーブルを「ON」から「OFF」へ変化させるようにしてもよい。
【0162】
また、上記の第1及び第2実施形態では、スリップ率の推定値に基づいて積分イネーブルを「OFF」から「ON」へ変化させるようにした。これに対し、実トルク値の変化に対する回転速度の変化の割合と摩擦係数の推定値とに基づいて、積分イネーブルの値を変化させるようにしてもよい。この場合には、実トルク値の変化に対する回転速度の変化の割合が所定変化割合値以上で、かつ摩擦係数の推定値が所定摩擦係数値以下となった場合に、積分イネーブルを「ON」とし、積分補償を行うようにすればよい。
【0163】
また、上記の第1及び第2実施形態では、積分イネーブルENが「ON」から「OFF」に変化すると、積分値を「0」にクリアするようにした。これに対し、積分イネーブルENが「ON」から「OFF」に変化した場合には、「OFF」の期間にわたって出力値を「0」とするが、積分演算を継続するようにしてもよい。
【0164】
なお、上記の実施形態のトラクション制御装置を、中央処理装置(CPU:Central Processing Unit)、DSP(Digital Signal Processor)等を備えた演算手段としてのコンピュータとして構成し、予め用意されたプログラムを当該コンピュータで実行することにより、上記の実施形態のトラクション制御装置の機能の一部又は全部を実行するようにしてもよい。このプログラムはハードディスク、CD−ROM、DVD等のコンピュータで読み取り可能な記録媒体に記録され、当該コンピュータによって記録媒体からロードされて実行される。また、このプログラムは、CD−ROM、DVD等の可搬型記録媒体に記録された形態で取得されるようにしてもよいし、インターネットなどのネットワークを介した配信の形態で取得されるようにしてもよい。
【実施例】
【0165】
次に、本発明の一実施例を、
図17〜
図20を主に参照して説明する。なお、以下の説明においては、上述した実施形態を含めて、同一又は同等の要素には同一の符号を付し、重複する説明を極力省略する。
【0166】
[構成]
図17には、一実施例に係るトラクション制御装置100の構成が概略的に示されている。このトラクション制御装置100は、上述した第2実施形態に係るトラクション制御装置700Bの一態様となっている。
【0167】
図17に示されるように、トラクション制御装置100は、移動体MVとしての車両CR内に配置される。なお、車両CRは、互いに独立に駆動可能な4つの駆動輪である左前側駆動輪WH
FL、右前側駆動輪WH
FR、左後側駆動輪WH
RL及び右後側駆動輪WH
RRの4個の駆動輪を備えている。
【0168】
車両CRには、トラクション制御装置100に加えて、トルク指令値生成部810、加速度検出部820及びモータ駆動系900
FL〜900
RRが配置されている。ここで、モータ駆動系900
j(j=FL〜RR)のそれぞれは、上述した第2実施形態において説明したモータ駆動系900
jと同様に構成されている。
【0169】
<トラクション制御装置100の構成>
トラクション制御装置100は、制御ユニット110と、記憶ユニット120とを備えている。
【0170】
上記の制御ユニット110は、演算手段としての中央処理装置(CPU)、DSP(Digital Signal Processor)を備えて構成される。この制御ユニット110は、プログラムを実行することにより、上述した第2実施形態における移動速度取得部710、回転速度取得部720、実トルク値取得部730及び制御部740Bとしての機能を果たすようになっている。
【0171】
制御ユニット110が実行するプログラムは、記憶ユニット120に記憶され、記録ユニットからロードされて実行される。このプログラムは、CD−ROM、DVD等の可搬型記録媒体に記録された形態で取得されるようにしてもよいし、インターネットなどのネットワークを介した配信の形態で取得されるようにしてもよい。
【0172】
なお、制御ユニット110が実行する処理については、後述する。
【0173】
上記の記憶ユニット120には、制御ユニット110が利用する様々な情報データが記憶される。こうした情報データには、制御ユニット110が実行するプログラムが含まれている。この記憶ユニット120には、制御ユニット110がアクセスできるようになっている。
【0174】
<駆動制御部910
j及び電流検出部950
jの構成>
ここで、本実施例の駆動制御部910
j及び電流検出部950
jについて、
図18を参照して、より詳しく説明する。なお、本実施例では、モータ930
jは、3相モータとなっている。
【0175】
まず、駆動制御部910
jについて説明する。この駆動制御部910
jは、ベクトル制御により、モータ930
jの駆動を制御する。かかる機能を有する駆動制御部910
jは、電流指令値生成部911と、減算部912
d,912
qと、比例及び積分(PI)演算部913
d,913
qとを備えている。また、駆動制御部910
jは、座標変換部914と、パルス幅変調(PWM)部915とを備えている。
【0176】
上記の電流指令値生成部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へ送られる
【0177】
上記の減算部912
dは、電流指令値生成部911から送られたd軸電流指令値I
d,j*を受ける。そして、減算部912
dは、電流検出部950
jから送られたd軸検出電流値I
d,jを、d軸電流指令値I
d,j*から差し引く。減算部912
dによる減算結果は、PI演算部913
dへ送られる。
【0178】
上記の減算部912
qは、電流指令値生成部911から送られたq軸電流指令値I
q,j*を受ける。そして、減算部912
qは、電流検出部950
jから送られたq軸検出電流値I
q,jを、q軸電流指令値I
q,j*から差し引く。減算部912
qによる減算結果は、PI演算部913
qへ送られる。
【0179】
上記のPI演算部913
dは、減算部912
dから送られた減算結果を受ける。そして、PI演算部913
dは、当該減算結果に基づいて比例及び積分演算を行い、d軸電圧指令値V
d,j*を算出する。PI演算部913
dにより算出されたd軸電圧指令値V
d,j*は、座標変換部914へ送られる。
【0180】
上記のPI演算部913
qは、減算部912
qから送られた減算結果を受ける。そして、PI演算部913
qは、当該減算結果に基づいて比例及び積分演算を行い、q軸電圧指令値V
q,j*を算出する。PI演算部913
qにより算出されたq軸電圧指令値V
q,j*は、座標変換部914へ送られる。
【0181】
上記の座標変換部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へ送られる。
【0182】
上記のPWM部915は、座標変換部914から送られた3相制御電圧を受ける。そして、PWM部915は、当該3相制御電圧に対してパルス幅変調を施して、3相PWM信号を生成する。こうして生成された3相PWM信号は、インバータ920
jへ送られる。
【0183】
次いで、電流検出部950
jについて説明する。この電流検出部950
jは、電流検出器951と、座標変換部952とを備えている。
【0184】
上記の電流検出器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)を検出しなくても済む。
【0185】
上記の座標変換部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へ送られる。
【0186】
なお、I
D,jの大きさ|I
D,j|は、次の(21)式により算出される。
|I
D,j|=(I
d,j2+I
q,j2)
1/2 …(21)
【0187】
[動作]
次に、上記のように構成されたトラクション制御装置100によるトラクション制御の動作について、制御ユニット110による処理に着目して説明する。
【0188】
なお、トルク指令値生成部810、加速度検出部820及びモータ駆動系900
jは、既に動作を開始しており、トルク指令値T
c,j、加速度α、回転位置θ
j及び検出電流値I
D,jが、逐次、トラクション制御装置100へ送られているものとする(
図17参照)。
【0189】
トラクション制御は、不図示の入力部を介して、利用者がトラクション制御の開始指令を入力することにより、開始される。かかるトラクション制御に際しては、
図19に示されるように、まず、ステップS11において、制御ユニット110が、当該入力部を介して、トラクション制御の中止指令を受けたか否かを判定する。ステップS11における判定の結果が否定的であった場合(ステップS11:N)には、処理はステップS12へ進む。
【0190】
ステップS12では、制御ユニット110が、4個の駆動輪WH
FL〜WH
RRのそれぞれに対応する比例系フィードバック値T
p,FL〜T
p,RRを算出する。引き続き、制御ユニット110は、比例系フィードバック値T
p,FL〜T
p,RRに基づいて、積分補償値T
i,FL〜T
i,RRを算出する。なお、ステップS12における積分補償値T
i,FL〜T
i,RRの算出処理については、後述する。
【0191】
次に、ステップS13において、制御ユニット110が、4個の駆動輪WH
FL〜WH
RRのそれぞれに対応するフィードバックトルク値T
f,FL〜T
f,RRを算出する。かかるフィードバックトルク値T
f,FL〜T
f,RRの算出に際して、制御ユニット110は、上述した(10)式によりフィードバックトルク値T
fを算出する。
【0192】
次いで、ステップS14において、制御ユニット110が、トルク指令値T
c,FL〜T
c,RR及びフィードバックトルク値T
f,FL〜T
f,RRに基づいて、上述した(11)式により、個別トルク設定値T
s,FL〜T
s,RRを算出する。引き続き、ステップS15において、制御ユニット110が、個別トルク設定値T
s,FL〜T
s,RRのうちの最小値を抽出する。
【0193】
次に、ステップS16において、制御ユニット110が、トルク設定値CT
s,FL〜CT
s,RRの全てを、抽出された最小値T
s,minに設定する。そして、制御ユニット110は、最小値T
s,minに設定されたトルク設定値CT
s,jをモータ駆動系900
jへ逐次出力する(
図17参照)。
【0194】
ステップS16の処理が終了すると、処理はステップS11へ戻る。以後、ステップS11における判定の結果が肯定的となるまで、ステップS11〜S16の処理が繰り返される。
【0195】
トラクション制御の中止指令を受け、ステップS11における判定の結果が肯定的となると(ステップS11:Y)、処理はステップS17へ進む。このステップS17では、制御ユニット110が、積分イネーブルEN
FL〜EN
RRの全てを「OFF」する。
【0196】
次に、ステップS18において、制御ユニット110が、積分演算の演算結果(以下、「積分値」ともいう)T
I,FL〜T
I,RRの全てをクリアする。引き続き、ステップS19において、フィードバックトルク値T
f,FL〜T
f,RRの全てをクリアする。そして、トラクション制御処理が終了する。この結果、トルク指令値T
c,jが、トルク設定値CT
s,jとして、モータ駆動系900
jへ出力されるようになる。
【0197】
<積分補償値T
i,FL〜T
i,RRの算出処理>
次に、ステップS12における積分補償値T
i,FL〜T
i,RRの算出処理について説明する。
【0198】
積分補償値T
i,jの算出処理に際しては、
図20に示されるように、まず、ステップS21において、制御ユニット110が、加速度α、回転位置θ
j及び検出電流値I
D,jを取得する。そして、制御ユニット110は、加速度αの時間積分を行って車速(移動速度)vを取得し、回転位置θ
jの時間微分を行って回転速度ω
jを取得するとともに、検出電流値I
D,jに基づいて実トルク値T
m,jを取得する。なお、モータ電流値I
m jは検出電流値I
D jの大きさを示しており、I
m,j=|I
D,j|である。
【0199】
次に、ステップS22において、制御ユニット110が、車速v及び回転速度ω
jに基づき、上述した(5)式により、スリップ率λ
jを算出することにより、スリップ率推定を行う。引き続き、ステップS23において、制御ユニット110が、回転速度ω
j及び実トルク値T
m,jに基づき、上述した(1),(4),(12),(13)式を適宜利用して、摩擦係数μ
jを算出することにより、摩擦係数推定を行う。
【0200】
次いで、ステップS24において、制御ユニット110は、スリップ率λ
jが第1所定値λ
THHより大きいか否かを判定する。ステップS24における判定の結果が肯定的であった場合(ステップS24:Y)には、処理はステップS25へ進む。
【0201】
ステップS25では、制御ユニット110が、積分イネーブルEN
jを「ON」に設定する。そして、処理は、後述するステップS28へ進む。
【0202】
上述したステップS24における判定の結果が否定的であった場合(ステップS24:N)には、処理はステップS26へ進む。このステップS26では、制御ユニット110が、スリップ率λ
jが第2所定値λ
THLより小さいか否かを判定する。ステップS26における判定の結果が否定的であった場合(ステップS26:N)には、処理はステップS28へ進む。
【0203】
一方、ステップS26における判定の結果が肯定的であった場合(ステップS26:Y)には、処理はステップS27へ進む。このステップS27では、制御ユニット110が、積分イネーブルEN
jを「OFF」に設定する。そして、処理はステップS28へ進む。
【0204】
ステップS28では、制御ユニット110は、積分イネーブルEN
jが「ON」であるか否かを判定する。ステップS28における判定の結果が肯定的であった場合(ステップS28:Y)には、処理はステップS29へ進む。
【0205】
ステップS29では、制御ユニット110が、比例系フィードバック値T
pに対する積分を行い、積分値T
I,jを更新する。そして、処理は後述するステップS31へ進む。
【0206】
ステップS28における判定の結果が否定的であった場合(ステップS28:N)には、処理はステップS30へ進む。このステップS30では、制御ユニット110が、積分値T
I,jをクリアする。そして、処理はステップS31へ進む。
【0207】
ステップS31では、制御ユニット110が、スリップλ
j及び摩擦係数μ
jに基づいて、上述した(14)式を利用して積分ゲイン値k
i,jを算出する。引き続き、ステップS32において、制御ユニット110が、積分値T
I,j及び積分ゲイン値k
i,jに基づいて、上述した(15)式を利用して積分補償値T
iを算出する。
【0208】
ステップS32の処理が終了すると、ステップS12の処理が終了する。そして、処理は、
図19のスッテプS13へ進む。
【0209】
以上説明したように、本実施例では、モータ930
jによって駆動される駆動輪を有する車両CRの車速v、車両CRの駆動輪の回転速度ω
j、及び、モータ930
jが発生する実トルク値T
m,jを取得する。ここで、車速v、回転速度ω
j及び実トルク値T
m,jは、迅速な取得が可能である。
【0210】
また、制御ユニット110が、車速v及び回転速度ω
jに基づいてスリップ率λ
jを算出することによりスリップ率推定を行うとともに、回転速度ω
j及び実トルク値T
m,jに基づいて摩擦係数μ
jを算出することにより摩擦係数推定を行う。制御ユニット110が、比例系フィードバック値T
p,j、スリップ率λ
j及び摩擦係数μ
jに基づいて、積分補償値T
i,jを算出する。かかる積分補償値T
i,jの算出に際して、制御ユニット110は、スリップ率λ
jに基づいて、「ON」又は「OFF」の2値情報を担う積分イネーブルENを生成する。そして、制御ユニット110が、積分イネーブルENが「ON」である期間にわたって、比例系フィードバック値T
p,jの積分演算を行う。
【0211】
また、制御ユニット110が、スリップ率λ
j及び摩擦係数μ
jに基づいて、積分ゲイン値k
i,jを算出する。そして、制御ユニット110は、積分値T
I,j及び積分ゲイン値k
i,jに基づいて積分補償値T
i,jを算出する。
【0212】
次に、制御ユニット110が、比例系フィードバック値T
p,j及び積分補償値T
i,jに基づいて、フィードバックトルク値T
f,jを算出する。引き続き、制御ユニット110が、トルク指令値T
c,j及びフィードバックトルク値T
f,jに基づいて、個別トルク設定値T
s,jを算出する。そして、制御ユニット110は、算出された個別トルク設定値T
s,jに基づいて得られるトルク設定値CT
s,jをモータ駆動系900
jへ送る。
【0213】
すなわち、本実施例では、迅速な取得が可能な車両CRの車速v、車両CRの駆動輪の回転速度ω
j、及び、モータ930
jが発生する実トルク値T
m,jを取得する。そして、比例系フィードバックと、積分補償とを組み合わせてフィードバックトルク値T
f,jを算出し、算出されたフィードバックトルク値T
f,jを利用して、個別トルク設定値T
s,jを算出する。
【0214】
したがって、本実施例によれば、滑りやすい路面での十分なスリップ抑制の迅速な実現と、滑りにくい路面での不必要なトルク低下防止とを両立することができる。
【0215】
また、本実施例では、積分イネーブルEN
jの変化にヒステリシス特性を持たせるようにした。このため、スリップ率λ
jの推定結果の微妙な変化による積分イネーブルEN
jの頻繁な変化を回避することができる。
【0216】
また、本実施例では、複数の駆動輪のそれぞれについて算出された個別トルク設定値T
s,jの中の最小値を、複数の駆動輪の全てのトルク設定値CT
s,jとする。この場合には、複数の駆動輪間におけるトルク設定値の差を抑制できるので、安定な走行を確保することができる。例えば、道路の左側のみ凍結しているような路面を走行する場合に、左側の駆動輪を対象として算出したトルク設定値が右側の駆動輪にも適応されるため、左右トルクのアンバランスが回避され、車体の向きが変化することを防止できる。
【0217】
[実施例の変形]
本発明は、上記の実施例に限定されるものではなく、様々な変形が可能である。
【0218】
例えば、上記の実施例では、車速の取得に際して加速度センサを利用するようにしたが、光学式対地センサを利用するようにしてもよい。
【0219】
また、
図18で説明したように、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にトルク応答特性を乗じる次の(22)式により、実トルク値T
m,jを算出するようにしてもよい。
T
m,j=CT
s,j・(1/(τ
1・s+1)) …(22)
ここで、値τ
1は、トルク応答の時定数である。
【0220】
また、上記の実施例では、車両MVの重量Mを駆動輪の数で除算した値を、垂直抗力Nとして採用するようにした。これに対し、駆動輪の荷重を検出する荷重センサを配置するようにし、当該荷重センサによる検出結果を、垂直抗力Nとして採用するようにしてもよい。
【0221】
また、上記の実施例では、積分ゲイン値を、スリップ率及び摩擦係数の推定結果に対して適応的に算出するようにした。これに対し、積分ゲイン値を、比例系フィードバックで残ってしまう残留偏差を少なくするとの観点から、実験、シミュレーション等に基づいて予め定められた固定値としてもよい。
【0222】
また、上記の実施例では、スリップ率の推定値に基づいて積分イネーブルを「ON」から「OFF」へ変化させるようにした。これに対し、摩擦係数の推定値に基づいて積分イネーブルを「ON」から「OFF」へ変化させるようにしてもよい。
【0223】
また、上記の実施例では、スリップ率の推定値に基づいて積分イネーブルを「OFF」から「ON」へ変化させるようにした。これに対し、実トルク値の変化に対する回転速度の変化の割合と摩擦係数の推定値とに基づいて、積分イネーブルの値を変化させるようにしてもよい。この場合には、実トルク値の変化に対する回転速度の変化の割合が所定変化割合値以上で、かつ摩擦係数の推定値が所定摩擦係数値以下となった場合に、積分イネーブルを「ON」とし、積分補償を行うようにすればよい。
【0224】
また、上記の実施例では、積分イネーブルENが「ON」から「OFF」に変化すると、積分値を「0」にクリアするようにした。これに対し、積分イネーブルENが「ON」から「OFF」に変化した場合には、「OFF」の期間にわたって出力値を「0」とするが、積分演算を継続するようにしてもよい。