[第1実施形態]
最初に、本発明にかかる電動車両の制御方法が適用される車両のシステム構成(システム構成1)について説明する。
図1は、本発明に係る第1実施形態の制御方法が適用される電動車両の主要なシステム構成(システム構成1)を示すブロック図である。なお、電動車両とは、車両の駆動源の一部または全部として、少なくとも一つの駆動モータ(電動モータ)を備え、駆動モータの駆動力により走行可能な自動車のことであり、電気自動車や、ハイブリッド自動車が含まれる。
バッテリ1は、駆動モータ4の駆動電力の放電、および、駆動モータ4の回生電力の充電を行う。
モータコントローラ2(以下単にコントローラ2ともいう)は、例えば、中央演算装置(CPU)、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、および、入出力インタフェース(I/Oインタフェース)から構成される。コントローラ2には、車速V、アクセル開度θ、駆動モータ4の回転子位相α、駆動モータ4の電流(三相交流の場合は、iu、iv、iw)等の車両状態を示す各種車両変数の信号がデジタル信号として入力される。コントローラ2は、入力された信号に基づいて駆動モータ4を制御するためのPWM信号を生成する。また、生成したPWM信号に応じてインバータ3の駆動信号を生成する。
インバータ3は、相ごとに備えられた2対のスイッチング素子(例えば、IGBTやMOS−FET等のパワー半導体素子)をオン/オフすることにより、バッテリ1から供給される直流の電流を交流に変換あるいは逆変換し、駆動モータ4に所望の電流を流す。
駆動モータ(三相交流モータ)4は、インバータ3から供給される交流電流により駆動力を発生し、減速機5および駆動軸(ドライブシャフト)8を介して、左右の駆動輪9に駆動力を伝達する。また、駆動モータ4は、車両の走行時に駆動輪9に連れ回されて回転するときに、回生駆動力を発生させることで、車両の運動エネルギーを電気エネルギーとして回収する。この場合、インバータ3は、駆動モータ4の回生運転時に発生する交流電流を直流電流に変換して、バッテリ1に供給する。
電流センサ7は、駆動モータ4に流れる3相交流電流iu、iv、iwを検出する。ただし、3相交流電流iu、iv、iwの和は0であるため、任意の2相の電流を検出して、残りの1相の電流は演算により求めてもよい。
回転センサ6は、例えば、レゾルバやエンコーダであり、駆動モータ4の回転子位相αを検出する。
車輪回転数センサ10は、駆動輪9および図示しない従動輪の計4つの車輪の車輪回転数をそれぞれ検出する。
図2は、コントローラ2によって行われる処理の流れを示すフローチャートである。ステップS201からステップS206に係る処理は、車両システムが起動している間、一定の間隔で常時実行されるようにプログラムされている。
ステップS201では、車両状態を示す信号がコントローラ2に入力される。ここでは、車速V(km/h)、アクセル開度θ(%)、駆動モータ4の回転子位相α(rad)、駆動モータ4の回転速度Nm(rpm)、駆動モータ4に流れる三相交流電流iu、iv、iw、バッテリ1の直流電圧値Vdc(V)、および、4つの車輪のそれぞれの車輪回転数が入力される。
車速V(km/h)は、図示しない車速センサ、スピードメータ、又は、ブレーキコントローラ等の他のコントローラより通信にて取得される。あるいは、コントローラ2は、モータ回転速度にタイヤ動半径rを乗算し、ファイナルギヤのギヤ比で除算することにより車両速度v(m/s)を求め、[m/s]から[km/s]への単位変換係数「3600/1000」を乗算することで、車速V(km/h)を求める。
4つの車輪のそれぞれの車輪回転数は車輪回転数センサ10から取得される。そして、コントローラ2は、それぞれの車輪回転数にタイヤ動半径rを乗算することにより車輪回転速度v[m/s]を求め、[m/s]から[km/s]への単位変換係数「3600/1000」を乗算することで、車輪回転速度ωwfr、ωwfl、ωwrr、ωwrlを求める。
コントローラ2は、アクセル開度θ(%)を、図示しないアクセル開度センサから取得する。なお、アクセル開度θ(%)は、図示しない車両コントローラ等の他のコントローラから取得するようにしても良い。
駆動モータ4の回転子位相α(rad)は、回転センサ6から取得される。駆動モータ4の回転速度Nm(rpm)は、回転子角速度ω(電気角)を駆動モータの極対数pで除算して、駆動モータ4の機械的な角速度であるモータ角速度ωm(rad/s)を求め、求めたモータ回転速度に60/(2π)を乗算することによって求められる。回転子角速度ωは、回転子位相αを微分することによって求められる。
駆動モータ4に流れる電流iu、iv、iw(A)は、電流センサ7から取得される。
直流電圧値Vdc(V)は、バッテリ1とインバータ3間の直流電源ラインに設けられた電圧センサ(不図示)により検出する。なお、直流電圧値Vdc(V)は、バッテリコントローラ(不図示)から送信される信号により検出するようにしてもよい。
ステップS202では、コントローラ2が、ステップS201で入力された車両情報に基づいて、ドライバが要求する基本目標トルクとしての目標トルク指令値(モータトルク指令値)T*mを設定する。具体的には、コントローラ2は、アクセル開度θ及び車速Vに基づいて、図3に示すアクセル開度−トルクテーブルを参照することにより、目標トルク指令値Tm*を設定する。なお、図3で示すアクセル開度−トルクテーブルは一例であって、これに限定されるものではなく適宜変更されてよい。
ステップS203では、コントローラ2が、車両にスリップが発生したか否かを判定するためのスリップ判定演算処理を行う。スリップ判定演算処理の詳細については後述する。
ステップS204では、コントローラ2がスリップ抑制制御演算処理を行う。スリップ抑制制御演算処理では、スリップを抑制する最終トルク指令値(スリップ抑制制御トルク)が算出される。スリップ抑制制御演算処理の詳細については後述する。
ステップS205では、コントローラ2が電流指令値算出処理を行う。具体的には、コントローラ2は、ステップS204で算出された最終トルク指令値T*m_fとモータ回転速度ωmと直流電圧値Vdcとに基づいて、d軸電流目標値id*、q軸電流目標値iq*を求める。d軸電流目標値id*及びq軸電流目標値iq*は、例えば、トルク指令値、モータ回転速度、及び、直流電圧値と、d軸電流目標値及びq軸電流目標値との関係を定めたテーブルを予め用意しておいて、このテーブルを参照することにより求められる。
ステップS206では、d軸電流id及びq軸電流iqをそれぞれ、ステップS205で求めたd軸電流目標値id*及びq軸電流目標値iq*と一致させるための電流制御を行う。このため、まず初めに、ステップS201で入力された三相交流電流値iu、iv、iwと、駆動モータ4の回転子位相αに基づいて、d軸電流id及びq軸電流iqを求める。続いて、d軸、q軸電流指令値id*、iq*と、d軸、q軸電流id、iqとの偏差から、d軸、q軸電圧指令値vd、vqを算出する。なお、ここでは、算出したd軸、q軸電圧指令値vd、vqに対して非干渉制御を加える場合もある。
次に、d軸、q軸電圧指令値vd、vqと、駆動モータ4の回転子位相αから、三相交流電圧指令値vu、vv、vwを求める。そして、求めた三相交流電圧指令値vu、vv、vwと、直流電圧値Vdcから、PWM信号tu(%)、tv(%)、tw(%)を求める。このようにして求めたPWM信号tu、tv、twにより、インバータ3のスイッチング素子を開閉することによって、駆動モータ4を目標トルク指令値T*mで指示された所望のトルクで駆動することができる。
〈スリップ判定演算処理〉
以下では、ステップS203で行われるスリップ判定演算処理の詳細について説明する。
図4は、スリップ判定演算処理を実行するための制御ブロック(スリップ判定演算処理部40)の構成例を示す図である。
スリップ判定演算処理部40は、モータ角加速度推定部401と、モータ角速度によるスリップ判定演算部402と、モータ角加速度によるスリップ判定演算部403と、スリップ判定部404とを含んで構成される。
なお、本明細書の式中又は図面中において、モータ角加速度は以下の符号で表される。ただし、以下の文中におけるモータ角加速度の符号は省略する。
モータ角加速度推定部401は、目標トルク指令値T*m、右フロント車輪回転速度ωwfr、左フロント車輪回転速度ωwfl、右リア車輪回転速度ωwrr、および左リア車輪回転速度ωwrlを入力とし、モータ角加速度推定値を出力する。
なお、本明細書の式中又は図面中において、モータ角加速度推定値は以下の符号で表される。ただし、以下の文中におけるモータ角加速度推定値の符号は省略する。
モータ角速度ωmによるスリップ判定演算部402(以下、角速度スリップ判定演算部402とも称する)は、モータ角加速度推定値およびモータ角速度ωmを入力とし、スリップ制御フラグ1(slip_flg1)を出力する。
モータ角加速度によるスリップ判定演算部403(以下、角加速度スリップ判定演算部403とも称する)は、モータ角加速度推定値およびモータ角速度ωmを入力とし、スリップ制御フラグ2(slip_flg2)を出力する。
スリップ判定部404は、スリップ制御フラグ1(slip_flg1)とスリップ制御フラグ2(slip_flg2)とを入力とし、これらの論理和(or)を計算して、最終スリップ制御フラグslip_flgを出力する。
次に、モータ角加速度推定部401の詳細を図5を用いて説明する。
図5は、モータ角加速度推定部401を実現する制御ブロックの構成例を示す図である。モータ角加速度推定部401は、車輪速度セレクト部501と、外乱トルク推定部502と、制御系演算遅れ処理部503と、モータ応答遅れ処理部504と、モータ角加速度演算部505と、センサ信号処理遅れ処理部506と、減算器507とを含んで構成される。
車輪速度セレクト部501は、右フロント車輪回転速度ωwfr、左フロント車輪回転速度ωwfl、右リア車輪回転速度ωwrr、および左リア車輪回転速度ωwrlを入力とし、4つの車輪のうち、スリップしていない車輪、換言すると、実際の車体速度に最も近いと思われる車輪の回転速度を選択して、セレクト車輪回転速度ωvとして出力する。
本実施形態の車輪速度セレクト部501は、目標トルク指令値が正のときは駆動力が前進方向であるため、各車輪回転速度のうち最も小さい(遅い)値が車体速度に最も近いと判断して、各車輪回転速度のうち最も小さい車輪回転速度をセレクト車輪回転速度ωvとして出力する。一方、車輪速度セレクト部501は、目標トルク指令値が負のときは駆動力が後進方向であるため、後進時の車輪回転速度が負の値で表されることを前提に、各車輪回転速度のうち最も大きい(遅い)値が車体速度に最も近いと判断して、各車輪回転速度のうち最も大きい車輪回転速度をセレクト車輪回転速度ωvとして出力する。
なお、車輪速度セレクト部501によるセレクト車輪回転速度ωvの選択方法は上述の方法に限らない。セレクト車輪回転速度ωvとして、例えば、4つの車輪回転速度のうち2番目や3番目に早い値や、スリップしていないと思われる2以上の車輪回転速度の平均値を用いる等、選択方法は走行シーン等によって適宜変更してもよい。
外乱トルク推定部502は、セレクト車輪回転速度ωvおよび目標トルク指令値を入力とし、外乱トルク推定値Tdistを出力する。外乱トルク推定値Tdistの算出方法の詳細は、図8を参照して後述する。
減算器507は、目標トルク指令値T*mから外乱トルク推定値Tdistを減算することにより算出した補正後目標トルク指令値T*m2を制御系演算遅れ処理部503に出力する。
制御系演算遅れ処理部503およびモータ応答遅れ処理部504では、補正後目標トルク指令値T*m2に対して、補正後目標トルク指令値T*m2の演算を含む制御演算に要する制御演算遅れ時間L1の無駄時間処理e-L1sと、トルク指令値が入力されてから実際のトルクが発生するまでの遅れを模擬した伝達関数Ga(s)を用いた一次遅れ処理Ga(=1/(τas+1))とを施すことにより、制御系遅れ演算後目標トルク指令値T*m3が算出される。
モータ角加速度演算部505は、制御系遅れ演算後目標トルク指令値T*m3を入力とし、遅れ補正前モータ角加速度推定値を出力する。遅れ補正前モータ角加速度推定値の算出方法の詳細は、図6等を参照して後述する。
なお、本明細書の式中又は図面中において、遅れ補正前モータ角加速度推定値は以下の符号で表される。ただし、以下の文中における遅れ補正前モータ角加速度推定値の符号は省略する。
センサ信号処理遅れ処理部506は、遅れ補正前モータ角加速度推定値に対して、回転センサ6等の各種センサで信号を検出するのに要する時間や、検出した信号値を処理するのに要する時間であるセンサ信号処理時間L2の無駄時間処理e-L2sを施し、モータ角加速度推定値を出力する。
なお、制御系演算遅れ処理部503、モータ応答遅れ処理部504、およびセンサ信号処理遅れ処理部506を用いて行うこれら制御系の遅れ演算処理は、駆動モータ4を制御するための各種演算に要する時間遅れ、入力されるモータトルク指令値に対して駆動モータ4に実際のトルクが発生するまでの時間遅れ、および、車両状態を検出して所定の処理を行うのに要する時間に起因する時間遅れ(回転センサ6や車輪回転数センサ10等の各種センサで信号を検出・処理するのに要する時間に起因する時間遅れ)を考慮した処理である。モータ角加速度推定部401は、これら制御系の遅れ演算処理を実行する上述の遅れ処理部の少なくとも一つを含むことにより、モータ角加速度推定値の推定誤差を小さくすることができる。
次に、モータ角加速度演算部505の詳細について説明する。
図6は、モータ角加速度演算部505を実現する制御ブロックの構成例を示す。図6で示すモータ角加速度演算部505を構成する制御ブロック図は、駆動モータから駆動輪までに係る駆動系の捩れ剛性及び当該駆動系に含まれるギヤのバックラッシュ特性を考慮したモータトルクからモータ角加速度までの伝達特性を示したブロック図である。当該ブロック図は、図7を参照して以下に説明する車両の運動方程式と等価に構成される。
図7は、車両の駆動力伝達系をモデル化した図であり、同図における各パラメータは以下に示すとおりである。
Jm:モータイナーシャ
Jw:駆動輪イナーシャ(1軸分)
M:車体重量
Kd:駆動系のねじり剛性
Kt:タイヤと路面の摩擦に関する係数
N:オーバーオールギヤ比
r:タイヤ荷重半径
ωm:モータ回転角速度
θm:モータ回転角度
ωw:駆動輪回転角速度
θw:駆動輪回転角度
Tm:モータトルク
Td:駆動軸トルク
F:駆動力(2軸分)
V:車体速度
θd:駆動軸ねじり角度
図7より、2輪駆動の車両(2WD車両)の運動方程式は、次式(1)〜(6)で表される。
上記式(1)〜(6)をラプラス変換して、モータトルクTmからモータ回転角速度ωmまでの伝達特性を求めると、次式(7)、(8)で表される。
ただし、式(8)中のa
3、a
2、a
1、a0、b
3、b
2、b
1、b
0、は、それぞれ次式(9)で表される。
また、モータトルクTmから駆動軸トルクTdまでの伝達特性は、次式(10)で表される。
ただし、式(10)中のc
1、c
2は、次式(11)で表される。
式(2)、(4)、(5)、(6)より、モータ回転角速度ωmから駆動輪回転角速度ωwまでの伝達特性を求めると、次式(12)で表される。
式(7)、(8)、(12)より、モータトルクT
mから駆動輪回転角速度ωwまでの伝達特性は、次式(13)で表される。
式(10)、(13)より、駆動軸トルクT
dから駆動軸角速度ωwまでの伝達特性は、次式(14)で表される。
ここで、式(14)を変形すると、次式(15)で表される。
従って、式(14)、(15)より、駆動軸ねじり角速度ωdは、次式(16)で表される。
ただし、式(16)中のHw(s)は、次式(17)で表される。
式(17)中のv
1、v
0、w
1.w
0は、次式(18)のとおりである。
次に、上記式(1)から(18)を適用して、モータから駆動軸までのギヤのバックラッシュ特性を模擬した不感帯をモデル化する(図6参照)。そうすると、不感帯モデルを考慮した駆動軸トルクTdを、次式(19)で表すことができる。
ここで、θ
deadは、モータから駆動軸までのオーバーオールのギヤバックラッシュ量である。したがって、式(15)より、遅れ補正前モータ角加速度推定値は以下式(20)により算出することができる。
次に、外乱トルク推定部502の詳細について、図8等を参照して説明する。
図8は、外乱トルク推定部502を実現する制御ブロックの構成例を示す図である。外乱トルク推定部502は、駆動モータ4に作用する外乱トルクを推定値する。外乱トルク推定部502は、制御ブロック801と、フィルタ802と、減算器803とを含んで構成される。
なお、車両に作用する外乱としては、空気抵抗、乗員数や積載量に起因する車両質量の変動によるモデル化誤差、タイヤの転がり抵抗、路面の勾配抵抗等が考えられる。これら外乱要因のうち、どれが支配的な要因になるかは運転条件により異なるが、外乱トルク推定部502は、上述した外乱要因を駆動モータに作用する外乱トルクとして一括して推定することができる。
制御ブロック801は、ローパスフィルタH1(s)と、車両応答Gr1(s)の逆系とから構成される。
車両応答Gr1(s)は、車体質量Mと、モータイナーシャJmと、駆動軸イナーシャJwとから求まる等価質量を用いて、以下式(21)のように設定される。
また、ローパスフィルタH1(s)は、分母次数と分子次数との差分が車両応答Gr1(s)の分母次数と分子次数との差分以上となる伝達特性を有するローパスフィルタであり、次式(22)で表される。
制御ブロック801では、上述のように構成されるH1(s)/Gr1(s)によって、駆動軸9の回転速度に相関のある回転体の回転速度であって、車体速度に最も近い速度を表すセレクト車輪回転速度ωvにフィルタリング処理が施されることにより第1のモータトルク推定値が算出される。
フィルタ802では、ローパスフィルタH1(s)によってモータトルク指令値T*mにフィルタリング処理が施されることにより第2のモータトルクトルク推定値が算出される。
そして、減算器803において第1のモータトルク推定値と第2のモータトルク推定値との偏差が演算されることにより、外乱トルク推定値Tdistが算出される。
次に、角速度スリップ判定演算部402の詳細について説明する。
〈モータ角速度によるスリップ判定演算〉
図9は、角速度スリップ判定演算部402を実現する制御ブロックの構成例を示す図である。角速度スリップ判定演算部402は、初期化処理部901と、モータ角速度推定部902と、スリップ判定部903とを含んで構成される。
初期化処理部901は、モータ角速度ωmを入力とし、初期化フラグflg_iniを出力する。初期化処理部901は、モータ角速度ωmを微分することによりモータ角加速度を算出し、モータ角加速度の絶対値が所定値未満の場合には初期化フラグflg_iniを1に、モータ角加速度の絶対値が所定値以上の場合には初期化フラグflg_iniを0に設定する。
モータ角速度推定部902は、積分器を有し、モータ角加速度推定値を積分処理することによりモータ角速度推定値を算出する。当該積分器は、初期化フラグflg_iniが1の場合に、モータ角速度ωmで初期化される。モータ角加速度推定値は、駆動系の捩れ剛性及びギヤバックラッシュ特性を考慮したモータトルクからモータ角加速度までの伝達特性を用いて算出されているので(図6参照)、上述のような初期化処理が施されることにより、当該伝達特性のモデル化誤差に起因するモータ角速度推定値の推定誤差を低減することができる。なお、初期化処理を行うか否かの基準となる上記の所定値は、モータ角速度推定値の推定誤差を低減する観点から予め実験等により導出された適切な値が設定される。
なお、本明細書の式中又は図面中において、モータ角速度推定値は以下の符号で表される。ただし、以下の文中におけるモータ角速度推定値の符号は省略する。
スリップ判定部903は、モータ角速度ωmとモータ角速度推定値の偏差を算出する。そして、スリップ判定部903は、算出した偏差が所定値以上の場合に、車両にスリップが発生していると判定してスリップ制御フラグ1(slip_flg1)を1に設定する。一方、スリップ判定部903は、算出した偏差が所定値未満の場合に、車両にスリップが発生していないと判定してスリップ制御フラグ1(slip_flg1)を0に設定する。ここでの所定値には、予め実験やシミュレーション等により導出された値であって、モータ角速度ωmおよびモータ角速度推定値の偏差と比較することによって車両のスリップを適切に判定できる値が設定される。
次に、角加速度スリップ判定演算部403の詳細について説明する。
〈モータ角加速度によるスリップ判定演算〉
図10は、角加速度スリップ判定演算部403を実現する制御ブロックの構成例を示す図である。角加速度スリップ判定演算部403は、モータ角加速度演算部1001と、スリップ判定部1002とを含んで構成される。
モータ角加速度演算部1001は、モータ角速度ωmを微分して、モータ角加速度を算出する。算出したモータ角加速度はスリップ判定部1002に出力される。
スリップ判定部1002は、モータ角加速度とモータ角加速度推定値の偏差を算出する。そして、スリップ判定部1002は、算出した偏差が所定値以上の場合に、車両にスリップが発生していると判定してスリップ制御フラグ2(slip_flag2)を1に設定する。また、スリップ判定部1002は、算出した偏差が所定値未満の場合に、スリップが発生していないと判定してスリップ制御フラグ2(slip_flag2)を0に設定する。ここでの所定値には、予め実験やシミュレーション等により導出された値であって、モータ角加速度およびモータ角加速度推定値の偏差と比較することによって車両のスリップを適切に判定できる値が設定される。
次に、図2で示したステップS204で実行されるスリップ抑制制御演算処理の詳細について説明する。
図11は、スリップ抑制制御演算処理を実行するスリップ抑制制御演算処理部204を実現する制御ブロックの構成例を示す図である。スリップ抑制制御演算処理部204は、目標モータ回転数演算部1101と、スリップ抑制制御演算部1102と、トルク指令値切替部1103とを含んで構成される。
目標モータ回転数演算部1101は、目標トルク指令値T*mとセレクト車輪回転速度ωvとを入力とし、目標モータ回転速度ω*mを出力する。目標モータ回転数演算部1101の詳細は、図12を参照して説明する。
図12は、目標モータ回転数演算部1101を実現する制御ブロックの構成例を示す図である。目標モータ回転数演算部1101は、マップ1201と、加算器1202と、単位変換器1203とを含んで構成される。
マップ1201は、セレクト車輪回転速度ωvに対する目標スリップ車速Δω*vが示されたマップである。マップ1201は、目標トルク指令値T*mが正の場合、すなわち車両が前進している際におけるスリップ発生時に当該スリップを抑制するためにセレクト車輪回転速度ωvに加算すべき適切な目標スリップ車速Δω*vを示す。マップ1201は、予め実験やシミュレーション等により導出される。
目標モータ回転数演算部1101は、目標トルク推定値T*mが正の場合、マップ1201を参照して、セレクト車輪回転速度ωvに対する目標スリップ車速Δω*vを算出し、算出した目標スリップ車速Δω*vを加算器1202においてセレクト車輪回転速度ωvに加算する。そして、目標モータ回転数演算部1101は、単位変換器1203において、目標スリップ車速Δω*vが加算されたセレクト車輪回転速度ωvを単位変換することで目標モータ角速度ω*mを算出する。
なお、目標モータ回転数演算部1101は、目標トルク推定値T*mが負の場合、すなわち車両が後進している際におけるスリップ発生時には、マップ1201を参照してセレクト車輪回転速度ωvに対する目標スリップ車速Δω*vを算出し、算出した目標スリップ車速Δω*vをセレクト車輪回転速度ωvから減算する。そして、目標モータ回転数演算部1101は、目標スリップ車速Δω*vが減算されたセレクト車輪回転速度ωvを単位変換することで目標モータ角速度ω*mを算出する。
スリップ抑制制御演算部1102(図11参照)は、目標モータ回転数演算部1101で算出された目標モータ角速度ω*mと、モータ角速度ωmを入力とし、目標モータ角速度ω*mにモータ角速度ωmを追従させる制御を実行する。スリップ抑制制御演算部1102の詳細について、図13を参照して説明する。
図13は、スリップ抑制制御演算部1102を実現する制御ブロックの構成例である。図13で示すスリップ抑制制御演算部1102は、主に、モデルマッチング補償器1301と、ロバスト補償器1302と、遅れ補償器1303とからなるロバストモデルマッチング系の回転数フィードバック(F/B)制御系として構成される。
モデルマッチング補償器1301は、以下式(23)で示すモデルマッチング制御のF/B系の規範モデルと、以下式(24)で示すモデルマッチング制御の全体系の規範モデルとから構成される。
ロバスト補償器1302は、以下式(25)で示すロバストフィルタから構成される。
遅れ補償器1303は、以下式(26)で示すアクチュエータ応答遅れと、制御演算遅れとセンサ検出遅れとを表すTsとから構成される。
なお、スリップ抑制制御演算部1102は、必ずしも上述のロバストモデルマッチング系の回転数フィードバック(F/B)制御系で組まれる必要はない。スリップ抑制制御演算部1102は、目標回転数に実回転数を追従させる制御系であればよく、例えばPI制御系によって構成されてもよい。
そして、トルク指令値切替部1103(図11参照)は、最終スリップ制御フラグslip_flgが1の場合には、発生したスリップを抑制し、車両の駆動を好適に制御するために、スリップ抑制制御演算部1102で算出したスリップ抑制制御トルクT*msを最終トルク指令値T*m_fに設定する。一方、最終スリップ制御フラグslip_flgが0の場合には、スリップが発生していない状況での通常の制御として、目標トルク指令値T*mを最終トルク指令値T*m_fに設定する。
これにより、車両にスリップが発生している際には、駆動モータ4の実回転数が目標回転数に追従するように算出されたスリップ抑制制御トルクT*msによって駆動モータを制御することができる。このような構成によって上述の処理が実行されることにより、車両のスリップの発生を適切に判定するとともに、車両にスリップが発生した場合には、スリップ抑制制御トルクT*msによって車両の駆動を適切に制御するスリップ抑制制御を実現することができる。
以上、第1実施形態の電動車両の制御方法は、モータを走行駆動源とする電動車両の制御方法である。この電動車両の制御方法は、モータトルク指令値T*mを算出し、駆動輪9につながるモータ4のモータ角速度ωmを検出し、駆動系の捩れ剛性と当該駆動系に含まれるギヤのバックラッシュ特性とを含むモータトルクからモータ角加速度までの伝達特性と、検出したモータ角速度(モータ角速度検出値)ωmとに基づいて、駆動輪9がスリップしているか否かを判定し、駆動輪9がスリップしていないと判定された場合は、算出したモータトルク指令値(T*mが設定されたT*m_f)に基づいてモータを制御する。このように、駆動系の捩れ剛性及びギヤバックラッシュ特性を考慮したモータトルクからモータ角速度までの伝達特性を用いてスリップ判定を行うことによって、ギヤバックラッシュの影響によって高μ路にも関わらず駆動輪がスリップしていると誤判定することを防止することができる。
また、第1実施形態の電動車両の制御方法によれば、モータトルク指令値T*mに基づいてモータ4の目標回転数(ω*m)を算出し、モータ4の実回転数(ωm)を目標回転数(ω*m)に追従させるスリップ抑制制御トルクT*msを算出し、駆動輪9がスリップしていると判定された場合は、スリップ抑制制御トルク(T*msが設定されたT*m_f)に基づいてモータ4を制御するスリップ抑制制御を実行する。これにより、駆動輪がスリップしていることが適切に判定された場合には、スリップ抑制制御トルクT*msに基づいて駆動モータ4が制御されるので、スリップが発生した場合でも、モータ制御により駆動輪のスリップを抑制し、車両を好適に制御することができる。
また、第1実施形態の電動車両の制御方法によれば、上述の伝達特性を用いてモータ4のモータ角速度推定値を算出し、モータ角速度推定値とモータ角速度ωmとに基づいて駆動輪9がスリップしているか否かを判定する。このように、ギヤバックラッシュが考慮された伝達特性を用いて算出されたモータ角速度推定値とモータ角速度ωmをスリップ判定に用いることにより、低μ路における緩やかな加減速時においてもギヤバックラッシュの影響を抑制して、駆動輪に発生するスリップを確実に判定することができる。
また、第1実施形態の電動車両の制御方法によれば、モータ角速度推定値は、上述の伝達特性を用いて算出されたモータ角加速度を積分処理することにより算出され、モータ角加速度が所定の範囲内にある場合に、積分処理をモータ角速度ωmで初期化する。これにより、伝達特性のモデル化誤差に起因するモータ角速度推定値の推定誤差を低減することができるので、駆動輪に発生するスリップをより精度よく判定することができる。
また、第1実施形態の電動車両の制御方法によれば、上述の伝達特性を用いてモータ4のモータ角加速度推定値を算出し、モータ角速度ωmからモータ角加速度を算出し、モータ角加速度推定値とモータ角加速度とに基づいて駆動輪9がスリップしているか否かを判定する。このように、ギヤバックラッシュが考慮された伝達特性を用いて算出されたモータ角速度推定値と、モータ加速度の時間微分であるモータ角加速度とをスリップ判定に用いることにより、低μ路において駆動輪に発生するスリップをより早期に判定することができる。
また、第1実施形態の電動車両の制御方法によれば、電動車両を駆動する駆動軸8の回転速度に相関のある回転体の回転速度(ωv)を取得し、モータトルク指令値T*mと回転体の回転速度(ωv)とに基づいてモータ4に作用する外乱トルクを推定し、モータトルク指令値T*mを推定された外乱トルク(外乱トルク推定値Tdist)に応じて補正することにより外乱補正後モータトルク指令値(T*m2)を算出する。モータ角速度推定値は、上述の伝達特性を模擬した車両モデル(モータ角加速度演算部505)に外乱補正後モータトルク指令値(T*m2またはT*m3)を入力することにより算出される。これにより、外乱に起因する伝達特性のモデル化誤差等の影響によるモータ角速度の推定誤差を低減することができるので、駆動輪に発生するスリップをより精度よく判定することができる。
また、第1実施形態の電動車両の制御方法によれば、上述の伝達特性には、制御系の持つ遅れ要素が加味される。そして、制御系の持つ遅れ要素には、モータ4を制御するための各種演算に要する時間遅れ、モータトルク指令値T*mに対してモータ4に実際のトルク(実トルク)が発生するまでの時間遅れ、および、車両状態を検出して所定の処理を行うのに要する時間に起因する時間遅れのうちの少なくとも一つの時間遅れが含まれる。これにより、制御系の遅れ時間に起因する伝達特性のモデル化誤差等の影響によるモータ角速度の推定誤差を低減することができるので、駆動輪に発生するスリップをより精度よく判定することができる。
また、第1実施形態の電動車両の制御方法によれば、上述の伝達特性を用いてモータ4のモータ角速度推定値を算出し、モータ角速度ωmからモータ角加速度を算出し、モータ角速度推定値とモータ角速度ωmに基づいて駆動輪9がスリップしているか否かを判定する角速度スリップ判定を実行する。また、モータ角速度推定値とモータ角加速度に基づいて駆動輪9がスリップしているか否かを判定する角加速度スリップ判定を実行し、角速度スリップ判定および角加速度スリップ判定の少なくともいずれか一方において駆動輪がスリップしていると判定された場合に駆動輪9がスリップしていると判定する。このように、モータ角速度推定値を用いたスリップ判定の結果(slip_flg1)と、モータ角加速度推定値を用いたスリップ判定の結果(slip_flg2)とを併用することにより、低μ路において駆動輪に発生するスリップを早期に、確実に判定することができる。
[第2実施形態]
以下、第2実施形態の電動車両の制御方法について説明する。本実施形態の電動車両の制御方法は、適用される電動車両の主要なシステム構成が第1実施形態と相違する。以下、第2実施形態の電動車両の制御方法が適用される車両のシステム構成(システム構成2)について説明する。
図14は、本実施形態の制御方法が適用される電動車両であって、前述のシステム構成1を備える電動車両とは異なる電動車両の所要なシステム構成(システム構成2)を示すブロック図である。システム構成2では、駆動モータを前後に独立して搭載している点がシステム構成1と主に相違する。
バッテリ1は、フロント駆動モータ4fおよびリア駆動モータ4rへ駆動電力を放電し、フロント駆動モータ4fおよびリア駆動モータ4rからの回生電力により充電される。
モータコントローラ2(以下単にコントローラ2ともいう)には、車速V、アクセル開度θ、フロント駆動モータ4fの回転子位相αf、リア駆動モータ4rの回転子位相αr、フロント駆動モータ4fの電流(三相交流の場合は、iu、iv、iw)、リア駆動モータ4rの電流(三相交流の場合は、iu、iv、iw)等の車両状態を示す各種車両変数の信号がデジタル信号として入力される。コントローラ2は、入力された信号に基づいてフロント駆動モータ4fおよびリア駆動モータ4rを制御するためのPWM信号をそれぞれ生成する。また、生成したそれぞれのPWM信号に応じてフロントインバータ3fおよびリアインバータ3rの駆動信号を生成する。
フロントインバータ3f、および、リアインバータ3r(以下、まとめてフロント/リアインバータ3f、3rともいう)は、相ごとに備えられた2個のスイッチング素子(例えば、IGBTやMOS−FET等のパワー半導体素子)をオン/オフすることにより、バッテリ1frから供給される直流の電流を交流に変換あるいは逆変換し、フロント駆動モータ4fおよびリア駆動モータ4rに所望の電流を流す。
フロント駆動モータ4f(三相交流モータ)、および、リア駆動モータ4r(三相交流モータ)は(以下、まとめてフロント/リア駆動モータ4f、4r、あるいは単にモータ4f、4rともいう)、フロント/リアインバータ3f、3rから供給される交流電流により駆動力を発生し、フロント減速機5fr、リア減速機5r、および、フロントドライブシャフト8f、リアドライブシャフト8rを介して、フロント駆動輪9fおよびリア駆動輪9r(以下、まとめてフロント/リア駆動輪9f、9rともいう)に駆動力を伝達する。また、フロント/リア駆動モータ4f、4rは、車両の走行時にフロント/リア駆動輪9f、9rに連れ回されて回転するときに、回生駆動力を発生させることで、車両の運動エネルギーを電気エネルギーとして回収する。この場合、フロント/リアインバータ3f、3rは、回生運転時に発生する交流電流を直流電流に変換して、バッテリ1に供給する。
なお、本明細書において記載するフロント駆動輪9fは、車両前方の左右の駆動輪を示し、リア駆動輪9rは、車両後方の左右の駆動輪を示すものとする。
フロント回転センサ6f、および、リア回転センサ6rは、例えば、レゾルバやエンコーダであり、フロント/リア駆動モータ4f、4rの回転子位相αf、αrをそれぞれ検出する。
フロント車輪回転数センサ10f、および、リア車輪回転数センサ10rは、二つのフロント駆動輪9f、および、二つのリア駆動輪9rの車輪回転数をそれぞれ検出する。
図15は、コントローラ2によって行われる処理の流れを示すフローチャートである。ステップS1501からステップS1506に係る処理は、車両システムが起動している間、一定の間隔で常時実行されるようにプログラムされている。
ステップS1501では、上述したシステム構成1と同様に、以下で説明する制御演算に必要なフロント/リアの各構成それぞれの信号を、センサ入力、または、他のコントローラより通信にて取得する。ここでは、コントローラ2に、アクセル開度θ(%)、モータ4f、4rの磁極位置検出値θ(rad)、モータ4f、4rに流れる三相交流電流iu、iv、iw、および、バッテリ1の直流電圧値Vdc(V)が入力される。また、コントローラ2は、モータ4f、4rの磁極位置θに基づいてフロント/リアモータ回転角速度ωmf、ωmrを算出する。
ステップS1502では、コントローラ2が、車両情報に基づいてドライバが要求する基本目標トルクとしての目標トルク指令値T*mを設定する。具体的には、まず、コントローラ2は、ステップS1501で入力されたアクセル開度θおよび算出したフロントモータ回転角速度ωmfに基づいて、図3に示すアクセル開度−トルクテーブルを参照することにより、目標トルク指令値T*mを設定する。次に、コントローラ2は、前後駆動力配分処理を実行して、フロント目標トルク指令値T*mf、および、リア目標トルク指令値T*mrを算出する。
図16は、前後駆動力配分処理を説明するための図である。図中のKfは、ドライバ要求トルクとしての目標トルク指令値Tm*に応じて出力する駆動力を、フロント駆動モータ4fとリア駆動モータ4rとに分配するための値であって、0〜1の間の値に設定される。コントローラ2は、トルク指令値Tm*に、0〜1の間の値に設定されるKfを乗じることにより、フロント駆動システムへのフロント目標トルク指令値Tmf*を算出する。同時に、コントローラ2は、トルク指令値Tm*に、1−Kfを乗じることで、リア駆動システムのリア目標トルク指令値Tmr*を算出する。
ステップS1503では、コントローラ2が、車両にスリップが発生したか否かを判定するためのスリップ判定演算処理を行う。本実施形態のスリップ判定演算処理の詳細については後述する。
ステップS1504では、コントローラ2がスリップ抑制制御演算処理を行う。本実施形態のスリップ抑制制御演算処理では、スリップを抑制する最終フロントトルク指令値T*mf_fと、最終リアトルク指令値T*mr_fが算出される。本実施形態のスリップ抑制制御演算処理の詳細については後述する。
ステップS1505では、システム構成1と同様に、コントローラ2が電流指令値算出処理を行う。具体的には、コントローラ2は、ステップS503で算出されたフロント/リア最終トルク指令値T*mf_f、T*mr_fに加え、フロント/リアモータ回転角速度ωmf、ωmrと直流電圧値Vdcとに基づいて、フロント/リア駆動モータ4f、4rそれぞれのd軸電流目標値id*、q軸電流目標値iq*を求める。具体的には、コントローラ2は、トルク指令値、モータ回転角速度、及び、直流電圧値と、d軸電流目標値及びq軸電流目標値との関係を定めたテーブルを予め用意しておいて、このテーブルを参照することにより、d軸電流目標値id*及びq軸電流目標値iq*を算出する。
ステップS1506では、システム構成1と同様に、コントローラ2が電流制御を行う。より具体的には、コントローラ2は、システム構成1で説明したのと同様に求めたフロント/リア駆動システムへのそれぞれのPWM信号に応じて、フロント/リアインバータ3f、3rのスイッチング素子を開閉することによって、フロント/リア駆動モータ4f、4rをフロント/リア最終トルク指令値T*mf_f、T*mr_fで指示された所望のトルクで駆動することができる。
〈スリップ判定演算処理〉
以下では、ステップS1503で行われるスリップ判定演算処理の詳細について説明する。
図17は、スリップ判定演算処理を実行するための制御ブロック(スリップ判定演算処理部170)の構成例を示す図である。
スリップ判定演算処理部170は、モータ角加速度推定部1701と、フロントモータ角速度によるスリップ判定演算部1702と、フロントモータ角加速度によるスリップ判定演算部1703と、フロントスリップ判定部1704と、リアモータ角速度によるスリップ判定演算部1705と、リアモータ角加速度によるスリップ判定演算部1706と、リアスリップ判定部1707と、を含んで構成される。
モータ角加速度推定部1701は、フロント目標トルク指令値T*mf、リア目標トルク指令値T*mr、右フロント車輪回転速度ωwfr、左フロント車輪回転速度ωwfl、右リア車輪回転速度ωwrr、および左リア車輪回転速度ωwrlを入力とし、フロントモータ角加速度推定値とリアモータ角加速度推定値を出力する。
なお、本明細書の式中又は図面中において、フロントモータ角加速度推定値およびリアモータ角加速度推定値は以下の符号で表される。ただし、以下の文中におけるフロントモータ角加速度推定値およびリアモータ角加速度推定値の符号は省略する。
フロントモータ角速度によるスリップ判定演算部1702(以下、フロント角速度スリップ判定演算部1702とも称する)は、フロントモータ角加速度推定値およびフロントモータ角速度ωmfを入力とし、フロントスリップ制御フラグ1(slip_flg1_f)を出力する。
フロントモータ角加速度によるスリップ判定演算部1703(以下、フロント角加速度スリップ判定演算部1703とも称する)は、フロントモータ角加速度推定値およびフロントモータ角速度ωmfを入力とし、フロントスリップ制御フラグ2(slip_flg2_f)を出力する。
フロントスリップ判定部1704は、フロントスリップ制御フラグ1(slip_flg1_f)とフロントスリップ制御フラグ2(slip_flg2_f)とを入力とし、これらの論理和(or)を計算して、フロント最終スリップ制御フラグslip_flg_fを出力する。
リアモータ角速度によるスリップ判定演算部1705(以下、リア角速度スリップ判定演算部1705とも称する)は、リアモータ角加速度推定値およびリアモータ角速度ωmrを入力とし、リアスリップ制御フラグ1(slip_flg1_r)を出力する。
リアモータ角加速度によるスリップ判定演算部1706(以下、リア角加速度スリップ判定演算部1706とも称する)は、リアモータ角加速度推定値およびリアモータ角速度ωmrを入力とし、リアスリップ制御フラグ2(slip_flg2_r)を出力する。
リアスリップ判定部1707は、リアスリップ制御フラグ1(slip_flg1_r)とリアスリップ制御フラグ2(slip_flg2_r)とを入力とし、これらの論理和(or)を計算して、リア最終スリップ制御フラグslip_flg_rを出力する。
次に、モータ角加速度推定部1701の詳細を図18を用いて説明する。
図18は、モータ角加速度推定部1701を実現する制御ブロックの構成例を示す図である。モータ角加速度推定部1701は、車輪速度セレクト部1801と、外乱トルク推定部1802と、制御系演算遅れ処理部1803と、モータ応答遅れ処理部1804と、モータトルク配分ゲイン1805、1806と、モータ角加速度演算部1807と、センサ信号処理遅れ処理部1808、1809と、加算器1810と、減算器1811とを含んで構成される。
加算器1810は、フロント目標トルク指令値T*mfとリア目標トルク指令値T*mrとを足し合わせて、目標トルク指令値T*mを算出する。算出された目標トルク指令値T*mは、車輪速度セレクト部1801と、外乱トルク推定部1802と、減算器1811とに出力される。
車輪速度セレクト部1801は、右フロント車輪回転速度ωwfr、左フロント車輪回転速度ωwfl、右リア車輪回転速度ωwrr、および左リア車輪回転速度ωwrlを入力とし、4つの車輪のうち、スリップしていない車輪、換言すると、実際の車体速度に最も近いと思われる車輪の回転速度を選択して、セレクト車輪回転速度ωvとして出力する。
本実施形態の車輪速度セレクト部1801は、目標トルク指令値が正のときは駆動力が前進方向であるため、各車輪回転速度のうち最も小さい(遅い)値が車体速度に最も近いと判断して、各車輪回転速度のうち最も小さい車輪回転速度をセレクト車輪回転速度ωvとして出力する。一方、車輪速度セレクト部501は、目標トルク指令値が負のときは駆動力が後進方向であるため、車輪回転速度が負の値で表されることを前提に、各車輪回転速度のうち最も大きい(遅い)値が車体速度に最も近いと判断して、各車輪回転速度のうち最も大きい車輪回転速度をセレクト車輪回転速度ωvとして出力する。
外乱トルク推定部1802は、セレクト車輪回転速度ωvおよび目標トルク指令値T*mを入力とし、外乱トルク推定値Tdistを出力する。外乱トルク推定値Tdistの算出方法の詳細は、図8を参照して上述したとおりである。
減算器1811は、目標トルク指令値T*mから外乱トルク推定値Tdistを減算することにより算出した補正後目標トルク指令値T*m2を制御系演算遅れ処理部1803に出力する。
制御系演算遅れ処理部1803およびモータ応答遅れ処理部1804では、補正後目標トルク指令値T*m2に対して、補正後目標トルク指令値T*m2の演算を含む制御演算に要する制御演算遅れ時間L1の無駄時間処理e-L1sと、補正後目標トルク指令値が入力されてから実際のトルクが発生するまでの遅れを模擬した伝達関数Ga(s)を用いた一次遅れ処理Ga(=1/(τas+1))とを施すことにより、制御系遅れ演算後目標トルク指令値T*m3が算出される。
モータトルク配分ゲイン1805は、制御系遅れ演算後目標トルク指令値T*m3に、0〜1の間の値に設定されるKfを乗じることにより、制御系遅れ演算後フロント目標トルク指令値T*mf3を算出する。
モータトルク配分ゲイン1806は、制御系遅れ演算後目標トルク指令値T*m3に、1−Kfを乗じることにより、制御系遅れ演算後リア目標トルク指令値T*mr3を算出する。
モータ角加速度演算部1807は、制御系遅れ演算後フロント目標トルク指令値T*mf3と制御系遅れ演算後リア目標トルク指令値T*mr3とを入力とし、遅れ補正前フロントモータ角加速度推定値と遅れ補正前リアモータ角加速度推定値を出力する。遅れ補正前フロントモータ角加速度推定値と遅れ補正前リアモータ角加速度推定値の算出方法の詳細は、図19等を参照して後述する。
センサ信号処理遅れ処理部1808は、遅れ補正前フロントモータ角加速度推定値に対して、回転センサ6f、6r等の各種センサで信号を検出するのに要する時間や、検出した信号値を処理するのに要する時間であるセンサ信号処理時間L2の無駄時間処理e-L2sを施し、フロントモータ角加速度推定値を出力する。
センサ信号処理遅れ処理部1809は、遅れ補正前リアモータ角加速度推定値に対して、回転センサ6f、6r等の各種センサで信号を検出するのに要する時間や、検出した信号値を処理するのに要する時間であるセンサ信号処理時間L2の無駄時間処理e-L2sを施し、リアモータ角加速度推定値を出力する。
制御系演算遅れ処理部1803、モータ応答遅れ処理部1804、およびセンサ信号処理遅れ処理部1808、1809を用いて行うこれら制御系の遅れ演算処理は、フロント/リア駆動モータ4f、4rを制御するための各種演算に要する時間遅れ、モータトルク指令値に対してフロント/リア駆動モータ4f、4rに実際のトルクが発生するまでの時間遅れ、および、車両状態を検出して所定の処理を行うのに要する時間に起因する時間遅れ(回転センサ6や車輪回転数センサ等の各種センサで信号を検出・処理するのに要する時間に起因する時間遅れ)を考慮した処理である。モータ角加速度推定部1701は、これら制御系の遅れを補償する遅れ演算処理を実行する上述の処理部の少なくとも一つを含むことにより、モータ角加速度推定値の推定誤差を小さくすることができる。
次に、モータ角加速度演算部1807の詳細について説明する。
図19は、モータ角加速度演算部1807を実現する制御ブロックの構成例を示す。図19で示すモータ角加速度演算部1807を構成する制御ブロックは、図20を参照して以下に説明する4WD車両の運動方程式と等価に構成された車両モデルである。
図20は、システム構成2にかかる車両(4WD車両)の駆動力伝達系をモデル化した図であり、同図における各パラメータは以下のとおりである。なお、補助記号のfはフロントを、rはリアを示している。
Jmf、Jmr:モータイナーシャ
Jwf、Jwr:駆動軸イナーシャ(1軸分)
Kdf、Kdr:駆動軸のねじり剛性
Ktf、Ktr:タイヤと路面の摩擦に関する係数
Nf、Nr:オーバーオールギヤ比
rf、rr:タイヤ荷重半径
ωmf、ωmr:モータ回転角速度
ω^mf、ω^mr:モータ回転角速度推定値
θmf、θmr:モータ角度
ωwf、ωwr:駆動輪角速度
θwf、θwr:駆動輪角度
Tmf、Tmr:モータトルク
Tdf、Tdr:駆動軸トルク
Ff、Fr:駆動力(2軸分)
θdf、θdr:駆動軸ねじり角度
V:車体速度
M:車体質量
図20より、4WD車両の運動方程式は、次式(27)〜(37)で表される。
図19中に示す不感帯は、フロント駆動軸8fに係るフロント駆動軸トルクTdf、および、リア駆動軸8rに係るリア駆動軸トルクTdrのぞれぞれのギヤバックラッシュ特性を模擬した不感帯モデルであって、次式(38)で表される。
ただし、図38中のθdeadfはフロント駆動モータ4fからフロント駆動軸8fまでのオーバーオールのギヤバックラッシュ量であり、θdeadrはリア駆動モータ4rからリア駆動軸8rまでのオーバーオールのバックラッシュ量である。
次に、外乱トルク推定部1802の詳細について、図21等を参照して説明する。
図21は、外乱トルク推定部502を実現する制御ブロックの構成例を示す図である。外乱トルク推定部1802は、制御ブロック2101と、フィルタ2102と、減算器2103とを含んで構成される。
制御ブロック2101は、ローパスフィルタH2(s)と、車両応答Gr2(s)の逆系とから構成される。
車両応答Gr2(s)は、車体質量Mと、モータイナーシャJmf、Jmrと、駆動軸イナーシャJwf、Jwrとから求まる等価質量を用いて、以下式(39)のように設定される。
また、ローパスフィルタH2(s)は、分母次数と分子次数との差分が車両応答Gr2(s)の分母次数と分子次数との差分以上となる伝達特性を有するローパスフィルタであり、次式(40)で表される。
制御ブロック2101では、上述のように構成されるH2(s)/Gr2(s)によって、セレクト車輪回転速度ωvにフィルタリング処理が施されることにより第1のモータトルク推定値が算出される。
フィルタ2102では、ローパスフィルタH2(s)によってモータトルク指令値T*mにフィルタリング処理が施されることにより第2のモータトルクトルク推定値が算出される。
そして、減算器2103において第1のモータトルク推定値と第2のモータトルク推定値との偏差が演算されることにより、外乱トルク推定値Tdistが算出される。
次に、フロント/リアモータ角速度によるスリップ判定演算部1702、1705について説明する。
〈フロント/リアモータ角速度によるスリップ判定演算〉
フロントモータ角速度によるスリップ判定演算部1702は、第1実施形態において上述したモータ角速度によるスリップ判定演算部(図9参照)と同様の構成である。ただし、初期化処理部901、モータ角速度推定部902、およびスリップ判定部903には、モータ角速度ωmに代えてフロントモータ角速度ωmfが入力され、モータ角速度推定部902には、モータ角加速度推定値に代えてフロントモータ角加速度推定値が入力される。
リアモータ角速度によるスリップ判定演算部1705は、第1実施形態において上述したモータ角速度によるスリップ判定演算部(図9参照)と同様の構成である。ただし、初期化処理部901、モータ角速度推定部902、およびスリップ判定部903には、モータ角速度ωmに代えてリアモータ角速度ωmfが入力され、モータ角速度推定部902には、モータ角加速度推定値に代えてリアモータ角加速度推定値が入力される。
次に、フロント/リアモータ角加速度によるスリップ判定演算部1703の詳細について説明する。
〈フロント/リアモータ角加速度によるスリップ判定演算〉
フロントモータ角加速度によるスリップ判定演算部1703は、第1実施形態において上述したモータ角速度によるスリップ判定演算部403(図10参照)と同様の構成である。ただし、モータ角加速度演算部1001、およびスリップ判定部1002には、モータ角速度ωmに代えてフロントモータ角速度ωmfが入力され、スリップ判定部1002には、モータ角加速度推定値に代えてフロントモータ角加速度推定値が入力される。
リアモータ角速度によるスリップ判定演算部1705は、第1実施形態において上述したモータ角速度によるスリップ判定演算部403(図10参照)と同様の構成である。ただし、モータ角速度演算部1001、およびスリップ判定部1002には、モータ角速度ωmに代えてリアモータ角速度ωmfが入力され、スリップ判定部1002には、モータ角加速度推定値に代えてリアモータ角加速度推定値が入力される。
次に、図15で示したステップS1504で実行されるスリップ抑制制御演算処理について説明する。
本実施形態のスリップ抑制制御演算処理を実行するスリップ抑制制御演算処理部は、フロント駆動モータ4fとリア駆動モータ4rとのそれぞれに対応して構成される。
フロント駆動モータ4fに対応するスリップ抑制制御演算処理部は、第1実施形態において上述したスリップ抑制制御演算処理部204(図11参照)と同様の構成である。ただし、目標モータ回転数演算部1101には、目標トルク指令値T*mに代えてフロント目標トルク指令値T*mfが入力され、スリップ抑制制御演算部1102には、モータ角速度ωmに代えてフロントモータ角速度ωmfが入力され、トルク指令値切替部1103には、最終スリップ制御フラグslip_flgと目標トルク指令値T*mに代えてフロント最終スリップ制御フラグslip_flg_fとフロント目標トルク指令値T*mfが入力される。
また、リア駆動モータ4rに対応するスリップ抑制制御演算処理部は、第1実施形態において上述したスリップ抑制制御演算処理部204(図11参照)と同様の構成である。ただし、目標モータ回転数演算部1101には、目標トルク指令値T*mに代えてリア目標トルク指令値T*mrが入力され、スリップ抑制制御演算部1102には、モータ角速度ωmに代えてリアモータ角速度ωmrが入力され、トルク指令値切替部1103には、最終スリップ制御フラグslip_flgと目標トルク指令値T*mに代えてリア最終スリップ制御フラグslip_flg_rとリア目標トルク指令値Tmr*が入力される。このような構成によって上述の処理が実行されることにより、第2実施形態のスリップ抑制制御が実現される。
なお、本実施形態では前後の駆動軸に駆動モータをそれぞれ有する車両に適用される例を説明したが、本実施形態の制御方法が適用される車両は上述した車両(図14参照)に限られない。本実施形態の制御方法は、図22に示すような左右の駆動輪(9ra、9rb)に対応する駆動モータ(4ra)を別個に備える車両にも同様に適用することができる。
また、本実施形態の制御方法は、図23に示すように3つの駆動モータ(4f、4ra)を備える車両、および、図24に示すように4つの駆動モータ(4fa、4ra)を備える車両にも同様に適用することができる。ただし、3つ以上の駆動モータを備える車両に適用する場合には、駆動モータの数に応じた駆動力配分処理が施されるとともに(図16参照)、駆動モータの数に応じたスリップ判定(図17参照)、モータ角加速度の推定(図18、19参照)及び、スリップ抑制制御演算(図11参照)がそれぞれ実行される。
以下では、第2実施形態の電動車両の制御方法を適用した場合に得られる効果について、図25から図27を参照して説明する。
図25は、比較例としての制御結果であって、本発明が適用されない従来の制御が適用された車両の制御結果を示すタイムチャートである。本タイムチャートは、路面μが相対的に高い路面において、回生トルクによる減速状態から時刻t0で力行トルクを発生させて加速した場合の制御結果を示す。ただし、フロントモータとリアモータのトルク配分は、リアモータの方を大きく設定している。図25(a)はフロントモータに、図25(b)はリアモータに対応するタイムチャートである。
図25の横軸は時間を、縦軸は、上から順にフロント/リアスリップ制御フラグ、フロント/リアモータ角速度、フロント/リアモータ角速度偏差、フロント/リアモータ角加速度、および、フロント/リアモータ角加速度偏差を示す。
従来制御ではギヤバックラッシュの影響が考慮されていない。したがって、ギヤバックラッシュの影響によって、モータ角速度推定値が実際のモータ角加速度よりも小さく見積もられることによる推定誤差が発生する。その結果、時刻t1においてリアモータに係るモータ角加速度偏差がスリップ判定閾値を超過してしまい、路面μが高くスリップが発生していないにも関わらず、スリップ発生が誤判定されている。
図26は、本発明に係る制御方法が適用された車両の制御結果を示すタイムチャートである。本タイムチャートは、路面μが相対的に高い路面において、回生トルクによる減速状態から時刻t0で力行トルクを発生されて加速した場合の制御結果を示す。ただし、フロントモータとリアモータのトルク配分は、比較例と同様にリアモータの方を大きく設定している。図26(a)はフロントモータに、図26(b)はリアモータに対応するタイムチャートである。
本発明では、駆動系の捩れ剛性及びギヤバックラッシュ特性が考慮されている。したがって、ギヤバックラッシュが生じた場合でも、実際のモータ角加速度を適切に推定できており、推定誤差の発生を抑制できている。その結果、時刻t1においてリアモータに係るモータ角加速度偏差がスリップ判定閾値を超過しておらず、スリップ発生の誤判定を防止することができる。
図27は、本発明に係る制御方法が適用された車両の制御結果を示すタイムチャートである。本タイムチャートは、路面μが相対的に低い路面において、回生トルクによる減速状態から時刻t0で力行トルクを発生されて加速した場合の制御結果を示す。ただし、フロントモータとリアモータのトルク配分は、比較例と同様にリアモータの方を大きく設定している。図27(a)はフロントモータに、図27(b)はリアモータに対応するタイムチャートである。
本発明では、駆動系の捩れ剛性及びギヤバックラッシュ特性が考慮されている。したがって、ギヤバックラッシュが生じた場合でも、実際のモータ角加速度を適切に推定できる。その結果、時刻t1および時刻t2においてフロントモータおよびリアモータに係るモータ角加速度偏差がスリップ判定閾値をそれぞれ超過しており、路面μが低い路面においてフロントモータとリアモータとのそれぞれにおいて発生したスリップを適切に判定することができている。
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。
例えば、上述した種々の制御演算において回転速度に関連するパラメータとして用いられるモータの角速度や駆動輪の車輪回転速度等は、必ずしも上述したものに限られない。上述した種々の制御演算においては、電動車両を駆動する駆動軸の回転速度に相関のある回転体の角速度、あるいは回転速度であることを前提に、例えばモータの角速度に代えて、モータの回転速度、駆動輪の車輪回転速度、又は駆動軸の回転速度を用いる等、適宜変更してもよい。