(57)【要約】【課題】ロボット機構部の位置制御の補正のための学習補正量を算出する学習回数を低減するロボットシステムを提供する。【解決手段】ロボットシステム１は、動作指令に基づく位置制御の学習補正量の学習が未学習である少なくとも１つの未学習ロボット１０２と、動作指令に基づく位置制御の学習補正量の学習が学習済である少なくとも１つの学習済ロボット１０１，１０３，１０４と、学習済ロボット１０１，１０３，１０４の動作指令１，３，４及び学習補正量１，３，４を保存する記憶装置２１０とを含み、未学習ロボット１０２は、記憶装置２１０に保存された学習済ロボット１０３の動作指令３と自ロボットの動作指令２との差異に基づいて、記憶装置２１０に保存された学習済ロボット１０３の学習補正量３を補正し、補正した学習補正量３を自ロボットの学習補正量２として推定する補正量推定部を備える。【選択図】図１
2019038089.tif 000002
【特許請求の範囲】
【請求項１】
動作指令に基づく位置制御の学習補正量の学習が未学習である少なくとも１つの未学習ロボットと、
動作指令に基づく位置制御の学習補正量の学習が学習済である少なくとも１つの学習済ロボットと、
前記学習済ロボットの動作指令及び学習補正量を保存する記憶装置と、
を含み、
前記未学習ロボットは、前記記憶装置に保存された前記学習済ロボットの動作指令と自ロボットの動作指令との差異に基づいて、前記記憶装置に保存された前記学習済ロボットの学習補正量を補正し、補正した学習補正量を自ロボットの学習補正量として推定する補正量推定部を備える、ロボットシステム。
【請求項２】
前記補正量推定部は、前記学習済ロボットの動作指令と自ロボットの動作指令との大きさの比及び時間長の比に基づいて、前記学習済ロボットの学習補正量を補正する、請求項１に記載のロボットシステム。
【請求項３】
前記補正量推定部は、
前記学習済ロボットの動作指令及び学習補正量と自ロボットの動作指令とを、同一の時間長にスケーリングし、
スケーリングした前記学習済ロボットの動作指令とスケーリングした自ロボットの動作指令との大きさの比に基づいて、スケーリングした前記学習済ロボットの学習補正量の大きさを補正し、
補正した前記学習済ロボットの学習補正量を、自ロボットの動作指令の時間長にスケーリングすることにより、前記学習済ロボットの学習補正量を補正する、
請求項２に記載のロボットシステム。
【請求項４】
前記補正量推定部は、前記学習済ロボットの動作指令から自ロボットの動作指令への関数に基づいて、前記学習済ロボットの学習補正量を補正する、請求項１に記載のロボットシステム。
【請求項５】
前記補正量推定部は、
前記学習済ロボットの動作指令から自ロボットの動作指令への伝達関数を求め、
求めた伝達関数を前記学習済ロボットの学習補正量に適用して、前記学習済ロボットの学習補正量を補正する、
請求項４に記載のロボットシステム。
【請求項６】
前記未学習ロボットは、前記記憶装置に保存された前記学習済ロボットの動作指令と自ロボットの動作指令とを比較する比較部を更に備え、
前記補正量推定部は、前記比較部による比較の結果、前記学習済ロボットの動作指令と自ロボットの動作指令との相関が閾値以上である場合に、前記学習済ロボットの学習補正量を補正し、補正した学習補正量を自ロボットの学習補正量として推定する、
請求項１〜５の何れか１項に記載のロボットシステム。
【請求項７】
前記比較部は、
前記学習済ロボットの動作指令と自ロボットの動作指令とを、同一の時間長にスケーリングし、
スケーリングした前記学習済ロボットの動作指令とスケーリングした自ロボットの動作指令とを比較する、
請求項６に記載のロボットシステム。
【請求項８】
前記補正量推定部は、前記比較部による比較の結果、前記学習済ロボットの動作指令と自ロボットの動作指令とが同一である場合には、前記学習済ロボットの学習補正量をそのまま自ロボットの学習補正量として推定する、請求項６又は７に記載のロボットシステム。
【請求項９】
ネットワークを介して前記未学習ロボット及び前記学習済ロボットに接続され、前記記憶装置を備えるサーバ装置を更に含む、請求項１〜８の何れか１項に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット機構部の位置制御の補正のための学習補正量を算出する学習制御を行う複数のロボットを備えるロボットシステムに関する。
【背景技術】
【０００２】
ロボット機構部のアーム先端部（位置制御の対象部位）の位置を制御することにより、レーザ加工、シーリング、アーク溶接等を行う例えば産業用ロボットが知られている。このようなロボットでは、動作を高速化することによって、タクトタイムを短縮することができ、生産効率を向上することができる。しかしながら、ロボットの動作を高速化すると、減速機、ロボット機構部のアームの剛性不足等の要因によって、ロボット機構部のアーム先端部に振動が発生することがあり、これにより、加工対象物の品質が悪化する場合がある。
【０００３】
特許文献１及び２には、このような問題点を解決するロボットが記載されている。これらのロボットは、ロボット機構部のアーム先端部にセンサを備え、センサにより、動作プログラムに基づくロボット機構部の動作中のロボット機構部のアーム先端部の振動を計測する。ロボットは、計測した振動を低減する学習補正量を算出する学習制御を繰り返し行う。
ロボットは、学習補正量を用いて、ロボット機構部のアーム先端部（位置制御の対象部位）の位置制御の補正を行い、ロボット機構部のアーム先端部の振動を低減する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１６７８１７号公報
【特許文献２】特開２０１２−２４０１４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ロボット機構部のアーム先端部の振動特性は、ロボット機構部の姿勢によって大きく変動する。そのため、学習制御を行う際にはロバスト性を大きくとる必要があり、学習の繰り返し回数は多くなる。また、動作プログラムを修正した場合には、一から学習し直さなければならず、非常に手間が掛かるという問題がある。
【０００６】
本発明は、ロボット機構部の位置制御の補正のための学習補正量を算出する学習回数を低減するロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
（１）  本発明に係るロボットシステム（例えば、後述のロボットシステム１）は、動作指令に基づく位置制御の学習補正量の学習が未学習である少なくとも１つの未学習ロボット（例えば、後述のロボット１０２）と、動作指令に基づく位置制御の学習補正量の学習が学習済である少なくとも１つの学習済ロボット（例えば、後述のロボット１０３）と、前記学習済ロボットの動作指令及び学習補正量を保存する記憶装置（例えば、後述の記憶装置２１０）とを含み、前記未学習ロボットは、前記記憶装置に保存された前記学習済ロボットの動作指令と自ロボットの動作指令との差異に基づいて、前記記憶装置に保存された前記学習済ロボットの学習補正量を補正し、補正した学習補正量を自ロボットの学習補正量として推定する補正量推定部（例えば、後述の補正量推定部３３）を備える。
【０００８】
（２）  （１）に記載のロボットシステムにおいて、前記補正量推定部は、前記学習済ロボットの動作指令と自ロボットの動作指令との大きさの比及び時間長の比に基づいて、前記学習済ロボットの学習補正量を補正してもよい。
【０００９】
（３）  （２）に記載のロボットシステムにおいて、前記補正量推定部は、前記学習済ロボットの動作指令及び学習補正量と自ロボットの動作指令とを、同一の時間長にスケーリングし、スケーリングした前記学習済ロボットの動作指令とスケーリングした自ロボットの動作指令との大きさの比に基づいて、スケーリングした前記学習済ロボットの学習補正量の大きさを補正し、補正した前記学習済ロボットの学習補正量を、自ロボットの動作指令の時間長にスケーリングすることにより、前記学習済ロボットの学習補正量を補正してもよい。
【００１０】
（４）  （１）に記載のロボットシステムにおいて、前記補正量推定部は、前記学習済ロボットの動作指令から自ロボットの動作指令への関数に基づいて、前記学習済ロボットの学習補正量を補正してもよい。
【００１１】
（５）  （４）に記載のロボットシステムにおいて、前記補正量推定部は、前記学習済ロボットの動作指令から自ロボットの動作指令への伝達関数を求め、求めた伝達関数を前記学習済ロボットの学習補正量に適用して、前記学習済ロボットの学習補正量を補正してもよい。
【００１２】
（６）  （１）から（５）のいずれかに記載のロボットシステムにおいて、前記未学習ロボットは、前記記憶装置に保存された前記学習済ロボットの動作指令と自ロボットの動作指令とを比較する比較部（例えば、後述の比較部３５）を更に備え、前記補正量推定部は、前記比較部による比較の結果、前記学習済ロボットの動作指令と自ロボットの動作指令との相関が閾値以上である場合に、前記学習済ロボットの学習補正量を補正し、補正した学習補正量を自ロボットの学習補正量として推定してもよい。
【００１３】
（７）  （６）に記載のロボットシステムにおいて、前記比較部は、前記学習済ロボットの動作指令と自ロボットの動作指令とを、同一の時間長にスケーリングし、スケーリングした前記学習済ロボットの動作指令とスケーリングした自ロボットの動作指令とを比較してもよい。
【００１４】
（８）  （６）又は（７）に記載のロボットシステムにおいて、前記補正量推定部は、前記比較部による比較の結果、前記学習済ロボットの動作指令と自ロボットの動作指令とが同一である場合には、前記学習済ロボットの学習補正量をそのまま自ロボットの学習補正量として推定してもよい。
【００１５】
（９）  （１）から（８）のいずれかに記載のロボットシステムは、ネットワークを介して前記未学習ロボット及び前記学習済ロボットに接続され、前記記憶装置を備えるサーバ装置（例えば、後述のサーバ装置２００）を更に含んでもよい。
【発明の効果】
【００１６】
本発明によれば、ロボット機構部の位置制御の補正のための学習補正量を算出する学習回数を低減するロボットシステムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態に係るロボットシステムの構成を示す図である。
【図２】図１のロボットシステムにおけるロボットの構成を示す図である。
【図３】第１実施形態のロボットシステムにおける未学習のロボットのロボット制御部による学習補正量の推定動作を示すフローチャートである。
【図４】図２のロボットのロボット制御部における比較部による動作指令の時間長のスケーリングを説明するための図である。
【図５Ａ】図２のロボットのロボット制御部における補正量推定部による学習補正量の推定の一例を説明するための図である。
【図５Ｂ】図２のロボットのロボット制御部における補正量推定部による動作指令の大きさの比の一例を説明するための図である。
【図６】第２実施形態のロボットシステムにおける未学習ロボットのロボット制御部による学習補正量の推定動作を示すフローチャートである。
【図７Ａ】図２のロボットのロボット制御部における補正量推定部による動作指令の伝達関数の求め方の一例を説明するための図である。
【図７Ｂ】図２のロボットのロボット制御部における補正量推定部による学習補正量の推定の他の一例を説明するための図である。
【発明を実施するための形態】
【００１８】
以下、添付の図面を参照して本発明の実施形態の一例について説明する。なお、各図面において同一又は相当の部分に対しては同一の符号を附すこととする。
【００１９】
（第１実施形態）
図１は、本実施形態に係るロボットシステムの構成を示す図である。図１に示すロボットシステム１は、４つのロボット１０１，１０２，１０３，１０４と、これらのロボット１０１，１０２，１０３，１０４がネットワーク５を介して接続されているサーバ装置２００とを備える。
【００２０】
ロボット１０１，１０２，１０３，１０４は、レーザ加工、シーリング、又は、アーク溶接等を行う例えば産業用ロボットである。以下、ロボット１０１，１０２，１０３，１０４を代表してロボット１０２について説明するが、ロボット１０１，１０３，１０４もロボット１０２と同様である。
【００２１】
ロボット１０２は、動作指令（動作プログラム）に基づいて、ロボット機構部のツール先端部（位置制御の対象部位）の位置制御を行う。また、ロボット１０２は、例えば初期設定において、ロボット機構部のツール先端部の位置制御の補正を行う。ロボット１０２は、この補正のための補正量を生成する機能として、従来の学習制御の機能と、新たな学習制御の機能との２つの機能を有する。
従来の学習制御の機能では、ロボット１０２は、単独で、前回生成した学習補正量を適用して動作指令に基づくロボット機構部の動作を繰り返す学習制御を行うことにより、ツール先端部の振動を低減する学習補正量を算出する学習を行う（例えば、特許文献１及び２）。
新たな学習制御の機能では、ロボット１０２は、サーバ装置２００に保存された学習済のロボットの学習データ（動作指令及び学習補正量）を利用して、ツール先端部の振動を低減する学習補正量を推定する。ロボット１０２の詳細は後述する。
【００２２】
本実施形態では、ロボット１０２は、動作指令に基づく位置制御の補正のための学習補正量の学習が未学習である。一方、ロボット１０１，１０３，１０４は、動作指令に基づく位置制御の補正のための学習補正量の学習が学習済である。ロボット１０１，１０３，１０４は、学習した学習補正量と動作指令とを関連付けて学習データとして、ネットワーク５を介してサーバ装置２００に送信する。
【００２３】
サーバ装置２００は、例えばクラウドサーバであり、記憶装置２１０を備えている。記憶装置２１０は、学習済のロボット１０１から受信した学習データ１（動作指令１及び学習補正量１）、学習済のロボット１０３から受信した学習データ３（動作指令３及び学習補正量３）、及び、学習済のロボット１０４から受信した学習データ４（動作指令４及び学習補正量４）を保存している。記憶装置２１０は、例えばＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＤＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の書き換え可能なメモリである。
【００２４】
次に、ロボット１０２の構成について詳細に説明する。図２は、ロボット１０２の構成を示す図である。ロボット１０２は、ロボット機構部１０と、センサ２０と、ロボット制御部３０とを備える。
【００２５】
ロボット機構部１０としては、公知のロボットマニピュレータを用いることができる。図２には、ロボット機構部１０として、６つの関節軸を有するマニピュレータが例示されている。ロボット機構部１０の先端部には、ツール１２が設けられている。このロボット機構部１０では、ツール１２の先端部が位置制御の対象部位である。
【００２６】
センサ２０は、ロボット機構部１０のツール１２の先端部に設けられている。センサ２０は、ロボット機構部１０のツール１２の先端部の位置に関する位置情報を、ロボット制御部３０に提供する。センサ２０としては、ビジョンセンサ、加速度センサ、ジャイロセンサ、慣性センサ、及び歪ゲージが挙げられる。
【００２７】
ロボット制御部３０は、ロボット機構部１０の動作を制御する。ロボット制御部３０は、動作制御部３１と、位置偏差推定部３２と、補正量推定部３３と、取得部３４と、比較部３５と、記憶部３６とを備える。
動作制御部３１、位置偏差推定部３２、及び補正量推定部３３は、センサ２０からのロボット機構部１０のツール１２の先端部の位置情報に基づいて、単独で、ツール１２の先端部の振動を低減する学習補正量を算出する従来の学習制御を提供する。
また、取得部３４、比較部３５、及び補正量推定部３３は、サーバ装置２００の記憶装置２１０に保存された学習済のロボットの学習データ（動作指令及び学習補正量）を利用して、ツール１２の先端部の振動を低減する学習補正量を推定する新たな学習制御を提供する。
【００２８】
動作制御部３１は、例えば数値制御装置（図示せず）から、ロボット機構部１０の動作指令２に基づくロボット機構部１０のモータ（図示せず）の位置指令であって、ロボット機構部１０のツール１２の先端部（位置制御の対象部位）の目標位置に関する位置指令を取得する。また、動作制御部３１は、ロボット機構部１０のモータに取り付けられたエンコーダ（図示せず）から、モータの位置（回転位置）に応じた位置フィードバック（位置ＦＢ）を取得する。また、動作制御部３１は、補正量推定部３３から、ロボット機構部１０のツール１２の先端部の学習補正量２を取得する。動作制御部３１は、取得した動作指令２に基づく位置指令と位置フィードバックとの位置偏差と、学習補正量２とに基づいて、ロボット機構部１０のモータの駆動電流を生成し、ロボット機構部１０のツール１２の先端部の位置制御を行う。
【００２９】
位置偏差推定部３２は、動作指令２に基づくロボット機構部１０の動作中に、制御周期ごとに、動作指令２に基づく位置指令を取得し、記憶部３６に一旦記憶する。また、位置偏差推定部３２は、動作指令２に基づくロボット機構部１０の動作中に、センサ２０からロボット機構部１０のツール１２の先端部の位置情報を取得し、記憶部３６に一旦記憶する。位置偏差推定部３２は、制御周期ごとに、位置指令（すなわち、ロボット機構部１０のツール１２の先端部の目標位置）に対するツール１２の先端部の位置の位置偏差を推定する。この位置偏差は、ロボット機構部１０のツール１２の先端部の振動による位置ずれを含む。
【００３０】
補正量推定部３３は、典型的な学習制御部として機能し、位置偏差推定部３２で推定された位置偏差に基づいて、制御周期ごとに学習補正量を生成し、記憶部３６に記憶する。また、動作制御部３１に前回生成された学習補正量を適用して、動作指令２に基づくロボット機構部１０の動作を繰り返す学習制御を行う際、補正量推定部３３は、今回生成された学習補正量と前回生成された学習補正量とに基づいて、位置偏差推定部３２で推定された位置偏差をより低減する学習補正量を算出する学習を行い、記憶部３６に記憶された学習補正量２を更新する。
【００３１】
取得部３４は、通信インタフェース回路から構成される。取得部３４は、サーバ装置２００の記憶装置２１０からネットワーク５を介して、学習済のロボット１０１，１０３，１０４の学習データ１（動作指令１及び学習補正量１）、学習データ３（動作指令３及び学習補正量３）、及び、学習データ４（動作指令４及び学習補正量４）を取得する。
【００３２】
比較部３５は、自ロボットの動作指令２と、取得部３４で取得された学習済のロボット１０１，１０３，１０４の動作指令１、動作指令３及び動作指令４の各々とを比較する。
この比較において、比較部３５は、動作指令１、動作指令２及び動作指令３の中に、自ロボットの動作指令２と同一の動作指令があるか否かを判定する。
【００３３】
また、動作指令１、動作指令２及び動作指令３の何れもが、自ロボットの動作指令２と同一でない場合、比較部３５は、自ロボットの動作指令２と、動作指令１、動作指令２及び動作指令３の各々との相関が閾値以上か否かを判定する。
例えば、比較部３５は、自ロボットの動作指令２と、動作指令１、動作指令３及び動作指令４とを、同一の時間長にスケーリング（縮小又は拡大）し、スケーリングした自ロボットの動作指令２と、スケーリングした動作指令１、動作指令３及び動作指令４の各々との相関が閾値以上か否かを判定する。比較部３５の詳細は後述する。
相関とは、類似度を表す値であり、例えば０〜１の任意の値で表され、１に近いほど類似度が高い。動作指令の類似性は、動作指令の開始点がどの程度異なるのか、及び、同一の時間長にスケーリングした動作指令の相関等によって判定される。
【００３４】
補正量推定部３３は、比較部３５による比較の結果、自ロボットの動作指令２に対して最も相関（類似度）が高い動作指令、及びこの動作指令に対応する学習補正量に基づいて、自ロボットの学習補正量２を推定する。
以下では、自ロボットの動作指令２に対して最も相関（類似度）が高い動作指令、及びこの動作指令に対応する学習補正量を、動作指令３及び学習補正量３と仮定して説明する。
【００３５】
（１）動作指令２と動作指令３とが同一である場合（相関が１である場合）
比較部３５による比較の結果、自ロボットの動作指令２と学習済のロボット１０３の動作指令３とが同一である場合、補正量推定部３３は、動作指令３に対応する学習補正量３をそのまま自ロボットの学習補正量２として推定し、記憶部３６に記憶する。
【００３６】
（２）動作指令２と動作指令３との相関が閾値以上である場合（相関が１に近い場合）
比較部３５による比較の結果、自ロボットの動作指令２と学習済のロボット１０３の動作指令３との相関が１未満閾値以上である場合、補正量推定部３３は、動作指令２と動作指令３との差異（大きさの比及び時間長の比）に基づいて、学習補正量３を補正し、補正した学習補正量３を自ロボットの学習補正量２として推定し、記憶部３６に記憶する。
例えば、補正量推定部３３は、動作指令２と動作指令３及び学習補正量３とを、同一の時間長にスケーリングし、スケーリングした動作指令２とスケーリングした動作指令３との大きさの比に基づいて、スケーリングした学習補正量３の大きさを補正し、補正した学習補正量３を動作指令２の時間長にスケーリングする。補正量推定部３３の詳細は後述する。
【００３７】
ロボット１０２は、補正量推定部３３で推定された学習補正量２をそのまま学習補正量としてもよいし、更に、この学習補正量２を初期値として適用し、上述したように動作制御部３１、位置偏差推定部３２及び補正量推定部３３により、ロボット機構部１０のツール１２の先端部の振動をより低減する学習補正量を算出する従来の学習制御を行ってもよい。
【００３８】
なお、比較部３５による比較の結果、自ロボットの動作指令２と学習済のロボット１０３の動作指令３との相関が閾値未満である場合、補正量推定部３３は、上述したように、位置偏差推定部３２で推定された位置偏差に基づいて、従来の学習制御を行う。
【００３９】
補正量推定部３３は、実際の動作指令２に基づく動作時に、記憶部３６に記憶された学習補正量を動作制御部３１に供給する。
【００４０】
記憶部３６は、補正量推定部３３で推定された学習補正量を記憶する。記憶部３６は、例えばＥＥＰＲＯＭ等の書き換え可能なメモリである。
【００４１】
上述したロボット制御部３０における動作制御部３１、位置偏差推定部３２、補正量推定部３３、比較部３５は、例えば、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の演算プロセッサで構成される。ロボット制御部３０の各種機能は、例えば記憶部に格納された所定のソフトウェア（プログラム、アプリケーション）を実行することで実現される。ロボット制御部３０の各種機能は、ハードウェアとソフトウェアとの協働で実現されてもよいし、ハードウェア（電子回路）のみで実現されてもよい。
【００４２】
次に、図３〜図５Ｂを参照して、第１実施形態のロボットシステム１における未学習のロボット１０２のロボット制御部３０による学習補正量の推定動作について説明する。図３は、第１実施形態のロボットシステム１における未学習のロボット１０２のロボット制御部３０による学習補正量の推定動作を示すフローチャートである。図４は、ロボット１０２のロボット制御部３０における比較部３５による動作指令２及び動作指令３の時間長のスケーリングを説明するための図である。図５Ａは、ロボット１０２のロボット制御部３０における補正量推定部３３による学習補正量の推定の一例を説明するための図である。図５Ｂは、ロボット１０２のロボット制御部３０における補正量推定部３３による動作指令２と動作指令３との大きさの比の一例を説明するための図である。
【００４３】
まず、ロボット１０１，１０３，１０４は、動作指令に基づく位置制御の補正のための学習補正量の学習が学習済であり、これらの学習データ（動作指令及び学習補正量）は、サーバ装置２００の記憶装置２１０に保存されている。
例えば、ロボット１０１は、動作制御部３１、位置偏差推定部３２、及び補正量推定部３３によって、センサ２０からのロボット機構部１０のツール１２の先端部の位置情報に基づいて、単独で、ツール１２の先端部の振動を低減する学習補正量１を算出する従来の学習制御を行う。具体的には、ロボット１０１は、前回生成された学習補正量を適用して、動作指令１に基づくロボット機構部１０の動作を繰り返す学習制御を行うことにより、ツール１２の先端部の振動を低減する学習補正量１を算出する学習を行う。ロボット１０１は、学習した学習補正量１と動作指令１とを関連付けて学習データ１として、ネットワーク５を介してサーバ装置２００に送信する。
同様に、ロボット１０３は、動作制御部３１、位置偏差推定部３２、及び補正量推定部３３による従来の学習制御によって学習した学習補正量３と動作指令３とを関連付けて学習データ３として、ネットワーク５を介してサーバ装置２００に送信する。
同様に、ロボット１０４は、動作制御部３１、位置偏差推定部３２、及び補正量推定部３３による従来の学習制御によって学習した学習補正量４と動作指令４とを関連付けて学習データ４として、ネットワーク５を介してサーバ装置２００に送信する。
サーバ装置２００は、学習済のロボット１０１から受信した学習データ１（動作指令１及び学習補正量１）、学習済のロボット１０３から受信した学習データ３（動作指令３及び学習補正量３）、及び、学習済のロボット１０４から受信した学習データ４（動作指令４及び学習補正量４）を、記憶装置２１０に保存する。
【００４４】
次に、未学習のロボット１０２では、取得部３４は、サーバ装置２００の記憶装置２１０からネットワーク５を介して、学習済のロボット１０１，１０３，１０４の学習データ１（動作指令１及び学習補正量１）、学習データ３（動作指令３及び学習補正量３）、及び学習データ４（動作指令４及び学習補正量４）を取得する（Ｓ１１）。
【００４５】
次に、比較部３５は、自ロボットの動作指令２と、取得部３４で取得された学習済のロボット１０１，１０３，１０４の動作指令１、動作指令２及び動作指令３の各々とを比較する。この比較において、比較部３５は、動作指令１、動作指令２及び動作指令３の中に、自ロボットの動作指令２と同一の動作指令があるか否かを判定する（Ｓ１２）。動作指令１、動作指令２及び動作指令３の中に、自ロボットの動作指令２と同一の動作指令３がある場合、後述するステップＳ１４に進む。
【００４６】
一方、動作指令１、動作指令２及び動作指令３の何れもが、自ロボットの動作指令２と同一でない場合、比較部３５は、自ロボットの動作指令２と、動作指令１、動作指令２及び動作指令３の各々との相関（類似度）が閾値以上か否かを判定する（Ｓ１３）。
例えば、図４に示すように、比較部３５は、時間長Ｔ１の動作指令３を時間長１（ｔ＝ｔ／Ｔ１）にスケーリングし、また、時間長Ｔ２の動作指令２を時間長１（ｔ＝ｔ／Ｔ２）にスケーリングする。比較部３５は、スケーリング後の動作指令３とスケーリング後の動作指令２との相関（類似度）を求める。
求めた相関が１未満閾値以上である場合、後述するステップＳ１５に進む。一方、求めた相関が閾値未満である場合、後述するステップＳ１６に進む。
【００４７】
（１）動作指令２と動作指令３とが同一である場合（相関が１である場合）
ステップＳ１２において、比較部３５による比較の結果、自ロボットの動作指令２と学習済のロボット１０３の動作指令３とが同一である場合、補正量推定部３３は、動作指令３に対応する学習補正量３をそのまま自ロボットの学習補正量２として推定し、記憶部３６に記憶する（Ｓ１４）。
これにより、実際の動作指令２による動作時、動作制御部３１は、補正量推定部３３で推定された学習補正量２をそのまま適用し、ロボット機構部１０のツール１２の先端部の振動を低減することができる。
【００４８】
（２）動作指令２と動作指令３との相関が閾値以上である場合（相間が１に近い場合）
例えば、学習済のロボット１０３の動作指令３が、１秒で最高速度まで加速し、最高速で３秒間移動後に１秒かけて減速し停止する動作指令であり、未学習のロボット１０２の動作指令２が、１秒で最高速度まで加速し、最高速で１秒間移動後に１秒かけて減速し停止する動作指令であるとする。この場合、動作指令３と動作指令２との動作時間が違うため、学習済のロボット１０３の学習補正量３をそのまま未学習のロボット１０２の学習補正量２として適用することはできない。しかし、動作指令３と動作指令２とは類似であるため、各々の動作に対する学習補正量も類似になるものと考えられる。
そこで、ステップＳ１３において、比較部３５による比較の結果、自ロボットの動作指令２と学習済のロボット１０３の動作指令３との相関が１未満閾値以上である場合、補正量推定部３３は、動作指令２と動作指令３との差異（大きさの比及び時間長の比）に基づいて、学習補正量３を補正し、補正した学習補正量３を自ロボットの学習補正量２として推定し、記憶部３６に記憶する（Ｓ１５）。
【００４９】
例えば、補正量推定部３３は、図５Ａに示すように、時間長Ｔ１の学習補正量３を時間長１（ｔ＝ｔ／Ｔ１）にスケーリングする。また、補正量推定部３３は、図４に示すように、時間長Ｔ１の動作指令３を時間長１（ｔ＝ｔ／Ｔ１）にスケーリングし、時間長Ｔ２の動作指令２を時間長１（ｔ＝ｔ／Ｔ２）にスケーリングする。
次に、補正量推定部３３は、図５Ｂに示すように、所定時間間隔で、スケーリング後の動作指令２とスケーリング後の動作指令３との大きさの比を求める。次に、補正量推定部３３は、図５Ａに示すように、所定時間間隔で、スケーリング後の動作指令２とスケーリング後の動作指令３との大きさの比に基づいて、スケーリング後の学習補正量３の大きさを補正する。
次に、補正量推定部３３は、補正した学習補正量３を、自ロボットの動作指令２の時間長Ｔ２（ｔ＝Ｔ２ｔ）にスケーリングして、自ロボットの学習補正量２として推定する。
なお、補正量推定部３３は、２回の時間長のスケーリングによりｔ＝ｔ／Ｔ１×Ｔ２ｔ＝Ｔ２／Ｔ１のスケーリングを行うことから、動作指令２と動作指令３との時間長の比に基づいて学習補正量３を補正することとなる。
【００５０】
これにより、実際の動作指令２による動作時、動作制御部３１は、補正量推定部３３で推定された学習補正量２をそのまま適用し、ロボット機構部１０のツール１２の先端部の振動を低減することができる。
或いは、補正量推定部３３で推定された学習補正量２を初期値として適用して、動作制御部３１、位置偏差推定部３２及び補正量推定部３３により、動作指令２に基づくロボット機構部１０の動作を繰り返す学習制御を行い、ツール１２の先端部の振動をより低減する学習補正量を算出する学習を行ってもよい。これにより、実際の動作指令２による動作時、動作制御部３１は、補正量推定部３３で学習された学習補正量２を適用し、ロボット機構部１０のツール１２の先端部の振動をより低減することができる。
【００５１】
（３）動作指令２と動作指令３との相関が閾値未満である場合
一方、ステップＳ１３において、比較部３５による比較の結果、自ロボットの動作指令２と学習済のロボット１０３の動作指令３との相関が閾値未満である場合、学習済のロボット１０３の学習補正量３を利用することなく、単独で、動作制御部３１、位置偏差推定部３２、及び補正量推定部３３によって、センサ２０からのロボット機構部１０のツール１２の先端部の位置情報に基づいて、ツール１２の先端部の振動を低減する学習補正量２を算出する従来の学習制御を行う。具体的には、ロボット１０２は、前回生成された学習補正量を適用して、動作指令２に基づくロボット機構部１０の動作を繰り返す学習制御を行うことにより、ツール１２の先端部の振動を低減する学習補正量２を算出する学習を行う（Ｓ１６）。
これにより、実際の動作指令２による動作時、動作制御部３１は、補正量推定部３３で学習された学習補正量２を適用し、ロボット機構部１０のツール１２の先端部の振動を低減することができる。
【００５２】
以上説明したように、本実施形態のロボットシステム１によれば、学習済ロボット１０１，１０３，１０４は、学習データ１（動作指令１及び学習補正量１）、学習データ３（動作指令３及び学習補正量３）、及び、学習データ４（動作指令４及び学習補正量４）をサーバ装置２００の記憶装置２１０に保存し、これらの学習済ロボット１０１，１０３，１０４及び未学習ロボット１０２は、サーバ装置２００の記憶装置２１０に保存されているこれらの学習データ（動作指令及び学習補正量）を共有する。
未学習ロボット１０２における補正量推定部３３は、例えば、記憶装置２１０に保存されている動作指令１，３，４のうちの自ロボットの動作指令２と最も相関（類似度）が高い動作指令３と、自ロボットの動作指令２との差異（大きさの比及び時間長の比）に基づいて、動作指令３に対応する学習補正量３を補正し、補正した学習補正量３を自ロボットの学習補正量２として推定する。
これにより、未学習ロボット１０２の学習回数を削減することができる。また、ロボットシステム１におけるロボット１０１，１０２，１０３，１０４の総学習回数を削減することができる。
また、同一動作を行うロボットが複数台存在する場合には、それらのどれか１台でのみ学習を行えば他のロボットは学習を行う必要がない。そのため、総学習回数を大きく低減することができる。
【００５３】
（第２実施形態）
第１実施形態のロボットシステム１では、未学習ロボット１０２は、自ロボットの動作指令２と学習済ロボット１０３の動作指令３との差異（大きさの比及び時間長の比）に基づいて学習済ロボット１０３の学習補正量３を補正し、自ロボットの学習補正量２として推定した。
第２実施形態に係るロボットシステム１では、未学習ロボット１０２は、学習済ロボット１０３の動作指令３から自ロボットの動作指令２への伝達関数に基づいて学習済ロボット１０３の学習補正量３を補正し、自ロボットの学習補正量２として推定する。
【００５４】
第２実施形態に係るロボットシステム１の構成は、図１に示す第１実施形態のロボットシステム１の構成と同一であり、第２実施形態に係るロボット１０２（及び、１０１，１０３，１０４）の構成は、図２に示す第１実施形態のロボット１０２（及び、１０１，１０３，１０４）の構成と同一である。なお、第２実施形態に係るロボット１０２（及び、１０１，１０３，１０４）では、補正量推定部３３の機能及び動作が第１実施形態のロボット１０２（及び、１０１，１０３，１０４）と異なる。
【００５５】
（１）動作指令２と動作指令３とが同一である場合（相関が１である場合）
比較部３５による比較の結果、自ロボットの動作指令２と学習済のロボット１０３の動作指令３とが同一である場合、補正量推定部３３は、上述したように、動作指令３に対応する学習補正量３をそのまま自ロボットの学習補正量２として推定し、記憶部３６に記憶する。
【００５６】
（２）動作指令２と動作指令３との相関が閾値以上である場合（相間が１に近い場合）
比較部３５による比較の結果、自ロボットの動作指令２と学習済のロボット１０３の動作指令３との相関が１未満閾値以上である場合、補正量推定部３３は、動作指令３から動作指令２への伝達関数に基づいて、学習補正量３を補正し、補正した学習補正量３を自ロボットの学習補正量２として推定し、記憶部３６に記憶する。
例えば、補正量推定部３３は、動作指令３から動作指令２への伝達関数を求め、求めた伝達関数を学習補正量３に適用して、学習補正量３を補正する。
【００５７】
次に、図６〜図７Ｂを参照して、第２実施形態のロボットシステム１における未学習ロボット１０２による学習補正量の推定動作について説明する。図６は、第２実施形態のロボットシステム１における未学習ロボット１０２による学習補正量の推定動作を示すフローチャートである。図７Ａは、ロボット１０２のロボット制御部３０における補正量推定部３３による動作指令３から動作指令２への伝達関数の求め方の一例を説明するための図である。図７Ｂは、ロボット１０２のロボット制御部３０における補正量推定部３３による学習補正量の推定の一例を説明するための図である。
【００５８】
図６に示すように、上述したステップＳ１１〜Ｓ１３の動作が行われ、比較部３５は、自ロボットの動作指令２と、サーバ装置２００の記憶装置２１０に保存された学習済のロボット１０１，１０３，１０４の動作指令１、動作指令２及び動作指令３の各々とを比較する。
【００５９】
（１）動作指令２と動作指令３とが同一である場合（相関が１である場合）
ステップＳ１２において、比較部３５による比較の結果、自ロボットの動作指令２と学習済のロボット１０３の動作指令３とが同一である場合、上述したステップＳ１４の動作が行われ、補正量推定部３３は、動作指令３に対応する学習補正量３をそのまま自ロボットの学習補正量２として推定し、記憶部３６に記憶する（Ｓ１４）。
【００６０】
（２）動作指令２と動作指令３との相関が閾値以上である場合（相間が１に近い場合）
ステップＳ１３において、比較部３５による比較の結果、自ロボットの動作指令２と学習済のロボット１０３の動作指令３との相関が１未満閾値以上である場合、補正量推定部３３は、補正量推定部３３は、動作指令３から動作指令２までの伝達関数に基づいて、学習補正量３を補正し、補正した学習補正量３を自ロボットの学習補正量２として推定し、記憶部３６に記憶する（Ｓ２５）。
例えば、補正量推定部３３は、図７Ａに示すように、動作指令３から動作指令２までの伝達関数Ｇを求める。次に、補正量推定部３３は、図７Ｂに示すように、求めた伝達関数Ｇを学習補正量３に適用して、学習補正量３を補正し、自ロボットの学習補正量２として推定する。
【００６１】
（３）動作指令２と動作指令３との相関が閾値未満である場合
一方、ステップＳ１３において、比較部３５による比較の結果、自ロボットの動作指令２と学習済のロボット１０３の動作指令３との相関が閾値未満である場合、上述したステップＳ１６の動作が行われ、動作制御部３１、位置偏差推定部３２、及び補正量推定部３３によって、従来の学習制御を行う（Ｓ１６）。
【００６２】
この第２実施形態のロボットシステム１でも、第１実施形態のロボットシステム１と同様の利点を得ることができる。
【００６３】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【００６４】
例えば、上述した実施形態は、適宜変更されてもよいし、組み合わされて実施されてもよい。例えば、第１実施形態と第２実施形態とを組み合わせ、自ロボットの動作指令と学習済ロボットの動作指令との相関（類似度）が第１閾値以上である場合には、第１実施形態のように、自ロボットの動作指令と学習済ロボットの動作指令との差異（大きさの比及び時間長の比）に基づいて学習済ロボットの学習補正量の補正を行い、自ロボットの学習補正量を推定し、第１閾値未満第２閾値以上（第１閾値＞第２閾値）である場合には、第２実施形態のように、学習済ロボットの動作指令から自ロボットの動作指令への伝達関数に基づいて学習済ロボットの学習補正量の補正を行い、自ロボットの学習補正量を推定してもよい。
【００６５】
また、上述した第２実施形態では、学習済ロボットの動作指令から自ロボットの動作指令への伝達関数を例示したが、伝達関数に限定されることなく、種々の関数が適用されてもよい。
【００６６】
また、上述した実施形態では、学習済ロボットは、学習データ（動作指令及び学習補正量）を、ネットワークを介してサーバ装置の記憶装置に記憶して、複数のロボット間で共有したが、これに限定されない。例えば、学習済ロボットは、学習データ（動作指令及び学習補正量）を自ロボットの記憶部に記憶し、ネットワークを介して接続された複数のロボット間で共有してもよい。或いは、複数のロボットにおけるマスターロボットの記憶部に記憶し、複数のロボット間で共有してもよい。
【００６７】
また、上述した実施形態では、４つのロボットを備えるロボットシステムを例示したが、少なくとも１つの未学習ロボットと少なくとも１つの学習済ロボットとを備えるロボットシステムに適用可能である。
【００６８】
また、上述した実施形態では、ロボットとして産業用ロボットを例示したが、これに限定されない。本発明の特徴は、学習制御を行う種々のロボットの学習回数の低減に適用可能である。
【符号の説明】
【００６９】
１  ロボットシステム
５  ネットワーク
１０  ロボット機構部
１２  ツール
２０  センサ
３０  ロボット制御部
３１  動作制御部
３２  位置偏差推定部
３３  補正量推定部（学習制御部）
３４  取得部
３５  比較部
３６  記憶部
１０１，１０２，１０３，１０４  ロボット
２００  サーバ装置（クラウド）
２１０  記憶装置
【図１】
2019038089.tif 000003
【図２】
2019038089.tif 000004
【図３】
2019038089.tif 000005
【図４】
2019038089.tif 000006
【図５Ａ】
2019038089.tif 000007
【図５Ｂ】
2019038089.tif 000008
【図６】
2019038089.tif 000009
【図７Ａ】
2019038089.tif 000010
【図７Ｂ】
2019038089.tif 000011