JP6584697B1 - 機械学習装置、数値制御加工プログラム生成装置および機械学習方法 - Google Patents

機械学習装置、数値制御加工プログラム生成装置および機械学習方法 Download PDF

Info

Publication number
JP6584697B1
JP6584697B1 JP2018558361A JP2018558361A JP6584697B1 JP 6584697 B1 JP6584697 B1 JP 6584697B1 JP 2018558361 A JP2018558361 A JP 2018558361A JP 2018558361 A JP2018558361 A JP 2018558361A JP 6584697 B1 JP6584697 B1 JP 6584697B1
Authority
JP
Japan
Prior art keywords
machining
machining program
knowledge
unit
turning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018558361A
Other languages
English (en)
Other versions
JPWO2020012581A1 (ja
Inventor
晋 松原
晋 松原
守昭 内田
守昭 内田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6584697B1 publication Critical patent/JP6584697B1/ja
Publication of JPWO2020012581A1 publication Critical patent/JPWO2020012581A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35216Program, generate nc program, code from cad data
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Computational Linguistics (AREA)
  • Medical Informatics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Numerical Control (AREA)

Abstract

機械学習装置(50)は、切削加工品の加工仕上がり形状の情報および素材の材質の情報を含む加工形状データと、被加工物から切削加工品を削り出すための複数の切削加工を含む数値制御加工プログラムを自動生成するための数値制御加工プログラムの生成方法と、数値制御加工プログラムの生成方法を参照して生成された第1数値制御加工プログラムに対する編集内容と、を状態変数として観測する状態観測部(51)と、状態変数に基づいて作成されるデータセットに従って、数値制御加工プログラムの生成方法を学習する学習部(52)と、を備える。

Description

本発明は、工作機械を数値制御するための数値制御加工プログラムの自動生成に用いられる数値制御加工プログラムの生成方法を学習する機械学習装置、数値制御加工プログラム生成装置および機械学習方法に関する。
近年、数値制御(Numerical Control:NC)工作機械の分野では、複雑且つ多彩な形状の工作物を自動加工できるようにするため、多種類の工具を刃物台に交換可能に装備して、旋削加工、穴あけ加工、フライス加工等の多様な加工工程を実施可能にする複合機械化が進められている。
特許文献1には、自動生成した加工プログラムに対してオペレータが修正した切削条件の修正内容を記憶部に記憶させて、他のオペレータが次に同様の加工プログラムを作成する際に、修正後の切削条件を再利用可能な数値制御加工プログラム作成装置が開示されている。
特開2002−132313号公報
しかしながら、上記特許文献1の数値制御加工プログラム作成装置では、再利用可能とされているのは、加工対象素材を回転させる主軸の回転数、回転工具と加工対象素材との間の相対的切削送り量および切り上げといった切削条件だけであり、加工順序および加工方法に関しては加工プログラムを自動生成することができなかった。
本発明は、上記に鑑みてなされたものであって、加工順序および加工方法のうち少なくとも一方に関して加工プログラムを自動生成可能とする、数値制御加工プログラムの生成方法を自動的に学習することができる機械学習装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明にかかる機械学習装置は、切削加工品の加工仕上がり形状の情報および素材の材質の情報を含む加工形状データと、被加工物から切削加工品を削り出すための複数の切削加工を含む数値制御加工プログラムを自動生成するための数値制御加工プログラムの生成方法と、数値制御加工プログラムの生成方法を参照して生成された第1数値制御加工プログラムに対する編集内容と、を状態変数として観測する状態観測部と、状態変数に基づいて作成されるデータセットに従って、数値制御加工プログラムの生成方法を学習する学習部と、を備える。学習部は、数値制御加工プログラムの生成方法に編集内容を反映させた反映数値制御加工プログラムの生成方法に基づいて報酬を計算する報酬計算部と、計算された報酬に基づいて、数値制御加工プログラムの生成方法を決定するための関数を更新する関数更新部と、を備える。
本発明によれば、加工順序および加工方法のうち少なくとも一方に関して加工プログラムを自動生成可能とする、数値制御加工プログラムの生成方法を自動的に学習することができる機械学習装置が得られる、という効果を奏する。
本発明の実施の形態1にかかる数値制御装置の構成例を示すブロック図 行動価値テーブルの概念を示す図 本発明の実施の形態1にかかる機械学習装置の関数更新部に加工ナレッジおよび反映加工ナレッジが記憶された状態の一例を示す図 本発明の実施の形態1における行動価値関数Q(s,a)の更新処理の手順を示すフローチャート 本発明の実施の形態1にかかるNC加工プログラム生成装置のNC加工プログラム生成部におけるNC加工プログラム生成処理の手順の詳細を示すフローチャート 本発明の実施の形態1におけるCAD(Computer−Aided Design)データで表される加工仕上がり形状の立体モデルの一例を示す斜視図 本発明の実施の形態1におけるCADデータで表される加工仕上がり形状を包含する素材形状の一例を示す斜視図 本発明の実施の形態1におけるCADデータで表される加工仕上がり形状と素材形状とから生成された加工除去形状の一例を示す斜視図 本発明の実施の形態1における素材形状、加工形状から生成された旋削断面形状および座標値を示す図 本発明の実施の形態1にかかる旋削端面工程の旋削断面形状を示す図 本発明の実施の形態1にかかる旋削ドリル工程の旋削断面形状を示す図 本発明の実施の形態1にかかる旋削棒材工程の旋削断面形状を示す図 本発明の実施の形態1にかかる旋削棒材工程の旋削断面形状を示す図 本発明の実施の形態1にかかる旋削端面工程の加工開始点と加工終了点との一例を示す図 本発明の実施の形態1にかかる旋削ドリル工程の加工開始点と加工終了点との一例を示す図 本発明の実施の形態1にかかる旋削棒材工程の切り込み点と加工開始点と加工終了点との一例を示す図 本発明の実施の形態1にかかる旋削棒材工程の切り込み点と加工開始点と加工終了点との一例を示す図 本発明の実施の形態1にかかる旋削ドリル工程の旋削断面形状を示す図 本発明の実施の形態1にかかる旋削端面工程の旋削断面形状を示す図 本発明の実施の形態1にかかる旋削棒材工程の旋削断面形状を示す図 本発明の実施の形態1にかかる旋削棒材工程の旋削断面形状を示す図 本発明の実施の形態1にかかる旋削ドリル工程の加工開始点と加工終了点との一例を示す図 本発明の実施の形態1にかかる旋削端面工程の加工開始点と加工終了点との一例を示す図 本発明の実施の形態1にかかる旋削棒材正面工程の切り込み点と加工開始点と加工終了点との一例を示す図 本発明の実施の形態1にかかる旋削棒材溝入れ工程の切り込み点と加工開始点と加工終了点との一例を示す図 本発明の実施の形態1にかかる機械学習装置が従うニューラルネットワークモデルの一例を示す模式図 本発明の実施の形態1にかかるNC加工プログラム生成装置のハードウェア構成を示す図
以下に、本発明の実施の形態にかかる機械学習装置、数値制御加工プログラム生成装置および機械学習方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明の実施の形態1にかかる数値制御装置1の構成例を示すブロック図である。図1に示すように、数値制御装置1は、対話操作処理部10と、表示部20と、指示入力部30と、NC加工プログラム生成装置40とを備える。NC加工プログラム生成装置40は、機械学習装置50を備える。機械学習装置50は、状態観測部51と、学習部52と、を備える。数値制御装置1は、不図示の数値制御工作機械に搭載され、または接続されて、NC加工プログラムにより数値制御工作機械の動作を数値制御する。
対話操作処理部10は、数値制御装置1と作業者との間のインタフェース部であるとともに、NC加工プログラム生成装置40と作業者との間のインタフェース部である。対話操作処理部10は、作業者が指示入力部30を介して入力した指示情報をNC加工プログラム生成装置40に送信する。また、対話操作処理部10は、作業者が指示入力部30を介して入力した指示情報を表示部20に表示する。
表示部20は、液晶モニタなどの表示端末であり、CADデータ100、NC加工プログラム、作業者が指示入力部30を介して入力した指示情報を表示する。また、表示部20は、数値制御装置1およびNC加工プログラム生成装置40で行われる処理に関する各種の情報を表示する。
指示入力部30は、マウスおよびキーボード等の入力機器を備えて構成され、作業者からの指示情報を受け付けて、対話操作処理部10に送信する。
NC加工プログラム生成装置40は、数値制御装置1の外部からNC加工プログラム生成装置40に入力されるCADデータ100で表される切削加工品の形状を切削加工により被加工物から削り出すために用いられるNC加工プログラムを生成する。NC加工プログラムは、不図示のNC工作機械を動作させるための数値加工プログラムである。また、数値制御装置1は、NC加工プログラムに従ってNC工作機械を制御し、被加工物を切削加工して切削加工品を作製する。
NC加工プログラム生成装置40は、加工形状データ入力部41と、加工形状データ記憶部42と、NC加工プログラム生成部43と、NC加工プログラム記憶部44と、NC加工プログラム編集部45と、意思決定部46と、を備える。NC加工プログラム生成装置40の各構成部は、互いに情報の送受信が可能とされている。
加工形状データ入力部41は、数値制御装置1の外部の外部装置からNC加工プログラム生成装置40に入力される加工形状データであるCADデータ100を受け付けて、加工形状データ記憶部42に送信する。加工形状データは、切削加工品の加工仕上がり形状の情報および素材の材質の情報を含む。加工仕上がり形状は、切削加工品を得るために切削加工により仕上げなければならない3次元形状である。素材は、CADデータ100で表される加工仕上がり形状が削り出される被加工物である。ただし、加工形状データはCADデータ100に限定されない。加工形状データは、NC加工プログラム生成装置40において解釈可能なデータであればよい。
加工形状データ記憶部42は、加工形状データ入力部41から送信された加工形状データを記憶する。
NC加工プログラム生成部43は、CADデータ100で表される加工仕上がり形状を素材から削り出すためのNC加工プログラムを生成する。詳細には、NC加工プログラム生成部43は、切削加工品の加工形状データに基づいて、意思決定部46を介して関数更新部54から取得した加工ナレッジまたは反映加工ナレッジを参照して複数の切削加工における加工順序と加工方法とを決定する。そして、NC加工プログラム生成部43は、決定した加工順序と加工方法に基づいて、被加工物から切削加工品を削り出すためのNC加工プログラムである第1NC加工プログラム111を生成する。また、NC加工プログラム生成部43は、加工形状データであるCADデータ100と、第1NC加工プログラム111の生成において参照した加工ナレッジと、第1NC加工プログラム111とを関連付けて、CADデータ100と、第1NC加工プログラム111と、加工ナレッジとをNC加工プログラム記憶部44に送信して記憶させる。
加工ナレッジは、CADデータ100で表される切削加工品の加工仕上がり形状を素材から削り出すためのNC加工プログラムをNC加工プログラム生成部43が自動生成する際に、素材から切削加工品を削り出すための複数の切削加工における素材の加工順序と素材の加工方法とのうち少なくとも一方を決定するために参照される決定条件であり、NC加工プログラムの生成方法を示す情報である。
具体的には、加工ナレッジは、素材から切削加工品を削り出すために除去する形状である加工除去形状の寸法に基づいて素材の加工順序と素材の加工方法とのうち少なくとも一方を指定する条件である。素材の加工順序は、素材から切削加工品を削り出すために複数の異なる切削加工が組み合わされる場合における切削加工の順序である。素材の加工方法は、加工方向を含む、切削加工法である。
後述するようにNC加工プログラム生成部43において自動生成された第1NC加工プログラム111を作業者が編集した場合に、編集内容が反映された新たな加工ナレッジである反映加工ナレッジが生成される。これにより、新たな加工ナレッジには、作業者の知識および経験が反映された編集内容が反映および蓄積される。このため、NC加工プログラム生成部43が、加工ナレッジを参照してNC加工プログラムを生成することにより、作業者自身がNC加工プログラムを作製した場合と同様の、作業者が所望するNC加工プログラムを迅速に自動生成することが可能となる。
NC加工プログラム記憶部44は、加工形状データであるCADデータ100と、NC加工プログラム生成部43において生成されたNC加工プログラムである第1NC加工プログラム111と、第1NC加工プログラム111の生成において参照した加工ナレッジとを、関連付けて記憶する。また、NC加工プログラム記憶部44は、NC加工プログラム編集部45において編集されたNC加工プログラムである第2NC加工プログラム112を記憶する。なお、第1NC加工プログラム111は、第2NC加工プログラム112によって更新されてもよい。
NC加工プログラム編集部45は、CADデータ100、第1NC加工プログラム111および第1NC加工プログラム111に関連付けられた加工ナレッジをNC加工プログラム記憶部44から読み込み、第1NC加工プログラム111を対話操作処理部10に送信する。NC加工プログラム編集部45は、第1NC加工プログラム111を作業者が指示入力部30から入力する編集指示情報に基づいて編集して、第2NC加工プログラム112を生成する。NC加工プログラム編集部45は、生成した第2NC加工プログラム112をNC加工プログラム記憶部44に送信して記憶させる。また、NC加工プログラム編集部45は、加工形状データであるCADデータ100と、第1NC加工プログラム111と、第1NC加工プログラム111に関連付けられた加工ナレッジと、第2NC加工プログラム112とを、後述する状態観測部51に送信する。
NC加工プログラム編集部45は、第1NC加工プログラム111の編集が行われていない場合には、すなわち、第2NC加工プログラム112が生成されない場合には、CADデータ100と、第1NC加工プログラム111と、第1NC加工プログラム111に関連付けられた加工ナレッジと、を状態観測部51に送信する。
意思決定部46は、NC加工プログラム生成部43からの要求に対応して、関数更新部54に記憶されている複数の異なる加工ナレッジを探索して、CADデータ100に対応する最も適切な加工ナレッジを決定して、取得する。CADデータ100に対応する最も適切な加工ナレッジは、関数更新部54に記憶されている、CADデータ100に対応する加工ナレッジのうち、第1NC加工プログラム111の生成後の第1NC加工プログラム111に対する編集が最も少ない加工ナレッジである。すなわち、CADデータ100に対応する最も適切な加工ナレッジは、CADデータ100に対応する加工ナレッジのうち、作業者の知識および経験がより適切に反映された加工ナレッジである。
意思決定部46は、関数更新部54に記憶されているCADデータ100に対応する複数の加工ナレッジの中から、行動価値Qの最も高い加工ナレッジを取得してNC加工プログラム生成部43に送信する。なお、意思決定部46は、CADデータ100に対応する加工ナレッジが1つしか関数更新部54に記憶されていない場合には、関数更新部54に記憶されている加工ナレッジを、CADデータ100に対応する最も適切な加工ナレッジと決定する。
加工ナレッジは、たとえば切削加工品と共通の管理番号を付与されることにより切削加工品と対応付けられる。また、加工ナレッジは、たとえばCADデータ100で表される加工仕上がり形状と素材の材質との組み合わせに対して対応付けられる。これにより、意思決定部46は、管理番号、または加工仕上がり形状の情報と素材の材質の情報とを探索条件として、NC加工プログラム生成部43から指定されたCADデータ100に対応する加工ナレッジを探し、さらにその中から行動価値Qの最も高い加工ナレッジを選択することができる。
状態観測部51および学習部52を備えた機械学習装置50が用いる学習アルゴリズムはどのようなものを用いてもよい。一例として、強化学習(Reinforcement Learning)を適用した場合について説明する。
強化学習は、ある環境内における行動主体であるエージェントが、現在の状態を観測し、取るべき行動を決定する、というものである。エージェントは、行動を選択することで環境から報酬を得て、一連の行動を通じて報酬が最も多く得られるような方策を学習する。強化学習の代表的な手法として、Q学習(Q−learning)またはTD学習(TD−learning)が知られている。例えば、Q学習の場合、行動価値関数Q(s,a)の一般的な更新式は、以下の数式(1)で表される。
Figure 0006584697
数式(1)において、sは、時刻tにおける状態を示す。aは、時刻tにおいて実行される行動である。st+1は時刻t+1における状態を示し、換言すれば、行動aを行った結果として変化した後の状態を示す。rt+1は、行動aの結果として変化する環境に応じて与えられる報酬を示す。すなわち、rt+1は、状態の変化によって与えられる報酬を表す。数式(1)において、「max」の項は、状態st+1における行動価値Qの最大値、すなわち、最良の行動at+1に対する行動価値を表している。γは、割引率であり、0<γ≦1の条件を満足するように設定される。γは、たとえば、0.9以上0.99以下とされる。αは、学習係数であり、0<α≦1の条件を満足するように設定される。αは、たとえば、0.05以上0.2以下とされる。
Q学習における数式(1)で表される更新式は、時刻t+1における最良の行動at+1の行動価値が、時刻tにおいて実行された行動aの行動価値Qよりも大きければ、時刻tの行動価値Qを大きくし、逆の場合は、時刻tの行動価値Qを小さくする。換言すれば、時刻tにおける行動aの行動価値Qを、時刻t+1における最良の行動価値に近づけるように、行動価値関数Q(s,a)を更新する。これにより、或る環境における最良の行動価値が、それ以前の環境における行動価値に順次伝播していくようになる。
すなわち、本実施の形態1にかかる機械学習装置50は、公知のQ学習の手法に従って強化学習を実行することができる。或る状態変数と行動aとの組み合わせに対して割当てられる行動価値Qは未知である。機械学習装置50は、種々の状態変数に対して行動aをランダムに選択して実行し、行動aの結果として与えられる報酬を積算することによって、行動価値関数Q(s,a)を更新する。なお、本実施の形態1にかかるNC加工プログラム生成装置40において、「行動a」は、加工ナレッジ、すなわちNC加工プログラムの生成方法を示す情報が対応する。また、「状態s」は、第1NC加工プログラム111に対する編集内容が対応する。
また、行動価値関数Q(s,a)は、行動価値テーブルとも呼ばれる。図2は、行動価値テーブルの概念を示す図である。行動価値テーブルは、任意の行動sと、その行動価値Qとが関連付けられてテーブルの形式で記憶されたデータセットである。Q学習におけるデータセットは、いわゆるQテーブルである。Qテーブルは、2次元の表で表すと、行方向が様々な状態s、列方向がとりうる行動aになり、各マスに行動aと状態sとの組み合わせの場合の評価値である行動価値Q、が格納される。ただし、Qテーブルで行動価値関数Q(s,a)を管理する場合には、保持できる状態sと行動aの数に限界があるため、状態sと行動aの数が多い場合には、テーブル形式を取らずに上記の数式(1)で行動価値Qが算出される。
本実施の形態1でQテーブルを採用する場合には、行動aに対応するNC加工プログラムの生成方法を示す情報である加工ナレッジと、状態sに対応する第1NC加工プログラム111に対する編集内容とが、加工形状データに関連付けられたQテーブルが、加工形状データ毎に記憶される。すなわち、本実施の形態1におけるデータセットは、加工形状データのデータと、NC加工プログラムの生成方法を示す情報である加工ナレッジのデータと、第1NC加工プログラム111に対する編集内容のデータと、のセットである。
数値制御装置1は、NC加工プログラムの生成方法を学習する機械学習機能を有している。すなわち、数値制御装置1は、NC加工プログラムの生成方法を学習する機械学習装置50を備えている。機械学習装置50は、状態観測部51と、学習部52と、を備える。学習部52は、状態変数に基づいて作成されるデータセットに従って、NC加工プログラムの生成方法を学習する。すなわち、学習部52は、状態変数に基づいて作成されるデータセットに従って加工形状データとNC加工プログラムの生成方法と第1NC加工プログラム111に対する編集内容との関係性を学習して、NC加工プログラムの生成方法を学習する。学習部52は、NC加工プログラム生成方法である加工ナレッジの学習にかかる報酬を計算する報酬計算部53と、NC加工プログラム生成方法である加工ナレッジの学習にかかる関数を更新して評価値である行動価値Qを定める関数更新部54とを備える。なお、機械学習装置50は、NC加工プログラム生成装置40に内蔵されていてもよく、またNC加工プログラム生成装置40と通信可能なクラウドサーバに存在してもよい。
状態観測部51は、加工形状データであるCADデータ100と、NC加工プログラム生成部43が第1NC加工プログラム111を生成する際に参照した数値制御加工プログラムの生成方法を示す情報である加工ナレッジと、第1NC加工プログラム111に対する編集内容と、を状態変数として観測する。すなわち、状態観測部51は、意思決定部46で決定される加工ナレッジと、NC加工プログラム編集部45において第2NC加工プログラム112の生成において行われた第1NC加工プログラム111に対する編集内容とを、加工形状データであるCADデータ100毎に観測する。
状態観測部51は、第1NC加工プログラム111に対する編集内容を、第1NC加工プログラム111の生成において参照した加工ナレッジに反映して反映加工ナレッジを作成する。反映加工ナレッジは、第1NC加工プログラム111に対する編集内容が、第1NC加工プログラム111の生成において参照した数値制御加工プログラムの生成方法に反映された反映数値制御加工プログラムの生成方法である。反映加工ナレッジには、第1NC加工プログラム111に関連付けられた加工ナレッジの報酬rが引き継がれる。状態観測部51は、第1NC加工プログラム111の生成において参照した加工ナレッジと、反映加工ナレッジと、を観測結果として報酬計算部53に送信する。
状態観測部51において反映加工ナレッジが生成される場合には、基の加工ナレッジに付与されている管理番号、または加工仕上がり形状の情報と素材の材質の情報とが、引き継がれて付与される。加工ナレッジに基づいて生成された反映加工ナレッジおよび加工ナレッジは、ともに1つの切削加工品の加工仕上がり形状と対応している。すなわち、反映加工ナレッジは、反映加工ナレッジが生成される基となっている加工ナレッジが対応している切削加工品の加工仕上がり形状に対応している。したがって、反映加工ナレッジは、生成される基となっている加工ナレッジに付与されている管理番号、または加工仕上がり形状の情報と素材の材質の情報とが、引き継がれて付与される。すなわち、反映加工ナレッジは、CADデータ100との関連付けが引き継がれて付与される。
状態観測部51は、CADデータ100と、第1NC加工プログラム111と、第1NC加工プログラム111に関連付けられた加工ナレッジと、第2NC加工プログラム112とがNC加工プログラム編集部45から送信された場合には、第1NC加工プログラム111に対する編集内容を抽出することができる。したがって、この場合には、CADデータ100についての第1NC加工プログラム111に対する編集内容が第1NC加工プログラム111の生成において参照した加工ナレッジに反映された、新たな加工ナレッジが、反映加工ナレッジとなる。
一方、CADデータ100と、第1NC加工プログラム111と、第1NC加工プログラム111に関連付けられた加工ナレッジとのみがNC加工プログラム編集部45から送信され、第2NC加工プログラム112が送信されていない場合には、第1NC加工プログラム111に対する編集内容が無い。この場合には、第1NC加工プログラム111の生成において参照した加工ナレッジ自体が反映加工ナレッジとなる。
したがって、加工形状データであるCADデータ100と、NC加工プログラム生成部43が第1NC加工プログラム111を生成する際に参照した数値制御加工プログラムの生成方法を示す情報である加工ナレッジと、第1NC加工プログラム111に対する編集内容とを状態変数として観測するとは、CADデータ100についての第1NC加工プログラム111に対する編集内容を抽出し、観測結果として、第1NC加工プログラム111の生成において参照した加工ナレッジと、反映加工ナレッジと、をCADデータ100毎に取得することを意味する。
学習部52は、加工形状データであるCADデータ100と、NC加工プログラム生成部43が第1NC加工プログラム111を生成する際に参照した数値制御加工プログラムの生成方法を示す情報である加工ナレッジと、第1NC加工プログラム111に対する編集内容とのデータセットに基づいて加工形状データとNC加工プログラムの生成方法と第1NC加工プログラム111に対する編集内容との関係性を学習して、NC加工プログラム生成方法を学習する。すなわち、学習部52は、状態観測部51で観測される状態変数に基づいて、加工ナレッジを学習する。一実施形態において、学習部52は、強化学習の概念に従って加工ナレッジを学習する。
報酬計算部53は、状態観測部51から送信される観測結果である反映加工ナレッジに基づいて、報酬rを計算する。より詳細には、報酬計算部53は、第1NC加工プログラム111の生成において参照した加工ナレッジと、反映加工ナレッジとに基づいて、反映加工ナレッジの報酬rを計算する。報酬計算部53は、報酬rを付与する報酬付与基準である、第1NC加工プログラム111の生成において参照した加工ナレッジと、反映加工ナレッジとの同一性に基づいて、反映加工ナレッジの報酬rを計算する。報酬計算部53は、計算した報酬rを、CADデータ100および反映加工ナレッジと関連付けて、CADデータ100および反映加工ナレッジとともに関数更新部54に送信する。
報酬計算部53は、第1NC加工プログラム111の生成において参照した加工ナレッジと、反映加工ナレッジとが同じである場合には、反映加工ナレッジの報酬rを増大させる。報酬計算部53は、第1NC加工プログラム111の生成において参照した加工ナレッジと、反映加工ナレッジとが同じである場合には、たとえば「正」の報酬rである「+1」の報酬rを反映加工ナレッジに与える。そして、反映加工ナレッジの報酬rは、生成された際に第1NC加工プログラム111の生成において参照した加工ナレッジから引き継がれている報酬rに、「+1」が加算される。これにより、反映加工ナレッジの報酬rは、第1NC加工プログラム111の生成において参照した加工ナレッジから引き継いだ報酬rよりも増大する。
報酬計算部53は、第1NC加工プログラム111の生成において参照した加工ナレッジと、反映加工ナレッジとが異なる場合には、第1NC加工プログラム111の生成において参照した加工ナレッジの報酬rを減少させる。報酬計算部53は、第1NC加工プログラム111の生成において参照した加工ナレッジと、反映加工ナレッジとが異なる場合には、たとえば「負」の報酬rである「−1」の報酬rを、第1NC加工プログラム111の生成において参照した加工ナレッジに与える。たとえば、旋削端面正面加工を旋削ドリル加工より先に行うように生成された第1NC加工プログラム111に対して、旋削ドリル加工を旋削端面正面加工より先に行うように編集が行われている場合には、報酬計算部53は、報酬rを低減し、たとえば「−1」の報酬rを、第1NC加工プログラム111の生成において参照した加工ナレッジに与える。そして、第1NC加工プログラム111の生成において参照した加工ナレッジの報酬rは、現在の報酬rに、「−1」が加算される。これにより、第1NC加工プログラム111の生成において参照した加工ナレッジの報酬rは、第1NC加工プログラム111の生成において参照されたときの報酬rよりも減少する。
また、報酬計算部53は、第1NC加工プログラム111の生成において参照した加工ナレッジと、反映加工ナレッジとが異なる場合には、上述したように、第1NC加工プログラム111の生成において参照した加工ナレッジの報酬rを減少させた後に、反映加工ナレッジの報酬rを増大させる。報酬計算部53は、第1NC加工プログラム111の生成において参照した加工ナレッジと、反映加工ナレッジとが異なる場合には、たとえば「正」の報酬rである「+1」の報酬rを反映加工ナレッジに与える。そして、反映加工ナレッジの報酬rは、生成された際に第1NC加工プログラム111の生成において参照した加工ナレッジから引き継がれている報酬rに、「+1」が加算される。これにより、反映加工ナレッジの報酬rは、第1NC加工プログラム111の生成において参照した加工ナレッジから引き継いだ報酬rよりも増大する。
報酬rの数値は、「+1」および「−1」に限定されない。また、第1NC加工プログラム111に対する編集内容によって、すなわち第1NC加工プログラム111の生成において参照した加工ナレッジから反映加工ナレッジへの編集内容によって、報酬rに差をつけてもよい。
関数更新部54は、報酬計算部53によって計算される反映加工ナレッジの報酬rに従って、NC加工プログラムの生成方法を決定するための関数を更新する。たとえば、関数更新部54は、行動価値関数Q(s,a)を更新して評価値である行動価値Qを定める。関数更新部54は、定められた行動価値Qを、反映加工ナレッジと関連付けて反映加工ナレッジとともに記憶する。これにより、関数更新部54には、最初に記憶されている加工ナレッジに加えて、反映加工ナレッジと、反映加工ナレッジに関連付けられた行動価値Qとが、第1NC加工プログラム111の生成において参照される加工ナレッジとして記憶されていく。図3は、本発明の実施の形態1にかかる機械学習装置50の関数更新部54に加工ナレッジおよび反映加工ナレッジが記憶された状態の一例を示す図である。図3では、加工ナレッジA121、加工ナレッジB122、加工ナレッジC123、反映加工ナレッジA131、反映加工ナレッジB132および反映加工ナレッジC133が記憶されている例を示している。なお、加工ナレッジと、反映加工ナレッジと、反映加工ナレッジに関連付けられた行動価値Qと、を記憶する加工ナレッジ記憶部を別途設けてもよい。
つぎに、行動価値関数Q(s,a)を更新する強化学習方法について説明する。図4は、本発明の実施の形態1における行動価値関数Q(s,a)の更新処理の手順を示すフローチャートである。
ステップST110において、NC加工プログラム生成部43が、加工形状データ記憶部42に記憶されているCADデータ100を読み込み、NC加工プログラム生成部43内の不図示の記憶部の形状記憶領域に格納する。
次に、ステップST120においてNC加工プログラム生成部43が、NC加工プログラムを生成するために、CADデータ100に対応する加工ナレッジを、意思決定部46を介して関数更新部54から取得する。意思決定部46は、機械学習装置50が学習した結果に基づいて加工ナレッジを決定する。すなわち、意思決定部46は、関数更新部54に記憶されている複数の加工ナレッジを探索して、NC加工プログラム生成部43からの要求に対応する複数の加工ナレッジの中から、行動価値Qの最も高い加工ナレッジを決定して取得し、NC加工プログラム生成部43に送信する。
NC加工プログラム生成部43に送信される加工ナレッジの一例を以下に示す。
(加工ナレッジA121)
素材材質:S45C
加工順序:端面取り代が20mm以上である場合は旋削ドリル工程を先に行い、その後に旋削端面工程を行う。端面取り代が前記条件以外の場合は、旋削端面工程を先に行い、その後に旋削ドリル工程を行う。
(加工ナレッジB122)
素材材質:S45C
加工部位:「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「1未満」の場合は加工部位を正面とする。「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「1以上」の場合は加工部位を外径とする。開放部は、旋削断面形状tにおいて素材の表面に露出している部位である。
(加工ナレッジC123)
素材材質:S45C
加工方法:旋削断面形状の縦方向の長さが10mm以下、且つ旋削断面形状の横方向の長さが10mm以下である場合は、旋削溝入れ工程を行う。旋削断面形状の縦方向の長さおよび横方向の長さが前記条件以外の場合は、旋削棒材工程を行う。
次に、ステップST130においてNC加工プログラム生成部43は、取得した加工ナレッジを参照してNC加工プログラムである第1NC加工プログラム111を生成する。
次に、ステップST140においてNC加工プログラム生成部43は、CADデータ100と第1NC加工プログラム111の生成において参照した加工ナレッジと第1NC加工プログラム111とを関連付けて、CADデータ100と第1NC加工プログラム111と加工ナレッジとをNC加工プログラム記憶部44に送信する。NC加工プログラム記憶部44は、CADデータ100と第1NC加工プログラム111と加工ナレッジとを記憶する。
次に、ステップST150においてNC加工プログラム編集部45が、CADデータ100と、第1NC加工プログラム111および第1NC加工プログラム111に関連付けられた加工ナレッジをNC加工プログラム記憶部44から読み込み、第1NC加工プログラム111を対話操作処理部10に送信する。対話操作処理部10は、NC加工プログラム編集部45から送信された第1NC加工プログラム111を表示部20に表示させて、作業者に第1NC加工プログラム111の確認を促す。
第1NC加工プログラム111が表示部20に表示されると、作業者が第1NC加工プログラム111を確認し、第1NC加工プログラム111の編集指示情報を指示入力部30に入力する。編集指示情報は、指示入力部30から対話操作処理部10を介してNC加工プログラム生成装置40のNC加工プログラム編集部45に送信される。
次に、ステップST160においてNC加工プログラム編集部45が、編集指示情報を受信し、編集指示情報に基づいて第1NC加工プログラム111を編集して、第2NC加工プログラム112を生成する。第2NC加工プログラム112は、第1NC加工プログラム111が編集指示情報に基づいて編集されたNC加工プログラムである。そして、NC加工プログラム編集部45は、CADデータ100と、第1NC加工プログラム111と、第1NC加工プログラム111に関連付けられた加工ナレッジと、第2NC加工プログラム112とを状態観測部51に送信する。
次に、ステップST170において状態観測部51は、NC加工プログラム編集部45から送信された第1NC加工プログラム111と第2NC加工プログラム112とを比較して、第1NC加工プログラム111に対する編集内容を取得する。これにより、状態観測部51は、状態変数として、加工形状データであるCADデータ100と、第1NC加工プログラム111に関連付けられた加工ナレッジと、第1NC加工プログラム111に対する編集内容とを取得する。
次に、ステップST180において状態観測部51は、第1NC加工プログラム111に対する編集内容を、第1NC加工プログラム111の生成において参照した加工ナレッジに反映して反映加工ナレッジを生成する。状態観測部51は、第1NC加工プログラム111に関連付けられた加工ナレッジと、反映加工ナレッジと、を観測結果として報酬計算部53に送信する。
次に、ステップST190において報酬計算部53は、第1NC加工プログラム111に関連付けられた加工ナレッジと、反映加工ナレッジとを比較し、両者が同じであるか否かを判定する。両者が同じである場合は、ステップST190においてYesとなり、ステップST200に進む。両者が異なる場合は、ステップST190においてNoとなり、ステップST210に進む。
ステップST200において報酬計算部53は、反映加工ナレッジの報酬rに対する行動価値Qが増大するように、反映加工ナレッジの報酬rを増大させる報酬rを計算し、第1NC加工プログラム111に関連付けられた加工ナレッジから引き継いだ反映加工ナレッジの報酬rに積算する。これにより、反映加工ナレッジの報酬rは、第1NC加工プログラム111に関連付けられた加工ナレッジから引き継いだ報酬rよりも増大する。これにより、反映加工ナレッジの行動価値Qが増大することになる。
第1NC加工プログラム111に関連付けられた加工ナレッジと、反映加工ナレッジとが同じである場合には、第1NC加工プログラム111に関連付けられた加工ナレッジ自体が反映加工ナレッジである。そして、反映加工ナレッジは、第1NC加工プログラム111に対する編集内容がされていないため、高品質な反映加工ナレッジとなっていると考えられる。すなわち、第1NC加工プログラム111に関連付けられた加工ナレッジが、高品質な加工ナレッジであると考えられる。
たとえば、反映加工ナレッジが以下に示すものである場合には、第1NC加工プログラム111に関連付けられた加工ナレッジと、反映加工ナレッジとは全て同じであるため、ステップST200において反映加工ナレッジの報酬rが増大する。反映加工ナレッジA121aは、加工ナレッジA121に基づいて生成された反映加工ナレッジである。反映加工ナレッジB121bは、加工ナレッジB122に基づいて生成された反映加工ナレッジである。反映加工ナレッジC121cは、加工ナレッジC123に基づいて生成された反映加工ナレッジである。
(反映加工ナレッジA121a)
素材材質:S45C
加工順序:端面取り代が20mm以上である場合は旋削ドリル工程を先に行い、その後に旋削端面工程を行う。端面取り代が前記条件以外の場合は、旋削端面工程を先に行い、その後に旋削ドリル工程を行う。
(反映加工ナレッジB121b)
素材材質:S45C
加工部位:「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「1未満」の場合は加工部位を正面とする。「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「1以上」の場合は加工部位を外径とする。開放部は、旋削断面形状tにおいて素材の表面に露出している部位である。
(反映加工ナレッジC121c)
素材材質:S45C
加工方法:旋削断面形状の縦方向の長さが10mm以下、且つ旋削断面形状の横方向の長さが10mm以下である場合は、旋削溝入れ工程を行う。旋削断面形状の縦方向の長さおよび横方向の長さが前記条件以外の場合は、旋削棒材工程を行う。
一方、ステップST210において報酬計算部53は、加工ナレッジの報酬rに対する行動価値Qが減少するように、加工ナレッジの報酬rを減少させる報酬rを計算し、加工ナレッジの報酬rに積算する。これにより、加工ナレッジの報酬rは、第1NC加工プログラム111の生成において参照されたときの報酬rよりも減少する。これにより、加工ナレッジの行動価値Qが減少することになる。
たとえば、反映加工ナレッジが以下に示すものである場合には、第1NC加工プログラム111に関連付けられた加工ナレッジと、反映加工ナレッジとは全て異なるため、ステップST210において加工ナレッジの報酬rが減少する。反映加工ナレッジA131は、加工ナレッジA121に基づいて生成された反映加工ナレッジである。反映加工ナレッジB132は、加工ナレッジB122に基づいて生成された反映加工ナレッジである。反映加工ナレッジC133は、加工ナレッジC123に基づいて生成された反映加工ナレッジである。
(反映加工ナレッジA131)
素材材質:S45C
加工順序:端面取り代が「10mm以上」である場合は旋削ドリルを先に行い、その後に旋削端面工程を行う。端面取り代が前記条件以外の場合は、旋削端面工程を先に行い、その後に旋削ドリル工程を行う。
(反映加工ナレッジB132)
素材材質:S45C
加工部位:「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「1.0以下」の場合は加工部位を正面とする。「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「1.0より大」の場合は加工部位を外径とする。
(反映加工ナレッジC133)
素材材質:S45C
加工方法:旋削断面形状の縦方向の長さが10mm以下、且つ旋削断面形状の横方向の長さが「20mm以下」である場合は、旋削溝入れ工程を行う。旋削断面形状の縦方向の長さおよび横方向の長さが前記条件以外の場合は、旋削棒材工程を行う。
第1NC加工プログラム111に関連付けられた加工ナレッジと、反映加工ナレッジとが異なる場合には、第1NC加工プログラム111に対する編集内容がされている。このため、第1NC加工プログラム111に関連付けられた加工ナレッジは、反映加工ナレッジよりも品質が低い加工ナレッジとなっていると考えられる。
一方、反映加工ナレッジは、第1NC加工プログラム111に関連付けられた加工ナレッジよりも高品質な加工ナレッジとなっていると考えられる。そこで、報酬計算部53は、ステップST210の後にステップST200において反映加工ナレッジの報酬rに対する行動価値Qが増大するように、反映加工ナレッジの報酬rを増大させる報酬rを計算し、第1NC加工プログラム111に関連付けられた加工ナレッジから引き継いだ反映加工ナレッジの報酬rに積算する。これにより、反映加工ナレッジの報酬rは、第1NC加工プログラム111に関連付けられた加工ナレッジから引き継いだ報酬rよりも増大する。これにより、反映加工ナレッジの行動価値Qが増大することになる。
次に、ステップST220において関数更新部54は、ステップST200またはステップST210で計算された反映加工ナレッジの報酬rに基づいて、行動価値関数Q(s,a)を更新して、第1NC加工プログラム111に関連付けられた加工ナレッジおよび反映加工ナレッジの評価値である行動価値Qを定める。関数更新部54は、反映加工ナレッジについて定められた行動価値Qを、反映加工ナレッジと関連付けて反映加工ナレッジとともに、加工ナレッジとして記憶する。
また、関数更新部54は、第1NC加工プログラム111に関連付けられた加工ナレッジについて定められた行動価値Qを、この加工ナレッジと関連付けて加工ナレッジとともに、加工ナレッジとして記憶する。この場合、関数更新部54には、第1NC加工プログラム111に関連付けられた加工ナレッジと、ステップST220で行動価値Qを定めた加工ナレッジと、ステップST220で行動価値Qを定めた反映加工ナレッジとが、各々の行動価値Qが異なる状態で、CADデータ100に対応する加工ナレッジとして記憶されることになる。これにより、意思決定部46は、CADデータ100に対応する加工ナレッジを決定する際に、作業者の知識および経験が適切に反映された最も適切な加工ナレッジとして、相対的に行動価値Qの高い加工ナレッジである反映加工ナレッジを決定することができる。
なお、この場合は、ステップST220で行動価値Qを定めた第1NC加工プログラム111に関連付けられた加工ナレッジで、関数更新部54に記憶されており第1NC加工プログラム111の生成において参照された加工ナレッジを更新してもよい。
その後、新たに読み込まれたCADデータ100に対応してステップST110からステップST220の処理が繰り返し実行される。そして、新たに反映加工ナレッジが生成される際には、基となる加工ナレッジの管理番号、加工仕上がり形状の情報および素材の材質の情報、報酬rといった付随情報が引き継がれる。
なお、ステップST110からステップST220の処理が繰り返される場合に、意思決定部46で決定された反映加工ナレッジは、上述したステップST120における加工ナレッジに対応する。
また、ステップST200およびステップST220の処理において、品質の高い反映加工ナレッジは行動価値Qが増大した状態で関数更新部54に記憶される。このため、ステップST210を省略することも可能である。
次に、NC加工プログラム生成部43におけるNC加工プログラム生成処理の詳細について図5を参照して詳細に説明する。図5は、本発明の実施の形態1にかかるNC加工プログラム生成装置40のNC加工プログラム生成部43におけるNC加工プログラム生成処理の手順の詳細を示すフローチャートである。図6は、本発明の実施の形態1におけるCADデータ100で表される加工仕上がり形状の立体モデルの一例を示す斜視図である。図7は、本発明の実施の形態1におけるCADデータ100で表される加工仕上がり形状を包含する素材形状の一例を示す斜視図である。図8は、本発明の実施の形態1におけるCADデータ100で表される加工仕上がり形状と素材形状とから生成された加工除去形状の一例を示す斜視図である。図9は、本発明の実施の形態1における素材形状S、加工形状から生成された旋削断面形状および座標値を示す図である。以下では、素材を回転させながら削る旋削加工に関するNC加工プログラムを作成する場合について説明する。
NC加工プログラム生成処理では、ステップST310においてNC加工プログラム生成部43が、加工形状データ記憶部42に記憶されているCADデータ100を読み込み、図6に示すようにCADデータ100で表される3次元の加工仕上がり形状を生成して、プログラム座標系の加工原点であるプログラム原点に配置する。プログラム座標系においては、XYZ軸のうち、Z軸を、旋削加工を行う際の中心軸である旋削軸SGとする。
NC加工プログラム生成部43は、加工仕上がり形状をプログラム原点に配置する際、加工仕上がり形状のうち、直径が最大となる円筒面の回転軸または円錐面の回転軸がZ軸に一致するように、加工仕上がり形状を移動および回転させて配置する。また、加工仕上がり形状のZ軸方向の端面がプログラム原点に一致するように移動する。すなわち、NC加工プログラム生成部43は、CADデータ100から旋削軸SGと回転中心軸を同一とする円柱面または円錐面を旋削端面として抽出する。したがって、NC加工プログラム生成部43は、CADデータ100から、旋削軸を回転中心軸とする3次元の加工仕上がり形状を生成する。
次に、ステップST320においてNC加工プログラム生成部43は、図7に示すように、プログラム原点に配置された加工仕上がり形状を包含する3次元の円柱形状を生成する。そして、NC加工プログラム生成部43は、生成した円柱形状を素材形状として、加工仕上がり形状と同様にプログラム座標系に配置する。素材形状は、加工仕上がり形状を旋削加工により削り出す素材の形状である。すなわち、NC加工プログラム生成部43は、CADデータ100から生成した加工仕上がり形状を基に、3次元の素材形状を生成する。
加工仕上がり形状を包含する円柱形状の寸法は、加工仕上がり形状におけるX軸方向、Y軸方向およびZ軸方向における各々の最大値と最小値とから求めることができる。ただし、素材形状は、旋削端面加工を行うため、加工仕上がり形状に合わせて、Z軸方向の寸法が加工仕上がり形状よりも2mmから3mmずつ大きい寸法とされる。また、素材形状のZ軸方向の端面は、プログラム原点から2mmから3mmだけ加工仕上がり形状から離間する方向にはみ出した位置に配置される。ここでは、素材形状は、素材外径を150mm、素材長さを120mm、素材材質をS45Cとする。
次に、ステップST330においてNC加工プログラム生成部43は、図8に示すように、素材形状から旋削加工により除去する形状である加工除去形状を、加工仕上がり形状と素材形状とから生成する。図8においては、加工仕上がり形状を破線で示している。加工除去形状は、素材形状のソリッドモデルから加工仕上がり形状のソリッドモデルを引き去る差演算により求めることができる。
次に、ステップST340において、NC加工プログラム生成部43は、図9に示すように、加工除去形状の断面形状である旋削断面形状tを生成する。旋削断面形状tは、図9に示すように、加工除去形状をXZ平面のうち+Xの領域のみに限定した+XZ平面に投影して得られる1/2旋削断面形状である。旋削断面形状tは、XZ平面からなる断面モデルと加工形状からなるソリッドモデルとの積演算により断面形状を求め、X≧0の領域として範囲を限定することにより、求めることができる。これにより、図9に示すように、旋削断面形状tである旋削断面形状t1および旋削断面形状t2が生成される。
次に、ステップST350においてNC加工プログラム生成部43が、CADデータ100に対応する加工ナレッジを、意思決定部46を介して関数更新部54から取得し、参照する。NC加工プログラム生成部43は、たとえば関数更新部54に記憶されている、上述した加工ナレッジA121、加工ナレッジB122および加工ナレッジC123を取得して参照する。
NC加工プログラム生成部43は、たとえばCADデータ100と加工ナレッジとに共通に付与された管理番号をCADデータ100から取得して意思決定部46に送信する。これにより、意思決定部46は、管理番号を探索条件として、NC加工プログラム生成部43から指定された所望の加工ナレッジを探索することができる。
ここで、旋削端面工程とは、素材端面の突き出し部を、旋削端面工具で削り落とす旋削端面加工を行う工程である。旋削ドリル工程とは、素材における半径方向の中心領域に旋削ドリルで中心軸に沿った穴をあける旋削ドリル加工を行う工程である。旋削棒材工程とは、旋削工具で丸棒素材の外周、内周、正面または背面を旋削する旋削棒材加工を行う工程である。旋削溝入れ工程とは、丸棒素材の外周、内周、正面または背面に、旋削溝入れ工具で溝加工を行う旋削溝入れ加工を行う工程である。端面取り代は、旋削端面加工での削り代である。
次に、ステップST360においてNC加工プログラム生成部43は、取得した加工ナレッジA121、加工ナレッジB122および加工ナレッジC123に従って加工除去形状の旋削断面形状tを複数の異なる加工工程毎に分割して、旋削加工形状を生成する。旋削加工形状は、複数の異なる加工工程により素材から加工仕上がり形状を削り出す場合の各加工工程における旋削断面形状tである。
以下、旋削断面形状tの分割手順について具体的に説明する。図10は、本発明の実施の形態1にかかる旋削端面工程の旋削断面形状SH1を示す図である。図11は、本発明の実施の形態1にかかる旋削ドリル工程の旋削断面形状SH2を示す図である。図12は、本発明の実施の形態1にかかる旋削棒材工程の旋削断面形状SH3を示す図である。図13は、本発明の実施の形態1にかかる旋削棒材工程の旋削断面形状SH4を示す図である。
NC加工プログラム生成部43は、旋削断面形状t1から端面取り代:10mmの情報を取得する。そして、NC加工プログラム生成部43は、加工ナレッジA121を参照し、端面取り代が20mm以上でないことから旋削端面工程を先に行うと判定して、図10に示すように旋削断面形状t1から旋削端面工程の旋削断面形状SH1を分割する。
次に、NC加工プログラム生成部43は、加工ナレッジA121を参照し、旋削端面工程の後に旋削ドリル工程を行うと判定して、図11に示すように旋削断面形状t1から旋削ドリル工程の旋削断面形状SH2を分割する。
次に、NC加工プログラム生成部43は、図12に示すように旋削断面形状t1から旋削棒材工程の旋削断面形状SH3を分割する。次に、NC加工プログラム生成部43は、図13に示すように旋削断面形状t2を旋削棒材工程の旋削断面形状SH4として分割する。
次に、ステップST370においてNC加工プログラム生成部43は、分割した加工形状である旋削断面形状に、加工ナレッジA121、加工ナレッジB122および加工ナレッジC123に従って旋削加工工程を割り当て、旋削加工工程を生成する。図14は、本発明の実施の形態1にかかる旋削端面工程の加工開始点と加工終了点との一例を示す図である。図15は、本発明の実施の形態1にかかる旋削ドリル工程の加工開始点と加工終了点との一例を示す図である。図16は、本発明の実施の形態1にかかる旋削棒材工程の切り込み点と加工開始点と加工終了点との一例を示す図である。図17は、本発明の実施の形態1にかかる旋削棒材工程の切り込み点と加工開始点と加工終了点との一例を示す図である。
NC加工プログラム生成部43は、旋削端面工程の旋削断面形状SH1から、図14に示すように旋削端面工程の加工開始点P1の座標値と加工終了点P2の座標値とを取得し、旋削端面工程である旋削端面工程LC1を生成する。
次に、NC加工プログラム生成部43は、旋削ドリル工程の旋削断面形状SH2から、図15に示すように旋削ドリル加工で加工する孔の孔径と加工開始点P3の座標値と加工終了点P4の座標値とを取得し、旋削ドリル工程である旋削ドリル工程LC2を生成する。
次に、NC加工プログラム生成部43は、旋削棒材工程の旋削断面形状SH3から、図16に示すように開放部形状の縦方向の長さ:30mmの情報と、開放部形状の横方向の長さ:30mmの情報とを取得する。そして、NC加工プログラム生成部43は、加工ナレッジB122を参照して、「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「1.0」であることから、旋削棒材工程の加工部位を外径と判定する。次に、NC加工プログラム生成部43は、旋削棒材工程の旋削断面形状SH3から、旋削断面形状SH3の切り込み点P5の座標値と加工開始点P6の座標値と加工終了点P7の座標値とを取得し、加工部位が外径とされた旋削棒材工程である旋削棒材外径工程LC3を生成する。
次に、NC加工プログラム生成部43は、旋削棒材工程の旋削断面形状SH4から、図17に示すように旋削断面形状SH4の縦方向の長さ:10mmの情報、旋削断面形状SH4の横方向の長さ:20mmの情報を取得する。そして、NC加工プログラム生成部43は、加工ナレッジC123を参照して、旋削断面形状SH4の縦方向の長さが10mm以下であり、旋削断面形状SH4の横方向の長さが10mm以下ではないことから、旋削棒材工程を行うと判定する。
次に、NC加工プログラム生成部43は、旋削棒材工程の旋削断面形状SH4から、開放部形状の縦方向長さ:10mmの情報、開放部形状の横方向長さ:20mmの情報を取得する。そして、NC加工プログラム生成部43は、加工ナレッジB122を参照して、「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「2.0」であり「1.0未満」でないことから、加工部位を外径と判定する。次に、NC加工プログラム生成部43は、旋削棒材工程の旋削断面形状SH4から、旋削断面形状SH4の切り込み点P8と加工開始点P9と加工終了点P10の座標値を取得して、加工部位が外径とされた旋削棒材工程である旋削棒材外径工程LC4を生成する。
以下に、NC加工プログラム生成部43において生成された旋削加工工程の内容を示す。
・旋削端面工程LC1:加工開始点P1(75,−10)、加工終了点P2(0,0)
・旋削ドリル工程LC2:孔径30mm、加工開始点P3(0,0)、加工終了点P4(0,110)
・旋削棒材外径工程LC3:切り込み点P5(75,0)、加工開始点P6(45,0)、加工終了点P7(45,30)
・旋削棒材外径工程LC4:切り込み点P8(75,60)、加工開始点P9(65,60)、加工終了点P10(65,80)
上述した処理が行われることにより、NC加工プログラム生成部43は、加工ナレッジA121、加工ナレッジB122、および加工ナレッジC123を参照して、素材から加工仕上がり形状を削り出すための複数の異なる旋削加工工程を自動で生成することができる。そして、作業者の知識および経験が反映された編集内容が反映および蓄積されている加工ナレッジを参照して旋削加工工程を自動で生成することにより、作業者自身がNC加工プログラムを作製した場合と同様の、作業者が所望する旋削加工工程を自動で生成することができる。
そして、本実施の形態1にかかる機械学習装置50による上記学習行動は、NC加工プログラムが生成されるたびに継続的に行われる。したがって、本実施の形態1にかかるNC加工プログラム生成装置40では、切削加工品の加工仕上がり形状の情報および素材の材質の情報を含むCADデータ100に対応する、NC加工プログラムの生成方法である加工ナレッジの自律的な学習が継続的に行われる。すなわち、機械学習装置50を備えたNC加工プログラム生成装置40は、NC加工プログラム生成部43で生成されたNC加工プログラムがNC加工プログラム編集部45で編集された編集内容に基づいて、作業者の知識および経験が反映された加工効率が良い加工ナレッジを継続的に、自律的に学習する。
次に、状態観測部51が、第1NC加工プログラム111に対する編集内容を、第1NC加工プログラム111の生成において参照した加工ナレッジに反映して反映加工ナレッジを作成する反映加工ナレッジの生成処理の詳細について説明する。まず、作業者が入力した編集指示情報に従って、旋削端面工程LC1を旋削ドリル工程LC2の後に行うように第1NC加工プログラム111が編集された場合について説明する。状態観測部51は、NC加工プログラム編集部45から送信された第2NC加工プログラム112の旋削端面工程LC1の旋削断面形状SH1から端面取り代:10mmの情報を取得する。
ここで、加工ナレッジA121の条件とは異なり、端面取り代:10mmの条件において、旋削ドリル工程を先に行うように第1NC加工プログラム111が編集されて第2NC加工プログラム112が生成されている。そこで、状態観測部51は、第1NC加工プログラム111に対する編集内容を反映させて加工ナレッジA121を以下の条件に変更した反映加工ナレッジA131を生成する。
(反映加工ナレッジA131)
素材材質:S45C
加工順序:端面取り代が「10mm以上」である場合は旋削ドリルを先に行い、その後に旋削端面工程を行う。端面取り代が前記条件以外の場合は、旋削端面工程を先に行い、その後に旋削ドリル工程を行う。
次に、作業者が入力した編集指示情報に従って、旋削棒材外径工程LC3の加工部位を外径から正面に変更して旋削棒材外径工程LC3を旋削棒材正面工程LC31に変更するように第1NC加工プログラム111が編集された場合について説明する。状態観測部51は、NC加工プログラム編集部45から送信された第2NC加工プログラム112の旋削棒材外径工程LC3の旋削断面形状SH3から、開放部形状の縦方向の長さ:30mmの情報、開放部形状の横方向の長さ:30mmの情報を取得する。
ここで、加工ナレッジB122の条件とは異なり、「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「1.0」の条件において、加工部位を正面に変更するように第1NC加工プログラム111が編集されて第2NC加工プログラム112が生成されている。そこで、状態観測部51は、第1NC加工プログラム111に対する編集内容を反映させて加工ナレッジB122を以下の条件に変更した反映加工ナレッジB132を生成する。
(反映加工ナレッジB132)
素材材質:S45C
加工部位:「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「1.0以下」の場合は加工部位を正面とする。「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「1.0より大」の場合は加工部位を外径とする。
次に、作業者が入力した編集指示情報に従って、旋削棒材外径工程LC4を旋削溝入れ工程LC41に変更するように第1NC加工プログラム111が編集された場合について説明する。状態観測部51は、NC加工プログラム編集部45から送信された第2NC加工プログラム112の旋削棒材外径工程LC4の旋削断面形状SH4から、旋削断面形状SH4の縦方向の長さ:10mmの情報、旋削断面形状SH4の横方向の長さ:20mmの情報を取得する。
ここで、加工ナレッジC123の条件とは異なり、「旋削断面形状SH4の縦方向の長さが10mmであり、旋削断面形状SH4の横方向の長さが20mm」の条件において、旋削溝入れ工程LC41を行うように第1NC加工プログラム111が編集されて第2NC加工プログラム112が生成されている。そこで、状態観測部51は、第1NC加工プログラム111に対する編集内容を反映させて加工ナレッジC123を以下の条件に変更した反映加工ナレッジC133を生成する。
(反映加工ナレッジC133)
素材材質:S45C
加工方法:旋削断面形状の縦方向の長さが「10mm以下」、且つ旋削断面形状の横方向の長さが「20mm以下」である場合は、旋削溝入れ工程を行う。旋削断面形状の縦方向の長さおよび横方向の長さが前記条件以外の場合は、旋削棒材工程を行う。
次に、NC加工プログラム生成部43が反映加工ナレッジA131、反映加工ナレッジB132および反映加工ナレッジC133を参照してNC加工プログラムを生成する場合の旋削断面形状tの分割手順について具体的に説明する。図18は、本発明の実施の形態1にかかる旋削ドリル工程の旋削断面形状SH5を示す図である。図19は、本発明の実施の形態1にかかる旋削端面工程の旋削断面形状SH6を示す図である。図20は、本発明の実施の形態1にかかる旋削棒材工程の旋削断面形状SH7を示す図である。図21は、本発明の実施の形態1にかかる旋削棒材工程の旋削断面形状SH8を示す図である。
NC加工プログラム生成部43は、素材形状から素材長さ:120mmの情報および素材外径:150mmの情報を取得し、旋削断面形状t1から端面取り代:10mmの情報を取得する。そして、NC加工プログラム生成部43は、反映加工ナレッジA131を参照し、端面取り代が10mm以上であることから旋削ドリル工程を先に行うと判定して、図18に示すように旋削断面形状t1から旋削ドリル工程の旋削断面形状SH5を分割する。
次に、NC加工プログラム生成部43は、反映加工ナレッジA131を参照し、旋削ドリル工程の後に旋削端面工程を行うと判定して、図19に示すように旋削断面形状t1から旋削端面工程の旋削断面形状SH6を分割する。
次に、NC加工プログラム生成部43は、図20に示すように旋削断面形状t1から旋削棒材工程の旋削断面形状SH7を分割する。次に、NC加工プログラム生成部43は、図21に示すように旋削断面形状t2を旋削棒材工程の旋削断面形状SH8として分割する。
次に、NC加工プログラム生成部43が反映加工ナレッジA131、反映加工ナレッジB132および反映加工ナレッジC133を参照してNC加工プログラムを生成する場合の旋削加工工程の割り当て手順について具体的に説明する。図22は、本発明の実施の形態1にかかる旋削ドリル工程の加工開始点と加工終了点との一例を示す図である。図23は、本発明の実施の形態1にかかる旋削端面工程の加工開始点と加工終了点との一例を示す図である。図24は、本発明の実施の形態1にかかる旋削棒材正面工程の切り込み点と加工開始点と加工終了点との一例を示す図である。図25は、本発明の実施の形態1にかかる旋削棒材溝入れ工程の切り込み点と加工開始点と加工終了点との一例を示す図である。
NC加工プログラム生成部43は、旋削ドリル工程の旋削断面形状SH5から、図22に示すように旋削ドリル加工で加工する孔の孔径と加工開始点P11の座標値と加工終了点P12の座標値とを取得し、旋削ドリル工程である旋削ドリル工程LC11を生成する。
次に、NC加工プログラム生成部43は、旋削端面工程の旋削断面形状SH6から、図23に示すように旋削端面工程の加工開始点P13の座標値と加工終了点P14の座標値とを取得し、旋削端面工程である旋削端面工程LC12を生成する。
次に、NC加工プログラム生成部43は、旋削棒材工程の旋削断面形状SH7から、図24に示すように開放部形状の縦方向の長さ:30mmの情報と、開放部形状の横方向の長さ:30mmの情報とを取得する。そして、NC加工プログラム生成部43は、反映加工ナレッジB132を参照して、「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「1.0」であり「1.0以下」であることから、旋削棒材工程の加工部位を正面と判定する。次に、NC加工プログラム生成部43は、旋削棒材工程の旋削断面形状SH7から、旋削断面形状SH7の切り込み点P15の座標値と加工開始点P16の座標値と加工終了点P17の座標値とを取得し、加工部位が正面とされた旋削棒材工程である旋削棒材正面工程LC3を生成する。
次に、NC加工プログラム生成部43は、旋削棒材工程の旋削断面形状SH8から、図25に示すように旋削断面形状SH8の縦方向の長さ:10mmの情報、旋削断面形状SH8の横方向の長さ:20mmの情報を取得する。そして、NC加工プログラム生成部43は、反映加工ナレッジC133を参照して、旋削断面形状SH4の縦方向の長さが10mm以下であり、かつ旋削断面形状SH4の横方向の長さが20mm以下であることから、旋削溝入れ工程を行うと判定する。
次に、NC加工プログラム生成部43は、旋削棒材工程の旋削断面形状SH8から、開放部形状の縦方向長さ:10mmの情報、開放部形状の横方向長さ:20mmの情報を取得する。NC加工プログラム生成部43は、開放部形状の縦方向長さ:10mmの情報から溝深さ:10mmの情報を取得し、開放部形状の横方向長さ:20mmの情報から溝幅:20mmの情報を取得する。そして、NC加工プログラム生成部43は、旋削棒材工程の旋削断面形状SH8から、加工開始点P18の座標値を取得して、旋削溝入れ工程LC14を生成する。
以下に、反映加工ナレッジA131、反映加工ナレッジB132および反映加工ナレッジC133を参照してNC加工プログラム生成部43において生成された旋削加工工程の内容を示す。
・旋削ドリル工程LC11:孔径30mm、加工開始点P11(0,−10)、加工終了点P12(0,110)
・旋削端面工程LC12:加工開始点P13(75,−10)、加工終了点P14(15,0)
・旋削棒材正面工程LC13:切り込み点P15(75,0)、加工開始点P16(75,30)、加工終了点P17(45,30)
・旋削溝入れ工程LC14:溝幅20mm、溝深さ10mm、加工開始点P18(75,60)
上述した処理が行われることにより、NC加工プログラム生成部43は、反映加工ナレッジA131、反映加工ナレッジB132および反映加工ナレッジC133を参照して、素材から加工仕上がり形状を削り出すための複数の異なる旋削加工工程を自動で生成することができる。そして、作業者の知識および経験が反映された編集内容が反映および蓄積されている反映加工ナレッジを参照して旋削加工工程を自動で生成することにより、作業者自身がNC加工プログラムを作製した場合と同様の、作業者が所望する旋削加工工程を自動で生成することができる。
意思決定部46は、機械学習装置50が学習した結果を利用して、NC加工プログラム生成部43からの要求に対応する加工ナレッジまたは反映加工ナレッジを決定する。ところで、いったんNC加工プログラムが生成された後に、NC加工プログラム生成部43でNC加工プログラムを編集することがある。本実施の形態にかかる機械学習装置50は、反映加工ナレッジを既に学習しているので、意思決定部46は、NC加工プログラム生成部43からの要求に対応する最も適切な反映加工ナレッジを、関数更新部54に記憶されている加工ナレッジから必要に応じて決定することができる。
さらに、機械学習装置50は、素材の材質とCADデータ100と加工ナレッジとの関連性を学習することができる。したがって、素材の材質とCADデータ100とに起因してNC加工プログラムを編集することが推測される場合には、意思決定部46が決定する加工ナレッジまたは反映加工ナレッジを切り替えるように構成されてもよい。
なお、反映加工ナレッジは、CADデータ100自体を関連付けて記憶されてもよい。たとえば、CADデータ100が、反映加工ナレッジA131に関連付けられて、加工ナレッジA121とともに関数更新部54に記憶される。
また、反映加工ナレッジは、CADデータ100に付随する情報を関連付けて記憶させてもよい。たとえば、CADデータ100に付随する情報が、反映加工ナレッジA131に関連付けられて、反映加工ナレッジA131とともに記憶される。CADデータ100に付随する情報の例は、CADデータの画像、CADデータの一部などである。なお、CADデータ100に付随する情報は、切削加工品の加工仕上がり形状の情報と被加工物の材質の情報との組み合わせに付随する情報、と換言できる。
これにより、意思決定部46は、関数更新部54に記憶されている複数の加工ナレッジから、CADデータ100またはCADデータ100に付随する情報を探索条件として、所望の反映加工ナレッジを探索して取得することが可能となる。
また、加工ナレッジおよび反映加工ナレッジは、NC加工プログラムが実行されることにより制御されるNC工作機械毎に分けて記憶されてもよい。複数台のNC工作機械が使用される場合には、たとえば異なる機種のNC工作機械が使用されている、同じ機種のNC工作機械が使用されていてもNC工作機械毎に異なるオプション機能が追加されているなどの理由により、NC工作機械毎に機能が異なることが多い。この場合には、加工ナレッジにもNC工作機械毎に適した条件が存在する。
このため、NC工作機械毎に分けて加工ナレッジおよび反映加工ナレッジを記憶することで、NC工作機械毎に適した作業者の知識および経験が反映された編集内容が反映加工ナレッジに反映されて蓄積される。そして、NC加工プログラム生成部43が、NC工作機械毎に分けて管理された加工ナレッジまたは反映加工ナレッジを参照してNC加工プログラムを生成することにより、作業者自身がNC加工プログラムを作製した場合と同様の、作業者が所望するNC工作機械毎に適したNC加工プログラムを迅速に自動生成することが可能である。
また、加工ナレッジおよび反映加工ナレッジをネットワークサーバー上に設けた記憶部に記憶させる構成とすることも可能である。
本実施の形態1かかる機械学習装置50の変形例として、機械学習装置50は、ニューラルネットワークモデルに従って機械学習を実行してもよい。図26は、本発明の実施の形態1にかかる機械学習装置50が従うニューラルネットワークモデルの一例を示す模式図である。ニューラルネットワークは、たとえばl個の入力ニューロンを含む入力層と、m個のニューロンを含む中間層と、n個の出力ニューロンを含む出力層と、から構成される。図26では、4個の入力ニューロンを含む入力層と、5個のニューロンを含む中間層と、1個の出力ニューロンを含む出力層と、から構成されるニューラルネットワークモデルの例を示している。なお、図26において、中間層は、1層のみ示されているものの、2層以上の中間層が設けられてもよい。
ニューラルネットワークは人間の成功体験又は失敗体験に基づいて最適な行動を感覚的に学習するように、状態変数と環境変化との関係性を学習する。ニューラルネットワークは、状態観測部51によって観測される状態変数に基づいて作成されるデータセットに従って状態変数と環境変化との関係性を学習する。すなわち、ニューラルネットワークは、いわゆる教師あり学習によって、状態変数と環境変化との関係性を学習する。この場合、機械学習装置50は、ニューラルネットワークの入力層に入力される加工形状データと、NC加工プログラムの生成経緯に応答して、出力層が、加工形状データに対応する加工ナレッジであって、作業者の知識および経験がより適切に反映された加工ナレッジを出力する。そして、意思決定部46は、最適なNC加工プログラム生成方法を決定するように機能する。すなわち、機械学習装置50は、ニューラルネットワークモデルに従った場合でも、加工形状データとNC加工プログラムの生成方法と第1NC加工プログラム111に対する編集内容との関係性を学習して、NC加工プログラムの生成方法を学習することが可能である。
なお、上記においては、機械学習装置50が強化学習またはニューラルネットワークを利用して機械学習する実施の形態について説明したが、機械学習装置50は、他の公知の方法、例えば遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
また、学習部52の学習の一実施の形態として、学習部52が、他の数値制御装置で使用されるNC加工プログラムに適用される加工ナレッジを学習することも可能である。すなわち、学習部52は、ある加工形状データについて、他の数値制御装置に対して生成されるNC加工プログラムの生成に用いられる加工ナレッジおよびNC加工プログラムに対する編集内容に基づいて、他の数値制御装置で使用されるNC加工プログラムに適用される加工ナレッジを学習するように構成されてもよい。学習部52は、同一の現場で稼働する他の数値制御装置で使用されるNC加工プログラムに適用される加工ナレッジを学習してもよく、異なる現場で独立して稼働する他の数値制御装置で使用されるNC加工プログラムに適用される加工ナレッジを学習してもよい。
図27は、本発明の実施の形態1にかかるNC加工プログラム生成装置40のハードウェア構成を示す図である。図27に示したハードウェアは、演算処理を行うプロセッサ201と、プロセッサ201がワークエリアに用いるメモリ202と、数値制御装置またはプログラム変換装置として動作するためのプログラムを記憶する記憶装置203と、作業者との間の入力インタフェースである入力装置204と、作業者に情報を表示する表示装置205と、被制御機器または他の数値制御装置、その他の各種装置との通信機能を有する通信装置206と、を備える。プロセッサ201、メモリ202、記憶装置203、入力装置204、表示装置205および通信装置206はデータバス207で接続されている。ここで、プロセッサ201は、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、CPU(Central Processing Unit)、またはDSP(Digital Signal Processor)などであってもよい。また、メモリ202は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、またはEEPROM(登録商標)(Electrically EPROM)などの、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、またはDVD(Digital Versatile Disc)などが該当する。
NC加工プログラム生成部43は、例えば、図27に示すメモリ202に記憶されたプログラムをプロセッサ201が実行することにより、実現される。また、複数のプロセッサおよび複数のメモリが連携して上記機能を実現してもよい。また、NC加工プログラム生成部43の機能のうちの一部を電子回路として実装し、他の部分をプロセッサ201およびメモリ202を用いて実現するようにしてもよい。
また、加工形状データ入力部41とNC加工プログラム編集部45と意思決定部46と状態観測部51と報酬計算部53と関数更新部54とを、同様にメモリ202に記憶されたプログラムをプロセッサ201が実行することにより、実現されるように構成してもよい。また、複数のプロセッサおよび複数のメモリが連携して上記機能を実現してもよい。また、加工形状データ入力部41とNC加工プログラム編集部45と意思決定部46と状態観測部51と報酬計算部53と関数更新部54との機能のうちの一部を電子回路として実装し、他の部分をプロセッサ201およびメモリ202を用いて実現するようにしてもよい。また、加工形状データ入力部41とNC加工プログラム編集部45と意思決定部46と状態観測部51と報酬計算部53と関数更新部54との機能を実現するためのプロセッサおよびメモリは、NC加工プログラム生成部43を実現するプロセッサおよびメモリと同一であってもよいし、別のプロセッサおよびメモリであってもよい。
上述した本実施の形態1にかかるNC加工プログラム生成装置40は、加工形状データであるCADデータ100を基にして、作業者の知識および経験が反映された編集内容が反映および蓄積されている加工ナレッジを参照して旋削加工工程を自動で生成することにより、作業者自身がNC加工プログラムを作製した場合と同様の、作業者が所望する旋削加工工程を自動で生成することができる。
また、本実施の形態1にかかる機械学習装置50を備えたNC加工プログラム生成装置40では、切削加工品の加工仕上がり形状の情報および素材の材質の情報を含むCADデータ100に対応する、NC加工プログラムの生成方法である加工ナレッジを自律的に学習する。すなわち、機械学習装置50を備えたNC加工プログラム生成装置40は、NC加工プログラム生成部43で生成されたNC加工プログラムがNC加工プログラム編集部45で編集された編集内容に基づいて、作業者の知識および経験が反映された加工効率が良い加工ナレッジを自律的に学習する。これにより、意思決定部46は、CADデータ100が再度、NC加工プログラム生成装置40に入力された際に、関数更新部54に記憶されている加工ナレッジの中から、CADデータ100に対応する、行動価値Qが最も高く加工効率が最も良い加工ナレッジを学習結果に基づいて決定することが可能である。
したがって、本実施の形態1にかかるNC加工プログラム生成装置40では、熟練者の知識またはノウハウの蓄積が無くても、作業者が所望する旋削加工工程に近い、加工効率が良く高品質なNC加工プログラムの自動生成が可能になる。そして、作業者が試行錯誤してNC加工プログラムを生成する必要が無いので、NC加工プログラム作成の作業効率が向上する。これにより、本実施の形態1にかかるNC加工プログラム生成装置40では、NC加工プログラムの自動生成にかかる時間の短縮効果、および被加工物の加工時間の短縮効果が得られる。
また、本実施の形態1にかかるNC加工プログラム生成装置40は、ユーザのNC加工プログラム編集内容を学習して加工ナレッジに反映するので、次のNCプログロム生成時にユーザのNC加工プログラム編集作業を減らすことができる。
以上、本発明の種々の実施の形態について説明したが、当業者であれば、他の実施の形態によっても本発明の意図する作用効果を実現できることを認識するであろう。特に、本発明の範囲を逸脱することなく、前述した実施の形態1の構成要素を削除または置換することができるし、或いは公知の手段をさらに付加することができる。また、本明細書において明示的または暗示的に開示される実施の形態の特徴を任意に組み合せることによっても本発明を実施できることは当業者に自明である。すなわち、以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
1 数値制御装置、10 対話操作処理部、20 表示部、30 指示入力部、40 NC加工プログラム生成装置、41 加工形状データ入力部、42 加工形状データ記憶部、43 NC加工プログラム生成部、44 NC加工プログラム記憶部、45 NC加工プログラム編集部、46 意思決定部、50 機械学習装置、51 状態観測部、52 学習部、53 報酬計算部、54 関数更新部、100 CADデータ、111 第1NC加工プログラム、112 第2NC加工プログラム、121 加工ナレッジA、122 加工ナレッジB、123 加工ナレッジC、131 反映加工ナレッジA、132 反映加工ナレッジB、133 反映加工ナレッジC、201 プロセッサ、202 メモリ、203 記憶装置、204 入力装置、205 表示装置、206 通信装置、207 データバス。

Claims (4)

  1. 切削加工品の加工仕上がり形状の情報および素材の材質の情報を含む加工形状データと、被加工物から前記切削加工品を削り出すための複数の切削加工を含む数値制御加工プログラムを自動生成するための数値制御加工プログラムの生成方法と、前記数値制御加工プログラムの生成方法を参照して生成された第1数値制御加工プログラムに対する編集内容と、を状態変数として観測する状態観測部と、
    前記状態変数に基づいて作成されるデータセットに従って、前記数値制御加工プログラムの生成方法を学習する学習部と、
    を備え、
    前記学習部が、
    前記数値制御加工プログラムの生成方法に前記編集内容を反映させた反映数値制御加工プログラムの生成方法に基づいて報酬を計算する報酬計算部と、
    計算された前記報酬に基づいて、前記数値制御加工プログラムの生成方法を決定するための関数を更新する関数更新部と、
    を備えること、
    を特徴とする機械学習装置。
  2. 前記報酬計算部は、
    前記数値制御加工プログラムの生成方法と前記反映数値制御加工プログラムの生成方法とが同じ場合には前記反映数値制御加工プログラムの生成方法の報酬を増大し、前記数値制御加工プログラムの生成方法と前記反映数値制御加工プログラムの生成方法とが異なる場合には前記数値制御加工プログラムの生成方法の報酬を低減するとともに前記反映数値制御加工プログラムの生成方法の報酬を増大するように構成されること、
    を特徴とする請求項に記載の機械学習装置。
  3. 請求項1または2に記載の機械学習装置と、
    前記機械学習装置が学習した結果に基づいて決定される前記数値制御加工プログラムの生成方法を参照して前記第1数値制御加工プログラムを生成する数値制御加工プログラム生成部と、
    前記第1数値制御加工プログラムを編集して第2数値制御加工プログラムを生成する数値制御加工プログラム編集部と、
    前記機械学習装置の前記学習部が学習した結果に基づいて、前記加工形状データに対応する数値制御加工プログラムの生成方法を決定する意思決定部と、
    を備えることを特徴とする数値制御加工プログラム生成装置。
  4. 被加工物から切削加工品を削り出すための複数の切削加工を含む数値制御加工プログラムを生成する数値制御加工プログラム生成装置における前記数値制御加工プログラムの自動生成に用いられる数値制御加工プログラムの生成方法を機械学習装置が学習する機械学習方法であって、
    前記機械学習装置の状態観測部が、前記切削加工品の加工仕上がり形状の情報および素材の材質の情報を含む加工形状データと、前記数値制御加工プログラムの生成方法と、前記数値制御加工プログラムの生成方法を参照して前記数値制御加工プログラム生成装置が生成した第1数値制御加工プログラムに対する編集内容と、を状態変数として観測するステップと、
    前記機械学習装置の関数更新部が、前記状態変数に基づいて作成されるデータセットに従って、前記数値制御加工プログラムの生成方法に前記編集内容が反映された反映数値制御加工プログラムの生成方法に基づいて計算された報酬に基づいて、前記数値制御加工プログラムの生成方法を決定するための関数を更新することによって、前記数値制御加工プログラムの生成方法を自律的に学習するステップと、
    を含むことを特徴とする機械学習方法。
JP2018558361A 2018-07-11 2018-07-11 機械学習装置、数値制御加工プログラム生成装置および機械学習方法 Active JP6584697B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/026204 WO2020012581A1 (ja) 2018-07-11 2018-07-11 機械学習装置、数値制御加工プログラム生成装置および機械学習方法

Publications (2)

Publication Number Publication Date
JP6584697B1 true JP6584697B1 (ja) 2019-10-02
JPWO2020012581A1 JPWO2020012581A1 (ja) 2020-07-27

Family

ID=68095337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018558361A Active JP6584697B1 (ja) 2018-07-11 2018-07-11 機械学習装置、数値制御加工プログラム生成装置および機械学習方法

Country Status (4)

Country Link
JP (1) JP6584697B1 (ja)
CN (1) CN112384867B (ja)
DE (1) DE112018007741B4 (ja)
WO (1) WO2020012581A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021074816A (ja) * 2019-11-07 2021-05-20 キヤノン株式会社 工具条件決定装置、学習装置、および方法
JP7548690B2 (ja) 2019-10-07 2024-09-10 ファナック株式会社 加工プログラム作成装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112021007563T5 (de) * 2021-10-04 2024-02-29 Mitsubishi Electric Corporation Maschinenbearbeitungsprogramm-Erzeugungsgerät und Maschinenbearbeitungsprogramm-Erzeugungsverfahren
CN115981236B (zh) * 2023-03-20 2023-05-30 山东山森数控技术有限公司 一种数控车床车削过程能耗预测方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63131205A (ja) * 1986-11-21 1988-06-03 Hitachi Seiko Ltd Nc放電加工機用加工条件設定装置
JPH05168B2 (ja) * 1985-01-24 1993-01-05 Yamazaki Mach Works
JPH1058280A (ja) * 1996-08-16 1998-03-03 Hitachi Ltd 加工工程設計システム
JP2002132313A (ja) * 2000-10-26 2002-05-10 Citizen Watch Co Ltd 自動プログラミング方法及び自動プログラミング装置
JP2017045300A (ja) * 2015-08-27 2017-03-02 ファナック株式会社 びびり或いは工具摩耗/破損の発生を抑制する加工条件調整機能を有する数値制御装置
JP2017045323A (ja) * 2015-08-27 2017-03-02 ファナック株式会社 メニューを備える数値制御装置
JP2018041208A (ja) * 2016-09-06 2018-03-15 ファナック株式会社 数値制御装置
JP2018065211A (ja) * 2016-10-18 2018-04-26 ファナック株式会社 工作機械の加工プログラムの設定値を学習する機械学習装置および加工システム
JP2018106417A (ja) * 2016-12-26 2018-07-05 ファナック株式会社 数値制御装置及び機械学習装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4738585B2 (ja) * 2000-10-26 2011-08-03 シチズンホールディングス株式会社 加工プログラムのグラフ表示方法及びそのための装置
CN102081376A (zh) * 2011-02-25 2011-06-01 武汉华中数控股份有限公司 一种基于指令序列优化的加工负荷控制系统
JP6055058B1 (ja) * 2015-09-30 2016-12-27 ファナック株式会社 機械学習器及び組み立て・試験器を備えた生産設備
JP2017138881A (ja) * 2016-02-05 2017-08-10 ファナック株式会社 操作メニューの表示を学習する機械学習器,数値制御装置,工作機械システム,製造システムおよび機械学習方法
JP6453805B2 (ja) * 2016-04-25 2019-01-16 ファナック株式会社 製品の異常に関連する変数の判定値を設定する生産システム
TWI588633B (zh) * 2016-05-13 2017-06-21 捷準科技股份有限公司 產生g代碼檔案儲存及執行加工的電腦數控工具機
JP6496274B2 (ja) * 2016-05-27 2019-04-03 ファナック株式会社 寿命故障条件を学習する機械学習装置,故障予知装置,機械システムおよび機械学習方法
CN106527347B (zh) * 2016-10-28 2018-11-16 哈尔滨工业大学深圳研究生院 一种数控机床自学习修正误差系统及方法
JP6386520B2 (ja) * 2016-12-13 2018-09-05 ファナック株式会社 数値制御装置及び機械学習装置
JP6457473B2 (ja) * 2016-12-16 2019-01-23 ファナック株式会社 ロボットおよびレーザスキャナの動作を学習する機械学習装置,ロボットシステムおよび機械学習方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05168B2 (ja) * 1985-01-24 1993-01-05 Yamazaki Mach Works
JPS63131205A (ja) * 1986-11-21 1988-06-03 Hitachi Seiko Ltd Nc放電加工機用加工条件設定装置
JPH1058280A (ja) * 1996-08-16 1998-03-03 Hitachi Ltd 加工工程設計システム
JP2002132313A (ja) * 2000-10-26 2002-05-10 Citizen Watch Co Ltd 自動プログラミング方法及び自動プログラミング装置
JP2017045300A (ja) * 2015-08-27 2017-03-02 ファナック株式会社 びびり或いは工具摩耗/破損の発生を抑制する加工条件調整機能を有する数値制御装置
JP2017045323A (ja) * 2015-08-27 2017-03-02 ファナック株式会社 メニューを備える数値制御装置
JP2018041208A (ja) * 2016-09-06 2018-03-15 ファナック株式会社 数値制御装置
JP2018065211A (ja) * 2016-10-18 2018-04-26 ファナック株式会社 工作機械の加工プログラムの設定値を学習する機械学習装置および加工システム
JP2018106417A (ja) * 2016-12-26 2018-07-05 ファナック株式会社 数値制御装置及び機械学習装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7548690B2 (ja) 2019-10-07 2024-09-10 ファナック株式会社 加工プログラム作成装置
JP2021074816A (ja) * 2019-11-07 2021-05-20 キヤノン株式会社 工具条件決定装置、学習装置、および方法
JP7171538B2 (ja) 2019-11-07 2022-11-15 キヤノン株式会社 工具条件決定装置、学習装置、および方法

Also Published As

Publication number Publication date
CN112384867A (zh) 2021-02-19
JPWO2020012581A1 (ja) 2020-07-27
CN112384867B (zh) 2021-10-29
WO2020012581A1 (ja) 2020-01-16
DE112018007741T5 (de) 2021-03-18
DE112018007741B4 (de) 2024-02-01

Similar Documents

Publication Publication Date Title
JP6584697B1 (ja) 機械学習装置、数値制御加工プログラム生成装置および機械学習方法
JP6599069B1 (ja) 機械学習装置、加工プログラム生成装置および機械学習方法
CN112424710B (zh) 用于加工复合几何特征的策略的选择
JP5163814B2 (ja) 自動プログラミング装置および方法
JP2017030067A (ja) 加工時間測定機能とオンマシン測定機能を有する制御装置付き加工装置
JP7101131B2 (ja) 数値制御システム
JP5131385B2 (ja) 自動プログラミング装置および方法
JP5271549B2 (ja) 可動工具の制御方法、入力装置及び工作機械
JP6811908B1 (ja) 数値制御装置、機械学習装置および数値制御方法
US20180314227A1 (en) Method and control apparatus for optimized control of a machine tool
JP6185408B2 (ja) Ncプログラム生成、編集装置
CN105051630A (zh) 数控装置
JPWO2014068667A1 (ja) 加工プログラム作成方法および装置
JP6740483B1 (ja) 数値制御装置および数値制御方法
JP2020027410A (ja) 加工経路生成装置及び数値制御装置
JP6196708B2 (ja) 加工プログラム作成方法および装置
JP6980151B1 (ja) 加工プログラム生成装置、加工プログラム生成方法および機械学習方法
US10877457B2 (en) Method for providing a travel profile, control device, machine, and computer program
JP2016134078A (ja) スカイビング加工指令に基づいて工作機械を制御する数値制御装置
JP2009266000A (ja) 加工制御装置
Osman Zahid et al. End mill tools integration in CNC machining for rapid manufacturing processes: simulation studies
WO2019220575A1 (ja) 数値制御加工プログラム生成装置および数値制御加工プログラムの生成方法
JP2007061934A (ja) 加工工具の移動経路作成方法および加工方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181106

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20181106

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20181203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190520

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190903

R150 Certificate of patent or registration of utility model

Ref document number: 6584697

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250