(57)【要約】【課題】オフライン教示作業において、干渉が起こる可能性のある危険な状況を感覚的に把握できて、且つその危険な状況を容易に回避できるよう、操作者に情報を提供する。【解決手段】ワークＷ及び溶接ロボット２を含む３次元データを用いて溶接ロボット２に対する教示データを作成すると共に、溶接ロボット２とワークＷとの距離に反比例する仮想的な反力を算出する教示データ作成装置５と、３次元データ内での溶接ロボット２の制御点の移動及び回転を入力可能であると共に教示データ作成装置５で算出された仮想的な反力を出力可能な入出力デバイス７と、を有するオフライン教示データ作成システムを用い、教示データ作成装置５において、仮想的な反力の合力を算出する反力算出ステップと、算出された仮想的な反力の合力の大きさ及び方向を入出力デバイス７に出力する反力出力ステップと、を実行してロボットの教示データを作成する。【選択図】図１
2012228736.tif 000002
【特許請求の範囲】
【請求項１】
ワーク及び当該ワークに対して作業を行うロボットを含む３次元データを格納していて、前記３次元データを用いることでロボットに対する教示データを作成すると共に、前記ロボットとワークとの距離に応じた仮想的な反力を算出する教示データ作成装置と、
前記教示データ作成装置に接続され、且つ前記３次元データ内でのロボットの制御点の移動及び回転を入力可能であると共に、教示データ作成装置で算出された仮想的な反力を出力可能な入出力デバイスと、を有するオフライン教示データ作成システムを用い、
前記教示データ作成装置において、
前記ロボットとワークとの距離に反比例する仮想的な反力の合力を算出する反力算出ステップと、
前記反力算出ステップで算出された仮想的な反力の合力の大きさ及び方向を、前記入出力デバイスに出力する反力出力ステップと、
を実行しつつ、ロボットの教示データを作成するオフライン教示データ作成方法。
【請求項２】
前記反力算出ステップは、前記ロボットとワークとの距離に反比例する仮想的な反力の合力に加えて、前記ロボットと当該ロボットが干渉する可能性のあるワーク以外の物体との距離に反比例する仮想的な反力の合力を算出するものであることを特徴とする請求項１に記載のオフライン教示データ作成方法。
【請求項３】
前記反力算出ステップは、前記距離の二乗に反比例する仮想的な反力の合力を計算することを特徴とする請求項１又は２に記載のオフライン教示データ作成方法。
【請求項４】
ワーク及び当該ワークに対して作業を行うロボットを含む３次元データを格納していて、前記３次元データを用いることでロボットに対する教示データを作成すると共に、前記ロボットとワークとの距離に応じた仮想的な反力を算出する教示データ作成装置と、
前記教示データ作成装置に接続され、且つ前記３次元データ内でのロボットの制御点の移動及び回転を入力可能であると共に、教示データ作成装置で算出された仮想的な反力を出力可能な入出力デバイスと、を有するオフライン教示データ作成システムを用い、
前記教示データ作成装置において、
前記ロボットとワークとの距離が干渉の危険が生じる危険距離以下になった際に、当該干渉状況を回避する方向の仮想的な反力の合力を算出する反力算出ステップと、
前記反力算出ステップで算出された仮想的な反力の合力の大きさ及び方向を、前記入出力デバイスに出力する反力出力ステップと、
を実行しつつ、ロボットの教示データを作成するオフライン教示データ作成方法。
【請求項５】
前記反力算出ステップは、前記干渉状況を回避する方向の仮想的な反力の合力に加えて、前記ロボットと当該ロボットが干渉する可能性のあるワーク以外の物体との距離が干渉の危険が生じる危険距離以下になった際に、当該干渉状況を回避する方向の仮想的な反力を算出するものであることを特徴とする請求項４に記載のオフライン教示データ作成方法。
【請求項６】
前記反力算出ステップは、前記危険距離を段階的に複数設け、当該複数の危険距離の段階に応じた仮想的な反力を算出することを特徴とする請求項４又は５に記載のオフライン教示データ作成方法。
【請求項７】
前記３次元データにおいて、ロボットの制御点を点、線、及び面の少なくとも１つで拘束した上で、前記ロボットの制御点を拘束されていない方向で移動及び回転させることによって前記ロボットの位置及び姿勢を教示するに際して、
前記反力算出ステップは、前記拘束されていない方向の仮想的な反力の合力を算出することを特徴とする請求項１〜６のいずれかに記載のオフライン教示データ作成方法。
【請求項８】
ワーク及び当該ワークに対して作業を行うロボットを含む３次元データを格納すると共に、前記３次元データを用いることでロボットに対する教示データを作成し、且つ請求項１〜７のいずれかに記載されたオフライン教示データ作成方法における各ステップを実行する教示データ作成装置と、
前記教示データ作成装置に接続され、且つ前記３次元データ内でのロボットの制御点の移動及び回転を入力可能であると共に、教示データ作成装置で算出された仮想的な反力を出力可能な入出力デバイスと、
を有するオフライン教示データ作成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータなどで構成される教示データ作成装置に蓄積されたワークの３次元図形データをディスプレイ画面上に表示して、当該ワークに対するロボットの動作軌跡を教示するロボットのオフライン教示データ作成方法、及びオフライン教示データ作成システムに関する。
【背景技術】
【０００２】
従来、ロボット溶接などの分野では、特許文献１に示すように、オペレータの手元に配置されたロボットの操作装置（マスターアーム）によってロボットの教示が行われていた。
しかし近年は、ロボットの操作装置ではなくコンピュータなどで構成された教示データ作成装置を用いてロボットの動作軌跡を作成することで、所望の動作をロボットに教示する作業が行われている。このオフラインによる教示作業は、ワークの３次元図形データをディスプレイ画面に表示した上で、当該ワークを構成する図形データに対してロボットの作業位置及び姿勢を指定しつつ、ロボットの動作軌跡を作成するものである。
【０００３】
このような技術としては、特許文献２に開示されたものがある。
特許文献２のロボット動作教示システムは、複数の関節と把持とを有しかつ各関節ごとにダイレクトドライブモータと前記各関節ごとの関節角の移動量検出信号を出力するエンコーダとを有するマニピュレータと、教示対象ロボットとロボット作業環境のモデル化を行なう３次元立体形状処理と前記把持部の操作により変化する前記移動量検出信号を処理して前記教示対象ロボットの位置・姿勢を求め、移動経路内において他の物体との衝突が生じる場合に前記教示対象ロボットに加わる反力の大きさと方向及び前記各関節に加わるトルク値を予測し前記ダイレクトドライブモータに前記トルク値に対応したトルクを発生させるための制御信号を出力し、表示出力データの作成と教示データの記憶とを行なう計算制御裟置と、前記教示対象ロボットおよびロボット作業環境の３次元の位置・姿勢を画面に連続的に表示する表示装置とを含むことを特徴とするものである。
【０００４】
このロボット動作教示システムによれば、教示データの作成において、教示された動作経路内における衝突チェックをリアルタイムに行うことができ、衝突時におけるロボット及び作業環境を表示装置に表示することができるとされている。
上記したロボット動作教示技術においては、ロボットの作業位置及び姿勢の指定におけるロボットの教示点移動に関して、２次元のマウス（コンピュータ操作で使用する通常のマウス）のみならず３次元以上の入力手段を有する入力デバイスを用いることで、操作性の向上が図れると思われる。
【０００５】
操作性の向上に着目した入力デバイスとしては、特許文献３や特許文献４に開示された装置が開発されている。
特許文献３には、操作対象を切り換えて指令信号を供給することができるようにした操作者の手腕動作によるマスタースレーブ制御用の手腕操作入力装置に加えて、片足の動作により強度を指定する指令信号を出力する足操作入力装置を床面に備え、さらに、操作指令の入り切り信号を発生する切替操作入力装置を備えるロボット操縦装置が開示されている。
【０００６】
特許文献４には、入出力装置本体を接地面において円周方向には確実に推進力を伝え、その垂直方向つまり回転軸方向には力が伝わらない摩擦零に近い車輪を使用した全方向移動機構が開示され、この全方向移動機構の車輪がバレル型コロを外周に配置した複数のオムニホイルからなるとされている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平８−９０４６１号公報
【特許文献２】特開昭６２−２８２８８１号公報
【特許文献３】特開２００５−６６７５２号公報
【特許文献４】特願２０００−３５７０４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、オフライン教示データの作成においては、ロボットのアームやその先端に取り付けられたツールを、ワークや周囲環境との接触を回避しつつ接触作業の領域にまで進入させると共に、当該接触を回避しつつ接触作業の領域から退避させる軌跡を教示する必要がある。
そのため、特許文献２に開示されたオフライン教示では、アームやツールのモデルとワークや周囲環境のモデルとの間で干渉（衝突）が起きたか否かを調べる干渉チェック機能が設けられている。
【０００９】
しかし、この干渉チェック機能は、アームやツールのモデルが、実際にワークや周囲環境のモデルに干渉したか否かの事実をチェックするものである。それ故、操作者は、アームやツールのモデルがワークや周囲環境のモデルに干渉した時点で初めて、干渉の発生箇所等を知ることができる。従って、特許文献２に開示の技術では、干渉の危険性を事前に把握して、積極的に干渉を回避するための構成とはなっておらず、教示作業中の操作者にとって、アームやツールのモデルとワークや周囲環境のモデルとの間隔の把握は非常に困難なものとなっている。
【００１０】
なお、特許文献３や特許文献４に開示された操作性の向上に着目した入力デバイスを用いたとしても、干渉を事前に回避しつつ教示データを作成するような作業性の向上には寄与できないものと思われる。
また、特許文献には挙げていないが、このような操作者の負担を軽減すべく、干渉を回避するような軌跡を自動的に計算する手法もある。しかし、長い計算時間が必要となるだけでなく、進入・退避後の動作を考慮した合理的な軌跡を得ることができないなど、課題も多い。
【００１１】
上述の問題に鑑みて、本発明は、オフライン教示作業において、干渉が起こる可能性のある危険な状況を感覚的に把握できて、且つその危険な状況を容易に回避できるよう、操作者に情報を提供し、オフライン教示作業の効率を向上させることを目的とする。
【課題を解決するための手段】
【００１２】
上記の目的を達成するため、本発明は、以下の技術的手段を採用した。
本発明に係るオフライン教示データ作成方法は、ワーク及び当該ワークに対して作業を行うロボットを含む３次元データを格納していて、前記３次元データを用いることでロボットに対する教示データを作成すると共に、前記ロボットとワークとの距離に応じた仮想的な反力を算出する教示データ作成装置と、前記教示データ作成装置に接続され、且つ前記３次元データ内でのロボットの制御点の移動及び回転を入力可能であると共に、教示データ作成装置で算出された仮想的な反力を出力可能な入出力デバイスと、を有するオフライン教示データ作成システムを用い、前記教示データ作成装置において、前記ロボットとワークとの距離に反比例する仮想的な反力の合力を算出する反力算出ステップと、前記反力算出ステップで算出された仮想的な反力の合力の大きさ及び方向を、前記入出力デバイスに出力する反力出力ステップと、を実行しつつ、ロボットの教示データを作成することを特徴とする。
【００１３】
好ましくは、前記反力算出ステップは、前記ロボットとワークとの距離に反比例する仮想的な反力の合力に加えて、前記ロボットと当該ロボットが干渉する可能性のあるワーク以外の物体との距離に反比例する仮想的な反力の合力を算出するとよい。
また、好ましくは、前記反力算出ステップは、前記距離の二乗に反比例する仮想的な反力の合力を計算するとよい。
【００１４】
本発明に係るもう一つのオフライン教示データ作成方法は、ワーク及び当該ワークに対して作業を行うロボットを含む３次元データを格納していて、前記３次元データを用いることでロボットに対する教示データを作成すると共に、前記ロボットとワークとの距離に応じた仮想的な反力を算出する教示データ作成装置と、前記教示データ作成装置に接続され、且つ前記３次元データ内でのロボットの制御点の移動及び回転を入力可能であると共に、教示データ作成装置で算出された仮想的な反力を出力可能な入出力デバイスと、を有するオフライン教示データ作成システムを用い、前記教示データ作成装置において、前記ロボットとワークとの距離が干渉の危険が生じる危険距離以下になった際に、当該干渉状況を回避する方向の仮想的な反力の合力を算出する反力算出ステップと、前記反力算出ステップで算出された仮想的な反力の合力の大きさ及び方向を、前記入出力デバイスに出力する反力出力ステップと、を実行しつつ、ロボットの教示データを作成することを特徴とする。
【００１５】
好ましくは、前記反力算出ステップは、前記干渉状況を回避する方向の仮想的な反力の合力に加えて、前記ロボットと当該ロボットが干渉する可能性のあるワーク以外の物体との距離が干渉の危険が生じる危険距離以下になった際に、当該干渉状況を回避する方向の仮想的な反力を算出するとよい。
また、好ましくは、前記反力算出ステップは、前記危険距離を段階的に複数設け、当該複数の危険距離の段階に応じた仮想的な反力を算出するとよい。
【００１６】
さらに、好ましくは、前記３次元データにおいて、ロボットの制御点を点、線、及び面の少なくとも１つで拘束した上で、前記ロボットの制御点を拘束されていない方向で移動及び回転させることによって前記ロボットの位置及び姿勢を教示するに際して、
前記反力算出ステップは、前記拘束されていない方向の仮想的な反力の合力を算出するとよい。
【００１７】
本発明に係るオフライン教示データ作成システムは、ワーク及び当該ワークに対して作業を行うロボットを含む３次元データを格納すると共に、前記３次元データを用いることでロボットに対する教示データを作成し、且つ上述のオフライン教示データ作成方法における各ステップを実行する教示データ作成装置と、前記教示データ作成装置に接続され、且つ前記３次元データ内でのロボットの制御点の移動及び回転を入力可能であると共に、教示データ作成装置で算出された仮想的な反力を出力可能な入出力デバイスと、を有することを特徴とする。
【００１８】
上述の手段を有する本発明では、ロボットのアームや加工具の一部に対して、ワークや周囲環境との距離を計算し、距離に応じた仮想的な反力を、衝突する状態に至る前に入出力デバイスに返す。これにより、衝突を回避しつつロボットの教示点を効率的に作成することができる。
また、周囲環境からの距離に応じて発生する様々な方向の反力に相当するベクトルを合成することにより、反力がほぼ相殺されてつりあった状態であって反力が小さくなっている場所を、周囲環境から一定距離離れた所で検知することができる。これによって、周囲環境に対して、合理的に安全な距離を保った位置・姿勢をオペレータに通知することが出来、オペレータは、教示操作を行いながら簡単に安全な状況か危険な状況かを判断することができる。
【００１９】
例えば、溶接作業でのトーチ先端をワークの溶接線に追随させる場合、溶接線を有するワークとトーチ先端との距離が接近してしまう。この場合において、単純に周囲環境との距離に応じた反力を返すと、溶接線から離れる方向に仮想的な力が発生してしまい、目的の位置・姿勢での教示点作成が困難となる。
これに対しては、加工具先端を拘束する幾何学的な情報、例えば、線や点、面を指定することにより、その指定した幾何学的な位置に加工具先端の拘束を保ちながら、ロボットの位置や姿勢を干渉から回避させる方向へと変更させることができる。加工具先端の拘束を実現する位置・姿勢の成分以外の成分で計算される反力を入出力デバイスに返すことにより、オペレータは、加工具先端を目的の位置や線や面上に保ったまま、ロボットの安全な姿勢を簡単に判断し設定することが可能となる。
【発明の効果】
【００２０】
本発明によるオフライン教示データ作成方法、及びオフライン教示データ作成システムを用いれば、オフライン教示作業において、干渉が起こる可能性のある危険な状況を感覚的に把握できて、且つその危険な状況を容易に回避できるよう、操作者に情報を提供し、教示作業の効率を向上させることができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態によるオフライン教示データ作成システムの概略構成を示す図である。
【図２】ロボットアームのある質点で発生する仮想反力ｆｉの計算方法の考え方を示す図である。
【図３】ワーク内に進入したロボットアームの各質点に働く仮想反力ｆｉと、ロボットアームに働く並進力Ｆと回転力Ｎとの関係を示す図である。
【図４】ワークまでの距離と発生させる仮想反力ｆｉの大きさとの関係を例示する図である。
【図５】溶接トーチ先端を拘束したときのロボットアームの姿勢変化を例示する図である。
【図６】本実施形態おける教示点作成作業の手順を示したフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態を、図面に基づき説明する。なお、以下の説明では、同一の構成要素には同一の符号を付している。また、同一の構成要素に関しては、名称も機能も同じである。したがって、同一のものについての詳細な説明は繰返さない。
図面を参照しながら、本発明の実施形態によるオフライン教示データ作成システムについて説明する。
【００２３】
まず、本実施形態に係るロボットシステム１の全体構成について説明する。
図１に示すように、ロボットシステム１は、溶接作業を行うロボット２（溶接ロボット２）と、教示ペンダント３を備えた制御装置４と、パソコン等の情報処理装置で構成される教示データ作成装置５とを含む。溶接ロボット２は垂直多関節型の６軸の産業用ロボットであり、その先端に溶接トーチなどから構成される溶接ツール６が設けられている。この溶接ロボット２は、それ自体を移動させるスライダ（図示せず）に搭載されていてもよい。
【００２４】
制御装置４は、溶接ロボット２の動作を、予め教示した教示プログラムに従って制御する。教示プログラムは、制御装置４に接続された教示ペンダント３を使用して作成する場合や、オフラインで教示データ作成装置５を使用して作成する場合がある。いずれの場合であっても、教示プログラムは、溶接ロボット２が実際に溶接作業を行う前に予め作成される。教示データ作成装置５を用いて作成された教示プログラムは、磁気的又は電気的にデータを記憶した媒体等を介して制御装置４に渡されたり、データ通信により制御装置４に転送されたりする。
【００２５】
教示データ作成装置である教示データ作成装置５は、表示装置としてグラフィック表示可能なディスプレイを備え、入力装置としてキーボード、マウス、及び入出力デバイス７（詳細は後述）を備える。また、教示データ作成装置５は、ワークＷの３次元データを作成するためのＣＡＤ情報を取込むために、読取装置又は通信装置を備えている。このように、教示データ作成装置５に入出力デバイス７や各種機器が接続されて、オフライン教示データ作成システムが構成されている。
【００２６】
教示データ作成装置５は、ワークＷ及び当該ワークＷに対して溶接作業を行う溶接ロボット２を含む３次元データを格納しており、操作者（オペレータ）Ｍは、この３次元データを用いつつ入力装置を操作することで、溶接ロボット２に対する教示データを作成することができる。
さらに、本実施形態の場合、教示データ作成装置５は、溶接ロボット２とワークＷとの距離に応じた仮想的な反力を算出するようになっており、算出した反力を入出力デバイス７に返すように構成されている。
【００２７】
ところで、入出力デバイス７としては、ＮＯＶＩＮＴ社製のＦＡＬＣＯＮ（登録商標）（ＮＯＶＩＮＴ社ＦＡＬＣＯＮホームページ、http://home.novint.com/products/novint falcon.php）や、株式会社アイネット社製のＰＨＡＮＴＯＭ（http://www.ddd.co.jp/product/phantom/）及びＳＰＩＤＥＲ（http://www.ddd.co.jp/product/spidar/index.html）などの入出力装置が採用可能である。
【００２８】
本実施形態の場合、入出力デバイス７として、上記したＮＯＶＩＮＴ社製のＦＡＬＣＯＮを採用している。以下、この入出力デバイス７を念頭に説明を進める。
入出力デバイス７は、入力グリップ８を備えており、入力グリップ８を上下左右及び前後の３次元で移動させることによって、教示データ作成装置５に対して３次元の入力が可能である。また、入出力デバイス７は、教示データ作成装置５からの指示に基づいて各次元の入力に対して反力を発生（フォースフィードバック）する。
【００２９】
本実施形態において入出力デバイス７によって入力できる次元は、教示データ作成装置５のディスプレイに表示された３次元データのＸ軸方向と、Ｙ軸方向と、Ｚ軸方向の３つの次元（ロボットベース座標のＸ，Ｙ，Ｚ）である。このとき入出力デバイス７が発生させることのできる反力の次元は、入力の次元と同じく、３次元データのＸ軸方向と、Ｙ軸方向と、Ｚ軸方向の３つの次元である。なお、他の入出力デバイスを採用することで、各座標軸まわりの回転（α，β，γ）も含めた最大６次元の入出力を行うことが可能である。
【００３０】
本実施形態の入出力デバイス７は、入力グリップ８を動かすことで３次元データ内での溶接ロボット２の先端に取り付けられた溶接ツール６の先端（溶接ロボット２の制御点）を移動及び回転させる入力が可能である。また、入出力デバイス７は、教示データ作成装置５から指示された大きさの反力を発生することができる。これによって、反力に逆らう方向に入力グリップ８を動かすことが困難となり、反力に逆らう入力を抑制することができる。
【００３１】
言うまでもなく、入出力デバイス７は、ＮＯＶＩＮＴ社製のＦＡＬＣＯＮに限定されるものではない。上述の入出力が可能な装置であれば、アイネット社製のＰＨＡＮＴＯＭ及びＳＰＩＤＥＲや、その他の入出力装置を入出力デバイス７として採用することができる。
以上のような構成を有するオフライン教示データ作成システムにおいて、教示データ作成装置５は、溶接ロボット２とワークＷとの距離に反比例する仮想反力ｆｉ（仮想的な反力）の合力を算出する反力算出ステップと、反力算出ステップで算出された仮想反力ｆｉの合力の大きさ及び方向を入出力デバイス７に出力する反力出力ステップと、を実行しつつロボットの教示データを作成する。
【００３２】
教示データの作成において、３次元データ内の溶接ロボット２に設定された質点とワークＷとの距離に応じた大きさの力を、当該質点に働く仮想反力ｆｉとして算出することを特徴としている。さらに、オフライン教示データ作成システムでは、算出された仮想反力ｆｉの合力を、当該質点においてワークＷとは反対方向に働く力として入出力デバイス７に出力するところも特徴である。
【００３３】
この仮想反力ｆｉは、溶接ロボット２に設定された質点がワークＷに干渉することによって発生する力ではなく、質点がワークＷに干渉する前に、当該質点とワークＷの接近距離に応じて教示データ作成装置５で算出される力である。
また、ここでいう溶接ロボット２に設定された質点とは、３次元データにおける溶接ロボット２のモデルの表面で凸形状となっていて、ワークＷと干渉しやすい部分に予め設定された点である。この質点は、溶接ロボット２のモデルの外形を形成する全ての頂点に設定してもよいし、応力計算などで作成する計算用メッシュの表面部分の頂点に設定してもよい。
【００３４】
本実施形態では、溶接ロボット２の移動速度と、教示データ作成装置５での計算に要する時間との兼ね合いから、上述のように質点を設定している。
このような構成の入出力デバイス７によって、教示データ作成装置５への入力を抑制したり、当該入力に対して反力を出力して注意を促したりといったことが可能となる。入出力デバイス７に対して反力を発生させるために教示データ作成装置５が行う処理については、以下に詳しく説明する。
【００３５】
図２〜図５を参照しながら、質点に働く仮想反力ｆｉの算出方法について説明する。
図２は、溶接ロボット２のある質点で発生する仮想反力ｆｉの計算方法の考え方を示す図である。
図２に示すように、溶接ロボット２のモデルのある質点に対して、当該質点から３次元空間内の全ての方向へ向くようなベクトル（等方的なベクトル）を設定する。これら等方的なベクトルは、方向に偏りが無いことだけでなく、高い計算精度を得るために十分な分解能が要求される。そこで、例えば対象となる質点を中心にした正ｎ面体の各面の中心方向などに向かってベクトルを設定する。本実施形態では、正２０面体の各面の中心方向のベクトルを設定している。
【００３６】
このように設定した各ベクトルにおける当該質点とワークＷや周囲環境との最短距離を暫時計算し、当該各ベクトルの大きさをワークＷとの最短距離の二乗に反比例させる。なお、ここでいう周囲環境とは、「溶接ロボット２が干渉する可能性のあるワークＷ以外の物体」のことであり、例えば、ワークＷが載置された載置台やポジショナ、ワークＷを把持しているクランプ部材などが該当する。
【００３７】
図４（ａ）に示すように、等方的なベクトルの大きさは、ワークＷを表す干渉領域から離れるにしたがって、距離ｌの二乗に反比例して小さくなってゆく。ワークＷとの干渉の危険が生じる危険距離よりもワークＷに近づいているときは、等方的なベクトルの大きさを、予め設定された上限値を下回る一定値とする。この一定値は、予め設定された上限値に任意の割合を乗じて得られる値であり、本実施形態では、入出力デバイス７の操作性を考慮して、当該上限値に例えば８０％を乗じている。
【００３８】
なお、当該質点からのベクトルの方向にワークＷが存在しないときは、当該ベクトルの大きさを０として計算する。
上述の計算で得られた各ベクトルの合成ベクトルを求め、求めた合成ベクトルを当該質点において発生する仮想反力ｆｉのベクトルとする。質点ｉにおいて発生する仮想反力ｆｉのベクトルは、等方ベクトルのある方向をＶj、そのときのワークＷや周囲環境との距離をｌjとすると、次の式（１）で表される。式（１）の右辺にマイナスの符号が付されていることに注意されたい。
【００３９】
【数１】
2012228736.tif 000003
【００４０】
このように、質点回りの等方的なベクトルの大きさを当該質点のワークＷとの距離の二乗に反比例させると共に、式（１）によって質点ｉにおける仮想反力ｆｉのベクトルを求めると、その仮想反力ｆｉのベクトルはワークＷから離れる方向を向く。
図４（ａ）に示したように、質点ｉにおける等方的なベクトルの大きさをワークＷとの距離の二乗に反比例させて連続的に変化させてもよいが、図４（ｂ）に示すように、段階的に変化させてもよい。
【００４１】
図４（ｂ）では、ワークＷとの干渉の危険が生じる危険距離を段階的に複数設けた場合における等方的なベクトルの大きさの変化を示している。質点のワークＷとの距離が、干渉の危険が生じない安全距離以上離れているときは、等方的なベクトルの大きさの大きさを０とする。質点のワークＷとの距離が安全距離未満の第１の危険距離以下となったとき、等方的なベクトルの大きさを所定の大きさの一定値とする。質点がさらにワークＷに接近し第２の危険距離以下となったとき、等方的なベクトルの大きさを、第１の危険距離以下での値より大きな一定値とする。第２の危険距離以下での等方的なベクトルの大きさを、予め設定された上限値を下回る一定値とする。この一定値は、予め設定された上限値に任意の割合を乗じて得られる値であり、本実施形態では、入出力デバイス７の操作性を考慮して、当該上限値に例えば８０％を乗じている。
【００４２】
このようにして大きさが得られた等方的なベクトルを合成することで、上述の式（１）によらず、段階的に設けられた複数の危険距離に応じて段階的に変化する仮想反力ｆｉを算出することもできる。質点ｉにおける仮想反力ｆｉが段階的に変化すれば、その結果として、入出力デバイス７を介してオペレータＭが感じ取る反力の変化も段階的となり、オペレータＭが確実に仮想反力ｆｉの変化を検知できることが期待される。
【００４３】
入出力デバイス７が発生できる力が弱い場合や、オペレータＭが、図４（ａ）の連続的に微少な変化をする反力を感じ取りにくいような場合は、図４（ｂ）に示すような、段階的に変化する反力が生じるようにするとよい。換言すれば、図４（ｂ）に示す段階的な反力を入出力デバイス７に返すようにすれば、操作者にとって直感的でわかりやすい抗力が発生することとなり、当該入出力デバイス７が人間工学的な観点から最適な操作デバイスと成りうる。
【００４４】
溶接ロボット２には複数の質点が設けられており、式（１）を基にして、各質点に働く仮想反力ｆｉが算出される。各質点に働く仮想反力ｆｉはそれぞれ大きさも方向も異なるが、溶接ロボット２を剛体とみなすと、溶接ロボット２に発生する並進の力と回転の力を導出することができる。導出された並進の力と回転の力が、溶接ロボット２の制御点（本実施形態では、溶接ツール６の先端）に発生する力に変換される。
【００４５】
図３は、ワークＷ内に進入した溶接ロボット２の各質点に働く仮想反力ｆｉと、溶接ロボット２のある制御点に働く並進力Ｆと回転力Ｎとの関係を示している。
図３（ａ）では、ワークＷ内に進入した溶接ロボット２を進入方向に対して側方から見たときの配置が左図に、進入方向の正面から見たときの配置が右図に、それぞれ示されている。図３（ａ）の左図は、溶接ロボット２の３つの質点に仮想反力ｆ１〜ｆ３が働いていることを示している。これら仮想反力ｆ１〜ｆ３は、溶接ロボット２の質点に図３（ａ）の右図で示すような分力として働く。下記の式（２）及び式（３）を用いれば、溶接ロボット２の質点に働く仮想反力ｆｉの分力から、溶接ロボット２を剛体とみなしたときに溶接ロボット２の制御点に働く並進力Ｆと回転力Ｎを求めることができる。
【００４６】
溶接ロボット２の各質点で仮想反力ｆｉを用い、溶接ロボット２を剛体とみなして質点の個数をｍとすると、制御点に働く並進力Ｆである並進移動の力ベクトルＦは、次の式（２）で求めることができる。
【００４７】
【数２】
2012228736.tif 000004
【００４８】
また、制御点に働く回転力Ｎは、各質点の位置ベクトルをｕｉとおくと、次の式（３）に示すように、各質点における仮想反力ｆｉのベクトルと位置ベクトルｕｉの二つのベクトルの外積の合成で表すことができる。
【００４９】
【数３】
2012228736.tif 000005
【００５０】
上述のように  式（２）及び式（３）を用いて、溶接ロボット２の各質点に働く仮想反力ｆｉから、溶接ロボット２の制御点に働く並進力Ｆと回転力Ｎを求める。教示データ作成装置５は、これら並進力Ｆと回転力Ｎを溶接ロボット２の制御点に働く力に変換して、当該制御点に働く力のベクトルを入出力デバイス７に指示するので、入出力デバイス７は、指示されたベクトルに対応した反力を入力グリップ８の動きに対して発生させる。オペーレータは、入力デバイスが発生した反力によって、溶接ロボット２がワークＷに干渉しそうな状態を感覚的に検知することができる。
【００５１】
このとき、教示データ作成装置５は、入出力デバイス７が発生させることのできる最大反力に所定の割合を乗じて得られる値が入出力デバイス７が実際に発生する反力の上限となるように、溶接ロボット２の制御点に働く力のベクトルに適切な倍率を乗じて、入出力デバイス７に指示を出す。ここで、入出力デバイス７の最大反力に乗じる所定の割合は任意の値であるが、本実施形態では、入出力デバイス７の操作性を考慮して、当該最大反力に例えば８０％を乗じている。
【００５２】
図３（ｂ）において、オペーレータが、入出力デバイス７の反力にできるだけ逆らわないように入力グリップ８を操作すると、溶接ロボット２の制御点は、ワークＷ内の点線で示す図３（ａ）の配置から、ワークＷ内の実線で示す図３（ｂ）の配置に誘導される。図３（ｂ）の配置によって、溶接ロボット２の制御点がワークＷと干渉する危険性が無くなる。
【００５３】
これだけでなく、オペレータＭが、溶接ロボット２とワークＷの接近度合いに応じた力を感知できるため、ワークＷとの干渉や、ワークＷとの等方的な距離が感覚的に瞬時にわかる。そのため、オペレータＭは、ディスプレイに表示されたグラフィック画面の確認を必要最小限で済ませることができ、現在位置での教示点作成の可否を容易に判断できる。
上述のように、本実施形態によるオフライン教示データ作成システムは、溶接ロボット２の制御点に働く力を算出して入出力デバイス７に反力を発生させる。
【００５４】
以下に、図６を参照して、オフライン教示データ作成システムを用いた教示作業について説明する。ここでいう教示作業とは、反力を発生する入出力デバイス７を用いて、溶接ロボット２の制御点、例えば溶接ロボット２の溶接トーチの先端を移動及び回転させながら、教示点を作成することである。
まず、教示データ作成装置５は、記憶装置に格納している溶接ロボット２及びワークＷの３次元データをディスプレイに表示する。
【００５５】
次に、教示データを作成するオペレータＭが、入出力デバイス７の入力グリップ８を操作して、溶接ロボット２の制御点を移動させる。教示データ作成装置５は、入力グリップ８の位置の変化量を検知し、その変化量に応じて、対応付けられた溶接ロボット２の位置及び姿勢の一部又は全部を移動及び回転させる。これによって、ディスプレイに表示された３次元データ内における溶接ロボット２の制御点を移動及び回転させ、溶接ロボット２の位置及び姿勢を変化させる（ステップＳ１）。
【００５６】
ステップＳ１での溶接ロボット２の制御点の移動に応じて、教示データ作成装置５は、溶接ロボット２に設けられた各質点で発生する仮想反力ｆｉを算出する（ステップＳ２、反力算出ステップ）。
ステップＳ２で算出された仮想反力ｆｉを基に、教示データ作成装置５は、溶接ロボット２に発生する並進力Ｆ及び回転力Ｎを導出する（図６、ステップＳ３）。
【００５７】
教示データ作成装置５は、ステップＳ３で導出された並進力Ｆ及び回転力Ｎを溶接ロボット２の制御点に発生する力に変換し、当該制御点に発生する力のベクトルを入出力デバイス７に指示する。入出力デバイス７は、指示されたベクトルの向き及び大きさに対応する反力を発生する（ステップＳ４、反力出力ステップ）。
オペレータＭは、入出力デバイス７が発生する反力と、教示データ作成装置５のディスプレイに表示された３次元データとを参考にしながら、溶接ロボット２の制御点を所望の位置に移動及び回転させる。オペレータＭは、溶接ロボット２の制御点を移動させながら溶接ロボット２とワークＷの干渉を確認し、教示点を作成するか否かを判断する（ステップＳ５）。
【００５８】
教示点を作成しない場合、オフライン教示データ作成システムは、ステップＳ１に戻ってステップＳ４までを繰り返し、教示点を作成する場合、ステップＳ６に進む。
ステップＳ５で、オペレータＭが溶接ロボット２とワークＷの干渉がないと判断すると共に、教示点を作成すると決定すると、教示データ作成装置５は、現在の溶接ロボット２の位置及び指定を、教示点として登録する（ステップＳ６）。
【００５９】
ステップＳ６での登録が完了すると、オペレータＭは、現在の教示作業を続行するか否かを判断する。教示作業を続行する場合、教示データ作成装置５は、処理をステップＳ１に戻し、教示作業を続行しない場合、現在の教示作業を終了する（ステップＳ７）。
上述のとおり、本実施形態によるオフライン教示データ作成システムでは、溶接ロボット２に設けられた各質点に発生する仮想反力ｆｉを考慮した。しかし、溶接など、ロボットの一部とワークＷとが接触しながら行われる作業の教示では、オペレータＭの望まない反力が入出力デバイス７に発生してしまう可能性がある。
【００６０】
つまり、溶接作業では、溶接ロボット２の溶接トーチの先端がワークＷと溶接線上で接触するため、単純に溶接ロボット２の制御点に働く力を計算すると、溶接トーチの先端がワークＷから離れる方向に反力が発生することがある。そうなると、溶接線上での教示点の作成や編集が簡単には出来なくなってしまう。
そこで、図５に示すように、溶接ロボット２に取り付けられた溶接トーチの先端を溶接ロボット２の制御点として設定し、この制御点が溶接線上に配置されるように溶接ロボット２の制御点を拘束することが考えられる。つまり、溶接ロボット２の制御点を、３次元データ内の点、線、及び面のいずれかで拘束し、溶接線上から離れないようにする。
【００６１】
つまり、点で溶接ロボット２の制御点を拘束すれば、当該制御点は並進運動について拘束され、拘束されていない自由度は当該点での回転運動（旋回運動）だけとなる。
また、線で溶接ロボット２の制御点を拘束すれば、当該制御点の自由度は  当該線上での１次元の並進運動と、当該線上での回転運動だけとなる。
最後に、面で溶接ロボット２の制御点を拘束すれば、当該制御点の自由度は  当該面上での２次元の並進運動と、当該面上での回転運動だけとなる。
【００６２】
つまり、溶接ロボット２の制御点を拘束するということは、溶接ロボット２の制御点の自由度を制限することである。
例えば、図５（ａ）に示すように、溶接トーチの先端を制御点とし、この制御点を、溶接線から外れないように溶接線上に拘束する。その上で、溶接ロボット２の制御点に矢印で示す方向に反力が発生すれば、オペレータＭは、入出力デバイス７を操作して、発生した反力を解消する方向に溶接ロボット２の制御点を移動及び回転させる。
【００６３】
図５（ｂ）に示すように、溶接ロボット２は、この移動及び回転によって制御点を溶接線上に拘束したまま、ワークＷとの干渉を回避できる位置に移動する。
その上で、図６のステップＳ４において、溶接トーチの先端であるこの制御点に関して、溶接線に垂直な方向の力は０となるような制限を設ける。これにより、本実施形態によるオフライン教示データ作成システムは、溶接のような接触作業に対しても、接触部位以外の干渉を簡単に操作者に認識させることが可能となる。
【００６４】
ところで、今回開示された実施形態はすべての点で例示であって制限的なものではないと考えられるべきである。特に、今回開示された実施形態において、明示的に開示されていない事項、例えば、動作条件や測定条件、各種パラメータ、構成物の寸法、重量、体積などは、当業者が通常実施する範囲を逸脱するものではなく、通常の当業者であれば、容易に想定することが可能な値を採用している。
【００６５】
上述の実施形態では、入出力デバイス７により溶接トーチの先端点を移動可能としていた。それに代えて、入出力デバイス７により溶接トーチの姿勢を変更可能とすることもできる。この場合であっても、本願発明の「溶接ロボット２とワークＷとの距離に応じた仮想的な反力を算出し、算出した反力を入出力デバイス７に返す」といった技術を採用することで、操作者は、干渉が起こる可能性のある危険な状況を感覚的に把握できて、且つその危険な状況を容易に回避できるようにしながら、確実に教示データを作成することができる。
【００６６】
また、上述の実施形態において、仮想反力ｆｉの大きさをワークＷからの距離の二乗に反比例させたが、二乗に限らず、一乗乃至は三乗以上の累乗に反比例させてもよい。
さらに、上述の実施形態においては、溶接ロボットを例示して説明を行ったが、ワークＷにシール剤を添付するシーリング加工、塗料を塗布する塗装加工などのステッチ作業の教示データ作成においても本発明を適用することが可能である。
【符号の説明】
【００６７】
１    ロボットシステム
２    溶接ロボット
３    教示ペンダント
４    制御装置
５    教示データ作成装置
６    溶接トーチ
７    入出力デバイス
８    入力グリップ
Ｍ    オペレータ
Ｗ    ワーク
【図３】
2012228736.tif 000006
【図５】
2012228736.tif 000007
【図６】
2012228736.tif 000008
【図１】
2012228736.tif 000009
【図２】
2012228736.tif 000010
【図４】
2012228736.tif 000011