(57)【特許請求の範囲】
【請求項１】
加工電極と被加工物との間隙において放電を発生させることにより前記被加工物を加工する放電加工装置における前記加工電極と前記被加工物との相対速度を制御する数値制御装置であって、
前記放電の状態を検出して、前記被加工物のうち前記加工電極と対向する面である加工面が加工の進行によって前記加工電極から離れる方向へ移動する移動速度を前記放電の状態の検出結果に基づいて推定する加工面移動速度推定部と、
前記移動速度の推定値に基づいて、前記相対速度の指令値であって前記移動速度を補償する速度指令値を算出する速度指令値補償部と、
を備えることを特徴とする数値制御装置。
【請求項２】
前記加工面移動速度推定部は、前記放電の状態の検出結果に係数を乗算することによって前記推定値を求めることを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記係数は、加工時に取得された情報に基づいて設定された係数であることを特徴とする請求項２に記載の数値制御装置。
【請求項４】
前記加工電極と前記被加工物との間に印加される極間電圧の指令値と前記極間電圧の測定値との差分を算出する差分器と、
前記加工電極と前記被加工物との相対位置を変化させるための位置指令値を前記速度指令値に基づいて算出する位置指令値算出部と、
前記係数を算出する係数算出部と、を備え、
前記係数算出部は、
前記移動速度を補償可能とする前記位置指令値を得るための前記係数を学習する機械学習装置と、
前記機械学習装置が学習した結果に基づいて前記係数を決定する意思決定部と、
を有し、
前記機械学習装置は、
前記放電の状態の検出結果と前記位置指令値と前記差分とを状態変数として観測する状態観測部と、
前記状態変数に基づいて作成される訓練データセットに従って前記係数を学習する学習部と、
を有することを特徴とする請求項２に記載の数値制御装置。
【請求項５】
前記加工面移動速度推定部は、前記放電が発生した回数を検出することによって前記放電の状態を検出し、前記回数の検出結果に基づいて前記移動速度を推定することを特徴とする請求項１から４のいずれか１つに記載の数値制御装置。
【請求項６】
加工電極と被加工物との間隙において放電を発生させることによって前記被加工物を加工する放電加工装置であって、
前記放電の状態を検出して、前記被加工物のうち前記加工電極と対向する面である加工面が加工の進行によって前記加工電極から離れる方向へ移動する移動速度を前記放電の状態の検出結果に基づいて推定する加工面移動速度推定部と、
前記移動速度の推定値に基づいて、前記加工電極と前記被加工物との相対速度の指令値であって前記移動速度を補償する速度指令値を算出する速度指令値補償部と、
を備えることを特徴とする放電加工装置。
【請求項７】
加工電極と被加工物との間隙において放電を発生させることによって前記被加工物を加工する放電加工方法であって、
前記放電の状態を検出して、前記被加工物のうち前記加工電極と対向する面である加工面が加工の進行によって前記加工電極から離れる方向へ移動する移動速度を前記放電の状態の検出結果に基づいて推定する工程と、
前記移動速度の推定値に基づいて、前記加工電極と前記被加工物との相対速度の指令値であって前記移動速度を補償する速度指令値を算出する工程と、
を含むことを特徴とする放電加工方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、放電加工装置を制御する数値制御装置、放電加工装置および放電加工方法に関する。
【背景技術】
【０００２】
放電加工装置は、被加工物と加工電極との間隙において放電を発生させることによって被加工物を加工する。放電加工装置を制御する数値制御装置は、安定した加工を行うために、被加工物と加工電極との距離である極間距離を一定に保つように、被加工物と加工電極との相対速度を制御する。特許文献１には、加工中の放電状態の検出結果をフィードバック信号とすることによって被加工物と加工電極との相対移動のための駆動軸を制御する放電加工装置が開示されている。特許文献１にかかる放電加工装置は、被加工物と加工電極との間に印加される極間電圧を測定した結果に基づいて放電状態を検出する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−１１０４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
放電加工において、被加工物のうち加工電極と対向する面である加工面は、加工の進行によって加工電極から離れる方向へ移動していく。極間電圧と極間距離とは互いに相関するため、高い周波数の放電を発生させるための最良の極間距離よりも実際の極間距離が長くなると、最良の極間距離であるときの極間電圧を表す指令値と、極間電圧の測定結果とに差が生じる。上記特許文献１に記載される従来技術のようにフィードバックのみによって被加工物と加工電極との相対速度を制御する場合、数値制御装置は、指令値と極間電圧の測定結果との差分が検出されることによって、被加工物と加工電極との相対速度を変化させる指令を発生させる。この場合、数値制御装置は、実際の極間距離が最良の極間距離から変化しない限り、相対速度を変化させる指令を発生させない。実際の極間距離が最良の極間距離と同じであるときには、極間距離の維持のための制御出力がゼロになるため、加工電極からの加工面の後退といった極間距離の変化が生じることになる。放電加工装置は、最良の極間距離が維持されないことにより、高い周波数の放電発生を維持することが困難となる。このように、従来技術によると、数値制御装置は、高い周波数の放電発生の維持によって速い加工速度での放電加工を放電加工装置に行わせることが困難であるという課題があった。【０００５】
本発明は、上記に鑑みてなされたものであって、高い周波数の放電発生の維持によって速い加工速度での放電加工を放電加工装置に行わせることを可能とする数値制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明にかかる数値制御装置は、加工電極と被加工物との間隙において放電を発生させることにより被加工物を加工する放電加工装置における加工電極と被加工物との相対速度を制御する。本発明にかかる数値制御装置は、放電の状態を検出して、被加工物のうち加工電極と対向する面である加工面が加工の進行によって加工電極から離れる方向へ移動する移動速度を放電の状態の検出結果に基づいて推定する加工面移動速度推定部と、移動速度の推定値に基づいて、相対速度の指令値であって移動速度を補償する速度指令値を算出する速度指令値補償部と、を備える。
【発明の効果】
【０００７】
本発明にかかる数値制御装置は、高い周波数の放電発生の維持によって速い加工速度での放電加工を放電加工装置に行わせることができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態１にかかる数値制御装置を有する放電加工装置の概略構成を示す図
【図２】図１に示す放電加工装置の機能構成を示すブロック図
【図３】図２に示す数値制御装置の動作手順を示すフローチャート
【図４】図２に示す数値制御装置が有する係数設定部における係数の設定例についての説明図
【図５】実施の形態１にかかる数値制御装置のハードウェア構成の例を示す第１の図
【図６】実施の形態１にかかる数値制御装置のハードウェア構成の例を示す第２の図
【図７】本発明の実施の形態２にかかるＮＣ装置が有する加工面移動速度推定部の機能構成を示すブロック図
【図８】図７に示す加工面移動速度推定部が有する機械学習装置の機能構成を示すブロック図
【図９】実施の形態２にかかる強化学習を用いた機械学習装置の動作フローを示すフローチャート
【発明を実施するための形態】
【０００９】
以下に、本発明の実施の形態にかかる数値制御装置、放電加工装置および放電加工方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。以下の説明では、数値制御装置をＮＣ（Numerical  Control）装置と称することがある。
【００１０】
実施の形態１．
図１は、本発明の実施の形態１にかかる数値制御装置を有する放電加工装置の概略構成を示す図である。図１に示す放電加工装置１００は、形彫放電加工装置である。放電加工装置１００は、加工電極４と被加工物５との間隙において放電を発生させることによって被加工物５を加工する。ＮＣ装置１は、放電加工装置１００を制御する。
【００１１】
加工部２は、放電加工装置１００のうち放電加工が行われている部分であって、加工電極４と被加工物５とを相対移動させるための軸駆動部とを有する。実施の形態１では、軸駆動部は、被加工物５に対して加工電極４を移動させる。ＮＣ装置１は、サーボアンプ８へ位置指令を出力することによって、サーボアンプ８を制御する。サーボアンプ８は、ＮＣ装置１が出力する位置指令にしたがって軸駆動部を動作させる。軸駆動部は、加工電極４を移動させる。図１では、軸駆動部の図示を省略する。なお、加工部２は、被加工物５を移動させる軸駆動部を有しても良い。
【００１２】
加工電源３は、ＮＣ装置１が出力する電源指令にしたがって、加工電極４と被加工物５との間にパルス電圧を印加する。極間電圧測定器６は、加工電極４と被加工物５との間に印加される極間電圧を測定する。電流計７は、加工電源３から供給される電流を測定する。
【００１３】
加工面５ａは、被加工物５のうち加工電極４の先端と対向する面であって、加工が行われている面である。加工面５ａは、加工の進行によって、加工電極４から離れる方向へ移動する。以下の説明では、加工の進行によって加工面５ａが加工電極４から離れる方向を、加工方向と称することがある。加工面５ａは、加工方向とは逆の方向において加工電極４と対向する。
【００１４】
図２は、図１に示す放電加工装置の機能構成を示すブロック図である。図２には、放電加工装置１００のうち加工電極４と被加工物５との相対速度を制御するための構成を示している。サーボアンプ８は、ＮＣ装置１から出力される位置指令値２３にしたがって上記軸駆動部を動作させる。
【００１５】
実施の形態１にかかるＮＣ装置１は、極間電圧によるフィードバック制御のためのフィードバック速度指令演算部１２に加えて、加工面移動速度推定部２０を有することを特徴とする。加工面移動速度推定部２０は、放電の状態を検出して、加工方向へ加工面５ａが移動する移動速度を放電の状態の検出結果２４に基づいて推定する。加工面移動速度推定部２０の詳細については後述する。
【００１６】
極間電圧測定器６は、極間電圧の測定結果である測定値２６をＮＣ装置１へ出力する。電流計７は、電流の測定値３０をＮＣ装置１へ出力する。ユーザは、加工条件表を参照することにより、ＮＣ装置１へ極間電圧指令値２１を入力する。極間電圧指令値２１は、加工電極４と被加工物５との間に印加される極間電圧の指令値である。極間電圧と極間距離とは互いに相関する。極間電圧指令値２１は、極間電圧が最良の極間距離であるときの極間電圧の値である。測定値２６は、実際の極間電圧に対応する。差分器１１は、ＮＣ装置１へ入力される極間電圧指令値２１と測定値２６との差分２９を算出し、差分２９をフィードバック速度指令演算部１２へ出力する。フィードバック速度指令演算部１２は、差分２９に基づいてフィードバック制御量２２を生成する。フィードバック速度指令演算部１２は、生成されたフィードバック制御量２２を加算器１３へ出力する。加算器１３は、加工面５ａの移動速度の推定値２７に基づいて、加工電極４と被加工物５との相対速度の指令値であって加工面５ａの移動速度を補償する速度指令値２８を算出する速度指令値補償部として機能する。
【００１７】
ここで、放電加工によって被加工物５から除去される部分の体積を除去体積とし、単位時間当たりの除去体積を除去体積速度とする。加工面５ａの移動速度は、除去体積速度を加工面５ａの面積で除算した結果に相当する。除去体積速度は、放電のために投入される加工エネルギーを放電パルス周波数に乗算することによって推定できる。加工面移動速度推定部２０は、放電の状態を検出し、放電の状態の検出結果２４へ係数２５を乗算することによって、除去体積速度の推定および加工面５ａの移動速度の推定に相当する処理を行う。これにより、加工面移動速度推定部２０は、加工面５ａの移動速度を推定する。
【００１８】
加工面移動速度推定部２０は、放電の状態を検出する放電状態検出部１５と、放電の状態の検出結果２４に乗算される係数２５を設定する係数設定部１６と、放電の状態の検出結果２４に係数２５を乗算する乗算器１７とを有する。
【００１９】
放電状態検出部１５は、電流計７から取得された測定値３０の推移を基に、放電によって電流が流れた回数をカウントする。放電状態検出部１５は、電流が流れた回数をカウントすることによって、放電が発生した回数である放電パルス周波数を検出する。放電状態検出部１５は、放電パルス周波数を検出することによって、放電の状態を検出する。放電状態検出部１５は、放電パルス周波数の検出結果２４を乗算器１７へ出力する。
【００２０】
放電パルス周波数は加工面５ａの移動速度との相関を有する情報であることから、加工面移動速度推定部２０は、放電パルス周波数を基に移動速度を推定することによって、推定精度の向上が可能となる。なお、放電状態検出部１５は、極間電圧測定器６によって測定された測定値２６の推移を基に、放電パルス周波数を検出しても良い。放電状態検出部１５は、放電パルスの印加中に電圧が降下した回数をカウントすることによって放電パルス周波数を検出することができる。
【００２１】
係数設定部１６は、あらかじめ設定された係数２５を出力する。係数２５には、任意の値が設定される。例を挙げると、係数２５には、加工条件にて設定される放電１つ当たりの加工エネルギーと加工電極４のうち加工面５ａと対向する面の面積とが加味される。加工エネルギーが係数２５に加味されていることで、加工面移動速度推定部２０は、放電パルス周波数への係数２５の乗算によって、除去体積速度の推定に相当する処理を行うことができる。さらに、加工電極４のうち加工面５ａと対向する面の面積が係数２５に加味されていることで、加工面移動速度推定部２０は、除去体積速度の推定結果からの加工面５ａの移動速度の推定に相当する処理を行うことができる。係数設定部１６は、乗算器１７へ係数２５を出力する。
【００２２】
乗算器１７は、検出結果２４へ係数２５を乗算することによって、加工面５ａの移動速度の推定値２７を算出する。乗算器１７は、算出された推定値２７を加算器１３へ出力する。加算器１３は、乗算器１７から入力された推定値２７をフィードバック制御量２２に加算することによって、推定値２７が補償された速度指令値２８を算出する。加算器１３は、算出された速度指令値２８を積分器１４へ出力する。積分器１４は、速度指令値２８を積分することによって、加工電極４と被加工物５との相対位置を変化させるための位置指令値２３を生成する。積分器１４は、生成された位置指令値２３をサーボアンプ８へ出力する。積分器１４は、速度指令値２８に基づいて位置指令値２３を算出する位置指令値算出部として機能する。
【００２３】
係数設定部１６に設定される係数２５は、放電１回当たりの加工エネルギーまたは加工電極４のうち加工面５ａと対向する面の面積に基づいて設定されるものに限られない。係数２５は、放電加工に関する種々の情報であって、加工面５ａの移動速度へ影響を及ぼし得る情報に基づいて設定されることができる。係数２５は、加工電極４および被加工物５の間に印加される放電パルスの極性、放電パルスの幅といった情報に基づいて設定されても良い。係数２５は、ＮＣ装置１のユーザによって設定される。係数２５は、放電加工装置１００による試し加工によって得られた加工モデルに基づいて設定されても良い。
【００２４】
図３は、図２に示す数値制御装置の動作手順を示すフローチャートである。ステップＳ１において、放電状態検出部１５は、放電パルス周波数を検出する。放電状態検出部１５は、放電パルス周波数の検出結果２４を乗算器１７へ出力する。係数設定部１６は、設定された係数２５を乗算器１７へ出力する。ステップＳ２において、乗算器１７は、放電パルス周波数の検出結果２４に係数２５を乗算することによって推定値２７を算出する。乗算器１７は、推定値２７を加算器１３へ出力する。ステップＳ１およびステップＳ２により、加工面移動速度推定部２０は、加工面５ａの移動速度を推定する。
【００２５】
ステップＳ３において、加算器１３は、フィードバック制御量２２に推定値２７を加算することによって、加工面５ａの移動速度を補償する速度指令値２８を生成する。加算器１３は、速度指令値２８を積分器１４へ出力する。ステップＳ４において、積分器１４は、速度指令値２８を積分することにより、位置指令値２３を算出する。積分器１４は、サーボアンプ８へ位置指令値２３を出力する。これにより、ＮＣ装置１は、図３に示す手順による動作を終了する。
【００２６】
係数設定部１６は、あらかじめ設定された係数２５を保持する以外に、加工時に取得された情報に基づいて係数２５を設定しても良い。図４は、図２に示す数値制御装置が有する係数設定部における係数の設定例についての説明図である。図４には、放電が発生したときに加工電極４と被加工物５との間に流れる電流の波形を示している。係数設定部１６は、電流計７によって測定された測定値３０を取得することができる。
【００２７】
係数設定部１６は、測定値３０を時間で積分することによって放電１回当たりの加工エネルギーを求める。図４においてハッチングを付した部分の面積は、放電１回当たりの加工エネルギーを表している。放電１回当たりの加工エネルギーに放電パルス周波数を乗算した結果が全加工エネルギーとなる。全加工エネルギーは、除去体積と高い相関を有する。単位時間当たりの加工エネルギーが算出されると、事前に測定された加工エネルギーと除去体積との関係とに基づいて、除去体積速度が推定できる。また、除去体積速度と対向面積とを基に、加工面５ａの移動速度が推定できる。放電の状態の検出結果２４に乗算される係数２５が全加工エネルギーに基づいて設定されることによって、加工面移動速度推定部２０は、加工面５ａの移動速度を推定することができる。係数２５は、全加工エネルギー以外に加工時において取得された情報に基づいて設定されても良い。
【００２８】
放電状態検出部１５は、放電パルス周波数を検出することによって放電の状態の検出するものに限られない。放電状態検出部１５は、放電によって発生する光、あるいは放電によって発生する音を検出することによって放電の状態を検出しても良い。放電状態検出部１５は、放電の大きさにしたがって変化する光量あるいは音量といった状態量を検出することによって、放電の状態を検出することができる。放電加工装置１００は、形彫放電加工装置に限られず、ワイヤ放電加工装置であっても良い。
【００２９】
次に、ＮＣ装置１が有するハードウェア構成について説明する。ＮＣ装置１が有する機能は、処理回路を使用して実現される。処理回路は、ＮＣ装置１に搭載される専用のハードウェアである。処理回路は、メモリに格納されるプログラムを実行するプロセッサであっても良い。
【００３０】
図５は、実施の形態１にかかる数値制御装置のハードウェア構成の例を示す第１の図である。図５には、ＮＣ装置１の機能が専用のハードウェアを使用して実現される場合におけるハードウェア構成を示している。ＮＣ装置１は、各種処理を実行する処理回路５１と、ＮＣ装置１の外部の機器との接続あるいは情報の入出力のためのインタフェース５２とを備える。処理回路５１とインタフェース５２とは、バスを介して相互に接続されている。
【００３１】
専用のハードウェアである処理回路５１は、単一回路、複合回路、プログラム化されたプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field-Programmable  Gate  Array）、又はこれらの組み合わせである。図２に示す差分器１１、フィードバック速度指令演算部１２、加算器１３、積分器１４および加工面移動速度推定部２０の各機能は、処理回路５１を用いて実現される。
【００３２】
図６は、実施の形態１にかかる数値制御装置のハードウェア構成の例を示す第２の図である。図６には、ＮＣ装置１の機能がプログラムを実行するハードウェアを用いて実現される場合におけるハードウェア構成を示している。インタフェース５２とプロセッサ５３とメモリ５４は、バスを介して相互に接続されている。
【００３３】
プロセッサ５３は、ＣＰＵ（Central  Processing  Unit）、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、又はＤＳＰ（Digital  Signal  Processor）である。図２に示す差分器１１、フィードバック速度指令演算部１２、加算器１３、積分器１４および加工面移動速度推定部２０の各機能は、プロセッサ５３と、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせによって実現される。ソフトウェアまたはファームウェアは、プログラムとして記述され、内蔵メモリであるメモリ５４に格納される。メモリ５４は、不揮発性もしくは揮発性の半導体メモリであって、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable  Programmable  Read  Only  Memory）またはＥＥＰＲＯＭ（登録商標）（Electrically  Erasable  Programmable  Read  Only  Memory）である。
【００３４】
実施の形態１によると、ＮＣ装置１は、加工方向における加工面５ａの移動速度を放電の状態の検出結果２４に基づいて推定して、移動速度の推定値２７に基づいて、移動速度を補償する速度指令値２８を算出する。これにより、ＮＣ装置１は、加工方向への加工面５ａの移動速度を相殺可能な速度指令値２８を得ることができる。加工面５ａの移動速度を補償する速度指令値２８をＮＣ装置１が算出することによって、放電加工装置１００は、最良の極間距離を維持可能とし、高い放電パルス周波数を維持しながら加工を進めることができる。これにより、ＮＣ装置１は、高い周波数の放電発生の維持によって速い加工速度での放電加工を放電加工装置１００に行わせることができるという効果を奏する。
【００３５】
実施の形態２．
図７は、本発明の実施の形態２にかかるＮＣ装置が有する加工面移動速度推定部の機能構成を示すブロック図である。実施の形態２にかかるＮＣ装置１は、実施の形態１にかかる係数設定部１６に代えて、係数２５を算出する係数算出部６１を有する。係数算出部６１は、機械学習装置６２と意思決定部６３とを有する。実施の形態２では、上記の実施の形態１と同一の構成要素には同一の符号を付し、実施の形態１とは異なる構成について主に説明する。
【００３６】
機械学習装置６２は、加工面５ａの移動速度を補償可能とする位置指令値２３を得るための係数２５を学習する。意思決定部６３は、機械学習装置６２が学習した結果に基づいて係数２５を決定する。放電状態検出部１５は、放電パルス周波数の検出結果２４を乗算器１７と機械学習装置６２とへ出力する。係数算出部６１は、意思決定部６３において係数２５を決定することによって、係数２５を算出する。係数算出部６１は、算出された係数２５を乗算器１７へ出力する。また、図２に示す差分器１１は、フィードバック速度指令演算部１２と機械学習装置６２とへ差分２９を出力する。積分器１４は、サーボアンプ８と機械学習装置６２とへ位置指令値２３を出力する。
【００３７】
図８は、図７に示す加工面移動速度推定部が有する機械学習装置の機能構成を示すブロック図である。機械学習装置６２は、状態観測部６４と学習部６５とを有する。状態観測部６４は、放電パルス周波数の検出結果２４と位置指令値２３と差分２９とを、状態変数として観測する。学習部６５は、状態変数に基づいて作成される訓練データセットに従って、移動速度を補償可能とする位置指令値２３を得るための係数２５を学習する。
【００３８】
学習部６５が用いる学習アルゴリズムはどのようなものを用いてもよい。一例として、強化学習（Ｒｅｉｎｆｏｒｃｅｍｅｎｔ  Ｌｅａｒｎｉｎｇ）を適用した場合について説明する。強化学習は、ある環境内におけるエージェントである行動主体が、現在の状態を観測し、取るべき行動を決定する、というものである。エージェントは行動を選択することで環境から報酬を得て、一連の行動を通じて報酬が最も多く得られるような方策を学習する。強化学習の代表的な手法として、Ｑ学習（Ｑ−ｌｅａｒｎｉｎｇ）およびＴＤ学習（ＴＤ−ｌｅａｒｎｉｎｇ）などが知られている。例えば、Ｑ学習の場合、行動価値関数Ｑ（ｓ，ａ）の一般的な更新式である行動価値テーブルは、次の式（１）で表される。行動価値関数Ｑ（ｓ，ａ）は、環境「ｓ」のもとで行動「ａ」を選択する行動の価値である行動価値Ｑを表す。
【００３９】
【数１】
0006647467.tif 000002
【００４０】
上記の式（１）において、「ｓｔ＋１」は、時刻「ｔ」における環境を表す。「ａｔ」は、時刻「ｔ」における行動を表す。行動「ａｔ」によって、環境は「ｓｔ＋１」に変わる。「ｒｔ＋１」は、その環境の変化によってもらえる報酬を表す。「γ」は、割引率を表す。「α」は、学習係数を表す。Ｑ学習を適用した場合、位置指令値２３が行動「ａｔ」となる。
【００４１】
上記の式（１）により表される更新式は、時刻「ｔ＋１」における最良の行動「ａ」の行動価値が、時刻「ｔ」において実行された行動「ａ」の行動価値Ｑよりも大きければ、行動価値Ｑを大きくし、逆の場合は、行動価値Ｑを小さくする。換言すれば、時刻「ｔ」における行動「ａ」の行動価値Ｑを、時刻「ｔ＋１」における最良の行動価値に近づけるように、行動価値関数Ｑ（ｓ，ａ）を更新する。それにより、或る環境における最良の行動価値が、それ以前の環境における行動価値に順次伝播していくようになる。
【００４２】
学習部６５は、報酬計算部６６と関数更新部６７とを有する。報酬計算部６６は、状態変数に基づいて報酬を計算する。関数更新部６７は、報酬計算部６６によって計算される報酬に従って、係数２５を決定するための関数を更新する。
【００４３】
報酬計算部６６は、差分２９の絶対値を検出する。報酬計算部６６は、差分２９の絶対値の変化に基づいて報酬「ｒ」を計算する。例えば、位置指令値２３を変更した結果、差分２９の絶対値が小さくなる場合、報酬計算部６６は、報酬「ｒ」を増大させる。報酬計算部６６は、報酬の値である「１」を与えることによって報酬「ｒ」を増大させる。なお、報酬の値は「１」に限られない。また、位置指令値２３を変更した結果、差分２９の絶対値が大きくなる場合には、報酬計算部６６は、報酬「ｒ」を低減する。報酬計算部６６は、報酬の値である「−１」を与えることによって報酬「ｒ」を低減する。なお、報酬の値は「−１」に限られない。
【００４４】
関数更新部６７は、報酬計算部６６によって計算される報酬に従って、係数２５を決定するための関数を更新する。関数の更新は、訓練データセットに従って、例えば行動価値テーブルを更新することによって行うことができる。行動価値テーブルは、任意の行動と、その行動価値とを関連付けてテーブルの形式で記憶したデータセットである。例えばＱ学習の場合、上記の式（１）により表される行動価値関数Ｑ（ｓｔ，ａｔ）を係数２５の算出のための関数として用いる。
【００４５】
図９は、実施の形態２にかかる強化学習を用いた機械学習装置の動作フローを示すフローチャートである。図９のフローチャートを参照して、行動価値関数Ｑ（ｓ，ａ）を更新する強化学習方法について説明する。
【００４６】
ステップＳ１１において、状態観測部６４は、状態変数を取得する。状態変数は、検出結果２４である放電パルス周波数と、位置指令値２３と、差分２９とである。ステップＳ１２において、報酬計算部６６は、位置指令値２３を変更させたことによる差分２９の絶対値の変化を検出する。
【００４７】
ステップＳ１３において、報酬計算部６６は、差分２９の絶対値の変化に基づいて報酬「ｒ」を算出する。ステップＳ１４において、関数更新部６７は、ステップＳ１３において算出された報酬「ｒ」に基づいて行動価値関数Ｑ（ｓ，ａ）を更新する。関数更新部６７は、上記の式（１）に従って行動価値関数Ｑ（ｓ，ａ）を更新する。
【００４８】
ステップＳ１５において、関数更新部６７は、行動価値関数Ｑ（ｓ，ａ）が収束したか否かを判定する。関数更新部６７は、ステップＳ１４における行動価値関数Ｑ（ｓ，ａ）の更新が行われなくなることによって行動価値関数Ｑ（ｓ，ａ）が収束したと判定する。
【００４９】
行動価値関数Ｑ（ｓ，ａ）が収束していないと判定された場合（ステップＳ１５，Ｎｏ）、機械学習装置６２は、動作手順をステップＳ１１へ戻す。行動価値関数Ｑ（ｓ，ａ）が収束したと判定された場合（ステップＳ１５，Ｙｅｓ）、学習部６５による学習が終了する。これにより、機械学習装置６２は、図９に示す手順による動作を終了する。なお、機械学習装置６２は、ステップＳ１５による判定を行わず、ステップＳ１４からステップＳ１１へ動作手順を戻すことによって学習を継続させることとしても良い。
【００５０】
意思決定部６３は、学習部６５による学習の結果、すなわち更新された行動価値関数Ｑ（ｓ，ａ）に基づいて、報酬が最も多く得られる係数２５を選択する。乗算器１７は、意思決定部６３によって決定された係数２５を検出結果２４へ乗算することによって、推定値２７を算出する。加工面移動速度推定部２０は、算出された推定値２７を加算器１３へ出力する。ＮＣ装置１は、機械学習装置６２による係数２５の学習によって、加工面５ａの移動速度を補償可能とする位置指令値２３を得ることが可能となる。これにより、ＮＣ装置１は、高い周波数の放電発生を維持可能とする位置指令値２３を得ることができる。
【００５１】
なお、報酬計算部６６は、放電パルス周波数の検出結果２４に基づいて報酬「ｒ」を算出しても良い。実際の極間距離が最良の極間距離に近くなると、放電パルス周波数は大きくなる。このことから、報酬計算部６６は、放電パルス周波数が大きくなる場合に報酬「ｒ」を増大させ、放電パルス周波数が小さくなる場合には報酬「ｒ」を低減しても良い。
【００５２】
実施の形態２では、学習部６５が強化学習を利用して機械学習を実行する場合について説明した。学習部６５は、他の公知の方法、例えばニューラルネットワーク、遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
【００５３】
実施の形態２によると、ＮＣ装置１は、加工面５ａの移動速度を補償可能とする位置指令値２３を得るための係数２５を学習する機械学習装置６２を有することによって、高い周波数の放電発生を維持可能とする位置指令値２３を求めることができる。これにより、ＮＣ装置１は、高い周波数の放電発生の維持によって速い加工速度での放電加工を放電加工装置１００に行わせることができるという効果を奏する。
【００５４】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００５５】
１  ＮＣ装置、２  加工部、３  加工電源、４  加工電極、５  被加工物、５ａ  加工面、６  極間電圧測定器、７  電流計、８  サーボアンプ、１１  差分器、１２  フィードバック速度指令演算部、１３  加算器、１４  積分器、１５  放電状態検出部、１６  係数設定部、１７  乗算器、２０  加工面移動速度推定部、２１  極間電圧指令値、２２  フィードバック制御量、２３  位置指令値、２４  検出結果、２５  係数、２６，３０  測定値、２７  推定値、２８  速度指令値、２９  差分、５１  処理回路、５２  インタフェース、５３  プロセッサ、５４  メモリ、６１  係数算出部、６２  機械学習装置、６３  意思決定部、６４  状態観測部、６５  学習部、６６  報酬計算部、６７  関数更新部、１００  放電加工装置。
【要約】
数値制御装置（１）は、加工電極と被加工物との間隙において放電を発生させることにより被加工物を加工する放電加工装置（１００）における加工電極と被加工物との相対速度を制御する。数値制御装置（１）は、放電の状態を検出して、被加工物のうち加工電極と対向する面である加工面が加工の進行によって加工電極から離れる方向へ移動する移動速度を放電の状態の検出結果に基づいて推定する加工面移動速度推定部（２０）と、移動速度の推定値（２７）に基づいて、相対速度の指令値であって移動速度を補償する速度指令値（２８）を算出する速度指令値補償部である加算器（１３）と、を備える。【図１】
0006647467.tif 000003
【図２】
0006647467.tif 000004
【図３】
0006647467.tif 000005
【図４】
0006647467.tif 000006
【図５】
0006647467.tif 000007
【図６】
0006647467.tif 000008
【図７】
0006647467.tif 000009
【図８】
0006647467.tif 000010
【図９】
0006647467.tif 000011