(57)【特許請求の範囲】
【請求項１】
制御対象のモデルを用いた制御プログラムにより制御を行う制御方法において、
制御対象の伝達関数Ｆ（Ｓ）を順モデルとしたとき、その逆関数１／Ｆ（Ｓ）を逆モデルとして用いたモデルベース制御方法であって、
制御対象をモデル化して順モデルを作成し、この順モデルに、制御対象についての制御目標値を入力するとともに、制御予測値を算出するのに必要なデータを入力し、
順モデルはこの入力データに基づいて制御目標の予測値を算出し、
前記逆モデルは、前記順モデルで算出された制御目標の予測値を前記制御目標値に基づいてフィードバックし、
順モデルをフィードバックして作成した前記逆モデルの出力に基づいて実際の制御対象を駆動制御することを特徴とするモデルベース制御方法。
【請求項２】
請求項１の制御方法において、前記順モデルは、位相遅れが１８０度未満となる系＋無駄時間、でモデル化することを特徴とする請求項１に記載のモデルベース制御方法。
【請求項３】
請求項１の制御方法において、前記順モデルは、位相遅れが１８０度未満となる系＋無駄時間、でモデル化し、該モデルから無駄時間を取除いたものを新たに順モデルとして用い、無駄時間のない系に対しては、上記無駄時間のある系から取除かれた無駄時間分の位相を進めて無駄時間のある系との位相を合せることにより順モデルとして用いることを特徴とする請求項１に記載のモデルベース制御方法。
【請求項４】
請求項３の制御方法において、前記無駄時間に相当する位相を進める方法として、前記順モデルへの過去の入力データを最小２乗法またはニューラルネットワークを用いて演算処理し、最小２乗法においては過去のデータを関数化し、ニューラルネットワークにおいては過去のデータのネットワークを構築して、前記無駄時間分だけ位相を進ませた時点でのデータを予測することを特徴とする請求項３に記載のモデルベース制御方法。
【請求項５】
請求項１の制御方法において、前記逆モデルからの制御出力を、制御目標値と実際の検出データに基づくフィードバック制御で補正し、実際の制御対象を駆動制御することを特徴とする請求項１に記載のモデルベース制御方法。
【請求項６】
請求項２〜４のいずれかの制御方法において、前記逆モデルからの制御出力を、制御目標値と実際の検出データに基づくフィードバック制御で補正し、実際の制御対象を駆動制御することを特徴とする請求項２〜４のいずれかに記載のモデルベース制御方法。
【請求項７】
請求項５の制御方法において、ニューラルネットワークによる学習制御を併用し、この学習制御は、前記順モデルへの入力データをニューラルネットワークにも入力し、この入力データと、フィードバック補正後の出力データを学習データとしてニューラルネットワークに記憶させ、この学習データを蓄積してニューラルネットワークを構築することを特徴とする請求項５に記載のモデルベース制御方法。
【請求項８】
請求項６の制御方法において、ニューラルネットワークによる学習制御を併用し、この学習制御は、前記順モデルへの入力データをニューラルネットワークにも入力し、この入力データと、フィードバック補正後の出力データを学習データとしてニューラルネットワークに記憶させ、この学習データを蓄積してニューラルネットワークを構築することを特徴とする請求項６に記載のモデルベース制御方法。
【請求項９】
請求項６又は８の制御方法において、前記逆モデルからの制御出力を、制御目標値と実際の検出データに基づくフィードバック制御で補正し、実際の制御対象を駆動制御する場合に、前記制御目標値の変化時点とその目標値に対するフィードバック制御値の変化時点を一致させるため、前記フィードバック制御部に入力される前記制御目標値に、前記順モデルにおける無駄時間分の位相遅れを設けることを特徴とする請求項６又は８に記載のモデルベース制御方法。
【請求項１０】
請求項１〜９のいずれかの制御方法において、制御対象がエンジンであることを特徴とする請求項１〜９のいずれかに記載のモデルベース制御方法。
【請求項１１】
制御対象の運転状態を検出する運転状態検出手段と、この運転状態検出手段の検出結果に基づいて制御対象の状態を予測する状態予測手段と、予測した状態に対応して状態制御のための操作量を演算する操作量決定手段と、制御対象の状態を制御するための状態制御手段とを備えた制御装置において、
前記状態予測手段は、制御対象の伝達関数F（ｓ）を順モデルとしたとき、その逆関数１/F(s)を逆モデルとして用いた制御プログラムからなるモデルベース制御装置であって、
制御対象をモデル化して順モデルを作成し、この順モデルに、制御対象についての制御目標値を入力するとともに、制御予測値を算出するのに必要なデータを入力し、
順モデルはこの入力データに基づいて制御目標の予測値を算出し、
前記逆モデルは、前記順モデルで算出された制御目標の予測値を前記制御目標値に基づいてフィードバックし、
順モデルをフィードバックして作成した前記逆モデルの出力を操作量決定手段に入力し、
前記操作量決定手段は、前記状態予測手段からの入力に対応して状態制御のための操作量を演算し、
前記状態制御手段は、前記操作量決定手段が演算した操作量に基づいて実際の制御対象を駆動制御することを特徴とするモデルベース制御装置。
【請求項１２】
請求項１１のモデルベース制御装置において、前記状態予測手段における前記順モデルは、位相遅れが１８０度未満となる系＋無駄時間、でモデル化することを特徴とする請求項１１に記載のモデルベース制御装置。
【請求項１３】
請求項１１のモデルベース制御装置において、前記状態予測手段における前記順モデルは、位相遅れが１８０度未満となる系＋無駄時間、でモデル化し、該モデルから無駄時間を取除いたものを新たに順モデルとして用い、無駄時間のない系に対しては、上記無駄時間のある系から取除かれた無駄時間分の位相を進めて無駄時間のある系との位相を合せることにより順モデルとして用いることを特徴とする請求項１１に記載のモデルベース制御装置。
【請求項１４】
請求項１３の制御装置において、前記無駄時間に相当する位相を進める方法として、前記順モデルへの過去の入力データを最小２乗法またはニューラルネットワークを用いて演算処理し、最小２乗法においては過去のデータを関数化し、ニューラルネットワークにおいては過去のデータのネットワークを構築して、前記無駄時間分だけ位相を進ませた時点でのデータを予測することを特徴とする請求項１３に記載のモデルベース制御装置。
【請求項１５】
請求項１１の制御装置において、前記状態予測手段は、前記逆モデルからの制御出力を、制御目標値と実際の検出データに基づくフィードバック制御で補正し、該補正後のデータを操作量決定手段に出力し、操作量決定手段は、前記状態予測手段からの出力に対応して状態制御のための操作量を演算し、前記状態制御手段は、前記操作量決定手段が演算した操作量に基づいて実際の制御対象を駆動制御することを特徴とする請求項１１に記載のモデルベース制御装置。
【請求項１６】
請求項１２〜１４の制御装置において、前記状態予測手段は、前記逆モデルからの制御出力を、制御目標値と実際の検出データに基づくフィードバック制御で補正し、該補正後のデータを操作量決定手段に出力し、操作量決定手段は、前記状態予測手段からの出力に対応して状態制御のための操作量を演算し、前記状態制御手段は、前記操作量決定手段が演算した操作量に基づいて実際の制御対象を駆動制御することを特徴とする請求項１２〜１４のいずれかに記載のモデルベース制御装置。
【請求項１７】
請求項１５の制御装置において、前記状態予測手段は、ニューラルネットワークによる学習制御を併用し、この学習制御は、状態予測手段における前記順モデルへの入力データをニューラルネットワークにも入力し、この入力データと、制御目標値と実際の検出データに基づくフィードバック補正後の出力データを学習データとしてニューラルネットワークに記憶させ、この学習データを蓄積してニューラルネットワークを構築することを特徴とする請求項１５に記載のモデルベース制御装置。
【請求項１８】
請求項１６の制御装置において、前記状態予測手段は、ニューラルネットワークによる学習制御を併用し、この学習制御は、状態予測手段における前記順モデルへの入力データをニューラルネットワークにも入力し、この入力データと、制御目標値と実際の検出データに基づくフィードバック補正後の出力データを学習データとしてニューラルネットワークに記憶させ、この学習データを蓄積してニューラルネットワークを構築することを特徴とする請求項１６に記載のモデルベース制御装置。
【請求項１９】
請求項１６又は１８の制御装置において、前記状態予測手段は、前記逆モデルからの制御出力を、制御目標値と実際の検出データに基づくフィードバック制御で補正し、実際の制御対象を駆動制御する場合に、前記制御目標値の変化時点とその目標値に対するフィードバック制御値の変化時点を一致させるため、前記フィードバック制御部に入力される前記制御目標値に、前記順モデルにおける無駄時間分の位相遅れを設けることを特徴とする請求項１６又は１８に記載のモデルベース制御装置。
【請求項２０】
前記制御対象はエンジンであり、前記運転状態検出手段は、エンジン回転数および／または吸気スロットル開度の検出手段を含み、前記制御目標値がエンジンの空燃比であって、エンジンの空燃比を制御するように構成したことを特徴とする請求項１１〜１９のいずれかに記載のモデルベース制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は制御対象のモデルをベースとした制御に関し、特にエンジンの空燃比制御に適用するのに適したモデルベース制御方法および装置に関するものである。
【０００２】
【従来の技術】
例えば電子制御式エンジンの空燃比を制御する場合、従来はマップを用いた制御が行われていた。このマップは、予め実験等により、あるエンジン回転数およびスロットル開度のときの燃料噴射量データを求め、これをメモリに格納して作成するものである。実際の使用時には、エンジン回転数およびスロットル開度を検出し、この検出結果をマップに当てはめてそのときの噴射量を求め、さらにその運転状態において最適な補正量を算出し或いは別のマップより求め、この値を操作量として駆動装置側に入力して所望の空燃比を得るものである。
【０００３】
【発明が解決しようとする課題】
しかしながら、前記マップによる制御は、定常状態の運転状態であれば適正な空燃比を得ることができるが、例えば加速時や減速時等のスロットル開度が変化する過渡状態の場合には、スロットル開度変化が起きてからこれを検出して空燃比を制御するため、過渡時の空気又は燃料流量に対応した制御量を算出できず、適正な空燃比制御ができなかった。
【０００４】
このような過渡時のマップ制御を補正するため、フィードバック制御を併用する場合もあるが、ゲインをあまり大きくできないため過渡状態には対応しきれず、補正には限界があり、充分適正な空燃比制御はできない。
【０００５】
一方、制御対象をモデル化してモデルの出力と制御対象の出力とが一致するようにコントローラで制御して制御性を向上させたモデル制御方法が開発されている。このモデル制御の一形態として、モデルによるフィードフォワード制御により過渡時の制御性を向上させ、合わせてフィードバック制御を行って定常時の制御性の向上を図ったモデル制御が考えられている。ここで、制御対象の伝達関数をＦ（ｓ）としたとき、モデルとしてその逆関数１／Ｆ（ｓ）を用いれば、フィードバック制御系を除いた系全体の伝達関数は、
（１／Ｆ（ｓ））×Ｆ（ｓ）＝１
となり、制御量を常に目標値に等しくすることができる。しかしながら、実際には完全な逆モデルを実現することは無理であり、特にモデルが非線形の場合、直接逆モデルを求めることはほとんど不可能である。
【０００６】
また、例えばエンジン等の無駄時間や高次の遅れ要素がある制御対象にフィードバック制御を行った場合、フィードバック要素のゲインを大きくしてこれを制御対象の完全な逆関数とすれば、常に制御量と目標値が一致して、フィードバック要素は、制御対象の目標値を入力することによりそれに必要な操作量を出力する逆関数が実現できる。しかしながら、実際には、無駄時間や高次の遅れ要素の影響でフィードバック要素のゲインを大きくできず、したがって、フィードバック要素が完全な逆関数にならず過渡特性を向上させることができない。もしこのような系に対しフィードバックのゲインを大きくすれば、出力が振動的となって不安定系となり、適正な制御ができなくなる。
【０００７】
本発明は上記の点に鑑みなされたものであって、制御対象をモデル化し、これを順モデルとして、無駄時間や高次の遅れ要素がある制御対象であっても、その逆モデルを容易に実現し、過渡特性に優れたモデル制御方法および装置の提供を目的とする。
【０００８】
【課題を解決するための手段】
前記目的を達成するため、本発明では、制御対象のモデルを用いた制御プログラムにより制御を行うモデルベース制御方法において、制御対象の伝達関数Ｆ（Ｓ）を順モデルとしたとき、その逆関数１／Ｆ（Ｓ）を逆モデルとして用いたモデルベース制御方法であって、制御対象をモデル化して順モデルを作成し、この順モデルに、制御対象についての制御目標値を入力するとともに、制御予測値を算出するのに必要なデータを入力し、順モデルはこの入力データに基づいて制御目標の予測値を算出し、前記逆モデルは、前記順モデルで算出された制御目標の予測値を前記制御目標値に基づいてフィードバックし、順モデルをフィードバックして作成した前記逆モデルの出力に基づいて実際の制御対象を駆動制御することを特徴とするモデルベース制御方法を提供する。
【０００９】
さらに本発明では、制御対象の運転状態を検出する運転状態検出手段と、この運転状態検出手段の検出結果に基づいて制御対象の状態を予測する状態予測手段と、予測した状態に対応して状態制御のための操作量を演算する操作量決定手段と、制御対象の状態を制御するための状態制御駆動手段とを備え、
前記状態予測手段は、制御対象の伝達関数Ｆ（ｓ）を順モデルとしたとき、その逆関数１／Ｆ（ｓ）を逆モデルとして用いた制御プログラムからなるモデルベース制御装置において、前記順モデルとそのフィードバックとにより逆モデルを構成したことを特徴とするモデルベース制御装置を提供する。
【００１０】
即ち、本発明では、実際の制御対象をモデル化し、実際の系ではなく、モデルを用いてフィードバック系を構成することにより、逆関数（逆モデル）の実現を図るものである。前述のように、フィードバック系で逆関数が実現できない理由は、制御対象の無駄時間や高次遅れのためであり、モデル化においては、これらを取除いて逆関数を実現できるようにする。具体的には、後述のように、一次遅れ＋無駄時間により制御対象をモデル化し、その後、そのモデルから無駄時間を取除きその系の位相を進める。このとき、無駄時間のない要素については、後述のように、最小二乗法やニューラルネットワークにより位相を進める。
【００１１】
このようなモデル化を行うことにより、安定なフィードバック系が構成できるため、フィードバック系のゲインを大きくすることができ、逆関数（逆モデル）が容易に実現でき、過渡特性に優れた制御を行うことができる。
【００１２】
図１は、このような本発明の原理説明図である。１はフィードバックを表わす関数Ｇ（ｓ）であり、２は制御対象の順モデルを表わす伝達関数Ｆ（ｓ）である。本発明では、制御対象をモデル化してその順モデルの伝達関数をＦ（ｓ）とし、これをフィードバックしてフィードバックの関数Ｇ（ｓ）と組合せて、逆モデルを構成する。
【００１３】
図１において、Ｇ（ｓ）・Ｆ（ｓ）＞＞１であれば、伝達関数は、
0003703117.tif 000002
となり逆モデルが得られる。
【００１４】
【発明の実施の形態】
好ましい実施の形態においては、制御対象内のフィードバックを構成する系を、位相遅れが１８０度未満となる系＋無駄時間、でモデル化することを特徴としている。
【００１５】
この場合、「位相遅れが１８０度未満となる系」とは、１次遅れ或いは１次遅れの組合せ等から構成される系である。また、無駄時間は値が「０」の場合を含むものである。具体的には、無駄時間の値が０のものとしては、後述の第１実施例であるＥＦＩの場合がある。また、無駄時間が所定の値をとるものとしては、後述の第２実施例であるキャブレタの場合がある。
【００１６】
さらに好ましい実施の形態においては、制御対象内のフィードバックを構成する系を位相遅れが１８０度未満となる系＋無駄時間でモデル化し、そこから無駄時間を取除いてフィードバック系の順モデルとして用い、それ以外の系に対しては、上記無駄時間分の位相を進めて順モデルとして用いることを特徴としている。なお、この場合、無駄時間を取除くのは、フィードバックのゲインを大きくして逆モデルを作成するためであり、フィードバックを構成する系以外の系については、無駄時間を取除く必要はない。
【００１７】
さらに好ましい実施の形態においては、前記位相を進める方法として、制御対象への入力情報を最小２乗法またはニューラルネットワークを用いて位相を進めることを特徴としている。
【００１８】
さらに別の好ましい実施の形態においては、前記逆モデルを用いた制御とこれを補正するためのフィードバック制御とを併用することを特徴としている。
【００１９】
さらに別の好ましい実施の形態においては、前記モデル制御を補正するためのフィードバック制御に加えてニューラルネットワークによる学習制御を併用することを特徴としている。
【００２０】
さらに別の好ましい実施の形態においては、前記補正用フィードバック制御の目標値に前記無駄時間分の位相遅れを設けることを特徴としている。
【００２１】
さらに別の好ましい実施の形態においては、制御対象がエンジンであることを特徴としている。
【００２２】
本発明のモデルベース制御装置の好ましい実施の形態においては、前記制御対象はエンジンであり、前記運転状態検出手段は、エンジン回転数および／または吸気スロットル開度の検出手段を含み、エンジンの空燃比を制御するように構成したことを特徴としている。
【００２３】
【実施例】
以下、制御対象をエンジンとした実施例について図面に基づいて説明する。  図２は、一次遅れと無駄時間を有するエンジンをモデル化した例を示す。このエンジンの順モデル２は、無駄時間５と一次遅れ６とを有する燃料系３と、一次遅れのみを有する空気系４とで構成される。
【００２４】
図３は、図２の順モデルを用いて構成した逆モデルを示す。順モデル２の燃料系３から無駄時間５を除去し一次遅れ６のみとする。この除去した無駄時間に対応して空気系４に位相進み部９を付加して燃料系３との位相を合せる。このように順モデル２から無駄時間を省くことにより、フィードバックのゲインを大きくすることができる。この順モデル２をフィードバックしてフィードバック演算部８に入力させて組合せることにより逆モデル３０を構成する。この逆モデル３０の伝達関数は、順モデル２の伝達関数をＦ（ｓ）とすれば、前述のように、１／Ｆ（ｓ）となる。したがって、この逆モデル３０に目標値を入力して得た出力（操作量）を制御対象（順モデル）に入力すれば、全体の伝達関数が１であるため、制御対象からは目標値と同じ出力（制御量）が得られる。
【００２５】
図４は、このような逆モデルを用いたモデルベース制御による空燃比制御システムのブロック図である。運転状態検出手段１０は、スロットル開度およびエンジン回転数、さらに吸気温度、エンジン温度、その他空燃比およびその変化を算出するのに必要な各種ファクターを検出するためのセンサーからなる。この運転状態検出手段１０からの検出出力がエンジン状態予測手段１１に入力される。
【００２６】
エンジン状態予測手段１１は、運転状態のデータに基づいて、上記逆モデルを用いて、運転状態に対応して必要なエンジンの操作量を予測する。例えば、目標値が与えられた場合には、スロットル開度等のデータに基づいて、エンジン（順モデル）の目標値に対する変化が演算され、これに対応してエンジンを目標値に戻すために必要な操作すべき量が演算される。したがって、制御対象であるエンジンが完全に順モデルと同じ関数であれば、この逆モデルを用いた演算結果によりエンジンは目標値に維持される。
【００２７】
しかしながら、実際にはエンジンの高次遅れや使用期間や環境に応じた特性の経時変化等により目標値とのずれが生じる。このずれを補正するために、操作量決定手段１２において、フィードバック制御等を用いて実際のエンジンに合わせて目標値の維持に必要な操作量が演算される。この操作量に基づいて、エンジン制御手段（この例ではＡ／Ｆ（空燃比）制御手段）１３によりインジェクタ等の空燃比制御に必要な実際の装置の駆動手段が駆動制御される。
【００２８】
以下本発明のさらに具体的な実施例について、図面に基づいて説明する。
図５は、本発明を電子制御燃料噴射（ＥＦＩ）方式のエンジンにおける空燃比制御のために適用した例を示す。エンジン１４に、エアクリーナ１５を通して吸気管１６が接続される。吸気管１６には、電子制御式のインジェクタ１７がスロットルバルブ１８の上流側に設けられる。エンジン１４にはさらに排気管１９が接続され、この排気管１９上に酸素濃度センサー２０が装着される。エンジン１４のクランク軸およびスロットルバルブ１８には、それぞれエンジン回転数センサー（図示しない）およびスロットル開度センサー（図示しない）が設けられ、各センサーは酸素濃度センサー２０とともにコントローラ２１に接続される。コントローラ２１は、各センサーからの入力データに基づいて、空燃比制御に必要な演算を行い、インジェクタ１７の駆動時間を制御する。
【００２９】
図６は、コントローラ２１内の演算処理回路におけるエンジンの順モデルを示す。空気系３においては、スロットル開度とエンジン回転数のデータから吸気管内の空気の流れ状態が解析され、シリンダに入る推定空気量が演算される。一方、燃料系４においては、その時点でのインジェクタ駆動量から噴射燃料の量が分かり、その状態における燃料の蒸発量や吸気管壁への付着量が算出でき、これに基づいて、シリンダに入る推定燃料量が演算される。これらの空気系３および燃料系４のモデル演算において推定したシリンダに入る空気量および燃料量から推定空燃比が算出される。
【００３０】
図７は、図６の順モデル２を用いて構成した逆モデル３０を示す。この逆モデル３０は、順モデル２をフィードバックして作成したものであり、８は比例と積分のフィードバック演算部を表わす。この逆モデル３０により、目標空燃比が与えられたときの、モデルによる燃料噴射量が演算され、モデルベースの操作量出力５が得られる。なお、前述のように、順モデル２による推定演算は、無駄時間を省き一次遅れのみとして、空気系３と燃料系４の位相を合わせて演算される。また、フィードバック演算部８においては、遅れの原因となる積分成分は小さくしてゲインを大きくするために比例演算中心の制御が行われる。
【００３１】
図８は、逆モデル３０を用いたモデルベースの操作量出力５によりエンジンを駆動した結果の空燃比を酸素濃度センサーで検出しこれをフィードバックして、実際のエンジンの高次遅れ等に基づくモデルとのずれを補正するためのフィードバック制御部２２を備えたコントローラ２１の構成を示す。このフィードバック制御部２２は、前述の逆モデル作成のためのフィードバック演算部８と異なり、実際のエンジンの定常偏差を補正する制御であるため、ゲインを小さくして積分動作中心の演算を行う。このようにして、逆モデルを用いたモデルベース制御により過渡時の制御性を向上させ、さらにこれをフィードバック制御により補正して定常時の制御性を向上させることができる。
【００３２】
図９は、本発明のモデルベース制御を適用してエンジンの空燃比を制御する場合の制御ブロック図である。モデルベース制御部は、前述の逆モデル３０を用いた演算処理部であり、目標空燃比とエンジン回転数およびスロットル開度の検出データを入力することにより、エンジンモデルの空燃比を演算推定する。この推定演算結果が実際のエンジン１４に入力されフィードバック制御部２２でフィードバック制御され、前述のように、モデルの制御量と実際のエンジンの制御量とのずれを補正する。
【００３３】
この実施例においては、フィードバック制御部２２に対し、位相遅れ部３１を介して目標空燃比が入力される。これについて以下に説明する。
空燃比をフィードバック制御する場合、目標値に対応して演算されたインジェクタ駆動時間の制御信号を入力した後、実際にインジェクタが駆動され、燃料が燃焼室で燃焼するまでには、インジェクタのソレノイドバルブの動作時間やインジェクタからの燃料が実際に燃焼室で燃焼するまでの時間等の無駄時間が発生する。すなわち、目標値に対応して制御すべき量を出力しても、無駄時間の間は結果に反映されないので、実際に結果に反映されるのは、この無駄時間の経過後である。したがって、目標値に対する制御演算量を出力した時点において、フィードバックされた検出データは、この無駄時間分だけ前の時点で出力された制御演算量に対応するデータである。すなわち、ある時点での目標値に対するフィードバック制御は、それより無駄時間分だけ前の時点の目標値に対する検出データに基づいて行われることになる。これは、目標値が一定に継続している間は問題ないが、目標値が変化した場合に問題となる。すなわち、目標値が変った後、無駄時間の間は、変化前の制御量に基づいて補正を行うため、補正量の積分誤差が累積し、無駄時間経過後に極端に大きな操作量となって、空燃比が大きく変動する。このような不具合を防止するため、フィードバック制御の目標値に無駄時間に相当する位相遅れを設け、フィードバック制御は常に無駄時間分だけ遅れて行われるように構成する。これにより、目標値の変化時点とその目標値に対するフィードバック制御データの変化時点が一致するため、常に適正なフィードバック制御により目標値に対する補正が行われる。
【００３４】
本実施例では、このような位相遅れ部３１を介したフィードバック制御により、モデルベース制御を実際のエンジンに合わせて適正に補正するとともに、さらに後述のように、ニューラルネットワーク２５による学習制御を併用し、目標値に対するずれ補正の応答性の向上を図っている。
【００３５】
図１０は、図９のモデルベース制御部（逆モデル３０）の構成を示すブロック図である。前述のように、エンジンは、空気系と燃料系を有し、空気系の順モデルは流体力学に基づいた式で表わされ、燃料系の順モデルは一次遅れの組合せで表わされる。このような空気系および燃料系の順モデルによりシリンダに入る空気量および燃料量の推定値が演算され、これらの推定空気量および推定燃料量に基づいて、モデルにおける推定空燃比が算出される。この順モデルの空燃比演算部とこのモデルデータをフィードバック制御するフィードバック演算部８とで逆モデル３０を構成し、モデルにおける目標空燃比とするための噴射量を演算して出力する。この逆モデルを作成するためのフィードバック演算部８においては、ゲインを大きくするため、遅れの原因となる積分成分は小さくして、比例成分中心の演算が行われる。
【００３６】
図１１は、図１０の空気系順モデルの構成を示すブロック図である。前述のように、空気系順モデルは、燃料系の無駄時間分の位相を進ませて燃料系との位相を合わせている。したがって、スロットル開度信号αおよびエンジン回転数信号ｎともにそれぞれ位相進み部３２を介してモデル内の演算回路に入力される。入力されたスロットル開度αに基づいて、空気量演算部３３において、そのときの吸気管内の負圧Ｐｍａｎのデータに基づいて、シリンダに入る吸入空気量が演算される。ここで演算された空気量に基づいて、圧力変換部３４および吸気負圧演算部３５において、吸気管内の容積Ｖや時定数τおよび体積効率η等に基づいて、吸気負圧Ｐｍａｎが算出される。体積効率ηは、体積効率演算部３６において、位相進み部３２を介して入力されたエンジン回転数データｎと吸気負圧演算部３５で演算した吸気負圧Ｐｍａｎとに基づいて演算され、吸気負圧演算部３５に送られる。このような回路構成により、空気系順モデルにおいて、シリンダに入る空気量が演算される。
【００３７】
なお、ＥＦＩの実施例における燃料系は、無駄時間を無視して０としてモデルを作成することができる。この場合には、空気系において、位相進み部３２を設ける必要はなく、スロットル開度データおよびエンジン回転数データを、それぞれ直接空気量演算部３３および体積効率演算部３６に入力させる。図１１の位相進み部３２は、燃料系のモデルに無駄時間を設けた場合に必要になる演算部である。
【００３８】
次に、図１２を参照して、このような空気系における吸気管内の空気量および圧力について説明する。図１２は、吸気管１６における空気の流れを示し、１８はスロットルバルブ、３７は吸気バルブを表わしている。吸気管１６内の圧力は、以下の（数１）の式（１）に示すように、スロットルバルブ１８から吸気バルブ３７の間の質量保存を考慮することにより導かれる。
【００３９】
【数１】
0003703117.tif 000003
【００４０】
上記数式において、吸気バルブから出て行く空気ｍap’は以下の（数２）の式（２）で表わされる。
【００４１】
【数２】
0003703117.tif 000004
【００４２】
また、吸気管内の空気ｍa’は以下の（数３）の式（３）で表わされる。
【００４３】
【数３】
0003703117.tif 000005
【００４４】
上記式（２）と式（３）を式（１）に代入すると、以下の（数４）の式（４）または式（５）に示すように、吸気管負圧Ｐman’が得られる。
【００４５】
【数４】
0003703117.tif 000006
【００４６】
また、体積効率ηvol は以下の（数５）の式（７）で表わされる。
【００４７】
【数５】
0003703117.tif 000007
【００４８】
スロットルバルブを通過する空気量は、圧縮流体が断面積Ａt＝（π／４）Ｄ2のノズルを通過する際の流れと近似できる。したがって、吸入空気量ｍat’は以下の（数６）の式（８）で表わされる。
【００４９】
【数６】
0003703117.tif 000008
【００５０】
図１３は、図１０の燃料系順モデルの例を示すブロック図である。この例は、インジェクタから噴射される燃料噴射量Ｍｆｉからシリンダに入る燃料量Ｍｆを算出するためのブロック図であり、無駄時間を除き一次遅れのみを付加した状態を示す。スロットル開度αに応じて燃料の吸気管への付着率Ｘが定まる。したがって、吸気管を通過する燃料（１−Ｘ）が分かり、これに一次遅れを付加し、さらに所定の時間遅れで吸気管壁から分離して流入する燃料量を付加してシリンダに入る燃料量Ｍｆが求まる。なお、この場合、吸気管を通過する燃料率（１−Ｘ）に対しては、通常は一次遅れをゼロにするが、本実施例の場合、ゼロにするとモデル内の演算周期が無駄時間になってしまうためゲインが上げられなくなる。そこでゼロにせず所定の一次遅れをもたせている。
【００５１】
図１４は、図１１のスロットル開度信号に対する位相進み部３２の例を示す。
この例はニューラルネットワークにより位相を進ませるものである。図示したように、多数の過去のデータ、すなわち、この例では、時刻ｔ，ｔ−１，ｔ−２，．．．ｔ−ｎにおけるスロットル開度のデータに基づき、これから先の状態である時刻ｔ＋ｍでのスロットル開度を予測するようにネットワークが構築される。
このようなニューラルネットワーク技術を用いることにより、前述の燃料系モデルの無駄時間に相当する時間ｍだけ位相を進ませたときのスロットル開度が算出される。これによって、前述のように、フィードバックのゲインを大きくして逆モデルを作成するために、燃料系から無駄時間を省き、その分空気系の位相を進ませて、燃料系と空気系との位相を合せることができる。
【００５２】
なお、このようなニューラルネットワークを用いて位相を進ませる構成に代えて、最小二乗法を用いて、過去のスロットル開度データを関数化し、時間ｍだけ先の時点での関数値により位相が進んだ時点でのスロットル開度を予測するように構成してもよい。
【００５３】
図１５は、図９に示したニューラルネットワーク２５の具体例を示す。前述のように、モデルベース制御における高次遅れや経時変化によるモデルと実際のエンジンとのずれを補正するために、フィードバック制御部２２（図９）において空燃比のフィードバックを行っている。しかしながら、このフィードバック制御は、実際の排気ガス中の酸素濃度を検出して空燃比を算出しこれを演算処理するものであって、ゲインを小さくして定常状態での偏差を効果的に補正するものであり、応答性が悪いため過渡時の補正は困難である。そこで、このようなフィードバック制御の応答性の点を補償するために、ニューラルネットワーク２５による学習制御を併用する。
【００５４】
この学習制御は、逆モデル３０による操作量演算の際にモデルベース制御部（図９）に入力されるエンジン回転数データおよびスロットル開度データをニューラルネットワーク２５にも入力し、そのデータについてのフィードバック制御による補正後の制御量データ（噴射量のデータ）を学習データとして記憶させ、このようなデータ群を累積させ蓄積してニューロ形式のネットワークを構築するものである。このようなニューラルネットワークを用いれば、エンジン回転数とスロットル開度の値を入力するだけで、過去の学習データから、そのときの目標値に応じて、モデルと実際のエンジンとの空燃比のずれを補正した燃料噴射量がほぼリアルタイムで得られる。
【００５５】
このようなニューラルネットワークによる学習制御をフィードバック制御と併用することにより、応答性の高い補正制御が可能になり、定常時および過渡時の空燃比制御の追従性がさらに高まる。なお、このような制御システムの使用初期における学習データが少ない段階では、フィードバック制御による補正を主として行い、学習データの蓄積とともに徐々にニューロによる制御を増加させ、最終的にはスロットル開度およびエンジン回転数の蓄積データ値の中間値データに対する演算処理も含めて全面的にニューロによる補正制御に切り換えることが応答性を高める上で望ましい。
【００５６】
図１６から図１９は本発明の別の実施例を示す。この実施例は、エアブリード制御の電子制御キャブレタにより空燃比を制御する例である。
図１６は、この別の実施例の構成図である。エンジン１４の吸気管１６に、スロットルバルブ１８とともにその上流側にキャブレタ２２が備る。キャブレタ２２は、吸気負圧により燃料が吸出されるポートに装着されたニードル弁２３およびエアブリード用のソレノイド２４を備える。コントローラ２１は、このエアブリード用ソレノイド２４のデューティ比を制御することにより、エアブリード量を調整して空燃比を制御する。前述の実施例と同様に、コントローラ２１には、スロットル開度センサーおよび酸素濃度センサー２０からの検出信号が入力される。
【００５７】
図１７は、エンジンの順モデルを示す。この実施例では、図示したように、エンジンを空気系、燃料系およびエアブリード系に分け、それぞれ一次遅れで近似し、エアブリード系にのみ無駄時間があるものとして構成している。スロットル開度センサーからのスロットル開度検出信号（ＴＨＬ）は、空気系、燃料系およびエアブリード系にそれぞれ入力され、コントローラからのデューティ比制御信号（ＤＵＴＹ）はエアブリード系に入力される。
【００５８】
図１８は、図１７の順モデルを用いて構成した逆モデルを示す。前述のＥＦＩの実施例と同様に、無駄時間のあるエアブリードの系から無駄時間を除き、この無駄時間分に対応して空気系および燃料系の位相を進ませて３つの系の位相を揃えている。この無駄時間を除いたエアブリード系をフィードバックして逆モデルを構成し、前記実施例と同様に、逆モデルによる操作量（デューティ比）を出力する。
【００５９】
なお、このキャブレタの逆モデルにおいては、前述のＥＦＩの場合と異なり、エアブリードの無駄時間（図１７参照）が無視できないレベルであるため、この無駄時間に対応して位相進み部を必ず設ける必要がある（前述のように、ＥＦＩでは位相進み部３２（図１１）を省略できる場合があった）。
【００６０】
図１９は、前述のＥＦＩの実施例と同様に、モデルベース制御とそのずれを補正するためのフィードバック制御とを組合せたコントローラの構成を示す。このように補正用フィードバック制御を併用したコントローラの作用および効果は前記ＥＦＩの実施例と同様である。なお、無駄時間に相当して位相を進ませるための位相進み部の構成や、補正用フィードバック制御部の前に位相遅れ部を設ける構成あるいはこの補正用フィードバック制御とともにニューラルネットワークによる学習制御を併用する構成等については、前述のＥＦＩの実施例と同様に適用可能である。
【００６１】
図２０は、電子制御キャブレタの実施例における、本発明の効果を示すグラフである。（Ａ）図は従来のマップ制御によるグラフであり、（Ｂ）図は本発明によるモデルベース制御によるグラフである。各図において、Ｌ１は空燃比の変動を表わし、Ｌ２はスロットルの開閉動作を表わし、Ｌ３はエアブリード用ソレノイドのデューティ比を表わしている。図から分かるように、（Ａ）のマップ制御においては、スロットルの開閉動作に応じて、デューティ比が一定形状の矩形パルス状に変化し、スロットルの開度変化時（過渡時）に空燃比が大きく変動している。これに対し、（Ｂ）のモデルベース制御においては、スロットル開度変化時のデューティ比の立上がりおよび立下がりの直前にデューティ比が逆方向に大きく変動し、空燃比はほぼ安定した状態に保たれている。これは、マップ制御では、単にスロットルの変化に追従して変化後にデューティ比が変化するのに対し、本発明のモデル制御では、スロットル変化の過渡時に変化を予測して、これに対処したデューティ比を出力するため、過渡時の空燃比変動が抑えられるからである。
【００６２】
【発明の効果】
以上説明したように、本発明においては、制御対象の逆モデルを用いてその動きを予測し、その結果に応じて制御対象を制御することにより、過渡時の制御性を向上させることができる。この場合、順モデルとフィードバックを組合せて逆モデルを形成するため、容易に逆モデルが得られ、簡単な構成で制御回路を構成できる。また、逆モデル作成の際のフィードバックループを構成する系を位相遅れが１８０度未満となる系＋無駄時間（０の場合を含む）で近似することにより、モデル形成が容易にできる。さらにこの場合、無駄時間を除いて順モデルを形成し、他の系に対しては無駄時間分の位相を進めて順モデルとすることにより、モデル構成が簡単にできるとともに、フィードバックのゲインを大きくして逆モデル作成の演算処理が容易に確実にできる。また、ゲインを変えることにより、モデルの特性を実際の制御対象の特性に合せることができる。
【００６３】
また、本発明の制御対象をエンジンとすることにより、無駄時間や高次の遅れをもつエンジンが容易にモデル化され、これから容易に逆モデルを作成してモデルベース制御を行うとともに、モデルと実際のエンジンとのずれを補正するためのフィードバック制御とを組合せることにより、定常時および過渡時ともに、制御性がさらに高められる。これにより、信頼性の高いエンジンの空燃比制御が達成され、エンジン出力を最大限に発揮させることが可能になる。
【図面の簡単な説明】
【図１】  本発明の原理説明図である。
【図２】  エンジンの順モデル構成例のブロック図である。
【図３】  エンジンの逆モデル構成例のブロック図である。
【図４】  本発明の制御システムの一例の構成図である。
【図５】  本発明が適用されるＥＦＩエンジンの要部構成図である。
【図６】  図５のエンジンの順モデルの説明図である。
【図７】  図５のエンジンの逆モデルの説明図である。
【図８】  図５のエンジンのコントローラの説明図である。
【図９】  本発明に係るエンジンの制御システムのブロック図である。
【図１０】  図９のシステムのモデルベース制御部のブロック図である。
【図１１】  図１０の空気系順モデルのブロック図である。
【図１２】  吸気管内の空気量算出のための説明図である。
【図１３】  図１０の燃料系順モデルのブロック図である。
【図１４】  位相を進めるためのニューロ制御の説明図である。
【図１５】  フィードバック制御を補正するためのニューロ制御の説明図である。
【図１６】  本発明が適用されるエアブリード式電子制御キャブレタを備えたエンジンの要部構成図である。
【図１７】  図１６のエンジンの順モデルのブロック図である。
【図１８】  図１６のエンジンの逆モデルのブロック図である。
【図１９】  図１６のエンジンのコントローラのブロック図である。
【図２０】  図１６のエンジンの空燃比制御における、従来のマップ制御と本発明のモデルベース制御との効果の比較を示すグラフである。
【符号の説明】
１：フィードバックの関数、２：制御対象の順モデル、３：燃料系、４：空気系、５：無駄時間、６，７：一次遅れ、８：フィードバック演算部、９：位相進み部、１０：運転状態検出手段、１１：エンジン状態予測手段、１２：操作量決定手段、１３：空燃比制御手段、１４：エンジン、１５：エアクリーナ、１６：吸気管、１７：インジェクタ、１８：スロットルバルブ、１９：排気管、２０：酸素濃度センサー、２１：コントローラ、２２：フィードバック制御部、３０：逆モデル。
【図１】
0003703117.tif 000009
【図２】
0003703117.tif 000010
【図３】
0003703117.tif 000011
【図４】
0003703117.tif 000012
【図５】
0003703117.tif 000013
【図６】
0003703117.tif 000014
【図７】
0003703117.tif 000015
【図８】
0003703117.tif 000016
【図９】
0003703117.tif 000017
【図１０】
0003703117.tif 000018
【図１１】
0003703117.tif 000019
【図１２】
0003703117.tif 000020
【図１３】
0003703117.tif 000021
【図１４】
0003703117.tif 000022
【図１５】
0003703117.tif 000023
【図１６】
0003703117.tif 000024
【図１７】
0003703117.tif 000025
【図１８】
0003703117.tif 000026
【図１９】
0003703117.tif 000027
【図２０】
0003703117.tif 000028