JP3937080B2 - ロボットの干渉判断方法および制御装置 - Google Patents
ロボットの干渉判断方法および制御装置 Download PDFInfo
- Publication number
- JP3937080B2 JP3937080B2 JP2002178226A JP2002178226A JP3937080B2 JP 3937080 B2 JP3937080 B2 JP 3937080B2 JP 2002178226 A JP2002178226 A JP 2002178226A JP 2002178226 A JP2002178226 A JP 2002178226A JP 3937080 B2 JP3937080 B2 JP 3937080B2
- Authority
- JP
- Japan
- Prior art keywords
- robot
- sphere
- radius
- interference
- robot arm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Manipulator (AREA)
Description
本発明はロボットアームのリアルタイム干渉判断方法および制御装置に関する。
【0002】
【従来の技術】
従来、ロボット制御装置によるロボットアームの干渉領域チェック機能は、ロボットアームに取り付けられたハンド先端部が、ロボットアームの動作空間領域で任意の点座標位置へ移動動作をしようとしたとき、干渉領域に侵入するかどうかを判定する機能である。前述のハンド先端部は3次元立体形状ではなく、ポイントとしての干渉領域への侵入を判定するものである。このような場合には、ハンド部の先端部の位置だけがチェックの対象となっており、ロボットアーム自体が干渉領域に入っているかどうかは不明であった。このため、シミュレータなどを使用して、ロボットの軌道と干渉領域をコンピュータに入力してロボットアームの干渉を判断していた。
【0003】
また、特開2001−315087号にロボットアームの干渉チェック方法が開示されている。図9を用いて説明する。ロボットアームを簡単な四角柱の組み合わせでモデル化し、最初に四角柱21、22Aおよび23の上面および底面と干渉領域27の上面および底面とのZ軸現在位置を比較し、干渉チェック後、干渉の可能性ありと判定された四角柱21および23のXY平面投影図である四角柱31および33と干渉領域27のXY平面投影図である四角形34とのXY座標現在位置を比較し干渉をチェックする方法である。
【0004】
【発明が解決しようとする課題】
上述したように、オフラインによる干渉チェック方法では、実際のロボットの干渉領域との位置関係をコンピュータに再現することは非常に困難であり、その干渉領域のデータを入力するという作業が必要であった。また、リアルタイムで修正を行うようなセンシング機能を持つロボットシステムでは、オフラインによる干渉チェックは不可能であった。
また、特開2001−315087号に開示されている方法では、水平多関節ロボットに関しては有効であるが、垂直多関節ロボットにおいては、各アームをXY平面に投影するなどの処理において、アームとアームの位置関係を求める必要があり、この位置関係は非常に複雑となるためにリアルタイムでの演算は複雑となるという問題があった。
上述した問題を解決するため、本発明は、設定された干渉領域とロボットの干渉判断方法において、干渉領域を複数の球で表現し、アームを直線で表現し、球と直線という幾何学的に単純な図形を用いて、図形間の距離関係のみで干渉の有無を判断でき、計算を短時間で行える干渉判断方法および、その干渉判断方法を行うロボットの制御装置を提供する。
【0005】
【課題を解決するための手段】
本発明の請求項1記載のロボットの干渉判断方法は、多関節ロボットのロボットアームと前記ロボットの動作範囲内の指定位置を頂点とする直方体として設定された干渉領域との干渉を判断するロボットの干渉判断方法において、前記直方体の6つの面について各面の4つの頂点を通り所定の半径を持つ6つの外球を求めるとともに、前記直方体のすべての頂点を通る外接球を求め、 前記6つの外球および前記外接球のそれぞれの半径と中心位置を記憶し、前記ロボットアームの長軸方向の中心線と前記6つの外球の中心との各距離をそれぞれ求め、前記各距離のうち少なくとも1つが前記ロボットアームの半径と対応する前記外球の半径との和より小さい場合には、該当する前記外球の半径を前記ロボットアームの半径だけ大きくした球と前記中心線との交点をそれぞれについて求め、前記交点のうち少なくとも1つが前記外接球の内部に存在する場合に干渉状態と判断することを特徴とするものである。
本発明の請求項2記載のロボットの制御装置は、多関節ロボットのロボットアームと前記ロボットの動作範囲内の指定位置を頂点とする直方体として設定された干渉領域との干渉を判断するロボットの制御装置において、前記直方体の6つの面について各面の4つの頂点を通り所定の半径を持つ6つの外球を求めるとともに、前記直方体のすべての頂点を通る外接球を求め、前記6つの外球および前記外接球のそれぞれの半径と中心位置を記憶し、前記ロボットアームの長軸方向の中心線と前記6つの外球の中心との各距離をそれぞれ求め、前記各距離のうち少なくとも1つが前記ロボットアームの半径と対応する前記外球の半径との和より小さい場合には、該当する前記外球の半径を前記ロボットアームの半径だけ大きくした球と前記中心線との交点をそれぞれについて求め、前記交点のうち少なくとも1つが前記外接球の内部に存在する場合に干渉状態と判断することを特徴とするものである。
【0006】
【発明の実施の形態】
本発明の第1の実施の形態について、図1、図2、図3を用いて説明する。
図1は、本発明のフローである。まず、干渉領域3を構成する複数の面ごとに各面の頂点を通る外球5、6、7、8、9、10を求める。干渉領域3を直方体とすると、6つの面が存在するため、6つの球を求める。次に、干渉領域3の6つの頂点を通る外接球を求める。次に、ロボットアームと外球5、6、7、8、9、10との交点を求める。この交点が外接球11内にある場合には、干渉状態と判断し、交点が外接球内11に無い場合には、干渉していないと判断する。以下に、図を用いて詳細に説明する。
図2は、本発明の概要図を示したものである。ロボット1は、ロボット制御装置2によって動作制御される。図3は、球5と干渉領域3の側面図であり、干渉領域3の場合を例に説明する。図4は、図3の幾何学配置を示す図である。図5は、実行時以前の干渉領域の設定フローである。以下に図に基づいて、干渉領域3の設定手順について説明する。
【0007】
ステップ1では、操作者は、図3に示すP1、P2、P3、P4の点を教示する。干渉領域3を定義する点にロボット1を移動させ、ロボット制御装置に4点の位置データを記憶させる。または、ロボット1に教示させたい座標系の数値を入力する方法もある。このとき、入力される座標値の座標系を指定する必要がある。この場合には、操作者が定義した座標系とロボットの固有な座標系との関係は、予め定義しておく必要がある。前述したロボットの固有な座標系とは、ロボットが本来動作するために演算される座標系である。また、直方体の各頂点の位置を教示してもよい。この場合には、各頂点位置には、教示誤差が含まれているので、各辺のもっとも大きくなるものを選択する。
【0008】
ステップ2では、球5の中心Q5、半径r5を求める。設定されている点P1、P2、P3をP1(x1,y1,z1)、P2(x2,y2,z2)、P3(x3,y3,z3)とおく。ここで、球5の中心Q5(xc,yc,zc)は、P1とP2の中点とP2とP3の中点を通る直線L1上に存在する。ここで、直線L1は、点P1、P2、P3で作成される面Sとの交点をPSとするとPSから球5の半径方向に距離dはなれた球5上の点PDを通るものとする。この距離dは、ロボット制御装置2に予め設定されているパラメータ、または干渉領域設定時にユーザが設定するパラメータでもよい。図4に基づいて中心Q5を求める。点P3から点P2までの距離をaとおくと
【0009】
【数1】
【0010】
である。角θは、
【0011】
【数2】
【0012】
となる。△Q5P3PSに着目すると中心Q5から点PSまでの距離bは
【0013】
【数3】
【0014】
となる。また半径r5は、
【0015】
【数4】
【0016】
となる。ここで、点P1、P2、P3の作る平面Sの方程式は、
【0017】
【数5】
【0018】
となる。この平面Sの法線ベクトルと直線L1の方向ベクトルは、等しく、かつ直線L1は、点PSを通るので直線L1の方程式は、
【0019】
【数6】
【0020】
となり、点PSから中心Q5までの距離がbであることから、点Q5は、
【0021】
【数7】
【0022】
となる。
【0023】
ステップ3、4、5、6、7では、ステップ2の処理と同様な方法により球6、7、8、9、10の中心と半径を求める。
ステップ8では、干渉領域3の各頂点を通る外接球11の中心と半径を求める。
点P1、P2、P3、P4により球11の中心Cg(xg、yg、zg)、半径rgは、
【0024】
【数8】
【0025】
となる。
【0026】
ステップ9では、ロボット制御装置2内の記憶メモリに球の半径と中心位置を記憶する。
【0027】
次に、干渉チェック方法について、図6のフローに基づいて説明する。図7に干渉判断時の幾何学的な図を用いて説明する。
ステップ1では、ロボットの各アームについて、直線の方程式を求める。ロボット1の上腕アームAを直線L2とする。直線L2の方程式を
【0028】
【数9】
【0029】
とおく。
【0030】
ステップ2では、予め求めておいた球5、6、7、8、9、10、11の中心と半径を読み出す。
ステップ3では、球5、6、7、8、9、10の中心から直線L2へ下ろした垂線の長さを求める。球5の中心Q5(xq、yq、zq)とすると、直線L2に下ろした垂線の長さh5は、
【0031】
【数10】
【0032】
となる。
【0033】
ステップ4では、各球の中心から直線L2に下ろした垂線の長さから各球の半径を減じたものが、ロボットアームの半径より大きいかどうか判定する。
ステップ5では、すべての球の中心から下ろした垂線の長さから各球の半径を減じたものが、ロボットアームの半径より大きいので、干渉なしと判断する。
ステップ6では、球5、6、7、8、9、10の中心から直線L2へ下ろした垂線の長さから各球の半径を減じたものが、ロボットアームの半径より小さいものが少なくとも1つある場合である。この場合、その球の半径にロボットアームの半径を加算した球と直線L2の交点を求める。
【0034】
ステップ7では、ステップ6で求めた交点が、外接球11の内部にあるかどうか判断する。ステップ8では、外接球11の内部に交点がひとつでもあれば、干渉していると判断する。ステップ9では、外接球11の内部には交点がないので、干渉なしと判断する。
【0035】
本発明の第2の実施の形態について、図8を用いて説明する。
図8は、説明を簡単にするための平面図である。干渉領域を直方体とした場合、外球は、第1の実施の形態で説明したとおり5、6、7、8、9、10の外球となる。これらの外球の中心とロボット1の制御点(作業ツールなどの先端の点)との距離が外球5、6、7、8、9、10の半径より小さいかどうかを判定し、全ての外球の中に存在する場合には、ロボット1が干渉状態であると判断する。
【0036】
上記のように、本発明によれば、球と直線の幾何学的な距離で干渉を判断できるので、動作指令実行時にリアルタイムでロボットの干渉を検出することが可能である。この干渉判断方法は、ロボット制御装置内で実現される。処理するタイミングは、プレイバック中であれば、ロボットの軌道を作成するタイミングである。これは、外部からのセンサ等の信号によって軌跡が変化する場合のことを考慮して、実際のロボットアームを駆動する位置演算指令を生成するタイミングで処理する。また、ティーチング中に処理するタイミングは、操作者からの指示により、ロボット制御装置が移動指令を受信した後に処理を行う。このようにすることで、実際にロボットが移動する前に干渉を判断し、ロボットを停止させることが可能となる。
また、複雑な干渉領域をもつものについては、直方体を組み合わせることで実現することができる。
【0037】
【発明の効果】
以上のように本発明では、干渉領域を複数の球とその領域の外接球でモデル化し、複数の球および外接球とロボットアームの位置関係から干渉の有無を判断することができる。さらに、球と直線という幾何学的に単純な図形を用いて、図形間の距離関係のみで干渉の有無を判断できるため、計算を短時間で行えるという格別の効果を奏するものである。
【図面の簡単な説明】
【図1】本発明のフロー
【図2】本発明の概要図
【図3】干渉領域と球との側面図
【図4】干渉領域の幾何学的な図
【図5】干渉領域設定時フロー
【図6】本発明の干渉判断のフロー
【図7】干渉判断時の幾何学的な図
【図8】第2の実施形態の概要図
【図9】従来技術の説明図
【符号の説明】
1:ロボット
2:ロボット制御装置
3:干渉領域
5、6、7、8、9、10:面の頂点を通る外球
11:外接球
Claims (2)
- 多関節ロボットのロボットアームと前記ロボットの動作範囲内の指定位置を頂点とする直方体として設定された干渉領域との干渉を判断するロボットの干渉判断方法において、
前記直方体の6つの面について各面の4つの頂点を通り所定の半径を持つ6つの外球を求めるとともに、前記直方体のすべての頂点を通る外接球を求め、
前記6つの外球および前記外接球のそれぞれの半径と中心位置を記憶し、
前記ロボットアームの長軸方向の中心線と前記6つの外球の中心との各距離をそれぞれ求め、
前記各距離のうち少なくとも1つが前記ロボットアームの半径と対応する前記外球の半径との和より小さい場合には、該当する前記外球の半径を前記ロボットアームの半径だけ大きくした球と前記中心線との交点をそれぞれについて求め、前記交点のうち少なくとも1つが前記外接球の内部に存在する場合に干渉状態と判断することを特徴とするロボットの干渉判断方法。 - 多関節ロボットのロボットアームと前記ロボットの動作範囲内の指定位置を頂点とする直方体として設定された干渉領域との干渉を判断するロボットの制御装置において、
前記直方体の6つの面について各面の4つの頂点を通り所定の半径を持つ6つの外球を求めるとともに、前記直方体のすべての頂点を通る外接球を求め、
前記6つの外球および前記外接球のそれぞれの半径と中心位置を記憶し、
前記ロボットアームの長軸方向の中心線と前記6つの外球の中心との各距離をそれぞれ求め、
前記各距離のうち少なくとも1つが前記ロボットアームの半径と対応する前記外球の半径との和より小さい場合には、該当する前記外球の半径を前記ロボットアームの半径だけ大きくした球と前記中心線との交点をそれぞれについて求め、前記交点のうち少なくとも1つが前記外接球の内部に存在する場合に干渉状態と判断することを特徴とするロボットの制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002178226A JP3937080B2 (ja) | 2002-06-19 | 2002-06-19 | ロボットの干渉判断方法および制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002178226A JP3937080B2 (ja) | 2002-06-19 | 2002-06-19 | ロボットの干渉判断方法および制御装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004017245A JP2004017245A (ja) | 2004-01-22 |
JP2004017245A5 JP2004017245A5 (ja) | 2005-10-06 |
JP3937080B2 true JP3937080B2 (ja) | 2007-06-27 |
Family
ID=31176016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002178226A Expired - Fee Related JP3937080B2 (ja) | 2002-06-19 | 2002-06-19 | ロボットの干渉判断方法および制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3937080B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009072383A1 (ja) | 2007-12-07 | 2009-06-11 | Kabushiki Kaisha Yaskawa Denki | ロボット動作規制方法並びにロボットシステム及びロボット動作規制装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4798552B2 (ja) * | 2007-11-14 | 2011-10-19 | 株式会社安川電機 | ロボットの領域監視方法および制御装置 |
ITTO20110994A1 (it) * | 2011-10-31 | 2013-05-01 | Comau Spa | Metodo per il controllo di almeno due robot aventi rispettivi spazi di lavoro includenti almeno una regione in comune |
CN115122334B (zh) * | 2022-07-27 | 2023-06-06 | 中迪机器人(盐城)有限公司 | 一种操作机器人的控制方法及系统 |
-
2002
- 2002-06-19 JP JP2002178226A patent/JP3937080B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009072383A1 (ja) | 2007-12-07 | 2009-06-11 | Kabushiki Kaisha Yaskawa Denki | ロボット動作規制方法並びにロボットシステム及びロボット動作規制装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2004017245A (ja) | 2004-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10737396B2 (en) | Method and apparatus for robot path teaching | |
JP3537362B2 (ja) | ロボットシステム用グラフィック表示装置 | |
JP5872894B2 (ja) | ロボット動作教示支援装置及び方法 | |
JP5025598B2 (ja) | 干渉チェック制御装置および干渉チェック制御方法 | |
JP2006048244A (ja) | 加工プログラム作成装置 | |
JP2012223845A (ja) | ロボットの着目部位と周辺物との干渉を予測する方法及び装置 | |
CN108687767B (zh) | 离线编程装置以及离线编程方法 | |
JP2006289580A (ja) | プログラムの教示点修正方法及びプログラム教示点修正装置 | |
JP7215056B2 (ja) | 建築作業装置および建築作業方法 | |
JP5495915B2 (ja) | 作業マニピュレータのセンシング動作生成方法及びセンシング動作生成装置 | |
JP7061013B2 (ja) | 経路補正方法及び多軸加工機の制御装置 | |
JPH08328632A (ja) | ロボット動作のシミュレーション方法 | |
JP3937080B2 (ja) | ロボットの干渉判断方法および制御装置 | |
JP2001315087A (ja) | ロボットアームのリアルタイム干渉チェック方法 | |
JP3517529B2 (ja) | 画像入力型ロボットシステム | |
JP7500947B2 (ja) | 干渉評価装置、方法、及びプログラム | |
JP7332015B2 (ja) | 建築作業装置および建築作業方法 | |
JP3065579B2 (ja) | ロボットの干渉チェック方法 | |
JPH09212225A (ja) | ロボットの教示装置 | |
JP2006072673A (ja) | 溶接ロボットのポジショナ設定方法 | |
JP2000039911A (ja) | ロボット制御装置 | |
JP2000094370A (ja) | ロボットの作業表面の傾き測定方法およびその測定装置 | |
JP2000112510A (ja) | ロボットの教示方法及びその装置 | |
US20220355478A1 (en) | Robot slider position setting device, robot slider position setting method, and robot slider position setting program | |
JP4798552B2 (ja) | ロボットの領域監視方法および制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050520 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050520 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061019 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061026 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061221 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070226 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070311 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050520 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100406 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110406 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120406 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120406 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130406 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140406 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |