以下では、本発明による電動車両の制御装置を、摩擦ブレーキ等の制動装置を備え、電動機(モータ)を駆動源とする電気自動車に適用した例について説明する。
図1は、一実施形態における電動車両の制御装置を備えた電気自動車の主要構成を示すブロック図である。特に、本実施形態における車両の制御装置は、アクセルペダルの操作のみで車両の加減速や停止を制御することができる車両に適用することができる。この車両では、ドライバは、加速時にアクセルペダルを踏み込み、減速時や停止時には、踏み込んでいるアクセルペダルの踏み込み量を減らすか、または、アクセルペダルの踏み込み量をゼロとする。なお、登坂路においては、車両の後退を防ぐためにアクセルペダルを踏み込みつつ停止状態に近づく場合もある。
モータコントローラ2には、車速V、アクセル開度AP、モータ(三相交流モータ)4の回転子位相α、モータ4の電流iu、iv、iw等の車両状態を示す信号をデジタル信号として入力される。モータコントローラ2は、入力された信号に基づいて、モータ4を制御するためのPWM信号を生成する。また、モータコントローラ2は、生成したPWM信号に応じてインバータ3の駆動信号を生成する。モータコントローラ2はさらに、後述する方法により、摩擦制動量指令値を生成する。
インバータ3は、相ごとに備えられた2個のスイッチング素子(例えば、IGBTやMOS−FET等のパワー半導体素子)をオン/オフすることにより、バッテリ1から供給される直流の電流を交流に変換し、モータ4に所望の電流を流す。
モータ4は、インバータ3から供給される交流電流により駆動力を発生し、減速機5およびドライブシャフト8を介して、左右の駆動輪9a、9bに駆動力を伝達する。また、モータ4は、車両の走行時に駆動輪9a、9bに連れ回されて回転するときに、回生駆動力を発生させることで、車両の運動エネルギーを電気エネルギーとして回収する。この場合、インバータ3は、モータ4の回生運転時に発生する交流電流を直流電流に変換して、バッテリ1に供給する。
電流センサ7は、モータ4に流れる3相交流電流iu、iv、iwを検出する。ただし、3相交流電流iu、iv、iwの和は0であるため、任意の2相の電流を検出して、残りの1相の電流は演算により求めてもよい。
回転センサ6は、例えば、レゾルバやエンコーダであり、モータ4の回転子位相αを検出する。
液圧センサ10は、摩擦ブレーキ12のブレーキ液圧を検出する。
ブレーキコントローラ11は、モータコントローラ2で生成された摩擦制動量指令値に応じたブレーキ液圧を発生させる。ブレーキコントローラ11はまた、液圧センサ10により検出されるブレーキ液圧が摩擦制動量指令値に応じて決まる値に追従するようにフィードバック制御を行う。
摩擦ブレーキ12は、摩擦制動部として機能する。具体的には、摩擦ブレーキ12は、左右の駆動輪9a、9bに設けられ、ブレーキ液圧に応じてブレーキパッドをブレーキロータに押しつけて、車両に制動力を発生させる。
また、本実施形態の制御装置が適用される電気自動車は、図示しないが、車体速度Vc(以下、車体速Vcという)を検出、もしくは推定する車体速取得手段を備えている。
図2は、モータコントローラ2によって行われるモータ電流制御の処理の流れを示すフローチャートである。
ステップS201では、車両状態を示す信号がモータコントローラ2に入力される。ここでは、車速V(m/s)、アクセル開度θ(%)、モータ4の回転子位相α(rad)、モータ4の回転速度Nm(rpm)、モータ4に流れる三相交流電流iu、iv、iw、バッテリ1とインバータ3間の直流電圧値Vdc(V)、車体速Vc[m/s]、及び、ブレーキ制動量Bが入力される。
車速V(m/s)は、制動力を伝達する車輪(制動輪)、或いは、車両駆動時において駆動力を伝達する車輪(駆動輪9a、9b)の車輪速である。車速Vは、図示しない車速センサや、他のコントローラより通信にて取得される。または、車速V(km/h)は、回転子機械角速度ωmにタイヤ動半径rを乗算し、ファイナルギアのギア比で除算することにより求められる。
アクセル開度θ(%)は、図示しないアクセル開度センサから取得されるか、図示しない車両コントローラ等の他のコントローラから通信にて取得される。
モータ4の回転子位相α(rad)は、回転センサ6から取得される。モータ4の回転速度Nm(rpm)は、回転子角速度ω(電気角)をモータ4の極対数pで除算して、モータ4の機械的な角速度であるモータ回転速度ωm(rad/s)を求め、求めたモータ回転速度ωmに60/(2π)を乗算することによって求められる。回転子角速度ωは、回転子位相αを微分することによって求められる。
モータ4に流れる電流iu、iv、iw(A)は、電流センサ7から取得される。
直流電圧値Vdc(V)は、バッテリ1とインバータ3間の直流電源ラインに設けられた電圧センサ(不図示)、または、バッテリコントローラ(不図示)から送信される電源電圧値から求められる。
車体速Vc[m/s]は、従動輪の車輪速を検出する車体速取得手段としての従動輪速センサ値から直接取得されるか、図示しない他のコントローラにおいて推定された車体速推定値が通信にて取得される。
ブレーキ制動量Bは、液圧センサ10が検出したブレーキ液圧センサ値から取得される。あるいは、モータコントローラ2で生成される摩擦制動量指令値をブレーキ制動量Bとする。
ステップS202のトルク目標値算出処理では、モータコントローラ2が第1のトルク目標値Tm1*を設定する。具体的には、ステップS201で入力されたアクセル開度θおよびモータ回転速度ωmに応じて算出される駆動力特性の一態様を表した図3に示す第1のアクセル開度−トルクテーブルを参照することにより、第1のトルク目標値Tm1*を設定する。
ただし、後述するステップS203のスリップ判断処理にて、車両がスリップ状態にあると判断された際は、モータコントローラ2は、図4に示す第2のアクセル開度−トルクテーブルを参照することにより、トルク目標値としての第4のトルク目標値Tm4*を設定する。なお、アクセル開度0[%]、かつ、モータ回転速度0[rpm]におけるトルク目標値[Nm]が正トルクとなる、いわゆるクリープトルクを出力する図5に示す第3のアクセル開度−トルクテーブルを参照することにより、第4のトルク目標値Tm4*を設定してもよい。
ステップS203のスリップ判断処理では、ステップS201で検出された車輪速相当の車速Vと車体速Vcに基づいて、タイヤのスリップ状態(スリップ量、スリップ率)を推定し、スリップ量或いはスリップ率が所定値以上であれば、車両がスリップ状態であると判断し、スリップ状態判断フラグflg_slipを1にセットする。
なお、車両がスリップ状態か否かの判断は、モータ回転速度や車速V[m/s]に対して微分処理を行い、微分処理によって得た値が所定値以上であれば、スリップ状態であると判断しても良い。また、外乱トルク推定値の過去値に基づいて外乱トルク推定値の変化率を算出し、算出した値が所定値以上であれば、スリップ状態であると判断しても良い。
そして、スリップ状態判断フラグflg_slipが1(スリップ状態)から0(グリップ状態)に戻った後、所定時間経過するまでの間、ステップS204の停止制御処理における種々の制御パラメータを、グリップ状態時に通常用いられる制御パラメータ(通常時の制御パラメータ)よりも、速応性を上げた停止制御開始時の制御パラメータに設定する。スリップ制御処理の詳細については後述する。
ステップS204では、コントローラ2が停止制御処理を行う。具体的には、コントローラ2が、停車間際か否かを判定し、停車間際でない場合は、ステップS202で算出した第1のトルク目標値Tm1*を第3のモータトルク指令値Tm3*に設定し、停車間際の場合は、第2のトルク目標値Tm2*を第3のモータトルク指令値Tm3*に設定する。この第2のトルク目標値Tm2*は、モータ回転速度の低下とともに外乱トルク指令値Tdに収束するものであって、登坂路では正トルク、降坂路では負トルク、平坦路では概ねゼロである。これにより、路面の勾配に関わらず、停車状態を維持することができる。
またさらに、第3のモータトルク指令値Tm3*は、上述のステップ203において判断されたスリップ状態判断フラグflg_slipに応じて、図6に示す通りに切り替えられて、最終トルク目標値としての第5のトルク目標値Tm5*に設定される。
図6は、スリップ判断処理におけるスリップ判断結果に基づいて実行されるトルク切替を説明するための図である。図に示す通り、第3のトルク目標値Tm3*は、flg_slip=0(グリップ状態)の時に、第5のトルク目標値Tm5*に設定される。flg_slip=1(スリップ状態)の時は、アクセル開度とモータ4の回転速度とに応じて算出される駆動力特性の一態様を表した第2、または、第3のアクセル開度−トルクテーブルを参照して算出される第4のトルク目標値Tm4*が、第5のトルク目標値Tm5*に設定される。停止制御処理の詳細については後述する。
ステップS205では、モータコントローラ2が制振制御処理を行う。具体的には、モータコントローラ2が、ステップS204で算出したモータトルク指令値Tm3*とモータ回転速度ωmとに対して制振制御処理を施す。これにより、算出されるモータトルク指令値Tm*は、駆動軸トルクの応答を犠牲にせずトルク伝達系振動(ドライブシャフトの捩じり振動等)を抑制するものとなる。制振制御処理の詳細については後述する。
続くステップS206では、コントローラ2が電流指令値算出処理を行う。具体的には、ステップS205で算出したモータトルク目標値Tm*に加え、モータ回転速度ωmや直流電圧値Vdcに基づいて、d軸電流目標値id*、q軸電流目標値iq*を求める。例えば、トルク指令値、モータ回転速度、および直流電圧値と、d軸電流目標値およびq軸電流目標値との関係を定めたテーブルを予め用意しておいて、このテーブルを参照することにより、d軸電流目標値id*およびq軸電流目標値iq*を求める。
ステップS207では、d軸電流idおよびq軸電流iqをそれぞれ、ステップS206で求めた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と、電動モータ4の回転子位相αから、三相交流電圧指令値vu、vv、vwを求める。求めた三相交流電圧指令値vu、vv、vwと電流電圧値Vdcから、PWM信号tu(%)、tv(%)、tw(%)を求める。このようにして求めたPWM信号tu、tv、twにより、インバータ3のスイッチング素子を開閉することによって、電動モータ4をトルク指令値Tm*で指示された所望のトルクで駆動することができる。
<スリップ判断処理>
ここで、本発明に特徴的な、前述のステップS203において実行されるスリップ判断処理の詳細について、図7に示すフローチャートを参照して説明する。
図7は、スリップ判断処理を表したフローチャートである。スリップ判断処理は、モータコントローラ2において一定のサイクルで常時実行され、車両の駆動輪9a、9bと路面がスリップ状態にあるか否かを判断する。スリップ状態にあると判断された場合は、停止制御処理において、図6を参照して先に述べたとおり、第4のトルク目標値Tm4*が第5のトルク目標値Tm5*に設定される。そして、前回処理時との比較において、車両状態がスリップ状態からグリップ状態に戻ったと判断された場合は、第3のトルク目標値Tm3*が第5のトルク目標値Tm5*に設定される。
以下に説明するスリップ判断処理では、図2のステップS204で実行される第3のトルク目標値Tm3*の算出に係る停止制御処理において用いられる種々の制御パラメータを、グリップ状態時に通常用いられる制御パラメータ(通常時の制御パラメータ)よりも速応性を上げた停止制御開始時の制御パラメータに所定時間T1の間設定する。以下、ステップS203において実行される、スリップ状態判断、および、スリップ状態からグリップ状態に戻った直後に設定される停止制御開始時の制御パラメータを所定時間T1の間継続させるための処理を、フローを元に説明する。
ステップS701では、モータコントローラ2は、モータ回転速度ωmを微分した値の絶対値、すなわち、モータ回転速度の前回値ωm_zとモータ回転速度の今回値ωmの差分の絶対値で表されるモータ回転加速度|dω/dt|を算出する。そして、モータ回転加速度|dω/dt|と、車両の駆動輪がスリップ状態にあると判断可能なモータ回転加速度slip1[rad/s^2]とを比較し、|dω/dt|<slip1が成立する場合は、車両はスリップ状態ではないと判断し、続くステップS702の処理を実行する。|dω/dt|≧slip1が成立する場合は、車両はスリップ状態であると判断して、ステップS706の処理が実行される。なお、車両の駆動輪がスリップ状態にあると判断可能なモータ回転加速度は、通常想定し得る車両の減速度や、路面の勾配変化に基づく変化量以上の値となる。
ステップS702では、モータコントローラ2は、車体速Vc[m/s]と車速V[m/s]との偏差に基づいて、駆動輪9a、9bのスリップ量Vslip[m/s]を算出する。そして、駆動輪9a、9bのスリップ量Vslip[m/s]と、車両の駆動輪がスリップ状態にあると判断可能なスリップ量slip2[m/s]とを比較する。Vslip<slip2が成立する場合は、車両はスリップ状態ではないと判断し、続くステップS703の処理を実行する。Vslip≧slip2が成立する場合は、車両はスリップ状態にあると判断して、ステップS706の処理が実行される。
ステップS703では、モータコントローラ2は、車体速Vc[m/s]と車速V[m/s]とに基づいて、駆動輪9a、9bのスリップ率slipを算出する。制動時のスリップ率slipは、車体速Vcから車速Vを減算した値に車体速Vcを除すことで算出される。すなわち、スリップ率slipは、slip=(Vc−V)/Vcで算出される。そして、駆動輪9a、9bのスリップ量slip[−]と、車両の駆動輪がスリップ状態にあると判断可能なスリップ率slip3[−]とを比較し、slip<slip3が成立する場合は、車両はスリップ状態ではないと判断し、続くステップS704の処理を実行する。slip≧slip3が成立する場合は、車両はスリップ状態であると判断して、ステップS706の処理が実行される。
ステップS704では、モータコントローラ2は、外乱トルク推定値[Nm]の過去値に基づいて、外乱トルク推定値の変化率|d(dist)/dt|[Nm/s]を算出する。そして、外乱トルク推定値の変化率|d(dist)/dt|と、車両の駆動輪がスリップ状態にあると判断可能な外乱トルク推定値の変化率slip4[Nm/s]とを比較し、|d(dist)/dt|<slip4が成立する場合は、車両はスリップ状態ではないと判断し、続くステップS705の処理を実行する。|d(dist)/dt|≧slip4が成立する場合は、車両はスリップ状態であると判断して、ステップS706の処理が実行される。なお、外乱トルク推定値には、ブレーキ制動量Bや回生トルクによる制動力を考慮して算出されるため、車両の駆動輪がスリップ状態にあると判断可能な外乱トルク推定値の変化率は、路面勾配の変化のみを考慮して設定することができる。
ステップS705では、モータコントローラ2は、ステップS701〜S704の処理によって、車両の駆動輪9a、9bはグリップ状態にあると判断されるため、スリップ状態判断フラグflg_slipを0に設定する。flg_slip=0(グリップ状態)に設定した後、続くステップS707の処理が実行される。
他方、ステップS706では、モータコントローラ2は、ステップS701〜S704の少なくとも1ステップに係る処理において車両がスリップ状態にあると判断されたため、スリップ状態判断フラグflg_slipを1に設定する。flg_slip=1(スリップ状態)に設定した後、続くステップS707の処理が実行される。
ステップS707では、モータコントローラ2は、スリップ状態判断フラグflg_slipが1(スリップ状態)から0(グリップ状態)に移行したか否かを判断する。スリップ状態判断フラグflg_slipが1から0に移行したと判断された場合は、続くステップS708の処理を実行する。スリップ状態判断フラグflg_slipが1から0に移行したと判断されない場合、すなわち、車両の駆動輪9a、9bが前回処理時から継続してスリップ状態、或いはグリップ状態にある場合、もしくは、車両の駆動輪9a、9bがグリップ状態からスリップ状態に移行したタイミングの場合は、ステップS709の処理が実行される。
ステップS708では、モータコントローラ2は、タイマ1に所定のタイマ時間T1を設定する。タイマ1は、後述するステップS712の処理において設定される停止制御開始時の制御パラメータから、通常時の制御パラメータに戻すタイミングを計るためのタイマである。タイマ1にタイマ時間T1が設定された後、タイマ1のカウントダウン処理を行うステップS711の処理が実行される。
ステップS709では、モータコントローラ2は、タイマ1のカウント値が0か否かを判断する。タイマ1が0の場合は、停止制御処理の制御パラメータを、停止制御開始時の制御パラメータから、通常時の制御パラメータに戻すタイミングであるため、続くステップS710の処理を実行する。タイマ1が0でない場合は、タイマ1のカウントダウン処理を行うステップS711の処理が実行される。
ステップS710では、モータコントローラ2は、停止制御処理に用いられる制御パラメータとして通常時の制御パラメータを設定し、本処理を終了する。
ステップS711では、モータコントローラ2は、タイマ1のカウント値から1を減算し、タイマ1に再び格納することで、演算周期毎にタイマ1をカウントダウンする処理を行う。タイマ1がカウントダウンされた後、続くステップS712の処理が実行される。
ステップS712では、モータコントローラ2は、停止制御処理に用いられる制御パラメータとして停止制御開始時のパラメータを設定し、本処理を終了する。停止制御開始時のパラメータとは、上述の通り通常時の制御パラメータよりも速応性を上げた制御パラメータであり、通常時の制御パラメータに対して以下3つの処理を行う事により設定される。
すなわち、(i)図12の乗算器601において、モータ回転速度フィードバックトルクTωを算出する際にモータ回転速度ωmに乗算されるゲインKvrefを、通常時よりも大きい値に設定する。(ii)外乱トルク推定器502が有する図13の制御ブロック805で示すHz(s)なる2次式の分子と2次式の分母とで構成されるフィルタ(式(13)参照)において、分母の減衰係数ζcを、通常時よりも小さい値に設定する。(iii)図13の制御ブロック802で示すローパスフィルタH(s)の時定数を、通常時よりも小さい値に設定する。これにより、速応性を上げた停止制御開始時のパラメータが設定される。
<車両モデルについて>
ここで、本実施形態における電動車両の制御装置の、モータトルクTmからモータ回転速度ωmまでの伝達特性Gp(s)について説明する。なお、この伝達特性Gp(s)が、外乱トルクの推定も含めた停止制御処理において用いられる車両モデルである。
図8は、車両の駆動力伝達系をモデル化した図であり、同図における各パラメータは、以下に示すとおりである。
Jm:電動モータのイナーシャ
Jw:駆動輪のイナーシャ
M:車両の重量
Kd:駆動系の捻り剛性
Kt:タイヤと路面の摩擦に関する係数
N:オーバーオールギヤ比
r:タイヤの荷重半径
ωm:モータ回転速度
Tm:トルク目標値Tm*
Td:駆動輪のトルク
F:車両に加えられる力
V:車両の速度
ωw:駆動輪の角速度
Tb:摩擦制動量(モータ軸換算トルク)(≧0)
そして、図8より、以下の運動方程式を導くことができる。
ただし、式(1)〜(3)中の符号の右上に付されているアスタリスク(*)は、時間微分を表している。また、式(2)中の±は、便宜上、登坂路および平坦路においては+、降坂路においては−を用いる。
式(1)〜(5)で示す運動方程式に基づいて、モータ4のトルク目標値Tmからモータ回転速度ωmまでの伝達特性Gp(s)を求めると、次式(6)で表される。
ただし、式(6)中の各パラメータは、次式(7)で表される。
式(6)に示す伝達関数の極と零点を調べると、次式(8)の伝達関数に近似することができ、1つの極と1つの零点は極めて近い値を示す。これは、次式(8)のαとβが極めて近い値を示すことに相当する。
従って、式(8)における極零相殺(α=βと近似する)を行うことにより、次式(9)に示すように、Gp(s)は、(2次)/(3次)の伝達特性を構成する。
また、ステップS205の制振制御(フィードフォワード補償器)を併用する際は、Gp(s)と制振制御のアルゴリズムにより、車両モデルGp(s)は、次式(10)で示すとおり、制振制御を適用した場合の車両応答Gr(s)と見なすことができる。
<制振制御処理>
ここで、図2のステップS204に係る停止制御処理の説明の前に、ステップS205で実行される制振制御処理について説明する。本ステップでは、最終トルク目標値としての第5のトルク目標値Tm5*に対して制振制御処理を行うことでモータトルク指令値Tm*を得る。以下、図9、図10を参照して具体的に説明する。
図9は、本実施形態において用いる制振制御処理のブロック図である。ここでは、ステップS204で算出された第5のトルク目標値Tm5*とモータ回転速度ωmとを制振制御ブロック901に入力し、駆動軸トルクの応答を犠牲にすることなくトルク伝達系振動(ドライブシャフトの捩じり振動等)を抑制するモータトルク指令値Tm*を算出する。以下、図10を参照して、制振制御ブロック901にて行う制振制御処理の一例を説明する。
図10は、本実施形態において用いる制振制御処理の詳細を説明するブロック図である。フィードフォワード補償器908(以下、F/F補償器という)は、上記式(10)で示した車両応答Gr(s)と、車両へのトルク入力とモータの回転速度の伝達特性のモデルGp(s)の逆系から構成されるGr(s)/Gp(s)なる伝達特性を有するフィルタとしての機能を担っており、第5のトルク目標値Tm5*に対してフィルタリング処理を行うことにより、フィードフォワード補償による制振制御処理を行う。
なお、F/F補償器908にて行う制振制御F/F補償は、特開2001−45613号公報に記載されている制振制御でもよいし、特開2002−152916号公報に記載されている制振制御でもよい。
制御ブロック903、904は、フィードバック制御(以下、フィードバックのことをF/Bという)にて用いられるフィルタである。制御ブロック903は上述したGp(s)なる伝達特性を有するフィルタであり、加算器905から出力される、F/F補償器908の出力と後述する制御ブロック904の出力とを加算して得た値に対してフィルタリング処理を行う。そして、減算器906において制御ブロック903から出力された値からモータ回転速度ωmが減算される。減算された値は制御ブロック904に入力される。制御ブロック904は、ローパスフィルタH(s)と、車両へのトルク入力とモータの回転速度の伝達特性のモデルGp(s)の逆系とから構成されるH(s)/Gp(s)なる伝達特性を有するフィルタであり、減算器906からの出力に対してフィルタリング処理を行う。当該フィルタリング処理が行われ、F/B補償トルクとして算出された値は、ゲイン補償器907に出力される。
ゲイン補償器907は、ゲインKFBを有するフィルタであり、ゲインKFBの値を調整することで、制振制御処理において用いるF/B補償器の安定性を調整することができる。ゲイン補償器907によってゲイン調整されたF/B補償トルクTF/Bは、加算器905へ出力される。
そして、加算器905において、F/F補償器908による制振制御処理がなされた第3のトルク目標値Tm3*と、前述のF/B補償トルクとして算出した値TF/Bとが加算されることで、車両のトルク伝達系の振動を抑制するモータトルク指令値Tm*が算出される。
なお、制振制御ブロック901にて行う制振制御は、特開2010−288332号公報に記載されている制振制御でもよい。
<停止制御処理>
次に、図2のフローチャートのステップS204で行われる停止制御処理の詳細について説明する。
図11は、停止制御処理を実現するためのブロック図である。停止制御処理は、モータ回転速度F/Bトルク設定器501と、外乱トルク推定器502と、加算器503と、トルク比較器504とを用いて行われる。以下、それぞれの構成について詳細を説明する。
モータ回転速度F/Bトルク設定器501は、検出されたモータ回転速度ωmに基づいて、モータ回転速度フィードバックトルク(以下、モータ回転速度F/Bトルクと呼ぶ)Tωを算出する。詳細は図12を用いて説明する。
図12は、モータ回転速度ωmに基づいて、モータ回転速度F/BトルクTωを算出する方法を説明するための図である。モータ回転速度F/Bトルク設定器501は、乗算器601を備え、モータ回転速度ωmにゲインKvrefを乗算することにより、モータ回転速度F/BトルクTωを算出する。ただし、Kvrefは、電動車両の停止間際に電動車両を停止させるのに必要な負(マイナス)の値であり、例えば、実験データ等により適宜設定される。モータ回転速度F/BトルクTωは、モータ回転速度ωmが大きいほど、大きい制動力が得られるトルクとして設定される。
なお、モータ回転速度F/Bトルク設定器501は、モータ回転速度ωmにゲインKvrefを乗算することにより、モータ回転速度F/BトルクTωを算出するものとして説明したが、モータ回転速度ωmに対する回生トルクを定めた回生トルクテーブルや、モータ回転速度ωmの減衰率を予め記憶した減衰率テーブル等を用いて、モータ回転速度F/BトルクTωを算出してもよい。
図11の外乱トルク推定器502は、検出されたモータ回転速度ωmと、第3のトルク目標値Tm3*とに基づいて、外乱トルク推定値Tdを算出する。詳細は図13を用いて説明する。
図13は、モータ回転速度ωmと、第3のトルク目標値Tm3*と、摩擦ブレーキ制動量Bおよび車速Vに基づいて算出されるブレーキトルク推定値とに基づいて、外乱トルク推定値Tdを算出する方法を説明するためのブロック図である。外乱トルク推定器502は、制御ブロック801と、制御ブロック802と、ブレーキトルク推定器803と、減算器804と、制御ブロック805とを備える。
制御ブロック801は、H(s)/Gr(s)なる伝達特性を有するフィルタとしての機能を担っており、モータ回転速度ωmに対してフィルタリング処理を施すことにより、第1のモータトルク推定値を算出する。H(s)は、分母次数と分子次数との差分が、制振制御を適用した場合のモータトルクTmとモータ回転速度ωmとの伝達特性Gr(s)(式(10)参照)の分母次数と分子次数との差分以上となる伝達特性を有するローパスフィルタである。
制御ブロック802は、H(s)なる伝達特性を有するローパスフィルタとしての機能を担っており、第3のトルク目標値Tm3*に対してフィルタリング処理を行うことにより、第2のモータトルク推定値を算出する。
ブレーキトルク推定器803は、摩擦ブレーキ制動量Bと、車速Vとに基づいて、ブレーキトルク推定値を算出する。ブレーキトルク推定器803では、摩擦ブレーキ制動量Bに基づいてブレーキトルクを推定しモータ軸のトルク換算を行うための乗算処理や、液圧センサ10により検出された液圧センサ値から実制動力の応答性等を考慮してブレーキトルク推定値が算出される。
減算器804は、第2のモータトルク推定値から第1のモータトルク推定値とブレーキトルク推定値とを減算することにより、外乱トルク推定値Tdを算出する。
そして、制御ブロック805は、Hz(s)なる伝達特性を有するフィルタであり、減算器804の出力に対してフィルタリング処理を行う事により、外乱トルク推定値Tdを算出する。
ここで、伝達特性Hz(s)について説明する。上記式(10)を書き換えると、次式(11)が得られる。ただし、式(11)中のζz、ωz、ωpはそれぞれ、式(12)で表される。
以上より、Hz(s)を次式(13)で表すことができる。
上記の通り算出される外乱トルク推定値Tdは、図13に示す通り、外乱オブザーバにより推定されるものであって、車両に作用する外乱を表すパラメータである。
ここで、車両に作用する外乱としては、空気抵抗、乗員数や積載量に起因する車両質量の変動によるモデル化誤差、タイヤの転がり抵抗、路面の勾配抵抗等が考えられるが、停車間際やイニシャルスタート時に支配的となる外乱要因は勾配抵抗である。外乱要因は運転条件により異なるが、外乱トルク推定器502は、モータトルク指令値Tm*と、モータ回転速度ωmと、制振制御を適用した場合の車両モデルGr(s)とに基づいて、外乱トルク推定値Tdを算出するので、上述した外乱要因を一括して推定することができる。これにより、いかなる運転条件においても、減速からの滑らかな停車を実現することができる。
図11に戻って説明を続ける。加算器503は、モータ回転速度F/Bトルク設定器501によって算出されたモータ回転速度F/BトルクTωと、外乱トルク推定器502によって算出された外乱トルク推定値Tdとを加算することによって、第2のトルク目標値Tm2*を算出する。モータ回転速度ωmが低下して0に近づくと、モータ回転速度F/BトルクTωも0に近づくため、第2のトルク目標値Tm2*は、モータ回転速度ωmの低下に応じて、外乱トルク推定値Tdに収束していく。
トルク比較器504は、第1のトルク目標値Tm1*と第2のトルク目標値Tm2*の大きさを比較し、値が大きい方のトルク目標値を第3のトルク目標値Tm3*に設定する。車両の走行中、第2のトルク目標値Tm2*は第1のトルク目標値Tm1*よりも小さく、車両が減速して停車間際(車速が所定車速以下)になると、第1のトルク目標値Tm1*よりも大きくなる。従って、トルク比較器504は、第1のトルク目標値Tm1*が第2のトルク目標値Tm2*より大きければ、停車間際以前と判断して、第1のトルク目標値Tm1*を第3のトルク目標値Tm3*として設定する。また、トルク比較器504は、第2のトルク目標値Tm2*が第1のトルク目標値Tm1*より大きくなると、車両が停車間際と判断して、第3のトルク目標値Tm3*を第1のトルク目標値Tm1*から第2のトルク目標値Tm2*に切り替える。なお、停車状態を維持するため、第2のトルク目標値Tm2*は、登坂路では正トルク、降坂路では負トルク、平坦路では概ねゼロに収束する。
そして、図6を参照して上述した通り、スリップ判断処理において、スリップ状態判断フラグflg_slipが0(グリップ状態)に設定されている場合に、第3のトルク目標値Tm3*が、最終トルク目標値としての第5のトルク目標値Tm5*に設定される。
以上が停止制御処理の詳細である。このような処理を行うことにより、車両が走行している路面の勾配に関わらず、モータトルクのみで滑らかに停車し、停車状態を保持することができる。
以下では、車両が平坦路を走行中に、モータ4の回生トルク指令で制動している場面において、本実施形態における電動車両の制御装置を電気自動車に適用した場合の制御結果について、従来例との比較に基づき説明する。
図14(a)は、従来例による制御結果のタイムチャートを示し、図14(b)は、本実施形態による制御結果のタイムチャートを示す。図14は、上から順に、トルク指令値、車速、スリップ率、前後加速度、および、外乱トルク推定値を表している。また、トルク指令値を表す図中における点線はスリップ状態判断フラグflg_slipを示す(0:グリップ状態、1:スリップ状態)。車速Vを示す図中における点線は、車体速Vcを示す。
また横軸に示す時間軸において、路面状態は以下の通り変化する。すなわち、時刻t0〜t1は、通常のアスファルト路面等の高μ路、時刻t1〜t3は、氷結路面等の低μ路、時刻t3〜t6は、高μ路である。
まず、従来例にかかる制御結果について図14(a)を参照して説明する。
時刻t0では、回生トルク指令にて制動している状態であり、外乱トルク推定値は平坦路相当の値を推定している。
時刻t1〜t3では、車両の走行路面が低μ路となり、車両がスリップ状態となるため車速が急峻にゼロに近づくロック傾向になる。そのため、車両の走行路面が登坂傾向にあると誤推定され、外乱トルク推定値が増加する。その後、スリップ状態からグリップ状態に戻るとともに、車速が急峻に増加することで、車両の走行路面が降坂傾向にあると誤推定され、外乱トルク推定値が低下する。このように、車両モデルと実際の車両の挙動とが乖離した状態で外乱トルク推定値が推定されることで、外乱トルク推定値が上下し振動的になる。これにより、外乱トルク推定値に基づいて算出されるトルク指令値(モータトルク)も振動する。その結果、前後加速度が前後に揺すられるため、ドライバに不快な振動を与えてしまう。
次に、本実施形態にかかる制御結果について図14(b)を参照して説明する。
時刻t0では、回生トルク指令にて制動している状態であり、外乱トルク推定値は平坦路相当の値を推定している。
時刻t1〜t3では、車両の走行路面が低μ路となり、車速が急峻にゼロに近づくロック傾向になる。そのため、車両がスリップ状態にあると判断され、スリップ状態判断フラグflg_slipが1に設定されるとともに、停止制御処理において算出される第3のトルク目標値Tm3*から、図4、図5で示した第2あるいは第3のアクセル開度−トルクテーブルを参照して算出される第4のトルク目標値Tm4*へ切り替える。その結果、停止制御を中止して、停止間際にモータトルクを外乱トルク推定値に収束させない制御に切り替えるので、ドライバのアクセル操作に応じて算出される第4のトルク目標値Tm4*に基づいて車両が操作され、スリップが収束傾向となるため、従来例では発生していた外乱トルク推定値の振動を抑止することができるので、前後加速度の振動をなくすことができる。
時刻t3〜t5では、路面状態が、低μ路から高μ路に戻り、スリップ状態判断フラグflg_slipが0に設定される。その後、所定のT1時間の間、図7のステップS711において設定された速応性を上げた停止制御開始時の速度パラメータによる停止制御によって、モータトルクが外乱トルク推定値に収束されるとともに、車両が減速していく。
そして、T1時間経過後のt5〜t6において、通常時の制御パラメータが設定された停止制御によって車両が停止される。
次に、車両が平坦路を走行中に、モータ4の回生トルク指令に加えて、ドライバによる摩擦ブレーキ制動を行って制動している場面において、本実施形態における電動車両の制御装置を電気自動車に適用した場合の制御結果について、従来例との比較に基づき説明する。
図15(a)は、従来例による制御結果のタイムチャートを示し、図15(b)は、本実施形態による制御結果のタイムチャートを示す。図15は、上から順に、トルク指令値、車速V、スリップ率、前後加速度、外乱トルク推定値、および、摩擦ブレーキ制動量Bを表している。また、トルク指令値を表す図中における点線はスリップ状態判断フラグflg_slipを示す(0:グリップ状態、1:スリップ状態)。車速Vを示す図中における点線は、車体速Vcを示す。
また横軸に示す時間軸において、路面状態は以下の通り変化する。すなわち、時刻t0〜t2は、通常のアスファルト路面等の高μ路、時刻t2〜t4は、氷結路面等の低μ路、時刻t4〜t6は、高μ路である。
まず、従来例にかかる制御結果について図15(a)を参照して説明する。
時刻t0では、回生トルク指令にて制動している状態であり、外乱トルク推定値は平坦路相当の値を推定している。
時刻t1では、回生制動に摩擦ブレーキ制動量Bを上乗せして制動することで前後加速度がより負側、すなわち制動側に増加する。なお、外乱トルク推定値は、ブレーキトルク推定値を補正することで、実際の路面状況に即した平坦路相当になっている。
時刻t2〜t4では、車両の走行路面が低μ路となり、車両がスリップ状態となるため車速が急峻にゼロに近づくロック傾向になり、その後、スリップ状態からグリップ状態に戻り、車速が急峻に増加することで、外乱トルク推定値が上下し振動的になる。そのため、外乱トルク推定値に基づいて算出されるトルク指令値(モータトルク)も振動している。その結果、前後加速度が前後に揺すられるため、ドライバに不快な振動を与えてしまう。
次に、本実施形態にかかる制御結果について図15(b)を参照して説明する。
時刻t0では、回生トルク指令にて制動している状態であり、外乱トルク推定値は平坦路相当の値を推定している。
時刻t1では、回生制動に加えて摩擦ブレーキ制動量Bが立ち上がることで前後加速度が制動側に増加するが、摩擦ブレーキ制動量Bに基づいてブレーキトルク推定値を補正することで、外乱トルク推定値は平坦路相当になっている。
時刻t2〜t4では、車両の走行路面が低μ路となり、車速が急峻にゼロに近づくロック傾向になる。そのため、車両がスリップ状態にあると判断され、スリップ状態判断フラグflg_slipが1に設定されるとともに、停止制御処理において算出される第3のトルク目標値Tm3*から、第2あるいは第3のアクセル開度−トルクテーブルを参照して算出される第4のトルク目標値Tm4*へ切り替える。その結果、ドライバのアクセル操作に基づいて車両が操作され、スリップが収束傾向となるため、従来例では発生していたモータトルク、モータ回転速度、車速V、外乱トルク推定値、および、前後加速度の振動を抑止することができる。
時刻t4〜t5では、路面状態が、低μ路から高μ路に戻り、スリップ状態判断フラグflg_slipが0に設定される。その後、所定のT1時間の間、図7のステップS711において設定された速応性を上げた停止制御開始時の速度パラメータによる停止制御によって、モータトルクが外乱トルク推定値に収束されるとともに、車両が減速していく。
そして、T1時間経過後の時刻t6において、通常時の制御パラメータが設定された停止制御によって車両が停止される。
以上、一実施形態に電動車両の制御装置には、ドライバのアクセル操作に応じて、駆動トルクもしくは回生トルクを発生させるモータを備えた電動車両の制御方法であって、モータ4の回転速度を検出し、モータ4に作用する外乱トルクを推定する。そして、電動車両が停車間際になると、モータ4に対するトルク目標値からモータの回転速度までの伝達特性をモデル化した車両モデルに基づいて、モータの回転速度の低下とともに、モータトルクが外乱トルクの推定値に収束するように制御する停止時のトルク制御を実行する。そして、実際の車両応答に対して前記車両モデルが成立しているか否かを判断し、停車間際以降において、車両モデルが成立しない場合は、停止時のトルク制御を中止するとともに、アクセル開度とモータの回転速度とに応じて算出される駆動力特性に基づくトルク制御を実行する。
これにより、停止制御処理において用いられる車両モデルが成立しない場合は、停止制御を中止して、停止間際にモータトルクを外乱トルク推定値に収束させない制御に切り替わるので、停止制御の影響により車両が前後に揺れることを抑止することができる。つまり、車両モデルが成立しない場合にアクセル開度とモータ回転速度より算出される駆動力特性に基づく制御とすることで、ドライバの意図に応じた制動力のコントロールが可能となるため、モータトルク、モータ回転速度、外乱トルク推定値の振動が抑止され、ドライバが感じる不快な振動を抑止することができる。
また、一実施形態の電動車両の制御装置によれば、車両がスリップしていると推定した場合は、車両モデルが成立しないと判断する。車両がスリップ状態となった場合に、停止制御の影響により車両が前後に揺れることを抑止することができる。
また、一実施形態の電動車両の制御装置は、車体速度と駆動輪速とに基づいて推定されるスリップ率、または、スリップ量が所定値以上の場合に、車両がスリップ状態にあると推定する。これにより、車体速Vcと車速Vcによって、駆動輪9a、9bと路面とのスリップ状態を判断することができる。
また、一実施形態の電動車両の制御装置は、モータの回転速度の変化率が所定値以上の場合に、車両がスリップ状態にあると推定する。これにより、新規にセンサを追加することなく、モータ回転速度によってスリップ状態を判断することができる。
また、一実施形態の電動車両の制御装置は、外乱トルクの推定値の変化率が所定値以上の場合に、車両がスリップ状態にあると推定する。これにより、新規にセンサを追加することなく、外乱トルク推定値の変化率によってスリップ状態を判断することができる。
また、一実施形態の電動車両の制御装置は、車両モデルが成立していないと判断された後、車両モデルが成立していると判断された場合には、車両モデルが成立していると判断されてから所定時間経過するまでの間、停止時のトルク制御にかかる制御パラメータの速応性を上げるとともに、駆動力特性に基づくトルク制御を中止して、当該停止時のトルク制御を実行する。これにより、車両がグリップ状態に戻った際に、外乱トルク推定値を勾配外乱へと速やかに一致させることができる。また、車両がグリップ状態に戻り停止制御が再開された時の路面状況が登坂路であっても、車両の後退が抑止され、速やかに停車することができる。
本発明は、上述した一実施の形態に限定されることはない。例えば、図7を参照して説明したスリップ判断処理に係るフローでは、ステップS701〜ステップS704の全ての処理を順次実行していたが、必ずしも全てを実行する必要はなく、いずれか一つの処理を実行することで車両がスリップ状態にあるか否かを判断してもよい。