JP4837837B2 - 作業ロボットシステムにおけるロボットプログラム作成装置並びに自動制御機器システムのプログラム作成装置。 - Google Patents

作業ロボットシステムにおけるロボットプログラム作成装置並びに自動制御機器システムのプログラム作成装置。 Download PDF

Info

Publication number
JP4837837B2
JP4837837B2 JP2001129862A JP2001129862A JP4837837B2 JP 4837837 B2 JP4837837 B2 JP 4837837B2 JP 2001129862 A JP2001129862 A JP 2001129862A JP 2001129862 A JP2001129862 A JP 2001129862A JP 4837837 B2 JP4837837 B2 JP 4837837B2
Authority
JP
Japan
Prior art keywords
robot
basic
workpiece
work
coordinate
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
JP2001129862A
Other languages
English (en)
Other versions
JP2002326175A (ja
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.)
Komatsu Ltd
Original Assignee
Komatsu 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 Komatsu Ltd filed Critical Komatsu Ltd
Priority to JP2001129862A priority Critical patent/JP4837837B2/ja
Publication of JP2002326175A publication Critical patent/JP2002326175A/ja
Application granted granted Critical
Publication of JP4837837B2 publication Critical patent/JP4837837B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は溶接ロボット等の作業ロボットを駆動制御してワークを溶接等する作業ロボットシステムあるいは自動制御機器を駆動制御する自動制御機器システムに関し、特に作業ロボットシステムあるいは自動制御機器システムにおいてプログラムを作成する装置に関するものである。
【0002】
【従来の技術】
アーク溶接等を行う溶接ロボットは、最適溶接位置を確保するポジショナやスライダ(走行台車)と組み合わせてワークを溶接する作業を行う。溶接ロボットでは、ロボット各軸が駆動制御されることにより、溶接トーチの先端が溶接線に沿って移動され、溶接作業が行われる。ここで溶接作業を行わせるためには、ロボットの作業内容を教示して、ロボットの制御プログラムとしてのロボットプログラムを作成する必要がある。
【0003】
ロボットに作業内容を教示する方法には、作業者がロボットを手動動作させることにより所望の位置、姿勢角度を教示するティーチングプレイバック方式と、ロボットのコントローラとは独立したコンピュータ上にロボットやワークのモデルを構築し、そのモデルを使用してロボットの位置、姿勢角度を教示するオフラインティーチング方式とがある。
【0004】
しかしティーチングプレイバック方式によるときは、生産設備や治具、対象ワークが現実に揃っている必要があり、ティーチング作業をしているときは設備等を占有するので、生産現場での作業中断を招き、作業効率上望ましくない。
【0005】
そこで溶接分野でのティーチングは、外部から数値データやプログラム形式で情報を入力することにより生産ラインから離れてティーチングできるオフラインティーチング方式が主流となっている。
【0006】
従来のオフラインティーチングを図30を参照して説明する。たとえば溶接対象のワークは図9に示すようなワーク10Aであるとする。
【0007】
図30に示すように3次元CAD用端末11で、3次元CAD(コンピュータ・エイデッド・デザイン)のソフトウエアによって溶接対象のワーク10Aがワーク座標系で作成される。なお3次元CAD用端末11の代わりに2次元CAD用端末11′を使用してもよい。
【0008】
つぎに3次元CAD用端末11からワーク10Aの座標位置データがオフラインティーチング用端末6に取り込まれる。オフラインティーチング用端末6では、ワーク10Aの座標位置のデータから溶接線のデータが作成され、ロボットのツール先端が移動すべき移動経路L上の各移動点(図9参照)がロボット座標系上で定義される。
【0009】
すなわち溶接ロボットがたとえば6軸(X、Y、Z、A、B、C)のロボットであれば、ツール先端の位置および姿勢角度のデータ(X、Y、Z、A、B、C)が各移動点毎に教示されることになる。またポジショナあるいはスライダの各軸のデータ(R、S、T、U、V、W、J、K、L)についても各移動点毎に教示される。
【0010】
このようにして図10に示すようにワーク10Aに対応したロボットプログラム30Aが作成される。
【0011】
ここで本明細書で使用する用語を定義しつつ図10のロボットプログラム30Aの内容について説明する。
【0012】
ロボットプログラムはジョブあるいはティーチングデータとほぼ同義で使用する。
【0013】
ジョブとはロボットが行う作業の一単位のことであり、各ジョブが実行されることにより作業が終了する。
【0014】
ロボットプログラムはジョブ単位で作成される。
【0015】
ジョブは、各ステップ(工程)毎に、「コマンド(補間方法)」、「溶接条件データ」、「速度データ」、「各軸の位置、姿勢角データ」が対応づけられている。
【0016】
図10のロボットプログラム30Aのたとえばステップ3では、「EX(外部)各軸 位置」というコマンド(補間方法)、「速度F4 パス2」という速度データ、「X=140.89 Y=1000.00 Z=1117.99 A=74.73 B=−89.99 C=2.09 U=93.00 V=40.00」という各軸の位置、姿勢角データがそれぞれ記述されている。
【0017】
また、たとえばステップ7では、「溶接 1層盛」というコマンド、「条件606 電源1」という溶接条件がそれぞれ記述されている。
【0018】
このようにしてオフラインティーチング用端末6にてロボットプラグラムとしてのジョブデータが作成される。
【0019】
このようにして作成されたジョブデータは、プログラム作成用端末12に送られる。プログラム作成用端末12ではテキスト/バイナリ変換などの処理がなされジョブデータがフロッピディスクに書き込まれる。
【0020】
このフロッピディスクがロボット1のコントローラに読み出し可能に装着され、これによりロボット1が駆動される。なお教示された移動点と実際の移動点との誤差は、実際にロボット1を動かして現場で修正される。またオフラインティーチングで対処できないコマンドは現場で教示される。
【0021】
しかし、上述したように、各ステップ(工程)毎に、「コマンド(補間方法)」、「溶接条件データ」、「速度データ」、「各軸の位置、姿勢角データ」を記述するという作業は、人手によるものであるため、煩雑である。
【0022】
この場合ワークの種類が異なればワークの種類毎にロボットプラグラムを作成しなければならず、ワークの種類が多種類にわたる現場ではとりわけ煩雑なものとなる。
【0023】
また溶接線を指定する作業等は、ティーチングの知識のみならず溶接の知識や技能、ノウハウ等を要し、一定レベル以上の熟練者でなければ作業することができない。
【0024】
このため従来のオフラインティーチングは作業に時間がかかりアーク溶接等のノウハウ等をもっていないオペレータは実質的に作業ができないことになっていた。
【0025】
そこで近年オフラインティーチングに自動プログラミングの技術が導入されている。
【0026】
自動プログラミングの技術によれば、類似したワークに関してジョブを、ワークの設計情報に基づいて、決められたルールにしたがい自動的に生成することができる。これによりティーチングに要する時間が短縮され、溶接のノウハウ等を有しないオペレータであってもジョブを作成することが可能になる。
【0027】
しかし自動プログラミングでオフラインティーチングを行うシステムを開発するためには、溶接作業のパターンを類似ワーク毎に分類してパターン毎にルールを作成することが必要になる。ただし類似ワークといっても、ワーク間で微妙に異なるので、これをパターン分けする作業自体が実際には難しい。また現場でジョブの変更があった場合に、その情報を自動プログラミングのシステムにフィードバックすることも実際には困難である。
【0028】
ここで、類似する定型的なワークに関するロボットプログラムの作成の容易化、作業効率の改善を図る技術として、たとえば特開昭64−64016号公報に記載されたものがある。
【0029】
この公報に記載された発明は、CADで定型的なワークの設計データを作成し、これにより予め溶接位置を変数として記述することによって、ベースとなるロボットプログラムを作成しておき、具体的なワークの溶接位置データがCADで得られたならば、ベースプログラム中の溶接位置変数に、CADから渡された位置データを組み込み、類似する個々のワークに対応したロボットプログラムを作成するというものである。
【0030】
【発明が解決しようとする課題】
上述した公報記載の発明は、確かにワークの位置データを、ベースとなるプログラムの変数に組み込むだけの作業でよく、オペレータがティーチングや溶接についての高度の知識を要せずとも、煩雑なロボットプログラムの作成を容易に行なえ、これにより作業効率が向上するという利点がある。
【0031】
しかし、ベースとなるロボットプログラムは、各溶接位置を変数として記述したものであり、具体的な数値データとして記述したものではないので、実際に現場で使用されて動作が確認されたものではない。
【0032】
ところが現場のロボット、ポジショナやスライダには、機差があり、オフラインで作成したロボットプログラムをそのまま実行しても、実際には想定した通りの移動経路を通過しなかったり、微妙な軌跡ずれ、位置ずれが生じることがある。
【0033】
したがってベースプログラムを元に個々のワークのロボットプログラムを作成し得たとしても、そのプログラムを実行させて動作確認を必ず行わなければならない。また動作確認後にプログラムを修正する作業を行わなければならない。そしてこれらの動作確認とプログラム修正作業は、個々のワーク毎に行う必要がある。
【0034】
このようにロボットプログラムの動作確認とプログラム修正作業を個々のワーク毎に行うことは、多大な負担をオペレータに与えるとともに作業効率上望ましくない。
【0035】
本発明はこうした実状に鑑みてなされたものであり、実際の現場で使用された基本ロボットプログラムをベースにして、類似するワークのロボットプログラムを容易に作成できるようにするとともに、現場のロボット等の機差をプログラム中に織り込むようにして、実際にロボットを動かす動作確認とプログラム修正作業を実質的になくし作業効率を向上させることを解決課題とするものである。
【0036】
【課題を解決するための手段および効果】
第1発明は、
作業ロボットのツールの先端が移動すべき基本ワーク上の移動経路の各座標位置を、ワーク座標系上の座標位置からロボット座標系上の座標位置に変換して、ロボット座標系で各座標位置が記述された基本ロボットプログラムを予め作成し、この作成された基本ロボットプログラムに記述された各座標位置に沿って前記作業ロボットのツール先端が移動するように、前記作業ロボットを駆動制御するようにした作業ロボットシステムにおいて、
前記基本ワークが、移動経路が異なる類似ワークに設計変更された場合に適用され、
前記基本ワークと前記類似ワークのワーク座標系上の座標位置を変数として、ロボット座標系上の座標位置の差分に変換する変換プログラムを用意し、
前記変換プログラムに、前記基本ワークと前記類似ワークのワーク座標系上の座標位置データを代入することによって、ロボット座標系上の座標位置の差分を演算し、
この演算した差分だけ、前記基本ロボットプログラム中にロボット座標系で記述された基本ワークの座標位置をシフトすることによって、前記類似ワークに適合したロボットプログラムを作成すること
を特徴とする。
【0037】
第1発明を図6、図7、図8を参照して説明する。
【0038】
第1発明は、図6(a)に示す基本ワーク10P(移動経路20)が、図6(b)に示すように移動経路20′が異なる類似ワーク10Qに設計変更された場合に適用される。
【0039】
図7に示すように基本ワーク10Pの基本ロボットプログラム30Pは、ロボット座標系上の座標位置データRs、Reで記述されている。
【0040】
そこで基本ワーク10Pと類似ワーク10Qのワーク座標系上の座標位置を変数として、ロボット座標系上の座標位置の差分に変換する変換プログラムFnが用意される。
【0041】
そして図8に示すように変換プログラムFnに、基本ワーク10Pと類似ワーク10Qのワーク座標系上の座標位置データが代入されることによって、ロボット座標系上の座標位置の差分が演算され、この演算した差分だけ、基本ロボットプログラム30P中にロボット座標系で記述された基本ワーク10Pの座標位置Rs、Reがシフトされ、シフトされたロボット座標系上の座標位置Rs′、Re′が求められる。これによって類似ワーク10Qに適合したロボットプログラム30Qが作成される。
【0042】
第1発明で、ベースとなる基本ロボットプログラム30Pは、基本ワーク10Pのプログラムとして作成されたものであり、実際に現場で使用されて動作が確認され、その上でプログラム修正がなされており、ロボット等の機差が既に織り込まれている。すなわち基本ロボットプログラム30Pを実行すればロボットのツール先端は移動経路20に沿って精度よく移動する。
【0043】
そこで基本ワーク10Pと類似ワーク10Qのワーク座標系上の座標位置の差分に相当する分だけ、基本ロボットプログラム30P中にロボット座標系で記述された座標位置Rs、Reをシフトさせることによって、ロボットプログラム30Qを作成すれば、このロボットプログラム30Qについても基本ロボットプログラム30Pと同様に、既に機差が織り込まれており、移動経路20′に沿って精度よくロボットのツール先端が移動する。つまり類似ワーク10Qのロボットプログラム30Qについては、ロボットを実際に動かす動作確認やプログラム修正の必要はない。
【0044】
このように第1発明によれば、基本ロボットプログラム30Pのロボット座標位置を、基本ワーク10Pと類似ワーク10Qのワーク座標系上の座標位置に応じてシフトさせることによってロボットプログラム30Qを作成するようにしているので、実際の現場で使用された基本ロボットプログラム30Pをベースにして、類似するワーク10Qのロボットプログラム30Qを容易に作成することができるとともに、現場のロボット等の機差をプログラム30Q中に織り込むことができ、ロボットを実際に動かす動作確認とプログラム修正作業を実質的に行う必要はない。これにより作業効率が飛躍的に向上する。
【0045】
第2発明は、第1発明において、
前記基本ワークと前記類似ワークのワーク座標系上の座標位置データは、CADの出力データとして前記変換プログラムに与えられること
を特徴とする。
【0046】
第2発明によれば、基本ワーク10Pと類似ワーク10Qのワーク座標系上の座標位置データが、CADから出力される。
【0047】
このため第2発明によれば、CADによって基本ワーク10Pが類似ワーク10Qに設計変更されるに連動して、類似ワーク10Qに適合したロボットプログラム30Qを作成することができる。
【0048】
第3発明は、
作業ロボットのツールの先端が移動すべき基本ワーク上の移動経路の各座標位置を、ワーク座標系上の座標位置からロボット座標系上の座標位置に変換して、ロボット座標系で各座標位置が記述された基本ロボットプログラムを予め作成し、この作成された基本ロボットプログラムに記述された各座標位置に沿って前記作業ロボットのツール先端が移動するように、前記作業ロボットを駆動制御するようにした作業ロボットシステムにおいて、
前記基本ワークが、移動経路が異なる類似ワークに設計変更された場合に適用され、
前記基本ワークと前記類似ワークのワーク座標系上の座標位置を変数として、ロボット座標系上の座標位置の差分に変換するとともに、前記基本ロボットプログラム中の指定されたエリアについて、前記変換した差分だけ、ロボット座標系で記述された基本ワークの座標位置をシフトするマクロを用意するとともに、
前記基本ワークと前記類似ワークのワーク座標系上の座標位置データのファイルを用意し、
前記マクロを、前記基本ロボットプログラムに記述し、
前記マクロの処理を実行させることによって、前記ファイルから前記基本ワークと前記類似ワークのワーク座標系上の座標位置データを読み出して、ロボット座標系上の座標位置の差分を演算し、前記基本ロボットプログラム中の指定されたエリアにロボット座標系で記述されている基本ワークの座標位置を、前記演算した差分だけシフトして、前記類似ワークに適合したロボットプログラムを作成すること
を特徴とする。
【0049】
第3発明を、図9、図10、図12、図13、図14、図16、図20を参照して説明する。
【0050】
第3発明は、図9に示す基本ワーク10A(移動経路L)が、図13に示すように移動経路が異なる類似ワーク10Bに設計変更された場合に適用される。
【0051】
図10に示すように基本ワーク10Aの基本ロボットプログラム30Aは、ロボット座標系上の座標位置データ(ステップ4 X=1258.19 Y=−420.81 Z=956.26 A=160.00 B=−70.00 C=−125.00)で記述されている。
【0052】
そこで図16に示すように、基本ワーク10Aと類似ワーク10Bのワーク座標系上の座標位置を変数として、ロボット座標系上の座標位置の差分に変換するとともに、基本ロボットプログラム30A中の指定されたエリア(202、203で指定)について、変換した差分だけ、ロボット座標系で記述された基本ワーク10Aの座標位置をシフトするマクロ201、202、203、204が用意される。
【0053】
また図12、図14に示すように、基本ワーク10Aと類似ワーク10Bのワーク座標系上の座標位置データのファイルが用意される。
【0054】
そしてマクロ201、202、203、204が、基本ロボットプログラム30Aに記述される(これによりメタジョブ30′Aが作成される)。
そしてマクロ201、202、203、204の処理を実行させる(メタジョブ30′Aをメタジョブ処理ソフトによって実行させる)ことによって、上述したファイルから基本ワーク10Aと類似ワーク10Bのワーク座標系上の座標位置データが読み出され、ロボット座標系上の座標位置の差分が演算され、基本ロボットプログラム30A中の指定されたエリアにロボット座標系で記述されている基本ワーク10Aの座標位置(ステップ4 X=1258.19 Y=−420.81 Z=956.26 A=160.00 B=−70.00 C=−125.00)が、上記演算した差分だけシフトされて、図20に示すように、シフトされたロボット座標系上の座標位置(ステップ4 X=807.79 Y=−397.83 Z=951.97 A=160.00 B=−70.00 C=−125.00)が求められる。これによって類似ワーク10Bに適合したロボットプログラム30Bが作成される。
【0055】
第3発明によれば、第1発明と同様に、基本ロボットプログラム30Aのロボット座標位置を、基本ワーク10Aと類似ワーク10Bのワーク座標系上の座標位置に応じてシフトさせることによってロボットプログラム30Bを作成するようにしているので、類似ワーク10Bに適合したロボットプログラム30Bを容易に作成することができるとともに、現場のロボット等の機差をプログラム30B中に織り込むことができ、ロボットを実際に動かす動作確認とプログラム修正作業を実質的に行う必要はない。これにより作業効率が飛躍的に向上する。
【0056】
第4発明は、
作業ロボットのツールの先端が移動すべき基本ワーク上の移動経路の各座標位置を、ワーク座標系上の座標位置からロボット座標系上の座標位置に変換して、ロボット座標系で各座標位置が記述された基本ロボットプログラムを予め作成し、この作成された基本ロボットプログラムに記述された各座標位置に沿って前記作業ロボットのツール先端が移動するように、前記作業ロボットを駆動制御するようにした作業ロボットシステムにおいて、
前記基本ワークが、CADによって、類似ワークに設計変更された場合に適用され、
前記基本ワークと前記類似ワークのワーク座標系上の座標位置を変数として、ロボット座標系上の座標位置の差分に変換するとともに、前記基本ロボットプログラム中の指定されたエリアについて、前記変換した差分だけ、ロボット座標系で記述された基本ワークの座標位置をシフトするマクロを用意し、
前記マクロを、前記基本ロボットプログラムに記述し、
前記CADによって類似ワークが設計されるに応じて、前記CADから前記基本ワークと前記類似ワークのワーク座標系上の座標位置データを出力して前記マクロの処理を実行させ、ロボット座標系上の座標位置の差分を演算し、前記基本ロボットプログラム中の指定されたエリアにロボット座標系で記述されている基本ワークの座標位置を、前記演算した差分だけシフトして、前記類似ワークに適合したロボットプログラムを作成すること
を特徴とする。
【0057】
第4発明によれば、第2発明と同様に、基本ワーク10Aと類似ワーク10Bのワーク座標系上の座標位置データが、CADから出力される。
【0058】
このため第4発明によれば、CADによって基本ワーク10Aが類似ワーク10Bに設計変更されるに連動して、類似ワーク10Bに適合したロボットプログラム30Bを作成することができる。
【0059】
第5発明は、
作業ロボットとワークとの位置関係を変更するポジショナまたはスライダを備え、作業ロボットのツールの先端が移動すべきワーク上の移動経路の各座標位置を、ワーク座標系上の座標位置からロボット座標系上の座標位置に変換して、ロボット座標系で各座標位置が記述された基本ロボットプログラムを予め作成し、この作成された基本ロボットプログラムに記述された各座標位置に沿ってツール先端が移動するように前記作業ロボットおよび前記ポジショナまたはスライダを駆動制御するようにした作業ロボットシステムにおいて、
前記ポジショナまたはスライダの各軸位置が変更された場合に適用され、
前記ポジショナまたはスライダの変更前後の各軸位置および前記ワークのワーク座標系上の座標位置を変数として、各軸位置変更前後におけるワークのロボット座標系上の座標位置の差分に変換する変換プログラムを用意し、
前記変換プログラムに、前記ポジショナまたはスライダの変更前後の各軸位置および前記ワークのワーク座標系上の座標位置データを代入することによって、各軸位置変更前後におけるワークのロボット座標系上の座標位置の差分を演算し、
この演算した差分だけ、前記基本ロボットプログラム中にロボット座標系で記述されたワークの座標位置をシフトすることによって、各軸位置変更後に適合したロボットプログラムを作成すること
を特徴とする。
【0060】
第5発明を、図1、図9、図29を参照して説明する。
【0061】
第5発明は、図1に示すポジショナ9またはスライダ4の各軸位置が変更された場合に適用される。
【0062】
図29(a)に示すようにワーク10A(図9)の基本ロボットプログラム30Dは、ロボット座標系上の座標位置データ(ステップ39 X=934.67Y=−506.46 Z=1263.77 A=25.99 B=−55.00 C=0.00)で記述されている。
【0063】
そこで図29(a)の501、502、503に示すように、ポジショナ9またはスライダ4の変更前後の各軸U、Vの位置およびワーク10Aのワーク座標系上の座標位置を変数として、各軸U、Vの位置変更前後におけるワーク10Aのロボット座標系上の座標位置の差分に変換する変換プログラム501、502、503が用意される。
【0064】
そして、変換プログラム501、502、503に、ポジショナ9またはスライダ4の変更前後の各軸U、Vの位置およびワーク10Aのワーク座標系上の座標位置データを代入することによって、各軸U、Vの位置変更前後におけるワーク10Aのロボット座標系上の座標位置の差分が演算され、基本ロボットプログラム30D中にロボット座標系で記述されたワーク10Aの座標位置(ステップ39 X=934.67 Y=−506.46 Z=1263.77 A=25.99 B=−55.00 C=0.00)が、上記演算した差分だけシフトされて、図29(b)に示すように、シフトされたロボット座標系上の座標位置(ステップ39 X=952.15 Y=−504.27 Z=1153.72 A=24.22 B=−55.11 C=10.00)が求められる。これによって各軸U、Vの位置変更後に適合したロボットプログラム30Eが作成される。
【0065】
第5発明によれば、基本ロボットプログラム30Dのロボット座標位置を、ポジショナ9またはスライダ4の変更前後の各軸U、Vの位置およびワーク10Aのワーク座標系上の座標位置に応じてシフトさせることによってロボットプログラム30Eを作成するようにしているので、ポジショナ9またはスライダ4の変更後の各軸U、Vの位置に適合したロボットプログラム30Eを容易に作成することができる。また現場のロボット1、ポジショナ9またはスライダ4の機差をプログラム30E中に織り込むことができ、ロボット1を実際に動かす動作確認とプログラム修正作業を実質的に行う必要はない。これにより作業効率が飛躍的に向上する。
【0066】
第6発明は、
作業ロボットとワークとの位置関係を変更するポジショナまたはスライダを備え、作業ロボットのツールの先端が移動すべきワーク上の移動経路の各座標位置を、ワーク座標系上の座標位置からロボット座標系上の座標位置に変換して、ロボット座標系で各座標位置が記述された基本ロボットプログラムを予め作成し、この作成された基本ロボットプログラムに記述された各座標位置に沿ってツール先端が移動するように前記作業ロボットおよび前記ポジショナまたはスライダを駆動制御するようにした作業ロボットシステムにおいて、
前記ポジショナまたはスライダの各軸位置が変更された場合に適用され、
前記ポジショナまたはスライダの変更前後の各軸位置および前記ワークのワーク座標系上の座標位置を変数として、各軸位置変更前後におけるワークのロボット座標系上の座標位置の差分に変換するとともに、前記基本ロボットプログラム中の指定されたエリアについて、前記変換した差分だけ、ロボット座標系で記述された基本ワークの座標位置をシフトするマクロを用意するとともに、
前記ワークのワーク座標系上の座標位置データのファイルを用意し、
前記マクロを、前記基本ロボットプログラムに記述し、
前記マクロの処理を実行させることによって、前記ファイルから前記ワークのワーク座標系上の座標位置データを読み出して、各軸位置変更前後におけるワークのロボット座標系上の座標位置の差分を演算し、前記基本ロボットプログラム中の指定されたエリアにロボット座標系で記述されているワークの座標位置を、前記演算した差分だけシフトして、各軸位置変更後に適合したロボットプログラムを作成すること
を特徴とする。
【0067】
第6発明によれば、第3発明と同様に、マクロ501、502、503を基本ロボットプログラム30Dに記述し、マクロ501、502、503の処理を実行することによって、ポジショナ9またはスライダ4の変更後の各軸U、Vの位置に適合したロボットプログラム30Eが作成される。
【0068】
第7発明は、
自動制御機器の作業具が移動すべき基本作業対象上の移動経路の各座標位置を、作業対象座標系上の座標位置から自動制御機器座標系上の座標位置に変換して、自動制御機器座標系で各座標位置が記述された基本プログラムを予め作成し、この作成された基本プログラムに記述された各座標位置に沿って前記自動制御機器の作業具先端が移動するように、前記自動制御機器を駆動制御するようにした自動制御機器システムにおいて、
前記基本作業対象が、移動経路が異なる類似作業対象に設計変更された場合に適用され、
前記基本作業対象と前記類似作業対象の作業対象座標系上の座標位置を変数として、自動制御機器座標系上の座標位置の差分に変換する変換プログラムを用意し、
前記変換プログラムに、前記基本作業対象と前記類似作業対象の作業対象座標系上の座標位置データを代入することによって、自動制御機器座標系上の座標位置の差分を演算し、
この演算した差分だけ、前記基本プログラム中に自動制御機器座標系で記述された基本作業対象の座標位置をシフトすることによって、前記類似作業対象に適合したプログラムを作成すること
を特徴とする。
【0069】
第7発明によれば、プログラムで動作し作業具が作業対象上の移動経路に沿って移動することによって作業を行う自動制御機器であれば、作業ロボットに限らず任意のものに第1発明を適用することができる。
【0070】
【発明の実施の形態】
以下図面を参照して本発明の実施形態について説明する。
【0071】
なお実施形態では、溶接作業を行う溶接ロボットを想定し、その溶接ロボットの各軸を駆動制御するためのロボットプログラムを作成する装置を想定している。しかし本発明としては、ツール先端をワーク上の移動経路に沿って移動させて所定の作業を行うものであれば、任意のロボットに適用可能であり、たとえばシーリングを行うシーリング作業用ロボットにも適用することができる。さらには、プログラムで動作し作業具が作業対象上の移動経路に沿って移動することによって作業を行う自動制御機器であれば、作業ロボットに限らず任意のものに適用することができる。
【0072】
本実施形態では、ワークをすみ肉溶接する場合を例にとり説明する。
【0073】
図1は実施形態の装置の全体構成を示している。
【0074】
同図1に示すようにロボット1は、アーム3を有しており、このアーム3の先端には、ツールである溶接トーチ2が取り付けられている。
【0075】
ロボット1は、たとえば6軸ロボットであり、各軸X、Y、Z、A、B、Cが駆動されることによりロボット座標系X−Y−Z上(図15参照)で、ツール先端2aの座標位置およびツール姿勢角(X、Y、Z、A、B、C)が変化される。
【0076】
ロボット1の各軸、スライダ4の各軸、ポジショナ9の各軸は、ロボットコントローラ5によって駆動制御され、これによりツール先端2aが、溶接対象であるワーク10上の所定の移動経路L(図9参照)に沿って移動される。ロボットコントローラ5には、ロボットプログラムがインストールされており、このロボットプログラムにしたがいロボット1の各軸、スライダ4の各軸、ポジショナ9の各軸が動作する。
【0077】
ワーク10はポジショナ9に装着されている。ポジショナ9は各軸U、Vを有しており、各軸U、Vの駆動位置が変更されることにより、ロボット1に対するワーク10の相対位置関係が変化する。
【0078】
ロボット1は、走行台車であるスライダ4上に移動自在に載置されている。スライダ4は各軸R、Sを有しており、各軸R、Sの駆動位置が変更されることにより、ロボット1に対するワーク10の相対位置関係が変化する。
【0079】
これらポジショナ9、スライダ4の各軸は、ロボット1の軸に対して外部(EX)軸と呼ばれる。
【0080】
したがってロボット1の軸が駆動されることによりロボット座標系におけるツール先端2aの位置Pが変化されるとともに、外部軸が駆動されることにより、外部座標系におけるツール先端2aの位置(外部軸位置)Eが変化される。ロボット軸と外部軸が駆動されたときのツール先端2aの位置は、ロボット座標系上の位置Pと外部座標系上の位置Eとを合成した位置P+Eとして表される。
【0081】
プログラム作成用端末12は、パソコン、ワークステーション等で構成されており、このプログラム作成用端末12とコントローラ5との間は、例えばRS−232Cのようなインターフェース7で接続されており、ロボットプログラムのデータの相互通信が行われる。またプログラム作成用端末12とロボットコントローラ5の間で、フロッピディスク8のような携行可能な記録媒体を介してデータを相互に入出力させるようにしてもよい。
【0082】
3次元CAD用端末11には、溶接対象の各種類のワーク10A、10B、10Cを、3次元モデルとして構築する3次元CADのソフトウエアがインストールされている。この端末11のキーボード等を操作することで画面上で各ワーク10A、10B、10Cの3次元モデルを構築することができる。
【0083】
オフラインティーチング用端末6には、ティーチングデータに基づいてロボット1、スライダ4、ポジショナ9の動作をシミュレートするソフトウエアがインストールされている。この端末6のキーボード等を操作することで画面上でティーチングを行うことができるとともに、画面上でロボット1、スライダ4、ポジショナ9の動作をシミュレートすることができる。
【0084】
3次元CAD用端末11と、オフラインティーチング用端末6と、プログラム作成用端末12とは、たとえばインターネット13あるいはイントラネットによって相互にデータの通信が自在に接続されている。またプログラム作成用端末12とロボットコントローラ5の間を同様にインターネット13あるいはイントラネットによって相互に通信自在に接続してもよい。
【0085】
つぎに図5〜図8を参照して第1の実施形態について説明する。
【0086】
図6(a)は基本ワーク10Pを示している。この基本ワーク10Pを溶接開始点Wsから溶接終了点Weまで溶接する場合を想定する。溶接開始点Wsから溶接終了点Weまでの区間が溶接線20となる。ロボット1のツール先端2aの移動経路Lは溶接線20を含む経路となる。
【0087】
3次元CAD用端末11では、3次元CADのソフトウエアによって溶接対象のワーク10Pの3次元モデルがワーク座標系x−y−zで作成される。これにより溶接開始点Ws(xs、ys、zs)、溶接終了点We(xe、ye、ze)、ワーク基準点POS(xp、yp、zp)の座標位置がワーク座標系で記述される。ワーク基準点POSとは、ワークをポジショナ9にセットするときの基準となる点のことである。
【0088】
つぎに3次元CAD用端末11からワーク10Pの座標位置データがオフラインティーチング用端末6に取り込まれる。オフラインティーチング用端末6では、ワーク10Pの座標位置のデータから溶接線のデータが作成され、ロボット1のツール先端2aが移動すべき移動経路L上の各移動点がロボット座標系上で定義される。これにより図7に示すように、ワーク座標系で記述された溶接開始点Ws(xs、ys、zs)、溶接終了点We(xe、ye、ze)が、ロボット座標系X−Y−Zで記述された溶接開始点Rs(Xs、Ys、Zs)、溶接終了点Re(Xe、Ye、Ze)に座標変換されて、移動命令のコマンド「Move」とともに基本ロボットプログラム30Pに記述される。
【0089】
基本ロボットプログラム30Pは移動命令と作業命令とから構成されている。
ロボット1のツール先端2aの位置および姿勢角度のデータ(X、Y、Z、A、B、C)は各移動点Rs、Re…毎に教示される。なおポジショナ9、スライダ4の各軸のデータ(R、S、U、V)についても各移動点毎に教示される。
【0090】
このようにして基本ワーク10Pに対応した基本ロボットプログラム30Pが作成される。
【0091】
基本ロボットプログラム30Pは、プログラム作成用端末12に送られる。プログラム作成用端末12ではテキスト/バイナリ変換などの処理がなされて、コントローラ5の言語等に適合した基本ロボットプログラム30Pが作成される。
つぎに基本ロボットプログラム30Pがコントローラ5にダウンロードされる。
【0092】
すなわち基本ロボットプログラム30Pがフロッピディスク8に書き込まれてロボットコントローラ5に読み出し可能に装着されるか、インターフェース7を介してロボットコントローラ5に送られる。
【0093】
ロボットコントローラ5に基本ロボットコントローラ30Pがダウンロードされると、この基本ロボットプログラム30Pを実行することによりロボット1が駆動される。ここで、教示された移動点Rs、Re…と実際の移動点との誤差は、実際にロボット1を動かして現場で修正される。またオフラインティーチングで対処できないコマンドは現場で教示される。
【0094】
このようにして得られたロボット座標系上の位置Rs、Re…は、ロボット1、スライダ4、ポジショナ9の機差が織り込まれたものとなり、この基本ロボットプログラム30Pにしたがってロボット1、スライダ4、ポジショナ9を駆動制御すれば、ツール先端2aは精度よく移動経路Lに沿って移動し、正確にワーク10Pの溶接作業を行うことができる。
【0095】
以下の処理については図5に示すフローチャートを併せ参照して説明する。
【0096】
つぎに3次元CAD用端末11で、図6(b)に示すように基本ワーク10Pが、この基本ワーク10Pに類似する類似ワーク10Qに設計変更され、類似ワーク10Qの3次元モデルが作成される。
【0097】
この類似ワーク10Qは溶接開始点Ws′から溶接終了点We′まで溶接されるものとする。溶接開始点Ws′から溶接終了点We′までの区間が溶接線20′となる。ロボット1のツール先端2aの移動経路L′は溶接線20′を含む経路となる。
【0098】
3次元CAD用端末11では、類似ワーク10Qの溶接開始点Ws′(xs′、ys′、zs′)、溶接終了点We′(xe′、ye′、ze′)、ワーク基準点POS′(xp′、yp′、zp′)の座標位置がワーク座標系x−y−zで記述される。これら溶接開始点、溶接終了点は、「代表点」であるとして3次元CAD上で特定の識別符号が付与される。
【0099】
同様に3次元CAD用端末11には、基本ワーク10の座標位置データが既に記憶されている。そこで、基本ワーク10Pの溶接開始点Ws(xs、ys、zs)、溶接終了点We(xe、ye、ze)、ワーク基準点POS(xp、yp、zp)は、「代表点」であるとして3次元CAD上で特定の識別符号が付与される(ステップ101)。
【0100】
プログラム作成用端末12には、基本ロボットプログラム30Pをベースにして、基本ワーク10Pと類似ワーク10Qのワーク座標系上の代表点の座標位置Ws、Ws′、We、We′、およびワーク基準点POS、POS′を変数として、これらをロボット座標系上の代表点の座標位置Rs、Rs′、Re、Re′に変換し、ロボット座標系上の座標位置の差分Rs′−Rs、Re′−Reを求め、その差分だけ基本ロボットプログラム30P中の代表点Rs、Reをシフトさせて、類似ワーク10Qの代表点の座標位置Rs′、Re′を求める変換プログラム(関数)Fnがインストールされている。
【0101】
そこでベースとなる基本ロボットプログラム30Pがロボットコントローラ5からプログラム作成用端末12にアップロードされる(ステップ102)。
【0102】
つぎにプログラム作成用端末12では図8に示す処理が実行される。
【0103】
まず基本ロボットプログラム30Pの移動命令と、その移動命令に対応する代表点の関係付けを行う(ステップ103)。
【0104】
つぎに、移動命令に対して、変換プログラムFnがセットされて、3次元CAD用端末11から基本ワーク10P、類似ワーク10Qの代表点の座標位置データが出力され、プログラム作成用端末12に取り込まれる。そして変換プログラムFnの変数に、代表点の座標位置データが代入される。
まず「Move Rs」という移動命令は、溶接開始点という代表点まで移動する命令であるので、この移動命令「Move Rs」に、変換プログラムFnがセットされ、この変換プログラムFnの変数に、溶接開始点の座標位置データxs′、xs、ys′、ys、zs′、zsが代入される。
【0105】
またワーク基準点の座標位置データxp、xp′、yp、yp′、zp、zp′は、ワークによって固定された値であるので、固定パラメータとして変換プログラムFnに組み込まれている。たとえば関数r=Fn(x)がr=ax+bと定義されているものとすると、ワーク基準点の座標位置データはこの関数中の定数a、bに相当する。
【0106】
また「Move Re」という移動命令は、溶接終了点という代表点まで移動する命令であるので、この移動命令「Move Re」に、変換プログラムFnがセットされ、この変換プログラムFnの変数に溶接終了点の座標位置データxe′、xe、ye′、ye、ze′、zeが代入される(ステップ104)。
【0107】
またワーク基準点の座標位置データxp、xp′、yp、yp′、zp、zp′は、ワークによって固定された値であるので、固定パラメータとして変換プログラムFnに組み込まれている。
【0108】
そして上記変換プログラムFnの処理が実行されると、移動命令「Move Rs」については、ワーク座標系上の溶接開始点の座標位置の差分Ws−POSつまりxs−xp、ys−yp、zs−zpが演算される。同様にして差分Ws′−POS′つまりxs′−xp′、ys′−yp′、zs′−zp′が演算される。(ステップ105)。
【0109】
つぎに、このワーク座標系上の溶接開始点とワーク基準点POSの差分が、ロボット座標系上の座標位置Rs、Rs′に変換される。つづいて、これらのロボット座標系上の座標位置の差分Rs′−RsつまりΔXs(=Xs′−Xs)、ΔYs(=Ys′−Ys)、ΔZs(=Zs′−Zs)が求められる。
【0110】
そしてロボット座標系で記述されている基本ワーク10Pの溶接開始点の座標位置Rsがこの差分だけシフトされて、シフトされたロボット座標系上の座標位置Rs′(Xs+ΔXs、Ys+ΔYs、Zs+ΔZs)が求められる。こうして類似ワーク10Qに適合した移動命令「Move Rs′」が求められる(ステップ106)。
【0111】
同様にして移動命令「Move Re」については、ワーク座標系上の溶接終了点の座標位置の差分We−POSつまりxe−xp、ye−yp、ze−zpが演算される。同様にして差分We′−POS′つまりxe′−xp′、ye′−yp′、ze′−zp′が演算される(ステップ105)。
【0112】
つぎに、このワーク座標系上の溶接終了点とワーク基準点POSの差分がロボット座標系上の座標位置Re、Re′に変換される。つづいて、これらのロボット座標系上の座標位置の差分Re′−ReつまりΔXe(=Xe′−Xe)、ΔYe(=Ye′−Ye)、ΔZe(=Ze′−Ze)が求められる。
【0113】
そしてロボット座標系で記述されている基本ワーク10Pの溶接終了点の座標位置Reがこの差分だけシフトされて、シフトされたロボット座標系上の座標位置Re′(Xe+ΔXe、Ye+ΔYe、Ze+ΔZe)が求められる。こうして類似ワーク10Qに適合した移動命令「Move Re′」が求められる(ステップ106)。
【0114】
このようにして類似ワーク10Qに適合したロボットプログラム30Qが作成される。ロボットプログラム30Qはオフラインティーチング用端末6に転送される。
【0115】
オフラインティーチング用端末6では、ロボットプログラム30Qが画面上で実行され、ロボット1、スライダ4、ポジショナ9の動作がシミュレートされ、動作確認が行われる(ステップ108)。動作確認の結果、所望する溶接線20′に沿ってツール先端2aが精度よく追従しないなどの問題点があれば、所望の溶接線20′に沿ってツール先端2aが追従するよう、画面上でロボット1の動作を変更する(ステップ109)。
【0116】
この動作確認の結果、問題がなくなった場合には(ステップ108の判断OK)、ロボットプログラム30Qがロボットコントローラ5にダウンロードされる。すなわちロボットプログラム30Qがフロッピディスク8に書き込まれてロボットコントローラ5に読み出し可能に装着されるか、インターフェース7を介してロボットコントローラ5に送られる(ステップ110)。
【0117】
ロボットコントローラ5にロボットコントローラ30Qがダウンロードされると、このロボットプログラム30Qを実行することによりロボット1が駆動され、類似ワーク10Qの溶接作業が行われる。
【0118】
以上、基本ワーク10Pから一種類の類似ワーク10Qに変更された場合についてのみ説明したが、さらに他種類の類似ワーク10R、10S、…等に順次設計変更された場合も、同様にして各類似ワークに適合したロボットプログラムを作成することができる。
【0119】
つぎに本実施形態の効果について説明する。
【0120】
ロボットコントローラ30Qのベースとなった基本ロボットプログラム30Pは、基本ワーク10Pのプログラムとして作成されたものであり、実際に現場で使用されて動作が確認され、その上でプログラム修正がなされており、そのロボット座標系上の座標位置Rs、Reには、ロボット1の機差が既に織り込まれている。
【0121】
本実施形態では、基本ワーク10Pと類似ワーク10Qのワーク座標系上の座標位置の差分に相当する分だけ、基本ロボットプログラム30P中にロボット座標系で記述された座標位置Rs、Reをシフトさせることによって座標位置Rs′、Re′を求め、ロボットプログラム30Qを作成するようにしているので、このロボットプログラム30Qについても基本ロボットプログラム30Pと同様に、既に機差が織り込まれることになり、移動経路20′に沿って精度よくロボット1のツール先端2aが移動することになる。このため類似ワーク10Qのロボットプログラム30Qについては、実際にロボット1を動かす動作確認やプログラム修正の必要はない。
【0122】
このように本実施形態によれば、基本ロボットプログラム30Pのロボット座標位置を、基本ワーク10Pと類似ワーク10Qのワーク座標系上の座標位置に応じてシフトさせることによってロボットプログラム30Qを作成するようにしているので、実際の現場で使用された基本ロボットプログラム30Pをベースにして、類似するワーク10Qのロボットプログラム30Qを容易に作成することができるとともに、現場のロボット1の機差をプログラム30Q中に織り込むことができ、ロボット1を実際に動かす動作確認とプログラム修正作業を実質的に行う必要はなくなり、作業効率が飛躍的に向上する。
【0123】
・第2の実施形態
つぎに図9〜図26を参照して第2の実施形態について説明する。
【0124】
図9は基本ワーク10Aを示している。ロボット1のツール先端2aは基本ワーク10A上の移動経路Lに沿って移動する。移動経路Lは溶接線20を含む経路となる。図9の移動経路Lの各移動点に対応して、基本ロボットプログラム30Aのステップ番号3、4、5…12、命令(移動命令、作業命令)「EX各軸」、「各軸」、「サーチ」…「EX各軸」が対応づけられている。
【0125】
図10は基本ワーク10A上の移動経路Lに沿ってツール先端3aを移動させる基本ロボットプログラム30Aを示している。
【0126】
図11は基本ワーク10Aの溶接線20の溶接開始点PNT1と、溶接終了点PNT2の位置を示している。
【0127】
ロボットプログラム30Aは、各ステップ(工程)3、4、5…12毎に、「コマンド(補間方法)」、「溶接条件データ」、「速度データ」、「各軸の位置、姿勢角データ」が対応づけられている。
【0128】
たとえばステップ4には、「各軸 位置」というコマンド(補間方法)、「速度F4 パス2」という速度データ、「X=1258.19 Y=−420.81 Z=956.26 A=160.00 B=−70.00 C=−125.00」という各軸の位置、姿勢角データがそれぞれ記述されている。なおSPは構造パラメータであり、「0001」が記述されている。
【0129】
また、たとえばステップ7では、「溶接 1層盛」というコマンドが、「条件606 電源1」という溶接条件がそれぞれ記述されている。
【0130】
また、たとえばステップ8には、「直線 位置」というコマンド(補間方法)、「速度200 パス2」という速度データ、「X=1234.70 Y=−422.15 Z=919.26 A=160.03 B=−70.02 C=−125.00」という各軸の位置、姿勢角データがそれぞれ記述されている。また構造パラメータSP「0001」が記述されている。
【0131】
ここで図10のロボットプログラム30Aの各ステップと図11の溶接開始点PNT1、溶接終了点PNT2との関係について説明する。
【0132】
ロボットプログラム30Aのステップ4、5、6、7は、溶接開始点PNT1に関係するステップである。ステップ4、5、6、7は「溶接開始点PNT1の接近位置まで各軸補間で接近し(ステップ4)溶接開始点PNT1をセンサでサーチし(ステップ5)直線補間で溶接開始点PNT1に移動し(ステップ6)一層盛の溶接を行う(ステップ7)」という動作を示しており、溶接開始点PNT1が変化すれば、それに応じて各ステップ4、5、6に記述されているロボット座標系上の位置データ(X、Y、Z)が変化する。
【0133】
またロボットプログラム30Aのステップ8、9、10は、溶接終了点PNT2に関係するステップである。ステップ8、9、10は「溶接終了点PNT2まで直線補間で移動し(ステップ8)溶接を終了させ(ステップ9)溶接終了点PNT2の接近位置まで直線補間で移動する(ステップ10)」という動作を示しており、溶接終了点PNT2が変化すれば、それに応じて各ステップ8、10に記述されているロボット座標系上の位置データ(X、Y、Z)が変化する。
【0134】
このようにしてオフラインティーチング用端末6にて基本ワーク10Aの基本ロボットプラグラム30Aが作成される。
【0135】
基本ロボットプログラム30Aは、プログラム作成用端末12に送られる。プログラム作成用端末12ではテキスト/バイナリ変換などの処理がなされて、コントローラ5に適合した基本ロボットプログラム30Aが作成される。つぎに基本ロボットプログラム30Aがコントローラ5にダウンロードされる。
【0136】
すなわち基本ロボットプログラム30Aがフロッピディスク8に書き込まれてロボットコントローラ5に読み出し可能に装着されるか、インターフェース7を介してロボットコントローラ5に送られる。
【0137】
ロボットコントローラ5に基本ロボットコントローラ30Pがダウンロードされると、この基本ロボットプログラム30Aを実行することによりロボット1が駆動される。ここで、教示された移動点と実際の移動点との誤差は、実際にロボット1を動かして現場で修正される。またオフラインティーチングで対処できないコマンドは現場で教示される。
【0138】
このようにして得られたロボット座標系上の位置たとえばステップ4の位置「X=1258.19 Y=−420.81 Z=956.26 A=160.00 B=−70.00 C=−125.00」は、ロボット1、スライダ4、ポジショナ9の機差が織り込まれたものとなり、この基本ロボットプログラム30Aにしたがってロボット1、スライダ4、ポジショナ9を駆動制御すれば、ツール先端2aは精度よく移動経路Lに沿って移動し、正確にワーク10Aの溶接作業を行うことができる(図9参照)。
【0139】
以下の処理については図5に示すフローチャートを併せ参照して説明する。
【0140】
・メタジョブの作成
メタジョブの作成処理の流れは図2に示される。
【0141】
3次元CAD用端末11では、図13に示すように基本ワーク10Aが、この基本ワーク10Aに類似する類似ワーク10Bに設計変更され、類似ワーク10Bの3次元モデルが作成される。図13は3次元CAD用端末11の画面40上に類似ワーク10Bの3次元モデルが表示された様子を示している。
【0142】
この類似ワーク10Bは溶接開始点PNT1から溶接終了点PNT2まで溶接される。溶接開始点PNT1から溶接終了点PNT2までの区間が溶接線20′となる。ロボット1のツール先端2aの移動経路L′は溶接線20′を含む経路となる。
【0143】
3次元CAD用端末11では、類似ワーク10Bの溶接開始点PNT1、溶接終了点PNT2、ワーク基準点POSの座標位置がワーク座標系で記述される。ワーク基準点POSとは、ワークをポジショナ9にセットするときの基準となる点のことである。これら溶接開始点PNT1、溶接終了点PNT2、ワーク基準点POSは、「代表点」であるとして3次元CAD上で特定の識別符号「PNT1」、「PNT2」、「POS」が付与される。
【0144】
溶接開始点PNT1、溶接終了点PNT2、ワーク基準点POSはワーク座標系の座標位置として記述されており、その具体的な数値を図14に示す。この図14に示す溶接開始点PNT1、溶接終了点PNT2、ワーク基準点POSの座標位置データは、ポイントデータファイル「WORK B.TXT」に、テキストデータとして格納される。
【0145】
同様に3次元CAD用端末11には、基本ワーク10の座標位置データが既に記憶されている。
【0146】
そこで、図11に示すように基本ワーク10Aの溶接開始点、溶接終了点にそれぞれ「PNT1」、「PNT2」という特定の識別符号が付与される。このように基本ワーク10Aと類似ワーク10Bの溶接開始点、溶接終了点はそれぞれ同じ識別符号「PNT1」、「PNT2」で特定することができる。また基本ワーク10Aのワーク基準点に「POS」という特定の識別符号が付与される。
【0147】
基本ワーク10Aの溶接開始点PNT1、溶接終了点PNT2、ワーク基準点POSはワーク座標系の座標位置として記述されており、その具体的な数値を図12に示す。この図12に示す溶接開始点PNT1、溶接終了点PNT2、ワーク基準点POSの座標位置データは、ポイントデータファイル「WORK A.TXT」に、テキストデータとして格納される。
【0148】
なお本実施形態では、溶接開始点、溶接終了点に特定の識別符号「PNT1」、「PNT2」を付与しているが、座標位置を特定することができるのであれば、「点」の代わりに「線分」に特定の識別符号を付与してもよい(ステップ101)。
【0149】
さて図15は基本ワーク10Aと類似ワーク10Bの相対位置関係を示している。
【0150】
同図15に示すGRはロボット座標系X−Y−Zの座標原点を示しており、Gwはワーク座標系x−y−zの座標原点を示している。
【0151】
図15を参照して本実施形態の処理内容の概要を説明する。
【0152】
本実施形態では、基本ワーク10Aと類似ワーク10Bのワーク座標系上の座標位置データの差分を求め、その差分によって基本ロボットプログラム30A中にロボット座標系で記述されている基本ワーク10Aの座標位置を補正して、類似ワーク10Bに適合した座標位置を求めることで、機差が織り込まれた類似ワーク10Bのロボット座標系上の座標位置を求めることができる点に着目している。
【0153】
溶接開始点「PNT1」を例にとり説明する。
【0154】
基本ロボットプログラム30A中にロボット座標系で記述されている基本ワーク10Aの溶接開始点「PNT1」を、類似ワーク10Bの溶接開始点「PNT1」に移動させることをシフトという。このシフトによって移動するベクトル量をシフト量という。
【0155】
図15においてλPNT1 X、λPNT1 Y、λPNT1 Zが、溶接開始点「PNT1」のシフト量となる。
【0156】
溶接終了点「PNT2」についても同様であり、λPNT2 X、λPNT2Y、λPNT2 Zが溶接終了点「PNT2」のシフト量となる。
【0157】
シフト量は、ロボット座標系上のシフト量として求める必要がある。
【0158】
しかしながら上述したように3次元CAD用端末11では、図12、図14に示すように、溶接開始点PNT1、PNT2はワーク座標系上の座標位置データとして求められていることから、一旦ワーク座標系上の差分を求め、これをロボット座標系上の差分に変換し、この変換した差分だけシフトさせる必要がある。
【0159】
基本ワーク10Aの溶接開始点「PNT1」と類似ワーク10Bの溶接開始点「PNT1」から、シフト量λPNT1を求める式は以下のようになる。
【0160】
Figure 0004837837
ここでwPNT1aは基本ワーク10A上の溶接開始点の座標位置ベクトルである。これはワーク座標系で記述されている。図17では205で示す箇所に$PNT1_X_0、$PNT1_Y_0、$PNT1_Z_0として記述されている。
【0161】
wPNT1bは類似ワーク10B上の溶接開始点の座標位置ベクトルである。これはワーク座標系で記述されている。図17では206で示す箇所に$PNT1_X、$PNT1_Y、$PNT1_Zとして記述されている。
【0162】
pPNT1aは基本ワーク10A上の溶接開始点の座標位置ベクトルである。これはポジショナ座標系で記述されている。図17では208で示す箇所に$X_P、$Y_P、$Z_Pとして記述されている。
【0163】
pPNT1bは類似ワーク10B上の溶接開始点の座標位置ベクトルである。これはポジショナ座標系で記述されている。図17では211で示す箇所に$X_P、$Y_P、$Z_Pとして記述されている。
【0164】
rPNT1aは基本ワーク10A上の溶接開始点の座標位置ベクトルである。これはロボット座標系で記述されている。図17では209で示す箇所に$X_U0、$Y_U0、$Z_U0として記述されている。
【0165】
rPNT1bは類似ワーク10B上の溶接開始点の座標位置ベクトルである。これはロボット座標系で記述されている。図17では212で示す箇所に$X_U1、$Y_U1、$Z_U1として記述されている。
【0166】
なお上述した「wPNT」におけるwは、このベクトルがワーク座標系で記述されていることを示している。また「pPNT」におけるpは、このベクトルがポジショナ座標系で記述されていることを示している。また「rPNT」におけるrは、このベクトルがロボット座標系で記述されていることを示している。
【0167】
λPNT1は、基本ワークのPNT1と類似ワークのPNT1の、ロボット座標系における差分ベクトルである。
【0168】
POSaは、基本ワーク10Aのワーク基準点の座標位置ベクトルである。これは基本ワーク10Aのワーク座標系からみた、ポジショナの原点の座標位置である。
【0169】
POSbは、類似ワーク10Bのワーク基準点の座標位置ベクトルである。これは類似ワーク10Bのワーク座標系からみた、ポジショナの原点の座標位置である。
【0170】
Mp(POSa)は、基本ワーク10Aのワーク座標系上の位置ベクトルを、ポジショナ座標系の位置ベクトルへ変換する変換マトリクスである。図17では207B、208の箇所に一連の数式として記述されている。
【0171】
Mp(POSb)は、類似ワーク10Bのワーク座標系上の位置ベクトルを、ポジショナ座標系の位置ベクトルへ変換する変換マトリクスである。図17では210B、211の箇所に一連の数式として記述されている。
【0172】
EXaは、基本ワーク10AのPNT1とPNT2の間の溶接線を溶接するときの、ポジショナの制御角度で構成される角度ベクトルである。図17では209の箇所に$V、93.00として記述されている。
【0173】
Mr(EXa)は、ポジショナ座標系の位置ベクトルを、ロボット座標系の位置ベクトルに変換する変換マトリクスである。図17では209の箇所に一連の数式として記述されている。
【0174】
EXbは、類似ワーク10BのPNT1とPNT2の間の溶接線を溶接するときの、ポジショナの制御角度で構成される角度ベクトルである。図17では209の箇所に$V、93.00として記述されている。
【0175】
Mr(EXb)は、ポジショナ座標系の位置ベクトルを、ロボット座標系の位置ベクトルに変換する変換マトリクスである。図17では212の箇所に一連の数式として記述されている。
【0176】
本実施形態では、このような変換処理を行うプログラムとしてマクロを使用している。
【0177】
ここでマクロとは一連の決まった処理を実行するソフトウエアの意味で使用する。
【0178】
すなわち図16に示すようにプログラム作成用端末12には、基本ロボットプログラム30Aをベースにして、基本ワーク10Aと類似ワーク10Bのワーク座標系上の代表点PNT1(PNT2)を変数とし、ワーク10Aとワーク10Bのワーク基準点POSを内部変数として、ロボット座標系上の座標位置rPNT1(rPNT2)に変換し、それぞれのrPNT1(rPNT2)の差分λPNT1(λPNT2)だけ基本ロボットプログラム30P中の代表点PNT1(PNT2)をシフトさせて、類似ワーク10Bの座標点PNT1(PNT2)を求めるマクロ201、202、203、204がインストールされている。
【0179】
そこで図2に示すようにベースとなる基本ロボットプログラム30Aがロボットコントローラ5からプログラム作成用端末12にアップロードされる。なおオフラインティーチング用端末6でオフラインティーチングされた基本ロボットプログラム30Aをそのままプログラム作成用端末12に転送してもよい。
【0180】
図2に示すように、基本ロボットプログラム30Aはプログラム作成用端末12からオフラインティーチング用端末6に送られる。そしてオフラインティーチング用端末6上で基本ロボットプログラム30Aが実行され動作の確認がなされる。この動作確認の結果、問題がなければ再度プログラム作成用端末12に送られる(ステップ102)。
【0181】
つぎにプログラム作成用端末12ではマクロ201〜204を基本ロボットプログラム30Aに記述しメタジョブ30′Aを作成する処理が実行される。
【0182】
すなわち、まず基本ロボットプログラム30Aの移動命令と、その移動命令に対応する代表点PNT1、PNT2の関係付けを行う(ステップ103)。
【0183】
つぎに、マクロ201〜204が、上記関係付けにしたがい、基本ロボットプログラム30Aの所定箇所に記述される。
【0184】
図16に示すように基本ロボットプログラム30Aの先頭箇所にはマクロ201が記述される。このマクロ201中の「#loadpoint[0] WORK A.TXT」というコマンドは、ポイントデータファイル「WORK A.TXT」に格納されている座標位置データを、変数として取り込む処理を行う。同様にマクロ201中の「#loadpoint WORK B.TXT」というコマンドは、ポイントデータファイル「WORK B.TXT」に格納されている座標位置データを、変数として取り込む処理を行う。なおワーク10Aとワーク10Bとで「#loadpoint[0]」と「#loadpoint」とを[0]で識別することにより座標変数名が重複しないようにしている。
【0185】
前述したようにステップ4、5、6、7は、溶接開始点PNT1に関係するステップであるので、このステップ4、5、6、7のエリアに、溶接開始点PNT1に関係するマクロ202が記述される。
【0186】
マクロ202の「shiftpoint(PNT1)」というコマンドは、変数「PNT1」に対応する座標位置データに基づいて、シフト量を演算する処理を行う。
【0187】
同様に前述したようにステップ8、9、10は、溶接終了点PNT2に関係するステップであるので、このステップ8、9、10のエリアに、溶接終了点PNT2に関係するマクロ203が記述される。
【0188】
マクロ203の「shiftpoint(PNT2)」というコマンドは、変数「PNT2」に対応する座標位置データに基づいて、シフト量を演算する処理を行う。
【0189】
ステップ10の後には、マクロ204が記述される。「shiftpoint(PNT2)」は以前のマクロの効果を終了させてから、自前の処理を行うようにプログラムされている。また、このマクロ204の「#END」というコマンドは、実際にロボットの命令をシフトする「基本マクロ」のマクロ処理を終了させるマクロである。
【0190】
「#END」が2つあるのは、「shiftpoint(PNT1)」、「shiftpoint(PNT2)」の中に、「基本マクロ」が2つ組み込まれているためである。
【0191】
このようにしてプログラム作成用端末12で、基本ロボットプログラム30Aにマクロ201〜204が記述され、図16に示すメタジョブ30′Aが作成される。これにより図2の処理の流れが終了する(ステップ104)。
【0192】
以下、メタジョブ30′Aがメタジョブ処理ソフトウエアにかけられ、上記マクロ201〜204の処理が実行されて、類似ワーク10Bに適合したロボットプログラム30Bが作成される。この処理の流れを図3に示す。
【0193】
まず、3次元CAD用端末11からポイントデータファイル「WORK A.TXT」、「WORK B.TXT」が出力され、プログラム作成用端末12に取り込まれる。
【0194】
つぎにメタジョブ30′Aの処理が実行される。
【0195】
図17〜図19は、メタジョブ30′Aを処理中のリストを示している。
【0196】
図19はマクロ201が解釈された結果を示している。すなわち「#loadpoint[0] WORK A.TXT」というコマンドにしたがい、ポイントデータファイル「WORK A.TXT」に格納されている座標位置データ(図12参照)が、変数として取り込まれる。同様にマクロ201中の「#loadpoint WORK B.TXT」というコマンドにしたがい、ポイントデータファイル「WORK B.TXT」に格納されている座標位置データ(図14参照)が、変数として取り込まれる。図17の205、206にマクロ201の解釈結果を示す。
【0197】
図17の207〜216はマクロ202、204の解釈結果を示している。
【0198】
まず207に示すように、基本ワーク10Aの溶接開始点PNT1とワーク基準点POSの座標系の方向が揃えられる。
【0199】
つぎに208に示すように、基本ワーク10Aの取付位置がオフセットされる。
【0200】
つぎに209に示すように、基本ワーク10Aの座標位置が、ロボット座標系上の座標位置に座標変換される。
【0201】
つぎに210に示すように、類似ワーク10Bの溶接開始点PNT1とワーク基準点POSの座標系の方向が揃えられる。
【0202】
つぎに211に示すように、類似ワーク10Bの取付位置がオフセットされる。
【0203】
つぎに212に示すように、類似ワーク10Bの座標位置が、ロボット座標系上の座標位置に座標変換される。
【0204】
つぎに209で求められた基本ワーク10Aのロボット座標系上の座標位置と、212で求められた類似ワーク10Bのロボット座標系上の座標位置との差分が計算され、溶接開始点PNT1のロボット座標系上におけるシフト量λPNT1 X、λPNT1 Y、λPNT1 Zが213、214、215で求められる。
【0205】
つぎに、216で、ステップ4、5、6中の座標位置が、シフト量λPNT1X、λPNT1 Y、λPNT1だけシフトされる(λPNT1 X、λPNT1 Y、λPNT1だけオフセットされる)。
【0206】
図18の217は図17の207〜216に対応する処理リストを示しており、マクロ203、204の解釈結果を示している。
【0207】
図18では、溶接終了点PNT2のロボット座標系上におけるシフト量λPNT2 X、λPNT2 Y、λPNT2 Zが求められ、ステップ8、10中の座標位置が、シフト量λPNT2 X、λPNT2 Y、λPNT2だけシフトされる(λPNT2 X、λPNT2 Y、λPNT2だけオフセットされる)(ステップ105、106)。
【0208】
図20はメタジョブ30′Aの処理後のロボットプログラム30Bを示している。
【0209】
同図20に示すように、ステップ4、5、6のロボット座標系上の座標位置は、シフト量λPNT1 X、λPNT1 Y、λPNT1だけシフトされており、類似ワーク10Bに適合した座標位置に変換されている。
【0210】
ステップ4を例にとると、座標位置(X=1258.19 Y=−420.81 Z=956.26 A=160.00 B=−70.00 C=−125.00)は、シフト量λPNT1 X、λPNT1 Y、λPNT1だけシフトされ、座標位置(X=807.79 Y=−397.83 Z=951.97 A=160.00 B=−70.00 C=−125.00)に変換されている。
【0211】
またステップ8、10のロボット座標系上の座標位置は、シフト量λPNT2X、λPNT2 Y、λPNT2だけシフトされており、類似ワーク10Bに適合した座標位置に変換されている。
【0212】
ステップ8を例にとると、座標位置(X=1234.70 Y=−422.15 Z=919.26 A=160.03 B=−70.02 C=−125.00)は、シフト量λPNT2 X、λPNT2 Y、λPNT2だけシフトされ、座標位置(X=790.33 Y=−302.75 Z=800.22 A=160.03 B=−70.02 C=−125.00)に変換されている。
【0213】
以上のように類似ワーク10Bに適合したロボットプログラム30Bが作成される。
【0214】
このようにして作成されたロボットプログラム30Bは図3に示すようにオフラインティーチング用端末6に転送され、動作確認がなされる。すなわちオフラインティーチング用端末6では、ロボットプログラム30Bが画面上で実行され、ロボット1、スライダ4、ポジショナ9の動作がシミュレートされ、動作確認が行われる(ステップ108)。動作確認の結果、所望する溶接線20′に沿ってツール先端2aが精度よく追従しないなどの問題点があれば、所望の溶接線20′に沿ってツール先端2aが追従するよう、画面上でロボット1の動作を変更する(ステップ109)。
【0215】
この動作確認の結果、問題がなくなった場合には(ステップ108の判断OK)、ロボットプログラム30Bが図3に示すように再度プログラム作成用端末12に転送され、プログラム作成用端末12からロボットコントローラ5にダウンロードされる。すなわちロボットプログラム30Bがフロッピディスク8に書き込まれるロボットコントローラ5に読み出し可能に装着されるか、インターフェース7を介してロボットコントローラ5に送られる(ステップ110)。
【0216】
ロボットコントローラ5にロボットプログラム30Bがダウンロードされると、このロボットプログラム30Bを実行することによりロボット1が駆動され、図21に示すようにロボット1のツール先端2aが移動経路L′に沿って精度よく移動する。これにより類似ワーク10Bの溶接作業が正確に行われる。
【0217】
本実施形態によれば第1実施形態と同様に、基本ロボットプログラム30Aのロボット座標位置を、基本ワーク10Aと類似ワーク10Bのワーク座標系上の座標位置に応じてシフトさせることによってロボットプログラム30Bを作成するようにしているので、実際の現場で使用された基本ロボットプログラム30Aをベースにして、類似するワーク10Bのロボットプログラム30Bを容易に作成することができるとともに、現場のロボット等の機差をプログラム30B中に織り込むことができ、ロボット1を実際に動かす動作確認とプログラム修正作業を実質的に行う必要はなくなり、作業効率が飛躍的に向上する。
【0218】
以上、基本ワーク10Aから一種類の類似ワーク10Bに変更された場合についてのみ説明したが、さらに他種類の類似ワーク10C…等に順次設計変更された場合も、同様にして各類似ワークに適合したロボットプログラムを作成することができる。
【0219】
以下図22〜図26を参照して基本ワーク10A、類似ワーク10Bに類似する類似ワーク10Cに適合するロボットプログラム30Cを作成する場合について説明する。
【0220】
3次元CAD用端末11では、図22に示すように基本ワーク10Aが、この基本ワーク10Aおよび類似ワーク10Bに類似する類似ワーク10Cに設計変更され、類似ワーク10Cの3次元モデルが作成される。図22は3次元CAD用端末11の画面40上に類似ワーク10Cの3次元モデルが表示された様子を示している。
【0221】
この類似ワーク10Cは溶接開始点PNT1から溶接終了点PNT2まで溶接される。溶接開始点PNT1から溶接終了点PNT2までの区間が溶接線20″となる。ロボット1のツール先端2aの移動経路L″は溶接線20″を含む経路となる。
【0222】
3次元CAD用端末11では、類似ワーク10Cの溶接開始点PNT1、溶接終了点PNT2、ワーク基準点POSの座標位置がワーク座標系で記述されており、その具体的な数値を図23に示す。この図23に示す溶接開始点PNT1、溶接終了点PNT2、ワーク基準点POSの座標位置データは、ポイントデータファイル「WORK C.TXT」に、テキストデータとして格納される。
【0223】
つぎにプログラム作成用端末12では、既に作成された図16のメタジョブ30′Aをベースにして、類似ワーク10Cに適合したメタジョブ30″Aが図24に示すように作成される。
【0224】
同図24に示すようにメタジョブ30″Aのマクロ301は、図16のメタジョブ30′Aのマクロ201に対応している。マクロ301はマクロ201中の「#loadpoint WORK B.TXT」を、「#loadpoint WORK C.TXT」に変更するだけでよい。他のマクロ302、303、304は図16のマクロ202、203、204と同じである。したがってメタジョブ30″Aは図16のメタジョブ30′Aを僅かに書き換えるだけで容易に作成可能である。
【0225】
つぎにメタジョブ30″の処理が実行され、図25に示すように類似ワーク30Cに適合したロボットプログラム30Cが作成される。
【0226】
ロボットプログラム30Cを実行することによりロボット1が駆動され、図26に示すようにロボット1のツール先端2aが移動経路L″に沿って精度よく移動する。これにより類似ワーク10Cの溶接作業が正確に行われる。
【0227】
・第3の実施形態
以下メタジョブ30′Aが既に作成されていることを前提として、CADで新たなワーク30Nが設計されるに連動してロボットプログラム30Nを自動的に作成する実施形態について図27、図28を参照して説明する。
【0228】
3次元CAD用端末11では、図27に示すように基本ワーク10Aが、この基本ワーク10Aおよび類似ワーク10Bに類似する類似ワーク10Nに設計変更され、類似ワーク10Nの3次元モデルが作成される。図27は3次元CAD用端末11の画面40上に類似ワーク10Nの3次元モデルが表示された様子を示している。
【0229】
この類似ワーク10Nは溶接開始点PNT1から溶接終了点PNT2まで溶接される。
【0230】
3次元CAD用端末11では、類似ワーク10Nの溶接開始点PNT1、溶接終了点PNT2、ワーク基準点POSの座標位置がワーク座標系で記述される。
【0231】
溶接開始点PNT1、溶接終了点PNT2、ワーク基準点POSの座標位置データは、ポイントデータファイル「WORK N.TXT」に、テキストデータとして格納される。このポイントデータファイル「WORK N.TXT」は所定のプログラム作成開始コマンドを入力することに応じて3次元CAD用端末11から出力される。
【0232】
一方プログラム作成用端末12では、既に作成された図16のメタジョブ30′Aをベースにして、図28に示す内容のメタジョブ300Aに書き換えられている。
【0233】
同図28に示すようにメタジョブ300Aのマクロ401は、図16のメタジョブ30′Aのマクロ201に対応している。マクロ401はマクロ201中の「#loadpoint WORK B.TXT」を、「#loadpoint WORK N.TXT」に変更したものである。
【0234】
そこで3次元CAD用端末11で上記プログラム作成開始コマンドが入力されると、3次元CAD用端末11からポイントデータファイル「WORK N.TXT」がプログラム作成用端末12に出力される。これに応じてプログラム作成用端末12のメタジョブ処理ソフトウエアが自動的に起動される。このためメタジョブ300Aの処理が実行され、類似ワーク30Nに適合したロボットプログラム30Nが自動的に作成される。さらに新たな類似ワークが3次元CAD用端末11で作成されると、ポイントデータファイル「WORK N.TXT」のデータ内容は、この新たな類似ワークのデータに更新され、同様にしてロボットプログラムが自動的に作成される。
【0235】
このように本実施形態によれば、3次元CAD用端末11で設計変更がされるに連動して、自動的に設計変更後のワークに適合したロボットプログラムを作成することができる。
【0236】
・第4の実施形態
つぎに図29、図30を参照して、図1に示すポジショナ9またはスライダ4の各軸位置が変更された場合の処理について説明する。本実施形態ではポジショナ9の軸U、Vの位置が変更された場合を例にとる。
【0237】
図29(a)に示すように、ワーク10A(図9)の基本ロボットプログラム30Dは、ロボット座標系上の座標位置データで記述されている。たとえばステップ39の座標位置はX=934.67 Y=−506.46 Z=1263.77 A=25.99 B=−55.00 C=0.00として記述されている。
【0238】
そこでプログラム作成用端末12では、基本ロボットプログラム30Dに、マクロ501、502、503が記述されてメタジョブが作成される。
【0239】
マクロ501、502、503は、ポジショナ9の変更前後の各軸U、Vの位置およびワーク10Aのワーク座標系上の座標位置を変数として、各軸U、Vの位置変更前後におけるワーク10Aのロボット座標系上の座標位置の差分に変換する処理を行うものである。
【0240】
図2に示すようにポジショナ9の変更前後の各軸U、Vの位置データは、プログラム作成用端末12に取り込まれる。またワーク10Aのワーク座標系上の座標位置データは、3次元CAD用端末11からプログラム作成用端末12に取り込まれる。ワーク10Aのワーク座標系上の座標位置データは、座標番号APNT47、APNT48で与えられる。
【0241】
上記マクロ501、502、503には、ポジショナ9の変更前後の各軸U、Vの位置データおよびワーク10Aのワーク座標系上の座標位置データ(座標番号)が代入されることになる。
【0242】
プログラム作成用端末12でメタジョブ処理ソフトウエアが起動されると、上記マクロ501、502、503が処理されて、各軸U、Vの位置変更前後におけるワーク10Aのロボット座標系上の座標位置の差分が演算され、基本ロボットプログラム30D中にロボット座標系で記述されたワーク10Aの座標位置が上記演算した差分だけシフトされて、図29(b)に示すように、シフトされたロボット座標系上の座標位置が求められる。
【0243】
ステップ39を例にとると、図29(b)に示すように、ステップ39の座標位置( X=934.67 Y=−506.46 Z=1263.77 A=25.99 B=−55.00 C=0.00)が、(X=952.15 Y=−504.27 Z=1153.72 A=24.22 B=−55.11 C=10.00)に変換される。他のステップも同様に変換される。
【0244】
このようにした各軸U、Vの位置変更後に適合したロボットプログラム30Eが作成される。
【0245】
またスライダ4の各軸R、Sの位置を変更した場合も同様であり、スライダ4の各軸R、Sの位置変更後に適合したロボットプログラムを作成することができる。
【0246】
本実施形態によれば、基本ロボットプログラム30Dのロボット座標位置を、ポジショナ9またはスライダ4の変更前後の各軸の位置およびワーク10Aのワーク座標系上の座標位置に応じてシフトさせることによってロボットプログラム30Eを作成するようにしているので、ポジショナ9またはスライダ4の変更後の各軸の位置に適合したロボットプログラム30Eを容易に作成することができる。また現場のロボット1、ポジショナ9、スライダ4の機差をプログラム30E中に織り込むことができ、ロボット1を実際に動かす動作確認とプログラム修正作業を実質的に行う必要はない。これにより作業効率が飛躍的に向上する。
【0247】
・第5の実施形態
図4に示すように基本ワーク10Aの基本ロボットプログラム30Aそのものがロボット1を実際に動かして修正される。この修正されたロボットプログラム30AAがプログラム作成用端末12にアップロードされる。そしてプログラム作成用端末12では修正されたロボットプログラム30AAをベースにしてメタジョブ30′AAが作成される。なお必要があれば修正後のロボットプログラム30AAの動作確認がオフラインティーチング用端末6でシミュレーションで実行される。そしてメタジョブ30′AAがメタジョブ処理ソフトウエアによって処理され、類似ワーク30Bに適合したロボットプログラム30BB、他の類似ワーク30Cに適合したロボットプログラム30CCが作成される。作成されたロボットプログラム30BB、30CCはロボットコントローラ5にダウンロードされる。
【0248】
本実施形態によれば、作業現場でロボットジョブの修正があった場合に、その修正内容をメタジョブ30′Aに織り込んでメタジョブ30′AAに変更し、変更したメタジョブ30′AAに基づいて各類似ワーク30B、30Cのロボットプログラム30BB、30CCを作成するようにしているので、各ロボットプログラムを修正する作業を容易に行うことができる。
【0249】
なお以上の実施形態では3次元のCADのデータに基づいてロボットプログラムを作成する場合を想定しているが、2次元のCADのデータまたは設計図面のデータに基づいてロボットプログラムを作成してもよい。
【図面の簡単な説明】
【図1】図1は実施形態のシステムの構成を示す図である。
【図2】図2はメタジョブの作成の流れを説明する図である。
【図3】図3は類似ワークのロボットプログラムを作成する流れを説明する図である。
【図4】図4は作業現場でロボットジョブの修正があった場合にロボットプログラムを修正する処理の流れを説明する図である。
【図5】図5は実施形態の処理の手順を示すフローチャートである。
【図6】図6(a)、(b)はそれぞれ、基本ワークと類似ワークを示す図である。
【図7】図7は基本ワークの溶接開始点、終了点とロボットプログラムの関係を示す図である。
【図8】図8は基本ワーク用プログラムに基づいて類似ワーク用プログラムを作成する処理を説明する図である。
【図9】図9は基本ワーク上に沿ってロボットのツール先端が移動する様子を示す図である。
【図10】図10は基本ロボットプログラムを例示した図である。
【図11】図11は基本ワーク上の溶接開始点と溶接終了点の位置を示す図である。
【図12】図12は基本ワークの各位置の具体的なデータを示す図である。
【図13】図13は類似ワーク上の溶接開始点と溶接終了点の位置を示す図である。
【図14】図14は類似ワークの各位置の具体的なデータを示す図である。
【図15】図15は基本ワークと類似ワークの相対位置関係を示す図である。
【図16】図16は基本ロボットプログラムにマクロが記述されたメタジョブを例示した図である。
【図17】図17はメタジョブの処理の中間リストを示す図である。
【図18】図18はメタジョブの処理の中間リストを示す図である。
【図19】図19はメタジョブの処理の中間リストを示す図である。
【図20】図20は類似ロボットプログラムを例示した図である。
【図21】図21は類似ワーク上に沿ってロボットのツール先端が移動する様子を示す図である。
【図22】図22は別の類似ワーク上の溶接開始点と溶接終了点の位置を示す図である。
【図23】図23は別の類似ワークの各位置の具体的なデータを示す図である。
【図24】図24は図16のメタジョブをベースに作成されたメタジョブを示した図である。
【図25】図25は別の類似ロボットプログラムを例示した図である。
【図26】図26は別の類似ワーク上に沿ってロボットのツール先端が移動する様子を示す図である。
【図27】図27は新たにCAD上で作成される類似ワーク上の溶接開始点と溶接終了点の位置を示す図である。
【図28】図28は図16のメタジョブをベースに作成されたメタジョブを示した図である。
【図29】図29(a)はポジショナの軸が変更される場合のメタジョブを示す図で、図29(b)はポジショナの軸が変更された場合に適合したロボットプログラムの一部を示した図である。
【図30】図30は従来技術を示す図である。
【符号の説明】

Claims (7)

  1. 作業ロボットのツールの先端が移動すべき基本ワーク上の移動経路の各座標位置を、ワーク座標系上の座標位置からロボット座標系上の座標位置に変換して、ロボット座標系で各座標位置が記述された基本ロボットプログラムを予め作成し、この作成された基本ロボットプログラムに記述された各座標位置に沿って前記作業ロボットのツール先端が移動するように、前記作業ロボットを駆動制御するようにした作業ロボットシステムにおいて、
    前記基本ワークが、移動経路が異なる類似ワークに設計変更された場合に適用され、
    前記基本ロボットプログラムに記述されたロボット座標系上の座標位置は、当該基本ロボットプログラムを実行することにより前記作業ロボットのツール先端が実際に移動した移動点と教示された移動点との誤差を修正することにより得られた座標位置であって、
    当該誤差を修正することにより得られたロボット座標系上の座標位置が記述された基本ロボットプログラムをベースにして、前記基本ワークと前記類似ワークのワーク座標系上の座標位置を変数として、ロボット座標系上の座標位置の差分に変換する変換プログラムを用意し、
    前記変換プログラムに、前記基本ワークと前記類似ワークのワーク座標系上の座標位置データを代入することによって、ロボット座標系上の座標位置の差分を演算し、
    この演算した差分だけ、前記基本ロボットプログラム中にロボット座標系で記述された基本ワークの座標位置をシフトすることによって、前記類似ワークに適合したロボットプログラムを作成すること
    を特徴とする作業ロボットシステムにおけるロボットプログラム作成装置。
  2. 前記基本ワークと前記類似ワークのワーク座標系上の座標位置データは、CADの出力データとして前記変換プログラムに与えられること
    を特徴とする請求項1記載の作業ロボットシステムにおけるロボットプログラム作成装置。
  3. 作業ロボットのツールの先端が移動すべき基本ワーク上の移動経路の各座標位置を、ワーク座標系上の座標位置からロボット座標系上の座標位置に変換して、ロボット座標系で各座標位置が記述された基本ロボットプログラムを予め作成し、この作成された基本ロボットプログラムに記述された各座標位置に沿って前記作業ロボットのツール先端が移動するように、前記作業ロボットを駆動制御するようにした作業ロボットシステムにおいて、
    前記基本ワークが、移動経路が異なる類似ワークに設計変更された場合に適用され、
    前記基本ロボットプログラムに記述されたロボット座標系上の座標位置は、当該基本ロボットプログラムを実行することにより前記作業ロボットのツール先端が実際に移動した移動点と教示された移動点との誤差を修正することにより得られた座標位置であって、
    当該誤差を修正することにより得られたロボット座標系上の座標位置が記述された基本ロボットプログラムをベースにして、前記基本ワークと前記類似ワークのワーク座標系上の座標位置を変数として、ロボット座標系上の座標位置の差分に変換するとともに、前記基本ロボットプログラム中の指定されたエリアについて、前記変換した差分だけ、ロボット座標系で記述された基本ワークの座標位置をシフトするマクロを用意するとともに、
    前記基本ワークと前記類似ワークのワーク座標系上の座標位置データのファイルを用意し、
    前記マクロを、前記基本ロボットプログラムに記述し、
    前記マクロの処理を実行させることによって、前記ファイルから前記基本ワークと前記類似ワークのワーク座標系上の座標位置データを読み出して、ロボット座標系上の座標位置の差分を演算し、前記基本ロボットプログラム中の指定されたエリアにロボット座標系で記述されている基本ワークの座標位置を、前記演算した差分だけシフトして、前記類似ワークに適合したロボットプログラムを作成すること
    を特徴とする作業ロボットシステムにおけるロボットプログラム作成装置。
  4. 作業ロボットのツールの先端が移動すべき基本ワーク上の移動経路の各座標位置を、ワーク座標系上の座標位置からロボット座標系上の座標位置に変換して、ロボット座標系で各座標位置が記述された基本ロボットプログラムを予め作成し、この作成された基本ロボットプログラムに記述された各座標位置に沿って前記作業ロボットのツール先端が移動するように、前記作業ロボットを駆動制御するようにした作業ロボットシステムにおいて、
    前記基本ワークが、CADによって、類似ワークに設計変更された場合に適用され、
    前記基本ロボットプログラムに記述されたロボット座標系上の座標位置は、当該基本ロボットプログラムを実行することにより前記作業ロボットのツール先端が実際に移動した移動点と教示された移動点との誤差を修正することにより得られた座標位置であって、
    当該誤差を修正することにより得られたロボット座標系上の座標位置が記述された基本ロボットプログラムをベースにして、前記基本ワークと前記類似ワークのワーク座標系上の座標位置を変数として、ロボット座標系上の座標位置の差分に変換するとともに、前記基本ロボットプログラム中の指定されたエリアについて、前記変換した差分だけ、ロボット座標系で記述された基本ワークの座標位置をシフトするマクロを用意し、
    前記マクロを、前記基本ロボットプログラムに記述し、
    前記CADによって類似ワークが設計されるに応じて、前記CADから前記基本ワークと前記類似ワークのワーク座標系上の座標位置データを出力して前記マクロの処理を実行させ、ロボット座標系上の座標位置の差分を演算し、前記基本ロボットプログラム中の指定されたエリアにロボット座標系で記述されている基本ワークの座標位置を、前記演算した差分だけシフトして、前記類似ワークに適合したロボットプログラムを作成すること
    を特徴とする作業ロボットシステムにおけるロボットプログラム作成装置。
  5. 作業ロボットとワークとの位置関係を変更するポジショナまたはスライダを備え、作業ロボットのツールの先端が移動すべきワーク上の移動経路の各座標位置を、ワーク座標系上の座標位置からロボット座標系上の座標位置に変換して、ロボット座標系で各座標位置が記述された基本ロボットプログラムを予め作成し、この作成された基本ロボットプログラムに記述された各座標位置に沿ってツール先端が移動するように前記作業ロボットおよび前記ポジショナまたはスライダを駆動制御するようにした作業ロボットシステムにおいて、
    前記ポジショナまたはスライダの各軸位置が変更された場合に適用され、
    前記基本ロボットプログラムに記述されたロボット座標系上の座標位置は、当該基本ロボットプログラムを実行することにより前記作業ロボットのツール先端が実際に移動した移動点と教示された移動点との誤差を修正することにより得られた座標位置であって、
    当該誤差を修正することにより得られたロボット座標系上の座標位置が記述された基本ロボットプログラムをベースにして、前記ポジショナまたはスライダの変更前後の各軸位置および前記ワークのワーク座標系上の座標位置を変数として、各軸位置変更前後におけるワークのロボット座標系上の座標位置の差分に変換する変換プログラムを用意し、
    前記変換プログラムに、前記ポジショナまたはスライダの変更前後の各軸位置および前記ワークのワーク座標系上の座標位置データを代入することによって、各軸位置変更前後におけるワークのロボット座標系上の座標位置の差分を演算し、
    この演算した差分だけ、前記基本ロボットプログラム中にロボット座標系で記述されたワークの座標位置をシフトすることによって、各軸位置変更後に適合したロボットプログラムを作成すること
    を特徴とする作業ロボットシステムにおけるロボットプログラム作成装置。
  6. 作業ロボットとワークとの位置関係を変更するポジショナまたはスライダを備え、作業ロボットのツールの先端が移動すべきワーク上の移動経路の各座標位置を、ワーク座標系上の座標位置からロボット座標系上の座標位置に変換して、ロボット座標系で各座標位置が記述された基本ロボットプログラムを予め作成し、この作成された基本ロボットプログラムに記述された各座標位置に沿ってツール先端が移動するように前記作業ロボットおよび前記ポジショナまたはスライダを駆動制御するようにした作業ロボットシステムにおいて、
    前記ポジショナまたはスライダの各軸位置が変更された場合に適用され、
    前記基本ロボットプログラムに記述されたロボット座標系上の座標位置は、当該基本ロボットプログラムを実行することにより前記作業ロボットのツール先端が実際に移動した移動点と教示された移動点との誤差を修正することにより得られた座標位置であって、
    当該誤差を修正することにより得られたロボット座標系上の座標位置が記述された基本ロボットプログラムをベースにして、前記ポジショナまたはスライダの変更前後の各軸位置および前記ワークのワーク座標系上の座標位置を変数として、各軸位置変更前後におけるワークのロボット座標系上の座標位置の差分に変換するとともに、前記基本ロボットプログラム中の指定されたエリアについて、前記変換した差分だけ、ロボット座標系で記述された基本ワークの座標位置をシフトするマクロを用意するとともに、
    前記ワークのワーク座標系上の座標位置データのファイルを用意し、
    前記マクロを、前記基本ロボットプログラムに記述し、
    前記マクロの処理を実行させることによって、前記ファイルから前記ワークのワーク座標系上の座標位置データを読み出して、各軸位置変更前後におけるワークのロボット座標系上の座標位置の差分を演算し、前記基本ロボットプログラム中の指定されたエリアにロボット座標系で記述されているワークの座標位置を、前記演算した差分だけシフトして、各軸位置変更後に適合したロボットプログラムを作成すること
    を特徴とする作業ロボットシステムにおけるロボットプログラム作成装置。
  7. 自動制御機器の作業具が移動すべき基本作業対象上の移動経路の各座標位置を、作業対象座標系上の座標位置から自動制御機器座標系上の座標位置に変換して、自動制御機器座標系で各座標位置が記述された基本プログラムを予め作成し、この作成された基本プログラムに記述された各座標位置に沿って前記自動制御機器の作業具先端が移動するように、前記自動制御機器を駆動制御するようにした自動制御機器システムにおいて、
    前記基本作業対象が、移動経路が異なる類似作業対象に設計変更された場合に適用され、
    前記基本プログラムに記述された自動制御機器座標系上の座標位置は、当該基本プログラムを実行することにより前記自動制御機器の作業具が実際に移動した移動点と教示された移動点との誤差を修正することにより得られた座標位置であって、
    当該誤差を修正することにより得られた自動制御機器座標系上の座標位置が記述された基本プログラムをベースにして、前記基本作業対象と前記類似作業対象の作業対象座標系上の座標位置を変数として、自動制御機器座標系上の座標位置の差分に変換する変換プログラムを用意し、
    前記変換プログラムに、前記基本作業対象と前記類似作業対象の作業対象座標系上の座標位置データを代入することによって、自動制御機器座標系上の座標位置の差分を演算し、
    この演算した差分だけ、前記基本プログラム中に自動制御機器座標系で記述された基本作業対象の座標位置をシフトすることによって、前記類似作業対象に適合したプログラムを作成すること
    を特徴とする自動制御機器システムにおけるプログラム作成装置。
JP2001129862A 2001-04-26 2001-04-26 作業ロボットシステムにおけるロボットプログラム作成装置並びに自動制御機器システムのプログラム作成装置。 Expired - Fee Related JP4837837B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001129862A JP4837837B2 (ja) 2001-04-26 2001-04-26 作業ロボットシステムにおけるロボットプログラム作成装置並びに自動制御機器システムのプログラム作成装置。

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001129862A JP4837837B2 (ja) 2001-04-26 2001-04-26 作業ロボットシステムにおけるロボットプログラム作成装置並びに自動制御機器システムのプログラム作成装置。

Publications (2)

Publication Number Publication Date
JP2002326175A JP2002326175A (ja) 2002-11-12
JP4837837B2 true JP4837837B2 (ja) 2011-12-14

Family

ID=18978332

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001129862A Expired - Fee Related JP4837837B2 (ja) 2001-04-26 2001-04-26 作業ロボットシステムにおけるロボットプログラム作成装置並びに自動制御機器システムのプログラム作成装置。

Country Status (1)

Country Link
JP (1) JP4837837B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5813931B2 (ja) * 2010-07-15 2015-11-17 ユタカ電機株式会社 教示データの修正システム
JP6022394B2 (ja) * 2013-03-28 2016-11-09 株式会社神戸製鋼所 作業経路情報設定装置、プログラム、および作業経路情報設定方法
JP6022393B2 (ja) * 2013-03-28 2016-11-09 株式会社神戸製鋼所 溶接線情報設定装置、プログラム、自動教示システム、および溶接線情報設定方法
JP7126333B2 (ja) * 2016-11-16 2022-08-26 コマツNtc株式会社 クランクシャフト形状測定機およびクランクシャフト形状測定方法
JP7501064B2 (ja) 2020-04-10 2024-06-18 オムロン株式会社 シミュレーション装置、シミュレーション方法およびシミュレーションプログラム
JP7464723B2 (ja) 2020-07-27 2024-04-09 ファナック株式会社 加工プログラム編集支援装置

Also Published As

Publication number Publication date
JP2002326175A (ja) 2002-11-12

Similar Documents

Publication Publication Date Title
CN108453702B (zh) 机器人仿真器、机器人系统以及仿真方法
JP4271232B2 (ja) ロボットのオフラインプログラミングを実行するための装置、方法、プログラム及び記録媒体
US7734358B2 (en) Data processing apparatus for arc welding
JP3971773B2 (ja) ロボットのオフライン教示装置
JP4621641B2 (ja) ロボット教示用cad装置及びロボット教示方法
US20110054685A1 (en) Robot off-line teaching method
JP6068423B2 (ja) 加工動作をロボットに教示するロボットプログラミング装置
EP2282873A1 (en) A method and a system for facilitating calibration of an off-line programmed robot cell
US20060037951A1 (en) Laser processing apparatus
JPS62108313A (ja) ロボットのプログラミング方法
JP4574580B2 (ja) 作業ロボットのオフラインティーチング装置
CN113634871A (zh) 基于离线编程的机器人搅拌摩擦焊轨迹规划方法
US7346478B2 (en) Method of embedding tooling control data within mechanical fixture design to enable programmable logic control verification simulation
JP4837837B2 (ja) 作業ロボットシステムにおけるロボットプログラム作成装置並びに自動制御機器システムのプログラム作成装置。
CN110154043B (zh) 基于加工结果进行学习控制的机器人系统及其控制方法
JP2009119589A (ja) ロボットシミュレータ
Carvalho et al. Off-line programming of flexible welding manufacturing cells
US20200238512A1 (en) Teaching Data Generation System For Vertical Multi-Joint Robot
WO2022163669A1 (ja) プログラム評価装置および教示装置
JP4794937B2 (ja) アーク溶接用プログラミング装置
JP2003165079A (ja) 産業用ロボット
JPH08286722A (ja) Cadデータ利用オフラインティーチング方法及びそのシステム
JP2003094363A (ja) 多関節ロボットの姿勢決定方法および装置
JP2540326B2 (ja) 産業用ロボットのティ−チングデ−タ作成方式
Bickendorf Automatic welding robot offline programming with adaptive automation level

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110415

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: 20110927

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110929

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141007

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees