(57)【要約】【課題】複数の検出開始点の間を移動するロボットの移動経路上においてもワークとロボットとが干渉しないワーク位置検出プログラムを生成する。【解決手段】オフラインプログラミング装置１２は、ロボット先端に配置された接触センサがワークに接触する複数の接触点をワークの三次元モデル上で操作者に指定させる接触点指定部３０と、ワークの位置を検出するロボット動作の基準となる基準座標系の座標軸に沿った動作方向で、複数の接触点の各々へ接近する複数のロボット動作における複数の検出開始点を、ロボットとワークとが干渉しない位置に仮想空間上で自動的に追加する検出開始点追加部３１と、複数の検出開始点の間を移動するロボットの移動経路上で、ロボットとワークとの干渉が有る場合には干渉を回避する干渉回避点を仮想空間上で自動的に追加する干渉回避点追加部３２と、を備える。【選択図】図２
2018176333.tif 000002
【特許請求の範囲】
【請求項１】
ロボットによって加工されるワークの三次元モデル上で指定された加工線又は加工点に基づいて加工プログラムを自動的に生成すると共に、ロボット先端に配置した接触センサに基づいて検出される前記ワークの位置に応じて前記加工プログラムを修正するために前記ワークの位置を検出するワーク位置検出プログラムを自動的に生成するオフラインプログラミング装置であって、
前記ワークの三次元モデルを記憶する記憶部と、
前記接触センサが前記ワークに接触する複数の接触点を前記ワークの三次元モデル上で指定させる接触点指定部と、
前記ワークの位置を検出するロボット動作の基準となる基準座標系の座標軸に沿った動作方向で、前記複数の接触点の各々へ接近する複数のロボット動作における複数の検出開始点を、前記ロボットと前記ワークとが干渉しない位置に仮想空間上で自動的に追加する検出開始点追加部と、
前記複数の検出開始点の間を移動するロボットの移動経路上で、前記ロボットと前記ワークとの干渉の有無を検出し、前記干渉が有る場合には前記干渉を回避する干渉回避点を仮想空間上で自動的に追加する干渉回避点追加部と、
前記基準座標系の座標軸に沿った動作方向で前記検出開始点と前記接触点との間を移動すると共に、１つの前記検出開始点から前記干渉回避点が有る場合には前記干渉回避点を通って他の前記検出開始点へ移動する、ロボット動作を繰返す前記ワーク位置検出プログラムを自動的に生成するワーク位置検出プログラム生成部と、
を備える、オフラインプログラミング装置。
【請求項２】
更に、前記基準座標系を設定する基準座標系設定部を備える、請求項１に記載のオフラインプログラミング装置。
【請求項３】
更に、仮想空間上に配置した仮想ロボットに対して前記ワーク位置検出プログラム及び前記加工プログラムをシミュレーションするシミュレーション部を備える、請求項１又は２に記載のオフラインプログラミング装置。
【請求項４】
更に、前記加工線を複数の加工線に分割する加工線分割部、又は、複数の加工線若しくは複数の加工点を前記ワークの三次元モデル上で指定させる加工線又は加工点指定部を備え、前記複数の加工線又は加工点に基づいて生成した前記加工プログラムを修正するために、前記ワーク位置検出プログラムを自動的に生成する、請求項１から３のいずれか一項に記載のオフラインプログラミング装置。
【請求項５】
ロボットによって加工されるワークの三次元モデル上で指定された加工線又は加工点に基づいて加工プログラムを自動的に生成すると共に、ロボット先端に配置した接触センサに基づいて検出される前記ワークの位置に応じて前記加工プログラムを修正するために前記ワークの位置を検出するワーク位置検出プログラムを自動的に生成するオフラインプログラミング方法であって、
前記ワークの三次元モデルを記憶部に記憶するステップと、
前記接触センサが前記ワークに接触する複数の接触点を前記ワークの三次元モデル上で指定させるステップと、
前記ワークの位置を検出するロボット動作の基準となる基準座標系の座標軸に沿った動作方向で、前記複数の接触点の各々へ接近する複数のロボット動作における複数の検出開始点を、前記ロボットと前記ワークとが干渉しない位置に仮想空間上で自動的に追加するステップと、
前記複数の検出開始点の間を移動するロボットの移動経路上で、前記ロボットと前記ワークとの干渉の有無を検出し、前記干渉が有る場合には前記干渉を回避する干渉回避点を仮想空間上で自動的に追加するステップと、
基準座標系の座標軸に沿った動作方向で前記検出開始点と前記接触点との間を移動すると共に、１つの前記検出開始点から前記干渉回避点が有る場合には前記干渉回避点を通って他の前記検出開始点へ移動する、ロボット動作を繰返す前記ワーク位置検出プログラムを自動的に生成するステップと、
を含む、オフラインプログラミング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの制御技術に関し、特に接触センサによるワーク位置検出プログラム生成機能を備えたオフラインプログラミング装置及び方法に関する。
【背景技術】
【０００２】
ロボットの先端に配置した接触センサを溶接対象のワークに接触させ、そのときのロボット位置からワークの位置を検出し、検出したワークの位置に応じて溶接を行う溶接プログラムの教示位置を修正する方法がある。ワークの位置を検出するセンシング動作データを生成する方法としては、例えば特許文献１が開示されている。特許文献１には、作業マニピュレータの接触式センサが作業ワークに接触するセンシング姿勢において、接触式センサが接触する作業ワークの接触面を抽出すると共に、接触面を構成する１つのエッジを選択し、選択された１つのエッジの位置と、接触式センサの基端側に設定した設定位置を接触面に射影した位置とが一致するように、作業マニピュレータのセンシング姿勢を再設定し、再設定されたセンシング姿勢を含むように作業マニピュレータのセンシング動作データを生成する方法が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１７０５２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ロボット先端に配置した接触センサに基づいてワークの位置を検出する検出動作では、接触センサがワークに接触する複数の接触点を指定する必要があるが、複数の接触点の各点を検出する複数のロボット動作における複数の検出開始点の間で移動するロボットの移動経路上で、ワークとロボットとが干渉しないように検出動作を行うことは困難であった。また、実機のロボットで検出動作を行い、ロボットが実際にワークに干渉してしまった場合には、ユーザに大きな損失を与える懸念がある。
【０００５】
そこで、複数の検出開始点の間を移動するロボットの移動経路上においてもワークとロボットとが干渉しないワーク位置検出プログラムを生成する技術が求められている。
【課題を解決するための手段】
【０００６】
本開示の一態様は、ロボットによって加工されるワークの三次元モデル上で指定された加工線又は加工点に基づいて加工プログラムを自動的に生成すると共に、ロボット先端に配置した接触センサに基づいて検出されるワークの位置に応じて加工プログラムを修正するためにワークの位置を検出するワーク位置検出プログラムを自動的に生成するオフラインプログラミング装置であって、ワークの三次元モデルを記憶部に記憶する記憶部と、接触センサがワークに接触する複数の接触点をワークの三次元モデル上で指定させる接触点指定部と、ワークの位置を検出するロボット動作の基準となる基準座標系の座標軸に沿った動作方向で複数の接触点の各点へ接近する複数のロボット動作における複数の検出開始点を、ロボットとワークとが干渉しない位置に仮想空間上で自動的に追加する検出開始点追加部と、複数の検出開始点の間を移動するロボットの移動経路上で、ロボットとワークとの干渉の有無を検出し、干渉が有る場合には干渉を回避する干渉回避点を仮想空間上で自動的に追加する干渉回避点追加部と、基準座標系の座標軸に沿った動作方向で検出開始点と接触点との間を移動すると共に、１つの検出開始点から干渉回避点が有る場合には干渉回避点を通って他の検出開始点へ移動するロボット動作を繰返す、ワーク位置検出プログラムを自動的に生成するワーク位置検出プログラム生成部と、を備える、オフラインプログラミング装置を提供する。
本開示の他の一態様は、ロボットによって加工されるワークの三次元モデル上で教示された加工線又は加工点に基づいて加工プログラムを自動的に生成すると共に、ロボット先端に配置した接触センサに基づいて検出されるワークの位置に応じて加工プログラムを修正するためにワークの位置を検出するワーク位置検出プログラムを自動的に生成するオフラインプログラミング方法であって、ワークの三次元モデルを記憶部に記憶するステップと、接触センサがワークに接触する複数の接触点をワークの三次元モデル上で指定させるステップと、ワークの位置を検出するロボット動作の基準となる基準座標系の座標軸に沿った動作方向で複数の接触点の各々へ接近する複数のロボット動作における複数の検出開始点を、ロボットとワークとが干渉しない位置に仮想空間上で自動的に追加するステップと、複数の検出開始点の間を移動するロボットの移動経路上で、ロボットとワークとの干渉の有無を検出し、干渉が有る場合には干渉を回避する干渉回避点を仮想空間上で自動的に追加するステップと、基準座標系の座標軸に沿った動作方向で検出開始点と接触点との間を移動すると共に、１つの検出開始点から干渉回避点が有る場合には干渉回避点を通って他の検出開始点へ移動するロボット動作を繰返す、ワーク位置検出プログラムを自動的に生成するステップと、を含む、オフラインプログラミング方法を提供する。
【発明の効果】
【０００７】
本開示の一態様によれば、ワークの位置を検出する検出動作において、基準座標系の座標軸に沿った動作方向で検出開始点と接触点との間を移動すると共に、１つの検出開始点から干渉回避点が有る場合には干渉回避点を通って他の検出開始点へ移動するロボット動作を繰返すため、複数の検出開始点の間を移動するロボットの移動経路上においてもワークとロボットとが干渉しないワーク位置検出プログラムを生成できる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係るオフラインプログラミング装置、ロボットを制御する制御装置、及びロボットの概略図である。
【図２】一実施形態に係るオフラインプログラミング装置のブロック図である。
【図３】一実施形態に係るオフラインプログラミング装置の動作を示すフローチャートである。
【図４Ａ】一実施形態に係る加工プログラム及びワーク位置検出プログラムを生成するためのユーザインターフェイスを示す図である。
【図４Ｂ】一実施形態に係る加工プログラム及びワーク位置検出プログラムを生成するためのユーザインターフェイスを示す図である。
【図４Ｃ】一実施形態に係る加工プログラム及びワーク位置検出プログラムを生成するためのユーザインターフェイスを示す図である。
【図４Ｄ】一実施形態に係る加工プログラム及びワーク位置検出プログラムを生成するためのユーザインターフェイスを示す図である。
【図４Ｅ】一実施形態に係る加工プログラム及びワーク位置検出プログラムを生成するためのユーザインターフェイスを示す図である。
【図５Ａ】一実施形態に係るワーク位置検出プログラム及び加工プログラムをシミュレーションするユーザインターフェイスを示す図である。
【図５Ｂ】一実施形態に係るワーク位置検出プログラム及び加工プログラムをシミュレーションするユーザインターフェイスを示す図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して本開示の実施形態を詳細に説明する。各図面において、同一又は類似の構成要素には同一又は類似の符号が付与されている。また、以下に記載する実施形態は、特許請求の範囲に記載される発明の技術的範囲及び用語の意義を限定するものではない。
【００１０】
図１は、本実施形態に係るオフラインプログラミング装置１０と、ロボットを制御する制御装置１１と、ロボット１２との概略図である。オフラインプログラミング装置１０はケーブル１３を介して制御装置１１と通信可能であり、制御装置１１はケーブル１４を介してロボット１２と通信可能である。他の実施形態では、オフラインプログラミング装置１０は無線によってと制御装置１１と通信可能であってもよい。オフプログラミング装置１０は、ロボット１２がワークＷに対して溶接、穴開け、切断、色塗り等の加工動作を行う加工プログラムと、ロボット先端１５に配置された接触センサ１６に基づいて検出されるワークＷの位置に応じて加工プログラムを修正するためにワークＷの位置を検出するワーク位置検出プログラムと、をオフラインで生成する。オフプログラミング装置１０で生成されたワーク位置検出プログラム及び加工プログラムは、制御装置１１に送信され、制御装置１１は、ワーク位置検出プログラムに従ってワークＷの位置を検出する検出動作をロボット１０に指令する。検出動作において、ロボット先端１５に配置された接触センサ１６がワークＷに接触すると、そのときのロボット位置からワークＷの位置が検出される。加工プログラムの位置情報は、検出されたワークＷの位置に応じて修正され、制御装置１１は、修正された加工プログラムに従ってワークＷを加工する加工動作をロボット１０に指令する。
【００１１】
ロボット１０は、公知のロボットマニピュレータで構成されていて、サーボモータ（図示せず）等を有する６つの関節軸Ｊ１〜Ｊ６を備える。ロボット１０には、空間上に設定されるワールド座標系Ｃ１と、フランジ１７の位置に設定されるメカニカルインターフェイス座標系Ｃ２とが定義される。制御装置１１は、接触センサ１６に基づいて検出されたワークＷの位置を、公知の方法を用いてワールド座標系Ｃ１とメカニカルインターフェイス座標系Ｃ２との間で変換するように構成される。
【００１２】
図２は、本実施形態に係るオフラインプログラミング装置１０のブロック図である。オフラインプログラミング装置１０は、加工プログラム２０及びワーク位置検出プログラム２１をオフラインで生成すると共に、加工プログラム２０及びワーク位置検出プログラム２１をオフラインでシミュレーションするように構成される。オフラインプログラミング装置１０は、公知のコンピュータで構成されていて、種々の演算制御を行うＣＰＵ２２と、種々のデータを記憶する記憶部２３と、種々のデータを表示する表示部２４と、外部装置と通信可能な通信制御部２５と、を備える。オフラインプログラミング装置１０は、更に、図２に示すＣＰＵ２２の構成を実行させるソフトウェア（図示せず）を備えるが、これら構成をハードウェアとしてＣＰＵ２２に実装してもよい。
【００１３】
加工プログラムを生成するために、ＣＰＵ２２は、加工線又は加工点指定部２７と、加工プログラム生成部２８と、を備える。加工線又は加工点指定部２７は、記憶部２３に記憶されたワークの基準モデル２６を表示部２４に表示すると共に、表示したワークの基準モデル２６上で１つ又は複数の加工線又は加工点を操作者にマウス等により指定させる。ワークの基準モデル２６としては、ＣＡＤデータ等で作成したワークの三次元モデルを利用することができる。加工プログラム生成部２８は、指定された加工線又は加工点に基づいて加工プログラム２０を生成する。加工プログラム生成部２８によって生成された加工プログラム２０は、記憶部２３に記憶される。任意に、ＣＰＵ２２は、指定された加工線を複数の加工線に分割する加工線分割部２９を備えていてもよい。
【００１４】
ワーク位置検出プログラム２１を生成するために、ＣＰＵ２２は、接触点指定部３０と、検出開始点追加部３１と、干渉回避点追加部３２と、ワーク位置検出プログラム生成部３３と、を備える。接触点指定部３０は、接触センサがワークに接触する複数の接触点をワークの基準モデル２６上で操作者にマウス等により指定させる。接触点指定部３０によって指定された複数の接触点５０は、記憶部２３に記憶される。検出開始点追加部３１は、ワークの位置を検出するロボット動作の基準となる基準座標系の座標軸に沿った動作方向で複数の接触点の各点へ接近する複数のロボット動作における複数の検出開始点を、ロボットとワークとが干渉しない位置に仮想空間上で自動的に追加する。検出開始点追加部３１によって追加された複数の検出開始点５１は、記憶部２３に記憶される。基準座標系としては、前述したワールド座標系Ｃ１を利用してもよい。干渉回避点追加部３２は、複数の検出開始点の間を移動するロボットの移動経路上で、ロボットとワークとの干渉の有無を検出し、干渉が有る場合には干渉を回避する干渉回避点を仮想空間上で自動的に追加する。干渉回避点追加部３２によって追加された干渉回避点５２は、記憶部２３に記憶される。ワーク位置検出プログラム生成部３３は、基準座標系の座標軸に沿った動作方向で検出開始点５１と接触点５０との間を移動すると共に、１つの検出開始点５１から干渉回避点が有る場合には干渉回避点５２を通って他の検出開始点５１へ移動する、ロボット動作を繰返すワーク位置検出プログラム２１を自動的に生成する。ワーク位置検出プログラム生成部３３によって生成されたワーク位置検出プログラム２１は、記憶部２３に記憶される。
【００１５】
任意に、ワーク位置検出プログラム２１を生成するために、ＣＰＵ２２は、基準座標系設定部３４と、接触姿勢算出部３５と、を備えてもよい。基準座標系設定部３４は、ワークの位置を検出するロボット動作の基準となる基準座標系を操作者にマウス等により設定させる。基準座標系設定部３４によれば、既存の座標系（ワールド座標系、メカニカルインターフェイス座標系等）に拘束されることなく、仮想空間上に配置したワークに対して基準座標系を自由に設定できるため、利便性が向上する。接触姿勢算出部３５は、接触センサがワークに接触するときの接触姿勢を、ロボットとワークとが干渉しないように自動的に算出する。明らかにロボットの接触姿勢がワークに干渉しない場合には、接触姿勢算出部３５を使用しなくてもよい。
【００１６】
ＣＰＵ２２は、更に、仮想空間上に配置した仮想ロボットに対して加工プログラム２０及びワーク位置検出プログラム２１をシミュレーションするシミュレーション部３６を備える。シミュレーション部３６は、記憶部２３に記憶したワークの新規モデル３７を表示部２４に表示させると共に、仮想空間上に配置したワークの新規モデル３７の位置を検出するために、仮想空間上に配置した仮想ロボットに対してワーク位置検出プログラム２１を実行する。ワークの新規モデル３７は、基準モデル２６とは異なる位置又は姿勢を有するワークの三次元モデルであることが好ましい。これにより、ワーク位置検出プログラム２１に従って検出動作を行うロボットがワークに干渉しないことをオフラインで確認することができる。シミュレーション部３６は、更に、ロボット先端に配置した仮想接触センサがワークの新規モデル３７に接触したときに、そのときのロボット位置からワークの新規モデル３７の位置を検出し、検出されたワークの新規モデル３７の位置に応じて加工プログラム２０を修正すると共に、仮想空間上に配置した仮想ロボットに対して修正した加工プログラム２０を実行する。
【００１７】
図３は本実施形態に係るオフラインプログラミング装置の動作を示すフローチャートであり、図４Ａ〜図４Ｅは本実施形態に係る加工プログラム及びワーク位置検出プログラムを生成するためのユーザインターフェイスを示す図である。図３において、ステップＳ１０及びＳ１１は、加工プログラムを生成するステップであり、ステップＳ１２〜Ｓ１８は、ワーク位置検出プログラムを生成するステップである。加工プログラム及びワーク位置検出プログラムの生成を開始すると、図４Ａに示すように、記憶部からワークの基準モデル２６が読み込まれ、表示部２４に表示される。ステップＳ１０では、図４Ｂに示すように、ワークの基準モデル２６上で加工線Ｌを操作者にマウス等により指定させる。このとき、加工点を指定してもよいし、複数の加工線又は加工点を指定してもよいし、複数の加工線を分割してもよい。ステップＳ１１では、指定された加工線Ｌに基づいて加工プログラムを自動的に生成する。
【００１８】
任意に、ステップＳ１２では、図４Ｃに示すように、ワークを検出するロボット動作の基準となる基準座標系Ｃ３を設定する。ステップＳ１３では、図４Ｄに示すように、接触センサがワークに接触する複数の接触点Ｐ１〜Ｐ６をワークの基準モデル２６上で操作者にマウス等により指定させる。このとき、基準座標系Ｃ３の座標軸のそれぞれに沿って少なくとも２つの検出動作が行われるように６つの接触点を指定することが好ましい。これにより基準座標系Ｃ３に対するワークの位置及び姿勢のズレを容易に特定することができる。任意に、ステップＳ１４では、接触センサがワークに接触するときの接触姿勢を、ロボットとワークとが干渉しないように自動的に算出する。ステップＳ１５では、図４Ｅに示すように、基準座標系Ｃ３の座標軸に沿った動作方向（−Ｘ方向、−Ｙ方向、−Ｚ方向）で複数の接触点Ｐ１〜Ｐ６へ接近する複数のロボット動作における複数の検出開始点Ｄ１〜Ｄ６を仮想空間上で自動的に追加する。このとき、検出開始点Ｄ１、Ｄ２は接触点Ｐ１、Ｐ２のＺ座標に＋Ｚを加算して求められ、検出開始点Ｄ３、Ｄ４は接触点Ｐ３、Ｐ４のＸ座標に＋Ｘを加算して求められ、検出開始点Ｄ５、Ｄ６は接触点Ｐ５、Ｐ６のＹ座標に＋Ｙを加算して求められる。
【００１９】
ステップＳ１６では、複数の検出開始点Ｄ１〜Ｄ６の間を移動するロボットの移動経路上で、ロボットとワークとの干渉の有無を検出する。図４Ｅに示すように、検出開始点Ｄ２及びＤ３の間、並びに、検出開始点Ｄ４及びＤ５の間を移動するロボットの移動経路上では、ロボットとワークとが干渉するため（ステップＳ１６のＹＥＳ）、ステップＳ１７において、検出開始点Ｄ２及びＤ３の間、並びに、検出開始点Ｄ４及びＤ５の間に、それぞれ干渉回避点Ｅ１、Ｅ２を仮想空間上で自動的に追加する。他方、検出開始点Ｄ１及びＤ２の間、検出開始点Ｄ３及びＤ４の間、並びに、検出開始点Ｄ５及びＤ６の間を移動するロボットの移動経路上では、ロボットとワークとが干渉しないため（ステップＳ１６のＮＯ）、ステップＳ１８へ進む。
【００２０】
ステップＳ１８では、基準座標系Ｃ３の座標軸に沿った動作方向（−Ｘ方向、−Ｙ方向、−Ｚ方向）で検出開始点Ｄ１〜Ｄ６と接触点Ｐ１〜Ｐ６との間を移動すると共に、１つの検出開始点から干渉回避点が有れば干渉回避点Ｅ１、Ｅ２を通って他の検出開始点へ移動する、ロボット動作を繰返すワーク位置検出プログラムを自動的に生成する。そうして、加工プログラム及びワーク位置検出プログラムの生成が終了する。
【００２１】
図５Ａ及び図５Ｂは、本実施形態に係るワーク位置検出プログラム及び加工プログラムをシミュレーションするユーザインターフェイスを示す図である。図５Ａに示すように、記憶部からワークの新規モデル３７（基準モデル２６とは位置又は姿勢が異なるワークの三次元モデル）が読み込まれ、表示部２４に表示される。そして、仮想空間上に配置された仮想ロボット４０に対してワーク位置検出プログラムが実行される。仮想ロボット４０は、基準座標系Ｃ３の座標軸（Ｙ軸）に沿った動作方向（−Ｙ方向）で検出開始点（Ｄ５、Ｄ６）からワークの新規モデル３７へ接近し、ワークの新規モデル３７に接触したときのロボット位置からワークの新規モデル３７の位置を検出する。このとき、基準座標系Ｃ３に対するワークの新規モデル３７の位置又は姿勢のズレが算出される。図５Ｂに示すように、ワークの新規モデル３７の位置又は姿勢がワークの基準モデル２６の位置又は姿勢に一致するように、基準座標系Ｃ３が基準座標系Ｃ３’に変換される。代わりに、ワークの新規モデル３７の位置又は姿勢がワークの基準モデル２６の位置又は姿勢に一致するように、ワークの新規モデル３７の位置又は姿勢が変換されてもよい。これにより、ワークの新規モデル３７の位置及び姿勢がワークの基準モデル２６の位置及び姿勢に一致するため、ワークの新規モデル３７に対してもロボットとワークとが干渉しないように位置検出プログラムを実行することができる。なお、図５Ａ及び図５Ｂには示されていないが、Ｘ軸及びＺ軸についても同様に、ワークと基準座標系との間の位置関係の調節が行われる。オフラインプログラミング装置は、位置検出プログラムのシミュレーションを実行した後、加工プログラムのシミュレーションも実行する。そうして、実機のロボットで位置検出プログラム及び加工プログラムを行う必要なしに、操作者は、ロボットとワークとが干渉しないことを予め確認することができる。
【００２２】
本実施形態に係るオフラインプログラミング装置１２によれば、ワークの位置を検出する検出動作において、基準座標系Ｃ３の座標軸に沿った動作方向（−Ｘ方向、−Ｙ方向、−Ｚ方向）で検出開始点Ｄ１〜Ｄ６と接触点Ｐ１〜Ｐ６との間を移動すると共に、１つの検出開始点から干渉回避点が有る場合には干渉回避点Ｅ１、Ｅ２を通って他の検出開始点へ移動するロボット動作を繰返すため、複数の検出開始点の間を移動するロボットの移動経路上においてもワークとロボットとが干渉しないワーク位置検出プログラムを生成できる。
【００２３】
前述した実施形態におけるソフトウェアは、コンピュータ読取り可能な非一時的記録媒体、ＣＤ−ＲＯＭ等に記録して提供できる。本明細書において種々の実施形態について説明したが、本発明は、前述した種々の実施形態に限定されるものではなく、以下の特許請求の範囲に記載された範囲内において種々の変更を行えることを認識されたい。
【符号の説明】
【００２４】
１０  オフラインプログラミング装置
１１  制御装置
１２  ロボット
１３、１４  ケーブル
１５  ロボット先端
１６  接触センサ
１７  フランジ
２０  加工プログラム
２１  ワーク位置検出プログラム
２２  ＣＰＵ
２３  記憶部
２４  表示部
２５  通信制御部
２６  基準モデル（三次元モデル）
２７  加工線又は加工点指定部
２８  加工プログラム生成部
２９  加工線分割部
３０  接触点指定部
３１  検出開始点追加部
３２  干渉回避点追加部
３３  ワーク位置検出プログラム生成部
３４  基準座標系設定部
３５  接触姿勢算出部
３６  シミュレーション部
３７  新規モデル（三次元モデル）
４０  仮想ロボット
Ｗ  ワーク
Ｊ１〜Ｊ６  第１関節軸〜第６関節軸
Ｃ１  ワールド座標系
Ｃ２  メカニカルインターフェイス座標系
Ｌ  加工線
Ｃ３  基準座標系
５０、Ｐ１〜Ｐ６  接触点
５１、Ｄ１〜Ｄ６  検出開始点
５２、Ｅ１、Ｅ２  干渉回避点
【図１】
2018176333.tif 000003
【図２】
2018176333.tif 000004
【図３】
2018176333.tif 000005
【図４Ａ】
2018176333.tif 000006
【図４Ｂ】
2018176333.tif 000007
【図４Ｃ】
2018176333.tif 000008
【図４Ｄ】
2018176333.tif 000009
【図４Ｅ】
2018176333.tif 000010
【図５Ａ】
2018176333.tif 000011
【図５Ｂ】
2018176333.tif 000012