(57)【特許請求の範囲】
【請求項１】
エンジン出力を無段階に変速して車輪に伝達するベルト式無段変速機の制御装置であって、車速および加速指示情報に基づいて目標変速比および目標変速比変化速度を求め、変速機入力トルクおよび変速比に応じてベルトスリップを発生させずに動力伝達を行わせるために必要な従動側プーリ必要軸推力を求め、前記従動側プーリ必要軸推力を従動側プーリ目標軸推力として設定し、前記従動側プーリ目標軸推力を用いて変速比を前記目標変速比まで前記目標変速比変化速度で変化させるために前記駆動側プーリに必要とされる軸推力を駆動側プーリ目標軸推力として設定し、前記従動側プーリ目標軸推力及び駆動側プーリ目標軸推力に応じて設定される目標供給油圧に基づいて変速制御を行うベルト式無段変速機の制御装置において、
油圧センサによる油圧検出値に基づいて油圧脈動の振幅と周期を検出し、検出した周期中の最大振幅に基づいて油圧補正量を求め、該油圧補正量により前記目標供給油圧を増加するよう補正する補正手段を具備することを特徴とするベルト式無段変速機の制御装置。
【請求項２】
前記補正手段は、前記油圧脈動に含まれる第１の脈動周期を検出し、該第１の脈動周期に対応する油圧脈動のバイアス成分を検出し、該バイアス成分の変動から前記第１の脈動周期よりも長い第２の脈動周期の有無を検出する手段を含み、前記油圧脈動に含まれる複数の周波数成分に対応する脈動周期を短い周期から長い周期へと順次階層的に検出することにより、より長い脈動周期中の最大振幅に基づいて前記油圧補正量を求めることを特徴とする請求項１に記載のベルト式無段変速機の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はベルト式無段変速機の制御装置に関し、特に、ベルト式無段変速機におけるベルト側圧（クランプ圧）の余剰圧を油圧脈動に対して適切に補正できるようにしたことに関する。
【背景技術】
【０００２】
プーリ幅可変の駆動側プーリと、プーリ幅可変の従動側プーリと、これら駆動側プーリおよび従動側プーリ間に掛け渡されたベルト部材とからなるベルト式無段変速機は既に公知であり、実用に供されている。この変速機においては、駆動側プーリのプーリ幅制御（軸推力制御）を行う駆動側油圧アクチュエータと従動側プーリのプーリ幅制御（軸推力制御）を行う従動側油圧アクチュエータとを有し、これら両油圧アクチュエータに供給する油圧することにより両プーリの軸推力を制御してプーリ幅設定制御を行い、変速比を無段階に可変設定することができる。
【０００３】
この種のベルト式無段変速機の制御装置においては、ベルトスリップを発生させないために最低限必要なプーリ軸推力（ベルト挟持力）をプーリに付与するように従動側（ドリブン側）プーリに作用する油圧（軸推力）を制御し、変速比を調整するためのプーリ軸推力バランスは駆動側（ドライブ側）プーリに作用する油圧（軸推力）の制御により設定するように構成されている。この場合、ベルト伝達トルク（プーリ間の伝達トルク）と変速比とから従動側プーリの軸推力を決定し、目標とする変速比と伝達トルク比とから駆動側と従動側のプーリ軸推力比を求め、動的変速特性および変速比のフィードバック要素からプーリ軸推力偏差を求め、従動側プーリ軸推力とプーリ軸推力比の積にプーリ軸推力偏差を加算した値を駆動側軸推力（油圧力）として設定するように構成されている。
【０００４】
下記特許文献１においては、駆動側プーリの軸推力が大きく低下するような変速時においても、必要最小限のプーリ軸推力を用いてベルトスリップの発生を防止しつつ、目標とする変速を実現することが示されている。下記特許文献２においては、油圧の脈動変化に対応して制御を行うことが示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−１８３４７号
【特許文献２】特開平５−７９５５０号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ベルト式無段変速機（ＣＶＴ）のベルト側圧（クランプ圧）はベルトスリップ防止のために必要最低圧以上の油圧を必ず出力する必要があるため、脈動、環境変化、経年劣化、物バラツキ（個別ＣＶＴ製品毎のバラツキ）等種々の要素による油圧低下を見込んで、余剰圧を設定する必要があった。油圧センサを採用することにより、環境変化や経年劣化による油圧低下を検知し、余剰圧を定常的に低くする技術が開発されてきているが、瞬間的な油圧低下や脈動の発生に対応するために、余剰圧を或る程度確保しておく必要があった。しかし、余剰圧を余分に確保しておくことは、燃費を低下させるのみならず、ベルト耐久性も低下させるおそれがあるので、改善が望まれる。
【０００７】
本発明は上述の点に鑑みてなされたもので、定常的に必要とされる余剰圧を必要最低限に低減し得るように、該余剰圧を油圧脈動に対して適切に補正できるようにしたベルト式無段変速機の制御装置を提供しようとするものである。
【課題を解決するための手段】
【０００８】
本発明は、エンジン出力を無段階に変速して車輪に伝達するベルト式無段変速機の制御装置であって、車速および加速指示情報に基づいて目標変速比（ｉtgt）および目標変速比変化速度（ｄｉtgt）を求め、変速機入力トルク（Ｔin）および変速比（ｉ）に応じてベルトスリップを発生させずに動力伝達を行わせるために必要な従動側プーリ必要軸推力（Ｑdnnec）を求め、前記従動側プーリ必要軸推力（Ｑdnnec）を従動側プーリ目標軸推力（Ｑdncmd）として設定し、前記従動側プーリ目標軸推力（Ｑdncmd）を用いて変速比を前記目標変速比（ｉtgt）まで前記目標変速比変化速度（ｄｉtgt）で変化させるために前記駆動側プーリに必要とされる軸推力を駆動側プーリ目標軸推力（Ｑdrcmd）として設定し、前記従動側プーリ目標軸推力（Ｑdncmd）及び駆動側プーリ目標軸推力（Ｑdrcmd）に応じて設定される目標供給油圧（Ｐdrsup，Ｐdnsup）に基づいて変速制御を行うベルト式無段変速機の制御装置（５０）であることを前提としており、そのようなベルト式無段変速機の制御装置（５０）において、油圧センサ（３５）による油圧検出値に基づいて油圧脈動の振幅と周期を検出し、検出した周期中の最大振幅に基づいて油圧補正量を求め、該油圧補正量により前記目標供給油圧を増加するよう補正する補正手段（Ｂ５）を具備したことを特徴としている。
【０００９】
本発明によれば、油圧脈動の振幅と周期を検出し、検出した周期中の最大振幅に基づいて油圧補正量を求め、該油圧補正量により前記目標供給油圧を増加するよう補正するので、適切な脈動油圧補正が可能となり、脈動が発生していないときには余剰圧を低減するすることができ、燃費向上及びベルト耐久性の向上を期待することができる。また、油圧脈動発生時には適切な余剰圧を確保するよう補正することができるので、ベルトスリップを防止し、タフネスを向上させることができ、また、過剰油圧の防止によるベルト負荷軽減が可能となる。
【００１０】
好ましくは、前記補正手段（Ｂ５）は、前記油圧脈動に含まれる第１の脈動周期を検出し、該第１の脈動周期に対応する油圧脈動のバイアス成分を検出し、該バイアス成分の変動から前記第１の脈動周期よりも長い第２の脈動周期の有無を検出する手段を含み、前記油圧脈動に含まれる複数の周波数成分に対応する脈動周期を短い周期から長い周期へと順次階層的に検出することにより、より長い脈動周期中の最大振幅に基づいて前記油圧補正量を求めるものとする。
【００１１】
これにより、複合的な周波数成分の混じった脈動の周期的特性を有効に検出でき、かつ、より長い脈動周期中の最大振幅に基づいて脈動油圧補正を行うので、脈動中に安定した油圧補正を実施することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明を適用可能なベルト式無段変速機の構成例を示すスケルトン図。
【図２】本発明の一実施例に係るベルト式無段変速機の制御装置の概略を概念的に示すブロック図。
【図３】図２の補正部が実行する「油圧脈動補正処理」の動作概念を説明するタイムチャート。
【図４】複合的な周波数成分を含む油圧脈動の一例をを示す図。
【図５】図２の補正部が実行する「脈動検知処理」（脈動検知機能）の概略を示すフロー図。
【図６】図５における「第１周期判断」ルーチンの具体例を示すフロー図。
【図７】１処理サイクル毎の余剰圧ＰＭＡＤＮの時間的変化の一例を示す図。
【図８】図６における「第１周期脈動判定」ルーチンの具体例を示すフロー図。
【図９】図８における「第１周期脈動補正判断」ルーチンの具体例を示すフロー図。
【図１０】図８における「第１周期複合周期判断」ルーチンの具体例を示すフロー図。
【図１１】図５における「第２周期判断」ルーチンの具体例を示すフロー図。
【図１２】図２の補正部が実行する「油圧脈動補正処理」（油圧脈動補正機能）のうち、油圧脈動補正量を算出するための処理の概略を示すフロー図。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施例を添付図面を参照して詳細に説明する。
【００１４】
図１は、本発明に従う制御が行われるベルト式無段変速機の構成を示している。なお、ベルト式無段変速機それ自体は前記特許文献１等で公知の装置を用いてよい。ベルト式無段変速機ＣＶＴは、入力軸１とカウンター軸２との間に配設された金属Ｖベルト機構１０と、入力軸１と駆動側可動プーリ１１との間に配設された遊星歯車式前後進切換機構２０と、カウンター軸２と出力部材（ディファレンシャル機構８など）との間に配設されたメインクラッチ５とから構成される。なお、本無段変速機ＣＶＴは車両用として用いられ、入力軸１はカップリング機構ＣＰを介してエンジンＥＮＧの出力軸に繋がり、ディファレンシャル機構８に伝達された動力は左右の車輪に伝達される。
【００１５】
金属Ｖベルト機構１０は、入力軸１上に配設された駆動側プーリ１１と、カウンター軸２上に配設された従動側プーリ１６と、両プーリ１１，１６間に巻き掛けられた金属Ｖベルト１５とからなる。
【００１６】
駆動側プーリ１１は、入力軸１上に回転自在に配設された固定プーリ半体１２と、この固定プーリ半体１２に対して軸方向に相対移動可能な可動プーリ半体１３とからなる。可動プーリ半体１３の側方には、固定プーリ半体１２に結合されたシリンダ壁１２ａにより囲まれて駆動側シリンダ室１４が形成されており、駆動側シリンダ室１４内に供給される油圧Ｐdrにより、可動プーリ半体１３を軸方向に移動させる側圧、すなわち、駆動側プーリの軸推力Ｑdrが発生される。
【００１７】
従動側プーリ１６は、カウンター軸２に固設された固定プーリ半体１７と、この固定プーリ半体１７に対して軸方向に相対移動可能な可動プーリ半体１８とからなる。可動プーリ半体１８の側方には、固定プーリ半体１７に結合されたシリンダ壁１７ａにより囲まれて従動側シリンダ室１９が形成されており、従動側シリンダ室１９内に供給される油圧Ｐdnにより、可動プーリ半体１８を軸方向に移動させる側圧、すなわち、従動側プーリの軸推力Ｑdnが発生される。
【００１８】
このため、上記両シリンダ室１４，１９への供給油圧Ｐdr，Ｐdnを適宜制御することにより、ベルト１５の滑りを発生することのない適切なプーリ側圧を設定するとともに両プーリ１１，１６のプーリ幅を変化させることができ、これにより、Ｖベルト１５の巻掛け半径を変化させて変速比を無段階に変化させることができる。
【００１９】
遊星歯車式前後進切換機構２０はダブルピニオンタイプのプラネタリギヤ列を有し、そのサンギヤ２１は入力軸１に結合され、キャリア２２は固定プーリ半体１２に結合され、リングギヤ２３は後進ブレーキ２７により固定保持可能である。また、サンギヤ２１とリングギヤ２３とを連結可能な前進クラッチ２５を有し、この前進クラッチ２５が係合されると全ギヤ２１，２２，２３が入力軸１と一体に回転し、駆動側プーリ１１は入力軸１と同方向（前進方向）に駆動される。一方、後進ブレーキ２７が係合されると、リングギヤ２３が固定保持されるため、キャリア２２はサンギヤ２１とは逆の方向に駆動され、駆動側プーリ１１は入力軸１とは逆方向（後進方向）に駆動される。
【００２０】
メインクラッチ５は、カウンター軸２と出力側部材との間の動力伝達を制御するクラッチであり、係合時には両者間での動力伝達が可能となるとともに、係合力を制御することにより入力側と出力側との間のトルクの伝達容量（トルク容量）も制御できる。このため、メインクラッチ５が係合の時には、金属Ｖベルト機構１０により変速されたエンジン出力がギヤ６ａ，６ｂ，７ａ，７ｂを介してディファレンシャル機構８に伝達され、このディファレンシャル機構８により左右の車輪（図示せず）に分割されて伝達される。また、メインクラッチ５が解放されたときには、この動力伝達が行えず、変速機は中立状態となる。
【００２１】
上記のようなベルト式無段変速機ＣＶＴ用の制御装置においては、駆動側および従動側シリンダ室１４，１９の供給油圧Ｐdr，Ｐdnを制御して駆動側および従動側プーリの軸推力Ｑdr，Ｑdnを制御し、ベルトスリップを発生させることなく必要最小限の軸推力を設定しつつ、適切な変速制御を行わせるようにしている。
【００２２】
この制御は、種々の運転条件を検出し、この検出運転条件に基づいて行われる。このため、制御装置５０は、図２に示すように、変速機入力トルク（エンジンＥから入力軸１に入力されるトルク）（Ｔin）を検出する入力トルク検出器３１と、ベルト機構１０における変速比（ｉ）を検出する変速比検出器３２と、車速（Ｖ）を検出する車速センサ３３と、エンジンスロットル開度（ｔｈ）（すなわち加速指示情報）を検出するスロットル開度センサ３４とを備える。なお、入力トルク検出器３１は入力トルクを直接検出するものでも良いが、エンジンの吸気負圧と回転数からエンジン出力トルクを算出して変速機入力トルクを求めるものでも良い。また、変速比検出器３２は可動プーリ半体の軸方向位置から変速比を直接検出しても良いが、駆動側プーリの回転数と従動側プーリの回転数とを検出して、これら回転数の比から変速比を求めても良い。また、スロットル開度センサ３４に代えてアクセル開度を検出するアクセル開度センサを用いてもよい。これらによる検出信号は、制御装置５０に入力されて演算処理が行われ、駆動側および従動側シリンダ室１４，１９に供給する油圧を制御する変速制御バルブの作動制御信号が出力される。この変速制御バルブは、例えば、リニアソレノイドバルブであり、制御装置５０からの作動制御信号を受けてその作動が制御され、駆動側および従動側シリンダ室１４，１９の油圧制御がなされる。
【００２３】
この制御装置５０における演算処理について以下に説明する。入力トルク検出器３１により検出された変速機入力トルク（Ｔin）信号および変速比検出器３２により検出された変速比（ｉ）信号はプーリ必要軸推力算出部Ｂ１に入力される。ここでは、入力トルク（Ｔin）と変速比（ｉ）に応じて、ベルトスリップを発生させない範囲での必要最小限の軸推力として、駆動側プーリ必要軸推力（Ｑdrnec）と従動側プーリ必要軸推力（Ｑdnnec）とを求める。
【００２４】
一方、これと並行して、車速センサ３３により検出された車速（Ｖ）信号およびエンジンスロットル開度センサ３４により検出されたエンジンスロットル開度（ｔｈ）信号は、目標変速比算出部Ｂ２に入力される。ここでは、車速（Ｖ）とスロットル開度（ｔｈ）とに応じて目標変速比（ｉtgt）が求められ、さらに、この目標変速比（ｉtgt）の時間変化量として目標変速比変化速度（ｄｉtgt）が求められる。
【００２５】
そして、入力トルク検出器３１により検出された変速機入力トルク（Ｔin）信号および変速比検出器３２により検出された変速比（ｉ）信号と、プーリ必要軸推力算出部Ｂ１において求められた駆動側プーリ必要軸推力（Ｑdrnec）および従動側プーリ必要軸推力（Ｑdnnec）信号と、目標変速比算出部Ｂ２において求められた目標変速比（ｉtgt）および目標変速比変化速度（ｄｉtgt）信号とが、変速比制御部Ｂ３に入力される。変速比制御部Ｂ３においては、これら入力信号に基づいて、現在の変速比を目標変速比（ｉtgt）まで目標変速比変化速度（ｄｉtgt）で変化させるに必要な駆動側および従動側プーリの目標軸推力（Ｑdrcmd，Ｑdncmd）を決定する。
【００２６】
このように決定された目標軸推力（Ｑdrcmd，Ｑdncmd）信号は、プーリ供給油圧算出部Ｂ４に入力され、ここで、この目標軸推力を得るために必要な駆動側および従動側シリンダ室１４，１９の目標供給油圧（Ｐdrsup，Ｐdnsup）を求める。具体的には、目標軸推力（Ｑdrcmd，Ｑdncmd）をシリンダ室１４，１９の受圧面積で割ってシリンダ室に必要な油圧を求め、これを油圧変動要素で補正して目標供給油圧（Ｐdrsup，Ｐdnsup）が求められる。
【００２７】
このようにして求められた駆動側および従動側の目標供給油圧（Ｐdrsup，Ｐdnsup）信号は、補正部Ｂ５を経由して、電流変換部Ｂ６に入力され、ここで、駆動側および従動側シリンダ室１４，１９に供給する油圧を制御する変速制御バルブの作動制御電流信号が求められる。この変速制御バルブは、例えば、リニアソレノイドバルブであり、電流変換部Ｂ６において求められた制御電流により作動が制御され、駆動側および従動側シリンダ室１４，１９の油圧を目標供給油圧（Ｐdrsup，Ｐdnsup）に従って制御する。なお、制御装置５０において、電流変換部Ｂ６以外の部分は、車両用電子制御装置が具備するコンピュータによって実装される。
【００２８】
目標供給油圧（Ｐdrsup，Ｐdnsup）を算出するための構成は、上記例に限らず、どのような構成を採用してもよい。本発明においては、補正部Ｂ５を設け、以下述べるように、余剰圧を油圧脈動を考慮して適切に補正しうるようにしたことを特徴としている。
【００２９】
図３は、補正部Ｂ５が実行する「油圧脈動補正処理」の動作概念を説明するタイムチャートである。図３において、ＰＤＮＣＭＤは油圧指令値（従動側プーリー１６の目標供給油圧Ｐdnsup）であり、ＰＤＮは油圧センサ３５によって検出される従動側プーリー１６の油圧検出値（実油圧）の一例を示す。油圧センサ３５は例えば従動側シリンダ室１９の油圧を検出するように設けられている。図３では、ＰＤＮ（実油圧）が脈動している例を示している。本発明では、油圧センサ３５の出力に基づき、脈動を常時監視し、検出した脈動の周期及び振幅を算出する。そして、所定の脈動許容幅を越える振幅の油圧脈動が発生したと判断すると、脈動振幅の最低値が所定の必要最低油圧を確保できるように、油圧指令値（目標供給油圧）を補正する。すなわち、検出した脈動に応じて油圧補正量を求め、この油圧補正量に応じて油圧指令値（目標供給油圧）を増加する。図３において太線が脈動補正後のＰＤＮ（実油圧）を示す。増加された油圧指令値（目標供給油圧）に応じて油圧が増加されるので、ＰＤＮ（実油圧）が増加することになる。
【００３０】
なお、余剰圧ＰＭＡＤＮは、ＰＤＮ（実油圧）とＰＤＮＣＭＤ（油圧指令値）との差であり、
ＰＭＡＤＮ＝ＰＤＮ（実油圧）−ＰＤＮＣＭＤ（油圧指令値）
の演算により、従動側プーリー１６の余剰圧ＰＭＡＤＮが常に算出される。図３に示すように、脈動が発生したときに、それに応じて油圧指令値を増加することにより、必要最小限の余剰圧ＰＭＡＤＮが確保されるように、適切に制御することが可能となる。
【００３１】
補正部Ｂ５は、主に脈動検知機能と油圧補正機能の２種類の機能をもっている。補正部Ｂ５が持つ脈動検知機能にあっては、複合的な周波数成分を含む油圧脈動を検知しうるように構成されている。本実施例で提案する複合的な周波数成分を含む油圧脈動の脈動検知手法を概略的に説明すると、次の通りである。
【００３２】
基本的な脈動検知単位は、油圧脈動に含まれる第１の脈動周期を検出し、該第１の脈動周期に対応する油圧脈動のバイアス成分（振れの中心に相当する油圧値）を検出し、該バイアス成分の変動から前記第１の脈動周期よりも長い第２の脈動周期の有無を検出する手段からなる。このような脈動検知単位を用いて、油圧脈動に含まれる複数の周波数成分に対応する脈動周期を、より短い周期からより長い周期へと順次階層的に検出することにより、より長い（最終の）脈動周期を特定する。そして、補正部Ｂ５が持つ油圧補正機能にあっては、このようにして特定された脈動周期中の最大振幅に基づいて油圧補正量を求め、該油圧補正量により前記目標供給油圧を増加するよう補正する。
【００３３】
図４は、複合的な周波数成分を含む油圧脈動の一例を示している。この図を参照して、本実施例に従う脈動検知手法の概略を説明する。
【００３４】
［第１脈動周期の判断］
油圧脈動における最も短い周期を第１脈動周期として検出する。実油圧ＰＤＮに基づいて算出した余剰圧ＰＭＡＤＮの変化から、上向きのピーク（正ピーク：これを記号ＰＭＡＭＡＸ１を用いて表す）と、下向きのピーク（負ピーク：これを記号ＰＭＡＭＩＮ１を用いて表す）を検出し、両者の平均値（中央値）を「（ＰＭＡＭＡＸ１＋ＰＭＡＭＩＮ１）／２」の演算式で求める。このようにして求めた平均値は、第１脈動周期に対応する油圧脈動のバイアス成分（振れの中心に相当する油圧値）に相当する。図４では、丸印でマークした点が第１脈動周期のバイアス成分すなわちピーク間平均値ＰＭＡＡＶＥ１に相当する点である。また、ピーク間の時間差（例えば隣接する負ピークＰＭＡＭＩＮ１間の時間差）を第１脈動周期の周期として検出（算出）する。
【００３５】
次に、以上のようにして第１脈動周期の各周期毎に求めた第１脈動周期に対応する油圧脈動のバイアス成分（振れの中心に相当する油圧値：すなわち、丸印でマークしたＰＭＡＡＶＥ１）の変動の有無を判定し、変動していれば、第１脈動周期よりも長い第２脈動周期が存在すると判定する。
【００３６】
［第２脈動周期の判断］
第２脈動周期が存在することが検出されたならば、第１脈動周期のバイアス成分ＰＭＡＡＶＥ１の傾きが負から正に反転するポイントを第２脈動周期の負のピークとして検出し、該検出した第２脈動周期の負のピーク間の時間差を第２脈動周期の周期として検出（算出）する。そして、この第２脈動周期の１周期中における余剰圧ＰＭＡＤＮの正ピークＰＭＡＭＡＸ１の最大値を判定し、これを第２脈動周期の最大正ピークＰＭＡＭＡＸ２として検出する。また、第２脈動周期の１周期中における余剰圧ＰＭＡＤＮの負ピークＰＭＡＭＩＮ１の最小値を判定し、これを第２脈動周期の最小負ピークＰＭＡＭＩＮ２として検出する。
【００３７】
それから、こうして検出した第２脈動周期の１周期中の最大正ピークＰＭＡＭＡＸ２と最小負ピークＰＭＡＭＩＮ２の平均値（中央値）を「（ＰＭＡＭＡＸ２＋ＰＭＡＭＩＮ２）／２」の演算式で求める。このようにして求めた平均値は、第２脈動周期に対応する油圧脈動のバイアス成分（振れの中心に相当する油圧値）に相当する。図４では、二重丸印でマークした点が第２脈動周期のバイアス成分すなわちピーク間平均値ＰＭＡＡＶＥ２に相当する点である。
【００３８】
次に、以上のようにして第２脈動周期の各周期毎に求めた第２脈動周期に対応する油圧脈動のバイアス成分（振れの中心に相当する油圧値：すなわち、二重丸印でマークしたＰＭＡＡＶＥ２）の変動の有無を判定し、変動していれば、第２脈動周期よりも長い第３脈動周期が存在すると判定する。
【００３９】
［第３脈動周期の判断］
第３脈動周期が存在することが検出されたならば、上記第２脈動周期判断の場合と同様の処理を行う。すなわち、第２脈動周期のバイアス成分ＰＭＡＡＶＥ２の傾きが負から正に反転するポイントを第３脈動周期の負のピークとして検出し、該検出した第３脈動周期の負のピーク間の時間差を第３脈動周期の周期として検出（算出）する。そして、この第３脈動周期の１周期中における第２脈動周期に係る最大正ピークＰＭＡＭＡＸ２の最大値を判定し、これを第３脈動周期の最大正ピークＰＭＡＭＡＸ３として検出する。また、第３脈動周期の１周期中における第２脈動周期に係る最小負ピークＰＭＡＭＩＮ２の最小値を判定し、これを第３脈動周期の最小負ピークＰＭＡＭＩＮ３として検出する。それから、こうして検出した第３脈動周期の１周期中の最大正ピークＰＭＡＭＡＸ３と最小負ピークＰＭＡＭＩＮ３の平均値（中央値）を「（ＰＭＡＭＡＸ３＋ＰＭＡＭＩＮ３）／２」の演算式で求める。これは、第３脈動周期に対応する油圧脈動のバイアス成分（振れの中心に相当する油圧値）に相当する。
【００４０】
［収束判定］
こうして、平均値（中央値）が収束する（変動しなくなる）まで、脈動周期を、より短い周期からより長い周期へと順次階層的に検出する。なお、図４の例では、第２脈動周期に対応する油圧脈動のバイアス成分（二重丸印でマークしたＰＭＡＡＶＥ２）が変動無しと判定され、それよりも長い第３脈動周期については考慮しないものとされるので、第３脈動周期について周期検出等の処理は行う必要がない。すなわち、第２脈動周期が最終の（最長の）脈動周期として特定される。追って詳しく述べるように、補正部Ｂ５が持つ油圧補正機能では、このように脈動検知機能によって特定された最終の（最長の）脈動周期における脈動油圧の最大振幅を考慮して油圧補正を行う。このようにして、油圧脈動のバイアス成分（振れの中心に相当する油圧値）が安定した周期を見出すことにより、油圧脈動に対して必要最小限の効率的な油圧補正を行うことができるようになる。
【００４１】
なお、油圧脈動のバイアス成分（振れの中心に相当する油圧値）が安定した周期を見出すために、より短い周期からより長い周期へと順次階層的に検出する処理をどれだけ行うかは、設計上任意に決めてよい。例えば、本実施例では、第３脈動周期の検出まで行うものとしている。
【００４２】
なお、上述のような脈動検知手法にあっては、順次２倍以上の関係にある周期成分のみが検出可能である。例えば、最も短い周期として検出された第１脈動周期が１０Ｈｚの周波数に対応するものであるとすると、第２脈動周期として検出可能な成分は５Ｈｚ以下の周波数に対応するものであり、第３脈動周期として検出可能な成分はその半分（最大でも２．５Ｈｚ）以下の周波数に対応するものである。しかし、それでも油圧脈動補正にとっては効果が大であり、極めて実用性に富むものである。また、本実施例に係る検出手法は本格的なフーリエ解析等に比べて、はるかに簡単な処理ステップ数で実現できるので、その意味でも、極めて実用性に富むものである。なお、本実施例によれば、油圧脈動の正規周波数成分に限らず、それらのビート周波数成分に応答する脈動周期検出が可能である。例えば、油圧脈動の正規周波数成分が１０Ｈｚと８Ｈｚからなっている場合、第１脈動周期として１０Ｈｚに対応する周期を検出し、第２脈動周期としてそのビート周波数２Ｈｚに対応する周期を検出することが可能である。
【００４３】
［脈動検知処理］
図５は、補正部Ｂ５によって実行される「脈動検知処理」（脈動検知機能）の概略を示すフロー図である。「第１周期判断」ルーチンＳＵＢ１、「第２周期判断」ルーチンＳＵＢ２、「第３周期判断」ルーチンＳＵＢ３は、前記で概説した「第１脈動周期の判断」、「第２脈動周期の判断」、「第３脈動周期の判断」を具体的に所定周期で（例えば１０ｍｓで）繰り返し実行するサブルーチンである。以下、第１周期、第２周期、第３周期とは、前記第１脈動周期、第２脈動周期、第３脈動周期を指す。なお、以下で、今回とは現在の処理サイクルを指し、前回とは前回（１サイクル前）の処理サイクルを指す。
【００４４】
［第１周期判断］
図６は、「第１周期判断」ルーチンＳＵＢ１の具体例を示す。まず、ＰＭＡＤＮ変化状態判断ルーチンＳ１では、算出された余剰圧ＰＭＡＤＮ（油圧検出値ＰＤＮに相当）の変化から下向きのピーク（負ピーク）ＰＭＡＭＩＮ１を検出するための処理を行う。具体的には、前回の余剰圧ＰＭＡＤＮと今回の余剰圧ＰＭＡＤＮとの差を演算して、今回のＰＭＡＤＮ変化値（油圧検出値ＰＤＮの変化速度に相当）を求め、前回のＰＭＡＤＮ変化値と今回のＰＭＡＤＮ変化値を比較する。ＰＭＡＤＮ変化値の符号が正であれば、ＰＭＡＤＮの傾きが正であり、負であれば、ＰＭＡＤＮの傾きが負である。よって、この比較から、ＰＭＡＤＮ変化値が負（又は０）から正に変化したとき、ＰＭＡＤＮの傾きが負から正に変化した（下向きのピーク＝負ピークを通過した）ことが検出できる。これは、第１周期のスタート（又はエンド）が確定されたことを意味する。このように、第１周期のスタート（又はエンド）を確定したとき、周期確定フラグをセットする。
【００４５】
図７は、１処理サイクル毎の余剰圧ＰＭＡＤＮの時間的変化の一例を示している。図中ｔ１及びｔ２の時点で、ＰＭＡＤＮ変化値が負（又は０）から正に変化したことがそれぞれ判定される。従って、このｔ１とｔ２の時間差が第1周期の１周期に相当することになる。
【００４６】
図６に戻り、ステップＳ２では、周期確定フラグがセットされているかを調べる。セットされていなければ、ステップＳ３に進み、ＰＭＡＤＮのＭＡＸ値バッファ及びＭＩＮ値バッファの更新処理と、周期カウントアップ処理を行う。すなわち、ＭＡＸ値バッファに記憶されている前回までのＰＭＡＤＮの最大値よりも、今回のＰＭＡＤＮが大きい場合は、該ＭＡＸ値バッファの記憶値を今回のＰＭＡＤＮで更新する。また、ＭＩＮ値バッファに記憶されている前回までのＰＭＡＤＮの最小値よりも、今回のＰＭＡＤＮが小さい場合は、該ＭＩＮ値バッファの記憶値を今回のＰＭＡＤＮで更新する。また、所定の周期カウンタのカウント値を１加算する。これらのバッファ及びカウンタは、周期確定フラグがセットされたときにリセットされる。従って、周期確定フラグがセットされる直前にこれらのバッファ及びカウンタに保持している値が、今計算している第１周期の１周期中の余剰圧ＰＭＡＤＮの最大値ＰＭＡＭＡＸ１及び最小値ＰＭＡＭＩＮ１を示し、かつ、周期値を示すことになる。次のステップＳ４では周期判定済みフラグＦ＿ＰＭＡＣＹＣ１を０にリセットする。これは、まだ第１周期の周期判定が確定していないことを意味する。
【００４７】
ＰＭＡＤＮ変化状態判断ルーチンＳ１で周期確定フラグがセットされた場合は、ステップＳ２のＹＥＳからステップＳ４に進む。ステップＳ４では、周期カウンタのカウント値が所定値以上であるかどうかを判定し、ＮＯであれば、ステップＳ３に分岐する。これは、余剰圧ＰＭＡＤＮのノイズ的変動によってＰＭＡＤＮ変化状態判断ルーチンＳ１で誤って周期確定フラグが出されたような場合に、周期確定をキャンセルするためである。
【００４８】
周期カウンタのカウント値が所定値以上であれば、ステップＳ５に進み、第１周期の周期判断を確定するために、次に述べるような周期及び振幅等を決定する処理を行う。
・ＭＡＸ値バッファの現在の記憶値を、第１周期の正ピーク値ＰＭＡＭＡＸ１として決定し、記憶する。
・ＭＩＮ値バッファの現在の記憶値を、第１周期の負ピーク値ＰＭＡＭＩＮ１として決定し、記憶する。
・周期カウンタの現在のカウント値に基づき第１周期の周期ＰＭＡＣＹＣ１を決定し、記憶する。
・上記決定を行った後、ＭＡＸ値バッファ及びＭＩＮ値バッファに今回のＰＭＡＤＮ値をセットし、かつ、周期カウンタを０にクリアする。
・「（ＰＭＡＭＡＸ１＋ＰＭＡＭＩＮ１）／２」の演算式に従い、正負ピーク間の平均値（中央値）ＰＭＡＡＶＥ１を算出する。このＰＭＡＡＶＥ１は、第１周期に対応する油圧脈動のバイアス成分（振れの中心に相当する油圧値）に相当する。具体的には、このＰＭＡＡＶＥ１をそのままバイアス値として使用することなく、このＰＭＡＡＶＥ１をなまらす処理（例えばローパスフィルタ処理）を行い、その結果を第１周期脈動バイアス値ＰＭＡＢＩＡＳ１として記憶する。
・「（ＰＭＡＭＡＸ１−ＰＭＡＭＩＮ１）／２」の演算式に従い、脈動振幅ＰＭＡＡＭＰ１を算出する。これは、第１周期に対応する油圧脈動のバイアス位置（振れの中心）からのピーク振幅値に相当している。
・現在確定した第１周期のピーク間平均値ＰＭＡＡＶＥ１から、前回確定した第１周期のピーク間平均値pre_ＰＭＡＡＶＥ１を減算し、相前後する周期間のピーク間平均値（つまりバイアス値）ＰＭＡＡＶＥ１の変化量、つまり脈動平均値変化量ＤＰＭＡＡＶＥ１を算出する。
【００４９】
その後、ステップＳ６に進み、第１周期判定済みフラグＦ＿ＰＭＡＣＹＣ１を１にセットする。これにより、第１周期の周期判定が確定したことを示す。また、前記周期確定フラグをリセットする。次にステップＳ７に行き、「第１周期脈動判定」ルーチンを実行する。
【００５０】
図８は、「第１周期脈動判定」ルーチンＳ７の具体例を示す。ステップＳ８では、前記ステップＳ５で決定した第１周期の周期ＰＭＡＣＹＣ１が所定の長周期値以上であるかを判定する。これは、決定した第１周期の周期ＰＭＡＣＹＣ１が余り長い場合は、脈動補正を行わないようにするためである。すなわち、周期ＰＭＡＣＹＣ１が所定の長周期値以上である場合は、ステップＳ９で長周期フラグＦ＿ＰＣＹＣ１ＯＶＲを１にセットし、他方、周期ＰＭＡＣＹＣ１が所定の長周期値未満である場合は、ステップＳ１０で長周期フラグＦ＿ＰＣＹＣ１ＯＶＲを０にリセットする。その後、「第１周期脈動補正判断」ルーチンＳ１１及び「第１周期複合周期判断」ルーチンＳ１２を行う。「第１周期脈動補正判断」ルーチンＳ１１では、第１周期の脈動の補正を行うかどうかを判断する。「第１周期複合周期判断」ルーチンＳ１２では、第１周期よりも長い第２周期の脈動成分があるかどうかを判断する。
【００５１】
図９は、「第１周期脈動補正判断」ルーチンＳ１１の具体例を示す。ステップＳ２０では、現在の油圧指令値ＰＤＮＣＭＤに応じて脈動判定閾値ＰＭＡＡＭＰＲＩＰを選択する。脈動判定閾値は、図３に示した脈動許容幅に相当する閾値である。ステップＳ２１では、第１周期の周期ＰＭＡＣＹＣ１が所定の長周期値以上であるか（つまり、長周期フラグＦ＿ＰＣＹＣ１ＯＶＲが１か）を判定する。ＮＯであれば、ステップＳ２２で、脈動振幅ＰＭＡＡＭＰ１が上記選択した脈動判定閾値ＰＭＡＡＭＰＲＩＰよりも大きいかを判定する。ＹＥＳであれば、油圧補正を行うべき脈動であると判定されたことになる。この場合、ただちに油圧補正を行うことなく、ステップＳ２３で脈動判定カウントＣＴＰＭＡＲＩＰ１を１カウントアップし、ステップＳ２４で脈動解消判定カウントＣＴＮＯＲＩＰ１を０にリセットしてから、ステップＳ２５で脈動判定カウントＣＴＰＭＡＲＩＰ１が所定の閾値以上であるかを判定する。ＹＥＳであれば、ステップＳ２５０で脈動油圧補正フラグＦ＿ＰＭＡＲＩＰ１を１にセットする。すなわち、所定時間以上持続して、脈動振幅ＰＭＡＡＭＰ１が脈動判定閾値ＰＭＡＡＭＰＲＩＰよりも大きい場合に、脈動油圧補正フラグＦ＿ＰＭＡＲＩＰ１を１にセットして、油圧補正を行うことを指示する。これは、脈動油圧補正を頻繁にオン・オフしないようにし、安定した脈動油圧補正を行うようにするためである。
【００５２】
一方、ステップＳ２２がＮＯであれば、ステップＳ２６に分岐して脈動判定カウントＣＴＰＭＡＲＩＰ１を０にリセットし、ステップＳ２７で脈動解消判定カウントＣＴＮＯＲＩＰ１を１カウントアップする。次に、ステップＳ２８で脈動解消判定カウントＣＴＮＯＲＩＰ１が所定の閾値以上であるかを判定する。ＹＥＳであれば、ステップＳ３１で脈動油圧補正フラグＦ＿ＰＭＡＲＩＰ１を０にリセットする。すなわち、所定時間以上持続して、脈動振幅ＰＭＡＡＭＰ１が脈動判定閾値ＰＭＡＡＭＰＲＩＰ未満である場合に、脈動油圧補正フラグＦ＿ＰＭＡＲＩＰ１を０にリセットする。これも、脈動油圧補正を頻繁にオン・オフしないようにし、安定した脈動油圧補正を行うようにするためである。
【００５３】
前記ステップＳ２１がＹＥＳの場合は、ステップＳ２９に分岐して脈動判定カウントＣＴＰＭＡＲＩＰ１を０にリセットし、ステップＳ３０で脈動解消判定カウントＣＴＮＯＲＩＰ１を０にリセットする。それから、ステップＳ３１で脈動油圧補正フラグＦ＿ＰＭＡＲＩＰ１を０にリセットする。すなわち、第１周期の周期ＰＭＡＣＹＣ１が所定の長周期値以上である場合は、脈動補正判断をリセットする。
【００５４】
図１０は、「第１周期複合周期判断」ルーチンＳ１２の具体例を示す。ステップＳ３２では、前記ステップＳ２１と同様に、第１周期の周期ＰＭＡＣＹＣ１が所定の長周期値以上であるか（つまり、長周期フラグＦ＿ＰＣＹＣ１ＯＶＲが１か）を判定する。ＮＯであれば、ステップＳ３３で、前記脈動平均値変化量ＤＰＭＡＡＶＥ１の絶対値が所定の閾値未満であるかを判定する。例えば、この所定の閾値とは、変化がないとみなせるような小さな値である。ＹＥＳであれば、ステップＳ３４で安定判断カウントＣＴＰＭＡ１ＳＴＢＬを１カウントアップし、ステップＳ３５に進む。ＮＯであれば、ステップＳ３７で安定判断カウントＣＴＰＭＡ１ＳＴＢＬを０にリセットする。
【００５５】
ステップＳ３５は、安定判断カウントＣＴＰＭＡ１ＳＴＢＬが所定の閾値以上であるかを判定する。ＮＯであれば、ステップＳ３９で収束フラグＦ＿ＤＰＭＡ１ＳＴＢＬを０にリセットする。ＹＥＳであれば、ステップＳ３６で収束フラグＦ＿ＤＰＭＡ１ＳＴＢＬを１にセットする。すなわち、所定時間以上持続して、前記脈動平均値変化量ＤＰＭＡＡＶＥ１の絶対値が所定の閾値未満であった場合、収束フラグＦ＿ＤＰＭＡ１ＳＴＢＬが１にセットされる。収束フラグＦ＿ＤＰＭＡ１ＳＴＢＬのセット値１は、第１周期よりも長い第２周期の脈動成分がないことを示している。一方、収束フラグＦ＿ＤＰＭＡ１ＳＴＢＬのリセット値０は、第１周期よりも長い第２周期の脈動成分があることを示している。なお、ステップＳ３２がＹＥＳの場合は、ステップＳ３８に分岐して安定判断カウントＣＴＰＭＡ１ＳＴＢＬを０にリセットし、ステップＳ３９で収束フラグＦ＿ＤＰＭＡ１ＳＴＢＬを０にリセットする。すなわち、第１周期の周期ＰＭＡＣＹＣ１が所定の長周期値以上である場合は、脈動複合周期判断をリセットする。
【００５６】
［第２周期判断］
図１１は、「第２周期判断」ルーチンＳＵＢ２の具体例を示す。この「第２周期判断」ルーチンＳＵＢ２では、前記「第１周期判断」ルーチンＳＵＢ３と同様の処理を、周期判断に関しては第１周期脈動平均値変化量ＤＰＭＡＡＶＥ１の変動を対象にして行い、振幅判断に関しては余剰圧ＰＭＡＤＮ（油圧検出値）を対象にして行う。よって、「第２周期判断」ルーチンＳＵＢ２においても「第１周期判断」ルーチンＳＵＢ３と同様のパラメータが取得される。同じ意味を持つパラメータは、同じ記号を付して示すものとし、ただし、サフィックス「１」に替えて「２」を用いることにより、それが第２周期に係るものであることを示す。
【００５７】
ステップＳ４０では、第１周期判定済みフラグＦ＿ＰＭＡＣＹＣ１が１であるかを調べる。ＮＯであれば、ステップＳ４１にジャンプして第２周期判定済みフラグＦ＿ＰＭＡＣＹＣ２を０にリセットする。ＹＥＳであれば、ステップＳ４２（ＤＰＭＡＡＶＥ１変化状態判断ルーチン）に進み、第１周期脈動平均値変化量ＤＰＭＡＡＶＥ１の波動における下向きのピーク（負ピーク）を検出するための処理を行う。具体的には、前回の第１周期脈動平均値変化量ＤＰＭＡＡＶＥ１と今回の第１周期脈動平均値変化量ＤＰＭＡＡＶＥ１との差を演算して、今回の第１周期脈動平均値変化量ＤＰＭＡＡＶＥ１の変化値（ＤＰＭＡＡＶＥ１の変化速度に相当）を求め、前回の第１周期脈動平均値変化量ＤＰＭＡＡＶＥ１の変化値と今回の第１周期脈動平均値変化量ＤＰＭＡＡＶＥ１の変化値を比較する。ＤＰＭＡＡＶＥ１の変化値の符号が正であれば、ＤＰＭＡＡＶＥ１の傾きが正であり、負であれば、ＤＰＭＡＡＶＥ１の傾きが負である。よって、この比較から、ＤＰＭＡＡＶＥ１の変化値が負（又は０）から正に変化したとき、ＤＰＭＡＡＶＥ１の傾きが負から正に変化した（下向きのピーク＝負ピークを通過した）ことが検出できる。これは、第２周期のスタート（又はエンド）が確定されたことを意味する。このように、第２周期のスタート（又はエンド）を確定したとき、第２周期確定フラグをセットする。
【００５８】
ステップＳ４３では、第２周期確定フラグがセットされているかを調べる。セットされていなければ、ステップＳ４４に進み、ＰＭＡＤＮの第２ＭＡＸ値バッファ及び第２ＭＩＮ値バッファの更新処理と、第２周期カウントアップ処理を行う。すなわち、第２ＭＡＸ値バッファに記憶されている前回までのＰＭＡＤＮの最大値よりも、今回のＰＭＡＤＮが大きい場合は、該第２ＭＡＸ値バッファの記憶値を今回のＰＭＡＤＮで更新する。また、第２ＭＩＮ値バッファに記憶されている前回までのＰＭＡＤＮの最小値よりも、今回のＰＭＡＤＮが小さい場合は、該第２ＭＩＮ値バッファの記憶値を今回のＰＭＡＤＮで更新する。また、所定の第２周期カウンタのカウント値を１加算する。なお、第２ＭＡＸ値バッファ及び第２ＭＩＮ値バッファ用の比較対象とするＰＭＡＤＮ値は、ＰＭＡＤＮ波形の全てである必要はなく、第１周期の各周期で検出される最大値ＰＭＡＭＡＸ１及び最小値ＰＭＡＭＩＮ１を対象とすればよい。なお、これらのバッファ及びカウンタは、第２周期確定フラグがセットされたときにリセットされる。従って、第２周期確定フラグがセットされる直前にこれらのバッファ及びカウンタに保持している値が、今計算している第２周期の１周期中の余剰圧ＰＭＡＤＮの最大値ＰＭＡＭＡＸ２及び最小値ＰＭＡＭＩＮ２を示し、かつ、周期値を示すことになる。次のステップＳ４１では第２周期判定済みフラグＦ＿ＰＭＡＣＹＣ１を０にリセットする。これは、まだ第２周期の周期判定が確定していないことを意味する。
【００５９】
第２周期確定フラグがセットされた場合は、ステップＳ４３のＹＥＳからステップＳ４５に進む。ステップＳ４５では、第２周期カウンタのカウント値が所定値以上であるかどうかを判定し、ＮＯであれば、ステップＳ４４に分岐する。これは、第１周期脈動平均値変化量ＤＰＭＡＡＶＥ１のノイズ的変動によってＤＰＭＡＡＶＥ１変化状態判断ルーチンＳ４２で誤って周期確定フラグが出されたような場合に、周期確定をキャンセルするためである。
【００６０】
第２周期カウンタのカウント値が所定値以上であれば、ステップＳ４６に進み、第２周期の周期判断を確定するために、次に述べるような周期及び振幅等を決定する処理を行う。
・第２ＭＡＸ値バッファの現在の記憶値を、第２周期の正ピーク値ＰＭＡＭＡＸ２（第２周期最大振幅値）として決定し、記憶する。
・第２ＭＩＮ値バッファの現在の記憶値を、第２周期の負ピーク値ＰＭＡＭＩＮ２（第２周期最小振幅値）として決定し、記憶する。
・周期カウンタの現在のカウント値に基づき第２周期の周期ＰＭＡＣＹＣ２を決定し、記憶する。
・上記決定を行った後、第２ＭＡＸ値バッファ及び第２ＭＩＮ値バッファに現在のＰＭＡＭＡＸ１値をセットし、かつ、第２周期カウンタを０にクリアする。
・「（ＰＭＡＭＡＸ２＋ＰＭＡＭＩＮ２）／２」の演算式に従い、正負ピーク間の平均値（中央値）ＰＭＡＡＶＥ２を算出する。このＰＭＡＡＶＥ２は、第２周期に対応する油圧脈動のバイアス成分（振れの中心に相当する油圧値）に相当する。具体的には、このＰＭＡＡＶＥ２をそのままバイアス値として使用することなく、このＰＭＡＡＶＥ２をなまらす処理（例えばローパスフィルタ処理）を行い、その結果を第２周期脈動バイアス値ＰＭＡＢＩＡＳ２として記憶する。
・「（ＰＭＡＭＡＸ２−ＰＭＡＭＩＮ２）／２」の演算式に従い、第２周期脈動振幅ＰＭＡＡＭＰ２を算出する。これは、第２周期に対応する油圧脈動のバイアス位置（振れの中心）からのピーク振幅値に相当している。
・現在確定した第２周期のピーク間平均値ＰＭＡＡＶＥ２から、前回確定した第２周期のピーク間平均値pre_ＰＭＡＡＶＥ２を減算し、相前後する周期間のピーク間平均値（つまりバイアス値）ＰＭＡＡＶＥ２の変化量、つまり脈動平均値変化量ＤＰＭＡＡＶＥ２を算出する。
【００６１】
その後、ステップＳ４７に進み、第２周期判定済みフラグＦ＿ＰＭＡＣＹＣ２を１にセットする。これにより、第２周期の周期判定が確定したことを示す。また、前記周期確定フラグをリセットする。次にステップＳ４８に行き、「第２周期脈動判定」ルーチンを実行する。この「第２周期脈動判定」ルーチンは、図８〜図１０に示した「第１周期脈動判定」ルーチンと同様の処理からなっているので、詳細説明は省略する。最終的に、第２周期脈動油圧補正フラグＦ＿ＰＭＡＲＩＰ２が１にセットされると、「第２周期判断」ルーチンＳＵＢ２で判定された脈動振幅等の各種パラメータに従って、脈動油圧補正を行うべきことを示す。
【００６２】
［第３周期判断］
「第３周期判断」ルーチンＳＵＢ３は、図１１に示した「第２周期判断」ルーチンＳＵＢ２と同様の手順からなるため詳細説明は省略する。すなわち、この「第３周期判断」ルーチンＳＵＢ３では、前記「第２周期判断」ルーチンＳＵＢ２と同様の処理を、周期判断に関しては第２周期脈動平均値変化量ＤＰＭＡＡＶＥ２の変動を対象にして行い、振幅判断に関しては余剰圧ＰＭＡＤＮ（油圧検出値）（より詳しくは、第２周期最大振幅値ＰＭＡＭＡＸ２及び第２周期最小振幅値ＰＭＡＭＩＮ２）を対象にして行う。よって、「第３周期判断」ルーチンＳＵＢ３においても「第２周期判断」ルーチンＳＵＢ３と同様のパラメータが取得される。同じ意味を持つパラメータは、同じ記号を付して示すものとし、ただし、サフィックス「２」に替えて「３」を用いることにより、それが第３周期に係るものであることを示す。
【００６３】
図１１のステップＳ４０と同様に、「第３周期判断」ルーチンＳＵＢ３では、まず、第２周期判定済みフラグＦ＿ＰＭＡＣＹＣ２が１であるかをチェックし、これが０であれば、第２周期が判定されていないので、この「第３周期判断」ルーチンＳＵＢ３を続行しない。他方、第２周期が判定されていれば、この「第３周期判断」ルーチンＳＵＢ３を続行し、第２周期脈動平均値変化量ＤＰＭＡＡＶＥ２の波動における下向きのピーク（負ピーク）を検出するための処理を行う。ＤＰＭＡＡＶＥ２の波動における下向きのピーク（負ピーク）が検出されたならば、第３周期確定と判定し、図１１のステップＳ４６と同様に、次のようなパラメータを算出する。
【００６４】
・第３ＭＡＸ値バッファの現在の記憶値を、第３周期の正ピーク値ＰＭＡＭＡＸ３（第３周期最大振幅値）として決定し、記憶する。
・第３ＭＩＮ値バッファの現在の記憶値を、第３周期の負ピーク値ＰＭＡＭＩＮ３（第３周期最小振幅値）として決定し、記憶する。
・第３周周期カウンタの現在のカウント値に基づき第３周期の周期ＰＭＡＣＹＣ３を決定し、記憶する。
・「（ＰＭＡＭＡＸ３＋ＰＭＡＭＩＮ３）／２」の演算式に従い、正負ピーク間の平均値（中央値）ＰＭＡＡＶＥ３を算出する。このＰＭＡＡＶＥ３は、第３周期に対応する油圧脈動のバイアス成分（振れの中心に相当する油圧値）に相当する。具体的には、このＰＭＡＡＶＥ３をそのままバイアス値として使用することなく、このＰＭＡＡＶＥ３をなまらす処理（例えばローパスフィルタ処理）を行い、その結果を第３周期脈動バイアス値ＰＭＡＢＩＡＳ３として記憶する。
・「（ＰＭＡＭＡＸ３−ＰＭＡＭＩＮ３）／２」の演算式に従い、第３周期脈動振幅ＰＭＡＡＭＰ３を算出する。これは、第３周期に対応する油圧脈動のバイアス位置（振れの中心）からのピーク振幅値に相当している。
・現在確定した第３周期のピーク間平均値ＰＭＡＡＶＥ３から、前回確定した第３周期のピーク間平均値pre_ＰＭＡＡＶＥ３を減算し、相前後する周期間のピーク間平均値（つまりバイアス値）ＰＭＡＡＶＥ３の変化量、つまり第３周期脈動平均値変化量ＤＰＭＡＡＶＥ３を算出する。
【００６５】
以上のような各パラメータを算出したならば、第３周期判定済みフラグＦ＿ＰＭＡＣＹＣ３を１にセットする。
【００６６】
［油圧脈動補正量算出］
図１２は、補正部Ｂ５によって実行される「油圧脈動補正処理」（油圧脈動補正機能）のうち、油圧脈動補正量を算出するための処理の概略を示すフロー図である。ステップＳ５０では、「脈動状態決定」ルーチンを実行する。この「脈動状態決定」ルーチンでは、図５〜図１１に示した「脈動検知処理」の結果を参照して、より長い脈動周期中の最大振幅等の検出パラメータを使用する。具体的には、１にセットされている第１〜第３周期判定済みフラグＦ＿ＭＡＣＹＣ１，Ｆ＿ＰＭＡＣＹＣ２，Ｆ＿ＰＭＡＣＹＣ３のうち、最も長い周期を特定する。そして、特定した周期についての脈動振幅（ＰＭＡＡＭＰ１，ＰＭＡＡＭＰ２，ＰＭＡＡＭＰ３のいずれか）と、脈動バイアス値（ＰＭＡＢＩＡＳ１，ＰＭＡＢＩＡＳ２，ＰＭＡＢＩＡＳ３）を特定し、以下の処理で使用する「脈動振幅ＰＭＡＡＭＰ」及び「脈動バイアス値ＰＭＡＢＩＡＳ」として設定する。
【００６７】
ステップＳ５１では、上記設定された脈動振幅ＰＭＡＡＭＰをなまらせるための処理（例えばローパスフィルタ処理）を施して、なまらせた脈動振幅ＰＭＡＡＭＰＦを取得する。これは、油圧脈動中のノイズ的な振動成分が脈動振幅ＰＭＡＡＭＰに含まれていた場合、補正油圧が高圧化しやすいため、脈動振幅ＰＭＡＡＭＰをなまらせることによって、そのようなおそれを除去することを目的としている。
【００６８】
ステップＳ５２では、脈動補正を行う種々の条件（例えば、従動軸推力が所定値以下等）が成立しているかを再度判定する。成立していれば、ステップＳ５３に進み、前記なまらせた脈動振幅ＰＭＡＡＭＰＦと前記設定した脈動バイアス値ＰＭＡＢＩＡＳとに基づき、所定のマップを参照して、これらパラメータＰＭＡＡＭＰＦ、ＰＭＡＢＩＡＳの組み合わせに適した脈動補正ベース補正量ＰＯＩＬＲＩＰＢを取得する。一方、成立していなければ、ステップＳ５４に進み、脈動補正ベース補正量ＰＯＩＬＲＩＰＢを０にリセットする。
【００６９】
ステップＳ５５では、上記取得した脈動補正ベース補正量ＰＯＩＬＲＩＰＢが所定の上限値を越えている場合、これを該上限値に限定するリミット処理を施し、リミット処理を施した脈動補正ベース補正量ＰＯＩＬＲＩＰＢＬを取得する。
【００７０】
ステップＳ５６では、前ステップＳ５５で求めた脈動補正ベース補正量ＰＯＩＬＲＩＰＢＬが、前回の補正量ＰＯＩＬＲＩＰと同じか又はそれより大きいかを判断する。ＹＥＳの場合は、補正量を前回値よりも大きくすることが要求されていることを意味する。そこで、まず、ステップＳ５７で所定のタイマーをセットし、ステップＳ５８で前回の補正量ＰＯＩＬＲＩＰに所定増分値＃ＤＰＯＩＬＲＩＰＰを加算したものを今回の補正量ＰＯＩＬＲＩＰとして算出する。なお、算出された今回の補正量ＰＯＩＬＲＩＰが前記ステップＳ５５で求めた脈動補正ベース補正量ＰＯＩＬＲＩＰＢＬよりも大きい場合は、今回の補正量ＰＯＩＬＲＩＰをＰＯＩＬＲＩＰＢＬに制限するものとする。このようにして、補正量ＰＯＩＬＲＩＰを増加させる場合は、１処理サイクル毎に、所定増分値＃ＤＰＯＩＬＲＩＰＰだけ、徐々に増加させるようにすることで、急峻な油圧補正量の増加を防ぐようにしている。
【００７１】
一方、脈動補正ベース補正量ＰＯＩＬＲＩＰＢＬが、前回の補正量ＰＯＩＬＲＩＰよりも小さい場合は、補正量ＰＯＩＬＲＩＰを減少させる必要が有り、ステップＳ５６のＮＯからステップＳ５９に進む。ステップＳ５９では、前記ステップＳ５７でセットしたタイマーがタイムアップしたかを調べる。タイムアップしてなければ、ステップＳ６１に行き、今回の補正量ＰＯＩＬＲＩＰとして、前回の補正量ＰＯＩＬＲＩＰと同じ値を保持させる。一方、タイムアップしたならば、ステップＳ６０で前回の補正量ＰＯＩＬＲＩＰから所定減少値＃ＤＰＯＩＬＲＩＰＭを減算したものを今回の補正量ＰＯＩＬＲＩＰとして算出する。なお、算出された今回の補正量ＰＯＩＬＲＩＰが前記ステップＳ５５で求めた脈動補正ベース補正量ＰＯＩＬＲＩＰＢＬよりも小さい場合は、今回の補正量ＰＯＩＬＲＩＰをＰＯＩＬＲＩＰＢＬに設定するものとする。なお、ここで使用されるタイマーは、油圧補正量ＰＯＩＬＲＩＰを減少させる制御に所定の時間遅れをもたせることにより、油圧減少制御に関して応答遅れを設定し、プーリ軸推力が不足気味にならないようにするためのものである。また、補正量ＰＯＩＬＲＩＰを減少させる場合は、１処理サイクル毎に、所定減少値＃ＤＰＯＩＬＲＩＰＭだけ、徐々に減少させるようにすることで、急峻な油圧補正量の減少を防ぐようにしている。
【００７２】
以上のようにして決定された補正量ＰＯＩＬＲＩＰは、図３を参照して説明したように、油圧指令値（目標供給油圧）を加算的に補正するために使用される。
【符号の説明】
【００７３】
ＣＶＴ  ベルト式無段変速機
１  入力軸
２  カウンター軸
１０  金属Ｖベルト機構
１１  駆動側プーリ
１６  従動側プーリ
３５  油圧センサ
５０  制御装置
Ｂ５  補正部
【図１】
0005291752.tif 000002
【図２】
0005291752.tif 000003
【図３】
0005291752.tif 000004
【図４】
0005291752.tif 000005
【図５】
0005291752.tif 000006
【図６】
0005291752.tif 000007
【図７】
0005291752.tif 000008
【図８】
0005291752.tif 000009
【図９】
0005291752.tif 000010
【図１０】
0005291752.tif 000011
【図１１】
0005291752.tif 000012
【図１２】
0005291752.tif 000013