特許第5932128号(P5932128)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ トヨタ自動車株式会社の特許一覧 ▶ 国立大学法人名古屋大学の特許一覧

<>
  • 特許5932128-制御装置の設計方法及び制御装置 図000005
  • 特許5932128-制御装置の設計方法及び制御装置 図000006
  • 特許5932128-制御装置の設計方法及び制御装置 図000007
  • 特許5932128-制御装置の設計方法及び制御装置 図000008
  • 特許5932128-制御装置の設計方法及び制御装置 図000009
  • 特許5932128-制御装置の設計方法及び制御装置 図000010
  • 特許5932128-制御装置の設計方法及び制御装置 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5932128
(24)【登録日】2016年5月13日
(45)【発行日】2016年6月8日
(54)【発明の名称】制御装置の設計方法及び制御装置
(51)【国際特許分類】
   G05B 11/36 20060101AFI20160526BHJP
   G05B 13/04 20060101ALI20160526BHJP
【FI】
   G05B11/36 501M
   G05B13/04
【請求項の数】10
【全頁数】12
(21)【出願番号】特願2015-501402(P2015-501402)
(86)(22)【出願日】2014年2月12日
(86)【国際出願番号】JP2014053177
(87)【国際公開番号】WO2014129354
(87)【国際公開日】20140828
【審査請求日】2015年7月24日
(31)【優先権主張番号】特願2013-32321(P2013-32321)
(32)【優先日】2013年2月21日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(73)【特許権者】
【識別番号】504139662
【氏名又は名称】国立大学法人名古屋大学
(74)【代理人】
【識別番号】100106150
【弁理士】
【氏名又は名称】高橋 英樹
(74)【代理人】
【識別番号】100082175
【弁理士】
【氏名又は名称】高田 守
(74)【代理人】
【識別番号】100113011
【弁理士】
【氏名又は名称】大西 秀和
(72)【発明者】
【氏名】佐多 宏太
(72)【発明者】
【氏名】加古 純一
(72)【発明者】
【氏名】渡邊 智
(72)【発明者】
【氏名】鈴木 悠太
(72)【発明者】
【氏名】枝廣 正人
【審査官】 青山 純
(56)【参考文献】
【文献】 特開昭62−34202(JP,A)
【文献】 特開平10−187205(JP,A)
【文献】 特開2004−23910(JP,A)
【文献】 特開2003−345402(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 11/00 − 11/36
G05B 13/00 − 13/04
G05B 17/00 − 17/02
(57)【特許請求の範囲】
【請求項1】
むだ時間を有する制御対象の制御量を目標値に近づけるようにフィードバック制御によって前記制御対象の操作量を決定する制御装置の設計方法であって、
前記操作量に対する補正量を演算するフィードバックループを前記制御対象の予測モデルを含む複数の制御器を用いて設計すること、
前記予測モデルのむだ時間要素から前記複数の制御器と同数の遅延要素を取り出すこと、
並列に動作する複数の演算装置を用いた並列計算によって前記フィードバックループの演算を行うように、前記複数の制御器のそれぞれを前記遅延要素と組み合わせて前記複数の演算装置に割り当てること、
を含むことを特徴とする制御装置の設計方法。
【請求項2】
むだ時間を有する制御対象の制御量を目標値に近づけるようにフィードバック制御によって前記制御対象の操作量を決定する制御装置において、
並列に動作する複数の演算装置を備え、
前記複数の演算装置は、演算装置間を順々に信号が伝達され、信号の伝達の順序において最初の演算装置には前記操作量が入力され、信号の伝達の順序において最後の演算装置からは前記操作量に対する補正量が出力されるように構成され、
前記複数の演算装置のそれぞれは、入力を所定ステップ遅らせる遅延要素と、前記遅延要素で遅延された入力を処理して出力を得る制御器とを有し、
前記複数の演算装置は、前記遅延要素の全個数と前記制御装置の制御周期とで定まる総遅延時間と、前記制御器が有する総むだ時間との合計時間が、前記制御対象が有するむだ時間に等しくなるように構成されていることを特徴とする制御装置。
【請求項3】
前記制御装置は複数のコアを有するマルチコアプロセッサに実装され、
前記複数の演算装置のそれぞれに異なるコアが用いられていることを特徴とする請求項2に記載の制御装置。
【請求項4】
前記複数の演算装置は、演算装置間で制御機器の演算量が均等になるように構成されていることを特徴とする請求項2又は3に記載の制御装置。
【請求項5】
前記複数の演算装置が有する制御器の何れか1つは、むだ時間を無視した制御対象の予測モデルを含むことを特徴とする請求項2乃至4の何れか1項に記載の制御装置。
【請求項6】
前記複数の演算装置が有する制御器の何れか1つは、前記制御対象が有するむだ時間と前記総遅延時間との差分をむだ時間とするむだ時間要素を含むことを特徴とする請求項2乃至5の何れか1項に記載の制御装置。
【請求項7】
前記複数の演算装置が有する制御器の何れか1つは、IMCフィルタを含むことを特徴とする請求項2乃至6の何れか1項に記載の制御装置。
【請求項8】
前記複数の演算装置が有する制御器の何れか1つは、外乱補償器を含むことを特徴とする請求項2乃至7の何れか1項に記載の制御装置。
【請求項9】
前記制御対象は内燃機関であり、前記制御周期は前記内燃機関の最大許容回転時の燃焼サイクルを基準にして設定されていることを特徴とする請求項2乃至8の何れか1項に記載の制御装置。
【請求項10】
前記制御対象は内燃機関であり、前記制御周期は前記内燃機関の燃焼サイクルと同期して変更されることを特徴とする請求項2乃至8の何れか1項に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置の設計方法、特に、物理現象を取り扱う制御装置の設計方法に関し、詳しくは、むだ時間を有する制御対象の操作量をフィードバック制御によって決定する制御装置の設計方法、及び、そのような制御装置に関する。
【背景技術】
【0002】
計算装置の演算能力はコアの動作周波数を高めることによって向上させることができる。ただし、計算装置が置かれる環境によっては動作周波数を高めることができない場合がある。また、電力効率の観点から、動作周波数の高周波数化による高性能化には限界がある。このため、近年では、例えば特開2010−160537号公報に開示されているように、1つの半導体チップ上に複数のコアを搭載したマルチコアタイプの並列計算装置が注目されている。マルチコアタイプの並列計算装置によれば、同じ量の演算を処理するのであれば、シングルコアタイプの計算装置に比較して動作周波数は低くてよい。さらに、処理すべきタスクを複数のコアに割り当てて並列計算することにより、単一のコアで計算を行う場合に比較して演算時間を短縮することができる。
【0003】
このような並列計算装置を有効に活用することのできる一つの用途として、リアルタイム制御装置が挙げられる。複雑な制御対象の動作や状態を制御するため、リアルタイム制御装置には、多くの数値計算を必要とする制御アルゴリズムが用いられている。特に、リアルタイム制御装置の一種である車両制御装置の場合、市場や規制の要求に応えるため、制御アルゴリズムは年々大規模かつ複雑化している。このため、演算負荷が増大し、シングルコアタイプの中央演算処理装置(CPU)ではやがて制御周期内に演算が完了しないといった状況が予想される。並列計算装置のリアルタイム制御装置への適用は、このような状況が現実となることを回避するための有効な手段として期待されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−160537号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、単に並列計算装置を制御装置に適用するだけでは十分な性能の向上を図ることができない。従来の制御アルゴリズムの並列化は、ソフトウェアの設計段階で行われていた。ところが、制御アルゴリズムの逐次性が強い場合、ソフトウェアの設計段階、つまり、ソースコードレベルでの並列化には限界があった。アムダールの法則によると、並列化可能な部分の実行時間の割合がaのプログラムをN個のコアを用いて実行する場合、全体の性能向上率Sは、S=1/((1-a)+a/N)で表される。これから分かるように、並列化可能な部分が少ないプログラムの場合には1ステップ内における性能向上は難しい。また、各ステップにおいてセンサ入力に対するアクチュエータ出力が行われるため、マルチコアによる並列性を活かして入力データをストリーム処理することが難しい。さらに、並列化にはオーバーヘッドが伴うため、構想やモジュール単位で演算量の少ない細粒度タスクに分割することによる並列化や、ループの分割による並列化にも限界がある。分割数を増やせば増やすほど、コア間での演算の同期や演算結果の通信などのコストが増加するため、並列計算により期待される性能が出せなくなるからである。
【0006】
逐次性の強い制御アルゴリズムをソースコードレベルで並列化することが困難なことは、リアルタイム制御装置、特に、物理現象を取り扱う制御装置の制御ロジックから具体的に説明することができる。そのような制御装置の制御対象は多かれ少なかれむだ時間を有しているため、制御アルゴリズムとしては、むだ時間系を取り扱う制御理論を採用することができる。むだ時間系制御の代表的なものが、制御対象をモデル化した予測モデルを用いてフィードバック制御を行う内部モデル制御(IMC)である。以下、従来の制御装置で用いられている内部モデル制御の制御ロジックと、それの並列化における問題点について説明する。
【0007】
図3は、従来の制御装置に用いられている一般的な内部モデル制御の制御ロジックを示すブロック線図である。制御対象2はむだ時間Lを有しているので、その伝達関数はPe-Lsで表すことができる。内部モデル制御では、制御対象2をモデル化した予測モデル102とIMCフィルタ101とを用いたフィードバック系が構築される。予測モデル102は制御対象2のむだ時間Lも含めてモデル化したものであるので、その伝達関数はMe-Lsで表すことができる。予測モデル102の伝達関数Me-Lsと制御対象2の真の伝達関数Pe-Lsとは完全一致することが理想的であるが、実際には両者の間にはモデル化誤差が存在する。IMCフィルタ101の伝達関数Cimcは、予測モデル102の伝達関数の最小位相要素の逆数として構成される。IMCフィルタ101は、制御量の目標値rに基づき制御対象2のアクチュエータに対する操作量uを算出する。制御対象2には操作量uとともに外乱dが入力され、その外乱dの影響を受けた制御量のセンサ値yが制御対象2から得られる。センサ値とはセンサによって計測された制御量の計測値を意味する。予測モデル102は制御対象2と並列に配置され、操作量uは並行して予測モデル102にも入力される。そして、センサ値yと予測モデル102の出力との差が伝達関数Cdisで表記される外乱補償器103を経由して目標値rにフィードバックされる。
【0008】
図3に示す制御ロジックでは、予測モデル102、IMCフィルタ101、及び外乱補償器103の3つの制御器の演算に逐次性が存在する。演算の逐次性は、各制御器の処理を時間軸上に並べることによって明らかにすることができる。図4は、上記の制御ロジックを従来のシングルコアタイプの計算装置に実装した場合の各制御器による演算の時間的な関係を表した図である。図4における横軸は時間軸であり、時間軸上に1ステップの処理が並べられている。この図に示すように、予測モデル(Me-Ls)102による演算、センサ値yとの減算、外乱補償器(Cdis)103による演算、目標値rとの減算、IMCフィルタ(Cimc)101による演算が逐次的に実行され、次のステップに対応する操作量u′が算出される。
【0009】
上記の制御ロジックはマルチコアタイプの計算装置に実装することができる。マルチコアタイプの計算装置に上記の制御ロジックを実装する場合、1ステップの処理を複数のタスクに分割して各コアに割り当てる必要がある。ここでは、3つの制御器毎に離散化を行った後、それぞれをタスクとして分割して3つのコアに割り当てる。また、センサ値yの加減算と目標値rの加減算は、前後のタスクのどちらかに含められる。図5は、このような手法で複数のコアに処理の割り当てを行った場合の各処理の時間的な関係を示す図である。各コアは一部のタスクのみ処理すればよいので、シングルコアで全ての処理を実行する場合に比較すれば、1コア当たりの演算時間は短縮される。しかしながら、複数コアで処理する場合であっても演算の逐次性は保たれるため、ある制御器に対応するタスクが終了するまで、次の制御器に対応するタスクは開始することができない。つまり、複数のコアで同時にタスクを実行することはできず、計算装置全体では1ステップの処理を高速化することはできない。これから分かるように、上記の制御ロジックをマルチコアタイプの計算装置に実装したとしても、結局はソースコードレベルでの並列化しかできないため、並列化による演算時間の大幅な短縮を実現することは難しい。
【0010】
次に考えられることは、ソースコードレベルではなく、制御ロジックのレベルで並列化することである。ここで、内部モデル制御における操作量の更新式に注目する。次の式(1)は図3に示す制御ロジックに対応する操作量の更新式である。更新式を構成する変数及び伝達関数は、図3に示す制御ロジックにおける変数と各制御器の伝達関数とに対応している。
【数1】
【0011】
上記の更新式から、図5に示すタスク間の入出力に伴う演算の逐次性は、更新式における括弧内部の加減算に起因していることが分かる。つまり、複数要素に対して行う加減算はコア間の暗黙の同期となるが、これが括弧で括られることによってタスク間に逐次的な順序が発生する。そこで、括弧に起因する逐次性を解消するため、括弧を展開して各変数r,y,uに関係する項に分割する。そのように式(1)を変形することにより、次の式(2)で表される更新式が得られる。
【数2】
【0012】
図6は、式(2)に対応する制御ロジックを示すブロック線図である。式(1)と式(2)との関係から分かるように、図6に示す制御ロジックは図3に示す制御ロジックを等価変換したものに相当する。この等価変換では、1つの外乱補償器(Cdis)と2つのIMCフィルタ(Cimc)とが複製される。図6に示す制御ロジックによれば、操作量uが予測モデル(Me-Ls)112、外乱補償器(Cdis)113、及びIMCフィルタ(Cimc)114を経由して再び操作量uにフィードバックされ、同時に、センサ値yが外乱補償器(Cdis)115、及びIMCフィルタ(Cimc)116を経由して操作量uにフィードバックされる。
【0013】
式(2)において括弧に括られていない各変数r,y,uの項の演算をそれぞれタスクとして分割し、各タスクを3つのコアに割り当てる。また、各タスクの出力から次のステップに対応する操作量u′を算出する加減算は何れかのコアに割り当てる。図7は、このような手法で複数のコアに処理の割り当てを行った場合の各処理の時間的な関係を示す図である。図7における横軸は時間軸であり、時間軸上に1ステップの処理が並べられている。この図においてコア1に割り当てられたタスクはタスク1であり、コア2に割り当てられたタスクはタスク2,3からなり、コア3に割り当てられたタスクはタスク4,5,6からなる。各コアにおけるタスクの入力は変数r,y,uであるので、あるタスクを開始するのに他のタスクの終了を待つ必要がない。つまり、図6に示す制御ロジックをマルチコアタイプの計算装置に実装する場合には、各コアで同時並列に演算を開始することができる。
【0014】
しかしながら、実際には、図7に示すフローによる1ステップ当たりの演算時間は、図4或いは図5に示すフローによる1ステップ当たりの演算時間に比較して短くはならない。なぜなら、操作量uの項からなるタスクには、全ての制御器に係る演算が含まれるからである。つまり、予測モデル(Me-Ls)の演算(タスク4)、外乱補償器(Cdis)の演算(タスク5)、及びIMCフィルタ(Cimc)の演算(タスク6)が含まれている。これでは従来のシングルコアによる処理と変わることがない。それどころか、各コアにおけるタスクの演算結果を1つのコアへと集約して加減算を実行するため、その分のコストが追加されることにより1ステップ当たりの演算時間はかえって増加するおそれがある。
【0015】
以上述べたように、並列計算装置を制御装置に適用したとしても、それがソースコードレベルでの並列化である場合や、制御ロジックのレベルでの単純な並列化である場合には、並列計算による演算時間の短縮化を十分に達成することができない。フィードバック制御に係る演算の並列化によって演算時間の短縮をはかるのであれば、制御ロジックの段階でのさらなる工夫が必要である。
【0016】
本発明は、このような課題に鑑みてなされたもので、制御ロジックの段階での工夫により、演算時間の短縮が可能なようにフィードバック制御に係る演算を並列化することのできる制御装置の設計方法を提供することを目的とする。また、当該方法により設計された、フィードバック制御に係る演算を短い時間で実行することのできる制御装置を提供することを目的とする。
【課題を解決するための手段】
【0017】
本発明に係る制御装置の設計方法は、むだ時間を有する制御対象に組み合わせられ、制御量を目標値に近づけるようにフィードバック制御によって制御対象の操作量を決定する制御装置を設計する方法である。本発明におけるフィードバック制御には内部モデル制御が含まれ、さらに、内部モデル制御と等価変換可能な制御、例えばスミス法による制御も含まれる。本発明に係る制御装置の設計方法によれば、操作量に対する補正量を演算するフィードバックループを制御対象の予測モデルを含む複数の制御器を用いて設計することが行われる。次に、制御対象の予測モデルのむだ時間要素から、フィードバックループを構成する制御器の数と同数の遅延要素を取り出すことが行われる。そして、並列に動作する複数の演算装置を用いた並列計算によってフィードバックループの演算を行うように、複数の制御器のそれぞれを遅延要素と組み合わせて複数の演算装置に割り当てることが行われる。
【0018】
本発明に係る制御装置は、上記設計方法に基づき設計された制御装置である。本発明に係る制御装置は、並列に動作する複数の演算装置を備える。好ましくは、本発明に係る制御装置は複数のコアを有するマルチコアプロセッサに実装され、複数の演算装置のそれぞれに異なるコアが用いられる。しかし、複数の演算装置のそれぞれが、シングルコア或いはマルチコアのプロセッサとして構成されていてもよい。
【0019】
これらの演算装置は、演算装置間を順々に信号が伝達されるように構成されている。また、これらの演算装置は、信号の伝達の順序において最初の演算装置には制御対象の操作量が入力され、信号の伝達の順序において最後の演算装置から操作量に対する補正量が出力されるように構成される。つまり、これらの演算装置は、操作量を次ステップの操作量にフィードバックするための閉ループを構成する。制御対象はむだ時間を有しているから、この閉ループにも制御対象が有するむだ時間と同等の遅れが含まれている。
【0020】
演算装置のそれぞれは、入力を所定ステップ遅らせる遅延要素と、遅延要素で遅延された入力を処理して出力を得る制御器とを有している。各遅延要素によって遅らされるステップ数は1ステップであることが好ましい。遅延要素の全個数と制御装置の制御周期とによって演算装置間の信号の伝達における総遅延時間が定まる。本発明に係る制御装置が備える演算装置は、遅延要素による総遅延時間と制御器が有する総むだ時間との合計時間が制御対象が有するむだ時間に等しくなるよう構成されている。なお、制御対象が有するむだ時間とは、制御対象をモデル化した予測モデルのむだ時間と実質的に同意である。制御器のむだ時間は、全ての制御器が有している必要は無い。何れか1つの制御器がむだ時間を有していればよい。
【0021】
各演算装置は、演算装置間で制御機器の演算量が均等になるように構成されていることが好ましい。制御器には、例えば、むだ時間を無視した制御対象の予測モデル、制御対象が有するむだ時間と総遅延時間との差分をむだ時間とするむだ時間要素、IMCフィルタ、及び外乱補償器などの要素を含めることができる。これらの要素を適宜組み合わせて制御器を構成する。好ましくは、むだ時間が除かれた予測モデルを含む制御機器、むだ時間要素を含む制御機器、IMCフィルタを含む制御機器、外乱補償器を含む制御機器を別々に設ける。
【発明の効果】
【0022】
本発明に係る制御装置の設計方法によれば、フィードバックループを構成する複数の制御器が並列に動作する複数の演算装置に分配され、さらに、制御対象の予測モデルのむだ時間要素から制御器の数と同数の遅延要素が取り出されて各演算装置に対して分配される。フィードバックループを構成する各制御器の間には逐次性があるが、本発明のごとく制御器に遅延要素を組み合わせて各演算装置に実装することにより、各演算装置は遅延時間前の操作量或いは遅延時間前の他の演算装置の出力を用いて演算を行うことができ、他の演算装置の演算の終了を待って逐次的に演算を行う必要がない。つまり、本発明に係る制御装置の設計方法を採用することにより、演算時間の短縮が可能なようにフィードバック制御に係る演算を並列化することができる。
【0023】
本発明に係る制御装置によれば、上記設計方法に基づいた構成を有することにより、フィードバック制御に係る演算の並列化によって制御装置全体としての演算時間が短縮される。
【図面の簡単な説明】
【0024】
図1】本発明の実施の形態に係る制御装置における内部モデル制御の制御ロジックを示すブロック線図である。
図2図1に示す制御ロジックをマルチコアタイプの計算装置に実装した場合の各制御器による演算の時間的な関係を表した図である。
図3】従来の制御装置に用いられている一般的な内部モデル制御の制御ロジックを示すブロック線図である。
図4図3に示す制御ロジックをシングルコアタイプの計算装置に実装した場合の各制御器による演算の時間的な関係を表した図である。
図5図3に示す制御ロジックをマルチコアタイプの計算装置に実装した場合の各制御器による演算の時間的な関係を表した図である。
図6図3に示す制御ロジックを等価変換して得られた内部モデル制御の制御ロジックを示すブロック線図である。
図7図6に示す制御ロジックをマルチコアタイプの計算装置に実装した場合の各制御器による演算の時間的な関係を表した図である。
【発明を実施するための形態】
【0025】
以下、本発明の実施の形態について説明する。
【0026】
まず、前述の式(2)における操作量uの項に着目する。操作量uの項には予測モデルの伝達関数Me-Lsが含まれ、予測モデルの伝達関数Me-Lsにはむだ時間Lが含まれている。ここでは、むだ時間Lが制御周期Tの3周期分より長いとする。本発明に係る設計方法によれば、予測モデルのむだ時間要素e-Lsからフィードバックループを構成する制御器と同数の遅延要素e-Tsを取り出すことが行われる。操作量uの項には伝達関数Me-Lsを含めて3つの要素(制御器)が含まれているので、本発明に係る設計方法に従い、式(2)においてe-Lsからe-Tsを3つ取り出して各要素に分配する。これにより、次の式(3)で表される操作量uの更新式が得られる。ただし、本実施の形態では内部モデル制御に係る伝達関数は全て線形伝達関数であるとする。
【数3】
【0027】
図1は、本実施の形態に係る制御装置における内部モデル制御の制御ロジックを示すブロック図である。図1に示す制御ロジックは上記の式(3)に対応している。そして、式(2)と式(3)との関係から分かるように、図1に示す制御ロジックは図6に示す制御ロジックを等価変換したものに相当する。
【0028】
本制御装置では、制御量の目標値rがIMCフィルタ(Cimc)11に入力される。IMCフィルタ11から出力された操作量uは、外乱dとともに制御対象(Pe-Ls)2に入力される。本制御装置には2つの閉ループが構築されている。第1の閉ループは、制御対象2から出力された制御量のセンサ値yから補正量を算出し、その補正量を次ステップの操作量uにフィードバックする閉ループである。第2の閉ループは、制御対象2に入る前の操作量uから補正量を算出し、その補正量を次ステップの操作量uにフィードバックする閉ループである。
【0029】
第2の閉ループには、信号の伝達の順に、第1の演算装置21、第2の演算装置22、及び第3の演算装置23が並べられている。操作量uは第1の演算装置21に入力され、第3の演算装置23から次ステップの操作量uに対する補正量が出力される。第1の演算装置21は、遅延要素(D)17と制御器(Me-(L-3T)s)12とからなる。第2の演算装置22は、遅延要素(D)18と制御器(Cdis)13とからなる。第3の演算装置23は、遅延要素(D)19と制御器(Cimc)14とからなる。
【0030】
遅延要素(D)17,18,19は、入力された信号を1ステップ遅らせて出力する要素である。式(3)におけるe-Tsが実装時の離散化によって遅延要素(D)へと置き換えられている。このような構成により、制御器12には1ステップ前の操作量uが入力され、制御器13には1ステップ前の制御器12の出力が入力され、制御器14には1ステップ前の制御器13の出力が入力される。制御器12は予測モデル(Me-Ls)から3制御周期分の遅延要素(e-TS)を分離したものに相当する。ただし、制御器12に含まれるむだ時間要素(e-(L-3T)s)は、Pade近似によって有理関数に変換されたものが用いられる。制御器13は外乱補償器に対応し、制御器14はIMCフィルタに対応する。
【0031】
第1の閉ループには、第4の演算装置24が設けられている。第4の演算装置24は、制御器(Cdis)15と制御器(Cimc)16とからなる。制御器15は外乱補償器に対応し、制御器16はIMCフィルタに対応する。センサ値yは制御器15に入力され、制御器16から次ステップの操作量uに対する補正量が出力される。第4の演算装置24では、制御器15と制御器16との間で逐次的に演算が行われる。
【0032】
本実施の形態に係る制御装置は、マルチコアタイプの計算装置に実装される。実装では、IMCフィルタ11、第1の演算装置21、第2の演算装置22、第3の演算装置23、及び第4の演算装置24のそれぞれが別々のコアにて具現化される。つまり、目標値rを操作量uに変換するIMCフィルタの演算と、操作量uをフィードバックする第2の閉ループの伝達関数の演算と、センサ値yをフィードバックする第1の閉ループの伝達関数の演算とがそれぞれタスクとして分割されるとともに、第2の閉ループの伝達関数に係る演算については3つの制御器に係る演算の全てがそれぞれタスクとしてさらに分割され、各タスクが計5つのコアに割り当てられる。
【0033】
図2は、図1に示す制御ロジックをマルチコアタイプの計算装置に実装した場合の各制御器による演算の時間的な関係を表した図である。図2における横軸は時間軸であり、時間軸上に1ステップの処理が並べられている。この図においてコア1に割り当てられたタスクはIMCフィルタ11の演算に係るタスク1であり、その入力は目標値rである。コア2に割り当てられたタスクは制御器15の演算に係るタスク2と制御器16の演算に係るタスク3であり、その入力はセンサ値yである。コア2においてタスク2とタスク3は逐次的に処理される。
【0034】
コア3,4,5には、第2の閉ループの伝達関数の演算に係るタスクが分配して割り当てられる。コア3に割り当てられたタスクは制御器12の演算に係るタスク4である。タスク4には遅延要素17で1ステップ遅延された操作量u、すなわち、操作量uの前回値が入力される。コア4に割り当てられたタスクは制御器13の演算に係るタスク5である。タスク5には遅延要素18で1ステップ遅延されたタスク4の出力が入力される。そして、コア5には制御器14の演算に係るタスク6が割り当てられる。タスク6には遅延要素19で1ステップ遅延されたタスク5の出力が入力される。また、タスク1,3,6の出力から次のステップに対応する操作量u′を算出する加減算は、何れか1つのコア、好ましくは、最も演算量の少ないコアに割り当てられる。図2の例では、コア4にて操作量u′の算出のための加減算が行われるようになっている。
【0035】
ステップの開始と同時に、タスク1には入力ポートから目標値rが読み込まれ、タスク2には入力ポートからセンサ値yが読み込まれる。また、ステップの開始と同時に、タスク4,5,6には遅延要素から各出力の前回値が読み込まれる。ただし、最初のステップでは、時刻0における初期値として設定された値が遅延要素からタスク4,5,6に読み込まれる。何れにしても、コア3,4,5における演算では、コア1,2における演算と同様、タスクを開始するのに他のコアにおけるタスクの終了を待つ必要がない。よって、コア3,4,5は、コア1,2とともに、他のコアの演算の終了を待つことなく同時並列に演算を開始することができる。
【0036】
以上述べたように、本実施の形態に係る制御装置では、内部モデル制御に係る演算、詳しくは、操作量uをフィードバックする第2の閉ループの演算がコア3,4,5に分配され、これらコア3,4,5にて同時並列に演算が行われる。各コア3,4,5には演算量が概ね均等になるようにタスクの配分が行われているので、何れかのコアの演算時間が突出して長くなるようなことはない。よって、本実施の形態に係る制御装置によれば、従来に比較して1ステップの処理に要する演算時間の短縮が可能であり、装置全体として演算速度を向上させることができる。
【0037】
なお、本実施の形態に係る制御装置は、自動車用の内燃機関を制御対象とすることができる。内燃機関は火花点火式エンジンでもよいし、ディーゼルエンジンでもよい。例えば、制御対象が火花点火式エンジンであるならば、制御量をトルクとして操作量をスロットルとすることができる。また、制御対象が火花点火式エンジンであるならば、制御量をトルクとして操作量を燃料噴射量とすることができる。制御対象が過給エンジンの場合には、制御量を過給圧として操作量をウエストゲートバルブ開度や可変ノズル開度とすることができる。また、制御対象がEGR装置付きエンジンの場合には、制御量をEGR率として操作量をEGR開度とすることができる。
【0038】
制御対象が内燃機関の場合、制御装置の制御周期Tは内燃機関の燃焼サイクルと同期して変更されるようにすることもできる。もちろん、制御装置の制御周期Tは固定値でもよい。例えば、内燃機関の最大許容回転時の燃焼サイクルを基準にして制御周期Tを設定してもよい。
【0039】
さらに、本実施の形態に係る制御装置によって制御される制御対象は内燃機関には限定されない。例えば、内燃機関と電気モータとが組み合わされたハイブリッドシステムや燃料電池システムにも適用することができる。本実施の形態に係る制御装置は、リアルタイムでのオンライン制御が要求される制御対象、特に、移動体の動力装置の制御に好適であり、移動体に搭載される制御装置として特に有用である。もちろん、本実施の形態に係る制御装置は、制御対象がむだ時間を有するものであるならば、移動体の動力装置に限らず、定置型設備も含めて広い範囲の制御対象に適用することができる。
【0040】
ところで、本発明は上述の実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。例えば、制御対象2が有するむだ時間Lが制御周期Tの4周期分より長いのであれば、第1の演算装置21をさらに2つの演算装置に分割してもよい。この場合、制御器(Me-(L-3T)s)12は、むだ時間を無視した予測モデル(M)と、遅延要素(e-Ts)と、残りのむだ時間を有するむだ時間要素(Me-(L-4T)s)とに分割される。そして、むだ時間を無視した予測モデル(M)と遅延要素(e-Ts)とによって1つの演算装置が構成され、残りのむだ時間要素(Me-(L-4T)s)と遅延要素17とによってもう1つの演算装置が構成される。これらの演算装置には別々のコアが用いられる。なお、制御対象2が有するむだ時間Lが制御周期Tの3周期分であれば、むだ時間要素は無くすことができる。
【0041】
また、各遅延要素17,18,19が入力を遅延させるステップ数は、上述の実施の形態のとおり1ステップが好ましいが、制御器12が有するむだ時間を調整することにより遅延ステップ数を複数ステップにすることもできる。つまり、遅延要素17,18,19による総遅延時間と制御器12が有するむだ時間との合計時間と、制御対象2が有するむだ時間とが等しくなっていればよい。
【0042】
上述の実施の形態では伝達関数は線形伝達関数であると仮定したが、非線形伝達関数であっても初期値を適宜変更して入れ替えを行うことによって図3に示す構造から図1に示す構造に変換することができる。つまり、本発明に係る制御装置は、線形システムのみには限定されず非線形システムにも適用することができる。
【符号の説明】
【0043】
2 制御対象
11 IMCフィルタ
12,13,14,15,16 制御器
17,18,19 遅延要素
21,22,23,24 演算装置
図1
図2
図3
図4
図5
図6
図7