(57)【要約】【課題】空燃比制御システム等において、高応答かつ高精度のフィードフォワード制御（Ｆ／Ｆ制御）を実行する。【解決手段】空燃比制御システムにおいて、目標燃料過剰率（目標φ）と空燃比センサで検出された実燃料過剰率（実φ）との誤差ｅに目標燃料量差分値Δｙｍ（目標燃料量の微分値）を乗算した値ｚに基づいて適応的にゲインＫｈを決定し、このゲインＫｈに目標燃料量差分値Δｙｍを乗算した値をＦ／Ｆ補正値ｕｃｍｐとして求める。この際、制御対象が無駄時間ｄを持っていることを考慮して、目標φと実φとの誤差ｅを求める際に、無駄時間ｄ分だけ過去に溯った時点の目標φｄを用い、誤差ｅ＝目標φｄ−実φとする。【選択図】  図５
2004285915.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載された制御対象の制御量を目標値に追従させるようにフィードフォワード制御を行う車両用制御装置において、
目標値と実際の制御量との誤差に目標値の微分値を乗算して得られた値に基づいて適応的にゲインを決定するゲイン演算手段と、
目標値の微分値に前記ゲインを乗算した値をフィードフォワード補正値として求めるフィードフォワード補正値演算手段と
を備えていることを特徴とする車両用制御装置。
【請求項２】
前記ゲイン演算手段は、目標値と実際の制御量との誤差を求める際に、無駄時間分だけ過去に溯った時点の目標値を用いることを特徴とする請求項１に記載の車両用制御装置。
【請求項３】
前記制御対象は、空燃比制御システムであり、
前記ゲイン演算手段は、目標燃料過剰率と実燃料過剰率との誤差に目標燃料量の微分値を乗算した値に基づいて適応的にゲインを決定し、
前記フィードフォワード補正値演算手段は、目標燃料量の微分値に前記ゲインを乗算した値をフィードフォワード補正値として求めることを特徴とする請求項１又は２に記載の車両用制御装置。
【請求項４】
車両に搭載された制御対象の制御量を目標値に追従させるようにフィードフォワード制御を行う車両用制御装置において、
目標値と実際の制御量との誤差と該誤差の積分値との和に目標値の微分値を乗算して得られた値に基づいて適応的にゲインを決定するゲイン演算手段と、
目標値と目標値の一次遅れの値との差分値に前記ゲインを乗算した値をフィードフォワード補正値として求めるフィードフォワード補正値演算手段と
を備えていることを特徴とする車両用制御装置。
【請求項５】
前記フィードフォワード補正値演算手段は、目標値の一次遅れの値を演算する際に、その一次遅れ時定数を、目標値と実際の制御量との誤差と該誤差の積分値との和に目標値を乗算して得られた値に基づいて適応的に決定することを特徴とする請求項４に記載の車両用制御装置。
【請求項６】
前記ゲイン演算手段は、目標値と実際の制御量との誤差を求める際に、無駄時間分だけ過去に溯った時点の目標値を用いることを特徴とする請求項４又は５に記載の車両用制御装置。
【請求項７】
前記フィードフォワード補正値演算手段は、目標値と実際の制御量との定常偏差の影響を取り除く手段を有することを特徴とする請求項４乃至６のいずれかに記載の車両用制御装置。
【請求項８】
前記定常偏差の影響を取り除く手段は、前記一次遅れ時定数を演算する過程で、前回のフィードフォワード補正値を乗算することで定常偏差の影響を取り除くことを特徴とする請求項５乃至７のいずれかに記載の車両用制御装置。
【請求項９】
前記制御対象は、空燃比制御システムであり、
前記ゲイン演算手段は、目標燃料過剰率と実燃料過剰率との誤差との誤差と該誤差の積分値との和に目標燃料量の微分値を乗算して得られた値に基づいて適応的にゲインを決定し、
前記フィードフォワード補正値演算手段は、目標燃料量と目標燃料量の一次遅れの値との差分値に前記ゲインを乗算した値をフィードフォワード補正値として求めることを特徴とする請求項４乃至８のいずれかに記載の車両用制御装置。
【請求項１０】
車両に搭載された制御対象の制御量を目標値に追従させるようにフィードフォワード制御を行う車両用制御装置において、
目標値と実際の制御量との誤差に目標値の微分値を乗算して得られた値に基づいて適応的にゲインを決定するゲイン演算手段と、
目標値の一次遅れ時定数を、目標値と実際の制御量との誤差に前回のフィードフォワード補正値を乗算した値に基づいて適応的に決定する一次遅れ時定数演算手段と、
目標値と前記一次遅れ時定数を用いて演算した目標値の一次遅れの値との差分値に前記ゲインを乗算した値をフィードフォワード補正値として求めるフィードフォワード補正値演算手段と
を備えていることを特徴とする車両用制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、フィードフォワード制御の機能を備えた車両用制御装置に関するものである。
【０００２】
【従来の技術】
車両用制御装置に関しては、例えば、特許文献１（特許第３３１６９５５号公報）に示すように、制御対象をモデル化して、そのモデル定数をリアルタイムで算出すると共に、このモデル定数に基づいてフィードバックゲインを算出して、制御対象の制御量を目標値に追従させるようにフィードバック制御を行うようにしたものがある。
【０００３】
【特許文献１】
特許第３３１６９５５号公報（第１頁〜第３頁等）
【０００４】
【発明が解決しようとする課題】
しかしながら、フィードバック制御は、目標値と実際の制御量との誤差が発生してから、その誤差を小さくするように働くため、応答性が比較的遅いという欠点がある。
【０００５】
そこで、応答性の早いフィードフォワード制御をフィードバック制御と組み合わせて実行するようにした制御システムが開発されている。
しかし、従来のフィードフォワード制御は、予め決められたゲインを用いてフィードフォワード補正値を算出するようにしているため、制御対象の製造ばらつき、経時変化、環境条件・動作条件の変化等によって生じる制御対象の特性変動の影響がフィードフォワード補正値に反映されず、フィードフォワード制御の制御精度が制御対象の特性変動によって悪化するという欠点があった。
【０００６】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、制御対象の特性変動による影響を反映させたフィードフォワード制御を行うことができて、高応答かつ高精度のフィードフォワード制御を実行することができる車両用制御装置を提供することにある。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１の車両用制御装置は、車両に搭載された制御対象の制御量を目標値に追従させるようにフィードフォワード制御を行うものにおいて、ゲイン演算手段によって、目標値と実際の制御量との誤差に目標値の微分値を乗算して得られた値に基づいて適応的にゲインを決定すると共に、フィードフォワード補正値演算手段によって、目標値の微分値に前記ゲインを乗算した値をフィードフォワード補正値として求めるようにしたものである。このようにすれば、制御対象の特性変動に応じてゲインを自動調整することができて、制御対象の特性変動による影響を反映させたフィードフォワード制御を行うことができ、フィードフォワード制御の制御精度を向上させることができる。しかも、後述するように、目標値から制御対象の入力（操作量）を演算する制御式が制御対象の伝達関数の逆モデルとなるため、制御対象の出力（制御量）を目標値に一致させることができ、高応答のフィードフォワード制御を実現することができる。
【０００８】
この場合、請求項２のように、目標値と実際の制御量との誤差を求める際に、無駄時間分だけ過去に溯った時点の目標値を用いるようにすると良い。このようにすれば、制御対象が無駄時間を持つ場合でも、無駄時間の影響を排除したフィードフォワード制御を実行することができ、フィードフォワード制御の制御精度を良好に維持できる。
【０００９】
以上説明した請求項１，２に係る発明（以下「第１の発明」という）は、車両の様々な制御システムに適用可能であるが、空燃比制御システムに適用する場合は、目標値が目標燃料量で、制御対象の出力（制御量）が排気管に設置した空燃比センサ（又は酸素センサ）で検出した空燃比（Ａ／Ｆ、空気過剰率λ、燃料過剰率φ）になることを考慮して、請求項３のように、目標燃料過剰率と実燃料過剰率との誤差に目標燃料量の微分値を乗算した値に基づいて適応的にゲインを決定し、目標燃料量の微分値に前記ゲインを乗算した値をフィードフォワード補正値として求めるようにしても良い。このようにすれば、第１の発明を空燃比制御システムにも適用でき、燃料性状の変化等に応じてフィードフォワード補正値を自動調整することができる。しかも、目標値が目標燃料量で、制御対象の出力が空燃比であることを考慮して、空燃比の情報として、空気過剰率λでははなく、その逆数（１／λ）である燃料過剰率φを用いるようにしたので、目標値（目標燃料量、目標燃料過剰率）と制御対象の出力（実燃料過剰率）との増減方向が一致して、制御対象の挙動が分かりやすくなる利点がある。
【００１０】
上記第１の発明の他に、請求項４に係る発明（以下「第２の発明」という）のように、目標値と実際の制御量との誤差と該誤差の積分値との和に目標値の微分値を乗算して得られた値に基づいて適応的にゲインを決定すると共に、目標値と目標値の一次遅れの値との差分値に前記ゲインを乗算した値をフィードフォワード補正値として求めるようにしても良い。このようにすれば、上記請求項１に係る発明（第１の発明）よりも更に高精度なフィードフォワード制御を行うことができる。
【００１１】
この場合、請求項５のように、目標値の一次遅れの値を演算する際に、その一次遅れ時定数を、目標値と実際の制御量との誤差と該誤差の積分値との和に目標値を乗算して得られた値に基づいて適応的に決定するようにすると良い。このようにすれば、一次遅れ時定数を制御対象の特性変動に応じて精度良く変化させることができる。
【００１２】
以上説明した第２の発明においても、請求項６のように、目標値と実際の制御量との誤差を求める際に、無駄時間分だけ過去に溯った時点の目標値を用いるようにすると良い。このようにすれば、制御対象が無駄時間を持つ場合でも、無駄時間の影響を排除したフィードフォワード制御を実行することができ、フィードフォワード制御の制御精度を良好に維持できる。
【００１３】
ところで、前記第１の発明では、フィードフォワード補正値を演算する際に用いる目標値の微分値は、目標値が変化しない定常状態のときに０となるため、目標値の微分値を乗算することで、目標値と実際の制御量との定常偏差の影響を排除できるが、第２の発明では、フィードフォワード補正値を演算する際に、目標値の微分値を用いないため、定常偏差の影響を排除できない。従って、第２の発明では、請求項７のように、目標値と実際の制御量との定常偏差の影響を取り除く手段を設けることが好ましい。
【００１４】
この場合、定常偏差の影響を取り除く手段としては、例えば、制御対象の状態が定常状態であるか否かを目標値変化後の経過時間等によって判定して、制御対象の状態が定常状態と判定される期間中に定常偏差の影響を取り除くようにしても良いが、請求項８のように、前記一次遅れ時定数を演算する過程で、前回のフィードフォワード補正値を乗算することで定常偏差の影響を取り除くようにしても良い。制御対象の状態が定常状態のときには、フィードフォワード補正値がほぼ０となるため、前回のフィードフォワード補正値を乗算することで定常偏差の影響を自動的に取り除くことができる。
【００１５】
以上説明した第２の発明も、車両の様々な制御システムに適用可能であるが、空燃比制御システムに適用する場合は、請求項９のように、目標燃料過剰率と実燃料過剰率との誤差との誤差と該誤差の積分値との和に目標燃料量の微分値を乗算して得られた値に基づいて適応的にゲインを決定すると共に、目標燃料量と目標燃料量の一次遅れの値との差分値に前記ゲインを乗算した値をフィードフォワード補正値として求めるようにしても良い。このようにすれば、第２の発明を空燃比制御システムにも適用でき、燃料性状の変化等に応じてフィードフォワード補正値を自動調整することができる。
【００１６】
尚、請求項１０のように、目標値と実際の制御量との誤差に目標値の微分値を乗算して得られた値に基づいて適応的にゲインを決定するゲイン演算手段と、目標値の一次遅れ時定数を、目標値と実際の制御量との誤差に前回のフィードフォワード補正値を乗算した値に基づいて適応的に決定する一次遅れ時定数演算手段と、目標値と前記一次遅れ時定数を用いて演算した目標値の一次遅れの値との差分値に前記ゲインを乗算した値をフィードフォワード補正値として求めるフィードフォワード補正値演算手段とを備えた構成としても良い。
【００１７】
【発明の実施の形態】
《実施形態（１）》
以下、本発明を電子スロットルシステムに適用した実施形態（１）を図１乃至図４に基づいて説明する。
【００１８】
まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。内燃機関であるエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、ＤＣモータ等のモータ１７によって開度調節されるスロットルバルブ１５とスロットル開度を検出するスロットル開度センサ１６とが設けられている。
【００１９】
また、スロットルバルブ１５の下流側には、サージタンク１２ａが設けられ、このサージタンク１２ａに、吸気管圧力を検出する吸気管圧力センサ１８が設けられている。また、サージタンク１２ａには、エンジン１１の各気筒に空気を導入する吸気マニホールド１９が設けられ、各気筒の吸気マニホールド１９の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁２０が取り付けられている。また、エンジン１１のシリンダヘッドには、各気筒毎に点火プラグ２１が取り付けられ、各点火プラグ２１の火花放電によって筒内の混合気に着火される。
【００２０】
一方、エンジン１１の排気管２２には、排出ガス中のＣＯ，ＨＣ，ＮＯｘ等を浄化する三元触媒等の触媒２３が設けられ、この触媒２３の上流側に、排出ガスの空燃比を検出する空燃比センサ２４（又は酸素センサ）が設けられている。また、エンジン１１のシリンダブロックには、冷却水温を検出する水温センサ２５や、エンジン１１のクランク軸が一定クランク角（例えば３０℃Ａ）回転する毎にパルス信号を出力するクランク角センサ２６が取り付けられている。このクランク角センサ２６の出力信号に基づいてクランク角やエンジン回転速度が検出される。
【００２１】
前述した各種センサの出力は、エンジン制御回路（以下「ＥＣＵ」と表記する）２７に入力される。このＥＣＵ２７は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された各種のエンジン制御プログラムを実行することで、エンジン運転状態に応じて燃料噴射弁２０の燃料噴射量や点火プラグ２１の点火時期を制御する。
【００２２】
更に、ＥＣＵ２７は、電子スロットルシステムをフィードフォワード制御（以下「Ｆ／Ｆ制御」と表記する）及びフィードバック制御（以下「Ｆ／Ｂ制御」と表記する）して、スロットル開度をアクセルセンサ（図示せず）で検出したアクセル開度（アクセル操作量）等に応じて設定した目標スロットル開度に制御する。この際、ＥＣＵ２７は、後述する図３の電子スロットル制御プログラムを実行することで、Ｆ／Ｆ制御及びＦ／Ｂ制御で過不足する分を適応制御によって補正する。
【００２３】
以下、図３の電子スロットル制御プログラムで用いる制御式について説明する。本実施形態（１）では、図２に示すように、制御対象（電子スロットルシステム）を一次遅れ系で近似する。この場合、図２の点線内の制御（制御対象の伝達関数の逆モデル）が実現可能であれば、制御対象の出力ｙ（実スロットル開度）を目標値ｙｍ（目標スロットル開度）に一致させることができる。
【００２４】
しかし、制御対象の時定数Ｋが未知であったり、変動したりするため、図２の制御式のままでは実現できない。
そこで、本実施形態（１）では、制御対象の時定数Ｋを検出しつつ、制御する手法を採用する。
【００２５】
ここで、時定数Ｋの推定値をＫｈとすると、上記伝達関数の制御式は、次式で表される。
ｕ＝ｙｍ＋Ｋｈｓｙｍ
ｕ：制御対象の入力
ｓ：ラプラス演算子
【００２６】
これを制御対象の伝達関数に代入すると、次式のようになる。
ｙ＝（Ｋｈｓ＋１）／（Ｋｓ＋１）・ｙｍ
ここで、目標値ｙｍと実際の出力ｙの誤差ｅをｅ＝ｙｍ−ｙと定義して上式を代入すると、この誤差ｅは次のように表される。
【００２７】
2004285915.tif 000003
上式において、１／（Ｋｓ＋１）は、強正実（Ｋ＞０）であるので、適応制御理論により、次式が得られる。
【００２８】
ｄ（Ｋ−Ｋｈ）／ｄｔ＝−γ・ｄｙｍ／ｄｔ・ｅ    （γ＞０）
上式から次式が導き出される。
ｄＫｈ／ｄｔ＝γ・ｄｙｍ／ｄｔ・ｅ
上式を用いて、Ｋｈ（時定数Ｋの推定値）を調整すれば、Ｋｈ→Ｋが保証される。
【００２９】
従って、上式により演算したＫｈを用いて、次式により制御すれば、制御量ｙを目標値ｙｍに一致させることができる。
ｕ＝ｙｍ＋Ｋｈ・ｄｙｍ／ｄｔ
上式から、Ｆ／Ｆ補正値（フィードフォワード補正値）ｕｃｍｐは、次式で表される。
ｕｃｍｐ＝Ｋｈ・ｄｙｍ／ｄｔ
【００３０】
ＥＣＵ２７は、図３の電子スロットル制御プログラムを周期的に実行することで、特許請求の範囲でいうゲイン演算手段及びフィードフォワード補正値演算手段として機能し、目標スロットル開度ｙｍ（目標値）と実スロットル開度ｙ（実際の制御量）との誤差ｅに目標スロットル開度の微分値Δｙｍを乗算して得られた値ｚに基づいて適応的にゲインＫｈ（時定数Ｋの推定値）を決定し、このゲインＫｈに目標スロットル開度の微分値Δｙｍを乗算した値をＦ／Ｆ補正値ｕｃｍｐとして求める。
【００３１】
この場合、制御対象が無駄時間ｄを持っていることを考慮して、目標スロットル開度ｙｍと実スロットル開度ｙとの誤差ｅを求める際に、無駄時間ｄ分だけ過去に溯った時点の目標スロットル開度ｙｍｄを用い、誤差ｅ＝ｙｍｄ−ｙとする。以下、図３の電子スロットル制御プログラムの具体的処理内容を説明する。
【００３２】
本プログラムが起動されると、まずステップ１０１で、スロットル開度センサ１６により実スロットル開度ｙ（実際の制御量）を計測し、次のステップ１０２で、アクセル開度等に基づいて目標スロットル開度ｙｍ（ｉ）  を演算する。この後、ステップ１０３に進み、目標スロットル開度の今回値ｙｍ（ｉ）  と前回値ｙｍ（ｉ−１）  との差分値Δｙｍ（目標値の微分値）を演算する。
Δｙｍ＝ｙｍ（ｉ）  −ｙｍ（ｉ−１）
【００３３】
そして、次のステップ１０４で、無駄時間ｄ分だけ過去に溯った時点の目標スロットル開度ｙｍ（ｉ−ｄ）  を読み込んで、ｙｍｄ＝ｙｍ（ｉ−ｄ）  とする無駄時間処置を実施した後、ステップ１０５に進み、目標スロットル開度ｙｍｄと実スロットル開度ｙとの誤差ｅ（＝ｙｍｄ−ｙ）を算出する。
【００３４】
この後、ステップ１０６に進み、誤差ｅに目標スロットル開度差分値Δｙｍを乗算した値ｚ（＝ｅ×Δｙｍ）を算出した後、ステップ１０７に進み、次式によりゲインＫｈ（時定数Ｋの推定値）を算出する。
Ｋｈ＝Ｋｈ（ｉ−１）  ＋γｋ  ×Δｔ×ｚ
ここで、Ｋｈ（ｉ−１）  は前回のゲイン、γｋ  は定数（＞０）、Δｔは制御周期である。
【００３５】
そして、次のステップ１０８で、ゲインＫｈに目標スロットル開度差分値Δｙｍを乗算してＦ／Ｆ補正値ｕｃｍｐを求める。
ｕｃｍｐ＝Ｋｈ×Δｙｍ
【００３６】
この後、ステップ１０９に進み、Ｆ／Ｂ補正値等の他の補正値ｕｏｔｈｅｒを演算した後、ステップ１１０に進み、Ｆ／Ｆ補正値ｕｃｍｐに他の補正値ｕｏｔｈｅｒを足し合わせて操作量ｕを求める。
ｕ＝ｕｃｍｐ＋ｕｏｔｈｅｒ
【００３７】
尚、ｕｃｍｐやｕｏｔｈｅｒを補正率で求めて、ｕｃｍｐやｕｏｔｈｅｒをベース値に乗算して操作量ｕを求めるようにしても良い。
そして、次のステップ１１１で、上記操作量ｕでモータ１７を駆動することで実スロットル開度ｙを目標スロットル開度ｙｍに一致させるように制御する。
【００３８】
以上説明した本実施形態（１）では、電子スロットルシステムにおいて、Ｆ／Ｆ制御を適応制御によって補正するようにしたので、制御対象（電子スロットルシステム）の特性変動に応じてＦ／Ｆ制御のゲインＫｈを自動調整することができて、制御対象の特性変動による影響を反映させたＦ／Ｆ制御を行うことができ、Ｆ／Ｆ制御の制御精度を向上させることができる。しかも、目標スロットル開度ｙｍ（目標値）から制御対象の入力（操作量ｕ）を演算する制御式が制御対象の伝達関数の逆モデルとなるため、制御対象の出力（実スロットル開度ｙ）を目標値（目標スロットル開度ｙｍ）に一致させることができ、高応答のＦ／Ｆ制御を実現することができる。
【００３９】
更に、本実施形態（１）では、制御対象である電子スロットルシステムが無駄時間ｄを持っていることを考慮して、目標スロットル開度ｙｍ（目標値）と実スロットル開度ｙ（実際の制御量）との誤差ｅを求める際に、無駄時間ｄ分だけ過去に溯った時点の目標スロットル開度ｙｍｄを用い、誤差ｅ＝ｙｍｄ−ｙとするようにしたので、制御対象が無駄時間ｄを持つ場合でも、無駄時間ｄの影響を排除したＦ／Ｆ制御を実行することができ、Ｆ／Ｆ制御の制御精度を良好に維持できる。
【００４０】
これにより、図４に示すように、適応制御による補正が無い従来システムと比較して、本実施形態（１）では、適応制御による補正によって高応答かつ高精度の電子スロットル制御を実現することができる。
【００４１】
《実施形態（２）》
次に、本発明を空燃比制御システムに適用した実施形態（２）を図５及び図６に基づいて説明する。空燃比制御システムを制御対象とする場合は、目標値が目標燃料量で、制御対象の出力（制御量）が排気管２２に設置した空燃比センサ２４で検出した空燃比（Ａ／Ｆ、空気過剰率λ、燃料過剰率φ）となることを考慮して、目標燃料過剰率（以下「目標φ」と表記する）と空燃比センサ２４で検出された実燃料過剰率（以下「実φ」と表記する）との誤差ｅに目標燃料量差分値Δｙｍ（目標燃料量の微分値）を乗算した値ｚに基づいて適応的にゲインＫｈを決定し、このゲインＫｈに目標燃料量差分値Δｙｍを乗算した値をＦ／Ｆ補正値ｕｃｍｐとして求める。この場合、制御対象が無駄時間ｄを持っていることを考慮して、目標φと実φとの誤差ｅを求める際に、無駄時間ｄ分だけ過去に溯った時点の目標φ（＝φｄ＝φ（ｉ−ｄ）  ）を用い、誤差ｅ＝目標φｄ−実φとする。以下、図６の空燃比制御プログラムの具体的処理内容を説明する。
【００４２】
本プログラムが起動されると、まずステップ２０１で、吸入空気量及び空燃比を計測し、次のステップ２０２で、吸入空気量に基づいて目標燃料量ｙｍ（ｉ）  を演算する。この後、ステップ２０３に進み、目標燃料量の今回値ｙｍ（ｉ）  と前回値ｙｍ（ｉ−１）  との差分値Δｙｍ（目標値の微分値）を演算する。
Δｙｍ＝ｙｍ（ｉ）  −ｙｍ（ｉ−１）
【００４３】
そして、次のステップ２０４で、計測した空燃比から実φ（＝１／λ）を演算する。この後、ステップ２０５に進み、無駄時間ｄ分だけ過去に溯った時点の目標φ（ｉ−ｄ）  を読み込んで、φｄ＝φ（ｉ−ｄ）  とする無駄時間処置を実施した後、ステップ２０６に進み、無駄時間ｄ分だけ過去に溯った時点の目標φｄと実φとの誤差ｅ（＝目標φｄ−実φ）を算出する。
【００４４】
この後、ステップ２０７に進み、誤差ｅに目標燃料量差分値Δｙｍを乗算した値ｚ（＝ｅ×Δｙｍ）を算出した後、ステップ２０８に進み、次式によりゲインＫｈ（時定数Ｋの推定値）を算出する。
Ｋｈ＝Ｋｈ（ｉ−１）  ＋γｋ  ×Δｔ×ｚ
ここで、Ｋｈ（ｉ−１）  は前回のゲイン、γｋ  は定数（＞０）、Δｔは制御周期である。
【００４５】
そして、次のステップ２０９で、ゲインＫｈに目標燃料量差分値Δｙｍを乗算してＦ／Ｆ補正値ｕｃｍｐを求める。
ｕｃｍｐ＝Ｋｈ×Δｙｍ
【００４６】
この後、ステップ２１０に進み、基本噴射量、Ｆ／Ｂ補正値等の他の補正値ｕｏｔｈｅｒを演算した後、ステップ２１１に進み、Ｆ／Ｆ補正値ｕｃｍｐに他の補正値ｕｏｔｈｅｒを足し合わせて操作量ｕを求める。
ｕ＝ｕｃｍｐ＋ｕｏｔｈｅｒ
【００４７】
尚、ｕｃｍｐやｕｏｔｈｅｒを補正率で求めて、ｕｃｍｐやｕｏｔｈｅｒをベース値に乗算して操作量ｕを求めるようにしても良い。
そして、次のステップ２１２で、上記操作量ｕで燃料噴射弁２０を駆動することで、実φを目標φに一致させるように制御する。
【００４８】
以上説明した本実施形態（２）では、空燃比制御システムにおいて、Ｆ／Ｆ制御を適応制御によって補正するようにしたので、高応答かつ高精度の空燃比制御を実現することができる。
【００４９】
しかも、本実施形態（２）では、目標値が目標燃料量で、制御対象の出力が空燃比となることを考慮して、空燃比の情報として、空気過剰率λでははなく、その逆数（１／λ）である燃料過剰率φを用いるようにしたので、目標値（目標燃料量、目標φ）と制御対象の出力（実φ）との増減方向が一致して、制御対象の挙動が分かりやすくなる利点がある。
【００５０】
《実施形態（３）》
次に、本発明を電子スロットルシステムに適用した実施形態（３）を図７及び図８に基づいて説明する。
【００５１】
前記実施形態（１）、（２）では、制御対象を一次遅れ系で近似したが、本実施形態（３）では、制御対象をより正確にモデル化するために、図７に示すように近似している。この場合、図７の点線内の制御（制御対象の伝達関数の逆モデル）が実現可能であれば、制御対象の出力ｙ（実スロットル開度）を目標値ｙｍ（目標スロットル開度）に一致させることができる。
【００５２】
しかし、制御対象の定数Ｋ１  ，Ｋ２  が未知であったり、変動したりするため、図７の制御式のままでは実現できない。
そこで、本実施形態（３）では、制御対象の定数Ｋ１  ，Ｋ２  を検出しつつ、制御する手法を採用する。
【００５３】
まず、制御式の伝達関数Ｋ１  Ｋ２  ｓ／（Ｋ１  ｓ＋１）を展開しやすいように変形する。
2004285915.tif 000004
ここで、α＝１／Ｋ１  、β＝Ｋ２  である。
【００５４】
更に、制御対象の伝達関数（Ｋ１  ｓ＋１）／｛Ｋ１  （１＋Ｋ２  ）ｓ＋１｝も展開しやすいように変形する。
2004285915.tif 000005
【００５５】
従って、制御対象の入力ｕ（操作量）と出力ｙ（制御量）との関係は、次式で表される。
ｙ＝（ｓ＋α）／｛（１＋β）ｓ＋α｝・ｕ      ……［１］
【００５６】
また、目標値ｙｍと操作量ｕとの関係は、次式で表される。
ｕ＝｛１＋βｈ  ｓ／（ｓ＋αｈ  ）｝ｙｍ          ……［２］
ここで、αｈ  はαの推定値、βｈ  はβの推定値である。
【００５７】
上記［２］式を［１］式に代入して整理すると、次のようになる。
2004285915.tif 000006
ここで、目標値ｙｍと実際の出力ｙの誤差ｅをｅ＝ｙｍ−ｙと定義して上式を代入すると、この誤差ｅは次のように表される。
【００５８】
【数１】
2004285915.tif 000007
【００５９】
Ｆ／Ｆ補正値ｕｃｍｐを数式で表現すると、次のようになる。
2004285915.tif 000008
ここで、βｈ  、αｈ  は、前記［３］式、［４］式の関係から求められる。
【００６０】
この場合、誤差εが０でないと、［４］式のｄαｈ  ／ｄｔが０にならず、αｈ  が更新され続けるという問題が生じる。つまり、定常偏差を持つと、常にαｈ  が更新され続けるという問題が生じる。
【００６１】
そこで、本実施形態（３）では、Ｆ／Ｆ制御が働く場面のみにαｈ  を更新させるために、［４］式の右辺に前回のＦ／Ｆ補正値ｕｃｍｐを乗算した次式を用いてαｈ  を算出するようにしている。
2004285915.tif 000009
【００６２】
ＥＣＵ２７は、図８の電子スロットル制御プログラムを周期的に実行することで、特許請求の範囲でいうゲイン演算手段及びフィードフォワード補正値演算手段として機能し、目標スロットル開度ｙｍ（目標値）と実スロットル開度ｙ（実際の制御量）との誤差ｅと該誤差ｅの積分値との和（ｅ＋ｃ・∫ｅｄｔ）に目標スロットル開度の微分値Δｙｍを乗算して得られた値ｚ２  に基づいて適応的にゲインＫ２ｈを決定し、目標スロットル開度ｙｍと目標スロットル開度の一次遅れの値ｕ１  との差分値（ｙｍ−ｕ１  ）に前記ゲインＫ２ｈを乗算した値をＦ／Ｆ補正値ｕｃｍｐとして求める。
【００６３】
この場合、目標スロットル開度ｙｍの一次遅れの値ｕ１  を演算する際に、その一次遅れ時定数Ｋ１ｈ（Ｋ１  の推定値）を、目標スロットル開度ｙｍと実スロットル開度ｙとの誤差ｅと該誤差の積分値ｅｅとの和ε（＝ｅ＋ｅｅ）に目標スロットル開度ｙｍと前回Ｆ／Ｆ補正値ｕｃｍｐを乗算して得られた値ｚ１  に基づいて適応的に決定する。
【００６４】
更に、制御対象が無駄時間ｄを持っていることを考慮して、目標スロットル開度ｙｍと実スロットル開度ｙとの誤差ｅを求める際に、無駄時間ｄ分だけ過去に溯った時点の目標スロットル開度ｙｍｄを用い、誤差ｅ＝ｙｍｄ−ｙとする。以下、図８の電子スロットル制御プログラムの具体的処理内容を説明する。
【００６５】
本プログラムが起動されると、まずステップ３０１で、スロットル開度センサ１６により実スロットル開度ｙ（実際の制御量）を計測し、次のステップ３０２で、アクセル開度等に基づいて目標値である目標スロットル開度ｙｍ（ｉ）  を演算する。この後、ステップ３０３に進み、目標スロットル開度の今回値ｙｍ（ｉ）  と前回値ｙｍ（ｉ−１）  との差分値Δｙｍ（目標値の微分値）を演算する。
Δｙｍ＝ｙｍ（ｉ）  −ｙｍ（ｉ−１）
【００６６】
そして、次のステップ３０４で、無駄時間ｄ分だけ過去に溯った時点の目標スロットル開度ｙｍ（ｉ−ｄ）  を読み込んで、ｙｍｄ＝ｙｍ（ｉ−ｄ）  とする無駄時間処置を実施した後、ステップ３０５に進み、目標スロットル開度ｙｍｄと実スロットル開度ｙとの誤差ｅ（＝ｙｍｄ−ｙ）を算出する。
【００６７】
この後、ステップ３０６に進み、誤差ｅの積分値ｅｅを次式により演算する。
ｅｅ＝ｅｅ＋ｃ×Δｔ×ｅ
（ｃ：定数、Δｔ：制御周期）
【００６８】
そして、次のステップ３０７で、誤差ｅとその積分値ｅｅとの合計値ε（＝ｅ＋ｅｅ）を算出した後、ステップ３０８に進み、εに目標スロットル開度ｙｍと前回のＦ／Ｆ補正値ｕｃｍｐを乗算してｚ１  を求める。
ｚ１  ＝ε×ｙｍ×ｕｃｍｐ
【００６９】
この後、ステップ３０９に進み、αｈ  を次式により算出する。
αｈ  ＝αｈ  −γα ×Δｔ×ｚ１  
（γα ：定数）
【００７０】
この後、ステップ３１０に進み、目標スロットル開度ｙｍの一次遅れの値ｕ１  を演算する際に用いる一次遅れ時定数Ｋ１ｈをαｈ  を用いて次式により算出する。                Ｋ１ｈ＝１／αｈ
【００７１】
そして、次のステップ３１１で、εに目標スロットル開度差分値Δｙｍを乗算した値ｚ２  （＝ε×Δｙｍ）を算出した後、ステップ３１２に進み、次式によりゲインＫ２ｈ（定数Ｋ２  の推定値）を算出する。
Ｋ２ｈ＝Ｋ２ｈ（ｉ−１）  ＋γ２  ×ｚ２  
ここで、Ｋ２ｈ（ｉ−１）  は前回のゲイン、γ２  は定数（＞０）である。
【００７２】
この後、ステップ３１３に進み、一次遅れ時定数Ｋ１ｈを用いて、目標スロットル開度ｙｍの一次遅れの値ｕ１  を次式により算出する。
ｕ１  ＝Ｋ１ｈ／（Ｋ１ｈ＋Δｔ）・ｕ１  ＋Δｔ／（Ｋ１ｈ＋Δｔ）・ｙｍ
【００７３】
そして、次のステップ３１４で、目標スロットル開度ｙｍと目標スロットル開度の一次遅れの値ｕ１  との差分値（ｙｍ−ｕ１  ）に前記ゲインＫ２ｈを乗算した値をＦ／Ｆ補正値ｕｃｍｐとして求める。
ｕｃｍｐ＝（ｙｍ−ｕ１  ）×Ｋ２ｈ
【００７４】
この後、ステップ３１５に進み、Ｆ／Ｂ補正値等の他の補正値ｕｏｔｈｅｒを演算した後、ステップ３１６に進み、Ｆ／Ｆ補正値ｕｃｍｐに他の補正値ｕｏｔｈｅｒを足し合わせて操作量ｕを求める。
ｕ＝ｕｃｍｐ＋ｕｏｔｈｅｒ
【００７５】
尚、ｕｃｍｐやｕｏｔｈｅｒを補正率で求めて、ｕｃｍｐやｕｏｔｈｅｒをベース値に乗算して操作量ｕを求めるようにしても良い。
そして、次のステップ３１７で、上記操作量ｕでモータ１７を駆動することで実スロットル開度ｙを目標スロットル開度ｙｍに一致させるように制御する。
【００７６】
以上説明した本実施形態（３）の電子スロットル制御では、前記実施形態（１）よりも制御対象のモデルの精度を向上させているため、前記実施形態（１）よりも更に制御精度を向上させることができる。
【００７７】
《実施形態（４）》
次に、本発明を空燃比制御システムに適用した実施形態（４）を図９及び図１０に基づいて説明する。前記実施形態（２）と同様に、空燃比制御システムを制御対象とする場合は、制御対象の出力ｙ（空燃比）を排気管２２に設置した空燃比センサ２４で検出することを考慮して、目標φ（目標燃料過剰率）と空燃比センサ２４で検出された実φとの誤差ｅに該誤差ｅの積分値との和（ｅ＋ｃ・∫ｅｄｔ）に目標燃料量の微分値Δｙｍを乗算して得られた値ｚ２  に基づいて適応的にゲインＫ２ｈを決定し、目標燃料量ｙｍと目標燃料量の一次遅れの値ｕ１  との差分値（ｙｍ−ｕ１  ）に前記ゲインＫ２ｈを乗算した値をＦ／Ｆ補正値ｕｃｍｐとして求める。この場合、制御対象が無駄時間ｄを持っていることを考慮して、目標φと実φとの誤差ｅを求める際に、無駄時間ｄ分だけ過去に溯った時点の目標φ（＝φｄ＝φ（ｉ−ｄ）  ）を用い、誤差ｅ＝目標φｄ−実φとする。また、制御対象をより正確にモデル化するために、図７に示すように、制御対象を一般に知られている燃料挙動モデルで近似している。以下、図９の空燃比制御プログラムの具体的処理内容を説明する。
【００７８】
本プログラムが起動されると、まずステップ４０１で、吸入空気量及び空燃比を計測し、次のステップ４０２で、吸入空気量に基づいて目標燃料量ｙｍ（ｉ）  を演算する。この後、ステップ４０３に進み、目標燃料量の今回値ｙｍ（ｉ）  と前回値ｙｍ（ｉ−１）  との差分値Δｙｍ（目標値の微分値）を演算する。
Δｙｍ＝ｙｍ（ｉ）  −ｙｍ（ｉ−１）
【００７９】
そして、次のステップ４０４で、計測した空燃比から実φ（＝１／λ）を演算する。この後、ステップ４０５に進み、無駄時間ｄ分だけ過去に溯った時点の目標φ（ｉ−ｄ）  を読み込んで、φｄ＝φ（ｉ−ｄ）  とする無駄時間処置を実施した後、ステップ４０６に進み、無駄時間ｄ分だけ過去に溯った時点の目標φｄと実φとの誤差ｅ（＝目標φｄ−実φ）を算出する。
【００８０】
この後、ステップ４０７に進み、誤差ｅの積分値ｅｅを次式により演算する。
ｅｅ＝ｅｅ＋ｃ×Δｔ×ｅ
（ｃ：定数、Δｔ：制御周期）
【００８１】
そして、次のステップ４０８で、誤差ｅとその積分値ｅｅとの合計値ε（＝ｅ＋ｅｅ）を算出した後、ステップ４０９に進み、εに目標燃料量ｙｍと前回のＦ／Ｆ補正値ｕｃｍｐを乗算してｚ１  を求める。
ｚ１  ＝ε×ｙｍ×ｕｃｍｐ
【００８２】
この後、ステップ４１０に進み、αｈ  を次式により算出する。
αｈ  ＝αｈ  −γα ×Δｔ×ｚ１  
（γα ：定数）
【００８３】
この後、ステップ４１１に進み、目標燃料量ｙｍの一次遅れの値ｕ１  を演算する際に用いる一次遅れ時定数Ｋ１ｈをαｈ  を用いて次式により算出する。
Ｋ１ｈ＝１／αｈ
【００８４】
そして、次のステップ４１２で、εに目標燃料量差分値Δｙｍを乗算した値  ｚ２  （＝ε×Δｙｍ）を算出した後、ステップ４１３に進み、次式によりゲインＫ２ｈ（定数Ｋ２  の推定値）を算出する。
Ｋ２ｈ＝Ｋ２ｈ（ｉ−１）  ＋γ２  ×ｚ２  
ここで、Ｋ２ｈ（ｉ−１）  は前回のゲイン、γ２  は定数（＞０）である。
【００８５】
この後、ステップ４１４に進み、一次遅れ時定数Ｋ１ｈを用いて、目標燃料量ｙｍの一次遅れの値ｕ１  を次式により算出する。
ｕ１  ＝Ｋ１ｈ／（Ｋ１ｈ＋Δｔ）・ｕ１  ＋Δｔ／（Ｋ１ｈ＋Δｔ）・ｙｍ
【００８６】
そして、次のステップ４１５で、目標燃料量ｙｍと目標燃料量の一次遅れの値ｕ１  との差分値（ｙｍ−ｕ１  ）に前記ゲインＫ２ｈを乗算した値をＦ／Ｆ補正値ｕｃｍｐとして求める。
ｕｃｍｐ＝（ｙｍ−ｕ１  ）×Ｋ２ｈ
【００８７】
この後、ステップ４１６に進み、基本噴射量、Ｆ／Ｂ補正値等の他の補正値ｕｏｔｈｅｒを演算した後、ステップ４１７に進み、Ｆ／Ｆ補正値ｕｃｍｐに他の補正値ｕｏｔｈｅｒを足し合わせて操作量ｕを求める。
ｕ＝ｕｃｍｐ＋ｕｏｔｈｅｒ
【００８８】
尚、ｕｃｍｐやｕｏｔｈｅｒを補正率で求めて、ｕｃｍｐやｕｏｔｈｅｒをベース値に乗算して操作量ｕを求めるようにしても良い。
そして、次のステップ４１８で、上記操作量ｕで燃料噴射弁２０を駆動することで、実φを目標φに一致させるように制御する。
【００８９】
以上説明した本実施形態（４）の空燃比制御では、前記実施形態（２）よりも制御対象のモデルの精度を向上させているため、前記実施形態（２）よりも更に制御精度を向上させることができる。
【００９０】
図１０は、本実施形態（４）の空燃比制御の挙動を示している。本実施形態（４）では、Ｆ／Ｆ制御を適応制御によって補正するようにしているので、過渡運転時の実φの変動を適応制御によるＦ／Ｆ補正値ｕｃｍｐによって効果的に低減することができ、過渡運転時のドライバビリティや排気エミッションを向上させることができる。
【００９１】
《実施形態（５）》
前記実施形態（３）で説明した［数１］の［３］式と［４］式においては、ε（目標値と実際の制御量との誤差ｅと該誤差の積分値ｅｅとの和）を用いたが、本実施形態（５）では、εの代わりに、目標値と実際の制御量との誤差ｅを用いて、［数１］の［３］式と［４］式をそれぞれ下記の［３’］式と［４’］式に変更する。
ｄβｈ  ／ｄｔ＝−γβ ・ｄｙｍ／ｄｔ・ｅ      ……［３’］
ｄαｈ  ／ｄｔ＝−γα ・ｙｍ・ｅ              ……［４’］
【００９２】
本実施形態（５）においても、Ｆ／Ｆ制御が働く場面のみにαｈ  を更新させるために、上記［４’］式の右辺に前回のＦ／Ｆ補正値ｕｃｍｐを乗算した次式を用いてαｈ  を算出する。
2004285915.tif 000010
【００９３】
要するに、本実施形態（５）は、前記実施形態（３）において、「ε」の代わりに「誤差ｅ」を用いた実施形態である。
このようにしても、前記実施形態（３）と同様の効果を得ることができる。
【００９４】
尚、本発明の適用範囲は、電子スロットルシステムや空燃比制御システムに限定されず、例えば、アイドルスピード制御、可変バルブ制御、クルーズコントロール等、車両に搭載された種々の制御システムに本発明を適用して実施できる。
【図面の簡単な説明】
【図１】本発明の実施形態（１）におけるエンジン制御システム全体の概略構成図
【図２】実施形態（１）で使用する制御式の導出方法を説明するブロック図
【図３】実施形態（１）の電子スロットル制御プログラムの処理の流れを示すフローチャート
【図４】実施形態（１）の電子スロットル制御の一例を説明するタイムチャート
【図５】実施形態（２）の空燃比制御システムを説明するブロック図
【図６】実施形態（２）の空燃比制御プログラムの処理の流れを示すフローチャート
【図７】実施形態（３）で使用する制御式の導出方法を説明するブロック図
【図８】実施形態（３）の電子スロットル制御プログラムの処理の流れを示すフローチャート
【図９】実施形態（４）の空燃比制御プログラムの処理の流れを示すフローチャート
【図１０】実施形態（４）の空燃比制御の一例を説明するタイムチャート
【符号の説明】
１１…エンジン（内燃機関）、１２…吸気管、１４…エアフローメータ、１５…スロットルバルブ、２０…燃料噴射弁、２１…点火プラグ、２２…排気管、２４…空燃比センサ、２７…ＥＣＵ（ゲイン演算手段，フィードフォワード補正値演算手段）。
【図１】
2004285915.tif 000011
【図２】
2004285915.tif 000012
【図３】
2004285915.tif 000013
【図４】
2004285915.tif 000014
【図５】
2004285915.tif 000015
【図６】
2004285915.tif 000016
【図７】
2004285915.tif 000017
【図８】
2004285915.tif 000018
【図９】
2004285915.tif 000019
【図１０】
2004285915.tif 000020