説明

制御装置及び制御方法

【課題】状態に応じて制御則を切り替えて操作量を演算する制御装置及び制御方法のために演算負荷を低減する手法を提供する。
【解決手段】制御装置100は、状態空間を分割する複数の凸多面体の各々に制御則が対応付けられており、状態ベクトルの属する凸多面体に対応する制御則を使用して操作量を演算する速度制御器110と、状態空間を規則的に区切る複数のメッシュのうち状態ベクトルの属するメッシュに関連する制御則を候補として、状態ベクトルの属する凸多面体に対応する制御則を該候補から決定する検索器112と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、状態に応じて制御則を切り替えて操作量を演算する制御装置及び制御方法に関する。
【背景技術】
【0002】
ハイブリッドシステムを対象とするモデル予測制御のためのコントローラを、マルチパラメトリック計画法(以下では「mp計画法」ともいう)を用いて設計することが近年試みられている(例えば、特許文献1、非特許文献1を参照)。こうした試みによれば、状態空間の領域ごとに異なる制御則が予め定められる。実際の制御においては、制御周期ごとに状態xに応じて制御則が選択され、その制御則を使用して状態xから操作量が演算される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−13990号公報
【非特許文献】
【0004】
【非特許文献1】藤田政之、外1名、「モデル予測制御−VI−ハイブリッドモデル予測制御」、システム/制御/情報、2003年、第47巻、第3号、p.146−152
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述の方式においては状態空間がしばしば多数の領域で区分され、制御周期はごく短い時間に設定される。状態空間の区分数は多くの場合例えば容易に100を超え、制御周期は用途によるが例えばサブミリ秒程度である。状態に応じて制御則を決定する処理は一般に相応の演算を要する。そのため、こうしたコントローラに典型的に用いられる演算処理装置にはとりわけ、演算負荷が過大になりがちである。よって、演算負荷の低減は、実装に向けての1つの課題となり得る。
【0006】
特許文献1に提案されるように、演算負荷の低減のために状態空間の区分数を減らすことが考えられる。例えば、物理的に生じ得ない区分を削除する、あるいは、制御ゲインの近い2つの隣接区分を1つに結合する、といった提案がされている。しかし、一般にはmp計画法を適用する段階で物理的に生じ得ない状態は予め排除されており、コントローラが設計された段階で削除できる区分は少ない。また、mp計画法で設計したコントローラを隣接区分の結合により恣意的に変えることで、コントローラの最適性が失われる可能性がある。よって、コントローラが設計された段階で状態空間の区分数を減らすことは必ずしも効果的であるとは言えない。
【0007】
本発明はこうした状況に鑑みてなされたものであり、そのある態様の例示的な目的のひとつは、状態に応じて制御則を切り替えて操作量を演算する制御装置及び制御方法のために演算負荷を低減する手法を提供することにある。
【課題を解決するための手段】
【0008】
本発明のある態様は、制御装置に関する。この装置は、状態空間を分割する複数の凸多面体の各々に制御則が対応付けられており、状態ベクトルの属する凸多面体に対応する制御則を使用して操作量を演算する制御器と、前記状態空間を規則的に区切る複数のメッシュのうち前記状態ベクトルの属するメッシュに関連する制御則を候補として、前記状態ベクトルの属する凸多面体に対応する制御則を該候補から決定する制御則検索器と、を備える。
【0009】
本発明の別の態様は、制御方法に関する。この方法は、各々に制御則が対応付けられており状態空間を分割する複数の凸多面体のうち状態ベクトルの属する凸多面体に対応する制御則を決定することと、前記状態ベクトルの属する凸多面体に対応する制御則を使用して操作量を演算することと、を含む。前記決定することは、前記状態空間を規則的に区切る複数のメッシュのうち前記状態ベクトルの属するメッシュに関連する制御則を候補とすることを含む。
【0010】
なお、本発明の構成要素や表現を、方法、装置、システム、コンピュータプログラムなどの間で相互に置換したものもまた、本発明の態様として有効である。
【発明の効果】
【0011】
本発明によれば、演算負荷を低減することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の一実施形態に係る制御装置を含むシステム構成の例を示すブロック図である。
【図2】本発明の一実施形態に係る切替コントローラにおける演算処理を説明するためのフローチャートである。
【図3】本発明の一実施形態に係る制御装置の適用例である射出成形機の一部を示す。
【図4】本発明の一実施形態に係る制御装置の適用例である射出成形機の一部を示す。
【図5】本発明の一実施形態に係る制御装置が適用される制御モデルの動特性変化の例を示す。
【図6】本発明の一実施形態に係る切替コントローラの一例を示す。
【図7】本発明の一実施形態に係るメッシュの例を示す。
【図8】本発明の一実施形態に係る凸多面体及びメッシュの例を示す。
【図9】本発明の一実施形態に係る凸多面体及びメッシュの例を示す。
【発明を実施するための形態】
【0013】
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
【0014】
ある実施の形態においては、状態空間を規則的に区切るメッシュが導入される。メッシュの規則性によって、状態ベクトルの属するメッシュを特定することが容易である。そのメッシュに重なりをもつ凸多面体を、状態ベクトルの属する凸多面体の候補とすることができる。それら候補について状態ベクトルの凸多面体への属否を判定することで、状態ベクトルの属する凸多面体を特定することができる。多数の凸多面体に闇雲に当たるのに比べて少ない判定回数で、状態ベクトルの属する凸多面体を発見できると期待される。凸多面体ごとに対応する制御則は予め定められている。こうして、状態ベクトルから制御則を決定する処理の演算量を低減することができる。
【0015】
図1は、本発明の一実施形態に係る制御装置100を含むシステム構成の例を示すブロック図である。制御装置100は、負荷(図示せず)を駆動するための電動機102、または電動機102を搭載した機器を制御するために設けられている。制御装置100は、例えば電動機102の速度制御のために設けられている。
【0016】
制御装置100は、状態量指令値演算部104と減算器106とを備える。状態量指令値演算部104は、所定の入力指令値(例えば速度指令値)から状態量指令値xrを演算する。入力指令値は例えば、上位の制御装置により制御装置100に与えられる。入力指令値に代えて状態量指令値xrが制御装置100に直接与えられてもよい。減算器106は、状態量指令値xr及び状態量推定値xhatを入力として、それらの差である偏差xe(=状態量指令値xr−状態量推定値xhat)を出力する。
【0017】
ここで、本システムの状態変数がn個(即ち、状態空間がn次元、nは1以上の整数)であるとき、状態量指令値xr及び状態量推定値xhatはそれぞれ、状態変数x1ないしxnの指令値及び推定値を成分にもつn×1の列ベクトルである。状態量推定値xhatを、以下では状態ベクトルと呼ぶことがある。状態量推定値xhat(つまり状態ベクトル)は、状態空間における位置ベクトルと見ることができる。状態変数x1ないしxnのうち一部の(または全部の)検出可能である状態変数については検出値が用いられ、検出不能である状態変数については推定値が用いられてもよい。
【0018】
制御装置100は、切替コントローラ108を備える。切替コントローラ108は、状態ベクトルxhatに応じて制御則を選択し、その制御則に従って状態ベクトルxhatから操作量uを演算する。そのために、切替コントローラ108は、速度制御器110と検索器112とを備える。速度制御器110及び検索器112の詳細については後述する。
【0019】
制御装置100は、電流制御器114を備える。電流制御器114は、切替コントローラ108から出力された操作量uに基づき電動機102に供給する制御電流を決定する。電動機102は電流制御器114から供給される制御電流によって駆動される。
【0020】
制御装置100は、状態演算部116と状態推定器118とを備える。状態演算部116は、電動機102の出力から少なくとも1つの状態変数の検出値を演算する。電動機102の出力は電動機102に付随する検出器(図示せず)により検出され、検出信号が状態演算部116に入力される。状態演算部116は演算結果(例えば検出速度)を状態推定器118に出力する。状態推定器118は、検出されない状態変数を、状態演算部116の出力と切替コントローラ108の出力する操作量uとから推定する。状態推定器118は、状態量推定値xhatを検索器112及び減算器106に出力する。こうした状態量推定それ自体は公知の方法を適宜採用することができる。このようにして、状態演算部116と状態推定器118とにより状態量がフィードバックされる。
【0021】
ところで、切替コントローラ108は、ハイブリッドシステムを対象とするモデル予測制御のためにmp計画法を用いて設計されている。この設計手法の結果として、状態空間がM個(Mは2以上の整数)の凸多面体の領域に分割され、凸多面体の各々に異なる制御則が対応付けられている。多くの場合、少なくとも100を超える凸多面体で状態空間は分割される。
【0022】
切替コントローラ108は、状態変数x(または状態量推定値xhat)から操作量uを、u=Fi・x+Gi(またはu=Fi・xhat+Gi)で演算する形式で設計される。ここで、操作量uがm次元のとき、Fiはm×nの行列であり、Giはm×1の列ベクトルである。Fi及びGiが、i番目(iは1以上M以下の整数)の凸多面体に対応付けられた制御則を表す。以下では、i番目の凸多面体を凸多面体iと表記することがある。
【0023】
速度制御器110は、操作量uをu=Fi・xe+Giにより演算する。偏差xeを用いるのは状態変数を指令値xrに追従させるためである。速度制御器110は、求めた操作量uを電流制御器114に出力する。また、速度制御器110は、操作量uを状態推定器118に出力する。
【0024】
検索器112は、速度制御器110にて使用する制御則Fi及びGiを、制御周期ごとに状態ベクトルxhatに応じて切り替える。検索器112は、制御則Fi及びGiの切替のために、速度制御器110にて使用する制御則の検索処理を実行する。制御則の検索処理は、状態ベクトルxhatが属する凸多面体を総数M個の凸多面体から検索し、その凸多面体に対応する制御則Fi及びGiを決定する処理である。この処理は言い換えれば、状態空間において状態ベクトルxhatが表す位置座標を幾何学的に包含する凸多面体i(及び対応する制御則Fi及びGi)を特定する処理である。
【0025】
n次元の状態空間における任意の点を表す列ベクトルxがi番目の凸多面体の内部にあるとき、列ベクトルxは、Hi・x≦Kiなる不等式を満たす。ここで、i番目の凸多面体の面の数がmiのとき、Hiはmi×nの行列であり、Kiはmi×1の列ベクトルである。列ベクトルxは成分x1ないしxnからなる。不等式Hi・x≦Kiは変数x1ないしxnについての連立不等式である。連立不等式Hi・x≦Kiがn次元の状態空間におけるi番目の凸多面体を定義する。
【0026】
制御則の検索処理は、M個の凸多面体のうちどの凸多面体に状態ベクトルxhatが属するかを判定するために、不等式Hi・xhat≦Kiが成立する凸多面体iを決定する処理を含む。検索器112は例えば、不等式Hi・xhat≦Kiが成立するHi、Kiを発見するまでi=1、2、...、Mと順次、当該不等式が成立するか否かを判定してもよい。不等式を成立させる正解の凸多面体は1つのみである。仮に正解がM番目の凸多面体であった場合には、検索器112は不等式の成立判定をM回繰り返すことになる。
【0027】
凸多面体の総数は上述のように最小でも100を超えるから、不等式の判定回数も100回を超えうる。電動機102の制御周期は一般に例えば0.1ms程度である。こうした短時間で多数回の判定を行うことは、制御装置100に通例用いられるプロセッサにとって過大な演算負荷となり得る。
【0028】
そこで、本実施形態においては、検索器112は、不等式の成立判定処理に先立って、正解を含むよう適切に候補を抽出し、不等式の成立判定処理の実行をそれら候補に限定する。こうして不等式の判定回数を少なくすることにより、制御則の検索処理の演算負荷が軽減される。
【0029】
図2は、切替コントローラ108における演算処理を説明するためのフローチャートである。この演算処理は制御装置100による制御処理の一部を構成し、制御装置100の制御周期ごとに実行される。この演算処理は、偏差xe及び状態量推定値xhatを含む切替コントローラ108への入力から操作量uを含む出力を演算する処理である。
【0030】
処理が開始されると、切替コントローラ108は、偏差xe及び状態量推定値xhatの入力を受ける(S10)。上述のように、偏差xeは減算器106から速度制御器110に入力され、状態量推定値xhatは状態推定器118から検索器112に入力される。
【0031】
切替コントローラ108は、入力に基づき制御則の検索処理を実行する(S12)。検索器112は、状態空間に導入されたメッシュに基づいて制御則の候補を抽出し、候補から状態量推定値xhatに応じた制御則を選択するという2段階の処理で、速度制御器110にて使用する制御則を決定する。次に述べるように検索処理は、メッシュ特定処理(S14)と、候補凸多面体特定処理(S16)と、制御則決定処理(S18)と、を含む。
【0032】
検索器112は、入力された状態量推定値xhatが属するメッシュを特定する(S14)。後述するように、事前の準備作業によって状態空間は幾何学的に規則的なメッシュで区切られている。検索器112は、メッシュの規則性に基づいて、状態量推定値xhatが属するメッシュを特定する。
【0033】
検索器112は、M個の凸多面体から、状態量推定値xhatが属するメッシュに関連する凸多面体を、状態量推定値xhatが属する凸多面体の候補として抽出する(S16)。そのために、検索器112は、メッシュ特定処理(S14)にて特定されたメッシュに関連する凸多面体を、インデックスを参照して特定する。後述するように、事前の準備作業によって、個々のメッシュに幾何学的に重なりをもつ凸多面体の一覧がインデックスとして作成されている。凸多面体の総数M個に比べて少数のP個の凸多面体が、状態量推定値xhatの属する凸多面体の候補となる。
【0034】
検索器112は、状態量推定値xhatの属する凸多面体を候補から特定し、その凸多面体に対応する制御則を決定する(S18)。検索器112は、P個の候補凸多面体について、不等式Hi・xhat≦Kiが成立するHi、Kiを発見するまでi=1、2、...、Pと順次、当該不等式が成立するか否かを判定する。検索器112は、不等式を満たす凸多面体を、状態量推定値xhatの属する凸多面体と特定する。検索器112は、特定された凸多面体に対応する制御則Fi、Giを、速度制御器110で使用すべき制御則と決定する。検索器112は、決定された制御則Fi、Giに速度制御器110を切り替える。
【0035】
速度制御器110は、決定された制御則Fi、Giに従って偏差xeから操作量uを演算する(S20)。速度制御器110は、上述のように、操作量uを電流制御器114及び状態推定器118に出力する。こうして、切替コントローラ108における操作量uの演算処理は終了する。
【0036】
上述の構成により制御装置100は、制御周期ごとに状態量推定値xhatに応じて制御則を選択し、その制御則に従って状態量推定値xhatと指令値xrとの偏差xeから操作量uを演算する。制御装置100は、操作量uに基づいて電動機102を制御し、その結果である状態量推定値xhatをフィードバックする。次の制御周期においても同様に、制御装置100は、状態量推定値xhatに応じて制御則を切り替えて、電動機102を制御する。
【0037】
よって、制御装置100は、状態変数に依存して動特性が変化するシステムの制御に向いている。1つの適用例として、射出成形機の射出装置のための射出モータの速度制御が挙げられる。射出モータからそれによって駆動されるスクリューへの動力伝達機構にはたいてい、部材間に敢えて遊びが設けられている。図3及び図4を参照して説明するように、遊びの存在によって、射出モータ45によるスクリュー位置制御に不感帯が生じる。制御装置100を適用することにより、実際上許容できる演算負荷でこうした不感帯をモデルに組み込むことができるようになる。それにより、より高精度の制御を提供することができる。
【0038】
図3は、制御装置100が適用される射出成形機の射出装置の一例を示す。図4は、図3に示す射出装置に設けられている加熱シリンダ12及びスクリュー22の一例を示す。図3及び図4に示す射出装置の構成それ自体は知られている。以下では、上記の不感帯に関連する部分を中心に説明する。
【0039】
図3に示す射出装置は、計量モータ44と射出モータ45とを備える。射出装置の駆動部ケース11の前方部に計量モータ44が、後方部に射出モータ45が、互いに同一軸上に配設される。計量モータ44は溶融樹脂の計量工程のためにスクリュー22(図4参照)を回転させ、射出モータ45は計量された樹脂の射出工程のためにスクリュー22を軸線方向に直線運動させる。スクリュー22は加熱シリンダ12に収容されており、加熱シリンダ12の後方に駆動部ケース11が固定されている。
【0040】
射出モータ45の回転出力をスクリュー22の直線運動に変換するための動力伝達機構が軸線上に設けられている。この動力伝達機構は、軸線上に配設された、ボールねじ軸65、ボールナット69、第2スプライン軸71、ベアリングボックス73、及び、第1スプライン軸63を備える。動力伝達機構を収容するために、計量モータ44及び射出モータ45の出力軸は中空とされている。
【0041】
射出モータ45のロータ49の回転によりボールねじ軸65が回転するように、ロータ49の後端にボールねじ軸65の後端が取り付けられている。その取付位置の前方でボールねじ軸65にボールナット69が螺合しており、ボールナット69の前部に第2スプライン軸71が固定されている。第2スプライン軸71は、駆動部ケース11に固定されている第2スプラインナット76とスプライン係合している。第2スプライン軸71の前方に第1スプライン軸63がベアリングボックス73を介して連結されている。ベアリングボックス73は第2スプライン軸71と第1スプライン軸63とが一体に軸線方向に移動可能に、かつ第2スプライン軸71に対し第1スプライン軸63が回転可能に、両者を連結している。第1スプライン軸63の前端にスクリュー22の後端が固定されている。
【0042】
よって、射出モータ45のロータ49の回転によりボールねじ軸65が回転する。第2スプライン軸71及び第2スプラインナット76によりボールナット69の回転は拘束されているので、ボールねじ軸65の回転はボールナット69の軸線方向の直線運動に変換される。ボールナット69と一体に、第2スプライン軸71、ベアリングボックス73、第1スプライン軸63、及びスクリュー22が軸線方向に移動する。射出工程においては計量モータ44は停止されている。こうして、射出工程のために、射出モータ45の駆動によりスクリュー22を前進させることができる。
【0043】
上述の動力伝達機構には、計量モータ44の回転によりスクリュー22を回転させるための回転伝達機構も組み込まれている。計量モータ44のロータ47に第1スプラインナット62が固定され、第1スプラインナット62は第1スプライン軸63とスプライン係合している。上述のように第1スプライン軸63と第2スプライン軸71とはベアリングボックス73により相対回転可能に連結されている。
【0044】
よって、計量工程において計量モータ44の回転は、第1スプラインナット62、第1スプライン軸63を経てスクリュー22に伝達される。スクリュー22は、加熱シリンダ12内に投入される樹脂を溶融させながら前進し、それに伴って生じる溶融樹脂の背圧によって後退させられる。射出モータ45は、計量される樹脂の背圧を制御しながら駆動され、ロータ49はスクリュー22を後退させる方向に回転させられる。
【0045】
射出モータ45の回転を検出する検出器として絶対値パルスエンコーダ85が設けられている。絶対値パルスエンコーダ85は、射出モータ45のロータ49及びボールねじ軸65の回転角度を検出する。絶対値パルスエンコーダ85は、射出装置の軸線上の最後端部に取り付けられている。また、樹脂の背圧は例えば、スクリュー22に作用する軸方向荷重、または加熱シリンダ12内の樹脂圧力に基づいて求められる。スクリュー22の軸方向荷重は図示されない荷重計により検出される。加熱シリンダ12内の樹脂圧力は図示されない圧力センサにより検出される。
【0046】
図3に示す射出装置の動力伝達機構においては、例えば第2スプラインナット76と第2スプライン軸71との間に若干の遊びがある。第2スプラインナット76と第2スプライン軸71との軸線方向の相対運動における摺動抵抗を小さくするために、遊びを設けることが好ましい。また、遊びがあることによって、部材の加工精度(ひいては加工コスト)を実用上適切な程度に収めることができる。
【0047】
こうした遊びによって、射出モータ45のスクリュー駆動制御に不感帯が生じる。スクリュー位置に相当する負荷角度θLとロータ49の角度θMとの相対角度θTが遊びよりも小さいとき、ボールナット69に推力Fは発生しない。一方、相対角度θTが遊びよりも大きいとき、ボールナット69に推力Fが発生する。ここで、負荷角度θLは例えば、スクリュー位置をボールねじリードを用いて回転座標に変換した値である。
【0048】
不感帯が存在することで、射出モータ45によるスクリュー22の直線運動は動特性が変化する。射出工程では成形品質を高めるために、スクリューの位置および推力を高精度に制御することが求められる。不感帯による動特性の変化は制御性能に影響しうる。
【0049】
そこで、本実施形態では、上述の制御装置100を射出モータ45によるスクリュー22の速度制御に適用する。不感帯による動特性変化を表したスクリューの直線運動モデルに対しmp計画法を用いて切替コントローラ108が設計される。動特性の変化に応じた制御則の切替制御によって、スクリューの位置および推力を高精度に制御することが可能となる。制御装置100を適用することにより、実際上許容できる演算負荷で動特性変化をスクリュー22の直線運動モデルに組み込むことができる。
【0050】
スクリュー22の直線運動モデルは3つの状態変数x1ないしx3で表すことができる。状態空間は3次元である。3つの状態変数x1ないしx3としてはさまざまな組み合わせがあり得る。ここでは一例として、状態変数x1を射出モータ45のロータ角速度ω、状態変数x2をロータ角度θMと負荷角度θLとの相対角度θT、状態変数x3を負荷角速度ωLとする。
【0051】
この場合、図1に示す状態量指令値演算部104への入力指令値は、図示されない上位の制御装置から指令されるロータ角速度ωの指令値ωrである。状態量指令値演算部104は、ロータ角速度指令値ωrを変換ベクトルT1によって状態量指令値xrに変換する。
【0052】
状態量推定値xhatは、状態変数x1ないしx3を成分にもつ3次元の列ベクトルである。状態変数x1は、状態演算部116が絶対値パルスエンコーダ85で検出したロータ角度θMからその速度を演算することで求められる。状態変数x2、x3は、射出モータ45への電流指令値uと状態変数x1とから状態推定器118により推定される。
【0053】
図5は、スクリュー22の直線運動モデルの動特性変化を示す。状態変数x1ないしx3による状態空間において推力Fが発生しないθTの不感帯幅をθDBとすると、図示の領域1および領域3においては推力Fが発生し、領域2では推力が発生しない。このモデルにおいて動特性のモード数は3である。
【0054】
装置における物理的な制約などによって、状態変数x1ないしx3のそれぞれの取り得る範囲が定まる。よって状態空間は有限の領域となる。状態変数x1の範囲は、射出モータ45に許容されるロータの最大角速度により定められる。状態変数x2の範囲は、射出装置に許容される最大相対角度により定められる。推力Fは、
【数1】

と表される(係数Ksはボールねじに固有の係数である。)。この関係式により、推力Fの最大値から相対角度θTの範囲を規定することができる。状態変数x3の範囲は、ロータの最大角速度により定められる。
【0055】
図6は、切替コントローラ108の一例である。切替コントローラ108は、図5に例示するスクリュー22の直線運動モデルに対しmp計画法を用いて設計されている。状態空間は1231個の凸多面体に分割され、それぞれの凸多面体に異なる制御則Fi、Giが割り当てられている。図からわかるように、幾何学的に見て状態空間は多数の凸多面体で不規則に分割されている。また、場所によって凸多面体に疎密があることもわかる。例えば図5に示す領域2に相当するエリアには微小な凸多面体が密集している。
【0056】
切替コントローラ108の検索器112は上述のように、状態量推定値xhatから制御則Fi、Giを検索する。切替コントローラ108の速度制御器110は、偏差xeから電流指令値u(=Fi・xe+Gi)を演算し、電流制御器114に出力する。電流制御器114は、電流指令値uに基づいて射出モータ45のステータに電流を供給し、射出モータ45を駆動する。
【0057】
次に、制御則の検索処理のための事前の準備作業を説明する。準備作業には3つの段階がある。第1に、切替コントローラ108が設計される。第2に、状態空間がメッシュで区切られる。第3に、メッシュと凸多面体とを関連付けるインデックスが作成される。第2段階及び第3段階により、複数のメッシュの各々と、各メッシュに重なりをもつ凸多面体に対応する制御則とが予め関連付けられる。準備作業は、制御処理に先立ってオフラインで行われる。準備作業は、制御装置100により、またはその他の演算装置で実行される。
【0058】
切替コントローラ108の設計作業は、モデル予測制御問題をmp計画法により解くことにより、状態空間を制御則u=Fi・x+Giが適用できる領域ごとに分割して、多面体の集合を構成する作業である。状態空間は状態変数の取り得る範囲によって規定される有限な空間である。多面体の集合は図6に例示され、凸多面体の集合である。状態空間が定義され、すべての凸多面体について制御則を表す行列Fi、Gi、及び凸多面体を表す行列Hi、Kiが演算される。ここで定義された状態空間を表す情報、及び、求められた行列Fi、Gi、Hi、Kiは、切替コントローラ108に付随する記憶手段(図示せず)に保存される。
【0059】
次に、状態空間にメッシュが作成される。上述のように、状態変数の制約条件により状態空間は有限の領域である。状態空間がN個(Nは2以上の整数)のメッシュにより規則的に区切られる。各メッシュには特定のためにメッシュ番号j(jは1以上N以下の整数)が付与される。メッシュの形状は、状態空間の基底ベクトルに各面が平行となる形状であることが望ましい。つまり、状態空間が例えば2次元であれば長方形、3次元であれば直方体が望ましい。このようにすれば、状態量推定値xhatにより表される状態空間での位置座標から直ちに、その状態量推定値xhatが属するメッシュ番号jを求めることができる。図7に3次元の場合のメッシュの例を示す。メッシュを表す情報は、切替コントローラ108に付随する記憶手段(図示せず)に保存される。
【0060】
メッシュの大きさは、1つのメッシュにいくつかの凸多面体が重なり合うように定めることが好ましい。メッシュに重なり合う凸多面体の数が、状態ベクトルの属する凸多面体の候補の数を定める。例えば、1つのメッシュに多くとも約10個の凸多面体が重なりをもつようにメッシュの大きさを定めることができる。このようにすれば、凸多面体の候補を10個程度に抑え、検索処理の演算負荷を実装可能なレベルに軽減することができる。
【0061】
図7に例示するメッシュは、均一の形状及び大きさで状態空間を区切っている。しかし、状態空間を区切るすべてのメッシュが均一の形状または大きさではなくてもよい。例えば、状態空間における凸多面体の疎密にメッシュの分布を合わせ、凸多面体の密集領域(例えば、図6において、図5に示す領域2にあたる部分)が疎領域よりも細かいメッシュで区切られてもよい。このようにして、各メッシュに重なりをもつ凸多面体の数を均一化するようにしてもよい。この場合、当初は状態空間を粗いメッシュで区切り、基準を超える凸多面体と重なり合うメッシュについてのみ更に細かいメッシュで区切るという手順でメッシュが設定されてもよい。
【0062】
メッシュ作成に次いで、凸多面体のインデックスが作成される。状態空間を区切るN個のメッシュすべてについて、メッシュと重なりをもつ凸多面体をそのメッシュに関連付けることにより、インデックスが作成される。j番目のメッシュに重なりをもつ凸多面体の集合をNjと表記する。各メッシュjの集合Njによりインデックスが構成される。凸多面体のインデックスを表す情報は、切替コントローラ108に付随する記憶手段(図示せず)に保存される。
【0063】
(凸多面体のインデックスの作成方法の例示)
インデックスは例えば、凸多面体の頂点に着目して作成される。ある凸多面体の頂点があるメッシュに含まれる場合にはその凸多面体とメッシュとは重なりをもつ。そこで、i番目の凸多面体のいずれかの頂点がj番目のメッシュに含まれる場合に、i番目の凸多面体が集合Njの要素であると判定される。メッシュの規則性により、凸多面体の頂点の座標からその頂点を含むメッシュを容易に特定することができる。この判定がすべての凸多面体について繰り返されることで、集合Njが決定される。他のメッシュについても同様にして、そのメッシュに重なりをもつ凸多面体を求めることができる。凸多面体と制御則とが1対1に対応付けられていることから、状態空間を区分する制御則それぞれが各メッシュに関連付けられることになる。
【0064】
図8に例示するように、j番目のメッシュにi番目の凸多面体が重なりをもつ場合には、メッシュjに凸多面体iの全体が含まれる場合(図8(a))と、メッシュjに凸多面体iの一部分が含まれる場合(図8(b))と、メッシュjが凸多面体iに含まれる場合(図8(c))と、が主に考えられる。図8には便宜上、2次元の状態空間の例を示す。ところが、例えばメッシュjが凸多面体iに含まれる場合には(図8(c))、そのメッシュjは凸多面体iの頂点を含まない。そこで、i番目の凸多面体がj番目のメッシュの頂点を含む場合に、i番目の凸多面体が集合Njの要素であると判定されてもよい。また、i番目の凸多面体がj番目のメッシュの任意の点を含む場合に、i番目の凸多面体が集合Njの要素であると判定されてもよい。
【0065】
さらに、i番目の凸多面体がj番目のメッシュと重なりをもつ場合には、i番目の凸多面体内にj番目のメッシュの頂点が含まれず、かつj番目のメッシュ内にi番目の凸多面体の頂点が含まれない状況も想定される。例えば図9に示すように、あるメッシュ(例えば、メッシュ3及びメッシュ4)を凸多面体iの辺の一部分が通過することもあり得る。
【0066】
こうした状況が想定される場合には、インデックスの作成のために、凸多面体及びメッシュの頂点以外の凸多面体またはメッシュの幾何学的特徴が使用されてもよい。インデックスの作成は、例えば、ある凸多面体iに重なりをもつメッシュの集合の凸性をチェックすることを含んでもよい。ここで、「メッシュの集合の凸性」とは、「メッシュの集合に含まれるメッシュの中心間を結ぶすべての線分がメッシュの集合の外に出ないこと」と定義する。メッシュの中心間を結ぶ線分のいずれかが通るメッシュjについては、当該メッシュの集合Njの要素に凸多面体iが追加されるようにしてもよい。
【0067】
例えば、図9において凸多面体iは図示のメッシュ1,2,3,4,5,6すべてと重なっている。頂点に着目する方法ではメッシュ1,2,5,6と凸多面体iとの重なりが検出される。このとき、凸多面体iは、メッシュ1の集合N1(即ち、メッシュ1と重なりをもつ凸多面体の集合N1)、メッシュ2の集合N2、メッシュ5の集合N5、メッシュ6の集合N6それぞれの要素となる。
【0068】
ここでは併せて、凸多面体iに重なりをもつメッシュの集合{1,2,5,6}の凸性がチェックされる。そうすると、メッシュ1,2,5,6の中心間を結ぶ線分のうち、例えば、メッシュ1とメッシュ5の中心を結ぶ線分aとメッシュ2とメッシュ6の中心を結ぶ線分bとが、メッシュ集合{1,2,5,6}の外に出ることがわかる。そこで線分aがメッシュ集合{1,2,5,6}の外で通過するメッシュ3と、線分bがメッシュ集合{1,2,5,6}の外で通過するメッシュ4とをメッシュの集合{1,2,5,6}に加える。このようにして、凸多面体iに重なりをもつメッシュがメッシュ1ないし6であることがわかる。この場合、メッシュ3の集合N3及びメッシュ5の集合N5のそれぞれに凸多面体iが追加される。
【0069】
(凸多面体の頂点座標の求め方の例示)
インデックス作成のために凸多面体の頂点座標を求める方法を述べる。この方法は、数値演算の微小な誤差を許容する実用的な方法である。この方法は、凸多面体を定義するための連立不等式から複数の不等式を選択し不等号を等号に置き換えて得られる連立方程式の解を、当該連立方程式に組み入れられなかった不等式を満たすことを条件として、当該凸多面体の頂点とみなす。
【0070】
凸多面体の頂点座標を求める方法は、3つのステップからなる。第1は、凸多面体を定義する連立不等式から連立方程式を作成するステップである。状態空間がn次元であり、凸多面体の面の数がmであるとき、この連立方程式は、連立不等式から抽出されたmCn個の不等式の不等号を等号に置き換えたものである。第2ステップでは、連立方程式を解いて交点xcを求める。この交点xcは凸多面体の頂点ではない場合がある。それを排除するのが第3ステップである。第3ステップは、連立方程式の解である交点xcが、連立不等式のうち連立方程式に組み入れられなかった残りの不等式をすべて満たすか否かを判定する。交点xcが凸多面体の頂点ではない場合には、残りの不等式のいずれかが満たされない。このようにして、凸多面体の頂点座標を求めることができる。
【0071】
以上述べたように、本実施形態によれば、状態空間が凸多面体の領域に分割されており、凸多面体ごとに制御則が予め対応付けられている。一般に凸多面体は状態空間を不規則に分割する。状態空間を規則的に区切るメッシュが導入されることにより、凸多面体のいわばマッピングがなされる。よって、状態ベクトルの属する凸多面体を少ない演算量で速やかに特定することができる。
【0072】
以上、本発明を実施例にもとづいて説明した。本発明は上記実施形態に限定されず、種々の設計変更が可能であり、様々な変形例が可能であること、またそうした変形例も本発明の範囲にあることは、当業者に理解されるところである。
【0073】
上述の制御装置100においては、ハイブリッドシステムを対象とするモデル予測制御のための切替コントローラ108がmp計画法を用いて設計されている。しかし、本発明の適用対象はこれには限定されず、動特性変化のない線形システムにおいて状態量または操作量の範囲が規定された制約条件付のモデル予測制御にも同様に適用可能である。こうした制約条件付のモデル予測制御問題についてもmp計画法により、図6に例示されるものと同様のコントローラが設計可能であることが知られている。また、本発明はこうした設計手法には限定されず、状態空間を分割する複数の凸多面体の各々に制御則が対応付けられている任意のコントローラにも適用することができる。
【0074】
制御装置100の適用対象は射出モータ45または電動機102の速度制御には限られない。射出モータ45またはその他の電動機の電流制御または位置制御を含む任意の制御にも適用することができる。また、制御装置100の適用対象は射出モータ45に限られず、計量モータ44または例えば可動プラテンを駆動する型締めモータを含む射出成形機の任意の電動機に適用することができる。
【0075】
また、制御装置100の適用対象は射出成形機または電動機に限られず、ロボット、コンバータ、あるいは油圧制御など、制御周期が短く動特性が不連続に切り換わる任意の機器の制御に適用することができる。
【符号の説明】
【0076】
100 制御装置、 108 切替コントローラ、 110 速度制御器、 112 検索器。

【特許請求の範囲】
【請求項1】
状態空間を分割する複数の凸多面体の各々に制御則が対応付けられており、状態ベクトルの属する凸多面体に対応する制御則を使用して操作量を演算する制御器と、
前記状態空間を規則的に区切る複数のメッシュのうち前記状態ベクトルの属するメッシュに関連する制御則を候補として、前記状態ベクトルの属する凸多面体に対応する制御則を該候補から決定する制御則検索器と、を備えることを特徴とする制御装置。
【請求項2】
前記複数のメッシュの各々と、各メッシュに重なりをもつ凸多面体に対応する制御則とが予め関連付けられていることを特徴とする請求項1に記載の制御装置。
【請求項3】
前記状態空間は、M個(Mは2以上の整数)の凸多面体に分割され、N個(Nは2以上の整数)のメッシュに区切られており、
i番目(iは1以上M以下の整数)の凸多面体のいずれかの頂点がj番目(jは1以上N以下の整数)のメッシュに含まれる場合に、当該i番目の凸多面体が当該j番目のメッシュに関連付けられることを特徴とする請求項1または2に記載の制御装置。
【請求項4】
凸多面体を定義するための連立不等式から複数の不等式を選択し不等号を等号に置き換えて得られる連立方程式の解が、当該連立方程式に組み入れられなかった不等式を満たすことを条件として、当該凸多面体の頂点とみなされることを特徴とする請求項3に記載の制御装置。
【請求項5】
各々に制御則が対応付けられており状態空間を分割する複数の凸多面体のうち状態ベクトルの属する凸多面体に対応する制御則を決定することと、
前記状態ベクトルの属する凸多面体に対応する制御則を使用して操作量を演算することと、を含み、
前記決定することは、前記状態空間を規則的に区切る複数のメッシュのうち前記状態ベクトルの属するメッシュに関連する制御則を候補とすることを含むことを特徴とする制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図5】
image rotate

【図6】
image rotate