以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易にするための例示に過ぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
<車両の構成>
図1および図2を参照して、本発明の実施形態に係る制御装置100が搭載される車両1の構成について説明する。
図1は、車両1の概略構成を示す模式図である。図1では、車両1の前進方向を前方向とし、前進方向に対して逆側の後退方向を後方向とし、前方向を向いた状態における左側および右側をそれぞれ左方向および右方向として、車両1が示されている。
車両1は、駆動源として、駆動用モータ(具体的には、図1中の前輪駆動用モータ15fおよび後輪駆動用モータ15r)を備え、駆動用モータから出力される動力を用いて走行する電気車両である。
なお、以下で説明する車両1は、あくまでも本発明に係る制御装置が搭載される車両の一例であり、後述するように、本発明に係る制御装置が搭載される車両の構成は車両1の構成に特に限定されない。
図1に示されるように、車両1は、前輪11a,11bと、後輪11c,11dと、フロントディファレンシャル装置13fと、リヤディファレンシャル装置13rと、前輪駆動用モータ15fと、後輪駆動用モータ15rと、インバータ17fと、インバータ17rと、バッテリ19と、制御装置100と、アクセル開度センサ201と、ブレーキセンサ203と、前輪モータ回転数センサ205fと、後輪モータ回転数センサ205rとを備える。
以下、前輪11a、前輪11b、後輪11cおよび後輪11dを区別しない場合には、これらを単に車輪11とも呼ぶ。また、前輪駆動用モータ15fおよび後輪駆動用モータ15rを区別しない場合には、これらを単に駆動用モータ15とも呼ぶ。また、インバータ17fおよびインバータ17rを区別しない場合には、これらを単にインバータ17とも呼ぶ。また、前輪モータ回転数センサ205fおよび後輪モータ回転数センサ205rを区別しない場合には、これらを単にモータ回転数センサ205とも呼ぶ。
前輪駆動用モータ15fは、前輪11a,11bを駆動する動力を出力する駆動用モータである。なお、前輪11aは左前輪に相当し、前輪11bは右前輪に相当する。
具体的には、前輪駆動用モータ15fは、バッテリ19から供給される電力を用いて駆動される。前輪駆動用モータ15fは、フロントディファレンシャル装置13fと接続されている。フロントディファレンシャル装置13fは、前輪11a,11bと、駆動軸を介してそれぞれ連結されている。前輪駆動用モータ15fから出力された動力は、フロントディファレンシャル装置13fに伝達された後、フロントディファレンシャル装置13fによって、前輪11a,11bへ分配して伝達される。
前輪駆動用モータ15fは、例えば、多相交流式のモータであり、インバータ17fを介してバッテリ19と接続されている。バッテリ19から供給される直流電力は、インバータ17fによって交流電力に変換され、前輪駆動用モータ15fへ供給される。
前輪駆動用モータ15fは、前輪11a,11bを駆動する動力を出力する機能の他に、前輪11a,11bの運動エネルギを用いて発電する発電機としての機能も有する。前輪駆動用モータ15fが発電機として機能する場合、前輪駆動用モータ15fにより発電が行われるとともに、回生制動による制動力が車両1に付与される。前輪駆動用モータ15fにより発電された交流電力は、インバータ17fによって直流電力に変換され、バッテリ19へ供給される。それにより、バッテリ19が充電される。
後輪駆動用モータ15rは、後輪11c,11dを駆動する動力を出力する駆動用モータである。なお、後輪11cは左後輪に相当し、後輪11dは右後輪に相当する。
具体的には、後輪駆動用モータ15rは、バッテリ19から供給される電力を用いて駆動される。後輪駆動用モータ15rは、リヤディファレンシャル装置13rと接続されている。リヤディファレンシャル装置13rは、後輪11c,11dと、駆動軸を介してそれぞれ連結されている。後輪駆動用モータ15rから出力された動力は、リヤディファレンシャル装置13rに伝達された後、リヤディファレンシャル装置13rによって、後輪11c,11dへ分配して伝達される。
後輪駆動用モータ15rは、例えば、多相交流式のモータであり、インバータ17rを介してバッテリ19と接続されている。バッテリ19から供給される直流電力は、インバータ17rによって交流電力に変換され、後輪駆動用モータ15rへ供給される。
後輪駆動用モータ15rは、後輪11c,11dを駆動する動力を出力する機能の他に、後輪11c,11dの運動エネルギを用いて発電する発電機としての機能も有する。後輪駆動用モータ15rが発電機として機能する場合、後輪駆動用モータ15rにより発電が行われるとともに、回生制動による制動力が車両1に付与される。後輪駆動用モータ15rにより発電された交流電力は、インバータ17rによって直流電力に変換され、バッテリ19へ供給される。それにより、バッテリ19が充電される。
アクセル開度センサ201は、ドライバによるアクセルペダルの操作量であるアクセル開度を検出し、検出結果を出力する。
ブレーキセンサ203は、ドライバによるブレーキペダルの操作量であるブレーキ操作量を検出し、検出結果を出力する。
前輪モータ回転数センサ205fは、前輪駆動用モータ15fの回転数を検出し、検出結果を出力する。後輪モータ回転数センサ205rは、後輪駆動用モータ15rの回転数を検出し、検出結果を出力する。モータ回転数センサ205の検出結果は、制御装置100が行う処理において、車両1の動力伝達軸(具体的には、駆動用モータ15と車輪11との間の動力伝達系に含まれる軸)の回転数を示す情報として用いられる。
制御装置100は、演算処理装置であるCPU(Central Processing Unit)、CPUが使用するプログラムや演算パラメータ等を記憶する記憶素子であるROM(Read Only Memory)、および、CPUの実行において適宜変化するパラメータ等を一時記憶する記憶素子であるRAM(Random Access Memory)等を含む。
制御装置100は、車両1に搭載される各装置(例えば、インバータ17、アクセル開度センサ201、ブレーキセンサ203およびモータ回転数センサ205等)と通信を行う。制御装置100と各装置との通信は、例えば、CAN(Controller Area Network)通信を用いて実現される。
図2は、制御装置100の機能構成の一例を示すブロック図である。
例えば、図2に示されるように、制御装置100は、特定部110と、制御部120とを有する。
特定部110は、車両1の動力伝達軸の回転数に基づいて車両1の車速(以下、単に車速とも呼ぶ)を特定する。特定部110により特定された車速を示す情報は、制御部120へ出力され、制御部120が行う処理に利用される。
特定部110は、具体的には、モータ回転数センサ205の検出結果に基づいて車速を特定する。なお、車速の特定では、前輪モータ回転数センサ205fおよび後輪モータ回転数センサ205rの双方の検出結果が用いられてもよく、前輪モータ回転数センサ205fおよび後輪モータ回転数センサ205rの一方のみの検出結果が用いられてもよい。また、車速の特定では、車両1の動力伝達軸の回転数を示す情報として、モータ回転数センサ205の検出結果以外の情報(例えば、車輪11とディファレンシャル装置とを連結する駆動軸の回転数を示す情報)が用いられてもよい。
制御部120は、車両1内の各装置の動作を制御することによって、車両1の走行を制御する。例えば、制御部120は、判定部121と、モータ制御部122とを含む。
判定部121は、車両1内の各装置から制御装置100に送信される情報を利用して各種判定を行う。判定部121による判定結果は、制御部120が行う各種処理に利用される。
モータ制御部122は、各インバータ17の動作を制御することによって、各駆動用モータ15の動作を制御する。具体的には、モータ制御部122は、インバータ17fのスイッチング素子の動作を制御することによって、バッテリ19と前輪駆動用モータ15fとの間の電力の供給を制御する。それにより、モータ制御部122は、前輪駆動用モータ15fによる動力の生成および発電を制御することができる。また、モータ制御部122は、インバータ17rのスイッチング素子の動作を制御することによって、バッテリ19と後輪駆動用モータ15rとの間の電力の供給を制御する。それにより、モータ制御部122は、後輪駆動用モータ15rによる動力の生成および発電を制御することができる。
なお、モータ制御部122は、駆動用モータ15を駆動して車両1に駆動力を付与する場合に、前輪駆動用モータ15fおよび後輪駆動用モータ15rの双方を駆動してもよく、前輪駆動用モータ15fおよび後輪駆動用モータ15rの一方のみを駆動してもよい。前輪駆動用モータ15fおよび後輪駆動用モータ15rの双方が駆動される場合における各駆動用モータ15の駆動力の配分は、適宜設定され得る。以下では、駆動用モータ15のトルクは、前輪駆動用モータ15fおよび後輪駆動用モータ15rのトルクの合計値を意味する。
ここで、制御部120は、車両1の走行モードとして、通常モードと、クルーズコントロールモードとを切り替えて実行可能である。通常モードは、ドライバによる加減速操作(つまり、アクセル操作およびブレーキ操作)に応じて車両1の加減速度を制御する走行モードである。クルーズコントロールモードは、ドライバによる加減速操作によらずに駆動用モータ15のトルクを制御することによって車速を目標車速に維持する走行モードである。
さらに、制御部120は、クルーズコントロールモードとして、高速クルーズコントロールモードと、低速クルーズコントロールモードとを切り替えて実行可能である。低速クルーズコントロールモードでは、高速クルーズコントロールモードの目標車速よりも低い目標車速が用いられる。例えば、高速クルーズコントロールモードの目標車速は、20km/h以上115km/h以下の範囲内の速度に設定され、低速クルーズコントロールモードの目標車速は、2km/h以上15km/h以下の範囲内の速度に設定される。クルーズコントロールモードの目標車速は、例えば、ドライバによる入力操作により調整可能である。
例えば、車両1には、通常モードと、高速クルーズコントロールモードと、低速クルーズコントロールモードとのいずれの走行モードを実行させるかを選択するための入力装置(例えば、スイッチまたはボタン等)が設けられており、ドライバは、当該入力装置を操作することにより、走行モードを選択することができる。制御部120は、ドライバにより選択されている走行モードを実行する。なお、制御部120は、クルーズコントロールモードの実行中に、ドライバによりブレーキ操作等の特定の操作が行われた場合には、クルーズコントロールモードを停止し、通常モードへの切り替えを行う。
通常モードでは、制御部120は、車両1に付与される駆動力がアクセル開度に応じた駆動力となるように、駆動用モータ15の動作を制御する。それにより、車両1の加速度をドライバによるアクセル操作に応じて制御することができる。また、制御部120は、車両1に付与される制動力がブレーキ操作量に応じた制動力となるように、車両1に搭載されている液圧式のブレーキ装置等のブレーキ装置の動作を制御する。それにより、車両1の減速度をドライバによるブレーキ操作に応じて制御することができる。
クルーズコントロールモードでは、制御部120は、車速が目標車速に近づくように、駆動用モータ15のトルク指令値を算出し、基本的には、駆動用モータ15のトルクをトルク指令値に制御する。例えば、制御部120は、車速に基づくフィードフォワード制御と、車速と目標車速との偏差に基づくフィードバック制御(例えば、PID制御)とを用いて駆動用モータ15のトルクを制御し、当該トルクを駆動用モータ15に指令するためのトルク指令値を算出する。この場合、算出されるトルク指令値Tcは、例えば、以下の式(1)によって表される。
Tc=Tf+Tp+Ti+Td ・・・(1)
式(1)において、Tfは、車速に基づくフィードフォワード制御の成分のトルクを示し、Tpは、車速と目標車速との偏差に基づく比例制御の成分(つまり、P成分)のトルクを示し、Tiは、上記偏差に基づく積分制御の成分(つまり、I成分)のトルクを示し、Tdは、上記偏差に基づく微分制御の成分(つまり、D成分)のトルクを示す。P成分のトルクTpは、具体的には、上記偏差にゲインを乗じて得られる。I成分のトルクTiは、具体的には、上記偏差の積分値にゲインを乗じて得られる。D成分のトルクTdは、具体的には、上記偏差の微分値にゲインを乗じて得られる。フィードフォワード制御の成分のトルクTfは、車両1が平坦路を走行している場合に、車速を目標車速に維持するために必要と見積もられるトルクに相当する。なお、平坦路は、勾配(つまり、車両1の進行方向での水平方向に対する傾斜)の絶対値が所定値以下の走行路を意味する。
なお、駆動用モータ15のトルク指令値Tcの算出方法は、式(1)を用いて算出される例に限定されない。例えば、上記の例からフィードフォワード制御が省略されてもよく(つまり、式(1)からトルクTfが省略されてもよく)、PID制御がPI制御に置き換えられてもよい(つまり、式(1)からトルクTdが省略されてもよい)。
上述したように、クルーズコントロールモードでは、制御部120は、基本的には、駆動用モータ15のトルクをトルク指令値Tcに制御する。しかしながら、制御部120は、駆動用モータ15のトルクをトルク指令値Tcと異なる値に制御する場合がある。具体的には、制御部120は、駆動用モータ15のトルクの時間変化率(以下、トルク変化率とも呼ぶ)を上限値以下に制御する。ゆえに、駆動用モータ15のトルクをトルク指令値Tcに制御するとトルク変化率が上限値を超えてしまう場合、制御部120は、駆動用モータ15のトルクをトルク指令値Tcと異なる値に制御する。
後述するように、制御部120は、トルク変化率の上限値を第1上限値と第2上限値との間で切り替える。第1上限値は、第2上限値よりも大きい。ここで、トルク変化率の上限値は、基本的に第1上限値に設定されている。第1上限値は、駆動用モータ15のトルクをトルク指令値Tcに制御した場合に想定されるトルク変化率よりも十分大きい。つまり、トルク変化率の上限値が第1上限値に設定されている場合には、駆動用モータ15のトルクは基本的にトルク指令値Tcに制御される。一方、トルク変化率の上限値は、特定の場合に第2上限値に設定される。トルク変化率の上限値が第2上限値に設定されている場合には、駆動用モータ15のトルクをトルク指令値Tcに制御するとトルク変化率が第2上限値を超えてしまう状況が生じ得るので、トルク指令値Tcでのトルク制御が制限され得る(つまり、駆動用モータ15のトルクがトルク指令値Tcより小さい値に制御され得る)。
なお、本実施形態に係る制御装置100が有する機能は複数の制御装置により部分的に分割されてもよく、複数の機能が1つの制御装置によって実現されてもよい。制御装置100が有する機能が複数の制御装置により部分的に分割される場合、当該複数の制御装置は、CAN等の通信バスを介して、互いに接続されてもよい。
上記のように、制御装置100の制御部120は、ドライバによる加減速操作によらずに駆動用モータ15のトルクを制御することによって車両1の車速を目標車速に維持するクルーズコントロールモードを実行可能である。ここで、制御部120は、クルーズコントロールモードの実行中において、登坂中に車両1の進行方向が反転したと判定した場合、トルク変化率の上限値を第1上限値から当該第1上限値よりも小さい第2上限値に切り替える。それにより、クルーズコントロールモードの実行中にガレージシフト(つまり、車両1の進行方向を前進方向と後退方向との間で切り替えるシフトチェンジ)が行われ、かつ、シフトチェンジ後の進行方向が降坂方向である場合に、駆動用モータのトルクが急激に大きくなることを抑制することができる。ゆえに、クルーズコントロールモードの実行中に車両1が過度に加速することを抑制することが可能となる。なお、クルーズコントロールモードの実行中に制御部120により行われるトルク変化率の上限値の切り替えに関する処理の詳細については、後述する。
<制御装置の動作>
続いて、図3~図5を参照して、本発明の実施形態に係る制御装置100の動作について説明する。
上記のように、クルーズコントロールモードの実行中において、登坂中に車両1の進行方向が反転したと判定した場合、トルク変化率の上限値を第1上限値から当該第1上限値よりも小さい第2上限値に切り替えることによって、車両1が過度に加速することが抑制される。
ここで、クルーズコントロールモードの目標車速が低いほど、駐車時等にクルーズコントロールモードを実行した状態でのガレージシフトが利用されることが多いと想定される。ゆえに、低速クルーズコントロールモードでは、高速クルーズコントロールモードと比べて、ガレージシフトが行われることに起因して車両1が過度に加速することを抑制する必要性が特に高い。よって、制御部120は、低速クルーズコントロールモードの実行中に、登坂中に車両1の進行方向が反転したと判定した場合、トルク変化率の上限値を第1上限値から当該第1上限値よりも小さい第2上限値に切り替えることが好ましい。
以下では、低速クルーズコントロールモードの実行中にトルク変化率の上限値の切り替えに関する処理が行われる例を説明するが、制御部120は、高速クルーズコントロールモードの実行中に、トルク変化率の上限値の切り替えに関する後述する処理を行ってもよい。なお、制御部120は、高速クルーズコントロールモードの実行中に、トルク変化率の上限値の切り替えを行わなくてもよい。
図3は、低速クルーズコントロールモードの実行中に制御部120により行われるトルク変化率の上限値の切り替えに関する処理の流れの一例を示すフローチャートである。図3に示される制御フローは、具体的には、低速クルーズコントロールモードの実行中において繰り返し実行される。
図4は、車両1の後退方向(つまり、Rレンジの進行方向)が登坂方向となり前進方向(つまり、Dレンジの進行方向)が降坂方向となっている様子を示す模式図である。車両1が図4に示される姿勢をとる場合には、ドライバは、シフトポジションをRレンジにすることによって車両1を後退させて登坂させることができ、シフトポジションをDレンジにすることによって車両1を前進させて降坂させることができる。
図5は、車両1が低速クルーズコントロールモードの実行中に図4に示される姿勢で登坂している時にガレージシフト(つまり、RレンジからDレンジへのシフトチェンジ)が行われる場合における各種状態量の推移の一例を示す図である。図5では、具体的には、各種状態量として、車速、駆動用モータ15のトルク、シフトポジション、および、トルク変化率の上限値が示されている。車速が正の値をとる場合には車両1が前進方向に進んでおり、車速が負の値をとる場合には車両1が後退方向に進んでいる。トルクの正方向は、車両1を前進させる方向であり、トルクの負方向は、車両1を後退させる方向である。
以下、図5を適宜参照しつつ、図3に示される制御フローの各処理を説明する。
図3に示される制御フローが開始されると、まず、ステップS101において、判定部121は、車両1が登坂中であるか否かを判定する。車両1が登坂中であると判定された場合(ステップS101/YES)、ステップS102の判定処理に進む。一方、車両1が登坂中でないと判定された場合(ステップS101/NO)、ステップS101の判定処理が繰り返される。
例えば、判定部121は、駆動用モータ15のトルクの絶対値が閾値以上である場合に、車両1が登坂中であると判定する。車両1が坂路上に位置する場合、車両1を降坂させる方向に車両1の自重が作用する。ゆえに、登坂中には、降坂中と比較して、車両1を目標車速で走行させるために必要なトルクの絶対値が大きくなる。上記の閾値は、登坂中に車両1を目標車速で走行させるために必要なトルクの絶対値の想定値より小さく、降坂中に車両1を目標車速で走行させるために必要なトルクの絶対値の想定値より大きな値に設定される。
図5に示される例では、時刻T1以前において、シフトポジションがRレンジとなっており、車両1は後退しながら登坂している。また、低速クルーズコントロールモードによって車速が目標車速に維持されている。なお、登坂中の目標車速は、降坂中の目標車速に対して正負が逆で絶対値が同一の車速である。時刻T1以前において、車速が目標車速に維持されることによって、駆動用モータ15のトルクの絶対値は閾値T_th以上となる(具体的には、駆動用モータ15のトルクが-T_thより小さくなる)。ゆえに、判定部121は、車両1が登坂中であると判定する。なお、時刻T1以前において、トルク変化率の上限値は、第1上限値となっている。
なお、上記では、ステップS101の判定処理が駆動用モータ15のトルクの絶対値に基づいて行われる例を説明したが、ステップS101の判定処理は、他の方法によって行われてもよい。例えば、判定部121は、走行路の勾配に基づいてステップS101の判定処理を行ってもよい。なお、走行路の勾配は、例えば、車両1の加速度を検出するセンサの検出結果または地図データ等を用いて取得され得る。
図3中のステップS101でYESと判定された場合、ステップS102において、判定部121は、車両1の進行方向が反転したか否かを判定する。車両1の進行方向が反転したと判定された場合(ステップS102/YES)、ステップS103に進み、制御部120は、トルク変化率の上限値を第1上限値から第2上限値に切り替える。一方、車両1の進行方向が反転していないと判定された場合(ステップS102/NO)、ステップS101の判定処理に戻る。
例えば、判定部121は、シフトポジションがRレンジからDレンジに切り替えられた場合、または、シフトポジションがDレンジからRレンジに切り替えられた場合に、車両1の進行方向が反転したと判定する。なお、シフトポジションは、シフトポジションを検出するシフトポジションセンサの検出結果を用いて取得され得る。
図5に示される例では、時刻T1において、ガレージシフトが行われ、シフトポジションがRレンジからDレンジに切り替えられる。ゆえに、判定部121は、車両1の進行方向が反転したと判定する。それにより、トルク変化率の上限値の第2上限値への切り替え処理(具体的には、トルク変化率の上限値を第1上限値から第2上限値に切り替える処理)が行われる。
図5では、時刻T1にトルク変化率の上限値の第2上限値への切り替え処理が仮に実行されなかった場合の車速および駆動用モータ15のトルクの推移が二点鎖線で示されている。時刻T1において、進行方向が反転することに伴って、目標車速が登坂中の目標車速から降坂中の目標車速に切り替わるので、目標車速の正負が反転する。それにより、車速と目標車速との偏差が急激に大きくなるので、トルク指令値Tcが急激に大きくなる。さらに、時刻T1において行われるシフトチェンジの後における進行方向は降坂方向であるので、車両1を加速させる方向に車両1の自重が作用し、車両1がより加速しやすくなる。ゆえに、時刻T1以降において、トルク変化率の上限値が第1上限値に維持され、駆動用モータ15のトルクがトルク指令値Tcに制御される場合、図5中で二点鎖線によって示されるように、駆動用モータ15のトルクが急激に大きくなり、車両1が過度に加速してしまうおそれがある。
一方、本実施形態では、図5に示されるように、時刻T1において、トルク変化率の上限値が第1上限値から第2上限値に切り替えられる。それにより、時刻T1以降において、トルク指令値Tcでのトルク制御が制限され、駆動用モータ15のトルクが急激に大きくなることが抑制される。ゆえに、車両1が過度に加速することが抑制される。
ここで、制御部120は、第2上限値を車両1の車速(具体的には、登坂中の車速)に応じて変化させることが好ましい。例えば、制御部120は、登坂中の車速が低いほど、第2上限値を小さくしてもよい。なお、登坂中の車速は、低速クルーズコントロールモードの設定車速が調整されることによって、変化し得る。登坂中の車速が低いほど、シフトチェンジ後において、早期に車両1が降坂し始めるので、車両1が降坂方向に加速しやすくなってしまう。ゆえに、登坂中の車速が低いほど第2上限値を小さくし、シフトチェンジ後のトルク変化率を小さくすることによって、車両1が過度に加速することを効果的に抑制することができる。
図5に示される例では、上述したように、駆動用モータ15のトルクの絶対値が閾値T_th以上である場合(具体的には、駆動用モータ15のトルクが-T_thより小さい場合)に、車両1が登坂中であると判定される。そして、車両1の進行方向が反転したとさらに判定された場合に、トルク変化率の上限値の第2上限値への切り替え処理が行われる。ゆえに、駆動用モータ15のトルクの絶対値が閾値T_th以上であることは、トルク変化率の上限値の第2上限値への切り替え処理が実行されるための条件である。よって、閾値T_thを変化させることによって、トルク変化率の上限値の第2上限値への切り替え処理の実行されやすさを変化させることができる。
ここで、制御部120は、閾値T_thを車両1の車速(具体的には、登坂中の車速)に応じて変化させることが好ましい。例えば、制御部120は、登坂中の車速が低いほど、閾値T_thを小さくしてもよい。上述したように、登坂中の車速が低いほど、シフトチェンジ後において、早期に車両1が降坂し始めるので、車両1が降坂方向に加速しやすくなってしまう。ゆえに、登坂中の車速が低いほど閾値T_thを小さくし、トルク変化率の上限値の第2上限値への切り替え処理を実行されやすくすることによって、車両1が過度に加速することを効果的に抑制することができる。
図3中のステップS103の次に、ステップS104において、判定部121は、車両1の車速と目標車速との偏差が基準差を下回ったか否かを判定する。車速と目標車速との偏差が基準差を下回ったと判定された場合(ステップS104/YES)、ステップS105に進み、制御部120は、トルク変化率の上限値を第2上限値から第1上限値に切り替え、図3に示される制御フローは終了する。一方、車速と目標車速との偏差が基準差を下回っていないと判定された場合(ステップS104/NO)、ステップS104の判定処理が繰り返される。
トルク変化率の上限値を第2上限値から第1上限値に切り替えた際の車速と目標車速との偏差が過度に大きい場合、トルク指令値Tcでのトルク制御が再開することに起因して、駆動用モータ15のトルクが急激に大きくなる場合がある。ゆえに、このようなトルクの急増を抑制する観点で、上記の基準差は、トルク変化率の上限値を第2上限値から第1上限値に切り替えた場合にトルクの急増が抑制される程度に車速と目標車速との偏差が小さくなっていると判断し得る値に設定される。
図5に示される例では、時刻T1の後の時刻T2において、車速と目標車速(具体的には、降坂中の目標車速)との偏差が基準差ΔVを下回り、トルク変化率の上限値が第2上限値から第1上限値に切り替えられる。
なお、上記では、ステップS104の判定処理が駆動用モータ15の車速と目標車速との偏差に基づいて行われる例を説明したが、ステップS104の判定処理は、他の方法によって行われてもよい。例えば、判定部121は、トルク指令値Tcとトルクの実値との差が基準差を下回った場合に、トルク変化率の上限値を第2上限値から第1上限値に切り替えてもよい。上記の基準差は、トルク変化率の上限値を第2上限値から第1上限値に切り替えた場合にトルクの急増が抑制される程度にトルク指令値Tcとトルクの実値との差が小さくなっていると判断し得る値に設定される。
<制御装置の効果>
続いて、本発明の実施形態に係る制御装置100の効果について説明する。
本実施形態に係る制御装置100では、制御部120は、クルーズコントロールモードの実行中において、登坂中に車両1の進行方向が反転したと判定した場合、駆動用モータ15のトルクの時間変化率(つまり、トルク変化率)の上限値を第1上限値から当該第1上限値よりも小さい第2上限値に切り替える。それにより、登坂中にガレージシフトが行われた場合に、トルク指令値Tcでのトルク制御を制限することができるので、駆動用モータ15のトルクが急激に大きくなることを抑制することができる。ゆえに、クルーズコントロールモードの実行中に車両1が過度に加速することを抑制することができる。
また、本実施形態に係る制御装置100では、制御部120は、トルク変化率の上限値を第1上限値から第2上限値に切り替えた後、車両1の車速と目標車速との偏差が基準差ΔVを下回った場合、トルク変化率の上限値を第2上限値から第1上限値に切り替えることが好ましい。それにより、トルク変化率の上限値を第2上限値から第1上限値に戻す際に、トルク指令値Tcでのトルク制御が再開することに起因して駆動用モータ15のトルクが急激に大きくなることを抑制することができる。
また、本実施形態に係る制御装置100では、制御部120は、駆動用モータ15のトルクの絶対値が閾値以上である場合に、車両1が登坂中であると判定することが好ましい。それにより、車両1が登坂中であるか否かを適切に判定することができる。ゆえに、降坂中にガレージシフトが行われた場合にトルクの時間変化率の第2上限値への切り替え処理が不必要に行われることを抑制しつつ、登坂中にガレージシフトが行われた場合にトルクの時間変化率の第2上限値への切り替え処理を適切に行うことができる。
また、本実施形態に係る制御装置100では、制御部120は、閾値を車両1の車速に応じて変化させることが好ましい。それにより、車速に応じてトルク変化率の上限値の第2上限値への切り替え処理の実行されやすさを変化させることができる。ゆえに、例えば、登坂中の車速が低く、シフトチェンジ後に車両1が降坂方向に加速しやすい場合に、トルク変化率の上限値の第2上限値への切り替え処理を実行されやすくすることができるので、車両1が過度に加速することを効果的に抑制することができる。
また、本実施形態に係る制御装置100では、制御部120は、第2上限値を車両1の車速に応じて変化させることが好ましい。それにより、車速に応じてシフトチェンジ後のトルク変化率を変化させることができる。ゆえに、例えば、登坂中の車速が低く、シフトチェンジ後に車両1が降坂方向に加速しやすい場合に、シフトチェンジ後のトルク変化率を小さくすることができるので、車両1が過度に加速することを効果的に抑制することができる。
また、本実施形態に係る制御装置100では、制御部120は、低速クルーズコントロールモードの実行中において、登坂中に車両1の進行方向が反転したと判定した場合、トルク変化率の上限値を第1上限値から第2上限値に切り替えることが好ましい。上述したように、低速クルーズコントロールモードでは、高速クルーズコントロールモードと比べて、目標車速が低いので、ガレージシフトが行われることに起因して車両1が過度に加速することを抑制する必要性が特に高い。ゆえに、低速クルーズコントロールモードの実行中において、登坂中に車両1の進行方向が反転したと判定した場合、トルク変化率の上限値を第1上限値から第2上限値に切り替えることによって、車両1が過度に加速することを抑制する効果を有効に活用することができる。
以上、添付図面を参照しつつ本発明の好適な実施形態について説明したが、本発明は上述した実施形態に限定されないことは勿論であり、特許請求の範囲に記載された範疇における各種の変更例または修正例についても、本発明の技術的範囲に属することは言うまでもない。
例えば、上記では、駆動源として前輪駆動用モータ15fおよび後輪駆動用モータ15rを備える電気車両である車両1を説明したが、本発明に係る制御装置が搭載される車両の構成は車両1に特に限定されない。例えば、本発明に係る制御装置が搭載される車両は、互いに異なる駆動用モータが各車輪に設けられている(つまり、4つの駆動用モータを備えている)電気車両であってもよく、駆動源として駆動用モータおよびエンジンを備えるハイブリッド車両であってもよい。また、例えば、本発明に係る制御装置が搭載される車両は、図1を参照して説明した車両1に対して構成要素の追加、変更または削除を施した車両であってもよい。
また、例えば、本明細書においてフローチャートを用いて説明した処理は、必ずしもフローチャートに示された順序で実行されなくてもよい。また、追加的な処理ステップが採用されてもよく、一部の処理ステップが省略されてもよい。