JP6781183B2 - 制御装置及び機械学習装置 - Google Patents

制御装置及び機械学習装置 Download PDF

Info

Publication number
JP6781183B2
JP6781183B2 JP2018058685A JP2018058685A JP6781183B2 JP 6781183 B2 JP6781183 B2 JP 6781183B2 JP 2018058685 A JP2018058685 A JP 2018058685A JP 2018058685 A JP2018058685 A JP 2018058685A JP 6781183 B2 JP6781183 B2 JP 6781183B2
Authority
JP
Japan
Prior art keywords
robot
axis
data
axis angle
learning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018058685A
Other languages
English (en)
Other versions
JP2019166626A (ja
Inventor
晃市郎 林
晃市郎 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2018058685A priority Critical patent/JP6781183B2/ja
Priority to US16/354,381 priority patent/US11235461B2/en
Priority to DE102019001948.2A priority patent/DE102019001948B4/de
Priority to CN201910231497.0A priority patent/CN110355751B/zh
Publication of JP2019166626A publication Critical patent/JP2019166626A/ja
Application granted granted Critical
Publication of JP6781183B2 publication Critical patent/JP6781183B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0081Programme-controlled manipulators with master teach-in means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39298Trajectory learning

Description

本発明は、制御装置及び機械学習装置に関し、特に高精度軌跡指令データの生成を行う制御装置及び機械学習装置に関する。
レーザ加工やシーリング、アーク溶接等をロボットで行う際に、ロボットTCP(Tool Center Point:工具中央点)の軌跡精度が重要となる。ロボットを制御する際には、ロボットTCPが想定している目標軌跡を辿るように、ロボットが備える各関節を駆動するモータを制御する。しかしながら、ロボットの関節に備え付けられた減速機やロボットアームそのものの剛性不足、各関節軸におけるバックラッシ等が原因となって、ロボットTCPが予め想定している目標軌跡からずれることがある。
なお、ロボットTCPの軌跡精度を改善する従来技術として、例えば特許文献1〜3には、センサやシミュレーション等により把握したロボット動作中のロボットTCPの軌跡に基づいて学習制御を繰り返し行い、目標軌跡を再現する技術が開示されている。
特開2006−110702号公報 特開2004−322224号公報 特開2017−127964号公報
従来技術に示されるように、ロボットに取り付けたセンサから得られるものは、加速度や角速度、力覚などの物理量である。計測した物理量からロボットTCPの軌跡を求めるには、積分などの演算が必要になる。そして、センサ値にはノイズが含まれていることもあり、算出する位置精度は低くなり、繰り返し学習による軌跡精度の改善も効果が薄くなる。また、ロボットの先端位置を直接計測する装置としてレーザトラッカ等があるが、このような装置をロボットTCPの軌跡を記録するために用いる場合、ロボットの動作を変更して学習を行うたびに計測装置を設置することとなり、非常に煩雑であるという課題がある。
そこで本発明の目的は、ロボットの目標軌跡に基づいて該ロボットの各軸に対して指令するべき指令データを推定できる汎用的な制御装置及び機械学習装置を提供することである。
本発明の制御装置は、ロボットの動作軌跡を位置データとして直接計測する計測装置と、ロボットに対して指令される指令データとを使用することで、ロボットTCPの軌跡精度の改善を実現する。位置計測装置によって計測されたロボットTCPの動作軌跡のデータ(以下、実測軌跡データ)と、ロボットの制御に用いられる指令データとを学習用データセットとして機械学習を行うことで、理想の軌跡データを入力するとその軌跡を再現するための指令データを出力するシステムを作成する。
そして、本発明の一態様は、ロボットが備えるアームの先端位置の目標軌跡データに基づいて該ロボットが備える軸に対して指令するべき指令データを推定する制御装置であって、前記目標軌跡データに対する前記ロボットが備える軸に対して指令するべき指令データの推定を学習する機械学習装置を備え、計測して得られた前記ロボットの軌跡データから前記ロボットが備える軸の軸角度の変化量を算出する軸角度変換部と、前記軸角度変換部が算出した前記ロボットが備える軸の軸角度の変化量に係る軸角度データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記ロボットが備える軸に対する指令データに係る軸角度指令データを、ラベルデータとして取得するラベルデータ取得部と、前記状態変数と前記ラベルデータとを用いて、前記ロボットが備える軸の軸角度の変化量と、前記ロボットが備える軸に対する指令データとを関連付けて学習する学習部と、を備える制御装置である。
本発明の他の態様は、ロボットが備えるアームの先端位置の目標軌跡データに基づいて該ロボットが備える軸に対して指令するべき指令データを推定する制御装置であって、前記目標軌跡データに対する前記ロボットが備える軸に対して指令するべき指令データの推定を学習した機械学習装置を備え、前記目標軌跡データから前記ロボットが備える軸の軸角度の変化量を算出する軸角度変換部と、前記軸角度変換部が算出した前記ロボットが備える軸の軸角度の変化量に係る軸角度データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記ロボットが備える軸の軸角度の変化量と、前記ロボットが備える軸に対する指令データとを関連付けて学習した学習部と、前記状態観測部が観測した状態変数と、前記学習部による学習結果とに基づいて、前記ロボットが備える軸に対する指令データを推論して出力する推定結果出力部と、を備える制御装置である。
本発明の他の態様は、ロボットが備えるアームの先端位置の目標軌跡データに対する前記ロボットが備える軸に対して指令するべき指令データを学習する機械学習装置であって、計測して得られた前記ロボットの軌跡データから前記ロボットが備える軸の軸角度の変化量を算出する軸角度変換部と、前記軸角度変換部が算出した前記ロボットが備える軸の軸角度の変化量に係る軸角度データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記ロボットが備える軸に対する指令データに係る軸角度指令データを、ラベルデータとして取得するラベルデータ取得部と、前記状態変数と前記ラベルデータとを用いて、前記ロボットが備える軸の軸角度の変化量と、前記ロボットが備える軸に対する指令データとを関連付けて学習する学習部と、を備える機械学習装置である。
本発明の他の態様は、ロボットが備えるアームの先端位置の目標軌跡データに対する前記ロボットが備える軸に対して指令するべき指令データの推定を学習した機械学習装置であって、前記目標軌跡データから前記ロボットが備える軸の軸角度の変化量を算出する軸角度変換部と、前記軸角度変換部が算出した前記ロボットが備える軸の軸角度の変化量に係る軸角度データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記ロボットが備える軸の軸角度の変化量と、前記ロボットが備える軸に対する指令データとを関連付けて学習した学習部と、前記状態観測部が観測した状態変数と、前記学習部による学習結果とに基づいて、前記ロボットが備える軸に対する指令データを推論して出力する推定結果出力部と、を備える機械学習装置である。
本発明により、ロボットの目標軌跡に基づいて該ロボットの各軸に対して指令するべき指令データを推定できるようになるので、様々なロボットの移動を学習させることにより汎用的にロボットの指令データを推論することができるようになる。
一実施形態による制御装置の概略的なハードウェア構成図である。 一実施形態による制御装置の概略的な機能ブロック図である。 軌跡データの例を示す図である。 学習部110における入力データと出力データの例を示す図である。 制御装置の一形態を示す概略的な機能ブロック図である。 制御装置を組み込んだシステムの一形態を示す概略的な機能ブロック図である。
以下、本発明の実施形態を図面と共に説明する。
図1は第1の実施形態による制御装置の要部を示す概略的なハードウェア構成図である。制御装置1は、例えばロボットを制御する制御装置として実装することができる。また、制御装置1は、ロボットを制御する制御装置と併設されたコンピュータや、該制御装置とネットワークを介して接続されたセルコンピュータ、ホストコンピュータ、クラウドサーバ等のコンピュータとして実装することが出来る。図1は、製造機械を制御する制御装置として制御装置1を実装した場合の例を示している。
本実施形態による制御装置1が備えるCPU11は、制御装置1を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステム・プログラムをバス20を介して読み出し、該システム・プログラムに従って制御装置1全体を制御する。RAM13には一時的な計算データや表示データ、図示しない入力部を介してオペレータが入力した各種データ等が一時的に格納される。
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされるなどして、制御装置1の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ14には、インタフェース19を介して読み込まれた制御プログラムや操作盤71により教示された教示位置、ロボットやその周辺装置、軌跡計測装置3から取得された各種データ等が記憶されている。不揮発性メモリ14に記憶されたプログラムは、利用時にはRAM13に展開されても良い。また、ROM12には、制御装置1の動作に必要な各種のシステム・プログラム(機械学習装置100とのやりとりを制御するためのシステム・プログラムを含む)があらかじめ書き込まれている。
軌跡計測装置3は、レーザトラッカ等の目標物の動作軌跡を位置データとして直接計測する計測装置であり、本実施形態では機械学習装置100の学習時にロボットのアームの先端に取付けた計測対象物を軌跡計測ポイントとして計測することで、ロボットのアームの先端の位置データを計測する。CPU11は、インタフェース18を介して該位置データを軌跡データとして取得する。
ロボットが備える軸を制御するための軸制御回路30はCPU11からの軸の移動指令量を受けて、軸の指令をサーボアンプ40に出力する。サーボアンプ40はこの指令を受けて、ロボットが備える軸を移動させるサーボモータ50を駆動する。軸のサーボモータ50は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路30にフィードバックし、位置・速度のフィードバック制御を行う。なお、図1のハードウェア構成図では軸制御回路30、サーボアンプ40、サーボモータ50は1つずつしか示されていないが、実際には制御対象となるロボットに備えられた軸の数だけ用意される。
インタフェース21は、制御装置1と機械学習装置100とを接続するためのインタフェースである。機械学習装置100は、機械学習装置100全体を統御するプロセッサ101と、システム・プログラム等を記憶したROM102、機械学習に係る各処理における一時的な記憶を行うためのRAM103、及び学習モデル等の記憶に用いられる不揮発性メモリ104を備える。機械学習装置100は、インタフェース21を介して制御装置1で取得可能な各情報を観測することができる。また、制御装置1は、機械学習装置100から出力される値に基づいて、ロボットの制御を行う。
図2は、第1の実施形態による制御装置1と機械学習装置100の概略的な機能ブロック図である。図2に示した各機能ブロックは、図1に示した制御装置1が備えるCPU11、及び機械学習装置100のプロセッサ101が、それぞれのシステム・プログラムを実行し、制御装置1及び機械学習装置100の各部の動作を制御することにより実現される。
本実施形態の制御装置1は、不揮発性メモリ14に記憶された制御プログラムのブロックや教示位置を読み出してロボット2及びその周辺装置を制御する制御部34を備える。
制御部34は、不揮発性メモリ14に記憶された制御プログラムのブロックや教示位置(又は、RAM13に展開されている制御プログラムのブロックや教示位置)を読み出して、該ブロックによる指令に基づいてロボット2を制御する機能手段である。制御部34は、制御プログラムのブロックがロボット2が備える各軸(関節)の移動を指令する場合に当該軸を駆動するサーボモータ50に対して制御周期毎に軸角度の変化量としての指令データを出力する、制御プログラムのブロックがロボット2に備え付けられた図示しない周辺装置の動作を指令する場合に当該周辺装置に動作指令を出力する、等のように、ロボット2の各部を制御するための一般的な機能を備える。
一方、制御装置1が備える機械学習装置100は、ロボット2のアームの先端部の軌跡データ(から変換された各軸の軸角度の変化量)に対する、ロボット2の各軸角度指令データの推定を、いわゆる機械学習により自ら学習するためのソフトウェア(学習アルゴリズム等)及びハードウェア(プロセッサ101等)を含む。制御装置1が備える機械学習装置100が学習するものは、ロボット2のアームの先端部の軌跡データ(から変換された各軸の軸角度の変化量)と、ロボット2の各軸角度指令データとの、相関性を表すモデル構造に相当する。
図2に機能ブロックで示すように、制御装置1が備える機械学習装置100は、軌跡計測装置3が計測して得られた軌跡データに含まれるロボット2のアームの先端部の位置からロボット2の各軸の軸角度の変化量を求める軸角度変換部105と、軸角度変換部105が変換したロボット2の各軸の軸角度を示す軸角度データS1を含む環境の現在状態を表す状態変数Sとして観測する状態観測部106と、ロボット2の各軸に対して指令されるべき軸角度の変化量を示す軸角度指令データL1を含むラベルデータLを取得するラベルデータ取得部108と、状態変数SとラベルデータLとを用いて、ロボット2のアームの先端部の軌跡データから変換された各軸の軸角度の変化量に対して、ロボット2に対して指令する各軸の軸角度の変化量を関連付けて学習する学習部110と、学習部110による学習済みモデルを用いてロボット2のアームの先端部の軌跡データ(から変換された各軸の軸角度の変化量)から推定したロボット2の各軸に対して出力するべき軸角度の変化量を軸角度指令データを出力する推定結果出力部122と、を備える。
軸角度変換部105は、軌跡計測装置3がロボット2のアームの先端部に取付けられた計測対象物を計測して得られた軌跡データに含まれるロボット2のアームの先端部の位置に基づいて、ロボット2が備える各軸の軸角度の変化量へと変換する機能手段である。軸角度変換部105は、ロボット2のアームの先端部の位置及びロボット2を構成する各アームの長さ等に基づいて、逆運動学等の公知の手法を用いることでロボット2が備える各軸の軸角度(位置)を求め、求めた各軸の軸角度から各軸の軸角度の変化量を算出する。
図3は、ロボット2のアームの先端部の軌跡データの例を示す図である。ロボット2のアームの先端部の軌跡データは、ロボット2のアームの先端部に取付けられた計測対象物の位置を所定周期毎に軌跡計測装置3が計測した(所定の座標系、例えばロボット座標系の)位置データの系列として定義することができる。軸角度変換部105は、軌跡データに含まれる所定周期毎の計測対象物の位置データのそれぞれに基づいて、各周期における各軸の軸角度の変化量を求める。例えば、図3に示される軌跡データが得られたとき、軸角度変換部105は、計測対象物がP0からP1へ移動するときの各軸の軸速度の変化量Da1、P1からP2へ移動するときの各軸の軸速度の変化量Da2、…を順に求める。
軸角度変換部105が軸角度の変化量を求める際に用いる軌跡データは、軌跡計測装置3から逐次取得しても良いが、軌跡計測装置3が計測した軌跡データを一時的に不揮発性メモリ14等のメモリに記憶しておき、後の学習において該メモリから取得するようにしても良い。この様にする場合、メモリ上に記憶される軌跡データ(に含まれる各位置データ)と、制御部34からロボット2に対して出力される指令データとの対応関係(例えば、計測対象物の位置がP1にある時に制御部34からロボット2の各軸に対して指令データC1が出力された場合の、位置データP1と指令データCa1との対応関係)が把握できるように、時刻等を関連付けて記憶しておくようにすると良い。
状態観測部106は、学習部110による学習時において、状態変数Sとしての軸角度データS1を軸角度変換部105から取得する。また、状態観測部106は、学習部110の学習結果を用いたロボット2の各軸の軸角度指令データの推定時において、状態変数Sとしての軸角度データS1(Da:Da1,Da2,…)を軸角度変換部105から取得する。
ラベルデータ取得部108は、学習部110の学習時において、ラベルデータLとして、制御部34からロボット2に対して出力される各軸の軸角度指令データに係る軸角度指令データL1(Ca:Ca1,Ca2,…)を取得する。軸角度指令データL1は、例えば制御部34からロボット2に出力される各軸の軸角度指令データを直接取得してもよいし、制御部34からロボット2に出力される各軸の軸角度指令データを不揮発性メモリ14等のメモリに対して一時的に記憶しておき、後の学習において該メモリから取得するようにしても良い。この様にする場合、メモリ上に記憶される指令データと軌跡データ(に含まれる各位置データ)との対応関係が把握できるように、例えば時刻等を関連付けて記憶しておくようにすると良い。なお、ラベルデータ取得部108は、学習部110による学習時において利用されるものであり、学習部110による学習が完了した後は機械学習装置100の必須の構成とする必要は無い。
学習部110は、機械学習と総称される任意の学習アルゴリズムに従い、状態変数S(ロボット2のアームの先端部の軌跡データから変換された各軸の軸角度の変化量を示す軸角度データS1)に対するラベルデータL(ロボット2の各軸の軸角度指令データを示す軸角度指令データL1)を学習する。学習部110は、例えば状態変数Sに含まれる軸角度データS1と、ラベルデータLに含まれる軸角度指令データL1との相関性を学習することができる。学習部110は、状態変数SとラベルデータLとを含むデータ集合に基づく学習を反復実行することができる。
学習部110は、最もシンプルに構成する場合、軸角度データS1に含まれる1つの各軸の軸角度の変化量Daと、軸角度指令データL1に含まれる1つの各軸に対する指令データCaとの関係を学習するように構成することができる。また、学習部110は、軸角度データS1に含まれる一連の(複数の)各軸の軸角度の変化量(例えば、図3におけるP0からP1へ移動する時の各軸の軸角度の変化量、P1からP2へ移動する時の各軸の軸角度の変化量、P2からP3へ移動する時の各軸の軸角度の変化量、…)と、軸角度指令データL1に含まれる一連の(複数の)各軸に対する指令データとの関係を学習するように構成することができる。後者の場合、同時に入力される一連の各軸の軸角度の変化量の関係を全て考慮して各軸の軸角度指令データを推論することができるようになるため、推論結果としての軸角度指令データの制度が向上する。
図4は、学習部110を構成する機械学習器の入力データと出力データの例を示している。図4においてm=1として構成した場合が、学習部110を最もシンプルに構成する場合に当たる。
学習部110による学習においては、複数のロボット2のそれぞれについて得られたデータに基づいた複数の学習サイクルを実行することが望ましい。このような学習サイクルを繰り返すことにより、学習部110は、ロボット2のアームの先端部の軌跡データから変換された各軸の軸角度の変化量(軸角度データS1)と、ロボット2の各軸の軸角度指令データ(軸角度指令データL1)との相関性を自動的に解釈する。学習アルゴリズムの開始時には軸角度データS1に対する軸角度指令データL1の相関性は実質的に未知であるが、学習部110が学習を進めるに従い徐々に軸角度データS1に対する軸角度指令データL1との関係を徐々に解釈し、その結果として得られた学習済みモデルを用いることで軸角度データS1に対する軸角度指令データL1の相関性を解釈可能になる。
なお、学習部110は、1つの学習モデルを備えるものとして構成しても良いが、例えばロボット2の構造や位置姿勢(及びロボット2のアームの先端に取付けないし把持される物の重量)から求められるイナーシャに応じた異なる学習モデルを用意するようにしても良い。この様にする場合、イナーシャの値に基づく複数の区分を作成し、それぞれの区分ごとに異なる学習モデルを構築し、ロボット2の構造や位置姿勢(及びロボット2のアームの先端に取付けないし把持される物の重量)に基づいて計算されたイナーシャに対応する学習モデルを選択し、該学習モデルを用いた学習及び推定を行うようにすれば良い。この様にすることで、イナーシャの違いによるロボットの動きの違いをそれぞれ反映させた学習モデルを個別に構築することができるので、学習済みモデルの構築に掛かるコスト(学習モデルの収束に掛かる時間等)や、学習済みモデルのサイズを小さくすることができる。
推定結果出力部122は、学習部110が学習した結果(学習済みモデル)に基づいて、ロボット2のアームの先端部の軌跡データ(から変換された各軸の軸角度の変化量)に基づいてロボット2の各軸の軸角度指令データを推定し、推定したロボット2の各軸の軸角度指令データを出力する。より具体的には、学習部110がロボット2のアームの先端部の軌跡データから変換された各軸の軸角度の変化量を示す軸角度データS1に関連付けて学習したロボット2の各軸の軸角度指令データに係る軸角度指令データL1は、制御部34がロボット2の各軸に対して出力するべき指令データを示しており、学習部110による学習済みモデルを用いた推定ではこの値が出力される。そして、推定結果出力部122は、この出力された値に基づいて、ロボット2の先端部が描くべき軌跡(目標軌跡)を実現するためにロボット2の各軸に対して出力されるべき指令を推定し、その推定結果を制御部34へと出力する。
推定結果出力部122は、機械学習装置100によるロボット2の目標軌跡データに対する制御部34からロボット2へ出力するべき軸角度指令データの推論時に用いられる。より具体的には、操作盤71等の外部から、又は、制御プログラムにより、ロボット2の先端が描くべき目標軌跡データが機械学習装置100に対して入力されると、入力された目標軌跡データに基づいて軸角度変換部105がロボット2が備える各軸の軸角度の変化量を算出し、算出されたロボット2が備える各軸の軸角度の変化量を軸角度データS1として、学習部110による学習結果を用いて推定結果出力部122は、ロボット2の各軸に対して指令されるべき軸角度の変化量である軸角度指令データL1を推定する。
上記構成を有する機械学習装置100では、学習部110が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。図5は、図2に示す制御装置1の他の形態であって、学習アルゴリズムの他の例として教師あり学習を実行する学習部110を備えた構成を示す。教師あり学習は、入力とそれに対応する出力との既知のデータセット(教師データと称する)が与えられ、それら教師データから入力と出力との相関性を暗示する特徴を識別することで、新たな入力に対する所要の出力を推定するための相関性モデルを学習する手法である。
図3に示す制御装置1が備える機械学習装置100において、学習部110は、ロボット2のアームの先端部の軌跡データから変換された各軸の軸角度の変化量に基づいてロボット2の各軸の軸角度指令データを推定する相関性モデルMと過去に取得されたロボット2のアームの先端部の軌跡データから変換された各軸の軸角度の変化量及び実際のロボット2の各軸角度指令データの結果から得られた教師データTから識別される相関性特徴との誤差Eを計算する誤差計算部112と、誤差Eを縮小するように相関性モデルMを更新するモデル更新部114とを備える。学習部110は、モデル更新部114が相関性モデルMの更新を繰り返すことによってロボット2のアームの先端部の軌跡データから変換された各軸の軸角度の変化量に基づいたロボット2の各軸角度指令データの推定を学習する。
相関性モデルMの初期値は、例えば、状態変数SとラベルデータLとの相関性を単純化して(例えば一次関数で)表現したものであり、教師あり学習の開始前に学習部110に与えられる。教師データTは、本発明では上述したように過去に取得されたロボット2のアームの先端部の軌跡データから変換された各軸の軸角度の変化量のデータと実際のロボット2の各軸角度指令データのデータとを利用することができ、制御装置1の運用時に随時学習部110に与えられる。誤差計算部112は、学習部110に随時与えられた教師データTにより、ロボット2のアームの先端部の軌跡データから変換された各軸の軸角度の変化量と該識別コードの該ロボット2に取り付けられたロボット2の各軸角度指令データとの相関性を暗示する相関性特徴を識別し、この相関性特徴と、現在状態における状態変数S及びラベルデータLに対応する相関性モデルMとの誤差Eを求める。モデル更新部114は、例えば予め定めた更新ルールに従い、誤差Eが小さくなる方向へ相関性モデルMを更新する。
次の学習サイクルでは、誤差計算部112は、更新後の相関性モデルMに従って状態変数Sを用いてロボット2の各軸の軸角度指令データの推定が行われ、該推定の結果と実際に取得されたラベルデータLの誤差Eを求め、モデル更新部114が再び相関性モデルMを更新する。このようにして、未知であった環境の現在状態とそれに対する推定との相関性が徐々に明らかになる。
前述した教師あり学習を進める際に、ニューラルネットワークを用いることができる。ニューラルネットワークとしては、入力層、中間層、出力層の三層を備えたニューラルネットワークを用いても良いが、三層以上の層を為すニューラルネットワークを用いた、いわゆるディープラーニングの手法を用いることで、より効果的な学習及び推論を行うように構成することも可能である。
また、時系列で入力されるデータを、過去の入力を考慮して学習及び推論するリカレントニューラルネットワークを用いることも可能である。リカレントニューラルネットワークを用いる場合、学習部110を構成する機械学習器は、軸角度データS1に含まれる1つの各軸の軸角度の変化量Daと、軸角度指令データL1に含まれる1つの各軸に対する指令データCaとの関係を学習するように構成した場合であっても、過去のロボット2の移動の系列を考慮した学習及び推論を行うことができる。
上記した機械学習装置100の構成は、プロセッサ101が各々実行する機械学習方法(或いはソフトウェア)として記述できる。この機械学習方法は、ロボット2のアームの先端部の軌跡データから変換された各軸の軸角度の変化量からロボット2の各軸角度指令データの推定を学習する機械学習方法であって、プロセッサ101が、ロボット2のアームの先端部の軌跡データから変換された各軸の軸角度の変化量(軸角度データS1)を現在状態を表す状態変数Sとして観測するステップと、ロボット2の各軸の軸角度指令データ(軸角度指令データL1)をラベルデータLとして取得するステップと、状態変数SとラベルデータLとを用いて、軸角度データS1と、ロボット2の各軸の軸角度指令データとを関連付けて学習するステップとを有する。
機械学習装置100の学習部110により学習されて得られた学習済みモデルは機械学習に係るソフトウェアの一部であるプログラムモジュールとしての利用することが可能である。本発明の学習済みモデルは、CPUやGPU等のプロセッサとメモリを備えるコンピュータにて用いることができる。より具体的には、コンピュータのプロセッサが、メモリに記憶された学習済みモデルからの指令に従って、ロボット2のアームの先端部の軌跡データから変換された各軸の軸角度の変化量を入力として演算を行い、演算結果に基づいてロボット2の各軸の軸角度指令データの推定結果を出力するように動作する。本発明の学習済みモデルは、外部記憶媒体やネットワーク等を介して他のコンピュータに対して複製して利用することが可能である。
また、本発明の学習済みモデルを他のコンピュータに対して複製して新しい環境で利用する際に、当該環境で得られた新たな状態変数やラベルデータに基づいて当該学習済みモデルに対して更なる学習を行わせることもできる。このようにした場合、当該環境による学習済みモデルから派生した学習済みモデル(以下、派生モデルとする)を得ることが可能である。本発明の派生モデルは、ロボット2のアームの先端部の軌跡データから変換された各軸の軸角度の変化量に基づいてロボット2の各軸の軸角度指令データの推定結果を出力するという点では元の学習済みモデルと同じだが、元の学習済みモデルよりも新しい環境に適合した結果を出力するという点で異なる。この派生モデルもまた、外部記憶媒体やネットワーク等を介して他のコンピュータに対して複製して利用することが可能である。
更に、本発明の学習済みモデルを組み込んだ機械学習装置に対する入力に対して得られる出力を用いて、他の機械学習装置において1から学習を行うことで得られる学習済みモデル(以下、蒸留モデルとする)を作成し、これを利用することも可能である(このような学習工程を蒸留と言う)。蒸留において、元の学習済みモデルを教師モデル、新たに作成する蒸留モデルを生徒モデルとも言う。一般に、蒸留モデルは元の学習済みモデルよりもサイズが小さく、それでいて元の学習済みモデルと同等の正確度を出せるため、外部記憶媒体やネットワーク等を介した他のコンピュータに対する配布により適している。
図6は、制御装置1を備えた一実施形態によるシステム170を示す。システム170は、セルコンピュータやホストコンピュータ、クラウドサーバ等のコンピュータの一部として実装された少なくとも1台の制御装置1と、複数のロボット2(を備えた製造機械)と、制御装置1、ロボット2を互いに接続する有線/無線のネットワーク172とを備える。
上記構成を有するシステム170は、機械学習装置100を備える制御装置1が、学習部110の学習結果を用いて、ロボット2のアームの先端部の軌跡データに対するロボット2の各軸の軸角度指令データを自動的かつ正確に推定することができる。また、制御装置1の機械学習装置100が、複数のロボット2のそれぞれについて得られた状態変数S及びラベルデータLに基づき、全てのロボット2に共通するロボット2の各軸の軸角度指令データの推定を学習し、その学習結果を全てのロボット2において利用するように構成できる。したがってシステム170によれば、より多様なデータ集合(状態変数S及びラベルデータLを含む)を入力として、ロボット2の各軸の軸角度指令データの推定の学習の速度や信頼性を向上させることができる。
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
例えば、機械学習装置100が実行する学習アルゴリズム、演算アルゴリズム、制御装置1が実行するアルゴリズム等は、上述したものに限定されず、様々なアルゴリズムを採用できる。
また、上記した実施形態では制御装置1と機械学習装置100が異なるCPUを有する装置として説明しているが、機械学習装置100は制御装置1が備えるCPU11と、ROM12に記憶されるシステム・プログラムにより実現するようにしても良い。
1 制御装置
2 ロボット
3 軌跡計測装置
11 CPU
12 ROM
13 RAM
14 不揮発性メモリ
18,19 インタフェース
20 バス
21 インタフェース
30 軸制御回路
34 制御部
40 サーボアンプ
50 サーボモータ
71 操作盤
100 機械学習装置
101 プロセッサ
102 ROM
103 RAM
104 不揮発性メモリ
105 軸角度変換部
106 状態観測部
108 ラベルデータ取得部
110 学習部
112 誤差計算部
114 モデル更新部
122 推定結果出力部
170 システム
172 ネットワーク

Claims (9)

  1. ロボットが備えるアームの先端位置の目標軌跡データに基づいて該ロボットが備える軸に対して指令するべき指令データを推定する制御装置であって、
    前記目標軌跡データに対する前記ロボットが備える軸に対して指令するべき指令データの推定を学習する機械学習装置を備え、
    計測して得られた前記ロボットの軌跡データから前記ロボットが備える軸の軸角度の変化量を算出する軸角度変換部と、
    前記軸角度変換部が算出した前記ロボットが備える軸の軸角度の変化量に係る軸角度データを、環境の現在状態を表す状態変数として観測する状態観測部と、
    前記ロボットが備える軸に対する指令データに係る軸角度指令データを、ラベルデータとして取得するラベルデータ取得部と、
    前記状態変数と前記ラベルデータとを用いて、前記ロボットが備える軸の軸角度の変化量と、前記ロボットが備える軸に対する指令データとを関連付けて学習する学習部と、
    を備える制御装置。
  2. 前記学習部は、
    前記状態変数から前記ロボットが備える軸に対する指令データを推定する相関性モデルと、予め用意された教師データから識別される相関性特徴との誤差を計算する誤差計算部と、
    前記誤差を縮小するように前記相関性モデルを更新するモデル更新部とを備える、
    請求項1に記載の制御装置。
  3. 前記学習部は、前記状態変数と前記ラベルデータとを多層構造で演算する、
    請求項1または2いずれか1つに記載の制御装置。
  4. 前記学習部は、時系列データに基づく学習が可能な学習モデルを用いて構築される、
    請求項1〜3のいずれか1つに記載の制御装置。
  5. ロボットが備えるアームの先端位置の目標軌跡データに基づいて該ロボットが備える軸に対して指令するべき指令データを推定する制御装置であって、
    前記目標軌跡データに対する前記ロボットが備える軸に対して指令するべき指令データの推定を学習した機械学習装置を備え、
    前記目標軌跡データから前記ロボットが備える軸の軸角度の変化量を算出する軸角度変換部と、
    前記軸角度変換部が算出した前記ロボットが備える軸の軸角度の変化量に係る軸角度データを、環境の現在状態を表す状態変数として観測する状態観測部と、
    前記ロボットが備える軸の軸角度の変化量と、前記ロボットが備える軸に対する指令データとを関連付けて学習した学習部と、
    前記状態観測部が観測した状態変数と、前記学習部による学習結果とに基づいて、前記ロボットが備える軸に対する指令データを推論して出力する推定結果出力部と、
    を備える制御装置。
  6. 前記学習部は、イナーシャの区間にそれぞれ関連付けられ複数の学習モデルの内、前記ロボットの構造に基づいて算出されたイナーシャに対応する学習モデルを選択して用いる、
    請求項1〜5のいずれか1つに記載の制御装置。
  7. 前記機械学習装置は、クラウドサーバに存在する、
    請求項1〜6のいずれか1つに記載の制御装置。
  8. ロボットが備えるアームの先端位置の目標軌跡データに対する前記ロボットが備える軸に対して指令するべき指令データを学習する機械学習装置であって、
    計測して得られた前記ロボットの軌跡データから前記ロボットが備える軸の軸角度の変化量を算出する軸角度変換部と、
    前記軸角度変換部が算出した前記ロボットが備える軸の軸角度の変化量に係る軸角度データを、環境の現在状態を表す状態変数として観測する状態観測部と、
    前記ロボットが備える軸に対する指令データに係る軸角度指令データを、ラベルデータとして取得するラベルデータ取得部と、
    前記状態変数と前記ラベルデータとを用いて、前記ロボットが備える軸の軸角度の変化量と、前記ロボットが備える軸に対する指令データとを関連付けて学習する学習部と、
    を備える機械学習装置。
  9. ロボットが備えるアームの先端位置の目標軌跡データに対する前記ロボットが備える軸に対して指令するべき指令データの推定を学習した機械学習装置であって、
    前記目標軌跡データから前記ロボットが備える軸の軸角度の変化量を算出する軸角度変換部と、
    前記軸角度変換部が算出した前記ロボットが備える軸の軸角度の変化量に係る軸角度データを、環境の現在状態を表す状態変数として観測する状態観測部と、
    前記ロボットが備える軸の軸角度の変化量と、前記ロボットが備える軸に対する指令データとを関連付けて学習した学習部と、
    前記状態観測部が観測した状態変数と、前記学習部による学習結果とに基づいて、前記ロボットが備える軸に対する指令データを推論して出力する推定結果出力部と、
    を備える機械学習装置。
JP2018058685A 2018-03-26 2018-03-26 制御装置及び機械学習装置 Active JP6781183B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018058685A JP6781183B2 (ja) 2018-03-26 2018-03-26 制御装置及び機械学習装置
US16/354,381 US11235461B2 (en) 2018-03-26 2019-03-15 Controller and machine learning device
DE102019001948.2A DE102019001948B4 (de) 2018-03-26 2019-03-19 Steuerung und maschinelle Lernvorrichtung
CN201910231497.0A CN110355751B (zh) 2018-03-26 2019-03-26 控制装置和机器学习装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018058685A JP6781183B2 (ja) 2018-03-26 2018-03-26 制御装置及び機械学習装置

Publications (2)

Publication Number Publication Date
JP2019166626A JP2019166626A (ja) 2019-10-03
JP6781183B2 true JP6781183B2 (ja) 2020-11-04

Family

ID=67848372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018058685A Active JP6781183B2 (ja) 2018-03-26 2018-03-26 制御装置及び機械学習装置

Country Status (4)

Country Link
US (1) US11235461B2 (ja)
JP (1) JP6781183B2 (ja)
CN (1) CN110355751B (ja)
DE (1) DE102019001948B4 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6781183B2 (ja) 2018-03-26 2020-11-04 ファナック株式会社 制御装置及び機械学習装置
JP7092307B2 (ja) * 2019-02-01 2022-06-28 三菱電機株式会社 作業判別装置および作業判別方法
CN110161850B (zh) * 2019-04-24 2020-04-07 南京航空航天大学 一种工业机器人变参数刚度辨识与建模方法
JP7263920B2 (ja) * 2019-05-23 2023-04-25 トヨタ自動車株式会社 演算装置、制御プログラム、機械学習器及び把持装置
JP7021158B2 (ja) * 2019-09-04 2022-02-16 株式会社東芝 ロボットシステムおよび駆動方法
DE102019216229B4 (de) * 2019-10-07 2022-11-10 Robert Bosch Gmbh Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102019216560B4 (de) 2019-10-28 2022-01-13 Robert Bosch Gmbh Verfahren und Vorrichtung zum Trainieren von Manipulationsfertigkeiten eines Robotersystems
JP7351935B2 (ja) 2020-01-28 2023-09-27 株式会社Fuji 制御装置、制御方法、情報処理装置及び情報処理方法
KR20230003615A (ko) * 2020-06-26 2023-01-06 미쓰비시덴키 가부시키가이샤 백래시량 측정 장치 및 백래시량 측정 방법
EP4305584A1 (en) * 2021-03-10 2024-01-17 Services Pétroliers Schlumberger Methods and systems for operational surveillance of a physical asset using smart event detection
DE102021204697B4 (de) 2021-05-10 2023-06-01 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung
DE102021209867A1 (de) 2021-09-07 2023-03-09 Kuka Deutschland Gmbh Bewerten und/oder Steuern eines Roboterarbeitsprozesses
WO2023190843A1 (ja) * 2022-03-31 2023-10-05 住友重機械工業株式会社 支援装置、作業機械、プログラム
WO2023223570A1 (ja) * 2022-05-18 2023-11-23 三菱電機株式会社 制御装置、ロボットシステム、学習装置、ロボットの制御方法およびプログラム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0588721A (ja) * 1991-09-30 1993-04-09 Fujitsu Ltd 関節型ロボツトの制御装置
JP2001277166A (ja) * 2000-03-31 2001-10-09 Sony Corp ロボット及びロボットの行動決定方法
WO2004033159A1 (ja) * 2002-10-11 2004-04-22 Fujitsu Limited ロボット制御アルゴリズム構築装置、ロボット制御アルゴリズム構築プログラム、ロボット制御装置、ロボット制御プログラム、およびロボット
JP4111044B2 (ja) * 2003-04-21 2008-07-02 株式会社安川電機 ロボット制御装置
JP2006110702A (ja) 2004-10-18 2006-04-27 Fanuc Ltd 学習制御機能を備えたロボット及びロボットの制御方法
US8600552B2 (en) 2009-10-30 2013-12-03 Honda Motor Co., Ltd. Information processing method, apparatus, and computer readable medium
US8886359B2 (en) 2011-05-17 2014-11-11 Fanuc Corporation Robot and spot welding robot with learning control function
JP5896789B2 (ja) 2012-03-07 2016-03-30 キヤノン株式会社 ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体
EP2845065B1 (en) 2012-05-04 2019-09-18 Leoni Cia Cable Systems SAS Imitation learning method for a multi-axis manipulator
WO2015058297A1 (en) * 2013-10-25 2015-04-30 Vakanski Aleksandar Image-based trajectory robot programming planning approach
JP6347595B2 (ja) * 2013-11-25 2018-06-27 キヤノン株式会社 ロボット制御方法、及びロボット制御装置
US9630318B2 (en) * 2014-10-02 2017-04-25 Brain Corporation Feature detection apparatus and methods for training of robotic navigation
DE112016004725B4 (de) * 2015-10-14 2021-09-16 Kawasaki Jukogyo Kabushiki Kaisha Verfahren zum Teach-ln eines Roboters und Roboterarmsteuervorrichtung
JP6386516B2 (ja) * 2016-01-14 2018-09-05 ファナック株式会社 学習機能を備えたロボット装置
JP6339603B2 (ja) * 2016-01-28 2018-06-06 ファナック株式会社 レーザ加工開始条件を学習する機械学習装置、レーザ装置および機械学習方法
US10471595B2 (en) * 2016-05-31 2019-11-12 Ge Global Sourcing Llc Systems and methods for control of robotic manipulation
JP6514166B2 (ja) * 2016-09-16 2019-05-15 ファナック株式会社 ロボットの動作プログラムを学習する機械学習装置,ロボットシステムおよび機械学習方法
JP6433080B2 (ja) 2016-10-07 2018-12-05 日本総合整美株式会社 ハンドレールのコーティング方法
CN106997175A (zh) * 2016-10-21 2017-08-01 遨博(北京)智能科技有限公司 一种机器人仿真控制方法及装置
JP2018126798A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
CN106774345B (zh) * 2017-02-07 2020-10-30 上海仙软信息科技有限公司 一种进行多机器人协作的方法与设备
JP6781183B2 (ja) 2018-03-26 2020-11-04 ファナック株式会社 制御装置及び機械学習装置

Also Published As

Publication number Publication date
CN110355751A (zh) 2019-10-22
JP2019166626A (ja) 2019-10-03
DE102019001948A1 (de) 2019-09-26
DE102019001948B4 (de) 2022-07-28
US20190291271A1 (en) 2019-09-26
CN110355751B (zh) 2023-04-28
US11235461B2 (en) 2022-02-01

Similar Documents

Publication Publication Date Title
JP6781183B2 (ja) 制御装置及び機械学習装置
Zhao et al. System identification of the nonlinear residual errors of an industrial robot using massive measurements
JP5225720B2 (ja) ロボットのモーションの発生及び制御のための装置ならびに方法
JP6669715B2 (ja) 振動抑制装置
CN104858876A (zh) 机器人任务的可视调试
CN107530879B (zh) 多轴机械装置仿真器、运转指令装置的设计辅助装置、电动机控制装置的设计辅助装置以及电动机的容量选定装置
JP3349652B2 (ja) オフラインティーチング方法
JP4111044B2 (ja) ロボット制御装置
CN110154024B (zh) 一种基于长短期记忆神经网络增量模型的装配控制方法
WO2021033486A1 (ja) モデル生成装置、モデル生成方法、制御装置及び制御方法
CN115351780A (zh) 用于控制机器人设备的方法
TWI594858B (zh) 機械手臂教導控制系統
WO2021033471A1 (ja) 制御装置、制御方法、及び制御プログラム
CN113910218A (zh) 基于运动学与深度神经网络融合的机器人标定方法和装置
US20200368901A1 (en) Arithmetic device, control program, machine learner, grasping apparatus, and control method
JP7448706B1 (ja) 教示装置
JP7263987B2 (ja) 制御装置、制御方法、及び制御プログラム
CN114800523B (zh) 机械臂轨迹修正方法、系统、计算机及可读存储介质
JP6928031B2 (ja) 制御装置及び制御システム
Benotsmane et al. Calculation methodology for trajectory planning of a 6 axis manipulator arm
JP7466801B1 (ja) 制御装置、工作機械システム、および加工方法
WO2021033472A1 (ja) 制御装置、制御方法、及び制御プログラム
CN117359623A (zh) 机械臂的受迫运动控制方法和系统
Zhang et al. Learning Efficient Robot Arm Reaching
CN117260701A (zh) 训练机器学习模型以实现控制规则的方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190808

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191120

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20191205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200615

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200915

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201015

R150 Certificate of patent or registration of utility model

Ref document number: 6781183

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150