(57)【特許請求の範囲】
【請求項１】
隣接するリンクが関節を介して連結され、前記関節にモータと当該モータの駆動力を前記リンクに伝達する減速機とが設けられたロボットと、
前記モータを駆動させて前記ロボットを制御するロボット制御装置と、を備え、
前記ロボットは、
前記モータの回転角度を検出する第１の検出部と、
前記減速機の出力軸の回転角度を検出する第２の検出部と、を備え、
前記ロボット制御装置は、
前記モータの位置指令を生成する位置指令生成部と、
前記第１の検出部による検出結果と前記第２の検出部による検出結果との差に基づいてねじれ位置補償値を生成し、当該ねじれ位置補償値により前記モータの位置指令を補正する位置指令補正部と、を備え、
前記位置指令補正部は、
前記ねじれ位置補償値を積算し、当該積算結果をねじれ位置補償積算値として出力するねじれ位置補償値積算部と、
前記第１の検出部による検出結果と前記第２の検出部による検出結果との差から求められる前記減速機のねじれ位置から前記ねじれ位置補償積算値を減算して前記ねじれ位置補償値を求めるねじれ位置補償値演算部と、
を備えたことを特徴とするロボットシステム。
【請求項２】
初期化信号が入力されたときの前記ねじれ位置をねじれ位置初期値として記憶するねじれ位置初期値記憶部と、
前記ねじれ位置初期値記憶部に記憶されたねじれ位置初期値を前記ねじれ位置から減算し、当該減算結果を前記ねじれ位置として前記ねじれ位置補償値演算部に出力するねじれ位置差分演算部と、
を備えることを特徴とする請求項１に記載のロボットシステム。
【請求項３】
前記ねじれ位置補償値を制限するリミッタまたはフィルタを備える
ことを特徴とする請求項１又は２に記載のロボットシステム。
【請求項４】
前記リンクのたわみを検出する第３の検出部を備え、
前記位置指令補正部は、
前記第３の検出部で検出したたわみに対応するたわみ位置からたわみ位置補償積算値を減算し、当該減算結果をたわみ位置補償値として出力するたわみ位置補償値演算部と、
前記たわみ位置補償値演算部から出力される前記たわみ位置補償値を積算して前記たわみ位置補償積算値を求めるたわみ位置補償値積算部と、を備え、
前記ねじれ位置補償値演算部から出力される前記ねじれ位置補償値と前記たわみ位置補償値演算部から出力される前記たわみ位置補償値により前記位置指令を補正する
ことを特徴とする請求項１〜３のいずれか１項に記載のロボットシステム。
【請求項５】
減速機を介してロボットのリンクを駆動するモータの回転角度を検出する第１の検出部による検出結果を取得する第１の取得部と、
前記減速機の出力軸の回転角度を検出する第２の検出部による検出結果を取得する第２の取得部と、
前記ロボットの位置を規定する位置指令を生成する位置指令生成部と、
前記モータの回転角度と前記減速機の出力軸の回転角度との差に基づいてねじれ位置補償値を生成し、当該ねじれ位置補償値により前記モータの位置指令を補正する位置指令補正部と、を備え、
前記位置指令補正部は、
前記ねじれ位置補償値を積算し、当該積算結果をねじれ位置補償積算値として出力するねじれ位置補償値積算部と、
前記第１の検出部による検出結果と前記第２の検出部による検出結果との差から求められる前記減速機のねじれ位置から前記ねじれ位置補償積算値を減算して前記ねじれ位置補償値を求めるねじれ位置補償値演算部と、
を備えたことを特徴とするロボット制御装置。
【請求項６】
減速機を介してロボットのリンクを駆動するモータの回転角度を検出する第１の検出ステップと、
前記減速機の出力軸の回転角度を検出する第２の検出ステップと、
前記第１の検出ステップによる検出結果と前記第２の検出ステップによる検出結果との差に基づいてねじれ位置補償値を生成し、当該ねじれ位置補償値により前記モータの位置指令を補正する位置指令補正ステップと、を含み、
前記位置指令補正ステップは、
前記ねじれ位置補償値を積算し、当該積算結果をねじれ位置補償積算値として出力するねじれ位置補償値積算ステップと、
前記第１の検出ステップによる検出結果と前記第２の検出ステップによる検出結果との差から求められる前記減速機のねじれ位置から前記ねじれ位置補償積算値を減算して前記ねじれ位置補償値を求めるねじれ位置補償値演算ステップと、
を含むことを特徴とするロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシステム、ロボット制御装置およびロボット制御方法に関する。
【背景技術】
【０００２】
複数のリンクが関節によって接続されたロボットを制御するロボット制御装置が知られている。かかるロボット制御装置は、ロボットの関節部分に設けられたモータを制御し、減速機を介してモータの動力をリンクに伝達する。
【０００３】
減速機には、ねじれが存在する。そこで、減速機のねじれを補償することによって、位置決めの精度を高めるロボット制御装置が提案されている。例えば、減速機の出力軸側に設けられたエンコーダの出力と予め定められた位置指令との差分に基づいて位置指令を補正することにより、減速機のねじれを補償するロボット制御装置が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２０１０／０１９１３７４号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来のロボット制御装置では、エンコーダの出力と位置指令との間に、制御遅れの要素が存在するため、かかる制御の遅れに応じた調整を行って位置指令を補正する必要がある。かかる制御遅れの時間は、ロボットの応答性に応じて変わる。そのため、ロボットの応答性に応じて遅れ時間を設定しなければならず、設定値の精度が悪ければ、位置決めを高精度に行うことができない。
【０００６】
開示の技術は、上記に鑑みてなされたものであって、高精度の位置決めを容易に行うことができるロボットシステム、ロボット制御装置およびロボット制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願の開示するロボットシステムは、一つの態様において、隣接するリンクが関節を介して連結され、前記関節にモータと当該モータの駆動力を前記リンクに伝達する減速機とが設けられたロボットと、前記モータを駆動させて前記ロボットを制御するロボット制御装置とを備え、前記ロボットは、前記モータの回転角度を検出する第１の検出部と、前記減速機の出力軸の回転角度を検出する第２の検出部と、を備え、前記ロボット制御装置は、前記モータの位置指令を生成する位置指令生成部と、前記第１の検出部による検出結果と前記第２の検出部による検出結果との差に基づいてねじれ位置補償値を生成し、当該ねじれ位置補償値により前記モータの位置指令を補正する位置指令補正部と、を備え、前記位置指令補正部は、前記ねじれ位置補償値を積算し、当該積算結果をねじれ位置補償積算値として出力するねじれ位置補償値積算部と、前記第１の検出部による検出結果と前記第２の検出部による検出結果との差から求められる前記減速機のねじれ位置から前記ねじれ位置補償積算値を減算して前記ねじれ位置補償値を求めるねじれ位置補償値演算部と、を備えたことを特徴とする。
【発明の効果】
【０００８】
本願の開示するロボットシステムの一つの態様によれば、高精度の位置決めを容易に行うことができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１に係るロボットの側面模式図である。
【図２】図２は、実施例１に係るロボットの正面模式図である。
【図３】図３は、第２のエンコーダの構成の一部を示す図である。
【図４】図４は、実施例１に係るロボットシステムの構成を示す図である。
【図５】図５は、実施例１に係る指令生成部の構成を示す図である。
【図６】図６は、実施例２に係るロボットの模式図である。
【図７】図７は、図６のＡ−Ａ線断面模式図である。
【図８】図８は、ひずみゲージの配線状態を示す図である。
【図９】図９は、実施例２に係るロボットシステムの構成を示す図である。
【図１０】図１０は、実施例２に係る指令生成部の構成を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示するロボットシステムのいくつかの実施例を図面に基づいて詳細に説明する。なお、これらの実施例によりこの発明が限定されるものではない。
【実施例１】
【００１１】
実施例１に係るロボットシステムは、ロボットとロボット制御装置を備える。ロボットは、隣接するリンクが関節を介して連結されており、ロボット制御装置は、関節を駆動することでロボットを制御する。なお、ロボットの一例として多関節ロボットを説明するが、ロボットは、少なくとも一つの関節を有するロボットであればよい。また、関節を介して接続されるリンクとして、基台、旋回ヘッドおよびアームを例に挙げて説明するが、これらに限定されるものではない。
【００１２】
まず、実施例１に係るロボットの構成を説明する。図１は、実施例１に係るロボットの側面模式図であり、図２は、実施例１に係るロボットの正面模式図である。
【００１３】
図１および図２に示すように、ロボット２は、基台２５と、旋回ヘッド２６ａと、下部アーム２６ｂと、上部アーム２６ｃと、関節２９ａ〜２９ｃとを備える多関節ロボットである。関節２９ａは、基台２５に旋回ヘッド２６ａを回転自在に連結し、関節２９ｂは、旋回ヘッド２６ａに下部アーム２６ｂを回転自在に連結し、関節２９ｃは、下部アーム２６ｂに上部アーム２６ｃを回転自在に連結する。なお、以下においては、説明の便宜上、各関節２９ａ〜２９ｃを関節２９と総称し、旋回ヘッド２６ａ、下部アーム２６ｂおよび上部アーム２６ｃをリンク２６と総称する場合がある。
【００１４】
基台２５は、フロアや天井などの固定面に図示しないアンカーボルトで固定される。基台２５、旋回ヘッド２６ａ、下部アーム２６ｂおよび上部アーム２６ｃは、例えば、金属鋳物等で形成された構造支持部材であり、関節２９を介して基台２５から順に配置される。
【００１５】
関節２９ａは、アクチュエータ１０ａと、第１のエンコーダ１３ａと、第２のエンコーダ１４ａとを備える。同様に、関節２９ｂは、アクチュエータ１０ｂと、第１のエンコーダ１３ｂと、第２のエンコーダ１４ｂとを備え、関節２９ｃは、アクチュエータ１０ｃと、第１のエンコーダ１３ｃと、第２のエンコーダ１４ｃとを備える。なお、以下においては、説明の便宜上、アクチュエータ１０ａ〜１０ｃをアクチュエータ１０と総称し、第１のエンコーダ１３ａ〜１３ｃを第１のエンコーダ１３と総称し、第２のエンコーダ１４ａ〜１４ｃを第２のエンコーダ１４と総称する場合がある。
【００１６】
第１のエンコーダ１３は、アクチュエータ１０の入力軸の回転角度を検出するエンコーダであり、第２のエンコーダ１４は、アクチュエータ１０の出力軸の回転角度を検出するエンコーダである。アクチュエータ１０は、後述するようにモータ１１（図４参照）および減速機１２（図４参照）を備えている。そして、モータ１１の駆動力が減速機１２を介してリンク２６に伝達される。第１のエンコーダ１３は、モータ１１の回転角度を検出し、第２のエンコーダ１４は、減速機１２の出力軸の回転角度を検出する。
【００１７】
第２のエンコーダ１４ａ〜１４ｃは、ラックギア１６と、ラックギア１６と噛合するピニオンギア１７と、ピニオンギア１７の回転量に応じて、減速機１２の出力軸の回転角度を検出する検出器１８とを備える。かかる第２のエンコーダ１４では、減速機１２の出力軸の回転にともなって、ラックギア１６とピニオンギア１７の相対位置が変化する。
【００１８】
図３は、第２のエンコーダ１４の構成の一部を示す図である。図３に示すように、ピニオンギア１７は、シザースギア機構を備え、これによりバックラッシュを除去している。すなわち、ピニオンギア１７は、第１のギア１７１と第２のギア１７２とが相反する方向に付勢されており、これにより、ピニオンギア１７は、バックラッシュを除去した状態で、ラックギア１６と噛合する。なお、ここでは、ピニオンギア１７がシザースギア機構を備える例を説明したが、ラックギア１６がシザースギア機構を備えるようにしてもよい。
【００１９】
次に、ロボット２を制御するロボット制御装置の構成および動作について説明する。図４は、実施例１に係るロボットシステム１の構成を示す図である。ロボット制御装置は、いずれのアクチュエータ１０に対しても同様の制御を行うため、ここでは、一つのアクチュエータ１０を駆動する例を説明する。なお、例えば、アクチュエータ１０ｂを制御する場合、ロボット制御装置３は、第１および第２のエンコーダ１３ｂ，１４ｂから取得した情報に基づいてアクチュエータ１０ｂを制御する。
【００２０】
ロボット制御装置３は、ロボット２の関節に設けられたモータ１１を駆動する。これにより、モータ１１の駆動力が減速機１２によってリンク２６に伝達され、リンク２６が駆動される。かかるロボット制御装置３は、図４に示すように、モータ１１の位置指令Ｐｒｅｆを出力する指令生成部２０と、モータ１１の回転角度が位置指令Ｐｒｅｆに一致するようにモータ１１を制御するサーボ制御部２１とを備える。位置指令Ｐｒｅｆは、モータ１１の回転角度を規定する位置指令である。
【００２１】
指令生成部２０は、第１および第２のエンコーダ１３，１４から取得した回転角度Ｐｆｂ１，Ｐｆｂ２に基づいて補正した位置指令Ｐｒｅｆをサーボ制御部２１へ出力する。第１のエンコーダ１３は、モータ１１の回転軸１１ａの回転角度を回転角度Ｐｆｂ１として検出し、また、第２のエンコーダ１４は、減速機１２の出力軸１２ａの回転角度を回転角度Ｐｆｂ２として検出する。
【００２２】
サーボ制御部２１は、指令生成部２０から位置指令Ｐｒｅｆを取得すると共に、第１のエンコーダ１３からモータ１１の回転角度Ｐｆｂ１を取得し、モータ１１の回転角度Ｐｆｂ１を位置指令Ｐｒｅｆに一致させるための電流指令Ｅｒｅｆを演算し、かかる電流指令Ｅｒｅｆをモータ１１へ出力する。
【００２３】
指令生成部２０から出力される位置指令Ｐｒｅｆは、上述のように、モータ１１の回転角度Ｐｆｂ１と減速機１２の出力軸１２ａの回転角度Ｐｆｂ２に基づいて補正されている。モータ１１の回転角度Ｐｆｂ１と減速機１２の出力軸１２ａの回転角度Ｐｆｂ２には、サーボ制御の遅れ時間の要素が含まれていないため、サーボ制御の遅れ時間を補償する設定作業を行うことなく、減速機１２のねじれを補償することができる。
【００２４】
図５は、実施例１に係る指令生成部２０の構成を示す図である。図５に示すように、指令生成部２０は、位置指令生成部３０と、位置指令補正部３１とを備える。
【００２５】
位置指令生成部３０は、予め定められた指令プロファイルを元にモータ１１の位置指令Ｐｒｅｆ０を生成する。そして、位置指令生成部３０は、生成した位置指令Ｐｒｅｆ０を位置指令補正部３１へ出力する。
【００２６】
なお、指令プロファイルは、例えば、次のように生成される。まず、ロボット２のリンク先端に取り付けられた図示しないエンドエフェクタの軌道が、予め決められた加速度、速度にて通るようにエンドエフェクタ位置指令（ＸＹＺ座標）を演算する。ＸＹＺ座標は制御点であるエンドエフェクタが動作する空間の座標である。そして、エンドエフェクタ位置指令に対して座標変換を行うことによって、モータ１１の位置指令Ｐｒｅｆ０（モータ座標）を生成する。モータ座標はロボット２のリンク２６を駆動するモータ１１の回転角の座標である。エンドエフェクタの軌道に応じて生成される位置指令Ｐｒｅｆ０群により指令プロファイルが形成される。
【００２７】
位置指令補正部３１は、位置指令補正信号である位置補償値Ｐａｄｄを生成し、かかる位置補償値Ｐａｄｄによって位置指令生成部３０から出力される位置指令Ｐｒｅｆ０を補正する。具体的には、位置指令補正部３１は、ねじれ位置演算部３２と、ねじれ位置初期値記憶部３３と、ねじれ位置差分演算部３４と、位置補償値演算部３５と、位置補償積算部３６と、補償位置指令演算部３７とを備える。
【００２８】
ねじれ位置演算部３２は、モータ１１の回転軸１１ａの回転角度Ｐｆｂ１と減速機１２の出力軸１２ａの回転角度Ｐｆｂ２に基づいてねじれ位置Ｐｄｉｆを生成し、生成したねじれ位置Ｐｄｉｆをねじれ位置差分演算部３４へ出力する。かかるねじれ位置Ｐｄｉｆは、減速機１２のねじれを表す情報である。
【００２９】
具体的には、ねじれ位置演算部３２は、減速機１２の出力軸１２ａの回転角度Ｐｆｂ２を減速比に基づいて演算した回転角度Ｐｆｂ２からモータ１１の回転角度Ｐｆｂ１を減算し、かかる差分値をねじれ位置Ｐｄｉｆとする。例えば、減速機１２の減速比をｎとした場合、ねじれ位置演算部３２は、ｎ倍した回転角度Ｐｆｂ２からモータ１１の回転角度Ｐｆｂ１を減算し、かかる差分値をねじれ位置Ｐｄｉｆとする。
【００３０】
ねじれ位置初期値記憶部３３は、初期化信号Ｉｎｉｔが入力されたときにねじれ位置演算部３２から出力されるねじれ位置Ｐｄｉｆをねじれ位置初期値Ｐｄｉｆ０として記憶する。例えば、ロボット２の姿勢が基本姿勢であるときに初期化信号Ｉｎｉｔがねじれ位置初期値記憶部３３へ入力され、このときにねじれ位置演算部３２から出力されるねじれ位置Ｐｄｉｆがねじれ位置初期値Ｐｄｉｆ０としてねじれ位置初期値記憶部３３に記憶される。
【００３１】
ねじれ位置差分演算部３４は、ねじれ位置演算部３２から取得したねじれ位置Ｐｄｉｆから、ねじれ位置初期値記憶部３３から取得したねじれ位置初期値Ｐｄｉｆ０を減算し、ねじれ位置差分Ｐｅｒｒ（＝Ｐｄｉｆ−Ｐｄｉｆ０）を生成する。かかるねじれ位置差分Ｐｅｒｒは、ねじれ位置Ｐｄｉｆのねじれ位置初期値Ｐｄｉｆ０からのずれを表す情報である。
【００３２】
位置補償値演算部３５は、ねじれ位置差分Ｐｅｒｒから位置補償積算値Ｐａｄｄｅｄを減算し、位置補償値Ｐａｄｄを生成する。かかる位置補償値Ｐａｄｄは、位置指令補正信号であり、位置補償値演算部３５から補償位置指令演算部３７へ出力される。位置補償積算値Ｐａｄｄｅｄは、位置補償積算部３６から出力される情報であり、位置補償積算部３６は、位置補償値演算部３５から出力される位置補償値Ｐａｄｄを積算して、位置補償積算値Ｐａｄｄｅｄを生成する。
【００３３】
補償位置指令演算部３７は、位置指令生成部３０から取得した位置指令Ｐｒｅｆ０に、位置補償値演算部３５から取得した位置補償値Ｐａｄｄを加算して新たな位置指令Ｐｒｅｆを生成する。そして、補償位置指令演算部３７は、生成した位置指令Ｐｒｅｆをサーボ制御部２１へ出力する。
【００３４】
このように、実施例１に係るロボットシステム１は、指令生成部２０において、モータ１１の回転角度Ｐｆｂ１と減速機１２の出力軸１２ａの回転角度Ｐｆｂ２の差分から求めた位置補償値Ｐａｄｄを位置指令補正信号として位置指令Ｐｒｅｆ０に加算して位置指令Ｐｒｅｆ０を補正する。位置指令Ｐｒｅｆ０とモータ１１の回転角度Ｐｆｂ１との間には、サーボ制御の遅れ時間の要素が含まれるが、モータ１１の回転角度Ｐｆｂ１と減速機１２の出力軸１２ａの回転角度Ｐｆｂ２には、サーボ制御の遅れ時間の要素が含まれない。そのため、実施例１に係るロボットシステム１では、サーボ制御の遅れ時間を補償する設定作業を行うことなく、減速機１２のねじれに起因する位置誤差を低減することができる。
【００３５】
また、位置補償値演算部３５において、ねじれ位置差分Ｐｅｒｒから位置補償積算値Ｐａｄｄｅｄが減算されるため、位置補償値Ｐａｄｄとして一度加算したねじれ位置差分Ｐｅｒｒは次回から加算されない。従って、ねじれ位置差分Ｐｅｒｒに応じて精度良く位置指令Ｐｒｅｆを補償することができる。
【００３６】
なお、上記実施例では、３軸に第２のエンコーダ１４を備えるが、各軸は独立して制御されるため、必要に応じて１軸のみや２軸のみに第２のエンコーダ１４を設けるようにしてもよい。
【００３７】
また、補正により位置指令Ｐｒｅｆが急激に変動することを避けるため、リミッタやフィルタなどの制限手段を設けるようにしてもよい。この場合、制限手段は、ねじれ位置差分演算部３４と補償位置指令演算部３７の間の経路に設けることができる。
【００３８】
例えば、位置補償値演算部３５と補償位置指令演算部３７との間にリミッタを設けることによって、補償位置指令演算部３７で取得される位置補償値Ｐａｄｄに制限の値をかけるようにすることができる。また、例えば、位置補償値演算部３５と補償位置指令演算部３７との間にフィルタを設けることによって、補償位置指令演算部３７で取得される位置補償値Ｐａｄｄの変化率に制限をかけるようにすることができる。
【００３９】
また、モータ１１の回転角度Ｐｆｂ１を検出する第１の検出部として、エンコーダを一例に挙げて説明したが、モータ１１の回転角度Ｐｆｂ１を検出することができればよく、例えば、オブザーバであってもよい。同様に、減速機１２の出力軸の回転角度Ｐｆｂ２を検出する第２の検出部として、エンコーダを一例に挙げて説明したが、減速機１２の出力軸１２ａの回転角度Ｐｆｂ２を検出することができればよく、例えば、オブザーバであってもよい。
【実施例２】
【００４０】
次に、実施例２に係るロボットシステムについて説明する。実施例２に係るロボットシステムは、実施例１に係るロボットシステムに比べ、さらにリンクのたわみを補償してアクチュエータ１０を制御する。これにより、リンクの自重やリンク先端のエンドエフェクタに加わる力などによって、リンク自体がたわむような場合においても、ロボットの位置決めを精度良く行うことができるようにしている。図６は、実施例２に係るロボットの模式図であり、図７は、図６のＡ−Ａ線断面模式図である。なお、実施例１に係るロボットシステム１と同様の構成については、同一符号を付して説明する。
【００４１】
図６に示すように、実施例２に係るロボット２Ａは、実施例１に係るロボット２の構成に加え、さらに、下部アーム２６ｂにひずみゲージユニット４０ａが取り付けられ、上部アーム２６ｃにひずみゲージユニット４０ｂが取り付けられる。なお、下部アーム２６ｂおよび上部アーム２６ｃにおいてひずみ量が大きい領域にひずみゲージユニット４０ａ，４０ｂを取り付けることによって、下部アーム２６ｂおよび上部アーム２６ｃのたわみを精度よく検出することが可能となる。
【００４２】
ひずみゲージユニット４０ａは、図７に示すように、下部アーム２６ｂの方形状の内壁２７に取り付けられる。具体的には、下部アーム２６ｂの内壁２７の各辺にそれぞれ、ひずみゲージユニット４０ａを構成するひずみゲージ４１ａ〜４１ｄが取り付けられ、下部アーム２６ｂの内壁２７の一辺に基板４３が取り付けられる。
【００４３】
ひずみゲージ４１ａ〜４１ｄは、下部アーム２６ｂのたわみに応じて抵抗値が変化する。ひずみゲージ４１ａ，４１ｃは、下部アーム２６ｂのたわみのうち第１方向（図７において上下方向）のたわみを検出するためのひずみゲージであり、ひずみゲージ４１ｂ、４１ｄは、下部アーム２６ｂのたわみのうち第１方向と直交する第２方向（図７において左右方向）のたわみを検出するためのひずみゲージである。
【００４４】
図８に示すように、ひずみゲージ４１ａ，４１ｃは、配線４２ａ，４２ｃを介して基板４３に接続され、基板４３上で２つの抵抗Ｒと共にブリッジ接続される。また、同様に、ひずみゲージ４１ｂ，４１ｄは、配線４２ｂ，４２ｄを介して基板４３に接続され、基板４３上で２つの抵抗Ｒと共にブリッジ接続される。ひずみゲージ４１ａ〜４１ｄと基板４３とを接続する配線４２ａ〜４２ｄは、互いに同じ長さになるように形成される。これにより、下部アーム２６ｂのたわみを精度よく検出する。なお、ひずみゲージ４１ａ〜４１ｄのそれぞれに対して抵抗Ｒとのブリッジ接続構造を設けてもよい。
【００４５】
このようにひずみゲージユニット４０ａは、下部アーム２６ｂの第１方向および第２方向のたわみ情報を検出する。下部アーム２６ｂの第１方向のたわみは、関節２９ａを調整することによって補償することができ、下部アーム２６ｂの第２方向のたわみは、関節２９ｂを調整することによって補償することができる。なお、ひずみゲージユニット４０ｂについても、ひずみゲージユニット４０ａと同様の構成である。
【００４６】
ロボット制御装置３Ａは、ひずみゲージユニット４０ａ，４０ｂから出力されるたわみ情報に基づいて、下部アーム２６ｂおよび上部アーム２６ｃの各方向のたわみを検出し、かかるたわみの量をモータ座標の値に変換してモータ１１の制御を補正する。これにより、下部アーム２６ｂおよび上部アーム２６ｃのたわみを補償する。
【００４７】
なお、ひずみゲージユニット４０ａ，４０ｂの基板４３においてアーム２６ｂ，２６ｃのたわみをデジタル化してロボット制御装置３へ出力するようにしてもよい。この場合、ひずみゲージユニット４０ａ，４０ｂをデイジーチェーン接続することによって、処理を簡易にすることができる。
【００４８】
例えば、ゲージユニット４０ｂをゲージユニット４０ａに接続し、ゲージユニット４０ａをロボット制御装置３Ａ（図９）に接続する。そして、ゲージユニット４０ｂの検出結果をゲージユニット４０ｂからゲージユニット４０ａへシリアル信号によって出力し、ゲージユニット４０ａは、ゲージユニット４０ａの検出結果をゲージユニット４０ｂによる検出結果と共にロボット制御装置３Ａ（図９）へシリアル信号によって送信する。なお、以下においては、説明の便宜上、ひずみゲージユニット４０ａ，４０ｂを総称してひずみゲージユニット４０とすることがある。
【００４９】
次に、実施例２に係るロボット２Ａを制御するロボット制御装置の構成および動作について説明する。図９は、実施例２に係るロボットシステム１Ａの構成を示す図である。ここでは、説明を分かりやすくするため、実施例２に係るロボット制御装置３Ａが一つのアクチュエータ１０を制御する例を説明する。なお、例えば、アクチュエータ１０ｂを制御する場合、ロボット制御装置３は、第１および第２のエンコーダ１３ｂ，１４ｂとひずみゲージユニット４０ａとから取得した情報に基づいてアクチュエータ１０ｂを制御する。
【００５０】
ロボット２Ａは、上述したように、ひずみゲージユニット４０を備える。ひずみゲージユニット４０は、検出したたわみ情報Ｐｆｃをロボット制御装置３Ａへ出力する。
【００５１】
ロボット制御装置３Ａは、指令生成部２０Ａと、サーボ制御部２１とを備える。実施例２に係るサーボ制御部２１は、実施例１に係るサーボ制御部２１と同様の構成である。
【００５２】
指令生成部２０Ａから出力される位置指令Ｐｒｅｆは、回転角度Ｐｆｂ１，Ｐｆｂ２に加え、さらにたわみ情報Ｐｆｃに基づいて補正されている。そのため、減速機１２のねじれを補償することに加え、さらに、リンク２６のひずみも補償することができる。図１０は、実施例２に係る指令生成部２０Ａの構成を示す図である。
【００５３】
図１０に示すように、指令生成部２０Ａは、実施例１に係る指令生成部２０と同様に、位置指令生成部３０を備える。また、指令生成部２０Ａは、位置指令補正部３１Ａを備える。かかる位置指令補正部３１Ａは、実施例１に係る位置指令補正部３１と同様に、ねじれ位置演算部３２と、ねじれ位置初期値記憶部３３と、ねじれ位置差分演算部３４と、位置補償値演算部３５と、位置補償積算部３６とを備える。
【００５４】
さらに、位置指令補正部３１Ａは、たわみ量逆変換部５１と、たわみ位置初期値記憶部５２と、たわみ位置差分演算部５３と、位置補償値演算部５４と、位置補償積算部５５と、補償位置指令演算部５６とを備える。
【００５５】
たわみ量逆変換部５１は、ひずみゲージユニット４０から取得したたわみ情報Ｐｆｃに応じたたわみ位置Ｐｄｉｆ２を演算する。具体的には、たわみ量逆変換部５１は、たわみ情報Ｐｆｃのうち駆動するリンク２６の所定方向のたわみ量を検出し、かかるたわみ量を座標変換することによって、モータ１１によって駆動するリンク２６たわみ位置Ｐｄｉｆ２（モータ座標）を生成する。モータ座標はロボット２Ａのリンク２６を駆動するモータ１１の回転角の座標である。
【００５６】
例えば、下部アーム２６ｂを駆動するアクチュエータ１０ｂに対する制御では、たわみ量逆変換部５１は、ひずみゲージユニット４０ａから取得されるたわみ情報Ｐｆｃのうち、下部アーム２６ｂの第２方向のたわみ量を座標変換することによって、モータ１１によって駆動する下部アーム２６ｂのたわみ位置Ｐｄｉｆ２を生成する。
【００５７】
たわみ位置初期値記憶部５２は、初期化信号Ｉｎｉｔが入力されたときにたわみ量逆変換部５１から出力されるたわみ位置Ｐｄｉｆ２をたわみ位置初期値Ｐｄｉｆ３として記憶する。例えば、ロボット２Ａの姿勢が基本姿勢であるときに初期化信号Ｉｎｉｔがたわみ位置初期値記憶部５２へ入力されたときに、たわみ量逆変換部５１から出力されるたわみ位置Ｐｄｉｆ２がたわみ位置初期値記憶部５２にたわみ位置初期値Ｐｄｉｆ３として記憶される。
【００５８】
たわみ位置差分演算部５３は、たわみ量逆変換部５１から取得したたわみ位置Ｐｄｉｆ１から、たわみ位置初期値記憶部５２から取得したたわみ位置初期値Ｐｄｉｆ３を減算し、たわみ位置差分Ｐｅｒｒ１（＝Ｐｄｉｆ２−Ｐｄｉｆ３）を生成する。かかるたわみ位置差分Ｐｅｒｒ１は、たわみ位置Ｐｄｉｆ２のたわみ位置初期値Ｐｄｉｆ３からのずれを表す情報である。
【００５９】
位置補償値演算部５４は、たわみ位置Ｐｄｉｆ１から位置補償積算値Ｐａｄｄｅｄ１を減算し、かかる減算値を位置補償値Ｐａｄｄ１として補償位置指令演算部５６へ出力する。位置補償積算値Ｐａｄｄｅｄ１は、位置補償積算部５５から出力される情報であり、位置補償積算部５５は、位置補償値演算部３５から出力される位置補償値Ｐａｄｄ１を積算して、位置補償積算値Ｐａｄｄｅｄ１を生成する。
【００６０】
補償位置指令演算部５６は、位置指令生成部３０から取得した位置指令Ｐｒｅｆ０に、位置補償値演算部３５から取得した位置補償値Ｐａｄｄと、位置補償値演算部５４から取得した位置補償値Ｐａｄｄ１とを加算して新たな位置指令Ｐｒｅｆを生成する。そして、補償位置指令演算部５６は、生成した位置指令Ｐｒｅｆをサーボ制御部２１へ出力する。
【００６１】
このように、実施例２に係るロボットシステム１Ａは、指令生成部２０Ａにおいて、位置指令Ｐｒｅｆ０に加算するものとして、モータ１１の回転角度Ｐｆｂ１とたわみ量逆変換部５１から出力されたたわみ量Ｐｆｂ３とに基づいて算出された位置補償値Ｐａｄｄ１を含む。そのため、減速機１２のねじれに起因する位置誤差を低減することに加え、さらに、リンク２６のたわみに起因する位置誤差を低減することができる。
【００６２】
このようにリンク２６のたわみに起因する位置誤差を低減することができるため、例えば、リンク２６の自重やエンドエフェクタに加える力などによってリンク２６がたわむような場合においても、ロボット２Ａの位置決めを精度良く行うことができる。
【００６３】
また、位置補償値演算部５４において、たわみ位置差分Ｐｅｒｒ１から位置補償積算値Ｐａｄｄｅｄ１が減算されるため、位置補償値Ｐａｄｄ１として一度加算したたわみ位置差分Ｐｅｒｒ１は次回から加算されない。従って、たわみ位置差分Ｐｅｒｒ１に応じて的確に位置指令Ｐｒｅｆを補償することができる。
【００６４】
なお、上述では、リンク２６のたわみを検出する検出器としてひずみゲージを一例に挙げて説明したが、リンク２６のたわみを検出する検出器として水晶圧電式歪センサなどを用いるようにしてもよい。
【００６５】
以上のように、実施例１，２に係るロボットシステム１，１Ａでは、モータ１１の回転角度Ｐｆｂ１と減速機１２の出力軸１２ａの回転角度Ｐｆｂ２とから求めた位置補償値Ｐａｄｄを位置指令Ｐｒｅｆ０に加算する。そのため、サーボ制御の遅れ時間を補償する設定作業を行うことなく、減速機１２のねじれに起因する位置誤差を低減することができ、これにより、高精度の位置決めを容易に行うことができる。
【００６６】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。よって、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細及び代表的な実施例に限定されるものではない。したがって、添付の特許請求の範囲及びその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【００６７】
１，１Ａ  ロボットシステム
２，２Ａ  ロボット
３，３Ａ  ロボット制御装置
１０，１０ａ〜１０ｃ  アクチュエータ
１１  モータ
１２  減速機
１３，１３ａ〜１３ｃ  第１のエンコーダ（第１の検出器）
１４，１４ａ〜１４ｃ  第２のエンコーダ（第２の検出器）
１６  ラックギア
１７  ピニオンギア
１８  検出器
２０  指令生成部
２１  サーボ制御部
２９，２９ａ〜２９ｃ  関節
４０，４０ａ，４０ｂ  ひずみゲージユニット（第３の検出器）
３０  位置指令生成部
３１，３１Ａ  位置指令補正部
【図１】
0005370392.tif 000002
【図２】
0005370392.tif 000003
【図３】
0005370392.tif 000004
【図４】
0005370392.tif 000005
【図５】
0005370392.tif 000006
【図６】
0005370392.tif 000007
【図７】
0005370392.tif 000008
【図８】
0005370392.tif 000009
【図９】
0005370392.tif 000010
【図１０】
0005370392.tif 000011