以下、添付図面を参照して、本発明の実施形態による車両の制御装置について説明する。
<装置構成>
まず、図1を参照して、本発明の実施形態による車両の制御装置が適用された車両の概要について説明する。図1は、本発明の実施形態による車両の制御装置が適用された車両の概略構成図である。
図1に示すように、車両500は、主に、駆動力を発生するエンジン(駆動源)を含むエンジンシステム100と、このエンジンシステム100のエンジンによる回転速度を変速するトランスミッション(変速機)204と、このトランスミッション204からの駆動力を下流側に伝達する動力伝達系207と、この動力伝達系207からの駆動力によって車輪210を駆動するドライブシャフト209と、当該車輪210と、を有する。
エンジンシステム100の出力軸とトランスミッション204の回転軸とは、断続可能なクラッチ202を介して軸201によって同軸状に連結されている。クラッチ202は、モータ(図示略)によりクラッチ作動油流量及びクラッチ作動油圧を連続的又は段階的に制御して伝達トルク容量を変更可能な乾式多板クラッチによって構成されている。軸201には、所定重量を有するフライホイールが配設されている(図示略)。なお、クラッチ202は、少なくともエンジンシステム100とトランスミッション204との駆動力の伝達を断続可能であれば良く、トランスミッション204の内部に形成しても良い。
動力伝達系207は、トランスミッション204の出力軸206を介して駆動力が入力される。動力伝達系207は、駆動力を左右一対の車輪210に対して分配するデファレンシャルギヤや、ファイナルギヤなどを含んで構成されている。
次に、図2及び図3を参照して、本発明の実施形態による車両の制御装置が適用されたエンジンシステムについて説明する。図2は、本発明の実施形態による車両の制御装置が適用されたエンジンシステムの概略構成図であり、図3は、本発明の実施形態による車両の制御装置の電気的構成を示すブロック図である。
図2及び図3に示すように、エンジンシステム100は、主に、外部から導入された吸気(空気)が通過する吸気通路1と、この吸気通路1から供給された吸気と、後述する燃料噴射弁13から供給された燃料との混合気を燃焼させて車両500の駆動力を発生するエンジン10(具体的にはガソリンエンジン)と、このエンジン10内の燃焼により発生した排気ガスを排出する排気通路25と、エンジンシステム100に関する各種の状態を検出するセンサ30〜39と、エンジンシステム100全体を制御するPCM50とを有する。
吸気通路1には、上流側から順に、外部から導入された吸気を浄化するエアクリーナ3と、通過する吸気の量(吸入空気量)を調整するスロットルバルブ5と、エンジン10に供給する吸気を一時的に蓄えるサージタンク7と、が設けられている。
エンジン10は、主に、吸気通路1から供給された吸気を気筒11内に導入する吸気バルブ12と、気筒11内に燃料を噴射する燃料噴射弁13と、気筒11内に供給された吸気と燃料との混合気に点火する点火プラグ14と、気筒11内での混合気の燃焼により往復運動するピストン15と、ピストン15の往復運動により回転されるクランクシャフト16と、気筒11内での混合気の燃焼により発生した排気ガスを排気通路25へ排出する排気バルブ17と、を有する。なお、図2では、エンジン10の1つの気筒11のみを示しているが、実際には、エンジン10は複数の気筒11(例えば4気筒)を有する。
また、エンジン10は、吸気バルブ12及び排気バルブ17のそれぞれの動作タイミング(バルブの位相に相当する)を、可変バルブタイミング機構(Variable Valve Timing Mechanism)としての可変吸気バルブ機構18及び可変排気バルブ機構19によって可変に構成されている。可変吸気バルブ機構18及び可変排気バルブ機構19としては、公知の種々の形式を適用可能であるが、例えば電磁式又は油圧式に構成された機構を用いて、吸気バルブ12及び排気バルブ17の動作タイミングを変化させることができる。
排気通路25には、主に、例えばNOx触媒や三元触媒や酸化触媒などの、排気ガスの浄化機能を有する排気浄化触媒26a、26bが設けられている。
また、エンジンシステム100には、当該エンジンシステム100に関する各種の状態を検出するセンサ30〜39が設けられている。これらセンサ30〜39は、具体的には以下の通りである。アクセル開度センサ30は、アクセルペダルの開度(ドライバがアクセルペダルを踏み込んだ量に相当する)であるアクセル開度を検出する。エアフローセンサ31は、吸気通路1を通過する吸気の流量に相当する吸入空気量を検出する。スロットル開度センサ32は、スロットルバルブ5の開度であるスロットル開度を検出する。圧力センサ33は、エンジン10に供給される吸気の圧力に相当するインマニ圧(インテークマニホールドの圧力)を検出する。クランク角センサ34は、クランクシャフト16におけるクランク角を検出する。水温センサ35は、エンジン10を冷却する冷却水の温度である水温を検出する。温度センサ36は、エンジン10の気筒内の温度である筒内温度を検出する。カム角センサ37、38は、それぞれ、吸気バルブ12及び排気バルブ17の閉弁時期を含む動作タイミングを検出する。車速センサ39は、車両500の速度(車速)を検出する。トランスミッション回転数センサ40は、トランスミッション204の回転数、すなわちクラッチ202の回転数(より詳しくは軸201においてトランスミッション204側の軸(P軸)の回転数)を検出する。これらの各種センサ30〜40は、それぞれ、検出したパラメータに対応する検出信号S130〜S140をPCM50に出力する。
PCM50は、上述した各種センサ30〜40から入力された検出信号S130〜S140に基づいて、エンジンシステム100内の構成要素に対する制御を行う。具体的には、図3に示すように、PCM50は、スロットルバルブ5に制御信号S105を供給して、スロットルバルブ5の開閉時期やスロットル開度を制御し、燃料噴射弁13に制御信号S113を供給して、燃料噴射量や燃料噴射タイミングを制御し、点火プラグ14に制御信号S114を供給して、点火時期を制御し、可変吸気バルブ機構18及び可変排気バルブ機構19のそれぞれに制御信号S118、S119を供給して、吸気バルブ12及び排気バルブ17の動作タイミングを制御する。なお、スロットルバルブ5や燃料噴射弁13や点火プラグ14や可変吸気バルブ機構18や可変排気バルブ機構19などは、本発明における「トルク調整機構」に相当する。特に、スロットルバルブ5は、本発明における「空気量調整装置」に相当し、燃料噴射弁13は、本発明における「燃料調整装置」に相当する。
このようなPCM50は、1つ以上のプロセッサ、当該プロセッサ上で解釈実行される各種のプログラム(OSなどの基本制御プログラムや、OS上で起動され特定機能を実現するアプリケーションプログラムを含む)、及びプログラムや各種のデータを記憶するためのROMやRAMの如き内部メモリを備えるコンピュータにより構成される。詳細は後述するが、PCM50は本発明における「制御器」に相当する。
<制御内容>
以下では、本実施形態において上記したPCM50が実行する制御内容について説明する。
(全体制御)
まず、図4及び図5を参照して、本実施形態においてPCM50が実行する全体的な制御内容の概要について説明する。図4は、本発明の実施形態による全体制御を示すブロック図であり、図5は、本発明の実施形態による全体制御を示すフローチャートである。
図4に示すように、まず、PCM50は、アクセル開度に基づき目標加速度を設定する。例えば、PCM50は、車速ごとに規定された、アクセル開度と目標加速度との関係を示すマップを用いて、現在の車速及びアクセル開度に対応する目標加速度を設定する。そして、PCM50は、この目標加速度をドライブシャフト209の目標ねじれ角に変換する。具体的には、PCM50は、以下の式(1)を用いて、加速度を車輪トルクに変換し、式(2)を用いて、この車輪トルクをねじれ角に変換する。
Tw=Mv×rw×a 式(1)
θ=Tw/Kb 式(2)
なお、「Tw」は車輪トルクであり、「Mv」は車重であり、「rw」は車輪半径であり、「a」は加速度であり、「θ」はドライブシャフトのねじれ角であり、「Kb」はドライブシャフトの剛性である。
次いで、PCM50は、上記の目標ねじれ角に対して所定のフィードフォワードゲインを適用し、これにより得られた目標ねじれ角に対応する目標トルクを求める。具体的には、PCM50は、車両500に関する所定の駆動系モデルの逆モデルを用いて、目標ねじれ角を実現するためにエンジン10から出力させるべき目標トルクを求める。この目標トルクは、フィードフォワード処理により求められるものであるので、以下では、当該目標トルクを適宜「FF目標トルク」と呼ぶ。
次いで、PCM50は、モデル化誤差や外乱(走行抵抗など)を抑制する観点から、エンジン10のトルクをフィードバック処理により制御するべく求められた目標トルク(以下では適宜「FB目標トルク」と呼ぶ。)により、上記のFF目標トルクを補正する。そして、PCM50は、こうして補正された目標トルク(以下では適宜「最終目標トルク」と呼ぶ。)をエンジン10から出力させるべく、目標空気量や目標点火時期や目標燃料噴射量などを決定して(オルタネータの目標発電量も含めてよい)、エンジンシステム100のスロットルバルブ5や燃料噴射弁13や点火プラグ14などのトルク調整機構を制御する。つまり、PCM50は、最終目標トルクの実現方法を分配してエンジン10を制御する。この後、エンジン10において実際に燃焼が生じて実トルクが発生し、この実トルクが実際の車両挙動として現れる。
次いで、PCM50は、所定のエンジントルクモデルを用いて、エンジン10の制御に用いた各種パラメータ(点火時期や目標空燃比など)と、エンジン10での燃料による実際の車両挙動に対応する各種センサ値(エアフローセンサ31による吸入空気量や圧力センサ33によるインマニ圧やクランク角センサ34によるエンジン回転数など)とから、今回のエンジン10の燃料により発生したトルクを推定する。
また、PCM50は、上記のトルクの推定と並行して、所定の走行抵抗モデルを用いて、車速センサ39によって検出された車速や、ドライバによるブレーキ操作に対応するブレーキ圧などから、車両500に付与された走行抵抗を推定する。この走行抵抗には、空気抵抗、転がり抵抗及び勾配抵抗に加えて、ドライバがブレーキ操作を行った場合にはブレーキによる制動力も含まれる。
そして、PCM50は、車両500に関する所定の駆動系モデルを用いて、上記のように推定されたトルク及び走行抵抗から、ドライブシャフト209の実際のねじれ角を推定する。具体的には、PCM50は、推定されたトルクからエンジン10側の角速度(エンジン10側のイナーシャの角速度)を求めると共に、推定された走行抵抗から車輪側の角速度を求め、これら角速度の差に基づきねじれ角を推定する。この場合、PCM50は、トランスミッション回転数センサ40よって検出されたクラッチ202の回転数(P軸の回転数)も用いて、ねじれ角を推定する。具体的には、PCM50は、モデル化誤差を抑制すべく、クラッチ202の回転数(実際のエンジン回転数に相当する)に基づき、上記のようにトルクから求められたエンジン10側の角速度(推定されたエンジン回転数に相当する)を補正するようにする。なお、以下では、エンジン10側の角速度のことを適宜エンジン回転数と言い換える。
次いで、PCM50は、このように推定したねじれ角(推定ねじれ角)と、最初に設定した目標ねじれ角とに基づき、上述したFB目標トルクを求める。具体的には、PCM50は、目標ねじれ角から推定ねじれ角を減算した値に対して所定のフィードバックゲインを適用することで、FB目標トルクを求める。そして、PCM50は、上述したFF目標トルクをこのFB目標トルクにより補正することで(典型的にはFF目標トルクに対してFB目標トルクを加算する)、最終目標トルクを求める。
次に、図5を参照して、本発明の実施形態による全体制御の流れの概要について説明する。図5に示すフローチャートに係る処理は、車両500のイグニッションがオンにされ、PCM50などに電源が投入された場合に起動され、所定周期(例えば50ms)で繰り返し実行される。
まず、ステップS101において、PCM50は、車両500の各種情報を取得する。具体的には、PCM50は、上述した各種センサ30〜40により検出されたパラメータを取得する。
次いで、ステップS102において、PCM50は、アクセル開度センサ30によって検出されたアクセル開度が0でないか否かを判定する。つまり、PCM50は、ドライバによりアクセルペダルが踏まれているか否かを判定する。その結果、アクセル開度が0でない場合(ステップS102:Yes)、PCM50は、ステップS103及びS109に進む。ステップS103以降の処理(ステップS103〜S108の処理)と、ステップS109以降の処理(ステップS109及びS110の処理)とは、並行して実行される。
ステップS103〜S108の処理の具体的内容は、図4で説明した通りである。すなわち、まず、ステップS103において、PCM50は、アクセル開度センサ30によって検出されたアクセル開度から目標加速度を求める。次いで、ステップS104において、PCM50は、この目標加速度に対応する目標ねじれ角を求める。次いで、ステップS105において、PCM50は、この目標ねじれ角を実現するためにエンジン10から出力させるべきFF目標トルクを求める。次いで、ステップS106において、PCM50は、このFF目標トルクを補正するためのFB目標トルクを求める(厳密には、FF目標トルクの算出と並行してFB目標トルクの算出が行われる)。次いで、ステップS107において、PCM50は、FF目標トルクをFB目標トルクにより補正することで、最終目標トルクを求める。次いで、ステップS108において、PCM50は、この最終目標トルクに基づきエンジン10を制御する。
他方で、ステップS109において、PCM50は、動力伝達系207内のギヤのガタの状態とドライブシャフト209のねじれの状態とを推定するためのガタ−ねじれ状態量推定処理を実行する。PCM50は、上記したステップS106においてFB目標トルクを求めるに当たって、このガタ−ねじれ状態量推定処理の結果を利用する。特に、PCM50は、ドライブシャフト209の実際のねじれ角を推定するに当たって、ガタ−ねじれ状態量推定処理の結果を適用する。
次いで、ステップS110において、PCM50は、動力伝達系207内のギヤのガタが詰まるときに発生する車体振動(以下では適宜「ガタ詰めショック」と呼ぶ。)を抑制すべく、ステップS109におけるガタ−ねじれ状態量推定処理の結果に基づき、ガタが詰まるときにエンジン10への燃料供給を停止(フューエルカット(F/C))するためのガタ詰めF/C制御を実行する。
一方で、ステップS102において、アクセル開度が0である場合(ステップS102:No)、つまりドライバによりアクセルペダルが踏まれていない場合、PCM50は、ステップS111及びS113に進む。ステップS111以降の処理(ステップS111及びS112の処理)と、ステップS113の処理とは、並行して実行される。
ステップS113においては、PCM50は、上記のステップS109と同様に、ガタ−ねじれ状態量推定処理を実行する。他方で、ステップS111において、PCM50は、アクセル開度が0になっているので(アクセルオフ)、エンジン10への燃料供給を停止(F/C)するためのトルクF/C制御を実行する。次いで、ステップS112において、PCM50は、ステップS113のガタ−ねじれ状態量推定処理の結果に基づき、動力伝達系207内のギヤのガタが詰まるときに発生する車体振動及びドライブシャフト209のねじれに起因する車体振動を抑制するためのガタねじれ制御を実行する。
(目標トルクの設定)
次に、図6乃至図8を参照して、本実施形態において目標トルクを設定する方法について具体的に説明する。
図6は、本発明の実施形態において目標加速度から目標トルクを設定するまでの流れを概略的に示す説明図である。まず、PCM50は、アクセル開度センサ30によって検出されたアクセル開度に基づき目標加速度を設定する。例えば、PCM50は、車速ごとに規定された、アクセル開度と目標加速度との関係を示すマップを用いて、現在の車速及びアクセル開度に対応する目標加速度を設定する。
次いで、PCM50は、目標加速度をドライブシャフト209の目標ねじれ角に変換する。具体的には、PCM50は、上述した式(1)及び式(2)を用いて、目標加速度を車輪トルクに変換した後、この車輪トルクを目標ねじれ角に変換する。基本的には、目標ねじれ角の時間的な変化の形態は、目標加速度の時間的な変化の形態と同様のものとなる。次いで、PCM50は、車両500に関する所定の駆動系モデルの逆モデルを用いて、目標ねじれ角を実現するためにエンジン10から出力させるべき目標トルクを求める(ここで求められる目標トルクは上述したFF目標トルクである)。本実施形態においては、目標トルクの時間的な変化の形態は、目標ねじれ角の時間的な変化の形態と部分的に異なるものとなる。
次に、図7は、本発明の実施形態において目標トルクを設定する方法を具体的に示す説明図である。図7に示すように、概説すると、PCM50は、ドライブシャフト209のねじれ角(目標ねじれ角)に応じたねじれ角トルク(第1トルク)と、ドライブシャフト209のねじれ角速度(目標ねじれ角を微分したもの)に応じたねじれ角速度トルク(第2トルク)とに基づき、目標トルクを設定する。具体的には、PCM50は、これらのトルクを加算することで目標トルクを設定する。その結果、目標トルクは、全体的にはねじれ角トルクに応じて上昇するが、この上昇過程においてねじれ角速度トルクに応じて一時的に低下するような時間波形を有するものとなる。
このような目標トルクの形状は、ドライブシャフト209にトルクが付与されていくと、トルクの上昇途中においてドライブシャフト209内にエネルギーが一旦溜められることでドライブシャフト209のねじれが一旦止まり、この後にドライブシャフト209内のエネルギーが放出されることでドライブシャフト209がねじれていく、というようなドライブシャフト209の挙動に対応している。本実施形態では、駆動系モデルの逆モデルを用いることで、このようなトルクが付与されたときのドライブシャフト209の挙動が加味された目標トルクを適用するようにしている。
より詳しくは、PCM50は、駆動系モデルの逆モデルを示す以下の式(3)を用いて、目標トルクを求める。
式(3)において、「Te」はエンジントルク(目標トルク)であり、「Tv」は走行抵抗トルクであり、「θ」はドライブシャフトのねじれ角であり(このθの上に付したドットにより、ねじれ角を1回微分したねじれ角速度と、ねじれ角を2回微分したねじれ角加速度とを表している)、「η」はギヤ比であり、「Je」はエンジンのイナーシャであり、「Jv」は車体のイナーシャであり、「k」はドライブシャフトの剛性であり、「c」はドライブシャフトの減衰である。また、式(3)において、右辺の第3項がねじれ角に応じたねじれ角トルクに相当し、右辺の第2項がねじれ角速度に応じたねじれ角速度トルクに相当する。基本的には、式(3)において、ねじれ角トルクの項及びねじれ角速度トルクの項が支配的であるため、図7に示したように、目標トルクがねじれ角トルク及びねじれ角速度トルクに応じた時間波形となる。
ここで、上記の式(3)は、以下のような考え方により規定されている。すなわち、本実施形態では、ドライブシャフト209のねじれによる車体振動を抑制しつつ、加減速時における過渡応答性を確保するように、目標ねじれ角に基づき目標トルクを設定している。特に、ドライブシャフト209のねじれによる振動を抑えるには、つまりねじれ角を所定値以下に収めるには、ねじれ速度を所定値以下に収める必要があり、そのためには、ねじれ角加速度を所定値以下に収める必要がある。このねじれ角加速度は「トルク×イナーシャ」により規定されるので、結局、トルクの振れ幅を一定以下に収める必要があるということになる。このような考え方に対して過渡応答性の確保を更に付加して、理想的なエンジントルクを求めるための式(3)が規定される。
次に、図8は、本発明の実施形態による目標トルクを適用したときの実ねじれ角を具体的に示す説明図である。図8において、実線は、本実施形態による目標トルク及び実ねじれ角を示し、破線は、比較例1による目標トルク及び実ねじれ角を示している。本実施形態では、トルクの上昇過程においてトルクが一時的に低下するような時間波形を有する目標トルクが適用される。これは、トルク付与時のドライブシャフト209の実際の挙動を加味したものである。このような目標トルクを適用することで、目標ねじれ角(図6参照)に相当する実ねじれ角が適切に生じることとなる。特に、本実施形態によれば、ドライブシャフト209が滑らかにねじれるので、ドライブシャフト209のねじれに起因する振動が抑制されることとなる。
これに対して、比較例1では、目標ねじれ角(図6参照)と同様の形態を有する目標トルクが適用される。すなわち、比較例1では、トルクが途中で低下することなく、そのまま上昇するような時間波形を有する目標トルクが適用される。これは、ドライブシャフト209のねじれを加味せず、ドライブシャフト209を剛体として扱うことに相当する。このような目標トルクを適用すると、実ねじれ角がオーバーシュートしてしまう。これは、トルクの与え過ぎによるものである。その結果、比較例1によれば、ドライブシャフト209のねじれに起因する振動が発生してしまう。
従来では、比較例1のような振動の発生を抑制すべく、図8の一点鎖線に示すような目標トルクが適用されていた(以下では「比較例2」と呼ぶ)。具体的には、比較例2では、立ち上がりをある程度遅らせた目標トルクが適用される。このような目標トルクによれば、実ねじれ角が緩やかにねじれることとなるので(図示せず)、ドライブシャフト209のねじれに起因する振動を抑制できる。しかしながら、加減速時における応答性(過渡応答性)が低下してしまう。これに対して、本実施形態では、目標トルクの立ち上がりを遅らせることなく、トルク付与時のドライブシャフト209の実際の挙動を加味した目標トルクを適用するので、過渡応答性の確保と車体振動の抑制とを適切に両立させることができる。
なお、上記したように設定された目標トルクを、エンジン10のトルクを調整するトルク調整機構の応答遅れを加味して補正してもよい。具体的には、PCM50は、エンジン10に供給される空気量を調整するスロットルバルブ5(空気量調整装置)の応答遅れを補償するように、目標トルクを補正するのがよい。
図9は、このような本発明の実施形態による目標トルクの補正についての説明図である。図9の上のグラフは、ドライバによるアクセル操作に応じたアクセル開度(実線)と、このアクセル開度に応じて車両500から発生させるべき加速度(破線)とを示している。このグラフに示すように、ドライバによるアクセル操作から適当な時間T11(例えば150msec程度)後に加速度を発生させると、ドライバはアクセル操作に応じて車両500が適切に加速していると感じる傾向にある。
図9の下のグラフは、上記のような加速度を車両500から発生させるために必要なエンジン10の実トルク(実線)と、この実トルクを実現するために適用すべき目標トルク(破線)とを示している。アクセル操作に応じてエンジン10のトルクを上昇させる場合、エンジン10に供給する空気量を増加させるようにスロットルバルブ5の開度を増大させる制御を行うこととなる。このような制御指令を出してからトルクが実際に変化するまでの間には時間遅れが存在する。この時間遅れは、スロットルバルブ5の応答遅れ等に相当する。
したがって、本実施形態では、PCM50は、このような応答遅れに相当する時間T12(例えば100msec程度)だけスロットルバルブ5の制御指令を早めるように、エンジン10から出力させるべき実トルクを当該時間T12だけ先出ししたトルクを、目標トルクとして適用するようにする。つまり、PCM50は、上述したように目標ねじれ角から設定した目標トルクを、スロットルバルブ5の応答遅れに相当する時間T12だけ早める補正を行う。これにより、スロットルバルブ5の応答遅れによりエンジン10のトルク出力がドライバの加速要求に対して遅れてしまうことを適切に抑制できる。なお、図9では、加速時における目標トルクの補正を示したが、このような目標トルクの補正は減速時にも同様に適用可能である。
(ガタ−ねじれ状態量推定処理)
次に、図5のステップS109、S113で行われるガタ−ねじれ状態量推定処理について具体的に説明する。上述したように、このガタ−ねじれ状態量推定処理は、動力伝達系207内のギヤ(デファレンシャルギヤやファイナルギヤなど)のガタの状態及びドライブシャフト209のねじれの状態を推定するために行われる。
図10は、本発明の実施形態によるガタ−ねじれ状態量推定処理を示すフローチャートである。典型的には、この処理は、車両500が停止状態から発進するときに開始される。ここで、ギヤのガタとドライブシャフト209のねじれとは、ギヤにおいてガタが存在するときにはドライブシャフト209はねじれておらず、他方で、ドライブシャフト209がねじれているときにはギヤにおいてガタは存在しない(ガタが詰まった状態にある)、という関係にある。したがって、本実施形態によるガタ−ねじれ状態量推定処理では、ギヤのガタの状態を推定するための処理(ステップS201〜S206、S212)と、ドライブシャフト209のねじれの状態を推定するための処理(ステップS207〜S211)と、が切り替えて実行されるように構成されている。
ガタ−ねじれ状態量推定処理が開始されると、まず、ステップS201において、PCM50は、動力伝達系207内のギヤのガタの有無を示す「ガタ判定フラグ」をオンに設定する。ステップS201を実行している状況(例えば停止状態からの発進時)は、ガタが存在している状況、換言するとガタが詰まっていない状況であるので、PCM50は、ガタ判定フラグをオンに設定する。また、PCM50は、ギヤのガタの初期位置を示す初期ガタ角を0に設定する。
次いで、ステップS202において、PCM50は、エンジン10の目標トルクを補正する。具体的には、PCM50は、ギヤのガタ詰めを速やかに完了させるように(ドライブシャフト209で見た場合、ねじれ角が0になってから駆動方向側の値(>0)又は減速方向側の値(<0)へと変化するまでの時間を短縮することに相当する)、目標トルクを補正する。特に、PCM50は、目標トルクが増加方向に変化している場合には、当該目標トルクを増加方向に補正する一方で、目標トルクが減少方向に変化している場合には、当該目標トルクを減少方向に補正する。例えば、PCM50は、目標トルクが増加方向に変化している場合には、当該目標トルクを事前に設定した所定量だけ増加させる一方で、目標トルクが減少方向に変化している場合には、当該目標トルクを事前に設定した所定量だけ減少させる。
次いで、ステップS203において、PCM50は、所定のエンジントルクモデルを用いてエンジン10のトルクを推定して、このトルクからエンジン10側の角速度(エンジン10側のイナーシャの角速度)を求めると共に、所定の走行抵抗モデルを用いて走行抵抗を推定して、この走行抵抗から車輪側の角速度を求める。この場合、PCM50は、トランスミッション回転数センサ40よって検出されたクラッチ202の回転数(P軸の回転数)を用いて、エンジン10側の角速度を補正してもよい。
次いで、ステップS204において、PCM50は、ステップS203で求められたエンジン10側の角速度と車輪側の角速度との差に基づいて、ギヤのガタ変化角を求める。PCM50は、角速度差が大きいほど、大きなガタ変化角を求める。
次いで、ステップS205において、PCM50は、ステップS204で求められたガタ変化角に基づいて、現在のガタ角を求める。具体的には、PCM50は、前回求めたガタ角に対してガタ変化角を加算することで、現在のガタ角を求める。
次いで、ステップS206において、PCM50は、ステップS205で求められたガタ角がガタ設計値を超えたか否かを判定する。このガタ設計値(例えば3度程度)は、ガタが詰まった状態にあるギヤのガタ角に相当する。したがって、ステップS206の判定は、ガタが詰まったか否かの判定に相当する。このステップS206において、ガタ角がガタ設計値を超えたと判定されなかった場合(ステップS206:No)、つまりガタが詰まっていない場合、PCM50は、ステップS203に戻り、ステップS203以降の処理を再度実行する。
一方で、ステップS206において、ガタ角がガタ設計値を超えたと判定された場合(ステップS206:Yes)、つまりガタが詰まった場合、PCM50は、ステップS207に進む。この場合、PCM50は、ガタ判定フラグをオフにする(ステップS207)。また、ガタが詰まった時点においては、ドライブシャフト209は未だねじれていないので、PCM50は、このステップS207において、ドライブシャフト209の初期のねじれ角を示す初期ねじれ角を0に設定する。
次いで、ステップS208において、PCM50は、所定のエンジントルクモデルを用いてエンジン10のトルクを推定して、このトルクからエンジン10側の角速度(エンジン10側のイナーシャの角速度)を求めると共に、所定の走行抵抗モデルを用いて走行抵抗を推定して、この走行抵抗から車輪側の角速度を求める。この場合、PCM50は、トランスミッション回転数センサ40よって検出されたクラッチ202の回転数(P軸の回転数)を用いて、エンジン10側の角速度を補正してもよい。
次いで、ステップS209において、PCM50は、ステップS208で求められたエンジン10側の角速度と車輪側の角速度との差に基づいて、ドライブシャフト209のねじれ変化角を求める。PCM50は、角速度差が大きいほど、大きなねじれ変化角を求める。
次いで、ステップS210において、PCM50は、ステップS209で求められたねじれ変化角に基づいて、現在のねじれ角を求める。具体的には、PCM50は、前回求めたねじれ角に対してねじれ変化角を加算することで、現在のねじれ角を求める。
次いで、ステップS211において、PCM50は、ステップS210で求められたねじれ角が0であるか否かを判定する、換言するとドライブシャフト209がねじれていないか否かを判定する。ステップS211において、ねじれ角が0であると判定されなかった場合(ステップS211:No)、つまりドライブシャフト209がねじれている場合、PCM50は、ステップS208に戻り、ステップS208以降の処理を再度実行する。
一方で、ステップS211において、ねじれ角が0であると判定された場合(ステップS211:Yes)、つまりドライブシャフト209がねじれていない場合、PCM50は、ステップS212に進む。この場合、PCM50は、ガタ判定フラグをオンにする(ステップS212)。つまり、この後にギヤのガタ詰めが開始されるので、PCM50は、ガタ判定フラグをオフからオンに切り替える。また、ねじれ角が0になった時点においては、ガタは未だ詰まった状態にあるので、PCM50は、このステップS212において、初期ガタ角を上述したガタ設計値に設定する。なお、加速側(駆動側)のガタ設計値は正値であり、減速側のガタ設計値は負値である。
ステップS212の後、PCM50は、ガタ−ねじれ状態量推定処理を終了し、メインルーチン(図5)に戻る。
次に、図11を参照して、本実施形態において、ギヤのガタ詰めを速やかに完了させるように目標トルクを補正した場合(図10のステップS202参照)の作用効果について説明する。図11は、上から順に、車速、アクセル開度、加速度(実線は実加速度、破線は目標加速度)、トルク(実線は目標トルク、破線は実トルク)、ねじれ角(実線は目標ねじれ角、破線は推定ねじれ角)、ギヤのガタ角(推定ガタ角)、ガタ速度(実線は推定ガタ速度、破線は目標ガタ速度)、ガタ速度F/B量、トルクF/B量、のタイムチャートを示している。図11は、車両500の加速時について例示している。
図11に示すように、車両500の加速に起因してガタ角が変化し始めたときに、つまりギヤのガタ詰めが開始したときに(このときにドライブシャフト209のねじれ角が0になる)、PCM50は、その後のギヤのガタ詰めを速やかに完了させるように目標トルクを補正する。図11に示す状況では、目標トルクが増加方向に変化しているため、PCM50は、目標トルクを増加方向に補正する(矢印A11参照)。
そして、PCM50は、ギヤのガタ詰め中、以下の手順にて目標トルクを決定する。すなわち、PCM50は、ギヤのガタがどの程度の速度で詰まっているのかを推定し(推定ガタ速度)、この推定結果に基づき目標ガタ速度を設定する。そして、PCM50は、目標ガタ速度と推定ガタ速度との差に基づきガタ速度を制御するためのガタ速度F/B量を設定し、このガタ速度F/B量に応じたトルクF/B量を目標トルクに適用する。これにより、ギヤのガタ詰めが完了するタイミングにおいて、目標トルクが一時的に低下される(矢印A12参照)。その結果、ガタ詰めが完了するときに発生する振動(ガタ詰めショック)を抑制することが可能となる。
(ガタ詰めF/C制御)
次に、図5のステップS110で行われるガタ詰めF/C制御について具体的に説明する。PCM50は、このガタ詰めF/C制御として、動力伝達系207内のギヤのガタが詰まるときに発生する車体振動(ガタ詰めショック)を抑制すべく、エンジン10への燃料供給の停止(F/C)を実行する。特に、本実施形態では、PCM50は、上述したようにギヤのガタ詰めを速やかに完了させるように目標トルクを補正するため、ガタ詰めショックが大きくなる傾向にあるので、このガタ詰めショックを適切に抑制すべく、ガタ詰めF/C制御を実行してトルクを低下させる。ここで、ガタ詰めショック抑制のためのトルク低下の実現方法として、F/C以外にも点火時期を遅角(リタード)させる方法も考えられるが、エンジン10の燃焼限界により点火時期の遅角により所望のトルク低下を実現できない可能性が高いので、本実施形態では、ガタ詰めショック抑制のためのトルク低下の実現方法としてF/Cを採用している。
図12は、本発明の実施形態によるガタ詰めF/C制御を示すフローチャートである。典型的には、このガタ詰めF/C制御は、車両500の加速時に実行される。
ガタ詰めF/C制御が開始されると、まず、ステップS301において、PCM50は、上述したガタ−ねじれ状態量推定処理の結果に基づき、エンジン10の3点火(360degCA)後にギヤのガタが詰まるか否かを判定する。具体的には、PCM50は、ガタ−ねじれ状態量推定処理に基づき、ギヤのガタ詰めの開始(ガタ突入)からガタ詰めの完了までに要する時間(以下では「ガタ詰め時間」と呼ぶ。)を設定し、ガタ詰めの開始時に当該ガタ詰め時間に対応するタイマーをセットしてカウントダウンを実施する。そして、PCM50は、現在、このタイマーのカウントダウンが終了するタイミング(ガタ詰め完了タイミング)よりも3点火前のタイミングとなったか否かを判定するなお、ガタ詰め完了の3点火前のタイミングを判定しているのは、ガタ詰めショック抑制のためのF/Cの指令を出してから実際にエンジン10においてF/Cが実施されるまでに、概ね3点火分の時間を要するからである。
ステップS301において、3点火後にギヤのガタが詰まると判定された場合(ステップS301:Yes)、PCM50は、ステップS302に進み、エンジン10のF/Cを実行してよいか否かを判定する。具体的には、PCM50は、(i)有負荷中であること、換言するとクラッチ202が接続されていること、(ii)車速が所定速度(1〜2km/h程度)以上であること、(iii)アクセルオンからF/Cを一度も実行していないこと、(iv)エンジン10が気筒休止運転中ではないこと、の4条件を用いて、F/Cを実行してよいか否かを判定する。すなわち、PCM50は、(i)〜(iv)の4条件が全て成立している場合にはF/Cを実行してよいと判定する一方で、(i)〜(iv)の4条件が1つでも成立していない場合にはF/Cを実行してよいと判定しない。なお、(iii)アクセルオンからF/Cを一度も実行していないことという条件を用いているのは、アクセルペダルの踏み込みと踏み戻しが繰り返し実行されてF/Cが何度も実行されることでショックが発生してしまうのを抑制するためである。
ステップS302において、F/Cを実行してよいと判定された場合(ステップS302:Yes)、PCM50は、ステップS303に進み、エンジン10の1つの気筒11に対するF/Cを実行する。具体的には、PCM50は、全気筒11の中で次に燃焼が生じる気筒11について、この気筒11内への燃料の供給を停止するように燃料噴射弁13を制御する。これにより、ギヤのガタが詰まるときにエンジン10のトルクを一時的に低下させることで、ガタ詰めショックを抑制するようにする。
他方で、3点火後にギヤのガタが詰まると判定されなかった場合(ステップS301:No)、及び、F/Cを実行してよいと判定されなかった場合(ステップS302:No)、PCM50は、ステップS304に進む。この場合には、PCM50は、エンジン10のF/Cを実行しない(ステップS304)。
ステップS303及びステップS304の後、PCM50は、ガタ詰めF/C制御を終了し、メインルーチン(図5)に戻る。
次に、図13を参照して、上述したガタ詰め時間の求め方について具体的に説明する。図13は、上から順に、角速度(実線は車輪の角速度、破線はエンジン10の角速度)、ガタ角、ガタ角速度、ガタ角加速度、エンジン10のトルク、のタイムチャートを示している。
図13に示す例では、時刻t21において、エンジン10の角速度が車輪の角速度から乖離する(具体的には、加速によりエンジン10の角速度が車輪の角速度よりも大きくなる)。この時刻t21において、ギヤのガタ詰めが開始する。PCM50は、このようにガタ詰めが開始したときに、以下の手順にてガタ詰め時間を求める。ガタ角は、ガタ速度を積分したものであり、ガタ速度は、ガタ加速度を積分したものとなり、ガタ加速度は、エンジン10のトルク及び走行抵抗に対応するものとなる。したがって、PCM50は、エンジン10のトルク及び走行抵抗からガタ加速度を求め、このガタ加速度からガタ速度を求め(なお、エンジン10側のフライホイールの速度より、ガタ速度には初速度v21が与えられる)、このガタ速度からガタ角を求める。そして、PCM50は、こうして求めたガタ角と上述したガタ設計値から、ギヤのガタ詰め完了タイミング(時刻t22)を求める。PCM50は、時刻t21から時刻t22までの時間を、ガタ詰め時間として用いる。そして、PCM50は、ガタ詰めが開始したときに(時刻t21)、このガタ詰め時間に対応するタイマーをセットしてカウントダウンを実施する。
次に、図14を参照して、ガタ詰めショック抑制のためのF/Cの指示タイミングについて具体的に説明する。図14は、上から順に、点火タイミング、ガタ詰め時間(タイマー)、F/Cの指示タイミング、F/Cの実行タイミング、のタイムチャートを示している。
上述したように、F/Cの指示を出してから実際にエンジン10においてF/Cが実施されるまでに、3点火程度の時間を要する。したがって、PCM50は、ガタ詰め時間に対応するタイマーをセットしたときに、このタイマーのカウントダウンが終了するタイミング(ガタ詰め完了タイミング)から3点火に相当する時間T31遡ったタイミングを求めておき、このタイミングに達したときにエンジン10のF/Cの指示を出す。これにより、ガタ詰め完了タイミングにおいて、エンジン10においてF/Cが実際に実行されることとなる。
次に、図15を参照して、本発明の実施形態によるガタ詰めF/C制御の作用効果について説明する。図15は、上から順に、エンジン回転数、アクセル開度、加速度、実ねじれ角、推定ねじれ角、ガタ詰め時間(タイマー)、エンジントルク、のタイムチャートを示している。図15において、実線は、本実施形態によるガタ詰めF/C制御を実行した場合の結果を示しており、破線は、本実施形態によるガタ詰めF/C制御を実行しなかった場合の結果を示している。図15は、車両500の加速時について例示している。
本実施形態では、PCM50は、加速時におけるガタ詰め完了タイミングにおいて、つまりガタ詰め時間に対応するタイマーのカウントダウンが終了するタイミングにおいて(このタイミングにおいてドライブシャフト209のねじれ角が0から駆動方向側へと変化する)、ガタ詰めF/C制御により、エンジン10の1つの気筒11に対するF/Cを実行する(矢印A21参照)。このようなガタ詰めF/C制御を実行することにより、当該ガタ詰めF/C制御を実行しない場合と比較して、ガタ詰め完了後における車体振動(ガタ詰めショック)が適切に抑制される(矢印A22参照)。
なお、ガタ詰めF/C制御において1つの気筒11のみに対してF/Cを実行しているのは、エミッション確保の観点からである。しかしながら、2以上の気筒11に対するF/Cを実行してもエミッションが悪化しない場合や、エミッションよりもガタ詰めショック抑制(制振性)を優先させる場合などには、ガタ詰めF/C制御において2以上の気筒11に対するF/Cを実行してもよい。
(トルクF/C制御)
次に、図5のステップS111で行われるトルクF/C制御について具体的に説明する。上述したように、PCM50は、車両500が減速するときに、エンジン10への燃料供給を停止(F/C)するためのトルクF/C制御を実行する。
図16は、本発明の実施形態によるトルクF/C制御を示すフローチャートである。基本的には、このトルクF/C制御は、車両500の減速時に実行される。
トルクF/C制御が開始されると、まず、ステップS401において、PCM50は、トルクF/C制御実行条件が成立しているか否かを判定する。具体的には、PCM50は、(i)所定開度以上のアクセル開度から所定速度以上でアクセル開度が減少したこと、(ii)トルクF/C制御の禁止条件が成立していないこと、具体的には別の制御(上記したガタ詰めF/C制御など)によるF/Cが作動していないこと、(iii)エンジン回転数が所定値以上であり且つギヤ段が所定値以上であること、(iv)F/Cの許可ゾーンに入っていること、(v)エンジン充填効率に関する条件が成立していること、具体的には実空気量が目標空気量に追従していないこと、の5条件を用いて判定を行う。すなわち、PCM50は、(i)〜(v)の5条件が全て成立している場合にはトルクF/C制御実行条件が成立していると判定する一方で、(i)〜(v)の5条件が1つでも成立していない場合にはトルクF/C制御実行条件が成立していると判定しない。
ステップS401において、トルクF/C制御実行条件が成立していると判定された場合(ステップS401:Yes)、PCM50は、ステップS402に進み、エンジン10の全気筒11のうちでF/Cを実行する気筒数(F/C気筒数)を求める。具体的には、PCM50は、実現可能な最小トルク(点火時期を限界まで遅角させたときに得られたトルクであり、以下では「リタード限界トルク」と呼ぶ。)に対する目標トルクの割合(目標トルク/リタード限界トルク)を求め、この割合に基づき目標トルクを実現可能な気筒数を求める。この実現可能な気筒数を全気筒数から減算した値がF/C気筒数となる。F/C気筒数の求める式は、「F/C気筒数=全気筒数−{(目標トルク/リタード限界トルク)×全気筒数}」により表される。基本的には、車両500が減速しているので、「目標トルク<リタード限界トルク」となる傾向にある、すなわち「目標トルク/リタード限界トルク」の割合が1未満(100%未満)となる傾向にある。
次いで、ステップS403において、PCM50は、ステップS402の後にドライバからの減速要求が増えた場合にはF/C気筒数を増加させる。PCM50は、減速要求が変化していない場合にはF/C気筒数を維持する。そして、PCM50は、ステップS404に進み、このように求められたF/C気筒数に応じてエンジン10を制御する。具体的には、PCM50は、全気筒11の中でF/C気筒数に対応する気筒11に対して、燃料の供給を停止するように燃料噴射弁13を制御する。
他方で、トルクF/C制御実行条件が成立していると判定されなかった場合(ステップS401:No)、PCM50は、ステップS405に進む。この場合には、PCM50は、エンジン10のF/Cを実行しないようにする(ステップS405)。PCM50は、F/C気筒数を0に設定して、ステップS404において、F/Cを実行せずにエンジン10を通常通り制御するようにする。
ステップS404の後、PCM50は、トルクF/C制御を終了し、メインルーチン(図5)に戻る。
(ガタねじれ制御)
次に、図5のステップS112で行われるガタねじれ制御について具体的に説明する。このガタねじれ制御として、PCM50は、車両500の減速時において、ギヤのガタが詰まるときに発生する車体振動(ガタ詰めショック)及びドライブシャフト209のねじれに起因する車体振動を抑制するために、エンジン10に対するF/Cを実行する。
図17乃至図21を参照して、本発明の実施形態によるガタねじれ制御について説明する。図17は、本発明の実施形態によるガタねじれ制御を示すフローチャートであり、図18は、本発明の実施形態によるガタねじれ制御の第1制御を示すタイムチャートであり、図19は、本発明の実施形態によるガタねじれ制御の第2制御を示すタイムチャートであり、図20は、本発明の実施形態によるガタねじれ制御の第3制御を示すタイムチャートであり、図21は、本発明の実施形態によるガタねじれ制御の第4制御を示すタイムチャートである。
なお、ここでは、ガタねじれ制御を説明するに当たって、エンジン10の全気筒数が4である場合、つまりエンジン10が4気筒エンジンである場合を例に挙げる。但し、本実施形態によるガタねじれ制御の適用が4気筒エンジンに限定されないこと、換言すると本実施形態によるガタねじれ制御の適用が他の多気筒エンジンにも適用可能であることは言うまでもない。
図17のガタねじれ制御は、基本的には、車両500の減速時に実行される。このガタねじれ制御が開始されると、まず、ステップS501において、PCM50は、上述したガタ−ねじれ状態量推定処理の結果に基づき、エンジン10の3点火後にギヤのガタが詰まるか否かを判定する。この場合にも、ガタ詰めF/C制御と同様に(図12のステップS301参照)、ガタ詰め時間を用いて判定すればよい。
ステップS501において、3点火後にガタが詰まると判定されなかった場合(ステップS501:No)、PCM50は、ガタねじれ制御を終了し、メインルーチン(図5)に戻る。これに対して、3点火後にガタが詰まると判定された場合(ステップS501:Yes)、PCM50は、ステップS502に進み、F/C気筒数が全気筒数(4気筒)であるか否かを判定する。つまり、PCM50は、上述したトルクF/C制御により、全気筒11がF/Cの対象として設定されたか否かを判定する。このステップS502の判定は、ドライバの減速要求が非常に大きいか否かを判定していることに相当する。
ステップS502において、F/C気筒数が全気筒数であると判定された場合(ステップS502:Yes)、PCM50は、ステップS503に進む。この場合、PCM50は、ステップS503、S504において、ガタねじれ制御の第1制御を実行する。ここで、図18を参照して、第1制御について具体的に説明する。この第1制御は、ドライバの減速要求が非常に大きい場合に実行される制御である。
図18は、上にドライブシャフト209のねじれ角を示し、下にF/C気筒数を示している。ここでは、アクセルオフにより車両500が減速しており、全気筒11(4気筒)に対してF/Cが実行されている状況を前提とする。この場合、ドライブシャフト209のねじれ角が減少していって0になり(時刻t41)、それから時間T41の経過後に、ドライブシャフト209のねじれ角が減速方向側へと変化し始める(時刻t42)。この時刻t41から時刻t42までの期間は、ギヤのガタ詰めが開始してからガタ詰めが完了するまでの期間に相当する。時刻t42の後、ドライブシャフト209では、走行抵抗に起因して、その固有振動数に従って周期的なねじれが生じる。
第1制御では、PCM50は、ステップS503において、ドライブシャフト209のねじれ角が0から減速方向側へと変化するときに(時刻t42)、F/Cを徐々に復帰させる。具体的には、PCM50は、燃料供給を停止している気筒11への燃料供給を徐々に再開させて、つまり1気筒ずつ順番に燃料供給を再開させて、エンジン10のトルクを上昇させる。これにより、ガタ詰めが完了するときに発生する振動(ガタ詰めショック)を抑制するようにする。
この後、PCM50は、ステップS504において、ドライブシャフト209のねじれ角が1回目の減速方向側のピーク(以下では適宜「減速ピーク」と呼ぶ。)に到達したときに(時刻t43)、F/Cを徐々に再開させる。具体的には、PCM50は、時刻t42からドライブシャフト209の固有振動数に対応する周期の1/4の時間が経過したときに、燃料供給を再開させた気筒11への燃料供給を再び徐々に停止させて、つまり1気筒ずつ順番にF/Cを再開させて、エンジン10のトルクを低下させる。これにより、減速ピーク後におけるドライブシャフト209のねじれのはね上がりを抑えることで、ドライブシャフト209のねじれに起因する振動を抑制する。このような第1制御によれば、ガタが詰まるときに発生する振動(ガタ詰めショック)及びドライブシャフト209のねじれに起因する振動の両方を適切に抑制することができる。
図17に戻ると、ステップS502において、F/C気筒数が全気筒数であると判定されなかった場合(ステップS502:No)、PCM50は、ステップS505に進み、3点火後にドライブシャフト209のねじれがピーク(減速ピーク)になるか否かを判定する。PCM50は、ドライブシャフト209の固有振動数に対応する周期の1/4の時間から、ねじれがピークになるタイミングを求め、このタイミングから3点火に対応する時間遡ったタイミングを求めて、ステップS505の判定を行う。
ステップS505において、3点火後にねじれがピークになると判定されなかった場合(ステップS505:No)、PCM50は、ガタねじれ制御を終了し、メインルーチン(図5)に戻る。これに対して、3点火後にねじれがピークになると判定された場合(ステップS505:Yes)、PCM50は、ステップS506に進み、ドライバの減速要求が比較的大きいか否かを判定する。具体的には、PCM50は、ギヤ段、エンジン回転数及びエンジントルクのうちの少なくとも1つ以上に基づき、ドライバの減速要求が比較的大きいか否かを判定する。このステップS506で判定される減速要求のレベルは、上述した第1制御が実行される場合に求められる減速要求のレベルよりも小さいものとする。例えば、PCM50は、ギヤ段が3速以上であり、エンジン回転数が3000rpm以上であり、且つエンジントルクが150Nm以上である場合に、ステップS506において減速要求が比較的大きいと判定する。
ステップS506において、減速要求が比較的大きいと判定された場合(ステップS506:Yes)、PCM50は、ステップS507に進む。この場合、PCM50は、ステップS507において、ガタねじれ制御の第2制御を実行する。ここで、図19を参照して、第2制御について具体的に説明する。
図19は、上にドライブシャフト209のねじれ角を示し、下にF/C気筒数を示している。ここでは、車両500が減速しているが、F/Cが未だ実行されていない状況(F/C気筒数=0)を前提とする。図19に示すドライブシャフト209のねじれ角の変化は、図18と同様であるため、その説明を省略する。
第2制御では、PCM50は、ステップS507において、ドライブシャフト209のねじれ角が1回目の減速ピークに到達したときに(時刻t43)、全気筒11に対するF/Cを実行する。具体的には、PCM50は、1気筒ずつ順番に燃料供給を停止させて、全気筒11への燃料供給を停止させることで、エンジン10のトルクを低下させる。これにより、減速ピーク後におけるドライブシャフト209のねじれのはね上がりを抑えることで、ドライブシャフト209のねじれに起因する振動を抑制する。このような第2制御によれば、減速要求を確実に満たしつつ、ドライブシャフト209のねじれに起因する振動も適切に抑制することができる。
図17に戻ると、ステップS506において、減速要求が比較的大きいと判定されなかった場合(ステップS506:No)、PCM50は、ステップS508に進み、ドライバの減速要求が中程度であるか否かを判定する。具体的には、PCM50は、ギヤ段、エンジン回転数及びエンジントルクのうちの少なくとも1つ以上に基づき、ドライバの減速要求が中程度であるか否かを判定する。このステップS508で判定される減速要求のレベルは、ステップS506で判定される減速要求のレベルよりも小さいものとする。例えば、PCM50は、エンジン回転数が1500rpm以上であり、且つエンジントルクが50Nm以上である場合に、ステップS508において減速要求が中程度であると判定する。
ステップS508において、減速要求が中程度であると判定された場合(ステップS508:Yes)、PCM50は、ステップS509に進む。この場合、PCM50は、ステップS509及びS510において、ガタねじれ制御の第3制御を実行する。ここで、図20を参照して、第3制御について具体的に説明する。
図20は、上にドライブシャフト209のねじれ角を示し、下にF/C気筒数を示している。ここでは、車両500が減速しているが、F/Cが未だ実行されていない状況(F/C気筒数=0)を前提とする。図20に示すドライブシャフト209のねじれ角の変化は、図18と同様であるため、その説明を省略する。
第3制御では、PCM50は、ステップS509において、ドライブシャフト209のねじれ角が1回目の減速ピークに到達したときに(時刻t43)、4気筒中の2つの気筒11に対するF/Cを実行する。具体的には、PCM50は、1気筒ずつ順番に燃料供給を停止させて、2つの気筒11への燃料供給を停止させることで、エンジン10のトルクを低下させる。この後、PCM50は、ステップS510において、ドライブシャフト209のねじれ角が2回目の減速ピークに到達したときに(時刻t44)、更に2つの気筒11に対するF/Cを実行する。具体的には、PCM50は、1気筒ずつ順番に燃料供給を停止させて、残りの2つの気筒11への燃料供給を停止させることで、エンジン10のトルクを低下させる。これにより、全気筒11に対するF/Cが完了する。このような第3制御では、1回目及び2回目のそれぞれの減速ピーク後におけるドライブシャフト209のねじれのはね上がりを抑えることで、ドライブシャフト209のねじれに起因する振動を抑制する。これにより、減速要求をある程度満たしつつ、ドライブシャフト209のねじれに起因する振動を効果的に抑制することができる。
図17に戻ると、ステップS508において、減速要求が中程度であると判定されなかった場合(ステップS508:No)、つまり減速要求が低い場合、PCM50は、ステップS511に進む。この場合、PCM50は、ステップS511〜S514において、ガタねじれ制御の第4制御を実行する。ここで、図21を参照して、第4制御について具体的に説明する。
図21は、上にドライブシャフト209のねじれ角を示し、下にF/C気筒数を示している。ここでは、車両500が減速しているが、F/Cが未だ実行されていない状況(F/C気筒数=0)を前提とする。図21に示すドライブシャフト209のねじれ角の変化は、図18と同様であるため、その説明を省略する。
第4制御では、PCM50は、ステップS511において、ドライブシャフト209のねじれ角が1回目の減速ピークに到達したときに(時刻t43)、4気筒中の1つの気筒11に対するF/Cを実行して(F/C気筒数=1となる)、エンジン10のトルクを低下させる。次いで、PCM50は、ステップS512において、ドライブシャフト209のねじれ角が2回目の減速ピークに到達したときに(時刻t44)、更に1つの気筒11に対するF/Cを実行して(F/C気筒数=2となる)、エンジン10のトルクを低下させる。次いで、PCM50は、ステップS513において、ドライブシャフト209のねじれ角が3回目の減速ピークに到達したときに(時刻t45)、更に1つの気筒11に対するF/Cを実行して(F/C気筒数=3となる)、エンジン10のトルクを低下させる。次いで、PCM50は、ステップS514において、ドライブシャフト209のねじれ角が4回目の減速ピークに到達したときに(時刻t46)、更に1つの気筒11に対するF/Cを実行して(F/C気筒数=4となる)、エンジン10のトルクを低下させる。これにより、全気筒11に対するF/Cが完了する。このような第4制御では、1回目〜4回目のそれぞれの減速ピーク後におけるドライブシャフト209のねじれのはね上がりを抑えることで、ドライブシャフト209のねじれに起因する振動を抑制する。これにより、ドライブシャフト209のねじれに起因する振動をより効果的に抑制することができる。
ステップS504、S507、S510、S514の後、PCM50は、ガタねじれ制御を終了し、メインルーチン(図5)に戻る。
<作用効果>
次に、本発明の実施形態による車両の制御装置の作用効果について説明する。
本実施形態では、PCM50は、エンジン10側の角速度と車輪側の角速度との差に基づきドライブシャフト209の実ねじれ角を求め、この実ねじれ角が0になってから駆動方向側又は減速方向側へと変化するまでの間に目標トルクを補正する。これにより、車両500の加減速時において、動力伝達系207内のギヤのガタ詰めを速やかに完了させることができ、加減速時における応答性(過渡応答性)を改善することができる。
また、本実施形態では、PCM50は、実ねじれ角が0になってから駆動方向側又は減速方向側へと変化するまでの時間を短縮するように目標トルクを補正するので、迅速なギヤのガタ詰めを確実に実現することができる。
また、本実施形態では、PCM50は、目標トルクが増加方向に変化している場合には目標トルクを増加方向に補正し、目標トルクが減少方向に変化している場合には目標トルクを減少方向に補正するので、加速時及び減速時の両方において迅速なギヤのガタ詰めを効果的に実現することができる。
また、本実施形態では、PCM50は、エンジン10のトルクに基づきエンジン10側の角速度を求めると共に、車両500の走行抵抗に基づき車輪側の角速度を求めるので、実ねじれ角を精度良く求めることができる。
また、本実施形態では、PCM50は、アクセル開度に応じた目標加速度に基づきドライブシャフト209の目標ねじれ角を設定し、この目標ねじれに基づきエンジン10の目標トルクを設定してエンジン10を制御する。これにより、加減速時(つまりトルク上昇又はトルク低下の過渡時)におけるドライブシャフト209の挙動が加味された目標トルクを適用することができ、ドライブシャフト209のねじれに起因する車体振動を抑制しつつ、加減速時における応答性(過渡応答性)を確保することが可能となる。
また、本実施形態では、PCM50は、ドライブシャフト209のねじれ角に応じたねじれ角トルクと、ドライブシャフト209のねじれ角速度に応じたねじれ角速度トルクとに基づき目標トルクを設定するので、ドライブシャフト209の挙動が適切に加味された目標トルクを適用することができる。このような目標トルクを適用することで、目標ねじれ角に相当する実ねじれ角を適切に生じさせることができ、ドライブシャフト209のねじれに起因する振動を効果的に抑制することができる。
また、本実施形態では、目標トルクは、ねじれ角トルクに応じて上昇し、この上昇過程においてねじれ角速度トルクに応じて一時的に低下するような時間波形を有しているので、トルク上昇又はトルク低下の過渡時におけるドライブシャフト209の挙動がより効果的に加味された目標トルクを適用することができる。
また、本実施形態では、PCM50は、上記のように設定した目標ねじれ角とドライブシャフト209の実ねじれ角との差に基づき目標トルクを補正するので、目標ねじれ角に応じた実ねじれ角を適切に実現できるようになる。
<変形例>
上述した実施形態では、エンジン10を駆動源とする車両500に本発明を適用する例を示したが、変形例では、図22に示すようなモータ300を駆動源とする車両501(いわゆる電気自動車(EV車両))に本発明を適用してもよい。この車両501では、モータ300はクラッチ202を介して減速機205に接続されている(その他の構成は車両500と同様である)。このような変形例では、図示しないPCM50(制御器)は、インバータ(図示せず)を介してモータ300を制御することで、モータ300のトルクを調整すればよい。なお、更なる変形例では、エンジン及びモータを駆動源とする車両(いわゆるハイブリッド車両)に本発明を適用してもよい。