JP3647404B2 - Motion path setting method and setting device for articulated robot - Google Patents

Motion path setting method and setting device for articulated robot Download PDF

Info

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
Application number
JP2001283952A
Other languages
Japanese (ja)
Other versions
JP2003091303A (en
Inventor
薫 柴田
正勝 金子
陵 中島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2001283952A priority Critical patent/JP3647404B2/en
Publication of JP2003091303A publication Critical patent/JP2003091303A/en
Application granted granted Critical
Publication of JP3647404B2 publication Critical patent/JP3647404B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 robot 50, and sets the work object based on the created teaching data. The robot apparatus 12 is linked with a robot apparatus 12 that performs a desired operation.
[0023]
The robot apparatus 12 includes an articulated robot 50 and a robot control unit 22 that controls the operation of the articulated robot 50 based on teaching data.
[0024]
As shown in FIG. 2, the control unit 14 constituting the offline teaching apparatus 10 includes a CPU (computer) 26 as control means for controlling the entire offline teaching apparatus 10, ROM 28 and RAM 29 as storage units, and a hard disk. A hard disk drive (HDD) 39 for accessing data to 34, a drawing control circuit 30 for controlling drawing on the screen of the monitor 16, and an interface circuit 32 to which a keyboard 18 and a mouse 20 as input devices are connected. A recording medium drive 36 for controlling an external recording medium 36a (for example, a flexible disk, a compact disk, etc.), a data creation circuit 38 for creating teaching data, and a system for performing simulation on the screen of the monitor 16 based on the teaching data. And an Interview configuration circuit 40. The simulation circuit 40 is based on a three-dimensional CAD and has a function of creating the model and investigating mutual interference between the models.
[0025]
The hard disk 34 stores an operation path setting program 35 having a function of setting an operation path of the articulated robot 50, condition data 37 that is a condition for setting the operation path, an OS (not shown), and the like.
[0026]
The operation path setting program 35 is configured so that the gun unit (end effector) 68 disposed at a point on the workpiece 80 (see FIG. 5), for example, the welding point T0, maintains the non-interference state with the workpiece 80 or the like. To a point near the edge Evacuation A narrow area motion path setting unit 35a that sets the narrow area motion path to be performed based on the shape of the workpiece 80, and two arbitrary points on the space are set as a starting point P1 (see FIG. 17) and a reaching point P2, and are determined in advance. A wide-area operation path setting unit 35b that sets a wide-area operation path that operates from the departure point P1 to the arrival point P2 by combining the prescribed actions.
[0027]
As shown in FIG. 3, the articulated robot 50 has a second base 56, a first link 58, a second link 60, and a third link in order from the first base 54 that is a mounting base toward the distal end side. 62, the fourth link 64, and the gun attaching / detaching portion 66 are connected. A gun unit 68 is connected to the gun attaching / detaching portion 66 at the tip.
[0028]
The second base 56 is pivotally supported with respect to the first base 54 about the axis J1 which is a vertical axis. The base end portion of the first link 58 is pivotally supported on the second base 56 by an axis J2 which is a horizontal axis. Further, the base end portion of the second link 60 is pivotally supported by the tip end portion of the first link 58 by an axis J3 which is a horizontal axis. The third link 62 is connected to the distal end side of the second link 60 with the axis J4 as a common rotation center axis. Further, the base end portion of the fourth link 64 is pivotally supported on the tip end portion of the third link 62 by an axis J5 perpendicular to the axis J4. The gun attaching / detaching portion 66 is connected to the distal end side of the fourth link 64 with the axis J6 as a common rotation center axis.
[0029]
The gun unit 68 connected to the gun attaching / detaching portion 66 is a so-called C-type welding gun, and has a pair of electrodes 70 and 72 that open and close along the axis J6 at both ends of the arch-shaped arm 74. In the closed state, the electrodes 70 and 72 are in contact with the workpiece 80 at a welding work point (hereinafter referred to as TCP (Tool Center Point)) on the axis J6L.
[0030]
A direction that coincides with the axis of the electrode 72 on the main body side from the TCP is a vector Zr, and a direction that is orthogonal to the vector Zr and faces the outside of the gun unit 68 is a vector Xr. A direction perpendicular to the vectors Xr and Zr is a vector Yr.
[0031]
The driving mechanism for the axes J1 to J6 and the opening / closing mechanism for the electrodes 70 and 72 are each driven by an actuator (not shown), and the TCP depends on the values of the rotation angles θ1 to θ6 of the axes J1 to J6 and the dimensions of each part of the articulated robot 50. It is determined.
[0032]
Further, the gun unit 68 is not limited to the C-type welding gun, but may be, for example, an X-type welding gun (a welding gun including a pair of gun arms opened and closed supported by a common support shaft) shown in FIG.
[0033]
As a reference point for coordinate calculation and control related to the multi-joint robot 50, a point where the axis J1 and the axis J2 intersect is defined as an origin (center point of the original axis) O, and a vertical upward direction is defined based on the origin O. The direction of the axis J2 when the height Z and the rotation angle θ1 are θ1 = 0 is represented as the depth Y, and the direction perpendicular to the height Z and the depth Y is represented as the width X. The three-dimensional orthogonal coordinates are indicated by the height Z, the width X, and the depth Y.
[0034]
Next, a procedure for setting the motion path of the articulated robot 50 using the offline teaching device 10 configured as described above and the motion path setting program 35 will be described with reference to FIGS.
[0035]
In the following description, as shown in FIG. 5, the gun unit 68 is placed between a plurality of welding points (work points) Tn (n = 0, 1, 2,...) For welding the workpiece 80 that is a thin plate. An example of sequential movement will be described.
[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 gun unit 68.
[0037]
Further, it is verified in advance that the gun unit 68 can reach the welding point Tn, and the attitude of the gun unit 68 when welding the welding point Tn, that is, the values of the vector Xr, the vector Yr, and the vector Zr. Is also determined.
[0038]
In step S1 of FIG. 6, the operator of the offline teaching apparatus 10 starts up the operation path setting program 35 by a predetermined operation method. The OS incorporated in the offline teaching apparatus 10 loads the operation path setting program 35 stored in the hard disk 34 to the RAM 29 and executes it. The processing after the next step S2 is executed by the operation path setting program 35.
[0039]
Next, in step S2, a temporary operation path 90 (see FIG. 5) connecting the welding points Tn is set. The movement path 90 may be a straight line as shown in FIG. 9 or an arbitrary curve that facilitates the movement of the articulated robot 50. The same applies to operation paths 100, 102, 104, 110, and 112, which will be described later.
[0040]
Next, in step S3, when the gun unit 68 moves on the temporary movement path 90, the articulated robot 50 investigates whether or not the posture can be set, and in the meantime, with other structures or the like. Investigate for interference.
[0041]
Specifically, a division point obtained by dividing the operation path 90 into a minute length is assumed. Then, the posture of the articulated robot 50 when the gun unit 68 is arranged at each division point, that is, the rotation angles θ1 to θ6 is obtained. The calculation method of the rotation angles θ1 to θ6 is a total of six values defined by the position coordinates (X, Y, Z) of the dividing point in space and the vector Xr, vector Yr, and vector Zr representing the attitude of the gun unit 68. A known matrix calculation method (hereinafter referred to as inverse calculation) may be applied based on the dimensions of each part of the articulated robot 50 and the like.
[0042]
When the posture of the gun unit 68 at the welding points T0 and T1 is different, the vector Xr, the vector Yr, and the vector Zr that indicate the posture of the gun unit 68 may be defined linearly at each division point. In this investigation, the electrodes 70 and 72 are treated as being in an open state so that the electrodes 70 and 72 do not interfere with the workpiece 80.
[0043]
If the posture of the articulated robot 50 is established for each division point, the operation from the welding point T0 to T1 is actually guaranteed.
[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 robot 50 interferes with the obstacle 82 or the like in the obtained posture. The process proceeds to step S5. In other cases, that is, if the solution is normally obtained, the process proceeds to step S7.
[0045]
In step S5, a narrow area operation path for pulling out the gun unit 68 from the welding points T0 and T1 is set by the function of the narrow area operation path setting unit 35a. This detailed method will be described later.
[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 gun unit 68 is reached from this starting point P1. A wide area operation route to be moved to P2 is set. This setting is performed by the function of the wide area operation path setting unit 35b, and a detailed method thereof will be described later.
[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 operation paths 90 set in step S1 have been investigated, and the process is terminated. If there is an uninvestigated operation path 90, the process returns to step S3 to continue the investigation.
[0049]
In this way, in the present embodiment, the welding points Tn are first connected by the operation path 90, and when the operation path 90 cannot be applied as it is, the narrow area operation path for avoiding the protrusions, the obstacles 82, and the like of the workpiece 80. Then, a wide area operation path for moving between the extraction positions Ue obtained by setting the narrow area operation path is set.
[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 gun unit 68 is moved by a specified distance in a specified direction is applied, so that the wide area operation route of the articulated robot 50 affects the shape of the workpiece 80 and the obstacle 82. Can be set automatically without performing complicated operations.
[0052]
Furthermore, the setting of the narrow area operation path for pulling out the gun unit 68 of the articulated robot 50 from the welding point Tn on the workpiece 80 and the setting of the wide area operation path for moving between the starting point P1 and the reaching point P2 are performed. Since it is performed by another process adapted to the process, the operation path between the welding points Tn can be set efficiently.
[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 gun unit 68 of the articulated robot 50 is set to a position where the welding point T0 of the workpiece 80 is welded.
[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 order 1 in FIG. 10).
[0056]
As shown in FIG. 10, the path table 120 includes a “gun unit orientation” column 120a, a “TCP position” column 120b, and an “each axis angle” column 120c. It consists of rotation angles θ1 to θ6.
[0057]
Next, in step S102 of FIG. 7, the TCP of the gun unit 68 located at the welding point T0 is set as the investigation start position Ts.
[0058]
Next, in step S103, a center point C (see FIG. 11A) is defined at a position where the arm 74 and the electrodes 70, 72 can be seen in the substantially central portion of the gun unit 68. Then, a radial straight line 1090 is set with a predetermined angular width from the center point C, and an intersection 1092 between the arm 74 and the electrodes 70 and 72 is obtained.
[0059]
In order to simplify the description, the intersection point 1092 is obtained on a plane, but in reality, the intersection point in the three-dimensional shape is also obtained using the data in the depth direction. The solid (or block) 1094 described below is also handled as a three-dimensional shape instead of a surface.
[0060]
Next, in step S104, as shown in FIG. 11B, an annular line 1092b that connects a plurality of intersections 1092 with line segments to form a closed section 1092a is set. Then, a grid line having a predetermined interval is set on the closed section 1092a, and an intersection point 1092c existing in the closed section 1092a is extracted from the intersection points of the grid line.
[0061]
Next, in step S105, as shown in FIG. 12A, a solid 1094 that is a square surface with the extracted intersection 1092c as the center is filled with no gap and set as a gun internal space.
[0062]
Next, in step S106, as shown in FIG. 12B, the work 80 is arranged so that the relative position with the gun unit 68 is aligned. A portion where the workpiece 80 and the solid 1094 overlap is extracted as a workpiece model 1096 (see FIG. 12C). At this time, the portion 80a of the workpiece 80 that does not overlap the solid 1094 becomes irrelevant when investigating the interference, and is thus excluded. Each solid 1094 constituting the work model 1096 is distinguished as a work solid 1098, and the initial positions of the work model 1096 and each work solid 1098 are fixed even when the gun unit 68 moves.
[0063]
As described above, the work 80 is modeled and handled by a plurality of blocks, so that the processing becomes easy and unnecessary portions (for example, non-overlapping portions 80a) of the work 80 are automatically excluded, so that useless processing is performed. Not to do.
[0064]
In step S107, a principal component line (or reference line) M1 of the work model 1096 is calculated by a principal component analysis technique.
[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 gun unit 68 at the point on the principal component line M1 with the principal component line M1. A position where 70 and 72 no longer interfere with each other is set as the extraction position Ue.
[0069]
Next, in step S109, the posture of the articulated robot 50, that is, the rotation angles θ1 to θ6, is obtained based on the position and posture of the gun unit 68 defined by the extraction position Ue. This calculation method is obtained by the reverse calculation from a total of six values defined by the position coordinates (X, Y, Z) of the extraction position Ue in space and the vector Xr, vector Yr, and vector Zr representing the attitude of the gun unit 68. That's fine.
[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 robot 50 interferes with other structures in the obtained posture (for example, other If the workpiece or the pillar in the factory interferes with the first link 58, the second link 60, etc.), the process proceeds to step S111. Otherwise, that is, if the solution is normally obtained, the process proceeds to step S112.
[0071]
In this interference investigation, when the X-type welding gun 68a is adopted as the gun unit, the gun unit is examined particularly in both the open state and the closed state.
[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 gun unit 68 is rotated within a range that does not interfere with the work model 1096 around the extraction position Ue as indicated by a two-dot chain line in FIG. Then, after obtaining the vector Xr, vector Yr, and vector Zr in this state, the process returns to step S109. Further, the angle α ° may be investigated as an angle in both positive and negative directions.
[0073]
When the loop formed in steps S109 to S111 is executed several times continuously, the posture of the articulated robot 50 is established at the farther position on the main component line M1 with respect to the extraction position Ue. The position is reset and the process proceeds to the next step S112.
[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 gun unit 68 is moved linearly from the investigation start position Ts to the extraction position Ue, and the arm 74, the electrodes 70, 72, It is investigated whether the work model 1096 interferes. This interference is automatically investigated by the function of the simulation circuit 40. When the simulation circuit 40 is used, a three-dimensional investigation that cannot be seen on the screen of the monitor 16 that is a two-dimensional expression can be reliably performed.
[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 workpiece 80 is simple, the extraction path can be determined by one operation, so that the processing time can be shortened.
[0078]
In the example shown in FIG. 14, it is clear that the electrode 70 interferes with the protrusion 1096a of the work model 1096 during the movement of the path V1, and in this case, the process proceeds to step S114.
[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 work model 1096.
[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 gun unit 68.
[0081]
In step S115, the posture of the articulated robot 50 is obtained by the inverse calculation with the assumed posture.
[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 gun unit 68 interferes with the work model 1096.
[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 gun unit 68 is operated linearly along the path V2 from the investigation start position Ts to the gravity center position G1, and the interference is investigated.
[0085]
If the loop formed in steps S115 to S117 is executed several times continuously, it is determined that the gun unit 68 cannot be disposed at the center of gravity position G1, and this process is an abort mask process. Control goes to step S124.
[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 robot 50 at that time is additionally recorded in the path table 120.
[0088]
Then, in step S121, as in step S112, a linear operation is performed from the position of the gun unit 68 at that time to the extraction position Ue to check for interference. In the example shown in FIG. 15, the investigation is performed along the principal component line M1.
[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 gun unit 68 at that time is set as a new investigation start position and replaced with the previous investigation start position Ts. That is, in the example of FIG. 15, since it was possible to pull out the gun unit 68 to the center of gravity position G1, it is determined that it is no longer necessary to consider the portion outside the gun internal space. In order to recreate the model 1096, the survey start position Ts is also updated.
[0091]
The direction of the gun unit 68 is set so that the vector Xr matches the direction of the principal component line at that time.
[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 gun unit 68 can be obtained even for the workpiece 80 having a complicated shape.
[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 gun unit 68 from the workpiece 80. Therefore, stop processing and re-plan.
[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 gun unit 68 in the work model 1096 is extracted (or masked), and the extracted path is obtained with priority on the extracted part.
[0096]
First, in step S124 of FIG. 9, as shown in FIG. 16, the workpiece model 1096 is divided into a portion 1096b on the opening side of the gun unit 68 and a portion 1096c on the opposite side of the opening as shown in FIG. To do. In this sorting process, the process is devised so that the gun unit 68 is pulled out only in the part close to the opening. The part 1096c on the opposite side to the opening is suspended and the part on the opening side (new target) Work part) 1096b is extracted. Then, the subsequent target work portion 1096b is handled as a substitute for the work model 1096 in the subsequent processing from step S125 to step S130.
[0097]
Next, in step S125, the principal component line M2 and the center-of-gravity position G2 are obtained for the new target work portion 1096b as in the process of step S107.
[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 unit 68.
[0099]
Next, in step S127, as in step S115, the posture of the articulated robot 50 is obtained by the inverse calculation in the assumed posture.
[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 gun unit 68 is operated linearly along the path V3 from the investigation start position Ts to the gravity center position G2, and the interference is investigated. Then, the process returns to step S119, and this interference investigation is determined.
[0103]
In this way, even when a route search is performed for the entire work model 1096, an appropriate route is not found, but only a portion close to the opening of the gun unit 68 is obtained by performing mask processing on the work model 1096. The extraction route can be obtained with priority given to. Further, in the subsequent process, the work model 1096 becomes a simple shape in order by combining with the update process of the work model 1096 in the above-described step S123, and it becomes easy to obtain the extraction route.
[0104]
If the loop formed in steps S127 to S129 is executed several times continuously, it is determined that the gun unit 68 cannot be disposed at the center of gravity position G2, and a step is performed to perform further mask processing. Return to S124. However, when the mask processing has exceeded the predetermined specified number of times, it is determined that the mask processing is not effective for the shape of the workpiece 80, and the process returns to step S120, which is a drawing process in which the mask process is not performed, and the drawing path is again performed. Is calculated.
[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 entire work model 1096, the workpiece model 1096 is masked so that it is close to the opening of the gun unit 68. The extraction route can be obtained with priority only on the portion. Further, in the subsequent processing, the work model 1096 sequentially becomes a simple shape by combining with the update processing of the work model 1096 in the above-described step S123, and it becomes easy to obtain the extraction route.
[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 gun unit 68 is operated from a certain starting point P1 to a reaching point P2 of a workpiece 80 that is a thin plate will be described. It is assumed that there is an obstacle 82 between the starting point P1 and the reaching point P2. Further, it is assumed that the extraction position Ue obtained in the above-described narrow area operation path setting is handled as the starting point P1 and the reaching point P2.
[0109]
In FIG.18 S201, the operator of the offline teaching apparatus 10 performs the function which sets the wide area operation path | route among the operation path | route setting programs 35 with a predetermined | prescribed operation method. If this process is performed continuously after setting the narrow area operation path, the operation of the operator may be omitted.
[0110]
In step S <b> 202, the operation path setting program 35 reads out condition data 37, which is a condition for setting an operation path, from the hard disk 34 and stores it in the RAM 29. Furthermore, from the condition data 37, the starting point P1, the reaching point P2, the shape of the workpiece 80, the position and the shape of the obstacle 82, etc. for which the operation path is to be set are recognized.
[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 gun unit 68 is operated on the operation path 100 is determined. And investigate for interference.
[0112]
Specifically, a division point obtained by dividing the operation path 100 into a minute length is assumed. Then, the posture of the articulated robot 50 when the gun unit 68 is arranged at each division point, that is, the rotation angles θ1 to θ6 is obtained. The calculation method of the rotation angles θ1 to θ6 is a total of six values defined by the position coordinates (X, Y, Z) of the dividing point in space and the vector Xr, vector Yr, and vector Zr representing the attitude of the gun unit 68. A known matrix calculation method (hereinafter referred to as inverse calculation) may be applied based on the dimensions of each part of the articulated robot 50 and the like.
[0113]
When the postures of the gun unit 68 are different at the starting point P1 and the reaching point P2, the vector Xr, the vector Yr, and the vector Zr indicating the posture of the gun unit 68 may be defined in a straight line complementary manner at each division point. In this investigation, the electrodes 70 and 72 are treated as being in an open state so that the electrodes 70 and 72 do not interfere with the workpiece 80.
[0114]
If the posture of the articulated robot 50 is established for each division point, the operation from the starting point P1 to the reaching point P2 is actually guaranteed.
[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 robot 50 interferes with the obstacle 82 or the like in the obtained posture. The process proceeds to step S205. In other cases, that is, if the solution is normally obtained, a wide area operation route setting end process is performed in step S229.
[0116]
As for the presence or absence of interference, a function relating to interference that the simulation circuit 40 has may be used.
[0117]
In step S205 in FIG. 19, in order to avoid the obstacle 82 or to establish the posture, the gun unit 68 is applied with the first template operation from the starting point P1 to the first relay point Q1 (new starting point). Set.
[0118]
Here, the template represents a prescribed action to be executed by the articulated robot 50. As shown in FIG. 21, the first template is a prescribed distance in the prescribed direction with reference to the TCP of the gun unit 68. Assuming the operated first relay point Q1, the operation path (the route connecting the starting point P1 and the first relay point Q1) Evacuation This is an operation of moving the gun unit 68 to (route) 102. The first relay point Q1 is just moved from the position of the starting point P1, and the direction of the gun unit 68 that the starting point P1 has, that is, the direction of the TCP is assumed to be unchanged.
[0119]
In general, the vector Zr is set to be perpendicular to the workpiece 80 in order to properly perform the welding operation. Therefore, it is preferable that the specified direction is the drawing direction of the gun unit 68, that is, the direction opposite to the vector Xr. It is. The specified distance may be determined in advance according to the size of the gun unit 68 so that the distance can be sufficiently removed from the workpiece 80. 100mm is suitable for a general-sized gun unit.
[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 robot 50 is established at the first relay point Q1 and the presence or absence of interference with surrounding obstacles are investigated in the same manner as in step S203.
[0122]
Next, in step S207, if the result of the investigation in step S206 shows that the posture of the articulated robot 50 at the first relay point Q1 is established and there is no interference, the process proceeds to step S212. Otherwise, step S208 is performed. Move on.
[0123]
In step S208, it is assumed that the gun unit 68 is rotated by a predetermined angle around the vector Xr, Yr or Zr in order to obtain an appropriate posture at the first relay point Q1. This rotation process is performed together with step S209, which is the next determination process, and all the vectors Xr, Yr, and Zr are sequentially rotated.
[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 robot 50.
[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 multi-joint robot 50 is determined.
[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 robot 50 is established and there is no interference in the determination in step S207). Assuming 102 (see FIG. 17), whether or not the posture is established and the presence or absence of interference when the gun unit 68 is operated on the operation path 102 is investigated by the same process as step S203.
[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 robot 50 is established at the dividing point on the motion path 102 and is operable, the process proceeds to the next step S214. If it is determined that the operation is impossible, the process returns to step S210, and the position of the first relay point Q1 is further changed.
[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 operation path 104 connecting the two first relay points Q1 and Q2, whether the posture is established and whether there is interference when the gun unit 68 is operated on the operation path 104. Is investigated by the same process as in step S203.
[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 robot 50 is established at the dividing point on the operation path 104 and can be operated, the wide-area operation path setting is performed in step S229 in FIG. Perform termination processing. If it is determined that the operation is impossible, the process proceeds to the next step S217.
[0132]
In step S217 of FIG. 20, in order to avoid the obstacle 82, the gun unit 68 is set to the second relay point R1 by applying the second template operation from the first relay point Q1.
[0133]
As shown in FIG. 21, the second template assumes a line 108 connecting the first relay point Q1 and a predetermined fixed point 106, and a point moved on the line 108 by a specified distance from the first relay point Q1. The second relay point R1 is used.
[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 gun unit 68 having the first relay point Q1, that is, the direction of TCP is assumed to be unchanged.
[0135]
The second template is used as a free space where the obstacle 82 is unlikely to exist so that the gun unit 68 that has already detached from the workpiece 80 moves in a direction in which there is no obstacle 82 to interfere with. To move in the direction. That is, the obstacle 82 generally does not exist near the origin O so as not to hinder the operation of the articulated robot 50, and the obstacle 82 can be avoided by operating in this direction. Possibility increases and is suitable. The specified distance is preferably 100 mm.
[0136]
In addition to the origin O, if there is a place where the obstacle 82 does not exist or a place where the fixed point 106 is easy to operate, that place may be set as the fixed point 106. For example, when the motion range of the articulated robot 50 is expressed in space, it is considered that the degree of freedom of motion is the largest at the center position, so that position may be the fixed point 106.
[0137]
Next, in step S218, whether or not the articulated robot 50 posture is established at the second relay point R1 and the presence or absence of interference with surrounding obstacles are investigated in the same manner as in step S203.
[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 robot 50 at the second relay point R1 is established and there is no interference, the process proceeds to step S224. Otherwise, step S220 is performed. Move on.
[0139]
In step S220, in order to obtain an appropriate posture at the second relay point R1, it is assumed that the gun unit 68 is rotated by a predetermined angle about the vector Xr, Yr or Zr as in step S208.
[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 robot 50.
[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 point 106 in step S222. To the position moved by a predetermined distance. That is, if the second relay point R1 is set at a distance of 100 mm from the first relay point Q1, it is further moved by 100 mm in the direction of the fixed point 106 and reset to the position of 200 mm.
[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 point 106, the process is interrupted and replanning is performed. If the fixed point 106 has not been reached, the process moves to step S218 to determine the posture of the articulated robot 50.
[0143]
In step S224 (when it is determined that the posture of the articulated robot 50 is established and there is no interference in the determination in step S219), an operation path 110 connecting the first relay point Q1 and the second relay point R1 is assumed. Then, when the gun unit 68 is moved on the operation path 110, the investigation of whether or not the posture is established and the presence or absence of interference are performed by the same processing as in step S203.
[0144]
Next, in step S225, the same determination as in step S204 is performed. If it is determined that the articulated robot 50 is postured at the dividing point on the movement path 110 and can be operated, the process proceeds to the next step S226, and if it is determined that the movement is impossible, the process returns to step S222 and the first relay is performed. The position of the point Q1 is further changed.
[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 operation path 112 connecting the two second relay points R1 and R2 is assumed, and the same investigation as in step S203 is performed on the operation on the operation path 112.
[0147]
Next, in step S228, the same determination as in step S204 is performed, and if the posture of the articulated robot 50 is established at the dividing point on the motion path 112 and it can be determined that the robot can be operated, a wide-area motion path setting end process is performed. If it is determined that the operation is impossible due to the interference of the obstacle, the process returns to step S222, the two second relay points R1 and R2 are further moved, and the process may be repeated until the operation path is established.
[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 robot 50 are recorded.
[0149]
The motion path recorded in the path table 120 is converted into program data for operating the actual articulated robot 50 by the data creation circuit 38 and then transferred to the robot controller 22.
[0150]
The path table 120 is recorded in the RAM 29 and the hard disk 34, but may be displayed on the screen of the monitor 16 or printed as necessary.
[0151]
In the above description, the operation path 104 is a path connecting the first relay points Q1 and Q2, but the first template is applied only to the start point P1 side to obtain the first relay point Q1, The arrival point P2 may be applied as it is, and a route connecting the first relay point Q1 and the arrival point P2 may be assumed.
[0152]
Similarly, for the operation route 112, for example, a route connecting the second relay point R1 and the first relay point Q1 may be assumed.
[0153]
From the starting point P1 Evacuation in order to Evacuation The operation paths 102 and 110 as paths may be used when operating to other points other than the arrival point P2.
[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 workpiece 80, the obstacle 82, and the like.
[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 robot 50 includes a seven-axis structure, a link mechanism, and an expansion / contraction mechanism. The structure which has etc. may be sufficient.
[0158]
Thus, according to the present embodiment, first, an operation path 100 connecting the starting point P1 and the arrival point P2 is assumed, and it is investigated whether the gun unit 68 can be operated on the operation path 100. Therefore, if the gun unit 68 can operate on the operation path 100, the operation path can be set very simply without providing an operation relay point or the like. Even when the operation on the operation path 100 is impossible, the first template that operates by the specified distance in the opposite direction of the vector Xr that is the specified direction from the starting point P1 or the arrival point P2 is applied. The first relay points Q1 and Q2 can be set automatically and efficiently without being performed and without being affected by the shape of the workpiece 80.
[0159]
The first template is most suitable for the workpiece 80. Evacuation Head in the specified direction set to the direction considered to be easy to do, and from the workpiece 80 sufficiently according to the size of the gun unit 68 Evacuation Because it operates only as much as possible, it is a simple method and safe from the workpiece 80 Evacuation It is highly possible. In addition, since the safety is verified in step S206 and the like, there is no possibility of interference or the like when the articulated robot 50 is actually operated.
[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 robot 50 or a point that causes interference, the first and second templates Since the specified distance is corrected and the position of the first relay point Q1, Q2 or the second relay point R1, R2 is reset, it is preferable. Evacuation The position can be set.
[0161]
Further, in the second template, the prescribed direction is the direction toward the origin O in the coordinate calculation of the articulated robot 50, so that there is a low possibility of interference with the obstacle 82.
[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 work 80. Evacuation Then, from the other obstacle 82 etc. with the second template Evacuation And after that, the safety is verified. Evacuation In addition, it is possible to set a wide-area operation path, and it is possible not only to improve work efficiency but also to improve the quality of offline teaching data without depending on the skill of the operator.
[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 ... Offline teaching device 12 ... Robot device
14 ... Control unit 22 ... Robot control unit
26 ... CPU 29 ... RAM
34 ... Hard disk 35 ... Operation path setting program
38 ... Data creation circuit 40 ... Simulation circuit
50 ... Articulated robot 68 ... Gun unit
70, 72 ... Electrode 80 ... Workpiece
90, 100, 102, 104, 110, 112 ... operation path
106 ... fixed point 120 ... pass table
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.
請求項1記載の多関節ロボットの動作経路設定方法において、
前記第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.
請求項のいずれか1項に記載の多関節ロボットの動作経路設定方法において、
前記退避経路の終点を新たな出発点または到達点として規定し、前記第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.
JP2001283952A 2001-09-18 2001-09-18 Motion path setting method and setting device for articulated robot Expired - Fee Related JP3647404B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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