JP2018180764A - 調整装置及び調整方法 - Google Patents

調整装置及び調整方法 Download PDF

Info

Publication number
JP2018180764A
JP2018180764A JP2017076706A JP2017076706A JP2018180764A JP 2018180764 A JP2018180764 A JP 2018180764A JP 2017076706 A JP2017076706 A JP 2017076706A JP 2017076706 A JP2017076706 A JP 2017076706A JP 2018180764 A JP2018180764 A JP 2018180764A
Authority
JP
Japan
Prior art keywords
machine learning
control
feedback information
adjustment
unit
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
JP2017076706A
Other languages
English (en)
Other versions
JP6474449B2 (ja
Inventor
聡史 猪飼
Satoshi Igai
聡史 猪飼
直人 園田
Naoto Sonoda
直人 園田
亮太郎 恒木
Ryotaro Tsuneki
亮太郎 恒木
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 JP2017076706A priority Critical patent/JP6474449B2/ja
Priority to CN201810282626.4A priority patent/CN108693834B/zh
Priority to US15/944,308 priority patent/US10444733B2/en
Priority to DE102018205015.5A priority patent/DE102018205015B4/de
Publication of JP2018180764A publication Critical patent/JP2018180764A/ja
Application granted granted Critical
Publication of JP6474449B2 publication Critical patent/JP6474449B2/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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4142Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor
    • 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
    • G05B19/40937Numerical 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 concerning programming of machining or material parameters, pocket machining
    • 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
    • G05B15/00Systems controlled by a computer
    • 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
    • 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
    • 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/31From computer integrated manufacturing till monitoring
    • G05B2219/31103Configure parameters of controlled devices
    • 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/34Director, elements to supervisory
    • G05B2219/34013Servocontroller
    • 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/41Servomotor, servo controller till figures
    • G05B2219/41437Feedforward of speed

Landscapes

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

Abstract

【課題】機械学習装置を用いた学習を適切に制御する。
【解決手段】少なくとも2軸以上を駆動するモータを制御する制御装置100、100A、110、120、130と、制御装置に対して機械学習を行う機械学習装置200、210、220とを制御する調整装置300、320、330であって、機械学習装置を起動させる起動指示を出力する起動指示出力部304と、制御装置で実行される評価用プログラムに基づいて得られるフィードバック情報を制御装置から取得するフィードバック情報取得部308と、取得した前記フィードバック情報を機械学習装置に送信するフィードバック情報送信部301と、フィードバック情報を用いた機械学習により得られた制御パラメータ設定情報を機械学習装置から取得するパラメータ設定情報取得部302と、取得した制御パラメータ設定情報を制御装置に送信するパラメータ設定情報送信部309と、を備える。
【選択図】図1

Description

本発明は、少なくとも2軸以上を駆動するモータを制御する制御装置と制御装置に対して機械学習を行う機械学習装置とを制御する調整装置及びその調整方法に関する。
工作機械に使用される電動機に対する動作指令を学習する機械学習装置が例えば特許文献1に記載されている。特許文献1に記載された機械学習装置は、電動機に対する電力供給量、電動機の温度、電動機の負荷、および前記電動機の振動を状態変数として観測し、この状態変数と、この状態変数に基づき、工作機械に異常が発生したか否かを判定した結果とに従って、電動機に対する動作指令が補正を必要とするか否かを学習する機械学習装置である。
特許第6063016号
機械学習装置を用いて学習する場合に、工作機械で実際に加工するワークの加工プログラムで機械学習を行うことが望ましい。しかし、一般的に加工プログラムは時間が長く、機械学習させるには調整に時間がかかる。また、加工するワークが変わるごとに機械学習を行う必要があり、多品種小量を加工する場合には適さない。
そのため、工作機械の精度評価のために、加工プログラムとは別に評価用プログラムを用いることが望ましい。
本発明は、加工プログラム等とは別に機械学習のための評価用プログラムを用いる場合に、機械学習装置を用いた学習を適切に制御する調整装置及び調整方法を提供することを目的とする。
(1) 本発明の係る調整装置は、少なくとも2軸以上を駆動するモータを制御する制御装置(例えば、後述のCNC装置100、100A、110、120、130)と、前記制御装置に対して機械学習を行う機械学習装置(例えば、後述の機械学習装置200、210、220)とを制御する調整装置(例えば、後述の調整装置300、320、330)であって、
前記機械学習装置を起動させる起動指示を出力する起動指示出力部(例えば、後述の起動指示出力部304)と、
前記制御装置で実行される評価用プログラムに基づいて得られるフィードバック情報を前記制御装置から取得するフィードバック情報取得部(例えば、後述のフィードバック情報取得部308)と、
取得した前記フィードバック情報を前記機械学習装置に送信するフィードバック情報送信部(例えば、後述のフィードバック情報送信部301)と、
前記フィードバック情報を用いた機械学習により得られた制御パラメータ設定情報を前記機械学習装置から取得するパラメータ設定情報取得部(例えば、後述のパラメータ設定情報取得部302)と、
取得した前記制御パラメータ設定情報を前記制御装置に送信するパラメータ設定情報送信部(例えば、後述のパラメータ設定情報送信部309)と、を備えた調整装置である。
(2) 上記(1)の調整装置において、前記評価用プログラムを記憶する記憶部(例えば、後述の評価用プログラム記憶部305)と、前記評価用プログラムを前記制御装置に出力する評価用プログラム出力部(例えば、後述の評価用プログラム出力部306)とを、備えてもよい。
(3) 上記(1)又は(2)の調整装置において、前記評価用プログラムを実行させる実行指示を前記制御装置に送る評価用プログラム実行指示出力部(例えば、後述の評価用プログラム実行指示出力部307)を備えてもよい。
(4) 上記(1)から(3)のいずれかの調整装置において、前記モータで2軸以上を駆動したときに、前記フィードバック情報取得部は前記制御装置から前記フィードバック情報を取得して前記機械学習装置に送ってもよい。
(5) 上記(1)から(4)のいずれかの調整装置において、前記フィードバック情報は、位置指令、位置フィードバック、及び位置偏差のうちの少なくとも1つを含んでもよい。
(6) 上記(5)の調整装置において、前記フィードバック情報は、さらに、速度指令、速度フィードバック、及び速度偏差のうちの少なくとも1つを含んでもよい。
(7) 上記(5)の調整装置において、前記フィードバック情報は、さらに、電流指令、電流フィードバック、及び電流偏差のうちの少なくとも1つを含んでもよい。
(8) 上記(1)から(7)のいずれかの調整装置において、前記機械学習は強化学習であって、
前記フィードバック情報取得部は前記制御装置から状態情報として前記フィードバック情報を取得し、
前記機械学習装置から得られた制御パラメータ修正情報を行動情報として前記制御装置に送るパラメータ修正情報送信部(例えば、後述のパラメータ修正情報送信部310)を備えてもよい。
(9) 上記(1)から(8)のいずれかの調整装置において、前記制御装置は位置フィードフォワード計算部(例えば、後述の位置フィードフォワード計算部1020)、速度フィードフォワード計算部(例えば、後述の速度フィードフォワード計算部1021)、及び電流フィードフォワード計算部(例えば、後述の電流フィードフォワード計算部1025)のうちの少なくとも1つを備え、前記位置フィードフォワード計算部、前記速度フィードフォワード計算部、及び前記電流フィードフォワード計算部のうちの少なくとも1つは前記制御パラメータ設定情報により制御パラメータの設定がされてもよい。
(10) 上記(1)、及び(3)から(9)のいずれかの調整装置において、前記制御装置は前記評価用プログラムを記憶していてもよい。
(11) 上記(1)から(10)のいずれかの調整装置において、前記調整装置(例えば、後述の調整装置320)は、前記機械学習装置(例えば、後述の機械学習装置200)を含んでもよい。
(12) 上記(1)から(10)のいずれかの調整装置において、前記調整装置(例えば、後述の調整装置300)は、前記機械学習装置(例えば、後述の機械学習装置210)に含まれてもよい。
(13) 上記(1)から(10)のいずれかの調整装置において、前記制御装置(例えば、後述のCNC装置110)は、前記機械学習装置(例えば、後述の機械学習装置200)を含んでもよい。
(14) 上記(1)から(10)のいずれかの調整装置において、前記制御装置(例えば、後述の制御装置120)に含まれ且つ前記機械学習装置(例えば、後述の機械学習装置200)を含んでもよい。
(15) 上記(1)から(10)のいずれかの調整装置において、前記調整装置(例えば、後述の調整装置300)は前記機械学習装置(例えば、後述の機械学習装置220)に含まれ、該機械学習装置は前記制御装置(例えば、後述の制御装置130)に含まれてもよい。
(16) 本発明に係る調整方法は、少なくとも2軸以上を駆動するモータを制御する制御装置(例えば、後述のCNC装置100、100A、110、120、130)と、前記制御装置に対して機械学習を行う機械学習装置(例えば、後述の機械学習装置200、210、220)とを制御する調整装置(例えば、後述の調整装置300、320、330)の調整方法であって、
前記機械学習装置を起動させ、
前記制御装置で実行される評価用プログラムに基づいて得られるフィードバック情報を前記制御装置から取得し、
取得した前記フィードバック情報を前記機械学習装置に送信し、
前記フィードバック情報を用いた機械学習により得られた制御パラメータ設定情報を前記機械学習装置から取得し、
取得した前記制御パラメータ設定情報を前記制御装置に送信する調整方法である。
本発明によれば、機械学習装置と制御装置を備え、評価用プログラムを用いて学習させるシステムにおいて、機械学習装置を用いた学習を適切に制御することができる。また、機械学習装置を含む制御装置において、機械学習装置を用いた学習を適切に制御することができる。
本発明の第1の実施形態の調整システムを示すブロック図である。 CNC装置と機械学習装置と調整装置との間の主な信号の流れを示すブロック図である。 CNC装置100の一構成例を示すブロック図である。 加工形状が円形の場合のサーボモータの動作を説明するための図である。 加工形状が円形で、位置A1で、テーブルをY軸方向に移動するサーボモータの回転方向が反転しようとした時の惰走により生ずる軌跡誤差を示す説明図である。 加工形状が四角の場合のサーボモータの動作を説明するための図である。 加工形状が角R付き四角の場合のサーボモータの動作を説明するための図である。 第1の実施形態の機械学習装置200を示すブロック図である。 第1の実施形態の調整装置300の一構成例を示すブロック図である。 調整システム10の起動動作を説明するフローチャートである。 調整システム10の学習動作を説明するフローチャートである。 調整システム10のパラメータ設定情報出力動作を説明するフローチャートである。 本発明の第2の実施形態の調整システムを示すブロック図である。 本発明の第3の実施形態の調整システムを示すブロック図である。 本発明の第4の実施形態の調整システムを示すブロック図である。 本発明の第5の実施形態のCNC装置を示すブロック図である。 本発明の第6の実施形態のCNC装置を示すブロック図である。 本発明の実施形態のCNC装置の他の構成例を示すブロック図である。
以下、本発明の実施形態について図面を用いて詳細に説明する。
(第1の実施形態)
図1は本発明の第1の実施形態の調整システムを示すブロック図である。本実施形態の調整システム10は、図1に示すように、n台のCNC(Computerized Numerical Control)装置100−1〜100−n、n台の機械学習装置200−1〜200−n、調整装置300、及びネットワーク400を備えている。なお、nは任意の自然数である。CNC装置は制御装置に対応し、数値制御(Numerical Control)装置の一つである。
ここで、CNC装置100−1と機械学習装置200−1は、1対1の組とされて、調整装置300とネットワーク400を介して通信可能に接続されている。CNC装置100−2〜100−nと機械学習装置200−2〜200−nについてもCNC装置100−1と機械学習装置200−1と同様に接続される。
調整装置300とCNC装置100−1〜100−n、及び調整装置300と機械学習装置200−1〜200−nとは、それぞれ接続インターフェースを介して直接に接続、又はそれぞれネットワークを介して接続されており、相互に通信を行うことが可能である。なお、ネットワークは、例えば、工場内に構築されたLAN(Local Area Network)や、インターネット、公衆電話網、或いは、これらの組み合わせである。ネットワークにおける具体的な通信方式や、有線接続および無線接続のいずれであるか等については、特に限定されない。
図2はCNC装置と機械学習装置と調整装置との間の信号の主な流れを示すブロック図である。調整装置300は、CNC装置100によって実際に制御対象を制御する前に、CNC装置100の制御パラメータを適正な値に設定するために機械学習装置200で学習が行われるように、CNC装置100及び機械学習装置200を制御する。ここで、CNC装置100と機械学習装置200は、n台のCNC装置100−1〜100−nとn台の機械学習装置200−1〜200−nとのn個の組の一つである。
図2に示すように、調整装置300は、CNC装置100において、学習時に実行する評価用プログラムを送信し、機械学習装置200に起動指示を送信する。
次に、調整装置300はCNC装置100に対して評価用プログラムの実行指示を送信する。CNC装置100は評価用プログラムを実行し、実行される評価用プログラムに基づいて得られるフィードバック情報を調整装置300に送信する。調整装置300は取得したフィードバック情報を機械学習装置200に送信する。
次に、機械学習装置200はフィードバック情報を用いて機械学習を行い、機械学習により得られたパラメータ設定情報を調整装置300に送信する。調整装置300は取得したパラメータ設定情報をCNC装置100に送信する。こうして、CNC装置100は適正な制御パラメータに設定される。
なお、CNC装置100と機械学習装置200とは、接続インターフェースを介して直接に接続、又はそれぞれネットワークを介して接続して、図2に示した調整装置300を介した信号の一部を、調整装置300を介さずCNC装置100と機械学習装置200との間で送受信してもよい。また、オペレータがCNC装置100で評価用プログラムを実行させる場合には、調整装置300からCNC装置100へ評価用プログラムの実行指示を送信しなくともよい。
以下、制御装置となるCNC装置100、機械学習装置200、及び調整装置300の各構成について説明する。以下の説明においては、機械学習装置200がCNC装置100の制御パラメータを強化学習する場合を例に取り上げて説明を行う。
<CNC装置100>
図3はCNC装置の一構成例を示すブロック図である。説明の便宜上、図3において、調整装置300及び機械学習装置200も示している。
図3に示すように、CNC装置100は、制御対象500のサーボモータ600を制御する。サーボモータ600は、制御される軸が少なくとも2軸以上ある場合は軸の数分設けられる。本実施形態では評価用プログラムが少なくとも2軸動作させるので、サーボモータの数は少なくとも2つ設けられる。ここではモータとしてサーボモータを示しているが、スピンドルモータ等の他のモータを用いてもよい。制御対象500は例えばサーボモータ、サーボモータを含む工作機械,ロボット,産業機械等である。CNC装置100は工作機械、ロボット、又は産業機械等の一部として設けられてもよい。以下、制御対象500がサーボモータを含む工作機械である場合を例にとって説明する。
図3に示すように、CNC装置100は、数値制御情報処理部1011、記憶部1012、減算器1013、位置制御部1014、加算器1015、減算器1016、速度制御部1017、加算器1018、積分器1019、位置フィードフォワード計算部1020、及び速度フィードフォワード計算部1021を備えている。数値制御情報処理部1011と記憶部1012を除くCNC装置100の各構成部はサーボモータごとに設けられる。
記憶部1012は評価用プログラムを記憶しており、この評価プログラムは、機械学習装置200による学習時にCNC装置100で用いられる加工プログラムである。評価用プログラムは、実際の切削加工等の加工時に用いられる加工プログラムとは別に設けられる。評価用プログラムは後述の調整装置300から数値制御情報処理部1011に送信され、数値制御情報処理部1011は評価用プログラムを記憶部1012に記憶する。
数値制御情報処理部1011は、後述の調整装置300からの実行指示に基づいて、記憶部1012から評価用プログラムを読み出して、評価用プログラムを実行する。そうすることで、数値制御情報処理部1011は、当該評価用プログラム中に含まれるコードに基づいて位置指令値を作成し、減算器1013に出力する。数値制御情報処理部1011は、評価用プログラムにより指定される加工形状となるように、送り速度を設定して位置指令値を作成する。
減算器1013は数値制御情報処理部1011から位置指令値を受け、位置指令値と位置フィードバックされた検出位置との差を求め、その差を位置偏差として位置制御部1014に出力するとともに後述の調整装置300に対して送信する。
位置制御部1014は、位置偏差にポジションゲインKpを乗じた値を、速度指令値として加算器1015に出力する。位置フィードフォワード計算部1020は位置指令値を微分してフィードフォワード係数を掛けた値を、加算器1015と速度フィードフォワード計算部1021に出力する。
加算器1015は、速度指令値と位置フィードフォワード計算部1020の出力値とを加算して、フィードフォワード制御された速度指令値として減算器1016に出力する。減算器1016は加算器1015の出力と速度フィードバックされた速度検出値との差を求め、その差を速度偏差として速度制御部1017に出力する。
速度制御部1017は、速度偏差に積分ゲインK1vを乗じて積分した値と、速度偏差に比例ゲインK2vを乗じた値とを加算して、トルク指令値として加算器1018に出力する。
速度フィードフォワード計算部1021は、例えば数式1(以下に数1として示す)で示す伝達関数Gf(s)で示される速度フィードフォワード計算処理を行い加算器2027に出力する。
Figure 2018180764
第1の実施形態では、伝達関数Gf(s)の次元を予め設定された値とした場合に、各係数a、bを最適なものとするように機械学習する。以下、係数a、bをCNC装置100の制御パラメータともいう。
加算器1018は、トルク指令値と速度フィードフォワード計算部1021の出力値とを加算して、フィードフォワード制御された電流指令値(トルク指令値)として制御対象500のサーボモータ600に出力する。
制御対象500のサーボモータ600の回転角度位置は、サーボモータ600に関連付けられた、位置検出部となるロータリーエンコーダによって検出され、検出された信号は速度フィードバックされる速度検出値として利用される。速度検出値は積分器1019で積分され、位置フィードバックされる位置検出値として利用される。
以上のように、CNC装置100は構成される。
次に、機械学習時に工作機械で実際に実行させる評価用プログラムについて説明する。前述したように、CNC装置100の制御パラメータを機械学習する場合、CNC装置100に全ての加工品の動作をさせることが好ましい。しかしながら、CNC装置100に全ての加工品の動作をさせることはできないため、これに代えて、機械学習に適した加工動作を行わせる評価用プログラムを予め設定する。
例えば、評価用プログラムは、学習時の加工形状により軸方向の移動距離、送り速度等を指定する。学習時の加工形状は、例えば、円、四角、及び角R付き四角(a square with quarter arc)等である。
図4A、図4Bは、加工形状が円形の場合のサーボモータの動作を説明するための図である。図4Cは、加工形状が四角の場合のサーボモータの動作を説明するための図である。図4Dは、加工形状が角R付き四角の場合のサーボモータの動作を説明するための図である。図4A〜図4Dにおいて、被加工物(ワーク)が時計まわりに加工されるようにテーブルが移動する。
加工形状が円形の場合は、図4Aに示すように、位置A1で、テーブルをY軸方向に移動するサーボモータは回転方向が反転し、テーブルはY軸方向に直線反転するように移動する。位置A2で、テーブルをX軸方向に移動するサーボモータは、回転方向が反転し、テーブルはX軸方向に直線反転するように移動する。
図4Bは、加工形状が円形で、位置A1で、テーブルをY軸方向に移動するサーボモータの回転方向が反転しようとした時の惰走により生ずる軌跡誤差を示す説明図である。
図4Bに示すように、テーブルをY軸方向に移動するサーボモータの回転方向が位置A1で反転しようとした時に、反転遅れが生じ、半径方向に軌跡誤差が拡大し、軌跡誤差の拡大表示を行うと軌跡誤差が突起として見える。
加工形状が四角の場合は、図4Cに示すように、位置Bで、テーブルをY軸方向に移動するサーボモータは、停止から回転動作に移り、テーブルをX軸方向に移動するサーボモータは、回転から停止に移り、テーブルはX軸方向の直線動作からY軸方向の直線動作に移る。
加工形状が角R付き四角の場合は、図4Dに示すように、位置C1で、テーブルをY軸方向に移動するサーボモータは、停止から回転動作に移り、テーブルはX軸方向の直線動作から円弧動作に移る。位置C2で、テーブルをX軸方向に移動するサーボモータは、回転から停止に移り、テーブルは円弧動作からY軸方向の直線動作に移る。
以上説明した、評価用プログラムにより指定される加工形状により、回転方向が反転したり、回転状態から停止したりする場合に生ずる惰走(惰性で動作する)を評価し、位置偏差に対する影響を調べることができる。
学習時にこのような評価用プログラムを実行することで、数値制御情報処理部1011は順次、円、四角、角R付き四角(a square with quarter arc)の加工形状となるように位置指令値を出力する。また、円、四角、角R付き四角(a square with quarter arc)の加工形状ごとに、送り速度を変更し、複数の送り速度についての影響も学習できるようにする。送り速度は、加工形状の図形の移動途中、例えば四角の加工形状にテーブルを移動させているときに、角を過ぎたときに送り速度を変更してもよい。
<機械学習装置200>
次に、第1実施形態における機械学習装置200について説明する。前述したとおり、機械学習装置200は、制御パラメータa、bを強化学習する。
より具体的には、機械学習装置200は、制御パラメータa、b(i,j≧0)の値、並びに評価用プログラムを実行することで取得されるCNC装置100の位置偏差情報を含む、指令及びフィードバック等のサーボ状態を状態sとして、当該状態sに係る制御パラメータa、bの調整を行動aとする、Q学習(Q−learning)を行う。当業者にとって周知のように、Q学習では、或る状態sのとき、取り得る行動aのなかから、価値Q(s,a)の最も高い行動aを最適な行動として選択することを目的とする。
具体的には、エージェント(機械学習装置)は、或る状態sの下で様々な行動aを選択し、その時の行動aに対して、与えられる報酬に基づいて、より良い行動の選択をすることにより、正しい価値Q(s,a)を学習していく。
また、将来にわたって得られる報酬の合計を最大化したいので、最終的にQ(s,a)=E[Σ(γ)r]となるようにすることを目指す。ここでE[]は期待値を表し、tは時刻、γは後述する割引率と呼ばれるパラメータ、rは時刻tにおける報酬、Σは時刻tによる合計である。この式における期待値は、最適な行動に従って状態変化した場合の期待値である。このような価値Q(s,a)の更新式は、例えば、次の数式2(以下に数2として示す)により表すことができる。
Figure 2018180764
上記の数式2において、sは、時刻tにおける環境の状態を表し、aは、時刻tにおける行動を表す。行動aにより、状態はst+1に変化する。rt+1は、その状態の変化により得られる報酬を表している。また、maxの付いた項は、状態st+1の下で、その時に分かっている最もQ値の高い行動aを選択した場合のQ値にγを乗じたものになる。ここで、γは、0<γ≦1のパラメータで、割引率と呼ばれる。また、αは、学習係数で、0<α≦1の範囲とする。
上述した数式2は、試行aの結果、返ってきた報酬rt+1を元に、状態sにおける行動aの価値Q(s,a)を更新する方法を表している。
機械学習装置200は、制御パラメータa、bに基づいて、予め設定された評価用プログラムを実行することで得られるCNC装置100の位置偏差情報を含む、指令及びフィードバック等のサーボ状態を含む状態情報sを観測して、行動aを決定する。状態情報はフィードバック情報に対応する。機械学習装置200は、行動aをするたびに報酬rが返ってくる。
ここで、報酬rを次のように設定する。
行動情報aにより状態情報sが状態情報s´に修正された場合、状態情報s´に係る修正後の制御パラメータa、bに基づいて動作したCNC装置100の位置偏差の値が、行動情報aにより修正される前の状態情報sに係る修正前の制御パラメータa、bに基づいて動作したCNC装置100の位置偏差の値よりも大きくなった場合に、報酬の値を負の値とする。
他方、行動情報aにより修正された状態情報s´に係る修正後の制御パラメータa、bに基づいて動作したCNC装置100の位置偏差の値が、行動情報aにより修正される前の状態情報sに係る修正前の制御パラメータa、bに基づいて動作したCNC装置100の位置偏差の値よりも小さくなった場合に、報酬の値を正の値とする。
Q学習では、機械学習装置200は、例えば、将来にわたっての報酬rの合計が最大になる最適な行動aを試行錯誤的に探索する。そうすることで、機械学習装置200は、制御パラメータa、bに基づいて、予め設定された評価用プログラムを実行することで取得されるCNC装置100の位置偏差情報を含む指令、フィードバック等のサーボ状態を含む状態sに対して、最適な行動a(すなわち、最適な制御パラメータa、b)を選択することが可能となる。
図5は本発明の第1の実施形態の機械学習装置200を示すブロック図である。
上述した強化学習を行うために、図5に示すように、機械学習装置200は、状態情報取得部201、学習部202、行動情報出力部203、価値関数記憶部204、及び最適化行動情報出力部205を備える。学習部202は報酬出力部2021、価値関数更新部2022、及び行動情報生成部2023を備える。
状態情報取得部201は、CNC装置100における制御パラメータa、bに基づいて、予め設定された評価用プログラムを実行することで取得されるCNC装置100の位置偏差情報を含む指令、フィードバック等のサーボ状態を含む、フィードバック情報となる状態情報sを、後述の調整装置300を介してCNC装置100から取得する。この状態情報sは、Q学習における、環境状態sに相当する。
状態情報取得部201は、取得した状態情報sを学習部202に対して出力する。
なお、最初にQ学習を開始する時点での制御パラメータa、bは、予めユーザの指定により後述の調整装置300が生成する。本実施形態では、後述の調整装置300が作成した制御パラメータa、bの初期設定値を、強化学習により最適なものに調整する。制御パラメータa、bは例えば、初期設定値として、a=1、a=0、b=0、b=制御対象のイナーシャ値とする。また、係数a、bの次元m、nを予め設定する。
すなわち、aについては0≦i≦m bについては0≦j≦nとする。
学習部202は、或る環境状態sの下で、ある行動aを選択する場合の価値Q(s,a)を学習する部分である。具体的には、学習部202は、報酬出力部2021、価値関数更新部2022及び行動情報生成部2023を備える。
報酬出力部2021は、或る状態sの下で、行動aを選択した場合の報酬rを前述したとおり、算出する。
価値関数更新部2022は、状態sと、行動aと、行動aを状態sに適用した場合の状態s´と、上記のようにして算出された報酬の値rと、に基づいてQ学習を行うことにより、価値関数記憶部204が記憶する価値関数Qを更新する。
なお、価値関数Qの更新は、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。オンライン学習、バッチ学習、ミニバッチ学習のいずれかの選択は調整装置300が行うことができる。
オンライン学習とは、或る行動aを現在の状態sに適用することにより、状態sが新たな状態s´に遷移する都度、即座に価値関数Qの更新を行うという学習方法である。また、バッチ学習とは、或る行動aを現在の状態sに適用することにより、状態sが新たな状態s´に遷移することを繰り返すことにより、学習用のデータを収集し、収集した全ての学習用データを用いて、価値関数Qの更新を行うという学習方法である。更に、ミニバッチ学習とは、オンライン学習と、バッチ学習の中間的な、ある程度学習用データが溜まるたびに価値関数Qの更新を行うという学習方法である。
行動情報生成部2023は、現在の状態sに対して、Q学習の過程における行動aを選択する。行動情報生成部2023は、Q学習の過程において、制御パラメータa、bを修正する動作(Q学習における行動aに相当)を行わせるために、行動情報aを生成して、生成した行動情報aを行動情報出力部203に対して出力する。より具体的には、行動情報生成部2023は、例えば、状態sに含まれる制御パラメータa、bに対してインクレメンタル(例えば0.01程度)に加算又は減算させる行動情報aを行動情報出力部203に対して出力する。この行動情報aはパラメータ修正情報となる。
行動情報生成部2023は、制御パラメータa、bの増加又は減少を適用して、状態s´に遷移して、プラスの報酬(正の値の報酬)が返った場合、次の行動a´としては、制御パラメータa、bに対して、前回のアクションと同様にインクレメンタルに加算又は減算させる等、位置偏差の値がより小さくなるような行動a´を選択する方策を取るようにしてもよい。
また、逆に、マイナスの報酬(負の値の報酬)が返った場合、行動情報生成部2023は、次の行動a´としては、例えば、制御パラメータa、bに対して、前回のアクションとは逆にインクレメンタルに減算又は加算させる等、位置偏差が前回の値よりも小さくなるような行動a´を選択する方策を取るようにしてもよい。
行動情報出力部203は、学習部202から出力される行動情報aとなるパラメータ修正情報をCNC装置100に対して、後述の調整装置300を介して送信する部分である。CNC装置100は上述したように、この行動情報に基づいて、現在の状態s、すなわち現在設定されている制御パラメータa、bを微修正することで、次の状態s´(すなわち修正された制御パラメータa、b)に遷移する。
価値関数記憶部204は、価値関数Qを記憶する記憶装置である。価値関数Qは、例えば状態s、行動a毎にテーブル(以下、行動価値テーブルと呼ぶ)として格納してもよい。価値関数記憶部204に記憶された価値関数Qは、価値関数更新部2022により更新される。
この最適化行動情報には、行動情報出力部203がQ学習の過程において出力する行動情報と同様に、制御パラメータa、bを修正する情報が含まれる。この制御パラメータa、bを修正する情報が、機械学習により得られたパラメータ設定情報となる。
CNC装置100では、パラメータ修正情報に基づいて制御パラメータa、bが修正され、速度フィードフォワードを高次のものとして、位置偏差の値を低減するように動作することができる。
以上のように、本発明に係る機械学習装置200を利用することで、CNC装置100の速度フィードフォワード計算部1021の制御パラメータ調整を簡易化することができる。
<調整装置300>
次に、第1の実施形態における調整装置300について説明する。
図6は調整装置300の一構成例を示すブロック図である。調整装置300は、フィードバック情報送信部301、パラメータ設定情報取得部302、パラメータ修正情報取得部303、起動指示出力部304、評価用プログラム記憶部305、評価用プログラム出力部306、評価用プログラム実行指示出力部307、フィードバック情報取得部308、パラメータ設定情報送信部309、パラメータ修正情報送信部310、パラメータ初期設定送信部311、及び制御部312を備えている。制御部312は各構成部の動作を制御する。
フィードバック情報送信部301、パラメータ設定情報取得部302、パラメータ修正情報取得部303、起動指示出力部304は機械学習装置200との間の送受信インターフェースのために設けられた構成部である。また、評価用プログラム記憶部305、評価用プログラム出力部306、評価用プログラム実行指示出力部307、フィードバック情報取得部308、パラメータ設定情報送信部309、パラメータ修正情報送信部310、及びパラメータ初期設定送信部311はCNC装置100との間の送受信インターフェースのために設けられた構成部である。制御部312は評価用プログラム記憶部305への評価用プログラムへの記憶、記憶された評価用プログラムの修正等を行う。
以下、図7A、図7B及び図7Cを用いて調整装置300の動作を中心とした調整システムの動作を説明する。
図7Aは調整システムの起動動作のフローを示す図である。
調整装置300の制御部312は、まずステップS41において、パラメータ初期設定送信部311を介して、CNC装置100に制御パラメータ初期設定を指示する。具体的には、調整装置300の制御部312は、速度フィードフォワード計算部1021に対して、係数a、bを、例えば、初期設定値として、数式1のa=1、a=0、b=0、b=制御対象のイナーシャ値とし、係数a、bの次元m、nを設定するように指示する。CNC装置100はステップS61において、調整装置300からの指示に基づいて、速度フィードフォワード計算部1021の係数a、bの値と次元を設定する。
次に、調整装置300の制御部312は、ステップS42において、評価用プログラム出力部306を介して、CNC装置100に対して評価用プログラムを送信する。具体的には、制御部312が評価用プログラム出力部306に対して評価用プログラムの送信を指示し、評価用プログラム出力部306が評価用プログラム記憶部305から評価用プログラムを読み出して、評価用プログラムをCNC装置100に送信する。CNC装置100の数値制御情報処理部1011はステップS62において、記憶部1012に評価用プログラムを保存する。
次に、調整装置300の制御部312は、ステップS43において、起動指示出力部304を介して、機械学習装置200に対して起動指示を行う。機械学習装置200はステップS31において、調整装置300から起動指示を受信して、装置を起動させ、その後スタンバイ状態とする。
次に、図7Bを用いて調整システム10の学習動作について説明する。
図7Bは調整システム10の学習動作を説明するフローチャートである。
調整装置300の制御部312は、ステップS44において、評価用プログラム実行指示出力部307を介して、CNC装置100の数値制御情報処理部1011に対して評価用プログラムの実行を指示する。
調整装置300からの実行指示を受けた後、CNC装置100の数値制御情報処理部1011は、ステップS63において、記憶部1012から評価用プログラムを読み出し、評価用プログラムに基づき位置指令値を作成する。CNC装置100はサーボモータ600を制御し、ステップS64において、速度フィードフォワード計算部1021の伝達関数の各係数a、b(i,j≧0)の値、並びに評価用プログラムを実行することで取得されるCNC装置100の位置偏差情報を含む、フィードバック情報を調整装置300に送信する。このフィードバック情報は状態情報sとなる。
調整装置300の制御部312は、ステップS45で、フィードバック情報をフィードバック情報取得部308を介して取得し、フィードバック情報送信部301を介して機械学習装置200に送信する。機械学習装置200はステップS32でフィードバック情報を受信する。
CNC装置100はステップS65で評価用プログラムによる一連の加工が終了したかどうかを判断する。ここで、評価用プログラムによる一連の加工が終了した状態とは、例えば、加工形状を円、四角、及び角R付き四角とする評価用プログラムが終了した状態をいう。評価用プログラムによる一連の加工が終了していなければ(ステップS65のNO)、ステップS63に戻る。評価用プログラムによる一連の加工が終了していれば(ステップS65のYES)、調整装置300に対して、評価用プログラムによる一連の加工が終了したことを通知する。
調整装置300の制御部312は、評価用プログラムによる一連の加工の終了通知を受けると、評価用プログラムの終了通知を受けた回数を記録、更新する。そして、調整装置300の制御部312は、ステップS46において、その回数が所定の回数を超えたか、あるいは所定の学習期間を過ぎたかを判断し、機械学習を終了させるか否かの判断を行う。機械学習を終了させない場合には(ステップS46のNO)、ステップS47に移行する。機械学習を終了させる場合には(ステップS46のYES)、ステップS49に移行する。
調整装置300は、ステップS47において、機械学習装置200に対して、報酬計算、価値関数更新を指示する。
機械学習装置200は、ステップS33で報酬計算、価値関数更新の指示を受信すると、ステップS34において、CNC装置100から受信した制御パラメータ、すなわち、速度フィードフォワード計算部1021の伝達関数の各係数a、b(i,j≧0)の値(制御パラメータの値)が初期設定値であるか否かを判断する。言い換えると、制御パラメータが初期設定値(状態情報)sの集合であるか、制御パラメータが初期設定値(状態情報)s以降の状態情報sの集合であるかを判断する。そして、制御パラメータが初期設定値(状態情報)sの集合でなく、制御パラメータが初期設定値(状態情報)s以降の状態情報sの集合である場合には(ステップS34のNO)、ステップS35に移行する。制御パラメータの値が初期設定値である場合には(ステップS34のYES)、ステップS36に移行する。
機械学習装置200は、ステップS35において、報酬を計算し、価値関数を更新し、その後、ステップS36に移行する。
機械学習装置200は、ステップS36において、制御パラメータ修正情報を生成して、制御パラメータ修正情報を調整装置300に送信する。ここで、制御パラメータ修正情報とは、例えば、状態sに含まれる速度フィードフォワード計算部の各係数に対して行動aに含まれる、速度フィードフォワード計算部の各係数a、bをインクレメンタル(例えば0.01程度)に加算又は減算させる情報である。
調整装置300は、ステップS48において、機械学習装置200から受信した制御パラメータ修正情報を、CNC装置100の速度フィードフォワード計算部1021に送信する。
速度フィードフォワード計算部1021は、ステップS66において、制御パラメータ修正情報を受けると、係数a、bを修正し、ステップS63に戻る。
こうすることで、CNC装置は、修正後の制御パラメータa、bに基づいて、評価用プログラムによる一連の加工を繰り返す。
次に、調整システム10の制御パラメータ設定情報出力動作を説明する。図7Cは調整システム10の制御パラメータ設定情報出力動作を説明するフローチャートである。制御パラメータ設定情報出力動作はステップS46において、機械学習を終了させる判断をした後の動作である。制御パラメータ設定情報は最適化行動情報となる。
図7Cに示すように、調整装置300の制御部312は、ステップS49において、機械学習装置200に対して、制御パラメータ設定情報の出力指示を送信する。
機械学習装置200は、ステップS37において、最適化行動情報となる制御パラメータ設定情報の出力指示を受信すると、最後の機械学習に対応する報酬を計算し、価値関数を更新する。
機械学習装置200(最適化行動情報出力部205)は、ステップS38において、価値関数記憶部204に記憶している価値関数Qを取得し、取得した価値関数Qに基づいて、例えば、初期状態sに対して最適化行動情報となる制御パラメータ設定情報を生成し、生成した制御パラメータ設定情報を調整装置300に対して出力する。
調整装置300は、ステップS50において、制御パラメータ設定情報を取得すると、CNC装置100に対して出力する。
CNC装置100は、ステップS67において、調整装置300から受信した制御パラメータ設定情報に基づいて速度フィードフォワード計算部1021の係数a、bを最適な値に設定する。
調整装置300は、ステップS51において、学習終了指示をCNC装置100及び機械学習装置200に対して送信し、学習を終了する。CNC装置100及び機械学習装置200は調整装置300から学習終了指示を受けると、学習を終了する。
以上、CNC装置100、機械学習装置200及び調整装置300の動作を処理フローに基づいて説明したが、上記の処理フローは一例であって、これに限定されない。
これらの機能を実現するために、CNC装置100、機械学習装置200及び調整装置300のそれぞれは、CPU(Central Processing Unit)等の演算処理装置を備える。また、CNC装置100、機械学習装置200及び調整装置300のそれぞれは、アプリケーションソフトウェアやOS(Operating System)等の各種の制御用プログラムを格納したHDD(Hard Disk Drive)等の補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶装置も備える。
そして、CNC装置100、機械学習装置200及び調整装置300のそれぞれにおいて、演算処理装置が補助記憶装置からアプリケーションソフトウェアやOSを読み込み、読み込んだアプリケーションソフトウェアやOSを主記憶装置に展開させながら、これらのアプリケーションソフトウェアやOSに基づいた演算処理を行なう。また、この演算結果に基づいて、各装置が備える各種のハードウェアを制御する。これにより、本実施形態の機能ブロックは実現される。つまり、本実施形態は、ハードウェアとソフトウェアが協働することにより実現することができる。
機械学習装置200については機械学習に伴う演算量が多いため、例えば、パーソナルコンピュータにGPU(Graphics Processing Units)を搭載し、GPGPU(General-Purpose computing on Graphics Processing Units)と呼ばれる技術により、GPUを機械学習に伴う演算処理に利用するようにすると高速処理できるようになるのでよい。更には、より高速な処理を行うために、このようなGPUを搭載したコンピュータを複数台用いてコンピュータ・クラスターを構築し、このコンピュータ・クラスターに含まれる複数のコンピュータにて並列処理を行うようにしてもよい。
以上説明した第1の実施形態は種々の変形例が可能である。
例えば、CNC装置100の速度フィードフォワード計算部1021において、制御パラメータを予め初期設定しておいてもよい。この場合には図6のパラメータ初期設定送信部311、及び図7Aの調整装置300のステップS41とCNC装置100のステップS61は設けなくてよい。
また、CNC装置100は、評価用プログラムを予め評価用プログラムを記憶部1012に記憶しておいてもよい。この場合は、調整装置300の評価用プログラム記憶部305と評価用プログラム出力部306、及び図7Aの調整装置300のステップS42とCNC装置100のステップS62は設けなくともよい。
また、評価用プログラム実行指示出力部307、及び図7Aの調整装置300のステップS44に換えて、CNC装置100は、ステップS63において、オペレータの指示にしたがって、評価用プログラムの実行を行うようにしてもよい。
さらに、調整装置300を介さずにCNC装置100と機械学習装置200との間で信号の送受信を直接行うようにしてもよい。この場合、調整装置300のフィードバック情報取得部308とフィードバック情報送信部301、図7Bに記載のステップS45における調整装置300によるフィードバック情報の受信と送信は設けなくともよい。
同様に、調整装置300の図7Bに記載のステップS46における、調整装置300による評価用プログラムによる一連の加工の終了通知の受信と、報酬計算、価値関数の更新指示の送信は行わなくともよい。
(第2の実施形態)
図8は本発明の第2の実施形態の調整システムを示すブロック図である。本実施形態のCNC装置及び機械学習装置は図2、図3、及び図5に示したCNC装置100及び機械学習装置200と同一構成なので同一番号を付して説明を省略する。本実施形態の調整システム11は調整装置320が機械学習装置200を含んでいる。調整装置320の構成は機械学習装置200を除くと図6に示した調整装置300と同じである。調整装置320とCNC装置100とが、接続インターフェースを介して直接に接続、又はネットワークを介して接続されており、相互に通信を行うことが可能である。ネットワークは、例えば、工場内に構築されたLAN(Local Area Network)や、インターネット、公衆電話網、或いは、これらの組み合わせである。ネットワークにおける具体的な通信方式や、有線接続および無線接続のいずれであるか等については、特に限定されない。
(第3の実施形態)
図9は本発明の第3の実施形態の調整システムを示すブロック図である。本実施形態のCNC装置及び調整装置は図2、図3、及び図6に示したCNC装置100及び調整装置300と同一構成なので同一番号を付して説明を省略する。本実施形態の調整システム12は機械学習装置210が調整装置300を含んでいる。機械学習装置210の構成は調整装置300を除くと図5に示した機械学習装置200と同じである。CNC装置100と機械学習装置210とが、接続インターフェースを介して直接に接続、又はネットワークを介して接続されており、相互に通信を行うことが可能である。ネットワークは、例えば、工場内に構築されたLAN(Local Area Network)や、インターネット、公衆電話網、或いは、これらの組み合わせである。ネットワークにおける具体的な通信方式や、有線接続および無線接続のいずれであるか等については、特に限定されない。
(第4の実施形態)
図10は本発明の第4の実施形態の調整システムを示すブロック図である。本実施形態の機械学習装置及び調整装置は図2、図5、及び図6に示した機械学習装置200及び調整装置300と同一構成なので同一番号を付して説明を省略する。本実施形態の調整システム13はCNC装置110が機械学習装置200を含んでいる。CNC装置110の構成は機械学習装置200を除くと図3に示したCNC装置100と同じである。CNC装置110と調整装置300とが、接続インターフェースを介して直接に接続、又はネットワークを介して接続されており、相互に通信を行うことが可能である。
(第5の実施形態)
図11は本発明の第5の実施形態のCNC装置を示すブロック図である。本実施形態のCNC装置120は調整装置330を含み、さらに調整装置330が機械学習装置200を含んでいる。CNC装置120の構成は、機械学習装置230を含む調整装置330を除くと図3に示したCNC装置100と同じであり、CNC装置100と同一の構成の制御部を備えている。本実施形態ではCNC装置120のオペーレーションシステム上で、機械学習装置200の機能を含む調整装置330の機能を実行するアプリケーションソフトを実行することができる。
(第6の実施形態)
図12は本発明の第6の実施形態のCNC装置を示すブロック図である。本実施形態のCNC装置130は機械学習装置220を含み、さらに機械学習装置220が調整装置300を含んでいる。CNC装置130の構成は、調整装置300を含む機械学習装置220を除くと図3に示したCNC装置100と同じであり、CNC装置100と同一の構成の制御部を備えている。本実施形態ではCNC装置130のオペーレーションシステム上で、調整装置300を含む機械学習装置220の機能を実行するアプリケーションソフトを実行することができる。
上記のCNC装置100〜130、機械学習装置200〜220、及び調整装置300、320及び330に含まれる各構成部は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記のサーボ制御装置に含まれる各構成部のそれぞれの協働により行なわれるサーボ制御方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
例えば、本実施形態のCNC装置の構成は図3に示した構成に限定されない。
図13は本実施形態のCNC装置の他の構成例を示すブロック図である。図13に示すCNC装置100Aと図3に示すCNC装置100との違いは、図13に示すCNC装置100Aが減算器1022、電流制御部1023、加算器1024、及び電流フィードフォワード計算部1025をさらに含み、電流フィードバックを行う構成としている点である。
また、上述した各実施形態の機械学習装置200、210、220は、評価用プログラムをCNC装置100に実行させることにより、位置偏差と、速度フィードフォワード計算部1021の伝達関数の係数の組み合わせと、を含む状態情報をフィードバック情報として取得し、状態情報に含まれる係数の組み合わせの調整情報を含む行動情報をCNC装置100の速度フィードフォワード計算部1021に出力することで強化学習を行う例であった。
速度フィードフォワード計算部1021における機械学習に限定されない。例えば、速度フィードフォワード計算部1021に加えて、又は速度フィードフォワード計算部1021に換えて、位置フィードフォワード計算部1020及び/又は電流フィードフォワード計算部1025の伝達関数の係数(制御パラメータ)について機械学習(強化学習)を行ってもよい。
また、第1の実施形態においては、機械学習装置が強化学習を行うためのフィードバック情報は、位置偏差と、速度フィードフォワード計算部1021の伝達関数の係数の組み合わせであったが、フィードバック情報は位置偏差に限定されず、位置偏差に加えて位置指令及び位置フィードバック(位置検出値)のうちの少なくとも1つを含んでもよい。さらに、速度指令、速度フィードバック、速度偏差、電流指令、電流フィードバック、及び電流偏差のうちの少なくとも1つを加えてもよい。位置指令は数値制御情報処理部1011の出力、位置フィードバックは積分器1019の出力がそれぞれ対応する。速度指令は加算器1015の出力、速度フィードバック(速度検出値)はサーボモータ600に関連付けられたロータリーエンコーダの出力、速度偏差は減算器1016の出力がそれぞれ対応する。電流指令は加算器1018の出力、電流フィードバックはサーボモータ600に流す電流の検出値、電流偏差は減算器1022の出力がそれぞれ対応する。
また、上述した各実施形態の機械学習装置200、210、220は強化学習に関する例について説明したが、その他の手法、例えば、「教師あり学習」、「教師なし学習」に本発明を適用してもよい。
さらに、フィードバック情報は、機械学習を行う対象、機械学習の手法によって適宜選択することができる。
<システム構成の自由度>
上述した図1及び2に示した実施形態では、CNC装置100と機械学習装置200とが1対1の組として通信可能に接続されているが、例えば1台の機械学習装置200が複数のCNC装置100とネットワーク400を介して通信可能に接続され、各CNC装置100の機械学習を実施するようにしてもよい。
その際、機械学習装置200の各機能を、適宜複数のサーバに分散する、分散処理システムとしてもよい。また、クラウド上で仮想サーバ機能等を利用して、機械学習装置200の各機能を実現してもよい。
また、複数の同じ型名、同一仕様、又は同一シリーズのCNC装置100−1〜100−nとそれぞれ対応する複数の機械学習装置200−1〜200−nがあった場合に、各機械学習装置200−1〜200−nにおける学習結果を共有するように構成するようにしてもよい。そうすることで、より最適なモデルを構築することが可能となる。
また、図8及び図10に示す第2及び第4の実施形態では、1台の調整装置が1台のCNC装置に対して設けられているが、1台の調整装置が複数台のCNC装置に対して設けられてもよい。さらに、図9に示す第3の実施形態では、1台の機械学習装置が1台のCNC装置に対して設けられているが、1台の調整装置が複数台のCNC装置に対して設けられてもよい。
10−13 調整システム
100、110、120、130 CNC装置
200、210 機械学習装置
300、310、 調整装置
301 フィードバック情報送信部
302 パラメータ設定情報取得部
303 パラメータ修正情報取得部
304 起動指示出力部
305 評価用プログラム記憶部
306 評価用プログラム出力部
307 評価用プログラム実行指示出力部
308 フィードバック情報取得部
309 パラメータ設定情報送信部
310 パラメータ修正情報送信部
311 パラメータ初期設定送信部
312 制御部

Claims (16)

  1. 少なくとも2軸以上を駆動するモータを制御する制御装置と、前記制御装置に対して機械学習を行う機械学習装置とを制御する調整装置であって、
    前記機械学習装置を起動させる起動指示を出力する起動指示出力部と、
    前記制御装置で実行される評価用プログラムに基づいて得られるフィードバック情報を前記制御装置から取得するフィードバック情報取得部と、
    取得した前記フィードバック情報を前記機械学習装置に送信するフィードバック情報送信部と、
    前記フィードバック情報を用いた機械学習により得られた制御パラメータ設定情報を前記機械学習装置から取得するパラメータ設定情報取得部と、
    取得した前記制御パラメータ設定情報を前記制御装置に送信するパラメータ設定情報送信部と、を備えた調整装置。
  2. 前記評価用プログラムを記憶する記憶部と、前記評価用プログラムを前記制御装置に出力する評価用プログラム出力部とを、備えた請求項1に記載の調整装置。
  3. 前記評価用プログラムを実行させる実行指示を前記制御装置に送る評価用プログラム実行指示出力部を備えた請求項1又は2に記載の調整装置。
  4. 前記モータで2軸以上を駆動したときに、前記フィードバック情報取得部は前記制御装置から前記フィードバック情報を取得して前記機械学習装置に送る請求項1から3のいずれか1項に記載の調整装置。
  5. 前記フィードバック情報は、位置指令、位置フィードバック、及び位置偏差のうちの少なくとも1つを含む請求項1から4のいずれか1項に記載の調整装置。
  6. 前記フィードバック情報は、さらに、速度指令、速度フィードバック、及び速度偏差のうちの少なくとも1つを含む請求項5に記載の調整装置。
  7. 前記フィードバック情報は、さらに、電流指令、電流フィードバック、及び電流偏差のうちの少なくとも1つを含む請求項5に記載の調整装置。
  8. 前記機械学習は強化学習であって、
    前記フィードバック情報取得部は前記制御装置から状態情報として前記フィードバック情報を取得し、
    前記機械学習装置から得られた制御パラメータ修正情報を行動情報として前記制御装置に送るパラメータ修正情報送信部を備えた請求項1から7のいずれか1項に記載の調整装置。
  9. 前記制御装置は位置フィードフォワード計算部、速度フィードフォワード計算部、及び電流フィードフォワード計算部のうちの少なくとも1つを備え、前記位置フィードフォワード計算部、前記速度フィードフォワード計算部、及び前記電流フィードフォワード計算部のうちの少なくとも1つは前記制御パラメータ設定情報により制御パラメータの設定がされる請求項1から8のいずれか1項に記載の調整装置。
  10. 前記制御装置は前記評価用プログラムを記憶している請求項1及び3から9のいずれか1項に記載の調整装置。
  11. 前記機械学習装置を含んでいる請求項1から10のいずれか1項に記載の調整装置。
  12. 前記機械学習装置に含まれている請求項1から10のいずれか1項に記載の調整装置。
  13. 前記制御装置は、前記機械学習装置を含んでいる請求項1から10のいずれか1項に記載の調整装置。
  14. 前記制御装置に含まれ且つ前記機械学習装置を含んでいる請求項1から10のいずれか1項に記載の調整装置。
  15. 前記調整装置は前記機械学習装置に含まれ、該機械学習装置は前記制御装置に含まれている請求項1から10のいずれか1項に記載の調整装置。
  16. 少なくとも2軸以上を駆動するモータを制御する制御装置と、前記制御装置に対して機械学習を行う機械学習装置とを制御する調整装置の調整方法であって、
    前記機械学習装置を起動させ、
    前記制御装置で実行される評価用プログラムに基づいて得られるフィードバック情報を前記制御装置から取得し、
    取得した前記フィードバック情報を前記機械学習装置に送信し、
    前記フィードバック情報を用いた機械学習により得られた制御パラメータ設定情報を前記機械学習装置から取得し、
    取得した前記制御パラメータ設定情報を前記制御装置に送信する調整方法。
JP2017076706A 2017-04-07 2017-04-07 調整装置及び調整方法 Active JP6474449B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017076706A JP6474449B2 (ja) 2017-04-07 2017-04-07 調整装置及び調整方法
CN201810282626.4A CN108693834B (zh) 2017-04-07 2018-04-02 调整装置以及调整方法
US15/944,308 US10444733B2 (en) 2017-04-07 2018-04-03 Adjustment device and adjustment method
DE102018205015.5A DE102018205015B4 (de) 2017-04-07 2018-04-04 Einstellvorrichtung und Einstellverfahren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017076706A JP6474449B2 (ja) 2017-04-07 2017-04-07 調整装置及び調整方法

Publications (2)

Publication Number Publication Date
JP2018180764A true JP2018180764A (ja) 2018-11-15
JP6474449B2 JP6474449B2 (ja) 2019-02-27

Family

ID=63587756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017076706A Active JP6474449B2 (ja) 2017-04-07 2017-04-07 調整装置及び調整方法

Country Status (4)

Country Link
US (1) US10444733B2 (ja)
JP (1) JP6474449B2 (ja)
CN (1) CN108693834B (ja)
DE (1) DE102018205015B4 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019185539A (ja) * 2018-04-13 2019-10-24 ファナック株式会社 調整装置及び調整方法
WO2020261473A1 (ja) * 2019-06-27 2020-12-30 三菱電機株式会社 数値制御装置、機械学習装置、及び数値制御方法
JP6843314B1 (ja) * 2019-09-11 2021-03-17 三菱電機株式会社 数値制御装置、数値制御方法および機械学習装置
US11507885B2 (en) 2019-02-12 2022-11-22 Fanuc Corporation Machine learning device, control device, and machine learning search range setting method

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6474449B2 (ja) * 2017-04-07 2019-02-27 ファナック株式会社 調整装置及び調整方法
JP6748135B2 (ja) * 2018-03-19 2020-08-26 ファナック株式会社 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP6860541B2 (ja) * 2018-10-29 2021-04-14 ファナック株式会社 出力装置、制御装置、及び評価関数値の出力方法
JP6799047B2 (ja) * 2018-11-19 2020-12-09 ファナック株式会社 暖機運転評価装置、暖機運転評価方法及び暖機運転評価プログラム
US11461162B2 (en) * 2020-07-06 2022-10-04 Ringcentral, Inc. Maze-driven self-diagnostics using reinforcement learning
CN112202370B (zh) * 2020-09-28 2022-04-15 北京科技大学 一种同轴双电机模型预测直接转矩控制方法
CN113638808B (zh) * 2021-08-17 2022-11-22 中国联合重型燃气轮机技术有限公司 燃料阀冗余伺服控制方法、装置及系统
US20230205180A1 (en) * 2021-12-23 2023-06-29 Ats Corporation Methods and systems for controlling computer numerical control machines

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03259303A (ja) * 1990-03-09 1991-11-19 Hitachi Ltd 学習制御装置
JPH04324507A (ja) * 1991-04-25 1992-11-13 Hitachi Ltd 駆動装置の加減速制御方法及びロボットシステム
CN102467113A (zh) * 2010-11-10 2012-05-23 新代科技股份有限公司 机械装置的具有参数学习的控制器及其参数学习方法
JP2018152012A (ja) * 2017-03-15 2018-09-27 ファナック株式会社 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6063016A (ja) 1984-07-31 1985-04-11 松下電器産業株式会社 ミル付コ−ヒ−沸し器
JPH07501643A (ja) * 1991-12-09 1995-02-16 シーメンス アクチエンゲゼルシヤフト 制御パラメータに依存する実際値特性を有するシステムに対する制御パラメータの最適化方法
JP4745798B2 (ja) * 2005-11-11 2011-08-10 株式会社日立産機システム 電動機制御装置の自動調整法および装置
CN102374038B (zh) * 2011-09-06 2013-09-11 天津大学 自学习的前馈和主动抗扰反馈结合的vvt控制方法
WO2015021016A1 (en) * 2013-08-05 2015-02-12 Board Of Trustees Of The University Of Alabama Systems, methods and devices for vector control of permanent magnet synchronous machines using artificial neural networks
US9533413B2 (en) * 2014-03-13 2017-01-03 Brain Corporation Trainable modular robotic apparatus and methods
US9364950B2 (en) * 2014-03-13 2016-06-14 Brain Corporation Trainable modular robotic methods
JP6063016B1 (ja) 2015-09-29 2017-01-18 ファナック株式会社 電動機に対する動作指令を学習する機械学習方法および機械学習装置並びに該機械学習装置を備えた工作機械
JP6193961B2 (ja) * 2015-11-30 2017-09-06 ファナック株式会社 機械の送り軸の送りの滑らかさを最適化する機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置
US11259742B2 (en) * 2016-08-19 2022-03-01 Curiato Inc. System, method, and computer readable medium for dynamic pressure damage risk assessment and response
JP6744208B2 (ja) * 2016-12-27 2020-08-19 株式会社日立製作所 制御装置及び制御方法
JP6457563B2 (ja) * 2017-01-24 2019-01-23 ファナック株式会社 数値制御装置及び機械学習装置
JP2018126796A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
JP2018126799A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
JP6474449B2 (ja) * 2017-04-07 2019-02-27 ファナック株式会社 調整装置及び調整方法
JP6557285B2 (ja) * 2017-05-26 2019-08-07 ファナック株式会社 制御装置及び機械学習装置
JP6499720B2 (ja) * 2017-06-22 2019-04-10 ファナック株式会社 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP6538766B2 (ja) * 2017-07-18 2019-07-03 ファナック株式会社 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法
JP6698603B2 (ja) * 2017-09-29 2020-05-27 ファナック株式会社 数値制御システム、及び運転状態異常検知方法
JP2019086928A (ja) * 2017-11-06 2019-06-06 ファナック株式会社 制御装置及び機械学習装置
JP6680748B2 (ja) * 2017-11-17 2020-04-15 ファナック株式会社 制御装置及び機械学習装置
JP6680756B2 (ja) * 2017-12-26 2020-04-15 ファナック株式会社 制御装置及び機械学習装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03259303A (ja) * 1990-03-09 1991-11-19 Hitachi Ltd 学習制御装置
JPH04324507A (ja) * 1991-04-25 1992-11-13 Hitachi Ltd 駆動装置の加減速制御方法及びロボットシステム
CN102467113A (zh) * 2010-11-10 2012-05-23 新代科技股份有限公司 机械装置的具有参数学习的控制器及其参数学习方法
JP2018152012A (ja) * 2017-03-15 2018-09-27 ファナック株式会社 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019185539A (ja) * 2018-04-13 2019-10-24 ファナック株式会社 調整装置及び調整方法
US11507885B2 (en) 2019-02-12 2022-11-22 Fanuc Corporation Machine learning device, control device, and machine learning search range setting method
WO2020261473A1 (ja) * 2019-06-27 2020-12-30 三菱電機株式会社 数値制御装置、機械学習装置、及び数値制御方法
JP6813129B1 (ja) * 2019-06-27 2021-01-13 三菱電機株式会社 数値制御装置、機械学習装置、及び数値制御方法
JP6843314B1 (ja) * 2019-09-11 2021-03-17 三菱電機株式会社 数値制御装置、数値制御方法および機械学習装置
WO2021048959A1 (ja) * 2019-09-11 2021-03-18 三菱電機株式会社 数値制御装置、数値制御方法および機械学習装置
CN114424130A (zh) * 2019-09-11 2022-04-29 三菱电机株式会社 数控装置、数控方法及机器学习装置

Also Published As

Publication number Publication date
CN108693834B (zh) 2019-12-03
DE102018205015A1 (de) 2018-10-11
DE102018205015B4 (de) 2020-08-13
CN108693834A (zh) 2018-10-23
US20180292808A1 (en) 2018-10-11
US10444733B2 (en) 2019-10-15
JP6474449B2 (ja) 2019-02-27

Similar Documents

Publication Publication Date Title
JP6474449B2 (ja) 調整装置及び調整方法
CN108628355B (zh) 伺服控制装置及系统、机器学习装置及方法
CN109116811B (zh) 机器学习装置和方法、伺服控制装置、伺服控制系统
CN109274314B (zh) 机器学习装置、伺服电动机控制装置、伺服电动机控制系统以及机器学习方法
CN110376969B (zh) 调整装置以及调整方法
JP6740277B2 (ja) 機械学習装置、制御装置、及び機械学習方法
US10481566B2 (en) Machine learning device, servo control device, servo control system and machine learning method
JP6748135B2 (ja) 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP6740278B2 (ja) 機械学習装置、制御装置、及び機械学習方法
JP6784722B2 (ja) 出力装置、制御装置、及び評価関数値の出力方法
JP6474456B2 (ja) 機械学習装置、サーボ制御システム及び機械学習方法
US11592789B2 (en) Output device, control device, and method for outputting evaluation functions and machine learning results
US11914333B2 (en) Machine learning device, servo control device, servo control system, and machine learning method
JP6806746B2 (ja) モータ制御装置
JP6860541B2 (ja) 出力装置、制御装置、及び評価関数値の出力方法
JP6740263B2 (ja) 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法
JP6740290B2 (ja) 機械学習装置、制御装置、及び機械学習方法

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190129

R150 Certificate of patent or registration of utility model

Ref document number: 6474449

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150