(57)【要約】【課題】ユーザーがツールの姿勢を容易に調整可能な技術を提供する。【解決手段】溶接ロボット５のプログラミング装置２は、三次元モデルを取得するモデル取得部２３と、溶接線を指定する溶接線指定部２４と、狙い角を設定する狙い角設定部２６と、前進角を設定する前進角設定部２６と、溶接線に基づいて設定される第１軸と、第１軸に直交すると共に溶接される一方のワークの面に平行な第２軸と、第１軸と第２軸とのそれぞれに直交する第３軸とを有する仮座標系を設定し、ツール座標系を、狙い角に応じて第１軸回りに回転させると共に前進角に応じて第３軸回りに回転させた座標系として設定する座標系設定部２５と、前記ツール座標系に基づいてツールの溶接姿勢を設定する姿勢設定部２７と、プログラム作成部３１とを備える。【選択図】図２
2019048358.tif 000002
【特許請求の範囲】
【請求項１】
溶接ロボットの三次元モデルと、前記溶接ロボットのツールによって溶接される２つのワークの三次元モデルとを取得するモデル取得部と、
２つの前記ワークの三次元モデルに基づいて、２つの前記ワークが溶接される溶接線と、該溶接線上の原点とを指定する溶接線指定部と、
操作を受け付ける受付部と、
前記原点において溶接される２つの前記ワークがなす角度を、前記溶接線に直交する面に投影した角度として算出し、算出した角度を用いて前記ツールの狙い角を算出する、または、前記受付部が受け付けた操作に基づいて前記狙い角を設定する狙い角設定部と、
前記受付部が受け付けた操作に基づいて前記ツールの前進角を設定する前進角設定部と、
前記原点を基準とする仮座標系を構成する３つの軸として、前記溶接線に基づいて設定される第１軸と、前記第１軸に直交すると共に溶接される一方の前記ワークの面に平行な第２軸と、前記第１軸と前記第２軸とのそれぞれに直交する第３軸とを有する前記仮座標系を設定し、前記ツールに設定されているツール座標系を、前記狙い角に応じて前記仮座標系の前記第１軸回りに回転させると共に前記前進角に応じて前記仮座標系の前記第３軸回りに回転させた座標系として設定する座標系設定部と、
設定された前記ツール座標系に基づいて前記ツールの溶接姿勢を設定する姿勢設定部と、
設定された前記ツール座標系を基準として、前記溶接ロボットが２つの前記ワークを溶接する動作プログラムを作成するプログラム作成部とを備える溶接ロボットのプログラミング装置。
【請求項２】
仮想空間において前記溶接ロボットの三次元モデルと２つの前記ワークの三次元モデルとを用いて、設定された前記溶接姿勢で前記溶接線を溶接した場合における前記溶接ロボットと２つの前記ワークとの干渉を検出する干渉検出部を備え、
前記姿勢設定部が、前記干渉が検出された場合には、前記ツール座標系を前記第１軸と前記第２軸と前記第３軸との少なくとも１つの軸の軸回りに回転させて、前記干渉を解消する新たな前記溶接姿勢を設定する請求項１に記載の溶接ロボットのプログラミング装置。
【請求項３】
前記モデル取得部が、前記溶接ロボットまたは前記ワークの周辺に配置された周辺機器の三次元モデルを取得し、
前記干渉検出部が、仮想空間において前記周辺機器の三次元モデルも用いて、設定された前記溶接姿勢で前記溶接線が溶接された場合における前記溶接ロボットと２つの前記ワークと前記周辺機器との前記干渉を検出する請求項２に記載の溶接ロボットのプログラミング装置。
【請求項４】
前記姿勢設定部が、前記干渉が検出された場合には、前記第２軸の軸回りに前記ツールを回転させて前記干渉の解消の可否を判定し、前記干渉の解消が可能な場合には前記第２軸を軸回りに回転させた新たな前記溶接姿勢を設定し、前記干渉の解消が不可能な場合には前記第２軸に加えて前記第１軸および／または前記第３軸の軸回りにも回転させた新たな前記溶接姿勢を設定する請求項２または請求項３に記載の溶接ロボットのプログラミング装置。
【請求項５】
仮想空間において前記溶接ロボットの三次元モデルと２つの前記ワークの三次元モデルとを用いて、設定された前記溶接姿勢で、前記溶接線の始点から終点まで前記ツールの到達の可否を判定する到達可否判定部を備え、
前記姿勢設定部が、前記到達が不可能であると判定された場合に、前記溶接線上における前記到達が不可能である部分の前記溶接姿勢を、前記到達を可能にする新たな前記溶接姿勢を設定する請求項１から請求項４のいずれかに記載の溶接ロボットのプログラミング装置。
【請求項６】
前記姿勢設定部が、前記到達が不可能であると判定された場合には、前記溶接線上における前記到達が不可能である部分の前記溶接姿勢を前記第２軸の軸回りに前記ツールを回転させて前記到達の可否を判定し、前記到達が可能であると判定した場合には前記第２軸を軸回りに回転させた新たな前記溶接姿勢を設定し、前記到達が不可能であると判定した場合には前記第２軸に加えて前記第１軸または／および前記第３軸の軸回りにも回転させた新たな前記溶接姿勢を設定する請求項５に記載の溶接ロボットのプログラミング装置。
【請求項７】
前記姿勢設定部が、前記ツールが前記第２軸の軸回りに回転可能な角度範囲が予め設定されている場合に、該回転可能な角度範囲内で前記第２軸の軸回りを回転させた新たな前記溶接姿勢を設定する請求項４または請求項６に記載の溶接ロボットのプログラミング装置。
【請求項８】
前記座標系設定部が、前記第１軸として、前記溶接線に平行な軸を設定する請求項１から請求項６のいずれかに記載の溶接ロボットのプログラミング装置。
【請求項９】
前記座標系設定部が、前記溶接線上における始点と終点との中点を前記原点として設定する請求項１から請求項７のいずれかに記載の溶接ロボットのプログラミング装置。
【請求項１０】
溶接ロボットの三次元モデルと、前記溶接ロボットのツールによって溶接される２つのワークの三次元モデルとを取得するステップと、
２つの前記ワークの三次元モデルに基づいて、２つの前記ワークが溶接される溶接線と該溶接線上の原点とを指定するステップと、
操作を受け付けるステップと、
前記原点において溶接される２つの前記ワークがなす角度を、前記溶接線に直交する面に投影した角度を算出し、算出した該角度を用いて前記ツールの狙い角を算出する、または、受け付けられた前記操作に基づいて前記狙い角を設定するステップと、
受け付けられた前記操作に基づいて前記ツールの前進角を設定するステップと、
前記原点を基準とする仮座標系を構成する３つの軸として、前記溶接線に基づいて設定される第１軸と、前記第１軸に直交すると共に溶接される一方の前記ワークの面に平行な第２軸と、前記第１軸と前記第２軸とのそれぞれに直交する第３軸とを有する前記仮座標系を設定し、前記ツールに設定されているツール座標系を、前記狙い角に応じて前記仮座標系の前記第１軸回りに回転させると共に前記前進角に応じて前記仮座標系の前記第３軸回りに回転させた座標系として設定するステップと、
設定された前記ツール座標系に基づいて前記ツールの溶接姿勢を設定するステップと、
設定された前記ツール座標系を基準として、前記溶接ロボットが２つの前記ワークを溶接する動作プログラムを作成するステップとを備える溶接ロボットのプログラミング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、溶接ロボットのプログラミング装置および溶接ロボットのプログラミング方法に関する。
【背景技術】
【０００２】
溶接ロボットでは、２つの部材を溶接するツールの溶接姿勢が、各部材やその他の周辺機器などに干渉しないように設定される。従来、ユーザーが希望するツールの溶接姿勢を表す狙い角および前進角を設定すると、各部材や溶接ロボットの形状等のデータを用いて、各部材と溶接ロボット等とが干渉しない範囲で、ユーザーが希望する狙い角と前進角と同じまたは近い角度を自動的に設定したツールの溶接姿勢を提供する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−９４１３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された技術では、ユーザーが希望する狙い角および前進角が設定されると、自動的にツールの溶接姿勢が設定されるが、設定後の溶接姿勢に対して調整を行いたい場合がある。この場合、ユーザーは、設定後の溶接姿勢を基準としてツールの姿勢を補正することができず、狙い角および前進角を入力する前の状態を基準として、再度、調整も含んだ狙い角および前進角を一から設定する必要がある。
【０００５】
本発明は上述した事情に鑑みてなされたものであって、ツールの溶接姿勢が設定された後でも、設定後の溶接姿勢を基準として、ユーザーがツールの姿勢を容易に調整可能な溶接ロボットのプログラミング装置および溶接ロボットのプログラミング方法を提供する。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明は以下の手段を提供する。
本発明の一態様は、溶接ロボットの三次元モデルと、前記溶接ロボットのツールによって溶接される２つのワークの三次元モデルとを取得するモデル取得部と、２つの前記ワークの三次元モデルに基づいて、２つの前記ワークが溶接される溶接線と、該溶接線上の原点とを指定する溶接線指定部と、操作を受け付ける受付部と、前記原点において溶接される２つの前記ワークがなす角度を、前記溶接線に直交する面に投影した角度として算出し、算出した角度を用いて前記ツールの狙い角を算出する、または、前記受付部が受け付けた操作に基づいて前記狙い角を設定する狙い角設定部と、前記受付部が受け付けた操作に基づいて前記ツールの前進角を設定する前進角設定部と、前記原点を基準とする仮座標系を構成する３つの軸として、前記溶接線に基づいて設定される第１軸と、前記第１軸に直交すると共に溶接される一方の前記ワークの面に平行な第２軸と、前記第１軸と前記第２軸とのそれぞれに直交する第３軸とを有する前記仮座標系を設定し、前記ツールに設定されているツール座標系を、前記狙い角に応じて前記仮座標系の前記第１軸回りに回転させると共に前記前進角に応じて前記仮座標系の前記第３軸回りに回転させた座標系として設定する座標系設定部と、設定された前記ツール座標系に基づいて前記ツールの溶接姿勢を設定する姿勢設定部と、設定された前記ツール座標系を基準として、前記溶接ロボットが２つの前記ワークを溶接する動作プログラムを作成するプログラム作成部とを備える溶接ロボットのプログラミング装置を提供する。
【０００７】
本態様によれば、取得された溶接ロボットおよびワークの三次元モデルに基づいて、溶接線が指定される。溶接線上の原点を中心として、溶接線に平行な第１軸と、第１軸に直交すると共に２つのワークの内の一方のワークの面に平行な第２軸と、第１軸と第２軸とのそれぞれに直交する第３軸を有する仮座標系が設定される。狙い角に基づいて第１軸回りに回転した座標系を、さらに、前進角に基づいて第３軸回りに回転した座標系がツール座標系として設定される。設定されたツール座標系に基づいて、ツールの溶接姿勢が設定される。設定されたツール座標系が用いられて、溶接ロボットの動作プログラムが作成される。
【０００８】
すなわち、本態様によれば、溶接線と溶接する一方のワークとを基準とする仮座標系を回転させたツール座標系が設定される。このツール座標系では、第２軸とツールの長手方向とが一致しており、設定されたツールの溶接姿勢が変更される場合に、ユーザーは、ツールの長手方向を基準としてツールの溶接姿勢を変更できるので、一度設定されたツールの溶接姿勢を調整しやすい。
【０００９】
上記態様においては、仮想空間において前記溶接ロボットの三次元モデルと２つの前記ワークの三次元モデルとを用いて、設定された前記溶接姿勢で前記溶接線を溶接した場合における前記溶接ロボットと２つの前記ワークとの干渉を検出する干渉検出部を備え、前記姿勢設定部が、前記干渉が検出された場合には、前記ツール座標系を前記第１軸と前記第２軸と前記第３軸との少なくとも１つの軸の軸回りに回転させて、前記干渉を解消する新たな前記溶接姿勢を設定してもよい。
このようにすることで、２つのワークが溶接されている際に、溶接ロボットとワークとが干渉しないツールの溶接姿勢が自動的に設定されて、２つのワークが溶接される。
【００１０】
上記態様においては、前記モデル取得部が、前記溶接ロボットまたは前記ワークの周辺に配置された周辺機器の三次元モデルを取得し、前記干渉検出部が、仮想空間において前記周辺機器の三次元モデルも用いて、設定された前記溶接姿勢で前記溶接線が溶接された場合における前記溶接ロボットと２つの前記ワークと前記周辺機器との前記干渉を検出してもよい。
周辺機器の三次元モデルも取得されることで、溶接ロボットとワークとの干渉だけでなく、これらと周辺機器との干渉も考慮されてツールの溶接姿勢が自動的に設定される。
【００１１】
上記態様においては、前記姿勢設定部が、前記干渉が検出された場合には、前記第２軸の軸回りに前記ツールを回転させて前記干渉の解消の可否を判定し、前記干渉の解消が可能な場合には前記第２軸を軸回りに回転させた新たな前記溶接姿勢を設定し、前記干渉の解消が不可能な場合には前記第２軸に加えて前記第１軸および／または前記第３軸の軸回りにも回転させた新たな前記溶接姿勢を設定してもよい。
このようにすることで、溶接ロボットやワークとの干渉がある場合に、ツールの溶接姿勢における第２軸を優先的に回転させて干渉が回避される。これにより、干渉を回避するためのツールの溶接姿勢における狙い角および前進角の角度変化を、初めに設定された角度よりも少なくすることができる。
【００１２】
上記態様においては、仮想空間において前記溶接ロボットの三次元モデルと２つの前記ワークの三次元モデルとを用いて、設定された前記溶接姿勢で、前記溶接線の始点から終点まで前記ツールの到達の可否を判定する到達可否判定部を備え、前記姿勢設定部が、前記到達が不可能であると判定された場合に、前記溶接線上における前記到達が不可能である部分の前記溶接姿勢を、前記到達を可能にする新たな前記溶接姿勢を設定してもよい。
このようにすることで、指定された溶接線上の全てが溶接されるツールの溶接姿勢が自動的に設定されて、２つのワークが溶接される。
【００１３】
上記態様においては、前記姿勢設定部が、前記到達が不可能であると判定された場合には、前記溶接線上における前記到達が不可能である部分の前記溶接姿勢を前記第２軸の軸回りに前記ツールを回転させて前記到達の可否を判定し、前記到達が可能であると判定した場合には前記第２軸を軸回りに回転させた新たな前記溶接姿勢を設定し、前記到達が不可能であると判定した場合には前記第２軸に加えて前記第１軸または／および前記第３軸の軸回りにも回転させた新たな前記溶接姿勢を設定してもよい。
このようにすることで、初めに設定されたツールの溶接姿勢では溶接線上で溶接できない部分がある場合に、ツールの溶接姿勢における第２軸を優先的に回転させて、溶接線上の全てが溶接される。これにより、溶接線上の全てを溶接するためのツールの溶接姿勢における狙い角および前進角の角度変化を、初めに設定された角度よりも少なくすることができる。
【００１４】
上記態様においては、前記姿勢設定部が、前記ツールが前記第２軸の軸回りに回転可能な角度範囲が予め設定されている場合に、該回転可能な角度範囲内で前記第２軸の軸回りを回転させた新たな前記溶接姿勢を設定してもよい。
このようにすることで、例えば、ツールの先端付近に接続されたコード等の他部品が存在する場合に、予め設定された回転可能な角度範囲内で第２軸が回転するため、ツールと他部品との干渉等を回避できる。
【００１５】
上記態様においては、前記座標系設定部が、前記第１軸として、前記溶接線に平行な軸を設定してもよい。
このようにすることで、仮座標系における第１軸が前記溶接線と同じであるため、ユーザーが第１軸を認識しやすく、ユーザーは、ツールの長手方向を基準としてツールの溶接姿勢を調整しやすい。
【００１６】
上記態様においては、前記座標系設定部が、前記溶接線上における始点と終点との中点を前記原点として設定してもよい。
このようにすることで、溶接線上における始点や終点を原点としてツール座標系を設定した場合と比較して、偏りのないツールの溶接姿勢が効率的に設定される。
【００１７】
また、本発明の他の態様は、溶接ロボットの三次元モデルと、前記溶接ロボットのツールによって溶接される２つのワークの三次元モデルとを取得するステップと、２つの前記ワークの三次元モデルに基づいて、２つの前記ワークが溶接される溶接線と該溶接線上の原点とを指定するステップと、操作を受け付けるステップと、前記原点において溶接される２つの前記ワークがなす角度を、前記溶接線に直交する面に投影した角度を算出し、算出した該角度を用いて前記ツールの狙い角を算出する、または、受け付けられた前記操作に基づいて前記狙い角を設定するステップと、受け付けられた前記操作に基づいて前記ツールの前進角を設定するステップと、前記原点を基準とする仮座標系を構成する３つの軸として、前記溶接線に基づいて設定される第１軸と、前記第１軸に直交すると共に溶接される一方の前記ワークの面に平行な第２軸と、前記第１軸と前記第２軸とのそれぞれに直交する第３軸とを有する前記仮座標系を設定し、前記ツールに設定されているツール座標系を、前記狙い角に応じて前記仮座標系の前記第１軸回りに回転させると共に前記前進角に応じて前記仮座標系の前記第３軸回りに回転させた座標系として設定するステップと、設定された前記ツール座標系に基づいて前記ツールの溶接姿勢を設定するステップと、設定された前記ツール座標系を基準として、前記溶接ロボットが２つの前記ワークを溶接する動作プログラムを作成するステップとを備える溶接ロボットのプログラミング方法を提供する。
【発明の効果】
【００１８】
本発明によれば、ツールの溶接姿勢が設定された後でも、ツール座標系を用いることで、設定後の溶接姿勢を基準として、ユーザーがツールの姿勢を容易に調整できる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態に係る溶接ロボットの制御装置を含む溶接システムを示す概略図である。
【図２】本実施形態に係る溶接システムのブロック図である。
【図３】仮想空間上に配置されたワークの位置関係を示す概略図である。
【図４】溶接線に基づいて設定される第１溶接線および第２溶接線と第１法線および第２法線とを示す説明図である。
【図５】溶接線に基づいて設定される仮座標系を示す説明図である。
【図６】ツールに設定されるツール座標系を示す説明図である。
【図７】設定された溶接時のツールの狙い角の説明図である。
【図８】設定された溶接時のツールの前進角の説明図である。
【図９】溶接ロボットのプログラミング方法のフローチャートである。
【図１０】Ｘ軸および／またはＹ軸の軸回りに回転する前の仮座標系の説明図である。
【図１１】仮座標系をＸ軸および／またはＹ軸の軸回りに回転して設定したツール座標系の説明図である。
【図１２】溶接姿勢再設定処理のフローチャートである。
【図１３】干渉検出処理のフローチャートである。
【図１４】ツールと周辺機器とが干渉する場合のイメージ図である。
【図１５】ツールと周辺機器との干渉が解消された場合のイメージ図である。
【図１６】到達可否判定処理のフローチャートである。
【発明を実施するための形態】
【００２０】
本発明の実施形態に係る溶接ロボット５の制御装置（プログラミング装置）２について、図面を参照しながら以下に説明する。
図１は、本実施形態に係る溶接ロボット５の制御装置２を含む溶接システム１を示す概略図である。溶接システム１は、複数の関節軸を有する垂直多関節型ロボットである溶接ロボット５と、溶接ロボット５の動作を制御する制御装置２とを備えている。また、図１には、溶接ロボット５によって溶接される２つのワークＷＫ１，ＷＫ２が示されている。
【００２１】
溶接ロボット５は、床面に固定され、溶接ロボット５の先端には、ワークを溶接するためのツール５１が取り付けられている。ツール５１は、円柱形状の溶接トーチを有している。溶接ロボット５が有する複数の関節軸のそれぞれは、回転駆動するための図示しないモータと、モータの回転角度を検出する図示しないエンコーダとを備えている。
【００２２】
制御装置２は、溶接ロボット５の各軸のエンコーダから検出されるモータの回転角度を用いて、モータを回転駆動させるフィードバック制御を行っている。制御装置２は、図示しないＣＰＵと、ＲＯＭと、ＲＡＭと、メモリとで構成されている。
【００２３】
図２には、溶接システム１のブロック図が示されている。制御装置２は、各種画像を表示するモニター２１と、ユーザーの操作を受け付ける受付部２２と、ツール５１の三次元モデルやワークＷＫ１，ＷＫ２の三次元モデルを取得するモデル取得部２３と、２つのワークＷＫ１，ＷＫ２が溶接される溶接線を指定する溶接線指定部２４と、指定された溶接線と２つのワークＷＫ１，ＷＫ２のなす角度とに基づいて仮座標系を設定する座標系設定部２５と、受け付けた入力および／または予め設定された計算方法に基づいてツール５１の狙い角および前進角を設定する角度設定部（狙い角設定部、前進角設定部）２６と、角度設定部２６の設定に基づいて溶接時のツール５１の溶接姿勢を設定する姿勢設定部２７と、三次元モデルを用いてツール５１とワークＷＫ１，ＷＫ２等との溶接時の干渉の有無を検出する干渉検出部２８と、三次元モデルを用いて指定された溶接線上の全てを溶接の到達可否を検出する到達可否判定部２９と、設定された内容に基づいて溶接ロボット５を制御するためのプログラムを作成するためのプログラム作成部３１と、設定された仮座標系やツール５１の溶接姿勢などを記憶する記憶部３２とを備えている。
【００２４】
モデル取得部２３は、溶接ロボット５、ワークＷＫ１，ＷＫ２、および溶接ロボット５やワークＷＫ１，ＷＫ２の周辺に配置された周辺機器の三次元モデルとしてのＣＡＤデータを取得する。モデル取得部２３は、取得したＣＡＤデータを用いて、仮想空間上に、ワークＷＫ１，ＷＫ２を溶接する際の溶接ロボット５等の三次元モデルを配置するようになっている。なお、本実施形態では、三次元モデルが配置された仮想空間は、モニター２１に表示される。
【００２５】
図３に示すように、本実施形態では、水平方向に配置された平板状のワークＷＫ１に、ワークＷＫ１に直交するように配置された平板状のワークＷＫ２が溶接される。溶接線指定部２４は、仮想空間上に配置されたワークＷＫ１とワークＷＫ２とが接する部分を溶接する溶接線ＷＬとして指定する。また、図４に示すように、溶接線指定部２４は、溶接線ＷＬの始点ＳＰと終点ＥＰとの中間である中点ＭＰを原点Ｏ１として指定する。
【００２６】
座標系設定部２５は、指定された原点Ｏ１を基準とする仮座標系を設定するようになっている。座標系設定部２５は、仮想空間上において指定された溶接線ＷＬに基づいて、ワークＷＫ１の面上に定義される第１溶接線ＷＬ１と、ワークＷＫ２の面上に定義される第２溶接線ＷＬ２とを抽出する。なお、溶接線ＷＬと、第１溶接線ＷＬ１と、第２溶接線ＷＬ２とは、実質的には同じ直線であるが、図４では、便宜上、これらの線が重ならないように、溶接線ＷＬが実線で示され、第１溶接線ＷＬ１および第２溶接線ＷＬ２が破線で示されている。座標系設定部２５は、原点Ｏ１を通り、ワークＷＫ１の面上における第１溶接線ＷＬ１に直交すると共にワークＷＫ１の面に平行な第１法線ＮＬ１と、ワークＷＫ２の面上における第２溶接線ＷＬ２に直交すると共にワークＷＫ２の面に平行な第２法線ＮＬ２とを設定する。
【００２７】
座標系設定部２５は、一方のワークＷＫ１を選択し、選択したワークＷＫ１における第１溶接線ＷＬ１と第１法線ＮＬ１とを軸とする仮座標系を設定する。なお、他の実施形態では、ワークＷＫ１ではなく、ワークＷＫ２が選択されてもよい。
【００２８】
図５に示すように、座標系設定部２５は、仮座標系ＣＳ１を構成する３軸として、第１溶接線ＷＬ１に平行で溶接時のツール５１の進行方向（矢印ＴＤの方向）を正とするＹ軸（第１軸）と、第１法線ＮＬ１に平行で鉛直上方を正とするＺ軸（第２軸）と、Ｙ軸とＺ軸とのそれぞれに直交するＸ軸（第３軸）とを定義するようになっている。Ｘ軸では、原点Ｏ１からワークＷＫ１を厚さ方向に貫く方向が正方向として定義されている。
【００２９】
図６には、溶接ロボット５のツール５１に予め設定されたツール座標系ＣＳ２が示されている。ツール座標系ＣＳ２では、ツール５１の先端を原点Ｏ２とし、ツール５１の長手方向をＺ軸として定義されている。
【００３０】
姿勢設定部２７は、ツール座標系ＣＳ２の原点Ｏ２を仮座標系ＣＳ１の原点Ｏ１に一致させ、かつ、ツール座標系のＸ，Ｙ，Ｚ軸をそれぞれ仮座標系のＸ，Ｙ，Ｚ軸に一致するように、ツール５１の溶接姿勢を設定するようになっている。
【００３１】
図７に示すように、角度設定部２６は、原点Ｏ１において溶接線ＷＬを挟むワークＷＫ１とワークＷＫ２とがなす角度として、第１法線ＮＬ１と第２法線ＮＬ２とがなす角度α０を算出するようになっている。本実施形態では、角度設定部２６は、溶接時のツール５１の狙い角α１として、算出した第１法線ＮＬ１と第２法線ＮＬ２とがなす角度α０の半分の角度を設定する。図８に示すように、角度設定部２６は、受付部２２により受け付けられたユーザー入力に基づいて、溶接時のツール５１の前進角β１を設定する。
【００３２】
姿勢設定部２７は、設定された狙い角α１が達成されるように、ツール座標系ＣＳ２を仮座標系ＣＳ１のＹ軸回りに回転させる。また、姿勢設定部２７は、設定された前進角β１が達成されるように、ツール座標系ＣＳ２を仮座標系ＣＳ１のＸ軸回りに回転させる。これにより、溶接ロボット５の溶接姿勢におけるツール座標系ＣＳ２の姿勢が決定されるので、決定されたツール座標系ＣＳ２を達成するための溶接ロボット５の各軸の角度が算出される。
【００３３】
プログラム作成部３１は、算出された溶接ロボット５の各軸の角度を用いて溶接ロボット５の教示点を生成することにより溶接プログラムを生成するようになっている。
【００３４】
以下では、ツール５１等の三次元モデルが取得されてから溶接ロボット５の溶接プログラムを生成できるようになるまでの具体的な処理の一例について、図９に示す溶接ロボット５のプログラミング方法のフローチャートに沿って説明する。溶接ロボット５のプログラミング方法では、初めに、モデル取得部２３が、溶接ロボット５の三次元モデルと、ワークＷＫ１，ＷＫ２の三次元モデルとのＣＡＤデータを取得する（ステップＳ１１）。モデル取得部２３は、取得した三次元モデルを用いて、溶接ロボット５とワークＷＫ１，ＷＫ２とを仮想空間上に配置する（ステップＳ１２）。
【００３５】
溶接線指定部２４は、仮想空間上に配置されたワークＷＫ１とワークＷＫ２とが接する部分を溶接線ＷＬとして指定する（ステップＳ１３）。溶接線指定部２４は、指定した溶接線ＷＬ上における中点ＭＰを仮座標系ＣＳ１の原点Ｏ１として設定する（ステップＳ１４）。座標系設定部２５は、指定された溶接線ＷＬに基づいて、ワークＷＫ１上における第１溶接線ＷＬ１と、ワークＷＫ２上における第２溶接線ＷＬ２とを抽出する（ステップＳ１５）。座標系設定部２５は、第１溶接線ＷＬ１と第２溶接線ＷＬ２とを用いて、第１法線ＮＬ１と第２法線ＮＬ２とを設定する（ステップＳ１６）。
【００３６】
座標系設定部２５は、原点Ｏ１を基点とする仮座標系ＣＳ１を設定する（ステップＳ１７）。座標系設定部２５は、ワークＷＫ１を選択し、原点Ｏ１を通ると共に選択したワークＷＫ１上における第１溶接線ＷＬ１に平行で溶接時のツール５１の進行方向を正とするＹ軸を設定する。座標系設定部２５は、原点Ｏ１を通ると共に第１溶接線ＷＬ１に直交する第１法線ＮＬ１に平行で上方向を正とするＺ軸を設定する。座標系設定部２５は、原点Ｏ１を通ると共にＹ軸およびＺ軸のそれぞれに直交するＸ軸を設定する。座標系設定部２５は、これらのＸ軸とＹ軸とＺ軸とを３軸とする仮座標系ＣＳ１を設定する。
【００３７】
姿勢設定部２７は、設定された仮座標系ＣＳ１に、ツール５１に設定されているツール座標系ＣＳ２を一致させるように、ツール５１の三次元モデルを仮想空間上に配置する（ステップＳ１８）。
【００３８】
角度設定部２６は、第１法線ＮＬ１と第２法線ＮＬ２とがなす角度α０を算出し、算出した角度を二等分したツール５１の狙い角α１を設定する（ステップＳ１９）。角度設定部２６は、受付部２２が受け付けた操作に基づき、ツール５１の前進角β１を設定する（ステップＳ２０）。
【００３９】
座標系設定部２５は、図１０に示すように、仮座標系ＣＳ１と同じ座標系として設定されたツール座標系ＣＳ２を、設定された狙い角α１および前進角β１を用いて、仮座標系ＣＳ１のＸ軸およびＹ軸の軸回りに回転させて、図１１に示すようなツール座標系ＣＳ２を設定する（ステップＳ２１）。座標系設定部２５は、仮座標系ＣＳ１のＹ軸回りに設定された狙い角α１だけツール座標系ＣＳ２を回転させる。座標系設定部２５は、回転させたツール座標系ＣＳ２を、仮座標系ＣＳ１のＸ軸回りに前進角β１だけさらに回転させる。座標系設定部２５は、回転させた座標系に一致するツール座標系ＣＳ２を設定する。
【００４０】
姿勢設定部２７は、設定されたツール座標系ＣＳ２のＺ軸とツール５１の長手方向とが一致するツール５１の姿勢を、溶接時のツール５１の溶接姿勢として設定する（ステップＳ２２）。
【００４１】
プログラム作成部３１は、設定されたツール５１の長手方向にＺ軸が一致するツール座標系ＣＳ２において、算出された溶接ロボット５の各軸の角度を用いて溶接ロボット５の教示点を生成することにより溶接プログラムを生成する（ステップＳ２３）。そして、溶接ロボット５のプログラミング方法が終了する。
【００４２】
このように構成された本実施形態に係る溶接ロボット５の制御装置２によれば、指定されたワークＷＫ１とワークＷＫ２との溶接線ＷＬに平行なＹ軸と、Ｙ軸に直交すると共にワークＷＫ１に平行なＺ軸と、Ｙ軸とＺ軸とのそれぞれに直交するＸ軸とを３軸とする仮座標系ＣＳ１が設定され、仮座標系ＣＳ１と同じツール座標系ＣＳ２が設定される。設定された狙い角と前進角とに基づいて、仮座標系ＣＳ１と一致するように設定されたツール座標系ＣＳ２がＸ軸およびＹ軸の軸回りに回転し、回転後の座標系がツール座標系ＣＳ２として設定される。設定されたツール座標系ＣＳ２は、ツール５１の溶接姿勢が変化しても、ツール５１の長手方向がＺ軸に一致するように変化する。このツール座標系ＣＳ２を基準として、ワークＷＫ１とワークＷＫ２とを溶接する動作プログラムが生成される。
【００４３】
したがって、本実施形態の制御装置２によれば、溶接線ＷＬを基準として狙い角α１および前進角β１に基づいてツール座標系ＣＳ２が設定されている。そのため、ツール５１の溶接姿勢が変更される場合に、溶接ロボット５を使用するユーザーは、ツール座標系ＣＳ２のＺ軸に一致しているツール５１の長手方向を基準としてツール５１の溶接姿勢を変更できる。これにより、狙い角α１や前進角β１が一度設定されてツール５１の溶接姿勢が設定された後に、ユーザーが、ツール５１の姿勢を変更したい場合でも、この時点でのツール５１の溶接姿勢を基準としてツール５１の姿勢を変更できるため、ツール５１の溶接姿勢を調整しやすい。
【００４４】
図１２には、溶接ロボット５のプログラミング方法（図９）で設定されたツール５１の溶接姿勢を再設定する場合の溶接姿勢再設定処理のフローチャートが示されている。溶接姿勢再設定処理では、設定されたツール５１の溶接姿勢で溶接線ＷＬが溶接された場合に、ツール５１と周辺機器等との干渉と、溶接線ＷＬ上の全てへのツール５１の到達可否とが検討された上で、ツール５１の溶接姿勢が再設定される。
【００４５】
溶接姿勢再設定処理では、初めに、モデル取得部２３が、既に取得されたツール５１およびワークＷＫ１，ＷＫ２の三次元モデルのＣＡＤデータに加えて、ツール５１の周辺に配置された周辺機器の三次元モデルのＣＡＤデータを取得する（ステップＳ３１）。モデル取得部２３は、ツール５１と、ワークＷＫ１，ＷＫ２と、周辺機器との三次元モデルを仮想空間上に配置する（ステップＳ３２）。
【００４６】
干渉検出部２８は、仮想空間上において、姿勢設定部２７により設定されたツール５１の溶接姿勢で溶接線ＷＬが溶接された場合に、周辺機器やワークＷＫ１，ＷＫ２とツール５１との干渉を検出する干渉検出処理を行う（ステップＳ３３）。干渉検出処理では、設定されたツール５１の溶接姿勢で溶接線ＷＬの始点ＳＰから終点ＥＰまで溶接された場合に、ツール５１とワークＷＫ１，ＷＫ２や周辺機器との干渉が検出される。
【００４７】
図１３に示す干渉検出処理では、初めに、干渉検出部２８が、仮想空間上において、溶接線ＷＬに沿ってワークＷＫ１とワークＷＫ２とが溶接された場合に、ツール５１とワークＷＫ１，ＷＫ２や周辺機器との干渉を検出する（ステップＳ３３１）。干渉検出部２８は、仮想空間上において、設定されたツール５１の溶接姿勢で、溶接線ＷＬ上でツール５１を動かすことで、干渉を検出する。
【００４８】
ツール５１と周辺機器等との干渉が検出されなかった場合には（ステップＳ３３２：ＮＯ）、姿勢設定部２７が、既に設定されているツール５１の溶接姿勢を変更せず、干渉検出処理ではツール５１の溶接姿勢に変更がなかったものとして記憶部３２に記憶する（ステップＳ３３９）。そして、干渉検出処理が終了する。
【００４９】
ステップＳ３３２の処理において、図１４に示すように、仮想空間上において、ツール５１と周辺機器ＰＥとの干渉が検出された場合には（ステップＳ３３２：ＹＥＳ）、姿勢設定部２７は、ツール５１をＺ軸回りに回転させて（ステップＳ３３３）、干渉を解消できるか否かを判定する（ステップＳ３３４）。姿勢設定部２７は、ツール５１と周辺機器ＰＥとが干渉しないツール５１の溶接姿勢を設定するために、予め設定された回転可能な角度範囲でＺ軸回りにツール５１を回転させる。本実施形態では、ステップＳ３３３において、姿勢設定部２７は、Ｚ軸回りに、予め設定された微小角度ずつツール５１を回転させていき、ツール５１と周辺機器ＰＥとが干渉しない角度を算出する。
【００５０】
Ｚ軸回りにツール５１を回転させることでツール５１と周辺機器ＰＥとの干渉が解消できると判定された場合には（ステップＳ３３４：ＹＥＳ）、姿勢設定部２７は、干渉解消後のツール５１の姿勢を新たなツール５１の溶接姿勢として記憶部３２に記憶する（ステップＳ３３８）。そして、干渉検出処理が終了する。
【００５１】
ステップＳ３３４の処理において、Ｚ軸回りにツール５１を回転させてもツール５１と周辺機器ＰＥとの干渉が解消できないと判定された場合には（ステップＳ３３４：ＮＯ）、姿勢設定部２７は、Ｚ軸に加えて、Ｘ軸および／またはＹ軸の軸回りにツール５１を回転させて（ステップＳ３３５）、ツール５１と周辺機器ＰＥとの干渉を解消できるか否かを判定する（ステップＳ３３６）。Ｘ軸および／またはＹ軸の軸回りに回転させる方法は、ステップＳ３３３におけるＺ軸の軸回りに回転させる方法と同じである。
【００５２】
図１５に示すように、Ｚ軸に加えてＸ軸および／またはＹ軸の軸回りにツール５１が回転して、ツール５１と周辺機器ＰＥとの干渉が解消できると判定された場合には（ステップＳ３３６：ＹＥＳ）、姿勢設定部２７は、この場合のツール５１の姿勢を新たなツール５１の溶接姿勢として記憶部３２に記憶する（ステップＳ３３８）。そして、干渉検出処理が終了する。
【００５３】
Ｚ軸に加えてＸ軸および／またはＹ軸の軸回りにツール５１が回転しても、ツール５１と周辺機器ＰＥとの干渉が解消できないと判定された場合には（ステップＳ３３６：ＮＯ）、姿勢設定部２７は、干渉を解消できるツール５１の溶接姿勢はないと記憶部３２に記憶する（ステップＳ３３７）。そして、干渉検出処理が終了する。
【００５４】
干渉検出処理（図１３）が終了すると、姿勢設定部２７は、干渉検出処理後に記憶部３２に記憶されたツール５１の溶接姿勢について判定する（図１２のステップＳ３４）。ツール５１の溶接姿勢がないと記憶部３２に記憶されている場合には（ステップＳ３４：姿勢なし）、設定された溶接線ＷＬを溶接することが不可能であり、ワークＷＫ１，ＷＫ２の配置について再設定が必要であることがモニター２１に表示される（ステップＳ４１）。そして、溶接ロボットのプログラミング方法が終了する。
【００５５】
ステップＳ３４の処理において、記憶部３２に記憶されたツール５１の溶接姿勢が干渉検出処理前と異なる新たな姿勢であると判定された場合には（ステップＳ３４：変更あり）、後述の到達可否判定処理が実行される（ステップＳ３６）。
【００５６】
ステップＳ３４の処理において、記憶部３２に記憶されたツール５１の溶接姿勢が干渉検出処理前後で変更のない姿勢であると判定された場合には（ステップＳ３４：変更なし）、姿勢設定部２７は、この時点で、後述の到達可否判定処理が既に行われているか判定する（ステップＳ３５）。到達可否判定処理が既に行われていると判定された場合には（ステップＳ３５：ＹＥＳ）、後述の溶接姿勢の再設定が行われる（ステップＳ３８）。
【００５７】
ステップＳ３５の処理において、到達可否判定処理がまだ行われていないと判定された場合には（ステップＳ３５：ＮＯ）、到達可否判定部２９が、仮想空間上において、記憶部３２に記憶されたツール５１の溶接姿勢で溶接線ＷＬ上の全てにツール５１の到達できるか否かの到達可否判定処理を行う（ステップＳ３６）。
【００５８】
図１６に示す到達可否判定処理では、初めに、到達可否判定部２９が、干渉検出処理後に記憶部３２に記憶されたツール５１の溶接姿勢で溶接線ＷＬの始点ＳＰから終点ＥＰまでツール５１が到達できるか否かを判定する（ステップＳ３６１）。記憶部３２に記憶されたツール５１の溶接姿勢で溶接線ＷＬ上の全てにツール５１が到達できると判定された場合には（ステップＳ３６２：ＹＥＳ）、姿勢設定部２７が、ツール５１の溶接姿勢を変更せずに、溶接線ＷＬ上の全てに到達できるツール５１の溶接姿勢として記憶部３２に記憶する（ステップＳ３６９）。そして、到達可否判定処理が終了する。
【００５９】
ステップＳ３６２の処理において、設定されたツール５１の溶接姿勢で溶接線ＷＬ上の全てにはツール５１が到達できないと判定された場合には（ステップＳ３６２：ＮＯ）、姿勢設定部２７は、ツール５１をＺ軸回りに回転させて（ステップＳ３６３）、溶接線ＷＬ上の全てにツール５１が到達できるか否かを判定する（ステップＳ３６４）。姿勢設定部２７は、溶接線ＷＬ上の全てにツール５１が到達できる溶接姿勢を設定するために、予め設定された回転可能な角度範囲でＺ軸回りにツール５１を回転させる。なお、姿勢設定部２７は、干渉検出処理と同様の方法により、予め設定された微小角度ずつツール５１をＺ軸回りに回転させていき、溶接線ＷＬ上の全てにツール５１が到達できる溶接姿勢を算出する。
【００６０】
Ｚ軸回りにツール５１を回転させることで溶接線ＷＬ上の全てにツール５１が到達できると判定された場合には（ステップＳ３６４：ＹＥＳ）、姿勢設定部２７は、到達可能後のツール５１の姿勢を新たなツール５１の溶接姿勢として記憶部３２に記憶する（ステップＳ３６８）。そして、到達可否判定処理が終了する。
【００６１】
ステップＳ３６４の処理において、Ｚ軸回りにツール５１を回転させても溶接線ＷＬ上の全てにはツール５１が到達できないと判定された場合には（ステップＳ３６４：ＮＯ）、姿勢設定部２７は、Ｚ軸に加えて、Ｘ軸および／またはＹ軸の軸回りにツール５１を回転させて（ステップＳ３６５）、溶接線ＷＬ上の全てにツール５１が到達できるか否かを判定する（ステップＳ３６６）。Ｘ軸および／またはＹ軸の軸回りに回転させる方法は、ステップＳ３６３におけるＺ軸回りに回転させる方法と同じである。
【００６２】
Ｚ軸に加えてＸ軸および／またはＹ軸の軸回りにツール５１が回転して、溶接線ＷＬ上の全てにツール５１が到達できると判定された場合には（ステップＳ３６６：ＹＥＳ）、姿勢設定部２７は、この場合のツール５１の姿勢を新たなツール５１の溶接姿勢として記憶部３２に記憶する（ステップＳ３６８）。そして、干渉検出処理が終了する。
【００６３】
Ｚ軸に加えてＸ軸および／またはＹ軸の軸回りにツール５１が回転しても、溶接線ＷＬ上の全てにツール５１が到達できないと判定された場合には（ステップＳ３６６：ＮＯ）、姿勢設定部２７は、溶接線ＷＬ上の全てにツール５１が到達できる溶接姿勢がないと記憶部３２に記憶する（ステップＳ３６７）。そして、到達可否判定処理が終了する。
【００６４】
到達可否判定処理（図１６）が終了すると、姿勢設定部２７は、到達可否判定処理後に記憶部３２に記憶されたツール５１の溶接姿勢について判定する（図１２のステップＳ３７）。ツール５１の溶接姿勢がないと記憶部３２に記憶されている場合には（ステップＳ３７：姿勢なし）、ステップＳ４１の処理が実行された後、姿勢再設定処理が終了する。
【００６５】
ステップＳ３７の処理において、記憶部３２に記憶されたツール５１の溶接姿勢が到達可否判定処理前と異なる新たな姿勢であると判定された場合には（ステップＳ３７：変更あり）、再度、干渉検出処理が行われる（ステップＳ３３）。干渉検出部２８は、到達可否判定処理後に設定されたツール５１の溶接姿勢でも、周辺機器ＰＥなどとの干渉が発生しないかを確認するために、干渉検出処理を行う。
【００６６】
ステップＳ３７の処理において、記憶部３２に記憶されたツール５１の溶接姿勢が到達可否判定処理前後で変更のない姿勢であると判定された場合には（ステップＳ３７：変更なし）、姿勢設定部２７は、到達可否判定処理後に設定されたツール５１の溶接姿勢を溶接時の姿勢として再設定する（ステップＳ３８）。
【００６７】
プログラム作成部３１は、再設定後のツール５１の長手方向にＺ軸が一致したツール座標系ＣＳ２において、算出された溶接ロボット５の各軸の角度を用いて溶接ロボット５の教示点を生成することにより溶接プログラムを生成する（ステップＳ３９）。そして、姿勢再設定処理が終了する。
このように、干渉検出処理や到達可否判定処理が行われて、ツール座標系ＣＳ２およびツール５１の溶接姿勢が再設定されてもよい。
【００６８】
上記実施形態の制御装置２では、干渉検出処理および到達可否判定処理において、干渉が検出されたり、溶接線ＷＬ上の一部を溶接できなかったりした場合に、予め設定された回転可能な角度範囲でツール５１がＺ軸回りに回転する。Ｘ軸およびＹ軸よりも、優先的にＺ軸回りにツール５１を回転させて、ツール５１の溶接姿勢が変更されることで、狙い角α１および前進角β１の変化をできるだけ少なくしたツール５１の溶接姿勢が再設定される。また、予め設定された回転可能な角度範囲でＺ軸回りにツール５１が回転するため、ツール５１の基端から先端までにコードなどの他部品が存在する場合に、ツール５１と他部品との巻き付き等を回避できる。なお、他の実施形態では、予め回転可能な角度範囲が設定されていなくてもよいし、Ｚ軸を優先せずにＸ軸およびＹ軸の軸回りにツール５１が回転してもよい。
【００６９】
上記実施形態の制御装置２では、溶接線ＷＬ上における中点ＭＰが仮座標系ＣＳ１の原点Ｏ１およびツール座標系ＣＳ２の原点Ｏ２として設定されたが、原点Ｏ１，Ｏ２の設定については、種々変形可能である。例えば、原点Ｏ１，Ｏ２が、始点ＳＰに設定されてもよいし、始点ＳＰや終点ＥＰなどの複数の点に設定されてもよい。複数の原点が設定された場合には、原点のそれぞれでツール５１の溶接姿勢が設定されて、ツール５１が溶接時に溶接線ＷＬに沿って動く場合に、ツール５１の溶接姿勢が、設定された複数の原点に近づくごとに当該原点において設定された溶接姿勢に徐々に変化してもよい。
【００７０】
上記実施形態の制御装置２では、溶接線ＷＬが、直線であったが、曲線などの直線以外の線であってもよい。例えば、曲線の溶接線ＷＬ上の原点Ｏ１が設定された場合に、仮座標系ＣＳ１のＹ軸は、原点Ｏ１の接線に平行な線が定義されてもよい。また、溶接線ＷＬが直線や曲線などの複合の線である場合には、直線に含まれる点が優先的に原点Ｏ１として設定されてもよい。
【００７１】
上記実施形態の制御装置２では、狙い角α１が、第１法線ＮＬ１と第２法線ＮＬ２とがなす角度α０の半分の角度として設定されたが、狙い角α１の設定については種々変形可能である。例えば、狙い角α１は、受付部２２が受け付けた数値に基づいて設定されてもよいし、予め設定された角度範囲（例えば、４５度〜６０度）から選択されてもよい。また、上記実施形態では、前進角β１が、受付部２２が受け付けた操作に応じて設定されるようになっているが、例えば、予め設定された−２０度から＋２０度の角度範囲から選択されてもよい。また、記憶部３２に記憶された過去に設定された狙い角α１や前進角β１が自動的に設定されてもよい。
【００７２】
上記実施形態では、干渉検出処理および到達可否判定処理において、ツール５１の溶接姿勢をＺ軸などの軸回りに回転させて変更する場合に、予め設定された微小角度ずつツール５１を回転させて問題を解消するツール５１の溶接姿勢が設定された。一方で、他の実施形態において、ツール５１を軸回りに回転させる方法については、周知技術を応用でき、例えば、自動ではなくて手動の操作であってもよい。
【００７３】
上記実施形態では、制御装置２が画像を表示できるモニター２１を有していたが、他の実施形態では、制御装置２がモニター２１を有していなくてもよい。
【符号の説明】
【００７４】
１  溶接システム
２  制御装置（プログラミング装置）
５  溶接ロボット
２１  モニター
２２  受付部
２３  モデル取得部
２４  溶接線指定部
２５  座標系設定部
２６  角度設定部（狙い角設定部、前進角設定部）
２７  姿勢設定部
２８  干渉検出部
２９  到達可否判定部
３１  プログラム作成部
３２  記憶部
５１  ツール
ＣＳ１  仮座標系
ＣＳ２  ツール座標系
ＥＰ  終点
ＭＰ  中点
Ｏ１  仮座標系の原点
Ｏ２  ツール座標系の原点
ＰＥ  周辺機器
ＳＰ  始点
ＷＫ１，ＷＫ２  ワーク
ＷＬ  溶接線
α１  狙い角
β１  前進角
【図１】
2019048358.tif 000003
【図２】
2019048358.tif 000004
【図３】
2019048358.tif 000005
【図４】
2019048358.tif 000006
【図５】
2019048358.tif 000007
【図６】
2019048358.tif 000008
【図７】
2019048358.tif 000009
【図８】
2019048358.tif 000010
【図９】
2019048358.tif 000011
【図１０】
2019048358.tif 000012
【図１１】
2019048358.tif 000013
【図１２】
2019048358.tif 000014
【図１３】
2019048358.tif 000015
【図１４】
2019048358.tif 000016
【図１５】
2019048358.tif 000017
【図１６】
2019048358.tif 000018