(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-20
(45)【発行日】2022-09-29
(54)【発明の名称】ロボットの制御装置
(51)【国際特許分類】
B25J 19/06 20060101AFI20220921BHJP
【FI】
B25J19/06
(21)【出願番号】P 2018164762
(22)【出願日】2018-09-03
【審査請求日】2021-07-29
(73)【特許権者】
【識別番号】000000974
【氏名又は名称】川崎重工業株式会社
(74)【代理人】
【識別番号】110000556
【氏名又は名称】特許業務法人 有古特許事務所
(72)【発明者】
【氏名】宗藤 康治
(72)【発明者】
【氏名】亀山 篤
【審査官】亀田 貴志
(56)【参考文献】
【文献】特開2017-177321(JP,A)
【文献】特開2012-006132(JP,A)
【文献】国際公開第2017/094240(WO,A1)
【文献】特開2015-074052(JP,A)
【文献】特開平07-200016(JP,A)
【文献】特開平09-319420(JP,A)
【文献】特開2001-225287(JP,A)
【文献】特表2015-526116(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
(57)【特許請求の範囲】
【請求項1】
第1のロボットアーム及び第2のロボットアームを有するロボットの動作を制御する制御装置であって、
前記第1のロボットアームの先端と
前記第2のロボットアームの先端との間の距離を算出する距離算出部と、
前記距離算出部により算出された前記距離が所定値以下であるか否かを監視する距離監視部と、
を備
え、
前記制御装置は、前記距離算出部により算出された前記距離が前記所定値以下である場合には、前記第1のロボットアームに含まれる1つ以上の関節それぞれを駆動する1つ以上の第1のモータと、前記第2のロボットアームに含まれる1つ以上の関節それぞれを駆動する1つ以上の第2のモータとのうちの全てのモータの動作速度が第1の所定速度を超えないように、前記ロボットアームの動作を制御する、
ロボットの制御装置。
【請求項2】
前記距離算出部により算出された前記距離が前記所定値以下である場合には、前記第1のロボットアーム及び
前記第2のロボットアームの動作速度が
第2の所定速度を超えないように前記ロボットアームの動作を制御する、請求項1に記載のロボットの制御装置。
【請求項3】
前記距離算出部により算出された前記距離が前記所定値以下である場合に、前記第1のロボットアーム及び
前記第2のロボットアーム
それぞれの動作速度が前記
第2の所定速度を超えたか否かを監視する速度監視部を更に備え、
前記第1のロボットアーム及び前記第2のロボットアームの少なくとも一方の動作速度が前記
第2の所定速度を超えた場合は、前記第1のロボットアーム及び
前記第2のロボットアームの動作を停止させる、請求項2に記載のロボットの制御装置。
【請求項4】
前記第1のロボットアームの先端及び前記第2のロボットアームの先端に作用する外力を検出する外力検出部と、
前記距離算出部により算出された前記距離が
前記所定値以下である場合に、前記外力検出部によって検出された外力に基づいて、所定の監視基準で衝突を検知する力監視部と、
を更に備え、
衝突が検知された場合は、前記第1のロボットアーム及び前記第2のロボットアームの動作を停止させる、請求項1乃至3のいずれか一項に記載のロボットの制御装置。
【請求項5】
前記第1のロボットアームの先端及び前記第2のロボットアームの先端に作用する外力を検出する外力検出部と、
前記距離算出部により算出された前記距離が
前記所定値よりも大きい場合に、前記外力検出部によって検出された外力に基づいて、第1の監視基準で衝突を検知するとともに、前記距離算出部により算出された前記距離が
前記所定値以下である場合に、前記外力検出部によって検出された外力に基づいて、前記第1の監視基準とは異なる監視基準である第2の監視基準で衝突を検知する力監視部と、
を更に備え、
衝突が検知された場合は、前記第1のロボットアーム及び前記第2のロボットアームの動作を停止させる、請求項1乃至4のいずれか一項に記載のロボットの制御装置。
【請求項6】
前記第1
のロボットアーム、および、前記第2
のロボットアームは、同軸まわりにそれぞれ独立して回転可能に設けられる、請求項1乃至5のいずれか一項に記載のロボットの制御装置。
【請求項7】
前記第1のロボットアームの先端の位置は、前記第1のロボットアームのツールセンターポイントであり、
前記第2のロボットアームの先端の位置は、前記第2のロボットアームのツールセンターポイントであって、
前記距離算出部は、前記第1のロボットアームのツールセンターポイントと前記第2のロボットアームのツールセンターポイントとの間の距離を算出する、請求項1乃至6のいずれか一項に記載のロボットの制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、人と共存して作業するロボットの制御装置に関する。
【背景技術】
【0002】
近年では、生産性向上の観点から、ロボットと作業者が同じ作業空間内で共同して作業を行うことが提案されている。このため、従来から、人と共存して作業するロボットの安全性を監視する技術の開発が進められている。
【0003】
例えば特許文献1には、外力を監視してロボットの安全性を監視するロボットの安全監視装置が開示されている。制御装置は、ロボットの動作範囲において所定領域を設定し、ロボットの現在位置が所定領域の内外で外力の判定条件を変更し、外力が判定条件を満たす場合はロボットを停止させる。また、制御装置は、ロボットの現在位置が所定領域内に在る場合には、ロボットの移動速度の上限を所定速度に制限する。
【0004】
特許文献2にはロボットの干渉回避装置が開示されている。ロボットの制御装置は、フランジの先端と人との間の距離を計算するとともに、フランジの先端が人に向かっているかを判断し、人に向かっている場合は、危険対象部(フランジ先端)を離間距離に応じて減速又は緊急停止させる。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2017-77608号公報
【文献】特許第5370127号
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、ロボットと人が共存して作業をする場合、周囲の人間に与える影響を最小限にするためにロボットのアームの位置や姿勢を適切に監視する必要がある。このため、上記従来のロボットの監視装置では、必ずしも人と共同して作業するロボットに最適とは言えないことがあった。
【0007】
そこで本発明は、人と共同して作業するロボットに適した制御装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の一態様に係るロボットの制御装置は、第1のロボットアーム及び第2のロボットアームを有するロボットの動作を制御する制御装置であって、前記第1のロボットアームの先端と第2のロボットアームの先端との間の距離を算出する距離算出部と、前記距離算出部により算出された前記距離が所定値以下であるか否かを監視する距離監視部と、を備えるものである。
【0009】
例えば双腕ロボットが作業者と同じ作業空間内で共同して作業する場合、2本のロボットアームは独立して動作することや、互いに関連して動作することが可能であるため、作業内容によっては、2本のアームの先端の間隔が狭くなり、周囲の作業者を挟み込んでしまう可能性がある。上記構成によれば、2本のアームの先端により周囲の障害物(例えば作業者)を挟み込む可能性があるか否かを監視することができるので、人と共同して作業するロボットに適した制御装置を提供できる。
【0010】
上記制御装置が、前記距離算出部により算出された前記距離が前記所定値以下である場合には、前記第1のロボットアーム及び第2のロボットアームの動作速度が所定速度を超えないように前記ロボットアームの動作を制御してもよい。
【0011】
例えば双腕ロボットが作業者と同じ作業空間内で共同して作業する場合、ロボットアームの動作を速くすると作業性は向上するが、作業者の安全性の確保が問題になる場合がある。一方、ロボットアームの動作を遅くすると作業者の安全性は確保できるが、作業性は低下する。このようにロボットの作業性と作業者の安全性は、トレードオフの関係にある。上記構成によれば、2本のアームの先端により周囲の障害物を挟み込む可能性がある場合には、動作速度が所定速度を超えないようにアームの動作を制御する。一方で、2本のアームの先端により周囲の物を挟み込む可能性がない場合にはこれらのアームを可能な限り高速度で動作させることができる。これにより、例えばロボットの近くの作業者が2本のアームの先端に挟まれた場合でも、リンクが高速で衝突することはない。従って、ロボットの作業性と作業者の安全性の両立を図ることができる。
【0012】
上記制御装置が、前記距離算出部により算出された前記距離が前記所定値以下である場合に、前記第1のロボットアーム及び第2のロボットアームの動作速度が前記所定速度を超えたか否かを監視する速度監視部を更に備え、前記動作速度が前記所定速度を超えた場合は、前記第1のロボットアーム及び第2のロボットアームの動作を停止させてもよい。
【0013】
上記構成によれば、2本のアームの先端により周囲の障害物を挟み込む可能性がある場合には、動作速度が所定速度を超えた場合は、アームの動作を停止させることができるので、作業者の安全性が更に向上する。
【0014】
上記制御装置が、前記第1のロボットアームの先端及び前記第2のロボットアームの先端に作用する外力を検出する外力検出部と、前記距離算出部により算出された前記距離が所定値以下である場合に、前記外力検出部によって検出された外力に基づいて、所定の監視基準で衝突を検知する力監視部と、を更に備え、衝突が検知された場合は、前記第1のロボットアーム及び前記第2のロボットアームの動作を停止させてもよい。
【0015】
上記構成によれば、2本のアームの先端により周囲の物を挟み込む可能性がある場合には2本のアームの先端に作用する外力に基づいて衝突を検知し、衝突を検知した後はロボットの動作を停止させることができる。作業者の安全性を向上させることができる。
【0016】
上記制御装置が、前記第1のロボットアームの先端及び前記第2のロボットアームの先端に作用する外力を検出する外力検出部と、前記距離算出部により算出された前記距離が所定値よりも大きい場合に、前記外力検出部によって検出された外力に基づいて、第1の監視基準で衝突を検知するとともに、前記距離算出部により算出された前記距離が所定値以下である場合に、前記外力検出部によって検出された外力に基づいて、前記第1の監視基準とは異なる監視基準である第2の監視基準で衝突を検知する力監視部と、を更に備え、衝突が検知された場合は、前記第1のロボットアーム及び前記第2のロボットアームの動作を停止させてもよい。
【0017】
上記構成によれば、2本のアームの先端により周囲の物を挟み込む可能性がない場合には第1の監視基準(例えば衝突感度を低く設定)で衝突を検知する。一方、2本のアームの先端により周囲の物を挟み込む可能性がある場合には第2の監視基準(例えば衝突感度を高く設定)で衝突を検知する。つまり、2本のアーム先端の間隔に応じて衝突感度を変更することができるので、ロボットの作業性と作業者の安全性の両立を図ることができる。
【0018】
尚、前記第1ロボットアーム、および、前記第2ロボットアームが、同軸まわりにそれぞれ独立して回転可能に設けられてもよい。
【0019】
尚、前記第1のロボットアームの先端は、前記第1のロボットアームのツールセンターポイントであり、前記第2のロボットアームの先端は、前記第2のロボットアームのツールセンターポイントであって、前記距離算出部が、前記第1のロボットアームのツールセンターポイントと前記第2のロボットアームのツールセンターポイントとの間の距離を算出してもよい。
【発明の効果】
【0020】
本発明によれば、人と共同して作業するロボットに適した制御装置を提供することができる。
【図面の簡単な説明】
【0021】
【
図1】
図1は、第1実施形態に係るロボットの構成を概略的に示す正面図である。
【
図2】
図2は、
図1のロボットの作業の一例を示す平面図である。
【
図3】
図3は、
図1のロボットの全体構成を示すブロック図である。
【
図4】
図4は、
図3の監視装置の構成を示すブロック図である。
【
図5】
図5は、ロボットの監視動作の一例を示すフローチャートである。
【
図6】
図6は、第2実施形態に係る監視装置の構成を示すブロック図である。
【
図7】
図7は、ロボットの監視の動作の一例を示すフローチャートである。
【
図8】
図8は、
図7の監視動作の変形例を示すフローチャートである。
【発明を実施するための形態】
【0022】
本発明の実施の形態について、図面を参照しつつ説明する。以下では全ての図を通じて同一又は相当する要素には同一の参照符号を付して、その重複する説明を省略する。
【0023】
(第1実施形態)
図1は、第1実施形態に係るロボット1の構成を概略的に示す正面図である。
図1に示すように、ロボット1は、台車8に固定されたベース9と、ベース9に支持された一対のロボットアーム(以下、単に「アーム」と記載する場合がある)2、2と、ベース9内に収納された、制御装置3と、を備えている。本実施形態のロボット1は水平多関節型のアーム2,2を備えた双腕ロボットである。以下では、一対のアーム2,2を広げた方向を左右方向と称し、基軸16の軸心に平行な方向を上下方向と称し、左右方向および上下方向に直交する方向を前後方向と称する。各アーム2は、アーム部20と、リスト部17と、エンドエフェクタ(図示せず)と、を備えている。なお、2本のアーム2は、実質的に同じ構造であってもよい。また、2本のアーム2は、独立して動作したり、互いに関連して動作したりすることができる。本実施形態のロボット1は、例えば、生産ラインに導入され、作業者と同じ作業空間で共同して作業を行う。
【0024】
本実施形態のロボット1は同軸双腕型のロボットである。2本のアーム2,2のそれぞれは、ベース9に垂直な基軸16に同軸に配置されかつベース9に対して独立して回転軸線A1回りに回動可能に構成される。アーム部20は、本例では、第1リンク20aおよび第2リンク20bとで構成されている。第1リンク20aは、ベース9の上面に固定された基軸16と回転関節J1により連結され、基軸16の軸心を通る回転軸線A1まわりに回動可能である。つまり、2本のアーム2、2の第1リンク20a、20aの回転軸線A1は同一直線上にあり、一方のアーム2の第1リンク20aと他方のアーム2の第1リンク20aとは上下に高低差を設けて配置されている。第2リンク20bは、第1リンク20aの先端と回転関節J2により連結され、第1リンク20aの先端に規定された回転軸線A2まわりに回動可能である。
【0025】
リスト部17は、直動関節J3及び回転関節J4を有する。リスト部17は、直動関節J3によって、第2リンク20bに対し昇降移動である。リスト部17は、回転関節J4によって、第2リンク20bに対し垂直な回転軸線A3まわりに回動可能である。リスト部17の先端には、メカニカルインターフェース18が取り付けられる。メカニカルインターフェース18は、直動関節J3及び回転関節J4を介して、第2リンク20bの先端と連結されている。メカニカルインターフェース18には作業用のエンドエフェクタ(図示せず)が取り付けられる。
【0026】
上記構成の各アーム2は、各関節J1~J4を有する。各関節J1~J4は、例えばサーボ機構(図示しない)により駆動される。サーボ機構は、アーム2を変位駆動するための駆動部と、駆動部の動力をアーム2に伝達するための伝達機構とを含む。本実施の形態では、駆動部は、例えばサーボモータによって実現され、各サーボモータにはモータの回転角度位置を検出するエンコーダ等の位置センサがそれぞれ設けられる(図示しない)。ここで回転角度位置とは、各サーボモータの関節座標系における各関節の角度の位置である。制御装置3は、サーボモータを位置制御することにより、左右のアーム2の動作を任意の速度で制御するように構成される。
【0027】
図2は、
図1のロボット1の作業の一例を示す平面図である。このロボット1は、人一人分に相当する限られたスペース(例えば610mm×620mm)に設置することができる。
図2に示すように、ロボット1は、生産ラインに導入され、作業者と同じラインで共同して作業をする。ロボット1は、作業台100の上で作業者と同様な作業を行う。ロボット1の左右のアーム2,2の各々の先端(メカニカルインターフェース18)には作業用のエンドエフェクタ19がそれぞれ連結されている。TPは各エンドエフェクタ19のツールセンターポイントである。本実施形態では、左右のエンドエフェクタ19は、同じ構造である。作業台100上のロボットの作業スペースの左右両側の領域は、それぞれ作業者が各自の作業を行う作業スペースである。本実施形態では、作業台100の上には、4種類のワークW1、W2,W3,W4が配置されている。左側に位置する作業者が、ロボット1に材料部材であるワークW1を供給する。ロボット1は供給されたワークW1に対して、第1の部品であるワークW2及び第2の部品であるワークW3を取り付けて、ワークW4を完成させる。右側に位置する作業者は、完成されたワークW4に対して次の作業行程を行う。
【0028】
ロボット1は基準座標系(以下、ベース座標系という)を持っている。この座標系は、例えば、ベース(基台)9の設置面と第1関節J1の回転軸線A1との交点が原点であり、第1関節J1の回転軸線がZ軸であり、Z軸に直交する任意の軸がX軸であり、Z軸及びX軸に直交する軸がY軸である。ロボット1のアーム2の可動範囲は、第1関節J1を中心とした円形領域である(図示せず)。各アーム2の動作範囲は、このベース座標系を基準として設定される。本実施形態では、動作領域は、少なくとも、ロボット1の正面に配置された作業台100を覆うように設定される。
【0029】
このように、双腕型のロボット1が作業者と同じ作業空間内で共同して作業する場合、2本のアーム2,2は独立して動作することや、互いに関連して動作することが可能である。このため、アーム2,2の位置や姿勢によっては、アーム2,2の先端(エンドエフェクタ19,19)の間隔が狭くなり、ロボット1の近くに位置する作業者が、アーム2,2の先端の間に挟まれる可能性がある。
【0030】
そこで、本実施形態の制御装置3は、周辺の作業者の安全を確保するために、ロボット1の動作を監視する監視機能を備えている。
図3は、ロボット1の全体構成を示すブロック図である。
図3に示すように、ロボット1は、ロボットアーム2と、制御装置3と、監視装置4を備える。なお、ロボットアーム2は2本であるが、ここでは、説明の簡単化のために、1本のみ示している。ロボットアーム2は、1以上の関節Jと、関節を介して連結された複数のリンクと、各関節Jに設けられた駆動用のサーボモータMを備える。各サーボモータMには、モータの位置(回転子の基準回転角度位置に対する回転角度位置)を検出するエンコーダ等の位置センサEと、モータを駆動する電流を検出する電流センサ5が取り付けられる。
【0031】
制御装置3は、ロボットアーム2とケーブルC(太字で図示)を介して接続される。ここでケーブルCは関節JのサーボモータMやブレーキ(図示せず)等に電源を供給するための電源ライン、サーボモータMに取り付けられた位置センサEからのセンサ信号を受信するための信号ライン等が含まれる。また、制御装置3は監視装置4と通信ケーブル(図示しない)を介して接続される。ここで通信ケーブルは、例えばRS422等のシリアル通信用のケーブルである。本実施形態では、制御装置3は、通信ケーブルを介して、監視装置4に監視信号(位置センサの検出信号)を供給するとともに、監視装置4から速度制限指令を受信し、これに従ってロボットアーム2の動作速度を変更するように構成される。ここでロボットアーム2の動作速度とは、ロボットアーム2を構成するサーボモータMの回転速度(以下、「モータ速度」ともいう)を意味する。
【0032】
制御装置3は、演算処理器6、サーボアンプ7、メモリ、入出力インタフェース、通信インタフェース等を備えたロボットコントローラである。演算処理器6は、電流指令値生成部61と、速度制限値設定部62とを備える。ここで電流指令値生成部61及び速度制限値設定部62は、演算処理器6において、所定のプログラムが実行されることによって、実現される機能ブロックである。電流指令値生成部61は、ロボットの動作プログラムに基づいて、関節Jを駆動するサーボモータMの位置指令値を生成し、生成した位置指令値と位置センサからの検出値(実際値)の偏差に基づいて速度指令値を生成する。そして、生成した速度指令値と速度現在値の偏差に基づいてトルク指令値(電流指令値)を生成し、サーボアンプ7に出力する。サーボアンプ7は、サーボモータMに対応して設けられ、与えられる電流指令値に基づいて電流を発生し、ケーブルCを介して発生した電流をサーボモータMに供給する。つまり、各サーボアンプ7は電流指令値に応じてサーボモータMの駆動電流を発生する増幅器である。制御装置3は、位置指令値に基づいて各関節Jに設けられたサーボモータMを位置制御することにより、各ロボットアーム2の動作を制御するように構成される。
【0033】
速度制限値設定部62は、監視装置4から受信した速度制限指令に基づいて、各アーム2,2のモータ速度が所定の速度を超えないように速度制限値を設定する。本実施形態では、速度制限値設定部62は、初期値として、速度制限値を第1速度(例えば800mm/s)に設定している。電流指令値生成部61は、速度制限値設定部62により設定された速度制限値を超えないように、生成した速度指令値に制約を与える。
【0034】
図4は、
図3の監視装置4の構成を示すブロック図である。
図4に示すように、監視装置4は、距離算出部41と、距離監視部42と、速度制限値生成部43と、速度算出部44と、速度監視部45と、停止信号生成部46と、を備える。ここで監視装置4は、1以上のプロセッサ、メモリ、入出力インタフェース、通信インタフェース等を備えたコンピュータである。各部(41~46)は、プロセッサにおいて、所定のプログラムが実行されることによって、実現される機能ブロックである。
【0035】
距離算出部41は、一方のアーム2の先端と他方のアーム2の先端との間の距離Dを算出するように構成される。本実施形態では、距離算出部41は、各サーボモータMの回転角度位置(位置センサEの検出信号)及び予め設定された各リンクの長さや形状等の情報に基づいて、各アーム2の先端の位置を算出し、両アーム2先端の間の距離Dを算出する。本実施形態では、アーム2,2の先端の位置は、エンドエフェクタ19,19のツールセンターポイントTP,TPである(
図2参照)。距離算出部41は、ロボット1のベース座標系におけるツールセンターポイントTP,TPの各位置座標を算出し、エンドエフェクタ19,19のツールセンターポイントTP,TP間の距離Dを算出する。
【0036】
距離監視部42は、距離算出部41により算出された距離Dが所定値以下であるか否かを監視するように構成される。ここで所定値は、アーム2,2の先端によって周囲の障害物(例えば作業者)を挟み込む可能性のある値に設定される。本実施形態では所定値は10cmに設定される。尚、監視装置4は、監視対象である距離Dの設定値を、例えば管理者により任意の値に調整可能な入力手段(図示せず)を備える。本実施形態では所定値は10cmに設定されるが、ロボット1の周囲の状況や想定される障害物の大きさによって適宜設定されてもよい。距離監視部42は、各サーボモータの回転角度位置及び予め設定された各リンクの長さや形状等の情報に基づいて、ロボット1の3次元モデルを生成するように構成されていてもよい。
【0037】
速度制限値生成部43は、距離Dが所定値以下である場合には、各アーム2,2のモータ速度が所定速度を超えないように速度制限指令を生成し、制御装置3に送信するように構成される。本実施形態では、速度制限値生成部43は、距離Dが所定値以下である場合には、各アーム2,2のモータ速度が第1速度(初期値)よりも低い第2速度を超えないような速度制限指令を生成し、制御装置3に送信するように構成される。
【0038】
速度算出部44は、各サーボモータMの回転角度位置(位置センサEの検出信号)に基づいて、各サーボモータMの速度(モータ速度)を演算する。ここでは監視信号に含まれる各サーボモータMの回転角度位置が、通信ケーブルを介して制御装置3から監視装置4に送信され、速度算出部44に入力される。速度算出部44は、算出結果を速度監視部45に出力するように構成されている。
【0039】
速度監視部45は、各アーム2,2のモータ速度が所定の速度を超えているか否かを監視する。本実施形態では、速度監視部45は、距離算出部41により算出された距離Dが所定値以下である場合に、各ロボットアーム2の関節J1~J4に設けられたサーボモータMのモータ速度のうち、いずれかのモータ速度が第2速度を超えているか否かを監視する。
【0040】
停止信号生成部46は、距離Dが所定値以下である場合に、速度監視部45によりモータ速度が第2速度を超えていると判定された場合にはロボット1の停止信号を生成し、これを制御装置3に供給する。
【0041】
次に、監視装置4によるロボット1の監視動作について
図5のフローチャートを参照しつつ説明する。
図5に示すように、まず、監視装置4は、制御装置3から所定期間ごとに送信される監視信号の受信を待機する(
図5のステップS11)。本実施形態では、監視信号は、ロボットアーム2の位置制御において使用される各関節Jに設けられた位置センサEの検出信号を含む。
【0042】
次に、監視装置4は、監視信号を受信したときは、距離算出部41により2本のアーム2,2先端(TP,TP)の間の距離D(
図2参照)を算出する(
図5のステップS12)。距離算出部41は、各サーボモータMの回転角度位置(位置センサEの検出信号)及び予め設定された各リンクの長さや形状等の情報に基づいて、各アーム2の先端(TP,TP)の位置を算出し、両アーム2先端(TP,TP)の間の距離Dを算出する。
【0043】
次に、距離監視部42は、距離算出部41により算出された距離Dが所定値以下であるか否かを監視する(
図5のステップS13)。本実施形態では、距離監視部42は
、距離Dが10cm以下である場合にはアーム2,2の先端によって周囲の
作業者を挟み込む可能性があると判定する。一方、距離Dが10cmよりも長い場合にはアーム2,2の先端によって
周囲の作業者を挟み込む可能性はないと判定する。
【0044】
次に、速度制限値生成部43は、距離監視部42によりアーム2,2の先端によって周囲の作業者を挟み込む可能性があると判定された場合(
図5のステップS13でYES)は、モータ速度が第1速度よりも低い第2速度を超えないような速度制限指令を生成し、これを制御装置3に供給する(
図5のステップS14)。ここで第2速度は、ISO10218-1に低速制御として規定されている250mm/sである。制御装置3は、モータ速度が第2速度を超えないようにアーム2,2の動作を制御する。これにより、例えばロボットの近くの作業者の一部(例えば手首)がアーム2,2の先端の間に挟まれた場合でも、エンドエフェクタ19,19が高速で衝突することはない。
【0045】
更に、本実施形態では、速度監視部45は、アーム2,2の動作速度がステップS14で制限された第2速度を超えているか否かを監視する(
図5のステップS15)。本実施形態では、速度監視部45は、距離Dが所定値以下である場合に、アーム2,2の関節J1~J4に設けられたサーボモータMのうち、いずれかのモータ速度が第2速度を超えているか否かを監視する。
【0046】
次に、停止信号生成部46は、速度監視部45によりモータ速度が第2速度を超えていると判定された場合(
図5のステップS15でNO)にはロボット1の停止信号を生成し、これを制御装置3に供給する(
図5のステップS16)。制御装置3はロボット1の動作を停止させる。
【0047】
一方、速度制限値生成部43は、距離監視部42により、アーム2,2の先端によって周囲の作業者を挟み込む可能性はないと判定された場合(
図5のステップS13でNO)には、速度制限指令を生成しない。ここで速度制限値の初期値は、第1速度(例えば800mm/s)に設定されているので、制御装置3は、モータ速度が第1速度を超えないようにアーム2,2の動作を高速で制御する。これにより、ロボット1の能力を最大限発揮させることができる。制御装置3は、以上のような動作をロボット1の作業が終了するまで繰り返し行う。
【0048】
一般に、
図2に示すように、ロボット1と作業者が同じ作業空間内で共同して作業する場合、アーム2,2の動作を速くすると作業性は向上するが、作業者の安全性の確保が問題になる場合がある。一方、アーム2,2の動作を遅くすると作業者の安全性は確保できるが、作業性は低下する。このようにロボット1の作業性と作業者の安全性は、トレードオフの関係にある。
【0049】
そこで、本実施形態によれば、アーム2,2の先端の間の距離Dが所定値よりも大きい場合(
図5のステップS13でNO)には、アーム2,2の先端により周囲の作業者を挟み込む可能性が無いと判断しアーム2,2を可能な限り高速度(第1速度)で動作させる。一方で、距離Dが所定値以下では、アーム2,2の先端により周囲の作業者を挟み込む可能性が有ると判断しアーム2,2を低速度(第2速度)で動作させる。これにより、ロボット1の周囲の作業者の一部(例えば手首)がロボットアーム2,2の先端に挟まれた場合でも、エンドエフェクタ19,19が高速で衝突することはない。従って、ロボットの作業性と作業者の安全性の両立を図ることができる。
【0050】
さらに、本実施形態では、距離Dが所定値以下である場合に、ロボットアーム2の動作速度が第2速度を超えた場合は、ロボットアーム2の動作を停止させるので、作業者の安全性が更に向上する。人と共同して作業するロボットに適した制御装置3を提供することができる。
【0051】
(第2実施形態)
次に、第2実施形態について説明する。以下では、第1実施形態と共通する構成の説明は省略し、相違する構成についてのみ説明する。
【0052】
図6は、第2実施形態に係る監視装置の構成を示すブロック図である。
図6に示すように、本実施形態では、第1実施形態(
図4)と比較すると、監視装置4Aが、速度制限値生成部43、速度算出部44及び速度監視部45の代わりに、駆動トルク推定部47、外力検出部48及び力監視部49を備える点が異なる。本実施形態の監視装置4Aは、速度監視機能に代えて、力監視機能を備えている。このため、本実施形態では、制御装置3から監視装置4に送信される監視信号は、位置センサEの検出信号、及び、電流センサ5で検出されたセンサ電流値を含む。
【0053】
駆動トルク推定部47は、位置センサEにより算出された回転角度位置から、ロボット1の関節のサーボモータを駆動するのに必要な駆動トルクを推定する。駆動トルク推定部47は、本実施形態では、重力トルク、慣性力トルク、及び摩擦力トルクをそれぞれ算出し、これらを加算することにより、駆動トルクの推定値を算出する。ここで重力トルクは各リンクの重量に打ち勝って姿勢を維持するためのトルクである。慣性力トルクはリンクの慣性に打ち勝つために必要なトルクである。摩擦力トルクは減速機の摩擦に打ち勝つために必要なトルクである。尚、本実施形態では、駆動トルク推定部47は監視装置4に実装されるような構成であるが、制御装置3に実装されてもよい。駆動トルク推定値は、電流センサ5で検出されたセンサ電流値及び位置センサEで検出された回転角度位置を含むセンサ信号とともに、監視信号として制御装置3から監視装置4に送信されてもよい。
【0054】
外力検出部48は、アーム2,2の先端に作用する外力を検出する。本実施形態では外力検出部48は、電流センサ5で検出された各サーボモータMを流れるセンサ電流値をトルク値に変換する。そして、センサ電流値から変換されたトルク値から、駆動トルク推定部47から入力された駆動トルクの推定値を減算し、これを外乱トルクとして算出する。そして、この外乱トルク値を用いてアーム2の先端に働く外力を算出し、これを力監視部49に出力する。具体的には、外力検出部48は、外乱トルクτ
dから各アーム2の先端(
図2のTP)に働く外力f
dを、仮想仕事の原理によって次式(3)のように求める。
【0055】
fd=(KT)-1τd・・・(3)
ここでKはヤコビ行列であり、ロボット1のベース座標系と関節座標系との間の微小変位関係を表現した行列である。ヤコビ行列Kについて、誤差Δxと関節角差分Δθには式(4)の関係が成立している。
【0056】
Δx=KΔθ・・・・・・(4)
このように外力検出部48は、式(3)のように外乱トルクτdにヤコビ行列Kの転置行列JTの逆行列を乗じることによりアーム2,2の先端に作用する外力fdを算出し、これを力監視部49に出力する。尚、式(3)の外力fdはロボットアーム2の先端で作用していると想定したときの外力である。外力fdがアーム2の先端以外を作用点としている場合は、外力fdを実際の作用点での外力に座標変換してもよい。
【0057】
力監視部49は、距離算出部41により算出された距離D(
図2参照)が所定値
以下である場合、外力検出部48によって検出された外力に基づいて、第1の監視基準で衝突を検知するように構成される。具体的には、力監視部49は、外力検出部48から入力された外力の値f
dの微分値に比例した値f’
dをロボットアーム2の先端に働く衝撃力として算出し、ロボットアーム2の先端に働く衝撃力の値|f’
d|が予め設定された第1閾値f
th1を超えたか否かを判定し、第1閾値f
th1を超えたときにロボットアーム2の先端に障害物が衝突したと判定して衝突検知信号を生成し、これを停止信号生成部46に出力するように構成されている。第1閾値f
th1との比較対象である衝撃力の値|f’
d|は
衝撃力f’
dのスカラ値である。尚、力監視部49は、外力検出部48から入力された外力の値|f
d|が予め設定された閾値を超えたか否かを判定して衝突を検知してもよい。尚、監視装置4は、例えば管理者により、衝突検知の際の閾値を任意の値に調整可能な入力手段(図示せず)を備える。
【0058】
停止信号生成部46は、力監視部49から衝突検知信号が入力された場合にはロボット1の停止信号を生成し、これを制御装置3に出力する。
【0059】
次に、監視装置4Aによるロボット1の監視動作について
図7のフローチャートを参照しつつ説明する。
図7のステップS21からステップS23までの距離算出部41及び距離監視部42の動作は、
図5のステップS11からステップS13までの動作と同じであるので、説明を省略する。
【0060】
図7に示すように、力監視部49は、距離Dが所定値以下である場合(
図7のステップS23でYES)、外力検出部48によって検出された外力に基づいて、第1の監視基準で衝突を検知する(
図7のステップS24)。具体的には、力監視部49は、外力検出部48から入力された外力の値|f
d|が予め設定された第1閾値f
th1を超えたか否かを判定し、第1閾値f
th1を超えたときにロボットアーム2の先端に障害物が衝突したと判定して衝突検知信号を生成し、これを停止信号生成部46に出力する。このように、力監視部49は、距離監視部42によりアーム2,2の先端によってロボット1の周囲に存在する障害物(例えば作業者)を挟み込む可能性があると判断された場合、アーム先端に作用する外力に基づいて衝突を検知する。
【0061】
そして、停止信号生成部46は、力監視部49から衝突検知信号が入力された場合(
図7のステップS24でYES)にはロボット1の停止信号を生成し(
図7のステップS25)、これを制御装置3に出力する。これにより、制御装置3は、ロボット1の動作を停止させることができる。
【0062】
本実施形態によれば、アーム2,2先端により周囲の物を挟み込む可能性のある場合にはアーム2,2先端に作用する外力に基づいて衝突を検知し、衝突を検知した後はロボット1の動作を停止させることができるので、作業者の安全性を向上させることができる。
【0063】
<変形例>
次に、本実施形態の力監視機能の変形例について説明する。本変形例では、距離Dに応じて2つの異なる監視基準で衝突を検知する。具体的には、
図6の力監視部49が、距離算出部41により算出された距離Dが所定値よりも大きい場合、外力検出部48によって検出された外力に基づいて、第1の監視基準で衝突を検知するように構成される。具体的には、力監視部49は、外力検出部48から入力された外力の値|f
d|が予め設定された第1閾値f
th1を超えたか否かを判定し、第1閾値f
th1を超えたときにロボットアーム2の先端が障害物に衝突したと判定して衝突検知信号を生成し、これを停止信号生成部46に出力するように構成されている。本
変形例では第1閾値f
th1は100Nに設定される。第1閾値f
th1との比較対象である外力の値|f
d|は外力f
dのスカラ値である。
【0064】
一方、力監視部49は、距離算出部41により算出された距離Dが所定値以下である場合、外力検出部48によって検出された外力に基づいて、第1の監視基準とは異なる監視基準である第2の監視基準で衝突を検知するように構成される。具体的には、力監視部49は、外力検出部48から入力された外力の値fdの微分値に比例した値f’dをロボットアーム2の先端に働く衝撃力として算出し、ロボットアーム2の先端に働く衝撃力の値|f’d|が予め設定された第2閾値fth2超えたか否かを判定し、第2閾値fth2を超えたときにロボットアーム2の先端が障害物に衝突したと判定して衝突検知信号を生成し、これを停止信号生成部46に出力するように構成されている。第2閾値fth2との比較対象である衝撃力の値|f’d|は衝撃力f’dのスカラ値である。
【0065】
図8は、本変形例の監視動作を示すフローチャートである。
図8に示すように、力監視部49は、距離Dが所定値を超えた場合には(
図8のステップS23でNO)、外力検出部48によって検出された外力に基づいて、第1の監視基準で衝突を検知する(
図8のステップS24-1)。具体的には、力監視部49は、外力検出部48から入力された外力の値|f
d|が予め設定された第1閾値f
th1を超えたか否かを判定し、第1閾値f
th1を超えたときにロボット1が衝突したと判定して衝突検知信号を生成し、これを停止信号生成部46に出力する。このように、力監視部49は、距離監視部42によりアーム2,2の先端によってロボット1の周囲に存在する障害物(例えば作業者)を挟み込む可能性はないと判断された場合は、衝突感度を低く設定し衝突を検知する。
【0066】
一方、力監視部49は、距離Dが所定値以下である場合(
図8のステップS23でYES)、外力検出部48によって検出された外力に基づいて、第1の監視基準とは異なる監視基準である第2の監視基準で衝突を検知する(
図8のステップS24-2)。具体的には、力監視部49は、外力検出部48から入力された外力の値f
dの微分値に比例した値f’
dをロボットアーム2の先端に働く衝撃力として算出し、ロボットアーム2の先端に働く衝撃力の値|f’
d|が予め設定された第2閾値f
th2を超えたか否かを判定し、第2閾値f
th2を超えたときにロボットアーム2の先端が障害物に衝突したと判定して衝突検知信号を生成し、これを停止信号生成部46に出力する。このように、力監視部49は、距離監視部42によりアーム2,2の先端によってロボット1の周囲に存在する障害物(例えば作業者)を挟み込む可能性があると判断された場合は、衝突感度を高く設定し衝突を検知する。
【0067】
そして、停止信号生成部46は力監視部49から衝突検知信号が入力された場合には、ロボット1の停止信号を生成し(
図8のステップS25)、これを制御装置3に出力する。これにより、制御装置3は、ロボット1の動作を停止させることができる。
【0068】
本変形例によれば、2本のアーム2,2の先端により周囲の物を挟み込む可能性がない場合には第1の監視基準(衝突感度を低く設定)で衝突を検知する。一方、2本のアーム2,2の先端により周囲の物を挟み込む可能性がある場合には第2の監視基準(衝突感度を高く設定)で衝突を検知する。つまり、2本のアーム2,2の先端の間隔に応じて衝突感度を変更することができるので、ロボットの作業性と作業者の安全性の両立を図ることができる。
【0069】
尚、本実施形態では、衝突を検知した後はロボットの動作を停止させるようにしたが、周囲の作業者又は管理者に報知するようにしてもよい。
【0070】
また、本実施形態の監視装置4Aは、距離Dに応じてロボットアーム2,2に作用する外力に基づいて衝突検知を行う力監視機能を備えたが、第1実施形態の速度監視機能を組み合わせてもよい。
【0071】
尚、本実施形態では、力センサを用いることなく、サーボモータの電流値に基づいてロボットアーム2の先端に働く外力を計算するので、安価且つ高精度に衝突を検知することができる。これにより、ロボットとその周辺で作業する作業者の共同作業における利便性が更に向上する。
【0072】
(その他の実施形態)
尚、上記各実施形態では、距離算出部41は、各サーボモータMの回転角度位置(位置センサEの検出信号)及び予め設定された各リンクの長さや形状等の情報に基づいて、各アーム2の先端の位置を算出し、両アーム2先端の間の距離Dを算出するように構成されたが、これに限られない。例えば両アーム2先端に距離センサを取り付けて、距離センサの検出値に基づいて両アーム2先端の間の距離Dを算出するようにしてもよい。
【0073】
尚、上記各実施形態では、アーム2,2の先端の位置は、エンドエフェクタ19,19のツールセンターポイントTP,TPであり、距離Dは、エンドエフェクタ19,19のツールセンターポイントTP,TP間の距離であったが(
図2参照)、これに限られない。アーム2,2の先端の位置は、ツールセンターポイント以外の任意の点でもよい。また、アーム先端に設けられたフランジ上に定義されたフランジ座標系の任意の点(例えば原点)でもよい。
【0074】
尚、上記各実施形態のロボット1は、水平多関節型のアームを備えた双腕ロボットであったが、垂直多関節型のアームを備えた双腕ロボットであってもよい。
【0075】
尚、上記各実施形態のロボット1は、2本のアーム2,2を備えた1台の双腕ロボットであったが、アーム先端の間の距離を定義することができれば、これに限られない。例えば2台の単腕ロボットのアーム先端の間の距離を監視してもよいし、3本以上のロボットアームを備えたロボットシステムにおいて少なくとも2本のアーム先端の間の距離を監視してもよい。
【0076】
尚、上記各実施形態の監視装置4,4Aは制御装置3と別々に設けたが、制御装置3に含まれていてもよい。例えば制御装置3の演算処理器6において、監視装置4の各部の機能ブロックが実行されるように構成されていてもよい。
【0077】
上記説明から、当業者にとっては、本発明の多くの改良や他の実施形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきであり、本発明を実行する最良の態様を当業者に教示する目的で提供されたものである。本発明の精神を逸脱することなく、その構造及び機能の双方又は一方の詳細を実質的に変更できる。
【産業上の利用可能性】
【0078】
本発明は、人と共存して作業するロボットに有用である。
【符号の説明】
【0079】
1 ロボット
2 ロボットアーム
3 制御装置
4,4A 監視装置
5 電流センサ
6 演算処理器
7 サーボアンプ
8 台車
9 ベース
17 リスト部
18 メカニカルインターフェース
19 エンドエフェクタ
20 アーム部
20a 第1リンク
20b 第2リンク
41 距離検出部
42 距離監視部
43 速度制限値生成部
44 速度算出部
45 速度監視部
46 停止信号生成部
47 駆動トルク推定部
48 外力検出部
49 力監視部
61 電流指令値生成部
62 速度制限値設定部
100 作業台
J 関節
M サーボモータ
E エンコーダ(位置センサ)
C ケーブル
TP ツールセンターポイント
D アーム先端の間の距離