(57)【要約】【課題】機械学習装置を用いた学習を適切に制御する。【解決手段】工作機械、ロボット、又は産業機械に係る第１の軸を駆動する第１のモータ２０１を制御する第１のモータ制御部１０３と、第１の軸と異なる方向の第２の軸を駆動する第２のモータ２０２を制御する第２のモータ制御部１０４と、を含む制御装置に係る動作特性を評価するための、第１及び第２のモータ制御部を動作させる評価用プログラムであって、第１及び第２のモータで駆動される第１及び第２の軸によって移動する制御対象の移動軌跡の形状が少なくとも、第１及び第２のモータの回転方向がともに反転しない角（かど）のある形状と、第１及び第２のモータの一方が一方向に回転し、且つ第１及び第２のモータの他方の回転方向が反転する弧を描く形状とを備えるように、第１及び第２のモータ制御部を動作させる。【選択図】図１
2019003404.tif 000002
【特許請求の範囲】
【請求項１】
工作機械、ロボット、又は産業機械に係る第１の軸を駆動する第１のモータを制御する第１のモータ制御部と、前記第１の軸と異なる方向の第２の軸を駆動する第２のモータを制御する第２のモータ制御部と、を含む制御装置に係る動作特性を評価するための、前記第１及び第２のモータ制御部を動作させる評価用プログラムであって、
前記第１及び第２のモータで駆動される前記第１及び第２の軸によって移動する制御対象の移動軌跡の形状が少なくとも、前記第１及び第２のモータの回転方向がともに反転しない角（かど）のある形状と、前記第１及び第２のモータの一方が一方向に回転し、且つ前記第１及び第２のモータの他方の回転方向が反転する弧を描く形状とを備えるように、前記第１及び第２のモータ制御部を動作させる評価用プログラム。
【請求項２】
前記第１及び第２のモータで駆動される前記第１及び第２の軸によって移動する制御対象の移動軌跡の前記形状が、更に、前記第１及び第２のモータの一方が減速してから停止するとともに、前記第１及び第２のモータの他方が停止状態から回転する角（かど）のある形状を備える請求項１に記載の評価用プログラム。
【請求項３】
工作機械、ロボット、又は産業機械に係る第１の軸を駆動する第１のモータを制御する第１のモータ制御部と、前記第１の軸と異なる方向の第２の軸を駆動する第２のモータを制御する第２のモータ制御部と、を含む制御装置に係る動作特性を評価するための、前記第１及び第２のモータ制御部を動作させる評価用プログラムであって、
前記第１及び第２のモータで駆動される前記第１及び第２の軸によって移動する制御対象の移動軌跡の形状が、前記第１及び第２のモータの回転方向がともに反転する角（かど）のある形状を備えるように、前記第１及び第２のモータ制御部を動作させる評価用プログラム。
【請求項４】
工作機械、ロボット、又は産業機械に係る第１の軸を駆動する第１のモータを制御する第１のモータ制御部と、前記第１の軸と異なる方向の第２の軸を駆動する第２のモータを制御する第２のモータ制御部と、を含む制御装置に係る動作特性を評価するための、前記第１及び第２のモータ制御部を動作させる評価用プログラムであって、
前記第１及び第２のモータで駆動される前記第１及び第２の軸によって移動する制御対象の移動軌跡の形状が、前記第１又は前記第２の軸のうち少なくとも１つの軸が停止してから次に停止するまでの移動方向と、前記次に停止してからの移動方向と同じ方向であるように、前記第１及び第２のモータ制御部を動作させる評価用プログラム。
【請求項５】
前記移動軌跡の形状は、前記角（かど）のある形状と前記弧を描く形状とが交互に配置される八角形である請求項１に記載の評価用プログラム。
【請求項６】
前記移動軌跡の形状は、前記角（かど）のある形状と前記弧を描く形状とが交互に配置される八角形の半分を端部に持つ十字形である請求項２に記載の評価用プログラム。
【請求項７】
前記移動軌跡の形状は、前記角（かど）のある形状をそれぞれの端部に持つ星形である請求項３に記載の評価用プログラム。
【請求項８】
前記移動軌跡の形状は、弧により十字形を描く形状、又は凸状の円弧と凹状の円弧とで構成される角（かど）を含む十字形である請求項４に記載の評価用プログラム。
【請求項９】
請求項１から請求項８のいずれか１項に記載の評価用プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項１０】
請求項１から請求項８のいずれか１項に記載の評価用プログラムを用いて、前記制御装置の前記第１及び第２のモータ制御部によってそれぞれ前記第１及び第２のモータを駆動させることで、前記第１及び第２のモータ制御部における、反転によるバックラッシの補正、静摩擦の補正、フィードフォワードのうちの少なくとも一つの動作特性を評価する評価方法。
【請求項１１】
請求項１から請求項８のいずれか１項に記載の評価用プログラムを記憶する記憶部と、前記評価用プログラムに基づいて前記第１及び第２のモータ制御部にそれぞれ位置指令を出力する数値制御情報処理部と、を備えた制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも２軸以上を駆動するモータを制御する制御装置に用いられる評価用プログラム、評価方法、及び制御装置に関する。
【背景技術】
【０００２】
モータの制御において、所定周期で同じ加工形状パターンが繰り返される指令に対して高速かつ高精度な追従性を実現する方法として、学習制御（繰り返し制御）が特許文献１に記載されている。
具体的には、特許文献１は、互い直交する２軸を含む複数の軸の協調動作による円弧、多角形、又はそれらの組み合わせからなる加工形状を加工する制御システムについて、サンプリング周期毎に位置指令と検出されたサーボモータの位置フィードバックとの位置偏差を演算し、自軸又は他軸の位置指令又は位置フィードバックから、一方向に変化する基準信号を計算し、基準信号、位置指令及び位置偏差に基づいて学習制御を行うことを記載している。
【０００３】
また、ワイヤカット放電加工機による凹角コーナ部の多重加工における加工精度の向上する方法が、特許文献２に記載されている。具体的には、特許文献２は、加工プログラムを記憶する加工プログラム記憶手段と、加工回数毎のワイヤオフセット量を記憶するオフセット量記憶手段と、前記加工プログラムを解析する加工プログラム解析手段と、加工プログラム解析手段による解析結果に基づいて被加工物の加工形状を作成する加工形状作成手段と、加工形状の補正を行うために用いる予め決められた円弧半径を記憶する加工形状補正用円弧半径記憶手段と、加工形状作成手段により作成された形状がお互いに非平行な２つの直線移動ブロックが交わることで形成される凹角コーナ部を有する加工形状の場合、当該凹角コーナ部側の各一部を削除し、該削除された部分に前記円弧半径を持つ円弧形状の移動ブロックを挿入する円弧形状挿入手段と、を有するワイヤカット放電加工機の制御装置と加工経路作成装置を記載している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−５８８２４号公報
【特許文献２】特開２０１０−０９９８２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
工作機械、ロボット、又は産業機械において、モータを制御するモータ制御部の制御パラメータの調整は、実際に実行する加工プログラムや動作制御プログラムを用いてモータ制御部を動作させて調整することが望ましい。しかしながら、実際に実行する加工プログラムや動作制御プログラムは加工品や動作によって変わる。
そのため、加工プログラムとは別に評価用プログラムを用いてモータ制御部を動作させてモータを制御し、その結果に基づいてモータ制御部の制御パラメータ等を調整することが望ましい。
【０００６】
本発明は、モータ制御部の制御パラメータを調整するための評価用プログラム、この評価用プログラムを用いた評価方法及び制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
（１）  本発明に係る評価用プログラムは、工作機械、ロボット、又は産業機械に係る第１の軸を駆動する第１のモータ（例えば、後述のモータ２０１）を制御する第１のモータ制御部（例えば、後述のモータ制御部１０３）と、前記第１の軸と異なる方向の第２の軸を駆動する第２のモータ（例えば、後述のモータ２０２）を制御する第２のモータ制御部（例えば、後述のモータ制御部１０４）と、を含む制御装置に係る動作特性を評価するための、前記第１及び第２のモータ制御部を動作させる評価用プログラムであって、
前記第１及び第２のモータで駆動される前記第１及び第２の軸によって移動する制御対象の移動軌跡の形状が少なくとも、前記第１及び第２のモータの回転方向がともに反転しない角（かど）のある形状と、前記第１及び第２のモータの一方が一方向に回転し、且つ前記第１及び第２のモータの他方の回転方向が反転する弧を描く形状とを備えるように、前記第１及び第２のモータ制御部を動作させる評価用プログラムである。
【０００８】
（２）  上記（１）の評価用プログラムにおいて、前記第１及び第２のモータで駆動される前記第１及び第２の軸によって移動する制御対象の移動軌跡の前記形状が、更に、前記第１及び第２のモータの一方が減速してから停止するとともに、前記第１及び第２のモータの他方が停止状態から回転する角（かど）のある形状を備えてもよい。
【０００９】
（３）  本発明に係る評価用プログラムは、工作機械、ロボット、又は産業機械に係る第１の軸を駆動する第１のモータ（例えば、後述のモータ２０１）を制御する第１のモータ制御部（例えば、後述のモータ制御部１０３）と、前記第１の軸と異なる方向の第２の軸を駆動する第２のモータ（例えば、後述のモータ２０２）を制御する第２のモータ制御部（例えば、後述のモータ制御部１０４）と、を含む制御装置に係る動作特性を評価するための、前記第１及び第２のモータ制御部を動作させる評価用プログラムであって、
前記第１及び第２のモータで駆動される前記第１及び第２の軸によって移動する制御対象の移動軌跡の形状が、前記第１及び第２のモータの回転方向がともに反転する角（かど）のある形状を備えるように、前記第１及び第２のモータ制御部を動作させる評価用プログラムである。
【００１０】
（４）  本発明に係る評価用プログラムは、工作機械、ロボット、又は産業機械に係る第１の軸を駆動する第１のモータ（例えば、後述のモータ２０１）を制御する第１のモータ制御部（例えば、後述のモータ制御部１０３）と、前記第１の軸と異なる方向の第２の軸を駆動する第２のモータ（例えば、後述のモータ２０２）を制御する第２のモータ制御部（例えば、後述のモータ制御部１０４）と、を含む制御装置に係る動作特性を評価するための、前記第１及び第２のモータ制御部を動作させる評価用プログラムであって、
前記第１及び第２のモータで駆動される前記第１及び第２の軸によって移動する制御対象の移動軌跡の形状が、前記第１又は前記第２の軸のうち少なくとも１つの軸が停止してから次に停止するまでの移動方向と、前記次に停止してからの移動方向と同じ方向であるように、前記第１及び第２のモータ制御部を動作させる評価用プログラム評価用プログラム。
【００１１】
（５）  上記（１）の評価用プログラムにおいて、前記移動軌跡の形状は、前記角（かど）のある形状と前記弧を描く形状とが交互に配置される八角形であってもよい。
【００１２】
（６）  上記（２）の評価用プログラムにおいて、前記移動軌跡の形状は、前記角（かど）のある形状と前記弧を描く形状とが交互に配置される八角形の半分を端部に持つ十字形であってもよい。
【００１３】
（７）  上記（３）の評価用プログラムにおいて、前記移動軌跡の形状は、前記角（かど）のある形状をそれぞれの端部に持つ星形であってもよい。
【００１４】
（８）  上記（４）の評価用プログラムにおいて、前記移動軌跡の形状は、弧により十字形を描く形状、又は凸状の円弧と凹状の円弧とで構成される角（かど）を含む十字形であってもよい。
【００１５】
（９）  本発明に係るコンピュータ読み取り可能な情報記憶媒体は、上記（１）から上記（８）のいずれかに記載の評価用プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。
【００１６】
（１０）  本発明に係る評価方法は、上記（１）から上記（８）のいずれかに記載の評価用プログラムを用いて、前記制御装置の前記第１及び第２のモータ制御部によってそれぞれ前記第１及び第２のモータを駆動させることで、前記第１及び第２のモータ制御部における、反転によるバックラッシの補正、静摩擦の補正、フィードフォワードのうちの少なくとも一つの動作特性を評価する評価方法である。
【００１７】
（１１）  本発明に係る評価方法は、上記（１）から上記（８）のいずれかに記載の評価用プログラムを記憶する記憶部（例えば、後述の記憶部１０１）と、前記評価用プログラムに基づいて前記第１及び第２のモータ制御部にそれぞれ位置指令を出力する数値制御情報処理部（例えば、後述の数値制御情報処理部１０２）と、を備えた制御装置である。
【発明の効果】
【００１８】
本発明によれば、工作機械、ロボット、又は産業機械に係るモータ制御部を動作させてモータを制御し、その結果に基づいてモータ制御部の制御パラメータ等の調整を効率よく行うことができる評価用プログラムを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態の評価用プログラムにより動作するＣＮＣ装置の構成、機械学習装置及びモータを示すブロック図である。
【図２】モータ制御部１０３の一構成例を示すブロック図である。
【図３】加工形状が、円弧（円）からなる形状である例を示す説明図である。
【図４】加工形状が、四角からなる形状である例を示す説明図である。
【図５】加工形状が、角Ｒ付き四角からなる形状である例を示す説明図である。
【図６】加工形状が、一部の角（かど）を円弧とした八角形からなる形状である第１の構成例を示す説明図である。
【図７】加工形状が、図６に示した第１の構成例の一部の角（かど）を円弧とした八角形を半分にした形状をそれぞれ端部に有する十字形からなる形状である第２の構成例を示す説明図である。
【図８】加工形状が、角Ｒ付き十字形からなる形状である第３の構成例を示す説明図である。
【図９】加工形状が、凸状の円弧と凹状の円弧とで構成される十字形からなる形状である第４の構成例を示す説明図である。
【図１０】加工形状が、星形からなる形状である第５の構成例を示す説明図である。
【図１１】ＣＮＣ装置の他の構成例の一部の構成を示すブロック図である。
【図１２】第１の実施形態の機械学習装置３００を示すブロック図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態について図面を用いて詳細に説明する。
なお、本実施形態においては、本発明に係る評価用プログラムを制御装置となるＣＮＣ装置で動作させることで、ＣＮＣ装置におけるフィードフォワード制御に係る制御パラメータを調整（学習）することを例として説明する。
より具体的には、本実施形態においては、ＣＮＣ装置におけるフィードフォワード制御に係る制御パラメータとして任意の値を設定したうえで、本発明に係る評価用プログラムをＣＮＣ装置で動作させることで、当該制御パラメータを評価するためのＣＮＣ装置の動作特性を観測する。そうすることで、制御パラメータ値を任意に設定し、各制御パラメータ値に基づいてそれぞれ観測されたＣＮＣ装置の動作特性を評価することで、工作機械の最適な動作特性が観測されたときの制御パラメータ値を最適な制御パラメータ値として調整（学習）することができる。
【００２１】
評価用プログラムを説明する前に、評価用プログラムにより動作するＣＮＣ装置を含むシステムの構成について簡単に説明する。
図１は本発明の一実施形態の評価用プログラムにより動作するＣＮＣ装置の構成、機械学習装置及びモータを示すブロック図である。
ＣＮＣ(Computerized Numerical Control)装置１００は、記憶部１０１、数値制御情報処理部１０２、及びサーボ制御装置を構成するモータ制御部１０３、１０４を備えている。ＣＮＣ装置は制御装置となる。モータ制御部１０３、１０４はモータ２０１、２０２を制御する。ＣＮＣ装置１００は工作機械，ロボット，産業機械等に用いられるが、ここでは工作機械に用いる場合を例にとって説明する。
【００２２】
記憶部１０１は評価用プログラムを記憶しており、この評価用プログラムは、評価時にＣＮＣ装置１００で用いられる加工プログラムである。評価用プログラムは、実際の切削加工等の加工時に用いられる加工プログラムとは別に設けられる。評価用プログラムはワークを加工しつつ評価を行うが、エアーカットの場合も含んで評価を行ってもよい。
【００２３】
数値制御情報処理部１０２は、記憶部１０１から評価用プログラムを読み出して、評価用プログラムを実行する。そうすることで、数値制御情報処理部１０２は、当該評価用プログラム中に含まれるコードに基づいて、Ｘ軸及びＹ軸の位置指令値を作成し、モータ制御部１０３、１０４に出力する。数値制御情報処理部１０２は、評価用プログラムにより指定される加工形状となるように、軸方向の移動距離、送り速度等を設定してＸ軸及びＹ軸の位置指令値を作成する。
【００２４】
モータ制御部１０３はＸ軸の位置指令値と、モータ２０１からフィードバックされる位置検出値とに基づいて電流指令値（トルク指令値）を作成してモータ２０１に出力する。
モータ制御部１０４はＹ軸の位置指令値と、モータ２０２からフィードバックされる位置検出値とに基づいて電流指令値（トルク指令値）を作成してモータ２０２に出力する。
【００２５】
モータ２０１、２０２は、工作機械に用いる場合にワークを搭載するテーブルをそれぞれＸ軸方向及びＹ軸方向に駆動する。モータ２０１、２０２はそれぞれボールネジが接続されており、モータ２０１、２０２に接続された２つのボールネジはモータ２０１、２０２の回転運動を直線運動に換えてテーブルをＸ軸方向及びＹ軸方向に駆動する。ここでは制御される軸がＸ軸とＹ軸との２軸の場合について説明するが、制御される軸が３軸以上ある場合は軸の数分のモータが設けられる。モータ制御部の数はモータの数に対応して設けられる。モータ２０１、２０２は、例えば、サーボモータ又はスピンドルモータを用いることができる。
【００２６】
モータ２０１、２０２の回転角度位置は、モータ２０１、２０２に関連付けられた、位置検出部となるロータリーエンコーダによって検出され、検出された信号は速度フィードバックされる速度検出値として利用される。速度検出値は積分され、位置フィードバックされる位置検出値として利用される。
【００２７】
モータ制御部１０３、１０４のより具体的な構成について説明する。以下の説明ではモータ制御部１０３について説明するが、モータ制御部１０４も同様な構成を備えている。
図２はモータ制御部１０３の一構成例を示すブロック図である。図２に示すように、モータ制御部１０３は、減算器１００１、位置制御部１００２、加算器１００３、減算器１００４、速度制御部１００５、加算器１００６、積分器１００７、位置フィードフォワード計算部１００８、及び速度フィードフォワード計算部１００９を備えている。
【００２８】
数値制御情報処理部１０２は、評価用プログラム中に含まれるコードに基づいて位置指令値を作成し、位置指令値を減算器１００１と位置フィードフォワード計算部１００８に出力する。
減算器１００１は、位置指令値と位置フィードバックされた位置検出値との差を求め、その差を位置偏差として位置制御部１００２に出力する。評価時には、位置偏差は機械学習装置３００にも出力される。評価用プログラムが動作する評価後に加工プログラムを動作する場合には位置偏差は機械学習装置３００に出力しない。
【００２９】
位置制御部１００２は、位置偏差にポジションゲインＫｐを乗じた値を、速度指令値として加算器１００３に出力する。位置フィードフォワード計算部１００８は位置指令値を微分してフィードフォワード係数を掛けた値を、加算器１００３と速度フィードフォワード計算部１００９に出力する。
【００３０】
加算器１００３は、速度指令値と位置フィードフォワード計算部１００８の出力値とを加算して、フィードフォワード制御された速度指令値として減算器１００４に出力する。減算器１００４は加算器１００３の出力と速度フィードバックされた速度検出値との差を求め、その差を速度偏差として速度制御部１００５に出力する。
【００３１】
速度制御部１００５は、速度偏差に積分ゲインＫ１ｖを乗じて積分した値と、速度偏差に比例ゲインＫ２ｖを乗じた値とを加算して、トルク指令値として加算器１００６に出力する。
【００３２】
速度フィードフォワード計算部１００９は、例えば数式１（以下に数１として示す）で示す伝達関数Ｇｆ（ｓ）で示される速度フィードフォワード計算処理を行い加算器１００６に出力する。
【数１】
2019003404.tif 000003
【００３３】
加算器１００６は、トルク指令値と速度フィードフォワード計算部１００９の出力値とを加算して、加算器１００６に出力する。加算器１００６は加算値を電流指令値（トルク指令値）としてモータ２０１に出力する。
【００３４】
モータ２０１の回転角度位置は、モータ２０１に関連付けられた、位置検出部となるロータリーエンコーダによって検出され、検出された信号は速度フィードバックされる速度検出値として利用される。速度検出値は積分器１００７で積分され、位置フィードバックされる位置検出値として利用される。
【００３５】
本実施形態では、伝達関数Ｇｆ（ｓ）の次元を予め設定された値とし、各係数ａｉ、ｂｊ(ｉ，ｊ≧０)に任意の値を設定したうえで、評価用プログラムをＣＮＣ装置１００で動作させることにより、当該制御パラメータａｉ、ｂｊに係るＣＮＣ装置の動作特性を観測する。そうすることで、任意の値に設定された各係数ａｉ、ｂｊの集合の中から、評価用プログラムにより工作機械を動作させたときの工作機械の動作特性が最適となる係数ａｉ、ｂｊを機械学習装置３００により調整（学習）することができる。
このため、機械学習装置３００は、モータ２０１，２０２からフィードバックされる位置検出値等を用いて、フィードフォワード補正のための制御パラメータａｉ、ｂｊを学習し、モータ制御部１０３、１０４に対して最適な制御パラメータを設定する。
【００３６】
より具体的には、機械学習装置３００は、制御パラメータａｉ、ｂｊ(ｉ，ｊ≧０)に基づいて、評価用プログラムを実行することで取得されるＣＮＣ装置１００の動作特性としての位置偏差情報を含む、指令及びフィードバック等のサーボ状態を含む状態情報ｓを観測して、当該状態ｓに係る制御パラメータａｉ、ｂｊの調整（行動ａ）を行う。
行動情報ａにより状態情報ｓが状態情報ｓ´に修正された場合、状態情報ｓ´に係る修正後の制御パラメータａｉ´、ｂｊ´に基づいて動作したＣＮＣ装置１００の位置偏差の値が、行動情報ａにより修正される前の状態情報ｓに係る修正前の制御パラメータａｉ、ｂｊに基づいて動作したＣＮＣ装置１００の位置偏差の値よりも大きくなった場合に、報酬ｒの値を負の値とする。他方、行動情報ａにより修正された状態情報ｓ´に係る修正後の制御パラメータａｉ´、ｂｊ´に基づいて動作したＣＮＣ装置１００の位置偏差の値が、行動情報ａにより修正される前の状態情報ｓに係る修正前の制御パラメータａｉ、ｂｊに基づいて動作したＣＮＣ装置１００の位置偏差の値よりも小さくなった場合に、報酬ｒの値を正の値とする。
【００３７】
機械学習装置３００は、将来にわたっての報酬ｒの合計が最大になる最適な行動ａを試行錯誤的に探索する。そうすることで、機械学習装置３００は、制御パラメータａｉ、ｂｊに基づいて、評価用プログラムを実行することで取得されるＣＮＣ装置１００の位置偏差情報を含む指令、フィードバック等のサーボ状態を含む状態ｓに対して、最適な行動ａ（すなわち、最適な制御パラメータａｉ、ｂｊ）を選択することが可能となる。
なお、機械学習については、後述の補足において説明する。
【００３８】
＜評価用プログラム＞
次に、評価用プログラムについて説明する。工作機械においては、例えば、ワークを搭載するテーブルをそれぞれＸ軸方向及びＹ軸方向に駆動して、ワークを切削加工具、レーザビーム等により加工する。評価用プログラムは、評価時の加工形状により軸方向の移動距離、送り速度等を指定する。
制御パラメータａｉ、ｂｊを調整（学習）するに際して、すべての加工プログラムの動作に基づいて調整することはできない。このため、代表的な動作、例えばモータの反転動作、モータの停止からの反転動作、及び第１のモータに係る第１の軸の移動から停止への反転動作並びに第２のモータに係る第２の軸の停止からの反転動作を行わせるために、例えば円弧、四角形、及びＲ付四角形の形状を使用することが知られている。ここで、Ｒ付四角とは、角（かど）が、円弧状となっている四角形を意味する。
【００３９】
加工形状が円弧（円）の場合は、例えば、図３に示すＡ点で、テーブルをＸ軸方向に移動するサーボモータは回転方向が反転し、テーブルはＸ軸方向に直線反転するように移動する。
テーブルをＸ軸方向に移動するモータの回転方向がＡ点で反転しようとした時に、反転遅れが生じ、半径方向に軌跡誤差が拡大し、軌跡誤差の拡大表示を行うと軌跡誤差が突起として見える。
【００４０】
加工形状が四角の場合は、例えば、図４に示すＢ点の角（かど）で、テーブルをＹ軸方向に移動するサーボモータは、停止から回転動作に移り、テーブルをＸ軸方向に移動するサーボモータは、回転から停止に移り、テーブルはＸ軸方向の直線動作からＹ軸方向の直線動作に移る。
【００４１】
加工形状が角Ｒ付き四角の場合においても、例えば、図５に示すＣ１点で、テーブルをＹ軸方向に移動するサーボモータは、停止から回転動作に移り、テーブルはＸ軸方向の直線動作から円弧動作からに移る。また、図５に示すＣ２点で、テーブルをＸ軸方向に移動するサーボモータは、回転から停止動作に移り、テーブルは円弧動作からＹ軸方向の直線動作に移る。
以上説明したように、従来指定される加工形状により、回転方向が反転したり、回転状態から停止したりする場合に生ずる惰走（惰性で動作する）を評価し、位置偏差に対する影響を調べることができる。
【００４２】
しかしながら、これらの形状だけでは、例えば、２つのモータとも反転しない角（かど）における動作、停止から停止前と同じ方向に移動を開始する形状における動作、及び２つのモータとも反転する角（かど）における動作の特性を観測することはできない。
このため、評価用プログラムは、前述した特性を少なくとも備える動作を行わせるように構成される。そうすることで、すべての加工プログラムにより動作させたときの工作機械の動作特性を観測する替わりに、評価用プログラムにより動作させたときの工作機械の動作特性のみを観測することで、例えば、フィードフォワードに係る制御パラメータａｉ、ｂｊの調整（学習）を効率よく行うことができる。
【００４３】
このため、本実施形態の評価用プログラムによる加工形状は、例えば、一部の角（かど）を円弧とした八角形、一部の角（かど）を円弧とした八角形を半分にした形状を端部に有する十字形、角Ｒ付き十字形（角（かど）が弧の十字形）、凸状の円弧と凹状の円弧とで構成される十字形、星形のいずれか又はこれらの形の組み合わせによって構成される。なお、加工形状はモータ２０１、２０２で駆動されるＸ軸及びＹ軸によって移動する制御対象となるワークの移動軌跡の形状に対応している。
以下、図６〜図１０を用いてそれぞれの加工形状について説明するが、各図における加工は時計まわり方向に行われているものとする。なお、時計回り方向の加工に加えて反時計回りの方向に行うようにしてもよい。
【００４４】
図６は加工形状が、一部の角（かど）を円弧とした八角形からなる形状である第１の構成例を示す説明図である。図６に示す八角形は、モータが反転する箇所を円弧としている。
従来、反転時の調整は図３に示すように、加工形状を円とすることで行っていた。図３に示すように、円上の点であるＡ点では、円弧上でＸ軸を駆動するモータが反転するため、Ａ点に向けてモータの回転が減速し、Ａ点からモータの回転が反転して加速をする。一方、Ａ点及びその近傍では、Ｙ軸を駆動するモータは一番速い速度で回転する。その結果加工形状は弧を描く。その際、Ｘ軸でのモータの反転時の遅れによる誤差が図３に示すＹ軸の長い範囲（図３中の破線で囲んだ範囲）へ影響する。したがって、Ａ点の前後の円弧加工形状を観測することで、反転時におけるＸ軸の誤差に係る動作特性を観測することができた。
しかしながら、加工形状が円となる動作をさせるだけでは、速度が不連続に変化する点が存在せず、フィードフォワードに係る制御パラメータａｉ、ｂｊの調整のために観測する動作特性としては不充分であるといわざるをえない。
【００４５】
そこで、第１の構成例では図６に示すように、Ｘ軸及びＹ軸を駆動するモータがともに反転しない角（かど）であるＤ点を設ける。そうすることで、従来の円弧上での反転時の動作特性に加えて、速度が不連続に変化する加速度変化のＤ点を設けることで、フィードフォワードに係る制御パラメータａｉ、ｂｊの調整のために観測する動作特性を追加することができ、フィードフォワードに係る制御パラメータａｉ、ｂｊをより正確かつ効率的に調整することができる。
このように、本実施形態の評価用プログラムによる加工形状は、八角形の角（かど）の半分を円弧状とし、円弧と角（かど）とが交互に配置されるようにし、円弧の部分ではモータの回転が反転するが速度が不連続に変化しない動作特性を観測可能とし、角（かど）の部分ではモータの回転が反転しないが速度が不連続に変化する動作特性を観測可能にしている。
【００４６】
当該評価用プログラムを動作させることにより得られるＡ点における前後の円弧加工形状を観測することで、Ｘ軸の誤差に係る動作特性が得られるとともに、Ｄ点における前後の加工形状を観測することで、速度が不連続に変化する角（かど）における動作特性を得ることができる。これにより、Ａ点による反転時の調整（学習）に加えて、Ｄ点による速度が不連続に変化する時の調整（学習）が可能となる。
【００４７】
図７は、加工形状が、図６に示した第１の構成例の一部の角（かど）を円弧とした八角形を半分にした形状をそれぞれ端部に有する十字形からなる形状である第２の構成例を示す説明図である。すなわち、図７に示した破線で囲まれた領域の形状が、図６に示した第１の構成例の、一部の角（かど）を円弧とした八角形を半分にした形状となっている。図７に示した第２の構成例のＡ点、Ｄ点は図６に示した第１の構成例のＡ点、Ｄ点に対応している。
このように、第２の構成例では、第１の構成例におけるＡ点、Ｄ点に加えて新たにＥ点を設けている。Ｅ点の角（かど）では、Ｘ軸を駆動するモータは減速から停止する動作を行い、他方、Ｙ軸を駆動するモータは停止状態から回転する動作を行う。
そうすることで、フィードフォワードに係る制御パラメータａｉ、ｂｊの調整のために観測する動作特性を追加することができ、フィードフォワードに係る制御パラメータａｉ、ｂｊをより正確かつ効率的に調整することができる。
【００４８】
図８は加工形状が、角Ｒ付き十字形かなる形状である第３の構成例を示す説明図である。第３の構成例は、図８に示すように、凸状の円弧で構成される角（かど）と凹状の円弧で構成される角（かど）を含む十字形からなる形状となっている。
図５に示すように、加工形状が角Ｒ付き四角である場合は、例えば、図５に示すＣ１点で、Ｘ軸を駆動するモータが回転している場合に、Ｙ軸を駆動するモータが停止から回転動作に移る場合を評価し、Ｃ２点で、Ｙ軸を駆動するモータが回転している場合に、Ｘ軸を駆動するモータが、回転から停止動作に移る場合を評価することができる。
しかしながら、加工形状が角Ｒ付き四角となる動作だけでは、停止から停止前と同じ方向に移動を開始する形状における動作を評価することができない。
【００４９】
図８に示した第３の構成例の加工形状では、例えば、図８の破線で囲まれた領域において、Ｙ軸が停止してから次にＹ軸が停止するまでの移動方向と、次にＹ軸が停止してからの移動方向と同じ方向であり、またＸ軸が停止してから次にＸ軸が停止するまでの移動方向と、次にＸ軸が停止してからの移動方向と同じ方向である。よって、Ｘ軸及びＹ軸を駆動するモータが共に停止から停止前と同じ方向に回転を開始する動作を評価することができる。これにより、図５に示した角Ｒ付き四角の加工形状と比べて、例えばＦ１点のような、Ｘ軸を駆動するモータにおいて停止前と同じ方向に回転を開始する切換点、Ｆ２点のような、Ｘ軸を駆動するモータのモータが停止前と同じ方向に回転している時にＹ軸を駆動するモータが停止する切換点の動作特性を評価することができる。
そうすることで、フィードフォワードに係る制御パラメータａｉ、ｂｊの調整のために観測する動作特性を追加することができ、フィードフォワードに係る制御パラメータａｉ、ｂｊをより正確かつ効率的に調整することができる。
【００５０】
図９は、加工形状が、凸状の円弧と凹状の円弧とで構成される十字形からなる形状である第４の構成例を示す説明図である。
図５に示す、加工形状が角Ｒ付き四角である場合は、図３に示す、加工形状を円とすることで行っていた反転時の調整を行うことができない。また、モータの回転が停止してから直ぐに同じ方向に回転を始める時の動作を評価することができない。
図９に示した第４の構成例の加工形状は、凸状の円弧と凹状の円弧とを組み合わせた形状となる。図８に示した加工形状と同様に、Ｙ軸が停止してから次にＹ軸が停止するまでの移動方向と、次にＹ軸が停止してからの移動方向と同じ方向であり、またＸ軸が停止してから次にＸ軸が停止するまでの移動方向と、次にＸ軸が停止してからの移動方向と同じ方向である。ただし、図９に示す加工形状では図８に示した加工形状と比べて、直線移動はなく円弧移動となっている。
【００５１】
これにより、図９のＧ点では、図３に示すＡ点と同様に、Ｇ点でＸ軸を駆動するモータの回転が反転し、反転時の動作特性の評価を行うことができる。また、Ｈ１点では、Ｘ軸を駆動するモータが回転の停止から直ぐに同じ方向に回転を始める時の動作特性、Ｈ２点では、それぞれＹ軸を駆動するモータが回転の停止から直ぐに同じ方向に回転を始める時の動作特性を評価することができる。
【００５２】
これにより、Ｇ点における前後の加工形状、Ｈ１点における前後の加工形状及びＨ２点における前後の加工形状を観測することで、Ｘ軸（又はＹ軸）のモータの回転の反転時の動作特性、Ｘ軸（又はＹ軸）が停止してから次に停止するまでの移動方向と、Ｘ軸（又はＹ軸）が次に停止してからの移動方向と同じ方向であるときの動作特性を得ることができる。そうすることで、フィードフォワードに係る制御パラメータａｉ、ｂｊの調整のために観測する動作特性を追加することができ、フィードフォワードに係る制御パラメータａｉ、ｂｊをより正確かつ効率的に調整することができる。
【００５３】
図１０は、加工形状が、星形からなる形状である第５の構成例を示す説明図である。
図１０に示した第５の構成例の加工形状は、例えばＩ点で、Ｘ軸を駆動するモータとＹ軸を駆動するモータとの両方の回転方向が反転する。これにより、Ｉ点における前後の加工形状を観測することで、Ｘ軸を駆動するモータとＹ軸を駆動するモータとの径点方向がともに反転するときの動作特性を得ることができる。そうすることで、フィードフォワードに係る制御パラメータａｉ、ｂｊの調整のために観測する動作特性を追加することができ、フィードフォワードに係る制御パラメータａｉ、ｂｊをより正確かつ効率的に調整することができる。
【００５４】
以上、本実施形態で用いる評価用プログラムに基づく加工形状について説明したが、本実施形態で用いる評価用プログラムによる加工形状と、円弧（円）、四角形、角Ｒ付き四角形及び八角形の少なくとも１つの加工形状とを組み合わせて評価を行ってもよい。
円弧は図３を用いて説明したように、一方の軸を駆動するモータが一方向に回転しているときの、他方の軸を駆動するモータの反転時の特性を検出することができる。
また、四角形の角（かど）は図４を用いて説明したように、一方の軸を駆動するモータが減速から停止し、他方の軸を駆動するモータが停止から加速するときの特性を検出することができる。
また、図５を用いて説明した角Ｒ付き四角形は直線から円弧、円弧から直線に移るときの特性、即ち、一方の軸を駆動するモータが停止のために減速しているときに、他方の軸を駆動するモータが停止から加速するときの特性を検出することができる。
また、八角形は、図６に示した第１の構成例である、角（かど）に対応する部分の形状を円弧から角（かく）に置き換わった形状となり、図６に示した第１の構成例のＡ点で、速度が不連続に変化する点が構成される。
【００５５】
評価用プログラムは、記憶部１０１に格納されるとしたが、これに限定されない。評価用プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ(Read Only Memory)、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ(Programmable ROM)、ＥＰＲＯＭ(Erasable PROM)、フラッシュＲＯＭ、ＲＡＭ(random access memory）)を含む。また、評価用プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００５６】
また、本実施形態では、評価用プログラムにより動作させたときの工作機械の動作特性を観測することで、フィードフォワードに係る制御パラメータａｉ、ｂｊの調整（学習）を効率よく行うことができる機械学習を例示したが、評価用プログラムの適用は、フィードフォワードに係る制御パラメータａｉ、ｂｊの調整（学習）に限定されない。例えば、静摩擦に係る制御パラメータ、及び反転時のバックラッシに係る制御パラメータの調整（学習）にも適用できる。
また、上述した機械学習装置３００は、評価用プログラムをＣＮＣ装置１００に実行させることにより、動作特性として位置偏差を観測したが、フィードバック情報は位置偏差に限定されず、位置偏差に加えて位置指令及び位置フィードバック（位置検出値）のうちの少なくとも１つを含んでもよい。
【００５７】
また、動作指令として、速度指令、速度フィードバック、速度偏差、電流指令、電流フィードバック、及び電流偏差のうちの少なくとも１つを加えてもよい。ここで、位置指令は数値制御情報処理部１０２の出力、位置フィードバックは積分器１００７の出力がそれぞれ対応する。速度指令は加算器１００３の出力、速度フィードバック（速度検出値）はモータに関連付けられたロータリーエンコーダの出力、速度偏差は減算器１００４の出力がそれぞれ対応する。電流指令は加算器１００６の出力、電流フィードバックはモータに流す電流の検出値、電流偏差は減算器１０１０の出力がそれぞれ対応する。
【００５８】
またフィードフォワードの調整は、速度フィードフォワード計算部１００９における調整（学習）に限定されない。例えば、速度フィードフォワード計算部１００９に加えて、又は速度フィードフォワード計算部１００９に換えて、位置フィードフォワード計算部１００８及び／又は電流フィードフォワード計算部１０１３の伝達関数の係数（制御パラメータ）について調整（学習）を行ってもよい。
例えば、図１１はＣＮＣ装置の他の構成例の一部の構成を示すブロック図である。図１１は図８に示したＣＮＣ装置に、減算器１０１０、電流制御部１０１１、加算器１０１２、及び電流フィードフォワード計算部１０１３をさらに追加したＣＮＣ装置を示している。
また、機械学習ではなく、操作者が制御パラメータａｉ、ｂｊを例えば、制御表示盤等を介して適宜入力して、当該評価用プログラムを動作させて、動作特性を観察することにより、制御パラメータａｉ、ｂｊを調整するようにしてもよい。
【００５９】
また、評価用プログラムにより動作させたときの工作機械の動作特性を観測することで、（フィードフォワードに係る制御パラメータａｉ、ｂｊの調整（学習）に替えて）バックラッシ補正及び／又はバックラッシ加速補正に係る制御パラメータの調整（学習）を行ってもよい。例えば、図６に示した第１の構成例並びに図７に示した第２の構成例におけるＡ点における反転時の動作特性、及び図１０に示した第５の構成例におけるＩ点における反転時の動作特性の観測は特に有効である。
【００６０】
また、評価用プログラムにより動作させたときの工作機械の動作特性を観測することで、（フィードフォワードに係る制御パラメータａｉ、ｂｊの調整（学習）に替えて）静摩擦補正に係る制御パラメータの調整（学習）を行ってもよい。例えば、図４に示した第２の構成例のＣ点における動作特性は、特に有効である。
【００６１】
＜補足説明＞
最後に、補足説明として本実施形態における機械学習について簡単に説明する。
図１２は本発明の第１の実施形態の機械学習装置３００を示すブロック図である。
上述した強化学習を行うために、図１２に示すように、機械学習装置３００は、状態情報取得部３０１、学習部３０２、行動情報出力部３０３、価値関数記憶部３０４、及び最適化行動情報出力部３０５を備える。学習部３０２は報酬出力部３０２１、価値関数更新部３０２２、及び行動情報生成部３０２３を備える。
【００６２】
＜エージェント＞
エージェント（本実施形態における機械学習装置３００に相当）は、環境の状態を観測し、ある行動を選択し、当該行動に基づいて環境を変化させ、環境の変化に伴って、何らかの報酬が与えられ、エージェントはより良い行動の選択（意思決定）を学習する。
【００６３】
＜状態ｓ＞
ＣＮＣ装置１００における速度フィードフォワード計算部１００９の伝達関数Ｇ（ｓ）の各係数ａｉ、ｂｊ(ｉ，ｊ≧０)の値、並びに学習時の評価用プログラムを実行することで取得されるＣＮＣ装置１００の位置偏差情報を含む、指令及びフィードバック等のサーボ状態を状態ｓとする。状態情報取得部３０１は、状態ｓを取得する。
【００６４】
＜行動ａ＞
状態ｓに係る速度フィードフォワード計算部１００９の制御パラメータａｉ、ｂｊの調整（例えば、制御パラメータａｉ、ｂｊをランダムに微修正する）を行動ａとする。なお、制御パラメータａｉ、ｂｊは例えば、初期設定値として、［数１］のａ０＝１、ａ１＝０、ｂ０＝０、ｂ１＝制御対象のイナーシャ値とする。また、係数ａｉ、ｂｊの次元ｍ、ｎを予め設定する。学習部３０２における行動情報生成部３０２３は、行動ａを生成して、行動情報出力部３０３は、状態ｓにおける行動ａをＣＮＣ装置１００に対して出力する。
【００６５】
＜報酬ｒ＞
状態ｓにおける状態変数である位置偏差の集合（位置偏差集合）をＰＤ（ｓ）、行動情報ａ（速度フィードフォワード計算部の各係数ａｉ、ｂｊ（ｉ，ｊは０及び正の整数を示す）の修正）により状態ｓから変化した状態情報ｓ´に係る状態変数である位置偏差集合をＰＤ（ｓ´）で示す。また、状態ｓにおける位置偏差の値を、予め設定された評価関数ｆ（ＰＤ（ｓ））に基づいて算出される値とする。
評価関数ｆとしては、例えば、
位置偏差の絶対値の積算値を算出する関数
∫|e|dt
位置偏差の絶対値に時間の重み付けをして積算値を算出する関数
∫t|e|dt
位置偏差の絶対値の２ｎ（ｎは自然数）乗の積算値を算出する関数、
∫e2ndt（ｎは自然数）
位置偏差の絶対値の最大値を算出する関数
Ｍａｘ｛|e|｝  
等を適用することができる。
【００６６】
このとき、行動情報ａにより修正された状態情報ｓ´に係る修正後の速度フィードフォワード計算部１００９に基づいて動作したＣＮＣ装置１００の位置偏差の値ｆ（ＰＤ（ｓ´））が、行動情報ａにより修正される前の状態情報ｓに係る修正前の速度フィードフォワード計算部１００９に基づいて動作したＣＮＣ装置１００の位置偏差の値ｆ（ＰＤ（ｓ））よりも大きくなった場合に、報酬ｒの値を負の値とする。
【００６７】
一方で、行動情報ａにより修正された状態情報ｓ´に係る修正後の速度フィードフォワード計算部１００９に基づいて動作したＣＮＣ装置１００の位置偏差の値ｆ（ＰＤ（ｓ´））が、行動情報ａにより修正される前の状態情報ｓに係る修正前の速度フィードフォワード計算部１００９に基づいて動作したＣＮＣ装置１００の位置偏差の値ｆ（ＰＤ（ｓ））よりも小さくなった場合に、報酬ｒの値を正の値とする。
なお、行動情報ａにより修正された状態情報ｓ´に係る修正後の速度フィードフォワード計算部１００９に基づいて動作したＣＮＣ装置１００の位置偏差の値ｆ（ＰＤ（ｓ´））が、行動情報ａにより修正される前の状態情報ｓに係る修正前の速度フィードフォワード計算部１００９に基づいて動作したＣＮＣ装置１００の位置偏差の値ｆ（ＰＤ（ｓ））と等しい場合は、報酬ｒの値をゼロとする。
学習部３０２における報酬出力部３０２１は、状態ｓに対して行動ａを適用した場合の報酬ｒを算出する。
【００６８】
＜価値関数Ｑ＞
或る環境の状態ｓの下で、行動ａを選択する場合の価値をＱ（ｓ，ａ）とする。このように、Ｑ（ｓ，ａ）は、状態ｓと行動ａを入力とする関数である。
学習を最初に開始する時点では、状態ｓと行動ａとの組合せについて、価値Ｑ（ｓ，ａ）の正しい値は全く分かっていない。そこで、エージェントは、或る状態ｓの下で様々な行動ａを選択し、その時の行動ａに対して、与えられる報酬に基づいて、より良い行動の選択をすることにより、正しい価値Ｑ（ｓ，ａ）を学習していく。
このような価値Ｑ（ｓ，ａ）の更新式は、例えば、次の数式２（以下に数２として示す）により表すことができる。
【００６９】
【数２】
2019003404.tif 000004
【００７０】
上記の数式２において、ｓｔは、時刻ｔにおける環境の状態を表し、ａｔは、時刻ｔにおける行動を表す。行動ａｔにより、状態はｓｔ＋１に変化する。ｒｔ＋１は、その状態の変化により得られる報酬を表している。また、ｍａｘの付いた項は、状態ｓｔ＋１の下で、その時に分かっている最もＱ値の高い行動ａを選択した場合のＱ値にγを乗じたものになる。ここで、γは、０＜γ≦１のパラメータで、割引率と呼ばれる。また、αは、学習係数で、０＜α≦１の範囲とする。
学習では、すべての状態行動ペア（ｓ，ａ）についてのＱ（ｓ，ａ）のテーブルを作成して、学習を行う方法がある。学習部３０２における価値関数更新部３０２２は、状態ｓと、行動ａと、行動ａを状態ｓに適用した場合の状態ｓ´と、報酬出力部３０２１により算出された報酬ｒの値と、に基づいて学習を行うことにより、価値関数記憶部３０４が記憶する価値関数Ｑを更新する。
【００７１】
以上のようにして、機械学習装置３００により学習された価値関数Ｑに基づいて、或る状態ｓに係る速度フィードフォワード計算部１００９の伝達関数の各係数ａｉ、ｂｊに対して適用される行動ａのうち、Ｑ（ｓ，ａ）の値が最大となるような行動ａを選択することで、評価用プログラムを実行することで取得される位置偏差が最小になるような行動ａ（すなわち、速度フィードフォワード計算部１００９の係数ａｉ、ｂｊ）を選択することが可能となる。
最適化行動情報出力部３０５は、価値関数更新部３０２２が学習を行うことにより更新した価値関数Ｑに基づいて、価値Ｑ（ｓ，ａ）が最大となる動作を速度フィードフォワード計算部１００９に行わせるための行動情報ａ（以下、「最適化行動情報」と呼ぶ）を生成する。
以上、本実施形態における機械学習について補足説明したが、ここで説明した機械学習は、評価用プログラムによる評価を観測して、調整（学習）するための１つの例であって、調整（学習）は、これに限定されない。例えば、オペレータが、評価用プログラムを使用して、制御パラメータを調整してもよい。
【００７２】
以上、実施形態において、ＣＮＣ装置１００と機械学習装置３００について説明したが、これらの機能を実現するために、ＣＮＣ装置１００、及び機械学習装置３００は、それぞれＣＰＵ（Central Processing Unit）等の演算処理装置を備える。また、ＣＮＣ装置１００、及び機械学習装置３００及び調整装置５００は、それぞれアプリケーションソフトウェアやＯＳ（Operating System）等の各種の制御用プログラムを格納したＨＤＤ（Hard Disk Drive）等の補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのＲＡＭ（Random Access Memory）といった主記憶装置も備える。
【００７３】
そして、ＣＮＣ装置１００、及び機械学習装置３００は、それぞれ演算処理装置が補助記憶装置からアプリケーションソフトウェアやＯＳを読み込み、読み込んだアプリケーションソフトウェアやＯＳを主記憶装置に展開させながら、これらのアプリケーションソフトウェアやＯＳに基づいた演算処理を行なう。また、この演算結果に基づいて、各装置が備える各種のハードウェアを制御する。これにより、本実施形態の機能ブロックは実現される。つまり、本実施形態は、ハードウェアとソフトウェアが協働することにより実現することができる。
【００７４】
機械学習装置３００については機械学習に伴う演算量が多いため、例えば、パーソナルコンピュータにＧＰＵ（Graphics Processing Units）を搭載し、ＧＰＧＰＵ（General-Purpose computing on Graphics Processing Units）と呼ばれる技術により、ＧＰＵを機械学習に伴う演算処理に利用するようにすると高速処理できるようになるのでよい。更には、より高速な処理を行うために、このようなＧＰＵを搭載したコンピュータを複数台用いてコンピュータ・クラスターを構築し、このコンピュータ・クラスターに含まれる複数のコンピュータにて並列処理を行うようにしてもよい。
【００７５】
本実施形態において、ＣＮＣ装置１００、及び機械学習装置３００に含まれる各構成部は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記のサーボ制御装置となるモータ制御部に含まれる各構成部のそれぞれの協働により行なわれるサーボ制御方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【００７６】
上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【符号の説明】
【００７７】
１００  ＣＮＣ(Computerized Numerical Control)装置
１０１  記憶部
１０２  数値制御情報処理部
１０３、１０４  モータ制御部
２０１、２０２  モータ
３００  機械学習装置
【図１】
2019003404.tif 000005
【図２】
2019003404.tif 000006
【図３】
2019003404.tif 000007
【図４】
2019003404.tif 000008
【図５】
2019003404.tif 000009
【図６】
2019003404.tif 000010
【図７】
2019003404.tif 000011
【図８】
2019003404.tif 000012
【図９】
2019003404.tif 000013
【図１０】
2019003404.tif 000014
【図１１】
2019003404.tif 000015
【図１２】
2019003404.tif 000016