(58)【調査した分野】(Int.Cl.,DB名)
前記対象関節の軸線回りのトルク以外の負荷が、前記対象関節の軸線に直交する平面内に配置される直交軸線回りのトルクである請求項1から請求項4までのいずれかに記載のロボット。
前記対象関節の軸線回りのトルク以外の負荷が、前記対象関節の軸線方向に作用する引張および圧縮方向の負荷である請求項1から請求項4までのいずれかに記載のロボット。
前記トルク変動量推定部が、前記対象関節のトルク特性から、前記角度関連情報検出部により検出された前記対象関節の前記情報に対応するトルクを算出し、前記トルク特性は、前記対象関節の軸線回りのトルク以外の負荷が加わっていない状態において前記対象関節の軸線回りに前記対象関節を回転させたときに前記トルクセンサにより検出されたトルクと前記角度関連情報検出部により検出された前記対象関節の前記情報との関係を示し、 前記補正部が、前記トルク変動量推定部によって算出されたトルクを用いて、前記トルクセンサにより検出されるトルクを補正する請求項1から請求項6のいずれかに記載のロボット。
【発明を実施するための形態】
【0007】
本開示の一実施形態に係るロボット100について、図面を参照しながら以下に説明する。
本実施形態に係るロボット100は、それぞれの軸線回りに回転駆動される6つの関節を備える垂直多関節型ロボットである。
【0008】
ロボット100は、
図1に示されるように、設置面に固定されたベース1と、ベース1に対して鉛直方向に延びるJ1軸(対象関節)回りに回転可能に支持された旋回胴(ロボット構成部品)2と、旋回胴2に対してJ1軸に直交する水平なJ2軸(関節)回りに回転可能に支持された第1アーム(ロボット構成部品)3と、第1アーム3に対してJ2軸に平行なJ3軸(関節)回りに回転可能に支持された第2アーム(ロボット構成部品)4と、第2アーム4に対してJ3軸とねじれの位置にあるJ4軸(関節)回りに回転可能に支持された第1手首要素(ロボット構成部品)5と、第1手首要素5に対してJ4軸に直交するJ5軸(関節)回りに回転可能に支持された第2手首要素(ロボット構成部品)6と、第2手首要素6に対してJ5軸に直交するJ6軸(関節)回りに回転可能に支持された第3手首要素7とを備えている。
【0009】
また、ロボット100は、ベース1と旋回胴2との間に配置されてJ1軸回りのトルクを検出する第1トルクセンサ(トルクセンサ)S1と、旋回胴2と第1アーム3との間に配置されてJ2軸回りのトルクを検出する第2トルクセンサS2と、第1アーム3と第2アーム4との間に配置されてJ3軸回りのトルクを検出する第3トルクセンサS3とを備えている。
【0010】
また、ロボット100は、J1〜J6軸回りに各部を駆動させる各モータMT1〜MT6と、各モータMTに備えられJ1〜J6軸回りの回転角度を検出する各エンコーダ(角度関連情報検出部)EN1〜EN6と、検出された各軸回りの回転角度を用いて各部のJ1〜J6軸回りの駆動を制御する制御部10とを備えている。なお、ベース1に対して旋回胴2をJ1軸回りに駆動させるモータMT1およびエンコーダEN1は、
図2に示され、
図1における図示が省略されている。
【0011】
図1に示される制御部10は、図示されていないCPUと、ROMと、RAMとで構成されている。CPUが、ROMに格納されたプログラムを、RAMに展開することにより、制御部10は各プログラム機能を実行する。
【0012】
制御部10は、
図3に示されるように、ロボット100の姿勢変化に応じて第1トルクセンサS1により検出されるトルクの変動量を推定することにより補正トルク(変動量)Tfを算出する変動量推定部(トルク変動量推定部)13と、変動量推定部13により算出された補正トルクTfを用いて検出トルクTを補正する補正部11と、モータMT1を駆動するために入力されるトルク指令値Ti、検出トルクTおよび補正トルクTfに基づいてモータMT1を駆動させる駆動部12とを備えている。
【0013】
変動量推定部13は、各関節を各軸回りに回転させたときの、回転角度に対してトルクセンサにより検出される検出トルクTを当てはめたテーブルあるいは近似式からなる回転角度特性を予め(出荷時等に)求めて記憶している。
例えば、J1軸回りの回転角度のみを変化させ、他の各関節をJ1軸に負荷がかからない回転角度に固定した場合に、第1トルクセンサS1により検出されるトルクT0を
図4に示す。
【0014】
J1軸に負荷がかからないロボット100の姿勢としては、例えば、J4軸およびJ6軸がJ1軸の延長線に実質的に一致するロボット100の姿勢、旋回胴2以上の先端側の機構を取り外した状態のロボット100の姿勢などが挙げられる。
【0015】
J1軸回りに負荷がかからないロボット100の姿勢を保ったまま旋回胴2がJ1軸回りに回転すれば、理想的には、第1トルクセンサS1によって検出されるJ1軸回りのトルクはゼロである。しかし、実際には、
図6に示されるように、第1トルクセンサS1のボディBDの表面には、2つの歪みゲージG1,G2が貼り付けられ、G1,G2により検出された歪み量によって検出トルクTが決定される。歪みゲージG1,G2の貼り付け位置のずれなどを原因として、検出トルクTに誤差が発生する場合がある。
【0016】
図4によれば、トルクT0は、第1エンコーダEN1により検出されたJ1軸回りの回転角度に応じて変化している。
そこで、
図5に示されるように、変動量推定部13には、第1トルクセンサS1により検出されるトルクT0の回転角度特性をテーブルまたは近似式により記憶しておく。そして、変動量推定部13には、全ての関節の回転角度に対するトルクの回転角度特性をテーブルまたは近似式により記憶しておく。このテーブルまたは近似式は、実験により、回転角度およびトルクのデータの相関関係をデータプロットして求める。このプロットデータよりテーブルまたは近似式の係数を算出する。
【0017】
トルクの回転角度特性は、実際にロボットを動作させて測定する場合の他、シミュレーションによって測定することにしてもよい。
これにより、ロボットの実際の動作時には、変動量推定部が、エンコーダにより検出された各軸の回転角度を、記憶されている回転角度特性に当てはめて、あるいは補間して、補正トルクTfを算出することができる。
【0018】
そして、補正部11は、下記式(1)に示されるように、使用時のロボット100における第1トルクセンサS1の検出トルクTから、変動量推定部13により推定された補正トルクTfを差し引くことによって、推定実トルクTrを算出する。
推定実トルクTr=検出トルクT−補正トルクTf・・・(1)
【0019】
推定実トルクTrは、J1軸回りのトルク以外が排除されてJ1軸に加わるJ1軸回りの実際のトルクを表している。なお、補正部11は、推定実トルクTrを算出するために、検出トルクTから補正トルクTfを減算するのではなく、加算、乗算、および除算のいずれの算出方法を用いてもよい。
【0020】
駆動部12は、ロボット100を制御するための入力指令に基づく入力トルクTiから推定実トルクTrを差し引いた駆動トルクによってモータMT1を駆動させる。モータMT1が駆動中に第1トルクセンサS1により検出される検出トルクTは、
図3に示されるように、補正トルクTfが減算されて推定実トルクTrとして駆動部12のフィードバック制御に用いられる。
【0021】
このように構成された本実施形態に係るロボット100の作用について以下に説明する。
第1トルクセンサS1により検出される検出トルクTには、J1軸回りのトルク以外の負荷によって発生するトルクが含まれている場合がある。本実施形態においては、変動量推定部13が、
図6に示されるように、ロボット100の各関節の回転角度に基づいて、記憶されている回転角度特性から、変動量としての補正トルクTfを推定する。そして、補正部11が補正トルクTfを用いて第1トルクセンサS1の検出トルクTを補正することにより、第1トルクセンサS1の検出トルクTからJ1軸回りのトルク以外の負荷が排除された推定実トルクTrが得られる。すなわち、推定実トルクTrによりJ1軸回りのトルクが精度よく取得され、ロボット100を精度よく制御することができる。
【0022】
また、上記実施形態に係るロボット100によれば、作業者がアームに直接触れて外力を加えることによるリードスルー教示が行われる場合に、推定実トルクTrが用いられることにより、外力によってJ1軸回りに発生するトルクを精度よく推定できる。これにより、第1トルクセンサS1の検出トルクTを用いた駆動部12のフィードバック制御において、ロボット100の誤作動を防止することができる。
【0023】
また、本実施形態によれば補正部11が、J1軸回りの検出トルクTを補正するための補正トルクTfの算出に、第1トルクセンサS1以外のトルクセンサの検出値を必要としない。そのため、ロボット100の全ての関節にトルクセンサが配置される必要がなく、ロボット100が低コスト化を図ることができる。
【0024】
また、本実施形態においては、角度関連情報検出部としてエンコーダを例示し、角度に関連する情報としてJ1〜J6軸回りの回転角度を例示したが、これに限定されるものではなく、角速度あるいは角加速度を検出することにしてもよい。また、J1〜J6軸回りの回転角度に加えて、J1〜J6軸回りの角速度および/または角加速度も用いて補正トルクTfを算出してもよい。また、全ての関節ではなく一部の関節の角度に関連する情報を用いて、補正トルクTfを算出してもよい。
【0025】
また、変動量推定部13は、J1〜J6軸を連結するロボット構成部品(例えば、第1アーム3など)の物理パラメータ(例えば、寸法および重量等)を記憶しておき、物理パラメータと、回転角度とに基づいて補正トルクTfを推定してもよい。この場合に、変動量推定部13は、アーム重量などによって発生するJ1軸回り以外に加わる慣性モーメント、J1軸に沿う方向に加わる引張力あるいは圧縮力を用いて、より正確に補正トルクTfを算出できる。
【0026】
また、上記実施形態においては、補正部11が、第1トルクセンサS1の検出トルクTを補正したが、第2トルクセンサS2により検出されるトルクおよび第3トルクセンサS3により検出されるトルクを、第1トルクセンサS1の検出トルクTと同じように各軸の補正トルクを用いて補正してもよい。また、ロボット100は、上記実施形態と異なる関節(例えば、J4軸など)の軸線回りのトルクを検出するトルクセンサを備えていてもよい。
【0027】
また、本実施形態においては、補正部11または変動量推定部13は、それぞれがロボット100のアーム3,4上の任意の部品に設けられていてもよいし、ロボット100を制御するロボット制御装置の内部に設けられていてもよい。また、ロボット100のアーム3,4およびロボット制御装置を除いた周辺装置の内部に設けられていてもよいし、補正部11または変動量推定部13を別置きの制御部として設置し、ロボット制御装置と接続してもよい。補正部11または変動量推定部13は、それぞれ別の場所に設けてもよい。
【0028】
上記実施形態は、以下の本開示の各態様から導かれる。
本開示の一態様は、軸線回りに回転駆動する複数の関節と、複数の前記関節の内の1つである対象関節の軸線回りのトルクを検出するトルクセンサと、各前記関節の軸線回りの回転角度に関連する情報を検出する角度関連情報検出部と、検出された前記情報に基づいて、前記トルクセンサにより検出されたトルクの前記対象関節の軸線回りのトルク以外の負荷による変動量を推定するトルク変動量推定部と、推定された前記変動量を用いて前記トルクセンサにより検出されたトルクを補正する補正部とを備えるロボットを提供する。
【0029】
対象関節を軸線回りに回転駆動したり、対象関節の軸線回りに外力が加わったりすると、トルクセンサにより軸線回りのトルクが検出されるが、各関節が軸線回りに回転してロボットの姿勢が変化すると、対象関節の軸線回りのトルク以外の負荷が重畳されたトルクがトルクセンサにより検出される場合がある。
【0030】
本態様によれば、各関節が軸線回りに回転すると、角度関連情報検出部により、各関節の軸線回りの回転角度に関連する情報が検出され、検出された情報に基づいてトルク変動量推定部により、対象関節における軸線回りのトルク以外の負荷によるトルクの変動量が推定される。そして、トルクセンサにより検出されたトルクが、推定された変動量を用いて補正されることにより、対象関節の軸線回りのトルク以外の負荷が排除される。これにより、対象関節以外の関節にトルクセンサを配置しなくても、対象関節の軸線回りのトルクを精度よく取得して、ロボットを精度よく制御することができる。
【0031】
上記態様においては、前記情報が、各前記関節の軸線回りの回転角度であってもよい。
この構成により、角度関連情報検出部により各関節の回転角度が検出され、ロボットの姿勢の変化に応じて推定された負荷の変動量を用いてトルクを補正することができる。
【0032】
上記態様においては、前記情報が、各前記関節の軸線回りの角速度または角加速度であってもよい。
この構成により、角度関連情報検出部により各関節の角速度または角加速度が検出され、検出された角速度または角加速度に応じて負荷の変動量が推定される。
【0033】
上記態様においては、各前記関節を連結するロボット構成部品を備え、前記情報が、各前記関節の軸線回りの回転角度、角速度または角加速度と、前記ロボット構成部品の物理パラメータとから計算される各前記関節にかかる負荷情報であってもよい。
この構成により、角度関連情報検出部により、回転角度に関する情報として、検出された回転角度、角速度または角加速度とロボット構成部品の物理パラメータに基づいた慣性モーメント、引張力または圧縮力等の負荷情報が算出される。算出された負荷情報に基づいて、対象関節に加わる軸線回りのトルク以外の負荷が算出されることにより、対象関節の軸線回りのトルクを精度よく取得できる。
【0034】
上記態様においては、前記対象関節の軸線回りのトルク以外の負荷が、前記対象関節の軸線に直交する平面内に配置される直交軸線回りのトルクであってもよい。
上記態様においては、前記対象関節の軸線回りのトルク以外の負荷が、前記対象関節の軸線方向に作用する引張および圧縮方向の負荷であってもよい。
【0035】
上記態様においては、前記補正部が、前記対象関節の軸線回りのトルク以外の負荷が加わっていない状態において前記対象関節の軸線回りに前記対象関節を回転させたときに前記トルクセンサにより検出されたトルクと前記角度関連情報検出部により検出された前記対象関節の前記情報との関係を示すトルク特性に基づいて、前記トルクセンサにより検出されるトルクを補正してもよい。
【0036】
トルク特性は、対象関節の軸線回りのトルクが対象関節に加わっていない状態において角度関連情報検出部の検出値の変化に対するトルクの変動量を表している。すなわち、トルク特性は、トルクセンサ自体が備える検出誤差に起因した特性を表しているため、トルク特性を用いた検出トルクの補正が行われることにより、対象関節の軸線回りのトルクをさらに精度よく取得できる。