(57)【要約】【課題】ロボットの目標軌跡に基づいて該ロボットの各軸に対して指令するべき指令データを推定できる汎用的な制御装置及び機械学習装置を提供すること。【解決手段】本発明の制御装置１が備える機械学習装置１００は、ロボット２の軌跡データに対する該ロボット２が備える軸に対して指令するべき指令データの推定を学習する機械学習装置１００であって、軌跡データからロボット２が備える軸の軸角度の変化量を算出する軸角度変換部１０５と、ロボット２が備える軸の軸角度の変化量に係る軸角度データを、環境の現在状態を表す状態変数として観測する状態観測部１０６と、ロボット２が備える軸に対する指令データに係る軸角度指令データを、ラベルデータとして取得するラベルデータ取得部１０８と、状態変数とラベルデータとを用いて、ロボット２が備える軸の軸角度の変化量と、該軸に対する指令データとを関連付けて学習する学習部１１０と、を備える。【選択図】図２
2019166626.tif 000002
【特許請求の範囲】
【請求項１】
ロボットが備えるアームの先端位置の軌跡データに基づいて該ロボットが備える軸に対して指令するべき指令データを推定する制御装置であって、
前記軌跡データに対する前記ロボットが備える軸に対して指令するべき指令データの推定を学習する機械学習装置を備え、
前記軌跡データから前記ロボットが備える軸の軸角度の変化量を算出する軸角度変換部と、
前記軸角度変換部が算出した前記ロボットが備える軸の軸角度の変化量に係る軸角度データを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記ロボットが備える軸に対する指令データに係る軸角度指令データを、ラベルデータとして取得するラベルデータ取得部と、
前記状態変数と前記ラベルデータとを用いて、前記ロボットが備える軸の軸角度の変化量と、前記ロボットが備える軸に対する指令データとを関連付けて学習する学習部と、
を備える制御装置。
【請求項２】
前記学習部は、
前記状態変数から前記ロボットが備える軸に対する指令データを推定する相関性モデルと、予め用意された教師データから識別される相関性特徴との誤差を計算する誤差計算部と、
前記誤差を縮小するように前記相関性モデルを更新するモデル更新部とを備える、
請求項１に記載の制御装置。
【請求項３】
前記学習部は、前記状態変数と前記ラベルデータとを多層構造で演算する、
請求項１または２いずれか１つに記載の制御装置。
【請求項４】
前記学習部は、時系列データに基づく学習が可能な学習モデルを用いて構築される、
請求項１〜３のいずれか１つに記載の制御装置。
【請求項５】
ロボットが備えるアームの先端位置の軌跡データに基づいて該ロボットが備える軸に対して指令するべき指令データを推定する制御装置であって、
前記軌跡データに対する前記ロボットが備える軸に対して指令するべき指令データの推定を学習した機械学習装置を備え、
前記軌跡データから前記ロボットが備える軸の軸角度の変化量を算出する軸角度変換部と、
前記軸角度変換部が算出した前記ロボットが備える軸の軸角度の変化量に係る軸角度データを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記ロボットが備える軸の軸角度の変化量と、前記ロボットが備える軸に対する指令データとを関連付けて学習した学習部と、
前記状態観測部が観測した状態変数と、前記学習部による学習結果とに基づいて、前記ロボットが備える軸に対する指令データを推論して出力する推定結果出力部と、
を備える制御装置。
【請求項６】
前記学習部は、イナーシャの区間にそれぞれ関連付けられ複数の学習モデルの内、前記ロボットの構造に基づいて算出されたイナーシャに対応する学習モデルを選択して用いる、
請求項１〜５のいずれか１つに記載の制御装置。
【請求項７】
前記機械学習装置は、クラウドサーバに存在する、
請求項１〜６のいずれか１つに記載の制御装置。
【請求項８】
ロボットが備えるアームの先端位置の軌跡データに対する前記ロボットが備える軸に対して指令するべき指令データを学習する機械学習装置であって、
前記軌跡データから前記ロボットが備える軸の軸角度の変化量を算出する軸角度変換部と、
前記軸角度変換部が算出した前記ロボットが備える軸の軸角度の変化量に係る軸角度データを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記ロボットが備える軸に対する指令データに係る軸角度指令データを、ラベルデータとして取得するラベルデータ取得部と、
前記状態変数と前記ラベルデータとを用いて、前記ロボットが備える軸の軸角度の変化量と、前記ロボットが備える軸に対する指令データとを関連付けて学習する学習部と、
を備える機械学習装置。
【請求項９】
ロボットが備えるアームの先端位置の軌跡データに対する前記ロボットが備える軸に対して指令するべき指令データの推定を学習した機械学習装置であって、
前記軌跡データから前記ロボットが備える軸の軸角度の変化量を算出する軸角度変換部と、
前記軸角度変換部が算出した前記ロボットが備える軸の軸角度の変化量に係る軸角度データを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記ロボットが備える軸の軸角度の変化量と、前記ロボットが備える軸に対する指令データとを関連付けて学習した学習部と、
前記状態観測部が観測した状態変数と、前記学習部による学習結果とに基づいて、前記ロボットが備える軸に対する指令データを推論して出力する推定結果出力部と、
を備える機械学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置及び機械学習装置に関し、特に高精度軌跡指令データの生成を行う制御装置及び機械学習装置に関する。
【背景技術】
【０００２】
レーザ加工やシーリング、アーク溶接等をロボットで行う際に、ロボットＴＣＰ（Ｔｏｏｌ  Ｃｅｎｔｅｒ  Ｐｏｉｎｔ：工具中央点）の軌跡精度が重要となる。ロボットを制御する際には、ロボットＴＣＰが想定している目標軌跡を辿るように、ロボットが備える各関節を駆動するモータを制御する。しかしながら、ロボットの関節に備え付けられた減速機やロボットアームそのものの剛性不足、各関節軸におけるバックラッシ等が原因となって、ロボットＴＣＰが予め想定している目標軌跡からずれることがある。
【０００３】
なお、ロボットＴＣＰの軌跡精度を改善する従来技術として、例えば特許文献１〜３には、センサやシミュレーション等により把握したロボット動作中のロボットＴＣＰの軌跡に基づいて学習制御を繰り返し行い、目標軌跡を再現する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１１０７０２号公報
【特許文献２】特開２００４−３２２２２４号公報
【特許文献３】特開２０１７−１２７９６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術に示されるように、ロボットに取り付けたセンサから得られるものは、加速度や角速度、力覚などの物理量である。計測した物理量からロボットＴＣＰの軌跡を求めるには、積分などの演算が必要になる。そして、センサ値にはノイズが含まれていることもあり、算出する位置精度は低くなり、繰り返し学習による軌跡精度の改善も効果が薄くなる。また、ロボットの先端位置を直接計測する装置としてレーザトラッカ等があるが、このような装置をロボットＴＣＰの軌跡を記録するために用いる場合、ロボットの動作を変更して学習を行うたびに計測装置を設置することとなり、非常に煩雑であるという課題がある。
【０００６】
そこで本発明の目的は、ロボットの目標軌跡に基づいて該ロボットの各軸に対して指令するべき指令データを推定できる汎用的な制御装置及び機械学習装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明の制御装置は、ロボットの動作軌跡を位置データとして直接計測する計測装置と、ロボットに対して指令される指令データとを使用することで、ロボットＴＣＰの軌跡精度の改善を実現する。位置計測装置によって計測されたロボットＴＣＰの動作軌跡のデータ（以下、実測軌跡データ）と、ロボットの制御に用いられる指令データとを学習用データセットとして機械学習を行うことで、理想の軌跡データを入力するとその軌跡を再現するための指令データを出力するシステムを作成する。
【０００８】
そして、本発明の一態様は、ロボットが備えるアームの先端位置の軌跡データに基づいて該ロボットが備える軸に対して指令するべき指令データを推定する制御装置であって、前記軌跡データに対する前記ロボットが備える軸に対して指令するべき指令データの推定を学習する機械学習装置を備え、前記軌跡データから前記ロボットが備える軸の軸角度の変化量を算出する軸角度変換部と、前記軸角度変換部が算出した前記ロボットが備える軸の軸角度の変化量に係る軸角度データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記ロボットが備える軸に対する指令データに係る軸角度指令データを、ラベルデータとして取得するラベルデータ取得部と、前記状態変数と前記ラベルデータとを用いて、前記ロボットが備える軸の軸角度の変化量と、前記ロボットが備える軸に対する指令データとを関連付けて学習する学習部と、を備える制御装置である。
【０００９】
本発明の他の態様は、ロボットが備えるアームの先端位置の軌跡データに基づいて該ロボットが備える軸に対して指令するべき指令データを推定する制御装置であって、前記軌跡データに対する前記ロボットが備える軸に対して指令するべき指令データの推定を学習した機械学習装置を備え、前記軌跡データから前記ロボットが備える軸の軸角度の変化量を算出する軸角度変換部と、前記軸角度変換部が算出した前記ロボットが備える軸の軸角度の変化量に係る軸角度データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記ロボットが備える軸の軸角度の変化量と、前記ロボットが備える軸に対する指令データとを関連付けて学習した学習部と、前記状態観測部が観測した状態変数と、前記学習部による学習結果とに基づいて、前記ロボットが備える軸に対する指令データを推論して出力する推定結果出力部と、を備える制御装置である。
【００１０】
本発明の他の態様は、ロボットが備えるアームの先端位置の軌跡データに対する前記ロボットが備える軸に対して指令するべき指令データを学習する機械学習装置であって、前記軌跡データから前記ロボットが備える軸の軸角度の変化量を算出する軸角度変換部と、前記軸角度変換部が算出した前記ロボットが備える軸の軸角度の変化量に係る軸角度データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記ロボットが備える軸に対する指令データに係る軸角度指令データを、ラベルデータとして取得するラベルデータ取得部と、前記状態変数と前記ラベルデータとを用いて、前記ロボットが備える軸の軸角度の変化量と、前記ロボットが備える軸に対する指令データとを関連付けて学習する学習部と、を備える機械学習装置である。
【００１１】
本発明の他の態様は、ロボットが備えるアームの先端位置の軌跡データに対する前記ロボットが備える軸に対して指令するべき指令データの推定を学習した機械学習装置であって、前記軌跡データから前記ロボットが備える軸の軸角度の変化量を算出する軸角度変換部と、前記軸角度変換部が算出した前記ロボットが備える軸の軸角度の変化量に係る軸角度データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記ロボットが備える軸の軸角度の変化量と、前記ロボットが備える軸に対する指令データとを関連付けて学習した学習部と、前記状態観測部が観測した状態変数と、前記学習部による学習結果とに基づいて、前記ロボットが備える軸に対する指令データを推論して出力する推定結果出力部と、を備える機械学習装置である。
【発明の効果】
【００１２】
本発明により、ロボットの目標軌跡に基づいて該ロボットの各軸に対して指令するべき指令データを推定できるようになるので、様々なロボットの移動を学習させることにより汎用的にロボットの指令データを推論することができるようになる。
【図面の簡単な説明】
【００１３】
【図１】一実施形態による制御装置の概略的なハードウェア構成図である。
【図２】一実施形態による制御装置の概略的な機能ブロック図である。
【図３】軌跡データの例を示す図である。
【図４】学習部１１０における入力データと出力データの例を示す図である。
【図５】制御装置の一形態を示す概略的な機能ブロック図である。
【図６】制御装置を組み込んだシステムの一形態を示す概略的な機能ブロック図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態を図面と共に説明する。
図１は第１の実施形態による制御装置の要部を示す概略的なハードウェア構成図である。制御装置１は、例えばロボットを制御する制御装置として実装することができる。また、制御装置１は、ロボットを制御する制御装置と併設されたコンピュータや、該制御装置とネットワークを介して接続されたセルコンピュータ、ホストコンピュータ、クラウドサーバ等のコンピュータとして実装することが出来る。図１は、製造機械を制御する制御装置として制御装置１を実装した場合の例を示している。
【００１５】
本実施形態による制御装置１が備えるＣＰＵ１１は、制御装置１を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス２０を介して読み出し、該システム・プログラムに従って制御装置１全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ、図示しない入力部を介してオペレータが入力した各種データ等が一時的に格納される。
【００１６】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされるなどして、制御装置１の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ１４には、インタフェース１９を介して読み込まれた制御プログラムや操作盤７１により教示された教示位置、ロボットやその周辺装置、軌跡計測装置３から取得された各種データ等が記憶されている。不揮発性メモリ１４に記憶されたプログラムは、利用時にはＲＡＭ１３に展開されても良い。また、ＲＯＭ１２には、制御装置１の動作に必要な各種のシステム・プログラム（機械学習装置１００とのやりとりを制御するためのシステム・プログラムを含む）があらかじめ書き込まれている。
【００１７】
軌跡計測装置３は、レーザトラッカ等の目標物の動作軌跡を位置データとして直接計測する計測装置であり、本実施形態では機械学習装置１００の学習時にロボットのアームの先端に取付けた計測対象物を軌跡計測ポイントとして計測することで、ロボットのアームの先端の位置データを計測する。ＣＰＵ１１は、インタフェース１８を介して該位置データを軌跡データとして取得する。
【００１８】
ロボットが備える軸を制御するための軸制御回路３０はＣＰＵ１１からの軸の移動指令量を受けて、軸の指令をサーボアンプ４０に出力する。サーボアンプ４０はこの指令を受けて、ロボットが備える軸を移動させるサーボモータ５０を駆動する。軸のサーボモータ５０は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０にフィードバックし、位置・速度のフィードバック制御を行う。なお、図１のハードウェア構成図では軸制御回路３０、サーボアンプ４０、サーボモータ５０は１つずつしか示されていないが、実際には制御対象となるロボットに備えられた軸の数だけ用意される。
【００１９】
インタフェース２１は、制御装置１と機械学習装置１００とを接続するためのインタフェースである。機械学習装置１００は、機械学習装置１００全体を統御するプロセッサ１０１と、システム・プログラム等を記憶したＲＯＭ１０２、機械学習に係る各処理における一時的な記憶を行うためのＲＡＭ１０３、及び学習モデル等の記憶に用いられる不揮発性メモリ１０４を備える。機械学習装置１００は、インタフェース２１を介して制御装置１で取得可能な各情報を観測することができる。また、制御装置１は、機械学習装置１００から出力される値に基づいて、ロボットの制御を行う。
【００２０】
図２は、第１の実施形態による制御装置１と機械学習装置１００の概略的な機能ブロック図である。図２に示した各機能ブロックは、図１に示した制御装置１が備えるＣＰＵ１１、及び機械学習装置１００のプロセッサ１０１が、それぞれのシステム・プログラムを実行し、制御装置１及び機械学習装置１００の各部の動作を制御することにより実現される。
【００２１】
本実施形態の制御装置１は、不揮発性メモリ１４に記憶された制御プログラムのブロックや教示位置を読み出してロボット２及びその周辺装置を制御する制御部３４を備える。
【００２２】
制御部３４は、不揮発性メモリ１４に記憶された制御プログラムのブロックや教示位置（又は、ＲＡＭ１３に展開されている制御プログラムのブロックや教示位置）を読み出して、該ブロックによる指令に基づいてロボット２を制御する機能手段である。制御部３４は、制御プログラムのブロックがロボット２が備える各軸（関節）の移動を指令する場合に当該軸を駆動するサーボモータ５０に対して制御周期毎に軸角度の変化量としての指令データを出力する、制御プログラムのブロックがロボット２に備え付けられた図示しない周辺装置の動作を指令する場合に当該周辺装置に動作指令を出力する、等のように、ロボット２の各部を制御するための一般的な機能を備える。
【００２３】
一方、制御装置１が備える機械学習装置１００は、ロボット２のアームの先端部の軌跡データ（から変換された各軸の軸角度の変化量）に対する、ロボット２の各軸角度指令データの推定を、いわゆる機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（プロセッサ１０１等）を含む。制御装置１が備える機械学習装置１００が学習するものは、ロボット２のアームの先端部の軌跡データ（から変換された各軸の軸角度の変化量）と、ロボット２の各軸角度指令データとの、相関性を表すモデル構造に相当する。
【００２４】
図２に機能ブロックで示すように、制御装置１が備える機械学習装置１００は、軌跡計測装置３が計測して得られた軌跡データに含まれるロボット２のアームの先端部の位置からロボット２の各軸の軸角度の変化量を求める軸角度変換部１０５と、軸角度変換部１０５が変換したロボット２の各軸の軸角度を示す軸角度データＳ１を含む環境の現在状態を表す状態変数Ｓとして観測する状態観測部１０６と、ロボット２の各軸に対して指令されるべき軸角度の変化量を示す軸角度指令データＬ１を含むラベルデータＬを取得するラベルデータ取得部１０８と、状態変数ＳとラベルデータＬとを用いて、ロボット２のアームの先端部の軌跡データから変換された各軸の軸角度の変化量に対して、ロボット２に対して指令する各軸の軸角度の変化量を関連付けて学習する学習部１１０と、学習部１１０による学習済みモデルを用いてロボット２のアームの先端部の軌跡データ（から変換された各軸の軸角度の変化量）から推定したロボット２の各軸に対して出力するべき軸角度の変化量を軸角度指令データを出力する推定結果出力部１２２と、を備える。
【００２５】
軸角度変換部１０５は、軌跡計測装置３がロボット２のアームの先端部に取付けられた計測対象物を計測して得られた軌跡データに含まれるロボット２のアームの先端部の位置に基づいて、ロボット２が備える各軸の軸角度の変化量へと変換する機能手段である。軸角度変換部１０５は、ロボット２のアームの先端部の位置及びロボット２を構成する各アームの長さ等に基づいて、逆運動学等の公知の手法を用いることでロボット２が備える各軸の軸角度（位置）を求め、求めた各軸の軸角度から各軸の軸角度の変化量を算出する。
【００２６】
図３は、ロボット２のアームの先端部の軌跡データの例を示す図である。ロボット２のアームの先端部の軌跡データは、ロボット２のアームの先端部に取付けられた計測対象物の位置を所定周期毎に軌跡計測装置３が計測した（所定の座標系、例えばロボット座標系の）位置データの系列として定義することができる。軸角度変換部１０５は、軌跡データに含まれる所定周期毎の計測対象物の位置データのそれぞれに基づいて、各周期における各軸の軸角度の変化量を求める。例えば、図３に示される軌跡データが得られたとき、軸角度変換部１０５は、計測対象物がＰ0からＰ1へ移動するときの各軸の軸速度の変化量Ｄａ1、Ｐ1からＰ2へ移動するときの各軸の軸速度の変化量Ｄａ2、…を順に求める。
【００２７】
軸角度変換部１０５が軸角度の変化量を求める際に用いる軌跡データは、軌跡計測装置３から逐次取得しても良いが、軌跡計測装置３が計測した軌跡データを一時的に不揮発性メモリ１４等のメモリに記憶しておき、後の学習において該メモリから取得するようにしても良い。この様にする場合、メモリ上に記憶される軌跡データ（に含まれる各位置データ）と、制御部３４からロボット２に対して出力される指令データとの対応関係（例えば、計測対象物の位置がＰ1にある時に制御部３４からロボット２の各軸に対して指令データＣ1が出力された場合の、位置データＰ1と指令データＣａ1との対応関係）が把握できるように、時刻等を関連付けて記憶しておくようにすると良い。
【００２８】
状態観測部１０６は、学習部１１０による学習時において、状態変数Ｓとしての軸角度データＳ１を軸角度変換部１０５から取得する。また、状態観測部１０６は、学習部１１０の学習結果を用いたロボット２の各軸の軸角度指令データの推定時において、状態変数Ｓとしての軸角度データＳ１（Ｄａ：Ｄａ1，Ｄａ2，…）を軸角度変換部１０５から取得する。
【００２９】
ラベルデータ取得部１０８は、学習部１１０の学習時において、ラベルデータＬとして、制御部３４からロボット２に対して出力される各軸の軸角度指令データに係る軸角度指令データＬ１（Ｃａ：Ｃａ1，Ｃａ2，…）を取得する。軸角度指令データＬ１は、例えば制御部３４からロボット２に出力される各軸の軸角度指令データを直接取得してもよいし、制御部３４からロボット２に出力される各軸の軸角度指令データを不揮発性メモリ１４等のメモリに対して一時的に記憶しておき、後の学習において該メモリから取得するようにしても良い。この様にする場合、メモリ上に記憶される指令データと軌跡データ（に含まれる各位置データ）との対応関係が把握できるように、例えば時刻等を関連付けて記憶しておくようにすると良い。なお、ラベルデータ取得部１０８は、学習部１１０による学習時において利用されるものであり、学習部１１０による学習が完了した後は機械学習装置１００の必須の構成とする必要は無い。
【００３０】
学習部１１０は、機械学習と総称される任意の学習アルゴリズムに従い、状態変数Ｓ（ロボット２のアームの先端部の軌跡データから変換された各軸の軸角度の変化量を示す軸角度データＳ１）に対するラベルデータＬ（ロボット２の各軸の軸角度指令データを示す軸角度指令データＬ１）を学習する。学習部１１０は、例えば状態変数Ｓに含まれる軸角度データＳ１と、ラベルデータＬに含まれる軸角度指令データＬ１との相関性を学習することができる。学習部１１０は、状態変数ＳとラベルデータＬとを含むデータ集合に基づく学習を反復実行することができる。
【００３１】
学習部１１０は、最もシンプルに構成する場合、軸角度データＳ１に含まれる１つの各軸の軸角度の変化量Ｄａと、軸角度指令データＬ１に含まれる１つの各軸に対する指令データＣａとの関係を学習するように構成することができる。また、学習部１１０は、軸角度データＳ１に含まれる一連の（複数の）各軸の軸角度の変化量（例えば、図３におけるＰ0からＰ1へ移動する時の各軸の軸角度の変化量、Ｐ1からＰ2へ移動する時の各軸の軸角度の変化量、Ｐ2からＰ3へ移動する時の各軸の軸角度の変化量、…）と、軸角度指令データＬ１に含まれる一連の（複数の）各軸に対する指令データとの関係を学習するように構成することができる。後者の場合、同時に入力される一連の各軸の軸角度の変化量の関係を全て考慮して各軸の軸角度指令データを推論することができるようになるため、推論結果としての軸角度指令データの制度が向上する。
図４は、学習部１１０を構成する機械学習器の入力データと出力データの例を示している。図４においてｍ＝１として構成した場合が、学習部１１０を最もシンプルに構成する場合に当たる。
【００３２】
学習部１１０による学習においては、複数のロボット２のそれぞれについて得られたデータに基づいた複数の学習サイクルを実行することが望ましい。このような学習サイクルを繰り返すことにより、学習部１１０は、ロボット２のアームの先端部の軌跡データから変換された各軸の軸角度の変化量（軸角度データＳ１）と、ロボット２の各軸の軸角度指令データ（軸角度指令データＬ１）との相関性を自動的に解釈する。学習アルゴリズムの開始時には軸角度データＳ１に対する軸角度指令データＬ１の相関性は実質的に未知であるが、学習部１１０が学習を進めるに従い徐々に軸角度データＳ１に対する軸角度指令データＬ１との関係を徐々に解釈し、その結果として得られた学習済みモデルを用いることで軸角度データＳ１に対する軸角度指令データＬ１の相関性を解釈可能になる。
【００３３】
なお、学習部１１０は、１つの学習モデルを備えるものとして構成しても良いが、例えばロボット２の構造や位置姿勢（及びロボット２のアームの先端に取付けないし把持される物の重量）から求められるイナーシャに応じた異なる学習モデルを用意するようにしても良い。この様にする場合、イナーシャの値に基づく複数の区分を作成し、それぞれの区分ごとに異なる学習モデルを構築し、ロボット２の構造や位置姿勢（及びロボット２のアームの先端に取付けないし把持される物の重量）に基づいて計算されたイナーシャに対応する学習モデルを選択し、該学習モデルを用いた学習及び推定を行うようにすれば良い。この様にすることで、イナーシャの違いによるロボットの動きの違いをそれぞれ反映させた学習モデルを個別に構築することができるので、学習済みモデルの構築に掛かるコスト（学習モデルの収束に掛かる時間等）や、学習済みモデルのサイズを小さくすることができる。
【００３４】
推定結果出力部１２２は、学習部１１０が学習した結果（学習済みモデル）に基づいて、ロボット２のアームの先端部の軌跡データ（から変換された各軸の軸角度の変化量）に基づいてロボット２の各軸の軸角度指令データを推定し、推定したロボット２の各軸の軸角度指令データを出力する。より具体的には、学習部１１０がロボット２のアームの先端部の軌跡データから変換された各軸の軸角度の変化量を示す軸角度データＳ１に関連付けて学習したロボット２の各軸の軸角度指令データに係る軸角度指令データＬ１は、制御部３４がロボット２の各軸に対して出力するべき指令データを示しており、学習部１１０による学習済みモデルを用いた推定ではこの値が出力される。そして、推定結果出力部１２２は、この出力された値に基づいて、ロボット２の先端部が描くべき軌跡（目標軌跡）を実現するためにロボット２の各軸に対して出力されるべき指令を推定し、その推定結果を制御部３４へと出力する。
【００３５】
推定結果出力部１２２は、機械学習装置１００によるロボット２の目標軌跡データに対する制御部３４からロボット２へ出力するべき軸角度指令データの推論時に用いられる。より具体的には、操作盤７１等の外部から、又は、制御プログラムにより、ロボット２の先端が描くべき目標軌跡データが機械学習装置１００に対して入力されると、入力された目標軌跡データに基づいて軸角度変換部１０５がロボット２が備える各軸の軸角度の変化量を算出し、算出されたロボット２が備える各軸の軸角度の変化量を軸角度データＳ１として、学習部１１０による学習結果を用いて推定結果出力部１２２は、ロボット２の各軸に対して指令されるべき軸角度の変化量である軸角度指令データＬ１を推定する。
【００３６】
上記構成を有する機械学習装置１００では、学習部１１０が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。図５は、図２に示す制御装置１の他の形態であって、学習アルゴリズムの他の例として教師あり学習を実行する学習部１１０を備えた構成を示す。教師あり学習は、入力とそれに対応する出力との既知のデータセット（教師データと称する）が与えられ、それら教師データから入力と出力との相関性を暗示する特徴を識別することで、新たな入力に対する所要の出力を推定するための相関性モデルを学習する手法である。
【００３７】
図３に示す制御装置１が備える機械学習装置１００において、学習部１１０は、ロボット２のアームの先端部の軌跡データから変換された各軸の軸角度の変化量に基づいてロボット２の各軸の軸角度指令データを推定する相関性モデルＭと過去に取得されたロボット２のアームの先端部の軌跡データから変換された各軸の軸角度の変化量及び実際のロボット２の各軸角度指令データの結果から得られた教師データＴから識別される相関性特徴との誤差Ｅを計算する誤差計算部１１２と、誤差Ｅを縮小するように相関性モデルＭを更新するモデル更新部１１４とを備える。学習部１１０は、モデル更新部１１４が相関性モデルＭの更新を繰り返すことによってロボット２のアームの先端部の軌跡データから変換された各軸の軸角度の変化量に基づいたロボット２の各軸角度指令データの推定を学習する。
【００３８】
相関性モデルＭの初期値は、例えば、状態変数ＳとラベルデータＬとの相関性を単純化して（例えば一次関数で）表現したものであり、教師あり学習の開始前に学習部１１０に与えられる。教師データＴは、本発明では上述したように過去に取得されたロボット２のアームの先端部の軌跡データから変換された各軸の軸角度の変化量のデータと実際のロボット２の各軸角度指令データのデータとを利用することができ、制御装置１の運用時に随時学習部１１０に与えられる。誤差計算部１１２は、学習部１１０に随時与えられた教師データＴにより、ロボット２のアームの先端部の軌跡データから変換された各軸の軸角度の変化量と該識別コードの該ロボット２に取り付けられたロボット２の各軸角度指令データとの相関性を暗示する相関性特徴を識別し、この相関性特徴と、現在状態における状態変数Ｓ及びラベルデータＬに対応する相関性モデルＭとの誤差Ｅを求める。モデル更新部１１４は、例えば予め定めた更新ルールに従い、誤差Ｅが小さくなる方向へ相関性モデルＭを更新する。
【００３９】
次の学習サイクルでは、誤差計算部１１２は、更新後の相関性モデルＭに従って状態変数Ｓを用いてロボット２の各軸の軸角度指令データの推定が行われ、該推定の結果と実際に取得されたラベルデータＬの誤差Ｅを求め、モデル更新部１１４が再び相関性モデルＭを更新する。このようにして、未知であった環境の現在状態とそれに対する推定との相関性が徐々に明らかになる。
【００４０】
前述した教師あり学習を進める際に、ニューラルネットワークを用いることができる。ニューラルネットワークとしては、入力層、中間層、出力層の三層を備えたニューラルネットワークを用いても良いが、三層以上の層を為すニューラルネットワークを用いた、いわゆるディープラーニングの手法を用いることで、より効果的な学習及び推論を行うように構成することも可能である。
また、時系列で入力されるデータを、過去の入力を考慮して学習及び推論するリカレントニューラルネットワークを用いることも可能である。リカレントニューラルネットワークを用いる場合、学習部１１０を構成する機械学習器は、軸角度データＳ１に含まれる１つの各軸の軸角度の変化量Ｄａと、軸角度指令データＬ１に含まれる１つの各軸に対する指令データＣａとの関係を学習するように構成した場合であっても、過去のロボット２の移動の系列を考慮した学習及び推論を行うことができる。
【００４１】
上記した機械学習装置１００の構成は、プロセッサ１０１が各々実行する機械学習方法（或いはソフトウェア）として記述できる。この機械学習方法は、ロボット２のアームの先端部の軌跡データから変換された各軸の軸角度の変化量からロボット２の各軸角度指令データの推定を学習する機械学習方法であって、プロセッサ１０１が、ロボット２のアームの先端部の軌跡データから変換された各軸の軸角度の変化量（軸角度データＳ１）を現在状態を表す状態変数Ｓとして観測するステップと、ロボット２の各軸の軸角度指令データ（軸角度指令データＬ１）をラベルデータＬとして取得するステップと、状態変数ＳとラベルデータＬとを用いて、軸角度データＳ１と、ロボット２の各軸の軸角度指令データとを関連付けて学習するステップとを有する。
【００４２】
機械学習装置１００の学習部１１０により学習されて得られた学習済みモデルは機械学習に係るソフトウェアの一部であるプログラムモジュールとしての利用することが可能である。本発明の学習済みモデルは、ＣＰＵやＧＰＵ等のプロセッサとメモリを備えるコンピュータにて用いることができる。より具体的には、コンピュータのプロセッサが、メモリに記憶された学習済みモデルからの指令に従って、ロボット２のアームの先端部の軌跡データから変換された各軸の軸角度の変化量を入力として演算を行い、演算結果に基づいてロボット２の各軸の軸角度指令データの推定結果を出力するように動作する。本発明の学習済みモデルは、外部記憶媒体やネットワーク等を介して他のコンピュータに対して複製して利用することが可能である。
【００４３】
また、本発明の学習済みモデルを他のコンピュータに対して複製して新しい環境で利用する際に、当該環境で得られた新たな状態変数やラベルデータに基づいて当該学習済みモデルに対して更なる学習を行わせることもできる。このようにした場合、当該環境による学習済みモデルから派生した学習済みモデル（以下、派生モデルとする）を得ることが可能である。本発明の派生モデルは、ロボット２のアームの先端部の軌跡データから変換された各軸の軸角度の変化量に基づいてロボット２の各軸の軸角度指令データの推定結果を出力するという点では元の学習済みモデルと同じだが、元の学習済みモデルよりも新しい環境に適合した結果を出力するという点で異なる。この派生モデルもまた、外部記憶媒体やネットワーク等を介して他のコンピュータに対して複製して利用することが可能である。
【００４４】
更に、本発明の学習済みモデルを組み込んだ機械学習装置に対する入力に対して得られる出力を用いて、他の機械学習装置において１から学習を行うことで得られる学習済みモデル（以下、蒸留モデルとする）を作成し、これを利用することも可能である（このような学習工程を蒸留と言う）。蒸留において、元の学習済みモデルを教師モデル、新たに作成する蒸留モデルを生徒モデルとも言う。一般に、蒸留モデルは元の学習済みモデルよりもサイズが小さく、それでいて元の学習済みモデルと同等の正確度を出せるため、外部記憶媒体やネットワーク等を介した他のコンピュータに対する配布により適している。
【００４５】
図６は、制御装置１を備えた一実施形態によるシステム１７０を示す。システム１７０は、セルコンピュータやホストコンピュータ、クラウドサーバ等のコンピュータの一部として実装された少なくとも１台の制御装置１と、複数のロボット２（を備えた製造機械）と、制御装置１、ロボット２を互いに接続する有線／無線のネットワーク１７２とを備える。
【００４６】
上記構成を有するシステム１７０は、機械学習装置１００を備える制御装置１が、学習部１１０の学習結果を用いて、ロボット２のアームの先端部の軌跡データに対するロボット２の各軸の軸角度指令データを自動的かつ正確に推定することができる。また、制御装置１の機械学習装置１００が、複数のロボット２のそれぞれについて得られた状態変数Ｓ及びラベルデータＬに基づき、全てのロボット２に共通するロボット２の各軸の軸角度指令データの推定を学習し、その学習結果を全てのロボット２において利用するように構成できる。したがってシステム１７０によれば、より多様なデータ集合（状態変数Ｓ及びラベルデータＬを含む）を入力として、ロボット２の各軸の軸角度指令データの推定の学習の速度や信頼性を向上させることができる。
【００４７】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００４８】
例えば、機械学習装置１００が実行する学習アルゴリズム、演算アルゴリズム、制御装置１が実行するアルゴリズム等は、上述したものに限定されず、様々なアルゴリズムを採用できる。
【００４９】
また、上記した実施形態では制御装置１と機械学習装置１００が異なるＣＰＵを有する装置として説明しているが、機械学習装置１００は制御装置１が備えるＣＰＵ１１と、ＲＯＭ１２に記憶されるシステム・プログラムにより実現するようにしても良い。
【符号の説明】
【００５０】
１  制御装置
２  ロボット
３  軌跡計測装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１８，１９  インタフェース
２０  バス
２１  インタフェース
３０  軸制御回路
３４  制御部
４０  サーボアンプ
５０  サーボモータ
７１  操作盤
１００  機械学習装置
１０１  プロセッサ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  不揮発性メモリ
１０５  軸角度変換部
１０６  状態観測部
１０８  ラベルデータ取得部
１１０  学習部
１１２  誤差計算部
１１４  モデル更新部
１２２  推定結果出力部
１７０  システム
１７２  ネットワーク
【図１】
2019166626.tif 000003
【図２】
2019166626.tif 000004
【図３】
2019166626.tif 000005
【図４】
2019166626.tif 000006
【図５】
2019166626.tif 000007
【図６】
2019166626.tif 000008