JP2019145086A - 制御装置、機械学習装置及びシステム - Google Patents

制御装置、機械学習装置及びシステム Download PDF

Info

Publication number
JP2019145086A
JP2019145086A JP2018242793A JP2018242793A JP2019145086A JP 2019145086 A JP2019145086 A JP 2019145086A JP 2018242793 A JP2018242793 A JP 2018242793A JP 2018242793 A JP2018242793 A JP 2018242793A JP 2019145086 A JP2019145086 A JP 2019145086A
Authority
JP
Japan
Prior art keywords
cutting
learning
unit
machining
control device
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.)
Granted
Application number
JP2018242793A
Other languages
English (en)
Other versions
JP6781242B2 (ja
Inventor
小川 賢一
Kenichi Ogawa
賢一 小川
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Priority to US16/276,829 priority Critical patent/US11059142B2/en
Priority to DE102019001177.5A priority patent/DE102019001177B4/de
Priority to CN201910122356.5A priority patent/CN110174871B/zh
Publication of JP2019145086A publication Critical patent/JP2019145086A/ja
Application granted granted Critical
Publication of JP6781242B2 publication Critical patent/JP6781242B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q15/00Automatic control or regulation of feed movement, cutting velocity or position of tool or work
    • B23Q15/007Automatic control or regulation of feed movement, cutting velocity or position of tool or work while the tool acts upon the workpiece
    • B23Q15/12Adaptive control, i.e. adjusting itself to have a performance which is optimum according to a preassigned criterion
    • 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
    • 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/406Numerical 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 monitoring or safety
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/005Manipulators for mechanical processing tasks
    • B25J11/0055Cutting
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • 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/49Nc machine tool, till multiple
    • G05B2219/49037Electro rheological fluid to build support for overhanging parts, particle jet
    • 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/49Nc machine tool, till multiple
    • G05B2219/49061Calculate optimum operating, machining conditions and adjust, adapt them
    • 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/49Nc machine tool, till multiple
    • G05B2219/49127Variable clamping force as function of movement, force on workpiece
    • 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/49Nc machine tool, till multiple
    • G05B2219/49225Adapt machining conditions as function of workpiece cutting resistance
    • 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/49Nc machine tool, till multiple
    • G05B2219/49307Learn, learn operational zone, feed, speed to avoid tool breakage

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Numerical Control (AREA)

Abstract

【課題】高価な設備を用いることなく、クランプ力の変化に対応することが可能な制御装置、機械学習装置及びシステムを提供すること。【解決手段】本発明の制御装置1は、切削加工の加工条件を示す加工条件データ、切削加工中のスピンドルトルクを示すスピンドルトルクデータ、及びワークに加わる切削力に対する切削抵抗の切削分力方向情報を示す切削分力方向データを、環境の現在状態を表す状態変数として観測し、該状態変数に基づいて、加工治具のクランプ力で押さえることが可能な範囲の切削力をワークに加える切削加工の加工条件をモデル化した学習モデルを用いた学習乃至意思決定をする機械学習装置100を備える。【選択図】図2

Description

本発明は、制御装置、機械学習装置及びシステムに関する。
工作機械では、加工治具上にワークを固定して加工を行うが、ワークの固定方法として、駆動源に油圧や空圧を利用してシリンダを動作させて、ワークをクランプ/アンクランプすることが多い(例えば、特許文献1等)。この時、クランプ力が不足していると、切削抵抗によりワークが動いてしまい、加工精度不良となる。
加工治具によるワークのクランプ力は、刃物ごとの切削抵抗に安全率を考慮して決めることが一般的である。この時、設定する安全率により、必要以上に大きなシリンダを選択することがあり、加工治具の価格の上昇や加工治具の重量増加等の問題がある。
特開平09−201742号公報
安全率を考慮しなければならない要因の一つとして、クランプ力の変動がある。一般的に、加工治具に使用されているクランプ力には、空圧と油圧を用いている。
空圧を使用した場合、通常1次エア(工場エア)を分岐して使用しており、ある分岐先で大量にエアを使用すると、他の箇所のエア圧が一時的に下がり、圧力が変動する。通常はエアタンクを付属させることで対応するが、エアタンクは高価な設備となるのでコスト面で問題となる。
油圧を使用した場合、例えば作動油の温度変化により動粘度が変化する。作動油の温度が高くなると、動粘度が小さくなり、ロータリジョイントやシリンダ等からの漏れ量が増大する。これにより、油圧の圧力低下が発生する。そのため、通常は油温上昇を抑えるために、冷却装置を付属させることがあるが、これが高価な設備となる。
そこで、高価な設備を用いることなく、クランプ力の変動に対応することが可能な制御装置、機械学習装置及びシステムが望まれている。
本発明の一態様は、加工治具上にクランプされているワークを工具で切削加工する工作機械を制御する制御装置であって、前記切削加工の加工条件を示す加工条件データ、切削加工中のスピンドルトルクを示すスピンドルトルクデータ、及び前記ワークに加わる切削力に対する切削抵抗の切削分力方向情報を示す切削分力方向データを、環境の現在状態を表す状態変数として観測し、該状態変数に基づいて、前記加工治具のクランプ力で押さえることが可能な範囲の切削力を前記ワークに加える前記切削加工の加工条件をモデル化した学習モデルを用いた学習乃至意思決定をする機械学習装置を備える制御装置である。
本発明の他の態様は、加工治具上にクランプされているワークを工具で切削加工する際の、前記切削加工の加工条件を示す加工条件データ、切削加工中のスピンドルトルクを示すスピンドルトルクデータ、及び前記ワークに加わる切削力に対する切削抵抗の切削分力方向情報を示す切削分力方向データを、環境の現在状態を表す状態変数として観測し、該状態変数に基づいて、前記加工治具のクランプ力で押さえることが可能な範囲の切削力を前記ワークに加える前記切削加工の加工条件をモデル化した学習モデルを用いた学習乃至意思決定をする、機械学習装置である。
本発明の他の態様は、複数の装置がネットワークを介して相互に接続されたシステムであって、前記複数の装置は、少なくとも第1の工作機械を制御する機械学習装置を備えた制御装置を含むシステムである。
本発明の一態様により、機械学習の技術を用いて、高価な設備を用いることなくクランプ力の変動に対応して切削送り速度や主軸回転数などの加工条件を調整し、精度の高い加工を実現することができる。
第1の実施形態による制御装置の概略的なハードウェア構成図である。 第1の実施形態による制御装置の概略的な機能ブロック図である。 加工条件データS1、スピンドルトルクデータS2、及び切削分力方向データS3の関係を示す図である。 制御装置の一形態を示す概略的な機能ブロック図である。 機械学習方法の一形態を示す概略的なフローチャートである。 ニューロンを説明する図である。 ニューラルネットワークを説明する図である。 クラウドサーバ、フォグコンピュータ、エッジコンピュータを含む3階層構造のシステムの例を示す図である。 制御装置を組み込んだシステムの一形態を示す概略的な機能ブロック図である。 制御装置を組み込んだシステムの他の形態を示す概略的な機能ブロック図である。 図9で示したコンピュータの概略的なハードウェア構成図である。 制御装置を組み込んだシステムの他の形態を示す概略的な機能ブロック図である。
以下、本発明の実施形態を図面と共に説明する。
図1は一実施形態による制御装置の要部を示す概略的なハードウェア構成図である。制御装置1は、例えば工作機械を制御する制御装置として実装することができる。また、制御装置1は、例えば工作機械を制御する制御装置に併設されたパソコンや、制御装置に有線/無線のネットワークを介して接続されたセルコンピュータ、エッジコンピュータ、フォグコンピュータ、ホストコンピュータ、クラウドサーバ等のコンピュータとして実装することができる。本実施形態では、制御装置1を、工作機械を制御する制御装置として実装した場合の例を示す。
本実施形態による制御装置1が備えるCPU11は、制御装置1を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステム・プログラムをバス20を介して読み出し、該システム・プログラムに従って制御装置1の全体を制御する。RAM13には一時的な計算データや表示データ、図示しない入力部を介してオペレータが入力した各種データ等が一時的に格納される。
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされるなどして、制御装置1の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ14には、インタフェース15を介して外部機器72から読み込まれたプログラムや表示器/MDIユニット70を介して入力されたプログラム、制御装置1の各部やロボットから取得された各種データ(例えば、工具の種類や工具の寿命などの工具に係る情報、切削条件等の加工に係る情報、ワーク材質等のワークに係る情報、主軸のトルク値等)が記憶されている。不揮発性メモリ14に記憶されたプログラムや各種データは、実行時/利用時にはRAM13に展開されても良い。また、ROM12には、公知の解析プログラムなどの各種のシステム・プログラム(後述する機械学習装置100とのやりとりを制御するためのシステム・プログラムを含む)があらかじめ書き込まれている。
インタフェース15は、制御装置1とアダプタ等の外部機器72と接続するためのインタフェースである。外部機器72側からはプログラムや各種パラメータ等が読み込まれる。また、制御装置1内で編集したプログラムや各種パラメータ等は、外部機器72を介して外部記憶手段に記憶させることができる。PMC(プログラマブル・マシン・コントローラ)16は、制御装置1に内蔵されたシーケンス・プログラムで工作機械及び該工作機械の周辺装置にI/Oユニット17を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、CPU11に渡す。
表示器/MDIユニット70はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース18は表示器/MDIユニット70のキーボードからの指令,データを受けてCPU11に渡す。インタフェース19は各軸を手動で駆動させる際に用いる手動パルス発生器等を備えた操作盤71に接続されている。
工作機械の各軸を制御するための軸制御回路30はCPU11からの軸の移動指令量を受けて、軸の指令をサーボアンプ40に出力する。サーボアンプ40はこの指令を受けて、工作機械が備える軸を移動させるサーボモータ50を駆動する。軸のサーボモータ50は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路30にフィードバックし、位置・速度のフィードバック制御を行う。なお、図1のハードウェア構成図では軸制御回路30、サーボアンプ40、サーボモータ50は1つずつしか示されていないが、実際には制御対象となる工作機械に備えられた軸の数(例えば、直線3軸を備えた工作機械であれば3つ、5軸加工機であれば5つ)だけ用意される。
スピンドル制御回路60は、工作機械の主軸への主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61はこのスピンドル速度信号を受けて、主軸のスピンドルモータ62を指令された回転速度で回転させ、工具を駆動する。スピンドルモータ62にはポジションコーダ63が結合され、ポジションコーダ63が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはCPU11によって読み取られる。
インタフェース21は、制御装置1と機械学習装置100とを接続するためのインタフェースである。機械学習装置100は、機械学習装置100全体を統御するプロセッサ101と、システム・プログラム等を記憶したROM102、機械学習に係る各処理における一時的な記憶を行うためのRAM103、及び学習モデル等の記憶に用いられる不揮発性メモリ104を備える。機械学習装置100は、インタフェース21を介して制御装置1で取得可能な各情報(例えば、工具の種類や工具の寿命などの工具に係る情報、切削条件等の加工に係る情報、ワーク材質等のワークに係る情報、主軸のトルク値等)を観測することができる。また、制御装置1は、機械学習装置100から出力される、加工条件の変更指令を受けて、工作機械を動作を制御する。
図2は、第1実施形態による制御装置1と機械学習装置100の概略的な機能ブロック図である。図2に示した各機能ブロックは、図1に示した制御装置1が備えるCPU11、及び機械学習装置100のプロセッサ101が、それぞれのシステム・プログラムを実行し、制御装置1及び機械学習装置100の各部の動作を制御することにより実現される。
本実施形態の制御装置1は、機械学習装置100から出力された加工条件の変更指令に基づいて工作機械2を制御する制御部34を備える。制御部34は、一般にプログラム等による指令に従って工作機械2の動作を制御するが、その際に、機械学習装置100から加工条件の変更指令が出力されると、前記プログラム等による指令に代えて、機械学習装置100から出力された加工条件となるように工作機械2を制御する。
一方、制御装置1が備える機械学習装置100は、切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報に対する切削加工の加工条件を、いわゆる機械学習により自ら学習するためのソフトウェア(学習アルゴリズム等)及びハードウェア(プロセッサ101等)を含む。制御装置1が備える機械学習装置100が学習するものは、切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報と、切削加工の加工条件との、相関性を表すモデル構造に相当する。
図2に機能ブロックで示すように、制御装置1が備える機械学習装置100は、切削加工の加工条件を示す加工条件データS1、切削加工中のスピンドルトルクを示すスピンドルトルクデータS2、及び切削抵抗の切削分力方向情報を示す切削分力方向データS3を含む環境の現在状態を表す状態変数Sとして観測する状態観測部106と、決定された切削加工の加工条件に基づいて加工されたワークの品質を判定するためのワーク品質判定データD1及びワークの加工に掛けた時間を判定するためのサイクルタイム判定データD2を含む判定データDを取得する判定データ取得部108と、状態変数Sと判定データDとを用いて、切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報と、切削加工の加工条件を関連付けて学習する学習部110とを備える。
状態観測部106が観測する状態変数Sのうち、加工条件データS1は、切削加工の加工条件として取得することができる。切削加工の加工条件は、例えば工作機械2による加工における実切削送り速度、主軸回転数、切り込み量、すくい角等が例示され、工作機械2の動作を制御するプログラムや、制御装置1に設定され、不揮発性メモリ14に記憶されている加工パラメータ等から取得することができる。
加工条件データS1は、機械学習装置100が学習部110の学習結果に基づいて1つ前の学習周期における切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報に対して、当該学習周期において決定した切削加工の加工条件をそのまま用いることができる。このような手法を取る場合には、機械学習装置100は切削加工の加工条件を学習周期毎にRAM103に一時的に記憶しておき、状態観測部106は、RAM103から1つ前の学習周期における切削加工の加工条件を今回の学習周期の加工条件データS1として取得するようにしても良い。
状態観測部106が観測する状態変数Sのうち、スピンドルトルクデータS2は、工作機械2の主軸を駆動するスピンドルモータに掛かる負荷として取得することができる。スピンドルトルクデータS2は、工作機械2から取得することができる。
状態観測部106が観測する状態変数Sのうち、切削分力方向データS3は、切削加工中のスピンドルトルクの方向に対する切削分力の方向として取得することができる。スピンドルトルクの方向に対する切削分力の方向は、ワークに対する工具の刃先の角度(すくい角)に基づいて求めることができ、工具の仕様(主軸の方向に対する刃先の角度)と、切削時のワークに対する工具の角度(主軸の角度)から算出することができる。
図3は、加工条件データS1、スピンドルトルクデータS2、切削分力方向データS3の関係を示す図である。一般に、切削工具に対するワークからの反力は、2次元切削モデル等の公知のモデルを用いて算出することができる。図3の例では、工具の刃先が切削方向へと進行する速度である切削送り速度Vpは、プログラム等により指令される指令切削送り速度Fと、主軸の回転による刃先の移動速度の切削送り方向成分の速度との合成速度であり、指令切削送り速度F、主軸回転数S、切削送りの方向に対する主軸の傾き等を用いて算出することができ、また、切削送りの方向への反力である切削分力Pは、スピンドルトルクR、すくい角α、切削送りの方向に対する主軸の傾き等を用いて算出することができる。
状態観測部106は、学習部110がオンライン学習を行う場合には、各状態変数を工作機械2やセンサ3、制御装置1の各部から逐次取得するようにしても良い。一方、学習部110がオフライン学習を行う場合には、ワークの加工中に取得された各情報を制御装置1が不揮発性メモリ14にログデータとして記憶するようにしておき、状態観測部106は、記録したログデータを解析して各状態変数を取得するようにすれば良い。
判定データ取得部108は、ワーク品質判定データD1として、決定された切削加工の加工条件に基づいて加工が行われた場合のワークの品質の判定結果を用いることができる。判定データ取得部108が用いるワーク品質判定データD1としては、例えばオンライン学習においては、治具によりテーブルに設置されたワークの位置にズレがないか(適)、ズレが生じたか(否)といったものを使用すれば良く、また、オフライン学習においては、加工後のワークの各部の寸法誤差が予め定めた閾値以下に収まっているか(適)、閾値を超えているか(否)といったものを使用すれば良い。
また、判定データ取得部108は、サイクルタイム判定データD2として、決定された切削加工の加工条件に基づいて行われるワークの加工に掛かった時間の判定結果を用いることができる。判定データ取得部108が用いるサイクルタイム判定データD2としては、例えば決定された切削加工の加工条件に基づいて行われたワークの加工に掛かった時間が、予め定めた所定の閾値よりも短いか(適)、長いか(否)といったような、適宜設定された判定基準により判定された結果を用いればよい。
なお、判定データ取得部108は、学習部110による学習の段階では必須の構成となるが、学習部110による切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報と切削加工の加工条件とを関連付けた学習が完了した後には必ずしも必須の構成ではない。例えば、学習が完了した機械学習装置100を顧客に出荷する場合等には、判定データ取得部108を取り外して出荷するようにしても良い。
学習部110に対して同時に入力される状態変数Sは、学習部110による学習周期で考えた場合、判定データDが取得された1学習周期前のデータに基づくものとなる。このように、制御装置1が備える機械学習装置100が学習を進める間、環境においては、スピンドルトルクデータS2及び切削分力方向データS3の取得、取得した各データに基づいて決定された加工条件データS1に基づいた工作機械2によるワークの加工、判定データDの取得が繰り返し実施される。
学習部110は、機械学習と総称される任意の学習アルゴリズムに従い、切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報に対する、切削加工の加工条件を学習する。学習部110は、前述した状態変数Sと判定データDとを含むデータ集合に基づく学習を反復実行することができる。切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報に対する、切削加工の加工条件の学習サイクルの反復中、状態変数Sは、上記したように1学習周期前における切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報、及び1学習周期前において決定された切削加工の加工条件から取得し、また判定データDは、決定された切削加工の加工条件に基づいて行われたワークの加工の適否判定結果とする。
学習部110は、オンライン学習を行う際には、例えば、加工中に取得された状態変数Sと、距離センサ等で取得されたワークの設置位置のズレ等のワーク品質判定データD1とを用いて、逐次学習を繰り返す。また、学習部110は、オフライン学習を行う際には、例えば、加工中に記録されたログデータを解析して加工の流れに沿って所定周期毎の状態変数Sの系列を作成すると共に、当該状態変数の中でスピンドルトルクデータS2に急な変化が発生した箇所を特定し、当該箇所の状態変数Sに対して、否と判定された加工後のワークの各部の寸法誤差等のワーク品質判定データD1を割り当て(他の状態変数Sについては適とする)、また、サイクルタイム判定データD2についてはその判定結果を全ての状態変数Sに対して分配して割り当てるようにすれば良く、この様にして作成された状態変数Sと判定データDの系列を用いて学習を行う。
このような学習サイクルを繰り返すことにより、学習部110は、切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報と、切削加工の加工条件との相関性を暗示する特徴を識別することができるようになる。学習アルゴリズムの開始時には切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報と、切削加工の加工条件の相関性は実質的に未知であるが、学習部110は、学習を進めるに従い徐々に特徴を識別して相関性を解釈する。切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報と、切削加工の加工条件との相関性が、ある程度信頼できる水準まで解釈されると、学習部110が反復出力する学習結果は、現在状態(つまり切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報)に対して、切削加工の加工条件をどう決定するべきかという行動の選択(つまり意思決定)を行うために使用できるものとなる。つまり学習部110は、学習アルゴリズムの進行に伴い、切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報に対して切削加工の加工条件をどのように設定するべきかという行動との、相関性を最適解に徐々に近づけることができる。
意思決定部122は、学習部110が学習した結果に基づいて、切削加工の加工条件を決定し、決定した切削加工の加工条件を制御部34へと出力する。意思決定部122は、学習部110による学習が利用可能な状態になった段階において、機械学習装置100に切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報が入力されると、切削加工の加工条件(切削送り速度、主軸回転数、切り込み量、すくい角等)を出力する。意思決定部122が出力する切削加工の加工条件は、治具からのクランプ力の範囲内で押さえつけることが可能な切削力をワークに加える加工条件である。意思決定部122は、状態変数Sと学習部110が学習した結果に基づいて、適切な切削加工の加工条件を決定する。
上記したように、制御装置1が備える機械学習装置100は、状態観測部106が観測した状態変数Sと判定データ取得部108が取得した判定データDとを用いて、学習部110が機械学習アルゴリズムに従い、切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報に対する切削加工の加工条件を学習するものである。状態変数Sは、加工条件データS1、スピンドルトルクデータS2、及び切削分力方向データS3といったデータで構成され、また判定データDは、ワークを計測した情報や制御装置1が工作機械2から取得した情報を解析することで一義的に求められる。したがって、制御装置1が備える機械学習装置100によれば、学習部110の学習結果を用いることで、切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報に応じた、切削加工の加工条件を、自動的かつ正確に行うことが可能となる。
そして、切削加工の加工条件の決定を、自動的に行うことができれば、切削加工中のスピンドルトルク(スピンドルトルクデータS2)及び切削抵抗の切削分力方向情報(切削分力方向データS3)を把握するだけで、切削加工の加工条件の適切な値を迅速に決定することができる。したがって、切削加工の加工条件の決定を効率よく行うことができる。
制御装置1が備える機械学習装置100の一変形例として、状態観測部106は、加工条件データS1、スピンドルトルクデータS2、及び切削分力方向データS3に加えて、作動油の油温を示す作動油状態データS4を状態変数Sとして観測するようにしても良い。治具からのクランプ力に油圧を用いている場合、作動油の温度の変化は油圧の圧力低下の原因となり得るので、これを状態変数Sとして観測することで、学習部110の学習の精度を向上させることができる。
制御装置1が備える機械学習装置100の他の変形例として、状態観測部106は、加工条件データS1、スピンドルトルクデータS2、及び切削分力方向データS3に加えて、工具の状態を示す工具状態データS5を状態変数Sとして観測するようにしても良い。同じ切削条件であっても、工具の種類や工具の寿命(刃先の鈍り具合)によってワークに加わる切削力に違いが生じるので、これを状態変数Sとして観測することで、学習部110の学習の精度を向上させることができる。
制御装置1が備える機械学習装置100の他の変形例として、状態観測部106は、加工条件データS1、スピンドルトルクデータS2、及び切削分力方向データS3に加えて、ワークの材質を示すワーク材質データS6を状態変数Sとして観測するようにしても良い。同じ切削条件であっても、ワークの材質によってワークに加わる切削力(ワークからの反力)に違いが生じるので、これを状態変数Sとして観測することで、学習部110の学習の精度を向上させることができる。
上記構成を有する機械学習装置100では、学習部110が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。図4は、図2に示す制御装置1の一形態であって、学習アルゴリズムの一例として強化学習を実行する学習部110を備えた構成を示す。強化学習は、学習対象が存在する環境の現在状態(つまり入力)を観測するとともに現在状態で所定の行動(つまり出力)を実行し、その行動に対し何らかの報酬を与えるというサイクルを試行錯誤的に反復して、報酬の総計が最大化されるような方策(本願の機械学習装置では切削加工の加工条件)を最適解として学習する手法である。
図3に示す制御装置1が備える機械学習装置100において、学習部110は、状態変数Sに基づいて切削加工の加工条件の決定がされ、決定された切削加工の加工条件に基づく工作機械2によるワークの加工の適否判定結果(状態変数Sが取得された次の学習周期で用いられる判定データDに相当)に関連する報酬Rを求める報酬計算部112と、報酬Rを用いて、切削加工の加工条件の価値を表す関数Qを更新する価値関数更新部114とを備える。学習部110は、価値関数更新部114が関数Qの更新を繰り返すことによって切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報に対する切削加工の加工条件を学習する。
学習部110が実行する強化学習のアルゴリズムの一例を説明する。この例によるアルゴリズムは、Q学習(Q−learning)として知られるものであって、行動主体の状態sと、その状態sで行動主体が選択し得る行動aとを独立変数として、状態sで行動aを選択した場合の行動の価値を表す関数Q(s,a)を学習する手法である。状態sで価値関数Qが最も高くなる行動aを選択することが最適解となる。状態sと行動aとの相関性が未知の状態でQ学習を開始し、任意の状態sで種々の行動aを選択する試行錯誤を繰り返すことで、価値関数Qを反復して更新し、最適解に近付ける。ここで、状態sで行動aを選択した結果として環境(つまり状態s)が変化したときに、その変化に応じた報酬(つまり行動aの重み付け)rが得られるように構成し、より高い報酬rが得られる行動aを選択するように学習を誘導することで、価値関数Qを比較的短時間で最適解に近付けることができる。
価値関数Qの更新式は、一般に下記の数1式のように表すことができる。数1式において、st及びatはそれぞれ時刻tにおける状態及び行動であり、行動atにより状態はst+1に変化する。rt+1は、状態がstからst+1に変化したことで得られる報酬である。maxQの項は、時刻t+1で最大の価値Qになる(と時刻tで考えられている)行動aを行ったときのQを意味する。α及びγはそれぞれ学習係数及び割引率であり、0<α≦1、0<γ≦1で任意設定される。
学習部110がQ学習を実行する場合、状態観測部106が観測した状態変数S及び判定データ取得部108が取得した判定データDは、更新式の状態sに該当し、現在状態(つまり、切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報)に対する切削加工の加工条件をどのように決定するべきかという行動は、更新式の行動aに該当し、報酬計算部112が求める報酬Rは、更新式の報酬rに該当する。よって価値関数更新部114は、現在状態に対する切削加工の加工条件の価値を表す関数Qを、報酬Rを用いたQ学習により繰り返し更新する。
報酬計算部112が求める報酬Rは、例えば、切削加工の加工条件を決定した後に行われる、決定された切削加工の加工条件に基づくワークの加工の適否判定結果が「適」と判定される場合(例えば、ワークがずれることなく加工が行われた場合、ワークの加工のサイクルタイムが予め定めた閾値や、1つ前の学習周期におけるサイクルタイムよりも短かった場合等)に正(プラス)の報酬Rとし、切削加工の加工条件を決定した後に行われる、決定された切削加工の加工条件に基づくワークの加工の適否判定結果が「否」と判定される場合(例えば、ワークにずれが発生した場合、ワークの加工のサイクルタイムが予め定めた閾値や、1つ前の学習周期におけるサイクルタイムよりも長かった場合等)に負(マイナス)の報酬Rとすることができる。正負の報酬Rの絶対値は、互いに同一であってもよいし異なっていてもよい。また、判定の条件として、判定データDに含まれる複数の値を組み合わせて判定するようにしても良い。
また、設定された切削加工の加工条件に基づくワークの加工の適否判定結果を、「適」及び「否」の二通りだけでなく複数段階に設定することができる。例として、ワークの加工のサイクルタイムの閾値がTmaxである場合、作業者の組立作業のサイクルタイムTが、0≦T<Tmax/5のときは報酬R=5を与え、Tmax/5≦T<Tmax/2のときは報酬R=3を与え、Tmax/2≦T<Tmaxのときは報酬R=1を、Tmax≦Tのときは報酬R=−3(マイナスの報酬)を与えるような構成とすることができる。
更に、学習の初期段階は判定に用いる閾値を比較的大きく設定し、学習が進行するにつれて判定に用いる閾値を縮小する構成とすることもできる。
価値関数更新部114は、状態変数Sと判定データDと報酬Rとを、関数Qで表される行動価値(例えば数値)と関連付けて整理した行動価値テーブルを持つことができる。この場合、価値関数更新部114が関数Qを更新するという行為は、価値関数更新部114が行動価値テーブルを更新するという行為と同義である。Q学習の開始時には環境の現在状態と切削加工の加工条件との相関性は未知であるから、行動価値テーブルにおいては、種々の状態変数Sと判定データDと報酬Rとが、無作為に定めた行動価値の値(関数Q)と関連付けた形態で用意されている。なお報酬計算部112は、判定データDが分かれば、これに対応する報酬Rを直ちに算出でき、算出した値Rが行動価値テーブルに書き込まれる。
工作機械2の動作の適否判定結果に応じた報酬Rを用いてQ学習を進めると、より高い報酬Rが得られる行動を選択する方向へ学習が誘導され、選択した行動を現在状態で実行した結果として変化する環境の状態(つまり状態変数S及び判定データD)に応じて、現在状態で行う行動についての行動価値の値(関数Q)が書き換えられて行動価値テーブルが更新される。この更新を繰り返すことにより、行動価値テーブルに表示される行動価値の値(関数Q)は、適正な行動(本発明の場合、ワークの加工に係るサイクルタイムを極端に長くしない範囲で、切削送り速度を落としたり、主軸回転数を落としたり、切り込み量を減らしたり、すくい角を大きくしたりする等、治具からのクランプ力の範囲内で押さえつけることが可能な切削力をワークに加える切削加工の加工条件を決定する行動)であるほど大きな値となるように書き換えられる。このようにして、未知であった環境の現在状態(切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報)とそれに対する行動(切削加工の加工条件)との相関性が徐々に明らかになる。つまり行動価値テーブルの更新により、切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報と、切削加工の加工条件との関係が最適解に徐々に近づけられる。
図5を参照して、学習部110が実行する上記したQ学習のフロー(つまり機械学習方法の一形態)をさらに説明する。まずステップSA01で、価値関数更新部114は、その時点での行動価値テーブルを参照しながら、状態観測部106が観測した状態変数Sが示す現在状態で行う行動として切削加工の加工条件を無作為に選択する。次に価値関数更新部114は、ステップSA02で、状態観測部106が観測している現在状態の状態変数Sを取り込み、ステップSA03で、判定データ取得部108が取得している現在状態の判定データDを取り込む。次に価値関数更新部114は、ステップSA04で、判定データDに基づき、切削加工の加工条件が適当であったか否かを判断し、適当であった場合、ステップSA05で、報酬計算部112が求めた正の報酬Rを関数Qの更新式に適用し、次いでステップSA06で、現在状態における状態変数S及び判定データDと報酬Rと行動価値の値(更新後の関数Q)とを用いて行動価値テーブルを更新する。ステップSA04で、切削加工の加工条件が適当でなかったと判断した場合、ステップSA07で、報酬計算部112が求めた負の報酬Rを関数Qの更新式に適用し、次いでステップSA06で、現在状態における状態変数S及び判定データDと報酬Rと行動価値の値(更新後の関数Q)とを用いて行動価値テーブルを更新する。学習部110は、ステップSA01〜SA07を繰り返すことで行動価値テーブルを反復して更新し、切削加工の加工条件の学習を進行させる。なお、ステップSA04からステップSA07までの報酬Rを求める処理及び価値関数の更新処理は、判定データDに含まれるそれぞれのデータについて実行される。
前述した強化学習を進める際に、例えばニューラルネットワークを応用することができる。図6Aは、ニューロンのモデルを模式的に示す。図6Bは、図6Aに示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
図6Aに示すニューロンは、複数の入力x(ここでは一例として、入力x1〜入力x3)に対する結果yを出力するものである。各入力x1〜x3には、この入力xに対応する重みw(w1〜w3)が掛けられる。これにより、ニューロンは、次の数2式により表現される出力yを出力する。なお、数2式において、入力x、出力y及び重みwは、すべてベクトルである。また、θはバイアスであり、fkは活性化関数である。
図6Bに示す三層のニューラルネットワークは、左側から複数の入力x(ここでは一例として、入力x1〜入力x3)が入力され、右側から結果y(ここでは一例として、結果y1〜結果y3)が出力される。図示の例では、入力x1、x2、x3のそれぞれに対応の重み(総称してw1で表す)が乗算されて、個々の入力x1、x2、x3がいずれも3つのニューロンN11、N12、N13に入力されている。
図6Bでは、ニューロンN11〜N13の各々の出力を、総称してz1で表す。z1は、入カベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルz1のそれぞれに対応の重み(総称してw2で表す)が乗算されて、個々の特徴ベクトルz1がいずれも2つのニューロンN21、N22に入力されている。特徴ベクトルz1は、重みW1と重みW2との間の特徴を表す。
図6Bでは、ニューロンN21〜N22の各々の出力を、総称してz2で表す。z2は、特徴ベクトルz1の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルz2のそれぞれに対応の重み(総称してw3で表す)が乗算されて、個々の特徴ベクトルz2がいずれも3つのニューロンN31、N32、N33に入力されている。特徴ベクトルz2は、重みW2と重みW3との間の特徴を表す。最後にニューロンN31〜N33は、それぞれ結果y1〜y3を出力する。
なお、三層以上の層を為すニューラルネットワークを用いた、いわゆるディープラーニングの手法を用いることも可能である。
制御装置1が備える機械学習装置100においては、ニューラルネットワークをQ学習における価値関数として用い、状態変数Sと行動aとを入力xとして、学習部110が上記したニューラルネットワークに従う多層構造の演算を行うことで、当該状態における当該行動の価値(結果y)を出力することもできる。なお、ニューラルネットワークの動作モードには、学習モードと価値予測モードとがあり、例えば学習モードで学習データセットを用いて重みwを学習し、学習した重みwを用いて価値予測モードで行動の価値判断を行うことができる。なお価値予測モードでは、検出、分類、推論等を行うこともできる。
上記した制御装置1の構成は、プロセッサ101が実行する機械学習方法(或いはソフトウェア)として記述できる。この機械学習方法は、切削加工の加工条件を学習する機械学習方法であって、コンピュータのCPUが、加工条件データS1、スピンドルトルクデータS2、及び切削分力方向データS3を、工作機械2が動作する環境の現在状態を表す状態変数Sとして観測するステップと、決定された切削加工の加工条件に基づくワークの加工の適否判定結果を示す判定データDを取得するステップと、状態変数Sと判定データDとを用いて、スピンドルトルクデータS2、切削分力方向データS3と、切削加工の加工条件とを関連付けて学習するステップとを有する。
以下の第2〜4実施形態では、第1実施形態による制御装置1が、クラウドサーバやホストコンピュータ、フォグコンピュータ、エッジコンピュータ(ロボットコントローラ、制御装置等)を含む複数の装置と有線/無線のネットワークを介して相互に接続した実施形態について説明する。図7に例示されるように、以下の第2〜4実施形態では、複数の装置のそれぞれがネットワークに接続された状態でクラウドサーバ6等を含む層、フォグコンピュータ7等を含む層、エッジコンピュータ8(セル9に含まれるロボットコントローラ、制御装置等)等を含む層の、3つの階層に論理的に分けて構成されているシステムを想定する。この様なシステムに於いて、制御装置1は、クラウドサーバ6、フォグコンピュータ7、エッジコンピュータ8のいずれの上にも実装することが可能であり、それぞれの複数の装置との間でネットワークを介して相互に学習データを共有して分散学習をしたり、生成した学習モデルをフォグコンピュータ7やクラウドサーバ6に収集して大規模な解析を行ったり、更に、生成した学習モデルの相互再利用等をしたりすることができる。図7に例示されるシステムにおいて、セル9は各地の工場にそれぞれ複数設けられ、それぞれのセル9を所定の単位(工場単位、同じ製造業者の複数の工場単位等)で上位層のフォグコンピュータ7が管理する。そして、これらフォグコンピュータ7が収集、解析したデータを、更に上位層のクラウドサーバ6で収集、解析等を行い、その結果として得られた情報を各々のエッジコンピュータの制御等に活用することができる。
図8は、制御装置1を備えた第2実施形態によるシステム170を示す。システム170は、エッジコンピュータやフォグコンピュータ、ホストコンピュータ、クラウドサーバ等のコンピュータの一部として実装された少なくとも1台の制御装置1と、制御の対象となる複数の工作機械2と、制御装置1、工作機械2を互いに接続する有線/無線のネットワーク172とを備える。
上記構成を有するシステム170は、機械学習装置100を備える制御装置1が、学習部110の学習結果を用いて、切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報に対する切削加工の加工条件を、それぞれの工作機械2毎に自動的かつ正確に求めることができる。また、制御装置1の機械学習装置100が、複数の工作機械2のそれぞれについて得られた状態変数S及び判定データDに基づき、全ての工作機械2に共通する切削加工の加工条件を学習し、その学習結果を全ての工作機械2の動作において共有するように構成できる。したがってシステム170によれば、より多様なデータ集合(状態変数S及び判定データDを含む)を入力として、切削加工の加工条件の学習の速度や信頼性を向上させることができる。
図9は、制御装置1を備えた第3実施形態によるシステム170を示す。システム170は、エッジコンピュータやフォグコンピュータ、ホストコンピュータ、クラウドサーバ等のコンピュータ5の上に実装された少なくとも1台の機械学習装置100’と、工作機械2を制御する制御装置(エッジコンピュータ)として実装された少なくとも1台の制御装置1と、コンピュータ5及び工作機械2を互いに接続する有線/無線のネットワーク172とを備える。
上記構成を有するシステム170では、機械学習装置100を備えるコンピュータ5が、各々の工作機械2を制御する制御装置1から、該制御装置1が備える機械学習装置100による機械学習の結果として得られた学習モデルを取得する。そして、コンピュータ5が備える機械学習装置100’は、これら複数の学習モデルに基づく知識の最適化や効率化の処理を行うことで、新たに最適化乃至効率化された学習モデルを生成し、生成した学習モデルを各々の工作機械2を制御する制御装置1に対して配布する。
機械学習装置100’が行う学習モデルの最適化乃至効率化の例としては、各制御装置1から取得した複数の学習モデルに基づいた蒸留モデルの生成が挙げられる。この場合、本実施形態による機械学習装置100’は、学習モデルに対して入力する入力データを作成し、該入力モデルを各々の学習モデルに対して入力した結果として得られる出力を用いて、1から学習を行う(このような学習工程を蒸留と言う)ことで新たに学習モデル(蒸留モデル)を生成する。この蒸留において、元の学習モデルを教師モデル、新たに作成する蒸留モデルを生徒モデルとも言う。このようにして生成された蒸留モデルは、一般に元の学習モデルよりもサイズが小さく、それでいて元の学習モデルと同等の正確度を出せるため、外部記憶媒体やネットワーク等を介した他のコンピュータに対する配布により適している。
機械学習装置100’が行う学習モデルの最適化乃至効率化の他の例としては、各制御装置1から取得した複数の学習モデルに対して蒸留を行う過程において、入力データに対する各学習モデルの出力の分布を一般的な統計的手法で解析し、入力データと出力データの組の外れ値を抽出し、該外れ値を除外した入力データと出力データの組を用いて蒸留を行うことも考えられる。このような過程を経ることで、それぞれの学習モデルから得られる入力データと出力データの組から例外的な推定結果を除外し、例外的な推定結果を除外した入力データと出力データの組を用いて蒸留モデルを生成することができる。このようにして生成された蒸留モデルは、複数の制御装置1で生成された学習モデルから、当該制御装置1が制御する工作機械2に対して汎用的な蒸留モデルを生成することができる。
なお、他の一般的な学習モデルの最適化乃至効率化の手法(各学習モデルを解析し、その解析結果に基づいて学習モデルのハイパパラメータを最適化する等)も適宜導入することが可能である。
本実施形態によるシステムでは、例えばエッジとしての複数の工作機械2(制御装置1)に対して設置されたフォグコンピュータ上に機械学習装置100’を配置し、各々の工作機械2(制御装置1)で生成された学習モデルをフォグコンピュータ上に集約して記憶しておき、記憶した複数の学習モデルに基づいた最適化乃至効率化を行った上で記憶装置へと保存しておき、保存した最適化乃至効率化された学習モデルを必要に応じて各工作機械2(制御装置1)に対して再配布するという運用を行うことができる。
また、本実施形態によるシステムでは、例えばフォグコンピュータ上に集約して記憶された学習モデルや、フォグコンピュータ上で最適化乃至効率化された学習モデルを、更に上位のホストコンピュータやクラウドサーバ上に集め、これら学習モデルを用いて工場や工作機械2のメーカでの知的作業への応用(上位サーバでの更なる汎用的な学習モデルの構築及び再配布、学習モデルの解析結果に基づく保守作業の支援、各々の工作機械2の性能等の分析、新しい機械の開発への応用等)を行うことができる。
図10は、図9で示したコンピュータ5の概略的なハードウェア構成図である。
コンピュータ5が備えるCPU511は、コンピュータ5を全体的に制御するプロセッサである。CPU511は、ROM512に格納されたシステム・プログラムをバス520を介して読み出し、該システム・プログラムに従ってコンピュータ5全体を制御する。RAM513には一時的な計算データ、入力装置531を介して作業者が入力した各種データ等が一時的に格納される。
不揮発性メモリ514は、例えば図示しないバッテリでバックアップされたメモリやSSD(Solid State Drive)等で構成され、コンピュータ5の電源がオフされても記憶状態が保持される。不揮発性メモリ514には、コンピュータ5の動作に係る設定情報が格納される設定領域や、入力装置531から入力されたデータ、各工作機械2(の制御装置)から取得される学習モデル、図示しない外部記憶装置やネットワークを介して読み込まれたデータ等が記憶される。不揮発性メモリ514に記憶されたプログラムや各種データは、実行時/利用時にはRAM513に展開されても良い。また、ROM512には、各種データを解析するための公知の解析プログラム等を含むシステム・プログラムが予め書き込まれている。
コンピュータ5は、インタフェース516を介してネットワーク172と接続されている。ネットワーク172には、少なくとも1つの工作機械2や他のコンピュータ等が接続され、コンピュータ5との間で相互にデータのやり取りを行っている。
表示装置530には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ等がインタフェース517を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置531は、作業者による操作に基づく指令,データ等をインタフェース518を介してCPU511に渡す。
なお、機械学習装置100については、コンピュータ5のCPU511と協働して学習モデルの最適化乃至効率化に用いられる点を除けば、図1で説明したものと同様である。
図11は、制御装置1を備えた第4実施形態によるシステム170を示す。システム170は、工作機械2を制御する制御装置(エッジコンピュータ)として実装された複数台の制御装置1と、複数台の工作機械2(制御装置1)を互いに接続する有線/無線のネットワーク172とを備える。
上記構成を有するシステム170では、機械学習装置100を備える制御装置1は、制御対象となる工作機械2から取得された状態データや判定データ、他の(機械学習装置100を備えていない)工作機械2から取得した状態データや判定データに基づいた機械学習を行い、学習モデルを生成する。このようにして生成された学習モデルは、自身の工作機械2の加工動作における適切な切削加工の加工条件を決定に用いられる他、機械学習装置100を備えていない工作機械2からの依頼に応じて該工作機械2(の制御装置)による加工動作における適切な切削加工の加工条件を決定にも用いられる。また、新たに学習モデル生成前の機械学習装置100を備えた制御装置1が導入された際には、ネットワーク172を介して他の制御装置1から学習モデルを取得して利用することも可能となる。
本実施形態によるシステムでは、いわゆるエッジとしての複数の工作機械2(制御装置1)の間で学習に用いるデータや学習モデルを共有して活用することが可能となるため、機械学習の効率の向上や、機械学習にかけるコストの削減(工作機械2を制御する1台の制御装置にのみ機械学習装置100を導入し、他の工作機械2との間で共有するなど)をすることができる。
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
例えば、機械学習装置100が実行する学習アルゴリズムや演算アルゴリズム、制御装置1が実行する制御アルゴリズム等は、上述したものに限定されず、様々なアルゴリズムを採用できる。
また、上記した実施形態では制御装置1と機械学習装置100が異なるCPUを有する装置として説明しているが、機械学習装置100は制御装置1が備えるCPU11と、ROM12に記憶されるシステム・プログラムにより実現するようにしても良い。
1 制御装置
2 工作機械
3 センサ
5 コンピュータ
6 クラウドサーバ
7 フォグコンピュータ
8 エッジコンピュータ
9 セル
11 CPU
12 ROM
13 RAM
14 不揮発性メモリ
15,18,19 インタフェース
16 PMC
17 I/Oユニット
20 バス
21 インタフェース
30 軸制御回路
34 制御部
40 サーボアンプ
50 サーボモータ
60 スピンドル制御回路
61 スピンドルアンプ
62 スピンドルモータ
63 ポジションコーダ
70 表示器/MDIユニット
71 操作盤
100 機械学習装置
101 プロセッサ
102 ROM
103 RAM
104 不揮発性メモリ
106 状態観測部
108 判定データ取得部
110 学習部
112 報酬計算部
114 価値関数更新部
122 意思決定部
170 システム
172 ネットワーク
511 CPU
512 ROM
513 RAM
514 不揮発性メモリ
516,517,518 インタフェース
520 バス
530 表示装置
531 入力装置

Claims (13)

  1. 加工治具上にクランプされているワークを工具で切削加工する工作機械を制御する制御装置であって、
    前記切削加工の加工条件を示す加工条件データ、切削加工中のスピンドルトルクを示すスピンドルトルクデータ、及び前記ワークに加わる切削力に対する切削抵抗の切削分力方向情報を示す切削分力方向データを、環境の現在状態を表す状態変数として観測し、該状態変数に基づいて、前記加工治具のクランプ力で押さえることが可能な範囲の切削力を前記ワークに加える前記切削加工の加工条件をモデル化した学習モデルを用いた学習乃至意思決定をする機械学習装置を備える
    制御装置。
  2. 前記機械学習装置は、
    前記切削加工の加工条件を示す加工条件データ、切削加工中のスピンドルトルクを示すスピンドルトルクデータ、及び前記切削力に対する切削抵抗の切削分力方向情報を示す切削分力方向データを、環境の現在状態を表す状態変数として観測する状態観測部と、
    前記切削加工の加工条件に基づいて加工されたワークの品質を判定するワーク品質判定データ、及び前記ワークの加工に掛かった時間を判定するサイクルタイム判定データを、前記ワークの加工の適否判定結果を示す判定データとして取得する判定データ取得部と、
    前記状態変数と前記判定データとを用いて、切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報と、切削加工の加工条件を関連付けて学習した前記学習モデルを生成する学習部と、
    を備える請求項1に記載の制御装置。
  3. 前記学習部は、
    前記適否判定結果に関連する報酬を求める報酬計算部と、
    前記報酬を用いて、切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報に対する切削加工の加工条件の価値を表す関数を更新する価値関数更新部と、
    を備え、
    前記報酬計算部は、前記ワークの品質が高い程、及び前記ワークの加工に係る時間が短い程高い報酬を与える、
    請求項2に記載の制御装置。
  4. 前記学習部は、前記状態変数と前記判定データとを多層構造で演算する、
    請求項2または3に記載の制御装置。
  5. 前記機械学習装置は、
    前記切削加工の加工条件を示す加工条件データ、切削加工中のスピンドルトルクを示すスピンドルトルクデータ、及び前記切削力に対する切削抵抗の切削分力方向情報を示す切削分力方向データを、環境の現在状態を表す状態変数として観測する状態観測部と、
    切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報と、切削加工の加工条件を関連付けて学習した前記学習モデルを備えた学習部と、
    前記状態観測部が観測した状態変数と、前記学習モデルとに基づいて、切削加工の加工条件を決定する意思決定部と、
    を備える請求項1に記載の制御装置。
  6. 前記機械学習装置は、クラウドサーバに存在する、
    請求項1〜4のいずれか1つに記載の制御装置。
  7. 加工治具上にクランプされているワークを工具で切削加工する際の、前記切削加工の加工条件を示す加工条件データ、切削加工中のスピンドルトルクを示すスピンドルトルクデータ、及び前記ワークに加わる切削力に対する切削抵抗の切削分力方向情報を示す切削分力方向データを、環境の現在状態を表す状態変数として観測し、該状態変数に基づいて、前記加工治具のクランプ力で押さえることが可能な範囲の切削力を前記ワークに加える前記切削加工の加工条件をモデル化した学習モデルを用いた学習乃至意思決定をする、
    機械学習装置。
  8. 前記切削加工の加工条件を示す加工条件データ、切削加工中のスピンドルトルクを示すスピンドルトルクデータ、及び前記切削力に対する切削抵抗の切削分力方向情報を示す切削分力方向データを、環境の現在状態を表す状態変数として観測する状態観測部と、
    前記切削加工の加工条件に基づいて加工されたワークの品質を判定するワーク品質判定データ、及び前記ワークの加工に掛かった時間を判定するサイクルタイム判定データを、前記ワークの加工の適否判定結果を示す判定データとして取得する判定データ取得部と、
    前記状態変数と前記判定データとを用いて、切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報と、切削加工の加工条件を関連付けて学習した前記学習モデルを生成する学習部と、
    を備える請求項7に記載の機械学習装置。
  9. 前記切削加工の加工条件を示す加工条件データ、切削加工中のスピンドルトルクを示すスピンドルトルクデータ、及び前記切削力に対する切削抵抗の切削分力方向情報を示す切削分力方向データを、環境の現在状態を表す状態変数として観測する状態観測部と、
    切削加工中のスピンドルトルク及び切削抵抗の切削分力方向情報と、切削加工の加工条件を関連付けて学習した前記学習モデルを備えた学習部と、
    前記状態観測部が観測した状態変数と、前記学習モデルとに基づいて、切削加工の加工条件を決定する意思決定部と、
    を備える請求項7に記載の機械学習装置。
  10. 複数の装置がネットワークを介して相互に接続されたシステムであって、
    前記複数の装置は、少なくとも第1の工作機械を制御する請求項2に記載された制御装置を含む
    システム。
  11. 前記複数の装置は、機械学習装置を備えたコンピュータを含み、
    前記コンピュータは、前記制御装置の前記学習部における学習により生成された少なくとも1つの学習モデルを取得し、
    前記機械学習装置は、取得した前記学習モデルに基づいて最適化乃至効率化を行う、
    請求項10に記載のシステム。
  12. 前記複数の装置は、前記第1の工作機械とは異なる第2の工作機械を含み、
    前記第1の工作機械を制御する制御装置が備える学習部による学習結果は、前記第2の工作機械と共有される、
    請求項10に記載のシステム。
  13. 前記複数の装置は、前記第1の工作機械とは異なる第2の工作機械を含み、
    前記第2の工作機械において観測されたデータは、前記ネットワークを介して前記第1の工作機械を制御する制御装置が備える学習部による学習に利用可能である、
    請求項10に記載のシステム。
JP2018242793A 2018-02-19 2018-12-26 制御装置、機械学習装置及びシステム Active JP6781242B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/276,829 US11059142B2 (en) 2018-02-19 2019-02-15 Controller, machine learning device, and system
DE102019001177.5A DE102019001177B4 (de) 2018-02-19 2019-02-18 Steuergerät, maschinelle Lernvorrichtung und System
CN201910122356.5A CN110174871B (zh) 2018-02-19 2019-02-19 控制装置、机器学习装置以及系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018027089 2018-02-19
JP2018027089 2018-02-19

Publications (2)

Publication Number Publication Date
JP2019145086A true JP2019145086A (ja) 2019-08-29
JP6781242B2 JP6781242B2 (ja) 2020-11-04

Family

ID=67772749

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018242793A Active JP6781242B2 (ja) 2018-02-19 2018-12-26 制御装置、機械学習装置及びシステム

Country Status (2)

Country Link
US (1) US11059142B2 (ja)
JP (1) JP6781242B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10689831B2 (en) * 2018-03-27 2020-06-23 Deere & Company Converting mobile machines into high precision robots
US11162241B2 (en) 2018-03-27 2021-11-02 Deere & Company Controlling mobile machines with a robotic attachment
EP3793786A1 (en) * 2018-06-15 2021-03-24 Google LLC Self-supervised robotic object interaction
JP7256703B2 (ja) * 2019-06-21 2023-04-12 ファナック株式会社 制御装置、制御システム、及び機械学習装置
JP6856162B2 (ja) * 2019-09-24 2021-04-07 ダイキン工業株式会社 制御システム
DE102019133760B4 (de) * 2019-12-10 2023-05-04 Innoclamp GmbH Modulares Spannsystem und Verfahren

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07219611A (ja) * 1994-01-28 1995-08-18 Mitsubishi Electric Corp 工作機械および工作機械制御装置
JP2017220111A (ja) * 2016-06-09 2017-12-14 ファナック株式会社 異常負荷検出の閾値を学習する機械学習器,数値制御装置および機械学習方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5917726A (en) * 1993-11-18 1999-06-29 Sensor Adaptive Machines, Inc. Intelligent machining and manufacturing
JP3168159B2 (ja) 1996-01-25 2001-05-21 オークマ株式会社 パレット固定方法及び装置
IL126752A0 (en) * 1997-03-15 1999-08-17 Makino Milling Machine Machine tool control apparatus
JP2000084794A (ja) * 1998-09-14 2000-03-28 Makino Milling Mach Co Ltd 加工処理装置
EP1296210B1 (en) * 2000-06-30 2007-06-06 Mori Seiki Co., Ltd. Apparatus and method for machining simulation for nc machining
JP4261563B2 (ja) * 2006-09-08 2009-04-30 ファナック株式会社 加工原点設定方法及びその方法を実施するための工作機械
JP4913545B2 (ja) * 2006-10-30 2012-04-11 オークマ株式会社 加工シミュレーションシステム
JP2009095913A (ja) * 2007-10-15 2009-05-07 Nisshin Seisakusho:Kk 工作機械の加工ツール保護装置およびホーニング盤
CN104298175B (zh) * 2014-09-26 2015-09-23 华中科技大学 一种基于虚拟化技术的数控系统及方法
CN104808592B (zh) * 2015-03-13 2016-06-01 华中科技大学 一种基于虚拟上位机的数控系统
JP6330789B2 (ja) * 2015-11-18 2018-05-30 トヨタ自動車株式会社 位置測定装置
JP6444957B2 (ja) * 2016-10-27 2018-12-26 ファナック株式会社 ロボットシステムの動作のシミュレーションを行うシミュレーション装置、シミュレーション方法、およびコンピュータプログラムを記録する記録媒体
JP6346253B2 (ja) * 2016-12-05 2018-06-20 ファナック株式会社 工作機械及び機械学習装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07219611A (ja) * 1994-01-28 1995-08-18 Mitsubishi Electric Corp 工作機械および工作機械制御装置
JP2017220111A (ja) * 2016-06-09 2017-12-14 ファナック株式会社 異常負荷検出の閾値を学習する機械学習器,数値制御装置および機械学習方法

Also Published As

Publication number Publication date
JP6781242B2 (ja) 2020-11-04
US11059142B2 (en) 2021-07-13
US20190275629A1 (en) 2019-09-12

Similar Documents

Publication Publication Date Title
JP6680756B2 (ja) 制御装置及び機械学習装置
JP6781242B2 (ja) 制御装置、機械学習装置及びシステム
JP6898371B2 (ja) 加工条件調整装置及び加工条件調整システム
JP6863930B2 (ja) 寿命予測装置及び機械学習装置
JP6836577B2 (ja) 研磨工具摩耗量予測装置、機械学習装置及びシステム
JP6557285B2 (ja) 制御装置及び機械学習装置
CN110116371B (zh) 研磨工具磨损量预测装置、机器学习装置以及系统
JP2019162712A (ja) 制御装置、機械学習装置及びシステム
JP6940542B2 (ja) 把持力調整装置及び把持力調整システム
JP6499710B2 (ja) 加減速制御装置
JP6923484B2 (ja) 加工条件調整装置及び機械学習装置
JP6767416B2 (ja) 加工条件調整装置及び機械学習装置
JP2019067136A (ja) 数値制御システム
JP6680748B2 (ja) 制御装置及び機械学習装置
JP2019141869A (ja) 制御装置及び機械学習装置
JP7053518B2 (ja) 切削液量調整装置及び切削液量調整システム
US12005582B2 (en) Controller and control system
JP6813532B2 (ja) シミュレーション装置
CN110174871B (zh) 控制装置、机器学习装置以及系统
JP2019082894A (ja) 加工条件調整装置及び機械学習装置
EP3969230A1 (en) Artificial intelligence in discrete manufacturing
JP2019184575A (ja) 測定動作パラメータ調整装置、機械学習装置及びシステム
JP2019136807A (ja) 制御装置及び機械学習装置
Vishnu et al. A Hybrid Approach for Predictive Modeling of KPIs in CNC Machining Operations
CN110488748A (zh) 基于时序推演与前置预控的数控切削自适应控制方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190710

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: 20200915

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201015

R150 Certificate of patent or registration of utility model

Ref document number: 6781242

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150