IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ パナソニックIPマネジメント株式会社の特許一覧

特許7365624オフライン教示装置およびオフライン教示方法
<>
  • 特許-オフライン教示装置およびオフライン教示方法 図1
  • 特許-オフライン教示装置およびオフライン教示方法 図2
  • 特許-オフライン教示装置およびオフライン教示方法 図3
  • 特許-オフライン教示装置およびオフライン教示方法 図4
  • 特許-オフライン教示装置およびオフライン教示方法 図5
  • 特許-オフライン教示装置およびオフライン教示方法 図6
  • 特許-オフライン教示装置およびオフライン教示方法 図7
  • 特許-オフライン教示装置およびオフライン教示方法 図8
  • 特許-オフライン教示装置およびオフライン教示方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-10-12
(45)【発行日】2023-10-20
(54)【発明の名称】オフライン教示装置およびオフライン教示方法
(51)【国際特許分類】
   B23K 9/127 20060101AFI20231013BHJP
   G05B 19/42 20060101ALI20231013BHJP
   B25J 9/22 20060101ALI20231013BHJP
【FI】
B23K9/127 509E
B23K9/127 509B
G05B19/42 J
B25J9/22 A
G05B19/42 W
【請求項の数】 15
(21)【出願番号】P 2023537435
(86)(22)【出願日】2023-02-27
(86)【国際出願番号】 JP2023006916
【審査請求日】2023-06-19
(31)【優先権主張番号】P 2022059586
(32)【優先日】2022-03-31
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100138771
【弁理士】
【氏名又は名称】吉田 将明
(72)【発明者】
【氏名】大熊 克明
(72)【発明者】
【氏名】岡崎 嘉幸
(72)【発明者】
【氏名】平山 正弥
【審査官】松田 長親
(56)【参考文献】
【文献】特開2018-144223(JP,A)
【文献】特開2021-186929(JP,A)
【文献】特開2004-255547(JP,A)
【文献】特開平7-84631(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B23K 9/127
G05B 19/42
B25J 9/22
(57)【特許請求の範囲】
【請求項1】
溶接により生産されるワークの生産に関するデータが変更されたか否かを判定する第1判定部と、
前記第1判定部により前記データに変更があると判定された場合、変更されたデータに基づいて、前記ワークと、前記溶接を行う溶接ロボットとの間の相対位置が変化する対象物を判定する第2判定部と、
前記相対位置の変化後の対象物の位置と、前記相対位置の変化前の前記対象物の位置との変位量に基づいて、前記溶接を実行するための第1の教示プログラムを補正した第2の教示プログラムを作成して出力する教示プログラム作成部と、を備える、
オフライン教示装置。
【請求項2】
前記第2判定部は、
変更された前記データに基づいて、前記対象物と、前記相対位置の変化頻度とを判定し、
前記相対位置の変化頻度と、前記対象物とに基づいて、前記第1の教示プログラムを恒久的に前記第2の教示プログラムに変更するか否かを判定する、
請求項1に記載のオフライン教示装置。
【請求項3】
前記教示プログラム作成部は、
前記第2判定部により前記対象物が前記ワーク全体であると判定された場合、前記第1の教示プログラムを恒久的に変更する前記第2の教示プログラムを作成して出力する、
請求項1に記載のオフライン教示装置。
【請求項4】
前記第2判定部は、
変更された前記データに基づいて、前記対象物が前記ワークの一部であると判定した場合、前記データが前記ワークごとに変更されるか否かをさらに判定し、
前記教示プログラム作成部は、
前記第2判定部により前記データが前記ワークごとに変更されると判定された場合、前記第1の教示プログラムを一時的に変更する前記第2の教示プログラムを作成して出力する、
請求項1に記載のオフライン教示装置。
【請求項5】
前記第2判定部は、
変更された前記データに基づいて、前記対象物が前記ワークの一部であると判定した場合、前記データが前記ワークごとに変更されるか否かをさらに判定し、
前記教示プログラム作成部は、
前記第2判定部により前記データが前記ワークごとに変更されないと判定された場合、前記第1の教示プログラムを恒久的に変更する前記第2の教示プログラムを作成して出力する、
請求項1に記載のオフライン教示装置。
【請求項6】
前記教示プログラム作成部は、
前記第2判定部により前記データが前記ワークごとに変更されないと判定された場合、前記第1の教示プログラムを恒久的に変更する前記第2の教示プログラムを作成して出力する、
請求項1に記載のオフライン教示装置。
【請求項7】
前記教示プログラム作成部は、
前記第2判定部により前記データが前記ワークごとに変更されると判定された場合、前記第1の教示プログラムを一時的に変更する前記第2の教示プログラムを作成して出力する、
請求項1に記載のオフライン教示装置。
【請求項8】
前記教示プログラム作成部は、
前記第2判定部により、変更された前記データが前記ワークの生産設備に関するデータであると判定された場合、前記第1の教示プログラムを恒久的に変更する前記第2の教示プログラムを作成して出力する、
請求項1に記載のオフライン教示装置。
【請求項9】
前記教示プログラム作成部は、
前記第2判定部により、変更された前記データが前記ワークの溶接条件に関するデータであると判定された場合、前記第1の教示プログラムを恒久的に変更する前記第2の教示プログラムを作成して出力する、
請求項1に記載のオフライン教示装置。
【請求項10】
前記教示プログラム作成部は、
前記第2判定部により、変更された前記データが前記ワークの生産に使用される構成部材のロットに関するデータであると判定された場合、前記第1の教示プログラムを恒久的に変更する前記第2の教示プログラムを作成して出力する、
請求項1に記載のオフライン教示装置。
【請求項11】
前記第2判定部は、
前記第1判定部により前記データに変更がないと判定された場合、前記データに基づいて、前記ワークが位置補正対象であるか否かをさらに判定し、
前記ワークが前記位置補正対象であると判定した場合、前記対象物が前記ワークを構成する少なくとも1つの構成部材であると判定し、
前記教示プログラム作成部は、
前記第1の教示プログラムを一時的に変更する前記第2の教示プログラムを作成して出力する、
請求項1に記載のオフライン教示装置。
【請求項12】
前記教示プログラム作成部は、
前記対象物が前記ワーク全体である場合、前記ワーク上に設けられ、前記相対位置の変化後のパターンの位置と、前記相対位置の変化前の前記パターンの位置との変位量に基づいて、前記第1の教示プログラムを補正した前記第2の教示プログラムを作成して出力する、
請求項1に記載のオフライン教示装置。
【請求項13】
前記教示プログラム作成部は、
前記対象物が前記ワークの一部である場合、前記溶接される少なくとも1つの溶接線の近傍に位置し、前記相対位置の変化後の特徴点の位置と、前記相対位置の変化前の前記特徴点の位置との変位量に基づいて、前記第1の教示プログラムを前記溶接線ごとに補正した第2の教示プログラムを作成して出力する、
請求項1に記載のオフライン教示装置。
【請求項14】
溶接により生産されるワークを構成する少なくとも1つの対象物の位置を計測可能なセンサとの間で通信可能に接続された1つ以上のコンピュータを含んで構成されたオフライン教示装置が行うオフライン教示方法であって、
前記ワークの生産に関するデータが変更されたと判定した場合、変更されたデータに基づいて、前記ワークと、前記溶接を行う溶接ロボットとの間の相対位置が変化する対象物を判定し、
前記相対位置の変化後の対象物の位置と、前記相対位置の変化前の前記対象物の位置との変位量に基づいて、前記溶接を実行するための第1の教示プログラムを補正した第2の教示プログラムを作成して出力する、
オフライン教示方法。
【請求項15】
溶接により生産されるワークを構成する少なくとも1つの対象物の位置を計測可能なセンサとの間で通信可能に接続された1つ以上のコンピュータを含んで構成されたオフライン教示装置が行うオフライン教示方法であって、
前記ワークの生産に関するデータが変更されたデータの入力を受け付け、
前記変更されたデータに基づいて、前記ワークと、前記溶接を行う溶接ロボットとの間の相対位置が変化する対象物を判定し、
前記相対位置の変化後の対象物の位置と、前記相対位置の変化前の前記対象物の位置との変位量に基づいて、前記溶接を実行するための第1の教示プログラムを補正した第2の教示プログラムを作成して出力する、
オフライン教示方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、オフライン教示装置およびオフライン教示方法に関する。
【背景技術】
【0002】
特許文献1には、モデル図に、ティーチングプログラムを実行したときのロボットの動作軌跡を表示し、複数の位置検出命令の一部および複数の溶接命令の一部を表示するオフラインティーチング装置が開示されている。オフラインティーチング装置は、ティーチングプログラムとモデル図とを表示する表示部と、ティーチングプログラムを構成する命令と、モデル図のモデルデータとを記憶する記憶部と、表示部および記憶部を制御する制御部と、を備える。ティーチングプログラムは、複数の位置検出命令で構成される位置検出プログラム、および、複数の溶接命令で構成される溶接プログラムを含む。ここで、ティーチングプログラムを構成する命令、位置検出プログラムおよび溶接プログラムのそれぞれは、作業者により作成される。
【先行技術文献】
【特許文献】
【0003】
【文献】国際公開第2016/021130号
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、教示プログラムの教示点の補正工数をより効率的に削減するオフライン教示装置およびオフライン教示方法を提供する。
【課題を解決するための手段】
【0005】
本開示は、溶接により生産されるワークの生産に関するデータが変更されたか否かを判定する第1判定部と、前記第1判定部により前記データに変更があると判定された場合、変更されたデータに基づいて、前記ワークと、前記溶接を行う溶接ロボットとの間の相対位置が変化する対象物を判定する第2判定部と、前記相対位置の変化後の対象物の位置と、前記相対位置の変化前の前記対象物の位置との変位量に基づいて、前記溶接を実行するための第1の教示プログラムを補正した第2の教示プログラムを作成して出力する教示プログラム作成部と、を備える、オフライン教示装置を提供する。
【0006】
また、本開示は、溶接により生産されるワークを構成する少なくとも1つの対象物の位置を計測可能なセンサとの間で通信可能に接続された1つ以上のコンピュータを含んで構成されたオフライン教示装置が行うオフライン教示方法であって、前記ワークの生産に関するデータが変更されたと判定した場合、変更されたデータに基づいて、前記ワークと、前記溶接を行う溶接ロボットとの間の相対位置が変化する対象物を判定し、前記相対位置の変化後の対象物の位置と、前記相対位置の変化前の前記対象物の位置との変位量に基づいて、前記溶接を実行するための第1の教示プログラムを補正した第2の教示プログラムを作成して出力する、オフライン教示方法を提供する。
【0007】
また、本開示は、溶接により生産されるワークを構成する少なくとも1つの対象物の位置を計測可能なセンサとの間で通信可能に接続された1つ以上のコンピュータを含んで構成されたオフライン教示装置が行うオフライン教示方法であって、前記ワークの生産に関するデータが変更されたデータの入力を受け付け、前記変更されたデータに基づいて、前記ワークと、前記溶接を行う溶接ロボットとの間の相対位置が変化する対象物を判定し、前記相対位置の変化後の対象物の位置と、前記相対位置の変化前の前記対象物の位置との変位量に基づいて、前記溶接を実行するための第1の教示プログラムを補正した第2の教示プログラムを作成して出力する、オフライン教示方法を提供する。
【発明の効果】
【0008】
本開示によれば、教示プログラムの教示点の補正工数をより効率的に削減できる。
【図面の簡単な説明】
【0009】
図1】実施の形態に係る溶接システムのシステム構成例を示す概略図
図2】実施の形態に係るロボット制御装置、上位装置およびオフライン教示装置の内部構成例を示す図
図3】溶接ロボット座標系を説明する図
図4】ワークの位置ずれの形態例を説明する図
図5】教示プログラムの補正タイミング例を説明する図
図6】実施の形態におけるオフライン教示装置の動作手順例を説明するフローチャート
図7】オフライン教示装置による教示プログラムの第1補正手順例を説明するフローチャート
図8】オフライン教示装置による教示プログラムの第2補正手順例を説明するフローチャート
図9】オフライン教示装置による教示プログラムの第3補正手順例を説明するフローチャート
【発明を実施するための形態】
【0010】
(本開示に至る経緯)
特許文献1のように、従来、オフライン教示装置を用いて、溶接ロボット等のロボットに、作業の作業手順、動作軌跡等を含む教示プログラム(例えば、位置検出プログラム、溶接プログラム等)を教示するオフラインティーチング装置がある。ロボットは、作業指示に基づいて、作業指示に対応する各種プログラムを読み出すことで作業を実行する。
【0011】
動作軌跡は、ロボットが通過,到達すべき位置を示す教示点の位置を含む。一般的に、教示点は、ロボットに対する相対位置(つまり、ロボットの座標系を基準とする位置)が記録される。よって、ロボットに対する作業対象物(以降、「ワーク」と表記)の位置に位置ずれがあり、教示点の位置補正(修正)がされない場合には、ロボットは、ワークの加工点に到達できない等の課題があった。
【0012】
ここで、ワークの位置ずれの原因は、例えば、設備の移転,メンテナンス、ワークの加工条件の変化、ワークの個体差等である。ワークの位置ずれは、例えば、ワーク全体の位置が等しくずれるもの、ワークを構成する部品のそれぞれの位置がずれるもの、複数のワークのそれぞれの生産中に個体ごとにずれ量が変化するもの(つまり、経時変化が大きいもの)、ずれ量の経時変化が少ないもの等があり、位置ずれの形態ごとに作業への影響度がそれぞれ異なる。
【0013】
したがって、教示点の位置補正(修正)は、位置ずれの形態に合わせて行われることが望ましい。しかし、教示点の数は、ワークによって数百~数千個になることがあるため、補正(修正)に要する工数が極めて大きいという課題があった。
【0014】
そこで、以下の実施の形態では、教示プログラムの教示点の補正工数をより効率的に削減するオフライン教示装置およびオフライン教示方法の例を説明する。なお、以下の実施の形態では、溶接ロボットの溶接プログラムの教示点の補正(修正)する例について詳細に説明するが、補正される教示プログラムは、溶接プログラムに限定されない。例えば、教示プログラムは、ワークの外観をスキャンするスキャンプログラム、溶接不良箇所をリペアするリペア溶接プログラム等の溶接関連の用途で使用されるロボットの教示プログラムであってもよいし、塗装,バリ取り等の他の用途で使用されるロボットの任意の教示プログラムであってもよい。
【0015】
以下、適宜図面を参照しながら、本開示に係るオフライン教示装置およびオフライン教示方法を具体的に開示した実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になることを避け、当業者の理解を容易にするためである。なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために提供されるものであり、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
【0016】
以下、本溶接される対象物(例えば金属)を「元ワーク」、本溶接により生産(製造)された対象物を「ワーク」とそれぞれ定義する。「ワーク」は、1回の本溶接により生産されたワークに限らず、2回以上の本溶接により生産された複合的なワークであってもよい。また、元ワークと他の元ワークとが溶接ロボットにより接合等されてワークを生産する工程を「本溶接」と定義する。
【0017】
(溶接システムの構成)
図1は、実施の形態に係る溶接システム100のシステム構成例を示す概略図である。溶接システム100は、外部ストレージST、入力インターフェースUI1およびモニタMN1のそれぞれと接続された上位装置1と、ロボット制御装置2と、センサ4と、オフライン教示装置5と、モニタMN3と、入力装置UI3と、溶接ロボットMC1と、モニタMN2と、を含む。なお、ティーチペンダントTPは必須の構成でなく、省略されてもよい。また、図1では、センサ4は、溶接ロボットMC1と別体として図示されているが、溶接ロボットMC1と一体化されて設けられてもよい(図2参照)。モニタMN2は、必須の構成でなく、省略されてもよい。
【0018】
上位装置1は、ロボット制御装置2を介して溶接ロボットMC1により実行される本溶接の開始および完了を統括して制御する。例えば、上位装置1は、ユーザ(例えば、溶接作業者あるいはシステム管理者。以下同様。)により予め入力あるいは設定された溶接関連情報を外部ストレージSTから読み出し、溶接関連情報を用いて、溶接関連情報の内容を含めた本溶接の実行指令を生成して対応するロボット制御装置2に送信する。上位装置1は、溶接ロボットMC1による本溶接が完了した場合に、溶接ロボットMC1による本溶接が完了した旨の本溶接完了報告をロボット制御装置2から受信し、対応する本溶接が完了した旨のステータスに更新して外部ストレージSTに記録する。
【0019】
なお、上述した本溶接の実行指令は上位装置1により生成されることに限定されず、例えば本溶接が行われる工場等内の設備の操作盤(例えば、PLC(Programmable Logic Controller))、あるいはロボット制御装置2の操作盤(例えば、ティーチペンダントTP)により生成されてもよい。なお、ティーチペンダントTPは、ロボット制御装置2に接続された溶接ロボットMC1を操作するための装置である。
【0020】
ここで、溶接関連情報とは、溶接ロボットMC1により実行される本溶接の内容を示す情報であり、本溶接の工程ごとに予め作成されて外部ストレージSTに登録されている。溶接関連情報は、例えば本溶接に使用される元ワークの数と、本溶接に使用される元ワークのID、元ワークのロット情報、名前および溶接箇所(例えば、溶接線の情報、溶接線の位置情報等)を含むワーク情報と、本溶接が実行される実行予定日と、元ワークの生産台数と、本溶接時の各種の溶接条件と、を含む。なお、溶接関連情報は、上述した項目のデータに限定されず、作成済みの溶接動作プログラムおよびスキャン動作の教示プログラムのそれぞれ(後述参照)、これらの教示プログラムの作成に用いられた溶接動作設定情報、スキャン動作設定情報等の情報をさらに含んでもよい。
【0021】
また、溶接条件は、例えば元ワークの材質および厚み、溶接ワイヤ301の材質およびワイヤ径、シールドガス種、シールドガスの流量、溶接電流の設定平均値、溶接電圧の設定平均値、溶接ワイヤ301の送給速度および送給量、溶接回数、溶接時間等である。また、これらの他に、例えば本溶接の種別(例えばTIG溶接、MAG溶接、パルス溶接)を示す情報、マニピュレータ200の移動速度および移動時間が含まれても構わない。
【0022】
ロボット制御装置2は、上位装置1から送信された本溶接の実行指令に基づいて、その実行指令で指定される元ワークを用いた本溶接の実行を溶接ロボットMC1に開始させる。なお、上述した溶接関連情報は、上位装置1が外部ストレージSTを参照して管理することに限定されず、例えばロボット制御装置2において管理されてもよい。この場合、ロボット制御装置2は本溶接が完了した状態を把握できるので、溶接関連情報のうち溶接工程が実行される予定の実行予定日の代わりに実際の実行日が管理されてよい。なお、本明細書において、本溶接の種類は問わないが、説明を分かり易くするために、複数の元ワークを接合して1つのワークを生産する工程を例示して説明する。
【0023】
上位装置1は、モニタMN1、入力インターフェースUI1および外部ストレージSTのそれぞれとの間でデータの入出力が可能となるように接続され、さらに、ロボット制御装置2との間でデータの通信が可能となるように接続される。上位装置1は、モニタMN1および入力インターフェースUI1を一体に含む端末装置P1でもよく、さらに、外部ストレージSTを一体に含んでもよい。この場合、端末装置P1は、本溶接の実行に先立ってユーザにより使用されるPC(Personal Computer)である。なお、端末装置P1は、上述したPCに限らず、例えばスマートフォン、タブレット端末等の通信機能を有するコンピュータ装置でよい。
【0024】
モニタMN1は、例えばLCD(Liquid Crystal Display)または有機EL(Electroluminescence)等の表示用デバイスを用いて構成されてよい。モニタMN1は、例えば上位装置1から出力された、本溶接が完了した旨の通知を示す画面を表示してよい。また、モニタMN1の代わりに、あるいはモニタMN1とともにスピーカ(図示略)が上位装置1に接続されてもよく、上位装置1は、本溶接が完了した旨の内容の音声を、スピーカを介して出力してもよい。
【0025】
入力インターフェースUI1は、ユーザの入力操作を検出して上位装置1に出力するユーザインターフェースであり、例えば、マウス、キーボードまたはタッチパネル等を用いて構成されてよい。入力インターフェースUI1は、例えばユーザが溶接関連情報を作成する時の入力操作を受け付けたり、ロボット制御装置2への本溶接の実行指令を送信する時の入力操作を受け付けたりする。
【0026】
外部ストレージSTは、例えばハードディスクドライブ(Hard Disk Drive)またはソリッドステートドライブ(Solid State Drive)を用いて構成される。外部ストレージSTは、例えば本溶接ごとに作成された溶接関連情報のデータ、本溶接により生産されたワークWkのステータス(生産状況)、ワークWkのワーク情報(上述参照)を記憶する。なお、外部ストレージSTは、オフライン教示装置5によって作成された溶接動作の教示プログラムと、スキャン動作の教示プログラムとを溶接線ごとに記憶していてもよい。溶接動作およびスキャン動作の教示プログラムのそれぞれについては、後述する。
【0027】
ロボット制御装置2は、上位装置1、およびオフライン教示装置5との間でそれぞれデータの通信が可能に接続されるとともに、溶接ロボットMC1との間でデータの通信が可能に接続される。
【0028】
ロボット制御装置2は、オフライン教示装置5から送信されたスキャン動作の実行指令を受信すると、この実行指令に対応するワークのスキャン動作の教示プログラムに基づいて、スキャンプログラムを作成する。ロボット制御装置2は、作成されたスキャンプログラムに基づいて、溶接ロボットMC1を制御してスキャン動作を実行させる。
【0029】
ロボット制御装置2は、スキャン動作の完了を検出するとスキャン動作が完了した旨の本溶接完了報告を生成してオフライン教示装置5に通知する。これにより、オフライン教示装置5は、ロボット制御装置2によるスキャン動作の完了を適正に検出できる。
【0030】
ロボット制御装置2は、上位装置1から送信された本溶接の実行指令を受信すると、この実行指令に対応する溶接動作の教示プログラムに基づいて、本溶接プログラムを作成し、溶接ロボットMC1を制御して本溶接を実行させる。ロボット制御装置2は、本溶接の完了を検出すると本溶接が完了した旨の本溶接完了報告を生成して上位装置1に通知する。これにより、上位装置1は、ロボット制御装置2による本溶接の完了を適正に検出できる。なお、ロボット制御装置2による本溶接の完了の検出方法は、例えばワイヤ送給装置300が備えるセンサ(図示略)からの本溶接の完了を示す信号に基づいて判別する方法でよく、あるいは公知の方法でもよく、本溶接の完了の検出方法の内容は限定されなくてよい。
【0031】
また、ロボット制御装置2は、上位装置1から送信されたワークWkのスキャン実行指令を受信すると、センサ4が取り付けられた溶接ロボットMC1(図2参照)を制御して、ワークWkと、ワークWkの治具FIXとの外観形状を取得するスキャンを実行する。
【0032】
溶接ロボットMC1は、ロボット制御装置2との間でデータの通信が可能に接続される。溶接ロボットMC1は、対応するロボット制御装置2の制御の下で、上位装置1から指令された本溶接を実行する。また、溶接ロボットMC1は、スキャン動作の教示プログラムに基づいてセンサ4を移動することで、上位装置1から指令された、外観スキャンを実行する。
【0033】
センサ4は、オフライン教示装置5との間でデータの通信が可能に接続される。センサ4は、溶接ロボットMC1に取り付けられ、ロボット制御装置2の制御に基づくマニピュレータ200の駆動に応じて、ワークWk(元ワーク)、またはワークWkを固定する治具FIX(図3参照)の3次元スキャンを実行する。センサ4は、ロボット制御装置2の制御に基づくマニピュレータ200の駆動に応じて、治具FIXに固定設置されたワークWkの3次元形状のデータ、またはワークWkが固定設定された治具FIXの形状、大きさ、位置等を特定可能な3次元形状のデータ(例えば、点群データ、メッシュデータ等)を取得してオフライン教示装置5に送信する。
【0034】
なお、治具FIXは、複数あってよい。また、センサ4は、治具FIXの代わりに、ワークWkおよび治具FIXが載置されたステージ、あるいは搬送装置の形状、大きさ、位置等を特定可能な3次元形状のデータを取得してもよい。
【0035】
モニタMN2は、例えばLCDまたは有機EL等の表示用デバイスを用いて構成されてよい。モニタMN2は、例えばロボット制御装置2から出力された、本溶接が完了した旨の通知等を示す画面を表示する。また、モニタMN2の代わりに、あるいはモニタMN2とともにスピーカ(図示略)がロボット制御装置2に接続されてもよく、ロボット制御装置2は、センサ4によるスキャンが完了した旨の通知、あるいはその通知および結果の内容を示す音声を、スピーカを介して出力してもよい。
【0036】
オフライン教示装置5は、ロボット制御装置2、センサ4、モニタMN3、および入力装置UI3との間でそれぞれデータ通信可能に接続される。オフライン教示装置5は、教示プログラムの作成対象あるいは作成済みのワークWkごとの溶接線の位置情報を設定情報として記憶する。また、オフライン教示装置5は、仮想的な設備(例えば、仮想溶接ロボット、仮想ワーク、仮想ステージ等)を構築し、入力装置UI3から送信された制御指令および各種データ、ティーチペンダントTPからロボット制御装置2を介して送信されたデータ、あるいはロボット制御装置2またはセンサ4から出力された各種データ等に基づいて、ワークWkの溶接動作の教示プログラムとスキャン動作の教示プログラムとをそれぞれ作成あるいは補正する。
【0037】
オフライン教示装置5は、作成あるいは補正された溶接動作の教示プログラムおよびスキャン動作の教示プログラムのそれぞれをロボット制御装置2に送信する。また、オフライン教示装置5は、作成あるいは補正された溶接動作の教示プログラムおよびスキャン動作の教示プログラムのそれぞれをワークWkごとに記憶する。
【0038】
ここでいう溶接線の位置情報は、ワークWkに形成される溶接線の位置を示す情報である。
【0039】
また、ここでいう溶接動作の教示プログラムは、溶接線に基づいて作成され、溶接ロボットMC1に本溶接を実行させるためのプログラムである。溶接動作の教示プログラムは、溶接トーチ400を用いてワークWkを本溶接するための各種動作(例えば、アプローチ、リトラクト、回避、溶接等)を実行するための溶接トーチ400の位置、距離、角度(姿勢)の情報と、溶接条件等の情報と、を含んで作成される。
【0040】
また、ここでいうスキャン動作の教示プログラムは、溶接ロボットMC1のセンサ4にワークWk、ワークWkの治具FIXのスキャンを実行させるための教示プログラムである。スキャン動作の教示プログラムは、センサ4を用いて、ワークWk、ワークWkの治具FIXのスキャンを実行するための各種動作(例えば、アプローチ、リトラクト、回避、スキャン等)を実行するためのセンサ4の位置、距離、角度(姿勢)の情報を含んで作成される。
【0041】
モニタMN3は、例えばLCDまたは有機EL等の表示用デバイスを用いて構成されてよい。モニタMN3は、オフライン教示装置5から送信された仮想的な設備(例えば、仮想溶接ロボット、仮想ワーク、仮想治具等)の画像を表示したり溶接動作の教示プログラムに基づく溶接トーチ400の動作軌跡、スキャン動作の教示プログラムに基づくセンサ4の動作軌跡等を表示したりする。また、モニタMN3は、オフライン教示装置5から送信された仮想的な設備の画像上にセンサ4の動作軌跡あるいは溶接トーチ400の動作軌跡等を重畳した画像を表示する。
【0042】
入力装置UI3は、ユーザの入力操作を検出してオフライン教示装置5に出力するユーザインターフェースであり、例えば、マウス、キーボードまたはタッチパネル等を用いて構成されてよい。入力装置UI3は、スキャン動作および溶接動作の教示プログラムの作成に用いられるワークWkの溶接線の位置情報、溶接設定情報、スキャン設定情報、3Dモデル等の入力操作を受け付けたり、溶接プログラムの教示点の補正(修正)に関するユーザ操作を受け付けたりする。なお、ここでモニタMN3および入力装置UI3は、一体に構成された端末装置P3(例えば、PC、ノートPC、タブレット端末等)であってもよい。
【0043】
ティーチペンダントTPは、溶接ロボットMC1、および溶接ロボットMC1を介してロボット制御装置2との間でデータ送受信可能に接続される。ティーチペンダントTPは、実際の溶接ロボットMC1とワークWkとを用いたユーザ操作によって定義された溶接線の位置情報をロボット制御装置2に送信する。ティーチペンダントTPは、溶接線の位置情報をロボット制御装置2のメモリ22(図2参照)に記憶するとともに、オフライン教示装置5に送信する。
【0044】
図2は、実施の形態に係るロボット制御装置2、上位装置1およびオフライン教示装置5の内部構成例を示す図である。説明を分かり易くするために、図2ではモニタMN1,MN2および入力インターフェースUI1の図示を省略する。なお、図2に示されるワークWkは、スキャンおよび本溶接の対象となるワークである。このワークWkは、本溶接前のワーク(つまり、ワークWkを構成する2以上の元ワーク、あるいは部品等)、本溶接により生産されたワークであってもよいし、リペア溶接により1回以上リペアされた所謂リペアワークであってもよい。
【0045】
溶接ロボットMC1は、ロボット制御装置2の制御の下で、溶接トーチ400を用いた溶接動作の教示プログラムに基づく本溶接工程と、センサ4を用いたスキャン動作の教示プログラムに基づくワークWk,治具FIX等のスキャン工程等を実行する。また、溶接ロボットMC1は、溶接動作プログラムの補正あるいは変更に使用されるワークWk,治具FIX等を取得するために、センサ4を用いたワークWk,治具FIX等のスキャンを実行する。溶接ロボットMC1は、本溶接の工程において、例えばアーク溶接を行う。
【0046】
なお、溶接ロボットMC1は、アーク溶接以外の他の溶接(例えば、レーザ溶接、ガス溶接)等を行ってもよい。この場合、図示は省略するが、溶接トーチ400に代わって、レーザヘッドを、光ファイバを介してレーザ発振器に接続してよい。溶接ロボットMC1は、マニピュレータ200と、ワイヤ送給装置300と、溶接ワイヤ301と、溶接トーチ400とを少なくとも含む構成である。
【0047】
マニピュレータ200は、多関節のアームを備え、ロボット制御装置2のロボット制御部24からの制御信号に基づいて、それぞれのアームを可動させる。これにより、マニピュレータ200は、ワークWkと溶接トーチ400との位置関係(例えば、ワークWkに対する溶接トーチ400の角度)、およびワークWkとセンサ4との位置関係をそれぞれアームの駆動によって変更できる。
【0048】
ワイヤ送給装置300は、ロボット制御装置2から送信された制御信号に基づいて、溶接ワイヤ301の送給速度を制御する。なお、ワイヤ送給装置300は、溶接ワイヤ301の残量を検出可能なセンサ(図示略)を備えてよい。ロボット制御装置2は、このセンサの出力に基づいて、本溶接の工程が完了したことを検出できる。
【0049】
溶接ワイヤ301は、溶接トーチ400に保持されている。溶接トーチ400に電源装置500から電力が供給されることで、溶接ワイヤ301の先端とワークWkとの間にアークが発生し、アーク溶接が行われる。なお、溶接トーチ400にシールドガスを供給するための構成等は、説明の便宜上、これらの図示および説明を省略する。
【0050】
上位装置1は、ユーザにより予め入力あるいは設定された溶接関連情報を用いて、本溶接等の実行指令を生成してロボット制御装置2に送信する。上位装置1は、通信部10と、プロセッサ11と、メモリ12とを少なくとも含む構成である。
【0051】
通信部10は、ロボット制御装置2および外部ストレージSTのそれぞれとの間でデータの通信が可能に接続される。通信部10は、プロセッサ11により生成される本溶接等の実行指令をロボット制御装置2に送信する。通信部10は、ロボット制御装置2から送られる本溶接完了報告等を受信してプロセッサ11に出力する。なお、本溶接の実行指令には、例えば溶接ロボットMC1が備えるマニピュレータ200、ワイヤ送給装置300および電源装置500のそれぞれを制御するための制御信号が含まれてもよい。
【0052】
プロセッサ11は、例えばCPU(Central Processing Unit)またはFPGA(Field Programmable Gate Array)を用いて構成され、メモリ12と協働して、各種の処理および制御を行う。具体的には、プロセッサ11は、メモリ12に保持されたプログラムを参照し、そのプログラムを実行することにより、セル制御部13を機能的に実現する。
【0053】
メモリ12は、例えばプロセッサ11の処理を実行する際に用いられるワークメモリとしてのRAM(Random Access Memory)と、プロセッサ11の処理を規定したプログラムを格納するROM(Read Only Memory)とを有する。RAMには、プロセッサ11により生成あるいは取得されたデータが一時的に保存される。ROMには、プロセッサ11の処理を規定するプログラムが書き込まれている。また、メモリ12は、外部ストレージSTから読み出された溶接関連情報のデータ、ワークのステータス、ロボット制御装置2から送信されたワークWkのワーク情報(後述参照)のデータをそれぞれ記憶する。
【0054】
セル制御部13は、外部ストレージSTに記憶されている溶接関連情報に基づいて、ワークWkへの本溶接を実行するための実行指令を生成する。なお、セル制御部13は、ロボット制御装置2あるいはオフライン教示装置5により作成されたワークWkごとの溶接動作あるいはスキャン動作の教示プログラムを外部ストレージSTに保存してもよい。セル制御部13は、溶接ロボットMC1で実行される本溶接の各種の工程ごとに異なる実行指令を生成してよい。セル制御部13によって生成された本溶接の実行指令は、通信部10を介して、対応するロボット制御装置2にそれぞれに送られる。
【0055】
ロボット制御装置2は、上位装置1から送信された本溶接の実行指令に基づいて、対応する教示プログラムを参照する。ロボット制御装置2は、参照された教示プログラムに基づいて、溶接ロボットMC1(例えば、センサ4、マニピュレータ200、ワイヤ送給装置300、電源装置500)を制御する。ロボット制御装置2は、通信部20と、プロセッサ21と、メモリ22とを少なくとも含む構成である。
【0056】
通信部20は、上位装置1、溶接ロボットMC1、オフライン教示装置5およびティーチペンダントTPとの間でそれぞれデータの通信が可能に接続される。なお、図2では図示を簡略化しているが、ロボット制御部24とマニピュレータ200との間、ロボット制御部24とワイヤ送給装置300との間、ならびに、電源制御部25と電源装置500との間で、それぞれ通信部20を介してデータの送受信が行われる。通信部20は、上位装置1から送信された本溶接の実行指令を受信したり、オフライン教示装置5から送信されたスキャンの実行指令を受信したりする。通信部20は、オフライン教示装置5から送信された溶接線の位置情報と、溶接動作の教示プログラムと、スキャン動作の教示プログラムとを受信する。通信部20は、本溶接により生産されたワークWkのワーク情報を上位装置1に送信する。
【0057】
ここで、ワーク情報には、ワークのIDだけでなく、本溶接に使用される元ワークあるいは構成部品のID、名前、溶接箇所、本溶接の実行時の溶接条件、治具FIXに関する治具情報、位置補正対象であるか否かを示す情報、ワークWkあるいはワークWkの治具FIXに設けられたパターン等の情報が少なくとも含まれる。なお、ワーク情報は、さらにこのワークWkが生産される設備(溶接ロボットMC1,治具FIX等)に関する情報、設備の位置情報等を含んでもよい。
【0058】
治具情報は、ワークWkを固定する少なくとも1つの治具FIXのID、名前、位置等の情報を少なくとも含み、さらに、治具FIXの向き(角度)、位置等を計測するためのパターンの位置情報を含んでもよい。なお、パターンは、ワークWkあるいは治具FIXの向き(角度)、位置等を計測可能なマーカ、目印等であればよい。
【0059】
プロセッサ21は、例えばCPUまたはFPGAを用いて構成され、メモリ22と協働して、各種の処理および制御を行う。具体的には、プロセッサ21は、メモリ22に保持されたプログラムを参照し、そのプログラムを実行することにより、本溶接プログラム作成部23、ロボット制御部24および電源制御部25を機能的に実現する。また、プロセッサ21は、本溶接プログラム作成部23により生成された本溶接プログラムに基づいて、ロボット制御部24により制御される溶接ロボットMC1(具体的には、マニピュレータ200、ワイヤ送給装置300および電源装置500のそれぞれ)を制御するためのパラメータの演算等を行う。
【0060】
メモリ22は、例えばプロセッサ21の処理を実行する際に用いられるワークメモリとしてのRAMと、プロセッサ21の処理を規定したプログラムを格納するROMとを有する。RAMには、プロセッサ21により生成あるいは取得されたデータが一時的に保存される。ROMには、プロセッサ21の処理を規定するプログラムが書き込まれている。
【0061】
メモリ22は、本溶接、あるいはスキャンの実行指令のデータ、本溶接により生産されるワークWkのワーク情報および治具FIXの治具情報と、溶接線の位置情報とを対応付けた溶接関連情報、ティーチペンダントTPから送信された溶接線の位置情報等をそれぞれ記憶する。また、メモリ22は、オフライン教示装置5から送信された溶接動作およびスキャン動作の教示プログラム、本溶接プログラム作成部23により作成された溶接動作およびスキャン動作の教示プログラムを、ワークWkごとに記憶する。
【0062】
なお、溶接動作およびスキャン動作の教示プログラムに含まれる教示点の位置は、溶接ロボットMC1の溶接ロボット座標系ΣWを基準とする位置、つまり溶接ロボットMC1に対する相対位置として作成され、記録される。
【0063】
なお、オフライン教示装置5から溶接動作およびスキャン動作のそれぞれの教示プログラムが送信されたワークWkのワーク情報を含む溶接関連情報は、溶接動作およびスキャン動作のそれぞれの教示プログラムと、溶接動作およびスキャン動作のそれぞれの教示プログラムの作成に用いられた溶接線の位置情報と、溶接動作設定情報と、スキャン動作設定情報と、を含んでいてよい。
【0064】
本溶接プログラム作成部23は、上位装置1から送信された本溶接の実行指令に基づいて、実行指令に含まれる複数の元ワークのそれぞれのワーク情報(例えばワークのID、名前、構成部品の情報、溶接線の位置情報等)と、これらのワーク情報に関連付けられた溶接動作の教示プログラムとを用いて、溶接ロボットMC1により実行される本溶接の本溶接プログラムを作成する。本溶接プログラムには、本溶接の実行中に電源装置500、マニピュレータ200、ワイヤ送給装置300、溶接トーチ400等を制御するための、溶接電流、溶接電圧、オフセット量、溶接速度、溶接トーチ400の姿勢等の各種のパラメータが含まれてよい。なお、本溶接プログラムは、プロセッサ21内に記憶されてもよいし、メモリ22内のRAMに記憶されてもよい。
【0065】
ロボット制御部24は、本溶接プログラム作成部23により生成された本溶接プログラムに基づいて、溶接ロボットMC1(具体的には、センサ4、マニピュレータ200、ワイヤ送給装置300および電源装置500のそれぞれ)を駆動させるための制御信号を生成する。ロボット制御部24は、この生成された制御信号を溶接ロボットMC1に送信する。
【0066】
また、ロボット制御部24は、オフライン教示装置5から送信されたスキャン動作の教示プログラムに基づいて、溶接ロボットMC1のマニピュレータ200およびセンサ4のそれぞれを駆動させる。これにより、溶接ロボットMC1に取り付けられたセンサ4は、溶接ロボットMC1の動作に伴って移動し、生産前(つまり、本溶接(加工)前)のワークWkあるいはワークWkの治具FIXをスキャンすることで、ワークWkあるいはワークWkの治具FIX形状に関する入力データ(例えば溶接ビードの3次元形状を特定可能な点群データ)を取得し、オフライン教示装置5に送信する。
【0067】
電源制御部25は、本溶接プログラム作成部23により生成された本溶接プログラムの演算結果に基づいて、電源装置500を駆動させる。
【0068】
センサ4は、例えば3次元形状センサであり、溶接ロボットMC1の先端に取り付けられ、ワークWk、ワークWkの治具FIX、あるいはワークWk上の溶接箇所の形状を特定可能な複数の点群データを取得する。センサ4は、取得された点群データに基づいて、生産前(つまり、本溶接(加工)前)のワークWk、ワークWkの治具FIXの3次元形状を特定可能な点群データを生成してオフライン教示装置5に送信する。
【0069】
なお、センサ4は、溶接ロボットMC1の先端に取り付けられておらず、溶接ロボットMC1とは別個に配置されている場合には、ロボット制御装置2あるいはオフライン教示装置5から送信された実行指令に基づいて、ワークWkあるいは治具FIX走査可能に構成されたレーザ光源(図示略)と、ワークWkあるいは治具FIXの周辺を含む撮像領域を撮像可能に配置され、ワークWkあるいは治具FIXに照射されたレーザ光のうち反射されたレーザ光の反射軌跡(つまり、溶接箇所の形状線)を撮像するカメラ(図示略)と、により構成されてよい。
【0070】
このような場合、センサ4は、カメラにより撮像されたレーザ光に基づくワークWkあるいは溶接箇所の形状データ(言い換えると、ワークWkあるいは溶接ビードの画像データ)をオフライン教示装置5に送信する。なお、上述したカメラは、少なくともレンズ(図示略)とイメージセンサ(図示略)とを有して構成される。イメージセンサは、例えばCCD(Charge Coupled Device)またはCMOS(Complementary Metal Oxide Semi-conductor)等の固体撮像素子であり、撮像面に結像した光学像を電気信号に変換する。
【0071】
オフライン教示装置5は、ロボット制御装置2、センサ4、モニタMN3、および入力装置UI3との間でそれぞれデータ通信可能に接続される。オフライン教示装置5は、入力装置UI3から送信されたユーザ操作、溶接線の位置情報、溶接動作設定情報、スキャン動作設定情報等の各種データ、またはティーチペンダントTPからロボット制御装置2を介して送信されたワークWk,ワークWkの治具FIXの3次元形状のデータ、溶接線の位置情報等を取得する。オフライン教示装置5は、取得されたこれらの各種情報に基づいて、ワークWkの溶接動作の教示プログラムに含まれる教示点の位置を補正して教示点の位置情報を作成したり、補正された教示点の位置情報に基づいて、溶接動作の教示プログラムを補正したりする。オフライン教示装置5は、通信部50と、プロセッサ51と、メモリ52と、入出力部53と、を含んで構成される。
【0072】
通信部50は、ロボット制御装置2、センサ4、入力装置UI3、およびモニタMN3との間でそれぞれデータの通信が可能に接続される。通信部50は、作成された溶接動作およびスキャン動作のそれぞれの教示プログラムと、溶接動作およびスキャン動作の教示プログラムのそれぞれの作成に用いられた各種データ(例えば、溶接線の位置情報、溶接動作設定情報、スキャン動作設定情報、ワークWkのワーク情報、ワークWkの治具FIXの情報等)とを関連付けて、ロボット制御装置2に送信する。
【0073】
プロセッサ51は、例えばCPUまたはFPGAを用いて構成され、メモリ52と協働して、各種の処理および制御を行う。具体的には、プロセッサ51は、メモリ52に保持されたプログラムを参照し、そのプログラムを実行することにより、3D演算部54およびプログラム作成部55を機能的に実現する。プロセッサ51は、入力装置UI3から送信されたユーザ操作に基づく制御指令を取得する。プロセッサ51は、取得された制御指令に基づいて、プログラム作成部55に溶接動作あるいはスキャン動作等の教示プログラムを作成したり、溶接動作あるいはスキャン動作等の教示プログラムの補正を実行させたりする。
【0074】
メモリ52は、例えばプロセッサ51の処理を実行する際に用いられるワークメモリとしてのRAMと、プロセッサ51の処理を規定したプログラムを格納するROMとを有する。RAMには、プロセッサ51により生成あるいは取得されたデータが一時的に保存される。ROMには、プロセッサ51の処理を規定するプログラムが書き込まれている。また、メモリ52は、プログラム作成部55により作成された溶接動作の教示プログラムと、スキャン動作の教示プログラムと、ワーク情報と、治具情報とを関連付けて記憶する。
【0075】
なお、溶接動作およびスキャン動作の教示プログラムに含まれる教示点の位置は、溶接ロボットMC1の溶接ロボット座標系ΣWを基準とする位置、つまり溶接ロボットMC1に対する相対位置として作成され、記録される。
【0076】
入出力部53は、入力装置UI3から送信されたユーザ操作に基づく入力操作あるいは実行指令、ワークWkの3Dモデル、溶接動作設定情報およびスキャン動作設定情報のそれぞれ、センサ4により取得されたワークWkあるいはワークWkを固定する治具FIXの位置情報あるいは3次元形状データ、入力装置UI3あるいはロボット制御装置2から送信された溶接線の位置情報等を取得して、プロセッサ51に出力する。また、入出力部53は、3D演算部54により生成された仮想的な設備(例えば、仮想溶接ロボット、仮想ワーク、仮想ステージ等)の画像、オフライン教示装置5から送信された仮想的な設備の画像上にセンサ4の動作軌跡あるいは溶接トーチ400の動作軌跡等を重畳した画像をモニタMN3に送信する。
【0077】
3D演算部54は、例えば、ワークWk、あるいは治具FIXの形状に関する入力データ(つまり、3次元形状のデータ)、ワークWkの3Dモデルのデータ、ワークWkのワーク情報、治具FIXの治具情報、設備に関するデータ(例えば、溶接ロボットMC1を基準とする治具FIXの位置情報、溶接ロボットMC1のロボット情報あるいは位置情報)等に基づいて、ワークWkの本溶接工程およびスキャン工程のそれぞれを実行するために必要な設備を仮想的に構成する。3D演算部54は、仮想的に構成された設備のデータを画像データに変換して入出力部53に出力し、モニタMN3に表示させる。
【0078】
また、3D演算部54は、プログラム作成部55により作成された溶接動作の教示プログラムに含まれる1つ以上の教示点、溶接トーチ400の動作軌跡(具体的には、空走区間、溶接区間等)等を仮想的に設備上に重畳した画像データを生成する。3D演算部54は、プログラム作成部55により作成されたスキャン動作の教示プログラムに含まれる1つ以上の教示点、センサ4の動作軌跡(具体的には、空走区間、スキャン区間等)等を仮想的に設備上に重畳した画像データを生成する。
【0079】
3D演算部54は、各種教示プログラムに含まれるデータが重畳された仮想的な設備のデータを画像データに変換して入出力部53に出力し、モニタMN3に表示させる。なお、3D演算部54は、溶接動作およびスキャン動作の教示プログラムのそれぞれに基づいて、溶接動作およびスキャン動作のそれぞれの教示点、溶接トーチ400およびセンサ4の動作軌跡(具体的には、空走区間、溶接区間、スキャン区間等)等をまとめて仮想的な設備上に重畳した画像データを生成してもよい。
【0080】
プログラム作成部55は、溶接線の位置情報(例えば、ワークWkあるいは治具FIXの3Dモデルのデータ、ワークWkあるいは治具FIXの形状に関する入力データ、溶接線の開始点および終了点のそれぞれの座標情報)と、溶接動作設定情報と、スキャン動作設定情報と、に基づいて、溶接動作の教示プログラムおよびスキャン動作のそれぞれの教示プログラムを作成または補正する。プログラム作成部55は、溶接動作作成部551と、スキャン動作作成部552とを含んで構成される。
【0081】
溶接動作作成部551は、入力された溶接線の位置情報と、溶接動作設定情報とに基づいて、ワークWkに本溶接工程を実行するための溶接動作の教示プログラムを作成する。なお、溶接動作の教示プログラムは、溶接ロボットMC1の溶接ロボット座標系ΣW(図3参照)を基準に作成される。また、ここでいう溶接動作設定情報は、本溶接の各種溶接条件、溶接開始前および溶接終了後のそれぞれの溶接トーチ400の退避位置等の溶接動作に必要な各種パラメータ群であればよい。
【0082】
スキャン動作作成部552は、入力された溶接線の位置情報と、スキャン動作設定情報とに基づいて、ワークWk、あるいはワークWkの治具FIXのスキャン工程を実行するためのスキャン動作の教示プログラムを作成する。なお、スキャン動作の教示プログラムは、溶接ロボットMC1の溶接ロボット座標系ΣW(図3参照)を基準に作成される。また、ここでいうスキャン動作設定情報は、センサ4とワークWkとの間の距離、測定レンジ、スキャンの助走区間等の溶接ビードのスキャン動作に必要な各種パラメータ群であればよい。
【0083】
図3を参照して、溶接ロボットMC1の座標系(溶接ロボット座標系ΣW)について説明する。図3は、溶接ロボット座標系ΣWを説明する図である。なお、図3に示す溶接ロボット座標系ΣWは一例であって、これに限定されないことは言うまでもない。
【0084】
溶接ロボットMC1と、ワークWkあるいはワークWkの治具FIXとの間の相対位置関係は、溶接ロボットMC1に対して設定された溶接ロボット座標系ΣWを利用して定義される。図3に示す溶接ロボット座標系ΣWは、溶接ロボットMC1の座標系である。
【0085】
次に、図4および図5を参照して、教示プログラムの補正が実行される位置ずれの形態について説明する。図4は、ワークWkの位置ずれの形態例を説明する図である。図5は、教示プログラムの補正タイミング例を説明する図である。なお、図4に示す位置ずれの形態、および位置ずれの形態の分類は、一例であってこれに限定されない。また、図5に示す教示プログラムの補正タイミング例は、一例であってこれに限定されない。
【0086】
本実施の形態で説明する位置ずれは、ワークWkの位置ずれの大きさ、位置ずれが生じる対象物、位置ずれ量の変化頻度等によりそれぞれ異なる形態に分類される。なお、ここでいう位置ずれ量の変化頻度は、位置ずれ量が変化する頻度であって、つまり、位置ずれ量の各形態の発生頻度である。以降、一例として溶接動作の教示プログラムの補正(変更)例について説明する。なお、位置ずれの形態の判定は、オフライン教示装置5のプロセッサ51により実行される。
【0087】
位置ずれの形態(1)は、例えば、溶接ロボットMC1,ワークWkの治具FIX等の設備の移設,新設,増設等によって既存の設備のレイアウト変更等が原因で生じる位置ずれの形態である。
【0088】
位置ずれの形態(1)は、既存の設備のレイアウト変更が行われるタイミングで生じる位置ずれの形態であるため、溶接ロボットMC1に対して、対象物である治具FIXを含むワークWk全体の相対位置が大きくずれる。また、位置ずれの形態(1)は、位置ずれ量の変化頻度(つまり、既存の設備のレイアウト変更頻度)が低いが、ワークWk全体の位置が大きくずれる。よって、オフライン教示装置5は、位置ずれの形態(1)に対応する位置ずれが生じた場合、変更後の設備のレイアウトに対応する溶接動作の教示プログラムの補正(変更)を実行する。補正された溶接動作の教示プログラムは、再度、設備のレイアウトが変更されるまでの間(例えば、期間t11,t21)で行われるワークWkの加工(本溶接)で使用され続ける。
【0089】
例えば、オフライン教示装置5は、既存の設備がレイアウト変更されたタイミングで溶接動作の教示プログラムの補正(変更)を実行する。溶接ロボットMC1は、既存の設備がレイアウト変更されたタイミングから次にレイアウト変更されるタイミングまで期間t11の間、補正(変更)された溶接動作の教示プログラムを用いた本溶接を実行する。オフライン教示装置5は、既存の設備が再度レイアウト変更されたタイミングで溶接動作の教示プログラムの補正(変更)を実行する。溶接ロボットMC1は、既存の設備がレイアウト変更されたタイミングから次にレイアウト変更されるタイミングまで期間t21の間、補正(変更)された溶接動作の教示プログラムを用いた本溶接を実行する。
【0090】
以上のように、オフライン教示装置5は、既存の設備がレイアウト変更されたタイミングで溶接動作の教示プログラムの補正(変更)を実行する。溶接ロボットMC1は、同一の設備のレイアウトでワークWkの本溶接工程の実行している間、補正(変更)された溶接動作の教示プログラムを用いた本溶接を実行する。
【0091】
位置ずれの形態(2)は、例えば、ワークWkの加工条件の変更あるいは、ワークWkの構成部品(例えば、元ワーク,部品)等のロットの切り替え等が原因で生じる位置ずれの形態である。
【0092】
位置ずれの形態(2)は、ワークWkの加工条件の変更あるいは、ワークWkの構成部品(例えば、元ワーク,部品)等のロットの切り替えが行われるタイミングで生じる位置ずれの形態であるため、変更される加工条件、あるいは切り替え対象であるロットに対応するワークWkの構成部品の位置がずれる。また、位置ずれの形態(2)は、位置ずれ量の変化頻度(つまり、ワークWkの加工条件の変更頻度、ワークWkの構成部品のロットの切り替え頻度)が任意のタイミングで、ワークWkの構成部品の位置がずれる。よって、オフライン教示装置5は、位置ずれの形態(2)に対応する位置ずれが生じる場合、溶接動作の教示プログラムの補正(変更)を実行する。補正された溶接動作の教示プログラムは、再度、ワークWkの加工条件、あるいは構成部品のロットの切り替えが発生するまでの間(例えば、期間t12,t14,t16,t22)で行われるワークWkの加工(本溶接)で使用され続ける。
【0093】
なお、オフライン教示装置5は、設備のレイアウト変更時に作成(補正)された溶接動作の教示プログラムを用いて、ワークWkの加工条件、あるいは構成部品のロットの切り替えに対応した溶接動作の教示プログラムの補正を実行してもよい。
【0094】
また、オフライン教示装置5は、ワークWkの加工条件、あるいは構成部品のロットの切り替え前(例えば、初回ロット)に作成(補正)された溶接動作の教示プログラムを用いて、次のワークWkの加工条件、あるいは構成部品のロットの切り替えに対応した溶接動作の教示プログラムの補正を実行してもよい。具体的に、オフライン教示装置5は、初回ロットに対応して作成(補正)された溶接動作の教示プログラムを用いて、第3ロットの溶接動作の教示プログラムの補正を実行してもよいし、第2ロットに対応して作成(補正)された溶接動作の教示プログラムを用いて、第3ロットの溶接動作の教示プログラムの補正を実行してもよい。
【0095】
例えば、オフライン教示装置5は、初回ロットの構成部品を用いてワークWkの本溶接工程の実行を開始するタイミングで、溶接動作の教示プログラムの恒久的な補正(変更)を実行する。オフライン教示装置5は、初回ロットの構成部品を用いたワークWkの本溶接工程の実行を開始したタイミングから、この初回ロットの構成部品を用いたワークWkを本溶接が終了するまでの間(期間t12)、補正(変更)された溶接動作の教示プログラムを用いた本溶接を実行する。オフライン教示装置5は、構成部品のロットが初回ロットから第2ロットに変更されるタイミングで、溶接動作の教示プログラムの恒久的な補正(変更)を実行する。溶接ロボットMC1は、第2ロットの構成部品を用いたワークWkの本溶接工程の実行を開始したタイミングから、この第2ロットの構成部品を用いたワークWkを本溶接が終了するまでの間(期間t14)、補正(変更)された溶接動作の教示プログラムを用いた本溶接を実行する。
【0096】
以上のように、オフライン教示装置5は、ワークWkの加工条件の変更、あるいは構成部品のロットの切り替えタイミングで溶接動作の教示プログラムの恒久的な補正(変更)を実行する。溶接ロボットMC1は、同一ロットの構成部品を用いてワークWkの本溶接工程の実行している間、補正(変更)された溶接動作の教示プログラムを用いた本溶接を実行する。
【0097】
位置ずれの形態(3)は、例えば、ワークWkを構成する構成部品の加工精度、個体差等が原因で生じる位置ずれの形態である。
【0098】
位置ずれの形態(3)は、ワークWkを構成する構成部品の加工精度、個体差等で生じる位置ずれの形態であるため、構成部品のそれぞれの位置がランダムにずれる。また、位置ずれの形態(3)は、位置ずれ量の変化頻度がワークWkごと(つまり、頻繁)となり、ワークWkの構成部品のそれぞれの位置がずれる。よって、オフライン教示装置5は、溶接動作の教示プログラムに含まれる教示点の一時的な位置補正(変更)をワークWkごとに実行する。
【0099】
なお、オフライン教示装置5は、設備のレイアウト変更時に作成(補正)された溶接動作の教示プログラムを用いて、ワークWkの加工条件、あるいは構成部品のロットの切り替えに対応した溶接動作の教示プログラムの補正を実行してもよい。また、オフライン教示装置5は、加工対象であるワークWkの加工条件、あるいは構成部品のロットに対応する溶接動作の教示プログラムを用いて、次に加工されるワークWkの個体差に対応した溶接動作の教示プログラムの補正を実行してもよい。
【0100】
例えば、オフライン教示装置5は、初回ロットの構成部品を用いた1台目のワークWkの本溶接工程の実行を開始する前のタイミングで、この1台目のワークWkの本溶接工程に用いられる溶接動作の教示プログラムを取得あるいは作成する。オフライン教示装置5は、取得あるいは作成された溶接動作の教示プログラムに含まれる教示点の一時的な位置補正(変更)を実行し、1台目のワークWkの本溶接工程(つまり期間t131)で用いられる溶接動作の教示プログラムを作成する。溶接ロボットMC1は、作成された溶接動作の教示プログラムを用いて、1台目のワークWkの本溶接工程を実行する。
【0101】
溶接システム100は、オフライン教示装置5による本溶接工程が実行される2台目のワークWk,3台目のワークWkでも同様に、各ワークWkの本溶接により適した溶接動作の教示プログラムに含まれる教示点の一時的な位置補正(変更)と、溶接ロボットMC1による補正(変更)された溶接動作の教示プログラムを用いたワークWkの本溶接工程の実行とを繰り返す。
【0102】
以上のように、オフライン教示装置5は、ワークWkごとに実行される本溶接工程で溶接動作の教示プログラムの一時的な位置補正(変更)を実行する。溶接ロボットMC1は、補正(変更)された溶接動作の教示プログラムを用いたワークWkの本溶接を実行する。
【0103】
なお、上述した位置ずれの形態(1),(2)において、オフライン教示装置5は、補正(変更)前後の溶接動作の教示プログラムをそれぞれメモリ22に記録してもよいし、補正(変更)前の溶接動作の教示プログラムを補正(変更)後の溶接動作の教示プログラムで上書きすることでメモリ22に記録してもよい。
【0104】
次に、図6を参照して、オフライン教示装置5の動作手順について説明する。図6は、実施の形態におけるオフライン教示装置5の動作手順例を説明するフローチャートである。
【0105】
オフライン教示装置5は、入力装置UI3から出力されたユーザ操作(制御指令)、あるいは生産に関するデータ(例えば、設備に関する情報、ワークWkのワーク情報、ワークWkの治具情報等)に基づいて、既存の設備に変更があるか否かを判定する(St11)。なお、ここでいう設備は、ワークWkの本溶接を行う各種設備(例えば、溶接ロボットMC1、治具FIX等)を示す。また、設備の変更は、設備の移設、増設、新設、各種設備のレイアウト変更等を含む。
【0106】
オフライン教示装置5は、ステップSt11の処理において、既存の設備に変更があると判定した場合(St11,YES)、ワークWk全体に位置ずれが生じると判定し、ワークWk全体(つまり、ワークWkを構成する構成部品(元ワーク、部品等)、ワークWkの治具FIX等)を位置ずれ対象とした溶接動作の教示プログラムの補正を実行する(St100)。ここで、設備の変更に基づく位置ずれの形態は、図4に示す位置ずれの形態(1)である。
【0107】
一方、オフライン教示装置5は、ステップSt11の処理において、既存の設備に変更がないと判定した場合(St11,NO)、入力装置UI3から出力されたユーザ操作(制御指令)、あるいは生産に関するデータに基づいて、ワークWkの加工条件に変更があるか否かを判定する(St12)。なお、ステップSt12の処理において、オフライン教示装置5は、入力装置UI3から出力されたユーザ操作に基づく制御指令に基づいて、ワークWkの構成部品(例えば、元ワーク,部品)等のロットの切り替えがあるか否かを判定してもよい。
【0108】
オフライン教示装置5は、ステップSt12の処理において、ワークWkの加工条件に変更があると判定した場合(St12,YES)、変更があるワークWkの加工条件に対応するワークWkの構成部品に位置ずれが生じると判定する。オフライン教示装置5は、加工条件に対応するワークWkの構成部品の位置ずれ対象とした溶接動作の教示プログラムの補正を実行する(St200A)。
【0109】
なお、ステップSt200Aにおいて、オフライン教示装置5は、ロットの切り替えがあると判定した場合、ロットの切り替え対象であるワークWkの構成部品の位置ずれ対象とした溶接動作の教示プログラムの補正を実行してもよい。ここで、ワークWkの加工条件、ワークWkの構成部品のロット切り替えに基づく位置ずれの形態は、図4に示す位置ずれの形態(2)である。
【0110】
一方、オフライン教示装置5は、ステップSt12の処理において、ワークWkの加工条件に変更がないと判定した場合(St12,NO)、次の本溶接対象であるワークWkが位置補正対象として設定されているか否かを判定する(St13)。なお、オフライン教示装置5は、ステップSt13の処理で、入力装置UI3を介してワークWkが位置補正対象であるか否かのユーザ操作を受け付け、受け付けられたユーザ操作に基づいて、ワークWkが位置補正対象であるか否かを判定してもよい。
【0111】
オフライン教示装置5は、ステップSt13の処理において、次の本溶接対象であるワークWkが位置補正対象として設定されていると判定した場合(St13,YES)、次の本溶接対象であるワークWkの位置ずれを計測し、計測された位置ずれに基づく溶接線の個体差補正を実行する(St200B)。ここで、位置補正対象に設定されたワークWkの位置ずれの形態は、図4に示す位置ずれの形態(3)である。
【0112】
オフライン教示装置5は、溶接線の個体差補正を実行して、ワークWkの本溶接工程で使用される一時的な位置情報を生成する。オフライン教示装置5は、生成された一時的な位置情報をロボット制御装置2に送信し、ワークWkの加工(本溶接)を実行させる(St15)。
【0113】
一方、オフライン教示装置5は、ステップSt13の処理において、次の本溶接対象であるワークWkが位置補正対象として設定されていないと判定した場合(St13,NO)、作成済みのワークWkの溶接動作の教示プログラムをロボット制御装置2に送信し、ワークWkの加工(本溶接)を実行させる(St14)。
【0114】
以上により、実施の形態におけるオフライン教示装置5は、ワークWkの位置ずれ形態に対応して溶接動作の教示プログラムを補正できる。これにより、オフライン教示装置5は、位置ずれ形態に適した溶接動作の教示プログラムの補正と、溶接動作の教示プログラムの補正の効率化とを実現できる。
【0115】
次に、図7を参照して、位置ずれ形態(1)におけるオフライン教示装置5の動作手順について説明する。図7は、オフライン教示装置5による教示プログラムの第1補正手順例を説明するフローチャートである。ここでいう第1補正手順は、位置ずれ形態(1)に対応する溶接動作の教示プログラムの補正手順であって、ワークWk全体の溶接動作の教示プログラムの補正が必要となる場合の溶接動作の教示プログラムの補正手順を示す。
【0116】
オフライン教示装置5は、入力装置UI3から出力されたユーザ操作(制御指令)、あるいは生産に関するデータに基づいて、既存の設備に変更があるか否かを判定する(St11)。
【0117】
オフライン教示装置5は、ステップSt11の処理において、既存の設備に変更があると判定した場合(St11,YES)、ワーク情報,治具情報等に基づいて、ワークWkと、ワークWkを固定する治具FIXとをスキャンさせる制御指令を生成して、ロボット制御装置2に送信する。
【0118】
ロボット制御装置2は、オフライン教示装置5から送信された制御指令を取得し、制御指令により指定され、事前に記録されたワークWkに対応するスキャン動作の教示プログラムに基づいて、溶接ロボットMC1のセンサ4を駆動させる。センサ4は、ワークWkと、ワークWkを固定する治具FIXとをスキャンし、ワークWkと治具FIXとのスキャン結果である3次元形状データをオフライン教示装置5に送信する。
【0119】
オフライン教示装置5は、センサ4から送信された3次元形状データ(スキャン結果)に基づいて、ワークWkあるいは治具FIX上のいずれかに設けられたパターンを検出する。ここで、検出されるパターンは、ワークWkの構成部品(例えば、元ワーク、部品等)上、あるいは治具FIX上の所定の位置に設けられた目印,マーカ,任意の穴,構成部品のエッジ等である。オフライン教示装置5は、検出されたパターンの位置,向き(角度)を計測する(St101)。なお、ここでいう向き(角度)は、溶接ロボット座標系ΣWを基準とする角度である。
【0120】
オフライン教示装置5は、計測されたパターン,マーカの位置と、ワーク情報あるいは治具情報に含まれるパターンの位置とを比較し、パターンが正常に検出されたか否かを判定する(St102)。ここでいう「正常」は、パターンが検出されたことを示してもよいし、検出されたパターンが検出対象のパターンである確からしさが所定値以上であることを示してもよい。
【0121】
オフライン教示装置5は、ステップSt102の処理において、パターンが正常に検出されたと判定した場合(St102,YES)、計測されたパターンの位置と、初期状態のパターンの位置とに基づいて、計測されたパターンの位置ずれ量および向き(位置ずれ角度)のそれぞれを算出する(St103)。なお、ここでいう初期状態のパターンの位置は、ワークWkのワーク情報、あるいは治具FIXの治具情報に記憶されたパターンの位置情報,角度情報である。
【0122】
一方、オフライン教示装置5は、ステップSt102の処理において、パターンが正常に検出されないと判定した場合(St102,NO)、ワークWkのパターンの計測条件を修正する(St105)。ここでいうパターンの計測条件は、ワークWkあるいは治具FIXに設けられたパターンをスキャンし、パターンの位置,向き等を計測するための条件であって、センサ4のスキャン速度,分解能,光学センサのフィルタリング強度,ノイズ除去レベル,周波数帯域,フィルタリング(ローパスフィルタ,ハイパスフィルタの有効化/無効化),スムージング等の条件である。
【0123】
オフライン教示装置5は、修正後のパターンの計測条件と、ワークWkと、ワークWkを固定する治具FIXとを再度スキャンさせる制御指令を生成して、ロボット制御装置2に送信する(St101)。
【0124】
オフライン教示装置5は、算出されたパターンの位置ずれ量および向き(位置ずれ角度)のそれぞれに基づいて、このワークWkに対応する溶接動作の教示プログラムに含まれるすべての教示点のそれぞれの位置情報,角度情報を、算出されたパターンの位置ずれ量および向き(位置ずれ角度)のそれぞれを打ち消すように変更することで、溶接動作の教示プログラムの補正を実行する(St104)。オフライン教示装置5は、補正前の溶接動作の教示プログラムを、補正された溶接動作の教示プログラムに恒久的に変更する(St104)。オフライン教示装置5は、補正後の溶接動作の教示プログラムをメモリ52に記憶するとともに、ロボット制御装置2に送信して記憶させる。なお、ここでいう「恒久的」は、ステップSt104の処理が完了したタイミングから恒久的に変更される教示プログラムが再度作成されるタイミングまでの間の期間を示す。
【0125】
なお、オフライン教示装置5は、溶接動作の教示プログラムだけでなく、同様にスキャン動作の教示プログラムを補正してもよい。オフライン教示装置5は、スキャン動作の教示プログラムを補正した場合、補正後の溶接動作の教示プログラムをメモリ52に記憶するとともに、ロボット制御装置2に送信して記憶させる。
【0126】
以上により、実施の形態におけるオフライン教示装置5は、設備のレイアウト変更等によりワークWk全体に位置ずれが生じる場合(つまり、位置ずれ形態(1)に対応する位置ずれである場合)には、初期状態のパターンの位置,角度と、設備変更後のパターンの位置,角度との位置差分,角度差分のそれぞれを算出する。これにより、オフライン教示装置5は、溶接動作の教示プログラムに含まれるすべての教示点の位置,角度を一括で補正することができる。つまり、オフライン教示装置5は、溶接動作の教示プログラムのより効率的な補正を実現できる。
【0127】
また、オフライン教示装置5は、設備のレイアウト等の発生頻度が低い位置ずれが生じる場合(つまり、位置ずれ形態(1)に対応する位置ずれである場合)には、設備のレイアウトが再度変更されるまでの間(例えば、図5に示す期間t11,t21)、補正後の溶接動作の教示プログラムを使用し続ける。これにより、オフライン教示装置5は、溶接動作の教示プログラムの補正頻度、あるいは補正量の増加をより効果的に抑制できる。
【0128】
次に、図8を参照して、位置ずれ形態(2)におけるオフライン教示装置5の動作手順について説明する。図8は、オフライン教示装置5による教示プログラムの第2補正手順例を説明するフローチャートである。ここでいう第2補正手順は、位置ずれ形態(2)に対応する溶接動作の教示プログラムの補正手順であって、ワークWkの溶接線ごとに溶接動作の教示プログラムの補正が必要となる場合の溶接動作の教示プログラムの補正手順を示す。
【0129】
オフライン教示装置5は、ステップSt12の処理において、入力装置UI3から出力されたユーザ操作(制御指令)、あるいは生産に関するデータに基づいて、ワークWkの加工条件、ワークWkの構成部品(例えば、元ワーク,部品)等のロットの切り替えがあると判定した場合(St12,YES)、変更があるワークWkの加工条件に対応するワークWkの構成部品に位置ずれ形態(2)の位置ずれが生じると判定する。オフライン教示装置5は、ワークWkのワーク情報に含まれる溶接線の位置情報を取得する。オフライン教示装置5は、溶接線の位置情報に基づいて、溶接線と、この溶接線の近傍を含むワークWkの構成部品とをスキャンさせる制御指令を生成して、ロボット制御装置2に送信する。
【0130】
ロボット制御装置2は、オフライン教示装置5から送信された制御指令を取得し、制御指令により指定され、事前に記録されたワークWkに対応するスキャン動作の教示プログラムに基づいて、溶接ロボットMC1のセンサ4を駆動させる。センサ4は、溶接線と、溶接線の近傍を含むワークWkの構成部品とをスキャンし、スキャン結果である3次元形状データをオフライン教示装置5に送信する。
【0131】
オフライン教示装置5は、センサ4から送信された3次元形状データ(スキャン結果)に基づいて、ワークWkの構成部品の特徴点(例えば、構成部品の穴,エッジ等)の位置,向き(角度)を計測する(St201)。なお、ここでいう向き(角度)は、溶接ロボット座標系ΣWを基準とする角度である。
【0132】
オフライン教示装置5は、計測された特徴点の位置と、ワーク情報あるいは治具情報に含まれる特徴点の位置とを比較し、特徴点が正常に検出されたか否かを判定する(St202)。ここでいう「正常」は、特徴点が検出されたことを示してもよいし、検出された特徴点が検出対象の特徴点である確からしさが所定値以上であることを示してもよい。
【0133】
オフライン教示装置5は、ステップSt202の処理において、特徴量が正常に検出されたと判定した場合(St202,YES)、計測された特徴量の位置と、初期状態の特徴量の位置とに基づいて、計測された特徴量の位置ずれ量および向き(位置ずれ角度)のそれぞれを算出する(St203)。なお、ここでいう初期状態の特徴量の位置は、ワークWkのワーク情報、あるいは治具FIXの治具情報に記憶された特徴点の位置情報,角度情報である。
【0134】
一方、オフライン教示装置5は、ステップSt202の処理において、特徴点が正常に検出されないと判定した場合(St202,NO)、ワークWkの溶接線の計測条件を修正する(St204)。ここでいう溶接線の計測条件は、溶接線と、この溶接線を含む近傍とをスキャンし、特徴点を計測するための条件であって、センサ4のスキャン速度,分解能,光学センサのフィルタリング強度,ノイズ除去レベル,周波数帯域,フィルタリング(ローパスフィルタ,ハイパスフィルタの有効化/無効化),スムージング等の条件である。
【0135】
オフライン教示装置5は、修正後の溶接線の計測条件と、ワークWkの溶接線を再度スキャンさせる制御指令を生成して、ロボット制御装置2に送信する(St204)。
【0136】
オフライン教示装置5は、ワークWkのすべての溶接線の計測が完了したか否かを判定する(St205)。
【0137】
オフライン教示装置5は、ステップSt205の処理において、ワークWkのすべての溶接線の計測が完了したと判定した場合(St205,YES)、算出された特徴点の位置ずれ量および向き(位置ずれ角度)のそれぞれに基づいて、溶接動作の教示プログラムの補正を実行する(St206)。
【0138】
具体的に、オフライン教示装置5は、このワークWkに対応する溶接動作の教示プログラムに含まれるすべての教示点のそれぞれの位置情報,角度情報を、算出された特徴点の位置ずれ量および向き(位置ずれ角度)のそれぞれを打ち消すように変更することで、溶接動作の教示プログラムの補正を実行する(St206)。オフライン教示装置5は、補正前の溶接動作の教示プログラムを、補正された溶接動作の教示プログラムに恒久的に変更する(St206)。なお、オフライン教示装置5は、溶接動作の教示プログラムの補正が完了した旨の通知を生成し、生成された通知をモニタMN3に出力してもよい。また、ここでいう「恒久的」は、ステップSt104の処理が完了したタイミングから恒久的に変更される教示プログラムが再度作成されるタイミングまでの間の期間を示す。
【0139】
オフライン教示装置5は、補正後の溶接動作の教示プログラムをメモリ52に記憶するとともに、ロボット制御装置2に送信して記憶させる。なお、オフライン教示装置5は、溶接動作の教示プログラムだけでなく、同様にスキャン動作の教示プログラムを補正してもよい。オフライン教示装置5は、スキャン動作の教示プログラムを補正した場合、補正後の溶接動作の教示プログラムをメモリ52に記憶するとともに、ロボット制御装置2に送信して記憶させる。
【0140】
一方、オフライン教示装置5は、ステップSt205の処理において、ワークWkのすべての溶接線の計測が完了していないと判定した場合(St205,YES)、ワークWkの溶接線のうちいずれか未計測の溶接線を選択する(St207)。オフライン教示装置5は、センサ4に選択された溶接線と、この溶接線の近傍の構成部品のそれぞれとの計測を実行させる(St201)。
【0141】
以上により、実施の形態におけるオフライン教示装置5は、ワークWkの加工条件の変更,ワークWkの構成部品のロット変更等によりワークWkの構成部品に位置ずれが生じる場合(つまり、位置ずれ形態(2)に対応する位置ずれである場合)には、初期状態の特徴点の位置,角度と、加工条件あるいはロット変更後の特徴点の位置,角度との位置差分,角度差分のそれぞれを算出する。これにより、オフライン教示装置5は、補正前の溶接動作の教示プログラム、あるいは位置ずれ形態(1)に対応して補正された溶接動作の教示プログラムに含まれ、かつ、補正が必要であるすべての教示点の位置,角度を一括で補正することができる。つまり、オフライン教示装置5は、溶接動作の教示プログラムのより効率的な補正を実現できる。
【0142】
また、オフライン教示装置5は、ワークWkの加工条件の変更,ワークWkの構成部品のロット変更等のように、変更の発生頻度が頻繁ではない位置ずれが生じる場合(つまり、位置ずれ形態(2)に対応する位置ずれである場合)には、ワークWkの加工条件あるいは構成部品のロット変更等が再度変更されるまでの間(例えば、図5に示す期間t12,t14,t16,t22)、補正後の溶接動作の教示プログラムを使用させ続ける。これにより、オフライン教示装置5は、溶接動作の教示プログラムの補正頻度、あるいは補正量の増加をより効果的に抑制できる。
【0143】
次に、図9を参照して、位置ずれ形態(3)におけるオフライン教示装置5の動作手順について説明する。図9は、オフライン教示装置5による教示プログラムの第3補正手順例を説明するフローチャートである。ここでいう第3補正手順は、位置ずれ形態(3)に対応する溶接動作の教示プログラムの補正手順であって、ワークWkの溶接線ごとに溶接動作の教示プログラムの補正が必要となる場合の溶接動作の教示プログラムの補正手順を示す。
【0144】
なお、図9に示すステップSt201~ステップSt204の処理は、図8で説明したステップSt201~ステップSt204の処理と同様であるため、説明を省略する。
【0145】
オフライン教示装置5は、ステップSt13の処理において、次の本溶接対象であるワークWkが位置補正対象として設定されていると判定した場合(St13,YES)、ワークWkの個体差に基づく位置ずれ形態(3)の位置ずれが生じると判定する。
【0146】
オフライン教示装置5は、ワークWkのすべての溶接線に対応する位置の計測が完了したか否かを判定する(St205)。
【0147】
オフライン教示装置5は、ステップSt205の処理において、ワークWkのすべての溶接線に対応する位置の計測が完了したと判定した場合(St205,YES)、算出された特徴点の位置ずれ量および向き(位置ずれ角度)のそれぞれに基づいて、ワークWkの溶接線の位置を補正した溶接線の一時的な位置情報を生成する(St208)。
【0148】
具体的に、オフライン教示装置5は、このワークWkに対応する溶接動作の教示プログラムに含まれるすべての教示点のそれぞれの位置情報,角度情報を、算出された特徴点の位置ずれ量および向き(位置ずれ角度)のそれぞれを打ち消すように変更することで、溶接線の位置情報の補正を実行する(St208)。なお、オフライン教示装置5は、溶接動作の教示プログラムの補正が完了した旨の通知を生成し、生成された通知をモニタMN3に出力してもよい。
【0149】
一方、オフライン教示装置5は、ステップSt205の処理において、ワークWkのすべての溶接線に対応する位置の計測が完了していないと判定した場合(St205,YES)、ワークWkの溶接線のうちいずれか未計測の溶接線を選択する(St207)。オフライン教示装置5は、選択された溶接線と、この溶接線の近傍の構成部品のそれぞれとの計測を実行する(St201)。
【0150】
以上により、実施の形態におけるオフライン教示装置5は、ワークWkの個体差によりワークWkの構成部品に位置ずれが生じる場合(つまり、位置ずれ形態(3)に対応する位置ずれである場合)には、初期状態の特徴点の位置,角度と、加工(本溶接)対象であるワークWkの特徴点の位置,角度との位置差分,角度差分のそれぞれを算出する。これにより、オフライン教示装置5は、補正前の溶接動作の教示プログラム、あるいは位置ずれ形態(1)あるいは位置ずれ形態(2)に対応して補正された溶接動作の教示プログラムに含まれ、かつ、補正が必要であるすべての教示点の位置,角度を一括で補正することができる。つまり、オフライン教示装置5は、溶接動作の教示プログラムのより効率的な補正を実現できる。
【0151】
また、オフライン教示装置5は、ワークWkの個体差(つまり、ワークWkの構成部品のそれぞれの加工精度(品質)のばらつき)のように、ワークWkごとに位置ずれが生じる場合(つまり、位置ずれ形態(3)に対応する位置ずれである場合)には、ワークWkごと(例えば、図5に示す各期間t131~t133,t151~t154,t171~t172,t231~t232)でのみ使用される溶接線(つまり、加工箇所)の一時的な位置情報を作成する。これにより、オフライン教示装置5は、溶接動作の教示プログラムの微修正によりワークWkごとの個体差に対応した教示プログラムの補正を行うことができ、補正量の増加をより効果的に抑制できる。また、オフライン教示装置5は、ワークWkの加工精度を向上させることができるため、高精度なワークWkの加工が要求される場合の教示プログラムの補正でも有用である。
【0152】
以上により、実施の形態に係るオフライン教示装置5は、溶接により生産されるワークWkの生産に関するデータ(例えば、設備に関する情報、ワークWkのワーク情報、ワークWkの治具情報等)が変更されたか否かを判定するプロセッサ51(第1判定部の一例)と、プロセッサ51によりデータに変更があると判定された場合、変更されたデータに基づいて、ワークWkと、溶接を行う溶接ロボットMC1との間の相対位置が変化する対象物(例えば、ワーク全体、ワークWkの構成部品、溶接線等)を判定するプロセッサ51(第2判定部の一例)と、相対位置の変化後の対象物の位置と、相対位置の変化前の対象物の位置との変位量に基づいて、溶接を実行するための第1の教示プログラムを補正した第2の教示プログラムを作成して出力する溶接動作作成部551(教示プログラム作成部の一例)と、を備える。なお、オフライン教示装置5は、変更前後における溶接ロボットMC1との間の相対位置が変化する対象物がワークWk全体である場合には、ワークWkあるいは治具FIX上に設けられたパターンの変位量を算出することで、ワークWk全体の変位量を算出する。また、オフライン教示装置5は、変更前後における溶接ロボットMC1との間の相対位置が変化する対象物がワークWkを構成する少なくとも1つの構成部品(つまり、ワークWkの一部)である場合には、ワークWkの溶接線ごとの変位量を算出することで、ワークWkの構成部品の変位量を算出する。
【0153】
これにより、実施の形態に係るオフライン教示装置5は、ワークWkの生産に関するデータに変更があった場合、溶接ロボット座標系ΣWを基準として、生産に関するデータの変更前後における溶接ロボットMC1と対象物との間の相対位置の変化量に基づいて、溶接動作の教示プログラムの教示点の補正することで、溶接動作の教示プログラムの補正工数をより効率的に削減できる。
【0154】
また、実施の形態に係るオフライン教示装置5のプロセッサ51は、変更されたデータに基づいて、対象物と、相対位置の変化頻度とを判定し、相対位置の変化頻度と、対象物とに基づいて、第1の教示プログラムを恒久的に第2の教示プログラムに変更するか否かを判定する。これにより、実施の形態に係るオフライン教示装置5は、ワークWkの生産に関するデータに再度変更があるまでの間、ワークWkの溶接を第2の教示プログラムに恒久的に変更できるため、溶接動作の教示プログラムの補正をより効率的に実行できる。
【0155】
また、実施の形態に係るオフライン教示装置5の溶接動作作成部551は、プロセッサ51により対象物がワークWk全体であると判定された場合、第1の教示プログラムを恒久的に変更する第2の教示プログラムを作成して出力する。これにより、実施の形態に係るオフライン教示装置5は、ワークWk全体で位置ずれが生じる位置ずれ形態(1)であると判定した場合、ワークWkの生産に関するデータに再度変更があるまでの間、ワークWkの溶接を第2の教示プログラムに恒久的に変更できるため、溶接動作の教示プログラムの補正をより効率的に実行できる。
【0156】
また、実施の形態に係るオフライン教示装置5のプロセッサ51は、変更されたデータに基づいて、対象物がワークWkの一部であると判定した場合、データがワークWkごとに変更されるか否かをさらに判定する。溶接動作作成部551は、プロセッサ51によりデータがワークWkごとに変更されると判定された場合、第1の教示プログラムを一時的に変更する第2の教示プログラムを作成して出力する。これにより、実施の形態に係るオフライン教示装置5は、ワークWkの一部で位置ずれが生じ、かつ、ワークWkごとに位置ずれが生じる位置ずれ形態(3)であると判定した場合、このワークWkの生産を実行する間だけ、一時的に第2の教示プログラムを使用させ、次のワークWkの生産では元の教示プログラム(つまり、第1の教示プログラム)を使用させることができるため、溶接動作の教示プログラムの補正量をより効果的に抑制できる。
【0157】
また、実施の形態に係るオフライン教示装置5のプロセッサ51は、変更されたデータに基づいて、対象物がワークWkの一部であると判定した場合、データがワークごとに変更されるか否かをさらに判定する。溶接動作作成部551は、プロセッサ51によりデータがワークWkごとに変更されないと判定された場合、第1の教示プログラムを恒久的に変更する第2の教示プログラムを作成して出力する。これにより、実施の形態に係るオフライン教示装置5は、ワークWkの一部で位置ずれが生じ、かつ、ワークWkごとに位置ずれが生じない位置ずれ形態(2)であると判定した場合、ワークWkの生産に関するデータに再度変更があるまでの間、ワークWkの溶接を第2の教示プログラムに恒久的に変更できるため、溶接動作の教示プログラムの補正をより効率的に実行できる。
【0158】
また、実施の形態に係るオフライン教示装置5の溶接動作作成部551は、プロセッサ51によりデータがワークWkごとに変更されないと判定された場合、第1の教示プログラムを恒久的に変更する第2の教示プログラムを作成して出力する。これにより、実施の形態に係るオフライン教示装置5は、ワークWkごとに位置ずれが生じない位置ずれ形態(1)または位置ずれ形態(2)であると判定した場合、ワークWkの生産に関するデータに再度変更があるまでの間、ワークWkの溶接を第2の教示プログラムに恒久的に変更できるため、溶接動作の教示プログラムの補正をより効率的に実行できる。
【0159】
また、実施の形態に係るオフライン教示装置5の溶接動作作成部551は、プロセッサ51によりデータがワークごとに変更されると判定された場合、第1の教示プログラムを一時的に変更する第2の教示プログラムを作成して出力する。これにより、実施の形態に係るオフライン教示装置5は、ワークWkごとに位置ずれが生じる位置ずれ形態(3)であると判定した場合、このワークWkの生産を実行する間だけ、一時的に第2の教示プログラムを使用させ、次のワークWkの生産では元の教示プログラム(つまり、第1の教示プログラム)を使用させることができるため、溶接動作の教示プログラムの補正量をより効果的に抑制できる。
【0160】
また、実施の形態に係るオフライン教示装置5の溶接動作作成部551は、プロセッサ51により、変更されたデータがワークWkの生産設備に関するデータであると判定された場合、第1の教示プログラムを恒久的に変更する第2の教示プログラムを作成して出力する。これにより、実施の形態に係るオフライン教示装置5は、ワークWkを生産する設備のレイアウト変更に基づく位置ずれが生じる位置ずれ形態(1)であると判定した場合、ワークWkの生産に関するデータに再度変更があるまでの間、ワークWkの溶接を第2の教示プログラムに恒久的に変更できるため、溶接動作の教示プログラムの補正をより効率的に実行できる。
【0161】
また、実施の形態に係るオフライン教示装置5の溶接動作作成部551は、プロセッサ51により、変更されたデータがワークWkの溶接条件に関するデータであると判定された場合、第1の教示プログラムを恒久的に変更する第2の教示プログラムを作成して出力する。これにより、実施の形態に係るオフライン教示装置5は、ワークWkの溶接条件(加工条件)の変更に基づく位置ずれが生じる位置ずれ形態(2)であると判定した場合、ワークWkの生産に関するデータに再度変更があるまでの間、ワークWkの溶接を第2の教示プログラムに恒久的に変更できるため、溶接動作の教示プログラムの補正をより効率的に実行できる。
【0162】
また、実施の形態に係るオフライン教示装置5の溶接動作作成部551は、プロセッサ51により、変更されたデータがワークWkの生産に使用される構成部品のロットに関するデータであると判定された場合、第1の教示プログラムを恒久的に変更する第2の教示プログラムを作成して出力する。これにより、実施の形態に係るオフライン教示装置5は、ワークWkの構成部品のロット変更に基づく位置ずれが生じる位置ずれ形態(2)であると判定した場合、ワークWkの生産に関するデータに再度変更があるまでの間、ワークWkの溶接を第2の教示プログラムに恒久的に変更できるため、溶接動作の教示プログラムの補正をより効率的に実行できる。
【0163】
また、実施の形態に係るオフライン教示装置5のプロセッサ51は、第1判定部によりデータに変更がないと判定された場合、データに基づいて、ワークWkが位置補正対象であるか否かをさらに判定し、ワークWkが位置補正対象であると判定した場合、対象物がワークを構成する少なくとも1つの構成部材であると判定する。溶接動作作成部551は、第1の教示プログラムを一時的に変更する第2の教示プログラムを作成して出力する。これにより、実施の形態に係るオフライン教示装置5は、ワークWkごとの個体差に基づく位置ずれが生じる位置ずれ形態(3)であると判定した場合、このワークWkの生産を実行する間だけ、一時的に第2の教示プログラムを使用させ、次のワークWkの生産では元の教示プログラム(つまり、第1の教示プログラム)を使用させることができるため、溶接動作の教示プログラムの補正量をより効果的に抑制できる。
【0164】
また、実施の形態に係るオフライン教示装置5の溶接動作作成部551は、対象物がワークWk全体である場合、ワークWk上に設けられ、相対位置の変化後のパターンの位置と、相対位置の変化前のパターンの位置との変位量に基づいて、第1の教示プログラムを補正した第2の教示プログラムを作成して出力する。これにより、実施の形態に係るオフライン教示装置5は、ワークWk全体で位置ずれが生じる位置ずれ形態(1)であると判定した場合、ワークWkあるいは治具FIX上に設けられたパターンの変位量を算出することで、ワークWk全体の変位量を算出する。オフライン教示装置5は、算出された変位量に基づいて、溶接動作の教示プログラムをより効果的に補正できる。
【0165】
また、実施の形態に係るオフライン教示装置5の溶接動作作成部551は、対象物がワークWkの一部である場合、溶接される少なくとも1つの溶接線の近傍に位置し、相対位置の変化後の特徴点の位置と、相対位置の変化前の特徴点の位置との変位量に基づいて、第1の教示プログラムを溶接線ごとに補正した第2の教示プログラムを作成して出力する。これにより、実施の形態に係るオフライン教示装置5は、ワークWkの一部で位置ずれが生じる位置ずれ形態(2)または位置ずれ形態(3)であると判定した場合、ワークWkの溶接線ごとの変位量を算出することで、ワークWkの溶接線ごとに溶接動作の教示プログラムをより効果的に補正できる。
【0166】
以上により、実施の形態に係るオフライン教示装置5は、溶接により生産されるワークWkを構成する少なくとも1つの対象物の位置を計測可能なセンサ4との間で通信可能に接続された1つ以上のコンピュータを含んで構成されたオフライン教示装置5が行うオフライン教示方法であって、ワークWkの生産に関するデータ(例えば、設備に関する情報、ワークWkのワーク情報、ワークWkの治具情報等)が変更されたデータの入力を受け付け、変更されたデータに基づいて、ワークWkと、溶接を行う溶接ロボットとの間の相対位置が変化する対象物(例えば、ワーク全体、ワークWkの構成部品、溶接線等)を判定し、相対位置の変化後の対象物の位置と、相対位置の変化前の対象物の位置との変位量に基づいて、溶接を実行するための第1の教示プログラムを補正した第2の教示プログラムを作成して出力する。なお、ここでいうコンピュータは、少なくともオフライン教示装置5を含んで構成される。
【0167】
これにより、実施の形態に係るオフライン教示装置5は、ワークWkの生産に関するデータに変更があった場合、溶接ロボット座標系ΣWを基準として、生産に関するデータの変更前後における溶接ロボットMC1と対象物との間の相対位置の変化量に基づいて、溶接動作の教示プログラムの教示点の補正することで、溶接動作の教示プログラムの補正工数をより効率的に削減できる。
【0168】
以上、図面を参照しながら各種の実施の形態について説明したが、本開示はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例、修正例、置換例、付加例、削除例、均等例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。また、発明の趣旨を逸脱しない範囲において、上述した各種の実施の形態における各構成要素を任意に組み合わせてもよい。
【0169】
なお、本出願は、2022年3月31日出願の日本特許出願(特願2022-059586)に基づくものであり、その内容は本出願の中に参照として援用される。
【産業上の利用可能性】
【0170】
本開示は、教示プログラムの教示点の補正工数をより効率的に削減できるオフライン教示装置およびオフライン教示方法として有用である。
【符号の説明】
【0171】
1 上位装置
2 ロボット制御装置
4 センサ
5 オフライン教示装置
10,20,50 通信部
11,21,51 プロセッサ
12,22,52 メモリ
53 入出力部
54 3D演算部
55 プログラム作成部
551 溶接動作作成部
552 スキャン動作作成部
100 溶接システム
200 マニピュレータ
300 ワイヤ送給装置
301 溶接ワイヤ
400 溶接トーチ
500 電源装置
FIX 治具
MC1 溶接ロボット
MN1,MN2,MN3 モニタ
UI3 入力装置
Wk ワーク
【要約】
オフライン教示装置は、生産されるワークの生産に関するデータが変更されたか否かを判定する第1判定部と、第1判定部によりデータに変更があると判定された場合、変更されたデータに基づいて、ワークと、溶接を行う溶接ロボットとの間の相対位置が変化する対象物を判定する第2判定部と、相対位置の変化後の対象物の位置と、相対位置の変化前の対象物の位置との変位量に基づいて、溶接を実行するための第1の教示プログラムを補正した第2の教示プログラムを作成して出力する教示プログラム作成部と、を備える。
図1
図2
図3
図4
図5
図6
図7
図8
図9