(57)【要約】【課題】制御対象部位の振動を学習制御により精度良くかつ容易に除去するロボットシステムを実現する。【解決手段】ロボットシステム１は、ロボット機構部１０３の動作中にセンサ１０２によって検出される制御対象部位１０１の位置を目標位置に近づけるための学習補正量を算出する学習を行う学習制御部１１と、学習補正量を用いて動作指令を補正してロボット機構部１０３の動作を制御するロボット制御部１２と、学習制御部１１の学習回毎に制御対象部位１０１の振動データのパワースペクトルを算出するパワースペクトル算出部２１と、今回学習時及び前回学習時の各パワースペクトルを比較する比較部２２と、今回学習時のパワースペクトルに前回学習時よりも大きい周波数成分が存在する場合、今回学習時に用いた学習補正量の位相及びゲインのうちの少なくとも１つを調整して次回学習時に用いられる新たな学習補正量を設定する学習補正量更新部２３とを備える。【選択図】図３
2020001107.tif 000002
【特許請求の範囲】
【請求項１】
制御対象部位の振動データを取得するセンサを有するロボット機構部と、作業プログラムに従って前記ロボット機構部の動作を制御するロボット制御装置と、を備える、ロボットシステムであって、
前記作業プログラムに従った前記ロボット機構部の動作中に前記センサによって検出される前記制御対象部位の位置を目標位置に近づけるための学習補正量を算出する学習を行う学習制御部と、
前記学習制御部により算出された学習補正量を用いて前記制御対象部位の目標位置に関する動作指令を補正し、前記作業プログラムに従って前記ロボット機構部の動作を制御するロボット制御部と、
を備え、
前記学習制御部は、
前記学習制御部による学習回ごとに、前記センサによって検出された振動データをフーリエ変換してパワースペクトルを算出するパワースペクトル算出部と、
前記パワースペクトル算出部により算出された今回学習時のパワースペクトルと直前回学習時のパワースペクトルとを周波数成分ごとに比較する比較部と、
前記比較部による比較の結果、前記今回学習時のパワースペクトルに前記直前回学習時のパワースペクトルよりも大きい周波数成分が存在する場合、前記今回学習時のパワースペクトルが前記直前回学習時のパワースペクトルよりも小さくなるように今回学習時の動作指令の補正に用いられた学習補正量の位相及びゲインのうちの少なくとも１つを調整し、次回学習時の動作指令の補正に用いられる新たな学習補正量として設定する学習補正量更新部と、
を有する、ロボットシステム。
【請求項２】
前記学習補正量更新部は、
前記直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する前記今回学習時の周波数成分に対応する今回学習時に用いられた学習補正量の周波数成分に対して、所定の刻み量にて順次増加する位相進み量にて位相を進めていき、当該周波数成分のパワースペクトルが前記直前回学習時のパワースペクトルよりも小さくなったときにおける位相進み量を算出する位相進み量算出部を有し、
前記位相進み量算出部により算出された位相進み量にて当該周波数成分の位相が進められた学習補正量を、前記新たな学習補正量として設定する、請求項１に記載のロボットシステム。
【請求項３】
前記学習補正量更新部は、
前記学習補正量の特定の周波数成分に対して位相を進めるフィルタを有し、
前記位相進み量算出部により算出された位相進み量にて前記フィルタにより当該周波数成分の位相が進められた学習補正量を、前記新たな学習補正量として設定する、請求項２に記載のロボットシステム。
【請求項４】
前記学習補正量更新部は、
前記今回学習時に用いられた学習補正量をフーリエ変換するフーリエ変換部と、
前記フーリエ変換部によるフーリエ変換後の今回学習時に用いられた学習補正量の、前記直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分のみについて、前記位相進み量算出部により算出された位相進み量だけ位相を進める位相調整部と、
前記位相調整部により当該周波数成分の位相が進められた学習補正量を逆フーリエ変換する逆フーリエ変換部と、
を有し、
前記逆フーリエ変換部による逆フーリエ変換後の学習補正量を、前記新たな学習補正量として設定する、請求項２に記載のロボットシステム。
【請求項５】
前記学習補正量更新部は、今回学習時に用いられた学習補正量を用いて前記動作指令を補正するタイミングを所定の刻み量にて早めていき、前記今回学習時のパワースペクトルが前記直前回学習時のパワースペクトルよりも小さくなったときにおけるタイミング早め量を算出するタイミング早め量算出部を有し、
前記ロボット制御部は、前記今回学習時に用いられた前記学習補正量を用いて前記動作指令を補正したタイミングより前記タイミング早め量算出部により算出されたタイミング早め量だけ早めたタイミングにて、次回学習時に前記新たな学習補正量を用いて前記動作指令を補正し、前記ロボット機構部の動作を制御する、請求項１に記載のロボットシステム。
【請求項６】
前記学習補正量更新部は、
前記直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する前記今回学習時の周波数成分に対応する今回学習時に用いられた学習補正量の周波数成分に対して、前記位相進み量算出部により所定の刻み量にて順次増加する位相進み量にて位相を進めていったときにおいて、当該周波数成分のパワースペクトルが前記直前回学習時のパワースペクトルよりも小さくなる前に前記位相進み量が所定の上限値に達したか否かを判定する位相進み量判定部と、
前記位相進み量判定部により前記位相進み量が所定の上限値に達したと判定された場合、前記位相進み量をゼロに戻したうえで、今回学習時に用いられた学習補正量に対して適用されるフィルタのゲインを所定の刻み量にて減少させていき、当該周波数成分のパワースペクトルが前記直前回学習時のパワースペクトルよりも小さくなったときにおけるフィルタのゲインを算出するゲイン算出部と、
を有し、
前記ゲイン算出部により算出されたゲインを有するフィルタを前記今回学習時に用いられた学習補正量に適用し、これを前記新たな学習補正量として設定する、請求項２〜５のいずれか一項に記載のロボットシステム。
【請求項７】
前記センサは、加速度センサ、ジャイロセンサ、慣性センサ、力センサ、レーザトラッカ、カメラ、またはモーションキャプチャを含む、請求項１〜６のいずれか一項に記載のロボットシステム。
【請求項８】
前記学習制御部は、前記ロボット制御装置に設けられるか、または、有線もしくは無線を介して前記ロボット制御装置に接続するコンピュータ装置に設けられる、請求項１〜７のいずれか一項に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習制御を行うロボットシステムに関する。
【背景技術】
【０００２】
産業用のロボットシステムにおいて、ロボットの動作を高速化してタクトタイムを短縮すれば、ロボットシステムにおける生産効率が向上する。しかしながら、ロボットの動作をある程度以上高速化すると、減速機やロボットアームの剛性不足等の要因によって、ロボットの先端に位置するサーボガン等のエンドエフェクタに振動が発生してしまう。特に近年では、さらなる生産性の向上のためエンドエフェクタも軽量化が行われており、エンドエフェクタの剛性不足による振動も無視できないものになってきている。このため、振動の除去が求められる制御対象部位（例えばエンドエフェクタ）に加速度センサを取り付け、ロボット動作中の制御対象部位の振動をセンサによって計測し、学習制御を行うことで振動を低減するロボットシステムが提案されている。
【０００３】
例えば、位置制御の対象とする部位にセンサを備えたロボット機構部と、前記ロボット機構部の動作を制御する制御装置とを含むロボットであって、前記制御装置は、前記ロボット機構部の動作を制御する通常制御部と、作業プログラムにより前記ロボット機構部を動作させて、前記センサによって検出した前記ロボット機構部の制御対象位置を前記通常制御部に与えられた目標軌跡もしくは位置に近づけるために学習補正量を算出する学習を行う学習制御部と、を有し、前記学習制御部は、前記学習稼動状態で設定可能な最大速度オーバライドを算出し、前記最大速度オーバライドに至るまで複数回に渡って速度オーバライドを増加させながら学習補正量を算出する学習を行うことを特徴とするロボットが知られている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１６７８１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
学習制御を行うことで振動を低減するロボットシステムにおいて、例えば周波数応答データから学習制御器を設計する場合、周波数応答の測定には時間と手間がかかる。また、ロボットシステムが設けられた現場で実際に周波数応答データを取得することは難しいことから、実際には、代表的なエンドエフェクタに対する周波数応答データに基づき予め設計された学習制御器を、他のエンドエフェクタに対しても使用しているのが実情である。この場合、実際に使用されているエンドエフェクタの共振周波数が、学習制御器の制御帯域よりも高い場合は、当該学習制御器にて振動を低減することができる。しかしながら、実際に使用されているエンドエフェクタの剛性が低くその共振周波数が学習制御器の制御帯域内に含まれてしまう場合は、学習制御器における位相の遅れやゲインの増大により、振動が発散してしまう問題がある。したがって、制御対象部位の振動を学習制御により精度良くかつ容易に除去することができる技術が望まれている。
【課題を解決するための手段】
【０００６】
本開示の一態様によれば、制御対象部位の振動データを取得するセンサを有するロボット機構部と、作業プログラムに従ってロボット機構部の動作を制御するロボット制御装置と、を備える、ロボットシステムは、ロボット機構部の動作中にセンサによって検出される制御対象部位の位置を目標位置に近づけるための学習補正量を算出する学習を行う学習制御部と、学習制御部により算出された学習補正量を用いて制御対象部位の目標位置に関する動作指令を補正し、ロボット機構部の動作を制御するロボット制御部と、を備え、学習制御部は、学習制御部による学習回ごとに、センサによって検出された振動データをフーリエ変換してパワースペクトルを算出するパワースペクトル算出部と、パワースペクトル算出部により算出された今回学習時のパワースペクトルと直前回学習時のパワースペクトルとを周波数成分ごとに比較する比較部と、比較部による比較の結果、今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在する場合、今回学習時のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなるように今回学習時の動作指令の補正に用いられた学習補正量の位相及びゲインのうちの少なくとも１つを調整し、次回学習時の動作指令の補正に用いられる新たな学習補正量として設定する学習補正量更新部と、を有する。
【発明の効果】
【０００７】
本開示の一態様によれば、制御対象部位の振動を学習制御により精度良くかつ容易に除去することができるロボットシステムを実現することができる。
【図面の簡単な説明】
【０００８】
【図１】本開示の一実施形態におけるロボットシステムの概略図である。
【図２】本開示の一実施形態におけるロボット機構部の構成図である。
【図３】本開示の一実施形態におけるロボットシステムを示すブロック図である。
【図４】本開示の他の実施形態におけるロボットシステムを示すブロック図である。
【図５】制御対象部位の共振周波数が学習制御部の制御帯域よりも高い場合における制御対象部位の周波数特性を例示するボード線図である。
【図６】図５に示す周波数特性を有する制御対象部位の振動を例示す図である。
【図７】制御対象部位の共振周波数が学習制御部の制御帯域内に含まれる場合における制御対象部位の周波数特性を例示するボード線図である。
【図８】図７に示す周波数特性を有する制御対象部位の振動を例示す図である。
【図９】制御対象部位の共振周波数が学習制御部の制御帯域内に含まれる場合における制御対象部位の振動のパワースペクトルを例示する図である。
【図１０】図９に示す振動のパワースペクトルを有する制御対象部位の振動を例示す図である。
【図１１】本開示の一実施形態におけるロボットシステムにおける学習補正量更新処理を説明するフローチャートである。
【図１２】第１の形態による学習補正量更新部を有する学習制御部を示すブロック図である。
【図１３】第１の形態による学習補正量更新部におけるフィルタの周波数特性を例示するボード線図である。
【図１４】第２の形態による学習補正量更新部を有する学習制御部を示すブロック図である。
【図１５】第３の形態による学習補正量更新部を有する学習制御部を示すブロック図である。
【図１６】学習補正量の位相及びゲインの両方を調整する実施形態による学習補正量更新部を有する学習制御部を示すブロック図である。
【図１７】学習補正量のゲインを調整するフィルタの周波数特性を例示するボード線図である。
【図１８】学習補正量の位相及びゲインの両方を調整する実施形態による学習補正量更新処理を説明するフローチャートである。
【発明を実施するための形態】
【０００９】
以下図面を参照して、学習制御を行うロボットシステムについて説明する。理解を容易にするために、これらの図面は縮尺を適宜変更している。図面に示される形態は実施するための一つの例であり、図示された実施形態に限定されるものではない。
【００１０】
図１は、本開示の一実施形態におけるロボットシステムの概略図である。ロボットシステム１は、位置制御の対象であるエンドエフェクタなどの制御対象部位１０１の振動データを取得するセンサ１０２を有するロボット機構部１０３と、作業プログラムに従ってロボット機構部１０３の動作を制御するロボット制御装置１０４と、を備えており、制御対象部位１０１の振動を学習制御するように構成されている。またさらに、ロボットシステム１は、個々では図示しないが、種々の情報を表示する表示装置を備える。
【００１１】
センサ１０２は、ロボット機構部１０３の手首先端部に位置する制御対象部位１０１に取り付けられる。センサ１０２は、制御対象部位１０１の位置を推定するために計算処理を必要とする情報（例えば、加速度、角速度、ひずみ（電気抵抗値）等）を検出するセンサであり、例えば、加速度センサ、ジャイロセンサ、慣性センサ、力センサ、レーザトラッカ、カメラ、モーションキャプチャなどを含む。
【００１２】
センサ１０２、ロボット機構部１０３、ロボット制御装置１０４、及び表示装置（図示せず）は、有線又は無線を介して相互に通信可能に接続されている。
【００１３】
図２は、本開示の一実施形態におけるロボット機構部の構成図である。ロボット機構部１１０３は、サーボモータ、減速機等を有する６つの関節軸Ｊ１〜Ｊ６を備えている。ロボット機構部１０３は、空間上に固定されるワールド座標系Ｃ１と、関節軸Ｊ６のフランジ位置にあるメカニカルインタフェイス座標系Ｃ２とを定義したロボットマニピュレータである。
【００１４】
図３は、本開示の一実施形態におけるロボットシステムを示すブロック図である。
【００１５】
本開示の実施形態におけるロボットシステム１は、学習制御部１１とロボット制御部１２とを備える。学習制御部１１及びロボット制御部１２は公知のＣＰＵ、ＡＳＩＣ、ＦＰＧＡ等を備えている。
【００１６】
学習制御部１１は、作業プログラムに従ったロボット機構部１０３の動作中にセンサ１０２によって検出される制御対象部位１０１の位置を目標位置に近づけるための学習補正量を算出する学習を行う。また、学習制御部１１における学習は、オンラインで実行されてもよく、オフラインで実行されてもよい。
【００１７】
学習制御部１１は、代表的な制御対象部位（エンドエフェクタ）に対する周波数応答データに基づき、学習回毎に振動が単調に減少するように設計されている。すなわち、学習制御部１１は、ロボット機構部１０３による実際の制御対象部位１０１に対する周波数応答データに基づき設定されたものではない。よって、ロボット機構部１０３による実際の制御対象部位１０１が、代表的な制御対象部位（エンドエフェクタ）に対する周波数応答データに基づき設計された学習制御部１１の制御帯域内に含まれるか否かによって、学習制御部１１による学習制御により制御対象部位１０１の振動を除去できるか否かが変わってくる。これについて図５〜図８を参照して後述する。
【００１８】
ロボット制御部１２は、作業プログラムに従って、学習制御部１１により算出された学習補正量を用いて制御対象部位１０１の目標位置に関する動作指令を補正し、ロボット機構部の動作を制御する。
【００１９】
図３に示す一実施形態によるロボットシステム１では、学習制御部１１及びロボット制御部１２はロボット制御装置１０４内に設けられる。他の実施形態において、学習制御部１１は、ロボット制御装置１０４とは別体のコンピュータ内に設けられていてもよい。図４は、本開示の他の実施形態におけるロボットシステムを示すブロック図である。すなわち、図４に示す一実施形態によるロボットシステム１では、ロボット制御装置１０４とコンピュータ１０５とが有線又は無線を介して通信可能に接続され、学習制御部１１及びロボット制御部１２はコンピュータ１０５内に設けられる。
【００２０】
ロボット制御部１２による制御により制御対象部位１０１の目標位置に関する動作指令に基づきロボット機構部１０３を動作させたときにおいて、センサ１０２によってロボット機構部１０３の振動を検出し、学習制御部１１により学習制御を行うことでこの振動を低減させる。すなわち、学習制御部１１において、学習制御の対象となる作業プログラムを実行し、その際のロボット機構部１０３の動作中の加速度データやロボットの指令位置を記録する。学習制御の対象となる作業プログラムを１回実行し終えたら、当該作業プログラムを実行した際の各制御周期における振動量とこの振動量を打ち消すための学習補正量とを算出し、学習制御部１１内のメモリに記録する。メモリに記録された学習補正量は、次に同じ作業プログラムが実行される際に、ロボット制御部１２において動作指令の補正に利用される。この一連の処理を繰り返し実行することで、ロボット機構部１０３の振動が低減されていく。
【００２１】
続いて、制御対象部位（エンドエフェクタ）の共振周波数と学習制御部の制御帯域との関係について図５〜図８を参照して説明する。
【００２２】
図５は、制御対象部位の共振周波数が学習制御部の制御帯域よりも高い場合における制御対象部位の周波数特性を例示するボード線図である。図６は、図５に示す周波数特性を有する制御対象部位の振動を例示す図である。図６において、横軸は時間軸であり、縦軸は振動の振幅を示す。また、図６において、点線は制御対象部位の指令軌跡を示し、一点鎖線は学習制御前の制御対象部位の軌跡を示し、実線は学習制御後の制御対象部位の軌跡を示す。図５に示すように共振周波数が例えば３０Ｈｚである制御対象部位に制御帯域が１５Ｈｚである学習制御部を適用した場合、図６の実線に示すように学習回毎に振動が単調に減少していく。
【００２３】
図７は、制御対象部位の共振周波数が学習制御部の制御帯域内に含まれる場合における制御対象部位の周波数特性を例示するボード線図である。図８は、図７に示す周波数特性を有する制御対象部位の振動を例示す図である。図８において、横軸は時間軸であり、縦軸は振動の振幅を示す。また、図８において、点線は制御対象部位の指令軌跡を示し、一点鎖線は学習制御前の制御対象部位の軌跡を示し、実線は学習制御後の制御対象部位の軌跡を示す。図７に示すように共振周波数が例えば１４Ｈｚである制御対象部位に制御帯域が１５Ｈｚである学習制御部を適用した場合、図８の実線に示すように振動が発散してしまう。
【００２４】
制御対象部位の共振周波数が学習制御部の制御帯域内に含まれる場合において図８に示すように振動が減少せずに発散してしまうのは、制御対象部位の共振周波数近傍の位相の遅れやゲインの増大によるものと考えられる。そこで、本実施形態では、学習制御部１１による学習回毎に、制御対象部位１０１の振動のパワースペクトルを監視し、制御対象部位１０１の振動のパワースペクトルが直前回学習時よりも今回学習時の方が増加した場合には、制御対象部位１０１の共振周波数が学習制御部１１の制御帯域内に含まれると考え、学習制御部１１において学習補正量の位相及びゲインの少なくとも１つを調整し、調整後の学習補正量を、次回学習時の動作指令の補正に用いられる新たな学習補正量として設定する。
【００２５】
続いて、学習制御部１１の構成についてより詳細に説明する。
【００２６】
図３及び図４に示すように、学習制御部１１は、パワースペクトル算出部２１と、比較部２２と、学習補正量更新部２３とを備える。
【００２７】
また、学習制御部１１は、第１のメモリ２４と第２のメモリ２５と第３のメモリ２６とを備える。第１のメモリ２４は、センサ１０２から取得したセンサ情報を記憶する。第２のメモリ２５は、パワースペクトル算出部２１により算出（取得）されたパワースペクトルを記憶する。第３のメモリ２６は、学習を繰返して収束した学習補正量を記憶する。第１のメモリ２４及び第２のメモリ２５は高速な学習を行うために揮発性メモリであることが好ましいが不揮発性メモリであってもよい。第１のメモリ２４及び第２のメモリ２５は、１つのメモリの領域を分割して割り当てられたものであってもよく、あるいはそれぞれ別個のメモリとして実現されてもよい。また、第３のメモリ２６は電源切断後であっても学習補正量を記憶する不揮発性メモリであることが好ましい。電源投入後、収束した学習補正量が第３のメモリ２６からに読み出されてロボット制御部１２において利用される。
【００２８】
パワースペクトル算出部２１は、学習制御部１１による学習回ごとに、センサ１０２によって検出された振動データをフーリエ変換してパワースペクトルを算出（取得）する。パワースペクトル算出部２１により算出されたパワースペクトルは、比較部２２に送られるとともに、第２のメモリ２５に記憶される。
【００２９】
比較部２２は、パワースペクトル算出部２１により算出された今回学習時のパワースペクトルと直前回学習時のパワースペクトルとの大小関係を周波数成分ごとに比較する。今回学習時のパワースペクトルは、当該学習回においてパワースペクトル算出部２１から送られてきたものであり、直前回学習時のパワースペクトルは、第２のメモリ２５から読み出されたものである。比較部２２による比較結果である周波数成分ごとのパワースペクトルの大小関係に関する情報は、学習補正量更新部２３に送られる。
【００３０】
学習補正量更新部２３は、比較部２２による比較の結果、今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在する場合、今回学習時のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなるように今回学習時の動作指令の補正に用いられた学習補正量の位相及びゲインのうちの少なくとも１つを調整し、これを次回学習時の動作指令の補正に用いられる新たな学習補正量として設定する。つまり、学習補正量更新部２３は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有していると比較部２２により判定された今回学習時の周波数成分に対応する学習補正量の周波数成分に対して位相を調整することで、当該大きい周波数成分についての今回学習時のパワースペクトルが直前回学習時のパワースペクトル以下になるようにし、調整後の学習補正量を、次回学習時の動作指令の補正に用いられる新たな学習補正量として設定する。新たに設定された学習補正量は、第３のメモリ２６に記憶される。ロボット制御部１２は、作業プログラムに従って、学習制御部１１内の第３のメモリから読み出された学習補正量を用いて制御対象部位１０１の目標位置に関する動作指令を補正し、ロボット機構部の動作を制御する。
【００３１】
続いて、学習補正量の位相を調整する実施形態について図９及び図１０を参照してより詳細に説明する。学習補正量の位相及びゲインの両方を調整する実施形態については後述する。
【００３２】
図９は、制御対象部位の共振周波数が学習制御部の制御帯域内に含まれる場合における制御対象部位の振動のパワースペクトルを例示する図である。図９において、横軸は周波数を示し、縦軸はパワースペクトルを示す。また、図９において、実線は学習制御部１１のＮ回目（Ｎは整数）における制御対象部位１０１の振動のパワースペクトルを示し、実線は学習制御部１１のＮ＋１回目（Ｎは整数）における制御対象部位１０１の振動のパワースペクトルを示す。図１０は、図９に示す振動のパワースペクトルを有する制御対象部位の振動を例示す図である。図１０において、横軸は時間軸であり、縦軸は振動の振幅を示す。また、図１０において、点線は制御対象部位の指令軌跡を示し、一点鎖線は学習制御前の制御対象部位の軌跡を示し、二点鎖線は、位相調整なしの学習制御後の制御対象部位の軌跡を示し、実線は位相調整ありの学習制御後の制御対象部位の軌跡を示す。図９及び図１０に示す例では、一例として学習制御部１１の制御帯域を１５Ｈｚとしている。制御対象部位１０１の共振周波数が、学習制御部１１の制御帯域である１５Ｈｚ内に含まれると、学習制御部１１による学習制御の結果、今回学習時（Ｎ＋１回目）のパワースペクトルは、直前回学習時（Ｎ回目）のパワースペクトルに比べて増大する。すなわち、図９に示すように、８Ｈｚより大きい周波数成分については、今回学習時（Ｎ＋１回目）のパワースペクトルの方が直前回学習時のパワースペクトルよりも大きくなる。この結果、図１０に示すように、学習制御前は振動がなかったが（実線）、学習制御部１１による学習制御により振動が発散してしまう（二点鎖線）。ここで、今回学習時の８Ｈｚより大きい周波数成分のパワースペクトルが直前回学習時の８Ｈｚより大きい周波数成分のパワースペクトルよりも小さくなるように、８Ｈｚより大きい周波数成分の学習補正量に対して位相を進める調整を行うと、図１０の実線に示すように学習回毎に振動が単調に減少していく。本実施形態では、学習制御部１１による学習回毎に、制御対象部位１０１の振動のパワースペクトルを監視し、制御対象部位１０１の振動のパワースペクトルが直前回学習時よりも今回学習時の方が増加した場合には、学習補正量更新部２３は、今回学習時パワースペクトルが直前回学習時のパワースペクトルよりも小さくなるように学習補正量の位相を調整し、調整後の学習補正量を、新たな学習補正量として設定する。新たな学習補正量は、第３のメモリ２６に記憶される。ロボット制御部１２は、作業プログラムに従って、学習制御部１１内の第３のメモリから読み出された新たな学習補正量を用いて制御対象部位１０１の目標位置に関する動作指令を補正し、ロボット機構部の動作を制御する。新たな学習補正量は、今回学習時パワースペクトルを直前回学習時のパワースペクトルよりも小さくするものであるので、ロボット制御部１２において新たな学習補正量にて動作指令を補正してロボット機構部１０３の動作を制御すると、学習回毎に振動が単調に減少することになる。
【００３３】
図１１は、本開示の一実施形態におけるロボットシステムにおける学習補正量更新処理を説明するフローチャートである。
【００３４】
ロボット制御部１２が、学習制御部１１により算出された学習補正量を用いて動作指令を補正してロボット機構部１０３の動作を制御する場合を考える。ステップＳ１０１において、パワースペクトル算出部２１は、センサ１０２によって検出された振動データをフーリエ変換してパワースペクトルを算出する。パワースペクトル算出部２１により算出されたパワースペクトルは、比較部２２に送られるとともに、第２のメモリ２５に記憶される。
【００３５】
ステップＳ１０２において、比較部２２は、パワースペクトル算出部２１により算出された今回学習時のパワースペクトルと直前回学習時のパワースペクトルとの大小関係を周波数成分ごとに比較する。ステップＳ１０２における比較部２２による比較の結果、今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在すると判定された場合は、ステップＳ１０３へ進む。一方、ステップＳ１０２における比較部２２による比較の結果、今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在しないと判定された場合は、学習補正量は更新せずに学習補正量更新処理を終了する。学習補正量更新処理の終了後、次回学習時に再度、学習補正量更新処理を実行してもよい。
【００３６】
ステップＳ１０３において、学習補正量更新部２３は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、所定の刻み量だけ位相を進める。位相進み量処理の詳細については後述する。
【００３７】
ステップＳ１０４において、比較部２２は、パワースペクトル算出部２１により算出された今回学習時のパワースペクトルと直前回学習時のパワースペクトルとの大小関係を周波数成分ごとに比較する。ステップＳ１０４における比較部２２による比較の結果、今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在すると判定された場合は、ステップＳ１０３へ戻る。一方、ステップＳ１０４における比較部２２による比較の結果、今回学習時のパワースペクトルの全ての周波数成分について直前回学習時のパワースペクトルよりも小さくなったと判定された場合は、ステップＳ１０５へ進む。
【００３８】
ステップＳ１０５において、学習補正量更新部２３は、位相調整後の学習補正量を、次回学習時の動作指令の補正に利用される新たな学習補正量として設定し、その後、学習補正量更新処理を終了する。学習補正量更新処理の終了後、次回学習時に再度、学習補正量更新処理を実行してもよい。
【００３９】
このように、ステップＳ１０３〜Ｓ１０５における学習補正量更新部２３の一連の処理により、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、所定の刻み量にて順次増加する位相進み量にて位相を進めていき、当該周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなったときにおける位相進み量が算出される。学習補正量更新部２３は、算出された位相進み量にて当該周波数成分の位相が進められた学習補正量を、次回学習時の動作指令の補正に用いられる新たな学習補正量として設定する。
【００４０】
ステップＳ１０５において設定される次回学習時の動作指令の補正に利用される新たな学習補正量は、全ての当該周波数成分のパワースペクトルが直前回学習時のパワースペクトル以下になるように今回学習時の学習補正量の位相を進める調整を行うことで得られる学習補正量である。このように位相調整された新たな学習補正量を次回学習時の動作指令の補正に利用すれば、制御対象部位１０１の共振周波数付近の位相遅れを補償することができるので、代表的なエンドエフェクタに対する周波数応答データに基づき予め設計された学習制御部１１により、制御対象部位１０１の振動を除去することができる。
【００４１】
一方、ステップＳ１０２において、比較部２２により今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在しないと判定された場合は、制御対象部位１０１の共振周波数が学習制御部１１の制御帯域よりも大きいので、代表的なエンドエフェクタに対する周波数応答データに基づき予め設計された学習制御部１１の今回学習時の学習補正量をそのまま次回学習時の動作指令の補正に利用しても、制御対象部位１０１の振動を除去することができるので、学習補正量は更新せずに、学習補正量更新処理を終了する。
【００４２】
続いて、学習補正量更新部２３の形態について列記する。
【００４３】
図１２は、第１の形態による学習補正量更新部を有する学習制御部を示すブロック図である。第１の形態による学習補正量更新部２３は、位相進み量算出部３１と、学習補正量の特定の周波数成分に対して位相を進めるフィルタ３２とを有する。
【００４４】
比較部２２による比較の結果、今回学習時のパワースペクトルが直前回学習時のパワースペクトルよりも大きい周波数成分が存在する場合、位相進み量算出部３１は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、所定の刻み量にて順次増加する位相進み量にて位相を進めていき、当該周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなったときにおける位相進み量を算出する。位相進み量算出部３１により算出された位相進み量に関する情報は、フィルタ３２に送られる。
【００４５】
フィルタ３２は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、位相進み量算出部により算出された位相進み量にて、位相を進める。位相進み量算出部３１により算出された位相進み量にてフィルタ３２により当該周波数成分の位相が進められた学習補正量が、新たな学習補正量として設定され、第３のメモリ２６に記憶される。
【００４６】
上述の第１の形態による学習補正量更新部２３による学習制御を数式にて表すと下記式１のように模式化できる。式１において、ｕiを学習ｉ回目（ｉは整数）の学習補正量、ｅiを学習ｉ回目の制御対象部位１０１の振動とし、位相進み量にて位相を進めるフィルタが適用されることを関数Ｆp、学習制御部１１の制御帯域を規定するローパスフィルタが適用されることを関数Ｑ、学習制御が適用されることを関数Ｌでそれぞれ表す。
【００４７】
【数１】
2020001107.tif 000003
【００４８】
図１３は、第１の形態による学習補正量更新部におけるフィルタの周波数特性を例示するボード線図である。例えばある今回学習（ｉ回目）において、直前回学習（ｉ−１回目）と比べて８Ｈｚ以上の周波数成分について振動のパワースペクトルが増大したとする。その時の学習補正量ｕiを例えば図１３に示すような周波数特性を持つフィルタを使用して特定の周波数成分の学習補正量の位相を進める。特定の周波数成分の学習補正量に対して位相進み量を何パターンか変えながら(例えば２０ｄｅｇから５ｄｅｇ刻みで増加させながら)位相を進めてロボット制御部１２によりロボット機構部１０３を動作させる。８Ｈｚ以上の周波数成分についての振動のパワースペクトルが直前回（ｉ−１回目）よりも減少するまで所定の刻み量にて位相進みを増加させていく。８Ｈｚ以上の周波数成分を含む全ての周波数成分についての振動のパワースペクトルが直前回（ｉ−１回目）よりも減少したときにおける位相進み量を、式１におけるフィルタのＦpに適用し、学習ｉ回目の学習補正量ｕiをＦpｕiで置き換えて、学習制御を再開する。
【００４９】
図１４は、第２の形態による学習補正量更新部を有する学習制御部を示すブロック図である。第２の形態による学習補正量更新部２３は、位相進み量算出部３１と、フーリエ変換部３３と、位相調整部３４と、逆フーリエ変換部３５とを有する。
【００５０】
比較部２２による比較の結果、今回学習時のパワースペクトルが直前回学習時のパワースペクトルよりも大きい周波数成分が存在する場合、位相進み量算出部３１は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、所定の刻み量にて順次増加する位相進み量にて位相を進めていき、当該周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなったときにおける位相進み量を算出する。位相進み量算出部により算出された位相進み量に関する情報は、位相調整部３４に送られる。
【００５１】
フーリエ変換部３３は、第３のメモリ２６から読み出された今回学習時の動作指令の補正に用いられた学習補正量を、フーリエ変換する。フーリエ変換後の今回学習時の動作指令の補正に用いられた学習補正量は、位相調整部３４に送られる。
【００５２】
位相調整部３４は、フーリエ変換部３３によるフーリエ変換後の今回学習時の動作指令の補正に用いられた学習補正量の、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分のみについて、位相進み量算出部３１により算出された位相進み量だけ位相を進める。上述のように位相進み量算出部３１により算出された位相進み量は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の学習補正量の周波数成分が、直前回学習時のパワースペクトルよりも小さくなるようにするためのものである。学習補正量の周波数成分のうち特定の周波数成分について位相進み量算出部３１により算出された位相進み量だけ位相を進めることにより、全ての周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなる。位相調整部３４による位相調整後の学習補正量は、逆フーリエ変換部３５へ送られる。
【００５３】
逆フーリエ変換部３５は、位相調整部３４により全ての周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなるように位相が進められた学習補正量を、逆フーリエ変換する。逆フーリエ変換部３５による逆フーリエ変換後の学習補正量が、新たな学習補正量として設定されて第３のメモリ２６に記憶される。
【００５４】
上述の第２の形態による学習補正量更新部２３による学習補正量更新処理は、下記式２のように表される。式２において、Ｗ（ω）は、周波数領域上において特定の周波数成分の位相を進めるための重み付け関数を表す。位相進み量算出部３１により算出された位相進み量をθとしたとき、位相を進めるべき周波数成分にはｅiθがかけられ、位相を進める必要のない周波数成分には１がかけられる。
【００５５】
【数２】
2020001107.tif 000004
【００５６】
式２において、時間領域上の今回学習時の動作指令の補正に用いられた学習補正量ｆ（ｔ）は、フーリエ変換部３３によりフーリエ変換される。フーリエ変換後の今回学習時の動作指令の補正に用いられた学習補正量（すなわち周波数領域上の今回学習時の動作指令の補正に用いられた学習補正量）をＦ（ω）で表す。位相調整部３４により、フーリエ変換後の今回学習時の動作指令の補正に用いられた学習補正量Ｆ（ω）の各周波数成分のうち、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分についてはｅiθがかけられ、位相を進める必要のない周波数成分には１がかけられる。位相調整された学習補正量Ｆ（ω）Ｗ（ω）は、逆フーリエ変換部３５により逆フーリエ変換される。逆フーリエ変換部３５による逆フーリエ変換後の学習補正量（すなわち時間領域上の位相調整済の学習補正量）をｆ’（ｔ）で表す。逆フーリエ変換部３５による逆フーリエ変換後の学習補正量ｆ’（ｔ）は、全ての周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなる。よって、ロボット制御部１２において新たな学習補正量にて動作指令を補正してロボット機構部１０３の動作を制御すると、学習回毎に振動が単調に減少することになる。
【００５７】
図１５は、第３の形態による学習補正量更新部を有する学習制御部を示すブロック図である。
【００５８】
第の形態１及び第２の形態では、学習補正量の各周波数成分のうち特定の周波数成分（すなわち直前回学習時のパワースペクトルよりも大きいパワースペクトルを有している今回学習時の周波数成分に対応する学習補正量の周波数成分）についてのみ位相を進めることで、今回学習時のパワースペクトルの全ての周波数成分について直前回学習時のパワースペクトルよりも小さくなるようにした。これに対し、第３の形態では、学習補正量の各周波数成分のうち特定の周波数成分ではなく、学習補正量全体（すなわち全ての周波数成分）を時間的に進めることで、今回学習時のパワースペクトルの全ての周波数成分について直前回学習時のパワースペクトルよりも小さくなるようにする。したがって、第３の形態では、直前回学習時のパワースペクトルよりも小さいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分についても位相に進められることになるが、直前回学習時のパワースペクトルよりも小さいパワースペクトルを有する今回学習時の周波数成分は、当該周波数成分の学習補正量の位相を進めてもパワースペクトルがさらに小さくなるだけであるので、特に問題は生じない。
【００５９】
第３の形態による学習補正量更新部２３は、タイミング早め量算出部３６を有する。タイミング早め量算出部３６は、今回学習時の学習補正量を用いて動作指令を補正するタイミングを所定の刻み量にて早めていき、今回学習時のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなったときにおけるタイミング早め量を算出する。タイミング早め量算出部３６により算出されたタイミング早め量に関する情報は、第３のメモリ２６に記憶される。ロボット制御部１２は、第３のメモリ２６に記憶されたタイミング早め量を読み出し、今回学習時の学習補正量を用いて動作指令を補正したタイミングよりタイミング早め量だけ早めたタイミングにて、次回学習時に新たな学習補正量を用いて動作指令を補正し、ロボット機構部１０３の動作を制御する。このように、次回学習時に新たな学習補正量を用いて動作指令を補正するタイミングを、第３の形態による学習補正量更新部２３内のタイミング早め量算出部３６により算出されたタイミング早め量だけ、今回学習時の学習補正量を用いて動作指令を補正したタイミングよりも早める。
【００６０】
続いて、学習補正量の位相及びゲインの両方を調整する実施形態について説明する。
【００６１】
制御対象部位１０１（エンドエフェクタ）の共振周波数が学習制御部１１の制御帯域内に含まれる場合において、この共振周波数近傍の学習制御部１１のフィルタのゲインが大きいと、学習補正量の位相の進める調整のみでは、今回学習時のパワースペクトルを直前回学習時のパワースペクトルよりも小さくしきれず、振動を低減することができないことがある。この場合は、学習補正量に適用されるフィルタのゲインを小さくする調整を行う。
【００６２】
図１６は、学習補正量の位相及びゲインの両方を調整する実施形態による学習補正量更新部を有する学習制御部を示すブロック図である。
【００６３】
図１６に示すように、学習補正量更新部２３は、位相進み量算出部３１と、学習補正量の特定の周波数成分に対して位相及びゲインを調整するフィルタ３２と、位相進み量判定部３７と、ゲイン算出部３８とを有する。
【００６４】
比較部２２による比較の結果、今回学習時のパワースペクトルが直前回学習時のパワースペクトルよりも大きい周波数成分が存在する場合、位相進み量算出部３１は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、所定の刻み量にて順次増加する位相進み量にて位相を進める。
【００６５】
位相進み量判定部３７は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、位相進み量算出部３１により所定の刻み量にて順次増加する位相進み量にて位相を進めていったときにおいて、当該周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなる前に位相進み量が所定の上限値に達したか否かを判定する。位相進み量が所定の上限値に達したと位相進み量判定部３７が判定する前に、当該周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなったときにおける位相進み量を算出できた場合は、位相進み量算出部により算出された位相進み量に関する情報は、フィルタ３２に送られる。一方、位相進み量が所定の上限値に達したと位相進み量判定部３７が判定した場合は、その判定結果をゲイン算出部３８に通知する。位相進み量算出部３１の判定処理に用いられる上限値の設定例については後述する。
【００６６】
位相進み量判定部により位相進み量が所定の上限値に達したとの判定結果を受けて、ゲイン算出部３８は、位相進み量算出部３１により算出していた位相進み量をゼロに戻したうえで、今回学習時の動作指令の補正に用いられた学習補正量に対して適用されるフィルタ３２のゲインを所定の刻み量にて減少させていき、当該周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなったときにおけるフィルタ３２のゲインを算出する。ゲイン算出部３８により算出された位相進み量に関する情報は、フィルタ３２に送られる。
【００６７】
位相進み量が所定の上限値に達したと位相進み量判定部３７が判定する前に、当該周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなったときにおける位相進み量を算出できた場合は、フィルタ３２は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、位相進み量算出部３１により算出された位相進み量にて、位相を進める。この場合、位相進み量算出部３１により算出された位相進み量にてフィルタ３２により当該周波数成分の位相が進められた学習補正量が、新たな学習補正量として設定され、第３のメモリ２６に記憶される。
【００６８】
一方、位相進み量が所定の上限値に達したと位相進み量判定部３７が判定した場合は、フィルタ３２は、ゲイン算出部３８により算出されたゲインを有するフィルタ３２が適用された学習補正量（すなわち当該周波数成分のピークが小さくされた学習補正量）が、新たな学習補正量として設定され、第３のメモリ２６に記憶される。
【００６９】
上述の学習補正量の位相及びゲインの両方を調整する実施形態による学習補正量更新部２３による学習制御を数式にて表すと下記式３のように模式化できる。式３において、ｕiを学習ｉ回目（ｉは整数）の学習補正量、ｅiを学習ｉ回目の制御対象部位１０１の振動とし、位相進み量にて位相を進めるフィルタが適用されることを関数Ｆp、位相進み量にてゲインを減少させるフィルタが適用されることを関数Ｆg、学習制御部１１の制御帯域を規定するローパスフィルタが適用されることを関数Ｑ、学習制御が適用されることを関数Ｌでそれぞれ表す。
【００７０】
【数３】
2020001107.tif 000005
【００７１】
図１７は、学習補正量のゲインを調整するフィルタの周波数特性を例示するボード線図である。ある特定の周波数成分について振動のパワースペクトルのピークが大きい場合は、その時の学習補正量ｕiを例えば図１７に示すような周波数特性を持つフィルタ３２を使用して特定の周波数成分の学習補正量の位相を進める。図１７の例では、一例として９Ｈｚの周波数成分のピークを減少させるためのフィルタ３２の周波数特性を示している。特定の周波数成分の学習補正量に対して適用されるフィルタ３２のゲインを何パターンか変えながら位相を進めてロボット制御部１２によりロボット機構部１０３を動作させる。全ての周波数成分についての振動のパワースペクトルが直前回（ｉ−１回目）よりも減少するまで所定の刻み量にてフィルタ３２のゲインを減少させていく。全ての周波数成分についての振動のパワースペクトルが直前回（ｉ−１回目）よりも減少したときにおけるゲインを、式３におけるフィルタＦpＦgに適用し、学習ｉ回目の学習補正量ｕiをＦpＦgｕiで置き換えて、学習制御を再開する。
【００７２】
位相進み量算出部３１の判定処理に用いられる上限値は、例えば次のような値に設定すればよい。すなわち、学習ｉ回目の学習補正量ｅiと学習ｉ−１回目の振動ｅi-1との差分に学習制御を適用した「Ｌ（ｅi−ｅi-1）」をフーリエ変換して得られる第１の値と、学習ｉ回目の学習補正量ｕiと学習ｉ−１回目の学習補正量ｕi-1との差分「ｕi−ｕi-1」をフーリエ変換して得られる第２の値と、の位相差を、位相進み量算出部３１の判定処理に用いられる上限値に設定する。学習制御部１１は、ロボット機構部１０３の実際の制御対象部位１０１に対する周波数応答データではなく、代表的な制御対象部位に対する周波数応答データに基づき設計されたものである。ロボット機構部１０３の実際の制御対象部位１０１の共振周波数が学習制御部１１の制御帯域内に含まれる場合（今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在する場合）において、学習補正量の特性の周波数成分の位相を進めてもなお制御対象部位１０１の振動が除去できない（すなわち振動が発散する）ことがある。これは、位相をいくら進めてもなお第１の値（周波数領域上の学習制御適用後の振動差分）が第２の値（周波数領域上の学習補正量の差分）を上回るからである。このような場合は、学習補正量の位相の進みによる調整ではなく、学習補正量に適用されるフィルタのゲインを減少させる調整に切り替える必要があり、調整方法の切替の目安として、学習ｉ回目の学習補正量ｅiと学習ｉ−１回目の振動ｅi-1との差分に学習制御を適用した「Ｌ（ｅi−ｅi-1）」をフーリエ変換して得られる第１の値と、学習ｉ回目の学習補正量ｕiと学習ｉ−１回目の学習補正量ｕi-1との差分「ｕi−ｕi-1」をフーリエ変換して得られる第２の値と、の位相差を、上限値に設定する。
【００７３】
図１８は、学習補正量の位相及びゲインの両方を調整する実施形態による学習補正量更新処理を説明するフローチャートである。
【００７４】
ロボット制御部１２が、学習制御部１１により算出された学習補正量を用いて動作指令を補正してロボット機構部１０３の動作を制御する場合を考える。ステップＳ１０１において、パワースペクトル算出部２１は、センサ１０２によって検出された振動データをフーリエ変換してパワースペクトルを算出する。パワースペクトル算出部２１により算出されたパワースペクトルは、比較部２２に送られるとともに、第２のメモリ２５に記憶される。
【００７５】
ステップＳ１０２において、比較部２２は、パワースペクトル算出部２１により算出された今回学習時のパワースペクトルと直前回学習時のパワースペクトルとを周波数成分ごとに比較する。ステップＳ１０２において、比較部２２により今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在すると判定された場合は、ステップＳ１０３へ進む。一方、ステップＳ１０２において、比較部２２により今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在しないと判定された場合は、学習補正量は更新せずに学習補正量更新処理を終了する。学習補正量更新処理の終了後、次回学習時に再度、学習補正量更新処理を実行してもよい。
【００７６】
ステップＳ１０３において、学習補正量更新部２３は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、所定の刻み量だけ位相を進める。
【００７７】
ステップＳ１０４において、比較部２２は、パワースペクトル算出部２１により算出された今回学習時のパワースペクトルと直前回学習時のパワースペクトルとを周波数成分ごとに比較する。ステップＳ１０４において、比較部２２により今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在すると判定された場合は、ステップＳ１０６へ進む。一方、ステップＳ１０４において、比較部２２により今回学習時のパワースペクトルの全ての周波数成分について直前回学習時のパワースペクトルよりも小さくなったと判定された場合は、ステップＳ１０５へ進む。
【００７８】
ステップＳ１０５において、学習補正量更新部２３は、位相調整後または位相及びゲイン調整後の学習補正量を、次回学習時の動作指令の補正に利用される新たな学習補正量として設定し、その後、学習補正量更新処理を終了する。学習補正量更新処理の終了後、次回学習時に再度、学習補正量更新処理を実行してもよい。
【００７９】
ステップＳ１０６において、位相進み量判定部３７は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、当該周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなる前に位相進み量が所定の上限値に達したか否かを判定する。ステップＳ１０６において、位相進み量判定部３７により位相進み量が所定の上限値に達したと判定された場合はステップＳ１０７へ進む。一方、ステップＳ１０６において、位相進み量判定部３７により位相進み量が所定の上限値に達していないと判定された場合はステップＳ１０３へ戻る。ステップＳ１０６における判定処理は、ステップＳ１０３で位相進み量算出部３１により所定の刻み量にて順次増加する位相進み量にて位相を進めていったときにおいて、ステップＳ１０４において比較部２２により今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在すると判定される限り、繰り返し実行される。
【００８０】
ステップＳ１０７において、ゲイン算出部３８は、位相進み量算出部３１により算出していた位相進み量をゼロに戻す。
【００８１】
ステップＳ１０８において、ゲイン算出部３８は、今回学習時の動作指令の補正に用いられた学習補正量に対して適用されるフィルタ３２のゲインを所定の刻み量にて減少させる。
【００８２】
ステップＳ１０９において、比較部２２は、パワースペクトル算出部２１により算出された今回学習時のパワースペクトルと直前回学習時のパワースペクトルとを周波数成分ごとに比較する。
【００８３】
ステップＳ１０９において、比較部２２により今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在すると判定された場合は、ステップＳ１０８へ戻る。
【００８４】
一方、ステップＳ１０９において、比較部２２により今回学習時のパワースペクトルの全ての周波数成分について直前回学習時のパワースペクトルよりも小さくなったと判定された場合は、その時点でゲイン算出部３８において算出されたゲインを保持し、ステップＳ１０３へ戻る。ステップＳ１０３では、新たに保持されたゲインでフィルタ３２を動作させ、ステップＳ１０３の処理（学習補正量の位相を進める処理）を再度実行する。
【００８５】
ステップＳ１０１〜Ｓ１０６の処理を経てステップＳ１０５において設定される次回学習時の動作指令の補正に利用される新たな学習補正量は、全ての当該周波数成分のパワースペクトルが直前回学習時のパワースペクトル以下になるように今回学習時の学習補正量の位相を進める調整を行うことで得られる学習補正量である。このように位相調整された新たな学習補正量を次回学習時の動作指令の補正に利用すれば、制御対象部位１０１の共振周波数付近の位相遅れを補償することができるので、代表的なエンドエフェクタに対する周波数応答データに基づき予め設計された学習制御部１１により、制御対象部位１０１の振動を除去することができる。
【００８６】
また、ステップＳ１０１〜Ｓ１０９の処理を経てステップＳ１０５において設定される次回学習時の動作指令の補正に利用される新たな学習補正量は、全ての当該周波数成分のパワースペクトルが直前回学習時のパワースペクトル以下になるように今回学習時の学習補正量の位相を進めるとともにゲインを小さくする調整が行われることで得られる学習補正量である。このように位相調整及びゲイン調整された新たな学習補正量を次回学習時の動作指令の補正に利用すれば、制御対象部位１０１の共振周波数付近の位相遅れ及びゲイン増大の影響を補償することができるので、代表的なエンドエフェクタに対する周波数応答データに基づき予め設計された学習制御部１１により、制御対象部位１０１の振動を除去することができる。
【００８７】
一方、ステップＳ１０２において、比較部２２により今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在しないと判定された場合は、制御対象部位１０１の共振周波数が学習制御部１１の制御帯域よりも大きいので、代表的なエンドエフェクタに対する周波数応答データに基づき予め設計された学習制御部１１の今回学習時の学習補正量をそのまま次回学習時の動作指令の補正に利用しても、制御対象部位１０１の振動を除去することができるので、学習補正量は更新せずに、学習補正量更新処理を終了する。
【００８８】
このように、本開示の実施形態によれば、制御対象部位（エンドエフェクタ）の剛性が低くその共振周波数が学習制御部の制御帯域内に含まれてしまう場合であっても、代表的な制御対象部位に対する周波数応答データに基づき予め設計された学習制御部を用いて制御対象部位の振動を精度良く除去することができる。したがって、制御対象部位の剛性が低い場合でも現場で実際の制御対象部位で周波数応答データを取得して学習制御部を設計し直す必要はなく、代表的な制御対象部位に対する周波数応答データを流用できるので、制御対象部位の振動の除去を容易に実現することができ、低コストである。
【００８９】
上述したパワースペクトル算出部２１、比較部２２、学習補正量更新部２３及びロボット制御部１２は、例えばソフトウェアプログラム形式で構築されてもよく、あるいは各種電子回路とソフトウェアプログラムとの組み合わせで構築されてもよい。この場合、例えばＡＳＩＣやＤＳＰなどの演算処理装置にこのソフトウェアプログラムを動作させて各部の機能を実現することができる。あるいは、パワースペクトル算出部２１、比較部２２、学習補正量更新部２３及びロボット制御部１２の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路として実現してもよい。
【符号の説明】
【００９０】
１    ロボットシステム
１１    学習制御部
１２    ロボット制御部
２１    パワースペクトル算出部
２２    比較部
２３    学習補正量更新部
２４    第１のメモリ
２５    第２のメモリ
２６    第３のメモリ
３１    位相進み量算出部
３２    フィルタ
３３    フーリエ変換部
３４    位相調整部
３５    逆フーリエ変換部
３６    タイミング早め量算出部
３７    位相進み量判定部
３８    ゲイン算出部
１０１    制御対象部位
１０２    センサ
１０３    ロボット機構部
１０４    ロボット制御装置
１０５    コンピュータ
【図１】
2020001107.tif 000006
【図２】
2020001107.tif 000007
【図３】
2020001107.tif 000008
【図４】
2020001107.tif 000009
【図５】
2020001107.tif 000010
【図６】
2020001107.tif 000011
【図７】
2020001107.tif 000012
【図８】
2020001107.tif 000013
【図９】
2020001107.tif 000014
【図１０】
2020001107.tif 000015
【図１１】
2020001107.tif 000016
【図１２】
2020001107.tif 000017
【図１３】
2020001107.tif 000018
【図１４】
2020001107.tif 000019
【図１５】
2020001107.tif 000020
【図１６】
2020001107.tif 000021
【図１７】
2020001107.tif 000022
【図１８】
2020001107.tif 000023
【手続補正書】
【提出日】令和1年6月20日(2019.6.20)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
図１は、本開示の一実施形態におけるロボットシステムの概略図である。ロボットシステム１は、位置制御の対象であるエンドエフェクタなどの制御対象部位１０１の振動データを取得するセンサ１０２を有するロボット機構部１０３と、作業プログラムに従ってロボット機構部１０３の動作を制御するロボット制御装置１０４と、を備えており、制御対象部位１０１の振動を学習制御するように構成されている。またさらに、ロボットシステム１は、ここでは図示しないが、種々の情報を表示する表示装置を備える。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
図２は、本開示の一実施形態におけるロボット機構部の構成図である。ロボット機構部１０３は、サーボモータ、減速機等を有する６つの関節軸Ｊ１〜Ｊ６を備えている。ロボット機構部１０３は、空間上に固定されるワールド座標系Ｃ１と、関節軸Ｊ６のフランジ位置にあるメカニカルインタフェイス座標系Ｃ２とを定義したロボットマニピュレータである。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
ロボット制御部１２は、作業プログラムに従って、学習制御部１１により算出された学習補正量を用いて制御対象部位１０１の目標位置に関する動作指令を補正し、ロボット機構部１０３の動作を制御する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
学習補正量更新部２３は、比較部２２による比較の結果、今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在する場合、今回学習時のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなるように今回学習時の動作指令の補正に用いられた学習補正量の位相及びゲインのうちの少なくとも１つを調整し、これを次回学習時の動作指令の補正に用いられる新たな学習補正量として設定する。つまり、学習補正量更新部２３は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有していると比較部２２により判定された今回学習時の周波数成分に対応する学習補正量の周波数成分に対して位相を調整することで、当該大きい周波数成分についての今回学習時のパワースペクトルが直前回学習時のパワースペクトル以下になるようにし、調整後の学習補正量を、次回学習時の動作指令の補正に用いられる新たな学習補正量として設定する。新たに設定された学習補正量は、第３のメモリ２６に記憶される。ロボット制御部１２は、作業プログラムに従って、学習制御部１１内の第３のメモリ２６から読み出された学習補正量を用いて制御対象部位１０１の目標位置に関する動作指令を補正し、ロボット機構部１０３の動作を制御する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
図９は、制御対象部位の共振周波数が学習制御部の制御帯域内に含まれる場合における制御対象部位の振動のパワースペクトルを例示する図である。図９において、横軸は周波数を示し、縦軸はパワースペクトルを示す。また、図９において、実線は学習制御部１１のＮ回目（Ｎは整数）における制御対象部位１０１の振動のパワースペクトルを示し、点線は学習制御部１１のＮ＋１回目（Ｎは整数）における制御対象部位１０１の振動のパワースペクトルを示す。図１０は、図９に示す振動のパワースペクトルを有する制御対象部位の振動を例示す図である。図１０において、横軸は時間軸であり、縦軸は振動の振幅を示す。また、図１０において、点線は制御対象部位の指令軌跡を示し、一点鎖線は学習制御前の制御対象部位の軌跡を示し、二点鎖線は、位相調整なしの学習制御後の制御対象部位の軌跡を示し、実線は位相調整ありの学習制御後の制御対象部位の軌跡を示す。図９及び図１０に示す例では、一例として学習制御部１１の制御帯域を１５Ｈｚとしている。制御対象部位１０１の共振周波数が、学習制御部１１の制御帯域である１５Ｈｚ内に含まれると、学習制御部１１による学習制御の結果、今回学習時（Ｎ＋１回目）のパワースペクトルは、直前回学習時（Ｎ回目）のパワースペクトルに比べて増大する。すなわち、図９に示すように、８Ｈｚより大きい周波数成分については、今回学習時（Ｎ＋１回目）のパワースペクトルの方が直前回学習時のパワースペクトルよりも大きくなる。この結果、図１０に示すように、学習制御前は振動がなかったが（実線）、学習制御部１１による学習制御により振動が発散してしまう（二点鎖線）。ここで、今回学習時の８Ｈｚより大きい周波数成分のパワースペクトルが直前回学習時の８Ｈｚより大きい周波数成分のパワースペクトルよりも小さくなるように、８Ｈｚより大きい周波数成分の学習補正量に対して位相を進める調整を行うと、図１０の実線に示すように学習回毎に振動が単調に減少していく。本実施形態では、学習制御部１１による学習回毎に、制御対象部位１０１の振動のパワースペクトルを監視し、制御対象部位１０１の振動のパワースペクトルが直前回学習時よりも今回学習時の方が増加した場合には、学習補正量更新部２３は、今回学習時パワースペクトルが直前回学習時のパワースペクトルよりも小さくなるように学習補正量の位相を調整し、調整後の学習補正量を、新たな学習補正量として設定する。新たな学習補正量は、第３のメモリ２６に記憶される。ロボット制御部１２は、作業プログラムに従って、学習制御部１１内の第３のメモリ２６から読み出された新たな学習補正量を用いて制御対象部位１０１の目標位置に関する動作指令を補正し、ロボット機構部１０３の動作を制御する。新たな学習補正量は、今回学習時パワースペクトルを直前回学習時のパワースペクトルよりも小さくするものであるので、ロボット制御部１２において新たな学習補正量にて動作指令を補正してロボット機構部１０３の動作を制御すると、学習回毎に振動が単調に減少することになる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
フィルタ３２は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、位相進み量算出部３１により算出された位相進み量にて、位相を進める。位相進み量算出部３１により算出された位相進み量にてフィルタ３２により当該周波数成分の位相が進められた学習補正量が、新たな学習補正量として設定され、第３のメモリ２６に記憶される。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００４８
【補正方法】変更
【補正の内容】
【００４８】
図１３は、第１の形態による学習補正量更新部におけるフィルタの周波数特性を例示するボード線図である。例えばある今回学習（ｉ回目）において、直前回学習（ｉ−１回目）と比べて８Ｈｚ以上の周波数成分について振動のパワースペクトルが増大したとする。その時の学習補正量ｕiを例えば図１３に示すような周波数特性を持つフィルタ３２を使用して特定の周波数成分の学習補正量の位相を進める。特定の周波数成分の学習補正量に対して位相進み量を何パターンか変えながら(例えば２０ｄｅｇから５ｄｅｇ刻みで増加させながら)位相を進めてロボット制御部１２によりロボット機構部１０３を動作させる。８Ｈｚ以上の周波数成分についての振動のパワースペクトルが直前回（ｉ−１回目）よりも減少するまで所定の刻み量にて位相進みを増加させていく。８Ｈｚ以上の周波数成分を含む全ての周波数成分についての振動のパワースペクトルが直前回（ｉ−１回目）よりも減少したときにおける位相進み量を、式１におけるフィルタ３２のＦpに適用し、学習ｉ回目の学習補正量ｕiをＦpｕiで置き換えて、学習制御を再開する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００５０
【補正方法】変更
【補正の内容】
【００５０】
比較部２２による比較の結果、今回学習時のパワースペクトルが直前回学習時のパワースペクトルよりも大きい周波数成分が存在する場合、位相進み量算出部３１は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、所定の刻み量にて順次増加する位相進み量にて位相を進めていき、当該周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなったときにおける位相進み量を算出する。位相進み量算出部３１により算出された位相進み量に関する情報は、位相調整部３４に送られる。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００５８
【補正方法】変更
【補正の内容】
【００５８】
第１の形態及び第２の形態では、学習補正量の各周波数成分のうち特定の周波数成分（すなわち直前回学習時のパワースペクトルよりも大きいパワースペクトルを有している今回学習時の周波数成分に対応する学習補正量の周波数成分）についてのみ位相を進めることで、今回学習時のパワースペクトルの全ての周波数成分について直前回学習時のパワースペクトルよりも小さくなるようにした。これに対し、第３の形態では、学習補正量の各周波数成分のうち特定の周波数成分ではなく、学習補正量全体（すなわち全ての周波数成分）を時間的に進めることで、今回学習時のパワースペクトルの全ての周波数成分について直前回学習時のパワースペクトルよりも小さくなるようにする。したがって、第３の形態では、直前回学習時のパワースペクトルよりも小さいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分についても位相に進められることになるが、直前回学習時のパワースペクトルよりも小さいパワースペクトルを有する今回学習時の周波数成分は、当該周波数成分の学習補正量の位相を進めてもパワースペクトルがさらに小さくなるだけであるので、特に問題は生じない。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００６５
【補正方法】変更
【補正の内容】
【００６５】
位相進み量判定部３７は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、位相進み量算出部３１により所定の刻み量にて順次増加する位相進み量にて位相を進めていったときにおいて、当該周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなる前に位相進み量が所定の上限値に達したか否かを判定する。位相進み量が所定の上限値に達したと位相進み量判定部３７が判定する前に、当該周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなったときにおける位相進み量を算出できた場合は、位相進み量算出部３１により算出された位相進み量に関する情報は、フィルタ３２に送られる。一方、位相進み量が所定の上限値に達したと位相進み量判定部３７が判定した場合は、その判定結果をゲイン算出部３８に通知する。位相進み量算出部３１の判定処理に用いられる上限値の設定例については後述する。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００６６
【補正方法】変更
【補正の内容】
【００６６】
位相進み量判定部３７により位相進み量が所定の上限値に達したとの判定結果を受けて、ゲイン算出部３８は、位相進み量算出部３１により算出していた位相進み量をゼロに戻したうえで、今回学習時の動作指令の補正に用いられた学習補正量に対して適用されるフィルタ３２のゲインを所定の刻み量にて減少させていき、当該周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなったときにおけるフィルタ３２のゲインを算出する。ゲイン算出部３８により算出されたゲインに関する情報は、フィルタ３２に送られる。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００７２
【補正方法】変更
【補正の内容】
【００７２】
位相進み量算出部３１の判定処理に用いられる上限値は、例えば次のような値に設定すればよい。すなわち、学習ｉ回目の振動ｅiと学習ｉ−１回目の振動ｅi-1との差分に学習制御を適用した「Ｌ（ｅi−ｅi-1）」をフーリエ変換して得られる第１の値と、学習ｉ回目の学習補正量ｕiと学習ｉ−１回目の学習補正量ｕi-1との差分「ｕi−ｕi-1」をフーリエ変換して得られる第２の値と、の位相差を、位相進み量算出部３１の判定処理に用いられる上限値に設定する。学習制御部１１は、ロボット機構部１０３の実際の制御対象部位１０１に対する周波数応答データではなく、代表的な制御対象部位に対する周波数応答データに基づき設計されたものである。ロボット機構部１０３の実際の制御対象部位１０１の共振周波数が学習制御部１１の制御帯域内に含まれる場合（今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在する場合）において、学習補正量の特性の周波数成分の位相を進めてもなお制御対象部位１０１の振動が除去できない（すなわち振動が発散する）ことがある。これは、位相をいくら進めてもなお第１の値（周波数領域上の学習制御適用後の振動差分）が第２の値（周波数領域上の学習補正量の差分）を上回るからである。このような場合は、学習補正量の位相の進みによる調整ではなく、学習補正量に適用されるフィルタのゲインを減少させる調整に切り替える必要があり、調整方法の切替の目安として、学習ｉ回目の振動ｅiと学習ｉ−１回目の振動ｅi-1との差分に学習制御を適用した「Ｌ（ｅi−ｅi-1）」をフーリエ変換して得られる第１の値と、学習ｉ回目の学習補正量ｕiと学習ｉ−１回目の学習補正量ｕi-1との差分「ｕi−ｕi-1」をフーリエ変換して得られる第２の値と、の位相差を、上限値に設定する。
【手続補正１３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
制御対象部位の振動データを取得するセンサを有するロボット機構部と、作業プログラムに従って前記ロボット機構部の動作を制御するロボット制御装置と、を備える、ロボットシステムであって、
前記作業プログラムに従った前記ロボット機構部の動作中に前記センサによって検出される前記制御対象部位の位置を目標位置に近づけるための学習補正量を算出する学習を行う学習制御部と、
前記学習制御部により算出された学習補正量を用いて前記制御対象部位の目標位置に関する動作指令を補正し、前記作業プログラムに従って前記ロボット機構部の動作を制御するロボット制御部と、
を備え、
前記学習制御部は、
前記学習制御部による学習回ごとに、前記センサによって検出された振動データをフーリエ変換してパワースペクトルを算出するパワースペクトル算出部と、
前記パワースペクトル算出部により算出された今回学習時のパワースペクトルと直前回学習時のパワースペクトルとを周波数成分ごとに比較する比較部と、
前記比較部による比較の結果、前記今回学習時のパワースペクトルに前記直前回学習時のパワースペクトルよりも大きい周波数成分が存在する場合、前記今回学習時のパワースペクトルが前記直前回学習時のパワースペクトルよりも小さくなるように今回学習時の動作指令の補正に用いられた学習補正量の位相及びゲインのうちの少なくとも１つを調整し、次回学習時の動作指令の補正に用いられる新たな学習補正量として設定する学習補正量更新部と、
を有する、ロボットシステム。
【請求項２】
前記学習補正量更新部は、
前記直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する前記今回学習時の周波数成分に対応する今回学習時に用いられた学習補正量の周波数成分に対して、所定の刻み量にて順次増加する位相進み量にて位相を進めていき、当該周波数成分のパワースペクトルが前記直前回学習時のパワースペクトルよりも小さくなったときにおける位相進み量を算出する位相進み量算出部を有し、
前記位相進み量算出部により算出された位相進み量にて当該周波数成分の位相が進められた学習補正量を、前記新たな学習補正量として設定する、請求項１に記載のロボットシステム。
【請求項３】
前記学習補正量更新部は、
前記学習補正量の特定の周波数成分に対して位相を進めるフィルタを有し、
前記位相進み量算出部により算出された位相進み量にて前記フィルタにより当該周波数成分の位相が進められた学習補正量を、前記新たな学習補正量として設定する、請求項２に記載のロボットシステム。
【請求項４】
前記学習補正量更新部は、
前記今回学習時に用いられた学習補正量をフーリエ変換するフーリエ変換部と、
前記フーリエ変換部によるフーリエ変換後の今回学習時に用いられた学習補正量の、前記直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分のみについて、前記位相進み量算出部により算出された位相進み量だけ位相を進める位相調整部と、
前記位相調整部により当該周波数成分の位相が進められた学習補正量を逆フーリエ変換する逆フーリエ変換部と、
を有し、
前記逆フーリエ変換部による逆フーリエ変換後の学習補正量を、前記新たな学習補正量として設定する、請求項２に記載のロボットシステム。
【請求項５】
前記学習補正量更新部は、今回学習時に用いられた学習補正量を用いて前記動作指令を補正するタイミングを所定の刻み量にて早めていき、前記今回学習時のパワースペクトルが前記直前回学習時のパワースペクトルよりも小さくなったときにおけるタイミング早め量を算出するタイミング早め量算出部を有し、
前記ロボット制御部は、前記今回学習時に用いられた前記学習補正量を用いて前記動作指令を補正したタイミングより前記タイミング早め量算出部により算出されたタイミング早め量だけ早めたタイミングにて、次回学習時に前記新たな学習補正量を用いて前記動作指令を補正し、前記ロボット機構部の動作を制御する、請求項１に記載のロボットシステム。
【請求項６】
前記学習補正量更新部は、
前記直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する前記今回学習時の周波数成分に対応する今回学習時に用いられた学習補正量の周波数成分に対して、前記位相進み量算出部により所定の刻み量にて順次増加する位相進み量にて位相を進めていったときにおいて、当該周波数成分のパワースペクトルが前記直前回学習時のパワースペクトルよりも小さくなる前に前記位相進み量が所定の上限値に達したか否かを判定する位相進み量判定部と、
前記位相進み量判定部により前記位相進み量が所定の上限値に達したと判定された場合、前記位相進み量をゼロに戻したうえで、今回学習時に用いられた学習補正量に対して適用されるフィルタのゲインを所定の刻み量にて減少させていき、当該周波数成分のパワースペクトルが前記直前回学習時のパワースペクトルよりも小さくなったときにおけるフィルタのゲインを算出するゲイン算出部と、
を有し、
前記ゲイン算出部により算出されたゲインを有するフィルタを前記今回学習時に用いられた学習補正量に適用し、これを前記新たな学習補正量として設定する、請求項２〜５のいずれか一項に記載のロボットシステム。
【請求項７】
前記センサは、加速度センサ、ジャイロセンサ、慣性センサ、力センサ、レーザトラッカ、カメラ、またはモーションキャプチャを含む、請求項１〜６のいずれか一項に記載のロボットシステム。
【請求項８】
前記学習制御部は、前記ロボット制御装置に設けられるか、または、有線もしくは無線を介して前記ロボット制御装置に接続するコンピュータに設けられる、請求項１〜７のいずれか一項に記載のロボットシステム。