(57)【要約】      （修正有）【課題】減速機の角度伝達誤差に起因するロボットアームの振動を抑制し軌跡精度を向上させることができるロボットシステムを提供する。【解決手段】第１関節７及び第２関節８を含む複数の関節を有するロボットアーム４と、第１減速機１３と、第１減速機を介して第１関節を回動させる第１モータ１１とを有する第１関節駆動部９と、第１関節制御部２１と、第２関節を回動させる第２モータ１６を有する第２関節駆動部１０と、第２モータの出力軸１６ａの実動作の情報を取得する検知部１７と、第２関節制御部２６とを備え、第２関節制御部は、第２電流値ｉ２又は第２モータの出力軸の実動作の時間変化に含まれる第１減速機の出力軸１３ｂの角度位置、角速度又はトルクの周期的な変化の周波数と同じ周波数成分に基づいて、第２関節の回動軸線周りのロボットアームの振動を推定し、推定したロボットアームの振動を抑制するように第２モータの出力軸の動作を補正する。【選択図】図２
2020011367.tif 000002
【特許請求の範囲】
【請求項１】
第１関節及び第２関節を含む複数の関節を有するロボットアームと、
出力軸が前記第１関節に接続された第１減速機と、出力軸が前記第１減速機の入力軸に接続され、該第１減速機を介して前記第１関節を回動させる第１モータとを有する第１関節駆動部と、
上位装置から入力された前記第１モータに対する第１動作目標に基づいて前記第１モータの前記出力軸の動作を制御する第１関節制御部と、
出力軸が前記第２関節に接続され、前記第２関節を回動させる第２モータを有する第２関節駆動部と、
前記第２モータの前記出力軸の実動作の情報を取得する検知部と、
前記上位装置から入力された前記第２モータに対する第２動作目標及び前記第２モータの前記出力軸の実動作との偏差に基づき前記第２モータに供給する第２電流値を算出し、且つ該第２電流値に基づき前記第２モータに電流を供給し前記第２モータの前記出力軸の動作を制御する第２関節制御部と、を備え、
前記第２関節制御部は、前記第２電流値又は前記第２モータの前記出力軸の実動作の時間変化に含まれる前記第１減速機の前記出力軸の角度位置、角速度又はトルクの周期的な変化の周波数と同じ周波数成分に基づいて、前記第２関節の回動軸線周りの前記ロボットアームの振動を推定し、推定した前記ロボットアームの振動を抑制するように前記第２モータの前記出力軸の動作を補正する、ロボットシステム。
【請求項２】
前記第１減速機の出力軸の角度位置、角速度又はトルクの周期的な変化は、前記第１関節駆動部の特性に起因する変化である、請求項１に記載のロボットシステム。
【請求項３】
前記第１減速機の出力軸の角度位置、角速度又はトルクの周期的な変化の周波数は、前記第１減速機の角度伝達誤差の周波数である、請求項１に記載のロボットシステム。
【請求項４】
前記第２関節制御部が推定する前記第２関節の回動軸線周りの前記ロボットアームの振動は、前記第１減速機の角度伝達誤差に起因する振動である、請求項３に記載のロボットシステム。
【請求項５】
前記第２関節制御部は、前記第２電流値又は前記第２モータの前記出力軸の実動作の時間変化に含まれる周波数成分のうち前記第１減速機の前記出力軸の角度位置、角速度又はトルクの周期的な変化の周波数と同じ周波数成分の振幅を算出し、該振幅に基づいて前記第２関節の回動軸線周りの前記ロボットアームの振動を推定する、請求項１乃至４の何れかに記載のロボットシステム。
【請求項６】
前記第２関節の回動軸線は、前記第１減速機の前記出力軸の回動軸線に対して傾斜する、請求項１乃至５の何れか１に記載のロボットシステム。
【請求項７】
第１関節及び第２関節を含む複数の関節を有するロボットアームと、
出力軸が前記第１関節に接続された第１減速機と、出力軸が前記第１減速機の入力軸に接続され、該第１減速機を介して前記第１関節を回動させる第１モータとを有する第１関節駆動部と、
上位装置から入力された前記第１モータに対する第１動作目標に基づいて前記第１モータに供給する第１電流値を算出し、且つ該第１電流値に基づき前記第１モータに電流を供給し前記第１モータの前記出力軸の動作を制御する第１関節制御部と、
出力軸が前記第２関節に接続され、前記第２関節を回動させる第２モータを有する第２関節駆動部と、
前記第２モータの前記出力軸の実動作の情報を取得する検知部と、
前記上位装置から入力された前記第２モータに対する第２動作目標及び前記第２モータの前記出力軸の実動作との偏差に基づき前記第２モータに供給する第２電流値を算出し、且つ該第２電流値に基づき前記第２モータに電流を供給し前記第２モータの前記出力軸の動作を制御する第２関節制御部と、を備えるロボットシステムの制御方法であって、
前記第２関節制御部が前記第２電流値又は前記第２モータの前記出力軸の実動作の時間変化に含まれる前記第１減速機の前記出力軸の角度位置、角速度又はトルクの周期的な変化と同じ周波数成分に基づいて、前記第２関節の回動軸線周りの前記ロボットアームの振動を推定するステップと、
推定した前記ロボットアームの振動を抑制するように前記第２モータの前記出力軸の動作を補正するステップとを有する、ロボットシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシステム及びロボットシステムの制御方法に関する。
【背景技術】
【０００２】
ロボットの関節に用いられる減速機の振動現象を抑制する装置として、例えば特許文献１のモータ駆動装置の制御装置が知られている。この制御装置は、入力された推力指令値に基づきモータ位置指令値を生成する推力制御部と、モータ位置指令値に基づき電流値を生成するモータ制御部とを備えており、モータ制御部により、モータエンコーダにより検出されるモータ位置をフィードバックすると共に、推力制御部により、推力計により検出される推力をフィードバックする。これによって、モータ制御部のフィードバックにより減速機の振動現象を抑制し、推力制御部のフィードバックにより伝達誤差を抑制することで、俊敏かつ精密なアームの移動制御を可能にする。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１０５６８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に記載のモータ駆動装置の制御装置は、推力計を設ける必要があり、構成が複雑になり、且つ、製造コストも高価になるという問題があった。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、本発明のある態様に係るロボットシステムは、第１関節及び第２関節を含む複数の関節を有するロボットアームと、出力軸が前記第１関節に接続された第１減速機と、出力軸が前記第１減速機の入力軸に接続され、該第１減速機を介して前記第１関節を回動させる第１モータとを有する第１関節駆動部と、上位装置から入力された前記第１モータに対する第１動作目標に基づいて前記第１モータの前記出力軸の動作を制御する第１関節制御部と、出力軸が前記第２関節に接続され、前記第２関節を回動させる第２モータを有する第２関節駆動部と、前記第２モータの前記出力軸の実動作の情報を取得する検知部と、前記上位装置から入力された前記第２モータに対する第２動作目標及び前記第２モータの前記出力軸の実動作との偏差に基づき前記第２モータに供給する第２電流値を算出し、且つ該第２電流値に基づき前記第２モータに電流を供給し前記第２モータの前記出力軸の動作を制御する第２関節制御部と、を備え、前記第２関節制御部は、前記第２電流値の時間変化又は前記第２モータの前記出力軸の実動作に含まれる前記第１減速機の前記出力軸の角度位置、角速度又はトルクの周期的な変化の周波数と同じ周波数成分に基づいて、前記第２関節の回動軸線周りの前記ロボットアームの振動を推定し、推定した前記ロボットアームの振動を抑制するように前記第２モータの前記出力軸の動作を補正する。
【０００６】
この構成によれば、第１減速機の角度伝達誤差に起因するロボットアームの振動を抑制し、軌跡精度を向上させることができる。また、簡素な構成で軌跡精度を向上させることができ、製造コストも安価となる。
【発明の効果】
【０００７】
本発明は、第１減速機の角度伝達誤差に起因するロボットアームの振動を抑制し、軌跡精度を向上させることができ、また、簡素な構成で軌跡精度を向上させることができ、製造コストも安価となるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】実施の形態に係るロボットシステムの構成例を概略的に示す図である。
【図２】図１のロボットシステムの制御系統の構成例を示すブロック図である。
【図３】角度伝達誤差の説明図である。
【図４】図１のロボットシステムの第１関節の構成例を示す斜視図である。
【図５】図１のロボットシステムの動作例を示すフローチャートである。
【図６Ａ】図１のロボットシステムのロボットアームに生じた振動の測定結果を示す図である。
【図６Ｂ】図１のロボットシステムのロボットアームに生じた振動の測定結果を示す図である。
【発明を実施するための形態】
【０００９】
以下、実施の形態について、図面を参照しながら説明する。なお、本実施の形態によって本発明が限定されるものではない。また、以下では、全ての図を通じて、同一又は相当する要素には同一の参照符号を付して、その重複する説明を省略する。
【００１０】
図１は、ロボットシステム１００の構成例を概略的に示す図である。図１に示すように、ロボットシステム１００は、ロボット１と、制御部２と、指令部３とを備える。
【００１１】
［ロボットの構成例］
ロボット１は、多関節型ロボットの産業用ロボット（多関節ロボット）である。
【００１２】
ロボット１は、基部３０と、ロボットアーム４と、ハンド５とを含む。基部３０は、例えば床面に固定されて載置され、ロボットアーム４及びハンド５を支持している。このロボットシステム１００は、例えばアーク溶接を行うシステムである。アーク溶接時にロボットアーム４に振動が生じると、溶接痕にムラが生じるため、高い軌跡精度が要求される。
【００１３】
ロボットアーム４は、複数の関節を有し、基端部が基部３０に対して回動可能に連結されている。ロボットアーム４の関節は、複数の関節が基端部から先端部に向かって一列に連なっている。ロボットアーム４の複数の関節のうち、１の関節が第１関節７（例えば第３軸）を構成し、第１関節７と異なる別の１の関節（例えば第４軸）が第２関節８を構成する。本実施形態において、第１関節７及び第２関節８は、その間に関節が介在せず、１つのリンクを介して隣り合って配置された関節である。
【００１４】
図２は、図１のロボットシステム１００の制御系統の構成例を概略的に示すブロック図である。なお、図２においては、第１関節７及び第２関節８以外の関節の図示を省略している。
【００１５】
図２に示すように、ロボットアーム４の各関節は、関節を駆動する駆動部を有する。各駆動部は、出力軸が対応する関節（回動軸）に接続された減速機と、出力軸が対応する減速機の入力軸に接続され、減速機を介して対応する関節を回動させる駆動源であるサーボモータと、サーボモータの出力軸の回転角を検知するエンコーダとを有する。
【００１６】
このように、サーボモータの出力軸は、減速機を介して対応する関節に接続されている。また、エンコーダは、サーボモータの出力軸の実動作の情報を取得する。本実施の形態においては、エンコーダはサーボモータの出力軸の角度位置（回転角）を検知し、これに基づいて、サーボモータの出力軸の実回転角を検出する。
【００１７】
以下、説明の便宜上、第１関節７を駆動するサーボモータ、減速機、及びエンコーダをそれぞれ第１モータ１１、第１減速機１３、及び第１エンコーダ１２といい、これらが第１関節駆動部９を構成する。また、第２関節８を駆動するサーボモータ、減速機、及びエンコーダをそれぞれ第２モータ１６、第２減速機１８、及び第２エンコーダ（検知部）１７といい、これらが第２関節駆動部１０を構成する。なお、本実施の形態において回転角とは、角度位置を意味するがこれに限定されない。角度位置の時間微分値、すなわち角速度や、角加速度であってもよい。
【００１８】
本実施の形態において、第１関節７の減速機、すなわち第１減速機１３は、例えば波動歯車装置（ハーモニックドライブ（登録商標））である。また、第２関節８の減速機は、例えば波動歯車装置に比べて角度伝達誤差が少ない減速機である。
【００１９】
第１減速機１３に係る波動歯車装置は、サーキュラスプラインと、フレクスプラインと、ウェーブジェネレータとを備える。サーキュラスプラインは、剛性の内歯歯車であり、例えば筐体と一体的に設けられる。フレクスプラインは、可撓性を有する外歯歯車であり、サーキュラスプラインと歯合する。フレクスプラインは、サーキュラスプラインよりも歯数が少なく、出力軸１３ｂと接続される。ウェーブジェネレータは、フレクスプラインの内側に接触する楕円状のカムであり、入力軸１３ａと接続されている。そして、入力軸を回転させることによって、ウェーブジェネレータがフレクスプラインとサーキュラスプラインとの噛み合い位置を移動させ、サーキュラスプラインとフレクスプラインの歯数差に応じてフレクスプラインが回転軸周りに回転し、出力軸が回転する。波動歯車装置は、小型・軽量、高減速比、高トルク容量、ノンバックラッシ等の特徴からロボットの駆動機構の減速機に適した特性を有する。
【００２０】
ところで、図３に示すように、波動歯車装置などの減速機には、加工誤差等により、減速機に入力される入力回転角に減速比を乗じた理論上の出力回転角と、実際の出力回転角との差である角度伝達誤差が生じる。この角度伝達誤差は、入力軸の回転に伴って減速機の出力軸１回転あたり減速機の特性に応じた所定の数の波を有する周期的な変化であり、図４に示すように、出力軸の回動軸線Ｒ１周りの微振動として表れる。また、角度伝達誤差に基づく微振動の影響により、回動軸線Ｒ１と直交する軸線Ｒ２、並びに軸線Ｒ１及び軸線Ｒ２と直交する軸線Ｒ３周りの微振動としても表れる。これら軸線Ｒ２及びＲ３周りの微振動は、減速機を構成する部材の撓みに起因すると考えられる。これら軸線Ｒ１〜Ｒ３周りの微振動はロボットアーム４に振動をもたらす。この角度伝達誤差の周波数とロボットアーム４の固有振動数とが一致すると、共振によって、ロボットアーム４の振幅が時間の経過により徐々に増大する場合があった（図６Ａ参照）。ロボットシステム１００は、この共振による振幅の増大を抑制するように動作する。
【００２１】
そして、図１に示すように、第２関節８の回動軸線は、第１関節７の回動軸線Ｒ１に対して傾斜する方向に延びる。更に具体的には、第２関節８の回動軸線は、第１関節７の回動軸線Ｒ１に対して直交する方向に延び、例えば、図４に示す軸線Ｒ２と平行に延びる。このように、第１関節７及び第２関節８は、それぞれの関節の軸線の相対的な位置関係が所定の固定された関係にある関節である。したがって、第１減速機１３に生じた微振動のうち、軸線Ｒ２周りの成分は、第２関節８に微振動をもたらす。
【００２２】
ハンド５は、物品の保持等の所定の動作を行うことができるように構成され、ロボットアーム４の先端部に取り付けられている。
【００２３】
［制御部の構成例］
図２に示すように、制御部２は、各関節を制御し、例えばマイクロコントローラ、ＣＰＵ、ＡＳＩＣ、ＦＰＧＡ等のプログラマブルロジックデバイス（ＰＬＤ）などの演算器を含む。演算器は、集中制御する単独の演算器で構成されていてもよく、互いに協働して分散制御する複数の演算器で構成されてもよい。制御部２は、第１関節制御部２１と、第２関節制御部２６とを含む。第１関節制御部２１、及び第２関節制御部２６は、所定の制御プログラムを図示しない演算部が実行することにより実現される機能ブロックである。なお、制御部２は、指令部３と別体の演算器で構成されているが、一体であってもよい。
【００２４】
第１関節制御部２１は、指令部３（上位装置）から入力された第１モータ１１に対する第１目標回転角（第１動作目標）θｔ１と、第１エンコーダ１２が検出した第１モータ１１の出力軸１１ａの実回転角θ１との偏差に基づき、第１モータ１１に供給する第１電流値ｉ１を算出する。そして、第１電流値ｉ１に基づき第１モータ１１に電流を供給し第１モータ１１の出力軸１１ａの回転角を制御する。すなわち、第１関節制御部２１は、第１目標回転角θｔ１と実回転角θ１との偏差を０に近づけ、第１モータ１１の出力軸１１ａの回転角を第１目標回転角θｔ１に近づける制御を基本とする第１モータ１１のフィードバック制御を行う。
【００２５】
第２関節制御部２６は、指令部３から入力された第２モータ１６に対する第２目標回転角（第２動作目標）θｔ２と、第２エンコーダ１７が検出した第２モータ１６の出力軸１６ａの実回転角θ２との偏差に基づき、第２モータ１６に供給する第２電流値（電流指令値）ｉ２を算出する。そして、第２電流値ｉ２に基づき第２モータ１６に電流を供給し第２モータ１６の出力軸１６ａの回転角を制御する。すなわち、第２関節制御部２６は、第２目標回転角θｔ２と実回転角θ２との偏差を０に近づけ、第２モータ１６の出力軸１６ａの回転角を第２目標回転角θｔ２に近づける制御を基本とする第２モータ１６のフィードバック制御を行う。
【００２６】
また、第２関節制御部２６は、第２電流値ｉ２を算出する過程において、第１減速機１３に起因するロボットアーム４の振動を推定し、この振動を抑制するように第２電流値ｉ２を算出し、第２モータ１６の出力軸１６ａの回転角を補正する（詳細は後述）。
【００２７】
このように、第１関節制御部２１及び第２関節制御部２６は、それぞれ第１関節７及び第２関節８を制御する。
【００２８】
ところで、第１関節７の第１減速機１３の微振動の影響によって、ロボットアーム４が振動すると、この振動のうち、第２関節８の軸線を中心とする円周方向への振動成分は、第２関節８をその回動軸線周りに僅かに振動させる。この振動は、第１関節７の第１減速機１３の振動と同期する振動であり、第１関節７の第１減速機１３の微振動の周波数と同じ周波数を有する第２関節８の実回転角θ２の周期的な変化として表れる。また、その結果、第２目標回転角θｔ２と実回転角θ２との間に偏差が生じ、第２モータ１６のフィードバック制御を行う第２関節制御部２６は、第２目標回転角θｔ２と実回転角θ２との偏差を０に近づけるため、第２電流値ｉ２を変化させる。この第２電流値ｉ２の時間変化も、第１関節７の第１減速機１３の振動と同期する振動であり、第１関節７の第１減速機１３の微振動の周波数と同じ周波数を有する。したがって、第２電流値ｉ２又は第２エンコーダ１７が検出した第２モータ１６の出力軸１６ａの実回転角θ２に基づいて第１減速機１３に起因する微振動の位相及び相対的な振幅の大きさを推定することが可能である。本実施の形態において、第２関節制御部２６は、第２電流値ｉ２に基づいて微振動の位相及び相対的な振幅の大きさを推定する。
【００２９】
［指令部の構成例］
指令部３は、第１関節制御部２１及び第２関節制御部２６の上位装置であり、動作プログラムに基づき、各関節に対する位置指令、すなわち各関節の目標回転角を生成し、出力する。各関節の目標回転角には、第１モータ１１に対する第１目標回転角θｔ１、及び第２モータ１６に対する第２目標回転角θｔ２が含まれる。出力された目標回転角は、第１関節制御部２１及び第２関節制御部２６を含む関節制御部に入力される。
【００３０】
［動作例］
次に、ロボットシステム１００の動作例を説明する。
【００３１】
図５は、ロボットシステム１００の動作例を示すフローチャートである。
【００３２】
まず、第２関節制御部２６は、第１減速機１３の角度伝達誤差に係る周波数ωを算出する。第２関節制御部２６は、第１関節制御部２１から取得した第１モータ１１に対する速度指令値及び第１モータ１１の出力軸１回転あたりの角度伝達誤差の波の数に基づいて、第１減速機１３の角度伝達誤差に係る周波数ωを算出する（ステップＳ１０）。周波数ωは、第１モータ１１の角速度の変化により、時々刻々と変化する値である。
【００３３】
なお、上述の通り、ロボットシステム１００は、角度伝達誤差に基づく微振動及びロボットアーム４の共振による振幅の増大を抑制するように動作するシステムであり、以下では角度伝達誤差の周波数とロボットアーム４の固有振動数とが一致するものとして周波数ωを用いる。
【００３４】
次に、第２関節制御部２６は、第１減速機１３の角度伝達誤差に係る周期的な変化が一周期２π／ω経過する間、第２電流値ｉ２に含まれる第１減速機１３の角度伝達誤差の周波数ωと同期する成分ｕ（ｔ）の振幅及び位相をフーリエ展開によって算出する（ステップＳ２０）。
【００３５】
【数１】
2020011367.tif 000003
すなわち、第２関節制御部２６は、ｎ番目の周期における第２電流値ｉ２に基づいて、式（４）に示すＡｓｉｎ及び式（５）に示すＡｃｏｓの値を取得し、これらＡｓｉｎ及びＡｃｏｓに基づいて、式（２）に示すＢ／Ｒｇ及び式（３）に示すφの値を取得することによって、第２電流値ｉ２に含まれる周波数ωに係る成分ｕ（ｔ）の振幅及び位相を取得し、それぞれｎ番目の周期における振幅Ｂ／Ｒｇ及び位相φとする。
【００３６】
次に、第２関節制御部２６は、算出した値Ｂ及びφを用いて、ｎ番目の周期における第２関節８の振動θ２ｎ（ｔ）を以下の式（６）によって算出することにより、ロボットアーム４に生じた振動のうち、第２関節８の回動軸線周りに生じた振動θ２ｎ（ｔ）を推定する（ステップＳ３０）。
【００３７】
【数２】
2020011367.tif 000004
次に、第２関節制御部２６は、以下の式（７）に示す次のｎ＋１番目の周期における動作補正量θｍｎ＋１を算出する（ステップＳ４０）。
【００３８】
【数３】
2020011367.tif 000005
このように、動作補正量θｍｎ＋１は、振動θ２ｎ（ｔ）を抑制するように規定された振幅Ａｎ及び位相差Ｄに基づいて算出した値である。
【００３９】
また、動作補正量θｍｎ＋１（ｔ）の振幅Ａｎは、第２関節８に生じた振動と相殺させ、この振動を解消するような大きな制御入力を与える値ではなく、振動の振幅が共振によって増大することを抑制する程度に小さい値であり、例えば、第２関節８に生じた振動の振幅の１／１０以下の値である。これによって、第２関節８に生じた振動の振幅が許容範囲を超えて大きくなることを防止することができ、且つ、振動の推定が外れた場合において、振動の振幅を誤って大幅に増大させてしまうことを防止することができる。
【００４０】
次に、第２関節制御部２６は、指令部３から入力された第２モータ１６に対する第２目標回転角θｔ２と、第２エンコーダ１７が検出した第２モータ１６の出力軸１６ａの実回転角θ２との偏差に基づき、ｎ＋１番目の周期における第２モータ１６に供給する第２電流値ｉ２を算出する際、動作補正量θｍｎ＋１を加味して第２電流値ｉ２を算出する。すなわち、第２関節制御部２６は、ｎ＋１番目の周期における位置指令値に動作補正量θｍｎ＋１を加算して、位置指令値を補正する。そして、第２関節制御部２６は、この補正した位置指令値に基づいて第２電流値ｉ２を算出する。そして、第２関節制御部２６は、第２電流値ｉ２に基づき第２モータ１６に電流を供給し第２モータ１６の出力軸１６ａの回転角を制御する（ステップＳ５０）。
【００４１】
次に、第２関節制御部２６は、再度ステップＳ１０を実行する。すなわち、ｎ番目の周期において実施した処理を、ｎ+１番目の周期においても実施する。このように、第２関節制御部２６は、ステップＳ１０〜ステップＳ５０を繰り返し実行する。
【００４２】
図６Ａは、ロボットシステム１００のロボットアーム４に生じた振動の測定結果を示すグラフであり、振動抑制制御を実施しない場合における測定結果を示すグラフである。図６Ｂは、ロボットシステム１００のロボットアーム４に生じた振動の測定結果を示すグラフであり、振動抑制制御を実施した場合における測定結果を示すグラフである。図６Ａ及び図６Ｂにおいては、縦軸に振動の角速度をとり、横軸に時間をとっている。図６Ａに示すように、振動を抑制する制御入力を加えていない場合は、振動が時間の経過とともに増大しているのに対し、図６Ｂに示すように、振動を抑制する制御入力を加えた場合は、振動が一定の振幅に有意に抑制されていることがわかる。
【００４３】
以上に説明したように、本発明のロボットシステム１００は、第１関節７及び第２関節８を含む複数の関節を有するロボットアーム４と、出力軸１３ｂが第１関節７に接続された第１減速機１３と、出力軸１１ａが第１減速機１３の入力軸１３ａに接続され、第１減速機１３を介して第１関節７を回動させる第１モータ１１とを有する第１関節駆動部９と、上位装置から入力された第１モータ１１に対する第１動作目標に基づいて第１モータ１１の出力軸１１ａの動作を制御する第１関節制御部２１と、出力軸１６ａが第２関節８に接続され、第２関節８を回動させる第２モータ１６を有する第２関節駆動部１０と、第２モータ１６の出力軸１６ａの実動作の情報を取得する検知部１７と、上位装置から入力された第２モータ１６に対する第２動作目標及び第２モータ１６の出力軸１６ａの実動作θ１との偏差に基づき第２モータ１６に供給する第２電流値ｉ２を算出し、且つ第２電流値ｉ２に基づき第２モータ１６に電流を供給し第２モータ１６の出力軸１６ａの動作を制御する第２関節制御部２６と、を備え、第２関節制御部２６は、第２電流値ｉ２（又は第２モータ１６の出力軸１６ａの実動作）の時間変化に含まれる第１減速機１３の出力軸１３ｂの角度位置、角速度又はトルクの周期的な変化の周波数と同じ周波数成分に基づいて、第２関節８の回動軸線周りのロボットアーム４の振動を推定し、推定したロボットアーム４の振動を抑制するように第２モータ１６の出力軸１６ａの動作を補正する。
【００４４】
この構成によれば、第１減速機１３の角度伝達誤差に起因するロボットアーム４の振動を抑制し、ハンド５の軌跡精度を向上させることができる。また、簡素な構成で軌跡精度を向上させることができ、製造コストも安価となる。
【００４５】
また、第１減速機１３の出力軸１３ｂの角度位置、角速度又はトルクの周期的な変化は、第１関節駆動部９の特性に起因する変化であってもよい。
【００４６】
この構成によれば、第１関節駆動部９の特性に起因する第１減速機１３の出力軸１３ｂの角度位置、角速度又はトルクの周期的な変化に基づくロボットアーム４の振動を適切に抑制することができる。
【００４７】
更に、第１減速機１３の出力軸１３ｂの角度位置、角速度又はトルクの周期的な変化の周波数は、第１減速機１３の角度伝達誤差の周波数であってもよい。
【００４８】
この構成によれば、第１減速機１３の角度伝達誤差に基づくロボットアーム４の振動を適切に抑制することができる。
【００４９】
また、第２関節制御部２６が推定する第２関節８の回動軸線周りのロボットアーム４の振動は、第１減速機１３の角度伝達誤差に起因する振動であってもよい。
【００５０】
この構成によれば、第１減速機１３の角度伝達誤差に起因するロボットアーム４の振動を抑制することができるロボットシステムを適切に構成することができる。
【００５１】
更に、第２関節制御部２６は、第２電流値ｉ２（又は第２モータ１６の出力軸１６ａの実動作）の時間変化に含まれる周波数成分のうち第１減速機１３の出力軸１３ｂの角度位置、角速度又はトルクの周期的な変化の周波数と同じ周波数成分の振幅を算出し、振幅に基づいて第２関節８の回動軸線周りのロボットアーム４の振動を推定してもよい。
【００５２】
この構成によれば、より精確に第１減速機１３の角度伝達誤差に起因するロボットアーム４の振動を抑制することができる。
【００５３】
また、第２関節８の回動軸線は、第１減速機１３の出力軸１３ｂの回動軸線に対して傾斜していてもよい。
【００５４】
この構成によれば、第１減速機１３の出力軸１３ｂの回動軸線と異なる回動軸線周りの振動を抑制することができる。すなわち、第１減速機１３の出力軸１３ｂの回動軸線Ｒ１を中心とする円周方向への振動以外の振動、すなわち軸線Ｒ２、Ｒ３を中心とする円周方向への振動を抑制することができる。
【００５５】
＜変形例＞
上記実施の形態においては、動作補正量θｍｎ＋１は式（７）で表される値としたがこれに限られるものではない。例えば、以下の式（８）で表される値としてもよい。
【００５６】
【数４】
2020011367.tif 000006
このように、ｎ番目の周期において算出した動作補正量θｍｎを加味してｎ＋１番目の周期における動作補正量θｍｎ＋１を算出することにより、周期ｎにおける動作補正量に対する周期ｎ＋１における補正量の急変を防止することができる。
【００５７】
また、上記実施の形態においては、第２関節８の回動軸線は、第１関節７の回動軸線と直交する方向に延びる軸線であったがこれに限られるものではなく、第１関節７の回動軸線に対して任意の相対的な姿勢を有していてもよい。例えば、第２関節８の回動軸線は、第１関節７の回動軸線と平行に延びていてもよく、この場合においては、ロボットシステム１００は、第１減速機１３の角度伝達誤差を補償することができる。
【００５８】
更に、上記実施の形態において、第２関節制御部２６は、第１減速機１３の角度伝達誤差に起因する振動を抑制するように、第１減速機１３の角度伝達誤差の角度位置の周期的な変化の周波数に基づいて動作補正量を算出したが、これに限られるものではない。第２関節制御部２６は、角度伝達誤差以外の第１関節駆動部９の特性に起因する第１減速機１３の出力軸１３ｂの角度位置、角速度又はトルクの周期的な変化の周波数を用いて動作補正量を算出してもよく、例えば第１関節駆動部９のトルクリップルに起因する第１減速機１３の出力軸１３ｂのトルクの周期的な変化の周波数に基づいて動作補正量を算出してもよい。
【００５９】
上記説明から、当業者にとっては、本発明の多くの改良や他の実施形態が明らかである。したがって、上記説明は、例示としてのみ解釈されるべきであり、本発明を実行する最良の態様を当業者に教示する目的で提供されたものである。本発明の精神を逸脱することなく、その構造及び／又は機能の詳細を実質的に変更できる。
【符号の説明】
【００６０】
１  ロボット
２  制御部
３  基部
３  指令部
４  ロボットアーム
５  ハンド
７  第１関節
８  第２関節
９  第１関節駆動部
１０  第２関節駆動部
１１  第１モータ
１３  第１減速機
１６  第２モータ
１７  第２エンコーダ
２１  第１関節制御部
２６  第２関節制御部
１００  ロボットシステム
【図１】
2020011367.tif 000007
【図２】
2020011367.tif 000008
【図３】
2020011367.tif 000009
【図４】
2020011367.tif 000010
【図５】
2020011367.tif 000011
【図６Ａ】
2020011367.tif 000012
【図６Ｂ】
2020011367.tif 000013