(57)【特許請求の範囲】
【請求項１】
むだ時間を有する制御対象の制御量を目標値に近づけるようにフィードバック制御によって前記制御対象の操作量を決定する制御装置の設計方法であって、
前記操作量に対する補正量を演算するフィードバックループを前記制御対象の予測モデルを含む複数の制御器を用いて設計すること、
前記予測モデルのむだ時間要素から前記複数の制御器と同数の遅延要素を取り出すこと、
並列に動作する複数の演算装置を用いた並列計算によって前記フィードバックループの演算を行うように、前記複数の制御器のそれぞれを前記遅延要素と組み合わせて前記複数の演算装置に割り当てること、
を含むことを特徴とする制御装置の設計方法。
【請求項２】
むだ時間を有する制御対象の制御量を目標値に近づけるようにフィードバック制御によって前記制御対象の操作量を決定する制御装置において、
並列に動作する複数の演算装置を備え、
前記複数の演算装置は、演算装置間を順々に信号が伝達され、信号の伝達の順序において最初の演算装置には前記操作量が入力され、信号の伝達の順序において最後の演算装置からは前記操作量に対する補正量が出力されるように構成され、
前記複数の演算装置のそれぞれは、入力を所定ステップ遅らせる遅延要素と、前記遅延要素で遅延された入力を処理して出力を得る制御器とを有し、
前記複数の演算装置は、前記遅延要素の全個数と前記制御装置の制御周期とで定まる総遅延時間と、前記制御器が有する総むだ時間との合計時間が、前記制御対象が有するむだ時間に等しくなるように構成されていることを特徴とする制御装置。
【請求項３】
前記制御装置は複数のコアを有するマルチコアプロセッサに実装され、
前記複数の演算装置のそれぞれに異なるコアが用いられていることを特徴とする請求項２に記載の制御装置。
【請求項４】
前記複数の演算装置は、演算装置間で制御機器の演算量が均等になるように構成されていることを特徴とする請求項２又は３に記載の制御装置。
【請求項５】
前記複数の演算装置が有する制御器の何れか１つは、むだ時間を無視した制御対象の予測モデルを含むことを特徴とする請求項２乃至４の何れか１項に記載の制御装置。
【請求項６】
前記複数の演算装置が有する制御器の何れか１つは、前記制御対象が有するむだ時間と前記総遅延時間との差分をむだ時間とするむだ時間要素を含むことを特徴とする請求項２乃至５の何れか１項に記載の制御装置。
【請求項７】
前記複数の演算装置が有する制御器の何れか１つは、ＩＭＣフィルタを含むことを特徴とする請求項２乃至６の何れか１項に記載の制御装置。
【請求項８】
前記複数の演算装置が有する制御器の何れか１つは、外乱補償器を含むことを特徴とする請求項２乃至７の何れか１項に記載の制御装置。
【請求項９】
前記制御対象は内燃機関であり、前記制御周期は前記内燃機関の最大許容回転時の燃焼サイクルを基準にして設定されていることを特徴とする請求項２乃至８の何れか１項に記載の制御装置。
【請求項１０】
前記制御対象は内燃機関であり、前記制御周期は前記内燃機関の燃焼サイクルと同期して変更されることを特徴とする請求項２乃至８の何れか１項に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置の設計方法、特に、物理現象を取り扱う制御装置の設計方法に関し、詳しくは、むだ時間を有する制御対象の操作量をフィードバック制御によって決定する制御装置の設計方法、及び、そのような制御装置に関する。
【背景技術】
【０００２】
計算装置の演算能力はコアの動作周波数を高めることによって向上させることができる。ただし、計算装置が置かれる環境によっては動作周波数を高めることができない場合がある。また、電力効率の観点から、動作周波数の高周波数化による高性能化には限界がある。このため、近年では、例えば特開２０１０−１６０５３７号公報に開示されているように、１つの半導体チップ上に複数のコアを搭載したマルチコアタイプの並列計算装置が注目されている。マルチコアタイプの並列計算装置によれば、同じ量の演算を処理するのであれば、シングルコアタイプの計算装置に比較して動作周波数は低くてよい。さらに、処理すべきタスクを複数のコアに割り当てて並列計算することにより、単一のコアで計算を行う場合に比較して演算時間を短縮することができる。【０００３】
このような並列計算装置を有効に活用することのできる一つの用途として、リアルタイム制御装置が挙げられる。複雑な制御対象の動作や状態を制御するため、リアルタイム制御装置には、多くの数値計算を必要とする制御アルゴリズムが用いられている。特に、リアルタイム制御装置の一種である車両制御装置の場合、市場や規制の要求に応えるため、制御アルゴリズムは年々大規模かつ複雑化している。このため、演算負荷が増大し、シングルコアタイプの中央演算処理装置（ＣＰＵ）ではやがて制御周期内に演算が完了しないといった状況が予想される。並列計算装置のリアルタイム制御装置への適用は、このような状況が現実となることを回避するための有効な手段として期待されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１６０５３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、単に並列計算装置を制御装置に適用するだけでは十分な性能の向上を図ることができない。従来の制御アルゴリズムの並列化は、ソフトウェアの設計段階で行われていた。ところが、制御アルゴリズムの逐次性が強い場合、ソフトウェアの設計段階、つまり、ソースコードレベルでの並列化には限界があった。アムダールの法則によると、並列化可能な部分の実行時間の割合がaのプログラムをN個のコアを用いて実行する場合、全体の性能向上率Sは、S=1/((1-a)+a/N)で表される。これから分かるように、並列化可能な部分が少ないプログラムの場合には１ステップ内における性能向上は難しい。また、各ステップにおいてセンサ入力に対するアクチュエータ出力が行われるため、マルチコアによる並列性を活かして入力データをストリーム処理することが難しい。さらに、並列化にはオーバーヘッドが伴うため、構想やモジュール単位で演算量の少ない細粒度タスクに分割することによる並列化や、ループの分割による並列化にも限界がある。分割数を増やせば増やすほど、コア間での演算の同期や演算結果の通信などのコストが増加するため、並列計算により期待される性能が出せなくなるからである。【０００６】
逐次性の強い制御アルゴリズムをソースコードレベルで並列化することが困難なことは、リアルタイム制御装置、特に、物理現象を取り扱う制御装置の制御ロジックから具体的に説明することができる。そのような制御装置の制御対象は多かれ少なかれむだ時間を有しているため、制御アルゴリズムとしては、むだ時間系を取り扱う制御理論を採用することができる。むだ時間系制御の代表的なものが、制御対象をモデル化した予測モデルを用いてフィードバック制御を行う内部モデル制御（ＩＭＣ）である。以下、従来の制御装置で用いられている内部モデル制御の制御ロジックと、それの並列化における問題点について説明する。【０００７】
図３は、従来の制御装置に用いられている一般的な内部モデル制御の制御ロジックを示すブロック線図である。制御対象２はむだ時間Ｌを有しているので、その伝達関数はPe-Lsで表すことができる。内部モデル制御では、制御対象２をモデル化した予測モデル１０２とＩＭＣフィルタ１０１とを用いたフィードバック系が構築される。予測モデル１０２は制御対象２のむだ時間Ｌも含めてモデル化したものであるので、その伝達関数はMe-Lsで表すことができる。予測モデル１０２の伝達関数Me-Lsと制御対象２の真の伝達関数Pe-Lsとは完全一致することが理想的であるが、実際には両者の間にはモデル化誤差が存在する。ＩＭＣフィルタ１０１の伝達関数Cimcは、予測モデル１０２の伝達関数の最小位相要素の逆数として構成される。ＩＭＣフィルタ１０１は、制御量の目標値ｒに基づき制御対象２のアクチュエータに対する操作量ｕを算出する。制御対象２には操作量ｕとともに外乱ｄが入力され、その外乱ｄの影響を受けた制御量のセンサ値ｙが制御対象２から得られる。センサ値とはセンサによって計測された制御量の計測値を意味する。予測モデル１０２は制御対象２と並列に配置され、操作量ｕは並行して予測モデル１０２にも入力される。そして、センサ値ｙと予測モデル１０２の出力との差が伝達関数Cdisで表記される外乱補償器１０３を経由して目標値ｒにフィードバックされる。【０００８】
図３に示す制御ロジックでは、予測モデル１０２、ＩＭＣフィルタ１０１、及び外乱補償器１０３の３つの制御器の演算に逐次性が存在する。演算の逐次性は、各制御器の処理を時間軸上に並べることによって明らかにすることができる。図４は、上記の制御ロジックを従来のシングルコアタイプの計算装置に実装した場合の各制御器による演算の時間的な関係を表した図である。図４における横軸は時間軸であり、時間軸上に１ステップの処理が並べられている。この図に示すように、予測モデル（Me-Ls）１０２による演算、センサ値ｙとの減算、外乱補償器（Cdis）１０３による演算、目標値ｒとの減算、ＩＭＣフィルタ（Cimc）１０１による演算が逐次的に実行され、次のステップに対応する操作量ｕ′が算出される。【０００９】
上記の制御ロジックはマルチコアタイプの計算装置に実装することができる。マルチコアタイプの計算装置に上記の制御ロジックを実装する場合、１ステップの処理を複数のタスクに分割して各コアに割り当てる必要がある。ここでは、３つの制御器毎に離散化を行った後、それぞれをタスクとして分割して３つのコアに割り当てる。また、センサ値ｙの加減算と目標値ｒの加減算は、前後のタスクのどちらかに含められる。図５は、このような手法で複数のコアに処理の割り当てを行った場合の各処理の時間的な関係を示す図である。各コアは一部のタスクのみ処理すればよいので、シングルコアで全ての処理を実行する場合に比較すれば、１コア当たりの演算時間は短縮される。しかしながら、複数コアで処理する場合であっても演算の逐次性は保たれるため、ある制御器に対応するタスクが終了するまで、次の制御器に対応するタスクは開始することができない。つまり、複数のコアで同時にタスクを実行することはできず、計算装置全体では１ステップの処理を高速化することはできない。これから分かるように、上記の制御ロジックをマルチコアタイプの計算装置に実装したとしても、結局はソースコードレベルでの並列化しかできないため、並列化による演算時間の大幅な短縮を実現することは難しい。【００１０】
次に考えられることは、ソースコードレベルではなく、制御ロジックのレベルで並列化することである。ここで、内部モデル制御における操作量の更新式に注目する。次の式（１）は図３に示す制御ロジックに対応する操作量の更新式である。更新式を構成する変数及び伝達関数は、図３に示す制御ロジックにおける変数と各制御器の伝達関数とに対応している。
【数１】
0005932128.tif 000002
【００１１】
上記の更新式から、図５に示すタスク間の入出力に伴う演算の逐次性は、更新式における括弧内部の加減算に起因していることが分かる。つまり、複数要素に対して行う加減算はコア間の暗黙の同期となるが、これが括弧で括られることによってタスク間に逐次的な順序が発生する。そこで、括弧に起因する逐次性を解消するため、括弧を展開して各変数ｒ，ｙ，ｕに関係する項に分割する。そのように式（１）を変形することにより、次の式（２）で表される更新式が得られる。
【数２】
0005932128.tif 000003
【００１２】
図６は、式（２）に対応する制御ロジックを示すブロック線図である。式（１）と式（２）との関係から分かるように、図６に示す制御ロジックは図３に示す制御ロジックを等価変換したものに相当する。この等価変換では、１つの外乱補償器（Cdis）と２つのＩＭＣフィルタ（Cimc）とが複製される。図６に示す制御ロジックによれば、操作量ｕが予測モデル（Me-Ls）１１２、外乱補償器（Cdis）１１３、及びＩＭＣフィルタ（Cimc）１１４を経由して再び操作量ｕにフィードバックされ、同時に、センサ値ｙが外乱補償器（Cdis）１１５、及びＩＭＣフィルタ（Cimc）１１６を経由して操作量ｕにフィードバックされる。【００１３】
式（２）において括弧に括られていない各変数ｒ，ｙ，ｕの項の演算をそれぞれタスクとして分割し、各タスクを３つのコアに割り当てる。また、各タスクの出力から次のステップに対応する操作量ｕ′を算出する加減算は何れかのコアに割り当てる。図７は、このような手法で複数のコアに処理の割り当てを行った場合の各処理の時間的な関係を示す図である。図７における横軸は時間軸であり、時間軸上に１ステップの処理が並べられている。この図においてコア１に割り当てられたタスクはタスク１であり、コア２に割り当てられたタスクはタスク２，３からなり、コア３に割り当てられたタスクはタスク４，５，６からなる。各コアにおけるタスクの入力は変数ｒ，ｙ，ｕであるので、あるタスクを開始するのに他のタスクの終了を待つ必要がない。つまり、図６に示す制御ロジックをマルチコアタイプの計算装置に実装する場合には、各コアで同時並列に演算を開始することができる。【００１４】
しかしながら、実際には、図７に示すフローによる１ステップ当たりの演算時間は、図４或いは図５に示すフローによる１ステップ当たりの演算時間に比較して短くはならない。なぜなら、操作量ｕの項からなるタスクには、全ての制御器に係る演算が含まれるからである。つまり、予測モデル（Me-Ls）の演算（タスク４）、外乱補償器（Cdis）の演算（タスク５）、及びＩＭＣフィルタ（Cimc）の演算（タスク６）が含まれている。これでは従来のシングルコアによる処理と変わることがない。それどころか、各コアにおけるタスクの演算結果を１つのコアへと集約して加減算を実行するため、その分のコストが追加されることにより１ステップ当たりの演算時間はかえって増加するおそれがある。【００１５】
以上述べたように、並列計算装置を制御装置に適用したとしても、それがソースコードレベルでの並列化である場合や、制御ロジックのレベルでの単純な並列化である場合には、並列計算による演算時間の短縮化を十分に達成することができない。フィードバック制御に係る演算の並列化によって演算時間の短縮をはかるのであれば、制御ロジックの段階でのさらなる工夫が必要である。【００１６】
本発明は、このような課題に鑑みてなされたもので、制御ロジックの段階での工夫により、演算時間の短縮が可能なようにフィードバック制御に係る演算を並列化することのできる制御装置の設計方法を提供することを目的とする。また、当該方法により設計された、フィードバック制御に係る演算を短い時間で実行することのできる制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明に係る制御装置の設計方法は、むだ時間を有する制御対象に組み合わせられ、制御量を目標値に近づけるようにフィードバック制御によって制御対象の操作量を決定する制御装置を設計する方法である。本発明におけるフィードバック制御には内部モデル制御が含まれ、さらに、内部モデル制御と等価変換可能な制御、例えばスミス法による制御も含まれる。本発明に係る制御装置の設計方法によれば、操作量に対する補正量を演算するフィードバックループを制御対象の予測モデルを含む複数の制御器を用いて設計することが行われる。次に、制御対象の予測モデルのむだ時間要素から、フィードバックループを構成する制御器の数と同数の遅延要素を取り出すことが行われる。そして、並列に動作する複数の演算装置を用いた並列計算によってフィードバックループの演算を行うように、複数の制御器のそれぞれを遅延要素と組み合わせて複数の演算装置に割り当てることが行われる。【００１８】
本発明に係る制御装置は、上記設計方法に基づき設計された制御装置である。本発明に係る制御装置は、並列に動作する複数の演算装置を備える。好ましくは、本発明に係る制御装置は複数のコアを有するマルチコアプロセッサに実装され、複数の演算装置のそれぞれに異なるコアが用いられる。しかし、複数の演算装置のそれぞれが、シングルコア或いはマルチコアのプロセッサとして構成されていてもよい。【００１９】
これらの演算装置は、演算装置間を順々に信号が伝達されるように構成されている。また、これらの演算装置は、信号の伝達の順序において最初の演算装置には制御対象の操作量が入力され、信号の伝達の順序において最後の演算装置から操作量に対する補正量が出力されるように構成される。つまり、これらの演算装置は、操作量を次ステップの操作量にフィードバックするための閉ループを構成する。制御対象はむだ時間を有しているから、この閉ループにも制御対象が有するむだ時間と同等の遅れが含まれている。【００２０】
演算装置のそれぞれは、入力を所定ステップ遅らせる遅延要素と、遅延要素で遅延された入力を処理して出力を得る制御器とを有している。各遅延要素によって遅らされるステップ数は１ステップであることが好ましい。遅延要素の全個数と制御装置の制御周期とによって演算装置間の信号の伝達における総遅延時間が定まる。本発明に係る制御装置が備える演算装置は、遅延要素による総遅延時間と制御器が有する総むだ時間との合計時間が制御対象が有するむだ時間に等しくなるよう構成されている。なお、制御対象が有するむだ時間とは、制御対象をモデル化した予測モデルのむだ時間と実質的に同意である。制御器のむだ時間は、全ての制御器が有している必要は無い。何れか１つの制御器がむだ時間を有していればよい。【００２１】
各演算装置は、演算装置間で制御機器の演算量が均等になるように構成されていることが好ましい。制御器には、例えば、むだ時間を無視した制御対象の予測モデル、制御対象が有するむだ時間と総遅延時間との差分をむだ時間とするむだ時間要素、ＩＭＣフィルタ、及び外乱補償器などの要素を含めることができる。これらの要素を適宜組み合わせて制御器を構成する。好ましくは、むだ時間が除かれた予測モデルを含む制御機器、むだ時間要素を含む制御機器、ＩＭＣフィルタを含む制御機器、外乱補償器を含む制御機器を別々に設ける。
【発明の効果】
【００２２】
本発明に係る制御装置の設計方法によれば、フィードバックループを構成する複数の制御器が並列に動作する複数の演算装置に分配され、さらに、制御対象の予測モデルのむだ時間要素から制御器の数と同数の遅延要素が取り出されて各演算装置に対して分配される。フィードバックループを構成する各制御器の間には逐次性があるが、本発明のごとく制御器に遅延要素を組み合わせて各演算装置に実装することにより、各演算装置は遅延時間前の操作量或いは遅延時間前の他の演算装置の出力を用いて演算を行うことができ、他の演算装置の演算の終了を待って逐次的に演算を行う必要がない。つまり、本発明に係る制御装置の設計方法を採用することにより、演算時間の短縮が可能なようにフィードバック制御に係る演算を並列化することができる。【００２３】
本発明に係る制御装置によれば、上記設計方法に基づいた構成を有することにより、フィードバック制御に係る演算の並列化によって制御装置全体としての演算時間が短縮される。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施の形態に係る制御装置における内部モデル制御の制御ロジックを示すブロック線図である。
【図２】図１に示す制御ロジックをマルチコアタイプの計算装置に実装した場合の各制御器による演算の時間的な関係を表した図である。
【図３】従来の制御装置に用いられている一般的な内部モデル制御の制御ロジックを示すブロック線図である。
【図４】図３に示す制御ロジックをシングルコアタイプの計算装置に実装した場合の各制御器による演算の時間的な関係を表した図である。
【図５】図３に示す制御ロジックをマルチコアタイプの計算装置に実装した場合の各制御器による演算の時間的な関係を表した図である。
【図６】図３に示す制御ロジックを等価変換して得られた内部モデル制御の制御ロジックを示すブロック線図である。
【図７】図６に示す制御ロジックをマルチコアタイプの計算装置に実装した場合の各制御器による演算の時間的な関係を表した図である。
【発明を実施するための形態】
【００２５】
以下、本発明の実施の形態について説明する。
【００２６】
まず、前述の式（２）における操作量ｕの項に着目する。操作量ｕの項には予測モデルの伝達関数Me-Lsが含まれ、予測モデルの伝達関数Me-Lsにはむだ時間Ｌが含まれている。ここでは、むだ時間Ｌが制御周期Ｔの３周期分より長いとする。本発明に係る設計方法によれば、予測モデルのむだ時間要素e-Lsからフィードバックループを構成する制御器と同数の遅延要素e-Tsを取り出すことが行われる。操作量ｕの項には伝達関数Me-Lsを含めて３つの要素（制御器）が含まれているので、本発明に係る設計方法に従い、式（２）においてe-Lsからe-Tsを３つ取り出して各要素に分配する。これにより、次の式（３）で表される操作量ｕの更新式が得られる。ただし、本実施の形態では内部モデル制御に係る伝達関数は全て線形伝達関数であるとする。
【数３】
0005932128.tif 000004
【００２７】
図１は、本実施の形態に係る制御装置における内部モデル制御の制御ロジックを示すブロック図である。図１に示す制御ロジックは上記の式（３）に対応している。そして、式（２）と式（３）との関係から分かるように、図１に示す制御ロジックは図６に示す制御ロジックを等価変換したものに相当する。
【００２８】
本制御装置では、制御量の目標値ｒがＩＭＣフィルタ（Cimc）１１に入力される。ＩＭＣフィルタ１１から出力された操作量ｕは、外乱ｄとともに制御対象（Pe-Ls）２に入力される。本制御装置には２つの閉ループが構築されている。第１の閉ループは、制御対象２から出力された制御量のセンサ値ｙから補正量を算出し、その補正量を次ステップの操作量ｕにフィードバックする閉ループである。第２の閉ループは、制御対象２に入る前の操作量ｕから補正量を算出し、その補正量を次ステップの操作量ｕにフィードバックする閉ループである。
【００２９】
第２の閉ループには、信号の伝達の順に、第１の演算装置２１、第２の演算装置２２、及び第３の演算装置２３が並べられている。操作量ｕは第１の演算装置２１に入力され、第３の演算装置２３から次ステップの操作量ｕに対する補正量が出力される。第１の演算装置２１は、遅延要素（Ｄ）１７と制御器（Me-(L-3T)s）１２とからなる。第２の演算装置２２は、遅延要素（Ｄ）１８と制御器（Cdis）１３とからなる。第３の演算装置２３は、遅延要素（Ｄ）１９と制御器（Cimc）１４とからなる。
【００３０】
遅延要素（Ｄ）１７，１８，１９は、入力された信号を１ステップ遅らせて出力する要素である。式（３）におけるe-Tsが実装時の離散化によって遅延要素（Ｄ）へと置き換えられている。このような構成により、制御器１２には１ステップ前の操作量ｕが入力され、制御器１３には１ステップ前の制御器１２の出力が入力され、制御器１４には１ステップ前の制御器１３の出力が入力される。制御器１２は予測モデル（Me-Ls）から３制御周期分の遅延要素（e-TS）を分離したものに相当する。ただし、制御器１２に含まれるむだ時間要素（e-(L-3T)s）は、Pade近似によって有理関数に変換されたものが用いられる。制御器１３は外乱補償器に対応し、制御器１４はＩＭＣフィルタに対応する。
【００３１】
第１の閉ループには、第４の演算装置２４が設けられている。第４の演算装置２４は、制御器（Cdis）１５と制御器（Cimc）１６とからなる。制御器１５は外乱補償器に対応し、制御器１６はＩＭＣフィルタに対応する。センサ値ｙは制御器１５に入力され、制御器１６から次ステップの操作量ｕに対する補正量が出力される。第４の演算装置２４では、制御器１５と制御器１６との間で逐次的に演算が行われる。
【００３２】
本実施の形態に係る制御装置は、マルチコアタイプの計算装置に実装される。実装では、ＩＭＣフィルタ１１、第１の演算装置２１、第２の演算装置２２、第３の演算装置２３、及び第４の演算装置２４のそれぞれが別々のコアにて具現化される。つまり、目標値ｒを操作量ｕに変換するＩＭＣフィルタの演算と、操作量ｕをフィードバックする第２の閉ループの伝達関数の演算と、センサ値ｙをフィードバックする第１の閉ループの伝達関数の演算とがそれぞれタスクとして分割されるとともに、第２の閉ループの伝達関数に係る演算については３つの制御器に係る演算の全てがそれぞれタスクとしてさらに分割され、各タスクが計５つのコアに割り当てられる。
【００３３】
図２は、図１に示す制御ロジックをマルチコアタイプの計算装置に実装した場合の各制御器による演算の時間的な関係を表した図である。図２における横軸は時間軸であり、時間軸上に１ステップの処理が並べられている。この図においてコア１に割り当てられたタスクはＩＭＣフィルタ１１の演算に係るタスク１であり、その入力は目標値ｒである。コア２に割り当てられたタスクは制御器１５の演算に係るタスク２と制御器１６の演算に係るタスク３であり、その入力はセンサ値ｙである。コア２においてタスク２とタスク３は逐次的に処理される。
【００３４】
コア３，４，５には、第２の閉ループの伝達関数の演算に係るタスクが分配して割り当てられる。コア３に割り当てられたタスクは制御器１２の演算に係るタスク４である。タスク４には遅延要素１７で１ステップ遅延された操作量ｕ、すなわち、操作量ｕの前回値が入力される。コア４に割り当てられたタスクは制御器１３の演算に係るタスク５である。タスク５には遅延要素１８で１ステップ遅延されたタスク４の出力が入力される。そして、コア５には制御器１４の演算に係るタスク６が割り当てられる。タスク６には遅延要素１９で１ステップ遅延されたタスク５の出力が入力される。また、タスク１，３，６の出力から次のステップに対応する操作量ｕ′を算出する加減算は、何れか１つのコア、好ましくは、最も演算量の少ないコアに割り当てられる。図２の例では、コア４にて操作量ｕ′の算出のための加減算が行われるようになっている。
【００３５】
ステップの開始と同時に、タスク１には入力ポートから目標値ｒが読み込まれ、タスク２には入力ポートからセンサ値ｙが読み込まれる。また、ステップの開始と同時に、タスク４，５，６には遅延要素から各出力の前回値が読み込まれる。ただし、最初のステップでは、時刻０における初期値として設定された値が遅延要素からタスク４，５，６に読み込まれる。何れにしても、コア３，４，５における演算では、コア１，２における演算と同様、タスクを開始するのに他のコアにおけるタスクの終了を待つ必要がない。よって、コア３，４，５は、コア１，２とともに、他のコアの演算の終了を待つことなく同時並列に演算を開始することができる。
【００３６】
以上述べたように、本実施の形態に係る制御装置では、内部モデル制御に係る演算、詳しくは、操作量ｕをフィードバックする第２の閉ループの演算がコア３，４，５に分配され、これらコア３，４，５にて同時並列に演算が行われる。各コア３，４，５には演算量が概ね均等になるようにタスクの配分が行われているので、何れかのコアの演算時間が突出して長くなるようなことはない。よって、本実施の形態に係る制御装置によれば、従来に比較して１ステップの処理に要する演算時間の短縮が可能であり、装置全体として演算速度を向上させることができる。
【００３７】
なお、本実施の形態に係る制御装置は、自動車用の内燃機関を制御対象とすることができる。内燃機関は火花点火式エンジンでもよいし、ディーゼルエンジンでもよい。例えば、制御対象が火花点火式エンジンであるならば、制御量をトルクとして操作量をスロットルとすることができる。また、制御対象が火花点火式エンジンであるならば、制御量をトルクとして操作量を燃料噴射量とすることができる。制御対象が過給エンジンの場合には、制御量を過給圧として操作量をウエストゲートバルブ開度や可変ノズル開度とすることができる。また、制御対象がＥＧＲ装置付きエンジンの場合には、制御量をＥＧＲ率として操作量をＥＧＲ開度とすることができる。
【００３８】
制御対象が内燃機関の場合、制御装置の制御周期Ｔは内燃機関の燃焼サイクルと同期して変更されるようにすることもできる。もちろん、制御装置の制御周期Ｔは固定値でもよい。例えば、内燃機関の最大許容回転時の燃焼サイクルを基準にして制御周期Ｔを設定してもよい。
【００３９】
さらに、本実施の形態に係る制御装置によって制御される制御対象は内燃機関には限定されない。例えば、内燃機関と電気モータとが組み合わされたハイブリッドシステムや燃料電池システムにも適用することができる。本実施の形態に係る制御装置は、リアルタイムでのオンライン制御が要求される制御対象、特に、移動体の動力装置の制御に好適であり、移動体に搭載される制御装置として特に有用である。もちろん、本実施の形態に係る制御装置は、制御対象がむだ時間を有するものであるならば、移動体の動力装置に限らず、定置型設備も含めて広い範囲の制御対象に適用することができる。
【００４０】
ところで、本発明は上述の実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。例えば、制御対象２が有するむだ時間Ｌが制御周期Ｔの４周期分より長いのであれば、第１の演算装置２１をさらに２つの演算装置に分割してもよい。この場合、制御器（Me-(L-3T)s）１２は、むだ時間を無視した予測モデル（M）と、遅延要素（e-Ts）と、残りのむだ時間を有するむだ時間要素（Me-(L-4T)s）とに分割される。そして、むだ時間を無視した予測モデル（M）と遅延要素（e-Ts）とによって１つの演算装置が構成され、残りのむだ時間要素（Me-(L-4T)s）と遅延要素１７とによってもう１つの演算装置が構成される。これらの演算装置には別々のコアが用いられる。なお、制御対象２が有するむだ時間Ｌが制御周期Ｔの３周期分であれば、むだ時間要素は無くすことができる。
【００４１】
また、各遅延要素１７，１８，１９が入力を遅延させるステップ数は、上述の実施の形態のとおり１ステップが好ましいが、制御器１２が有するむだ時間を調整することにより遅延ステップ数を複数ステップにすることもできる。つまり、遅延要素１７，１８，１９による総遅延時間と制御器１２が有するむだ時間との合計時間と、制御対象２が有するむだ時間とが等しくなっていればよい。
【００４２】
上述の実施の形態では伝達関数は線形伝達関数であると仮定したが、非線形伝達関数であっても初期値を適宜変更して入れ替えを行うことによって図３に示す構造から図１に示す構造に変換することができる。つまり、本発明に係る制御装置は、線形システムのみには限定されず非線形システムにも適用することができる。
【符号の説明】
【００４３】
２  制御対象
１１  ＩＭＣフィルタ
１２，１３，１４，１５，１６  制御器
１７，１８，１９  遅延要素
２１，２２，２３，２４  演算装置
【図１】
0005932128.tif 000005
【図２】
0005932128.tif 000006
【図３】
0005932128.tif 000007
【図４】
0005932128.tif 000008
【図５】
0005932128.tif 000009
【図６】
0005932128.tif 000010
【図７】
0005932128.tif 000011