特許第6077617号(P6077617)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

<>
  • 6077617-最適な速度分布を生成する工作機械 図000004
  • 6077617-最適な速度分布を生成する工作機械 図000005
  • 6077617-最適な速度分布を生成する工作機械 図000006
  • 6077617-最適な速度分布を生成する工作機械 図000007
  • 6077617-最適な速度分布を生成する工作機械 図000008
  • 6077617-最適な速度分布を生成する工作機械 図000009
  • 6077617-最適な速度分布を生成する工作機械 図000010
  • 6077617-最適な速度分布を生成する工作機械 図000011
  • 6077617-最適な速度分布を生成する工作機械 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6077617
(24)【登録日】2017年1月20日
(45)【発行日】2017年2月8日
(54)【発明の名称】最適な速度分布を生成する工作機械
(51)【国際特許分類】
   G05B 19/416 20060101AFI20170130BHJP
   G05B 19/4155 20060101ALI20170130BHJP
   B23Q 15/08 20060101ALI20170130BHJP
   G06N 99/00 20100101ALI20170130BHJP
【FI】
   G05B19/416 E
   G05B19/4155 V
   B23Q15/08
   G06N99/00 150
【請求項の数】6
【全頁数】15
(21)【出願番号】特願2015-188218(P2015-188218)
(22)【出願日】2015年9月25日
【審査請求日】2016年4月15日
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ特許業務法人
(72)【発明者】
【氏名】金丸 智
【審査官】 木原 裕二
(56)【参考文献】
【文献】 特開平05−061533(JP,A)
【文献】 特開平04−135209(JP,A)
【文献】 特開平06−035525(JP,A)
【文献】 特開平03−231306(JP,A)
【文献】 特開平06−309017(JP,A)
【文献】 特開平01−173202(JP,A)
【文献】 特開平01−183703(JP,A)
【文献】 特開平06−274228(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18 − 19/416
G05B 19/42 − 19/46
B23Q 15/00 − 15/28
G06N 99/00
(57)【特許請求の範囲】
【請求項1】
プログラムにより指令される工具の指令経路に基づいて少なくとも1つの軸を駆動してワークの加工を行う工作機械において、
前記工作機械の動作を評価して評価データを出力する動作評価部と、
制御周期毎の前記軸の移動量の決定を機械学習する機械学習器と、
を備え、
前記機械学習器は、
前記工作機械の少なくとも前記軸の軸位置を含むデータと、前記動作評価部から出力された評価データと、を状態データとして取得する状態観測部と、
報酬条件を設定する報酬条件設定部と、
前記状態観測部が取得した前記状態データに基づいて報酬を計算する報酬計算部と、
制御周期毎の前記軸の移動量の決定を機械学習する移動量調整学習部と、
前記移動量調整学習部による制御周期毎の前記軸の移動量の決定の機械学習結果と、前記状態データとに基づいて、制御周期毎の前記軸の移動量を前記工具の移動速度の分布が最適になるように決定して出力する移動量出力部と、
を有し、
前記移動量調整学習部は、決定された制御周期毎の前記軸の移動量と、出力された制御周期毎の前記軸の移動量に基づいた前記工作機械の動作後における前記状態観測部により取得された前記状態データと、前記報酬計算部が計算した前記報酬と、に基づいて制御周期毎の前記軸の移動量の決定を機械学習する、
ことを特徴とする工作機械。
【請求項2】
前記報酬計算部は、前記軸の合成速度が速い速度で進んだとき、または加工精度が向上したときにプラスの報酬を計算し、前記工具が前記指令経路を逸脱するときにマイナスの報酬を計算する、
ことを特徴とする請求項1に記載の工作機械。
【請求項3】
少なくとも1つの他の工作機械と接続されており、
前記他の工作機械との間で機械学習の結果を相互に交換または共有する、
ことを特徴とする請求項1または2に記載の工作機械。
【請求項4】
前記移動量調整学習部は、前記報酬が最大となるように、決定された制御周期毎の前記軸の移動量と、前記状態観測部により取得された前記状態データを引数で表現した評価関数を用いて機械学習する、
ことを特徴とする請求項3に記載の工作機械。
【請求項5】
プログラムにより指令される工具の指令経路に基づいて少なくとも1つの軸を駆動するワークの加工を行う工作機械をシミュレーションするシミュレーション装置において、
前記工作機械のシミュレーション動作を評価して評価データを出力する動作評価部と、
制御周期毎の前記軸の移動量の決定を機械学習する機械学習器と、
を備え、
前記機械学習器は、
前記工作機械の少なくとも前記軸の軸位置を含むシミュレーションされたデータと、前記動作評価部から出力された評価データと、を状態データとして取得する状態観測部と、
前記状態観測部が取得した前記状態データに基づいて報酬を計算する報酬計算部と、
制御周期毎の前記軸の移動量の決定を機械学習する移動量調整学習部と、
前記移動量調整学習部による制御周期毎の前記軸の移動量の決定の機械学習結果と、前記状態データとに基づいて、制御周期毎の前記軸の移動量を前記工具の移動速度の分布が最適になるように決定して出力する移動量出力部と、
を有し、
前記移動量調整学習部は、決定された制御周期毎の前記軸の移動量と、出力された制御周期毎の前記軸の移動量に基づいた前記工作機械のシミュレーション動作後における前記状態観測部により取得された前記状態データと、前記報酬計算部が計算した前記報酬と、に基づいて制御周期毎の前記軸の移動量の決定を機械学習する、
ことを特徴とするシミュレーション装置。
【請求項6】
工作機械が備える少なくとも1つの軸の制御周期毎の移動量の決定を機械学習した機械学習器であって、
制御周期毎の前記軸の移動量の決定の機械学習結果を記憶する学習結果記憶部と、
前記工作機械の少なくとも前記軸の軸位置を含む状態データを取得する状態観測部と、
前記学習結果記憶部に記憶された前記機械学習結果と、前記状態データとに基づいて、制御周期毎の前記軸の移動量を前記工作機械の工具の移動速度の分布が最適になるように決定して出力する移動量出力部と、
を備えたことを特徴とする機械学習器。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、工作機械に関し、特に各軸の制御における最適な速度分布を生成する工作機械に関する。
【背景技術】
【0002】
従来、加工プログラムを作成し、該加工プログラムに基づいて工作機械を制御して、部品や金型などの加工が行われている。加工を行う際の加工速度は加工プログラム内で軸の移動速度として指令するが、これは工具と加工物の相対移動(工具移動)の最大速度であり、実際に工作機械に対しては、加工開始時やコーナ部、曲線部分などにおいて、各軸の加減速時定数に従い軸の移動速度を変動させた移動データが出力されていた。また、加工物には目標加工時間があるが、これは工作機械の操作者が加工物の加工面精度を確認しながら、加減速時定数を変更したり、プログラム内で指令する工具の送り速度を変更したりするなどの方法で調整していた。
【0003】
このような加工におけるパラメータ調整に関連する従来技術として、特許文献1には、加工において調整可能な複数種類のパラメータをパラメータセットとして用意して利用するパラメータの調整手法が開示されている。また、特許文献2には、加工パターンを用いて、加工精度を考慮しながら加工時間を短縮する加工経路情報の生成と加工条件の設定を行う加工条件設定方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−058218号公報
【特許文献2】特開2006−043836号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
一般に、加工において工具を制御する際の指令速度や加速度を全体的に増加させることで、全体的な加工速度を向上させることができるが、一方で、コーナ部、曲線部分近傍において工具の移動速度や加速度を大きく設定した場合、実際の工具経路が指令経路から逸脱することがある。図8は、加工プログラムにより指令される工具の経路から実際の工具経路が逸脱する例を示す図である。図8(a)に示す旋削加工や図8(b)に示す穴あけ加工などのさまざまな加工において、工具の速度や加速度を増加させるとコーナ部や曲線部近傍において行き過ぎや内回りなどに起因する経路の逸脱が発生する。
【0006】
このような経路の逸脱が発生すると、図9に示すように、加工面精度の低下や加工不良の発生(図9(a))、ワークとの干渉に基づく工具の破損(図9(b))などが発生する。このような事象が発生しないように軸移動に関連する各要素を考慮しながら、加工時間を短縮するために速度や加速度の調整を行うことは、操作者に大きな労力がかかるという課題があり、また、必ずしも速度や加速度を最適に調整できるとは限らないという課題があった。
このような課題に対して、特許文献1,2に開示される技術は用意したパラメータセットや加工パターンに適合する状況にしか対応できず、さまざまな状況に柔軟に対応できない。
【0007】
そこで本発明の目的は、各軸の制御における最適な速度分布を生成する工作機械を提供することである。
【課題を解決するための手段】
【0008】
本発明では、ある時間における工作機械の軸の位置から、次の瞬間における軸の位置までの変化量を得る。これは数値制御装置から出力される指令パルスと呼ばれるデータである。従来は、工作機械メーカの技術者が各軸加減速時定数として設定するなどの方法で調整を行なっていたため、最適な変化量が得られていない場合があった。軸の移動量を最適にすることにより、指定した工具経路上で最適な速度分布を生成し、加工一回あたりの時間の短縮、および加工精度の向上を実現する。
【0009】
そして、本願の請求項1に係る発明は、プログラムにより指令される工具の指令経路に基づいて少なくとも1つの軸を駆動してワークの加工を行う工作機械において、前記工作機械の動作を評価して評価データを出力する動作評価部と、制御周期毎の前記軸の移動量の決定を機械学習する機械学習器と、を備え、前記機械学習器は、前記工作機械の少なくとも前記軸の軸位置を含むデータと、前記動作評価部から出力された評価データと、を状態データとして取得する状態観測部と、報酬条件を設定する報酬条件設定部と、前記状態観測部が取得した前記状態データに基づいて報酬を計算する報酬計算部と、制御周期毎の前記軸の移動量の決定を機械学習する移動量調整学習部と、前記移動量調整学習部による制御周期毎の前記軸の移動量の決定の機械学習結果と、前記状態データとに基づいて、制御周期毎の前記軸の移動量を前記工具の移動速度の分布が最適になるように決定して出力する移動量出力部と、を有し、前記移動量調整学習部は、決定された制御周期毎の前記軸の移動量と、出力された制御周期毎の前記軸の移動量に基づいた前記工作機械の動作後における前記状態観測部により取得された前記状態データと、前記報酬計算部が計算した前記報酬と、に基づいて制御周期毎の前記軸の移動量の決定を機械学習する、ことを特徴とする工作機械である。
【0010】
本願の請求項2に係る発明は、前記報酬計算部は、前記軸の合成速度が速い速度で進んだとき、または加工精度が向上したときにプラスの報酬を計算し、前記工具が前記指令経路を逸脱するときにマイナスの報酬を計算する、ことを特徴とする請求項1に記載の工作機械である。
【0011】
本願の請求項3に係る発明は、少なくとも1つの他の工作機械と接続されており、前記他の工作機械との間で機械学習の結果を相互に交換または共有する、ことを特徴とする請求項1または2に記載の工作機械である。
【0012】
本願の請求項4に係る発明は、前記移動量調整学習部は、前記報酬が最大となるように、決定された制御周期毎の前記軸の移動量と、前記状態観測部により取得された前記状態データを引数で表現した評価関数を用いて機械学習する、ことを特徴とする請求項3に記載の工作機械である。
【0013】
本願の請求項5に係る発明は、プログラムにより指令される工具の指令経路に基づいて少なくとも1つの軸を駆動するワークの加工を行う工作機械をシミュレーションするシミュレーション装置において、前記工作機械のシミュレーション動作を評価して評価データを出力する動作評価部と、制御周期毎の前記軸の移動量の決定を機械学習する機械学習器と、を備え、前記機械学習器は、前記工作機械の少なくとも前記軸の軸位置を含むシミュレーションされたデータと、前記動作評価部から出力された評価データと、を状態データとして取得する状態観測部と、前記状態観測部が取得した前記状態データに基づいて報酬を計算する報酬計算部と、制御周期毎の前記軸の移動量の決定を機械学習する移動量調整学習部と、前記移動量調整学習部による制御周期毎の前記軸の移動量の決定の機械学習結果と、前記状態データとに基づいて、制御周期毎の前記軸の移動量を前記工具の移動速度の分布が最適になるように決定して出力する移動量出力部と、を有し、前記移動量調整学習部は、決定された制御周期毎の前記軸の移動量と、出力された制御周期毎の前記軸の移動量に基づいた前記工作機械のシミュレーション動作後における前記状態観測部により取得された前記状態データと、前記報酬計算部が計算した前記報酬と、に基づいて制御周期毎の前記軸の移動量の決定を機械学習する、ことを特徴とするシミュレーション装置である。
【0014】
本願の請求項6に係る発明は、工作機械が備える少なくとも1つの軸の制御周期毎の移動量の決定を機械学習した機械学習器であって、制御周期毎の前記軸の移動量の決定の機械学習結果を記憶する学習結果記憶部と、前記工作機械の少なくとも前記軸の軸位置を含む状態データを取得する状態観測部と、前記学習結果記憶部に記憶された前記機械学習結果と、前記状態データとに基づいて、制御周期毎の前記軸の移動量を前記工作機械の工具の移動速度の分布が最適になるように決定して出力する移動量出力部と、を備えたことを特徴とする機械学習器である。
【発明の効果】
【0015】
本発明において、機械学習を最適な各軸の移動量の決定に取り入れることで、最適な速度分布を得ることが可能になり、より短時間で、より加工精度の高いワークの加工が実現できる。
【図面の簡単な説明】
【0016】
図1】本発明により工作機械の速度分布が最適化された例を示す図である。
図2】強化学習アルゴリズムの基本的な概念を説明する図である。
図3】本発明の実施形態における工作機械の機械学習に関するイメージ図である。
図4】本発明の実施形態において扱う各データについて説明する図である。
図5】本発明の実施形態における工作機械の機能ブロック図である。
図6】本発明の実施形態における機械学習の流れを示すフローチャートである。
図7】本発明の他の実施形態におけるシミュレーション装置の機能ブロック図である。
図8】ワークの加工における工具経路の逸脱について説明する図である。
図9】工具経路の逸脱による問題を説明する図である。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態を図面と共に説明する。
図1は、本発明による工作機械の速度分布を最適化する例を示す図である。図1において、点線円は指令経路の各点における指令された速度の大きさ(学習前の速度の大きさ)を示しており、実線円は指令経路の各点における最適化された速度の大きさ(学習後の速度の大きさ)を示している。本発明では、ワークを加工する工作機械に対して人工知能となる機械学習器を導入し、加工プログラムに基づくワークの加工における工作機械の各軸の移動量に関する機械学習を行うことで、図1に示すように、ワークの加工におけるある時点での工作機械の各軸の速度(移動量)が最適なものになるように調整を行うようにする。各軸の移動量の調整では、より速く、かつ滑らかな工具移動と、工具経路をなるべく逸脱しないことを目的とした最適な速度分布を得ることにより、より短時間で、より加工精度の高いワークの加工を実現する。
以下では、本発明で導入する機械学習について簡単に説明する。
【0018】
<1.機械学習>
一般に、機械学習には教師あり学習や教師なし学習など、その目的や条件によって様々なアルゴリズムに分類されている。本発明では加工プログラムに基づくワークの加工における工作機械の各軸の移動量の学習を目的としており、出力される各軸の移動量に基づく工具の移動経路に対してどのような行動(各軸の移動量の調整)をすることが正しいのかを明示的に示すことが困難であることを考慮して、報酬を与えるだけで機械学習器が目標到達のための行動を自動的に学習する強化学習のアルゴリズムを採用する。
【0019】
図2は、強化学習アルゴリズムの基本的な概念を説明する図である。強化学習においては、学習する主体となるエージェント(機械学習器)と、制御対象となる環境(制御対象システム)とのやりとりにより、エージェント学習と行動が進められる。より具体的には、(1)エージェントはある時点における環境の状態stを観測し、(2)観測結果と過去の学習に基づいて自分が取れる行動atを選択して行動atを実行し、(3)行動atが実行されることで環境の状態stが次の状態st+1へと変化し、(4)行動atの結果としての状態の変化に基づいてエージェントが報酬rt+1を受け取り、(5)エージェントが状態st、行動at、報酬rt+1および過去の学習の結果に基づいて学習を進める、といったやりとりがエージェントと環境の間で行われる。
【0020】
上記した(5)における学習では、エ−ジェントは将来取得できる報酬の量を判断するための基準となる情報として、観測された状態st,行動at,報酬rt+1のマッピングを獲得する。例えば、各時刻において取り得る状態の個数がm、取り得る行動の個数がnとすると、行動を繰り返すことによって状態stと行動atの組に対する報酬rt+1を記憶するm×nの2次元配列が得られる。
そして、上記得られたマッピングに基づいて現在の状態や行動がどのくらい良いのかを示す関数である価値関数(評価関数)を用い、行動を繰り返す中で価値関数(評価関数)を更新していくことにより状態に対する最適な行動を学習していく。
【0021】
状態価値関数は、ある状態stがどのくらい良い状態であるのかを示す価値関数である。状態価値関数は、状態を引数とする関数として表現され、行動を繰り返す中での学習において、ある状態における行動に対して得られた報酬や、該行動により移行する未来の状態の価値などに基づいて更新される。状態価値関数の更新式は強化学習のアルゴリズムに応じて定義されており、例えば、強化学習アルゴリズムの1つであるTD学習においては、状態価値関数は以下の数1式で定義される。なお、数1式においてαは学習係数、γは割引率と呼ばれ、0<α≦1、0<γ≦1の範囲で定義される。
【0022】
【数1】
【0023】
また、行動価値関数は、ある状態stにおいて行動atがどのくらい良い行動であるのかを示す価値関数である。行動価値関数は、状態と行動を引数とする関数として表現され、行動を繰り返す中での学習において、ある状態における行動に対して得られた報酬や、該行動により移行する未来の状態における行動の価値などに基づいて更新される。行動価値関数の更新式は強化学習のアルゴリズムに応じて定義されており、例えば、代表的な強化学習アルゴリズムの1つであるQ学習においては、行動価値関数は以下の数2式で定義される。なお、数2式においてαは学習係数、γは割引率と呼ばれ、0<α≦1、0<γ≦1の範囲で定義される。
【0024】
【数2】
【0025】
なお、学習結果としての価値関数(評価関数)を記憶する方法としては、近似関数を用いる方法や、配列を用いる方法以外にも、例えば状態sが多くの状態を取るような場合には状態st、行動atを入力として価値(評価)を出力する多値出力のSVMやニューラルネットワーク等の教師あり学習器を用いる方法などがある。
【0026】
そして、上記した(2)における行動の選択においては、過去の学習によって作成された価値関数(評価関数)を用いて現在の状態stにおいて将来にわたっての報酬(rt+1+rt+2+…)が最大となる行動at(状態価値関数を用いている場合には、もっとも価値の高い状態へ移るための行動、行動価値関数を用いている場合には該状態において最も価値の高い行動)を選択する。なお、エージェントの学習中には学習の進展を目的として(2)における行動の選択において一定の確率でランダムな行動を選択することもある(εグリーディ法)。
【0027】
このように、(1)〜(5)を繰り返すことで学習が進められる。ある環境において学習が終了した後に、新たな環境におかれた場合でも追加の学習を行うことでその環境に適応するように学習を進めることができる。したがって、本発明のように加工プログラムに基づくワークの加工におけるある時点での工作機械の各軸の速度(移動量)の決定に適用することで、新しい工作機械の制御に適用したりした場合であっても、過去のワークの加工におけるある時点での工作機械の各軸の速度(移動量)の学習に基づいて、新しい加工プログラムを新たな環境として追加の学習をすることで、ある時点での各軸の速度(移動量)の学習を短時間で行うことが可能となる。
【0028】
また、強化学習においては、複数のエージェントをネットワークなどを介して接続したシステムとし、エージェント間で状態s、行動a、報酬rなどの情報を共有してそれぞれの学習に利用することで、それぞれのエージェントが他のエージェントの環境も考慮して学習をする分散強化学習を行うことで効率的な学習を行うことができる。本発明においても、複数の環境(制御対象となる工作機械)を制御する複数のエージェント(機械学習器)がネットワークなどを介して接続された状態で分散機械学習を行うことで、工作機械での加工プログラムに基づくワークの加工におけるある時点での各軸の速度(移動量)の学習を効率的に行わせることができるようになる。
【0029】
なお、強化学習のアルゴリズムとしては、Q学習、SARSA法、TD学習、AC法など様々な手法が周知となっているが、本発明に適用する方法としていずれの強化学習アルゴリズムを採用してもよい。上記したそれぞれの強化学習アルゴリズムは周知なので、本明細書における各アルゴリズムの更なる詳細な説明は省略する。
以下では、機械学習器を導入した本発明の工作機械について、具体的な実施形態に基づいて説明する。
【0030】
<2.実施形態>
図3は、本発明の一実施形態における人工知能となる機械学習器を導入した工作機械におけるある時点での各軸の速度(移動量)の決定の機械学習に関するイメージを示す図である。なお、図3には本実施形態における工作機械での機械学習の説明に必要な構成のみを示している。
【0031】
本実施形態において、機械学習器20が環境(<1.機械学習>で説明した状態st)を特定するための情報として、工具の進行方向、工具経路からの逸脱量、現在の各軸速度、現在の各軸加速度などを機械学習器20に対して入力している。これら各値は、工作機械1の各部から取得されたデータ、および該データに基づいて動作評価部3により算出されたデータである。
図4は、本実施形態における工作機械1に係る各データについて説明する図である。本実施形態における工作機械1には、加工プログラムを解析して得られる指令経路が図示しないメモリに記憶されており、上記した入力データには、工作機械1から得られる時刻tにおける各軸の軸位置(xt,zt)、各軸の移動速度(δxt-1,δzt-1)、各軸の加速度(δxt-1−δxt-2,δzt-1−δzt-2)に加えて、各軸位置が指令経路から逸脱している距離dなどのように、上記各データに基づいて動作評価部3が算出したデータが含まれる。
なお、図4においては、X−Zの2次元座標系における各入力データの例を示したが、工作機械の各軸の数が3軸以上である場合には、軸数に合わせて入力データの次元数を適宜増やすことで対応できる。
【0032】
本実施形態では、機械学習器20が環境に対して出力するもの(<1.機械学習>で説明した行動at)として、次の瞬間(制御装置の制御周期における今周期)の各軸の移動量を出力データとしている。なお、本実施形態においては、ある周期において出力された各軸の移動量は、各軸を駆動するサーボモータで当該周期内に遅延無く消費(移動)されるものとする。そのため、以下では該移動量をそのまま工具の移動速度として扱う。
【0033】
また本実施形態では、機械学習器20に対して与えられる報酬(<1.機械学習>で説明した報酬rt)として、各軸の合成速度の向上(プラス報酬)、指令と反対方向への移動(マイナス報酬)、工具経路の逸脱(マイナス報酬)、最高速度の超過(マイナス報酬)などを採用する。報酬は、動作評価部3が入力データ、出力データ等に基づいて各報酬の達成度合いに基づいて算出する。なお、いずれのデータに基づいて報酬を決定するのかについては、工作機械1での加工プログラムによる加工内容に応じて操作者が適宜設定するようにしてもよく、例えば、穴あけ加工においては穴底未達をマイナス報酬として定義するようにしてもよい。
【0034】
更に、本実施形態では、機械学習器20は上記した入力データ、出力データ、報酬に基づいて機械学習を行う。機械学習においては、ある時刻tにおいて、入力データの組み合わせにより状態stが定義され、定義された状態stに対して行われる移動量の出力が行動atとなり、そして、行動atにより移動量の出力が行われた結果として新たに得られた入力データに基づいて評価計算された値が報酬rt+1となり、これを<1.機械学習>で説明したように、機械学習のアルゴリズムに応じた価値関数(評価関数)の更新式に当てはめることにより学習を進める。
【0035】
以下では、工作機械1の機能ブロック図に基づいて説明する。
図5は、本実施形態の工作機械の機能ブロック図である。本実施形態の工作機械1は、ワークの加工において各軸を駆動するためのサーボモータなどの駆動部(図示せず)、該サーボモータを制御するサーボ制御部(図示せず)などの工作機械が標準的に備える構成と周辺機器(図示せず)、該駆動部や該周辺機器を制御する数値制御部2、該駆動部や該周辺機器の動作や数値制御部2から取得された各データに基づいて工作機械の動作を評価する動作評価部3、および機械学習を行う人工知能となる機械学習器20を備える。図5に示した構成を、図2に示した強化学習における要素と対比すると、機械学習器20がエージェントに対応し、工作機械1が備える駆動部や周辺機器、数値制御部2などを含む全体が環境に対応する。なお、工作機械1は、上記した以外にも一般的な工作機械の構成を備えているものとし、本発明における機械学習の動作の説明に特段必要な構成以外は本明細書での詳細な説明を省略する。
【0036】
数値制御部2は、図示しないメモリから読み出された、または図示しない入力機器などを介して入力された加工プログラムを解析し、解析結果として得られた制御データに基づいて工作機械1の各部を制御する。数値制御部2は、通常は加工プログラムの解析結果に基づいた制御を行なうが、本実施形態においては、工作機械1の工具を駆動する各軸の制御については、機械学習器20から出力される各軸の移動量に従って行われる。
【0037】
動作評価部3は、数値制御部2から取得した工作機械1の各軸の軸位置、数値制御部2が解析した加工プログラムに指令された工具の指令経路や加工プログラムにより指令される工具の送り速度(最高速度)等に基づいて、各制御周期において機械学習器20から出力される工作機械の各軸の移動量を評価し、その評価結果を機械学習器20に通知する。動作評価部3による行動の評価は、機械学習器20の学習における報酬の計算に用いられる。
行動の評価の例として、工作機械1の各軸の移動量に基づく移動方向と工作機械1の各軸の軸位置から把握される工具の現在位置の近傍における加工プログラムにより指令される指令経路の移動方向との角度や、工具の現在位置と指令経路からの逸脱量、各軸の移動量に基づく移動速度と工具の現在位置の近傍における加工プログラムにより指令される最高速度との差分などが挙げられるが、機械学習器20から出力される行動の評価に良否を評価できるものであれば、どのようなものを評価に用いてもよい。
【0038】
機械学習を行う機械学習器20は、状態観測部21、状態データ記憶部22、報酬条件設定部23、報酬計算部24、移動量調整学習部25、学習結果記憶部26、移動量出力部27を備える。機械学習器20は、図に示すように工作機械1内に備えてもよいし、工作機械1外のパソコン等に備えるようにしてもよい。
【0039】
状態観測部21は、数値制御部2を介して工作機械1に関する物理量データを観測して機械学習器20内に取得すると共に、動作評価部3による動作の評価結果を機械学習器20内に取得する機能手段である。状態データとしては上記した各軸の軸位置や速度、加速度の他に、温度、電流、電圧、圧力、時間、トルク、力、消費電力、さらに各物理量を演算処理して算出した算出値などがある。また、動作評価部3による動作の評価結果としては、上記したように、指令経路と工具の移動方向との角度、工具の現在位置と工具経路との逸脱度合い、工具の移動速度と指令される最高速度との差分、などがある。
【0040】
状態データ記憶部22は状態データを入力して記憶し、記憶した該状態データを報酬計算部24や移動量調整学習部25に対して出力する機能手段である。入力される状態データは、最新の加工運転で取得したデータでも、過去の加工運転で取得したデータでも構わない。また、他の工作機械1や集中管理システム30に記憶された状態データを入力して記憶したり、出力したりすることも可能である。
【0041】
報酬条件設定部23は、操作者などにより設定された機械学習において報酬を与える条件を設定するための機能手段である。報酬にはプラスの報酬とマイナスの報酬があり、適宜設定が可能である。報酬条件設定部23への入力は集中管理システムで使用しているパソコンやタブレット端末等からでも構わないが、工作機械1が備える図示しないMDI機器を介して入力できるようにすることで、より簡便に設定することが可能となる。
報酬計算部24は、報酬条件設定部23で設定された条件に基づいて状態観測部21または状態データ記憶部22から入力された状態データを分析し、計算された報酬を移動量調整学習部25に出力する。
【0042】
以下に、本実施形態における報酬条件設定部23で設定する報酬条件の例を示す。
●[報酬1:各軸の合成速度の向上(プラス報酬,マイナス報酬)]
各軸の合成速度が過去における各軸の合成速度よりも向上した場合に、加工のサイクルタイムの向上につながるため、その度合いに応じてプラスの報酬を与える。
一方で、各軸の合成速度が指令により与えられた最高速度や、各軸の速度が工作機械1に設定された各軸の最高速度を超える場合には、工作機械1の故障などにつながるため、その度合いに応じてマイナスの報酬を与える。
【0043】
●[報酬2:指令と異なる方向への移動]
工作機械1の各軸の移動量に基づく移動方向と工作機械1の各軸の軸位置から把握される工具の現在位置の近傍における加工プログラムにより指令される指令経路の移動方向との角度に基づいて、移動方向が加工プログラムにより指令される指令経路と大きく異なる方向へ移動する場合には、その度合いに応じてマイナスの報酬を与える。マイナス報酬の例としては、工具の移動方向と指令経路の移動方向との為す角度が所定の角度(例えば±45度以内)よりも大きい場合に、その差分に所定の係数をかけた値をマイナスの報酬として与えるようにしてもよいし、単純に180度を超えた場合(指令経路の移動方向と反対方向)にマイナス報酬を与えるようにしてもよい。
【0044】
●[報酬3:工具経路の逸脱]
工具の現在位置が、加工プログラムにより指令される指令経路から逸脱した場合、その逸脱の度合に応じてマイナス報酬を与える。逸脱した度合は、工具の現在位置と、指令経路との距離量に応じてマイナス報酬を与えるようにしてもよい。
【0045】
移動量調整学習部25は、入力データなどを含む状態データと、自身が行った工作機械1の各軸の移動量の調整結果、および報酬計算部24で計算された報酬とに基づいて機械学習(強化学習)を行う。
【0046】
ここで、移動量調整学習部25が行う機械学習においては、ある時刻tにおける状態データの組み合わせにより状態stが定義され、定義された状態stに応じて各軸の移動量を決定することが行動atとなり、後述する移動量出力部27により決定された各軸の移動量が数値制御部2に出力され、数値制御部2により該決定された各軸の移動量に基づいて工作機械1の各軸の移動が行われた結果として得られたデータに基づいて報酬計算部24で計算された値が報酬rt+1となる。学習に用いられる価値関数については、適用する学習アルゴリズムに応じて決定する。例えば、Q学習を用いる場合には、上記した数2式に従って行動価値関数Q(st,at)を更新することにより学習を進めるようにすれば良い。
【0047】
図6のフローチャートを用いて、移動量調整学習部25が行う機械学習の流れを説明する。
●[ステップSA01]機械学習が開始されると、状態観測部21が工作機械1の加工状態に係るデータを取得する。
●[ステップSA02]移動量調整学習部25は、状態観測部21が取得した加工状態に係るデータに基づいて現在の状態Stを特定する。
【0048】
●[ステップSA03]移動量調整学習部25は、過去の学習結果とステップSA02で特定した状態Stに基づいて行動at(各軸の移動量の決定)を選択する。
●[ステップSA04]ステップSA03で選択された行動atを実行する。
【0049】
●[ステップSA05]状態観測部21が、工作機械1の状態を示す加工状態に係るデータを取得する。この段階においては、工作機械1の状態は時刻tから時刻t+1への時間的推移と共にステップSA04で実行された行動atによって変化している。
●[ステップSA06]ステップSA05で取得された評価結果のデータに基づいて、報酬計算部24が報酬rt+1を算出する。
●[ステップSA07]ステップSA02で特定された状態St、ステップSA03で選択された行動at、ステップSA06で算出された報酬rt+1に基づいて、移動量調整学習部25が機械学習を進め、ステップSA02へ戻る。
【0050】
図5に戻って、学習結果記憶部26は、前記移動量調整学習部25が学習した結果を記憶する。また、移動量調整学習部25が学習結果を再使用する際には、記憶している学習結果を移動量調整学習部25に出力する。学習結果の記憶には、上述したように、利用する機械学習アルゴリズムに応じた価値関数を、近似関数や、配列、又は多値出力のSVMやニューラルネットワーク等の教師あり学習器などにより記憶するようにすれば良い。
なお、学習結果記憶部26に、他の工作機械1や集中管理システム30が記憶している学習結果を入力して記憶させたり、学習結果記憶部26が記憶している学習結果を他の工作機械1や集中管理システム30に対して出力したりすることも可能である。
【0051】
移動量出力部27は、移動量調整学習部25が学習した結果と現在の状態データとに基づいて各軸の移動量を決定する。ここでいう各軸の移動量の決定が、機械学習に用いられる行動aに相当する。各軸の移動量の決定は、例えば、各軸正負方向の移動量を組み合わせたものを選択可能な行動(例えば、行動1:(X軸移動量、Z軸移動量)=(1,0)、行動2:(X軸移動量、Z軸移動量)=(2,0)、…、行動n:(X軸移動量,Z軸移動量)=(δxmax,δzmax))として用意しておき、過去の学習結果に基づいて将来に得られる報酬が最も大きくなる行動を選択するようにしてもよい。また、上記したεグリーディ法を採用し、所定の確率でランダムな行動を選択することで学習の進展を図るようにしてもよい。
その後、移動量出力部27は、決定された各軸の移動量を数値制御部2に対して出力する。そして、数値制御部2は移動量出力部27から出力された各軸の移動量に基づいて工作機械1の各軸を駆動する。
【0052】
そして、再び動作評価部3による各軸の駆動の結果の評価が行われ、該評価結果と現在の工作機械1の状況の取得が機械学習器20により行われ、入力された状態データを使用して学習を繰り返すことにより、より優れた学習結果を得ることができる。
このようにして機械学習器20が学習した結果、移動経路上の各位置における最適な移動速度の分布が確認された段階で機械学習器20による学習を完了させる。学習が完了した機械学習器20により出力される各軸の移動量(指令パルス)を工具経路1周分にわたって集めたデータが工具の移動データとなる。
【0053】
上記学習が完了した学習データを用いて実際に工作機械で加工する際には、機械学習器20は新たな学習を行なわないようにして学習完了時の学習データをそのまま使用して繰り返し運転をするようにしてもよい。
また、学習が完了した機械学習器20(または、他の機械学習器20の完了した学習データを学習結果記憶部26に複写した機械学習器20)を他の工作機械1に取付けて、学習完了時の学習データをそのまま使用して繰り返し運転をするようにしてもよい。
更に、学習が完了した機械学習器20の学習機能を有効にしたままで他の工作機械1に取付けて、ワークの加工を続けることで、工作機械毎に異なる個体差や経年変化などを更に学習させ、当該工作機械にとってより良い工具経路を探索しながら運転することも可能である。
【0054】
なお、上記したように工作機械の数値制御部2を用いて学習動作をする場合、数値制御部2は実際に工作機械1を動作させずに仮想的なワークの加工処理に基づいて学習するようにしてもよい。また、図7に示すように、別途工作機械の動作をシミュレーションするシミュレーション部5を備えたシミュレーション装置4に対して機械学習器20を組み込んで、該シミュレーション部5によるシミュレーションの結果に基づいて機械学習器20の学習動作を行わせるようにしてもよい。いずれの場合においても、学習初期の段階においては指令経路を大きく逸脱する移動量が出力されることが多いため、実際のワークの加工を伴わないようにすることが望ましい。
【0055】
また、工作機械1の機械学習器20は単独で機械学習をするようにしてもよいが、複数の工作機械1がそれぞれ外部との通信手段を更に備えると、それぞれの前記状態データ記憶部22が記憶した状態データや学習結果記憶部26が記憶した学習結果を送受信して共有することが可能となり、より効率良く機械学習を行うことができる。例えば、所定の範囲内で移動量を変動させて学習する際に、複数の工作機械1において異なる移動量を所定の範囲内でそれぞれ変動させて加工しながら、それぞれの工作機械1の間で状態データや学習データをやり取りすることにより並列して学習を進めるようにすることで効率的に学習させることができる。
このように複数の工作機械1間でやり取りする際には、通信は集中管理システム30等のホストコンピュータを経由しても、直接工作機械1同士が通信しても構わないし、クラウドを使用しても構わないが、大量のデータを取り扱う場合があるため、なるべく通信速度が速い通信手段が好ましい。
【0056】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【0057】
1 工作機械
2 数値制御部
3 動作評価部
4 シミュレーション装置
5 シミュレーション部
20 機械学習器
21 状態観測部
22 状態データ記憶部
23 報酬条件設定部
24 報酬計算部
25 移動量調整学習部
26 学習結果記憶部
27 移動量出力部
30 集中管理システム
【要約】
【課題】各軸の制御における最適な速度分布を生成する工作機械を提供すること。
【解決手段】本発明の工作機械1は、工作機械1の動作を評価する動作評価部3と、工作機械1の軸の移動量を機械学習する機械学習器20とを備え、機械学習器20は、工作機械1の状態データとを取得する状態観測部21と、状態データに基づいて報酬を計算する報酬計算部24と、軸の移動量の決定を機械学習する移動量調整学習部25と、機械学習結果に基づいて軸の移動量を決定して出力する移動量出力部27と、を有し、移動量調整学習部25は、決定された前記軸の移動量と、状態観測部21により取得された状態データと、報酬計算部24が計算した報酬と、に基づいて軸の移動量の決定を機械学習する。
【選択図】図5
図2
図5
図6
図7
図1
図3
図4
図8
図9