(57)【要約】【課題】停電をより正確に検出できる制御装置を提供する。【解決手段】停電の発生を検出した際に、産業機械に退避動作を実行させる制御装置２００であって、少なくとも時間に関連するパラメータを変数として持つ電源電圧予測関数に基づいて、前記電源２０１の予測電圧を予測する電源電圧予測部２０６と、少なくとも、前記予測電圧、前記時間に関連するパラメータ、前回以前の停電発生状況を示すパラメータと、を変数として持つ閾値電圧決定関数に基づいて、前記停電発生の判断基準となる閾値電圧を決定する閾値電圧決定部２０９と、前記電源の実測電圧が、前記閾値電圧決定部で決定された前記閾値電圧未満の場合に、前記停電が発生したと判断する停電検出部２１０と、前記停電検出部２１０で前記停電が発生したと判断された場合に、前記産業機械に退避動作を指示する退避動作指令部２１１と、を備える。【選択図】図１
2018190079.tif 000002
【特許請求の範囲】
【請求項１】
電源からの電力で駆動する産業機械を制御する制御装置であって、停電の発生を検出した際に、前記産業機械に退避動作を実行させる制御装置であって、
少なくとも時間に関連するパラメータを変数として持つ電源電圧予測関数に基づいて、前記電源の予測電圧を予測する電源電圧予測部と、
少なくとも、前記予測電圧、前記時間に関連するパラメータ、前回以前の停電発生状況を示すパラメータと、を変数として持つ閾値電圧決定関数に基づいて、前記停電発生の判断基準となる閾値電圧を決定する閾値電圧決定部と、
前記電源の実測電圧が、前記閾値電圧決定部で決定された前記閾値電圧以下、または未満の場合に、前記停電が発生したと判断する停電検出部と、
前記停電検出部で前記停電が発生したと判断された場合に、前記産業機械に退避動作を指示する退避動作指令部と、
を備える、ことを特徴とする制御装置。
【請求項２】
請求項１に記載の制御装置であって、
前記電源電圧予測部は、前記停電検出部で前記停電が発生したと判断されたタイミング、または、規定の予測期間が経過したタイミングで、前記電源電圧予測関数を学習により更新する、ことを特徴とする制御装置。
【請求項３】
請求項２に記載の制御装置であって、
前記電源電圧予測部による前記学習では、少なくとも、前記予測電圧と前記実測電圧との差分値である予測誤差に基づいて報酬を決定するとともに、前記報酬が多くなるように前記電圧予測関数を更新する、ことを特徴とする制御装置。
【請求項４】
請求項１から３のいずれか１項に記載の制御装置であって、
前記閾値電圧決定部は、前記停電検出部で前記停電が発生したと判断されたタイミングで、前記閾値電圧決定関数を学習により更新する、ことを特徴とする制御装置。
【請求項５】
請求項４に記載の制御装置であって、
前記電源電圧予測部による前記学習では、少なくとも、前記産業機械に指示した退避量指令量と前記産業機械が実際に移動した退避量実測値との差分値である退避誤差に基づいて報酬を決定するとともに、前記報酬が多くなるように前記閾値電圧決定関数を更新する、ことを特徴とする制御装置。
【請求項６】
請求項１から５のいずれか１項に記載の制御装置であって、
前記時間に関するパラメータは、時刻、日付、曜日、季節の少なくとも一つを含む、ことを特徴とする制御装置。
【請求項７】
請求項１から６のいずれか１項に記載の制御装置であって、
前記停電発生状況を示すパラメータは、少なくとも、停電発生直前における予測電圧と、実測電圧と、を含む、ことを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本件明細書では、電源からの電力により駆動する産業機械の制御装置であって、停電の発生を検出した際に、産業機械に退避動作を実行させる制御装置を開示する。
【背景技術】
【０００２】
一般に、工作機械や生産ロボット等の産業機械では、交流電源（例えば商用電源）から供給された交流電力をコンバータにて直流電力に一旦変換した後、さらに、インバータで交流電力に変換し、この交流電力により、各駆動軸ごとに設けられた駆動モータを駆動している。かかる産業機械において、交流電源の停電を検出した場合、各駆動モータの保護動作（退避動作）を行う技術が知られている。
【０００３】
例えば、特許文献１では、電源電圧の値が、停電検出レベル未満となる状態が所定の継続時間以上継続した場合に停電と判断して、保護動作（退避動作）を実行する制御装置が開示されている。この制御装置では、停電検出レベルおよび継続時間を変更するための関数を、停電が発生する度に、更新する学習部を有している。かかる特許文献１の技術によれば、停電発生の度に、停電検出レベルおよび継続時間を変更するための関数が更新され、学習されるため、ある程度、正確に停電の発生を検出できる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５９６４４８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、停電の検出基準となる停電検出レベルおよび継続時間は、一度設定されると、停電を検出しない限り、再設定できず、一定値を取り続けることになる。しかし、実際の電源電圧は、日時や、曜日、季節等により、長周期で変動する。そのため、特許文献１の技術では、停電の誤検出が生じるおそれがあった。
【０００６】
例えば、通常、電源電圧は、朝は高く、昼間は、低くなる傾向がある。ここで、朝に、停電が発生したとする。特許文献１の制御装置において、この朝の停電のタイミングで学習を行うと、電源電圧が高めであっても停電を検出できるように関数が更新され、停電検出レベルが高め設定される。かかる停電検出レベルを、電源電圧が低い昼間にも適用すると、電源電圧のわずかな変動（低減）を停電と誤検出するおそれがある。この場合、工作機械は、退避動作を実行したうえで、その稼働を停止する。その結果、実際には停電していないにもかかわらず、工作機械を停止することになり、生産性の低下を招く。
【０００７】
一方、昼間に、停電が発生した場合を考える。この場合、特許文献１の制御装置は、昼間の停電のタイミングで学習を行い、電源電圧が低めの場合に停電を検出できるように関数を更新するため、停電検出レベルが低め設定される。かかる停電検出レベルを、電源電圧が高い朝にも適用すると、停電に起因して電源電圧が低下しても、停電として検出できない検出スルーが生じるおそれがある。検出スルーが生じると、十分な退避動作ができないため、工具やワークが衝突し、破損する恐れがあった。
【０００８】
さらに、特許文献１の技術では、停電が発生しない限り、停電検出レベルおよび継続時間が更新されないため、全体的に、停電の検出精度が低いといえる。
【０００９】
そこで、本明細書では、停電をより正確に検出できる制御装置を開示する。
【課題を解決するための手段】
【００１０】
本明細書で開示する制御装置は、電源からの電力で駆動する産業機械を制御する制御装置であって、停電の発生を検出した際に、前記産業機械に退避動作を実行させる制御装置であって、少なくとも時間に関連するパラメータを変数として持つ電源電圧予測関数に基づいて、前記電源の予測電圧を予測する電源電圧予測部と、少なくとも、前記予測電圧、前記時間に関連するパラメータ、前回以前の停電発生状況を示すパラメータと、を変数として持つ閾値電圧決定関数に基づいて、前記停電発生の判断基準となる閾値電圧を決定する閾値電圧決定部と、前記電源の実測電圧が、前記閾値電圧決定部で決定された前記閾値電圧以下、または未満の場合に、前記停電が発生したと判断する停電検出部と、前記停電検出部で前記停電が発生したと判断された場合に、前記産業機械に退避動作を指示する退避動作指令部と、を備える、ことを特徴とする。
【００１１】
前記電源電圧予測部は、前記停電検出部で前記停電が発生したと判断されたタイミング、または、規定の予測期間が経過したタイミングで、前記電源電圧予測関数を学習により更新してもよい。この場合、前記電源電圧予測部による前記学習では、少なくとも、前記予測電圧と前記実測電圧との差分値である予測誤差に基づいて報酬を決定するとともに、前記報酬が多くなるように前記電圧予測関数を更新してもよい。
【００１２】
また、前記閾値電圧決定部は、前記停電検出部で前記停電が発生したと判断されたタイミングで、前記閾値電圧決定関数を学習により更新してもよい。この場合、前記電源電圧予測部による前記学習では、少なくとも、前記産業機械に指示した退避量指令量と前記産業機械が実際に移動した退避量実測値との差分値である退避誤差に基づいて報酬を決定するとともに、前記報酬が多くなるように前記閾値電圧決定関数を更新してもよい。
【００１３】
また、前記時間に関するパラメータは、時刻、日付、曜日、季節の少なくとも一つを含んでもよい。また、前記停電発生状況を示すパラメータは、少なくとも、停電発生直前における予測電圧と、実測電圧と、を含んでもよい。
【発明の効果】
【００１４】
本明細書に開示の制御装置によれば、電源電圧が、時間により長周期で変動する場合であっても、変動に追従して、閾値電圧を適切に設定することができる。結果として、退避動作の実行回数を最小限に抑えつつ、十分な退避量を確保することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明における工作機械の制御装置の機能構成を示す機能ブロック図である。
【図２】停電検出処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、産業機械の制御装置について説明する。図１は、制御装置２００の機能構成を示すブロック図である。この制御装置２００は、産業機械に設けられた１以上の可動部の移動を制御する。産業機械としては、工場や事業所等において外部電源から給電を受けて稼働する機械であればよく、例えば、工作機械や産業用ロボットなどでもよい。工作機械としては、金属、木材、石材、樹脂等に切断、穿孔、研削、研磨、圧延、鍛造、折り曲げ等の加工を施すための機械であればよく、例えば、旋盤やマシニングセンタ等でもよい。以下では、工作機械の制御装置を例に挙げて説明する。
【００１７】
工作機械（産業機械）は、１以上の可動部を有しており、各可動部は、１以上の駆動モータ２０４により駆動される。なお、図１では、一つの駆動モータ２０４のみを例示しているが、駆動モータ２０４は、複数でもよい。
【００１８】
駆動モータ２０４は、交流電源２０１（例えば商用電源）からの電力で駆動される。具体的には、交流電源２０１で供給された交流電力は、コンバータ２０２により直流電力に一旦変換される。その後、直流電力は、さらに、インバータ２０３で交流電力に変換され、駆動モータ２０４に供給される。また、交流電源２０１の電圧は、図示しない電圧センサで検出され、実測電圧Ｖｒとして、後述する制御装置２００に入力される。インバータ２０３は、複数のスイッチング素子を有したインバータ回路と、当該インバータ回路を駆動するドライバと、を有している。ドライバには、駆動モータ２０４に関するパラメータを記憶するメモリが組み込まれている。
【００１９】
駆動モータ２０４は、可動部を動かすためのモータである。駆動モータ２０４の回転位置は、位置センサ２１４により、モータ検出位置Ｐとして検出される。検出されたモータ検出位置Ｐは、インバータ２０３のドライバに設けられたメモリに記憶される。
【００２０】
制御装置２００は、工作機械の駆動を制御するものである。この制御装置２００は、各種演算を行うＣＰＵや、種々の制御パラメータや制御プログラム、関数等を記憶する記憶装置、データの入出力を可能にする通信インターフェース等を備えている。図１には、この制御装置２００の機能構成を示す機能ブロック図を示している。なお、図１では、主に、停電の発生検知に関する機能のみを図示しているが、制御装置２００は、駆動モータ２０４の位置制御機能等も有している。こうした駆動モータ２０４の位置制御機能は、公知の従来技術を用いて実現できるため、ここでの詳説は、省略する。
【００２１】
図１に示す通り、制御装置２００は、交流電源２０１の停電を検出する停電検出部２１０と、停電が検出された際に退避動作の実行を指示する退避動作指令部２１１と、停電検出に必要なパラメータを学習により最適化していく機械学習装置と、を有している。
【００２２】
停電検出部２１０は、工作機械の稼働中、交流電源２０１の実測電圧Ｖｒと、機械学習装置から出力された閾値電圧Ｖｔｈとの比較を、規定の制御周期Ｔｃごとに行い、停電が発生するか否かを判断する。比較の結果、実測電圧Ｖｒが、閾値電圧Ｖｔｈ以上の場合には、停電検出部２１０は、停電は発生しないと判断する。一方、実測電圧Ｖｒが、閾値電圧Ｖｔｈ未満の場合、停電が発生すると判断し、退避動作指令部２１１および機械学習装置に、停電発生を示す信号、すなわち、停電検出信号を出力する。
【００２３】
退避動作指令部２１１は、停電検出信号を受信した場合、退避指令をインバータ２０３に出力する。退避指令を受けたインバータ２０３は、駆動モータ２０４が予め規定された退避量指令値Ｌ＊だけ、退避移動するように、駆動モータ２０４を駆動する。このとき、インバータ２０３は、退避指令を受けた時点でのモータ検出位置Ｐ１と、退避移動後に駆動モータ２０４が停止した時点でのモータ検出位置Ｐ２とを記憶する。
【００２４】
機械学習装置は、停電発生の判断基準となる閾値電圧Ｖｔｈを学習しながら決定するもので、交流電源電圧記録部２０５と、交流電源電圧予測部２０６と、閾値電圧決定部２０９と、予測指令部２０７と、時計２０８と、を有している。予測指令部２０７は、工作機械が起動されたタイミング、または、後述する電源電圧予測関数ｆｅが更新されたタイミングで、交流電源電圧予測部２０６に予測指令を出力する。
【００２５】
交流電源電圧予測部２０６は、交流電源電圧の予測値、すなわち、予測電圧Ｖｅを、電源電圧予測関数ｆｅに基づいて、予測する。交流電源電圧予測部２０６は、予測指令を受け取ると、現在から規定の予測期間Ｔｅ（Ｔｅ＜＜Ｔｃ）だけ経過した時刻Ｔまでの予測電圧Ｖｅの群を算出する。すなわち、制御周期Ｔｃごとの予測電圧Ｖｅの時系列Ｖｅ（ｔ）を算出する。
【００２６】
電源電圧予測関数ｆｅは、少なくとも時間に関連するパラメータを変数として電源電圧を予測する関数である。時間に関するパラメータは、時刻ｔ、日付ｄ、曜日ｗ、季節ｓの少なくとも一つを含む。このように電源電圧予測関数ｆｅが、時間に関するパラメータを変数として持つのは、電源電圧が、日時や、曜日、季節等により、長周期で変動するからである。例えば、電源電圧は、一般的には、深夜よりも朝、朝よりも昼間〜夜間のほうが低くなる傾向がある。また、電源電圧は、平日よりも休日のほうが高くなる傾向がある。また、電源電圧は、空調の需要が高い夏および冬よりも、春および秋のほうが高くなる傾向がある。電源電圧予測関数ｆｅは、こうした時間に関するパラメータを変数として持ち、当該変数（時間）に対する電源電圧の変化を模した関数となっている。電源電圧予測関数ｆｅに基づいて算出された予測電圧Ｖｅは、当該算出に用いた変数（時刻ｔ、日付ｄ、曜日ｗ、季節ｓ等）の値とともに、交流電源電圧記録部２０５および閾値電圧決定部２０９に出力される。
【００２７】
また、交流電源電圧予測部２０６は、時刻Ｔに達したタイミング、または、停電発生が検知されたタイミングで、電源電圧予測関数ｆｅを学習して、更新する。電源電圧予測関数ｆｅの学習は、電源電圧の予測誤差Ｅｒｒ＿Ｖが小さくなるように行う。予測誤差Ｅｒｒ＿Ｖは、例えば、各制御周期Ｔｃ毎に得られる予測電圧Ｖｅと実測電圧Ｖｒとの偏差ΔＶから求まる値で、例えば、各制御周期Ｔｃ毎に得られる偏差ΔＶの二乗平均値等である。
【００２８】
学習アルゴリズムとしては、特に限定されないが、例えば、強化学習アルゴリズムを用いる場合について説明する。強化学習は、ある環境内におけるエージェント（行動主体）が、現在の状態を観測し、取るべき行動を決定する、というものである。エージェントは行動を選択することで環境から報酬を得て、一連の行動を通じて報酬が最も多く得られるような方策を学習する。強化学習の代表的な手法として、Ｑ学習（Ｑ−ｌｅａｒｎｉｎｇ）やＴＤ学習（ＴＤ−ｌｅａｒｎｉｎｇ）が知られている。例えば、Ｑ学習の場合、行動価値関数Ｑ（ｓ，ａ）の一般的な更新式（行動価値テーブル）は式１で表される。
【数１】
2018190079.tif 000003
【００２９】
式１において、ｓｔは、時刻ｔにおける環境を表し、ａｔは、時刻ｔにおける行動を表す。行動ａｔにより、環境はｓｔ＋１に変わる。ｒｔ＋１は、その環境の変化によってもらえる報酬（ｒｅｗａｒｄ）を表し、γは、割引率を表し、αは、学習係数を表す。電源電圧の予測に、Ｑ学習を適用した場合、予測電圧Ｖｅが行動ａｔとなり、電源電圧予測関数ｆｅが、環境ｓｔとなる。また、報酬ｒは、電源電圧の予測誤差Ｅｒｒ＿Ｖが小さいほど高くなる。
【００３０】
交流電源電圧記録部２０５は、電圧センサで検出された実測電圧Ｖｒと、交流電源電圧予測部２０６から出力された予測電圧Ｖｅと、予測電圧Ｖｅの算出時に用いられた変数の値（例えば、時間に関するパラメータの値）と、を互いに関連づけて記憶する。なお、電圧センサの検出値に替えて、インターネットを通じて電力会社等から提供される電圧値を、実測電圧Ｖｒとして記憶してもよい。
【００３１】
次に、閾値電圧決定部２０９について説明する。閾値電圧決定部２０９は、停電発生の判断基準となる閾値電圧Ｖｔｈを、閾値電圧決定関数ｆｖに基づいて、決定する。具体的には、閾値電圧決定部２０９は、交流電源電圧予測部２０６から予測電圧Ｖｅの時系列Ｖｅ（ｔ）を受け取ると、現在から規定の予測期間Ｔｅ（Ｔｅ＜＜Ｔｃ）経過した時刻Ｔまでの閾値電圧Ｖｔｈの群を算出する。すなわち、制御周期Ｔｃごとの閾値電圧Ｖｔｈの時系列Ｖｔｈ（ｔ）を算出する。
【００３２】
閾値電圧決定関数ｆｖは、少なくとも、交流電源電圧予測部２０６で算出された予測電圧Ｖｅと、時間に関連するパラメータと、前回以前の停電発生状況を示すパラメータと、を変数として持ち、閾値電圧Ｖｔｈを予測する関数である。時間に関連するパラメータは、上述した通り、時刻ｔ、日付ｄ、曜日ｗ、季節ｓの少なくとも一つを含む。停電発生状況を示すパラメータは、少なくとも、停電発生直前（例えば１０秒前等）における予測電圧Ｖｅおよび実測電圧Ｖｒと、を含む。閾値電圧決定関数ｆｖが、予測電圧Ｖｅを変数として持つことで、時間に応じて長周期で変動する電源電圧（予測電圧Ｖｅ）に応じた閾値電圧Ｖｔｈを決定することができる。例えば、予測電圧Ｖｅが高いタイミングでは、閾値電圧Ｖｔｈも高めに算出し、予測電圧Ｖｅが低いタイミングでは、閾値電圧も低めに算出することができる。また、時間に関連するパラメータ、および、前回以前の停電発生状況を変数として持つことで、予測電圧Ｖｅの信頼度を加味した閾値電圧Ｖｔｈを算出できる。例えば、電源電圧の変動が大きい時期は、電源電圧の予測精度が低下し、予測電圧Ｖｅの信頼性が低いと考えることができる。また、前回の停電発生直前における予測電圧Ｖｅと実測電圧Ｖｒとの乖離が大きい場合にも、予測電圧Ｖｅの信頼性が低いと考えることができる。したがって、そのような場合には、停電の検知スルーを防止するために、閾値電圧Ｖｔｈを高めに設定してもよい。閾値電圧決定関数ｆｖに基づいて算出された閾値電圧Ｖｔｈは、停電検出部２１０に出力される。
【００３３】
また、閾値電圧決定部２０９は、停電発生が検知されたタイミングで、閾値電圧決定関数ｆｖを学習して、更新する。閾値電圧決定関数ｆｖの学習は、退避誤差Ｅｒｒ＿Ｌが小さくなるように行う。退避誤差Ｅｒｒ＿Ｌは、規定の退避量指令値Ｌ＊と、実際の退避量である退避量実測値Ｌｒとの差分値である。そして、退避量実測値Ｌｒは、インバータ２０３に記憶されている退避動作開始時のモータ検出位置Ｐ１と、退避動作終了時のモータ検出位置Ｐ２との差分値である。
【００３４】
学習アルゴリズムは、電源電圧予測関数ｆｅの学習と同様に、特に限定されないが、例えば、Ｑ学習やＴＤ学習等の強化学習を用いることができる。閾値電圧の決定に、Ｑ学習を適用した場合、閾値電圧Ｖｔｈが行動ａｔとなり、閾値電圧決定関数ｆｖが、環境ｓｔとなる。また、報酬ｒは、退避誤差Ｅｒｒ＿Ｌが小さいほど高くなる。なお、駆動モータ２０４が複数存在する場合、退避誤差Ｅｒｒ＿Ｌも複数得られることになる。この場合には、複数の退避誤差Ｅｒｒ＿Ｌの統計値（二乗平均値や最大値、積算値等）が、小さい程、報酬ｒが高くなるようにすればよい。
【００３５】
次に、以上のような制御装置２００による停電の発生の検出処理について説明する。図２は、停電発生の検出処理の流れを示すフローチャートである。なお、フローチャートには記載していないが、交流電源電圧記録部２０５は、常時、交流電源２０１の実測電圧Ｖｒと、交流電源電圧予測部２０６から算出された予測電圧Ｖｅの時系列Ｖｅ（ｔ）と、その算出に用いられたパラメータの値（時刻ｔ、日付ｄ、曜日ｗ、季節ｓ等）を、記録し続けている。
【００３６】
工作機械が起動されれば、予測指令部２０７は、交流電源電圧予測部２０６に対して予測指令を出力する（Ｓ３０１）。予測指令を受けた交流電源電圧予測部２０６は、現時刻から予測期間Ｔｅ経過後の時刻Ｔまでの、予測電圧の時系列Ｖｅ（ｔ）を算出する（Ｓ３０２）。この算出のために、交流電源電圧予測部２０６は、時計２０８を参照して時間に関するパラメータを取得し、当該パラメータを電源電圧予測関数ｆｅに適用する。予測電圧の時系列Ｖｅ（ｔ）が算出できれば、交流電源電圧予測部２０６は、算出された時系列Ｖｅ（ｔ）を、算出に利用した変数の値とともに、交流電源電圧記録部２０５および閾値電圧決定部２０９に出力する。
【００３７】
閾値電圧決定部２０９は、現時刻から予測期間Ｔｅ経過後の時刻Ｔまでの、閾値電圧の時系列Ｖｔｈ（ｔ）を算出する（Ｓ３０３）。具体的には、閾値電圧決定部２０９は、交流電源電圧記録部２０５を参照して、前回以前の停電発生状況を示すパラメータとして、前回以前の停電直前の予測電圧Ｖｅと実測電圧Ｖｒとを取得する。そして、閾値電圧決定部２０９は、この前回以前の停電発生状況を示すパラメータと、交流電源電圧予測部２０６から入力された予測電圧Ｖｅと、算出に利用した変数の値（時間に関するパラメータの値）と、を電圧決定関数ｆｖに適用し、閾値電圧の時系列Ｖｔｈ（ｔ）を算出する。算出された時系列Ｖｔｈ（ｔ）は、停電検出部２１０に送られる。
【００３８】
停電検出部２１０は、停電が発生するか否かを監視する（Ｓ３０４）。具体的には、停電検出部２１０は、現在の閾値電圧Ｖｔｈと実測電圧Ｖｒと、を比較し、実測電圧Ｖｒが、閾値電圧Ｖｔｈ未満の場合は、停電が発生すると判断する。この場合、ステップＳ３０７に進む。一方、実測電圧Ｖｒが、閾値電圧Ｖｔｈ以上の場合、停電検出部２１０は、停電は、発生しないと判断する。この場合、時刻Ｔに達するまで、停電の発生の監視を続ける（Ｓ３０６）。
【００３９】
停電が発生すると判断された場合（Ｓ３０４でＹｅｓ）、停電検出部２１０は、停電検出信号を、退避動作指令部２１１に出力する。退避動作指令部２１１は、停電検出信号を受け取ると、インバータ２０３に対して、退避量指令値Ｌ＊だけ、退避移動する退避動作の実行を指令する。退避動作指令を受け取ったインバータ２０３は、退避量指令値Ｌ＊だけ、退避移動するように、駆動モータ２０４を駆動する（Ｓ３０７）。また、インバータ２０３は、退避動作を開始した時点での駆動モータ２０４の検出位置Ｐ１と、退避動作を終了した時点での駆動モータ２０４の検出位置Ｐ２と、を取得し、記憶する。
【００４０】
退避動作が終了すれば、続いて、閾値電圧決定部２０９は、閾値電圧決定関数ｆｖを学習により更新する（Ｓ３０８）。具体的には、閾値電圧決定部２０９は、インバータ２０３に記憶されている検出位置Ｐ１と検出位置Ｐ２とから、退避量実測値Ｌ＝Ｐ１−Ｐ２を算出し、さらに、退避量実測値Ｌと退避量指令値Ｌ＊との差分値である退避誤差Ｅｒｒ＿Ｌ＝｜Ｌ−Ｌ＊｜を算出する。そして、閾値電圧決定部２０９は、停電発生時の閾値電圧Ｖｔｈを行動ａｔ、閾値電圧Ｖｔｈの算出に用いた電圧決定関数ｆｖを環境ｓｔとして、退避誤差Ｅｒｒ＿Ｌが小さくなるように（報酬が大きくなるように）、電圧決定関数ｆｖを更新する。
【００４１】
電圧決定関数ｆｖが更新（すなわち停電が発生）されたタイミング、または、時刻Ｔになったタイミングで、交流電源電圧予測部２０６は、予測関数ｆｅを学習により更新する（Ｓ３０９）。具体的には、交流電源電圧予測部２０６は、交流電源電圧記録部２０５を参照し、過去の予測電圧Ｖｅと、実測電圧Ｖｒとの差分である予測誤差Ｅｒｒ＿Ｖを取得する。交流電源電圧予測部２０６は、予測電圧Ｖｅを行動ａｔ、閾値電圧Ｖｔｈの算出に用いた電源電圧予測関数ｆｅを環境ｓｔとして、予測誤差Ｅｒｒ＿Ｖが小さくなるように（報酬が大きくなるように）、電源電圧予測関数ｆｅを更新する。電源電圧予測関数ｆｅが更新されれば、ステップＳ３０１に戻り、同様の処理を繰り返す。
【００４２】
以上の説明から明らかな通り、本明細書で開示する制御装置２００では、長周期で変動する電源電圧を予測電圧Ｖｅとして予測し、予測電圧Ｖｅを参照して、閾値電圧Ｖｔｈを算出している。この場合、閾値電圧Ｖｔｈは、停電が発生しなくても、電源電圧に追従するように変動するため、停電の発生をより正確に検出することができる。また、本明細書で開示する制御装置２００では、適宜、電源電圧予測関数ｆｅおよび電圧決定関数ｆｖを学習により更新している。そのため、予測電圧Ｖｅおよび閾値電圧Ｖｔｈをより適切に決定できる。特に、電源電圧予測関数ｆｅは、停電が発生しなくても、所定の予測期間Ｔｅがタイムアウトすれば更新する。そのため、停電が長期間、発生しない場合でも、予測電圧Ｖｅを正確に予測でき、ひいては、停電の発生をより正確に検出することができる。
【００４３】
なお、これまで説明した構成は、一例であり、少なくとも、時間に関するパラメータを変数として持つ電源電圧予測関数ｆｅに基づいて、予測電圧Ｖｅを算出し、この予測電圧Ｖｅに応じて閾値電圧Ｖｔｈを決定するのであれば、他の構成は、適宜、変更されてよい。例えば、上述の説明では、電源電圧予測関数ｆｅは、時間に関するパラメータに加えて、さらに、他のパラメータを変数として持っていてもよい。他のパラメータとしては、例えば、温度に関するパラメータ等が考えられる。また、閾値電圧決定関数ｆｖも、予測電圧Ｖｅと、時間に関連するパラメータと、前回以前の停電発生状況を示すパラメータと、に加え、他のパラメータを変数として持っていてもよい。他のパラメータとしては、例えば、産業機械の特性に関連するパラメータ（例えば退避動作実行に必要な時間等）等が考えられる。また、これまでの説明では、予測期間Ｔｅ分の予測電圧Ｖｅおよび閾値電圧Ｖｔｈを、一括で算出しているが、これらは、随時、算出するのでもよい。
【符号の説明】
【００４４】
２００  制御装置、２０１  交流電源、２０２  コンバータ、２０３  インバータ、２０４  駆動モータ、２０５  交流電源電圧記録部、２０６  交流電源電圧予測部、２０７  予測指令部、２０８  時計、２０９  閾値電圧決定部、２１０  停電検出部、２１１  退避動作指令部、２１４  位置センサ。
【図１】
2018190079.tif 000004
【図２】
2018190079.tif 000005