(57)【要約】【課題】オフラインプログラミングにおいて、ロボットの位置・姿勢を教示するための工数を削減する。【解決手段】仮想空間内に配置された稜線を有する物体の面上に、ユーザによって指定された教示点を設定する教示点設定部２１と、前記教示点近傍の稜線上の点を検索する稜線検索部２２と、前記稜線上の点における接線方向、主法線方向及び従法線方向を算出する方向算出部２３と、前記稜線上の点の位置、前記接線方向、前記主法線方向及び前記従法線方向並びに予め決められたパラメータに基づいて目標座標系を算出する目標座標系算出部２５と、前記仮想空間におけるロボットに設定されたツール座標系が前記目標座標系に一致するように移動指令を生成する移動指令生成部２６と、を備えるオフラインプログラミング用ジョグ支援装置２を提供する。【選択図】図２
2018051692.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間内に配置された稜線を有する物体の面上に、ユーザによって指定された教示点を設定する教示点設定部と、
前記教示点近傍の前記稜線上の点を検索する稜線検索部と、
前記稜線上の点における接線方向、主法線方向及び従法線方向を算出する方向算出部と、
前記稜線上の点の位置、前記接線方向、前記主法線方向及び前記従法線方向並びに予め決められたパラメータに基づいて目標座標系を算出する目標座標系算出部と、
前記仮想空間におけるロボットに設定されたツール座標系が前記目標座標系に一致するように移動指令を生成する移動指令生成部と、
を備えるオフラインプログラミング用ジョグ支援装置。
【請求項２】
前記パラメータには、前記目標座標系の姿勢を調整する角度が含まれる請求項１に記載のオフラインプログラミング用ジョグ支援装置。
【請求項３】
コンピュータが、
仮想空間内に配置された稜線を有する物体の面上に、ユーザによって指定された教示点を設定する工程と、
前記教示点近傍の前記稜線上の点を検索する工程と、
前記稜線上の点における接線方向、主法線方向及び従法線方向を算出する工程と、
前記稜線上の点の位置、前記接線方向、前記主法線方向及び前記従法線方向並びに予め決められたパラメータに基づいて目標座標系を算出する工程と、
前記仮想空間におけるロボットに設定されたツール座標系が前記目標座標系に一致するように移動指令を生成する工程と、
を実行するオフラインプログラミング用ジョグ支援方法。
【請求項４】
仮想空間内に配置された稜線を有する物体の面上に、ユーザによって指定された教示点を設定する処理と、
前記教示点近傍の前記稜線上の点を検索する処理と、
前記稜線上の点における接線方向、主法線方向及び従法線方向を算出する処理と、
前記稜線上の点の位置、前記接線方向、前記主法線方向及び前記従法線方向並びに予め決められたパラメータに基づいて目標座標系を算出する処理と、
前記仮想空間におけるロボットに設定されたツール座標系が前記目標座標系に一致するように移動指令を生成する処理と、
をコンピュータに実行させるオフラインプログラミング用ジョグ支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オフラインプログラミング上でロボットのジョグ操作を行うのに好適なオフラインプログラミング用ジョグ支援装置、ジョグ支援方法及びジョグ支援プログラムに関する。
【背景技術】
【０００２】
アーク溶接、バリ取り等、被加工物の稜線に沿って動作するロボットに対して教示を行う方法として、ロボット制御装置に接続されたマニュアル入力手段を利用して、ジョグ操作により実機のアーク溶接ロボットを動作させ、教示点毎にアーク溶接ロボットの位置・姿勢（ねらい角、前進角）を設定する方法が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第９７／６４７３号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された方法の場合、教示点毎に実機ロボット（ツール）の位置・姿勢を手動で調整し設定する必要があるため、工数が比較的多くかかってしまうという問題がある。
【０００５】
また、上記の方法以外に、オフラインプログラミング上におけるジョグ操作により教示を行う方法が知られている。オフラインプログラミングによるシステムでは、ロボット、被加工物等の寸法、形状等の情報が読み込まれた仮想空間内において、この仮想空間におけるバーチャルロボットの位置・姿勢をジョグ操作により教示する。しかし、バーチャルロボットの位置・姿勢は、実機における教示の場合と同様に、教示点毎に調整される必要があるため、工数が比較的かかってしまうという問題がある。
【０００６】
本発明は、上述した事情に鑑みてなされたものであって、オフラインプログラミングにおけるジョグ操作の際に、被加工物の稜線に沿って動作するロボットの位置・姿勢を教示するための工数を可及的に削減することのできるオフラインプログラミング用ジョグ支援装置、ジョグ支援方法及びジョグ支援プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明は以下の手段を提供する。
本発明の第一の態様は、仮想空間内に配置された稜線を有する物体の面上に、ユーザによって指定された教示点を設定する教示点設定部と、前記教示点近傍の前記稜線上の点を検索する稜線検索部と、前記稜線上の点における接線方向、主法線方向及び従法線方向を算出する方向算出部と、前記稜線上の点の位置、前記接線方向、前記主法線方向及び前記従法線方向並びに予め決められたパラメータに基づいて目標座標系を算出する目標座標系算出部と、前記仮想空間におけるロボットに設定されたツール座標系が前記目標座標系に一致するように移動指令を生成する移動指令生成部と、を備えるオフラインプログラミング用ジョグ支援装置である。
【０００８】
本態様に係るオフラインプログラミング用ジョグ支援装置によれば、教示点設定部によって、仮想空間内に配置された稜線を有する物体の面上に、ユーザによって指定された教示点が指定され、稜線検索部によって、教示点近傍の稜線上の点が検索される。そして、方向算出部によって、この稜線上の点における接線方向、主法線方向及び従法線方向が算出される。そして、目標座標系算出部によって、稜線上の点の位置、接線方向、主法線方向及び従法線方向並びに予め決められたパラメータに基づいて目標座標系が算出され、移動指令生成部によって、仮想空間におけるロボットに設定されたツール座標系が目標座標系に一致するように移動指令が生成される。
【０００９】
このようにすることで、稜線上の位置に応じて目標座標系の位置・姿勢が自動的に設定されるので、オフラインプログラミング上でジョグ操作による教示を行う際にかかる工数を可及的に削減することができる。
【００１０】
上記オフラインプログラミング用ジョグ支援装置において、前記パラメータには、前記目標座標系の姿勢を調整する角度が含まれていてもよい。
これにより、予めパラメータとして設定した角度に従って目標座標系の姿勢を調整することができる。
【００１１】
本発明の第二の態様は、コンピュータが、仮想空間内に配置された稜線を有する物体の面上に、ユーザによって指定された教示点を設定する工程と、前記教示点近傍の稜線上の点を検索する工程と、前記稜線上の点における接線方向、主法線方向及び従法線方向を算出する工程と、前記稜線上の点の位置、前記接線方向、前記主法線方向及び前記従法線方向並びに予め決められたパラメータに基づいて目標座標系を算出する工程と、前記仮想空間におけるロボットに設定されたツール座標系が前記目標座標系に一致するように移動指令を生成する工程と、を実行するオフラインプログラミング用ジョグ支援方法である。
【００１２】
本発明の第三の態様は、仮想空間内に配置された稜線を有する物体の面上に、ユーザによって指定された教示点を設定する処理と、前記教示点近傍の稜線上の点を検索する処理と、前記稜線上の点における接線方向、主法線方向及び従法線方向を算出する処理と、前記稜線上の点の位置、前記接線方向、前記主法線方向及び前記従法線方向並びに予め決められたパラメータに基づいて目標座標系を算出する処理と、前記仮想空間におけるロボットに設定されたツール座標系が前記目標座標系に一致するように移動指令を生成する処理と、をコンピュータに実行させるオフラインプログラミング用ジョグ支援プログラムである。
【発明の効果】
【００１３】
本発明によれば、オフラインプログラミングにおいて、ロボットの位置・姿勢をジョグ操作により教示するのに必要な工数を可及的に削減することができるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係るオフラインプログラミング用ジョグ支援装置の概略構成を示すブロック図である。
【図２】本発明の一実施形態に係るオフラインプログラミング用ジョグ支援装置の機能ブロックを示す図である。
【図３】本発明の一実施形態に係るオフラインプログラミング用ジョグ支援装置における処理を示すフローチャートである。
【図４】ツール座標系及び目標座標系について説明する図である。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態に係るオフラインプログラミング用ジョグ支援装置の実施形態について、図面を参照して詳細に説明する。
本実施形態では、図４に示されるように、稜線４を有する物体３及びロボットの手先部に取り付けられた溶接トーチ５がＣＡＤモデルとして仮想空間内に配置されているものと仮定し、溶接トーチ５の位置・姿勢を教示する場合について説明する。
【００１６】
図１に示されるように、本実施形態のオフラインプログラミング用ジョグ支援装置２は、互いにバスを介して接続された、ＣＰＵ(Central  Processing  Unit）１１と、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）等の主記憶装置１２と、ＨＤＤ（Hard  Disk  Drive）等の補助記憶装置１３と、キーボード、マウス、タッチパネル等の入力装置１４と、モニタ等の出力装置１５と、ロボット制御装置等の外部機器との間で種々のデータのやりとりを行う外部インタフェース１６等を備えている。すなわち、本実施形態のオフラインプログラミング用ジョグ支援装置２は、コンピュータを備えている。
【００１７】
補助記憶装置１３には、本実施形態のジョグ支援プログラムを含む各種プログラムが格納されており、ＣＰＵ１１が補助記憶装置１３からプログラムをＲＡＭ等の主記憶装置１２に読み出し、実行することにより、種々の処理が実現される。
【００１８】
以下、上述のような構成を備えるオフラインプログラミング用ジョグ支援装置２の機能ブロックについて、図面を参照して説明する。
図２に示されるように、オフラインプログラミング用ジョグ支援装置２は、機能ブロックとして、教示点設定部２１と、稜線検索部２２と、方向算出部２３と、パラメータ設定部２４と、目標座標系算出部２５と、移動指令生成部２６と、を備えている。
【００１９】
教示点設定部２１は、稜線検索部２２と接続されている。稜線検索部２２は、方向算出部２３と、目標座標系算出部２５とに接続されている。方向算出部２３は、稜線検索部２２と、目標座標系算出部２５とに接続されている。パラメータ設定部２４は、目標座標系算出部２５に接続されている。目標座標系算出部２５は、稜線検索部２２と、方向算出部２３と、パラメータ設定部２４と、移動指令生成部２６とに接続されている。移動指令生成部２６は、目標座標系算出部２５に接続されている。
【００２０】
方向算出部２３は、面直・接線方向算出部２３１と、従法線方向算出部２３２と、を備えている。目標座標系算出部２５は、基準座標系設定部２５１と、調整座標系設定部２５２と、を備えている。
【００２１】
面直・接線方向算出部２３１は、稜線検索部２２と、従法線方向算出部２３２と、基準座標系設定部２５１とに接続されている。従法線方向算出部２３２は、面直・接線方向算出部２３１と、基準座標系設定部２５１とに接続されている。
【００２２】
基準座標系設定部２５１は、稜線検索部２２と、パラメータ設定部２４と、面直・接線方向算出部２３１と、従法線方向算出部２３２と、調整座標系設定部２５２とに接続されている。調整座標系設定部２５２は、パラメータ設定部２４と、基準座標系設定部２５１と、移動指令生成部２６とに接続されている。
【００２３】
教示点設定部２１は、図４に示されるように、仮想空間内に配置された物体３の面上の一点がユーザによって指定されると、その点を教示点Ａとして設定するように構成されている。例えば、ユーザは、モニタ上に再現された仮想空間内に配置された物体３のモデルの面上の点をマウスにより指定する。
【００２４】
稜線検索部２２は、教示点設定部２１によって設定された教示点Ａの近傍にある稜線４上の点Ｂを検索するように構成されている。点Ｂは、例えば、教示点Ａから最短距離にある稜線４上の点である。
【００２５】
方向算出部２３は、稜線検索部２２によって検索された稜線４上の点Ｂにおける接線方向、面直（主法線）方向及び従法線方向を算出するように構成されている。
より具体的には、方向算出部２３に備えられる面直・接線方向算出部２３１が、稜線４上の点Ｂにおける接線ベクトル及び主法線ベクトルを算出するように構成されている。そして、方向算出部２３に備えられる従法線方向算出部２３２が、面直・接線方向算出部２３１で算出された接線ベクトル及び主法線ベクトルに基づいて、従法線ベクトルを算出するように構成されている。
【００２６】
図４を参照すると、点Ｂに設定された後述する基準座標系ΣＢ（ＸＢ，ＹＢ，ＺＢ）において、ＸＢ軸の正方向が接線ベクトルの向きを表しており、ＺＢ軸の正方向が主法線ベクトルの向きを表しており、ＹＢ軸の正方向が従法線ベクトルの向きを表している。
【００２７】
なお、接線ベクトルと主法線ベクトルに直交するベクトルとしては、図４に示される物体３の基準面側に向かうベクトルと、基準面とは反対側に向かうベクトルの２つが存在するが、本実施形態では、基準面側に向かうベクトルを従法線ベクトルとして定義している。
【００２８】
パラメータ設定部２４は、後述する目標座標系算出部２５で使用されるための各種パラメータがユーザによって予め設定可能に構成されている。
具体的には、溶接トーチ５の先端部に設定されているツール座標系ΣＴＣＰ（ＸＴＣＰ，ＹＴＣＰ，ＺＴＣＰ）のＸＴＣＰ軸，ＹＴＣＰ軸，ＺＴＣＰ軸と、点Ｂにおける接線ベクトル、主法線ベクトル及び従法線ベクトルの向きとをどのように対応させるかという対応関係についてのパラメータが設定可能に構成されている。
【００２９】
また、パラメータ設定部２４は、基準座標系ΣＢ（ＸＢ，ＹＢ，ＺＢ）に対して調整角度を適用して調整座標系（目標座標系）ΣＢ’（ＸＢ’，ＹＢ’，ＺＢ’）を設定するために必要な角度パラメータが設定可能に構成されている。パラメータ設定部２４において設定できる角度パラメータとしては、オイラー角であってもよいし、ロール・ピッチ・ヨー角であってもよい。あるいは、アーク溶接におけるねらい角や前進角が設定できるようにしてもよく、ロボットが適用されるアプリケーションに応じて自由に変更可能である。
パラメータ設定部２４は、例えば、オフラインプログラミング用ジョグ支援装置２に備えられるモニタに表示されたＧＵＩ（Graphical User Interface）を介して、ユーザによって各種パラメータが入力されるように構成されている。
【００３０】
目標座標系算出部２５は、稜線検索部２２によって検索された稜線４上の点Ｂの位置座標と、方向算出部２３によって算出された接線ベクトル、主法線ベクトル及び従法線ベクトルと、パラメータ設定部２４によって設定されたパラメータに基づいて、点Ｂにおける目標座標系を設定するように構成されている。
【００３１】
より具体的には、目標座標系算出部２５に備えらえる基準座標系設定部２５１が、稜線検索部２２によって検索された点Ｂの位置座標と、方向算出部２３によって算出された点Ｂにおける接線ベクトル、主法線ベクトル及び従法線ベクトルとに対して、パラメータ設定部２４で設定された各軸と各ベクトルとの対応関係を示すパラメータを適用することで、基準座標系ΣＢ（ＸＢ，ＹＢ，ＺＢ）を算出するように構成されている。
【００３２】
図４に示される例においては、点Ｂにおける接線ベクトルをツール座標系ΣＴＣＰ（ＸＴＣＰ，ＹＴＣＰ，ＺＴＣＰ）のＸＴＣＰ軸の正方向に一致させ、主法線ベクトルをツール座標系ΣＴＣＰ（ＸＴＣＰ，ＹＴＣＰ，ＺＴＣＰ）のＺＴＣＰ軸の正方向に一致させ、従法線ベクトルをツール座標系ΣＴＣＰ（ＸＴＣＰ，ＹＴＣＰ，ＺＴＣＰ）のＹＴＣＰ軸の正方向に一致させた結果として、基準座標系ΣＢ（ＸＢ，ＹＢ，ＺＢ）が設定されている。
【００３３】
目標座標系算出部２５に備えられる調整座標系設定部２５２は、基準座標系設定部２５１で設定された基準座標系ΣＢ（ＸＢ，ＹＢ，ＺＢ）の姿勢をパラメータ設定部２４で設定された角度パラメータによって調整し、調整座標系ΣＢ’（ＸＢ’，ＹＢ’，ＺＢ’）を設定するように構成されている。
【００３４】
移動指令生成部２６は、目標座標系算出部２５に備えられる調整座標系設定部２５２で設定された調整座標系ΣＢ’（ＸＢ’，ＹＢ’，ＺＢ’）を目標座標系として、ツールのＴＣＰ（Tool Center Point）に設定されたツール座標系ΣＴＣＰ（ＸＴＣＰ，ＹＴＣＰ，ＺＴＣＰ）が目標座標系に一致するような移動指令を生成するように構成されている。
【００３５】
次に、上記構成を備えるオフラインプログラミング用ジョグ支援装置２において実行される本実施形態のジョグ支援方法について、図２及び図３を参照しながら説明する。
まず、教示点設定部２１において、ユーザによって指定された、仮想空間内に配置された物体３の面上の一点が教示点Ａとして設定される（図３のステップＳ１）。
【００３６】
次に、稜線検索部２２において、教示点設定部２１で設定された教示点Ａの近傍にある稜線４上の点Ｂが検索される（図３のステップＳ２）。
続いて、方向算出部２３に備えられる面直・接線方向算出部２３１において、稜線検索部２２で検索された稜線４上の点Ｂにおける接線ベクトル及び主法線（面直）ベクトルが算出される（図３のステップＳ３）。そして、方向算出部２３に備えられる従法線方向算出部２３２において、面直・接線方向算出部２３１で算出された接線ベクトル及び主法線ベクトルに直交する従法線ベクトルが算出される（図３のステップＳ４）。
【００３７】
次に、目標座標系算出部２５に備えらえる基準座標系設定部２５１において、稜線検索部２２によって検索された点Ｂの位置座標と、方向算出部２３によって算出された点Ｂにおける接線ベクトル、主法線ベクトル及び従法線ベクトルとに対して、パラメータ設定部２４で設定された各軸と各ベクトルとの対応関係を適用することで、基準座標系ΣＢ（ＸＢ，ＹＢ，ＺＢ）が算出される（図３のステップＳ５）。次に、目標座標系算出部２５に備えられる調整座標系設定部２５２において、基準座標系設定部２５１で設定された基準座標系ΣＢ（ＸＢ，ＹＢ，ＺＢ）の姿勢がパラメータ設定部２４で設定された角度パラメータによって調整され、目標座標系として、調整座標系ΣＢ’（ＸＢ’，ＹＢ’，ＺＢ’）が設定される（図３のステップＳ６）。
【００３８】
最後に、移動指令生成部２６において、目標座標系算出部２５に備えられる調整座標系設定部２５２で設定された調整座標系ΣＢ’（ＸＢ’，ＹＢ’，ＺＢ’）を目標座標系として、ツールのＴＣＰに設定されたツール座標系ΣＴＣＰ（ＸＴＣＰ，ＹＴＣＰ，ＺＴＣＰ）が目標座標系に一致するように移動指令が生成される（図３のステップ７）。
【００３９】
このように、本実施形態に係るオフラインプログラミング用ジョグ支援装置２によれば、ユーザが予めパラメータの設定を行っておくことにより、自動的に教示点におけるツールの位置・姿勢が設定されるので、教示点毎にツールの位置・姿勢を設定する必要がなくなる。結果として、オフラインプログラミング上でロボットに対しジョグ操作による教示を行う場合の工数を可及的に削減することができる。
【００４０】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこれらの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
例えば、上記実施形態では、ロボットのアプリケーションとしてアーク溶接を例にして取り上げたが、これに限られず、バリ取り等、被加工物の稜線に沿って動作するロボットのアプリケーションであれば、適用可能である。
【００４１】
また、上記実施形態では、オフラインプログラミング用ジョグ支援装置２は、ソフトウェアであるジョグ支援プログラムを実行させることにより各機能が実装されているが、これに限定されず、シリコンチップ上の回路等、ハードウェアとして各機能が実装されていてもよい。
【符号の説明】
【００４２】
２  オフラインプログラミング用ジョグ支援装置
３  物体
４  稜線
２１  教示点設定部
２２  稜線検索部
２３  方向算出部
２５  目標座標系算出部
２６  移動指令生成部
【図１】
2018051692.tif 000003
【図２】
2018051692.tif 000004
【図３】
2018051692.tif 000005
【図４】
2018051692.tif 000006