(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-07-17
(45)【発行日】2024-07-25
(54)【発明の名称】ロボットシステム
(51)【国際特許分類】
B25J 19/06 20060101AFI20240718BHJP
B25J 13/08 20060101ALI20240718BHJP
【FI】
B25J19/06
B25J13/08 A
(21)【出願番号】P 2024011631
(22)【出願日】2024-01-30
【審査請求日】2024-02-08
【早期審査対象出願】
(73)【特許権者】
【識別番号】000005197
【氏名又は名称】株式会社不二越
(74)【代理人】
【識別番号】100096091
【氏名又は名称】井上 誠一
(74)【復代理人】
【識別番号】100156410
【氏名又は名称】山内 輝和
(74)【復代理人】
【識別番号】100155882
【氏名又は名称】齋藤 昭彦
(72)【発明者】
【氏名】今岡 誠
(72)【発明者】
【氏名】林 哲也
(72)【発明者】
【氏名】大井 嘉敬
【審査官】尾形 元
(56)【参考文献】
【文献】特開2023-79994(JP,A)
【文献】特開2019-171499(JP,A)
【文献】特開2015-174184(JP,A)
【文献】特開2018-12159(JP,A)
【文献】特開平8-16234(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 19/06
B25J 13/08
(57)【特許請求の範囲】
【請求項1】
ロボットアームを有する1又は複数のロボットと、前記ロボットの動作可能範囲を含む空間を撮像する1又は複数の3次元センサと、前記ロボット及び前記3次元センサの動作を制御する1又は複数の制御装置と、を備えるロボットシステムであって、
前記制御装置は、
前記ロボットのリンクパラメータの値を記憶するリンクパラメータ記憶部と、
前記3次元センサから、前記空間に置かれた物体の表面の位置を示す点の集まりである点群データを取得する点群データ取得部と、
前記ロボットアームの各関節の現在の関節角度を取得する関節角度取得部と、
前記リンクパラメータ及び前記関節角度に基づいて、前記ロボットの現在の姿勢と同様な姿勢を示すロボットモデルを生成するロボットモデル生成部と、
前記ロボットモデルを用いて前記点群データから少なくとも前記ロボットを示す点を除去し、残りの前記点群データを干渉物の位置を示す点の集まりである干渉物データとして設定する干渉物データ設定部と、
前記干渉物データ及び前記ロボットモデルを用いて前記干渉物と前記ロボットとの距離を算出し、前記干渉物と前記ロボットとの距離に基づいて前記干渉物と前記ロボットとが接近しているか否かを判定する接近判定部と、
を備えることを特徴とするロボットシステム。
【請求項2】
前記ロボットモデル生成部は、前記リンクパラメータ及び前記関節角度に基づいて前記ロボットの各部位の位置を示す点を基準点として算出し、前記基準点に基づいて前記ロボットモデルを生成する
ことを特徴とする請求項1に記載のロボットシステム。
【請求項3】
前記ロボットモデル生成部は、前記基準点に従って定義される空間図形をロボットオブジェクトとし、
前記干渉物データ設定部は、前記点群データから少なくとも前記ロボットオブジェクトの内部に含まれる点を除去し、前記干渉物データを生成する
ことを特徴とする請求項2に記載のロボットシステム。
【請求項4】
前記接近判定部は、前記干渉物データをグループ分けし、グループごとに前記干渉物と前記ロボットとの距離を算出する
ことを特徴とする請求項1に記載のロボットシステム。
【請求項5】
前記接近判定部は、前記干渉物データに含まれる点又は前記干渉物データに従って定義される空間図形と、前記ロボットモデルに含まれる点又は前記ロボットモデルに従って定義される空間図形との距離を、前記干渉物と前記ロボットとの距離として算出する
ことを特徴とする請求項1から請求項4のいずれかに記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、人等の干渉物の接近を検知するロボットシステムに関する。
【背景技術】
【0002】
近年、安全柵なしで人と協働して作業を行う協働ロボットが注目されている。協働ロボットの安全対策は、人等の干渉物との接触を検知すると、ロボットに危険を回避させる手法と、干渉物の接近を検知すると、ロボットに危険を回避させる手法とがある。後者の手法は、干渉物との接触前に危険回避動作を命令するので、前者の手法よりも安全性が高いと言える。後者の一例として、特許文献1に、物体との間に生じる静電容量の変化によって物体が近接したことを検出する近接センサを用いたシステムが記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、静電容量方式の近接センサでは、ロボットの外回しの配線や据付ベース等を干渉物として検出してしまうという課題がある。ロボットの動作を制御するロボット制御装置は、予めロボットの附属物や各部位の位置を記憶し、これらとロボットアームが接触しないように制御するため、干渉物として検出する必要はない。仮にロボットの附属物や各部位を干渉物として検出してしまうと、本来の目的の動作を実行できないか、又は動作範囲が制限され、著しく生産効率が低下する恐れがある。
【0005】
本発明は、前述した事情に鑑みてなされたものであり、主要な目的は、ロボットと干渉物とを識別し、干渉物の接近を検知するロボットシステムを提供することである。
【課題を解決するための手段】
【0006】
前述した目的を達成するための本発明は、ロボットアームを有する1又は複数のロボットと、前記ロボットの動作可能範囲を含む空間を撮像する1又は複数の3次元センサと、前記ロボット及び前記3次元センサの動作を制御する1又は複数の制御装置と、を備えるロボットシステムであって、前記制御装置は、前記ロボットのリンクパラメータの値を記憶するリンクパラメータ記憶部と、前記3次元センサから、前記空間に置かれた物体の表面の位置を示す点の集まりである点群データを取得する点群データ取得部と、前記ロボットアームの各関節の現在の関節角度を取得する関節角度取得部と、前記リンクパラメータ及び前記関節角度に基づいて、前記ロボットの現在の姿勢と同様な姿勢を示すロボットモデルを生成するロボットモデル生成部と、前記ロボットモデルを用いて前記点群データから少なくとも前記ロボットを示す点を除去し、残りの前記点群データを干渉物の位置を示す点の集まりである干渉物データとして設定する干渉物データ設定部と、前記干渉物データ及び前記ロボットモデルを用いて前記干渉物と前記ロボットとの距離を算出し、前記干渉物と前記ロボットとの距離に基づいて前記干渉物と前記ロボットとが接近しているか否かを判定する接近判定部と、
を備えることを特徴とするロボットシステムである。
【0007】
前記ロボットモデル生成部は、前記リンクパラメータ及び前記関節角度に基づいて前記ロボットの各部位の位置を示す点を基準点として算出し、前記基準点に基づいて前記ロボットモデルを生成するようにしても良い。
【0008】
また、前記ロボットモデル生成部は、前記基準点に従って定義される空間図形をロボットオブジェクトとし、前記干渉物データ設定部は、前記点群データから少なくとも前記ロボットオブジェクトの内部に含まれる点を除去し、前記干渉物データを生成するようにしても良い。
【0009】
また、前記接近判定部は、前記干渉物データをグループ分けし、グループごとに前記干渉物と前記ロボットとの距離を算出するようにしても良い。
【0010】
また、前記接近判定部は、前記干渉物データに含まれる点又は前記干渉物データに従って定義される空間図形と、前記ロボットモデルに含まれる点又は前記ロボットモデルに従って定義される空間図形との距離を、前記干渉物と前記ロボットとの距離として算出するようにしても良い。
【発明の効果】
【0011】
本発明により、ロボットと干渉物とを識別し、干渉物の接近を検知するロボットシステムを提供できる。
【図面の簡単な説明】
【0012】
【
図1】本発明の実施形態のロボットシステムの概略を説明する図
【
図3】
図1の制御装置によって実現される処理の流れの一例を示すフローチャート
【
図5】干渉物データ設定部による処理を模式的に説明する図
【発明を実施するための形態】
【0013】
以下図面に基づいて、本発明の実施形態を詳細に説明する。
図1は、本発明の実施形態のロボットシステムの概略を説明する図である。
図1に示すように、ロボットシステム1は、ロボットアーム21を有する1又は複数のロボット2と、ロボット2の動作可能範囲を含む空間を撮像する1又は複数の3次元センサ3と、ロボット2及び3次元センサ3の動作を制御する1又は複数の制御装置4と、を備える。3次元センサ3によって撮像される空間には、ワークWやテーブルTが配置されても良い。また、ロボット2は協働ロボットであり、3次元センサ3によって撮像される空間には、人Mが存在しても良い。
【0014】
ロボット2は、ロボットアーム21を支持する据付ベース22を有し、ロボットアーム21の先端にはエンドエフェクタ23が取り付けられている。ロボットアーム21は、複数のリンクを有するリンク機構で構成され、リンク間を連結する関節を有する。各関節には図示しない駆動モータが設けられる。ロボット2の一例として、関節の数が6の垂直多関節ロボットが挙げられる。但し、本発明は、関節の数が5以下や7以上のロボットや、水平多関節型ロボット等にも適用可能である。また、ロボット2は、単腕型ロボットに限らず、双腕型ロボットでも良い。
【0015】
3次元センサ3は、物体の3次元位置を計測可能なセンサであり、撮影対象の空間に置かれた物体表面の検出点の位置を示す点の集まりである点群(Point Cloud)データを生成する。3次元センサ3は、例えば、アクティブステレオカメラ、パッシブステレオカメラ、3次元LiDAR(Light Detection And Ranging)センサ、ToF(Time of
Flight)カメラ等が挙げられるが、これらの例に限定されない。3次元センサ3によって生成される点群データは、3次元の直交座標(x,y,z)で表現される直交座標点群データである。3次元座標(x,y,z)の各成分の取り得る範囲は、3次元センサ3の画角や検出距離範囲による。点群データのファイル形式は、例えば、オープンソースライブラリのPCL(Point Cloud Library)によって開発されたPCD(Point Cloud
Data)ファイル等が挙げられるが、これに限定されない。
【0016】
3次元センサ3は、天井等に設置され、ロボット2の上方から撮像しても良いし、壁や三脚等に設置され、ロボット2の水平方向から撮像しても良い。また、3次元センサ3は、ロボットアーム21やエンドエフェクタ23等に設置され、ロボット2の一部のみが撮像範囲に含まれるように撮像しても良い。更に、1台の3次元センサ3では撮像できない範囲(ロボット2の陰になる部分等)がある場合、複数の3次元センサ3を設置し、複数の3次元センサ3から取得される点群データを合成しても良い。
【0017】
制御装置4は、ロボット2の動作を制御するロボット制御装置4aと、3次元センサ3の動作を制御する3次元センサ制御装置4bと、を含む。ロボット制御装置4aは、ロボット2の据付ベース22に内蔵されも良いし、ロボット2の外部に設置されても良い。後者の場合、ロボット2及びロボット制御装置4aは、通信ケーブル又は無線を介して通信可能に接続される。同様に、3次元センサ制御装置4bは、3次元センサ3と一体でも良いし、別体でも良い。後者の場合、3次元センサ3及び3次元センサ制御装置4bは、通信ケーブル又は無線を介して通信可能に接続される。また、ロボット制御装置4a及び3次元センサ制御装置4bは、通信ケーブル又は無線を介して通信可能に接続される。
【0018】
ロボット制御装置4aのCPU(Central Processing Unit)41a、メモリ42a、補助記憶装置43a及び入出力インタフェース44aは、バス45aを介して接続される。CPU41aは、予め補助記憶装置43a等に記憶される制御プログラムをメモリ42aに読み出して複数の命令を順次実行する。補助記憶装置43aは、ハードディスクドライブやソリッドステートドライブ等であり、後述する処理に用いるデータを記憶する。入出力インタフェース44aは、ロボット2、3次元センサ制御装置4b、その他の装置等から信号を入力したり、それらに信号を出力したりする。
【0019】
3次元センサ制御装置4bのCPU(Central Processing
Unit)41b、メモリ42b、補助記憶装置43b及び入出力インタフェース44bは、バス45bを介して接続される。CPU41bは、予め補助記憶装置43b等に記憶される制御プログラムをメモリ42bに読み出して複数の命令を順次実行する。補助記憶装置43bは、ハードディスクドライブやソリッドステートドライブ等であり、後述する処理に用いるデータを記憶する。入出力インタフェース44bは、3次元センサ3、ロボット制御装置4a、その他の装置等から信号を入力したり、それらに信号を出力したりする。
【0020】
図1では、2台の制御装置4、すなわちロボット制御装置4a及び3次元センサ制御装置4bが図示されているが、制御装置4の台数は1台でも良いし、3台以上でも良い。以下では、ロボットシステム1は、ロボット制御装置4a及び3次元センサ制御装置4bの2台の制御装置4を有し、これらの制御装置4が互いに連携して処理を実行するものとして説明する。
【0021】
図2は、
図1の制御装置の構成を示すブロック図である。ロボット制御装置4a及び3次元センサ制御装置4bは、制御プログラム等のソフトウエアと、CPU41a、41b等のハードウエア資源とが協働することによって、
図2の構成を備える。
【0022】
ロボット制御装置4aは、ロボット動作制御部51及び関節角度提供部52を備える。ロボット動作制御部51は、制御プログラムや外部の装置からの命令等に基づき、ロボットアーム21の駆動モータの回動及び停止を制御する。関節角度提供部52は、ロボット2の現在の状態におけるロボットアーム21の各関節の現在の関節角度を3次元センサ制御装置4bに提供する。
【0023】
3次元センサ制御装置4bは、3次元センサ動作制御部61、リンクパラメータ記憶部62、点群データ取得部63、関節角度取得部64、ロボットモデル生成部65、干渉物データ設定部66、接近判定部67及び動作命令通知部68を備える。3次元センサ動作制御部61は、制御プログラムや外部の装置からの命令等に基づき、3次元センサ3の動作を制御する。リンクパラメータ記憶部62は、ロボット2のリンクパラメータの値を記憶する。
【0024】
リンクパラメータとは、ロボットアーム21のリンクと関節との幾何学的な位置関係を定めるパラメータである。例えば、リンクパラメータは、Denavit‐Hartenbergの記法(D-H法)を用いたものが知られている。D-H法を用いたリンクパラメータは、DHパラメータとも呼ばれる。D-H法を用いたリンクパラメータの概要は次の通りである。1.リンク及び関節は、ロボット2のベースに近い順に順番が付けられる。2.リンクiには、関節軸iをz[i]軸とする座標系(x[i]、y[i]、z[i])が設定される。3.x[i]軸はz[i]軸とz[i+1]軸との共通垂線とし、z[i+1]軸に向かう方向を正とする。4.y[i]軸は右手座標系をなすように設定する。5.リンクパラメータは、(1)リンク間角度θ[i]=z[i]軸に対するx[i-1]軸からx[i]軸への角度、(2)リンク間距離d[i]=z[i]軸に沿ったx[i-1]軸からx[i]軸への距離、(3)リンクねじれ角α[i]=x[i-1]軸に対するz[i-1]軸からz[i]軸への角度、(4)リンク長さa[i]=x[i-1]軸に沿ったz[i-1]軸からz[i]軸への距離、の4つである。
【0025】
リンク間角度θ[i]は、ロボット制御装置4aの関節角度提供部52によって提供されるロボットアーム21の各関節の現在の関節角度である。リンクパラメータ記憶部62は、リンク間角度θ[i]を除いた、リンク間距離d[i]、リンクねじれ角α[i]及びリンク長さa[i]の3つの設計値を予め記憶しておく。
【0026】
点群データ取得部63は、3次元センサ3から、3次元センサ3によって撮像される空間に置かれた物体の表面の位置を示す点の集まりである点群データを取得する。関節角度取得部64は、ロボット動作制御部51から、ロボットアーム21の各関節の現在の関節角度を取得する。ロボットモデル生成部65は、リンクパラメータ及び関節角度に基づいて、ロボット2の現在の姿勢と同様な姿勢を示すロボットモデルを生成する。干渉物データ設定部66は、ロボットモデルを用いて点群データから少なくともロボットを示す点を除去し、残りの点群データを干渉物の位置を示す点の集まりである干渉物データとして設定する。接近判定部67は、干渉物データ及びロボットモデルを用いて干渉物とロボットとの距離を算出し、干渉物とロボットとの距離に基づいて干渉物とロボットとが接近しているか否かを判定する。動作命令通知部68は、接近判定部67による判定結果に基づいて、ロボット制御装置4aに動作命令を通知する。これらの構成の詳細は、
図3~
図6を参照しながら後述する。
【0027】
図3は、
図1の制御装置によって実現される処理の流れの一例を示すフローチャートである。
図3に示すように、3次元センサ制御装置4bは、接触前検知判定ループを実行するか否か確認する(ステップS1)。接触前検知判定ループでは、ロボット2が干渉物と接触する前に干渉物との接近を検知する判定処理、すなわちステップS2からステップS10までの処理を繰り返す。
【0028】
3次元センサ制御装置4bは、一方、ロボット制御装置4aから接触前検知判定ループの停止命令を受信していない場合、接触前検知判定ループを実行する(ステップS1のYes)。他方、3次元センサ制御装置4bは、3次元センサ制御装置4bから接触前検知判定ループの停止命令を受信すると、接触前検知判定ループの実行を終了する(ステップS1のNo)。ロボット制御装置4aは、例えばダイレクトティーチングのように、人がロボット2に直接触れる動作モードの場合、3次元センサ制御装置4bに対して接触前検知判定ループの停止命令を送信する。
【0029】
接触前検知判定ループに入ると、3次元センサ制御装置4bの点群データ取得部63は、3次元センサ3から点群データを取得する(ステップS2)。前述の通り、点群データは、3次元の直交座標(x,y,z)で表現される。点群データには、ロボット2、ワークW、テーブルT、人M等の物体の表面の位置を示す点が含まれる。
【0030】
次に、3次元センサ制御装置4bの関節角度取得部64は、ロボット制御装置4aの関節角度提供部52からロボットアーム21の各関節の現在の関節角度を取得する(ステップS3)。例えば、ロボット制御装置4aの関節角度提供部52は、各関節の駆動モータに搭載されるエンコーダによって検出される関節角度を3次元センサ制御装置4bに送信する。
【0031】
次に、3次元センサ制御装置4bのロボットモデル生成部65は、リンクパラメータ記憶部62に記憶されているリンクパラメータ、及び関節角度取得部64によって取得される関節角度に基づいてロボットモデルを生成する(ステップS4)。リンクパラメータ記憶部62に記憶されているリンクパラメータの値は、リンク間距離di、リンクねじれ角αi及びリンク長さaiの3つである。また、関節角度取得部64によって取得される関節角度は、リンクパラメータの1つであるリンク間角度θiの値として用いる。ロボットモデル生成部65は、これら4つのリンクパラメータの値を用いて順運動学計算を実行し、ロボット2の各部位(各関節、エンドエフェクタ23等)の位置を示す点を解析的に算出し、基準点とする。そして、ロボットモデル生成部65は、基準点に基づいてロボット2の現在の状態を示すロボットモデルを生成する。これによって、ロボットモデル生成部65は、ロボット2と干渉物との接近判定に十分な精度で迅速にロボットモデルを生成できる。ひいては、ロボットシステム1は、危険回避動作が間に合うタイミングで、ロボット2に対する干渉物の接近を検知できる。
【0032】
図4は、ロボットモデルの例を模式的に説明する図である。ロボットモデル70は、ロボット2を近似するモデルであり、3次元の直交座標空間に生成されるものである。但し、
図4では、3次元の直交座標空間における特定の方向から見た2次元の直交座標平面として簡略的に図示されている。後述する
図5及び
図6も同様である。
【0033】
四角形で図示されている点71a~71eは、ロボットモデル生成部65によって算出される各関節やエンドエフェクタ23等の位置を示す基準点である。
図4の例では、基準点の数は5個であるが、基準点の数は特に限定されない。また、三角形で図示されている点72a~72jは、基準点71a~71eの隣り合う2点を結ぶ線分73a~73dに従って生成される線形補間の点である。線形補間の点の数は、線分73a~73dごとに異なっても良い。
図4の例では、線分73aの線形補間の点は0個、線分73bの線形補間の点は5個、線分73cの線形補間の点は4個、線分73dの線形補間の点は1個である。線形補間の点の数は、
図4の例に限定されず、ロボット2の大きさ等によって適宜変更可能である。また、ロボットモデル生成部65は、線形補間の点を生成せず、基準点だけを用いてロボットモデル70を生成しても良い。
【0034】
ロボットモデル生成部65は、基準点に従って定義される空間図形をロボットオブジェクトとして設定する。ロボットオブジェクトは、ロボット2を近似する1又は複数の仮想的な図形である。
図4に示すロボットオブジェクトは、基準点71a~71eと、基準点71a~71eに従って生成される線形補間の点72a~72jとの各点を中心とし、所定の半径を有する球74a~74oである。球74a~74oの半径は、ロボットアーム21やエンドエフェクタ23等の各部位の大きさに応じて、それぞれ異なっても良い。
【0035】
ロボットオブジェクトは、
図4に示す球74a~74oに限定されるものではない。ロボットオブジェクトは、ロボット2の外回しの配線等の附属物や据付ベース22等のロボットアーム21ではない部位も含むようにロボット2を近似できれば、どのような図形でも良い。例えば、ロボットオブジェクトは、基準点71a~71e及び線形補間の点72a~72jの各点を中心とする複数の立方体でも良い。また、例えば、ロボットオブジェクトは、基準点71a~71eに従って生成される線分73a~73dを中心軸とする複数の円柱又は直方体でも良い。
【0036】
図3の説明に戻る。3次元センサ制御装置4bの干渉物データ設定部66は、点群データ取得部63によって取得される点群データから、少なくともロボット2を示す点を除去する。ここで、ロボット2を示す点とは、ロボットアーム21、据付ベース22、エンドエフェクタ23、ロボット2の附属物等を示す点を含む。そして、干渉物データ設定部66は、除去されていない残りの点群データを干渉物データに設定する(ステップS5)。これにより、3次元センサ制御装置4bは、点群データに含まれる点を、ロボット2を示す点と干渉物を示す点とに分けることができる。すなわち、3次元センサ制御装置4bは、ロボット2と干渉物とを識別できる。
【0037】
図5は、干渉物データ設定部による処理を模式的に説明する図である。
図5では、ロボットモデル70と点群データ75とが重ねて図示されている。干渉物データ設定部66は、点群データ75から、少なくともロボットオブジェクト(=球74a~74o)の内部に含まれる点を除去し、除去されていない残りの点群データ75を干渉物データ76に設定する。これによって、干渉物データ設定部66は、ロボット2と干渉物との接近判定に十分な精度で迅速にロボット2と干渉物とを識別できる。ひいては、ロボットシステム1は、危険回避動作が間に合うタイミングで、ロボット2に対する干渉物の接近を検知できる。
【0038】
ここで、干渉物データ設定部66は、点群データ75からロボット2を示す点のみを除去するのではなく、ロボット2の他に干渉物として認識不要な物体を示す点を除去しても良い。ロボット2の他に干渉物として認識不要な物体とは、例えば、ワークWやテーブルTである。例えば、エンドエフェクタ23がワークWを把持するツールの場合、エンドエフェクタ23とワークWとの接触は許容されるべきであり、ワークWは干渉物として認識不要である。また、例えば、テーブルTが静態物であって、予め位置が判明している場合、ロボット制御装置4aは、ロボットアーム21がテーブルTに接触しないように動作可能範囲を制限してロボット2の動作を制御する。この場合、テーブルTは干渉物として認識不要である。例えば、干渉物データ設定部66は、予めワークWやテーブルTの位置情報が含まれる環境地図を記憶しておき、ロボット2を示す点と同様、点群データ75からワークWやテーブルTを示す点を除去しても良い。
【0039】
図3の説明に戻る。3次元センサ制御装置4bの接近判定部67は、干渉物データ76及びロボットモデル70を用いて干渉物とロボット2との距離を算出し、干渉物とロボット2との距離に基づいて干渉物とロボット2とが接近しているか否かを判定する(ステップS6)。
【0040】
図6は、接近判定部による処理を模式的に説明する図である。
図6では、ロボットモデル70と干渉物データ76とが重ねて図示されている。干渉物は単数とは限らず、様々な方向から複数の干渉物がロボット2に接近することも考えられる。そこで、接近判定部67は、干渉物データ76をグループ分けし、グループごとにロボット2と干渉物との距離を算出する。これによって、接近判定部67は、迅速かつ正確に干渉物とロボット2との接近を判定できる。ひいては、ロボットシステム1は、危険回避動作が間に合うタイミングで、ロボット2に対する干渉物の接近を検知できる。
【0041】
干渉物データ76は点群データなので、干渉物データ76のグループ分けは、点群データのグループ分けを意味する。接近判定部67は、例えば、オープンソースのソフトウエアライブラリであるPCL(Point Cloud Library)のクラスタリング手法(=「EuclideanClusterExtraction」クラスを用いた手法)を干渉物データ76に適用し、グループ分けを行う。このクラスタリング手法によれば、未整理の点群データをより小さな部分に分割できる。
【0042】
また、接近判定部67は、グループ分けされた干渉物データ76ごとに、PCLの形状近似手法(=「MomentOfInertiaEstimation」クラスを用いた手法)を適用し、干渉物を包含する空間図形としてバウンディングボックス(境界ボックス)を生成する。バウンディングボックスは、与えられた点群データを含む直方体である。尚、干渉物を近似する空間図形は、バウンディングボックス(直方体)に限らず、球や円柱など他の空間図形でも良い。
【0043】
そして、接近判定部67は、バウンディングボックスと基準点又は線形補間の点とのユークリッド距離を算出する。基準点又は線形補間の点は複数存在するので、接近判定部67は、バウンディングボックスと各点とのユークリッド距離を算出し、最小値(最短距離の値)を干渉物とロボット2との距離とする。
図6の例では、それぞれ干渉物データ76の一部を含むバウンディングボックス77a及び77bが図示されている。例えば、バウンディングボックス77aが人の左腕、バウンディングボックス77bが人の右腕である。距離78a及び78bは、それぞれ、バウンディングボックス77a及び77bと基準点71eとの距離であり、複数の基準点又は線形補間の点の中で最短距離の値である。接近判定部67は、グループ分けされた干渉物データ76の少なくとも一つの干渉物とロボット2との距離が閾値以下の場合、干渉物とロボット2とが接近していると判定する。
図4の例では、接近判定部67は、距離78a又は78bの少なくとも一方が閾値以下の場合、干渉物とロボット2とが接近していると判定する。
【0044】
前述の説明では、接近判定部67は、干渉物とロボット2との距離に基づいて干渉物とロボット2とが接近しているか否かを判定するものとしたが、更に、干渉物とロボット2との相対速度に基づいて判定しても良い。例えば、接近判定部67は、前回の点群データ取得時から今回の点群データ取得時までの干渉物とロボット2との相対的な位置の変位を求め、前回の点群データ取得時から今回の点群データ取得時までの時間で割ることによって、干渉物とロボット2との相対速度を算出できる。そして、例えば、接近判定部67は、干渉物とロボット2との距離の閾値について、干渉物とロボット2との相対速度に比例する値を用いる。これにより、干渉物とロボット2との近づく速度が速い場合でも、危険回避が可能なタイミングで危険回避命令を通知できる。
【0045】
また、前述の説明では、接近判定部67は、干渉物を近似する空間図形と、ロボット2の位置を示す点(基準点又は線形補間の点)との距離を、干渉物とロボット2との距離として算出したが、他の算出方法でも良い。例えば、接近判定部67は、干渉物を近似する空間図形と、ロボット2を近似する空間図形(ロボットオブジェクト)との距離を算出するものとしても良い。また、例えば、接近判定部67は、干渉物データ76に含まれる点と、ロボット2を近似する空間図形との距離を算出するものとしても良い。また、例えば、接近判定部67は、干渉物データ76に含まれる点と、ロボット2の位置を示す点との距離を算出するものとしても良い。これらを纏めると、接近判定部67は、干渉物データ76に含まれる点又は干渉物データに従って定義される空間図形と、ロボットモデル70に含まれる点又はロボットモデル70に従って定義される空間図形との距離を、干渉物とロボット2との距離として算出する。
【0046】
図3の説明に戻る。接近判定部67によって干渉物とロボット2とが接近していると判定された場合(ステップS6のYes)、3次元センサ制御装置4bの動作命令通知部68は、ロボット2が動作中か否か確認する(ステップS7)。ロボット2が動作中の場合(ステップS7のYes)、動作命令通知部68は、危険回避命令としてロボット2の停止命令をロボット制御装置4aに通知し、ステップS1に戻る(ステップS8)。ロボット2が動作中ではない場合(ステップS7のNo)、動作命令通知部68は、何もせずにステップS1に戻る。
【0047】
一方、接近判定部67によって干渉物とロボット2とが接近していないと判定された場合(ステップS6のNo)、動作命令通知部68は、ロボット2が動作中か否か確認する(ステップS9)。ロボット2が動作中の場合(ステップS9のYes)、動作命令通知部68は、何もせずにステップS1に戻る。ロボット2が動作中ではない場合(ステップS9のNo)、動作命令通知部68は、制限緩和命令としてロボット2の動作再開命令をロボット制御装置4aに通知し、ステップS1に戻る(ステップS10)。
【0048】
ステップS8において通知される危険回避命令は、停止命令に限らず、例えば、減速命令や接触回避経路に沿った経路変更命令等でも良い。同様に、ステップS10において通知される制限緩和命令は、動作再開命令に限らず、例えば、加速命令や最短経路に沿った経路変更命令等でも良い。
【0049】
以上の通り、本発明の実施形態のロボットシステム1によれば、ロボット2と干渉物とを識別し、干渉物の接近を検知できる。本発明の実施形態のロボットシステム1では、3次元センサ3を用いるので、3次元センサ3の設置場所や、ロボット2と3次元センサ3との位置関係を適切に設定すれば、広範囲に干渉物の接近を検知できる。また、本発明の実施形態のロボットシステム1は、ロボット2の形状や大きさに関わらず適用可能なので、ロボット2の機種ごとにハードウエアの構成を変える必要がなく、システムの導入が容易である。
【0050】
また、従来技術における静電容量方式の近接センサの場合、静電容量の変化を検出できる距離が短く、干渉物の接近を検知した後に危険回避行動が間に合わない恐れがある。一方、本発明の実施形態のロボットシステム1では、静電容量方式の近接センサではなく、広範囲で干渉物の接近を検知できる3次元センサ3を用いるので、危険回避動作が間に合うタイミングで干渉物の接近を検知できる。
【0051】
また、従来技術における静電容量方式の近接センサの場合、検出面に水滴がついたり、湿度が変化したりすると、干渉物の検出が不安定になる。一方、本発明の実施形態のロボットシステム1では、湿度等の環境の変化に影響されない3次元センサ3を用いるので、環境の変化に関わらず安定的に干渉物の接近を検知できる。
【0052】
以上、添付図面を参照しながら、本発明に係るロボットシステム等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0053】
1………ロボットシステム
2………ロボット
3………3次元センサ
4………制御装置
4a………ロボット制御装置
4b………3次元センサ制御装置
21………ロボットアーム
22………据付ベース
23………エンドエフェクタ
51………ロボット動作制御部
52………関節角度提供部
61………3次元センサ動作制御部
62………リンクパラメータ記憶部
63………点群データ取得部
64………関節角度取得部
65………ロボットモデル生成部
66………干渉物データ設定部
67………接近判定部
68………動作命令通知部
70………ロボットモデル
71a~71e………基準点
72a~72j………線形補間の点
73a~73d………線分
74a~74o………球(ロボットオブジェクト)
75………点群データ
76………干渉物データ
77a、77b………バウンディングボックス
78a、78b………距離
【要約】
【課題】ロボットと干渉物とを識別し、干渉物の接近を検知する。
【解決手段】ロボットシステムの制御装置4は、ロボットのリンクパラメータの値を記憶するリンクパラメータ記憶部62と、3次元センサから点群データを取得する点群データ取得部63と、ロボットアームの各関節の現在の関節角度を取得する関節角度取得部64と、リンクパラメータ及び関節角度に基づいて、ロボットの現在の姿勢と同様な姿勢を示すロボットモデルを生成するロボットモデル生成部65と、ロボットモデルを用いて点群データから少なくともロボットを示す点を除去し、残りの点群データを干渉物データとして設定する干渉物データ設定部66と、干渉物データ及びロボットモデルを用いて干渉物とロボットとの距離を算出し、距離に基づいて干渉物とロボットとが接近しているか否かを判定する接近判定部67と、を備える。
【選択図】
図2