(57)【要約】【課題】  振幅が周期的に変化する周期的外乱を受ける制御対象を制御する場合でも、周期的外乱が制御対象の出力に及ぼす影響をより迅速に補償し、抑制することができ、それにより制御の安定性および制御精度を向上させることができる制御装置を提供する。【解決手段】  制御装置１はＥＣＵ２を備える。ＥＣＵ２は、ＣＲＫ信号の発生タイミングで、周期的外乱を補償するための外乱補償値Rcyc_cin,Rcyc_lin,Rcyc_crを、マップ検索およびテーブル検索などにより算出し（ステップ1〜15）、所定の制御周期ΔＴで、制御入力Ucain,Uliftin,Ucrをそれぞれ、当該制御周期ΔＴで読み込んだ外乱補償値Rcyc_cin,Rcyc_lin,Rcyc_crに応じて、所定の制御アルゴリズム［式(1)〜(8),(10)〜(16),(21)〜(33),(42)〜(54)］により算出する（ステップ26〜28）。【選択図】  図２２
2005273634.tif 000002
【特許請求の範囲】
【請求項１】
振幅が周期的に変化する周期的外乱が加えられる制御対象の出力を制御入力により制御する制御装置であって、
前記周期的外乱を補償するための、当該周期的外乱の振幅変化の予測結果に応じて時系列的に予め設定された複数の外乱補償値を記憶する外乱補償値記憶手段と、
前記周期的外乱の周期の１／ｎ（ｎは２以上の整数）に相当する選択周期ごとの選択タイミングで、前記記憶されている複数の外乱補償値から当該選択タイミングに応じた１つを選択する外乱補償値選択手段と、
前記制御入力を、前記選択された外乱補償値に応じて、所定の制御アルゴリズムにより算出する制御入力算出手段と、
を備えることを特徴とする制御装置。
【請求項２】
振幅が周期的に変化する周期的外乱が加えられる制御対象の出力を制御入力により制御する制御装置であって、
前記周期的外乱を補償するための、当該周期的外乱の振幅変化の予測結果に応じて時系列的に予め設定された複数の外乱補償値を記憶する外乱補償値記憶手段と、
前記周期的外乱の周期の１／ｎ（ｎは２以上の整数）に相当する選択周期ごとの選択タイミングで、前記記憶されている複数の外乱補償値から当該選択タイミングに応じた１つを選択する外乱補償値選択手段と、
前記制御対象における外乱およびモデル化誤差を補償するための外乱推定値を、当該外乱推定値と前記制御入力と前記制御対象の出力との関係を定義したモデルに基づく所定の推定アルゴリズムにより算出する外乱推定値算出手段と、
前記制御入力を、前記選択された外乱補償値および前記算出された外乱推定値に応じて、所定の制御アルゴリズムにより算出する制御入力算出手段と、
を備えることを特徴とする制御装置。
【請求項３】
振幅が周期的に変化する周期的外乱が加えられる制御対象の出力を制御入力により制御する制御装置であって、
前記周期的外乱を補償するための、当該周期的外乱の振幅変化の予測結果に応じて時系列的に予め設定された複数の外乱補償値を記憶する外乱補償値記憶手段と、
前記周期的外乱の周期の１／ｎ（ｎは２以上の整数）に相当する選択周期ごとの選択タイミングで、前記記憶されている複数の外乱補償値から当該選択タイミングに応じた１つを選択する外乱補償値選択手段と、
前記外乱補償値と前記制御入力と前記制御対象の出力との関係を定義したモデルのモデルパラメータを、所定の同定アルゴリズムにより同定するモデルパラメータ同定手段と、
前記制御入力を、前記同定されたモデルパラメータおよび前記選択された外乱補償値に応じて、前記モデルに基づく所定の制御アルゴリズムを含む所定のアルゴリズムにより算出する制御入力算出手段と、
を備えることを特徴とする制御装置。
【請求項４】
振幅が周期的に変化する周期的外乱が加えられる制御対象の出力を制御入力により制御する制御装置であって、
前記周期的外乱を補償するための、当該周期的外乱の振幅変化の予測結果に応じて時系列的に予め設定された複数の外乱補償値を記憶する外乱補償値記憶手段と、
前記周期的外乱の周期の１／ｎ（ｎは２以上の整数）に相当する選択周期ごとの選択タイミングで、前記記憶されている複数の外乱補償値から当該選択タイミングに応じた１つを選択する外乱補償値選択手段と、
前記外乱補償値の振幅を補正するための振幅補正値を、当該振幅補正値と、前記外乱補償値と、前記前記制御入力と、前記制御対象の出力との関係を定義したモデルに基づく所定のアルゴリズムにより算出する振幅補正値算出手段と、
前記制御入力を、当該算出された振幅補正値および前記選択された外乱補償値に応じて、所定の制御アルゴリズムにより算出する制御入力算出手段と、
を備えることを特徴とする制御装置。
【請求項５】
前記制御対象の出力の目標値を設定する目標値設定手段をさらに備え、
前記所定の制御アルゴリズムは、前記制御対象の出力を前記目標値に収束させるための応答指定型制御アルゴリズムを含むことを特徴とする請求項１ないし４のいずれかに記載の制御装置。
【請求項６】
前記制御対象の出力の目標値を設定する目標値設定手段をさらに備え、
前記所定の制御アルゴリズムは、前記制御対象の出力を前記目標値に収束させるための２自由度制御アルゴリズムを含むことを特徴とする請求項１ないし４のいずれかに記載の制御装置。
【請求項７】
前記制御対象は、内燃機関の吸気カムシャフトおよび排気カムシャフトの少なくとも一方の、クランクシャフトに対する位相であるカム位相を変更する可変カム位相機構を含み、
前記制御対象の出力は、前記可変カム位相機構により変更される前記カム位相であり、
前記制御入力は、前記可変カム位相機構に入力されることを特徴とする請求項１ないし６のいずれかに記載の制御装置。
【請求項８】
前記制御対象は、内燃機関の吸気弁および排気弁の少なくとも一方のリフトであるバルブリフトを変更する可変バルブリフト機構を含み、
前記制御対象の出力は、前記可変バルブリフト機構により変更される前記バルブリフトであり、
前記制御入力は、前記可変バルブリフト機構に入力されることを特徴とする請求項１ないし６のいずれかに記載の制御装置。
【請求項９】
前記制御対象は、内燃機関の圧縮比を変更する可変圧縮比機構を含み、
前記制御対象の出力は、前記可変圧縮比機構により変更される前記圧縮比であり、
前記制御入力は、前記可変圧縮比機構に入力されることを特徴とする請求項１ないし６のいずれかに記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、振幅が周期的に変化する周期的外乱が加えられる制御対象を制御する制御装置に関する。
【背景技術】
【０００２】
従来、内燃機関の可変カム位相機構を制御する制御装置として、特許文献１に記載されたものが知られている。この可変カム位相機構は、吸気カムシャフトすなわち吸気カムのクランクシャフトに対する位相（以下「カム位相」という）を自在に変化させることにより、吸気弁のバルブタイミングを変化させるものであり、油圧駆動式の可変カム位相機構と、これにオイルポンプからの油圧を供給する電磁制御弁などで構成されている。また、カム位相制御装置は、クランクシャフトおよび吸気カムの角度位置に相当する信号をそれぞれ検出するクランク角センサおよびカム角センサと、これらのセンサの検出信号が入力されるコントローラとを備えている。
【０００３】
このコントローラは、クランク角センサおよびカム角センサの検出信号に基づいて実際のカム位相を算出し、内燃機関の運転状態に基づいて目標カム位相を算出するとともに、以下に述べるように、スライディングモード制御アルゴリズムにより、カム位相を目標カム位相に収束させるように制御する。すなわち、電磁制御弁への制御信号を制御入力とし、カム位相を出力とする系を、制御対象として見なすとともに、この制御対象を連続時間系モデルとしてモデル化する。具体的には、制御対象の状態方程式を、カム位相の一次および二次の時間微分値を状態変数とする微分方程式として設定する。さらに、スライディングモード制御アルゴリズムにおける切換関数を、目標カム位相とカム位相との偏差、およびその時間微分値（すなわち変化速度）を状態変数とする線形関数として設定する。そして、以上のように設定した切換関数の状態変数である偏差およびその変化速度が切換直線上に載るように制御入力を算出することによって、すなわち偏差およびその変化速度が切換直線上をスライディングし、値０に収束するように制御入力を算出することによって、カム位相が目標カム位相に収束するように制御される。
【０００４】
また、スライディングモード制御アルゴリズムを用いる制御装置として、特許文献２に記載されたものを本出願人はすでに提案している。この制御装置は、内燃機関のスロットル弁駆動装置を制御するものであり、適応スライディングモードコントローラ、オンボード同定器および状態予測器などを備えている。また、スロットル弁駆動装置は、スロットル弁を駆動することで、その開度を変化させるものであり、モータなどを備えている。
【０００５】
この制御装置では、以下のようにスロットル弁駆動装置を制御するための制御入力が算出される。すなわち、モータへの制御信号のデューティ比を制御入力とし、スロットル弁の開度と目標開度との開度偏差を出力とする系を、制御対象として見なすとともに、その制御対象を、デューティ比、開度偏差および補償値の関係を定義した離散時間系モデルとしてモデル化する。この補償値は、制御対象モデルのモデル化誤差および外乱を補償するためのものである。
【０００６】
そして、オンボード同定器により、制御対象モデルのモデルパラメータおよび補償値が同定演算され、それらの同定値を用いて、適応スライディングモードコントローラにおいて、スライディングモード制御アルゴリズムにより、制御入力が算出される。この制御装置では、以上のように制御入力が算出されるので、制御対象モデルのモデル化誤差および外乱を適切に補償することができ、それにより、高い制御精度が確保される。
【０００７】
【特許文献１】特開２００１−１３２４８２号公報
【特許文献２】特開２００３−５８０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記特許文献１の制御装置では、（ｆ１）制御対象に加えられる外乱の影響を考慮していないので、可変カム位相機構のような定常的な外乱を受けやすい制御対象の場合、定常的な外乱により制御の安定性および制御精度が低下してしまう。（ｆ２）また、可変カム位相機構は、吸気カムのクランクシャフトに対するカム位相を自在に変化させるものであるため、吸気カムが吸気弁を開閉駆動する際、吸気弁のバルブスプリングの付勢力および反力に起因して、振幅が周期的に変化する周期的外乱を受けてしまう（後述する図１２参照）。このような周期的外乱を受けると、その影響により、吸気弁の開弁時間が全体的に短くなり（後述する図１４，１５参照）、開弁時の吸入空気量が減少することで、内燃機関の発生トルクの低下を招くとともに燃焼状態が不安定になってしまう。
【０００９】
（ｆ３）また、制御対象モデルとして連続時間系モデルを用いているので、制御対象モデルのモデルパラメータを制御対象の実験データから直接同定することは困難である。そのため、具体的には、連続時間系モデルを離散時間系モデルに近似変換し、それに基づいてモデルパラメータを同定しなければならないので、このような近似変換の使用により、モデルパラメータの同定精度が低下してしまう。さらに、離散時間系モデルを連続時間系モデルに再度、近似変換しなければならないので、このような２回の近似変換の使用により、制御対象モデルのモデル化誤差も増大してしまう。その結果、制御の安定余裕を確保するために、コントローラゲインを低く抑える必要が生じ、制御性がさらに低下してしまう。すなわち、特許文献１の制御装置では、スライディングモード制御特有のロバスト性および応答指定特性を確保できなくなる。
【００１０】
以上のような特許文献１の問題点を解消するために、特許文献１の制御装置に特許文献２の制御手法を適用することが考えられる。このようにした場合、上述した特許文献１の（ｆ１）および（ｆ３）の問題は解決できるものの、特許文献２の制御手法では、補償値をオンボード同定器で演算しているため、その演算回数が所定値に達するまでの間、上記（ｆ２）の問題を解消することができない。すなわち、周期的外乱の影響を補償し、抑制するのに時間が若干かかり、その間、制御の安定性および制御精度が低下してしまう可能性がある。
【００１１】
本発明は、上記課題を解決するためになされたもので、振幅が周期的に変化する周期的外乱を受ける制御対象を制御する場合でも、周期的外乱が制御対象の出力に及ぼす影響をより迅速に補償し、抑制することができ、それにより制御の安定性および制御精度を向上させることができる制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、請求項１に係る発明は、振幅が周期的に変化する周期的外乱が加えられる制御対象の出力（カム位相Ｃａｉｎ、バルブリフトＬｉｆｔｉｎ、圧縮比Ｃｒ）を制御入力（位相制御入力Ｕｃａｉｎ、リフト制御入力Ｕｌｉｆｔｉｎ、圧縮比制御入力Ｕｃｒ）により制御する制御装置１であって、周期的外乱を補償するための、周期的外乱の振幅変化の予測結果に応じて時系列的に予め設定された複数の外乱補償値（カム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎ、バルブリフト制御用の外乱補償値Ｒｃｙｃ＿ｌｉｎ、圧縮比制御用の外乱補償値Ｒｃｙｃ＿ｃｒ）を記憶する外乱補償値記憶手段（ＥＣＵ２、ＲＯＭ２ｃ、補償要素１０２，１１２，１２２）と、周期的外乱の周期の１／ｎ（ｎは２以上の整数）に相当する選択周期（ＣＲＫ信号の発生周期）ごとの選択タイミングで、記憶されている複数の外乱補償値から当該選択タイミングに応じた１つを選択する外乱補償値選択手段（ＥＣＵ２、補償要素１０２，１１２，１２２、ステップ６，９，１２）と、制御入力を、選択された外乱補償値に応じて、所定の制御アルゴリズム［式（１）〜（８），（１０）〜（１６）］により算出する制御入力算出手段（ＥＣＵ２、２自由度スライディングモードコントローラ１０３，１１３，１２３、ＤＳＭコントローラ１０５，１１５，１２５、ステップ２５〜２８）と、を備えることを特徴とする。
【００１３】
この制御装置によれば、周期的外乱を補償するための複数の外乱補償値が、周期的外乱の振幅変化の予測結果に応じて時系列的に予め設定され、外乱補償値記憶手段に記憶されており、これらの複数の外乱補償値から、周期的外乱の周期の１／ｎに相当する選択周期ごとの選択タイミングで、当該選択タイミングに応じた１つが選択され、制御入力が、選択された外乱補償値に応じて、所定の制御アルゴリズムにより算出される。このように、外乱補償値は、予め設定された複数の外乱補償値の中の１つが選択タイミングで選択されるだけであるとともに、制御入力は、選択された外乱補償値に応じて、所定の制御アルゴリズムにより算出されるので、そのように算出された制御入力により制御対象の出力を制御することで、周期的外乱が制御対象の出力に及ぼす影響を従来よりも迅速に補償し、抑制することができる。これにより、制御の安定性および制御精度を向上させることができる（なお、本明細書における「外乱補償値の記憶」は、外乱補償値をメモリーなどに記憶することに限らず、外乱補償値を装置内に保持することも含む。また、「制御入力の算出」「外乱推定値の算出」および「振幅補正値の算出」などの「算出」は、プログラムにより演算することに限らず、電気回路によりそれらを表す電気信号を生成することを含む）。
【００１４】
請求項２に係る発明は、振幅が周期的に変化する周期的外乱が加えられる制御対象の出力（カム位相Ｃａｉｎ、バルブリフトＬｉｆｔｉｎ、圧縮比Ｃｒ）を制御入力（位相制御入力Ｕｃａｉｎ、リフト制御入力Ｕｌｉｆｔｉｎ、圧縮比制御入力Ｕｃｒ）により制御する制御装置１Ａであって、周期的外乱を補償するための、周期的外乱の振幅変化の予測結果に応じて時系列的に予め設定された複数の外乱補償値（カム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎ、バルブリフト制御用の外乱補償値Ｒｃｙｃ＿ｌｉｎ、圧縮比制御用の外乱補償値Ｒｃｙｃ＿ｃｒ）を記憶する外乱補償値記憶手段（ＥＣＵ２、ＲＯＭ２ｃ、補償要素２０２，２１２，２２２）と、周期的外乱の周期の１／ｎ（ｎは２以上の整数）に相当する選択周期（ＣＲＫ信号の発生周期）ごとの選択タイミングで、記憶されている複数の外乱補償値から当該選択タイミングに応じた１つを選択する外乱補償値選択手段（ＥＣＵ２、補償要素２０２，２１２，２２２）と、制御対象における外乱およびモデル化誤差を補償するための外乱推定値ｃ１を、外乱推定値ｃ１と制御入力と制御対象の出力との関係を定義したモデル［式（２０）］に基づく所定の推定アルゴリズム［式（１７）〜（１９）］により算出する外乱推定値算出手段（ＥＣＵ２、適応外乱オブザーバ２０６，２１６，２２６）と、制御入力を、選択された外乱補償値および算出された外乱推定値に応じて、所定の制御アルゴリズム［式（２１）〜（３３）］により算出する制御入力算出手段（ＥＣＵ２、２自由度スライディングモードコントローラ２０３，２１３，２２３、ＤＳＭコントローラ２０５，２１５，２２５）と、を備えることを特徴とする。
【００１５】
この制御装置によれば、周期的外乱を補償するための複数の外乱補償値が、周期的外乱の振幅変化の予測結果に応じて時系列的に予め設定され、外乱補償値記憶手段に記憶されており、これらの複数の外乱補償値から、周期的外乱の周期の１／ｎに相当する選択周期ごとの選択タイミングで、当該選択タイミングに応じた１つが選択され、制御対象における外乱およびモデル化誤差を補償するための外乱推定値が、外乱推定値と制御入力と制御対象の出力との関係を定義したモデルに基づく所定の推定アルゴリズムにより算出され、さらに、制御入力が、選択された外乱補償値および算出された外乱推定値に応じて、所定の制御アルゴリズムにより算出される。このように、外乱補償値は、予め設定された複数の外乱補償値の中の１つが選択タイミングで選択されるだけであるとともに、制御入力は、選択された外乱補償値に応じて算出されるので、前述したように、そのように算出された制御入力により制御対象の出力を制御することで、周期的外乱が制御対象の出力に及ぼす影響を従来よりも迅速に補償し、抑制することができる。これに加えて、制御入力が、外乱推定値にさらに応じて算出されるので、制御対象における定常的な外乱およびモデル化誤差も適切に補償することができ、制御対象の出力を、定常偏差が生じないように制御することができる。以上により、制御の安定性および制御精度を向上させることができる。
【００１６】
請求項３に係る発明は、振幅が周期的に変化する周期的外乱が加えられる制御対象の出力（カム位相Ｃａｉｎ、バルブリフトＬｉｆｔｉｎ、圧縮比Ｃｒ）を制御入力（位相制御入力Ｕｃａｉｎ、リフト制御入力Ｕｌｉｆｔｉｎ、圧縮比制御入力Ｕｃｒ）により制御する制御装置１Ｂであって、周期的外乱を補償するための、周期的外乱の振幅変化の予測結果に応じて時系列的に予め設定された複数の外乱補償値（カム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎ、バルブリフト制御用の外乱補償値Ｒｃｙｃ＿ｌｉｎ、圧縮比制御用の外乱補償値Ｒｃｙｃ＿ｃｒ）を記憶する外乱補償値記憶手段（ＥＣＵ２、ＲＯＭ２ｃ、補償要素３０２，３１２，３２２）と、周期的外乱の周期の１／ｎ（ｎは２以上の整数）に相当する選択周期（ＣＲＫ信号の発生周期）ごとの選択タイミングで、記憶されている複数の外乱補償値から当該選択タイミングに応じた１つを選択する外乱補償値選択手段（ＥＣＵ２、補償要素３０２，３１２，３２２）と、外乱補償値と制御入力と制御対象の出力との関係を定義したモデル［式（４０）］のモデルパラメータｂ１，ｂ２を、所定の同定アルゴリズム［式（３４）〜（３９）］により同定するモデルパラメータ同定手段（ＥＣＵ２、部分パラメータ同定器３０７，３１７，３２７）と、制御入力を、同定されたモデルパラメータおよび選択された外乱補償値に応じて、モデルに基づく所定の制御アルゴリズム［式（４２）〜（４８）］を含む所定のアルゴリズム［式（４２）〜（５４）］により算出する制御入力算出手段（ＥＣＵ２、２自由度スライディングモードコントローラ３０３，３１３，３２３、ＤＳＭコントローラ３０５，３１５，３２５）と、を備えることを特徴とする。
【００１７】
この制御装置によれば、周期的外乱を補償するための複数の外乱補償値が、周期的外乱の振幅変化の予測結果に応じて時系列的に予め設定され、外乱補償値記憶手段に記憶されており、これらの複数の外乱補償値から、周期的外乱の周期の１／ｎに相当する選択周期ごとの選択タイミングで、当該選択タイミングに応じた１つが選択され、選択された外乱補償値と制御入力と制御対象の出力との関係を定義したモデルのモデルパラメータが、所定の同定アルゴリズムにより同定され、制御入力が、同定されたモデルパラメータおよび選択された外乱補償値に応じて、モデルに基づく所定の制御アルゴリズムを含む所定のアルゴリズムにより算出される。このように、外乱補償値は、予め設定された複数の外乱補償値の中の１つが選択タイミングで選択されるだけであるとともに、制御入力は、選択された外乱補償値に応じて算出されるので、前述したように、そのように算出された制御入力により制御対象の出力を制御することで、周期的外乱が制御対象の出力に及ぼす影響を従来よりも迅速に補償し、抑制することができる。これに加えて、外乱補償値と制御入力と制御対象の出力との関係を定義したモデルのモデルパラメータの同定値にさらに応じて、制御入力が算出されるので、周期的外乱の影響を受けないように同定されたモデルパラメータを用いながら、制御入力を算出できることで、制御対象の動特性が変化した場合でも、そのような変化の影響を迅速に吸収しながら、制御対象の出力を制御することができる。以上により、制御の安定性および制御精度を向上させることができる。
【００１８】
請求項４に係る発明は、振幅が周期的に変化する周期的外乱が加えられる制御対象の出力（カム位相Ｃａｉｎ、バルブリフトＬｉｆｔｉｎ、圧縮比Ｃｒ）を制御入力（位相制御入力Ｕｃａｉｎ、リフト制御入力Ｕｌｉｆｔｉｎ、圧縮比制御入力Ｕｃｒ）により制御する制御装置１Ｂであって、周期的外乱を補償するための、周期的外乱の振幅変化の予測結果に応じて時系列的に予め設定された複数の外乱補償値（カム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎ、バルブリフト制御用の外乱補償値Ｒｃｙｃ＿ｌｉｎ、圧縮比制御用の外乱補償値Ｒｃｙｃ＿ｃｒ）を記憶する外乱補償値記憶手段（ＥＣＵ２、ＲＯＭ２ｃ、補償要素３０２，３１２，３２２）と、周期的外乱の周期の１／ｎ（ｎは２以上の整数）に相当する選択周期（ＣＲＫ信号の発生周期）ごとの選択タイミングで、記憶されている複数の外乱補償値から当該選択タイミングに応じた１つを選択する外乱補償値選択手段（ＥＣＵ２、補償要素３０２，３１２，３２２）と、外乱補償値の振幅を補正するための振幅補正値（外乱補償値ゲインｄ１，ｄ１’，ｄ''）を、振幅補正値と、外乱補償値と、制御入力と、制御対象の出力との関係を定義したモデル［式（４０）］に基づく所定のアルゴリズム［式（３４）〜（３９）］により算出する振幅補正値算出手段（ＥＣＵ２、部分パラメータ同定器３０７，３１７，３２７）と、制御入力を、算出された振幅補正値および選択された外乱補償値に応じて、所定の制御アルゴリズム［式（４２）〜（５４）］により算出する制御入力算出手段（ＥＣＵ２、２自由度スライディングモードコントローラ３０３，３１３，３２３、ＤＳＭコントローラ３０５，３１５，３２５）と、を備えることを特徴とする。
【００１９】
この制御装置によれば、周期的外乱を補償するための複数の外乱補償値が、周期的外乱の振幅変化の予測結果に応じて時系列的に予め設定され、外乱補償値記憶手段に記憶されており、これらの複数の外乱補償値から、周期的外乱の周期の１／ｎに相当する選択周期ごとの選択タイミングで、当該選択タイミングに応じた１つが選択され、外乱補償値の振幅を補正するための振幅補正値が、振幅補正値と、選択された外乱補償値と、制御入力と、制御対象の出力との関係を定義したモデルに基づく所定のアルゴリズムにより算出され、制御入力が、算出された振幅補正値および選択された外乱補償値に応じて、所定の制御アルゴリズムにより算出される。このように、外乱補償値は、予め設定された複数の外乱補償値の中の１つが選択タイミングで選択されるだけであるとともに、制御入力は、選択された外乱補償値に応じて算出されるので、前述したように、そのように算出された制御入力により制御対象の出力を制御することで、周期的外乱が制御対象の出力に及ぼす影響を従来よりも迅速に補償し、抑制することができる。これに加えて、制御入力が振幅補正値にさらに応じて算出されるので、制御対象の経年変化および個体間のばらつきに起因して、外乱補償値の振幅が実際の周期的外乱の振幅との間に偏差を生じている場合でも、そのような偏差を補償することができる。以上により、制御の安定性および制御精度を向上させることができる。
【００２０】
請求項５に係る発明は、請求項１ないし４のいずれかに記載の制御装置１，１Ａ，１Ｂにおいて、制御対象の出力の目標値（目標カム位相Ｃａｉｎ＿ｃｍｄ、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄ、目標圧縮比Ｃｒ＿ｃｍｄ）を設定する目標値設定手段（ＥＣＵ２、目標カム位相算出部１０１，２０１，３０１、目標バルブリフト算出部１１１，２１１，３１１、目標圧縮比算出部１２１，２２１，３２１、ステップ２２〜２４，２９〜３１）をさらに備え、所定の制御アルゴリズムは、制御対象の出力を目標値に収束させるための応答指定型制御アルゴリズム［式（１）〜（８），（２１）〜（２７），（４２）〜（４８）］を含むことを特徴とする。
【００２１】
この制御装置によれば、制御入力が、制御対象の出力を目標値に収束させるための応答指定型制御アルゴリズムを含む制御アルゴリズムにより算出されるので、制御対象の出力と目標値との間に大きな偏差が生じた場合でも、そのような偏差に起因するオーバーシュートの発生を回避しながら、制御対象の出力を目標値に迅速に精度よく収束させることができる。その結果、制御の安定性および制御精度をさらに向上させることができる。
【００２２】
請求項６に係る発明は、請求項１ないし４のいずれかに記載の制御装置１，１Ａ，１Ｂにおいて、制御対象の出力の目標値（目標カム位相Ｃａｉｎ＿ｃｍｄ、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄ、目標圧縮比Ｃｒ＿ｃｍｄ）を設定する目標値設定手段（ＥＣＵ２、目標カム位相算出部１０１，２０１，３０１、目標バルブリフト算出部１１１，２１１，３１１、目標圧縮比算出部１２１，２２１，３２１、ステップ２２〜２４，２９〜３１）をさらに備え、所定の制御アルゴリズムは、制御対象の出力を目標値に収束させるための２自由度制御アルゴリズム［式（１）〜（８），（２１）〜（２７），（４２）〜（４８）］を含むことを特徴とする。
【００２３】
この制御装置によれば、制御入力が、制御対象の出力を目標値に収束させるための２自由度制御アルゴリズムを含む制御アルゴリズムにより算出されるので、目標値が大きく変化した場合でも、そのような変化に起因するオーバーシュートの発生を回避しながら、制御対象の出力を目標値に安定した状態で精度よく収束させることができる。その結果、制御の安定性および制御精度をさらに向上させることができる。
【００２４】
請求項７に係る発明は、請求項１ないし６のいずれかに記載の制御装置１，１Ａ，１Ｂにおいて、制御対象は、内燃機関３の吸気カムシャフト５および排気カムシャフトの少なくとも一方の、クランクシャフト３ｄに対する位相であるカム位相Ｃａｉｎを変更する可変カム位相機構７０を含み、制御対象の出力は、可変カム位相機構７０により変更されるカム位相Ｃａｉｎであり、制御入力（位相制御入力Ｕｃａｉｎ）は、可変カム位相機構７０に入力されることを特徴とする。
【００２５】
この制御装置によれば、カム位相を、周期的外乱のカム位相への影響を従来よりも迅速に補償し、抑制しながら、制御することができる。これにより、周期的外乱に起因する、吸気弁および／または排気弁の開弁時の吸入空気量の変化を回避できることで、内燃機関の発生トルクの変動を回避できるとともに、安定した燃焼状態を確保できる。
【００２６】
請求項８に係る発明は、請求項１ないし６のいずれかに記載の制御装置１，１Ａ，１Ｂにおいて、制御対象は、内燃機関３の吸気弁４および排気弁の少なくとも一方のリフトであるバルブリフトＬｉｆｔｉｎを変更する可変バルブリフト機構５０を含み、制御対象の出力は、可変バルブリフト機構５０により変更されるバルブリフトＬｉｆｔｉｎであり、制御入力（リフト制御入力Ｕｌｉｆｔｉｎ）は、可変バルブリフト機構５０に入力されることを特徴とする。
【００２７】
一般に、可変バルブリフト機構が周期的外乱を受けると、その影響により、吸気弁および／または排気弁のリフトが変化し、開弁時の吸入空気量が変化してしまうことで、内燃機関の発生トルクの変動を招くとともに、燃焼状態が不安定になってしまう。これに対して、この制御装置によれば、吸気弁および／または排気弁のリフトを、周期的外乱のカム位相への影響を従来よりも迅速に補償し、抑制しながら、制御することができるので、周期的外乱に起因する、吸気弁および／または排気弁の開弁時の吸入空気量の変化を回避できる。その結果、内燃機関の発生トルクの変動を回避できるとともに、安定した燃焼状態を確保できる。
【００２８】
請求項９に係る発明は、請求項１ないし６のいずれかに記載の制御装置１，１Ａ，１Ｂにおいて、制御対象は、内燃機関３の圧縮比Ｃｒを変更する可変圧縮比機構８０を含み、制御対象の出力は、可変圧縮比機構８０により変更される圧縮比Ｃｒであり、制御入力（圧縮比制御入力Ｕｃｒ）は、可変圧縮比機構８０に入力されることを特徴とする。
【００２９】
一般に、可変圧縮比機構が周期的外乱を受けると、その影響により圧縮比が変化することで、圧縮比と点火時期の間の適合性が低下してしまい、その結果、ノッキングが発生したり、燃焼効率が低下したりするおそれがある。これに対して、この制御装置によれば、圧縮比を、周期的外乱のカム位相への影響を従来よりも迅速に補償し、抑制しながら、制御することができるので、周期的外乱の影響による圧縮比の変化を回避でき、圧縮比と点火時期との間の適合性を良好な状態に維持できる。その結果、ノッキングの発生および燃焼効率の低下を回避することができる。
【図面の簡単な説明】
【００３０】
【図１】本願発明の第１実施形態に係る制御装置が適用された内燃機関の概略構成を示す模式図である。
【図２】制御装置の概略構成を示すブロック図である。
【図３】内燃機関の可変式吸気動弁機構および排気動弁機構の概略構成を示す断面図である。
【図４】可変式吸気動弁機構の可変バルブリフト機構の概略構成を示す断面図である。
【図５】（ａ）リフトアクチュエータの短アームが最大リフト位置にある状態と（ｂ）最小リフト位置にある状態を示す図である。
【図６】（ａ）可変バルブリフト機構の下リンクが最大リフト位置にあるときの吸気弁の開弁状態と（ｂ）最小リフト位置にあるときの吸気弁の開弁状態を示す図である。
【図７】可変バルブリフト機構の下リンクが最大リフト位置にあるときの吸気弁のバルブリフト曲線（実線）と、最小リフト位置にあるときのバルブリフト曲線（２点鎖線）をそれぞれ示す図である。
【図８】可変カム位相機構の概略構成を模式的に示す図である。
【図９】可変カム位相機構により、カム位相が最遅角値に設定されているときの吸気弁４のバルブリフト曲線（実線）と、カム位相が最進角値に設定されているときの吸気弁４のバルブリフト曲線（２点鎖線）をそれぞれ示す図である。
【図１０】（ａ）圧縮比が低圧縮比に設定されているときの可変圧縮比機構の全体構成を模式的に示す図と、（ｂ）圧縮比が高圧縮比に設定されているときの可変圧縮比機構における制御軸および圧縮比アクチュエータ付近の構成を示す図である。
【図１１】カム位相コントローラの概略構成を示すブロック図である。
【図１２】周期的外乱を説明するための、（ａ）吸気カムが吸気弁を開弁方向に駆動しているときと（ｂ）吸気弁を閉弁方向に駆動しているときの動作説明図である。
【図１３】カム位相制御における周期的外乱の影響を示すタイミングチャートである。
【図１４】バルブリフトが高リフトである場合の、可変カム位相機構の有無を比較するためのバルブリフト曲線である。
【図１５】バルブリフトが低リフトである場合の、可変カム位相機構の有無を比較するためのバルブリフト曲線である。
【図１６】１つのシリンダ用のカム位相制御用の外乱補償値マップにおける、バルブリフトが最大値であるときのマップ値の一例を示す図である。
【図１７】１つのシリンダ用のカム位相制御用の外乱補償値マップにおける、バルブリフトが最小値であるときのマップ値の一例を示す図である。
【図１８】第１実施形態の補償要素で、カム位相制御用の外乱補償値マップにおける、バルブリフトが最大値であるときのマップ値の一例を示す図である。
【図１９】第１実施形態の補償要素で、カム位相制御用の外乱補償値マップにおける、バルブリフトが最小値であるときのマップ値の一例を示す図である。
【図２０】２自由度スライディングモードコントローラの制御アルゴリズム、およびその導出に用いるモデルを示す図である。
【図２１】加算要素の演算式およびＤＳＭコントローラの制御アルゴリズムを示す図である。
【図２２】バルブリフトコントローラの概略構成を示すブロック図である。
【図２３】バルブリフト制御用の外乱補償値マップにおける、目標バルブリフトが最大値であるときのマップ値の一例を示す図である。
【図２４】バルブリフト制御用の外乱補償値マップにおける、目標バルブリフトが最小値であるときのマップ値の一例を示す図である。
【図２５】圧縮比コントローラの概略構成を示すブロック図である。
【図２６】圧縮比制御用の外乱補償値のマップ値の検索に用いる外乱補償値マップの一例を示す図である。
【図２７】カム位相制御用、バルブリフト制御用および圧縮比制御用の外乱補償値の算出処理を示すフローチャートである。
【図２８】カム位相制御用の補正係数の算出に用いるテーブルの一例を示す図である。
【図２９】バルブリフト制御用の補正係数の算出に用いるテーブルの一例を示す図である。
【図３０】圧縮比制御用の第１補正係数の算出に用いるマップの一例を示す図である。
【図３１】圧縮比制御用の第２補正係数の算出に用いるテーブルの一例を示す図である。
【図３２】位相制御入力、リフト制御入力および圧縮比制御入力の算出処理を示すフローチャートである。
【図３３】目標カム位相の算出に用いるマップの一例を示す図である。
【図３４】目標バルブリフトの算出に用いるマップの一例を示す図である。
【図３５】目標圧縮比の算出に用いるマップの一例を示す図である。
【図３６】第１実施形態に係る制御装置によるカム位相制御のシミュレーション結果の一例を、１つのシリンダについて示した図である。
【図３７】カム位相制御用の外乱補償値のマップ値の算出に用いる外乱補償値マップの変形例を示す図である。
【図３８】第２実施形態のカム位相コントローラの概略構成を示すブロック図である。
【図３９】第２実施形態のバルブリフトコントローラの概略構成を示すブロック図である。
【図４０】第２実施形態の圧縮比コントローラの概略構成を示すブロック図である。
【図４１】第２実施形態のカム位相コントローラの適応外乱オブザーバにおける外乱推定値の算出アルゴリズムおよびその導出に用いるモデルを示す図である。
【図４２】第２実施形態のカム位相コントローラの２自由度スライディングモードコントローラの制御アルゴリズムを示す図である。
【図４３】第２実施形態のカム位相コントローラのＤＳＭコントローラの制御アルゴリズムを示す図である。
【図４４】第３実施形態のカム位相コントローラの概略構成を示すブロック図である。
【図４５】第３実施形態のバルブリフトコントローラの概略構成を示すブロック図である。
【図４６】第３実施形態の圧縮比コントローラの概略構成を示すブロック図である。
【図４７】第３実施形態のカム位相コントローラの部分パラメータ同定器の同定アルゴリズムおよびその導出に用いるモデルを示す図である。
【図４８】第３実施形態のカム位相コントローラの２自由度スライディングモードコントローラの制御アルゴリズムを示す図である。
【図４９】第３実施形態のカム位相コントローラのＤＳＭコントローラの制御アルゴリズムを示す図である。
【発明を実施するための最良の形態】
【００３１】
以下、図面を参照しながら、本発明の第１実施形態に係る制御装置について説明する。この制御装置１は、図２に示すように、ＥＣＵ２を備えており、このＥＣＵ２は、後述するように、内燃機関（以下「エンジン」という）３の運転状態に応じて、バルブリフト制御、カム位相制御および圧縮比制御などの制御処理を実行する。
【００３２】
図１および図３に示すように、エンジン３は、４組のシリンダ３ａおよびピストン３ｂ（１組のみ図示）を有する直列４気筒ガソリンエンジンであり、図示しない車両に搭載されている。エンジン３は、シリンダ３ａごとに設けられ、吸気ポートおよび排気ポートをそれぞれ開閉する吸気弁４および排気弁７と、吸気弁４駆動用の吸気カムシャフト５および吸気カム６と、吸気弁４を開閉駆動する可変式吸気動弁機構４０と、排気弁７駆動用の排気カムシャフト８および排気カム９と、排気弁７を開閉駆動する排気動弁機構３０と、可変圧縮比機構８０などを備えている。
【００３３】
吸気弁４は、そのステム４ａがガイド４ｂに摺動自在に嵌合しており、このガイド４ｂは、シリンダヘッド３ｃに固定されている。さらに、吸気弁４は、図４に示すように、上下のスプリングシート４ｃ，４ｄと、これらの間に設けられたバルブスプリング４ｅとを備えており、このバルブスプリング４ｅにより、閉弁方向に付勢されている。
【００３４】
また、吸気カムシャフト５および排気カムシャフト８はそれぞれ、図示しないホルダを介して、シリンダヘッド３ｃに回動自在に取り付けられている。この吸気カムシャフト５の一端部上には、吸気スプロケット（図示せず）が同軸に配置され、回転自在に設けられている。この吸気スプロケットは、図示しないタイミングベルトを介してクランクシャフト３ｄに連結され、後述する可変カム位相機構７０を介して吸気カムシャフト５に連結されている。以上の構成により、吸気カムシャフト５は、クランクシャフト３ｄが２回転するごとに１回転する。また、吸気カム６は、吸気カムシャフト５上にこれと一体に回転するようにシリンダ３ａごとに設けられている。
【００３５】
さらに、可変式吸気動弁機構４０は、吸気カムシャフト５の回転に伴って、各シリンダ３ａの吸気弁４を開閉駆動するとともに、吸気弁４のリフトおよびバルブタイミングを無段階に変更するものであり、その詳細については、後述する。なお、本実施形態では、「吸気弁４のリフト（以下「バルブリフト」という）」は、吸気弁４の最大揚程を表すものとする。
【００３６】
一方、排気弁７は、そのステム７ａがガイド７ｂに摺動自在に嵌合しており、このガイド７ｂは、シリンダヘッド３ｃに固定されている。さらに、排気弁７は、上下のスプリングシート７ｃ，７ｄと、これらの間に設けられたバルブスプリング７ｅとを備えており、このバルブスプリング７ｅにより、閉弁方向に付勢されている。
【００３７】
また、排気カムシャフト８は、これと一体の排気スプロケット（図示せず）を備え、この排気スプロケットおよび図示しないタイミングベルトを介してクランクシャフト３ｄに連結されており、それにより、クランクシャフト３ｄが２回転するごとに１回転する。さらに、排気カム９は、排気カムシャフト８上にこれと一体に回転するようにシリンダ３ａごとに設けられている。
【００３８】
さらに、排気動弁機構３０は、ロッカアーム３１を備えており、このロッカアーム３１が排気カム９の回転に伴って回動することにより、バルブスプリング７ｅの付勢力に抗しながら、排気弁７を開閉駆動する。
【００３９】
一方、エンジン３には、クランク角センサ２０が設けられている。このクランク角センサ２０は、マグネットロータおよびＭＲＥピックアップで構成されており、クランクシャフト３ｄの回転に伴い、いずれもパルス信号であるＣＲＫ信号およびＴＤＣ信号をＥＣＵ２に出力する。このＣＲＫ信号は、クランク角１０゜ごとに１パルスが出力され、ＥＣＵ２は、このＣＲＫ信号に基づき、エンジン３の回転数（以下「エンジン回転数」という）ＮＥを算出する。また、ＴＤＣ信号は、各シリンダ３ａのピストン３ｂが吸気行程のＴＤＣ位置よりも若干、手前の所定のクランク角位置にあることを表す信号であり、所定クランク角ごとに１パルスが出力される。
【００４０】
また、エンジン３の吸気管１０には、上流側から順に、エアフローセンサ２１、スロットル弁１１、吸気管内絶対圧センサ２２および燃料噴射弁１２などが設けられている。
【００４１】
このエアフローセンサ２１は、熱線式エアフローメータで構成されており、スロットル弁１１を通過する吸入空気量（以下「ＴＨ通過吸入空気量」という）ＧＴＨを表す検出信号をＥＣＵ２に出力する。また、スロットル弁１１は、吸気管１０の途中に回動自在に設けられており、当該回動に伴う開度の変化によりＴＨ通過吸入空気量ＧＴＨを変化させる。さらに、スロットル弁１１は、ＥＣＵ２により、図示しないアクチュエータを介して、通常運転時、全開状態に保持されるとともに、可変式吸気動弁機構４０の故障時またはマスタバック（図示せず）への負圧供給時には、開度が制御される。
【００４２】
また、吸気管１０のスロットル弁１１よりも下流側の部分は、サージタンク１０ａになっており、このサージタンク１０ａに、吸気管内絶対圧センサ２２が設けられている。この吸気管内絶対圧センサ２２は、例えば半導体圧力センサなどで構成され、吸気管１０内の絶対圧（以下「吸気管内絶対圧」という）ＰＢＡを表す検出信号をＥＣＵ２に出力する。
【００４３】
さらに、燃料噴射弁１２は、ＥＣＵ２からの駆動信号によって駆動され、燃料を吸気管１０内に噴射する。また、エンジン３のシリンダヘッド３ｃには、点火プラグ１３（図２参照）が取り付けられている。この点火プラグ１３は、点火時期に応じた駆動信号がＥＣＵ２から加えられることによって放電し、燃料室内の混合気を燃焼させる。
【００４４】
次に、前述した可変式吸気動弁機構４０について説明する。この可変式吸気動弁機構４０は、図４に示すように、吸気カムシャフト５、吸気カム６、可変バルブリフト機構５０および可変カム位相機構７０などで構成されている。
【００４５】
この可変バルブリフト機構５０は、吸気カムシャフト５の回転に伴って吸気弁４を開閉駆動するとともに、バルブリフトＬｉｆｔｉｎを所定の最大値Ｌｉｆｔｉｎｍａｘと最小値Ｌｉｆｔｉｎｍｉｎとの間で無段階に変更するものであり、シリンダ３ａごとに設けられた四節リンク式のロッカアーム機構５１と、これらのロッカアーム機構５１を同時に駆動するリフトアクチュエータ６０（図５参照）などを備えている。
【００４６】
各ロッカアーム機構５１は、ロッカアーム５２および上下のリンク５３，５４などで構成されている。この上リンク５３の一端部は、上ピン５５を介して、ロッカアーム５２の上端部に回動自在に取り付けられており、他端部は、ロッカアームシャフト５６に回動自在に取り付けられている。このロッカアームシャフト５６は、図示しないホルダを介して、シリンダヘッド３ｃに取り付けられている。
【００４７】
また、ロッカアーム５２の上ピン５５上には、ローラ５７が回動自在に設けられている。このローラ５７は、吸気カム６のカム面に当接しており、吸気カム６が回転する際、そのカム面に案内されながら吸気カム６上を転動する。これにより、ロッカアーム５２は上下方向に駆動されるとともに、上リンク５３が、ロッカアームシャフト５６を中心として回動する。
【００４８】
さらに、ロッカアーム５２の吸気弁４側の端部には、アジャストボルト５２ａが取り付けられている。このアジャストボルト５２ａは、吸気カム６の回転に伴ってロッカアーム５２が上下方向に移動すると、バルブスプリング４ｅの付勢力に抗しながら、ステム４ａを上下方向に駆動し、吸気弁４を開閉する。
【００４９】
また、下リンク５４の一端部は、下ピン５８を介して、ロッカアーム５２の下端部に回動自在に取り付けられており、下リンク５４の他端部には、連結ピン５９が回動自在に取り付けられている。下リンク５４は、この連結ピン５９を介して、リフトアクチュエータ６０の後述する短アーム６５に連結されている。
【００５０】
一方、リフトアクチュエータ６０は、図５に示すように、モータ６１、ナット６２、リンク６３、長アーム６４および短アーム６５などを備えている。このモータ６１は、ＥＣＵ２に接続され、エンジン３のヘッドカバー３ｇの外側に配置されている。モータ６１の回転軸は、雄ねじが形成されたねじ軸６１ａになっており、このねじ軸６１ａに、ナット６２が螺合している。このナット６２は、リンク６３を介して、長アーム６４に連結されている。このリンク６３の一端部は、ピン６３ａを介して、ナット６２に回動自在に取り付けられ、他端部は、ピン６３ｂを介して、長アーム６４の一端部に回動自在に取り付けられている。
【００５１】
また、長アーム６４の他端部は、回動軸６６を介して短アーム６５の一端部に取り付けられている。この回動軸６６は、断面円形に形成され、エンジン３のヘッドカバー３ｇを貫通しているとともに、これに回動自在に支持されている。この回動軸６６の回動に伴い、長アーム６４および短アーム６５はこれと一体に回動する。
【００５２】
さらに、短アーム６５の他端部には、前述した連結ピン５９が回動自在に取り付けられており、これにより、短アーム６５は、連結ピン５９を介して、下リンク５４に連結されている。
【００５３】
次に、以上のように構成された可変バルブリフト機構５０の動作について説明する。この可変バルブリフト機構５０では、ＥＣＵ２からの後述するリフト制御入力Ｕｌｉｆｔｉｎがリフトアクチュエータ６０に入力されると、ねじ軸６１ａが回転し、それに伴うナット６２の移動により、長アーム６４および短アーム６５が回動軸６６を中心として回動するとともに、この短アーム６５の回動に伴って、ロッカアーム機構５１の下リンク５４が、下ピン５８を中心として回動する。すなわち、リフトアクチュエータ６０により、下リンク５４が駆動される。
【００５４】
その際、ＥＣＵ２によるフィードバック制御により、短アーム６５の回動範囲は、図５（ａ）に示す最大リフト位置と図５（ｂ）に示す最小リフト位置との間に規制され、それにより、下リンク５４の回動範囲も、図４に実線で示す最大リフト位置と、図４に２点鎖線で示す最小リフト位置との間に規制される。
【００５５】
下リンク５４が最大リフト位置にある場合、ロッカアームシャフト５６、上下のピン５５，５８および連結ピン５９によって構成される四節リンクでは、上ピン５５および下ピン５８の中心間の距離が、ロッカアームシャフト５６および連結ピン５９の中心間の距離よりも短くなるように構成されており、それにより、図６（ａ）に示すように、吸気カム６が回転すると、これとローラ５７との当接点の移動量よりも、アジャストボルト５２ａの移動量の方が大きくなる。
【００５６】
一方、下リンク５４が最小リフト位置にある場合、上記四節リンクでは、上ピン５５および下ピン５８の中心間の距離が、ロッカアームシャフト５６および連結ピン５９の中心間の距離よりも長くなるように構成されており、それにより、図６（ｂ）に示すように、吸気カム６が回転すると、これとローラ５７との当接点の移動量よりも、アジャストボルト５２ａの移動量の方が小さくなる。
【００５７】
以上の理由により、吸気弁４は、下リンク５４が最大リフト位置にあるときには、最小リフト位置にあるときよりも大きなバルブリフトＬｉｆｔｉｎで開弁する。具体的には、吸気カム６の回転中、吸気弁４は、下リンク５４が最大リフト位置にあるときには、図７の実線で示すバルブリフト曲線に従って開弁し、バルブリフトＬｉｆｔｉｎは、その最大値Ｌｉｆｔｉｎｍａｘを示す。一方、下リンク５４が最小リフト位置にあるときには、図７の２点鎖線で示すバルブリフト曲線に従って開弁し、バルブリフトＬｉｆｔｉｎは、その最小値Ｌｉｆｔｉｎｍｉｎを示す。
【００５８】
したがって、この可変バルブリフト機構５０では、アクチュエータ６０を介して、下リンク５４を最大リフト位置と最小リフト位置との間で回動させることにより、バルブリフトＬｉｆｔｉｎを、最大値Ｌｉｆｔｉｎｍａｘと最小値Ｌｉｆｔｉｎｍｉｎとの間で無段階に変化させることができる。
【００５９】
また、エンジン３には、回動角センサ２３が設けられており（図２参照）、この回動角センサ２３は、回動軸６６すなわち短アーム６５の回動角を検出して、その検出信号をＥＣＵ２に出力する。ＥＣＵ２は、この回動角センサ２３の検出信号に基づき、バルブリフトＬｉｆｔｉｎを算出する。
【００６０】
次に、前述した可変カム位相機構７０について説明する。この可変カム位相機構７０は、吸気カムシャフト５のクランクシャフト３ｄに対する相対的な位相（以下「カム位相」という）Ｃａｉｎを無段階に進角側または遅角側に変更するものであり、吸気カムシャフト５の吸気スプロケット側の端部に設けられている。図８に示すように、可変カム位相機構７０は、ハウジング７１、３枚羽根式のベーン７２、油圧ポンプ７３および電磁弁機構７４などを備えている。
【００６１】
このハウジング７１は、吸気カムシャフト５上の吸気スプロケットと一体に構成されており、互いに等間隔に形成された３つの隔壁７１ａを備えている。ベーン７２は、吸気カムシャフト５の吸気スプロケット側の端部に同軸に取り付けられ、吸気カムシャフト５から外方に放射状に延びているとともに、ハウジング７１内に回転可能に収容されている。また、ハウジング７１では、隔壁７１ａとベーン７２との間に、３つの進角室７５および３つの遅角室７６が形成されている。
【００６２】
油圧ポンプ７３は、クランクシャフト３ｄに連結された機械式のものであり、クランクシャフト３ｄが回転すると、それに伴って、エンジン３のオイルパン３ｅに蓄えられた潤滑用のオイルを、油路７７ｃを介して吸い込むとともに、これを昇圧した状態で、油路７７ｃを介して電磁弁機構７４に供給する。
【００６３】
電磁弁機構７４は、スプール弁機構７４ａおよびソレノイド７４ｂを組み合わせたものであり、進角油路７７ａおよび遅角油路７７ｂを介して、進角室７５および遅角室７６にそれぞれ接続されているとともに、油圧ポンプ７３から供給された油圧を、進角油圧Ｐａｄおよび遅角油圧Ｐｒｔとして、進角室７５および遅角室７６にそれぞれ出力する。電磁弁機構７４のソレノイド７４ｂは、ＥＣＵ２に電気的に接続されており、ＥＣＵ２からの後述する位相制御入力Ｕｃａｉｎが入力された際、スプール弁機構７４ａのスプール弁体を、位相制御入力Ｕｃａｉｎに応じて所定の移動範囲内で移動させることにより、進角油圧Ｐａｄおよび遅角油圧Ｐｒｔをいずれも変化させる。
【００６４】
以上の可変カム位相機構７０では、油圧ポンプ７３の動作中、電磁弁機構７４が位相制御入力Ｕｃａｉｎに応じて作動することにより、進角油圧Ｐａｄが進角室７５に、遅角油圧Ｐｒｔが遅角室７６にそれぞれ供給され、それにより、ベーン７２とハウジング７１との間の相対的な位相が進角側または遅角側に変更される。その結果、前述したカム位相Ｃａｉｎが、最遅角値Ｃａｉｎｒｔ（例えばカム角０゜に相当する値）と最進角値Ｃａｉｎａｄ（例えばカム角５５゜分に相当する値）の間で連続的に変化し、それにより、吸気弁４のバルブタイミングは、図９に実線で示す最遅角タイミングと、図９に２点鎖線で示す最進角タイミングとの間で、無段階に変更される。
【００６５】
なお、この可変カム位相機構７０には、図示しないロック機構が設けられており、このロック機構により、油圧ポンプ７３からの供給油圧が低いときには、可変カム位相機構７０の動作がロックされる。すなわち、可変カム位相機構７０によるカム位相Ｃａｉｎの変更が禁止され、カム位相Ｃａｉｎがアイドル運転やエンジン始動に適した値にロックされる。
【００６６】
以上のように、本実施形態の可変式吸気動弁機構４０では、可変バルブリフト機構５０により、バルブリフトＬｉｆｔｉｎが無段階に変更されるとともに、可変カム位相機構７０により、カム位相Ｃａｉｎすなわち吸気弁４のバルブタイミングが前述した最遅角タイミングと最進角タイミングとの間で、無段階に変更される。また、ＥＣＵ２により、後述するように、可変バルブリフト機構５０および可変カム位相機構７０を介して、バルブリフトＬｉｆｔｉｎおよびカム位相Ｃａｉｎがそれぞれ制御される。
【００６７】
一方、吸気カムシャフト５の可変カム位相機構７０と反対側の端部には、カム角センサ２４（図２参照）が設けられている。このカム角センサ２４は、例えばマグネットロータおよびＭＲＥピックアップで構成されており、吸気カムシャフト５の回転に伴い、パルス信号であるＣＡＭ信号を所定のカム角（例えば１゜）ごとにＥＣＵ２に出力する。ＥＣＵ２は、このＣＡＭ信号および前述したＣＲＫ信号に基づき、カム位相Ｃａｉｎを算出する。
【００６８】
次に、図１０を参照しながら、前述した可変圧縮比機構８０について説明する。この可変圧縮比機構８０は、ピストン３ｂの上死点位置を変更することにより、圧縮比Ｃｒを所定の最大値Ｃｒｍａｘと最小値Ｃｒｍｉｎとの間で無段階に変更するものであり、ピストン３ｂとクランクシャフト３ｄの間に連結された複合リンク機構８１と、複合リンク機構８１の動きを制御するための制御軸８５と、制御軸８５を駆動するための圧縮比アクチュエータ８７などで構成されている。
【００６９】
複合リンク機構８１は、上リンク８２、下リンク８３および制御リンク８４などで構成されている。上リンク８２は、いわゆるコンロッドに相当するものであり、その上端部がピストンピン３ｆを介してピストン３ｂに回動自在に連結され、下端部がピン８３ａを介して、下リンク８３の一端部に回動自在に連結されている。
【００７０】
下リンク８３は、三角形状のものであり、上リンク８２との連結端部以外の２つの端部はそれぞれ、クランクピン８３ｂを介してクランクシャフト３ｄに、制御ピン８３ｃを介して制御リンク８４の一端部に回動自在に連結されている。以上の構成により、ピストン３ｂの往復運動が、複合リンク機構８１を介してクランクシャフト３ｄに伝達され、クランクシャフト３ｄの回転運動に変換される。
【００７１】
また、制御軸８５は、クランクシャフト３ｄと同様に、図中の奥行き方向に延びており、シリンダブロックに回動自在に支持された回動軸部８５ａと、これと一体の偏心軸部８５ｂおよびアーム８６を備えている。この偏心軸部８５ｂには、制御リンク８４の下端部が回動自在に連結されている。また、アーム８６の先端部は、フォーク部８６ａになっており、このフォーク部８６ａには、圧縮比アクチュエータ８７の駆動軸８７ｂの先端部が回動自在に連結されている。
【００７２】
圧縮比アクチュエータ８７は、モータおよび減速機構（いずれも図示せず）を組み合わせたものであり、これらを内蔵するケーシング８７ａと、このケーシング８７ａから出没する方向に移動可能な駆動軸８７ｂなどを備えている。この圧縮比アクチュエータ８７では、ＥＣＵ２からの圧縮比制御入力Ｕｃｒによってモータが正逆回転方向に駆動されると、駆動軸８７ｂが、ケーシング８７ａから最も突出する低圧縮比位置（図１０（ａ）に示す位置）と、ケーシング８７ａ側に最も退避する高圧縮比位置（図１０（ｂ）に示す位置）との間で移動する。
【００７３】
以上の構成により、この可変圧縮比機構８０では、アクチュエータ８７の駆動軸８７ｂが、低圧縮比位置から高圧縮比位置側に移動すると、アーム８６を介して、制御軸８５が回動軸部８５ａを中心として図中の反時計回りに回動するように駆動され、それに伴い、偏心軸部８５ｂが下方に移動する。それにより、制御リンク８４全体が押し下げられるのに伴い、下リンク８３がクランクピン８３ｂを中心として図中の時計回りに回動するとともに、上リンク８２がピストンピン３ｆを中心として図中の反時計回りに回動する。その結果、ピストンピン３ｆ、上ピン８３ａおよびクランクピン８３ｂが、低圧縮比位置のときよりも直線状に近づくことで、ピストン３ｂが上死点に到達したときのピストンピン３ｆとクランクピン８３ｂを結ぶ直線距離が長くなり、燃焼室の容積が小さくなることによって、圧縮比Ｃｒが高くなる。
【００７４】
一方、上記とは逆に、アクチュエータ８７の駆動軸８７ｂが、高圧縮比位置から低圧縮比位置側に移動すると、回動軸部８５ａが図中の時計回りに回動し、それに伴い、偏心軸部８５ｂが上方に移動することで、制御リンク８４全体が押し上げられる。これにより、上記とは全く逆の動作により、下リンク８３が、反時計回りに回動するとともに、上リンク８２が時計回りに回動する。これにより、ピストン３ｂが上死点に到達したときのピストンピン３ｆとクランクピン８３ｂを結ぶ直線距離が短くなり、燃焼室の容積が大きくなることによって、圧縮比Ｃｒが低くなる。以上のように、この可変圧縮比機構８０では、制御軸８５の回動角を変更することにより、圧縮比Ｃｒが前述した所定の最大値Ｃｒｍａｘと最小値Ｃｒｍｉｎとの間で無段階に変更される。
【００７５】
また、エンジン３には、制御軸８５の付近に、制御角センサ２５が設けられており（図２参照）、この制御角センサ２５は、制御軸８５の回動角を表す検出信号をＥＣＵ２に出力する。ＥＣＵ２は、この制御角センサ２５の検出信号に基づき、圧縮比Ｃｒを算出する。
【００７６】
さらに、図２に示すように、ＥＣＵ２には、アクセル開度センサ２６およびイグニッション・スイッチ（以下「ＩＧ・ＳＷ」という）２７が接続されている。このアクセル開度センサ２６は、車両の図示しないアクセルペダルの踏み込み量（以下「アクセル開度」という）ＡＰを表す検出信号をＥＣＵ２に出力する。また、ＩＧ・ＳＷ２７は、イグニッションキー（図示せず）操作によりＯＮ／ＯＦＦされるとともに、そのＯＮ／ＯＦＦ状態を表す信号をＥＣＵ２に出力する。
【００７７】
ＥＣＵ２は、ＣＰＵ２ａ、ＲＡＭ２ｂ、ＲＯＭ２ｃ（外乱補償値記憶手段）およびＩ／Ｏインターフェース（図示せず）などからなるマイクロコンピュータで構成されており、前述した各種のセンサ２０〜２６の検出信号およびＩＧ・ＳＷ２７のＯＮ／ＯＦＦ信号などに応じて、エンジン３の運転状態を判別するとともに、各種の制御を実行する。具体的には、ＥＣＵ２は、後述するように、可変カム位相機構７０および可変バルブリフト機構５０を介して、カム位相ＣａｉｎおよびバルブリフトＬｉｆｔｉｎをそれぞれ制御するとともに、可変圧縮比機構８０を介して、圧縮比Ｃｒを制御する。また、運転状態に応じて、点火プラグ１３の点火時期を制御する。
【００７８】
なお、本実施形態では、ＥＣＵ２により、外乱補償値記憶手段、外乱補償値選択手段、制御入力算出手段、外乱推定値算出手段、モデルパラメータ同定手段、振幅補正値算出手段および目標値設定手段が構成されている。
【００７９】
次に、本実施形態の制御装置１について説明する。この制御装置１は、カム位相コントローラ１００（図１１参照）、バルブリフトコントローラ１１０（図２２参照）および圧縮比コントローラ１２０（図２５参照）を備えており、まず、カム位相コントローラ１００について説明する。このカム位相コントローラ１００は、図１１に示すように、目標カム位相算出部１０１、補償要素１０２、２自由度スライディングモードコントローラ（以下「２自由度ＳＬＤコントローラ」という）１０３、加算要素１０４、およびＤＳＭコントローラ１０５を備えており、これらはいずれも、具体的には、ＥＣＵ２により構成されている。
【００８０】
このカム位相コントローラ１００では、以下に述べるように、位相制御入力Ｕｃａｉｎが算出されるとともに、この位相制御入力Ｕｃａｉｎが可変カム位相機構７０に入力されることにより、カム位相Ｃａｉｎが目標カム位相Ｃａｉｎ＿ｃｍｄになるように制御される。
【００８１】
まず、目標カム位相算出部１０１（目標値設定手段）では、目標カム位相Ｃａｉｎ＿ｃｍｄ（目標値）が、エンジン回転数ＮＥおよびアクセル開度ＡＰに応じて、後述するマップ（図３３参照）を検索することにより算出される。
【００８２】
また、補償要素１０２（外乱補償値記憶手段、外乱補償値選択手段）では、後述するように、上記目標カム位相算出部１０１で算出された目標カム位相Ｃａｉｎ＿ｃｍｄなどに応じて、カム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎが算出される。
【００８３】
さらに、２自由度ＳＬＤコントローラ１０３（制御入力算出手段）では、目標カム位相Ｃａｉｎ＿ｃｍｄおよびカム位相Ｃａｉｎに応じて、後述する制御アルゴリズムにより、カム位相制御用のＳＬＤ制御入力Ｒｓｌｄが算出される。
【００８４】
一方、加算要素１０４では、補償要素１０２で算出されたカム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎと、２自由度ＳＬＤコントローラ１０３で算出されたカム位相制御用のＳＬＤ制御入力Ｒｓｌｄとの和として、カム位相制御用の参照入力Ｒｓｌｄ＿ｆが算出される。さらに、ＤＳＭコントローラ１０５（制御入力算出手段）では、このカム位相制御用の参照入力Ｒｓｌｄ＿ｆに応じて、後述する制御アルゴリズムにより、位相制御入力Ｕｃａｉｎが算出される。
【００８５】
次に、前述した補償要素１０２について説明する。この補償要素１０２では、以下に述べるように、カム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎが、目標カム位相Ｃａｉｎ＿ｃｍｄ、クランク角カウンタの計数値Ｃ＿ｃｒｋ、バルブリフトＬｉｆｔｉｎおよびエンジン回転数ＮＥに応じて、算出される。なお、クランク角カウンタは、クランク角を計数するためのアップカウンタであり、その計数値Ｃ＿ｃｒｋは、後述するように、ＣＲＫ信号の発生に同期して値１０ずつインクリメントされるとともに、値７２０に達したときに値０にリセットされる。
【００８６】
このカム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎは、エンジン３の運転中、吸気カムシャフト５の回転、すなわち吸気カム６の回転に伴って周期的に発生すると予想される周期的外乱を補償するためのものである。以下、周期的外乱およびそれを補償するための外乱補償値Ｒｃｙｃ＿ｃｉｎの算出手法を説明する。まず、理解の容易化のために、１つのシリンダ３ａにおける場合（言い換えれば、単気筒エンジンの場合）を例にとって、図１２〜図１７を参照しながら説明する。図１２（ａ）に示すように、吸気カム６が、図中の矢印Ｙ１方向に回転し、吸気弁４を開弁方向に駆動している状態では、吸気カム６は、吸気弁４のバルブスプリング４ｅの反力に起因して、図中の矢印Ｙ２方向への回転モーメントとして作用する外乱を受ける。
【００８７】
一方、図１２（ｂ）に示すように、吸気カム６が吸気弁４を閉弁方向に駆動している状態では、吸気カム６は、吸気弁４のバルブスプリング４ｅの付勢力に起因して、図中の矢印Ｙ３方向への回転モーメントとして作用する外乱を受ける。以上のような外乱は、吸気カムシャフト５の回転に伴って周期的に発生し、その振幅も周期的に変化するので、以下、周期的外乱という。
【００８８】
ここで、カム位相Ｃａｉｎが目標カム位相Ｃａｉｎ＿ｃｍｄに収束するようにフィードバック制御を実行している場合において、以上のような周期的外乱を受けると、図１３に示すように、目標カム位相Ｃａｉｎ＿ｃｍｄが一定に保持されているにもかかわらず、カム位相Ｃａｉｎが、吸気カム６により吸気弁４が開弁側に駆動されている間は遅角側にずれ、閉弁側に駆動されている間は進角側にずれてしまう
【００８９】
このようなカム位相Ｃａｉｎのずれが発生すると、吸気弁４のバルブタイミングが、可変カム位相機構７０がない場合と比べて変化してしまう。具体的には、図１４および図１５に示すように、吸気弁４のバルブリフト曲線は、エンジン３が可変カム位相機構７０を備えている場合（図中に実線で示す曲線の場合）、これを備えていない場合（図中に破線で示す曲線）と比べて、吸気弁４の開弁時間が短くなり、その結果、吸入空気量が変化することで、エンジン３の発生トルクが変動してしまうとともに、燃焼状態が不安定になってしまうおそれがある。
【００９０】
これを回避するために、例えば吸気カム６のカムプロフィールを予め変更することが考えられる。しかし、図１４および図１５に示すバルブリフト曲線を比較すると明らかなように、エンジン３が可変バルブリフト機構５０を備えている場合、バルブリフトＬｉｆｔｉｎが所定の高リフト側の値に制御されているとき（図１４に示すバルブリフト曲線のとき）と、バルブリフトＬｉｆｔｉｎが所定の低リフト側の値に制御されているときとでは、吸気弁４のバルブタイミングの変化度合いが互いに異なってしまう。このため、本実施形態のように、エンジン３が可変カム位相機構７０および可変バルブリフト機構５０を双方とも備えている場合、吸気カム６のカムプロフィールを変更することで、周期的外乱の影響を回避することは困難である。
【００９１】
本実施形態では、以上のような周期的外乱が可変カム位相機構７０に加えられた際の影響を回避するために、可変カム位相機構７０に加えられる周期的外乱の値を予測するとともに、その予測値の符号の正負を反転した値に相当する値を、カム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎとして算出する。具体的には、カム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎは、バルブリフトＬｉｆｔｉｎ、クランク角カウンタの計数値Ｃ＿ｃｒｋおよび目標カム位相Ｃａｉｎ＿ｃｍｄに応じて、外乱補償値マップを検索することによりマップ値Ｒｃｙｃ＿ｂｓ＿ｃｉｎを算出し、そのマップ値Ｒｃｙｃ＿ｂｓ＿ｃｉｎをエンジン回転数ＮＥに応じて補正することにより算出される。
【００９２】
この外乱補償値マップとしては、図１６に実線で示すＣａｉｎ＿ｃｍｄ＝Ｃａｉｎｒｔ＆Ｌｉｆｔｉｎ＝Ｌｉｆｔｉｎｍａｘ用のマップ値Ｒｃｙｃ＿ｂｓ＿ｃｉｎと、図１７に実線で示すＣａｉｎ＿ｃｍｄ＝Ｃａｉｎｒｔ＆Ｌｉｆｔｉｎ＝Ｌｉｆｔｉｎｍｉｎ用のマップ値Ｒｃｙｃ＿ｂｓ＿ｃｉｎと、Ｃａｉｎ＿ｃｍｄ＝Ｃａｉｎｒｔで、かつバルブリフトＬｉｆｔｉｎが最大値Ｌｉｆｔｉｎｍａｘと最小値Ｌｉｆｔｉｎｍｉｎとの間にあるときの補間演算用の、複数段階のＬｉｆｔｉｎの値にそれぞれ対応して設定された複数のマップ値Ｒｃｙｃ＿ｂｓ＿ｃｉｎ（図示せず）と、を備えたものを用いる。
【００９３】
以上の外乱補償値マップを検索する際、目標カムＣａｉｎ＿ｃｍｄが最遅角値Ｃａｉｎｒｔよりも進角側の値であるときには、周期的外乱の発生周期が進角側（図中の左側）にずれるので、外乱補償値もそれに応じて、例えば図１６，１７中の２点鎖線で示す値のように補正する必要がある。したがって、本実施形態の外乱補償値マップの検索では、目標カムＣａｉｎ＿ｃｍｄの最遅角値Ｃａｉｎｒｔに対する進角度合いを加味して、クランク角カウンタの計数値Ｃ＿ｃｒｋを補正する。そして、そのように補正した計数値Ｃ＿ｃｒｋおよびバルブリフトＬｉｆｔｉｎに応じて、上記のマップ値Ｒｃｙｃ＿ｂｓ＿ｃｉｎのうちの、そのときのバルブリフトＬｉｆｔｉｎに近い２つのマップ値Ｒｃｙｃ＿ｂｓ＿ｃｉｎを選択するとともに、当該２つの選択値の補間演算により、カム位相制御用の外乱補償値のマップ値Ｒｃｙｃ＿ｂｓ＿ｃｉｎを算出する。さらに、以上のように算出したマップ値Ｒｃｙｃ＿ｂｓ＿ｃｉｎを、後述するように、エンジン回転数ＮＥに応じて補正することにより、カム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎが算出される。
【００９４】
１つのシリンダ３ａで発生する周期的外乱を補償するための、カム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎは、以上のように算出することが考えられる。これに対して、本実施形態のエンジン３は、４気筒タイプのものであるため、周期的外乱も１制御サイクル中にシリンダ３ａごとに計４回、発生するとともに、互いの位相差に起因して互いに重なり合う状態で発生する。したがって、本実施形態では、そのような周期的外乱を補償するために、外乱補償値マップとして、前述したものに代えて、図１８に示すＣａｉｎ＿ｃｍｄ＝Ｃａｉｎｒｔ＆Ｌｉｆｔｉｎ＝Ｌｉｆｔｉｎｍａｘ用のマップ値Ｒｃｙｃ＿ｂｓ＿ｃｉｎと、図１９に示すＣａｉｎ＿ｃｍｄ＝Ｃａｉｎｒｔ＆Ｌｉｆｔｉｎ＝Ｌｉｆｔｉｎｍｉｎ用のマップ値Ｒｃｙｃ＿ｂｓ＿ｃｉｎと、Ｃａｉｎ＿ｃｍｄ＝Ｃａｉｎｒｔで、かつバルブリフトＬｉｆｔｉｎが最大値Ｌｉｆｔｉｎｍａｘと最小値Ｌｉｆｔｉｎｍｉｎとの間にあるときの補間演算用の、複数段階のＬｉｆｔｉｎの値にそれぞれ対応して設定された複数のマップ値Ｒｃｙｃ＿ｂｓ＿ｃｉｎ（図示せず）と、を備えたものを用いる。
【００９５】
図１８，１９を参照すると明らかなように、この外乱補償値マップでは、カム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎは、周期的外乱の予測結果に応じ、クランク角カウンタの計数値Ｃ＿ｃｒｋに対応する値として設定されている。すなわち、外乱補償値Ｒｃｙｃ＿ｃｉｎは、周期的外乱の予測結果に応じて時系列的に設定されている。また、外乱補償値Ｒｃｙｃ＿ｃｉｎの周期は、クランク角１８０゜分に設定されている。これは、前述した理由により、可変カム位相機構７０に加えられる周期的外乱の周期が、クランク角１８０゜分となることによる。なお、この外乱補償値マップは、ＲＯＭ２ｃ内に予め記憶されている。
【００９６】
さらに、外乱補償値マップの検索は、前述した手法と同様に実行される。すなわち、クランク角カウンタの計数値Ｃ＿ｃｒｋを、目標カムＣａｉｎ＿ｃｍｄの最遅角値Ｃａｉｎｒｔに対する進角度合いを加味して補正し、その補正した計数値Ｃ＿ｃｒｋおよびバルブリフトＬｉｆｔｉｎに応じて、上記のマップ値Ｒｃｙｃ＿ｂｓ＿ｃｉｎのうちの、そのときのバルブリフトＬｉｆｔｉｎに近い２つのマップ値Ｒｃｙｃ＿ｂｓ＿ｃｉｎを選択し、当該２つの選択値の補間演算により、カム位相制御用の外乱補償値のマップ値Ｒｃｙｃ＿ｂｓ＿ｃｉｎを算出する。さらに、以上のように算出したマップ値Ｒｃｙｃ＿ｂｓ＿ｃｉｎを、後述するように、エンジン回転数ＮＥに応じて補正することにより、カム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎが算出される。以上により、カム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎは、周期的外乱の予測値の符号の正負を反転した値に相当するものとして算出される。なお、後述するように、カム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎの算出は、ＣＲＫ信号の発生に同期するタイミングで実行される。
【００９７】
次に、前述した２自由度ＳＬＤコントローラ１０３について説明する。この２自由度ＳＬＤコントローラ１０３では、目標カム位相Ｃａｉｎ＿ｃｍｄおよびカム位相Ｃａｉｎに応じて、目標値フィルタ型２自由度スライディングモード制御アルゴリズム［図２０に示す式（１）〜（８）］により、カム位相制御用のＳＬＤ制御入力Ｒｓｌｄが算出される。
【００９８】
これらの式（１）〜（８）において、記号（ｋ）付きの各離散データは、所定の制御周期ΔＴ（本実施形態では５ｍｓｅｃ）に同期してサンプリング（または算出）されたデータであることを示しており、記号ｋは各離散データのサンプリングサイクルの順番を表している。例えば、記号ｋは今回の制御タイミングでサンプリングされた値であることを、記号ｋ−１は前回の制御タイミングでサンプリングされた値であることをそれぞれ示している。この点は、以下の離散データにおいても同様である。なお、以下の説明では、各離散データにおける記号（ｋ）などを適宜、省略する。
【００９９】
この制御アルゴリズムでは、まず、式（１）に示す一次遅れフィルタアルゴリズムにより、目標カム位相のフィルタ値Ｃａｉｎ＿ｃｍｄ＿ｆが算出される。同式（１）において、ＰＯＬＥ＿ｆは、目標値フィルタ設定パラメータであり、−１＜ＰＯＬＥ＿ｆ＜０の関係が成立する値に設定される。
【０１００】
次いで、式（２）〜（８）に示すスライディングモード制御アルゴリズムにより、カム位相制御用のＳＬＤ制御入力Ｒｓｌｄが算出される。すなわち、式（２）に示すように、カム位相制御用のＳＬＤ制御入力Ｒｓｌｄは、等価制御入力Ｒｅｑ、到達則入力Ｒｒｃｈ、適応則入力Ｒａｄｐおよび非線形入力Ｒｎｌの総和として算出される。この等価制御入力Ｒｅｑは、式（３）により算出される。同式（３）において、ａ１，ａ２，ｂ１，ｂ２は、後述するモデルのモデルパラメータを示しており、これらは所定値に設定されている。さらに、式（３）において、ＰＯＬＥは、切換関数設定パラメータであり、−１＜ＰＯＬＥ＿ｆ＜ＰＯＬＥ＜０の関係が成立する値に設定されている。
【０１０１】
また、到達則入力Ｒｒｃｈは、式（４）により算出される。この式（４）において、Ｋｒｃｈは、所定の到達則ゲインを表しており、σｓは、式（７）のように定義される切換関数である。
【０１０２】
さらに、適応則入力Ｒａｄｐは、式（５）により算出され、この式（５）において、Ｋａｄｐは、所定の適応則ゲインを表している。一方、非線形入力Ｒｎｌは、式（６）により算出される。この式（６）において、Ｋｎｌは、所定の非線形ゲインを表しているとともに、ｓｇｎ（σｓ）は、符号関数を表しており、その値は、σｓ≧０のときにはｓｇｎ（σｓ）＝１となり、σｓ＜０のときにはｓｇｎ（σｓ）＝−１となる（なお、σｓ＝０のときに、ｓｇｎ（σｓ）＝０と設定してもよい）。
【０１０３】
なお、以上の式（１）〜（８）は以下のように導出される。すなわち、制御対象を、カム位相制御用のＳＬＤ制御入力Ｒｓｌｄを入力とし、カム位相Ｃａｉｎを出力とする系として定義するとともに、離散時間系モデルとしてモデル化すると、図２０に示す式（９）が得られる。この式（９）のモデルに基づき、カム位相Ｃａｉｎが目標カム位相Ｃａｉｎ＿ｃｍｄに収束するように、目標値フィルタ型２自由度スライディングモード制御理論を適用すると、前述した式（１）〜（８）が導出される。
【０１０４】
一方、前述した加算要素１０４では、図２１の式（１０）に示すように、以上のように算出されたカム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎおよびカム位相制御用のＳＬＤ制御入力Ｒｓｌｄの和として、カム位相制御用の参照入力Ｒｓｌｄ＿ｆが算出される。
【０１０５】
次に、前述したＤＳＭコントローラ１０５について説明する。このＤＳＭコントローラ１０５では、図２１の式（１１）〜（１６）で表される、ΔΣ変調アルゴリズムに基づいた制御アルゴリズムにより、位相制御入力Ｕｃａｉｎが算出される。なお、これらの式（１１）〜（１６）の制御アルゴリズムは、本出願人が特願２００３−２９３００９号において提案済みの制御アルゴリズムを適用したものである。
【０１０６】
図２１の式（１１）において、Ｌｉｍ（Ｒｓｌｄ＿ｆ）は、カム位相制御用の参照入力Ｒｓｌｄ＿ｆをリミット処理した制限値を表しており、具体的には、カム位相制御用の参照入力Ｒｓｌｄ＿ｆを、所定の下限値Ｒｍｉｎと所定の上限値Ｒｍａｘで規定される範囲内に制限した値として算出される。すなわち、Ｒｓｌｄ＿ｆ＜ＲｍｉｎのときにはＬｉｍ（Ｒｓｌｄ＿ｆ）＝Ｒｍｉｎとなり、Ｒｍｉｎ≦Ｒｓｌｄ＿ｆ≦ＲｍａｘのときにはＬｉｍ（Ｒｓｌｄ＿ｆ）＝Ｒｓｌｄ＿ｆとなり、Ｒｓｌｄ＿ｆ＞ＲｍａｘのときにはＬｉｍ（Ｒｓｌｄ＿ｆ）＝Ｒｍａｘとなる。これらの上限値Ｒｍａｘおよび下限値Ｒｍｉｎは、絶対値が互いに等しい正負の所定値に設定されている。
【０１０７】
また、式（１２）において、ｒ２は制限値偏差を、ｕｄｓｍ＿ｏｆｔは所定のオフセット値をそれぞれ表している。さらに、式（１３）において、δは偏差信号値を表しており、同式（１３）に示すように、制限値偏差ｒ２と変調出力ｕの前回値との偏差として算出される。
【０１０８】
一方、式（１４）において、σは、偏差信号値δの積分値である偏差積分値を表しており、同式に示すように、その前回値と偏差信号値δとの和として算出される。また、式（１５）において、ｆｎｌ（σ）は、非線形関数であり、その値は、σ≧０のときにはｆｎｌ（σ）＝Ｒとなり、σ＜０のときにはｆｎｌ（σ）＝−Ｒとなる（なお、σ＝０のときには、ｆｎｌ（σ）＝０と設定してもよい）。また、この値Ｒは、Ｒ＞｜ｒ２｜の関係が常に成立するような値に設定されている。
【０１０９】
本実施形態のＤＳＭコントローラ１０５では、以上の制御アルゴリズムにより、位相制御入力Ｕｃａｉｎが、所定の上限値と下限値との間で頻繁に反転を繰り返す値として算出され、それにより、カム位相制御の制御精度を向上させることができる。
【０１１０】
次に、前述したバルブリフトコントローラ１１０について説明する。このバルブリフトコントローラ１１０は、図２２に示すように、目標バルブリフト算出部１１１、補償要素１１２、２自由度ＳＬＤコントローラ１１３、加算要素１１４、およびＤＳＭコントローラ１１５を備えており、これらはいずれも、具体的には、ＥＣＵ２により構成されている。
【０１１１】
このバルブリフトコントローラ１１０では、以下に述べるように、リフト制御入力Ｕｌｉｆｔｉｎが算出されるとともに、このリフト制御入力Ｕｌｉｆｔｉｎが可変バルブリフト機構５０に入力されることにより、バルブリフトＬｉｆｔｉｎが目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄになるように制御される。
【０１１２】
まず、目標バルブリフト算出部１１１（目標値設定手段）では、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄ（目標値）が、エンジン回転数ＮＥおよびアクセル開度ＡＰに応じて、後述するマップ（図３４参照）を検索することにより算出される。
【０１１３】
また、補償要素１１２（外乱補償値記憶手段、外乱補償値選択手段）では、以下に述べるように、バルブリフト制御用の外乱補償値Ｒｃｙｃ＿ｌｉｎが算出される。このバルブリフト制御用の外乱補償値Ｒｃｙｃ＿ｌｉｎは、前述したカム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎと同様に、エンジン３の運転中、吸気カム６の回転に伴って発生する周期的外乱の影響を補償するためのものである。すなわち、そのような周期的外乱が可変バルブリフト機構５０に加えられると、バルブリフトＬｉｆｔｉｎの変動に起因して、吸入空気量が変化してしまうので、そのような吸入空気量の変化を回避するために、可変バルブリフト機構５０に加えられる周期的外乱の値を予測するとともに、その予測値の符号の正負を反転した値に相当する値を、バルブリフト制御用の外乱補償値Ｒｃｙｃ＿ｌｉｎとして算出する。
【０１１４】
具体的には、バルブリフト制御用の外乱補償値Ｒｃｙｃ＿ｌｉｎは、前述した補償要素１０２と同様の手法により、算出される。すなわち、まず、カム位相Ｃａｉｎ、計数値Ｃ＿ｃｒｋおよび目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄに応じて、外乱補償値マップを検索することによりマップ値Ｒｃｙｃ＿ｂｓ＿ｌｉｎを算出する。
【０１１５】
この補償要素１１２では、外乱補償値マップとして、図２３に示すＬｉｆｔｉｎ＿ｃｍｄ＝Ｌｉｆｔｉｎｍａｘ＆Ｃａｉｎ＝Ｃａｉｎｒｔ用のマップ値Ｒｃｙｃ＿ｂｓ＿ｌｉｎと、図２４に示すＬｉｆｔｉｎ＿ｃｍｄ＝Ｌｉｆｔｉｎｍｉｎ＆Ｃａｉｎ＝Ｃａｉｎｒｔ用のマップ値Ｒｃｙｃ＿ｂｓ＿ｌｉｎと、Ｃａｉｎ＝Ｃａｉｎｒｔで、かつ目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄが最大値Ｌｉｆｔｉｎｍａｘと最小値Ｌｉｆｔｉｎｍｉｎとの間にあるときの補間演算用の、複数段階のＬｉｆｔｉｎ＿ｃｍｄの値にそれぞれ対応して設定された複数のマップ値Ｒｃｙｃ＿ｂｓ＿ｌｉｎ（図示せず）とを備えたものを用いる。なお、この外乱補償値マップは、ＲＯＭ２ｃ内に予め記憶されている。
【０１１６】
以上の外乱補償値マップの検索では、カム位相Ｃａｉｎの最遅角値Ｃａｉｎｒｔに対する進角度合いに応じて、クランク角カウンタの計数値Ｃ＿ｃｒｋを補正し、そのように補正した計数値Ｃ＿ｃｒｋおよび目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄに応じて、上記のマップ値Ｒｃｙｃ＿ｂｓ＿ｌｉｎのうちの、そのときの目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄに近い２つのマップ値を選択し、当該２つの選択値の補間演算により、バルブリフト制御用の外乱補償値のマップ値Ｒｃｙｃ＿ｂｓ＿ｌｉｎを算出する。
【０１１７】
次いで、以上のように算出したマップ値Ｒｃｙｃ＿ｂｓ＿ｌｉｎを、後述するように、エンジン回転数ＮＥに応じて補正することにより、バルブリフト制御用の外乱補償値Ｒｃｙｃ＿ｌｉｎが算出される。なお、後述するように、このバルブリフト制御用の外乱補償値Ｒｃｙｃ＿ｌｉｎの算出は、ＣＲＫ信号の発生に同期するタイミングで実行される。
【０１１８】
一方、２自由度ＳＬＤコントローラ１１３（制御入力算出手段）では、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄおよびバルブリフトＬｉｆｔｉｎに応じて、前述した２自由度ＳＬＤコントローラ１０３の制御アルゴリズム［式（１）〜（８）］と同様の目標値フィルタ型２自由度スライディングモード制御アルゴリズムにより、バルブリフト制御用のＳＬＤ制御入力Ｒｓｌｄ’が算出される。
【０１１９】
すなわち、この２自由度ＳＬＤコントローラ１１３では、前述した図２０の式（１）〜（８）において、カム位相Ｃａｉｎ、目標カム位相Ｃａｉｎ＿ｃｍｄおよびカム位相制御用のＳＬＤ制御入力Ｒｓｌｄをそれぞれ、バルブリフトＬｉｆｔｉｎ、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄおよびバルブリフト制御用のＳＬＤ制御入力Ｒｓｌｄ’に置き換えるとともに、各種の変数、パラメータおよび所定の設定値をそれぞれ、バルブリフト制御用の値に置き換えたアルゴリズムにより、バルブリフト制御用のＳＬＤ制御入力Ｒｓｌｄ’が算出される。
【０１２０】
また、前述した加算要素１１４では、補償要素１１２で算出されたバルブリフト制御用の外乱補償値Ｒｃｙｃ＿ｌｉｎと、２自由度ＳＬＤコントローラ１１３で算出されたバルブリフト制御用のＳＬＤ制御入力Ｒｓｌｄ’の和として、バルブリフト制御用の参照入力Ｒｓｌｄ＿ｆ’が算出される。
【０１２１】
さらに、前述したＤＳＭコントローラ１１５（制御入力算出手段）では、バルブリフト制御用の参照入力Ｒｓｌｄ＿ｆ’に応じて、前述したＤＳＭコントローラ１０５の制御アルゴリズム［式（１１）〜（１６）］と同様の制御アルゴリズムにより、リフト制御入力Ｕｌｉｆｔｉｎが算出される。すなわち、このＤＳＭコントローラ１１５では、前述した図２１の式（１１）〜（１６）において、カム位相制御用の参照入力Ｒｓｌｄ＿ｆおよび位相制御入力Ｕｃａｉｎをそれぞれ、バルブリフト制御用の参照入力Ｒｓｌｄ＿ｆ’およびリフト制御入力Ｕｌｉｆｔｉｎに置き換えるとともに、各種の関数および所定の設定値をそれぞれ、バルブリフト制御用の値に置き換えたアルゴリズムにより、リフト制御入力Ｕｌｉｆｔｉｎが算出される。
【０１２２】
次に、前述した圧縮比コントローラ１２０について説明する。この圧縮比コントローラ１２０は、図２５に示すように、目標圧縮比算出部１２１、補償要素１２２、２自由度ＳＬＤコントローラ１２３、加算要素１２４、およびＤＳＭコントローラ１２５を備えており、これらはいずれも、具体的には、ＥＣＵ２により構成されている。
【０１２３】
この圧縮比コントローラ１２０では、以下に述べるように、圧縮比制御入力Ｕｃｒが算出されるとともに、この圧縮比制御入力Ｕｃｒが可変圧縮比機構８０に入力されることにより、圧縮比Ｃｒが目標圧縮比Ｃｒ＿ｃｍｄになるように制御される。
【０１２４】
まず、目標圧縮比算出部１２１（目標値設定手段）では、目標圧縮比Ｃｒ＿ｃｍｄ（目標値）が、エンジン回転数ＮＥおよびアクセル開度ＡＰに応じて、後述するマップ（図３５参照）を検索することにより算出される。
【０１２５】
また、補償要素１２２（外乱補償値記憶手段、外乱補償値選択手段）では、以下に述べるように、圧縮比制御用の外乱補償値Ｒｃｙｃ＿ｃｒが算出される。この圧縮比制御用の外乱補償値Ｒｃｙｃ＿ｃｒは、エンジン３の運転中、燃焼圧に起因して発生する周期的外乱の影響を補償するためのものである。すなわち、そのような周期的外乱が可変圧縮比機構８０に加えられると、圧縮比Ｃｒが変動し、それに伴って点火時期制御で設定された点火時期との間の適合性が低下してしまうことにより、ノッキングが発生したり、燃焼効率が低下したりするおそれがある。したがって、補償要素１２２では、そのような圧縮比の変化を回避するために、可変圧縮比機構８０に加えられる周期的外乱の値を予測するとともに、その予測値の符号の正負を反転した値を、圧縮比制御用の外乱補償値Ｒｃｙｃ＿ｃｒとして算出する。
【０１２６】
具体的には、圧縮比制御用の外乱補償値Ｒｃｙｃ＿ｃｒは、以下のように算出される。まず、圧縮比Ｃｒおよびクランク角カウンタの計数値Ｃ＿ｃｒｋに応じて、外乱補償値マップを検索することによりマップ値Ｒｃｙｃ＿ｂｓ＿ｃｒを算出する。
【０１２７】
この補償要素１２２では、外乱補償値マップとして、図２６に実線で示すＣｒ＿ｃｍｄ＝Ｃｒｍａｘ用のマップ値Ｒｃｙｃ＿ｂｓ＿ｃｒと、同図に破線で示すＣｒ＿ｃｍｄ＝Ｃｒｍｉｎ用のマップ値Ｒｃｙｃ＿ｂｓ＿ｃｒと、目標圧縮比Ｃｒ＿ｃｍｄが最大値Ｃｒｍａｘと最小値Ｃｒｍｉｎとの間にあるときの補間演算用の、複数段階のＣｒ＿ｃｍｄの値にそれぞれ対応して設定された複数のマップ値Ｒｃｙｃ＿ｂｓ＿ｃｒ（図示せず）とを備えたものを用いる。この外乱補償値マップは、ＲＯＭ２ｃ内に予め記憶されている。なお、本実施形態では、可変圧縮比機構８０のジオメトリに起因して、上記の外乱補償値マップを用いるが、可変圧縮比機構のジオメトリによっては、外乱補償値マップにおける、Ｃｒｍａｘ用の値とＣｒｍｉｎ用の値との関係が逆に設定される場合もある。
【０１２８】
また、圧縮比制御用の外乱補償値のマップ値Ｒｃｙｃ＿ｂｓ＿ｃｒは、上記のマップ値のうちの、そのときの目標圧縮比Ｃｒ＿ｃｍｄに近い２つのマップ値を選択し、当該２つの選択値の補間演算により算出される。
【０１２９】
次いで、以上のように算出したマップ値Ｒｃｙｃ＿ｂｓ＿ｃｒを、後述するように、カム位相Ｃａｉｎ、バルブリフトＬｉｆｔｉｎおよびエンジン回転数ＮＥに応じて補正することにより、圧縮比制御用の外乱補償値Ｒｃｙｃ＿ｃｒが算出される。なお、後述するように、この圧縮比制御用の外乱補償値Ｒｃｙｃ＿ｃｒの算出は、ＣＲＫ信号の発生に同期するタイミングで実行される。
【０１３０】
一方、２自由度ＳＬＤコントローラ１２３（制御入力算出手段）では、目標圧縮比Ｃｒ＿ｃｍｄおよび圧縮比Ｃｒに応じて、前述した２自由度ＳＬＤコントローラ１０３の制御アルゴリズム［式（１）〜（８）］と同様の目標値フィルタ型２自由度スライディングモード制御アルゴリズムにより、圧縮比制御用のＳＬＤ制御入力Ｒｓｌｄ''が算出される。
【０１３１】
すなわち、この２自由度ＳＬＤコントローラ１２３では、前述した図２０の式（１）〜（８）において、カム位相Ｃａｉｎ、目標カム位相Ｃａｉｎ＿ｃｍｄおよびカム位相制御用のＳＬＤ制御入力Ｒｓｌｄをそれぞれ、圧縮比Ｃｒ、目標圧縮比Ｃｒ＿ｃｍｄおよび圧縮比制御用のＳＬＤ制御入力Ｒｓｌｄ''に置き換えるとともに、各種の変数、パラメータおよび所定の設定値をそれぞれ、圧縮比制御用の値に置き換えたアルゴリズムにより、圧縮比制御用のＳＬＤ制御入力Ｒｓｌｄ''が算出される。
【０１３２】
また、前述した加算要素１２４では、補償要素１２２で算出された圧縮比制御用の外乱補償値Ｒｃｙｃ＿ｃｒと、２自由度ＳＬＤコントローラ１２３で算出された圧縮比制御用のＳＬＤ制御入力Ｒｓｌｄ''の和として、圧縮比制御用の参照入力Ｒｓｌｄ＿ｆ''が算出される。
【０１３３】
さらに、前述したＤＳＭコントローラ１２５（制御入力算出手段）では、圧縮比制御用の参照入力Ｒｓｌｄ＿ｆ''に応じて、前述したＤＳＭコントローラ１０５の制御アルゴリズム［式（１１）〜（１６）］と同様の制御アルゴリズムにより、圧縮比制御入力Ｕｃｒが算出される。すなわち、このＤＳＭコントローラ１２５では、前述した図２１の式（１１）〜（１６）において、カム位相制御用の参照入力Ｒｓｌｄ＿ｆおよび位相制御入力Ｕｃａｉｎをそれぞれ、圧縮比制御用の参照入力Ｒｓｌｄ＿ｆ''および圧縮比制御入力Ｕｃｒに置き換えるとともに、各種の関数および所定の設定値をそれぞれ、圧縮比制御用の値に置き換えたアルゴリズムにより、圧縮比制御入力Ｕｃｒが算出される。
【０１３４】
次に、ＥＣＵ２により実行される各種の制御処理について説明する。まず、図２７〜図３１を参照しながら、３つの外乱補償値Ｒｃｙｃ＿ｃｉｎ，Ｒｃｙｃ＿ｌｉｎ，Ｒｃｙｃ＿ｃｒを算出する処理について説明する。この処理は、前述した補償要素１０２，１１２，１２２に相当するものであり、ＩＧ・ＳＷ２７がＯＮに切り換えられた後の、クランクシャフト３ｄが所定のクランク角位置（例えば所定のシリンダ３ａがＴＤＣ位置となるようなクランク角位置）に達した時点以降、ＣＲＫ信号の発生に同期するタイミングで実行される。すなわち、本処理の実行周期は、ＣＲＫ信号の発生周期に相当し、これは、前述したように、周期的外乱の発生周期がクランク角１８０゜分となるので、その１／１８の値に相当する。
【０１３５】
図２７に示すように、この処理では、まず、ステップ１（図では「Ｓ１」と略す。以下同じ）において、演算フラグＦ＿ＣＡＬが「１」であるか否かを判別する。この演算フラグＦ＿ＣＡＬは、ＩＧ・ＳＷ２７がオンされたときに「０」に設定される。そのため、今回のループが１回目であるときには、ステップ１の判別結果がＮＯとなり、その場合には、ステップ２に進み、演算フラグＦ＿ＣＡＬを「１」に設定する。これにより、次回以降のループにおいて、ステップ１の判別結果がＹＥＳとなる。
【０１３６】
次いで、ステップ３で、クランク角カウンタの計数値Ｃ＿ｃｒｋを値０に設定した後、後述するステップ６に進む。
【０１３７】
一方、ステップ１の判別結果がＹＥＳのときには、ステップ４に進み、クランク角カウンタの計数値Ｃ＿ｃｒｋを値１０分、インクリメントする。次いで、ステップ５で、クランク角カウンタの計数値Ｃ＿ｃｒｋが７２０であるか否かを判別する。この判別結果がＮＯのときには、後述するステップ６に進む。一方、この判別結果がＹＥＳのときには、前述したステップ３に進み、クランク角カウンタの計数値Ｃ＿ｃｒｋを値０に設定した後、ステップ６に進む。
【０１３８】
ステップ３またはステップ５に続くステップ６では、カム位相制御用の外乱補償値のマップ値Ｒｃｙｃ＿ｂｓ＿ｃｉｎを算出する。具体的には、カム位相制御用の外乱補償値のマップ値Ｒｃｙｃ＿ｂｓ＿ｃｉｎは、前述したように、目標カム位相Ｃａｉｎ＿ｃｍｄ、クランク角カウンタの計数値Ｃ＿ｃｒｋおよびバルブリフトＬｉｆｔｉｎに応じて、前述したカム位相制御用の外乱補償値マップ（図１８，１９）を検索することにより、算出される。
【０１３９】
次いで、ステップ７に進み、カム位相制御用の補正係数Ｋｒｃｙｃ＿ｃｉｎを、エンジン回転数ＮＥに応じて、図２８に示すテーブルを検索することにより算出する。同図に示すように、このテーブルでは、補正係数Ｋｒｃｙｃ＿ｃｉｎは、エンジン回転数ＮＥが低いほど、より大きな値に設定されている。これは、低回転数域では、周期的外乱の周波数が低くなり、外力に対するカム位相制御系の応答ゲインが高くなるような周波数となるため、吸気カム６の周期的変位が大きくなるので、それを補償するためである。
【０１４０】
また、このテーブルでは、補正係数Ｋｒｃｙｃ＿ｃｉｎは、所定回転数ＮＥＲＥＦ１（例えば４０００ｒｐｍ）以上の範囲では値に０に設定されている。これは、高回転域では、アクチュエータとしての電磁弁機構７４の応答性が十分でないことで、周期的外乱の補償を正確に行うのが困難であることに加えて、周期的外乱が高周波になるのに対して、可変カム位相機構７０は、その応答特性（ローパス特性）により、高周波の周期的外乱の影響を受けなくなることによる。
【０１４１】
ステップ７に続くステップ８では、カム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎを、上記ステップ６，７で算出したマップ値Ｒｃｙｃ＿ｂｓ＿ｃｉｎおよび補正係数Ｋｒｃｙｃ＿ｃｉｎの積に設定し、ＲＡＭ２ｂ内に記憶する。
【０１４２】
次に、ステップ９で、バルブリフト制御用の外乱補償値のマップ値Ｒｃｙｃ＿ｂｓ＿ｌｉｎを算出する。具体的には、バルブリフト制御用の外乱補償値のマップ値Ｒｃｙｃ＿ｂｓ＿ｌｉｎは、前述したように、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄ、カム位相Ｃａｉｎおよびクランク角カウンタの計数値Ｃ＿ｃｒｋに応じて、前述したバルブリフト制御用の外乱補償値マップ（図２３，２４）を検索することにより、算出される。
【０１４３】
次いで、ステップ１０に進み、バルブリフト制御用の補正係数Ｋｒｃｙｃ＿ｌｉｎを、エンジン回転数ＮＥに応じて、図２９に示すテーブルを検索することにより算出する。同図に示すように、このテーブルでは、補正係数Ｋｒｃｙｃ＿ｌｉｎは、エンジン回転数ＮＥが低いほど、より大きな値に設定されている。これは、低回転数域では、前述したように、周期的外乱の周波数が低くなり、外力に対するバルブリフト制御系の応答ゲインが高くなるような周波数となるため、バルブリフトＬｉｆｔｉｎの周期的変位が大きくなるので、それを補償するためである。
【０１４４】
また、このテーブルでは、補正係数Ｋｒｃｙｃ＿ｌｉｎは、所定回転数ＮＥＲＥＦ２（例えば５０００ｒｐｍ）以上の範囲では、値０に設定されている。これは、高回転域では、リフトアクチュエータ６０の応答性が十分でないことで、周期的外乱の補償を正確に行うのが困難であることに加えて、周期的外乱が高周波になるのに対して、可変バルブリフト機構５０は、その応答特性（ローパス特性）により、高周波の周期的外乱の影響を受けなくなることによる。
【０１４５】
ステップ１０に続くステップ１１では、バルブリフト制御用の外乱補償値Ｒｃｙｃ＿ｌｉｎを、上記ステップ９，１０で算出したマップ値Ｒｃｙｃ＿ｂｓ＿ｌｉｎおよび補正係数Ｋｒｃｙｃ＿ｌｉｎの積に設定する。
【０１４６】
次いで、ステップ１２に進み、圧縮比制御用の外乱補償値のマップ値Ｒｃｙｃ＿ｂｓ＿ｃｒを算出する。具体的には、このマップ値Ｒｃｙｃ＿ｂｓ＿ｃｒは、前述したように、クランク角カウンタの計数値Ｃ＿ｃｒｋおよび目標圧縮比Ｃｒ＿ｃｍｄに応じて、前述した圧縮比制御用の外乱補償値マップ（図２６）を検索することにより、算出される。
【０１４７】
次に、ステップ１３で、圧縮比制御用の第１補正係数Ｋｒｃｙｃ＿ｃｒ１を、カム位相ＣａｉｎおよびバルブリフトＬｉｆｔｉｎに応じて、図３０に示すマップを検索することにより、算出する。なお、図中に示すバルブリフトの所定値Ｌｉｆｔｉｎ１〜３は、Ｌｉｆｔｉｎ１＞Ｌｉｆｔｉｎ２＞Ｌｉｆｔｉｎ３の関係が成立するように設定されている。
【０１４８】
同図に示すように、このマップでは、第１補正係数Ｋｒｃｙｃ＿ｃｒ１は、カム位相Ｃａｉｎが進角側の値であるほど、またはバルブリフトＬｉｆｔｉｎが小さいほど、より小さい値に設定されている。これは、カム位相Ｃａｉｎが進角側の値であるほど、内部ＥＧＲ量の増大により混合気の燃焼温度が低くなり、燃焼圧が低くなることで、周期的外乱の振幅がより小さくなるためである。また、第１補正係数Ｋｒｃｙｃ＿ｃｒ１は、バルブリフトＬｉｆｔｉｎが小さいほど、より小さい値に設定されている。これは、バルブリフトＬｉｆｔｉｎが小さい値であるほど、吸入空気量が小さくなり、燃焼圧が低くなることで、周期的外乱の振幅がより小さくなるためである。
【０１４９】
次いで、ステップ１４で、圧縮比制御用の第２補正係数Ｋｒｃｙｃ＿ｃｒ２を、エンジン回転数ＮＥに応じて、図３１に示すテーブルを検索することにより、算出する。同図に示すように、このテーブルでは、第２補正係数Ｋｒｃｙｃ＿ｃｒ２は、エンジン回転数ＮＥが所定回転数ＮＥＲＥＦ３（例えば３０００ｒｐｍ）より低い領域では、ＮＥ＝ＮＥＲＥＦ４（＜ＮＥＲＥＦ３）のときに最大値を示すように設定されている。これは、低回転数域では、慣性質量の影響により、周期的外乱の振幅がＮＥ＝ＮＥＲＥＦ４のときに最大値を示すので、それを補償するためである。
【０１５０】
また、このテーブルでは、第２補正係数Ｋｒｃｙｃ＿ｃｒ２は、ＮＥ≧ＮＥＲＥＦ３の領域では、値０に設定されている。これは、高回転域では、圧縮比アクチュエータ８７の応答性が十分でないことで、周期的外乱の補償を正確に行うのが困難であることに加えて、燃焼圧に起因する周期的外乱が高周波になるのに対して、可変圧縮比機構８０は、その応答特性（ローパス特性）により、高周波の周期的外乱の影響を受けなくなることによる。
【０１５１】
ステップ１４に続くステップ１５では、圧縮比制御用の外乱補償値Ｒｃｙｃ＿ｃｒを、上記ステップ１２〜１４で算出したマップ値Ｒｃｙｃ＿ｂｓ＿ｌｉｎと、第１および第２補正係数Ｋｒｃｙｃ＿ｃｒ１，Ｋｒｃｙｃ＿ｃｒ２との積に設定し、その後、本処理を終了する。
【０１５２】
次に、図３２を参照しながら、前述した３つの制御入力Ｕｃａｉｎ，Ｕｌｉｆｔｉｎ，Ｕｃｒを算出する処理について説明する。この処理は、プログラムタイマの設定により、所定の制御周期ΔＴ（本実施形態では５ｍｓｅｃ）で実行される。
【０１５３】
図３２に示すように、この処理では、まず、ステップ２０において、可変機構正常フラグＦ＿ＶＤＯＫが「１」であるか否かを判別する。この可変機構正常フラグＦ＿ＶＤＯＫは、可変カム位相機構７０、可変バルブリフト機構５０および可変圧縮比機構８０がいずれも正常であるときには「１」に設定され、それ以外のときには「０」に設定される。
【０１５４】
ステップ２０の判別結果がＮＯで、３つの可変機構５０，７０，８０の少なくとも１つが故障しているときには、ステップ３２に進み、位相制御入力Ｕｃａｉｎ、リフト制御入力Ｕｌｉｆｔｉｎおよび圧縮比制御入力Ｕｃｒをいずれも値０に設定した後、本処理を終了する。なお、このように３つの制御入力がいずれも値０に設定されたときには、可変カム位相機構７０により、カム位相Ｃａｉｎが最遅角値Ｃａｉｎｒｔに保持され、可変バルブリフト機構５０により、バルブリフトＬｉｆｔｉｎがアイドル運転やエンジン始動に適した値に保持されるとともに、可変圧縮比機構８０により、圧縮比Ｃｒが最小値Ｃｒｍｉｎに保持される。
【０１５５】
一方、ステップ２０の判別結果がＹＥＳで、３つの可変機構５０，７０，８０がいずれも正常であるときには、ステップ２１に進み、エンジン始動フラグＦ＿ＥＮＧＳＴが「１」であるか否かを判別する。このエンジン始動フラグＦ＿ＥＮＧＳＴは、エンジン３の始動中は「１」に設定され、エンジン３が始動済みであるときには「０」に設定される。この判別結果がＹＥＳで、エンジン始動中であるときには、ステップ２２に進み、目標カム位相Ｃａｉｎ＿ｃｍｄを所定の始動時用値Ｃａｉｎ＿ｃｍｄ＿ｓｔに設定する。
【０１５６】
次に、ステップ２３，２４において、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄおよび目標圧縮比Ｃｒ＿ｃｍｄをそれぞれ、所定の始動時用値Ｌｉｆｔｉｎ＿ｃｍｄ＿ｓｔ，Ｃｒ＿ｃｍｄ＿ｓｔに設定する。
【０１５７】
次いで、ステップ２５に進み、ＲＡＭ２ｂに現在記憶されている３つの外乱補償値Ｒｃｙｃ＿ｃｉｎ，Ｒｃｙｃ＿ｌｉｎ，Ｒｃｙｃ＿ｃｒの値を読み込む。すなわち、これらの値をサンプリングする。
【０１５８】
ステップ２５に続くステップ２６では、位相制御入力Ｕｃａｉｎを、算出された目標カム位相Ｃａｉｎ＿ｃｍｄ、および読み込まれたカム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎを用い、前述した式（１）〜（８），（１０）〜（１６）の制御アルゴリズムにより算出する。
【０１５９】
次に、ステップ２７で、リフト制御入力Ｕｌｉｆｔｉｎを算出する。このリフト制御入力Ｕｌｉｆｔｉｎは、前述したように、上記位相制御入力Ｕｃａｉｎと同様の制御アルゴリズムにより算出される。すなわち、算出された目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄ、および読み込まれたバルブリフト制御用の外乱補償値Ｒｃｙｃ＿ｌｉｎを用い、式（１）〜（８），（１０）〜（１６）と同様の制御アルゴリズムにより、リフト制御入力Ｕｌｉｆｔｉｎが算出される。
【０１６０】
次いで、ステップ２８で、圧縮比制御入力Ｕｃｒを算出する。この圧縮比制御入力Ｕｃｒも、前述したように、上記位相制御入力Ｕｃａｉｎと同様の制御アルゴリズムにより算出される。すなわち、算出された目標圧縮比Ｃｒ＿ｃｍｄ、および読み込まれた圧縮比制御用の外乱補償値Ｒｃｙｃ＿ｃｒを用い、式（１）〜（８），（１０）〜（１６）と同様の制御アルゴリズムにより、圧縮比制御入力Ｕｃｒが算出される。その後、本処理を終了する。
【０１６１】
一方、ステップ２１の判別結果がＮＯで、エンジン始動済みであるときには、ステップ２９に進み、目標カム位相Ｃａｉｎ＿ｃｍｄを、エンジン回転数ＮＥおよびアクセル開度ＡＰに応じて、図３３に示すマップを検索することにより算出する。同図において、アクセル開度ＡＰの所定値ＡＰ１〜ＡＰ３は、ＡＰ１＞ＡＰ２＞ＡＰ３の関係が成立するように設定されており、この関係は以下の説明でも同様である。
【０１６２】
このマップでは、目標カム位相Ｃａｉｎ＿ｃｍｄは、ＡＰ＝ＡＰ１で、高負荷である場合には、エンジン回転数ＮＥが高いほど、より遅角側の値に設定されている。また、ＡＰ＝ＡＰ２で、中負荷である場合、目標カム位相Ｃａｉｎ＿ｃｍｄは、低回転域から中回転域では、エンジン回転数ＮＥが高いほど、より進角側の値に設定されているとともに、中回転域から高回転域では、エンジン回転数ＮＥが高いほど、より遅角側の値に設定されている。さらに、ＡＰ＝ＡＰ３で、低負荷である場合も、目標カム位相Ｃａｉｎ＿ｃｍｄは、中負荷である場合とほぼ同様の傾向に設定されている。この理由については、後述する。
【０１６３】
ステップ２９に続くステップ３０では、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄを、エンジン回転数ＮＥおよびアクセル開度ＡＰに応じて、図３４に示すマップを検索することにより算出する。このマップでは、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄは、ＡＰ＝ＡＰ１で、高負荷である場合には、エンジン回転数ＮＥが高いほど、より大きな値に設定されている。また、ＡＰ＝ＡＰ２で、中負荷である場合、目標カム位相Ｃａｉｎ＿ｃｍｄは、低回転域では、エンジン回転数ＮＥが高いほど、より大きな値に設定され、中回転域では、エンジン回転数ＮＥに対して、ほとんど変わらない値に設定されているとともに、高回転域では、エンジン回転数ＮＥが高いほど、より大きな値に設定されている。さらに、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄは、ＡＰ＝ＡＰ３で、低負荷である場合も、中負荷である場合とほぼ同様の傾向に設定されている。
【０１６４】
目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄが以上のように設定され、かつ目標カム位相Ｃａｉｎ＿ｃｍｄが前述したように設定されている理由は、以下による。すなわち、低負荷域／低回転域では、バルブリフトＬｉｆｔｉｎを低リフトに制御し、かつカム位相Ｃａｉｎを進角側の値に制御することで、オットーサイクルよりも吸気弁４が早く閉じる早閉じのミラーサイクルを実現する。それにより、ポンピングロスを低減させるとともに、低リフト化による筒内流動を増大化させることで、燃焼の急速化を図り、燃焼効率を向上させるためである。
【０１６５】
また、中負荷域／中回転域では、バルブリフトＬｉｆｔｉｎを中程度のリフトに制御し、かつカム位相Ｃａｉｎを進角側の値に制御することで、バルブオーバーラップを増大させ、内部ＥＧＲ量を増大させるとともに、早閉じのミラーサイクルの実現により、ポンピングロスの低減および燃費の向上を図るためである。
【０１６６】
さらに、高負荷域／高回転域では、バルブリフトＬｉｆｔｉｎを高リフトに制御し、かつカム位相Ｃａｉｎを遅角側の値に制御することで、吸入空気量を増大させ、エンジントルクを増大させるためである。これに加えて、そのような制御の際、内部ＥＧＲ量の減少と、圧縮行程の初期では、吸気の慣性力によって吸気挙動が継続するので、それを充填効率の向上に利用すべく、カム位相Ｃａｉｎを遅角側の値に制御するためである。
【０１６７】
ステップ３０に続くステップ３１では、目標圧縮比Ｃｒ＿ｃｍｄを、エンジン回転数ＮＥおよびアクセル開度ＡＰに応じて、図３５に示すマップを検索することにより算出する。このマップでは、目標圧縮比Ｃｒ＿ｃｍｄは、ＡＰが大きく、高負荷であるほど、または、エンジン回転数ＮＥが高いほど、より小さな値に設定されている。これは、エンジン回転数ＮＥおよびアクセル開度ＡＰが大きいほど（すなわち高負荷であるほど）、点火時期に対する最適な圧縮比Ｃｒの値がより小さくなることによる。すなわち、高回転／高負荷時に圧縮比Ｃｒを高圧縮比側の値に設定すると、ノッキングが発生するのを防止するために点火時期のリタード側への制御が必要となることで、発生トルク（効率）の低下を招くおそれがあるので、それを回避するためである。
【０１６８】
次いで、前述したように、ステップ２５〜２８を実行し、３つの制御入力Ｕｃａｉｎ，Ｕｌｉｆｔｉｎ，Ｕｃｒを算出した後、本処理を終了する。
【０１６９】
以上のように、本実施形態の制御装置１では、３つの外乱補償値Ｒｃｙｃ＿ｃｉｎ，Ｒｃｙｃ＿ｌｉｎ，Ｒｃｙｃ＿ｃｒが、予め予想される周期的外乱を補償するための、周期的外乱の正負を反転させた値として、ＣＲＫ信号の発生に同期するタイミングで、マップ検索およびテーブル検索などにより算出される。さらに、そのように算出された外乱補償値Ｒｃｙｃ＿ｃｉｎ，Ｒｃｙｃ＿ｌｉｎ，Ｒｃｙｃ＿ｃｒに応じて、３つの制御入力Ｕｃａｉｎ，Ｕｌｉｆｔｉｎ，Ｕｃｒがそれぞれ、前述した制御アルゴリズム［式（１）〜（８），（１０）〜（１６）］により算出される。
【０１７０】
したがって、そのように算出された制御入力Ｕｃａｉｎ，Ｕｌｉｆｔｉｎ，Ｕｃｒにより、カム位相Ｃａｉｎ、バルブリフトＬｉｆｔｉｎおよび圧縮比Ｃｒをそれぞれフィードフォワード的に制御することで、周期的外乱がカム位相Ｃａｉｎ、バルブリフトＬｉｆｔｉｎおよび圧縮比Ｃｒに及ぼす影響を迅速に補償し、抑制することができる。その結果、カム位相制御およびバルブリフト制御においては、周期的外乱に起因する、吸気弁４の開弁時の吸入空気量の変化を回避できることで、エンジン３の発生トルクの変動を回避できるとともに、安定した燃焼状態を確保できる。また、圧縮比制御においては、周期的外乱の影響による圧縮比Ｃｒの変化を回避でき、圧縮比Ｃｒと点火時期との間の適合性を良好な状態に維持できる。その結果、ノッキングの発生および燃焼効率の低下を回避することができる。以上のように、制御の安定性および制御精度を向上させることができる。
【０１７１】
図３６は、以上のような制御手法により算出された位相制御入力Ｕｃａｉｎを用い、目標カム位相Ｃａｉｎ＿ｃｍｄを一定値に保持しながら、カム位相Ｃａｉｎを制御した場合のシミュレーション結果を、１つのシリンダ３ａのみにおけるものを例にとって示したものである。同図と前述した図１３とを比較すると明らかなように、本実施形態の制御装置１によれば、前述したようなカム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎを用いることにより、周期的外乱の影響を効果的に抑制できることが判る。
【０１７２】
なお、第１実施形態は、カム位相制御用の参照入力Ｒｓｌｄを算出するための制御アルゴリズムとして目標値フィルタ型２自由度スライディングモード制御アルゴリズムを用いた例であるが、カム位相制御用の参照入力Ｒｓｌｄを算出するための制御アルゴリズムはこれに限らず、カム位相制御用の参照入力Ｒｓｌｄを、カム位相Ｃａｉｎを目標カム位相Ｃａｉｎ＿ｃｍｄに収束させるような値として算出できる制御アルゴリズムであればよい。例えば、ＰＩＤ制御アルゴリズムなどのフィードバック制御アルゴリズムを用いてもよく、バックステッピング制御アルゴリズムなどの応答指定型制御アルゴリズムを用いてもよい。これと同様に、バルブリフト制御用の参照入力Ｒｓｌｄ’または圧縮比制御用の参照入力Ｒｓｌｄ''を算出するための制御アルゴリズムとして、ＰＩ制御アルゴリズムおよびＰＩＤ制御アルゴリズムなどのフィードバック制御アルゴリズムや、バックステッピング制御アルゴリズムなどの応答指定型制御アルゴリズムを用いてもよい。
【０１７３】
また、第１実施形態は、カム位相コントローラ１００における位相制御入力Ｕｃａｉｎの算出において、ＤＳＭコントローラ１０５を用いた例であるが、これを省略し、カム位相制御用の参照入力Ｒｓｌｄ＿ｆをそのまま位相制御入力Ｕｃａｉｎとして可変カム位相機構７０に入力するように構成してもよい。さらに、バルブリフトコントローラ１１０または圧縮比コントローラ１２０における、リフト制御入力Ｕｌｉｆｔｉｎまたは圧縮比制御入力Ｕｃｒの算出において、ＤＳＭコントローラ１１５またはＤＳＭコントローラ１２５を省略し、バルブリフト制御用の参照入力Ｒｓｌｄ＿ｆ’または圧縮比制御用の参照入力Ｒｓｌｄ＿ｆ''をそのまま、リフト制御入力Ｕｌｉｆｔｉｎまたは圧縮比制御入力Ｕｃｒとして、可変バルブリフト機構５０または可変圧縮比機構８０に入力するように構成してもよい。
【０１７４】
さらに、補償要素１００において、カム位相制御用の外乱補償値値Ｒｃｙｃ＿ｃｉｎを、クランク角カウンタの計数値Ｃ＿ｃｒｋに代えて、ＣＡＭ信号の発生に同期して所定のカム角分、インクリメントされるカウンタの計数値に応じて算出してもよく、バルブリフトＬｉｆｔｉｎに代えて、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄに応じて算出してもよい。さらに、補償要素１１０，１２０においても、上記と同様の手法により、外乱補償値Ｒｃｙｃ＿ｌｉｎ，Ｒｃｙｃ＿ｃｒをそれぞれ算出してもよい。
【０１７５】
また、エンジン３が可変バルブリフト機構５０および可変カム位相機構７０を備えておらず、可変圧縮比機構８０のみを備えている場合には、補償要素１２０において、圧縮比制御用の外乱補償値Ｒｃｙｃ＿ｃｒを、カム位相ＣａｉｎおよびバルブリフトＬｉｆｔｉｎに代えて、エンジン３の負荷を表すパラメータ（吸気管内絶対圧ＰＢＡおよびＴＨ通過吸入空気量ＧＴＨなど）に応じて算出するように構成してもよい。
【０１７６】
さらに、可変カム位相機構として、第１実施形態の油圧式の可変カム位相機構７０に代えて、本出願人が特願２００３−２９３００９号において提案済みの電磁式の可変カム位相機構を用いてもよい。このようにした場合、電磁式の可変カム位相機構では、カム位相Ｃａｉｎがソレノイドの電磁力とばねの付勢力との釣り合いによって変更されるため、周期的外乱は進角側または遅角側のみに作用する。したがって、そのような周期的外乱を補償するために、カム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎを算出する場合、そのマップ値Ｒｃｙｃ＿ｂｓ＿ｃｉｎは、図３７に実線または破線で示すようなマップを用いて算出すればよい。
【０１７７】
次に、本発明の第２実施形態に係る制御装置１Ａについて説明する。本実施形態の制御装置１Ａは、前述した第１実施形態の制御装置１と比べると、一部を除いて同様に構成されているので、以下、第１実施形態の制御装置１と異なる点を中心として説明する。図３８〜図４０に示すように、この制御装置１Ａは、カム位相コントローラ２００、バルブリフトコントローラ２１０および圧縮比コントローラ２２０を備えている。
【０１７８】
まず、カム位相コントローラ２００について説明すると、このカム位相コントローラ２００は、図３８に示すように、目標カム位相算出部２０１（目標値設定手段）、補償要素２０２（外乱補償値記憶手段、外乱補償値選択手段）、２自由度ＳＬＤコントローラ２０３（制御入力算出手段）、ＤＳＭコントローラ２０５（制御入力算出手段）および適応外乱オブザーバ２０６（外乱推定値算出手段）を備えており、これらはいずれも、具体的には、ＥＣＵ２により構成されている。このカム位相コントローラ２００では、目標カム位相算出部２０１および補償要素２０２は、前述したカム位相コントローラ１００のものと同様に構成されているので、それらの説明はここでは省略する。
【０１７９】
また、適応外乱オブザーバ２０６は、モデル化誤差および外乱を補償するための、カム位相制御用の外乱推定値ｃ１を算出するものである。具体的には、この適応外乱オブザーバ２０６では、カム位相Ｃａｉｎ、カム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎおよびカム位相制御用のＳＬＤ制御入力Ｒｓｌｄに応じて、図４１の式（１７）〜（１９）で表される、固定ゲイン法の同定アルゴリズムにより、カム位相制御用の外乱推定値ｃ１が算出される。式（１７）のＣａｉｎ＿ｈａｔはカム位相の同定値を表し、式（１８）のｅ＿ｉｄは、同定誤差を表している。また、式（１９）のＰ’は、同定ゲインを表している。
【０１８０】
なお、以上の式（１７）〜（１９）は以下のように導出される。すなわち、前述した図２０の式（９）のモデルにおいて、外乱を補償するために、カム位相制御用の外乱推定値ｃ１および外乱補償値Ｒｃｙｃ＿ｃｉｎを付加すると、図４１に示す式（２０）が得られる。この式（２０）において、右辺をカム位相の同定値Ｃａｉｎ＿ｈａｔに置き換え、そのように置き換えたモデルに基づき、カム位相の同定値Ｃａｉｎ＿ｈａｔとカム位相Ｃａｉｎとの偏差が最小になるように、統計処理に基づく固定ゲイン法の同定アルゴリズムを適用すると、前述した式（１７）〜（１９）が導出される。
【０１８１】
以上の式（１７）〜（１９）のアルゴリズムにより、この適応外乱オブザーバ２０６では、カム位相制御用の外乱推定値ｃ１が、モデル化誤差および外乱を適切に補償することができる値として算出される。
【０１８２】
また、２自由度ＳＬＤコントローラ２０３では、図４２の式（２１）〜（２７）で表される目標値フィルタ型２自由度スライディングモード制御アルゴリズムにより、カム位相制御用のＳＬＤ制御入力Ｒｓｌｄが算出される。これらの式（２１）〜（２７）を参照すると明らかなように、この２自由度ＳＬＤコントローラ２０３の制御アルゴリズムは、等価制御入力Ｒｅｑの算出式に、カム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎおよび外乱推定値ｃ１を含んでいる点と、ＳＬＤ制御入力Ｒｓｌｄの算出において適応則入力Ｒａｄｐを用いない点とが、前述した２自由度ＳＬＤコントローラ１０３のものと異なっている。
【０１８３】
さらに、ＤＳＭコントローラ２０５では、上記のように算出されたカム位相制御用のＳＬＤ制御入力Ｒｓｌｄに基づいて、前述したＤＳＭコントローラ１０５と同様の制御アルゴリズム［図４３に示す式（２８）〜（３３）］により、位相制御入力Ｕｃａｉｎが算出される。
【０１８４】
カム位相コントローラ２００は、以上のように構成されており、これと同様に、バルブリフトコントローラ２１０も構成されている。すなわち、図３９に示すように、目標バルブリフト算出部２１１（目標値設定手段）、補償要素２１２（外乱補償値記憶手段、外乱補償値選択手段）、２自由度ＳＬＤコントローラ２１３（制御入力算出手段）、ＤＳＭコントローラ２１５（制御入力算出手段）および適応外乱オブザーバ２１６（外乱推定値算出手段）を備えている。このバルブリフトコントローラ２１０では、目標バルブリフト算出部２１１および補償要素２１２は、前述したバルブリフトコントローラ１１０のものと同様に構成されているので、それらの説明はここでは省略する。
【０１８５】
また、適応外乱オブザーバ２１６では、カム位相コントローラ２００の適応外乱オブザーバ２０６と同様のアルゴリズムにより、バルブリフト制御用の外乱推定値ｃ１’が算出される。すなわち、前述した図４１の式（１７）〜（１９）において、ＣａｉｎをＬｉｆｔｉｎに、Ｃａｉｎ＿ｃｍｄをＬｉｆｔｉｎ＿ｃｍｄに、Ｒｃｙｃ＿ｃｉｎをＲｃｙｃ＿ｌｉｎに、ｃ１をｃ１’に、ＲｓｌｄをＲｓｌｄ’にそれぞれ置き換えるとともに、各係数などをバルブリフト制御用の値に置き換えたアルゴリズムにより、バルブリフト制御用の外乱推定値ｃ１’が算出される。
【０１８６】
また、２自由度ＳＬＤコントローラ２１３では、カム位相コントローラ２００の２自由度ＳＬＤコントローラ２０３と同様のアルゴリズムにより、バルブリフト制御用のＳＬＤ制御入力Ｒｓｌｄ’が算出される。すなわち、前述した図４２の式（２１）〜（２７）において、上述したように、各パラメータおよび各係数などをバルブリフト制御用の値に置き換えたアルゴリズムにより、バルブリフト制御用のＳＬＤ制御入力Ｒｓｌｄ’が算出される。
【０１８７】
さらに、ＤＳＭコントローラ２１５では、上記のように算出されたバルブリフト制御用のＳＬＤ制御入力Ｒｓｌｄ’に基づいて、カム位相コントローラ２００のＤＳＭコントローラ２０５と同様の制御アルゴリズムにより、リフト制御入力Ｕｌｉｆｔｉｎが算出される。すなわち、図４３の式（２８）〜（３３）において、各パラメータおよび各係数などをバルブリフト制御用の値に置き換えたアルゴリズムにより、リフト制御入力Ｕｌｉｆｔｉｎが算出される。
【０１８８】
一方、圧縮比コントローラ２２０も、カム位相コントローラ２００と同様に構成されている。すなわち、図４０に示すように、目標圧縮比算出部２２１（目標値設定手段）、補償要素２２２（外乱補償値記憶手段、外乱補償値選択手段）、２自由度ＳＬＤコントローラ２２３（制御入力算出手段）、ＤＳＭコントローラ２２５（制御入力算出手段）および適応外乱オブザーバ２２６（外乱推定値算出手段）を備えている。この圧縮比コントローラ２２０では、目標圧縮比算出部２２１および補償要素２２２は、前述した圧縮比コントローラ１２０のものと同様に構成されているので、それらの説明はここでは省略する。
【０１８９】
また、適応外乱オブザーバ２２６では、カム位相コントローラ２００の適応外乱オブザーバ２０６と同様のアルゴリズムにより、圧縮比制御用の外乱推定値ｃ１''が算出される。すなわち、前述した図４１の式（１７）〜（１９）において、ＣａｉｎをＣｒに、Ｃａｉｎ＿ｃｍｄをＣｒ＿ｃｍｄに、Ｒｃｙｃ＿ｃｉｎをＲｃｙｃ＿ｃｒに、ｃ１をｃ１''に、ＲｓｌｄをＲｓｌｄ''にそれぞれ置き換えるとともに、各係数などを圧縮比制御用の値に置き換えたアルゴリズムにより、圧縮比制御用の外乱推定値ｃ１''が算出される。
【０１９０】
また、２自由度ＳＬＤコントローラ２２３では、カム位相コントローラ２００の２自由度ＳＬＤコントローラ２０３と同様のアルゴリズムにより、圧縮比制御用のＳＬＤ制御入力Ｒｓｌｄ''が算出される。すなわち、前述した図４２の式（２１）〜（２７）において、上述したように、各パラメータおよび各係数などを圧縮比制御用の値に置き換えたアルゴリズムにより、圧縮比制御用のＳＬＤ制御入力Ｒｓｌｄ''が算出される。
【０１９１】
さらに、ＤＳＭコントローラ２２５では、上記のように算出された圧縮比制御用のＳＬＤ制御入力Ｒｓｌｄ''に基づいて、カム位相コントローラ２００のＤＳＭコントローラ２０５と同様の制御アルゴリズムにより、圧縮比制御入力Ｕｃｒが算出される。すなわち、図４３の式（２８）〜（３３）において、各パラメータおよび各係数などを圧縮比制御用の値に置き換えたアルゴリズムにより、圧縮比制御入力Ｕｃｒが算出される。
【０１９２】
この制御装置１Ａでは、位相制御入力Ｕｃａｉｎ，Ｕｌｉｆｔｉｎ，ＵｃｒをＥＣＵ２で算出する場合、前述した図３２のステップ２６において、式（２１）〜（３３）により、位相制御入力Ｕｃａｉｎが算出される。また、ステップ２７において、式（２１）〜（３３）の各変数および各係数などをバルブリフト制御用の値に置き換えたアルゴリズムにより、リフト制御入力Ｕｌｉｆｔｉｎが算出されるとともに、ステップ２８において、同じ手法により、圧縮比制御入力Ｕｃｒが算出される。
【０１９３】
以上のように構成された本実施形態の制御装置１Ａによれば、第１実施形態の制御装置１と同様に、３つの外乱補償値Ｒｃｙｃ＿ｃｉｎ，Ｒｃｙｃ＿ｌｉｎ，Ｒｃｙｃ＿ｃｒに応じて、３つの制御入力Ｕｃａｉｎ，Ｕｌｉｆｔｉｎ，Ｕｃｒがそれぞれ算出されるので、そのように算出された制御入力Ｕｃａｉｎ，Ｕｌｉｆｔｉｎ，Ｕｃｒにより、カム位相Ｃａｉｎ、バルブリフトＬｉｆｔｉｎおよび圧縮比Ｃｒをそれぞれフィードフォワード的に制御することで、周期的外乱がカム位相Ｃａｉｎ、バルブリフトＬｉｆｔｉｎおよび圧縮比Ｃｒに及ぼす影響を迅速に補償し、抑制することができる。その結果、カム位相制御、バルブリフト制御および圧縮比制御において、前述した制御装置１と同様の作用効果を得ることができる。
【０１９４】
これに加えて、外乱推定値ｃ１，ｃ１’，ｃ１''が、適応外乱オブザーバ２０６，２１６，２２６により、モデル化誤差および外乱を補償するような値として算出されるとともに、そのような外乱推定値ｃ１，ｃ１’，ｃ１''に応じて、制御入力Ｕｃａｉｎ，Ｕｌｉｆｔｉｎ，Ｕｃｒが算出される。したがって、これらの制御入力Ｕｃａｉｎ，Ｕｌｉｆｔｉｎ，Ｕｃｒにより、カム位相Ｃａｉｎ、バルブリフトＬｉｆｔｉｎおよび圧縮比Ｃｒを、定常偏差が生じないように制御することができるとともに、周期的外乱がカム位相Ｃａｉｎ、バルブリフトＬｉｆｔｉｎおよび圧縮比Ｃｒに及ぼす影響を、第１実施形態の制御装置１よりも、迅速に補償し、抑制することができる。以上により、制御装置１と比べて、制御の安定性および制御精度をさらに向上させることができる。
【０１９５】
次に、本発明の第３実施形態に係る制御装置１Ｂについて説明する。本実施形態の制御装置１Ｂは、前述した第２実施形態の制御装置１Ａと比べると、一部を除いて同様に構成されているので、以下、第２実施形態の制御装置１Ａと異なる点を中心として説明する。図４４〜図４６に示すように、この制御装置１Ｂは、カム位相コントローラ３００、バルブリフトコントローラ３１０および圧縮比コントローラ３２０を備えている。
【０１９６】
まず、カム位相コントローラ３００について説明すると、このカム位相コントローラ３００は、図４４に示すように、目標カム位相算出部３０１（目標値設定手段）、補償要素３０２（外乱補償値記憶手段、外乱補償値選択手段）、２自由度ＳＬＤコントローラ３０３（制御入力算出手段）、ＤＳＭコントローラ３０５（制御入力算出手段）および部分パラメータ同定器３０７（モデルパラメータ同定手段、振幅補正値算出手段）を備えている。このカム位相コントローラ３００は、前述したカム位相コントローラ２００と比較して、前述した外乱オブザーバ２０６に代えて、部分パラメータ同定器３０７を備えている点と、それに伴って２自由度ＳＬＤコントローラ３０３の制御アルゴリズムの一部とが異なっている。
【０１９７】
この部分パラメータ同定器３０７では、カム位相Ｃａｉｎ、カム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎおよびカム位相制御用のＳＬＤ制御入力Ｒｓｌｄに応じて、図４７の式（３４）〜（３９）で表される、固定ゲイン法の逐次型同定アルゴリズムにより、パラメータベクトルθが同定される。このパラメータベクトルθは、その転置行列が式（３８）のように表されるベクトルであり、同式（３８）のｄ１は、振幅補正値としての外乱補償値ゲインであり、可変カム位相機構７０の経年変化および個体間のばらつきなどに起因して、周期的外乱の振幅が変化するのを補償するためのものである。また、式（３４）のＷは仮想出力を表し、式（３５）のＷ＿ｈａｔは、仮想出力の同定値を表している。さらに、式（３７）のｅ＿ｉｄ’は、式（３６）のように定義される同定誤差であり、Ｐ''は所定の同定ゲインを表しており、ζはその転置行列が式（３９）のように表されるベクトルである。
【０１９８】
なお、以上の式（３４）〜（３９）は以下のように導出される。すなわち、前述した図４１の式（２０）のモデルに、外乱補償値ゲインｄ１を付加すると、図４７に示す式（４０）が得られる。この式（４０）において、各変数を離散時間１つ分シフトさせ、パラメータｂ１，ｂ２、外乱補償値ゲインｄ１および外乱補償値Ｒｃｙｃ＿ｃｉｎを離散化し、Ｃａｉｎの項を左辺に移項させると、同図の式（４１）が得られる。この式（４１）において、左辺をＷと定義し、右辺をＷ＿ｈａｔと定義すると、上記式（３４），（３５）が得られる。ここで、Ｗは仮想的な制御対象の出力と考え、Ｗ＿ｈａｔは、そのような制御対象の出力の同定値と考えることができるとともに、式（３５）は、そのような仮想的な制御対象のモデルと考えることができる。したがって、仮想出力Ｗが仮想出力の同定値Ｗ＿ｈａｔに近づくように、仮想的な制御対象のモデルパラメータの同定を行うべく、固定ゲイン法の逐次型同定アルゴリズムを適用すると、上記（３４）〜（３９）が導出される。
【０１９９】
以上の式（３４）〜（３９）の同定アルゴリズムにより、この部分パラメータ同定器３０７では、モデルパラメータｂ１，ｂ２、外乱推定値ｃ１および外乱補償値ゲインｄ１が、逐次同定される。
【０２００】
また、２自由度ＳＬＤコントローラ３０３では、図４８の式（４２）〜（４８）で表される目標値フィルタ型２自由度スライディングモード制御アルゴリズムにより、カム位相制御用のＳＬＤ制御入力Ｒｓｌｄが算出される。これらの式（４２）〜（４８）を参照すると明らかなように、この２自由度ＳＬＤコントローラ３０３の制御アルゴリズムは、前述した２自由度ＳＬＤコントローラ２０３のものと比較すると、等価制御入力Ｒｅｑの算出において、カム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎに、外乱補償値ゲインｄ１が乗算されている点のみが異なっている。
【０２０１】
さらに、ＤＳＭコントローラ３０５では、上記のように算出されたカム位相制御用のＳＬＤ制御入力Ｒｓｌｄに基づいて、前述したＤＳＭコントローラ２０５と同じ制御アルゴリズム［図４９に示す式（４９）〜（５４）］により、位相制御入力Ｕｃａｉｎが算出される。
【０２０２】
次に、バルブリフトコントローラ３１０に説明する。このバルブリフトコントローラ３１０も、上記カム位相コントローラ３００と同様に構成されている。具体的には、図４５に示すように、目標バルブリフト算出部３１１（目標値設定手段）、補償要素３１２（外乱補償値記憶手段、外乱補償値選択手段）、２自由度ＳＬＤコントローラ３１３（制御入力算出手段）、ＤＳＭコントローラ３１５（制御入力算出手段）および部分パラメータ同定器３１７（モデルパラメータ同定手段、振幅補正値算出手段）を備えている。このバルブリフトコントローラ３１０は、前述したバルブリフトコントローラ２１０と比較して、前述した外乱オブザーバ２１６に代えて、部分パラメータ同定器３１７を備えている点と、それに伴って２自由度ＳＬＤコントローラ３０３の制御アルゴリズムの一部とが異なっている。
【０２０３】
この部分パラメータ同定器３１７では、バルブリフト制御用の、モデルパラメータｂ１’，ｂ２’、外乱推定値ｃ１’および外乱補償値ゲインｄ１’（振幅補正値）が、カム位相コントローラ３００の部分パラメータ同定器３０７と同様のアルゴリズムにより、逐次同定される。すなわち、前述した図４７の式（３４）〜（３９）において、ｂ１，ｂ２，ｃ１，ｄ１をｂ１’，ｂ２’，ｃ１’ｄ１’に、ＣａｉｎをＬｉｆｔｉｎに、Ｒｃｙｃ＿ｃｉｎをＲｃｙｃ＿ｌｉｎに、ＲｓｌｄをＲｓｌｄ’にそれぞれ置き換えるとともに、各係数などをバルブリフト制御用の値に置き換えたアルゴリズムにより、バルブリフト制御用の、モデルパラメータｂ１’，ｂ２’、外乱推定値ｃ１’および外乱補償値ゲインｄ１’がそれぞれ、逐次同定される。
【０２０４】
また、２自由度ＳＬＤコントローラ３１３では、カム位相コントローラ３００の２自由度ＳＬＤコントローラ３０３と同様のアルゴリズムにより、バルブリフト制御用のＳＬＤ制御入力Ｒｓｌｄ’が算出される。すなわち、前述した図４８の式（４２）〜（４８）において、上述したように、各パラメータおよび各係数などをバルブリフト制御用の値に置き換えたアルゴリズムにより、バルブリフト制御用のＳＬＤ制御入力Ｒｓｌｄ’が算出される。
【０２０５】
さらに、ＤＳＭコントローラ３１５では、上記のように算出されたバルブリフト制御用のＳＬＤ制御入力Ｒｓｌｄ’に基づいて、カム位相コントローラ３００のＤＳＭコントローラ３０５と同様の制御アルゴリズムにより、リフト制御入力Ｕｌｉｆｔｉｎが算出される。すなわち、図４９の式（４９）〜（５４）において、各パラメータおよび各係数などをバルブリフト制御用の値に置き換えたアルゴリズムにより、リフト制御入力Ｕｌｉｆｔｉｎが算出される。
【０２０６】
一方、圧縮比コントローラ３２０も、カム位相コントローラ３００と同様に構成されている。すなわち、図４６に示すように、目標圧縮比算出部３２１（目標値設定手段）、補償要素３２２（外乱補償値記憶手段、外乱補償値選択手段）、２自由度ＳＬＤコントローラ３２３（制御入力算出手段）、ＤＳＭコントローラ３２５（制御入力算出手段）および部分パラメータ同定器３２７（モデルパラメータ同定手段、振幅補正値算出手段）を備えている。
【０２０７】
この部分パラメータ同定器３２７では、圧縮比制御用の、モデルパラメータｂ１''，ｂ２''、外乱推定値ｃ１''および外乱補償値ゲインｄ１''（振幅補正値）が、カム位相コントローラ３００の部分パラメータ同定器３０７と同様のアルゴリズムにより、逐次同定される。すなわち、前述した図４７の式（３４）〜（３９）において、ｂ１，ｂ２，ｃ１，ｄ１をｂ１''，ｂ２''，ｃ１''，ｄ１''に、ＣａｉｎをＣｒに、Ｒｃｙｃ＿ｃｉｎをＲｃｙｃ＿ｃｒに、ＲｓｌｄをＲｓｌｄ''にそれぞれ置き換えるとともに、各係数などを圧縮比制御用の値に置き換えたアルゴリズムにより、圧縮比制御用の、モデルパラメータｂ１''，ｂ２''、外乱推定値ｃ１''および外乱補償値ゲインｄ１''がそれぞれ、逐次同定される。
【０２０８】
また、２自由度ＳＬＤコントローラ３１３では、カム位相コントローラ３００の２自由度ＳＬＤコントローラ３０３と同様のアルゴリズムにより、圧縮比制御用のＳＬＤ制御入力Ｒｓｌｄ''が算出される。すなわち、前述した図４８の式（４２）〜（４８）において、上述したように、各パラメータおよび各係数などを圧縮比制御用の値に置き換えたアルゴリズムにより、圧縮比制御用のＳＬＤ制御入力Ｒｓｌｄ''が算出される。
【０２０９】
さらに、ＤＳＭコントローラ３２５では、上記のように算出された圧縮比制御用のＳＬＤ制御入力Ｒｓｌｄ''に基づいて、カム位相コントローラ３００のＤＳＭコントローラ３０５と同様の制御アルゴリズムにより、圧縮比制御入力Ｕｃｒが算出される。すなわち、図４９の式（４９）〜（５４）において、各パラメータおよび各係数などを圧縮比制御用の値に置き換えたアルゴリズムにより、圧縮比制御入力Ｕｃｒが算出される。
【０２１０】
以上のように構成された本実施形態の制御装置１Ｂによれば、第１および第２実施形態の制御装置１，１Ａと同様に、３つの外乱補償値Ｒｃｙｃ＿ｃｉｎ，Ｒｃｙｃ＿ｌｉｎ，Ｒｃｙｃ＿ｃｒに応じて、３つの制御入力Ｕｃａｉｎ，Ｕｌｉｆｔｉｎ，Ｕｃｒがそれぞれ算出されるので、そのように算出された制御入力Ｕｃａｉｎ，Ｕｌｉｆｔｉｎ，Ｕｃｒにより、カム位相Ｃａｉｎ、バルブリフトＬｉｆｔｉｎおよび圧縮比Ｃｒをそれぞれフィードフォワード的に制御することで、周期的外乱がカム位相Ｃａｉｎ、バルブリフトＬｉｆｔｉｎおよび圧縮比Ｃｒに及ぼす影響を迅速に補償し、抑制することができる。その結果、カム位相制御、バルブリフト制御および圧縮比制御において、前述した制御装置１，１Ａと同様の作用効果を得ることができる。
【０２１１】
これに加えて、制御装置１Ｂのカム位相コントローラ３００では、モデルパラメータｂ１，ｂ２、外乱推定値ｃ１および外乱補償値ゲインｄ１が、逐次同定されるとともに、２自由度ＳＬＤコントローラ３０３により、そのように同定された値ｂ１，ｂ２，ｃ１，ｄ１およびカム位相制御用の外乱補償値Ｒｃｙｃ＿ｃｉｎに応じて、カム位相制御用のＳＬＤ制御入力Ｒｓｌｄが算出され、これに基づいて位相制御入力Ｕｃａｉｎが算出される。したがって、この位相制御入力Ｕｃａｉｎにより、可変カム位相機構７０の経年変化および個体間のばらつきなどに起因して、周期的外乱の振幅が変化した場合でも、それを適切に補償しながら、カム位相Ｃａｉｎを目標カム位相Ｃａｉｎ＿ｃｍｄに迅速に精度よく収束させることができる。すなわち、周期的外乱がカム位相Ｃａｉｎに及ぼす影響を、第２実施形態のカム位相コントローラ２００よりも、迅速に補償し、抑制することができる。以上により、第２実施形態のカム位相コントローラ２００と比べて、カム位相制御の安定性および制御精度をさらに向上させることができる。
【０２１２】
これに加えて、バルブリフトコントローラ３１０および圧縮比コントローラ３２０でも、上記カム位相コントローラ３００と同様の作用効果を得ることができ、それにより、第２実施形態のバルブリフトコントローラ２１０および圧縮比コントローラ２２０と比べて、バルブリフト制御および圧縮比制御の安定性および制御精度をさらに向上させることができる。
【０２１３】
なお、本実施形態のカム位相コントローラ３００は、部分パラメータ同定器３０７により、モデルパラメータの一部（ｂ１，ｂ２）、外乱推定値ｃ１および外乱補償値ゲインｄ１を同定するように構成した例であるが、部分パラメータ同定器３０７に代えて、全てのモデルパラメータａ１，ａ２，ｂ１，ｂ２、外乱推定値ｃ１および外乱補償値ゲインｄ１を同定するパラメータ同定器を用いてもよく、また、部分パラメータ同定器に代えて、外乱補償値ゲインｄ１のみを同定する同定器を用いてもよい。
【０２１４】
さらに、部分パラメータ同定器３０７では、その同定アルゴリズムとして固定ゲイン法を用いたが、これに代えて他の同定アルゴリズムを用いてもよい。例えば、可変ゲイン法や、固定ゲイン法の改良アルゴリズムであるδ修正法またはσ修正法、モデルパラメータスケジューラとδ修正法を組み合わせた同定アルゴリズムを用いてもよい。これに加えて、コントローラ３１０，３２０においても、部分パラメータ同定器３１７，３２７を上記のように構成してもよいことは言うまでもない。  
【０２１５】
なお、以上の各実施形態は、本発明の制御装置を、制御対象として可変カム位相機構７０、可変バルブリフト機構５０および可変圧縮比機構８０を含む系の制御に適用した例であるが、本発明の制御装置はこれに限らず、周期的外乱が加えられる各種の産業機械の制御に適用可能であることは言うまでもない。また、以上の各実施形態は、可変カム位相機構を、吸気カムシャフトのクランクシャフトに対する位相を変更するものとして構成した例であるが、可変カム位相機構はこれに限らず、排気カムシャフトのクランクシャフトに対する位相を変更するものとして構成してもよく、さらに、吸気カムシャフトおよび排気カムシャフトの双方のクランクシャフトに対する位相を変更するものとして構成してもよい。
【符号の説明】
【０２１６】
１    制御装置
1A,1B     制御装置
２    ＥＣＵ（外乱補償値記憶手段、外乱補償値選択手段、制御入力算出手段、外乱          推定値算出手段、モデルパラメータ同定手段、振幅補正値算出手段、目標値設          定手段）
２ｃ  ＲＯＭ（外乱補償値記憶手段）
３    内燃機関
３ｄ  クランクシャフト
４    吸気弁
５    吸気カムシャフト
５０    可変バルブリフト機構
７０    可変カム位相機構
８０    可変圧縮比機構
１０１    目標カム位相算出部（目標値設定手段）
１０２    補償要素（外乱補償値記憶手段、外乱補償値選択手段）
１０３    ２自由度スライディングモードコントローラ（制御入力算出手段）
１０５    ＤＳＭコントローラ（制御入力算出手段）
１１１    目標バルブリフト算出部（目標値設定手段）
１１２    補償要素（外乱補償値記憶手段、外乱補償値選択手段）
１１３    ２自由度スライディングモードコントローラ（制御入力算出手段）
１１５    ＤＳＭコントローラ（制御入力算出手段）
１２１    目標圧縮比算出部（目標値設定手段）
１２２    補償要素（外乱補償値記憶手段、外乱補償値選択手段）
１２３    ２自由度スライディングモードコントローラ（制御入力算出手段）
１２５    ＤＳＭコントローラ（制御入力算出手段）
２０１    目標カム位相算出部（目標値設定手段）
２０２    補償要素（外乱補償値記憶手段、外乱補償値選択手段）
２０３    ２自由度スライディングモードコントローラ（制御入力算出手段）
２０５    ＤＳＭコントローラ（制御入力算出手段）
２０６    適応外乱オブザーバ（外乱推定値算出手段）
２１１    目標バルブリフト算出部（目標値設定手段）
２１２    補償要素（外乱補償値記憶手段、外乱補償値選択手段）
２１３    ２自由度スライディングモードコントローラ（制御入力算出手段）
２１５    ＤＳＭコントローラ（制御入力算出手段）
２１６    適応外乱オブザーバ（外乱推定値算出手段）
２２１    目標圧縮比算出部（目標値設定手段）
２２２    補償要素（外乱補償値記憶手段、外乱補償値選択手段）
２２３    ２自由度スライディングモードコントローラ（制御入力算出手段）
２２５    ＤＳＭコントローラ（制御入力算出手段）
２２６    適応外乱オブザーバ（外乱推定値算出手段）
３０１    目標カム位相算出部（目標値設定手段）
３０２    補償要素（外乱補償値記憶手段、外乱補償値選択手段）
３０３    ２自由度スライディングモードコントローラ（制御入力算出手段）
３０５    ＤＳＭコントローラ（制御入力算出手段）
３０７    部分パラメータ同定器（モデルパラメータ同定手段、振幅補正値算出手段）
３１１    目標バルブリフト算出部（目標値設定手段）
３１２    補償要素（外乱補償値記憶手段、外乱補償値選択手段）
３１３    ２自由度スライディングモードコントローラ（制御入力算出手段）
３１５    ＤＳＭコントローラ（制御入力算出手段）
３１７    部分パラメータ同定器（モデルパラメータ同定手段、振幅補正値算出手段）
３２１    目標圧縮比算出部（目標値設定手段）
３２２    補償要素（外乱補償値記憶手段、外乱補償値選択手段）
３２３    ２自由度スライディングモードコントローラ（制御入力算出手段）
３２５    ＤＳＭコントローラ（制御入力算出手段）
３２７    部分パラメータ同定器（モデルパラメータ同定手段、振幅補正値算出手段）
Cain  カム位相（制御対象の出力）
Cain_cmd  目標カム位相（目標値）
Ucain  位相制御入力（制御入力）
Rcyc_cin  カム位相制御用の外乱補償値
Liftin  バルブリフト（制御対象の出力）
Liftin_cmd  目標バルブリフト（目標値）
Uliftin  リフト制御入力（制御入力）
Rcyc_lin  バルブリフト制御用の外乱補償値
Cr  圧縮比（制御対象の出力）
Cr_cmd  目標圧縮比（目標値）
Ucr  圧縮比制御入力（制御入力）
Rcyc_cr  圧縮比制御用の外乱補償値
c1  外乱推定値
d1,d1',d1''  外乱補償値ゲイン（振幅補正値）
【図１】
2005273634.tif 000003
【図２】
2005273634.tif 000004
【図３】
2005273634.tif 000005
【図４】
2005273634.tif 000006
【図５】
2005273634.tif 000007
【図６】
2005273634.tif 000008
【図７】
2005273634.tif 000009
【図８】
2005273634.tif 000010
【図９】
2005273634.tif 000011
【図１０】
2005273634.tif 000012
【図１１】
2005273634.tif 000013
【図１２】
2005273634.tif 000014
【図１３】
2005273634.tif 000015
【図１４】
2005273634.tif 000016
【図１５】
2005273634.tif 000017
【図１６】
2005273634.tif 000018
【図１７】
2005273634.tif 000019
【図１８】
2005273634.tif 000020
【図１９】
2005273634.tif 000021
【図２０】
2005273634.tif 000022
【図２１】
2005273634.tif 000023
【図２２】
2005273634.tif 000024
【図２３】
2005273634.tif 000025
【図２４】
2005273634.tif 000026
【図２５】
2005273634.tif 000027
【図２６】
2005273634.tif 000028
【図２７】
2005273634.tif 000029
【図２８】
2005273634.tif 000030
【図２９】
2005273634.tif 000031
【図３０】
2005273634.tif 000032
【図３１】
2005273634.tif 000033
【図３２】
2005273634.tif 000034
【図３３】
2005273634.tif 000035
【図３４】
2005273634.tif 000036
【図３５】
2005273634.tif 000037
【図３６】
2005273634.tif 000038
【図３７】
2005273634.tif 000039
【図３８】
2005273634.tif 000040
【図３９】
2005273634.tif 000041
【図４０】
2005273634.tif 000042
【図４１】
2005273634.tif 000043
【図４２】
2005273634.tif 000044
【図４３】
2005273634.tif 000045
【図４４】
2005273634.tif 000046
【図４５】
2005273634.tif 000047
【図４６】
2005273634.tif 000048
【図４７】
2005273634.tif 000049
【図４８】
2005273634.tif 000050
【図４９】
2005273634.tif 000051