(第1実施形態)
図1は、第1実施形態における電動車両の制御装置を備えた電気自動車の主要構成を示すブロック図である。第1実施形態の電動車両の制御装置は、電動モータにより駆動する電動車両に適用可能である。電動車両には、電動モータのみを駆動源とする電気自動車だけでなく、電動モータとエンジンとを駆動源とするハイブリッド自動車も含まれる。特に、本実施形態における電動車両の制御装置は、アクセルペダルの操作のみで加減速や停止を制御することができる車両に適用することができる。この車両を運転するドライバは、加速時にアクセル開度を増やし、減速時や停止時にアクセル開度を減らすか、または、アクセル開度をゼロとする。ただし、登坂路においては、車両の後退を防ぐためにアクセル開度を増やしつつ停止状態に近づく場合もある。
モータコントローラ2(以下、単にコントローラ2という)には、イグニッションスイッチ信号、車速V、アクセル開度AP、電動モータ(三相交流モータ)4の回転子位相α、および、電動モータ4の電流iu、iv、iw等の車両状態を示す信号が入力される。コントローラ2は、入力された信号に基づいて、電動モータ4を制御するためのPWM信号を生成する。また、コントローラ2は、生成したPWM信号により、インバータ3のスイッチング素子を開閉制御する。また、コントローラ2は、バッテリ1からインバータ3やモータ4に供給される直流電流を、イグニッション信号がONであれば通電させ、イグニッション信号がOFFであれば遮断させる機能を有する。
コントローラ2は、後述する発進条件が成立したか否かを判定する発進判定手段と、後述する外乱トルクを推定する外乱トルク推定手段と、モータトルク(駆動トルク)が外乱トルク推定値に収束するように制御するトルク制御手段と、車両に作用する外乱に対する駆動トルクの応答性を制御する応答性制御手段としての機能を有する。また、コントローラ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の回転子位相αを検出する。
図2は、コントローラ2によって行われるモータ電流制御の処理の流れを示すフローチャートである。このモータ電流制御の処理は、車両システムが起動している間、一定の間隔で常時実行される。
ステップS201では、車両状態を示す信号がコントローラ2に入力される。ここでは、車速V(km/h)、アクセル開度AP(%)、電動モータ4の回転子位相α(rad)、電動モータ4の回転速度Nm(rpm)、電動モータ4に流れる三相交流電流iu、iv、iw、バッテリ1の直流電圧値Vdc(V)、イグニッションスイッチ信号が入力される。また、1サイクル前の電流制御の処理において算出された第1のトルク目標値Tm1*、および、第2のトルク目標値Tm2*が、第1のトルク目標値Tm1の過去値Tm1_z、および、第2のトルク目標値Tm2の過去値Tm2_zとして入力される。
車速V(km/h)は、図示しない車速センサや、他のコントローラより通信にて取得される。または、コントローラ2は、回転子機械角速度ωmにタイヤ動半径Rを乗算し、ファイナルギアのギア比で除算することにより車速v(m/s)を求め、3600/1000を乗算することにより単位変換して、車速V(km/h)を求める。
コントローラ2は、アクセル開度AP(%)を、アクセル開度センサ11(アクセル開度検出手段)から取得する。なお、アクセル開度AP(%)は、図示しない車両コントローラ等の他のコントローラから通信にて取得してもよい。
電動モータ4の回転子位相α(rad)は、回転センサ6から取得される。電動モータ4の回転速度Nm(rpm)は、回転子角速度ω(電気角)を電動モータ4の極対数pで除算して、電動モータ4の機械的な角速度であるモータ回転速度ωm(rad/s)を求め、求めたモータ回転速度ωmに60/(2π)を乗算することによって求められる。回転子角速度ωは、回転子位相αを微分することによって求められる。なお、回転センサ6は、速度パラメータ検出手段としての機能を有する。
電動モータ4に流れる電流iu、iv、iw(A)は、電流センサ7から取得する。
直流電圧値Vdc(V)は、バッテリ1とインバータ3間の直流電源ラインに設けられた電圧センサ(不図示)により取得する。なお、直流電圧値Vdc(V)は、バッテリコントローラ(不図示)から送信される信号により検出してもよい。
コントローラ2は、イグニッションスイッチ10からイグニッションスイッチ信号を直接取得する。なお、イグニッションスイッチ信号は、図示しない車両コントローラ等の他のコントローラから通信にて取得してもよい。
ステップS202では、コントローラ2が第1のトルク目標値Tm1*を設定する。具体的には、ステップS201で入力されたアクセル開度APおよびモータ回転速度ωmに基づいて、図3に示すアクセル開度−トルクテーブルを参照することにより、第1のトルク目標値Tm1*を設定する。上述したように、本実施形態における電動車両の制御装置は、アクセルペダルの操作のみで加減速や停止を制御することができる車両に適用可能であり、アクセル開度が小さい場合に、減速、もしくは停止を実現する。そのために、図3に示すアクセル開度−トルクテーブルでは、アクセル開度が0(全閉)の時のモータ回生量が大きくなり、アクセル開度が少ないほどモータ回生量が大きくなるように、モータトルクが設定される。してみれば、このアクセル開度−トルクテーブルでは、モータ回転速度ωmが正で、かつ、アクセル開度が0(全閉)の場合に、回生制動力が働くように負のモータトルクが設定されている。ただし、アクセル開度−トルクテーブルは、図3に示すものに限定されない。
ステップS203では、コントローラ2がイニシャルスタート処理を行う。具体的には、車両のイニシャルスタート時であるか否かを判定し、イニシャルスタート時であれば、モータトルク制御に関する種々の制御パラメータをイニシャルスタート時の制御パラメータに変更する。なお、ここでの制御パラメータは、車両が勾配に依らずモータトルクのみで滑らかに停車し、かつ、モータトルクの制御系における停車状態を保持するための種々の設定値のことをいう。
ここで、イニシャルスタート時とは、コントローラ2によって発進操作が行われたと判定された時をいう。本実施形態では、ステップS201において取得したイグニッションスイッチ信号がOFF状態からON状態に移行した場合に、発進操作が行われたと判定する。
なお、当該発進判定は、ステップS201において取得したイグニッションスイッチ信号がOFF状態からON状態に移行した場合に加えて、パーキングブレーキが解除された場合、或いは、パーキングシフトからシフトポジションが移行された場合に、発進操作が行われたと判定しても良い。また、当該発進判定は、イグニッションスイッチ信号がOFF状態からON状態に移行したか否かは検知せず、パーキングブレーキが解除された場合か、パーキングシフトからシフトポジションが移行された場合の少なくともいずれか一方が検知された場合に、発進操作が行われたと判定しても良い。
設定されるイニシャルスタート時の制御パラメータは、坂路におけるイニシャルスタート時に生じ得る車両のずり下がりいわゆるロールバックの距離を最小限に抑制するために、停車間際に実行される停止制御処理に係る制御パラメータと比べて、外乱に対するモータトルクの応答性が高くなるように設定される。なお、設定されたイニシャルスタート時の制御パラメータは、所定条件成立後に通常走行時の制御パラメータに戻される。
ステップS204では、コントローラ2が停止制御処理を行う。具体的には、コントローラ2が、停車間際か否かを判定し、停車間際でない場合は、ステップS202で算出した第1のトルク目標値Tm1*を第3のモータトルク指令値Tm3*に設定し、停車間際の場合は、第2のトルク目標値Tm2*を第3のモータトルク指令値Tm3*に設定する。この第2のトルク目標値Tm2*は、モータ回転速度の低下とともに外乱トルク指令値Tdに収束するものであって、登坂路では正トルク、降坂路では負トルク、平坦路では概ねゼロである。これにより、路面の勾配に関わらず、停車状態を維持することができる。停止制御処理の詳細については、後述する。
ステップ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*で指示された所望のトルクで駆動することができる。
ここで、本発明のポイントであるイニシャルスタート処理の詳細を説明する前に、本実施形態における電動車両の制御装置において、トルク目標値Tmからモータ回転速度ωmまでの伝達特性Gp(s)について説明し、続けて、上述した停止制御処理および制振制御処理の詳細について説明する。
<伝達特性Gp(s)について>
図4は、車両の駆動力伝達系をモデル化した図であり、同図における各パラメータは、以下に示すとおりである。
Jm:電動モータのイナーシャ
Jw:駆動輪のイナーシャ
M:車両の質量
KD:駆動系の捻り剛性
N:オーバーオールギヤ比
r:タイヤの過重半径
ωm:電動モータの回転速度
Tm:トルク目標値
TD:駆動輪のトルク
F:車両に加えられる力
V:車両の速度
ωw:駆動輪の回転速度
そして、図4より、以下の運動方程式を導くことができる。ただし、次式(1)〜(3)中の符号の右上に付されているアスタリスク(
*)は、時間微分を表している。
ただし、式(5)中のKtは、タイヤと路面の摩擦に関する係数を表す。
式(1)〜(5)で示す運動方程式に基づいて、電動モータ4のトルク目標値Tmからモータ回転速度ωmまでの伝達特性Gp(s)を求めると、次式(6)で表される。
ただし、式(6)中の各パラメータは、次式(7)で表される。
式(6)に示す伝達関数の極と零点を調べると、次式(8)の伝達関数に近似することができ、1つの極と1つの零点は極めて近い値を示す。これは、次式(8)のαとβが極めて近い値を示すことに相当する。
従って、式(8)における極零相殺(α=βと近似する)を行うことにより、次式(9)に示すように、Gp(s)は、(2次)/(3次)の伝達特性を構成する。
以上のとおり、車両のトルク伝達系においてのトルク目標値Tmからモータ回転速度ωmまでの伝達特性Gp(s)が求められる。
<停止制御処理>
続いて、図2のステップS204で行われる停止制御処理の詳細について、図5〜図7を参照して説明する。図5は、停止制御処理を実現するためのブロック図である。
モータ回転速度F/Bトルク設定器501は、検出されたモータ回転速度ωmに基づいて、電動車両を電動モータ4の回生制動力によって停止させるためのモータ回転速度フィードバックトルクTω(以下、モータ回転速度F/BトルクTωと呼ぶ)を算出する。
図6は、モータ回転速度ωmに基づいて、モータ回転速度F/BトルクTωを算出する方法を説明するための図である。モータ回転速度F/Bトルク設定器501は、乗算器601を備え、モータ回転速度ωmにゲインKvrefを乗算することにより、モータ回転速度F/BトルクTωを算出する。ただし、ゲインKvrefは、電動車両の停止間際に電動車両を停止させるのに必要な負(マイナス)の値であり、例えば、実験データ等により適宜設定される。
なお、モータ回転速度F/Bトルク設定器501は、モータ回転速度ωmにゲインKvrefを乗算することにより、モータ回転速度F/BトルクTωを算出するものとして説明したが、モータ回転速度ωmに対する回生トルクを定めた回生トルクテーブルや、モータ回転速度ωmの減衰率を予め記憶した減衰率テーブルを用いて、モータ回転速度F/BトルクTωを算出してもよい。
図5に示す外乱トルク推定器502は、検出されたモータ回転速度ωmと、第3のトルク目標値Tm3*に基づいて、外乱トルク推定値Tdを算出する。
図7は、モータ回転速度ωmと、第3のトルク目標値Tm3*に基づいて、外乱トルク推定値Tdを算出する方法を説明するための図である。
制御ブロック701は、H(s)/Gp(s)なる伝達特性を有するフィルタとしての機能を担っており、モータ回転速度ωmに対してフィルタリング処理を行う事により、第1のモータトルク推定値を算出する。Gp(s)は、車両へのトルク入力とモータの回転速度の伝達特性のモデルであり、上記式(9)で表される。H(s)は、分母次数と分子次数との差分が、モデルGp(s)の分母次数と分子次数との差分以上となる伝達特性を有するローパスフィルタである。
制御ブロック702は、所定の時定数に設定されたH(s)なる伝達特性を有するローパスフィルタとしての機能を担っており、第3のトルク目標値Tm3*に対してフィルタリング処理を行うことにより、第2のモータトルク推定値を算出する。
減算器703は、制御ブロック702で算出した第2のモータトルク推定値から、制御ブロック701で算出した第1のモータトルク推定値を減算する。
制御ブロック704は、Hz(s)なる伝達特性を有するフィルタであり、減算器703の出力に対してフィルタリング処理を行う事により、外乱トルク推定値Tdを算出する。
ここで、伝達特性Hz(s)について説明する。上記式(9)を書き換えると、次式(10)が得られる。ただし、式(10)中のζz、ωz、ζp、ωpはそれぞれ、式(11)で表される。
以上より、Hz(s)を次式(12)で表すことができる。
上記の通り算出される外乱トルク推定値Tdは、図7に示す通り、外乱オブザーバにより推定されるものであって、車両に作用する外乱を表すパラメータである。
ここで、車両に作用する外乱としては、空気抵抗、乗員数や積載量に起因する車両質量の変動によるモデル化誤差、タイヤの転がり抵抗、路面の勾配抵抗等が考えられるが、停車間際やイニシャルスタート時に支配的となる外乱要因は勾配抵抗である。外乱要因は運転条件により異なるが、外乱トルク推定器502は、モータトルク指令値Tm*と、モータ回転速度ωmと、車両モデルGp(s)とに基づいて、外乱トルク推定値Tdを算出するので、上述した外乱要因を一括して推定することができる。これにより、いかなる運転条件においても、減速からの滑らかな停車を実現することができる。
図5に戻って説明を続ける。加算器503は、モータ回転速度F/Bトルク設定器501によって算出されたモータ回転速度F/BトルクTωと、外乱トルク推定器502によって算出された外乱トルク推定値Tdとを加算することによって、第2のトルク目標値Tm2*を算出する。
トルク比較器504は、第1のトルク目標値Tm1*と第2のトルク目標値Tm2*との大きさを比較し、値が大きい方のトルク目標値を第3のトルク目標値Tm3*に設定する。車両の走行中においては、第2のトルク目標値Tm2*が第1のトルク目標値Tm1*よりも小さくなるが、車両が減速して停車間際(車速が所定車速以下)に外乱が大きくなる場合は、第2のトルク目標値Tm2*が第1のトルク目標値Tm1*よりも大きくなる。従って、トルク比較器504は、第1のトルク目標値Tm1*が第2のトルク目標値Tm2*より大きければ、停車間際でないと判定し、第3のトルク目標値Tm3*を第1のトルク目標値Tm1*に設定する。また、トルク比較器504は、第2のトルク目標値Tm2*が第1のトルク目標値Tm1*より大きい場合、車両が停車間際であると判定し、第3のトルク目標値Tm*を第2のトルク目標値Tm2*に設定する。なお、停車状態を維持するため、第2のトルク目標値Tm2*は、登坂路では正トルク、降坂路では負トルク、平坦路では概ねゼロに収束する。
<制振制御処理>
次に、図2のステップS205に係る制振制御処理について説明する。本ステップでは、ステップS204で算出した第3のトルク目標値Tm3*に対して制振制御処理を行うことでモータトルク指令値Tm*を得る。以下、図8、図9を参照して具体的に説明する。
図8は、本実施形態において用いる制振制御処理のブロック図である。ここでは、ステップS204で算出したモータトルク指令値Tm3*とモータ回転速度ωmとを制振制御ブロック801に入力し、駆動軸トルクの応答を犠牲にすることなくトルク伝達系振動(ドライブシャフトの捩じり振動等)を抑制するモータトルク指令値Tm*を算出する。以下、図9を参照して、制振制御ブロック801にて行う制振制御処理の一例を説明する。
図9は、本実施形態において用いる制振制御処理の詳細を説明するブロック図である。フィードフォワード補償器901(以下、F/F補償器という)は、伝達特性Gr(s)と、車両へのトルク入力とモータの回転速度の伝達特性のモデルGp(s)の逆系から構成されるGr(s)/Gp(s)なる伝達特性を有するフィルタとしての機能を担っており、第3のトルク目標値Tm3
*に対してフィルタリング処理を行うことにより、フィードフォワード補償による制振制御処理を行う。使用する伝達特性Gr(s)は、次(13)式で表すことができる。
なお、F/F補償器901にて行う制振制御F/F補償は、特開2001−45613号公報に記載されている制振制御でもよいし、特開2002−152916号公報に記載されている制振制御でもよい。
制御ブロック903、904は、フィードバック制御(以下、フィードバックのことをF/Bという)にて用いられるフィルタである。制御ブロック903は上述したGp(s)なる伝達特性を有するフィルタであり、加算器905から出力される、F/F補償器901の出力と後述する制御ブロック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補償器901による制振制御処理がなされた第3のトルク目標値Tm3*と、前述のF/B補償トルクとして算出した値TF/Bとが加算されることで、車両のトルク伝達系の振動を抑制するモータトルク指令値Tm*が算出される。
なお、制振制御ブロック801にて行う制振制御は、特開2003−9566号公報に記載されている制振制御でもよいし、特開2010−288332号公報に記載されている制振制御でもよい。
以上が、停車間際時も含む通常走行時のモータトルク制御の詳細である。これを前提として、以下、イニシャルスタート処理の詳細について説明する。
ここで、イニシャルスタート処理の目的について説明する。上述したとおり、以下に説明するイニシャルスタート処理は、イニシャルスタート時における車両のロールバックを抑制するために、外乱、特に勾配外乱に対するモータトルクの応答性を高めた制御パラメータを設定するための処理である。
イニシャルスタート時の外乱トルク推定値は、車両システムの停止時にある所定値(例えば平坦路相当)で初期化されているため、実際の勾配外乱と一致しない。そのため、坂路におけるイニシャルスタート時は、車両のイニシャルスタート直後から、外乱トルク推定値Tdが立上り、実際の勾配外乱に収束するまでの間に、勾配によっては車両のロールバックが発生する。以下に説明するイニシャルスタート処理は、勾配外乱に対する外乱トルク推定値Tdの速応性を高めることで、勾配外乱に対するモータトルクの応答性を上昇させ、車両のイニシャルスタート直後に生じ得るロールバック距離を抑制することを目的とする。
<イニシャルスタート処理>
図10は、図2に係るステップS203において実行するイニシャルスタート処理のフローチャートである。このイニシャルスタート処理は、コントローラ2によって、コントローラ2に電力が供給されている間一定のサイクルで常時実行される。
ステップS701では、コントローラ2は、イグニッションスイッチ信号がOFFからONに移行したか否かを判定する。ドライバにより車両のイグニッションスイッチ(スタートスイッチ)が操作され、イグニッションスイッチ信号がOFFからONに移行した場合は、コントローラ2は、続くステップS701Bの処理を実行する。イグニッションスイッチ信号がON状態のままの場合、すなわち、車両状態がイニシャルスタートした直後ではない場合は、ステップS703の処理を実行する。
なお、ステップS701では、コントローラ2は、イグニッションスイッチ信号がOFFからONに移行した場合に、さらに、パーキングブレーキが解除されたと判定された場合、或いは、パーキングシフトからシフトポジションが移行された場合の少なくともいずれか一方が判定された場合に、続くステップS701Bの処理を実行し、それ以外の場合はステップS703の処理を実行しても良い。
または、コントローラ2は、イグニッションスイッチ信号がOFFからONに移行したか否かは判定せずに、パーキングブレーキが解除されたと判定された場合、或いは、パーキングシフトからシフトポジションが移行されたと判定された場合の少なくともいずれか一方が判定された場合に、続くステップS701Bの処理を実行し、それ以外の場合はステップS703の処理を実行しても良い。
ステップS701Bでは、コントローラ2は、フットブレーキによる機械的制動力が解放されたか否かを判定する。フットブレーキによる機械的制動力が解放された場合は、ステップS702の処理を実行する。車両に機械的制動力が作用している間は、ステップS701Bの処理をループして実行する。なお、コントローラ2は、本ステップの処理を省略しても良い。すなわち、コントローラ2は、ステップS701の処理において、YES判定がされた場合に、続いてステップS702の処理を実行しても良い。
ステップS702では、タイマ1、フラグ1(以下、flg1と呼ぶ)、フラグ2(以下、flg2と呼ぶ)をそれぞれ、タイマ1=T1、flg1=1、flg2=0にセットする。
ここで、flg1、flg2、タイマ1について説明する。
flg1は、停車間際時も含む通常走行時の制御パラメータと、イニシャルスタート時の制御パラメータとの切替えを判定するためのフラグである。flg1=1は、イグニッションスイッチ信号がOFFからONに移行した直後、すなわち、車両の状態が、イニシャルスタート直後であることを示す。なお、ステップS701Bの処理を省略しない場合は、イグニッションスイッチ信号がOFFからONに移行した直後であって、かつ、ブレーキによる機械的制動力が解放された状態を示す。
flg2は、車両がロールバックしている状態であるか否かを判断するためのフラグである。初期値であるflg2=0は、車両はロールバックしていないことを示す。
タイマ1は、設定されたイニシャルスタート時の制御パラメータを通常走行時の制御パラメータに戻すタイミングを計るためのタイマである。イニシャルスタート直後に設定されるカウント値T1は、イニシャルスタート時を判定した後に、停車している路面の勾配外乱とコントローラ2で算出される外乱トルク推定値とが一致し、モータトルク指令値Tm*にてモータトルクを制御して停車状態を保持するまでの時間であって、予め実験等により適合させた値である。
なお、カウント値T1は例えば5秒相当である。ただし、車両の重量や路面勾配に応じて変更しても良い。例えば、車両の重量や路面勾配が大きいほど、カウント値T1は大きい値に設定される。
フローに戻って説明を続ける。ステップS702における処理を実行した後、ステップS711の処理を実行する。ステップS711では、flg1の状態を判定する。flg1=1であればステップS712の処理を実行する。flg1=0であればステップS713にの処理を実行する。イグニッションスイッチ信号がOFFからON状態に移行した場合は、ステップS702においてflg1=1に設定されているので、コントローラ2は、ステップS712の処理を実行する。
ステップS712では、外乱トルク推定値Tdを算出する際に使用される制御パラメータとして、イニシャルスタート時の制御パラメータが設定される。イニシャルスタート時の制御パラメータを設定した後、イニシャルスタート処理は終了する。
他方、flg1=0の場合に実行されるステップS713では、外乱トルク推定値Tdを算出する際に使用される制御パラメータとして、通常走行時の制御パラメータが設定される。通常走行時の制御パラメータを設定した後、イニシャルスタート処理は終了する。
次に、イグニッションスイッチ信号がOFFからON状態に移行するタイミングではない場合のフローについて説明する。
ステップS703では、コントローラ2は、flg1の状態を判定する。flg1=1の場合はステップS704の処理を実行する。flg1=1でない場合は、ステップS711の処理を実行する。
ステップS704では、図2に係るステップS201で入力されたアクセル開度APおよびモータ回転速度ωmに基づいて、図3に示すアクセル開度−トルクテーブルを参照することにより求めた第1のトルク目標値Tm1*の過去値Tm1_zと、モータ回転速度の低下とともに外乱トルク推定値Tdに収束する第2のトルク目標値Tm2*の過去値Tm2_zとを比較する。Tm2_z>Tm1_zが成立する場合は、車両がロールバック中であるか否かを判定するためにステップS705の処理を実行する。Tm2_z>Tm1_zが成立しない場合は、ドライバがアクセルペダルを踏むことにより車両が加速している等、車両が通常走行している状態にあると判定し、ステップS710の処理を実行する。
なお、ステップS704においては、第1のトルク目標値Tm1*の過去値Tm1_zと、第2のトルク目標値Tm2*の過去値Tm2_zとを比較するのに替えて、アクセル開度がゼロか否かを判定しても良い。アクセル開度=0が成立する場合は、ステップS705の処理を実行する。アクセル開度=0が成立しない場合は、車両がドライバの意図に応じた走行を開始したと判定し、ステップS710にてflgを0にセットした後、ステップS711の処理を実行する。ただし、本ステップで判定したいのは、車両がロールバックする可能性があるか否かであるので、アクセル開度=0は、おおむねゼロであることを持って成立したと判定しても良い。また、ゼロと判定できる上限値は、車両の重量や勾配の大きさ応じて変更してもよい。例えば車両の重量や勾配が大きいほど、上限値を大きくしても良い。
ステップS705では、flg2の状態を見る。flg2=1の場合は、車両がロールバック中であると判定し、ステップS708の処理を実行する。flg2=0の場合は、車両はロールバックしていないと判定し、ステップS706の処理を実行する。
ステップS706は、ステップS705においてロールバックしていないと判定された後に行う処理であって、ロールバックが開始されたか否かを判定するためのステップである。具体的には、モータ回転速度の絶対値|ωm|>モータ回転速度ωm1が成立するか否かを判定する。モータ回転速度ωm1は、予め実験等により定められた、車両がロールバックを開始したと判定できるモータ回転速度である。|ωm|>ωm1が成立する場合は、ステップS707の処理を実行し、成立しない場合は、ステップS711の処理を実行する。
ステップS707では、コントローラ2は、ステップS706においてロールバックが開始されたと判定したので、flg2=1にセットする。セットした後、ステップS711の処理を実行する。
ステップS708では、ロールバックの状態を判定する。タイマ1=0の時、もしくは、モータ回転速度の絶対値|ωm|<モータ回転速度ωm2が成立する時は、車両のロールバックが抑制されたと判定して、ステップS710の処理を実行する。モータ回転速度ωm2は、予め実験等により定めた、車両が停車したと判定できるモータ回転速度である。タイマ1=0、および、|ωm|<ωm2の両方とも成立しない場合は、車両はロールバック中であると判定し、タイマ1のカウントダウン処理を行うステップS709の処理を実行する。
ステップS710では、コントローラ2は、イニシャルスタート時の制御パラメータから、通常走行時の制御パラメータに復帰させるために、flg1を0にセットする。
ステップS709では、タイマ1のカウント値から1を減算する。すなわち、ロールバック中は、タイマ1のカウント値は、ステップS708においてロールバックが抑制されたと判定されるまで、演算周期毎にカウントダウンされる。カウントダウン後、ステップS711の処理を実行する。
ステップS711では、設定すべき制御パラメータを判定するために、flg1の状態を判定する。flg1=1であれば、イニシャルスタート時の制御パラメータを設定するステップS712の処理を実行する。flg1=0であれば、モータトルク制御に係る制御パラメータを通常走行時の制御パラメータに設定し、イニシャルスタート処理を終了する。
続いて、ステップS712で実行するイニシャルスタート時の制御パラメータの設定について説明する。図11は、イニシャルスタート時の制御パラメータの設定に係る処理の流れを表したフローチャートである。
ステップS712aでは、コントローラ2は、モータ回転速度をフィードバックする速度フィードバック制御系において、図6に示すモータ回転速度F/Bトルク設定器601のゲインKvrefを停車間際も含む通常走行時よりも大きい値に設定する。これにより、イニシャルスタート時において、モータ回転速度F/BトルクTωを増大させることで、モータトルク指令値Tm*をより速やかに外乱に収束させることができる。この結果、イニシャルスタート後に、車両に作用する外乱に対するモータトルクの応答性が上昇するので、ロールバックする距離を抑制することができる。
また、ゲインKvrefは、外乱トルク推定値Tdが大きいほど、大きくしても良い。これにより、車両に作用する外乱が大きくなっても、車両のロールバック距離を抑制する効果を一定の水準以上に維持することができる。また、ロールバック距離に影響する最も支配的な外乱要因は路面勾配である。したがって、車両が停車している路面の勾配を傾斜センサ等の勾配検出手段12(図1参照)にて検出し、路面勾配が大きいほど、ゲインKvrefをより大きくしても良い。
ステップS712bでは、図5に示す外乱トルク推定器502が備える、図7に示すフィルタHz(s)の分母の減衰係数ζcを通常走行時よりも小さく設定する。これにより1Hz程度の加速度振動が発生するものの、外乱トルク推定値Tdを勾配外乱に速やかに一致させることができる。この結果、外乱に対するモータトルクの応答性が上昇し、ロールバック距離を抑制することができる。
また、外乱トルク推定値Tdが大きいほど、フィルタHz(s)の分母の減衰係数ζcをより小さくしても良い。これにより、車両に作用する外乱が大きくなっても、車両のロールバック距離を抑制する効果を一定の水準以上に維持することができる。また、車両が停車している路面の勾配を検出し、路面勾配が大きいほど、フィルタHz(s)の分母の減衰係数ζcをより小さくしても良い。
ステップS712cでは、外乱トルク推定器502が備える制御ブロック702で示すローパスフィルタH(s)の時定数を、通常走行時より小さい値に設定する。これにより、車両が停車しようとする路面の勾配外乱に外乱トルク推定値Tdをより速やかに一致させることができる。この結果、外乱に対するモータトルクの応答性が上昇し、ロールバック距離を抑制することができる。
またローパスフィルタH(s)の時定数を、外乱トルク推定値Tdが大きいほど、より小さくしても良い。これにより、車両に作用する外乱が大きくなっても、車両のロールバック距離を抑制する効果を一定の水準以上に維持することができる。また、車両が停車している路面の勾配を検出し、路面勾配が大きいほど、ローパスフィルタH(s)の時定数をより小さくしても良い。
ステップS712dでは、図2のステップS204の停止制御処理およびステップS205の制振制御処理において使用するモータ回転速度ωmの移動平均化処理に係るモータ回転速度のサンプリング回数を走行時よりも少なくする。これにより、モータ回転速度検出時の無駄時間を抑制することができる。なお、イニシャルスタート直後は、通常モータの変動がごく僅かであるため、モータの回転角度や速度検出によるノイズが少なく、移動平均化処理回数を減らしても、こもり音等は発生しない。したがって、モータ回転速度検出時の無駄時間を抑制することで応答性を向上させても、制御の安定性を確保することができる。
ステップS712eでは、ステップS205で行う制振制御処理で用いるフィードバックゲインKFB(図9のゲイン補償器907参照)を走行時より小さい値に設定する。これにより、トルク目標値に対するF/B補償トルクTF/B(制振トルク)のオーバーシュートを抑制することができるので、モータトルク制御に係る安定性を確保することができる。
以上のとおり、イニシャルスタート判定後、ステップS712a〜S712eの処理によって、モータトルク制御に係る制御パラメータをイニシャルスタート時の制御パラメータに設定する。なお、ステップS712a〜S712eの順序は、これに限定されない。また、ステップS712a〜S712eをすべて実行する必要は必ずしもなく、ステップS712a〜S712dの少なくとも一つを実行すればよい。
以上が、イニシャルスタート処理の詳細である。ここで、モータトルクの応答性をイニシャルスタート時のみ上昇させる理由を述べる。
車両の通常走行時は、回転角度や速度検出によるノイズの影響により、高周波のトルク成分(例えば25〜150Hz帯の振動成分)が出力されてしまう場合がある。この振動成分は、モータユニットまたはドライブシャフト等からマウント等を介してボディ・シャシーに伝わることで、こもり音の発生要因となる。このため、通常走行時にモータトルク制御に係る制御パラメータの速応性を上げると、高周波ゲインも同時に高まり、こもり音が顕著に表れる。すなわち、速応性を上げた制御パラメータの設定は、こもり音とのトレードオフの関係である。
一方で、車両のイニシャルスタート時は、通常走行時のようなスピードは出ていないので、モータの回転角度や速度検出による高周波ノイズは、通常走行時に比べてほとんど発生しない。すなわち、イニシャルスタート時において、速応性を上げた制御パラメータを設定しても、通常走行時のようなこもり音はほとんど発生しない。したがって、本実施形態の電動車両の制御装置は、通常走行時の停止制御に係る制御パラメータとは別に、こもり音の問題を考慮する必要の少ないイニシャルスタート時のみ、速応性を高めた制御パラメータを設定する。
以下では、本実施形態における電動車両の制御装置を電気自動車に適用した際の効果について、図12、図13を参照して、特に、イニシャルスタート時の制御について説明する。
図12は、本実施形態における電動車両の制御装置による制御結果の一例を示す図である。図12は、一定勾配の登坂路で停車した状態からイニシャルスタートする際の制御結果であり、上から順に、イグニッション信号、モータトルク指令値、車両前後加速度、モータ回転速度、ロールバック距離を表している。また、イグニッション信号を表した図中に示す点線はflg1の状態を表している。また、モータトルク指令値を表した図中に示す点線は外乱トルク推定値を、一点鎖線は、勾配外乱を表している。
時刻t0では、図2のステップS201において検出するイグニッション信号がOFFからON状態に移行した状態である。そして、ステップS203の処理で、flg1を1とすることで、通常走行時と比べてモータトルク制御の速応性を上げた制御パラメータを設定する(ステップS712a〜S712e参照)。この時、車両が停車している路面勾配は登坂であるが、外乱トルク推定値とモータトルク指令値は共に0に初期化されている。したがって、モータトルク指令値を表した図から分かるとおり、外乱トルク推定値と勾配外乱とに乖離があることが分かる。なお、時刻t0においては、摩擦ブレーキによって登坂路における停車状態が保持されている。
時刻t1では、摩擦ブレーキによる制動を解除する。この時、flg1=1であるため、ステップS204に係る停止制御処理はイニシャルスタート時の制御パラメータに設定されている。したがって、通常走行時と比べて速応性が高い制御パラメータに基づく停止制御処理にてモータトルク指令値が調整される。一方で、摩擦ブレーキ制動が解除された車両は、ロールバックを開始する。
時刻t1からt2の間では、モータ回転速度の絶対値|ωm|が所定のモータ回転速度ωm1より大きくなることでロールバック状態であると判定した後、図7のステップS708において、モータ回転速度の絶対値|ωm|が所定のモータ回転速度ωm2より小さい値に収束したと判定されると、flg1を0とし、制御パラメータを通常走行時の制御パラメータの設定値に戻す。図から、t1.5の時点で、モータ回転速度はゼロに収束できており、ロールバックは停止していることが分かる。
時刻t2以降では、モータ回転速度は0に収束しており、通常走行時の制御パラメータに基づく停止制御処理にて停車状態を保持できていることが分かる。
次に、比較例として、イニシャルスタート時に、速応性を高めた制御パラメータを設定しない場合の制御結果を、図13を参照して説明する。
時刻t0では、図2のステップS201において検出するイグニッション信号がOFFからON状態に移行した状態である。車両が停車している路面勾配は登坂であるが、外乱トルク推定値とモータトルク指令値は共に0に初期化されている。したがって、モータトルク指令値を表した図から分かるとおり、外乱トルク推定値は勾配外乱と乖離している。なお、時刻t0においては、摩擦ブレーキによって登坂路における停車状態が保持されている。
時刻t1では、摩擦ブレーキによる制動を解除する。本比較例においては、通常走行時と同じ制御パラメータに基づく停止制御処理にてモータトルク指令値が算出される。図から分かるとおり、摩擦ブレーキが解除された車両はロールバックを開始する。
摩擦ブレーキ解除後、通常走行時と同じ制御パラメータに基づく停止制御処理にてモータトルク指令値の調整がなされているが、本例におけるモータトルク指令値は、時刻t2時点においてもまだ勾配外乱と一致していない。そのため、時刻t3においてもロールバック距離も延び続けており、t3.5の時点になってようやく車両は停車する。
時刻t4では、モータ回転速度は0に収束し、停止制御処理にて車両の停車状態を保持できている。ただし、図13を参照して説明したイニシャルスタート時の制御パラメータに基づく停止制御処理に比べて、停車を保持するまでの時間と、ロールバック距離が長いことが分かる。
このように、本発明に係る電動車両の制御装置は、従来例に対して、外乱トルク推定値と勾配外乱とを一致させるとともに、モータトルクを制御して停車を保持するまでに要する時間、および、ロールバック距離が抑制されていることがわかる。
以上、第1実施形態の電動車両の制御装置は、ドライバのアクセル操作に応じて駆動トルクおよび回生トルクを発生させるモータを備えた電動車両の制御装置であって、ドライバによる車両の発進操作が行われたか否かを判定し、車両に作用する外乱に応じて、車両の停車状態を保持するのに必要な外乱トルク推定値Tdを算出し、車両走行中における停車間際および発進操作が行われたと判定された場合に、モータの駆動トルクが外乱トルク推定値Tdに収束するように制御する。そして、当該電動車両の制御装置は、車両に作用する外乱に対する駆動トルクの応答性を制御し、発進操作が行われたと判定された場合は、モータの駆動トルクの応答性を停車間際の駆動トルクの応答性よりも上昇させる。
これにより、車両のイニシャルスタート時において、特に勾配外乱に対するモータトルクの応答性を通常走行時よりも高めることができるので、例えばブレーキ制動力が解放された場合に生じる車両のロールバック距離を抑制することができる。また、ロールバックが生じることによりドライバに不安を与えてしまうことを防止することができる。
また、第1実施形態の電動車両の制御装置は、車両のイグニッションスイッチ信号のOFF状態からON状態への移行を検知したときに、車両の発進操作が行われたと判定する。これにより、車両のイニシャルスタート時を確実に判定することができる。
また、第1実施形態の電動車両の制御装置は、検出したモータ回転速度ωmをフィードバックする速度フィードバック制御系を用いて外乱トルク推定値を算出するものであって、発進操作が行われたと判定された場合は、速度フィードバック制御系のフィードバックゲインKvrefを大きくすることで、前記駆動トルクの応答性を上昇させる。このように、本実施形態の電動車両の制御装置は、モータ回転速度ωmをフィードバックする際のゲインKvrefに応じて、勾配外乱に対する外乱トルク推定値Tdの速応性を高めることで、勾配外乱に対するモータトルクの応答性を上昇させる。これにより、通常走行時とイニシャルスタート時のモータトルクの応答性を容易に切り替えることができるので、車両の走行シーンに応じた応答性制御を容易に実行することができる。
また、第1実施形態の電動車両の制御装置は、二次式の分子と二次式の分母とで構成された所定の減衰係数を有するフィルタHz(s)を備え、当該フィルタの減衰係数に基づいて前記外乱トルク推定値Tdを算出するものであって、車両の発進操作が行われたと判定された場合に、フィルタHz(s)の分母の減衰係数ζcを小さくすることで、駆動トルクの応答性を上昇させる。このように、本実施形態の電動車両の制御装置は、フィルタHz(s)の分母の減衰係数ζcに応じて、勾配外乱に対する外乱トルク推定値Tdの速応性を高めることで、勾配外乱に対するモータトルクの応答性を上昇させる。これにより、通常走行時とイニシャルスタート時のモータトルクの応答性を容易に切り替えることができるので、車両の走行シーンに応じた応答性制御を容易に実行することができる。
また、第1実施形態の電動車両の制御装置は所定の時定数を有するフィルタH(s)を備え、当該フィルタの時定数に基づいて外乱トルク推定値Tdを算出するものであって、車両の発進操作が行われたと判定された場合に、当該時定数を小さくすることで、駆動トルクの応答性を上昇させる。このように、本実施形態の電動車両の制御装置は、ローパスフィルタH(s)の時定数に応じて、勾配外乱に対する外乱トルク推定値Tdの速応性を高めることで、勾配外乱に対するモータトルクの応答性を上昇させる。これにより、通常走行時とイニシャルスタート時のモータトルクの応答性を容易に切り替えることができるので、車両の走行シーンに応じた応答性制御を容易に実行することができる。
また、第1実施形態の電動車両の制御装置は、検出したモータ回転速度ωmに対して所定のサンプリング回数に基づく移動平均を施した値をフィードバックする速度フィードバック制御系を用いて外乱トルク推定値Tdを算出するものであって、車両の発進操作が行われたと判定された場合に、当該サンプリング回数を小さくすることで、駆動トルクの応答性を上昇させる。本実施形態の電動車両の制御装置は、モータ回転速度ωmの算出の際に行う移動平均化処理に係るモータ回転速度ωmのサンプリング回数を減らすことで、モータ回転速度ωmの検出遅れに係る無駄時間を抑制するので、勾配外乱に対する外乱トルク推定値Tdの速応性を高めても、制御の安定性を確保することができる。
さらに、第1実施形態の電動車両の制御装置は、車体に発生する振動を抑制する制振トルクをモータに発生させる制振制御処理を実行する。当該制振制御処理は、フィードバック制御系によりF/B補償トルクTF/B(制振トルク)を算出するものであって、車両の発進操作が行われたと判定された場合に、フィードバック制御系のフィードバックゲインKFBを前記停車間際のフィードバックゲインKFBより小さくする。このように、本実施形態の電動車両の制御装置は、制振制御処理で用いるフィードバックゲインKFBを走行時より小さい値に設定することで、トルク目標値に対するF/B補償トルクTF/B(制振トルク)のオーバーシュートを抑制することができるので、勾配外乱に対する外乱トルク推定値Tdの速応性を高めても、制御の安定性を確保することができる。
また、第1実施形態の電動車両の制御装置は、モータ回転速度ωmの検出値の絶対値が、予め設定した第1のロールバック判定値ωm1以上に増加した後、予め設定した第2のロールバック判定値ωm2以下に低下した場合は、車両の発進操作が行われたと判定された場合に上昇させた駆動トルクの応答性を、通常走行時の駆動トルクの応答性と同等になるまで低下させる。あるいは、第1実施形態の電動車両の制御装置は、車両の発進操作が行われたと判定されてから所定時間(タイマカウント値T1)経過後に、駆動トルクの応答性を、通常走行時の駆動トルクの応答性と同等になるまで低下させる。このように、本実施形態の電動車両の制御装置は、イニシャルスタート直後の車両の発進初期の応答性のみ上昇させるので、イニシャルスタート時のロールバックを抑制できるとともに、イニシャルスタート時以降においては、オーバーシュートが増加しない適切な応答性に調整されるので、通常走行時の制御安定性を確保することができる。
また、第1実施形態の電動車両の制御装置は、車両が停車している路面の勾配を検出する勾配検出手段12をさらに備え、検出した勾配が大きいほど、駆動トルクの応答性を上昇させる。これにより、例えば、急勾配であっても、早期に外乱トルク推定値Tdを立ち上げることができるため、車両のロールバックを抑制することができる。
(第2実施形態)
次に、第2実施形態の電動車両の制御装置について説明する。第2実施形態の電動車両の制御装置は、これまで説明した第1実施形態の電動車両の制御装置とは、特に、イニシャルスタート処理におけるイニシャルスタート時の制御パラメータの設定タイミングが異なる。
イニシャルスタート時の制御パラメータの設定タイミングについて、第1実施形態では、イグニッション信号がOFF状態からON状態に移行したことを確認した場合にflg1を1にセットすることで、ステップS712の処理においてイニシャルスタート時の制御パラメータが設定される。すなわち、第1実施形態は、ドライバがイニシャルスタートスイッチをONにして車両システムを立ち上げた場合に、車両がイニシャルスタート時であると判定し、即時にイニシャルスタート時の制御パラメータの設定がなされるという構成であった。
本実施形態では、コントローラ2は、イグニッション信号がOFF状態からON状態に移行したのを確認するのに加えて、アクセル開度がゼロであることが確認できた場合にflg1を1にセットし、さらに、モータ回転速度の絶対値が予め設定した値以上になり、ロールバックの開始を検知した場合に、車両がイニシャルスタート時であると判定し、イニシャルスタート時の制御パラメータを設定する。以下、図14を参照して本実施形態にかかるイニシャルスタート処理の詳細を説明する。
ステップS701では、コントローラ2は、イグニッションスイッチ信号がOFFからON状態に移行したか否かを判定する。イグニッションスイッチ信号がOFFからONに移行した場合は、コントローラ2は、ステップS715の処理を実行する。イグニッションスイッチ信号がON状態のままであれば、コントローラ2は、ステップS703の処理を実行する。
ステップS715では、コントローラ2は、アクセル開度がゼロか否か、すなわち、ドライバによるアクセル操作がなされているか否かを判定する。アクセル開度がゼロ、すなわち、ドライバによるアクセル操作がなされていない場合は、ステップS716の処理を実行する。アクセル開度がゼロではなく、ドライバがアクセルペダルを踏んでいる場合は、ステップS713の処理を実行する。ドライバがアクセルペダルを踏んでいる場合は、原則車両のロールバックは発生しないので、コントローラ2は、ステップS713において通常走行時の制御パラメータを設定し、イニシャルスタート処理を終了する。
ステップS716では、コントローラ2は、ロールバックが開始されたか否かを判定する。具体的には、車両のモータ回転速度の絶対値|ωm|が、比較値であるモータ回転速度ωm1より大きいか否かを判定する。モータ回転速度ωm1は、予め実験等により定められた、車両がロールバックを開始したと判定できるモータ回転速度である。また、比較する車両のモータ回転速度の値を絶対値としたのは、上り坂において車両が後方にずり下がる場合、および、下り坂において車両が前方方向にずり下がる場合の双方ともを一括に検知可能とするためである。|ωm|>ωm1が成立する場合は、ステップS702の処理を実行する。|ωm|>ωm1が成立しない場合は、ステップS717の処理を実行する。
ステップS702では、コントローラ2は、タイマ1、flg1、およびflg2それぞれをセットする。タイマ1にセットされる値は、イグニッションスイッチ信号がON状態となり、車両がロールバックを開始したと判定された後に、勾配外乱とコントローラ2で算出される外乱トルク推定値Tdとが一致し、モータトルク指令値Tm*にてモータトルクを制御して停車状態を保持するまでの時間であって、予め実験等により適合させた値である。
そして、コントローラ2は、flg1およびflg2を1にセットする。本実施形態におけるflg1=1は、イグニッション信号がOFFからON状態に移行し、かつ、アクセル開度がゼロであることを示す。flg2=1は、第1実施形態と同様に、車両がロールバックを開始したことを示す。本実施形態では、flg1=1、かつ、flg2=1に設定されることによって、車両がイニシャルスタート時であることが示される。セットした後、コントローラ2は、S711の処理を実行する。
S711では、flg=1が成立しているか否かが判定される。S702における処理にてflgは1にセットされているので、コントローラ2は、次のステップであるステップS712の処理を実行する。
ステップS712では、外乱トルク推定値Tdを算出する際に使用される制御パラメータとして、イニシャルスタート時の制御パラメータが設定される。なお、イニシャルスタート時の制御パラメータの設定は、第1の実施形態と同様に実行される(図11参照)。イニシャルスタート時の制御パラメータが設定された後、イニシャルスタート処理は終了する。
次に、ステップS716において|ωm|>ωm1が成立しなかった場合のフローについて説明する。ステップS717では、コントローラ2は、イグニッション信号がOFFからON状態に移行し、かつ、アクセル開度がゼロであるため、flg1を1にセットする。flg2は、|ωm|>ωm1が成立しておらず、車両はまだロールバックを開始していないため、0にセットされる。セット後、コントローラ2は、S713の処理を実行する。
ステップS713では、外乱トルク推定値Tdを算出する際に使用される制御パラメータとして、通常走行時の制御パラメータを設定する。通常走行時の制御パラメータを設定した後、イニシャルスタート処理の1サイクルは終了する。
そして、次のサイクルにおけるS701の処理の実行時では、イグニッションスイッチ信号はON状態のままなので、コントローラ2は、ステップS703の処理を実行する。
ステップS703では、コントローラ2は、flg1の状態を判定する。1サイクル前のステップS717において、flg1は1にセットされているので、続いてステップS704の処理を実行する。
ステップS704では、コントローラ2は、アクセル開度がゼロか否かを判定する。アクセル開度がゼロであれば、車両のロールバックが開始したか否かを判定するステップS705の処理を実行する。アクセル開度がゼロではない場合、すなわち、ドライバによりアクセルペダルが踏み込まれていれば、車両が加速し始める等、車両がドライバの意図に応じて走行している状態に移行し、イニシャルスタート時を脱したと判定できるので、ステップS710においてflgを0にセットする。そして、コントローラ2は、ステップS713において、外乱トルク推定値Tdを算出する際に使用される制御パラメータとして通常走行時の制御パラメータを設定し、イニシャルスタート処理は終了する。
なお、ステップS704においては、第1実施形態と同様に、第1のトルク目標値Tm1*の過去値Tm1_zと、第2のトルク目標値Tm2*の過去値Tm2_zとを比較してもよい。Tm2_z>Tm1_zが成立する場合は、ステップS705の処理を実行する。Tm2_z>Tm1_zが成立しない場合は、車両がドライバの意図に応じた走行を開始したと判定し、ステップS710にてflgを0にセットした後、ステップS711の処理を実行する。
次に、ステップS704において、コントローラ2が、アクセル開度=0と判定した場合のフローについて説明する。アクセル開度=0の場合は、コントローラ2は、S705の処理を実行し、flg2の状態を判定する。この時点における車両はまだロールバックを開始していないので、flg2=0である。したがって、コントローラ2は、次に、ステップS706の処理を実行する。
ステップS706では、コントローラ2は、車両がロールバックを開始したか否かを判定するために、モータ回転速度の絶対値|ωm|>モータ回転速度ωm1が成立するか否かを判定する。モータ回転速度ωm1は、上述のとおり、車両がロールバックを開始したと判定できるモータ回転速度であって、予め実験等により定めた値である。|ωm|>ωm1が成立しない場合は、車両はまだロールバックを開始していないので、コントローラ2は、ステップS713において通常走行時の制御パラメータを設定した後、イニシャルスタート処理を終了する。|ωm|>ωm1が成立する場合は、ステップS707の処理を実行する。
ステップS707では、|ωm|>ωm1が成立し、車両がロールバックを開始したと判定されるので、flg2が1にセットされるとともに、タイマ1にカウント値T1をセットする。そして、コントローラ2は、続くステップS711においてflg1の状態を判定する。なお、カウント値T1は、車両がロールバックを開始し、イニシャルスタート時であると判定された後、車両が停車状態を保持するまでの時間であって、予め実験等により適合させた値である。
ステップS711では、ステップS717の処理においてflg1が1にセットされた状態が継続しているので、flg1=1が成立する。したがって、コントローラ2は、続くステップS712においてイニシャルスタート時の制御パラメータを設定し、イニシャルスタート処理を終了する。
この時点で、flg1、flg2、およびタイマ1は、それぞれ、flg1=1、flg2=1、タイマ1=T1にセットされている。これを前提として、次のサイクルにおけるイニシャルスタート処理について説明する。
上記の通り、flg1=1、flg2=1であるので、ステップS704においてアクセル開度=0が成立する限りは、コントローラ2は、ステップS708の処理を実行する。アクセル開度=0が成立しない場合は、コントローラ2は、車両がドライバの意図に応じた走行を開始してイニシャルスタート時を脱したと判定し、ステップS710にてflgを0にセットし、ステップS713において通常走行時の制御パラメータを設定する。設定後、イニシャルスタート処理は終了する。
ステップS708では、ロールバックの状態を判定する。タイマ1=0の時、もしくは、モータ回転速度の絶対値|ωm|<モータ回転速度ωm2が成立する時は、車両のロールバックが抑制されたと判定して、ステップS710の処理を実行する。モータ回転速度ωm2は、予め実験等により定めた、車両が停車したと判定できるモータ回転速度である。タイマ1=0、および|ωm|<ωm2の両方とも成立しない場合は、車両はロールバック中であると判定されるので、タイマ1のカウントダウン処理を行うステップS709の処理を実行する。
ステップS709では、タイマ1のカウント値から1を減算する。すなわち、ロールバック中は、タイマ1のカウント値は、ステップS708においてロールバックが抑制されたと判定されるまで、演算周期毎に、タイマ1のカウント値がゼロになるか、もしくは、|ωm|<ωm2が成立するまでカウントダウンされる。そして、ステップS708においてタイマ1=0、および|ωm|<ωm2のいずれか一方が成立した場合は、コントローラ2は、通常走行時の制御パラメータを設定し、イニシャルスタート処理を終了する。
以上、第2実施形態の電動車両の制御装置は、車両のイグニッションスイッチ信号のOFF状態からON状態への移行を検知し、さらに、アクセル開度がゼロであって、かつ、モータ回転速度ωmの絶対値が予め設定した値ωm1以上になったときに、車両の発進操作が行われたと判定する。これにより、車両のロールバックが開始されたタイミングにおいてのみ、応答性を高めた制御パラメータの設定を実行することができる。したがって、例えば平坦路等の、そもそもロールバックが生じない路面においては、イグニッションスイッチ信号がOFFからON状態に移行しても通常走行時の制御パラメータの設定がなされるので、ロールバックの距離を抑制する目的に即した、より適切なタイミングでイニシャルスタート時の制御パラメータの設定を実行することができる。
本発明は、上述した実施形態に限定されることはなく、様々な変形や応用が可能である。例えば、上述した説明では、電動モータ4の回転速度の低下とともにモータトルク指令値Tm*を外乱トルク指令値Tdに収束させるものとして説明した。しかし、車輪速や車体速度、ドライブシャフトの回転速度などの速度パラメータは、電動モータ4の回転速度と比例関係にあるため、電動モータ4の回転速度に比例する速度パラメータの低下とともにモータトルク指令値Tm*を外乱トルク推定値Tdに収束させるようにしてもよい。
また、イニシャルスタート時の制御パラメータを設定することで、モータトルクの応答性を上昇させる旨説明したが、例えば凍結路面や雪道等の路面摩擦係数が低い不安定な路面においては、応答性を高めることでオーバーシュートが大きくなり、制御の安定性を保つのが難しくなる場合がある。したがって、路面摩擦係数等を検出し、路面状況によっては、モータトルクの応答性の上昇を禁止しても良い。
また、本発明に係る電動車両の制御装置においては、マイクやカメラをさらに設け、それらによりドライバによる車両の発進操作を検出するようにしても良い。
さらに加えて、上述では、イニシャルスタート時の外乱トルク推定値は、車両システムの停止時にある所定値(例えば平坦路相当)で初期化されると記載したが、必ずしもそれに限らず、停止時の外乱トルク推定値をメモリに記憶しておき、イニシャルスタート時における外乱トルク推定値を、その記憶された外乱トルク推定値に設定しても良い。その場合、イニシャルスタート時におけるモータトルク指令値は、車両システムの停止時に記憶された外乱トルク推定値に収束するように制御される。