ティーチングデータ作成方法およびティーチングデータ作成装置
【課題】所定の製造ラインで作業される新たなワークに対し、この製造ラインの特性を考慮したティーチングデータを効率的に作成することを可能にする多関節ロボットのティーチングデータ作成方法およびティーチングデータ作成装置を提供すること。
【解決手段】ワークに設定された複数の作業点のそれぞれでエンドエフェクタにより作業を行う多関節ロボットのティーチングデータ作成方法において、ティーチングデータ供給対象の多関節ロボットが前記作業点のそれぞれに対して作業するときのエンドエフェクタの各姿勢の制御データを取得し(ステップS3)、制御データの中から、ティーチングデータ作成対象のワークに設定された作業点にほぼ一致する作業点を特定し(ステップS7)、当該作業点での前記エンドエフェクタの姿勢の制御データに基づいて前記ティーチングデータを作成する(ステップS9)ことを特徴とする。
【解決手段】ワークに設定された複数の作業点のそれぞれでエンドエフェクタにより作業を行う多関節ロボットのティーチングデータ作成方法において、ティーチングデータ供給対象の多関節ロボットが前記作業点のそれぞれに対して作業するときのエンドエフェクタの各姿勢の制御データを取得し(ステップS3)、制御データの中から、ティーチングデータ作成対象のワークに設定された作業点にほぼ一致する作業点を特定し(ステップS7)、当該作業点での前記エンドエフェクタの姿勢の制御データに基づいて前記ティーチングデータを作成する(ステップS9)ことを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ワークの各作業点におけるロボットの姿勢を含むティーチングデータを作成するティーチングデータ作成方法およびティーチングデータ作成装置に関する。
【背景技術】
【0002】
一般に、製造ラインに設置された多関節ロボットのティーチング作業の効率化を図るため、あるいは、製造ラインの稼働率を向上させるために、オフラインによるティーチング(以下、オフラインティーチングという)が行われている。オフラインティーチングでは、コンピュータ上に多関節ロボット並びに作業対象物であるワーク及び周辺構造物のモデルを構築し、このモデルを用いてティーチングデータを作成した後、上記ティーチングデータを現場の多関節ロボットに供給することにより、製造ラインを停止させることなくティーチングデータを作成することができる。
【0003】
しかし、1つの製造ライン上において上記多関節ロボットにより作業されるワークは1種類とは限らず、当該製造ライン上を流れるワークが変更された場合には、この変更に合わせた新たなティーチングデータを作成する必要があり、ティーチングデータの作成作業を行うオペレータの負担が大きい。
これを解消するために、既存のワークに対してすでに作成済みである既存のティーチングデータを、新規のワークに合わせて変換して新規のティーチングデータを作成する方法が提案されている(例えば、特許文献1参照)。具体的には、既存のティーチングデータがある場合に、変換先の作業点におけるエンドエフェクタの姿勢を示す複数のパラメータのうち1つを固定設定しておき、既存のティーチングデータにおける対応する作業点におけるエンドエフェクタの姿勢を固定設定した上記パラメータが一致するように変換している。このような技術によれば、既存のティーチングデータを有効に利用することができ、コンピュータの使用時間やオペレータの負担を軽減することができて好適である。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許4000306号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、新規のティーチングデータは、あくまで既存のティーチングデータを新規ワークの形状に合わせて変換して一様に作成されたものであるため、これらティーチングデータが供給される多関節ロボットが配置される製造ラインの特性を考慮したものとはなっていない。このため、多関節ロボットが配置される環境(例えばロボットの動作範囲に壁がある、または、チューブやケーブルが配置されている等)によっては、製造ラインごとに当該製造ラインの環境に合わせてティーチングデータを補正する必要があり、ティーチング作業が繁雑になるという問題がある。
【0006】
そこで、本発明は、上述した事情に鑑みてなされたものであり、所定の製造ラインで作業される新たなワークに対し、この製造ラインの特性を考慮したティーチングデータを効率的に作成することを可能にする多関節ロボットのティーチングデータ作成方法およびティーチングデータ作成装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明は、ワークに設定された複数の作業点のそれぞれでエンドエフェクタにより作業を行う多関節ロボットのティーチングデータ作成方法において、ティーチングデータ供給対象の前記多関節ロボットが前記作業点のそれぞれに対して作業するときのエンドエフェクタの各姿勢の制御データを取得し、前記制御データの中から、ティーチングデータ作成対象のワークに設定された作業点にほぼ一致する作業点を特定し、当該作業点での前記エンドエフェクタの姿勢の制御データに基づいて前記ティーチングデータを作成することを特徴とする。
【0008】
この構成によれば、多関節ロボットがワークに設定された複数の作業点のそれぞれに対して作業するときのエンドエフェクタの各姿勢の制御データを取得し、制御データの中から、新たなワークに設定された作業点にほぼ一致する作業点を特定し、当該作業点でのエンドエフェクタの姿勢の制御データに基づいてティーチングデータを作成するため、例えば、所定の製造ラインで量産実績のあるワークの作業点に対するエンドエフェクタの各姿勢の制御を、当該製造ラインで作業される新たなワークの作業点に反映することができ、この製造ラインの特性を考慮したティーチングデータを効率的に作成することができる。
【0009】
この構成において、本発明は、前記多関節ロボットの前記作業点のそれぞれでの実動作時間を取得し、前記ティーチングデータ作成対象のワークに設定された作業点にほぼ一致する作業点での実動作時間に基づいてサイクルタイムを計算することを特徴とする。この構成によれば、所定の製造ラインで量産実績のあるワークに即したサイクルタイムを算出することができる。
【0010】
さらに、前記実動作時間は、作業点の違いにかかわらず一定となる固定時間と、作業点及び作業種別ごとに異なる可変時間とを含み、当該可変時間を各作業点ごとに加算した値に基づいて前記サイクルタイムを計算することを特徴とする。この構成によれば、より正確なサイクルタイムを算出することができる。
【0011】
また、異なる製造ラインに設置されて同一ワークを加工する各多関節ロボットのそれぞれから前記制御データを取得し、各多関節ロボットについて前記ティーチングデータを作成し供給することを特徴とする。本構成によれば、製造ラインごとにティーチングデータを補正する必要がなくなるため、この補正作業を行う者の技量にかかわらず画一的なティーチングデータを作成することができる。
【0012】
また、本発明は、ワークに設定された複数の作業点のそれぞれでエンドエフェクタにより作業を行う多関節ロボットのティーチングデータ作成装置において、ティーチングデータ供給対象の前記多関節ロボットが前記作業点のそれぞれに対して作業するときのエンドエフェクタの各姿勢の制御データを取得する取得手段と、前記制御データの中から、ティーチングデータ作成対象のワークに設定された作業点にほぼ一致する作業点を特定するマッチング手段と、前記作業点での前記エンドエフェクタの姿勢の制御データに基づいて前記ティーチングデータを作成するデータ作成手段とを備えたことを特徴とする。
【発明の効果】
【0013】
本発明によれば、ティーチングデータ作成対象のワーク多関節ロボットがワークに設定された複数の作業点のそれぞれに対して作業するときのエンドエフェクタの各姿勢の制御データを取得し、制御データの中から、新たなワークに設定された作業点にほぼ一致する作業点を特定し、当該作業点でのエンドエフェクタの姿勢の制御データに基づいてティーチングデータを作成するため、例えば、所定の製造ラインで量産実績のあるワークの作業点に対するエンドエフェクタの各姿勢の制御を、当該製造ラインで作業される新たなワークの作業点に反映することができ、この製造ラインの特性を考慮したティーチングデータを効率的に作成することができる。
また、本発明によれば、前記多関節ロボットの前記作業点のそれぞれでの実動作時間を取得し、前記ティーチングデータ作成対象のワークに設定された作業点にほぼ一致する作業点での実動作時間に基づいてサイクルタイムを計算するため、所定の製造ラインで量産実績のあるワークに即したサイクルタイムを算出することができる。
また、本発明によれば、前記実動作時間は、作業点の違いにかかわらず一定となる固定時間と、作業点及び作業種別ごとに異なる可変時間とを含み、当該可変時間を各作業点ごとに加算した値に基づいて前記サイクルタイムを計算するため、より正確なサイクルタイムを算出することができる。
また、本発明によれば、異なる製造ラインに設置されて同一ワークを加工する各多関節ロボットのそれぞれから前記制御データを取得し、各多関節ロボットについて前記ティーチングデータを作成し供給するため、製造ラインごとにティーチングデータを補正する必要がなくなることにより、この補正作業を行う者の技量にかかわらず画一的なティーチングデータを作成することができる。
【図面の簡単な説明】
【0014】
【図1】本実施の形態の多関節ロボットのオフラインティーチング装置を示す斜視図である。
【図2】車両の製造ライン及びロボットシステムの斜視図である。
【図3】オフラインティーチング装置のブロック構成図である。
【図4】ティーチングデータの作成手順を示すフローチャートである。
【図5】既存のドア枠に設定された作業点を示す模式図である。
【図6】実際の作業点と図面上の作業点とのマッチング手順を説明する図である。
【図7】実際の作業点に対する制御データを示すテーブルである。
【図8】ティーチングデータを作成する対象となる新規なドア枠に設定された作業点を示す模式図である。
【図9】新規なドア枠と参考のドア枠とのマッチング処理手順の一例を示すフローチャートである。
【図10】参考のドア枠に設定された作業点の制御データから新規なドア枠に設定された作業点の制御データへの変換を示す模式図である。
【図11】参考のドア枠に設定された作業点の制御データから新規なドア枠に設定された作業点の制御データに変換する様子を示す模式斜視図である。
【図12】既存のドア枠に設定された作業点の制御データと、新規なドア枠に設定された作業点の制御データとのマッチング処理を示す模式図である。
【図13】新規なドア枠に設定された作業点の制御データを示すテーブルである。
【図14】ロボットのサイクルタイムの見積もり動作を示す模式図である。
【発明を実施するための形態】
【0015】
以下、図面を参照して本発明の一実施の形態について説明する。
図1は、本実施の形態の多関節ロボットのティーチングデータ作成方法が適用されるオフラインティーチング装置10と、このオフラインティーチング装置10によって作成されたティーチングデータが適用される多関節ロボット12の構成を示す。
【0016】
多関節ロボット12は、産業用の多関節型のロボットであり、ベース部14と、該ベース部14を基準にして順に、第1アーム16、第2アーム18及び第3アーム20とを有し、該第3アーム20の先端に溶接ガンであるエンドエフェクタ22が設けられている。エンドエフェクタ22は、第3アーム20に対して着脱自在である。第1アーム16はベース部14に対して水平及び垂直に回動可能な軸J1、J2によって回動可能である。第2アーム18は第1アーム16と軸J3で回動可能に連結されている。第2アーム18は軸J4によって捻れ回転が可能になっている。第3アーム20は第2アーム18と軸J5で回動可能に連結されている。第3アーム20は軸J6によって捻れ回転が可能になっている。軸J4及び軸J6はそれぞれ360°以上の捻れ回動が可能である。
【0017】
エンドエフェクタ22は、軸線L上に開閉する一対の電極22a、22bを有するC型溶接ガンであり、この電極22a、22bは閉状態では軸線L上の作業点(溶接点、打点、TCP(Tool Center Point))でワークに接触する。作業点から本体側の電極22a、22bの軸心に一致する方向をパラメータZとし、このパラメータZに直交しエンドエフェクタ22であるC形溶接ガンの開口部方向をパラメータXとする。また、パラメータX、パラメータZに互いに直交する方向をパラメータYとする。
【0018】
軸J1〜J6の駆動機構並びに電極22a、22bの開閉機構はそれぞれ図示しないアクチュエータにより駆動され、作業点の座標は軸J1〜J6の回動角度及び多関節ロボット12の各部の寸法により決定される。
【0019】
このような6軸構成の多関節ロボット12の動作によって、先端部に接続されたエンドエフェクタ22は搬送される車両の近傍における任意の位置に移動可能であって、且つ、任意の向きに設定可能である。換言すれば、エンドエフェクタ22は6自由度の移動が可能である。多関節ロボット12は、回転動作以外にも伸縮動作、平行リンク動作等の動作部を有するものであってもよい。多関節ロボット12は、ロボット制御部24に設定されたティーチングデータに従って動作する。
【0020】
図2に示すように、多関節ロボット12は、車両の製造ライン25の近傍に隣接して2台が配設されており、それぞれロボット制御部24の作用下に同時に動作し、ワークである車両の溶接をする。この場合、例えば、各多関節ロボット12,12は、互いに干渉しない範囲内で協同して車両の前列側及び後列側のドア枠102を溶接するように作業分担されている。この2台の多関節ロボット12の配列方向Cは、製造ライン25の搬送方向と並列に設定されているが、多関節ロボット12やワークの仕様によって配列方向Cは、搬送方向に対して非平行に設定される場合もある。例えば、天井つり下げ型のロボットを2台用いて溶接をする場合には、搬送方向と直角に配列する場合もある。
【0021】
オフラインティーチング装置10は、コンピュータによって構成されるものであり、図3に示すように、制御部26は、オフラインティーチング装置10の全体の制御を行うCPU28と、記録部であるROM30及びRAM32と、ハードディスクドライブ(HDD)34によってデータが読み書きされるハードディスク36と、フレキシブルディスクやコンパクトディスク等の外部記録媒体38に対してティーチングデータ等の読み書きを行う記録媒体ドライブ40と、多関節ロボット12のティーチングデータを作成するティーチングデータ作成回路(データ作成手段)42と、作成されたティーチングデータに基づいて多関節ロボット12の動作シミュレーションを行うシミュレーション回路44とを備える。
なお、制御部26には、オペレータによるティーチング作業の補助、シミュレーション画像の表示等を行うためのディスプレイ46が描画制御回路48を介して接続されるとともに、インタフェース50を介して入力装置としてのキーボード52及びマウス54が接続される。
【0022】
ハードディスク36には、多関節ロボット12のティーチングデータを作成するためのティーチングデータ作成プログラム56と、多関節ロボット12、作業対象物及びその他の設備に係る形状データ58と、多関節ロボット12の各軸の動作仕様を含むロボット仕様データ60と、上記した製造ライン25を流れる既存の車両(ワーク)に設定された作業点に対して、多関節ロボット12が作業する場合にエンドエフェクタ22のそれぞれの姿勢を示す制御データが格納されたデータベース62とが記録される。
このデータベース62には、既存の車両(ワーク)ごとに当該ワークに設定された各作業点に対応するエンドエフェクタ22の姿勢を示す制御データがそれぞれ格納されている。ここで、エンドエフェクタ22の姿勢を示す制御データとは、各作業点における多関節ロボット12の各軸J1〜J6の回動角度、および、エンドエフェクタ22及び作業点の向きを3次元的に規定するパラメータX、Y、Zの向きをいう。
また、本実施形態では、CPU28は、上記したデータベース62から作業点に対応するエンドエフェクタ22の姿勢を示す制御データを取得する取得手段として機能する。さらに、CPU28は、新規な車両について新規のティーチングデータを作成する際に、取得した制御データの中から当該新規な車両の作業点と略一致する作業点を特定するマッチング手段としても機能する。ここで、略一致するとは、各作業点が完全に一致する場合の他、所定の閾値内に近接配置されるものを含む。
なお、本実施形態では、制御部26が上述した各回路を備える構成としたが、これら各回路の機能を、コンピュータプログラムによりコンピュータに実行させる構成としても良い。
【0023】
次に、新規なワークについて多関節ロボット12が溶接を行う場合、このワークに対応するティーチングデータを作成する手順について説明する。一般に、ティーチングデータは、ワークに対する多関節ロボットの作業点及び作業順を設定し、各作業点におけるロボット姿勢及びエンドエフェクタの向き(姿勢)を求め、各作業点でのワークに対する作業内容を作業属性として設定するとともに作業点間の動作方法を動作属性として設定するという作業を要する。
この場合、既存のワークに対する既存のティーチングデータを利用して新規のワークに対応する新規のティーチングデータを作成する手法があるが、この手法は、多関節ロボット12が配置される製造ライン25の特性を考慮したものとはなっていない。このため、多関節ロボット12が配置される環境(例えばロボットの動作範囲に壁がある、または、チューブやケーブルが配置されている等)によっては、作業点においてロボットの各アームやエンドエフェクタ22が干渉するおそれがある。従って、製造ライン25ごとに当該製造ライン25の環境に合わせて、各作業点におけるロボット姿勢及びエンドエフェクタの姿勢を別途補正する必要が生じ、ティーチング作業が繁雑になるという問題がある。
本実施形態では、実際に製造ライン25で量産実績のある既存のワークに設定された作業点に対するエンドエフェクタの向き(姿勢)を、新規ワークに設定された作業点であって、上記既存ワークの作業点と略一致する位置に設けられた作業点に対して反映させることで、当該製造ライン25の特性を考慮したティーチングデータを容易に作成することができる。
【0024】
図4は、新規なワークに対するティーチングデータの作成手順を示すフローチャートである。
ティーチングデータを作成するに先立って、まず、CPU28は、既存機種(ワーク)に対する多関節ロボット12のジョブデータ(JOB)を取得する(ステップS1)。このジョブデータとは、多関節ロボット12が既存のワークに設定された作業点に対して溶接作業を行う際の制御データをいい、具体的には、各作業点の打順(溶接順番)、各作業点の位置、各作業点におけるエンドエフェクタ22の姿勢(面直角度)を含む。この制御データは、多関節ロボットごとに取得される。
図5は、既存のワークの一例である車両のドア枠100に設定された作業点(溶接点、打点)P1〜P7を示す図である。このドア枠100については、作業基準点Oを始点及び終点とし、7つの作業点P1〜P7に対して順に溶接を行う。最初の作業点P1に到達する前に、作業点P1に到達しやすいような姿勢を示す仮の作業点T01を経由する。また、最後の作業点P7の後に、エンドエフェクタ22を抜取りやすいような姿勢を示す仮の作業点T02を経由する。さらに、仮の作業点T02から作業基準点Oに戻りやすいように仮の作業点T03を経由する。
【0025】
次に、CPU28は、ドア枠100に設定された作業点P1〜P7位置と、このドア枠100の設計図面上の作業点位置とをマッチング(ステップS2)させることにより、各作業点P1〜P7の位置関係を整理する。
このマッチング作業は、例えば、図6に示すような手法で行われる。具体的には、図6Aに示すように、既存ワーク(実機)から取得した作業点(打点)と、図面上の作業点(打点)位置とをコンピュータ上に取り込み、これらを同一の画面上に表示する。次に、図6Bに示すように、CPU28は、所定距離(例えば、200mm)内に存在する実機の打点1〜3同士をグルーピングし、これらグルーピング化した上所定の閾値(例えば、各打点から100mm以内)を設定(図6C)して、この閾値内の打点群を抽出する(図6D)。
次に、CPU28は、上記のようにグルーピング化された打点グループ(打点群)の中で、打順(打点番号)が一番小さいものを基準に打点位置及び面直角度と比較する。具体的には、図6Eに示すように、CPU28は、各打点1〜3をグルーピング化したまま、打点1と近接する図面上の打点とがそれぞれ一致するように、打点グループを画面上で移動して補正させ、他の打点2、3を図面上の打点と比較する。
この場合、CPU28は、図6F〜Hに示すように、補正候補の数分、打点グループを移動し、それぞれについて近似打点との差分を比較する。そして、各打点グループの打点位置平均を算出し、このバラツキ及び直距離差分の小さな打点グループを同一の打点グループとして、これらに既存ワーク(実機)から取得した制御データを継承する。
【0026】
次に、CPU28は、マッチングにより整理された作業点(実機打点)P1〜P7の制御データを上記したデータベース62に登録する(ステップS3)。具体的には、データベース62には、図7に示すように、既存のワークとしてのドア枠100と対応づけて、「順番」、「番号」、「エンドエフェクタの向き」、「各軸角度」が登録される。「順番」の欄は、溶接作業を行う際に多関節ロボット12のエンドエフェクタ22の作業点を順番に登録したものであり、「番号」の欄には、打点としての作業点P1〜P7、及び、溶接を効率良く行うためにエンドエフェクタ22の姿勢を変更するための作業点T01〜T03が登録されている。「エンドエフェクタの向き」欄は、エンドエフェクタ22の姿勢を示す座標、つまりツール座標データであり、上記のパラメータX、Y、Zが記録されている。「各軸角度」欄は回転角θ1〜θ6から構成されており、それぞれの回転角θ1〜θ6は、各軸J1〜J6の回転角を示している。
また、1つのワークに対して2台の多関節ロボット12,12により協同して溶接作業を行う場合には、各作業点のおける「エンドエフェクタの向き」、「各軸角度」がどちらの多関節ロボットのものかを登録し、作業点をロボットごとに配分するようにしてもよい。
本実施形態では、既存のワークとしてドア枠100の作業点における制御データをデータベース62に登録する場合を説明したが、これら制御データはより多く登録されていることが望ましい。このため、データベース62には、製造ライン25にて量産の実績のある複数のワーク(例えば、形状の異なる他のドア枠、車両のフロント部分、リア部分など)に関する制御データが登録されている。これらステップS1〜S3が本構成でティーチングデータを作成するにあたり前処理として行われる手順である。
【0027】
次に、CPU28は、ティーチングデータが作成されるワークであるドア枠102について溶接点(作業点)情報をリスト化する(ステップS4)。この溶接点情報は、図8に示すように、ドア枠102に対して予め設定されており、このドア枠102に設定される作業点(溶接点)Q1〜Q9について、各作業点Q1〜Q9の位置情報及び面直角度が設定されている。このため、ドア枠102に対するティーチングデータを作成するためには、各作業点Q1〜Q9における多関節ロボット12の姿勢及びエンドエフェクタ22の向き(姿勢)を求め、各作業点間の動作方法を動作属性として設定すれば良い。
次に、各作業点における多関節ロボット12の姿勢及びエンドエフェクタ22の向き(姿勢)を求めるために、CPU28は、上記リスト化された溶接点情報と参考機種の溶接点情報とのマッチング処理を行う(ステップS5)。ここで、参考機種とは、ドア枠102と似た形状のワークとしてのドア枠104(図10)をいい、このドア枠104に設定される作業点R1〜R7における制御データ(「順番」、「番号」、「エンドエフェクタの向き」、及び、「各軸角度」)が設定されているものである。これら作業点R1〜R7は、ドア枠102の作業点Q1〜Q9に対して位置及び数が異なるが、ドア枠部に対する作業点であるという点、及び、下方から上方へ向かって順に溶接を行うという点で共通している。
【0028】
マッチング処理手順として、CPU28は、図9に示すように、ドア枠104の作業点(溶接点)R1〜R7における制御データのうち、「エンドエフェクタの向き」に関する制御データを、リスト化されたドア枠102の作業点Q1〜Q7における「エンドエフェクタの向き」欄に複写して回転変換する(ステップS21)。つまり、作業点R1のデータを作業点Q1に複写する場合(図11)、この作業点R1におけるパラメータXR1、YR1、ZR1を作業点Q1に平行に移動させた後、パラメータZR1を予め設定されているパラメータZQ1に合うように回転変換する。このとき、パラメータXR1及びYR1も同様に回転変換されることによりパラメータXQ1及びYQ1に変換される。また、図10に示すように、作業点Q2〜Q7についても同様に作業点R2〜R7のデータを複写して回転変換する。
【0029】
次に、ドア枠104の作業点(溶接点)R1〜R7における制御データに軸の回転情報が含まれていれば、その回転情報を複写する(ステップS22)。この回転情報は、例えば、軸J4及び軸J6のように360°以上回転可能な軸では、軸J4の回転角θ4が見かけ上240°の角度を示している場合であっても、この角度が、基準位置(0°)から240°回転した位置なのか、そこから更に1回転した位置なのかが分からなくなる。このため、360°以上回転した場合には、例えばフラグを立てるなどにより、回転情報を付加することにより、多関節ロボット12のケーブルが捻れることを防ぐとともに、各作業点間において、軸J4及び軸J6が過大に回転することを防止することができる。
次に、作業点Q1〜Q7における「エンドエフェクタの向き」に関する制御データおよび各作業点Q1〜Q7の位置情報に基づき、多関節ロボット12の各軸J1〜J6の角度を行列式を用いた逆変換処理により算出する(ステップS23)。この処理によって、多関節ロボット12の姿勢は、複数求められることがある。この場合、複数求められた多関節ロボット12の姿勢のうち、回転情報に適合する姿勢を1つ選択する(ステップS24)。これにより、例えば、作業点Q1に関してはθ1〜θ6に対応する角度であるθQ11、θQ21、θQ31、θQ41、θQ51及びθQ61が求まるので、「各軸角度」欄のθ1〜θ6の各欄に記録することができる。
【0030】
再び、図4のフローチャートに戻り、CPU28は、参考機種であるドア枠104の溶接点(作業点)情報からドア枠102の溶接点(作業点)情報を抽出する(ステップS6)。すなわち、上記したステップS21〜S24の処理によって、作業点R1〜R7に関する制御データから作業点Q1〜Q7に関する制御データを変換して取得する。この場合、取得した作業点の一部を一の多関節ロボット12が担当し、残りを他の多関節ロボット12が担当する場合には、これらロボットの打点配分についても抽出される。
一方、上記作業点Q1〜Q7にかかる制御データでは、製造ラインの特性が考慮されていないため、当該制御データに上述した既存のワーク(ドア枠100)から取得した制御データを反映させる。
【0031】
次に、CPU28は、既存のワーク(ドア枠100)とドア枠102とのマッチング処理を行う(ステップS7)。具体的には、CPU28は、データベース62に登録された制御データの中からドア枠102に設定された作業点Q1〜Q9にほぼ一致する作業点P1〜P7を特定する。そして、特定した作業点情報からドア枠102の作業点情報を抽出する(ステップS8)。この実施形態では、図12に示すように、ドア枠102の作業点Q1〜Q3とドア枠100の作業点P1〜P3とがほぼ一致している。このため、図13に示すように、作業点Q1〜Q3について設定されたエンドエフェクタ22の向き、及び、各軸角度の情報に変えて、作業点P1〜P3でのエンドエフェクタ22の向き(XP1〜XP3、YP1〜YP3、ZP1〜ZP3)、及び各軸角度(θP11〜θP13、θP21〜θP23、θP31〜θP33、θP41〜θP43、θP51〜θP53、θP61〜θP63)の情報を反映させて上記リストを作成する。
このドア枠100の作業点P1〜P3に関する制御データは、製造ライン25において多関節ロボット12を実際に動作させることにより量産実績のある制御データである。このため、量産実績のある作業点P1〜P3に関する制御データを、当該作業点P1〜P3とほぼ一致する位置に設定された新たなドア枠102の作業点Q1〜Q3に関する制御データに反映させることで、製造ライン25の特性が十分に考慮された制御データを簡単に作業点Q1〜Q3に設定することができる。
本実施形態では、既存のワークとしてドア枠100しか説明していないが、製造ライン25で製造される多種多様なワークの作業点における制御データをデータベース62に登録することにより、ステップS7でマッチングされる作業点が増加するため、より一層、製造ライン25の特性が考慮された制御データを取得することができる。
【0032】
次に、抽出しきれない作業点(溶接点)があれば、この作業点を手動により配分する(ステップS9)。この実施形態では、図10に示すように、作業点Q8及び作業点Q9については、制御データが記録されていない。この場合には、オペレータは、作業点Q8及び作業点Q9を設定する作業を行う。この場合、周知の手法を採用すれば良いが、例えば、作業点Q7に対する制御データを再び作業点Q8及び作業点Q9に複写して回転変換することにより、当該作業点Q8及び作業点Q9に対する制御データを取得しても良い。
次に、CPU28は、ハードディスク36からティーチングデータ作成プログラム56を読み込み、ティーチングデータ作成回路42にロードする。次いで、多関節ロボット12、作業対象物及びその他の設備に係る形状データ58と、多関節ロボット12の各軸の最高速度、最大加速度、可動範囲等のロボット仕様データ60とをハードディスク36から読み込む。描画制御回路48は、形状データ58に基づいて、ディスプレイ46に多関節ロボット12、溶接対象となるワーク、治具を含む設備等の画像を描画する。
そして、各作業点Q1〜Q9の位置情報、及び、制御データに基づき、各作業点Q1〜Q9での作業特性及び各作業点Q1〜Q9間の動作方法を動作特性として設定し、ドア枠102のティーチングデータを作成する(ステップS10)。
これにより、製造ライン25の特性が考慮されたティーチングデータを作成することができるため、このティーチングデータを製造ライン25に配置される多関節ロボット12に供給した後に、当該ティーチングデータを修正する作業が低減され、ティーチング作業の軽減を図ることができる。
【0033】
次に、作成されたティーチングデータは、シミュレーション回路44によって動作確認され、この際にサイクル見積もりを実行する(ステップS11)。従来の構成では、多関節ロボット12が配置されるステーションにおけるサイクルの見積もりは、各作業数に所定に時間(例えば2秒)を単純に乗じて算出していたので、動作が複雑であったり、移動距離が長いものの場合には、実際のサイクルタイムが所望の処理時間を超えることが想定されていた。
本実施形態では、CPU28は、多関節ロボット12の作業点P1〜P7のそれぞれでの実動作時間を取得し、ドア枠102に設定された作業点Q1〜Q3にほぼ一致する作業点P1〜P3での実動作時間に基づいてサイクルタイムを算出している。このため、作業点Q1〜Q3までの作業時間は取得した実動作時間を反映すればよく、所定の製造ライン25で量産実績のあるドア枠100に即したサイクルタイムを算出することができる。
また、作業点P4〜P7に略一致しない作業点Q4〜Q9については、図14に示すように、作業点の違いにかかわらず一定となる固定時間(ワーク搬送時間、溶接(SPOT)時間、溶接通電サイクル時間、エンドエフェクタ開閉時間等)と、作業点及び作業種別ごとに異なる可変時間(短ピッチ、中ピッチ、長ピッチの作業点間移動時間、面変化動作時間、エンドエフェクタ回転動作時間等)とに分解される。そして、この可変時間については、作業種別ごとに設定された所定のパラメータ時間を各動作に乗じることで、当該作業種別に該当する時間を算出し、これら可変時間と固定時間とを作業点ごとに加算することでサイクルタイムを計算している。これによれば、より実際の動作に即した正確なサイクルタイムを算出することができる。
【0034】
次に、CPU28は、サイクル判断を実行する(ステップS12)。この場合、ステップS11で見積もられたサイクル時間が、該当する工程に与えられた所望の処理時間(αsec)以内であれば(ステップS12;Yes)、ティーチングデータの作成処理を終了し、作成されたティーチングデータが記録媒体ドライブ40を介して外部記録媒体38に記録される。そして、外部記録媒体38に記録されたティーチングデータは、ロボット制御部24にダウンロードされ、多関節ロボット12の制御に供される。
一方、見積もられたサイクル時間が該当する工程に与えられた所望の処理時間(αsec)よりも長ければ(ステップS12;No)、各多関節ロボット12、12による作業点の再配分を行い、あるいは、各多関節ロボット12、12による作業点の処理順の入れ替えを行い、ステップS4からの処理を繰り返す(ステップS13)。この場合、配分されている作業点群の中から作業点位置および面直角度が他の作業点と大きく差異がある作業点を放出候補とし、サイクルタイムに余裕のある各多関節ロボット12に配分する。
【0035】
以上、説明したように、本実施形態によれば、ワークに設定された複数の作業点のそれぞれでエンドエフェクタ22により作業を行う多関節ロボット12のティーチングデータ作成方法において、ティーチングデータが供給される多関節ロボット12が既存のワークとしてのドア枠100に設定された作業点P1〜P7のそれぞれに対して作業するときのエンドエフェクタ22の各姿勢の制御データを取得し、制御データの中から、ティーチングデータを作成する対象となるドア枠102に設定された作業点Q1〜Q9にほぼ一致する作業点を特定し、当該作業点P1〜P3でのエンドエフェクタ22の姿勢の制御データ(エンドエフェクタ22の向き(XP1〜XP3、YP1〜YP3、ZP1〜ZP3)、及び各軸角度(θP11〜θP13、θP21〜θP23、θP31〜θP33、θP41〜θP43、θP51〜θP53、θP61〜θP63))に基づいてティーチングデータを作成するため、例えば、所定の製造ライン25で量産実績のあるドア枠100の作業点P1〜P7に対するエンドエフェクタ22の各姿勢の制御を、当該製造ライン25で作業される新たなドア枠102の作業点Q1〜Q9に反映することができ、この製造ライン25の特性を考慮したティーチングデータを効率的に作成することができる。
【0036】
また、本実施形態によれば、多関節ロボット12の作業点P1〜P7のそれぞれでの実動作時間を取得し、ティーチングデータ作成対象のドア枠102に設定された作業点Q1〜Q3にほぼ一致する作業点P1〜P3での実動作時間に基づいてサイクルタイムを計算するため、所定の製造ライン25で量産実績のあるドア枠100に即したサイクルタイムを算出することができる。
【0037】
また、本実施形態によれば、実動作時間は、作業点の違いにかかわらず一定となる固定時間と、作業点及び作業種別ごとに異なる可変時間とを含み、当該可変時間を各作業点ごとに加算した値に基づいてサイクルタイムを計算するため、正確なサイクルタイムを算出することができる。
【0038】
なお、本発明は、上記実施形態に限らず、本発明の要旨を逸脱することなく、種々の構成を採り得ることは勿論である。例えば、本実施形態では、多関節ロボット12がTCPでのワークに対する作業内容を溶接としたが、ティーチングデータに基づいて多関節ロボットを作業させるものであれば、作業内容はこれに限るものではない。
また、本実施形態では、単一の製造ライン25に設置されてドア枠を加工する多関節ロボット12に供給されるティーチングデータを作成する構成について説明したが、これに限るものではなく、異なる製造ラインにそれぞれ設置されて同一のワークを加工する多関節ロボットのそれぞれから制御データを取得し、各多関節ロボットについてティーチングデータを作成し供給する構成としてもよい。この構成によれば、製造ラインごとにティーチングデータを補正する必要がなくなるため、この補正作業を行う者の技量にかかわらず画一的なティーチングデータを作成することができる。
【符号の説明】
【0039】
10 オフラインティーチング装置(ティーチングデータ作成装置)
12 多関節ロボット
22 エンドエフェクタ
25 製造ライン
28 CPU(取得手段、マッチング手段)
36 ハードディスク
42 ティーチングデータ作成回路(データ作成手段)
62 データベース
100 ドア枠
102 ドア枠
104 ドア枠
O 作業基準点
X パラメータ
Y パラメータ
Z パラメータ
P1〜P7 作業点
Q1〜Q9 作業点
【技術分野】
【0001】
本発明は、ワークの各作業点におけるロボットの姿勢を含むティーチングデータを作成するティーチングデータ作成方法およびティーチングデータ作成装置に関する。
【背景技術】
【0002】
一般に、製造ラインに設置された多関節ロボットのティーチング作業の効率化を図るため、あるいは、製造ラインの稼働率を向上させるために、オフラインによるティーチング(以下、オフラインティーチングという)が行われている。オフラインティーチングでは、コンピュータ上に多関節ロボット並びに作業対象物であるワーク及び周辺構造物のモデルを構築し、このモデルを用いてティーチングデータを作成した後、上記ティーチングデータを現場の多関節ロボットに供給することにより、製造ラインを停止させることなくティーチングデータを作成することができる。
【0003】
しかし、1つの製造ライン上において上記多関節ロボットにより作業されるワークは1種類とは限らず、当該製造ライン上を流れるワークが変更された場合には、この変更に合わせた新たなティーチングデータを作成する必要があり、ティーチングデータの作成作業を行うオペレータの負担が大きい。
これを解消するために、既存のワークに対してすでに作成済みである既存のティーチングデータを、新規のワークに合わせて変換して新規のティーチングデータを作成する方法が提案されている(例えば、特許文献1参照)。具体的には、既存のティーチングデータがある場合に、変換先の作業点におけるエンドエフェクタの姿勢を示す複数のパラメータのうち1つを固定設定しておき、既存のティーチングデータにおける対応する作業点におけるエンドエフェクタの姿勢を固定設定した上記パラメータが一致するように変換している。このような技術によれば、既存のティーチングデータを有効に利用することができ、コンピュータの使用時間やオペレータの負担を軽減することができて好適である。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許4000306号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、新規のティーチングデータは、あくまで既存のティーチングデータを新規ワークの形状に合わせて変換して一様に作成されたものであるため、これらティーチングデータが供給される多関節ロボットが配置される製造ラインの特性を考慮したものとはなっていない。このため、多関節ロボットが配置される環境(例えばロボットの動作範囲に壁がある、または、チューブやケーブルが配置されている等)によっては、製造ラインごとに当該製造ラインの環境に合わせてティーチングデータを補正する必要があり、ティーチング作業が繁雑になるという問題がある。
【0006】
そこで、本発明は、上述した事情に鑑みてなされたものであり、所定の製造ラインで作業される新たなワークに対し、この製造ラインの特性を考慮したティーチングデータを効率的に作成することを可能にする多関節ロボットのティーチングデータ作成方法およびティーチングデータ作成装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明は、ワークに設定された複数の作業点のそれぞれでエンドエフェクタにより作業を行う多関節ロボットのティーチングデータ作成方法において、ティーチングデータ供給対象の前記多関節ロボットが前記作業点のそれぞれに対して作業するときのエンドエフェクタの各姿勢の制御データを取得し、前記制御データの中から、ティーチングデータ作成対象のワークに設定された作業点にほぼ一致する作業点を特定し、当該作業点での前記エンドエフェクタの姿勢の制御データに基づいて前記ティーチングデータを作成することを特徴とする。
【0008】
この構成によれば、多関節ロボットがワークに設定された複数の作業点のそれぞれに対して作業するときのエンドエフェクタの各姿勢の制御データを取得し、制御データの中から、新たなワークに設定された作業点にほぼ一致する作業点を特定し、当該作業点でのエンドエフェクタの姿勢の制御データに基づいてティーチングデータを作成するため、例えば、所定の製造ラインで量産実績のあるワークの作業点に対するエンドエフェクタの各姿勢の制御を、当該製造ラインで作業される新たなワークの作業点に反映することができ、この製造ラインの特性を考慮したティーチングデータを効率的に作成することができる。
【0009】
この構成において、本発明は、前記多関節ロボットの前記作業点のそれぞれでの実動作時間を取得し、前記ティーチングデータ作成対象のワークに設定された作業点にほぼ一致する作業点での実動作時間に基づいてサイクルタイムを計算することを特徴とする。この構成によれば、所定の製造ラインで量産実績のあるワークに即したサイクルタイムを算出することができる。
【0010】
さらに、前記実動作時間は、作業点の違いにかかわらず一定となる固定時間と、作業点及び作業種別ごとに異なる可変時間とを含み、当該可変時間を各作業点ごとに加算した値に基づいて前記サイクルタイムを計算することを特徴とする。この構成によれば、より正確なサイクルタイムを算出することができる。
【0011】
また、異なる製造ラインに設置されて同一ワークを加工する各多関節ロボットのそれぞれから前記制御データを取得し、各多関節ロボットについて前記ティーチングデータを作成し供給することを特徴とする。本構成によれば、製造ラインごとにティーチングデータを補正する必要がなくなるため、この補正作業を行う者の技量にかかわらず画一的なティーチングデータを作成することができる。
【0012】
また、本発明は、ワークに設定された複数の作業点のそれぞれでエンドエフェクタにより作業を行う多関節ロボットのティーチングデータ作成装置において、ティーチングデータ供給対象の前記多関節ロボットが前記作業点のそれぞれに対して作業するときのエンドエフェクタの各姿勢の制御データを取得する取得手段と、前記制御データの中から、ティーチングデータ作成対象のワークに設定された作業点にほぼ一致する作業点を特定するマッチング手段と、前記作業点での前記エンドエフェクタの姿勢の制御データに基づいて前記ティーチングデータを作成するデータ作成手段とを備えたことを特徴とする。
【発明の効果】
【0013】
本発明によれば、ティーチングデータ作成対象のワーク多関節ロボットがワークに設定された複数の作業点のそれぞれに対して作業するときのエンドエフェクタの各姿勢の制御データを取得し、制御データの中から、新たなワークに設定された作業点にほぼ一致する作業点を特定し、当該作業点でのエンドエフェクタの姿勢の制御データに基づいてティーチングデータを作成するため、例えば、所定の製造ラインで量産実績のあるワークの作業点に対するエンドエフェクタの各姿勢の制御を、当該製造ラインで作業される新たなワークの作業点に反映することができ、この製造ラインの特性を考慮したティーチングデータを効率的に作成することができる。
また、本発明によれば、前記多関節ロボットの前記作業点のそれぞれでの実動作時間を取得し、前記ティーチングデータ作成対象のワークに設定された作業点にほぼ一致する作業点での実動作時間に基づいてサイクルタイムを計算するため、所定の製造ラインで量産実績のあるワークに即したサイクルタイムを算出することができる。
また、本発明によれば、前記実動作時間は、作業点の違いにかかわらず一定となる固定時間と、作業点及び作業種別ごとに異なる可変時間とを含み、当該可変時間を各作業点ごとに加算した値に基づいて前記サイクルタイムを計算するため、より正確なサイクルタイムを算出することができる。
また、本発明によれば、異なる製造ラインに設置されて同一ワークを加工する各多関節ロボットのそれぞれから前記制御データを取得し、各多関節ロボットについて前記ティーチングデータを作成し供給するため、製造ラインごとにティーチングデータを補正する必要がなくなることにより、この補正作業を行う者の技量にかかわらず画一的なティーチングデータを作成することができる。
【図面の簡単な説明】
【0014】
【図1】本実施の形態の多関節ロボットのオフラインティーチング装置を示す斜視図である。
【図2】車両の製造ライン及びロボットシステムの斜視図である。
【図3】オフラインティーチング装置のブロック構成図である。
【図4】ティーチングデータの作成手順を示すフローチャートである。
【図5】既存のドア枠に設定された作業点を示す模式図である。
【図6】実際の作業点と図面上の作業点とのマッチング手順を説明する図である。
【図7】実際の作業点に対する制御データを示すテーブルである。
【図8】ティーチングデータを作成する対象となる新規なドア枠に設定された作業点を示す模式図である。
【図9】新規なドア枠と参考のドア枠とのマッチング処理手順の一例を示すフローチャートである。
【図10】参考のドア枠に設定された作業点の制御データから新規なドア枠に設定された作業点の制御データへの変換を示す模式図である。
【図11】参考のドア枠に設定された作業点の制御データから新規なドア枠に設定された作業点の制御データに変換する様子を示す模式斜視図である。
【図12】既存のドア枠に設定された作業点の制御データと、新規なドア枠に設定された作業点の制御データとのマッチング処理を示す模式図である。
【図13】新規なドア枠に設定された作業点の制御データを示すテーブルである。
【図14】ロボットのサイクルタイムの見積もり動作を示す模式図である。
【発明を実施するための形態】
【0015】
以下、図面を参照して本発明の一実施の形態について説明する。
図1は、本実施の形態の多関節ロボットのティーチングデータ作成方法が適用されるオフラインティーチング装置10と、このオフラインティーチング装置10によって作成されたティーチングデータが適用される多関節ロボット12の構成を示す。
【0016】
多関節ロボット12は、産業用の多関節型のロボットであり、ベース部14と、該ベース部14を基準にして順に、第1アーム16、第2アーム18及び第3アーム20とを有し、該第3アーム20の先端に溶接ガンであるエンドエフェクタ22が設けられている。エンドエフェクタ22は、第3アーム20に対して着脱自在である。第1アーム16はベース部14に対して水平及び垂直に回動可能な軸J1、J2によって回動可能である。第2アーム18は第1アーム16と軸J3で回動可能に連結されている。第2アーム18は軸J4によって捻れ回転が可能になっている。第3アーム20は第2アーム18と軸J5で回動可能に連結されている。第3アーム20は軸J6によって捻れ回転が可能になっている。軸J4及び軸J6はそれぞれ360°以上の捻れ回動が可能である。
【0017】
エンドエフェクタ22は、軸線L上に開閉する一対の電極22a、22bを有するC型溶接ガンであり、この電極22a、22bは閉状態では軸線L上の作業点(溶接点、打点、TCP(Tool Center Point))でワークに接触する。作業点から本体側の電極22a、22bの軸心に一致する方向をパラメータZとし、このパラメータZに直交しエンドエフェクタ22であるC形溶接ガンの開口部方向をパラメータXとする。また、パラメータX、パラメータZに互いに直交する方向をパラメータYとする。
【0018】
軸J1〜J6の駆動機構並びに電極22a、22bの開閉機構はそれぞれ図示しないアクチュエータにより駆動され、作業点の座標は軸J1〜J6の回動角度及び多関節ロボット12の各部の寸法により決定される。
【0019】
このような6軸構成の多関節ロボット12の動作によって、先端部に接続されたエンドエフェクタ22は搬送される車両の近傍における任意の位置に移動可能であって、且つ、任意の向きに設定可能である。換言すれば、エンドエフェクタ22は6自由度の移動が可能である。多関節ロボット12は、回転動作以外にも伸縮動作、平行リンク動作等の動作部を有するものであってもよい。多関節ロボット12は、ロボット制御部24に設定されたティーチングデータに従って動作する。
【0020】
図2に示すように、多関節ロボット12は、車両の製造ライン25の近傍に隣接して2台が配設されており、それぞれロボット制御部24の作用下に同時に動作し、ワークである車両の溶接をする。この場合、例えば、各多関節ロボット12,12は、互いに干渉しない範囲内で協同して車両の前列側及び後列側のドア枠102を溶接するように作業分担されている。この2台の多関節ロボット12の配列方向Cは、製造ライン25の搬送方向と並列に設定されているが、多関節ロボット12やワークの仕様によって配列方向Cは、搬送方向に対して非平行に設定される場合もある。例えば、天井つり下げ型のロボットを2台用いて溶接をする場合には、搬送方向と直角に配列する場合もある。
【0021】
オフラインティーチング装置10は、コンピュータによって構成されるものであり、図3に示すように、制御部26は、オフラインティーチング装置10の全体の制御を行うCPU28と、記録部であるROM30及びRAM32と、ハードディスクドライブ(HDD)34によってデータが読み書きされるハードディスク36と、フレキシブルディスクやコンパクトディスク等の外部記録媒体38に対してティーチングデータ等の読み書きを行う記録媒体ドライブ40と、多関節ロボット12のティーチングデータを作成するティーチングデータ作成回路(データ作成手段)42と、作成されたティーチングデータに基づいて多関節ロボット12の動作シミュレーションを行うシミュレーション回路44とを備える。
なお、制御部26には、オペレータによるティーチング作業の補助、シミュレーション画像の表示等を行うためのディスプレイ46が描画制御回路48を介して接続されるとともに、インタフェース50を介して入力装置としてのキーボード52及びマウス54が接続される。
【0022】
ハードディスク36には、多関節ロボット12のティーチングデータを作成するためのティーチングデータ作成プログラム56と、多関節ロボット12、作業対象物及びその他の設備に係る形状データ58と、多関節ロボット12の各軸の動作仕様を含むロボット仕様データ60と、上記した製造ライン25を流れる既存の車両(ワーク)に設定された作業点に対して、多関節ロボット12が作業する場合にエンドエフェクタ22のそれぞれの姿勢を示す制御データが格納されたデータベース62とが記録される。
このデータベース62には、既存の車両(ワーク)ごとに当該ワークに設定された各作業点に対応するエンドエフェクタ22の姿勢を示す制御データがそれぞれ格納されている。ここで、エンドエフェクタ22の姿勢を示す制御データとは、各作業点における多関節ロボット12の各軸J1〜J6の回動角度、および、エンドエフェクタ22及び作業点の向きを3次元的に規定するパラメータX、Y、Zの向きをいう。
また、本実施形態では、CPU28は、上記したデータベース62から作業点に対応するエンドエフェクタ22の姿勢を示す制御データを取得する取得手段として機能する。さらに、CPU28は、新規な車両について新規のティーチングデータを作成する際に、取得した制御データの中から当該新規な車両の作業点と略一致する作業点を特定するマッチング手段としても機能する。ここで、略一致するとは、各作業点が完全に一致する場合の他、所定の閾値内に近接配置されるものを含む。
なお、本実施形態では、制御部26が上述した各回路を備える構成としたが、これら各回路の機能を、コンピュータプログラムによりコンピュータに実行させる構成としても良い。
【0023】
次に、新規なワークについて多関節ロボット12が溶接を行う場合、このワークに対応するティーチングデータを作成する手順について説明する。一般に、ティーチングデータは、ワークに対する多関節ロボットの作業点及び作業順を設定し、各作業点におけるロボット姿勢及びエンドエフェクタの向き(姿勢)を求め、各作業点でのワークに対する作業内容を作業属性として設定するとともに作業点間の動作方法を動作属性として設定するという作業を要する。
この場合、既存のワークに対する既存のティーチングデータを利用して新規のワークに対応する新規のティーチングデータを作成する手法があるが、この手法は、多関節ロボット12が配置される製造ライン25の特性を考慮したものとはなっていない。このため、多関節ロボット12が配置される環境(例えばロボットの動作範囲に壁がある、または、チューブやケーブルが配置されている等)によっては、作業点においてロボットの各アームやエンドエフェクタ22が干渉するおそれがある。従って、製造ライン25ごとに当該製造ライン25の環境に合わせて、各作業点におけるロボット姿勢及びエンドエフェクタの姿勢を別途補正する必要が生じ、ティーチング作業が繁雑になるという問題がある。
本実施形態では、実際に製造ライン25で量産実績のある既存のワークに設定された作業点に対するエンドエフェクタの向き(姿勢)を、新規ワークに設定された作業点であって、上記既存ワークの作業点と略一致する位置に設けられた作業点に対して反映させることで、当該製造ライン25の特性を考慮したティーチングデータを容易に作成することができる。
【0024】
図4は、新規なワークに対するティーチングデータの作成手順を示すフローチャートである。
ティーチングデータを作成するに先立って、まず、CPU28は、既存機種(ワーク)に対する多関節ロボット12のジョブデータ(JOB)を取得する(ステップS1)。このジョブデータとは、多関節ロボット12が既存のワークに設定された作業点に対して溶接作業を行う際の制御データをいい、具体的には、各作業点の打順(溶接順番)、各作業点の位置、各作業点におけるエンドエフェクタ22の姿勢(面直角度)を含む。この制御データは、多関節ロボットごとに取得される。
図5は、既存のワークの一例である車両のドア枠100に設定された作業点(溶接点、打点)P1〜P7を示す図である。このドア枠100については、作業基準点Oを始点及び終点とし、7つの作業点P1〜P7に対して順に溶接を行う。最初の作業点P1に到達する前に、作業点P1に到達しやすいような姿勢を示す仮の作業点T01を経由する。また、最後の作業点P7の後に、エンドエフェクタ22を抜取りやすいような姿勢を示す仮の作業点T02を経由する。さらに、仮の作業点T02から作業基準点Oに戻りやすいように仮の作業点T03を経由する。
【0025】
次に、CPU28は、ドア枠100に設定された作業点P1〜P7位置と、このドア枠100の設計図面上の作業点位置とをマッチング(ステップS2)させることにより、各作業点P1〜P7の位置関係を整理する。
このマッチング作業は、例えば、図6に示すような手法で行われる。具体的には、図6Aに示すように、既存ワーク(実機)から取得した作業点(打点)と、図面上の作業点(打点)位置とをコンピュータ上に取り込み、これらを同一の画面上に表示する。次に、図6Bに示すように、CPU28は、所定距離(例えば、200mm)内に存在する実機の打点1〜3同士をグルーピングし、これらグルーピング化した上所定の閾値(例えば、各打点から100mm以内)を設定(図6C)して、この閾値内の打点群を抽出する(図6D)。
次に、CPU28は、上記のようにグルーピング化された打点グループ(打点群)の中で、打順(打点番号)が一番小さいものを基準に打点位置及び面直角度と比較する。具体的には、図6Eに示すように、CPU28は、各打点1〜3をグルーピング化したまま、打点1と近接する図面上の打点とがそれぞれ一致するように、打点グループを画面上で移動して補正させ、他の打点2、3を図面上の打点と比較する。
この場合、CPU28は、図6F〜Hに示すように、補正候補の数分、打点グループを移動し、それぞれについて近似打点との差分を比較する。そして、各打点グループの打点位置平均を算出し、このバラツキ及び直距離差分の小さな打点グループを同一の打点グループとして、これらに既存ワーク(実機)から取得した制御データを継承する。
【0026】
次に、CPU28は、マッチングにより整理された作業点(実機打点)P1〜P7の制御データを上記したデータベース62に登録する(ステップS3)。具体的には、データベース62には、図7に示すように、既存のワークとしてのドア枠100と対応づけて、「順番」、「番号」、「エンドエフェクタの向き」、「各軸角度」が登録される。「順番」の欄は、溶接作業を行う際に多関節ロボット12のエンドエフェクタ22の作業点を順番に登録したものであり、「番号」の欄には、打点としての作業点P1〜P7、及び、溶接を効率良く行うためにエンドエフェクタ22の姿勢を変更するための作業点T01〜T03が登録されている。「エンドエフェクタの向き」欄は、エンドエフェクタ22の姿勢を示す座標、つまりツール座標データであり、上記のパラメータX、Y、Zが記録されている。「各軸角度」欄は回転角θ1〜θ6から構成されており、それぞれの回転角θ1〜θ6は、各軸J1〜J6の回転角を示している。
また、1つのワークに対して2台の多関節ロボット12,12により協同して溶接作業を行う場合には、各作業点のおける「エンドエフェクタの向き」、「各軸角度」がどちらの多関節ロボットのものかを登録し、作業点をロボットごとに配分するようにしてもよい。
本実施形態では、既存のワークとしてドア枠100の作業点における制御データをデータベース62に登録する場合を説明したが、これら制御データはより多く登録されていることが望ましい。このため、データベース62には、製造ライン25にて量産の実績のある複数のワーク(例えば、形状の異なる他のドア枠、車両のフロント部分、リア部分など)に関する制御データが登録されている。これらステップS1〜S3が本構成でティーチングデータを作成するにあたり前処理として行われる手順である。
【0027】
次に、CPU28は、ティーチングデータが作成されるワークであるドア枠102について溶接点(作業点)情報をリスト化する(ステップS4)。この溶接点情報は、図8に示すように、ドア枠102に対して予め設定されており、このドア枠102に設定される作業点(溶接点)Q1〜Q9について、各作業点Q1〜Q9の位置情報及び面直角度が設定されている。このため、ドア枠102に対するティーチングデータを作成するためには、各作業点Q1〜Q9における多関節ロボット12の姿勢及びエンドエフェクタ22の向き(姿勢)を求め、各作業点間の動作方法を動作属性として設定すれば良い。
次に、各作業点における多関節ロボット12の姿勢及びエンドエフェクタ22の向き(姿勢)を求めるために、CPU28は、上記リスト化された溶接点情報と参考機種の溶接点情報とのマッチング処理を行う(ステップS5)。ここで、参考機種とは、ドア枠102と似た形状のワークとしてのドア枠104(図10)をいい、このドア枠104に設定される作業点R1〜R7における制御データ(「順番」、「番号」、「エンドエフェクタの向き」、及び、「各軸角度」)が設定されているものである。これら作業点R1〜R7は、ドア枠102の作業点Q1〜Q9に対して位置及び数が異なるが、ドア枠部に対する作業点であるという点、及び、下方から上方へ向かって順に溶接を行うという点で共通している。
【0028】
マッチング処理手順として、CPU28は、図9に示すように、ドア枠104の作業点(溶接点)R1〜R7における制御データのうち、「エンドエフェクタの向き」に関する制御データを、リスト化されたドア枠102の作業点Q1〜Q7における「エンドエフェクタの向き」欄に複写して回転変換する(ステップS21)。つまり、作業点R1のデータを作業点Q1に複写する場合(図11)、この作業点R1におけるパラメータXR1、YR1、ZR1を作業点Q1に平行に移動させた後、パラメータZR1を予め設定されているパラメータZQ1に合うように回転変換する。このとき、パラメータXR1及びYR1も同様に回転変換されることによりパラメータXQ1及びYQ1に変換される。また、図10に示すように、作業点Q2〜Q7についても同様に作業点R2〜R7のデータを複写して回転変換する。
【0029】
次に、ドア枠104の作業点(溶接点)R1〜R7における制御データに軸の回転情報が含まれていれば、その回転情報を複写する(ステップS22)。この回転情報は、例えば、軸J4及び軸J6のように360°以上回転可能な軸では、軸J4の回転角θ4が見かけ上240°の角度を示している場合であっても、この角度が、基準位置(0°)から240°回転した位置なのか、そこから更に1回転した位置なのかが分からなくなる。このため、360°以上回転した場合には、例えばフラグを立てるなどにより、回転情報を付加することにより、多関節ロボット12のケーブルが捻れることを防ぐとともに、各作業点間において、軸J4及び軸J6が過大に回転することを防止することができる。
次に、作業点Q1〜Q7における「エンドエフェクタの向き」に関する制御データおよび各作業点Q1〜Q7の位置情報に基づき、多関節ロボット12の各軸J1〜J6の角度を行列式を用いた逆変換処理により算出する(ステップS23)。この処理によって、多関節ロボット12の姿勢は、複数求められることがある。この場合、複数求められた多関節ロボット12の姿勢のうち、回転情報に適合する姿勢を1つ選択する(ステップS24)。これにより、例えば、作業点Q1に関してはθ1〜θ6に対応する角度であるθQ11、θQ21、θQ31、θQ41、θQ51及びθQ61が求まるので、「各軸角度」欄のθ1〜θ6の各欄に記録することができる。
【0030】
再び、図4のフローチャートに戻り、CPU28は、参考機種であるドア枠104の溶接点(作業点)情報からドア枠102の溶接点(作業点)情報を抽出する(ステップS6)。すなわち、上記したステップS21〜S24の処理によって、作業点R1〜R7に関する制御データから作業点Q1〜Q7に関する制御データを変換して取得する。この場合、取得した作業点の一部を一の多関節ロボット12が担当し、残りを他の多関節ロボット12が担当する場合には、これらロボットの打点配分についても抽出される。
一方、上記作業点Q1〜Q7にかかる制御データでは、製造ラインの特性が考慮されていないため、当該制御データに上述した既存のワーク(ドア枠100)から取得した制御データを反映させる。
【0031】
次に、CPU28は、既存のワーク(ドア枠100)とドア枠102とのマッチング処理を行う(ステップS7)。具体的には、CPU28は、データベース62に登録された制御データの中からドア枠102に設定された作業点Q1〜Q9にほぼ一致する作業点P1〜P7を特定する。そして、特定した作業点情報からドア枠102の作業点情報を抽出する(ステップS8)。この実施形態では、図12に示すように、ドア枠102の作業点Q1〜Q3とドア枠100の作業点P1〜P3とがほぼ一致している。このため、図13に示すように、作業点Q1〜Q3について設定されたエンドエフェクタ22の向き、及び、各軸角度の情報に変えて、作業点P1〜P3でのエンドエフェクタ22の向き(XP1〜XP3、YP1〜YP3、ZP1〜ZP3)、及び各軸角度(θP11〜θP13、θP21〜θP23、θP31〜θP33、θP41〜θP43、θP51〜θP53、θP61〜θP63)の情報を反映させて上記リストを作成する。
このドア枠100の作業点P1〜P3に関する制御データは、製造ライン25において多関節ロボット12を実際に動作させることにより量産実績のある制御データである。このため、量産実績のある作業点P1〜P3に関する制御データを、当該作業点P1〜P3とほぼ一致する位置に設定された新たなドア枠102の作業点Q1〜Q3に関する制御データに反映させることで、製造ライン25の特性が十分に考慮された制御データを簡単に作業点Q1〜Q3に設定することができる。
本実施形態では、既存のワークとしてドア枠100しか説明していないが、製造ライン25で製造される多種多様なワークの作業点における制御データをデータベース62に登録することにより、ステップS7でマッチングされる作業点が増加するため、より一層、製造ライン25の特性が考慮された制御データを取得することができる。
【0032】
次に、抽出しきれない作業点(溶接点)があれば、この作業点を手動により配分する(ステップS9)。この実施形態では、図10に示すように、作業点Q8及び作業点Q9については、制御データが記録されていない。この場合には、オペレータは、作業点Q8及び作業点Q9を設定する作業を行う。この場合、周知の手法を採用すれば良いが、例えば、作業点Q7に対する制御データを再び作業点Q8及び作業点Q9に複写して回転変換することにより、当該作業点Q8及び作業点Q9に対する制御データを取得しても良い。
次に、CPU28は、ハードディスク36からティーチングデータ作成プログラム56を読み込み、ティーチングデータ作成回路42にロードする。次いで、多関節ロボット12、作業対象物及びその他の設備に係る形状データ58と、多関節ロボット12の各軸の最高速度、最大加速度、可動範囲等のロボット仕様データ60とをハードディスク36から読み込む。描画制御回路48は、形状データ58に基づいて、ディスプレイ46に多関節ロボット12、溶接対象となるワーク、治具を含む設備等の画像を描画する。
そして、各作業点Q1〜Q9の位置情報、及び、制御データに基づき、各作業点Q1〜Q9での作業特性及び各作業点Q1〜Q9間の動作方法を動作特性として設定し、ドア枠102のティーチングデータを作成する(ステップS10)。
これにより、製造ライン25の特性が考慮されたティーチングデータを作成することができるため、このティーチングデータを製造ライン25に配置される多関節ロボット12に供給した後に、当該ティーチングデータを修正する作業が低減され、ティーチング作業の軽減を図ることができる。
【0033】
次に、作成されたティーチングデータは、シミュレーション回路44によって動作確認され、この際にサイクル見積もりを実行する(ステップS11)。従来の構成では、多関節ロボット12が配置されるステーションにおけるサイクルの見積もりは、各作業数に所定に時間(例えば2秒)を単純に乗じて算出していたので、動作が複雑であったり、移動距離が長いものの場合には、実際のサイクルタイムが所望の処理時間を超えることが想定されていた。
本実施形態では、CPU28は、多関節ロボット12の作業点P1〜P7のそれぞれでの実動作時間を取得し、ドア枠102に設定された作業点Q1〜Q3にほぼ一致する作業点P1〜P3での実動作時間に基づいてサイクルタイムを算出している。このため、作業点Q1〜Q3までの作業時間は取得した実動作時間を反映すればよく、所定の製造ライン25で量産実績のあるドア枠100に即したサイクルタイムを算出することができる。
また、作業点P4〜P7に略一致しない作業点Q4〜Q9については、図14に示すように、作業点の違いにかかわらず一定となる固定時間(ワーク搬送時間、溶接(SPOT)時間、溶接通電サイクル時間、エンドエフェクタ開閉時間等)と、作業点及び作業種別ごとに異なる可変時間(短ピッチ、中ピッチ、長ピッチの作業点間移動時間、面変化動作時間、エンドエフェクタ回転動作時間等)とに分解される。そして、この可変時間については、作業種別ごとに設定された所定のパラメータ時間を各動作に乗じることで、当該作業種別に該当する時間を算出し、これら可変時間と固定時間とを作業点ごとに加算することでサイクルタイムを計算している。これによれば、より実際の動作に即した正確なサイクルタイムを算出することができる。
【0034】
次に、CPU28は、サイクル判断を実行する(ステップS12)。この場合、ステップS11で見積もられたサイクル時間が、該当する工程に与えられた所望の処理時間(αsec)以内であれば(ステップS12;Yes)、ティーチングデータの作成処理を終了し、作成されたティーチングデータが記録媒体ドライブ40を介して外部記録媒体38に記録される。そして、外部記録媒体38に記録されたティーチングデータは、ロボット制御部24にダウンロードされ、多関節ロボット12の制御に供される。
一方、見積もられたサイクル時間が該当する工程に与えられた所望の処理時間(αsec)よりも長ければ(ステップS12;No)、各多関節ロボット12、12による作業点の再配分を行い、あるいは、各多関節ロボット12、12による作業点の処理順の入れ替えを行い、ステップS4からの処理を繰り返す(ステップS13)。この場合、配分されている作業点群の中から作業点位置および面直角度が他の作業点と大きく差異がある作業点を放出候補とし、サイクルタイムに余裕のある各多関節ロボット12に配分する。
【0035】
以上、説明したように、本実施形態によれば、ワークに設定された複数の作業点のそれぞれでエンドエフェクタ22により作業を行う多関節ロボット12のティーチングデータ作成方法において、ティーチングデータが供給される多関節ロボット12が既存のワークとしてのドア枠100に設定された作業点P1〜P7のそれぞれに対して作業するときのエンドエフェクタ22の各姿勢の制御データを取得し、制御データの中から、ティーチングデータを作成する対象となるドア枠102に設定された作業点Q1〜Q9にほぼ一致する作業点を特定し、当該作業点P1〜P3でのエンドエフェクタ22の姿勢の制御データ(エンドエフェクタ22の向き(XP1〜XP3、YP1〜YP3、ZP1〜ZP3)、及び各軸角度(θP11〜θP13、θP21〜θP23、θP31〜θP33、θP41〜θP43、θP51〜θP53、θP61〜θP63))に基づいてティーチングデータを作成するため、例えば、所定の製造ライン25で量産実績のあるドア枠100の作業点P1〜P7に対するエンドエフェクタ22の各姿勢の制御を、当該製造ライン25で作業される新たなドア枠102の作業点Q1〜Q9に反映することができ、この製造ライン25の特性を考慮したティーチングデータを効率的に作成することができる。
【0036】
また、本実施形態によれば、多関節ロボット12の作業点P1〜P7のそれぞれでの実動作時間を取得し、ティーチングデータ作成対象のドア枠102に設定された作業点Q1〜Q3にほぼ一致する作業点P1〜P3での実動作時間に基づいてサイクルタイムを計算するため、所定の製造ライン25で量産実績のあるドア枠100に即したサイクルタイムを算出することができる。
【0037】
また、本実施形態によれば、実動作時間は、作業点の違いにかかわらず一定となる固定時間と、作業点及び作業種別ごとに異なる可変時間とを含み、当該可変時間を各作業点ごとに加算した値に基づいてサイクルタイムを計算するため、正確なサイクルタイムを算出することができる。
【0038】
なお、本発明は、上記実施形態に限らず、本発明の要旨を逸脱することなく、種々の構成を採り得ることは勿論である。例えば、本実施形態では、多関節ロボット12がTCPでのワークに対する作業内容を溶接としたが、ティーチングデータに基づいて多関節ロボットを作業させるものであれば、作業内容はこれに限るものではない。
また、本実施形態では、単一の製造ライン25に設置されてドア枠を加工する多関節ロボット12に供給されるティーチングデータを作成する構成について説明したが、これに限るものではなく、異なる製造ラインにそれぞれ設置されて同一のワークを加工する多関節ロボットのそれぞれから制御データを取得し、各多関節ロボットについてティーチングデータを作成し供給する構成としてもよい。この構成によれば、製造ラインごとにティーチングデータを補正する必要がなくなるため、この補正作業を行う者の技量にかかわらず画一的なティーチングデータを作成することができる。
【符号の説明】
【0039】
10 オフラインティーチング装置(ティーチングデータ作成装置)
12 多関節ロボット
22 エンドエフェクタ
25 製造ライン
28 CPU(取得手段、マッチング手段)
36 ハードディスク
42 ティーチングデータ作成回路(データ作成手段)
62 データベース
100 ドア枠
102 ドア枠
104 ドア枠
O 作業基準点
X パラメータ
Y パラメータ
Z パラメータ
P1〜P7 作業点
Q1〜Q9 作業点
【特許請求の範囲】
【請求項1】
ワークに設定された複数の作業点のそれぞれでエンドエフェクタにより作業を行う多関節ロボットのティーチングデータ作成方法において、
ティーチングデータ供給対象の前記多関節ロボットが前記作業点のそれぞれに対して作業するときのエンドエフェクタの各姿勢の制御データを取得し、
前記制御データの中から、ティーチングデータ作成対象のワークに設定された作業点にほぼ一致する作業点を特定し、当該作業点での前記エンドエフェクタの姿勢の制御データに基づいて前記ティーチングデータを作成することを特徴とするティーチングデータ作成方法。
【請求項2】
前記多関節ロボットの前記作業点のそれぞれでの実動作時間を取得し、
前記ティーチングデータ作成対象のワークに設定された作業点にほぼ一致する作業点での実動作時間に基づいてサイクルタイムを計算することを特徴とする請求項1に記載のティーチングデータ作成方法。
【請求項3】
前記実動作時間は、作業点の違いにかかわらず一定となる固定時間と、作業点及び作業種別ごとに異なる非一定時間とを含み、当該非一定時間を各作業点ごとに加算した値に基づいて前記サイクルタイムを計算することを特徴とする請求項2に記載のティーチングデータ作成方法。
【請求項4】
ワークに設定された複数の作業点のそれぞれでエンドエフェクタにより作業を行う多関節ロボットのティーチングデータ作成装置において、
ティーチングデータ供給対象の前記多関節ロボットが前記作業点のそれぞれに対して作業するときのエンドエフェクタの各姿勢の制御データを取得する取得手段と、
前記制御データの中から、ティーチングデータ作成対象のワークに設定された作業点にほぼ一致する作業点を特定するマッチング手段と、
前記作業点での前記エンドエフェクタの姿勢の制御データに基づいて前記ティーチングデータを作成するデータ作成手段とを備えたことを特徴とするティーチングデータ作成装置。
【請求項1】
ワークに設定された複数の作業点のそれぞれでエンドエフェクタにより作業を行う多関節ロボットのティーチングデータ作成方法において、
ティーチングデータ供給対象の前記多関節ロボットが前記作業点のそれぞれに対して作業するときのエンドエフェクタの各姿勢の制御データを取得し、
前記制御データの中から、ティーチングデータ作成対象のワークに設定された作業点にほぼ一致する作業点を特定し、当該作業点での前記エンドエフェクタの姿勢の制御データに基づいて前記ティーチングデータを作成することを特徴とするティーチングデータ作成方法。
【請求項2】
前記多関節ロボットの前記作業点のそれぞれでの実動作時間を取得し、
前記ティーチングデータ作成対象のワークに設定された作業点にほぼ一致する作業点での実動作時間に基づいてサイクルタイムを計算することを特徴とする請求項1に記載のティーチングデータ作成方法。
【請求項3】
前記実動作時間は、作業点の違いにかかわらず一定となる固定時間と、作業点及び作業種別ごとに異なる非一定時間とを含み、当該非一定時間を各作業点ごとに加算した値に基づいて前記サイクルタイムを計算することを特徴とする請求項2に記載のティーチングデータ作成方法。
【請求項4】
ワークに設定された複数の作業点のそれぞれでエンドエフェクタにより作業を行う多関節ロボットのティーチングデータ作成装置において、
ティーチングデータ供給対象の前記多関節ロボットが前記作業点のそれぞれに対して作業するときのエンドエフェクタの各姿勢の制御データを取得する取得手段と、
前記制御データの中から、ティーチングデータ作成対象のワークに設定された作業点にほぼ一致する作業点を特定するマッチング手段と、
前記作業点での前記エンドエフェクタの姿勢の制御データに基づいて前記ティーチングデータを作成するデータ作成手段とを備えたことを特徴とするティーチングデータ作成装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2012−91304(P2012−91304A)
【公開日】平成24年5月17日(2012.5.17)
【国際特許分類】
【出願番号】特願2010−242956(P2010−242956)
【出願日】平成22年10月29日(2010.10.29)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】
【公開日】平成24年5月17日(2012.5.17)
【国際特許分類】
【出願日】平成22年10月29日(2010.10.29)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】
[ Back to top ]