説明

ロボットシステム、ロボット制御装置およびロボット制御方法

【課題】高精度の位置決めを容易に行うこと。
【解決手段】隣接するリンクが関節を介して連結され、関節にモータ11とモータ11の駆動力をリンクに伝達する減速機12とが設けられたロボット2において、モータ11の回転角度を検出する第1の検出部と、減速機12の出力軸の回転角度を検出する第2の検出部とを備える。ロボット制御装置3は、第1の検出部による検出結果および第2の検出部による検出結果に基づいて、モータ11の位置指令を補正し、補正した位置指令Prefを出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットシステム、ロボット制御装置およびロボット制御方法に関する。
【背景技術】
【0002】
複数のリンクが関節によって接続されたロボットを制御するロボット制御装置が知られている。かかるロボット制御装置は、ロボットの関節部分に設けられたモータを制御し、減速機を介してモータの動力をリンクに伝達する。
【0003】
減速機には、ねじれが存在する。そこで、減速機のねじれを補償することによって、位置決めの精度を高めるロボット制御装置が提案されている。例えば、減速機の出力軸側に設けられたエンコーダの出力と予め定められた位置指令との差分に基づいて位置指令を補正することにより、減速機のねじれを補償するロボット制御装置が提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許出願公開第2010/0191374号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記従来のロボット制御装置では、エンコーダの出力と位置指令との間に、制御遅れの要素が存在するため、かかる制御の遅れに応じた調整を行って位置指令を補正する必要がある。かかる制御遅れの時間は、ロボットの応答性に応じて変わる。そのため、ロボットの応答性に応じて遅れ時間を設定しなければならず、設定値の精度が悪ければ、位置決めを高精度に行うことができない。
【0006】
開示の技術は、上記に鑑みてなされたものであって、高精度の位置決めを容易に行うことができるロボットシステム、ロボット制御装置およびロボット制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
本願の開示するロボットシステムは、一つの態様において、隣接するリンクが関節を介して連結され、前記関節にモータと当該モータの駆動力を前記リンクに伝達する減速機とが設けられたロボットと、前記モータを駆動させて前記ロボットを制御するロボット制御装置とを備え、前記ロボットは、前記モータの回転角度を検出する第1の検出部と、前記減速機の出力軸の回転角度を検出する第2の検出部と、を備え、前記ロボット制御装置は、前記第1の検出部によって検出された前記モータの回転角度と前記第2の検出部によって検出された前記減速機の出力軸の回転角度とに基づいて、前記モータの位置指令を補正する制御部を備えたことを特徴とする。
【発明の効果】
【0008】
本願の開示するロボットシステムの一つの態様によれば、高精度の位置決めを容易に行うことができるという効果を奏する。
【図面の簡単な説明】
【0009】
【図1】図1は、実施例1に係るロボットの側面模式図である。
【図2】図2は、実施例1に係るロボットの正面模式図である。
【図3】図3は、第2のエンコーダの構成の一部を示す図である。
【図4】図4は、実施例1に係るロボットシステムの構成を示す図である。
【図5】図5は、実施例1に係る指令生成部の構成を示す図である。
【図6】図6は、実施例2に係るロボットの模式図である。
【図7】図7は、図6のA−A線断面模式図である。
【図8】図8は、ひずみゲージの配線状態を示す図である。
【図9】図9は、実施例2に係るロボットシステムの構成を示す図である。
【図10】図10は、実施例2に係る指令生成部の構成を示す図である。
【発明を実施するための形態】
【0010】
以下に、本願の開示するロボットシステムのいくつかの実施例を図面に基づいて詳細に説明する。なお、これらの実施例によりこの発明が限定されるものではない。
【実施例1】
【0011】
実施例1に係るロボットシステムは、ロボットとロボット制御装置を備える。ロボットは、隣接するリンクが関節を介して連結されており、ロボット制御装置は、関節を駆動することでロボットを制御する。なお、ロボットの一例として多関節ロボットを説明するが、ロボットは、少なくとも一つの関節を有するロボットであればよい。また、関節を介して接続されるリンクとして、基台、旋回ヘッドおよびアームを例に挙げて説明するが、これらに限定されるものではない。
【0012】
まず、実施例1に係るロボットの構成を説明する。図1は、実施例1に係るロボットの側面模式図であり、図2は、実施例1に係るロボットの正面模式図である。
【0013】
図1および図2に示すように、ロボット2は、基台25と、旋回ヘッド26aと、下部アーム26bと、上部アーム26cと、関節29a〜29cとを備える多関節ロボットである。関節29aは、基台25に旋回ヘッド26aを回転自在に連結し、関節29bは、旋回ヘッド26aに下部アーム26bを回転自在に連結し、関節29cは、下部アーム26bに上部アーム26cを回転自在に連結する。なお、以下においては、説明の便宜上、各関節29a〜29cを関節29と総称し、旋回ヘッド26a、下部アーム26bおよび上部アーム26cをリンク26と総称する場合がある。
【0014】
基台25は、フロアや天井などの固定面に図示しないアンカーボルトで固定される。基台25、旋回ヘッド26a、下部アーム26bおよび上部アーム26cは、例えば、金属鋳物等で形成された構造支持部材であり、関節29を介して基台25から順に配置される。
【0015】
関節29aは、アクチュエータ10aと、第1のエンコーダ13aと、第2のエンコーダ14aとを備える。同様に、関節29bは、アクチュエータ10bと、第1のエンコーダ13bと、第2のエンコーダ14bとを備え、関節29cは、アクチュエータ10cと、第1のエンコーダ13cと、第2のエンコーダ14cとを備える。なお、以下においては、説明の便宜上、アクチュエータ10a〜10cをアクチュエータ10と総称し、第1のエンコーダ13a〜13cを第1のエンコーダ13と総称し、第2のエンコーダ14a〜14cを第2のエンコーダ14と総称する場合がある。
【0016】
第1のエンコーダ13は、アクチュエータ10の入力軸の回転角度を検出するエンコーダであり、第2のエンコーダ14は、アクチュエータ10の出力軸の回転角度を検出するエンコーダである。アクチュエータ10は、後述するようにモータ11(図4参照)および減速機12(図4参照)を備えている。そして、モータ11の駆動力が減速機12を介してリンク26に伝達される。第1のエンコーダ13は、モータ11の回転角度を検出し、第2のエンコーダ14は、減速機12の出力軸の回転角度を検出する。
【0017】
第2のエンコーダ14a〜14cは、ラックギア16と、ラックギア16と噛合するピニオンギア17と、ピニオンギア17の回転量に応じて、減速機12の出力軸の回転角度を検出する検出器18とを備える。かかる第2のエンコーダ14では、減速機12の出力軸の回転にともなって、ラックギア16とピニオンギア17の相対位置が変化する。
【0018】
図3は、第2のエンコーダ14の構成の一部を示す図である。図3に示すように、ピニオンギア17は、シザースギア機構を備え、これによりバックラッシュを除去している。すなわち、ピニオンギア17は、第1のギア171と第2のギア172とが相反する方向に付勢されており、これにより、ピニオンギア17は、バックラッシュを除去した状態で、ラックギア16と噛合する。なお、ここでは、ピニオンギア17がシザースギア機構を備える例を説明したが、ラックギア16がシザースギア機構を備えるようにしてもよい。
【0019】
次に、ロボット2を制御するロボット制御装置の構成および動作について説明する。図4は、実施例1に係るロボットシステム1の構成を示す図である。ロボット制御装置は、いずれのアクチュエータ10に対しても同様の制御を行うため、ここでは、一つのアクチュエータ10を駆動する例を説明する。なお、例えば、アクチュエータ10bを制御する場合、ロボット制御装置3は、第1および第2のエンコーダ13b,14bから取得した情報に基づいてアクチュエータ10bを制御する。
【0020】
ロボット制御装置3は、ロボット2の関節に設けられたモータ11を駆動する。これにより、モータ11の駆動力が減速機12によってリンク26に伝達され、リンク26が駆動される。かかるロボット制御装置3は、図4に示すように、モータ11の位置指令Prefを出力する指令生成部20と、モータ11の回転角度が位置指令Prefに一致するようにモータ11を制御するサーボ制御部21とを備える。位置指令Prefは、モータ11の回転角度を規定する位置指令である。
【0021】
指令生成部20は、第1および第2のエンコーダ13,14から取得した回転角度Pfb1,Pfb2に基づいて補正した位置指令Prefをサーボ制御部21へ出力する。第1のエンコーダ13は、モータ11の回転軸11aの回転角度を回転角度Pfb1として検出し、また、第2のエンコーダ14は、減速機12の出力軸12aの回転角度を回転角度Pfb2として検出する。
【0022】
サーボ制御部21は、指令生成部20から位置指令Prefを取得すると共に、第1のエンコーダ13からモータ11の回転角度Pfb1を取得し、モータ11の回転角度Pfb1を位置指令Prefに一致させるための電流指令Erefを演算し、かかる電流指令Erefをモータ11へ出力する。
【0023】
指令生成部20から出力される位置指令Prefは、上述のように、モータ11の回転角度Pfb1と減速機12の出力軸12aの回転角度Pfb2に基づいて補正されている。モータ11の回転角度Pfb1と減速機12の出力軸12aの回転角度Pfb2には、サーボ制御の遅れ時間の要素が含まれていないため、サーボ制御の遅れ時間を補償する設定作業を行うことなく、減速機12のねじれを補償することができる。
【0024】
図5は、実施例1に係る指令生成部20の構成を示す図である。図5に示すように、指令生成部20は、位置指令生成部30と、位置指令補正部31とを備える。
【0025】
位置指令生成部30は、予め定められた指令プロファイルを元にモータ11の位置指令Pref0を生成する。そして、位置指令生成部30は、生成した位置指令Pref0を位置指令補正部31へ出力する。
【0026】
なお、指令プロファイルは、例えば、次のように生成される。まず、ロボット2のリンク先端に取り付けられた図示しないエンドエフェクタの軌道が、予め決められた加速度、速度にて通るようにエンドエフェクタ位置指令(XYZ座標)を演算する。XYZ座標は制御点であるエンドエフェクタが動作する空間の座標である。そして、エンドエフェクタ位置指令に対して座標変換を行うことによって、モータ11の位置指令Pref0(モータ座標)を生成する。モータ座標はロボット2のリンク26を駆動するモータ11の回転角の座標である。エンドエフェクタの軌道に応じて生成される位置指令Pref0群により指令プロファイルが形成される。
【0027】
位置指令補正部31は、位置指令補正信号である位置補償値Paddを生成し、かかる位置補償値Paddによって位置指令生成部30から出力される位置指令Pref0を補正する。具体的には、位置指令補正部31は、ねじれ位置演算部32と、ねじれ位置初期値記憶部33と、ねじれ位置差分演算部34と、位置補償値演算部35と、位置補償積算部36と、補償位置指令演算部37とを備える。
【0028】
ねじれ位置演算部32は、モータ11の回転軸11aの回転角度Pfb1と減速機12の出力軸12aの回転角度Pfb2に基づいてねじれ位置Pdifを生成し、生成したねじれ位置Pdifをねじれ位置差分演算部34へ出力する。かかるねじれ位置Pdifは、減速機12のねじれを表す情報である。
【0029】
具体的には、ねじれ位置演算部32は、減速機12の出力軸12aの回転角度Pfb2を減速比に基づいて演算した回転角度Pfb2からモータ11の回転角度Pfb1を減算し、かかる差分値をねじれ位置Pdifとする。例えば、減速機12の減速比をnとした場合、ねじれ位置演算部32は、n倍した回転角度Pfb2からモータ11の回転角度Pfb1を減算し、かかる差分値をねじれ位置Pdifとする。
【0030】
ねじれ位置初期値記憶部33は、初期化信号Initが入力されたときにねじれ位置演算部32から出力されるねじれ位置Pdifをねじれ位置初期値Pdif0として記憶する。例えば、ロボット2の姿勢が基本姿勢であるときに初期化信号Initがねじれ位置初期値記憶部33へ入力され、このときにねじれ位置演算部32から出力されるねじれ位置Pdifがねじれ位置初期値Pdif0としてねじれ位置初期値記憶部33に記憶される。
【0031】
ねじれ位置差分演算部34は、ねじれ位置演算部32から取得したねじれ位置Pdifから、ねじれ位置初期値記憶部33から取得したねじれ位置初期値Pdif0を減算し、ねじれ位置差分Perr(=Pdif−Pdif0)を生成する。かかるねじれ位置差分Perrは、ねじれ位置Pdifのねじれ位置初期値Pdif0からのずれを表す情報である。
【0032】
位置補償値演算部35は、ねじれ位置差分Perrから位置補償積算値Paddedを減算し、位置補償値Paddを生成する。かかる位置補償値Paddは、位置指令補正信号であり、位置補償値演算部35から補償位置指令演算部37へ出力される。位置補償積算値Paddedは、位置補償積算部36から出力される情報であり、位置補償積算部36は、位置補償値演算部35から出力される位置補償値Paddを積算して、位置補償積算値Paddedを生成する。
【0033】
補償位置指令演算部37は、位置指令生成部30から取得した位置指令Pref0に、位置補償値演算部35から取得した位置補償値Paddを加算して新たな位置指令Prefを生成する。そして、補償位置指令演算部37は、生成した位置指令Prefをサーボ制御部21へ出力する。
【0034】
このように、実施例1に係るロボットシステム1は、指令生成部20において、モータ11の回転角度Pfb1と減速機12の出力軸12aの回転角度Pfb2の差分から求めた位置補償値Paddを位置指令補正信号として位置指令Pref0に加算して位置指令Pref0を補正する。位置指令Pref0とモータ11の回転角度Pfb1との間には、サーボ制御の遅れ時間の要素が含まれるが、モータ11の回転角度Pfb1と減速機12の出力軸12aの回転角度Pfb2には、サーボ制御の遅れ時間の要素が含まれない。そのため、実施例1に係るロボットシステム1では、サーボ制御の遅れ時間を補償する設定作業を行うことなく、減速機12のねじれに起因する位置誤差を低減することができる。
【0035】
また、位置補償値演算部35において、ねじれ位置差分Perrから位置補償積算値Paddedが減算されるため、位置補償値Paddとして一度加算したねじれ位置差分Perrは次回から加算されない。従って、ねじれ位置差分Perrに応じて精度良く位置指令Prefを補償することができる。
【0036】
なお、上記実施例では、3軸に第2のエンコーダ14を備えるが、各軸は独立して制御されるため、必要に応じて1軸のみや2軸のみに第2のエンコーダ14を設けるようにしてもよい。
【0037】
また、補正により位置指令Prefが急激に変動することを避けるため、リミッタやフィルタなどの制限手段を設けるようにしてもよい。この場合、制限手段は、ねじれ位置差分演算部34と補償位置指令演算部37の間の経路に設けることができる。
【0038】
例えば、位置補償値演算部35と補償位置指令演算部37との間にリミッタを設けることによって、補償位置指令演算部37で取得される位置補償値Paddに制限の値をかけるようにすることができる。また、例えば、位置補償値演算部35と補償位置指令演算部37との間にフィルタを設けることによって、補償位置指令演算部37で取得される位置補償値Paddの変化率に制限をかけるようにすることができる。
【0039】
また、モータ11の回転角度Pfb1を検出する第1の検出部として、エンコーダを一例に挙げて説明したが、モータ11の回転角度Pfb1を検出することができればよく、例えば、オブザーバであってもよい。同様に、減速機12の出力軸の回転角度Pfb2を検出する第2の検出部として、エンコーダを一例に挙げて説明したが、減速機12の出力軸12aの回転角度Pfb2を検出することができればよく、例えば、オブザーバであってもよい。
【実施例2】
【0040】
次に、実施例2に係るロボットシステムについて説明する。実施例2に係るロボットシステムは、実施例1に係るロボットシステムに比べ、さらにリンクのたわみを補償してアクチュエータ10を制御する。これにより、リンクの自重やリンク先端のエンドエフェクタに加わる力などによって、リンク自体がたわむような場合においても、ロボットの位置決めを精度良く行うことができるようにしている。図6は、実施例2に係るロボットの模式図であり、図7は、図6のA−A線断面模式図である。なお、実施例1に係るロボットシステム1と同様の構成については、同一符号を付して説明する。
【0041】
図6に示すように、実施例2に係るロボット2Aは、実施例1に係るロボット2の構成に加え、さらに、下部アーム26bにひずみゲージユニット40aが取り付けられ、上部アーム26cにひずみゲージユニット40bが取り付けられる。なお、下部アーム26bおよび上部アーム26cにおいてひずみ量が大きい領域にひずみゲージユニット40a,40bを取り付けることによって、下部アーム26bおよび上部アーム26cのたわみを精度よく検出することが可能となる。
【0042】
ひずみゲージユニット40aは、図7に示すように、下部アーム26bの方形状の内壁27に取り付けられる。具体的には、下部アーム26bの内壁27の各辺にそれぞれ、ひずみゲージユニット40aを構成するひずみゲージ41a〜41dが取り付けられ、下部アーム26bの内壁27の一辺に基板43が取り付けられる。
【0043】
ひずみゲージ41a〜41dは、下部アーム26bのたわみに応じて抵抗値が変化する。ひずみゲージ41a,41cは、下部アーム26bのたわみのうち第1方向(図7において上下方向)のたわみを検出するためのひずみゲージであり、ひずみゲージ41b、41dは、下部アーム26bのたわみのうち第1方向と直交する第2方向(図7において左右方向)のたわみを検出するためのひずみゲージである。
【0044】
図8に示すように、ひずみゲージ41a,41cは、配線42a,42cを介して基板43に接続され、基板43上で2つの抵抗Rと共にブリッジ接続される。また、同様に、ひずみゲージ41b,41dは、配線42b,42dを介して基板43に接続され、基板43上で2つの抵抗Rと共にブリッジ接続される。ひずみゲージ41a〜41dと基板43とを接続する配線42a〜42dは、互いに同じ長さになるように形成される。これにより、下部アーム26bのたわみを精度よく検出する。なお、ひずみゲージ41a〜41dのそれぞれに対して抵抗Rとのブリッジ接続構造を設けてもよい。
【0045】
このようにひずみゲージユニット40aは、下部アーム26bの第1方向および第2方向のたわみ情報を検出する。下部アーム26bの第1方向のたわみは、関節29aを調整することによって補償することができ、下部アーム26bの第2方向のたわみは、関節29bを調整することによって補償することができる。なお、ひずみゲージユニット40bについても、ひずみゲージユニット40aと同様の構成である。
【0046】
ロボット制御装置3Aは、ひずみゲージユニット40a,40bから出力されるたわみ情報に基づいて、下部アーム26bおよび上部アーム26cの各方向のたわみを検出し、かかるたわみの量をモータ座標の値に変換してモータ11の制御を補正する。これにより、下部アーム26bおよび上部アーム26cのたわみを補償する。
【0047】
なお、ひずみゲージユニット40a,40bの基板43においてアーム26b,26cのたわみをデジタル化してロボット制御装置3へ出力するようにしてもよい。この場合、ひずみゲージユニット40a,40bをデイジーチェーン接続することによって、処理を簡易にすることができる。
【0048】
例えば、ゲージユニット40bをゲージユニット40aに接続し、ゲージユニット40aをロボット制御装置3A(図9)に接続する。そして、ゲージユニット40bの検出結果をゲージユニット40bからゲージユニット40aへシリアル信号によって出力し、ゲージユニット40aは、ゲージユニット40aの検出結果をゲージユニット40bによる検出結果と共にロボット制御装置3A(図9)へシリアル信号によって送信する。なお、以下においては、説明の便宜上、ひずみゲージユニット40a,40bを総称してひずみゲージユニット40とすることがある。
【0049】
次に、実施例2に係るロボット2Aを制御するロボット制御装置の構成および動作について説明する。図9は、実施例2に係るロボットシステム1Aの構成を示す図である。ここでは、説明を分かりやすくするため、実施例2に係るロボット制御装置3Aが一つのアクチュエータ10を制御する例を説明する。なお、例えば、アクチュエータ10bを制御する場合、ロボット制御装置3は、第1および第2のエンコーダ13b,14bとひずみゲージユニット40aとから取得した情報に基づいてアクチュエータ10bを制御する。
【0050】
ロボット2Aは、上述したように、ひずみゲージユニット40を備える。ひずみゲージユニット40は、検出したたわみ情報Pfcをロボット制御装置3Aへ出力する。
【0051】
ロボット制御装置3Aは、指令生成部20Aと、サーボ制御部21とを備える。実施例2に係るサーボ制御部21は、実施例1に係るサーボ制御部21と同様の構成である。
【0052】
指令生成部20Aから出力される位置指令Prefは、回転角度Pfb1,Pfb2に加え、さらにたわみ情報Pfcに基づいて補正されている。そのため、減速機12のねじれを補償することに加え、さらに、リンク26のひずみも補償することができる。図10は、実施例2に係る指令生成部20Aの構成を示す図である。
【0053】
図10に示すように、指令生成部20Aは、実施例1に係る指令生成部20と同様に、位置指令生成部30を備える。また、指令生成部20Aは、位置指令補正部31Aを備える。かかる位置指令補正部31Aは、実施例1に係る位置指令補正部31と同様に、ねじれ位置演算部32と、ねじれ位置初期値記憶部33と、ねじれ位置差分演算部34と、位置補償値演算部35と、位置補償積算部36とを備える。
【0054】
さらに、位置指令補正部31Aは、たわみ量逆変換部51と、たわみ位置初期値記憶部52と、たわみ位置差分演算部53と、位置補償値演算部54と、位置補償積算部55と、補償位置指令演算部56とを備える。
【0055】
たわみ量逆変換部51は、ひずみゲージユニット40から取得したたわみ情報Pfcに応じたたわみ位置Pdif2を演算する。具体的には、たわみ量逆変換部51は、たわみ情報Pfcのうち駆動するリンク26の所定方向のたわみ量を検出し、かかるたわみ量を座標変換することによって、モータ11によって駆動するリンク26たわみ位置Pdif2(モータ座標)を生成する。モータ座標はロボット2Aのリンク26を駆動するモータ11の回転角の座標である。
【0056】
例えば、下部アーム26bを駆動するアクチュエータ10bに対する制御では、たわみ量逆変換部51は、ひずみゲージユニット40aから取得されるたわみ情報Pfcのうち、下部アーム26bの第2方向のたわみ量を座標変換することによって、モータ11によって駆動する下部アーム26bのたわみ位置Pdif2を生成する。
【0057】
たわみ位置初期値記憶部52は、初期化信号Initが入力されたときにたわみ量逆変換部51から出力されるたわみ位置Pdif2をたわみ位置初期値Pdif3として記憶する。例えば、ロボット2Aの姿勢が基本姿勢であるときに初期化信号Initがたわみ位置初期値記憶部52へ入力されたときに、たわみ量逆変換部51から出力されるたわみ位置Pdif2がたわみ位置初期値記憶部52にたわみ位置初期値Pdif3として記憶される。
【0058】
たわみ位置差分演算部53は、たわみ量逆変換部51から取得したたわみ位置Pdif1から、たわみ位置初期値記憶部52から取得したたわみ位置初期値Pdif3を減算し、たわみ位置差分Perr1(=Pdif2−Pdif3)を生成する。かかるたわみ位置差分Perr1は、たわみ位置Pdif2のたわみ位置初期値Pdif3からのずれを表す情報である。
【0059】
位置補償値演算部54は、たわみ位置Pdif1から位置補償積算値Padded1を減算し、かかる減算値を位置補償値Padd1として補償位置指令演算部56へ出力する。位置補償積算値Padded1は、位置補償積算部55から出力される情報であり、位置補償積算部55は、位置補償値演算部35から出力される位置補償値Padd1を積算して、位置補償積算値Padded1を生成する。
【0060】
補償位置指令演算部56は、位置指令生成部30から取得した位置指令Pref0に、位置補償値演算部35から取得した位置補償値Paddと、位置補償値演算部54から取得した位置補償値Padd1とを加算して新たな位置指令Prefを生成する。そして、補償位置指令演算部56は、生成した位置指令Prefをサーボ制御部21へ出力する。
【0061】
このように、実施例2に係るロボットシステム1Aは、指令生成部20Aにおいて、位置指令Pref0に加算するものとして、モータ11の回転角度Pfb1とたわみ量逆変換部51から出力されたたわみ量Pfb3とに基づいて算出された位置補償値Padd1を含む。そのため、減速機12のねじれに起因する位置誤差を低減することに加え、さらに、リンク26のたわみに起因する位置誤差を低減することができる。
【0062】
このようにリンク26のたわみに起因する位置誤差を低減することができるため、例えば、リンク26の自重やエンドエフェクタに加える力などによってリンク26がたわむような場合においても、ロボット2Aの位置決めを精度良く行うことができる。
【0063】
また、位置補償値演算部54において、たわみ位置差分Perr1から位置補償積算値Padded1が減算されるため、位置補償値Padd1として一度加算したたわみ位置差分Perr1は次回から加算されない。従って、たわみ位置差分Perr1に応じて的確に位置指令Prefを補償することができる。
【0064】
なお、上述では、リンク26のたわみを検出する検出器としてひずみゲージを一例に挙げて説明したが、リンク26のたわみを検出する検出器として水晶圧電式歪センサなどを用いるようにしてもよい。
【0065】
以上のように、実施例1,2に係るロボットシステム1,1Aでは、モータ11の回転角度Pfb1と減速機12の出力軸12aの回転角度Pfb2とから求めた位置補償値Paddを位置指令Pref0に加算する。そのため、サーボ制御の遅れ時間を補償する設定作業を行うことなく、減速機12のねじれに起因する位置誤差を低減することができ、これにより、高精度の位置決めを容易に行うことができる。
【0066】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。よって、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細及び代表的な実施例に限定されるものではない。したがって、添付の特許請求の範囲及びその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【0067】
1,1A ロボットシステム
2,2A ロボット
3,3A ロボット制御装置
10,10a〜10c アクチュエータ
11 モータ
12 減速機
13,13a〜13c 第1のエンコーダ(第1の検出器)
14,14a〜14c 第2のエンコーダ(第2の検出器)
16 ラックギア
17 ピニオンギア
18 検出器
20 指令生成部
21 サーボ制御部
29,29a〜29c 関節
40,40a,40b ひずみゲージユニット(第3の検出器)
30 位置指令生成部
31,31A 位置指令補正部

【特許請求の範囲】
【請求項1】
隣接するリンクが関節を介して連結され、前記関節にモータと当該モータの駆動力を前記リンクに伝達する減速機とが設けられたロボットと、
前記モータを駆動させて前記ロボットを制御するロボット制御装置と、を備え、
前記ロボットは、
前記モータの回転角度を検出する第1の検出部と、
前記減速機の出力軸の回転角度を検出する第2の検出部と、を備え、
前記ロボット制御装置は、
前記第1の検出部による検出結果および前記第2の検出部による検出結果に基づいて、前記モータの位置指令を補正する指令生成部を備えたことを特徴とするロボットシステム。
【請求項2】
前記指令生成部は、
前記第1の検出部による検出結果と前記第2の検出部による検出結果との差に応じて、前記位置指令を補正することを特徴とする請求項1に記載のロボットシステム。
【請求項3】
前記第2の検出部は、
ラックギアと、
前記ラックギアと噛合し、かつ前記減速機の出力軸の回転にともなって前記ラックギアとの間の相対位置が変化するピニオンギアと、
前記ピニオンギアの回転量に応じて、前記減速機の出力軸の回転位置を検出する検出器と
を備え、
前記ラックギア又は前記ピニオンギアは、
シザースギアであることを特徴とする請求項1又は2に記載のロボットシステム。
【請求項4】
前記リンクのたわみを検出する第3の検出部を備え、
前記指令生成部は、
前記第1の検出部による検出結果および前記第2の検出部による検出結果に加え、さらに前記第3の検出部による検出結果に基づいて、前記位置指令を補正することを特徴とする請求項1〜3のいずれか1項に記載のロボットシステム。
【請求項5】
減速機を介してロボットのリンクを駆動するモータの回転角度を検出する第1の検出部による検出結果を取得する第1の取得部と、
前記減速機の出力軸の回転角度を検出する第2の検出部による検出結果を取得する第2の取得部と、
前記ロボットの位置を規定する位置指令を生成する位置指令生成部と、
前記モータの回転角度と前記減速機の出力軸の回転角度とに基づいて、前記モータの位置指令を補正する位置指令補正部と
を備えたことを特徴とするロボット制御装置。
【請求項6】
減速機を介してロボットのリンクを駆動するモータの回転角度を検出する第1の検出ステップと、
前記減速機の出力軸の回転角度を検出する第2の検出ステップと、
前記第1の検出ステップによる検出結果と前記第2の検出ステップによる検出結果とに基づいて、前記モータの位置指令を補正する位置指令補正ステップと
を含むことを特徴とするロボット制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−171069(P2012−171069A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−37454(P2011−37454)
【出願日】平成23年2月23日(2011.2.23)
【出願人】(000006622)株式会社安川電機 (2,482)
【Fターム(参考)】