JP3647404B2 - 多関節ロボットの動作経路設定方法および設定装置 - Google Patents
多関節ロボットの動作経路設定方法および設定装置 Download PDFInfo
- Publication number
- JP3647404B2 JP3647404B2 JP2001283952A JP2001283952A JP3647404B2 JP 3647404 B2 JP3647404 B2 JP 3647404B2 JP 2001283952 A JP2001283952 A JP 2001283952A JP 2001283952 A JP2001283952 A JP 2001283952A JP 3647404 B2 JP3647404 B2 JP 3647404B2
- Authority
- JP
- Japan
- Prior art keywords
- point
- articulated robot
- work
- operation path
- path setting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
- Resistance Welding (AREA)
Description
【発明の属する技術分野】
本発明は、多関節ロボットの動作経路設定方法および設定装置に関し、特に、多関節ロボットの先端部に設けられたエンドエフェクタが、所定の作業点間を動作するための経路を設定するための多関節ロボットの動作経路設定方法および設定装置に関する。
【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…ベクトル
Claims (6)
- エンドエフェクタをワークに対する作業点間で動作させる多関節ロボットの動作経路設定方法において、
前記ワークの作業点に配置される前記エンドエフェクタが、前記ワークおよび他の障害物に対し非干渉状態を保ちながら、前記作業点から前記ワークの端部近傍の点まで退避する狭域動作経路を、前記作業点近傍における前記ワークおよび前記障害物の形状に基づいて各作業点に対応して設定し、前記端部近傍の点を得る第1のステップと、
2つの前記端部近傍の点のうち一方の点を出発点、他方の点を到達点とし、前記出発点から前記到達点まで動作する広域動作経路を、予め決められた規定動作を組み合わせることにより設定する第2のステップと
を有し、
前記第1のステップは、前記エンドエフェクタのアームまたは電極により一部包囲された内部空間を規定するステップと、
前記ワークのうち、前記内部空間に存在する対象ワーク部分を抽出するステップと、
前記多関節ロボットを動作させたときに、前記エンドエフェクタと前記対象ワーク部分との干渉の有無を調査するステップと
を有することを特徴とする多関節ロボットの動作経路設定方法。 - 請求項1記載の多関節ロボットの動作経路設定方法において、
前記第2のステップは、前記出発点と前記到達点とを結ぶ経路を想定し、前記エンドエフェクタを前記経路上に動作させることが可能であるか否かを調査する第3のステップと、
前記第3のステップで、前記経路上を動作させることが不可能である場合に、前記出発点または前記到達点から前記エンドエフェクタを規定方向へ規定距離だけ動作する退避経路を設定する第4のステップと
を有することを特徴とする多関節ロボットの動作経路設定方法。 - 請求項2記載の多関節ロボットの動作経路設定方法において、
前記規定方向は、前記出発点または前記到達点における前記エンドエフェクタの姿勢を基準とした所定の方向であることを特徴とする多関節ロボットの動作経路設定方法。 - 請求項2記載の多関節ロボットの動作経路設定方法において、
前記規定方向は、前記出発点または前記到達点と、空間上の定点とを結ぶ方向であることを特徴とする多関節ロボットの動作経路設定方法。 - 請求項2〜4のいずれか1項に記載の多関節ロボットの動作経路設定方法において、
前記退避経路の終点を新たな出発点または到達点として規定し、前記第3のステップおよび第4のステップを再度実行することを特徴とする多関節ロボットの動作経路設定方法。 - エンドエフェクタをワークに対する作業点間で動作させる多関節ロボットの動作経路設定装置において、
前記ワークの作業点に配置される前記エンドエフェクタが、前記ワークおよび他の障害物に対し非干渉状態を保ちながら、前記作業点から前記ワークの端部近傍の点まで退避する狭域動作経路を、前記作業点近傍における前記ワークおよび前記障害物の形状に基づいて各作業点に対応して設定し、前記端部近傍の点を得る狭域動作経路設定部と、
2つの前記端部近傍の点のうち一方の点を出発点、他方の点を到達点とし、前記出発点から前記到達点まで動作する広域動作経路を、予め決められた規定動作を組み合わせることにより設定する広域動作経路設定部と
を有し、
前記狭域動作経路設定部は、前記エンドエフェクタのアームまたは電極により一部包囲された内部空間を規定し、
前記ワークのうち、前記内部空間に存在する対象ワーク部分を抽出し、
前記多関節ロボットを動作させたときに、前記エンドエフェクタと前記対象ワーク部分との干渉の有無を調査することを特徴とする多関節ロボットの動作経路設定装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001283952A JP3647404B2 (ja) | 2001-09-18 | 2001-09-18 | 多関節ロボットの動作経路設定方法および設定装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001283952A JP3647404B2 (ja) | 2001-09-18 | 2001-09-18 | 多関節ロボットの動作経路設定方法および設定装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003091303A JP2003091303A (ja) | 2003-03-28 |
JP3647404B2 true JP3647404B2 (ja) | 2005-05-11 |
Family
ID=19107360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001283952A Expired - Fee Related JP3647404B2 (ja) | 2001-09-18 | 2001-09-18 | 多関節ロボットの動作経路設定方法および設定装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3647404B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10175683B2 (en) | 2014-05-01 | 2019-01-08 | Honda Motor Co., Ltd. | Teaching data preparation device and teaching data preparation method for articulated robot |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9925664B2 (en) | 2014-02-27 | 2018-03-27 | Fanuc Corporation | Robot simulation device for generation motion path of robot |
JP5860081B2 (ja) | 2014-02-27 | 2016-02-16 | ファナック株式会社 | ロボットの動作経路を生成するロボットシミュレーション装置 |
CN113885506B (zh) * | 2021-10-18 | 2023-07-07 | 武汉联影智融医疗科技有限公司 | 机器人避障方法、装置、电子设备及存储介质 |
-
2001
- 2001-09-18 JP JP2001283952A patent/JP3647404B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10175683B2 (en) | 2014-05-01 | 2019-01-08 | Honda Motor Co., Ltd. | Teaching data preparation device and teaching data preparation method for articulated robot |
Also Published As
Publication number | Publication date |
---|---|
JP2003091303A (ja) | 2003-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3715537B2 (ja) | 多関節ロボットの干渉回避方法およびプログラム | |
US9207668B2 (en) | Method of and apparatus for automated path learning | |
KR102261469B1 (ko) | 로봇 제어 장치, 로봇의 관절의 각도를 구하는 방법, 프로그램 | |
JP6181861B2 (ja) | 多関節ロボットのティーチングデータ作成装置及び作成方法 | |
JP2012091304A (ja) | ティーチングデータ作成方法およびティーチングデータ作成装置 | |
JP3647404B2 (ja) | 多関節ロボットの動作経路設定方法および設定装置 | |
JPH08328632A (ja) | ロボット動作のシミュレーション方法 | |
JP3639873B2 (ja) | ロボット制御方法およびロボット制御システム | |
JP2003103481A (ja) | 多関節ロボットの姿勢適正化方法および適正化装置 | |
JP3577296B2 (ja) | 多関節ロボットの動作経路設定方法および設定装置 | |
US20160279802A1 (en) | System for operating a robotic assembly | |
JP7199073B2 (ja) | 垂直多関節ロボットの教示データ作成システム | |
JP2002239957A (ja) | 多関節ロボットの姿勢決定方法およびプログラム | |
JP7320629B2 (ja) | 溶接設備の干渉回避方法及び溶接設備の制御装置 | |
JP2021175595A (ja) | シミュレータ、ロボット教示装置、ロボットシステム、シミュレーション方法、プログラム及び記録媒体 | |
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 (ja) | ロボット制御装置 | |
JP4713030B2 (ja) | エンドエフェクタの開度設定方法 | |
JP3957296B2 (ja) | ロボットの相互干渉検証方法 | |
JP2003103483A (ja) | 干渉確認方法および確認装置 | |
JP2002239956A (ja) | 多関節ロボットのティーチングデータ作成方法 | |
JP4000307B2 (ja) | 多関節ロボットのティーチングデータ作成方法 | |
JP3068577B2 (ja) | 多関節ロボットの制御装置 |
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 |