(57)【要約】【課題】工作機械の各軸の制御における最適な加減速を生成することが可能な加減速制御装置を提供すること。【解決手段】本発明の加減速制御装置１０は、ワークの加工を行う工作機械を制御する加減速制御装置である。加減速制御装置１０は、工作機械の各軸の速度のＮ階時間微分要素を学習する機械学習装置２０を備える。機械学習装置２０は、各軸の速度のＮ階時間微分要素を示す第１の状態データを、環境の現在状態を表す状態変数として観測する状態観測部２２と、加工済みワークの加工精度、面品位及び加工時間のうち少なくともいずれか１つの適否判定結果を示す判定データを取得する判定データ取得部２４と、状態変数と判定データとを用いて、各軸の速度のＮ階時間微分要素を、加工済みワークの加工精度、面品位及び加工時間のうち少なくともいずれか１つと関連付けて学習する学習部２６と、を備える。【選択図】図１
2018181217.tif 000002
【特許請求の範囲】
【請求項１】
ワークの加工を行う工作機械を制御する加減速制御装置であって、
前記工作機械の各軸の速度のＮ階時間微分要素（Ｎは自然数）を学習する機械学習装置を備え、
前記機械学習装置は、
前記各軸の速度のＮ階時間微分要素を示す第１の状態データを、環境の現在状態を表す状態変数として観測する状態観測部と、
加工済みワークの加工精度、面品位及び加工時間のうち少なくともいずれか１つの適否判定結果を示す判定データを取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記各軸の速度のＮ階時間微分要素を、前記加工済みワークの加工精度、面品位及び加工時間のうち少なくともいずれか１つと関連付けて学習する学習部と、
を備える加減速制御装置。
【請求項２】
前記状態観測部は、前記状態変数として、加工タイプを識別する第２の状態データを更に観測し、
前記学習部は、前記第１の状態データ及び前記第２の状態データを、前記加工済みワークの加工精度、面品位及び加工時間のうち少なくともいずれか１つと関連付けて学習する、
請求項１に記載の加減速制御装置。
【請求項３】
前記加工済みワークの面品位に関する前記判定データは、前記ワークの表面粗さＳａ、表面の最大高さＳｖ、表面性状のアスペクト比Ｓｔｒ、尖り度Ｓｋｕ、偏り度Ｓｓｋ、界面の展開面積比Ｓｄｒ、光反射率、画像の特徴のうち、少なくとも１つを利用して得られた値を含む、
請求項１に記載の加減速制御装置。
【請求項４】
前記学習部は、
前記適否判定結果に関連する報酬を求める報酬計算部と、
前記報酬を用いて、前記各軸の速度のＮ階時間微分要素の価値を表す関数を更新する価値関数更新部とを備える、
請求項１に記載の加減速制御装置。
【請求項５】
前記学習部は、前記状態変数と前記判定データとを多層構造で演算する、
請求項１に記載の加減速制御装置。
【請求項６】
前記学習部による学習結果に基づいて、前記各軸の速度のＮ階時間微分要素に基づく指令値を出力する意思決定部を更に備える、
請求項１に記載の加減速制御装置。
【請求項７】
前記学習部は、複数の前記工作機械から得られた前記状態変数及び前記判定データを用いて、該工作機械における前記各軸の速度のＮ階時間微分要素を学習する、
請求項１に記載の加減速制御装置。
【請求項８】
前記機械学習装置は、クラウドサーバに存在する、
請求項１に記載の加減速制御装置。
【請求項９】
ワークの加工を行う工作機械の各軸の速度のＮ階時間微分要素を学習する機械学習装置であって、
前記各軸の速度のＮ階時間微分要素を示す第１の状態データを、環境の現在状態を表す状態変数として観測する状態観測部と、
加工済みワークの加工精度、面品位及び加工時間のうち少なくともいずれか１つの適否判定結果を示す判定データを取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記各軸の速度のＮ階時間微分要素を、前記加工済みワークの加工精度、面品位及び加工時間のうち少なくともいずれか１つと関連付けて学習する学習部と、
を備える機械学習装置。
【請求項１０】
ワークの加工を行う工作機械を制御する加減速制御装置であって、
前記工作機械の各軸の速度のＮ階時間微分要素（Ｎは自然数）と、前記加工済みワークの加工精度、面品位及び加工時間のうち少なくともいずれか１つと、の相関性を示すモデルと、
前記モデルに基づいて、前記各軸の速度のＮ階時間微分要素に基づく指令値を出力する意思決定部と、
を備える加減速制御装置。
【請求項１１】
ワークの加工を行う工作機械の各軸の速度のＮ階時間微分要素を学習する機械学習方法であって、
前記各軸の速度のＮ階時間微分要素示す第１の状態データを、環境の現在状態を表す状態変数として観測するステップと、
加工済みワークの加工精度、面品位及び加工時間のうち少なくともいずれか１つの適否判定結果を示す判定データを取得するステップと、
前記状態変数と前記判定データとを用いて、前記各軸の速度のＮ階時間微分要素を、前記加工済みワークの加工精度、面品位及び加工時間のうち少なくともいずれか１つと関連付けて学習するステップと、
を含む機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、加減速制御装置に関し、特に工作機械の各軸の制御における最適な加減速を生成する技術に関する。
【背景技術】
【０００２】
従来、加工プログラムを作成し、該加工プログラムに基づいて工作機械を制御して、部品や金型などの加工が行われている。加工を行う際の加工速度は加工プログラム内で軸の移動速度として指令するが、これは工具と加工物の相対移動（工具移動）の最大速度であり、実際に工作機械に対しては、加工開始時やコーナー部、曲線部分などにおいて、各軸の加減速時定数に従い軸の移動速度を変動させた移動データが出力されていた。また、加工物には許容誤差及び目標加工時間があるが、これは工作機械の操作者が加工物の加工面品位を確認しながら、加減速時定数を変更したり、プログラム内で指令する速度を変更したりするなどの方法で調整していた。なお、本明細書においては、指令位置と実際の加工物の形状誤差を意味する加工精度、加工物の形状変化が滑らかである（加工面の傷や筋目が目立たず、光が均一に反射する）度合いを加工面品位とする。
【０００３】
このような加工における加減速時定数や速度などのパラメータ調整に関連する従来技術として特許文献１がある。特許文献１には、工作機械の振動データを用いて機械学習を行うことにより、加工面品位と加工時間とのバランスの取れた最適な速度分布を求める方法が記載されている。これにより、工作機械を、加工面の不良が発生しない適切な加工速度で加工を実施するよう制御することが可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特願２０１５−１８９５４２
【発明の概要】
【発明が解決しようとする課題】
【０００５】
図８に示すように、特許文献１記載の技術は、工作機械における機械振動データに基づいて加工速度を調整するというものである。しかしながら、この技術おいては、最終的に評価されるべき加工ワークの加工面品位に関する情報は利用されていない。このため、特許文献１記載の技術で報酬判定対象とされる振動データのしきい値は、加工面品位が所望の状態となるような値となるようにあらかじめ算出されていなければならない。このように、特許文献１記載技術では、テスト加工を行うなどして、加工面品位を考慮したしきい値をあらかじめ決定する手間が必要であった。
【０００６】
本発明はこのような問題を解決することが可能であり、工作機械の各軸の制御における最適な加減速を生成することが可能な加減速制御装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明の一実施の形態における加減速制御装置は、ワークの加工を行う工作機械を制御する加減速制御装置であって、前記工作機械の各軸の速度のＮ階時間微分要素（Ｎは自然数）を学習する機械学習装置を備え、前記機械学習装置は、前記各軸の速度のＮ階時間微分要素を示す第１の状態データを、環境の現在状態を表す状態変数として観測する状態観測部と、加工済みワークの加工精度、面品位及び加工時間のうち少なくともいずれか１つの適否判定結果を示す判定データを取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、前記各軸の速度のＮ階時間微分要素を、前記加工済みワークの加工精度、面品位及び加工時間のうち少なくともいずれか１つと関連付けて学習する学習部と、を備える。
【０００８】
本発明の一実施の形態における加減速制御装置は、前記状態観測部は、前記状態変数として、加工タイプを識別する第２の状態データを更に観測し、前記学習部は、前記第１の状態データ及び前記第２の状態データを、前記加工済みワークの加工精度、面品位及び加工時間のうち少なくともいずれか１つと関連付けて学習する。
【０００９】
本発明の一実施の形態における加減速制御装置は、前記加工済みワークの面品位に関する前記判定データは、前記ワークの表面粗さＳａ、表面の最大高さＳｖ、表面性状のアスペクト比Ｓｔｒ、尖り度Ｓｋｕ、偏り度Ｓｓｋ、界面の展開面積比Ｓｄｒ、光反射率、画像の特徴のうち、少なくとも１つを利用して得られた値を含む。
【００１０】
本発明の一実施の形態における加減速制御装置は、前記学習部は、前記適否判定結果に関連する報酬を求める報酬計算部と、前記報酬を用いて、前記各軸の速度のＮ階時間微分要素の価値を表す関数を更新する価値関数更新部とを備える。
【００１１】
本発明の一実施の形態における加減速制御装置は、前記学習部は、前記状態変数と前記判定データとを多層構造で演算する。
【００１２】
本発明の一実施の形態における加減速制御装置は、前記学習部による学習結果に基づいて、前記各軸の速度のＮ階時間微分要素に基づく指令値を出力する意思決定部を更に備える。
【００１３】
本発明の一実施の形態における加減速制御装置は、前記学習部は、複数の前記工作機械から得られた前記状態変数及び前記判定データを用いて、該工作機械における前記各軸の速度のＮ階時間微分要素を学習する。
【００１４】
本発明の一実施の形態における加減速制御装置は、前記機械学習装置は、クラウドサーバに存在する。
【００１５】
本発明の一実施の形態における機械学習装置は、ワークの加工を行う工作機械の各軸の速度のＮ階時間微分要素を学習する機械学習装置であって、前記各軸の速度のＮ階時間微分要素を示す第１の状態データを、環境の現在状態を表す状態変数として観測する状態観測部と、加工済みワークの加工精度、面品位及び加工時間のうち少なくともいずれか１つの適否判定結果を示す判定データを取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、前記各軸の速度のＮ階時間微分要素を、前記加工済みワークの加工精度、面品位及び加工時間のうち少なくともいずれか１つと関連付けて学習する学習部と、を備える。
【００１６】
本発明の一実施の形態における機械学習方法は、ワークの加工を行う工作機械の各軸の速度のＮ階時間微分要素を学習する機械学習方法であって、前記各軸の速度のＮ階時間微分要素を示す第１の状態データを、環境の現在状態を表す状態変数として観測するステップと、加工済みワークの加工精度、面品位及び加工時間のうち少なくともいずれか１つの適否判定結果を示す判定データを取得するステップと、前記状態変数と前記判定データとを用いて、前記各軸の速度のＮ階時間微分要素を、前記加工済みワークの加工精度、面品位及び加工時間のうち少なくともいずれか１つと関連付けて学習するステップと、を含む。
【発明の効果】
【００１７】
本発明により、工作機械の各軸の制御における最適な加減速を生成することが可能な加減速制御装置を提供することができる。
【図面の簡単な説明】
【００１８】
【図１】第１の実施形態による加減速制御装置の概略的な機能ブロック図である。
【図２】制御装置の一形態を示す概略的な機能ブロック図である。
【図３Ａ】機械学習方法の一形態を示す概略的なフローチヤートである。
【図３Ｂ】機械学習方法の一形態を示す概略的なフローチヤートである。
【図４Ａ】ニューロンを説明する図である。
【図４Ｂ】ニューラルネットワークを説明する図である。
【図５】第２の実施形態による加減速制御装置の概略的な機能ブロック図である。
【図６】加減速制御システムの一形態を示す概略的な機能ブロック図である。
【図７】加減速制御システムの他の形態を示す概略的な機能ブロック図である。
【図８】従来技術による加減速制御を説明する図である。
【図９】本発明による加減速制御を説明する図である。
【発明を実施するための形態】
【００１９】
本発明は、図９に示すように、加工ワーク加工面の情報に基づいて最適な加減速制御を行うため、機械学習の手法を適用することを特徴とする。これにより、要求される加工面質に応じて速度分布（加速度や加加速度）を決定することができるので、しきい値の事前設定などの必要がない。また、加工前の段階で加工面質をコントロールできる、すなわち仕上げ加工の際にどこでどのような加減速をするかを自動的に調整できるので、研磨の工程を省略又は短縮できる。以下、本発明の実施形態を図面と共に説明する。
【００２０】
本発明では、加工プログラムに基づくワークの加工における工作機械の各軸の加減速度調整を目的とした移動量の決定に関する機械学習を行うことで、ワークの加工における工作機械の各軸の速度分布が最適なものになるように決定する。ここで各軸の速度分布とは速度のＮ階時間微分要素（Ｎは任意の自然数）のことをいい、例えば各軸の加速度や加加速度である。各軸の速度分布（速度のＮ階時間微分要素）の決定においては、より速い工具移動と、加工精度や加工面品位がより良くなることとを目的とし、より短時間で加工精度や加工面品位を維持したワークの加工を実現する。
【００２１】
図１は、第１の実施形態による加減速制御装置１０の概略的な機能ブロック図である。加減速制御装置１０は、例えば、工作機械の各軸の加減速を制御する機能を有する数値制御装置（ＣＮＣ）として実装することができる。加減速制御装置１０は、加工精度や加工面品位がより良く、かつ加工時間がより短くなる各軸の速度分布（速度のＮ階時間微分要素）を、いわゆる機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（コンピュータのＣＰＵ等）を含む機械学習装置２０を備える。加減速制御装置１０が備える機械学習装置２０が学習する各軸の速度分布（速度のＮ階時間微分要素）は、加工ワークの加工精度、面品位及び加工時間に係る状態を示す情報と、当該加工精度、面品位及び加工時間における速度分布（速度のＮ階時間微分要素）との、相関性を表すモデル構造に相当する。
【００２２】
図１に機能ブロックで示すように、加減速制御装置１０が備える機械学習装置２０は、各軸の速度分布（速度のＮ階時間微分要素）を表す状態変数Ｓを観測する状態観測部２２と、設定された状態変数Ｓの元での加工ワークの面品位を表す判定データＤ１、及び加工時間を表す判定データＤ２を含む判定データＤを取得する判定データ取得部２４と、状態変数Ｓと判定データＤとを用いて、最適な各軸の速度分布（速度のＮ階時間微分要素）を学習する学習部２６とを備える。
【００２３】
状態観測部２２は、例えばコンピュータのＣＰＵの一機能として構成できる。或いは状態観測部２２は、例えばコンピュータのＣＰＵを機能させるためのソフトウェアとして構成できる。状態観測部２２が観測する状態変数Ｓは、例えば、加減速制御装置１０が加工プログラムを解析することで得られる各軸の速度分布（速度のＮ階時間微分要素）Ｓ１や、加減速制御装置１０が実測した各軸の速度分布（速度のＮ階時間微分要素）Ｓ１などを含む。
【００２４】
判定データ取得部２４は、例えばコンピュータのＣＰＵの一機能として構成できる。或いは判定データ取得部２４は、例えばコンピュータのＣＰＵを機能させるためのソフトウェアとして構成できる。判定データ取得部２４が取得する判定データＤ１は、加工面の検査結果を示す数値データであって、例えば検査装置（図示しない）又は検査装置に付設されるセンサから得られるデータや、該データを利用乃至変換して得られるデータを用いることができる。検査装置には、例えば加工面解析装置（典型的にはレーザ顕微鏡）、加工面画像撮影装置、光反射率測定装置などがある。検査装置により計測可能な、面品位を表すデータとしては、例えば表面粗さＳａ、表面の最大高さＳｖ、表面性状のアスペクト比Ｓｔｒ、尖り度Ｓｋｕ、偏り度Ｓｓｋ、界面の展開面積比Ｓｄｒ、加工ワークの光反射率、加工面の画像の特徴などがある。あるいは、判定データＤ１は、熟練の作業者による面品位の評価結果を記録したファイルの入力、面品位の評価結果のキーボード等のインターフェイスからの直接入力により得られるデータや、該データを利用乃至変換して得られるデータを用いても良い。判定データ取得部２４が取得する判定データＤ２は、例えば加減速制御装置１０が実測した加工時間に関するデータや、該データを利用乃至変換して得られるデータを用いることができる。
【００２５】
このように、加減速制御装置１０が備える機械学習装置２０における学習は、工作機械における所定の速度分布（速度のＮ階時間微分要素）での加工、加工ワークの面品位の測定、及び加工時間の測定を１サイクルとして実施される。
【００２６】
学習部２６は、例えばコンピュータのＣＰＵの一機能として構成できる。或いは学習部２６は、例えばコンピュータのＣＰＵを機能させるためのソフトウェアとして構成できる。学習部２６は、機械学習と総称される任意の学習アルゴリズムに従い、最適な各軸の速度分布（速度のＮ階時間微分要素）を学習する。学習部２６は、前述した状態変数Ｓと判定データＤとを含むデータ集合に基づく学習を反復実行することができる。学習サイクルの反復中、状態変数Ｓは、前回までの学習サイクルで得た各軸の速度分布（速度のＮ階時間微分要素）とし、また判定データＤは、当該決定した各軸の速度分布（速度のＮ階時間微分要素）に基づく加工ワークの面品位及び加工時間の評価結果とする。
【００２７】
このような学習サイクルを繰り返すことにより、学習部２６は、各軸の速度分布（速度のＮ階時間微分要素）と加工ワークの面品位及び加工時間との相関性を暗示する特徴を自動的に識別することができる。各軸の速度分布（速度のＮ階時間微分要素）と加工ワークの面品位及び加工時間との相関性は実質的に未知であるが、学習部２６は、学習を進めるに従い徐々に特徴を識別して相関性を解釈する。各軸の速度分布（速度のＮ階時間微分要素）と加工ワークの面品位及び加工時間との相関性が、ある程度信頼できる水準まで解釈されると、学習部２６が反復出力する学習結果は、現在状態（つまり各軸の速度分布（速度のＮ階時間微分要素））に対してどのような加工ワークの面品位及び加工時間が導かれるべきであるかという行動の選択（つまり意思決定）を行うために使用できるものとなる。つまり学習部２６は、学習アルゴリズムの進行に伴い、各軸の速度分布（速度のＮ階時間微分要素）と、当該状態から導かれる加工ワークの面品位及び加工時間という行動との、相関性を最適解に徐々に近づけることができる。
【００２８】
上記したように、加減速制御装置１０が備える機械学習装置２０は、状態観測部２２が観測した状態変数Ｓと判定データ取得部２４が取得した判定データＤとを用いて、学習部２６が機械学習アルゴリズムに従い、各軸の速度分布（速度のＮ階時間微分要素）を学習するものである。状態変数Ｓは、各軸の速度分布（速度のＮ階時間微分要素）といった、外乱の影響を受け難いデータで構成され、また判定データＤは、検査装置による検査結果や加工時間の実測値を取得したりすることにより一義的に求められる。したがって、加減速制御装置１０が備える機械学習装置２０によれば、学習部２６の学習結果を用いることで、各軸の速度分布（速度のＮ階時間微分要素）に応じた、加工ワークの面品位及び加工時間を、演算や目算によらずに自動的に、しかも正確に求めることができるようになる。
【００２９】
加工ワークの面品位及び加工時間を、演算や目算によらずに自動的に求めることができれば、加工を開始する前に各軸の速度分布（速度のＮ階時間微分要素）の設定値を把握するだけで、加工ワークの面品位及び加工時間を迅速に推定することができる。
【００３０】
加減速制御装置１０が備える機械学習装置２０の一変形例として、状態観測部２２は、状態変数Ｓとして、加工経路の形状などを表す加工タイプＳ２を更に観測することができる。加工タイプＳ２は例えば、加工経路の形状（直線部、コーナー部、Ｒ加工部、同心円状の加工部などを特定するための識別データ）を含むことができる。加工タイプＳ２はさらに、直線部以外についてはコーナー等の大きさを示すデータ（角度、半径など）を含んでいても良い。角度や半径は、予め複数の段階を定義しておき、加工経路に含まれる角度や半径がどの段階に当たるかを示す識別データを含めるようにしても良い。各軸の速度分布（速度のＮ階時間微分要素）を変化させる必要が生ずるのは一般に直線部以外のコーナー部などであるが、コーナー部などの形状によって、最適な各軸の速度分布（速度のＮ階時間微分要素）は異なる可能性がある。加工タイプＳ２を観測するならば、学習部２６は、加工ワークの面品位及び加工時間を、各軸の速度分布（速度のＮ階時間微分要素）Ｓ１及び加工タイプＳ２の双方と関連付けて学習することができる。つまり、面品位及び加工時間と、各軸の速度分布（速度のＮ階時間微分要素）との相関性を示すモデルを、加工タイプＳ２ごとに独立に構築することが可能である。したがって、コーナー部などの形状に応じた、最適な各軸の速度分布（速度のＮ階時間微分要素）を学習できる。
【００３１】
加減速制御装置１０が備える機械学習装置２０の他の変形例として、学習部２６は、同一の構成を有する複数の工作機械のそれぞれについて得られた状態変数Ｓ及び判定データＤを用いて、それら工作機械における各軸の速度分布（速度のＮ階時間微分要素）に対応する加工ワークの面品位及び加工時間を学習することができる。この構成によれば、一定時間で得られる状態変数Ｓと判定データＤとを含むデータ集合の量を増加できるので、より多様なデータ集合を入力として、各軸の速度分布（速度のＮ階時間微分要素）に対応する加工ワークの面品位及び加工時間の学習の速度や信頼性を向上させることができる。
【００３２】
上記構成を有する機械学習装置２０では、学習部２６が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。図２は、図１に示す加減速制御装置１０の一形態であって、学習アルゴリズムの一例として強化学習を実行する学習部２６を備えた構成を示す。強化学習は、学習対象が存在する環境の現在状態（つまり入力）を観測するとともに現在状態で所定の行動（つまり出力）を実行し、その行動に対し何らかの報酬を与えるというサイクルを試行錯誤的に反復して、報酬の総計が最大化されるような方策（本願の機械学習装置では加工ワークの面品位がより良く、かつ加工時間より短くなるような各軸の速度分布（速度のＮ階時間微分要素））を最適解として学習する手法である。
【００３３】
図２に示す加減速制御装置１０が備える機械学習装置２０において、学習部２６は、ある状態変数Ｓに基づいて行われた加工の結果（加工ワークの面品位及び加工時間を示す判定データＤ）に関連する報酬Ｒを求める報酬計算部２８と、報酬Ｒを用いて、各軸の速度分布（速度のＮ階時間微分要素）の価値を表す関数Ｑを更新する価値関数更新部３０とを備える。学習部２６は、価値関数更新部３０が関数Ｑの更新を繰り返すことによって、加工ワークの面品位がより良く、かつ加工時間より短くなるような各軸の速度分布（速度のＮ階時間微分要素）を学習する。
【００３４】
学習部２６が実行する強化学習のアルゴリズムの一例を説明する。この例によるアルゴリズムは、Ｑ学習（Ｑ−ｌｅａｒｎｉｎｇ）として知られるものであって、行動主体の状態ｓと、その状態ｓで行動主体が選択し得る行動ａとを独立変数として、状態ｓで行動ａを選択した場合の行動の価値を表す関数Ｑ（ｓ，ａ）を学習する手法である。状態ｓで価値関数Ｑが最も高くなる行動ａを選択することが最適解となる。状態ｓと行動ａとの相関性が未知の状態でＱ学習を開始し、任意の状態ｓで種々の行動ａを選択する試行錯誤を繰り返すことで、価値関数Ｑを反復して更新し、最適解に近付ける。ここで、状態ｓで行動ａを選択した結果として環境（つまり状態ｓ）が変化したときに、その変化に応じた報酬（つまり行動ａの重み付け）ｒが得られるように構成し、より高い報酬ｒが得られる行動ａを選択するように学習を誘導することで、価値関数Ｑを比較的短時間で最適解に近付けることができる。
【００３５】
価値関数Ｑの更新式は、一般に下記の数１式のように表すことができる。数１式において、ｓt及びａtはそれぞれ時刻ｔにおける状態及び行動であり、行動ａtにより状態はｓt+1に変化する。ｒt+1は、状態がｓtからｓt+1に変化したことで得られる報酬である。ｍａｘＱの項は、時刻ｔ＋１で最大の価値Ｑになる（と時刻ｔで考えられている）行動ａを行ったときのＱを意味する。α及びγはそれぞれ学習係数及び割引率であり、０＜α≦１、０＜γ≦１で任意設定される。
【００３６】
【数１】
2018181217.tif 000003
【００３７】
学習部２６がＱ学習を実行する場合、状態観測部２２が観測した状態変数Ｓ及び判定データ取得部２４が取得した判定データＤは、更新式の状態ｓに該当し、現在状態（加工ワークの面品位及び加工時間）に対して各軸の速度分布（速度のＮ階時間微分要素）をどのように変更するべきかという行動は、更新式の行動ａに該当し、報酬計算部２８が求める報酬Ｒは、更新式の報酬ｒに該当する。よって価値関数更新部３０は、各軸の速度分布（速度のＮ階時間微分要素）の価値を表す関数Ｑを、報酬Ｒを用いたＱ学習により繰り返し更新する。
【００３８】
報酬計算部２８が求める報酬Ｒは、例えば、各軸の速度分布（速度のＮ階時間微分要素）を決定した後に該速度分布に基づいてワークの加工を実施したときに、加工ワークの面品位及び加工時間が「適」と判定される場合（例えば、ワークの面品位を表す指標が所定のしきい値以上である場合、加工時間が所定のしきい値以下である場合など）に正（プラス）の報酬Ｒとし、加工ワークの面品位及び加工時間が「否」と判定される場合（例えば、ワークの面品位を表す指標が所定のしきい値未満である場合、加工時間が所定のしきい値を超える場合など）に負（マイナス）の報酬Ｒとすることができる。正負の報酬Ｒの絶対値は、互いに同一であってもよいし異なっていてもよい。また、判定の条件として、判定データＤに含まれる複数の値を組み合わせて判定するようにしても良い。ここで、しきい値は任意に設定することとしても良く、判定データＤの累積的な平均値などの統計値を用いることとしても良い。あるいは、学習の初期段階は、加工ワークの面品位や加工時間の許容度が比較的大きくなるようにしきい値を設定し、学習が進行するにつれて許容度を縮小するようしきい値を変更していく構成とすることもできる。
【００３９】
また、加工ワークの面品位及び加工時間の適否判定結果を、「適」及び「否」の二通りだけでなく複数段階に設定することができる。例として、加工時間の想定最大値がＴmaxの場合、加工時間Ｔが、０≦Ｔ＜Ｔmax／５のときは報酬Ｒ＝５を与え、Ｔmax／５≦Ｔ＜Ｔmax／２のときは報酬Ｒ＝２を与え、Ｔmax／２≦Ｔ≦Ｔmaxのときは報酬Ｒ＝１を与えるような構成とすることができる。あるいは、判定データＤの累積的な平均値からの偏差といった統計値を用いて、複数段階を定義することとしても良い。さらに、学習の初期段階はＴmaxを比較的大きく設定し、学習が進行するにつれてＴmaxを縮小する構成とすることもできる。同様に、ワークの面品位を表す指標についても複数段階で評価することが可能である。
【００４０】
価値関数更新部３０は、状態変数Ｓと判定データＤと報酬Ｒとを、関数Ｑで表される行動価値（例えば数値）と関連付けて整理した行動価値テーブルを持つことができる。この場合、価値関数更新部３０が関数Ｑを更新するという行為は、価値関数更新部３０が行動価値テーブルを更新するという行為と同義である。Ｑ学習の開始時には環境の現在状態と各軸の速度分布（速度のＮ階時間微分要素）との相関性は未知であるから、行動価値テーブルにおいては、種々の状態変数Ｓと判定データＤと報酬Ｒとが、無作為に定めた行動価値の値（関数Ｑ）と関連付けた形態で用意されている。なお報酬計算部２８は、判定データＤが分かればこれ対応する報酬Ｒを直ちに算出でき、算出した値Ｒが行動価値テーブルに書き込まれる。
【００４１】
加工ワークの面品位及び加工時間の適否判定結果に応じた報酬Ｒを用いてＱ学習を進めると、より高い報酬Ｒが得られる行動を選択する方向へ学習が誘導され、選択した行動を現在状態で実行した結果として変化する環境の状態（つまり状態変数Ｓ及び判定データＤ）に応じて、現在状態で行う行動についての行動価値の値（関数Ｑ）が書き替えられて行動価値テーブルが更新される。この更新を繰り返すことにより、行動価値テーブルに表示される行動価値の値（関数Ｑ）は、適正な行動ほど大きな値となるように書き換えられる。このようにして、未知であった環境の現在状態（加工ワークの面品位及び加工時間）とそれに対する行動（各軸の速度分布（速度のＮ階時間微分要素））との相関性が徐々に明らかになる。つまり行動価値テーブルの更新により、加工ワークの面品位及び加工時間と、各軸の速度分布（速度のＮ階時間微分要素）との関係が最適解に徐々に近づけられる。
【００４２】
図３Ａ及び図３Ｂを参照して、学習部２６が実行する上記したＱ学習のフロー（つまり機械学習方法の一形態）をさらに説明する。まずステップＳＡ０１で、価値関数更新部３０は、その時点での行動価値テーブルを参照しながら、状態観測部２２が観測した状態変数Ｓが示す現在状態で行う行動として各軸の速度分布（速度のＮ階時間微分要素）を無作為に選択する。次に価値関数更新部３０は、ステップＳＡ０２で、状態観測部２２が観測している現在状態の状態変数Ｓを取り込み、ステップＳＡ０３で、判定データ取得部２４が取得している現在状態の判定データＤ１及びＤ２を取り込む。次に価値関数更新部３０は、ステップＳＡ０４で、判定データＤ１に基づき、各軸の速度分布（速度のＮ階時間微分要素）が適当であったか否かを判断し、適当であった場合、ステップＳＡ０５で、報酬計算部２８が求めた正の報酬Ｒ１を関数Ｑの更新式に適用する。一方、ステップＳＡ０４で、各軸の速度分布（速度のＮ階時間微分要素）が適当でなかったと判断した場合、ステップＳＡ０６で、報酬計算部２８が求めた負の報酬Ｒ１を関数Ｑの更新式に適用する。
【００４３】
同様に、価値関数更新部３０は、ステップＳＡ０７で、判定データＤ２に基づき、各軸の速度分布（速度のＮ階時間微分要素）が適当であったか否かを判断し、適当であった場合、ステップＳＡ０８で、報酬計算部２８が求めた正の報酬Ｒ２を関数Ｑの更新式に適用する。一方、ステップＳＡ０７で、各軸の速度分布（速度のＮ階時間微分要素）が適当でなかったと判断した場合、ステップＳＡ０９で、報酬計算部２８が求めた負の報酬Ｒ２を関数Ｑの更新式に適用する。
【００４４】
次いでステップＳＡ１０で、現在状態における状態変数Ｓ及び判定データＤ１及びＤ２と報酬Ｒ１及びＲ２と行動価値の値（更新後の関数Ｑ）とを用いて行動価値テーブルを更新する。学習部２６は、ステップＳＡ０１〜ＳＡ１０を繰り返すことで行動価値テーブルを反復して更新し、各軸の速度分布（速度のＮ階時間微分要素）の学習を進行させる。
【００４５】
前述した強化学習を進める際に、例えばＱ学習の代わりに、ニューラルネットワークを用いることができる。図４Ａは、ニューロンのモデルを模式的に示す。図４Ｂは、図４Ａに示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
【００４６】
図４Ａに示すニューロンは、複数の入力ｘ（ここでは一例として、入力ｘ1〜入力ｘ3）に対する結果ｙを出力するものである。各入力ｘ1〜ｘ3には、この入力ｘに対応する重みｗ（ｗ1〜ｗ3）が掛けられる。これにより、ニューロンは、次の数２式により表現される出力ｙを出力する。なお、数２式において、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。また、θはバイアスであり、ｆkは活性化関数である。
【００４７】
【数２】
2018181217.tif 000004
【００４８】
図４Ｂに示す三層のニューラルネットワークは、左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。図示の例では、入力ｘ１、ｘ２、ｘ３のそれぞれに対応の重み（総称してｗ１で表す）が乗算されて、個々の入力ｘ１、ｘ２、ｘ３がいずれも３つのニューロンＮ１１、Ｎ１２、Ｎ１３に入力されている。
【００４９】
図４Ｂでは、ニューロンＮ１１〜Ｎ１３の各々の出力を、総称してｚ１で表す。ｚ１は、入カベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ１のそれぞれに対応の重み（総称してｗ２で表す）が乗算されて、個々の特徴ベクトルｚ１がいずれも２つのニューロンＮ２１、Ｎ２２に入力されている。特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴を表す。
【００５０】
図４Ｂでは、ニューロンＮ２１〜Ｎ２２の各々の出力を、総称してｚ２で表す。ｚ２は、特徴ベクトルｚ１の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ２のそれぞれに対応の重み（総称してｗ３で表す）が乗算されて、個々の特徴ベクトルｚ２がいずれも３つのニューロンＮ３１、Ｎ３２、Ｎ３３に入力されている。特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴を表す。最後にニューロンＮ３１〜Ｎ３３は、それぞれ結果ｙ１〜ｙ３を出力する。
【００５１】
加減速制御装置１０が備える機械学習装置２０においては、状態変数Ｓと判定データＤとを入力ｘとして、学習部２６が上記したニューラルネットワークに従う多層構造の演算を行うことで、各軸の速度分布（速度のＮ階時間微分要素）（結果ｙ）を出力することができる。なおニューラルネットワークの動作モードには、学習モードと価値予測モードとがあり、例えば学習モードで学習データセットを用いて重みｗを学習し、学習した重みｗを用いて価値予測モードで行動の価値判断を行うことができる。なお価値予測モードでは、検出、分類、推論等を行うこともできる。
【００５２】
上記した加減速制御装置１０の構成は、コンピュータのＣＰＵが実行する機械学習方法（或いはソフトウェア）として記述できる。この機械学習方法は、各軸の速度分布（速度のＮ階時間微分要素）を学習する機械学習方法であって、コンピュータのＣＰＵが、各軸の速度分布（速度のＮ階時間微分要素）を示す状態データＳ１と、必要に応じ加工タイプを示す状態データＳ２を、現在状態を表す状態変数Ｓとして観測するステップと、加工ワークの面品位及び加工時間の適否判定結果を示す判定データＤを取得するステップと、状態変数Ｓと判定データＤとを用いて、状態変数Ｓと判定データＤとを関連付けて学習するステップとを有する。
【００５３】
図５は、第２の実施形態による加減速制御装置４０を示す。加減速制御装置４０は、機械学習装置５０と、状態観測部２２が観測する状態変数Ｓの各軸の速度分布（速度のＮ階時間微分要素）Ｓ１と、必要に応じて加工タイプを示す状態データＳ２と、を状態データＳ０として取得する状態データ取得部４２とを備える。
【００５４】
加減速制御装置４０が有する機械学習装置５０は、各軸の速度分布（速度のＮ階時間微分要素）を機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（コンピュータのＣＰＵ等）に加えて、学習した各軸の速度分布（速度のＮ階時間微分要素）を工作機械（図示せず）への指令として出力するためのソフトウェア（演算アルゴリズム等）及びハードウェア（コンピュータのＣＰＵ等）を含むものである。加減速制御装置４０が含む機械学習装置５０は、１つの共通のＣＰＵが、学習アルゴリズム、演算アルゴリズム等の全てのソフトウェアを実行する構成を有することもできる。
【００５５】
意思決定部５２は、例えばコンピュータのＣＰＵの一機能として構成できる。或いは意思決定部５２は、例えばコンピュータのＣＰＵを機能させるためのソフトウェアとして構成できる。意思決定部５２は、学習部２６が学習した各軸の速度分布（速度のＮ階時間微分要素）に基づいて加工を行う工作機械への指令値Ｃを生成し、生成した指令値Ｃとして出力する。意思決定部５２が学習した各軸の速度分布（速度のＮ階時間微分要素）に基づく指令値Ｃを工作機械に対して出力した場合、これに応じて、環境の状態（各軸の速度分布（速度のＮ階時間微分要素）Ｓ１）が変化する。
【００５６】
状態観測部２２は、意思決定部５２による環境への各軸の速度分布（速度のＮ階時間微分要素）の表示、または出力後に変化した各軸の速度分布（速度のＮ階時間微分要素）Ｓ１を含む状態変数Ｓを次の学習サイクルにおいて観測する。学習部２６は、変化した状態変数Ｓを用いて、例えば価値関数Ｑ（すなわち行動価値テーブル）を更新することで、各軸の速度分布（速度のＮ階時間微分要素）を学習する。意思決定部５２は、学習した各軸の速度分布（速度のＮ階時間微分要素）の下で状態変数Ｓに応じて各軸の速度分布（速度のＮ階時間微分要素）に基づく指令値Ｃを工作機械へと出力する。このサイクルを繰り返すことにより、機械学習装置５０は各軸の速度分布（速度のＮ階時間微分要素）の学習を進め、自身が決定する各軸の速度分布（速度のＮ階時間微分要素）の信頼性を徐々に向上させる。
【００５７】
上記構成を有する加減速制御装置４０が備える機械学習装置５０は、前述した機械学習装置２０と同等の効果を奏する。特に機械学習装置５０は、意思決定部５２の出力によって環境の状態を変化させることができる。他方、機械学習装置２０では、学習部２６の学習結果を環境に反映させるための意思決定部に相当する機能を、外部装置（例えば工作機械の制御装置）に求めることができる。
【００５８】
図６は、工作機械６０を備えた一実施形態による加減速制御システム７０を示す。加減速制御システム７０は、同一の機械構成を有する複数の工作機械６０、６０’と、それら工作機械６０、６０’を互いに接続するネットワーク７２とを備え、複数の工作機械６０、６０’のうち少なくとも１つが、上記した加減速制御装置４０を備える工作機械６０として構成される。また加減速制御システム７０は、加減速制御装置４０を備えない工作機械６０’を含むことができる。工作機械６０、６０’は、ワークを加工するために必要とされる一般的な構成を有する。
【００５９】
上記構成を有する加減速制御システム７０は、複数の工作機械６０、６０’のうちで加減速制御装置４０を備える工作機械６０が、学習部２６の学習結果を用いて、加工ワークの面品位及び加工時間に応じた各軸の速度分布（速度のＮ階時間微分要素）を、演算や目算によらずに自動的に、しかも正確に求めることができる。また、少なくとも１つの工作機械６０の加減速制御装置４０が、他の複数の工作機械６０、６０’のそれぞれについて得られた状態変数Ｓ及び判定データＤに基づき、複数の工作機械６０、６０’の各軸の速度分布（速度のＮ階時間微分要素）を学習し、その学習結果を１以上の工作機械６０、６０’が利用するように構成できる。すなわち、複数の工作機械６０、６０’から取得した状態変数Ｓ及び判定データＤに基づく学習結果を、１つの工作機械６０の制御に適用することができ、又は複数の工作機械６０、６０’の制御に適用することもできる。したがって加減速制御システム７０によれば、より多様なデータ集合（状態変数Ｓ及び判定データＤを含む）を入力として、各軸の速度分布（速度のＮ階時間微分要素）の学習の速度や信頼性を向上させることができる。
【００６０】
図７は、工作機械６０’を備えた他の実施形態による加減速制御システム７０’を示す。加減速制御システム７０’は、機械学習装置５０（又は２０）と、同一の機械構成を有する複数の工作機械６０’と、それら工作機械６０’と機械学習装置５０（又は２０）とを互いに接続するネットワーク７２とを備える。
【００６１】
上記構成を有する加減速制御システム７０’は、機械学習装置５０（又は２０）が、複数の工作機械６０’のそれぞれについて得られた状態変数Ｓ及び判定データＤに基づき、全ての工作機械６０’に共通する各軸の速度分布（速度のＮ階時間微分要素）を学習し、その学習結果を用いて、加工ワークの面品位及び加工時間に応じた各軸の速度分布（速度のＮ階時間微分要素）を、演算や目算によらずに自動的に、しかも正確に求めることができる。
【００６２】
加減速制御システム７０’は、機械学習装置５０（又は２０）が、ネットワーク７２に用意されたクラウドサーバやセルコントローラ等に存在する構成を有することができる。この構成によれば、複数の工作機械６０’のそれぞれが存在する場所や時期に関わらず、必要なときに必要な数の工作機械６０’を機械学習装置５０（又は２０）に接続することができる。
【００６３】
加減速制御システム７０、７０’に従事する作業者は、機械学習装置５０（又は２０）による学習開始後の適当な時期に、機械学習装置５０（又は２０）による各軸の速度分布（速度のＮ階時間微分要素）に対応する加工ワークの面品位及び加工時間の学習の到達度（すなわち各軸の速度分布（速度のＮ階時間微分要素）と加工ワークの面品位及び加工時間との相関関係の信頼性）が要求レベルに達したか否かの判断を実行することができる。
【００６４】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００６５】
例えば、機械学習装置２０，５０が実行する学習アルゴリズム、機械学習装置５０が実行する演算アルゴリズム、加減速制御装置１０、４０が実行する制御アルゴリズム等は、上述したものに限定されず、様々なアルゴリズムを採用できる。
【００６６】
また、加減速制御装置１０，４０の機械学習装置２０，５０は、オンラインで機械学習することとしても良く、加減速制御装置１０，４０の制御によるワーク加工時に状態データＳや判定データＤをログデータとして記録しておき、記録したログデータを収集して、収集したログデータから取得した状態データＳや判定データＤに基づいて機械学習装置２０，５０が機械学習するようにしても良い。
【００６７】
また、上述の実施の形態では、加減速制御装置１０，４０の機械学習装置２０，５０は、加工ワークの面品位及び加工時間の両方を判定データＤとして用いる例を示したが、本発明はこれに限定されず、例えば加工ワークの加工精度、面品位及び加工時間のうち少なくともいずれか１つを判定データＤとして用いることとしても良い。
【００６８】
あるいは、加工ワークの面品位Ｄ１、加工時間Ｄ２に加え、加工精度Ｄ３を判定データＤとして用いることとしても良い。この場合、図３Ｂのフローチャートにおいては、価値観数更新処理（ＳＡ１０）の前に加工精度Ｄ３を用いて判定処理を実施することができる。すなわち、価値関数更新部３０は、判定データＤ３に基づき、各軸の速度分布（速度のＮ階時間微分要素）が適当であったか否かを判断し、適当であった場合、報酬計算部２８が正の報酬Ｒ３を求めて関数Ｑの更新式に適用する。一方、各軸の速度分布（速度のＮ階時間微分要素）が適当でなかったと判断した場合、報酬計算部２８が負の報酬Ｒ３を求めて関数Ｑの更新式に適用する。そしてステップＳＡ１０で、現在状態における状態変数Ｓ及び判定データＤ１、Ｄ２、Ｄ３と報酬Ｒ１Ｒ２、Ｒ３と行動価値の値（更新後の関数Ｑ）とを用いて行動価値テーブルを更新する。
【符号の説明】
【００６９】
１０，４０  加減速制御装置
２０，５０  機械学習装置
２２  状態観測部
２４  判定データ取得部
２６  学習部
２８  報酬計算部
３０  価値関数更新部
４２  状態データ取得部
５２  意思決定部
６０，６０’  工作機械
７０，７０’  加減速制御システム
７２  ネットワーク
【図１】
2018181217.tif 000005
【図２】
2018181217.tif 000006
【図３Ａ】
2018181217.tif 000007
【図３Ｂ】
2018181217.tif 000008
【図４Ａ】
2018181217.tif 000009
【図４Ｂ】
2018181217.tif 000010
【図５】
2018181217.tif 000011
【図６】
2018181217.tif 000012
【図７】
2018181217.tif 000013
【図８】
2018181217.tif 000014
【図９】
2018181217.tif 000015