JP3647404B2 - Motion path setting method and setting device for articulated robot - Google Patents
Motion path setting method and setting device for articulated robot Download PDFInfo
- Publication number
- JP3647404B2 JP3647404B2 JP2001283952A JP2001283952A JP3647404B2 JP 3647404 B2 JP3647404 B2 JP 3647404B2 JP 2001283952 A JP2001283952 A JP 2001283952A JP 2001283952 A JP2001283952 A JP 2001283952A JP 3647404 B2 JP3647404 B2 JP 3647404B2
- Authority
- JP
- Japan
- Prior art keywords
- point
- articulated robot
- work
- operation path
- path setting
- 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
Images
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
- Resistance Welding (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、多関節ロボットの動作経路設定方法および設定装置に関し、特に、多関節ロボットの先端部に設けられたエンドエフェクタが、所定の作業点間を動作するための経路を設定するための多関節ロボットの動作経路設定方法および設定装置に関する。
【0002】
【従来の技術】
従来、製造ラインに設置された多関節ロボットを直接操作させて作業姿勢のティーチングを行おうとすると、多関節ロボットの操作を熟知したオペレータが製造ラインの現場で作業を行わなければならないため、その分作業が非効率的となってしまう。また、その作業は、製造ラインを停止された状態で行う必要があるために当該製造ラインの稼動率も低下してしまう。
【0003】
そこで、近時前記ティーチング作業の効率化を図るため、あるいは、前記製造ラインの稼動率を向上させるために、オフラインによるティーチング(オフラインティーチング)が行われている。すなわち、コンピュータ上に多関節ロボット並びに作業対象物であるワークおよび周辺構造物のモデルを構築し、このモデルを用いてティーチングデータを作成した後、前記ティーチングデータを現場の多関節ロボットに供給するようにすれば、ティーチングデータの作成中に製造ラインを停止させる必要がない。
【0004】
【発明が解決しようとする課題】
ところで、従来技術によるオフラインティーチングは、必ずしも広範に利用されてはいない。
【0005】
なぜならば、多関節ロボットは様々な周辺構造物、ワーク等との干渉(接触等)を回避する必要があることは当然であるが、周辺構造物の種類が多い場合やワークの形状が複雑である場合にはそれらの障害物を回避する動作経路を設定することは困難であるからである。
【0006】
より具体的には、多関節ロボットのとりうる姿勢全てについて干渉の調査を行う総当たり法は、計算量が膨大になり実用的でなく、また、所謂、数理計画などの最適化手法は解法が存在しないことがある。またさらに、乱数を利用した確率的手法では、解が収束する保証がないことおよび計算の再現性がないことが問題となっている。
【0007】
これらの問題を解決するためにいくつかの手法が提案されている。
【0008】
例えば、出発点と到達点とを含む平面を利用する手法(特許第2875498号公報参照)がある。この手法では、規定した平面上において障害物の断面を適当に拡大した進入禁止領域を規定し、この進入禁止領域の頂点を通る動作経路を設定して干渉を回避する。しかしながら、この手法においては、進入禁止領域との干渉をその都度検証して動作経路を設定するために、検証作業が繁雑になるとともに動作経路が複雑になる。さらに、動作経路が適正であっても、多関節ロボットが実際にその動作経路上を動作することができるのか否かを各軸の動作範囲等の観点から検証することができない。
【0009】
また例えば、他の手法として、生産現場において障害物の位置や形状を専用のコントローラで入力指示して動作経路を設定する手法(特開平9−81228号公報参照)がある。しかしながら、この手法においては、生産現場にて実機を動作させながら教示させるので、自動で動作経路を設定することはできない。
【0010】
本発明はこのような課題を考慮してなされたものであり、多関節ロボットのエンドエフェクタをワーク上の作業点から引き抜く狭域動作経路と、作業点間または引き抜き位置間を移動する広域動作経路とを、自動的に効率よく設定することを可能にする多関節ロボットの動作経路設定方法および設定装置を提供することを目的とする。
【0011】
【課題を解決するための手段】
本発明に係る多関節ロボットの動作経路設定方法は、エンドエフェクタをワークに対する作業点間で動作させる多関節ロボットの動作経路設定方法において、前記ワークの作業点に配置される前記エンドエフェクタが、前記ワークおよび他の障害物に対し非干渉状態を保ちながら、前記作業点から前記ワークの端部近傍の点まで退避する狭域動作経路を、前記作業点近傍における前記ワークおよび前記障害物の形状に基づいて各作業点に対応して設定し、前記端部近傍の点を得る第1のステップと、2つの前記端部近傍の点のうち一方の点を出発点、他方の点を到達点とし、前記出発点から前記到達点まで動作する広域動作経路を、予め決められた規定動作を組み合わせることにより設定する第2のステップとを有し、前記第1のステップは、前記エンドエフェクタのアームまたは電極により一部包囲された内部空間を規定するステップと、前記ワークのうち、前記内部空間に存在する対象ワーク部分を抽出するステップと、前記多関節ロボットを動作させたときに、前記エンドエフェクタと前記対象ワーク部分との干渉の有無を調査するステップとを有することを特徴とする。
【0012】
これにより、ワークの作業点からエンドエフェクタを引き抜く狭域動作経路の設定と、狭域動作経路によって引き抜いた点間を結ぶ広域動作経路を移動する広域動作経路の設定とを、連係するようにしたので、多関節ロボットの動作経路を自動的に効率よく設定することができる。
【0013】
ここで、多関節ロボットおよびエンドエフェクタはコンピュータによるプログラム処理でモデルとして構成された仮想のものである。
【0015】
そして、前記第2のステップは、前記出発点と前記到達点とを結ぶ経路を想定し、前記エンドエフェクタを前記経路上に動作させることが可能であるか否かを調査する第3のステップと、前記第3のステップで、前記経路上を動作させることが不可能である場合に、前記出発点または前記到達点から前記エンドエフェクタを規定方向へ規定距離だけ動作する退避経路を設定する第4のステップとを有していてもよい。
【0016】
さらに、前記規定方向は、前記出発点または前記到達点における前記エンドエフェクタの姿勢を基準とした所定の方向としてもよい。
【0017】
さらにまた、前記規定方向は、前記出発点または前記到達点と、空間上の定点とを結ぶ方向としてもよい。
【0018】
前記退避経路の終点を新たな出発点または到達点として規定し、前記第3のステップおよび第4のステップを再度実行するようにしてもよい。
【0019】
また、本発明に係る多関節ロボットの動作経路設定装置は、エンドエフェクタをワークに対する作業点間で動作させる多関節ロボットの動作経路設定装置において、前記ワークの作業点に配置される前記エンドエフェクタが、前記ワークおよび他の障害物に対し非干渉状態を保ちながら、前記作業点から前記ワークの端部近傍の点まで退避する狭域動作経路を、前記作業点近傍における前記ワークおよび前記障害物の形状に基づいて各作業点に対応して設定し、前記端部近傍の点を得る狭域動作経路設定部と、2つの前記端部近傍の点のうち一方の点を出発点、他方の点を到達点とし、前記出発点から前記到達点まで動作する広域動作経路を、予め決められた規定動作を組み合わせることにより設定する広域動作経路設定部とを有し、前記狭域動作経路設定部は、前記エンドエフェクタのアームまたは電極により一部包囲された内部空間を規定し、前記ワークのうち、前記内部空間に存在する対象ワーク部分を抽出し、前記多関節ロボットを動作させたときに、前記エンドエフェクタと前記対象ワーク部分との干渉の有無を調査することを特徴とする。
【0020】
【発明の実施の形態】
以下、本発明に係る多関節ロボットの動作経路設定方法および設定装置の実施の形態例を図1〜図21を参照しながら説明する。
【0021】
本実施の形態における多関節ロボットの動作経路設定方法および設定装置は、基本的には、多関節ロボットの先端部に設けられたエンドエフェクタを、ワーク上の作業点から引き抜く狭域動作時には、ガンユニットが包囲する内部空間内で、ワークが存在する部分を抽出して干渉を調査しながら動作経路を設定するものである。また、引き抜き位置間を移動する広域的な動作時には、出発点から規定方向へ規定距離だけ移動するテンプレート動作を組み合わせながら動作させ、障害物を回避しながら到達点へ移動させる動作経路を設定する。
【0022】
図1に示すように、本実施の形態において使用するオフラインティーチング装置(動作経路設定装置)10は多関節ロボット50の動作のティーチングを行うものであり、作成されたティーチングデータに基づき作業対象物に対して所望の作業を行うロボット装置12と連係されている。
【0023】
また、ロボット装置12は、多関節ロボット50と、ティーチングデータに基づいて前記多関節ロボット50の動作制御を行うロボット制御部22とを備える。
【0024】
図2に示すように、オフラインティーチング装置10を構成する制御部14は、オフラインティーチング装置10の全体の制御を行う制御手段としてのCPU(コンピュータ)26と、記憶部であるROM28およびRAM29と、ハードディスク34に対してデータのアクセスを行うハードディスクドライブ(HDD)39と、モニタ16の画面上における描画制御を行う描画制御回路30と、入力装置としてのキーボード18およびマウス20が接続されるインタフェース回路32と、外部記録媒体36a(例えば、フレキシブルディスクやコンパクトディスク等)を制御する記録媒体ドライブ36と、ティーチングデータを作成するデータ作成回路38と、ティーチングデータに基づきモニタ16の画面上でシミュレーションを行うシミュレーション回路40とを有する。このシミュレーション回路40は、3次元CADをベースにしており前記モデルを作成し、また該モデル相互の干渉を調査する機能等を有する。
【0025】
ハードディスク34には、多関節ロボット50の動作経路を設定する機能をもつ動作経路設定プログラム35、動作経路を設定するための条件である条件データ37および図示しないOS等が格納されている。
【0026】
動作経路設定プログラム35は、ワーク80(図5参照)の上の点、例えば溶接ポイントT0に配置されたガンユニット(エンドエフェクタ)68が、ワーク80等に非干渉状態を保ちながら、ワーク80の端部近傍の点まで退避する狭域動作経路を、ワーク80の形状等に基づいて設定する狭域動作経路設定部35aと、空間上の任意の2点を出発点P1(図17参照)および到達点P2とし、予め決められた規定動作を組み合わせることにより、出発点P1から到達点P2まで動作する広域動作経路を設定する広域動作経路設定部35bとを有する。
【0027】
図3に示すように、多関節ロボット50は、取付台である第1ベース54に対して、先端側に向かって順に、第2ベース56、第1リンク58、第2リンク60、第3リンク62、第4リンク64およびガン着脱部66が接続されている。先端のガン着脱部66にはガンユニット68が接続されている。
【0028】
第2ベース56は鉛直軸である軸J1を中心にして第1ベース54に対して旋回可能に軸支されている。第1リンク58の基端部は水平軸である軸J2により第2ベース56に俯仰可能に軸支されている。また、第2リンク60の基端部は水平軸である軸J3により第1リンク58の先端部に揺動可能に軸支されている。そして、第3リンク62は第2リンク60の先端側に軸J4を共通の回転中心軸として接続されている。さらに、第4リンク64の基端部は軸J4に対して直角方向の軸J5により第3リンク62の先端部に揺動可能に軸支されている。ガン着脱部66は第4リンク64の先端側に軸J6を共通の回転中心軸として接続されている。
【0029】
ガン着脱部66に接続されたガンユニット68はいわゆるC型溶接ガンであり、アーチ状のアーム74の両端部には、軸J6上に沿って開閉する一対の電極70、72を有する。この電極70、72は閉状態では軸J6L上の溶接作業点(以下、TCP(Tool Center Point)という。)でワーク80に接触する。
【0030】
TCPから本体側の電極72の軸心に一致する方向をベクトルZrとし、ベクトルZrに直交しガンユニット68の外側に向く方向をベクトルXrとする。また、ベクトルXr、ベクトルZrに互いに直交する方向をベクトルYrとする。
【0031】
軸J1〜J6の駆動機構並びに電極70、72の開閉機構は、それぞれ図示しないアクチュエータにより駆動され、TCPは軸J1〜J6のそれぞれの回転角θ1〜θ6の値および多関節ロボット50の各部寸法により決定される。
【0032】
また、ガンユニット68はC型溶接ガンに限らず、例えば図4に示すX型溶接ガン(共通の支軸に軸支された開閉する一対のガンアームを備える溶接ガン)68aであってもよい。
【0033】
多関節ロボット50に関する座標計算および制御上の基準点として、軸J1と軸J2とが交差する点を原点(元軸の中心点)Oとして規定し、この原点Oを基準として、鉛直上向き方向を高さZ、回転角θ1がθ1=0であるときの軸J2の方向を奥行Y、高さZと奥行Yに垂直な方向を幅Xとして表す。この高さZ、幅Xおよび奥行Yにより3次元直交座標を示すものとする。
【0034】
次に、このように構成されるオフラインティーチング装置10、および動作経路設定プログラム35を用いて、多関節ロボット50の動作経路を設定する手順について図5〜図10を参照しながら説明する。
【0035】
以下の説明では、図5に示すように、薄板であるワーク80に対して溶接を行う複数の溶接ポイント(作業点)Tn(n=0、1、2…)の間を、ガンユニット68を順次移動させる例について説明する。
【0036】
溶接ポイントTnは、溶接を行う空間上の3次元直交座標値(X、Y、Z)と、ガンユニット68の姿勢を示すTCPの3つのパラメータの合計6つの値からなる。
【0037】
また、溶接ポイントTnに対して、ガンユニット68が到達可能であることは予め検証されており、溶接ポイントTnを溶接する際のガンユニット68の姿勢、つまりベクトルXr、ベクトルYrおよびベクトルZrの値も決定されているものとする。
【0038】
図6のステップS1において、オフラインティーチング装置10の操作者は、所定の操作方法により、動作経路設定プログラム35を起動させる。オフラインティーチング装置10に組み込まれているOSはハードディスク34に格納されている動作経路設定プログラム35をRAM29にロードして実行する。次のステップS2以降の処理は、この動作経路設定プログラム35により実行される。
【0039】
次に、ステップS2において、溶接ポイントTn間を接続した仮の動作経路90(図5参照)を設定する。この動作経路90は、図9に示すように直線状としてもよいし、多関節ロボット50の動作が容易な任意の曲線としてもよい。なお、後述する動作経路100、102、104、110および112についても同様である。
【0040】
次に、ステップS3において、仮の動作経路90上をガンユニット68が動作するとき、多関節ロボット50は姿勢を設定することができるか否かについて調査し、またその間で他の構造物等と干渉することがないかを調査する。
【0041】
具体的には、動作経路90を微小長さに分割した分割点を想定する。そして、この各分割点にガンユニット68を配置したときの多関節ロボット50の姿勢、つまり回転角θ1〜θ6を求める。この回転角θ1〜θ6の演算方法は分割点の空間上の位置座標(X、Y、Z)、およびガンユニット68の姿勢を表すベクトルXr、ベクトルYr、ベクトルZrで規定される合計6つの値と多関節ロボット50の各部の寸法等から周知の行列演算手法(以下、逆演算という。)を適用すればよい。
【0042】
溶接ポイントT0およびT1におけるガンユニット68の姿勢が異なる場合は、各分割点では直線補完的にガンユニット68の姿勢を示すベクトルXr、ベクトルYrおよびベクトルZrを規定すればよい。また、この調査では電極70、72は開状態として扱い、電極70、72がワーク80と干渉することがないようにする。
【0043】
各分割点毎に多関節ロボット50の姿勢が成立するならば、実際に溶接ポイントT0からT1への動作が保証される。
【0044】
次に、ステップS4において、各分割点において逆演算の解が正常に求まったか、つまり前記TCPが分割点に到達可能であるかを判断する。解が求まらなかったり、求まっていてもその角度値が軸J1〜J6の回転稼動範囲外であったり、また、求まった姿勢において多関節ロボット50が障害物82等と干渉していればステップS5へ移り、それ以外の場合、つまり解が正常に求まるならばステップS7に移る。
【0045】
ステップS5においては、溶接ポイントT0およびT1からガンユニット68を引き抜くための狭域動作経路を、狭域動作経路設定部35aの機能により設定する。この詳細な方法については後述する。
【0046】
次に、ステップS6において、狭域動作経路によって得られた2カ所の引き抜き位置Ue(図14参照)同士を出発点P1および到達点P2として設定し、ガンユニット68をこの出発点P1から到達点P2へ移動させる広域動作経路を設定する。この設定は、広域動作経路設定部35bの機能により行うものであり、その詳細な方法については後述する。
【0047】
狭域動作経路および広域動作経路を設定した後、ステップS7へ移り調査を続行する。
【0048】
ステップS7において、ステップS1で設定した動作経路90の全てについて調査を行ったかを確認して処理を終了する。未調査の動作経路90があれば、ステップS3に戻り調査を続行する。
【0049】
このようにして本実施の形態では、溶接ポイントTn間をまず動作経路90で接続し、動作経路90をそのまま適用できない場合は、ワーク80の突起部や障害物82等を回避する狭域動作経路と、狭域動作経路の設定により得られた引き抜き位置Ue間を移動するための広域動作経路を設定する。
【0050】
また、狭域動作経路の設定においては、ガンユニットが包囲する内部空間内で、ワークが存在する部分を抽出して干渉を調査するので、ワークとの干渉を回避する経路を自動的に設定することができる。
【0051】
そして、広域動作経路の設定においては、ガンユニット68を規定方向に規定距離だけ移動させるというテンプレート動作を適用するので、多関節ロボット50の広域動作経路を、ワーク80や障害物82の形状に影響を受ける複雑な演算をすることがなく、自動的に設定することができる。
【0052】
さらに、多関節ロボット50のガンユニット68をワーク80上の溶接ポイントTnから引き抜く狭域動作経路の設定と、出発点P1から到達点P2の間を移動する広域動作経路の設定とを、それぞれの処理に適応した別処理によって行うので、溶接ポイントTn間の動作経路を効率よく設定することができる。
【0053】
次に、図6のステップS5の狭域動作経路の設定方法について、図14〜図21を参照しながら説明する。
【0054】
まず、図7のステップS101において、多関節ロボット50のガンユニット68をワーク80の溶接ポイントT0を溶接する位置に設定する。
【0055】
そして、溶接ポイントT0は初期位置となるので、動作データ用の仮のパステーブル120に記録して初期化する(図10の順番1参照)。
【0056】
図10に示すように、パステーブル120は、「ガンユニットの向き」欄120a、「TCPの位置」欄120bおよび「各軸角度」欄120cから構成されており、「各軸角度」欄120cは回転角θ1〜θ6から構成されている。
【0057】
次に、図7のステップS102において、溶接ポイントT0に位置しているガンユニット68のTCPを調査開始位置Tsとして設定する。
【0058】
次に、ステップS103において、ガンユニット68の略中央部分でアーム74および電極70、72が見渡せる位置に中央点C(図11A参照)を規定する。そして、中央点Cから所定の角度幅で放射状の直線1090を設定し、アーム74および電極70、72との交点1092を求める。
【0059】
なお、説明を簡略化するために平面上で交点1092を求めるようにしているが、実際は奥行き方向のデータも利用して立体形状における交点を求めるものであり、これに従い後述のワークモデル1096や次に述べるソリッド(またはブロック)1094も面ではなく立体形状として扱っている。
【0060】
次に、ステップS104において、図11Bに示すように複数の交点1092を線分で連結して閉区間1092aを形成する環状線1092bを設定する。そして、閉区間1092a上に所定の間隔をもつ格子状の線を設定し、この格子状の線の交点のうち閉区間1092a内に存在する交点1092cを抽出する。
【0061】
次に、ステップS105において、図12Aに示すように抽出した交点1092cを中心に正方形の面であるソリッド1094を隙間がないように埋めてガン内部空間として設定する。
【0062】
次に、ステップS106において、図12Bに示すようにワーク80をガンユニット68との相対位置が整合するように配置させる。そして、ワーク80とソリッド1094が重複する部分をワークモデル1096(図12C参照)として抽出する。このとき、ワーク80のうちソリッド1094に重複しない部分80aは干渉を調査する際に無関係になるため排除される。また、ワークモデル1096を構成している各ソリッド1094はワークソリッド1098として区別するものとし、ガンユニット68が移動した場合もワークモデル1096および各ワークソリッド1098は初期の位置が固定される。
【0063】
このように、ワーク80は複数のブロックでモデル化して扱うので処理が容易になるとともに、ワーク80のうち不要な部分(例えば、重複しない部分80a)が自動的に排除されるので無駄な処理を行うことがない。
【0064】
次に、ステップS107において、主成分分析の手法によりワークモデル1096の主成分線(または、基準線)M1を算出する。
【0065】
この主成分線M1の算出方法を詳細に説明すると、まず、図13Aに示すように各ワークソリッド1098の中心点座標1098a(Xs、Ys、Zs)を規定する。
【0066】
次に、図13Bに示すように、各中心点座標1098aと主成分線M1との距離sの二乗和が最小になるようにする。つまり、
Σ|s|2=min
となる主成分線M1を規定する。より具体的には、各中心点座標1098aから分散、共分散行列の固有値、固有ベクトルを算出し、さらにXs、Ys、ZsからX、Y、Z各座標の平均値である重心位置G1を求め、この重心位置G1を通る前記固有ベクトルが主成分線M1になる。
【0067】
以降のステップS108〜ステップS112においては、図14に示すように、調査開始位置Tsから引き抜き位置Ueまで直線状に動作させた場合に干渉がないか否かを調査する。
【0068】
すなわち、まずステップS108において、引き抜き位置Ueを求める。この引き抜き位置Ueは、図14に示すように、前記主成分線M1上の点でガンユニット68のTCPを基準とするベクトルXrを主成分線M1に一致させながら移動し、ガンユニット68および電極70、72が干渉しなくなった箇所を引き抜き位置Ueとして設定する。
【0069】
次に、ステップS109において、引き抜き位置Ueにより規定されるガンユニット68の位置および姿勢に基づいて多関節ロボット50の姿勢、つまり回転角θ1〜θ6を求める。この演算方法は引き抜き位置Ueの空間上の位置座標(X、Y、Z)およびガンユニット68の姿勢を表すベクトルXr、ベクトルYr、ベクトルZrで規定される合計6つの値から前記逆演算により求めればよい。
【0070】
次に、分岐判断のステップS110において、ステップS109の逆演算における解が正常に求まったか、つまり前記TCPが引き抜き位置Ueに到達可能かを判断する。解が求まらなかったり、求まっていてもその角度値が軸J1〜J6の回転稼動範囲外であったり、また、求まった姿勢において多関節ロボット50が他の構造物と干渉(例えば、他のワークや工場内の柱と第1リンク58、第2リンク60等と干渉)していればステップS111へ移り、そうでない場合、つまり解が正常に求まるならばステップS112へ移る。
【0071】
この干渉調査において、ガンユニットにX型溶接ガン68aを採用している場合は、特にガンユニットが開状態と閉状態の両方について調べる。
【0072】
解が正常に求まらなかった場合は、ステップS111において、ベクトルYrを中心にしてα°回転させる回転動作を行う。この回転動作は図14の二点差線で示すようにガンユニット68が引き抜き位置Ueを中心にしてワークモデル1096に干渉させない範囲で回転させることを意味する。そして、この状態のベクトルXr、ベクトルYr、ベクトルZrを求めた上でステップS109に戻る。また、角度α°はプラスとマイナスの両方向の角度として調査してもよい。
【0073】
なお、ステップS109〜ステップS111で形成されるループが何度か連続して実行された場合は、引き抜き位置Ueを主成分線M1上のより遠方位置で多関節ロボット50の姿勢が成立する適当な箇所に設定し直し、そして次のステップS112へ移る。
【0074】
またさらに、このα°回転させる処理は、ベクトルYrを中心にするだけでなく、ベクトルXrまたはベクトルZrなどの軸まわりに回転させるようにしてもよい。以下の回転の処理においても同様である。
【0075】
次に、図8に移り、ステップS112において、図14の経路V1に示すように、ガンユニット68を調査開始位置Tsから引き抜き位置Ueまで直線状に動作させて、アーム74、電極70、72とワークモデル1096とが干渉しないか調査をする。この干渉の調査は前記シミュレーション回路40が持つ機能により自動的に調査する。シミュレーション回路40を用いると、2次元的な表現であるモニタ16の画面では分からない3次元的な調査を確実に行うことができる。
【0076】
そして、分岐判断のステップS113において、前記ステップS112の調査により干渉があると判断された場合はステップS114に移り、干渉がないと判断された場合はこの1回の動作で直接引き抜き動作が可能なので終了処理であるステップS131に移る。
【0077】
このように、ワーク80の形状が単純なものである場合には、1回の動作で引き抜き経路を決定することができるので処理時間の短縮を図ることができる。
【0078】
なお、図14に示す例では経路V1を移動させる途中で、電極70がワークモデル1096の突部1096aに干渉することが明らかであり、この場合ステップS114へ移る。
【0079】
以降のステップS114〜ステップS118においては、調査開始位置Tsからワークモデル1096の重心位置G1まで直線状に動作させた場合に干渉がないか否かを調査する。
【0080】
すなわち、ステップS114においては、図15に示すように、調査開始位置Tsと前記重心位置G1とを結ぶ経路V2を規定し、そして、ベクトルXrを重心位置G1を基準にして経路V2に一致させたガンユニット68の姿勢を仮定する。
【0081】
そして、ステップS115において、この仮定した姿勢で多関節ロボット50の姿勢を前記逆演算により求める。
【0082】
次に、分岐判断のステップS116において、前記ステップS110と同様に逆演算における解が正常に求まったかを調べる。このとき逆演算処理に加えて、ガンユニット68がワークモデル1096に干渉しないかについて調査しておいてもよい。
【0083】
解が正常に求まらなかった場合は、前記ステップS111と同様に、ベクトルYrを中心にしてα°回転させる回転動作を行う(ステップS117)。そして、この状態のベクトルXr、ベクトルYr、ベクトルZrを求めた上でステップS115に戻る。
【0084】
解が求まる場合は、ステップS118において、前記ステップS112と同様に、ガンユニット68を調査開始位置Tsから重心位置G1まで経路V2に沿って直線状に動作させて干渉の調査をする。
【0085】
なお、ステップS115〜ステップS117で形成されるループが何度か連続して実行された場合は、重心位置G1へガンユニット68を配置することができないと判断し、この処理を打ち切りマスク処理であるステップS124へ移る。
【0086】
そして、前記ステップS118および後述のステップS130の調査により干渉があると判断された場合は、分岐判断のステップS119を通じてステップS124に移り、干渉がないと判断された場合はこの重心位置まで動作できたものとして次のステップS120に移る。
【0087】
このステップS120においては、その時点における多関節ロボット50の姿勢を前記パステーブル120に追加記録する。
【0088】
そして、ステップS121において、前記ステップS112と同様に、その時点におけるガンユニット68の位置から引き抜き位置Ueまで直線状に動作させて、干渉しないか調査をする。図15に示す例では主成分線M1に沿って調査することになる。
【0089】
そして、分岐判断のステップS122において、前記ステップS121の調査により干渉があると判断された場合はステップS123に移り、干渉がないと判断された場合はこの動作により引き抜き動作が可能なので終了処理であるステップS131に移る。
【0090】
干渉がある場合、ステップS123において、その時点でのガンユニット68の位置を新たな調査開始位置として、それまでの調査開始位置Tsに置き換える更新処理をする。すなわち、図15の例では重心位置G1までガンユニット68を引き抜くことができたのであるから、前記ガン内部空間から外れた部分についてはもはや考慮する必要がないと判断されるので、その時点でワークモデル1096を作り直すために調査開始位置Tsも更新する。
【0091】
また、ガンユニット68の向きはベクトルXrがその時点の主成分線の方向に一致するようにしておく。
【0092】
そして、前記ステップS106と同様にワークソリッド1096を抽出して更新し、さらに、前記ステップS107と同様に新たな主成分線M1と新たな重心位置G1を求めて、それぞれを更新した後ステップS114へ戻る。ステップS114へ戻った後はこのステップS123で求めた新たなワークソリッド1096、主成分線M1および重心位置G1に対して処理を続ける。
【0093】
このようにして、前記ガン内部空間に入らない部分については順次処理対象から除くので、複雑な形状のワーク80に対してもガンユニット68を引き抜く経路を求めることができる。
【0094】
ただし、ここでステップS114〜このステップS123で形成されるループが、ある規定した回数以上実行されている場合には、当該ワーク80に対してガンユニット68を引き抜くことは非常に困難であると判断されるので処理を打ち切って再計画を行う。
【0095】
次に、前記ステップS119において、経路Vn(n=1、2、3、…)に沿う動作により干渉があると判断された場合の処理であるステップS124〜ステップS130について説明する。この場合、ワークモデル1096のうちガンユニット68の開口部に近い部分だけを抽出(または、マスク処理)して、その抽出した部分を優先して引き抜き経路を求める。
【0096】
まず、図9のステップS124において、図16に示すように、重心位置G1を基準として、ワークモデル1096のうちガンユニット68の開口部側の部分1096bと、開口部と反対側の部分1096cに区分けする。この区分けの処理は、開口部に近い部分のみについてガンユニット68を引き抜くように処理を工夫するものであり、開口部と反対側の部分1096cは処理を保留して開口側の部分(新たな対象ワーク部分)1096bを抽出する。そして、後の処理であるステップS125〜ステップS130までは、この新たな対象ワーク部分1096bをワークモデル1096の代わりとして扱う。
【0097】
次に、ステップS125において、前記ステップS107の処理と同様に新たな対象ワーク部分1096bに関して主成分線M2および重心位置G2を求める。
【0098】
そして、ステップS126において、前記ステップS114と同様に、調査開始位置Tsと前記重心位置G2とを結ぶ経路V3を規定し、そして、ベクトルXrを重心位置G2を基準にして経路V3に一致させたガンユニット68の姿勢を仮定する。
【0099】
次に、ステップS127において、前記ステップS115と同様に、この仮定した姿勢で多関節ロボット50の姿勢を前記逆演算により求める。
【0100】
次に、分岐判断のステップS128において、前記ステップS116と同様に逆演算における解が正常に求まったかを調べる。
【0101】
解が正常に求まらなかった場合は、前記ステップS117と同様に、ベクトルYrを中心にしてα°回転させる回転動作を行い(ステップS129)、そして、ステップS127に戻る。
【0102】
解が求まる場合は、ステップS130において、前記ステップS118と同様に、ガンユニット68を調査開始位置Tsから重心位置G2まで経路V3に沿って直線状に動作させて干渉の調査をする。そして、ステップS119に戻りこの干渉調査の判断を行う。
【0103】
このように、ワークモデル1096全体を対象に経路検索をしても適当な経路が見つからない場合においても、ワークモデル1096に対してマスク処理を施すことにより、ガンユニット68の開口部に近い部分のみを優先して引き抜き経路を求めることができる。また、後の処理では前述のステップS123におけるワークモデル1096の更新処理と組み合わせることによりワークモデル1096は順次単純な形状になり引き抜き経路を求めやすくなる。
【0104】
なお、ステップS127〜ステップS129で形成されるループが何度か連続して実行された場合は、重心位置G2へガンユニット68を配置することができないと判断し、さらなるマスク処理を行うためにステップS124へ戻る。ただし、このマスク処理が所定の規定回数以上になったときは、当該ワーク80の形状にはマスク処理が有効でないと判断し、マスク処理を施さない引き抜き処理であるステップS120に戻り、再度引き抜き経路を算出する。
【0105】
また、終了処理であるステップS131においては、調査終了位置である引き抜き位置Ueの座標およびベクトルデータ等を動作データとしてのパステーブル120(図10参照)に追加し、このうち動作データであるUnを前記パステーブル120の各溶接ポイントTn間に挿入する。その後図6に示す処理に戻る。
【0106】
このように、ワークモデル1096全体を対象に経路検索をした際に適当な経路が見つからない場合であっても、ワークモデル1096に対してマスク処理を施すことにより、ガンユニット68の開口部に近い部分のみを優先して引き抜き経路を求めることができる。また、その後の処理では前述のステップS123におけるワークモデル1096の更新処理と組み合わせることによりワークモデル1096は順次単純な形状になり引き抜き経路を求めやすくなる。
【0107】
次に、図6のステップS6の広域動作経路の設定方法について、図17〜図21を参照しながら説明する。
【0108】
以下の説明では、図17に示すように、薄板であるワーク80のある出発点P1から到達点P2へガンユニット68を動作させる例について説明する。出発点P1と到達点P2との間には障害物82があるものとする。また、上述の狭域動作経路設定において求めた引き抜き位置Ueを出発点P1および到達点P2として扱うものとする。
【0109】
図18のステップS201において、オフラインティーチング装置10の操作者は、所定の操作方法により、動作経路設定プログラム35のうち広域動作経路を設定する機能を実行させる。この処理は、狭域動作経路設定の後連続して行われるようにすれば、操作者の操作は省略してもよい。
【0110】
ステップS202において、動作経路設定プログラム35は、動作経路を設定する条件である条件データ37をハードディスク34から読み出してRAM29に記憶する。さらに、条件データ37から、動作経路を設定しようとする出発点P1、到達点P2、ワーク80の形状および障害物82等の位置および形状を認識する。
【0111】
次に、ステップS203において、出発点P1と到達点P2との間を結んだ動作経路(経路)100を想定し、ガンユニット68をこの動作経路100上に動作させたときの、姿勢成立の可否および干渉の有無について調査を行う。
【0112】
具体的には、動作経路100を微小長さに分割した分割点を想定する。そして、この各分割点にガンユニット68を配置したときの多関節ロボット50の姿勢、つまり回転角θ1〜θ6を求める。この回転角θ1〜θ6の演算方法は分割点の空間上の位置座標(X、Y、Z)、およびガンユニット68の姿勢を表すベクトルXr、ベクトルYr、ベクトルZrで規定される合計6つの値と多関節ロボット50の各部の寸法等から周知の行列演算手法(以下、逆演算という。)を適用すればよい。
【0113】
出発点P1および到達点P2におけるガンユニット68の姿勢が異なる場合は、各分割点では直線補完的にガンユニット68の姿勢を示すベクトルXr、ベクトルYrおよびベクトルZrを規定すればよい。また、この調査では、電極70、72は開状態として扱い、電極70、72がワーク80と干渉することがないようにする。
【0114】
各分割点毎に多関節ロボット50の姿勢が成立するならば、実際に出発点P1から到達点P2への動作が保証される。
【0115】
次に、ステップS204において、各分割点において逆演算の解が正常に求まったか、つまり前記TCPが分割点に到達可能かを判断する。解が求まらなかったり、求まっていてもその角度値が軸J1〜J6の回転稼動範囲外であったり、また、求まった姿勢において多関節ロボット50が障害物82等と干渉していればステップS205へ移り、それ以外の場合、つまり解が正常に求まるならばステップS229において広域動作経路設定の終了処理を行う。
【0116】
干渉の有無については、シミュレーション回路40が有する干渉に関する機能を用いればよい。
【0117】
図19のステップS205において、障害物82を回避し、または姿勢を成立させるために、ガンユニット68を出発点P1から第1のテンプレート動作を適用して第1中継点Q1(新たな出発点)を設定する。
【0118】
ここで、テンプレートとは、多関節ロボット50に実行させる規定の動作を表すもので、第1のテンプレートは、図21に示すように、ガンユニット68のTCPを基準として、規定方向に規定距離だけ動作した第1中継点Q1を想定して、出発点P1と第1中継点Q1を結ぶ動作経路(退避経路)102へガンユニット68を移動する動作である。第1中継点Q1は、出発点P1の位置を移動させただけのものであり、出発点P1が有するガンユニット68の向き、つまりTCPの向きは不変であるものとする。
【0119】
一般に溶接作業を適正に行うために、ベクトルZrはワーク80に対して垂直となるように設定されていることから、規定方向は、ガンユニット68の引き抜き方向、つまりベクトルXrの逆方向とすると好適である。また、規定距離は、ガンユニット68のサイズにより、ワーク80から十分離脱できる距離を予め規定しておけばよい。一般的なサイズのガンユニットでは100mmが好適である。
【0120】
第1のテンプレートは、一般的なワークである薄板に対して有効な退避方法であり、ワークの形状に影響を受けることなく、予め決められた簡便な退避方法によって動作経路を設定することができる。
【0121】
次に、ステップS206において、第1中継点Q1における多関節ロボット50の姿勢成立の可否と、周辺障害物等との干渉の有無をステップS203と同様に調査する。
【0122】
次に、ステップS207において、ステップS206の調査の結果、第1中継点Q1における多関節ロボット50の姿勢が成立し、しかも干渉がないと判断できればステップS212へ移り、それ以外の場合にはステップS208に移る。
【0123】
ステップS208においては、第1中継点Q1で適切な姿勢を得るために、ガンユニット68を、ベクトルXr、YrまたはZrを中心にして所定角度だけ回転させた姿勢を想定する。この回転処理は、次の判断処理であるステップS209とともに行いベクトルXr、Yr、Zrの全てについて、順に回転させるものとする。
【0124】
次に、ステップS209において、所定角度ずつ回転した積算角度が360°に達したか否かを確認し、360°未満であればステップS206へ移り多関節ロボット50の姿勢判断を行う。
【0125】
ベクトルXr、ベクトルYrおよびベクトルZrのそれぞれについて360°回転させても、第1中継点Q1では適正な姿勢が得られない場合には、ステップS210において、この第1中継点Q1を出発点P1の方向へ所定距離だけ戻した位置に再設定する。すなわち、第1中継点Q1が出発点P1から100mmの距離に設定されていたならば、10mmだけ出発点P1の方向へ戻して90mmの位置に再設定する。
【0126】
次に、ステップS211において、第1中継点Q1を戻す距離の積算値を確認して、当初の点である出発点P1まで戻ってしまっているならば、処理を中断し再計画を行うものとする。出発点P1まで戻っていないならば、つまり、10〜90mmの範囲であればステップS206へ移り、多関節ロボット50の姿勢判断を行う。
【0127】
一方、ステップS212(前記ステップS207の判断で多関節ロボット50の姿勢が成立し、しかも干渉がないと判断できた場合)において、第1中継点Q1と出発点P1との間を結んだ動作経路102(図17参照)を想定し、ガンユニット68をこの動作経路102上に動作させたときの、姿勢成立の可否および干渉の有無について調査をステップS203と同様の処理によって行う。
【0128】
次に、ステップS213において、ステップS204と同様の判断を行い、動作経路102上の分割点で多関節ロボット50の姿勢が成立し、動作可能であると判断できれば、次のステップS214に移る。動作不能であると判断すれば、ステップS210へ戻り、第1中継点Q1の位置をさらに変更する。
【0129】
ステップS214では、出発点P1および到達点P2について2つの第1中継点Q1および第1中継点Q2(新たな到達点)を設定したことを確認し、次のステップS215へ移る。到達点P2に対応した第1中継点Q2が未設定であれば図19のステップS205へ戻る。
【0130】
次に、ステップS215において、2つの第1中継点Q1およびQ2を結んだ動作経路104を想定し、ガンユニット68をこの動作経路104上に動作させたときの、姿勢成立の可否および干渉の有無について調査をステップS203と同様の処理によって行う。
【0131】
次に、ステップS216において、ステップS204と同様の判断を行い、動作経路104上の分割点で多関節ロボット50の姿勢が成立し、動作可能と判断できれば図18のステップS229において広域動作経路設定の終了処理を行う。動作不能と判断すれば、次のステップS217へ移る。
【0132】
図20のステップS217において、障害物82を回避するために、ガンユニット68を第1中継点Q1から第2のテンプレート動作を適用して第2中継点R1を設定する。
【0133】
第2のテンプレートは、図21に示すように、第1中継点Q1と所定の定点106とを結ぶ線108を想定し、この線108上に第1中継点Q1から規定距離だけ移動した点を第2中継点R1とするものである。
【0134】
第2中継点R1は、第1中継点Q1を空間上の位置だけを移動させたものであり、第1中継点Q1有するガンユニット68の向き、つまりTCPの向きは不変であるものとする。
【0135】
第2のテンプレートは、すでにワーク80から離脱しているガンユニット68について、干渉する障害物82がない方向へ動作させるために、障害物82の存在する可能性の低いフリースペースとして、原点Oの方向へ動作させるものである。つまり、一般的に原点Oの近辺ほど、多関節ロボット50の動作を阻害することがないように障害物82が存在しないものであり、この方向へ向かって動作させることで障害物82を回避できる可能性が高くなり好適である。また規定距離は100mmが好適である。
【0136】
定点106としては原点O以外にも、障害物82が存在しない場所あるいは動作しやすい場所があれば、その場所を定点106としてもい。例えば、多関節ロボット50の動作範囲を空間上で表現したとき、その中心位置では最も動作の自由度が大きいと考えられるので、その位置を定点106としてもよい。
【0137】
次に、ステップS218において、第2中継点R1における多関節ロボット50姿勢成立の可否と、周辺障害物等との干渉の有無をステップS203と同様に調査する。
【0138】
次に、ステップS219において、ステップS218の調査の結果、第2中継点R1における多関節ロボット50の姿勢が成立し、しかも干渉がないと判断できればステップS224へ移り、それ以外の場合にはステップS220に移る。
【0139】
ステップS220において、第2中継点R1で適切な姿勢を得るために、ステップS208と同様にガンユニット68を、ベクトルXr、YrまたはZrを中心にして所定角度だけ回転させた姿勢を想定する。
【0140】
次に、ステップS221において、所定角度ずつ回転した積算角度が360°に達したか否かを確認し、360°未満であればステップS206へ移り多関節ロボット50の姿勢判断を行う。
【0141】
ベクトルXr、ベクトルYrおよびベクトルZrのそれぞれについて360°回転させても、第2中継点R1では適正な姿勢が得られない場合には、ステップS222において、この第2中継点R1を定点106の方向へ所定距離だけ移動した位置に再設定する。すなわち、第2中継点R1が第1中継点Q1から100mmの距離に設定されていたならば、さらに100mmだけ定点106の方向へ移動し200mmの位置に再設定する。
【0142】
次に、ステップS223において、第2中継点R1を移動する距離の積算値を確認して、定点106まで達してまっているならば、処理を中断し再計画を行う。定点106まで達していないならば、ステップS218へ移り、多関節ロボット50の姿勢判断を行う。
【0143】
ステップS224(前記ステップS219の判断で多関節ロボット50の姿勢が成立し、しかも干渉がないと判断した場合)において、第1中継点Q1と第2中継点R1を結んだ動作経路110を想定し、ガンユニット68をこの動作経路110上に動作させたときの、姿勢成立の可否および干渉の有無についての調査をステップS203と同様の処理によって行う。
【0144】
次に、ステップS225において、ステップS204と同様の判断を行う。動作経路110上の分割点で多関節ロボット50の姿勢が成立し、動作可能であると判断できれば、次のステップS226に移り、動作不能であると判断すれば、ステップS222へ戻り、第1中継点Q1の位置をさらに変更する。
【0145】
ステップS226では、第1中継点Q1およびQ2について2つの第2中継点R1およびR2を設定したことを確認し、次のステップS227へ移る。第1中継点Q2に対応した第2中継点R2が未設定であればステップS217へ戻る。
【0146】
次に、ステップS227において、2つの第2中継点R1およびR2を結んだ動作経路112を想定し、この動作経路112上の動作についてステップS203と同様の調査を行う。
【0147】
次に、ステップS228において、ステップS204と同様の判断を行い、動作経路112上の分割点で多関節ロボット50の姿勢が成立し、動作可能と判断できれば広域動作経路設定の終了処理を行う。障害物の干渉などにより、動作不能と判断すれば、ステップS222へ戻り、2つの第2中継点R1、R2をさらに移動させ、動作経路が成立するまで処理を繰り返せばよい。
【0148】
出発点P1から到達点P2への動作経路の設定が終了した後、図18のステップS229において広域動作経路設定の終了処理を行う。この終了処理としては、例えば設定された広域動作経路をパステーブル120(図10参照)に記録することが挙げられる。このパステーブル120は、設定した動作経路である出発点P1、第1中継点Q1、第2中継点R1、第2中継点R2、第1中継点Q2および到達点P2を動作順に記録する表であり、各点における位置座標(X、Y、Z)とTCPを示すベクトルXr、ベクトルYr、ベクトルZrの値および多関節ロボット50の各軸の回転角θ1〜θ6の値が記録される。
【0149】
また、パステーブル120に記録された動作経路は、前記データ作成回路38により、実際の多関節ロボット50を動作させるためのプログラムデータに変換された後、ロボット制御部22に転送される。
【0150】
パステーブル120は、RAM29やハードディスク34内に記録されるが、必要に応じてモニタ16の画面に表示されまたは印刷され得る。
【0151】
なお、上述の説明においては、動作経路104は、第1中継点Q1およびQ2を結ぶ経路としたが、出発点P1側だけに第1のテンプレートを適用して第1中継点Q1を求めて、到達点P2についてはそのまま適用し、第1中継点Q1と到達点P2とを結ぶ経路を想定するようにしてもよい。
【0152】
また、動作経路112についても同様に、例えば、第2中継点R1と第1中継点Q1とを結ぶ経路を想定するようにしてもよい。
【0153】
出発点P1から退避するための退避経路としての動作経路102および110は、到達点P2以外の他の点へ動作させる際に流用してもよい。
【0154】
さらに、第1のテンプレートで当初適用する規定距離は100mmとしたが、10mmから開始して、20mm、30mmと距離を伸ばす形態にしてもよい。
【0155】
ワーク80や、障害物82等の状況により第1および第2のテンプレートを適用する順序は逆であってもよい。
【0156】
設定されたパステーブル120は、出発点P1から到達点P2へ至る広域動作経路または溶接ポイントTnからの引き抜き動作を示す狭域動作経路を示すものであるが、これらの動作経路は可逆性があり、到達点P2から出発点P1へ動作する経路に利用してもよく、また全動作経路を利用しなくとも、途中までの経路を利用するようにしてもよい。
【0157】
さらにまた、本実施の形態は溶接用のロボット以外であっても、例えば、組み立て用ロボットや塗装用ロボット等にも適用可能であり、多関節ロボット50は、7軸構造やリンク機構、伸縮機構等を有する構造であってもよい。
【0158】
このように、本実施の形態によれば、まず、出発点P1と到達点P2とを結ぶ動作経路100を想定し、ガンユニット68を動作経路100上に動作させることが可能であるかを調査するので、この動作経路100上をガンユニット68が動作可能であるならば、動作の中継点等を設けることなく極めて簡便に動作経路を設定することができる。この動作経路100上の動作が不能であるときでも、出発点P1または到達点P2から規定方向であるベクトルXrの逆方向へ規定距離だけ動作する第1のテンプレートを適用するので、複雑な演算を行うことなく、またワーク80の形状に影響されることなく、自動的に効率よく第1中継点Q1およびQ2を設定することができる。
【0159】
第1のテンプレートは、ワーク80に対して最も退避しやすいと考えられる方向に設定した規定方向に向かい、ガンユニット68のサイズに応じて十分にワーク80から退避できる規定距離だけ動作するので、簡便な方法でありながらワーク80から安全に退避できる可能性が高い。しかも、ステップS206等において、その安全性の検証を行っているので、実際に多関節ロボット50を動作させたときには干渉等のおそれがない。
【0160】
また、本実施の形態によれば、退避経路上に設定する第1中継点Q1、Q2または第2中継点R1、R2が、多関節ロボット50にとって到達不可能な点または干渉を発生する点であるとき、第1および第2のテンプレートの規定距離を修正して第1中継点Q1、Q2または第2中継点R1、R2の位置を再設定するので、好適な退避位置を設定することができる。
【0161】
また、第2のテンプレートでは、規定方向を多関節ロボット50の座標計算上の原点Oへ向かう方向としているので、障害物82と干渉するおそれが低い。
【0162】
さらに、本実施の形態によれば、第1のテンプレートと第2のテンプレートとを組み合わせて適用し、まずは第1のテンプレートでワーク80から退避し、次いで第2のテンプレートで他の障害物82等から退避するようにし、さらにその後安全性の検証を行うので、複雑な演算を行うことなく、かつ、自動的に効率よく退避および広域動作経路を設定することが可能となり、作業効率の向上はもとより、操作者の技量に頼らずにオフラインティーチングデータの品質を高めることができる。
【0163】
この発明に係る多関節ロボットの動作経路設定方法および設定装置は、上述の実施の形態例に限らず、この発明の要旨を逸脱することなく、種々の構成を採り得ることはもちろんである。
【0164】
【発明の効果】
以上説明したように、本発明に係る多関節ロボットの動作経路設定方法および設定装置によれば、エンドエフェクタをワーク上の作業点から引き抜く狭域動作経路と、作業点間または引き抜き位置間を移動する広域動作経路とを、自動的に効率よく設定することができるという効果が達成される。
【図面の簡単な説明】
【図1】本実施の形態で使用するオフラインティーチング装置およびロボット装置を示す説明図である。
【図2】オフラインティーチング装置の構成を示すブロック図である。
【図3】多関節ロボットの構成を示す説明図である。
【図4】X型溶接ガンを示す説明図である。
【図5】ワークの溶接ポイントを示す説明図である。
【図6】本実施の形態における多関節ロボットの全体の動作経路設定方法を示すフローチャートである。
【図7】本実施の形態における多関節ロボットの狭域動作経路設定方法を示すフローチャート(その1)である。
【図8】本実施の形態における多関節ロボットの狭域動作経路設定方法を示すフローチャート(その2)である。
【図9】本実施の形態における多関節ロボットの狭域動作経路設定方法を示すフローチャート(その3)である。
【図10】パステーブルを示す図である。
【図11】図11Aは、中央点から放射状に線を設定する手順を説明する図であり、図11Bは、格子状に線を引き閉空間内の交点を抽出する手順を説明する図である。
【図12】図12Aは、交点を中心にソリッドを設定する手順を説明する図であり、図12Bは、ソリッドとワークの重複部分を抽出する手順を説明する図であり、図12Cは、抽出されたワークモデルを示す図である。
【図13】図13Aは、各ソリッドの中心点を示す図であり、図13Bは、主成分線を求める手順を示す図である。
【図14】引き抜き点を求める手順と、引き抜き経路(V1)を示す図である。
【図15】引き抜き経路(V2)を示す図である。
【図16】マスク処理を説明する図である。
【図17】出発点から到達点への動作経路を示す説明図である。
【図18】本実施の形態における多関節ロボットの広域動作経路設定方法を示すフローチャート(その1)である。
【図19】本実施の形態における多関節ロボットの広域動作経路設定方法を示すフローチャート(その2)である。
【図20】本実施の形態における多関節ロボットの広域動作経路設定方法を示すフローチャート(その3)である。
【図21】第1および第2のテンプレートの動作を示す説明図である。
【符号の説明】
10…オフラインティーチング装置 12…ロボット装置
14…制御部 22…ロボット制御部
26…CPU 29…RAM
34…ハードディスク 35…動作経路設定プログラム
38…データ作成回路 40…シミュレーション回路
50…多関節ロボット 68…ガンユニット
70、72…電極 80…ワーク
90、100、102、104、110、112…動作経路
106…定点 120…パステーブル
1094…ソリッド 1096…ワークモデル
1096b…開口側の部分 G1、G2…重心位置
M1、M2…主成分線 O…原点
P1…出発点 P2…到達点
Q1、Q2…第1中継点 R1、R2…第2中継点
Ts…調査開始位置 Ue…引き抜き位置
Xr、Yr、Zr…ベクトル[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an operation path setting method and setting apparatus for an articulated robot, and in particular, an end effector provided at the tip of an articulated robot sets a path for operating between predetermined work points. The present invention relates to an operation path setting method and a setting device for an articulated robot.
[0002]
[Prior art]
Conventionally, if an articulated robot installed in a production line is directly operated to teach a work posture, an operator who is familiar with the operation of the articulated robot must work on the production line site. Work becomes inefficient. Further, since the work needs to be performed in a state where the production line is stopped, the operation rate of the production line is also lowered.
[0003]
Therefore, offline teaching (offline teaching) has been performed recently in order to increase the efficiency of the teaching work or to improve the operating rate of the production line. That is, a model of an articulated robot and workpieces and surrounding structures that are work objects is constructed on a computer, teaching data is created using the model, and then the teaching data is supplied to the articulated robot on site. In this case, it is not necessary to stop the production line while creating teaching data.
[0004]
[Problems to be solved by the invention]
By the way, offline teaching according to the prior art is not necessarily widely used.
[0005]
This is because it is natural that multi-joint robots need to avoid interference (contact etc.) with various surrounding structures and workpieces, but there are many types of surrounding structures and the shape of the workpiece is complicated. This is because, in some cases, it is difficult to set an operation path that avoids these obstacles.
[0006]
More specifically, the brute force method for investigating interference for all possible postures of articulated robots is not practical due to the enormous amount of calculation, and so-called optimization methods such as mathematical programming are not solved. May not exist. Furthermore, the probabilistic method using random numbers has a problem that there is no guarantee that the solution converges and there is no reproducibility of the calculation.
[0007]
Several approaches have been proposed to solve these problems.
[0008]
For example, there is a method (see Japanese Patent No. 2875498) using a plane including a starting point and a reaching point. In this method, an entry prohibition area in which a cross section of an obstacle is appropriately enlarged is defined on a specified plane, and an operation path passing through the apex of the entry prohibition area is set to avoid interference. However, in this method, since the interference with the entry prohibition area is verified each time and the operation route is set, the verification work becomes complicated and the operation route becomes complicated. Furthermore, even if the motion path is appropriate, it cannot be verified from the viewpoint of the motion range of each axis whether or not the articulated robot can actually move on the motion path.
[0009]
As another method, for example, there is a method (see Japanese Patent Laid-Open No. 9-81228) for setting an operation path by instructing the position and shape of an obstacle to be input with a dedicated controller at a production site. However, in this method, since the teaching is performed while operating the actual machine at the production site, the operation path cannot be automatically set.
[0010]
The present invention has been made in consideration of such problems, and includes a narrow-area motion path for pulling out an end effector of an articulated robot from a work point on a workpiece, and a wide-area motion path for moving between work points or between pull-out positions. It is an object of the present invention to provide an operation path setting method and setting device for an articulated robot that can automatically and efficiently be set.
[0011]
[Means for Solving the Problems]
An operation path setting method for an articulated robot according to the present invention is the operation path setting method for an articulated robot in which an end effector is operated between work points for a workpiece. From the work point to a point near the end of the workpiece while maintaining a non-interference state with the workpiece and other obstacles Evacuation A narrow-range motion path to be performed based on the shape of the workpiece and the obstacle in the vicinity of the work point. Corresponding to each work point Setting And obtain a point near the end A first step, Two Of the points near the end on the other hand Starting point , The other point And a second step of setting a wide area operation path that operates from the departure point to the arrival point by combining a predetermined prescribed action. The first step includes a step of defining an internal space partially surrounded by the arm or electrode of the end effector, a step of extracting a target work portion existing in the internal space from the work, Investigating the presence or absence of interference between the end effector and the target work part when the articulated robot is operated. It is characterized by doing.
[0012]
As a result, the setting of the narrow area movement path for pulling out the end effector from the work point of the workpiece and the setting of the wide area movement path for moving the wide area movement path connecting the points extracted by the narrow area movement path are linked. Therefore, the operation path of the articulated robot can be set automatically and efficiently.
[0013]
Here, the articulated robot and the end effector are virtual ones configured as models by computer program processing.
[0015]
The second step assumes a route connecting the starting point and the destination point, and a third step of investigating whether or not the end effector can be operated on the route; When it is impossible to move the path in the third step, the end effector is moved in a specified direction from the starting point or the arrival point by a specified distance. Evacuation And a fourth step of setting a route.
[0016]
Furthermore, the prescribed direction may be a predetermined direction based on the attitude of the end effector at the starting point or the reaching point.
[0017]
Furthermore, the prescribed direction may be a direction connecting the starting point or the reaching point and a fixed point in space.
[0018]
Said Evacuation The end point of the route may be defined as a new starting point or destination point, and the third step and the fourth step may be executed again.
[0019]
The movement path setting device for an articulated robot according to the present invention is an operation path setting device for an articulated robot that moves an end effector between work points for a workpiece. From the work point to a point near the end of the workpiece while maintaining a non-interference state with respect to the workpiece and other obstacles Evacuation A narrow-range motion path to be performed based on the shape of the workpiece and the obstacle in the vicinity of the work point. Corresponding to each work point Setting And obtain a point near the end A narrow range operation path setting unit, Two Of the points near the end on the other hand Starting point , The other point A wide-area operation path setting unit that sets a wide-area operation path that operates from the departure point to the arrival point by combining predetermined predetermined actions The narrow area motion path setting unit defines an internal space partially surrounded by the arm or electrode of the end effector, extracts a target work portion existing in the internal space from the work, and Investigate whether there is any interference between the end effector and the target workpiece when the articulated robot is operated It is characterized by doing.
[0020]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of an operation path setting method and setting apparatus for an articulated robot according to the present invention will be described below with reference to FIGS.
[0021]
The movement path setting method and setting apparatus for an articulated robot according to the present embodiment basically includes a gun operation during a narrow range operation in which the end effector provided at the tip of the articulated robot is pulled out from the work point on the workpiece. In the internal space surrounded by the unit, the part where the workpiece is present is extracted and the operation path is set while investigating the interference. Further, during a wide-area operation that moves between the extraction positions, an operation path is set that moves to a destination point while avoiding obstacles by operating in combination with a template operation that moves a specified distance from the starting point in a specified direction.
[0022]
As shown in FIG. 1, an off-line teaching device (motion path setting device) 10 used in the present embodiment performs teaching of the operation of the articulated
[0023]
The
[0024]
As shown in FIG. 2, the
[0025]
The
[0026]
The operation
[0027]
As shown in FIG. 3, the articulated
[0028]
The
[0029]
The
[0030]
A direction that coincides with the axis of the
[0031]
The driving mechanism for the axes J1 to J6 and the opening / closing mechanism for the
[0032]
Further, the
[0033]
As a reference point for coordinate calculation and control related to the
[0034]
Next, a procedure for setting the motion path of the articulated
[0035]
In the following description, as shown in FIG. 5, the
[0036]
The welding point Tn consists of a total of six values including three-dimensional orthogonal coordinate values (X, Y, Z) in the space for welding and three parameters of TCP indicating the posture of the
[0037]
Further, it is verified in advance that the
[0038]
In step S1 of FIG. 6, the operator of the
[0039]
Next, in step S2, a temporary operation path 90 (see FIG. 5) connecting the welding points Tn is set. The
[0040]
Next, in step S3, when the
[0041]
Specifically, a division point obtained by dividing the
[0042]
When the posture of the
[0043]
If the posture of the articulated
[0044]
Next, in step S4, it is determined whether the solution of the inverse operation has been normally obtained at each division point, that is, whether the TCP can reach the division point. If no solution is obtained, or the angle value is outside the rotational operation range of the axes J1 to J6, or the articulated
[0045]
In step S5, a narrow area operation path for pulling out the
[0046]
Next, in step S6, two extraction positions Ue (see FIG. 14) obtained by the narrow area operation path are set as a starting point P1 and a reaching point P2, and the
[0047]
After setting the narrow area operation path and the wide area operation path, the process proceeds to step S7 and the investigation is continued.
[0048]
In step S7, it is confirmed whether all the
[0049]
In this way, in the present embodiment, the welding points Tn are first connected by the
[0050]
Also, in setting the narrow area operation path, the part where the workpiece is present is extracted and the interference is investigated in the internal space surrounded by the gun unit, so a path that avoids interference with the workpiece is automatically set. be able to.
[0051]
In the setting of the wide area operation route, a template operation in which the
[0052]
Furthermore, the setting of the narrow area operation path for pulling out the
[0053]
Next, the setting method of the narrow area operation path in step S5 of FIG. 6 will be described with reference to FIGS.
[0054]
First, in step S101 of FIG. 7, the
[0055]
Since the welding point T0 is the initial position, it is recorded and initialized in the temporary path table 120 for operation data (see
[0056]
As shown in FIG. 10, the path table 120 includes a “gun unit orientation”
[0057]
Next, in step S102 of FIG. 7, the TCP of the
[0058]
Next, in step S103, a center point C (see FIG. 11A) is defined at a position where the
[0059]
In order to simplify the description, the
[0060]
Next, in step S104, as shown in FIG. 11B, an
[0061]
Next, in step S105, as shown in FIG. 12A, a solid 1094 that is a square surface with the extracted
[0062]
Next, in step S106, as shown in FIG. 12B, the
[0063]
As described above, the
[0064]
In step S107, a principal component line (or reference line) M1 of the
[0065]
The calculation method of the principal component line M1 will be described in detail. First, as shown in FIG. 13A, center point coordinates 1098a (Xs, Ys, Zs) of each work solid 1098 are defined.
[0066]
Next, as shown in FIG. 13B, the sum of squares of the distance s between each center point coordinate 1098a and the principal component line M1 is minimized. That means
Σ | s | 2 = Min
A principal component line M1 is defined. More specifically, the eigenvalues and eigenvectors of the variance and covariance matrix are calculated from the center point coordinates 1098a, and the center of gravity position G1 that is the average value of the X, Y, and Z coordinates is obtained from Xs, Ys, and Zs. The eigenvector passing through the gravity center position G1 becomes the principal component line M1.
[0067]
In the subsequent steps S108 to S112, as shown in FIG. 14, it is investigated whether or not there is no interference when operated linearly from the investigation start position Ts to the extraction position Ue.
[0068]
That is, first, in step S108, the extraction position Ue is obtained. As shown in FIG. 14, the extraction position Ue moves while matching the vector Xr based on the TCP of the
[0069]
Next, in step S109, the posture of the articulated
[0070]
Next, in step S110 of branch determination, it is determined whether the solution in the reverse operation of step S109 has been normally obtained, that is, whether the TCP can reach the extraction position Ue. The solution cannot be obtained, or even if the solution is obtained, the angle value is outside the rotational operation range of the axes J1 to J6, and the articulated
[0071]
In this interference investigation, when the
[0072]
If the solution cannot be obtained normally, in step S111, a rotation operation is performed by rotating α ° about the vector Yr. This rotation operation means that the
[0073]
When the loop formed in steps S109 to S111 is executed several times continuously, the posture of the articulated
[0074]
Furthermore, the process of rotating α ° may be performed not only around the vector Yr but also around an axis such as the vector Xr or the vector Zr. The same applies to the following rotation processing.
[0075]
Next, moving to FIG. 8, in step S112, as shown in the path V1 of FIG. 14, the
[0076]
In step S113 of the branch determination, if it is determined that there is interference according to the investigation in step S112, the process proceeds to step S114. If it is determined that there is no interference, the direct extraction operation can be performed by this one operation. The process proceeds to step S131 which is an end process.
[0077]
As described above, when the shape of the
[0078]
In the example shown in FIG. 14, it is clear that the
[0079]
In subsequent steps S114 to S118, it is investigated whether or not there is no interference when the linear movement is performed from the investigation start position Ts to the gravity center position G1 of the
[0080]
That is, in step S114, as shown in FIG. 15, a route V2 connecting the survey start position Ts and the gravity center position G1 is defined, and the vector Xr is made to coincide with the route V2 with reference to the gravity center position G1. Assume the posture of the
[0081]
In step S115, the posture of the articulated
[0082]
Next, in step S116 of branch determination, it is checked whether the solution in the reverse operation has been normally obtained as in step S110. At this time, in addition to the inverse operation processing, it may be investigated whether the
[0083]
If the solution is not normally obtained, a rotation operation is performed to rotate α ° about the vector Yr as in step S111 (step S117). Then, after obtaining the vector Xr, vector Yr, and vector Zr in this state, the process returns to step S115.
[0084]
When the solution is obtained, in step S118, as in step S112, the
[0085]
If the loop formed in steps S115 to S117 is executed several times continuously, it is determined that the
[0086]
Then, when it is determined that there is interference according to the investigation of step S118 and step S130 described later, the process proceeds to step S124 through step S119 of branch determination, and when it is determined that there is no interference, the center of gravity position can be operated. As a thing, it moves to the next step S120.
[0087]
In this step S120, the posture of the articulated
[0088]
Then, in step S121, as in step S112, a linear operation is performed from the position of the
[0089]
In step S122 of the branch determination, if it is determined that there is interference according to the investigation in step S121, the process proceeds to step S123. If it is determined that there is no interference, the extraction operation can be performed by this operation. The process moves to step S131.
[0090]
If there is interference, in step S123, an update process is performed in which the position of the
[0091]
The direction of the
[0092]
Then, the work solid 1096 is extracted and updated in the same manner as in step S106, and further, a new principal component line M1 and a new center of gravity position G1 are obtained in the same manner as in step S107. Return. After returning to step S114, processing is continued for the new work solid 1096, principal component line M1, and barycentric position G1 obtained in step S123.
[0093]
In this manner, since the portion that does not enter the gun internal space is sequentially removed from the processing target, a path for pulling out the
[0094]
However, when the loop formed in step S114 to step S123 has been executed a predetermined number of times or more, it is determined that it is very difficult to pull out the
[0095]
Next, steps S124 to S130, which are processes when it is determined in step S119 that there is interference due to an operation along the path Vn (n = 1, 2, 3,...), Will be described. In this case, only the part close to the opening of the
[0096]
First, in step S124 of FIG. 9, as shown in FIG. 16, the
[0097]
Next, in step S125, the principal component line M2 and the center-of-gravity position G2 are obtained for the new
[0098]
Then, in step S126, as in step S114, a route V3 connecting the survey start position Ts and the gravity center position G2 is defined, and the gun X in which the vector Xr is matched with the route V3 with reference to the gravity center position G2. Assume the posture of
[0099]
Next, in step S127, as in step S115, the posture of the articulated
[0100]
Next, in step S128 of branch determination, it is checked whether the solution in the reverse operation has been normally obtained as in step S116.
[0101]
If the solution is not normally obtained, a rotation operation is performed by rotating α ° about the vector Yr as in step S117 (step S129), and the process returns to step S127.
[0102]
When a solution is obtained, in step S130, as in step S118, the
[0103]
In this way, even when a route search is performed for the
[0104]
If the loop formed in steps S127 to S129 is executed several times continuously, it is determined that the
[0105]
In step S131, which is an end process, the coordinates of the extraction position Ue, which is the survey end position, vector data, and the like are added to the path table 120 (see FIG. 10) as operation data. Inserted between the welding points Tn of the path table 120. Thereafter, the process returns to the process shown in FIG.
[0106]
As described above, even when a suitable route is not found when a route search is performed on the
[0107]
Next, the setting method of the wide area operation route in step S6 of FIG. 6 will be described with reference to FIGS.
[0108]
In the following description, as shown in FIG. 17, an example in which the
[0109]
In FIG.18 S201, the operator of the
[0110]
In step S <b> 202, the operation
[0111]
Next, in step S203, assuming an operation path (path) 100 connecting the starting point P1 and the arrival point P2, whether or not the posture is established when the
[0112]
Specifically, a division point obtained by dividing the
[0113]
When the postures of the
[0114]
If the posture of the articulated
[0115]
Next, in step S204, it is determined whether or not a reverse operation solution is normally obtained at each division point, that is, whether the TCP can reach the division point. If no solution is obtained, or the angle value is outside the rotational operation range of the axes J1 to J6, or the articulated
[0116]
As for the presence or absence of interference, a function relating to interference that the
[0117]
In step S205 in FIG. 19, in order to avoid the
[0118]
Here, the template represents a prescribed action to be executed by the articulated
[0119]
In general, the vector Zr is set to be perpendicular to the
[0120]
The first template is effective for thin plates that are general workpieces. Evacuation This is a simple and convenient method without being affected by the shape of the workpiece. Evacuation The operation path can be set by a method.
[0121]
Next, in step S206, whether or not the posture of the articulated
[0122]
Next, in step S207, if the result of the investigation in step S206 shows that the posture of the articulated
[0123]
In step S208, it is assumed that the
[0124]
Next, in step S209, it is confirmed whether or not the accumulated angle rotated by a predetermined angle has reached 360 °. If it is less than 360 °, the process proceeds to step S206 to determine the posture of the articulated
[0125]
If an appropriate posture cannot be obtained at the first relay point Q1 even if the vector Xr, the vector Yr, and the vector Zr are rotated by 360 °, in step S210, the first relay point Q1 is set to the starting point P1. Reset to the position returned by a predetermined distance in the direction. That is, if the first relay point Q1 is set at a distance of 100 mm from the starting point P1, it is returned to the direction of the starting point P1 by 10 mm and reset to a position of 90 mm.
[0126]
Next, in step S211, the integrated value of the distance for returning the first relay point Q1 is confirmed, and if it has returned to the starting point P1, which is the original point, the process is interrupted and replanning is performed. To do. If it has not returned to the starting point P1, that is, if it is in the range of 10 to 90 mm, the process proceeds to step S206, and the posture of the
[0127]
On the other hand, the operation path connecting the first relay point Q1 and the starting point P1 in step S212 (when it is determined that the posture of the articulated
[0128]
Next, in step S213, the same determination as in step S204 is performed, and if it can be determined that the posture of the articulated
[0129]
In step S214, it is confirmed that two first relay points Q1 and first relay points Q2 (new destination points) have been set for the starting point P1 and the reaching point P2, and the process proceeds to the next step S215. If the first relay point Q2 corresponding to the arrival point P2 is not set, the process returns to step S205 in FIG.
[0130]
Next, in step S215, assuming an
[0131]
Next, in step S216, the same determination as in step S204 is performed, and if it is determined that the posture of the articulated
[0132]
In step S217 of FIG. 20, in order to avoid the
[0133]
As shown in FIG. 21, the second template assumes a
[0134]
The second relay point R1 is obtained by moving the first relay point Q1 only in a spatial position, and the direction of the
[0135]
The second template is used as a free space where the
[0136]
In addition to the origin O, if there is a place where the
[0137]
Next, in step S218, whether or not the articulated
[0138]
Next, in step S219, as a result of the investigation in step S218, if it can be determined that the posture of the articulated
[0139]
In step S220, in order to obtain an appropriate posture at the second relay point R1, it is assumed that the
[0140]
Next, in step S221, it is confirmed whether or not the integrated angle rotated by a predetermined angle has reached 360 °. If it is less than 360 °, the process proceeds to step S206 to determine the posture of the articulated
[0141]
If an appropriate posture cannot be obtained at the second relay point R1 even if the vector Xr, the vector Yr, and the vector Zr are each rotated 360 °, the second relay point R1 is moved to the fixed
[0142]
Next, in step S223, the integrated value of the distance traveled by the second relay point R1 is confirmed, and if it reaches the fixed
[0143]
In step S224 (when it is determined that the posture of the articulated
[0144]
Next, in step S225, the same determination as in step S204 is performed. If it is determined that the articulated
[0145]
In step S226, it is confirmed that two second relay points R1 and R2 have been set for the first relay points Q1 and Q2, and the process proceeds to the next step S227. If the second relay point R2 corresponding to the first relay point Q2 is not set, the process returns to step S217.
[0146]
Next, in step S227, an
[0147]
Next, in step S228, the same determination as in step S204 is performed, and if the posture of the articulated
[0148]
After the setting of the operation route from the departure point P1 to the arrival point P2 is completed, a wide area operation route setting end process is performed in step S229 of FIG. As the termination process, for example, the set wide area operation route is recorded in the path table 120 (see FIG. 10). The path table 120 is a table that records the starting point P1, the first relay point Q1, the second relay point R1, the second relay point R2, the first relay point Q2, and the arrival point P2, which are set operation routes, in the order of operation. Yes, the position coordinates (X, Y, Z) at each point, the vector Xr indicating the TCP, the vector Yr, the vector Zr, and the rotation angles θ1 to θ6 of each axis of the articulated
[0149]
The motion path recorded in the path table 120 is converted into program data for operating the actual articulated
[0150]
The path table 120 is recorded in the
[0151]
In the above description, the
[0152]
Similarly, for the
[0153]
From the starting point P1 Evacuation in order to Evacuation The
[0154]
Furthermore, although the specified distance initially applied in the first template is 100 mm, the distance may be increased to 20 mm and 30 mm starting from 10 mm.
[0155]
The order in which the first and second templates are applied may be reversed depending on the status of the
[0156]
The set path table 120 shows a wide area operation path from the starting point P1 to the arrival point P2 or a narrow area operation path indicating a drawing operation from the welding point Tn, but these operation paths are reversible. The route from the arrival point P2 to the departure point P1 may be used, or the route to the middle may be used without using all the operation routes.
[0157]
Furthermore, this embodiment can be applied to, for example, an assembly robot, a painting robot, or the like other than a welding robot, and the articulated
[0158]
Thus, according to the present embodiment, first, an
[0159]
The first template is most suitable for the
[0160]
Moreover, according to the present embodiment, Evacuation When the first relay point Q1, Q2 or the second relay point R1, R2 set on the route is a point that cannot be reached by the articulated
[0161]
Further, in the second template, the prescribed direction is the direction toward the origin O in the coordinate calculation of the articulated
[0162]
Furthermore, according to the present embodiment, the first template and the second template are applied in combination, and the first template starts with the
[0163]
The operation path setting method and setting device for an articulated robot according to the present invention are not limited to the above-described embodiments, and various configurations can be adopted without departing from the gist of the present invention.
[0164]
【The invention's effect】
As described above, according to the motion path setting method and setting device for an articulated robot according to the present invention, the movement between the narrow area motion path for pulling the end effector from the work point on the workpiece and the work point or the pulling position is performed. The effect of being able to automatically and efficiently set the wide-area operation path to be achieved is achieved.
[Brief description of the drawings]
FIG. 1 is an explanatory diagram showing an off-line teaching device and a robot device used in the present embodiment.
FIG. 2 is a block diagram showing a configuration of an off-line teaching device.
FIG. 3 is an explanatory diagram showing a configuration of an articulated robot.
FIG. 4 is an explanatory view showing an X-type welding gun.
FIG. 5 is an explanatory view showing a welding point of a workpiece.
FIG. 6 is a flowchart showing an overall motion path setting method of the articulated robot in the present embodiment.
FIG. 7 is a flowchart (No. 1) showing a narrow-area motion path setting method of the articulated robot in the present embodiment.
FIG. 8 is a flowchart (No. 2) illustrating the narrow-area motion path setting method of the articulated robot in the present embodiment.
FIG. 9 is a flowchart (No. 3) illustrating the narrow-area motion path setting method of the articulated robot in the present embodiment.
FIG. 10 is a diagram showing a path table.
FIG. 11A is a diagram for explaining a procedure for setting a line radially from a central point, and FIG. 11B is a diagram for explaining a procedure for drawing a line in a lattice shape and extracting an intersection in a closed space; .
FIG. 12A is a diagram for explaining a procedure for setting a solid centering on an intersection; FIG. 12B is a diagram for explaining a procedure for extracting an overlapping portion between a solid and a workpiece; FIG. It is a figure which shows the made work model.
FIG. 13A is a diagram showing a center point of each solid, and FIG. 13B is a diagram showing a procedure for obtaining principal component lines.
FIG. 14 is a diagram showing a procedure for obtaining a drawing point and a drawing route (V1).
FIG. 15 is a diagram showing a drawing path (V2).
FIG. 16 is a diagram illustrating mask processing.
FIG. 17 is an explanatory diagram showing an operation path from a starting point to a destination point.
FIG. 18 is a flowchart (part 1) illustrating a wide-area motion path setting method for the articulated robot in the present embodiment.
FIG. 19 is a flowchart (part 2) illustrating the wide-area motion path setting method for the articulated robot in the present embodiment.
FIG. 20 is a flowchart (part 3) illustrating the wide-area motion path setting method of the articulated robot in the present embodiment.
FIG. 21 is an explanatory diagram showing the operation of the first and second templates.
[Explanation of symbols]
10 ...
14 ... Control unit 22 ... Robot control unit
26 ...
34 ...
38 ...
50 ... Articulated
70, 72 ...
90, 100, 102, 104, 110, 112 ... operation path
106 ... fixed
1094 ... Solid 1096 ... Work model
1096b: opening side portion G1, G2: center of gravity position
M1, M2 ... principal component line O ... origin
P1 ... Departure point P2 ... Destination point
Q1, Q2 ... first relay point R1, R2 ... second relay point
Ts ... Investigation start position Ue ... Pullout position
Xr, Yr, Zr ... vector
Claims (6)
前記ワークの作業点に配置される前記エンドエフェクタが、前記ワークおよび他の障害物に対し非干渉状態を保ちながら、前記作業点から前記ワークの端部近傍の点まで退避する狭域動作経路を、前記作業点近傍における前記ワークおよび前記障害物の形状に基づいて各作業点に対応して設定し、前記端部近傍の点を得る第1のステップと、
2つの前記端部近傍の点のうち一方の点を出発点、他方の点を到達点とし、前記出発点から前記到達点まで動作する広域動作経路を、予め決められた規定動作を組み合わせることにより設定する第2のステップと
を有し、
前記第1のステップは、前記エンドエフェクタのアームまたは電極により一部包囲された内部空間を規定するステップと、
前記ワークのうち、前記内部空間に存在する対象ワーク部分を抽出するステップと、
前記多関節ロボットを動作させたときに、前記エンドエフェクタと前記対象ワーク部分との干渉の有無を調査するステップと
を有することを特徴とする多関節ロボットの動作経路設定方法。In an operation path setting method for an articulated robot that moves an end effector between work points on a workpiece,
The end effector arranged at the work point of the workpiece has a narrow area operation path for retreating from the work point to a point near the end of the work while maintaining a non-interference state with respect to the work and other obstacles. , based on the shape of the workpiece and the obstacle at the work point near set in correspondence with each work point, the first step Ru obtain a point in the vicinity of said end portion,
Two said ends one point the starting point of the neighboring points, the other points as the destination point, the wide operation path that runs from the starting point to the arrival point, by combining a predetermined prescribed operation have a second step of setting,
Said first step defining an interior space partially surrounded by an arm or electrode of said end effector;
Extracting a target work part existing in the internal space from the work;
Investigating the presence or absence of interference between the end effector and the target work part when the articulated robot is operated; and
Operation path setting method of the articulated robot, characterized in that the have a.
前記第2のステップは、前記出発点と前記到達点とを結ぶ経路を想定し、前記エンドエフェクタを前記経路上に動作させることが可能であるか否かを調査する第3のステップと、
前記第3のステップで、前記経路上を動作させることが不可能である場合に、前記出発点または前記到達点から前記エンドエフェクタを規定方向へ規定距離だけ動作する退避経路を設定する第4のステップと
を有することを特徴とする多関節ロボットの動作経路設定方法。In operation path setting method of an articulated robot according to claim 1 Symbol placement,
The second step assumes a route connecting the starting point and the destination point, and a third step of investigating whether or not the end effector can be operated on the route;
In the third step, when it is impossible to operate the path, a retreat path for operating the end effector in a specified direction from the starting point or the arrival point by a specified distance is set. And an operation path setting method for the articulated robot.
前記規定方向は、前記出発点または前記到達点における前記エンドエフェクタの姿勢を基準とした所定の方向であることを特徴とする多関節ロボットの動作経路設定方法。The operation path setting method for an articulated robot according to claim 2 ,
The articulated robot operation path setting method, wherein the prescribed direction is a predetermined direction based on a posture of the end effector at the starting point or the reaching point.
前記規定方向は、前記出発点または前記到達点と、空間上の定点とを結ぶ方向であることを特徴とする多関節ロボットの動作経路設定方法。The operation path setting method for an articulated robot according to claim 2 ,
The motion path setting method for an articulated robot, wherein the specified direction is a direction connecting the starting point or the reaching point and a fixed point in space.
前記退避経路の終点を新たな出発点または到達点として規定し、前記第3のステップおよび第4のステップを再度実行することを特徴とする多関節ロボットの動作経路設定方法。The motion path setting method for an articulated robot according to any one of claims 2 to 4 ,
An operation path setting method for an articulated robot, wherein the end point of the retreat path is defined as a new starting point or reaching point, and the third step and the fourth step are executed again.
前記ワークの作業点に配置される前記エンドエフェクタが、前記ワークおよび他の障害物に対し非干渉状態を保ちながら、前記作業点から前記ワークの端部近傍の点まで退避する狭域動作経路を、前記作業点近傍における前記ワークおよび前記障害物の形状に基づいて各作業点に対応して設定し、前記端部近傍の点を得る狭域動作経路設定部と、
2つの前記端部近傍の点のうち一方の点を出発点、他方の点を到達点とし、前記出発点から前記到達点まで動作する広域動作経路を、予め決められた規定動作を組み合わせることにより設定する広域動作経路設定部と
を有し、
前記狭域動作経路設定部は、前記エンドエフェクタのアームまたは電極により一部包囲された内部空間を規定し、
前記ワークのうち、前記内部空間に存在する対象ワーク部分を抽出し、
前記多関節ロボットを動作させたときに、前記エンドエフェクタと前記対象ワーク部分との干渉の有無を調査することを特徴とする多関節ロボットの動作経路設定装置。In the movement path setting device for an articulated robot that moves an end effector between work points for a workpiece,
The end effector arranged at the work point of the workpiece has a narrow area operation path for retreating from the work point to a point near the end of the work while maintaining a non-interference state with respect to the work and other obstacles. , said workpiece and said set corresponding to each working point on the basis of the shape of the obstacle, said end Ru obtain a point near the narrow area operation path setting unit at the work point near,
Two said ends one point the starting point of the neighboring points, the other points as the destination point, the wide operation path that runs from the starting point to the arrival point, by combining a predetermined prescribed operation set possess a wide area operation path setting unit that,
The narrow area operation path setting unit defines an internal space partially surrounded by an arm or an electrode of the end effector,
Of the workpieces, extract the target workpiece part existing in the internal space,
An operation path setting device for an articulated robot, characterized by investigating whether or not there is interference between the end effector and the target work part when the articulated robot is operated.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001283952A JP3647404B2 (en) | 2001-09-18 | 2001-09-18 | Motion path setting method and setting device for articulated robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001283952A JP3647404B2 (en) | 2001-09-18 | 2001-09-18 | Motion path setting method and setting device for articulated robot |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003091303A JP2003091303A (en) | 2003-03-28 |
JP3647404B2 true JP3647404B2 (en) | 2005-05-11 |
Family
ID=19107360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001283952A Expired - Fee Related JP3647404B2 (en) | 2001-09-18 | 2001-09-18 | Motion path setting method and setting device for articulated robot |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3647404B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10175683B2 (en) | 2014-05-01 | 2019-01-08 | Honda Motor Co., Ltd. | Teaching data preparation device and teaching data preparation method for articulated robot |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9925664B2 (en) | 2014-02-27 | 2018-03-27 | Fanuc Corporation | Robot simulation device for generation motion path of robot |
JP5860081B2 (en) | 2014-02-27 | 2016-02-16 | ファナック株式会社 | Robot simulation device that generates robot motion path |
CN113885506B (en) * | 2021-10-18 | 2023-07-07 | 武汉联影智融医疗科技有限公司 | Robot obstacle avoidance method and device, electronic equipment and storage medium |
-
2001
- 2001-09-18 JP JP2001283952A patent/JP3647404B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10175683B2 (en) | 2014-05-01 | 2019-01-08 | Honda Motor Co., Ltd. | Teaching data preparation device and teaching data preparation method for articulated robot |
Also Published As
Publication number | Publication date |
---|---|
JP2003091303A (en) | 2003-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3715537B2 (en) | Interference avoidance method and program for articulated robot | |
US9207668B2 (en) | Method of and apparatus for automated path learning | |
KR102261469B1 (en) | Robot control apparatus, and method and program for obtaining angle of joint of robot | |
JP6181861B2 (en) | Teaching data creation apparatus and creation method for articulated robot | |
JP2012091304A (en) | Teaching data making method and teaching data making device | |
JP3647404B2 (en) | Motion path setting method and setting device for articulated robot | |
JPH08328632A (en) | Method for simulating robot operation | |
JP3639873B2 (en) | Robot control method and robot control system | |
JP2003103481A (en) | Attitude optimizing method and attitude optimizing device for articulated robot | |
JP3577296B2 (en) | Method and device for setting motion path of articulated robot | |
US20160279802A1 (en) | System for operating a robotic assembly | |
JP7199073B2 (en) | Teaching data creation system for vertical articulated robots | |
JP2002239957A (en) | Attitude determination method and program of articulated robot | |
JP7320629B2 (en) | Welding equipment interference avoidance method and welding equipment control device | |
JP2021175595A (en) | Simulator, robot teaching device, robot system, simulation method, program, and recording medium | |
CA2556867C (en) | Setting method and setting apparatus for operation path for articulated robot | |
EP3954506A1 (en) | Robot device | |
Hazem et al. | Joint Control Implementation of 4-DOF Robotic Arm Using Robot Operating System | |
JP2000039911A (en) | Robot controller | |
JP4713030B2 (en) | End effector opening setting method | |
JP3957296B2 (en) | Robot mutual interference verification method | |
JP2003103483A (en) | Interference confirming method and confirming device | |
JP2002239956A (en) | Teaching data preparation method for articulated robot | |
JP4000307B2 (en) | Teaching data creation method for articulated robots | |
JP3068577B2 (en) | Control device for articulated robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20031222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040323 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040524 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041102 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041228 |
|
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: 20050201 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050208 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080218 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090218 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100218 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100218 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110218 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110218 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120218 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130218 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |