(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6193816
(24)【登録日】2017年8月18日
(45)【発行日】2017年9月6日
(54)【発明の名称】アームの退避機能を有する多関節ロボット
(51)【国際特許分類】
B25J 13/08 20060101AFI20170828BHJP
【FI】
B25J13/08 Z
【請求項の数】3
【全頁数】8
(21)【出願番号】特願2014-127617(P2014-127617)
(22)【出願日】2014年6月20日
(65)【公開番号】特開2016-7645(P2016-7645A)
(43)【公開日】2016年1月18日
【審査請求日】2016年3月15日
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100102819
【弁理士】
【氏名又は名称】島田 哲郎
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(74)【代理人】
【識別番号】100157211
【弁理士】
【氏名又は名称】前島 一夫
(74)【代理人】
【識別番号】100159684
【弁理士】
【氏名又は名称】田原 正宏
(72)【発明者】
【氏名】内藤 康広
(72)【発明者】
【氏名】有田 創一
【審査官】
臼井 卓巳
(56)【参考文献】
【文献】
特開2006−021287(JP,A)
【文献】
特開2010−120124(JP,A)
【文献】
特開2008−006517(JP,A)
【文献】
特開平10−177409(JP,A)
【文献】
特開2011−025367(JP,A)
【文献】
米国特許出願公開第2012/0130541(US,A1)
【文献】
米国特許出願公開第2014/0163735(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/16−19/06
(57)【特許請求の範囲】
【請求項1】
多関節ロボットであって、
前記多関節ロボットの姿勢に依らず、軸方向ベクトルの内積がゼロである第1の軸及び第2の軸と、
前記多関節ロボットを制御する制御装置と、
前記第1の軸回りの第1のトルク及び前記第2の軸回りの第2のトルクを検出するトルク検出部を有する1箇所又は1つのセンサと、を備え、
前記制御装置は、
前記トルク検出部が検出した前記第1のトルク及び前記第2のトルクから、前記多関節ロボットの質量及び動作によって生じるトルクを差し引くことにより、前記第1の軸回りの第1の外乱トルク及び前記第2の軸回りの第2の外乱トルクを計算する外乱トルク推定部と、
前記第1の外乱トルクが第1のトルク閾値を超えているときに、前記第1の外乱トルクを減少する方向に前記第1の軸を回転させる第1の動作指令を生成し、前記第2の外乱トルクが第2のトルク閾値を超えているときに、前記第2の外乱トルクを減少する方向に前記第2の軸を回転させる第2の動作指令を生成する退避動作指令部と、を有する、
多関節ロボット。
【請求項2】
前記センサは、該センサに作用する力を検出する力検出部をさらに有し、
前記制御装置は、前記力検出部が検出した力から、前記多関節ロボットの質量及び動作によって生じる力を差し引くことにより、前記多関節ロボットに作用する外力を推定する外力推定部を備え、
前記退避動作指令部は、前記第1の外乱トルクが前記第1のトルク閾値を超えているとき、かつ前記推定した外力が予め定めた外力閾値より小さいときに、前記第1の動作指令を生成し、前記第2の外乱トルクが前記第2のトルク閾値を超えているとき、かつ前記推定した外力が予め定めた外力閾値より小さいときに、前記第2の動作指令を生成する、請求項1に記載の多関節ロボット。
【請求項3】
前記退避動作指令部は、前記第1の軸の動作によって変位しない前記多関節ロボットの部位を前記外力閾値に相当する力で押したときの前記第1の軸回りの第1の外乱トルクの値を前記第1のトルク閾値として設定し、前記第2の軸の動作によって変位しない前記多関節ロボットの部位を前記外力閾値に相当する力で押したときの前記第2の軸回りの第2の外乱トルクの値を前記第2のトルク閾値として設定する、請求項2に記載の多関節ロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、少なくとも2つの軸を有し、アームの退避機能を備えた多関節ロボットに関する。
【背景技術】
【0002】
近年、安全柵等を用いず、人間と作業エリアを共有して稼動する協働ロボットの普及が進んでいる。このような協働ロボットには、人間の安全を確保するために、人間が協働ロボットに接近又は接触した場合にその動作を停止するように構成されているものがある。
【0003】
しかしながら、協働ロボットはその作業エリアを人間と共有しているため、停止しているロボットが人間の作業の妨げとなる場合があり、そのような場合はロボットを退避させることが望まれる。この退避の手段として、教示操作盤を用いた操作ではなく、より容易に、人間がロボットを直接押して動かせることが求められる場合がある。
【0004】
これに関連する従来技術として、特許文献1には、強い外力がロボットに作用したときに、ロボットの機構部を駆動するサーボモータが無理にこれに打ち勝とうとして大きなトルクを出力しないように、ソフトフローティングサーボ制御を利用する旨が記載されている。
【0005】
また特許文献2には、アームと該アームを駆動するモータの減速機との間に磁気式のトルクセンサを取り付け、操作者によりアームにかかる力(外乱)を正確に検出することを企図したアーム駆動装置が記載されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平08−071969号公報
【特許文献2】特開平10−291182号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1では、モータ電流を使って軸に作用するトルクを算出するが、このような方法では、算出されたトルクに摩擦の影響が含まれてしまい、正確なトルクが得られない場合がある。その結果、人間により押された方向や力を正しく検出できない場合がある。
【0008】
一方、特許文献2に記載のように、アーム毎にトルクセンサを設ける場合は、摩擦の影響を除去することは可能となるが、アーム(軸)の個数に応じた個数のトルクセンサが必要となるため、特に多関節ロボットでは、コスト増加となる。
【0009】
そこで本発明は、実質1つのセンサを用いてアームの適切な退避動作を実現した多関節ロボットを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するために、本願第1の発明は、多関節ロボットであって、前記多関節ロボットの姿勢に依らず、軸方向ベクトルの内積がゼロである第1の軸及び第2の軸と、前記多関節ロボットを制御する制御装置と、前記第1の軸回りの第1のトルク及び前記第2の軸回りの第2のトルクを検出するトルク検出部を有する
1箇所又は1つのセンサと、を備え、前記制御装置は、前記トルク検出部が検出した前記第1のトルク及び前記第2のトルクから、前記多関節ロボットの質量及び動作によって生じるトルクを差し引くことにより、前記第1の軸回りの第1の外乱トルク及び前記第2の軸回りの第2の外乱トルクを計算する外乱トルク推定部と、前記第1の外乱トルクが第1のトルク閾値を超えているときに、前記第1の外乱トルクを減少する方向に前記第1の軸を回転させる第1の動作指令を生成し、前記第2の外乱トルクが第2のトルク閾値を超えているときに、前記第2の外乱トルクを減少する方向に前記第2の軸を回転させる第2の動作指令を生成する退避動作指令部と、を有する、多関節ロボットを提供する。
【0011】
第2の発明は、第1の発明において、前記センサは、該センサに作用する力を検出する力検出部をさらに有し、前記制御装置は、前記力検出部が検出した力から、前記多関節ロボットの質量及び動作によって生じる力を差し引くことにより、前記多関節ロボットに作用する外力を推定する外力推定部を備え、前記退避動作指令部は、前記第1の外乱トルクが前記第1のトルク閾値を超えているとき、かつ前記推定した外力が予め定めた外力閾値より小さいときに、前記第1の動作指令を生成し、前記第2の外乱トルクが前記第2のトルク閾値を超えているとき、かつ前記推定した外力が予め定めた外力閾値より小さいときに、前記第2の動作指令を生成する、多関節ロボットを提供する。
【0012】
第3の発明は、第2の発明において、前記退避動作指令部は、前記第1の軸の動作によって変位しない前記多関節ロボットの部位を前記外力閾値に相当する力で押したときの前記第1の軸回りの第1の外乱トルクの値を前記第1のトルク閾値として設定し、前記第2の軸の動作によって変位しない前記多関節ロボットの部位を前記外力閾値に相当する力で押したときの前記第2の軸回りの第2の外乱トルクの値を前記第2のトルク閾値として設定する、多関節ロボットを提供する。
【発明の効果】
【0013】
本発明によれば、モータ電流を使用する場合よりも正確に各軸のトルク検出ができることに加え、実質1つ又は1箇所のセンサによって多関節ロボットの複数の軸の退避動作が可能となるので、軸毎にトルクセンサを設ける必要がなく、コスト低減が図れる。
【図面の簡単な説明】
【0014】
【
図1】本発明を適用可能な多関節ロボット機構部の概略構成例を示す図である。
【
図2】
図1のロボット機構部を制御する制御装置の一構成例を示す機能ブロック図である。
【
図3】
図1のロボット機構部を制御する制御装置の他の構成例を示す機能ブロック図である。
【
図4】
図1のロボット機構部において、作業者が押してもJ1軸の退避動作が生じない領域を示す図である。
【
図5】
図1のロボット機構部において、作業者が押してもJ2軸の退避動作が生じない領域を示す図である。
【発明を実施するための形態】
【0015】
図1は、本発明を適用可能な多関節ロボット(機構部)10の概略構成例を示す図である。ロボット10は、基部(J1ベース)12と、基部12に設けられ、第1の軸線(J1軸)14回りに回転可能な旋回胴(J2ベース)16と、旋回胴16に設けられ、第2の軸線(J2軸)18回りに回転可能な上腕(J2アーム)20とを有し、J1軸14とJ2軸18は、それらの軸方向ベクトルの内積が、ロボット10の姿勢に依らず常にゼロとなるように構成・配置されている。つまりJ1軸14とJ2軸18は、互いに直交してもよいし、
図1に示すように互いにねじれの関係にありかつ軸方向ベクトルが90度をなすように配置されてもよい。なお
図1に示すように、ロボット10は、上腕20の先端に設けられ、第3の軸線(J3軸)22回りに回転可能な前腕(J3アーム)24をさらに有してもよいが、これは必須ではない。
【0016】
図2は、
図1のロボット機構部10を制御する制御装置26の一構成例を示す機能ブロック図である。
図1に示すように、ロボット機構部10は、J1ベース12の下方に取り付けられたセンサ30を有し、センサ30は、J1軸14回りの第1のトルク及びJ2軸18回りの第2のトルクを検出するトルク検出部32を有する(
図2)。トルク検出部32は、互いに直交する少なくとも2軸の回りのトルクをそれぞれ検出でき、例えば互いに直交するX,Y,Z軸回りのトルクを検出できるトルクセンサである。また上述のように、J1軸14とJ2軸18は、それらの軸方向ベクトルの内積が常にゼロとなるように構成されているので、各軸にトルク検出部を設ける必要はなく、実質1箇所に実質1つのセンサを設けることで第1のトルク及び第2のトルクの双方を検出することができる。
【0017】
なお
図1の例では、センサ30(トルク検出部)はJ1ベース12の下方に取り付けられているが、J1軸14回りの第1のトルク及びJ2軸18回りの第2のトルクを検出できるのであればロボット機構部10のどの位置に設けられてもよい。具体的には、センサ30はJ1軸よりもロボット10のベース側に設けられ、例えばJ2ベース16とJ1ベース12との間に設けてもよい。
【0018】
図2に示すように、制御装置26は、トルク検出部32が検出した第1のトルク及び第2のトルクから、ロボット10の質量及び動作によって生じるトルクを計算してこれを差し引くことにより、J1軸回りの第1の外乱トルク及びJ2軸回りの第2の外乱トルクを推定(計算)する外乱トルク推定部34を有する。ここでロボット10の質量及び動作によって生じるトルクは、ロボット10の各部の寸法及び質量、並びに各軸の速度及び加速度等から計算することができる。このようなトルク推定手段自体は周知であり、例えば本願と同一出願人の特開2005−293098号公報にその類似例が記載されている。
【0019】
また制御装置26は、第1の外乱トルクが第1のトルク閾値を超えているときに、第1の外乱トルクを減少する方向にJ1軸を回転させる第1の動作指令を生成し、第2の外乱トルクが第2のトルク閾値を超えているときに、第2の外乱トルクを減少する方向にJ2軸を回転させる第2の動作指令を生成する退避動作指令部36を有する。ここで第1のトルク閾値は、例えば、ロボット10が人間と作業エリアを共有して動作する協働ロボットである場合に、該作業エリア内に居る人間(作業者等)が自らの作業を行いやすくするために、ロボット10の一部(例えばJ2ベース16)を一定距離退避させるべくロボットの一部を押したときにJ1軸に作用するトルク値として設定される。すなわち、このような場合は、第1の動作指令によって、第1の外乱トルクを減少する方向にJ1軸が回転(退避動作)するので、作業者によって押されたロボット10の部分が退避し、作業者は教示操作盤等を使用せずとも作業を容易に行うことができるようになる。
【0020】
同様に、第2のトルク閾値は、例えば、ロボット10が人間と作業エリアを共有して動作する協働ロボットである場合に、該作業エリア内に居る人間(作業者等)が自らの作業を行いやすくするために、ロボット10の一部(例えばJ2アーム20)を一定距離退避させるべくロボットの一部を押したときにJ2軸に作用するトルク値として設定される。すなわち、このような場合も、第2の動作指令によって、第2の外乱トルクを減少する方向にJ2軸が回転(退避動作)するので、作業者によって押されたロボット10の部分が退避し、作業者は教示操作盤等を使用せずとも作業を容易に行うことができるようになる。
【0021】
このように、本願発明では、作業者がロボットを押して退避動作を行わせる場合に、1つ(1箇所)のセンサによって複数の軸の退避動作が可能となるので、軸毎にトルクセンサを設ける必要がなく、コスト低減が図れる。
【0022】
図3は、
図1のロボット機構部10を制御する制御装置の他の構成例を示す機能ブロック図である。
図3に示す制御装置26′は、
図2に示した外乱トルク推定部34及び退避動作指令部36に加え、センサ30に作用する外力を推定する外力推定部38をさらに有する。またこの場合、センサ30は、
図2に示したトルク検出部32に加え、センサ30に作用する力を検出する力検出部40を有する。
図3におけるセンサ30としては、例えば6軸の力センサや力覚センサが使用可能であり、このようなセンサは市販入手可能である。6軸の力センサや力覚センサを使用する場合、モータ電流を使用する場合よりもより正確に各軸のトルクを検出することができる。
【0023】
図3の例では、センサ30はトルク検出機能と力検出機能の双方を備えており、外力推定部38は、センサ30(力検出部40)により検出された力から、ロボット10の質量及び動作によってセンサ30に作用する力を計算してこれを差し引くことにより、ロボット10に作用する外力を推定する。ここでロボット10の質量及び動作によって生じる力は、ロボット10の各部の寸法及び質量、並びに各軸の速度及び加速度等から計算することができる。このような外力推定手段自体は周知であるので、詳細な説明は省略する。
【0024】
退避動作指令部36は、外乱トルク推定部34が推定したJ1軸回りの第1の外乱トルクが第1のトルク閾値を超えており、かつ、外力推定部38が推定した外力が予め定めた外力閾値より小さい場合に、第1の外乱トルクを減少する方向にJ1軸を回転させる第1の動作指令を生成する。また退避動作指令部36は、外乱トルク推定部34が推定したJ2軸回りの第2の外乱トルクが第2のトルク閾値を超えており、かつ、外力推定部38が推定した外力が予め定めた外力閾値より小さい場合に、第2の外乱トルクを減少する方向にJ2軸を回転させる第2の動作指令を生成する。
【0025】
退避動作中のロボットが作業者や周辺物に衝突した場合等は、ロボットが退避動作を続けると作業者に危害が加わったりロボット又は周辺物が損傷したりする虞があるが、
図3の例では、第1又は第2の外乱トルクがそれぞれのトルク閾値を超えていても、外力が所定の外力閾値を超えている場合は退避動作が行われない。つまり外力閾値は、作業者が退避動作のためにロボットに通常加える範囲の力を超えており、作業者や周辺物に加わると危険と判断される範囲の力として、予め経験的に定めることができる。従って
図3のような制御装置26′を使用した場合、ロボットが退避動作を開始又は続行することが好ましくない場合を自動的に検知してこれを回避することができる。
【0026】
図3に示した制御装置26′のように、ロボット10の各軸の退避動作の可否の判断において、各軸のトルク値とロボットに作用する外力の双方を使用する場合、作業者がロボット10のどの部位を押したか(より具体的には、作業者が押した部位とセンサ30との距離)をその判断基準に加えることが有利な場合がある。以下、その具体例を
図4及び
図5を参照しつつ説明する。
【0027】
例えば、
図1のロボット10において、作業者がJ1ベース12を押した場合でも、J1軸回りの第1の外乱トルクを一定の値以上にすることは可能なので、J1軸の退避動作(旋回胴16の回転)が生じ得る。しかし、J1ベース12は旋回胴16が回転しても変位しないので、この退避動作は作業者が意図していない動作といえる。
【0028】
そこで、上述の外力閾値をFとした場合に、J1軸のトルク閾値(第1のトルク閾値)を、J1軸の動作によって変位しないロボット10の部位(J1ベース12やセンサ30)をFに相当する力で押したときの、第1の外乱トルクの値の最大値とする。すなわち、J1軸14から最も離れたセンサ30の部分(
図4において、J1軸14を中心としセンサ30が内接する円柱領域42の外表面)を、J1軸回りの回転についての接線方向(J1軸の回転方向)に力Fで押したときの外乱トルクが、第1のトルク閾値として設定される。このようにすると、J1ベース12やセンサ30を押す力がF以下であれば、第1の外乱トルクが第1のトルク閾値を超えることがないので、J1軸回りの退避動作は行われない。一方、J1ベース12やセンサ30を押す力がFより大きければ、ロボット10に作用する力が外力閾値Fを超えることになるので、やはり退避動作は行われない。
【0029】
従って、J1軸回りの退避動作を行うためには、作業者は、センサ30から所定距離離れた(
図4の例では、J1軸14から円柱42の半径よりも大きい距離)離れたロボット10の部分(つまり領域42より外側の部分)を押す必要がある。例えば、作業者が領域42外の上腕20を押した場合は、外力閾値Fよりも小さい力で、第1の外乱トルクが第1のトルク閾値を超えるような押し方が可能であるので、J1軸回りの退避動作を行うことができる。
【0030】
図4はJ1軸回りの退避動作の例を示しているが、
図5はJ2軸回りの退避動作の例を示している。例えば、作業者が旋回胴16を押した場合でも、J2軸回りの第2の外乱トルクを一定の値以上にすることは可能なので、J2軸の退避動作(上腕20回転)が生じ得る。しかし、旋回胴16は上腕20が回転しても変位しないので、この退避動作は作業者が意図していない動作といえる。
【0031】
そこで、上述の外力閾値をFとした場合に、J2軸のトルク閾値(第2のトルク閾値)を、J1ベース12、センサ30、又は旋回胴16をFに相当する力で押したときの、第2の外乱トルクの値の最大値とする。すなわち、J2軸18から最も離れたセンサ30の部分(
図5において、センサ30(の重心又は代表点)を中心とし、旋回胴16(J2軸回りの回転動作によって変位しない部分)が内接する円柱領域44の外表面)を、J2軸回りの回転についての接線方向にFに相当する力で押したときの外乱トルクを、第2のトルク閾値として設定する。このようにすると、J1ベース12、センサ30又は旋回胴16を押す力がF以下であれば、第2の外乱トルクが第2のトルク閾値を超えることがないので、J2軸回りの退避動作は行われない。一方、J1ベース12、センサ30又は旋回胴16を押す力がFより大きければ、ロボット10に作用する力が外力閾値Fより大きいことになるので、やはり退避動作は行われない。
【0032】
このように、J1軸回りの回転動作によって変位しない部分を含む領域42を設定することにより、領域42内の部分を押してもJ1軸の退避動作をせず、領域42の外側の部分を押した場合にのみJ1軸の退避動作を行うことができる。同様に、J2軸回りの回転動作によって変位しない部分を含む領域44を設定することにより、領域44内の部分を押してもJ2軸の退避動作をせず、領域44の外側の部分を押した場合にのみJ2軸の退避動作を行うことができる。このような構成は、作業者が押した部位によっていずれの軸の退避動作を行うかを的確かつ自動的に判別することができ、センサと回転軸(J1,J2軸等)が離れている場合に特に有効である。また
図4及び
図5の例はもちろん組み合わせることも可能である。
【符号の説明】
【0033】
10 ロボット機構部
12 基部
14 J1軸
16 旋回胴
18 J2軸
20 上腕
22 J3軸
24 前腕
26 制御装置
30 センサ
32 トルク検出部
34 外乱トルク推定部
38 外力推定部
40 力検出部