(57)【要約】  制御装置において、第１処理部（５１）は、第１処理として、制御のための出力値の演算をデジタル演算装置（２１）で実行する。第２処理部（５２）は、第２処理として、第１処理の演算精度を上げるために第１処理部（５１）に入力される入力値の演算であり、演算量が多いほど第１処理の演算精度が上がる演算をデジタル演算装置（２１）で実行する。スケジュール処理部（５４）は、デジタル演算装置（２１）の使用時間と第１処理の演算精度との制約に合わせて、第２処理部（５２）に対し、第２処理の演算量および演算頻度の少なくともいずれかを調整する。
2018198237.tif 000002
【特許請求の範囲】
【請求項１】
第１処理として、制御のための出力値の演算をデジタル演算装置で実行する第１処理部と、
第２処理として、前記第１処理の演算精度を上げるために前記第１処理部に入力される入力値の演算であり、演算量が多いほど前記第１処理の演算精度が上がる演算を前記デジタル演算装置で実行する第２処理部と、
前記デジタル演算装置の使用時間と前記第１処理の演算精度との制約に合わせて、前記第２処理部に対し、前記第２処理の演算量および演算頻度の少なくともいずれかを調整するスケジュール処理部と
を備える制御装置。
【請求項２】
第３処理として、前記第１処理および前記第２処理とは別の処理を前記デジタル演算装置で実行する第３処理部をさらに備え、
前記スケジュール処理部は、前記デジタル演算装置の使用時間と前記第１処理の演算精度との制約に合わせて、前記第３処理部に前記第３処理の少なくとも一部を実行させるかどうかを決定する請求項１に記載の制御装置。
【請求項３】
前記スケジュール処理部は、前記デジタル演算装置の使用時間と前記第１処理の演算精度との制約に合わせて、前記第３処理部に前記第３処理を実行させるか前記第３処理の一部を実行させるか前記第３処理を実行させないかを決定する請求項２に記載の制御装置。
【請求項４】
前記スケジュール処理部は、前記第１処理の実行にかかる時間を固定時間とみなし、前記第３処理の実行にかかる時間を要求処理時間として前記第３処理部から通知され、前記第２処理の実行にかかる時間が前記デジタル演算装置の使用時間の上限値から前記固定時間と前記要求処理時間とを引いて得られる第１残り時間内に収まり、かつ、前記第１処理の演算精度が閾値を上回る、前記第２処理の演算量および演算頻度の組み合わせを探索することで、前記第２処理の演算量および演算頻度を調整する請求項２または３に記載の制御装置。
【請求項５】
前記スケジュール処理部は、前記第３処理の一部の実行にかかる時間を最低処理時間として前記第３処理部から通知され、前記第２処理の実行にかかる時間が前記第１残り時間内に収まり、かつ、前記第１処理の演算精度が前記閾値を上回る、前記第２処理の演算量および演算頻度の組み合わせがなければ、前記第２処理の実行にかかる時間が前記デジタル演算装置の使用時間の上限値から前記固定時間と前記最低処理時間とを引いて得られる第２残り時間内に収まり、かつ、前記第１処理の演算精度が前記閾値を上回る、前記第２処理の演算量および演算頻度の組み合わせを探索することで、前記第２処理の演算量および演算頻度を調整する請求項４に記載の制御装置。
【請求項６】
前記スケジュール処理部は、前記第２処理の実行にかかる時間が前記第２残り時間内に収まり、かつ、前記第１処理の演算精度が前記閾値を上回る、前記第２処理の演算量および演算頻度の組み合わせがなければ、前記第２処理の実行にかかる時間が前記デジタル演算装置の使用時間の上限値から前記固定時間を引いて得られる第３残り時間内に収まり、かつ、前記第１処理の演算精度が前記閾値を上回る、前記第２処理の演算量および演算頻度の組み合わせを探索することで、前記第２処理の演算量および演算頻度を調整する請求項５に記載の制御装置。
【請求項７】
前記第１処理は、フィードフォワード制御の処理であり、
前記第２処理は、フィードバック制御の処理である請求項１から６のいずれか１項に記載の制御装置。
【請求項８】
前記第２処理は、モデル予測制御を用いる処理である請求項１から７のいずれか１項に記載の制御装置。
【請求項９】
請求項１から８のいずれか１項に記載の制御装置と、
前記制御装置により制御される電動機と
を備える機器。
【請求項１０】
デジタル演算装置を備えるコンピュータに、
制御のための出力値の演算である第１処理と、
前記第１処理の演算精度を上げるための入力値の演算であり、演算量が多いほど前記第１処理の演算精度が上がる演算である第２処理と、
前記デジタル演算装置の使用時間と前記第１処理の演算精度との制約に合わせて、前記第２処理の演算量および演算頻度の少なくともいずれかを調整するスケジューリングと
を実行させる制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、機器および制御プログラムに関するものである。
【背景技術】
【０００２】
電動機および電力制御装置等のパワーエレクトロニクス機器は、一般的に、スイッチング素子と制御装置との組み合わせを用いて実現される。制御装置の制御機構の一部または多くの部分は、一般的に、マイクロコンピュータで動作するソフトウェアにより実現される。【０００３】
近年のパワーエレクトロニクス機器に対する要求は、以前に増して高くなっている。特に、低損失性および小型化が求められている。【０００４】
要求を満たすために、より低損失の素子を高いスイッチング速度で制御することが必要である。より短時間での制御を実施する必要がある。【０００５】
一方で、制御に関して考慮すべき事項が増えている。多入力、多出力および多制約条件を加味して、電気的および物理的に低ノイズの制御を実現するために、モデル予測制御等の複雑な制御を実現する必要がある。モデル予測制御については、非特許文献１に記載されている。【０００６】
コスト低減を目的として、単一のマイクロコンピュータで、制御だけでなく、制御に付随する、通信または異常監視等の処理を実現する必要があることも多い。そのようなケースでは、高応答または短処理時間の制御に加えて、低応答または長処理時間の、制御以外の処理を実現する必要があることが多い。【０００７】
したがって、制御のための処理の時間を、制御品質を適切に保つよう確保しつつ、他の必要な処理の時間を確保する必要がある。【０００８】
特許文献１および特許文献２には、タスクのスケジューリングに関する技術が記載されている。【０００９】
特許文献３には、残存時間に応じて処理の一部を省略する技術が記載されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１５−１３６２５９号公報
【特許文献２】国際公開第２０１２／１０４９０１号
【特許文献３】特開２００７−２５２０５６号公報
【非特許文献】
【００１１】
【非特許文献１】Ｌｉ  Ｄａｉ，  Ｙｕａｎｑｉｎｇ  Ｘｉａ，  Ｍｅｎｇｙｉｎ  Ｆｕ  ａｎｄ  Ｍａｇｄｉ  Ｓ．  Ｍａｈｍｏｕｄ，  “Ｄｉｓｃｒｅｔｅ−Ｔｉｍｅ  Ｍｏｄｅｌ  Ｐｒｅｄｉｃｔｉｖｅ  Ｃｏｎｔｒｏｌ”，  Ｃｈａｐｔｅｒ  ４，  “Ａｄｖａｎｃｅｓ  ｉｎ  Ｄｉｓｃｒｅｔｅ  Ｔｉｍｅ  Ｓｙｓｔｅｍｓ”，  ｂｏｏｋ  ｅｄｉｔｅｄ  ｂｙ  Ｍａｇｄｉ  Ｓ．  Ｍａｈｍｏｕｄ，  Ｄｅｃｅｍｂｅｒ  ５，  ２０１２
【発明の概要】
【発明が解決しようとする課題】
【００１２】
特許文献１および特許文献２に記載の技術では、制御のための処理の時間を調整する機構が設けられていない。よって、制御以外の必要な処理の時間を確保することができない。【００１３】
特許文献３に記載の技術では、制御品質を維持するための機構が設けられていない。よって、残存時間が僅少になるケースが多くなると、制御品質が落ちる。そして、モータの脱調等、想定制御シーケンスから逸脱する事象が発生する。【００１４】
本発明は、制御のための処理の時間を、制御品質を適切に保つよう確保しつつ、他の必要な処理の時間を確保することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の一態様に係る制御装置は、
第１処理として、制御のための出力値の演算をデジタル演算装置で実行する第１処理部と、
第２処理として、前記第１処理の演算精度を上げるために前記第１処理部に入力される入力値の演算であり、演算量が多いほど前記第１処理の演算精度が上がる演算を前記デジタル演算装置で実行する第２処理部と、
前記デジタル演算装置の使用時間と前記第１処理の演算精度との制約に合わせて、前記第２処理部に対し、前記第２処理の演算量および演算頻度の少なくともいずれかを調整するスケジュール処理部とを備える。
【発明の効果】
【００１６】
本発明では、第１処理として、制御のための出力値の演算が実行される。第２処理として、第１処理の演算精度を上げるための入力値の演算であり、演算量が多いほど第１処理の演算精度が上がる演算が実行される。デジタル演算装置の使用時間と第１処理の演算精度との制約に合わせて、第２処理の演算量および演算頻度の少なくともいずれかが調整される。このため、制御のための処理の時間を、制御品質を適切に保つよう確保しつつ、他の必要な処理の時間を確保することができる。
【図面の簡単な説明】
【００１７】
【図１】実施の形態１に係る機器の構成を示す回路図。
【図２】実施の形態１に係る制御装置のハードウェア構成を示すブロック図。
【図３】ＰＷＭによるゲート電圧制御の例を示す図。
【図４】実施の形態１に係る制御装置の機能構成を示すブロック図。
【図５】実施の形態１に係る制御装置のフィードフォワード制御部の動作例を示す図。
【図６】実施の形態１に係る制御装置のフィードバック制御部の入出力例を示す図。
【図７】実施の形態１に係る制御装置の制御精度予測部による推定誤差の演算例を示すグラフ。
【図８】実施の形態１に係る制御装置の制御精度予測部の動作を示すフローチャート。
【図９】実施の形態１に係る制御装置の制御精度予測部のマップ例を示す表。
【図１０】実施の形態１に係る制御装置のスケジューリング実行部の動作を示すフローチャート。
【図１１】実施の形態１に係る制御装置の機能要素間の協調動作例を示すシーケンス図。
【図１２】実施の形態１に係る制御装置の機能要素間の協調動作例を示すシーケンス図。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。なお、本発明は、以下に説明する実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。例えば、以下に説明する実施の形態は、部分的に実施されても構わない。
【００１９】
実施の形態１．
本実施の形態について、図１から図１２を用いて説明する。
【００２０】
＊＊＊構成の説明＊＊＊
図１を参照して、本実施の形態に係る機器１０の構成を説明する。
【００２１】
機器１０は、具体的には、パワーエレクトロニクス機器である。機器１０は、同期モータ１１と、スイッチング素子１２と、制御装置１３とを備える。
【００２２】
同期モータ１１は、非同期モータに置き換えられてもよいし、電力制御装置等に置き換えられてもよい。すなわち、機器１０は、制御対象の要素として、電動機または電力制御装置等の任意の要素を備えていてよい。
【００２３】
スイッチング素子１２は、同期モータ１１に入力される電流を調整するための素子である。スイッチング素子１２は、例えば、ＭＯＳＦＥＴである。「ＭＯＳＦＥＴ」は、Ｍｅｔａｌ−Ｏｘｉｄｅ−Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｆｉｅｌｄ−Ｅｆｆｅｃｔ  Ｔｒａｎｓｉｓｔｏｒの略語である。
【００２４】
制御装置１３は、ゲート信号線１４を介してスイッチング素子１２のゲート電圧を制御することにより、同期モータ１１の回転を制御する装置である。制御装置１３の制御機構の一部または多くの部分は、マイクロコンピュータで動作するソフトウェアにより実現される。
【００２５】
図２を参照して、本実施の形態に係る制御装置１３のハードウェア構成を説明する。
【００２６】
制御装置１３は、マイクロコンピュータ、あるいは、マイクロコンピュータを含む装置である。制御装置１３は、デジタル演算装置２１を備えるとともに、メモリ２２、リアルタイムクロック２３、ＡＤコンバータ２４、シリアル通信デバイス２５、汎用ＩＯ２６、パルス幅変調器２７、フラッシュＲＯＭ２８、ウォッチドッグタイマ２９および割り込みコントローラ３０といった他のハードウェアを備える。「ＡＤ」は、Ａｎａｌｏｇ  ｔｏ  Ｄｉｇｉｔａｌの略語である。「ＩＯ」は、Ｉｎｐｕｔ／Ｏｕｔｐｕｔの略語である。「ＲＯＭ」は、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略語である。図中、「ＲＴＣ」は、Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋの略語である。「ＧＰＩＯ」は、Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔの略語である。「ＰＷＭ」は、Ｐｕｌｓｅ  Ｗｉｄｔｈ
Ｍｏｄｕｌａｔｏｒの略語である。「ＷＤＴ」は、Ｗａｔｃｈｄｏｇ  Ｔｉｍｅｒの略語である。デジタル演算装置２１は、バス３１を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００２７】
デジタル演算装置２１は、本実施の形態ではプロセッサである。プロセッサは、各種処理を行うＩＣである。「ＩＣ」は、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略語である。プロセッサは、例えば、ＣＰＵである。「ＣＰＵ」は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略語である。
【００２８】
メモリ２２は、例えば、ＲＡＭである。「ＲＡＭ」は、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略語である。
【００２９】
ＡＤコンバータ２４は、同期モータ１１のセンサ値を取得するためのデバイスである。
【００３０】
シリアル通信デバイス２５は、入出力ポート３２を介して外部からの動作要求を受け取るためのデバイスである。
【００３１】
パルス幅変調器２７は、入出力ポート３２を介してスイッチング素子１２のゲート電圧をＰＷＭにより制御するためのデバイスである。「ＰＷＭ」は、Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎの略語である。
【００３２】
図３は、ＰＷＭによるゲート電圧制御の例を示している。
【００３３】
ＰＷＭ制御では、多くの場合、固定のキャリア周期が設定される。キャリア周期に対するオン時間の比率であるデューティ比によって通電比が調節されて、電圧または電流が制御される。これにより、交流波が生成されて、同期モータ１１を制御することが可能となる。
【００３４】
実際には、出力したいリファレンス波４１に対し、キャリア波４２が比較される。キャリア波４２がリファレンス波４１を上回る時間帯のみを通電時間に設定することで、ＰＷＭ波形４３が実現される。大局的に見ると、ＰＷＭ波形４３によって生成される電圧はリファレンス波４１と一致する。
【００３５】
図４を参照して、本実施の形態に係る制御装置１３の機能構成を説明する。
【００３６】
制御装置１３は、機能要素として、第１処理部５１と、第２処理部５２と、第３処理部５３と、スケジュール処理部５４とを備える。第１処理部５１、第２処理部５２、第３処理部５３およびスケジュール処理部５４の機能は、ソフトウェアにより実現される。
【００３７】
第１処理部５１は、直接出力を制御するフィードフォワード制御部６１と、フィードバック制御部６２へセンサ値を提供するセンサ値取得部６４とを有する。
【００３８】
第２処理部５２は、フィードフォワード制御部６１の動作を、センサ値を確認しながら大局的に制御するフィードバック制御部６２を有する。
【００３９】
第３処理部５３は、制御以外の処理として、通信処理を実行する通信処理部６３を有する。
【００４０】
スケジュール処理部５４は、スケジューリングのための誤差の見積もり値の演算を行う制御精度予測部６５と、スケジュールの立案を行うスケジューリング実行部６６とを有する。
【００４１】
フラッシュＲＯＭ２８には、第１処理部５１、第２処理部５２、第３処理部５３およびスケジュール処理部５４の機能を実現するプログラムである制御プログラムが記憶されている。制御プログラムは、メモリ２２にロードされ、デジタル演算装置２１によって実行される。
【００４２】
第１処理部５１、第２処理部５２、第３処理部５３およびスケジュール処理部５４の処理の結果を示す情報、データ、信号値および変数値は、メモリ２２、または、デジタル演算装置２１内のレジスタまたはキャッシュメモリに記憶される。
【００４３】
制御装置１３は、デジタル演算装置２１を代替する複数のデジタル演算装置を備えていてもよい。これら複数のデジタル演算装置は、制御プログラムの実行を分担する。それぞれのデジタル演算装置は、デジタル演算装置２１と同じように、プロセッサである。
【００４４】
制御プログラムは、磁気ディスクおよび光ディスクといった可搬記録媒体に記憶されてもよい。
【００４５】
＊＊＊動作の説明＊＊＊
引き続き図４を参照して、本実施の形態に係る制御装置１３の動作を説明する。制御装置１３の動作は、本実施の形態に係る制御方法に相当する。
【００４６】
第１処理部５１は、第１処理として、制御のための出力値の演算をデジタル演算装置２１で実行する。第１処理は、任意の高応答処理でよいが、本実施の形態ではフィードフォワード制御の処理である。具体的には、第１処理は、同期モータ１１の制御のためにスイッチング素子１２に出力される信号のデューティ比の演算である。第１処理は、フィードフォワード制御部６１により実行される。
【００４７】
第２処理部５２は、第２処理として、第１処理の演算精度を上げるために第１処理部５１に入力される入力値の演算であり、演算量が多いほど第１処理の演算精度が上がる演算をデジタル演算装置２１で実行する。第２処理は、任意の準高応答処理でよいが、本実施の形態ではフィードバック制御の処理である。第２処理は、任意の制御方式を用いる処理でよいが、本実施の形態ではモデル予測制御を用いる処理である。具体的には、第２処理は、センサ値取得部６４により取得された同期モータ１１の位置センサの測定値に応じた、第１処理部５１に入力される動作指令値の演算である。第２処理は、フィードバック制御部６２により実行される。
【００４８】
第３処理部５３は、第３処理として、第１処理および第２処理とは別の処理をデジタル演算装置２１で実行する。第３処理は、任意の低応答処理でよいが、本実施の形態では通信処理である。具体的には、第３処理は、同期モータ１１の制御に直接関わらない通信処理である。第３処理は、通信処理部６３により実行される。
【００４９】
スケジュール処理部５４は、デジタル演算装置２１の使用時間と第１処理の演算精度との制約に合わせて、第２処理部５２に対し、第２処理の演算量および演算頻度の少なくともいずれかを調整する。本実施の形態では、第２処理の演算量および演算頻度の両方が調整される。
【００５０】
スケジュール処理部５４は、デジタル演算装置２１の使用時間と第１処理の演算精度との制約に合わせて、さらに、第３処理部５３に第３処理の少なくとも一部を実行させるかどうかを決定する。具体的には、スケジュール処理部５４は、デジタル演算装置２１の使用時間と第１処理の演算精度との制約に合わせて、第３処理部５３に第３処理を実行させるか第３処理の一部を実行させるか第３処理を実行させないかを決定する。
【００５１】
なお、あらかじめ決定された時間が第３処理のために確保され、残りの時間がスケジュール処理部５４により第１処理および第２処理に割り当てられてもよい。すなわち、スケジュール処理部５４は、第１処理および第２処理の実行にかかる時間がデジタル演算装置２１の使用時間の上限値から第３処理のために確保された時間を引いて得られる残り時間内に収まり、かつ、第１処理の演算精度が閾値を上回るように、第２処理の演算量および演算頻度の少なくともいずれかを調整してもよい。
【００５２】
図５から図１２を参照して、制御装置１３の動作の詳細を説明する。
【００５３】
図５は、フィードフォワード制御部６１の動作例を示している。
【００５４】
この例において、フィードフォワード制御部６１は、フィードバック制御部６２から動作指令値として動作モードと、電圧指令値と、同期モータ１１の測定機械角および測定時刻とを受け取る。フィードフォワード制御部６１は、機械角予測器７１を用いた内部演算によって、同期モータ１１の予測機械角θを算出する。フィードフォワード制御部６１は、デューティ値変換７２を実行して、予測機械角θと電圧指令値とに対して３相デューティ比を算出する。動作モードは、稼動状態および停止状態のいずれかの値をとる。フィードフォワード制御部６１は、動作モード判断７３を実行して、動作モードが稼動状態の場合に３相デューティ比を出力する。フィードフォワード制御部６１は、動作モードが停止状態の場合は３相デューティ比を出力しない。
【００５５】
図６は、フィードバック制御部６２の入出力例を示している。
【００５６】
フィードバック制御部６２は、センサ値取得部６４から得た位置センサ値とスケジューリング実行部６６から得た演算精度とを入力として受け、動作指令値をフィードフォワード制御部６１へ出力する。
【００５７】
フィードバック制御部６２は、スケジューリング実行部６６により決定される動作計画に基づいて制御を行う。
【００５８】
フィードバック制御部６２が行う制御は、以下のような性質を満たす必要がある。
・スケジューリング実行部６６が指定する精度および実施頻度等のスケジュール要素を変更しても動作するアルゴリズムが用いられていること。
・演算の程度に対して制御品質が何らかの尺度で見積もれること。
・演算の程度に対して必要な時間が導出できること。
・フィードバック制御部６２が動作しない期間でもフィードフォワード制御部６１がある程度の制御品質で動作すること。
【００５９】
このような性質を満たす制御として、モデル予測制御を用いることができる。モデル予測制御は、Ｒｅｃｅｄｉｎｇ  Ｈｏｒｉｚｏｎ制御とも呼ばれる。
【００６０】
モデル予測制御は、最適解を探索するアルゴリズムを含んでいる。探索演算を実施する回数によって、得られる結果の精度が変化する。演算が繰り返し実施されるため、探索演算を繰り返すと実施回数分演算時間がかかる。
【００６１】
モデル予測制御の手順を簡単に説明する。
・制御ホライズンに相当する一定時間分の制御プランに基づく、予測ホライズンに相当する一定時間分の制御予測が、プラントモデルをもとに実施される。予測ホライズンと制御ホライズンとの間のギャップは固定値等で埋められる。
・予測結果が評価関数にかけられて良し悪しが計測される。
・評価関数をもとに、制御プランを解空間として用いた最適化探索が実施される。
【００６２】
モデル予測制御の詳細については、非特許文献１を参照されたい。
【００６３】
図４に示したように、通信処理部６３は、現在の処理負荷および割り込みに応じて、デッドライン、要求処理時間、最低処理時間およびエラー応答時間を提示する。具体的には、通信処理部６３は、通信要求が来た際に、通信種別ごとに必要な処理およびデッドラインが異なるので、メッセージ解析直後に要求処理時間、最低処理時間およびエラー応答時間の概算見積もりを追加する。
【００６４】
デッドラインとは、目標応答時刻のことである。要求処理時間とは、通信処理部６３が現在保持しているすべてのリクエストを処理できる時間のことである。最低処理時間とは、通信処理部６３が現在保持している高優先度のリクエストを処理できる時間のことである。エラー応答時間とは、通信処理部６３が処理できないリクエストに対してエラーを返却するのに必要な時間のことである。
【００６５】
通信処理部６３は、スケジューリング実行部６６からエラーが通知された場合、処理を予定しているリクエストに対して実処理を行わず、エラーを返却する処理を実施する。例えば、通信処理部６３は、フラッシュＲＯＭ２８上に置かれた設定値の読み出しを通信元から要求された場合に、スケジューリング実行部６６によってエラーが通知されているとフラッシュＲＯＭ２８の読み出しを行わずにエラーを返却する。
【００６６】
制御精度予測部６５は、フィードバック制御部６２の制御の実行時間を予測するアルゴリズムを持つ。制御精度予測部６５は、このアルゴリズムを用いて、要求処理時間に対するスケジュール候補を探索する。スケジューリング実行部６６は、要求処理時間に対して制御精度予測部６５の結果からスケジュールを決定するスケジューリングを実行する。
【００６７】
制御精度予測部６５は、発生し得る「あるべき制御状態」からの乖離見積もり量が小さいほど、精度が高いと判断する。本実施の形態では、フィードバックによる乖離補正と、演算誤差とを主な要因とした精度劣化を測る尺度として、乖離見積もり量が算出されるが、別の尺度が用いられてもよい。
【００６８】
本実施の形態では、制御精度予測部６５は、以下の情報に基づき、スケジュールを評価し探索する。
・制御対象の要素で保証すべき制御品質、すなわち、演算精度
・イテレーション回数および実行周期に対する計算所要時間、すなわち、演算量および演算頻度に応じた演算時間
・フィードバックを行わなかった場合の信頼性低下シーケンス、すなわち、フィードバック制御を使用しなかった場合に制御品質が標準品質まで低下するまでの時間
【００６９】
図７は、制御精度予測部６５による推定誤差の演算例を、時間に対する誤差見積もり量のグラフで示している。誤差見積もり量は、前述した乖離見積もり量に相当する。
【００７０】
誤差見積もり量が増えることにより、精度が悪化する。一方、フィードバック制御部６２によるフィードバックが発生することにより、精度が回復する。フィードバックのイテレーション回数および実行周期が変更されることで、実線で表された変化パターンを、破線で表された変化パターンに変えることができる。
【００７１】
以下、制御精度予測部６５による見積もりの例を説明する。
【００７２】
時刻ｎにおける内部状態の予想誤差をＥＥｉ（ｎ）とする。外界との相互作用においての誤差悪化見積もり係数をＥＥｅｘｔとする。フィードバックが発生せず、フィードフォワード制御部６１が単体で動作する際の誤差の単位時間経過に対する遷移は、
ＥＥｉ（ｎ＋１）＝ＥＥｉ（ｎ）＊ＥＥｅｘｔ
と表現される。
【００７３】
フィードバック発生時は、誤差見積もり量の減少が発生する。フィードバック制御部６２による処理の寄与度をＦＥとする。入力値の誤差見積もり値をＥＥｉｐとする。演算誤差をＥＥｃとする。フィードバックが発生したときの誤差は、
ＥＥｉ（ｎ＋１）＝（１−ＦＥ）＊ＥＥｉ（ｎ）＊ＥＥｅｘｔ＋ＦＥ＊ＥＥｃ＊ＥＥｉｐ
と定式化される。
【００７４】
デッドラインの時刻をｄ、最後のフィードバックからの経過時間をｃ、フィードバック周期をｙとする。上記の漸化式から、デッドライン時点での誤差見積もり量は以下の式で算出できる。
【数１】
2018198237.tif 000003
【００７５】
図８を参照して、制御精度予測部６５によるスケジュール探索の動作を説明する。
【００７６】
ステップＳ１０１において、制御精度予測部６５は、スケジュールが要求処理時間ｔｒｅｑを満たす周期ｙおよび演算回数ｘの条件を探索する。
【００７７】
評価演算１回あたりの計算見積もり時間をｔｅｖ、フィードフォワード制御部６１の周期あたりの動作時間をｔｈとする。デッドラインまでの時間ｔｒｅｓは、
【数２】
2018198237.tif 000004
と表せる。制御精度予測部６５は、ｔｒｅｓ（ｙ，ｘ，ｄ，ｃ）＜ｔｒｅｑとなる周期ｙおよび演算回数ｘの組み合わせを算出する。
【００７８】
ステップＳ１０２において、制御精度予測部６５は、最良精度のスケジュールを探索する。
【００７９】
スケジュールを周期ｙおよび演算回数ｘの組み合わせとする。演算誤差ＥＥｃを演算回数ｘの関数ＥＥｃ（ｘ）とする。デッドライン時点での誤差見積もり値ＥＥｄ（ｙ，ｘ，ｄ，ｃ）は以下の式で決定できる。
【数３】
2018198237.tif 000005
【００８０】
制御精度予測部６５は、ＥＥｄの結果が最小となるような周期ｙおよび演算回数ｘの組み合わせを探索する。
【００８１】
なお、探索については固定パターンを用いたほうが高速なケースが多い。このため、実際には、よく使用するデッドラインｄおよび経過時間ｃの値と要求処理時間ｔｒｅｑとに対して周期ｙおよび演算回数ｘを導出するマップを用意しておくとよい。
【００８２】
図９に、マップの構成例を示す。制御精度予測部６５は、マップを探索し、該当する組み合わせがあれば、その組み合わせの値を使用する。制御精度予測部６５は、マップの範囲外については、上述のアルゴリズムまたは他の簡易アルゴリズムを使用する。
【００８３】
図１０を参照して、スケジューリング実行部６６によるスケジュール決定の動作を説明する。
【００８４】
ステップＳ２０１において、スケジューリング実行部６６は、通信処理部６３から通知された要求処理時間を確保するための最良精度のスケジュールを探索する。
【００８５】
ステップＳ２０２において、スケジューリング実行部６６は、要求処理時間を確保できるスケジュールが要求精度を満たすかどうかを判定する。
【００８６】
ステップＳ２０２で要求精度が満たされていれば、ステップＳ２０３において、スケジューリング実行部６６は、要求処理時間を確保できるスケジュールを結果として出力する。
【００８７】
ステップＳ２０２で要求精度が満たされていなければ、ステップＳ２０４において、スケジューリング実行部６６は、通信処理部６３から通知された最低処理時間を確保するための最良精度のスケジュールを探索する。
【００８８】
ステップＳ２０５において、スケジューリング実行部６６は、最低処理時間を確保できるスケジュールが要求精度を満たすかどうかを判定する。
【００８９】
ステップＳ２０５で要求精度が満たされていれば、ステップＳ２０６において、スケジューリング実行部６６は、最低処理時間を確保できるスケジュールを結果として出力する。
【００９０】
ステップＳ２０５で要求精度が満たされていなければ、ステップＳ２０７において、スケジューリング実行部６６は、通信処理部６３へエラーを返却し、通信処理部６３の処理をエラー返却のみに限定させる。これにより、要求精度を確保し、制御の安全性を担保することができる。なお、通信処理部６３の処理を優先し、制御処理を異常系処理に移行させることで安全性を担保することもできる。
【００９１】
上記のように、スケジュール処理部５４は、第１処理の実行にかかる時間を固定時間とみなす。スケジュール処理部５４は、第３処理の実行にかかる時間を要求処理時間として第３処理部５３から通知される。ステップＳ２０１において、スケジュール処理部５４は、第２処理の実行にかかる時間がデジタル演算装置２１の使用時間の上限値から固定時間と要求処理時間とを引いて得られる第１残り時間内に収まり、かつ、第１処理の演算精度が閾値を上回る、第２処理の演算量および演算頻度の組み合わせを探索する。これにより、ステップＳ２０２において、スケジュール処理部５４は、第２処理の演算量および演算頻度を調整する。
【００９２】
スケジュール処理部５４は、第３処理の一部の実行にかかる時間を最低処理時間として第３処理部から通知される。ステップＳ２０２において、第２処理の実行にかかる時間が第１残り時間内に収まり、かつ、第１処理の演算精度が閾値を上回る、第２処理の演算量および演算頻度の組み合わせがなければ、ステップＳ２０４の処理が行われる。ステップＳ２０４において、スケジュール処理部５４は、第２処理の実行にかかる時間がデジタル演算装置２１の使用時間の上限値から固定時間と最低処理時間とを引いて得られる第２残り時間内に収まり、かつ、第１処理の演算精度が閾値を上回る、第２処理の演算量および演算頻度の組み合わせを探索する。これにより、ステップＳ２０６において、スケジュール処理部５４は、第２処理の演算量および演算頻度を調整する。
【００９３】
ステップＳ２０５において、第２処理の実行にかかる時間が第２残り時間内に収まり、かつ、第１処理の演算精度が閾値を上回る、第２処理の演算量および演算頻度の組み合わせがなければ、ステップＳ２０７の処理が行われる。ステップＳ２０７において、スケジュール処理部５４は、第２処理の実行にかかる時間がデジタル演算装置２１の使用時間の上限値から固定時間を引いて得られる第３残り時間内に収まり、かつ、第１処理の演算精度が閾値を上回る、第２処理の演算量および演算頻度の組み合わせを探索する。これにより、ステップＳ２０７において、スケジュール処理部５４は、第２処理の演算量および演算頻度を調整する。
【００９４】
図１１を参照して、制御装置１３の機能要素間の協調動作例を説明する。
【００９５】
ステップＳ３０１およびステップＳ３０２において、スケジューリング実行部６６は、各時点でのスケジュールに基づき、フィードフォワード制御部６１を駆動する。ステップＳ３２１において、スケジューリング実行部６６は、通信処理部６３から要求を受ける。ステップＳ３３１において、スケジューリング実行部６６は、スケジュールを見直す。ステップＳ３４１において、スケジューリング実行部６６は、図１０のステップＳ２０１以降の処理を行う。必要であれば、ステップＳ３４２において、スケジューリング実行部６６は、図１０のステップＳ２０４以降の処理を行う。ステップＳ３３２において、スケジューリング実行部６６は、スケジューリングを実行し、周期および演算回数を設定する。ステップＳ３５１において、スケジューリング実行部６６は、通信処理部６３に動作許可を発行する。ステップＳ３６１において、通信処理部６３は、実処理を実行する。この処理は、低優先度処理であるため、常にフィードフォワード制御部６１およびフィードバック制御部６２の処理にプリエンプトされる。
【００９６】
ステップＳ３０３およびステップＳ３０４において、スケジューリング実行部６６は、各時点でのスケジュールに基づき、フィードフォワード制御部６１を駆動する。ステップＳ３１１において、スケジューリング実行部６６は、その時点でのスケジュールに基づき、フィードバック制御部６２を駆動する。ステップＳ３０５およびステップＳ３０６において、スケジューリング実行部６６は、各時点でのスケジュールに基づき、フィードフォワード制御部６１を駆動する。
【００９７】
図示していないが、デッドライン経過後、スケジューリング実行部６６は、再度スケジュールを見直し、動作を継続する。
【００９８】
図１２を参照して、適切なスケジュールが見つからず、エラー応答を実施する例を説明する。
【００９９】
ステップＳ３５１に代わるステップＳ４５１において、スケジューリング実行部６６は、通信処理部６３にエラー応答を発行する。ステップＳ３６１に代わるステップＳ４６１において、通信処理部６３は、エラー処理を実行する。
【０１００】
＊＊＊実施の形態の効果の説明＊＊＊
上記の動作により、制御対象要素の制御については最低限度の制御品質を担保できる。また、通信処理等の低応答処理に必要な時間を極力確保することができる。時間が確保できない場合にはエラー処理を実施することができる。
【０１０１】
本実施の形態では、第１処理として、制御のための出力値の演算が実行される。第２処理として、第１処理の演算精度を上げるための入力値の演算であり、演算量が多いほど第１処理の演算精度が上がる演算が実行される。デジタル演算装置２１の使用時間と第１処理の演算精度との制約に合わせて、第２処理の演算量および演算頻度の少なくともいずれかが調整される。このため、制御のための処理の時間を、制御品質を適切に保つよう確保しつつ、他の必要な処理の時間を確保することができる。
【０１０２】
本実施の形態では、デジタル演算装置２１によって実現されるスイッチング制御システムが、制御対象要素の制御にあたり以下の要素を具備する。
・制御頻度および制御精度の少なくともいずれかを調節可能なフィードバック制御部６２・フィードバック制御部６２により制御されるが、一定範囲内では自立的に動作するフィードフォワード制御部６１
・演算量に基づき制約を実現可能なスケジュールとフィードバック制御部６２の演算精度との組み合わせを探索する制御精度予測部６５
・制御精度予測部６５の探索結果に基づきスケジューリングおよび演算精度指定を実施するスケジューリング実行部６６
【０１０３】
本実施の形態によれば、デジタル演算装置２１によって実現されるスイッチング制御システムにおいて、制御処理のために使用する時間を、制御品質を適切に保つよう確保しつつ、必要な他の処理の時間を確保することができる。
【０１０４】
本実施の形態では、スケジュール処理部５４に制御精度および処理時間に基づいた計画を演算する処理を設け、制御精度と制御以外の処理のための時間とのバランスを取ったスケジュールを決定することができる。
【０１０５】
本実施の形態では、スイッチング制御システムでスケジューリングおよび演算精度指定の探索にテーブルを使用することで、効率を高めることができる。
【０１０６】
本実施の形態では、スイッチング制御システムでスケジューリング不可の場合に制御以外の処理としてエラー処理を実行することで負荷を軽減し、制御精度を担保することができる。
【０１０７】
＊＊＊他の構成＊＊＊
本実施の形態では、第１処理部５１、第２処理部５２、第３処理部５３およびスケジュール処理部５４の機能がソフトウェアにより実現されるが、変形例として、第１処理部５１、第２処理部５２、第３処理部５３およびスケジュール処理部５４の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、第１処理部５１、第２処理部５２、第３処理部５３およびスケジュール処理部５４の機能の一部が専用の電子回路により実現され、残りがソフトウェアにより実現されてもよい。
【０１０８】
専用の電子回路は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＦＰＧＡまたはＡＳＩＣである。「ＧＡ」は、Ｇａｔｅ  Ａｒｒａｙの略語である。「ＦＰＧＡ」は、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略語である。「ＡＳＩＣ」は、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略語である。
【０１０９】
別の変形例として、第１処理部５１、第２処理部５２、第３処理部５３およびスケジュール処理部５４の機能がハードウェアにより実現されてもよい。すなわち、デジタル演算装置２１は、本実施の形態ではプロセッサであるが、ＦＰＧＡ等の演算装置であってもよい。
【符号の説明】
【０１１０】
１０  機器、１１  同期モータ、１２  スイッチング素子、１３  制御装置、１４  ゲート信号線、２１  デジタル演算装置、２２  メモリ、２３  リアルタイムクロック、２４  ＡＤコンバータ、２５  シリアル通信デバイス、２６  汎用ＩＯ、２７  パルス幅変調器、２８  フラッシュＲＯＭ、２９  ウォッチドッグタイマ、３０  割り込みコントローラ、３１  バス、３２  入出力ポート、４１  リファレンス波、４２  キャリア波、４３  ＰＷＭ波形、５１  第１処理部、５２  第２処理部、５３  第３処理部、５４  スケジュール処理部、６１  フィードフォワード制御部、６２  フィードバック制御部、６３  通信処理部、６４  センサ値取得部、６５  制御精度予測部、６６  スケジューリング実行部、７１  機械角予測器、７２  デューティ値変換、７３  動作モード判断。
【図１】
2018198237.tif 000006
【図２】
2018198237.tif 000007
【図３】
2018198237.tif 000008
【図４】
2018198237.tif 000009
【図５】
2018198237.tif 000010
【図６】
2018198237.tif 000011
【図７】
2018198237.tif 000012
【図８】
2018198237.tif 000013
【図９】
2018198237.tif 000014
【図１０】
2018198237.tif 000015
【図１１】
2018198237.tif 000016
【図１２】
2018198237.tif 000017
【手続補正書】
【提出日】平成29年8月30日(2017.8.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１処理として、制御のための出力値の演算をデジタル演算装置で実行する第１処理部と、
第２処理として、前記第１処理の演算精度を上げるために前記第１処理部に入力される入力値の演算であり、演算量が多いほど前記第１処理の演算精度が上がる演算を前記デジタル演算装置で実行する第２処理部と、
第３処理として、前記第１処理および前記第２処理とは別の処理を前記デジタル演算装置で実行する第３処理部と、
前記第１処理の実行にかかる時間を固定時間とみなし、前記第３処理の実行にかかる時間を要求処理時間として前記第３処理部から通知され、前記第２処理の実行にかかる時間が前記デジタル演算装置の使用時間の上限値から前記固定時間と前記要求処理時間とを引いて得られる第１残り時間内に収まり、かつ、前記第１処理の演算精度が閾値を上回る、前記第２処理の演算量および演算頻度の組み合わせを探索することで、前記第２処理の演算量および演算頻度を調整するスケジュール処理部と
を備える制御装置。
【請求項２】
前記スケジュール処理部は、前記第３処理の一部の実行にかかる時間を最低処理時間として前記第３処理部から通知され、前記第２処理の実行にかかる時間が前記第１残り時間内に収まり、かつ、前記第１処理の演算精度が前記閾値を上回る、前記第２処理の演算量および演算頻度の組み合わせがなければ、前記第２処理の実行にかかる時間が前記デジタル演算装置の使用時間の上限値から前記固定時間と前記最低処理時間とを引いて得られる第２残り時間内に収まり、かつ、前記第１処理の演算精度が前記閾値を上回る、前記第２処理の演算量および演算頻度の組み合わせを探索することで、前記第２処理の演算量および演算頻度を調整する請求項１に記載の制御装置。
【請求項３】
前記スケジュール処理部は、前記第２処理の実行にかかる時間が前記第２残り時間内に収まり、かつ、前記第１処理の演算精度が前記閾値を上回る、前記第２処理の演算量および演算頻度の組み合わせがなければ、前記第２処理の実行にかかる時間が前記デジタル演算装置の使用時間の上限値から前記固定時間を引いて得られる第３残り時間内に収まり、かつ、前記第１処理の演算精度が前記閾値を上回る、前記第２処理の演算量および演算頻度の組み合わせを探索することで、前記第２処理の演算量および演算頻度を調整する請求項２に記載の制御装置。
【請求項４】
前記第１処理は、フィードフォワード制御の処理であり、
前記第２処理は、フィードバック制御の処理である請求項１から３のいずれか１項に記載の制御装置。
【請求項５】
前記第２処理は、モデル予測制御を用いる処理である請求項１から４のいずれか１項に記載の制御装置。
【請求項６】
請求項１から５のいずれか１項に記載の制御装置と、
前記制御装置により制御される電動機と
を備える機器。
【請求項７】
デジタル演算装置を備えるコンピュータに、
制御のための出力値の演算である第１処理と、
前記第１処理の演算精度を上げるための入力値の演算であり、演算量が多いほど前記第１処理の演算精度が上がる演算である第２処理と、
前記第１処理および前記第２処理とは別の処理である第３処理と、
前記第１処理の実行にかかる時間を固定時間とみなし、前記第３処理の実行にかかる時間を要求処理時間として通知され、前記第２処理の実行にかかる時間が前記デジタル演算装置の使用時間の上限値から前記固定時間と前記要求処理時間とを引いて得られる第１残り時間内に収まり、かつ、前記第１処理の演算精度が閾値を上回る、前記第２処理の演算量および演算頻度の組み合わせを探索することで、前記第２処理の演算量および演算頻度を調整するスケジューリングと
を実行させる制御プログラム。
【国際調査報告】
2018198237.tif 000018
2018198237.tif 000019