(57)【要約】【課題】実際のワークの平面から外れた教示点又は教示線を自動的に警告又は修正する。【解決手段】ロボット教示装置４は、教示点又は教示線の位置ずれを警告又は修正する処理を実行する処理部１３を備え、処理部１３が、対象となる教示点の集合又は教示線の集合から４つ以上の教示位置を取得する教示位置取得部１６と、教示位置の集合Ｔを満たす法線ベクトルＮを算出する法線ベクトル算出部１７と、教示位置の集合Ｔのうち法線ベクトル方向で最も離れた２つの教示位置Ｔ１、Ｔ２の距離Ｄ１を算出する距離算出部１８と、２つの教示位置Ｔ１、Ｔ２の距離Ｄ１に基づいて教示位置Ｔに対応する教示点又は教示線が実際のワークＷの平面Ｆから外れていることを警告する指令を行う第１警告指令部１９と、を有する。【選択図】図２
2019081230.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの動作プログラムを生成するために、仮想空間上に教示点又は教示線を指定する教示作業を行うように構成されたロボット教示装置であって、
前記教示点又は教示線の位置ずれを警告又は修正する処理を実行する処理部を備え、前記処理部が、
対象となる教示点の集合又は教示線の集合から４つ以上の教示位置を取得する教示位置取得部と、
前記教示位置の集合を満たす法線ベクトルを算出する法線ベクトル算出部と、
前記教示位置の集合のうち前記法線ベクトルの方向で最も離れた２つの教示位置の距離を算出する距離算出部と、
前記最も離れた２つの教示位置の距離に基づいて、前記教示位置に対応する前記教示点又は前記教示線が実際のワークの平面から外れていることを警告する指令を行う第１警告指令部と、
を有することを特徴とするロボット教示装置。
【請求項２】
前記距離算出部は、前記教示位置の各々から前記法線ベクトルへの垂線を算出すると共に前記垂線の各々と前記法線ベクトルとの交点の集合のうち最も離れた２つの交点の距離を算出することにより、前記法線ベクトルの方向で最も離れた２つの教示位置の距離を算出する、請求項１に記載のロボット教示装置。
【請求項３】
前記処理部がさらに、
前記教示位置の集合の平均位置を算出する平均位置算出部と、
算出した前記平均位置を通り、且つ、前記法線ベクトルに直交する仮想平面を算出する仮想平面算出部と、
前記教示位置の各々から前記仮想平面までの距離に基づいて、前記教示位置に対応する前記教示点又は前記教示線が前記ワークの平面から外れていることを警告する指令を行う第２警告指令部と、
を有する、請求項１に記載のロボット教示装置。
【請求項４】
前記平均位置算出部は、前記教示位置の各々から前記法線ベクトルへの垂線を算出して前記垂線の各々と前記法線ベクトルとの交点の集合の平均位置を算出することにより、前記教示位置の集合の平均位置を算出する、請求項３に記載のロボット教示装置。
【請求項５】
前記処理部がさらに、前記教示位置の全て又は警告された前記教示位置を前記仮想平面上にシフトさせることにより、前記教示位置に対応する前記教示点又は前記教示線の位置ずれを修正する教示位置修正部を有する、請求項３又は４に記載のロボット教示装置。
【請求項６】
ロボットの動作プログラムを生成するために、仮想空間上に教示点又は教示線を指定する教示作業を行うように構成されたロボット教示装置であって、
前記教示点又は教示線の位置ずれを警告又は修正する処理を実行する処理部を備え、前記処理部が、
対象となる教示点の集合又は教示線の集合から４つ以上の教示位置を取得する教示位置取得部と、
前記教示位置の集合を満たす法線ベクトルを算出する法線ベクトル算出部と、
前記教示位置の集合の平均位置を算出する平均位置算出部と、
算出した前記平均位置を通り、且つ、前記法線ベクトルに直交する仮想平面を算出する仮想平面算出部と、
前記教示位置の各々から前記仮想平面までの距離に基づいて、前記教示位置に対応する前記教示点又は前記教示線が実際のワークの平面から外れていることを警告する指令を行う警告指令部と、
を有することを特徴とするロボット教示装置。
【請求項７】
前記平均位置算出部は、前記教示位置の各々から前記法線ベクトルへの垂線を算出して前記垂線の各々と前記法線ベクトルとの交点の集合の平均位置を算出することにより、前記教示位置の集合の平均位置を算出する、請求項６に記載のロボット教示装置。
【請求項８】
前記処理部がさらに、前記教示位置の全て又は警告された前記教示位置を前記仮想平面上にシフトさせることにより、前記教示位置に対応する前記教示点又は前記教示線の位置ずれを修正する教示位置修正部を有する、請求項６又は７に記載のロボット教示装置。
【請求項９】
ロボットの動作プログラムを生成するために、仮想空間上に教示点又は教示線を指定する教示作業を行うように構成されたロボット教示装置であって、
前記教示点又は教示線の位置ずれを修正する処理を実行する処理部を備え、前記処理部が、
対象となる教示点の集合又は教示線の集合から４つ以上の教示位置を取得する教示位置取得部と、
前記教示位置の集合を満たす法線ベクトルを算出する法線ベクトル算出部と、
前記教示位置の集合の平均位置を算出する平均位置算出部と、
算出した前記平均位置を通り且つ前記法線ベクトルに直交する仮想平面を算出する仮想平面算出部と、
前記教示位置の全てを前記仮想平面上にシフトさせることにより、前記教示位置に対応する前記教示点又は前記教示線の位置ずれを修正する教示位置修正部と、
を有することを特徴とするロボット教示装置。
【請求項１０】
前記平均位置算出部は、前記教示位置の各々から前記法線ベクトルへの垂線を算出して前記垂線の各々と前記法線ベクトルとの交点の集合の平均位置を算出することにより、前記教示位置の集合の平均位置を算出する、請求項９に記載のロボット教示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、教示点又は教示線の位置ずれを警告又は修正するロボット教示装置に関する。
【背景技術】
【０００２】
ロボットの動作プログラムを生成するために、ワークの形状データを表示させた仮想空間上に教示点又は教示線を指定する教示作業、又は、ダイレクトティーチングにより仮想空間上に教示点又は教示線を指定する教示作業が行われている。ワークに対してバリ取り、研磨、塗装等を行うロボット作業では、斯かる教示点又は教示線がワークの１つの平面上になければならない場合がある。例えば、バリ取り対象がワークの１つの平面上にあり、斯かる平面に沿ってバリ取りを行う場合である。しかしながら、教示作業では、ワークの形状データが多数の線から構成されているため、操作者が誤って異なる線を指定したり、操作ミスで実際のワークの平面から外れた位置に教示点を指定してしまったり、操作ミスであるとは言えないものの、ダイレクトティーチングによる教示点又は教示線の位置誤差が大きかったりといった問題があった。そのため、教示点又は教示線が実際のワークの平面上にあるか否かを検証する必要があった。
【０００３】
本願に関連する背景技術として、教示点の集合から平面を算出する技術が公知である。例えば、特許文献１には、塗装ガンを備えたロボットの制御装置が開示されており、近接する３つの教示点によって決定される平面を求め、求めた平面の法線ベクトルを算出すると共に、法線ベクトルの方向を塗装ガンの姿勢として記憶することが記載されている。
【０００４】
特許文献２には、被測定物の表面性状を測定する装置が開示されており、表面の３点以上にボールプローブを接触させ、平面の位置を演算すること、及び、退避方向を平面の法線ベクトルによって決定することが記載されている。
【０００５】
特許文献３には、三次元レーザ加工機における法線検出方法が開示されており、教示点付近のワーク表面上の３点で形成される平面に対する法線ベクトルを求めると共に、斯かる法線ベクトルに加工ヘッドのノズルの姿勢を一致させることが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−１９１００５号公報
【特許文献２】特開２００４−０１７１９８号公報
【特許文献３】特開平０８−３００１７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
教示点又は教示線が１つの平面上にあるか否かを検証するためには、実際にロボットを動作させて確認したり、教示点の位置を数値で確認したりする必要があった。しかしながら、実際にロボットを動かしても教示点の位置ずれがどの程度であるかが分からず、また、教示点又は教示線が平面上にあるかを数値から判断するのは人手では困難であった。従って、教示点又は教示線の位置ずれの検証作業には試行錯誤が必要とされ、このことが作業効率の低下の要因になっていた。
【０００８】
そこで、実際のワークの平面から外れた教示点又は教示線を自動的に警告又は修正する技術が求められている。
【課題を解決するための手段】
【０００９】
本開示の一態様は、ロボットの動作プログラムを生成するために、仮想空間上に教示点又は教示線を指定する教示作業を行うように構成されたロボット教示装置であって、教示点又は教示線の位置ずれを警告又は修正する処理を実行する処理部を備え、処理部が、対象となる教示点の集合又は教示線の集合から４つ以上の教示位置を取得する教示位置取得部と、教示位置の集合を満たす法線ベクトルを算出する法線ベクトル算出部と、教示位置の集合のうち法線ベクトルの方向で最も離れた２つの教示位置の距離を算出する距離算出部と、最も離れた２つの教示位置の距離に基づいて、教示位置に対応する教示点又は教示線が実際のワークの平面から外れていることを警告する指令を行う第１警告指令部と、を有する、ロボット教示装置を提供する。
ここで「外れている」とは、算出した法線ベクトルの方向が、実際のワークの平面における法線ベクトルの方向と完全に一致しない可能性があるため、「概略的に外れている」ことを含む。
本開示の他の態様は、ロボットの動作プログラムを生成するために、仮想空間上に教示点又は教示線を指定する教示作業を行うように構成されたロボット教示装置であって、教示点又は教示線の位置ずれを警告又は修正する処理を実行する処理部を備え、処理部が、対象となる教示点の集合又は教示線の集合から４つ以上の教示位置を取得する教示位置取得部と、教示位置の集合を満たす法線ベクトルを算出する法線ベクトル算出部と、教示位置の集合の平均位置を算出する平均位置算出部と、算出した平均位置を通り、且つ、法線ベクトルに直交する仮想平面を算出する仮想平面算出部と、教示位置の各々から仮想平面までの距離に基づいて、教示位置に対応する教示点又は教示線が実際のワークの平面から外れていることを警告する指令を行う警告指令部と、を有する、ロボット教示装置を提供する。
ここで「外れている」とは、算出した仮想平面の位置及び姿勢が、実際のワークの平面の位置及び姿勢と完全に一致しない可能性があるため、「概略的に外れている」ことを含む。
本開示の別の態様は、ロボットの動作プログラムを生成するために、仮想空間上に教示点又は教示線を指定する教示作業を行うように構成されたロボット教示装置であって、教示点又は教示線の位置ずれを修正する処理を実行する処理部を備え、処理部が、対象となる教示点の集合又は教示線の集合から４つ以上の教示位置を取得する教示位置取得部と、教示位置の集合を満たす法線ベクトルを算出する法線ベクトル算出部と、教示位置の集合の平均位置を算出する平均位置算出部と、算出した平均位置を通り、且つ、法線ベクトルに直交する仮想平面を算出する仮想平面算出部と、教示位置の全てを仮想平面上にシフトさせることにより、教示位置に対応する教示点又は前記教示線の位置ずれを修正する教示位置修正部と、を有する、ロボット教示装置を提供する。
【発明の効果】
【００１０】
本開示によれば、実際のワークの平面から外れた教示点又は教示線を自動的に警告又は修正する技術を提供できる。ひいては、教示点又は教示線の位置ずれの検証作業における試行錯誤が不要になり、作業効率を向上できる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態におけるロボット加工システムの構成を示す概略図である。
【図２】一実施形態におけるロボット教示装置の構成を示すブロック図である。
【図３Ａ】一実施形態における４つ以上の教示位置の取得方法を示す側面図である。
【図３Ｂ】一実施形態における法線ベクトルの算出方法を示す側面図である。
【図３Ｃ】一実施形態における法線ベクトル方向で最も離れた２つの教示位置の距離を算出する方法を示す側面図である。
【図３Ｄ】代替実施形態における法線ベクトル方向で最も離れた２つの教示位置の距離を算出する方法を示す側面図である。
【図３Ｅ】一実施形態における教示位置の集合の平均位置及び仮想平面を算出する方法を示す側面図である。
【図３Ｆ】一実施形態における教示位置の各々から仮想平面までの距離の算出方法を示す側面図である。
【図３Ｇ】一実施形態における教示位置の修正方法を示す側面図である。
【図４】一実施形態に係るロボット教示装置の動作を示すフローチャートである。
【図５】一実施形態に係るロボット教示装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して本開示の実施形態を詳細に説明する。各図面において、同一又は類似の構成要素には同一又は類似の符号が付与されている。また、以下に記載する実施形態は、特許請求の範囲に記載される発明の技術的範囲及び用語の意義を限定するものではない。
【００１３】
図１は、本実施形態におけるロボット加工システム１の構成を示す概略図である。ロボット加工システム１は、少なくとも１つの平面Ｆを有するワークＷに対してバリ取り、研磨、塗装等を行うロボット２と、ロボット２の動作を制御する制御装置３と、ロボット２の動作プログラムを生成するためにワークの形状データＳを表示させた仮想空間上に教示点又は教示線Ｌを指定する教示作業、又は、ダイレクトティーチングにより仮想空間上に教示点又は教示線Ｌを指定する教示作業を行うように構成されたロボット教示装置４と、から構成されている。ロボット２はサーボモータ等を含む多軸関節マニピュレータで構成され、制御装置３はＣＰＵ、ＲＡＭ、ＲＯＭ、入出力インターフェイス等を含む制御装置で構成されると共に、ロボット教示装置４は携帯型の教示ペンダント又はラップトップ等を含むコンピュータで構成されている。
【００１４】
図２は、本実施形態に係るロボット教示装置４の構成を示すブロック図である。ロボット教示装置４は、ＲＡＭ、ＲＯＭ、又は不揮発性メモリ等から構成される記憶部１０と、タッチパネル、マウス、又はキーボード、及び入力インターフェイス等から構成される入力部１１と、表示パネル、スピーカ、及び出力インターフェイス等から構成される出力部１２と、種々のプログラムを実行するＣＰＵ、ＡＳＩＣ、又はＦＰＧＡ等から構成される処理部１３と、を備えている。これら記憶部１０、入力部１１、出力部１２、及び処理部１３はバス等によって相互に接続されている。
【００１５】
処理部１３の構成要素は、ＣＰＵによって実行されるプログラムモジュール、又はＡＳＩＣ若しくはＦＰＧＡによって構成される集積回路等によって実装されている。処理部１３は、記憶部１０からワークＷの形状データＳを読出して表示する指令を行う表示指令部１４と、入力部１１から入力される教示点又は教示線の集合のデータを取得する教示データ取得部１５と、を備えている。表示指令部１４による表示指令は出力部１２に対して行われ、出力部１２は表示パネルにワークＷの形状データＳを表示する（図１参照）。処理部１３はさらに、教示点の集合又は教示線の集合のデータから４つ以上の教示位置を取得する教示位置取得部１６と、４つ以上の教示位置を満たす法線ベクトルを算出する法線ベクトル算出部１７と、を備えている。
【００１６】
処理部１３はさらに、教示位置の集合のうち法線ベクトルの方向で最も離れた２つの教示位置の距離を算出する距離算出部１８と、最も離れた２つの教示位置の距離が予め指定された値を超える場合に、教示位置に対応する教示点又は教示線が実際のワークＷの平面Ｆから外れていることを警告する指令を行う第１警告指令部１９と、を備えている。第１警告指令部１９による警告指令は出力部１２に対して行われ、指令された出力部１２は警告内容を表示パネルに表示するか又は警告音をスピーカから発する。
【００１７】
処理部１３はさらに、教示位置の集合の平均位置を算出する平均位置算出部２０と、算出した平均位置を通り且つ法線ベクトルに直交する仮想平面を算出する仮想平面算出部２１と、教示位置の各々から仮想平面までの距離に基づいて、教示位置に対応する教示点又は教示線が実際のワークＷの平面Ｆから外れていることを警告する指令を行う第２警告指令部２２と、を備えていてもよい。これら構成要素（平均位置算出部２０、仮想平面算出部２１、及び第２警告指令部２２）は必須の構成要素ではないが、処理部１３がこれら構成要素を有する場合には、距離算出部１８及び第１警告指令部１９が必須の構成要素ではない。また、第１警告指令部１９及び第２警告指令部２２において二重の警告処理を行うことにより、教示点又は教示線の位置ずれの検出精度が高くなるという効果が得られる。
【００１８】
処理部１３はさらに、教示位置の全て又は警告された教示位置のみを仮想平面Ｐ上にシフトさせることにより、教示位置に対応する教示点又は教示線の位置ずれを修正する教示位置修正部２３を備えていてもよい。教示位置修正部２３は必須の構成要素ではないが、処理部１３が教示位置修正部２３を有する場合には、距離算出部１８、第１警告指令部１９、及び第２警告指令部２２が必須の構成要素ではない。教示位置修正部２３によって修正された教示点又は教示線は記憶部１０に記憶される。ロボット教示装置４は記憶部１０に記憶された教示点又は教示線に従ってロボット２の動作プログラムを生成する。
【００１９】
図３Ａは、本実施形態における４つ以上の教示位置の取得方法を示す側面図である。取得した教示データが「教示点」の集合である場合には、任意の４点以上の教示点を得ることにより、４つ以上の教示位置の集合が取得される。他方、取得した教示データが「教示線」の集合である場合には、教示線上の任意の４点以上の点を得ることにより、４つ以上の教示位置の集合が取得される。４つ以上の教示位置を取得する理由は、「３つの教示位置」を取得した場合には、３つの教示位置全てが法線ベクトルに直交する１つの仮想平面上に乗ってしまい、教示点又は教示線の位置ずれを検証できないためであり、また、「２つ以下の教示位置」を取得した場合には、教示位置を満たす法線ベクトルも、法線ベクトルに直交する仮想平面も、算出できないためである。
【００２０】
図３Ｂは、本実施形態における法線ベクトルＮの算出方法を示す側面図である。法線ベクトルＮの算出には、三次元ポリゴンの技術分野において使用されている公知のNewell’s Method等を利用できる。Newell’s Methodでは、先ず任意の３つの教示位置で構成される三角形の２つの辺のベクトル積（外積）を取ることにより、法線ベクトルＮを算出する。三角形（ｐ１、ｐ２、ｐ３）の頂点ｐ１において、２つの辺ベクトルがベクトルＵ＝ｐ２−ｐ１及びベクトルＶ＝ｐ３−ｐ１である場合、法線ベクトルＮ＝Ｕ×Ｖは、以下の式によって算出される。
【００２１】
【数１】
2019081230.tif 000003
【００２２】
次いで、現在の三角形の頂点ｐ１から次の任意の三角形の頂点ｐ４に移動し、新たな法線ベクトルＮを以下の式によって算出する。
【００２３】
【数２】
2019081230.tif 000004
【００２４】
教示位置の集合Ｔの全てについて、数２の計算が繰返されることにより、最終的な法線ベクトルＮが算出される。
【００２５】
図３Ｃは、本実施形態における法線ベクトル方向で最も離れた２つの教示位置Ｔ１、Ｔ２の距離を算出する方法を示す側面図である。先ず、教示位置の各々から法線ベクトルＮへの垂線Ｖが算出される。次いで、垂線Ｖの各々と法線ベクトルＮとの交点の集合のうち最も離れた２つの交点の距離が算出される。これにより、法線ベクトルＮの方向で最も離れた２つの教示位置Ｔ１、Ｔ２の距離Ｄ１が算出される。算出された２つの教示位置Ｔ１、Ｔ２の距離Ｄ１が予め指定された値を超える場合には、斯かる教示位置に対応する教示点又は教示線がワークＷの平面Ｆから外れていることが警告される。
【００２６】
図３Ｄは、代替実施形態における法線ベクトル方向で最も離れた２つの教示位置Ｔ１、Ｔ２の距離を算出する方法を示す側面図である。代替実施形態では、先ず、法線ベクトルＮが１つの座標軸になるように教示位置の集合Ｔが座標変換される。座標変換された教示位置の集合Ｔは法線ベクトル方向における座標値を有しているため、教示位置の集合Ｔの法線ベクトル方向における座標値を比較することにより、法線ベクトルＮの方向で最も離れた２つの教示位置Ｔ１、Ｔ２の距離Ｄ２が算出される。算出された２つの教示位置Ｔ１、Ｔ２の距離Ｄ２が予め指定された値を超える場合には、斯かる教示位置に対応する教示点又は教示線がワークＷの平面Ｆから外れていることが警告される。
【００２７】
図３Ｅは、本実施形態における教示位置の集合Ｔの平均位置Ａ及び仮想平面Ｐを算出する方法を示す側面図である。教示位置の集合Ｔの平均位置Ａは、図３Ｃに示す垂線Ｖの各々と法線ベクトルＮとの交点の集合の平均位置を算出することにより算出される。代替実施形態として、法線ベクトルＮが１つの座標軸になるように教示位置の集合Ｔを座標変換し、座標変換した教示位置の集合の法線ベクトル方向における座標値の平均値を算出することにより、教示位置の集合Ｔの平均位置Ａを算出してもよい。仮想平面Ｐは、算出した平均位置Ａを通り、且つ、法線ベクトルＮに直交するという条件下で算出される。
【００２８】
図３Ｆは、本実施形態における教示位置の各々から仮想平面Ｐまでの距離の算出方法を示す側面図である。教示位置の各々から仮想平面Ｐまでの距離Ｄ３は、垂線Ｖの各々と法線ベクトルＮとの交点の各々と、交点の集合の平均位置との距離を算出することにより算出される。代替実施形態として、法線ベクトルＮが１つの座標軸となるように教示位置の集合Ｔを座標変換し、座標変換した教示位置の集合Ｔの法線ベクトル方向における座標値と、教示位置の集合Ｔの平均位置Ａとの距離を算出することにより、教示位置の各々から仮想平面Ｐまでの距離Ｄ３を算出してもよい。
【００２９】
算出した教示位置の各々から仮想平面Ｐまでの距離Ｄ３が予め指定された値の２分の１を超える場合には、斯かる教示位置に対応する教示点又は教示線が実際のワークＷの平面Ｆから外れていることが警告される。ここで、予め指定された値の「２分の１」は、仮想平面Ｐの上方における許容誤差、又は、仮想平面Ｐの下方における許容誤差に相当する。予め指定された値の「２分の１」として設定することにより、二重の警告処理における閾値を１つの値（「予め指定された値」）にまとめることができる。
【００３０】
図３Ｇは、本実施形態における教示位置の修正方法を示す側面図である。教示点又は教示線の位置ずれは、教示位置の全てを仮想平面Ｐ上にシフトすることにより修正される。代替実施形態として、警告された教示位置のみを仮想平面Ｐ上にシフトすることにより、教示点又は教示線の位置ずれを修正してもよい。
【００３１】
図４及び図５は、本実施形態に係るロボット教示装置４の動作を示すフローチャートである。ロボット教示装置４は、教示点又は教示線の位置ずれを警告又は修正する処理を開始すると、先ずステップＳ１０において、記憶部１０からワークＷの形状データＳを読出して表示パネルに表示する指令を行う。ステップＳ１１では、教示点の集合又は教示線の集合のデータを取得する。ステップＳ１２では、教示点の集合又は教示線の集合から４つ以上の教示位置の集合Ｔを取得する（図３Ａ参照）。ステップＳ１３では、教示位置の集合Ｔを満たす法線ベクトルＮを算出する（図３Ｂ参照）。ステップＳ１４では、法線ベクトルＮの方向で最も離れた２つの教示位置Ｔ１、Ｔ２の距離Ｄ１又はＤ２を算出する（図３Ｃ又は図３Ｄ参照）。ステップＳ１５では、２つの教示位置Ｔ１、Ｔ２の距離Ｄ１又はＤ２が予め指定された値以下であるか否かを判定する。２つの教示位置Ｔ１、Ｔ２の距離Ｄ１又はＤ２が予め指定された値を超えている場合には（ステップＳ１５のＮＯ）、ステップＳ１６において、斯かる教示位置Ｔ１、Ｔ２に対応する教示点又は教示線が実際のワークＷの平面Ｆから外れていることを警告する指令を行う。２つの教示位置Ｔ１、Ｔ２の距離Ｄ１又はＤ２が予め指定された値以下である場合には（ステップＳ１５のＹＥＳ）、教示点又は教示線が実際のワークＷの平面Ｆから外れていないため、図５のステップＳ２２において、斯かる教示点又は教示線に従ってロボット２の動作プログラムを生成する。そして、教示点又は教示線の位置ずれを警告又は修正する処理が終了する。
【００３２】
図５を参照すると、ステップＳ１７において、教示位置の集合の平均位置Ａを算出する（図３Ｅ参照）。ステップＳ１８では、算出した平均位置Ａを通り、且つ、法線ベクトルＮに直交する仮想平面Ｐを算出する（図３Ｆ参照）。ステップＳ１９では、教示位置の各々から仮想平面Ｐまでの距離Ｄ３が予め指定された値の２分の１以下であるかを判定する（図３Ｆ参照）。教示位置の各々から仮想平面Ｐまでの距離Ｄ３が予め指定された値の２分の１を超えている場合には（ステップＳ１９のＮＯ）、ステップＳ２０において、斯かる教示位置に対応する教示点又は教示線が実際のワークＷの平面Ｆから外れていることを警告する指令を行う。他方、教示位置の各々から仮想平面Ｐまでの距離Ｄ３が予め指定された値の２分の１以下である場合には（ステップＳ１９のＹＥＳ）、教示点又は教示線が実際のワークＷの平面Ｆから外れていないため、ステップＳ２２において、斯かる教示点又は教示線に従ってロボット２の動作プログラムを生成する。そして、教示点又は教示線の位置ずれを警告又は修正する処理が終了する。ステップＳ１７〜ステップＳ２０の警告処理は必須の処理ではないが、ステップＳ１７〜ステップＳ２０の警告処理を行う場合には、ステップＳ１４〜ステップＳ１６の警告処理が必須の処理ではない。また、ステップＳ１４〜ステップＳ２０において二重の警告処理を行うことにより、教示点又は教示線の位置ずれの検出精度が高くなるという効果が得られる。
【００３３】
ステップＳ２１において、教示位置の全て又は警告された教示位置を仮想平面Ｐ上にシフトさせることにより、斯かる教示位置に対応する教示点又は教示線の位置ずれを修正する。ステップＳ２２では、修正された教示点又は教示線に従ってロボット２の動作プログラムを生成する。そして、教示点又は教示線の位置ずれを警告又は修正する処理が終了する。
【００３４】
前述した実施形態におけるロボット教示装置４によれば、実際のワークＷの平面Ｆから外れた教示点又は教示線を自動的に警告又は修正できる。ひいては、教示点又は教示線の位置ずれの検証作業における試行錯誤が不要になり、作業効率を向上できる。
【００３５】
前述した実施形態におけるプログラムは、コンピュータ読取り可能な非一時的記録媒体、例えばＣＤ−ＲＯＭ等に記録して提供できる。本明細書において種々の実施形態について説明したが、本発明は、前述した種々の実施形態に限定されるものではなく、以下の特許請求の範囲に記載された範囲内において種々の変更を行えることを認識されたい。
【符号の説明】
【００３６】
１  ロボット加工システム
２  ロボット
３  制御装置
４  ロボット教示装置
１０  記憶部
１１  入力部
１２  出力部
１３  処理部
１４  表示指令部
１５  教示データ取得部
１６  教示位置取得部
１７  法線ベクトル算出部
１８  距離算出部
１９  第１警告指令部
２０  平均位置算出部
２１  仮想平面算出部
２２  第２警告指令部
２３  教示位置修正部
Ｗ  ワーク
Ｆ  ワークの平面
Ｓ  ワークの形状データ
Ｌ  教示線
Ｔ  教示位置の集合
Ｎ  法線ベクトル
Ｖ  垂線
Ｔ１、Ｔ２  法線ベクトル方向で最も離れた２つの教示位置
Ｄ１、Ｄ２  最も離れた２つの教示位置の距離
Ａ  教示位置の集合の平均位置
Ｐ  仮想平面
Ｄ３  教示位置の各々と仮想平面との距離
【図１】
2019081230.tif 000005
【図２】
2019081230.tif 000006
【図３Ａ】
2019081230.tif 000007
【図３Ｂ】
2019081230.tif 000008
【図３Ｃ】
2019081230.tif 000009
【図３Ｄ】
2019081230.tif 000010
【図３Ｅ】
2019081230.tif 000011
【図３Ｆ】
2019081230.tif 000012
【図３Ｇ】
2019081230.tif 000013
【図４】
2019081230.tif 000014
【図５】
2019081230.tif 000015