(57)【要約】【課題】実質１つのセンサを用いてアームの適切な退避動作を実現した多関節ロボットの提供。【解決手段】制御装置２６は、トルク検出部３２が検出した第１のトルク及び第２のトルクから、ロボット１０の質量及び動作によって生じるトルクを計算してこれを差し引くことにより、第１の外乱トルク及び第２の外乱トルクを推定する外乱トルク推定部３４と、各外乱トルクがそれぞれのトルク閾値を超えているときに、外乱トルクを減少する方向に対応する軸を回転させる動作指令を生成する退避動作指令部３６を有する。該動作指令によって、Ｊ１軸又はＪ２軸が退避動作をするので、作業者によって押されたロボット１０の部分が退避し、作業者は教示操作盤等を使用せずとも作業を容易に行うことができるようになる。【選択図】図２
2016007645.tif 000002
【特許請求の範囲】
【請求項１】
多関節ロボットであって、
前記多関節ロボットの姿勢に依らず、軸方向ベクトルの内積がゼロである第１の軸及び第２の軸と、
前記多関節ロボットを制御する制御装置と、
前記第１の軸回りの第１のトルク及び前記第２の軸回りの第２のトルクを検出するトルク検出部を有するセンサと、を備え、
前記制御装置は、
前記トルク検出部が検出した前記第１のトルク及び前記第２のトルクから、前記多関節ロボットの質量及び動作によって生じるトルクを差し引くことにより、前記第１の軸回りの第１の外乱トルク及び前記第２の軸回りの第２の外乱トルクを計算する外乱トルク推定部と、
前記第１の外乱トルクが第１のトルク閾値を超えているときに、前記第１の外乱トルクを減少する方向に前記第１の軸を回転させる第１の動作指令を生成し、前記第２の外乱トルクが第２のトルク閾値を超えているときに、前記第２の外乱トルクを減少する方向に前記第２の軸を回転させる第２の動作指令を生成する退避動作指令部と、を有する、
多関節ロボット。
【請求項２】
前記センサは、該センサに作用する力を検出する力検出部をさらに有し、
前記制御装置は、前記力検出部が検出した力から、前記多関節ロボットの質量及び動作によって生じる力を差し引くことにより、前記多関節ロボットに作用する外力を推定する外力推定部を備え、
前記退避動作指令部は、前記第１の外乱トルクが前記第１のトルク閾値を超えているとき、かつ前記推定した外力が予め定めた外力閾値より小さいときに、前記第１の動作指令を生成し、前記第２の外乱トルクが前記第２のトルク閾値を超えているとき、かつ前記推定した外力が予め定めた外力閾値より小さいときに、前記第２の動作指令を生成する、請求項１に記載の多関節ロボット。
【請求項３】
前記退避動作指令部は、前記第１の軸の動作によって変位しない前記多関節ロボットの部位を前記外力閾値に相当する力で押したときの前記第１の軸回りの第１の外乱トルクの値を前記第１のトルク閾値として設定し、前記第２の軸の動作によって変位しない前記多関節ロボットの部位を前記外力閾値に相当する力で押したときの前記第２の軸回りの第２の外乱トルクの値を前記第２のトルク閾値として設定する、請求項２に記載の多関節ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも２つの軸を有し、アームの退避機能を備えた多関節ロボットに関する。
【背景技術】
【０００２】
近年、安全柵等を用いず、人間と作業エリアを共有して稼動する協働ロボットの普及が進んでいる。このような協働ロボットには、人間の安全を確保するために、人間が協働ロボットに接近又は接触した場合にその動作を停止するように構成されているものがある。
【０００３】
しかしながら、協働ロボットはその作業エリアを人間と共有しているため、停止しているロボットが人間の作業の妨げとなる場合があり、そのような場合はロボットを退避させることが望まれる。この退避の手段として、教示操作盤を用いた操作ではなく、より容易に、人間がロボットを直接押して動かせることが求められる場合がある。
【０００４】
これに関連する従来技術として、特許文献１には、強い外力がロボットに作用したときに、ロボットの機構部を駆動するサーボモータが無理にこれに打ち勝とうとして大きなトルクを出力しないように、ソフトフローティングサーボ制御を利用する旨が記載されている。
【０００５】
また特許文献２には、アームと該アームを駆動するモータの減速機との間に磁気式のトルクセンサを取り付け、操作者によりアームにかかる力（外乱）を正確に検出することを企図したアーム駆動装置が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平０８−０７１９６９号公報
【特許文献２】特開平１０−２９１１８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１では、モータ電流を使って軸に作用するトルクを算出するが、このような方法では、算出されたトルクに摩擦の影響が含まれてしまい、正確なトルクが得られない場合がある。その結果、人間により押された方向や力を正しく検出できない場合がある。
【０００８】
一方、特許文献２に記載のように、アーム毎にトルクセンサを設ける場合は、摩擦の影響を除去することは可能となるが、アーム（軸）の個数に応じた個数のトルクセンサが必要となるため、特に多関節ロボットでは、コスト増加となる。
【０００９】
そこで本発明は、実質１つのセンサを用いてアームの適切な退避動作を実現した多関節ロボットを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本願第１の発明は、多関節ロボットであって、前記多関節ロボットの姿勢に依らず、軸方向ベクトルの内積がゼロである第１の軸及び第２の軸と、前記多関節ロボットを制御する制御装置と、前記第１の軸回りの第１のトルク及び前記第２の軸回りの第２のトルクを検出するトルク検出部を有するセンサと、を備え、前記制御装置は、前記トルク検出部が検出した前記第１のトルク及び前記第２のトルクから、前記多関節ロボットの質量及び動作によって生じるトルクを差し引くことにより、前記第１の軸回りの第１の外乱トルク及び前記第２の軸回りの第２の外乱トルクを計算する外乱トルク推定部と、前記第１の外乱トルクが第１のトルク閾値を超えているときに、前記第１の外乱トルクを減少する方向に前記第１の軸を回転させる第１の動作指令を生成し、前記第２の外乱トルクが第２のトルク閾値を超えているときに、前記第２の外乱トルクを減少する方向に前記第２の軸を回転させる第２の動作指令を生成する退避動作指令部と、を有する、多関節ロボットを提供する。
【００１１】
第２の発明は、第１の発明において、前記センサは、該センサに作用する力を検出する力検出部をさらに有し、前記制御装置は、前記力検出部が検出した力から、前記多関節ロボットの質量及び動作によって生じる力を差し引くことにより、前記多関節ロボットに作用する外力を推定する外力推定部を備え、前記退避動作指令部は、前記第１の外乱トルクが前記第１のトルク閾値を超えているとき、かつ前記推定した外力が予め定めた外力閾値より小さいときに、前記第１の動作指令を生成し、前記第２の外乱トルクが前記第２のトルク閾値を超えているとき、かつ前記推定した外力が予め定めた外力閾値より小さいときに、前記第２の動作指令を生成する、多関節ロボットを提供する。
【００１２】
第３の発明は、第２の発明において、前記退避動作指令部は、前記第１の軸の動作によって変位しない前記多関節ロボットの部位を前記外力閾値に相当する力で押したときの前記第１の軸回りの第１の外乱トルクの値を前記第１のトルク閾値として設定し、前記第２の軸の動作によって変位しない前記多関節ロボットの部位を前記外力閾値に相当する力で押したときの前記第２の軸回りの第２の外乱トルクの値を前記第２のトルク閾値として設定する、多関節ロボットを提供する。
【発明の効果】
【００１３】
本発明によれば、モータ電流を使用する場合よりも正確に各軸のトルク検出ができることに加え、実質１つ又は１箇所のセンサによって多関節ロボットの複数の軸の退避動作が可能となるので、軸毎にトルクセンサを設ける必要がなく、コスト低減が図れる。
【図面の簡単な説明】
【００１４】
【図１】本発明を適用可能な多関節ロボット機構部の概略構成例を示す図である。
【図２】図１のロボット機構部を制御する制御装置の一構成例を示す機能ブロック図である。
【図３】図１のロボット機構部を制御する制御装置の他の構成例を示す機能ブロック図である。
【図４】図１のロボット機構部において、作業者が押してもＪ１軸の退避動作が生じない領域を示す図である。
【図５】図１のロボット機構部において、作業者が押してもＪ２軸の退避動作が生じない領域を示す図である。
【発明を実施するための形態】
【００１５】
図１は、本発明を適用可能な多関節ロボット（機構部）１０の概略構成例を示す図である。ロボット１０は、基部（Ｊ１ベース）１２と、基部１２に設けられ、第１の軸線（Ｊ１軸）１４回りに回転可能な旋回胴（Ｊ２ベース）１６と、旋回胴１６に設けられ、第２の軸線（Ｊ２軸）１８回りに回転可能な上腕（Ｊ２アーム）２０とを有し、Ｊ１軸１４とＪ２軸１８は、それらの軸方向ベクトルの内積が、ロボット１０の姿勢に依らず常にゼロとなるように構成・配置されている。つまりＪ１軸１４とＪ２軸１８は、互いに直交してもよいし、図１に示すように互いにねじれの関係にありかつ軸方向ベクトルが９０度をなすように配置されてもよい。なお図１に示すように、ロボット１０は、上腕２０の先端に設けられ、第３の軸線（Ｊ３軸）２２回りに回転可能な前腕（Ｊ３アーム）２４をさらに有してもよいが、これは必須ではない。
【００１６】
図２は、図１のロボット機構部１０を制御する制御装置２６の一構成例を示す機能ブロック図である。図１に示すように、ロボット機構部１０は、Ｊ１ベース１２の下方に取り付けられたセンサ３０を有し、センサ３０は、Ｊ１軸１４回りの第１のトルク及びＪ２軸１８回りの第２のトルクを検出するトルク検出部３２を有する（図２）。トルク検出部３２は、互いに直交する少なくとも２軸の回りのトルクをそれぞれ検出でき、例えば互いに直交するＸ，Ｙ，Ｚ軸回りのトルクを検出できるトルクセンサである。また上述のように、Ｊ１軸１４とＪ２軸１８は、それらの軸方向ベクトルの内積が常にゼロとなるように構成されているので、各軸にトルク検出部を設ける必要はなく、実質１箇所に実質１つのセンサを設けることで第１のトルク及び第２のトルクの双方を検出することができる。
【００１７】
なお図１の例では、センサ３０（トルク検出部）はＪ１ベース１２の下方に取り付けられているが、Ｊ１軸１４回りの第１のトルク及びＪ２軸１８回りの第２のトルクを検出できるのであればロボット機構部１０のどの位置に設けられてもよい。具体的には、センサ３０はＪ１軸よりもロボット１０のベース側に設けられ、例えばＪ２ベース１６とＪ１ベース１２との間に設けてもよい。
【００１８】
図２に示すように、制御装置２６は、トルク検出部３２が検出した第１のトルク及び第２のトルクから、ロボット１０の質量及び動作によって生じるトルクを計算してこれを差し引くことにより、Ｊ１軸回りの第１の外乱トルク及びＪ２軸回りの第２の外乱トルクを推定（計算）する外乱トルク推定部３４を有する。ここでロボット１０の質量及び動作によって生じるトルクは、ロボット１０の各部の寸法及び質量、並びに各軸の速度及び加速度等から計算することができる。このようなトルク推定手段自体は周知であり、例えば本願と同一出願人の特開２００５−２９３０９８号公報にその類似例が記載されている。
【００１９】
また制御装置２６は、第１の外乱トルクが第１のトルク閾値を超えているときに、第１の外乱トルクを減少する方向にＪ１軸を回転させる第１の動作指令を生成し、第２の外乱トルクが第２のトルク閾値を超えているときに、第２の外乱トルクを減少する方向にＪ２軸を回転させる第２の動作指令を生成する退避動作指令部３６を有する。ここで第１のトルク閾値は、例えば、ロボット１０が人間と作業エリアを共有して動作する協働ロボットである場合に、該作業エリア内に居る人間（作業者等）が自らの作業を行いやすくするために、ロボット１０の一部（例えばＪ２ベース１６）を一定距離退避させるべくロボットの一部を押したときにＪ１軸に作用するトルク値として設定される。すなわち、このような場合は、第１の動作指令によって、第１の外乱トルクを減少する方向にＪ１軸が回転（退避動作）するので、作業者によって押されたロボット１０の部分が退避し、作業者は教示操作盤等を使用せずとも作業を容易に行うことができるようになる。
【００２０】
同様に、第２のトルク閾値は、例えば、ロボット１０が人間と作業エリアを共有して動作する協働ロボットである場合に、該作業エリア内に居る人間（作業者等）が自らの作業を行いやすくするために、ロボット１０の一部（例えばＪ２アーム２０）を一定距離退避させるべくロボットの一部を押したときにＪ２軸に作用するトルク値として設定される。すなわち、このような場合も、第２の動作指令によって、第２の外乱トルクを減少する方向にＪ２軸が回転（退避動作）するので、作業者によって押されたロボット１０の部分が退避し、作業者は教示操作盤等を使用せずとも作業を容易に行うことができるようになる。
【００２１】
このように、本願発明では、作業者がロボットを押して退避動作を行わせる場合に、１つ（１箇所）のセンサによって複数の軸の退避動作が可能となるので、軸毎にトルクセンサを設ける必要がなく、コスト低減が図れる。
【００２２】
図３は、図１のロボット機構部１０を制御する制御装置の他の構成例を示す機能ブロック図である。図３に示す制御装置２６′は、図２に示した外乱トルク推定部３４及び退避動作指令部３６に加え、センサ３０に作用する外力を推定する外力推定部３８をさらに有する。またこの場合、センサ３０は、図２に示したトルク検出部３２に加え、センサ３０に作用する力を検出する力検出部４０を有する。図３におけるセンサ３０としては、例えば６軸の力センサや力覚センサが使用可能であり、このようなセンサは市販入手可能である。６軸の力センサや力覚センサを使用する場合、モータ電流を使用する場合よりもより正確に各軸のトルクを検出することができる。
【００２３】
図３の例では、センサ３０はトルク検出機能と力検出機能の双方を備えており、外力推定部３８は、センサ３０（力検出部４０）により検出された力から、ロボット１０の質量及び動作によってセンサ３０に作用する力を計算してこれを差し引くことにより、ロボット１０に作用する外力を推定する。ここでロボット１０の質量及び動作によって生じる力は、ロボット１０の各部の寸法及び質量、並びに各軸の速度及び加速度等から計算することができる。このような外力推定手段自体は周知であるので、詳細な説明は省略する。
【００２４】
退避動作指令部３６は、外乱トルク推定部３４が推定したＪ１軸回りの第１の外乱トルクが第１のトルク閾値を超えており、かつ、外力推定部３８が推定した外力が予め定めた外力閾値より小さい場合に、第１の外乱トルクを減少する方向にＪ１軸を回転させる第１の動作指令を生成する。また退避動作指令部３６は、外乱トルク推定部３４が推定したＪ２軸回りの第２の外乱トルクが第２のトルク閾値を超えており、かつ、外力推定部３８が推定した外力が予め定めた外力閾値より小さい場合に、第２の外乱トルクを減少する方向にＪ２軸を回転させる第２の動作指令を生成する。
【００２５】
退避動作中のロボットが作業者や周辺物に衝突した場合等は、ロボットが退避動作を続けると作業者に危害が加わったりロボット又は周辺物が損傷したりする虞があるが、図３の例では、第１又は第２の外乱トルクがそれぞれのトルク閾値を超えていても、外力が所定の外力閾値を超えている場合は退避動作が行われない。つまり外力閾値は、作業者が退避動作のためにロボットに通常加える範囲の力を超えており、作業者や周辺物に加わると危険と判断される範囲の力として、予め経験的に定めることができる。従って図３のような制御装置２６′を使用した場合、ロボットが退避動作を開始又は続行することが好ましくない場合を自動的に検知してこれを回避することができる。
【００２６】
図３に示した制御装置２６′のように、ロボット１０の各軸の退避動作の可否の判断において、各軸のトルク値とロボットに作用する外力の双方を使用する場合、作業者がロボット１０のどの部位を押したか（より具体的には、作業者が押した部位とセンサ３０との距離）をその判断基準に加えることが有利な場合がある。以下、その具体例を図４及び図５を参照しつつ説明する。
【００２７】
例えば、図１のロボット１０において、作業者がＪ１ベース１２を押した場合でも、Ｊ１軸回りの第１の外乱トルクを一定の値以上にすることは可能なので、Ｊ１軸の退避動作（旋回胴１６の回転）が生じ得る。しかし、Ｊ１ベース１２は旋回胴１６が回転しても変位しないので、この退避動作は作業者が意図していない動作といえる。
【００２８】
そこで、上述の外力閾値をＦとした場合に、Ｊ１軸のトルク閾値（第１のトルク閾値）を、Ｊ１軸の動作によって変位しないロボット１０の部位（Ｊ１ベース１２やセンサ３０）をＦに相当する力で押したときの、第１の外乱トルクの値の最大値とする。すなわち、Ｊ１軸１４から最も離れたセンサ３０の部分（図４において、Ｊ１軸１４を中心としセンサ３０が内接する円柱領域４２の外表面）を、Ｊ１軸回りの回転についての接線方向（Ｊ１軸の回転方向）に力Ｆで押したときの外乱トルクが、第１のトルク閾値として設定される。このようにすると、Ｊ１ベース１２やセンサ３０を押す力がＦ以下であれば、第１の外乱トルクが第１のトルク閾値を超えることがないので、Ｊ１軸回りの退避動作は行われない。一方、Ｊ１ベース１２やセンサ３０を押す力がＦより大きければ、ロボット１０に作用する力が外力閾値Ｆを超えることになるので、やはり退避動作は行われない。
【００２９】
従って、Ｊ１軸回りの退避動作を行うためには、作業者は、センサ３０から所定距離離れた（図４の例では、Ｊ１軸１４から円柱４２の半径よりも大きい距離）離れたロボット１０の部分（つまり領域４２より外側の部分）を押す必要がある。例えば、作業者が領域４２外の上腕２０を押した場合は、外力閾値Ｆよりも小さい力で、第１の外乱トルクが第１のトルク閾値を超えるような押し方が可能であるので、Ｊ１軸回りの退避動作を行うことができる。
【００３０】
図４はＪ１軸回りの退避動作の例を示しているが、図５はＪ２軸回りの退避動作の例を示している。例えば、作業者が旋回胴１６を押した場合でも、Ｊ２軸回りの第２の外乱トルクを一定の値以上にすることは可能なので、Ｊ２軸の退避動作（上腕２０回転）が生じ得る。しかし、旋回胴１６は上腕２０が回転しても変位しないので、この退避動作は作業者が意図していない動作といえる。
【００３１】
そこで、上述の外力閾値をＦとした場合に、Ｊ２軸のトルク閾値（第２のトルク閾値）を、Ｊ１ベース１２、センサ３０、又は旋回胴１６をＦに相当する力で押したときの、第２の外乱トルクの値の最大値とする。すなわち、Ｊ２軸１８から最も離れたセンサ３０の部分（図５において、センサ３０（の重心又は代表点）を中心とし、旋回胴１６（Ｊ２軸回りの回転動作によって変位しない部分）が内接する円柱領域４４の外表面）を、Ｊ２軸回りの回転についての接線方向にＦに相当する力で押したときの外乱トルクを、第２のトルク閾値として設定する。このようにすると、Ｊ１ベース１２、センサ３０又は旋回胴１６を押す力がＦ以下であれば、第２の外乱トルクが第２のトルク閾値を超えることがないので、Ｊ２軸回りの退避動作は行われない。一方、Ｊ１ベース１２、センサ３０又は旋回胴１６を押す力がＦより大きければ、ロボット１０に作用する力が外力閾値Ｆより大きいことになるので、やはり退避動作は行われない。
【００３２】
このように、Ｊ１軸回りの回転動作によって変位しない部分を含む領域４２を設定することにより、領域４２内の部分を押してもＪ１軸の退避動作をせず、領域４２の外側の部分を押した場合にのみＪ１軸の退避動作を行うことができる。同様に、Ｊ２軸回りの回転動作によって変位しない部分を含む領域４４を設定することにより、領域４４内の部分を押してもＪ２軸の退避動作をせず、領域４４の外側の部分を押した場合にのみＪ２軸の退避動作を行うことができる。このような構成は、作業者が押した部位によっていずれの軸の退避動作を行うかを的確かつ自動的に判別することができ、センサと回転軸（Ｊ１，Ｊ２軸等）が離れている場合に特に有効である。また図４及び図５の例はもちろん組み合わせることも可能である。
【符号の説明】
【００３３】
１０    ロボット機構部
１２    基部
１４    Ｊ１軸
１６    旋回胴
１８    Ｊ２軸
２０    上腕
２２    Ｊ３軸
２４    前腕
２６    制御装置
３０    センサ
３２    トルク検出部
３４    外乱トルク推定部
３８    外力推定部
４０    力検出部
【図１】
2016007645.tif 000003
【図２】
2016007645.tif 000004
【図３】
2016007645.tif 000005
【図４】
2016007645.tif 000006
【図５】
2016007645.tif 000007