(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024164671
(43)【公開日】2024-11-27
(54)【発明の名称】協働ロボットシステム
(51)【国際特許分類】
B25J 19/06 20060101AFI20241120BHJP
G01L 5/16 20200101ALI20241120BHJP
G01L 5/00 20060101ALI20241120BHJP
【FI】
B25J19/06
G01L5/16
G01L5/00 Z
【審査請求】未請求
【請求項の数】2
【出願形態】OL
(21)【出願番号】P 2023080329
(22)【出願日】2023-05-15
(71)【出願人】
【識別番号】000005197
【氏名又は名称】株式会社不二越
(74)【代理人】
【識別番号】100120400
【弁理士】
【氏名又は名称】飛田 高介
(74)【代理人】
【識別番号】100124110
【弁理士】
【氏名又は名称】鈴木 大介
(72)【発明者】
【氏名】藤澤 達朗
【テーマコード(参考)】
2F051
3C707
【Fターム(参考)】
2F051AA10
2F051BA03
2F051DB03
3C707BS10
3C707DS01
3C707KS21
3C707KS31
3C707KS35
3C707KV01
3C707KW05
3C707KX10
3C707MS05
3C707MS27
(57)【要約】
【課題】ロボットが受けた外力の位置と大きさを推定することができ、安全性を向上させることができる協働ロボットシステムを提供する。
【解決手段】協働ロボットシステム100は、複数のアームを有するロボット102と、ロボットの各軸に設けられた位置検出部120およびトルクセンサ118と、各アームの長さを含むリンクパラメータを記憶したリンクパラメータ記憶部122と、各軸の位置を、多軸ロボットの設置面に近い軸から順に、軸の位置とリンクパラメータとを用いて計算する各軸位置計算部124と、外力推定部126とを有し、外力推定部は、トルクセンサで検出された各軸のトルクを、各軸位置計算部で計算された各軸の位置に基づいて三次元の軸回転成分に分解し、軸回転成分ごとに、各軸ごとの外力の位置と大きさを未知数とする方程式を立て、これを連立方程式として解くことによって多軸ロボットが受けた外力の位置と大きさを推定する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
複数のアームを有する多軸ロボットと、
前記多軸ロボットの各軸に設けられた位置検出部と、
前記多軸ロボットの各軸に設けられるとともに各軸のトルクを検出するトルクセンサと、
前記多軸ロボットの動作を制御するロボット制御装置とを備え、
前記ロボット制御装置は、
各アームの長さを含むリンクパラメータを記憶したリンクパラメータ記憶部と、
各軸の位置を、前記多軸ロボットの設置面に近い前記軸から順に、前記位置検出部で検出された前記軸の位置と前記リンクパラメータ記憶部から読み出した前記リンクパラメータとを用いて計算する各軸位置計算部と、
前記多軸ロボットが受けた外力の位置と大きさを推定する外力推定部とを有し、
前記外力推定部は、
前記トルクセンサで検出された各軸のトルクを、前記各軸位置計算部で計算された前記各軸の位置に基づいて三次元の軸回転成分に分解し、
前記軸回転成分ごとに、各軸ごとの外力の位置と大きさを未知数とする方程式を立て、これを連立方程式として解くことによって外力の位置と大きさを推定することを特徴とする協働ロボットシステム。
【請求項2】
前記ロボット制御装置は、前記外力が基準値を超える場合に、前記多軸ロボットに停止命令を送信する衝突判定部を備えることを特徴とする請求項1に記載の協働ロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、安全機能を有する協働ロボットシステムに関する。
【背景技術】
【0002】
人間と作業領域を共有する産業用ロボット、いわゆる協働ロボットでは安全対策が求められる。協働ロボットに求められる安全性の基準として、ISO10218-1から参照される技術仕様ISO/TS15066においては、人体の各部位と接触した際(衝突時)の安全な「力」を規定している。
【0003】
協働ロボットは、複数のアームを有する多軸ロボットが用いられるのが一般的であり、その各軸には例えばトルクを検出するトルクセンサが設けられている。尚、トルクは、回転中心からの長さに「力」を乗じることで得られる値である。このため、トルクセンサを設けた協働ロボットでは、同じトルクであっても、回転中心に近い位置で強い力を受けたのか、あるいは回転中心から遠い位置で弱い力を受けたのかを判別することができない。
【0004】
特許文献1には、ロボットの各関節(各軸)の少なくとも1つに回転軸回りのトルクを検出するトルクセンサを設けたロボットシステムが記載されている。このロボットシステムでは、トルクセンサによってX軸、Y軸、Z軸の各軸方向の力成分や、回転軸周りに作用するトルク成分を検出することにより、ロボットが受ける外力を検出する。また、トルクセンサに代えて力覚センサを用いてもよいことが記載されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし特許文献1のロボットシステムは、ロボットが受けた力やモーメントをトルクセンサや力覚センサによって検出するものに過ぎない。このため、トルクセンサを用いた場合は、外力を受けた位置(衝突位置)や力を推定することができない、という問題がある。また力覚センサで検出する場合は、力を検出することはできるものの、力がかかっていることを検知できる場所がそもそも限定されてしまう、という問題がある。
【0007】
本発明は、このような課題に鑑み、ロボットが受けた外力の位置と大きさを推定することができ、安全性を向上させることができる協働ロボットシステムを提供することを目的としている。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明にかかる協働ロボットシステムの代表的な構成は、複数のアームを有する多軸ロボットと、多軸ロボットの各軸に設けられた位置検出部と、多軸ロボットの各軸に設けられるとともに各軸のトルクを検出するトルクセンサと、多軸ロボットの動作を制御するロボット制御装置とを備え、ロボット制御装置は、各アームの長さを含むリンクパラメータを記憶したリンクパラメータ記憶部と、各軸の位置を、多軸ロボットの設置面に近い軸から順に、位置検出部で検出された軸の位置とリンクパラメータ記憶部から読み出したリンクパラメータとを用いて計算する各軸位置計算部と、多軸ロボットが受けた外力の位置と大きさを推定する外力推定部とを有し、外力推定部は、トルクセンサで検出された各軸のトルクを、各軸位置計算部で計算された各軸の位置に基づいて三次元の軸回転成分に分解し、軸回転成分ごとに、各軸ごとの外力の位置と大きさを未知数とする方程式を立て、これを連立方程式として解くことによって外力の位置と大きさを推定することを特徴とする。
【0009】
上記のロボット制御装置は、外力が基準値を超える場合に、多軸ロボットに停止命令を送信する衝突判定部を備えることが好ましい。
【発明の効果】
【0010】
本発明によれば、ロボットが受けた外力の位置と大きさを推定することができ、安全性を向上させることができる協働ロボットシステムを提供することができる。
【図面の簡単な説明】
【0011】
【
図1】本発明の実施形態における協働ロボットシステムの全体構成を概略的に示す図である。
【
図2】
図1の協働ロボットシステムの機能ブロック図である。
【
図3】
図1の協働ロボットシステムの動作を示すフローチャートである。
【
図4】
図1の協働ロボットシステムによって外力の位置と大きさを推定する手法について説明する図である。
【
図5】
図1の協働ロボットシステムによって同じ回転方向の軸間のトルクから外力の位置と大きさを推定する具体例を示す図である。
【
図6】
図1の協働ロボットシステムに他のロボットを適用した場合を示す図である。
【
図7】
図3の例外処理を示すフローチャートである。
【
図8】本発明の他の実施形態における協働ロボットシステムの機能ブロック図である。
【発明を実施するための形態】
【0012】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値などは、発明の理解を容易とするための例示に過ぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【0013】
図1は、本発明の実施形態における協働ロボットシステム100の全体構成を概略的に示す図である。協働ロボットシステム100は、作業者Hとロボット102とが作業領域を共有する産業用ロボットシステムであって、ロボット102と、ロボット制御装置104と、ティーチングペンダント106とを備える。ティーチングペンダント106は、ロボット制御装置104に接続され、ロボット102の操作や各種情報の表示を行う装置である。
【0014】
ロボット102は、ロボット制御装置104によって動作制御される多軸ロボットであり、例えば旋回フレーム108と、第1アーム110と、第2アーム112と、エンドエフェクタ114とを備える。なおエンドエフェクタ114は、例えば把持対象物を把持するハンドやグリッパである。
【0015】
ロボット102の第1アーム110は、J2軸を介して旋回フレーム108に対して回転可能に連結されている。第2アーム112は、J3軸を介して第1アーム110に対して回転可能に連結されている。エンドエフェクタ114は、J5軸を介して第2アーム112に対して回転可能に連結されている。
【0016】
ロボット102の各軸すなわちJ2軸、J3軸およびJ5軸には、トルクを検出するトルクセンサ118(
図2参照)が設けられている。トルクは、回転中心からの長さに「力」を乗じることで得られる値である。このため、作業者Hがロボット102と接触した際(衝突時)、上述したようにトルクセンサ118で検出されたトルクが同じであっても、作業者Hが回転中心に近い位置で強い力を受けたのか、あるいは回転中心から遠い位置で弱い力を受けたのかを判別することができない。
【0017】
そこで、本実施形態にかかる協働ロボットシステム100では、ロボット102が受けた外力の衝突位置と大きさを推定することにより、作業者Hに対する安全性を向上させる構成を採用した。
【0018】
図2は、
図1の協働ロボットシステム100の機能ブロック図である。ロボット102は、トルクセンサ118と位置検出部120とを有する。トルクセンサ118は、各軸のトルクを検出する。位置検出部120は、エンコーダであって、ロボット102の各軸の回転角度などを用いて現在位置を検出する。なお位置検出部120は、ロボット102の各軸に設けられている。
【0019】
ロボット制御装置104は、リンクパラメータ記憶部(記憶部122)と、各軸位置計算部124と、外力推定部126とを有する。記憶部122は、各アームの長さや位置関係の設計パラメータであるリンクパラメータを記憶している。
【0020】
各軸位置計算部124は、各軸の位置を計算する。具体的には、各軸位置計算部124は、多軸ロボットであるロボット102の設置面に近い軸(すなわち旋回フレーム108に近い側の軸)から順番に、位置検出部120で検出された軸の位置と記憶部122から読み出したリンクパラメータとを用いて、各軸の位置を計算する。なお各軸位置計算部124で計算される各軸の位置には、各軸の姿勢(方向)も含まれる。
【0021】
外力推定部126は、トルクセンサ118で検出された各軸のトルクと、各軸位置計算部124によって計算された各軸の位置とを取得し、これらに基づいて、作業者Hがロボット102と接触した際のロボット102が受けた外力の位置と大きさを推定する(後述)。またティーチングペンダント106は、表示部120を有する。表示部120は、外力推定部126で推定された外力の位置と大きさを表示する。
【0022】
図3は、
図1の協働ロボットシステム100の動作を示すフローチャートである。
図4は、
図1の協働ロボットシステム100によって外力の位置と大きさを推定する手法について説明する図である。
【0023】
協働ロボットシステム100では、まず、ロボット制御装置104が軸番号を「0」に設定し(ステップS100)、軸番号がロボット102の総軸数より小さいか否かによって全ての軸の処理を完了したか否かを判定し(ステップS102)、処理を完了していない場合(軸番号がロボット102の総軸数より小さい場合)には(No)、ステップS104の処理を行う。
【0024】
ステップS104では、各軸位置計算部124が、位置検出部120で検出された軸の現在位置および記憶部122から読み出したリンクパラメータを用いて、軸のX、Y、Z軸空間位置(JnPosX、JnPosY、JnPosZ)と、軸のX、Y、Z軸回転成分(JnRotX、JnRotY、JnRotZ)とを計算する。このようにして各軸位置計算部124は、軸の姿勢(方向)を含む位置を計算する。
【0025】
続いて外力推定部126は、トルクセンサ118で検出された軸のトルク(JnTrq)を取得する(ステップS108)。さらに外力推定部126は、
図4に示すように軸のトルク(JnTrq)を、各軸位置計算部124で計算されたその軸の位置であるXYZ空間位置(JnPosX、JnPosY、JnPosZ)に基づいて、三次元の軸回転成分に分解し、X軸、Y軸、Z軸に沿ったトルク成分(JnTrqX、JnTrqY、JnTrqZ)を計算する(ステップS110)。なお軸回転とは、X軸回転(ロール)、Y軸回転(ピッチ)およびZ軸回転(ヨー)を含む。
【0026】
ステップS110の後、ロボット制御装置104は軸番号をインクリメントし(ステップS112)、再びステップS102の処理に戻って、全ての軸の処理を完了したか否かを判定し、処理が完了すると(Yes)、ステップS114の処理を行う。
【0027】
ステップS114では、ロボット制御装置104が全ての回転成分での処理を完了したか否かを判定し、処理が完了していない場合には(No)、それ以降、外力推定部126による処理を行う。
【0028】
まず外力推定部126は、ステップS108で計算したロボット各軸のトルク(JnTrq)の三次元の軸回転成分(JnTrqX、JnTrqY、JnTrqZ)ごとに、外力の位置と大きさを未知数とする方程式を立て、これを連立方程式として解く(ステップS116)。
【0029】
つぎに外力推定部126は、連立方程式が解を持つか否かを判定し(ステップS118)、解を持つ場合(Yes)、ロボット102が受けた回転ごとの外力の位置(衝突発生位置)と大きさを得る(ステップS120)。一方、ステップS118で解を持たない場合には(No)、外力推定部126は、ステップS122の例外処理(
図7参照)を実行する(後述)。
【0030】
ここで、外力推定部126によるステップS116、S120の処理を具体的に説明する。
図5は、
図1の協働ロボットシステム100によって同じ回転方向の軸間のトルクから外力の位置と大きさを推定する具体例を示す図である。図中では、原点Oから外力の衝突位置までの距離xと外力の大きさfとを、未知数として設定している。
【0031】
図5(a)に示すロボット102では、トルクセンサ118によって検出されたJ2軸、J3軸、J5軸のトルクが、それぞれ50Nm、80Nm、10Nmとなっている。またJ2軸とJ3軸の軸中心間の距離、J2軸とJ5軸の軸中心間の距離は、それぞれ0.3m、0.4mとなっている。なお軸中心間の距離は、リンクパラメータと軸角度から算出可能である。
【0032】
これらの条件から、ロボット各軸ごとに外力の位置(原点Oから外力の衝突位置までの距離x)と大きさfを未知数とする以下の3つの方程式を立てることができる。
J2:xf=50
J3:(x+0.3)f=80
J5:(x-0.4)f=10
【0033】
これら3つの方程式を連立方程式として解くことにより、f=100N、x=0.5mという値を得ることができる。なおx=0.5mであるため、
図5(a)に示すようにロボット102は、J5軸から0.1mだけ先に位置するエンドエフェクタ114で大きさ100Nの外力を受けたことがわかる。
【0034】
図5(b)に示すロボット102では、トルクセンサ118によって検出されたJ2軸、J3軸、J5軸のトルクが、それぞれ50Nm、125Nm、0Nmとなっている。なおJ5軸のトルクが0Nmであるため、J5軸より先は無負荷である。またJ2軸とJ3軸の軸中心間の距離、J2軸とJ5軸の軸中心間の距離は、それぞれ0.3m、0.4mとなっている。
【0035】
これらの条件から、ロボット各軸ごとに外力の位置(原点Oから外力の衝突位置までの距離x)と大きさfを未知数とする以下の2つの方程式を立てることができる。
J2:xf=50
J3:(x+0.3)f=125
【0036】
これら2つの方程式を連立方程式として解くことにより、f=250N、x=0.2mという値を得ることができる。なおx=0.2mであるため、
図5(b)に示すようにロボット102は、J3軸から0.5mだけ先に位置する第2アーム112で大きさ250Nの外力を受けたことがわかる。
【0037】
このようにして外力推定部126は、ステップS116、S120の処理によってロボット102が受けた外力の位置と大きさを推定することができる。なおステップS120の後、ロボット制御装置104は、再びステップS114の処理に戻って全ての回転成分での処理を完了したか否かを判定し、処理が完了すると(Yes)、動作を終了する。
【0038】
図6は、
図1の協働ロボットシステム100に他のロボット102A、102Bを適用した場合を示す図である。
【0039】
図6(a)に示すロボット102Aは、6軸ロボットであり、J1軸がZ軸回転(ヨー)、J2軸およびJ3軸がY軸回転(ピッチ)を行う。さらにロボット102Aでは、J4軸、J5軸およびJ6軸の軸回転が、ヨー、ピッチのいずれになるかは手前の軸に依存する。
【0040】
このため協働ロボットシステム100に6軸ロボット(ロボット102A)を適用した場合、ロボット102AのJ4軸、J5軸およびJ6軸の手前の軸により、J4軸、J5軸およびJ6軸の軸回転が決まれば、後述する例外処理(
図7参照)を除いて、ロボット102Aが受けた外力の位置と大きさを推定することができる。
【0041】
図6(b)に示すロボット102Bは、7軸ロボットであり、J1軸がZ軸回転(ヨー)、J2軸がY軸回転(ピッチ)を行う。さらにロボット102Aでは、J7軸、J3軸、J4軸、J5軸およびJ6軸の軸回転が、ヨー、ピッチのいずれになるかは手前の軸に依存する。
【0042】
このため協働ロボットシステム100に7軸ロボット(ロボット102B)を適用した場合、ロボット102BのJ7軸、J3軸、J4軸、J5軸およびJ6軸の手前の軸により、J7軸、J3軸、J4軸、J5軸およびJ6軸の軸回転が決まれば、後述する例外処理(
図7参照)を除いて、ロボット102Bが受けた外力の位置と大きさを推定することができる。
【0043】
図7は、
図3の例外処理を示すフローチャートである。外力推定部126は、ステップS116で連立方程式が解を持たない場合や、連立方程式を立てられない場合の例外処理を実行する。
【0044】
例外処理において外力推定部126は、
図7に示すように複数の軸で回転成分を持つが、作用点(衝突発生位置)より手前の軸が1つのみか否かを判定する(ステップS124)。すなわちトルクが発生している軸が1つのみの場合であり、このとき方程式が1つしか立たないために連立方程式を立てることができない。ステップS124で手前の軸が1つのみであれば(Yes)、外力推定部126は、外力と衝突発生位置の「範囲」を特定する(ステップS126)。
【0045】
ステップS126の一例として、J2軸、J3軸で検出されたトルクが、J2>>0Nm、J3≒0Nmであれば、J2軸とJ3軸との間の第1アーム110に作用点が存在することがわかる。つまり作用点の範囲は特定することができる。
【0046】
ステップS124で手前の軸が1つのみでない場合(No)、外力推定部126は、複数の軸で回転成分を持つが、軸の位置が同じか否かを判定する(ステップS128)すなわち、複数の軸においてトルクが発生していたとしても軸の位置が同じであると、トルクの数値が異なるのに位置の数値が同じになるため、連立方程式が解を持たなくなってしまう。
【0047】
そこで、ステップS128で軸の位置が同じであれば(Yes)、外力推定部126は、外力と衝突発生位置の「範囲」を特定する(ステップS130)。ステップS130では、作用点は、トルクが発生している軸のうちで一番先の軸(J2軸から遠い軸)よりも先端側に存在することはわかる。
【0048】
一方、ステップS128で複数の軸で回転成分を持つが、同一方向成分の力がない場合(No)、各方向成分において1つしか方程式が立てられない。例えば、旋回フレーム108を旋回させるJ1軸のみにトルクが検出された場合である。この場合は作用点を推定することができない(ステップS132)。このようにして外力推定部126は、例外処理を終了し、
図3に示すように再びステップS114の処理を行い、動作を終了する。
【0049】
したがって協働ロボットシステム100によれば、例外処理を除き、ロボット102が受けた外力の位置と大きさを推定することができ、安全性を向上させることができる。例外処理においても、外力の位置と大きさを推定するには至らないが、作用点の範囲を特定することはできる。
【0050】
図8は、本発明の他の実施形態における協働ロボットシステム100Aの機能ブロック図である。協働ロボットシステム100Aは、ロボット102とロボット制御装置104Aとを備える。ロボット制御装置104Aは、衝突判定部130を備える点で上記ロボット制御装置104と異なる。衝突判定部130には、ロボット102が受けた外力の位置と大きさが外力推定部126から送られる。
【0051】
ロボット制御装置104Aの衝突判定部130は、ロボット102が受けた外力の大きさと基準値とを比較して、外力の大きさが基準値を超える場合に、ロボット102に停止命令を送信する。これにより、安全性をさらに向上させることができる。
【0052】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【産業上の利用可能性】
【0053】
本発明は、安全機能を有する協働ロボットシステムに適用可能である。
【符号の説明】
【0054】
100、100A…協働ロボットシステム、102、102A、102B…ロボット、104、104A…ロボット制御装置、106…ティーチングペンダント、108…旋回フレーム、110…第1アーム、112…第2アーム、114…エンドエフェクタ、118…トルクセンサ、120…位置検出部、122…リンクパラメータ記憶部、124…各軸位置計算部、126…外力推定部、128…表示部、130…衝突判定部、H…作業者