(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024118777
(43)【公開日】2024-09-02
(54)【発明の名称】情報処理装置、情報処理方法および情報処理プログラム
(51)【国際特許分類】
G05B 13/04 20060101AFI20240826BHJP
G05B 13/02 20060101ALI20240826BHJP
G05B 23/02 20060101ALI20240826BHJP
【FI】
G05B13/04
G05B13/02 A
G05B23/02 R
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023025258
(22)【出願日】2023-02-21
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】土川 健斗
(72)【発明者】
【氏名】川ノ上 真輔
【テーマコード(参考)】
3C223
5H004
【Fターム(参考)】
3C223BA01
3C223BB17
3C223CC01
3C223DD01
3C223FF05
3C223FF22
3C223FF26
3C223GG01
5H004GA30
5H004KB02
5H004KB04
5H004KB06
5H004KB32
5H004KC27
5H004KD62
(57)【要約】
【課題】試行錯誤による予測モデルの生成を支援するための環境を提供する。
【解決手段】予測モデルを生成するための情報処理装置が提供される。予測モデルは、予測開始点において当該予測開始点から予め定められた余裕時間だけ未来の予測点における値を算出するためのものである。情報処理装置は、予測点の設定と、予測開始点および予測開始点より過去の範囲に対する説明変数区間の設定と、説明変数区間にある複数の位置候補に対する1または複数の位置の選択と、を受け付ける受付部と、予測モデルが算出する値についての実値の時系列データに基づいて、選択された1または複数の位置における実値を用いた予測点における値の予測精度を算出する算出部とを含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
予測モデルを生成するための情報処理装置であって、前記予測モデルは、予測開始点において当該予測開始点から予め定められた余裕時間だけ未来の予測点における値を算出するためのものであり、
前記予測点の設定と、前記予測開始点を含む前記予測開始点より過去の範囲に対する説明変数区間の設定と、前記説明変数区間にある複数の位置候補に対する1または複数の位置の選択と、を受け付ける受付部と、
前記予測モデルが算出する値についての実値の時系列データに基づいて、前記選択された1または複数の位置における実値を用いた前記予測点における値の予測精度を算出する算出部とを備える、情報処理装置。
【請求項2】
前記時系列データに対応付けて、前記予測開始点および前記予測点を表示出力するための表示制御部をさらに備える、請求項1に記載の情報処理装置。
【請求項3】
前記選択された1または複数の位置における実値を用いて前記予測モデルを生成する生成部をさらに備える、請求項2に記載の情報処理装置。
【請求項4】
前記表示制御部は、前記生成された予測モデルを用いて算出された予測波形を前記時系列データとともに表示出力する、請求項3に記載の情報処理装置。
【請求項5】
前記予測モデルを含む制御系の挙動をシミュレーションするシミュレータをさらに備え、
前記シミュレータは、前記予測モデルを用いて補償量を算出する予測補償部を含む第1の制御系と、前記予測モデルを用いて補償量を算出する予測補償部を含まない第2の制御系とに対して、同一の入力データを与えたときの出力値の差に基づいて、前記予測補償部による効果を算出する、請求項1~4のいずれか1項に記載の情報処理装置。
【請求項6】
前記受付部は、前記予測開始点と前記予測点との時間差が予め定められた最小値を超えるように制限する、請求項1~4のいずれか1項に記載の情報処理装置。
【請求項7】
予測モデルを生成するためのコンピュータが実行する情報処理方法であって、前記予測モデルは、予測開始点において当該予測開始点から予め定められた余裕時間だけ未来の予測点における値を算出するためのものであり、
前記予測点の設定、および、前記予測開始点を含む前記予測開始点より過去の範囲に対する説明変数区間の設定を受け付けるステップと、
前記説明変数区間にある複数の位置候補に対する1または複数の位置の選択を受け付けるステップと、
前記予測モデルが算出する値についての実値の時系列データに基づいて、前記選択された1または複数の位置における実値を用いた前記予測点における値の予測精度を算出するステップとを備える、情報処理方法。
【請求項8】
予測モデルを生成するための情報処理プログラムであって、前記予測モデルは、予測開始点において当該予測開始点から予め定められた余裕時間だけ未来の予測点における値を算出するためのものであり、前記情報処理プログラムはコンピュータに、
前記予測点の設定、および、前記予測開始点を含む前記予測開始点より過去の範囲に対する説明変数区間の設定を受け付けるステップと、
前記説明変数区間にある複数の位置候補に対する1または複数の位置の選択を受け付けるステップと、
前記予測モデルが算出する値についての実値の時系列データに基づいて、前記選択された1または複数の位置における実値を用いた前記予測点における値の予測精度を算出するステップとを実行させる、情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法および情報処理プログラムに関する。
【背景技術】
【0002】
予測モデルを用いて観測された値から将来の値を予測する技術が知られている。
【0003】
特許文献1(特開2020-135757号公報)は、制御量の予測モデルを利用して、制御量の計測値から予測値を算出し、算出された予測値に応じて、基礎目標値を補正することで、制御量の指令目標値を決定する制御装置を開示する。
【0004】
特許文献2(国際公開第2017/094207号)は、数理最適化で観測されない入力データが存在する状況であっても、適切に最適化を行うことができる情報処理システムを開示する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2020-135757号公報
【特許文献2】国際公開第2017/094207号
【発明の概要】
【発明が解決しようとする課題】
【0006】
予測モデルを生成するにあたって、どれだけ未来の値を予測するのか、どの説明変数を選択するのか、説明変数はどの範囲で選択するのか、といった設定を最適化する必要がある。ここで、可能な限り未来の値を予測することで制御系としての性能を向上できるが、予測点から離れるほど予測精度が低下し得る。このようなトレードオフの関係を考慮して、予測モデルを最適化するためには、試行錯誤が必要になる。
【0007】
本発明は、試行錯誤による予測モデルの生成を支援するための環境を提供する。
【課題を解決するための手段】
【0008】
本発明の実施の形態によれば、予測モデルを生成するための情報処理装置が提供される。予測モデルは、予測開始点において当該予測開始点から予め定められた余裕時間だけ未来の予測点における値を算出するためのものである。情報処理装置は、予測点の設定と、予測開始点を含む予測開始点より過去の範囲に対する説明変数区間の設定と、説明変数区間にある複数の位置候補に対する1または複数の位置の選択と、を受け付ける受付部、ならびに、予測モデルが算出する値についての実値の時系列データに基づいて、選択された1または複数の位置における実値を用いた予測点における値の予測精度を算出する算出部を含む。
【0009】
この構成によれば、予測開始点および説明変数区間が設定された状態において、説明変数区間にある1または複数の位置が選択されると、情報処理装置は、当該選択された1または複数の位置における実値を用いた予測点における値の予測精度を算出する。算出された予測精度を参照することで、予測点、説明変数区間、ならびに、1または複数の位置を試行錯誤的に最適化できる。
【0010】
情報処理装置は、時系列データに対応付けて、予測開始点および予測点を表示出力するための表示制御部をさらに含んでもよい。この構成によれば、時系列データに対応付けて、予測開始点および予測点を最適化できる。
【0011】
情報処理装置は、選択された1または複数の位置における実値を用いて予測モデルを生成する生成部をさらに含んでもよい。この構成によれば、1または複数の位置の選択に応じて、予測モデルを生成できる。
【0012】
表示制御部は、生成された予測モデルを用いて算出された予測波形を時系列データとともに表示出力してもよい。この構成によれば、生成された予測モデルの性能を視覚的に確認できる。
【0013】
情報処理装置は、予測モデルを含む制御系の挙動をシミュレーションするシミュレータをさらに含んでもよい。シミュレータは、予測モデルを用いて補償量を算出する予測補償部を含む第1の制御系と、予測モデルを用いて補償量を算出する予測補償部を含まない第2の制御系とに対して、同一の入力データを与えたときの出力値の差に基づいて、予測補償部による効果を算出する。この構成によれば、予測モデルを含む制御系の性能を定量的に確認できる。
【0014】
受付部は、予測開始点と予測点との時間差が予め定められた最小値を超えるように制限してもよい。この構成によれば、予測モデルを含む制御系が必要な性能を発揮するために必要な時間を確保できる。
【0015】
本発明の別の実施の形態によれば、予測モデルを生成するためのコンピュータが実行する情報処理方法が提供される。予測モデルは、予測開始点において当該予測開始点から予め定められた余裕時間だけ未来の予測点における値を算出するためのものである。情報処理方法は、予測点の設定、および、予測開始点を含む予測開始点より過去の範囲に対する説明変数区間の設定を受け付けるステップと、説明変数区間にある複数の位置候補に対する1または複数の位置の選択を受け付けるステップと、予測モデルが算出する値についての実値の時系列データに基づいて、選択された1または複数の位置における実値を用いた予測点における値の予測精度を算出するステップとを含む。
【0016】
本発明のさらに別の実施の形態によれば、予測モデルを生成するための情報処理プログラムが提供される。予測モデルは、予測開始点において当該予測開始点から予め定められた余裕時間だけ未来の予測点における値を算出するためのものである。情報処理プログラムはコンピュータに、予測点の設定、および、予測開始点を含む予測開始点より過去の範囲に対する説明変数区間の設定を受け付けるステップと、説明変数区間にある複数の位置候補に対する1または複数の位置の選択を受け付けるステップと、予測モデルが算出する値についての実値の時系列データに基づいて、選択された1または複数の位置における実値を用いた予測点における値の予測精度を算出するステップとを実行させる。
【発明の効果】
【0017】
本発明によれば、試行錯誤による予測モデルの生成を支援するための環境を提供できる。
【図面の簡単な説明】
【0018】
【
図1】本実施の形態に従う予測制御を行う制御系の一例を示す模式図である。
【
図2】
図1に示す予測制御による効果の一例を示す模式図である。
【
図3】本実施の形態に従う時系列データを生成する処理を説明するための図である。
【
図4】本実施の形態に従う制御システムのシステム構成の一例を示す模式図である。
【
図5】本実施の形態に従う制御システムを構成する制御装置のハードウェア構成の一例を示すブロック図である。
【
図6】本実施の形態に従う制御システムを構成する情報処理装置のハードウェア構成の一例を示すブロック図である。
【
図7】本実施の形態に従う予測モデルを生成する処理手順の一例を示すフローチャートである。
【
図8】本実施の形態に従う予測モデルを生成するためのユーザインターフェイス画面の一例を示す模式図である。
【
図9】本実施の形態に従う予測モデルを生成するためのユーザインターフェイス画面の一例を示す模式図である。
【
図10】本実施の形態に従う予測モデルを生成するためのユーザインターフェイス画面の一例を示す模式図である。
【
図11】本実施の形態に従う予測モデルを生成するためのユーザインターフェイス画面の一例を示す模式図である。
【
図12】本実施の形態に従う予測制御のシミュレーションの一例を示す模式図である。
【
図13】本実施の形態に従う制御システムを構成する制御装置および情報処理装置の機能構成の一例を示すブロック図である。
【発明を実施するための形態】
【0019】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【0020】
<A.適用例>
まず、本発明が適用される場面の一例について説明する。
【0021】
図1は、本実施の形態に従う予測制御を行う制御系の一例を示す模式図である。
図1を参照して、予測制御を行う制御系1は、制御対象4に対して与える操作量uを算出する。制御系1のフィードバックループを構成するPIDコントローラ2は、PID演算に従って、偏差eから出力u
0を算出する。減算器6は、目標値rと制御対象4の出力値yとの差分を偏差eとして出力する。
【0022】
制御系1は、予測補償部10を含む。予測補償部10は、制御量yの将来的な変動を予測して、補償量u1を算出する。加算器8は、PIDコントローラ2からの出力値yと予測補償部10の補償量u1との和を操作量uとして出力する。
【0023】
より具体的には、予測補償部10は、予測器12および補正器14を含む。予測器12は、予め用意された予測モデルを有している。予測器12は、過去の出力値yを予測モデルに入力することで、制御対象4の予測制御量y^を算出する。補正器14は、目標値rと制御対象4の予測制御量y^との差分から補償量u1を算出する。減算器6は、目標値rと制御対象4の予測制御量y^との差分を出力する。
【0024】
PIDコントローラ2からなるフィードバック制御系は、偏差eが非ゼロの値になってから出力u0(操作量u)を算出するため、PIDコントローラ2の応答速度を超える急激な外乱などを制御できない。
【0025】
予測補償部10は、制御量yの将来的な変動を予測して、偏差eが非ゼロの値になる前に操作量uを補正できるので、当該予測した変動を抑制できる。すなわち、制御系としての性能を向上できる。
【0026】
図2は、
図1に示す予測制御による効果の一例を示す模式図である。
図2には、フィードバック制御による制御対象4の制御量yの時系列データ、および、予測制御による制御対象4の制御量yの時系列データを示す。
【0027】
図2を参照して、フィードバック制御に代えて予測制御を用いることで、制御量yが正常範囲外になっている区間(品質不良区間)を大幅に短くできていることがわかる。
【0028】
次に、予測制御のための予測モデル140の生成方法について説明する。
【0029】
予測モデル140は、制御対象4の出力値yを含む時系列データから生成される。予測モデル140は、どのようなアルゴリズムを採用してもよい。例えば、予測モデル140は、自己回帰モデルであってもよいし、ニューラルネットワークを用いてもよい。予測モデル140の生成には、解析ツールが用いられてもよい。
【0030】
図3は、本実施の形態に従う時系列データを生成する処理を説明するための図である。
図3を参照して、制御対象4の予測制御量y^を算出する時点が予測点として設定される。予測点から予め定められた時間(以下、「余裕時間」とも称す。)だけ未来の時点が予測開始点となる。予測開始点を基準として、説明変数を収集する区間(以下、「説明変数区間」とも称す。)が設定される。説明変数区間は、予測開始点を含む予測開始点より過去の範囲内に任意に設定される。説明変数区間の開始点は、予測開始点より過去の時点に設定される。説明変数区間の終了点は、予測開始点と同じに設定されてもよいし、予測開始点より過去の時点に設定されてもよい。
【0031】
説明変数は、制御対象4の予測制御量y^を算出するための1または複数の入力データである。説明変数の各々は、説明変数区間内の予め定められた1または複数の各位置における値である。
【0032】
予測モデル140には、予測開始点において取得されているデータ(説明変数区間において収集された説明変数の時系列データ)が入力される。予測モデル140は、予測点における予測制御量y^の値を出力する。
【0033】
すなわち、予測モデル140は、予測開始点において当該予測開始点から予め定められた余裕時間だけ未来の予測点における値を算出する。
【0034】
予測制御の性能を向上させるためには、余裕時間をより長くすることが好ましい。一方で、予測制御量y^の予測精度を高めるためには、余裕時間はより短くすることが好ましい。また、予測制御量y^の予測精度を高めるためには、説明変数区間の長さ、および、説明変数の選択などを最適化する必要もある。
【0035】
このように、予測モデル140を生成するためには、余裕時間、説明変数区間、および説明変数を含む複数のパラメータを最適化する必要がある。本実施の形態は、予測モデル140の生成を支援する。
【0036】
<B.システム構成>
次に、本実施の形態に従う制御システム50のシステム構成について説明する。
【0037】
図4は、本実施の形態に従う制御システム50のシステム構成の一例を示す模式図である。
図4を参照して、制御システム50は、主たる構成要素として、制御対象を制御する制御装置100、および、制御装置100に接続される情報処理装置200を含む。
【0038】
制御装置100は、PLC(プログラマブルコントローラ)などの、一種のコンピュータとして具現化されてもよい。制御装置100は、フィールドバス52を介してデバイス群60と接続される。
【0039】
制御装置100は、設備および/または機械を制御するための制御ロジック(以下、「PLCエンジン」とも称す。)を有している。
【0040】
制御装置100は、デバイス群60から制御装置100へ転送されるデータ(以下、「入力データ」とも称す。)を収集する。収集された入力データは、制御装置100の時系列データベース(以下、「TSDB(Time Series Data Base)」とも記す。)130に順次格納される。
【0041】
制御装置100は、予測制御のための予測モデル140を有している。
【0042】
フィールドバス52は、産業用の通信プロトコルを採用することが好ましい。このような通信プロトコルとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。
【0043】
デバイス群60は、設備および/または機械から入力データを収集するためのセンサ、および、制御装置100が生成する指令(以下、「出力データ」とも称す。)に従って動作するアクチュエータを含む。
【0044】
図4に示す構成例においては、デバイス群60は、リモートI/O(Input/Output)装置62、I/Oユニット64、画像センサ66およびカメラ68、ならびに、サーボドライバ70およびサーボモータ72を含む。
【0045】
リモートI/O装置62は、フィールドバス52を介して通信を行う通信部、ならびに、入力データの収集および/または出力データの出力を行うためのI/Oユニットを含む。
【0046】
I/Oユニットは、フィールドバスに直接接続されるようにしてもよい。
図4には、フィールドバス52にI/Oユニット64が直接接続されている例を示す。
【0047】
画像センサ66は、カメラ68によって撮像された画像データに対して、パターンマッチングなどの画像計測処理を行って、その処理結果を制御装置100へ送信する。
【0048】
サーボドライバ70は、制御装置100からの出力データに従って、サーボモータ72を駆動する。
【0049】
情報処理装置200は、制御装置100の制御演算に必要なプログラム、パラメータ、予測モデル140などを生成する情報処理装置(コンピュータの一例)である。情報処理装置200は、制御装置100で実行されるユーザプログラムの開発環境(プログラム生成編集ツール、パーサ、コンパイラなど)、制御装置100および制御装置100に接続されるデバイスのパラメータを設定(コンフィギュレーション)するための設定機能、予測モデル140を生成するための生成機能、生成されたプログラム、パラメータ、予測モデル140などを制御装置100へ送信するための機能、制御装置100上で実行されるユーザプログラムなどをオンラインで修正・変更するための機能、などを提供する。
【0050】
<C.ハードウェア構成>
次に、本実施の形態に従う制御システム50を構成する主要な装置のハードウェア構成について説明する。
【0051】
(c1:制御装置100のハードウェア構成)
図5は、本実施の形態に従う制御システム50を構成する制御装置100のハードウェア構成の一例を示すブロック図である。
図5を参照して、制御装置100は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)などのプロセッサ102、チップセット104、主記憶装置106、二次記憶装置108、USB(Universal Serial Bus)コントローラ110、メモリカードインターフェイス112、フィールドバスコントローラ116、ならびに、内部バスコントローラ118を含む。
【0052】
プロセッサ102は、二次記憶装置108に格納された各種プログラムを読み出して、主記憶装置106に展開して実行することで、PLCエンジンおよび制御系1を実現する。チップセット104は、プロセッサ102と各コンポーネントとの間のデータ伝送などを制御する。
【0053】
二次記憶装置108には、システムプログラムに加えて、制御ロジックを記述したユーザプログラムおよび予測モデル140が格納される。
【0054】
USBコントローラ110は、USB接続を介して情報処理装置200との間のデータのやり取りを制御する。
【0055】
メモリカードインターフェイス112は、メモリカード114を着脱可能に構成されており、メモリカード114に対してデータを書き込み、メモリカード114から各種データ(ユーザプログラムおよびトレースデータなど)を読み出すことが可能になっている。
【0056】
内部バスコントローラ118は、制御装置100に搭載されるI/Oユニット120-1,120-2,…との間でデータをやり取りするインターフェイスである。
【0057】
フィールドバスコントローラ116は、フィールドバス52を介したデバイス群60との間のデータのやり取りを制御する。
【0058】
図5には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。制御装置100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
【0059】
(c2:情報処理装置200のハードウェア構成)
本実施の形態に従う情報処理装置200は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いてプログラムを実行することで実現される。
【0060】
図6は、本実施の形態に従う制御システム50を構成する情報処理装置200のハードウェア構成の一例を示すブロック図である。
図6を参照して、情報処理装置200は、CPU、MPUなどのプロセッサ202、光学ドライブ204、主記憶装置206、二次記憶装置208、ローカルネットワークコントローラ210、入力部212、表示部214、ならびに、USBコントローラ216を含む。これらのコンポーネントはバス220を介して接続される。
【0061】
プロセッサ202は、二次記憶装置208に格納された各種プログラムを読み出して、主記憶装置206に展開して実行することで、後述するようなモデル生成処理を含む各種処理を実現する。
【0062】
二次記憶装置208は、例えば、HDD(Hard Disk Drive)、SSD(Flash Solid State Drive)などで構成される。二次記憶装置208には、典型的には、情報処理装置200において実行されるユーザプログラムの生成、生成されたユーザプログラムのデバッグ、システム構成の定義、各種パラメータの設定などを行うための開発プログラム222、ユーザに対してデータを提示するとともに、ユーザからの指示を受け付けるユーザインターフェイスプログラム224、予測モデル140の生成などを実現するためのモデル生成・更新プログラム226、ならびに、OS228が格納される。二次記憶装置208には、
図6に示すプログラム以外の必要なプログラムが格納されてもよい。
【0063】
本実施の形態に従う情報処理プログラムは、開発プログラム222、ユーザインターフェイスプログラム224、および、モデル生成・更新プログラム226を含む。
【0064】
情報処理装置200は、光学ドライブ204を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体205(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読み取られて二次記憶装置208などにインストールされる。
【0065】
情報処理装置200で実行される各種プログラムは、コンピュータ読取可能な記録媒体205を介してインストールされてもよいが、ネットワーク上の任意のサーバからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に従う情報処理装置200が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
【0066】
ローカルネットワークコントローラ210は、任意のネットワークを介した別の装置との間のデータのやり取りを制御する。
【0067】
入力部212は、キーボードおよびマウスなどで構成され、ユーザ操作を受け付ける。
【0068】
表示部214は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ202からの処理結果などを出力する。なお、表示部214は、情報処理装置200とは別体であってもよい。
【0069】
USBコントローラ216は、USB接続を介して制御装置100との間のデータのやり取りを制御する。
【0070】
図6には、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
【0071】
<D.予測モデルの生成>
次に、予測制御のための予測モデル140の生成方法について説明する。
【0072】
図7は、本実施の形態に従う予測モデル140を生成する処理手順の一例を示すフローチャートである。
図7に示す各ステップは、情報処理装置200のプロセッサ202がプログラム(開発プログラム222、ユーザインターフェイスプログラム224、モデル生成・更新プログラム226など)などを実行することで実現されてもよい。
【0073】
図7を参照して、情報処理装置200は、予測モデル140の生成に用いられる学習用データセットを取得する(ステップS1)。例えば、学習用データセットは、TSDB130に格納されている時系列データの少なくとも一部を含む。
【0074】
情報処理装置200は、予測点312および予測開始点314の設定を受け付ける(ステップS2)とともに、説明変数区間の設定を受け付ける(ステップS3)。すなわち、情報処理装置200は、予測点312の設定、および、予測開始点314および予測開始点314より過去の範囲に対する説明変数区間の設定を受け付ける。
【0075】
このとき、情報処理装置200は、時系列データに対応付けて、予測開始点314および予測点312を表示部214に表示する。
【0076】
情報処理装置200は、設定された説明変数区間内の説明変数(オフセット位置)毎に重要度を計算して表示する(ステップS4)。そして、情報処理装置200は、1または複数の説明変数の選択を受け付ける(ステップS5)。すなわち、情報処理装置200は、説明変数区間にある複数の位置(オフセット位置)候補に対する1または複数の位置の選択を受け付ける。
【0077】
情報処理装置200は、選択された1または複数の説明変数に基づく予測精度を評価し、評価結果を表示する(ステップS6)。すなわち、情報処理装置200は、予測モデル140が算出する値についての実値の時系列データに基づいて、選択された1または複数の説明変数に対応する実値を用いた予測点312における値の予測精度を算出する。
【0078】
情報処理装置200は、予測モデルの生成が指示されたか否かを判断する(ステップS7)。予測モデルの生成が指示されると(ステップS7においてYES)、情報処理装置200は、設定に従って、学習用データセットのうち、選択された1または複数の説明変数の値に基づいて仮の予測モデルを生成する(ステップS8)。すなわち、選択された説明変数の値(各オフセット位置における実値)が仮の予測モデルの生成に用いられる。なお、1つの予測点に対して、1または複数の説明変数の値が対応付けられる。予測モデルの生成には、通常、予測点の値と1または複数の説明変数の値とのセットが複数用いられる。
【0079】
情報処理装置200は、生成された仮の予測モデルを用いて予測波形を算出および表示する(ステップS9)。
【0080】
情報処理装置200は、仮の予測モデルを出力するか否かの選択を受け付ける(ステップS10)。仮の予測モデルを出力するべきではないとの選択が与えられると(ステップS10においてNO)、情報処理装置200は、仮の予測モデルを生成する処理を再実行する(ステップS1,S2,S3,S5)。
【0081】
仮の予測モデルを出力するべきとの選択が与えられると(ステップS10においてYES)、情報処理装置200は、生成された仮の予測モデルを予測モデル140として出力する(ステップS11)。そして、処理は終了する。
【0082】
図8~
図11は、本実施の形態に従う予測モデル140を生成するためのユーザインターフェイス画面の一例を示す模式図である。
【0083】
図8を参照して、情報処理装置200が表示するユーザインターフェイス画面300は、予測制御量に対応する時系列データの時間グラフ310を含む。ユーザは、時間グラフ310の時間軸上で予測点312を設定する。
【0084】
続いて、
図9を参照して、ユーザは、時間グラフ310の時間軸上で予測開始点314を設定する。予測点312と予測開始点314との間の時間長さが余裕時間320に相当する。
【0085】
なお、予測制御に必要な余裕時間320の最小値を示すガイド318を表示してもよい。すなわち、ガイド318は、ガイド318より左側に予測開始点314を設定しなければならないことを示す。
【0086】
ユーザは、時間グラフ310の時間軸上で予測開始点314を設定する。説明変数区間の開始点を示す区間開始点316を設定する。区間開始点316から予測開始点314までの区間が説明変数区間322に相当する。
【0087】
予測点312、予測開始点314、区間開始点316が設定されると、
図10に示すように、ユーザインターフェイス画面300には、設定された説明変数区間322に含まれる説明変数(オフセット位置)を含む候補リスト330が表示される。
【0088】
ユーザは、候補リスト330のチェックボックス338をチェックすることで、予測モデル140を生成する際に、チェックされた説明変数が使用される。候補リスト330に表示される説明変数は、例えば、間隔設定部326に設定される間隔毎にサンプリングされたオフセット位置に対応するようにしてもよい。間隔設定部326に設定された間隔が更新されると、候補リスト330に表示される説明変数(オフセット位置)も更新されてもよい。
【0089】
候補リスト330は、説明変数区間322に含まれる説明変数毎に、オフセット位置332、重要度334、および、ランク336を含む。
【0090】
オフセット位置332は、説明変数区間322において、対応する説明変数が存在する位置を示す。オフセット位置332は、例えば、予測開始点314を基準としたオフセット位置(時間シフト)が用いられてもよい。
【0091】
重要度334は、対応する説明変数が予測点312の値を決定するのにどの程度の影響を持つかを示す。一例として、重要度334としては、対応する説明変数と予測点312の値との相関が用いられてもよい。
【0092】
ランク336は、重要度334(例えば、ランダムフォレストによる相関)の大きさの順位を示す。
図10に示す例では、ランクが小さい(すなわち、重要度334が大きい)順に説明変数がソートされている。
【0093】
候補リスト330に含まれる説明変数が時間グラフ310のいずれの位置にあるのかを視覚的に表現してもよい。
【0094】
ユーザがチェックボックス338をチェックすることで説明変数を選択すると、情報処理装置200は、選択された説明変数に基づいて、予測精度を評価する。予測精度の評価指標は、例えば、予測誤差340および品質特性値342を含む。
【0095】
予測誤差340は、選択された説明変数を用いて算出される予測値と予測点312の実値との差を示す。例えば、選択された説明変数の値を用いた回帰分析(自己回帰)によって得られた自己回帰モデルの誤差(例えば、二乗平均平方根誤差、平均絶対誤差、決定係数)を予測誤差340とすることができる。
【0096】
品質特性値342は、予測制御の性能を示す値である。品質特性値342は、予測誤差340の値に基づいて算出されてもよい。品質特性値342については、後述するようなシミュレーションの実行結果を用いてもよい。
【0097】
なお、ユーザが説明変数として用いられる説明変数の選択を変更すると、情報処理装置200は、予測誤差340および品質特性値342を更新する。
【0098】
ユーザがモデル生成ボタン344を選択すると、情報処理装置200は、選択されている1または複数の説明変数(1または複数のオフセット位置における値)に基づいて、予測モデル140を生成する。
【0099】
情報処理装置200は、
図11に示すように、時系列データの時間グラフ310とともに、生成された仮の予測モデルを用いて算出された予測波形350を表示してもよい。ユーザは、生成された仮の予測モデルの予測波形350などを参照して、予測モデル140として出力できるかを判断する。ユーザが予測モデル140として出力できると判断すると、仮の予測モデルが予測モデル140として出力される。
【0100】
図8~
図11に示すようなユーザインターフェイス画面300を提供することで、ユーザは、余裕時間、説明変数区間、説明変数などの設定を適宜調整しながら、適切な予測モデル140を生成できる。
【0101】
なお、ユーザが候補リスト330のチェックボックス338をチェックすることで、対応する説明変数を予測モデル140の説明変数として選択する例を示したが、情報処理装置200が上位ランクの説明変数をデフォルトで選択するようにしてもよい。この場合には、情報処理装置200は、ランダムフォレストなどを用いて、各説明変数の重要度を算出する。続いて、情報処理装置200は、説明変数全体から重要度の低い説明変数を優先的に除外するとともに、残っている説明変数の集合を交差検証により順に予測誤差を算出する。情報処理装置200は、予測誤差の算出を繰り返して、予測誤差が最小となる説明変数の組をデフォルトとして提供する。
【0102】
<E.予測制御のシミュレーション>
次に、生成された仮の予測モデル(または、予測モデル140)を用いた予測制御のシミュレーションについて説明する。情報処理装置200は、仮の予測モデル(または、予測モデル140)を用いて予測制御をシミュレーションしてもよい。ユーザは、予測制御のシミュレーション結果を参照して、予測モデルの適否を判断することもできる。
【0103】
すなわち、情報処理装置200は、予測モデル140を含む制御系1の挙動をシミュレーションし、シミュレーションの結果を評価する。
【0104】
情報処理装置200は、予測モデル140の生成中、または、予測モデル140の生成後に、仮の予測モデルまたは予測モデル140を用いて、
図1に示す制御系に従って、制御量yの時系列データを算出する。
【0105】
図12は、本実施の形態に従う予測制御のシミュレーションの一例を示す模式図である。
図12を参照して、ユーザインターフェイス画面360は、シミュレーション結果の時間グラフ362を含む。時間グラフ362には、予測制御を含まない制御系による制御量yの時系列データ364、および、予測制御を含む制御系による制御量yの時系列データ366が表示されている。
【0106】
より具体的には、情報処理装置200(
図13に示すシミュレータ260)は、仮の予測モデルまたは予測モデル140を用いて補償量u
1を算出する予測補償部10(
図1参照)を含む本来の制御系1と、仮の予測モデルまたは予測モデル140を用いて補償量u
1を算出する予測補償部10を含まない制御系(すなわち、PIDコントローラ2のみ)とに対して、同一の入力データ(制御対象4の出力値yの実測値)を与えたときの出力値yの差(例えば、収束時間など)に基づいて、予測補償部10による効果を算出する。
【0107】
時間グラフ362には、制御量yが目標値rの所定範囲内に収束するまでに要する時間が表示されてもよい。
図12には、一例として、予測制御を含まない制御系による収束時間368、および、予測制御を含む制御系による収束時間370が表示されている。
【0108】
ユーザインターフェイス画面360は、予測制御のシミュレーションによる評価結果372を含む。評価結果372は、予測制御の性能(予測補償部10による効果)を示す値として、収束時間を含んでいてもよい。ユーザは、評価結果372を参照することで、生成中の仮の予測モデルまたは生成された予測モデル140による予測制御の性能を評価できる。
【0109】
なお、ユーザは、予測制御が十分に性能を発揮できないと判断すると、予測モデル140の再生成などを行ってもよい。
【0110】
<F.機能構成>
次に、本実施の形態に従う制御システム50の機能構成について説明する。
【0111】
図13は、本実施の形態に従う制御システム50を構成する制御装置100および情報処理装置200の機能構成の一例を示すブロック図である。
【0112】
図13を参照して、制御装置100で実行されるユーザプログラム150は、PIDコントローラ2、予測器12、および、補正器14を含む。これらのコンポーネントは、予測制御を行う制御系1に相当する。補正器14には、情報処理装置200から提供される予測モデル140が与えられる。
【0113】
制御装置100は、入力データ、出力データ、内部データを含むプロセス変数160を管理する。プロセス変数160のうち予め指定された変数について、時系列データがTSDB130に格納される。
【0114】
情報処理装置200は、主たる機能構成として、モデル生成部250、設定受付部252、精度算出部254、表示制御部256、評価部258、および、シミュレータ260を含む。これらの機能構成は、情報処理装置200のプロセッサ202がプログラム(開発プログラム222、ユーザインターフェイスプログラム224、モデル生成・更新プログラム226など)を実行することで実現されてもよい。
【0115】
モデル生成部250は、生成部に相当し、選択された1または複数の説明変数(選択された1または複数の位置(オフセット位置)における実値)を用いて予測モデル140を生成する。
【0116】
設定受付部252は、受付部に相当し、予測点312の設定、および、予測開始点314および予測開始点314より過去の範囲に対する説明変数区間322の設定を受け付ける。また、設定受付部252は、説明変数区間322にある複数の位置(オフセット位置)候補に対する1または複数の位置の選択とを受け付ける。
【0117】
設定受付部252は、ガイド318(
図9参照)が表示されている場合には、予測開始点314と予測点312との時間差が予め定められた最小値を超えるように制限してもよい。
【0118】
説明の便宜上、設定受付部252がユーザ設定を受け付ける構成を例示するが、設定毎に設定受付部をそれぞれ設けてもよい。
【0119】
精度算出部254は、算出部に相当し、選択された1または複数の説明変数に基づく予測精度を評価する。一例として、精度算出部254は、予測モデル140が算出する値(例えば、予測制御量y^)についての実値の時系列データに基づいて、選択された1または複数の説明変数の値(オフセット位置における実値)を用いた予測点312における値の予測精度を算出する。より具体的には、精度算出部254は、選択された1または複数の説明変数の値(オフセット位置における実値)を用いた回帰分析によって、予測誤差を算出する。
【0120】
表示制御部256は、表示部214における表示内容を制御する。一例として、表示制御部256は、時系列データに対応付けて、予測開始点314および予測点312を表示部214に表示させる。すなわち、表示制御部256は、時系列データに対応付けて、予測開始点314および予測点312を表示出力する。
【0121】
なお、「表示出力」は、情報処理装置200に含まれる表示部214、および/または、情報処理装置200の外部にある任意の表示部が画像または映像を出力するために必要な信号および/またはデータを生成して出力することを意味する。
【0122】
評価部258は、シミュレータ260によるシミュレーションの結果を評価する。
【0123】
シミュレータ260は、予測モデル140を含む予測制御を行う制御系1の挙動をシミュレーションする。
【0124】
なお、シミュレータ260は、情報処理装置200ではなく、制御装置100に配置されてもよい。シミュレータ260は、制御装置100および情報処理装置200以外の別のコンピューティングリソースを用いて実行されてもよい。
【0125】
さらに、情報処理装置200に含まれる機能構成は、複数のコンピューティングリソースを用いて実現してもよい。また、情報処理装置200に含まれる機能構成の全部または一部をクラウド環境上で実現してもよい。
【0126】
このように、本実施の形態に従う制御システム50は、要求される性能や利用可能なリソースなどに応じて、任意の形態で実装できる。
【0127】
<G.変形例>
上述の説明においては、制御量yから予測制御量y^を算出する予測モデル140の例を示すが、制御量yおよび操作量uから予測制御量y^を算出する予測モデル140を採用してもよい。
【0128】
また、制御量yおよび操作量uに加えて、あるいは、制御量yおよび操作量uに代えて、別の変数を説明変数としても選択してもよい。この場合には、候補リスト330(
図9参照)に説明変数として選択可能な変数を表示してもよい。ユーザは、予測制御量y^を算出するのに適した変数を適宜選択することができる。
【0129】
<H.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
【0130】
[構成1]
予測モデル(140)を生成するための情報処理装置(200)であって、前記予測モデルは、予測開始点(314)において当該予測開始点から予め定められた余裕時間(320)だけ未来の予測点(312)における値を算出するためのものであり、
前記予測点の設定と、前記予測開始点を含む前記予測開始点より過去の範囲に対する説明変数区間(322)の設定と、前記説明変数区間にある複数の位置候補に対する1または複数の位置(332)の選択と、を受け付ける受付部(252)と、
前記予測モデルが算出する値についての実値の時系列データに基づいて、前記選択された1または複数の位置における実値を用いた前記予測点における値の予測精度(340)を算出する算出部(254)とを備える、情報処理装置。
【0131】
[構成2]
前記時系列データに対応付けて、前記予測開始点および前記予測点を表示出力するための表示制御部(256)をさらに備える、構成1に記載の情報処理装置。
【0132】
[構成3]
前記選択された1または複数の位置における実値を用いて前記予測モデルを生成する生成部(250)をさらに備える、構成1または2に記載の情報処理装置。
【0133】
[構成4]
前記表示制御部は、前記生成された予測モデルを用いて算出された予測波形(350)を前記時系列データとともに表示出力する、構成2または3に記載の情報処理装置。
【0134】
[構成5]
前記予測モデルを含む制御系の挙動をシミュレーションするシミュレータ(260)をさらに備え、
前記シミュレータは、前記予測モデルを用いて補償量を算出する予測補償部(10)を含む第1の制御系(1)と、前記予測モデルを用いて補償量を算出する予測補償部を含まない第2の制御系とに対して、同一の入力データを与えたときの出力値の差に基づいて、前記予測補償部による効果を算出する、構成1~4のいずれか1項に記載の情報処理装置。
【0135】
[構成6]
前記受付部は、前記予測開始点と前記予測点との時間差が予め定められた最小値を超えるように制限する、構成1~5のいずれか1項に記載の情報処理装置。
【0136】
[構成7]
予測モデル(140)を生成するためのコンピュータ(200)が実行する情報処理方法であって、前記予測モデルは、予測開始点(314)において当該予測開始点から予め定められた余裕時間(320)だけ未来の予測点(312)における値を算出するためのものであり、
前記予測点の設定、および、前記予測開始点を含む前記予測開始点より過去の範囲に対する説明変数区間(322)の設定を受け付けるステップ(S2)と、
前記説明変数区間にある複数の位置候補に対する1または複数の位置(332)の選択を受け付けるステップ(S3)と、
前記予測モデルが算出する値についての実値の時系列データに基づいて、前記選択された1または複数の位置における実値を用いた前記予測点における値の予測精度(340)を算出するステップ(S6)とを備える、情報処理方法。
【0137】
[構成8]
予測モデル(140)を生成するための情報処理プログラム(222,224,226)であって、前記予測モデルは、予測開始点(314)において当該予測開始点から予め定められた余裕時間(320)だけ未来の予測点(312)における値を算出するためのものであり、前記情報処理プログラムはコンピュータ(200)に、
前記予測点の設定、および、前記予測開始点を含む前記予測開始点より過去の範囲に対する説明変数区間(322)の設定を受け付けるステップ(S2)と、
前記説明変数区間にある複数の位置候補に対する1または複数の位置(332)の選択を受け付けるステップ(S3)と、
前記予測モデルが算出する値についての実値の時系列データに基づいて、前記選択された1または複数の位置における実値を用いた前記予測点における値の予測精度(340)を算出するステップ(S6)とを実行させる、情報処理プログラム。
【0138】
<I.利点>
本実施の形態に従う制御システムにおいては、収集された時系列データから予測モデルを生成する過程で、ユーザインターフェイス画面に提供される情報を参照することで、予測点および予測開始点(余裕時間)、説明変数区間、説明変数をそれぞれ最適化できる。すなわち、ユーザによる設定を支援するために、各説明変数の重要度が表示されるとともに、選択された説明変数に基づいて予測精度の評価指標が表示される。さらに、生成された仮の予測モデルに基づいて予測波形も表示される。このような情報を参照することで、ユーザは、予測モデルを試行錯誤により最適化できる。
【0139】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0140】
1 制御系、2 PIDコントローラ、4 制御対象、6 減算器、8 加算器、10 予測補償部、12 予測器、14 補正器、50 制御システム、52 フィールドバス、60 デバイス群、62 リモートI/O装置、64,120 I/Oユニット、66 画像センサ、68 カメラ、70 サーボドライバ、72 サーボモータ、100 制御装置、102,202 プロセッサ、104 チップセット、106,206 主記憶装置、108,208 二次記憶装置、110,216 USBコントローラ、112 メモリカードインターフェイス、114 メモリカード、116 フィールドバスコントローラ、118 内部バスコントローラ、130 時系列データベース(TSDB)、140 予測モデル、150 ユーザプログラム、160 プロセス変数、200 情報処理装置、204 光学ドライブ、205 記録媒体、210 ローカルネットワークコントローラ、212 入力部、214 表示部、220 バス、222 開発プログラム、224 ユーザインターフェイスプログラム、226 更新プログラム、228 OS、250 モデル生成部、252 設定受付部、254 精度算出部、256 表示制御部、258 評価部、260 シミュレータ、300,360 ユーザインターフェイス画面、310,362 時間グラフ、312 予測点、314 予測開始点、316 区間開始点、318 ガイド、320 余裕時間、322 説明変数区間、326 間隔設定部、330 候補リスト、332 オフセット位置、334 重要度、336 ランク、338 チェックボックス、340 予測誤差、342 品質特性値、344 モデル生成ボタン、350 予測波形、364,366 時系列データ、368,370 収束時間、372 評価結果。