IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ オムロン株式会社の特許一覧

特開2024-124173制御対象に対するフィードフォワード制御に関する機械学習のための装置、教師データの生成プログラム、および教師データの生成方法
<>
  • 特開-制御対象に対するフィードフォワード制御に関する機械学習のための装置、教師データの生成プログラム、および教師データの生成方法 図1
  • 特開-制御対象に対するフィードフォワード制御に関する機械学習のための装置、教師データの生成プログラム、および教師データの生成方法 図2
  • 特開-制御対象に対するフィードフォワード制御に関する機械学習のための装置、教師データの生成プログラム、および教師データの生成方法 図3
  • 特開-制御対象に対するフィードフォワード制御に関する機械学習のための装置、教師データの生成プログラム、および教師データの生成方法 図4
  • 特開-制御対象に対するフィードフォワード制御に関する機械学習のための装置、教師データの生成プログラム、および教師データの生成方法 図5
  • 特開-制御対象に対するフィードフォワード制御に関する機械学習のための装置、教師データの生成プログラム、および教師データの生成方法 図6
  • 特開-制御対象に対するフィードフォワード制御に関する機械学習のための装置、教師データの生成プログラム、および教師データの生成方法 図7
  • 特開-制御対象に対するフィードフォワード制御に関する機械学習のための装置、教師データの生成プログラム、および教師データの生成方法 図8
  • 特開-制御対象に対するフィードフォワード制御に関する機械学習のための装置、教師データの生成プログラム、および教師データの生成方法 図9
  • 特開-制御対象に対するフィードフォワード制御に関する機械学習のための装置、教師データの生成プログラム、および教師データの生成方法 図10
  • 特開-制御対象に対するフィードフォワード制御に関する機械学習のための装置、教師データの生成プログラム、および教師データの生成方法 図11
  • 特開-制御対象に対するフィードフォワード制御に関する機械学習のための装置、教師データの生成プログラム、および教師データの生成方法 図12
  • 特開-制御対象に対するフィードフォワード制御に関する機械学習のための装置、教師データの生成プログラム、および教師データの生成方法 図13
  • 特開-制御対象に対するフィードフォワード制御に関する機械学習のための装置、教師データの生成プログラム、および教師データの生成方法 図14
  • 特開-制御対象に対するフィードフォワード制御に関する機械学習のための装置、教師データの生成プログラム、および教師データの生成方法 図15
  • 特開-制御対象に対するフィードフォワード制御に関する機械学習のための装置、教師データの生成プログラム、および教師データの生成方法 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024124173
(43)【公開日】2024-09-12
(54)【発明の名称】制御対象に対するフィードフォワード制御に関する機械学習のための装置、教師データの生成プログラム、および教師データの生成方法
(51)【国際特許分類】
   G05B 13/02 20060101AFI20240905BHJP
   G05B 23/02 20060101ALI20240905BHJP
   G05B 19/05 20060101ALI20240905BHJP
【FI】
G05B13/02 C
G05B23/02 X
G05B19/05 S
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023032163
(22)【出願日】2023-03-02
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】藤井 高史
(72)【発明者】
【氏名】浪江 正樹
【テーマコード(参考)】
3C223
5H004
5H220
【Fターム(参考)】
3C223AA11
3C223BA03
3C223CC02
3C223DD03
3C223FF05
3C223FF26
3C223FF43
3C223GG03
3C223HH30
5H004GA07
5H004GB16
5H004KB33
5H004KD62
5H220AA05
5H220AA06
5H220BB17
5H220CC05
5H220JJ16
(57)【要約】
【課題】制御対象に対するフィードフォワード制御の精度を向上させる。
【解決手段】装置100は、複数の第1組合せのうち、誤差eqと第1基準値との比較に基づいて、計測値doと操作量rとを含む複数の第2組合せをそれぞれ特定し、複数の第2組合せにそれぞれ含まれる複数の操作量rにおいて、第1要素dskに対応するための複数の第1成分rfと、第2要素dsuに対応するための複数の第2成分rbとをそれぞれ特定し、複数のタイミングにおける第2組合せにそれぞれ含まれる複数の計測値doに複数の第1成分rfを正解としてそれぞれ対応させた教師データDtを出力する。
【選択図】図1
【特許請求の範囲】
【請求項1】
外乱を受ける制御対象へのフィードバック操作量のフィードフォワード補償値を予測する予測モデルに対する機械学習のための装置であって、
前記フィードバック操作量は、目標値と前記制御対象の制御量との誤差に基づいて、前記制御量が前記目標値に近づくように前記制御対象の制御装置のフィードバック制御によって決定され、
前記フィードバック操作量および前記フィードフォワード補償値の和が、操作量として前記制御対象に前記制御装置から出力され、
前記外乱は、第1要素と、第2要素とを含み、
前記予測モデルは、前記第1要素の計測値から前記フィードフォワード補償値を予測し、
前記装置は、学習データ生成部を備え、
前記学習データ生成部は、
複数のタイミングにおいて取得された、前記目標値と、前記目標値に対応する前記操作量と、前記計測値と、前記計測値および前記操作量の両方に対応する前記制御量とを含む複数の第1組合せのうち、前記誤差と第1基準値との比較に基づいて、前記計測値と前記操作量とを含む複数の第2組合せをそれぞれ特定し、
前記複数の第2組合せにそれぞれ含まれる複数の操作量において、前記第1要素に対応するための複数の第1成分と、前記第2要素に対応するための複数の第2成分とをそれぞれ特定し、
前記複数のタイミングにおける第2組合せにそれぞれ含まれる複数の計測値に前記複数の第1成分を正解としてそれぞれ対応させた教師データを出力する、装置。
【請求項2】
前記教師データを用いて前記予測モデルに対して前記機械学習を行う学習部をさらに備え、
前記学習部は、
前記予測モデルによって表現される、前記複数の計測値と前記複数の第1成分との関係を、前記フィードフォワード補償値を目的変数とするとともに、前記計測値を説明変数とする関数として近似し、
前記複数の第1組合せのうち前記計測値の絶対値が第2基準値より大きい第3組合せの数に対する、前記複数の第2組合せのうち前記計測値の絶対値が前記第2基準値より大きい第4組合せの数の割合が第3基準値より大きい場合、前記機械学習を終了する、請求項1に記載の装置。
【請求項3】
前記学習部は、前記機械学習が終了し、かつ、前記割合が前記第3基準値より小さい場合、前記機械学習を再開する、請求項2に記載の装置。
【請求項4】
前記第2要素は、計測されない、請求項1~3のいずれか1項に記載の装置。
【請求項5】
外乱を受ける制御対象へのフィードバック操作量のフィードフォワード補償値を予測する予測モデルに対する機械学習のための教師データの生成プログラムであって、
前記フィードバック操作量は、目標値と前記制御対象の制御量との誤差に基づいて、前記制御量が前記目標値に近づくように前記制御対象の制御装置のフィードバック制御によって決定され、
前記フィードバック操作量および前記フィードフォワード補償値の和が、操作量として前記制御対象に前記制御装置から出力され、
前記外乱は、第1要素と、第2要素とを含み、
前記予測モデルは、前記第1要素の計測値から前記フィードフォワード補償値を予測し、
前記教師データの生成プログラムは、プロセッサに実行されることによって、
複数のタイミングにおいて取得された、前記目標値と、前記目標値に対応する前記操作量と、前記計測値と、前記計測値および前記操作量の両方に対応する前記制御量とを含む複数の第1組合せのうち、前記誤差と第1基準値との比較に基づいて、前記計測値と前記操作量とを含む複数の第2組合せをそれぞれ特定し、
前記複数の第2組合せにそれぞれ含まれる複数の操作量において、前記第1要素に対応するための複数の第1成分と、前記第2要素に対応するための複数の第2成分とをそれぞれ特定し、
前記複数のタイミングにおける第2組合せにそれぞれ含まれる複数の計測値に前記複数の第1成分を正解としてそれぞれ対応させた教師データを出力する、教師データの生成プログラム。
【請求項6】
外乱を受ける制御対象へのフィードバック操作量のフィードフォワード補償値を予測する予測モデルに対する機械学習のための教師データの生成方法であって、
前記フィードバック操作量は、目標値と前記制御対象の制御量との誤差に基づいて、前記制御量が前記目標値に近づくように前記制御対象の制御装置のフィードバック制御によって決定され、
前記フィードバック操作量および前記フィードフォワード補償値の和が、操作量として前記制御対象に前記制御装置から出力され、
前記外乱は、第1要素と、第2要素とを含み、
前記予測モデルは、前記第1要素の計測値から前記フィードフォワード補償値を予測し、
前記教師データの生成方法は、
複数のタイミングにおいて取得された、前記目標値と、前記目標値に対応する前記操作量と、前記計測値と、前記計測値および前記操作量の両方に対応する前記制御量とを含む複数の第1組合せのうち、前記誤差と第1基準値との比較に基づいて、前記計測値と前記操作量とを含む複数の第2組合せをそれぞれ特定することと、
前記複数の第2組合せにそれぞれ含まれる複数の操作量において、前記第1要素に対応するための複数の第1成分と、前記第2要素に対応するための複数の第2成分とをそれぞれ特定することと、
前記複数のタイミングにおける第2組合せにそれぞれ含まれる複数の計測値に前記複数の第1成分を正解としてそれぞれ対応させた教師データを出力することとを含む、教師データの生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御対象に対するフィードフォワード制御に関する機械学習のための装置、教師データの生成プログラム、および教師データの生成方法に関する。
【背景技術】
【0002】
従来、制御対象に対してフィードフォワード制御を行なう構成が知られている。たとえば、特開平4-326101号公報(特許文献1)には、被制御系に影響を及ぼす外乱を検出しその外乱検出値によってニューラルネットワーク型フィードフォワード補償器の自己学習を制御する外乱発生検知器を備えるニューラルネットワーク制御装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平4-326101号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示されている構成においては、被制御系に影響を及ぼす外乱の検出値がニューラルネットワーク型フィードフォワード補償器の自己学習に使用される。この点、被制御系に影響を及ぼす外乱には、複数の要素が含まれる場合がある。これらをすべて検出することができない場合、外乱の検出値が用いられる自己学習によっては、検出されていない要素を含む外乱とフィードフォワード補償信号との正確な関係性を抽出することができない。その結果、ニューラルネットワーク型フィードフォワード補償器によるフィードフォワード補償信号の予測の精度が低下し得る。
【0005】
本開示は上記のような課題を解決するためになされたものであり、その目的は、制御対象に対するフィードフォワード制御の精度を向上させることである。
【課題を解決するための手段】
【0006】
本開示の一局面に係る装置は、外乱を受ける制御対象へのフィードバック操作量のフィードフォワード補償値を予測する予測モデルに対する機械学習のための装置である。フィードバック操作量は、目標値と制御対象の制御量との誤差に基づいて、制御量が目標値に近づくように制御対象の制御装置のフィードバック制御によって決定される。フィードバック操作量およびフィードフォワード補償値の和が、操作量として制御対象に制御装置から出力される。外乱は、第1要素と、第2要素とを含む。予測モデルは、第1要素の計測値からフィードフォワード補償値を予測する。装置は、学習データ生成部を備える。学習データ生成部は、複数のタイミングにおいて取得された、目標値と、目標値に対応する操作量と、計測値と、計測値および操作量の両方に対応する制御量とを含む複数の第1組合せのうち、誤差と第1基準値との比較に基づいて、計測値と操作量とを含む複数の第2組合せをそれぞれ特定し、複数の第2組合せにそれぞれ含まれる複数の操作量において、第1要素に対応するための複数の第1成分と、第2要素に対応するための複数の第2成分とをそれぞれ特定し、複数のタイミングにおける第2組合せにそれぞれ含まれる複数の計測値に複数の第1成分を正解としてそれぞれ対応させた教師データを出力する。
【0007】
この開示によれば、フィードフォワード制御の結果に含まれる操作量のうち、計測値に対応させるべき正解として、操作量そのものではなく、操作量のうちフィードフォワード制御が必要な計測要素に対応するための第1成分がフィードフォワード補償値として特定される。その結果、教師データにおいて計測値に対して適切な正解が関連付けられる。そのため、この開示によれば、教師データを用いて予測モデルに対して機械学習を行うことにより、制御対象に対するフィードフォワード制御の精度を向上させることができる。
【0008】
上記の開示において、装置は、教師データを用いて予測モデルに対して機械学習を行う学習部をさらに備える。学習部は、予測モデルによって表現される、複数の計測値と複数の第1成分との関係を、フィードフォワード補償値を目的変数とするとともに、計測値を説明変数とする関数として近似し、複数の第1組合せのうち計測値の絶対値が第2基準値より大きい第3組合せの数に対する、複数の第2組合せのうち計測値の絶対値が第2基準値より大きい第4組合せの数の割合が第3基準値より大きい場合、機械学習を終了する。
【0009】
この開示によれば、フィードフォワード制御の結果から教師データが選択されるため、フィードフォワード制御と並行して外乱および制御対象の特性に予測モデルをリアルタイムに適合させることができる。また、この開示によれば、予測モデルの精度が十分に高くなるまで機械学習が継続されるため、制御対象に対するフィードフォワード制御の精度を十分に向上させることができる。
【0010】
上記の開示において、学習部は、機械学習が終了し、かつ、上記割合が第3基準値より小さい場合、機械学習を再開してもよい。
【0011】
この開示によれば、制御対象の特性の変化に応じて予測モデルが当該特性に再適合されるため、制御対象の特性の変化によるフィードフォワード制御の精度の低下を抑制することができる。
【0012】
上記の開示において、第2要素は、計測されなくてもよい。
【0013】
この開示によれば、第2要素の計測に必要なセンサ等のコストを削減することができる。
【0014】
本開示の他の局面に係る教師データの生成プログラムは、外乱を受ける制御対象へのフィードバック操作量のフィードフォワード補償値を予測する予測モデルに対する機械学習のためのプログラムである。フィードバック操作量は、目標値と制御対象の制御量との誤差に基づいて、制御量が目標値に近づくように制御対象の制御装置のフィードバック制御によって決定される。フィードバック操作量およびフィードフォワード補償値の和が、操作量として制御対象に制御装置から出力される。外乱は、第1要素と、第2要素とを含む。予測モデルは、第1要素の計測値からフィードフォワード補償値を予測する。教師データの生成プログラムは、プロセッサに実行されることによって、複数のタイミングにおいて取得された、目標値と、目標値に対応する操作量と、計測値と、計測値および操作量の両方に対応する制御量とを含む複数の第1組合せのうち、誤差と第1基準値との比較に基づいて、計測値と操作量とを含む複数の第2組合せをそれぞれ特定し、複数の第2組合せにそれぞれ含まれる複数の操作量において、第1要素に対応するための複数の第1成分と、第2要素に対応するための複数の第2成分とをそれぞれ特定し、複数のタイミングにおける第2組合せにそれぞれ含まれる複数の計測値に複数の第1成分を正解としてそれぞれ対応させた教師データを出力する。
【0015】
この開示によれば、フィードフォワード制御の結果に含まれる操作量のうち、計測値に対応させるべき正解として、操作量そのものではなく、操作量のうちフィードフォワード制御が必要な計測要素に対応するための第1成分がフィードフォワード補償値として特定される。その結果、教師データにおいて計測値に対して適切な正解が関連付けられる。そのため、この開示によれば、教師データを用いて予測モデルに対して機械学習を行うことにより、制御対象に対するフィードフォワード制御の精度を向上させることができる。なお、本開示に係る発明は、上記プログラムを記憶する非一時的なコンピュータ可読媒体としても実現可能である。
【0016】
本開示の他の局面に係る教師データの生成方法は、外乱を受ける制御対象へのフィードバック操作量のフィードフォワード補償値を予測する予測モデルに対する機械学習のための方法である。フィードバック操作量は、目標値と制御対象の制御量との誤差に基づいて、制御量が目標値に近づくように制御対象の制御装置のフィードバック制御によって決定される。フィードバック操作量およびフィードフォワード補償値の和が、操作量として制御対象に制御装置から出力される。外乱は、第1要素と、第2要素とを含む。予測モデルは、第1要素の計測値からフィードフォワード補償値を予測する。教師データの生成方法は、複数のタイミングにおいて取得された、目標値と、目標値に対応する操作量と、計測値と、計測値および操作量の両方に対応する制御量とを含む複数の第1組合せのうち、誤差と第1基準値との比較に基づいて、計測値と操作量とを含む複数の第2組合せをそれぞれ特定することと、複数の第2組合せにそれぞれ含まれる複数の操作量において、第1要素に対応するための複数の第1成分と、第2要素に対応するための複数の第2成分とをそれぞれ特定することと、複数のタイミングにおける第2組合せにそれぞれ含まれる複数の計測値に複数の第1成分を正解としてそれぞれ対応させた教師データを出力することとを含む。
【0017】
この開示によれば、フィードフォワード制御の結果に含まれる操作量のうち、計測値に対応させるべき正解として、操作量そのものではなく、操作量のうちフィードフォワード制御が必要な計測要素に対応するための第1成分がフィードフォワード補償値として特定される。その結果、教師データにおいて計測値に対して適切な正解が関連付けられる。そのため、この開示によれば、教師データを用いて予測モデルに対して機械学習を行うことにより、制御対象に対するフィードフォワード制御の精度を向上させることができる。
【発明の効果】
【0018】
本開示に係る装置、教師データの生成プログラム、および教師データの生成方法によれば、制御対象に対するフィードフォワード制御の精度を向上させることができる。
【図面の簡単な説明】
【0019】
図1】実施の形態1に係る制御装置の機能構成を示すブロック図である。
図2】4つの組合せをそれぞれ含む4つのデータセットの包含関係を示すベン図である。
図3】予測モデルが未学習である場合の試行期間における外乱、計測値、操作量、および制御量の各々のタイムチャートを示す図である。
図4図3に示される試行期間において取得された計測値、操作量、および制御量のうち、誤差の絶対値が基準値よりも小さい場合の計測値、操作量、および制御量を示す図である。
図5】操作量を計測成分と非計測成分とに分ける処理を説明するための図である。
図6】サンプル番号(測定時刻)が互いに同じである図4の計測値と図5(d)のフィードフォワード補償値とによって特定される点がプロットされた図である。
図7】2つの試行期間において取得された2つのデータセットに基づいて予測関数を導出する処理を説明するための図である。
図8】教師データを取得するための試行回数を増加させることによって、制御量が改善する様子を示す図である。
図9図1のフィードバック制御系、フィードフォワード制御系、学習データ生成部、および学習部の各々によって行われる処理の流れを示すフローチャートを示す図である。
図10図9の学習データ生成処理の具体的な処理の流れを示すフローチャートである。
図11図9の機械学習処理の具体的な処理の流れを示すフローチャートである。
図12図2の学習部によって行われる追加学習処理の流れを示す図である。
図13】実施の形態1の変形例1に係る制御装置の機能構成を示すブロック図である。
図14】実施の形態2に係る制御システムの機能構成を示すブロック図である。
図15】実施の形態3に係る制御システムのネットワーク構成例を示す模式図である。
図16図15の制御装置のハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0020】
以下、実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は原則として繰り返さない。
【0021】
[実施の形態1]
<適用例>
図1は、実施の形態1に係る制御装置100の機能構成を示すブロック図である。図1に示されるように、制御装置100(学習装置)は、フィードバック制御部110と、フィードフォワード補償部120と、学習データ生成部130と、記憶部140と、減算器150と、加算器160と、学習部170とを備える。
【0022】
制御装置100は、外乱dsを受ける制御対象200の出力値である制御量qが目標値qrに近づくように制御対象200へのフィードバック操作量rbとフィードフォワード補償値rfとの和を操作量rとして制御対象200に出力する。記憶部140には、予測モデルMpおよび教師データDtが保存されている。制御装置100と制御対象200とは、ネットワーク(たとえば、インターネット、あるいはクラウドシステム)を介して接続され、互いに遠隔に配置されていてもよい。予測モデルMpを構築する機械学習アルゴリズムとしては、ディープバイナリーツリー、あるいはサポートベクターマシンを挙げることができる。
【0023】
外乱dsとは、制御装置100と制御対象200とを含む制御系の状態を乱す量である。外乱dsは、複数の外乱要素を含み、たとえば、制御対象に偶発的あるいは突発的に入力される光量、電圧、電流、および温度を含む。外乱dsに含まれる複数の外乱要素のうち、センサ等の計測装置によって計測される外乱要素を計測要素dsk(第1要素)とし、計測されない外乱要素を非計測要素dsu(第2要素)とする。また、計測要素dskの計測値をdoとする。
【0024】
外乱dsに含まれる複数の外乱要素は、制御対象200の対象装置の特性要因図等の予め得られている知見に基づいて、制御対象200の品質特性値(制御量q)に影響を与えることが想定される複数の因子として決定され得る。当該複数の因子のうち、フィードバック制御に関する基準時間間隔(たとえば、フィードバック制御のサインプリングタイムあるいは時定数)において、比較的大きい変動を制御量qに生じさせる因子が計測要素dskとされ、比較的小さい変動を制御量qに生じさせる因子または未知の因子が非計測要素dsuとされる。すなわち、基準時間間隔における計測要素に基づく制御量qの変動は、基準時間間隔における非計測要素に基づく制御量qの変動よりも大きい。たとえば、フィードバック制御での追従が困難である急峻あるいは不連続な変動を制御量qに生じさせる因子(たとえば、材料の湾曲あるいは耐力等の材料の特性)が計測要素dskとされる。計測要素dskに対しては、急峻な変動に予め備えることが可能なフィードフォワード制御を行う必要性が比較的高い。一方、フィードバック制御での追従が可能な緩やかあるいは連続的な変動を制御量qに生じさせる因子(たとえば、制御対象の周囲の温度、あるいは加工熱による制御対象の熱膨張)が非計測要素dsuとされる。非計測要素dsuに対しては、フィードバック制御での追従が可能であるため、フィードフォワード制御を行なう必要性は比較的低い。なお、当該因子の計測に必要なセンサ等のコストを削減するために、非計測要素とされてもよい。
【0025】
以下では、フィードバック制御部110と減算器150とを含む構成をフィードバック制御系とも呼び、フィードフォワード補償部120と加算器160とを含む構成をフィードフォワード制御系とも呼ぶ。
【0026】
減算器150は、目標値qrと制御量qとの誤差eq(=qr-q)をフィードバック制御部110に出力する。フィードバック制御部110は、誤差eqに基づいてフィードバック操作量rbを決定して加算器160に出力する。フィードフォワード補償部120は、予測モデルMpを用いて計測値doからフィードフォワード補償値rfを予測して加算器160に出力する。加算器160は、フィードバック操作量rbとフィードフォワード補償値rfとの和を操作量rとして制御対象200および学習データ生成部130に出力する。
【0027】
学習データ生成部130は、予測モデルMpに対する機械学習において用いられる教師データDtを生成する。学習データ生成部130は、複数のタイミングにおいて、目標値qrと、目標値qrに対応する操作量rと、計測値doと、計測値doおよび操作量rの両方に対応する制御量qとを含む複数の組合せCm1(第1組合せ)をそれぞれ取得する。学習データ生成部130は、複数の組合せCm1のうち、誤差eqの絶対値が基準値α(第1基準値)よりも小さい場合(制御対象200に対して高精度の制御が行われた場合)の計測値doと操作量rとを含む複数の組合せCm2(第2組合せ)をそれぞれ特定する。基準値αは、たとえば、実機実験、シミュレーション、製品の規格値、ある製造工程の管理値に基づいて適宜決定することができる。
【0028】
学習データ生成部130は、複数の組合せCm2にそれぞれ含まれる複数の操作量rにおいて、計測要素dskに対応するための複数の計測成分(第1成分)と、非計測要素dsuに対応するための複数の非計測成分(第2成分)とを特定する。計測成分および非計測成分は、フィードフォワード補償値rfおよびフィードバック操作量rbにそれぞれ対応する。学習データ生成部130は、複数の計測値doに、複数の計測成分(正解)をそれぞれ対応させた教師データDtを記憶部140に出力する。教師データDtは、学習データのセット(データセット)を取得するための試行期間毎に区別されて記憶部140に保存される。なお、学習データ生成部130は、教師データDtを学習部170に直接出力してもよい。
【0029】
学習部170は、計測値doと、フィードフォワード補償値rf(計測成分)との関係を、フィードフォワード補償値rfを目的変数とするとともに、計測値doを説明変数とする関数(回帰曲線あるいは回帰曲面)として近似する。予測モデルMpは、当該関数を含む。学習部170は、複数の組合せCm1のうち計測値doの絶対値が基準値β(第2基準値)より大きい組合せCm3(第3組合せ)の数に対する、複数の組合せCm2のうち計測値doの絶対値が基準値βより大きい組合せCm4(第4組合せ)の数の割合Crが基準値δ(第3基準値)より大きい場合、外乱dsの計測成分が比較的大きくても制御対象200に対して高精度の制御が行われるタイミング数が所望のレベルまで増加したとして、予測モデルMpに対する機械学習を終了する。なお、基準値βは、制御系が定常状態である場合の計測値doの絶対値の最大値として決定されてもよい。基準値βは、たとえば、実機実験、シミュレーション、製品の規格値、あるいは製造工程の管理値に基づいて適宜決定することができる。
【0030】
学習部170は、予測モデルMpに対する機械学習(初回の学習または追加学習)が終了し、かつ、割合Crが基準値δ以下である場合、制御対象200の特性が変化したとして、予測モデルMpに対する機械学習(追加学習)を再開する。基準値δは、たとえば、実機実験、シミュレーション、製品の規格値、ある製造工程の管理値に基づいて適宜決定することができる。制御対象200の特性には、たとえば、計測値doおよび操作量rと、制御量qとの対応関係が含まれる。
【0031】
図2は、4つの組合せCm1~Cm4をそれぞれ含む4つのデータセットScm1,Scm2,Scm3,Scm4の包含関係を示すベン図である。データセットScm1は、目標値qrと、操作量rと、計測値doと、制御量qとを含む組合せCm1の全てを含むデータセットである。データセットScm2は、データセットScm1のうち、誤差eqの絶対値が基準値αよりも小さい場合の計測値doと操作量rとを含む組合せCm2の全てを含むデータセットである。データセットScm3は、データセットScm1のうち、計測値doの絶対値が基準値βより大きい場合の組合せCm3の全てを含むデータセットである。データセットScm4は、データセットScm2のうち、計測値doの絶対値が基準値βより大きい組合せCm4の全てを含むデータセットである。図5に示されるように、データセットScm1は、データセットScm2,Scm3を包含する。データセットScm4は、データセットScm2とScm3との共通部分(積集合)である。
【0032】
制御装置100においては、フィードフォワード制御の結果に含まれる操作量rのうち、計測値doに対応させるべき正解として、操作量rそのものではなく、操作量rのうちフィードフォワード制御が必要な計測要素dskに対応するための計測成分がフィードフォワード補償値rfとして特定される。制御装置100によれば、教師データDtにおいて計測値doに対して適切な正解が関連付けられるため、教師データDtを用いて予測モデルMpに対して機械学習を行うことにより、制御対象200に対するフィードフォワード制御の精度を向上させることができる。また、制御装置100によれば、フィードフォワード制御と並行して計測値doおよび制御対象200の特性に予測モデルMpをリアルタイムに適合させることができる。また、予測モデルMpの精度が十分に高くなるまで機械学習が継続されるため、制御対象200に対するフィードフォワード制御の精度を十分に向上させることができる。さらに、制御対象200の特性の変化に応じて予測モデルMpが当該特性に再適合されるため、制御対象200の特性の変化によるフィードフォワード制御の精度の低下を抑制することができる。
【0033】
図3は、予測モデルMpが未学習である場合の試行期間における外乱ds、計測値do、操作量r、および制御量qの各々のタイムチャートを示す図である。図3には、6400秒間に取得された8000個のデータがプロットされている。図3に示されるように、計測要素dsk,計測値doは、時刻t1,t2,t3,t4(t1<t2<t3<t4)の各々において他の時間帯よりも急峻な変化をするとともに、それ以外の時間帯においてはほぼ平坦な階段状のグラフを形成する。非計測要素dsuは、一様に連続的な変化をして直線上のグラフを形成する。操作量rは、時刻t1,t2,t3,t4の各々において計測要素dskと同様に急峻に変化するとともに、それ以外の時間帯においては非計測要素dsuと同様に連続的に変化する。制御量qには、時刻t1,t2,t3,t4の各々において、スパイク状のノイズが発生する。
【0034】
図4は、図3に示される試行期間において取得された計測値do、操作量r、および制御量qのうち、誤差eqの絶対値が基準値αよりも小さい場合の計測値do、操作量r、および制御量qを示す図である。図5は、操作量rを計測成分と非計測成分とに分ける処理を説明するための図である。図5の(a)の操作量rは図4の操作量rに対応し、図5の(d)の操作量rは図3の操作量rに対応する。図4図5の横軸のサンプル番号は、データが取得された時刻順に付される番号である。後に説明する図8においても同様である。
【0035】
図5を参照しながら、(b)の差分は、(a)のn+1番目の操作量rn+1からn番目の操作量rを引いた値(rn+1-r)である。(b)において時刻t1~t4において、外れ値ot1,ot2,ot3,ot4がそれぞれ検出されている。外れ値ot1~ot4の各々は、閾値以上の絶対値(|rn+1-r|)を有する差分である。
【0036】
(c)には、(a)に示される複数のデータの各々にオフセット処理を行うことによって抽出された非計測成分がプロットされている。当該オフセット処理においては、当該複数のデータの各々から測定された時刻に応じた外れ値の合計が引かれる。具体的には、時刻0(測定開始)から時刻t1までの操作量rから引かれる外れ値はot0である。時刻t1~t2までの操作量rから引かれる外れ値はot0,ot1の合計である。時刻t2~t3までの操作量rから引かれる外れ値はot0~ot2の合計である。時刻t3~t4までの操作量rから引かれる外れ値はot0~ot3の合計である。時刻t4以降の操作量rから引かれる外れ値はot0~ot4の合計である。(c)にプロットされている非計測成分に基づいてサンプル番号(あるいは時間)と操作量rの非計測成分との対応関係が非計測成分の関数として近似される。操作量rの非計測成分は、非計測要素dsuに対応するためにフィードバック制御によって決定された操作量である。そのため、このように関数として近似された操作量rの非計測成分は、(d)においてフィードバック操作量rbとして示されている。操作量rは、フィードバック操作量rbとフィードフォワード補償値rfとの和である。したがって、(d)において、フィードフォワード補償値rfは、操作量rからフィードバック操作量rbを引くことによって導かれる。
【0037】
図6は、サンプル番号(測定時刻)が互いに同じである図4の計測値doと図5(d)のフィードフォワード補償値rfとによって特定される点がプロットされた図である。図6に示されるように、プロットされた複数の点(教師データ)に基づく回帰分析によって、計測値doとフィードフォワード補償値rfとの対応関係が、計測値do,フィードフォワード補償値rfをそれぞれ説明変数および目的変数として有する予測関数Fn1として近似される。なお、計測値doとフィードフォワード補償値rfとの対応関係を関数として近似することには、ガウス過程回帰などの機械学習アルゴリズムを利用することができる。
【0038】
図7は、2つの試行期間Tp1,Tp2において取得された2つのデータセットに基づいて予測関数Fn12を導出する処理を説明するための図である。図7に示されるように、試行期間Tp1,Tp2の各々において導出された点(教師データ)のフィードフォワード補償値rfからオフセット値が引かれた点が新たな教師データとされて、予測関数Fn12が導出される。また、当該オフセット値は、試行期間Tp1,Tp2にそれぞれ対応する予測関数Fn1,Fn2の重複範囲Rgに含まれる計測値do12を利用して決定されてもよい。具体的には、予測関数Fn1,Fn2において計測値do12にそれぞれ対応するフィードフォワード補償値rf1,rf2の平均値rfaとフィードフォワード補償値rf1またはrf2との差の絶対値(フィードフォワード補償値rf1,rf2の差の半分)を当該オフセット値とすることができる。また、当該オフセット値は、2つの試行期間Tp1,Tp2に含まれるすべての点に対するオフセット値の合計が最小となるように決定されてもよい。
【0039】
図8は、教師データを取得するための試行回数を増加させることによって、制御量qが改善する様子を示す図である。図8に示されるように、第1回の試行期間においては、時刻t11,t12,t13,t14においてスパイク状のノイズが発生する。しかし、第1回の試行期間において生成された教師データを用いる機械学習が予測モデルMpに対して行われるため、第2回の試行期間の時刻t21,t22,t23,t24の各々において発生するスパイク状のノイズの大きさ、および第3回の試行期間の時刻t31,t32,t33,t34の各々において発生するスパイク状のノイズの大きさは、第1回の試行期間の時刻t11,t12,t13,t14において発生するスパイク状のノイズの大きさよりも小さい。
【0040】
図9は、図1のフィードバック制御系、フィードフォワード制御系、学習データ生成部130、および学習部170の各々によって行われる処理の流れを示すフローチャートを示す図である。フィードバック制御系およびフィードフォワード制御系の各々のフローチャートに対応するルーチンは、たとえば、サンプリングタイム毎に実行される。学習データ生成部130および学習部170の各々のフローチャートに対応するルーチンは、たとえば、フィードフォワード制御系の各々のフローチャートに対応するルーチンの初回実行に応じて実行される。以下ではステップを単にSと記載する。
【0041】
図9に示されるように、減算器150は、S111において、目標値qrと制御量qとの誤差eqを算出してフィードバック制御部110に出力する。フィードバック制御部110は、S312において、誤差eqに基づいてフィードバック操作量rbを決定して加算器160に出力して、処理を終了する。
【0042】
フィードフォワード補償部120は、S121において、計測値doからフィードフォワード補償値rfを決定して加算器160に出力する。加算器160は、S122において、フィードバック操作量rbとフィードフォワード補償値rfとの和を操作量rとして制御対象200および学習データ生成部130に出力して、処理を終了する。
【0043】
学習データ生成部130は、S130において教師データDtを生成して処理を終了する。学習部170は、S170において予測モデルMpに対して教師データDtを用いた機械学習を行って、処理を終了する。
【0044】
図10は、図9の学習データ生成処理S130の具体的な処理の流れを示すフローチャートである。図10に示されるように、学習データ生成部130は、S131において、複数のタイミングにおいて複数の組合せCm1をそれぞれ取得して処理をS132に進める。学習データ生成部130は、S132において、複数の組合せCm1のうち、誤差eqの絶対値が基準値αよりも小さい場合の計測値doと操作量rとを含む複数の組合せCm2をそれぞれ特定して処理をS133に進める。学習データ生成部130は、S133において、複数の組合せCm2にそれぞれ含まれる複数の操作量rにおいて、計測要素dskに対応するための複数の計測成分と、非計測要素dsuに対応するための複数の非計測成分とをそれぞれ特定して処理をS134に進める。学習データ生成部130は、S134において、複数のタイミングにおける組合せCm2にそれぞれ含まれる複数の計測値doに複数の計測成分(フィードフォワード補償値rf)を正解としてそれぞれ対応させた教師データDtを出力して処理を終了する。
【0045】
図11は、図9の機械学習処理S170の具体的な処理の流れを示すフローチャートである。図11に示されるように、学習部170は、S171において、新たに追加された教師データDtを取得して処理をS172に進める。学習部170は、S172において、予測モデルMpによって表現される計測値doと、操作量rの計測成分としてのフィードフォワード補償値rfとの関係を、フィードフォワード補償値rfを目的変数とするとともに、計測値doを説明変数とする関数(回帰曲線)として近似して処理をS173に進める。学習部170は、S173において、複数の組合せCm1のうち計測値doの絶対値が基準値βより大きい組合せCm3の数M1に対する、複数の組合せCm2のうち計測値doの絶対値が基準値βより大きい組合せCm4の数M2の割合Cr(=M2/M1)を算出して、処理をS174に進める。学習部170は、S174において、割合Crが基準値δより大きいか否かを判定する。割合Crが基準値δ以下である場合(S174においてNO)、学習部170は、制御対象200へのフィードフォワード制御の精度が不十分であるとして、処理をS171に戻す。割合Crが基準値δより大きい場合(S174においてYES)、制御対象200へのフィードフォワード制御の精度が十分に高まったとして、学習部170は、機械学習を終了する。
【0046】
図12は、図2の学習部170によって行われる追加学習処理の流れを示す図である。図12に示される処理は、たとえば、初回の機械学習が開始した後、サンプリングタイム毎に実行される。図12に示されるように、学習部170は、S171Aにおいて、機械学習が終了し、かつ、割合Crが基準値δ以下であるか否かを判定する。機械学習が終了していないか、または割合Crが基準値δより大きい場合(S171AにおいてNO)、制御対象200の特性が変化しておらず既存の学習済みの予測モデルMpが制御対象200に適合しているとして、学習部170は、処理を終了する。機械学習が終了し、かつ割合Crが基準値δより以下である場合(S171AにおいてYES)、学習部170は、前回の機械学習が終了した後、制御対象200の特性が変化したとして、予測モデルMpを制御対象200の特性に再度適合させるために、図9と同様のS170において予測モデルMpに対する機械学習を再開する。制御装置100によれば、制御対象200の特性の変化に応じて予測モデルMpに対する追加学習が行われるため、制御対象200の特性の変化によるフィードフォワード制御の精度の低下を抑制することができる。
【0047】
[実施の形態1の変形例1]
実施の形態1においては、フィードバック制御系およびフィードフォワード制御系の両方が含まれる構成について説明した。実施の形態1の変形例1においては、フィードバック制御系が含まれない構成について説明する。
【0048】
図13は、実施の形態1の変形例1に係る制御装置100Aの機能構成を示すブロック図である。制御装置100Aの構成は、図1の制御装置100から減算器150およびフィードバック制御部110が除かれた構成である。これ以外は同様であるため、同様の構成についての説明を繰り返さない。なお、加算器160は、制御装置100Aに含まれていなくてもよい。
【0049】
図13に示されるように、制御装置100Aは、計測値doを受ける制御対象200の制御量qが目標値qrに近づくように制御対象200へのフィードバック操作量rbのフィードフォワード補償値rfを決定する。制御装置100Aによれば、既存のフィードバック制御系を残存させながら、当該フィードバック制御系に制御装置を追加することにより、既存のフィードバック制御系をフィードフォワード制御系および学習機能を含む制御系に容易に拡張することができる。
【0050】
以上、実施の形態1および変形例1に係る装置および教師データの生成方法によれば、制御対象に対するフィードフォワード制御の精度を向上させることができる。
【0051】
[実施の形態2]
実施の形態1においてはフィードバック制御系と、フィードフォワード制御系と、予測モデルに対して機械学習を行う構成とが1つの制御装置に含まれている場合について説明した。実施の形態2においては、フィードバック制御系と、フィードフォワード制御系と、予測モデルに対して機械学習を行う構成とが互いに別個の装置に分かれている構成について説明する。
【0052】
図14は、実施の形態2に係る制御システム2の機能構成を示すブロック図である。図14において図1と同様の参照符号が付されている構成は、実施の形態1において説明された当該参照符号によって特定される構成と同様の機能を有するため、当該同様の構成についての説明を繰り返さない。
【0053】
図14に示されるように、制御システム2は、フィードバック制御装置11と、フィードフォワード補償装置12と、学習データ生成装置13と、記憶装置14と、学習装置17とを備える。学習データ生成装置13、記憶装置14、および学習装置17は、図1の学習データ生成部130、記憶部140、および学習部170にそれぞれ対応する。フィードバック制御装置11は、フィードバック制御部110と、減算器150とを含む。フィードフォワード補償装置12は、フィードフォワード補償部120と、加算器160とを含む。フィードバック制御装置11、フィードフォワード補償装置12、学習データ生成装置13、記憶装置14、学習装置17、および制御対象200は、ネットワークを介して互いに接続され、互いに遠隔に配置されていてもよい。なお、加算器160は、フィードフォワード補償装置12ではなく、フィードバック制御装置11に含まれていてもよい。
【0054】
制御システム2によれば、既存のフィードバック制御装置を残存させながら、当該フィードバック制御装置にフィードフォワード補償装置、学習データ生成装置、および学習装置を追加することにより、既存の制御システムを容易に拡張することができる。
【0055】
以上、実施の形態2に係る装置および教師データの生成方法によれば、制御対象に対するフィードフォワード制御の精度を向上させることができる。
【0056】
[実施の形態3]
実施の形態3においては、実施の形態1に係る制御装置の一例として、当該制御装置がPLC(Programmable Logic Controller)を含む構成について説明する。
【0057】
<制御システムのネットワーク構成例>
図15は、実施の形態3に係る制御システム3のネットワーク構成例を示す模式図である。図15に示されるように、制御システム3は、複数のデバイスが互いに通信可能に構成されたデバイス群を含む。典型的には、デバイスは、制御プログラムを実行する処理主体である制御装置300と、制御装置300に接続される周辺装置とを含み得る。制御装置300は、図1に示される制御装置100と同様の機能構成を有する。
【0058】
制御装置300は、各種の設備または装置などの制御対象を制御する産業用コントローラに相当する。制御装置300は、制御演算を実行する一種のコンピュータであり、典型的には、PLC(Programmable Logic Controller)を含む。制御装置300は、フィールドネットワーク20を介してフィールドデバイス200Cに接続されている。制御装置300は、フィールドネットワーク20を介して、少なくとも1つのフィールドデバイス200Cとの間でデータを遣り取りする。
【0059】
制御装置300において実行される制御演算は、フィールドデバイス200Cにおいて収集または生成されたデータを収集する処理、フィールドデバイス200Cに対する指令値(操作量)などのデータを生成する処理、および生成した出力データを対象のフィールドデバイス200Cへ送信する処理などを含む。フィールドデバイス200Cにおいて収集または生成されたデータには、フィールドデバイス200Cに入力された外乱に関するデータ、および指令値に従ってフィールドデバイス200Cが実際に動作した結果としての制御量が含まれる。フィールドデバイス200Cに対する指令値は、制御装置300によって実行される制御プログラムに基づいて算出された制御目標値(目標値)と実際の制御量との誤差に基づいて暫定的に算出された操作量に、予測モデルによって外乱から予測されたフィードフォワード補償値が加算されることによって決定される。
【0060】
フィールドネットワーク20は、定周期通信を行うバスまたはネットワークを採用することが好ましい。このような定周期通信を行うバスまたはネットワークとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、またはCompoNet(登録商標)などが知られている。データの到達時間が保証される点において、EtherCAT(登録商標)が好ましい。
【0061】
フィールドネットワーク20には、任意のフィールドデバイス200Cを接続することができる。フィールドデバイス200Cは、フィールド側にあるロボットまたはコンベアなどに対して何らかの物理的な作用を与えるアクチュエータ、および、フィールドとの間で情報を遣り取りする入出力装置などを含む。
【0062】
制御システム3においてフィールドデバイス200Cは、複数のサーボドライバ220_1,220_2と、複数のサーボドライバ220_1,220_2にそれぞれ接続された複数のサーボモータ222_1,222_2とを含む。フィールドデバイス200Cは、「制御対象」の一例である。
【0063】
サーボドライバ220_1,220_2は、制御装置300からの指令値(たとえば、位置指令値または速度指令値など)に従って、サーボモータ222_1および222_2のうちの対応するサーボモータを駆動する。このようにして、制御装置300は、フィールドデバイス200Cを制御することができる。
【0064】
制御装置300は、上位ネットワーク32を介して、他の装置にも接続されている。上位ネットワーク32は、ゲートウェイ700を介して、外部ネットワークであるインターネット900に接続されている。上位ネットワーク32には、一般的なネットワークプロトコルであるイーサネット(登録商標)、あるいはEtherNet/IP(登録商標)が採用されてもよい。より具体的には、上位ネットワーク32には、少なくとも1つのサーバ装置600および少なくとも1つの表示装置500が接続されてもよい。
【0065】
サーバ装置600としては、データベースシステム、または製造実行システム(MES:Manufacturing Execution System)などが想定される。製造実行システムは、制御対象の製造装置または設備からの情報を取得して、生産全体を監視および管理するものであり、オーダ情報、品質情報、あるいは出荷情報などを扱うこともできる。これらに限らず、情報系サービスを提供する装置を上位ネットワーク32に接続するようにしてもよい。情報系サービスとしては、制御対象の製造装置または設備からの情報を取得して、マクロ的またはミクロ的な分析などを行う処理が想定される。たとえば、情報系サービスとしては、制御対象の製造装置または設備からの情報に含まれる何らかの特徴的な傾向を抽出するデータマイニング、あるいは制御対象の設備または機械からの情報に基づく機械学習を行うための機械学習ツールなどが想定される。
【0066】
表示装置500は、ユーザからの操作を受けて、制御装置300に対してユーザ操作に応じたコマンドなどを出力するとともに、制御装置300での演算結果などをグラフィカルに表示する。
【0067】
制御装置300には、サポート装置400が接続可能になっている。サポート装置400は、上位ネットワーク32またはインターネット900を介して制御装置300に接続されてもよい。サポート装置400は、制御装置300が制御対象を制御するために必要な準備を支援する装置である。具体的には、サポート装置400は、制御装置300で実行されるプログラムの開発環境(プログラム作成編集ツール、パーサ、およびコンパイラなど)、制御装置300および制御装置300に接続される各種デバイスの構成情報(コンフィギュレーション)を設定するための設定環境、生成したプログラムを制御装置300へ出力する機能、および制御装置300上で実行されるプログラムなどをオンラインで修正および変更を行う機能などを提供する。
【0068】
制御システム3においては、制御装置300、サポート装置400、および表示装置500がそれぞれ別体として構成されているが、これらの機能の全部または一部を単一の装置に集約するような構成が採用されてもよい。
【0069】
制御装置300は、一の生産現場のみで使用される場合に限らず、他の生産現場においても使用される。また、一の生産現場内においても複数の異なるラインで使用される場合もある。
【0070】
<制御装置のハードウェア構成例>
図16は、図15の制御装置300のハードウェア構成例を示すブロック図である。図14に示されるように、制御装置300は、プロセッサ302と、メインメモリ304と、ストレージ360と、メモリカードインターフェイス312と、上位ネットワークコントローラ306と、フィールドネットワークコントローラ308と、ローカルバスコントローラ316と、USB(Universal Serial Bus)インターフェイスを提供するUSBコントローラ370とを含む。これらのコンポーネントは、プロセッサバス318を介して接続されている。
【0071】
図16に示されるように、プロセッサ302は、制御演算を実行する演算処理部に相当し、CPU(Central Processing Unit)および/またはGPU(Graphics Processing Unit)などで構成される。具体的には、プロセッサ302は、ストレージ360に保存されたプログラムを読み出して、メインメモリ304に展開して実行することで、制御対象に対する制御演算を実現する。
【0072】
メインメモリ304は、DRAM(Dynamic Random Access Memory)および/またはSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ360は、たとえば、SSD(Solid State Drive)および/またはHDD(Hard Disk Drive)などの不揮発性記憶装置などで構成される。
【0073】
ストレージ360には、制御プログラムPcと、教師データDtと、予測モデルMpとが保存されている。ストレージ360は、図1の記憶部140に対応する。制御プログラムPcは、制御装置300を統合的に制御して、制御装置300の各機能を実現するためのプログラムを含む。すなわち、制御プログラムPcを実行するプロセッサ302が、図1のフィードバック制御系(フィードバック制御部110および減算器150)、フィードフォワード制御系(フィードフォワード補償部120および加算器160)、ならびに学習データ生成部130および学習部170に対応する。
【0074】
メモリカードインターフェイス312は、着脱可能な記憶媒体の一例であるメモリカード314を受け付ける。メモリカードインターフェイス312は、メモリカード314に対して任意のデータの読み書きが可能になっている。
【0075】
上位ネットワークコントローラ306は、上位ネットワーク32(たとえばローカルエリアネットワーク)を介して、上位ネットワーク32に接続された任意の情報処理装置との間でデータを遣り取りする。
【0076】
フィールドネットワークコントローラ308は、フィールドネットワーク20を介して、サーボモータ222_1,222_2等の任意のデバイスとの間でデータを遣り取りする。
【0077】
ローカルバスコントローラ316は、ローカルバス122を介して、制御装置300を構成する任意の機能ユニット380との間でデータを遣り取りする。機能ユニット380は、たとえば、アナログ信号の入力および/または出力を担当するアナログI/Oユニット、デジタル信号の入力および/または出力を担当するデジタルI/Oユニット、ならびにエンコーダなどからのパルスを受け付けるカウンタユニットなどからなる。
【0078】
USBコントローラ370は、USB接続を介して、任意の情報処理装置との間でデータを遣り取りする。USBコントローラ370には、たとえばサポート装置400が接続される。
【0079】
以上、実施の形態3に係る装置、教師データの生成プログラム、および教師データの生成方法によれば、制御対象に対するフィードフォワード制御の精度を向上させることができる。
【0080】
<付記>
上記したような本実施の形態は、以下のような技術思想を含む。
【0081】
[構成1]
外乱(ds)を受ける制御対象(200)へのフィードバック操作量(rb)のフィードフォワード補償値(rf)を予測する予測モデル(Mp)に対する機械学習のための装置(100)であって、
前記フィードバック操作量(rb)は、目標値(qr)と前記制御対象(200)の制御量(q)との誤差(eq)に基づいて、前記制御量(q)が前記目標値(qr)に近づくように前記制御対象の制御装置のフィードバック制御によって決定され、
前記フィードバック操作量(rb)および前記フィードフォワード補償値(rf)の和が、操作量(r)として前記制御対象(200)に前記制御装置から出力され、
前記外乱(ds)は、第1要素(dsk)と、第2要素(dsu)とを含み、
前記予測モデル(Mp)は、前記第1要素(dsk)の計測値(do)から前記フィードフォワード補償値(rf)を予測し、
前記装置(100)は、学習データ生成部(130)を備え、
前記学習データ生成部(130)は、
複数のタイミングにおいて取得された、前記目標値(qr)と、前記目標値(qr)に対応する前記操作量(r)と、前記計測値(do)と、前記計測値(do)および前記操作量(r)の両方に対応する前記制御量(q)とを含む複数の第1組合せ(Cm1)のうち、前記誤差(eq)と第1基準値(α)との比較に基づいて、前記計測値(do)と前記操作量(r)とを含む複数の第2組合せ(Cm2)をそれぞれ特定し、
前記複数の第2組合せ(Cm2)にそれぞれ含まれる複数の操作量(r)において、前記第1要素(dsk)に対応するための複数の第1成分(rf)と、前記第2要素(dsu)に対応するための複数の第2成分(rb)とをそれぞれ特定し、
前記複数のタイミングにおける第2組合せ(Cm2)にそれぞれ含まれる複数の計測値(do)に前記複数の第1成分(rf)を正解としてそれぞれ対応させた教師データ(Dt)を出力する、装置(100)。
【0082】
[構成2]
前記教師データ(Dt)を用いて前記予測モデル(Mp)に対して前記機械学習を行う学習部をさらに備え、
前記学習部(170)は、
前記予測モデル(Mp)によって表現される、前記複数の計測値(do)と前記複数の第1成分(rf)との関係を、前記フィードフォワード補償値(rf)を目的変数とするとともに、前記計測値(do)を説明変数とする関数として近似し、
前記複数の第1組合せ(Cm1)のうち前記計測値(do)の絶対値が第2基準値より大きい第3組合せの数に対する、前記複数の第2組合せ(Cm2)のうち前記計測値(do)の絶対値が前記第2基準値より大きい第4組合せの数の割合が第3基準値より大きい場合、前記機械学習を終了する、構成1に記載の装置(100)。
【0083】
[構成3]
前記学習部(170)は、前記機械学習が終了し、かつ、前記割合が前記第3基準値より小さい場合、前記機械学習を再開する、構成2に記載の装置(100)。
【0084】
[構成4]
前記第2要素(dsu)は、計測されない、構成1~3のいずれか1つに記載の装置(100)。
【0085】
[構成5]
外乱(ds)を受ける制御対象(200)へのフィードバック操作量(rb)のフィードフォワード補償値(rf)を予測する予測モデル(Mp)に対する機械学習のための教師データの生成プログラムであって、
前記フィードバック操作量(rb)は、目標値(qr)と前記制御対象(200)の制御量(q)との誤差(eq)に基づいて、前記制御量(q)が前記目標値(qr)に近づくように前記制御対象の制御装置のフィードバック制御によって決定され、
前記フィードバック操作量(rb)および前記フィードフォワード補償値(rf)の和が、操作量(r)として前記制御対象(200)に前記制御装置から出力され、
前記外乱(ds)は、第1要素(dsk)と、第2要素(dsu)とを含み、
前記予測モデル(Mp)は、前記第1要素(dsk)の計測値(do)から前記フィードフォワード補償値(rf)を予測し、
前記教師データの生成プログラムは、プロセッサに実行されることによって、
複数のタイミングにおいて取得された、前記目標値(qr)と、前記目標値(qr)に対応する前記操作量(r)と、前記計測値(do)と、前記計測値(do)および前記操作量(r)の両方に対応する前記制御量(q)とを含む複数の第1組合せ(Cm1)のうち、前記誤差(eq)と第1基準値(α)との比較に基づいて、前記計測値(do)と前記操作量(r)とを含む複数の第2組合せ(Cm2)をそれぞれ特定し、
前記複数の第2組合せ(Cm2)にそれぞれ含まれる複数の操作量(r)において、前記第1要素(dsk)に対応するための複数の第1成分(rf)と、前記第2要素(dsu)に対応するための複数の第2成分(rb)とをそれぞれ特定し、
前記複数のタイミングにおける第2組合せ(Cm2)にそれぞれ含まれる複数の計測値(do)に前記複数の第1成分(rf)を正解としてそれぞれ対応させた教師データ(Dt)を出力する、教師データの生成プログラム。
【0086】
[構成6]
外乱(ds)を受ける制御対象(200)へのフィードバック操作量(rb)のフィードフォワード補償値(rf)を予測する予測モデル(Mp)に対する機械学習のための教師データの生成方法であって、
前記フィードバック操作量(rb)は、目標値(qr)と前記制御対象(200)の制御量(q)との誤差(eq)に基づいて、前記制御量(q)が前記目標値(qr)に近づくように前記制御対象の制御装置のフィードバック制御によって決定され、
前記フィードバック操作量(rb)および前記フィードフォワード補償値(rf)の和が、操作量(r)として前記制御対象(200)に前記制御装置から出力され、
前記外乱(ds)は、第1要素(dsk)と、第2要素(dsu)とを含み、
前記予測モデル(Mp)は、前記第1要素(dsk)の計測値(do)から前記フィードフォワード補償値(rf)を予測し、
前記教師データの生成方法は、
複数のタイミングにおいて取得された、前記目標値(qr)と、前記目標値(qr)に対応する前記操作量(r)と、前記計測値(do)と、前記計測値(do)および前記操作量(r)の両方に対応する前記制御量(q)とを含む複数の第1組合せ(Cm1)のうち、前記誤差(eq)と第1基準値(α)との比較に基づいて、前記計測値(do)と前記操作量(r)とを含む複数の第2組合せ(Cm2)をそれぞれ特定することと、
前記複数の第2組合せ(Cm2)にそれぞれ含まれる複数の操作量(r)において、前記第1要素(dsk)に対応するための複数の第1成分(rf)と、前記第2要素(dsu)に対応するための複数の第2成分(rb)とをそれぞれ特定することと、
前記複数のタイミングにおける第2組合せ(Cm2)にそれぞれ含まれる複数の計測値(do)に前記複数の第1成分(rf)を正解としてそれぞれ対応させた教師データ(Dt)を出力することとを含む、教師データの生成方法。
【0087】
[構成7]
前記教師データ(Dt)を用いて前記予測モデル(Mp)に対して前記機械学習を行って学習済みモデルを生成する方法をさらに含み、
前記学習済みモデルを生成する方法は、
前記予測モデル(Mp)によって表現される、前記複数の計測値(do)と前記複数の第1成分(rf)との関係を、前記フィードフォワード補償値(rf)を目的変数とするとともに、前記計測値(do)を説明変数とする関数として近似するステップと、
前記複数の第1組合せ(Cm1)のうち前記計測値(do)の絶対値が第2基準値より大きい第3組合せの数に対する、前記複数の第2組合せ(Cm2)のうち前記計測値(do)の絶対値が前記第2基準値より大きい第4組合せの数の割合が第3基準値より大きい場合、前記機械学習を終了するステップとを含む、構成6に記載の教師データの生成方法。
【0088】
[構成8]
前記学習済みモデルを生成する方法は、前記機械学習が終了し、かつ、前記割合が前記第3基準値より小さい場合、前記機械学習を再開するステップをさらに含む、構成7に記載の教師データの生成方法。
【0089】
今回開示された各実施の形態は、矛盾しない範囲で適宜組み合わされて実施されることも予定されている。今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0090】
2,3 制御システム、11 フィードバック制御装置、12 フィードフォワード補償装置、13 学習データ生成装置、14 記憶装置、17 学習装置、20 フィールドネットワーク、32 上位ネットワーク、100,100A,300 制御装置、110 フィードバック制御部、120 フィードフォワード補償部、122 ローカルバス、130 学習データ生成部、140 記憶部、150 減算器、160 加算器、170 学習部、200 制御対象、200C フィールドデバイス、222 サーボモータ、302 プロセッサ、304 メインメモリ、306 上位ネットワークコントローラ、308 フィールドネットワークコントローラ、312 メモリカードインターフェイス、314 メモリカード、316 ローカルバスコントローラ、318 プロセッサバス、360 ストレージ、370 コントローラ、380 機能ユニット、400 サポート装置、500 表示装置、600 サーバ装置、700 ゲートウェイ、900 インターネット、Cm1~Cm4 組合せ、Cr 割合、Dt 教師データ、Fn1,Fn2,Fn12 予測関数、Mp 予測モデル、Pc 制御プログラム、Rg 重複範囲、Scm1~Scm4 データセット、Tp1,Tp2 試行期間、dsk 計測要素、do,do12 計測値、ds 外乱、dsu 非計測要素、eq 誤差、ot1~ot4 外れ値、q 制御量、qr 目標値、r 操作量、rb フィードバック操作量、rf,rf1,rf2 フィードフォワード補償値。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16