(57)【要約】  本発明は多関節ロボットのティーチングデータ作成装置及び作成方法に関する。既存のワーク（８０）の作業点に関するデータのうち、作業点の位置を示す既存位置データと、作業点におけるエンドエフェクタ（２２）の姿勢を示す既存姿勢データと、を作業点毎に関連付けて記憶するデータベースから、新規位置データと近似する既存位置データを検索する。次いで、検索した既存位置データに関連付けられている既存姿勢データを抽出する。次いで、抽出した既存姿勢データを用いて未完の新規姿勢データを完成させる。こうした一連の処理によって、ティーチングデータの精度を向上させることができる。
2015166574.tif 000002
【特許請求の範囲】
【請求項１】
アーム（２０）の先端に取り付けられたエンドエフェクタ（２２）を、ティーチングデータに従って、ワーク（８０）に設定された複数の作業点に順次移動させて作業を行う多関節ロボットのティーチングデータ作成装置であって、
既存のワーク（８０）の前記作業点に関するデータのうち、前記作業点の位置を示す既存位置データと、前記作業点における前記エンドエフェクタ（２２）の姿勢を示す既存姿勢データと、を前記作業点毎に関連付けて記憶する既存データ記憶部（３２）と、
新規のワーク（８０）の前記作業点に関するデータのうち、前記作業点の位置を示す新規位置データと、前記作業点における前記エンドエフェクタ（２２）の姿勢を示す未完の新規姿勢データと、を供給する新規データ供給部（３４）と、
前記既存データ記憶部（３２）から前記新規データ供給部（３４）の前記新規位置データと近似する前記既存位置データを検索し、検索した前記既存位置データに関連付けられている前記既存姿勢データを抽出し、抽出した前記既存姿勢データを用いて前記未完の新規姿勢データを完成させる姿勢データ作成部（３６２）と、を備えたことを特徴とする多関節ロボットのティーチングデータ作成装置。
【請求項２】
請求項１記載の多関節ロボットのティーチングデータ作成装置において、
前記既存姿勢データ及び前記新規姿勢データは、前記作業点を基準点として互いに直交する３つの回転軸（Ｘｒ、Ｙｒ、Ｚｒ）を中心とする回転角度で示され、
前記未完の新規姿勢データは、前記３つの回転軸（Ｘｒ、Ｙｒ、Ｚｒ）のうち作業点の表面の法線方向と一致する回転軸を中心とする回転角度で示されることを特徴とする多関節ロボットのティーチングデータ作成装置。
【請求項３】
請求項１又は２記載の多関節ロボットのティーチングデータ作成装置において、
前記姿勢データ作成部（３６２）は、前記新規位置データと前記新規姿勢データを互いに関連付けて前記既存データ記憶部（３２）に記憶させることを特徴とする多関節ロボットのティーチングデータ作成装置。
【請求項４】
請求項１〜３の何れか１項記載の多関節ロボットのティーチングデータ作成装置において、
前記作業点毎の前記新規位置データと前記新規姿勢データとを用いて、新規のワーク（８０）の２つの前記作業点の間に、前記エンドエフェクタ（２２）の移動経路（６０）を設定する移動経路設定部（３６４）をさらに備えたことを特徴とする多関節ロボットのティーチングデータ作成装置。
【請求項５】
請求項４記載の多関節ロボットのティーチングデータ作成装置において、
前記新規データ供給部（３４）は、前記エンドエフェクタ（２２）の可動範囲内にある干渉物（８２）の位置を示す干渉物位置データを供給し、
前記移動経路設定部（３６４）は、前記２つの作業点の間に前記干渉物（８２）があるか否かを判断し、干渉物（８２）がないと判断した場合は前記２つの作業点を直線で繋いだ直線経路（６０）を移動経路として設定し、干渉物（８２）があると判断した場合は前記干渉物（８２）を回避する回避経路（６２、６４、６６、６８）を設定することを特徴とする多関節ロボットのティーチングデータ作成装置。
【請求項６】
アーム（２０）の先端に取り付けられたエンドエフェクタ（２２）を、ティーチングデータに従って、ワーク（８０）に設定された複数の作業点に順次移動させて作業を行う多関節ロボットのティーチングデータ作成方法であって、
新規のワーク（８０）の前記作業点に関するデータのうち、前記作業点の位置を示す新規位置データと、前記作業点における前記エンドエフェクタ（２２）の姿勢を示す未完の新規姿勢データと、を供給する新規データ供給工程と、
既存のワーク（８０）の前記作業点に関するデータのうち、前記作業点の位置を示す既存位置データと、前記作業点における前記エンドエフェクタ（２２）の姿勢を示す既存姿勢データと、を前記作業点毎に関連付けて記憶するデータベースから前記新規データ供給工程で供給された前記新規位置データと近似する前記既存位置データを検索する既存データ検索工程と、
検索した前記既存位置データに関連付けられている前記既存姿勢データを抽出する既存データ抽出工程と、
抽出した前記既存姿勢データを用いて前記未完の新規姿勢データを完成させる姿勢データ作成工程と、を含むことを特徴とする多関節ロボットのティーチングデータ作成方法。
【請求項７】
請求項６記載の多関節ロボットのティーチングデータ作成方法において、
前記姿勢データ作成工程で、前記新規位置データと前記新規姿勢データを互いに関連付けて前記データベースに記憶させることを特徴とする多関節ロボットのティーチングデータ作成方法。
【請求項８】
請求項６又は７項記載の多関節ロボットのティーチングデータ作成方法において、
前記作業点毎の前記新規位置データと前記新規姿勢データとを用いて、新規のワーク（８０）の２つの前記作業点の間に、前記エンドエフェクタ（２２）の移動経路（６０）を設定する移動経路設定工程をさらに備えたことを特徴とする多関節ロボットのティーチングデータ作成方法。
【請求項９】
請求項８記載の多関節ロボットのティーチングデータ作成方法において、
前記移動経路設定工程は、
前記２つの作業点の間に干渉物（８２）があるか否かを判断する判断工程と、
前記判断工程で前記干渉物（８２）がないと判断した場合に前記２つの作業点を直線で繋いだ直線経路（６０）を移動経路として設定する直線経路設定工程と、
前記判断工程で前記干渉物（８２）があると判断した場合に前記干渉物（８２）を回避する回避経路（６２、６４、６６、６８）を設定する回避経路設定工程と、を含むことを特徴とする多関節ロボットのティーチングデータ作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アームの先端に取り付けられたエンドエフェクタを、ティーチングデータに従って、ワークに設定された複数の作業点に順次移動させて作業を行う多関節ロボットのティーチングデータ作成装置及び作成方法に関する。
【背景技術】
【０００２】
自動車用の車体の製造ラインに配置される溶接用の多関節ロボットは、アームの先端にエンドエフェクタ（溶接ガン）を備え、アームを駆動することによってエンドエフェクタを各作業点（各打点）に移動させてスポット溶接を行う。各作業点におけるエンドエフェクタの姿勢及び２つの作業点間におけるエンドエフェクタの移動経路は、ティーチングデータとして予め設定される。ティーチングデータの設定手法としてはオンラインティーチングとオフラインティーチングとがあるが、近年はオフラインティーチングの需要が高まっている。こうしたなかでティーチングデータを効率良く作成する技術が望まれている。【０００３】
特許第３６４７４０４号公報（以下、特許文献１という）は、エンドエフェクタの移動経路に関わるティーチングデータを自動的に作成する技術を示している。具体的には、エンドエフェクタの電極をワーク内からワーク外に引き抜くための移動経路（狭域動作経路）と、エンドエフェクタを２つの作業点間で移動させるための移動経路（広域動作経路）を自動的に設定する技術を示している。【０００４】
特許第４０００３０６号公報（以下、特許文献２という）は、各作業点におけるエンドエフェクタの姿勢に関わるティーチングデータを自動的に作成する技術を示している。具体的には、第１車種の任意の部位、例えば窓枠、の各作業点におけるエンドエフェクタの姿勢データを修正したうえで、第２車種の任意の部位、例えば窓枠、の各作業点におけるエンドエフェクタの姿勢データとして使用する技術を示している。
【発明の概要】
【０００５】
特許文献１の技術は、エンドエフェクタの移動経路を自動的に設定する。このため、ティーチングに関わるオペレータの負担は低減する。しかし、各作業点におけるエンドエフェクタの姿勢データはオペレータが設定しなければならない。この点では非効率的である。
【０００６】
特許文献２の技術は、各作業点におけるエンドエフェクタの姿勢データを自動的に設定する。このため、特許文献１の技術の不足部分を補うことができる。しかしながら、特許文献２の技術は、特定の車種間且つ特定の部位間でデータを流用しているのみである。類似しない車種間でデータを流用した場合に、ティーチングデータの精度が低下する可能性がある。
【０００７】
本発明はこのような課題を考慮してなされたものであり、新規のワークのティーチングデータを作成する際に、精度の高いティーチングデータを効率よく設定することによって、ティーチング作業の効率化を図ることができる多関節ロボットのティーチングデータ作成装置及び作成方法を提供することを目的とする。
【０００８】
本発明は、アームの先端に取り付けられたエンドエフェクタを、ティーチングデータに従って、ワークに設定された複数の作業点に順次移動させて作業を行う多関節ロボットのティーチングデータ作成装置であって、既存のワークの前記作業点に関するデータのうち、前記作業点の位置を示す既存位置データと、前記作業点における前記エンドエフェクタの姿勢を示す既存姿勢データと、を前記作業点毎に関連付けて記憶する既存データ記憶部と、新規のワークの前記作業点に関するデータのうち、前記作業点の位置を示す新規位置データと、前記作業点における前記エンドエフェクタの姿勢を示す未完の新規姿勢データと、を供給する新規データ供給部と、前記既存データ記憶部から前記新規データ供給部の前記新規位置データと近似する前記既存位置データを検索し、検索した前記既存位置データに関連付けられている前記既存姿勢データを抽出し、抽出した前記既存姿勢データを用いて前記未完の新規姿勢データを完成させる姿勢データ作成部と、を備えたことを特徴とする。
【０００９】
本発明の前記既存姿勢データ及び前記新規姿勢データは、作業点を基準点として互いに直交する３つの回転軸を中心とする回転角度で示され、前記未完の新規姿勢データは、前記３つの回転軸のうち作業点の表面の法線方向と一致する回転軸を中心とする回転角度で示されていてもよい。
【００１０】
本発明の前記姿勢データ作成部は、前記新規位置データと前記新規姿勢データを互いに関連付けて前記既存データ記憶部に記憶させてもよい。
【００１１】
本発明は、前記作業点毎の前記新規位置データと前記新規姿勢データとを用いて、新規のワークの２つの前記作業点の間に、前記エンドエフェクタの移動経路を設定する移動経路設定部をさらに備えてもよい。
【００１２】
本発明の前記新規データ供給部は、前記エンドエフェクタの可動範囲内にある干渉物の位置を示す干渉物位置データを供給し、前記移動経路設定部は、前記２つの作業点の間に前記干渉物があるか否かを判断し、干渉物がないと判断した場合は前記２つの作業点を直線で繋いだ直線経路を移動経路として設定し、干渉物があると判断した場合は前記干渉物を回避する回避経路を設定してもよい。
【００１３】
また、本発明は、アームの先端に取り付けられたエンドエフェクタを、ティーチングデータに従って、ワークに設定された複数の作業点に順次移動させて作業を行う多関節ロボットのティーチングデータ作成方法であって、新規のワークの前記作業点に関するデータのうち、前記作業点の位置を示す新規位置データと、前記作業点における前記エンドエフェクタの姿勢を示す未完の新規姿勢データと、を供給する新規データ供給工程と、既存のワークの前記作業点に関するデータのうち、前記作業点の位置を示す既存位置データと、前記作業点における前記エンドエフェクタの姿勢を示す既存姿勢データと、を前記作業点毎に関連付けて記憶するデータベースから前記新規データ供給工程で供給された前記新規位置データと近似する前記既存位置データを検索する既存データ検索工程と、検索した前記既存位置データに関連付けられている前記既存姿勢データを抽出する既存データ抽出工程と、抽出した前記既存姿勢データを用いて前記未完の新規姿勢データを完成させる姿勢データ作成工程と、を含むことを特徴とする。
【００１４】
本発明の前記姿勢データ作成工程では、前記新規位置データと前記新規姿勢データを互いに関連付けて前記データベースに記憶させてもよい。
【００１５】
本発明は、前記作業点毎の前記新規位置データと前記新規姿勢データとを用いて、新規のワークの２つの前記作業点の間に、前記エンドエフェクタの移動経路を設定する移動経路設定工程をさらに備えてもよい。
【００１６】
本発明の前記移動経路設定工程は、前記２つの作業点の間に干渉物があるか否かを判断する判断工程と、前記判断工程で前記干渉物がないと判断した場合に前記２つの作業点を直線で繋いだ直線経路を移動経路として設定する直線経路設定工程と、前記判断工程で前記干渉物があると判断した場合に前記干渉物を回避する回避経路を設定する回避経路設定工程と、を含んでもよい。
【００１７】
本発明は、新規のワークのティーチングデータを設定する際に、既存のワークに関する全てのデータの中から新規のワークのデータに一定程度以上近似するデータを検索して使用する。このため、ティーチングデータの精度を向上させることができる。
【００１８】
また、本発明は、新規姿勢データを作成する際に使用する既存姿勢データを、特定の近似判断によって機械的に検索する。このため、オペレータの経験に関わらず既存姿勢データの抽出を容易に行うことができる。結果として、ティーチングデータの設定作業が容易になる。
【図面の簡単な説明】
【００１９】
【図１】図１は多関節ロボットの構成を示す図である。
【図２】図２は多関節ロボットのティーチングデータ作成装置の構成を模式化して示す図である。
【図３】図３は姿勢データ作成部が行う処理のフローチャートである。
【図４】図４は移動経路設定部が行う処理のフローチャートである。
【図５】図５は移動経路設定部が行う処理のフローチャートである。
【図６】図６は移動経路設定部が行う処理のフローチャートである。
【図７】図７は移動経路設定部が行う処理のフローチャートである。
【図８】図８Ａは移動経路を説明するための模式図であり、図８Ｂは第１回避経路を説明するための模式図であり、図８Ｃは第３回避経路を説明するための模式図である。
【図９】図９はエンドエフェクタのアーム内に仮想したソリッド及びワークモデルを示す図である。
【図１０】図１０Ａはワークモデルのワークソリッドの中心点を示す図であり、図１０Ｂは主成分線を求める手順を示す図である。
【図１１】図１１は第１回避点（第２回避点）及び第１回避経路（第３回避経路）を説明するための図である。
【図１２】図１２は回避点を説明するための図である。
【発明を実施するための形態】
【００２０】
以下、この発明に係る多関節ロボットのティーチングデータ作成装置及び作成方法について、図面を参照しながら説明する。なお、本実施の形態では、車体の溶接を行う多関節ロボットに対するティーチングを想定している。
【００２１】
図１は、多関節ロボット１２の構成を示す。多関節ロボット１２は、産業用の多関節型のロボットであり、ベース部１４と、該ベース部１４を基準にして順に、第１アーム１６、第２アーム１８及び第３アーム２０とを有する。第３アーム２０の先端には溶接ガンであるエンドエフェクタ２２が設けられる。エンドエフェクタ２２は、第３アーム２０に対して着脱自在である。第１アーム１６はベース部１４に対して水平及び垂直に回動可能な軸Ｊ１、Ｊ２によって回動可能である。第２アーム１８は第１アーム１６と軸Ｊ３で回動可能に連結される。第２アーム１８は軸Ｊ４によって捻れ回転が可能である。第３アーム２０は第２アーム１８と軸Ｊ５で回動可能に連結される。第３アーム２０は軸Ｊ６によって捻れ回転が可能である。軸Ｊ４及び軸Ｊ６はそれぞれ３６０°以上の捻れ回動が可能である。
【００２２】
多関節ロボット１２に関する座標計算及び制御上の基準点として、軸Ｊ１と軸Ｊ２とが交差する点を原点（元軸の中心点）として規定し、この原点を基準として、鉛直上向き方向（図１の上方向）を高さＺ、回転角θ１がθ１＝０であるときの軸Ｊ２の方向を奥行Ｙ、高さＺと奥行Ｙに垂直な方向を幅Ｘとして表す。この高さＺ、幅Ｘ及び奥行Ｙにより３次元直交座標を示すものとする。
【００２３】
エンドエフェクタ２２は、軸線Ｌ上に開閉する一対の電極２２ａ、２２ｂを有するＣ型溶接ガンである。電極２２ａ、２２ｂは閉状態では軸線Ｌ上の作業点（ＴＣＰ（Ｔｏｏｌ Ｃｅｎｔｅｒ Ｐｏｉｎｔ）ともいう）でワークに接触する。エンドエフェクタ２２の姿勢は、この作業点を基準点とした互いに直交する３軸を中心軸とする回転角度で定義される。３軸の１つとして、電極２２ａ、２２ｂの軸線Ｌに一致する軸をＺｒとし、この軸Ｚｒを中心とする回転角度をＲｚとする。この軸Ｚｒは作業点の表面の法線方向と一致する。３軸の１つとして、エンドエフェクタ２２の外側に向く軸をＸｒとし、この軸Ｘｒを中心とする回転角度をＲｘとする。３軸の１つとして、軸Ｘｒ、Ｚｒに互いに直交する軸をＹｒとし、この軸Ｙｒを中心とする回転角度をＲｙとする。エンドエフェクタ２２の姿勢は、これらの３つの回転角度Ｒｘ、Ｒｙ、Ｒｚで示される。
【００２４】
軸Ｊ１、Ｊ２、Ｊ３、Ｊ４、Ｊ５及びＪ６の駆動機構並びに電極２２ａ、２２ｂの開閉機構はそれぞれ図示しないアクチュエータによって駆動され、作業点の座標は軸Ｊ１〜Ｊ６の回動角度及び多関節ロボット１２の各部の寸法によって決定される。
【００２５】
このような６軸構成の多関節ロボット１２の動作によって、先端部に接続されたエンドエフェクタ２２は車両の近傍における任意の位置に移動可能であって、且つ、任意の向きに設定可能である。換言すると、エンドエフェクタ２２は６自由度の移動が可能である。多関節ロボット１２は、回転動作以外にも伸縮動作、平行リンク動作等の動作部を有するものであってもよい。
【００２６】
多関節ロボット１２は、ロボット制御部２４に設定されたティーチングデータに従って動作する。なお、多関節ロボット１２及びロボット制御部２４は、車両を製造する現場の製造ラインに配設される。
【００２７】
ロボット制御部２４に設定されるティーチングデータは、図２で示す多関節ロボットのティーチングデータ作成装置（以下、「ティーチングデータ作成装置」という）３０にて作成される。
【００２８】
ティーチングデータ作成装置３０は、既存のワークの作業点（ここでは溶接打点）に関するデータを記憶する既存データ記憶部３２と、新規のワークの作業点に関するデータを供給する新規データ供給部３４と、既存データ記憶部３２のデータと新規データ供給部３４のデータを用いてエンドエフェクタ２２の移動経路に関わるティーチングデータを作成するティーチングデータ作成部３６と、ティーチングデータ作成部３６に対してティーチングデータ作成指令信号を出力する端末装置３８と、を有する。
【００２９】
既存データ記憶部３２は、データベースによって構成される。このデータベースは、既存のワークの作業点に関するデータのうち、作業点の位置を示す既存位置データと、作業点におけるエンドエフェクタ２２の姿勢を示す既存姿勢データと、を作業点毎に関連付けて記憶する。既存位置データは、既存のワークの作業点の位置を、上述した多関節ロボット１２の原点を基準とした座標系で示す座標データ（Ｘ、Ｙ、Ｚ）である。ここでは既存位置データを（Ｘｏ、Ｙｏ、Ｚｏ）とする。既存姿勢データは、上述した３軸（Ｘｒ、Ｙｒ、Ｚｒ）のそれぞれを中心とした回転角度データ（Ｒｘ、Ｒｙ、Ｒｚ）である。ここでは既存姿勢データを（Ｒｘｏ、Ｒｙｏ、Ｒｚｏ）とする。
【００３０】
既存データ記憶部３２で記憶されるデータが多いほどティーチングデータを自動作成できる可能性が高まる。ワークが車体の場合は、既存する車体の全溶接データが記憶されることが好ましい。
【００３１】
新規データ供給部３４は、データベースによって構成される。このデータベースは、新規のワークの作業点に関するデータのうち、作業点の位置を示す新規位置データと、作業点におけるエンドエフェクタ２２の姿勢を示す新規姿勢データと、作業順序（溶接順序）と関連付けて記憶する。また、このデータベースは、治具の位置を示す治具位置データや、ワークの設計データや製造ライン内の障害物の位置データ等も記憶する。
【００３２】
新規位置データは、新規のワークの作業点の位置を、上述した多関節ロボット１２の原点を基準とした座標系で示す座標データ（Ｘ、Ｙ、Ｚ）である。ここでは新規位置データを（Ｘｎ、Ｙｎ、Ｚｎ）とする。新規姿勢データは、上述した３軸（Ｘｒ、Ｙｒ、Ｚｒ）のそれぞれを中心とした回転角度データ（Ｒｘ、Ｒｙ、Ｒｚ）である。ここでは新規姿勢データを（Ｒｘｎ、Ｒｙｎ、Ｒｚｎ）とする。但し、新規データ供給部３４が記憶するのは、新規姿勢データ（Ｒｘｎ、Ｒｙｎ、Ｒｚｎ）のうち、新規位置データ（Ｘｎ、Ｙｎ、Ｚｎ）の表面の法線方向の軸Ｚｒを中心とする回転角度を示す未完の新規姿勢データ（Ｒｚｎ）のみである。つまり、新規データ供給部３４は未完の新規姿勢データを記憶する。
【００３３】
ティーチングデータ作成部３６は、エンドエフェクタ２２の新規姿勢データを完成させる姿勢データ作成部３６２と、新規のワーク内の各作業点間にエンドエフェクタ２２の移動経路を作成する移動経路設定部３６４と、を有する。姿勢データ作成部３６２が行う処理については図３で示すフローチャートの説明の際に合わせて説明する。また、移動経路設定部３６４が行う処理については図４で示すフローチャートの説明の際に合わせて説明する。姿勢データ作成部３６２及び移動経路設定部３６４で作成されたエンドエフェクタ２２の移動経路に関わるティーチングデータは、既存データ記憶部３２に記憶され、また、図示しない記憶媒体又はネットワークを介して、図１で示されるロボット制御部２４にコピーされる。
【００３４】
端末装置３８は、パーソナルコンピュータで構成され、オペレータがティーチングデータ作成装置３０を動作させるためのマンマシンインタフェースである。端末装置３８はオペレータの操作に応じたティーチングデータ作成指令信号をティーチングデータ作成装置３０に送信し、ティーチング処理を開始させる。また、端末装置３８は、ティーチングデータ作成装置３０から送信されるメッセージをディスプレイに表示する。
【００３５】
次に姿勢データ作成部３６２が行う処理について、図３で示すフローチャートを用いて説明する。
【００３６】
オペレータが端末装置３８を所定操作すると、端末装置３８からティーチングデータ作成装置３０にティーチングデータ作成指令信号が送信される。ティーチングデータ作成装置３０がティーチングデータ作成指令信号を受信すると、姿勢データ作成部３６２は以下の処理を行う。
【００３７】
先ず、新規データ供給部３４から作業順（溶接順）に、新規位置データ（Ｘｎ、Ｙｎ、Ｚｎ）と未完の新規姿勢データ（Ｒｚｎ）を読み出す（ステップＳ３０１）。
【００３８】
次に、既存データ記憶部３２から新規位置データ（Ｘｎ、Ｙｎ、Ｚｎ）と近似する既存位置データ（Ｘｏ、Ｙｏ、Ｚｏ）を検索する（ステップＳ３０２）。具体的には、既存位置データ（Ｘｏ、Ｙｏ、Ｚｏ）と新規位置データ（Ｘｎ、Ｙｎ、Ｚｎ）との差、すなわち既存座標に対する新規座標の位置ずれ量が所定範囲内に収まっているかを下記（１）〜（３）式にて判別する。
｜Ｘｏ−Ｘｎ｜  ＜  １６０ｍｍ    （１）
｜Ｙｏ−Ｙｎ｜  ＜  １２０ｍｍ    （２）
｜Ｚｏ−Ｚｎ｜  ＜  ２００ｍｍ    （３）
【００３９】
上記（１）〜（３）式で用いられる閾値１６０ｍｍ、１２０ｍｍ、２００ｍｍは端末装置３８によって適宜変更可能である。検索対象は、既存データ記憶部３２に記憶されている全てのデータである。
【００４０】
既存データ記憶部３２に近似する既存位置データ（Ｘｏ、Ｙｏ、Ｚｏ）が存在すれば、その既存位置データ（Ｘｏ、Ｙｏ、Ｚｏ）に関連付けられている既存姿勢データ（Ｒｘｏ、Ｒｙｏ、Ｒｚｏ）を既存データ記憶部３２から抽出する（ステップＳ３０３）。近似する既存位置データ（Ｘｏ、Ｙｏ、Ｚｏ）が複数存在する場合は、最も位置ずれ量が小さい既存位置データ（Ｘｏ、Ｙｏ、Ｚｏ）を選択する。
【００４１】
次に、抽出した既存姿勢データ（Ｒｘｏ、Ｒｙｏ、Ｒｚｏ）の一部要素（Ｒｚｏ）と未完の新規姿勢データ（Ｒｚｎ）とを用いて、抽出した既存姿勢データの一部要素（Ｒｘｏ、Ｒｙｏ）を修正し、新規姿勢データ（Ｒｘｎ、Ｒｙｎ、Ｒｚｎ）を作成する（ステップＳ３０４）。具体的には、既存姿勢データの一部要素（Ｒｚｏ）と新規姿勢データ（Ｒｚｎ）を一致させるように回転変換を行う。このとき、既存姿勢データの一部要素（Ｒｘｏ、Ｒｙｏ）も同様に回転変換されて、新規姿勢データの一部要素（Ｒｘｎ、Ｒｙｎ）が作成される。この作成された新規姿勢データの一部要素（Ｒｘｎ、Ｒｙｎ）と、供給された未完の新規姿勢データの一部要素（Ｒｚｎ）を組み合わせると、新規姿勢データ（Ｒｘｎ、Ｒｙｎ、Ｒｚｎ）が完成する。
【００４２】
新規姿勢データ（Ｒｘｎ、Ｒｙｎ、Ｒｚｎ）を作成したら、新規姿勢データ（Ｒｘｎ、Ｒｙｎ、Ｒｚｎ）を新規位置データ（Ｘｎ、Ｙｎ、Ｚｎ）と関連付けて既存データ記憶部３２に記憶させる（ステップＳ３０５）。
【００４３】
ステップＳ３０５の処理が終了したら、新規データ供給部３４のデータが終了したか判断し（ステップＳ３０６）、終了していない場合はステップＳ３０１〜ステップＳ３０５の一連の処理を繰り返し（ステップＳ３０６：：ＮＯ）、終了した場合は一連の処理を終了する（ステップＳ３０６：ＹＥＳ）。
【００４４】
次に移動経路設定部３６４が行う処理について、図４、図５、図６、図７を用いて説明する。なお、以下の処理で、移動経路設定部３６４は、新規データ供給部３４から供給された新規位置データ（Ｘｎ、Ｙｎ、Ｚｎ）によって各作業点の位置を判断し、また、姿勢データ作成部３６２で作成された新規姿勢データ（Ｒｘｎ、Ｒｙｎ、Ｒｚｎ）によって各作業点におけるエンドエフェクタ２２の姿勢を判断している。
【００４５】
図３で示される姿勢データ作成部３６２の一連の処理が終了すると、作業順（溶接順）に、エンドエフェクタ２２の移動経路を作成する処理を行う。
【００４６】
先ず、作業点の作業順序を示す「ｘ」に１を設定する（ステップＳ４０１）。次に、連続して作業される２つの作業点Ｖ１（ｘ）、Ｖ１（ｘ＋１）の新規位置データを用いて、２つの作業点Ｖ１（ｘ）、Ｖ１（ｘ＋１）の間に干渉物があるか否かを判断する（ステップＳ４０２）。干渉物の位置は、新規データ供給部３４に記憶された治具位置データやワークの設計データを用いて判断する。図８Ａで示すように、ワーク８０内の２つの作業点Ｖ１（ｘ）、Ｖ１（ｘ＋１）の間に干渉物がない場合は（ステップＳ４０２：：ＮＯ）、２つの作業点Ｖ１（ｘ）、Ｖ１（ｘ＋１）を直線で繋いだ直線経路を移動経路６０として設定する（ステップＳ４０３）。そして、「ｘ」に「ｘ＋１」を設定し（ステップＳ４０４）、データが終了したか判断する（ステップＳ４０５）。データが終了していなければ、ステップＳ４０２に戻って次の作業点に対する一連の処理を行い（ステップＳ４０５：ＮＯ）、データが終了していれば一連の処理を終了する（ステップＳ４０５：ＹＥＳ）。
【００４７】
ステップＳ４０２の判断において、図８Ｂ、図８Ｃで示すように、ワーク８０内の２つの作業点Ｖ１（ｘ）、Ｖ１（ｘ＋１）の間に干渉物８２がある場合は、干渉物８２を回避する回避経路を作成するための処理を行う（ステップＳ４０２：ＹＥＳ）。エンドエフェクタ２２と干渉物８２との干渉を回避するには、エンドエフェクタ２２をワーク８０から引き抜く必要がある。以下で説明するステップＳ５０１〜Ｓ５０５は、エンドエフェクタ２２をワーク８０から引き抜くための処理である。以下の処理を２つの作業点Ｖ１（ｘ）、Ｖ１（ｘ＋１）のそれぞれについて行う。
【００４８】
先ず、図９で示すように、エンドエフェクタ２２のアーム２２ｃ内に正方形のソリッド４２からなる格子を仮想的に作成する（ステップＳ５０１）。このときエンドエフェクタ２２のアーム２２ｃ内にあるワーク８０の断面と重なるソリッド４２をワークモデル４４とする。ソリッド４２の作成手法については、特許文献１に示されているため、ここではその説明を省略する。
【００４９】
次に、エンドエフェクタ２２を、作業姿勢を維持したままワーク８０外に引き抜けるか判断する（ステップＳ５０２）。エンドエフェクタ２２の姿勢は、姿勢データ作成部３６２が作成した新規姿勢データ（Ｒｘｎ、Ｒｙｎ、Ｒｚｎ）を使用する。エンドエフェクタ２２をワーク８０外に引き抜く際には、電極２２ａ、２２ｂを開放する。ここでは、電極２２ａ、２２ｂを開放しても、電極２２ａ、２２ｂ又はエンドエフェクタ２２のアーム２２ｃがワークモデル４４と干渉するか判断する。
【００５０】
エンドエフェクタ２２を干渉なく引き抜けない、すなわち、電極２２ａ、２２ｂ又はアーム２２ｃとワークモデル４４が干渉すると判断した場合は（ステップＳ５０２：ＮＯ）、エンドエフェクタ２２の姿勢を変更して引き抜く必要があるため、ステップＳ５０３〜Ｓ５０５の処理を行う。
【００５１】
ワークモデル４４の厚さ（電極２２ａ、２２ｂの軸方向のワークモデル４４の長さ）が、電極２２ａ、２２ｂを開放した場合の電極２２ａ、２２ｂの間隔から４０ｍｍを減じた値よりも大きいかを判断する（ステップＳ５０３）。これは、電極２２ａ、２２ｂのそれぞれの先端とワークモデル４４の外周面との間にそれぞれ２０ｍｍの間隔を確保できるかの判断である。
【００５２】
ワークモデル４４の厚さが、電極２２ａ、２２ｂの間隔から４０ｍｍを減じた値よりも小さいか又は等しい場合は（ステップＳ５０３：ＮＯ）、エンドエフェクタ２２の姿勢として、電極２２ａの先端とワークモデル４４の外周面との間及び電極２２ｂの先端とワークモデル４４の外周面との間にそれぞれ２０ｍｍ以上の間隔を確保した姿勢を作成する（ステップＳ５０４）。
【００５３】
一方、ワークモデル４４の厚さが、電極２２ａ、２２ｂの間隔から４０ｍｍを減じた値よりも大きい場合は（ステップＳ５０３：ＹＥＳ）、エンドエフェクタ２２をワークモデル４４に対して傾けて引き抜く経路を作成する（ステップＳ５０５）。この経路を作成する処理として、図１０Ａに示すように各ワークソリッド４６の中心点座標４６ａ（Ｘｓ、Ｙｓ、Ｚｓ）を規定する。次に、図１０Ｂに示すように、各中心点座標４６ａと主成分線Ｍ１との距離ｓの二乗和が最小になるようにする。つまり、
Σ｜ｓ｜2＝ｍｉｎ
となる主成分線Ｍ１を規定する。より具体的には、各中心点座標４４ａから分散、共分散行列の固有値、固有ベクトルを算出し、さらにＸｓ、Ｙｓ、ＺｓからＸ、Ｙ、Ｚ各座標の平均値である重心位置Ｇ１を求め、この重心位置Ｇ１を通る固有ベクトルが主成分線Ｍ１になる。この主成分線Ｍ１をエンドエフェクタ２２の引き抜き経路とする。引き抜く際には、エンドエフェクタ２２の３軸のうちの軸Ｘｒが主成分線Ｍ１と一致するようにエンドエフェクタ２２を傾けて引き抜けばよい。
【００５４】
ステップＳ５０２で干渉なく引き抜けると判断するか、ステップＳ５０４の処理が終了するか、ステップＳ５０５の処理が終了したら、作業点Ｖ１（ｘ）に対応する第１回避点Ｖ２（ｘ）をワーク８０外に設定する（ステップＳ５０６）。本実施の形態では、図１１で示すように、エンドエフェクタ２２の３軸のうちの軸Ｘｒ上の位置であって、ワーク８０の端面８０ａからワーク８０の外側の方向に５０ｍｍ離れた位置に第１回避点Ｖ２（ｘ）を設定する。このとき、第１回避点Ｖ２（ｘ）の位置データを、作業点Ｖ１（ｘ）の新規位置データ（Ｘｎ、Ｙｎ、Ｚｎ）を基にして算出しておく。作業点Ｖ１（ｘ＋１）に対応する第１回避点Ｖ２（ｘ＋１）も同じように設定する。
【００５５】
次に、２つの第１回避点Ｖ２（ｘ）、Ｖ２（ｘ＋１）の位置データを用いて、２つの第１回避点Ｖ２（ｘ）、Ｖ２（ｘ＋１）の間に干渉物８２があるか判断する（ステップＳ５０７）。干渉物８２の位置は、新規データ供給部３４に記憶された治具位置データやワークの設計データや障害物の位置データを用いて判断する。図８Ｂで示すように、２つの第１回避点Ｖ２（ｘ）、Ｖ２（ｘ＋１）の間に干渉物８２がない場合は（ステップＳ５０７：ＮＯ）、２つの第１回避点Ｖ２（ｘ）、Ｖ２（ｘ＋１）を直線で繋いだ直線経路と、作業点Ｖ１（ｘ）と第１回避点Ｖ２（ｘ）を直線で繋いだ経路と、作業点Ｖ１（ｘ＋１）と第１回避点Ｖ２（ｘ＋１）を直線で繋いだ経路を合わせて第１回避経路６２として設定し、図４のステップＳ４０４の処理に移行する（ステップＳ５０８）。
【００５６】
図８Ｃで示すように、２つの第１回避点Ｖ２（ｘ）、Ｖ２（ｘ＋１）の間に干渉物８２がある場合は（ステップＳ５０７：ＹＥＳ）、第１回避経路６２とは別に、干渉物８２を回避する経路を作成するための処理を行う。ここでは、第１回避点Ｖ２（ｘ）とは別の第２回避点Ｖ３（ｘ）を設定できるかを判断する（ステップＳ５０９）。本実施の形態では、図１１で示すように、第２回避点Ｖ３（ｘ）の位置を、エンドエフェクタ２２の３軸のうちの軸Ｘｒ上の位置であって、ワーク８０の端面８０ａからワーク８０の外側の方向に１００ｍｍ離れた位置を想定している。そこで、作業点Ｖ１（ｘ）から第２回避点Ｖ３（ｘ）の想定位置までの間に干渉物８２があるかを判断する。
【００５７】
干渉物８２がある場合は（ステップＳ５０９：ＮＯ）、第２回避点Ｖ３（ｘ）の設定はできない。そこで、第１回避点Ｖ２（ｘ）、Ｖ２（ｘ＋１）の間に第１回避経路６２以外の回避経路を設定できるか判断する（ステップＳ５１０）。例えば、図１２で示すように、２つの第１回避点Ｖ２（ｘ）、Ｖ２（ｘ＋１）を繋いだ経路６２ａの垂直方向であって干渉物８２から遠ざかる方向に、回避点Ｖ２．５（ｘ）を設定できるか判断する。
【００５８】
回避点Ｖ２．５（ｘ）を設定できないと判断した場合（ステップＳ５１０：ＮＯ）、２つの作業点Ｖ１（ｘ）、Ｖ１（ｘ＋１）の間にエンドエフェクタ２２の移動経路を自動で設定できないと判断し（ステップＳ５１１）、図４のステップＳ４０４の処理に移行する。このとき、端末装置３８の画面に移動経路の自動設定不可を示すメッセージを表示する。なお、移動経路の自動設定がなされない２つの作業点Ｖ１（ｘ）、Ｖ１（ｘ＋１）の間の移動経路は、オペレータが手動で設定する。
【００５９】
一方、回避点Ｖ２．５（ｘ）を設定できると判断した場合（ステップＳ５１０：ＹＥＳ）、第１回避点Ｖ２（ｘ）と回避点Ｖ２．５（ｘ）を直線で繋いだ直線経路と、回避点Ｖ２．５（ｘ）と第１回避点Ｖ２（ｘ＋１）を直線で繋いだ直線経路と、作業点Ｖ１（ｘ）と第１回避点Ｖ２（ｘ）を直線で繋いだ経路と、作業点Ｖ１（ｘ＋１）と第１回避点Ｖ２（ｘ＋１）を直線で繋いだ経路を合わせて第２回避経路６４として設定し、図４のステップＳ４０４の処理に移行する（ステップＳ５１２）。
【００６０】
ステップＳ５０９の判断で、干渉物８２がない場合は（ステップＳ５０９：ＹＥＳ）、図７のステップＳ５１３に進み、第２回避点Ｖ３（ｘ）を設定する。ここでは、第１回避点Ｖ２（ｘ）の設定と同じ手法で、作業点Ｖ１（ｘ）に対応する第２回避点Ｖ３（ｘ）をワーク８０外に設定する。具体的には、図１１で示すように、エンドエフェクタ２２の３軸のうちの軸Ｘｒ上の位置であって、ワーク８０の端面８０ａからワーク８０の外側の方向に１００ｍｍ離れた位置に第２回避点Ｖ３（ｘ）を設定する。このとき、第２回避点Ｖ３（ｘ）の位置データを、作業点Ｖ１（ｘ）の新規位置データ（Ｘｎ、Ｙｎ、Ｚｎ）を基にして算出しておく。作業点Ｖ１（ｘ＋１）に対応する第２回避点Ｖ３（ｘ＋１）も同じように設定する。
【００６１】
次に、２つの第２回避点Ｖ３（ｘ）、Ｖ３（ｘ＋１）の位置データを用いて、２つの第２回避点Ｖ３（ｘ）、Ｖ３（ｘ＋１）の間に干渉物８２があるか判断する（ステップＳ５１４）。干渉物８２の位置は、新規データ供給部３４に記憶された治具位置データやワークの設計データや障害物の位置データを用いて判断する。図８Ｃで示すように、２つの第２回避点Ｖ３（ｘ）、Ｖ３（ｘ＋１）の間に干渉物８２がない場合は（ステップＳ５１４：ＮＯ）、ステップＳ５１５に進み、２つの第２回避点Ｖ３（ｘ）、Ｖ３（ｘ＋１）を直線で繋いだ直線経路と、作業点Ｖ１（ｘ）と第２回避点Ｖ３（ｘ）を直線で繋いだ経路と、作業点Ｖ１（ｘ＋１）と第２回避点Ｖ３（ｘ＋１）を直線で繋いだ経路を合わせて第３回避経路６６として設定し、図４のステップＳ４０４の処理に移行する。
【００６２】
２つの第２回避点Ｖ３（ｘ）、Ｖ３（ｘ＋１）の間に干渉物８２がある場合は（ステップＳ５１４：ＹＥＳ）、第２回避点Ｖ３（ｘ）、Ｖ３（ｘ＋１）の間に第３回避経路６６以外の回避経路を設定できるか判断する（ステップＳ５１６）。例えば、図１２で示すように、２つの第２回避点Ｖ３（ｘ）、Ｖ３（ｘ＋１）を繋いだ経路６６ａの垂直方向であって干渉物８２から遠ざかる方向に、回避点Ｖ３．５（ｘ）を設定できるか判断する。
【００６３】
回避点Ｖ３．５（ｘ）を設定できないと判断した場合（ステップＳ５１６：ＮＯ）、２つの作業点Ｖ１（ｘ）、Ｖ１（ｘ＋１）の間にエンドエフェクタ２２の移動経路を自動で設定できないと判断し（ステップＳ５１７）、図４のステップＳ４０４の処理に移行する。このとき、端末装置３８の画面に移動経路の自動設定不可を示すメッセージを表示する。なお、移動経路の自動設定がなされない２つの作業点Ｖ１（ｘ）、Ｖ１（ｘ＋１）の間の移動経路は、オペレータが手動で設定する。
【００６４】
一方、回避点Ｖ３．５（ｘ）を設定できると判断した場合（ステップＳ５１６：ＹＥＳ）、ステップＳ５１８に進み、第２回避点Ｖ３（ｘ）と回避点Ｖ３．５（ｘ）を直線で繋いだ直線経路と、回避点Ｖ３．５（ｘ）と第２回避点Ｖ３（ｘ＋１）を直線で繋いだ直線経路と、作業点Ｖ１（ｘ）と第２回避点Ｖ３（ｘ）を直線で繋いだ経路と、作業点Ｖ１（ｘ＋１）と第２回避点Ｖ３（ｘ＋１）を直線で繋いだ経路を合わせて第４回避経路６８として設定し、図４のステップＳ４０４の処理に移行する。
【００６５】
以上の処理にて各作業点Ｖ１（ｘ）におけるエンドエフェクタ２２の姿勢と、２つの作業点Ｖ１（ｘ）、Ｖ（ｘ＋１）の間の移動経路とがティーチングデータとして設定される。
【００６６】
本実施の形態は、新規のワークのティーチングデータを設定する際に、既存のワークに関する全てのデータの中から新規のワークのデータに一定程度以上近似するデータを検索して使用する。このため、ティーチングデータの精度を向上させることができる。
【００６７】
また、本実施の形態は、新規姿勢データを作成する際に使用する既存姿勢データを、特定の近似判断によって機械的に検索する。このため、オペレータの経験に関わらず既存姿勢データの抽出を容易に行うことができる。結果として、ティーチングデータの設定作業が容易になる。
【図１】
2015166574.tif 000003
【図２】
2015166574.tif 000004
【図３】
2015166574.tif 000005
【図４】
2015166574.tif 000006
【図５】
2015166574.tif 000007
【図６】
2015166574.tif 000008
【図７】
2015166574.tif 000009
【図８】
2015166574.tif 000010
【図９】
2015166574.tif 000011
【図１０】
2015166574.tif 000012
【図１１】
2015166574.tif 000013
【図１２】
2015166574.tif 000014
【国際調査報告】
2015166574.tif 000015
2015166574.tif 000016
2015166574.tif 000017
2015166574.tif 000018