JP2019162712A - Control device, machine learning device and system - Google Patents
Control device, machine learning device and system Download PDFInfo
- Publication number
- JP2019162712A JP2019162712A JP2019001285A JP2019001285A JP2019162712A JP 2019162712 A JP2019162712 A JP 2019162712A JP 2019001285 A JP2019001285 A JP 2019001285A JP 2019001285 A JP2019001285 A JP 2019001285A JP 2019162712 A JP2019162712 A JP 2019162712A
- Authority
- JP
- Japan
- Prior art keywords
- polishing
- learning
- robot
- control device
- state
- 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.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/005—Manipulators for mechanical processing tasks
- B25J11/0065—Polishing or grinding
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
Abstract
Description
本発明は、制御装置、機械学習装置及びシステムに関し、特に研磨品質を最適化する制御装置、機械学習装置及びシステムに関する。 The present invention relates to a control device, a machine learning device, and a system, and more particularly to a control device, a machine learning device, and a system that optimize polishing quality.
従来、ロボットが機械部品等の研磨作業を行う場合において、研磨品質の確認作業は人の目視によることが一般的であった。また、研磨品質を向上させるためには、ロボットの動作速度、押付力、研磨ツールの回転数、トルクなど様々な条件を変更しながらテスト研磨を繰り返し実施する必要があった。 Conventionally, when a robot performs a polishing operation on a machine part or the like, the polishing quality confirmation operation is generally performed by human visual inspection. Further, in order to improve the polishing quality, it is necessary to repeatedly perform the test polishing while changing various conditions such as the operation speed of the robot, the pressing force, the number of rotations of the polishing tool, and the torque.
特許文献1には、残存ばり高さをセンサで計測する計測動作と、削り動作と、を交互に繰り返すばり研削ロボットが記載されている。特許文献2には、検査ロボットが撮像手段を用いてワークの表面状態の欠陥を監視する方法が記載されている。
Patent Document 1 describes a flash grinding robot that alternately repeats a measurement operation for measuring the remaining flash height with a sensor and a cutting operation.
人手による試行錯誤で所望の研磨品質を得るまでには、多大な手間と時間が必要である。この点、特許文献1及び特許文献2のいずれも、研磨品質を自動的に最適化するための具体的な技術手段は開示していない。
It takes a lot of labor and time to obtain a desired polishing quality by trial and error by hand. In this respect, neither Patent Document 1 nor
そこで、研磨品質を最適化する制御装置、機械学習装置及びシステムが望まれている。 Therefore, a control device, a machine learning device, and a system that optimize the polishing quality are desired.
本発明の一態様にかかる制御装置は、ワークの研磨を行うロボットを制御する制御装置であって、前記研磨を行う際の研磨条件を学習する機械学習装置を備え、前記機械学習装置は、前記研磨の後の前記ワークの表面状態の特徴と、前記研磨条件と、を環境の現在状態を表す状態変数として観測する状態観測部と、前記研磨の後の前記ワークの表面状態の評価結果を示す判定データを取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、前記研磨の後の前記ワークの表面状態の特徴と、前記研磨条件と、を関連付けて学習する学習部と、を備える。
本発明の他の態様にかかる機械学習装置は、ロボットによりワークの研磨を行う際の研磨条件を学習する機械学習装置であって、前記研磨の後の前記ワークの表面状態の特徴と、前記研磨条件と、を環境の現在状態を表す状態変数として観測する状態観測部と、前記研磨の後の前記ワークの表面状態の評価結果を示す判定データを取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、前記研磨の後の前記ワークの表面状態の特徴と、前記研磨条件と、を関連付けて学習する学習部と、を備える。
本発明の他の態様にかかるシステムは、複数の装置がネットワークを介して相互に接続されたシステムであって、前記複数の装置は、少なくとも機械学習装置を有する制御装置を備えた第1のロボットを含むシステムである。
A control device according to an aspect of the present invention is a control device that controls a robot that polishes a workpiece, and includes a machine learning device that learns polishing conditions when performing the polishing, and the machine learning device includes: A state observation unit for observing characteristics of the surface state of the workpiece after polishing and the polishing conditions as state variables representing the current state of the environment, and an evaluation result of the surface state of the workpiece after polishing A determination data acquisition unit that acquires determination data, and a learning unit that learns the characteristics of the surface state of the workpiece after the polishing and the polishing conditions in association with each other using the state variable and the determination data. .
A machine learning device according to another aspect of the present invention is a machine learning device that learns polishing conditions when a workpiece is polished by a robot, and the characteristics of the surface state of the workpiece after the polishing and the polishing A state observing unit for observing the condition as a state variable representing the current state of the environment, a determination data acquiring unit for acquiring determination data indicating an evaluation result of the surface state of the workpiece after the polishing, and the state variable A learning unit that learns the characteristics of the surface state of the workpiece after the polishing and the polishing conditions in association with each other using the determination data.
A system according to another aspect of the present invention is a system in which a plurality of devices are connected to each other via a network, and the plurality of devices includes a control device having at least a machine learning device. It is a system including
本発明により、研磨品質を最適化する制御装置及び機械学習装置を提供することができる。 The present invention can provide a control device and a machine learning device that optimize polishing quality.
図1は、本発明の一実施形態による制御装置1と、制御装置1によって制御される産業用ロボットの要部とを示す概略的なハードウェア構成図である。制御装置1は、例えば研磨を行う産業用ロボット(以下、単にロボットという)を制御する制御装置である。制御装置1は、CPU11、ROM12、RAM13、不揮発性メモリ14、インタフェース18、インタフェース19、インタフェース21、インタフェース22,バス20、軸制御回路30、サーボアンプ40を有する。制御装置1には、サーボモータ50、教示操作盤60、研磨ツール70、撮像装置80が接続される。
FIG. 1 is a schematic hardware configuration diagram showing a control device 1 according to an embodiment of the present invention and main parts of an industrial robot controlled by the control device 1. The control device 1 is a control device that controls, for example, an industrial robot that performs polishing (hereinafter simply referred to as a robot). The control device 1 includes a CPU 11,
CPU11は、制御装置1を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステム・プログラムをインタフェース22,バス20を介して読み出し、システム・プログラムに従って制御装置1全体を制御する。
The CPU 11 is a processor that controls the control device 1 as a whole. The CPU 11 reads the system program stored in the
ROM12は、ロボットの各種制御等を実行するためのシステム・プログラム(後述する機械学習装置100とのやりとりを制御するためのシステム・プログラムを含む)を予め格納している。
The
RAM13は、一時的な計算データや表示データ、後述する教示操作盤60を介してオペレータが入力したデータ等を一時的に格納する。
The
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされており、制御装置1の電源が遮断されても記憶状態を保持する。不揮発性メモリ14は、教示操作盤60から入力されるデータや、図示しないインタフェースを介して入力されたロボット制御用のプログラムやデータ等を格納する。不揮発性メモリ14に記憶されたプログラムやデータは、実行時及び利用時にはRAM13に展開されても良い。
The
軸制御回路30は、ロボットが備えるアームの関節等の軸を制御する。軸制御回路30は、CPU11が出力する軸の移動指令量を受けて、軸の移動指令をサーボアンプ40に出力する。
The
サーボアンプ40は、軸制御回路30が出力する軸の移動指令を受けて、サーボモータ50を駆動する。
The
サーボモータ50は、サーボアンプ40により駆動されてロボットが備える軸を移動させる。サーボモータ50は、典型的には位置・速度検出器を内蔵する。位置・速度検出器は位置・速度フィードバック信号を出力し、この信号が軸制御回路30にフィードバックされることで、位置・速度のフィードバック制御が行われる。
The
なお、図1では軸制御回路30、サーボアンプ40、サーボモータ50は1つずつしか示されていないが、実際には制御対象となるロボットに備えられた軸の数だけ用意される。例えば、6軸を備えたロボットを制御する場合、それぞれの軸に対応する軸制御回路30、サーボアンプ40、サーボモータ50が合計6セット用意される。
In FIG. 1, only one
教示操作盤60は、ディスプレイやハンドル、ハードウェアキー等を備えた手動データ入力装置である。教示操作盤60は、インタフェース18を介してCPU11から受けた情報をディスプレイに表示する。教示操作盤60は、ハンドルやハードウェアキー等から入力されたパルス、指令、データ等をインタフェース18を介してCPU11に渡す。
The
研磨ツール70は、ロボットのアーム先端に保持されて、回転する砥石により研磨対象(ワーク)を研磨する。研磨ツール70は、インタフェース19を介してCPU11から受けた指令に基づく回転速度、回転トルク及び押付力で研磨を実施する。
The polishing tool 70 is held at the tip of the arm of the robot and polishes a workpiece (workpiece) with a rotating grindstone. The polishing tool 70 performs polishing with a rotation speed, a rotation torque, and a pressing force based on a command received from the CPU 11 via the
撮像装置80は、ワークの表面状態を撮影するための装置であり、例えばビジョンセンサである。撮像装置80は、インタフェース22を介してCPU11から受けた指令に応じてワークの表面状態を撮影する。撮像装置80は、撮影した画像データをインタフェース22を介してCPU11に渡す。
The
インタフェース21は、制御装置1と機械学習装置100とを接続するためのインタフェースである。機械学習装置100は、プロセッサ101、ROM102、RAM103、不揮発性メモリ104を有する。
The
プロセッサ101は、機械学習装置100全体を統御する。ROM102は、システム・プログラム等を格納する。RAM103は、機械学習に係る各処理における一時的な記憶を行う。不揮発性メモリ104は、学習モデル等を格納する。
The
機械学習装置100は、制御装置1が取得可能な各種情報(研磨ツール70の回転速度、回転トルク及び押付力、ロボットのアームの動作速度、撮像装置80により取得された画像データ等)をインタフェース21を介して観測する。機械学習装置100は、サーボモータ50や研磨ツール70を制御するための指令をインタフェース21を介して制御装置1に出力する。制御装置1は、機械学習装置100からの指令を受けて、ロボットの制御指令の修正等を行う。
The
図13及び図14は、制御装置1が制御するロボットの一例を示す模式図である。
図13に示すロボットは、サーボモータ50が駆動することにより自在に動くアームを備える。アームの先端には撮像装置80(ビジョンセンサ)付きの研磨ツール70が備えられており、研磨ツール70が研磨対象であるワークの表面を研磨する。研磨後は、図14に示すように撮像装置80がワークの表面状態を撮影する。
13 and 14 are schematic diagrams illustrating an example of a robot controlled by the control device 1.
The robot shown in FIG. 13 includes an arm that freely moves when the
図2は、第1の実施形態における制御装置1及び機械学習装置100の概略的な機能ブロック図である。機械学習装置100は、状態観測部106、判定データ取得部108、学習部110を有する。状態観測部106、判定データ取得部108、学習部110は、例えばプロセッサ101の一機能として実現され得る。又は、例えばROM102に格納されたソフトウェアをプロセッサ101が実行することにより実現されても良い。
FIG. 2 is a schematic functional block diagram of the control device 1 and the
状態観測部106は、環境の現在状態を表す状態変数Sを観測する。状態変数Sは、研磨ツール70の回転速度S1、研磨ツール70の回転トルクS2、研磨ツール70の押付力S3、ロボットのアームの動作速度S4、ワークの表面状態の特徴S5を含む。
The
状態観測部106は、制御装置1から、研磨ツール70の回転速度S1、回転トルクS2、押付力S3を取得する。制御装置1は、これらの値を研磨ツール70のモータ又は研磨ツール70に付加されたセンサ等から取得することができる。
The
状態観測部106は、制御装置1から、ロボットのアームの動作速度S4を取得する。制御装置1は、この値をサーボモータ50又はアームに付加されたセンサ等から取得することができる。
The
状態観測部106は、制御装置1から、ワークの表面状態の特徴S5を取得する。ワークの表面状態の特徴S5は、研磨後に撮像装置80が撮影したワークの表面状態の画像から抽出された特徴を示すデータである。例えば、撮像装置80が有する機能により、又は制御装置1が備える画像処理ソフトウェアにより、ワークの表面状態の画像に含まれる特徴量を抽出することでワークの表面状態の特徴S5を取得できる。撮像装置80又は制御装置1は、例えば深層学習等の公知の手法により、ワーク表面の筋の濃さ(深さ)、滑らかさ、間隔等を示す特徴量を自動的に抽出することができる。
The
図15に、研磨後に撮像装置80が撮影したワークの表面状態の画像の一例を示す。このように研磨後のワーク表面には様々な濃さ(深さ)、滑らかさ、間隔の筋が残される。状態観測部106は、画像からこのような筋の特徴を認識し、ワークの表面状態の特徴S5として抽出する。
FIG. 15 shows an example of an image of the surface state of the work taken by the
判定データ取得部108は、状態変数Sの下でロボットが研磨を行った場合における結果を示す指標である判定データDを取得する。判定データDは、研磨後に撮像装置80が撮影したワークの表面状態の画像における筋の濃さD1、筋の滑らかさD2、筋の間隔D3を含む。
The determination
例えば、撮像装置80が有する機能又は制御装置1が備える画像処理ソフトウェアが、研磨後に撮像装置80が撮影したワークの表面状態の画像を解析することにより、筋の濃さD1、滑らかさD2、間隔D3をそれぞれ数値化して出力することができる。又は、作業者が、研磨後に撮像装置80が撮影したワークの表面状態の画像を目視で評価し、評価結果を示す値(例えば適=「1」、否=「0」)を教示操作盤60から入力することによって、D1,D2,D3が与えられても良い。
For example, the image processing software included in the function of the
一変形例として、判定データDは、研磨ツール70の回転トルクD4を含んでも良い。回転トルクD4はワーク表面の滑らかさと相関関係があることが知られている。また判定データDは、研磨ツール70の温度D5を含んでも良い。温度D5は適切な押付力と相関関係があることが知られている。 As a modification, the determination data D may include the rotational torque D4 of the polishing tool 70. It is known that the rotational torque D4 has a correlation with the smoothness of the workpiece surface. The determination data D may include the temperature D5 of the polishing tool 70. It is known that the temperature D5 has a correlation with an appropriate pressing force.
学習部110は、状態変数Sと判定データDとを用いて、ワークの表面状態の特徴S5と、研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)と、の相関関係を学習する。すなわち学習部110は、状態変数Sの構成要素S1,S2,S3,S4,S5の相関性を示すモデル構造を生成する。
Using the state variable S and the determination data D, the
学習部110に対して入力される状態変数Sは、学習部110における学習周期で考えた場合、判定データDが取得された1学習周期前のデータに基づくものとなる。機械学習装置100が学習を進める間、環境においては、(1)ワークの表面状態の特徴S5の取得、(2)研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4の設定、すなわち研磨条件の設定、(3)上記(1)(2)に従った研磨の実行、(4)判定データDの取得が繰り返し実施される。(2)の研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4は、前回までの学習結果に基づいて得られた研磨条件である。(4)の判定データDは、研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4に従って行った研磨の評価結果である。
When the state variable S input to the
このような学習サイクルを繰り返すことにより、学習部110は、ワークの表面状態の特徴S5と、研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)と、の相関関係を暗示する特徴を自動的に識別することができるようになる。学習アルゴリズムの開始時には、ワークの表面状態の特徴S5と、研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)と、の相関関係は実質的に未知であるが、学習部110は学習を進めるに従い徐々に特徴を識別して相関性を解釈する。ワークの表面状態の特徴S5と、研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)と、の相関関係がある程度信頼できる水準まで解釈されると、学習部110が反復出力する学習結果は、現在状態すなわちワークの表面状態の特徴S5に対して、どのような研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)を設定すべきかという行動の選択(意思決定)を行うために使用できるものとなる。つまり学習部110は、現在状態に対応する行動の最適解を出力できるようになる。
By repeating such a learning cycle, the
状態変数Sは外乱の影響を受け難いデータで構成され、判定データDは制御装置1から撮像装置80の画像データの解析結果を取得することにより一義的に求められる。したがって機械学習装置100によれば、学習部110の学習結果を用いることで、現在状態すなわちワークの表面状態の特徴S5に対して最適な研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)を、演算や目算によらず、自動的かつ正確に求めることができる。換言すれば、現在状態すなわちワークの表面状態の特徴S5を把握するだけで、最適な研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)を迅速に決定することができる。したがって、ロボットによる研磨における研磨条件の設定を効率よく行うことができる。
The state variable S is composed of data that is hardly affected by disturbance, and the determination data D is uniquely obtained by acquiring the analysis result of the image data of the
機械学習装置100の変形例として、学習部110は、同一の作業を行う複数のロボットのそれぞれについて得られた状態変数S及び判定データDを用いて、全てのロボットに共通の適切な研磨条件を学習することができる。この構成によれば、一定時間で得られる状態変数Sと判定データDとを含むデータ集合の量を増加させ、より多様なデータ集合を入力できるので、学習の速度や信頼性を向上させることができる。
As a modified example of the
なお、学習部110が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。図3は、図2に示す制御装置1の一形態であって、学習アルゴリズムの一例として強化学習を実行する学習部110を備えた構成を示す。強化学習は、学習対象が存在する環境の現在状態(つまり入力)を観測するとともに現在状態で所定の行動(つまり出力)を実行し、その行動に対し何らかの報酬を与えるというサイクルを試行錯誤的に反復して、報酬の総計が最大化されるような方策(本実施形態では研磨条件の設定)を最適解として学習する手法である。
Note that the learning algorithm executed by the
図3に示す制御装置1が備える機械学習装置100において、学習部110は、報酬計算部112、価値関数更新部114を有する。
In the
報酬計算部112は、状態変数Sに基づいて研磨条件が設定された場合における研磨の評価結果(状態変数Sが取得された次の学習周期で用いられる判定データDに相当)に関連する報酬Rを求める。
The
価値関数更新部114は、報酬Rを用いて、研磨条件の価値を表す関数Qを更新する。価値関数更新部114が関数Qの更新を繰り返すことにより、学習部110は、ワークの表面状態の特徴S5と、研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)と、の相関関係を学習する。
The value
学習部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を比較的短時間で最適解に近付けることができる。
An example of the reinforcement learning algorithm executed by the
価値関数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で任意設定される。 The updating formula of the value function Q can be generally expressed as the following formula 1. In equation (1), s t and a t is a state and behavior at each time t, the state by action a t is changed to s t + 1. r t + 1 is a reward obtained by the state changes from s t in s t + 1. The term maxQ means Q when the action a having the maximum value Q at time t + 1 (and considered at time t) is performed. α and γ are a learning coefficient and a discount rate, respectively, and are arbitrarily set such that 0 <α ≦ 1 and 0 <γ ≦ 1.
学習部110がQ学習を実行する場合、状態観測部106が観測した状態変数S及び判定データ取得部108が取得した判定データDは、更新式の状態sに該当し、現在状態すなわちワークの表面状態の特徴S5に対し、研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)をどのように決定するべきかという行動は、更新式の行動aに該当し、報酬計算部112が求める報酬Rは、更新式の報酬rに該当する。よって価値関数更新部114は、現在状態に対する研磨条件の設定の価値を表す関数Qを、報酬Rを用いたQ学習により繰り返し更新する。
When the
報酬計算部112は、例えば、決定した研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)に基づく研磨を行い、研磨の評価結果が「適」と判定される場合に、報酬Rを正(プラス)の値とすることができる。一方、研磨の評価結果が「否」と判定される場合に、報酬Rを負(マイナス)の値とすることができる。正負の報酬Rの絶対値は、互いに同一であっても良いし異なっていても良い。
For example, the
判定データDが多値で与えられる場合であれば、例えば筋の濃さを示す値D1、滑らかさを示す値D2及び間隔を示す値D3と、それぞれについて予め定められた基準値と、の差分が所定の範囲内である場合に、研磨の評価結果が「適」であると判定できる。一方、所定の範囲外であれば「否」と判定できる。判定データDが2値で与えられる場合、例えばD1,D2,D3がそれぞれ適=「1」、否=「0」等の値で与えられる場合は、入力が「1」であれば研磨の評価結果は「適」、「0」であれば研磨の評価結果は「否」と判定できる。 If the determination data D is given in multiple values, for example, a difference between a value D1 indicating the density of a line, a value D2 indicating smoothness, a value D3 indicating an interval, and a predetermined reference value for each. Can be determined to be “appropriate” when the polishing evaluation result is within a predetermined range. On the other hand, if it is outside the predetermined range, it can be determined as “No”. When the determination data D is given as a binary value, for example, when D1, D2, and D3 are given as appropriate values such as “1” and not = “0”, if the input is “1”, polishing evaluation is performed. If the result is “appropriate” and “0”, the polishing evaluation result can be determined as “no”.
研磨の評価結果を、「適」及び「否」の二通りだけでなく複数段階に設定することができる。例えば、報酬計算部112は、D1,D2,D3がそれぞれ基準値から遠くなるほど、すなわちD1,D2,D3と、それぞれについて予め定められた基準値と、の差分が大きくなるほど、報酬Rを減じるよう構成することができる。
The evaluation result of polishing can be set not only in two ways of “appropriate” and “not” but also in a plurality of stages. For example, the
なお、報酬計算部112は、判定データDに含まれる複数の値を組み合わせて適否を判定するようにしても良い。
The
価値関数更新部114は、状態変数Sと判定データDと報酬Rとを、関数Qで表される行動価値(例えば数値)と関連付けて整理した行動価値テーブルを持つことができる。この場合、価値関数更新部114が関数Qを更新するという行為は、価値関数更新部114が行動価値テーブルを更新するという行為と同義である。Q学習の開始時には、ワークの表面状態の特徴S5と、研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)と、の相関関係は未知であるから、行動価値テーブルにおいては、種々の状態変数Sと判定データDと報酬Rとが、無作為に定めた行動価値の値(関数Q)と関連付けた形態で用意されている。報酬計算部112は、判定データDが分かればこれ対応する報酬Rを直ちに算出でき、算出した値Rが行動価値テーブルに書き込まれる。
The value
研磨の評価結果に応じた報酬Rを用いてQ学習を進めると、より高い報酬Rが得られる行動を選択する方向へ学習が誘導され、選択した行動を現在状態で実行した結果として変化する環境の状態(つまり状態変数S及び判定データD)に応じて、現在状態で行う行動についての行動価値の値(関数Q)が書き換えられて行動価値テーブルが更新される。この更新を繰り返すことにより、行動価値テーブルに表示される行動価値の値(関数Q)は、適正な行動ほど大きな値となるように書き換えられる。このようにして、未知であった環境の現在状態すなわちワークの表面状態の特徴S5と、それに対する行動すなわち設定される研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)と、の相関性が徐々に明らかになる。つまり行動価値テーブルの更新により、ワークの表面状態の特徴S5と、研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)と、の相関関係が徐々に最適解に近づけられる。 When Q learning is advanced using the reward R according to the evaluation result of polishing, the learning is guided in a direction to select an action that can obtain a higher reward R, and the environment changes as a result of executing the selected action in the current state In accordance with the state (that is, the state variable S and the determination data D), the action value value (function Q) for the action performed in the current state is rewritten, and the action value table is updated. By repeating this update, the value of the action value (function Q) displayed in the action value table is rewritten so that the more appropriate the action, the larger the value. In this way, the characteristic S5 of the current state of the environment that is unknown, that is, the surface condition of the workpiece, and the action corresponding thereto, that is, the polishing conditions that are set (the rotational speed S1, the rotational torque S2, the pressing force S3 of the polishing tool 70, the robot) The correlation with the operating speed S4) of the arm gradually becomes clear. In other words, by updating the behavior value table, there is a correlation between the feature S5 of the surface state of the workpiece and the polishing conditions (the rotational speed S1, the rotational torque S2, the pressing force S3, and the robot arm operating speed S4). Gradually approach the optimal solution.
図4を参照して、学習部110が実行するQ学習のフロー(つまり機械学習方法の一形態)をさらに説明する。
ステップSA01:価値関数更新部114は、その時点での行動価値テーブルを参照しながら、状態観測部106が観測した状態変数Sが示す現在状態で行う行動として、研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)を無作為に選択する。
ステップSA02:価値関数更新部114は、状態観測部106が観測している現在状態の状態変数Sを取り込む。
ステップSA03:価値関数更新部114は、判定データ取得部108が取得している現在状態の判定データDを取り込む。
ステップSA04:価値関数更新部114は、判定データDに基づき、研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)が適当であったか否かを判断する。適当であった場合、ステップSA05に遷移する。適当でなかった場合、ステップSA07に遷移する。
ステップSA05:価値関数更新部114は、報酬計算部112が求めた正の報酬Rを関数Qの更新式に適用する。
ステップSA06:価値関数更新部114は、現在状態における状態変数S及び判定データDと報酬Rと行動価値の値(更新後の関数Q)とを用いて行動価値テーブルを更新する。
ステップSA07:価値関数更新部114は、報酬計算部112が求めた負の報酬Rを関数Qの更新式に適用する。
With reference to FIG. 4, the Q learning flow (that is, one form of the machine learning method) executed by the
Step SA01: The value
Step SA02: The value
Step SA03: The value
Step SA04: Based on the determination data D, the value
Step SA05: The value
Step SA06: The value
Step SA07: The value
学習部110は、ステップSA01乃至SA07を繰り返すことで行動価値テーブルを反復して更新し、学習を進行させる。なお、ステップSA04からステップSA07までの報酬Rを求める処理及び価値関数の更新処理は、判定データDに含まれるそれぞれのデータについて実行される。
The
図16は、図2に示す制御装置1の他の形態であって、学習アルゴリズムの他の例として教師あり学習を実行する学習部110を備えた構成を示す。教師あり学習は、入力と出力との関係が未知の状態で学習を開始する前述した強化学習と異なり、入力とそれに対応する出力との既知のデータセット(教師データと称する)が予め大量に与えられ、それら教師データから入力と出力との相関性を暗示する特徴を識別することで、新たな入力に対する所要の出力を推定するための相関性モデル(本願の機械学習装置100ではロボットによる研磨の際の研磨条件)を学習する手法である。
FIG. 16 shows another configuration of the control device 1 shown in FIG. 2, and shows a configuration including a
図16に示す機械学習装置100において、学習部110は、状態変数S及び判定データDからロボットによる研磨の際の研磨条件を導く相関性モデルMと予め用意された教師データTから識別される相関性特徴との誤差Eを計算する誤差計算部116と、誤差Eを縮小するように相関性モデルMを更新するモデル更新部118とを備える。学習部110は、モデル更新部118が相関性モデルMの更新を繰り返すことによって、ロボットによる研磨の際の研磨条件を学習する。
In the
相関性モデルMの初期値は、例えば、状態変数S及び判定データDとロボットによる研磨の際の研磨条件の相関性を単純化して(例えば一次関数で)表現したものであり、教師あり学習の開始前に学習部110に与えられる。教師データTは、例えば、過去の研磨において熟練の作業者が決定した研磨条件を記録することで蓄積された経験値(ワークの表面状態の特徴と、ロボットによる研磨の際の研磨条件との既知のデータセット)によって構成でき、教師あり学習の開始前に学習部110に与えられる。誤差計算部116は、学習部110に与えられた大量の教師データTからワークの表面状態の特徴と、ロボットによる研磨の際の研磨条件と、の相関性を暗示する相関性特徴を識別し、この相関性特徴と、現在状態における状態変数S及び判定データDに対応する相関性モデルMとの誤差Eを求める。モデル更新部118は、例えば予め定めた更新ルールに従い、誤差Eが小さくなる方向へ相関性モデルMを更新する。
The initial value of the correlation model M is, for example, a simplified representation (for example, a linear function) of the correlation between the state variable S and the determination data D and the polishing conditions at the time of polishing by the robot. It is given to the
次の学習サイクルでは、誤差計算部116は、更新後の相関性モデルMに従って研磨を試行することにより変化した状態変数S及び判定データDを用いて、それら変化した状態変数S及び判定データDに対応する相関性モデルMに関し誤差Eを求め、モデル更新部118が再び相関性モデルMを更新する。このようにして、未知であった環境の現在状態(ワークの表面状態の特徴)とそれに対する行動(ロボットによる研磨の際の研磨条件との決定)との相関性が徐々に明らかになる。つまり相関性モデルMの更新により、ワークの表面状態の特徴と、ロボットによる研磨の際の研磨条件と、の関係が、最適解に徐々に近づけられる。
In the next learning cycle, the
なお、機械学習装置100では、学習の初期段階は学習部110が教師あり学習を実行し、学習がある程度進行した段階で、教師あり学習で得たロボットによる研磨の際の研磨条件初期値として学習部110が強化学習を実行するように構成することもできる。強化学習における初期値がある程度の信頼性を有しているので、比較的迅速に最適解に到達することができる。
In the
強化学習や教師あり学習を進める際に、例えばQ学習の代わりに、ニューラルネットワークを用いることができる。図5Aは、ニューロンのモデルを模式的に示す。図5Bは、図5Aに示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。 When performing reinforcement learning or supervised learning, for example, a neural network can be used instead of Q learning. FIG. 5A schematically shows a model of a neuron. FIG. 5B schematically shows a model of a three-layer neural network configured by combining the neurons shown in FIG. 5A. The neural network can be configured by, for example, an arithmetic device or a storage device imitating a neuron model.
図5Aに示すニューロンは、複数の入力x(ここでは一例として、入力x1〜入力x3)に対する結果yを出力するものである。各入力x1〜x3には、この入力xに対応する重みw(w1〜w3)が掛けられる。これにより、ニューロンは、次の数2式により表現される出力yを出力する。なお、数2式において、入力x、出力y及び重みwは、すべてベクトルである。また、θはバイアスであり、fkは活性化関数である。
The neuron shown in FIG. 5A outputs a result y for a plurality of inputs x (here, as an example, inputs x 1 to x 3 ). Each input x 1 ~x 3, the weight w corresponding to the input x (w 1 ~w 3) is multiplied. As a result, the neuron outputs an output y expressed by the following equation (2). In
図5Bに示す三層のニューラルネットワークは、左側から複数の入力x(ここでは一例として、入力x1〜入力x3)が入力され、右側から結果y(ここでは一例として、結果y1〜結果y3)が出力される。図示の例では、入力x1、x2、x3のそれぞれに対応の重み(総称してW1で表す)が乗算されて、個々の入力x1、x2、x3がいずれも3つのニューロンN11、N12、N13に入力されている。 In the three-layer neural network shown in FIG. 5B, a plurality of inputs x (in this example, inputs x1 to x3) are input from the left side, and a result y (in this case, as an example, results y1 to y3) is input from the right side. Is output. In the illustrated example, each of the inputs x1, x2, and x3 is multiplied by a corresponding weight (generically expressed as W1), and each of the inputs x1, x2, and x3 is assigned to three neurons N11, N12, and N13. Have been entered.
図5Bでは、ニューロンN11〜N13の各々の出力を、総称してz1で表す。z1は、入カベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルz1のそれぞれに対応の重み(総称してW2で表す)が乗算されて、個々の特徴ベクトルz1がいずれも2つのニューロンN21、N22に入力されている。特徴ベクトルz1は、重みW1と重みW2との間の特徴を表す。 In FIG. 5B, the outputs of the neurons N11 to N13 are collectively represented by z1. z1 can be regarded as a feature vector obtained by extracting the feature amount of the input vector. In the illustrated example, each feature vector z1 is multiplied by a corresponding weight (generically represented by W2), and each feature vector z1 is input to two neurons N21 and N22. The feature vector z1 represents a feature between the weight W1 and the weight W2.
図5Bでは、ニューロンN21〜N22の各々の出力を、総称してz2で表す。z2は、特徴ベクトルz1の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルz2のそれぞれに対応の重み(総称してW3で表す)が乗算されて、個々の特徴ベクトルz2がいずれも3つのニューロンN31、N32、N33に入力されている。特徴ベクトルz2は、重みW2と重みW3との間の特徴を表す。最後にニューロンN31〜N33は、それぞれ結果y1〜y3を出力する。
なお、三層以上の層を為すニューラルネットワークを用いた、いわゆるディープラーニングの手法を用いることも可能である。
In FIG. 5B, the outputs of the neurons N21 to N22 are collectively represented by z2. z2 can be regarded as a feature vector obtained by extracting the feature amount of the feature vector z1. In the illustrated example, each feature vector z2 is multiplied by a corresponding weight (generically represented by W3), and each feature vector z2 is input to three neurons N31, N32, and N33. The feature vector z2 represents a feature between the weight W2 and the weight W3. Finally, the neurons N31 to N33 output the results y1 to y3, respectively.
It is also possible to use a so-called deep learning method using a neural network having three or more layers.
機械学習装置100においては、状態変数Sと判定データDとを入力xとして、学習部110がニューラルネットワークに従う多層構造の演算を行うことで、研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)を結果yとして出力することができる。また、機械学習装置100においては、ニューラルネットワークを強化学習における価値関数として用い、状態変数Sと行動aとを入力xとして、学習部110がニューラルネットワークに従う多層構造の演算を行うことで、当該状態における当該行動の価値(結果y)を出力することもできる。なお、ニューラルネットワークの動作モードには、学習モードと価値予測モードとがあり、例えば学習モードで学習データセットを用いて重みwを学習し、学習した重みwを用いて価値予測モードで行動の価値判断を行うことができる。なお価値予測モードでは、検出、分類、推論等を行うこともできる。
In the
上記した制御装置1の構成は、プロセッサ101が実行する機械学習方法(或いはプログラム)として記述できる。この機械学習方法は、ロボットによる研磨における研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)を学習する機械学習方法であって、コンピュータのCPUが、ワークの表面状態の特徴S5を、研磨を行う環境の現在状態を表す状態変数Sとして観測するステップと、設定された研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)に従って実施された研磨の評価結果を示す判定データDを取得するステップと、状態変数Sと判定データDとを用いて、ワークの表面状態の特徴S5と、研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)と、を関連付けて学習するステップとを有する。
The configuration of the control device 1 described above can be described as a machine learning method (or program) executed by the
図6は、本発明の第2の実施形態による制御装置2を示す。制御装置2は、機械学習装置120、状態データ取得部3を有する。
状態データ取得部3は、ワークの表面状態の特徴S5、及び研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)を、状態データS0として取得し、状態観測部106に供給する。状態データ取得部3は、例えば制御装置2や、ロボットが備える各種デバイス及びセンサから、状態データS0を取得することができる。
FIG. 6 shows a
The state
機械学習装置120は、状態観測部106、判定データ取得部108、学習部110をに加え、意思決定部122を有する。意思決定部122は、例えばプロセッサ101の一機能として実現され得る。又は、例えばROM102に格納されたソフトウェアをプロセッサ101が実行することにより実現されても良い。
The
機械学習装置120は、ロボットによる研磨における研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)を機械学習により自ら学習するためのソフトウェア(学習アルゴリズム等)及びハードウェア(プロセッサ101等)に加えて、学習結果に基づいて求めた研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)を制御装置2への指令として出力するためのソフトウェア(演算アルゴリズム等)及びハードウェア(プロセッサ101等)を含むものである。機械学習装置120は、1つの共通のプロセッサが、学習アルゴリズム、演算アルゴリズム等の全てのソフトウェアを実行する構成を有することもできる。
The
意思決定部122は、学習部110が学習した結果に基づいて、ワークの表面状態の特徴S5に対応する研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)を決定する指令を含む指令値Cを生成する。意思決定部122が指令値Cを制御装置2に対して出力すると、制御装置2が指令値Cに従ってロボットを制御する。こうして環境の状態が変化する。
Based on the result learned by the
状態観測部106は、意思決定部122が環境へ指令値Cを出力したことにより変化した状態変数Sを、次の学習周期において観測する。学習部110は、変化した状態変数Sを用いて、例えば価値関数Q(すなわち行動価値テーブル)を更新することで、ロボットによる研磨における研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)を学習する。なお、その際に状態観測部106は、研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)を状態データ取得部3が取得する状態データS0から取得するのではなく、第1の実施形態で説明したように機械学習装置120のRAM103から観測しても良い。
The
そして意思決定部122は、学習結果に基づいて求めた研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)を指令する指令値Cを、再び制御装置2へと出力する。この学習周期を繰り返すことにより、機械学習装置120は学習を進め、自身が決定する研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)の信頼性を徐々に向上させる。
Then, the
機械学習装置120は、第1の実施形態の機械学習装置100と同等の効果を奏する。加えて、機械学習装置120は、意思決定部122の出力によって環境の状態を変化させることができる。なお、機械学習装置100では、意思決定部122に相当する機能を外部装置に求めることで、学習部110の学習結果を環境に反映させることが可能である。
The
以下の第3〜5の実施形態では、第1,第2の実施形態による制御装置1,2が、クラウドサーバやホストコンピュータ、フォグコンピュータ、エッジコンピュータ(ロボットコントローラ、制御装置等)を含む複数の装置と有線/無線のネットワークを介して相互に接続した実施形態について説明する。図7に例示されるように、以下の第3〜5の実施形態では、複数の装置のそれぞれがネットワークに接続された状態でクラウドサーバ6等を含む層、フォグコンピュータ7等を含む層、エッジコンピュータ8(セル9に含まれるロボットコントローラ、制御装置等)等を含む層の、3つの階層に論理的に分けて構成されているシステムを想定する。この様なシステムに於いて、制御装置1,2は、クラウドサーバ6、フォグコンピュータ7、エッジコンピュータ8のいずれの上にも実装することが可能であり、それぞれの複数の装置との間でネットワークを介して相互に学習データを共有して分散学習をしたり、生成した学習モデルをフォグコンピュータ7やクラウドサーバ6に収集して大規模な解析を行ったり、更に、生成した学習モデルの相互再利用等をしたりすることができる。図7に例示されるシステムにおいて、セル9は各地の工場にそれぞれ複数設けられ、それぞれのセル9を所定の単位(工場単位、同じ製造業者の複数の工場単位等)で上位層のフォグコンピュータ7が管理する。そして、これらフォグコンピュータ7が収集、解析したデータを、更に上位層のクラウドサーバ6で収集、解析等を行い、その結果として得られた情報を各々のエッジコンピュータの制御等に活用することができる。
In the following third to fifth embodiments, the
図8は、制御装置1,2に複数のロボットを加えた第3の実施形態によるシステム170を示す。システム170は、複数のロボット160及びロボット160’を有する。全てのロボット160とロボット160’は、有線又は無線のネットワーク172により互いに接続される。
FIG. 8 shows a
ロボット160及びロボット160’は、同じ目的の作業に必要とされる機構を有し、同一の作業を行う。一方、ロボット160は制御装置1,2を備えるが、ロボット160’は制御装置1,2と同じ制御装置は備えない。
The
制御装置1,2を備えるほうのロボット160は、学習部110の学習結果を用いて、ワークの表面状態の特徴S5に対応する研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)を、演算や目算によらず、自動的かつ正確に求めることができる。また、少なくとも1つのロボット160の制御装置2が、他の複数のロボット160及びロボット160’のそれぞれについて得られた状態変数S及び判定データDを利用し、全てのロボット160及びロボット160’に共通するロボットによる研磨における研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)を学習し、その学習結果を全てのロボット160及びロボット160’が共有するように構成できる。システム170によれば、より多様なデータ集合(状態変数S及び判定データDを含む)を入力として、ロボットによる研磨における研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)の学習の速度や信頼性を向上させることができる。
The
図9は、複数のロボット160’を備えた第4の実施形態によるシステム170を示す。システム170は、同一の機械構成を有する複数のロボット160’と、機械学習装置120(又は機械学習装置100)と、を有する。複数のロボット160’と機械学習装置120(又は機械学習装置100)とは、有線又は無線のネットワーク172により互いに接続される。
FIG. 9 shows a
機械学習装置120(又は機械学習装置100)は、複数のロボット160’のそれぞれについて得られた状態変数S及び判定データDに基づき、全てのロボット160’に共通するロボットによる研磨における研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)を学習する。機械学習装置120(又は機械学習装置100)は、その学習結果を用いて、ワークの表面状態の特徴S5に対応する研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)を、演算や目算によらず、自動的かつ正確に求めることができる。
The machine learning device 120 (or the machine learning device 100) is based on the state variables S and the determination data D obtained for each of the plurality of
機械学習装置120(又は機械学習装置100)は、クラウドサーバ、フォグコンピュータ、エッジコンピュータ等に実装されても良い。この構成によれば、複数のロボット160’のそれぞれが存在する場所や時期に関わらず、必要なときに必要な数のロボット160’を機械学習装置120(又は機械学習装置100)に接続することができる。
The machine learning device 120 (or the machine learning device 100) may be mounted on a cloud server, a fog computer, an edge computer, or the like. According to this configuration, the necessary number of
システム170又はシステム170に従事する作業者は、機械学習装置120(又は100)による学習開始後の適当な時期に、機械学習装置120(又は機械学習装置100)による研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)の学習の到達度(すなわち出力される研磨条件(研磨ツール70の回転速度S1、回転トルクS2、押付力S3、ロボットのアームの動作速度S4)の信頼性)が要求レベルに達したか否かの判断を実行することができる。
The
図10は、制御装置1を備えた第5の実施形態によるシステム170を示す。システム170は、エッジコンピュータやフォグコンピュータ、ホストコンピュータ、クラウドサーバ等のコンピュータ5の上に実装された少なくとも1台の機械学習装置100’と、ロボット160を制御する制御装置(エッジコンピュータ)として実装された少なくとも1台の制御装置1と、コンピュータ5及びロボット160を互いに接続する有線/無線のネットワーク172とを備える。
FIG. 10 shows a
上記構成を有するシステム170では、機械学習装置100’を備えるコンピュータ5が、各々のロボット160を制御する制御装置1から、該制御装置1が備える機械学習装置100による機械学習の結果として得られた学習モデルを取得する。そして、コンピュータ5が備える機械学習装置100’は、これら複数の学習モデルに基づく知識の最適化や効率化の処理を行うことで、新たに最適化乃至効率化された学習モデルを生成し、生成した学習モデルを各々のロボット160を制御する制御装置1に対して配布する。
In the
機械学習装置100’が行う学習モデルの最適化乃至効率化の例としては、各制御装置1から取得した複数の学習モデルに基づいた蒸留モデルの生成が挙げられる。この場合、本実施形態による機械学習装置100’は、学習モデルに対して入力する入力データを作成し、該入力モデルを各々の学習モデルに対して入力した結果として得られる出力を用いて、1から学習を行うことで新たに学習モデル(蒸留モデル)を生成する。このようにして生成された蒸留モデルは、上記でも説明したように、外部記憶媒体やネットワーク等を介した他のコンピュータに対する配布により適している。
An example of optimization or efficiency improvement of the learning model performed by the
機械学習装置100’が行う学習モデルの最適化乃至効率化の他の例としては、各制御装置1から取得した複数の学習モデルに対して蒸留を行う過程において、入力データに対する各学習モデルの出力の分布を一般的な統計的手法で解析し、入力データと出力データの組の外れ値を抽出し、該外れ値を除外した入力データと出力データの組を用いて蒸留を行うことも考えられる。このような過程を経ることで、それぞれの学習モデルから得られる入力データと出力データの組から例外的な推定結果を除外し、自例外的な推定結果を除外した入力データと出力データの組を用いて蒸留モデルを生成することができる。このようにして生成された蒸留モデルは、複数の制御装置1で生成された学習モデルから、当該制御装置1が制御するロボット160に対して汎用的な蒸留モデルを生成することができる。
なお、他の一般的な学習モデルの最適化乃至効率化の手法(各学習モデルを解析し、その解析結果に基づいて学習モデルのハイパパラメータを最適化する等)も適宜導入することが可能である。
As another example of optimization or efficiency improvement of the learning model performed by the
In addition, other general learning model optimization or efficiency methods (such as analyzing each learning model and optimizing the hyperparameters of the learning model based on the analysis result) can be introduced as appropriate. is there.
本実施形態によるシステム170では、例えばエッジコンピュータとしての複数のロボット160(制御装置1)に対して設置されたフォグコンピュータとしてのコンピュータ5の上に機械学習装置100’を配置し、各々のロボット160(制御装置1)で生成された学習モデルをフォグコンピュータ上に集約して記憶しておき、記憶した複数の学習モデルに基づいた最適化乃至効率化を行った上で、最適化乃至効率化された学習モデルを必要に応じて各ロボット160(制御装置1)に対して再配布するという運用を行うことができる。
In the
また、本実施形態によるシステム170では、例えばフォグコンピュータとしてのコンピュータ5の上に集約して記憶された学習モデルや、フォグコンピュータ上で最適化乃至効率化された学習モデルを、更に上位のホストコンピュータやクラウドサーバ上に集め、これら学習モデルを用いて工場やロボット160のメーカでの知的作業への応用(上位サーバでの更なる汎用的な学習モデルの構築及び再配布、学習モデルの解析結果に基づく保守作業の支援、各々のロボット160の性能等の分析、新しい機械の開発への応用等)を行うことができる。
Further, in the
図11は、図10で示したコンピュータ5の概略的なハードウェア構成図である。
コンピュータ5が備えるCPU511は、コンピュータ5を全体的に制御するプロセッサである。CPU511は、ROM512に格納されたシステム・プログラムをバス520を介して読み出し、該システム・プログラムに従ってコンピュータ5全体を制御する。RAM513には一時的な計算データ、入力装置531を介して作業者が入力した各種データ等が一時的に格納される。
FIG. 11 is a schematic hardware configuration diagram of the computer 5 shown in FIG.
A
不揮発性メモリ514は、例えば図示しないバッテリでバックアップされたメモリやSSD(Solid State Drive)等で構成され、コンピュータ5の電源がオフされても記憶状態が保持される。不揮発性メモリ514には、コンピュータ5の動作に係る設定情報が格納される設定領域や、入力装置531から入力されたデータ、各ロボット160(の制御装置)から取得される学習モデル、図示しない外部記憶装置やネットワークを介して読み込まれたデータ等が記憶される。不揮発性メモリ514に記憶されたプログラムや各種データは、実行時/利用時にはRAM513に展開されても良い。また、ROM512には、各種データを解析するための公知の解析プログラム等を含むシステム・プログラムが予め書き込まれている。
The
コンピュータ5は、インタフェース516を介してネットワーク172と接続されている。ネットワーク172には、少なくとも1つのロボット160や他のコンピュータ等が接続され、コンピュータ5との間で相互にデータのやり取りを行っている。
The computer 5 is connected to the
表示装置530には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ等がインタフェース517を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置531は、作業者による操作に基づく指令,データ等をインタフェース518を介してCPU511に渡す。
なお、機械学習装置100については、コンピュータ5のCPU511と協働して学習モデルの最適化乃至効率化に用いられる点を除けば、図1で説明したものと同様のハードウェア構成を備える。
The
The
図12は、制御装置1を備えた第6の実施形態によるシステム170を示す。システム170は、ロボット160を制御する制御装置(エッジコンピュータ)として実装された複数の制御装置1と、複数台の他のロボット160(制御装置1)と、これらを互いに接続する有線/無線のネットワーク172とを備える。
FIG. 12 shows a
上記構成を有するシステム170では、機械学習装置100を備える制御装置1は、制御対象となるロボット160から取得された状態データや判定データ、(機械学習装置100を備えていない)他のロボット160から取得した状態データや判定データに基づいた機械学習を行い、学習モデルを生成する。このようにして生成された学習モデルは、自身の制御するロボット160の研磨動作における研磨条件の決定に用いられる他、機械学習装置100を備えていない他のロボット160’からの要求に応じて該他のロボット160(の制御装置)による研磨動作における研磨条件の決定にも用いられる。また、新たに学習モデル生成前の機械学習装置100を備えた制御装置1が導入された際には、ネットワーク172を介して学習モデルを備えた他の制御装置1から該学習モデルを取得して利用することも可能となる。
In the
本実施形態によるシステムでは、いわゆるエッジコンピュータとしての複数のロボット160(制御装置1)の間で学習に用いるデータや学習モデルを共有して活用することが可能となるため、機械学習の効率の向上や、機械学習にかけるコストの削減(ロボット160を制御する1台の制御装置(制御装置1)にのみ機械学習装置100を導入し、他のロボット160との間で共有するなど)をすることができる。
In the system according to the present embodiment, it is possible to share and use data and learning models used for learning among a plurality of robots 160 (control device 1) as so-called edge computers, so that the efficiency of machine learning is improved. Or reducing the cost of machine learning (for example, introducing the
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。 Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments, and can be implemented in various modes by making appropriate changes.
例えば、機械学習装置100や機械学習装置120が実行する学習アルゴリズム、機械学習装置120が実行する演算アルゴリズム、制御装置1や制御装置2が実行する制御アルゴリズム等は、上述したものに限定されず、様々なアルゴリズムを採用できる。
For example, the learning algorithm executed by the
また、上記した実施形態では、制御装置1(又は制御装置2)と、機械学習装置100(又は機械学習装置120)と、は異なるCPUを有する装置として説明しているが、機械学習装置100(又は機械学習装置120)は、制御装置1(又は制御装置2)が備えるCPU11と、ROM12に記憶されるシステム・プログラムにより実現されるよう構成しても良い。
In the above embodiment, the control device 1 (or the control device 2) and the machine learning device 100 (or the machine learning device 120) are described as devices having different CPUs, but the machine learning device 100 ( Alternatively, the machine learning device 120) may be configured to be realized by a CPU 11 provided in the control device 1 (or the control device 2) and a system program stored in the
1,2 制御装置
3 状態データ取得部
5 コンピュータ
6 クラウドサーバ
7 フォグコンピュータ
8 エッジコンピュータ
9 セル
11 CPU
12 ROM
13 RAM
14 不揮発性メモリ
18,19,21,22 インタフェース
20 バス
30 軸制御回路
40 サーボアンプ
50 サーボモータ
60 教示操作盤
70 研磨ツール
80 撮像装置
100 機械学習装置
101 プロセッサ
102 ROM
103 RAM
104 不揮発性メモリ
106 状態観測部
108 判定データ取得部
110 学習部
112 報酬計算部
114 価値関数更新部
116 誤差計算部
118 モデル更新部
120 機械学習装置
122 意思決定部
160,160’ ロボット
170,170’ システム
172 ネットワーク
511 CPU
512 ROM
513 RAM
514 不揮発性メモリ
516、516,517 インタフェース
520 バス
530 表示装置
531 入力装置
DESCRIPTION OF
12 ROM
13 RAM
14
103 RAM
104
512 ROM
513 RAM
514
Claims (13)
前記研磨を行う際の研磨条件を学習する機械学習装置を備え、
前記機械学習装置は、前記研磨の後の前記ワークの表面状態の特徴と、前記研磨条件と、を環境の現在状態を表す状態変数として観測する状態観測部と、
前記研磨の後の前記ワークの表面状態の評価結果を示す判定データを取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記研磨の後の前記ワークの表面状態の特徴と、前記研磨条件と、を関連付けて学習する学習部と、を備える
制御装置。 A control device for controlling a robot for polishing a workpiece,
A machine learning device for learning polishing conditions when performing the polishing;
The machine learning device is characterized by observing the surface condition of the workpiece after the polishing and the polishing condition as a state variable representing a current state of the environment,
A determination data acquisition unit for acquiring determination data indicating an evaluation result of the surface state of the workpiece after the polishing;
A control device, comprising: a learning unit that learns the characteristics of the surface state of the workpiece after the polishing and the polishing conditions in association with each other using the state variable and the determination data.
前記判定データは、前記研磨の後の前記ワークの表面の筋の濃さD1、前記筋の滑らかさD2、前記筋の間隔D3のうち少なくとも1つを含む
請求項1記載の制御装置。 Of the state variables, the polishing condition includes at least one of a rotation speed of a polishing tool, a rotation torque of the polishing tool, a pressing force of the polishing tool, and an operation speed of a robot,
2. The control device according to claim 1, wherein the determination data includes at least one of a stripe density D <b> 1 on the surface of the workpiece after the polishing, a smoothness D <b> 2 of the stripe, and an interval D <b> 3 of the stripes.
前記評価結果に関連する報酬を求める報酬計算部と、
前記報酬を用いて、前記研磨の後の前記ワークの表面状態の特徴に対する前記研磨条件の価値を表す関数を更新する価値関数更新部と、を備える
請求項1又は2記載の制御装置。 The learning unit
A reward calculation unit for obtaining a reward related to the evaluation result;
The control apparatus according to claim 1, further comprising: a value function updating unit that updates a function representing a value of the polishing condition with respect to a feature of the surface state of the workpiece after the polishing by using the reward.
前記状態変数及び前記判定データから前記研磨を行う際の研磨条件を導く相関性モデルと予め用意された教師データから識別される相関性特徴との誤差を計算する誤差計算部と、
前記誤差を縮小するように前記相関性モデルを更新するモデル更新部とを備える、
請求項1又は2記載の制御装置。 The learning unit
An error calculation unit that calculates an error between a correlation model for deriving a polishing condition when performing the polishing from the state variable and the determination data and a correlation feature identified from teacher data prepared in advance;
A model updating unit that updates the correlation model so as to reduce the error,
The control device according to claim 1 or 2.
請求項1乃至4いずれか1項記載の制御装置。 The control device according to claim 1, wherein the learning unit calculates the state variable and the determination data in a multilayer structure.
請求項1乃至5いずれか1項記載の制御装置。 The control device according to any one of claims 1 to 5, further comprising a decision-making unit that outputs a command value based on the polishing condition based on a learning result by the learning unit.
請求項1乃至6いずれか1項記載の制御装置。 The control device according to claim 1, wherein the learning unit learns the polishing condition using the state variable and the determination data obtained from a plurality of the robots.
請求項1乃至7いずれか1項記載の制御装置。 The control device according to claim 1, wherein the machine learning device is realized by a cloud computing, fog computing, or edge computing environment.
前記研磨の後の前記ワークの表面状態の特徴と、前記研磨条件と、を環境の現在状態を表す状態変数として観測する状態観測部と、
前記研磨の後の前記ワークの表面状態の評価結果を示す判定データを取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記研磨の後の前記ワークの表面状態の特徴と、前記研磨条件と、を関連付けて学習する学習部と、を備える
機械学習装置。 A machine learning device that learns polishing conditions when a workpiece is polished by a robot,
A state observation unit that observes the characteristics of the surface state of the workpiece after the polishing and the polishing conditions as state variables representing the current state of the environment;
A determination data acquisition unit for acquiring determination data indicating an evaluation result of the surface state of the workpiece after the polishing;
A machine learning device, comprising: a learning unit that learns the characteristics of the surface state of the workpiece after polishing and the polishing conditions in association with each other using the state variable and the determination data.
前記複数の装置は、少なくとも請求項1に記載された制御装置を備えた第1のロボットを含む
システム。 A system in which a plurality of devices are connected to each other via a network,
The system includes a first robot including at least the control device according to claim 1.
前記コンピュータは、前記制御装置の前記学習部における学習により生成された少なくとも1つの学習モデルを取得し、
前記コンピュータが備える機械学習装置は、取得した前記学習モデルに基づいて最適化乃至効率化を行う、
請求項10に記載のシステム。 The plurality of devices includes a computer equipped with a machine learning device,
The computer acquires at least one learning model generated by learning in the learning unit of the control device,
The machine learning device provided in the computer performs optimization or efficiency based on the acquired learning model.
The system according to claim 10.
前記第1のロボットが備えた制御装置が備える学習部による学習結果は、前記第2のロボットと共有される、
請求項10に記載のシステム。 The plurality of devices include a second robot different from the first robot,
The learning result by the learning unit provided in the control device provided in the first robot is shared with the second robot.
The system according to claim 10.
前記第2のロボットにおいて観測されたデータは、前記ネットワークを介して前記第1のロボットが備えた制御装置が備える学習部による学習に利用可能である、
請求項10に記載のシステム。 The plurality of devices include a second robot different from the first robot,
The data observed in the second robot can be used for learning by a learning unit provided in a control device provided in the first robot via the network.
The system according to claim 10.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/294,401 US20190291270A1 (en) | 2018-03-20 | 2019-03-06 | Controller, machine learning device, and system |
DE102019001783.8A DE102019001783A1 (en) | 2018-03-20 | 2019-03-13 | CONTROL, MACHINE LEARNING DEVICE AND SYSTEM |
CN201910209028.9A CN110303492A (en) | 2018-03-20 | 2019-03-19 | Control device, machine learning device and system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018053409 | 2018-03-20 | ||
JP2018053409 | 2018-03-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019162712A true JP2019162712A (en) | 2019-09-26 |
Family
ID=68065162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019001285A Pending JP2019162712A (en) | 2018-03-20 | 2019-01-08 | Control device, machine learning device and system |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2019162712A (en) |
CN (1) | CN110303492A (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020157425A (en) * | 2019-03-27 | 2020-10-01 | 株式会社ジェイテクト | Support device for grinding machine and support method therefor |
JP2021056658A (en) * | 2019-09-27 | 2021-04-08 | AI inside株式会社 | Information processing system, information processing method and information processing program |
WO2021095886A1 (en) * | 2019-11-15 | 2021-05-20 | 川崎重工業株式会社 | Control device, control system, robot system, and control method |
WO2021161581A1 (en) * | 2020-02-14 | 2021-08-19 | 株式会社大気社 | Automated polishing system |
CN114599485A (en) * | 2019-11-15 | 2022-06-07 | 川崎重工业株式会社 | Master-slave system and control method |
CN114616076A (en) * | 2019-11-27 | 2022-06-10 | 株式会社安川电机 | Grinding system, correction amount estimation device, computer program, and grinding method |
JP7349586B1 (en) * | 2022-03-08 | 2023-09-22 | 株式会社安川電機 | Robot control system, robot control method, and robot control program |
JP7461908B2 (en) | 2021-03-29 | 2024-04-04 | 新明和工業株式会社 | Information processing method, information processing system, information processing device, and work vehicle |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210146531A1 (en) * | 2019-11-20 | 2021-05-20 | Nvidia Corporation | Guided uncertainty-aware policy optimization: combining model-free and model-based strategies for sample-efficient learning |
WO2021149564A1 (en) * | 2020-01-20 | 2021-07-29 | ファナック株式会社 | Polishing amount estimation device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5077941A (en) * | 1990-05-15 | 1992-01-07 | Space Time Analyses, Ltd. | Automatic grinding method and system |
JPH04138504A (en) * | 1990-09-29 | 1992-05-13 | Toyoda Mach Works Ltd | Intelligent working system |
JP2001147912A (en) * | 1999-11-22 | 2001-05-29 | Toshiba Mach Co Ltd | Generating method for neural network model |
CN101738981A (en) * | 2009-12-04 | 2010-06-16 | 清华大学 | Machine learning-based robot grinding method |
JP2017030135A (en) * | 2015-07-31 | 2017-02-09 | ファナック株式会社 | Machine learning apparatus, robot system, and machine learning method for learning workpiece take-out motion |
-
2019
- 2019-01-08 JP JP2019001285A patent/JP2019162712A/en active Pending
- 2019-03-19 CN CN201910209028.9A patent/CN110303492A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5077941A (en) * | 1990-05-15 | 1992-01-07 | Space Time Analyses, Ltd. | Automatic grinding method and system |
JPH04138504A (en) * | 1990-09-29 | 1992-05-13 | Toyoda Mach Works Ltd | Intelligent working system |
JP2001147912A (en) * | 1999-11-22 | 2001-05-29 | Toshiba Mach Co Ltd | Generating method for neural network model |
CN101738981A (en) * | 2009-12-04 | 2010-06-16 | 清华大学 | Machine learning-based robot grinding method |
JP2017030135A (en) * | 2015-07-31 | 2017-02-09 | ファナック株式会社 | Machine learning apparatus, robot system, and machine learning method for learning workpiece take-out motion |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020157425A (en) * | 2019-03-27 | 2020-10-01 | 株式会社ジェイテクト | Support device for grinding machine and support method therefor |
JP7302226B2 (en) | 2019-03-27 | 2023-07-04 | 株式会社ジェイテクト | SUPPORT DEVICE AND SUPPORT METHOD FOR GRINDER |
JP2021056658A (en) * | 2019-09-27 | 2021-04-08 | AI inside株式会社 | Information processing system, information processing method and information processing program |
WO2021095886A1 (en) * | 2019-11-15 | 2021-05-20 | 川崎重工業株式会社 | Control device, control system, robot system, and control method |
CN114599485A (en) * | 2019-11-15 | 2022-06-07 | 川崎重工业株式会社 | Master-slave system and control method |
CN114728396A (en) * | 2019-11-15 | 2022-07-08 | 川崎重工业株式会社 | Control device, control system, robot system, and control method |
CN114599485B (en) * | 2019-11-15 | 2023-07-11 | 川崎重工业株式会社 | Master-slave system and control method |
CN114616076A (en) * | 2019-11-27 | 2022-06-10 | 株式会社安川电机 | Grinding system, correction amount estimation device, computer program, and grinding method |
WO2021161581A1 (en) * | 2020-02-14 | 2021-08-19 | 株式会社大気社 | Automated polishing system |
JP2021126737A (en) * | 2020-02-14 | 2021-09-02 | 株式会社大気社 | Automatic polishing system |
JP7461908B2 (en) | 2021-03-29 | 2024-04-04 | 新明和工業株式会社 | Information processing method, information processing system, information processing device, and work vehicle |
JP7349586B1 (en) * | 2022-03-08 | 2023-09-22 | 株式会社安川電機 | Robot control system, robot control method, and robot control program |
Also Published As
Publication number | Publication date |
---|---|
CN110303492A (en) | 2019-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019162712A (en) | Control device, machine learning device and system | |
JP6680756B2 (en) | Control device and machine learning device | |
US20190291270A1 (en) | Controller, machine learning device, and system | |
JP6542839B2 (en) | Control device and machine learning device | |
US10962960B2 (en) | Chip removal apparatus and information processing apparatus | |
JP6502983B2 (en) | Cleaning process optimization device and machine learning device | |
JP2019185125A (en) | Control device and machine learning device | |
JP6836577B2 (en) | Abrasive tool wear prediction device, machine learning device and system | |
US10949740B2 (en) | Machine learning device, numerical controller, machine tool system, manufacturing system, and machine learning method for learning display of operation menu | |
CN110116371B (en) | Abrasive tool wear amount prediction device, machine learning device, and system | |
JP6499710B2 (en) | Acceleration / deceleration control device | |
JP6923484B2 (en) | Machining condition adjustment device and machine learning device | |
JP6781242B2 (en) | Controls, machine learning devices and systems | |
JP6767416B2 (en) | Machining condition adjustment device and machine learning device | |
JP6659652B2 (en) | Processing condition adjustment device and machine learning device | |
JP6813532B2 (en) | Simulation equipment | |
JP6781191B2 (en) | Programmable controller and machine learning device | |
JP6841852B2 (en) | Control device and control method | |
JP2019141869A (en) | Controller and machine learning device | |
US11579000B2 (en) | Measurement operation parameter adjustment apparatus, machine learning device, and system | |
CN110174871B (en) | Control device, machine learning device, and system | |
JP2020131342A (en) | Cutting fluid volume adjusting device and cutting fluid volume adjusting system | |
JP6829271B2 (en) | Measurement operation parameter adjustment device, machine learning device and system | |
JP6940425B2 (en) | Control device and machine learning device | |
CN110125955B (en) | Control device and machine learning device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190808 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200630 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201110 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210525 |